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

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

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

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

    header > .box_inner{
        height: 14vw;
        padding: 0 18vw 0 0.75rem;
    }

        header > .box_inner .logo_site_title a{
            gap: 0.75rem;
        }

            header > .box_inner .logo_site_title a .logo{
                height: 2.25rem;
            }

            header > .box_inner .logo_site_title a .site_title{
                height: 1.55rem;
            }
    
    .contents{
        padding-top: 12vw;
        padding-bottom: 1rem;
    }

    footer{}
    
    footer > .box_header{
        height: 8rem;
    }

    footer > .box_header .shape .shape_inner{
        min-height: 8rem;
        border-top-right-radius: 42rem 8rem;
        border-top-left-radius: 42rem 8rem;
        margin-left: -4rem;
        margin-right: -4rem;
        padding-left: 4rem;
        padding-right: 4rem;
    }

    footer > .box_header .site_title{
        margin-top: 1rem;
    }

    footer > .box_header .site_title a{
        height: 10vw;
    }

    footer > .box_inner{
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 2rem;
    }

    footer > .box_inner .f_navs{
        gap: 2rem;
    }

    footer > .box_inner .f_navs > .f_navs_sp_wrap{
        flex-direction: column;
        justify-content: flex-start;
        gap: 2rem;
    }

    .site_search_box{
        justify-content: center;
        margin-top: 2rem;
    }

    .site_search_box .input_submit_box{
        height: 2.5rem;
    }

    .addr_tel{
        flex-direction: column;
        align-items: center;
        gap: 0.5em;
    }

    footer > .box_footer{
        display: block;
    }

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

    .nav_oc {
        width: 14vw;
        height: 14vw;
        top: 1vw;
        right: 1vw;
    }

    .menu-trigger{
    }

        .menu-trigger .lines{
            width: 2rem;
        }

        .menu-trigger .lines span{
            width: 2rem;
        }

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

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

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

        .side_nav_box{
            width: 100%;
        }

            .side_nav_box > .box_header{
                justify-content: center;
            }

                .side_nav_box > .box_header .site_title{
                    width: 50%;
                }

                .side_nav_box > .box_header .site_title img.sp{
                    display: inline-block;
                }

            .sn_search{
                width: 100%;
            }

            .sn_search .input_submit_box .input_box{
                flex: 1;
            }

            .sn_search .input_submit_box .input_box input[type="search"]{
                width: 100%;
            }

        .side_nav_box > .box_inner{
            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{
                    gap: 0;
                    text-align: center;
                }

                .side_nav .side_global_nav1 > ul > li{
                    width: 100%;
                }

                    .side_nav .side_global_nav1 > ul > li > a,
                    .side_nav .side_global_nav1 > ul > li > .nolink{
                        display: block;
                        padding: 0.5em 0;
                        font-size: 1.4em;
                        position: relative;
                    }


                .side_nav .side_global_nav1 > ul > li .child_nav{
                    display: none;
                    margin-top: 0;
                    padding: 0 1.5em;
                    text-align: left;
                }

                    .side_nav .side_global_nav1 > ul > li .child_nav > ul{
                        display: flex;
                        flex-wrap: wrap;
                        gap: 0.5em 1em;
                    }

                    .side_nav .side_global_nav1 > ul > li .child_nav > ul > li{
                        box-sizing: border-box;
                        width: calc((100% - 1em) / 2);
                        margin: 0;
                    }

            .side_nav .bn_bfw a{
                width: 70%;
            }
                
    .bottom_fixed_nav{
        right: auto;
        left: 3vw;
    }

    .bottom_fixed_nav ul li a{
        width: 3.5rem;
    }
   
    
    /*改行のPC,SPでの表示切替*/
    br.pc,
    img.pc,
    span.pc{
        display:none;
    }

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