/* Consultation: retain the existing brand and Gothic type family. */
#consult{padding-block:80px;scroll-margin-top:100px}
#consult .consult-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
#consult .consult-intro{padding-top:28px}
#consult .consult-intro h2{font-size:36px;line-height:1.4;font-weight:750;letter-spacing:-.03em}
#consult .consult-intro>p:not(.section-kicker){font-size:16px;line-height:1.8;max-width:36ch;margin-top:20px}
#consult .consult-phone{font-size:40px;line-height:1.3;font-weight:800;letter-spacing:-.025em;margin-top:28px;gap:20px}
#consult .phone-label{display:block;margin-top:8px;color:var(--muted);font-size:14px}
#consult .consult-note{margin-top:28px;padding:18px 0 0;border-left:0;border-top:1px solid var(--line);max-width:350px}
#consult .consult-note strong{font-size:15px;font-weight:700}
#consult .consult-note p{font-size:14px;line-height:1.7;margin-top:6px}
#consult-form{min-width:0;background:#f3f6f7;border:1px solid #d6dfe4;border-radius:12px;padding:32px}
#consult-form .form-title{display:block;margin-bottom:28px}
#consult-form .form-title h3{font-size:24px;font-weight:750;line-height:1.4;letter-spacing:-.02em}
#consult-form .form-title span{display:block;white-space:normal;margin-top:8px;font-size:14px;line-height:1.6;color:#455c6a}
#consult-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}
#consult-form label{display:block;min-width:0;font-size:14px;font-weight:700;line-height:1.5;color:#132b3d}
#consult-form select,#consult-form textarea{box-sizing:border-box;min-width:0;width:100%;font-family:inherit;font-size:16px;font-weight:500;line-height:1.5;color:#132b3d;background-color:#fff;border:1px solid #b8c7cf;border-radius:6px;margin-top:8px;padding:15px 14px}
#consult-form select{min-height:56px;padding-right:32px;cursor:pointer}
#consult-form textarea{min-height:120px;resize:vertical}
#consult-form textarea::placeholder{font-size:15px;font-weight:400;color:#596e7b}
#consult-form select:focus-visible,#consult-form textarea:focus-visible{outline:2px solid #173e55;outline-offset:3px;border-color:#173e55}
#consult-form select:hover,#consult-form textarea:hover{border-color:#173e55}
#consult-form>button[type=submit]{margin-top:24px;min-height:56px;font-size:16px;font-weight:750;border-radius:6px;justify-content:space-between;width:100%;padding-inline:20px}
#consult-form .form-caption{font-size:13px;line-height:1.6;color:#455c6a;margin-top:12px}
#consult-form #memo-result{border-top:1px solid #bdccd4;padding-top:24px;margin-top:24px}
#consult-form .memo-actions .button{font-size:15px;min-height:48px;flex:1;padding:12px;white-space:nowrap}
#consult-form #copy-status{font-size:14px;line-height:1.7;margin-top:14px}
@media(max-width:900px){#consult .consult-layout{grid-template-columns:minmax(0,1fr);gap:32px}#consult .consult-intro{padding-top:0}#consult .consult-intro h2 br{display:none}#consult .consult-note{max-width:none}#consult-form{padding:28px}}
@media(max-width:600px){#consult{padding-block:48px;scroll-margin-top:84px}#consult .consult-layout{gap:28px}#consult .consult-intro h2{font-size:28px}#consult .consult-intro>p:not(.section-kicker){font-size:15px;margin-top:14px}#consult .consult-phone{font-size:34px;margin-top:20px}#consult .consult-note{margin-top:20px;padding-top:16px}#consult-form{padding:24px 18px;border-radius:10px}#consult-form .form-title{margin-bottom:24px}#consult-form .form-title h3{font-size:23px}#consult-form .form-row{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:20px}#consult-form .memo-actions{gap:10px}}
