@charset "utf-8";
/*--京base_sp.css--*/

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:575px) {
    html{
        font-size: 3.2vw;
        min-width: auto;
    }

    body {
        min-width:initial;
        min-width:auto;
        overflow-y: scroll;
    }

    #container{
        min-width:initial;
        min-width:auto;
    }

    .site-header::after{
        content: none;
    }

    .site-header__inner{
        padding-left: 0.75rem;
        height: 16vw;
        align-items: flex-start;
    }

        .site-header__logo {
            gap: 1rem;
        }

        .site-header__logo .h_logo{
            width: 6rem;
        }

        .site-header__logo a .h_logo::before{
            height: 6rem;
        }

            .site-header__logo-mark{
                width: 75%;
            }

        .site-header__logo-k{
            width: 7rem;
        }

        .site-header__logo-text{
            width: 13rem;
        }

    .site-nav{
        display: none;
    }

    main{
        padding-top: 16vw;
    }

    .sec-banner{
        padding: 0;
    }

    .sec-banner__inner{
        margin-bottom: 3.5rem;
    }

    .sec-banner__inner ul{
        gap: 1.5rem;
        padding: 0 5vw;
    }

    .sec-banner__inner ul li{
        width: calc((100% - 1.5rem) / 2);
    }

    .sec-banner__item{
        width: auto;
    }

    .sec-banner__wave{
        height: 0.5rem;
    }

    .site-footer__body{
        padding: 1.5rem 5vw 0;
    }

    .site-footer__fig--left{
        width: 5rem;
        top: -2.5rem;
        left: 5vw;
    }

    .site-footer__fig--right{
        width: 6rem;
        bottom: auto;
        top: 1rem;
        right: 5vw;
    }

    .site-footer__logo-k{
        width: 2.25rem;
    }

    .site-footer__logo-kgos{
        width: 11rem;
    }

    .site-footer__bottom{
        padding: 2rem 0 1rem;
        flex-direction: column;
        align-items: center;
    }


    /*ページトップ*/
    .pagetop{
        width:12vw;
        height:12vw;
        bottom:4vw;
        right:4vw;
    }

    .nav_oc {
        width: 12vw;
        height: 12vw;
        position: fixed;
        top: 2vw;
        right: 2vw;
        display: block;
        z-index: 11;
        transition: .3s all ease;
    }

    .menu-trigger{
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        background: var(--color-dark-btn);
        border: none;
        cursor: pointer;
        outline: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        transition: .3s all ease;
    }

        .menu-trigger .lines{
            position: relative;
            display: block;
            width: 1.75rem;
            height: 1.375rem;
            transition: .3s all ease;
        }

        .menu-trigger .lines span{
            display: inline-block;
            transition: all .4s;
            box-sizing: border-box;
            background-color: #fff;
            position: absolute;
            width: 1.75rem;
            left: 0;
            height: 2px;
        }

        .menu-trigger .lines span:nth-of-type(1) {
            top: 0;
            transform-origin: left top;
        }

        .menu-trigger .lines span:nth-of-type(2) {
            top: calc(50% - 1px);
        }

        .menu-trigger .lines span:nth-of-type(3) {
            bottom: 0;
            transform-origin: left bottom;
        }

        .menu-trigger.active .lines span:nth-of-type(1){
            transform: rotate(37deg) scaleX(1.2);
        }

        .menu-trigger.active .lines span:nth-of-type(2) {
            opacity: 0;
        }

        .menu-trigger.active .lines span:nth-of-type(3){
            transform: rotate(-37deg) scaleX(1.2);
        }

        .menu-trigger .lbl{
            font-size: 0.7rem;
        }

    html.side_nav_show{
        overflow-y: hidden;
    }
    
    .side_nav{
        box-sizing: border-box;
        position: fixed;
        top: 0;
        right: 0;
        z-index: -1;
        opacity: 0;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: flex-end;
        transition: .3s all ease;
        background: rgba(0,0,0,0);
    }

    .side_nav.active{
        z-index: 10;
        opacity: 1;
        background: rgba(0,0,0,0.75);
        overflow-y: auto;
    }

        .side_nav_box_wrapper{
            width: 70vw;
            height: 100vh;
        }

        .side_nav_box{
            width: 100%;
            height: 100%;
            background: #fff;
            padding-top: 20vw;
        }

            .side_nav_box > .box_header{
                display: flex;
                justify-content: center;
                margin-bottom: 1em;
            }

                .side_nav_box > .box_header a{
                    display: flex;
                    align-items: flex-end;
                    gap: 1rem;
                }

                    .side_nav_box > .box_header a .sn_logo{
                        width: 2.5rem;
                    }

                    .side_nav_box > .box_header a .sn_kgos{
                        width: calc(2.5rem / 80 * 416);
                    }


        .side_nav_box > .box_inner{
            display: flex;
            flex-direction: column;
            padding: 0;
            margin-bottom: 2rem;
        }

            .side_nav .side_global_nav1{
                width: 100%;
                flex-direction: column;
                gap: 0;
            }

                .side_nav .side_global_nav1 > ul{
                    
                }

                .side_nav .side_global_nav1 > ul > li{
                    width: 100%;
                    border-bottom: 1px solid rgba(0,0,0,0.1);
                }

                .side_nav .side_global_nav1 > ul > li:first-child{
                    border-top: 1px solid rgba(0,0,0,0.1);
                }

                    .side_nav .side_global_nav1 > ul > li > a{
                        display: block;
                        padding: 0.5em 1em 0.5em 2.5em;
                        font-size: 1.3rem;
                        position: relative;
                    }

                    .side_nav .side_global_nav1 > ul > li > a::before{
                        font-family: FontAwesome;
                        content:"\f111";
                        color: var(--color-btn-border);
                        display: inline-block;
                        position: absolute;
                        top: 0.5em;
                        left: 1em;
                    }

    a[href^="tel:"]{
        pointer-events: initial;
    }
    
    /*改行のPC,SPでの表示切替*/
    br.pc,
    img.pc,
    span.pc{
        display:none;
    }

    br.sp,
    img.sp,
    span.sp{
        display:inline;
    }
    
    .tel_no{
        display: none;
    }
}
