@charset "UTF-8";
/* CSS Document */
/*--------------------
01.top
02.contact
02-01.confirm
02-02.done
--------------------*/

/*----------
01.top
----------*/
#top .main_visual .date.pc{
max-width: 246px;
width: 19%;
top: 59.5px;
right: 7.8%;
position: absolute;
}

#top .main_visual{
position: relative;
}

#top .main_visual .swiper-container.block{
display: block;
}

#top .main_visual .swiper-container{
display: none;
}

#top .main_visual .mv_top{
padding-top: 60px;
background: center top/cover no-repeat url(../img/top/mv_top.png);
margin-bottom: -105px;
}

#top .main_visual .mv_top .biz{
font-weight: 700;
font-size: 80px;
letter-spacing: 0.1em;
line-height: 80px;
text-align: center;
color: #22355F;
padding-bottom: 163px;
}

#top .main_visual .rebon{
margin: 0 auto 18.1px;
max-width: 392px;
}

#top .main_visual .mv_top .text{
font-size: 25px;
font-weight: 600;
line-height: 36px;
color: #22355F;
text-align: center;
margin-bottom: 20px;
}

#top .main_visual .mv_top .text.ani{
animation-name: yureru;
animation-duration: 0.5s;
animation-iteration-count:infinite;
animation:1.5s ease-in 1s infinite alternate forwards running yureru;
}

@keyframes yureru{
0%{
transform: rotate(2deg);
}
25%{
transform: rotate(-2deg);
}
50%{
transform: rotate(2deg);
}
75%{
transform: rotate(-2deg);
}
100%{
transform: rotate(2deg);
}
}

#top .main_visual .mv_top .text::before,#top .main_visual .mv_top .text::after{
content: "";
display: inline-block;
width: 29.4px;
height: 32.6px;
background: center/contain no-repeat url(../common/img/fukidashi.png);
position: relative;
}

#top .main_visual .mv_top .text::before{
margin-right: 5px;
transform: scale(-1,1);
}

#top .main_visual .mv_top .text::after{
margin-left: 5px;
}

#top .main_visual .main_bottom::before{
content: "";
display: inline-block;
width: 46.97px;
height: 46.97px;
background: center/contain no-repeat url(../img/top/kakeru.png);
position: absolute;
top: -23.485px;
left: 50%;
transform: translateX(-50%);
}

#top .main_visual .main_bottom{
padding: 67px 0 40px;
background: center top/cover no-repeat url(../img/top/mv_bottom.png);
position: relative;
}

#top .main_visual .main_bottom h1{
max-width: 752px;
/* margin: 0 auto 80px; */
margin: 0 auto 40px;
}

#top .main_visual .main_bottom h1 .with{
width: 74px;
margin-right: 6px;
}

#top .main_visual .main_bottom h1 .thusyaku{
font-weight: 700;
line-height: 41px;
font-size: 30px;
letter-spacing: 0.05em;
color: #DACE9B;
display: flex;
align-items: center;
margin-left: auto;
justify-content: flex-end;
position: relative;
}

#top .main_visual .main_bottom h1 .thusyaku::before{
content: "";
display: inline-block;
width: 65.43px;
height: 23.86px;
background: center/contain no-repeat url(../img/top/arrow.png);
margin-right: 19.6px;
}

#top .main_visual .main_bottom .text_add{
    color: #fff;
    margin-bottom: 40px;
    font-size: 18px;
}

#top .main_visual .main_bottom .text_add span{
    display: block;
    line-height: 1.6;
text-align: center;
font-size: 24px;
font-weight: 700;
}

#top .main_visual .main_bottom .text_add ul{
    max-width: 235px;
    margin: 0 auto;
    line-height: 1.8;
}

#top .main_visual .main_bottom .text_add .sub{
    display: block;
    font-size: 16px;
    text-align: center;
    margin-top: 10px;
}

#top .main_visual .swiper-slide{
border-radius: 10px;
overflow: hidden;
}

#top .main_visual .swiper-horizontal{
max-width: 1280px;
margin: 0 auto;
overflow: hidden;
}

