
:root{--ink:#1c2430;--mute:#5d6977;--line:#e3e7eb;--bg:#ffffff;--soft:#f5f7f9;--acc:#0f766e;--acc2:#fde68a}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;font-family:"Noto Sans JP",system-ui,-apple-system,"Hiragino Sans","Yu Gothic",sans-serif;color:var(--ink);background:var(--bg);line-height:1.9;-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:880px;margin:0 auto;padding:0 20px}
header{border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:baseline;gap:14px;padding:22px 0 18px}
.brand a{color:var(--ink);font-weight:700;font-size:1.35rem;letter-spacing:.02em}
.brand small{color:var(--mute);font-size:.8rem}
nav.top{display:flex;gap:18px;padding-bottom:14px;font-size:.9rem}
nav.top a{color:var(--mute)}
.hero{padding:44px 0 30px;border-bottom:1px solid var(--line)}
.hero h1{font-size:1.9rem;line-height:1.4;margin:0 0 12px;letter-spacing:.01em}
.hero p{color:var(--mute);margin:0;max-width:600px}
.eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.14em;color:var(--acc);font-weight:700;border-bottom:2px solid var(--acc2);padding-bottom:2px;margin-bottom:10px}
.grid{display:grid;grid-template-columns:1fr;gap:18px;padding:28px 0}
.card{display:block;border:1px solid var(--line);border-left:5px solid var(--acc);padding:18px 20px;color:var(--ink);background:#fff;transition:background .15s}
.card:hover{background:var(--soft);text-decoration:none}
.card .cat{font-size:.72rem;color:var(--acc);font-weight:700;letter-spacing:.1em}
.card h3{margin:6px 0 6px;font-size:1.08rem;line-height:1.5}
.card p{margin:0;color:var(--mute);font-size:.92rem}
.card time{font-size:.78rem;color:var(--mute)}
article{padding:40px 0}
article h1{font-size:1.75rem;line-height:1.45;margin:8px 0 10px}
article .meta{color:var(--mute);font-size:.85rem;margin-bottom:32px}
article h2{font-size:1.3rem;margin:44px 0 14px;padding-left:12px;border-left:4px solid var(--acc)}
article h3{font-size:1.08rem;margin:28px 0 8px}
article p{margin:0 0 1.2em}
article ul,article ol{padding-left:1.4em}
article li{margin-bottom:.4em}
table{border-collapse:collapse;width:100%;margin:16px 0 24px;font-size:.92rem}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{background:var(--soft);font-weight:700}
.note{background:var(--soft);border-left:4px solid var(--acc2);padding:14px 18px;margin:24px 0;font-size:.92rem}
.box{border:1px solid var(--line);padding:18px 20px;margin:24px 0}
.box strong{display:block;margin-bottom:6px}
.cta{display:inline-block;background:var(--acc);color:#fff;padding:12px 22px;border-radius:4px;font-weight:700}
.cta:hover{text-decoration:none;opacity:.92}
.related{border-top:1px solid var(--line);padding-top:24px;margin-top:48px}
.related h4{margin:0 0 10px;font-size:.85rem;color:var(--mute);letter-spacing:.1em}
.related ul{list-style:none;padding:0;margin:0}
.related li{margin-bottom:6px}
footer{border-top:1px solid var(--line);margin-top:40px;padding:28px 0 40px;font-size:.82rem;color:var(--mute)}
footer nav{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}
footer nav a{color:var(--mute)}
.disc{font-size:.78rem;color:var(--mute);border:1px dashed var(--line);padding:10px 14px;margin:0 0 28px}
@media(min-width:720px){.grid{grid-template-columns:1fr 1fr}}

/* ===== M4.5 比較ガイドLP v2（試作: taishoku / gym）===== */
.vchip{display:inline-block;background:#fde68a;color:#1c2430;border-radius:4px;padding:2px 10px;font-size:13px;font-weight:500}
.fvbanner{display:block;width:100%;height:auto;border-radius:8px}
.fvlead{margin:14px 0 6px}
.toc-jump{display:inline-block;margin:10px 0 0;padding:10px 18px;border:1px solid var(--acc);border-radius:6px;color:var(--acc);font-weight:500}
.axes{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.axes li{background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:14px}
.segchips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.segchips .chip{border:1px solid var(--acc);background:#fff;color:var(--acc);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}
.segchips .chip[aria-pressed="true"]{background:var(--acc);color:#fff}
.tablebox{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
.tablebox table{margin:0;border-collapse:collapse;min-width:640px}
.tablebox th,.tablebox td{min-width:9em;padding:10px 12px;font-variant-numeric:tabular-nums;vertical-align:top}
.tablebox th{min-width:11em;line-height:1.5}
.tablebox th:first-child,.tablebox td:first-child{position:sticky;left:0;background:#fff;min-width:7.5em;box-shadow:1px 0 0 var(--line);z-index:1}
.tablebox tr.dim{opacity:.25}
.badge-ns{display:inline-block;background:var(--soft);color:var(--mute);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:400}
.rankno{display:inline-block;background:var(--acc);color:#fff;border-radius:4px;padding:2px 8px;font-size:13px;font-weight:700;margin-right:8px}
.cardgrid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:720px){.cardgrid{grid-template-columns:1fr 1fr}}
.endcta{border-top:1px solid var(--line);padding-top:18px}
.endcta ul{list-style:none;padding:0;display:grid;gap:10px}
.endcta li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px 14px}
.endcta .cta{margin:0;padding:8px 14px;font-size:14px}
a:focus-visible,button:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* M4.5 v2 意匠1a: 1位カード・行型・FV段階図 */
.rankhead{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px}
.rankhead small{color:var(--mute)}
.champ{border:2px solid var(--ink);border-radius:10px;background:#fff;overflow:hidden}
.bandhead{display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;padding:14px 16px}
.rankbadge{background:#fde68a;color:#1c2430;font-weight:700;font-size:20px;padding:6px 10px;border-radius:6px;line-height:1;flex:0 0 auto}
.rankbadge small{font-size:11px;font-weight:700}
.bandname strong{font-size:18px;color:#fff}
.bandsub{font-size:12px;color:#cbd5df}
.bandscore{margin-left:auto;text-align:right;color:#fde68a;font-weight:700;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
.bandscore small{display:block;color:#cbd5df;font-weight:400;font-size:11px}
.bandscore .of{color:#cbd5df;font-size:13px;font-weight:400}
.champ .inner{padding:16px}
.heroval{margin:0 0 14px}
.hv-label{color:var(--acc);font-weight:700;font-size:13px}
.hv-value{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.4}
.hv-value small{font-size:13px;font-weight:400;color:var(--mute);margin-left:4px}
.hv-sub{font-size:13px;color:var(--mute)}
.champrow{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:8px 0;font-size:14px}
.champrow span:first-child{color:var(--mute);flex:0 0 10em}
.champrow span:last-child{text-align:right}
.champ .cta{display:block;text-align:center;margin:14px 0 0}
.champcap{text-align:center;font-size:12px;color:var(--mute);margin:8px 0 0}
.rankrow{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-top:10px}
.rankno2{flex:0 0 auto;border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-weight:700}
.rr-main{flex:1}
.rr-sub{font-size:12px;color:var(--mute)}
.rr-score{font-weight:700;font-variant-numeric:tabular-nums}
.diagrid{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:720px){.diagrid{grid-template-columns:repeat(2,1fr)}}
.diabox{border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:12px 14px;font-size:14px;min-height:3.4em;display:flex;align-items:center}
/* M4.5 画像プレースホルダー（imgタグ不使用・CSSとテキストのみ。差し替え後は site.json image_placeholders:false でOFF） */
.imgslot{width:100%;max-width:var(--iw);height:var(--ih);border:2px dashed var(--line);background:#f0fdfa;color:var(--mute);display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;line-height:1.5;border-radius:8px;margin:12px 0}
.imgslot.thumb{width:var(--iw);flex:0 0 auto;margin:0 0 10px;font-size:10px}
.rankrow .imgslot.thumb{margin:0}
.diabox-desc{flex-direction:column;align-items:flex-start;gap:4px}
.diabox-desc p{margin:0;font-size:13px;color:var(--mute)}
.imgslot-fv{max-width:100%}
.guidehead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px}
.gh-title{font-size:16px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gh-site{font-size:12px;color:var(--mute);flex:0 0 auto}
