@charset "utf-8";
/* ギャンブルドア 共通スタイル（ライト / SANGO風）
   2026-09-03 全ページのインラインCSSをここへ集約 */

:root{
  --ink:#3b3b44; --sub:#7c828e; --line:#e6e9f0;
  --bg:#f4f6fa; --panel:#ffffff; --panel2:#f6f8fc;
  --accent:#2b82d4; --accent-d:#1f6ab3; --accent-bg:#eaf3fc;
  --purple:#6f5ac0;
  --warn-bg:#fff8e9; --warn-line:#f0dcb0; --warn-ink:#8a6717;
  --danger-bg:#fdf1f1; --danger-line:#f0cfcf; --danger-ink:#b6403a;
  --cat-warn:#d8453f; --cat-col:#6f5ac0;
  --sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,"Noto Sans JP",sans-serif;
  --sh:0 2px 8px rgba(31,45,61,.07);
  --sh-h:0 6px 18px rgba(31,45,61,.12);
  --max:1080px;
}
body.post{--max:860px}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.9;font-size:16px;background:var(--bg)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}

.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px;max-width:var(--max);margin:0 auto;padding:0 20px}
.logo{display:flex;align-items:center;text-decoration:none;flex:none}
.logo:hover{text-decoration:none;opacity:.85}
.logo img{display:block;height:44px;width:auto}
nav.top a{color:var(--sub);font-size:13.5px;margin-left:20px;letter-spacing:.03em;font-weight:600}
nav.top a:hover{color:var(--accent);text-decoration:none}
@media(max-width:640px){nav.top{display:none}.logo img{height:34px}.bar{height:56px}}

.agebar{background:var(--warn-bg);border-bottom:1px solid var(--warn-line);color:var(--warn-ink);font-size:12px}
.agebar .wrap{padding:7px 20px}

/* ---------- article shell ---------- */
article.wrap{background:var(--panel);max-width:860px;margin:26px auto 8px;padding:40px 38px 30px;
  border-radius:16px;box-shadow:var(--sh)}
