/* ===== 追加スタイル（複数ページ化） ===== */
:root{--red:#E3302B;--gold2:#D4AF37;--ink-dark:#0b0b0d;--card-dark:#16161a}
header .nav-links{display:flex;gap:22px;align-items:center}
header .nav-links a{font-size:.84rem;font-weight:700;text-decoration:none;color:var(--ink);letter-spacing:.02em}
header .nav-links a:hover,header .nav-links a[aria-current]{color:var(--blue)}
header .nav-links a[aria-current]{border-bottom:2px solid var(--gold);padding-bottom:2px}
@media(max-width:980px){header .nav-links{display:none}}

/* TOP: メニューボタン */
.menu{background:var(--bg2);padding:84px 0 92px}
.menu-lead{color:var(--muted);margin:-18px 0 34px}
.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.mbtn{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:190px;padding:28px 28px 26px;border-radius:16px;
  background:#fff;border:1px solid var(--hair);text-decoration:none;color:var(--ink);overflow:hidden;
  box-shadow:0 14px 36px rgba(24,0,172,.08);transition:transform .2s ease,box-shadow .2s ease}
.mbtn:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(24,0,172,.18)}
.mbtn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.mbtn .no{position:absolute;right:18px;top:6px;font-family:var(--f-head);font-style:italic;font-weight:900;font-size:5.4rem;line-height:1;color:var(--blue);opacity:.08}
.mbtn .en{font-family:var(--f-eye);font-weight:700;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.mbtn h3{font-family:var(--f-head);font-weight:800;font-size:1.55rem;line-height:1.3;margin:.2em 0 .3em;color:var(--blue)}
.mbtn p{font-size:.92rem;color:var(--muted);line-height:1.7;padding-right:2.4em}
.mbtn .go{position:absolute;right:22px;bottom:22px;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;transition:transform .2s}
.mbtn:hover .go{transform:translateX(4px)}
.mbtn.result{grid-column:1/-1;min-height:170px;background:linear-gradient(110deg,#0b0b0d 0%,#1b0f10 55%,#7a1714 100%);border-color:#000;color:#fff}
.mbtn.result::after{content:"";position:absolute;right:-40px;top:-20px;width:220px;height:140%;background:var(--red);transform:skewX(-18deg);opacity:.9;z-index:0}
.mbtn.result > *:not(.go){position:relative;z-index:1}
.mbtn.result .en{color:var(--gold2)}
.mbtn.result h3{color:#fff;font-size:1.7rem}
.mbtn.result p{color:rgba(255,255,255,.8)}
.mbtn.result .go{background:var(--gold2);color:#111;z-index:2}
.mbtn.result .new{display:inline-block;align-self:flex-start;background:var(--gold2);color:#111;font-family:var(--f-eye);font-weight:700;font-size:.68rem;letter-spacing:.16em;padding:.3em .8em;border-radius:3px;margin-bottom:10px}
@media(max-width:700px){.menu-grid{grid-template-columns:1fr}.mbtn{min-height:160px}.mbtn.result::after{width:120px}}

/* サブページ共通 */
.phero{background:linear-gradient(155deg,var(--blue-soft),var(--blue) 55%,var(--blue-deep));color:#fff;padding:64px 0 70px;position:relative;overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 0%,rgba(225,29,60,.35),transparent 45%)}
.phero .wrap{position:relative}
.crumb{display:inline-block;color:rgba(255,255,255,.8);font-size:.85rem;text-decoration:none;margin-bottom:22px;font-weight:700}
.crumb:hover{color:#fff}
.phero h1{font-family:var(--f-head);font-weight:800;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.2;margin:.15em 0 .4em}
.phero .lead{max-width:36em;color:rgba(255,255,255,.92);line-height:1.9}
.phero .eyebrow{color:var(--gold-bright)}
.prose{max-width:760px}
.prose p{margin-bottom:1.1em;color:#34344b}
.panel{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:34px;box-shadow:0 14px 40px rgba(24,0,172,.08)}
.panel h3{font-family:var(--f-head);font-weight:800;font-size:1.35rem;margin-bottom:.5em;color:var(--blue)}
.panel p{color:#34344b}
.alt{background:var(--bg2)}
.pill{display:inline-block;font-family:var(--f-eye);font-weight:700;font-size:.7rem;letter-spacing:.14em;padding:.35em .9em;border-radius:99px;background:#e5e7f3;color:var(--muted)}
.pill.done{background:#e8e8ec;color:#555}
.pill.tbd{background:var(--gold-tint);color:var(--gold-deep)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.btn-line.ghost{background:#fff;color:var(--blue);box-shadow:inset 0 0 0 2px var(--blue)}
.btn-line.ghost:hover{background:var(--bg2)}
.btn-red{display:inline-flex;align-items:center;gap:.5em;background:var(--red);color:#fff;font-weight:700;padding:.85em 1.7em;border-radius:6px;text-decoration:none;box-shadow:0 8px 22px rgba(227,48,43,.3);transition:transform .15s}
.btn-red:hover{transform:translateY(-2px)}
.event-list{display:grid;gap:16px}
.event{display:flex;gap:22px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--hair);border-radius:14px;padding:22px 26px}
.event .d{font-family:var(--f-mono);font-weight:700;font-size:1.6rem;color:var(--blue);min-width:5.6em}
.event .d small{display:block;font-family:var(--f-eye);font-size:.68rem;letter-spacing:.16em;color:var(--muted)}
.event .t{flex:1;min-width:200px}
.event .t b{font-family:var(--f-head);font-size:1.1rem}
.event .t span{display:block;color:var(--muted);font-size:.9rem}
.poster-list{display:grid;gap:18px;max-width:760px}
.poster-list img{width:100%;border-radius:12px;border:1px solid var(--hair);box-shadow:0 10px 28px rgba(0,0,0,.1)}
details.guide{background:#fff;border:1px solid var(--hair);border-radius:12px;margin-bottom:14px}
details.guide summary{cursor:pointer;padding:20px 24px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
details.guide summary::-webkit-details-marker{display:none}
details.guide summary::after{content:"+";font-family:var(--f-mono);color:var(--gold-deep);font-size:1.4rem}
details.guide[open] summary::after{content:"−"}
details.guide .poster-list{padding:0 24px 24px}

/* 結果ページ（ダーク） */
body.dark{background:var(--ink-dark);color:#f2f2f2}
body.dark header{background:rgba(11,11,13,.92);border-color:#222}
body.dark header .nav-links a{color:#ddd}
body.dark .mark .en{color:#fff}
.rhero{position:relative;background:var(--ink-dark);padding:56px 0 0;overflow:hidden}
.rhero .crumb{color:#bbb}
.rhero h1{font-weight:900;font-family:"Space Grotesk","Zen Kaku Gothic New",sans-serif;font-size:clamp(2.3rem,7vw,4.4rem);line-height:1.05;letter-spacing:-.01em;color:#fff;text-shadow:3px 3px 0 var(--red)}
.rhero .by{font-family:var(--f-mono);letter-spacing:.2em;color:#cfcfcf;font-size:.85rem;margin-top:10px}
.rband{margin-top:34px;background:var(--red);transform:skewY(-1.6deg);transform-origin:left;padding:20px 0}
.rband .in{transform:skewY(1.6deg);display:flex;justify-content:flex-end;align-items:center;gap:18px;flex-wrap:wrap}
.rband .date{background:var(--gold2);color:#111;font-style:italic;font-weight:900;font-size:1.6rem;padding:.1em .9em;transform:skewX(-10deg)}
.rband .cat{font-weight:900;font-size:1.05rem;color:#fff}
.rtabs{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 8px}
.rtabs button{font:inherit;font-weight:700;font-size:.9rem;color:#ddd;background:var(--card-dark);border:1px solid #2a2a30;border-radius:99px;padding:.65em 1.2em;cursor:pointer;transition:all .15s}
.rtabs button:hover{border-color:var(--gold2);color:#fff}
.rtabs button[aria-selected="true"]{background:var(--gold2);color:#111;border-color:var(--gold2)}
.rtabs button:focus-visible{outline:3px solid var(--gold2);outline-offset:2px}
.rank{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;margin:22px 0 16px}
.rank .r{background:var(--card-dark);border-left:4px solid var(--red);padding:16px 18px;display:flex;align-items:baseline;gap:12px;justify-content:space-between;flex-wrap:wrap}
.rank .no{color:var(--gold2);font-weight:900;font-size:1.6rem;font-style:italic}
.rank .nm{font-weight:900;font-size:1.1rem;letter-spacing:.04em;flex:1}
.rank .pt{color:var(--gold2);font-weight:900;font-size:1.8rem}
.rank .pt small{font-size:.7rem;margin-left:2px}
.rank .r:first-child{background:linear-gradient(100deg,#2a2209,var(--card-dark));}
.dl{display:inline-block;color:var(--gold2);font-size:.85rem;font-weight:700;text-decoration:none;margin:4px 0 18px;border-bottom:1px solid var(--gold2)}
.mt{background:var(--card-dark);border-left:4px solid var(--red);margin-bottom:16px;padding:22px 26px 18px}
.mt-h{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid #2c2c33;margin-bottom:12px}
.mt-h .tn{font-weight:900;font-size:1.25rem;letter-spacing:.03em;color:#8a8a92}
.mt-h .tn:last-child{text-align:right}
.mt-h .tn.w{color:#fff}
.mt-h .sc{font-weight:900;font-size:1.9rem;color:#8a8a92;text-align:center;white-space:nowrap}
.mt-h .sc b{color:var(--gold2)}
.mt-h .rd{display:inline-block;margin-left:10px;background:var(--gold2);color:#111;font-size:.68rem;padding:.2em .7em;border-radius:99px;vertical-align:middle}
.gm{display:grid;grid-template-columns:44px 1fr 98px 1fr;align-items:center;gap:10px;padding:5px 0;font-size:.95rem}
.gm .k{background:var(--gold2);color:#111;font-weight:900;font-size:.72rem;border-radius:99px;text-align:center;padding:.25em 0}
.gm .l{text-align:right;color:#777}
.gm .r{color:#777}
.gm .l.w,.gm .r.w{color:#fff;font-weight:700}
.gm .s{text-align:center;font-weight:900;font-size:1.2rem;white-space:nowrap;color:#777}
.gm .s .n.w{color:var(--gold2)}
.gm .s sup{font-size:.55em}
.gm .s .dash{color:#555;margin:0 .2em}
.rfoot{text-align:center;color:#999;padding:40px 0 70px;font-size:.85rem}
.rfoot b{color:var(--gold2)}
body.dark footer{background:#000}
@media(max-width:700px){
  .rank{grid-auto-flow:row}
  .gm{grid-template-columns:36px 1fr 78px 1fr;gap:6px;font-size:.78rem}
  .gm .s{font-size:1rem}
  .mt{padding:18px 14px 12px}
  .mt-h .tn{font-size:.95rem}.mt-h .sc{font-size:1.4rem}
  .rband .in{justify-content:flex-start}
}

/* NEW TOPICS（お知らせ） */
.topics{background:#fff;padding:64px 0 24px}
.topic-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.topic-list li{border-bottom:1px solid var(--hair)}
.topic-list a{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:18px 6px;color:var(--ink);text-decoration:none}
.topic-list a:hover{background:var(--gold-tint)}
.topic-list time{font-family:var(--f-mono);font-weight:700;color:var(--blue);min-width:6.2em}
.topic-list .tag{font-family:var(--f-eye);font-weight:700;font-size:.68rem;letter-spacing:.12em;padding:.3em .8em;border-radius:99px;background:var(--gold);color:#fff}
.topic-list .tag.alt{background:var(--blue)}
.topic-list .tt{flex:1;min-width:220px;font-weight:700}
.topic-list .go{color:var(--blue);font-weight:700}
