@charset "utf-8";
.room_slide .slick-dots {
  position: absolute;
  bottom: -20px;
}
.room_slide .slick-dots li {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    padding: 0;
    margin: 0 4px;
    border-radius: 5px;
}
.room_slide .slick-dots li button {
    width: 100%;
    height: 100%;
    padding:3px;
    border-radius: 5px;
    background: #E8E4D3;
}
.room_slide .slick-dots li.slick-active button{
    background: var(--color-red01);
}
.room_slide .slick-dots li button:before{
  width: 100%;
  height: 100%;
  content:"　";
}
/*price  common*/
.tabel_wrap .table_ttl{
  color:#fff;
  font-size:14px;
  padding:10px;
  line-height: 1.2;
}
.tabel_wrap .table_ttl span{
  font-weight: 500;
  font-size:12px;
}
.tabel_wrap .table_ttl span.app-time {
  display: block;
  width: fit-content;
  margin: 0 auto 6px;
  padding: 2px 10px;
  border-radius: 30px;
  background: var(--color-red01);
  color: #fff;
  font-weight: 500;
  font-size: 10px;
}
.tabel_wrap table{
  margin-bottom:15px;
  background: #fff;
  border-radius: 5px;
  border:solid 2px var(--color-brown04);
  border-collapse: separate;
  overflow: hidden;
}
.tabel_wrap table th,
.tabel_wrap table td{
  border-top: solid 1px var(--color-brown04);
  padding:10px 5px;
  font-size:11px;
  text-align: center;
  vertical-align: middle;
}
.tabel_wrap table td + td,
.tabel_wrap table th + td{
  border-left: solid 1px var(--color-brown04);
}
.tabel_wrap table.col3 th{
  width: 34%;
  font-size: 11px;
}
.tabel_wrap table.col3 .font_s{
  font-size: 13px;
}
.tabel_wrap table.col3 td{
  width: 33%;
}
#price .tabel_wrap table tr td:last-of-type{
  border-right:solid 1px var(--color-brown04);
}
#price_intro .tabel_wrap table .txt_time_range {
    display: block;
    font-size: 12px;
}
#price_intro .tabel_wrap table tr:not(:first-of-type) th {
    font-family: 'Roboto';
}
.tabel_wrap .line_day th,
.tabel_wrap .line_day td{
  padding:5px;
}
.tabel_wrap .bg_yel{
  background: #FFECAC;
}
.tabel_wrap .bg_yel_dark{
  background: #ffe17b;
}
.tabel_wrap .bg_pink{
  background: #FFCDC1;
}
.tabel_wrap .bg_pink_dark{
  background: #ffa893;
}
.tabel_wrap .price_td{
  font-size: 28px;
  font-weight: bold;
  font-family: "Roboto", sans-serif;
}
.tabel_wrap .drink_kinds{
  width: 41%;
  font-size: 13px;
  text-align: left;
}
.tabel_wrap .txt_intro {
  font-size: 12px;
  word-break: normal;
}
.price_base{
  margin-bottom:40px;
}
.ttl_sec_02 span{
  display: block;
  font-size: 12px;
}
.price_base > p{
  margin-bottom:20px;
  line-height: 1.8;
}
.table_drink tr:not(:first-of-type) th,
.table_drink tr:not(:first-of-type) td{
  padding:5px;
}
.tabel_wrap .table_drink .price_td{
  font-size:14px;
}
.tabel_wrap .table_drink .price_td .txt_tax{
  font-size:10px;
}
.table_drink tr:not(:first-of-type) th,
.table_drink.col_three .under_line {
  text-decoration: underline;
}
.table_drink.col_three th:first-of-type,
.page-freetime .table_drink tr:not(:first-of-type) th {
  text-decoration: none;
}
#day_pack .table_drink th:first-of-type {
  text-decoration: none;
}
@media screen and (min-width: 1020px) {
  .sec_inner {
      padding: 0px 40px;
  }
  .tabel_wrap .drink_kinds{
    width: 35%;
  }
  .tabel_wrap .table_ttl{
  font-size:18px;
  }
}

