:root{
    --ink:#1B2A4A; --paper:#FAFAF7; --steel:#3E5C8A;
    --alert:#C44A36; --line:#E3E1DA; --moss:#2E6E4E; --sub:#5E6470;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  .sd-wrap{
    font-family:'Noto Sans JP',sans-serif;background:var(--paper);color:var(--ink);
    max-width:760px;margin:0 auto;border:1px solid var(--line);line-height:1.7;
  }
  .sd-head{border-bottom:3px double var(--ink);padding:28px 28px 20px}
  .sd-eyebrow{font-size:12px;letter-spacing:.18em;color:var(--alert);font-weight:700;margin-bottom:8px}
  .sd-title{font-family:'Shippori Mincho',serif;font-size:clamp(22px,4.5vw,30px);font-weight:700;line-height:1.4}
  .sd-lede{font-size:13.5px;color:var(--sub);margin-top:10px}
  .sd-body{padding:26px 28px 30px}
  .sd-step{margin-bottom:22px}
  .sd-label{display:flex;align-items:baseline;gap:10px;font-weight:700;font-size:15px;margin-bottom:8px}
  .sd-label .q{font-family:'Shippori Mincho',serif;color:var(--steel);font-size:13px;letter-spacing:.1em;border-bottom:2px solid var(--steel);padding-bottom:1px}
  .sd-hint{font-size:12px;color:var(--sub);margin-top:5px}
  select{
    width:100%;padding:12px 14px;font-size:16px;font-family:inherit;color:var(--ink);
    background:#fff;border:1.5px solid var(--ink);border-radius:0;
    appearance:none;-webkit-appearance:none;
  }
  select:disabled{background:#F0EEE7;border-color:#B9B5AA;color:var(--sub)}
  .sd-selectbox{position:relative}
  .sd-selectbox::after{
    content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;
    border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);
    transform:translateY(-70%) rotate(45deg);pointer-events:none;
  }
  select:focus{outline:3px solid var(--steel);outline-offset:1px}
  .sd-grid2{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}
  @media(max-width:560px){.sd-grid2{grid-template-columns:1fr}}
  .sd-popchip{
    display:none;margin-top:10px;padding:10px 14px;border:1px solid var(--line);
    background:#fff;font-size:13.5px;
  }
  .sd-popchip b{font-family:'Shippori Mincho',serif;font-size:16px}
  .sd-btn{
    width:100%;padding:16px;margin-top:6px;background:var(--ink);color:var(--paper);
    font-size:17px;font-weight:700;letter-spacing:.12em;border:none;cursor:pointer;
    font-family:inherit;transition:background .15s;
  }
  .sd-btn:hover{background:#2c3f66}
  .sd-btn:focus-visible{outline:3px solid var(--alert);outline-offset:2px}
  .sd-result{display:none;border-top:3px double var(--ink);padding:26px 28px 30px;background:#fff}
  .sd-result.show{display:block;animation:sdIn .45s ease}
  @keyframes sdIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){.sd-result.show{animation:none}}
  .sd-rhead{font-family:'Shippori Mincho',serif;font-size:19px;font-weight:700;margin-bottom:4px}
  .sd-rsub{font-size:13px;color:var(--sub);margin-bottom:20px}
  .sd-barrow{margin-bottom:16px}
  .sd-barlabel{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin-bottom:5px}
  .sd-barlabel strong{font-size:15px}
  .sd-barlabel .yen{font-family:'Shippori Mincho',serif;font-size:clamp(18px,4vw,24px);font-weight:700}
  .sd-track{height:30px;background:#F0EEE7;position:relative;overflow:hidden}
  .sd-fill{height:100%;width:0;transition:width .9s cubic-bezier(.2,.7,.3,1)}
  .sd-fill.now{background:var(--steel)}
  .sd-fill.future{background:var(--ink)}
  .sd-fill.lost{position:absolute;right:0;top:0;background:repeating-linear-gradient(45deg,var(--alert),var(--alert) 6px,#d9695a 6px,#d9695a 12px)}
  @media(prefers-reduced-motion:reduce){.sd-fill{transition:none}}
  .sd-lostband{margin-top:18px;padding:16px 18px;border-left:5px solid var(--alert);background:#FBF3F1}
  .sd-lostband .t{font-size:13px;font-weight:700;color:var(--alert);letter-spacing:.08em}
  .sd-lostband .v{font-family:'Shippori Mincho',serif;font-size:clamp(22px,5vw,30px);font-weight:700;color:var(--alert)}
  .sd-lostband .d{font-size:13px;color:var(--sub)}
  .sd-gainband{margin-top:18px;padding:16px 18px;border-left:5px solid var(--moss);background:#F2F7F3}
  .sd-gainband .t{font-size:13px;font-weight:700;color:var(--moss);letter-spacing:.08em}
  .sd-gainband .v{font-family:'Shippori Mincho',serif;font-size:clamp(22px,5vw,30px);font-weight:700;color:var(--moss)}
  .sd-gainband .d{font-size:13px;color:var(--sub)}
  .sd-pop{display:flex;border:1px solid var(--line);margin-top:18px;flex-wrap:wrap}
  .sd-pop>div{flex:1 1 30%;padding:12px 10px;text-align:center;min-width:110px}
  .sd-pop>div+div{border-left:1px solid var(--line)}
  .sd-pop .k{font-size:11.5px;color:var(--sub);letter-spacing:.04em}
  .sd-pop .n{font-family:'Shippori Mincho',serif;font-size:17px;font-weight:700}
  .sd-comment{margin-top:20px;font-size:14.5px}
  .sd-comment p{margin-bottom:10px}
  .sd-comment .strategy{border-left:5px solid var(--moss);background:#F2F7F3;padding:14px 16px;margin-top:12px;font-size:14px}
  .sd-comment .strategy b{color:var(--moss)}
  .sd-note{margin-top:24px;padding-top:14px;border-top:1px solid var(--line);font-size:11.5px;color:var(--sub);line-height:1.8}
  .sd-err{display:none;color:var(--alert);font-size:13px;font-weight:700;margin-top:10px}