:root {
  --wrap-pad:   7%;
  --header-h:   62px;
  --section-y:  72px;
  --fg-ttl:     36px;
  --fg-ttl-lg:  38px;
  --fg-gal-pad: 7%;
  --fg-gal-h:   62vw;
}

.site-header--overlay { padding: 18px 20px; }
.site-header--overlay .logo-name { font-size: 16px; }
.site-header--overlay .logo-sub { font-size: 8px; }
.site-header--overlay .hamburger { width: 44px; height: 44px; margin-left: 14px; }

.curtain { background-image: url("../images/curtain-sm.webp"); }
.curtain-mark img { width: 150px; }

.hero-body { bottom: 96px; padding-inline: 20px; }
.hero-sub { font-size: 26px; }
.hero-ttl { font-size: 13px; letter-spacing: .04em; }
.fg-scroll { height: 40px; }

.fg-duo {
  display: block;
  height: 300svh;
  --stack-a:    .35;
  --stack-b:    .55;
  --stack-span: 1000%;
}
.fg-duo-media .photo-stack > img:nth-child(2) { opacity: clamp(0, (var(--p, 0) - var(--stack-a)) * 10, 1); }
.fg-duo-media .photo-stack > img:nth-child(3) { opacity: clamp(0, (var(--p, 0) - var(--stack-b)) * 10, 1); }

.fg-duo .fg-duo-stage,
.fg-duo--rev .fg-duo-stage { flex-direction: column; box-sizing: border-box; padding-bottom: 80px; }
.fg-duo-col { width: 100%; }
.fg-duo-media { flex: 0 1 46svh; height: auto; min-height: 0; }
.fg-duo-text {
  flex: 1 0 auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 18px;
}
.fg-duo-inner { width: auto; padding-inline: 7%; }
.fg-duo-dots { margin-top: 22px; }

@media (max-height: 560px) {
  .fg-duo { height: auto; }
  .fg-duo-stage { position: static; height: auto; display: block; }
  .fg-duo .fg-duo-stage,
  .fg-duo--rev .fg-duo-stage { padding-bottom: 0; }
  .fg-duo-media { height: 70svh; }
  .fg-duo-text { padding-block: 56px; }
}

.fg-about { min-height: 86svh; }
.fg-about-jp { font-size: 13px; letter-spacing: .14em; }

.fg-info-sec { padding-block: 56px; }
.fg-info { grid-template-columns: 1fr 1fr; gap: 30px 16px; }
.fg-info dd { font-size: 14px; }

.fg-gal { padding-block: 72px; }
.fg-gal-head { margin-bottom: 40px; }
.fg-gal-ttl { font-size: 17px; }
.fg-gal-list { gap: 14px; }
.fg-gal-pair { gap: 14px; }
.fg-gal-pair figure { width: calc(50% - 7px); }

.sec-ttl-sub { font-size: 30px; }
.sec-ttl-main { font-size: 13px; }
.page-hero { min-height: 44svh; }
.page-hero-ttl { font-size: 34px; }
.page-hero-note { font-size: 12px; }
.fg-menu-list { gap: 36px; }
.fg-menu-list dt { font-size: 21px; }
.fg-access-head { font-size: 32px; }
.fg-access-band { height: 64vw; }
.map-frame { aspect-ratio: 4 / 3; }

.site-header .logo img { height: 26px; }
.hero-brand img { width: 150px; }

.fg-oc .oc-ttl, .fg-oc .oc-desc { grid-column: 1 / -1; }
.fg-oc .oc-price { grid-column: 1 / -1; grid-row: auto; align-self: start; margin-top: 12px; }
.drawer-brand-col { position: absolute; top: 27px; left: 20px; z-index: 1; }
#site-drawer .drawer-menu > :first-child { margin-top: 82px; }
