@charset "UTF-8";
/* =========================================================
   HARMONY OF LIGHT 2026 LP
   カンプ：PC 1440 / SP 375（959px以下は SP の組み）
   クラスは h26- で始まる物だけ（既存テーマ・プラグインと混ざらない）
   ========================================================= */

:root {
  --h26-gold: #D9A647;
  --h26-yellow: #FDD108;
  --h26-pale: #FFED8E;
  --h26-orange: #FFC55A;
  --h26-ink: #ffffff;
  --h26-sub: rgba(255, 255, 255, .82);
  --h26-line: rgba(217, 166, 71, .7);
  --h26-dark: #0a0b0f;
  --h26-brown: #1d0f08;
  --h26-en: "larken", "Cormorant Garamond", "Times New Roman", serif;
  --h26-serif: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --h26-sans: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  --h26-acumin: "acumin-pro", "Helvetica Neue", Arial, sans-serif;
  --h26-header-h: 84px;
}
@media (max-width: 959px) {
  :root { --h26-header-h: 60px; }
}

/* ---------- 土台 ---------- */
.h26-body { margin: 0; background: var(--h26-dark); color: var(--h26-ink); font-family: var(--h26-sans); font-size: 15px; line-height: 2; letter-spacing: .04em; -webkit-text-size-adjust: 100%; overflow-x: hidden; }
.h26-body *, .h26-body *::before, .h26-body *::after { box-sizing: border-box; }
:where(.h26-body) :where(img, svg) { max-width: 100%; height: auto; vertical-align: middle; }
:where(.h26-body) :where(a) { color: inherit; }
:where(.h26-body) :where(ul, ol) { list-style: none; margin: 0; padding: 0; }
:where(.h26-body) :where(h1, h2, h3, h4, p, figure, dl, dd) { margin: 0; }
.h26-body :where(figure) { margin: 0; }
.h26-body :focus-visible { outline: 2px solid var(--h26-yellow); outline-offset: 3px; }
html.h26-html { scroll-behavior: smooth; }
html.h26-html [id] { scroll-margin-top: calc(var(--h26-header-h) + 8px); }
@media (prefers-reduced-motion: reduce) { html.h26-html { scroll-behavior: auto; } }

