/* ===================== v3：余白・表紙追加案・領域3案・流れ3案・後半の作り直し ===================== */

/* --- 余白を広げる（密度3：セクション上下 112〜176px） --- */
.rc{--sec-y:clamp(112px,12vw,176px)}
.rc .h2+.lead{margin-top:24px}
.rc .lab+.h2{margin-top:16px}

/* ===== 表紙 追加案（a2 / a3 / d2 / d3） ===== */
/* a2：とらやの余白。広い白地の中央に小さめの皿、文字は下に中央揃え */
html[data-fv="a2"] .rfv__bg{display:none}
html[data-fv="a2"] .rfv__in{grid-template-columns:1fr;justify-items:center;text-align:center;gap:28px}
html[data-fv="a2"] .rfv__ph{order:-1;width:min(34vw,380px)}
html[data-fv="a2"] .rfv__ph::after{inset:-26px}
html[data-fv="a2"] .note.n1{left:-62%;top:24%}
html[data-fv="a2"] .note.n2{right:-56%;bottom:18%}
html[data-fv="a2"] .rfv__t{font-size:clamp(36px,4vw,58px)}
html[data-fv="a2"] .rfv__t .ln{display:inline}
html[data-fv="a2"] .rfv__meta,html[data-fv="a2"] .rfv__cta{justify-content:center}
html[data-fv="a2"] .rfv{padding-top:calc(var(--hd) + 56px)}
/* a3：皿を右に大きくはみ出させる（半分だけ見える） */
html[data-fv="a3"] .rfv__bg{display:none}
html[data-fv="a3"] .rfv__ph{position:absolute;right:calc(-1 * min(22vw,320px));top:50%;width:min(62vw,860px);transform:translateY(-50%)}
html[data-fv="a3"] .rfv__in{grid-template-columns:1fr}
html[data-fv="a3"] .rfv__tx{max-width:620px}
html[data-fv="a3"] .rfv__ph::after{inset:-40px}
html[data-fv="a3"] .note.n1{left:-6%;top:12%}
html[data-fv="a3"] .note.n2{display:none}
/* d2：食卓の写真の上に、少し傾けたレシピカードを置く */
html[data-fv="d2"] .rfv__bg{inset:0;width:auto;background:url(/hiroshimahackathon/img/r-fv-d2.webp) center/cover}
html[data-fv="d2"] .rfv__ph{display:none}
html[data-fv="d2"] .rfv__in{grid-template-columns:1fr}
html[data-fv="d2"] .rfv__tx{justify-self:start;background:#fffdf8;padding:clamp(36px,4vw,60px);max-width:640px;border-radius:4px;transform:rotate(-2deg);box-shadow:0 60px 90px -40px rgba(0,0,0,.55),0 2px 0 rgba(0,0,0,.04);position:relative}
html[data-fv="d2"] .rfv__tx::before{content:"";position:absolute;inset:12px;border:1px solid var(--rule);pointer-events:none}
html[data-fv="d2"] .rfv__t{font-size:clamp(36px,4.4vw,64px)}
/* d3：開いた献立帳（左ページに文字、右ページに写真） */
html[data-fv="d3"] .rfv{background:color-mix(in srgb,var(--c1) 92%,#000)}
html[data-fv="d3"] .rfv__bg{display:none}
html[data-fv="d3"] .rfv__in{grid-template-columns:1fr 1fr;gap:0;background:#fffdf8;border-radius:6px;box-shadow:0 60px 100px -40px rgba(0,0,0,.6);overflow:hidden;max-width:1240px}
html[data-fv="d3"] .rfv__tx{padding:clamp(40px,5vw,72px)}
html[data-fv="d3"] .rfv__in::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:60px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(0,0,0,.08) 48%,rgba(0,0,0,.14) 50%,rgba(0,0,0,.06) 52%,transparent);pointer-events:none}
html[data-fv="d3"] .rfv__ph{width:100%;height:100%;align-self:stretch}
html[data-fv="d3"] .rfv__ph .plate{border-radius:0;aspect-ratio:auto;height:100%;outline:0;box-shadow:none}
html[data-fv="d3"] .rfv__ph .plate img{content:url(/hiroshimahackathon/img/r-fv-d3.webp)}
html[data-fv="d3"] .rfv__ph::after,html[data-fv="d3"] .note-ln{display:none}
html[data-fv="d3"] .note.n1{left:auto;right:24px;top:auto;bottom:22px;color:#fff;transform:rotate(-2deg);background:color-mix(in srgb,var(--navy) 55%,transparent);padding:6px 12px;border-radius:4px}
html[data-fv="d3"] .note.n2{display:none}
html[data-fv="d3"] .rfv__t{font-size:clamp(36px,4.2vw,62px)}
html[data-fv="d3"] .hdr:not(.is-scrolled) .logo,html[data-fv="d3"] .hdr:not(.is-scrolled) .nav a{color:#fff}

/* ===== 領域：暗い全面写真 ===== */
.dk{position:relative;background:var(--navy);color:#fff}
.dk__hd{padding-top:var(--sec-y);padding-bottom:56px}
.dk .lab{color:rgba(255,255,255,.65)}.dk .lab .jp{color:#fff;border-color:rgba(255,255,255,.3)}
.dk .h2{color:#fff}.dk .lead{color:rgba(255,255,255,.85)}
.dk__body{position:relative}
.dk__stage{position:sticky;top:0;height:100vh;overflow:hidden}
.dk__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1s var(--ease),transform 2.2s var(--ease)}
.dk__stage img.on{opacity:1;transform:none}
.dk__stage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--navy) 80%,transparent) 0%,color-mix(in srgb,var(--navy) 35%,transparent) 55%,color-mix(in srgb,var(--navy) 15%,transparent) 100%)}
.dk__prog{position:absolute;z-index:2;right:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));top:50%;transform:translateY(-50%);list-style:none;display:grid;gap:14px;text-align:right}
.dk__prog li{font-size:var(--fs-sm);font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:flex-end;gap:12px;transition:color .4s}
.dk__prog li::after{content:"";width:24px;height:2px;background:currentColor;transition:width .4s var(--ease)}
.dk__prog li.on{color:#fff}.dk__prog li.on::after{width:56px;background:var(--c3)}
.dk__list{position:relative;margin-top:-100vh;z-index:2}
.dk__it{height:100vh;display:flex;align-items:center}
.dk__own{display:none}
.dk__card{margin-left:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));max-width:520px;opacity:.25;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.dk__it.on .dk__card{opacity:1;transform:none}
.dk__card .k{display:inline-block;font-size:var(--fs-sm);font-weight:700;letter-spacing:.14em;padding:6px 12px;border:1px solid rgba(255,255,255,.5);border-radius:4px}
.dk__card h3{margin-top:22px;font-size:clamp(30px,3.4vw,48px);font-weight:900;line-height:1.3}
.dk__card p{margin-top:16px;font-size:var(--fs-body);line-height:1.9;color:rgba(255,255,255,.88)}
.dk__card .ex{margin-top:26px;font-family:var(--f-hand);font-weight:600;font-size:clamp(18px,1.5vw,21px);color:#fff;padding-left:16px;border-left:2px solid var(--c3)}

/* r2：重なっていく全面パネル（各パネルが自分の写真を持ち、次が上に重なる） */
html[data-dm="r2"] .dk__stage{display:none}
html[data-dm="r2"] .dk__list{margin-top:0}
html[data-dm="r2"] .dk__it{position:sticky;top:0;overflow:hidden}
html[data-dm="r2"] .dk__own{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html[data-dm="r2"] .dk__it::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--navy) 82%,transparent),color-mix(in srgb,var(--navy) 20%,transparent) 70%)}
html[data-dm="r2"] .dk__card{position:relative;z-index:2;opacity:1;transform:none}
html[data-dm="r2"] .dk__it+.dk__it{box-shadow:0 -30px 60px -20px rgba(0,0,0,.6)}