#top .cnt_area01{
padding: 100px 0 23.4px;
position: relative;
}

#top .cnt_area01 p{
line-height: 28.8px;
text-align: center;
margin-bottom: 49.6px;
}

#top .cnt_area01 .video_wrap_big{
max-width: 800px;
margin: 0 auto 100px;
}

#top .cnt_area01 .video_wrap {

width: 100%;
padding-top: 56.25%; 
position: relative;
}

#top .cnt_area01 .video_wrap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#top .cnt_area01 .bg_yellow{
padding: 80.8px 0 24.7px;
background: center top/cover no-repeat url(../img/top/area01_bg.jpg);
margin-bottom: 55.6px;
border-radius: 20px;
}

#top .cnt_area01 h3{
font-size: 25px;
font-weight: 700;
letter-spacing: 0.1em;
line-height: 25px;
text-align: center;
margin-bottom: 66.3px;
color: #22355F;
display: flex;
align-items: center;
justify-content: center;
animation-name: yureru;
animation-duration: 0.5s;
animation-iteration-count:infinite;
animation:1.5s ease-in 1s infinite alternate forwards running yureru;
}

#top .cnt_area01 h3::before,#top .cnt_area01 h3::after{
content: "";
display: inline-block;
width: 29.4px;
height: 32.6px;
background: center/contain no-repeat url(../common/img/fukidashi.png);
position: relative;
}

#top .cnt_area01 h3::before{
margin-right: 15px;
transform: scale(-1,1);
}

#top .cnt_area01 h3::after{
margin-left: 15px;
}

#top .cnt_area01 ul{
max-width: 900px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 92%;
}

#top .cnt_area01 li{
position: relative;
width: 31.1%;

margin-bottom: 55.3px;

}

#top .cnt_area01 li .top{
background-color: #fff;
padding: 30px 0 30.9px;
border-bottom: 3px solid #DACE9B;
border-radius: 10px 10px 0 0;
}

#top .cnt_area01 li img{
max-width: 100px;
margin: 0 auto;
}

#top .cnt_area01 li .bottom{
background-color: #22355F;
padding: 15px 30px;
line-height: 26px;
align-items: center;
text-align: center;
display: flex;
justify-content: center;
font-weight: 500;
color: #fff;
min-height: 80px;
border-radius: 0 0 10px 10px;
}

#top .cnt_area01 li::before{
content: "";
display: inline-block;
width: 68px;
height: 80px;
position: absolute;
top: -46px;
left: 20px;
}

#top .cnt_area01 li:nth-of-type(1)::before{
background: center/contain no-repeat url(../img/top/01.png);
}


#top .cnt_area01 li:nth-of-type(2)::before{
background: center/contain no-repeat url(../img/top/02.png);
}

#top .cnt_area01 li:nth-of-type(3)::before{
background: center/contain no-repeat url(../img/top/03.png);
}

#top .cnt_area01 li:nth-of-type(4)::before{
background: center/contain no-repeat url(../img/top/04.png);
}

#top .cnt_area01 li:nth-of-type(5)::before{
background: center/contain no-repeat url(../img/top/05.png);
}

#top .cnt_area01 li:nth-of-type(6)::before{
background: center/contain no-repeat url(../img/top/06.png);
}

#top .cnt_area01 .swiper-container{
max-width: 1280px;
margin: 0 auto;
overflow: hidden;
}

#top .cnt_area01 .swiper-slide01{
margin-bottom: 29.5px;
max-width: 256.58px;
}

#top .cnt_area01 .swiper-slide02{
margin-bottom: 85.1px;
max-width: 201px;
}

#top .cnt_area01 .swiper-slide03{
margin-bottom: 53.1px;
max-width: 249.66px;
}

#top .cnt_area01 .swiper-slide04{
margin-bottom: 83.7px;
max-width: 262.67px;
}

#top .cnt_area01 .swiper-slide05{
max-width: 275px;
}



#top .cnt_area01 .swiper-slide06{
    max-width: 195px;
    margin-bottom: 12.4px;
    }

    #top .cnt_area01 .swiper-slide07{
        max-width: 195px;
        margin-bottom: 50px;
        }