/* price_intro */
#price_intro{
  padding:80px 0 20px;
}
#price_intro h1{
  color:#fff;

}
#price_intro .txt_intro{
  color:#fff;
}
.price_recom{
  padding:30px 20px;
  border-radius: 15px;
  background: #fff;
}
.btn_brown01.ico_calc{
  border: solid 1px #fff;
  margin-bottom:20px;
  position: relative;
  padding-left:45px;
}
.btn_brown01.ico_calc span{
  position: relative;
}
.btn_brown01.ico_calc span:before{
  position: absolute;
  content:"";
  top:0;
  bottom:0;
  left:-30px;
  margin: auto;
  width:16px;
  height: 16px;
  background: url(/images_2024r/shop/common/price/ico_calc.svg);
}
#price_intro .grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:17px 10px;
  margin: auto;
  margin-bottom:30px;
  max-width: 310px;
}
#price_intro .grid .btn_brown01{
  background: #fff;
  color:#000;
  width: 100%;
}

.price_recom .btn_brown01:not(:last-of-type){
  margin-bottom:15px;
}
.price_base .arrow_black:after{
  right:10px;
}
@media screen and (min-width: 1020px) {
  #price_intro .grid{
    max-width: 420px;
  }
  #price_intro .features_box01 {
      width:100%;
  }
  .price_recom {
    padding: 30px 6%;
  }
  #price_intro .price_base .grid{
    max-width: 310px;
  }
}
/* price_intro end */

/* price_desc */
#price_desc{
  padding:80px 0 0;
}
#price_desc .cont_inner{
}
.price_tab{
  display: flex;
  justify-content: center;
  gap:5px;
  border-bottom:solid 2px var(--color-brown04);
}

.price_tab p{
  border-radius: 5px 5px 0 0;
  background: var(--color-brown02);
  color:var(--color-brown04);
  max-width: 114px;
  width: 100%;
  padding: 7px 15px 4px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-family: 'Roboto';
  cursor: pointer;
}
.price_tab .selected{
  background: var(--color-brown04);
  color:#fff;
}
.tab_cont{
  padding-top:0px;
  padding-bottom:80px;
}
.tab_anc{
  justify-content: center;
  display: flex;
  padding-top:30px;
  gap:10px;
  margin-bottom:50px;
  align-items: center;
}
.tab_anc a{
  position: relative;
  text-align: center;
  max-width: 150px;
  width: 100%;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #fff;
  border-radius: 10px;
  padding:10px;
  border: solid 2px #000;
  line-height: 1.4;
}
.tab_anc:has(> a.anc-half),
.tab_anc:has(> a.anc-full) {
  flex-wrap: wrap;
}
.tab_anc a.anc-half {
  max-width: 47%;
  height: 70px;
  padding: 10px 6px;
}
.tab_anc a.anc-full {
  max-width: 100%;
}
.tab_anc a.anc-half span,
.tab_anc a.anc-full span{
  display: block;
  font-size: 12px;
  height: 1.4em;
}
.tab_anc a span{
  font-size: 12px;
}
.tab_anc a:after{
  top: auto;
  bottom: -10px;
  right: 0;
  left: 0;
  background-color: #fff;
}
.tab_cont .txt_intro{
  font-size: 12px;
}
.tab_cont_desc:not(:last-of-type),
.tab_cont_desc:not(:last-child){
  margin-bottom:50px;
}
.tab_cont .tabel_wrap .price_td{
  font-size: 24px;
}
#nig_pack .tab_cont .tabel_wrap .drink_kinds{
  width: auto;
}
#nig_pack.tab_cont_desc .tabel_wrap .price_td:last-of-type{
  width: 20%;
}
.tab_cont .tabel_wrap .table_drink .price_td,
.page-freetime .tabel_wrap .table_drink .price_td{
  font-size:18px;
  border-left: solid 1px var(--color-brown04);
}
.tab_cont .table_ttl{
  font-size: 15px;
}
.tab_cont > .sec_inner > .cont_inner >div{
  padding-bottom:50px;
  display: none;
}
.tab_cont .cont_inner >div.selected{
  display: block;
}
.btn_red01{
  max-width: 310px;
  margin: auto;
  background: var(--color-red01);
  display:block;
  position:relative;
  font-size: 16px;
  text-align:center;
  padding:18px;
  padding-left:50px;
  color:#fff;
  border-radius: 30px;
  letter-spacing: 0.15em;
}
.btn_red01 span{
  position: relative;
}
.btn_red01 span:before{
  content:"";
  position: absolute;
  top:-5px;
  bottom:0;
  left:-32px;
  width: 21px;
  height: 24px;
  background: url(/images_2024r/shop/common/icon/ico_cale_white.svg);
}
#day_pack h3 span{
  font-size:12px;
}

