   :root { --bd:#ddd; --txt:#222; --muted:#555; --bg:#fff; --soft:#f7f7f7; --accent:#ff7a00; }
    body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans JP",sans-serif;color:var(--txt);background:var(--bg);line-height:1.65;}
    .calc-group{border:1px solid var(--bd);border-radius:16px;padding:4px 18px 16px;margin:16px 0;background:#fff;}
    .calc-group .section-title{margin-top:14px;}
    .section-title{font-size:1.35rem;margin:28px 0 14px;border-left:6px solid var(--accent);padding-left:10px;}
    .flex{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0;}
    .flex-item{min-width:160px;}
    .item-group{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
    .input-text{width:180px !important;max-width:100%;padding:10px;border:1px solid var(--bd);border-radius:10px;box-sizing:border-box;}
    .unit{color:var(--muted);font-size:.95rem;}
    .unit-gap{margin-right:14px;}
    .btn-wrapper{margin-top:10px;}
    .btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;cursor:pointer;font-weight:700;}
    .btn--orange{background:var(--accent);color:#fff;}
    .btn--ghost{background:transparent;border:1px solid var(--bd);color:var(--txt);}
    .error-message{min-height:44px;border:1px solid #ffd7d7;background:#fff5f5;border-radius:12px;padding:10px 12px;color:#b00020;}
    .result-box{margin-top:18px;border:1px solid var(--bd);border-radius:14px;background:var(--soft);padding:16px;}
    .answer-row{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;margin:8px 0;}
    .answer-label{min-width:160px;color:var(--muted);}
    .answer-value{font-weight:800;}
    .usage-guide{margin:40px 0 0;border:1px solid var(--bd);border-radius:16px;padding:18px;background:#fff;}
    .guide-text{margin:10px 0;color:var(--txt);}
    .guide-text-sm{margin:6px 0;color:var(--muted);font-size:.95rem;}
    .notice-section{margin:26px 0;padding:14px 16px;border:1px solid var(--bd);border-radius:16px;background:#fff;}
    .notice-title{font-weight:800;margin-bottom:6px;}
    .notice-text{color:var(--muted);margin:4px 0;}
    .k3-faq{margin-top:26px;border-top:2px solid #333;padding-top:16px;}
    .k3-faq details{border-bottom:1px solid var(--bd);padding:12px 0;}
    .k3-faq summary{font-weight:700;cursor:pointer;position:relative;padding-right:20px;}
    .k3-faq summary::after{content:"＋";position:absolute;right:0;}
    .k3-faq details[open] summary::after{content:"－";}
    .faq-content{margin-top:10px;color:var(--muted);font-size:.95rem;}
    .small{font-size:.9rem;color:var(--muted);}
    .chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--bd);border-radius:999px;padding:6px 10px;}
