:root{
  --navy:#1f2026; --navy-deep:#121317; --red:#c9a55a; --ink:#16202c; --sub:#3d4753; --muted:#5b6673;
  --line:#e6e9ed; --soft:#f5f3ee; --white:#ffffff; --on-navy:#c7c8ce; --navy-line:#4a4c55;
  --on-accent:#121317; --accent-text:#86651f; --accent-dark-text:#dcbc72; --accent-hover:#b8934a; --foot-line:#2e2f35;
  --en:'Barlow Condensed','Arial Narrow',sans-serif;
  --ja:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  --pad:clamp(16px,5.5vw,80px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--ja);font-size:16px;line-height:1.7}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent-text)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}
img{max-width:100%;display:block}
.wrap{padding-inline:var(--pad)}
.en{font-family:var(--en)}
h1,h2,h3{text-wrap:balance}

/* top bar + header */
.topbar{background:var(--navy-deep);color:var(--on-navy);font-size:12px;display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:16px}
.topbar a{color:var(--white);display:inline-flex;align-items:center;gap:6px}
.topbar .links{display:flex;gap:24px}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--white);border-bottom:1px solid var(--line)}
.hbar{display:flex;align-items:center;justify-content:space-between;height:88px;gap:24px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:58px;height:58px}
.brand b{font-family:var(--en);font-size:30px;font-weight:800;letter-spacing:.04em;line-height:1;color:var(--navy);display:block}
.brand small{font-size:11px;letter-spacing:.18em;color:var(--muted)}
nav.main{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px)}
nav.main a{display:flex;flex-direction:column;align-items:center;line-height:1.3}
nav.main a span:first-child{font-family:var(--en);font-size:19px;font-weight:700;letter-spacing:.08em}
nav.main a span:last-child{font-size:10px;color:var(--muted)}
nav.main a.join{background:var(--red);color:var(--on-accent);padding:12px 24px}
nav.main a.join span:last-child{color:var(--white)}
nav.main a.join:hover{background:var(--accent-hover);color:var(--on-accent)}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center}
.menu-btn svg{stroke:var(--ink)}

/* hero */
.hero{position:relative;background:var(--navy-deep);min-height:clamp(520px,50vw,680px);overflow:hidden;color:var(--white);display:flex;align-items:flex-end}
.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,28,.78) 0%,rgba(8,14,28,.35) 55%,rgba(8,14,28,.1) 100%),linear-gradient(0deg,rgba(8,14,28,.55) 0%,rgba(8,14,28,0) 45%);pointer-events:none}
.hero-in{z-index:1}
.vid-btn{position:absolute;right:16px;top:16px;z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.5);background:rgba(8,14,28,.45);color:#fff;font-size:12px;letter-spacing:-.1em;cursor:pointer}
.hero-in{position:relative;width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding-block:72px}
.hero .since{font-family:var(--en);font-size:18px;font-weight:700;letter-spacing:.3em}
.hero h1{margin:14px 0 16px;font-family:var(--en);font-weight:800;font-style:italic;font-size:clamp(64px,9.2vw,132px);line-height:.9}
.hero p{margin:0;font-size:clamp(18px,1.8vw,26px);font-weight:900;letter-spacing:.06em}
.result{background:var(--white);color:var(--ink);width:min(380px,100%);flex-shrink:0}
.result .hd{background:var(--red);color:var(--on-accent);display:flex;justify-content:space-between;padding:10px 20px;font-family:var(--en);font-weight:700;font-size:16px;letter-spacing:.2em}
.result .bd{padding:18px 22px}
.result .bd small{font-size:12px;color:var(--muted)}
.result .score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:10px;font-weight:700;font-size:14px;line-height:1.35}
.result .score b{font-family:var(--en);font-size:44px;font-weight:800;line-height:1}
.result .score span:last-child{text-align:right}

/* pickup */
.pickup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:56px 0}
.pickup a{min-height:200px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;color:var(--white);transition:transform .2s}
.pickup a:hover{transform:translateY(-3px);color:var(--white)}
.pickup .p1{background:var(--red);color:var(--on-accent)} .pickup .p1:hover{color:var(--on-accent)} .pickup .p2{background:var(--navy)} .pickup .p3{background:var(--soft);color:var(--ink)}
.pickup .p3:hover{color:var(--ink)}
.eyebrow{font-family:var(--en);font-size:15px;font-weight:700;letter-spacing:.24em}
.p3 .eyebrow{color:var(--accent-text)}
.pickup strong{display:block;font-size:24px;font-weight:900}
.pickup em{font-style:normal;font-size:14px}

/* section heads */
section.block{padding-block:120px 0}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:36px}
.sh h2{margin:0;display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.sh h2 .en{font-size:clamp(52px,5vw,72px);font-weight:800;font-style:italic;line-height:1;color:var(--navy)}
.sh h2 small{font-size:15px;font-weight:700;color:var(--ink)}
.more{font-family:var(--en);font-size:17px;font-weight:700;letter-spacing:.16em;color:var(--navy)}
.btn-line{display:block;width:fit-content;margin:36px auto 0;padding:16px 56px;border:1px solid var(--ink);font-family:var(--en);font-size:17px;font-weight:700;letter-spacing:.16em}

/* news */
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs button{min-height:44px;padding:0 20px;border:1px solid #c9ced5;background:var(--white);color:var(--ink);font-family:var(--en);font-size:15px;font-weight:700;letter-spacing:.1em;cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.news{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.news li{display:flex;align-items:center;gap:28px;padding:24px 8px;border-bottom:1px solid var(--line)}
.news time{font-family:var(--en);font-size:18px;font-weight:600;color:var(--muted);width:110px;flex-shrink:0;font-variant-numeric:tabular-nums}
.tag{font-family:var(--en);font-size:13px;font-weight:700;letter-spacing:.1em;width:72px;text-align:center;padding:3px 0;color:var(--white);flex-shrink:0}
.tag.game{background:var(--navy)} .tag.join{background:var(--red);color:var(--on-accent)} .tag.club{background:var(--muted)}
.news a{font-size:17px;font-weight:500}
.ph{color:var(--muted)}

/* game */
.gamesec{margin-top:120px;background:var(--navy);color:var(--white);padding-block:104px}
.gamesec .sh h2 .en,.gamesec .sh h2 small{color:var(--white)}
.game-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,6vw,96px);align-items:start}
.next{background:var(--white);color:var(--ink)}
.next .hd{background:var(--red);color:var(--on-accent);padding:12px 24px;font-family:var(--en);font-weight:700;letter-spacing:.2em}
.next .bd{padding:30px 28px;display:flex;flex-direction:column;gap:18px}
.next .date{font-family:var(--en);font-size:44px;font-weight:800;line-height:1}
.next .date small{font-size:20px}
.next .vs{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:18px;font-weight:700}
.next .vs i{font-family:var(--en);font-style:normal;color:var(--accent-text)}
.next .venue{font-size:14px;color:var(--sub);padding-top:16px;border-top:1px solid var(--line)}
.comp{font-size:14px;color:var(--on-navy);margin:0 0 14px}
.results{list-style:none;margin:0;padding:0;border-top:1px solid var(--navy-line)}
.results li{display:grid;grid-template-columns:220px 1fr 40px 76px;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--navy-line)}
.results .meta{display:flex;align-items:baseline;gap:14px}
.feed .m-only{display:none}
.results .d{font-family:var(--en);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.results .r{font-size:13px;color:var(--on-navy)}
.results .o{font-size:17px;font-weight:700}
.wl{font-size:12px;font-weight:700;text-align:center;padding:3px 0}
.wl.w{background:var(--red);color:var(--on-accent)} .wl.l{background:var(--navy-line)}
.results .s{font-family:var(--en);font-size:28px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
.record{margin-top:20px;font-size:14px;color:var(--on-navy)}
.record b{color:var(--white);font-family:var(--en);font-size:22px;letter-spacing:.04em}

/* club */
.club{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,96px);align-items:center}
.club img{width:100%;aspect-ratio:4/3;object-fit:cover}
.club .lead{font-size:clamp(21px,2vw,26px);font-weight:900;line-height:1.5;margin:0 0 18px}
.club p{color:var(--sub);margin:0;line-height:2}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);margin:28px 0 0}
.facts div{padding:16px 0}
.facts dt{font-size:12px;color:var(--muted)}
.facts dd{margin:0;font-family:var(--en);font-size:30px;font-weight:800;color:var(--navy);line-height:1.3}
.facts dd.ja{font-family:var(--ja);font-size:20px;font-weight:900;padding-top:4px}

