@charset "utf-8";
/* CSS Document */



/* Main-visual
----------------------------------------------------------------------------------------------------------------------*/
.main-visual-wrap{
  width: 100%;
  height: 100%;
}

.main-visual-wrap video{
  background-size: 100% auto;
  background-repeat: no-repeat;
  min-width: 100%;
  background-position: center top;
}

.main-visual-text{
  width: 100%;
  position: absolute;
  top: 5%;
  left: 0;
}
.main-visual-text h1{
  text-align: center;
  color: #fff;
  font-size: clamp(20px, 4vw, 36px);
  line-height: 1.5;
  filter:drop-shadow(3px 3px 3px rgba(0,0,0,0.5));
  font-family: 'Kosugi Maru', sans-serif;
}

.main-visual-wrap img {
  width: 100%;
  height: auto;
}

@media screen and (max-width:1000px) {

.main-visual-text{
  top: 7.5%;
}

}

@media screen and (max-width:700px) {

.main-visual-wrap video{
  height: 500px;
}

.main-visual-text{
  top: 65%;
}

}

@media screen and (max-width:500px) {

.main-visual-wrap video{
  height: 400px;
}

.main-visual-text{
  top: 57.5%;
}

}

@media screen and (max-width:400px) {
  
.main-visual-text h1{
  width: 90%;
  margin: 0 auto;
}

}




/* 新型コロナウィルス感染防止対策
----------------------------------------------------------------------------------------------------------------------*/
#measures-virus{
  margin-top: -75px;
}

#measures-virus h2 .jp-h2{
  color: #006db5;
}

#measures-virus .contents{
  border: 1px solid #006db5;
  padding: 2%;
  margin-top: 15px;
}

.measures{
  width: 100%;
}

.measures li{
  float: left;
  width: 18%;
  margin-right: 2.5%;
}
.measures li.measures-last{
  margin-right: 0;
}
.measures li img{
  width: 100%;
  height: auto;
}

.measures li h3{
  text-align: center;
  font-size: clamp(10px, 2vw, 16px);
  margin-top: 2%;
}

@media screen and (max-width:900px) {

#measures-virus{
  margin-top: -100px;
}

}




/* CALENDAR & TIME
----------------------------------------------------------------------------------------------------------------------*/
/*カレンダー*/

#calendar{
  background: url(../images/back.png) repeat 0 0;
}

.calendar{
  margin-bottom: 15px;
  line-height: 1;
  height: 569px;
}

@media screen and (max-width:700px) {
  .calendar {
    height: 450px;
  }
}

.calendar .calendar-title th{
  padding: 0.5% 2%;
  background: #666;
  color: #fff;
  vertical-align: middle;
  border: 5px solid #666;
  font-size: clamp(20px, 3vw, 24px);
  font-family: 'Poppins', sans-serif;
  text-align: center;
}
.calendar .calendar-title th span.left-allow{
  float: left;
}
.calendar .calendar-title th span.right-allow{
  float: right;
}

.calendar .calendar-title th span.left-allow .fas{
  color: #fff;
}
.calendar .calendar-title th span.right-allow .fas{
  color: #fff;
}

.calendar .week th{
  border-left: 5px solid #fff;
  border-right: 5px solid #fff;
  border-bottom: 5px solid #fff;
  padding: 1% 2%;
  text-align: center;
  vertical-align: middle;
  font-size: clamp(20px, 3vw, 24px);
}

.calendar .day td{
  border: 5px solid #fff;
  padding: 2%;
  text-align: center;
  vertical-align: middle;
  font-size: clamp(20px, 3vw, 24px);
  font-family: 'Poppins', sans-serif;
}
.calendar .day td.weekday{
  background: #fcf8d4;
}
.calendar .day td.holiday{
  background: #c2ecec;
}
.calendar .day td.offday{
  background: #f00;
}
.calendar .day td.weekend{
  background: #c2ecec;
}
.calendar .day td.high-season{
  background: #acfc92;
}