#top .cnt_area01 .swiper-slide08{
    max-width: 95px;
    margin-bottom: 19.9px;
    }

#top .cnt_area01 .swiper-slide09{
    max-width: 110px;
    }

#top .cnt_area01 .swiper-slide10{
    max-width: 200px;
    margin-bottom: 94px;
    }

    #top .cnt_area01 .swiper-slide11{
        max-width: 150px;
        margin-bottom: 5.9px;
        }

        #top .cnt_area01 .swiper-slide12{
            max-width: 200px;
            margin-bottom: 25.8px;
            }

            #top .cnt_area01 .swiper-slide13{
                max-width: 150px;
                }

#top .cnt_area01 .swiper-wrapper{
align-items: flex-end;
}

#top .cnt_area01 .crowd01{
width: 283.89px;
top: 749.5px;
left: -78.9px;
position: absolute;
}

#top .cnt_area01 .crowd02{
width: 283.89px;
top: 517px;
right: -97.9px;
position: absolute;
}

#top .cnt_area02{
padding: 100px 0 80.6px;
background: center top/cover no-repeat url(../img/top/area02_bg.png);
}

#top .cnt_area02 .cnt_g{
max-width: 910px;
background-color: #fff;
border-radius: 20px;
padding: 60px 120px;
box-shadow: 10px 10px 0 #22355F;
margin: 0 auto;
position: relative;
}

#top .cnt_area02 .cnt_g::before,#top .cnt_area02 .cnt_g::after{
position: absolute;
content: "";
display: inline-block;
}

#top .cnt_area02 .cnt_g::before{

width: 118.18px;
height: 131.29px;
background: center/contain no-repeat url(../img/top/area02_deco01.png);
top: 23.2px;
left: 23px;
}

#top .cnt_area02 .cnt_g::after{
width: 206.6px;
height: 96.05px;
background: center/contain no-repeat url(../img/top/area02_deco02.png);
right: 11.5px;
bottom: 20px;
}

#top .cnt_area02 .cnt_g dt{
font-size: 18px;
font-weight: 600;
line-height: 26px;
color: #22355F;
margin-bottom: 10px;
}

#top .cnt_area02 .cnt_g dt::before{
content: "";
display: inline-block;
width: 15px;
height: 15px;
background: center/contain no-repeat url(../img/top/dt_deco.png);
margin-right: 10px;
}

#top .cnt_area02 .cnt_g dd{
line-height: 28.8px;
padding: 0 0 30px 25px;
border-bottom: 2px dashed #DACE9B;
margin-bottom: 30px;
}

#top .cnt_area02 .cnt_g dd .btn_type01{
margin-top: 22px;
}


#top .cnt_area02 .cnt_g dd:last-of-type{
border-bottom: none;
margin-bottom: 0;
}

#top .cnt_area03{
padding: 101.3px 0 198px;
background: center top/cover no-repeat url(../img/top/area03_bg.jpg);
}

#top .cnt_area03 .cnt_g{
display: flex;
flex-wrap: wrap;
position: relative;
justify-content: space-between;
margin-bottom: 35.1px;
}

#top .cnt_area03 .cnt_g .cnt_box{
width: 23.14%;
margin-bottom: 24.9px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
border-radius: 10px;
overflow: hidden;
}

#top .cnt_area03 .cnt_g .cnt_box .cnt_img{
overflow: hidden; 
border-bottom: 3px solid #987529; 
}

#top .cnt_area03 .cnt_g .cnt_box .name{
font-weight: 500;
line-height: 24px;
color: #22355F;
text-align: center;
padding: 29px 0;
background-color: #DACE9B;
}

#top .cnt_area03 .cnt_g .cnt_box.coming .cnt_img{
background-color: #4E5D7F;
padding: 111px 0 28px;
border-color: #394154; 
}

#top .cnt_area03 .cnt_g .cnt_box.coming img{
max-width: 135px;
margin: 0 auto;
}

#top .cnt_area03 .cnt_g .cnt_box.coming .name{
background-color: #46536B;
min-height: 80px;
}

