.contact-page{--line:#dee4ed}
/* Approved contact form design, 2026-10-06. Shared navigation and hero stay in the site styles. */
.breadcrumb{width:min(1120px,88%);margin:0 auto;padding:22px 0;font-size:14px;display:flex;gap:12px}.breadcrumb span{color:#8790a0}.intro{text-align:center;max-width:780px;margin:35px auto 36px;padding:0 24px}.kicker{font-size:14px;color:var(--blue);font-weight:600;letter-spacing:.08em;margin-bottom:12px}.intro h2{font-size:30px;font-weight:600;letter-spacing:.015em;color:var(--ink);line-height:1.55}.intro p:last-child{font-size:16px;line-height:1.9;margin-top:18px}.steps{list-style:none;display:flex;gap:0;padding:0;margin:0 auto 40px;width:min(660px,88%);justify-content:center;color:#748095;font-size:14px;line-height:1.6}.steps li{width:33.333%;text-align:center;border-bottom:2px solid var(--line);padding:0 10px 14px;display:flex;align-items:center;justify-content:center;gap:8px}.steps li.active{color:var(--blue);border-color:var(--blue);font-weight:600}.step-num{font-size:13px;font-variant-numeric:tabular-nums}.form-wrap{width:min(880px,88%);margin:auto auto 88px;background:white;padding:40px 48px 44px;border:1px solid #e6eaf1;border-radius:8px}.form-note{text-align:right;font-size:14px;margin-bottom:6px;color:#637084}.required{font-size:12px;color:var(--blue);background:#eef1ff;padding:3px 7px;border-radius:3px;letter-spacing:0;display:inline-block;line-height:1.4;font-weight:500}.optional{font-size:12px;color:#798397;border:1px solid #dee4ed;padding:2px 7px;border-radius:3px;line-height:1.4;font-weight:400}.row{display:grid;grid-template-columns:188px minmax(0,1fr);gap:28px;padding:26px 0;border-bottom:1px solid #edf0f5}.row>label{display:flex;align-items:center;gap:10px;align-self:start;padding-top:14px;color:var(--ink);font-size:16px;font-weight:500;flex-wrap:wrap}.control{min-width:0}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #d8dfe9;border-radius:5px;background:#fafbfd;color:var(--ink);padding:14px 16px;font-size:16px;line-height:1.5;min-height:54px;transition:border-color .18s,background .18s}select{padding-right:34px}input::placeholder,textarea::placeholder{color:#8b94a5;opacity:1}input:hover,select:hover,textarea:hover{border-color:#98a8c0}input:focus,select:focus,textarea:focus{border-color:var(--blue);background:white}textarea{min-height:180px;resize:vertical}.hint{font-size:14px;line-height:1.8;margin-top:9px;color:#6d7889}.consent{text-align:center;margin:32px 0 0;font-size:14px;line-height:1.9}.consent label{display:inline-flex;align-items:center;gap:12px;text-align:left}.consent input{width:20px;height:20px;margin:0;accent-color:var(--blue);flex-shrink:0}.consent a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.actions{text-align:center;margin-top:28px}.primary{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--blue);color:white;border-radius:100px;min-height:58px;min-width:300px;padding:16px 28px;font-size:16px;font-weight:600;transition:background .18s}.primary:hover{background:#3348c5}.secondary{display:block;border:0;border-bottom:1px solid #a1acc0;padding:8px 0;background:none;font-size:16px;color:var(--ink);margin:18px auto 0}.preview-note{font-size:14px;line-height:1.8;color:#778195;margin:16px 0 0}.error{color:#a93439;font-size:14px;line-height:1.8;margin:16px 0 0}.review-notice{padding:18px 22px;background:#eef2fa;font-size:16px;line-height:1.8;color:var(--ink);margin-bottom:12px}.review-row{display:grid;grid-template-columns:188px minmax(0,1fr);gap:28px;padding:24px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.8}.review-row dt{color:var(--ink);font-weight:500}.review-row dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(max-width:1000px) and (min-width:701px){.form-wrap{padding:30px}.row,.review-row{grid-template-columns:160px minmax(0,1fr);gap:20px}}
@media(max-width:700px){.breadcrumb{padding:16px 0;font-size:13px}.intro{margin:20px auto 30px;padding:0 6%}.intro h2{font-size:24px;line-height:1.6}.intro p:last-child{margin-top:16px;text-align:left;font-size:16px}.desktop-break{display:none}.intro h2 .desktop-break{display:initial}.steps{width:88%;font-size:13px;margin-bottom:30px}.steps li{padding:0 4px 12px;gap:5px}.step-num{font-size:12px}.form-wrap{width:100%;padding:28px 6% 40px;border-radius:0;border-left:0;border-right:0;margin-bottom:40px}.form-note{margin-bottom:0}.row{display:block;padding:22px 0}.row>label{padding-top:0;margin-bottom:12px;gap:10px;font-size:16px}input:not([type=checkbox]),select,textarea{padding:14px 12px;font-size:16px}.hint{font-size:14px}.consent{margin-top:26px}.consent label{align-items:flex-start}.consent input{margin-top:4px}.primary{width:100%;min-width:0;max-width:340px}.review-row{display:block;padding:20px 0}.review-row dt{margin-bottom:10px}.review-notice{font-size:16px;padding:18px}.footer-nav{gap:14px 20px}.footer-bottom{gap:16px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.contact-page *{transition:none!important}}
.contact-page input,.contact-page select,.contact-page textarea{font:inherit;font-size:16px}.contact-page input:focus-visible,.contact-page select:focus-visible,.contact-page textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}

/* Text, field definitions and destinations follow castflow.jp/contact. */
.contact-page .intro{margin:42px auto 38px}.form-heading{padding-bottom:8px}.form-heading h2{font-size:22px;line-height:1.6;font-weight:600;color:var(--ink)}.form-heading p{font-size:16px;line-height:1.9;margin-top:12px}.contact-support{width:min(880px,88%);margin:-40px auto 80px;padding:30px 32px;background:#eef2fa;border-radius:8px}.contact-support h2{font-size:20px;line-height:1.7;color:var(--ink);font-weight:600;margin-bottom:12px}.contact-support p{font-size:16px;line-height:1.9}.honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.error:empty{display:none}.control .error{display:block}.primary:disabled{opacity:.6;cursor:wait}.confirm-actions{display:flex;gap:24px;align-items:center;justify-content:center}.confirm-actions .secondary{display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:58px;padding:12px 24px;min-width:150px;text-decoration:none;border:1px solid #a1acc0;border-radius:100px}.thanks-panel{padding:8px 48px 36px}.thanks-panel .primary{text-decoration:none}.contact-page .row>label{font-weight:500}
@media(max-width:700px){.contact-page .intro{margin:28px auto 30px}.contact-page .intro p:last-child{text-align:center}.form-heading h2{font-size:21px}.contact-support{margin:0 auto 48px;padding:24px}.contact-support h2{font-size:19px}.confirm-actions{flex-direction:column-reverse;gap:16px}.confirm-actions .secondary{width:100%;max-width:340px}.thanks-panel{padding:0 6% 32px}}

.contact-page[data-contact-stage="thanks"] .paper-hero h1{font-size:clamp(44px,7vw,112px);white-space:nowrap}
@media(max-width:700px){.contact-page[data-contact-stage="thanks"] .paper-hero h1{font-size:clamp(38px,11vw,48px)}}
