﻿/* YouTube */
.video_cms{
	padding-bottom: 57.25%;
	height: 0;
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
/* YouTube */
.video_cms {padding-bottom: 56.25%;}
}
/*--------------ここまで--------------------*/

body{
    font-family: 'Zen Maru Gothic', sans-serif!important;
}
@media screen and (max-width: 768px){
    .font_2dw{
        font-size: calc(1rem + 2px);
    }
}

/*TOP*/
#wrap.top_page{
    background-color: #FFD4D5;
}
.more_box{
    gap:20px;
}
#contents1_2{
    background-image: url('./Dup/img/TOPbg1.jpg');
    background-size: contain;
    background-size: 100%;
    left: -20px;
}
#contents1_2 .d_flex{
    flex-direction: row-reverse;
}
#contents1_2 .con1 .box_img .no_box{
    right: auto;
    left: -100%;
}
#contents1_2 .con1 h2.box_title{
    padding-top: 60px;
}
#contents1_2 .con2 .box_img .no_box{
    left: auto;
    top: 60px;
    right: -50%;
}
#main .logo{
    display: none;
}

#contents1_2 .con1 .box_img{
    width: 10%;
}
#contents1_2 .con2 .box_img{
    width: 13.0%;
}
#door{
    width: 350px;
    z-index: -1;
    bottom: 180px;
    left: 410px;
}

#contents3{
    background-image: url('./Dup/img/TOPbg2.jpg');
    background-repeat: no-repeat;
    background-size: contain;
    left: -31px;
}
#contents3 .box_img img{
    object-fit: contain;
}
#contents3 .box .box_item{
    padding: 0 0 0 5vw;
}
#con3_box_item{
    z-index: 2;
}
#con3_box_item .font_2dw{
    font-size: 16px;
}
#contents3 figure .img2 p{
    font-weight: bold;
}
.box_wrap {
    background-image: url('./Dup/img/TOPbg3.jpg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    left: -250px;    
}
.modal_scroll .pd_b-100px{
    padding-bottom: 40px;
}
figure.modal_img.grid_6 {
    width: 27%!important;
}
figure .modal_txt_wrap.grid_6 {
    width: 65%!important;
}
#pop_wrap .flex_top-left{
    align-items: center;
}
@media screen and (max-width: 1100px){
    #contents1_2,#contents3,.box_wrap {
        background-image: none;
    }
}
@media screen and (max-width: 768px){
    .no_box .no{
        display: none;
    }
    .modal_scroll .flex_top-left{
        justify-content: center;
    }
    #contents1_2,#contents3{
        left: 0;
    }
    #contents1_2{
        padding: 0;
    }
    #contents1_2 .con1 .box_item{
        padding-top: 0;
    }
    #contents1_2 .con1 .box_img{
        width: 20%;
    }
    #contents1_2 .con2 .box_img{
        width: 30%;
    }
    #door{
        bottom: auto;
        left: 0;
        top: 267px;
    }
    #contents3 .box .box_img{
        width: 100%;
        height: 40vh;
    }
    #contents3 .box.flex_column_col{
        flex-direction: column-reverse;
    }
    #contents3 .over_hide img{
        content: url('./Dup/img/TOP09.png');
    }
    #contents3 span.img1 .over_hide img{
        content: url('./Dup/img/TOP07.png');
    }
    #contents3 .img_wrap{
        height: 65vh;
    }
    #contents3 .img_wrap .box_img .img2{
        left: auto;
        right: -80px;
        bottom: auto;
        top: 0;
    }
    
}
@media screen and (max-width: 667px){
    #main {
        height: 75vh;
    }
    #contents1_2 .con1{
        flex-direction: column-reverse;
    }
    #contents1_2 .con1 .box_img{
        width: 30%;
        margin: 0 auto;
    }
    #door{
        bottom: auto;
        left: 0;
        top: auto;
    }
    #contents1_2 .con2{
        margin-bottom: 80px;
    }
    #contents1_2 .con2 .box_img{
        margin: 0 auto;
    }
    #contents3 .box{
        margin-bottom: 80px;
    }
    #contents3 .img_wrap .box_img .img2 {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0;
        z-index: 3;
        width: 86%;
        margin: 0 auto;
        transform: translateX(0);
    }
    #contents3 .img_wrap .font_100per{
        font-size: 1rem;
        font-weight: 400;
    }
    #contents3 .img_wrap .box_img .img1 {
        width: 100%;
        top: 30%;
    }
}
/*TOP-cms*/
#top_cms:before{
    width: 105%;
    left: -5%;
}
#top_cms .cms_1-a .box_wrap {
    background-image: none;
}
#top_cms .box_wrap.flex_space-between{
    justify-content: flex-start;
    gap: 200px;
    padding-top: 40px;
}
@media screen and (max-width: 667px){
    #top_cms .box_wrap.flex_space-between{
        gap: 60px;
    }
    .top_cms_box .cms_title h2{
        font-size: calc(1rem + 20px);
    }
    #top_cms .cate_box{
        max-width: 100%;
    }
  #top_cms .cate_box iframe{
        width: 100%;
        max-width: 100%;
        /*  height: 56.25%;*/
    }  
    #top_cms:before{
        height: 15%;
    }
    
}
/*下層一般*/
.cate .box_wrap{
    background-image: none;
}
@media screen and (max-width: 1023px){
    .pager li:not(.prev):not(.next) {
        display: block;
    }
    .pager .flex_center-left {
        justify-content: space-around;
    }
    .page2 #cms_1-a ul li.grid_1 {
        width: 30%!important;
    }
}
@media screen and (max-width: 667px){
    .page_title h2{
        font-size: calc(1rem + 18px);
    }
    .pager .d_flex {
        display: block;
    }
    .page2 #cms_1-a ul li.grid_1 {
        width: 100%!important;
    }
    .pager li a{
        text-align: left;
    }
}
@media screen and (max-width: 375px){
    .page_title h2{
        font-size: calc(1rem + 8px);
    }
}
/*ライブアーカイブ*/
#cms_1-a ul.pager {
    justify-content: flex-start;
}
#cms_1-a ul li.grid_1{
    width: 15%!important;
}
.page2 .youtube_wrap{
    width: 100%;
}
@media screen and (max-width: 667px){
    #cms_1-a iframe{
        width: 100%;
    }
}
/*参加者の声・お知らせ*/
#cms_1-b .cate{
    margin-top: -150px;
    padding-top: 150px;
}
#cms_1-b .box_wrap{
    background-image: none;
}
@media screen and (max-width: 667px){
    #cms_1-b .cate_list .grid_4_sp {
        width: 100%!important;
    }
    #cms_1-b .pager li:not(.prev){
        display: list-item;
    }
}
/*会社情報*/
.page7 .box_wrap{
    background-image: none;
}
/*お問い合わせ*/
.telAndMail{
    justify-content: space-around;
}
@media screen and (max-width: 375px){
    #tel_contact .font_4up_sp{
        font-size: 1.0rem;
    }
}
/*プライバシーポリシー*/
.page9 .box_wrap{
    background-image: none;
}
/*footer*/
.top_page footer{
    padding-right: 300px;
}
footer.pageFooter .sns_link {
        background-image: url('./Dup/img/TOP07.jpg');
        background-size: cover;
        padding-bottom: 20px;
    }
