:root{color-scheme:light;--ink:#203944;--muted:#52666e;--line:#d8e0df;--paper:#fafaf7;--accent:#256669}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 system-ui,-apple-system,"Noto Sans JP",sans-serif}a{color:var(--accent);text-underline-offset:4px}header,footer{max-width:1160px;margin:auto;display:flex;align-items:center;gap:24px;padding:24px 32px}header{justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font:600 23px/1.2 Georgia,serif}.brand span{display:block;font:12px/2 system-ui;letter-spacing:.16em;text-transform:uppercase}nav{display:flex;gap:24px;font-size:14px}main{max-width:1160px;margin:auto;padding:54px 32px 80px}.intro{max-width:740px;margin-bottom:40px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:650;color:var(--accent)}h1{font-size:clamp(30px,4vw,44px);font-weight:550;margin:10px 0 18px}h2{font-size:21px;margin:0 0 12px}h3{font-size:16px}.contact-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:64px}aside{border-left:1px solid var(--line);padding-left:32px}aside p{font-size:14px}.email{overflow-wrap:anywhere;font-size:15px}hr{border:0;border-top:1px solid var(--line);margin:30px 0}.hint,small{font-size:13px;color:var(--muted)}label{display:block;font-weight:600;margin:22px 0 7px}label small{margin-left:8px;font-weight:400}.pair{display:grid;grid-template-columns:1fr 1.3fr;gap:20px}input,select,textarea{width:100%;font:inherit;border:1px solid #9eafaf;background:white;border-radius:5px;padding:11px;color:var(--ink)}textarea{resize:vertical;min-height:180px}.privacy{font-size:13px;color:var(--muted);margin:26px 0}button{font:600 16px system-ui;padding:14px 32px;border:0;border-radius:4px;background:var(--accent);color:white;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}#contact-status{font-size:14px}#contact-status[data-state=error]{color:#8d302a}#contact-status[data-state=success]{color:#245e40}footer{border-top:1px solid var(--line);font-size:13px}footer span{margin-right:auto}:focus-visible{outline:3px solid #a45c25;outline-offset:3px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.skip{position:absolute;left:12px;top:-80px;background:white;padding:12px}.skip:focus{top:12px}@media(max-width:760px){header,footer{padding:20px}main{padding:32px 20px 50px}.contact-layout{grid-template-columns:1fr;gap:36px}.pair{grid-template-columns:1fr;gap:0}aside{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}nav{gap:14px}.brand{font-size:18px}footer{flex-wrap:wrap}}
