.form-page { color: #082852; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
.form-main { position: relative; min-height: 100dvh; padding: 76px 20px 36px; background-color:#fff;background-image:url("images/contact-background.786dc6d96f6b.webp");background-size:100% auto;background-repeat:no-repeat; }

.form-main > * { position: relative; }
.back-link { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; color: #52647a; font-size: 13px; text-decoration: none; }
.back-link::before { content: ""; width: 7px; height: 7px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.back-link:hover { color: #cf497f; }
.form-intro { padding: 27px 0 18px; }
.form-eyebrow { display: block; color: #c64b7d; font-size: 11px; font-weight: 700; letter-spacing: .24em; margin-bottom: 11px; }
.form-intro h1 { position: relative; display: inline-block; margin: 0 0 19px; font-size: clamp(21px, 6.65vw, 26px); font-weight: 800; line-height: 1.5; letter-spacing: -.035em; }
.form-intro h1::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 54px; height: 4px; background: #f2a9ca; border-radius: 4px; }
.form-intro p { margin: 0; font-size: 14px; line-height: 1.8; color: #52647a; }
.form-progress { display: flex; justify-content: space-between; gap: 6px; margin: 10px 0 21px; padding: 0 8px; list-style: none; }
.form-progress li { display: flex; align-items: center; gap: 7px; font-size: 12px; color: #7d8b9b; }
.form-progress span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #edf0f3; font-size: 11px; }
.form-progress [aria-current] { color: #a52e61; font-weight: 700; }
.form-progress [aria-current] span { color: #fff; background: #cf497f; }
.inquiry-card { scroll-margin-top: 76px; margin: 0; padding: 23px 18px 24px; background: rgb(255 255 255 / 96%); border: 1px solid #efdbe4; border-radius: 16px; box-shadow: 0 8px 25px rgb(92 53 71 / 5%); }
.inquiry-card fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.inquiry-card [hidden] { display: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.form-honey { display: none; }
.required-note { margin: 0 0 25px; font-size: 12px; color: #667085; }
.required-note span { color: #b6386d; margin-right: 4px; }
.field { margin-bottom: 23px; }
.field label { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; font-size: 14px; font-weight: 700; line-height: 1.6; }
.required-label, .optional-label { border-radius: 4px; padding: 2px 6px; font-size: 10px; line-height: 1.5; font-weight: 600; }
.required-label { color: #a92e62; background: #fff0f6; }
.optional-label { color: #677487; background: #f1f3f5; }
.field input, .field select, .field textarea { display: block; width: 100%; min-height: 48px; border: 1px solid #d7dfe6; border-radius: 7px; padding: 11px 12px; background: #fff; color: #26394d; font: inherit; font-size: 16px; line-height: 1.6; }
.field select { padding-right: 25px; }
.field textarea { resize: vertical; min-height: 164px; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid #eba6c3; outline-offset: 2px; border-color: #cc5f8c; }
.field-help { color: #667085; font-size: 12px; line-height: 1.7; margin: 7px 0 0; }
.form-note { margin: 0 0 22px; font-size: 12px; line-height: 1.8; color: #667085; }
.form-button { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 52px; padding: 13px 10px; border-radius: 8px; border: 0; font: inherit; font-size: 15px; font-weight: 700; line-height: 1.6; text-decoration: none; cursor: pointer; }
.form-button.primary { color: #fff; background: #c84479; box-shadow: 0 4px 10px rgb(167 54 102 / 13%); }
.form-button.primary:hover { background: #ac3263; }
.form-button.primary span { font-size: 19px; }
.form-button.secondary { margin-top: 13px; border: 1px solid #e1d8de; color: #52647a; background: #fff; font-weight: 500; }
.form-button:disabled { cursor: wait; opacity: .65; }
.form-button:focus-visible { outline: 2px solid #082852; outline-offset: 3px; }
.form-bottom { margin-top: 26px; text-align: center; }
.form-bottom p { margin: 24px 0 0; font-size: 12px; color: #6b798a; }
#review-heading { margin: 0 0 8px; font-size: 21px; line-height: 1.6; }
.review-note { color: #667085; font-size: 13px; line-height: 1.8; }
#review-values { margin: 23px 0 28px; }
#review-values dt { margin-top: 19px; font-size: 12px; font-weight: 700; color: #52647a; }
#review-values dd { margin: 7px 0 0; padding-bottom: 16px; border-bottom: 1px solid #f0e4e9; font-size: 15px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.complete-main { min-height: 100dvh; }
.complete-card { margin-top: 28px; padding-top: 38px; padding-bottom: 32px; text-align: center; }
.complete-mark { display: grid; place-items: center; width: 50px; height: 50px; margin: 0 auto 23px; background: #fff0f6; color: #bd3f75; font-size: 25px; border-radius: 50%; }
.complete-card h1 { font-size: 24px; line-height: 1.6; margin: 0 0 18px; }
.complete-card p { color: #52647a; font-size: 14px; line-height: 1.9; margin-bottom: 28px; }

.form-main{background:#fff url("images/plaster-white.4611156f38d2.webp") center/390px auto}
.inquiry-card{background:#fff}

.send-failure{margin:20px 0;padding:18px;border:1px solid #db91ad;border-radius:10px;background:#fff4f8;scroll-margin-top:90px}
.send-failure h3{margin:0 0 9px;font-size:17px;line-height:1.6}
.send-failure p{margin:0 0 14px;font-size:14px;line-height:1.8}
.send-failure .form-button{font-size:14px}
.send-failure .line-contact{background:#078142;color:#fff;margin-top:12px}
.send-failure .field-help{margin:9px 0 0;font-size:12px}
.contact-alternatives{margin-top:24px;padding-top:18px;border-top:1px solid #efdae3;font-size:13px;line-height:1.9}
.contact-alternatives p{margin:0 0 8px}
.contact-alternatives a{color:#a42e60;overflow-wrap:anywhere;text-underline-offset:3px}
.alternative-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.alternative-links a{display:inline-flex;align-items:center;min-height:44px}
