:root{--ink:#123a38;--muted:#64706f;--line:#dfe7e6;--soft:#f3f8f7;--magenta:#d41468;--magenta-dark:#a70f50;--green:#075b52;--white:#fff;--danger:#b42318;--shadow:0 18px 50px rgba(16,57,54,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.7}button,input,select,textarea{font:inherit}a{color:inherit}.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;background:#fff;padding:10px 16px;border:2px solid var(--magenta)}.skip-link:focus{top:12px}.site-header{min-height:88px;padding:16px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:3}.brand{display:block;width:min(270px,38vw)}.brand img,footer img{display:block;width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:clamp(15px,2.4vw,34px);font-weight:700}.site-header nav a{text-decoration:none}.nav-contact{background:var(--magenta);color:#fff;padding:12px 18px;border-radius:999px}.hero{background:linear-gradient(135deg,#074e48,#0b7267);color:#fff;padding:clamp(44px,7vw,90px) 20px}.hero>div{max-width:1120px;margin:auto}.eyebrow{color:#ffd34d;letter-spacing:.16em;font-weight:800}.hero h1{font-size:clamp(34px,6vw,68px);line-height:1.15;margin:.15em 0}.hero p{max-width:760px;font-size:clamp(16px,2vw,20px)}.hero .important{margin-top:24px;padding:16px 20px;background:rgba(255,255,255,.12);border-left:4px solid #ffd34d;border-radius:8px}.form-layout{max-width:1180px;margin:0 auto;padding:52px 20px 100px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;align-items:start}.progress-card{position:sticky;top:22px;padding:24px;background:var(--soft);border-radius:20px}.progress-card>p{display:flex;justify-content:space-between;margin:0 0 10px;font-weight:800}.progress-track{height:8px;background:#d9e6e3;border-radius:99px;overflow:hidden}.progress-track span{display:block;width:20%;height:100%;background:var(--magenta);transition:width .25s}.progress-card ol{list-style:none;padding:18px 0 0;margin:0;display:grid;gap:15px}.progress-card li{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:14px;font-weight:700}.progress-card li span{width:31px;height:31px;display:grid;place-items:center;border:1px solid #b9cac7;border-radius:50%;background:#fff}.progress-card li.is-current{color:var(--ink)}.progress-card li.is-current span,.progress-card li.is-complete span{background:var(--magenta);border-color:var(--magenta);color:#fff}#estimate-form{min-width:0}.form-step{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,5vw,52px);box-shadow:var(--shadow)}.step-heading{padding-bottom:25px;margin-bottom:28px;border-bottom:1px solid var(--line)}.step-heading p{margin:0;color:var(--magenta);font-weight:900;letter-spacing:.12em}.step-heading h2{font-size:clamp(27px,4vw,42px);line-height:1.3;margin:5px 0}.step-heading span,.field-help{color:var(--muted)}fieldset{border:0;padding:0;margin:0 0 30px}legend{font-size:18px;font-weight:800;margin-bottom:14px}.required{display:inline-block;background:#fff0f5;color:var(--magenta-dark);font-size:12px;padding:2px 7px;border-radius:5px;vertical-align:2px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.product-card{position:relative;overflow:hidden;display:flex;min-height:210px;padding:0 0 17px;flex-direction:column;border:2px solid var(--line);border-radius:16px;cursor:pointer;background:#fff}.product-card img{width:100%;height:130px;object-fit:contain;background:#f8faf9}.product-card input{position:absolute;top:10px;right:10px;width:22px;height:22px;accent-color:var(--magenta)}.product-card strong,.product-card>span:not(.other-icon){padding:0 13px}.product-card strong{margin-top:12px}.product-card>span{font-size:12px;color:var(--muted)}.product-card:has(input:checked){border-color:var(--magenta);box-shadow:0 0 0 3px rgba(212,20,104,.11)}.product-card--other{align-items:center;justify-content:center;text-align:center}.other-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--soft);font-size:30px;color:var(--green)}label{display:grid;gap:7px;font-weight:700}input,select,textarea{width:100%;border:1px solid #b9c9c6;border-radius:10px;padding:12px 13px;color:var(--ink);background:#fff}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(212,20,104,.25);outline-offset:2px;border-color:var(--magenta)}[aria-invalid="true"]{border-color:var(--danger);background:#fff8f7}.field-grid{display:grid;gap:18px;margin-bottom:25px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.quantity-total{max-width:300px;font-size:18px;margin-bottom:30px}.quantity-total>span{display:flex;align-items:center;gap:10px}.quantity-total input{font-size:24px;font-weight:800}.size-grid{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:10px}.size-grid label{text-align:center}.size-grid input{text-align:center}.size-total{text-align:right;background:var(--soft);padding:10px 15px;border-radius:10px}.print-areas{display:grid;gap:18px;margin-bottom:18px}.print-area{position:relative;border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:22px}.print-area legend{padding:0 6px}.remove-print-area{position:absolute;right:15px;top:14px;border:0;background:transparent;color:var(--danger);font-weight:800;cursor:pointer}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice-row label{position:relative}.choice-row input{position:absolute;opacity:0}.choice-row span{display:grid;place-items:center;text-align:center;min-height:64px;border:2px solid var(--line);border-radius:12px;background:#fff}.choice-row label:has(input:checked) span{border-color:var(--magenta);background:#fff4f8}.secondary-button,.back-button,.next-button,.submit-button,.line-button{border-radius:999px;padding:13px 24px;font-weight:800;cursor:pointer;text-align:center;text-decoration:none}.secondary-button,.back-button{border:1px solid var(--green);color:var(--green);background:#fff}.next-button,.submit-button{border:1px solid var(--magenta);color:#fff;background:var(--magenta)}.next-button:hover,.submit-button:hover{background:var(--magenta-dark)}.form-actions{display:flex;justify-content:space-between;gap:12px;padding:24px 4px}.back-button{margin-right:auto}.next-button{margin-left:auto}.error-summary{padding:14px 18px;color:var(--danger);border:1px solid #f3b5af;background:#fff4f2;border-radius:12px}.review-content{display:grid;gap:12px;margin-bottom:28px}.review-section{border:1px solid var(--line);border-radius:14px;padding:18px}.review-section h3{margin:0 0 9px}.review-section dl{display:grid;grid-template-columns:150px 1fr;gap:7px 14px;margin:0}.review-section dt{color:var(--muted)}.review-section dd{margin:0;font-weight:700;white-space:pre-wrap}.contact-card{padding:22px;background:var(--soft);border-radius:16px}.contact-card h3{margin-top:0}.privacy-check{display:flex;grid-template-columns:22px 1fr;align-items:start;font-weight:400}.privacy-check input{width:20px;height:20px;accent-color:var(--magenta)}.preview-notice{margin:22px 0;padding:15px 18px;border-left:4px solid #e0a800;background:#fff9df}.preview-notice p{margin:4px 0}.submit-button{width:100%}.submit-button:disabled{cursor:not-allowed;background:#a9b5b3;border-color:#a9b5b3}.line-button{display:block;margin-top:12px;border:2px solid #06c755;color:#087b37;background:#fff}.line-button:hover{background:#effcf4}footer{padding:45px clamp(20px,7vw,90px);background:#0a3431;color:#fff;display:grid;grid-template-columns:minmax(170px,270px) 1fr auto;align-items:center;gap:35px}footer img{filter:brightness(0) invert(1)}footer div{display:flex;flex-wrap:wrap;gap:20px}footer a{text-decoration:none}.is-hidden{display:none!important}@media(max-width:900px){.site-header nav a:not(.nav-contact){display:none}.form-layout{grid-template-columns:1fr;padding-top:24px}.progress-card{position:static}.progress-card ol{grid-template-columns:repeat(5,1fr);gap:5px}.progress-card li{justify-content:center;font-size:0}.progress-card li span{font-size:13px}.product-grid{grid-template-columns:repeat(2,1fr)}.size-grid{grid-template-columns:repeat(4,1fr)}footer{grid-template-columns:1fr}footer img{max-width:250px}}@media(max-width:600px){.site-header{min-height:70px;padding:12px 16px}.brand{width:190px}.nav-contact{padding:9px 12px;font-size:12px}.hero{padding:38px 18px}.form-layout{padding-left:12px;padding-right:12px}.form-step{padding:22px 17px;border-radius:17px}.product-grid,.two-columns,.choice-row{grid-template-columns:1fr}.product-card{min-height:112px;display:grid;grid-template-columns:100px 1fr;grid-template-rows:1fr 1fr;padding:0;text-align:left}.product-card img{grid-row:1/3;width:100px;height:110px}.product-card strong{align-self:end;margin:0;padding-left:14px}.product-card>span:not(.other-icon){align-self:start;padding-left:14px}.product-card--other{display:flex;min-height:105px}.product-card--other strong{align-self:auto}.other-icon{width:38px;height:38px;font-size:22px}.size-grid{grid-template-columns:repeat(3,1fr)}.review-section dl{grid-template-columns:1fr;gap:2px}.review-section dd{margin-bottom:8px}.form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.94);z-index:2;margin:0 -5px;padding:12px 5px}.back-button,.next-button{padding:12px 18px}footer{padding:38px 24px}}
