/* Contact design preview: standard fields, with delivery disabled. */
[hidden]{display:none!important}
.contact-page h1{white-space:normal;margin:25px 0 0;line-height:1;letter-spacing:0;font-weight:500}
.contact-page .subpage-intro{grid-template-columns:1.2fr 1fr;gap:70px}
.contact-page .subpage-copy h2{font-size:clamp(22px,2.25vw,32px);line-height:1.9}
.contact-form-jump{display:flex;align-items:center;gap:64px;border-bottom:1px solid #505b6c;padding:14px 0;font-size:14px;min-height:48px}
.contact-form-section{background:linear-gradient(120deg,#eef0f1,#c4cad3 65%,#e2e5e9);color:#101318;border:0;--watermark-color:#17202d0a}
.contact-form-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.8fr);gap:80px}
.contact-form-section .section-label .eyebrow{color:#505866}
.contact-form-section .section-label h2{font-size:27px;line-height:1.7;font-weight:500}
.form-steps{list-style:none;display:flex;gap:26px;padding:0;margin:32px 0 0;font-size:14px}
.form-steps li{display:flex;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid #929aa5;color:#687180}
.form-steps li.is-current{color:#152033;border-color:#152033;border-bottom-width:2px}
.form-steps span{font:12px Arial,sans-serif}
.form-preview-note{padding:18px 20px;border:1px solid #8994a366;font-size:13px;line-height:1.9;color:#414b5a;margin-bottom:30px;background:#ffffff26}
.form-preview-note strong{display:block;font-weight:500;color:#152033}
.form-instruction{font-size:13px;line-height:1.8;margin-bottom:25px;color:#414b5a}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
.contact-field{min-width:0}
.field-wide{grid-column:1/-1}
.contact-field label{display:flex;align-items:center;gap:13px;font-size:16px;line-height:1.7;font-weight:500;margin-bottom:12px}
.field-required,.field-optional{display:inline-block;border:1px solid #657084;border-radius:3px;padding:1px 7px;font-size:11px;line-height:1.7;font-weight:400;vertical-align:middle}
.field-required{background:#152033;color:#f0f4fa;border-color:#152033}
.field-optional{color:#505b6c}
.contact-field input,.contact-field textarea{display:block;width:100%;min-height:58px;padding:15px 17px;border:1px solid #8994a3;border-radius:2px;background:#ffffff5c;color:#101318;font:400 16px/1.75 "Yu Gothic","Meiryo",sans-serif;transition:border-color .2s,box-shadow .2s}
.contact-field textarea{min-height:216px;resize:vertical}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#697385;opacity:1}
.contact-field input:focus,.contact-field textarea:focus{outline:2px solid #152033;outline-offset:3px;background:#ffffff8c}
.contact-field [aria-invalid=true]{border-color:#9c3036}
.form-error{font-size:14px;color:#89292f;margin-top:20px;line-height:1.8}
.form-privacy{margin-top:25px;display:flex;flex-direction:column;align-items:flex-start}
.form-privacy .plain-link{font-size:13px;line-height:1.8;min-height:44px;color:#152033}
.form-privacy p{font-size:12px;line-height:1.8;color:#505b6c}
.contact-submit,.contact-edit{margin-top:28px;min-width:244px;min-height:54px;font-size:14px;border-color:#152033;gap:42px;animation:none}
.contact-submit{background:#152033;color:#f0f4fa}
.contact-submit:hover{background:#38485f}
.contact-edit{background:transparent;color:#152033;border-color:#657084}
.contact-submit:disabled{cursor:not-allowed;background:#657084;color:#fff;border-color:#657084;transform:none;opacity:.65}
#confirmation-title{font-size:28px;line-height:1.6;font-weight:500;scroll-margin-top:24px}
.confirmation-intro{font-size:14px;line-height:2;color:#414b5a;margin-top:16px}
.confirmation-list{margin:30px 0 0}
.confirmation-list>div{padding:21px 0;border-top:1px solid #8994a366;display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px}
.confirmation-list>div:last-child{border-bottom:1px solid #8994a366}
.confirmation-list dt{font-size:13px;color:#505b6c}
.confirmation-list dd{margin:0;white-space:pre-wrap;font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.confirmation-actions{display:flex;flex-wrap:wrap;gap:0 18px}
.confirmation-actions .button{min-width:220px}
.sending-unavailable{font-size:13px;color:#505b6c;line-height:1.8;margin-top:17px}
@media(max-width:1100px){
.contact-page .subpage-intro{grid-template-columns:1.1fr 1fr;gap:40px}
.contact-page .subpage-en{font-size:clamp(70px,9.5vw,110px)}
.contact-form-layout{grid-template-columns:215px minmax(0,1fr);gap:44px}
.contact-fields{grid-template-columns:1fr}
.confirmation-list>div{grid-template-columns:1fr;gap:9px}
}
@media(max-width:700px){
.contact-page .subpage-intro{grid-template-columns:1fr;gap:34px}
.contact-page h1{margin-top:19px}
.contact-page .subpage-en{font-size:clamp(62px,16.5vw,105px)}
.contact-page .subpage-copy h2{font-size:23px;line-height:1.9}
.contact-form-jump{font-size:13px;gap:48px}
.contact-page .subpage-bottom{flex-direction:row;align-items:center}
.contact-page .subpage-bottom .motion-toggle{align-self:auto}
.contact-form-layout{grid-template-columns:1fr;gap:34px}
.contact-form-section .section-label h2{font-size:24px}
.form-title-break{display:none}
.form-steps{margin-top:24px;gap:30px}
.form-preview-note{font-size:12px;padding:15px 16px;margin-bottom:25px}
.contact-fields{gap:25px}
.contact-field label{font-size:15px;margin-bottom:11px}
.contact-field input,.contact-field textarea{padding:14px 15px;min-height:54px}
.contact-field textarea{min-height:202px}
.contact-submit,.contact-edit{font-size:13px;min-height:52px;min-width:230px;margin-top:26px}
.form-privacy{margin-top:20px}
.form-privacy .plain-link{font-size:12px}
#confirmation-title{font-size:25px}
.confirmation-intro{font-size:14px}
.confirmation-list{margin-top:25px}
.confirmation-list>div{padding:18px 0}
.confirmation-list dd{font-size:15px}
.confirmation-actions{flex-direction:column;align-items:flex-start;gap:0}
.confirmation-actions .button{min-width:230px}
}
@media(max-width:359px){
.contact-page .subpage-en{font-size:56px}
.contact-page .subpage-copy h2{font-size:21px}
.contact-form-section .section-label h2{font-size:22px}
.contact-form-jump{gap:26px}
}
