.mvr-contact { color: #233941; font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; font-size: 15px; line-height: 1.85; text-align: left; }
.mvr-contact *, .mvr-contact *::before, .mvr-contact *::after { box-sizing: border-box; }
.mvr-contact .mvr-form { margin: 0; padding: 0; }
.mvr-contact .mvr-form-lead { margin: 0 0 28px; font-size: 15px; line-height: 1.9; }
.mvr-contact .mvr-field-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 25px 24px; }
.mvr-contact .mvr-field-wide { grid-column: 1 / -1; }
.mvr-contact .mvr-field { min-width: 0; }
.mvr-contact .mvr-field > label, .mvr-contact .mvr-topics > legend { display: flex; align-items: center; gap: 10px; margin: 0 0 9px; padding: 0; color: #233941; font-size: 14px; font-weight: 600; line-height: 1.7; }
.mvr-contact .mvr-required, .mvr-contact .mvr-optional { display: inline-block; padding: 1px 7px; border-radius: 4px; font-family: sans-serif; font-size: 10px; font-weight: 400; line-height: 1.8; letter-spacing: .06em; }
.mvr-contact .mvr-required { color: #936037; background: #f3e7d7; }
.mvr-contact .mvr-optional { color: #6c7779; background: #edf0ee; }
.mvr-contact .mvr-field input, .mvr-contact .mvr-field select, .mvr-contact .mvr-field textarea { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 50px; margin: 0; padding: 12px 14px; border: 1px solid #d4dcd9; border-radius: 10px; box-shadow: none; background: #f9faf7; color: #233941; font: 400 16px/1.7 "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; letter-spacing: .015em; }
.mvr-contact .mvr-field select { text-overflow: ellipsis; }
.mvr-contact .mvr-field textarea { resize: vertical; }
.mvr-contact .mvr-field input::placeholder, .mvr-contact .mvr-field textarea::placeholder { color: #89938f; opacity: 1; }
.mvr-contact .mvr-field-hint { margin: 7px 0 0; color: #697b7f; font-size: 12px; line-height: 1.8; }
.mvr-contact .mvr-topics { min-width: 0; margin: 0; padding: 0; border: 0; }
.mvr-contact .mvr-topics > .mvr-field-hint { margin: 0 0 12px; }
.mvr-contact .mvr-check-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; }
.mvr-contact .mvr-check { display: flex; align-items: flex-start; gap: 11px; padding: 12px; border: 1px solid #d4dcd9; border-radius: 9px; font: 400 14px/1.75 "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; color: #233941; cursor: pointer; }
.mvr-contact .mvr-check input { display: inline-block; appearance: auto; -webkit-appearance: checkbox; flex: 0 0 18px; width: 18px; height: 18px; margin: 3px 0 0; padding: 0; accent-color: #244d5a; }
.mvr-contact .mvr-check span { font: inherit; color: inherit; line-height: inherit; }
.mvr-contact .mvr-privacy { margin: 30px 0 18px; padding: 20px; border-radius: 12px; background: #f2f3ed; }
.mvr-contact .mvr-privacy h3 { margin: 0 0 8px; padding: 0; font: 600 14px/1.8 "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; color: #233941; }
.mvr-contact .mvr-privacy-text { color: #56696c; font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
.mvr-contact .mvr-consent { align-items: flex-start; width: fit-content; max-width: 100%; margin: 0 auto; padding: 12px 0; border: 0; }
.mvr-contact .mvr-consent .mvr-required { margin-left: 8px; font-size: 10px; }
.mvr-contact .mvr-submit-wrap { margin-top: 22px; text-align: center; }
.mvr-contact .mvr-submit { display: inline-flex; align-items: center; justify-content: center; gap: 30px; width: min(100%,360px); min-height: 60px; padding: 15px 24px; border: 1px solid #244d5a; border-radius: 50px; background: #244d5a; color: #fff; font: 500 15px/1.7 "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; letter-spacing: .04em; cursor: pointer; }
.mvr-contact .mvr-submit span { color: inherit; font: inherit; }
.mvr-contact .mvr-submit:disabled { cursor: default; opacity: .55; }
.mvr-contact .mvr-form-status, .mvr-contact .mvr-notice { margin: 0 0 22px; padding: 14px 18px; border: 1px solid #d3dcd5; border-radius: 10px; color: #345359; background: #eef5f0; font-size: 14px; line-height: 1.9; }
.mvr-contact .mvr-form-status[data-state="error"], .mvr-contact .mvr-notice { border-color: #e5d6b5; background: #faf6ec; color: #75593a; }
.mvr-contact .mvr-field-error { margin: 7px 0 0; color: #a62a24; font-size: 12px; line-height: 1.8; }
.mvr-contact [aria-invalid="true"] { border-color: #a62a24; }
.mvr-contact input:focus-visible, .mvr-contact select:focus-visible, .mvr-contact textarea:focus-visible, .mvr-contact button:focus-visible { outline: 3px solid #b69258; outline-offset: 3px; }
.mvr-contact .mvr-hp { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.mvr-contact [hidden] { display: none !important; }
@media (max-width: 640px) {
    .mvr-contact .mvr-field-grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
    .mvr-contact .mvr-check-grid { grid-template-columns: minmax(0,1fr); }
    .mvr-contact .mvr-privacy { padding: 16px; }
}