/*営業日・休業日リスト*/

.week-remarks {
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
}

.week-remarks li {
  display: flex;
  align-items: center;
  margin-right: 1em;
  font-size: clamp(18px, 3vw, 20px);
}

.week-remarks li span {
  display: inline-block;
  width: clamp(18px, 3vw, 20px);
  height: clamp(18px, 3vw, 20px);
  margin-right: 0.5rem;
  border: 1px solid #333;
}

.week-remarks-weekday {
  background-color: #fcf8d4;
}

.week-remarks-weekend {
  background-color: #c2ecec;
}

.week-remarks-high-season {
  background-color: #acfc92;
}

.week-remarks-offday {
  background-color: #f00;
}



/*営業時間／定休日*/
.time-table{
  margin-top: 15px;
}

.time-table th,.time-table td{
  padding: 2% 3%;
  vertical-align: middle;
}

.time-table th{
  width: 25%;
  background: #f0f8ff;
  font-size: clamp(18px, 3vw, 24px);
  border: 7px solid #eee;
  font-weight: bold;
}
  
.time-table td{
  width: 75%;
  background: #fff;
  font-size: clamp(14px, 3vw, 18px);
  border: 7px solid #eee;
}

.time-table td ul li{
  font-size: clamp(16px, 2vw, 20px);
  font-weight: bold;
  line-height: 2;
}
.time-table td ul li span{
  font-size: clamp(20px, 3vw, 24px);
  font-family: 'Poppins', sans-serif;
  color: #37addc;
  line-height: 1;
}

.belleza-link a{
  display: block;
  width: 50%;
  background: #fbd4d5;
  padding: 10px 2%;
  margin: 10px auto 0 auto;
  border: 1px solid #333;
}
.belleza-link img{
  width: 150px;
  height: auto;
  margin: 0 auto;
}
.belleza-link a:hover{
  opacity: 0.75;
}

@media screen and (max-width:700px) {

.time-table th{
  display: block;
  width: 100%;
  border: 5px solid #eee;
}

.time-table td{
  display: block;
  width: 100%;
  border-top: 0;
  border-left: 5px solid #eee;
  border-right: 5px solid #eee;
  border-bottom: 5px solid #eee;
}

.belleza-link a{
  width: 100%;
}
.belleza-link img{
  width: 125px;
}

}




/* WHAT'S THIS
----------------------------------------------------------------------------------------------------------------------*/
#charm{
  background: #ddffd7;
  background: url(../images/what-this.png) repeat 0 0;
}

.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
    margin:0 10px;/*スライド左右の余白調整*/
}

#charm .contents1200{
  margin:25px auto 0 auto;
  padding-top: 15px;
}

.middle-logo{
  width: 100%;
  padding: 15px 2%;
  border-radius: 4em;
  border: 3px solid #95c056;
  background: #fff;
  filter:drop-shadow(3px 3px 3px rgba(0,0,0,0.2));
}
.middle-logo img{
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.charm-h3{
  text-align: center;
  margin-top: 10px;
  font-size: clamp(18px, 3vw, 24px);
}

.charm-text{
  font-size: clamp(24px, 4vw, 48px);
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin: 25px 0;
  /*font-family: 'Alfa Slab One', cursive;*/
}

@media screen and (max-width:900px) {

.middle-logo{
  border-radius: 2em;
  border: 2px solid #95c056;
}

}






/* LET'S PLAY!
----------------------------------------------------------------------------------------------------------------------*/
#play{
  background: url(../images/back02.png) repeat 0 0;
}

.play-contents{
  width: 100%;
}

.play-contents ul li{
  float: left;
  width: 22%;
  height: 22%;
  margin: 0 4% 4% 0;
  position: relative;
}

.play-contents ul li.pc-last{
  margin-right: 0;
}

