/* 債務整理シミュレーター v2 */
.debt-sim { background: #f6f3ec; color: #26394a; padding-bottom: 3rem; }
.debt-sim .container { max-width: 1160px; }
.debt-sim p { line-height: 1.85; }
.debt-sim a:focus-visible, .debt-sim button:focus-visible, .debt-sim input:focus-visible, .ds-dialog button:focus-visible { outline: 3px solid #dd6b20; outline-offset: 4px; }
.ds-breadcrumb { display: flex; flex-wrap: wrap; gap: .6rem; padding: 1.5rem 0 2rem; font-size: .75rem; color: #637383; line-height: 1.8; }
.ds-breadcrumb a { text-decoration: underline; text-underline-offset: .2em; }
.ds-input-layout { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); align-items: start; gap: 3.5rem; }
.ds-intro { padding-top: 1rem; }
.ds-eyebrow { font-size: .6875rem; font-weight: 700; letter-spacing: .12em; color: #a2521e; margin-bottom: .7rem; }
.ds-intro h1 { color: #1e3a5f; font-size: clamp(1.8rem,3vw,2.65rem); line-height: 1.7; font-weight: 600; }
.ds-intro-lead { margin-top: 1.25rem; font-size: .9375rem; color: #5e6f7e; }
.ds-trust { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-top: 1.25rem; font-size: .6875rem; font-weight: 600; }
.ds-trust span { display: inline-flex; gap: .25rem; align-items: center; }
.ds-trust svg { width: 14px; height: 14px; color: #68816b; }
.ds-illustration { margin: 1.75rem 0; }
.ds-illustration img { display: block; width: 100%; height: auto; border-radius: 12px; mix-blend-mode: multiply; }
.ds-intro-guide { display: flex; gap: .75rem; padding-top: 1.25rem; border-top: 1px solid #dcdedb; }
.ds-intro-guide > svg { width: 22px; height: 22px; color: #1e3a5f; margin-top: .2rem; flex-shrink: 0; }
.ds-intro-guide strong { font-size: .875rem; }
.ds-intro-guide p { font-size: .8125rem; color: #637383; margin-top: .25rem; }
.ds-intro-guide a, .ds-text-link { display: inline-flex; gap: .4rem; align-items: center; font: inherit; font-size: .8125rem; font-weight: 600; color: #1e3a5f; background: transparent; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: .25em; line-height: 1.8; }
.ds-intro-guide a { margin-top: .75rem; }
.ds-intro-guide a svg, .ds-text-link svg { width: 15px; height: 15px; flex-shrink: 0; }
.ds-form-card { background: #fff; border: 1px solid #e2e6e6; border-radius: 16px; box-shadow: 0 8px 30px rgba(28,46,64,.05); padding: 2rem; }
.ds-form-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ds-form-header .ds-eyebrow { margin-bottom: .35rem; }
.ds-form-header h2 { font-family: inherit; color: #1e3a5f; font-size: 1.2rem; line-height: 1.6; font-weight: 700; }
.ds-progress-label { font-size: .75rem; color: #637383; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ds-progress-track { height: 4px; background: #eef1f1; border-radius: 8px; margin: 1.25rem 0 2rem; overflow: hidden; }
.ds-progress-track > span { display: block; height: 100%; width: 0; background: #d17a3f; transition: width .15s ease; }
.ds-field { border: 0; min-width: 0; }
.ds-field + .ds-field { margin-top: 2rem; }
.ds-field legend { display: flex; align-items: center; gap: .65rem; font-size: .9375rem; line-height: 1.65; font-weight: 700; padding: 0; width: 100%; }
.ds-step { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; border-radius: 7px; background: #f9eee3; color: #aa581f; font-size: .6875rem; flex-shrink: 0; }
.ds-field-help { font-size: .75rem; color: #637383; margin: .65rem 0 .875rem; }
.ds-input-box { display: flex; align-items: center; gap: .5rem; min-width: 0; border: 1px solid #ccd6dc; background: #fcfdfd; border-radius: 9px; padding: .75rem 1rem; min-height: 70px; transition: border-color .15s; }
.ds-input-box:focus-within { border-color: #b66d36; box-shadow: 0 0 0 3px #f9eee3; }
.ds-input-box:has(input[aria-invalid="true"]) { border-color: #bf3f3f; background: #fffafa; }
.ds-input-box input { display: block; flex: 1; min-width: 0; width: 100%; background: transparent; border: 0; font: inherit; font-size: 2rem; font-weight: 600; color: #1e3a5f; text-align: right; outline: none; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.ds-input-box input::placeholder { color: #bac4cb; font-weight: 400; }
.ds-input-box input::-webkit-inner-spin-button, .ds-input-box input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ds-input-box input:focus-visible { outline: none; }
.ds-input-box > span:not(.ds-sr-only) { color: #657787; font-size: .8125rem; white-space: nowrap; }
.ds-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; }
.ds-chips button { background: #fff; border: 1px solid #e0e6e8; border-radius: 6px; padding: .4rem .65rem; min-height: 36px; font: inherit; font-size: .75rem; color: #637383; cursor: pointer; }
.ds-chips button:hover { background: #f5f7f8; }
.ds-chips button[aria-pressed="true"] { border-color: #b66d36; color: #924819; background: #fff5eb; }
.ds-error { color: #ad3232; font-size: .75rem; margin-top: .5rem; line-height: 1.7; }
.ds-consent { margin: 1.75rem 0 1.1rem; padding: .9rem 1rem; border-radius: 8px; background: #f5f7f7; }
.ds-consent label { display: flex; gap: .65rem; align-items: flex-start; font-size: .75rem; color: #5b6c7b; cursor: pointer; line-height: 1.85; }
.ds-consent input { flex-shrink: 0; width: 17px; height: 17px; accent-color: #ca6d27; margin-top: .2rem; }
.ds-button { display: inline-flex; justify-content: center; align-items: center; gap: .6rem; padding: .875rem 1.2rem; border-radius: 8px; border: 1px solid transparent; font: inherit; font-size: .875rem; line-height: 1.7; font-weight: 600; cursor: pointer; text-align: center; text-decoration: none; }
.ds-button svg { width: 18px; height: 18px; flex-shrink: 0; }
.ds-button-primary { background: #bd5311; color: #fff; box-shadow: 0 3px 0 #a4460d; }
.ds-button-primary:hover { background: #a4460d; }
.ds-button-outline { border-color: #cbd5dc; color: #1e3a5f; background: #fff; }
.ds-button-outline:hover { background: #f6f8f9; }
.ds-submit { width: 100%; min-height: 54px; font-size: .9375rem; justify-content: space-between; padding-left: 1.5rem; padding-right: 1.25rem; }
.ds-submit-note { font-size: .6875rem; text-align: center; color: #637383; margin-top: .8rem; }
.ds-assumptions { margin-top: 1.5rem; border-top: 1px solid #e3e7e8; padding-top: 1rem; font-size: .75rem; color: #657787; line-height: 1.9; }
.ds-assumptions summary { cursor: pointer; color: #455c72; font-weight: 600; line-height: 1.8; }
.ds-assumptions > div { padding-top: .7rem; }
.ds-assumptions p + p { margin-top: .5rem; }
.ds-bottom-help { display: flex; align-items: flex-start; justify-content: center; gap: .6rem; font-size: .75rem; color: #6c7c89; margin-top: 2.25rem; padding-top: 1.25rem; border-top: 1px solid #dcdedb; }
.ds-bottom-help > svg { width: 18px; height: 18px; margin-top: .25rem; flex-shrink: 0; }
.ds-bottom-help a, .ds-aside-note a, .ds-result-footnote a { text-decoration: underline; text-underline-offset: .2em; }
.ds-result-heading { margin-bottom: 1.75rem; }
.ds-result-heading h1 { font-size: clamp(1.5rem,3vw,2.1rem); color: #1e3a5f; line-height: 1.65; }
.ds-result-heading > p:not(.ds-eyebrow) { font-size: .875rem; color: #6a7a87; margin-top: .75rem; }
.ds-input-summary { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem 1.5rem; margin-top: 1.25rem; padding: .9rem 1.1rem; background: #edece6; border-radius: 8px; font-size: .75rem; color: #637383; }
.ds-input-summary strong { margin-left: .5rem; color: #1e3a5f; font-size: .875rem; }
.ds-input-summary a { display: inline-flex; align-items: center; gap: .3rem; margin-left: auto; text-decoration: underline; text-underline-offset: .2em; }
.ds-input-summary svg { width: 12px; height: 12px; }
.ds-result-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 1.5rem; align-items: start; }
.ds-result-main { min-width: 0; }
.ds-result-card, .ds-content-card { background: #fff; border-radius: 12px; border: 1px solid #e2e6e6; padding: 1.75rem; }
.ds-result-card { border-top: 4px solid #d48045; }
.ds-result-title { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ds-method-tag { display: inline-block; color: #9d5726; background: #fcf1e8; border-radius: 4px; padding: .2rem .5rem; font-size: .6875rem; font-weight: 600; margin-bottom: .75rem; }
.ds-result-title h2 { color: #1e3a5f; font-size: 1.75rem; }
.ds-result-icon { display: inline-flex; justify-content: center; align-items: center; width: 52px; height: 52px; border-radius: 12px; background: #f2f5f5; color: #79918b; flex-shrink: 0; }
.ds-result-icon svg { width: 27px; height: 27px; }
.ds-result-intro { color: #5f7180; font-size: .8125rem; margin-top: .75rem; }
.ds-result-number { padding: 1.75rem 0 1.5rem; }
.ds-result-number p { color: #5f7180; font-size: .75rem; margin-bottom: .2rem; }
.ds-result-number > strong { color: #1e3a5f; font-size: clamp(2rem,4vw,3.2rem); font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.5; overflow-wrap: anywhere; }
.ds-result-number > span { font-size: .875rem; color: #5f7180; margin-left: .5rem; white-space: nowrap; }
.ds-result-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; border-top: 1px solid #e3e7e8; padding-top: 1rem; }
.ds-result-facts > div + div { border-left: 1px solid #e3e7e8; padding-left: 1rem; }
.ds-result-facts span { display: block; color: #5f7180; font-size: .6875rem; margin-bottom: .3rem; }
.ds-result-facts strong { font-size: .9375rem; color: #304d68; }
.ds-result-caveat { display: flex; gap: .5rem; margin-top: 1rem; padding: .8rem; border-radius: 6px; background: #f6f8f8; color: #6c7e8c; font-size: .6875rem; }
.ds-result-caveat svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: .2rem; }
.ds-content-card { margin-top: 1.25rem; }
.ds-section-label { font-size: .6875rem; color: #a2521e; font-weight: 600; margin-bottom: .5rem; letter-spacing: .03em; }
.ds-content-card h2 { font-family: inherit; color: #1e3a5f; font-size: 1.1rem; font-weight: 700; line-height: 1.8; }
.ds-muted { color: #5f7180; font-size: .8125rem; margin-top: .65rem; }
.ds-model-row { margin-top: 1.5rem; }
.ds-model-row > div:first-child { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: .5rem; font-size: .75rem; color: #6c7e8c; }
.ds-model-row strong { color: #445f79; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.ds-bar { height: 10px; background: #f0f2f3; border-radius: 10px; margin-top: .6rem; overflow: hidden; }
.ds-bar > span { display: block; height: 100%; background: #adbdc9; border-radius: 10px; }
.ds-model-after .ds-bar > span { background: #ca7c44; }
.ds-model-row > p { font-size: .6875rem; color: #7b8994; margin-top: .4rem; }
.ds-next-checks { list-style: none; margin: 1rem 0 1.25rem; }
.ds-next-checks li { display: flex; gap: .8rem; padding: .875rem 0; border-bottom: 1px solid #e3e7e8; align-items: flex-start; }
.ds-next-checks li > span { color: #b66d36; font-size: .75rem; font-weight: 600; margin-top: .25rem; }
.ds-next-checks p { font-size: .8125rem; }
.ds-adjust { scroll-margin-top: 90px; }
.ds-adjust-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 1.25rem 0; }
.ds-adjust-grid label { display: block; font-size: .75rem; font-weight: 600; margin-bottom: .5rem; line-height: 1.7; }
.ds-adjust-grid .ds-input-box { min-height: 56px; padding: .5rem .75rem; }
.ds-adjust-grid .ds-input-box input { font-size: 1.4rem; }
.ds-adjust form > .ds-button { width: 100%; }
.ds-alternative { border-top: 1px solid #e3e7e8; margin-top: 1.25rem; padding-top: 1rem; }
.ds-alternative p { font-size: .75rem; color: #5f7180; margin-bottom: .6rem; }
.ds-result-footnote { color: #5f7180; font-size: .75rem; margin-top: 1.25rem; }
.ds-result-footnote .ds-text-link { margin-top: 1rem; }
.ds-result-aside { position: sticky; top: 88px; }
.ds-aside-card { background: #fff; border: 1px solid #e2e6e6; border-radius: 12px; overflow: hidden; }
.ds-aside-card > img { width: 100%; height: auto; display: block; }
.ds-aside-card > div { padding: 1.25rem; }
.ds-aside-card h2 { color: #1e3a5f; font-size: 1.2rem; line-height: 1.8; }
.ds-aside-card p:not(.ds-section-label) { font-size: .75rem; color: #5f7180; margin: .75rem 0 1rem; }
.ds-aside-card .ds-button { width: 100%; font-size: .75rem; padding-left: .75rem; padding-right: .75rem; }
.ds-aside-card .ds-button + .ds-button { margin-top: .75rem; }
.ds-aside-note { display: flex; align-items: flex-start; gap: .5rem; color: #5f7180; font-size: .75rem; padding: 1.25rem .5rem; }
.ds-aside-note > svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: .2rem; }
.ds-dialog { position: fixed; inset: 0; margin: auto; width: calc(100% - 2rem); max-width: 470px; border: 1px solid #d7dfe4; border-radius: 14px; padding: 2rem; color: #26394a; box-shadow: 0 20px 80px #0003; }
.ds-dialog::backdrop { background: #15263799; }
.ds-dialog-close { position: absolute; right: 1rem; top: .5rem; width: 32px; height: 32px; background: transparent; border: 0; font-size: 1.5rem; color: #637383; cursor: pointer; }
.ds-dialog h2 { font-family: inherit; color: #1e3a5f; font-size: 1.2rem; line-height: 1.7; }
.ds-dialog > p:not(.ds-section-label) { font-size: .875rem; line-height: 1.9; margin-top: 1rem; }
.ds-dialog-actions { display: flex; gap: .75rem; margin-top: 1.5rem; }
.ds-dialog-actions .ds-button { flex: 1; font-size: .75rem; }
.ds-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.debt-sim [hidden] { display: none !important; }
.ds-hub-header { padding: .5rem 0 2rem; }
.ds-hub-header h1 { color: #1e3a5f; font-size: clamp(1.7rem,3vw,2.5rem); line-height: 1.7; }
.ds-hub-header > p:last-child { color: #5f7180; font-size: .9375rem; margin-top: 1rem; }
.ds-featured-tool { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2.5rem; align-items: center; padding: 1.5rem; border: 1px solid #e2e6e6; background: #fff; border-radius: 14px; }
.ds-featured-tool > img { width: 100%; height: auto; border-radius: 8px; }
.ds-featured-tool h2 { font-size: 1.6rem; color: #1e3a5f; line-height: 1.7; }
.ds-featured-tool p:not(.ds-eyebrow) { color: #5f7180; font-size: .875rem; margin-top: .75rem; }
.ds-featured-tool .ds-button { margin-top: 1.25rem; }
.ds-tool-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; margin-top: 1.25rem; }
.ds-tool-tile { display: flex; flex-direction: column; align-items: flex-start; padding: 1.75rem; border: 1px solid #e2e6e6; border-radius: 12px; background: #fff; }
.ds-tool-tile > svg { color: #b66d36; width: 27px; height: 27px; margin-bottom: 1rem; }
.ds-tool-tile h2 { font-family: inherit; font-size: 1.15rem; line-height: 1.7; color: #1e3a5f; }
.ds-tool-tile p { color: #5f7180; font-size: .875rem; margin: .75rem 0 1.25rem; }
.ds-tool-tile .ds-text-link { margin-top: auto; }
@media (max-width: 1000px) {
    .ds-input-layout { gap: 2rem; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
    .ds-form-card { padding: 1.5rem; }
    .ds-result-layout { grid-template-columns: minmax(0,1fr) 260px; }
    .ds-result-card, .ds-content-card { padding: 1.25rem; }
}
@media (max-width: 767px) {
    .debt-sim { padding-bottom: 2rem; }
    .ds-breadcrumb { padding: 1rem 0 1.5rem; font-size: .6875rem; }
    .ds-input-layout { grid-template-columns: minmax(0,1fr); gap: 0; }
    .ds-intro { display: contents; }
    .ds-intro > .ds-eyebrow { order: 0; }
    .ds-intro h1 { order: 1; font-size: 1.9rem; }
    .ds-intro-lead { order: 2; font-size: .875rem; margin-top: .8rem; }
    .ds-trust { order: 3; margin: 1rem 0 1.5rem; gap: .4rem .75rem; font-size: .625rem; }
    .ds-form-card { order: 4; }
    .ds-illustration { order: 5; max-width: 440px; width: 100%; margin: 1.5rem auto; }
    .ds-intro-guide { order: 6; }
    .ds-result-layout { grid-template-columns: minmax(0,1fr); }
    .ds-result-aside { position: static; }
    .ds-aside-card { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; }
    .ds-input-summary { gap: .65rem 1rem; }
    .ds-input-summary a { margin-left: 0; }
    .ds-featured-tool { gap: 1.5rem; }
}
@media (max-width: 540px) {
    .ds-form-card { padding: 1.25rem; border-radius: 12px; }
    .ds-form-header h2 { font-size: 1rem; }
    .ds-form-header { gap: .5rem; }
    .ds-field legend { font-size: .875rem; align-items: flex-start; }
    .ds-field-help { font-size: .75rem; }
    .ds-input-box { min-height: 64px; padding: .65rem .75rem; }
    .ds-chips { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; }
    .ds-chips button { padding: .5rem .25rem; min-height: 40px; }
    .ds-consent { padding: .75rem; }
    .ds-submit { padding-left: 1rem; padding-right: 1rem; font-size: .875rem; }
    .ds-result-heading h1 { font-size: 1.5rem; }
    .ds-result-number > strong { font-size: 2.3rem; }
    .ds-result-title h2 { font-size: 1.5rem; }
    .ds-result-facts { gap: .75rem; }
    .ds-result-facts > div + div { padding-left: .75rem; }
    .ds-result-facts strong { font-size: .8125rem; }
    .ds-adjust-grid { grid-template-columns: minmax(0,1fr); }
    .ds-aside-card { grid-template-columns: minmax(0,1fr); }
    .ds-aside-card > img { max-height: 220px; object-fit: cover; object-position: center 45%; }
    .ds-dialog { padding: 1.5rem; }
    .ds-dialog-actions { flex-direction: column; }
    .ds-featured-tool, .ds-tool-grid { grid-template-columns: minmax(0,1fr); }
    .ds-featured-tool { gap: 1.25rem; padding: 1.25rem; }
    .ds-featured-tool h2 { font-size: 1.4rem; }
    .ds-tool-tile { padding: 1.25rem; }
}
@media (max-width: 360px) {
    .ds-intro h1 { font-size: 1.65rem; }
    .ds-result-number > strong { font-size: 2rem; }
}
@media (prefers-reduced-motion: reduce) { .ds-progress-track > span { transition: none; } }

.ds-result-facts span, .ds-result-caveat { font-size: .75rem; }
@media (max-width: 540px) { .ds-result-heading h1 span { display: block; } }

.ds-tool-tile>.ds-tool-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin-bottom:20px}

.ds-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ds-comparison-card{display:flex;flex-direction:column;min-width:0}
.ds-comparison-card>.ds-method-tag{align-self:flex-start}
.ds-comparison-card h2{font-family:inherit;font-size:18px;line-height:1.8;color:#1e3a5f;font-weight:600}
.ds-comparison-card .ds-result-intro{min-height:3.8em}
.ds-comparison-card .ds-result-number>strong{font-size:33px}
.ds-comparison-card .ds-result-facts{grid-template-columns:1fr}
.ds-comparison-card .ds-result-facts>div+div{border:0;padding:0}
.ds-comparison-note{font-size:12px;margin:22px 0}
.ds-comparison-card>.ds-button{margin-top:auto;font-size:12px;padding-inline:12px}
.ds-comparison-unavailable{font-size:13px;line-height:1.9;color:#5f7180;margin-top:25px}
.ds-comparison-next{margin-top:25px}
.ds-comparison-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@media(max-width:950px){.ds-comparison-grid{grid-template-columns:1fr}.ds-comparison-card .ds-result-intro{min-height:0}.ds-comparison-card .ds-result-facts{grid-template-columns:1fr 1fr}.ds-comparison-card .ds-result-facts>div+div{border-left:1px solid #e3e7e8;padding-left:1rem}}
@media(max-width:540px){.ds-comparison-actions{flex-direction:column}.ds-comparison-card .ds-result-number>strong{font-size:30px}}
