

  .site-header--overlay .header-fix .btn { display: none; }
  .site-header--overlay .head-nav { display: flex; margin-left: auto; }

  .site-header--overlay .head-nav .sns { display: none; }

  .hero-logo { width: 116px; }
  .hero-body { padding-bottom: 7rem; }

  .hero-ttl { bottom: calc(4.8rem + env(safe-area-inset-bottom, 0px)); }

  .band { min-height: 560px; }
  .band::after { background: rgba(0, 0, 0, .66); }

  .map-frame { height: 300px; }

  body.has-sticky { padding-bottom: calc(var(--sticky-h, 3.4rem) + env(safe-area-inset-bottom, 0px)); }

  body.has-preview .site-header--overlay { top: 46px; }
  body.has-preview .hero { min-height: calc(100vh - 46px); }

.site-header--overlay { height: 96px; 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 .head-nav { align-items: center; margin: 0; }
.site-header--overlay .lang-switch { position: absolute; left: 14px; top: 14px; }
.site-header--overlay .lang-switch .lang-menu { left: 0; right: auto; }

.hero-ttl { left: 12px; bottom: 12px; font-size: .625rem; }

.y8-story-pair {
  gap: 8px;
  margin-top: 20px;
  margin-inline: calc(var(--wrap-pad) * -1);
}

#access figure { margin: 0 0 1.25rem; text-align: center; }
#access figure img { width: 180px; height: auto; }
#access .cta-row { margin-bottom: 3rem; }
#access .map-frame { margin-top: 2.5rem; }
#access .map-link-row { margin-top: 2rem; }
.info-list dl { grid-template-columns: 120px 1fr; gap: 0; }
.info-list dl + dl { margin-top: 20px; }

.gallery-grid { grid-template-columns: 1fr; gap: 24px; }

.site-footer { padding-block: 20px; }
.site-footer .footer-nav { gap: 1rem 1.5rem; margin-bottom: 1rem; }

:root { --section-y: 68px; }
.sticky-cta .btn-web a { min-height: 60px; }

.hero { min-height: 75dvh; }
.y8-kvttl { font-size: 1.25rem; }
.y8-kven { font-size: .8125rem; }

.site-header--overlay .head-nav .nav,
.y8-follow,
.y8-snsslot { display: none; }

.hero-body {
  align-items: flex-end;
  justify-content: flex-start;
  padding: 16px 16px;
}
.hero-logo { width: 48px; }
.y8-brand { column-gap: .3rem; row-gap: .5rem; justify-content: end; }
.y8-brand .y8-kvttl { font-size: .9375rem; }
.y8-brand .y8-kven { font-size: .5rem; }
.y8-brand .hero-logo { justify-self: end; }

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

.lang-toggle,
.lang-menu a { font-size: .8125rem; }

.course-name { font-size: 1.125rem; }
.course-name > span:last-child { font-size: .8125rem; }
.course-body { font-size: .875rem; }

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

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

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

.y8-chapter + .y8-chapter { margin-top: 64px; }
.y8-chapter-fig { margin: 0 calc(var(--wrap-pad) * -1) 1.5rem; }

.y8-course-card { padding: 2.5rem 1.25rem 2.25rem; }
.y8-swipe {
  display: flex;
  gap: 8px;
  padding-inline: var(--wrap-pad);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--wrap-pad);
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.y8-swipe::-webkit-scrollbar { display: none; }
.y8-swipe figure { flex: 0 0 88%; aspect-ratio: 1200 / 715; scroll-snap-align: start; }

.y8-fv-copy { left: 16px; right: 16px; bottom: 44px; }
.y8-fv-lead { font-size: 1.25rem; letter-spacing: .1em; }
.y8-fv-michelin { margin-top: 1em; font-size: .75rem; }
.y8-fv-sub { margin-top: .8em; font-size: .75rem; }
html:not([lang="ja"]) .y8-fv-lead { font-size: 1.0625rem; letter-spacing: .04em; }

.y8-wide { margin-inline: calc(var(--wrap-pad) * -1); }
.y8-wide img { aspect-ratio: 3 / 2; }
.y8-wide--counter img { aspect-ratio: 4 / 3; }
.y8-wide + .y8-split,
.y8-split + .y8-wide,
.y8-story-pair + .y8-split,
.y8-split + .y8-story-pair { margin-top: 40px; }
.wrap > .y8-story-pair:first-child { margin-top: 0; }
.y8-split-head { margin-bottom: 1.75rem; }

.y8-chapter--tall .y8-chapter-fig img { aspect-ratio: 4 / 5; }

.y8-center .lead { font-size: .9375rem; }
.y8-course-kicker { font-size: .8125rem; }
.y8-course-title { font-size: 1.25rem; }
.y8-course-price { font-size: 1rem; }
.y8-more > summary { width: 100%; max-width: 280px; font-size: .875rem; }

.y8-flow { display: flex; flex-direction: column; align-items: stretch; margin-top: 56px; }
.y8-flow-arrow { width: 1px; height: 40px; margin: 20px auto; }
.y8-flow-arrow::after { bottom: 1px; left: -4px; transform: rotate(135deg); }
.y8-flow-item figcaption { margin-top: .8rem; font-size: .875rem; }

.y8-gal { grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 36px; }
.y8-gal img { aspect-ratio: 1 / 1; }
.y8-more--gallery { margin-top: 32px; }
.y8-more--gallery > .y8-gal { margin-top: 28px; }

.y8-message-copy { margin-bottom: 2.75rem; font-size: 1.375rem; }
.y8-message-body p { font-size: .875rem; }
.y8-message-end { margin-top: 3rem; font-size: 1rem; }
.y8-message-end::before { height: 48px; margin-bottom: 2rem; }
.y8-message-close { font-size: .8125rem; }

.y8-resv-shop { font-size: .8125rem; }
.y8-resv-seats { font-size: .8125rem; }
.y8-resv-btns { flex-direction: column; align-items: center; gap: 12px; }
.y8-tel-num { font-size: 1rem; }
.y8-sub-ttl { margin-top: 3.5rem; font-size: 1rem; }

.y8-totop { right: 12px; bottom: calc(var(--sticky-h, 76px) + env(safe-area-inset-bottom, 0px)); width: 44px; height: 44px; }
#access .shop-name { margin-bottom: 2.5rem; }
html:not([lang="ja"]) .y8-fv-copy { bottom: 64px; }
body:not(.has-sticky-menu) .site-header--overlay .lang-switch { left: 84px; top: 18px; }
body[data-page="404"] main { padding-top: 40px; }
.y8-course-card.y8-course-card--left { padding: 2rem 0 1.75rem; }
.y8-keep-sp { white-space: nowrap; }
.drawer-menu { gap: 1.25rem; padding-top: 64px; }
.drawer-menu .nav { gap: 6px; font-size: 1rem; }
.drawer-menu .nav a { padding-block: 4px; }
.footer-copy { font-size: .6875rem; }
