/* そなえる収納 — 共通スタイル */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700;900&family=Noto+Sans+JP:wght@400;500;700&family=Roboto+Mono:wght@400;500;700&display=swap');

:root{
  --paper:#F2F4F0;
  --paper-line:rgba(43,88,118,0.08);
  --surface:#FFFFFF;
  --ink:#20242B;
  --ink-soft:#5B6570;
  --ink-faint:#8B948C;
  --border:#D7DAD1;
  --accent:#B54834;
  --accent-soft:#F1DCD3;
  --blue:#2B5876;
  --blue-soft:#DCE6EC;
  --good:#3F6B4F;
  --good-soft:#DCE7DE;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:
    linear-gradient(var(--paper-line) 1px, transparent 1px) 0 0/40px 40px,
    linear-gradient(90deg, var(--paper-line) 1px, transparent 1px) 0 0/40px 40px,
    var(--paper);
  color:var(--ink);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;text-wrap:balance;margin:0 0 .5em;color:var(--ink);}
a{color:var(--blue);}
.wrap{max-width:920px;margin:0 auto;padding:0 20px;}
.mono{font-family:"Roboto Mono",monospace;}

/* header */
.site-header{background:var(--surface);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:10;}
.site-header .bar{max-width:920px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:24px;}
.site-header .brand{font-family:"Zen Kaku Gothic New",sans-serif;font-weight:900;font-size:19px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px;}
.site-header .brand .mark{width:26px;height:26px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;flex:none;}
.mainnav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap;}
.mainnav a{color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:500;}
.mainnav a:hover{color:var(--accent);}

/* hero */
.hero{padding:48px 0 20px;}
.hero .eyebrow{font-family:"Roboto Mono",monospace;font-size:12px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;display:flex;gap:8px;align-items:center;}
.hero .eyebrow::before{content:"";width:9px;height:9px;border:2px solid var(--accent);transform:rotate(45deg);}
.hero h1{font-size:clamp(24px,4vw,34px);margin-top:12px;}
.hero .lede{font-size:15.5px;color:var(--ink-soft);max-width:60ch;margin-top:12px;}

/* disclosure */
.disclosure{display:flex;gap:10px;background:var(--blue-soft);color:var(--ink);border-left:3px solid var(--blue);padding:12px 16px;font-size:12.5px;margin:24px 0;line-height:1.7;}
.disclosure .dot{flex:none;width:18px;height:18px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:"Roboto Mono",monospace;}

/* category grid (top / guide page) */
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:20px 0 40px;}
.catgrid .card{background:var(--surface);border:1px solid var(--border);padding:16px 18px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px;transition:border-color .15s;}
.catgrid .card:hover{border-color:var(--accent);}
.catgrid .card .cat{font-family:"Roboto Mono",monospace;font-size:11px;color:var(--accent);letter-spacing:.04em;text-transform:uppercase;}
.catgrid .card .t{font-weight:700;font-size:15.5px;line-height:1.5;}
.catgrid .card .d{font-size:12.5px;color:var(--ink-soft);line-height:1.6;}

/* section heading on top page */
.sectiontitle{font-size:1.05rem;font-weight:800;margin:36px 0 4px;padding-left:10px;border-left:3px solid var(--accent);}
.sectionlede{font-size:13px;color:var(--ink-soft);margin:6px 0 0;}

/* article prose */
article.prose{background:var(--surface);border:1px solid var(--border);padding:32px clamp(20px,5vw,48px);margin:24px 0 40px;}
article.prose > h2{font-size:20px;margin-top:2em;padding-top:.6em;border-top:1px solid var(--border);}
article.prose > h2:first-child{margin-top:0;padding-top:0;border-top:none;}
article.prose > h3{font-size:16.5px;color:var(--blue);margin-top:1.6em;}
article.prose p{max-width:70ch;}
article.prose ul,article.prose ol{padding-left:22px;max-width:68ch;}
article.prose li{margin:6px 0;}
.byline{display:flex;gap:14px;align-items:center;font-size:12.5px;color:var(--ink-faint);margin:10px 0 0;font-family:"Roboto Mono",monospace;}

/* comparison table */
.tablewrap{overflow-x:auto;border:1px solid var(--border);margin:18px 0;}
table.cmp{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px;}
table.cmp th,table.cmp td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;}
table.cmp thead th{background:var(--ink);color:var(--paper);font-family:"Roboto Mono",monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;}
table.cmp tbody tr:last-child td{border-bottom:none;}

/* checklist */
.checklist{list-style:none;margin:16px 0;padding:0;border:1px solid var(--border);background:var(--surface);}
.checklist li{padding:10px 16px;border-bottom:1px solid var(--border);display:flex;gap:10px;font-size:14px;}
.checklist li:last-child{border-bottom:none;}
.checklist li::before{content:"□";color:var(--accent);flex:none;font-family:"Roboto Mono",monospace;}

/* CTA (rakuten / affiliate button) */
.cta{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff !important;text-decoration:none;padding:12px 20px;font-weight:700;font-size:14px;margin:14px 0;border:none;}
.cta:hover{opacity:.9;}
.cta .tag{background:rgba(255,255,255,.25);font-size:10.5px;padding:2px 7px;font-family:"Roboto Mono",monospace;letter-spacing:.04em;}
.ctarow{display:flex;flex-wrap:wrap;gap:10px;}

/* FAQ */
.faq dt{font-weight:700;margin-top:16px;display:flex;gap:8px;}
.faq dt::before{content:"Q";flex:none;width:22px;height:22px;background:var(--blue);color:#fff;font-size:12px;font-family:"Roboto Mono",monospace;display:flex;align-items:center;justify-content:center;}
.faq dd{margin:6px 0 0 30px;color:var(--ink-soft);font-size:14px;}

/* callout */
.callout{background:var(--good-soft);border-left:3px solid var(--good);color:var(--ink);padding:12px 16px;font-size:13.5px;margin:16px 0;}
.callout.note{background:var(--blue-soft);border-left-color:var(--blue);}

/* footer */
.site-footer{border-top:2px solid var(--ink);margin-top:40px;padding:24px 0;font-size:12px;color:var(--ink-faint);}
.site-footer a{color:var(--ink-faint);}

@media (max-width:600px){
  article.prose{padding:22px 16px;}
}