.play-contents ul li img{
  width: 100%;
  height: auto;
  border-radius: 15px;
  border: 3px solid #e9dfff;/*border: 3px solid #e9dfff*/
  box-shadow: 0 0 15px #666;
}

.play-contents ul li a{
  display: block;
}
.play-contents ul li a:hover{
  opacity: 0.75;
}

.btn-wrap35{/*上から35%に配置するネーミング*/
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.btn-wrap35 .play-text{/*上から35%に配置*/
  margin-top: 35%;
}

.btn-wrap43{/*上から43%に配置するネーミング*/
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.btn-wrap43 .play-text{/*上から43%に配置*/
  margin-top: 43%;
}

.play-text{
  font-size: clamp(14px, 3vw, 24px);
  line-height: 1.25;
  text-align: center;
  font-weight: bold;
  font-family: 'Kosugi Maru', sans-serif;
  text-shadow: 2px 2px 3px #000;/*#ccc*/
  color: #fff;
}


@media screen and (max-width:900px) {

.play-contents ul li{
  width: 32%;
  height: 32%;
  margin: 0 2% 2% 0;
}

.play-contents ul li.pc-last{
  margin: 0 2% 2% 0;
}

.play-contents ul li.sp-last{
  margin-right: 0;
}

.play-contents ul li img{
  border: 2px solid #e9dfff;
  box-shadow: 0 0 10px #666;
}

}

@media screen and (max-width:500px) {

.play-contents ul li img{
  border: 1px solid #e9dfff;
  box-shadow: 0 0 5px #666;
}

}

/* ポップアップウィンドウ
------------------------------------------------------------*/
.overlays {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 200ms;
  visibility: hidden;
  opacity: 0;
  z-index: 9500;
}

.overlays .cancel {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: default;
}

.overlays:target {
  visibility: visible;
  opacity: 1;
}

.modals {/*コンテンツエリア*/
  margin: 5% auto 0 auto;/*調整*/
  padding: 25px 3%;
  background: #fff;
  border: 1px solid #666;
  width: 700px;
  border-radius: 5%;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
  position: relative;
}

.modals h3 {
  text-align: center;
  font-size: clamp(24px, 3vw, 30px);
  line-height: 1;
  margin-bottom: 25px;
}

.modals p {
  text-align: center;
  margin-bottom: 25px;
}

.modals img{
  width: 100%;
  height: auto;
  margin-bottom: 15px;
}

.modals .cont {
  max-width: 100%;/*400px*/
  overflow: auto;
}

.modals .close {
  width: 100%;
  text-align: center;
  transition: all 200ms;
  font-size: clamp(24px, 3vw, 30px);
  font-weight: bold;
  text-decoration: none;
  font-family: 'Poppins', sans-serif;
  line-height: 1;
}
.modals .close:hover {
  opacity: 0.75;
  text-decoration: underline;
}
.modals .close .fas{
  color: #333;
}

@media screen and (max-width:800px) {

.modals {
  width: 92%;
}

}





/* FLOOR GUIDE
----------------------------------------------------------------------------------------------------------------------*/
.floor-wrap img.floor-map{
  width: 100%;
  height: auto;
}

#floor-guide{
  position: relative;
}
.floor-back{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: #37addc;
}

.facility{
  width: 100%;
  margin-top: 50px;
}

.facility li{
  float: left;
  width: 32%;
  margin: 0 2% 2% 0;
}
.facility .pc-last{
  margin-right: 0;
}

.symbol-icon{
  width: 100%;
  text-align: center;
  padding: 15px 3%;
  background: #95c056;
  border-radius: 10px 10px 0 0;
}
.symbol-icon .fas,.symbol-icon .far{
  color: #fff;
  line-height: 1;
  font-size: clamp(30px, 3vw, 48px);
}

.symbol-text{
  width: 100%;
  text-align: center;
  padding: 15px 3%;
  line-height: 1;
  font-weight: bold;
  background: #ffffe0;
  font-size: clamp(14px, 3vw, 18px);
  border-radius: 0 0 10px 10px;
}

@media screen and (max-width:800px) {

.facility li{
  width: 49%;
}
.facility .pc-last{
  margin-right: 2%;
}
.facility .sp-last{
  margin-right: 0;
}

.symbol-icon{
  padding: 10px 3%;
}
.symbol-text{
  padding: 10px 3%;
}

}





/* PRICE
----------------------------------------------------------------------------------------------------------------------*/
#price{
  background: #f0fff0;
}

