
:root{--accent:#5b3a8f;--bg:#f3f0f7;--paper:#fff;--text:#24202b;--muted:#6e6875;}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,'Noto Sans JP',sans-serif;line-height:1.8}
a{color:inherit;text-decoration:none} .wrap{max-width:1080px;margin:auto;padding:0 20px}
header{background:#fff;box-shadow:0 2px 16px rgba(30,20,40,.08)} nav{display:flex;justify-content:space-between;align-items:center;padding:20px 0} .logo{font-size:24px;font-weight:900;letter-spacing:-.03em} nav .links{display:flex;gap:16px;font-size:13px;flex-wrap:wrap}
.hero{margin-top:25px;background:#fff;padding:28px;display:grid;grid-template-columns:1fr 1.15fr;gap:28px;align-items:center;border-radius:22px} .hero img{width:100%;height:450px;object-fit:cover;border-radius:16px} .kicker{color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.18em} h1{font-size:clamp(40px,6vw,72px);line-height:1.02;margin:12px 0} .lead{font-size:17px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px} .card{background:#fff;padding:18px;border-radius:18px;box-shadow:0 6px 20px rgba(40,20,50,.06)} .card img{width:100%;height:175px;object-fit:cover;border-radius:12px} .date{font-size:11px;color:var(--accent);font-weight:900;margin-top:10px} section{padding:55px 0} h2{font-size:30px} .prose{max-width:780px;font-size:16px;color:var(--muted)} table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:14px;overflow:hidden} th,td{padding:13px;border-bottom:1px solid #eee;text-align:left} th{color:var(--accent)} footer{padding:35px 0;color:var(--muted);font-size:12px} .comment{background:#fff;padding:14px;border-radius:12px;margin:10px 0} .nick{font-weight:800;color:var(--accent)}
@media(max-width:800px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:1fr}}