@media(max-width:640px){article.wrap{margin:12px auto 6px;padding:24px 18px 20px;border-radius:12px}}
.crumb{font-size:12px;color:var(--sub);margin-bottom:14px}
h1{font-weight:800;font-size:27px;line-height:1.55;margin:0 0 16px;letter-spacing:.01em;color:#2f2f38}
@media(max-width:640px){h1{font-size:22px}}
.meta{font-size:12.5px;color:var(--sub);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px;line-height:1.8}
.meta b{color:#4a4a55}
.lead{font-size:16.5px;color:#4a4a55;margin:0 0 8px;line-height:1.95}
p{margin:12px 0}

/* SANGO風 見出し */
h2{font-weight:800;font-size:20px;color:#fff;background:var(--accent);
  margin:48px 0 10px;padding:13px 18px;border-radius:10px;line-height:1.6;letter-spacing:.01em}
@media(max-width:640px){h2{font-size:18px;padding:11px 15px;margin-top:40px}}
h3{font-weight:800;font-size:18px;color:#33333c;margin:32px 0 6px;padding-left:13px;border-left:5px solid var(--accent);line-height:1.6}
.h2lead{color:var(--sub);font-size:14.5px;margin:10px 0 4px}
h2[id],h3[id],[id]{scroll-margin-top:84px}

/* ---------- 目次（SANGO風） ---------- */
.toc{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:22px 26px 20px;margin:26px 0 8px}
.toc strong{display:block;text-align:center;font-size:13px;color:var(--accent);letter-spacing:.16em;font-weight:800;
  padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.toc ol{margin:12px 0 0;padding-left:0;list-style:none;counter-reset:toc}
.toc li{font-size:14.5px;margin:9px 0;padding-left:34px;position:relative;counter-increment:toc}
.toc li::before{content:counter(toc);position:absolute;left:0;top:.35em;width:22px;height:22px;
  display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;
  font-size:11.5px;font-weight:800;line-height:1}
.toc a{color:#4a4a55}
.toc a:hover{color:var(--accent)}
@media(max-width:640px){.toc{padding:18px 16px 16px}.toc li{font-size:13.5px}}

/* ---------- 表（SANGO風 ゼブラ） ---------- */
table.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;margin:20px 0;background:var(--panel);
  border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--sh)}
table.cmp th,table.cmp td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top}
table.cmp th:last-child,table.cmp td:last-child{border-right:none}
table.cmp tr:last-child th,table.cmp tr:last-child td{border-bottom:none}
table.cmp tr:first-child:not(:has(td)) th{background:var(--accent);color:#fff;font-weight:700;border-bottom:none}
table.cmp th{background:var(--accent-bg);color:#2c5a86;font-weight:700}
table.cmp tr:nth-child(even) td{background:#fafbfd}
table.cmp th.nw{white-space:nowrap}
table.cmp td.r{text-align:right;white-space:nowrap;font-weight:700;color:#2c5a86}
table{border-collapse:collapse}
th,td{padding:10px 12px}
th{background:var(--accent-bg)}
tr+tr th,tr+tr td{border-top:1px solid var(--line)}
@media(max-width:640px){table.cmp{font-size:12.5px}table.cmp th,table.cmp td{padding:9px 10px}}

/* ---------- リスト（SANGO風 チェック） ---------- */
ul{padding-left:1.2em}
p,li{line-height:1.9}
ul.pt{padding-left:0;margin:16px 0;list-style:none}
ul.pt li{margin:10px 0;padding-left:30px;position:relative}
ul.pt li::before{content:"";position:absolute;left:4px;top:.62em;width:11px;height:6px;
  border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);
  transform:rotate(-45deg)}

/* ---------- 注意ボックス（SANGO風 タイトル付きボックス） ---------- */
.danger,.care{position:relative;background:var(--panel);border-radius:12px;
  padding:26px 22px 18px;margin:34px 0 26px;box-shadow:var(--sh)}
.danger::before,.care::before{position:absolute;top:-13px;left:18px;
  display:inline-block;padding:3px 14px;border-radius:999px;
  font-size:12px;font-weight:800;letter-spacing:.08em;line-height:1.9;color:#fff}
.danger{border:2px solid var(--danger-line);background:var(--danger-bg)}
.danger::before{content:"注意";background:var(--cat-warn)}
.danger strong{color:var(--danger-ink)}
.danger p{color:#6f4442;font-size:14.5px;margin:9px 0}
.danger p:first-child{margin-top:0}
.danger a{color:var(--danger-ink);font-weight:700;text-decoration:underline}
.care{border:2px solid var(--warn-line);background:var(--warn-bg)}
.care::before{content:"補足";background:#d9a441}
.care p{color:#6d5a2c;font-size:14.5px;margin:9px 0}
.care p:first-child{margin-top:0}
.care a{color:var(--accent-d);font-weight:700;text-decoration:underline}
.care h2{background:none;color:var(--warn-ink);padding:0;margin:0 0 6px;font-size:17px}
.care:has(h2)::before,.care:has(h3)::before{content:none}
.care:has(h2),.care:has(h3){padding-top:20px}
/* 関連記事ボックス */
.care.linkbox{border:2px solid #cfe2f6;background:var(--accent-bg)}
.care.linkbox::before{content:"関連記事";background:var(--accent)}
.care.linkbox p{color:#3c5a75}
.care.linkbox a{color:var(--accent-d)}
.care.linkbox b,.care.linkbox strong{display:none}
.danger-tag,.pr-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;
  padding:4px 11px;border-radius:999px;margin-bottom:10px}
.danger-tag{color:#fff;background:var(--cat-warn)}
.pr-tag{color:var(--warn-ink);background:var(--warn-bg);border:1px solid var(--warn-line)}

/* ---------- 関連・出典 ---------- */
.rel{position:relative;background:var(--panel);border:2px solid var(--accent-bg);border-radius:12px;
  padding:26px 22px 18px;margin:34px 0 26px;box-shadow:var(--sh)}
.rel strong{position:absolute;top:-13px;left:18px;display:inline-block;padding:3px 14px;border-radius:999px;
  background:var(--accent);color:#fff;font-size:12px;letter-spacing:.08em;font-weight:800;line-height:1.9}
.rel p{font-size:14.5px;margin:0;line-height:2.1}
.rel a{font-weight:700}
.faq{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}
.faq h3{margin-top:22px}
.faq dt{position:relative;font-weight:800;color:#33333c;margin:24px 0 10px;padding:2px 0 0 42px;line-height:1.7}
.faq dt::before{content:"Q";position:absolute;left:0;top:0;width:30px;height:30px;display:grid;place-items:center;
  border-radius:50%;background:var(--accent);color:#fff;font-size:15px;font-weight:800;line-height:1}
.faq dd{position:relative;margin:0 0 6px;padding:2px 0 0 42px;color:#4e4e59;font-size:15px;line-height:1.9}
.faq dd::before{content:"A";position:absolute;left:0;top:0;width:30px;height:30px;display:grid;place-items:center;
  border-radius:50%;background:var(--panel2);border:2px solid var(--accent);color:var(--accent);font-size:15px;font-weight:800;line-height:1}
.src{font-size:12.5px;color:var(--sub);border-top:1px solid var(--line);margin-top:34px;padding-top:16px}
.src ul{padding-left:1.15em;margin:8px 0}
.src li{margin:5px 0;word-break:break-all}
.upd{color:var(--sub);font-size:12.5px;margin:0 0 22px}
.box{background:var(--panel);border-radius:14px;padding:8px 24px;margin:0 0 22px;box-shadow:var(--sh)}
.fact{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:18px 0;font-size:14px;background:var(--panel);box-shadow:var(--sh)}
.fact div{display:flex;border-top:1px solid var(--line)}
.fact div:first-child{border-top:none}
.fact dt{flex:0 0 37%;background:var(--accent-bg);padding:11px 14px;font-weight:700;color:#2c5a86}
.fact dd{flex:1;margin:0;padding:11px 14px;color:#4e4e59}
@media(max-width:520px){.fact div{flex-direction:column}.fact dt{flex:none}}

/* ---------- CTA（SANGO風の押せるボタン） ---------- */
.cta{display:block;text-align:center;background:var(--accent);color:#fff;font-weight:800;font-size:16px;
  padding:16px 20px;border-radius:999px;margin:22px 0 6px;box-shadow:0 4px 0 var(--accent-d);transition:.15s}
.cta:hover{text-decoration:none;transform:translateY(2px);box-shadow:0 2px 0 var(--accent-d)}
.cta-note{font-size:12px;color:var(--sub);text-align:center;margin:10px 0 0}

/* ---------- トップページ ---------- */
section.block{padding:34px 0}
section.block p{color:var(--sub)}
.h-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;gap:12px}
.h-row h2{font-weight:800;font-size:20px;margin:0;color:#2f2f38;background:none;padding:0 0 0 13px;border-left:5px solid var(--accent);border-radius:0}
.h-row .note{font-size:12px;color:var(--sub);white-space:nowrap;font-weight:600}

.cat{display:inline-block;align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.08em;padding:4px 11px;color:#fff;border-radius:999px}
.cat-warn{background:var(--cat-warn)}
.cat-col{background:var(--cat-col)}

.lead{padding:0}
section.lead{padding:30px 0 6px}
.lead .kicker{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.18em;margin:0 0 14px}
.lead-card{display:flex;background:var(--panel);border-radius:16px;overflow:hidden;box-shadow:var(--sh)}
.lead-vis{flex:0 0 230px;display:flex;background:#000}
.lead-vis iframe{flex:1;width:100%;border:0;min-height:300px}
.lead-body{padding:26px 30px;display:flex;flex-direction:column;justify-content:center;text-decoration:none}
.lead-body:hover{background:var(--panel2);text-decoration:none}
.lead-body:hover .lead-ttl{color:var(--accent)}
.lead-credit{margin:10px 4px 0;font-size:11.5px;color:var(--sub)}
.lead-credit a{color:var(--sub);text-decoration:underline}
.lead-ttl{padding:0;border:0;font-size:24px;font-weight:800;color:#2f2f38;margin:12px 0;line-height:1.55;letter-spacing:.01em}
.lead-ex{color:var(--sub);font-size:14px;margin:0 0 16px;line-height:1.85}
@media(max-width:640px){.lead-card{flex-direction:column}.lead-vis{flex:none}.lead-vis iframe{min-height:340px}.lead-body{padding:22px}.lead-ttl{font-size:20px}}

.feed{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:640px){.feed{grid-template-columns:1fr}}
.acard{display:flex;flex-direction:column;gap:10px;text-decoration:none;background:var(--panel);padding:22px;border-radius:14px;box-shadow:var(--sh);transition:.15s}
.acard:hover{box-shadow:var(--sh-h);transform:translateY(-2px);text-decoration:none}
.acard h3{margin:2px 0 0;font-size:16.5px;color:#2f2f38;font-weight:800;line-height:1.55;padding:0;border:0}
.acard:hover h3{color:var(--accent)}
.acard p{margin:0;font-size:13px;color:var(--sub);line-height:1.7}
.more{color:var(--accent);font-weight:700;font-size:12.5px}
.acard .more{margin-top:auto;padding-top:2px}

.catnav{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:640px){.catnav{grid-template-columns:repeat(2,1fr)}}
.cnav{display:flex;flex-direction:column;gap:3px;text-decoration:none;background:var(--panel);padding:18px;border-radius:14px;box-shadow:var(--sh);transition:.15s}
.cnav:hover{box-shadow:var(--sh-h);transform:translateY(-2px);text-decoration:none}
.cnav b{color:#2f2f38;font-size:15px;font-weight:800}
.cnav span{color:var(--sub);font-size:11.5px}
.pill{display:inline-block;font-size:11px;color:var(--sub);background:var(--panel);padding:5px 12px;margin-right:6px;margin-bottom:6px;border-radius:999px;box-shadow:var(--sh)}

/* ---------- 動画グリッド ---------- */
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}
.videos .vid{display:flex;flex-direction:column}
.videos .pl{position:relative;aspect-ratio:9/16;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#000}
.videos .pl iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.videos .cap{margin:8px 0 0;font-size:12px;color:var(--sub);line-height:1.5}
@media(max-width:560px){.videos{grid-template-columns:repeat(2,1fr);gap:12px}}

/* ---------- footer ---------- */
footer.site,footer{margin-top:24px;padding:34px 0 60px;color:var(--sub);font-size:12.5px;line-height:1.85;
  background:var(--panel);border-top:1px solid var(--line)}
footer .wrap a,footer a{color:var(--accent);margin-right:16px;font-weight:600}
footer .ft-top{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:18px}
footer .ft-top a{color:var(--sub);font-weight:600;margin-right:0}
footer .ft-top a:hover{color:var(--accent)}
footer .fine{padding-top:18px;line-height:1.9;border-top:1px solid var(--line)}
footer .fine strong,footer.site .disclaimer strong,.disclaimer strong{color:#4a4a55}
.disclaimer{margin-top:12px}

/* ---------- チャンネル紹介（gambledore） ---------- */
.ch-feature{display:flex;gap:18px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:16px;margin:18px 0}
.ch-feature .v{flex:0 0 150px;aspect-ratio:9/16;border-radius:10px;overflow:hidden;background:#000}
.ch-feature .v iframe{width:100%;height:100%;border:0;display:block}
.ch-feature .t h4{padding:0;border:0;margin:0 0 7px;font-size:15.5px;color:#2f2f38}
.ch-feature .t p{margin:0;font-size:13px;color:var(--sub);line-height:1.7}
.ch-feature .t a{font-weight:700}
@media(max-width:520px){.ch-feature{flex-direction:column;align-items:stretch}.ch-feature .v{flex:none;width:160px;margin:0 auto}}
