@charset "utf-8";
/*--京base_sp.css--*/

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:575px) {
    html{
        font-size: 3.4vw;
        min-width: auto;
    }

    body {
        min-width:initial;
        min-width:auto;
        overflow-y: scroll;
    }

    #container{
        min-width:initial;
        min-width:auto;
    }

    /*下スクロールでheader非表示、上スクロールで表示*/
    header.hide{
        transform: translateY(-18vw);
    }

    header > .box_inner{
        height: 18vw;
    }

        header > .box_inner .logo_site_title a{
            gap: 0.5rem;
        }

        header > .box_inner .logo_site_title a .logo{
            height: 12vw;
        }

        header > .box_inner .logo_site_title a .site_title{
            height: calc(12vw / 160 * 176);
        }

        header > .box_inner .navs_h_contact{
            display: none;
        }

    
    .contents{
        padding-top: 18vw;
        padding-bottom: 3rem;
    }

    footer{}

        footer::before{
            height: 10rem;
        }

        footer > .box_header{
            flex-direction: column;
            gap: 1em;
            padding: 2em 0 1.5em;
        }

            footer > .box_header .logo_site_title a .logo{
                height: 12vw;
            }

            footer > .box_header .logo_site_title a .site_title{
                height: calc(12vw / 160 * 176);
            }

            footer > .box_header address .company_name{
                text-align: center;
            }

            footer > .box_header address .tel_fax a{
                pointer-events: initial;
            }

        footer > hr{
            width: 90%;
        }

        footer > .box_inner{
            flex-direction: column;
            padding: 2em 0;
            gap: 2em;
        }

        footer > .box_footer{
            flex-direction: column;
            align-items: center;
            padding: 2.5em 8vw 1.5em;
            gap: 1.5em;
        }

            footer > .box_footer .f_nav ul{
                gap: 2em;
            }
    


    /*ページトップ*/
    .pagetop{
        width:14vw;
        height:14vw;
        bottom: 21vw;
        right: 2vw;
    }

    .pagetop a::before {
        font-size: 2rem;
    }

    .nav_oc {
        width: 14vw;
        top: 3vw;
        right: 3vw;
        display: block;
    }

    .menu-trigger{
    }

        .menu-trigger .lines{
            height: 13px;
        }

        .menu-trigger .lines span{
        }

        .menu-trigger.active .lines span:nth-of-type(1){
            transform: rotate(30deg) scaleX(1.3);
        }

        .menu-trigger.active .lines span:nth-of-type(3){
            transform: rotate(-30deg) scaleX(1.3);
        }

        .menu-trigger .lbl{
            font-size: 0.7rem;
            white-space: nowrap;
        }
    
    .side_nav{}

        .side_nav_box{
            width: 100%;
            justify-content: flex-start;
            padding-top: 20vw;
        }

            .side_nav_box > .box_header{
            }

                .side_nav_box > .box_header img{
                    height: 100%;
                    width: auto;
                }

                .side_nav_box > .box_header .logo_site_title a{
                    gap: 0.5rem;
                    align-items: center;
                }

                .side_nav_box > .box_header .logo_site_title a .logo{
                    height: 16vw;
                }

                .side_nav_box > .box_header .logo_site_title a .site_title{
                    height: calc(16vw / 160 * 176);
                }


        .side_nav_box > .box_inner{
            flex-direction: column;
            padding: 0;
        }

            .side_nav .side_global_nav1{
                width: 100%;
                flex-direction: column;
                gap: 0;
                margin-bottom: 1.5em;
            }

                .side_nav .side_global_nav1 > ul{
                    flex-direction: row;
                    gap: 1rem;
                    flex-wrap: wrap;
                }

                .side_nav .side_global_nav1 > ul > li{
                    width: calc((100% - 1rem) / 2);
                }

                    .side_nav .side_global_nav1 > ul > li > a{
                        box-sizing: border-box;
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        gap: 0.5rem;
                        padding: 1em 0 0.75em;
                        font-size: 1.2em;
                        color: var(--base_color1);
                        border: 1px solid var(--base_color2);
                        border-radius: 0.5rem;
                        box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.1);
                    }

                    .side_nav .side_global_nav1 > ul > li > a .icon{
                        width: 3rem;
                    }

                    .side_nav .side_global_nav1 > ul > li > a .icon img{
                        max-width: 100%;
                        height: auto;
                    }

            .side_nav .side_global_nav2{
                line-height: 1.3;
                padding-left: 1em;
                padding-right: 1em;
            }

                .side_nav .side_global_nav2 ul li{
                    margin-bottom: 0.5em;
                }

                .side_nav .side_global_nav2 ul li a{
                    display: flex;
                    align-items: center;
                    color: var(--base_color1);
                    font-size: 1.1em;
                    padding: 0.3em 0;
                }

                .side_nav .side_global_nav2 ul li a::before{
                    font-family: FontAwesome;
                    content:"\f111";
                    color: var(--base_color2);
                    margin-right: 0.3em;
                }
                
  
    
    /*改行のPC,SPでの表示切替*/
    br.pc,
    img.pc,
    span.pc{
        display:none;
    }

    br.sp,
    img.sp,
    span.sp{
        display:inline;
    }
    
    .tel_no{
        display: none;
    }
}
