.contact-page #page-top{display:none!important}
.contact-form [hidden]{display:none!important}
.contact-page #toiawase h1{font-size:34px;letter-spacing:.08em;top:10%;transform:translateX(-50%)}
.contact-page main>h2{font-size:30px;margin:42px 20px 24px;line-height:1.5}
.contact-page #contact{margin:0 0 72px;color:#1f2d40}
.contact-shell{max-width:760px;margin:0 auto;padding:0 28px;box-sizing:border-box}
.contact-shell *{box-sizing:border-box}
#contact p{margin:0;line-height:1.8;text-align:left;padding:0;color:inherit}
.contact-steps{display:flex;list-style:none;padding:0;margin:0 0 32px;gap:8px;border-bottom:1px solid #d9e0e9}
.contact-steps li{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 0 16px;color:#617083;font-size:15px}
.contact-steps li[aria-current]{color:#173b7c;border-bottom:3px solid #173b7c;font-weight:700;margin-bottom:-1px}
.contact-steps span{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid #a8b5c7;border-radius:50%;font-size:13px}
.contact-steps li[aria-current] span{background:#173b7c;color:white;border-color:#173b7c}
#contact .contact-intro{margin:0 0 32px;font-size:16px}
.contact-field{margin:0 0 28px}
.contact-field label{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;line-height:1.5;margin-bottom:10px}
.contact-required{font-size:12px;font-weight:400;color:#536071;border:1px solid #c5ced9;padding:1px 6px;line-height:1.5}
.contact-field input,.contact-field textarea{display:block;width:100%;min-height:52px;border:1px solid #9aa8bb;border-radius:3px;padding:13px 15px;background:#fff;color:#182638;font:16px/1.6 Arial,'Noto Sans JP',sans-serif;transition:border-color .15s,box-shadow .15s}
.contact-field textarea{min-height:180px;resize:vertical}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#687587;opacity:1}
.contact-field input:focus,.contact-field textarea:focus{border-color:#173b7c;outline:2px solid #173b7c;outline-offset:2px}
.contact-field [aria-invalid=true]{border-color:#af3030;background:#fffafa}
#contact .contact-hint{font-size:13px;color:#536071;margin-top:6px}
#contact .contact-field-error{font-size:14px;color:#a12626;margin-top:8px;font-weight:700}
.contact-field input,.contact-field textarea{scroll-margin-top:120px}
.contact-alert{border-left:3px solid #af3030;background:#fff4f3;padding:20px 24px;margin:0 0 28px;scroll-margin-top:120px}
.contact-alert p{font-weight:700}
.contact-alert ul{padding-left:20px;margin:8px 0 0;line-height:1.8}
.contact-alert a{color:#8c2323;text-decoration:underline;text-underline-offset:3px}
#contact .contact-privacy{font-size:14px;color:#536071;margin:8px 0 28px}
.contact-shell a{color:#173b7c;text-underline-offset:4px}
.contact-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.contact-actions form{margin:0}
.contact-primary,.contact-secondary{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:12px;padding:14px 26px;border-radius:3px;font:700 16px/1.5 Arial,'Noto Sans JP',sans-serif;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}
.contact-primary{background:#173b7c;border:1px solid #173b7c;color:#fff!important;min-width:260px}
.contact-secondary{background:#fff;border:1px solid #9aa8bb;color:#173b7c}
.contact-primary:hover{background:#0e2b60;transform:translateY(-1px)}
.contact-secondary:hover{background:#f0f4fa}
.contact-primary:focus-visible,.contact-secondary:focus-visible,.contact-shell a:focus-visible{outline:3px solid #3865a6;outline-offset:4px}
.contact-primary:disabled{opacity:.7;cursor:wait;transform:none}
#contact .contact-help{margin-top:32px;padding-top:24px;border-top:1px solid #d9e0e9;text-align:center;color:#536071;font-size:14px}
.contact-help a{display:inline-block;font-size:16px;font-weight:700}
.contact-notice{padding:16px 20px;background:#eef3fa;border-left:3px solid #173b7c;margin-bottom:24px;font-size:14px;line-height:1.8}
.contact-summary{margin:24px 0 32px;border-top:1px solid #d9e0e9}
.contact-summary>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid #d9e0e9}
.contact-summary dt{font-weight:700;line-height:1.8}
.contact-summary dd{margin:0;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}
.contact-result{padding:16px 0 0}
.contact-result h3{font-size:24px;line-height:1.6;margin:0 0 20px;color:#173b7c}
#contact .contact-result p+p{margin-top:16px}
.contact-reference{background:#f1f4f8;padding:16px!important;overflow-wrap:anywhere}
.contact-result-mark{display:grid;place-items:center;width:56px;height:56px;margin-bottom:20px;background:#173b7c;color:#fff;border-radius:50%;font-size:28px}
@media(max-width:767px){.contact-page main>h2{font-size:26px;margin-top:30px}.contact-shell{padding:0 24px}.contact-steps{margin-bottom:24px}.contact-steps li{gap:7px;font-size:14px}.contact-summary>div{display:block;padding:16px 0}.contact-summary dt{margin-bottom:8px;font-size:14px;color:#536071}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions form,.contact-primary,.contact-secondary{width:100%}.contact-result h3{font-size:22px}.contact-help a{margin-top:4px}.contact-page #page-top{display:none}}
@media(prefers-reduced-motion:reduce){.contact-primary,.contact-secondary,.contact-field input,.contact-field textarea{transition:none}.contact-primary:hover{transform:none}}
