:root{--contact-blue:#0878c9;--contact-blue-dark:#0568b4;--contact-blue-deep:#005aa8;--contact-sky:#eaf8ff;--contact-sky-strong:#dff4ff;--contact-orange:#ff5a1f;--contact-orange-dark:#ef4d16;--contact-text:#172c3d;--contact-muted:#5d6e7b;--contact-border:#d6e3ea;--contact-inner-width:80vw}.contact-page,.contact-page *{box-sizing:border-box}.contact-page{width:100%;overflow:hidden;color:var(--contact-text);background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,YuGothic,Meiryo,sans-serif}.contact-page a{color:inherit;text-decoration:none}.contact-page button,.contact-page input,.contact-page select,.contact-page textarea{font:inherit}.contact-inner{width:var(--contact-inner-width);margin:0 auto}.contact-hero{position:relative;width:100%;min-height:850px;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.9) 34%,rgba(255,255,255,.18) 63%,rgba(255,255,255,0)),url(/img/contact/contact-hero.png) 50% /cover no-repeat}.contact-hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-68px;height:108px;border-radius:50% 50% 0 0;background:#eefaff}.contact-hero__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0))}.contact-hero__inner{position:relative;z-index:2;width:80vw;max-width:none;min-height:850px;padding:34px 0 90px;margin:0 auto}.contact-breadcrumb{position:absolute;top:34px;left:0;z-index:3;display:inline-flex;align-items:center;gap:9px;margin:0;padding:9px 17px;border-radius:30px;background:rgba(255,255,255,.92);box-shadow:0 5px 15px rgba(0,104,173,.07);color:#0579c8;font-size:13px;font-weight:700}.contact-breadcrumb a{color:inherit;text-decoration:none}.contact-hero__copy{position:absolute;top:50%;left:0;width:min(560px,54%);max-width:560px;padding-top:0;transform:translateY(-50%)}.contact-hero__copy h1{margin:0;color:var(--contact-blue);font-size:clamp(44px,5.2vw,72px);line-height:1;letter-spacing:.02em;font-weight:900}.contact-hero__lead{margin:14px 0 0;color:var(--contact-blue);font-size:clamp(21px,2.2vw,31px);line-height:1.35;font-weight:900}.contact-hero__description{margin:18px 0 0;color:#2f4a5b;font-size:16px;line-height:1.85;font-weight:700}.contact-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.contact-section-heading h2{margin:0;color:var(--contact-blue);font-size:clamp(28px,3.1vw,43px);line-height:1.3;letter-spacing:.01em;font-weight:900}.contact-section-heading p{margin:0;color:#45718c;font-size:13px;line-height:1.75;font-weight:700}.contact-section-heading--form{align-items:center;padding:0 30px 30px}.contact-section-heading--form h2{font-size:clamp(26px,2.8vw,38px)}.contact-section-heading--center{display:block;text-align:center}.contact-section-heading--center p{margin-top:8px;font-size:14px}.contact-form-section{position:relative;z-index:1;padding:96px 0 110px;background:radial-gradient(circle at 10% 18%,rgba(255,255,255,.9) 0 9%,transparent 10%),radial-gradient(circle at 91% 8%,rgba(255,255,255,.72) 0 7%,transparent 8%),linear-gradient(180deg,#eefaff,#e6f8ff)}.contact-panel{padding:46px 34px 38px;border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 12px 38px rgba(19,113,175,.08)}.contact-status{margin:10px 24px 18px;padding:13px 16px;border-radius:10px;font-size:14px;font-weight:700}.contact-status--loading{color:#3f657d;background:#f2f8fb}.contact-status--error{color:#b42318;border:1px solid #f3b7b2;background:#fff0ef}.contact-status--success{color:#0f6b4f;border:1px solid #a8d9c9;background:#effbf7}.contact-form{padding:24px 32px 18px;border-radius:12px;background:linear-gradient(180deg,#edf8fe,#e8f6fd)}.contact-form__row{display:grid;grid-template-columns:minmax(180px,230px) minmax(0,1fr);gap:28px;align-items:start;padding:15px 0}.contact-form__label-area{display:flex;align-items:center;gap:10px;min-height:48px;padding:4px 0}.contact-form__label-area>label{color:var(--contact-blue);font-size:15px;line-height:1.45;font-weight:900}.contact-required{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:28px;padding:0 8px;border-radius:5px;background:var(--contact-orange);color:#fff;font-size:12px;line-height:1;font-weight:900}.contact-form__control-area{min-width:0}.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=text],.contact-form select,.contact-form textarea{width:100%;border:1px solid #c7d1d8;border-radius:5px;outline:none;background:#fff;color:#243847;box-shadow:inset 0 1px 2px rgba(27,65,90,.04);transition:border-color .2s ease,box-shadow .2s ease}.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=text],.contact-form select{height:48px;padding:0 14px}.contact-form textarea{min-height:112px;resize:vertical;padding:13px 14px;line-height:1.7}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a3abb1}.contact-form input[type=email]:focus,.contact-form input[type=tel]:focus,.contact-form input[type=text]:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#4da6dd;box-shadow:0 0 0 3px rgba(56,154,216,.13)}.contact-form__help{margin:7px 0 0;color:#6b7d89;font-size:12px;line-height:1.65;white-space:pre-wrap}.contact-checkbox-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.contact-checkbox{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #cfdce4;border-radius:6px;background:#fff;color:#415563;font-size:14px;font-weight:700;cursor:pointer;transition:.2s ease}.contact-checkbox.is-checked,.contact-checkbox:hover{border-color:#58a9df;background:#f4fbff}.contact-checkbox input{width:19px;height:19px;accent-color:var(--contact-blue);cursor:pointer}.contact-form__submit-wrap{display:flex;justify-content:center;padding:34px 0 24px}.contact-submit-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:min(100%,450px);min-height:60px;padding:0 58px;border:0;border-radius:999px;background:linear-gradient(180deg,#ff682d,#ff531a);color:#fff;box-shadow:0 7px 16px rgba(255,87,31,.24);font-size:18px;font-weight:900;letter-spacing:.04em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.contact-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px rgba(255,87,31,.3)}.contact-submit-button:disabled{opacity:.58;cursor:not-allowed}.contact-submit-arrow{position:absolute;right:22px;top:50%;transform:translateY(-53%);font-size:30px;font-weight:400}.contact-hours-section{position:relative;padding:74px 0 58px;background:linear-gradient(180deg,#e6f8ff,#eaf9ff)}.contact-hours-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:end}.contact-section-heading--hours h2{font-size:clamp(25px,2.8vw,38px)}.contact-hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px}.contact-hours-card{min-height:190px;padding:30px 26px;border-radius:12px;background:rgba(255,255,255,.96);text-align:center;box-shadow:0 8px 28px rgba(30,130,190,.07)}.contact-hours-card__label{margin:0;color:var(--contact-blue);font-size:15px;font-weight:900}.contact-hours-card__main{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px}.contact-hours-card__main strong{color:var(--contact-blue-deep);font-size:clamp(24px,3.4vw,38px);line-height:1.15;font-weight:900}.contact-hours-card__main>span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:4px;background:var(--contact-orange);color:#fff;font-size:13px;font-weight:900}.contact-hours-card__main--reply{gap:5px}.contact-hours-card__main--reply>span{min-height:auto;padding:0;background:transparent;color:var(--contact-blue-deep)}.contact-hours-card>p:last-child{margin:10px 0 0;color:#405565;font-size:13px;line-height:1.7;font-weight:600}.contact-hours-card small{font-size:11px;color:#6e7d88}.contact-hours-staff{position:relative;height:220px}.contact-hours-staff img{position:absolute;right:-10px;bottom:-57px;width:300px;height:auto;object-fit:contain}.contact-trust-section{position:relative;padding:84px 0 96px;background:linear-gradient(180deg,#f7fcff,#eaf8ff)}.contact-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:42px}.contact-trust-card{min-height:220px;padding:34px 26px 28px;border-radius:12px;background:#fff;text-align:center;box-shadow:0 8px 22px rgba(17,107,166,.06)}.contact-trust-card img{display:block;width:58px;height:58px;object-fit:contain;margin:0 auto 10px}.contact-trust-card h3{margin:0;color:var(--contact-blue);font-size:22px;line-height:1.35;font-weight:900}.contact-trust-card p{margin:8px 0 0;color:#42596a;font-size:13px;line-height:1.7;font-weight:600}.contact-estimate-cta{min-height:450px;background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.88) 39%,rgba(255,255,255,.08) 67%,rgba(255,255,255,0)),url(/img/contact/contact-cta.png) 100% /cover no-repeat}.contact-estimate-cta__inner{min-height:450px;display:flex;align-items:center}.contact-estimate-cta__copy{width:min(610px,68%);padding:48px 0}.contact-estimate-cta__copy>p{margin:0 0 6px;color:var(--contact-blue);font-size:15px;font-weight:900}.contact-estimate-cta__copy h2{margin:0;color:var(--contact-blue-deep);font-size:clamp(31px,4.3vw,52px);line-height:1.2;font-weight:900}.contact-estimate-cta__copy>span{display:block;margin-top:8px;color:#334e60;font-size:14px;line-height:1.6;font-weight:700}.contact-estimate-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:min(100%,350px);min-height:54px;margin-top:18px;padding:0 52px 0 28px;border-radius:999px;background:linear-gradient(180deg,#ff682d,#ff531a);color:#fff!important;box-shadow:0 7px 14px rgba(255,83,26,.22);font-size:16px;font-weight:900;transition:transform .2s ease,box-shadow .2s ease}.contact-estimate-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(255,83,26,.28)}.contact-estimate-button span{position:absolute;right:22px;top:50%;transform:translateY(-53%);font-size:28px;font-weight:400}@media (max-width:980px){.contact-hero{min-height:600px;background-position:58%}.contact-hero__inner{width:88vw;min-height:600px;padding:34px 0 80px}.contact-hero__copy{width:min(500px,60%);max-width:500px;padding-top:0}.contact-form__row{grid-template-columns:185px minmax(0,1fr);gap:14px}.contact-hours-wrap{grid-template-columns:minmax(0,1fr) 205px}.contact-hours-staff img{right:-24px;width:205px}}@media (max-width:720px){.contact-hero{min-height:740px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.9) 53%,rgba(255,255,255,.2)),url(/img/contact/contact-hero-mobile.png) 68% /cover no-repeat}.contact-hero__inner{width:90vw;min-height:740px;padding:20px 0 66px}.contact-breadcrumb{top:18px;margin:0;padding:8px 13px;font-size:11px}.contact-hero__copy{width:100%;max-width:100%;padding-top:0}.contact-hero__copy h1{font-size:46px}.contact-hero__lead{font-size:24px}.contact-hero__description{max-width:330px;font-size:14px}.contact-form-section{padding:45px 0 50px}.contact-panel{padding:24px 10px 18px}.contact-section-heading,.contact-section-heading--form{display:block;padding-left:12px;padding-right:12px}.contact-section-heading p{margin-top:8px}.contact-form{padding:12px}.contact-form__row{grid-template-columns:1fr;gap:5px;padding:9px 0}.contact-form__label-area{min-height:auto}.contact-checkbox-list{grid-template-columns:1fr}.contact-submit-button{min-height:56px;padding-left:42px;padding-right:48px;font-size:16px}.contact-hours-section{padding-top:38px}.contact-hours-wrap{display:block}.contact-hours-grid{grid-template-columns:1fr}.contact-hours-staff{height:210px;margin-top:8px}.contact-hours-staff img{right:0;width:210px}.contact-hours-staff p{right:150px;top:28px}.contact-trust-grid{grid-template-columns:1fr}.contact-estimate-cta{min-height:420px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.94) 51%,rgba(255,255,255,.38) 70%,rgba(255,255,255,0)),url(/img/contact/contact-cta.png) 64% bottom /cover no-repeat}.contact-estimate-cta__inner{min-height:420px;align-items:flex-start}.contact-estimate-cta__copy{width:100%;padding-top:38px}}@media (max-width:430px){.contact-hero__copy h1{font-size:42px}.contact-hero__lead{font-size:21px}.contact-section-heading h2{font-size:27px}.contact-hours-card__main{gap:7px}.contact-hours-card__main strong{font-size:27px}.contact-hours-staff p{right:132px;width:125px}}