.option_wrap{
  border: solid 2px var(--color-brown04);
  border-radius: 5px;
  margin-bottom:20px;
}
.option_wrap > p{
  background: var(--color-brown04);
  color:#fff;
  text-align: center;
  padding:10px;
  font-weight: bold;
}
.option_accord > p.arrow_white:after{
  width: 10px;
  height: 10px;
  background-size: cover;
  right: 5px;
}
.option_wrap .txt_intro span{
  font-size: 10px;
}
.option_wrap > div{
  padding:20px 15px;
  background: #fff;
  border-radius: 0 0 5px 5px;
}
.option_desc{
  border-top: solid 1px var(--color-brown04);
  padding:15px 0;
}
.option_desc .grid{
  display: grid;
  grid-template-columns: 80px 1fr;
  gap:20px;
}
.option_desc .grid p:first-of-type{
  margin-bottom:5px;
}
.opt_price{
  font-family: 'Roboto';
  font-size: 20px;
  font-weight: bold;
  text-align: right;
}
.opt_price span{
  font-size: 10px;
}
.option_accord{
  border-radius: 10px;
}
.option_accord > p,
.option_accord-pc_none > p{
  background: var(--color-brown04);
  color:#fff;
  font-size: 10px;
  text-align: center;
  border-radius: 10px;
  cursor: pointer;
}
.option_accord > p.on{
  border-radius: 10px;
}
.option_accord> div{
  background: var(--color-brown01);
  font-size: 10px;
  padding:10px 15px;
  border-radius: 0 0 10px 10px;
  display: none;
}
.option_accord-pc_none > div > table {
  border-radius: 0 0 5px 5px;
}
.option_list li.no_dot{
  text-indent: 7px;
}
.service_wrap{
  padding:20px 0 30px;
  background: #fff;
  border-radius: 10px;
}
.service_wrap .flex{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 20px;
}
.service_wrap .flex dl{
  width:20%;
}
.service_wrap .flex dt{
  text-align: center;
}
.service_wrap .flex dd{
  text-align: center;
  font-size: 10px;
}
#eve_course img{
  display:block;
  margin-bottom: 20px;
}
@media screen and (min-width: 1020px) {
  .price_tab p {
    max-width: 155px;
    font-weight: bold;
    font-size:16px;
    padding:12px 0 10px;
    text-align:center;
  }
  .tab_anc{
    gap:20px;
  }
  .tab_anc a{
    max-width: 200px;
    border-radius: 50px;
    /* height: 50px; */
  }
  .tab_anc a.anc-half {
    height: 60px;
  }
  .tab_anc a span{
    font-size: 14px;
  }
  .option_desc .grid p:first-of-type {
    font-size: 16px;
  }
  .option_desc .grid {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 20px;
  }
  .option_accord > p{
    font-size: 14px;
    padding: 7px;
  }
  .option_accord-pc_none .arrow_plus:after {
      content: none;
    }
  .option_accord-pc_none > p {
    border-radius: 10px 10px 0 0;
    pointer-events: none;
  }
  .option_accord> div {
    font-size: 12px;
  }
  .option_accord > p.arrow_white:after{
    width: 16px;
    height: 16px;
    background-size: cover;
    right: 10px;
  }

  .option_accord > p.arrow_plus:after {
    width: 19px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    right: 10px;
  }
  .service_wrap{
    padding:20px 30px 30px;
  }
  .service_wrap > .sec_inner{
    padding:0;
  }
  .service_wrap .flex{
    gap: 40px;
  }
  .service_wrap .flex dl {
    width: auto;
  }
  .tabel_wrap .table_drink .price_td{
    font-size:18px;
  }
}