footer.pageFooter .sns_link.flex_center-right{
    justify-content: center;
}
footer.pageFooter .sns_link li{
    background-color: rgba(0,0,0,0.0);
}
.Btbox{
    position: absolute;
    top: 0;
    right: 0;
    height: 100vh;
}
#reserveBt{
    height: 100%;
    background-image: url('./Dup/img/reserveBk.jpg');
    background-size: cover;
    padding: 40px;
    position: relative;
}

#reserveBt:hover{
    animation: buyHov 0.5s linear backwards;
}
footer .CONTACT{
    display: none;
}
@keyframes buyHov{
    0%{transform:translateY(0);}
    25%{transform:translateY(-10px);}
    50%{transform:translateX(0);}
    75%{transform:translateY(5px);}
    100%{transform:translateX(0);}
}

#reserveBt a{
    position: relative;
    top: 40%;
    font-size: 3.0rem;
    color: #fefefe;
    padding: 100% 0 100% 0;
}

#reserveBt a::before{
    content: "";
    display: block;
    width: 50%;
    border-bottom: solid 1px #fefefe;
    position: absolute;
    bottom: 36.7%;
}
#reserveBt a::after{
    content: "";
    display: block;
    width: 10%;
    transform: rotate(45deg);
    border-bottom: solid 1px #fefefe;
    position: absolute;
    bottom: 38%;
    right: 48%;
}
.top_page #copyright{
    z-index: 2;
}
@media screen and (max-width: 768px){
    footer{
        padding-right: 0;
    }
    #footer{
        margin-bottom: 40px;
    }
    .Btbox{
        width: 100%;
        top: auto;
        right: auto;
    }
    #reserveBt{
        padding:65px 0;
        height: auto;
        width: 100%;
        display: flex;
        justify-content: center;
    }
    #reserveBt a{
        padding: 0;
        text-align: center;
    }
    #reserveBt a br{
        display: none;
    }
    #reserveBt a::before,#reserveBt a::after{
        display: none;
    }
    .top_page footer{
        padding: 100px 0 220px 0;
    }
}
@media screen and (max-width: 667px){
    #reserveBt a{
        font-size: 1.4rem;
    }
}