@charset "utf-8";
/* CSS Document */


body{
 background-image: url("../img/bk.webp");
 background-position: center;
 background-repeat: repeat-y;
 background-size: 100%;
}


.header_box{
 position:relative;
 display:flex;
 flex-wrap: wrap;
 justify-content:space-between;
 background-color: #172441;
 padding:.15rem 2rem;
}

.header_logobox{
 display:flex;
 flex-wrap: wrap;
 margin: auto 0;
}

.header_logo{max-width:160px;}
.header_times{margin:auto .3rem;color:#fff;}
.header_logo_os{max-width:100px;}

.header_apply {
 margin:auto 0;
 padding: .2rem 0;
}
.header_apply a{
 display:flex;
 flex-wrap: wrap;
 color:#fff;
 background-color:#172441;
 font-weight:900;
 letter-spacing:-0.05em;
 border:2px solid #fff;
 border-radius:5px;
 transition: .2s;
}
.header_apply a span{
 display: flex;
 flex-wrap: wrap;
 align-content: center;
 transition: .2s;
}
.header_apply a span:nth-child(1){padding:.3rem .5rem;}
.header_apply a span:nth-child(2){
 line-height:0;
 background-color:#fff;
 padding:0 .4rem;
}
.header_apply a svg{
 width:3rem;
 fill:#172441;
}

.svg-fish {
  display: inline-block;
  transform-origin: center center;
  animation: floatFish 2.5s ease-in-out infinite;
}

@keyframes floatFish {
  0%, 100% {
    transform: translateY(.2rem) rotate(0deg);
  }
  50% {
    transform: translateY(-.2rem) rotate(-1deg);
  }
}

@keyframes purupuru {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
  20% {
    transform: translate(-2px, 1px) rotate(-1.5deg) scale(1.02);
  }
  40% {
    transform: translate(2px, -1px) rotate(1.5deg) scale(0.98);
  }
  60% {
    transform: translate(-1px, 1px) rotate(-1deg) scale(1.01);
  }
  80% {
    transform: translate(1px, -1px) rotate(1deg) scale(0.99);
  }
}

@media screen and (min-width:768px) {
 .header_apply a:hover span:nth-child(1){background-color:#fff;color:#172441;}
 .header_apply a:hover svg{animation: purupuru 0.5s ease-in-out infinite;}
}



/* ---------------------------------------------------------
■ MV
--------------------------------------------------------- */

.mv_bk{
 background-image:url("../img/mv_bk.webp");
 background-position:center;
 background-repeat:no-repeat;
 background-size: cover;
}

.mv_frame{
 position:relative;
 overflow-x: hidden;
}

.mv_frame::before,.mv_frame::after{
 content:"";
 display:block;
 position:absolute;
 bottom:0;
 background-repeat:no-repeat;
 background-size:100%;
 height:50%;
}

.mv_frame::before{
 left:0;
 background-image:url("../img/mv_wave_l.webp");
 background-position:right bottom;
 width:30%;
}

.mv_frame::after{
 right:-10%;
 background-image:url("../img/mv_wave_r.webp");
 background-position:left bottom;
 width:37%;
}

.mv_img{
 margin:auto;
 width:80%;
 line-height:0;
}



/* ---------------------------------------------------------
■ 詳細
--------------------------------------------------------- */

.detail_box{
 background-color:#172441;
 padding:2.7rem 2rem 3rem;
}

.detail_wrap{
 margin:auto;
 display:flex;
 flex-wrap:wrap;
 gap:3rem;
 max-width:1140px;
 color:#fff;
}

.detail_inner{
 width:calc((100% - 3rem)/ 2);
}


.detail_inner dl{
 display:flex;
 flex-wrap:wrap;
 font-size:1.5rem;
 gap:1rem;
}
.detail_inner dt{
 display:flex;
 flex-wrap:wrap;
 border:2px solid #fff;
 width:6em;
 font-weight:700;
 letter-spacing:.1em;
 padding:.75rem 0 .75rem .1em;
}
.detail_inner dt span{
 margin: auto;
 display: block;
}

.detail_inner dd{
 display:flex;
 flex-wrap:wrap;
 width:calc(100% - 6em - 1rem);
 text-align:left;
 line-height:1.4em;
}
.detail_inner dd > span,.detail_inner dd time{display:block;}

.detail_inner dl.dete dd{position:relative;padding:1.4rem 0 1rem;}
.detail_inner dl.dete dd::after{
 content:"";position:absolute;display:block;
 top:.8rem;
 right:0;
 width:50%;
 height:auto;
 aspect-ratio:25 / 4;
 background-image: url("../img/medetai.webp");
 background-repeat: no-repeat;
 background-size: contain;
 background-position: center;
 transform: rotate(5deg);
}

.detail_inner dl.dete dd .year{width:100%;font-size:72%;}
.detail_inner dl.dete dd time{width:100%;font-size:140%;font-weight:800;margin:-.75rem 0 .75rem;}
.detail_inner dl.dete dd time .num{font-size:160%;}
.detail_inner dl.dete dd .open{width:50%;font-size:120%;font-weight:800;}
.detail_inner dl.dete dd .sub{width:50%;font-size:70%;font-weight:600;line-height:1.2em;margin:auto;}

.detail_inner dl.fee{padding-bottom:.9rem;}
.detail_inner dl.fee dd{gap:.5rem;}
.detail_inner dl.fee dd span{margin:auto 0;}
.detail_inner dl.fee dd span:nth-child(1){font-size:90%;}
.detail_inner dl.fee dd span:nth-child(2){font-size:140%;font-weight:800;}
.detail_inner dl.fee dd span:nth-child(3){margin-bottom:.75rem;font-size:70%;}

.detail_inner dl.venue dd{gap:0 .5rem;}
.detail_inner dl.venue dd span:nth-child(1){font-size:180%;font-weight:800;margin:.2rem 0 -.2rem;}
.detail_inner dl.venue dd span:nth-child(2){font-size:70%;font-weight:600;line-height:1.2em;}
.detail_inner dl.venue dd span:nth-child(3){width:100%;font-size:60%;}

.detail_apply{
 display:none;
 padding:1.6rem 0 0;
 font-size:min(20px,2rem);
}

.detail_apply a{
 margin: auto;
 width:fit-content;
 display:flex;
 flex-wrap: wrap;
 color:#FFDE00;
 font-weight:900;
 letter-spacing:-0.05em;
 border:2px solid #FFDE00;
 border-radius:5px;
 filter: drop-shadow(0 0 2px rgba(0,0,0,.8));
}
.detail_apply a span{
 display: flex;
 flex-wrap: wrap;
 align-content: center;
 transition: .2s;
}
.detail_apply a span:nth-child(1){padding:.3em 1em;}
.detail_apply a span:nth-child(2){
 line-height:0;
 background-color:#FFDE00;
 padding:0 .4em;
}
.detail_apply a svg{
 width:3em;
 fill:#172441;
}


/* ---------------------------------------------------------
■ とは
--------------------------------------------------------- */

.what_area{
 background-image: url("../img/bk02.webp");
 background-repeat: repeat-y;
 background-position: center;
 background-size: 100%;
}
.what_box{
 background-color:rgba(255,255,255,.3);
}

.what_bk{
 position:relative;
}

.what_bk::before,.what_bk::after{
 content:"";
 display:block;
 position:absolute;
 bottom:0;
 background-repeat:no-repeat;
 background-size:100%;
 height:200%;
}

.what_bk::before{
 left:0;
 background-image:url("../img/frame_wave_l.webp");
 background-position:right bottom;
 width:min(220px,18%);
}
.what_bk::after{
 right:0;
 background-image:url("../img/frame_wave_r.webp");
 background-position:left bottom;
 width:min(350px,28%);
}

.what_main{padding:4.5rem 2rem}

.what_main h2{
 font-size:3.5rem;
 font-weight:900;
 letter-spacing:-.05em;
 padding-bottom:1rem;
}
.what_main h2 span:nth-child(2){font-size:75%;}

.what_text p{
 font-size:1.25rem;
 font-weight:700;
 padding-bottom:2rem;
}

.what_text p span{background:linear-gradient(to bottom,rgba(255,255,255,0) 50%,rgba(255,255,0,.5) 50%);}




/* ---------------------------------------------------------
■ 温泉シャーク
--------------------------------------------------------- */

.movie_bk{
 position:relative;
 padding:4rem 7%;
}

.movie_bk::before,.movie_bk::after{
 content:"";
 display:block;
 position:absolute;
 top:0;
 background-repeat:repeat;
 background-size:75%;
 background-image:url("../img/bk_wave.webp");
 background-position:center;
 width:5%;
 height:100%;
}
.movie_bk::before{left:0;}
.movie_bk::after{right:0;}


.movie_main{
 margin: auto;
 max-width:1140px;
}

.movie_h2box{
 position:relative;
 margin: auto;
}
.movie_h2box::after{
 content:"";
 display:block;
 position:absolute;
 right:2%;
 bottom:0;
 background-repeat:no-repeat;
 background-size:100%;
 background-image:url("../img/os.webp");
 background-position:center bottom;
 width:23%;
 height:auto;
 aspect-ratio: 18 / 25;
}
.movie_h2box h2{
 margin: auto;
 width:50%;
}

.movie_contents_text{
 margin: auto;
 max-width:900px;
 padding:2rem 0 0;
}

.movie_contents_text h3{
 font-size:2rem;
 font-weight:800;
 padding-bottom:2rem;
}

.movie_contents_text p{
 text-align:left;
 font-weight:600;
 padding-bottom:2.25rem;
}

.movie_contents_text p.attention{
 text-align:center;
 font-size:1.3rem;
 font-weight:700;
}
.movie_contents_text p.h3sub{
 text-align:center;
}
.movie_contents_text p.h3sub span{display: block;}
.movie_contents_text p.h3sub span:nth-child(1){
 font-size:2rem;
 font-weight:900;
 transform: skewX(-9deg);
}

.movie_contents_text h3.os2{
 margin:auto;
 max-width:600px;
 padding-bottom:0;
}

.movie_contents_text .youtube{
 margin: auto;
 max-width:800px;
 padding-bottom:1rem;
}

.movie_contents_text .youtubesub p{
 margin: auto;
 max-width:800px;
 padding-bottom:1.1rem;
}



.movie_related{padding:5rem 0 5rem;}
.movie_related h3{padding-bottom:0;line-height:1.2em;}
.movie_related p{padding-bottom:1.6rem;}

.movie_related_list{
 display:flex;
 flex-wrap:wrap;
 gap:1.5rem;
}
.movie_related_list a{
 position:relative;
 display:flex;
 flex-wrap: wrap;
 width:calc((100% - 1.5rem)/ 2);
 filter: drop-shadow(0 0 5px rgba(0,0,0,.45));
 transition: .2s;
}

.movie_related_list a img{
 border-radius: 10px 10px 0 0;
 transition: .2s;
}
.movie_related_list a h4{
 position:relative;
 width:100%;
 color:#fff;
 background-color:#172441;
 font-size:1.2rem;
 font-weight: 700;
 letter-spacing:.05rem;
 padding:.3rem 0;
 border-radius:0 0 10px 10px;
 transition: .2s;
}

.movie_related_list a h4::after{
 content: "";
 position: absolute;
 display: block;
 width: .6em;
 height: .8em;
 top: 50%;
 transform: translateY(-50%);
 right: 2rem;
 background-color: #fff;
 clip-path: polygon(0 0, 100% 50%, 0 100%);
 transition: .2s;
}

@media screen and (min-width:768px) {
 .movie_related_list a:hover{filter: drop-shadow(0 0 5px rgba(0,0,0,0));}
 .movie_related_list a:hover img{border-radius:0;}
 .movie_related_list a:hover h4{border-radius:0;}
 .movie_related_list a:hover h4::after{right:1rem;}
 
}



/* ---------------------------------------------------------
■ 制作秘話
--------------------------------------------------------- */


.history_main{
 background-color:#951414;
}

.history_main_bk{
 position: relative;
 background-repeat:no-repeat;
 background-size:100%;
 background-image:url("../img/bottom_wave.webp");
 background-position:center bottom;
 padding:8rem 3rem 9vw;
 overflow: hidden;
}

.history_main_bk::before,.history_main_bk::after{
 content:"";
 display:block;
 position:absolute;
 background-repeat:no-repeat;
 background-size:100%;
}
.history_main_bk::before{
 width:min(400px,30%);
 height:100%;
 top:0;
 left:0;
 background-image:url("../img/intro_splash_l.webp");
}

.history_main_bk::after{
 width:min(200px,15%);
 height:100%;
 top:6vw;
 right:0;
 background-image:url("../img/intro_splash_r.webp");
}

.history_main_textwrap{
 position:relative;
 margin: auto;
 padding:0 3rem;
 max-width:1140px;
 z-index:5;
}
.history_main_textwrap::after{
 content:"";
 display:block;
 position:absolute;
 bottom:-9vw;
 right:0;
 background-repeat:no-repeat;
 background-size:100%;
 background-image:url("../img/history_morito.webp");
 background-position:center bottom;
 width:20rem;
 height:auto;
 aspect-ratio: 3 / 5;
}

.history_main_textbox{
 background-color: #f9f3ed;
 text-align:left;
 padding:2.5rem 18rem 2rem 4rem;
 border-radius:1.5rem;
 filter: drop-shadow(0 0 .6rem rgba(0,0,0,.5));
}
.history_main_textbox h2{
 font-size:2rem;
 font-weight:800;
 padding-bottom:1.4rem;
 margin-left:-.5em;
}
.history_main_textbox p{
 font-weight:600;
 padding-bottom:1.4rem;
}

.history_slider{
 display: flex;
 align-items: center;
 overflow: hidden;
}
.history_slider_imgline{
 display: flex;
 width: min-content;
 animation: 80s linear infinite sliderAnimation;
}

.history_slider_imgline div{
 width:260px;
 position: relative;
 line-height:0;
}

@keyframes sliderAnimation {
 from {
  transform: translateX(0);
 }
 to {
  transform: translateX(-100%);
 }
}




/* ---------------------------------------------------------
■ キャスト
--------------------------------------------------------- */

.cast_box{
 position:relative;
 padding:4.5rem 2rem 7rem;
}

.cast_box::before,.cast_box::after{
 content:"";
 display:block;
 position:absolute;
 bottom:0;
 background-repeat:no-repeat;
 background-size:100%;
 height:200%;
}

.cast_box::before{
 left:0;
 background-image:url("../img/frame_wave_l.webp");
 background-position:right bottom;
 width:min(1800px,18%);
}
.cast_box::after{
 right:0;
 background-image:url("../img/frame_wave_r.webp");
 background-position:left bottom;
 width:min(320px,22%);
}

.cast_contents{
 margin:auto;
 max-width:1140px;
}


.cast_contents h2{
 margin:auto;
 max-width:260px;
}
.cast_contents h2.h2cast{margin:0 auto -6rem;}

.cast_flexwrap{
 display:flex;
 flex-wrap: wrap;
}

.cast_flex_inner{width:45%;}
.cast_flex_img{margin:auto;width:90%;}
.cast_flex_inner h3{font-size:3.2rem;font-weight:900;line-height:1em;padding:.9rem 0 .2rem;}
.cast_flex_h3sub{font-size:1.5rem;font-weight:800;padding-bottom:1.4rem;}
.cast_flex_text{text-align:left;}
.cast_flex_text p{font-size:1rem;font-weight:600;padding-bottom:1.4rem;}

.cast_flex_and{width:10%;padding:min(240px,20vw) 1% 0;}

.cast_flex-single_inner{
 display:flex;
 flex-wrap: wrap;
 width:100%;
 margin-top:4rem;
}
.cast_flex-single_img{width:30%;}
.cast_flex-single_text{width:70%;}
.cast_flex-single_text h3{
 display:flex;
 flex-wrap: wrap;
 gap:.5rem;
 padding-bottom:1rem;
}
.cast_flex-single_text h3 span{margin:auto 0;display:block;}
.cast_flex-single_text h3 span:nth-child(1){line-height:1em;font-weight:600;}
.cast_flex-single_text h3 span:nth-child(2){font-size:2.6rem;font-weight:900;line-height:1em;padding:0 0 .2rem;}


.cast_contents.venue{
 margin: auto;
 max-width:900px;
 padding:5rem 0 0;
}

.cast_contents.venue h3{font-size:3.2rem;font-weight:900;line-height:1em;padding:2rem 0 .2rem;}

.cast_venue_img{
 display:flex;
 flex-wrap: wrap;
 gap:.5rem;
 padding-bottom: 2rem;
}

.cast_venue_img img:nth-child(1){width:100%;}
.cast_venue_img img:nth-child(2){width:calc((100% - .5rem)/ 2);}
.cast_venue_img img:nth-child(3){width:calc((100% - .5rem)/ 2);}




/* ---------------------------------------------------------
■ ストーリー
--------------------------------------------------------- */

.story_area{
 background-color:#172441;
}

.story_box{
 background-image: url("../img/bk_wave_10ps.webp");
 background-repeat: repeat;
 background-size: 3%;
 padding:5rem 3rem;
}

.story_50th_box{
 margin: auto;
 display:flex;
 flex-wrap: wrap;
 gap:1rem;
 max-width:1140px;
}

.story_50th_img{width:35%;}
.story_50th_img img{width:120%;margin-left:-10%;}
.story_50th_textbox{
 width:calc(65% - 1rem);
 color:#fff;
 text-align:left;
 padding-bottom:2rem;
}

.story_50th_textbox h2{
 font-size:1.6rem;font-weight:900;line-height:1em;padding:1.5rem 0 1.4rem;
}

.story_50th_textbox p{padding-bottom:1rem;}


.director_box{
 position: relative;
 margin-top:-1.7rem;
 text-align:left;
 z-index:5;
}

.director_wrap{
	background:url("../img/bk.webp");
	background-repeat: repeat-y;
	background-size: 100%;
	margin:auto;
	max-width:1140px;
	padding:2rem 3rem;
	border-radius:1rem;
	box-shadow: 1px 1px .7rem rgba(0, 0, 0, 0.5);
}

.director_title{
	display:flex;
	flex-wrap: wrap;
	gap:1rem;
}
.director_img{width:6rem;margin:auto 0;}
.director_name{width:calc(100% - 6rem - 1rem);}
.director_name h2{
	color:#231815;
	line-height: 1em;
 font-size: 1.2rem;
 font-weight: 800;
}
.director_name h2 span{
	font-size:70%;
}
.director_name h3{
	color:#231815;
	line-height: 1em;
 font-size:1.7rem;
 font-weight: 800;
 padding-bottom:.3rem;
}
.director_namesub{
	font-size:.9rem;
}

.director_text{padding-top:1rem;}
.director_text p{
	padding-bottom:1rem;
 color: #231815;
 font-size:.9rem;
 font-weight: 600;
 line-height: 1.55em;
 letter-spacing: 0.04em;
}
.director_text a{
	text-decoration: underline; 
}



/* ---------------------------------------------------------
■ チラシ
--------------------------------------------------------- */

.apply_box{padding:3rem 2.5rem;}

.apply_contents{
 margin: auto;
 max-width:1140px;
}

.apply_titlebox{
 display:flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.apply_title{
 margin:0 0 1.4rem;
 text-align:left;
 border-left: 1rem #172441 solid;
 padding-left: .7rem;
}
.apply_title time{display:block;padding-bottom:.7rem;}
.apply_title time span:nth-child(1){font-size:1.2rem;font-weight:600;}
.apply_title time span:nth-child(2){font-size:.9rem;}
.apply_title .h2sub{
 font-size:1.2rem;
 font-weight:800;
}
.apply_title h2{
 font-size:2.4rem;
 font-weight:800;
 line-height:1.1em;
}
.apply_title h2 span:nth-child(1){font-size:70%;padding-right:.5rem;}

.apply_venue{
 display:flex;
 flex-wrap: wrap;
 gap:.5rem;
 margin:0 0 auto;
}
.apply_venue_icon{display:block;width:4rem;font-size:.7rem;margin: auto 0 0;}
.apply_venue_icon img{padding: 0 .5rem;}

.apply_venue_text{text-align:left;}
.apply_venue_text span{display:block;font-weight:600;}
.apply_venue_text span:nth-child(2){font-size:1.4rem;}

.apply_mainbox{
 display:flex;
 flex-wrap: wrap;
 gap:2rem;
}
.apply_mainimg,.apply_maintext{width:calc(50% - 1rem);}

.apply_button_area{
 display:flex;
 flex-wrap:wrap;
 gap:1.5rem;
 
}

.apply_button_text{
 margin: auto 0;
 text-align: left;
 font-size:1.2rem;
}
.apply_button_text p.price{
 font-size:150%;
 font-weight:800;
}
.apply_button_btn{
 margin: auto 0;
}
.apply_button_btn a{
 position:relative;
 display:block;
 font-size:1.7rem;
 padding:.5rem 2.5rem .5rem 1rem;
 background-color:#B4191A;
 color:#fff;
 border:2px solid #B4191A;
 font-weight:800;
 border-radius: 5px;
 filter:drop-shadow(0 0 3px rgba(0,0,0,.45));
 transition: .2s;
}
.apply_button_btn a::after{
 content:"";
 position:absolute;
 display: block;
 width:.6em;
 height:.8em;
 top:50%;
 transform:translateY(-50%);
 right:.8rem;
 background-color:#fff;
 clip-path: polygon(0 0,100% 50%,0 100%);
}

@media screen and (min-width:768px) {
 .apply_button_btn a:hover{
  color:#B4191A;
  background-color:rgba(255,255,255,0);
  filter:drop-shadow(0 0 3px rgba(0,0,0,0));
 }
 .apply_button_btn a:hover::after{
  background-color:#B4191A;
 }
}


.apply_comment{
 padding:2.5rem 0 1rem;
}

.apply_program_list{
 
}
.apply_program_list h3{
 background-color: #172441;
 color:#F2E6D3;
 font-size:1.5rem;
 letter-spacing:.2em;
 font-weight: 800;
}
.apply_program_list ul{
 text-align:left;
 padding:1.4rem 1.7rem 0;
 background-color:#F5EAD5;
}
.apply_program_list ul li{
 display:flex;
 flex-wrap:wrap;
 justify-content: space-between;
 position:relative;
 font-weight:700;
 padding:0 0 0 2.3rem;
 margin-bottom:2rem;
}
.apply_program_list ul li::before{
 content:"一、";
 position:absolute;
 top:0;
 left:0;
 font-size:150%;
 background-color:#F5EAD5;
 z-index:2;
}

.apply_program_list ul li::after{
 content:"";
 position:absolute;
 display:block;
 top:50%;
 left:0;
 width:100%;
 height:2px;
 background-color:#333;
}
.apply_program_list ul li div{position:relative;background-color:#F5EAD5;z-index:2;}
.apply_program_list ul li div:nth-child(1){font-size:150%;font-weight:800;line-height:1.2em;padding-right:1.2rem;}
.apply_program_list ul li div:nth-child(1) span{font-size:70%;}
.apply_program_list ul li div:nth-child(2){text-align:right;display:flex;flex-wrap:wrap;align-items: center;line-height:1.3em;padding-left:1.2rem;}
.apply_program_list ul li div span{display: block;}


.apply_subbox{
 padding:2rem 0;
}

.apply_map iframe{
 width:100%;
 height:400px;
}





/* ---------------------------------------------------------
■ よくある質問
--------------------------------------------------------- */


.faq_area{

}
.faq_box{
	padding:0 3rem 3rem;
}
.faq_main{
	margin: auto;
	max-width:900px;
}

.faq_main h2{
	text-align:center;
	color:#231815;
	font-size:2.5rem;
 font-weight:900;
	letter-spacing:0.08em;
	line-height:1.4em;
	margin:auto 0;
	padding-bottom:.3rem;
}
.faq_h2sub{
	text-align:center;
}

.faq_list{
	padding:1rem;
}

.faq_item{
 text-align:left;
	padding-bottom:.5rem;
}

.faq_item h3{
	position: relative;
	text-align: left;
	font-size:1rem;
	font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
 font-weight:700;
	padding:.8rem 3rem .8rem 3.8rem;
	border-bottom:#231815 1px solid;
	transition: .2s;
}
.faq_item h3::before{
	position: absolute;
	top:50%;
	left:1.2rem;
	content: "Ｑ.";
	font-size:1.3em;
	font-weight:600;
	transform: translateY(-50%);
}
.faq_item h3 .toggle_icon {
    position: absolute;
    top: 20%;
    right: 1.2rem;
    width: auto;
    height: 60%;
    aspect-ratio: 1 / 1;
}
.faq_item h3 .toggle_icon span{
	display: block;
	height: 2px;
	width:80%;
	border-radius: 10px;
	background-color:#231815;
	transition: .35s;
}
.faq_item h3 .toggle_icon span:nth-child(1){
	margin: 50% 0px 0px;
}
.faq_item h3 .toggle_icon span:nth-child(2){
	margin: -2px 0 0 0;
	transform: rotate(-90deg);
}
.faq_item h3.open .toggle_icon span:nth-child(2){
	margin:0;
	transform: rotate(0deg);
	opacity: 0;
}

.faq_item .open_box{
	position:relative;
	display: none;
	font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	padding:.8rem 1.2rem .8rem 3.8rem;
}
.faq_item .open_box::before{
	position: absolute;
	top:.4rem;
	left:1.2rem;
	content: "Ａ.";
	font-size:1.3em;
	font-weight:600;
}
.faq_item .open_box *{font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;}
.faq_item .open_box p{
	font-size:.9rem;
	padding-bottom:.8rem;
}
.faq_item .open_box p span{
	font-weight:600;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 0, .8) 50%);
}
.faq_item .open_box ul{padding-left:10px;}
.faq_item .open_box ul li{
	position:relative;
	font-size:.9rem;
	padding-bottom:.6rem;
}
.faq_item .open_box ul li::before{
	content:"・";
	position: absolute;
	left:-1em;
	top:0;
}




.fixed_area{
 position: fixed;
 bottom:0;
 left:0;
 width:100%;
 z-index: 50;
 background-color:#951415;
 
 opacity: 0;
 visibility: hidden;
 pointer-events: none;
 transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
}

.fixed_box{
 background-image:url("../img/bk03.webp");
 background-position: center;
 background-size:50%;
 padding:1rem;
}

.fixed_wrap{
 display:flex;
 flex-wrap: wrap;
 justify-content: center;
 gap:0 1.4rem;
}

.fixed_wrap a{
 display:flex;
 flex-wrap: wrap;
 gap:.7rem;
 align-content: center;
 color:#222;
 font-size:1.2rem;
 font-weight:900;
 padding:.4em 1.2em;
 border:3px solid #fff;
 border-radius:5px;
 background-color:#fff;
 filter:drop-shadow(0 0 4px rgba(0,0,0,.45));
 transition: .2s;
}
.fixed_wrap a i{font-style:normal;}
.fixed_wrap a:nth-child(1){
 background-color:#FFDE00;
 border-color:#FFDE00;
 padding:.4em 1em;
 font-size:150%;
}
.fixed_wrap a:nth-child(1) span{display: block;margin: auto 0;
}
.fixed_wrap a:nth-child(1) svg{width:3rem;fill:#111;}
.fixed_wrap a:nth-child(1) span:nth-child(2){line-height:0;}

.fixed_wrap a:nth-child(2){font-size:1.2rem;}

.fixed_area.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media screen and (min-width:768px) {
 .fixed_wrap a:nth-child(1):hover{
  border-color:#fff;
 }
 .fixed_wrap a:hover{
  background-color:#951415;
  color:#fff;
  filter:drop-shadow(0 0 4px rgba(0,0,0,0));
 }
 .fixed_wrap a:hover svg{
  fill:#fff;
  animation: purupuru 0.5s ease-in-out infinite;
 }
}




footer{
 background-color:#172441;
 color:#fff;
 padding-bottom:6rem;
}

 address {
 font-style: normal;
 font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
 font-size: 12px;
 letter-spacing:0.05em;
}