#cocoro-estimator{color-scheme:light}
#cocoro-estimator *{box-sizing:border-box}
#cocoro-estimator{margin:0;background:#fbfaf0;color:#252333;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.65}
#cocoro-estimator button,#cocoro-estimator input,#cocoro-estimator textarea,#cocoro-estimator select{font:inherit}
#cocoro-estimator button,#cocoro-estimator a,#cocoro-estimator input,#cocoro-estimator select,#cocoro-estimator textarea{-webkit-tap-highlight-color:transparent}
#cocoro-estimator button,#cocoro-estimator a{touch-action:manipulation}
#cocoro-estimator button{cursor:pointer}
#cocoro-estimator a{color:inherit}
#cocoro-estimator button:focus-visible,#cocoro-estimator a:focus-visible,#cocoro-estimator input:focus-visible,#cocoro-estimator textarea:focus-visible,#cocoro-estimator select:focus-visible{outline:3px solid #1d8a72;outline-offset:4px}
#cocoro-estimator{--purple:#1d8a72;--lime:#e6f272;--line:#e3e1e8}
#cocoro-estimator .top{max-width:1260px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:26px 40px;border-bottom:1px solid var(--line)}
#cocoro-estimator .brand{display:flex;gap:12px;align-items:center;font-weight:800;letter-spacing:-.03em;text-decoration:none;font-size:22px}
#cocoro-estimator .brand-mark{display:grid;place-items:center;background:var(--purple);color:var(--lime);width:34px;height:34px;border-radius:9px;font-weight:900}
#cocoro-estimator .top-tag{font-size:14px;background:#fff;border:1px solid var(--line);padding:5px 14px;border-radius:30px}
#cocoro-estimator .estimator-main{max-width:1260px;margin:auto;padding:42px 40px 0}
#cocoro-estimator .intro{max-width:700px;margin-bottom:36px}
#cocoro-estimator .eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--purple)}
#cocoro-estimator h1{font-size:clamp(30px,3.6vw,46px);letter-spacing:-.035em;line-height:1.35;margin:12px 0 16px;font-weight:850}
#cocoro-estimator .intro p{color:#625e70;margin:0;max-width:620px}
#cocoro-estimator .workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
#cocoro-estimator .section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
#cocoro-estimator h2{font-size:17px;color:var(--purple);margin:0}
#cocoro-estimator h2 span{color:#252333;margin-left:10px}
#cocoro-estimator .muted{color:#6b667a;font-size:14px}
#cocoro-estimator .categories{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
#cocoro-estimator .category{display:flex;gap:10px;align-items:center;position:relative;padding:17px 15px;background:#fff;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-weight:700;min-height:70px;font-size:15px}
#cocoro-estimator .category input{accent-color:var(--purple);width:18px;height:18px;flex-shrink:0}
#cocoro-estimator .category.active{border:2px solid var(--purple);padding:16px 14px;background:#f2f8dd}
#cocoro-estimator .category-code{font-size:12px;color:#7b748d;margin-left:auto}
#cocoro-estimator .panel{background:#fff;border:1px solid var(--line);border-radius:16px;margin-top:16px;overflow:hidden}
#cocoro-estimator .panel-heading{display:flex;justify-content:space-between;gap:12px;background:#f2f5df;padding:20px 22px}
#cocoro-estimator .panel-heading h3{margin:0;font-size:17px}
#cocoro-estimator .panel-heading span{color:var(--purple);font-size:13px}
#cocoro-estimator .panel-note{font-size:14px;color:#6b667a;padding:0 22px;margin:16px 0 4px}
#cocoro-estimator .option{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:19px 22px;border-bottom:1px solid #efedf2}
#cocoro-estimator .option:last-child{border-bottom:0}
#cocoro-estimator .option>input{accent-color:var(--purple);width:18px;height:18px;margin:6px 0}
#cocoro-estimator .option.checked{background:#fbfdf4}
#cocoro-estimator .option.disabled{background:#f8f8fa;color:#716b80}
#cocoro-estimator .option-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;font-size:15px;font-weight:700;cursor:pointer}
#cocoro-estimator .option-price{color:var(--purple);white-space:nowrap;font-size:14px}
#cocoro-estimator .option-desc{font-size:14px;color:#696476;line-height:1.6;margin:5px 0 0}
#cocoro-estimator .plan-pill{display:inline-block;background:#e6f272;padding:2px 8px;border-radius:4px;margin-top:7px;font-size:12px;font-weight:700}
#cocoro-estimator .qty{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:14px}
#cocoro-estimator .qty input{width:90px;padding:7px 10px;border:1px solid var(--line);border-radius:6px}
#cocoro-estimator .budget-section{margin-top:34px}
#cocoro-estimator .budget-section h2{margin-bottom:20px}
#cocoro-estimator .input-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
#cocoro-estimator .budget-section label{display:block;font-size:14px;font-weight:600;margin-bottom:14px}
#cocoro-estimator .budget-section input,#cocoro-estimator .budget-section textarea{display:block;width:100%;margin-top:8px;background:white;border:1px solid #d9d5e2;border-radius:8px;padding:12px;min-width:0}
#cocoro-estimator .budget-section .muted{font-weight:400}
#cocoro-estimator .estimate{position:sticky;top:100px;background:white;border:1px solid var(--line);border-top:5px solid var(--purple);border-radius:16px;padding:24px;box-shadow:0 12px 40px #26204409}
#cocoro-estimator .estimate-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
#cocoro-estimator .text-btn{background:transparent;border:0;padding:0;color:#6b667a;font-size:12px;text-decoration:underline}
#cocoro-estimator .estimate h2{color:#252333;margin:14px 0 22px;font-size:19px}
#cocoro-estimator .total-label{font-size:14px}
#cocoro-estimator .total-label span{font-size:12px;color:#777080;margin-left:8px}
#cocoro-estimator .total{font-size:38px;letter-spacing:-.05em;line-height:1.35;font-weight:800;margin:4px 0;color:var(--purple);overflow-wrap:anywhere}
#cocoro-estimator .total span{font-size:16px;margin-left:8px;letter-spacing:0}
#cocoro-estimator .taxline{font-size:13px;color:#797285}
#cocoro-estimator .monthly-box{background:#f2f5df;border-radius:8px;padding:14px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}
#cocoro-estimator .monthly-box strong{color:var(--purple);font-size:20px}
#cocoro-estimator .monthly-box small{font-size:12px}
#cocoro-estimator .monthly-box+.taxline{text-align:right;margin-top:6px}
#cocoro-estimator .empty{border:1px dashed #d9d4e6;border-radius:8px;padding:16px;color:#7a7389;font-size:14px;margin-top:20px}
#cocoro-estimator .line-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #efedf2;font-size:13px}
#cocoro-estimator .line-item:first-child{margin-top:18px}
#cocoro-estimator .line-item>span{min-width:0}
#cocoro-estimator .line-item strong{white-space:nowrap;font-size:13px;font-weight:600}
#cocoro-estimator .quote-note{background:#fffbe3;padding:12px;border-radius:8px;font-size:13px;margin-top:14px}
#cocoro-estimator #period{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}
#cocoro-estimator #period label{font-size:14px}
#cocoro-estimator #horizon{padding:5px;border:1px solid var(--line);border-radius:5px;margin-left:6px;max-width:100%}
#cocoro-estimator .period-result{margin-top:12px;font-size:13px;display:flex;justify-content:space-between;gap:10px}
#cocoro-estimator .period-result strong{font-size:17px;color:var(--purple)}
#cocoro-estimator #term-note{font-size:12px}
#cocoro-estimator .disclaimer{font-size:12px;color:#766e81;margin:20px 0}
#cocoro-estimator .primary,#cocoro-estimator .secondary{display:block;width:100%;text-align:center;border:0;border-radius:9px;padding:14px 12px;text-decoration:none;font-size:15px;font-weight:700}
#cocoro-estimator .primary{background:var(--purple);color:white}
#cocoro-estimator .primary:hover{background:#123f34}
#cocoro-estimator .secondary{background:#f5f4f8;border:1px solid #ded9e8;color:#36264d;margin-top:10px}
#cocoro-estimator .primary:disabled,#cocoro-estimator .secondary:disabled{opacity:.45;cursor:not-allowed}
#cocoro-estimator .consult-caption{font-size:12px;color:#797185;text-align:center;margin:10px 0}
#cocoro-estimator .budget-note{font-size:13px;margin:16px 0 0;padding-left:12px;border-left:3px solid var(--lime)}
#cocoro-estimator #status{color:var(--purple);font-size:13px;margin-top:8px}
#cocoro-estimator .footnote{margin:40px 0 30px;padding:20px 0;border-top:1px solid var(--line);color:#6b667a;font-size:13px}
#cocoro-estimator .footnote>span{font-weight:700;color:#393143}
#cocoro-estimator .footnote p{margin:6px 0}
#cocoro-estimator footer{background:#252333;color:white;padding:24px 40px;display:flex;justify-content:space-between;gap:20px;font-size:13px}
#cocoro-estimator footer span{color:#c7c3d3}
#cocoro-estimator dialog{width:min(640px,calc(100% - 32px));border:0;padding:26px;border-radius:16px;box-shadow:0 20px 90px #0003}
#cocoro-estimator dialog::backdrop{background:#18102188}
#cocoro-estimator .dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:center}
#cocoro-estimator .dialog-head button{border:0;background:#eeeaf4;border-radius:6px;padding:7px 12px;font-size:14px}
#cocoro-estimator dialog p{font-size:14px}
#cocoro-estimator dialog textarea{width:100%;border:1px solid #d9d5e2;padding:14px;border-radius:8px;font-size:14px}
#cocoro-estimator .dialog-actions{display:flex;gap:10px;margin-top:15px}
#cocoro-estimator .dialog-actions .secondary{margin:0}
#cocoro-estimator .dialog-actions>*{flex:1}
#cocoro-estimator [hidden]{display:none!important}
@media(max-width:1000px){#cocoro-estimator .workspace{grid-template-columns:minmax(0,1fr) 330px;gap:22px}
#cocoro-estimator .category{font-size:14px;padding:14px 12px}
#cocoro-estimator .category.active{padding:13px 11px}
#cocoro-estimator .option-title{display:block}
#cocoro-estimator .option-price{display:block;margin-top:4px}
#cocoro-estimator .total{font-size:34px}}
@media(max-width:780px){#cocoro-estimator .top{padding:20px}
#cocoro-estimator .brand{font-size:20px}
#cocoro-estimator .estimator-main{padding:28px 20px 0}
#cocoro-estimator .intro{margin-bottom:26px}
#cocoro-estimator .workspace{display:flex;flex-direction:column;gap:28px}
#cocoro-estimator .selection,#cocoro-estimator .estimate{width:100%}
#cocoro-estimator .estimate{position:static;top:auto}
#cocoro-estimator .categories{gap:8px}
#cocoro-estimator .category{padding:12px;min-height:64px}
#cocoro-estimator .category.active{padding:11px}
#cocoro-estimator .category-code{display:none}
#cocoro-estimator .section-title{display:block}
#cocoro-estimator .section-title>.muted{display:block;margin-top:6px}
#cocoro-estimator .panel-heading{padding:16px}
#cocoro-estimator .option{padding:16px}
#cocoro-estimator .option-title{display:flex}
#cocoro-estimator .option-price{margin:0}
#cocoro-estimator .panel-note{padding:0 16px}
#cocoro-estimator .input-grid{grid-template-columns:1fr}
#cocoro-estimator .total{font-size:40px}
#cocoro-estimator footer{padding:22px 20px;display:block}
#cocoro-estimator footer span{display:block;margin-top:5px}
#cocoro-estimator .dialog-actions{flex-direction:column}}
@media(max-width:400px){#cocoro-estimator .top-tag{padding:4px 8px;font-size:12px}
#cocoro-estimator .brand{font-size:18px}
#cocoro-estimator .category{font-size:13px}
#cocoro-estimator .option-title{display:block}
#cocoro-estimator .option-price{margin-top:4px}
#cocoro-estimator .total{font-size:34px}}
@media(prefers-reduced-motion:reduce){#cocoro-estimator *{scroll-behavior:auto!important}}
@media print{#cocoro-estimator .top,#cocoro-estimator .selection,#cocoro-estimator .footnote,#cocoro-estimator footer,#cocoro-estimator .estimate button,#cocoro-estimator .consult-caption,#cocoro-estimator .budget-note,#cocoro-estimator dialog,#cocoro-estimator #period select{display:none!important}
#cocoro-estimator .estimator-main{padding:0}
#cocoro-estimator .intro h1{font-size:24px}
#cocoro-estimator .intro br{display:none}
#cocoro-estimator .workspace{display:block}
#cocoro-estimator .estimate{position:static;box-shadow:none;border:1px solid #ccc;width:100%}
#cocoro-estimator .disclaimer{color:#333}
#cocoro-estimator .intro p{display:none}}
#cocoro-estimator{--line:var(--cod-line);overflow-wrap:anywhere}
#cocoro-estimator .intro h1{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900}
#cocoro-estimator dialog{color:var(--cod-text);background:#fff}
