/* =========================================================
   ZIZAIZ FOR BUSINESS — 法人向けの見た目（白・コバルト・淡いグレー）
   ブランド／個人向けの黒い世界観とは別。機能（絞り込み・概算・日付逆算・フォーム）は触らない。
   色を変えるときは --tag / --tag-d の2つだけ。
   ========================================================= */
:root{
  --ink:#0F1728; --gy:#5B6472; --gy2:#98A1B0;
  --line:#E2E7F0; --line2:#EDF0F6;
  --paper:#FFFFFF; --grid:#F3F6FB;
  --tag:#1746E0; --tag-d:#0F2FA8; --navy:#0B1530;
  --disp:"Noto Sans JP",sans-serif;
  --en:"Poppins","Noto Sans JP",sans-serif;
  --r:16px;
}
body{background:#fff;color:var(--ink)}
::selection{background:var(--tag);color:#fff}
.zz-prog{background:var(--tag)!important}

/* ---- nav ---- */
nav{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);padding-top:.8rem;padding-bottom:.8rem}
nav .logo{font-family:var(--en);font-weight:700;font-size:1.25rem;letter-spacing:.12em;line-height:1.1}
nav .logo small{font-family:var(--en);font-weight:600;font-size:.56rem;letter-spacing:.2em;color:var(--tag)}
nav .links a{font-weight:700;color:var(--ink);font-size:.78rem}
nav .links a:hover{color:var(--tag)}
nav .links a.cta{border-radius:999px;padding:.6rem 1.3rem;background:var(--tag);border-color:var(--tag);color:#fff}
nav .links a.cta:hover{background:var(--tag-d);border-color:var(--tag-d);color:#fff}

/* ---- 英字の小さなラベルは Poppins に ---- */
.h-eyebrow,.en .et,.w3 .no,.mt .mno,.sg .sl2,.sim-r .rl3,.shelf .sh-no,.wk .dt,.zsample .sk,.zbud .bl,.lnk,.cms-note,.czr3d-head a,.czr3d-head .exp,.person .pwho,.lu .specs b,.zz-video figcaption,.zz-fig figcaption{font-family:var(--en)!important}

/* ---- 見出し：大きな英字＋小さな和文ラベル ---- */
.kick{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;font-family:var(--en);font-weight:600;font-size:.8rem;letter-spacing:.12em;color:var(--tag);margin-bottom:.9rem}
.kick::before{display:none}
.kick .kj{display:flex;align-items:center;gap:.45rem;font-family:var(--body);font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.kick .kj::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tag)}
.kick .ke{font-family:var(--en);font-weight:600;font-size:clamp(2.3rem,5.6vw,4.1rem);line-height:1.08;letter-spacing:-.015em;color:var(--tag)}
h2.t{font-family:var(--body);font-weight:700;font-size:clamp(1.25rem,2.5vw,1.7rem);line-height:1.6;letter-spacing:.02em;margin-bottom:1rem}
.lead{font-size:.95rem;color:#3D4654;line-height:2}
section.s{padding-top:clamp(4rem,9vw,7rem);padding-bottom:clamp(4rem,9vw,7rem)}
section.s[style*="F4F5F2"]{background:var(--grid)!important}
section.s[style*="padding-top:0"]{padding-top:0!important}

/* ---- ボタン：丸い枠＋矢印の丸 ---- */
.btn{border-radius:999px;background:var(--tag);border-color:var(--tag);padding:.95rem 1.1rem .95rem 1.9rem;display:inline-flex;align-items:center;gap:.9rem;font-size:.88rem;letter-spacing:.04em}
.btn::after{content:"→";display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;border-radius:50%;background:#fff;color:var(--tag);font-family:var(--en);font-weight:600;flex:none;transition:transform .3s}
.btn:hover{background:var(--tag-d);border-color:var(--tag-d);color:#fff}
.btn:hover::after{transform:translateX(3px)}
.btn.ghost{background:#fff;color:var(--tag);border-color:var(--tag)}
.btn.ghost::after{background:var(--tag);color:#fff}
.btn.ghost:hover{background:var(--tag);color:#fff}
.btn.ghost:hover::after{background:#fff;color:var(--tag)}
.form .btn{justify-content:center;padding:1rem 1.2rem}
.lnk{font-weight:600;font-size:.82rem;border-bottom:0;color:var(--tag);display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border:1px solid var(--tag);border-radius:999px;background:#fff;white-space:normal;margin:.3rem .3rem 0 0;font-family:var(--body)!important}
.lnk:hover{background:var(--tag);color:#fff}

/* ---- hero：全面の工場映像 ---- */
.hero.hx{position:relative;display:block;max-width:none;margin:0;padding:0;min-height:min(100svh,900px);color:#fff;overflow:hidden;background:var(--navy)}
.hero.hx .hx-vis{position:absolute;inset:0;padding:0;max-width:none;z-index:0}
.hero.hx .hx-a{position:absolute!important;inset:0;aspect-ratio:auto;background:var(--navy)}
.hero.hx .hx-a video{width:100%;height:100%;object-fit:cover}
.hero.hx .hx-a::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,44,.9) 0%,rgba(8,16,44,.68) 46%,rgba(8,16,44,.28) 100%)}
.hero.hx .hx-a figcaption{left:auto;right:1.2rem;bottom:1.2rem;z-index:2;background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:.4rem .9rem;backdrop-filter:blur(6px)}
.hero.hx .hx-a figcaption b{color:#fff;font-weight:600}
.hero.hx .hx-b{display:none}
.hero.hx .hx-text{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:8.2rem clamp(1.2rem,4vw,2.6rem) 4.2rem}
.hx-en{font-family:var(--en);font-weight:600;font-size:clamp(2.5rem,7.4vw,5.6rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 1.6rem}
.h-eyebrow{color:#A9BCFF;font-weight:600;letter-spacing:.2em;font-size:.72rem}
.hero.hx h1{font-family:var(--body);font-weight:700;font-size:clamp(1.25rem,2.6vw,1.9rem)!important;line-height:1.7;letter-spacing:.03em;color:#fff;margin-bottom:.9rem}
.hero.hx .h-sub{color:rgba(255,255,255,.86);font-size:.95rem}
.hero.hx .h-sub b{color:#fff}
.hero.hx .trust-strip{border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.78);max-width:46em}
.hero.hx .trust-strip span b{color:#fff}
.hero.hx .btn.ghost{background:transparent;color:#fff;border-color:#fff}
.hero.hx .btn.ghost::after{background:#fff;color:var(--tag)}
.hero.hx .btn.ghost:hover{background:#fff;color:var(--tag)}
.hero.hx .btn.ghost:hover::after{background:var(--tag);color:#fff}
.hero.hx .as{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(6px)}
.hero.hx .h-note{color:rgba(255,255,255,.7)}
.hero.hx .h-note a{color:#fff!important;border-color:#fff!important}
@media(max-width:980px){.hero.hx .hx-vis{max-width:none}.hero.hx .hx-a{aspect-ratio:auto}.hero.hx .hx-a::after{background:linear-gradient(180deg,rgba(8,16,44,.82) 0%,rgba(8,16,44,.7) 100%)}.hero.hx .hx-text{padding-top:6.4rem}.hero.hx .hx-a figcaption{display:none}}

/* ---- 数字の帯 ---- */
.kpi{max-width:none;margin:0;padding:0 max(clamp(1.2rem,4vw,2.6rem),calc((100vw - 1240px)/2 + 2.6rem));background:var(--tag);color:#fff}
.kpi .k{border-top:0;border-right:1px solid rgba(255,255,255,.22);padding:1.9rem 1.2rem 1.7rem}
.kpi b{font-family:var(--en);font-weight:600;font-size:clamp(2.3rem,4vw,3.4rem);letter-spacing:-.02em}
.kpi b i{color:#fff;font-family:var(--body);opacity:.9}
.kpi span{color:rgba(255,255,255,.85);font-size:.76rem}
@media(max-width:900px){.kpi .k:nth-child(odd){border-right:1px solid rgba(255,255,255,.22)}.kpi .k{border-bottom:1px solid rgba(255,255,255,.22)}}

/* ---- 2つの入口 ---- */
.entry{padding-top:clamp(2.6rem,5vw,4rem);max-width:1240px}
.en{border:1px solid var(--line);border-radius:var(--r);padding:1.9rem 4.6rem 1.9rem 1.9rem;background:#fff;box-shadow:0 10px 30px rgba(15,23,40,.05)}
.en:hover{background:var(--tag);border-color:var(--tag);color:#fff;transform:translateY(-3px)}
.en .et{font-weight:600;font-size:.72rem;transition:.25s}
.en:hover .et{color:#C9D5FF}
.en h3{font-family:var(--body);font-weight:700;font-size:1.25rem}
.en p{font-size:.86rem}
.en:hover p{color:rgba(255,255,255,.85)}
.en .ar{top:50%;right:1.5rem;transform:translateY(-50%);width:2.6rem;height:2.6rem;border-radius:50%;background:var(--tag);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--en);transition:.25s}
.en:hover .ar{background:#fff;color:var(--tag)}

/* ---- 商品カード ---- */
.shelf{margin-top:3rem;align-items:center}
.shelf .sh-no{font-weight:600;font-size:.72rem;background:var(--tag);color:#fff;padding:.2rem .7rem;border-radius:999px;letter-spacing:.1em}
.shelf h3{font-family:var(--body);font-weight:700;font-size:1.3rem}
.lu{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
a.lu:hover{border-color:var(--tag);transform:translateY(-4px);box-shadow:0 18px 40px rgba(23,70,224,.14)}
.lu h4{font-family:var(--body);font-weight:700;font-size:1.02rem}
.lu .use{font-weight:700;font-size:.72rem}
.lu .specs b{font-weight:600;font-size:.86rem}
.lu .more{font-size:.74rem}
.lu .img{border-bottom:0}
.wrap .lu .img:not(.zz-has),.wrap .wk .img,.fph{background:#EEF3FF!important;color:#7C8BB5;position:relative}
.lu .img .zi{width:38%;max-width:120px;fill:none;stroke:var(--tag);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;transition:transform .5s ease}
a.lu:hover .img .zi{transform:translateY(-5px) scale(1.04)}
.lu .img .zl{position:absolute;left:.8rem;bottom:.7rem;font-family:var(--en);font-size:.62rem;font-weight:600;letter-spacing:.12em;color:#7C8BB5}
.lu .eco{font-family:var(--body)}
.zbud button{border-color:var(--line);font-weight:700;padding:.5rem 1.2rem}
.zbud button:hover{border-color:var(--tag);color:var(--tag)}
.zbud button[aria-pressed="true"]{background:var(--tag);border-color:var(--tag);color:#fff}
.zbud .bl{font-weight:600;font-size:.74rem;color:var(--ink);font-family:var(--body)!important;letter-spacing:.04em}
.lineup-note{font-size:.76rem;line-height:2.2}

/* ---- 概算 ---- */
.sim{border:0;border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(15,23,40,.1)}
.sim-l{padding:1.9rem 2rem}
.sim-r{background:linear-gradient(160deg,var(--tag) 0%,var(--tag-d) 100%);padding:2rem}
.sg .sl2{font-weight:600;font-size:.72rem;color:var(--tag);letter-spacing:.08em}
.sc{border-color:var(--line);font-weight:500;padding:.5rem 1.1rem}
.sc:hover{border-color:var(--tag);color:var(--tag)}
.sc.on{background:var(--tag);border-color:var(--tag)}
.qty-val,.sim-r .unit,.sim-r .totalr,.zdate-out b{font-family:var(--en)!important;font-weight:600!important}
.sim-r .unit{font-size:2.8rem;letter-spacing:-.02em}
.sim-r .unit small{font-family:var(--body);color:rgba(255,255,255,.8)}
.sim-r .rl3{color:rgba(255,255,255,.7);font-weight:600;font-size:.66rem}
.sim-r .disc{color:#fff;background:rgba(255,255,255,.16);border-radius:999px;padding:.25rem .8rem;align-self:flex-start;margin-top:.4rem}
.sim-note{color:rgba(255,255,255,.72)}
.btn2{border-radius:999px;color:var(--tag);font-size:.88rem}
.btn2:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.zdate input[type=date]{border-radius:10px;border-color:var(--line)}
.zsample{border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.7rem;box-shadow:0 10px 30px rgba(15,23,40,.05)}
.zsample .sk{color:#fff;background:var(--tag);border-radius:999px;padding:.25rem .8rem;font-weight:600}
.zsample h4{font-family:var(--body);font-weight:700}
.zsample a{border:1px solid var(--tag);border-radius:999px;padding:.6rem 1.2rem;color:var(--tag)}
.zsample a:hover{background:var(--tag);color:#fff}

/* ---- 工法・理由・流れ ---- */
.methods{gap:1rem;background:transparent;border:0}
.mt{border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.3rem}
.mt .mno,.w3 .no{font-weight:600;font-size:.74rem;letter-spacing:.1em}
.mt h5,.w3 h4,.fl h5,.stp h5{font-family:var(--body);font-weight:700}
.mt h5{font-size:1.05rem}
.mt p{font-size:.8rem}
.agent{border:0;border-radius:var(--r);background:#EEF3FF}
.why3{gap:1.2rem;background:transparent;border:0}
.w3{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2rem 1.7rem;box-shadow:0 10px 30px rgba(15,23,40,.05)}
.w3 .no{display:inline-block;background:#EEF3FF;border-radius:999px;padding:.25rem .8rem}
.w3 h4{font-size:1.25rem;margin-top:.9rem}
.w3 p{font-size:.86rem;line-height:1.95}
.honest{border-left:0;border-radius:var(--r);background:var(--grid);padding:1.4rem 1.7rem}
.honest p{font-size:.9rem}
.flow{gap:1.1rem}
.fl{border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.4rem}
.fl::before{font-family:var(--en);font-weight:600;font-size:2.2rem;line-height:1;letter-spacing:-.02em;display:block}
.fl h5{font-size:1.05rem;margin-top:.7rem}
.fl p{font-size:.8rem}

/* ---- 工場・部材 ---- */
.zz-video{border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(15,23,40,.14)}
.zz-video figcaption{background:#fff;padding:.8rem 1.1rem;font-weight:600}
.zz-fig img{border-radius:12px}
.zz-fig figcaption{background:transparent;font-weight:600;color:var(--tag)}
.fs{border:1px solid var(--line);border-radius:999px;padding:.45rem 1rem;font-size:.78rem}
.fs.b{background:var(--tag);border-color:var(--tag);color:#fff}
.fquote{border-left:0;border-radius:var(--r);background:#fff;padding:1.3rem 1.6rem;font-size:.9rem;box-shadow:0 10px 30px rgba(15,23,40,.05)}
.pchip{border-color:var(--line);padding:.5rem 1.1rem;font-weight:500}
.pchip.hl{background:#EEF3FF;border-color:#EEF3FF;font-weight:700}

/* ---- 実績・FAQ ---- */
.wk{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.wk .img{border-bottom:0}
.wk .bd{padding:1.1rem 1.3rem 1.3rem}
.wk .dt{font-weight:600;color:var(--tag);font-size:.68rem}
.wk h5{font-size:.98rem}
.cms-note{font-family:var(--body)!important}
.faq{max-width:860px}
.fq{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:.7rem;padding:0 1.4rem}
.fq .q{font-size:.98rem;padding:1.15rem 0}
.fq .q::after{display:inline-flex;align-items:center;justify-content:center;width:1.8em;height:1.8em;border-radius:50%;background:#EEF3FF;flex:none}
.fq.open{border-color:var(--tag)}
.fq .a{font-size:.88rem}

/* ---- 相談 ---- */
.cv{background:var(--navy)}
.cv .kick .kj{color:#fff}
.cv .kick .ke{color:#fff}
.cv .kick{color:#A9BCFF}
.form{border:0;border-radius:20px;padding:2rem}
.form input,.form select,.form textarea{border-radius:10px;border-color:var(--line);background:#F7F9FC}
.person{border-radius:var(--r)}
.telbig{font-family:var(--en);font-weight:600;font-size:2.2rem;border-bottom-color:#fff}
.cv-points li::before{color:#A9BCFF}
.czr3d{border:0;border-radius:20px;overflow:hidden;background:var(--navy)}
.czr3d-head .t3{font-family:var(--body);font-weight:700}
.czr3d-head .exp{background:var(--tag);border-radius:999px}
.sticky-cta{background:var(--tag)}
footer{background:var(--navy)}

/* ---- PC：右下に常に出る相談ボタン ---- */
.zcta{position:fixed;right:22px;bottom:22px;z-index:95;display:none;align-items:center;gap:.8rem;background:var(--tag);color:#fff;font-weight:700;font-size:.88rem;padding:.9rem 1rem .9rem 1.6rem;border-radius:999px;box-shadow:0 14px 34px rgba(23,70,224,.35);transform:translateY(140%);transition:transform .4s ease,background .25s}
.zcta small{display:block;font-size:.66rem;font-weight:500;opacity:.85;line-height:1.3}
.zcta i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:2.1em;height:2.1em;border-radius:50%;background:#fff;color:var(--tag);font-family:var(--en)}
.zcta.show{transform:none}
.zcta:hover{background:var(--tag-d)}
@media(min-width:721px){.zcta{display:inline-flex}}

/* ---- 下層ページ（商品詳細・工場・品質ほか）の部品 ---- */
.crumb{font-size:.74rem}
.stats{gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.stat{border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .sl,.deco .dl2,.sp-row .k,.case .cn{font-family:var(--en)!important;font-weight:600}
.stat .sv{font-family:var(--en);font-weight:600;font-size:1.6rem;letter-spacing:-.01em}
.stat .sv small{font-family:var(--body)}
.spec-table{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sp-row .k{font-size:.72rem;font-family:var(--body)!important}
.sp-row .v{font-size:.9rem}
.caution{border-left:0;border-radius:var(--r);background:#fff}
.case{border-radius:var(--r);padding:1.5rem 1.4rem}
.case h4{font-size:1rem}
.case p{font-size:.82rem}
.chip{border-color:var(--line)}

/* ---- 3つの入口の切り替え（法人の見た目） ---- */
.zz-sw{font-family:var(--en);border-radius:999px;overflow:hidden;border-color:var(--line)}
.zz-sw a{font-size:.64rem;font-weight:600;padding:.5rem .9rem}
.zz-sw a+a{border-left-color:var(--line)}
.zz-sw a.on{background:var(--tag)!important;color:#fff!important}

/* ---- ヒーローのかんたん概算 ---- */
.hero.hx .hx-text{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);column-gap:clamp(2rem,4vw,4rem);align-items:start}
.hero.hx .hx-text>*{grid-column:1;min-width:0}
.hero.hx .hx-text>.hq{grid-column:2;grid-row:1 / span 12;align-self:center}
.hq{background:#fff;color:var(--ink);border-radius:20px;padding:1.6rem 1.6rem 1.3rem;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.hq-t{display:flex;flex-direction:column;gap:.1rem;margin-bottom:1.1rem}
.hq-t b{font-family:var(--en);font-weight:600;font-size:1.5rem;color:var(--tag);letter-spacing:-.01em;line-height:1.1}
.hq-t span{font-size:.78rem;font-weight:700}
.hq-f{display:grid;grid-template-columns:4.2em 1fr;align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:.78rem;font-weight:700}
.hq-f select,.hq-f input{width:100%;font-family:var(--body);font-size:.9rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:10px;background:#F7F9FC;color:var(--ink)}
.hq-r{display:flex;justify-content:space-between;align-items:baseline;padding:.6rem 0;border-top:1px solid var(--line2);font-size:.78rem;color:var(--gy)}
.hq-r b{font-family:var(--en);font-weight:600;font-size:1.5rem;color:var(--ink);letter-spacing:-.01em}
.hq-r+.hq-r b{font-size:1.15rem}
.hq-d{font-size:.8rem;background:#EEF3FF;border-radius:10px;padding:.6rem .8rem;margin:.3rem 0 .9rem;color:var(--ink)}
.hq-d b{color:var(--tag)}
.hq-go{display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:var(--tag);color:#fff;font-weight:700;font-size:.84rem;border-radius:999px;padding:.8rem .8rem .8rem 1.3rem;transition:background .25s}
.hq-go i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;border-radius:50%;background:#fff;color:var(--tag);font-family:var(--en);flex:none}
.hq-go:hover{background:var(--tag-d)}
.hq-n{font-size:.66rem;color:var(--gy);margin-top:.6rem}
@media(max-width:980px){.hero.hx .hx-text{grid-template-columns:1fr}.hero.hx .hx-text>.hq{grid-column:1;grid-row:auto;margin-top:1.8rem;max-width:460px}}
/* ---- 実績カード ---- */
.wk{display:block;transition:.25s}
a.wk:hover{border-color:var(--tag);transform:translateY(-4px);box-shadow:0 18px 40px rgba(23,70,224,.14)}
.wk .img{overflow:hidden;display:flex;align-items:center;justify-content:center}
.wk .img img{width:100%;height:100%;object-fit:cover}
.wk .img .zi{width:26%;fill:none;stroke:var(--tag);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.wk p b{color:var(--tag);font-family:var(--en);font-weight:600}

/* ---- フォーム：2段階 ---- */
.fprog{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem;font-size:.76rem;font-weight:700;color:var(--gy2)}
.fprog span{display:flex;align-items:center;gap:.45rem;transition:color .3s}
.fprog b{display:inline-flex;align-items:center;justify-content:center;width:1.7em;height:1.7em;border-radius:50%;background:var(--line);color:#fff;font-family:var(--en);font-weight:600;transition:background .3s}
.fprog span.on{color:var(--ink)}
.fprog span.on b{background:var(--tag)}
.fprog i{flex:1;height:1px;background:var(--line)}
.fstep[hidden]{display:none}
.fback{all:unset;cursor:pointer;display:block;margin:.9rem auto 0;font-size:.78rem;font-weight:700;color:var(--tag)}
.form .btn{display:flex;width:100%;box-sizing:border-box}

/* ---- 商品を比べる ---- */
.lu .cmp{all:unset;cursor:pointer;position:absolute;left:.7rem;top:.7rem;z-index:3;font-size:.68rem;font-weight:700;background:#fff;color:var(--tag);border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;transition:.2s;box-shadow:0 4px 12px rgba(15,23,40,.08)}
.lu .cmp:hover{border-color:var(--tag)}
.lu .cmp[aria-pressed="true"]{background:var(--tag);border-color:var(--tag);color:#fff}
.lu.zz-cmp{border-color:var(--tag);box-shadow:0 0 0 2px var(--tag)}
.lu .eco{left:auto;right:.7rem}
.cmpbox{margin-top:2rem;background:#fff;border:1px solid var(--tag);border-radius:20px;padding:1.6rem 1.7rem;box-shadow:0 20px 50px rgba(23,70,224,.12)}
.cmpbox[hidden]{display:none}
.cmp-h{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.cmp-h b{font-family:var(--en);font-weight:600;font-size:1.6rem;color:var(--tag);letter-spacing:-.01em}
.cmp-h span{font-size:.8rem;font-weight:700}
.cmp-h button{all:unset;cursor:pointer;margin-left:auto;font-size:.76rem;color:var(--gy);border-bottom:1px solid currentColor}
.cmp-t .r{display:grid;grid-template-columns:5em repeat(var(--n,2),1fr);gap:1rem;padding:.8rem 0;border-top:1px solid var(--line2);align-items:baseline}
.cmp-t .r span{font-size:.74rem;color:var(--gy);font-weight:700}
.cmp-t .r b{font-family:var(--en);font-weight:600;font-size:1.15rem}
.cmp-t .r:nth-child(2) b{font-family:var(--body);font-size:.84rem;font-weight:700;color:var(--tag)}
.cmp-t .r.h{border-top:0}
.cmp-t .r.h a{font-weight:700;font-size:.98rem;border-bottom:1px solid var(--tag);justify-self:start}
.cmpbox .btn{margin-top:1.1rem}
/* ---- 3Dシミュレーター：開く前 ---- */
.czr3d-poster{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1.4rem 3.2rem;color:#fff;text-align:center;background:radial-gradient(60% 80% at 50% 40%,#1B2A5C 0%,var(--navy) 75%)}
.czr3d-poster svg{width:110px;fill:none;stroke:#fff;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.czr3d-poster p{font-size:.9rem;color:rgba(255,255,255,.85)}

/* ---- 使い道から探す ---- */
.zbud.zuse{margin-bottom:.7rem}
.zbud .bl{display:inline-block;min-width:8.2em}
.fph b{display:block;font-family:var(--en);font-weight:600;font-size:.64rem;letter-spacing:.1em;color:#7C8BB5;margin-top:.3rem}
.fph{flex-direction:column;font-family:var(--body);font-size:.8rem;font-weight:700;color:var(--tag)!important;border:0;border-radius:12px}

/* ---- 伊豆義の強み ---- */
.st6{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem}
.stc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.4rem 1.3rem;min-width:0}
.stc b{display:block;font-family:var(--en);font-weight:600;font-size:1.6rem;color:var(--tag);line-height:1;letter-spacing:-.01em}
.stc h4{margin:.6rem 0 .4rem;font-size:1.02rem;font-weight:700;line-height:1.55}
.stc p{margin:0;font-size:.84rem;color:#3D4654;line-height:1.9}
.sth{font-size:1.25rem;font-weight:700;margin:3rem 0 1rem}
.pains{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.pains div{display:grid;grid-template-columns:11em 1fr;gap:1rem;align-items:start;padding:.9rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:.84rem}
.pains b{color:var(--tag);font-size:.9rem}
.pains span{color:#3D4654}
.blk{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.6rem,4vw,3.5rem);align-items:center;margin-top:3rem;background:var(--navy);color:#fff;border-radius:20px;padding:clamp(1.6rem,4vw,3rem);overflow:hidden}
.blk .kick .kj{color:#fff}
.blk .kick .ke{color:#A9BCFF;font-size:clamp(1.8rem,4vw,2.8rem)}
.blk h3{margin:.4rem 0 .6rem;font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:700;line-height:1.6}
.blk p{margin:0;font-size:.9rem;color:rgba(255,255,255,.85);line-height:1.95}
.blk p b{color:#fff}
.blk blockquote{margin:1.2rem 0 0;padding:1rem 1.2rem;border-left:3px solid #A9BCFF;background:rgba(255,255,255,.07);font-size:.84rem;line-height:1.85;border-radius:0 10px 10px 0}
.blk blockquote footer{margin-top:.4rem;font-size:.72rem;color:#A9BCFF;font-weight:700}
.blk-c{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1.4rem}
.blk .lnk{color:#fff;border-color:rgba(255,255,255,.6);background:transparent}
.blk .lnk:hover{background:#fff;color:var(--navy)}
.blk-f{margin:0}
.blk-f img{width:100%;border-radius:12px;display:block;aspect-ratio:1260/345;object-fit:cover}
.blk-f figcaption{font-size:.72rem;color:rgba(255,255,255,.7);margin-top:.5rem}
@media(max-width:900px){.st6{grid-template-columns:1fr}.pains{grid-template-columns:1fr}.pains div{grid-template-columns:1fr;gap:.2rem}.blk{grid-template-columns:1fr}}
/* 10/27：国内の社屋・倉庫の写真 */
.zz-site{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1.2rem}
.zz-site figure{margin:0;position:relative;overflow:hidden;background:#ddd}
.zz-site img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.zz-site figcaption{position:absolute;left:0;bottom:0;padding:.35rem .7rem;background:rgba(15,16,19,.72);color:#fff;font-size:.72rem;letter-spacing:.02em}
@media(max-width:560px){.zz-site{gap:8px}.zz-site figcaption{font-size:.64rem;padding:.25rem .5rem}}.zz-site3{grid-template-columns:repeat(3,1fr)}@media(max-width:560px){.zz-site3{grid-template-columns:1fr 1fr}.zz-site3 figure:first-child{grid-column:1/-1}}

/* 10/27 担当チームは開いて見る形 */
.tm-more{margin-top:1.4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tm-more>summary{cursor:pointer;list-style:none;padding:1rem 0;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.tm-more>summary::-webkit-details-marker{display:none}
.tm-more>summary::after{content:"+";font-size:1.4rem;line-height:1;transition:transform .25s}
.tm-more[open]>summary::after{transform:rotate(45deg)}
.tm-more[open]{padding-bottom:1.4rem}
.tm-more .tm-n{margin-top:1rem;font-size:.9rem;opacity:.8}
@media(max-width:560px){.zz-site3:has(figure:nth-child(6)) figure:first-child{grid-column:auto}}
/* 10/27 サステナブル・フェアトレードの写真 */
.eco3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.eco3 figure{margin:0}.eco3 img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.eco3 figcaption{font-size:.78rem;color:var(--gy,#667);margin-top:.45rem}
@media(max-width:560px){.eco3{grid-template-columns:1fr 1fr}.eco3 figure:first-child{grid-column:1/-1}}
/* 10/27 転写プリントの動く写真 */
.tr-loop{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:center;margin:18px 0;background:#fff;border:1px solid var(--line);border-radius:var(--r,14px);overflow:hidden}
.tr-loop img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.tr-loop span{padding:1rem 1.2rem;font-size:.86rem;color:var(--gy,#667);line-height:1.8}.tr-loop b{display:block;font-size:1.05rem;color:var(--ink);margin-bottom:.3rem}
@media(max-width:640px){.tr-loop{grid-template-columns:1fr}}
/* 法人トップ：定番のほかの棚へ */
.zmore{margin:2.2rem 0 1.4rem}
.zmore .zm-h b{display:block;font-weight:900;font-size:1rem}
.zmore .zm-h span{display:block;font-size:.76rem;color:var(--gy,#666);margin:.25rem 0 .9rem}
.zmore .zm-g{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.zmore a{display:block;border:1px solid var(--line,#ddd);background:#fff;transition:.25s}
.zmore a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(21,22,26,.08)}
.zmore .zm-i{display:block;aspect-ratio:4/3;background:#fff;overflow:hidden}
.zmore .zm-i img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.zmore a>b{display:block;padding:.7rem .85rem 0;font-size:.9rem;font-weight:900}
.zmore a>b em{font-style:normal;font-size:.7rem;font-weight:700;color:var(--tag,#c33);margin-left:.4rem}
.zmore .zm-d{display:block;padding:.2rem .85rem .85rem;font-size:.7rem;color:var(--gy,#666);line-height:1.6}
@media(max-width:760px){.zmore .zm-g{grid-template-columns:1fr 1fr}}
.lineup{scroll-margin-top:150px}