.price-table th,.price-table td{
  padding: 10px 1.5%;
  vertical-align: middle;
  line-height: 1.25;
}

.price-table th{
  width: 22.5%;
  border: 3px solid #ccc;
  font-size: clamp(12px, 3vw, 16px);
}

.price-table td{
  font-size: clamp(12px, 3vw, 16px);
  border: 3px solid #ccc;
  background: #fff;
}
.price-table td .discount{
  line-height: 1.25;
  font-weight: bold;
  color: #d64b8c;
}

.price-table td.day{
  width: 17.5%;
  text-align: center;
  font-weight: bold;
}

.price-table td.price{
  text-align: right;
  line-height: 1;
}

weekend
.price-table td.price span{
  font-size: clamp(18px, 3vw, 24px);
  color: #d64b8c;
  font-family: 'Poppins', sans-serif;
}

.price-table td.no-charge{
  font-size: clamp(18px, 3vw, 24px);
  color: #d64b8c;
  text-align: center;
  font-weight: bold;
}

.price-table{
  margin-bottom: 15px;
}

/*背景色*/
.price-table th.age12{
  background: #ffffe0;
}
.price-table th.protector{
  background: #f0fff0;
}
.price-table th.six-months{
  background: #ffffe0;
}
.price-table td.weekday{
  background: #fcf8d4;
}
.price-table td.holiday{
  background: #c2ecec;
}
.price-table td.six-months{
  background: #ffffe0;
}
.price-table td.high-season{
  background: #acfc92;
}

.price-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width:700px) {

.price-table th{
  border: 2px solid #ccc;
}

.price-table td{
  border: 2px solid #ccc;
}

}

@media (max-width: 580px) {
  .price-list {
    flex-direction: column;
  }
}





/* EATING SPACE
----------------------------------------------------------------------------------------------------------------------*/
.parent{
  width: 100%;
}

.parent li{
  float: left;
  width: 24.7%;
  margin-right: 0.4%;
  margin-bottom: 0.4%;
}
.parent li img{
  width: 100%;
  height: auto;
}

.parent li.pc-last-child{
  margin-right: 0;
}

/*.parent li{
  float: left;
  width: 24.7%;
  margin-right: 0.4%;
  margin-bottom: 0.4%;
}
.parent li img{
  width: 100%;
  height: auto;
}

.parent li.pc-last-child{
  margin-right: 0;
}*/

.food-h3{
  text-align: center;
  line-height: 1.5;
  margin: 25px 0;
  font-size: clamp(24px, 3vw, 36px);
}

#ating-space .l-text{
  text-align: center;
}

@media screen and (max-width:900px) {
  
.parent li{
  width: 49.7%;
  margin-right: 0.6%;
  margin-bottom: 0.6%;
}
  
.parent li.pc-last-child{
  margin-right: 0.6%;
}
  
.parent li.sp-last-child{
  margin-right: 0;
}	

/*.parent li{
  width: 33%;
  margin-right: 0.5%;
  margin-bottom: 0.5%;
}
  
.parent li.pc-last-child{
  margin-right: 0.5%;
}
  
.parent li.sp-last-child{
  margin-right: 0;
}*/

}





/* NEWS
----------------------------------------------------------------------------------------------------------------------*/
#news{
  background: #f0f8ff;
}

.news-list{
  width: 100%;
}

