/* ハタラクジョシ 記事ページ共通CSS（C-4 独立HTML用） */
:root{
  --text-primary: oklch(0.22 0.02 55);
  --text-body: oklch(0.30 0.02 55);
  --text-muted: oklch(0.48 0.03 40);
  --accent: oklch(0.62 0.13 22);
  --accent-soft: oklch(0.72 0.10 20);
  --accent-bg: oklch(0.96 0.03 25);
  --border: oklch(0.90 0.015 30);
  --surface: #ffffff;
  --footer-bg: oklch(0.22 0.02 55);
  --footer-text: oklch(0.80 0.01 55);
  --footer-muted: oklch(0.65 0.01 55);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans JP",ui-sans-serif,system-ui,-apple-system,sans-serif;
  color:var(--text-body);
  background:#fdfcfb;
  line-height:1.9;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.serif{font-family:"Noto Serif JP",serif}

/* header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.9);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border);box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.header-inner{max-width:72rem;margin:0 auto;padding:0 1.25rem;height:4rem;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.6rem}
.brand img{width:2.25rem;height:2.25rem;object-fit:contain}
.brand .name{font-family:"Noto Serif JP",serif;font-size:1.25rem;font-weight:700;color:var(--text-primary)}
.brand .tag{font-size:10px;color:var(--text-muted);line-height:1;margin-top:-2px}
.site-nav{display:flex;align-items:center;gap:1.5rem;font-size:.9rem;font-weight:500;color:var(--text-muted)}
.site-nav a:hover{color:var(--accent-soft)}
@media(max-width:640px){.brand .tag{display:none}.site-nav{gap:1rem;font-size:.82rem}}

/* hero */
.article-hero{
  background:linear-gradient(135deg,var(--accent-bg) 0%,oklch(0.97 0.02 40) 100%);
  border-bottom:1px solid var(--border);
}
.hero-inner{max-width:46rem;margin:0 auto;padding:3rem 1.25rem 2.5rem}
.breadcrumb{font-size:.78rem;color:var(--text-muted);margin-bottom:1rem}
.breadcrumb a{color:var(--text-muted)}
.meta-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}
.badge{display:inline-block;background:var(--accent);color:#fff;font-size:.72rem;font-weight:600;padding:.25rem .7rem;border-radius:999px}
.chip{display:inline-block;background:#fff;border:1px solid var(--border);color:var(--text-muted);font-size:.72rem;padding:.25rem .7rem;border-radius:999px}
h1.article-title{font-family:"Noto Serif JP",serif;font-size:1.85rem;line-height:1.5;font-weight:700;color:var(--text-primary);letter-spacing:.01em}
@media(max-width:640px){h1.article-title{font-size:1.45rem}.hero-inner{padding:2rem 1.25rem 1.75rem}}
.update-date{font-size:.8rem;color:var(--text-muted);margin-top:.9rem}

/* author card */
.author-card{max-width:46rem;margin:1.5rem auto 0;padding:1rem 1.25rem;display:flex;gap:.9rem;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:14px}
.author-card .av{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--accent-bg);display:flex;align-items:center;justify-content:center;font-family:"Noto Serif JP",serif;font-weight:700;color:var(--accent);flex-shrink:0}
.author-card .who{font-size:.86rem}
.author-card .who b{color:var(--text-primary)}
.author-card .disc{font-size:.74rem;color:var(--text-muted);margin-top:.3rem;line-height:1.7}

/* article body */
.article-body{max-width:46rem;margin:0 auto;padding:2.5rem 1.25rem 1rem}
.lead{font-size:1.02rem;color:var(--text-primary);background:var(--accent-bg);border-left:3px solid var(--accent);padding:1.1rem 1.2rem;border-radius:0 10px 10px 0;margin-bottom:2rem;line-height:1.95}
.article-body h2{font-family:"Noto Serif JP",serif;font-size:1.4rem;font-weight:700;color:var(--text-primary);margin:2.6rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent-bg);line-height:1.5}
.article-body h3{font-family:"Noto Serif JP",serif;font-size:1.12rem;font-weight:600;color:var(--text-primary);margin:1.8rem 0 .7rem}
.article-body p{margin:0 0 1.1rem}
.article-body ul,.article-body ol{margin:0 0 1.3rem;padding-left:1.4rem}
.article-body li{margin-bottom:.55rem}
.article-body strong{color:var(--accent);font-weight:700}
.table-wrap{overflow-x:auto;margin:0 0 1.5rem}
table{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}
th,td{padding:.7rem .8rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
th{background:var(--accent-bg);color:var(--text-primary);font-weight:600;font-size:.82rem}
tr:last-child td{border-bottom:none}
.callout{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.2rem;margin:0 0 1.6rem;font-size:.92rem}
.callout b{color:var(--text-primary)}

/* FAQ */
.faq h3{font-size:1.02rem;margin-top:1.4rem}
.faq .q{color:var(--text-primary);font-weight:600}
.faq .a{color:var(--text-body)}

/* CTA */
.cta{background:linear-gradient(135deg,var(--accent-bg),oklch(0.95 0.03 35));border:1px solid var(--border);border-radius:16px;padding:1.6rem 1.4rem;margin:2.4rem 0 1rem;text-align:center}
.cta p{margin-bottom:1rem;color:var(--text-primary)}
.cta a.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:.8rem 1.6rem;border-radius:999px;font-size:.95rem}
.cta a.btn:hover{text-decoration:none;opacity:.92}
.cta .sub{font-size:.76rem;color:var(--text-muted);margin-top:.7rem;margin-bottom:0}

.refs{max-width:46rem;margin:1.5rem auto 0;padding:1.2rem 1.25rem;font-size:.82rem;color:var(--text-muted)}
.refs h4{font-size:.9rem;color:var(--text-primary);margin-bottom:.5rem;font-family:"Noto Serif JP",serif}
.refs li{margin-bottom:.35rem}

/* footer */
.site-footer{background:var(--footer-bg);color:var(--footer-text);margin-top:3rem}
.footer-inner{max-width:72rem;margin:0 auto;padding:3rem 1.25rem}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}
@media(min-width:768px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}
.footer-brand{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}
.footer-brand img{width:2rem;height:2rem;object-fit:contain;opacity:.9}
.footer-brand .name{font-family:"Noto Serif JP",serif;font-size:1.1rem;font-weight:700;color:#fff}
.site-footer p.desc{font-size:.84rem;color:var(--footer-muted);line-height:1.8}
.site-footer h3{color:#fff;font-size:.86rem;font-weight:600;margin-bottom:.8rem}
.site-footer ul{list-style:none}
.site-footer ul li{margin-bottom:.5rem}
.site-footer ul li a{color:var(--footer-text);font-size:.84rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1.4rem;font-size:.78rem;color:var(--footer-muted);text-align:center}
