/* ファイルパス: public/css/consult.css */
.consult-layout {display:grid;grid-template-columns:minmax(0,1.7fr) minmax(225px,.9fr);gap:18px;align-items:start;}
.form-card {padding:clamp(18px,3vw,29px);}
.form-section {border:0;border-bottom:1px solid #e5eaf3;padding:0 0 23px;margin:0 0 23px;min-width:0;}
.form-section:last-of-type {border:0;margin-bottom:0;}
.form-section legend {float:left;display:block;width:100%;font-size:16px;color:#203b57;font-weight:850;margin-bottom:17px;}
.form-section legend+* {clear:both;}
.form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:16px;}
.form-field {display:grid;gap:6px;min-width:0;}
.form-field.full {grid-column:1/-1;}
.form-field label,.field-label {color:#36465c;font-weight:750;font-size:13px;}
.form-field small,.help-text {color:#6b7789;font-size:13px;line-height:1.65;}
.form-field input,.form-field select,.form-field textarea {width:100%;min-width:0;min-height:44px;border:1px solid #dce1ec;border-radius:10px;padding:11px;background:#fff;color:#172333;font-size:14px;}
.form-field textarea {min-height:95px;resize:vertical;}
.choice-set {display:flex;gap:9px;flex-wrap:wrap;}
.choice-pill {position:relative;cursor:pointer;}
.choice-pill input {position:absolute;opacity:0;width:1px;height:1px;}
.choice-pill span {display:inline-flex;padding:9px 13px;border:1px solid #dce2eb;border-radius:999px;min-height:42px;align-items:center;color:#44546a;background:#fff;font-size:14px;font-weight:700;}
.choice-pill input:checked+span {background:#eef2ff;border-color:#7976f5;color:#4135ae;}
.choice-pill input:focus-visible+span {outline:3px solid #838cf8;outline-offset:3px;}
.side-explain {position:sticky;top:calc(var(--header-h) + 20px);padding:22px;background:linear-gradient(160deg,#eff3ff,#fff);border:1px solid #dae3f8;border-radius:18px;}
.side-explain h2 {font-size:17px;color:#263b60;margin:0 0 12px;}
.side-explain p {color:#5a6c83;font-size:13px;line-height:1.85;margin:0;}
.side-explain hr {border:0;border-top:1px solid #dce5f7;margin:18px 0;}
.submit-row {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:23px;flex-wrap:wrap;}
@media(max-width:780px) {.consult-layout {grid-template-columns:1fr}.side-explain {position:static;order:-1;padding:17px}.form-grid {gap:13px}}
@media(max-width:425px) {.form-grid {grid-template-columns:1fr}.form-card {padding:18px}.submit-row .btn {width:100%}}
