/* 2026-10-07. Preserve the supplied CSS; apply this revision as the last layer. */
.hero-tour, .hero-tour__city, .hero-tour__detail > span, .hero-tour__detail strong {
  font-family: var(--serif);
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
}
.performance-heading { align-items: center; }
.performance-period { display: block; text-align: right; line-height: 1.5; }
.performance-year { display: block; font-size: 20px; margin-bottom: 5px; }
.performance-range { display: block; font-size: 26px; }
.performance-venue { font-family: var(--serif); font-size: 34px; line-height: 1.5; }
.venue-access { gap: 5px; flex-wrap: wrap; justify-content: center; text-decoration: none; }
.venue-access__label { font-family: var(--sans); font-size: 19px; text-decoration: underline; text-underline-offset: 5px; }
.fukuoka-card .performance-period { color: var(--red); }
.fukuoka-card .performance-year { font-size: 24px; }
.fukuoka-card .performance-venue { font-size: 44px; }
.performance-range--numeric { display: flex; align-items: baseline; justify-content: center; gap: 8px; white-space: nowrap; }
.performance-day { display: inline-flex; align-items: baseline; gap: 2px; }
.performance-day strong { font-size: clamp(38px,4vw,60px); font-weight: 500; line-height: 1.15; }
.date-unit { font-size: 22px; }
.performance-day .performance-weekday { font-size: 13px; align-self: center; margin-left: 3px; }
.date-separator { font-size: 26px; }
.schedule-art picture, .schedule-art img { display: block; width: 100%; height: auto; }
.schedule-art--overlap { position: relative; isolation: isolate; margin: 24px -20px 0; padding-bottom: 22px; }
.schedule-art--overlap::before { content: ""; position: absolute; inset: clamp(18px,2.4vw,28px) 3.8% 0; z-index: -1; border: 1px solid var(--line); background: var(--white); }
.schedule-art__crop img { transform: translateY(-35.648148%); }
.mobile-copy-break { display: none; }
.booking-card--online .booking-hours { margin-top: 12px; }
.playguide-list .button { position: relative; justify-content: center; text-align: center; }
.playguide-list .button > .icon { position: absolute; right: 18px; }
.hakataza-link--logo { padding: 14px 18px; }
.hakataza-link--logo img { width: 220px; height: auto; }
@media (min-width:1024px) {
  .hero-inner { width: min(1220px,calc(100% - 100px)); grid-template-columns: minmax(480px,1fr) minmax(0,1fr); gap: clamp(32px,4vw,56px); }
  .hero-picture { width: min(100%,calc((100svh - var(--header-h) - 24px) * var(--main-ratio,.70703125) / .8),660px); margin-inline: auto; }
  .hero-tagline { display: none; }
  .tour-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tour-card { padding: 28px; }
  .tour-card .performance-heading { gap: 16px; }
  .tour-card .performance-heading h3 { font-size: 28px; }
  .tour-card .performance-venue { font-size: 30px; white-space: nowrap; }
  .tour-card .performance-year { font-size: 18px; }
  .tour-card .performance-range { font-size: clamp(19px,1.7vw,24px); }
}
@media (min-width:768px) and (max-width:1023px) {
  .fukuoka-card > .performance-heading { padding-inline: 24px; gap: 16px; }
  .fukuoka-card .performance-venue { font-size: 36px; }
  .performance-day strong { font-size: 38px; }
  .date-unit { font-size: 18px; }
}
@media (max-width:767px) {
  .movie-caption { text-align: center; }
  .performance-period { text-align: center; }
  .performance-year, .fukuoka-card .performance-year { font-size: 20px; }
  .performance-range { font-size: clamp(21px,6vw,27px); }
  .performance-venue, .fukuoka-card .performance-venue { font-size: 36px; }
  .venue-access__label { font-size: 17px; }
  .performance-range--numeric { gap: 5px; }
  .performance-day { gap: 1px; }
  .performance-day strong { font-size: clamp(30px,8.7vw,40px); }
  .date-unit { font-size: 17px; }
  .performance-day .performance-weekday { font-size: 10px; margin-left: 1px; }
  .date-separator { font-size: 18px; }
  .schedule-art--overlap { margin: 24px -16px 0; padding-bottom: 18px; }
  .schedule-art--overlap::before { top: 16px; }
  .mobile-copy-break { display: initial; }
  .sale-calendar { padding-inline: 9px; }
  .sale-calendar .sale-notice { font-size: clamp(16px,4.35vw,20px); line-height: 1.9; font-weight: 600; letter-spacing: 0; text-align: center; }
  .box-office-sale { font-size: clamp(14px,3.9vw,17px); line-height: 2; text-align: center; letter-spacing: 0; }
  .hakataza-link--logo img { width: 210px; }
}

/* 1.2.1 / 001.jpg: align the chart frame with the Fukuoka card.
   Only the supplied artwork extends outside; content below keeps its inset. */
.schedule-stage { padding-top: 16px; }
.schedule-stage > .schedule-art--overlap { margin: 0; padding-bottom: 22px; }
.schedule-stage > .schedule-art--overlap::before { inset-inline: 0; }
.schedule-stage > .schedule-art--overlap > picture {
  position: relative;
  left: 50%;
  width: 108.225108%;
  max-width: calc(100vw - 24px);
  transform: translateX(-50%);
}
.fukuoka-body--schedule { padding-bottom: 0; }
@media (max-width:767px) {
  .schedule-stage > .schedule-art--overlap { padding-bottom: 18px; }
}