.h26-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.h26-skip { position: absolute; left: 8px; top: -60px; z-index: 1000; padding: 8px 16px; background: #fff; color: #000 !important; font-size: 14px; text-decoration: none; }
.h26-skip:focus { top: 8px; }

.sp, .sp-only { display: none !important; }
@media (max-width: 959px) {
  .pc, .pc-only { display: none !important; }
  .sp { display: inline !important; }
  .sp-only { display: block !important; }
  .h26-body { font-size: 13px; }
}

/* 未設定のリンク・確認待ちの印（テスト環境だけ見える。本番では data-unset が付かない） */
.h26-body a[data-unset] { cursor: not-allowed; }
.h26-preview a[data-unset] { outline: 2px dashed #ff5a8a; outline-offset: 2px; }
.h26-preview [data-check] { box-shadow: inset 0 -2px 0 #4fd1ff; }
.h26-tbd { color: rgba(255, 255, 255, .55); }
.h26-tbd--img { display: flex; align-items: center; justify-content: center; aspect-ratio: 344 / 214; background: repeating-linear-gradient(45deg, #2a2a30 0 12px, #33333a 12px 24px); color: rgba(255, 255, 255, .7); font-size: 13px; }

/* ---------- 共通の見出し ---------- */
.h26-h2 { display: flex; flex-direction: column; align-items: center; text-align: center; line-height: 1.1; margin-bottom: 72px; font-weight: 400; }
.h26-h2 .en { font-family: var(--h26-en); font-weight: 300; font-size: 58px; letter-spacing: .06em; }
.h26-h2 .ja { margin-top: 12px; font-size: 13px; letter-spacing: .2em; color: var(--h26-sub); }
.h26-h2s { display: flex; justify-content: center; align-items: center; gap: 14px; font-family: var(--h26-serif); font-weight: 600; font-size: 26px; letter-spacing: .2em; margin-bottom: 40px; }
.h26-h2s img { width: 14px; height: 14px; }
.h26-gold-lead { color: var(--h26-gold); font-family: var(--h26-serif); font-weight: 600; font-size: 18px; line-height: 1.8; }
.h26-sec { position: relative; padding: 140px 20px 0; }
@media (max-width: 959px) {
  .h26-h2 { margin-bottom: 36px; }
  .h26-h2 .en { font-size: 40px; }
  .h26-h2 .ja { font-size: 11px; margin-top: 8px; }
  .h26-h2s { font-size: 18px; gap: 10px; }
  .h26-sec { padding: 80px 20px 0; }
  .h26-gold-lead { font-size: 14px; }
}

/* ---------- ボタン ---------- */
.h26-btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; margin-top: 48px; }
.h26-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; position: relative; min-width: 340px; min-height: 58px; padding: 12px 44px; border: 1px solid rgba(255, 255, 255, .85); border-radius: 999px; color: #fff !important; text-decoration: none; font-size: 14px; line-height: 1.6; letter-spacing: .08em; text-align: center; transition: background-color .3s, color .3s; }
.h26-btn > img:last-of-type { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); width: 12px; }
.h26-btn .ig { width: 14px; }
.h26-btn:hover { background: rgba(255, 255, 255, .12); }
.h26-btn--2line { min-height: 80px; }
.h26-btn--serif { font-family: var(--h26-en); font-size: 17px; font-weight: 300; min-width: 360px; min-height: 60px; }
.h26-btn--gold { background: linear-gradient(90deg, #C3810F, #D9A647); border-color: #D9A647; color: #fff !important; font-weight: 700; }
.h26-btn--gold:hover { background: linear-gradient(90deg, #D08E1C, #E8B65A); }
.h26-btn--gold small { font-size: 11px; font-weight: 500; margin-left: .6em; }
.h26-btn--gold .h26-ico { width: 22px; }
@media (max-width: 959px) {
  .h26-btns { margin-top: 36px; gap: 14px; }
  .h26-btn { min-width: 0; width: 100%; max-width: 335px; min-height: 54px; font-size: 13px; padding: 10px 36px; }
  .h26-btn--2line { min-height: 70px; }
  .h26-btn--serif { font-size: 16px; }
}

/* ---------- ヘッダー ---------- */
.h26-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; height: var(--h26-header-h); display: flex; align-items: center; justify-content: space-between; padding: 0 30px; transition: background-color .4s; }
.h26-header.is-scrolled { background: rgba(5, 6, 12, .82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.h26-header__logo { display: block; width: 286px; flex-shrink: 0; }
.h26-header__logo img { width: 100%; }
.h26-gnav ul { display: flex; gap: 22px; }
.h26-gnav a { display: flex; flex-direction: column; align-items: center; text-decoration: none; line-height: 1.3; padding: 6px 0; }
.h26-gnav .en { font-family: var(--h26-en); font-size: 13px; letter-spacing: .06em; }
.h26-gnav .ja { font-size: 10px; letter-spacing: .06em; color: var(--h26-sub); }
.h26-gnav a:hover .en { color: var(--h26-pale); }
.h26-menubtn { display: none; }
@media (max-width: 1279px) and (min-width: 960px) {
  .h26-header { padding: 0 20px; }
  .h26-header__logo { width: 200px; }
  .h26-gnav ul { gap: 13px; }
  .h26-gnav .en { font-size: 11px; }
  .h26-gnav .ja { font-size: 9px; }
}
@media (max-width: 959px) {
  .h26-header { padding: 0 16px; justify-content: flex-end; }
  .h26-header__logo { position: absolute; left: 50%; top: 50%; width: 180px; transform: translate(-50%, -50%); opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s; }
  .h26-header.is-scrolled .h26-header__logo { opacity: 1; visibility: visible; }
  .h26-gnav { display: none; }
  .h26-menubtn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 4px; background: none; border: 0; color: #fff; font-family: var(--h26-en); font-size: 15px; letter-spacing: .1em; cursor: pointer; }
  .h26-menubtn { flex-direction: column; gap: 2px; padding: 6px 2px; font-size: 11px; line-height: 1; }
  .h26-menubtn__star { width: 16px; }
}

/* ---------- SPメニュー ---------- */
.h26-spmenu { position: fixed; z-index: 200; inset: 0; overflow-y: auto; padding: 0 20px 48px; background: linear-gradient(rgba(4, 5, 12, .78), rgba(4, 5, 12, .9)), url("../img/fv_sp.webp") center top / cover no-repeat #05060c; text-align: center; }
.h26-spmenu[hidden] { display: none; }
.h26-spmenu__head { position: relative; height: 60px; display: flex; align-items: center; justify-content: center; }
.h26-spmenu__head > img { width: 200px; }
.h26-spmenu__close { position: absolute; right: -4px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; gap: 6px; padding: 10px 4px; background: none; border: 0; color: #fff; font-family: var(--h26-en); font-size: 15px; letter-spacing: .1em; cursor: pointer; }
.h26-spmenu__close img { width: 14px; }
.h26-spmenu__list { margin: 28px 0 36px; }
.h26-spmenu__list a { display: flex; flex-direction: column; align-items: center; padding: 9px 0; text-decoration: none; line-height: 1.2; }
.h26-spmenu__list .en { font-family: var(--h26-en); font-size: 26px; font-weight: 300; letter-spacing: .06em; }
.h26-spmenu__list .ja { margin-top: 4px; font-size: 10px; color: var(--h26-sub); letter-spacing: .14em; }
.h26-spmenu__official { margin: 0 auto; }
.h26-spmenu__insta { display: inline-block; margin-top: 24px; padding: 6px; }
.h26-spmenu__insta img { width: 30px; }
.h26-is-locked { overflow: hidden; }

/* ---------- 追従のチケットボタン ---------- */
.h26-ticket { position: fixed; z-index: 90; right: 28px; bottom: 28px; width: 140px; display: block; transition: transform .3s; }
.h26-ticket:hover { transform: scale(1.04); }
.h26-ticket img { width: 100%; }
@media (max-width: 959px) {
  .h26-ticket { width: 96px; right: 12px; bottom: 14px; }
}

/* ---------- FV ---------- */
.h26-fv { position: relative; min-height: 850px; overflow: hidden; background: #000; }
.h26-fv__photo { position: absolute; right: 0; top: 0; width: 80%; height: 100%; }
.h26-fv__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 22%); mask-image: linear-gradient(to right, transparent 0, #000 22%); }
.h26-fv__body { position: relative; z-index: 1; width: 640px; max-width: 46%; padding: 150px 0 80px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.h26-fv__logo { position: relative; width: 280px; }
.h26-fv__glow { position: absolute; left: 50%; top: 50%; width: 150%; max-width: none; transform: translate(-50%, -50%); pointer-events: none; mix-blend-mode: screen; }
.h26-fv__logo > img:last-of-type { position: relative; width: 100%; }
.h26-fv__sub { margin-top: 26px; font-family: var(--h26-serif); font-size: 16px; letter-spacing: .3em; }
.h26-fv__copy { margin-top: 20px; font-family: var(--h26-serif); font-size: 18px; line-height: 2; letter-spacing: .12em; }
.h26-fv__date { position: relative; margin-top: 32px; font-family: var(--h26-serif); color: var(--h26-gold); font-weight: 600; line-height: 1; white-space: nowrap; }
.h26-fv__dateglow { position: absolute; left: 50%; top: 50%; width: 120%; max-width: none; transform: translate(-50%, -50%); pointer-events: none; mix-blend-mode: screen; opacity: .9; }
.h26-fv__date span { position: relative; }
.h26-fv__date .y { font-size: 20px; }
.h26-fv__date .d { font-size: 40px; letter-spacing: .02em; }
.h26-fv__date .w { font-size: 15px; }
.h26-fv__date .sep { margin: 0 .3em; font-size: 20px; }
.h26-fv__time { margin-top: 26px; padding: 10px 18px; border: 1px solid var(--h26-line); background: rgba(0, 0, 0, .35); font-size: 13px; line-height: 1.9; }
.h26-fv__time div { display: flex; justify-content: space-between; gap: 24px; }
.h26-fv__time dd { font-family: var(--h26-serif); font-weight: 600; letter-spacing: .06em; }
@media (max-width: 959px) {
  .h26-fv { min-height: 0; padding-bottom: 56px; }
  .h26-fv__photo { position: relative; width: 150%; height: auto; margin-left: -25%; aspect-ratio: 1125 / 1039; }
  .h26-fv__photo img { -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent 100%); mask-image: linear-gradient(to bottom, #000 70%, transparent 100%); }
  .h26-fv__body { width: 100%; max-width: none; margin-top: -40%; padding: 0 20px; }
  .h26-fv__logo { width: 210px; }
  .h26-fv__sub { margin-top: 18px; font-size: 14px; }
  .h26-fv__copy { margin-top: 14px; font-size: 15px; }
  .h26-fv__date { margin-top: 24px; }
  .h26-fv__date .y, .h26-fv__date .sep { font-size: 15px; }
  .h26-fv__date .d { font-size: 30px; }
  .h26-fv__date .w { font-size: 12px; }
  .h26-fv__time { padding: 10px 6px; font-size: 12px; width: 100%; max-width: 335px; }
  .h26-fv__time div { gap: 8px; }
}

/* ---------- 背景の一続き ---------- */
.h26-bg-light { position: relative; padding-bottom: 120px; background: url("../img/bg_light.webp") center top / 100% auto repeat-y #0b0c10; }
.h26-bg-navy { position: relative; padding-bottom: 120px; background: url("../img/bg_navy.webp") center top / 100% 100% no-repeat #121535; }
@media (max-width: 959px) {
  .h26-bg-light, .h26-bg-navy { padding-bottom: 80px; background-size: 200% auto; background-repeat: repeat-y; }
}

/* ---------- CONCEPT ---------- */
.h26-concept__row { display: flex; align-items: center; justify-content: center; gap: 70px; max-width: 1200px; margin: 0 auto; }
.h26-concept__img { width: 650px; flex-shrink: 0; }
.h26-concept__img img { width: 100%; }
.h26-concept__text { font-size: 16px; line-height: 3; letter-spacing: .1em; }
.h26-concept__lantern { position: absolute; right: max(40px, calc(50% - 600px)); bottom: -110px; width: 150px; pointer-events: none; z-index: 1; }
@media (max-width: 959px) {
  .h26-concept__row { flex-direction: column; gap: 32px; }
  .h26-concept__img { width: 100%; max-width: 480px; }
  .h26-concept__text { font-size: 13px; line-height: 2.3; text-align: center; }
  .h26-concept__text br { display: none; }
  .h26-concept__lantern { width: 90px; right: 12px; bottom: -70px; }
}

/* ---------- EXPERIENCE ---------- */
.h26-exp__row { display: flex; align-items: center; justify-content: center; gap: 60px; max-width: 1080px; margin: 0 auto; }
.h26-exp__img { width: 480px; flex-shrink: 0; }
.h26-exp__img img { width: 100%; }
.h26-exp__how { flex: 1; max-width: 540px; }
.h26-exp__title { font-family: var(--h26-serif); font-weight: 500; font-size: 28px; letter-spacing: .14em; line-height: 1.5; margin-bottom: 30px; text-align: center; }
.h26-exp__title .en { display: block; margin-top: 4px; font-family: var(--h26-en); font-weight: 300; font-size: 20px; color: var(--h26-gold); letter-spacing: .12em; }
.h26-exp__list { margin-top: 14px; font-size: 15px; line-height: 2.1; }
.h26-exp__list li { padding-left: 1em; text-indent: -1em; }
.h26-exp__list li + li { margin-top: 8px; }

.h26-steps { max-width: 980px; margin: 80px auto 0; }
.h26-steps__list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; }
.h26-step { display: flex; flex-direction: column; text-align: center; }
.h26-step__no { align-self: center; padding-bottom: 4px; border-bottom: 1px solid var(--h26-gold); color: var(--h26-gold); font-family: var(--h26-en); font-size: 17px; letter-spacing: .08em; line-height: 1.4; }
.h26-step__title { margin-top: 12px; font-family: var(--h26-serif); font-size: 17px; font-weight: 600; line-height: 1.6; }
.h26-step__text { margin-top: 6px; font-size: 13px; line-height: 1.8; min-height: 4.4em; color: var(--h26-sub); }
.h26-step > img { order: 5; width: 160px; max-width: 100%; margin: 14px auto 0; aspect-ratio: 4 / 3; object-fit: cover; }
.h26-step__colors { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 6px; margin-top: 8px; font-size: 10px; line-height: 1.2; }
.h26-step__colors li { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.h26-step__colors span { display: block; width: 14px; height: 14px; border-radius: 50%; background: #fff; }
.h26-exp__info { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 4px 14px; width: 940px; max-width: 100%; margin: 48px auto 0; padding: 12px 24px; border: 1px solid var(--h26-line); background: rgba(0, 0, 0, .3); font-size: 16px; font-weight: 500; }
.h26-exp__info .bar { color: var(--h26-gold); }
.h26-exp__entry { max-width: 940px; margin: 96px auto 0; text-align: center; font-size: 15px; }
.h26-exp__entry .h26-gold-lead { font-size: 20px; margin-bottom: 14px; }
.h26-exp__entry p + p { margin-top: 8px; }
@media (max-width: 959px) {
  .h26-exp__row { flex-direction: column; gap: 32px; }
  .h26-exp__img { width: 100%; max-width: 480px; }
  .h26-exp__title { font-size: 20px; text-align: center; }
  .h26-exp__how .h26-gold-lead { text-align: center; }
  .h26-exp__list { font-size: 13px; }
  .h26-steps { margin: 56px -20px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; padding: 0 20px 12px; }
  .h26-steps__list { display: flex; gap: 20px; width: max-content; }
  .h26-step { width: 200px; scroll-snap-align: start; }
  .h26-step > img { width: 200px; }
  .h26-exp__info { flex-direction: column; gap: 6px; padding: 16px 12px; font-size: 13px; line-height: 1.7; text-align: center; }
  .h26-exp__info .bar { display: none; }
  .h26-exp__entry { font-size: 13px; }
}

/* ---------- GUIDE ---------- */
.h26-guide { text-align: center; }
.h26-guide__date { font-family: var(--h26-serif); font-weight: 600; font-size: 42px; letter-spacing: .04em; line-height: 1.5; white-space: nowrap; }
.h26-guide__date .w { font-size: .55em; }
.h26-guide__time { display: inline-grid; gap: 2px; margin-top: 16px; font-size: 19px; text-align: left; }
.h26-guide__time div { display: flex; justify-content: space-between; gap: 100px; }
.h26-guide__time dd { font-family: var(--h26-serif); font-weight: 600; }
.h26-guide__info { margin: 44px auto 0; font-size: 14px; line-height: 1.9; }
.h26-guide__info div { display: flex; justify-content: center; flex-wrap: wrap; }
.h26-price__h { margin-top: 96px; font-family: var(--h26-serif); font-weight: 500; font-size: 22px; letter-spacing: .3em; }
.h26-price { position: relative; width: 928px; max-width: 100%; margin: 36px auto 0; }
.h26-price__photo { position: absolute; z-index: 1; left: -66px; top: -54px; width: 132px; height: 132px; object-fit: cover; border-radius: 50%; border: 2px solid var(--h26-gold); }
.h26-price__table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 15px; background: rgba(0, 0, 0, .35); }
.h26-price__table th, .h26-price__table td { padding: 13px 8px; border: 1px solid rgba(217, 166, 71, .6); line-height: 1.5; text-align: center; vertical-align: middle; }
.h26-price__table thead th { background: #8a6424; color: #fff; font-weight: 500; font-size: 16px; letter-spacing: .3em; }
.h26-price__table thead td { background: transparent; border-top-color: transparent; border-left-color: transparent; }
.h26-price__table thead tr > :first-child { width: 326px; }
.h26-price__table tbody th { background: #8a6424; font-family: var(--h26-serif); font-weight: 600; font-size: 17px; text-align: center; }
.h26-price__table tbody th:has(small) { padding-top: 24px; padding-bottom: 24px; }
.h26-price__table tbody th small { display: block; margin-top: 4px; font-family: var(--h26-sans); font-size: 12px; font-weight: 500; color: #fff; }
.h26-price__table tbody td { font-weight: 500; font-size: 17px; }
.h26-price__note { margin-top: 10px; text-align: right; font-size: 13px; }
.h26-price__note a { color: var(--h26-pale); }
.h26-pack__h { margin-top: 48px; font-family: var(--h26-sans); font-weight: 500; font-size: 20px; color: var(--h26-yellow); letter-spacing: .08em; }
.h26-pack { display: grid; grid-template-columns: 1fr 1fr; width: 928px; max-width: 100%; margin: 24px auto 0; border: 1px solid var(--h26-line); background: rgba(0, 0, 0, .35); }
.h26-pack__item { padding: 34px 20px 36px; }
.h26-pack__item + .h26-pack__item { border-left: 1px solid var(--h26-line); }
.h26-pack__item h4 { display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--h26-gold); font-family: var(--h26-serif); font-size: 20px; font-weight: 600; }
.h26-pack__item h4 small { font-size: 12px; }
.h26-pack__price { margin-top: 20px; font-weight: 500; }
.h26-pack__price s { font-size: 16px; }
.h26-pack__price .arrow { margin: 0 12px; color: var(--h26-gold); }
.h26-pack__price strong { font-size: 22px; font-weight: 500; }
.h26-pack__text { margin-top: 14px; font-size: 14px; line-height: 1.8; }
.h26-ico { color: var(--h26-gold); flex-shrink: 0; }

.h26-cal__h { margin-top: 140px; }
.h26-cal__legend { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; width: 1022px; max-width: 100%; margin: 56px auto 0; font-size: 13px; }
.h26-cal__legend li { display: flex; align-items: center; gap: 6px; }
.h26-cal__legend .sw { display: inline-block; width: 16px; height: 16px; border: 1px solid rgba(255, 255, 255, .4); }
.sw--w { background: #fff; } .sw--sat { background: #d7e4f4; } .sw--sun { background: #f6d9dc; } .sw--off { background: #8c8c8c; }
.h26-cal { display: flex; justify-content: center; gap: 40px; margin-top: 44px; }
.h26-cal__month { width: 314px; }
.h26-cal__month h4 { font-family: var(--h26-en); font-weight: 300; font-size: 30px; letter-spacing: .04em; line-height: 1.2; margin-bottom: 10px; }
.h26-cal__month h4 small { font-size: 16px; margin-left: .3em; }
.h26-cal__month table { width: 100%; border-collapse: collapse; table-layout: fixed; font-family: var(--h26-acumin); font-size: 14px; }
.h26-cal__month th { padding: 4px 0; background: #3a3a3a; color: #fff; font-weight: 500; font-size: 12px; font-family: var(--h26-sans); }
.h26-cal__month th.sat { color: #8fb3ff; } .h26-cal__month th.sun { color: #ff8f96; }
.h26-cal__month td { height: 38px; border: 1px solid #000; text-align: center; color: #222; background: #fff; }
.h26-cal__month td.sat { background: #d7e4f4; color: #1a3f8f; }
.h26-cal__month td.sun { background: #f6d9dc; color: #c0262d; }
.h26-cal__month td.off { background: #8c8c8c; color: #fff; }
.h26-cal__month td.empty { background: #000; }
@media (max-width: 959px) {
  .h26-guide__date { font-size: 22px; }
  .h26-guide__time { font-size: 13px; }
  .h26-guide__time div { gap: 14px; }
  .h26-guide__info { font-size: 13px; }
  .h26-guide__info .addr { display: block; }
  .h26-price__h { font-size: 18px; margin-top: 56px; }
  .h26-price__photo { left: auto; right: -6px; top: -46px; width: 84px; height: 84px; }
  .h26-price__sp { display: grid !important; gap: 18px; }
  .h26-price__box { width: 100%; border-collapse: collapse; table-layout: fixed; background: rgba(0, 0, 0, .35); }
  .h26-price__box caption { padding: 10px 8px; background: #8a6424; font-weight: 700; font-size: 14px; line-height: 1.5; }
  .h26-price__box caption small { display: block; font-size: 10px; font-weight: 500; color: var(--h26-pale); }
  .h26-price__box th, .h26-price__box td { border: 1px solid rgba(217, 166, 71, .6); padding: 8px 2px; text-align: center; line-height: 1.4; }
  .h26-price__box th { background: var(--h26-gold); color: #1d0f08; font-size: 11px; font-weight: 700; }
  .h26-price__box th small { display: block; font-size: 9px; }
  .h26-price__box td { font-family: var(--h26-serif); font-weight: 600; font-size: 14px; }
  .h26-pack__h { font-size: 15px; margin-top: 48px; }
  .h26-pack { grid-template-columns: 1fr; gap: 16px; }
  .h26-pack__item h4 { font-size: 16px; flex-wrap: wrap; }
  .h26-pack__price strong { font-size: 24px; }
  .h26-cal__h { margin-top: 64px; }
  .h26-cal__legend { flex-direction: column; align-items: center; gap: 6px; font-size: 12px; }
  .h26-cal { flex-direction: column; align-items: center; gap: 28px; }
  .h26-cal__month { width: 100%; max-width: 335px; }
  .h26-cal__month td { height: 34px; font-size: 13px; }
}

/* ---------- MAP ---------- */
.h26-map__wrap { overflow: hidden; }
.h26-map__inner { position: relative; width: 870px; max-width: 100%; margin: 0 auto; }
.h26-map__img { width: 100%; }
.h26-pin { position: absolute; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 13px; line-height: 1.3; text-shadow: 0 0 6px rgba(0, 0, 0, .9); }
.h26-pin__ico { flex-shrink: 0; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(15, 10, 4, .75); border: 1.5px solid var(--h26-gold); color: var(--h26-pale); }
.h26-pin__ico svg, .h26-pin__ico img { width: 62%; height: 62%; }
.h26-pin--touch .h26-pin__ico { width: 30px; height: 30px; }
.h26-pin--left { flex-direction: row-reverse; transform: translate(calc(-100% + 23px), -50%); }
.h26-pin--right { transform: translate(-23px, -50%); }
.h26-pin--below { flex-direction: column; transform: translate(-50%, -23px); text-align: center; }
.h26-pin--label { transform: translate(-50%, -50%); font-size: 13px; }
.h26-pin__label { font-family: var(--h26-serif); font-weight: 600; }
.h26-pin__label.h26-tbd { color: rgba(255, 255, 255, .8); }
.h26-pin--tag { flex-direction: column; transform: translate(-50%, -20px); text-align: center; }
.h26-pin__tag { padding: 4px 16px; border-radius: 999px; background: var(--h26-gold); color: #1d0f08; font-family: var(--h26-en); font-size: 16px; letter-spacing: .06em; text-shadow: none; }
.h26-pin__sub { font-size: 12px; }
@media (max-width: 959px) {
  .h26-map__wrap { margin: 0 -20px; }
  .h26-map__inner { width: 120vw; max-width: none; margin-left: -10vw; }
  .h26-pin { font-size: 10px; gap: 3px; }
  .h26-pin__ico { width: 28px; height: 28px; }
  .h26-pin--touch .h26-pin__ico { width: 18px; height: 18px; }
  .h26-pin--left { transform: translate(calc(-100% + 14px), -50%); }
  .h26-pin--right { transform: translate(-14px, -50%); }
  .h26-pin--below { transform: translate(-50%, -14px); }
  .h26-pin__tag { font-size: 12px; padding: 2px 10px; }
  .h26-pin__sub { font-size: 10px; }
}

/* ---------- OTHER CONTENTS ---------- */
.h26-other__list { display: grid; grid-template-columns: repeat(3, 344px); justify-content: center; gap: 40px; }
.h26-other__item > img, .h26-other__item > .h26-tbd--img { width: 100%; aspect-ratio: 344 / 214; object-fit: cover; }
.h26-other__item h3 { display: flex; align-items: center; gap: 12px; margin-top: 18px; font-family: var(--h26-serif); font-size: 20px; font-weight: 600; line-height: 1.4; }
.h26-other__item h3 .en { display: block; font-family: var(--h26-en); font-weight: 300; font-size: 14px; color: var(--h26-gold); letter-spacing: .08em; }
.h26-pinicon { flex-shrink: 0; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--h26-gold); color: #1d0f08; }
.h26-pinicon img, .h26-pinicon svg { width: 100%; height: 100%; }
.h26-pinicon svg { width: 60%; height: 60%; }
.h26-other__item p { margin-top: 14px; font-size: 14px; line-height: 1.9; }
@media (max-width: 1199px) and (min-width: 960px) { .h26-other__list { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
@media (max-width: 959px) {
  .h26-other__list { grid-template-columns: 1fr; gap: 40px; max-width: 400px; margin: 0 auto; }
  .h26-other__item h3 { font-size: 18px; }
}

/* ---------- Q&A（カンプどおり全部開いた一覧） ---------- */
.h26-qa { display: flex; justify-content: center; gap: 175px; max-width: 1100px; margin: 0 auto; }
.h26-qa__h { flex-shrink: 0; align-items: flex-start; text-align: left; margin-bottom: 0; }
.h26-qa__h .ja { font-size: 18px; color: #fff; letter-spacing: .1em; }
.h26-qa__list { flex: 1; }
.h26-qa__list dt { color: var(--h26-gold); font-weight: 700; font-size: 17px; line-height: 1.7; }
.h26-qa__list dd { margin-top: 12px; font-size: 14px; line-height: 2; }
.h26-qa__list dd + dt { margin-top: 36px; }
@media (max-width: 959px) {
  .h26-qa { flex-direction: column; gap: 0; }
  .h26-qa__h { align-items: center; text-align: center; margin-bottom: 40px; }
  .h26-qa__h .ja { font-size: 13px; }
  .h26-qa__list dt { font-size: 16px; }
  .h26-qa__list dd { margin-top: 6px; font-size: 14px; line-height: 1.9; }
  .h26-qa__list dd + dt { margin-top: 30px; }
}

/* ---------- 紺の一続き（EVENT〜SHOPPING） ---------- */
.h26-cards__prev { display: none; }
.h26-cards__list { display: grid; grid-template-columns: repeat(3, 344px); justify-content: center; gap: 40px; }
.h26-cards__list--2 { grid-template-columns: repeat(2, 460px); }
.h26-card img { width: 100%; aspect-ratio: 344 / 214; object-fit: cover; }
.h26-cards__list--2 .h26-card img { aspect-ratio: 460 / 340; }
.h26-card p { margin-top: 14px; font-size: 14px; font-weight: 700; line-height: 1.7; letter-spacing: .08em; }
@media (max-width: 1199px) and (min-width: 960px) {
  .h26-cards__list { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .h26-cards__list--2 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 959px) {
  .h26-body .h26-cards__prev { display: block; width: max-content; margin: -20px auto 28px; padding-bottom: 2px; border-bottom: 1px solid var(--h26-gold); color: var(--h26-gold); font-family: var(--h26-serif); font-size: 15px; font-weight: 600; }
  .h26-cards__list, .h26-cards__list--2 { grid-template-columns: 1fr; gap: 28px; max-width: 400px; margin: 0 auto; }
}

/* ---------- ACCESS ---------- */
.h26-access { padding-top: 120px; padding-bottom: 120px; background: url("../img/bg_access.webp") center / cover no-repeat #03101a; }
.h26-route { position: relative; max-width: 1100px; margin: 0 auto; }
.h26-route__inner { position: relative; width: 1100px; height: 700px; margin: 0 auto; font-size: 14px; line-height: 1; }
.h26-route__lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.h26-route__lines .dot { stroke: rgba(255, 255, 255, .85); stroke-width: 1.4; stroke-dasharray: 2 5; stroke-linecap: round; fill: none; }
.h26-route__lines .solid { stroke: rgba(255, 255, 255, .85); stroke-width: 1.4; fill: none; }
.h26-r { position: absolute; display: flex; align-items: center; white-space: nowrap; }
.h26-r--h { font-family: var(--h26-serif); font-weight: 600; font-size: 18px; letter-spacing: .14em; height: 30px; padding-left: 16px; border-left: 3px solid var(--h26-gold); }
.h26-r--box { height: 34px; width: 264px; justify-content: center; background: #fff; color: #10203a; font-weight: 700; font-size: 14px; }
.h26-r--st { height: 34px; justify-content: center; border: 1px solid rgba(255, 255, 255, .9); background: rgba(3, 16, 26, .9); font-size: 14px; }
.h26-r--t { font-size: 13px; text-shadow: 0 0 4px #03101a, 0 0 4px #03101a; }
.h26-r--goal { left: 1064px; top: 54px; width: 36px; height: 640px; justify-content: center; background: var(--h26-gold); color: #1d0f08; font-weight: 700; font-size: 16px; letter-spacing: .3em; writing-mode: vertical-rl; text-orientation: upright; }
.h26-route__hint { display: none; }
@media (max-width: 1139px) {
  .h26-route { margin: 0 -20px; padding: 0 20px 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 959px) {
  .h26-access { padding-top: 80px; padding-bottom: 80px; }
  .h26-route__hint { display: block !important; position: absolute; left: 50%; top: 260px; z-index: 2; width: 110px; transform: translateX(-50%); pointer-events: none; transition: opacity .4s; }
  .h26-route.is-scrolled .h26-route__hint { opacity: 0; }
}
@media (max-width: 959px) and (prefers-reduced-motion: no-preference) {
  .h26-route__hint { animation: h26-hint 1.8s ease-in-out infinite; }
}
@keyframes h26-hint { 0%, 100% { margin-left: 16px; } 50% { margin-left: -16px; } }

/* ---------- Instagram ---------- */
.h26-insta { padding-top: 120px; background: url("../img/bg_insta.webp") center top / cover no-repeat #070830; }
.h26-insta .h26-h2 { margin-bottom: 40px; }
.h26-insta__strip { margin: 0 -20px; overflow: hidden; }
.h26-insta__strip img { display: block; width: auto; max-width: none; height: 284px; margin: 0 auto; }
@media (max-width: 959px) {
  .h26-insta { padding-top: 80px; }
  .h26-insta__strip { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .h26-insta__strip img { height: 130px; margin: 0; }
}

/* ---------- PRODUCE ---------- */
.h26-produce { padding-top: 140px; padding-bottom: 120px; background: url("../img/bg_produce.webp") center top / cover no-repeat #021f44; }
.h26-produce__row { display: flex; align-items: center; justify-content: center; gap: 80px; max-width: 1000px; margin: 0 auto; }
.h26-produce__logo { width: 260px; flex-shrink: 0; }
.h26-produce__logo img { width: 100%; }
.h26-produce__text { max-width: 560px; font-size: 14px; line-height: 2.2; }
@media (max-width: 959px) {
  .h26-produce { padding-top: 80px; padding-bottom: 80px; }
  .h26-produce__row { flex-direction: column; gap: 32px; }
  .h26-produce__logo { width: 175px; }
  .h26-produce__text { font-size: 12px; }
}

/* ---------- CONTACT ---------- */
.h26-produce .h26-h2 .ja, .h26-contact .h26-h2 .ja { margin-top: 16px; font-size: 18px; letter-spacing: .1em; }
@media (max-width: 959px) { .h26-produce .h26-h2 .ja, .h26-contact .h26-h2 .ja { font-size: 13px; } }
.h26-contact { padding-top: 100px; padding-bottom: 110px; background: #000; }
.h26-contact .h26-h2 { margin-bottom: 0; }
@media (max-width: 959px) { .h26-contact { padding-top: 72px; padding-bottom: 80px; } }

/* ---------- フッター ---------- */
.h26-footer { background: var(--h26-brown); padding: 70px 20px 28px; }
.h26-footer__inner { display: flex; justify-content: space-between; align-items: center; gap: 40px; max-width: 1100px; margin: 0 auto; }
.h26-footer__brand { text-align: center; }
.h26-footer__brand img { width: 278px; }
.h26-footer__brand p { margin-top: 14px; font-family: var(--h26-serif); font-size: 14px; letter-spacing: .3em; }
.h26-footer__btns { display: flex; flex-direction: column; gap: 16px; }
.h26-footer__btns .h26-btn { min-width: 380px; }
.h26-footer__copy { max-width: 1100px; margin: 40px auto 0; text-align: right; font-family: var(--h26-acumin); font-size: 11px; color: var(--h26-sub); }
@media (max-width: 959px) {
  .h26-footer { padding: 56px 20px 120px; }
  .h26-footer__inner { flex-direction: column; gap: 36px; }
  .h26-footer__brand img { width: 210px; }
  .h26-footer__btns { width: 100%; align-items: center; }
  .h26-footer__btns .h26-btn { min-width: 0; }
  .h26-footer__copy { text-align: center; margin-top: 32px; }
}

/* ---------- SP（カンプ 375 に合わせた上書き） ---------- */
@media (max-width: 959px) {
  .h26-fv { padding-bottom: 16px; }
  .h26-fv__photo { display: block; position: absolute; left: 0; top: 0; width: 100%; height: min(173vw, 760px); margin: 0; aspect-ratio: auto; }
  .h26-fv__photo img { object-fit: cover; object-position: 50% 50%; -webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent 100%); mask-image: linear-gradient(to bottom, #000 72%, transparent 100%); }
  .h26-fv__body { margin-top: 0; padding: 76px 20px 0; }
  .h26-fv__logo { width: 240px; }
  .h26-fv__sub { margin-top: 4px; font-size: 17px; letter-spacing: .08em; }
  .h26-fv__copy { margin-top: calc(min(173vw, 760px) - 430px); font-size: 17px; line-height: 1.7; text-shadow: 0 0 8px rgba(0, 0, 0, .8); }
  .h26-fv__date { margin-top: 22px; }
  .h26-fv__time { margin-top: 12px; max-width: 307px; padding: 6px 12px; font-size: 11px; }

  .h26-concept { padding-top: 0; }
  .h26-concept .h26-h2 { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .h26-concept__row { gap: 24px; }
  .h26-concept__img { width: calc(100% + 40px); max-width: none; height: 92vw; margin: 0 -20px; overflow: hidden; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 16%, #000 82%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 16%, #000 82%, transparent 100%); }
  .h26-concept__img img { width: 165%; max-width: none; margin-left: -14%; }
  .h26-concept__text { font-size: 14px; line-height: 2.6; }
  .h26-concept__text br { display: inline; }
  .h26-concept__lantern { position: relative; display: block; right: auto; bottom: auto; width: 240px; margin: -10px 0 -60px 115px; }

  .h26-exp__row { gap: 28px; }
  .h26-exp__how { display: contents; }
  .h26-exp__title { order: -1; margin-bottom: 0; }
  .h26-exp__img { width: calc(100% + 40px); max-width: none; margin: 0 -20px; }
  .h26-exp__how > .h26-gold-lead, .h26-exp__how > .h26-exp__list { order: 1; align-self: stretch; }
  .h26-exp__how > .h26-exp__list { margin-top: -14px; }
  .h26-exp__entry { margin-top: 64px; }
  .h26-exp__entry .h26-gold-lead { font-size: 16px; }

  .h26-h2s { font-size: 20px; }
  .h26-guide__date { font-size: 21px; }
  .h26-guide__time { display: grid; width: 100%; font-size: 13px; }
  .h26-guide__time div { gap: 10px; }
  .h26-guide__info { text-align: left; margin-top: 18px; }
  .h26-guide__info div { justify-content: flex-start; flex-wrap: nowrap; }
  .h26-guide__info dt { flex-shrink: 0; }

  .h26-cal__legend { flex-direction: column; align-items: flex-start; margin-top: 32px; }
  .h26-cal__month { max-width: 345px; }
  .h26-cal__month td { height: 44px; font-size: 15px; }

  .h26-map__inner { width: 168vw; margin-left: -43vw; }
  .h26-pin { font-size: 15px; }
  .h26-pin__ico { width: 40px; height: 40px; }
  .h26-pin--touch .h26-pin__ico { width: 26px; height: 26px; }
  .h26-pin__sub { font-size: 11px; }
  .h26-pin__tag { font-size: 14px; padding: 2px 12px; }
  .h26-pin--left { transform: translate(calc(-100% + 20px), -50%); }
  .h26-pin--finale { left: 78% !important; }
  .h26-pin--left.h26-pin--lantern { flex-direction: column-reverse; text-align: center; transform: translate(-50%, calc(-100% + 20px)); }
  .h26-pin--right { transform: translate(-20px, -50%); }
  .h26-pin--below { transform: translate(-50%, -20px); }

  .h26-card img, .h26-cards__list--2 .h26-card img { aspect-ratio: 335 / 250; }
}

@media (min-width: 600px) and (max-width: 959px) {
  .h26-map__inner { width: min(870px, 100%); margin: 0 auto; }
  .h26-pin--finale { left: 81.3% !important; }
}

/* ---------- メインの背景（2026-11-03 依頼：濃さを 70% にそろえる。PC・SP 共通） ---------- */
.h26-bg-light { isolation: isolate; background: #0b0c10; }
.h26-bg-light::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/bg_light.webp") center top / 100% auto repeat-y; opacity: .7; pointer-events: none; }
@media (max-width: 959px) {
  .h26-bg-light { background: #0b0c10; }
  .h26-bg-light::before { background-size: 200% auto; }
}

/* ---------- SP カンプ忠実化（2026-11-03・XD の文字指定どおり） ---------- */
@media (max-width: 959px) {
  /* 字間：XD は指定のない文字は 0 */
  .h26-body { letter-spacing: 0; }
  /* 見出し */
  .h26-h2 .en { font-weight: 400; font-size: 40px; letter-spacing: .06em; color: #ddd8cc; }
  .h26-h2 .ja { margin-top: 10px; font-family: var(--h26-sans); font-weight: 700; font-size: 14px; letter-spacing: .04em; color: #ddd8cc; }
  .h26-h2s { font-family: var(--h26-sans); font-weight: 500; font-size: 22px; letter-spacing: 0; }
  .h26-gold-lead { font-family: var(--h26-sans); font-weight: 500; font-size: 18px; letter-spacing: 0; }

  /* FV */
  .h26-fv__sub { font-family: var(--h26-serif); }
  .h26-fv__copy { font-family: var(--h26-serif); font-weight: 700; font-size: 18px; letter-spacing: .06em; }
  .h26-fv__date { font-family: var(--h26-en); font-weight: 500; }
  .h26-fv__date .y { font-size: 16px; letter-spacing: .06em; }
  .h26-fv__date .d { font-size: 35px; letter-spacing: 0; }
  .h26-fv__date .d:nth-of-type(6) { font-weight: 400; }
  .h26-fv__date .w, .h26-fv__date .sep { font-family: var(--h26-sans); font-weight: 500; font-size: 13px; }
  .h26-fv__time dt { font-family: var(--h26-sans); font-weight: 500; font-size: 11px; letter-spacing: -.02em; }
  .h26-fv__time dd { font-family: var(--h26-en); font-weight: 300; font-size: 15px; letter-spacing: 0; white-space: nowrap; }
  .h26-fv__time { max-width: 325px; padding: 6px 12px; }
  .h26-fv__time div { gap: 6px; }
  .h26-fv__time dt { white-space: nowrap; }
  .h26-fv__logo { width: 228px; }
  .h26-fv__sub { letter-spacing: 0; }

  /* CONCEPT */
  .h26-concept__text { font-family: var(--h26-sans); font-weight: 500; font-size: 16px; line-height: 36px; letter-spacing: 0; }

  /* EXPERIENCE */
  .h26-exp__title { font-family: var(--h26-sans); font-weight: 500; font-size: 24px; line-height: 36px; letter-spacing: 0; }
  .h26-exp__title .en { font-weight: 400; font-size: 22px; letter-spacing: .02em; }
  .h26-exp__list { font-weight: 500; font-size: 14px; }
  .h26-step { text-align: left; }
  .h26-step__no { align-self: stretch; font-size: 18px; font-weight: 400; letter-spacing: 0; }
  .h26-step__title { font-family: var(--h26-sans); font-weight: 400; font-size: 18px; }
  .h26-step__text { font-size: 13px; }
  .h26-step__colors { justify-content: flex-start; }
  .h26-exp__info { font-family: var(--h26-sans); font-weight: 500; font-size: 16px; line-height: 28px; }
  .h26-exp__entry { font-size: 14px; font-weight: 500; }
  .h26-exp__entry .h26-gold-lead { font-size: 18px; }

  /* 開催概要・料金 */
  .h26-guide__time dt { font-family: var(--h26-sans); font-weight: 500; font-size: 14px; }
  .h26-guide__time dd { font-family: var(--h26-en); font-weight: 400; font-size: 14px; }
  .h26-guide__info { font-size: 14px; }
  .h26-guide__info dt { font-weight: 500; }
  .h26-price__h { font-family: var(--h26-sans); font-weight: 500; font-size: 22px; letter-spacing: 0; }
  .h26-price__photo { left: -6px; right: auto; }
  .h26-price__box { background: rgba(0, 0, 0, .45); }
  .h26-price__box caption { padding: 10px 8px; border: 1px solid var(--h26-gold); border-bottom: 0; background: rgba(60, 38, 12, .72); font-weight: 500; font-size: 17px; }
  .h26-price__box caption small { margin-top: 2px; font-size: 14px; color: #fff; }
  .h26-price__box th, .h26-price__box td { border: 1px solid rgba(217, 166, 71, .55); }
  .h26-price__box th { background: rgba(0, 0, 0, .55); color: #fff; font-size: 12px; font-weight: 400; }
  .h26-price__box th small { font-size: 10px; }
  .h26-price__box td { padding: 10px 2px; font-family: var(--h26-sans); font-weight: 500; font-size: 14px; }
  .h26-pack__h { font-size: 18px; color: #fdd108; }
  .h26-pack__item h4 { font-family: var(--h26-sans); font-weight: 500; font-size: 20px; color: #fdd108; }
  .h26-pack__price { font-weight: 500; }
  .h26-pack__price s { font-size: 16px; }
  .h26-pack__price .arrow { font-size: 16px; }
  .h26-pack__price strong { font-size: 20px; }

  /* 営業日カレンダー */
  .h26-cal__legend { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px 18px; font-size: 13px; }
  .h26-cal__legend .sw { width: 34px; height: 16px; border: 0; }
  .sw--off { background: #9a9a9a; }
  .h26-cal__month h4 { padding-bottom: 6px; margin-bottom: 12px; border-bottom: 1px solid rgba(255, 255, 255, .6); font-weight: 400; font-size: 28px; text-align: left; }
  .h26-cal__month h4 small { font-size: 14px; }
  .h26-cal__month table { border-collapse: separate; border-spacing: 3px; font-family: var(--h26-en); }
  .h26-cal__month th { padding: 6px 0; background: #2a2a2a; color: #fff; font-family: var(--h26-sans); font-weight: 500; font-size: 16px; }
  .h26-cal__month th.sat { background: #0a2a6a; color: #fff; }
  .h26-cal__month th.sun { background: #a00; color: #fff; }
  .h26-cal__month td { height: 40px; border: 0; background: #f0f0f0; color: #222; font-size: 18px; font-weight: 400; }
  .h26-cal__month td.sat { background: #d7e4f4; color: #1a3f8f; }
  .h26-cal__month td.sun { background: #f6d9dc; color: #c0262d; }
  .h26-cal__month td.off { background: #9a9a9a; color: #fff; }
  .h26-cal__month td.empty { background: transparent; }

  /* 会場マップ */
  .h26-pin { font-size: 17px; }
  .h26-pin__label { font-family: var(--h26-sans); font-weight: 500; color: #ddd8cc; }
  .h26-pin__sub { font-weight: 500; font-size: 12px; }
  .h26-pin--tag .h26-pin__sub { font-size: 15px; }
  .h26-pin__ico { background: rgba(10, 8, 4, .88); color: var(--h26-gold); }
  .h26-pin__tag { letter-spacing: 0; border: 1px solid var(--h26-gold); background: rgba(10, 8, 4, .88); color: #ffc55a; font-size: 16px; }
  .h26-pin--finale .h26-pin__tag { font-size: 15px; }

  /* そのほかのコンテンツ */
  .h26-other__item h3 { font-family: var(--h26-sans); font-weight: 500; font-size: 22px; }
  .h26-other__item h3 .en { font-weight: 400; font-size: 12px; color: #ac7000; }
  .h26-other__item p { font-weight: 400; font-size: 15px; line-height: 24px; }

  /* Q&A */
  .h26-qa__list dt { font-weight: 500; font-size: 18px; line-height: 29px; }
  .h26-qa__list dd { font-weight: 400; font-size: 16px; line-height: 29px; }

  /* EVENT〜SHOPPING */
  .h26-body .h26-cards__prev { font-family: var(--h26-sans); font-weight: 500; font-size: 21px; }
  .h26-card p { font-weight: 700; font-size: 19px; line-height: 29px; letter-spacing: 0; }

  /* ACCESS */
  .h26-r--h { gap: 10px; padding-left: 0; border-left: 0; font-family: var(--h26-sans); font-weight: 700; font-size: 24px; letter-spacing: 0; color: #dbcbae; }
  .h26-r--h::before { content: ""; flex-shrink: 0; width: 30px; height: 30px; background: currentColor; -webkit-mask: var(--h26-ico) center / contain no-repeat; mask: var(--h26-ico) center / contain no-repeat; }
  .h26-r--h::after { content: ""; width: 600px; height: 1px; margin-left: 6px; background: rgba(219, 203, 174, .6); }
  .h26-r--car { --h26-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 11l1.6-4.6A2 2 0 0 1 8.5 5h7a2 2 0 0 1 1.9 1.4L19 11h.5A1.5 1.5 0 0 1 21 12.5V17h-2v1.5a1.5 1.5 0 0 1-3 0V17H8v1.5a1.5 1.5 0 0 1-3 0V17H3v-4.5A1.5 1.5 0 0 1 4.5 11zm2.1 0h9.8l-1.2-3.4a1 1 0 0 0-.9-.6H9.2a1 1 0 0 0-.9.6zM6.5 15a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4zm11 0a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4z'/%3E%3C/svg%3E"); }
  .h26-r--train { --h26-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2h8a4 4 0 0 1 4 4v9a3 3 0 0 1-2.4 2.9L19 20v1h-2.2l-1.6-3H8.8l-1.6 3H5v-1l1.4-2.1A3 3 0 0 1 4 15V6a4 4 0 0 1 4-4zm-2 5v4h12V7zm2 9.2a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4zm8 0a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4z'/%3E%3C/svg%3E"); }
  .h26-r--box { font-size: 17px; }
  .h26-r--st { font-weight: 700; }

  /* PRODUCE（カンプは写真の上に黒 80% を重ねている） */
  .h26-produce { position: relative; isolation: isolate; }
  .h26-produce::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0, 0, 0, .55); pointer-events: none; }
  .h26-produce__text { font-weight: 500; font-size: 14px; line-height: 24px; }
}

/* ---------- SP カンプ忠実化 2：並べ画像で見た余白・表・暦（2026-11-03） ---------- */
@media (max-width: 959px) {
  .h26-body { -webkit-font-smoothing: antialiased; }
  .h26-h2s { margin-bottom: 24px; }
  .h26-concept__row { gap: 10px; }
  .h26-concept__img { height: 80vw; }
  .h26-steps { scroll-padding-inline: 20px; }
  .h26-steps__list { gap: 42px; }
  .h26-step { width: 160px; }
  .h26-step > img { width: 160px; }
  .h26-exp__info { gap: 0; margin-top: 30px; padding: 14px 12px; line-height: 28px; }
  .h26-exp__entry { margin-top: 44px; }

  .h26-guide__time { padding: 0 8px; line-height: 1.6; }
  .h26-guide__time dt { font-size: 13px; }
  .h26-guide__info { padding: 0 8px; line-height: 1.7; font-size: 13px; }
  .h26-price__h { font-size: 18px; font-weight: 400; letter-spacing: .3em; }
  .h26-price__h::before { content: "ー"; content: "ー" / ""; margin-right: .2em; }
  .h26-price__h::after { content: "ー"; content: "ー" / ""; }
  .h26-price__photo { left: 8px; right: auto; top: -20px; width: 84px; height: 84px; }
  .h26-price__box caption { background: rgba(110, 80, 30, .55); }
  .h26-price__box:first-of-type caption { padding-left: 92px; }
  .h26-price__box caption small { font-size: 13px; font-weight: 400; }
  .h26-price__box th { padding: 5px 0; background: rgba(45, 32, 14, .7); }
  .h26-price__box th small { display: inline; font-size: 9px; }
  .h26-price__box td { padding: 8px 0; background: rgba(0, 0, 0, .6); }
  .h26-price__note { margin-top: 14px; text-align: center; font-size: 14px; }
  .h26-pack__h { margin-top: 56px; font-size: 17px; line-height: 1.7; letter-spacing: .06em; }
  .h26-pack { gap: 16px; border: 0; background: none; }
  .h26-pack__item, .h26-pack__item + .h26-pack__item { padding: 26px 16px 24px; border: 1px solid var(--h26-line); background: rgba(0, 0, 0, .35); }
  .h26-pack__item h4 { letter-spacing: .06em; }
  .h26-pack__price s, .h26-pack__price strong { font-weight: 400; }

  .h26-cal__legend { flex-direction: column; align-items: flex-start; gap: 6px; width: 315px; max-width: 100%; margin: 24px auto 0; font-size: 12px; }
  .h26-cal__legend li { gap: 4px; }
  .h26-cal__legend .sw { width: 46px; height: 13px; }
  .h26-cal { gap: 36px; margin-top: 40px; }
  .h26-cal__month { max-width: 315px; }
  .h26-cal__month h4 { width: max-content; min-width: 145px; margin-bottom: 8px; }
  .h26-cal__month table { border-collapse: collapse; border-spacing: 0; }
  .h26-cal__month th { padding: 3px 0; line-height: 28px; border: 1px solid #3a3a3a; }
  .h26-cal__month td { height: 36px; border: 1px solid #3a3a3a; color: #222; }
  .h26-cal__month td.sat { background: #d6e2ee; color: #222; }
  .h26-cal__month td.sun { background: #fde4e4; color: #222; }
  .h26-cal__month td.off { background: #9a9a9a; color: #333; }
  .h26-cal__month td.empty { background: #0d0d0d; }

  .h26-qa__list { padding: 0 5px; }

  .h26-r--box, .h26-r--st, .h26-r--t { font-size: 17px; font-weight: 700; letter-spacing: 0; }

  .h26-produce::before { background: rgba(0, 0, 0, .78); }
  .h26-produce__text { font-weight: 400; }
}

/* SP カンプ忠実化 3：料金の間合い・パック・暦の行の高さ（2026-11-03） */
@media (max-width: 959px) {
  .h26-price__h { margin-bottom: -6px; }
  .h26-pack__item, .h26-pack__item + .h26-pack__item { padding: 20px 14px 18px; }
  .h26-pack__item h4 { flex-wrap: nowrap; gap: 6px; white-space: nowrap; }
  .h26-pack__item h4 small { font-size: 14px; letter-spacing: 0; }
  .h26-pack__price { margin-top: 16px; }
  .h26-pack__price strong { font-size: 22px; font-weight: 500; }
  .h26-cal__month th { padding: 2px 0; line-height: 30px; }
  .h26-cal__month td { height: 34px; padding: 0; line-height: 34px; }
  .h26-cal { margin-top: 32px; }
  .h26-exp__list { line-height: 2; }
  .h26-exp__list li { padding-left: 0; text-indent: 0; }
  .h26-exp__list li + li { margin-top: 6px; }
  .h26-price__box caption { padding: 6px 8px; }
  .h26-price__box:first-of-type caption { min-height: 78px; padding-top: 14px; padding-bottom: 12px; }
  .h26-price__box th { padding: 8px 0; }
  .h26-price__box td { padding: 10px 0; font-size: 15px; }
  .h26-price__note { font-size: 15px; }
  .h26-btn { font-family: var(--h26-sans); font-size: 15px; font-weight: 700; letter-spacing: .06em; min-height: 60px; }
  .h26-btn--2line { min-height: 80px; }
  .h26-btn { padding: 12px 30px; white-space: nowrap; }
  .h26-btn--2line { white-space: normal; }
  /* 2026-11-04 依頼 cmw27zc8o025sof7lh2vx7x9g：CONTACT のボタンの行き先を /contact/ にしたので同じ大きさにする（無いと 15px で文字がアイコンに重なる） */
  .h26-btn[href="https://www.flower-park.jp/"], .h26-btn[href="https://www.flower-park.jp/contact/"] { font-size: 13px; letter-spacing: .04em; }
  .h26-btn--gold { font-size: 16px; }
  .h26-btn--gold { letter-spacing: .02em; }
  .h26-btn--gold small { font-size: 12px; font-weight: 500; margin-left: .4em; }
  .h26-btn--gold .h26-ico { width: 26px; }
  .h26-footer { position: relative; isolation: isolate; background: #0b0c10; }
  .h26-footer::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/bg_light.webp") center top / 200% auto repeat-y; opacity: .7; pointer-events: none; }
  .h26-footer__brand p { font-size: 20px; letter-spacing: .1em; }
  .h26-footer__copy { font-family: var(--h26-sans); font-size: 10px; color: #ddd8cc; }
  .h26-btn--serif { font-family: var(--h26-en); font-size: 17px; font-weight: 700; letter-spacing: .02em; }
  .h26-produce__text { font-size: 14px; font-weight: 500; letter-spacing: 0; line-height: 24px; }
  .h26-step__title { font-size: 17px; letter-spacing: 0; white-space: nowrap; }
  .h26-exp .h26-h2s + .h26-gold-lead, .h26-exp__how .h26-gold-lead:first-child { margin-top: 0; }
}

/* SP カンプ忠実化 4：幅374以下の小さい画面ではボタンの文字を折り返す（2026-11-03） */
@media (max-width: 374px) {
  .h26-concept__lantern { width: 62vw; margin-left: calc(36vw - 20px); }
  .h26-fv__date { zoom: .85; }
  .h26-guide__date { zoom: .84; }
  .h26-fv__dateglow { width: 104vw; }
  .h26-pack__item h4 { flex-wrap: wrap; white-space: normal; }
  .h26-btn { white-space: normal; padding-inline: 24px; }
  .h26-btn[href="https://www.flower-park.jp/"], .h26-btn[href="https://www.flower-park.jp/contact/"] { font-size: 12px; }
}

/* ---------- カンプ忠実化 5：書体と太さを XD（lp_20261102）に合わせる（2026-11-03 追加依頼「フォントも違う箇所があります」） */
/* SP・PC共通 */
.h26-spmenu__list .ja { font-family: var(--h26-sans); font-weight: 700; }
.h26-spmenu__list .en { font-weight: 400; }
.h26-cal__legend li { font-weight: 500; }
.h26-pack__price s { font-weight: 500; }
.h26-btn[href*="instagram.com"] span { font-family: var(--h26-en); }
@media (max-width: 959px) {
  .h26-btn[href*="instagram.com"] span { font-weight: 700; }
}
/* PC：明朝で組んでいた見出し・日付・表をゴシックと Larken に */
@media (min-width: 960px) {
  .h26-gnav .ja { font-weight: 500; }
  .h26-h2 .en, .h26-exp__title .en, .h26-other__item h3 .en { font-weight: 400; }
  .h26-h2 .ja { font-family: var(--h26-sans); font-weight: 500; }
  #concept .h26-h2 .ja, #experience .h26-h2 .ja { font-weight: 700; }
  .h26-h2s { font-family: var(--h26-sans); font-weight: 700; }
  .h26-gold-lead { font-family: var(--h26-sans); font-weight: 500; }
  .h26-fv__copy { font-weight: 700; }
  .h26-fv__date { font-family: var(--h26-en); font-weight: 500; }
  .h26-fv__date .w, .h26-fv__date .sep { font-family: var(--h26-sans); font-weight: 500; }
  .h26-fv__time dt, .h26-guide__time dt { font-weight: 500; }
  .h26-fv__time dd, .h26-guide__time dd { font-family: var(--h26-en); font-weight: 400; }
  .h26-guide__date { font-family: var(--h26-en); font-weight: 500; }
  .h26-guide__date .w, .h26-guide__date .sep { font-family: var(--h26-sans); font-weight: 500; }
  .h26-concept__text, .h26-exp__list li, .h26-exp__entry p { font-weight: 500; }
  .h26-exp__title { font-family: var(--h26-sans); font-weight: 500; }
  .h26-step__title { font-family: var(--h26-sans); font-weight: 400; }
  .h26-price__h { font-family: var(--h26-sans); font-weight: 500; }
  .h26-price__table thead th { font-weight: 400; }
  .h26-price__table tbody th { font-family: var(--h26-sans); font-weight: 500; }
  .h26-pack__item h4 { font-family: var(--h26-sans); font-weight: 500; }
  .h26-cal__month h4 { font-weight: 400; }
  .h26-cal__month table { font-family: var(--h26-en); font-weight: 400; }
  .h26-pin__label { font-family: var(--h26-sans); font-weight: 500; }
  .h26-pin__sub { font-weight: 500; }
  .h26-other__item h3 { font-family: var(--h26-sans); font-weight: 500; }
  .h26-qa__list dt { font-weight: 500; }
  .h26-r { font-weight: 700; }
  .h26-r--h { font-family: var(--h26-sans); font-weight: 700; }
  .h26-btn { font-weight: 700; }
  .h26-btn[href*="instagram.com"] span { font-weight: 500; }
  .h26-btn--serif { font-weight: 700; }
  .h26-produce__text { font-weight: 500; }
  .h26-footer__copy { font-family: var(--h26-sans); font-weight: 500; font-size: 12px; }
}

/* ---------- カンプ忠実化 6：PCの字の大きさ・字間を XD に合わせる（2026-11-03 追加依頼「フォントも違う箇所があります」） */
@media (min-width: 960px) {
  .h26-gnav .en { font-size: 14px; letter-spacing: .081em; }
  .h26-h2 .en { font-size: 56px; }
  #concept .h26-h2 .en, #experience .h26-h2 .en { letter-spacing: .08em; }
  #access .h26-h2 .en, #contact .h26-h2 .en { font-size: 60px; }
  .h26-h2 .ja { font-size: 20px; letter-spacing: 0; }
  #concept .h26-h2 .ja, #experience .h26-h2 .ja { font-size: 18px; letter-spacing: .04em; }
  #map .h26-h2 .ja { font-size: 18px; }
  #access .h26-h2 .ja, #contact .h26-h2 .ja { font-size: 24px; }
  .h26-fv__copy { font-size: 20px; letter-spacing: .06em; }
  .h26-fv__date .w, .h26-fv__date .sep { font-size: 18px; }
  .h26-fv__time dt { font-size: 14px; }
  .h26-fv__time dd { font-size: 20px; letter-spacing: 0; white-space: nowrap; }
  .h26-guide__time dt { font-size: 22px; }
  .h26-guide__time dd { font-size: 24px; letter-spacing: 0; }
  .h26-concept__text { font-size: 18px; letter-spacing: 0; }
  .h26-exp__title { font-size: 32px; letter-spacing: 0; }
  .h26-exp__title .en { font-size: 22px; letter-spacing: .02em; }
  .h26-exp__list li, .h26-exp__entry p { font-size: 16px; }
  .h26-step__no, .h26-step__title { font-size: 18px; }
  .h26-gold-lead { font-size: 22px; }
  h3.h26-gold-lead { font-size: 24px; }
  .h26-h2s { font-size: 32px; letter-spacing: 0; }
  .h26-price__h { font-size: 24px; letter-spacing: 0; }
  .h26-price__table thead th { font-size: 20px; }
  .h26-price__table tbody th, .h26-price__table td { font-size: 20px; }
  .h26-price__table th small { font-size: 16px; }
  .h26-pack__item h4 { font-size: 22px; }
  .h26-pack__price strong { font-size: 20px; }
  .h26-pack__price .arrow { font-size: 16px; }
  .h26-pack__text { font-size: 16px; }
  .h26-cal__month h4 { font-size: 28px; letter-spacing: 0; }
  .h26-cal__month h4 small { font-size: 14px; letter-spacing: 0; }
  .h26-cal__month th { font-size: 16px; }
  .h26-cal__month td { font-size: 18px; letter-spacing: 0; }
  .h26-cal__legend li { font-size: 16px; }
  .h26-pin__label { font-size: 20px; }
  .h26-pin__tag { font-size: 20px; letter-spacing: 0; }
  .h26-pin__sub { font-size: 16px; }
  .h26-other__item h3 > span { font-size: 18px; }
  .h26-other__item h3 .en { font-size: 12px; letter-spacing: 0; }
  .h26-other__item p { font-size: 15px; }
  .h26-card p { font-size: 19px; letter-spacing: 0; }
  .h26-qa__list dt { font-size: 18px; }
  .h26-qa__list dd { font-size: 16px; }
  .h26-btn span { font-size: 16px; letter-spacing: .06em; }
  .h26-btn[href*="instagram.com"] span { font-size: 18px; }
  .h26-btn--serif { font-size: 16px; }
  .h26-produce__text { font-size: 20px; }
  .h26-footer__copy small { font-size: 12px; }
  .h26-r--h { font-size: 24px; letter-spacing: 0; }
  .h26-r--box, .h26-r--st { font-size: 20px; }
  .h26-r--t { font-size: 20px; }
  #produce .h26-h2 .ja { font-size: 20px; letter-spacing: 0; }
  .h26-exp__info { font-size: 18px; }
  .h26-exp__info > span:last-child { font-size: 20px; }
  .h26-exp__entry .h26-gold-lead { font-size: 22px; }
  .h26-pin--tag .h26-pin__sub { font-size: 16px; }
  .h26-pin--tag .h26-pin__sub::first-line { font-size: 20px; }
  .h26-pin--below .h26-pin__label, .h26-pin--left:not(.h26-pin--lantern) .h26-pin__label { font-size: 18px; }
  .h26-price__table tbody th small { font-size: 16px; }
  .h26-price__table thead th { letter-spacing: 0; }
  .h26-r--goal { font-size: 26px; letter-spacing: .2em; }
  .h26-r--t[style*="align-items:flex-start"] { line-height: 1.2 !important; }
  .h26-btns .h26-btn, .h26-btn small { font-size: 16px; }
  .h26-step__colors { font-size: 8px; }
}
@media (max-width: 959px) {
  .h26-step__title { font-size: 18px; }
  .h26-pack__price strong { font-size: 20px; }
  h3.h26-gold-lead { font-size: 18px; }
}

/* ---------- カンプ忠実化 7：PCの文字色・営業日表・交通案内の見出しを XD に合わせる（2026-11-03 追加依頼「フォントも違う箇所があります」） */
@media (min-width: 960px) {
  .h26-h2 .en, .h26-h2 .ja { color: #ddd8cc; }
  .h26-other__item h3 > span { color: #ddd8cc; }
  .h26-other__item h3 .en { color: #ac7000; }
  .h26-exp__info > span { color: #ddd8cc; }
  .h26-exp__info > span:first-child { color: #fff; }
  #instagram .h26-h2 .en, #instagram .h26-h2 .ja { color: #fff; }
  .h26-pin__label.h26-tbd { color: #ddd8cc; }
  .h26-pack__item h4 { color: #fdd108; }
  .h26-pack__price .arrow { color: #fff; }
  .h26-pin__label, .h26-pin__sub { color: #ddd8cc; }
  .h26-pin__tag { border: 1px solid var(--h26-gold); background: rgba(10, 8, 4, .88); color: #ffc55a; }
  .h26-cal__month th.sat { background: #0a2a6a; color: #fff; }
  .h26-cal__month th.sun { background: #a00; color: #fff; }
  .h26-cal__month td, .h26-cal__month td.sat, .h26-cal__month td.sun { color: #151515; }
  .h26-cal__month td.empty { background: transparent; }
  .h26-cal__legend .sw { width: 34px; height: 16px; border: 0; }
  .h26-cal__month h4 { width: 48%; padding-bottom: 6px; margin-bottom: 12px; border-bottom: 1px solid rgba(255, 255, 255, .6); text-align: left; }
  .h26-cal__month table { border-collapse: separate; border-spacing: 3px; }
  .h26-cal__month td { border: 0; background: #f0f0f0; }
  .h26-cal__month td.sat { background: #d7e4f4; }
  .h26-cal__month td.sun { background: #f6d9dc; }
  .h26-cal__month td.off { background: #9a9a9a; color: #fff; }
  .h26-r--box { color: #1d1e24; }
  .h26-r--h { gap: 10px; padding-left: 0; border-left: 0; font-family: var(--h26-sans); font-weight: 700; color: #dbcbae; }
  .h26-r--h::before { content: ""; flex-shrink: 0; width: 30px; height: 30px; background: currentColor; -webkit-mask: var(--h26-ico) center / contain no-repeat; mask: var(--h26-ico) center / contain no-repeat; }
  .h26-r--h::after { content: ""; width: 740px; height: 1px; margin-left: 6px; background: rgba(219, 203, 174, .6); }
  .h26-r--car { --h26-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 11l1.6-4.6A2 2 0 0 1 8.5 5h7a2 2 0 0 1 1.9 1.4L19 11h.5A1.5 1.5 0 0 1 21 12.5V17h-2v1.5a1.5 1.5 0 0 1-3 0V17H8v1.5a1.5 1.5 0 0 1-3 0V17H3v-4.5A1.5 1.5 0 0 1 4.5 11zm2.1 0h9.8l-1.2-3.4a1 1 0 0 0-.9-.6H9.2a1 1 0 0 0-.9.6zM6.5 15a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4zm11 0a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4z'/%3E%3C/svg%3E"); }
  .h26-r--train { --h26-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2h8a4 4 0 0 1 4 4v9a3 3 0 0 1-2.4 2.9L19 20v1h-2.2l-1.6-3H8.8l-1.6 3H5v-1l1.4-2.1A3 3 0 0 1 4 15V6a4 4 0 0 1 4-4zm-2 5v4h12V7zm2 9.2a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4zm8 0a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4z'/%3E%3C/svg%3E"); }
  .h26-r--goal { border: 1px solid rgba(255, 255, 255, .9); background: transparent; color: #fff; font-weight: 500; }
}

/* ---------- カンプ忠実化 8：PCの配置を XD の座標に合わせる（2026-11-03 追加依頼「pc版もカンプと異なる箇所がある…完全一致させてください」） ---------- */
/* 地の色：XD のアートボードの塗り #1c0d06（茶）。ぼかし背景はその上に 70% */
.h26-bg-light { background: #1c0d06; }
@media (min-width: 960px) {
  :root { --u: min(1px, .069444vw); }
  /* ファーストビュー：写真は右寄せ 1440×1005（左 203・上 -128）、左に茶色のぼかし（-179,-677 1036×1554） */
  .h26-fv { height: 877px; min-height: 0; background: #1c0d06; isolation: isolate; }
  .h26-fv::before { content: ""; position: absolute; z-index: -1; left: calc(50% - 899px); top: -677px; width: 1036px; height: 1554px; background: url("../img/bg_light.webp") center / 100% 100% no-repeat; pointer-events: none; }
  .h26-fv__photo { left: calc(50% - 517px); right: auto; top: -128px; width: 1440px; height: 1005px; }
  .h26-fv__photo img { object-fit: cover; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 18%), linear-gradient(to bottom, #000 80%, transparent 100%); -webkit-mask-composite: source-in; mask-image: linear-gradient(to right, transparent 0, #000 18%), linear-gradient(to bottom, #000 80%, transparent 100%); mask-composite: intersect; }
  .h26-fv__body { position: absolute; left: max(0px, calc(50% - 720px)); top: 0; width: 632px; max-width: none; padding: 158px 0 0; }
  .h26-fv__logo { width: 308px; }
  .h26-fv__glow { display: none; }
  .h26-fv__sub { margin-top: 8px; font-size: 26px; line-height: 1.5; letter-spacing: .08em; }
  .h26-fv__copy { margin-top: 46px; line-height: 32px; }
  .h26-fv__date { margin-top: 14px; line-height: 54px; letter-spacing: .06em; }
  .h26-fv__date .y, .h26-fv__date .d { font-size: 40px; letter-spacing: .06em; }
  .h26-fv__date .w { font-size: 18px; letter-spacing: 0; }
  .h26-fv__date .sep { margin: 0 .4em; }
  .h26-fv__dateglow { width: 522px; height: 82px; mix-blend-mode: multiply; opacity: .4; }
  .h26-fv__time { width: 405px; margin-top: 13px; padding: 11px 17px 11px 18px; border: 0; background: rgba(0, 0, 0, .62); line-height: 29px; }
  .h26-fv__time div { display: grid; grid-template-columns: 253px 1fr; gap: 0; justify-content: start; text-align: left; }
}
@media (min-width: 960px) {
  /* XD の本文には字間が無い（見出し・一部の英字だけ個別に付ける） */
  body { letter-spacing: 0; }
}
/* 1200px 以上は XD の 1440 の座標どおりに置く（横位置と画像の幅は画面幅に比例、文字の大きさは固定） */
@media (min-width: 1200px) {
  /* CONCEPT：区画の上端 877。画像 0,933 1102×794・本文 910,1218・ランタン 960,1487 396×416 */
  .h26-concept { height: 773px; padding-top: 0; }
  .h26-concept__row { display: block; position: static; max-width: none; }
  .h26-concept__img { position: absolute; left: calc(50% - 720 * var(--u)); top: 56px; width: calc(1102 * var(--u)); margin: 0; }
  .h26-concept__text { position: absolute; left: calc(50% + 190 * var(--u)); top: 310px; width: 420px; line-height: 48px; white-space: nowrap; }
  .h26-concept__lantern { left: calc(50% + 240 * var(--u)); right: auto; top: 610px; bottom: auto; width: calc(396 * var(--u)); z-index: 2; }
  /* EXPERIENCE：区画の上端 1650（見出しの基準線 1743） */
  .h26-exp { height: 1223px; padding-top: 0; }
  .h26-exp__row { display: block; max-width: none; }
  .h26-exp__img { position: absolute; left: calc(50% - 554 * var(--u)); top: 175px; width: calc(480 * var(--u)); }
  .h26-exp__img img { aspect-ratio: 480 / 344; object-fit: cover; }
  .h26-exp__how { position: absolute; left: calc(50% + 0 * var(--u)); top: 201px; width: 560px; max-width: none; }
  .h26-exp__title { margin: 0; width: 546px; line-height: 44px; }
  .h26-exp__title .en { margin-top: 0; line-height: 44px; }
  .h26-exp__how .h26-gold-lead { width: 546px; margin-top: 31px; line-height: 40px; font-size: 20px; white-space: nowrap; }
  .h26-exp__list { margin-top: 6px; line-height: 32px; }
  .h26-exp__list li + li { margin-top: 8px; }
  .h26-steps { position: absolute; left: calc(50% - 485 * var(--u)); top: 590px; width: calc(970 * var(--u)); max-width: none; margin: 0; overflow: visible; }
  .h26-steps__list { display: grid; grid-template-columns: repeat(5, 160px); justify-content: space-between; gap: 0; }
  .h26-step { width: 160px; }
  .h26-step__no { padding-bottom: 2px; line-height: 30px; }
  .h26-step__title { margin-top: 10px; line-height: 30px; }
  .h26-step__text { margin-top: 4px; line-height: 19px; min-height: 0; color: #fff; }
  .h26-step > img { position: absolute; top: 148px; width: 160px; height: 120px; margin: 0; }
  .h26-step { position: relative; height: 268px; }
  .h26-exp__info { position: absolute; left: calc(50% - 472 * var(--u)); top: 898px; width: calc(944 * var(--u)); min-height: 48px; margin: 0; padding: 6px 16px; flex-wrap: nowrap; white-space: nowrap; background: rgba(0, 0, 0, .3); }
  .h26-exp__entry { position: absolute; left: 0; right: 0; top: 1022px; margin: 0; }
  .h26-exp__entry .h26-gold-lead { margin-bottom: 4px; line-height: 40px; }
  .h26-exp__entry p + p { margin-top: 0; line-height: 32px; }
}
@media (min-width: 1200px) {
  .h26-concept { padding-top: 54px; }
  .h26-exp { padding-top: 42px; }
  .h26-exp__list li { white-space: nowrap; letter-spacing: 0; }
  .h26-step, .h26-step__no, .h26-step__title, .h26-step__text { text-align: left; }
  .h26-step { width: 190px; }
  .h26-step__no { width: 160px; align-self: flex-start; }
  .h26-step__title { white-space: nowrap; letter-spacing: 0; }
  .h26-step__text { width: 160px; letter-spacing: .04em; }
  .h26-steps__list { grid-template-columns: repeat(5, 190px); justify-content: space-between; }
  .h26-steps { width: calc(998 * var(--u)); left: calc(50% - 485 * var(--u)); }
  .h26-exp__info { gap: 0 10px; padding: 0 14px; letter-spacing: 0; justify-content: center; }
  .h26-exp__info > span:nth-child(3) { font-size: 18px; }
}

/* ---------- カンプ忠実化 9：PCの開催概要・料金表・パッケージを XD の寸法に合わせる（2026-11-03 追加依頼） ---------- */
@media (min-width: 960px) {
  .h26-guide__date { margin-top: -2px; }
  .h26-guide__time { width: 536px; margin: 10px auto 0; transform: translateX(2px); }
  .h26-guide__time > div { display: flex; justify-content: space-between; gap: 0; height: 36px; }
  .h26-guide__time dt, .h26-guide__time dd { line-height: 36px; }
  .h26-guide__info { margin-top: 39px; font-size: 16px; line-height: 28px; letter-spacing: 0; }
  .h26-guide .h26-price__h { margin-top: 58px; }
  .h26-guide .h26-price { margin-top: 15px; }
  .h26-price__photo { left: -26px; top: -29px; width: 112px; height: 112px; }
  .h26-price .h26-price__table th, .h26-price .h26-price__table td { padding: 0 6px; border: 1px solid rgba(255, 255, 255, .8); line-height: 1.4; }
  .h26-price .h26-price__table thead th, .h26-price .h26-price__table thead td { height: 50px; background: #5c441c; }
  .h26-price .h26-price__table tbody tr:nth-child(odd) > * { height: 100px; }
  .h26-price .h26-price__table tbody tr:nth-child(even) > * { height: 50px; }
  .h26-price .h26-price__table tbody th { background: #5c441c; letter-spacing: 0; }
  .h26-price .h26-price__table tbody th:has(small) { padding-top: 0; padding-bottom: 0; }
  .h26-price .h26-price__table tbody td { background: #0a0500; font-size: 20px; letter-spacing: 0; }
  .h26-price__note { margin-top: 6px; font-size: 16px; line-height: 24px; letter-spacing: 0; text-align: right; }
  .h26-guide .h26-pack__h { margin-top: 25px; }
  .h26-guide .h26-pack { height: 200px; margin-top: 21px; border: 1px solid #a57f36; background: rgba(0, 0, 0, .6); }
  .h26-pack__item, .h26-pack__item + .h26-pack__item { height: 198px; padding: 15px 20px 0; }
  .h26-pack__item + .h26-pack__item { border-left: 1px solid #a57f36; }
  .h26-pack__price { margin-top: 17px; }
  .h26-pack__text { margin-top: 13px; line-height: 24px; letter-spacing: 0; }
}
@media (min-width: 1200px) {
  .h26-guide { padding-top: 59px; }
}

/* ---------- カンプ忠実化 10：PCのカレンダーを XD に合わせる（線で区切ったマス・空きマスも枠あり・凡例の大きさ）。暦は実際の 2026/12〜2027/2 のまま ---------- */
@media (min-width: 960px) {
  .h26-guide .h26-cal__h { margin-top: 151px; }
  .h26-cal__legend { gap: 0; margin-top: 43px; font-size: 13px; width: 668px; }
  .h26-cal__legend li { gap: 2px; line-height: 32px; }
  .h26-cal__legend .sw { width: 40px; height: 22px; border: 1px solid #707070; }
  .h26-cal__legend .sw--w { background: #fff; }
  .h26-cal__legend .sw--sat { background: #b6d2f0; }
  .h26-cal__legend .sw--sun { background: #fcbdbd; }
  .h26-cal__legend .sw--off { width: 48px; background: #9d9d9d; }
  .h26-cal__legend li > .sw:last-of-type { margin-right: 10px; }
  .h26-cal { margin-top: 58px; }
  .h26-cal__month h4 { padding-bottom: 0; margin-bottom: 4px; line-height: 34px; font-size: 26px; }
  .h26-cal__month table { border-collapse: collapse; border-spacing: 0; }
  .h26-cal__month th, .h26-cal__month td { height: 35px; padding: 0; border: 1px solid #494949; }
  .h26-cal__month th { background: #222; }
  .h26-cal__month th.sat { background: #003069; }
  .h26-cal__month th.sun { background: #ad0001; }
  .h26-cal__month td { background: #f2f2f2; }
  .h26-cal__month td.sat { background: #d5dfea; }
  .h26-cal__month td.sun { background: #fde0e0; }
  .h26-cal__month td.empty { background: transparent; }
}
@media (min-width: 960px) {
  .h26-h2s { gap: 26px; }
  .h26-h2s img { width: 24px; height: 24px; filter: sepia(.6) saturate(1.6) drop-shadow(0 0 4px rgba(253, 200, 110, .85)); }
}

/* カンプ忠実化 11：PCのマップ（地図をカンプの位置まで55px上げる） */
@media (min-width: 960px) {
  .h26-map__inner { margin-top: -55px; }
}

/* カンプ忠実化 12：PCのその他コンテンツ・Q&A */
@media (min-width: 1200px) {
  .h26-other .h26-other__list { gap: 34px; }
  .h26-other .h26-h2 { margin-bottom: 100px; }
}
@media (min-width: 960px) {
  .h26-other .h26-other__item h3 { gap: 10px; margin-top: 23px; padding: 0 14px; letter-spacing: 0; line-height: 1.25; }
  .h26-other .h26-other__item h3 > span { font-size: 24px; color: #fff; }
  .h26-other .h26-other__item h3 .en { margin-top: 2px; font-size: 12px; line-height: 1.2; }
  .h26-other .h26-other__item h3 .h26-pinicon { width: 44px; height: 44px; filter: drop-shadow(0 0 6px rgba(253, 190, 80, .7)); }
  .h26-other .h26-other__item p { margin-top: 16px; padding: 0 14px; font-size: 15px; line-height: 24px; letter-spacing: 0; color: #e8e4dc; }
  .h26-sec.h26-qa { padding-top: 158px; padding-left: 0; padding-right: 0; }
  .h26-qa .h26-qa__list dt { line-height: 29px; letter-spacing: 0; }
  .h26-qa .h26-qa__list dd { margin-top: 12px; line-height: 29px; letter-spacing: 0; }
  .h26-qa .h26-qa__list dd + dt { margin-top: 29px; }
}

/* カンプ忠実化 13：PCの紺の帯（イベント〜ショッピング） */
@media (min-width: 960px) {
  .h26-bg-navy { background: linear-gradient(rgba(2, 0, 58, .62), rgba(2, 0, 58, .62)), url("../img/bg_navy.webp") center top / 100% 100% no-repeat #121535; }
  .h26-bg-navy > .h26-cards:first-child { padding-top: 189px; }
}
@media (min-width: 1200px) {
  .h26-cards .h26-cards__list { gap: 34px; }
}
@media (min-width: 960px) {
  .h26-cards .h26-h2 { margin-bottom: 82px; }
  .h26-cards .h26-card p { line-height: 29px; }
  .h26-cards .h26-cards__list--2 .h26-card p { margin-top: 28px; }
  #activities.h26-cards { padding-top: 136px; }
  #activities .h26-card p { margin-top: 22px; }
  #restaurant.h26-cards { padding-top: 98px; }
  #shopping.h26-cards { padding-top: 96px; }
  .h26-sec.h26-access { padding-top: 203px; }
  .h26-access .h26-h2 { margin-bottom: 52px; }
  .h26-sec.h26-access { padding-bottom: 158px; }
}
@media (min-width: 1200px) {
  .h26-cards .h26-cards__list--2 { gap: 48px; }
}
@media (min-width: 960px) {
  .h26-access .h26-btns { flex-direction: column; align-items: center; gap: 17px; margin-top: 80px; }
  .h26-access .h26-btn { width: 340px; min-width: 340px; min-height: 60px; padding: 0 34px; }
  .h26-access .h26-btn--2line { min-height: 80px; }
  .h26-access .h26-btn span, .h26-access .h26-btns .h26-btn { letter-spacing: .06em; line-height: 24px; }
}

/* カンプ忠実化 14：PCのインスタ・プロデュース */
@media (min-width: 960px) {
  .h26-sec.h26-insta { padding-top: 180px; padding-bottom: 164px; }
  .h26-insta .h26-h2 { margin-bottom: 46px; }
  .h26-insta .h26-btns { margin-top: 80px; }
  .h26-insta .h26-btn, .h26-produce .h26-btn { width: 360px; min-width: 360px; min-height: 60px; }
  .h26-sec.h26-produce { padding-top: 162px; }
  .h26-produce .h26-produce__row { justify-content: flex-start; gap: 81px; max-width: 1000px; padding-left: 34px; }
  .h26-produce .h26-produce__text { flex: 0 0 550px; max-width: 550px; font-size: 16px; line-height: 30px; letter-spacing: 0; font-weight: 500; color: #fff; }
}
@media (min-width: 960px) {
  .h26-produce .h26-produce__text { position: relative; top: -9px; }
  .h26-produce .h26-btns { margin-top: 67px; }
}

/* カンプ忠実化 15：お問い合わせ・フッター（金ボタンのアイコンを白に・副題を大きい明朝に） */
.h26-btn--gold .h26-ico { color: #fff; }
@media (min-width: 960px) {
  .h26-sec.h26-produce { padding-bottom: 157px; }
  .h26-sec.h26-contact { padding-top: 81px; padding-bottom: 79px; }
  .h26-contact .h26-btns { margin-top: 19px; }
  .h26-contact .h26-btn, .h26-footer__btns .h26-btn { width: 360px; min-width: 360px; min-height: 60px; padding: 0 30px; }
  .h26-footer { padding: 100px 20px 33px; }
  .h26-footer__brand p { margin-top: 17px; font-family: var(--h26-serif); font-size: 26px; line-height: 36px; letter-spacing: .04em; }
  .h26-footer__copy { margin-top: 45px; }
  .h26-footer .h26-btn--gold { background: #ac7000; border-color: #ac7000; letter-spacing: 0; gap: 10px; }
  .h26-footer .h26-btn--gold:hover { background: #bf7f0a; }
  .h26-footer .h26-btn--gold .h26-ico { width: 30px; height: 32px; }
  .h26-footer .h26-btn--gold small { font-size: 14px; margin-left: .7em; }
}
@media (min-width: 960px) { .h26-contact .h26-btns { margin-top: 39px; } }
@media (min-width: 960px) {
  .h26-sec.h26-produce { position: relative; isolation: isolate; }
  .h26-produce::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(26, 27, 42, .85); pointer-events: none; }
  .h26-contact .h26-btn, .h26-footer__btns .h26-btn { justify-content: flex-start; padding: 0 12px 0 21px; font-size: 16px; letter-spacing: .05em; gap: 4px; white-space: nowrap; }
  .h26-contact .h26-btn > img:last-of-type, .h26-footer__btns .h26-btn:not(.h26-btn--gold) > img:last-of-type { position: static; transform: none; margin-left: 2px; }
  .h26-footer .h26-btn--gold { padding: 0 18px 0 32px; letter-spacing: 0; gap: 10px; white-space: nowrap; }
  .h26-footer .h26-btn--gold small { letter-spacing: 0; margin-left: 10px; }
}
@media (min-width: 960px) { .h26-footer .h26-btn--gold .h26-ico { width: 30px; height: 36px; } }
@media (min-width: 960px) {
  .h26-insta .h26-btn { justify-content: flex-start; padding: 0 0 0 53px; gap: 13px; font-family: var(--h26-en); font-size: 18px; font-weight: 400; letter-spacing: .06em; }
  .h26-insta .h26-btn .ig { width: 16px; height: 16px; }
  .h26-insta .h26-btn > img:last-of-type { right: 24px; }
  .h26-produce .h26-btns { transform: translateX(-6px); }
  .h26-produce .h26-btn--serif { justify-content: flex-start; padding: 0 0 0 60px; font-size: 18px; font-weight: 700; letter-spacing: .06em; }
}
@media (min-width: 960px) {
  .h26-insta .h26-btn { justify-content: center; padding: 0 40px 0 0; gap: 23px; }
  .h26-insta .h26-btn .ig { width: 17px; height: 17px; }
  .h26-sec.h26-insta { position: relative; isolation: isolate; }
  .h26-insta::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(rgba(50, 60, 120, .15) 0%, rgba(50, 60, 120, .12) 30%, rgba(0, 22, 110, .5) 70%, rgba(0, 22, 110, .5) 100%); }
}
@media (min-width: 960px) {
  .h26-sec.h26-insta { padding-top: 159px; }
  .h26-insta .h26-h2 { margin-bottom: 67px; }
  .h26-insta .h26-h2 .en { color: #fff; }
}

/* ---------- カンプ忠実化 16：MAP の地図の大きさ・位置・目印をカンプ（画像照合で 855px・x317・y4904）に合わせる（2026-11-03 依頼 cmw0oxf「完全一致させてください」） */
.h26-pin--lantern .h26-pin__ico svg { width: 100%; height: 100%; }
.h26-pin--camera .h26-pin__ico, .h26-pin--touch .h26-pin__ico { background: none; border: 0; }
.h26-pin--touch .h26-pin__ico img, .h26-pin--camera .h26-pin__ico img { width: 100%; height: 100%; }
.h26-pin--mic .h26-pin__ico { background: #c37e02; border: 0; color: #fff; box-shadow: inset 0 0 0 4px #c37e02, inset 0 0 0 5.5px #e59b33, 0 0 8px rgba(253, 190, 80, .55); }
.h26-pin--mic .h26-pin__ico svg { width: 50%; height: 50%; }
.h26-pin__tag { border-radius: 3px; }
@media (min-width: 960px) {
  .h26-map__inner { width: 855px; left: 24px; top: -10px; }
  .h26-pin--lantern .h26-pin__ico { width: 48px; height: 48px; background: #1a0c05; border: 1.5px solid #c37e02; color: #d99a2b; box-shadow: 0 0 8px rgba(253, 190, 80, .45); }
  .h26-pin--right { transform: translate(-24px, -50%); }
  .h26-pin--left { transform: translate(calc(-100% + 24px), -50%); }
  .h26-pin--camera .h26-pin__ico, .h26-pin--mic .h26-pin__ico { width: 46px; height: 46px; }
  .h26-pin--mic .h26-pin__label { position: relative; left: -25px; }
  .h26-pin__tag { padding: 1px 16px 2px; line-height: 28px; }
  .h26-pin--tag { transform: translate(-50%, -16px); }
}

/* ---------- カンプ忠実化 17：パック料金（見出しの字間・人物アイコン 43×33・括弧も 22px・斜めの取り消し線）（2026-11-03 依頼 cmw0oxf） */
.h26-pack__price s { text-decoration: none; position: relative; display: inline-block; }
.h26-pack__price s::after { content: ""; position: absolute; left: -3px; right: -3px; top: 50%; border-top: 1px solid currentColor; transform: rotate(-11deg); }
.h26-pack__item h4 .h26-ico--people { flex-shrink: 0; }
@media (min-width: 960px) {
  .h26-pack__h { letter-spacing: .02em; }
  .h26-pack__item h4 { gap: 0; font-weight: 500; letter-spacing: 0; white-space: nowrap; }
  .h26-pack__item h4 .h26-ico--people { margin-right: 20px; color: #fdd108; }
  .h26-pack__item h4 small { font-size: 22px; letter-spacing: 0; }
  .h26-pack__item h4 .h26-ico--people { width: 43px; height: 33px; }
  .h26-pack__price strong { font-weight: 500; }
}

/* ---------- カンプ忠実化 18：MAP/OTHER の上下余白・Step02 の色の点・OTHER 3枚目の灰色枠（2026-11-04 依頼 cmw1dvgr「続けて」＝cmw0oxf の続き） */
.h26-other__item > .h26-tbd--img { background: #888; color: transparent; }
.h26-other__item > .h26-tbd--img span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (min-width: 960px) {
  .h26-sec.h26-map { padding-top: 156px; }
  .h26-map__inner { top: -26px; }
  .h26-sec.h26-other { padding-top: 157px; }
  .h26-other .h26-h2 { margin-bottom: 82px; }
  .h26-other__item:nth-child(2) { position: relative; left: 6px; }
  .h26-step__text { letter-spacing: 0; }
  .h26-step__colors { justify-content: flex-start; gap: 0 10px; width: auto; margin-left: -3px; }
}
.h26-other__item > picture { display: block; }
.h26-other__item > picture > img { width: 100%; aspect-ratio: 344 / 214; object-fit: cover; }

/* 19 — PC ヒーロー：ロゴの大きさ・行位置をカンプに合わせる（2026-11-04） */
@media (min-width: 960px) {
  .h26-fv__logo { width: 322px; left: 4px; top: -3px; }
  .h26-fv__sub { margin-top: 1px; }
  .h26-fv__copy { margin-top: 39px; }
  .h26-fv__time { margin-top: 6px; }
}

/* 20 — PC 体験の案内帯・入園料のみ欄（2026-11-04） */
@media (min-width: 960px) {
  .h26-exp__info { column-gap: 5px; }
  .h26-exp__info .bar { color: #6e6e6e; }
  .h26-exp__info > span:last-child { font-size: 18px; }
  .h26-exp__info small { font-size: 16px; }
  .h26-exp__entry { margin-left: auto; margin-right: auto; }
}
@media (min-width: 960px) {
  .h26-exp__entry { letter-spacing: 0; }
  .h26-exp__entry p + p { margin-top: 0; }
  .h26-exp__entry .h26-gold-lead { margin-bottom: 9px; }
}

/* 21 — PC 開催概要：日付の波線・時間の字間・会場の文字サイズ（2026-11-04） */
@media (min-width: 960px) {
  .h26-guide__date .t { font-size: 30px; }
  .h26-guide__time dt { letter-spacing: 0; }
  .h26-guide__info dt, .h26-guide__info dd { font-size: 17px; }
}
@media (min-width: 960px) {
  .h26-guide__time dt { position: relative; left: -6px; }
  .h26-guide__time dd { position: relative; left: 2px; }
  .h26-guide__info { position: relative; left: -11px; top: -3px; }
}

/* 22 — 暗い背景の文字をカンプの細さに寄せる（Mac の描画） */
.h26-body, .h26-root, body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* 23 — PC 料金表：丸写真の切り取り・光の縁、金額の文字サイズ（2026-11-04） */
@media (min-width: 960px) {
  .h26-price__photo { left: -26px; top: -30px; width: 106px; height: 106px; border: 0; box-shadow: 0 0 0 1px rgba(255, 255, 255, .55), 0 0 10px 2px rgba(255, 244, 220, .55); }
  .h26-price .h26-price__table tbody td { font-size: 22.5px; }
}

/* 24 — PC ショッピング〜アクセスの縦位置と背景の境目（2026-11-04） */
@media (min-width: 960px) {
  #shopping.h26-cards { padding-top: 100px; }
  #shopping .h26-h2 { margin-bottom: 85px; }
  .h26-bg-navy { padding-bottom: 159px; }
  .h26-sec.h26-access { padding-top: 156px; }
  #access .h26-h2 .ja { position: relative; top: 4px; }
}

/* 25: 経路図（カンプ照合 2026-11-04）アイコンは線画・白枠は角丸・目的地枠の位置 */
.h26-r--car { --h26-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M5.5 10.5l1.7-4.6A1.8 1.8 0 0 1 8.9 4.7h6.2a1.8 1.8 0 0 1 1.7 1.2l1.7 4.6'/%3E%3Crect x='3.5' y='10.5' width='17' height='6.5' rx='1.5'/%3E%3Cpath d='M3.5 12.8h17M7 15h2.5M14.5 15H17M5.5 17v2.5h2V17M16.5 17v2.5h2V17'/%3E%3C/svg%3E"); }
.h26-r--train { --h26-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'%3E%3Crect x='4.5' y='2.5' width='15' height='16.5' rx='2.5'/%3E%3Cpath d='M10 5h4'/%3E%3Crect x='7' y='7' width='10' height='5'/%3E%3Ccircle cx='8.8' cy='15.6' r='.9'/%3E%3Ccircle cx='15.2' cy='15.6' r='.9'/%3E%3Cpath d='M7.5 19l-1.5 2.5M16.5 19l1.5 2.5'/%3E%3C/svg%3E"); }
.h26-r--box { border-radius: 4px; }
@media (min-width: 960px) {
  .h26-r--goal { left: 1062px; top: 71px; width: 39px; height: 641px; }
}
@media (min-width: 960px) {
  .h26-r--goal { letter-spacing: 1px; font-weight: 700; }
}
/* 26: ACCESSボタン・PRODUCE背景（XDの層どおり：写真を左回転＋横グラデーション）・見出し位置 2026-11-04 */
@media (min-width: 960px) {
  #access .h26-btns { margin-top: 82px; }
  #access .h26-btn > img:last-of-type { right: 24px; }
  #access .h26-btn--2line span { position: relative; left: -10px; }
  .h26-produce { background: linear-gradient(to left, #11111b 0%, rgba(38, 40, 71, .502) 47.29%, #181720 100%), url("../img/bg_produce_pc.webp") center top / cover no-repeat #181720; }
  .h26-produce::before { display: none; }
  #produce .h26-h2 .en { position: relative; left: -4px; }
  #produce .h26-h2 .ja { position: relative; left: -6px; }
}

/* 27: お問い合わせ・フッター PC カンプ一致 (2026-11-04) */
.h26-footer__brand p { letter-spacing: .06em; }
@media (max-width: 959px) {
  .h26-pack { grid-template-columns: minmax(0, 1fr); }
  .h26-pack__item { min-width: 0; }
  .h26-pack__price { overflow-wrap: anywhere; }
  .h26-footer__brand p { margin-top: 4px; }
  .h26-footer__inner { gap: 41px; }
  .h26-footer__copy { margin-top: 48px; }
}
@media (min-width: 960px) {
  .h26-sec.h26-contact { background: #060301; }
  #contact .h26-h2 .ja { letter-spacing: 0; }
  .h26-footer .h26-btn--gold, .h26-footer .h26-btn--gold * { letter-spacing: 0; }
  .h26-footer__copy { letter-spacing: 0; padding-right: 4px; }
}

/* 28: FV のロゴ・文字を順にふわっと出す（PC・SP 共通。2026-11-04 依頼 cmw1kvvrr00f1ofxdhsvm8zxt）
   JS に頼らず CSS だけで動かす（読み込みが遅くても文字が消えたままにならない）。backwards＝終わった後は指定を残さない（filter が残ると日付の光の重ね方が変わるため）。写真は最初から出す。動きを減らす設定では動かさない */
@keyframes h26-fuwa { from { opacity: 0; translate: 0 16px; filter: blur(6px); } to { opacity: 1; translate: 0 0; filter: none; } }
@keyframes h26-fuwa-glow { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .h26-fv__logo, .h26-fv__sub, .h26-fv__copy, .h26-fv__date, .h26-fv__time { animation: h26-fuwa 1.4s cubic-bezier(.22, .61, .36, 1) backwards; }
  .h26-fv__logo { animation-delay: .3s; }
  .h26-fv__glow { animation: h26-fuwa-glow 2s ease-out .9s backwards; }
  .h26-header { animation: h26-fuwa-glow 1s ease-out .1s backwards; }
  .h26-fv__sub { animation-delay: 1.1s; }
  .h26-fv__copy { animation-delay: 1.45s; }
  .h26-fv__date { animation-delay: 1.8s; }
  .h26-fv__time { animation-delay: 2.15s; }
}

/* 29: ヘッダーの後ろはカンプどおりのグラデーション（スクロール後も帯にしない）・PC の出方を少し大きく (2026-11-04 依頼 cmw1kxfxk00fxofxdmrxozjbj)
   カンプの上端の色を写真と比べて逆算：暗い茶 rgb(22,9,2) が上端で約88%、ヘッダーの下端あたりで約30%、ヘッダーの1.5倍で0 */
.h26-header::before, .h26-header::after { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; height: calc(var(--h26-header-h) * 1.55); pointer-events: none; transition: opacity .4s; }
.h26-header::before { background: linear-gradient(to bottom, rgba(22, 9, 2, .88) 0%, rgba(22, 9, 2, .58) 32%, rgba(22, 9, 2, .3) 55%, rgba(22, 9, 2, .14) 75%, rgba(22, 9, 2, 0) 100%); }
.h26-header::after { opacity: 0; height: calc(var(--h26-header-h) * 1.8); background: linear-gradient(to bottom, rgba(14, 7, 3, .95) 0%, rgba(14, 7, 3, .9) 30%, rgba(14, 7, 3, .7) 46%, rgba(14, 7, 3, .36) 66%, rgba(14, 7, 3, .12) 84%, rgba(14, 7, 3, 0) 100%); }
.h26-header.is-scrolled { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.h26-header.is-scrolled::before { opacity: 0; }
.h26-header.is-scrolled::after { opacity: 1; }
@media (max-width: 959px) {
  /* SP のカンプは上端がわずかに暗いだけ（約20%）。スクロール後は MENU とロゴが読めるよう PC と同じ濃さ */
  .h26-header::before { background: linear-gradient(to bottom, rgba(10, 8, 14, .32) 0%, rgba(10, 8, 14, .14) 55%, rgba(10, 8, 14, 0) 100%); }
}
@media (min-width: 960px) and (prefers-reduced-motion: no-preference) {
  html.h26-js .js-fade { transform: translateY(32px); }
  html.h26-js .js-fade.is-in { transform: none; }
}

/* 30: 言花あそびのピクトは指定画像（icon_mic.svg）。カメラと同じく丸ごと画像で出し、光のにじみだけ足す (2026-11-04 依頼 cmw1l4i5j00mdofxdgvekvlk3) */
.h26-pin--mic .h26-pin__ico { background: none; border: 0; box-shadow: 0 0 10px rgba(253, 190, 80, .6); }
.h26-pin--mic .h26-pin__ico img { width: 100%; height: 100%; }
.h26-other .h26-other__item h3 .h26-pinicon img { width: 100%; height: 100%; }

/* 31: MAP の「スポット名」のピクトは指定画像（icon_spot.svg）。丸・輪も画像に含むので枠と背景を外し、外側の光だけ足す (2026-11-04 依頼 cmw1liw7q00xvofxdyqs6pyei) */
.h26-pin.h26-pin--lantern .h26-pin__ico { background: none; border: 0; box-shadow: 0 0 8px rgba(255, 236, 150, .55); }
.h26-pin.h26-pin--lantern .h26-pin__ico img { width: 100%; height: 100%; }

/* 32: 渡された画像は改変せずそのまま使う (2026-11-04 依頼 cmw1s5tif01ktofiu2htceuv7「渡した画像は絶対改変しないでそのまま使って」)
   ランタン pict_spot.png（216px・丸は幅の2/3）、マイク pict_mic.png（60px・丸は幅の43/60）、言花あそびの写真 other_kotoba.png（3072×2048）。
   ファイルは届いた物とバイト一致。丸の大きさが前と同じになるよう表示の大きさだけ決め、画像の外の光は画像のまま（CSS の光・枠は足さない）。写真は切らずに 3:2 で全体を出す。 */
.h26-pin.h26-pin--lantern .h26-pin__ico, .h26-pin.h26-pin--mic .h26-pin__ico { position: relative; background: none; border: 0; box-shadow: none; }
.h26-pin.h26-pin--lantern .h26-pin__ico img { position: absolute; left: 50%; top: 50%; width: 150%; height: 150%; max-width: none; transform: translate(-50%, -50%); }
.h26-pin.h26-pin--mic .h26-pin__ico img, .h26-other .h26-other__item h3 .h26-pinicon img[src$="pict_mic.png"] { position: absolute; left: 50%; top: 50%; width: 139.5%; height: 139.5%; max-width: none; transform: translate(-50%, -50%); }
.h26-other .h26-other__item h3 .h26-pinicon:has(img[src$="pict_mic.png"]) { position: relative; filter: none; }
.h26-other__item > img.h26-other__asis { aspect-ratio: 3 / 2; object-fit: fill; }
@media (min-width: 960px) {
  /* 32 続き: PC は3つ横並び。言花あそびの写真（3:2・切らない）と見出しの高さがそろうよう、他の写真の下に同じだけ余白を取る（他の写真は今までどおり） */
  .h26-other__item > picture { display: block; aspect-ratio: 3 / 2; }
}

/* 33 STEP2 の3色（届いた写真をそのまま使い、丸く見せるのは CSS だけ） */
.h26-step__colors.h26-step__colors--photo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; width: 100%; margin: 10px 0 0; justify-content: stretch; white-space: nowrap; }
.h26-step__colors--photo li { gap: 4px; }
.h26-step__colors--photo img { display: block; width: 26px; height: 26px; max-width: none; margin: 0; border-radius: 50%; object-fit: cover; object-position: 50% 45%; aspect-ratio: 1; }
@media (min-width: 960px) { .h26-step__colors.h26-step__colors--photo { margin-top: 6px; } .h26-step__colors--photo img { width: 26px; height: 26px; } }
@media (max-width: 959px) {
  .h26-step:has(.h26-step__colors--photo) .h26-step__text { min-height: 0; }
  .h26-step__colors.h26-step__colors--photo { margin-top: 9px; font-size: 8px; letter-spacing: 0; }
  .h26-step__colors--photo img { width: 24px; height: 24px; }
}
/* 34 STEP2 の3色：PC は並びの幅を写真（160px）に合わせる（カードは190pxで、そのままだと右へ15pxずれる） */
@media (min-width: 960px) { .h26-step__colors.h26-step__colors--photo { width: 160px; margin-left: 0; } }

/* 35: 地図のスポット名（添付どおり 左の名前はピンの左に右揃えで並べる・SPも横並び） 2026-11-04 */
.h26-pin--left.h26-pin--lantern .h26-pin__label { text-align: right; }
@media (max-width: 959px) {
  .h26-pin--left.h26-pin--lantern { flex-direction: row-reverse; text-align: right; transform: translate(calc(-100% + 20px), -50%); }
}
@media (max-width: 599px) {
  /* 左の名前を横に置くと地図の左端で切れるので、SPの地図を少し引いて全部の名前を画面内に収める */
  .h26-map__inner { width: 148vw; margin-left: -25vw; }
}

/* 36: MAP は届いた1枚画像（PC用・SP用。スポット名も画像に入っている）をそのまま出す。ピンは重ねない (2026-11-04 依頼 cmw1ylnei03caofiua7v8hryg) */
.h26-map__inner picture { display: block; }
@media (max-width: 599px) {
  /* SP 画像の名前（左端のオータム〜・右端のフィナーレ）が切れない幅で、周りの林だけ少し外に逃がす */
  .h26-map__inner { width: 140vw; margin-left: -26vw; }
}

/* 37: チケットURLが未設定の間（公開時）は「準備中」。半透明にして押せない事を見せる。links.json に URL を入れると data-unset が消えて自動で元に戻る (2026-11-04 依頼 cmw1ymiw003cnofiu6gny1i4z) */
.h26-body a[data-unset="ticket"] { cursor: not-allowed; }
.h26-ticket[data-unset] img { opacity: .5; }
.h26-ticket[data-unset]:hover { transform: none; }
.h26-ticket[data-unset]::after { content: "準備中"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 4px 14px; border: 1px solid var(--h26-gold); border-radius: 999px; background: rgba(10, 8, 4, .9); color: #ffc55a; font-size: 15px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; white-space: nowrap; }
.h26-btn--gold[data-unset] { opacity: .5; }
.h26-btn--gold[data-unset]:hover { background: linear-gradient(90deg, #C3810F, #D9A647); }
.h26-btn--gold[data-unset] img { display: none; }
.h26-btn--gold[data-unset]::after { content: "準備中"; flex-shrink: 0; margin-left: .6em; padding: 1px 10px; border: 1px solid #fff; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.6; }
.h26-price__note a[data-unset] { opacity: .5; text-decoration: none; }
.h26-price__note a[data-unset]::after { content: "（準備中）"; }
@media (max-width: 959px) {
  .h26-ticket[data-unset]::after { padding: 2px 10px; font-size: 12px; }
}
/* 37 続き：チケットは「準備中」が公開時の正式な見せ方になったので、テスト環境だけの確認待ちの点線は外す */
.h26-preview a[data-unset="ticket"] { outline: none; }
/* 37 続き：下のボタンは「準備中」を入れると SP で横にはみ出すので、準備中の間だけ「通常料金より50円引き」を外して入れ替える（割引の案内は料金表の注記に残る） */
.h26-btn--gold[data-unset] small { display: none; }
/* 38 2026-11-04 スタッフ依頼 cmw1zchn603hfofiug7pwraiv：FV の時間の箱（ライトアップ演出時間・開園時間）に 0.5px #8B5A00 の囲み罫（PC・SP 共通） */
/* 38 続き：border にすると PC の箱（幅405px固定）の中身が2px狭まり時刻が2行に折れるので、幅を変えない内側の影で 0.5px を描く（Retina で実寸0.5px） */
.h26-fv__time, .h26-body .h26-fv__time { border: 0; box-shadow: inset 0 0 0 .5px #8B5A00; }
/* 39 2026-11-04 スタッフ依頼 cmw1zdzcs03i8ofiu9gz0i1sx「角丸の枠線を取って。」：チケットの「準備中」の札の角丸の枠線を外す（右下の追従ボタンと下の金ボタンで揃える。背景と文字はそのまま） */
.h26-ticket[data-unset]::after, .h26-btn--gold[data-unset]::after { border: 0; }
/* 40 2026-11-04 スタッフ依頼 cmw1zk81w03m3ofiukci6btdb：言花あそびの説明文。PC で「び。」1文字だけが最終行に落ちるので、語のまとまりの途中で折らない */
.h26-nb { display: inline-block; }

/* 41 2026-11-04 スタッフ依頼 cmw20b5hq0040of7l7oi51grs「ロゴ背面のふちがおかしいからカンプにあわせて！」：FV ロゴ後ろの紺のぼかし（fv_title_glow・screen 合成）が iPhone の Safari で紺の縁として見えるため、カンプどおり SP でも出さない（PC は既に非表示） */
.h26-fv__glow { display: none; }
/* 43 2026-11-04 スタッフ依頼 cmw20vjho00dhof7lzcbo4hv3「MAP画像はまっすぐトリミングせずにそのまま載せて。ぼかしを生かしたい。」：MAP 画像（map_pc／map_sp.webp）は四辺が透けてぼける作り。外枠の overflow:hidden が上に出た分を一直線に切っていたので、縦は切らない（横は SP で画面からはみ出させているので、横のスクロールが出ないよう横だけ切る） */
@supports (overflow: clip) {
  .h26-map__wrap { overflow: visible; overflow-x: clip; }
}
/* 44 2026-11-04 スタッフ依頼 cmw21idff00jtof7lrfify1pm「チケットボタンの縁ではなく、タイトル後ろのフチです。」→ 追加 cmw21w20t00mcof7lcd2lvsy3「この状態がいいです。」（添付＝タイトル後ろの影なしの画面）：影は 41番のとおり出さないままにする。取り違えたチケットボタンのぼかし（42番）は外した。ここには CSS を足さない */
/* 45 2026-11-04 スタッフ依頼 cmw239vu300upof7lmmpgno1v「step2の写真だけずれているので、他のstepの下端をstep2の下端に合わせて」：1199px 以下（SP・タブレット）は step2 だけ色の丸の段がある分、写真が下にずれていた。各 STEP の箱は同じ高さに伸びているので、写真の直前の要素の下に自動の余白を入れて写真を箱の下端（＝step2 の写真の下端）へ寄せる。写真の上の 14px のすき間はそのまま。1200px 以上は写真を絶対位置で置いていて既にそろっているので触らない */
@media (max-width: 1199.98px) {
  .h26-step > :has(+ img) { margin-bottom: auto; }
}
/* 46 2026-11-04 スタッフ依頼 cmw23vil900zwof7lpvjut38m「インスタの背景（ボタン下マージン）がたりない。」：959px 以下はインスタ欄の下の余白が 0 で、青い背景がボタンの下の線ぴったりで切れていた。ほかの欄（アクセス・PRODUCE・お問い合わせ）と同じく、ボタンの下に 80px の背景を出す。960px 以上は 164px あるので触らない */
@media (max-width: 959.98px) {
  .h26-sec.h26-insta { padding-bottom: 80px; }
}
/* 47 2026-11-04 スタッフ依頼 cmw240vww0127of7ld1wxfh6z「あとsp版のチケット予約ボタンを120%拡大しておいて。それで大体ok」：959px 以下の右下のチケットボタンを幅 96px → 115px（1.2倍）、「準備中」の札も文字 12px → 14.4px・余白を 1.2倍。画面の端からの位置（右 12px・下 14px）はそのまま。960px 以上は触らない */
@media (max-width: 959px) {
  .h26-ticket { width: 115px; }
  .h26-ticket[data-unset]::after { padding: 2.4px 12px; font-size: 14.4px; }
}
/* 48 2026-11-04 スタッフ依頼 cmw24ukjg01g6of7llo9qxfbq「ロゴのフチをボカシてください。chromeで見ています。」：FV ロゴの文字の後ろの紺の形が iPhone で角ばった縁として出ていたので、新しい画像 logo_full_soft.svg（古い logo_full.svg はサーバーの7日キャッシュで古いまま出るため別名。元の画像は触らない）の中で紺をぼかした柔らかい縁として描き直した（PC・SP・どのブラウザでも同じ）。ぼかしが端で切れないよう SVG の四辺に余白（幅の 5.867%）を足したので、その分だけ画像を広げて負の余白で戻し、文字の大きさ・位置と下の要素の位置は前と同じにする */
.h26-fv__logo > img:last-of-type { display: block; width: 111.734%; max-width: none; height: auto; aspect-ratio: 190.444 / 183.285; margin: -5.867%; }
/* 49 2026-11-04 スタッフ依頼 cmw264cyq01xaof7lk37ojw1u「フッターのボタンの文言は残して。追従ボタン同様、透明度50%にして上から「準備中」を載せる。」：フッターの WEBチケット ボタンは、文言（WEBチケット・通常料金より50円引き・外部リンクの印）を残したまま、ボタンの地と文字だけを半透明（50%）にし、「準備中」の札を右下の追従ボタンと同じ見た目（暗い地・金の文字・枠なし）で真ん中に重ねる。札は半透明にしない。URL が入ると data-unset が消えて元に戻る */
.h26-footer .h26-btn--gold[data-unset] { opacity: 1; background: linear-gradient(90deg, rgba(195, 129, 15, .5), rgba(217, 166, 71, .5)); border-color: rgba(217, 166, 71, .5); }
.h26-footer .h26-btn--gold[data-unset]:hover { background: linear-gradient(90deg, rgba(195, 129, 15, .5), rgba(217, 166, 71, .5)); }
.h26-footer .h26-btn--gold[data-unset] > * { opacity: .5; }
.h26-footer .h26-btn--gold[data-unset] small { display: inline; }
.h26-footer .h26-btn--gold[data-unset] > img:last-of-type { display: block; }
.h26-footer .h26-btn--gold[data-unset]::after { position: absolute; left: 50%; top: 50%; z-index: 1; transform: translate(-50%, -50%); margin: 0; padding: 4px 14px; border: 0; background: rgba(10, 8, 4, .9); color: #ffc55a; font-size: 15px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; white-space: nowrap; }
@media (min-width: 960px) {
  .h26-footer .h26-btn--gold[data-unset], .h26-footer .h26-btn--gold[data-unset]:hover { background: rgba(172, 112, 0, .5); border-color: rgba(172, 112, 0, .5); }
}
/* 50 2026-11-04 同じ依頼「フッター背景に前半メイン部分と同じ背景を敷く。（spは敷いてあるのでok）」：PC のフッターにも、前半のメイン（.h26-bg-light）と同じ背景＝地 #1c0d06 の上に bg_light.webp（幅100%・縦に繰り返し・濃さ70%）を敷く。SP は触らない */
@media (min-width: 960px) {
  .h26-footer { position: relative; isolation: isolate; background: #1c0d06; }
  .h26-footer::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/bg_light.webp") center top / 100% auto repeat-y; opacity: .7; pointer-events: none; }
}
/* 51 2026-11-04 同じ依頼「sp版と同じ動き(FVのロゴの表現やスクロールでフェードイン？)をPCにも反映する」：PC の OS で「動きを減らす」（Windows のアニメーション効果オフ・Mac の視差効果を減らす）がオンだと、FV のふわっと出る動きとスクロールのフェードインが止まり、PC だけ動かないように見えていた。依頼どおり、この設定に関係なく PC・SP 同じ動きを出す（JS 側のフェードインの条件も外した） */
@media (prefers-reduced-motion: reduce) {
  .h26-fv__logo, .h26-fv__sub, .h26-fv__copy, .h26-fv__date, .h26-fv__time { animation: h26-fuwa 1.4s cubic-bezier(.22, .61, .36, 1) backwards; }
  .h26-fv__logo { animation-delay: .3s; }
  .h26-header { animation: h26-fuwa-glow 1s ease-out .1s backwards; }
  .h26-fv__sub { animation-delay: 1.1s; }
  .h26-fv__copy { animation-delay: 1.45s; }
  .h26-fv__date { animation-delay: 1.8s; }
  .h26-fv__time { animation-delay: 2.15s; }
  html.h26-js .js-fade { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s ease; }
  html.h26-js .js-fade.is-in { opacity: 1; transform: none; }
}
@media (min-width: 960px) and (prefers-reduced-motion: reduce) {
  html.h26-js .js-fade { transform: translateY(32px); }
  html.h26-js .js-fade.is-in { transform: none; }
}

/* ---------- フェードイン（JS が動く時だけ。動きを減らす設定では出さない） ---------- */
@media (prefers-reduced-motion: no-preference) {
  html.h26-js .js-fade { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s ease; }
  html.h26-js .js-fade.is-in { opacity: 1; transform: none; }
}
/* 48 2026-11-04 井埜さん「LPも確認した？遊び方とかも」：スマホ（767px 以下）で Step03〜05 が画面の外に隠れていた（横送りの印なし・390px で Step02 の右端 382px まで）。767px 以下だけ Step 01〜05 を縦1列にする。768〜959px の横送り・960px 以上の5列は変えない。打ち消す元＝236〜239 行・671〜674 行（.h26-steps／.h26-steps__list／.h26-step／.h26-step > img） */
@media (max-width: 767px) {
  .h26-steps { margin: 56px 0 0; padding: 0; overflow: visible; overflow-x: visible; scroll-snap-type: none; scroll-padding-inline: 0; -webkit-overflow-scrolling: auto; }
  .h26-steps__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; width: 100%; max-width: 100%; }
  .h26-step { width: 100%; max-width: 100%; scroll-snap-align: none; }
  .h26-step__text { min-height: 0; }
  .h26-step > img { width: 200px; max-width: 100%; margin: 14px 0 0; }
  .h26-step__colors.h26-step__colors--photo { max-width: 200px; }
}
/* 49 2026-11-04 設計係 v3：R09 で 2 字伸びた体験内容の箇条（index 185 行）が 1200〜1215px で画面の右端を 4〜8px 超え、横スクロールが出た（li は 985 行で nowrap・文字の右端＝50%＋608px＞画面幅）。この帯だけ折り返しを許し、折る位置は 185 行の .h26-nb（1410 行・inline-block）で「…「言花あそび」を／お楽しみいただけます。」に固定する。1216px 以上は 985 行の nowrap のまま（1 行・変更前と同じ）・1199px 以下は元から normal。.h26-nb は inline-block なので li の text-indent:-1em（212 行）を継承して句が 1em 左にずれる→ li の中の .h26-nb だけ text-indent:0（960px 以上で効く。959px 以下は 732 行で元から 0） */
.h26-exp__list li .h26-nb { text-indent: 0; }
@media (min-width: 1200px) and (max-width: 1215px) {
  .h26-exp__list li { white-space: normal; }
}

/* Instagramの写真帯：元画像の寸法を保って横へ流す。 */
.h26-insta__track { display: flex; width: max-content; }
.h26-insta__track > picture, .h26-insta__track > img { flex: none; }
.h26-insta__track img { margin: 0; }
.h26-insta__strip.is-moving { overflow: hidden; }
.h26-insta__pause { display: block; margin: 12px auto 0; padding: 6px 12px; border: 1px solid #ffffff80; border-radius: 3px; background: transparent; color: #fff; font: inherit; font-size: 12px; cursor: pointer; }
.h26-insta__pause[hidden] { display: none; }
.h26-insta__pause:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
