:root{color-scheme:light dark;--bg:#fff;--text:#1d1d1f;--muted:#6e6e73;--line:#e5e5ea;--surface:#f5f5f7;--accent:#ffd60a}
*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:-apple-system,"SF Pro Display","Hiragino Sans","Noto Sans JP",sans-serif}a{color:inherit}a:hover{color:inherit;text-decoration:underline}img{max-width:100%}.top{background:var(--bg);color:var(--text);border-bottom:1px solid var(--line)}.hd{max-width:1200px;margin:auto;min-height:72px;padding:12px 24px;gap:16px;flex-wrap:wrap}.logo{display:flex;align-items:center;gap:10px;color:var(--text);font-size:20px}.logo span{color:inherit}.ai-mark{background:var(--accent);color:#1d1d1f;padding:5px 8px;border-radius:8px;font-size:15px}.hd nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:13px}.hd nav a{background:var(--surface);border-radius:980px;padding:9px 14px;color:var(--text)}.next-update{font-variant-numeric:tabular-nums}.e-main{max-width:1200px;margin:auto;padding:36px 24px 72px;display:grid;gap:36px}.e-main h1{font-size:clamp(24px,3vw,36px);margin:0 0 10px}.e-main h2{font-size:20px;margin:0 0 20px}.e-intro p{color:var(--muted);margin:0}.e-lead{display:grid;grid-template-columns:2fr 1fr;gap:24px}.e-top-story{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:#0f172a;display:flex;align-items:flex-end;box-shadow:0 2px 12px rgba(0,0,0,.05)}.e-top-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.e-overlay{position:relative;width:100%;padding:72px 28px 28px;background:linear-gradient(transparent,rgba(0,0,0,.92));color:#fff}.e-overlay h2{color:#fff;font-size:clamp(20px,2.3vw,30px);line-height:1.45;margin:14px 0 0;overflow-wrap:anywhere}.e-label{display:inline-block;background:var(--accent);color:#1d1d1f;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:800;white-space:nowrap}.ad-slot{border:1px dashed var(--line);border-radius:20px;background:var(--surface)}.ad-top{min-height:220px}.ad-bottom{min-height:100px}.e-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.e-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.05);display:flex;flex-direction:column;min-width:0}.e-card-image{position:relative;aspect-ratio:16/9;background:#0f172a;overflow:hidden}.e-card-image img{width:100%;height:100%;object-fit:cover}.e-number{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.8);color:#fff;border-radius:980px;padding:4px 10px;font-size:12px}.e-card-text{padding:18px;display:flex;flex:1;flex-direction:column;gap:18px}.e-card-text h3{font-size:16px;line-height:1.6;margin:0;overflow-wrap:anywhere}.e-score{display:flex;align-items:center;gap:12px;margin-top:auto}.e-score b{font-size:24px}.e-score small,.e-label small{font-size:11px;margin-left:3px}.e-bar{flex:1;background:var(--surface);height:6px;border-radius:6px;overflow:hidden}.e-bar i{display:block;height:100%;background:var(--accent)}.e-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}.e-list-item{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);line-height:1.6;min-width:0}.e-list-item>span:nth-child(2){flex:1;overflow-wrap:anywhere}.e-rank{color:var(--muted);width:24px;flex-shrink:0}.e-placeholder{display:flex;justify-content:center;align-items:center;width:100%;height:100%;color:#fff;font-weight:700}.e-support{display:grid;grid-template-columns:1fr 1fr;gap:32px}.e-support .rank{position:static;order:0}.e-support .qr{position:static;float:none;margin-top:20px}.hero{color:var(--text);background:var(--bg)}.hero p,.hero .crumb{color:var(--muted)}.hero h1,.hero a{color:var(--text)}.layout,.wrap{max-width:1200px}.card,.rank,.about,.day-list,.day-list li,.cols .col{background:var(--bg);color:var(--text);border-color:var(--line)}.card .badge{background:var(--accent);color:#1d1d1f}.card .cat,.cf,.fine,.site-footer,.rank-empty{color:var(--muted)}.rank h2,.about h2,.cols h4,.rank b{color:var(--text)}.cols .col{background:var(--surface)}.site-footer{background:var(--surface);border-color:var(--line)}.pager a{background:var(--surface);color:var(--text);border-color:var(--line)}
@media(max-width:900px){.e-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.e-lead{grid-template-columns:1fr}.ad-top{min-height:160px}.e-support{grid-template-columns:1fr}}
@media(max-width:600px){.hd{padding:12px 16px}.hd nav{gap:10px;font-size:12px}.e-main{padding:24px 16px 48px;gap:28px}.e-grid{gap:12px}.e-card-text{padding:12px}.e-card-text h3{font-size:14px}.e-list{grid-template-columns:1fr}.e-overlay{padding:64px 20px 20px}.e-overlay h2{font-size:20px}.e-label{font-size:11px}.e-top-story{aspect-ratio:auto;min-height:300px}.next-update{white-space:nowrap}}
@media(max-width:360px){.e-grid{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){:root{--bg:#0b0b0c;--surface:#1c1c1e;--text:#f5f5f7;--muted:#a1a1a6;--line:#38383a}.e-score b,.rank b{color:#ffd60a}}
.e-main a{text-decoration:none}.e-main a:hover{text-decoration:underline}.rank li b{color:var(--text)}.rank h2 small{background:var(--accent);color:#1d1d1f}.e-support .qr{width:max-content}.hero p a{color:var(--text)}@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b0b0c;--surface:#1c1c1e;--text:#f5f5f7;--muted:#a1a1a6;--line:#38383a;--ink:#f5f5f7;--ink-2:#d1d1d6;--ink-3:#a1a1a6;--line-2:#38383a}.rank li b{color:#ffd60a}}

/* 関連記事（個別ページ） */
.related{margin:20px 0;padding:20px 24px;border:1px solid var(--line,#e5e5ea);border-radius:20px;background:var(--bg,#fff)}
.related h2{font-size:17px;margin:0 0 10px}
.related ul{list-style:none;margin:0;padding:0}
.related li{padding:12px 0;border-top:1px solid var(--line,#e5e5ea);line-height:1.6}
.related li:first-child{border-top:0}
.related a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.related a:hover{text-decoration:underline}
.related a::after{content:" ↗";color:var(--muted,#6e6e73);font-size:.85em}

/* 関連動画（個別ページ） */
.rel-video{margin:20px 0;padding:20px 24px;border:1px solid var(--line,#e5e5ea);border-radius:20px;background:var(--bg,#fff)}
.rel-video h2{font-size:17px;margin:0 0 12px}
.rel-video .yt{display:flex;flex-wrap:wrap;gap:16px;align-items:center;color:inherit;text-decoration:none}
.rel-video .yt-thumb{position:relative;flex:0 1 320px;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000}
.rel-video .yt-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rel-video .yt-play{position:absolute;left:50%;top:50%;width:64px;height:44px;margin:-22px 0 0 -32px;border-radius:12px;background:rgba(255,0,0,.9)}
.rel-video .yt-play::after{content:"";position:absolute;left:26px;top:13px;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff}
.rel-video .yt-title{flex:1 1 220px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.rel-video .yt-title small{display:block;font-weight:400;color:var(--muted,#6e6e73);margin-top:4px}
.rel-video .yt:hover .yt-title{text-decoration:underline}

/* 関連ニュース（サイト内の個別ページ3件） */
.rel-pages{margin:20px 0}
.rel-pages h2{font-size:17px;margin:0 0 12px}
.rp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:720px){.rp-grid{grid-template-columns:1fr}}
.rp-card{display:flex;flex-direction:column;border:1px solid var(--line,#e5e5ea);border-radius:18px;overflow:hidden;background:var(--bg,#fff);color:inherit;text-decoration:none;min-width:0}
.rp-card:hover .rp-title{text-decoration:underline}
.rp-img{display:block;aspect-ratio:16/9;background:#0f172a;overflow:hidden}
.rp-img img{width:100%;height:100%;object-fit:cover;display:block}
.rp-ph{display:flex;align-items:center;justify-content:center;height:100%;color:#fff;font-weight:700}
.rp-text{display:flex;flex-direction:column;gap:6px;padding:12px 14px 16px}
.rp-meta{font-size:12px;color:var(--muted,#6e6e73);display:flex;gap:8px;align-items:center}
.rp-meta b{background:var(--accent,#ffd60a);color:#1d1d1f;border-radius:6px;padding:1px 7px}
.rp-title{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}

/* YouTubeサムネイル：画像はYouTubeの動画へ、見出しはサイト内の個別ページへ */
.e-top-story.has-yt{display:block}
.e-top-story.has-yt .e-top-yt{position:absolute;inset:0;display:block}
.e-top-story.has-yt .e-top-yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.e-top-story.has-yt .e-overlay{position:absolute;left:0;right:0;bottom:0;display:block;text-decoration:none}
.e-top-story.has-yt .e-overlay:hover h2{text-decoration:underline}
.e-card.has-yt .e-card-image{display:block}
.e-card.has-yt .e-card-text{color:inherit;text-decoration:none}
.e-card.has-yt .e-card-text:hover h3{text-decoration:underline}
.yt-src{color:#fff}
.yt-badge{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 90px);padding:4px 10px;border-radius:980px;background:rgba(0,0,0,.78);color:#fff;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}
.yt-badge i{flex:none;width:16px;height:11px;border-radius:3px;background:#ff0000;position:relative}
.yt-badge i::after{content:"";position:absolute;left:6px;top:3px;border-style:solid;border-width:2.5px 0 2.5px 4.5px;border-color:transparent transparent transparent #fff}
.e-top-yt .yt-badge{top:16px;right:16px;font-size:13px;padding:6px 12px}
.yt-src:hover .yt-badge{background:#ff0000}
.rp-card a.rp-text{color:inherit;text-decoration:none}.rp-card a.rp-text:hover .rp-title{text-decoration:underline}.rp-img{position:relative}

/* トップニュース：上＝画像（YouTube）、下＝ニュース見出し。重ねずに分ける */
.e-top-story.e-split{display:flex;flex-direction:column;aspect-ratio:auto;align-items:stretch;background:var(--bg);border:1px solid var(--line)}
.e-split .e-top-media{position:relative;display:block;aspect-ratio:16/9;background:#0f172a;overflow:hidden}
.e-split .e-top-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.e-split .e-top-media .yt-badge{top:16px;right:16px;font-size:13px;padding:6px 12px}
.e-split .e-top-text{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 28px 26px;color:var(--text);text-decoration:none}
.e-split .e-top-text h2{margin:0;color:var(--text);font-size:clamp(20px,2.2vw,28px);line-height:1.45;overflow-wrap:anywhere}
.e-split .e-top-text:hover h2{text-decoration:underline}
.e-lead{align-items:stretch}

/* トップニュースのYouTube画像：小さめ（幅360pxまで）で上に詰める。上の空白なし */
.e-top-story.e-split{justify-content:flex-start;padding:20px 20px 0}
.e-split .e-top-media{width:min(100%,360px);flex:none;border-radius:16px}
.e-split .e-top-media .yt-badge{top:8px;right:8px;font-size:11px;padding:4px 9px}
.e-split .e-top-text{padding:16px 8px 24px}

/* トップニュース：左にYouTube画像、右に見出し（横並び）。スマホでは縦並び */
.e-top-story.e-split{flex-direction:row;align-items:flex-start;gap:24px;padding:20px}
.e-split .e-top-media{width:360px;max-width:45%}
.e-split .e-top-text{flex:1;min-width:0;padding:4px 0 0;gap:14px}
@media(max-width:600px){.e-top-story.e-split{flex-direction:column;gap:14px;padding:14px}.e-split .e-top-media{width:100%;max-width:none}}

/* 右の広告枠は一旦なし：トップニュースを横いっぱいに */
.e-lead{grid-template-columns:1fr}
.e-split .e-top-media{width:400px;max-width:42%}
.e-split .e-top-text h2{font-size:clamp(22px,2.4vw,32px)}
@media(max-width:600px){.e-split .e-top-media{width:100%;max-width:none}}

/* トップニュース：YouTube画像は半分（幅200px）、見出しの下に概要を小さく */
.e-split .e-top-media{width:200px;max-width:40%}
.e-split .e-top-text{gap:10px}
.e-split .e-top-text h2{font-size:clamp(20px,2vw,26px)}
.e-top-sum{margin:0;font-size:14px;line-height:1.7;color:var(--muted);font-weight:400}
@media(max-width:600px){.e-split .e-top-media{width:100%;max-width:none}.e-top-sum{font-size:13px}}
.e-split .e-top-media .yt-badge{max-width:calc(100% - 12px);top:6px;right:6px;font-size:10px;padding:3px 8px}

/* TOP2以降もTOP1と同じ横並びの形 */
.e-rows{display:grid;gap:16px}
.e-rowhead{display:flex;align-items:center;gap:10px}
.e-pts{font-size:15px;font-weight:800;color:var(--text)}
.e-pts small{font-size:11px;margin-left:2px;color:var(--muted)}
.e-rows .e-top-story.e-split{padding:16px;border-radius:20px}
.e-rows .e-split .e-top-text h2{font-size:clamp(17px,1.6vw,20px);margin:0}
.e-rows .e-top-sum{font-size:13px}
.e-rows .e-label{background:var(--surface);color:var(--text)}

/* ① 文字の上端を画像の上端にそろえる */
.e-split .e-top-text{padding-top:0}
.e-split .e-rowhead{margin-top:0;line-height:1}
.e-split .e-rowhead .e-label{display:inline-flex;align-items:center}
/* ② TOP1と2位の間隔を、2位と3位の間隔（16px）にそろえる */
.e-main > section[aria-label="続いてのニュース"]{margin-top:-20px}
@media(max-width:600px){.e-main > section[aria-label="続いてのニュース"]{margin-top:-12px}}

/* 見出しの上端を画像の上端にそろえ、No.と点数はカードの上の縁にタブのように乗せる */
.e-top-story.e-split{overflow:visible}
.e-split .e-top-text{position:relative;padding-top:0}
.e-split .e-top-text h2{margin-top:0;line-height:1.4}
.e-split .e-rowhead{position:absolute;left:0;top:-34px;line-height:1;gap:8px}
.e-rows .e-split .e-rowhead{top:-30px}
.e-split .e-rowhead .e-pts{background:var(--bg);padding:4px 8px;border-radius:8px}
.e-rows .e-split .e-rowhead .e-label{background:var(--surface);border:1px solid var(--line)}
/* タブの分だけカードの間隔を広げる（どのカードの間も同じ28px） */
.e-rows{gap:28px}
.e-main > section.e-lead{margin-top:10px}
.e-main > section[aria-label="続いてのニュース"]{margin-top:-8px}
@media(max-width:600px){.e-main > section[aria-label="続いてのニュース"]{margin-top:0}.e-top-story.e-split.e-first .e-rowhead{position:static}}

/* 個別ページ：キャラ画像なし。概要・事実・影響を「・」付きの段落で縦に並べ、最後に「別の見方」 */
body[data-page="news"] .card .chara{display:none}
body[data-page="news"] .card .sum,
body[data-page="news"] .card .col.c1,
body[data-page="news"] .card .col.c2,
body[data-page="news"] .card .col.c3 p{position:relative;background:var(--surface);border-radius:12px;padding:12px 16px 12px 30px;line-height:1.85;font-size:15px;color:var(--text)}
body[data-page="news"] .card .sum{margin-top:28px}
body[data-page="news"] .card .sum::before,
body[data-page="news"] .card .col.c1::before,
body[data-page="news"] .card .col.c2::before{content:"";position:absolute;left:12px;top:22px;width:8px;height:8px;border-radius:50%;background:#8e8e93}
body[data-page="news"] .card .cols{gap:12px;margin-top:12px}
body[data-page="news"] .card .col{display:block;border:0;box-shadow:none}
body[data-page="news"] .card .col.c1 h4,
body[data-page="news"] .card .col.c2 h4{display:none}
body[data-page="news"] .card .col.c1 p,
body[data-page="news"] .card .col.c2 p{margin:0;background:none;padding:0}
body[data-page="news"] .card .col.c3{background:none;padding:0;margin-top:8px}
body[data-page="news"] .card .col.c3 h4{margin:0 0 10px;font-size:17px;font-weight:800;color:var(--text)}
body[data-page="news"] .card .col.c3 p{margin:0;padding-left:16px}
/* 段落の左端を見出しの左端にそろえる */
body[data-page="news"] .card .cols,
body[data-page="news"] .card .cf{margin-left:80px}
@media(max-width:600px){body[data-page="news"] .card .cols,body[data-page="news"] .card .cf{margin-left:0}}

/* 個別ページの関連ニュース：枠の中に画像3枚だけを並べる（見出し・文字なし） */
body[data-page="news"] .rel-pages{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--bg)}
body[data-page="news"] .rel-pages h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body[data-page="news"] .rp-text{display:none}
body[data-page="news"] .rp-grid{gap:12px}
body[data-page="news"] .rp-card{border:0;border-radius:12px}
body[data-page="news"] .rp-img{border-radius:12px}

/* 関連ニュース：画像の下に見出しを1行だけ小さく（クリックでサイト内の個別ページへ） */
body[data-page="news"] .rp-text{display:block;padding:8px 2px 0}
body[data-page="news"] .rp-meta{display:none}
body[data-page="news"] .rp-title{display:block;font-size:13px;font-weight:600;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 関連ニュースの見出し：2倍の大きさ（26px）でタイトル全文 */
body[data-page="news"] .rp-title{font-size:26px;line-height:1.4;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
@media(max-width:600px){body[data-page="news"] .rp-title{font-size:20px}}
/* 関連ニュースの見出し：26pxの4分の3（約20px） */
body[data-page="news"] .rp-title{font-size:19.5px}
@media(max-width:600px){body[data-page="news"] .rp-title{font-size:16px}}

/* カードのどこにマウスを乗せても、見出しと概要に下線を引く（画像の上でも） */
.e-top-story.e-split:hover .e-top-text h2,
.e-top-story.e-split:hover .e-top-text .e-top-sum{text-decoration:underline;text-underline-offset:3px}
.e-top-story.e-split .e-top-text .e-rowhead,
.e-top-story.e-split:hover .e-top-text .e-rowhead{text-decoration:none}
.e-top-story.e-split{cursor:pointer}

/* タイトルにカーソルを乗せたら、見出しの左に黒い三角（▶）を出す */
.e-split .e-top-text h2{position:relative}
.e-split .e-top-text h2::before{content:"";position:absolute;left:-14px;top:.45em;border-style:solid;border-width:7px 0 7px 9px;border-color:transparent transparent transparent var(--text);opacity:0;transition:opacity .15s}
.e-split .e-top-text:hover h2::before{opacity:1}

/* ブログ機能：フッターの案内・固定ページ・カテゴリ一覧・編集部のひとこと・ランキングバナー */
.foot-nav,.foot-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:0 0 10px;font-size:13px}
.foot-nav a,.foot-cats a{color:inherit;text-decoration:none}
.foot-nav a:hover,.foot-cats a:hover{text-decoration:underline}
.foot-cats{font-size:12px;opacity:.85}
.rank-banner{display:flex;justify-content:center;margin:0 0 14px}
.rank-banner img{max-width:100%;height:auto}
.rank-banner-news{margin:20px 0}
.static-page,.cat-page{max-width:820px;margin:0 auto;padding:36px 20px 64px;line-height:1.9}
.static-page h1,.cat-page h1{font-size:28px;margin:0 0 20px}
.static-page h2{font-size:19px;margin:28px 0 8px}
.static-page ul{padding-left:1.3em}
.contact-btn{display:inline-block;padding:12px 22px;border-radius:12px;background:#ffd60a;color:#1d1d1f;font-weight:800;text-decoration:none}
.cat-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.cat-nav a{padding:6px 14px;border-radius:980px;border:1px solid #d2d2d7;text-decoration:none;color:inherit;font-size:14px}
.cat-nav a[aria-current="page"]{background:#ffd60a;border-color:#ffd60a;color:#1d1d1f;font-weight:700}
.cat-list{list-style:none;margin:0;padding:0}
.cat-list li a{display:flex;gap:14px;padding:14px 4px;border-bottom:1px solid #e5e5ea;text-decoration:none;color:inherit}
.cat-list li a:hover span{text-decoration:underline}
.cat-list b{flex:none;width:52px;font-size:18px}
.cat-list b small{font-size:11px}
.cat-list span{line-height:1.6}
.cat-list em{display:block;font-style:normal;font-size:12px;opacity:.7}
.owner-note{margin:14px 0 0;padding:12px 16px;border-left:4px solid #ffd60a;background:rgba(255,214,10,.12);border-radius:8px;line-height:1.8}
.owner-note b{display:block;font-size:12px;margin-bottom:2px}
.owner-note p{margin:0}
.e-owner{margin:6px 0 0;font-size:13px;line-height:1.7}
.e-owner b{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:6px;background:#ffd60a;color:#1d1d1f;font-size:11px}
