@charset "UTF-8";

/* =====================================================
  TENGEN TOP
===================================================== */

.tg-top,
.page-template-front-page,
.home{
  --tg-top-pad-y: clamp(72px, 7vw, 110px);
  --tg-top-pad-y-sm: clamp(54px, 5.4vw, 78px);
  --tg-title-min: 20px;
  --tg-title-max: 30px;
  --tg-body-size: 14px;
  --tg-body-lh: 2.08;
  --tg-body-track: .05em;
  --tg-lead-size: clamp(13px, 1.08vw, 15px);
  --tg-lead-lh: 2.08;
  --tg-lead-track: .08em;
  --tg-en-size: 11px;
  --tg-en-track: .24em;
  --tg-line-soft: rgba(0,0,0,.08);
  --tg-ink-strong: rgba(0,0,0,.88);
  --tg-ink: rgba(0,0,0,.74);
  --tg-ink-soft: rgba(0,0,0,.56);
  --tg-top-bg-warm: #f7f4ee;
}

.tg-main{
  background:#fff;
  color:var(--tg-ink-strong);
}

.tg-container{
  width:min(100%, 1280px);
  margin-inline:auto;
  padding-inline:24px;
}

.tg-container--narrow{
  width:min(100%, 960px);
}

.tg-section{
  position:relative;
  padding-top:var(--tg-top-pad-y);
  padding-bottom:var(--tg-top-pad-y);
}

.tg-section--compact{
  padding-top:var(--tg-top-pad-y-sm);
  padding-bottom:var(--tg-top-pad-y-sm);
}

.tg-section + .tg-section{
  border-top:1px solid var(--tg-line-soft);
}

.tg-hero + .tg-section{
  padding-top:clamp(58px, 5.6vw, 76px);
}

.tg-kicker{
  margin:0 0 14px;
  font-size:var(--tg-en-size);
  line-height:1.2;
  letter-spacing:var(--tg-en-track);
  text-transform:uppercase;
  color:var(--tg-ink-soft);
}

.tg-title{
  margin:0;
  font-size:clamp(var(--tg-title-min), 2vw, var(--tg-title-max));
  line-height:1.5;
  letter-spacing:.14em;
  font-weight:500;
  color:var(--tg-ink-strong);
}

.tg-body{
  margin:0;
  font-size:var(--tg-body-size);
  line-height:var(--tg-body-lh);
  letter-spacing:var(--tg-body-track);
  color:var(--tg-ink);
}

.tg-section__head{
  margin-bottom:clamp(20px, 2vw, 30px);
}

.tg-section__head--center,
.tg-section__body--center{
  text-align:center;
}

.tg-section__body--center .tg-body{
  margin-inline:auto;
}

.tg-actions{
  margin-top:24px;
}

.tg-actions--center{
  display:flex;
  justify-content:center;
}

.tg-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  color:inherit;
  text-decoration:none;
  font-size:11px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  position:relative;
}

.tg-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:currentColor;
  opacity:.72;
  transform:scaleX(.42);
  transform-origin:left center;
  transition:transform .42s ease, opacity .42s ease;
}

.tg-link:hover::after{
  opacity:1;
  transform:scaleX(1);
}

.tg-grid{
  display:grid;
  gap:clamp(24px, 3vw, 48px);
}

.tg-grid--2col{
  grid-template-columns:1.08fr .92fr;
  align-items:center;
}

.tg-media{
  position:relative;
  overflow:hidden;
  background:var(--tg-top-bg-warm);
}

.tg-media img{
  width:100%;
  display:block;
}

.tg-media--large img{
  aspect-ratio:4 / 3;
  object-fit:cover;
}

/* HERO */
.tg-hero{
  position:relative;
  min-height:calc(100vh - var(--tg-header-h, 72px));
  color:#fff;
  overflow:hidden;
  background:#111;
}

.tg-hero__slides{
  position:absolute;
  inset:0;
  z-index:0;
}

.tg-hero__slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.8s ease;
}

.tg-hero__slide.is-active{
  opacity:1;
}

.tg-hero__slide img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.tg-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:160px;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, #fff 100%);
  z-index:1;
  pointer-events:none;
}

