:root{--bg:#f7f5f0;--card:#fff;--pri:#0b5c5c;--pri-dark:#084646;--pri-soft:#e1efec;--text:#1c1c1c;--muted:#54504a;--border:#d9d4c8;--r:18px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8}
a{color:var(--pri)}
a:focus-visible{outline:3px solid #b00020;outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
header{background:#fff;border-bottom:1px solid var(--border)}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;padding:12px 16px}
.logo{font-size:22px;font-weight:800;color:var(--pri);text-decoration:none;letter-spacing:.02em}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 6px}
nav a{display:block;padding:8px 12px;border-radius:999px;color:var(--text);text-decoration:none;font-size:14px;font-weight:600}
nav a:hover,nav a[aria-current]{background:var(--pri-soft);color:var(--pri-dark)}
.hero{padding:40px 16px 28px;text-align:center}
.hero h1{font-size:26px;line-height:1.4;margin:0 0 12px}
.hero p{max-width:640px;margin:0 auto 18px;color:var(--muted)}
.sns{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.sns a{background:var(--pri);color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px}
section{padding:28px 0}
h2{font-size:22px;margin:0 0 6px}
.lead{color:var(--muted);margin:0 0 18px;font-size:15px}
.grid{display:grid;gap:16px;grid-template-columns:1fr}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:0 2px 10px rgba(28,28,28,.06);padding:22px;display:flex;flex-direction:column}
.icon{width:52px;height:52px;border-radius:16px;background:var(--pri-soft);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:12px}
.card h3{margin:0 0 6px;font-size:19px}
.card p{margin:0 0 10px;font-size:15px}
.who{font-size:14px;color:var(--muted);background:#f1eee6;border-radius:10px;padding:8px 12px}
.card .who{margin-bottom:16px}
.badge{display:inline-block;font-size:12px;font-weight:700;background:#fff0b3;color:#5c4200;border-radius:999px;padding:2px 10px;margin-left:6px;vertical-align:middle}
.btn{margin-top:auto;align-self:flex-start;background:var(--pri);color:#fff;text-decoration:none;font-weight:700;padding:10px 20px;border-radius:999px;font-size:15px}
.btn:hover,.sns a:hover{background:var(--pri-dark)}
.arts{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:1fr}
.arts li{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px}
.arts a{font-weight:700;text-decoration:none}
.arts small{display:block;color:var(--muted);font-size:13px}
.arts p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.about{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:22px}
.about p{margin:0 0 12px}
.doc{padding-top:32px;padding-bottom:24px;max-width:820px}
.doc h1{font-size:28px;line-height:1.4;margin:0 0 16px}
.doc h2{margin:28px 0 8px;padding-bottom:4px;border-bottom:2px solid var(--pri)}
.doc h3{font-size:18px;margin:18px 0 4px}
.doc ul,.doc ol{padding-left:1.4em}
.meta{color:var(--muted);font-size:14px}
.notice{background:#fff0b3;color:#3d2c00;border-radius:10px;padding:12px 16px}
.ai-note,.toc,.related{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 16px;font-size:15px}
.toc ol{margin:6px 0 0}
.empty{background:#fff;border:1px dashed var(--border);border-radius:12px;padding:18px}
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px;background:#fff}
th,td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--pri-soft)}
footer{margin-top:24px;background:#fff;border-top:1px solid var(--border);padding:24px 0 32px;font-size:14px;color:var(--muted)}
footer ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
footer a{color:var(--text)}
@media(min-width:800px){.hero h1{font-size:36px}.grid{grid-template-columns:repeat(3,1fr)}.arts{grid-template-columns:1fr 1fr}.hero{padding:64px 16px 40px}}
.doc{overflow-wrap:anywhere}.doc pre{overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px}.doc code{font-size:.92em}.doc blockquote{margin:12px 0;padding:4px 14px;border-left:4px solid var(--pri);background:#fff}
