@charset "UTF-8";
/* CONTACT page redesign. Loaded after style_2.css and header2.css. */
:root{--contact-ink:#2f4b3f;--contact-mint:#dcefe2;--contact-mint-deep:#36745b;--contact-apricot:#f7d6be;--contact-border:#e1e9df}
html{scroll-behavior:smooth}
body{height:auto!important;background:#fffdf9!important;color:var(--contact-ink)}
body::before{display:none!important}
main{padding:0 0 90px!important;font-family:"Noto Sans JP",sans-serif}
main *{box-sizing:border-box}
.contact-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#f9e1cd 0%,#fff9f2 54%,#dcefe2 100%);padding:112px 24px 78px;margin-top:0}
.contact-hero__inner{position:relative;z-index:1;max-width:1080px;margin:0 auto}
.contact-hero__eyebrow{color:#418168;font-size:13px;letter-spacing:.28em;font-weight:800;margin:0 0 18px}
.contact-hero h1{text-align:left;font-size:clamp(36px,4.2vw,60px);line-height:1.4;letter-spacing:.09em;color:#2d503f;margin:0 0 18px;font-weight:750}
.contact-hero__lead{font-size:clamp(14px,1.4vw,17px);line-height:2.05;color:#526b5b;margin:0}
.contact-hero__shape{position:absolute;z-index:0;border-radius:55% 45% 65% 35%;pointer-events:none}
.contact-hero__shape--one{background:#eebd9d;width:300px;height:260px;right:-70px;top:-110px;opacity:.45;transform:rotate(-25deg)}
.contact-hero__shape--two{background:#a7d9b9;width:280px;height:230px;right:14%;bottom:-160px;opacity:.4}
main .container{width:min(100% - 40px,1000px)!important;max-width:1000px!important;border:0!important;background:transparent!important;padding:0!important;margin:56px auto 0!important;animation:none!important;border-radius:0!important}
main .box_2{background:#fff!important;border:1px solid var(--contact-border)!important;border-radius:22px!important;margin:0!important;padding:clamp(24px,5vw,64px)!important;box-shadow:0 18px 48px rgba(50,84,61,.075)}
main .box_2>.contact-intro{font-size:14px!important;line-height:2.05!important;color:#526558;margin:0 0 42px!important;padding:0 0 30px;border-bottom:1px solid #e6ece4}
.contact-form-heading{margin-bottom:28px}
.contact-form-heading>span{font-size:11px;color:#478269;letter-spacing:.2em;font-weight:800}
.contact-form-heading h2{font-size:clamp(21px,2.4vw,29px);color:#30513f;margin:8px 0 10px;line-height:1.5}
.contact-form-heading p{font-size:13px!important;color:#6a786d;line-height:1.8}
main form{max-width:760px;margin:auto}
main .entry-mode-label{display:flex!important;align-items:center;gap:12px;background:#f0f7f0;border:1px solid #c9dfcf;border-radius:13px;padding:18px 20px;margin:0 0 32px!important;color:#315a46;font-size:15px;font-weight:700;cursor:pointer;line-height:1.7}
main .entry-mode-label input{flex:none;width:20px;height:20px;margin:0!important;accent-color:#39785c}
main .form-field-label{font-size:14px!important;font-weight:700;color:#375444;line-height:1.6;margin:23px 0 10px}
main .form-required,main .form-optional{font-size:11px;top:0;border-radius:5px;padding:2px 8px}
main .form-required{background:#fcebe3;color:#a85d43}
main .form-optional{background:#eef2ed;color:#66756b}
main input[type=text],main input[type=email],main input[type=tel],main select,main textarea{display:block;width:100%;height:auto;min-height:52px;border:1px solid #cfdad0;border-radius:9px;background:#fff;font-family:inherit;font-size:16px!important;color:#293f33;padding:13px 15px;margin:0 0 14px;box-shadow:none;line-height:1.6}
main textarea{min-height:170px;resize:vertical}
main input:focus-visible,main select:focus-visible,main textarea:focus-visible{outline:2px solid #66a584;outline-offset:2px;border-color:#66a584}
main input::placeholder,main textarea::placeholder{color:#9aa89c}
main .company-help{font-size:12px!important;line-height:1.8;color:#65776a;margin:4px 0 22px!important}
main .privacy-area{margin:42px auto 20px}
main .privacy-area h3{font-size:18px;color:#315741;margin:0 0 15px}
main .privacy-box{height:220px;border:1px solid #d9e4d9;background:#f8faf7;border-radius:12px;padding:20px;line-height:1.9}
main .privacy-box p{font-size:13px!important;line-height:1.9;color:#4e5e53}
main .privacy-box h4{font-size:13px;color:#365744}
main .contact-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.8;padding:17px;background:#f7faf6;border-radius:10px;cursor:pointer}
main .contact-consent input{width:20px;height:20px;flex:none;margin:2px 0 0!important;accent-color:#3e8262}
main #submitBtn{display:block;min-height:56px;width:min(100%,330px);margin:20px auto 0;padding:14px 22px;border-radius:100px;background:#317455;color:white;font-size:15px;font-weight:750;transition:background .2s ease,transform .2s ease}
main #submitBtn:not(:disabled):hover{background:#255d43;transform:translateY(-1px)}
main #submitBtn:disabled{background:#d6ddd5;color:#68736a;cursor:not-allowed}
footer{background:#f4f7ed!important} .copyright{background:#f4f7ed!important;color:#506353!important}
@media(max-width:700px){.contact-hero{padding:105px 22px 55px}.contact-hero__shape--one{width:180px;height:160px;right:-75px}.contact-hero__shape--two{width:170px;height:150px;right:0}.contact-hero__lead br{display:none}main .container{width:calc(100% - 24px)!important;margin:28px auto 0!important}main .box_2{padding:25px 18px 36px!important;border-radius:16px!important}main .box_2>.contact-intro{font-size:13px!important;margin-bottom:28px!important;padding-bottom:22px}main .entry-mode-label{font-size:13px;padding:15px 13px}main .form-field-label{font-size:14px!important}main .privacy-box{height:200px;padding:14px}main .contact-consent{font-size:12px}main #submitBtn{width:100%}main{padding-bottom:55px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}main #submitBtn{transition:none}}
