*{box-sizing:border-box}body{margin:0;font:17px/1.75 system-ui,-apple-system,"Noto Sans JP",sans-serif;background:#f8faf8;color:#263b38}a{color:#237763}.wrap{width:min(1080px,calc(100% - 36px));margin:auto}header{background:white;border-bottom:1px solid #dce6e0}.header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:24px;font-weight:800;color:#263b38;text-decoration:none}.brand small{font-size:12px;font-weight:400}.intro{padding:48px 0 20px;max-width:800px}.eyebrow{color:#27836e;letter-spacing:.2em;font-size:13px;font-weight:800}.intro h1{font-size:clamp(32px,4vw,46px);margin:0}.intro>p:not(.eyebrow){font-size:19px}.intro select{width:auto;min-width:140px;margin-left:12px}.layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:22px;padding:20px 0 65px}.panel{background:white;border:1px solid #dce6e0;border-radius:16px;padding:clamp(20px,3vw,34px)}.side{align-self:start;background:#f1f7f3}.panel h2{font-size:25px;margin:0 0 18px}form{display:grid;gap:10px}label{font-weight:700;font-size:16px;margin-top:10px}input,select,textarea{font:inherit;width:100%;border:1px solid #adbbb6;border-radius:8px;background:white;color:inherit;padding:11px 13px;min-width:0}textarea{resize:vertical}button{background:#277b68;color:white;border:0;border-radius:9px;font:inherit;font-weight:700;padding:14px;cursor:pointer;margin-top:8px}button:hover{background:#1b6253}.notice{font-size:15px;color:#536963;background:#f0f6f2;padding:14px;border-radius:9px}.trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dce6e0;padding:22px 0;font-size:15px}@media(max-width:760px){.layout{grid-template-columns:1fr}.intro{padding-top:28px}.intro>p:not(.eyebrow){font-size:17px}}
/* v3 - calm, editorial contact layout without reducing readability */
body{background:#fbfcfb;color:#263c38}
.intro{padding:42px 0 10px;max-width:850px}
.intro h1{font-size:clamp(34px,3.5vw,44px);line-height:1.35}
.intro>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#516761;margin:12px 0 22px}
.intro label[for="lang"]{font-size:14px;font-weight:500;color:#60746f}
.intro select{font-size:15px;padding:8px 12px;min-width:120px}
.layout{grid-template-columns:minmax(0,1.65fr) minmax(230px,.85fr);gap:clamp(24px,4vw,56px);padding:18px 0 70px;align-items:start}
.layout>.panel:not(.side){padding:clamp(22px,3vw,34px);border:1px solid #e6ece8;box-shadow:0 8px 26px #203b3007;border-radius:14px}
.panel h2{font-size:21px;font-weight:700;margin:0 0 14px}
form{gap:7px}
form label{margin-top:12px;font-size:15px;font-weight:650}
form input,form select,form textarea{border-color:#c9d5ce;border-radius:8px;padding:10px 13px;font-size:16px;line-height:1.55;transition:border-color .15s,box-shadow .15s}
form input:focus,form select:focus,form textarea:focus{outline:2px solid #c5e6db;outline-offset:1px;border-color:#2b806c}
form textarea{min-height:155px}
form button{min-height:52px;margin-top:9px;font-size:16px;border-radius:8px}
.notice{font-size:14px;line-height:1.65;background:#f5f8f5;color:#5d6e68;padding:12px 14px;margin:14px 0 4px}
.layout>.side{background:transparent;border:0;border-left:1px solid #dce6e0;border-radius:0;padding:12px 0 12px 24px;box-shadow:none}
.side h2{font-size:17px;font-weight:650;margin:0 0 10px}
.side p{font-size:15px;line-height:1.8;color:#60716b}
.side a{font-size:15px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.layout{grid-template-columns:1fr;gap:10px;padding-bottom:40px}.intro{padding-top:30px}.layout>.side{border:0;border-top:1px solid #dce6e0;padding:20px 4px 0}.layout>.panel:not(.side){padding:22px 18px}.intro>p:not(.eyebrow){font-size:16px}}

.email-note{margin:0;color:#60756d;font-size:14px;line-height:1.6}
