@charset "utf-8";
/* CSS Document */
body {
  max-width: 700px;
  margin: 0 auto;
  font-family: sans-serif;
  color: #1f1f1f;
  user-select: none /* 選択を禁止する */
}
img {
  max-width: 100%;
  vertical-align: top;
	height: auto;
}
.fade {
  -webkit-transition: .3s ease-in-out;
  -moz-transition: .3s ease-in-out;
  -o-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.fade:hover {
  opacity: .5;
  filter: alpha(opacity=60);
}
section {
  position: relative;
}
.cont01 .movie {
  position: absolute;
  width: 90%;
  /* top: 29.25%; kv_aの場合 */
  /* top: 16.5%; kv_bの場合 */
  top: 2.9%; /* ご注意ください なし */
  left: 50%;
  transform: translate(-50%, 0);
}
.boder p{
  padding: 5px 10px 5px 0;
  margin-top: 0;
  text-align: right;
  font-size: 10px;
  font-weight: 600;
}
h1{
  font-size: 23px;
  text-align: left;
  font-weight: 900;
  line-height: 32px;
}
@media screen and (min-width: 768px) {
  h1{
    font-size: 40px;
    line-height: 50px;
  }
}
h2 {
  margin: 30px 0 10px;
  padding: 0.8rem;
  border-left: 15px solid #269AC2;
  background: #BEE1ED;
  font-size: 15px;
  font-weight: 700;
}
.h1_span{
  font-size: 16px;
  font-weight: 900;
}
p{
  font-size: 16px;
  margin: 5px 0;
}
.red{
  color: #FF0000;
}
.red2{
  color: #FF0000;
  font-weight: 900;
}
.red3{
  color: #FF0000;
  font-weight: 900;
  font-size: 20px;
}
.blue{
  color: #000AFF;
}
.blue2{
  color: #000AFF;
  font-weight: 900;
}
.skyblue{
  color: #269AC2;
  font-weight: 900;
}
.skyblue02{
  color: #269AC2;
  font-weight: 900;
  font-size: 22px;
  text-align: center;
}
.skyblue03{
  color: #269AC2;
  font-weight: 900;
  font-size: 18px;
  text-align: center;
}
.orahge_pink{
  display: inline-block;
  background: linear-gradient(135deg, #FFCE1F 0%, #C30380 100%);
  background: -webkit-linear-gradient(-45deg, #FFCE1F 0%, #C30380 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 900;
}
.gold{
  color: #C59728;
  font-weight: 700;
}
.pink{
  color: #C30380;
  font-weight: 900;
}
.weight{
  font-weight: 500;
}
.mt10{
  margin-top: 10px;
}
.mt20{
  margin-top: 20px;
}
.mt30{
  margin-top: 30px;
}
.mt60{
  margin-top: 60px;
}
.mr10{
  margin-left: 10px;
}
.mb10{
  margin-bottom: 10px;
}
.mb20{
  margin-bottom: 20px;
}
.bold{
  font-weight: 900;
}
.bold2{
  font-weight: 900;
  text-align: center;
}
.inline {
  display: inline;
}
/*吹き出し①*/
.fukidashi{
  text-align: center;
}
.fukidashi p{
  position: relative;
  font-size: 16px;
  font-weight: 600;
}
.fukidashi p::before,
.fukidashi p::after{
  content: "";
  display: inline-block;
  background: #1f1f1f;
  width: 1px;
  position: absolute;
}
.fukidashi p::before{
  left: 0;
}
.fukidashi p::after{
  right: 0;
}
  .fukidashi p{
    display: inline-block;
    padding: 0 10px;
  }
  .fukidashi p::before,
  .fukidashi p::after{
    height: 30px;
    bottom: -5px;
  }
  .fukidashi p::before{
    transform: rotate(-40deg);
  }
  .fukidashi p::after{
    transform: rotate(40deg);
  }
/*吹き出しここまで*/
.boder2{
  background: #BEE1ED;
  padding: 5px;
  margin-bottom: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: 900;
}
.boder2 span{
  color: #FF0000;
  font-weight: 900;
  font-size: 23px;
}
.b_line{
  border-bottom: 1px solid #1f1f1f ;
  display: inline-block;
  font-weight: 900;
  font-size: 18px;
}
@media screen and (min-width: 768px) {
	.b_line{
    font-size:30px;
  }
}
.box{
  display: flex;
  justify-content: center;
  align-items: center;
}
.box .b_01_2{
  width: 10%;
  margin-left: 10px;
}
.box .b_01_3{
  width: 20%;
  margin-left: 10px;
}
.sc01{
  margin: 0 20px;
}
.box2{
  display: flex;
  justify-content: left;
  align-items: center;
}
.hsy{
  background: #269AC2;
  padding: 0 5px;
  color: #fff;
}
.text_m{
  font-size: 18px;
  font-weight: 900;
  margin: 30px 0 20px;
}
.text_l{
  font-size: 30px;
  font-weight: 900;
  margin: 15px 0;
}
.indent{
  text-indent: -1em;
  padding-left: 1em;
}
.arrow{
  width: 70%;
  display: block;
  margin: 20px auto 50px;
}
.small_p{
  font-size: 15px;
  font-weight: 600;
}
.text_center{
  text-align: center;
}
.underline{
  background-color: #FCDB01;
  display: inline;
  -webit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/*矢印アニメーション*/
.cp_arrows *, .cp_arrows *:before, .cp_arrows *:after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_arrows {
	position: relative;
	display: flex;
	height: 100px;/*画面いっぱいにする場合100vh*/
	margin: auto auto 60px;
	justify-content: center;
	align-items: center;
}
.cp_arrows .cp_arrow {
	position: absolute;
	top: 100%;/*着地点（サンプルは[class:cp_arrows]height300pxの50%）*/
	left: 40%;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	-webkit-transform-origin: 50% 50%;
	        transform-origin: 50% 50%;
	opacity: 0;
}
.cp_arrows .cp_arrowfirst {
	-webkit-animation: arrow-move08 2s ease-in-out infinite;
	        animation: arrow-move08 2s ease-in-out infinite;
}
.cp_arrows .cp_arrowsecond {
	-webkit-animation: arrow-move08 2s 1s ease-in-out infinite;
	        animation: arrow-move08 2s 1s ease-in-out infinite;
}
.cp_arrows .cp_arrow:before, .cp_arrows .cp_arrow:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 70px;
	height: 4px;
	content: '';
	background: #269AC2;
  border-radius: 1px;
}
.cp_arrows .cp_arrow:before {
	-webkit-transform: rotate(30deg) translateX(-39%);
	        transform: rotate(30deg) translateX(-39%);
	-webkit-transform-origin: top left;
	        transform-origin: top left;
}
.cp_arrows .cp_arrow:after {
	-webkit-transform: rotate(-30deg) translateX(39%);
	        transform: rotate(-30deg) translateX(39%);
	-webkit-transform-origin: top right;
	        transform-origin: top right;
}
@-webkit-keyframes arrow-move08 {
	0% {
		top: 40%;/*スタート地点（サンプルは[class:cp_arrows]height300pxの35%）*/
		opacity: 0;
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes arrow-move08 {
	0% {
		top: 40%;/*スタート地点（サンプルは[class:cp_arrows]height300pxの35%）*/
		opacity: 0;
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@media screen and (min-width: 500px){
  .cp_arrows .cp_arrow{
    left:45%;
  }
}
/*アニメーションここまで*/
.sc01 .b_02{
  display: block;
  margin: 30px auto;
}
.b_37{
  display: block;
  margin: 0px auto 30px;
}
/*点滅アニメーション*/
.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
    background: #FF0000;
    color: #fff;
    text-align: center;
    font-size: 2em;
    display: block;
    margin: 30px auto 0;
    width: 70%;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
/*アニメーションここまで*/
.qu{
  font-size: 22px;
  font-weight: 600;
  text-align: center;
}
/* ラジオボタン*/
.radiobox{
  margin-bottom: 30px;
}
.radiobutton {
  display: none;
}
label {
  background-color: #fff;
  padding: 12px 20px;
  margin-bottom: 15px;
  display: block;
  border-radius: 15px;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  border: 2px solid #000;
}
.radiobutton:checked + label {
  color: #FFF;
  background-color: #269AC2;
  border: 2px solid #fff;
  box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
}
/*ここまで*/
.skyblue_line{
  background: #BEE1ED;
  padding: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
}
#showtoday{
  font-weight: 700;
}
/*画像光アニメーション*/
.reflection{
display:inline-block;
position:relative;
overflow:hidden;
}
.reflection:after {
content:"";
height:100%;
width:30px;
position:absolute;
top:-180px;
left:0;
background-color: #fff;
opacity:0;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 2s ease-in-out infinite;
}
@keyframes reflection {
0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
/*ここまで*/
.reflection img{
  width: 100vw;
  margin-top: 30px;
  margin-bottom: 30px;
}
.images img{
  width: 100%;
}
.try_cta {
  position: relative;
}
.section .btn01 {
  position: absolute;
  width: 90%;
  top: 32%;
  left: 5%;
  transform: translate(0%, -50%); 
}
.reservation{
  background: #E1E7F3;
  padding: 20px 20px 5px;
  margin-bottom: 30px;
  font-size: 14px;
}
.label{
  position: relative;
  padding: 0.5rem 0;
  padding-left: 8em;
  margin-bottom: 15px;
  background: #fff;
}
.month {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.5rem 0.8rem;
  color: #fff;
  background: #5A5B5C;
}
.month:after {
  position: absolute;
  top: calc(50% - 7px);
  right: -11px;
  width: 0;
  height: 0;
  content: '';
  border-width: 7px 0 7px 12px;
  border-style: solid;
  border-color: transparent transparent transparent #5A5B5C;
}
.month02 {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.5rem 0.8rem;
  color: #fff;
  background: #E2C400;
  font-weight: 500;
}
.month02:after {
  position: absolute;
  top: calc(50% - 7px);
  right: -11px;
  width: 0;
  height: 0;
  content: '';
  border-width: 7px 0 7px 12px;
  border-style: solid;
  border-color: transparent transparent transparent #E2C400;
}
.img_center{
  display: block;
  margin: auto;
}
/*ボタンアニメーション*/
.circle img{
	animation: purupuru_anim 1.5s infinite;
}
@keyframes purupuru_anim {
	0% {	transform: translate(0, 0);}
	5% {	transform: translate(-5px, -0);}
	10% {	transform: translate(5px, 0);}
	15% {	transform: translate(-5px, -0);}
	20% {	transform: translate(5px, 0);}
	25% {	transform: translate(-5px, -0);}
	30% {	transform: translate(0, 0);}
	100% {	transform: translate(0, 0);}
}

.hidden{
  display: none;
}
.display{
  display: block;
}
/*ボタンアニメーションここまで*/
.complete_p{
  position: relative;
}
.complete_p img{
  z-index: 999;
  position: absolute;  
  top: -270px;     
}
@media screen and (min-width: 768px) {
  .complete_p img{
    top: -400px;     
  }
}
/*　ポップアップバナー　*/
#backGuide {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  border: 1px solid #ccc;
  z-index: 1000;
  width: 80%; /* バナー全体の幅 */
  max-width: 600px; /* 最大幅 */
}
#backGuide img {
  max-width: 100%;
  height: auto;
}
#closePopup {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 20px; /* ボタンの幅を調整 */
  height: 20px; /* ボタンの高さを調整 */
  cursor: pointer;
  z-index: 1001; /* ポップアップの上に配置 */
}
#overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* 背景を暗くする */
  z-index: 999; /* ポップアップの下に配置 */
}
/*　ポップアップバナーここまで　*/

/* 点滅 */
.blinking_title {
  -webkit-animation: blink_title 2.5s ease-in-out infinite alternate;
  -moz-animation: blink_title 2.5s ease-in-out infinite alternate;
  animation: blink_title 2.5s ease-in-out infinite alternate;
}

@-webkit-keyframes blink_title {
  0% { opacity: 0; }    /* 最初は完全に透明 */
  40% { opacity: 1; }   /* 40%の時点で完全に表示 */
  60% { opacity: 1; }   /* 60%の時点まで完全に表示を維持 */
  100% { opacity: 0; }  /* 100%の時点で再び透明 */
}

@-moz-keyframes blink_title {
  0% { opacity: 0; }    /* 最初は完全に透明 */
  40% { opacity: 1; }   /* 40%の時点で完全に表示 */
  60% { opacity: 1; }   /* 60%の時点まで完全に表示を維持 */
  100% { opacity: 0; }  /* 100%の時点で再び透明 */
}

@keyframes blink_title {
  0% { opacity: 0; }    /* 最初は完全に透明 */
  40% { opacity: 1; }   /* 40%の時点で完全に表示 */
  60% { opacity: 1; }   /* 60%の時点まで完全に表示を維持 */
  100% { opacity: 0; }  /* 100%の時点で再び透明 */
}

/* FVのBA画像のスライド */
.image-top {
  margin: 0; /* 上下の隙間をなくす */
}

.top-image {
  display: block;
  width: 100%;
  height: auto;
}

.image-container {
  position: relative;
}

.overlay-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.overlay-image {
  opacity: 0;
  animation: slideFadeEffect 6s infinite;
}

/* 左から右へ表示、右から左へ消えるアニメーション */
@keyframes slideFadeEffect {
  0% {
    clip-path: inset(0 0 0 0); 
    opacity: 1;
  }
  25% {
    clip-path: inset(0 0 0 0); 
    opacity: 1;
  }
  45% {
    clip-path: inset(0 0 0 100%);
    opacity: 1;
  }
  80% {
    clip-path: inset(0 0 0 100%); 
    opacity: 1;
  }
  100% {
    clip-path: inset(0 0 0 0); 
    opacity: 1;
  }
}
