

  :root { --wrap-pad: 40px; --section-y: 140px; }

  .collage { grid-template-columns: 480px 1fr; gap: 5rem; align-items: center; }

  .carousel-track > * { flex-basis: 46%; }

  .info-list dl { grid-template-columns: 10em 1fr; gap: 1.5rem; }

  .drawer-inner { grid-template-columns: 1fr; }
  .drawer-menu { padding-top: 5.5rem; }

.site-header--overlay {
  height: 112px;
  align-items: flex-start;
  padding-inline: 0;
}
.site-header--overlay .hamburger {
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  margin: 0;
}
.site-header--overlay .header-fix {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 33px;
}
.site-header--overlay .head-nav {
  align-items: center;
  margin-top: 46px;
  margin-right: 40px;
}
.site-header--overlay .header-fix .btn {
  width: 240px;
  min-height: 45.6px;
  padding: 0;
}

.hero-ttl { left: 20px; bottom: 20px; }
.hero-body [data-reserve] {
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 240px;
  height: 45.6px;
  padding: 0;
}

.y8-story { margin-bottom: 0; }
.y8-story-pair {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 28px;
}
.y8-story-pair figure { aspect-ratio: 1200 / 715; }
.y8-story-pair--3 { grid-template-columns: repeat(3, 1fr); }

#access .wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 100px;
  align-items: start;
}
#access .sec-ttl,
#access figure,
#access .shop-name,
#access .cta-row { grid-column: 1 / -1; justify-self: center; }
#access figure { margin: 0 0 1.25rem; }
#access figure img { width: 240px; height: auto; }
#access .sec-ttl { margin-bottom: 3rem; }
#access .cta-row { margin-bottom: 5rem; }
#access .map-frame { grid-column: 1; margin: 0; }
#access .info-list { grid-column: 2; }
#access .map-link-row { grid-column: 1 / -1; justify-self: center; margin-top: 3rem; }
#access .y8-insta-row { grid-column: 1 / -1; justify-self: center; }
.info-list dl { grid-template-columns: 140px 1fr; gap: 0; }
.info-list dl + dl { margin-top: 20px; }

.gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 40px; }

.site-footer { padding-block: 24px; }
.site-footer .footer-nav { gap: 1.25rem 40px; margin-bottom: 1.25rem; }

.hero { min-height: 80vh; }
.curtain-mark { gap: 1rem; }
.y8-kvttl { font-size: 1.625rem; }
.y8-kven { font-size: 1rem; }

.hero-body {
  align-items: flex-end;
  justify-content: flex-start;
  padding: 40px 40px 40px;
}
.hero-logo { width: 64px; }
.y8-brand { column-gap: .45rem; row-gap: 1rem; }
.y8-brand .y8-kvttl { font-size: 1.25rem; }
.y8-brand .y8-kven { font-size: .68rem; }

.hamburger::after { top: 52px; bottom: auto; left: 50%; transform: translateX(-50%); }

.site-header--overlay .head-nav {
  position: absolute;
  top: 34px;
  right: 136px;
  margin: 0;
  display: block;
}
.site-header--overlay .head-nav .nav { gap: 30px; font-size: .8125rem; }
.site-header--overlay .head-nav .nav li:last-child a { padding: .55em 1.3em; }
@media (max-width: 1099px) {
  .site-header--overlay .head-nav .nav { display: none; }
}

.y8-follow { position: absolute; right: 20px; top: 30%; }
.y8-snsslot { position: absolute; right: 10px; top: 41%; }

.site-header--overlay .header-fix { margin-top: 26px; }
.site-header--overlay .lang-switch { position: fixed; left: 92px; top: 20px; }

.hero .carousel-prev { left: 24px; }
.hero .carousel-next { right: 76px; }

.course-name { font-size: 1.3125rem; }
.course-name > span:last-child { font-size: .9375rem; }
.course-body { font-size: .9375rem; }

.y8-term { font-size: .8125rem; }

.y8-footlogo img { width: 200px; }

.y8-piece-num { font-size: .8125rem; }

.y8-chapter {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  column-gap: 72px;
  align-items: center;
}
.y8-chapter:nth-child(even) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.y8-chapter:nth-child(even) .y8-chapter-fig { order: 2; }
.y8-chapter + .y8-chapter { margin-top: 120px; }
.y8-chapter-fig img { aspect-ratio: 2 / 1; }

.y8-course-card { padding: 3.5rem 2.5rem 3rem; }

.y8-fv-copy { left: 40px; bottom: 76px; max-width: 34em; }
.y8-fv-lead { font-size: 1.875rem; }
.y8-fv-michelin { font-size: .875rem; }
.y8-fv-sub { font-size: .9375rem; }
html:not([lang="ja"]) .y8-fv-lead { font-size: 1.5rem; letter-spacing: .06em; }

.y8-wide img { aspect-ratio: 21 / 9; }
.y8-wide--counter img { aspect-ratio: 1600 / 666; }
.y8-wide + .y8-split,
.y8-split + .y8-wide,
.y8-story-pair + .y8-split,
.y8-split + .y8-story-pair { margin-top: 80px; }
.wrap > .y8-story-pair:first-child { margin-top: 0; }
.y8-split {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  column-gap: 72px;
  align-items: start;
}

.y8-chapter.y8-chapter--tall { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.y8-chapter--tall .y8-chapter-fig img { aspect-ratio: 4 / 5; }
.y8-chapter.y8-chapter--rev { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.y8-chapter--rev .y8-chapter-fig { order: 2; }

.y8-center .lead { font-size: 1rem; }
.y8-course-kicker { font-size: .875rem; }
.y8-course-title { font-size: 1.5rem; }
.y8-course-price { font-size: 1.0625rem; }
.y8-more > summary { font-size: .9375rem; }

.y8-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr) 40px minmax(0, 1fr);
  column-gap: 20px;
  align-items: center;
  margin: 96px auto 0;
}
.y8-flow-arrow { width: 40px; height: 1px; margin-bottom: 2.6rem; }
.y8-flow-arrow::after { top: -4px; right: 1px; transform: rotate(45deg); }
.y8-flow-item figcaption { font-size: .9375rem; }

.y8-gal { grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 56px; }
.y8-more--gallery { margin-top: 48px; }
.y8-more--gallery > .y8-gal { margin-top: 40px; }

.y8-message .wrap { max-width: calc(44em + var(--wrap-pad) * 2); }
.y8-message-copy { margin-bottom: 4rem; font-size: 2rem; }
.y8-message-body p { font-size: 1rem; }
.y8-message-end { margin-top: 4rem; font-size: 1.25rem; }
.y8-message-end::before { height: 64px; }
.y8-message-close { font-size: .9375rem; }

.y8-resv-shop { font-size: .875rem; }
.y8-resv-seats { font-size: .875rem; }
.y8-tel-num { font-size: 1.0625rem; }
.y8-sub-ttl { font-size: 1.125rem; }

.y8-totop { right: 24px; bottom: 24px; }
#access .shop-name { margin-bottom: 4rem; }
.y8-course-card.y8-course-card--left { padding: 2.5rem 0 2.25rem; }
.y8-keep-pc { white-space: nowrap; }
.drawer-menu .nav { gap: 10px; font-size: 1.125rem; }
.drawer-menu .nav a { padding-block: 4px; }
#site-drawer .drawer-menu .nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  column-gap: 56px;
  max-width: 640px;
}
#site-drawer .reserve-block .btn { width: 320px; }
