:root{--bg: #ffffff;--bg-soft: #f5f5f6;--ink: #333333;--ink-heading: #444444;--ink-soft: #666666;--border: #e0e0e0;--accent: #ee3e3e;--accent-deep: #d32f2f;--accent-soft: #fdeaea;--mark-bg: #ffff99;--link: #1970c2;--font: Helvetica, Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", YuGothic, "Yu Gothic", メイリオ, Meiryo, sans-serif;--radius: 4px;--shadow: 0 1px 4px rgba(0, 0, 0, .08);--page-w: 1080px;--main-w: 700px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:var(--link)}mark{background:var(--mark-bg);color:#000;font-weight:700;padding:0 .1em}.btn-primary{display:inline-block;padding:10px 16px;border:1px solid var(--accent-deep);border-radius:var(--radius);background:var(--accent-deep);color:#fff;text-decoration:none;font-weight:700}.btn-primary:hover{background:#b71c1c;border-color:#b71c1c}.btn-outline{display:inline-block;padding:9px 15px;border:1px solid var(--accent-deep);border-radius:var(--radius);background:#fff;color:var(--accent-deep);text-decoration:none;font-weight:700}.btn-outline:hover{background:var(--accent-soft)}.tool-links{display:flex;flex-wrap:wrap;gap:.7em;list-style:none;padding:0;margin:1.6rem 0}.site-header{border-bottom:1px solid var(--border);padding:.9rem 1.5rem;background:var(--bg)}.site-header__inner{max-width:var(--page-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.site-title{font-weight:700;font-size:1.15rem;margin:0}.site-title a{color:var(--ink-heading);text-decoration:none}nav.site-nav{display:flex;gap:1.4rem;font-size:.88rem}nav.site-nav a{display:inline-block;padding:.4em .15em;color:var(--ink-soft);text-decoration:none}nav.site-nav a:hover{color:var(--accent-deep)}.breadcrumb{font-size:.82rem;color:var(--ink-soft);margin-bottom:1rem}.breadcrumb a{color:var(--ink-soft)}.layout{max-width:var(--page-w);margin:0 auto;padding:2rem 1.5rem 4rem;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem;align-items:start}.layout>main,.layout>article,.layout>aside{min-width:0}.layout--single{grid-template-columns:minmax(0,1fr);max-width:var(--main-w)}@media(max-width:860px){.layout{grid-template-columns:minmax(0,1fr)}.layout>aside{display:flex;flex-direction:column}.layout>aside>.side-block--next{order:-1}}.box{border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1.6rem;margin:1.8rem 0}.box--summary{background:var(--bg-soft)}.box--toc{background:var(--bg)}.box__title{font-weight:700;font-size:1.02rem;margin:0 0 .8rem;display:flex;align-items:center;gap:.5em}.box ul{margin:0;padding-left:1.3em}.box li{margin:.35em 0}.box--toc ol{margin:0;padding-left:1.3em;counter-reset:toc}.box--toc li{margin:.4em 0}.box--toc a{color:var(--ink);text-decoration:none}.box--toc a:hover{color:var(--accent)}article h1{color:var(--ink-heading);font-size:1.6rem;font-weight:700;line-height:1.5;margin:0 0 .6rem}.cover{margin:0 0 1.6rem}.cover img{display:block;width:100%;height:auto;border-radius:var(--radius)}.inline-cta{margin:1.4em 0;padding:.9rem 1.1rem;background:var(--accent-soft);border-radius:var(--radius);font-size:.95rem}.inline-cta a{color:#b71c1c;font-weight:700;text-decoration:underline}.inline-cta a:before{content:"→ "}blockquote.quote{margin:1.4em 0;padding:1rem 1.2rem;background:#fafafa;border-left:6px solid #767676}blockquote.quote ul{margin:0;padding-left:1.2em;font-size:.95rem;line-height:1.9}blockquote.quote ul li+li{margin-top:.5em}blockquote.quote p{margin:0;font-size:.95rem;line-height:1.9}blockquote.quote .quote__src{margin-top:.6em;font-size:.82rem;color:var(--ink-soft)}.note-caution{background:var(--bg-soft);border-left:3px solid var(--ink-soft);padding:.9rem 1.1rem;margin:1.6em 0;font-size:.9rem}.note-meta{font-size:.82rem;color:var(--ink-soft);margin:1.6em 0;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ad-disclosure{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:var(--radius);padding:.5rem .8rem;margin:0 0 1.2rem;font-size:.8rem;line-height:1.6;color:var(--ink)}.ad-disclosure strong{background:var(--accent-deep);color:#fff;border-radius:3px;padding:.05em .35em;margin-right:.1em;font-size:.92em}.link-pr{background:var(--accent-deep);color:#fff;border-radius:3px;font-size:.72em;font-weight:700;padding:.15em .4em;margin-left:.5em;vertical-align:middle}.article-card+.article-card{margin-top:1.2rem}.article-meta{font-size:.85rem;color:var(--ink-soft);margin-bottom:1.2rem}article h2{color:var(--ink-heading);font-size:1.5rem;font-weight:700;line-height:1.45;border-bottom:3px solid var(--border);padding-bottom:.6em;margin-top:2.4em}article h3{font-size:1.12rem;font-weight:700;line-height:1.45;margin-top:1.7em}.table-wrap tbody th[scope=row]{position:sticky;left:0;background:#fff}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.6em 0;background-image:linear-gradient(to right,var(--bg),rgba(255,255,255,0)),linear-gradient(to left,var(--bg),rgba(255,255,255,0)),linear-gradient(to right,#00000029,#0000),linear-gradient(to left,#00000029,#0000);background-position:left center,right center,left center,right center;background-repeat:no-repeat;background-size:32px 100%,32px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}table.compare{width:100%;min-width:560px;border-collapse:collapse;margin:0;font-size:.9rem}table.compare caption{caption-side:top;text-align:left;font-size:.82rem;color:var(--ink-soft);padding:0 0 .5em}table.compare th,table.compare td{border:1px solid var(--border);padding:.8em .9em;text-align:left;vertical-align:top}table.compare thead th{background:var(--bg-soft);font-weight:700}.side-block{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.8rem;overflow:hidden}.side-block__head{background:var(--accent-deep);color:#fff;font-weight:700;font-size:.9rem;padding:.6em 1em}.side-block__body{padding:1rem 1.1rem;font-size:.88rem;color:var(--ink-soft)}.side-note{border:1px dashed var(--border);border-radius:var(--radius);padding:1rem 1.1rem;font-size:.82rem;color:var(--ink-soft);margin-bottom:1.8rem}.criteria-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}.criteria-card{background:var(--bg-soft);border-radius:var(--radius);padding:1.4rem 1.3rem}.criteria-num{display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;border-radius:50%;background:var(--accent-deep);color:#fff;font-weight:700;font-size:.92rem;margin-bottom:.6rem}.criteria-card h3{font-size:1.02rem;margin:0 0 .5em}.criteria-card p{color:var(--ink-soft);font-size:.9rem;margin:0}.article-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem 1.7rem 1.8rem;box-shadow:var(--shadow)}.article-card__meta{display:flex;gap:.7em;align-items:center;font-size:.8rem;color:var(--ink-soft);margin-bottom:.7rem}.criteria-card .criteria-link{margin:.8em 0 0;font-size:.85rem}.criteria-link a:before{content:"→ "}.axis-lead{margin:-.6em 0 1.2em;color:var(--ink-soft);font-size:.9rem}.all-articles{margin:1.6rem 0 0;text-align:center}.tag{color:var(--ink-soft);font-size:.78rem;font-weight:700;letter-spacing:.02em}.article-card :is(h2,h3) a{color:inherit;text-decoration:none}.article-card :is(h2,h3) a:hover{color:var(--accent-deep);text-decoration:underline}.article-card :is(h2,h3){font-size:1.2rem;margin:0 0 .6em}.article-card p{color:var(--ink-soft);margin:0 0 1.2em}h2.section-title{font-size:1.4rem;font-weight:700;border-bottom:3px solid var(--accent);padding-bottom:.5em;margin:0 0 1.5rem}.hero{padding:2.6rem 1.5rem 2.2rem;text-align:center;border-bottom:1px solid var(--border)}.hero__inner{max-width:var(--main-w);margin:0 auto}.hero__eyebrow{display:inline-block;background:var(--accent-deep);color:#fff;font-size:.78rem;font-weight:700;padding:.3em .9em;border-radius:999px;margin-bottom:1rem}.hero h1{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:700;color:var(--ink-heading);margin:0 0 .7em;line-height:1.5}.hero p{color:var(--ink-soft);font-size:1rem;margin:0 auto}.site-footer{border-top:1px solid var(--border);padding:2rem 1.5rem 3rem;font-size:.85rem;color:var(--ink-soft);background:var(--bg-soft)}.site-footer__inner{max-width:var(--page-w);margin:0 auto;display:flex;flex-wrap:wrap;gap:.5em 1.6em}.site-footer a{color:var(--ink-soft)}@media(max-width:480px){.hero,.layout,.site-footer__inner,.site-header{padding-left:1.1rem;padding-right:1.1rem}nav.site-nav{gap:.9rem;font-size:.8rem}}.note-inline{color:var(--ink-soft)}.nowrap{white-space:nowrap}
