/* TOKYO AI HACKATHON 2026 — v8 "strokes" (2026-09-29) → v9.1 (2026-09-30)
   White base. Diagonal colour strokes, bold JP headline boxes, vertical text,
   sky photo cut on a diagonal, soft circles, a drawn timeline path, ring roster.
   Dark surfaces only: the info band + ENTRY. */

:root{
  --paper:#fff; --pale:#edf3fa; --pale-2:#e4ecf8;
  --navy:#0a1233; --deep:#0f1b46; --black:#14172a;
  --ink:#111a3c; --ink-2:#4a5478; --ink-3:#7e86a6;
  --c1:#3d5aab; --c2:#8c5a9c; --c3:#d6336c; --sky:#9fc3ee;
  --line:rgba(17,26,60,.14); --line-2:rgba(17,26,60,.08);
  --f-jp:"Noto Sans JP",system-ui,sans-serif; --f-head:"Montserrat","Noto Sans JP",sans-serif; --f-en:"Montserrat","Noto Sans JP",sans-serif; --f-hand:"Zen Kurenaido","Noto Sans JP",sans-serif;
  --t-xs:12px; --t-s:13.5px; --t-b:15px; --t-m:17px; --t-l:22px;
  --t-h2:clamp(28px,3.2vw,44px); --t-big:clamp(34px,5vw,72px); --t-hero:clamp(48px,7.6vw,110px);
  --gut:clamp(20px,5vw,72px); --wrap:1200px;
  --ease:cubic-bezier(.22,1,.36,1); --hd:72px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f-jp);font-size:var(--t-b);line-height:1.9;color:var(--ink);background:var(--paper);letter-spacing:.03em;font-feature-settings:"palt";overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
b,strong{font-weight:700}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.en{font-family:var(--f-en)}
.hand{font-family:var(--f-hand);font-size:clamp(16px,1.4vw,20px);color:var(--c1);letter-spacing:.02em;line-height:1.5;display:inline-block;transform:rotate(-2.5deg)}

/* ===== labels & headings ===== */
.lab{display:flex;align-items:center;gap:14px;font-family:var(--f-en);font-weight:600;font-size:var(--t-xs);letter-spacing:.22em;color:var(--ink-3);text-transform:uppercase}
.lab .jp{font-family:var(--f-jp);letter-spacing:.08em;text-transform:none;padding-left:14px;border-left:1px solid var(--line)}
.h2{font-size:var(--t-h2);font-weight:900;line-height:1.35;letter-spacing:.01em;margin-top:14px}
.h2 .c{color:var(--c1)}
.lead{font-size:16px;font-weight:500;line-height:1.9;letter-spacing:.05em;color:var(--ink-2);margin-top:22px}
.note{font-size:var(--t-s);color:var(--ink-3);margin-top:32px}
.big{font-size:var(--t-big);font-weight:900;line-height:1.25;letter-spacing:.005em}
.big .c{color:var(--c1)}

/* ===== reveal ===== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0)*.12s)}
.reveal.in{opacity:1;transform:none}
html.static .reveal{opacity:1;transform:none;transition:none}

/* ===== header ===== */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--hd);display:flex;align-items:center;transition:background .4s,box-shadow .4s}
.hdr .wrap{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hdr.is-scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line-2)}
.logo{font-family:var(--f-en);font-weight:800;font-size:13px;letter-spacing:.14em;color:var(--ink);display:flex;align-items:center;gap:10px;white-space:nowrap}
.logo i{width:10px;height:10px;border-radius:50%;background:var(--c3)}
.logo b{color:var(--c1)}
.nav{display:flex;gap:26px;font-size:var(--t-s);font-weight:700}
.nav a{position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--c1);transition:right .35s var(--ease)}
.nav a:hover::after{right:0}
.hdr .cta{font-size:var(--t-s);font-weight:700;color:#fff;background:var(--black);border-radius:999px;padding:10px 20px;white-space:nowrap}
.hdr .cta:hover{background:var(--c1)}

/* side label (PC) */
.side{position:fixed;left:22px;bottom:40px;z-index:40;writing-mode:vertical-rl;font-family:var(--f-en);font-weight:600;font-size:10.5px;letter-spacing:.32em;color:var(--ink-3);display:flex;align-items:center;gap:16px}
.side::before{content:"";width:1px;height:80px;background:var(--ink-3);opacity:.5}

/* ===== pill CTA ===== */
.pill{display:inline-flex;align-items:center;gap:22px;background:var(--black);color:#fff;border-radius:999px;padding:16px 16px 16px 30px;min-width:min(100%,360px);box-shadow:0 22px 50px -26px rgba(17,26,60,.55);transition:transform .35s var(--ease),box-shadow .35s}
.pill:hover{transform:translateY(-3px);box-shadow:0 28px 56px -26px rgba(17,26,60,.7)}
.pill .tx{flex:1;line-height:1.35}
.pill b{display:block;font-size:var(--t-m);font-weight:700;letter-spacing:.04em}
.pill small{display:block;font-size:var(--t-xs);opacity:.7;margin-top:3px}
.pill i{width:46px;height:46px;border-radius:50%;background:var(--c1);flex:none;position:relative;transition:transform .35s var(--ease)}
.pill i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border-top:2px solid #fff;border-right:2px solid #fff;transform:translate(-60%,-50%) rotate(45deg)}
.pill:hover i{transform:translateX(5px)}
.pill.alt i{background:var(--c3)}
.pill.light{background:#fff;color:var(--ink)}

/* ===== strokes (FV / ENTRY) ===== */
.strokes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.strokes line{stroke-linecap:round;fill:none;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s cubic-bezier(.55,0,.2,1);transition-delay:var(--d,0s)}
.is-in .strokes line,.in .strokes line,html.static .strokes line{stroke-dashoffset:0}
html.static .strokes line{transition:none}

/* ===== FV ===== */
.fv{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--paper);padding:calc(var(--hd) + 24px) 0 110px}
.fv__in{position:relative;z-index:2;width:100%}
.tcy{text-combine-upright:all}
.stamp{display:inline-flex;align-items:center;gap:14px;font-family:var(--f-en);font-weight:600;font-size:var(--t-xs);letter-spacing:.2em;color:var(--ink);border:1px solid var(--ink);padding:8px 14px;background:rgba(255,255,255,.85)}
.stamp .jp{font-family:var(--f-jp);font-weight:700;letter-spacing:.1em}
.fv__t{margin-top:26px;line-height:1;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,1vw,14px)}
.box{display:inline-block;background:#fff;color:var(--ink);font-weight:900;font-size:var(--t-hero);line-height:1.02;letter-spacing:.02em;padding:.06em .16em .1em;box-shadow:0 18px 50px -30px rgba(17,26,60,.45);opacity:0;transform:translateX(-40px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.box.en{font-family:var(--f-en);font-weight:800;font-size:calc(var(--t-hero)*.86);letter-spacing:.04em;color:var(--c1);padding:.1em .2em .12em}
.is-in .box,html.static .box{opacity:1;transform:none}
html.static .box{transition:none}
.fv__lead{margin-top:24px;font-size:clamp(15px,1.25vw,18px);font-weight:500;line-height:2.15;letter-spacing:.06em;color:var(--ink)}
.fv__lead span{background:#fff;padding:.18em .5em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.fv__cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}
.tate{position:absolute;right:var(--gut);top:calc(var(--hd) + 48px);z-index:3;writing-mode:vertical-rl;text-orientation:mixed;font-weight:700;font-size:clamp(18px,1.7vw,24px);letter-spacing:.16em;line-height:1.55;background:#fff;padding:.7em .38em;box-shadow:0 18px 50px -30px rgba(17,26,60,.45);color:var(--ink);white-space:nowrap}
.tate .q{color:var(--c3)}
.fv__scroll{position:absolute;left:var(--gut);bottom:34px;z-index:3;display:flex;align-items:center;gap:12px;font-family:var(--f-en);font-weight:600;font-size:10.5px;letter-spacing:.3em;color:var(--ink-3)}
.fv__scroll i{width:60px;height:1px;background:var(--ink-3);position:relative;overflow:hidden}
.fv__scroll i::after{content:"";position:absolute;inset:0;background:var(--c1);transform:translateX(-100%);animation:scr 2.2s ease-in-out infinite}
@keyframes scr{0%{transform:translateX(-100%)}60%{transform:translateX(0)}100%{transform:translateX(100%)}}
html.static .fv__scroll i::after{animation:none}

/* ===== info band ===== */
.info{background:var(--navy);color:#fff;position:relative;z-index:2}
.info .wrap{display:flex;align-items:stretch}
.info .it{flex:1;display:flex;align-items:baseline;gap:14px;padding:22px 0 22px 26px;border-left:1px dashed rgba(255,255,255,.22)}
.info .it:first-child{border-left:0;padding-left:0}
.info .k{font-family:var(--f-en);font-weight:800;font-size:var(--t-xs);letter-spacing:.24em;color:var(--sky)}
.info b{font-family:var(--f-en);font-weight:800;font-size:var(--t-l);letter-spacing:.04em}
.info span.x{font-size:var(--t-s);color:rgba(255,255,255,.72)}

/* ===== sections ===== */
.sec{position:relative;padding:clamp(80px,9vw,130px) 0}
.sec.pale{background:var(--pale)}
.sec.skew{clip-path:polygon(0 4vw,100% 0,100% 100%,0 100%);padding-top:calc(4vw + clamp(80px,9vw,130px));margin-top:-2vw}
.blob{position:absolute;border-radius:50%;z-index:0;pointer-events:none;will-change:transform;transform:translate3d(0,var(--py,0px),0)}
.sec > .wrap{position:relative;z-index:1}

/* concept */
.concept .grid{display:grid;grid-template-columns:auto minmax(0,1fr) 34vw;gap:clamp(24px,4vw,64px);align-items:start;max-width:none;padding-right:0}
.concept{overflow:clip}
.concept .tatebig{writing-mode:vertical-rl;text-orientation:mixed;font-weight:900;font-size:clamp(22px,2.2vw,32px);line-height:1.5;letter-spacing:.08em;white-space:nowrap;color:var(--ink)}
.concept .tatebig .c{color:var(--c1)}
.poem{padding-top:8px}
.poem p{font-weight:700;font-size:clamp(18px,1.75vw,26px);line-height:1.75;letter-spacing:.04em;margin-bottom:.55em}
.poem p.gap{margin-top:1.3em}
.poem p .c{color:var(--c1)}
.poem .hand{margin-top:26px}
.pstack{display:grid;gap:14px;padding-top:24px}
.pstack figure{position:relative;height:clamp(220px,21vw,320px);overflow:hidden;border-radius:6px 0 0 6px;will-change:transform;transform:translate3d(0,var(--py,0px),0)}
.pstack img{width:100%;height:100%;object-fit:cover}
.pstack figcaption{position:absolute;left:14px;bottom:10px;font-family:var(--f-en);font-weight:600;font-size:10.5px;letter-spacing:.2em;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}

/* conditions */
.cond{overflow:clip;padding-bottom:clamp(56px,6vw,90px)}
.cond .skyclip{position:absolute;right:0;top:0;width:52%;height:100%;z-index:0;clip-path:polygon(22% 0,100% 0,100% 62%,46% 100%,0 100%);background:linear-gradient(135deg,#e3edfb 0%,#cfe0f7 45%,#dfe3f6 75%,#ecdff2 100%)}
.cond .skyclip::before{content:"";position:absolute;inset:0;background:url(/tokyohackathon/img/sky-clouds.webp) center 40%/cover no-repeat;mix-blend-mode:screen;opacity:.45}
.cond .skyclip::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.35) 30%,rgba(255,255,255,0) 100%)}
.stairs{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,4vw,64px);margin-top:64px;position:relative;align-items:start}
.stairs::before{content:"";position:absolute;left:-6%;right:-6%;top:58%;height:1px;background:linear-gradient(90deg,var(--c1),var(--c2),var(--c3));opacity:.2;transform:rotate(-9deg)}
.step{position:relative;padding-top:calc(var(--i)*96px)}
.step .n{font-family:var(--f-en);font-weight:800;font-size:clamp(56px,6vw,96px);line-height:1;letter-spacing:-.02em;color:var(--sc)}
.step h3{font-size:clamp(22px,2vw,30px);font-weight:900;line-height:1.4;margin-top:14px}
.step h3::after{content:"";display:block;width:48px;height:4px;background:var(--sc);margin-top:14px}
.step p{margin-top:14px;font-size:16px;line-height:1.9;color:var(--ink-2)}

/* gain: zigzag */
.gain,.prize{overflow:clip}
.zig{margin-top:56px;position:relative}
.zi{display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;align-items:start;padding:34px 0;border-top:1px solid var(--line);width:78%}
.zi:nth-child(even){margin-left:auto}
.zi .n{font-family:var(--f-en);font-weight:800;font-size:clamp(48px,5vw,84px);line-height:1;color:var(--c1);letter-spacing:-.02em}
.zi h3{font-size:clamp(19px,1.7vw,24px);font-weight:900;line-height:1.5}
.zi p{margin-top:10px;color:var(--ink-2);line-height:1.95;font-size:var(--t-b)}
.slant{position:absolute;left:-10%;right:-10%;top:64%;height:1px;background:var(--c3);opacity:.16;transform:rotate(-8deg);pointer-events:none}

/* flow: drawn path */
.path{position:relative;margin:70px calc(-1*var(--gut)) 0;height:clamp(380px,34vw,520px)}
.path svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.path polyline{fill:none;stroke:var(--c1);stroke-width:3;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.55,0,.2,1) .2s}
.path.in polyline,html.static .path polyline{stroke-dashoffset:0}
.path .st{position:absolute;width:22%;left:calc(var(--i)*20% - 1%);top:calc(var(--y)*1%);transform:translateY(-13px)}
.path .dot{width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--c1);margin-left:calc(50% - 13px);position:relative}
.path .st.hl .dot{background:var(--c3);border-color:var(--c3)}
.path .st.hl .dot::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid var(--c3);opacity:.45}
.path .lb{text-align:center;margin-top:16px}
.path .d{font-family:var(--f-en);font-weight:800;font-size:clamp(26px,2.6vw,40px);letter-spacing:.02em;line-height:1;color:var(--c1)}
.path .st.hl .d{color:var(--c3)}
.path .t{font-weight:900;font-size:clamp(18px,1.6vw,24px);line-height:1.4;margin-top:8px}
.path .x{font-size:14px;color:var(--ink-2);line-height:1.7;margin-top:8px}

