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

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    
    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 .site_title{
        width: 72vw;
        margin-bottom: 2.5vw;
    }

    .common_box{
        width: 94vw;
        margin-bottom: 3.5rem;
    }

        .common_box > .box_header{
            top: -1.4rem;
            left: -2vw;
        }

        .common_box > .box_header h2{
            font-size: 1.3em;
            padding-left: 0.8em;
            padding-right: 0.8em;
        }

        .common_box > .box_inner{
            padding: 2.5rem 4vw 1.5rem;
        }

    .outline_box{
        margin-top: -10vw;
    }

        .period_venue_theme_box dl dt{
            font-size: 1.05em;
            width: 3.5em;
        }

        .period_venue_theme_box dl.period dd p{
            flex-wrap: wrap;
        }

            .period_venue_theme_box dl.period dd p .lbl_time{
                font-size: 0.9em;
                margin-top: 0.3em;
            }

        .period_venue_theme_box dl.venue dd{
            flex-direction: column;
            align-items: flex-start;
        }

            .period_venue_theme_box dl.venue dd .lbl1{
                font-size: 1.4em;
            }

            .period_venue_theme_box dl.venue dd .lbl2{
                margin-left: 0;
                font-size: 0.9em;
            }

        .period_venue_theme_box dl.theme dd{
            line-height: 1.4;
        }

        .period_venue_theme_box dl.theme dd .lbl1{
            font-size: 1.14em;
        }

        .period_venue_theme_box dl.theme dd .lbl2{
            font-size: 0.9em;
        }

        .outline_box > .box_inner .fig_nyujomuryo {
            top: -10vw;
            right: 3vw;
        }

        .outline_box > .box_inner .fig_present {
            right: -2vw;
            top: 16vw;
            bottom: auto;
        }
    
        .outline_box > .box_inner .fig_event{
            left: -2vw;
            bottom: 8vw;
        }

    .btn_flier a,
    .btn_anc_application a{
        font-size: 1.08em;
        padding: 0 1.25em 0 1.5em;
    }

    .btn_anc_application{
        margin-top: 1rem;
    }

    .common_box > .box_inner h3{
        font-size: 1.1em;
        padding-left: 1.5em;
    }

    .program_box > .box_inner h3{
        padding-right: 1em;
    }

    .program_box > .box_inner .mc_info_box{
        padding: 0 0.5em;
        margin-bottom: 1.5em;
        line-height: 1.2;
    }

        .program_box > .box_inner .mc_info_box > dl{
            align-items: flex-start;
        }

        .program_box > .box_inner .mc_info_box > dl dt{
            font-size: 1.1em;
        }

        .program_box > .box_inner .mc_info_box > dl dd{
            align-items: flex-start;
        }

        .program_box > .box_inner .mc_info_box > dl dd p{
            font-size: 0.84em;
        }

        .program_box > .box_inner .mc_info_box > dl dd ul{
            font-size: 1.1em;
        }

        .program_box > .box_inner .mc_info_box .fig{
            padding-left: 3vw;
        }

            .program_box > .box_inner .mc_info_box .fig ul li{
                width: calc((100% - 1.5vw) / 2);
            }

    .program_box > .box_inner .attraction_info{
        margin: 0 0.5em;
    }

        .program_box > .box_inner .attraction_info .text{
            padding-left: 0.5em;
        }

        .program_box > .box_inner .attraction_info .text p,
        .program_box > .box_inner .attraction_info .text ul{
            font-size: 1em;
        }

        .program_box > .box_inner .attraction_info .fig{
            width: 30%;
        }

    .program_box > .box_inner .person_pos{
        padding: 0 1em;
    }

    .program_box > .box_inner .person_pos dl{
        line-height: 1.3;
    }

    .program_box > .box_inner .person_pos dl dt{
        font-size: 1.05em;
        width: 6em;
    }

    .program_box > .box_inner .person_pos dl dd{
        font-size: 0.8em;
    }


    .program_box > .box_inner .program_detail{
        margin: 0 0.5em;
    }

    .program_box > .box_inner .program_detail > ul > li {
        padding: 0.6em 0.5em;
    }

    .program_box > .box_inner .program_detail > ul > li .person_pos{
        padding-left: 0;
    }


    .program_box > .box_inner .program_detail > ul > li .prg_title{
        font-size: 1.1em;
    }

    .program_box > .box_inner .program_detail > ul > li ul{
        padding-left: 0;
    }

    .program_box > .box_inner .program_detail > ul > li ul li .lbl1{
        font-size: 1.05em;
        white-space: nowrap;
    }

    .program_box > .box_inner .program_detail > ul > li ul li .lbl2{
        font-size: 0.8em;
    }

    .program_box > .box_inner .special_lecture_box{
        margin: 0 0.5em;
        display: block;
        position: relative;
    }

        .program_box > .box_inner .special_lecture_box .text{
            padding-right: 0;
        }

        .program_box > .box_inner .special_lecture_box .text .lecture_title_box{
            padding: 0 26vw 0.8em 0.5em;
            line-height: 1.4;
        }

        .program_box > .box_inner .special_lecture_box .text .lecture_title_box dl{
            font-size: 1.05em;
        }

            .program_box > .box_inner .special_lecture_box .text .lecture_title_box dl dt{
                font-size: 0.9em;
            }

        .program_box > .box_inner .special_lecture_box .text .lecture_title_box p{
            font-size: 0.84em;
        }


        .program_box > .box_inner .special_lecture_box .text h4{
            font-size: 0.8em;
        }

        .program_box > .box_inner .special_lecture_box .text dl[class^="history"]{
            margin-left: 0.5em;
            font-size: 0.8em;
        }

        .program_box > .box_inner .special_lecture_box .fig{
            width: 20vw;
            position: absolute;
            top: 0;
            right: 0;
        }

    .application_box > .box_inner p{
        margin-left: 1em;
        margin-right: 1em;
    }

    .application_box > .box_inner .btn_apply a{
        font-size: 1.18em;
        height: 3rem;
        border-radius: 1.5rem;
        width: 70%;
    }

    .application_box > .box_inner .apply_qr_box{
        display: none;
    }
    
    .application_box > .box_inner h3.for_apply_stay{
        margin-top: 2em;
    }


    .application_box > .box_inner .apply_stay_deadline{
        flex-direction: column;
        align-items: center;
        margin-right: 0;
        margin-left: 0;
    }

        .application_box > .box_inner .apply_stay_deadline dt::after{
            content: none;
        }

        .application_box > .box_inner .apply_stay_deadline dd{
            text-align: center;
        }

        .application_box > .box_inner p .link_tel{
            color: #00416b;
            text-decoration: underline;
            pointer-events: initial;
        }

    .venue_box > .box_inner .venue_name_addr{
        flex-direction: column;
        align-items: center;
    }

            .venue_box > .box_inner .venue_name_addr dd a{
                color: #00416b;
                text-decoration: underline;
                pointer-events: initial;
            }

        .venue_box > .box_inner .map_access_info{
            flex-direction: column;
        }

        .venue_box > .box_inner .map_access_info .map{
            width: 100%;
            height: 80vw;
            margin-bottom: 1em;
        }

        .venue_box > .box_inner .map_access_info .access_info{
            padding-left: 0;
        }


    footer > .box_header{
        padding: 1.1rem 0;
    }

    footer > .box_inner{
        padding: 1.5rem 4vw 0.5rem;
    }

    footer > .box_header dl dt{
        font-size: 1em;
    }

    footer > .box_header dl dd{
        font-size: 0.84em;
    }

    footer > .box_header dl.shusai_info{
        margin-bottom: 1em;
    }

    footer > .box_header dl.contact_info .lbl_addr_tel .lbl_tel a{
        color: #00416b;
        text-decoration: underline;
        pointer-events: initial;
    }

    footer > .box_inner .bns_box ul li {
        width: calc((100% - 1.5rem) / 3);
        margin: 0 0.75rem 0.75rem 0;
    }


    .nav_oc{
        width: 16vw;
        height: 16vw;
        top: 0;
        right: 0;
    }

        .menu-trigger{
            padding-top: 1rem;
        }

    .side_nav{
        width: 50%;
        padding-top: 18vw;
    }

        .side_nav .side_global_nav{
        }



    .pagetop{
        width: 14vw;
        height: 14vw;
        right: 3vw;
        bottom: 3rem;
    }

    /*改行のPC,SPでの表示切替*/
    br.pc,
    img.pc,
    span.pc{
        display:none;
    }

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