/* 施工事例一覧 — loaded after top-v2.css / top-v3.css */
.hd{background:rgba(10,13,12,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hd .w{height:76px}
.hd nav a.cur{color:var(--amb)}
.hd nav a.cur::after{width:100%}

/* page hero */
.ph-hero{position:relative;padding:150px 0 0;overflow:hidden;background:var(--ink)}
.ph-hero .bgtx{position:absolute;right:-1vw;top:96px;font-family:var(--ff-d);font-weight:800;font-stretch:125%;font-size:clamp(120px,19vw,340px);line-height:.8;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);text-transform:uppercase;pointer-events:none;white-space:nowrap}
.bc{display:flex;gap:10px;font-size:12px;color:var(--mut);flex-wrap:wrap}
.bc li+li::before{content:"/";margin-right:10px;color:#3a4340}
.bc a:hover{color:#fff}
.ph-top{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-top:44px;position:relative}
.ph-top .disp{font-size:clamp(64px,9vw,150px);color:#fff}
.ph-top h1{font-size:clamp(22px,2vw,30px);color:#fff;margin-top:20px}
.ph-top h1 small{display:inline-block;margin-left:14px;font-size:14px;color:var(--mut);font-family:var(--ff);font-weight:500}
.ph-top p.lead{color:#b9c2be;max-width:520px;font-size:14.5px}
.ph-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:56px}
.ph-stats div{padding:26px 24px 30px 0;border-right:1px solid var(--line);margin-right:24px}
.ph-stats div:last-child{border:0;margin:0}
.ph-stats b{display:block;font-family:var(--ff-d);font-weight:800;font-stretch:110%;font-size:clamp(34px,3.2vw,52px);line-height:1;color:#fff;letter-spacing:-.02em}
.ph-stats b small{font-family:var(--ff-h);font-size:14px;color:var(--amb);margin-left:4px;letter-spacing:0}
.ph-stats span{font-size:12px;color:var(--mut);display:block;margin-top:8px}

/* quick category tiles */
.qc{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:0;padding:40px 0 0}
.qc a{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1/1.05;display:block;background:var(--ink3)}
.qc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.8);transition:1s var(--ease)}
.qc a:hover img{filter:brightness(.8);transform:scale(1.06)}
.qc .in{position:absolute;inset:auto 0 0 0;padding:16px 18px;z-index:1}
.qc .en{font-family:var(--ff-d);font-weight:700;font-size:10.5px;letter-spacing:.2em;color:var(--amb);text-transform:uppercase}
.qc h2{font-size:16px;color:#fff;margin-top:2px}
.qc .n{position:absolute;top:14px;right:16px;font-family:var(--ff-d);font-weight:700;font-size:13px;color:#fff;z-index:1}
.qc .n small{font-size:10px;color:var(--mut);margin-left:2px}
.qc a.on{outline:2px solid var(--amb);outline-offset:-2px}
.qc a.on img{filter:brightness(.75)}

/* pickup */
.pk{margin-top:90px}
.pk-h{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:20px}
.pk-h h2{font-size:20px;color:#fff;display:flex;align-items:center;gap:14px}
.pk-h h2 .lbl{font-size:11px}
.pk-c{display:grid;grid-template-columns:1.25fr 1fr;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--ink2)}
.pk-im{position:relative;min-height:520px}
.pk-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pk-im .thumbs{position:absolute;left:20px;bottom:20px;display:flex;gap:8px}
.pk-im .thumbs img{position:static;width:72px;height:72px;border-radius:10px;border:2px solid rgba(255,255,255,.7);object-fit:cover}
.pk-im .badge{position:absolute;top:20px;left:20px;background:var(--amb);color:var(--ink);font-weight:700;font-size:12px;padding:6px 14px;border-radius:999px}
.pk-tx{padding:44px;display:flex;flex-direction:column}
.pk-tx .tg{display:flex;gap:6px;flex-wrap:wrap}
.pk-tx .tg span{font-size:11.5px;border:1px solid var(--line);border-radius:999px;padding:3px 12px;color:#cfd5d2}
.pk-tx h3{font-size:clamp(22px,2vw,30px);color:#fff;margin:18px 0 22px}
.pk-tx blockquote{font-family:var(--ff-h);font-size:16px;line-height:1.9;color:#e4e8e5;padding-left:22px;border-left:2px solid var(--amb)}
.pk-tx blockquote cite{display:block;font-style:normal;font-family:var(--ff);font-size:12px;color:var(--mut);margin-top:10px}
.spec{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:14px;overflow:hidden;margin:30px 0}
.spec div{background:var(--ink);padding:16px 18px}
.spec dt{font-size:11px;color:var(--mut)}
.spec dd{font-family:var(--ff-d);font-weight:700;font-size:22px;color:#fff;line-height:1.2;margin-top:4px}
.spec dd small{font-family:var(--ff);font-size:11px;color:var(--amb);margin-left:3px;font-weight:700}
.pk-tx .bt{align-self:flex-start;margin-top:auto}

/* list area */
.ls{padding:110px 0 140px}
.ls-g{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start}
.flt{position:sticky;top:100px;display:flex;flex-direction:column;gap:30px;max-height:calc(100vh - 120px);overflow:auto;padding-right:6px}
.flt::-webkit-scrollbar{width:4px}.flt::-webkit-scrollbar-thumb{background:#2a322f;border-radius:4px}
.fg h3{font-size:12px;font-family:var(--ff-d);letter-spacing:.2em;color:var(--mut);font-weight:600;text-transform:uppercase;display:flex;justify-content:space-between;margin-bottom:12px}
.fg h3 span{font-family:var(--ff);letter-spacing:0;color:#cfd5d2;text-transform:none}
.ck{display:flex;flex-direction:column;gap:2px}
.ck label{display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:center;padding:9px 10px;border-radius:10px;cursor:pointer;font-size:14px;transition:.2s}
.ck label:hover{background:var(--ink2)}
.ck input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:5px;border:1.5px solid #47504c;display:grid;place-items:center;margin:0;transition:.2s;cursor:pointer}
.ck input:checked{background:var(--amb);border-color:var(--amb)}
.ck input:checked::after{content:"";width:5px;height:9px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.ck .c{font-family:var(--ff-d);font-size:12px;color:var(--mut)}
.sel{width:100%;height:46px;border-radius:12px;background:var(--ink2);border:1px solid var(--line);color:#fff;font:inherit;font-size:14px;padding:0 14px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8e9893 50%),linear-gradient(135deg,#8e9893 50%,transparent 50%);background-position:calc(100% - 20px) 20px,calc(100% - 15px) 20px;background-size:5px 5px;background-repeat:no-repeat}
.sw{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:14px;cursor:pointer;font-size:14px;font-weight:700}
.sw input{appearance:none;-webkit-appearance:none;width:40px;height:22px;border-radius:999px;background:#2c3532;position:relative;cursor:pointer;margin:0;transition:.2s}
.sw input::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.sw input:checked{background:var(--amb)}.sw input:checked::after{left:21px}
.flt .rst{font:inherit;font-size:13px;color:var(--mut);background:none;border:0;text-decoration:underline;cursor:pointer;align-self:flex-start}

.ls-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:28px;flex-wrap:wrap}
.ls-bar .cnt{font-size:14px;color:var(--mut)}
.ls-bar .cnt b{font-family:var(--ff-d);font-size:30px;color:#fff;font-weight:800;margin-right:6px}
.ls-bar .r{display:flex;gap:10px;align-items:center}
.ls-bar .sel{width:auto;height:42px;padding-right:40px;background-position:calc(100% - 20px) 18px,calc(100% - 15px) 18px}
.vt{display:flex;background:var(--ink2);border:1px solid var(--line);border-radius:12px;padding:4px}
.vt button{width:36px;height:32px;border:0;background:none;border-radius:8px;cursor:pointer;display:grid;place-items:center}
.vt button i{display:grid;gap:2px;width:14px}
.vt button[data-v=g] i{grid-template-columns:1fr 1fr}
.vt button i b{display:block;height:5px;background:#6c7571;border-radius:1px}
.vt button[data-v=l] i b{height:3px}
.vt button[aria-pressed=true]{background:#fff}.vt button[aria-pressed=true] i b{background:var(--ink)}
.chipsel{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 26px}
.chipsel button{font:inherit;font-size:12.5px;background:var(--amb);color:var(--ink);border:0;border-radius:999px;padding:6px 12px 6px 14px;font-weight:700;cursor:pointer;display:flex;gap:8px;align-items:center}
.chipsel button::after{content:"×";font-size:14px}

/* cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 18px}
.cd{display:flex;flex-direction:column;position:relative}
.cd .im{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:1/1;background:var(--ink3)}
.cd .im img{width:100%;height:100%;object-fit:cover;transition:1.1s var(--ease)}
.cd:hover .im img{transform:scale(1.06)}
.cd .im .rv-b{position:absolute;top:12px;left:12px;background:var(--amb);color:var(--ink);font-size:11px;font-weight:700;padding:4px 11px;border-radius:999px;display:flex;gap:6px;align-items:center}
.cd .im .ty{position:absolute;top:12px;right:12px;font-size:11px;font-weight:700;padding:4px 11px;border-radius:999px;background:rgba(10,13,12,.7);backdrop-filter:blur(6px);color:#fff}
.cd .im .go{position:absolute;right:14px;bottom:14px;width:46px;height:46px;border-radius:50%;background:var(--amb);color:var(--ink);display:grid;place-items:center;font-family:var(--ff-d);font-size:18px;transform:scale(.6);opacity:0;transition:.4s var(--ease)}
.cd:hover .im .go{transform:none;opacity:1}
.cd .mt{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:12px;color:var(--mut)}
.cd .mt .ar{display:flex;gap:6px;align-items:center;color:#cfd5d2;font-weight:700}
.cd .mt .ar::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amb)}
.cd .mt time{font-family:var(--ff-d);letter-spacing:.08em}
.cd h3{font-size:16.5px;color:#fff;margin:8px 0 12px;line-height:1.55;font-family:var(--ff);font-weight:700}
.cd:hover h3{color:var(--amb)}
.cd .pd{display:flex;gap:6px;flex-wrap:wrap}
.cd .pd span{font-size:11.5px;border:1px solid var(--line);border-radius:6px;padding:2px 9px;color:#cfd5d2}
.cd .pd span.mk{background:#fff;color:var(--ink);border-color:#fff;font-weight:700}
/* list view */
.grid.list{grid-template-columns:1fr;gap:0}
.grid.list .cd{display:grid;grid-template-columns:200px 1fr auto;gap:28px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.grid.list .cd .im{aspect-ratio:4/3;border-radius:14px}
.grid.list .cd .im .go,.grid.list .cd .im .ty{display:none}
.grid.list .cd .mt{margin:0 0 4px;justify-content:flex-start;gap:20px}
.grid.list .cd h3{font-size:18px}
.grid.list .cd .sp{display:grid!important;grid-template-columns:repeat(2,auto);gap:4px 18px;font-size:12px;color:var(--mut);text-align:right}
.grid.list .cd .sp b{color:#fff;font-family:var(--ff-d);font-size:15px}
.cd .sp{display:none}

/* inline CTA card in grid */
.cd.cta-card{grid-column:span 1;background:var(--amb);border-radius:18px;padding:28px;color:var(--ink);justify-content:space-between;min-height:100%}
.cd.cta-card .en{font-family:var(--ff-d);font-weight:700;font-size:11px;letter-spacing:.2em}
.cd.cta-card h3{color:var(--ink);font-family:var(--ff-h);font-size:24px;margin:12px 0}
.cd.cta-card p{font-size:13px}
.cd.cta-card .bt{background:var(--ink);color:#fff;align-self:flex-start;margin-top:24px}
.cd.cta-card .bt .ar{background:var(--amb);color:var(--ink)}
.grid.list .cd.cta-card{display:flex;flex-direction:row;align-items:center;margin:20px 0;padding:28px 32px}
.grid.list .cd.cta-card .bt{margin:0 0 0 auto}

.empty{grid-column:1/-1;text-align:center;padding:80px 0;color:var(--mut);border:1px dashed var(--line);border-radius:18px}
.empty b{display:block;color:#fff;font-size:18px;margin-bottom:6px}

/* pagination */
.pg{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:64px}
.pg a{min-width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--ff-d);font-weight:700;font-size:14px;border:1px solid transparent;transition:.25s}
.pg a:hover{border-color:var(--line)}
.pg a.on{background:#fff;color:var(--ink)}
.pg .nx{width:auto;padding:0 22px;border-radius:999px;border-color:var(--line);gap:10px;display:flex}
.pg .el{color:var(--mut);padding:0 6px}

/* voices */
.vc{padding:130px 0;background:var(--paper);color:var(--ink)}
.vc-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.vq{background:#fff;border:1px solid var(--line-d);border-radius:22px;padding:34px;display:flex;flex-direction:column}
.vq .st{color:var(--amb);letter-spacing:3px;font-size:15px}
.vq p{font-family:var(--ff-h);font-size:16px;line-height:1.95;margin:16px 0 26px;flex:1}
.vq .who{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line-d);padding-top:18px}
.vq .who img{width:56px;height:56px;border-radius:12px;object-fit:cover}
.vq .who b{display:block;font-size:14px}
.vq .who span{font-size:12px;color:var(--mut-d)}
.vq .who a{margin-left:auto;font-size:12px;font-weight:700;color:var(--grn)}

/* explore links (SEO) */
.ex{padding:130px 0}
.ex-g{display:grid;grid-template-columns:1fr 1fr 1fr;gap:56px;margin-top:56px}
.ex-c h3{font-size:18px;color:#fff;padding-bottom:16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
.ex-c h3 small{font-family:var(--ff-d);font-size:11px;letter-spacing:.2em;color:var(--amb);font-weight:600}
.ex-c ul{display:grid;grid-template-columns:1fr 1fr}
.ex-c li a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:#cfd5d2;margin-right:18px;transition:.2s}
.ex-c li a:hover{color:var(--amb);padding-left:6px}
.ex-c li a span{font-family:var(--ff-d);font-size:12px;color:var(--mut)}

/* compact filter bar */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ls{padding:48px 0 140px}
.fb{position:sticky;top:76px;z-index:20;background:rgba(18,23,21,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:20px;padding:6px 22px;margin-bottom:32px}
.fb-row{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.fb-k{font-size:12px;font-weight:700;color:var(--mut)}
.fb-v{display:flex;gap:6px;flex-wrap:wrap}
.pl2 input{position:absolute;opacity:0;pointer-events:none}
.pl2 span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px;border:1px solid var(--line);cursor:pointer;color:#cfd5d2;transition:.2s;white-space:nowrap}
.pl2 span i{font-style:normal;font-family:var(--ff-d);font-size:11px;font-weight:600;color:var(--mut)}
.pl2 span:hover{border-color:#5a635f;color:#fff}
.pl2 input:checked+span{background:var(--amb);border-color:var(--amb);color:var(--ink)}
.pl2 input:checked+span i{color:rgba(10,13,12,.6)}
.pl2 input:focus-visible+span{outline:2px solid var(--amb);outline-offset:2px}
.fb-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;flex-wrap:wrap}
.fb-bar .cnt{font-size:13px;color:var(--mut)}
.fb-bar .cnt b{font-family:var(--ff-d);font-size:24px;color:#fff;font-weight:800;margin-right:6px}
.fb-bar .r{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fb-bar .sel{width:auto;height:38px;padding-right:40px;font-size:13px;background-position:calc(100% - 20px) 16px,calc(100% - 15px) 16px}
.fb-bar .vt button{height:28px}
.fb .rst{font:inherit;font-size:12.5px;color:var(--mut);background:none;border:0;text-decoration:underline;cursor:pointer}
.sw2{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;cursor:pointer}
.sw2 input{appearance:none;-webkit-appearance:none;width:36px;height:20px;border-radius:999px;background:#2c3532;position:relative;cursor:pointer;margin:0;transition:.2s}
.sw2 input::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.2s}
.sw2 input:checked{background:var(--amb)}.sw2 input:checked::after{left:19px}
.ls .grid{grid-template-columns:repeat(4,1fr)}

/* single-row toolbar */
.tb{position:sticky;top:76px;z-index:20;display:flex;align-items:center;gap:10px;height:60px;padding:0 8px 0 6px;margin-bottom:28px;background:rgba(18,23,21,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px}
.tb-seg{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex-shrink:1;min-width:0}
.tb-seg::-webkit-scrollbar{display:none}
.tb-seg input,.tb-tg input,.tb-pop input{position:absolute;opacity:0;pointer-events:none}
.tb-seg span{display:block;padding:9px 15px;border-radius:999px;font-size:13px;font-weight:700;color:var(--mut);cursor:pointer;white-space:nowrap;transition:.2s}
.tb-seg span:hover{color:#fff}
.tb-seg input:checked+span{background:#fff;color:var(--ink)}
.tb-seg input:focus-visible+span,.tb-tg input:focus-visible+span{outline:2px solid var(--amb);outline-offset:1px}
.tb-dd{position:relative;flex-shrink:0;padding-left:10px;border-left:1px solid var(--line)}
.tb-btn{font:inherit;font-size:13px;font-weight:700;color:#cfd5d2;background:none;border:1px solid var(--line);border-radius:999px;height:38px;padding:0 14px 0 16px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:.2s}
.tb-btn:hover,.tb-btn[aria-expanded=true]{border-color:#5a635f;color:#fff}
.tb-btn.on{border-color:var(--amb);color:#fff}
.tb-btn b{min-width:18px;height:18px;border-radius:999px;background:var(--amb);color:var(--ink);font-family:var(--ff-d);font-size:11px;display:grid;place-items:center;padding:0 5px}
.tb-btn i{width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);transition:.2s}
.tb-btn[aria-expanded=true] i{transform:rotate(-135deg) translateY(-1px)}
.tb-pop{position:absolute;top:calc(100% + 12px);left:10px;width:260px;background:#151b19;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 24px 50px -10px rgba(0,0,0,.6);z-index:5}
.tb-pop label{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px;font-size:14px;cursor:pointer}
.tb-pop label:hover{background:var(--ink3)}
.tb-pop label span{display:flex;align-items:center;gap:12px}
.tb-pop label span::before{content:"";width:16px;height:16px;border-radius:5px;border:1.5px solid #47504c;transition:.2s}
.tb-pop input:checked+span::before{background:var(--amb);border-color:var(--amb);box-shadow:inset 0 0 0 3px #151b19}
.tb-pop em{font-style:normal;font-family:var(--ff-d);font-size:12px;color:var(--mut)}
.tb-clr{font:inherit;font-size:12px;color:var(--mut);background:none;border:0;border-top:1px solid var(--line);width:100%;padding:10px 12px 4px;text-align:left;cursor:pointer;margin-top:4px}
.tb-clr:hover{color:#fff}
.tb-tg span{display:flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700;color:#cfd5d2;cursor:pointer;white-space:nowrap;transition:.2s}
.tb-tg span::before{content:"★";color:var(--mut);transition:.2s}
.tb-tg input:checked+span{border-color:var(--amb);color:#fff}
.tb-tg input:checked+span::before{color:var(--amb)}
.tb-sp{flex:1}
.tb-cnt{font-size:12.5px;color:var(--mut);white-space:nowrap}
.tb-cnt b{font-family:var(--ff-d);font-size:20px;color:#fff;font-weight:800;margin-right:3px}
.tb-sel{height:38px;border-radius:999px;background:transparent;border:1px solid var(--line);color:#fff;font:inherit;font-size:13px;padding:0 34px 0 14px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8e9893 50%),linear-gradient(135deg,#8e9893 50%,transparent 50%);background-position:calc(100% - 18px) 16px,calc(100% - 13px) 16px;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
.tb-sel option{background:#151b19}
.tb .vt{border-radius:999px;padding:3px}.tb .vt button{height:30px;border-radius:999px}
.tb-rst{font:inherit;font-size:12.5px;color:var(--mut);background:none;border:0;text-decoration:underline;cursor:pointer;white-space:nowrap}
.tb-rst:hover{color:#fff}
@media (max-width:1180px){
  .tb{flex-wrap:wrap;height:auto;border-radius:22px;padding:8px;gap:8px}
  .tb-seg{flex-basis:100%}
  .tb-dd{border:0;padding:0}
}
@media (max-width:720px){
  .tb{position:sticky;top:64px}
  .tb .vt,.tb-sp{display:none}
  .tb-cnt{margin-left:auto}
}
.ph-stats{margin-bottom:0}
.ls .grid.list{grid-template-columns:1fr}

@media (max-width:1180px){
  .ls .grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .fb{position:static;padding:4px 16px}
  .fb-row{grid-template-columns:1fr;gap:8px}
  .fb-v{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 4px}
  .ls .grid{grid-template-columns:1fr 1fr}
}
@media (max-width:1180px){
  .ph-top{grid-template-columns:1fr;gap:24px}
  .qc{grid-template-columns:repeat(3,1fr)}
  .pk-c{grid-template-columns:1fr}.pk-im{min-height:380px}
  .ls-g{grid-template-columns:1fr}
  .flt{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:20px;border:1px solid var(--line);border-radius:18px;padding:22px}
  .grid{grid-template-columns:1fr 1fr}
  .vc-g,.ex-g{grid-template-columns:1fr}
}
@media (max-width:720px){
  .ph-hero{padding-top:110px}
  .ph-stats{grid-template-columns:1fr 1fr}.ph-stats div:nth-child(2){border:0;margin:0}
  .qc{grid-template-columns:1fr 1fr}
  .pk-tx{padding:26px}.spec{grid-template-columns:1fr 1fr 1fr}
  .flt{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr 1fr;gap:22px 12px}
  .cd h3{font-size:14px}
  .grid.list .cd{grid-template-columns:110px 1fr;gap:16px}.grid.list .cd .sp{display:none!important}
  .pg a{min-width:38px;height:38px}
}

/* ===== WordPress実装での追加 ===== */
.pg-cases .hd{background:rgba(10,13,12,.82)}
.ph-top p.lead .lk{display:inline-block;margin-top:10px;color:var(--amb);font-weight:700;font-size:13px}
.ph-top p.lead .lk:hover{text-decoration:underline}
.ls .grid .cd .body{display:block}
.cd .im img{height:100%}
.grid.list .cd .body{min-width:0}
#res{transition:opacity .25s}
#res.ld{opacity:.45;pointer-events:none}
.fb .rst{text-decoration:underline}
.vq .st{letter-spacing:0;font-size:12px;font-weight:700;color:var(--grn);font-family:var(--ff)}
.vq .who img{flex:0 0 56px}
.pg .nx{width:auto}
@media (prefers-reduced-motion:reduce){
  .cd .im img,.cd .im .go,.ex-c li a{transition:none!important}
  .cd:hover .im img{transform:none}
}
.fb,.fb-row>*{min-width:0}
@media (max-width:720px){ .fb-row{grid-template-columns:minmax(0,1fr)} }
.pl2{position:relative}
.ls .grid>*{min-width:0}
.ls .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px){ .ls .grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:720px){ .ls .grid{grid-template-columns:repeat(2,minmax(0,1fr))} .ph-stats b{font-size:30px} .ph-stats b small{font-size:12px} }
.ls .grid.list{grid-template-columns:minmax(0,1fr)}
@media (max-width:720px){
  .cd .im .ty{display:none}
  .cd .mt{flex-wrap:wrap;gap:2px 8px}
  .cd .mt time{font-size:11px}
  .ls .grid .cd.cta-card{padding:18px 16px}
  .cd.cta-card h3{font-size:17px;margin:8px 0}
  .cd.cta-card p{font-size:12px;line-height:1.7}
  .cd.cta-card .bt{margin-top:14px;font-size:12.5px;padding:8px 8px 8px 14px;gap:8px}
  .cd.cta-card .bt .ar{width:26px;height:26px}
  .cd.cta-card h3 br{display:none}
}

/* ---- v2：1行ツールバー／もっと見る ---- */
.tb-cnt{margin:0}
.tb-tg,.tb-seg label{position:relative}
.tb-pop label{position:relative}
@media (max-width:720px){ .tb{top:64px} }
.tb noscript .tb-btn{color:#fff}
.more{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:64px}
.more:empty{display:none}
.more-n{font-size:12.5px;color:var(--mut);display:flex;flex-direction:column;align-items:center;gap:10px}
.more-n b{font-family:var(--ff-d);font-size:15px;color:#fff;font-weight:800}
.more-n i{display:block;width:200px;height:2px;border-radius:2px;background:var(--line);position:relative;overflow:hidden}
.more-n i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p);background:var(--amb);transition:width .6s var(--ease)}
.more-bt{display:inline-flex;align-items:center;gap:14px;height:64px;padding:0 12px 0 34px;border:1px solid var(--line);border-radius:999px;font-weight:700;font-size:15px;color:#fff;transition:.3s var(--ease)}
.more-bt small{font-size:12px;color:var(--mut);font-weight:500}
.more-bt .ar{width:42px;height:42px;border-radius:50%;background:var(--amb);color:var(--ink);display:grid;place-items:center;font-family:var(--ff-d);font-size:17px;transition:.3s var(--ease)}
.more-bt:hover{border-color:var(--amb)}
.more-bt:hover .ar{transform:translateY(3px)}
.more-bt.ld{pointer-events:none;opacity:.6}
.more-bt.ld .ar{animation:dtspin .9s linear infinite}
@keyframes dtspin{to{transform:rotate(360deg)}}
.more-prev{margin:-8px 0 22px;font-size:13px}
.more-prev a{color:var(--amb);font-weight:700}
.grid .cd{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.grid .cd.new{opacity:0;transform:translateY(18px)}
.grid .cd:focus-visible{outline:2px solid var(--amb);outline-offset:6px;border-radius:18px}
@media (max-width:720px){ .more-bt{height:56px;padding:0 10px 0 26px;font-size:14px} .more-bt .ar{width:38px;height:38px} }
@media (prefers-reduced-motion:reduce){ .grid .cd,.more-bt .ar{transition:none} .grid .cd.new{opacity:1;transform:none} .more-bt.ld .ar{animation:none} }
.tb-btn b[hidden]{display:none}
.more-n span{display:block}
.pg-cases .hd .w,.pg-cases .hd.sc .w{height:76px}
@media (max-width:720px){ .pg-cases .hd .w,.pg-cases .hd.sc .w{height:64px} }

/* スマホ：絞り込みは2段（製品／メーカー・声・並び替え）、件数はバーの下に */
.tb-cnt-sp{display:none}
@media (max-width:720px){
  .tb{padding:6px;gap:6px;border-radius:20px;margin-bottom:14px}
  .tb .tb-cnt{display:none}
  .tb-seg span{padding:8px 13px}
  .tb-btn,.tb-tg span,.tb-sel{height:34px;font-size:12px}
  .tb-btn{padding:0 10px 0 13px;gap:6px}
  .tb-tg span{padding:0 11px;gap:5px}
  .tb-sel{flex:1;min-width:0;padding:0 26px 0 12px;background-position:calc(100% - 14px) 14px,calc(100% - 9px) 14px}
  .tb-rst{display:none}
  .tb-pop{left:0}
  .tb-cnt-sp{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--mut);margin:0 4px 16px}
  .tb-cnt-sp b{font-family:var(--ff-d);font-size:18px;color:#fff;font-weight:800;margin-right:3px}
  .tb-cnt-sp a{color:var(--mut);text-decoration:underline}
}
.ex-g.ex-2{grid-template-columns:1fr 1fr}
@media (max-width:1180px){ .ex-g.ex-2{grid-template-columns:1fr} }
