/* Company brand: white space, teal accents, square contact tiles and centered headings. */
:root{--muted:#56676a;--brand-dark:#00acab}
.header-tagline{font-size:11px;color:#52676a;padding-top:10px;margin-bottom:0}
.header-top{min-height:103px;gap:24px}.header-contact .phone{font-size:35px;color:var(--brand-dark);font-weight:700;letter-spacing:.015em}.header-contact p{font-size:11px}
.header-tiles{display:flex;gap:10px}.header-tile{width:112px;height:80px;background:var(--brand-dark);color:white;border:2px solid var(--brand-dark);border-radius:3px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:13px;font-weight:500}.header-tile>span{font-size:26px;line-height:1.5;font-weight:700}.header-tile.outline{color:var(--brand-dark);background:white}.header-tile.outline>span{font-size:21px}.header-tile:hover{opacity:.85;text-decoration:none}
.site-nav{border-top:0;border-bottom:1px solid #e5eded}.site-nav>.wrap{gap:60px}.site-nav a{font-size:18px;padding:15px 0}.site-nav a:before{content:'▸';color:var(--brand);margin-right:8px}.site-nav [aria-current]{box-shadow:inset 0 -3px var(--brand)}
.breadcrumb{margin-bottom:20px}.page-heading{position:relative;display:block;text-align:center;padding:36px 20px 35px;margin-bottom:28px;background:linear-gradient(120deg,#f2faf9,#f8fcfb);border-block:1px solid #e3efed}.heading-en{color:var(--brand-dark);font-size:18px;font-weight:700;letter-spacing:.12em;margin:0 0 8px}.page-heading h1{font-size:46px;font-weight:700;letter-spacing:.06em;line-height:1.5;margin:0 0 12px}.page-heading h1>span{display:block;font-size:23px;letter-spacing:.05em;font-weight:500}.hero-question{font-size:23px;margin:0 0 12px;font-weight:500}.specialist-lead{font-size:15px;margin:0 0 15px}.specialist-lead strong{display:inline-block}.hero-benefits{list-style:none;display:flex;justify-content:center;gap:24px;padding:0;margin:15px 0 23px;font-size:14px}.hero-benefits li:before{content:'✓';color:var(--brand-dark);font-weight:700;padding-right:6px}.hero-start{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:300px;padding:11px 22px;border:2px solid var(--brand-dark);border-radius:3px;color:var(--brand-dark);background:white;font-size:18px;font-weight:500;box-shadow:2px 3px 0 #d3e9e7}.hero-start:hover{background:#e9f6f4;text-decoration:none}.intro{font-size:13px;margin-top:15px}.test-badge{position:absolute;right:14px;top:10px;font-size:11px;background:white;margin:0}.notice{font-size:12px;margin-bottom:26px}
.primary{background:var(--brand-dark);font-weight:700}.primary:hover{background:#006867}.form-panel{border-top-width:5px}.form-panel h2,.result-panel>h2{font-weight:500;font-size:22px}.result-panel{border-top:5px solid #e0f1ef}.step{font-size:18px;font-weight:700}.form-privacy{font-size:11px;line-height:1.8;color:var(--muted);margin:13px 0 0}#assessment-form{scroll-margin-top:22px}.price-disclaimer{font-size:12px;color:#56676a;margin:12px 0 0;line-height:1.8}.price-box{border-top-width:4px}.price-value{font-weight:700}.case-source{padding:10px 12px;background:#f4f8f7;border-left:2px solid #9bbfba}.form-action,.phone-action{border-width:2px}.consultation{padding:42px 28px;margin-top:42px;background:#f3f9f8;border:1px solid #dce9e7}.consultation .heading-en{font-size:18px}.consultation h2{font-size:25px}.source-note{margin-top:30px;line-height:1.9}.source-note summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;padding:6px 0}.source-note p{margin:10px 0}
.brand-footer{background:#00acab;border:0;position:relative;margin-top:25px;padding-top:15px}.brand-footer:before{content:'';position:absolute;top:-20px;left:0;width:100%;height:25px;background:#00acab;border-radius:50% 50% 0 0}.footer-inner{padding-block:38px 30px;align-items:start;gap:50px;color:#003c3b}.footer-company img{background:white;padding:7px;width:190px;height:auto;border-radius:3px}.footer-company p{margin:10px 0;font-size:13px}.footer-company .phone{font-size:29px;font-weight:700}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:22px 38px;margin-top:12px}.footer-links a{font-size:15px;font-weight:500}.footer-links a:before{content:'▸';margin-right:7px}.brand-footer .copyright{background:#007b7a;padding:15px;color:white}
/* Match the official site's computed font colors: #263238 text, #00acab accent, white footer. */
.assessment-layout{display:block;max-width:820px;margin-inline:auto}.form-panel{padding:30px 40px;scroll-margin-top:20px}.result-panel{padding:30px 36px}.wizard-progress{display:flex;list-style:none;padding:0;margin:0 0 20px;gap:5px}.wizard-progress li{flex:1;text-align:center;font-size:13px;color:#657779;border-bottom:3px solid #dce7e7;padding:8px 2px 12px;line-height:1.6}.wizard-progress li>span{display:block;margin:0 auto 5px;width:29px;height:29px;line-height:29px;border-radius:50%;background:#edf3f3;font-weight:700}.wizard-progress .current{color:#007b7a;font-weight:700;border-color:var(--brand)}.wizard-progress .current>span{background:var(--brand);color:white}.wizard-progress .done{color:#007b7a;border-color:#9bd9d8}.wizard-description{font-size:15px;color:#56676a;margin:12px 0 20px}.form-panel #form-heading{font-size:23px;line-height:1.7}.form-panel #form-heading .step{display:block;font-size:14px;padding:0}.type-switch label>span{padding:22px 10px;font-size:22px}.type-switch input:checked+span{padding:21px 9px}.type-switch .type-sub{font-size:13px}.wizard-back{display:block;width:100%;background:white;color:#40585a;border:1px solid #bdcfcf;border-radius:3px;padding:10px 12px;cursor:pointer;font-size:14px;margin-top:14px}.wizard-back:hover{background:#f1f8f8}#edit-input{width:auto;margin:0 0 22px}.field>label{font-size:17px}.field{margin-block:25px}.next-step .submit{font-size:20px;justify-content:center;gap:20px;min-height:64px}.next-step #input-progress{text-align:center}.next-step{margin-top:30px}.form-privacy{text-align:center}
@media(max-width:720px){.form-panel,.result-panel{padding:24px 20px}.form-panel #form-heading{font-size:22px}.wizard-description{font-size:14px}.wizard-progress li{font-size:11px}.wizard-progress li>span{font-size:14px}.type-switch label>span{font-size:20px;padding:20px 4px}.type-switch input:checked+span{padding:19px 3px}.next-step .submit{font-size:17px;gap:8px}.field>label{font-size:16px}}
.next-step{margin-top:25px;padding:16px 14px;border:1px solid #c7d9d9;border-radius:4px;background:#f7fafa}.next-step #input-progress{font-size:13px;color:var(--muted);margin:0 0 10px;line-height:1.8}.next-step.is-ready{border:2px solid var(--brand);background:#edfafa;padding:15px 13px}.next-step.is-ready #input-progress{color:var(--ink)}.next-step #input-progress strong{display:block;font-size:17px;margin-bottom:3px}.next-step .submit{margin-top:0;min-height:58px;font-size:18px}.next-step .submit:disabled{cursor:not-allowed;background:#d7e3e3;color:#4d6262;opacity:1}.next-step.is-ready .submit{box-shadow:0 3px 0 #008785}.next-step-note{font-size:11px;color:var(--muted);text-align:center;margin:9px 0 0}
.public-point-list{list-style:none;margin:0;padding:0}.public-point-list>li{padding:8px 0 12px}.public-point-list>li+li{border-top:1px solid #dce7e7;padding-top:14px}.reference .public-point-price{color:var(--ink)}.reference .public-point-list .small{font-size:12px;margin-bottom:0}.reference>.small{font-size:12px;margin-top:10px}
.brand-footer .footer-inner{color:#fff}.brand-footer .copyright{background:#00acab}.page-heading h1{font-weight:500}
.median strong{display:inline-block;white-space:nowrap}.faq{margin:45px auto 0;max-width:850px}.faq>.heading-en,.faq>h2{text-align:center}.faq>h2{font-size:21px;margin-bottom:23px}.faq details{border-top:1px solid var(--line);padding:15px 5px;font-size:14px}.faq summary{cursor:pointer;font-weight:500}.faq details p{font-size:13px;color:var(--muted);margin:12px 0 0}.faq a{text-decoration:underline;color:var(--brand-dark)}
@media(max-width:1050px){.header-contact .phone{font-size:29px}.header-tiles{gap:7px}.header-tile{width:90px;height:70px}.header-top{gap:18px}.footer-links{gap:20px}.consultation{padding:30px 20px}.consultation h2{font-size:22px}}
@media(max-width:800px){.header-tiles{display:none}.header-contact .phone{font-size:25px}.site-nav>.wrap{gap:25px;justify-content:space-between}.site-nav a{font-size:15px}.footer-inner{gap:25px}.footer-links{grid-template-columns:1fr}.assessment-layout{grid-template-columns:320px minmax(0,1fr);gap:18px}}
@media(max-width:720px){.header-tagline{font-size:9px;line-height:1.6;padding-top:8px}.header-top{min-height:80px;gap:10px}.header-contact .phone{font-size:20px}.header-contact p{font-size:9px;max-width:180px}.site-nav>.wrap{gap:9px}.site-nav a,.site-nav a:last-child{display:block;font-size:12px;padding-block:12px}.site-nav a:before{margin-right:3px}.page-heading{padding:37px 14px 27px}.heading-en{font-size:13px}.page-heading h1{font-size:39px;letter-spacing:.04em}.page-heading h1>span{font-size:19px}.hero-question{font-size:20px}.specialist-lead{font-size:13px}.hero-benefits{gap:7px;flex-wrap:wrap;font-size:12px;margin:14px 0 20px}.hero-benefits li:before{padding-right:3px}.hero-start{min-width:0;width:100%;max-width:300px;font-size:17px}.intro{font-size:12px}.assessment-layout{display:block}.form-panel,.result-panel{padding:20px}.form-panel h2,.result-panel>h2{font-size:20px}.consultation{padding:26px 19px}.consultation h2{font-size:22px}.consult-buttons{min-width:0}.footer-inner{display:block;padding-block:24px}.footer-links{grid-template-columns:1fr 1fr;gap:16px 14px;margin-top:25px}.footer-links a{font-size:12px}.footer-company .phone{font-size:26px}.price-value{font-size:29px}.price-disclaimer{font-size:11px}.case-adjusted{display:block}.case-adjusted strong{display:block}.breakdown{gap:6px}.breakdown-units{font-size:11px}}
@media(max-width:370px){.header-contact .phone{font-size:17px}.brand img{width:118px}.site-nav a{font-size:11px}.site-nav>.wrap{gap:6px}.page-heading h1>span{font-size:17px}.hero-question{font-size:18px}.price-value{font-size:26px}.footer-links{grid-template-columns:1fr}}
.no-lot-badge{display:inline-block;background:#e2f5f2;color:#006d68;border:1px solid #8dcac2;border-radius:3px;font-size:14px;font-weight:700;padding:3px 9px;margin-left:6px;vertical-align:middle}.assessment-layout{scroll-margin-top:20px}#address-help strong{color:#006d68}

/* PC keeps the guided form and reference-price area side by side. */
.result-reassurance{display:inline-block;background:#e8f7f5;padding:8px 15px;color:#006d68;font-weight:700;border-radius:3px}
@media(min-width:960px){.assessment-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);max-width:none;gap:22px;align-items:start}.wizard-progress{grid-column:1/-1;margin-bottom:0}.form-panel,.result-panel{padding:26px 24px;min-width:0}.result-panel{min-height:420px}.result-panel>h2{font-size:21px;color:#007b7a}.form-panel #form-heading{font-size:21px}.type-switch label>span{font-size:20px}.next-step .submit{font-size:17px}.empty-result{padding:35px 0}.result-panel .empty-result h3{font-size:22px}.result-panel .empty-result p{font-size:15px}}
/* Make editable controls and selection state easy to spot. */
#assessment-form input[type="text"],#assessment-form input[type="number"],#assessment-form select{background:#edf9f7;border:2px solid #76aaa5;color:#263238;min-height:52px}
#assessment-form input::placeholder{color:#607874;opacity:1}
#assessment-form input[type="text"]:hover,#assessment-form input[type="number"]:hover,#assessment-form select:hover{border-color:#007b7a}
#assessment-form input[type="text"]:focus,#assessment-form input[type="number"]:focus,#assessment-form select:focus{background:#fff9e9;border-color:#007b7a;outline:3px solid #b9e5e1;outline-offset:2px}
#assessment-form .field:focus-within>label{color:#006d68;font-weight:700}
#assessment-form .type-switch label>span{position:relative;background:#edf9f7;border:2px solid #76aaa5;padding:21px 9px;color:#263238}
#assessment-form .type-switch label:hover>span{border-color:#007b7a;background:#def3ef}
#assessment-form .type-switch input:checked+span{background:#007b7a;border-color:#007b7a;color:#fff;font-weight:700;box-shadow:0 2px 5px #007b7a24}
#assessment-form .type-switch input:checked+span:after{content:'✓';position:absolute;top:1px;right:7px;font-size:15px;font-weight:700}
#assessment-form .type-switch input:focus-visible+span{outline:3px solid #006969;outline-offset:4px}
@media(max-width:720px){#assessment-form .type-switch label>span{padding:19px 3px}}

#assessment-form .field:focus-within>label:after{content:"入力中";display:inline-block;margin-left:8px;padding:1px 6px;background:#007b7a;color:white;border-radius:3px;font-size:11px;vertical-align:middle}.wizard-description{color:#263238;font-weight:500}

/* Compact layout used inside an Ielove blog iframe. */
.embed-intro{display:none}
.embed-mode body{background:#fff}
.embed-mode .site-header,.embed-mode .breadcrumb,.embed-mode .page-heading,.embed-mode .consultation,.embed-mode .faq,.embed-mode .source-note,.embed-mode .brand-footer{display:none}
.embed-mode .main{max-width:none;padding:0 14px 24px}
.embed-mode .embed-intro{display:block;text-align:center;padding:20px 12px 17px;margin:0 auto 16px;border-bottom:3px solid #00acab;background:#f3fbfa}
.embed-mode .embed-intro>span{display:inline-block;color:#007b7a;font-size:13px;font-weight:700;letter-spacing:.08em}
.embed-mode .embed-intro h1{font-size:28px;line-height:1.5;margin:3px 0 6px}
.embed-mode .embed-intro p{font-size:14px;margin:0;color:#435356}
.embed-mode .embed-intro ul{display:flex;justify-content:center;gap:10px;list-style:none;padding:0;margin:12px 0 0;font-size:12px;font-weight:700;color:#006d68}
.embed-mode .embed-intro li{padding:4px 9px;background:#fff;border:1px solid #8dcac2;border-radius:3px}
.embed-mode #data-notice{margin:0 auto 14px;max-width:1050px;padding:8px 12px;text-align:center;border-left:0;border-bottom:1px solid #9bd9d8}
.embed-mode .assessment-layout{max-width:1050px}
.embed-mode .form-panel,.embed-mode .result-panel{box-shadow:none}
.embed-mode #result{scroll-margin-top:390px}.embed-mode .price-box{scroll-margin-top:590px}
.result-panel.result-arrived{animation:result-arrived 1.1s ease both}
@keyframes result-arrived{0%{box-shadow:0 0 0 5px #00aaa83d;background:#eaf9f7}55%{box-shadow:0 0 0 9px #00aaa81f;background:#f6fcfb}100%{box-shadow:none;background:#fff}}
@media(prefers-reduced-motion:reduce){.result-panel.result-arrived{animation:none;outline:4px solid #8bd4cf;outline-offset:3px}}
.embed-mode .result-panel .method{font-size:12px}
@media(max-width:720px){.embed-mode .main{padding-inline:6px}.embed-mode .embed-intro{padding:16px 8px 14px}.embed-mode .embed-intro h1{font-size:24px}.embed-mode .embed-intro p{font-size:13px}.embed-mode .embed-intro ul{gap:5px;flex-wrap:wrap}.embed-mode .embed-intro li{padding:3px 6px}.embed-mode #data-notice{font-size:11px}.embed-mode .form-panel,.embed-mode .result-panel{border-inline:0}}
/* Compact form controls without shrinking touch targets. */
.form-panel{padding:22px 24px}.form-panel .field{margin-block:18px}.form-panel #form-heading{font-size:21px;line-height:1.5}.wizard-description{margin:8px 0 12px;font-size:14px}.form-panel .field>label{font-size:16px}.form-panel input,.form-panel select{min-height:44px;padding:10px 12px;font-size:16px}.form-panel .type-switch label>span{padding:15px 9px;font-size:20px}.form-panel .type-switch input:checked+span{padding:14px 8px}.form-panel .next-step{margin-top:18px}.form-panel .next-step .submit{min-height:52px;font-size:18px}.form-panel .form-privacy{margin-top:8px}