/* r3：左右分割。左に固定の写真（全高）、右に暗い地の文章 */
html[data-dm="r3"] .dk__body{display:grid;grid-template-columns:1.15fr .85fr}
html[data-dm="r3"] .dk__stage{grid-column:1;grid-row:1}
html[data-dm="r3"] .dk__stage::after{background:linear-gradient(90deg,transparent 60%,var(--navy))}
html[data-dm="r3"] .dk__prog{right:auto;left:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));top:auto;bottom:48px;transform:none;display:flex;gap:18px}
html[data-dm="r3"] .dk__prog li{flex-direction:column-reverse;align-items:flex-start;gap:8px}
html[data-dm="r3"] .dk__list{grid-column:2;grid-row:1;margin-top:0}
html[data-dm="r3"] .dk__card{margin-left:0;margin-right:var(--gut);padding-left:clamp(24px,4vw,64px)}

/* ===== 流れ：横向き ===== */
.hz{background:var(--pale)}
.hz__hd{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.hz__count{display:flex;align-items:baseline;gap:12px;padding:20px 28px;background:#fff;border-radius:16px;box-shadow:0 20px 40px -30px color-mix(in srgb,var(--navy) 60%,transparent)}
.hz__count span{font-size:var(--fs-body);font-weight:700}
.hz__count b{font-size:64px;font-weight:800;line-height:1;color:var(--c1)}
.f1,.f2,.f3{display:none;margin-top:72px}
html[data-fl="f1"] .f1,html:not([data-fl]) .f1,html[data-fl="f2"] .f2,html[data-fl="f3"] .f3{display:block}
html[data-fl="f3"] .f3{display:grid}
/* f1：1本の線と今日の位置 */
.f1__rail{position:relative;height:4px;border-radius:2px;background:color-mix(in srgb,var(--c1) 16%,#fff);margin:0 0 0}
.f1__fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:2px;background:var(--c1);transition:width 1.6s var(--ease)}
.f1.in .f1__fill{width:calc(var(--today,0) * 100%)}
.f1__today{position:absolute;left:calc(var(--today,0) * 100%);top:-46px;transform:translateX(-50%);font-size:var(--fs-xs);opacity:0;transition:opacity .6s 1.4s}
.f1.in .f1__today{opacity:1}
.f1__today b{display:block;background:var(--c3-ink);color:#fff;border-radius:999px;padding:5px 12px;font-weight:700;white-space:nowrap}
.f1__today::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:14px;background:var(--c3-ink);transform:translateX(-50%)}
.f1__stops{list-style:none;position:relative;height:220px}
.f1__stops li{position:absolute;left:calc(var(--x) * 100%);top:0;width:200px;transform:translateX(-12px)}
.f1__stops li:nth-child(even){top:auto}
.f1__stops li:nth-child(2){left:calc(var(--x) * 100% + 0px);top:110px}
.f1__stops li:last-child,.f1__stops li:nth-child(4){transform:translateX(calc(-100% + 12px));text-align:right}
.f1__stops .dot{position:absolute;left:4px;top:-12px;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--c1)}
.f1__stops li:nth-child(4) .dot,.f1__stops li:last-child .dot{left:auto;right:4px}
.f1__stops .fin .dot{border-color:var(--c3);background:var(--c3)}
.f1__stops .d{margin-top:28px;font-weight:900;font-size:clamp(22px,2vw,28px);line-height:1.2}
.f1__stops li:nth-child(2) .d{margin-top:0}
.f1__stops .d.en{font-weight:800;font-size:clamp(28px,2.6vw,36px)}
.f1__stops .fin .d{color:var(--c3-ink)}
.f1__stops h3{margin-top:6px;font-size:17px;font-weight:900}
.f1__stops p{margin-top:4px;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}
/* f2：二か月の目盛り（定規） */
.f2__months{display:grid;grid-template-columns:31fr 30fr}
.f2__months .m{border-left:2px solid var(--ink);padding:0 0 10px 12px}
.f2__months b{font-size:clamp(28px,3vw,40px);font-weight:900}
.f2__ruler{position:relative;height:44px;display:grid;grid-template-columns:repeat(61,1fr);border-top:2px solid var(--ink)}
.f2__ruler i{border-left:1px solid color-mix(in srgb,var(--ink) 30%,transparent);height:12px}
.f2__ruler i.w{height:22px;border-left-color:var(--ink)}
.f2__ruler i span{position:absolute;margin-top:24px;margin-left:-4px;font-family:var(--f-en);font-size:var(--fs-xs);font-weight:700;color:var(--ink-2)}
.f2__marks{position:relative;height:190px;margin-top:20px}
.f2__marks .mk{position:absolute;left:calc((var(--a) - .5) / 61 * 100%);top:0;opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.f2.in .f2__marks .mk{opacity:1;transform:none}
.f2__marks .mk:nth-child(2){top:64px}.f2__marks .mk:nth-child(4){top:64px}.f2__marks .mk:nth-child(5){top:128px}
.f2__marks .mk::before{content:"";position:absolute;left:0;bottom:100%;width:2px;height:calc(20px + var(--up,0px));background:var(--c1)}
.f2__marks .mk span{display:inline-block;background:#fff;border:2px solid var(--c1);border-radius:6px;padding:8px 14px;font-size:15px;font-weight:700;white-space:nowrap;transform:translateX(-12px)}
.f2__marks .range{width:calc((var(--b) - var(--a)) / 61 * 100%)}
.f2__marks .range span{display:block;background:color-mix(in srgb,var(--c1) 12%,#fff)}
.f2__marks .fin span{background:var(--c3-ink);border-color:var(--c3-ink);color:#fff;transform:translateX(calc(-100% + 12px))}
.f2__marks .today{top:auto;bottom:100%;margin-bottom:28px}
.f2__marks .today span{background:var(--ink);border-color:var(--ink);color:#fff;font-size:var(--fs-xs);padding:4px 10px}
/* f3：日程の列（Stripe の Agenda 型） */
.f3{list-style:none;grid-template-columns:repeat(5,1fr);gap:0;border-top:2px solid var(--ink)}
.f3 li{padding:28px 22px 8px 0;border-right:1px solid var(--rule);margin-right:22px;opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i)*.12s)}
.f3 li:last-child{border-right:0;margin-right:0}
.f3.in li{opacity:1;transform:none}
.f3 .d{font-weight:900;font-size:clamp(22px,2vw,28px);line-height:1.2}
.f3 .d.en{font-weight:800;font-size:clamp(30px,2.8vw,40px)}
.f3 h3{margin-top:30px;font-size:17px;font-weight:900}
.f3 p{margin-top:8px;font-size:var(--fs-sm);line-height:1.8;color:var(--ink-2)}
.f3 .fin .d{color:var(--c3-ink)}
.f3 .fin{position:relative}
.f3 .fin::before{content:"";position:absolute;left:0;right:0;top:-2px;height:4px;background:var(--c3)}

/* ===== 得られるもの：前回の写真と3つの注釈 ===== */
.an{background:var(--paper)}
.an__hd{max-width:760px}
.an__fig{position:relative;margin:64px calc(-1 * var(--gut)) 0;border-radius:0;overflow:hidden}
.an__fig img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:center 40%;transform:scale(1.06);transition:transform 2s var(--ease)}
.an__fig.in img{transform:none}
.an__notes{list-style:none;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:clamp(28px,4vw,64px);margin-top:-72px;position:relative;z-index:2;background:#fff;padding:44px clamp(24px,3vw,48px) 8px;border-radius:12px 12px 0 0;box-shadow:0 -30px 60px -40px color-mix(in srgb,var(--navy) 50%,transparent);margin-left:clamp(0px,4vw,64px)}
.an__notes li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.an__notes i{font-style:normal;width:34px;height:34px;border-radius:50%;border:2px solid var(--c1);color:var(--c1);display:grid;place-items:center;font-weight:800;font-size:15px}
.an__notes h3{font-size:var(--fs-h3);font-weight:900;line-height:1.45}
.an__notes p{margin-top:10px;font-size:15px;line-height:1.85;color:var(--ink-2)}
.an__foot{margin-top:48px;font-size:19px;padding-left:clamp(0px,4vw,64px)}

/* ===== 審査員：食卓の席次 ===== */
.st2{background:var(--pale)}
.st2__in{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,100px);align-items:center}
.st2__table{position:relative;aspect-ratio:1.35;max-width:640px;justify-self:center;width:100%}
.tbl2{position:absolute;left:18%;right:18%;top:28%;bottom:28%;border-radius:120px;background:linear-gradient(135deg,#fffdf8,#f3ece0);box-shadow:inset 0 0 0 1px var(--rule),0 30px 60px -36px color-mix(in srgb,var(--navy) 60%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.tbl2__t{font-size:17px;font-weight:900;letter-spacing:.3em;padding-left:.3em}
.tbl2__s{font-size:var(--fs-xs);font-weight:700;color:var(--ink-2);letter-spacing:.08em}
.seats{position:absolute;inset:0}
.seat{position:absolute;left:var(--x);top:var(--y);width:118px;transform:translate(-50%,-50%) scale(.85);opacity:0;transition:transform .7s var(--ease),opacity .7s var(--ease);transition-delay:calc(var(--i)*.09s);text-align:center}
.st2__table.in .seat{transform:translate(-50%,-50%);opacity:1}
.seat .c{width:78px;height:78px;margin:0 auto;border-radius:50%;background:#fff;border:1.5px dashed color-mix(in srgb,var(--c1) 45%,transparent);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;color:var(--ink-2)}
.seat.set .c{border:2px solid var(--c1);color:var(--c1)}
.seat .nm{display:block;margin-top:8px;font-size:var(--fs-sm);font-weight:700}
.seat .og{display:block;font-size:var(--fs-xs);color:var(--ink-2)}
.seat .g{display:block;margin-top:6px;font-size:var(--fs-xs);color:var(--ink-2)}

/* ===== 賞：賞状 ===== */
.aw{background:var(--paper)}
.aw__hd{max-width:760px}
.aw__row{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:clamp(20px,3vw,40px);margin-top:64px;align-items:center}
.cert{aspect-ratio:3/4;background:#fffdf8;padding:14px;box-shadow:0 40px 70px -40px color-mix(in srgb,var(--navy) 60%,transparent);transform:rotate(-1.5deg)}
.cert.s{transform:rotate(1.2deg) translateY(24px)}
.cert__in{height:100%;border:2px solid #b89a4a;outline:1px solid #b89a4a;outline-offset:-8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;background:radial-gradient(circle at 50% 50%,#fffdf8 50%,#f6efdd)}
.cert.s .cert__in{border-color:#8f9a9e;outline-color:#8f9a9e}
.cert__t{writing-mode:vertical-rl;font-size:clamp(34px,3.4vw,48px);font-weight:900;letter-spacing:.3em}
.cert__b{font-size:var(--fs-body);font-weight:700}
.cert__s{font-size:var(--fs-xs);color:var(--ink-2)}
.aw__ph{margin:0}
.aw__ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.aw__ph figcaption{margin-top:14px;font-size:var(--fs-sm);line-height:1.8;color:var(--ink-2)}

/* ===== エントリー：参加券 ===== */
.tk{background:var(--c1);color:#fff;overflow:hidden}
.tk::before{content:"";position:absolute;inset:0;background:url(/hiroshimahackathon/img/r-entry.webp) center/cover;opacity:.12;mix-blend-mode:luminosity}
.tk__in{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:center}
.tk .lab{color:rgba(255,255,255,.65)}.tk .lab .jp{color:#fff;border-color:rgba(255,255,255,.3)}
.tk__t{margin-top:16px;font-size:var(--fs-big);font-weight:900;line-height:1.2}
.tk .lead{color:rgba(255,255,255,.88)}
.ticket{display:grid;grid-template-columns:1fr auto;background:#fffdf8;color:var(--ink);border-radius:14px;box-shadow:0 50px 90px -40px rgba(0,0,0,.6);position:relative}
.ticket::before,.ticket::after{content:"";position:absolute;right:calc(var(--stub,250px) - 14px);width:28px;height:28px;border-radius:50%;background:var(--c1)}
.ticket::before{top:-14px}.ticket::after{bottom:-14px}
.ticket__main{padding:34px 36px;border-right:2px dashed var(--rule)}
.ticket__k{font-size:var(--fs-xs);font-weight:700;letter-spacing:.3em;color:var(--c3-ink)}
.ticket__n{display:block;margin-top:8px;font-size:clamp(19px,1.7vw,24px);font-weight:900;line-height:1.4}
.ticket dl{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.ticket dt{font-size:var(--fs-xs);color:var(--ink-2);font-weight:700}
.ticket dd{font-size:var(--fs-body);font-weight:700}
.ticket__stub{width:250px;display:flex;align-items:center;justify-content:center;padding:24px}
.ticket__stub .pill{min-width:0;width:100%;background:var(--ink);color:#fff}
.tk__form{grid-column:1/-1;margin-top:40px}
.tk__form .frame{background:#fff;color:var(--ink);border-radius:12px;min-height:160px;margin:0}
.tk__form .frame .ph{padding:36px}
.tk__form .contact{margin-top:16px;font-size:var(--fs-sm);color:rgba(255,255,255,.88)}
.tk__form .contact b{margin-left:10px;color:#fff}

/* ===== スマホ ===== */
@media (max-width:900px){
  .rc{--sec-y:88px}
  html[data-fv="a2"] .rfv__ph{width:72%}
  html[data-fv="a2"] .note{display:none}
  html[data-fv="a2"] .rfv__t .ln{display:block}
  html[data-fv="a3"] .rfv__ph{position:relative;right:auto;top:auto;transform:none;width:120%;margin-left:12%;order:-1}
  html[data-fv="a3"] .rfv{overflow:hidden}
  html[data-fv="d2"] .rfv__tx{transform:none;padding:28px 20px}
  html[data-fv="d3"] .rfv__in{grid-template-columns:1fr;width:calc(100% - 24px)}
  html[data-fv="d3"] .rfv__ph{order:-1;height:56vw}
  html[data-fv="d3"] .rfv__in::after{display:none}
  html[data-fv="d3"] .rfv__tx{padding:28px 20px}
  /* 領域：横スワイプのカード */
  .dk__hd{padding-bottom:28px}
  .dk__stage{display:none}
  .dk__list{margin-top:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 20px 56px;-webkit-overflow-scrolling:touch}
  .dk__it,html[data-dm="r2"] .dk__it{position:relative;flex:none;width:84vw;height:auto;min-height:540px;scroll-snap-align:center;border-radius:12px;overflow:hidden;align-items:flex-end}
  .dk__own{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .dk__it::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--navy) 10%,transparent) 20%,color-mix(in srgb,var(--navy) 92%,transparent) 62%)}
  .dk__card,html[data-dm="r3"] .dk__card{position:relative;z-index:2;margin:0;padding:24px 22px 28px;opacity:1;transform:none}
  .dk__card h3{font-size:24px}
  html[data-dm="r3"] .dk__body{display:block}
  /* 流れ：スマホは縦 */
  .hz__hd{grid-template-columns:1fr}
  .hz__count{justify-self:start}
  .hz__count b{font-size:48px}
  .f1__rail{display:none}
  .f1__stops,.f2__marks{height:auto}
  .f1__stops li,.f1__stops li:nth-child(2),.f1__stops li:nth-child(4),.f1__stops li:last-child{position:relative;left:auto;top:auto;width:auto;transform:none;text-align:left;padding:18px 0 18px 36px;border-left:2px solid color-mix(in srgb,var(--c1) 25%,transparent)}
  .f1__stops .dot,.f1__stops li:nth-child(4) .dot,.f1__stops li:last-child .dot{left:-11px;right:auto;top:22px}
  .f1__stops .d,.f1__stops li:nth-child(2) .d{margin-top:0}
  .f2__months,.f2__ruler{display:none}
  .f2__marks .mk,.f2__marks .mk:nth-child(n){position:relative;left:auto;top:auto;width:auto;display:block;margin-bottom:10px}
  .f2__marks .mk::before{display:none}
  .f2__marks .mk span,.f2__marks .fin span{transform:none}
  .f2__marks .today{display:none}
  html[data-fl="f3"] .f3{grid-template-columns:1fr}
  .f3 li{border-right:0;margin-right:0;border-bottom:1px solid var(--rule);padding:20px 0}
  .f3 h3{margin-top:8px}
  .an__fig{margin:40px -20px 0}
  .an__fig img{aspect-ratio:4/3}
  .an__notes{grid-template-columns:1fr;margin:-40px 0 0;padding:32px 20px 8px;gap:28px}
  .an__foot{padding-left:0}
  .st2__in{grid-template-columns:1fr}
  .st2__table{aspect-ratio:auto;height:auto}
  .tbl2{position:relative;inset:auto;height:120px;margin:0 0 20px}
  .seats{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px 8px}
  .seat{position:relative;left:auto;top:auto;width:auto;transform:scale(.9)}
  .st2__table.in .seat{transform:none}
  .seat .c{width:64px;height:64px}
  .aw__row{grid-template-columns:1fr 1fr}
  .aw__ph{grid-column:1/-1;margin-top:20px}
  .cert.s{transform:rotate(1.2deg)}
  .cert__t{font-size:28px}
  .tk__in{grid-template-columns:1fr}
  .ticket{grid-template-columns:1fr}
  .ticket::before,.ticket::after{display:none}
  .ticket__main{border-right:0;border-bottom:2px dashed var(--rule);padding:26px 22px}
  .ticket__stub{width:auto}
}
html.static .dk__card{opacity:1;transform:none}
html.static .an__fig img{transform:none}
html.static .seat{opacity:1}
html.static .f3 li,html.static .f2__marks .mk{opacity:1;transform:none}
/* f1 修正：偶数番目は線の上、奇数番目は線の下に置いて重なりを防ぐ */
.f1{position:relative;padding-top:178px}
.f1__stops{height:190px}
.f1__stops li,.f1__stops li:nth-child(2){top:0}
.f1__stops li:nth-child(even){top:auto;bottom:calc(100% + 4px)}
.f1__stops li:nth-child(even) .dot{top:auto;bottom:-16px}
.f1__stops li:nth-child(even) .d{margin-top:0}
.f1__stops li:nth-child(even) p{margin-bottom:28px}
.f1__today{top:auto;bottom:calc(100% + 14px)}
.f1__today{z-index:2}
.ticket{--stub:270px}
.ticket__stub{width:270px}
.ticket__stub .pill{padding:14px 14px 14px 22px;gap:14px}
@media (max-width:900px){.f1{padding-top:0}.f1__stops li:nth-child(even){bottom:auto}.f1__stops li:nth-child(even) .dot{top:22px;bottom:auto}.f1__stops li:nth-child(even) p{margin-bottom:0}}
.tk__in{grid-template-columns:.85fr 1.15fr}
html[data-fv="d2"] .rfv{padding-top:calc(var(--hd) + 72px)}
html[data-fv="d2"] .hdr{background:rgba(255,255,255,.94)}
html[data-fv="d3"] .rfv__copy{font-size:clamp(18px,1.6vw,22px)}
.f1__today{left:max(0px,calc(var(--today,0) * 100%))}
