/* 寮ページ限定。共通CSS・他ページの試行には影響させない。 */
.dorm-guide .dorm-example-head{border-top:3px solid var(--life-ink);padding:25px 0 8px;margin-top:34px}
.dorm-guide .dorm-example-head p{max-width:850px}
.dorm-guide .dorm-table-scroll{overflow-x:auto;border:1px solid #cbd5cb;border-radius:8px}
.dorm-guide .dorm-cost-table{width:100%;min-width:570px;border-collapse:collapse;background:#fff}
.dorm-guide .dorm-cost-table caption{text-align:left;background:#edf1e9;padding:14px 20px;font-size:13px;font-weight:700;color:var(--life-ink)}
.dorm-guide .dorm-cost-table th,.dorm-guide .dorm-cost-table td{text-align:left;vertical-align:top;padding:22px;border-bottom:1px solid #dce2da}
.dorm-guide .dorm-cost-table thead{font-size:13px;background:#f5f7f2}
.dorm-guide .dorm-cost-table tbody th{font-size:28px;color:var(--life-ink);white-space:nowrap}
.dorm-guide .dorm-cost-table tbody th span{font-size:13px;padding-left:3px}
.dorm-guide .dorm-cost-table strong{display:block;font-size:27px;letter-spacing:-.03em;color:var(--life-ink);line-height:1.7;white-space:nowrap}
.dorm-guide .dorm-cost-table strong span{font-size:13px;letter-spacing:0}
.dorm-guide .dorm-cost-table small{display:block;font-size:12px;color:#52605c}
.dorm-guide .dorm-cost-table tr:last-child>*{border-bottom:0}
.dorm-guide .dorm-calc-section{background:#edf1e9;border-block:1px solid #d3dccf}
.dorm-guide .dorm-calculator{padding:32px;background:#fffdf9;border:1px solid #bfcdbd;border-radius:12px}
.dorm-guide .dorm-fields{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;min-width:0}
.dorm-guide .dorm-fields legend{font-size:19px;font-weight:750;padding:0;margin-bottom:20px;color:var(--life-ink)}
.dorm-guide .dorm-field{min-width:0}
.dorm-guide .dorm-field label{display:block;font-size:14px;font-weight:750;margin-bottom:8px;color:var(--life-ink)}
.dorm-guide .dorm-field label span{display:inline-block;font-size:11px;font-weight:500;color:#52605c;margin-left:5px}
.dorm-guide .dorm-field input{box-sizing:border-box;width:100%;min-width:0;min-height:50px;border:1px solid #8fa28e;border-radius:5px;background:#fff;color:#183b36;font:600 21px/1.5 system-ui,sans-serif;padding:8px 12px}
.dorm-guide .dorm-field input:focus-visible,.dorm-guide .dorm-calc-action button:focus-visible,.dorm-guide .dorm-table-scroll:focus-visible{outline:3px solid #1769aa;outline-offset:3px}
.dorm-guide .dorm-field small{display:block;font-size:12px;line-height:1.8;color:#52605c;margin-top:6px}
.dorm-guide .dorm-extra{border-block:1px solid #d4decf;padding:20px 0;margin:28px 0}
.dorm-guide .dorm-extra summary,.dorm-guide .dorm-assumptions summary{font-weight:750;cursor:pointer;color:var(--life-ink);line-height:1.8;padding:6px 0}
.dorm-guide .dorm-extra-grid{margin-top:20px}.dorm-guide .dorm-field-wide{grid-column:1/-1}.dorm-guide .dorm-field-wide input{max-width:400px}
.dorm-guide .dorm-calc-action{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.dorm-guide .dorm-calc-action button{border:0;cursor:pointer;font:700 15px/1.7 system-ui,sans-serif;min-height:52px}
.dorm-guide .dorm-calc-action button:disabled{opacity:.65;cursor:wait}
.dorm-guide .dorm-calc-status{font-size:13px;line-height:1.8;color:#52605c;margin:16px 0 0}
.dorm-guide .dorm-result{border-top:1px solid #d4decf;margin-top:28px;padding-top:28px}
.dorm-guide [hidden]{display:none!important}
.dorm-guide .dorm-result-heading{font-weight:750;font-size:18px;color:var(--life-ink);margin:0 0 20px}
.dorm-guide .dorm-result-heading span{display:block;font-size:12px;font-weight:400}
.dorm-guide .dorm-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dorm-guide .dorm-result-card{background:#f0f4ec;border-top:3px solid var(--life-ink);padding:24px;min-width:0}
.dorm-guide .dorm-result-card .life-kicker{font-size:11px;letter-spacing:.04em}
.dorm-guide .dorm-result-card h3{font-size:15px;margin:0}
.dorm-guide .dorm-result-number{font-weight:800;font-size:clamp(28px,3vw,37px);color:var(--life-ink);line-height:1.5;margin:8px 0;overflow-wrap:anywhere}
.dorm-guide .dorm-period{font-size:16px;font-weight:750;padding-top:14px;border-top:1px dashed #9bad98;color:var(--life-ink);overflow-wrap:anywhere}
.dorm-guide .dorm-result-note{border-left:3px solid var(--life-accent);padding:12px 16px;background:#faf0e7;font-size:14px}
.dorm-guide .dorm-next-link{display:inline-block;color:var(--life-ink);font-size:14px;font-weight:750;margin-top:8px}
.dorm-guide .dorm-assumptions{margin-top:24px;font-size:13px;max-width:900px}
.dorm-guide .dorm-assumptions ul{padding-left:22px}.dorm-guide .dorm-assumptions li{margin:10px 0}
.dorm-guide .dorm-fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.dorm-guide .dorm-fit-grid article{border-top:2px solid #7d8e75;background:#fffdf9;padding:24px}
.dorm-guide .dorm-fit-grid p{margin-bottom:0;font-size:14px}
@media(max-width:650px){.dorm-guide .dorm-calculator{padding:22px 18px}.dorm-guide .dorm-fields,.dorm-guide .dorm-results-grid,.dorm-guide .dorm-fit-grid{grid-template-columns:1fr}.dorm-guide .dorm-fields{gap:22px}.dorm-guide .dorm-result-card{padding:22px}.dorm-guide .dorm-calc-action{gap:0}.dorm-guide .dorm-calc-action button{width:100%}.dorm-guide .dorm-cost-table th,.dorm-guide .dorm-cost-table td{padding:16px}.dorm-guide .dorm-field-wide input{max-width:none}}
