@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: 6rem;
        padding: 0.75rem 7rem 0.75rem 0.75rem;
    }

    header > .box_inner .site_title a{
        width: 4.5rem;
    }

    header .lang_changer{
        display: none;
    }

    
    .contents{
        padding-top: 18vw;
        padding-bottom: 3rem;
    }

    footer{
        padding: 3rem 1rem 0 1rem;
    }

        footer > .box_inner{
            flex-direction: column;
            align-items: center;
            gap: 1em;
            padding: 0 0 1em 0;
        }

            footer > .box_inner .f_site_title{
                width: 75%;
            }

            footer > .box_inner .campus_info_box{
                gap: 1em;
            }

            footer > .box_inner .campus_info_box dl dt{
                font-size: 1em;
                margin-bottom: 0.3em;
            }

            footer > .box_inner .campus_info_box dl dd{
                font-size: 0.8em;
            }

        footer > .box_footer{
            flex-direction: column;
            width: 100%;
            padding: 1.5rem 0 4rem;
        }

            footer > .box_footer .footer_links ul{
                justify-content: center;
                margin-bottom: 2rem;
            }

            footer > .box_footer .copyright{
                font-size: 0.8em;
                text-align: center;
            }

    .nav_oc {
        width: 3.875rem;
        height: 3.875rem;
        top: 0.95rem;
        right: 0.75rem;
    }

    /*ページトップ*/
    .pagetop{
        width:13vw;
        height:13vw;
        bottom:18vw;
        right:4vw;
    }

    .menu-trigger{
        padding-bottom: 0.375rem;
    }

        .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{
            flex-direction: column;
            align-items: flex-start;
            padding-right: 0;
        }

            .sn_site_title{
                width: 57vw;
            }

            .sn_lang_changer{
                margin-left: 0.5em;
                margin-right: auto;
            }

                .sn_lang_changer a{
                    font-size: 0.9em;
                    padding-left: 0.7em;
                    padding-right: 0.7em;
                }

            .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;
            gap: 1rem;
        }

            .side_nav .side_global_nav1{
                width: 100%;
            }

                .side_nav .side_global_nav1 > ul > li{
                    width: 100%;
                }

                .side_nav .side_global_nav1 > ul > li > .sgn_h a{
                    padding: 0.75rem;
                }

                .side_nav .side_global_nav1 > ul > li > .sgn_h a .icon{
                    width: 2.5rem;
                }

                .side_nav .side_global_nav1 > ul > li > .sgn_h a .lbl{
                    padding-top: 0.1em;
                }

            .side_nav .side_global_nav2{
                line-height: 1.3;
                font-size: 0.9em;
                margin-bottom: 2rem;
            }

                .side_nav .side_global_nav2 .sgn_m{
                    margin-bottom: 1.5em;
                }

                .side_nav .side_global_nav2 .sgn_m > ul > li > a{
                    padding: 0.8em 2em 0.6em 0.5em;
                }

                .side_nav .side_global_nav2 .sgn_m > ul > li > a::after{
                    top: calc(50% - 0.5rem);
                    right: 0.7rem;
                }

                .side_nav .side_global_nav2 .sgn_target > ul{
                    flex-wrap: wrap;
                    gap: 0.5em;
                }

                    .side_nav .side_global_nav2 .sgn_target > ul li{
                        width: calc((100% - 0.5em) / 2);
                    }

                    .side_nav .side_global_nav2 .sgn_target > ul li:nth-child(1){
                        width: 100%;
                    }

                    .side_nav .side_global_nav2 .sgn_target > ul > li a{
                        padding-top: 0.5em;
                        padding-bottom: 0.5em;
                        padding-left: 0.5em;
                    }

                    .side_nav .side_global_nav2 .sgn_target > ul > li a::before{
                        width: 1rem;
                        background-size: 0.75rem auto;
                    }

    .side_tabs{
        height: auto;
        top: auto;
        right: auto;
        width: 100%;
        bottom: 0;
        left: 0;
    }

    .side_tabs ul{
        height: auto;
        flex-direction: row;
        justify-content: flex-end;
        padding-bottom: 0;
        width: 100%;
        gap: 2px;
    }

    .side_tabs ul li{
        transform: translateY(0.25rem);
    }

    .side_tabs ul li:hover{
        transform: translateY(0);
    }

    .side_tabs ul li a{
        padding: 0 1em;
        width: auto;
        height: 3.25rem;
        font-size: 0.92rem;
        border-radius: 0.375rem 0.375rem 0 0;
        writing-mode: initial;
    }

        .side_tabs ul li:last-child a{
            border-top-right-radius: 0;
        }


   
    
    /*改行のPC,SPでの表示切替*/
    br.pc,
    img.pc,
    span.pc{
        display:none;
    }

    br.sp,
    img.sp,
    span.sp{
        display:inline;
    }
    
    .tel_no{
        display: none;
    }
}