#top .cnt_area03 .cnt_g::before{
content: "";
display: inline-block;
width: 23.14%;
order: 1;
}

#top .cnt_area03 .cnt_g::after{
content: "";
display: inline-block;
width: 23.14%;
}

#top .cnt_area03 .btn_type01{
margin: 0 auto;
}

#top .cnt_area04{
padding: 100px 0 100.5px;
background: center top/cover no-repeat url(../img/top/area04_bg.png);
margin-top: -100px;
}

#top .cnt_area04 h2{
text-align: center;
font-size: 25px;
line-height: 1;
letter-spacing: 0.1em;
font-weight: 700;
padding: 0 0 48.42px;
color: #fff;
position: relative;
margin-bottom: 40px;
}

#top .cnt_area04 h2::after{
content: "";
display: inline-block;
width: 151.23px;
height: 28.42px;
background: center/contain no-repeat url(../img/top/ribon02.png);
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
}

#top .cnt_area04 .cnt_box{
max-width: 909px;
margin: 0 auto;
padding: 70px 0;
border-radius: 20px;
background: #fff;
box-shadow: 9px 9px 0 #DACE9B;
}

#top .cnt_area04 .cnt_box p{
line-height: 28.8px;
text-align: center;
margin-bottom: 40px;
}

#top .cnt_area04 .cnt_box .btn_type01{
margin: 0 auto;
}

#top .contact_box{
padding-bottom: 10px;
position: relative;
text-align: center;
}

#top .contact_box .contents_in{
padding: 100px 0 80px;
}


#top .contact_box::before{
content: "";
display: inline-block;
width: 100%;
height: 14px;
position: absolute;
bottom: 10px;
left: 0;
background: center/contain repeat-x url(../common/img/contact_bottom.png);
}

#top .contact_box .name{
font-size: 18px;
line-height: 26px;
font-weight: 500;
margin-bottom: 19.2px;
}

#top .contact_box .info{
line-height: 28.8px;
margin-bottom: 9.2px;
}

#top .contact_box .info02{
font-size: 14px;
line-height: 20px;
}

/* 公開後 */
#top #detail{
background-image: url(../img/top/area04_bg_after.png);
}

#top #detail .cnt_box ul{
max-width: 677px;
margin: 0 auto 30.8px;
}

#top #detail .cnt_box li{
line-height: 28.8px;
text-indent: -31px;
padding-left: 31px;
}

#top #detail .cnt_box li::before{
content: "";
display: inline-block;
width: 21px;
height: 21px;
margin-right: 10px;
}

#top #detail .cnt_box li:first-of-type::before{
background: center/contain no-repeat url(../img/top/ichi.png);
}

#top #detail .cnt_box li:nth-of-type(2)::before{
background: center/contain no-repeat url(../img/top/ni.png);
}

#top #detail .cnt_box li:nth-of-type(3)::before{
background: center/contain no-repeat url(../img/top/san.png);
}

#top #detail .cnt_box li:not(:last-of-type){
margin-bottom: 20px;
}

#top #detail .cnt_box li span{
display: block;
font-size: 14px;
padding-left: 31px;
}

#top #detail .video_wrap_big{
max-width: 540px;
margin: 0 auto 40px;
}

#top #detail .video_wrap {
width: 100%;
padding-top: 56.25%; 
position: relative;
}

#top #detail .video_wrap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#top #detail .video_wrap_big + .flex_box{
max-width: 540px;
margin: 0 auto;
}

#top #detail .cnt_box .btn_type01{
width: 48%;
}

#top #detail .cnt_box .btn_type01 a{
justify-content: center;
padding-left: 0;
}

#top #detail .cnt_box .btn_type01.nyujo a{
background-color: #987529;
}

#top #detail .cnt_box .btn_type01.form a::before{
position: absolute;
left: 30px;
}

#top #detail .cnt_box .btn_type01.nyujo a::before{
background-image: url(../common/img/nyujo.png);
width: 23.21px;
height: 23.21px
}