.news-list dt{
  padding-top: 25px;
  font-size: clamp(18px, 3vw, 16px);
  color: #37addc;
  font-weight: bold;
}

.news-list dd{
  padding-bottom: 25px;
  font-size: clamp(14px, 3vw, 16px);
  border-bottom: 1px dashed #37addc;
}
.news-list dd a:hover{
  opacity: 0.5;
}

@media screen and (max-width:700px) {
  .news-list dt{
    padding-top: 12px;
  }
  .news-list dd{
    padding-bottom: 12px;
  }
}





/* ACCESS
----------------------------------------------------------------------------------------------------------------------*/
.access-table th,.access-table td{
  padding: 2% 3%;
  vertical-align: middle;
}

.access-table th{
  width: 25%;
  background: #f0fff0;
  font-size: clamp(16px, 3vw, 20px);
  border: 7px solid #eee;
}
  
.access-table td{
  width: 75%;
  background: #fff;
  font-size: clamp(14px, 3vw, 18px);
  border: 7px solid #eee;
}

.access-table td p.tel-link,.access-table td p.mail-link{
  font-size: clamp(20px, 3vw, 24px);
  font-family: 'Poppins', sans-serif;
}
.access-table td p.tel-link a,.access-table td p.mail-link a{
  color: #95c056;
}
.access-table td p.tel-link a:hover,.access-table td p.mail-link a:hover{
  opacity: 0.75;
}

.google-map{
  margin-top: 50px;
}
.map{
  width: 100%;
  height: 500px;
}

@media screen and (max-width:700px) {

.access-table th{
  display: block;
  width: 100%;
  border: 5px solid #eee;
}
.access-table td{
  display: block;
  width: 100%;
}

.access-table .normal-td{
  border-top: 0;
  border-left: 5px solid #eee;
  border-right: 5px solid #eee;
  border-bottom: 0;
}
.access-table .last-td{
  border-top: 0;
  border-left: 5px solid #eee;
  border-right: 5px solid #eee;
  border-bottom: 5px solid #eee;
}

}






/* FAQ
----------------------------------------------------------------------------------------------------------------------*/
#faq{
  background: #ffffe0;
}

.faq-list{
  width: 100%;
  margin-bottom: 15px;
}

.faq-list dt{
  width: 100%;
  padding-top: 3%;
  margin-bottom: 2em;
}

.faq-list dt .fas{
  float: left;
  width: 2.5%;
  line-height: 1.25;
  font-size: clamp(18px, 3vw, 24px);
  margin-right: 2.5%;
}
.faq-list dd .fas{
  float: left;
  width: 2.5%;
  line-height: 1.25;
  font-size: clamp(18px, 3vw, 24px);
  margin-right: 2.5%;
}

.faq-list dt .xl-text{
  float: right;
  width: 92.5%;
  height: auto;
  line-height: 1.5;
  font-size: clamp(16px, 3vw, 20px);
  color: #d64b8c;
}

.faq-list dd{
  width: 100%;
  padding-bottom: 3%;
  border-bottom: 1px dashed #999;
}

.faq-list dd .l-text{
  float: right;
  width: 92.5%;
  height: auto;
  font-size: clamp(14px, 3vw, 18px);
  line-height: 1.5;
}

.fa-question-circle{
  color: #d64b8c;
}
.fa-comment-dots{
  color: #37addc;
}

.terms-link a{
  color: #37addc;
  text-decoration: underline;
}
.terms-link a:hover{
  color: #d64b8c;
}




/* APPLICATION ※とりあえず保留
----------------------------------------------------------------------------------------------------------------------*/
/*#application{
  background: #ffffe0;
}

.screen img{
  width: 75%;
  height: auto;
  margin: 0 auto 25px auto;
}

#application .xxl-text{
  text-align: center;
  font-weight: bold;
  margin-bottom: 25px;
}*/


