@charset "UTF-8";

@media screen and (max-width:1099px){
/*voice*/
    .voice_card .voice_ttl{
        font-size:1.2em;
    }
    .swiper-button-prev, .swiper-button-next{
        width:50px !important;
        height:50px !important;
    }
    .swiper-button-prev::before, .swiper-button-next::before{
        width:20px;
        height:15px;
    }
}

@media screen and (max-width:1023px){
    .voice_card .voice_ttl{
        font-size:1.8em;
    }
    .swiper-button-next{
        right:13% !important;
    }
    .swiper-button-prev{
        left:13% !important;
    }

    .ttl_in::before{
        top:-45px;
    }
}

@media screen and (max-width:899px){
    .header{
        padding:20px;
    }
    .menu_btn{
        top:20px;
    }
    .mv{
        height:auto;
        aspect-ratio: 4 / 3;
    }
    .mv_ttl{
        bottom:2%;
        top:auto;
    }
    .mv_ttl img{
        max-width:800px;
    }

    .copy,.copy_img{
        border-radius:5vw 0 5vw 0;
    }

    .ttl img{
        max-width:300px;
    }

    /*スケジュール*/
    .schedule_list{
        flex-direction: column;
        align-items: center;
    }
    .schedule_item{
        padding:40px 20px;
    }
    .period p{
        flex-direction: column;
    }

    /*お知らせ*/
    .news_list_wrapper{
        padding:35px;
    }
    .news_list li a{
        padding:20px 80px 20px 20px;
    }
    .news_list li a::after{
        width:40px;
        height:40px;
    }

    /*インタビュー*/
    .sp_no{
        display:none;
    }
    .pc_no{
        display:block;
        margin-top:100px;
        font-size:.9em;
    }
    .interview_inner{
        padding:100px 40px 80px;
    }
    .interview_wrapper{
        align-items: flex-start;
        gap:50px;
    }
    .ttl_in_wrapper{
        width:40%;
        display:flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;
    }
    .ttl_in img{
        max-width:250px;
    }
    .ttl_in::before{
        top:-50px;
    }
    .movie_area{
        flex:1;
    }
    .movie_wrapper{
        gap:50px;
        flex-direction: column;
    }
    .movie_box{
        aspect-ratio: unset;
        max-width:100%;
    }

    /*下キャッチコピー*/
    .copy_img2 img{
        max-width:500px;
    }

    /*フッター*/
    .footer_inner h1 img{
        max-width:300px;
    }
    .contact_mail{
        padding:15px 30px;
    }
}

@media screen and (max-width:768px){
    /*ハンバーガーメニュー*/
    .menu_btn{
        width:80px;
        height:35px;
        padding:0 20px;
    }
    .menu_list{
        padding:70px 20px 20px;
    }
    .menu_list ul li img{
        width:60%;
    }
    .menu_sub{
        font-size:.9em;
    }
    .menu_sns p img{
        max-width:40px;
    }

    /*メインビジュアル*/
    .mv_img{
        margin-top:0;
    }

    .copy_img{
        padding:20px;
    }
    
    .ttl img{
        max-width:250px;
    }
    .schedule,
    .news,
    .access,
    .program,
    .other{
        padding:70px 20px;
    }

    /*スケジュール*/
    .schedule_item{
        padding:30px 20px;
    }
    .date p{
        font-size:1.5em;
    }
    .schedule_txt_wrapper{
        margin:50px auto 0;
    }
    .period p{
        padding:20px;
    }

    /*VR*/
    .vr_bn_img{
        padding:40px 20px 0;
    }

    /*access*/
    .access_content{
        flex-direction: column;
        align-items: center;
    }
    .map_img{
        width:80%;
    }
    .campus_img{
        width:80%;
        margin:0 auto;
    }
    .detail_btn{
        margin:0 auto;
    }

    /*program*/
    .program_list{
        flex-direction: column;
        align-items: center;
    }
    .program_item{
        max-width:80%;
    }
    .program_img{
        max-width:400px;
        margin:0 auto;
    }
    .program_02{
        margin:30px auto;
        width:100%;
        max-width:80%;
    }
    .program_02_inner{
        flex-direction: column;
        gap:50px;
    }
    .program_02_left{
        width:100%;
        position:static;
    }
    .program_02_left .program_ttl{
        justify-content: center;
    }
    .program_ttl07{
        font-size:1.5em;
    }

    .state{
        margin-top:50px;
    }

    /*present*/
    .present{
        padding:70px 20px;
    }
    .present_inner{
        padding:50px 20px;
    }

    /*voice*/
    .voice{
        padding:70px 0;
    }
    .voice_wrapper{
        margin-top:30px;
    }
    .voice_swiper{
        overflow: visible;
        padding:60px 0;
    }
    .voice_swiper .swiper-slide{
        position:relative;
        z-index:1;
    }
    /* 左右のスライドを中央の下に潜らせる */
    .voice_swiper .swiper-slide-prev{
        transform:translateX(80px) !important;
        z-index:1;
    }
    .voice_swiper .swiper-slide-next{
        transform:translateX(-80px) !important;
        z-index:1;
    }
    .voice_swiper .swiper-slide-active{
        z-index:10;
    }
    .voice_swiper .swiper-slide{
        aspect-ratio: unset;
    }
    .voice_card{
        width:auto;
        height:auto;
        transform:scale(.7);
    }
    .swiper-slide-active .voice_card{
        transform:scale(1);
    }
    .voice_card .voice_ttl{
        font-size:1.5em;
    }

    /*インタビュー*/
    .interview_inner{
        padding:100px 20px 70px;
    }

    /*メッセージ*/
    .message{
        padding:70px 20px;
    }
    .message_inner{
        padding:50px 20px;
    }
    .detail_btn2{
        margin:50px auto 0;
    }

    /*club*/
    .club{
        padding:70px 20px;
    }

    /*sns*/
    .sns_comment::before{
        top:-90px;
        left:-20px;
    }
    .sns_link ul li{
        max-width:180px;
    }
    .sns_link ul li a{
        padding:10px;
        gap:10px;
    }
    .sns_link ul li img{
        max-width:55px;
    }

    /*注意事項*/
    .note{
        padding-bottom:70px;
    }
    .note_list_wrapper{
        padding:30px 20px;
    }

    /*よくある質問*/
    .faq_q{
        padding:15px 20px;
    }
    .faq_a_inner{
        padding:0 20px 15px;
    }

    /*固定ボタン*/
    .fixed_area{
        width:100%;
        right:0;
        flex-direction: row;
        gap:0;
        align-items: flex-end;
        /*justify-content: space-between;*/
        justify-content: flex-end;
        padding:0 20px;
    }
}