@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap");

    #hcBioSim,
    #hcBioSim * { box-sizing: border-box; }
    #hcBioSim {
      --navy:#071a29;
      --navy2:#102c3e;
      --ivory:#f4f5f1;
      --paper:#fffefa;
      --gold:#d7b96f;
      --teal:#258c88;
      --teal2:#dff2ef;
      --ink:#172b36;
      --muted:#63737c;
      --line:#dbe2df;
      --warn:#9b5f22;
      --warnbg:#fff5e8;
      --shadow:0 18px 48px rgba(7,26,41,.12);
      color:var(--ink);
      background:var(--ivory);
      font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
      line-height:1.75;
      margin:0;
      padding:0 0 56px;
    }
    #hcBioSim button,
    #hcBioSim select,
    #hcBioSim input { font:inherit; }
    #hcBioSim .hcbs-hero {
      background:
        radial-gradient(circle at 82% 8%, rgba(37,140,136,.35), transparent 30%),
        linear-gradient(135deg,var(--navy),var(--navy2));
      color:#fff;
      padding:56px clamp(20px,5vw,72px) 50px;
      position:relative;
      overflow:hidden;
    }
    #hcBioSim .hcbs-hero:after {
      content:"";
      position:absolute;
      width:260px;
      height:260px;
      border:1px solid rgba(215,185,111,.36);
      border-radius:50%;
      right:-90px;
      bottom:-150px;
    }
    #hcBioSim .hcbs-kicker {
      color:var(--gold);
      font-size:13px;
      letter-spacing:.18em;
      font-weight:800;
      margin:0 0 12px;
    }
    #hcBioSim h1 {
      color:#fff;
      font-size:clamp(28px,5vw,48px);
      line-height:1.25;
      letter-spacing:.02em;
      margin:0 0 15px;
      max-width:920px;
    }
    #hcBioSim .hcbs-lead {
      color:rgba(255,255,255,.84);
      font-size:clamp(15px,2.2vw,18px);
      max-width:810px;
      margin:0;
    }
    #hcBioSim .hcbs-wrap {
      width:min(1120px,calc(100% - 32px));
      margin:-24px auto 0;
      position:relative;
      z-index:2;
    }
    #hcBioSim .hcbs-intro,
    #hcBioSim .hcbs-panel,
    #hcBioSim .hcbs-results,
    #hcBioSim .hcbs-notes {
      background:var(--paper);
      border:1px solid rgba(219,226,223,.9);
      border-radius:22px;
      box-shadow:var(--shadow);
    }
    #hcBioSim .hcbs-intro {
      display:grid;
      grid-template-columns:1fr auto;
      gap:24px;
      align-items:center;
      padding:22px 26px;
      margin-bottom:24px;
    }
    #hcBioSim .hcbs-intro strong { color:var(--navy); }
    #hcBioSim .hcbs-badge {
      border:1px solid rgba(37,140,136,.25);
      background:var(--teal2);
      color:#126963;
      border-radius:999px;
      font-size:12px;
      font-weight:800;
      padding:8px 13px;
      white-space:nowrap;
    }
    #hcBioSim .hcbs-panel { padding:clamp(22px,4vw,38px); }
    #hcBioSim .hcbs-section-title {
      display:flex;
      gap:13px;
      align-items:flex-start;
      margin:0 0 20px;
    }
    #hcBioSim .hcbs-num {
      width:34px;
      height:34px;
      border-radius:50%;
      flex:0 0 34px;
      background:var(--navy);
      color:var(--gold);
      display:grid;
      place-items:center;
      font-size:13px;
      font-weight:900;
    }
    #hcBioSim h2,
    #hcBioSim h3 { color:var(--navy); line-height:1.4; }
    #hcBioSim h2 { font-size:clamp(20px,3vw,27px); margin:0; }
    #hcBioSim h3 { font-size:17px; margin:0 0 12px; }
    #hcBioSim .hcbs-help { color:var(--muted); font-size:13px; margin:4px 0 0; }
    #hcBioSim .hcbs-step + .hcbs-step {
      border-top:1px solid var(--line);
      margin-top:30px;
      padding-top:30px;
    }
    #hcBioSim .hcbs-choice-grid {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
    }
    #hcBioSim .hcbs-choice-grid.is-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
    #hcBioSim .hcbs-choice {
      background:#fff;
      border:1.5px solid var(--line);
      color:var(--ink);
      min-height:62px;
      border-radius:14px;
      padding:12px 15px;
      cursor:pointer;
      text-align:left;
      transition:.18s ease;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:2px;
    }
    #hcBioSim .hcbs-choice:hover { border-color:var(--teal); transform:translateY(-1px); }
    #hcBioSim .hcbs-choice.is-active {
      color:var(--navy);
      border-color:var(--teal);
      background:var(--teal2);
      box-shadow:0 0 0 3px rgba(37,140,136,.10);
    }
    #hcBioSim .hcbs-choice b { font-size:14px; }
    #hcBioSim .hcbs-choice span { color:var(--muted); font-size:11px; line-height:1.45; }
    #hcBioSim .hcbs-choice.is-active span { color:#35706e; }
    #hcBioSim .hcbs-field-grid {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
    }
    #hcBioSim label.hcbs-label { display:block; font-weight:800; color:var(--navy); font-size:14px; margin-bottom:7px; }
    #hcBioSim select,
    #hcBioSim input[type="number"] {
      width:100%;
      min-height:52px;
      border:1.5px solid var(--line);
      background:#fff;
      color:var(--ink);
      border-radius:12px;
      padding:10px 13px;
      outline:none;
    }
    #hcBioSim select:focus,
    #hcBioSim input[type="number"]:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(37,140,136,.10); }
    #hcBioSim .hcbs-drugs {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
    }
    #hcBioSim .hcbs-drug {
      min-height:150px;
      position:relative;
      justify-content:flex-start;
      padding-top:19px;
    }
    #hcBioSim .hcbs-drug .hcbs-drug-interval {
      color:var(--teal);
      font-size:12px;
      font-weight:900;
      margin-bottom:5px;
    }
    #hcBioSim .hcbs-drug b { font-size:16px; }
    #hcBioSim .hcbs-drug-price { margin-top:auto; font-size:11px !important; }
    #hcBioSim .hcbs-mini-note,
    #hcBioSim .hcbs-warning {
      border-radius:12px;
      padding:12px 14px;
      font-size:12px;
      margin-top:14px;
    }
    #hcBioSim .hcbs-mini-note { background:#eef4f5; color:#4f676f; }
    #hcBioSim .hcbs-warning { background:var(--warnbg); color:var(--warn); border:1px solid #f2d3aa; }
    #hcBioSim .hcbs-action {
      display:flex;
      justify-content:center;
      margin-top:30px;
    }
    #hcBioSim .hcbs-calc {
      border:0;
      border-radius:999px;
      min-width:min(100%,360px);
      min-height:58px;
      padding:14px 28px;
      cursor:pointer;
      color:#fff;
      background:linear-gradient(135deg,var(--teal),#1b716e);
      font-weight:900;
      letter-spacing:.04em;
      box-shadow:0 12px 24px rgba(37,140,136,.22);
    }
    #hcBioSim .hcbs-calc:hover { filter:brightness(1.04); transform:translateY(-1px); }
    #hcBioSim .hcbs-results { margin-top:24px; padding:clamp(22px,4vw,38px); display:none; }
    #hcBioSim .hcbs-results.is-visible { display:block; }
    #hcBioSim .hcbs-summary {
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:18px;
      padding-bottom:22px;
      border-bottom:1px solid var(--line);
      margin-bottom:22px;
    }
    #hcBioSim .hcbs-summary p { margin:5px 0 0; color:var(--muted); font-size:13px; }
    #hcBioSim .hcbs-total-label { color:var(--muted); font-size:12px; text-align:right; }
    #hcBioSim .hcbs-total-value { color:var(--navy); font-size:clamp(29px,5vw,44px); font-weight:900; line-height:1.1; white-space:nowrap; }
    #hcBioSim .hcbs-result-grid {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
    }
    #hcBioSim .hcbs-result-card {
      background:#fff;
      border:1px solid var(--line);
      border-radius:16px;
      padding:17px;
      min-height:175px;
      display:flex;
      flex-direction:column;
    }
    #hcBioSim .hcbs-result-card.is-primary {
      background:linear-gradient(160deg,var(--navy),var(--navy2));
      border-color:transparent;
      color:#fff;
    }
    #hcBioSim .hcbs-card-label { color:var(--muted); font-size:12px; min-height:42px; }
    #hcBioSim .is-primary .hcbs-card-label { color:rgba(255,255,255,.7); }
    #hcBioSim .hcbs-card-value { color:var(--navy); font-size:clamp(22px,2.5vw,29px); font-weight:900; line-height:1.15; margin:5px 0 6px; }
    #hcBioSim .is-primary .hcbs-card-value { color:var(--gold); }
    #hcBioSim .hcbs-card-month { color:var(--muted); font-size:11px; }
    #hcBioSim .is-primary .hcbs-card-month { color:rgba(255,255,255,.72); }
    #hcBioSim .hcbs-card-foot { margin-top:auto; padding-top:10px; color:var(--muted); font-size:10px; line-height:1.5; }
    #hcBioSim .is-primary .hcbs-card-foot { color:rgba(255,255,255,.62); }
    #hcBioSim .hcbs-detail-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:18px; margin-top:22px; }
    #hcBioSim .hcbs-detail-box { border:1px solid var(--line); border-radius:16px; padding:18px; background:#fff; }
    #hcBioSim table { width:100%; border-collapse:collapse; font-size:12px; }
    #hcBioSim th,
    #hcBioSim td { padding:8px 7px; border-bottom:1px solid #edf0ee; text-align:right; }
    #hcBioSim th:first-child,
    #hcBioSim td:first-child { text-align:left; }
    #hcBioSim th { color:var(--muted); font-weight:700; }
    #hcBioSim .hcbs-meter { margin:11px 0 15px; }
    #hcBioSim .hcbs-meter-head { display:flex; justify-content:space-between; gap:12px; font-size:11px; color:var(--muted); margin-bottom:5px; }
    #hcBioSim .hcbs-meter-track { height:9px; background:#e9eeec; border-radius:99px; overflow:hidden; }
    #hcBioSim .hcbs-meter-fill { height:100%; width:0; background:linear-gradient(90deg,var(--teal),var(--gold)); border-radius:99px; transition:width .4s ease; }
    #hcBioSim details { margin-top:16px; border-top:1px solid var(--line); padding-top:14px; }
    #hcBioSim summary { cursor:pointer; color:var(--navy); font-weight:800; font-size:13px; }
    #hcBioSim .hcbs-details-copy { color:var(--muted); font-size:11px; margin-top:10px; }
    #hcBioSim .hcbs-notes { margin-top:24px; padding:22px 26px; box-shadow:none; }
    #hcBioSim .hcbs-notes ul { margin:8px 0 0; padding-left:1.3em; color:var(--muted); font-size:12px; }
    #hcBioSim .hcbs-notes li + li { margin-top:6px; }
    #hcBioSim .hcbs-updated { color:var(--muted); font-size:10px; margin-top:16px; text-align:right; }
    @media (max-width:900px) {
      #hcBioSim .hcbs-drugs,
      #hcBioSim .hcbs-result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      #hcBioSim .hcbs-detail-grid { grid-template-columns:1fr; }
    }
    @media (max-width:640px) {
      #hcBioSim .hcbs-wrap { width:min(100% - 20px,1120px); }
      #hcBioSim .hcbs-hero { padding:42px 20px 43px; }
      #hcBioSim .hcbs-intro { grid-template-columns:1fr; gap:10px; padding:18px; }
      #hcBioSim .hcbs-badge { width:max-content; }
      #hcBioSim .hcbs-choice-grid,
      #hcBioSim .hcbs-choice-grid.is-3,
      #hcBioSim .hcbs-field-grid,
      #hcBioSim .hcbs-drugs,
      #hcBioSim .hcbs-result-grid { grid-template-columns:1fr; }
      #hcBioSim .hcbs-drug { min-height:112px; }
      #hcBioSim .hcbs-summary { align-items:flex-start; flex-direction:column; }
      #hcBioSim .hcbs-total-label { text-align:left; }
      #hcBioSim .hcbs-result-card { min-height:145px; }
      #hcBioSim .hcbs-table-scroll { overflow-x:auto; }
      #hcBioSim table { min-width:520px; }
    }
  