/* アプリリンク
------------------------------------------------------------*/
/*.download-link{
  width: 75%;
  margin: 0 auto;
}

.download-link .apple a img{
  float:left;
  width: 48%;
  height: auto;
}
.download-link .Google a img{
  float:right;
  width: 48%;
  height: auto;
}
.download-link a:hover img{
  opacity: 0.75;
}*/


/* アプリ機能の紹介
------------------------------------------------------------*/
/*.appli-h3{
  text-align: center;
  font-weight: normal;
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1;
  margin-top: 75px;
}

.appli-table{
  margin-top: 25px;
}

.appli-table th,.appli-table td{
  border: 5px solid #ffffe0;
  padding: 2% 3%;
  border-radius: 20px;
}

.appli-table th{
  width: 15%;
  text-align: center;
  background: #edaf23;
  color: #fff;
  vertical-align: middle;
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1;
  font-family: 'Quicksand', sans-serif;
}

.appli-table .appli-h4{
  text-align: center;
  color: #fff;
  font-size: clamp(18px, 3vw, 24px);
  background: #edaf23;
  line-height: 1.5;
}
.appli-table .appli-h4 .far,.appli-h4 .fas{
  font-size: clamp(48px, 3vw, 60px);
  color: #fff;
  line-height: 1.25;
}

.appli-table .detail{
  background: #f5f5f5;
}

@media screen and (max-width:700px) {
  
.appli-table th,.appli-table td{
  border: 3px solid #ffffe0;
  border-radius: 10px;
}

.appli-table th{
  display: block;
  width: 100%;
  background: #333;
  color: #edaf23;
}
.appli-table .appli-h4{
  display: block;
  width: 100%;
}

}*/




/* SNS ※とりあえず保留
----------------------------------------------------------------------------------------------------------------------*/
/*#sns{
  background: url(../images/back.png) repeat 0 0;
}

.sns-link{
  width: 100%;
}

.sns-link ul li{
  width: 150px;
}

.sns-link .line{
  float: left;
}
.sns-link .insta{
  float: right;
}

.sns-link a img{
  width: 50%;
  margin: 0 auto;
}

.sns-link a .l-text{
  text-align: center;
  line-height: 1;
  font-family: 'Poppins', sans-serif;
}

.sns-link a:hover{
  opacity: 0.75;
}*/




/* PCチケット予約 右側固定タグ ※とりあえず保留
----------------------------------------------------------------------------------------------------------------------*/
/*.reserve-link{
  position: fixed;
  right:0;
  top: 400px;
  z-index: 5;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
}
.reserve-link a{
  display: block;
  padding: 25px 20px 25px 20px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  background: #edaf23;
  border-radius: 10px 0 0 10px;
  border-top: 3px dotted #fff;
  border-left: 3px dotted #fff;
  border-bottom: 3px dotted #fff;
  line-height: 1;
}
.reserve-link a:hover{
  opacity: 0.75;
}

a .fas{
  color: #fff;
}

@media screen and (max-width:1000px) {

.reserve-link{
  display: none;
}

}*/







.pc-br {
  display: none;
}

@media screen and (min-width:750px) {
  .pc-br {
    display: inline;
  }
}


#ticket_banner {
  width: 100%;
  background: #f0f8ff;
  padding-top: 20px;
}
#ticket_banner a img {
  max-width: 80%;
  margin: 0 auto;
  display: block;
}

@media screen and (min-width:1001px) {
  #ticket_banner {
    display: none;
  }
}


#ticket_head_link {
  display: none;
}

@media screen and (min-width:1001px) {
  #ticket_head_link {
    display: block;
    width: 300px;
    height: auto;
    position: absolute;
    top: 10px;
    right: 20px;
    z-index: 1;
  }

  #ticket_head_link img {
    width: 300px;
    height: auto;
  }
}


.reserve_banner a img {
  display: block;
  margin: 0 auto;
  width: 500px;
}