
:root{--bg:#fbfaf7;--paper:#fff;--text:#1f2933;--muted:#667085;--line:#e7e0d7;--accent:#8a5a2b;--soft:#f3ede5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.8}.wrap{max-width:980px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.88);position:sticky;top:0;backdrop-filter:blur(8px);z-index:10}.site-header .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:14px;padding-bottom:14px}.brand{font-weight:700;font-size:18px;color:var(--text);text-decoration:none}.nav a{color:var(--muted);margin-left:16px;text-decoration:none}.hero{padding:56px 0 34px}.hero h1{font-size:clamp(30px,5vw,52px);line-height:1.18;margin:0 0 14px}.hero p{color:var(--muted);font-size:17px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:24px 0 48px}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(31,41,51,.04)}.card h2,.card h3{line-height:1.45;margin:.2em 0}.card a,.article-title a{color:var(--text);text-decoration:none}.meta,.terms,.count{color:var(--muted);font-size:13px}.terms a{color:var(--accent);text-decoration:none;margin-right:8px}.article{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,4vw,46px);margin:34px 0}.article h1{font-size:clamp(28px,4vw,44px);line-height:1.25}.content img{max-width:100%;height:auto;border-radius:12px}.content table{max-width:100%;overflow:auto;border-collapse:collapse}.content th,.content td{border:1px solid var(--line);padding:6px 10px}.pager{display:flex;justify-content:space-between;gap:16px;margin:28px 0}.pager a,.button{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--text);text-decoration:none}.list{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;margin:24px 0}.list li{margin:8px 0}.footer{border-top:1px solid var(--line);padding:28px 0;margin-top:48px;color:var(--muted);font-size:13px}@media(max-width:640px){.site-header .wrap{display:block}.nav a{margin:0 12px 0 0}.article{border-radius:0;border-left:0;border-right:0}.wrap{padding:0 16px}}
