@charset "utf-8";
/* CSS Document */
.contact-form-area { background: #fff; border: 1px solid #d9e3ee; border-radius: 14px; padding: 42px 40px 46px; box-shadow: 0 8px 26px rgba(6,40,75,.05); }

.contact-form-area h2 { color: #06284b; font-size: clamp(24px, 2.4vw, 32px); font-weight: 900; line-height: 1.45; margin: 0 0 14px; padding-bottom: 12px; border-bottom: 2px solid #073f7f; }

.contact-form-text { font-size: 15px; font-weight: 500; line-height: 1.9; margin: 0 0 28px; }

.contact-page { width: min(90%, 900px); margin: 70px auto 90px; color: #222; }

.contact-lead { margin: 0 0 42px; text-align: center; }

.contact-lead h2 { color: #06284b; font-size: clamp(26px, 2.8vw, 38px); font-weight: 900; line-height: 1.55; margin: 0 0 22px; }

.contact-lead p { font-size: 16px; font-weight: 500; line-height: 2; margin: 0; text-align: left; }

.contact-info { margin: 0 0 52px; }

.contact-tel { background:#46a36a; color: #fff; border-radius: 14px; padding: 28px 34px; display: grid; grid-template-columns: 74px 1fr; align-items: center; gap: 20px; box-shadow: 0 8px 24px rgba(6,40,75,.12); }

.contact-tel-icon { width: 74px; height: 74px; background: rgba(255,255,255,.12); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 34px; line-height: 1; }

.contact-tel-body p { font-size: 15px; font-weight: 800; line-height: 1.5; margin: 0 0 4px; }

.contact-tel-body a { color: #fff; font-size: clamp(32px, 4vw, 46px); font-weight: 900; line-height: 1.1; text-decoration: none; letter-spacing: .04em; display: inline-block; }

.contact-tel-body span { font-size: 13px; font-weight: 700; line-height: 1.5; display: block; opacity: .9; margin-top: 4px; }


.contact-form-row{margin:0 0 26px;}

.contact-form-row label{display:block;color:#06284b;font-size:16px;font-weight:900;line-height:1.6;margin:0 0 10px;}

.contact-form-row label span{display:inline-block;background:#46a36a;color:#fff;font-size:12px;font-weight:900;line-height:1;padding:5px 8px;border-radius:4px;margin-left:8px;}

.contact-form-row input,.contact-form-row textarea{width:100%;background:#f8fbf9;border:1px solid #d9e3ee;border-radius:8px;color:#222;font-size:16px;font-weight:500;line-height:1.7;padding:14px 16px;box-sizing:border-box;}

.contact-form-row textarea{height:220px;resize:vertical;}

.contact-form-row input:focus,.contact-form-row textarea:focus{outline:none;border-color:#46a36a;background:#fff;box-shadow:0 0 0 3px rgba(70,163,106,.14);}

.contact-form-submit{text-align:center;margin:34px 0 0;}

.contact-form-submit input{width:min(100%,320px);height:60px;background:#46a36a;border:none;border-radius:999px;color:#fff;font-size:17px;font-weight:900;cursor:pointer;transition:.3s;}

.contact-form-submit input:hover{background:#17304d;transform:translateY(-3px);box-shadow:0 12px 24px rgba(23,48,77,.18);}

.wpcf7-spinner{display:block;margin:16px auto 0;}

.wpcf7-not-valid-tip{font-size:13px;font-weight:700;margin-top:8px;}

.wpcf7 form .wpcf7-response-output{width:min(90%,900px);margin:24px auto 0;padding:16px 20px;border-radius:8px;font-size:14px;font-weight:700;}

@media screen and (max-width:767px){
.contact-form{width:min(92%,900px);margin:50px auto 64px;padding:30px 20px;}

.contact-form-row{margin-bottom:22px;}

.contact-form-row label{font-size:15px;}

.contact-form-row input,.contact-form-row textarea{font-size:15px;padding:13px 14px;}

.contact-form-row textarea{height:190px;}

.contact-form-submit input{height:56px;font-size:16px;}
}
@media screen and (max-width: 767px) { .contact-page { width: min(92%, 900px); margin: 50px auto 64px; } .contact-lead { margin-bottom: 34px; } .contact-lead h2 { font-size: 22px; text-align: left; } .contact-lead p { font-size: 15px; line-height: 1.9; } .contact-tel { grid-template-columns: 1fr; text-align: center; padding: 26px 20px; gap: 14px; } .contact-tel-icon { margin: 0 auto; width: 62px; height: 62px; font-size: 28px; } .contact-tel-body p { font-size: 14px; } .contact-tel-body a { font-size: 31px; } .contact-tel-body span { font-size: 12px; } .contact-form-area { padding: 32px 20px 36px; } .contact-form-area h2 { font-size: 23px; } .contact-form-text { font-size: 14px; } .contact-form-area label { font-size: 14px; } .contact-form-area input[type="text"],.contact-form-area input[type="email"],.contact-form-area input[type="tel"],.contact-form-area textarea,.contact-form-area select { font-size: 15px; padding: 13px 14px; } }