/* バズ走 共通スタイル */
* { margin:0; padding:0; box-sizing:border-box; }
body { background:#f4f2ec; color:#222;
  font-family:'Hiragino Maru Gothic ProN','Hiragino Sans','Yu Gothic',system-ui,sans-serif;
  line-height:1.9; }
.wrap { max-width:760px; margin:0 auto; padding:0 16px 70px; }

/* ヘッダーナビ */
.siteHeader { background:#fff; border-bottom:3px solid #111; margin-bottom:26px; }
.siteHeader .inner { max-width:760px; margin:0 auto; padding:12px 16px; }
.siteHeader .brand { font-size:22px; font-weight:900; color:#111; text-decoration:none; letter-spacing:.02em; }
.siteHeader .brand span { color:#d32f2f; }
.siteNav { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:8px; }
.siteNav a { font-size:13px; font-weight:700; color:#555; text-decoration:none;
  border-bottom:2px solid transparent; padding-bottom:2px; }
.siteNav a:hover { color:#d32f2f; border-bottom-color:#d32f2f; }
.siteNav a.on { color:#d32f2f; border-bottom-color:#d32f2f; }

h1 { font-size:26px; font-weight:900; border-bottom:4px solid #111; padding-bottom:10px; margin-bottom:10px; }
.lead { color:#555; font-size:15px; margin-bottom:24px; }
h2 { font-size:20px; font-weight:900; margin:34px 0 10px; padding-left:12px; border-left:6px solid #d32f2f; }
h3 { font-size:16px; font-weight:900; margin:22px 0 6px; }
p, li, td, th { font-size:15px; }
ul, ol { padding-left:24px; margin:8px 0; }
li { margin:3px 0; }
a { color:#d32f2f; font-weight:700; }
strong { font-weight:900; }
.red { color:#d32f2f; font-weight:900; }
.date { color:#888; font-size:12px; font-weight:700; }

/* 表 */
table { border-collapse:collapse; width:100%; margin:14px 0; background:#fff; }
th, td { border:1px solid #ccc; padding:7px 10px; text-align:left; vertical-align:top; }
th { background:#111; color:#fff; font-size:13px; font-weight:900; }
td.dist { white-space:nowrap; font-weight:900; color:#d32f2f; width:88px; }
td.rank { font-weight:900; white-space:nowrap; }
tr:nth-child(even) td { background:#faf9f5; }
.tableWrap { overflow-x:auto; }

/* カード・囲み（.card はゲーム側のリザルトカードと衝突するため使わない） */
.infoCard { background:#fff; border:2px solid #111; border-radius:12px; padding:18px 20px; margin:18px 0; }
.note { background:#fff8e1; border-left:5px solid #f0b400; padding:12px 16px; margin:16px 0; font-size:14px; }
.badge { display:inline-block; background:#111; color:#fff; font-weight:900; padding:2px 10px; font-size:13px; }

/* 目次 */
.toc { background:#fff; border:2px dashed #bbb; border-radius:10px; padding:14px 18px; margin:20px 0; }
.toc strong { display:block; margin-bottom:6px; font-size:14px; }
.toc ul { margin:0; padding-left:20px; }
.toc li { font-size:14px; }

/* CTA */
.play { display:inline-block; margin-top:26px; background:#d32f2f; color:#fff; text-decoration:none;
  font-weight:900; padding:14px 34px; border-radius:30px; font-size:17px; }
.play:hover { background:#b71c1c; }

/* フッター */
.siteFooter { border-top:2px solid #ddd; margin-top:46px; padding-top:18px; font-size:13px; color:#888; }
.siteFooter a { color:#777; font-weight:700; }
.siteFooter nav { display:flex; flex-wrap:wrap; gap:6px 14px; margin-bottom:10px; }

/* 広告枠（記事コンテンツ内のみ） */
.adUnit { margin:26px 0; text-align:center; min-height:60px; }
.adLabel { font-size:11px; color:#aaa; font-weight:700; letter-spacing:.1em; margin-bottom:4px; }
