:root{--color-bg: #ffffff;--color-fg: #1a1f29;--color-muted: #5c6675;--color-border: #e6e8ec;--color-soft: #f5f7fa;--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-accent: #ff6a3d;--color-accent-dark: #e8542a;--color-star: #f5a623;--maxw: 1080px;--maxw-prose: 720px;--radius: 12px;--shadow: 0 1px 3px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .06);--font: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--color-fg);background:var(--color-bg);line-height:1.8;font-size:16px;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.prose-container{max-width:var(--maxw-prose);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:saturate(180%) blur(8px)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:flex;align-items:baseline;gap:8px;font-weight:800;font-size:1.25rem;color:var(--color-fg)}.brand:hover{text-decoration:none}.brand .tag{font-size:.7rem;color:var(--color-muted);font-weight:500}.nav{display:flex;gap:18px;flex-wrap:wrap}.nav a{color:var(--color-fg);font-size:.9rem;font-weight:600}.nav-toggle{display:none}.site-footer{border-top:1px solid var(--color-border);background:var(--color-soft);margin-top:64px;padding:40px 0;font-size:.88rem;color:var(--color-muted)}.site-footer a{color:var(--color-muted)}.site-footer .cols{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}.site-footer .links{display:flex;flex-wrap:wrap;gap:16px}.hero{padding:56px 0 40px;text-align:center}.hero h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.3;margin:0 0 12px}.hero p{color:var(--color-muted);font-size:1.05rem;max-width:640px;margin:0 auto}.section{padding:32px 0}.section h2{font-size:1.5rem;margin:0 0 20px;padding-left:12px;border-left:5px solid var(--color-primary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.card{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card .body{padding:16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}.card .cat{font-size:.72rem;font-weight:700;color:var(--color-primary)}.card h3{font-size:1.02rem;margin:0;line-height:1.5}.card h3 a{color:var(--color-fg)}.card .date{font-size:.76rem;color:var(--color-muted);margin-top:auto}.thumb-link{display:block}.eyecatch{position:relative;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,var(--c1, #2563eb),var(--c2, #1d4ed8));color:#fff;overflow:hidden}.eyecatch .ec-deco{position:absolute;top:-35%;right:-12%;width:65%;aspect-ratio:1;background:radial-gradient(circle,rgba(255,255,255,.2),transparent 70%);border-radius:50%;pointer-events:none}.eyecatch .ec-cat{font-weight:800;background:#ffffff38;border-radius:999px;align-self:flex-start}.eyecatch.card{aspect-ratio:16 / 9;padding:18px 20px}.eyecatch.card .ec-cat{font-size:.8rem;padding:3px 12px}.eyecatch.card .ec-title{display:none}.eyecatch.card .ec-brand{position:absolute;bottom:12px;right:16px;font-size:.78rem;font-weight:700;opacity:.9}.eyecatch.hero{border-radius:var(--radius);padding:30px 32px;margin:12px 0 4px;min-height:190px;gap:14px;box-shadow:var(--shadow)}.eyecatch.hero .ec-cat{font-size:.85rem;padding:4px 14px}.eyecatch.hero .ec-title{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:800;line-height:1.5}.eyecatch.hero .ec-brand{font-size:.85rem;font-weight:700;opacity:.9}.article-header{padding:36px 0 8px}.article-header .cat{color:var(--color-primary);font-weight:700;font-size:.82rem}.article-header h1{font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:1.4;margin:10px 0}.article-meta{color:var(--color-muted);font-size:.86rem;display:flex;gap:14px;flex-wrap:wrap}.prose{font-size:1.03rem}.prose h2{font-size:1.5rem;margin:2.2em 0 .8em;padding:8px 14px;background:var(--color-soft);border-left:5px solid var(--color-primary);border-radius:0 8px 8px 0;scroll-margin-top:80px}.prose h3{font-size:1.2rem;margin:1.8em 0 .6em;padding-bottom:6px;border-bottom:2px solid var(--color-border);scroll-margin-top:80px}.prose p{margin:1em 0}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.4em 0}.prose img{border-radius:8px}.prose a{font-weight:600;text-decoration:underline;text-underline-offset:2px}.prose blockquote{margin:1.4em 0;padding:12px 18px;border-left:4px solid var(--color-primary);background:var(--color-soft);color:var(--color-muted);border-radius:0 8px 8px 0}.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem}.prose th,.prose td{border:1px solid var(--color-border);padding:10px 12px;text-align:left}.prose th{background:var(--color-soft)}.prose code{background:var(--color-soft);padding:2px 6px;border-radius:4px;font-size:.9em}.toc{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-soft);padding:16px 20px;margin:24px 0}.toc .toc-title{font-weight:800;margin-bottom:8px}.toc ol{margin:0;padding-left:1.2em}.toc a{color:var(--color-fg)}.toc .h3{padding-left:1em;font-size:.92em}.disclosure{font-size:.8rem;color:var(--color-muted);background:var(--color-soft);border:1px dashed var(--color-border);border-radius:8px;padding:8px 12px;margin:14px 0}.aff-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--color-accent);color:#fff!important;font-weight:800;padding:14px 28px;border-radius:999px;text-decoration:none!important;box-shadow:0 4px 14px #ff6a3d59;transition:transform .12s ease,background .12s ease;font-size:1.02rem}.aff-btn:hover{background:var(--color-accent-dark);transform:translateY(-2px)}.aff-btn.block{display:flex;width:100%}.cta-box{border:2px solid var(--color-accent);border-radius:var(--radius);padding:22px;margin:28px 0;text-align:center;background:#fff7f4}.cta-box .ttl{font-weight:800;font-size:1.1rem;margin-bottom:6px}.cta-box .sub{color:var(--color-muted);font-size:.9rem;margin-bottom:14px}.cmp-wrap{overflow-x:auto;margin:24px 0}.cmp{width:100%;border-collapse:separate;border-spacing:0;min-width:560px;font-size:.92rem}.cmp th,.cmp td{border-bottom:1px solid var(--color-border);padding:12px;text-align:center;vertical-align:middle}.cmp thead th{background:var(--color-primary);color:#fff;position:sticky;top:0}.cmp tbody th{text-align:left;background:var(--color-soft);font-weight:700;min-width:130px}.cmp .name{font-weight:800}.cmp .rank{display:inline-block;background:var(--color-star);color:#fff;border-radius:6px;padding:1px 8px;font-size:.75rem;font-weight:800;margin-bottom:4px}.cmp .stars{color:var(--color-star);letter-spacing:1px}.rank-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin:20px 0;box-shadow:var(--shadow)}.rank-card .head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.rank-card .badge{background:var(--color-star);color:#fff;font-weight:800;border-radius:8px;padding:4px 12px;font-size:.85rem}.rank-card .name{font-size:1.2rem;font-weight:800;margin:0}.rank-card .price{color:var(--color-muted);font-size:.9rem}.rank-card .lists{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}.rank-card .lists h4{margin:0 0 6px;font-size:.9rem}.rank-card .pros li::marker{content:"○ ";color:#16a34a}.rank-card .cons li::marker{content:"△ ";color:var(--color-accent-dark)}.badge-pill{display:inline-block;font-size:.72rem;font-weight:700;color:var(--color-primary);background:#eff4ff;border-radius:999px;padding:3px 10px}.page-title{font-size:1.8rem;margin:36px 0 8px}.lead{color:var(--color-muted);margin-bottom:24px}.legal{max-width:var(--maxw-prose);margin:0 auto;padding:32px 20px 64px}.legal h2{font-size:1.3rem;margin-top:1.6em}.legal h1{font-size:1.9rem}@media(max-width:720px){.lists{grid-template-columns:1fr!important}.nav{gap:12px;font-size:.82rem}}