.tg-hero__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(
    to bottom,
    rgba(0,0,0,.24) 0%,
    rgba(0,0,0,.12) 34%,
    rgba(0,0,0,.22) 100%
  );
}

.tg-hero__inner{
  position:relative;
  z-index:3;
  min-height:calc(100vh - var(--tg-header-h, 72px));
  display:flex;
  align-items:center;
}

.tg-hero__copy{
  width:min(100%, 760px);
  margin-inline:auto;
  padding-top:9vh;
  text-align:center;
}

.tg-hero__eyebrow{
  margin:0 0 14px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}

.tg-hero__title{
  margin:0;
  font-size:clamp(24px, 2.7vw, 36px);
  line-height:1.54;
  letter-spacing:.14em;
  font-weight:500;
  color:#fff;
  text-shadow:0 1px 10px rgba(0,0,0,.14);
}

.tg-hero__lead{
  width:min(100%, 44ch);
  margin:18px auto 0;
  font-size:clamp(13px, 1.08vw, 15px);
  line-height:2.02;
  letter-spacing:.08em;
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 8px rgba(0,0,0,.12);
}

.tg-hero__actions{
  margin-top:28px;
}

/* SECTIONS */
.tg-top-season .tg-section__head,
.tg-top-season .tg-section__body{
  max-width:760px;
  margin-inline:auto;
  text-align:center;
}

.tg-top-season .tg-body{
  max-width:60ch;
  margin-inline:auto;
}

.tg-top-seats{
  background:linear-gradient(
    to bottom,
    rgba(247,244,238,.58) 0%,
    rgba(247,244,238,.24) 100%
  );
}

.tg-top-seats .tg-media{
  box-shadow:0 20px 60px rgba(0,0,0,.04);
}

.tg-top-seats .tg-body{
  max-width:62ch;
}

.tg-top-wine .tg-body{
  max-width:58ch;
}

.tg-top-menu .tg-section__body{
  max-width:760px;
  margin-inline:auto;
}

.tg-top-menu .tg-body{
  max-width:56ch;
  margin-inline:auto;
}

.tg-top-info{
  padding-top:clamp(56px, 5.5vw, 78px);
  padding-bottom:clamp(62px, 6vw, 92px);
}

.tg-info-list{
  border-top:1px solid rgba(0,0,0,.08);
}

.tg-info-item{
  border-bottom:1px solid rgba(0,0,0,.08);
}

.tg-info-item__link{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:20px;
  padding:18px 0;
  color:inherit;
  text-decoration:none;
}

.tg-info-item__date{
  font-size:11px;
  letter-spacing:.14em;
  color:rgba(0,0,0,.52);
}

.tg-info-item__title{
  margin:0;
  font-size:14px;
  line-height:2;
  letter-spacing:.05em;
  color:rgba(0,0,0,.82);
}

/* revealは一旦常時表示 */
.js-reveal{
  opacity:1 !important;
  transform:none !important;
}

/* RESPONSIVE */
@media (max-width:1024px){
  .tg-grid--2col{
    grid-template-columns:1fr;
  }
}

@media (max-width:768px){
  .tg-top,
  .page-template-front-page,
  .home{
    --tg-top-pad-y:56px;
    --tg-top-pad-y-sm:42px;
    --tg-title-min:18px;
    --tg-title-max:24px;
    --tg-body-size:13px;
    --tg-body-lh:2.0;
  }

  .tg-container{
    padding-inline:18px;
  }

  .tg-container--narrow{
    width:100%;
  }

  .tg-hero{
    min-height:calc(88svh - var(--tg-header-h, 64px));
  }

  .tg-hero__inner{
    min-height:calc(88svh - var(--tg-header-h, 64px));
  }

  .tg-hero__copy{
    width:100%;
    padding-top:7vh;
  }

  .tg-hero__title{
    font-size:clamp(20px, 6vw, 28px);
    line-height:1.5;
    letter-spacing:.12em;
  }

  .tg-hero__lead{
    width:min(100%, 30ch);
    margin-top:14px;
    font-size:12px;
    line-height:1.92;
    letter-spacing:.07em;
  }

  .tg-info-item__link{
    grid-template-columns:1fr;
    gap:6px;
  }
}