/* PHPフォームと受付画面。サイト既存の白×赤を維持。 */
.contact-error { padding: 20px; background: var(--color-red-bg, #fff2f2); border: 1px solid var(--color-red, #da1517); border-radius: 6px; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }
.contact-error[hidden], #receipt-details[hidden] { display: none; }
.contact-error p + p { margin-top: 8px; }
.contact-error a, .contact-small a, .contact-consent-link { color: var(--color-red, #da1517); text-decoration: underline; text-underline-offset: 3px; }
.contact-error:focus { outline: 2px solid var(--color-red, #da1517); outline-offset: 3px; }
#application-form button:disabled { cursor: wait; opacity: .7; }
.contact-honeypot { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
#contact-captcha { grid-column: 1 / -1; outline: none; }
#contact-captcha-status { font-size: 12px; line-height: 1.8; color: var(--color-red, #da1517); text-align: center; }
.contact-thanks-page { margin: 0; padding: 0; background: #f6f6f6; font-family: 'Noto Sans JP', sans-serif; }
.contact-thanks-header { padding: 24px 20px; background: #fff; text-align: center; }
.contact-thanks-header .brand-logo { width: min(260px, 80vw); }
.contact-thanks-main { max-width: 800px; margin: 0 auto; padding: 48px 20px; }
.contact-thanks-card { padding: 40px; border: 1px solid #ddd; border-radius: 8px; background: #fff; }
.contact-kicker { color: #da1517; font-weight: 700; font-size: 13px; letter-spacing: .1em; }
.contact-thanks-card h1 { margin: 12px 0 24px; font-size: 26px; line-height: 1.6; }
.contact-thanks-card p { margin: 16px 0; line-height: 1.9; }
.contact-small { font-size: 12px; color: #555; overflow-wrap: anywhere; }
.contact-thanks-card .c-btn { margin-top: 24px; }
.contact-receipt { margin: 24px 0; padding: 20px; background: #f7f7f7; }
.contact-receipt > div + div { margin-top: 12px; }
.contact-receipt dt { font-size: 12px; font-weight: 700; color: #555; }
.contact-receipt dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 14px; }
.contact-thanks-footer { padding: 28px 20px; background: #222; color: #ddd; font-size: 12px; line-height: 1.9; }
.contact-thanks-footer p { max-width: 760px; margin: 12px auto; }
.contact-thanks-footer a { color: inherit; text-decoration: underline; }
@media(max-width: 600px) { .contact-thanks-main { padding: 28px 16px; } .contact-thanks-card { padding: 24px 20px; } .contact-thanks-card h1 { font-size: 22px; } }