#hcBioSim [hidden]{display:none!important} #hcBioSim button:disabled{opacity:.6;cursor:wait}

#hcBioSim .hcbs-month-inputs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:16px 0}#hcBioSim .hcbs-month-inputs input{width:100%;padding:8px;border:1px solid #ccd9d5;border-radius:6px}#hcBioSim button:focus-visible,#hcBioSim select:focus-visible,#hcBioSim input:focus-visible{outline:3px solid #258c88;outline-offset:3px}@media(max-width:640px){#hcBioSim .hcbs-month-inputs{grid-template-columns:repeat(3,minmax(0,1fr))}}

#hcBioSim .hcbs-income-input{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#hcBioSim .hcbs-income-input input{width:180px;max-width:100%;border:1px solid #ccd9d5;border-radius:10px;padding:12px;font-size:18px;color:#172b36;background:#fff}#hcBioSim .hcbs-help{font-size:13px}#hcBioSim #hcbsEstimate{font-size:14px}#hcBioSim #hcbsManual{width:20px;height:20px;vertical-align:middle}#hcBioSim .hcbs-table-scroll{overflow-x:auto}#hcBioSim table{min-width:660px}

.hcbs .hcbs-print{border:0;border-radius:8px;background:#216e66;color:#fff;padding:12px 18px;cursor:pointer;font:inherit}.hcbs .hcbs-print:disabled{opacity:.5;cursor:default}.hcbs .hcbs-print-help{font-size:13px;line-height:1.6;color:#54656c}

.hcbs .hcbs-referral{margin-top:36px;padding:28px;border:1px solid #d6dedb;border-radius:14px;background:#fffdf8;line-height:1.9}.hcbs .hcbs-referral h2{font-size:24px;margin:0 0 16px}.hcbs .hcbs-referral h3{font-size:16px;margin:20px 0 6px}.hcbs .hcbs-referral a{color:#216e66;overflow-wrap:anywhere}.hcbs .hcbs-referral textarea{display:block;box-sizing:border-box;width:100%;margin-top:10px;padding:12px;border:1px solid #c4d1cd;border-radius:6px;font-size:14px;line-height:1.6;background:#fff;color:#152c36;resize:vertical}@media(max-width:600px){.hcbs .hcbs-referral{padding:20px}}

.hcbs .hcbs-referral-banner{display:block;max-width:720px;margin:16px auto}.hcbs .hcbs-referral-banner img{display:block;width:100%;height:auto;border-radius:8px}.hcbs .hcbs-referral-banner:focus-visible{outline:3px solid #216e66;outline-offset:4px}

#hcBioSim input,#hcBioSim select,#hcBioSim button,#hcBioSim textarea{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}#hcBioSim .hcbs-period-note{padding:14px 18px;background:#edf5f3;border-left:4px solid #258c88;line-height:1.8;margin:16px 0}

#hcBioSim .hcbs-intro{padding:24px 28px;background:#edf6f2;border:1px solid #bdd6cd;border-left:6px solid #21766e;border-radius:12px;gap:20px;flex-wrap:wrap;align-items:center}#hcBioSim .hcbs-target{flex:1 1 420px;min-width:0}#hcBioSim .hcbs-target-label{display:block;color:#21665d;font-size:15px;font-weight:700;letter-spacing:.04em;margin-bottom:8px}#hcBioSim .hcbs-target-title{margin:0;padding:0;border:0;background:none;color:#103c38;font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.6;overflow-wrap:anywhere}#hcBioSim .hcbs-target-title span{display:block;font-size:clamp(18px,1.8vw,23px)}@media(max-width:600px){#hcBioSim .hcbs-intro{padding:20px 18px;gap:14px}#hcBioSim .hcbs-target{flex-basis:100%}}
