*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f5ef;color:#203b35;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;line-height:1.9}a{color:#226551;text-underline-offset:4px}header{background:#fffdf7;border-bottom:1px solid #d8ded3}nav,.wrap{max-width:1080px;margin:auto;padding:22px}nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}nav a:first-child{font-weight:800;font-size:21px;margin-right:auto;text-decoration:none}.hero{padding:70px 0 40px}.eyebrow{letter-spacing:.15em;font-size:12px;color:#6e7766;font-weight:bold}h1{font-size:clamp(28px,4vw,49px);line-height:1.4;letter-spacing:-.025em;text-wrap:balance}h2{margin-top:2.4rem;line-height:1.6}h3{line-height:1.6}p{max-width:70ch}.lead{font-size:18px;color:#526258}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.card{padding:26px;background:white;border:1px solid #d8ded3;border-radius:14px}.card h2{margin:.5rem 0;font-size:23px}.tag{font-size:12px;color:#6f7769}.article{max-width:820px;margin:auto;background:#fffdf8;padding:clamp(20px,5vw,55px);border:1px solid #d8ded3;border-radius:16px}.article h1{font-size:clamp(28px,4vw,40px)}.meta,figcaption{font-size:13px;color:#607065}figure{margin:32px 0}img{max-width:100%;height:auto;border:1px solid #d4dbd3;border-radius:9px}pre{padding:20px;background:#edf2eb;overflow-x:auto;color:#203b35;white-space:pre-wrap;overflow-wrap:anywhere}blockquote{margin:20px 0;border-left:3px solid #d0a775;padding:18px;background:#f8efe2}table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}td,th{border:1px solid #cbd5c8;padding:12px;overflow-wrap:anywhere;text-align:left;vertical-align:top}th{background:#edf2eb}.cta{padding:24px;background:#e8eee4;border-radius:12px;margin:30px 0}.button{display:inline-block;border-radius:8px;background:#285c49;color:white;padding:10px 20px;text-decoration:none}.toc{padding:20px;border:1px dashed #bfcbbb}.toc a{display:block}footer{border-top:1px solid #d8ded3;margin-top:60px;padding:28px;font-size:13px}footer .wrap{padding:0}input{font:inherit;padding:10px;border:1px solid #8eab99;border-radius:8px;width:100%;margin-bottom:24px}@media(max-width:620px){.grid{grid-template-columns:1fr}.hero{padding-top:30px}nav{gap:12px}nav a:first-child{width:100%}.wrap{padding:18px}td,th{padding:8px}.article{border-radius:8px}.lead{font-size:16px}}