#top #detail .cnt_box .ani{
font-weight: 700;
text-align: center;
letter-spacing: 0.1em;
font-size: 14px;
margin: 0 auto 17px;
color: #22355F;
animation: 1.5s ease-in 1s infinite alternate forwards running yureru;
}

#top #detail .cnt_box .ani::before,#top #detail .cnt_box .ani::after{
content: "";
display: inline-block;
width: 14.52px;
height: 16.32px;
background: center/contain no-repeat url(../common/img/fukidashi.png);
position: relative;
}

#top #detail .cnt_box .ani::before{
margin-right: 15px;
transform: scale(-1,1);
}

#top #detail .cnt_box .ani::after{
margin-left: 15px;
}

/*----------
02.contact
----------*/
.contact_form .cnt_area01{
padding: 100px 0 104px;
background: center top/cover no-repeat url(../img/contact/contact_bg.jpg);
position: relative;
}

.contact_form .cnt_area01::after{
content: "";
display: inline-block;
width: 100%;
height: 14px;
position: absolute;
bottom: 10px;
left: 0;
background: center/contain repeat-x url(../common/img/contact_bottom.png);
}

.contact_form .cnt_area01 .contents_in{
max-width: 910px;
margin: 0 auto;
background-color: #fff;
border-radius: 20px;
box-shadow: 10px 10px 0 #22355F;
padding: 60px 0 70px;
}

.contact_form .cnt_area01 .contents_in ul{
max-width: 614px;
margin: 0 auto 60px;
display: flex;
justify-content: space-between;
position: relative;
z-index: 1;
}

