
:root{--edge:transparent;--bg:#eceef1;--card:#fff;--ink:#0d0f13;--ink2:#1b1f27;--fg:#14161a;--muted:#6b7280;--line:#e2e5ea;
--accent:#ff5a1f;--gold:#d4a017;--silver:#9aa3ad;--boy:#2563eb;--girl:#e11d74;--lose:#b7bcc4;
--en:"Barlow Condensed","Oswald",sans-serif;--num:"Oswald","Bahnschrift",sans-serif;
--jp:"Noto Sans JP","Hiragino Sans","Yu Gothic UI",sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#08090c;--card:#191d24;--fg:#eef0f3;--muted:#9aa1ab;--line:#2c323c;
--lose:#5b626c;--ink2:#262c38;--edge:#343b47}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--jp);line-height:1.6}
a{color:inherit}img{max-width:100%}
/* ヘッダー */
.gnav{background:var(--ink);color:#fff;position:sticky;top:0;z-index:10;border-bottom:3px solid var(--accent)}
.gnav .in{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo .mk{width:36px;height:36px;border-radius:50%;display:block}
.logo b{font:900 15px var(--jp);display:block;line-height:1.1}.logo small{font:700 italic 11px var(--en);
letter-spacing:.12em;opacity:.6;display:block}
.gnav .ig{margin-left:auto;display:block;width:36px;height:36px}.gnav .ig:hover{opacity:.85}
.gnav .ig svg{width:36px;height:36px;display:block}
/* ヒーロー */
.hero{position:relative;overflow:hidden;background:var(--ink2);color:#fff;
clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),0 100%);padding:28px 16px 56px}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 58%,var(--team,var(--accent)) 58.2%,
var(--team,var(--accent)) 66%,transparent 66.2%,transparent 70%,#ffffff14 70.2%,#ffffff14 73%,transparent 73.2%)}
.hero .ghost{position:absolute;right:-10px;bottom:-30px;font:800 italic 220px/1 var(--en);color:#fff;opacity:.06;
white-space:nowrap;pointer-events:none;letter-spacing:-.04em}
.hero .in{position:relative;max-width:1080px;margin:0 auto}
.eyebrow{font:700 italic 14px var(--en);letter-spacing:.18em;color:var(--accent);text-transform:uppercase}
.hero h1{font:900 clamp(28px,6vw,52px)/1.15 var(--jp);margin:6px 0 12px;letter-spacing:.01em}
.hero h1.one{white-space:nowrap;font-size:min(48px,calc((100vw - 40px) / 17.5));letter-spacing:0}  /* トップの見出しは1行（2026-10-03 ユーザー要望） */
.hero p{margin:0;color:#c9ced6;font-size:.92rem;max-width:640px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tag{font:700 12px var(--jp);padding:3px 10px;border-radius:4px;background:#ffffff1a;color:#fff}
.igs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.off-ig{font:700 13px var(--jp);color:#fff;text-decoration:none;border:1px solid #ffffff55;border-radius:999px;padding:5px 14px}
.off-ig b{font-weight:700;opacity:.85}.off-ig:hover{background:#ffffff1a}
.tag.m{background:var(--boy)}.tag.f{background:var(--girl)}
.club-head{display:flex;align-items:center;gap:16px}
.club-head .badge{box-shadow:0 0 0 4px #ffffff22}
/* 数字の帯 */
.stats{max-width:1080px;margin:-34px auto 0;padding:0 16px;position:relative;z-index:2;
display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.stat{background:var(--card);border:1px solid var(--edge);border-radius:10px;padding:14px 12px 12px;border-bottom:4px solid var(--team,var(--accent));
box-shadow:0 1px 0 var(--line)}
.stat span{display:block;font:700 12px var(--jp);color:var(--muted)}
.stat b{font:600 38px/1.1 var(--num);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.stat b small{font:700 14px var(--jp);margin-left:3px;color:var(--muted)}
main{max-width:1080px;margin:0 auto;padding:8px 16px 56px}
/* 見出し */
.sec{margin-top:36px}
.sec h2{margin:0 0 14px;padding-bottom:8px;display:flex;align-items:baseline;gap:12px;
background:linear-gradient(var(--team,var(--accent)),var(--team,var(--accent))) 0 100%/56px 3px no-repeat,
linear-gradient(var(--line),var(--line)) 0 100%/100% 1px no-repeat}
.sec h2 .en{font:800 italic 30px/1 var(--en);letter-spacing:.02em;text-transform:uppercase}
.sec h2 .jp{font:700 13px var(--jp);color:var(--muted)}
/* 試合一覧 */
.games{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--edge);border-radius:10px;overflow:hidden}
.game{display:grid;grid-template-columns:64px 74px 1fr auto;align-items:center;gap:6px 12px;
padding:12px 14px;border-bottom:1px solid var(--line)}
.game:last-child{border-bottom:0}
.when{font:600 18px var(--num);font-variant-numeric:tabular-nums}.when small{display:block;font:400 10px var(--jp);color:var(--muted)}
.grp{font:600 13px var(--num);color:var(--muted);letter-spacing:.04em}
.k{font:700 11px var(--jp);padding:3px 0;border-radius:3px;color:#fff;text-align:center;width:66px}
.k-p{background:var(--accent)}.k-t{background:#a07818}.k-l{background:#3b4656}
.opp{display:flex;align-items:center;gap:10px;min-width:0}.opp .nm{font-weight:700;min-width:0}
.opp .nm small{display:block;font:400 11px var(--jp);color:var(--muted)}
.sub{font:700 10px var(--jp);border:1px solid var(--line);border-radius:3px;padding:0 5px;color:var(--muted)}
.score{display:flex;align-items:center;gap:6px;font:600 26px/1 var(--num);font-variant-numeric:tabular-nums}
.score i{font-style:normal;color:var(--muted);font-size:18px}
.score.W .op,.score.L .me{color:var(--lose)}
.wl{font:700 11px/1 var(--num);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;margin-left:4px}
.W .wl{background:var(--accent)}.L .wl{background:var(--lose)}
.res{font:700 14px var(--jp);text-align:right}.res.medal{color:var(--gold)}.dim{color:var(--muted);font-weight:400;font-size:12px}
.trophy{font-size:22px;filter:grayscale(1);opacity:.5}.trophy.gold{filter:none;opacity:1}
.src{grid-column:3/-1;font-size:10.5px;color:var(--muted);margin-top:-4px}
/* 公式戦 */
.season{display:grid;grid-template-columns:88px 1fr;background:var(--card);border:1px solid var(--edge);border-radius:10px;margin-bottom:8px;overflow:hidden}
.season .yr{background:var(--ink2);color:#fff;font:700 italic 30px/1 var(--en);display:grid;place-content:center;text-align:center}
.season .yr small{font:700 10px var(--jp);opacity:.6;margin-top:4px}
.season ul{list-style:none;margin:0;padding:6px 14px}
.season li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.season li:last-child{border:0}.season .ev{font:700 14px var(--jp)}
.season .ev small,.season .res small{display:block;font:400 11px var(--jp);color:var(--muted)}
.season .res{font:600 22px/1.1 var(--num);text-align:right;white-space:nowrap}.season .res.medal{color:var(--gold)}
.season .res.long{font:700 14px/1.4 var(--jp);white-space:nowrap}.season li{align-items:center}
.season{min-width:0}.season ul{min-width:0}
.empty{background:var(--card);border:1px solid var(--edge);border-radius:10px;padding:16px;color:var(--muted);font-size:.88rem;margin:0}
/* 一覧 */
.tools{background:var(--card);border:1px solid var(--edge);border-radius:10px;padding:14px;display:grid;gap:12px}
input[type=search]{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--bg);
color:var(--fg);font:500 16px var(--jp)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.row2{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
#reg{flex:1;min-width:0;max-width:260px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg);
color:var(--fg);font:700 14px var(--jp);cursor:pointer}
.seg button{border:1px solid var(--line);background:transparent;color:var(--fg);border-radius:999px;padding:6px 14px;
font:700 13px var(--jp);cursor:pointer}
.seg button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
@media (prefers-color-scheme:dark){.seg button[aria-pressed=true]{background:#fff;color:var(--ink)}}
.seg.cat button[aria-pressed=true][data-v="男子"]{background:var(--boy);border-color:var(--boy);color:#fff}
.seg.cat button[aria-pressed=true][data-v="女子"]{background:var(--girl);border-color:var(--girl);color:#fff}
.count{font:600 13px var(--jp);color:var(--muted);margin:16px 2px 10px}
.count b{font:600 22px var(--num);color:var(--fg);margin-right:4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;background:var(--card);
border-radius:10px;padding:14px;text-decoration:none;border:1px solid var(--edge);border-bottom:4px solid var(--team);overflow:hidden;
transition:transform .12s}
.card:hover{transform:translateY(-2px)}.card[hidden]{display:none}
.card .ghost{position:absolute;right:-4px;bottom:-14px;font:800 italic 72px/1 var(--en);opacity:.06;pointer-events:none}
.card .nm{font:900 15px/1.3 var(--jp)}
.sx{display:inline-block;font:700 11px/1 var(--jp);color:#fff;border-radius:4px;padding:3px 6px;margin-right:6px;
vertical-align:1px}.sx.m{background:var(--boy)}.sx.f{background:var(--girl)}.card .area{font:700 11px var(--jp);color:var(--muted)}
.card .body{min-width:0;display:grid;gap:4px}
.card .mini{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font:700 11px var(--jp);color:var(--muted)}
.card .mini>span{white-space:nowrap}.card .mini b{font:600 17px var(--num);color:var(--fg);margin-right:2px}
.card .mini .area{color:var(--muted)}
.card .medal{color:var(--gold)}
.badge{display:inline-grid;place-items:center;width:var(--s);height:var(--s);border-radius:50%;background:var(--c);
color:var(--bi,#fff);font:800 calc(var(--s)*.34)/1 var(--jp);flex:none;letter-spacing:-.03em}
.badge.two{box-shadow:inset 0 0 0 calc(var(--s)*.075) var(--c2)}
/* 下部 */
.sponsor{margin-top:28px;border:1px dashed var(--muted);border-radius:10px;padding:18px;text-align:center;color:var(--muted);font-size:.85rem}
.sponsor b{display:block;font:800 italic 13px var(--en);letter-spacing:.2em;margin-bottom:4px}
.cta{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;background:var(--ink);color:#fff;
border-radius:10px;padding:16px;text-decoration:none;font:900 15px var(--jp);border-left:6px solid var(--accent)}
.note{font-size:.78rem;color:var(--muted);margin-top:24px;line-height:1.8}
footer{background:var(--ink);color:#9aa1ab;font-size:.75rem;text-align:center;padding:28px 16px}
footer b{display:block;font:800 italic 18px var(--en);letter-spacing:.12em;color:#fff;margin-bottom:4px}
/* 共有・クラブの方へ・数字・地域/大会の一覧（2026-10-03） */
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;font:700 13px var(--jp);color:var(--muted)}
.share a,.share button{font:700 13px var(--jp);border-radius:999px;padding:7px 16px;text-decoration:none;cursor:pointer;border:0}
.share .line{background:#06c755;color:#fff}.share .copy{background:var(--card);color:var(--fg);border:1px solid var(--line)}
.forclub{margin-top:24px;background:var(--card);border:1px solid var(--edge);border-left:6px solid var(--team,var(--accent));
border-radius:10px;padding:16px 18px;font-size:.9rem;line-height:1.8}
.forclub b{display:block;font:900 15px var(--jp);margin-bottom:4px}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 22px;margin-top:12px}
.facts div{font:700 11px/1.3 var(--jp);color:#c9cdd6;white-space:nowrap}
.facts b{display:block;font:600 24px/1.1 var(--num);color:#fff}
.links{display:flex;flex-wrap:wrap;gap:8px}
.links.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:40px}
.links.scroll::-webkit-scrollbar{display:none}
.links.scroll a{flex:none;white-space:nowrap}
.links a{background:var(--card);border:1px solid var(--edge);border-radius:8px;padding:8px 14px;text-decoration:none;
font:700 14px var(--jp)}.links a small{color:var(--muted);font-weight:500;margin-left:6px}
.links h3{width:100%;margin:14px 0 2px;font:900 14px var(--jp);color:var(--muted)}
.tabs2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.tour{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--edge);border-radius:10px;overflow:hidden}
.tour li{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line)}
.tour li:last-child{border:0}.tour .r{min-width:7.5em;font:700 13px var(--jp);color:var(--muted)}
.tour .r.top{color:var(--gold)}.tour a{text-decoration:none;font-weight:700}
.tour .mask{color:var(--muted)}.gnav-sub{font-size:.85rem;color:#c9cdd6}
footer a{color:#c9cdd6}footer small{display:block;margin-top:8px;opacity:.75}
@media (max-width:640px){
.stats{grid-template-columns:repeat(2,1fr)}.stat b{font-size:32px}
.game{grid-template-columns:52px 1fr auto;padding:12px}.game .k{grid-column:2;grid-row:1;width:auto;justify-self:start;padding:2px 8px}
.game .when{grid-row:1/3}.game .opp{grid-column:2/-1;grid-row:2}.game .score,.game .res{grid-column:3;grid-row:1}
.src{grid-column:2/-1;margin-top:0}.score{font-size:22px}
.hero .ghost{font-size:150px}.season{grid-template-columns:70px 1fr}.season .yr{font-size:24px}}
