@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

/* CSS Document */
:root{
  --content-color-pink: #e5004f;
  --content-color-gray: #e0e0e0;
  --content-color-cream: #fffef1;
  --content-color-brown: #784d28;
  --content-color-sky: #00ada9;
  --content-color-navy: #002975;
  --content-color-l_navy: #C1D7FE;
  --content-color-black: #1b1b1b;
  --content-color-yellow: #ffe500;
  --content-color-blue: #1a0dab;
  --content-hover-speed: 0.3s;
  --content-shadow: 2px 2px 10px rgb(0 0 0 / 30%);
  --content-border_d: 2px dashed;
  --bg-img-setting: no-repeat center center / cover;
  --content-width: min((710vw / 7.5), 992px);
  --font-size-pc: 14px;
  --font-size-sp: calc(24vw / 7.5);
  --content-font-size: min(var(--font-size-sp), var(--font-size-pc));
  --font-family-sans: 'Noto Sans JP', sans-serif;
  
}

.nosp{
  display: none
}
.main{
  font-family: var(--font-family-sans);
  font-size: var(--content-font-size);
  font-weight: 500;
}
.main *{
  box-sizing: border-box;
}
.inner{
  width: var(--content-width);
  margin: auto;
}

/* title-wrapper */
.title-wrapper {
  width: 100%;
  background: url("../img/mv.jpg") no-repeat center top / cover;
  position: relative
}
.title-txt{
  width: var(--content-width);
  margin: auto;
  text-align: center;
  font-size: calc(72vw / 7.5);
  font-weight: 900;
  color: #FFF;
  padding: calc(40vw / 7.5) 0 calc(20vw / 7.5);
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.title-txt__area{
  background: var(--content-color-navy);
  font-size: calc(60vw / 7.5);
  padding: 0 calc(10vw / 7.5) calc(6vw / 7.5);
  display: inline-block;
  margin: auto;
}

.nav-wrapper {
  width: 100%;
  border-top: var(--content-border_d) var(--content-color-navy);
  background: #FFF;
}
.nav-list{
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--content-color-gray);
}
.nav-list>li{
  width: calc(100% / 2);
  font-weight: 700;
  display: flex;
  padding: calc(20vw / 7.5);
}
.nav-list>li:nth-child(odd){
  border-right: 1px solid var(--content-color-gray);
}
.nav-list>li:nth-child(-n+6){
  border-bottom: 1px solid var(--content-color-gray);
}
.nav-list>li.is-current,
.nav-list>li:hover{
  background: var(--content-color-navy);
  color: #FFF;
}

.select-content{
  background: var(--content-color-cream);
  padding: calc(50vw / 7.5) 0
}
.content-box{
  display: none
}
.content-box.is-select{
  display: block
}
.area-title {
  width: 80vw;
  height: 12vw;
  background: var(--content-color-brown); 
  font-size: calc(48vw / 7.5);
  font-weight: 900;
  color: #fff;
  position: relative;
  padding-left: calc(20vw / 7.5);
  margin-bottom: calc(40vw / 7.5);
  display: flex;
  align-items: center
}
.area-title:after {
  content: "";
  border: 6vw solid transparent;
  border-right: 6vw solid var(--content-color-cream);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.menu-select{
  display: flex;
  gap: calc(10vw / 7.5);
  margin-bottom: calc(40vw / 7.5);
}
.menu-select>li{
  width: calc((100% - (10vw / 7.5)*4) / 5);
  border: 2px solid var(--content-color-yellow);
  padding: calc(10vw / 7.5);
  border-radius: 6px;
  font-weight: 700;
  text-align: center;
  background: #FFF;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.menu-select>li.is-active{
  background: var(--content-color-yellow);
}

.coupon-list {
  margin: 0 auto calc(30vw / 7.5);
  display: flex;
  flex-wrap: wrap;
  row-gap: calc(20vw / 7.5); 
}
.coupon-content{
  width: 100%;
  display: flex;
  background: #FFF;
  border: 2px solid var(--content-color-gray);
  padding-bottom: calc(20vw / 7.5);
}
.coupon-content.is-hide{
  display: none
}
.coupon__img{
  width: 32vw;
  height: 32vw;
  position: relative;
}
.coupon__img>img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.img__caption{
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(0 0 0 / 70%);
  padding: calc(4vw / 7.5);
  font-size: calc(20vw / 7.5);
  color: #FFF;
}
.img__caption:empty{
  display: none
}
.coupon__icon{
  display: flex;
  flex-direction: column;
}
.coupon__icon span{
  width: 32vw;
  font-weight: 700;
  color: #FFF;
  padding: calc(6vw / 7.5) 0;
  text-align: center;
}
.icon__area{
  background: var(--content-color-brown);
}
.icon__kind{
  background: var(--content-color-sky);
}
.coupon-item{
  flex: 1
}
.coupon__name{
  font-size: calc(26vw / 7.5);
  font-weight: 700;
  color: #FFF;
  padding: calc(10vw / 7.5) calc(10vw / 7.5) calc(16vw / 7.5);
  background: var(--content-color-navy);
  min-height: 3.0em;
  display: flex;
  align-items: center;
  line-height: 1.2
}
.coupon__txt{
  padding: calc(10vw / 7.5);
}
.coupon__sheets{
  padding: 0 calc(10vw / 7.5);
  margin: 0 calc(10vw / 7.5);
  border-bottom: var(--content-border_d);
  font-weight: 700;
  color: var(--content-color-pink);  
}
.coupon__data{
  padding: calc(10vw / 7.5);
  font-size: calc(22vw / 7.5);
}
.coupon__data>li a{
  color: var(--content-color-blue);
  text-decoration: underline;
}
.coupon__data>li::before{
  display: inline-block;
  margin-right: calc(6vw / 7.5);
}
.coupon__data>li:empty{
  display: none
}
.data-reserve::before{
  content: "【予約】"
}
.data-date::before{
  content: "【期間】"
}
.data-time::before{
  content: "【時間】"
}
.data-place::before{
  content: "【利用店舗・体験場所】"
}
.data-hour::before{
  content: "【所要時間】"
}
.data-age::before{
  content: "【対象年齢】"
}
.data-min::before{
  content: "【最少催行人員】"
}
.data-close::before{
  content: "【定休日・除外日】"
}
.data-management::before{
  content: "【運営】"
}
.data-tel::before{
  content: "【お問い合わせ】"
}
.no__menu{
  margin: auto;
  text-align: center;
  display: none
}
.no__menu.is-disp{
  display: block;
}