/* plan_desc */
#plan{
  padding-top:80px;
}
.plan_tags{
  display: flex;
  flex-wrap: wrap;
  gap:8px;
  margin-bottom:30px;
}
.plan_tags p{
  display: block;
  padding:1px 7px;
  font-size: 12px;
  border-radius: 5px;
  cursor: pointer;
  border:solid 1px var(--color-brown02);
}
.plan_tags p.selected{
  background: #A58D5E;
  color:#fff;
}
.plan_tags p.off{
  display: none;
}
.plan_ttl{
  position: relative;
}
.plan_ttl .plan_form_sel{
  position: absolute;
  top:0;
  bottom:0;
  margin: auto;
  right:0;
}
.plan_ttl .plan_form_sel select{
  border: solid 2px  var(--color-brown04);
  border-radius: 5px;
  padding:4px 5px;
  font-size: 10px;
  -webkit-appearance: none;
  appearance: none; /* デフォルトの矢印を非表示 */
  padding-left: 10px;
  width: 100px;
  background: transparent;
}
.plan_form_sel select::-ms-expand {
  display: none; /* デフォルトの矢印を非表示(IE用) */
}
.plan_form_sel::before {
  content: "";
  position: absolute;
  right: 2px;
  top: 1px;
  width: 17px;
  height: 21px;
  background: var(--color-brown04);
  z-index: -5;
}
.plan_form_sel::after {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #fff;
  content: "";
  position: absolute;
  right: 5px;
  top: 11px;
  width: 0;
  z-index: -5;
}
.plan_price{
  font-size: 20px;
  font-weight: bold;
  text-align: right;
  font-family: 'Roboto';
  letter-spacing: 0.004em;
}
.plan_price span{
  font-size: 10px;
}