/* criteria: deep card */
.deepcard{margin-top:48px;background:var(--deep);color:#fff;border-radius:10px;padding:clamp(32px,4vw,60px);position:relative;overflow:hidden}
.deepcard::after{content:"";position:absolute;right:-8%;top:-40%;width:44%;height:180%;background:linear-gradient(120deg,rgba(255,255,255,0),rgba(255,255,255,.05) 50%,rgba(255,255,255,0));transform:skewX(-14deg);pointer-events:none}
.c4{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.c4 > div{padding:0 28px 0 28px;border-left:1px solid rgba(255,255,255,.14)}
.c4 > div:first-child{border-left:0;padding-left:0}
.c4 .no{font-family:var(--f-en);font-weight:800;font-size:var(--t-s);letter-spacing:.2em;color:#ff7fae}
.c4 h3{font-size:var(--t-l);font-weight:900;line-height:1.35;margin-top:10px}
.c4 h3 small{display:block;font-family:var(--f-en);font-weight:600;font-size:10.5px;letter-spacing:.24em;color:rgba(255,255,255,.55);margin-bottom:6px}
.c4 p{font-size:var(--t-s);line-height:1.85;color:rgba(255,255,255,.74);margin-top:14px}
.score{margin-top:48px;padding-top:34px;border-top:1px solid rgba(255,255,255,.14)}
.score .row{display:flex;justify-content:space-between;gap:20px;font-size:var(--t-s);color:rgba(255,255,255,.8);flex-wrap:wrap}
.score .row b{color:#fff;font-weight:700}
.score .bar{display:flex;height:22px;border-radius:999px;overflow:hidden;margin-top:14px;background:rgba(255,255,255,.08)}
.score .bar span{display:block;height:100%;transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--ease)}
.score .bar .a{flex:3;background:linear-gradient(90deg,#4f6fd0,#3d5aab)}
.score .bar .b{flex:1;background:var(--c3);transition-delay:.5s}
.in .score .bar span,html.static .score .bar span{transform:none}
.score .cap{font-size:var(--t-xs);color:rgba(255,255,255,.6);margin-top:12px}

/* day */
.clipimg{position:relative;margin-left:auto;width:min(100%,1080px);height:clamp(240px,30vw,400px);overflow:hidden;clip-path:polygon(7% 0,100% 0,100% 80%,0 100%)}
.clipimg img{width:100%;height:120%;object-fit:cover;object-position:center 40%;will-change:transform;transform:translate3d(0,var(--py,0px),0)}
.clipimg .hand{position:absolute;left:12%;bottom:22%;background:rgba(255,255,255,.9);padding:6px 14px;transform:rotate(-2.5deg)}
.two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:clamp(32px,6vw,96px);align-items:start}
.two .sticky{position:sticky;top:calc(var(--hd) + 24px)}
.two .meta{margin-top:18px;font-family:var(--f-en);font-weight:800;font-size:var(--t-l);letter-spacing:.04em;color:var(--c1)}
.two .meta small{display:block;font-family:var(--f-jp);font-weight:400;font-size:var(--t-s);color:var(--ink-2);letter-spacing:.04em;margin-top:4px}
.tt .r{display:grid;grid-template-columns:44px minmax(0,1fr) 92px;gap:16px;align-items:baseline;padding:18px 12px;border-top:1px solid var(--line)}
.tt .r:last-child{border-bottom:1px solid var(--line)}
.tt .r.hi{background:var(--pale)}
.tt .t{font-family:var(--f-en);font-weight:800;font-size:var(--t-s);color:var(--ink-3);letter-spacing:.08em}
.tt .r.hi .t{color:var(--c3)}
.tt .w{font-weight:700;font-size:var(--t-m);line-height:1.5}
.tt .w small{display:block;font-weight:400;font-size:var(--t-s);color:var(--ink-2);margin-top:4px;line-height:1.7}
.tt .tm{font-family:var(--f-en);font-weight:800;font-size:var(--t-s);color:var(--c1);margin-left:10px;letter-spacing:.06em;font-style:normal}
.tt .m{text-align:right;font-family:var(--f-en);font-weight:800;font-size:var(--t-s);letter-spacing:.08em;color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.tags span{font-size:var(--t-s);border:1px solid var(--line);border-radius:6px;padding:6px 12px;background:#fff}
.tags b{color:var(--c1);margin-right:4px}

/* judges: rings */
.jl{margin-top:40px;border-top:1px solid var(--line)}
.jl .row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:6px 20px;align-items:baseline;padding:22px 12px;border-bottom:1px solid var(--line);transition:background .3s}
.jl .row:hover{background:#fff}
.jl .no{font-family:var(--f-en);font-weight:800;font-size:12px;letter-spacing:.2em;color:var(--c3);white-space:nowrap}
.jl .nm{font-size:clamp(24px,2.4vw,34px);font-weight:900;line-height:1.3;letter-spacing:.04em}
.jl .nm small{font-size:14px;font-weight:500;color:var(--c1);margin-left:14px;letter-spacing:.06em}
.jl .org{grid-column:2;font-size:14px;color:var(--ink-2)}
.jl .ph{width:96px;height:96px;border-radius:50%;object-fit:cover;grid-row:1/3;align-self:center}
.jl .row.has-ph{grid-template-columns:76px 96px minmax(0,1fr)}
.jl .row.has-ph .org{grid-column:3}
.jl .row.soon{border-bottom-style:dashed}
.jl .row.soon .nm{font-family:var(--f-en);font-weight:800;font-size:clamp(18px,1.6vw,22px);letter-spacing:.2em;color:var(--ink-3)}
.jl .row.soon .org{color:var(--ink-3)}
.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:26px 20px;margin-top:48px}
.j{text-align:center}
.j .av{width:122px;height:122px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:34px;color:var(--c1);background:var(--pale);border:1px solid var(--c1);position:relative}
.j .av::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid var(--c1);opacity:.3}
.j .nm{font-weight:900;font-size:var(--t-m);margin-top:16px;line-height:1.4}
.j .rl{font-size:var(--t-xs);color:var(--c1);letter-spacing:.06em;margin-top:2px}
.j .org{font-size:var(--t-xs);color:var(--ink-2);line-height:1.6;margin-top:4px}
.j.soon .av{background:#fff;border:1px dashed var(--ink-3);color:var(--ink-3);font-family:var(--f-en);font-weight:800;font-size:16px}
.j.soon .av::before{display:none}
.j.soon .nm{font-family:var(--f-en);font-weight:800;font-size:var(--t-xs);letter-spacing:.2em;color:var(--ink-3)}
.j.soon .org{color:var(--ink-3)}
.jcount{font-family:var(--f-en);font-weight:800;font-size:var(--t-s);letter-spacing:.14em;color:var(--c1);margin-top:12px}

/* prize */
.prize .grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.prize .big{font-size:clamp(30px,4vw,58px);white-space:nowrap}
.prize .big p{margin-top:.15em}
.prize .big p.c{color:var(--c1)}
.prize .big p.s{color:var(--ink-2);font-size:.74em}
.prize .txt{margin-top:26px;color:var(--ink-2);max-width:32em}
.prize figure{position:relative}
.prize figure img{border-radius:8px;box-shadow:0 40px 80px -50px rgba(17,26,60,.5)}
.prize figure .hand{position:absolute;left:-12px;bottom:-18px;background:#fff;padding:6px 14px;white-space:nowrap;font-size:clamp(14px,1.2vw,17px)}

/* outline table */
.tbl{border-top:1px solid var(--line)}
.tbl .r{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-size:var(--t-b)}
.tbl .k{font-weight:700}
.tbl .k small{display:block;font-family:var(--f-en);font-weight:600;font-size:10px;letter-spacing:.2em;color:var(--ink-3)}
.tbl .v{color:var(--ink-2)}
.tbl .v b{color:var(--ink)}

/* faq */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;font-weight:700;font-size:var(--t-m);position:relative;line-height:1.5}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:10px;top:50%;width:10px;height:10px;border-right:2px solid var(--c1);border-bottom:2px solid var(--c1);transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .a{padding:0 0 22px;color:var(--ink-2);font-size:var(--t-b);line-height:1.95}

/* entry */
.entry{background:var(--navy);color:#fff;overflow:hidden}
.entry .strokes{opacity:.42}
.entry .lab{color:rgba(255,255,255,.6)}
.entry .lab .jp{border-color:rgba(255,255,255,.2)}
.entry .h2{font-size:clamp(40px,6vw,88px);line-height:1.15}
.entry .lead{color:rgba(255,255,255,.78)}
.frame{margin-top:40px;background:#fff;color:var(--ink);border-radius:10px;overflow:hidden;box-shadow:0 40px 90px -50px rgba(0,0,0,.6)}
.frame iframe{width:100%;height:1100px;border:0;display:block}
.frame .ph{padding:clamp(32px,5vw,64px);text-align:center}
.frame .ph .d{font-family:var(--f-en);font-weight:800;font-size:var(--t-s);letter-spacing:.24em;color:var(--c3)}
.frame .ph h3{font-size:var(--t-l);font-weight:900;margin-top:12px;line-height:1.5}
.frame .ph p{color:var(--ink-2);margin-top:10px;font-size:var(--t-s)}
.contact{margin-top:22px;font-size:var(--t-s);color:rgba(255,255,255,.72)}
.contact b{color:#fff;font-weight:700;margin-left:6px}
.entry .pill.light{margin-top:36px}

/* generic cards (partners) */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:34px 32px}
.card .no{font-family:var(--f-en);font-weight:800;font-size:var(--t-xs);letter-spacing:.24em;color:var(--c3)}
.card h3{font-size:var(--t-l);font-weight:900;line-height:1.45;margin-top:10px}
.card p{margin-top:12px;color:var(--ink-2);font-size:var(--t-b)}
.kv .r{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.kv .r:last-child{border-bottom:1px solid var(--line)}
.kv .k{font-weight:900}
.kv .k small{display:block;font-family:var(--f-en);font-weight:600;font-size:10px;letter-spacing:.2em;color:var(--c1)}
.kv .v{color:var(--ink-2)}
.st4{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px;margin-top:8px}
.st4 h3{font-size:var(--t-l);font-weight:900;line-height:1.45;margin-top:8px}
.st4 p{margin-top:10px;color:var(--ink-2);font-size:var(--t-b)}
.st4 .no{font-family:var(--f-en);font-weight:800;font-size:var(--t-xs);letter-spacing:.24em;color:var(--c3)}
.ctaband{margin-top:48px;background:var(--black);color:#fff;border-radius:10px;padding:clamp(28px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.ctaband h3{font-size:var(--t-l);font-weight:900;line-height:1.45}
.ctaband p{color:rgba(255,255,255,.72);font-size:var(--t-s);margin-top:6px}

/* footer */
footer{background:#060b20;color:rgba(255,255,255,.72);padding:48px 0 40px;font-size:var(--t-s)}
footer .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
footer .logo{color:#fff}
footer .links{display:flex;gap:26px;font-family:var(--f-en);font-weight:600;font-size:var(--t-xs);letter-spacing:.2em}
footer .links a:hover{color:#fff}

/* ===== responsive ===== */
@media (max-width:1100px){
  .side{display:none}
  .nav{display:none}
  .concept .grid{grid-template-columns:auto minmax(0,1fr)}
  .concept .pstack{grid-column:1/-1;grid-template-columns:repeat(3,1fr);padding-top:8px;padding-right:var(--gut)}
  .concept .pstack figure{height:180px;border-radius:6px}
  .c4{grid-template-columns:1fr 1fr;gap:30px 0}
  .c4 > div:nth-child(3){border-left:0;padding-left:0}
}
@media (max-width:820px){
  :root{--hd:64px;--t-hero:clamp(46px,13.5vw,72px)}
  .hdr .cta{padding:8px 14px;font-size:12px}
  .fv{padding:calc(var(--hd) + 24px) 0 96px;min-height:auto}
  .tate{position:static;writing-mode:horizontal-tb;display:inline-block;margin-top:22px;padding:.5em .8em;font-size:16px;letter-spacing:.08em}
  .fv__lead{font-size:var(--t-b)}
  .stamp{flex-wrap:wrap;gap:4px 12px;font-size:11px;letter-spacing:.14em}
  .fv__cta{flex-direction:column;align-items:stretch}
  .pill{min-width:0;width:100%}
  .fv__scroll{display:none}
  .info .wrap{flex-direction:column}
  .info .it{border-left:0;padding:12px 0;border-top:1px dashed rgba(255,255,255,.22)}
  .info .it:first-child{border-top:0}
  .sec{padding:72px 0}
  .sec.skew{clip-path:polygon(0 6vw,100% 0,100% 100%,0 100%);padding-top:calc(6vw + 72px)}
  .concept .grid{grid-template-columns:1fr;gap:24px}
  .concept .tatebig{writing-mode:horizontal-tb;white-space:normal;font-size:clamp(24px,7vw,32px);line-height:1.4;letter-spacing:.04em}
  .poem p{font-size:clamp(17px,4.6vw,20px)}
  .concept .pstack{grid-template-columns:1fr;gap:10px;padding-right:0}
  .concept .pstack figure{height:200px}
  .cond .skyclip{width:100%;height:46%;top:auto;bottom:0;clip-path:polygon(0 30%,100% 0,100% 100%,0 100%);opacity:.35}
  .br-pc{display:none}
  .stairs{grid-template-columns:1fr;gap:34px;margin-top:40px}
  .stairs::before{display:none}
  .step{padding-top:0;display:grid;grid-template-columns:72px minmax(0,1fr);gap:0 14px}
  .step .n{font-size:40px;grid-row:1/3}
  .step h3{margin-top:0;font-size:20px}
  .step h3::after{height:3px;margin-top:10px}
  .step p{font-size:15px}
  .jl .row{grid-template-columns:56px minmax(0,1fr);padding:18px 4px}
  .jl .nm{font-size:22px}
  .jl .nm small{display:block;margin:4px 0 0}
  .jl .row.has-ph{grid-template-columns:56px 72px minmax(0,1fr)}
  .jl .ph{width:72px;height:72px}
  .zi{width:100%;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:26px 0}
  .zi .n{font-size:44px}
  .slant{display:none}
  .path{height:auto;margin:40px 0 0;padding-left:22px;border-left:2px solid var(--c1)}
  .path .d{font-size:22px}
  .path .t{font-size:18px}
  .path svg{display:none}
  .path .st{position:relative;width:auto;left:auto;top:auto;transform:none;padding:0 0 26px 20px}
  .path .dot{position:absolute;left:-35px;top:2px;margin:0}
  .path .lb{text-align:left;margin-top:0}
  .deepcard{padding:28px 22px}
  .c4{grid-template-columns:1fr;gap:26px}
  .c4 > div{border-left:0;padding:0}
  .c4 > div + div{border-top:1px solid rgba(255,255,255,.14);padding-top:22px}
  .two{grid-template-columns:1fr;gap:28px}
  .two .sticky{position:static}
  .tt .r{grid-template-columns:32px minmax(0,1fr);gap:10px}
  .tt .m{grid-column:2;text-align:left;color:var(--ink-3)}
  .roster{grid-template-columns:repeat(2,1fr);gap:24px 12px}
  .j .av{width:96px;height:96px;font-size:26px}
  .prize .grid{grid-template-columns:1fr;gap:36px}
  .prize .big{font-size:clamp(26px,7.4vw,40px)}
  .tbl .r,.kv .r{grid-template-columns:1fr;gap:4px}
  .cards,.st4{grid-template-columns:1fr}
  .frame iframe{height:1300px}
  .clipimg .hand{font-size:15px;bottom:26%}
  footer .wrap{flex-direction:column;align-items:flex-start}
}
@media (max-width:480px){
  .logo{font-size:11px;letter-spacing:.1em}
  .logo b{display:none}
}
@media (prefers-reduced-motion:reduce){
  .reveal,.box,.strokes line,.path polyline,.score .bar span{transition:none!important;opacity:1;transform:none;stroke-dashoffset:0}
  .fv__scroll i::after{animation:none}
}


/* ===================================================================
   v9 (2026-09-30): readability rules, splash conditions, brush flow,
   navy prize with polaroids, facts tiles, white entry, mobile poem
   =================================================================== */
body{font-weight:400;letter-spacing:.02em;line-break:strict;font-feature-settings:"palt"}
/* v9.1: headings = Zen Kaku Gothic New (JP) + Montserrat (digits/Latin); body = Noto Sans JP */
h1,h2,h3,.h2,.big,.box,.tate,.tatebig,.fv__lead,.jl .nm,.j .nm,.kv .k,.stn .t,.prz3 b,.splash h3,.stamp .jp,.hdr .cta,.pill{font-family:var(--f-head)}
.fv__lead{font-weight:700}
h1,h2,h3,.big,.h2{text-wrap:pretty}
p,li,.x,.v,.lead,.txt{text-wrap:pretty}
.lead,.zi p,.step p,.tt .w small,.faq .a,.card p,.st4 p,.kv .v,.tbl .v{max-width:40em}
.hdr .cta,.nav a,.pill{min-height:44px}

/* decorative blob */
.deco{position:absolute;z-index:0;pointer-events:none;width:clamp(220px,26vw,380px);opacity:.9}
.deco.tr{right:-6%;top:-40px}
.deco.small{width:clamp(160px,16vw,220px);top:20px;right:2%}
.deco svg{width:100%;height:auto;display:block}

/* conditions: paint splashes */
.splashes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:36px}
.splash{position:relative;padding:44px 28px 12px;min-height:0}
.splash .blob{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.splash .n,.splash h3,.splash p{position:relative;z-index:1}
.splash .n{font-family:var(--f-en);font-weight:800;font-size:clamp(48px,4.6vw,64px);line-height:1;letter-spacing:-.02em;color:var(--sc)}
.splash h3{font-size:clamp(20px,1.7vw,24px);font-weight:900;line-height:1.4;margin-top:14px}
.splash p{margin-top:12px;font-size:15px;line-height:1.85;color:var(--ink-2);max-width:20em}

/* flow: brush stroke road */
.brush{position:relative;margin:clamp(48px,5vw,72px) 0 0;height:clamp(400px,34vw,470px);--lx:0}
.brush .line{position:absolute;left:0;width:100%;top:50%;height:44px;transform:translateY(-50%);clip-path:inset(0 100% 0 0);transition:clip-path 1.6s cubic-bezier(.55,0,.2,1) .1s}
.brush.in .line,html.static .brush .line{clip-path:inset(0 0 0 0)}
.brush .rail{position:absolute;left:var(--gut);right:var(--gut);top:0;bottom:0;max-width:calc(var(--wrap) - 2*var(--gut));margin:0 auto}
.stn{position:absolute;left:calc(120px + var(--i)*((100% - 240px)/4));top:50%;width:0}
.stn .dot{position:absolute;left:-13px;top:-13px;width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--sc);z-index:2}
.stn.hl .dot{background:var(--sc)}
.stn.fin .dot{left:-17px;top:-17px;width:34px;height:34px}
.stn.fin .dot::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid var(--sc);opacity:.45}
.stn::before{content:"";position:absolute;left:-1px;width:2px;background:var(--sc);opacity:.45}
.stn.up::before{bottom:14px;height:30px}
.stn.dn::before{top:14px;height:30px}
.stn .card{position:absolute;left:-120px;width:240px;background:#fff;border-radius:10px;padding:18px 20px 16px;box-shadow:0 24px 44px -30px rgba(17,26,60,.4);opacity:0;transform:translateY(10px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(.5s + var(--i)*.18s)}
.brush.in .card,html.static .brush .card{opacity:1;transform:none}
.stn.up .card{bottom:44px}
.stn.dn .card{top:44px}
.stn .d{font-family:var(--f-en);font-weight:800;font-size:clamp(24px,2.2vw,32px);line-height:1;letter-spacing:.01em;color:var(--sc)}
.stn .t{font-weight:900;font-size:20px;line-height:1.4;margin-top:8px}
.stn .x{font-size:14px;line-height:1.7;color:var(--ink-2);margin-top:6px}

/* judges two-col */
.judges{overflow:clip}
.judges .jl{margin-top:0}

/* prize: navy climax */
.prize.dark{background:linear-gradient(160deg,#111f52 0%,#0a1233 70%);color:#fff;overflow:clip}
.prize.dark .big{font-size:clamp(28px,3.5vw,52px)}
.prize.dark .strokes{opacity:.22}
.prize.dark .lab{color:rgba(255,255,255,.6)}
.prize.dark .lab .jp{border-color:rgba(255,255,255,.2)}
.prize.dark .big{color:#fff}
.prize.dark .big p.s{color:rgba(255,255,255,.72)}
.prize.dark .big p.c{color:#fff;display:inline-block;background:linear-gradient(transparent 58%,rgba(214,51,108,.7) 58%,rgba(214,51,108,.7) 90%,transparent 90%)}
.prize.dark .txt{color:rgba(255,255,255,.78)}
.prz3{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid rgba(255,255,255,.16)}
.prz3 > div{padding:26px 26px 0;border-left:1px solid rgba(255,255,255,.16)}
.prz3 > div:first-child{border-left:0;padding-left:0}
.prz3 small{display:block;font-size:13px;color:rgba(255,255,255,.62);letter-spacing:.06em}
.prz3 b{display:block;font-size:clamp(24px,2.2vw,30px);font-weight:900;line-height:1.3;margin-top:4px}
.prz3 span{display:block;font-size:13px;color:rgba(255,255,255,.62);margin-top:6px;line-height:1.6}

/* outline: facts tiles */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:clamp(48px,5vw,72px)}
.facts > div{background:#fff;border-radius:10px;padding:26px 24px 22px;box-shadow:0 20px 40px -32px rgba(17,26,60,.35)}
.facts b{display:block;font-family:var(--f-en);font-weight:800;font-size:clamp(30px,3.4vw,44px);line-height:1;letter-spacing:-.01em;color:var(--c1)}
.facts small{display:block;margin-top:10px;font-size:13px;color:var(--ink-2);letter-spacing:.04em}

/* entry: white + strokes (bookend of the FV) */
.entry.light{background:#fff;color:var(--ink)}
.entry.light .strokes{opacity:.62}
.entry.light .lab{color:var(--ink-3)}
.entry.light .lab .jp{border-color:var(--line)}
.entry.light .h2{color:var(--ink)}
.entry.light .lead{color:var(--ink);background:#fff;display:inline-block;padding:6px 12px}
.entry.light .pill{margin-top:28px}
.entry.light .frame{border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(17,26,60,.35)}
.entry.light .contact{color:var(--ink-2);background:#fff;display:inline-block;padding:4px 10px}
.entry.light .contact b{color:var(--ink)}

/* mobile-only poem */
.poem-sp{display:none}

@media (max-width:1100px){
  .splashes{gap:16px}
  .stn .card{left:-100px;width:200px}
  .stn{left:calc(100px + var(--i)*((100% - 200px)/4))}
}
@media (max-width:820px){
  body{letter-spacing:.01em}
  .h2{font-size:clamp(24px,7vw,30px)}
  .lead{font-size:15px;line-height:1.85}
  .poem-pc{display:none}
  .poem-sp{display:block;margin-top:8px}
  .poem-sp p{font-weight:500;font-size:16px;line-height:1.85;letter-spacing:.01em;margin-bottom:1em;text-align:justify}
  .poem-sp p .c{font-weight:700}
  .concept .tatebig{font-size:22px;line-height:1.45}
  .concept .pstack{grid-template-columns:1fr 1fr;gap:8px}
  .concept .pstack figure{height:150px}
  .splashes{grid-template-columns:1fr;gap:22px;margin-top:32px}
  .splash{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0 16px;min-height:0;padding:0;align-items:start}
  .splash .blob{position:relative;grid-column:1;grid-row:1/3;width:120px;height:120px;inset:auto}
  .splash .n{grid-column:1;grid-row:1/3;align-self:center;justify-self:center;font-size:32px}
  .splash h3{grid-column:2;margin-top:8px;font-size:19px}
  .splash p{grid-column:2;font-size:15px;margin-top:8px}
  .brush{height:auto;margin:36px 0 0;padding-left:44px}
  .brush .line{display:none}
  .brush::before{content:"";position:absolute;left:12px;top:0;bottom:0;width:14px;border-radius:8px;background:linear-gradient(180deg,var(--c1),var(--c2),var(--c3));transform:scaleY(0);transform-origin:top;transition:transform 1.4s var(--ease)}
  .brush.in::before,html.static .brush::before{transform:none}
  .brush .rail{position:static;max-width:none;margin:0}
  .stn{position:relative;left:auto;top:auto;width:auto;margin-bottom:16px}
  .stn::before{display:none}
  .stn .dot{left:-38px;top:20px;width:22px;height:22px;border-width:3px}
  .stn.fin .dot{left:-40px;top:18px;width:26px;height:26px}
  .stn .card{position:static;width:auto;left:auto}
  .stn .d{font-size:24px}
  .stn .t{font-size:18px}
  .deco{width:160px;right:-40px;top:-10px}
  .deco.small{width:120px}
  .zi .n{font-size:40px}
  .zi h3{font-size:18px}
  .zi p{font-size:15px}
  .gain .blob,.prize .blob{opacity:.55}
  .tt .r{grid-template-columns:32px minmax(0,1fr) auto;gap:8px 10px}
  .tt .m{grid-column:3;text-align:right;color:var(--ink-3);font-size:12px}
  .jl .nm{font-size:22px}
  .prize.dark .big{font-size:clamp(26px,7.4vw,38px)}
  .prz3{grid-template-columns:1fr;margin-top:40px}
  .prz3 > div{border-left:0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.16)}
  .prz3 > div:first-child{border-top:0}
  .facts{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:40px}
  .facts > div{padding:18px 16px 16px}
  .facts b{font-size:28px}
  .entry.light .lead{display:block;padding:0;background:none}
  .entry.light .pill{width:100%}
}

/* v9.1 */
.flow{padding-bottom:clamp(56px,6vw,90px)}

/* ===================================================================
   v9.2 (2026-09-30): Japanese-only labels, Noto headings, centred prize
   =================================================================== */
.lab{gap:12px;text-transform:none}
.lab::before{content:"";display:block;width:22px;height:2px;background:var(--c1);flex:none}
.lab .jp{padding-left:0;border-left:0;font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}
.prize.dark .lab::before,.entry:not(.light) .lab::before{background:var(--sky)}
.prize.dark .lab .jp{color:rgba(255,255,255,.7)}
.tbl .k small,.kv .k small,.c4 h3 small{display:none}
.info .k{font-family:var(--f-jp);font-weight:700;letter-spacing:.12em}
.st4 .no,.card .no{font-family:var(--f-jp);font-weight:700;letter-spacing:.12em}
.fv__scroll{display:none}
.jl .row.soon .nm{font-family:var(--f-jp);letter-spacing:.08em}
.jcount{font-family:var(--f-jp);letter-spacing:.06em}

/* prize: centred composition */
.prize.dark .pc{text-align:center}
.prize.dark .pc .lab{justify-content:center}
.prize.dark .big{font-size:clamp(26px,3.3vw,46px);white-space:normal;line-height:1.5;margin:16px auto 0;max-width:24em}
.prize.dark .big p{margin:0;display:block}
.prize.dark .big p.c{display:inline-block;margin-top:.1em}
.prize.dark .txt{margin:22px auto 0;max-width:36em}
.prize.dark .strokes{opacity:.14}
.pics{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.5vw,32px);margin:clamp(40px,4vw,56px) auto 0;max-width:980px}
.pics figure{margin:0;background:#fff;padding:8px 8px 0;border-radius:8px;text-align:left}
.pics img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center 40%;border-radius:4px;display:block}
.pics figcaption{font-family:var(--f-hand);font-size:15px;line-height:1.5;color:var(--ink);padding:10px 6px 12px}
.prize.dark .prz3{max-width:980px;margin:clamp(40px,4vw,56px) auto 0;text-align:center}
.prize.dark .prz3 > div{padding:26px 20px 0}
.prize.dark .prz3 > div:first-child{padding-left:20px}
@media (max-width:820px){
  .pics{grid-template-columns:1fr;gap:14px}
  .prize.dark .big{font-size:clamp(22px,6.4vw,30px)}
  .prize.dark .prz3{text-align:left}
  .prize.dark .prz3 > div,.prize.dark .prz3 > div:first-child{padding:18px 0 0}
}

/* v9.3: prize on a light gradient with a diagonal brand band (no flat navy) */
.prize.soft{background:linear-gradient(180deg,#fff 0%,#eef3fb 100%);color:var(--ink);overflow:clip}
.prize.soft .band{position:absolute;left:-12%;right:-12%;top:54%;height:clamp(150px,17vw,250px);transform:rotate(-7deg);background:linear-gradient(90deg,#3d5aab,#8c5a9c 55%,#d6336c);opacity:.13;z-index:0;pointer-events:none}
.prize.soft .pc{text-align:center}
.prize.soft .pc .lab{justify-content:center}
.prize.soft .big{font-size:clamp(26px,3.3vw,46px);white-space:normal;line-height:1.5;margin:16px auto 0;max-width:24em;color:var(--ink)}
.prize.soft .big p{margin:0;display:block}
.prize.soft .big p.c{display:inline-block;margin-top:.1em;color:var(--ink);background:linear-gradient(transparent 58%,rgba(214,51,108,.28) 58%,rgba(214,51,108,.28) 90%,transparent 90%)}
.prize.soft .txt{margin:22px auto 0;max-width:36em;color:var(--ink-2)}
.prize.soft .pics{margin-top:clamp(44px,5vw,64px);align-items:start}
.prize.soft .pics figure{box-shadow:0 34px 70px -40px rgba(17,26,60,.45)}
.prize.soft .pics figure:nth-child(2){margin-top:40px}
.faq.pale{overflow:clip}
@media (max-width:820px){
  .prize.soft .big{font-size:clamp(22px,6.4vw,30px)}
  .prize.soft .pics figure:nth-child(2){margin-top:0}
  .prize.soft .band{top:60%;height:120px}
}
.prize.soft .txt{max-width:50em}
@media (max-width:820px){.prize.soft .txt{text-align:left}}

/* v9.4: About headings one line, aligned */
.st4 h3{white-space:nowrap;font-size:clamp(18px,1.6vw,22px)}
@media (max-width:820px){.st4 h3{white-space:normal}}

/* ===================================================================
   v10 (2026-09-30): photo-driven magazine layout
   =================================================================== */
/* photo marquee */
.marq{overflow:hidden;background:#fff;padding:18px 0}
.marq__track{display:flex;gap:14px;width:max-content;animation:marq 60s linear infinite}
.marq:hover .marq__track{animation-play-state:paused}
.marq img{height:clamp(130px,14vw,210px);width:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px;display:block;flex:none}
@keyframes marq{to{transform:translateX(calc(-50% - 7px))}}
@media (prefers-reduced-motion:reduce){.marq__track{animation:none}}

/* theme: fixed photo, cards scroll over it */
.theme{position:relative;color:#fff;clip-path:inset(0);padding:clamp(96px,10vw,150px) 0 clamp(96px,10vw,140px)}
.theme .fixbg{position:fixed;inset:0;z-index:0;pointer-events:none}
.theme .fixbg img{width:100%;height:100%;object-fit:cover}
.theme .fixbg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,51,.72),rgba(10,18,51,.5) 45%,rgba(10,18,51,.72))}
.theme .lab .jp{color:rgba(255,255,255,.75)}
.theme .lab::before{background:var(--sky)}
.theme__h{font-size:clamp(28px,4vw,56px);font-weight:900;line-height:1.35;margin-top:14px;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.theme__h .c{color:#9fc3ee}
.tcards{display:flex;flex-direction:column;gap:clamp(100px,11vw,170px);margin-top:clamp(72px,9vw,130px)}
.tcard{background:#fff;color:var(--ink);border-radius:10px;padding:clamp(28px,3.4vw,44px);width:min(560px,100%);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.tcard.r{align-self:flex-end}
.tcard .k{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--c1)}
.tcard .big1{font-size:clamp(21px,2vw,28px);font-weight:900;line-height:1.5;margin-top:10px}
.tcard .big1 .c{color:var(--c1)}
.tcard p:not(.big1){margin-top:12px;color:var(--ink-2);font-size:16px;line-height:1.85}
.tcard p b{color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chips li{font-size:14px;font-weight:700;padding:6px 14px;border-radius:999px;background:var(--pale);color:var(--c1)}
.theme__note{margin-top:clamp(56px,6vw,96px)}
.theme__note .hand{color:#fff}

/* conditions: photo cards */
.cond{padding-bottom:clamp(72px,8vw,110px)}
.mags{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px);margin-top:40px}
.mag figure{position:relative;margin:0;border-radius:8px;overflow:hidden;aspect-ratio:4/3}
.mag figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mag:hover figure img{transform:scale(1.04)}
.mag .badge{position:absolute;left:14px;top:14px;font-family:var(--f-en);font-weight:800;font-size:20px;line-height:1;color:#fff;background:var(--sc);padding:9px 12px;border-radius:6px}
.mag h3{font-size:clamp(19px,1.6vw,23px);font-weight:900;line-height:1.45;margin-top:18px}
.mag p{margin-top:8px;color:var(--ink-2);font-size:15px;line-height:1.85}

/* gain / value: alternating photo rows */
.alts{display:flex;flex-direction:column;gap:clamp(56px,7vw,96px);margin-top:clamp(40px,5vw,64px)}
.altrow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);align-items:center}
.altrow.r figure{order:2}
.altrow figure{position:relative;margin:0}
.altrow figure::before{content:"";position:absolute;inset:0;transform:translate(16px,16px);background:var(--ac);opacity:.16;border-radius:10px}
.altrow.r figure::before{transform:translate(-16px,16px)}
.altrow figure img{position:relative;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px;display:block}
.altrow .n{font-family:var(--f-en);font-weight:800;font-size:clamp(40px,4vw,60px);line-height:1;color:var(--ac)}
.altrow h3{font-size:clamp(21px,2vw,28px);font-weight:900;line-height:1.45;margin-top:12px}
.altrow p{margin-top:14px;color:var(--ink-2);font-size:16px;line-height:1.9;max-width:30em}
.tg{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px}
.tg span{font-size:13px;font-weight:700;color:var(--ac)}

/* day: two photos in the diagonal frame */
.clipimg.duo{display:flex;gap:10px}
.clipimg.duo img{height:120%}
.clipimg.duo img:first-of-type{width:62%}
.clipimg.duo img:nth-of-type(2){width:38%}

/* 3D accents */
.deepcard.x3d{background:linear-gradient(90deg,var(--deep) 38%,rgba(15,27,70,.55) 70%,rgba(15,27,70,.25)),url(/tokyohackathon/img/x-shapes-1800.webp) right center/cover no-repeat,var(--deep)}
.prize.soft .glass{position:absolute;right:-6%;top:-4%;width:min(46vw,640px);opacity:.5;z-index:0;pointer-events:none;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent)}
.prize.soft .wrap{position:relative;z-index:1}

/* partners venue cards with photo */
.card.ph{padding-top:0;overflow:hidden}
.card.ph figure{margin:0 -32px 24px;aspect-ratio:16/9;overflow:hidden}
.card.ph figure img{width:100%;height:100%;object-fit:cover}

@media (max-width:820px){
  .tcards{gap:120px;margin-top:72px}
  .tcard,.tcard.r{align-self:stretch;width:auto}
  .theme__h{font-size:clamp(24px,7vw,32px)}
  .mags{grid-template-columns:1fr;gap:28px}
  .altrow,.altrow.r{grid-template-columns:1fr;gap:22px}
  .altrow.r figure{order:0}
  .altrow figure::before,.altrow.r figure::before{transform:translate(10px,10px)}
  .clipimg.duo img:first-of-type{width:100%}
  .clipimg.duo img:nth-of-type(2){display:none}
  .prize.soft .glass{width:70vw;right:-20%;opacity:.35}
  .card.ph figure{margin:0 -22px 20px}
}

.cond + .gain{padding-top:clamp(40px,4vw,64px)}

/* v10.1: equal FV buttons, field list, calmer photos (message first) */
.fv__cta .pill{width:380px;min-width:0}
.tcard{width:min(600px,100%)}
.fields{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:16px;font-weight:700;color:var(--ink);white-space:nowrap;letter-spacing:.04em}
.fields span:not(:first-child)::before{content:"／";margin:0 .45em 0 .2em;color:var(--c1);font-weight:400}
.theme .fixbg img{filter:blur(3px) saturate(.8);transform:scale(1.04)}
.theme .fixbg::after{background:linear-gradient(180deg,rgba(10,18,51,.84),rgba(10,18,51,.7) 45%,rgba(10,18,51,.84))}
.tcard .big1{font-size:clamp(22px,2.2vw,30px)}
.mag figure{aspect-ratio:16/9}
.mag h3{font-size:clamp(20px,1.8vw,25px);margin-top:16px}
.mag p{font-size:16px}
.altrow{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.altrow figure img{aspect-ratio:4/3}
.altrow h3{font-size:clamp(22px,2.3vw,32px)}
.altrow p{font-size:17px}
@media (max-width:820px){
  .fv__cta .pill{width:100%}
  .fields{white-space:normal;display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:6px;line-height:1.8}
  .fields .brk{display:block;flex-basis:100%;height:0}
  .fields span::before{display:none}
  .mag figure{aspect-ratio:2/1}
  .altrow figure img{aspect-ratio:2/1}
  .altrow p{font-size:16px}
}

.altrow.r{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
@media (max-width:820px){.altrow.r{grid-template-columns:1fr}}

@media (min-width:821px){.fields .brk{display:none}}

/* v10.3: keep the clearer theme photo from v10.2 */
.theme .fixbg img{filter:none;transform:none}
.theme .fixbg::after{background:linear-gradient(90deg,rgba(10,18,51,.78) 0%,rgba(10,18,51,.5) 45%,rgba(10,18,51,.25) 100%)}
@media (max-width:820px){.theme .fixbg::after{background:linear-gradient(180deg,rgba(10,18,51,.72),rgba(10,18,51,.45) 50%,rgba(10,18,51,.72))}}

/* ===================================================================
   v11 (2026-10-01): one-screen theme band + vertical tanzaku judges
   =================================================================== */
.theme{padding:clamp(96px,9vw,130px) 0 clamp(48px,5vw,72px)}
.theme__one{display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(720px,94vh,920px);gap:64px}
.theme__msg{margin-top:26px;max-width:34em;font-size:clamp(16px,1.3vw,18px);line-height:2;color:rgba(255,255,255,.9);text-shadow:0 1px 14px rgba(0,0,0,.35)}
.theme__h{font-size:clamp(32px,4.4vw,62px);line-height:1.35}
.theme__note{margin-top:22px}
.theme__note .hand{font-size:16px}
.tband{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;box-shadow:0 40px 80px -40px rgba(0,0,0,.55);color:var(--ink)}
.tcol{padding:clamp(24px,2.6vw,36px)}
.tcol+.tcol{border-left:1px solid var(--line)}
.tcol .k{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--c1)}
.tcol .big1{font-size:clamp(18px,1.6vw,22px);font-weight:900;line-height:1.55;margin-top:10px}
.tcol .big1 .c{color:var(--c1)}
.tcol p:not(.big1){margin-top:12px;color:var(--ink-2);font-size:15px;line-height:1.85}
.tcol p b{color:var(--ink)}
.tcol .fields{white-space:normal;display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:4px;font-size:15px;margin-top:14px;padding-top:12px;line-height:1.8}
.tcol .fields .brk{display:block!important;flex-basis:100%;height:0}
.tcol .fields span::before{display:none}

/* judges: tanzaku */
.tz-sec{background:var(--pale) repeating-linear-gradient(90deg,transparent 0 47px,rgba(61,90,171,.06) 47px 48px);overflow:clip}
.jhead{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.jhead__r{max-width:30em}
.jhead__r .lead{margin-top:0}
.tzs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(10px,1.4vw,20px);margin-top:clamp(40px,4vw,56px);align-items:start}
.tz__card{position:relative;height:clamp(230px,22vw,300px);background:#fff;border-radius:6px;display:flex;justify-content:center;padding-top:34px;box-shadow:0 26px 40px -30px rgba(17,26,60,.45);overflow:hidden;transition:transform .5s var(--ease)}
.tz__card::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--c1),var(--c2),var(--c3))}
.tz__card::after{content:"";position:absolute;top:16px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--pale);box-shadow:inset 0 1px 2px rgba(17,26,60,.25)}
.tz:hover .tz__card{transform:translateY(-6px)}
.tz__nm{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--f-head);font-weight:900;font-size:clamp(20px,2vw,28px);letter-spacing:.28em;color:var(--ink);white-space:nowrap}
.tz__meta{margin-top:12px;font-size:12.5px;line-height:1.55;color:var(--ink-2)}
.tz__meta b{display:block;font-size:12px;font-weight:700;color:var(--c1);margin-bottom:2px}
.tz.soon .tz__card{background:rgba(255,255,255,.5);border:1.5px dashed rgba(17,26,60,.25);box-shadow:none}
.tz.soon .tz__card::before{display:none}
.tz.soon .tz__nm{font-size:clamp(15px,1.3vw,18px);font-weight:700;color:var(--ink-3);letter-spacing:.4em}
.tz.soon .tz__meta{color:var(--ink-3)}
@media (max-width:1100px){.tzs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:820px){
  .theme{padding:72px 0 40px}
  .theme__one{min-height:0;gap:32px}
  .theme__h{font-size:clamp(26px,7.4vw,34px)}
  .tband{grid-template-columns:1fr;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;gap:12px}
  .tcol{background:rgba(255,255,255,.95);border-radius:10px;padding:22px}
  .tcol+.tcol{border-left:0}
  .jhead{display:block}
  .jhead__r{margin-top:14px}
  .tzs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:32px calc(var(--gut)*-1) 0;padding:0 var(--gut) 12px;scrollbar-width:none}
  .tzs::-webkit-scrollbar{display:none}
  .tz{flex:0 0 118px;scroll-snap-align:start}
  .tz__card{height:220px}
}

.tz__nm .sp{display:inline-block;height:.35em}
@media (max-width:820px){
  .tzs{scroll-padding-left:var(--gut)}
  .theme__note .hand{font-size:13.5px;white-space:nowrap}
}

/* ===================================================================
   v12 (2026-10-02): 東京の一日（テーマ固定写真＋1行ずつ灯る／条件・得られるもの／流れの写真／審査シート／本選の一日・会場写真／審査員の短冊）
   =================================================================== */
/* --- final.css --- */
/* ===== 第3弾 試作（本番に移すときは styles.css 末尾へ） ===== */

/* ---------- テーマ：交差点の写真を固定、ガラス板も写真と一緒に固定、1行ずつ灯る ---------- */
.v12t{position:relative;clip-path:inset(0);color:#fff;padding:26vh 0 30vh}
.v12t .bgfix{position:fixed;inset:0;background:url(/tokyohackathon/img/t1-tokyo-1600.webp) center/cover;overflow:hidden}
.v12t .bgfix::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,40,.86) 0%,rgba(8,14,40,.62) 50%,rgba(8,14,40,.4) 100%)}
.v12t .glass{position:absolute;top:-10%;height:130%;transform:skewX(-16deg);background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.03) 60%,rgba(255,255,255,.1));border-left:1px solid rgba(255,255,255,.4)}
.v12t .g1{left:60%;width:16%}.v12t .g2{left:86%;width:9%;opacity:.7}.v12t .g3{left:6%;width:5%;opacity:.45}
.v12t > .wrap{position:relative;z-index:1}
.v12t .lab .jp{color:rgba(255,255,255,.75)}.v12t .lab::before{background:#fff}
.v12t .catch{margin-top:24px;font-size:clamp(32px,4.2vw,60px);font-weight:900;line-height:1.4;text-shadow:0 2px 24px rgba(0,0,0,.3)}
.v12t .catch .c{background:linear-gradient(90deg,#9db6ff,#f59ac0);-webkit-background-clip:text;background-clip:text;color:transparent}
.v12t .st{margin-top:20vh}.v12t .st+.st{margin-top:15vh}
.v12t .st p{margin:0;font-family:"Zen Kurenaido",var(--f-jp);font-size:clamp(23px,2.4vw,34px);line-height:1.9;letter-spacing:.06em;color:#fff;text-shadow:0 1px 16px rgba(0,0,0,.45);transition:opacity .25s}
html[data-tf="k"] .v12t .st p{font-family:"Klee One",var(--f-jp);font-weight:600;font-size:clamp(22px,2.2vw,31px)}
html[data-th="h"] .v12t .catch{font-family:"Zen Kurenaido",var(--f-jp);font-weight:400;font-size:clamp(36px,4.6vw,66px)}
html[data-th="h"][data-tf="k"] .v12t .catch{font-family:"Klee One",var(--f-jp);font-weight:600}
.v12t .end{margin-top:17vh}
.v12t .end .hand{color:#fff;font-size:20px}
.v12t .gl{display:block;width:72px;height:3px;border-radius:3px;margin-top:14px;background:linear-gradient(90deg,var(--c1),var(--c2),var(--c3))}

/* ---------- 得られるもの：B-2 夕暮れの空 ---------- */
.v12g{position:relative;overflow:hidden;background:linear-gradient(180deg,#e9f0fb 0%,#f1eefa 45%,#fbe9f0 80%,#fff 100%)}
.v12g .streak{position:absolute;top:-10%;height:120%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);pointer-events:none}
.v12g .pane{position:absolute;top:-10%;height:120%;transform:skewX(-22deg);background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.15));border-left:1px solid rgba(255,255,255,.95);box-shadow:-20px 0 60px -30px rgba(61,90,171,.25);pointer-events:none}
.v12g > .wrap{position:relative;z-index:1}
.v12g .cols{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(40px,6vw,96px);margin-top:48px}
.v12g .col:nth-child(3){padding-top:180px}
.v12g .gi{position:relative;margin-bottom:64px;z-index:1}
.v12g figure{position:relative;aspect-ratio:16/9;margin:0 0 22px}
.v12g figure::after{content:"";position:absolute;inset:-8px -8px 8px 8px;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);background:linear-gradient(120deg,rgba(255,255,255,.9),rgba(255,255,255,.4));z-index:0;transform:translate(-14px,14px)}
.v12g .ph{position:absolute;inset:0;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);overflow:hidden;z-index:1;box-shadow:0 30px 50px -30px rgba(17,26,60,.5)}
.v12g .ph img{width:100%;height:100%;object-fit:cover}
.v12g .cap{display:none;position:absolute;z-index:2;right:12%;bottom:-14px;font-family:var(--f-hand);font-size:17px;color:var(--c1);background:#fff;padding:4px 12px;transform:rotate(-3deg);box-shadow:0 10px 20px -12px rgba(17,26,60,.4)}
html[data-g="cap"] .v12g .cap{display:block}
.v12g .zig{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
html[data-g="line"] .v12g .zig{display:block}
.v12g .tx{padding-left:6%}
.v12g .n{font-family:var(--f-en);font-weight:800;font-size:14px;letter-spacing:.1em;color:var(--c1);display:flex;align-items:center;gap:10px}
.v12g .n::after{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--c1),var(--c3))}
.v12g h3{font-size:clamp(19px,1.7vw,23px);font-weight:900;line-height:1.5;margin-top:8px}
.v12g .tx p{margin-top:10px;font-size:15px;line-height:1.9;color:var(--ink-2)}
.v12g .tg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12.5px;font-weight:700;color:var(--c1)}
.v12g .tg span::before{display:none}

/* ---------- 流れ：波はそのまま、背景だけ切り替え ---------- */
.v12f{position:relative}
.v12f > .wrap,.v12f > .brush{position:relative;z-index:1}
.v12f .fbg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.v12f .fbg .streak{position:absolute;top:-10%;height:120%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);display:none}
.v12f .fbg .city{position:absolute;left:0;right:0;bottom:0;height:60%;display:none;background:url(/tokyohackathon/img/fl-tower-day.webp) center 70%/cover;opacity:.22;-webkit-mask-image:linear-gradient(180deg,transparent,#000 60%);mask-image:linear-gradient(180deg,transparent,#000 60%);filter:saturate(.6)}
/* 夕暮れの空（得られるものの空を受け継ぐ） */
html[data-f="sky"] .v12f{background:linear-gradient(180deg,#fbeef4 0%,#f1eefa 40%,#e6eefb 100%)}
html[data-f="sky"] .v12f .streak{display:block}
/* 夜の東京 */
html[data-f="night"] .v12f{background:linear-gradient(170deg,#0d1636 0%,#18245a 55%,#2d2560 100%);color:#fff}
html[data-f="night"] .v12f .h2,html[data-f="night"] .v12f .lab .jp{color:#fff}
html[data-f="night"] .v12f .lab::before{background:#fff}
html[data-f="night"] .v12f .lead{color:rgba(255,255,255,.78)}
html[data-f="night"] .v12f .brush .line{filter:drop-shadow(0 0 10px rgba(157,182,255,.8)) drop-shadow(0 0 22px rgba(245,154,192,.45))}
html[data-f="night"] .v12f .stn::before{opacity:.8}
html[data-f="night"] .v12f .fbg::before{content:"";position:absolute;inset:0;background:radial-gradient(1.5px 1.5px at 12% 22%,rgba(255,255,255,.7),transparent),radial-gradient(1.5px 1.5px at 38% 12%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 66% 28%,rgba(255,255,255,.6),transparent),radial-gradient(1.5px 1.5px at 84% 16%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 92% 40%,rgba(255,255,255,.4),transparent)}
/* 街のシルエット */
html[data-f="city"] .v12f{background:var(--pale)}
html[data-f="city"] .v12f .city{display:block}

/* ---------- 審査：全幅の紺の帯（斜め切り）＋読みやすさ ---------- */
.v12k{position:relative;padding:clamp(140px,12vw,190px) 0}
.v12k .kband{position:absolute;inset:0;clip-path:polygon(0 8%,100% 0,100% 92%,0 100%);background:linear-gradient(90deg,var(--deep) 30%,rgba(15,27,70,.6) 65%,rgba(15,27,70,.3)),url(/tokyohackathon/img/x-shapes-1800.webp) right center/cover no-repeat,var(--deep)}
.v12k .kglass{position:absolute;left:44%;top:-10%;width:12%;height:120%;transform:skewX(-16deg);background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.02));border-left:1px solid rgba(255,255,255,.3)}
.v12k > .wrap{position:relative;z-index:1}
.v12k .lab .jp,.v12k .h2{color:#fff}.v12k .lab::before{background:#fff}
.v12k .deepcard.x3d{background:none;padding:0;border-radius:0;overflow:visible}
.v12k .deepcard::after{display:none}
/* 白い板 */
html[data-k="plate"] .v12k .deepcard.x3d{background:rgba(255,255,255,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:10px;padding:clamp(32px,4vw,56px);color:var(--ink);box-shadow:0 50px 80px -50px rgba(0,0,0,.6)}
html[data-k="plate"] .v12k .c4 > div{border-color:var(--line)}
html[data-k="plate"] .v12k .c4 h3{color:var(--ink)}
html[data-k="plate"] .v12k .c4 p{color:var(--ink-2)}
html[data-k="plate"] .v12k .c4 .no{background:linear-gradient(90deg,var(--c1),var(--c3));-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-k="plate"] .v12k .score{border-color:var(--line)}
html[data-k="plate"] .v12k .score .row{color:var(--ink-2)}html[data-k="plate"] .v12k .score .row b{color:var(--ink)}
html[data-k="plate"] .v12k .score .bar{background:rgba(61,90,171,.08)}html[data-k="plate"] .v12k .score .cap{color:var(--ink-3)}
/* 大きな文字 */
html[data-k="big"] .v12k .deepcard.x3d{margin-top:56px}
html[data-k="big"] .v12k .c4 h3{font-size:clamp(24px,2.2vw,30px)}
html[data-k="big"] .v12k .c4 p{font-size:16px;line-height:2;color:rgba(255,255,255,.92)}
html[data-k="big"] .v12k .c4 .no{font-size:15px;color:#ff9cc0}
html[data-k="big"] .v12k .score .row{font-size:15px;color:rgba(255,255,255,.9)}

/* ---------- 審査員：明るい淡い青＋名前の書体 ---------- */
.v12j{position:relative;overflow:hidden;padding:clamp(130px,12vw,170px) 0}
.v12j .jbg{position:absolute;inset:0;background:var(--pale) repeating-linear-gradient(90deg,transparent 0 47px,rgba(61,90,171,.06) 47px 48px);clip-path:polygon(0 6%,100% 0,100% 94%,0 100%)}
.v12j .jbg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(61,90,171,.08),transparent 40%,rgba(214,51,108,.08))}
.v12j > .wrap{position:relative;z-index:1}
html[data-jn="k"] .v12j .tz:not(.soon) .tz__nm{font-family:"Klee One",var(--f-jp);font-weight:600;font-size:clamp(22px,2.1vw,30px)}
html[data-jn="m"] .v12j .tz:not(.soon) .tz__nm{font-family:"Zen Old Mincho",serif;font-weight:700;font-size:clamp(22px,2.1vw,30px)}

/* ---------- 賞：全幅の帯＋写真を横並び ---------- */
.v12p{padding:clamp(40px,4vw,60px) 0}
.v12p .plate{position:relative;color:#fff;clip-path:polygon(0 6%,100% 0,100% 94%,0 100%);padding:clamp(110px,10vw,150px) 0;text-align:center;background:linear-gradient(110deg,#111a3c 0%,#1d2a66 40%,#3d5aab 60%,#8c5a9c 80%,#d6336c 100%)}
.v12p .lab{justify-content:center}.v12p .lab .jp{color:rgba(255,255,255,.75)}.v12p .lab::before{background:#fff}
.v12p .big{font-size:clamp(28px,3.2vw,46px);font-weight:900;line-height:1.45;margin-top:20px;color:#fff}
.v12p .big .hl{display:block;font-family:var(--f-hand);font-weight:400;color:#f7c0d6;font-size:.8em;margin-top:10px;transform:rotate(-2deg)}
.v12p .txt{margin:26px auto 0;font-size:15px;line-height:2;color:rgba(255,255,255,.86);max-width:none}
.v12p .row2{display:flex;gap:18px;justify-content:center;margin-top:48px}
.v12p .row2 figure{position:relative;margin:0;width:min(44%,520px);aspect-ratio:16/10;overflow:hidden;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.v12p .row2 img{width:100%;height:100%;object-fit:cover}
.v12p .row2 figcaption{position:absolute;left:12%;bottom:10px;font-family:var(--f-hand);font-size:15px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7)}

/* ---------- 開催概要：左に写真＋手書き ---------- */
.outline .opic{margin:34px 0 0;width:min(100%,360px);aspect-ratio:4/3;overflow:hidden;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}
.outline .opic img{width:100%;height:100%;object-fit:cover}
.outline .sticky .hand{margin-top:16px;font-size:20px}

/* ---------- 切り替えパネル（試作専用） ---------- */

@media (max-width:820px){
  .v12t{padding:18vh 0 22vh}.v12t .st p{font-size:17px;letter-spacing:.02em}.v12t .g3{display:none}
  .v12g .cols{grid-template-columns:1fr}.v12g .col:nth-child(3){padding-top:0}.v12g .zig{display:none!important}
  .v12k{padding:110px 0}
  .v12p .row2{flex-direction:column;align-items:center}.v12p .row2 figure{width:100%}
}

/* --- final4.css --- */
/* ===== 第4弾：引き算＋境目の統一 ===== */
:root{--cut:4vw}
@media (max-width:820px){:root{--cut:6vw}}

/* 境目：色の面は上下とも同じ角度の斜め（左下がり→右上がりで平行） */
.v12t,.v12f,.v12q,.v12k .kband,.v12j .jbg,.v12p .plate{clip-path:polygon(0 var(--cut),100% 0,100% calc(100% - var(--cut)),0 100%)}
.v12t{padding:calc(var(--cut) + 24vh) 0 calc(var(--cut) + 28vh)}
.v12f,.v12q{margin-top:0;padding-top:calc(var(--cut) + clamp(80px,9vw,130px));padding-bottom:calc(var(--cut) + clamp(70px,7vw,110px))}
.day .clipimg{clip-path:polygon(7% 0,100% 0,100% calc(100% - var(--cut)),0 100%)}

/* 得られるもの：白地で静かに */
.v12g{background:#fff}
.v12g .streak,.v12g .pane{display:none}
.v12g figure::after{inset:0;transform:translate(16px,16px);background:#e4ecf9}
.v12g .ph{box-shadow:none}
html[data-g4="b"] .v12g .col:nth-child(2) .gi:nth-child(1) figure::after{background:#e4ecf9}
html[data-g4="b"] .v12g .col:nth-child(3) .gi:nth-child(1) figure::after{background:#ece4f3}
html[data-g4="b"] .v12g .col:nth-child(2) .gi:nth-child(2) figure::after{background:#f8e3eb}
html[data-g4="b"] .v12g .col:nth-child(3) .gi:nth-child(2) figure::after{background:#e4ecf9}
.v12g .cap{box-shadow:none;border:1px solid var(--line)}

/* 流れ：淡い青＋下端に街並み（2案） */
.v12f{background:var(--pale)}
.v12f .fbg .streak,.v12f .fbg .city{display:none!important}
.v12f .fbg .duo,.v12f .fbg .sky{display:none;position:absolute;left:0;right:0;bottom:0}
.v12f .fbg .duo{height:38%;bottom:calc(var(--cut) * .4);background:url(/tokyohackathon/img/fl-tower-day.webp) center 80%/cover;filter:grayscale(1) contrast(1.3);mix-blend-mode:multiply;opacity:.07;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 60%);mask-image:linear-gradient(180deg,transparent 0%,#000 60%)}
.v12f .fbg .sky{width:100%;height:clamp(110px,12vw,170px);bottom:calc(var(--cut) * .5)}
html[data-f4="a"] .v12f .fbg .duo{display:block}
html[data-f4="b"] .v12f .fbg .sky{display:block}

/* 審査：紺の単色で締める */
.v12k .kband{background:linear-gradient(160deg,#111a3c 0%,#18245a 100%)}
.v12k .kglass{display:none}
html[data-k4="b"] .v12k .kband::after{content:"";position:absolute;right:0;top:0;bottom:0;width:46%;background:url(/tokyohackathon/img/x-shapes-1800.webp) right center/cover no-repeat;opacity:.22;-webkit-mask-image:linear-gradient(90deg,transparent,#000 70%);mask-image:linear-gradient(90deg,transparent,#000 70%)}

/* よくある不安：淡い青の帯（斜めの面の装飾は外す） */
.v12q{background:var(--pale)}
.v12q .deco{display:none}


/* --- final5.css --- */
/* ===== 第5弾 ===== */
/* 切り替え：選ばれていない案は隠す */
html:not([data-cg="1"]) .cg1,html:not([data-cg="2"]) .cg2,html:not([data-cg="3"]) .cg3{display:none}
html:not([data-kv="1"]) .kx1,html:not([data-kv="2"]) .kx2,html:not([data-kv="3"]) .kx3{display:none}

/* ---------- 条件＋得られるもの 共通 ---------- */
.cg{background:#fff;padding-bottom:0}
.cg .h2 .c{color:var(--c1)}
.cg h3{font-weight:900;line-height:1.5}
.cg .tg{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:12px;font-weight:700;color:var(--c1)}
.cg .tg span::before{display:none}
.cg .cap{position:absolute;z-index:2;right:10%;bottom:-12px;font-family:"Klee One",var(--f-hand);font-weight:600;font-size:14px;color:var(--c1);background:#fff;border:1px solid var(--line);padding:3px 10px;transform:rotate(-3deg)}
.cg .gband{position:relative;margin-top:clamp(60px,6vw,90px);margin-bottom:clamp(50px,5vw,80px);background:var(--pale);clip-path:polygon(0 var(--cut),100% 0,100% calc(100% - var(--cut)),0 100%);padding:calc(var(--cut) + clamp(70px,7vw,110px)) 0 calc(var(--cut) + clamp(50px,5vw,80px))}
.cg .hand-b{font-family:"Klee One",var(--f-hand);font-weight:600;font-size:clamp(20px,1.9vw,26px);color:var(--c1);display:inline-block;transform:rotate(-3deg);padding-bottom:10px;background:linear-gradient(90deg,var(--c1),var(--c2),var(--c3)) left bottom/100% 3px no-repeat}
/* 小さめの写真カード */
.gc5 figure{position:relative;margin:0 0 18px;aspect-ratio:16/10}
.gc5 figure::after{content:"";position:absolute;inset:0;transform:translate(10px,10px);clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);background:#e4ecf9;z-index:0}
.gc5 .ph{position:absolute;inset:0;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);overflow:hidden;z-index:1}
.gc5 .ph img{width:100%;height:100%;object-fit:cover}
.gc5 .n{font-family:var(--f-en);font-weight:800;font-size:13px;letter-spacing:.1em;color:var(--c3)}
.gc5 h3{font-size:17px;margin-top:4px}
.gc5 p{font-size:14px;line-height:1.8;color:var(--ink-2);margin-top:6px}

/* A-1 左右に分ける */
.cg1{padding-bottom:clamp(80px,8vw,120px)}
.cg1 .split{display:grid;grid-template-columns:minmax(0,.8fr) 64px minmax(0,1.4fr);gap:0;margin-top:48px;align-items:stretch}
.cg1 .side-h{display:flex;align-items:baseline;gap:12px;padding-bottom:16px;border-bottom:2px solid var(--ink);margin-bottom:8px}
.cg1 .side-h b{font-size:20px;font-weight:900}
.cg1 .side-h span{font-size:13px;color:var(--ink-3);font-weight:700}
.cg1 .take .side-h{border-color:var(--c3)}
.cg1 .take .side-h b{color:var(--c3)}
.cg1 .ci{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:24px 0;border-bottom:1px solid var(--line)}
.cg1 .ci .no{font-family:var(--f-en);font-weight:800;font-size:26px;line-height:1.1;color:var(--c1)}
.cg1 .ci h3{font-size:19px}
.cg1 .ci p{font-size:14.5px;line-height:1.85;color:var(--ink-2);margin-top:6px}
.cg1 .note{margin-top:18px;font-size:13.5px;line-height:1.8;color:var(--ink-3)}
.cg1 .arrow{position:relative}
.cg1 .arrow i{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line)}
.cg1 .arrow span{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--c3);font-weight:900}
.cg1 .g4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px;padding-top:24px}

/* A-2 白→淡い帯 */
.cg2 .c3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,44px);margin-top:44px}
.cg2 .ci{border-top:2px solid var(--ink);padding-top:22px}
.cg2 .ci .no{font-family:var(--f-en);font-weight:800;font-size:15px;letter-spacing:.12em;color:var(--c1)}
.cg2 .ci h3{font-size:22px;margin-top:8px}
.cg2 .ci p{font-size:15px;line-height:1.85;color:var(--ink-2);margin-top:10px}
.cg2 .bridge{text-align:center;margin-top:clamp(56px,6vw,80px)}
.cg2 .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(40px,6vw,96px);margin-top:44px}
.cg2 .col:nth-child(2){padding-top:160px}
.cg2 .gi{margin-bottom:56px}
.cg2 .gi figure{position:relative;aspect-ratio:16/9;margin:0 0 22px}
.cg2 .gi figure::after{content:"";position:absolute;inset:0;transform:translate(16px,16px);clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);background:#fff;z-index:0}
.cg2 .gi .ph{position:absolute;inset:0;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);overflow:hidden;z-index:1}
.cg2 .gi .ph img{width:100%;height:100%;object-fit:cover}
.cg2 .gi .tx{padding-left:6%}
.cg2 .gi .n{font-family:var(--f-en);font-weight:800;font-size:14px;letter-spacing:.1em;color:var(--c3)}
.cg2 .gi h3{font-size:clamp(19px,1.7vw,23px);margin-top:6px}
.cg2 .gi p{font-size:15px;line-height:1.9;color:var(--ink-2);margin-top:10px}

/* A-3 チェックリスト */
.cg3 .sheet{max-width:860px;margin:44px auto 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:clamp(28px,3.4vw,44px) clamp(24px,4vw,56px);box-shadow:0 30px 60px -44px rgba(17,26,60,.45)}
.cg3 .sh-h{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;padding-bottom:16px;border-bottom:2px solid var(--ink)}
.cg3 .sh-h b{font-size:20px;font-weight:900}
.cg3 .sh-h span{font-size:13.5px;color:var(--ink-3)}
.cg3 .chk{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;padding:22px 0;border-bottom:1px dashed var(--line)}
.cg3 .chk:last-child{border-bottom:0}
.cg3 .cbx{width:32px;height:32px;border:2px solid var(--c1);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-top:2px}
.cg3 .cbx svg{width:30px;height:30px;fill:none;stroke:var(--c3);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transform:translate(4px,-6px) rotate(-6deg)}
.cg3 .chk h3{font-size:20px}
.cg3 .chk p{font-size:15px;line-height:1.85;color:var(--ink-2);margin-top:4px}
.cg3 .down{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:40px}
.cg3 .down i{width:1px;height:56px;background:linear-gradient(180deg,var(--c1),var(--c3))}
.cg3 .gband{margin-top:20px}
.cg3 .g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:44px}

/* ---------- 流れの背景（3案） ---------- */
html[data-f5="dusk"] .v12f{background:linear-gradient(180deg,#fde6da 0%,#f7dce7 45%,#e2daf3 100%)}
html[data-f5="grid"] .v12f{background-color:#f8f3e6;background-image:linear-gradient(rgba(61,90,171,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(61,90,171,.13) 1px,transparent 1px),linear-gradient(rgba(61,90,171,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,90,171,.06) 1px,transparent 1px);background-size:140px 140px,140px 140px,28px 28px,28px 28px}
html[data-f5="lav"] .v12f{background:linear-gradient(120deg,#d6cdf0 0%,#e3d3ee 55%,#efd6e4 100%)}

/* ---------- 審査（白地・色は控えめ） ---------- */
.kx{background:#fff}
.kx .lead{margin-top:16px}
/* 1 問いの一覧 */
.kx1 .rows{margin-top:44px;border-top:2px solid var(--ink)}
.kx1 .row{display:grid;grid-template-columns:64px minmax(0,240px) minmax(0,1fr);gap:24px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line)}
.kx1 .row .no{font-family:var(--f-en);font-weight:800;font-size:14px;letter-spacing:.12em;color:var(--c3)}
.kx1 .row h3{font-size:clamp(24px,2.2vw,30px);font-weight:900}
.kx1 .row p{font-size:16.5px;line-height:1.9;color:var(--ink-2)}
.kx1 .how{margin-top:36px}
.kx1 .how p{font-size:15px;color:var(--ink-2)}
.kx1 .how b{color:var(--ink);font-weight:900;margin-right:10px}
.kx1 .how b.pk{color:var(--c3);margin-left:14px}
.kx1 .bar{display:flex;height:6px;border-radius:6px;overflow:hidden;margin-top:14px;max-width:720px}
.kx1 .bar .a{flex:3;background:var(--c1)}.kx1 .bar .b{flex:1;background:var(--c3)}
.kx1 .cap2{font-size:13px;color:var(--ink-3);margin-top:10px}
/* 2 審査シート */
.kx2 .paper{position:relative;max-width:960px;margin:40px auto 0;background:#fff;border:1px solid var(--line);border-radius:4px;padding:clamp(28px,3.4vw,44px) clamp(24px,4vw,56px) clamp(40px,4vw,56px);box-shadow:0 40px 70px -50px rgba(17,26,60,.5)}
.kx2 .ph2{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:3px double var(--ink)}
.kx2 .ph2 b{font-size:20px;font-weight:900;letter-spacing:.2em}
.kx2 .ph2 span{font-size:13px;color:var(--ink-3)}
.kx2 .pr{display:grid;grid-template-columns:200px minmax(0,1fr) 170px;gap:24px;align-items:center;padding:22px 0;border-bottom:1px dashed var(--line)}
.kx2 .pk2 .no{display:block;font-family:var(--f-en);font-weight:800;font-size:12px;letter-spacing:.12em;color:var(--c3)}
.kx2 .pk2 b{font-size:22px;font-weight:900}
.kx2 .pr p{font-size:15px;line-height:1.85;color:var(--ink-2)}
.kx2 .dots{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.kx2 .dots i{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--c1)}
.kx2 .dots em{font-style:normal;font-family:var(--f-en);font-weight:700;font-size:12px;color:var(--ink-3);margin-left:6px}
.kx2 .pf{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-top:20px;font-size:14.5px;font-weight:700;color:var(--ink)}
.kx2 .pf .plus{color:var(--c3);font-size:20px}
.kx2 .stamp{position:absolute;right:clamp(20px,4vw,48px);bottom:-30px;width:104px;height:104px;border-radius:50%;border:3px solid var(--c3);color:var(--c3);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;letter-spacing:.06em;transform:rotate(-12deg);background:rgba(255,255,255,.9)}
/* 3 左右2列（説明＋配点｜観点の一覧＋審査の流れ） */
.kx3 .lr{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);align-items:start}
.kx3 .pts{margin-top:30px;border-top:1px solid var(--line)}
.kx3 .pts > div{padding:14px 0;border-bottom:1px solid var(--line)}
.kx3 .pts dt{font-weight:900;font-size:15px;color:var(--c1)}
.kx3 .pts dd{margin:4px 0 0;font-size:14.5px;color:var(--ink-2)}
.kx3 .r{border-top:2px solid var(--ink);margin-top:8px}
.kx3 .it{padding:24px 0;border-bottom:1px solid var(--line)}
.kx3 .it b{display:flex;align-items:baseline;gap:14px;font-size:clamp(20px,1.8vw,24px);font-weight:900}
.kx3 .it .no{font-family:var(--f-en);font-weight:800;font-size:13px;letter-spacing:.12em;color:var(--c1)}
.kx3 .it p{margin-top:8px;padding-left:34px;font-size:15.5px;line-height:1.9;color:var(--ink-2)}
.kx3 .steps{display:flex;align-items:center;justify-content:center;gap:0;margin-top:clamp(40px,4vw,60px)}
.kx3 .steps span{padding:12px 26px;background:#f1f3f7;font-size:14px;font-weight:700;color:var(--ink)}
.kx3 .steps i{width:0;height:0;border-left:10px solid #c3c9d6;border-top:7px solid transparent;border-bottom:7px solid transparent;margin:0 14px}

@media (max-width:820px){
  .cg1 .split{grid-template-columns:1fr}.cg1 .arrow{height:56px}.cg1 .arrow i{top:8px;bottom:8px}.cg1 .arrow span{top:50%;transform:translate(-50%,-50%) rotate(90deg)}
  .cg1 .g4,.cg2 .c3,.cg2 .cols,.cg3 .g4{grid-template-columns:1fr}.cg2 .col:nth-child(2){padding-top:0}
  .kx1 .row{grid-template-columns:40px 1fr;gap:6px 12px}.kx1 .row p{grid-column:2}
  .kx2 .pr{grid-template-columns:1fr;gap:8px}.kx2 .dots{justify-content:flex-start}
  .kx3 .lr{grid-template-columns:1fr}.kx3 .steps{flex-wrap:wrap;gap:8px}.kx3 .steps i{margin:0 4px}.kx3 .it p{padding-left:0}
}

/* --- final6.css --- */
/* ===== 第6弾 共通 ===== */
.c6crit,.c6split{display:block!important}

/* 橋渡しの一文（手書き） */
.bridge6{text-align:center;margin-top:clamp(56px,6vw,80px)}
.bridge6 span{font-family:"Klee One",var(--f-hand);font-weight:600;font-size:clamp(20px,1.9vw,26px);color:var(--c1);display:inline-block;transform:rotate(-3deg);padding-bottom:10px;background:linear-gradient(90deg,var(--c1),var(--c2),var(--c3)) left bottom/100% 3px no-repeat}
.c6cond,.c6ink{padding-bottom:clamp(40px,4vw,60px)}

/* 得られるもの（段差の写真） */
.c6gain{padding-top:clamp(30px,3vw,50px)}
.c6gain .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(40px,6vw,96px);margin-top:44px}
.c6gain .col:nth-child(2){padding-top:160px}
.c6gain .gi{margin-bottom:56px}
.c6gain .gi figure{position:relative;aspect-ratio:16/9;margin:0 0 22px}
.c6gain .gi figure::after{content:"";position:absolute;inset:0;transform:translate(16px,16px);clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);background:#e4ecf9;z-index:0}
.c6gain .gi .ph{position:absolute;inset:0;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);overflow:hidden;z-index:1}
.c6gain .gi .ph img{width:100%;height:100%;object-fit:cover}
.c6gain .cap{position:absolute;z-index:2;right:10%;bottom:-12px;font-family:"Klee One",var(--f-hand);font-weight:600;font-size:14px;color:var(--c1);background:#fff;border:1px solid var(--line);padding:3px 10px;transform:rotate(-3deg)}
.c6gain .gi .tx{padding-left:6%}
.c6gain .gi .n{font-family:var(--f-en);font-weight:800;font-size:14px;letter-spacing:.1em;color:var(--c3)}
.c6gain .gi h3{font-size:clamp(19px,1.7vw,23px);font-weight:900;line-height:1.5;margin-top:6px}
.c6gain .gi p{font-size:15px;line-height:1.9;color:var(--ink-2);margin-top:10px}
.c6gain .tg{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:12px;font-weight:700;color:var(--c1)}
.c6gain .tg span::before{display:none}
.c6gain .h2 .c{color:var(--c1)}

/* 審査シート：比率の棒 */
.c6crit .ratio{margin-top:26px;padding-top:20px;border-top:3px double var(--ink)}
.c6crit .rl{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14.5px;color:var(--ink-2)}
.c6crit .rl b{color:var(--ink);font-weight:900}.c6crit .rl b.pk{color:var(--c3)}
.c6crit .rbar{display:flex;height:16px;border-radius:99px;overflow:hidden;margin-top:12px;background:rgba(61,90,171,.08)}
.c6crit .rbar .a{flex:3;background:linear-gradient(90deg,#4f6fd0,#3d5aab)}
.c6crit .rbar .b{flex:1;background:var(--c3)}
.c6crit .paper{padding-bottom:clamp(28px,3vw,40px)}

@media (max-width:820px){
  .c6gain .cols{grid-template-columns:1fr}.c6gain .col:nth-child(2){padding-top:0}
}

/* 余白の整理：同じ背景が続く所は詰める */
.v12f{padding-bottom:calc(var(--cut) + clamp(30px,3vw,50px))!important}
.c6crit{padding-top:clamp(56px,5vw,80px)}
html[data-dir="a"] .v12j{padding-top:clamp(50px,5vw,80px)}
html[data-dir="a"] .day,html[data-dir="b"] .day{padding-bottom:clamp(50px,5vw,80px)}
html[data-dir="b"] .v12j{padding-top:clamp(90px,8vw,120px)}

/* --- final6a.css --- */
/* ===== 案A「東京の一日」：条件〜審査員を、ひと続きの空の色でつなぐ（朝→昼→夕） ===== */
.skyrun{position:relative;z-index:0;margin-top:calc(var(--cut) * -1);padding-top:var(--cut);
  background:linear-gradient(180deg,#e7eefb 0%,#eef1fb 14%,#f5f0f8 26%,#f4ecf3 40%,#efe7f4 52%,#f7ece9 66%,#fbefe7 76%,#ece9f6 90%,#e4e4f5 100%)}
.v12t{z-index:2}
.skyrun .sec,.skyrun .c6gain{background:transparent!important}
.skyrun .mag{background:rgba(255,255,255,.75)}
/* 流れ：夕方の空と街の写真。上下は空の色に溶ける */
.skyrun .v12f{background:transparent!important;clip-path:none!important;margin:0}
.skyrun .v12f .fbg{display:none}
.skyrun .v12f::before{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,rgba(244,236,243,.9) 0%,rgba(244,236,243,.35) 32%,rgba(244,236,243,0) 55%),url(/tokyohackathon/img/px_31416365.webp) center 42%/cover;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 82%,transparent 100%)}
.skyrun .v12f .brush .line{filter:drop-shadow(0 0 8px rgba(255,255,255,.7))}
/* 審査員：帯をやめて空の色のまま */
.skyrun .v12j .jbg{display:none}
/* 賞：上半分は空の終わりの色、下は白 */
.v12p{background:linear-gradient(180deg,#e4e4f5 0 50%,#fff 50%)}

/* --- final7.css --- */
/* ===== 第7弾：案Aを土台に、背景を切り替え ===== */
/* 境目：テーマ・FV・条件は真横に */
.v12t{clip-path:inset(0)!important;padding:24vh 0 28vh!important}
.skyrun{margin-top:0!important;padding-top:0!important}
/* 得られるもの〜流れの間を詰める */
.c6gain{padding-bottom:10px!important}
.c6gain .gi:last-child{margin-bottom:20px}
.skyrun .v12f{padding-top:clamp(50px,5vw,80px)!important}

/* 区画の土台 */
.bg1,.bg2{position:relative}
.bg1 > .pat,.bg2 > .pat{position:absolute;inset:0;z-index:0;pointer-events:none}
.bg1 > section,.bg2 > section,.bg1 > div,.bg2 > div{position:relative;z-index:1}
.skyrun .v12f{background:linear-gradient(180deg,var(--e1,#f4ecf3),var(--e2,#efe7f4))!important}

/* ---------- 区画1：条件＋得られるもの ---------- */
html[data-b1="sky"] .bg1{background:linear-gradient(180deg,#e7eefb 0%,#eef1fb 45%,#f4ecf3 100%)}
html[data-b1="sky"]{--e1:#f4ecf3}
html[data-b1="dots"] .bg1{background:#eef3fb}
html[data-b1="dots"] .bg1 > .pat{background:radial-gradient(rgba(61,90,171,.3) 1.4px,transparent 1.8px) 0 0/22px 22px;-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent);mask-image:linear-gradient(180deg,#000 80%,transparent)}
html[data-b1="dots"]{--e1:#eef3fb}
html[data-b1="stripe"] .bg1{background:linear-gradient(180deg,#e9eff9 0%,#f6f3fa 100%)}
html[data-b1="stripe"] .bg1 > .pat{background:repeating-linear-gradient(-58deg,rgba(61,90,171,.12) 0 1px,transparent 1px 14px);-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent);mask-image:linear-gradient(180deg,#000 75%,transparent)}
html[data-b1="stripe"]{--e1:#f6f3fa}
html[data-b1="ink"] .bg1{background:#f6f7fc}
html[data-b1="ink"] .bg1 > .pat{filter:url(#wc);background:
  radial-gradient(closest-side,#cddcf6 70%,transparent 72%) -4% 1%/560px 440px no-repeat,
  radial-gradient(closest-side,#e4d6f2 70%,transparent 72%) 103% 12%/420px 360px no-repeat,
  radial-gradient(closest-side,#f6d3df 70%,transparent 72%) 98% 46%/380px 320px no-repeat,
  radial-gradient(closest-side,#cddcf6 70%,transparent 72%) -3% 62%/480px 400px no-repeat,
  radial-gradient(closest-side,#e4d6f2 70%,transparent 72%) 102% 88%/520px 420px no-repeat;opacity:.8;-webkit-mask-image:linear-gradient(180deg,#000 85%,transparent);mask-image:linear-gradient(180deg,#000 85%,transparent)}
html[data-b1="ink"]{--e1:#f6f7fc}
html[data-b1="map"] .bg1{background:#f3f6fc}
html[data-b1="map"] .bg1 > .pat{opacity:.9;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 1800' preserveAspectRatio='xMidYMid slice'><g fill='none' stroke='%23c9d4ea' stroke-width='1'><path d='M0 220H1440M0 520H1440M0 860H1440M0 1240H1440M0 1580H1440M180 0V1800M520 0V1800M900 0V1800M1260 0V1800'/><path d='M0 380L1440 120M0 1100L1440 700M0 1700L1440 1350'/></g><g fill='none' stroke-width='5' stroke-linecap='round'><path d='M-20 300C300 260 420 520 720 500S1180 320 1460 420' stroke='%233d5aab' stroke-opacity='.35'/><path d='M-20 900C260 980 520 760 760 820S1200 1100 1460 1000' stroke='%238c5a9c' stroke-opacity='.3'/><path d='M200 -20C260 300 120 620 340 900S600 1500 520 1820' stroke='%23d6336c' stroke-opacity='.28'/><path d='M1100 -20C1040 360 1240 700 1120 1060S1220 1600 1300 1820' stroke='%233d5aab' stroke-opacity='.22'/></g><g fill='%23fff' stroke='%233d5aab' stroke-opacity='.45' stroke-width='3'><circle cx='720' cy='500' r='9'/><circle cx='340' cy='900' r='9'/><circle cx='760' cy='820' r='9'/><circle cx='1120' cy='1060' r='9'/><circle cx='300' cy='318' r='7'/></g></svg>") center/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}
html[data-b1="map"]{--e1:#f3f6fc}

/* ---------- 区画2：審査〜審査員 ---------- */
html[data-b2="sky"] .bg2{background:linear-gradient(180deg,#efe7f4 0%,#f6ebee 30%,#fbefe7 55%,#ece9f6 82%,#e4e4f5 100%)}
html[data-b2="sky"]{--e2:#efe7f4;--e3:#e4e4f5}
html[data-b2="grid"] .bg2{background-color:#f8f3e6;background-image:linear-gradient(rgba(61,90,171,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(61,90,171,.12) 1px,transparent 1px),linear-gradient(rgba(61,90,171,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(61,90,171,.05) 1px,transparent 1px);background-size:140px 140px,140px 140px,28px 28px,28px 28px}
html[data-b2="grid"]{--e2:#f8f3e6;--e3:#f8f3e6}
html[data-b2="wave"] .bg2{background:#fbf8f4}
html[data-b2="wave"] .bg2 > .pat{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 3000' preserveAspectRatio='none'><path d='M0 520C240 440 420 620 720 560S1200 420 1440 500V1100C1180 1180 980 1020 720 1080S220 1220 0 1140Z' fill='%23e3ebf8'/><path d='M0 1500C300 1420 520 1600 800 1540S1240 1400 1440 1480V2000C1200 2080 960 1940 700 2000S240 2120 0 2060Z' fill='%23f7e1ea'/><path d='M0 2380C260 2300 540 2460 820 2400S1260 2280 1440 2360V3000H0Z' fill='%23e8e2f4'/></svg>") center/100% 100% no-repeat}
html[data-b2="wave"]{--e2:#fbf8f4;--e3:#e8e2f4}
html[data-b2="night"] .bg2{background:linear-gradient(180deg,#efe7f4 0%,#e3def2 30%,#b9b8de 58%,#4a4f93 82%,#1d2a66 100%)}
html[data-b2="night"]{--e2:#efe7f4;--e3:#1d2a66}
html[data-b2="night"] .v12j .h2,html[data-b2="night"] .v12j .lab .jp,html[data-b2="night"] .v12j .lead,html[data-b2="night"] .v12j .jcount{color:#fff}
html[data-b2="night"] .v12j .lab::before{background:#fff}
html[data-b2="night"] .v12j .tz__meta{color:rgba(255,255,255,.82)}html[data-b2="night"] .v12j .tz__meta b{color:#c9d6ff}
html[data-b2="night"] .v12j .tz.soon .tz__card{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
html[data-b2="night"] .v12j .tz.soon .tz__nm{color:rgba(255,255,255,.7)}
html[data-b2="stripe"] .bg2{background:linear-gradient(180deg,#f3eef8 0%,#f7f1f3 60%,#ece9f6 100%)}
html[data-b2="stripe"] .bg2 > .pat{background:repeating-linear-gradient(-58deg,rgba(140,90,156,.12) 0 1px,transparent 1px 14px)}
html[data-b2="stripe"]{--e2:#f3eef8;--e3:#ece9f6}
.v12p{background:linear-gradient(180deg,var(--e3,#e4e4f5) 0 50%,#fff 50%)!important}

/* ---------- 本選の一日：背景画像（上の写真2枚はそのまま） ---------- */
.skyrun .day{clip-path:inset(0)}
.dayfix{display:none;position:fixed;inset:0;z-index:0;background-size:cover;background-position:center}
.day > *:not(.dayfix){position:relative;z-index:1}
html[data-d="dark"] .dayfix{display:block;background-image:linear-gradient(90deg,rgba(10,18,51,.9),rgba(10,18,51,.72) 50%,rgba(10,18,51,.6)),url(/tokyohackathon/img/hiroshima-group-2x.jpg)}
html[data-d="light"] .dayfix{display:block;background-image:linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.84)),url(/tokyohackathon/img/hiroshima-group-2x.jpg);filter:blur(2px)}
html[data-d="dusk"] .dayfix{display:block;background-image:linear-gradient(90deg,rgba(13,22,54,.7),rgba(13,22,54,.4) 55%,rgba(13,22,54,.3)),url(/tokyohackathon/img/px_18846343.webp)}
html[data-d="dark"] .day .wrap .h2,html[data-d="dark"] .day .wrap .lab .jp,html[data-d="dusk"] .day .wrap .h2,html[data-d="dusk"] .day .wrap .lab .jp{color:#fff}
html[data-d="dark"] .day .wrap .lab::before,html[data-d="dusk"] .day .wrap .lab::before{background:#fff}
html[data-d="dark"] .day .meta,html[data-d="dusk"] .day .meta{color:#c9d6ff}
html[data-d="dark"] .day .meta small,html[data-d="dusk"] .day .meta small{color:rgba(255,255,255,.82)}
html[data-d="dark"] .day .tt,html[data-d="dusk"] .day .tt,html[data-d="light"] .day .tt{background:#fff;border-radius:10px;padding:6px 22px;box-shadow:0 40px 70px -40px rgba(0,0,0,.5)}
html:not([data-d="none"]) .day .tt .r:first-child{border-top:0}
html:not([data-d="none"]) .day .tt .r:last-child{border-bottom:0}
html:not([data-d="none"]) .skyrun .day{padding-bottom:clamp(80px,8vw,120px)!important}
html:not([data-d="none"]) .skyrun .v12j{padding-top:clamp(90px,8vw,120px)!important}

/* 切り替えパネル（試作専用） */
/* スマホ：テーマの手書き文の改行を整える */
.br-sp{display:none}
@media (max-width:820px){
  .br-sp{display:inline}
  .v12t .st p{font-size:clamp(14.5px,4vw,16px)!important;letter-spacing:.02em!important;line-height:2}
  .v12t .catch{font-size:clamp(28px,8vw,34px)!important}
}
@media (max-width:820px){.v12t .end .hand{font-size:14.5px!important;white-space:nowrap}}

/* --- final9.css --- */
/* ===== 第9弾：本選の一日も含めた全体の組み合わせ ===== */
.skyrun,.bg1,.bg2{background:#fff!important}
.bg1 > .pat,.bg2 > .pat{display:none}
/* 各セクションの背景 */
.skyrun section[data-bg="w"]{background:#fff!important}
.skyrun section[data-bg="g"]{background:#f3f5fa!important}
.skyrun section[data-bg="n"]{background-color:#0c1229!important;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)!important;background-size:64px 64px!important}
.skyrun section.c6crit[data-bg="n"]{background-image:radial-gradient(700px at 100% 0,rgba(61,90,171,.24),transparent 70%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px)!important;background-size:auto,64px 64px,64px 64px!important}
.skyrun section[data-bg="b"]{background:#3d5aab!important}
.skyrun section[data-bg="p"],.skyrun section[data-bg="np"]{background:#0c1229!important}
/* 同じ背景が続く所の区切り：1pxの線 */
.skyrun section[data-bg="w"] + section[data-bg="w"],.skyrun section[data-bg="g"] + section[data-bg="g"]{border-top:1px solid #e3e7f0}
/* 本選の一日：会場写真・紺寄せ */
html[data-d="navyp"] .dayfix{display:block;background-image:linear-gradient(rgba(12,18,41,.9),rgba(12,18,41,.82)),url(/tokyohackathon/img/hiroshima-group-2x.jpg)}
/* 本選の一日：暗い背景（濃紺・写真）では表を白い板に */
#day.dk .tt{background:#fff;border-radius:10px;padding:6px 22px;box-shadow:0 40px 70px -40px rgba(0,0,0,.5)}
#day.dk .tt .r:first-child{border-top:0}#day.dk .tt .r:last-child{border-bottom:0}
#day.dk .wrap .h2,#day.dk .wrap .lab .jp{color:#fff}#day.dk .wrap .lab::before{background:#fff}
#day.dk .meta{color:#c9d6ff}#day.dk .meta small{color:rgba(255,255,255,.82)}
.skyrun #day{padding-bottom:clamp(80px,8vw,120px)!important}
.skyrun .v12j{padding-top:clamp(90px,8vw,120px)!important}
/* 暗い背景の文字 */
.dk .h2,.dk h3,.dk .lab .jp{color:#fff}
.dk .lab::before{background:#fff}
.dk .lead,.dk .gi p{color:#c3cadf}
.dk .h2 .c{color:#9db2ff}
.dk .bridge6 span{color:#c9d6ff}
.c6gain.dk .gi .n{color:#ffb3cc}.c6gain.dk .tg{color:#dfe6ff}
.c6gain.dk .gi figure::after{background:rgba(255,255,255,.14)}
.c6gain[data-bg="b"] .gi p{color:rgba(255,255,255,.88)}
.c6crit.dk .lead{color:#c3cadf}
.v12j.dk .tz__meta{color:#c3cadf}.v12j.dk .tz__meta b{color:#c9d6ff}.v12j.dk .jcount{color:#c9d6ff}
.v12j.dk .tz.soon .tz__card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.3)}.v12j.dk .tz.soon .tz__nm{color:rgba(255,255,255,.6)}
.v12j.dk .lead{color:#c3cadf}
/* 罫線（セット3） */
html[data-rules="1"] .skyrun .lab{padding-top:20px;background:linear-gradient(#111a3c,#111a3c) left top/64px 2px no-repeat,linear-gradient(#d5d9e3,#d5d9e3) left top/100% 1px no-repeat}
html[data-rules="1"] .skyrun .dk .lab{background:linear-gradient(#fff,#fff) left top/64px 2px no-repeat,linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,.25)) left top/100% 1px no-repeat}
.mag{border:1px solid #e3e7f0;border-radius:4px;background:#fff}
/* 賞の帯の上：審査員の背景色を受け継ぐ */
.v12p{background:linear-gradient(180deg,var(--e3,#fff) 0 50%,#fff 50%)!important}
/* パネル */

/* 本選の一日の表：横線だけ・上端を太い罫線で締める・強調行は淡い青の帯＋左の青いバー（Supabase・Vercel・AI Engineer・Devsumi 参考） */
.skyrun #day .tt{border-top:2px solid #1b2a4a}
.skyrun #day .tt .r{border-top:1px solid #e6eaf1;padding-top:16px;padding-bottom:16px}
.skyrun #day .tt .r:first-child{border-top:0}
.skyrun #day .tt .t{font-family:var(--f-en);font-variant-numeric:tabular-nums;color:#5a6478}
.skyrun #day .tt .r:not(.hi) .w{color:#3a4458}
.skyrun #day .tt .r.hi{background:#eaf0fb;box-shadow:inset 3px 0 0 #3d5aab}
.skyrun #day .tt .r.hi .w,.skyrun #day .tt .r.hi .t{color:#3d5aab}
.skyrun #day .tt .r.hi .m{color:#3d5aab}
.skyrun #day .tags span{border:1px solid #c9d2e3;background:transparent}
#day.dk .tags span{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.04)}
#day.dk .tags span b{color:#c9d6ff}
/* 明るいグレーの一日：表は白い面 */
.skyrun section#day[data-bg="gp"]{background:#f4f6fa!important}
#day[data-bg="gp"] .tt{background:#fff;border:1px solid #e1e6ef;border-top:2px solid #1b2a4a;border-radius:4px;padding:4px 22px}

/* --- 本番の仕上げ --- */
/* 得られるものは白（条件と続くので1pxの線で区切る） */
.skyrun section.c6gain[data-bg="w"]{border-top:1px solid #e3e7f0}
/* 条件のカード：文字が枠に近すぎないよう内側に余白 */
.c6cond .mag{padding-bottom:26px}
.c6cond .mag figure{border-radius:4px 4px 0 0}
.c6cond .mag h3,.c6cond .mag p{padding:0 22px}


.c6crit .note6{margin-top:10px;font-size:13px;color:var(--ink-3)}

/* ===================================================================
   v12.1 (2026-10-02): 余白・本選の表の読みやすさ・審査員版の調整
   =================================================================== */
/* 得られるもの〜流れの間を少しだけ広げる */
.skyrun .v12f{padding-top:clamp(104px,9vw,134px)!important}
/* 本選の一日の表：色を絞り、文字の強弱を整理 */
.skyrun #day .tt .r{padding-top:18px;padding-bottom:18px;border-top-color:#e9edf3}
.skyrun #day .tt .t{font-size:12.5px;letter-spacing:.08em;color:#9aa3b5!important;font-weight:700}
.skyrun #day .tt .w{color:#111a3c!important;font-weight:700;font-size:16.5px;line-height:1.5}
.skyrun #day .tt .w small{color:#5a6478;font-size:13.5px;font-weight:400;line-height:1.7;margin-top:4px}
.skyrun #day .tt .w .tm{font-family:var(--f-en);font-style:normal;font-size:12.5px;font-weight:700;color:#5a6478;background:#eef1f6;border-radius:4px;padding:2px 7px;margin-left:10px;vertical-align:2px}
.skyrun #day .tt .m{color:#5a6478!important;font-family:var(--f-en);font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums}
.skyrun #day .tt .r.hi{background:#f2f5fc;box-shadow:inset 3px 0 0 #3d5aab}
.skyrun #day .tt .r.hi .t,.skyrun #day .tt .r.hi .m{color:#3d5aab!important}
/* 審査員版：縦書きの「6」を中央に */
.tate .tcy{letter-spacing:0;display:inline-block;margin-bottom:.16em}
/* 審査員版「この会について」：前の配置のまま、背景に暗い交差点の写真を固定 */
.concept.cdark{position:relative;clip-path:inset(0);color:#fff;background:#0c1229}
.cdark .cfix{position:fixed;inset:0;background:linear-gradient(90deg,rgba(8,14,40,.88) 0%,rgba(8,14,40,.72) 55%,rgba(8,14,40,.55) 100%),url(/tokyohackathon/img/t1-tokyo-1600.webp) center/cover}
.cdark > .wrap{position:relative;z-index:1}
.cdark .tatebig{color:#fff!important}
.cdark .lab .jp{color:rgba(255,255,255,.75)}.cdark .lab::before{background:#fff}
.cdark .st4 h3{color:#fff}
.cdark .st4 p{color:rgba(255,255,255,.82)}
.cdark .st4 .no{color:#ff9cc0}
.cdark .hand{color:#fff}

/* 審査員版「この会について」v12.2：上にリード＋写真、下に要点を4列で（詰め込みをやめて余白を確保） */
.ab2{padding:clamp(110px,10vw,150px) 0}
.ab2__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,96px);align-items:center}
.ab2 .h2{color:#fff}
.ab2__lead{margin-top:28px;font-size:clamp(15.5px,1.2vw,17px);line-height:2.05;color:rgba(255,255,255,.86);max-width:30em}
.ab2__ph{position:relative;margin:0 0 56px 40px}
.ab2__ph .main{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;box-shadow:0 40px 70px -40px rgba(0,0,0,.7)}
.ab2__ph .sub{position:absolute;left:-40px;bottom:-56px;width:40%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;border:4px solid #0c1229;box-shadow:0 30px 50px -30px rgba(0,0,0,.7)}
.ab2__ph figcaption{position:absolute;right:0;bottom:-44px;color:#fff;font-size:15px;transform:rotate(-2deg)}
.ab2__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(96px,9vw,130px) 0 0;border-top:1px solid rgba(255,255,255,.28)}
.ab2__facts > div{padding:28px 28px 0;border-left:1px solid rgba(255,255,255,.14)}
.ab2__facts > div:first-child{border-left:0;padding-left:0}
.ab2__facts dt{font-size:12.5px;font-weight:700;letter-spacing:.14em;color:#ff9cc0}
.ab2__facts dd{margin:10px 0 0}
.ab2__facts b{display:block;font-size:clamp(18px,1.5vw,21px);font-weight:900;line-height:1.45;color:#fff}
.ab2__facts span{display:block;margin-top:12px;font-size:14px;line-height:1.85;color:rgba(255,255,255,.76)}
@media (max-width:1100px){.ab2__facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}.ab2__facts > div:nth-child(3){border-left:0;padding-left:0}}
@media (max-width:820px){
  .ab2__top{grid-template-columns:1fr;gap:36px}
  .ab2__ph{margin:0 0 70px 24px}.ab2__ph .sub{left:-24px;bottom:-50px;width:46%}.ab2__ph figcaption{bottom:-62px;font-size:13.5px;text-align:right}
  .ab2__facts{grid-template-columns:1fr;margin-top:90px;row-gap:0}
  .ab2__facts > div{border-left:0!important;padding:22px 0;border-top:1px solid rgba(255,255,255,.14)}
  .ab2__facts > div:first-child{border-top:0}
}
/* v12.2 調整：要点は2列×2段で広く、写真の説明は右下に */
.ab2__facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,6vw,96px);border-top:0}
.ab2__facts > div,.ab2__facts > div:first-child{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;padding:30px 0;border-left:0;border-top:1px solid rgba(255,255,255,.22)}
.ab2__facts dt{padding-top:5px}
.ab2__facts dd{margin:0}
.ab2__facts b{font-size:clamp(19px,1.6vw,22px)}
.ab2__ph .sub{width:34%;bottom:-48px}
.ab2__ph figcaption{max-width:58%;text-align:right;bottom:-40px}
@media (max-width:1100px){.ab2__facts{grid-template-columns:1fr}}
@media (max-width:820px){.ab2__facts > div,.ab2__facts > div:first-child{grid-template-columns:1fr;gap:6px;padding:22px 0}.ab2__ph figcaption{max-width:none;bottom:-62px}}
.cdark .cfix{background:linear-gradient(90deg,rgba(8,14,40,.9) 0%,rgba(8,14,40,.84) 55%,rgba(8,14,40,.8) 100%),url(/tokyohackathon/img/t1-tokyo-1600.webp) center/cover}

/* ===================================================================
   v12.3 (2026-10-05): 審査員版「この会について」手書き・ベタ打ち2×2／本選の一日：背景スポットライト・上の写真2枚を白黒
   =================================================================== */
.ab13{position:relative;clip-path:inset(0);color:#fff;padding:clamp(110px,10vw,150px) 0;background:#0c1229}
.ab13 .bgfix{position:fixed;inset:0;background:url(/tokyohackathon/img/t1-tokyo-1600.webp) center/cover}
.ab13 .bgfix::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,40,.86) 0%,rgba(8,14,40,.62) 50%,rgba(8,14,40,.4) 100%)}
.ab13 > .wrap{position:relative;z-index:1}
.ab13 .lab .jp{color:rgba(255,255,255,.75)}.ab13 .lab::before{background:#fff}
.ab13 .ablead{margin-top:34px;max-width:none;font-family:"Klee One",var(--f-jp);font-weight:600;font-size:clamp(30px,3.3vw,48px);line-height:1.8;letter-spacing:.05em;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.45)}
.ab13 .ablead{transform:rotate(-2.5deg);transform-origin:left bottom}
.ab13 .ablead span{display:inline;padding:0 .04em .06em;background:linear-gradient(90deg,#9db6ff,#f59ac0) left 94%/100% .12em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ab13 .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 80px;margin-top:84px;max-width:1120px}
.ab13 .i .k{display:block;font-family:"Klee One",var(--f-jp);font-size:16.5px;font-weight:600;letter-spacing:.1em;color:#b9c8f5;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.ab13 .i b{display:block;margin-top:8px;font-family:"Klee One",var(--f-jp);font-weight:600;font-size:29px;line-height:1.5;letter-spacing:.04em;text-shadow:0 1px 14px rgba(0,0,0,.5)}
.ab13 .i p{margin:10px 0 0;max-width:none;font-family:"Klee One",var(--f-jp);font-weight:600;font-size:17.5px;line-height:1.95;letter-spacing:.03em;color:rgba(255,255,255,.9);text-shadow:0 1px 12px rgba(0,0,0,.6)}
@media (max-width:820px){
  .ab13{padding:88px 0}
  .ab13 .ablead{font-size:clamp(21px,5.8vw,25px);line-height:1.85;margin-top:26px;transform:rotate(-2deg)}
  .ab13 .ablead br{display:none}
  .ab13 .grid{grid-template-columns:1fr;gap:40px;margin-top:56px}
  .ab13 .i b{font-size:23px}.ab13 .i p{font-size:16px}.ab13 .i .k{font-size:15px}
}
/* 本選の一日：背景はマイクとスポットライト（両ページ） */
html[data-d="dark"] .dayfix{background-image:linear-gradient(90deg,rgba(10,18,51,.9),rgba(10,18,51,.72) 50%,rgba(10,18,51,.6)),url(/tokyohackathon/img/px_2101487.webp);background-position:70% center}
/* 上の写真2枚は白黒でそろえる */
.clipimg.duo.mono img{filter:grayscale(1) contrast(1.05)}
.clipimg.duo.mono img:nth-child(2){object-position:center 30%}
/* ===================================================================
   v12.4 (2026-10-08): 会場決定（審査員版の会場カードをグレーにして斜めの帯）
   =================================================================== */
.card.done{background:#f3f4f7!important;box-shadow:none!important}
.card.done figure{position:relative}
.card.done figure img{filter:grayscale(1) brightness(.92) contrast(.9)}
.card.done .no,.card.done h3{color:#9aa1ae!important}
.card.done p{color:#7d8592!important}
.dstamp{position:absolute;left:-10%;right:-10%;top:50%;height:58px;margin-top:-29px;display:flex;align-items:center;justify-content:center;background:#d6336c;color:#fff;transform:rotate(-8deg);font-family:"Klee One",var(--f-jp);font-weight:600;font-size:24px;letter-spacing:.08em;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.25);pointer-events:none}
@media (max-width:820px){.dstamp{height:48px;margin-top:-24px;font-size:20px}}
/* ===================================================================
   v12.5 (2026-10-09): 審査員・協賛ページ（甲の並び／入口＝写真2分割／今後の流れ＝白／お願い＝大きな行／協賛＝写真の窓＋3枚の枠）
   =================================================================== */
/* 細長い矢印・ボタン・札 */
.lar{position:relative;display:inline-block;width:54px;height:1px;background:currentColor;vertical-align:middle;transition:width .25s}
.lar::after{content:"";position:absolute;right:0;top:-4px;width:9px;height:9px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
a:hover .lar{width:72px}
.btn13{display:inline-flex;align-items:center;gap:20px;margin-top:22px;background:#111a3c;color:#fff;text-decoration:none;padding:18px 26px;font-weight:900;font-size:15px;transition:background .25s}
.btn13:hover{background:#3d5aab}
.lb{display:inline-block;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.08em;color:#d6336c;border:1px solid #d6336c;padding:2px 10px;margin-right:12px;vertical-align:2px}
.lb.on{color:#3d5aab;border-color:#3d5aab}
.lb.gr{color:#fff;background:#9aa1ae;border-color:#9aa1ae}
/* 入口：写真の左右2分割 */
.en2{display:grid!important;grid-template-columns:1fr 1fr;gap:1px;background:#fff!important;padding:0!important}
.en2 .half{position:relative;display:block;height:clamp(420px,38vw,540px);overflow:hidden;color:#fff;text-decoration:none}
.en2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.en2 .half:hover img{transform:scale(1.04)}
.en2 .half::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,40,.15) 20%,rgba(8,14,40,.88) 100%)}
.en2 .tx{position:absolute;left:clamp(28px,4vw,64px);right:clamp(28px,4vw,64px);bottom:clamp(32px,4vw,56px);z-index:1}
.en2 .k{color:rgba(255,255,255,.85)}
.en2 b{display:block;margin-top:12px;font-size:clamp(24px,2.4vw,34px);font-weight:900;line-height:1.45}
.en2 p{margin:12px 0 18px;font-size:15px;line-height:1.8;color:rgba(255,255,255,.88);max-width:none}
.en2 .k{display:block;font-size:13px;font-weight:700;letter-spacing:.14em}
/* 今後の流れ：白背景 */
.skyrun .v12f.fw::before{display:none!important}
.skyrun .v12f.fw{background:#fff!important;border-top:0}
.skyrun .v12f.fw .brush .line{filter:none}
.skyrun .v12f.fw .stn .card{box-shadow:0 10px 30px -18px rgba(17,26,60,.35);border:1px solid #e3e7f0}
/* 審査員へのお願い：左見出し＋大きな行 */
.ak .ld{margin-top:18px;font-size:16.5px;line-height:1.9;color:#2b3448;max-width:none}
.lr{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:72px}
.lr .lf{position:sticky;top:110px;align-self:start}
.ak .lr{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:80px}
.ak .lf .ld{font-size:16px}
.ak .rows{border-top:2px solid #111a3c}
.ak .rows .r{border-bottom:1px solid #dfe3eb}
.ak .val{font-family:var(--f-jp);font-weight:900;color:#111a3c;font-variant-numeric:tabular-nums}
.q3 .rows .r{padding:26px 0 24px}
.q3 .top{display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.q3 .top b{font-size:22px;font-weight:900}
.q3 .top .val{font-size:17px;color:#3d5aab}
.q3 .r p{margin:8px 0 0;color:#5a6478;font-size:14.5px;max-width:none}
/* 協賛の方へ：写真の窓＋3枚の枠（背景は濃いグレー） */
#sponsor.z4{background:#e9ecf2!important}
.sp6 .ld{margin-top:18px;font-size:16.5px;line-height:1.9;color:#2b3448;max-width:none}
.sp6 .gh6{margin:0;font-size:13px;font-weight:700;letter-spacing:.16em;color:#5a6478;padding-bottom:12px;border-bottom:2px solid #111a3c}
.ul2{list-style:none;margin:0;padding:0}
.ul2 li{padding:14px 0;border-bottom:1px solid #d3d8e2}
.ul2 b{display:block;font-weight:900;font-size:15.5px}
.ul2 span{display:block;margin-top:3px;font-size:14px;color:#5a6478;line-height:1.8}
.stp{list-style:none;margin:0;padding:0}
.stp li{position:relative}
.stp .n{font-family:var(--f-en);font-weight:700;font-size:13px;color:#d6336c;letter-spacing:.06em}
.stp b{display:block;font-weight:900}
.stp p{margin:3px 0 0;font-size:14px;color:#5a6478;max-width:none}
.stp.v li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:8px;padding:14px 0;border-bottom:1px solid #d3d8e2}
.stp.v .n{grid-row:span 2;padding-top:3px}
.ct2{margin:20px 0 0;font-size:13.5px;color:#5a6478}
.cta6{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:44px}
.cta6 .btn13{margin:0}.cta6 .ct2{margin:0}
.sp6 .cards > .col{background:#fff;border:1px solid #dfe3eb;padding:28px 28px 22px}
.sp6 .c2 .ul2,.sp6 .c3 .ul2{display:block}
.z4 .c3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:-72px;position:relative;z-index:1;align-items:start}
.z4 .win{position:relative;margin-top:44px;height:clamp(320px,30vw,420px);clip-path:inset(0);overflow:hidden}
.z4 .fixph{position:fixed;inset:0;background:url(/tokyohackathon/img/px_37420253.webp) center 60%/cover}
.z4 .cap{position:absolute;left:24px;bottom:84px;z-index:1;font-size:12.5px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media (max-width:820px){
  .en2{grid-template-columns:1fr}.en2 .half{height:300px}.en2 .tx{bottom:26px}
  .lr,.ak .lr{grid-template-columns:1fr;gap:28px}.lr .lf{position:static}
  .q3 .top{flex-direction:column;gap:4px}.ak.q3 .rows .r{padding:20px 0 18px}.ak.q3 .top b{font-size:19px}
  .z4 .c3{grid-template-columns:1fr;margin-top:20px;gap:14px}.z4 .cap{bottom:14px}
  .z4 .win{margin-top:28px;height:260px}
  .z4 .cards > .col{padding:22px 20px 14px}
  .z4 .c3 > .col:first-child .ul2{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
  .z4 .ul2 li{padding:12px 0}.z4 .ul2 b{font-size:15px}.z4 .ul2 span{font-size:13px}
  .z4 .stp.v li{padding:12px 0}.z4 .stp p{font-size:13px}
  .z4 .cta6{flex-direction:column;align-items:stretch;gap:14px;margin-top:28px}.z4 .cta6 .btn13{justify-content:space-between}
  .z4 .ct2{font-size:13px;line-height:1.8}
}
/* v12.5.1：協賛は2枚の枠（進め方は外す）・文字を大きく */
.z4 .c3.c2c{grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.z4 .cards > .col{padding:32px 34px 26px}
.z4 .gh6{font-size:14px}
.z4 .ul2 li{padding:18px 0}
.z4 .ul2 b{font-size:18px}
.z4 .ul2 span{margin-top:4px;font-size:15.5px;line-height:1.85}
.z4 .ct2{font-size:15px}
@media (max-width:820px){
  .z4 .c3.c2c{grid-template-columns:1fr;gap:16px}
  .z4 .cards > .col{padding:26px 22px 18px}
  .z4 .c3 > .col:first-child .ul2{display:block}
  .z4 .ul2 li{padding:16px 0}
  .z4 .ul2 b{font-size:17px}.z4 .ul2 span{font-size:15px}
  .z4 .ct2{font-size:14px}
}

/* v12.7 prize amounts */
.v12p .amt{display:flex;justify-content:center;gap:clamp(40px,6vw,88px);margin-top:36px}
.v12p .amt div{text-align:center}
.v12p .amt span{display:block;font-weight:700;font-size:15px;letter-spacing:.12em;color:rgba(255,255,255,.8)}
.v12p .amt b{display:block;font-family:var(--f-en);font-weight:800;font-size:clamp(52px,6vw,80px);line-height:1.1;color:#fff;margin-top:6px}
.v12p .amt small{font-family:var(--f-jp);font-weight:700;font-size:.34em;margin-left:6px;letter-spacing:.06em}
