:root{--ink:#111;--muted:#687076;--line:#e6e8ea;--soft:#f5f7f8;--brand:#00a8a8;--brand2:#ffd42a;--accent:#ff5d55;--max:1180px;--r:18px;--shadow:0 12px 36px rgba(17,17,17,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);line-height:1.7;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{max-width:var(--max);margin:auto;padding:0 24px}.topbar{background:#111;color:#fff;font-size:12px;text-align:center;padding:7px}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.headin{height:78px;display:flex;align-items:center;gap:28px}.logo{width:190px}.nav{display:flex;gap:22px;margin-left:auto;font-size:14px;font-weight:700}.nav a{padding:28px 0}.headcta{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 20px;font-weight:800;border:1px solid transparent;transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-dark{background:#111;color:#fff}.btn-brand{background:var(--brand);color:#fff}.btn-yellow{background:var(--brand2);color:#111}.btn-outline{border-color:#222;background:#fff}.mobilebtn{display:none;border:0;background:none;font-size:28px}.hero{padding:60px 0 40px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}.eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:900;letter-spacing:.08em;color:var(--brand);text-transform:uppercase}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.06;letter-spacing:-.04em;margin:14px 0 18px}.hero h1 em{font-style:normal;background:linear-gradient(transparent 68%,var(--brand2) 0)}.lead{font-size:18px;color:#41474b;max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-media{position:relative}.hero-media img{width:100%;border-radius:28px;box-shadow:var(--shadow)}.stat{position:absolute;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:14px 18px;font-weight:800}.stat strong{font-size:24px}.stat-a{left:-22px;bottom:30px}.stat-b{right:-16px;top:24px}.section{padding:84px 0}.section.soft{background:var(--soft)}.section.dark{background:#111;color:#fff}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:34px}.section-head h2{font-size:clamp(30px,4vw,48px);line-height:1.15;letter-spacing:-.03em;margin:8px 0}.section-head p{max-width:620px;color:var(--muted)}.dark .section-head p{color:#bfc5c8}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 2px 0 rgba(0,0,0,.02)}.card-body{padding:20px}.card img{width:100%;aspect-ratio:4/3;object-fit:cover}.card h3{margin:4px 0 8px;font-size:20px}.card p{color:var(--muted);font-size:14px}.tagrow{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.tag{background:#eef7f7;color:#087f7f;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.price{font-size:24px;font-weight:900}.price small{font-size:12px}.link{font-weight:900;color:var(--brand)}.scene-card{position:relative;border-radius:22px;overflow:hidden;min-height:280px}.scene-card img{width:100%;height:100%;object-fit:cover;position:absolute}.scene-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.75))}.scene-card .txt{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff}.scene-card h3{font-size:24px;margin:0}.scene-card p{margin:3px 0 0;color:#e7e7e7}.steps{counter-reset:step}.step{background:#fff;border-radius:18px;padding:24px;border:1px solid var(--line)}.step::before{counter-increment:step;content:"0" counter(step);display:block;font-size:12px;color:var(--brand);font-weight:900;margin-bottom:10px}.step h3{margin:0 0 6px}.cta-band{background:linear-gradient(120deg,var(--brand),#007e8a);color:#fff;border-radius:28px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-band h2{font-size:36px;margin:0}.footer{background:#0d0d0d;color:#fff;padding:60px 0 26px}.footgrid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px}.footer h4{margin:0 0 12px}.footer a{display:block;color:#c9ccce;margin:6px 0;font-size:14px}.copy{border-top:1px solid #303030;margin-top:40px;padding-top:18px;color:#999;font-size:12px}.pagehero{padding:70px 0 40px;background:linear-gradient(180deg,#f4f8f8,#fff)}.pagehero h1{font-size:clamp(38px,5vw,62px);margin:8px 0}.breadcrumbs{font-size:12px;color:#7d8589}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 15px;font-weight:700}.filter.active{background:#111;color:#fff}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.product-card img{aspect-ratio:1/1;object-fit:contain;background:#fafafa;padding:18px}.product-card .body{padding:16px}.product-card h3{font-size:17px;margin:3px 0}.product-card .meta{color:var(--muted);font-size:12px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}.product-main{border-radius:24px;background:#fafafa;border:1px solid var(--line);padding:24px}.product-main img{width:100%;aspect-ratio:1/1;object-fit:contain}.detail h1{font-size:44px;line-height:1.15;margin:10px 0}.detail .price{font-size:34px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.fact{background:var(--soft);border-radius:14px;padding:14px}.fact b{display:block;font-size:12px;color:var(--muted)}.fact strong{font-size:17px}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--line);padding:15px 12px;text-align:left}.table th{background:#f7f8f8}.gallery{columns:3 240px;column-gap:16px}.gallery figure{break-inside:avoid;margin:0 0 16px;border-radius:16px;overflow:hidden;position:relative}.gallery img{width:100%}.gallery figcaption{position:absolute;inset:auto 0 0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-weight:700}.usecase{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center;margin:58px 0}.usecase:nth-child(even){grid-template-columns:1.1fr .9fr}.usecase:nth-child(even) .use-img{order:2}.use-img img{width:100%;border-radius:22px;aspect-ratio:4/3;object-fit:cover}.usecase h2{font-size:34px;line-height:1.25;margin:0 0 12px}.checklist{list-style:none;padding:0}.checklist li{padding:8px 0 8px 30px;position:relative}.checklist li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:900}.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}.price-card.featured{border:2px solid var(--brand);box-shadow:var(--shadow)}.price-card h3{margin:0}.price-card .big{font-size:34px;font-weight:900;margin:12px 0}.note{background:#fff9d6;border-radius:14px;padding:14px 16px;font-size:13px}.form{display:grid;gap:18px;max-width:820px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{font-weight:800;font-size:14px;display:block;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd2d5;border-radius:12px;padding:13px;background:#fff}.field textarea{min-height:150px;resize:vertical}.required{color:#e44}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:800;cursor:pointer}.mobile-cta{display:none}
@media(max-width:980px){.nav,.headcta{display:none}.mobilebtn{display:block;margin-left:auto}.hero-grid,.product-detail,.usecase,.usecase:nth-child(even){grid-template-columns:1fr}.usecase:nth-child(even) .use-img{order:0}.grid-4,.product-grid{grid-template-columns:repeat(2,1fr)}.grid-3,.price-cards{grid-template-columns:1fr 1fr}.footgrid{grid-template-columns:1fr 1fr}.hero{padding-top:34px}.stat{position:static;display:inline-block;margin:10px 8px 0 0}.mobile-nav.open{display:flex}.mobile-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:18px 24px 24px;border-bottom:1px solid var(--line);flex-direction:column;gap:14px;font-weight:800}}
@media(max-width:640px){.wrap{padding:0 18px}.section{padding:60px 0}.grid-4,.grid-3,.grid-2,.product-grid,.price-cards,.facts,.form-row{grid-template-columns:1fr}.hero h1{font-size:44px}.section-head{display:block}.cta-band{padding:30px 24px;display:block}.cta-band h2{font-size:28px}.footgrid{grid-template-columns:1fr}.logo{width:160px}.headin{height:68px}.pagehero{padding:48px 0 26px}.detail h1{font-size:36px}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:80;background:#fff;padding:8px;box-shadow:0 -8px 30px rgba(0,0,0,.12);gap:8px}.footer{padding-bottom:90px}}

/* WHY TRES cards: match text to step number accent */
.dark .steps .step{color:var(--brand);}
.dark .steps .step h3,.dark .steps .step p{color:var(--brand);}
.dark .steps .step::before{color:var(--brand);}

/* Product color / print simulator */
.simulator-section{background:linear-gradient(180deg,#fff 0,#f5f9f9 100%)}
.simulator{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:36px;align-items:start}
.sim-preview-card{position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}
.sim-toolbar,.sim-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;font-size:12px;font-weight:900;letter-spacing:.08em}
.sim-toolbar{border-bottom:1px solid var(--line);color:#6c7479}.sim-caption{border-top:1px solid var(--line);letter-spacing:0;color:#6c7479}.sim-caption span:first-child{color:#111}
.sim-reset{border:0;background:#f1f4f4;border-radius:999px;padding:7px 11px;cursor:pointer;font-weight:800;color:#52595e}
.bib-stage{min-height:550px;display:flex;align-items:center;justify-content:center;padding:34px;background:radial-gradient(circle at 50% 35%,#fff 0,#f7f8f8 55%,#eef1f2 100%)}
.bib-svg{width:min(100%,470px);height:auto;overflow:visible}
.sim-controls{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px}
.sim-control{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid var(--line)}
.sim-label{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.sim-label b{font-size:15px}.sim-label span{font-size:12px;color:var(--muted)}
.color-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.color-swatch{width:100%;aspect-ratio:1;border-radius:50%;border:2px solid #fff;background:var(--swatch);box-shadow:0 0 0 1px #ccd2d5;cursor:pointer;position:relative}.color-swatch.active{box-shadow:0 0 0 3px #111}.color-swatch.active::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55)}.color-swatch[data-color="#ffffff"].active::after,.color-swatch[data-color="#ffd100"].active::after{color:#111;text-shadow:none}
.sim-input{width:100%;border:1px solid #cdd3d6;border-radius:13px;padding:13px 14px;background:#fff;font-weight:700}.sim-input:focus{outline:3px solid rgba(0,168,168,.15);border-color:var(--brand)}
.print-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.print-swatch{border:1px solid #d7dcde;border-radius:12px;padding:10px 8px;background:#fff;cursor:pointer;font-weight:800;font-size:12px}.print-swatch::before{content:"";display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #bbb;vertical-align:-2px;margin-right:6px}.print-swatch.active{border:2px solid #111;padding:9px 7px}
.sim-actions .btn{width:100%}.sim-actions p{font-size:12px;color:var(--muted);margin:10px 2px 0}
@media(max-width:980px){.simulator{grid-template-columns:1fr}.sim-preview-card{position:relative;top:auto}.bib-stage{min-height:460px}}
@media(max-width:640px){.sim-controls{padding:20px}.bib-stage{min-height:390px;padding:18px}.color-swatches{grid-template-columns:repeat(6,1fr);gap:8px}.sim-toolbar,.sim-caption{padding:13px 15px}}