/* staff */
.staff{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.member img{width:100%;aspect-ratio:15/16;object-fit:cover}
.member .cap{background:var(--navy);color:var(--white);padding:16px 20px;display:flex;flex-direction:column;gap:4px}
.member .role{font-family:var(--en);font-size:14px;font-weight:700;letter-spacing:.16em;color:var(--accent-dark-text)}
.member .role small{font-family:var(--ja);font-size:12px;letter-spacing:.04em;color:var(--on-navy);margin-left:8px}
.member .nm{font-size:18px;font-weight:700}
.member .lic{font-size:12px;color:var(--on-navy)}

/* join */
.join-band{margin-top:120px;background:var(--red);color:var(--on-accent);padding-block:88px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.join-band .big{font-family:var(--en);font-size:clamp(52px,5vw,72px);font-weight:800;font-style:italic;line-height:1}
.join-band h2{margin:14px 0 10px;font-size:clamp(22px,2.2vw,30px);font-weight:900}
.join-band p{margin:0;max-width:60ch}
.join-band .ctas{display:flex;flex-direction:column;gap:12px;width:min(320px,100%)}
.join-band .ctas a{padding:18px 24px;text-align:center;font-weight:700;font-size:17px}
.join-band .c1{background:var(--white);color:var(--ink)}
.join-band .c2{border:1px solid var(--on-accent);color:var(--on-accent)}
.join-band .c2:hover{background:rgba(255,255,255,.12);color:var(--on-accent)}

/* sns */
.feed{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.feed>*{aspect-ratio:1/1;width:100%;object-fit:cover}
.feed .em{background:#242428;display:flex;align-items:center;justify-content:center}
.feed .em img{width:62%}
.feed .jn{background:var(--red);color:var(--on-accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.feed .jn b{font-family:var(--en);font-size:clamp(24px,3vw,44px);font-weight:800;font-style:italic;line-height:1}
.feed .jn span{font-size:13px;font-weight:700}
.follow{background:var(--navy);color:var(--white);padding:14px 26px;font-weight:700;font-size:15px}
.follow:hover{color:var(--white);background:var(--navy-deep)}

/* partner */
.tier{font-family:var(--en);font-size:16px;font-weight:700;letter-spacing:.24em;color:var(--accent-text);margin:0 0 14px}
.logos{display:grid;gap:16px;margin-bottom:36px}
.logos.top{grid-template-columns:repeat(2,minmax(0,1fr))}
.logos.std{grid-template-columns:repeat(6,minmax(0,1fr))}
.logos div{border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}
.logos.top div{height:140px} .logos.std div{height:80px}

/* field */
.field{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:center;padding-block:120px}
.field .place{font-size:20px;font-weight:900;margin:0}
.field address{font-style:normal;margin:4px 0 16px}
.field .note{font-size:14px;color:var(--muted);margin:0 0 24px}
.maplink{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:var(--white);padding:14px 24px;font-weight:700}
.maplink:hover{color:var(--white);background:var(--navy-deep)}
.mapcard{aspect-ratio:16/9;max-width:100%;background:var(--soft);position:relative;overflow:hidden}
.mapcard img{width:100%;height:100%;object-fit:cover;opacity:.45}
.mapcard span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--white);padding:10px 18px;font-weight:700;white-space:nowrap;display:flex;gap:8px;align-items:center}

/* footer */
footer.site{background:var(--navy-deep);border-top:6px solid var(--red);color:var(--white);padding-block:72px 40px}
.ft{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.ft .fb{display:flex;align-items:center;gap:16px}
.ft .fb img{width:72px;height:72px}
.ft .fb b{font-family:var(--en);font-size:40px;font-weight:800;font-style:italic;line-height:1}
.ft p{margin:14px 0 0;color:var(--on-navy);font-size:14px}
.ft .tel{color:var(--white);font-weight:700;font-size:15px;user-select:all}
.fnav{display:grid;grid-template-columns:repeat(2,auto);gap:12px 64px;font-family:var(--en);font-size:18px;font-weight:700;letter-spacing:.1em}
.fnav a:hover{color:var(--accent-dark-text)}
.fbot{margin-top:48px;padding-top:22px;border-top:1px solid var(--foot-line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--on-navy)}
.fbot a:hover{color:var(--white)}

.demo-note{background:#fff7e0;color:#5a4300;font-size:12px;text-align:center;padding-block:8px}


/* result details */
ul.results li{display:block;padding:0}
.rd>summary{list-style:none;display:grid;grid-template-columns:220px 1fr 40px 76px 28px;align-items:center;gap:20px;padding:18px 0;cursor:pointer}
.rd>summary::-webkit-details-marker{display:none}
.rd>summary:hover .o{text-decoration:underline;text-underline-offset:4px}
.rd>summary:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.chev{width:10px;height:10px;border-right:2px solid var(--on-navy);border-bottom:2px solid var(--on-navy);transform:rotate(45deg);justify-self:center;transition:transform .2s}
.rd[open] .chev{transform:rotate(-135deg)}
.rdetail{background:rgba(255,255,255,.06);border-top:1px solid var(--navy-line);padding:24px 24px 20px;margin-bottom:18px;display:flex;flex-direction:column;gap:14px}
.rscore{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;font-weight:700;font-size:15px}
.rscore span:last-child{text-align:right}
.rscore b{font-family:var(--en);font-size:48px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.rscore b i{font-style:normal;color:var(--red)}
.rresult{margin:0;text-align:center;font-family:var(--en);letter-spacing:.2em;color:var(--red);font-weight:700}
.rinfo{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.rinfo div{display:flex;flex-direction:column;gap:2px}
.rinfo dt{font-size:12px;color:var(--on-navy)}
.rinfo dd{margin:0;font-size:14px;font-weight:700}
.rnote{margin:0;font-size:13px;color:var(--on-navy)}
.rnote a{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.game-hint{font-size:12px;color:var(--on-navy);margin:10px 0 0}
@media (prefers-reduced-motion:reduce){.chev{transition:none}}
@media (max-width:720px){
  .rd>summary{grid-template-columns:1fr auto auto 20px;grid-template-areas:"meta wl s chev" "o wl s chev";gap:4px 12px;padding:14px 0}
  .rd .meta{grid-area:meta}.rd .o{grid-area:o}.rd .wl{grid-area:wl}.rd .s{grid-area:s}.rd .chev{grid-area:chev}
  .rdetail{padding:18px 14px}
  .rscore{font-size:12px;gap:8px}
  .rscore b{font-size:34px}
  .rinfo{grid-template-columns:1fr}
}

/* tournament */
.tourn{margin-top:24px;border:1px solid var(--navy-line)}
.tourn>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;font-weight:700}
.tourn>summary::-webkit-details-marker{display:none}
.tourn>summary:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.tourn[open] .chev{transform:rotate(-135deg)}
.tbody{padding:4px 20px 22px;display:flex;flex-direction:column;gap:28px}
.champ{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:rgba(255,255,255,.06);border-left:4px solid var(--red)}
.champ .en{font-family:var(--en);font-size:13px;letter-spacing:.24em;color:var(--red);font-weight:700}
.champ b{font-size:18px}
.champ small{font-size:13px;color:var(--on-navy)}
.tblock h3{margin:0 0 10px;font-size:16px}
.tscroll{overflow-x:auto}
.stand{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;min-width:440px}
.stand th{font-size:11px;font-weight:500;color:var(--on-navy);padding:6px 8px;border-bottom:1px solid var(--navy-line);text-align:center}
.stand td{padding:10px 8px;border-bottom:1px solid var(--navy-line);text-align:center}
.stand .tn{text-align:left}
.stand tr.us td{background:rgba(201,165,90,.14);font-weight:700}
.stand tr.us .tn{color:var(--accent-dark-text)}
.mlist{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;font-size:13px}
.mlist li{display:grid;grid-template-columns:44px 1fr auto 1fr;gap:8px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--navy-line)}
.mlist .md{font-family:var(--en);color:var(--on-navy)}
.mlist .ma{text-align:right}
.mlist b{font-family:var(--en);font-size:16px;white-space:nowrap}
.mlist .us{color:var(--accent-dark-text);font-weight:700}
.tnote{margin:0;font-size:12px;color:var(--on-navy)}
.game-grid>*{min-width:0}
.tourn{min-width:0;max-width:100%}
@media (max-width:720px){.stand{min-width:0}.stand th:nth-child(6),.stand td:nth-child(6),.stand th:nth-child(7),.stand td:nth-child(7){display:none}.stand td,.stand th{padding-inline:4px}.mlist{grid-template-columns:1fr}.tbody{padding:4px 12px 18px}.tourn>summary{padding:14px}}

.line-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#06C755;color:#ffffff;font-weight:700;padding:14px 22px;font-size:15px}
.line-btn:hover{background:#05a948;color:#ffffff}

.noresult{border:1px solid var(--navy-line);padding:28px;display:flex;flex-direction:column;gap:12px}
.noresult p{margin:0}
.noresult a{color:var(--accent-dark-text);font-weight:700}
.league{display:flex;flex-direction:column;gap:14px;min-width:0}
.lg-top{display:flex;align-items:center;gap:18px;padding:16px 20px;background:rgba(255,255,255,.06);border-left:4px solid var(--red)}
.lg-top b{font-size:56px;line-height:1;font-style:italic;color:var(--red)}
.lg-top b small{font-size:22px}
.lg-top span{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--on-navy)}
.lg-top strong{font-size:20px;color:var(--white)}
.rrow{display:grid;grid-template-columns:100px 1fr 40px 76px;align-items:center;gap:20px;padding:16px 0}
.lg-h{margin:14px 0 0;font-size:16px}
.stand.lg{min-width:480px}
@media (max-width:720px){.rrow{grid-template-columns:1fr auto auto;grid-template-areas:"meta wl s" "o wl s";gap:4px 12px;padding:12px 0}.rrow .meta{grid-area:meta}.rrow .o{grid-area:o}.rrow .wl{grid-area:wl}.rrow .s{grid-area:s}.stand.lg{min-width:0}.stand.lg th:nth-child(7),.stand.lg td:nth-child(7),.stand.lg th:nth-child(8),.stand.lg td:nth-child(8){display:none}.lg-top b{font-size:44px}}

/* responsive */
@media (max-width:1080px){
  nav.main{display:none}
  .menu-btn{display:flex}
  header.site.open nav.main{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--white);border-bottom:1px solid var(--line);padding:8px var(--pad) 20px;box-shadow:0 12px 24px rgba(14,28,54,.12)}
  header.site.open nav.main a{flex-direction:row;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
  header.site.open nav.main a.join{margin-top:14px;padding:16px 20px;border:0}
  .pickup{grid-template-columns:1fr}
  .pickup a{min-height:0}
  .game-grid,.club,.field{grid-template-columns:minmax(0,1fr)}
  .staff{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feed{grid-template-columns:repeat(3,minmax(0,1fr))}
  .feed .m-only{display:block}
  .logos.std{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:720px){
  .topbar .desc{display:none}
  .topbar{justify-content:flex-end}
  .hbar{height:64px}
  .brand img{width:42px;height:42px}
  .brand b{font-size:24px}
  .brand small{display:none}
  .hero{min-height:0}
  .hero>video{object-position:50% 50%}
  .hero::after{background:linear-gradient(0deg,rgba(8,14,28,.85) 0%,rgba(8,14,28,.35) 55%,rgba(8,14,28,.15) 100%)}
  .hero-in{flex-direction:column;align-items:stretch;padding-block:200px 24px}
  .hero .since{font-size:14px}
  .result{width:100%}
  .result .score b{font-size:34px}
  section.block{padding-block:72px 0}
  .gamesec,.join-band{margin-top:72px;padding-block:56px}
  .news li{flex-wrap:wrap;gap:8px 12px;padding:18px 0}
  .news time{width:auto;font-size:15px}
  .news a{width:100%;font-size:15px}
  .tabs{width:100%}
  .tabs button{flex:1;padding:0}
  .results li{grid-template-columns:1fr auto auto;grid-template-areas:"meta wl s" "o wl s";gap:4px 12px;padding:14px 0}
  .results .meta{gap:8px}
  .results .d{font-size:14px}
  .results .r{font-size:12px}
  .results .meta{grid-area:meta}
  .results .o{grid-area:o;font-size:15px}
  .results .wl{grid-area:wl;padding:2px 6px}
  .results .s{grid-area:s;font-size:24px}
  .staff{gap:12px}
  .member .cap{padding:10px 12px}
  .member .role{font-size:12px}
  .member .role small{display:block;margin:0;font-size:10px}
  .member .nm{font-size:14px}
  .member .lic{font-size:10px}
  .feed{gap:6px}
  .logos.top{grid-template-columns:1fr}
  .logos.top div{height:96px}
  .logos.std div{height:60px}
  .field{padding-block:72px}
  .facts dd{font-size:22px}
  .facts dd.ja{font-size:17px}
  footer.site{padding-block:48px 28px}
  .ft .fb b{font-size:32px}
  .ft .fb img{width:56px;height:56px}
}

/* ===== v2 polish ===== */
/* header */
header.site{transition:box-shadow .25s}
header.site.scrolled{box-shadow:0 8px 24px rgba(0,0,0,.14)}
nav.main a:not(.join) span:first-child{position:relative}
nav.main a:not(.join) span:first-child::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
nav.main a:not(.join):hover span:first-child::after{transform:scaleX(1)}

/* hero */
.hero{min-height:clamp(600px,88vh,920px);align-items:stretch}
.hero::after{background:linear-gradient(90deg,rgba(10,11,14,.88) 0%,rgba(10,11,14,.45) 55%,rgba(10,11,14,.15) 100%),linear-gradient(0deg,rgba(10,11,14,.85) 0%,rgba(10,11,14,0) 50%)}
.hero::before{content:"";position:absolute;z-index:1;right:-8%;top:0;bottom:0;width:38%;background:linear-gradient(100deg,transparent 0 30%,rgba(201,165,90,.16) 30% 31%,transparent 31% 46%,rgba(201,165,90,.10) 46% 46.6%,transparent 46.6%);pointer-events:none}
.hero-in{align-items:flex-end;padding-block:120px 96px}
.hero .since{display:flex;align-items:center;gap:14px;font-size:15px;letter-spacing:.32em;color:var(--red)}
.hero .since .bar{width:48px;height:2px;background:var(--red)}
.hero h1{display:flex;flex-direction:column;margin:18px 0 18px;font-size:clamp(72px,11vw,168px);line-height:.84;letter-spacing:-.01em;text-shadow:0 6px 30px rgba(0,0,0,.35)}
.hero h1 .l1{color:var(--red)}
.hero .catch{font-size:clamp(22px,2.4vw,34px);font-weight:900;letter-spacing:.1em;display:inline-block;padding-bottom:10px;border-bottom:3px solid var(--red)}
.hero .catch br.sp{display:none}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.btn-gold,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;font-weight:700;font-size:15px;letter-spacing:.04em;transition:transform .2s,background .2s,color .2s}
.btn-gold{background:var(--red);color:var(--on-accent)}
.btn-gold:hover{background:var(--accent-hover);color:var(--on-accent);transform:translateY(-2px)}
.btn-ghost{border:1px solid rgba(255,255,255,.7);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.rank-card{flex-shrink:0;width:min(340px,100%);display:flex;flex-direction:column;gap:10px;padding:22px 24px;background:rgba(18,19,23,.72);border:1px solid rgba(201,165,90,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;transition:border-color .2s,transform .2s}
.rank-card:hover{color:#fff;border-color:var(--red);transform:translateY(-3px)}
.rk-label{font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--red);font-weight:700}
.rk-main{display:flex;align-items:center;gap:18px}
.rk-main b{font-family:var(--en);font-size:76px;font-weight:800;font-style:italic;line-height:.9;color:var(--red)}
.rk-main b small{font-size:28px}
.rk-main>span{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#d6d6db;line-height:1.6}
.rk-main strong{font-size:20px;color:#fff}
.scroll-cue{position:absolute;z-index:2;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--en);font-size:11px;letter-spacing:.3em;color:rgba(255,255,255,.8)}
.scroll-cue i{display:block;width:1px;height:40px;background:linear-gradient(rgba(255,255,255,.8),rgba(255,255,255,0));animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .hero .since{animation:rise .7s .1s both}
  .hero h1 .l1{animation:rise .8s .2s both}
  .hero h1 .l2{animation:rise .8s .32s both}
  .hero .catch{animation:rise .8s .46s both}
  .hero-cta{animation:rise .8s .58s both}
  .rank-card{animation:rise .8s .7s both}
}

/* ticker */
.ticker{background:var(--red);color:var(--on-accent);overflow:hidden;white-space:nowrap;border-block:1px solid rgba(0,0,0,.15)}
.ticker .track{display:inline-flex;align-items:center;gap:28px;padding:14px 0;font-family:var(--en);font-weight:800;font-style:italic;font-size:20px;letter-spacing:.08em;animation:ticker 40s linear infinite}
.ticker .track span.ja{font-family:var(--ja);font-style:normal;font-weight:900;font-size:16px}
.ticker em{font-style:normal;font-size:14px}
@keyframes ticker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker .track{animation:none}}

/* pickup with photos */
.pickup .ph{position:relative;overflow:hidden;min-height:260px;justify-content:flex-end;background:#121317;color:#fff;isolation:isolate}
.pickup .ph::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center/cover;transition:transform .6s}
.pickup .ph::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,11,14,.92) 0%,rgba(10,11,14,.35) 60%,rgba(10,11,14,.15) 100%)}
.pickup .ph:hover{color:#fff;transform:none}
.pickup .ph:hover::before{transform:scale(1.06)}
.pickup .ph .eyebrow{position:absolute;top:24px;left:28px;padding:4px 10px;background:var(--red);color:var(--on-accent);font-size:12px}
.pickup .ph strong{font-size:26px}
.pickup .ph em{color:#e3e3e8}
.pickup .p3.ph .eyebrow{color:var(--on-accent)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats>div{display:flex;flex-direction:column;gap:6px;padding:32px 28px;border-left:1px solid var(--line)}
.stats>div:first-child{border-left:0}
.stats b{font-family:var(--en);font-size:clamp(48px,5vw,72px);font-weight:800;font-style:italic;line-height:.9;color:var(--navy)}
.stats b small{font-size:.4em;margin-left:4px;color:var(--accent-text)}
.stats span{font-size:13px;color:var(--muted);font-weight:500}

/* section heads */
.sh h2 small{display:inline-flex;align-items:center;gap:10px}
.sh h2 small::before{content:"";width:28px;height:2px;background:var(--red)}
.sh h2 .en{letter-spacing:-.01em}

/* league card bolder */
.lg-top b{font-size:72px}

/* club photo frame */
.club img{box-shadow:18px 18px 0 var(--red)}

/* staff */
.member{transition:transform .25s}
.member:hover{transform:translateY(-4px)}
.member .cap{border-bottom:3px solid var(--red)}

/* feed hover */
.feed img{transition:filter .3s,transform .3s}
.feed img:hover{filter:brightness(1.08);transform:scale(1.02)}

/* join band with photo */
.join-band{position:relative;isolation:isolate;background:#121317;color:#fff;padding-block:120px;overflow:hidden}
.join-band::before{content:"";position:absolute;inset:0;z-index:-2;background:url(../img/photo_home.jpg) center 20%/cover}
.join-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,11,14,.95) 0%,rgba(10,11,14,.78) 55%,rgba(10,11,14,.55) 100%)}
.join-band .big{color:var(--red);font-size:clamp(64px,7vw,110px)}
.join-band h2{color:#fff}
.join-band p{color:#dcdce2}
.join-band .c1{background:var(--red);color:var(--on-accent)}
.join-band .c1:hover{background:var(--accent-hover);color:var(--on-accent)}
.join-band .c2{border-color:#fff;color:#fff}
.join-band .c2:hover{background:#fff;color:var(--ink)}

/* reveal */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}

@media (max-width:1080px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats>div:nth-child(3){border-left:0}
  .stats>div:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:720px){
  .hero{min-height:0}
  .hero-in{padding-block:260px 64px;gap:24px;align-items:stretch}
  .hero-copy{min-width:0}
  .hero-cta a{padding:0 14px;font-size:14px;white-space:nowrap}
  .hero::before{display:none}
  .hero h1{font-size:clamp(56px,16.5vw,96px)}
  .hero .since{font-size:11px;letter-spacing:.22em;gap:10px}
  .hero .since .bar{width:28px}
  .hero .catch{font-size:24px}
  .hero .catch br.sp{display:inline}
  .hero-cta{margin-top:24px}
  .hero-cta a{flex:1 1 140px}
  .rank-card{width:100%}
  .rk-main b{font-size:60px}
  .scroll-cue{display:none}
  .ticker .track{font-size:16px;padding:11px 0}
  .pickup .ph{min-height:210px}
  .stats{margin-top:40px}
  .stats>div{padding:22px 16px}
  .club img{box-shadow:10px 10px 0 var(--red)}
  .join-band{padding-block:72px}
}


/* technology */
.tech{margin-top:120px;padding-block:104px;background:#121317;color:#fff;position:relative;overflow:hidden}
.tech::before{content:"DATA × VIDEO";position:absolute;right:-20px;top:30px;font-family:var(--en);font-weight:800;font-style:italic;font-size:clamp(80px,12vw,180px);line-height:1;color:rgba(201,165,90,.07);pointer-events:none;white-space:nowrap}
.tech .sh h2 .en,.tech .sh h2 small{color:#fff}
.tech-lead{position:relative;margin:0 0 44px;max-width:62ch;font-size:17px;line-height:2;color:#dcdce2}
.tech-lead strong{color:var(--red)}
.tech-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tcard{border:1px solid rgba(201,165,90,.35);background:rgba(255,255,255,.03);padding:32px;display:flex;flex-direction:column;gap:12px;transition:border-color .25s,transform .25s}
.tcard:hover{border-color:var(--red);transform:translateY(-3px)}
.ticon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--red);color:var(--on-accent)}
.tcard .tname{margin:6px 0 0;font-family:var(--en);font-size:30px;font-weight:800;font-style:italic;letter-spacing:.02em;color:var(--red);line-height:1}
.tcard h3{margin:0;font-size:22px;font-weight:900}
.tcard p{margin:0;color:#c7c8ce;line-height:1.9;font-size:15px}
.tpts{list-style:none;margin:6px 0 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700}
.tpts li{display:flex;gap:10px;align-items:baseline}
.tpts li::before{content:"";flex-shrink:0;width:8px;height:8px;background:var(--red);transform:rotate(45deg) translateY(-1px)}
.tflow{position:relative;list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:f}
.tflow li{counter-increment:f;display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-top:3px solid rgba(201,165,90,.35);position:relative}
.tflow li:last-child{border-top-color:var(--red)}
.tflow li::before{content:"0" counter(f);font-family:var(--en);font-weight:800;font-size:14px;letter-spacing:.1em;color:var(--red)}
.tflow b{font-size:20px}
.tflow span{font-size:12px;color:#a9aab2}
@media (max-width:1080px){.tech-grid{grid-template-columns:1fr}.tflow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.tech{margin-top:72px;padding-block:64px}.tcard{padding:22px}.tech-lead{font-size:15px}.tcard .tname{font-size:26px}.tech .sh h2 .en{font-size:clamp(40px,12vw,56px)}}

/* bug fixes */
main section[id],footer[id],#pickup{scroll-margin-top:96px}
@media (max-width:1080px){main section[id],footer[id],#pickup{scroll-margin-top:72px}}
@media (max-width:720px){.hero-in{padding-block:200px 56px}}

/* ===== v3: dark & bold ===== */
:root{
  --ink:#f3f3f5; --sub:#c9cad0; --muted:#9a9ba3; --line:#2b2c33; --soft:#17181c;
  --accent-text:#d8b86c; --page:#0d0e11; --panel:#15161a;
}
body{background:var(--page);color:var(--ink)}
a:hover{color:var(--red)}

/* header */
header.site{background:rgba(13,14,17,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(201,165,90,.25)}
.brand b{color:#fff}
.brand small{color:var(--muted)}
nav.main a{color:#fff}
nav.main a span:last-child{color:var(--muted)}
.menu-btn svg{stroke:#fff}
@media (max-width:1080px){header.site.open nav.main{background:#0d0e11;border-bottom:1px solid rgba(201,165,90,.3)}}

/* sporty slanted buttons */
.btn-gold,.btn-ghost,.join-band .ctas a,nav.main a.join,.follow,.maplink,.line-btn{clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);padding-inline:32px}
.btn-ghost{border:0;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.btn-ghost:hover,.join-band .c2:hover{background:#fff;color:#111}
.join-band .c2{border:0;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px #fff}

/* hero */
.hero{clip-path:polygon(0 0,100% 0,100% calc(100% - 56px),0 100%)}
.hero-in{padding-bottom:130px}
.hero .grain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1px);background-size:3px 3px;mix-blend-mode:overlay}
.hero .side-text{position:absolute;z-index:2;right:24px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.5em;color:rgba(255,255,255,.55);white-space:nowrap}
.hero h1 .l2{-webkit-text-stroke:0}
.hero h1{filter:drop-shadow(0 10px 30px rgba(0,0,0,.45))}

/* crossing tickers */
.tickers{position:relative;z-index:3;margin-top:-44px;height:130px;overflow:hidden}
.tickers .ticker{position:absolute;left:-4%;right:-4%;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.tickers .t1{top:20px;transform:rotate(-2.2deg);z-index:2}
.tickers .t2{top:52px;transform:rotate(1.6deg);background:#0d0e11;color:var(--red);border-block:1px solid rgba(201,165,90,.5)}
.tickers .t2 .track{animation-direction:reverse;animation-duration:50s;font-size:18px}
.tickers .t2 .track span{color:transparent;-webkit-text-stroke:1px var(--red)}
.tickers .t2 .track span.ja{color:var(--red);-webkit-text-stroke:0}

/* pickup */
.pickup{padding-block:40px 0}
.pickup .ph{clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}

/* stats */
.stats{margin-top:64px;border:0;background:linear-gradient(90deg,rgba(201,165,90,.14),rgba(201,165,90,0) 70%);border-left:4px solid var(--red)}
.stats>div{border-left:1px solid rgba(255,255,255,.08)}
.stats>div:nth-child(n+3){border-top-color:rgba(255,255,255,.08)}
.stats b{color:#fff;font-size:clamp(56px,6vw,96px)}
.stats b small{color:var(--red)}
.stats span{color:var(--sub)}

/* section heads & giant watermark words */
.sh h2 .en{color:#fff}
.sh h2 small{color:var(--sub)}
.more{color:var(--red)}
[data-bg]{position:relative;overflow:hidden}
@media (max-width:1300px){.hero .side-text{display:none}}
@media (max-width:720px){.pc-only{display:none}}
[data-bg]::before{content:attr(data-bg);position:absolute;z-index:0;right:-.04em;top:40px;font-family:var(--en);font-weight:800;font-style:italic;font-size:clamp(110px,17vw,260px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,165,90,.16);pointer-events:none;white-space:nowrap;overflow:hidden;max-width:100%}
[data-bg]>*{position:relative;z-index:1}

/* news */
.tabs button{background:transparent;color:#fff;border-color:#3a3b43}
.tabs button[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:var(--on-accent)}
.news{border-top-color:var(--red)}
.news li{border-bottom-color:var(--line);transition:background .2s,padding .2s}
.news li:hover{background:rgba(201,165,90,.06);padding-left:16px}
.tag.game{background:#2d2e35}
.btn-line{border-color:#fff;color:#fff}
.btn-line:hover{background:#fff;color:#111}

/* game (angled panel) */
.gamesec{background:var(--panel);clip-path:polygon(0 48px,100% 0,100% calc(100% - 48px),0 100%);padding-block:150px}
.next{background:#1d1e23;color:#fff;border:1px solid rgba(201,165,90,.35)}
.next .bd p{color:var(--sub)!important}
.next .date{color:#fff}

/* club */
.club .lead{color:#fff;font-size:clamp(24px,2.4vw,32px)}
.facts{border-top-color:var(--red)}
.facts dd{color:#fff}

/* tech */
.tech{background:transparent;margin-top:60px}

/* staff */
.member .cap{background:#1d1e23}
.member img{filter:grayscale(.2)}

/* join */
.join-band{clip-path:polygon(0 0,100% 48px,100% 100%,0 calc(100% - 48px));padding-block:160px}

/* sns / field */
.follow{background:var(--red);color:var(--on-accent)}
.follow:hover{background:var(--accent-hover);color:var(--on-accent)}
.maplink{background:var(--red);color:var(--on-accent)}
.maplink:hover{background:var(--accent-hover);color:var(--on-accent)}
.field address{color:var(--sub)}
.mapcard{border:1px solid rgba(201,165,90,.35)}

/* footer */
footer.site{background:#08090b}

@media (max-width:720px){
  .hero{clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),0 100%)}
  .hero-in{padding-bottom:90px}
  .hero .side-text{display:none}
  .tickers{margin-top:-30px;height:104px}
  .tickers .t1{top:14px}
  .tickers .t2{top:42px}
  .gamesec{clip-path:polygon(0 24px,100% 0,100% calc(100% - 24px),0 100%);padding-block:88px}
  .join-band{clip-path:polygon(0 0,100% 24px,100% 100%,0 calc(100% - 24px));padding-block:96px}
  [data-bg]::before{font-size:28vw;top:30px}
}
@media (prefers-reduced-motion:reduce){.news li:hover{padding-left:8px}}


@media (max-width:1300px) and (min-width:1081px){nav.main{gap:18px}nav.main a span:first-child{font-size:17px}.brand b{font-size:26px}}

/* keyboard focus: show outline on slanted buttons */
.btn-gold:focus-visible,.btn-ghost:focus-visible,.join-band .ctas a:focus-visible,nav.main a.join:focus-visible,.follow:focus-visible,.maplink:focus-visible,.line-btn:focus-visible{clip-path:none;outline:3px solid #fff;outline-offset:2px}

/* competition tabs */
.lg-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:6px}
.lg-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:10px 16px;background:transparent;border:1px solid #3a3b43;color:#fff;font-family:var(--ja);font-size:14px;font-weight:700;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.lg-tabs button small{font-size:12px;font-weight:500;color:var(--muted)}
.lg-tabs button[aria-selected="true"]{background:var(--red);border-color:var(--red);color:var(--on-accent)}
.lg-tabs button[aria-selected="true"] small{color:var(--on-accent)}
.lg-tabs button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.lg-panel{display:flex;flex-direction:column;gap:14px}
.lg-panel[hidden]{display:none}
.wl.d{background:#5a5b63;color:#fff}
.stand.lgc{min-width:520px}
@media (max-width:720px){.lg-tabs button{font-size:12px;padding:8px 10px}.stand.lgc{min-width:0}.stand.lgc th:nth-child(7),.stand.lgc td:nth-child(7),.stand.lgc th:nth-child(8),.stand.lgc td:nth-child(8){display:none}}
@media (max-width:720px){.stand.lg th:nth-child(6),.stand.lg td:nth-child(6){display:table-cell}}
.wl.d{font-size:12px}

/* LINE dialog */
.line-dlg{border:1px solid rgba(201,165,90,.5);background:#121317;color:#fff;padding:36px 32px 28px;width:min(400px,calc(100vw - 32px));text-align:center}
.line-dlg::backdrop{background:rgba(0,0,0,.72)}
.line-dlg .line-en{margin:0;font-family:var(--en);font-weight:800;letter-spacing:.24em;color:#06C755;font-size:14px}
.line-dlg h2{margin:6px 0 18px;font-size:20px}
.line-dlg img{display:block;margin:0 auto;background:#fff;padding:10px;width:220px;height:220px}
.line-dlg ol{text-align:left;margin:18px auto 10px;padding-left:1.4em;font-size:14px;line-height:1.9;color:#dcdce2;max-width:300px}
.line-dlg .line-sub{margin:0;font-size:12px;color:var(--muted);line-height:1.7}
.line-x{position:absolute;top:8px;right:10px;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:26px;cursor:pointer}
.line-x:focus-visible{outline:3px solid #fff}
.tlink{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid rgba(201,165,90,.6);color:var(--red);font-weight:700;font-size:14px;transition:background .2s,color .2s}
.tlink:hover{background:var(--red);color:var(--on-accent)}

/* contact form */
.contact{padding-block:120px 0}
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.c-lead{margin:0 0 28px;color:var(--sub);line-height:2}
.c-alt{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.c-alt li{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--line)}
.c-alt b{font-size:13px;color:var(--muted);font-weight:500}
.c-alt .tel{font-family:var(--en);font-size:28px;font-weight:800;letter-spacing:.04em;user-select:all}
.c-alt .line-btn{align-self:flex-start}
.c-form{background:#15161a;border:1px solid rgba(201,165,90,.35);padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:18px}
.c-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.c-type{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.c-type legend{font-size:14px;font-weight:700;margin-bottom:10px;padding:0}
.c-type label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid #3a3b43;cursor:pointer;font-size:14px}
.c-type label:has(input:checked){border-color:var(--red);background:rgba(201,165,90,.12)}
.c-type input{accent-color:var(--red)}
.c-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.c-row{display:flex;flex-direction:column;gap:6px}
.c-row label{font-size:14px;font-weight:700}
.req{display:inline-block;margin-left:6px;padding:1px 6px;font-size:11px;background:var(--red);color:var(--on-accent);vertical-align:1px}
.c-form input[type=text],.c-form input[type=tel],.c-form input[type=email],.c-form select,.c-form textarea{width:100%;min-height:48px;padding:10px 14px;background:#0d0e11;border:1px solid #3a3b43;color:#fff;font:inherit;font-size:16px;border-radius:0}
.c-form textarea{resize:vertical;min-height:130px}
.c-form input:focus,.c-form select:focus,.c-form textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 2px rgba(201,165,90,.35)}
.c-form [aria-invalid="true"]{border-color:#e0707a}
.c-note{margin:0;font-size:12px;color:var(--muted)}
.c-submit{align-self:stretch;min-height:56px;border:0;font-size:16px;font-family:var(--ja);cursor:pointer}
.c-submit[disabled]{opacity:.6;cursor:wait}
.c-status{margin:0;font-size:14px;line-height:1.8;min-height:1em}
.c-status.ok{color:#8fe3a8}
.c-status.err{color:#ff9aa1}
@media (max-width:1080px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:720px){.contact{padding-block:72px 0}.c-2{grid-template-columns:1fr}.c-alt .tel{font-size:24px}}

/* ===== multi-page ===== */
nav.main a.cur span:first-child{color:var(--red)}
nav.main a.cur span:first-child::after{transform:scaleX(1)}
nav.main a.join.cur span:first-child{color:var(--on-accent)}
/* sub page head */
.phead{position:relative;isolation:isolate;overflow:hidden;background:#0d0e11;color:#fff;padding-block:clamp(96px,11vw,150px) clamp(64px,7vw,96px);clip-path:polygon(0 0,100% 0,100% calc(100% - 48px),0 100%)}
.phead::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center 40%/cover;transform:scale(1.04)}
.phead::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,11,14,.94) 0%,rgba(10,11,14,.72) 55%,rgba(10,11,14,.45) 100%),linear-gradient(0deg,rgba(10,11,14,.9) 0%,rgba(10,11,14,0) 60%)}
.phead .crumb{display:flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.12em;color:var(--sub);margin:0 0 22px}
.phead .crumb a{color:var(--sub)} .phead .crumb a:hover{color:var(--red)}
.phead .crumb i{font-style:normal;color:var(--red)}
.phead h1{margin:0;display:flex;flex-direction:column;gap:14px}
.phead h1 .en{font-size:clamp(64px,10vw,150px);font-weight:800;font-style:italic;line-height:.85;letter-spacing:-.01em;color:#fff;filter:drop-shadow(0 10px 30px rgba(0,0,0,.45))}
.phead h1 small{display:inline-flex;align-items:center;gap:12px;font-size:clamp(16px,1.6vw,20px);font-weight:900;letter-spacing:.14em;color:var(--red)}
.phead h1 small::before{content:"";width:40px;height:2px;background:var(--red)}
.phead .plead{max-width:640px;margin:22px 0 0;color:#dcdce2;font-size:clamp(15px,1.3vw,17px)}
.phead .pnum{position:absolute;right:var(--pad);bottom:56px;font-family:var(--en);font-size:14px;font-weight:700;letter-spacing:.3em;color:rgba(255,255,255,.5)}
.sub main>section.block:first-of-type,.sub .first{padding-top:88px}
.sub .gamesec{margin-top:40px}
.sub .tech{margin-top:40px}
/* top: contents cards */
.cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cgrid a{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(240px,24vw,340px);padding:clamp(22px,2.6vw,36px);display:flex;flex-direction:column;justify-content:flex-end;gap:6px;color:#fff;background:#121317;clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%)}
.cgrid a::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center/cover;transition:transform .6s}
.cgrid a::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,11,14,.94) 0%,rgba(10,11,14,.45) 55%,rgba(10,11,14,.2) 100%);transition:background .3s}
.cgrid a:hover{color:#fff}
.cgrid a:hover::before{transform:scale(1.06)}
.cgrid .no{position:absolute;top:22px;left:clamp(22px,2.6vw,36px);font-family:var(--en);font-size:14px;font-weight:700;letter-spacing:.3em;color:var(--red)}
.cgrid b{font-family:var(--en);font-size:clamp(44px,4.6vw,68px);font-weight:800;font-style:italic;line-height:.9}
.cgrid span.ja{font-weight:900;letter-spacing:.08em}
.cgrid em{font-style:normal;font-size:14px;color:#d6d6db}
.cgrid .arw{position:absolute;right:clamp(22px,2.6vw,36px);bottom:clamp(22px,2.6vw,36px);width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);font-family:var(--en);font-size:22px;transition:background .25s,color .25s,border-color .25s}
.cgrid a:hover .arw{background:var(--red);border-color:var(--red);color:var(--on-accent)}
.cgrid a.wide{grid-column:span 2}
/* top: league summary */
.lsum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.lsum a{display:flex;align-items:center;gap:22px;padding:26px 28px;background:var(--panel);border:1px solid rgba(201,165,90,.3);color:#fff;transition:border-color .2s,transform .2s}
.lsum a:hover{border-color:var(--red);color:#fff;transform:translateY(-3px)}
.lsum b{font-family:var(--en);font-size:64px;font-weight:800;font-style:italic;line-height:.9;color:var(--red);flex-shrink:0}
.lsum b small{font-size:.4em}
.lsum span{display:flex;flex-direction:column;font-size:13px;color:var(--sub);line-height:1.6}
.lsum strong{font-size:17px;color:#fff}
/* info list */
.info{margin:0;border-top:2px solid var(--red)}
.info>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:22px 8px;border-bottom:1px solid var(--line)}
.info dt{font-weight:700;color:var(--red);letter-spacing:.06em}
.info dd{margin:0;color:#fff}
.info dd small{display:block;color:var(--sub);font-size:14px}
/* club */
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:8px}
.values article{padding:30px 28px;background:var(--panel);border-top:3px solid var(--red)}
.values .vn{font-family:var(--en);font-size:15px;font-weight:700;letter-spacing:.3em;color:var(--red)}
.values h3{margin:10px 0 10px;font-size:21px;font-weight:900;color:#fff}
.values p{margin:0;color:var(--sub);font-size:15px}
/* join steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:st}
.steps li{position:relative;padding:30px 24px 26px;background:var(--panel);border:1px solid rgba(201,165,90,.25);counter-increment:st}
.steps li::before{content:"STEP " counter(st,decimal-leading-zero);display:block;font-family:var(--en);font-size:14px;font-weight:700;letter-spacing:.24em;color:var(--red);margin-bottom:10px}
.steps b{display:block;font-size:19px;font-weight:900;color:#fff;margin-bottom:6px}
.steps span{font-size:14px;color:var(--sub)}
/* other pages */
.others{padding-block:120px 0}
.others .olist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.others a{position:relative;isolation:isolate;overflow:hidden;min-height:150px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:#121317}
.others a::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center/cover;transition:transform .5s;opacity:.55}
.others a::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,11,14,.9),rgba(10,11,14,.25))}
.others a:hover{color:#fff} .others a:hover::before{transform:scale(1.06);opacity:.75}
.others b{font-family:var(--en);font-size:32px;font-weight:800;font-style:italic;line-height:1}
.others span{font-size:13px;color:#d6d6db}
/* footer sitemap */
.fnav{grid-template-columns:repeat(3,auto)}
@media (max-width:720px){.fnav{grid-template-columns:repeat(2,auto)}}
.fnav a small{display:block;font-size:11px;color:var(--muted);font-family:var(--ja);letter-spacing:.06em}
@media (max-width:1080px){
  .cgrid{grid-template-columns:1fr}.cgrid a.wide{grid-column:auto}
  .values{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .others .olist{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .phead{clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),0 100%);padding-block:64px 56px}
  .phead .pnum{display:none}
  .phead h1 .en{font-size:clamp(52px,16vw,80px)}
  .sub main>section.block:first-of-type,.sub .first{padding-top:64px}
  .lsum{grid-template-columns:1fr}
  .lsum a{padding:20px}.lsum b{font-size:52px}
  .info>div{grid-template-columns:1fr;gap:4px;padding:16px 4px}
  .steps{grid-template-columns:1fr}
  .others{padding-block:80px 0}
  .others a{min-height:120px;padding:16px}.others b{font-size:clamp(20px,6.4vw,26px)}
  .cgrid a{min-height:220px}
  .cgrid .arw{width:44px;height:44px}
}

/* ===== fukuyama-like ===== */
/* hero slider */
.hs .slide{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s;background:#0d0e11;isolation:isolate}
.hs .slide.on{opacity:1;visibility:visible}
.hs .slide::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--img) center 30%/cover;transform:scale(1.06);transition:transform 7s linear}
.hs .slide.on::before{transform:scale(1)}
.hs .slide::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,11,14,.9) 0%,rgba(10,11,14,.55) 55%,rgba(10,11,14,.2) 100%),linear-gradient(0deg,rgba(10,11,14,.85) 0%,rgba(10,11,14,0) 55%)}
.hs .slide .wrap{width:100%;padding-block:0 130px}
.hs .slide .sl-label{margin:0;font-family:var(--en);font-size:15px;font-weight:700;letter-spacing:.3em;color:var(--red)}
.hs .slide .sl-h{margin:14px 0 14px;display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;font-size:clamp(44px,6.4vw,96px);font-weight:900;line-height:1.02;letter-spacing:.02em;color:#fff}
.hs .slide .sl-h .en{font-size:1.5em;font-weight:800;font-style:italic;line-height:.85;color:var(--red)}
.hs .slide .sl-h .en small{font-size:.4em}
.hs .slide .sl-t{margin:0 0 28px;max-width:560px;color:#dcdce2;font-size:clamp(15px,1.3vw,18px);font-weight:500;letter-spacing:.02em}
.sl-ctrl{position:absolute;z-index:5;right:72px;top:16px;display:flex;align-items:center;gap:10px}
.sl-ctrl>button{width:44px;height:44px;border:1px solid rgba(255,255,255,.5);background:rgba(8,14,28,.45);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.sl-ctrl>button:hover{background:var(--red);border-color:var(--red);color:var(--on-accent)}
.sl-dots{display:flex;gap:8px}
.sl-dots button{width:28px;height:44px;border:0;padding:0;background:transparent;cursor:pointer;position:relative}
.sl-dots button::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;background:rgba(255,255,255,.4)}
.sl-dots button[aria-current="true"]::before{background:var(--red)}
.sl-bar{position:absolute;z-index:5;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}
.sl-bar i{display:block;height:100%;width:0;background:var(--red)}
.sl-bar i.run{width:100%;transition:width 6s linear}
.hero.hs{clip-path:none}
/* match bar */
.matchbar{position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;margin-top:8px}
.mnext{display:flex;flex-direction:column;background:#15161a;border:1px solid rgba(201,165,90,.35);color:#fff;transition:border-color .2s}
.mnext:hover{color:#fff;border-color:var(--red)}
.mh{display:flex;align-items:baseline;gap:12px;padding:12px 22px;background:var(--red);color:var(--on-accent)}
.mh b{font-family:var(--en);font-size:20px;font-weight:800;letter-spacing:.2em}
.mh em{font-style:normal;font-size:12px;font-weight:700}
.mvs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:22px}
.mteam{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.mteam b{font-size:14px;font-weight:700;line-height:1.35}
.emb{width:64px;height:64px;object-fit:contain}
.emb.q{display:grid;place-items:center;color:var(--muted)}
.emb.q svg{width:46px;height:54px}
.mmid{display:flex;flex-direction:column;align-items:center;gap:4px}
.mmid i{font-family:var(--en);font-size:40px;font-weight:800;font-style:italic;color:var(--red);line-height:1}
.mmid small{font-family:var(--en);font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--sub)}
.mstand{display:grid;gap:16px}
.mstand a{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:18px 22px;background:#15161a;border:1px solid rgba(201,165,90,.2);color:#fff;transition:border-color .2s,transform .2s}
.mstand a:hover{color:#fff;border-color:var(--red);transform:translateY(-2px)}
.mstand .ml{font-size:13px;font-weight:700;color:var(--sub)}
.mstand b{font-family:var(--en);font-size:48px;font-weight:800;font-style:italic;line-height:.9;color:var(--red)}
.mstand b small{font-size:.4em}
.mstand .mr{font-size:12px;color:var(--sub);line-height:1.5;text-align:right}
/* match cards (game page) */
.mcards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mc{background:#1d1e23;border:1px solid rgba(255,255,255,.08);border-top:3px solid #3a3b43}
.mc.w{border-top-color:var(--red)}
.mc-top{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06)}
.mc-r{font-size:12px;font-weight:700;color:var(--sub)}
.mc-res{font-family:var(--en);font-size:13px;font-weight:800;letter-spacing:.16em;padding:2px 10px;background:#3a3b43;color:#fff}
.mc.w .mc-res{background:var(--red);color:var(--on-accent)}
.mc.n .mc-res{background:transparent;box-shadow:inset 0 0 0 1px #4a4c55;color:var(--sub)}
.mc-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:16px}
.mc-t{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.mc-t b{font-size:12px;font-weight:700;line-height:1.3}
.mc .emb{width:44px;height:44px}
.emb.ini{display:grid;place-items:center;border-radius:50%;background:#2d2e35;color:#fff;font-weight:900;font-size:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.mc .sc{display:flex;align-items:center;gap:8px;font-family:var(--en);font-weight:800;line-height:1}
.mc .sc b{font-size:40px;font-variant-numeric:tabular-nums}
.mc .sc i{font-style:normal;color:var(--muted);font-size:24px}
.mc.w .sc b:first-child{color:var(--red)}
.mc .sc.none{font-family:var(--ja);font-size:14px;color:var(--muted);font-weight:700}
.nvs{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.nvs i{font-family:var(--en);font-size:30px;font-weight:800;font-style:italic;color:var(--red)}
.nvs .emb{width:54px;height:54px}
/* partner */
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pgrid span{display:grid;place-items:center;height:110px;border:1px dashed rgba(201,165,90,.35);font-family:var(--en);font-size:16px;font-weight:700;letter-spacing:.2em;color:#4a4c55}
.pmsg{margin:20px 0 0;color:var(--sub);font-size:15px}
.pmsg a{color:var(--red);font-weight:700;margin-left:8px}
/* legal */
.legal{max-width:880px}
.legal h2{font-size:26px;margin:0 0 16px}
.legal h3{font-size:18px;margin:36px 0 8px;color:var(--red)}
.legal p{color:var(--sub);margin:0}
.legal a{color:var(--red);text-decoration:underline}
.c-note a{text-decoration:underline}
.fbot a+a{margin-left:12px}
@media (max-width:1080px){
  .matchbar{grid-template-columns:1fr}
  .mstand{grid-template-columns:1fr 1fr}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .hs .slide .wrap{padding-bottom:84px}
  .sl-ctrl{right:auto;left:16px;top:16px}
  .sl-ctrl>button{display:none}
  .hs .slide .sl-h{gap:12px}
  .mvs{padding:18px 12px;gap:8px}
  .emb{width:52px;height:52px}
  .mmid i{font-size:32px}
  .mstand{grid-template-columns:1fr}
  .mstand a{padding:14px 18px}.mstand b{font-size:40px}
  .mcards{grid-template-columns:1fr}
  .mc .sc b{font-size:34px}
  .pgrid span{height:80px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){.hs .slide,.hs .slide::before{transition:none}}
/* tablet: hero card below copy */
@media (min-width:721px) and (max-width:1180px){.hero-in{flex-direction:column;align-items:flex-start;padding-top:150px;gap:28px}.hero-copy{max-width:100%}.rank-card{width:min(380px,100%)}}

.news .tag.club{display:block;gap:0;grid-template-columns:none;align-items:initial;text-align:center;background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #9a9ba3}
@media (max-width:720px){.news time{width:84px;flex-shrink:0}}
