:root{--bg:#faf7f5;--surface:#fff;--text:#2b2b2b;--muted:#6a625e;--primary:#8a4b5e;--primary-dark:#6f3a4a;--primary-soft:#f3e8ec;--secondary:#3d5a6c;--secondary-soft:#e8eff3;--accent:#c9a66b;--accent-soft:#f6efe0;--line:#e6ddd8;--radius:10px;--wrap:1040px;--measure:720px;--font:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);font-feature-settings:"palt" 0;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.8}img{max-width:100%;height:auto}a{color:var(--primary);text-underline-offset:3px}a:hover{color:var(--primary-dark)}:focus-visible{outline:3px solid var(--secondary);outline-offset:2px;border-radius:3px}.skip{background:var(--text);color:#fff;z-index:100;padding:8px 14px;position:absolute;top:0;left:-999px}.skip:focus{top:8px;left:8px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}.measure{max-width:var(--measure);margin:0 auto;padding:0 16px}main{padding-bottom:56px;display:block}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.site-header .inner{flex-wrap:wrap;align-items:center;gap:8px 24px;padding-top:12px;padding-bottom:12px;display:flex}.brand{color:var(--text);flex-direction:column;line-height:1.3;text-decoration:none;display:flex}.brand .name{color:var(--primary);letter-spacing:.02em;font-size:1.35rem;font-weight:700}.brand small{color:var(--muted);font-size:.75rem}.nav ul{gap:4px 6px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.nav a{color:var(--text);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.875rem;text-decoration:none;display:inline-block}.nav a:hover,.nav a[aria-current=page]{background:var(--primary-soft);color:var(--primary-dark)}.site-footer{color:#e9e2e0;background:#2f2a2c;padding:40px 0 28px;font-size:.875rem}.site-footer a{color:#f1d9e0}.site-footer .cols{grid-template-columns:1fr;gap:24px;display:grid}.site-footer h2{color:var(--accent);margin:0 0 8px;font-size:.9rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin:4px 0}.site-footer .legal{color:#bdb2b0;border-top:1px solid #4a4244;margin-top:24px;padding-top:16px;font-size:.8rem}@media (width>=720px){.site-footer .cols{grid-template-columns:2fr 1fr 1fr}}.breadcrumb{color:var(--muted);padding:14px 0 4px;font-size:.8125rem}.breadcrumb ol{flex-wrap:wrap;gap:2px 0;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";color:var(--accent);margin:0 8px}.breadcrumb a{color:var(--muted)}.pr-mark{background:var(--accent-soft);color:#6b5320;border:1px solid var(--accent);vertical-align:.15em;letter-spacing:.04em;border-radius:3px;margin-left:4px;padding:2px 5px;font-size:.65rem;font-weight:700;line-height:1;display:inline-block}.pr-notice{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;margin:16px 0;padding:10px 14px;font-size:.875rem}.pr-notice a{color:var(--secondary)}.updated-badge{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;font-size:.8125rem;display:flex}.updated-badge time{color:var(--text)}.notice{background:var(--secondary-soft);border-left:4px solid var(--secondary);border-radius:0 var(--radius) var(--radius) 0;margin:24px 0;padding:14px 16px;font-size:.9375rem}.notice h2,.notice h3{color:var(--secondary);border:0;margin:0 0 6px;padding:0;font-size:1rem}.notice p{margin:6px 0}.notice .src{color:var(--muted);font-size:.8125rem}.draft-banner{border-radius:var(--radius);background:#fff4cf;border:1px dashed #b38b00;margin:12px 0;padding:8px 14px;font-size:.875rem}.article-head h1{margin:12px 0 4px;font-size:1.6rem;line-height:1.45}.cat-badge{background:var(--primary-soft);color:var(--primary-dark);border-radius:999px;padding:2px 10px;font-size:.75rem;text-decoration:none;display:inline-block}.post-body h2{border-bottom:2px solid var(--accent);color:var(--text);margin:2.4em 0 .7em;padding:0 0 .35em;font-size:1.35rem;line-height:1.5}.post-body h3{border-left:4px solid var(--primary);margin:1.8em 0 .5em;padding-left:10px;font-size:1.1rem}.post-body p,.post-body ul,.post-body ol{margin:1em 0}.post-body li{margin:.3em 0}.post-body blockquote{border-left:4px solid var(--line);color:var(--muted);margin:1.2em 0;padding:4px 16px}.post-body table{border-collapse:collapse;width:100%;font-size:.9rem;display:block;overflow-x:auto}.post-body th,.post-body td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.post-body th{background:var(--primary-soft)}.aff-link{font-weight:500}.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:24px 0;padding:14px 18px}.toc h2{margin:0 0 6px;font-size:.95rem}.toc ol{margin:0;padding-left:1.3em;font-size:.9rem}.toc ol ol{margin-top:2px}.toc li{margin:2px 0}.sources{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:40px 0 0;padding:16px 18px;font-size:.875rem}.sources h2{margin:0 0 6px;font-size:1rem}.sources ul{margin:0;padding-left:1.2em}.sources a{color:var(--secondary)}.faq{margin:40px 0 0}.faq h2{border-bottom:2px solid var(--accent);padding-bottom:.35em;font-size:1.35rem}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:10px 0}.faq summary{cursor:pointer;padding:12px 16px;font-weight:700;list-style-position:inside}.faq details>div{padding:0 16px 12px}.faq details>div p{margin:.4em 0}.grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.grid.three{grid-template-columns:repeat(3,1fr)}}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.post-card h3{margin:0;font-size:1.05rem;line-height:1.5}.post-card h3 a{color:var(--text);text-decoration:none}.post-card h3 a:hover{color:var(--primary);text-decoration:underline}.post-card p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.7}.post-card .meta{color:var(--muted);align-items:center;gap:10px;font-size:.75rem;display:flex}.post-card.draft{border-style:dashed}.vendor-card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:var(--radius);margin:28px 0;padding:18px 20px}.vendor-card__pr{color:var(--muted);margin:0 0 4px;font-size:.75rem}.vendor-card__pr .pr-mark{margin-left:0}.post-body .vendor-card__name,.vendor-card__name{border:0;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 6px;padding:0;font-size:1.15rem;display:flex}.vendor-card__name small{color:var(--secondary);background:var(--secondary-soft);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:400}.post-body .vendor-card p{margin:0}.post-body .vendor-card .vendor-card__lead{margin:4px 0 10px}.post-body .vendor-card ul{margin:0 0 12px}.vendor-card__lead{margin:4px 0 10px;font-size:.9375rem}.post-body .vendor-card .vendor-card__sub{margin:8px 0 2px}.vendor-card__sub{color:var(--secondary);margin:8px 0 2px;font-size:.8125rem;font-weight:700}.vendor-card__checks{margin:0 0 12px;padding-left:1.2em;font-size:.9rem}.post-body .vendor-card .vendor-card__action,.vendor-card__action{margin:12px 0 6px}.vendor-card__btn{background:var(--primary);text-align:center;border-radius:8px;padding:12px 22px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-block;color:#fff!important}.vendor-card__btn:hover{background:var(--primary-dark)}.post-body .vendor-card .vendor-card__note{margin:6px 0 0}.vendor-card__note{color:var(--muted);margin:6px 0 0;font-size:.75rem;line-height:1.6}.compare-table{margin:24px 0}.compare-table caption{text-align:left;padding-bottom:8px;font-weight:700}.compare-table .scroll{overflow-x:auto}.compare-table table{border-collapse:collapse;background:var(--surface);width:100%;min-width:520px;font-size:.9rem}.compare-table th,.compare-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.compare-table thead th{background:var(--primary-soft)}.compare-table tbody th{background:var(--bg);white-space:nowrap}.compare-table .note{color:var(--muted);margin:6px 0 0;font-size:.8125rem}.ranking-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto 1fr;gap:4px 16px;margin:14px 0;padding:16px 18px;display:grid}.ranking-card .rank{color:var(--accent);grid-row:span 3;font-size:1.6rem;font-weight:700;line-height:1.2}.ranking-card h3{margin:0;font-size:1.05rem}.ranking-card p{margin:0;font-size:.9rem}.ranking-card .criteria{font-size:.8125rem}.hero{background:linear-gradient(180deg, var(--primary-soft), var(--bg));padding:44px 0 32px}.hero h1{color:var(--primary-dark);margin:0 0 12px;font-size:1.75rem;line-height:1.5}.hero p{max-width:38em;margin:0 0 12px}.hero .btns{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.btn{border:2px solid var(--primary);border-radius:8px;padding:11px 20px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-block}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark);color:#fff}.btn.ghost{color:var(--primary);background:0 0}.section{margin-top:44px}.section>h2{border-bottom:2px solid var(--accent);margin:0 0 4px;padding-bottom:.3em;font-size:1.35rem}.section .lead{color:var(--muted);margin:8px 0 16px;font-size:.9rem}.pledge{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}@media (width>=720px){.pledge{grid-template-columns:repeat(3,1fr)}}.pledge li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;font-size:.9rem}.pledge strong{color:var(--primary-dark);margin-bottom:4px;display:block}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center;padding:20px}.page h1{margin:16px 0 12px;font-size:1.6rem;line-height:1.5}.page h2{border-bottom:2px solid var(--accent);margin:2em 0 .6em;padding-bottom:.3em;font-size:1.25rem}.page h3{margin:1.6em 0 .4em;font-size:1.05rem}.todo{background:#fff4cf;border-radius:3px;padding:0 4px}.form label{margin:14px 0 4px;font-size:.9rem;font-weight:700;display:block}.form input,.form textarea,.form select{width:100%;font:inherit;background:#fff;border:1px solid #b9aea8;border-radius:8px;padding:10px 12px}.form button{font:inherit;cursor:pointer;border:0;margin-top:18px}.form .hp{position:absolute;left:-9999px}@media (width>=720px){.article-head h1{font-size:1.9rem}.hero h1{font-size:2.1rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.site-header,.site-footer,.toc,.vendor-card__btn{display:none}}
