@charset "utf-8";
/*--京home.css--*/
:root {
    --home_color1: #5475aa; /*MVの曜日背景、h2背景、h3下線*/
    --home_color2: #931D23; /*強いボタン色、文字色*/
    --home_color3: #5475aa; /*やや強い文字色、一覧を見るボタンのhover*/
    --home_color4: rgba(84,117,170,0.5); /*リスト前の丸*/
    --home_color5: #D24900; /*MVの対象名強調色*/
}

/* ##########PC########## */
.page_body img{
    max-width: 100%;
    height: auto;
}

.mainvisual_box{
    box-sizing: border-box;
    height: 32.5rem;
    padding-bottom: 1.5rem;
    background-image: url(../shared/bg_mv.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

    .mainvisual_box::before{
        content: "";
        width: 47.5rem;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        background: #fff;
        position: absolute;
        top: -2rem;
        left: calc(50% - 23.75rem);
        z-index: 0;
        box-shadow: 0 0 1rem 0 rgba(0,0,0,0.1);
    }

    .mainvisual_box > .box_inner{
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

        .mainvisual_box > .box_inner .shienkin_title{
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-bottom: 2em;
            position: relative;
        }

            .mainvisual_box > .box_inner .shienkin_title::after{
                content: "";
                width: 7.5rem;
                aspect-ratio: 1 / 1;
                background-image: url(../shared/icon_target.png);
                background-repeat: no-repeat;
                background-size: contain;
                position: absolute;
                right: -6rem;
                bottom: 0;
            }

            .mainvisual_box > .box_inner .shienkin_title p{
                color: #1a1a1a;
                font-size: 1.25em;
                font-weight: 700;
            }

            .mainvisual_box > .box_inner .shienkin_title h2{
                font-family: "Zen Maru Gothic", sans-serif;
                display: flex;
                flex-direction: column;
                align-items: center;
                color: #34495E;
                line-height: 1;
                font-weight: 700;
                margin: 1rem 0;
            }

                .mainvisual_box > .box_inner .shienkin_title strong{
                    font-weight: 700;
                    color: var(--home_color5);
                }

                .mainvisual_box > .box_inner .shienkin_title h2 .lbl1{
                    font-size: 2.5em;
                    margin-bottom: 0.75rem;
                }

                .mainvisual_box > .box_inner .shienkin_title h2 .lbl2{
                    font-size: 3.25em;
                    margin-bottom: 0.5rem;
                }

                .mainvisual_box > .box_inner .shienkin_title h2 .lbl3{
                    font-size: 5em;
                    display: flex;
                    letter-spacing: 0.5em;
                    padding-left: 0.5em;
                }

        .mainvisual_box > .box_inner .period_info{}

            .mainvisual_box > .box_inner .period_info dl{
                display: flex;
                flex-direction: column;
                align-items: center;
                color: #1A1A1A;
                position: relative;
            }

                .mainvisual_box > .box_inner .period_info dl::after{
                    content: "";
                    width: 100%;
                    border-bottom: 1rem solid rgba(255,230,150,0.5);
                    position: absolute;
                    left: 0;
                    bottom: 0.25rem;
                }

                .mainvisual_box > .box_inner .period_info dl dt{
                    color: var(--home_color3);
                    font-size: 1.25em;
                    font-weight: 700;
                    position: relative;
                    z-index: 1;
                    margin-bottom: 0.375em;
                }

                .mainvisual_box > .box_inner .period_info dl dd{
                    font-size: 1.5em;
                    font-weight: 700;
                    position: relative;
                    z-index: 1;
                    line-height: 1.3;
                }

                    .mainvisual_box > .box_inner .period_info dl dd .lbl_num{
                        font-family: "Poppins", sans-serif;
                        font-size: 2em;
                        margin: 0 0.1em;
                    }

                    .mainvisual_box > .box_inner .period_info dl dd .lbl_date{
                        display: inline-flex;
                        justify-content: center;
                        align-items: center;
                        background: var(--home_color1);
                        color: #fff;
                        font-weight: 500;
                        font-size: 0.7em;
                        line-height: 1;
                        width: 2em;
                        aspect-ratio: 1 / 1;
                        border-radius: 50%;
                        margin: 0 0.1em;
                        transform: translateY(-0.2em);
                    }


.news_box{
    background: #fff;
    padding: 5em 0 4em;
    display: flex;
    flex-direction: column;
    align-items: center;
}

    .news_box > .box_header{
        margin-bottom: 1.5em;
    }

        .news_box > .box_header h2{
            font-size: 2em;
            font-weight: 700;
        }

    .news_box > .box_inner{
        width: 960px;
        margin-bottom: 1.5em;
    }

        .news_box > .box_inner ul{}

        .news_box > .box_inner ul li{
            border-bottom: 1px dotted rgba(0,0,0,0.25);
            padding: 1em;
            display: flex;
        }

        .news_box > .box_inner ul li:first-child{
            border-top: 1px dotted rgba(0,0,0,0.25);
        }


            .news_box > .box_inner ul li .entry_date{
                width: 9em;
            }

            .news_box > .box_inner ul li .entry_title{
                flex: 1;
            }

            .news_box > .box_inner ul li .lbl_new{
                display: inline-block;
                background: #FF0004;
                color: #fff;
                line-height: 1;
                font-size: 0.8em;
                padding: 0.3em 0.6em 0.2em;
            }

    .news_box > .box_footer{}

        .news_box > .box_footer a{
            display: flex;
            align-items: center;
            text-decoration: none;
            height: 3rem;
            border-radius: 100vh;
            color: #1A1A1A;
            border: 1px solid #bababa;
            padding: 0 3.5em;
            position: relative;
            transition: .4s all ease;
        }

            .news_box > .box_footer a::after{
                box-sizing: border-box;
                font-family: FontAwesome;
                content:"\f105";
                display: flex;
                justify-content: center;
                align-items: center;
                width: 1.5rem;
                line-height: 1;
                aspect-ratio: 1 / 1;
                padding: 0 0 0.1em 0.1em;
                border-radius: 50%;
                border: 1px solid rgba(0,0,0,0.25);
                color: rgba(0,0,0,0.25);
                position: absolute;
                top: calc(50% - 0.75rem);
                right: 1rem;
                transition: .4s all ease;
            }

        .news_box > .box_footer a:hover{
            border-color: var(--home_color3);
            color: var(--home_color3);
            box-shadow: 3px 3px 0 0 rgba(0,0,0,0.15);
        }

            .news_box > .box_footer a:hover::after{
                border-color: var(--home_color3);
                color: var(--home_color3);
            }

.common_box{
    width: 960px;
    margin: 3em auto 0;
    overflow: hidden;
}

    .common_box > .box_header{
        background: var(--home_color1);
        display: flex;
        justify-content: center;
        padding: 0.5em 0;
        border-radius: 1rem 1rem 0 0;
    }

        .common_box > .box_header h2{
            color: #fff;
            font-size: 1.75em;
            font-weight: 700;
        }

    .common_box > .box_inner{
        background: #fff;
        padding: 3em 5em;
    }

        .common_box > .box_inner h3{
            color: #2c2c2c;
            font-weight: 700;
            font-size: 1.25em;
            border-bottom: 4px solid var(--home_color1);
            margin: 2em 0 1.1em 0;
            padding-bottom: 0.3em;
        }

        .common_box > .box_inner p{
            margin: 0 0 1em 0;
        }

        .common_box > .box_inner ul.circle{}

            .common_box > .box_inner ul.circle li{
                position: relative;
                padding-left: 1.3em;
                margin-bottom: 0.3em;
            }

            .common_box > .box_inner ul.circle li:last-child{
                margin-bottom: 0;
            }

                .common_box > .box_inner ul.circle li::before{
                    font-family: FontAwesome;
                    content:"\f111";
                    position: absolute;
                    top: 0;
                    left: 0;
                    color: var(--home_color4);
                }

.target_box{}

    .target_box > .box_inner table{
        width: 100%;
    }

        .target_box > .box_inner table thead th{
            background: #5D5D5D;
            color: #fff;
            text-align: center;
            border-right: 1px solid #fff;
        }

        .target_box > .box_inner table thead th.c_kingaku{
            width: 20em;
        }

        .target_box > .box_inner table tbody tr{
            background: #fff;
        }

        .target_box > .box_inner table tbody tr:nth-child(even){
            background: rgba(0,0,0,0.03);
        }

        .target_box > .box_inner table tbody td{
            padding: 1em;
            border-right: 1px solid rgba(0,0,0,0);
            border-bottom: 1px solid #bababa;
        }

        .target_box > .box_inner table tbody td.c_kingaku{
            text-align: right;
        }

    .target_box > .box_inner .notes{
        font-size: 0.9em;
        margin-top: 1.5em;
        line-height: 1.4;
    }

        .target_box > .box_inner .notes ul li{
            position: relative;
            padding-left: 1.2em;
            margin-bottom: 0.3em;
        }

        .target_box > .box_inner .notes ul li:last-child{
            margin-bottom: 0;
        }

            .target_box > .box_inner .notes ul li::before{
                content: "※";
                position: absolute;
                top: 0;
                left: 0;
            }

    .target_box > .box_inner .kofu_yoko{
        display: flex;
        justify-content: center;
        margin-top: 2em;
    }

    .target_box > .box_inner .kofu_yoko a{
        display: flex;
        align-items: center;
        gap: 0.5em;
        height: 3rem;
        border-radius: 100vh;
        background: var(--home_color2);
        color: #fff;
        text-decoration: none;
        padding: 0 3em;
        font-weight: 500;
        transition: .4s all ease;
    }

        .target_box > .box_inner .kofu_yoko a::before{
            content: "";
            display: inline-block;
            width: 1.5rem;
            aspect-ratio: 1 / 1;
            background-image: url(../shared/icon_paper.png);
            background-size: contain;
            background-repeat: no-repeat;
        }

    .target_box > .box_inner .kofu_yoko a:hover{
        filter: brightness(1.2);
        box-shadow: 3px 3px 0 0 rgba(0,0,0,0.15);
    }
        
.apply_box{}

    .apply_box .format_list{
        display: flex;
        gap: 1.5em;
        padding: 0 1.5em;
    }

        .apply_box .format_list dl{
            box-sizing: border-box;
            background: #F5F5F5;
            border: 1px solid rgba(0,0,0,0.1);
            border-radius: 1rem;
            width: calc((100% - 1.5em) / 2);
            padding: 1.5em 2em;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

            .apply_box .format_list dl dt{
                font-size: 1.5em;
                font-weight: 700;
                margin-bottom: 0.75em;
                color: var(--home_color3);
            }

            .apply_box .format_list dl dd{
                width: 100%;
            }

                .apply_box .format_list dl dd ul{
                    display: flex;
                    flex-direction: column;
                    gap: 1em;
                }

                    .apply_box .format_list dl dd ul li{
                        width: 100%;
                    }

                        .apply_box .format_list dl dd ul li a{
                            box-sizing: border-box;
                            width: 100%;
                            height: 3rem;
                            display: flex;
                            align-items: center;
                            background: #5D5D5D;
                            gap: 1rem;
                            padding-left: 1.5rem;
                            text-decoration: none;
                            color: #fff;
                            border-radius: 100vh;
                            transition: .4s all ease;
                        }

                        .apply_box .format_list dl dd ul li a:hover{
                            filter: brightness(1.2);
                            box-shadow: 3px 3px 0 0 rgba(0,0,0,0.15);
                        }

                            .apply_box .format_list dl dd ul li a::before{
                                content: "";
                                display: inline-block;
                                width: 1.5rem;
                                aspect-ratio: 1 / 1;
                                background-repeat: no-repeat;
                                background-size: contain;
                            }



                            .apply_box .format_list dl dd ul li.btn_format a::before{
                                background-image: url(../shared/icon_pencil.png);
                            }

                            .apply_box .format_list dl dd ul li.btn_example a::before{
                                background-image: url(../shared/icon_question.png);
                            }

                            .apply_box .format_list dl dd ul li a .lbl{
                                font-weight: 500;
                                flex: 1;
                                line-height: 1.2;
                                font-size: 0.96em;
                                padding-right: 1em;
                            }

.apply_ways{}

    .apply_ways ul{
        display: flex;
        flex-wrap: wrap;
        gap: 1.5rem;
    }

        .apply_ways ul li{
            box-sizing: border-box;
            background: #F4F4F4;
            border-radius: 1rem;
            padding: 2em 0;
        }

            .apply_ways ul li .hdg{
                display: flex;
                flex-direction: column;
                align-items: center;
            }

                .apply_ways ul li .hdg h4{
                    font-size: 1.5em;
                    font-weight: 700;
                }

        .apply_ways ul li.by_webform{
            width: 100%;
            display: flex;
            align-items: center;
            padding: 2.5em 2.5em 2.5em 0;
        }

            .apply_ways ul li.by_webform .hdg{
                flex: 1;
            }

            .apply_ways ul li.by_webform .hdg p{
                color: var(--home_color2);
                font-weight: 700;
                margin-bottom: 0;
            }

            .apply_ways ul li.by_webform .goto_form{

            }

            .apply_ways ul li.by_webform .goto_form a{
                box-sizing: border-box;
                height: 3rem;
                display: flex;
                align-items: center;
                gap: 1em;
                background: var(--home_color2);
                padding: 0 2em 0 3em;
                text-decoration: none;
                color: #fff;
                font-weight: 500;
                border-radius: 100vh;
                transition: .4s all ease;
            }

            .apply_ways ul li.by_webform .goto_form a:hover{
                filter: brightness(1.2);
                box-shadow: 3px 3px 0 0 rgba(0,0,0,0.15);
            }

                .apply_ways ul li.by_webform .goto_form a::after{
                    box-sizing: border-box;
                    font-family: FontAwesome;
                    content: "\f105";
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 1.375rem;
                    line-height: 1;
                    aspect-ratio: 1 / 1;
                    padding: 0 0 0.1em 0.1em;
                    border-radius: 50%;
                    border: 1px solid #fff;
                    color: #fff;
                }

        .apply_ways ul li.by_email,
        .apply_ways ul li.by_mail{
            width: calc((100% - 1.5rem) / 2);
            display: flex;
            flex-direction: column;
            align-items: center;
        }

            .apply_ways ul li.by_email .hdg,
            .apply_ways ul li.by_mail .hdg{
                margin-bottom: 0.5em;
            }

            .apply_ways ul li.by_email .text p,
            .apply_ways ul li.by_mail .text p{
                margin: 0;
                text-align: center;
            }

            .apply_ways ul li.by_email .text p.lbl_email_addr{
                font-size: 1.2em;
                color: var(--home_color2);
                font-weight: 700;
            }

            .apply_ways ul li.by_email .text p.notes{
                text-align: left;
                font-size: 0.9em;
                padding: 0 0 0 1em;
                margin: 1em 1em 0 1em;
                line-height: 1.5;
                position: relative;
            }

                .apply_ways ul li.by_email .text p.notes::before{
                    content: "※";
                    position: absolute;
                    top: 0;
                    left: 0;
                }

    .apply_box > .box_inner .period_info{
        display: flex;
        flex-direction: column;
        align-items: center;
    }

        .apply_box > .box_inner .period_info p{
            font-size: 1.5em;
            font-weight: 700;
            color: #5D5D5D;
            margin-bottom: 0;
        }

            .apply_box > .box_inner  .period_info p .lbl_hicchaku{
                display: inline-block;
                background: #FF0004;
                border-radius: 0.125rem;
                color: #fff;
                font-size: 0.67em;
                font-weight: 500;
                padding: 0 0.5em;
                transform: translateY(-0.1em);
            }

.notices_box{}

    .notices_box .qa_list{
        display: flex;
        justify-content: center;
    }

        .notices_box .qa_list ul{
            display: flex;
            flex-direction: column;
            gap: 1em;
        }

            .notices_box .qa_list ul li{}

                .notices_box .qa_list ul li a{
                    box-sizing: border-box;
                    height: 3rem;
                    display: flex;
                    align-items: center;
                    gap: 0.5em;
                    background: var(--home_color2);
                    padding: 0 2em;
                    text-decoration: none;
                    color: #fff;
                    font-weight: 500;
                    border-radius: 100vh;
                    transition: .4s all ease;
                }

                .notices_box .qa_list ul li a:hover{
                    filter: brightness(1.2);
                    box-shadow: 3px 3px 0 0 rgba(0,0,0,0.15);
                }

                    .notices_box .qa_list ul li a::before{
                        content: "";
                        display: inline-block;
                        width: 1.5rem;
                        aspect-ratio: 1 / 1;
                        background-image: url(../shared/icon_paper.png);
                        background-repeat: no-repeat;
                        background-size: contain;
                    }

.contact_box{}

    .contact_box.common_box > .box_header{
        background: #5D5D5D;
    }

    .contact_box > .box_inner{
        display: flex;
        flex-direction: column;
        align-items: center;
    }

        .contact_box > .box_inner p.lbl_office_name{
            font-size: 1.125em;
            margin-bottom: 0.5em;
            text-align: center;
        }

        .contact_box > .box_inner .lbl_office_tel{
            display: flex;
            align-items: flex-end;
            font-weight: 700;
            line-height: 1;
            color: var(--home_color2);
            margin-bottom: 1em;
        }

            .contact_box > .box_inner .lbl_office_tel dt{
                font-size: 1.5em;
                margin-right: 0.3em;
            }

            .contact_box > .box_inner .lbl_office_tel dd{
                font-size: 2.2em;
                font-weight: 700;
            }

                .contact_box > .box_inner .lbl_office_tel dd a{
                    color: var(--home_color2);
                    text-decoration: none;
                }

        .contact_box > .box_inner .lbl_bizhour{
            margin-bottom: 0;
        }


@media screen and (min-width:1px) and (max-width:1400px) {

}

@media screen and (min-width:1px) and (max-width:1280px) {

}


@media screen and (min-width:1px) and (max-width:1200px) {

}

@media screen and (min-width:1px) and (max-width:1080px){
    header > .box_inner .global_nav{
        display: none;
    }
}

/*ipad*/
@media screen and (min-width:1px) and (max-width:1024px){
    .news_box > .box_inner{
        width: 90vw;
    }

    .common_box{
        width: 90vw;
    }

}

/* ##########SP横向き########## */
@media screen and (min-width:1px) and (max-width:768px) {


}

/* ##########SP########## */
@media screen and (min-width:1px) and (max-width:479px) {
    .mainvisual_box{
        height: auto;
        padding-top: 3rem;

    }

    .mainvisual_box::before{
        width: 114vw;
        left: calc(50% - 57vw);
        top: -1rem;
    }

    .mainvisual_box > .box_inner .shienkin_title{
        font-size: 0.8em;
        margin-bottom: 1em;
    }

        .mainvisual_box > .box_inner .shienkin_title h2{
            margin: 0.8em 0;
        }

        .mainvisual_box > .box_inner .shienkin_title::after{
            width: 5rem;
            right: -3.5rem;
        }

    .mainvisual_box > .box_inner .period_info dl dt{
        font-size: 1.15em;
    }

    .mainvisual_box > .box_inner .period_info dl dd{
        font-size: 1.05em;
    }

    .news_box{
        padding: 2em 0 2em;
    }

        .news_box > .box_header{
            margin-bottom: 1em;
        }

        .news_box > .box_header h2{
            font-size: 1.4em;
        }

        .news_box > .box_inner ul li{
            flex-direction: column;
            padding: 0.7em;
            font-size: 0.94em;
        }

            .news_box > .box_inner ul li .entry_date{
                width: auto;
            }

            .news_box > .box_inner ul li .entry_title{
                flex: initial;
            }


    .common_box > .box_header h2{
        font-size: 1.2em;
    }

    .common_box > .box_inner{
        padding: 1.5em;
    }

        .common_box > .box_inner h3{
            font-size: 1.18em;
        }

    .target_box > .box_inner table thead th.c_kingaku{
        width: 50%;
    }

    .target_box > .box_inner table tbody td.c_kingaku{
        text-align: center;
    }

    .apply_box .format_list{
        flex-direction: column;
    }

        .apply_box .format_list dl{
            width: 100%;
            padding: 1.5em;
        }

            .apply_box .format_list dl dt{
                font-size: 1.2em;
            }

    .apply_ways ul{
        flex-direction: column;
        gap: 1em;
    }

        .apply_ways ul li{
            padding: 1em 0;
        }

        .apply_ways ul li .hdg h4{
            font-size: 1.1em;
        }

        .apply_ways ul li.by_webform{
            flex-direction: column;
            padding: 1em 0;
        }

        .apply_ways ul li.by_webform .hdg{
            margin-bottom: 0.8em;
        }

        .apply_ways ul li.by_email,
        .apply_ways ul li.by_mail{
            width: 100%;
        }

            .apply_ways ul li.by_email .hdg,
            .apply_ways ul li.by_mail .hdg{
                margin-bottom: 0.3em;
            }

    .apply_box > .box_inner .period_info p{
        font-size: 1.3em;
        text-align: center;
    }


    .target_box > .box_inner table thead th{
        line-height: 1.3;
        font-size: 0.9em;
        padding: 0.5em;
    }

    .target_box > .box_inner table tbody td{
        padding: 0.5em;
    }

    .notices_box .qa_list ul li a{
        height: 3.5rem;
        line-height: 1.3;
    }

        .notices_box .qa_list ul li a .lbl{
            flex: 1;
        }

    .contact_box > .box_inner .lbl_bizhour{
        font-size: 0.9em;
    }

}


/* ##########印刷用########## */
@media print{


}