.plan_desc{
  border-top: solid 1px;
  padding:20px 0;
  display: none;
}
.plan_desc.on{
  display: block;
}
.plan_desc:last-of-type{
  border-bottom: solid 1px;
}
.plan_desc > .grid{
  display: grid;
  grid-template-columns: 100px 1fr;
  gap:20px;
  position: relative;
  margin-bottom:35px;
  cursor: pointer;
}
.plan_desc > .grid:after{
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 2px;
  border: 2px solid;
  border-color: transparent transparent #000 #000;
  transform: rotate(-45deg);
  right: 0;
  left: 0;
  bottom: -15px;
  margin: auto;
}
.plan_desc > .grid.on:after{
  transform: rotate(135deg);
  bottom:-20px;
}
.plan_desc > .grid > div img{
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.plan_accord {
  display: none;
}
.plan_accord > .pan_overview{
  display: grid;
  padding:15px;
  border-radius: 5px;
  grid-template-columns: 60% 125px;
  margin-bottom:10px;
  background: var(--color-brown01);
  justify-content:space-between;
  cursor: pointer;
}
.plan_accord > .pan_overview .plan_price{
  margin-bottom:10px;
}
.plan_accord > .pan_overview .box_in_btn{
  max-width: 100%;
  text-align: center;
  border: none;
  color:#fff;
  padding:5px 0;
  background: var(--color-red01);
}
.plan_accord > .pan_overview .box_in_btn.arrow_white:after{
  width: 10px;
  height: 10px;
  background-size:cover;
  right:5px;
}

.priice_ico_plus {
    position: relative;
    height: 25px;
    margin-bottom:20px;
}
.priice_ico_plus::before,
.priice_ico_plus::after  {
    content: '';
    display: inline-block;
    position: absolute;
    width: 4px;
    height: 25px;
    left: 0;
    right:0;
    margin:auto;
    background-color: #000;
}
.priice_ico_plus::after {
    transform: rotate(90deg);
}

/* モーダル */
.plan_desc_overlay{
  position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      visibility: hidden;
      opacity: 0;
      min-height: 0vh;
      padding: 0 10%;
      padding-top: 120px;
      background: #898989;
      transition: .2s;
      z-index: 8600;
}
.plan_desc_overlay.on{
  width: 100%;
  min-height: 100vh;
  visibility: visible;
  opacity: 0.95;
  transition: .2s;
  overflow: scroll;
}
.plan_close{
  position: fixed;
  right: 30px;
  top: 35px;
  cursor: pointer;
  display: block;
  width: 25px;
  height: 24px;
  pointer-events: none;
}
.plan_close::before,
.plan_close::after {
  content: "";
  position: absolute;
  top: 44%;
  left: 43%;
  width: 1px;
  height: 30px;
  background: #fff;
}
.plan_close::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.plan_close::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

.plan_modal{
  width: 85%;
  max-width: 350px;
  height: fit-content;
  max-height: 90vh;
  border-radius: 10px;
  background: #fff;
  padding-bottom: 20px;
  position: fixed;
  top: 5%;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  overflow: scroll;
  opacity: 0;
  visibility: hidden;
  z-index: 9000;
}
.plan_modal.on{
  opacity: 1;
  visibility: visible;
}
.plan_modal > p{
  background: var(--color-red01);
  text-align: center;
  padding:5px;
  color:#fff;
  font-size: 12px;
}
.plan_modal_inner{
  padding:20px;
  background: #fff;
}
.plan_modal img{
  display: block;
  margin: auto;
}
.plan_slide{
  margin-bottom:40px;
}
.plan_modal_inner .grid{
  margin-bottom:15px;
  display: grid;
  grid-template-columns: 60% 1fr;
  align-items: flex-end;
}
.plan_modal dl{
  border-top:solid 1px;#000;
  padding:10px 0;
}
.plan_modal dl:last-of-type{
  border-bottom:solid 1px;#000;
}
.plan_modal dl dt,
.plan_modal dl dd{
  padding:0 20px;
}
.plan_modal dl dt{
  font-size: 14px;
  font-weight: bold;
  position: relative;
  cursor: pointer;
}
.plan_modal dl dt:after{
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 2px;
  border: 2px solid;
  border-color: transparent transparent #000 #000;
  transform: rotate(-45deg);
  right: 20px;
  bottom: 3px;
  top: 0;
  margin: auto;
}
.plan_modal dl dt.on:after{
  transform: rotate(135deg);
}
.plan_modal dl dd{
  display: none;
  font-size: 12px;
  line-height: 2;
  white-space: pre-wrap;
}
.plan_modal dl:first-of-type dd{
  display: block;
}

.plan_modal .btn_red01{
  padding-left:18px;
}
.plan_modal .btn_red01 span:before{
  content:none;

}
@media screen and (min-width: 1020px) {
  .plan_desc {
    padding: 20px 30px;
  }
  .plan_modal.on {
    width: 85%;
    max-width: 560px;
    max-height: fit-content;
    overflow: visible;
  }
  .plan_close {
    position: absolute;
    right: 0px;
    top: -35px;
    cursor: pointer;
    display: block;
    width: 25px;
    height: 24px;
}
  .plan_modal{
    overflow-y: scroll;
    overflow-x: visible;
    padding-bottom:0;
  }
  .plan_modal > p{
    border-radius: 10px 10px 0 0;
  }
  .plan_modal > div{
    overflow-y: scroll;
    max-height: 80vh;
    border-radius: 0 0 10px 10px;
  }
  .plan_modal > div::-webkit-scrollbar{
      width: 3px;

  }
  .plan_modal > div::-webkit-scrollbar-track{
    border-radius: 10px;
  }
  .plan_modal > div::-webkit-scrollbar-thumb{
    background: var(--color-brown03);
    border: solid var(--color-brown03);
    border-radius: 10px;
  }
  .plan_modal > div::-webkit-scrollbar-track-piece{
    background: inherit;
  }
}

@media screen and (min-width: 1020px) {
  #price {
    padding:0 0 80px;
    background: var(--color-brown04);
  }
  #price .sec_inner{
    padding:0;
  }
  #price .sec_inner > div,
  #price02 .sec_inner > div{
    padding: 0 10% 40px;
    padding-top:80px;
    background: #fff;
    border-radius: 10px;
  }
  .price_base .ttl_sec_02{
    margin-left:-20px;
  }
  .tabel_wrap table th,
  .tabel_wrap table td,
  .tabel_wrap .table_drink th {
    font-size:16px;
    font-weight:bold;
    text-align: center;
  }
}
/* price end*/

/* freetime */

#ft_top {
  padding: 80px 0 20px;
}
#ft_day {
  padding: 80px 0 40px;
}
#ft_ppp {
  padding: 40px 0 40px;
}
#ft_night {
  padding: 40px 0 40px;
}

/* freetime end */
