body{background:#f6f9f3;color:#243126} [hidden]{display:none!important}.contact-main{max-width:960px;margin:0 auto;padding:36px 24px 72px}.back{font-size:13px;color:#63755e;text-decoration:none}.contact-heading{text-align:center;padding:36px 0 28px}.eyebrow{color:#2f8c36;font-weight:700;letter-spacing:.12em;font-size:14px}.contact-heading h1{font-family:var(--serif,'Noto Serif JP',serif);font-size:clamp(27px,3vw,38px);line-height:1.65;margin:12px 0 18px;font-weight:700}.contact-heading>p:last-child{font-size:15px;line-height:1.9;color:#576551}.mobile-break{display:none}.preview-note{background:#fff7e6;border:1px solid #efd7a3;border-radius:8px;padding:14px 18px;font-size:13px;line-height:1.8;color:#6b542b}.form-progress{display:flex;justify-content:center;gap:44px;list-style:none;padding:26px 0;margin:0;font-size:14px;color:#7c8b77}.form-progress li{display:flex;align-items:center;gap:9px}.form-progress span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e5eadf;font-size:12px}.form-progress .active{color:#26782f;font-weight:700}.form-progress .active span{background:#2b8435;color:white}.contact-card{background:white;border:1px solid #d6e1cf;border-radius:14px;padding:36px 48px;box-shadow:0 10px 30px #31502808}.form-intro{font-size:13px;line-height:1.8;color:#65715f;margin:0 0 24px}.required,.optional{display:inline-block;font-size:11px;padding:2px 7px;border-radius:3px;line-height:1.6;vertical-align:middle;font-weight:500;letter-spacing:0}.required{background:#eef5e8;color:#2c7c35}.optional{background:#f0f1ed;color:#71786a}fieldset{border:0;margin:0 0 24px;padding:0;min-width:0}legend{width:100%;font-family:var(--serif,'Noto Serif JP',serif);font-size:23px;font-weight:700;border-bottom:1px solid #c8d9c2;padding:12px 0 16px;margin-bottom:24px}legend>span{font-family:system-ui,sans-serif;font-size:16px;color:#4b9353;margin-right:14px}.field{display:block;margin-bottom:22px}.field>span{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;margin-bottom:9px}.field input,.field select,.field textarea{box-sizing:border-box;width:100%;border:1px solid #c6d3c0;border-radius:6px;padding:13px 14px;background:#fbfcfa;color:#253226;font:inherit;font-size:16px;line-height:1.6}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #4a98562a;border-color:#438b4a}.field small{display:block;font-size:12px;color:#72806b;margin-top:6px}.privacy{padding:22px;background:#f6f9f3;border-radius:8px;margin:4px 0 28px}.privacy h2{font-size:15px;margin:0 0 8px}.privacy p{font-size:13px;line-height:1.85;margin:0 0 14px}.privacy a{color:#397b3e;text-underline-offset:3px}.consent{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:14px}.consent input{width:18px;height:18px;accent-color:#2e8439}.form-button{display:flex;align-items:center;justify-content:center;gap:32px;width:min(100%,360px);padding:17px 24px;margin:0 auto;border:0;border-radius:999px;background:#ffbb21;color:#263325;font:700 17px/1.5 inherit;font-family:inherit;font-weight:700;font-size:17px;cursor:pointer;box-shadow:0 3px 6px #94712720}.form-button span{font-size:26px;line-height:1}.form-button:hover{background:#ffb30f}.form-button:focus-visible,.back-button:focus-visible{outline:3px solid #3c8747;outline-offset:4px}.form-button:disabled{background:#e7e9e2;box-shadow:none;color:#74806c;cursor:default}.contact-phone{text-align:center;margin-top:38px}.contact-phone p{font-size:14px;margin:0 0 8px}.contact-phone a{display:block;color:#e59000;text-decoration:none;font-size:30px;font-weight:800}.contact-phone small{display:block;font-size:12px;margin-top:8px;color:#63715c}#review-title{font-size:24px;margin:0 0 12px}#review>p{font-size:14px;line-height:1.8}#review-values{margin:24px 0}#review-values>div{padding:17px 0;border-bottom:1px solid #dde6d7;display:grid;grid-template-columns:150px 1fr;gap:16px;font-size:15px}#review-values dt{font-weight:700}#review-values dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px}.review-actions .form-button{margin:0;width:auto;flex:1;max-width:300px}.back-button{background:white;border:1px solid #b7c9af;padding:16px 24px;border-radius:999px;color:#3b5b35;font:inherit;cursor:pointer}@media(max-width:600px){.contact-main{padding:24px 16px 48px}.contact-heading{padding:28px 0 22px}.mobile-break{display:block}.contact-card{padding:24px 18px}.form-progress{gap:18px;font-size:12px}.form-progress span{width:26px;height:26px}.contact-heading>p:last-child{font-size:14px}.privacy{padding:18px 14px}legend{font-size:21px}#review-values>div{grid-template-columns:1fr;gap:7px}.review-actions{flex-direction:column}.review-actions .form-button,.back-button{width:100%;max-width:100%}}


:root{--contact-green:#24852d;--contact-deep:#076b39;--contact-pale:#f0f7e9}
body{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;background:#fff;color:#263326}
.contact-main{position:relative;isolation:isolate;max-width:1040px;padding-bottom:72px}
.contact-main::before{content:'';position:absolute;z-index:-1;inset:64px 0 auto;height:350px;pointer-events:none;background:linear-gradient(66deg,#e8f1db 0 11%,transparent 11% 87%,#f0f6e8 87% 100%);opacity:.7}
.contact-heading{position:relative;padding:40px 24px 42px;isolation:isolate}
.contact-heading::after{content:'';position:absolute;right:12px;bottom:28px;width:74px;height:90px;z-index:-1;opacity:.3;background:radial-gradient(circle,#4c9b3b 1px,transparent 1.5px) 0 0/9px 9px;mask-image:linear-gradient(transparent,#000)}
.eyebrow{display:table;position:relative;margin:0 auto 22px;padding:8px 36px;background:linear-gradient(110deg,#23872b,#087543);color:#fff;font-size:14px;font-weight:700;letter-spacing:.1em;transform:skewX(-18deg)}
.eyebrow>span{display:block;transform:skewX(18deg)}
.contact-heading h1{font-family:'Noto Serif JP','Yu Mincho',serif;font-size:clamp(28px,3.2vw,40px);line-height:1.6;margin-bottom:24px;letter-spacing:.03em}
.contact-heading h1 strong{color:var(--contact-green);font-weight:800}
.contact-heading h1::after{content:'';display:block;width:52px;height:3px;background:#ff9900;margin:22px auto 0}
.contact-heading>p:last-child{color:#3b4937;line-height:1.9;margin-bottom:0}
.preview-note{border-radius:3px;background:#fffaf0;border-color:#ead9af;font-weight:400}
.form-progress{gap:12px;padding:30px 0}
.form-progress li{position:relative;justify-content:center;min-width:220px;min-height:50px;padding:10px 24px;background:#f0f5e9;color:#65765b;border-bottom:2px solid #c8daba;clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%,6% 50%)}
.form-progress li.active{background:#e6f1dc;color:#1c722a;border-bottom-color:#358d38}
.form-progress span{background:white;border:1px solid #bed1b0;border-radius:50%;color:#4b8541}
.form-progress .active span{background:var(--contact-green);border-color:var(--contact-green);color:white}
.contact-card{position:relative;border:1px solid #83b56a;outline:1px solid #d6e5cc;outline-offset:-8px;border-radius:2px;padding:40px 48px;box-shadow:none}
.form-intro{color:#5c6b52;margin-bottom:30px}
fieldset{margin-bottom:34px}
legend{position:relative;width:calc(100% + 16px);margin-left:-8px;padding:12px 24px 14px;color:white;border:0;background:linear-gradient(110deg,#28882e,#08733f);font-family:'Noto Serif JP','Yu Mincho',serif;font-size:23px;letter-spacing:.05em;clip-path:polygon(2% 0,100% 0,98% 100%,0 100%)}
legend>span{display:inline-block;margin-right:16px;color:#fff;font-size:17px;font-weight:400;letter-spacing:.02em;border-right:1px solid #a9d29a;padding-right:16px}
.required{background:#258630;color:white;border-radius:2px;font-size:10px}
.optional{background:#f0f3ec;color:#68765f;border-radius:2px;font-size:10px}
.field{margin-bottom:24px}
.field>span{color:#263326}
.field input,.field select,.field textarea{border-color:#bdd3b0;border-radius:3px;background:#fcfdfb}
.field input::placeholder,.field textarea::placeholder{color:#899181}
.privacy{border:1px solid #d3e1c8;border-radius:3px;background:var(--contact-pale)}
.form-button{min-height:62px;background:linear-gradient(110deg,#ffc330,#ffb91d);border-radius:999px;color:#263326;box-shadow:0 3px 5px #94712726}
.form-button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffff50;font-size:24px}
.form-button:hover{background:linear-gradient(110deg,#ffcc4a,#ffbf35)}
.form-button:disabled{background:#e7e9e2;box-shadow:none;color:#74806c}
.contact-phone{margin-top:32px;padding:24px;border:1px solid #89b771;outline:1px solid #d4e4c9;outline-offset:-7px;background:white}
.contact-phone>p{font-weight:700;font-size:15px}
.contact-phone>a{color:var(--contact-green);font-size:34px}
#review-title{font-family:'Noto Serif JP','Yu Mincho',serif;color:var(--contact-deep);padding-bottom:16px;border-bottom:1px solid #9dc586}
@media(max-width:600px){
 .contact-main{padding-bottom:40px}.contact-main::before{inset:54px 0 auto;height:350px;background:linear-gradient(66deg,#e8f1db 0 9%,transparent 9% 92%,#f0f6e8 92% 100%)}
 .contact-heading{padding:30px 0 32px}.contact-heading::after{right:0;bottom:14px;width:40px;height:55px;opacity:.2}
 .eyebrow{font-size:12px;padding:7px 24px;margin-bottom:20px}
 .contact-heading h1{font-size:27px;letter-spacing:0}.contact-heading h1::after{margin-top:18px}
 .contact-card{padding:26px 22px}.form-progress{gap:6px;padding:24px 0}.form-progress li{min-width:0;flex:1;gap:6px;padding:10px 8px;font-size:11px;min-height:46px}.form-progress span{flex:none;width:24px;height:24px;font-size:10px}
 legend{font-size:20px;padding:11px 18px;letter-spacing:0}legend>span{font-size:14px;margin-right:12px;padding-right:12px}
 .field>span{font-size:14px}.form-button{font-size:16px;min-height:58px;gap:20px}
 .contact-phone{padding:24px 16px}.contact-phone>a{font-size:30px}.contact-phone small{line-height:1.8}
}