.contact_form .cnt_area01 .contents_in ul::after{
content: "";
width: 537px;
height: 2px;
background-image : linear-gradient(to right, #DACE9B, #DACE9B 5px, transparent 5px, transparent 5px);/* 幅2の線を作る */
background-size: 10px 2px;/* グラデーションの幅・高さを指定 */
background-position: left bottom;/* 背景の開始位置を指定 */
background-repeat: repeat-x; /* 横向きにのみ繰り返す */
position: absolute;
left: 50%;
transform: translateX(-50%);
top: 27px;
z-index: -1;
}

.contact_form .cnt_area01 .contents_in ul img{
width: 50px;
}

.contact_form .cnt_area01 .contents_in ul span{
display: block;
font-weight: 600;
line-height: 24px;
text-align: center;
color: #22355F;
}

.contact_form .cnt_area01 h1{
color: #22355F;
padding-bottom: 48.42px;
font-size: 25px;
letter-spacing: 0.1em;
font-weight: 700;
text-align: center;
margin-bottom: 30px;
position: relative;
}

.contact_form .cnt_area01 h1::after{
content: "";
display: inline-block;
width: 151.23px;
height: 28.42px;
background: center/contain no-repeat url(../img/contact/ribon.png);
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
}

.contact_form .cnt_area01 h1 + p{
line-height: 24px;
text-align: center;
margin-bottom: 40.6px;
color: #22355F;
}

.contact_form .cnt_area01 form{
max-width: 613px;
margin: 0 auto;
}

.contact_form .cnt_area01 table{
width: 100%;
}

.contact_form .cnt_area01 input[type="text"],.contact_form .cnt_area01 input[type="tel"]{
appearance: none;
border: none;
border-radius: 5px;
font-family: 'Noto Sans JP', sans-serif;
line-height: 24px;
padding: 5.5px 20px;
background-color: #EDEDED;
width: 100%;
}


.contact_form .cnt_area01 input[type="text"]::placeholder,.contact_form .cnt_area01 input[type="tel"]::placeholder{
color: #A0A0A0;
}

.contact_form .cnt_area01 form th{
width: 43%;
font-weight: 600;
line-height: 26px;
text-align: left;
padding-bottom: 45px;
}

.contact_form .cnt_area01 form th::before{
content: "";
display: inline-block;
width: 15px;
height: 15px;
background: center/contain no-repeat url(../common/img/dt_deco.png);
margin-right: 10px;
}

.contact_form .cnt_area01 form td{
width: 57%;
padding-bottom: 45px;
}

.contact_form .cnt_area01 form .agree{
display: flex;

}

.contact_form .cnt_area01 form .agree th{
width: 0%;
}

.contact_form .cnt_area01 form .agree th::before{
content: none;
}

.contact_form .cnt_area01 form .agree td{
width: 100%;
margin: 0 auto;
}

.contact_form .cnt_area01 .btn_type01{
margin: 0 auto;
position: relative;
}

.contact_form .cnt_area01 .btn_type01::after{
content: "";
display: inline-block;
width: 7px;
height: 7px;
border-right: 2px solid #fff;
border-bottom: 2px solid #fff;
position: absolute;
top: 50%;
right: 17.7px;
transform:translateY(-50%) rotate(-45deg);
transition: 0.4s;
}

.contact_form .cnt_area01 .btn_type01:hover:after{
right: 10px;
transition: 0.4s;
}

.contact_form .cnt_area01 input[type="submit"],.contact_form .cnt_area01 input[type="button"]{
appearance: none;
cursor: pointer;
width: 100%;
margin: 0 auto;
font-family: 'Noto Sans JP', sans-serif;
line-height: 24px;
border: none;
border-radius: 23px;
font-weight: 500;
color: #fff;
padding: 9.6px 0 11.4px;
background-color: #C24332;
}

.contact_form .cnt_area01 input[type="submit"]:disabled{
opacity: 0.7;
}

.contact_form .cnt_area01 .privacy{
font-size: 18px;
font-weight: 600;
color: #22355F;
display: flex;
align-items: center;
justify-content: center;

max-width: 320px;
margin: 0 auto 60px;
}

.contact_form .cnt_area01 .privacy label::before{
content: "";
display: inline-block;
width: 30px;
height: 30px;
border-radius: 5px;
background-color: #EDEDED;
margin-right: 20px;
}

.contact_form .cnt_area01 .privacy label{
position: relative;
display: flex;
align-items: center;
}


.contact_form .cnt_area01 input[type="checkbox"]{
display: none;
}

.contact_form .cnt_area01 .privacy input[type="checkbox"]:checked + label::after{
content: "";
display: inline-block;
width: 15px;
height: 15px;
background-color: #22355F;
position: absolute;
left: 7.5px;
top: 7.5px;
}

.contact_form .cnt_area01 select{
appearance: none;
border: none;
border-radius: 5px;
font-family: 'Noto Sans JP', sans-serif;
line-height: 24px;
padding: 5.5px 20px;
background-color: #EDEDED;
width: 100%;
}

.contact_form .cnt_area01 select::placeholder{
color: #A0A0A0;
}
/*----------
02-01.confirm
----------*/
#confirm .cnt_area01{
padding-bottom: 189px;
}

#confirm .cnt_area01 form td{
padding: 5.5px 20px;
}

#confirm .btn_flex {
max-width: 560px;
margin: 15px auto 0;
flex-direction: row-reverse;
}

#confirm .cnt_area01 .btn_type01{
width: 46.42%;
}

#confirm .back input{
background-color: #22355F;
}

#confirm .cnt_area01 .back::after {
left: 17.7px;
transform: translateY(-50%) rotate(135deg);
}

#confirm .cnt_area01 .back:hover:after{
left: 10px;
}

#confirm.contact_form h4{
color: #22355F;
font-weight: 700;
margin-bottom: 20px;
line-height: 1.8;
}

#confirm.contact_form .error_messe{
max-width: 614px;
margin: 0 auto;
padding: 0 20px;
text-align: left;
color: #22355F;
line-height: 1.8;
}
/*----------
02-02.done
----------*/
#done.contact_form .cnt_area01{
padding-bottom: 134px;
}

#done.contact_form .cnt_area01 .contents_in ul{
margin-bottom: 60px;
}

#done h2{
font-size: 30px;
line-height: 30px;
font-weight: 700;
letter-spacing: 0.1em;
color: #22355F;
margin-bottom: 40px;
text-align: center;
}

#done h2 + p{
text-align: center;
color: #22355F;
margin-bottom: 60px;
}

