@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/NotoSansJP-500.woff2) format('woff2')}
@font-face{font-family:'Noto Sans JP';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/NotoSansJP-700.woff2) format('woff2')}
:root{--im-logo:url(/assets/img/d82c5700e484.svg)}
.im{display:block;width:100%;background:center/contain no-repeat}
.im-logo{background-image:var(--im-logo);aspect-ratio:363/58}
:root{--ink:#26252D;--head:#565353;--accent:#5289E0;--accent-ui:#3A6CC8;--band:#D9E8F3;--surface:#F5F5F5;--line:#E6E6E6;
--en:'Prompt',sans-serif;--jp:'Noto Sans JP',"Hiragino Kaku Gothic ProN",sans-serif;
--ease-in:cubic-bezier(.16,1,.3,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-op:cubic-bezier(.83,0,.17,1);--t-1:.2s;--t-2:.3s;--t-3:.6s;
--w-bg:#ECEEF1;--w-ink:#2B2F36;--w-mut:#646B76;--w-line:#D3D7DD;--w-tmp:#FFEF9A;--w-chk:#D93025;--w-m:#33415C;--fw:1240px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:light}
body{margin:0;background:var(--w-bg);color:var(--w-ink);font-family:var(--jp);font-size:13px;line-height:1.6;overflow-x:clip}
body[data-mode="sp"]{--fw:375px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
button{font:inherit;color:inherit}

/* ── ツールバー（ワイヤーの外枠） */
.tool{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--w-line);padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.tool h1{margin:0;font-size:12px;font-weight:700;letter-spacing:.02em}
.tool h1 small{font-weight:500;color:var(--w-mut);margin-left:6px}
.seg{display:inline-flex;flex-wrap:wrap;max-width:100%;border:1px solid var(--w-line);border-radius:18px;padding:2px;background:#F7F8FA}
.seg button{border:0;background:none;font-weight:700;font-size:12px;padding:6px 12px;border-radius:999px;cursor:pointer;white-space:nowrap}
.seg button[aria-selected="true"]{background:var(--w-ink);color:#fff}
.legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px;color:var(--w-mut);margin:0;padding:0;list-style:none}
.legend li{display:flex;align-items:center;gap:5px}
.lg-tmp{background:var(--w-tmp);padding:0 4px}
.lg-chk{outline:2px solid var(--w-chk);padding:0 4px}
.lg-m{background:var(--w-m);color:#fff;padding:0 5px;border-radius:2px;font-family:var(--en)}

/* ── ページ・行・注記 */
main{padding:20px 16px 80px}
main.clean-main{padding:0}
.page[hidden]{display:none}
.pspec{width:min(var(--fw),100%);margin:0 auto 20px;background:#fff;border:1px solid var(--w-line);border-radius:6px;padding:14px 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;font-size:12px}
.pspec h2{grid-column:1/-1;margin:0;font-size:14px}
.pspec h2 small{font-weight:500;color:var(--w-mut);margin-left:8px;font-family:var(--en)}
.pspec dl{margin:0}.pspec dt{font-weight:700;color:var(--w-mut);font-size:11px}.pspec dd{margin:0}
.pspec .wide{grid-column:span 3}.pspec .w2{grid-column:span 2}
.pspec .cnt{grid-column:1/-1;color:var(--w-mut);font-size:11px;border-top:1px solid var(--w-line);padding-top:8px}
.row{width:min(var(--fw),100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-areas:"l r" "f f";column-gap:12px}
body[data-mode="sp"] .row{grid-template-columns:minmax(0,1fr);grid-template-areas:"l" "r" "f"}
.ann-l{grid-area:l;padding:8px 0 6px}
.ann-r{grid-area:r;padding:8px 0 6px;font-size:11.5px}
.fwrap{grid-area:f;min-width:0}
.aid{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.aid b{font-family:var(--en);font-size:15px;font-weight:700;letter-spacing:.02em}
.role{display:inline-block;font-family:var(--en);font-size:10.5px;font-weight:600;letter-spacing:.06em;background:#fff;border:1px solid var(--w-line);border-radius:3px;padding:0 6px}
.aname{display:block;margin-top:2px;font-weight:700;font-size:12px}
.anote{margin:4px 0 0;color:var(--w-mut);font-size:11px}
.qq{margin:0;padding:0;list-style:none}
.qq li{display:grid;grid-template-columns:3.6em minmax(0,1fr);gap:4px}
.qq li span{color:var(--w-mut);font-size:10.5px}
.qs{margin-top:4px;font-family:var(--en);font-size:10.5px;font-weight:600;color:var(--w-m)}
.pl{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:2px}
.pl li{font-size:11px;line-height:1.5}
.pl .k-tmp{background:var(--w-tmp);padding:0 4px;margin-right:4px;font-size:10px;font-weight:700}
.pl .k-chk{background:var(--w-chk);color:#fff;padding:0 4px;margin-right:4px;font-size:10px;font-weight:700}
.pl .who{color:var(--w-mut)}
.pl .k-done{background:#2E7D4F;color:#fff;padding:0 4px;margin-right:4px;font-size:10px;font-weight:700}
.mbs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;min-height:4px;margin-bottom:4px}
.mb{display:inline-block;background:var(--w-m);color:#fff;font-size:10.5px;line-height:1.6;padding:1px 6px;border-radius:2px}
.mb b{font-family:var(--en);margin-right:4px}
.fr{box-shadow:0 0 0 1px var(--w-line)}
.conn{width:min(var(--fw),100%);margin:0 auto;padding:6px 0;display:flex;justify-content:center}
.conn p{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;font-size:11px;color:var(--w-mut);text-align:center}
.conn .bd{font-weight:700;color:var(--w-ink);border:1px solid var(--w-line);background:#fff;border-radius:999px;padding:0 8px}
.conn .bd.band{background:#D9E8F3}
.conn .bq{color:var(--w-ink)}
.conn .bq::before{content:"問い ";color:var(--w-mut)}
.spbar-row{position:sticky;bottom:0;z-index:20}
.spbar-row .fr{box-shadow:none;background:none}

/* 横に余裕があるときは注記を区画の左右外へ */
@media (min-width:1660px){
  body[data-mode="pc"] .row{width:auto;grid-template-columns:190px var(--fw) 250px;grid-template-areas:"l f r";justify-content:center;column-gap:16px}
  body[data-mode="pc"] .conn{width:var(--fw)}
  body[data-mode="pc"] .pspec{width:calc(var(--fw) + 472px)}
}
@media (min-width:960px){
  body[data-mode="sp"] .row{width:auto;grid-template-columns:200px var(--fw) 280px;grid-template-areas:"l f r";justify-content:center;column-gap:16px}
  body[data-mode="sp"] .pspec{width:min(920px,100%)}
}
@media (min-width:1660px){body[data-mode="pc"] .side>.ann-l,body[data-mode="pc"] .side>.ann-r{position:sticky;top:64px;align-self:start}}
@media (min-width:960px){body[data-mode="sp"] .side>.ann-l,body[data-mode="sp"] .side>.ann-r{position:sticky;top:64px;align-self:start}}
@media (max-width:520px){.tool{position:static}main{padding:12px 0 80px}.pspec{display:block;border-radius:0;border-inline:0}.pspec dl,.pspec .cnt{margin-top:8px}.ann-l,.ann-r{padding-inline:12px}.tool{padding:8px 12px}}

/* ── ここからサイト本体（A案トークン）。.fr がコンテナ＝PC/SPはコンテナ幅で切り替わる */
.fr{container:site/inline-size;position:relative;background:#fff;color:var(--ink);font-family:var(--jp);font-weight:500;font-size:16px;line-height:1.9;letter-spacing:.04em;overflow:hidden;-webkit-font-smoothing:antialiased;word-break:auto-phrase;line-break:strict}
.fr :is(h1,h2,h3,.rfv-h,.cfv-h){text-wrap:balance}
:where(.fr) :where(h1,h2,h3,p,ul,ol,dl,dd,figure,fieldset){margin:0;padding:0}
:where(.fr) fieldset{border:0;min-width:0}
:where(.fr) :where(ul,ol){list-style:none}
:where(.fr) a{color:inherit;text-decoration:none}
:where(.fr) img{display:block;max-width:100%;height:auto}
.fr .ic{width:12px;height:12px;flex:none}
.sec{padding:96px 40px;position:relative}
.sec.nopad{padding:0}
.sec.thin{padding:44px 40px 40px}
.sec.rule{border-top:1px solid var(--line)}
.sec.band{background:var(--band)}
.in{max-width:1160px;margin-inline:auto;position:relative}
.in.narrow{max-width:860px}
.sh-en{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--accent-ui);line-height:1.4}
.sh-ja{word-break:auto-phrase;text-wrap:balance;margin-top:10px;font-size:32px;font-weight:700;line-height:1.5;letter-spacing:.06em;color:var(--head)}
.sh.c{text-align:center}
.body{margin-top:28px;display:grid;gap:1.1em;max-width:40em}
.body.mt-l{margin-top:48px}
.mt-m{margin-top:32px}
.src-nt{margin-top:18px;font-size:12px;color:var(--head);letter-spacing:.02em}
.lnk{display:inline-flex;align-items:center;gap:8px;color:var(--accent-ui);font-weight:700;font-size:14px;letter-spacing:.1em}
.lnk svg{width:14px;height:14px}
.more{margin-top:32px;text-align:right}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border-radius:4px;font-weight:700;font-size:15px;letter-spacing:.12em;white-space:nowrap;line-height:1.2}
.btn svg{width:16px;height:16px}
.btn small{font-size:11px;font-weight:500;color:var(--head);letter-spacing:.04em}
.btn-fill{background:var(--accent-ui);color:#fff}
button.btn{border:0;cursor:pointer;font-family:var(--jp)}
.btn-line{border:1px solid var(--ink);background:#fff;color:var(--ink)}
.btn-lg{height:58px;padding:0 30px;font-size:16px}
.btn-sm{height:40px;padding:0 16px;font-size:13px;letter-spacing:.06em}
.btn-wide{width:100%}
.btns{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px 16px}
.arw{position:relative;display:inline-block;flex:none;width:16px;height:16px;overflow:hidden}
.arw svg{position:absolute;inset:0;width:16px;height:16px}.arw .a2{display:none}
.is-flag{outline:2px dashed var(--w-chk);outline-offset:3px;opacity:.6}
.flag,.src-nt,.alt-note,.ts-src,.mk-ng,.form-nt,.voice-nt,.chk-t{display:none!important}  /* v2.21: 注記・出典・免責・理由ラベルは出さない */
.flag{margin-top:10px;font-size:11px;color:var(--w-chk);font-weight:700;letter-spacing:.02em}
.ph{position:relative;display:flex;align-items:center;justify-content:center;width:100%;background:#E9EAEC;border-radius:4px;overflow:hidden;text-align:center;color:var(--head);font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1.5;padding:8px}
.ph::before{content:"";position:absolute;inset:0;background:linear-gradient(to top right,transparent calc(50% - .6px),#CDD0D6 50%,transparent calc(50% + .6px)),linear-gradient(to top left,transparent calc(50% - .6px),#CDD0D6 50%,transparent calc(50% + .6px))}
.ph span{position:relative;background:#E9EAEC;padding:2px 8px;border-radius:2px}
.tmp{background:var(--w-tmp);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.tmp::after{content:"※";color:#8A6A00;font-size:.7em;font-weight:700;margin-left:2px;vertical-align:super;line-height:0}
.chk{outline:2px solid var(--w-chk);outline-offset:2px}
.chk-t{display:inline-block;margin:2px 0 0 8px;padding:0 6px;background:var(--w-chk);color:#fff;font-size:10px;font-weight:700;font-style:normal;letter-spacing:.02em;line-height:1.7;border-radius:2px;vertical-align:middle;white-space:normal}
.bc{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--head);margin-bottom:18px}
.bc a{color:var(--accent-ui)}
.corner-ill{position:absolute;right:0;top:-12px;width:96px}
.corner-ill img{width:100%}

/* header（コーポ） */
.hd,.rhd{display:flex;align-items:center;gap:28px;height:88px;padding:0 40px;background:#fff;border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;flex:none}.logo .im-logo{width:148px}
.hnav,.rnav{margin-left:auto}
.hnav ul,.rnav ul{display:flex;align-items:center;gap:30px}
.hnav a,.rnav a{position:relative;display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;letter-spacing:.14em;padding-block:6px}
.hnav a.en{font-family:var(--en);font-weight:500;letter-spacing:.22em}
.hnav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}
.btn-hd{height:44px;padding:0 22px;font-size:13px}
.menu{display:none;flex-direction:column;align-items:center;width:38px;padding:0;border:0;background:none;cursor:pointer}
.menu i{display:block;width:24px;height:1.5px;background:var(--ink);margin:3px 0}
.menu small{margin-top:2px;font-family:var(--en);font-size:12px;letter-spacing:1px;line-height:1}
.rlab{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--accent-ui);border-left:1px solid var(--line);padding-left:10px}
.rnav ul{gap:22px}
.corp-l{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--head);white-space:nowrap}

/* HOME FV（A案） */
.kv{position:relative;padding:28px 40px 92px;display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:clamp(28px,4cqi,56px);align-items:center}
.kv h1{font-weight:inherit}
.kv-en{display:block;font-family:var(--en);font-weight:600;font-size:clamp(34px,5.2cqi,64px);line-height:1.04;letter-spacing:.02em;color:var(--ink)}
.kv-en>span{display:block;white-space:nowrap}
.kv-en .ac{color:var(--accent)}
.kv-ja{display:block;margin-top:clamp(18px,2cqi,28px)}
.kv-ja strong{display:block;font-size:clamp(22px,2.6cqi,32px);font-weight:700;letter-spacing:.16em;line-height:1.5}
.kv-ja span{display:block;margin-top:4px;color:var(--head);font-size:15px;font-weight:700;letter-spacing:.16em}
.ck{margin-top:22px;display:grid;gap:8px}
.ck li{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.08em;line-height:1.5}
.ck svg{flex:none;width:18px;height:18px;padding:3px;border-radius:50%;background:var(--band);color:var(--accent)}
.media{position:relative;padding:22px 0 40px}
.film{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:#000}
.film img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-lab{position:absolute;left:8px;top:8px;background:rgba(255,255,255,.92);color:var(--ink);font-size:11px;font-weight:700;padding:2px 8px;border-radius:2px}
.film-cap{position:absolute;right:0;top:0;font-family:var(--en);font-size:10px;font-weight:300;letter-spacing:3px;color:#8a8a8a}
.ill{position:absolute;z-index:2}
.ill-1{left:-40px;bottom:0;width:clamp(110px,13cqi,170px)}
.ill-2{right:-14px;bottom:6px;width:clamp(90px,10cqi,130px)}
.scroll{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-family:var(--en);font-size:11px;font-weight:300;letter-spacing:4px;padding-bottom:40px}
.scroll::after{content:"";position:absolute;left:50%;top:22px;width:1px;height:34px;background:var(--ink)}

/* ABOUT／COMPANY */
.ab-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.co-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.mvv{margin-top:32px;display:grid;gap:22px}
.mvv dt{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--accent-ui)}
.mvv dd{margin-top:4px;font-size:22px;font-weight:700;letter-spacing:.08em;color:var(--ink)}
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th,.tbl td{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 8px;text-align:left;vertical-align:top}
.tbl th{width:8em;color:var(--head);font-weight:700;white-space:nowrap}
.tbl-nt{margin-left:10px;font-size:12px;color:var(--head);opacity:.8}

/* tiles（A案部品・面#F5F5F5） */
.tiles{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tile{position:relative;display:flex;flex-direction:column;height:100%;padding:28px 28px 24px;background:var(--surface);border-radius:4px;overflow:hidden}
.tile-n{font-family:var(--en);font-size:13px;font-weight:600;letter-spacing:4px;color:var(--accent-ui)}
.tile-en{margin-top:6px;font-family:var(--en);font-weight:600;font-size:22px;letter-spacing:.03em;line-height:1.2}
.tile h3{margin-top:8px;font-size:17px;font-weight:700;letter-spacing:.08em;line-height:1.55}
.tile h3 small{display:block;font-size:12px;font-weight:500;color:var(--head);letter-spacing:.04em;margin-top:2px}
.tile p{margin-top:12px;font-size:13px;line-height:1.95;color:var(--head);flex:1;padding-right:80px}
.tile-ill{position:absolute;right:20px;bottom:64px;width:76px}
.tile-more{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--accent-ui)}

/* trust strip */
.marq{position:relative;margin-top:32px}
.logos{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.ph-logo{background:#fff;font-size:10.5px;padding:4px}.ph-logo span{background:#fff}.ph-logo::before{opacity:.5}
.mq-stop{position:absolute;right:0;top:-40px;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--ink);border-radius:4px;background:#fff;font-size:12px;font-weight:700;cursor:pointer}
.mq-stop svg{width:12px;height:12px}
.alt-note{margin-top:28px;font-size:12px;color:var(--head)}
.nums3{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nums3 li{background:#fff;border-radius:4px;padding:16px 18px;display:grid;gap:2px}
.nums3 b{font-family:var(--en);font-size:28px;font-weight:600;color:var(--ink);letter-spacing:.02em}
.nums3 span{font-size:13px;font-weight:700}
.nums3 small{font-size:12px;color:var(--head)}

/* cases */
.cases{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.case{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;background:var(--surface);border-radius:4px;padding:16px}
.case-v .ph{border-radius:4px;font-size:10px}
.ctag{display:inline-block;font-size:11px;font-weight:700;color:var(--accent-ui);border:1px solid var(--accent-ui);border-radius:2px;padding:0 6px;letter-spacing:.06em}
.case-co{margin-top:8px;font-weight:700;font-size:14px;line-height:1.6}
.case-dl{margin-top:8px;display:grid;gap:2px;font-size:12px}
.case-dl div{display:grid;grid-template-columns:4em minmax(0,1fr)}
.case-dl dt{color:var(--head)}
.case-d{font-family:var(--en);font-weight:700;font-size:15px;color:var(--ink)}
.case-nt{margin-top:8px;font-size:10.5px;color:var(--head)}
.fchips{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}
.fchip{height:34px;padding:0 14px;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:13px;font-weight:700;cursor:pointer}
.fchip.on{border-color:var(--accent-ui);color:#fff;background:var(--accent-ui)}
.cases-6{margin-top:20px}

/* recruit teaser */
.rt{text-align:center;display:grid;justify-items:center}
.rt-ill{width:120px;margin-bottom:12px}
.rt-p{margin-top:18px;max-width:34em}
.rt .btn{margin-top:28px}

/* contact */
.ct-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:56px;align-items:start}
.ct-pts{margin-top:28px;display:grid;gap:14px}
.ct-pts li{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:8px;font-size:14px;line-height:1.8}
.ct-pts b{color:var(--head)}
.ct-dl{margin-top:32px}
/* v2.21 /document/ 資料ダウンロード */
.dc-lead{font-size:15px;line-height:1.95;color:var(--head);max-width:30em}
.dc-list{margin:0;padding:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.dc-list li{padding:22px 0;border-bottom:1px solid var(--line)}
.dc-k{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--accent-ui)}
.dc-list h3{margin-top:6px;font-size:16px;font-weight:700;letter-spacing:.04em}
.dc-list p{margin-top:6px;font-size:13.5px;line-height:1.8;color:var(--head)}
.form{display:grid;gap:18px;background:var(--surface);border-radius:4px;padding:32px}
.fld{display:grid;gap:6px}
.fld label,.fld legend{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.req,.opt{font-style:normal;font-size:12px;font-weight:700;padding:0 6px;border-radius:2px;line-height:1.7}
.req{background:var(--accent-ui);color:#fff}.opt{background:#fff;color:var(--head);border:1px solid var(--line)}
.fld input,.fld textarea,.fld select{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid #CFCFD4;border-radius:4px;background:#fff;color:var(--ink)}
.fld select{appearance:none}
.fld-nt{font-size:11px;color:var(--head)}
.cbs{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:6px}
.fld .cb{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;white-space:nowrap}
.agree{display:flex;align-items:center;gap:8px;font-size:13px}
.agree a{color:var(--accent-ui);text-decoration:underline}
.form-nt{font-size:11.5px;color:var(--head)}

/* services */
.whys{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.why{border-top:2px solid var(--ink);padding-top:18px}
.why-n{font-family:var(--en);font-size:28px;font-weight:600;color:var(--accent);letter-spacing:.04em}
.why h3{margin-top:6px;font-size:18px;font-weight:700;letter-spacing:.08em}
.why p{margin-top:10px;font-size:14px;line-height:1.9}
.steps{margin-top:40px;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:0;position:relative}
.steps li{position:relative;padding:0 14px 0 0}
.steps li::before{content:"";position:absolute;left:40px;right:0;top:20px;height:1px;background:var(--ink)}
.steps li:last-child::before{display:none}
.st-n{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--ink);background:#fff;font-family:var(--en);font-size:13px;font-weight:600}
.steps h3{margin-top:14px;font-size:16px;font-weight:700;letter-spacing:.06em}
.steps p{margin-top:6px;font-size:13px;line-height:1.8;color:var(--head)}
.st-time{margin-top:28px;font-size:14px;font-weight:700}
.accs{margin-top:32px;display:grid;gap:0;border-top:1px solid var(--line)}
.acc{border-bottom:1px solid var(--line)}
.acc>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:20px 4px;font-weight:700;font-size:16px;cursor:pointer}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary svg{margin-left:auto;width:18px;height:18px;flex:none;transform:rotate(45deg);color:var(--accent)}
.q,.a{flex:none;font-family:var(--en);font-weight:600;color:var(--accent-ui);letter-spacing:.06em;font-size:15px}
.acc-a{display:flex;gap:14px;padding:0 4px 22px;font-size:15px}
.acc-a .a{color:var(--head)}
.acc-flow{display:block}
.accs+.acc,.in>.acc{border-top:1px solid var(--line)}
.in.narrow>.acc:first-of-type{margin-top:32px}

/* 10/23: SERVICE 2枚・ロゴのワードマーク風タイル */
.tiles.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px}
.logos.logos-wm{grid-template-columns:repeat(7,minmax(0,1fr))}
.wm{display:flex;align-items:center;justify-content:center;aspect-ratio:5/2;background:#fff;border:1px solid #D5D7DC;border-radius:4px;font-family:var(--en);font-weight:700;font-size:15px;letter-spacing:.04em;color:#6B6E76;text-align:center;line-height:1.2;padding:4px}
.wm-ja{font-family:var(--jp);font-size:14px}
.wm-etc{font-family:var(--jp);font-size:13px;gap:4px}.wm-etc span{font-family:var(--en)}
.ts-note{margin-top:8px;font-size:12px;color:var(--head)}
.ts-note.ts-foot{margin-top:10px;font-size:11px}
/* QS26: 帯#D9E8F3上の小ラベルは本文色（#3A6CC8でも4.04:1で不足） */
.band .sh-en{color:var(--ink)}
/* 10/22夜 追加部品 */
.tile-bdg{display:block;margin-top:10px;line-height:1}
.tile-nt{display:block;margin-top:8px;font-size:11px;line-height:1.7;color:var(--head);opacity:.8;letter-spacing:.02em}
.pill{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--accent-ui);border:1px solid var(--accent-ui);border-radius:999px;padding:3px 10px;background:#fff}
.ts-src{margin-top:10px;font-size:12px;color:var(--head)}
.ct-steps{margin-top:28px;display:grid;gap:10px;counter-reset:c}
.ct-steps li{display:grid;grid-template-columns:2.4em minmax(0,1fr);align-items:baseline;font-size:15px;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:10px}
.ct-steps b{font-family:var(--en);color:var(--accent-ui);font-size:13px;letter-spacing:.1em}
.ct-pts{margin-top:18px}
.rfv-alt{margin-top:10px;font-size:12px}
.wflow{margin-top:36px;display:flex;flex-wrap:wrap;gap:6px}
.wflow li{position:relative;background:var(--band);color:var(--ink);font-size:13px;font-weight:700;padding:8px 22px 8px 14px;border-radius:4px}
.wflow li:not(:last-child)::after{content:"→";position:absolute;right:5px;color:var(--accent)}
.wflow-c{margin-top:10px;font-size:14px}
.wk .rtag{font-size:13px;padding:2px 8px}
.wk h3{font-size:18px}
.wk-no{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--head)}
.why-intro{margin-bottom:72px}.why-intro .intro-b{border-top:0;padding-top:0}
/* recruit */
.rhd .btn-hd{margin-left:6px}
.rfv{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center;padding:48px 40px 80px}
.rfv-t{position:relative}
.hand{display:inline-grid;gap:2px;border:1px dashed #B8BBC2;border-radius:4px;padding:6px 14px 4px;margin-bottom:22px;background:#FAFAFB}
.hand-tx{font-family:var(--en);font-style:italic;font-size:40px;font-weight:300;letter-spacing:.04em;color:#B0B3BA;line-height:1.1}
.hand-lab{font-size:10.5px;color:var(--head);font-weight:700}
.rfv-h{font-size:clamp(26px,3.3cqi,38px);font-weight:700;line-height:1.45;letter-spacing:.08em;color:var(--ink)}
.rfv-s{margin-top:26px;font-size:12px;font-weight:700;color:var(--head);letter-spacing:.12em}
/* v2.32 採用FV（Owner原稿 §5） */
.rfv-1{grid-template-columns:minmax(0,1fr);padding-top:64px;padding-bottom:96px}
.rfv-1 .rfv-t{width:100%;max-width:1160px;margin-inline:auto}  /* v2.37: 他区画の内容幅（.in 1160 中央）に揃える（Owner 10/29「ここだけ広い」） */
.rfv-h2{display:grid;gap:0;text-wrap:balance}
.rfv-h2 span{display:block;font-size:clamp(28px,3.9cqi,56px);line-height:1.34;letter-spacing:.05em;font-weight:700;color:var(--ink)}
.rfv-en{margin-top:24px;font-size:13px;font-weight:600;letter-spacing:.3em;color:var(--head)}
.rfv-lead{margin-top:18px;font-size:15px;line-height:2;letter-spacing:.03em;color:var(--ink)}
.rfv .btns{margin-top:28px}
@container site (max-width:760px){.rfv-1{padding-top:40px;padding-bottom:64px}.rfv-h2 span{font-size:28px;letter-spacing:.03em;line-height:1.4}.rfv-lead{font-size:14.5px;line-height:1.95}.rfv-lead br,.rc-msg .msg-b p br:not(.keep){display:none}.rfv-en{letter-spacing:.22em}}
.jchips{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px}
.jchip{display:inline-flex;align-items:baseline;gap:8px;padding:8px 16px;border:1.5px solid var(--accent-ui);border-radius:4px;color:var(--accent-ui);background:#fff}
.jchip b{font-family:var(--en);font-weight:700;font-size:17px;letter-spacing:.04em}
.jchip span{font-size:12px;font-weight:700;color:var(--ink)}
.jchip.on{background:var(--band)}
.ms-g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);gap:56px;align-items:start}
.ms-lead{margin-top:24px;font-size:20px;font-weight:700;line-height:1.7;letter-spacing:.06em;color:var(--ink)}
.ms-mid{margin-top:1.1em;max-width:40em}
.sign{margin-top:28px;display:grid;gap:6px;justify-items:start}
.sign-hand{margin:0;display:flex;align-items:baseline;gap:12px;transform:rotate(-4deg);transform-origin:left center}
.sign-ja{font-family:'Yuji Syuku',serif;font-size:40px;line-height:1.2;color:var(--ink);letter-spacing:.06em}
.sign-en{font-family:'Caveat',cursive;font-size:20px;color:var(--head)}
.sign-t{font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.ph-sign{font-size:10.5px}
.wks{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wk{background:var(--surface);border-radius:4px;padding:26px}
.wk-n{font-family:var(--en);font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--accent-ui)}
.wk h3{margin-top:4px;font-size:22px;font-weight:700;letter-spacing:.1em}
.wk>p{margin-top:8px;font-size:14px}
.wk-r{margin-top:16px;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:14px}
.wk-r li{font-size:13px;line-height:1.75}
.rtag{display:inline-block;margin-right:8px;font-family:var(--en);font-size:11px;font-weight:700;color:#fff;background:var(--accent-ui);border-radius:2px;padding:0 6px;letter-spacing:.04em}
.facts{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.facts li{display:grid;gap:2px;border-left:3px solid var(--accent);padding:4px 0 4px 16px}
.facts b{font-family:var(--en);font-size:26px;font-weight:600}
.facts span{font-size:13px;font-weight:700}
.facts small{font-size:12px;color:var(--head)}
.jobs{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.jobs.jobs2,.wks.wks2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.job{display:flex;flex-direction:column;background:var(--surface);border-radius:4px;padding:28px;border-top:3px solid var(--accent)}
.job-k{font-family:var(--en);font-size:30px;font-weight:700;color:var(--accent);letter-spacing:.04em;line-height:1.2}
.job h3{margin-top:4px;font-size:17px;font-weight:700;letter-spacing:.08em}
.job>p{margin-top:10px;font-size:14px}
.job>.job-st{font-size:12px;font-weight:700;color:var(--head);flex:1}
.job-b{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jxs{margin-top:40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1040px}
.jx{position:relative;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);padding:38px 36px 34px}
.jx-g{position:absolute;right:18px;top:6px;font-size:132px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--surface);pointer-events:none;user-select:none}
.jx-r{position:relative;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--accent-ui)}
.jx-r .rtag{font-size:12px;padding:1px 8px;margin-right:10px}
.jx h3{position:relative;margin-top:16px;font-size:27px;font-weight:700;letter-spacing:.06em;line-height:1.45}
.jx-d{position:relative;margin-top:16px;font-size:14.5px;line-height:1.95;flex:1}
.jx-m{position:relative;margin:26px 0 0;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:10px}
.jx-m div{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:12px;align-items:baseline}
.jx-m dt{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--head)}
.jx-m dd{margin:0;font-size:14px;font-weight:700}
.jx .job-b{margin-top:26px}
.mems{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.mem-r{margin-top:12px;font-size:12px;font-weight:700;color:var(--accent-ui)}
.mem-n{font-size:17px;font-weight:700}
.mem-c{margin-top:4px;font-size:14px}
.iv{margin-top:40px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}
.iv-k{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--accent-ui)}
.iv-t{font-weight:700}
.iv .lnk{margin-top:8px}
.vals{margin-top:36px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.val{text-align:center}
.val-ill{display:flex;align-items:flex-end;justify-content:center;width:130px;height:110px;margin:0 auto 10px}.val-ill .im{height:100%;width:auto}
.val-en{font-family:var(--en);font-size:17px;font-weight:700;letter-spacing:.08em;color:var(--accent-ui)}
.val h3{margin-top:2px;font-size:15px;font-weight:700}
.val>p:last-child{margin-top:8px;font-size:14px;text-align:left}
.nums{margin-top:36px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.num{background:#fff;border-radius:4px;padding:20px 18px;display:grid;gap:6px}
.num-l{font-size:13px;font-weight:700;color:var(--head)}
.num-v{font-family:var(--en);font-size:26px;font-weight:600;color:var(--ink);letter-spacing:.02em;line-height:1.3}
.num-m{font-size:11px;color:var(--head);line-height:1.6}
.syss{margin:28px 0 8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sys{background:var(--surface);border-radius:4px;padding:18px}
.sys h3{font-size:15px;font-weight:700}
.sys p{margin-top:6px;font-size:13px;line-height:1.8}
.in>.tbl{margin-top:24px}
dl.reqs div{display:grid;grid-template-columns:10em minmax(0,1fr);gap:16px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px;line-height:1.85}
dl.reqs dt{font-weight:700;color:var(--head)}
dl.reqs.req-cp{margin-top:32px;border-top:1px solid var(--line)}
.ent2{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ent-c{background:#fff;border-radius:4px;padding:26px;display:grid;gap:10px;align-content:start}
.ent-c .btn{justify-self:start}
.ent-k{font-size:12px;font-weight:700;color:var(--accent-ui);letter-spacing:.1em}
.ent-c h3{font-size:20px;font-weight:700;letter-spacing:.08em}
.ent-c p:not(.ent-k){font-size:14px}
.form-e{margin-top:20px;background:#fff}
.spbar{display:none}
.ft{background:var(--surface);padding:56px 40px 28px;font-size:13px}
.ft-g{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
.ft-r .ft-g{grid-template-columns:1fr 1.6fr 1fr}
.ft-tag{margin-top:14px;font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.14em}
.ft-tag span{font-family:var(--jp);font-weight:700;letter-spacing:.12em}
.ft-h{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--accent-ui);margin-bottom:10px}
.ft ul{display:grid;gap:8px}
.ft ul a{display:inline-flex;align-items:center;gap:4px}
.ft-cols{grid-template-columns:1fr 1fr}
.ft-c{margin-top:40px;font-family:var(--en);font-size:12px;color:var(--head);letter-spacing:.08em}

/* CP */
.cfv{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding:44px 40px 64px}
.cfv-s{margin-top:14px;font-size:14px;font-weight:700;color:var(--head);letter-spacing:.08em}
.cfv-h{margin-top:14px;font-size:clamp(26px,3.3cqi,40px);font-weight:700;line-height:1.5;letter-spacing:.08em}
.jchips.one{margin-top:22px}
.intro{padding:0 40px 96px;max-width:1240px}
.intro-b{max-width:40em;display:grid;gap:1.1em;border-top:1px solid var(--line);padding-top:48px}
.author{display:flex;align-items:center;gap:14px}
.face{flex:none;width:72px;height:72px;border-radius:50%;background:#E9EAEC;display:grid;place-items:center;font-size:10px;color:var(--head);font-weight:700}
.author-n{font-size:14px;font-weight:700}
.author-bio{font-size:14px;color:var(--head)}
.lead-h{font-size:18px;font-weight:700;margin-top:8px}
.worries{display:grid;gap:12px}
.fig{margin-top:44px}
.stages{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:12px;align-items:start}
.stage{display:grid;gap:6px}
.stage h3{font-size:15px;font-weight:700}
.stage p{font-size:13.5px;line-height:1.75}
.pict{height:150px;display:grid;place-items:center;border:1px solid var(--line);border-radius:4px;padding:10px;position:relative;color:var(--ink)}
.tags{display:grid;gap:4px;width:100%}
.tag{display:flex;gap:6px;font-size:10.5px;border:1px solid #CFCFD4;border-radius:2px;padding:1px 6px;background:#fff}
.tag .co{color:var(--head)}
.bubble{position:absolute;top:10px;left:50%;transform:translateX(-50%);font-size:11.5px;font-weight:700;border:1px solid var(--ink);border-radius:14px;padding:2px 10px;background:#fff;white-space:nowrap}
.f-person{width:56px;margin-top:40px}
.concept{border:2px solid var(--accent);background:var(--band);border-radius:4px;padding:12px;font-size:13px;font-weight:700;text-align:center}
.pict svg:not(.f-person){width:100%}
.f-arrow{align-self:center;color:var(--ink)}
.f-arrow svg{width:24px;height:16px;display:block}
.case-data{margin-top:24px;border:1px solid var(--line);border-radius:4px;padding:18px 20px;max-width:760px;background:var(--surface)}
.case-lead{font-weight:700;font-size:15px}
.case-dl2{margin-top:10px;display:grid;gap:4px;font-size:13.5px}
.case-dl2 div{display:grid;grid-template-columns:6em minmax(0,1fr)}
.case-dl2 dt{color:var(--head)}
.env-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:start}
.env-g .ph,.env-g .env-img{margin-top:28px}
.pimg{display:block;width:100%;height:auto;border-radius:4px;object-fit:cover}
.cfv-img{display:block;width:100%;max-width:400px;justify-self:end;aspect-ratio:3/4;object-fit:cover;border-radius:4px}
img.face{object-fit:cover}
.ent-lead{margin-top:16px;font-size:14px}
.hub{display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1.4fr) 110px minmax(0,1fr);gap:8px;align-items:center}
.hub-box{border:1px solid var(--ink);border-radius:4px;padding:16px;text-align:center;background:#fff}
.hub-box .who{font-size:13px;font-weight:700;color:var(--head)}
.hub-box .main{margin-top:4px;font-weight:700;font-size:15px}
.hub-cp{border:2px solid var(--accent);background:var(--band);padding:22px 16px}
.hub-cp .who{font-family:var(--en);font-size:22px;color:var(--accent)}
.hub-cp .main{font-size:18px}
.hub-cp .side{margin-top:6px;font-size:12px;color:var(--head)}
.hub-ar{display:grid;gap:2px;justify-items:center;font-size:11px;font-weight:700;color:var(--head)}
.hub-ar svg{width:72px;height:12px;color:var(--ink)}
.hub-ar.rev svg{transform:scaleX(-1)}
.hub-band{margin-top:14px;text-align:center;border:1px dashed var(--ink);border-radius:4px;padding:8px;font-size:13px;font-weight:700}
.deflist{margin-top:32px;display:grid;gap:8px;font-size:14px}
.deflist div{display:grid;grid-template-columns:12em minmax(0,1fr);gap:8px}
.deflist dt{font-weight:700}
.f3{border:1px solid var(--line);border-radius:4px;padding:28px}
.f3-g{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1.6fr);gap:16px;align-items:center}
.f3-k{font-size:11px;font-weight:700;color:var(--head);letter-spacing:.1em}
.f3-stack{margin-top:8px;display:grid;gap:4px}
.f3-stack li{border:1px dashed #9a9a9a;border-radius:2px;padding:4px 10px;font-size:13px;background:#fff}
.f3-stack li:nth-child(2){margin-left:12px}.f3-stack li:nth-child(3){margin-left:24px}
.f3-cap{margin-top:10px;font-size:12px;color:var(--head)}
.f3-ar svg{width:64px;height:24px;color:var(--accent);display:block}
.f3-r{border-left:1px solid var(--line);padding:18px 0 18px 32px;display:grid;gap:10px}
.f3-w{font-size:26px;font-weight:700;letter-spacing:.08em;line-height:1.4}
.f3-t{margin-top:18px;font-size:13px;font-weight:700;color:var(--head);text-align:center}
.voice-lead{margin-top:24px;font-size:18px;font-weight:700}
.voice-nt{margin-top:8px;font-size:12px}
.voices{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.voice{background:#fff;border-radius:4px;padding:24px;display:grid;gap:6px;align-content:start}
.voice .face{width:64px;height:64px}
.v-n{margin-top:6px;font-weight:700;font-size:16px}
.v-r{font-size:12px}
.v-s{font-size:14px;line-height:1.85}
.sig{margin-top:28px;text-align:right;font-weight:700;max-width:40em}
.apply{margin-top:32px}
.faq-h{margin-top:48px;font-size:18px;font-weight:700}

/* ── SP（コンテナ幅≤760px＝SP表示） */
@container site (max-width:1000px){
  .rnav ul{gap:14px}.rnav a{font-size:12px;letter-spacing:.06em}.corp-l{display:none}
  .kv{grid-template-columns:minmax(0,1fr)}
  .nums{grid-template-columns:repeat(3,minmax(0,1fr))}
  .logos,.logos.logos-wm{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@container site (max-width:760px){
  .fr{font-size:14px}
  .sec{padding:64px 20px}.sec.thin{padding:28px 20px 28px}
  .sh-ja{font-size:24px}
  .body{margin-top:20px}
  .hd,.rhd{height:64px;padding:0 14px 0 18px;gap:10px}
  .logo .im-logo{width:104px}
  .hnav,.rnav,.corp-l{display:none}
  .hd .btn-hd{margin-left:auto;height:36px;padding:0 12px;font-size:12px;letter-spacing:.04em}
  .rhd .btn-hd{display:none}.rhd .menu{margin-left:auto}
  .menu{display:flex}
  .kv{padding:12px 20px 32px;gap:36px}
  .kv-en{font-size:clamp(28px,10.2cqi,48px)}
  .kv-ja strong{letter-spacing:.1em}
  .ck li{font-size:13px;letter-spacing:.04em}
  .btns{gap:10px}.btns .btn{width:100%;height:54px}
  .btn{white-space:normal;text-align:center}.apply .btn{width:100%;height:auto;min-height:56px;padding:12px 16px;letter-spacing:.04em}
  .ill-1{left:-6px;width:110px}.ill-2{right:-4px;width:84px}
  .scroll{display:none}
  .ab-g,.co-g,.ct-g,.ms-g,.env-g,.rfv,.cfv{grid-template-columns:minmax(0,1fr);gap:32px}
  .tiles,.tiles.two,.cases,.whys,.wks,.jobs,.jxs,.voices,.ent2,.nums3,.facts{grid-template-columns:minmax(0,1fr)}
  .jx{padding:30px 22px 28px}.jx-g{font-size:96px;right:10px}.jx h3{font-size:23px}
  .tiles{gap:14px}.tile{padding:22px 20px 20px}.tile p{padding-right:84px}.tile-ill{width:68px;right:14px;bottom:62px}
  .logos,.logos.logos-wm{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mq-stop{position:static;margin-bottom:12px}
  .tbl{font-size:14px}.tbl th{width:5.5em}
  .tbl th,.tbl td{padding:12px 4px}
  .mvv dd{font-size:18px}
  .form{padding:20px 16px}
  .ct-pts li{grid-template-columns:5em minmax(0,1fr);font-size:13px}
  .steps{grid-template-columns:minmax(0,1fr);gap:22px}
  .steps li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;padding:0}
  .steps li::before{left:20px;right:auto;top:40px;bottom:-22px;width:1px;height:auto}
  .steps h3{margin-top:6px}.steps p{grid-column:2}
  .acc>summary{font-size:15px;padding:16px 2px}
  .acc-a{font-size:14px}
  .corner-ill{width:64px;top:-6px}
  .rfv{padding:28px 20px 56px}.cfv{padding:24px 20px 48px}
  .hand-tx{font-size:30px}
  .mems{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .vals{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .val-ill{width:96px;height:84px}
  .nums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .num-v{font-size:22px}
  .syss{grid-template-columns:minmax(0,1fr)}
  dl.reqs div{grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 0}
  .job-b{grid-template-columns:minmax(0,1fr)}
  .iv{grid-template-columns:minmax(0,1fr);gap:8px}
  .ft{padding:40px 20px 24px}.ft-g,.ft-r .ft-g{grid-template-columns:minmax(0,1fr);gap:24px}
  .intro{padding:0 20px 64px}.intro-b{padding-top:36px}
  .stages{grid-template-columns:minmax(0,1fr);gap:8px}
  .f-arrow{justify-self:center;transform:rotate(90deg)}
  .hub{grid-template-columns:minmax(0,1fr);gap:6px}
  .hub-ar{grid-template-columns:auto 20px 20px auto;align-items:center;justify-content:center;gap:4px 6px;padding:14px 0}
  .hub-ar svg,.hub-ar.rev svg{width:36px;height:12px;justify-self:center;transform:rotate(90deg);overflow:visible}
  .f3{padding:18px}
  .f3-g{grid-template-columns:minmax(0,1fr)}
  .f3-ar{justify-self:center;transform:rotate(90deg)}
  .f3-r{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}
  .f3-w{font-size:21px}
  .deflist div{grid-template-columns:minmax(0,1fr)}
  .case{grid-template-columns:96px minmax(0,1fr)}
  .spbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);border-top:1px solid var(--line)}
  .spbar .btn{height:46px;font-size:14px;padding:0 10px}
}

/* ── v2（10/23）HOME hado型・新規3ページ */
.vfv{position:relative;height:100vh;min-height:560px;max-height:1080px;background:#000;overflow:hidden}
.vfv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vfv-sp{display:none}
.vfv-lab{position:absolute;left:12px;bottom:12px;z-index:2;background:rgba(255,255,255,.9);color:var(--ink);font-size:11px;font-weight:700;padding:2px 8px;border-radius:2px}
.vfv-scroll{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:#fff;font-family:var(--en);font-size:12px;font-weight:300;letter-spacing:4px;padding-bottom:40px}
.vfv-scroll::after{content:"";position:absolute;left:50%;top:22px;width:1px;height:30px;background:#fff}
.ovwrap{position:relative}.ovwrap>.ovhd{position:absolute;left:0;right:0;top:0;z-index:3;background:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,0))}
.hd.hd-dark{background:transparent;border-bottom-color:rgba(255,255,255,.25)}
.hd.hd-dark .im-logo{filter:invert(1)}
.hd.hd-dark .hnav a{color:#fff}
.hd.hd-dark .menu i{background:#fff}.hd.hd-dark .menu small{color:#fff}
.kv.kv2{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);padding-top:80px;padding-bottom:96px}
.kv-ills{display:flex;align-items:flex-end;justify-content:center;gap:12px}
.kv-ills .ill-a{width:48%}.kv-ills .ill-b{width:42%}
.vm{margin-top:32px;text-align:right}
.vm .en{font-family:var(--en);letter-spacing:.16em}
.mis{text-align:center}
.mis-h{margin-top:14px;font-size:30px;font-weight:700;letter-spacing:.08em;color:var(--ink);line-height:1.6;text-wrap:balance}
.mis-v{margin-top:14px;font-size:15px;color:var(--head)}
.mis-v .en{display:inline-block;margin-right:10px;font-family:var(--en);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--accent-ui)}
.mis .vm{text-align:center}
.mis-l{text-align:left;margin-top:28px}
.mis-lead{margin-top:14px;max-width:40em;color:var(--head)}
.mis-big{font-size:clamp(30px,3.9cqw,56px);line-height:1.4;letter-spacing:.04em;margin-top:22px}
.mis-lead{font-size:16px;line-height:2}
/* v2.18 6段＝ステッパー（上の線＋点＋01〜06）。灰色の箱は使わない */
.m6{margin:48px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 20px}
.m6 li{position:relative;padding-top:28px;font-size:14px;line-height:1.85;font-weight:500;color:var(--ink)}
.m6 li::before{content:"";position:absolute;left:0;right:-20px;top:5px;height:1px;background:var(--line)}
.m6 li:last-child::before{right:0}
.m6 li::after{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;background:var(--accent-ui)}
.m6 li p{margin:0}
.m6-n{display:block;font-family:var(--en);font-size:28px;font-weight:600;line-height:1;letter-spacing:.02em;color:var(--accent-ui);margin-bottom:14px}
.vis{text-align:center}
.vis-y{margin-top:10px;font-family:var(--en);font-size:40px;font-weight:600;color:var(--ink);letter-spacing:.04em;line-height:1.2}
.vis-h{margin-top:10px;font-size:24px;font-weight:700;letter-spacing:.06em}
/* v2.18 10 VALUE: 罫線区切り・英字大見出し・薄い大番号（箱なし） */
.v10s{margin:40px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 72px;border-bottom:1px solid var(--line)}
.v10{position:relative;overflow:hidden;border-top:1px solid var(--line);padding:38px 0 42px;display:flex;flex-direction:column}
.v10-g{position:absolute;right:-6px;top:6px;z-index:0;font-family:var(--en);font-size:128px;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--surface);pointer-events:none;user-select:none}
.v10>*:not(.v10-g){position:relative;z-index:1}
.v10-n{font-family:var(--en);font-size:12px;color:var(--accent-ui);font-weight:600;letter-spacing:.24em}
.v10-en{margin-top:14px;font-family:var(--en);font-size:34px;font-weight:700;letter-spacing:-.01em;line-height:1.05;color:var(--ink)}
.v10 h3{margin-top:12px;font-size:16px;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.v10-d{margin-top:12px;max-width:34em;font-size:14px;line-height:1.95;color:var(--head)}
.ldr{margin-top:32px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px;align-items:start}
.ldr-msg{font-size:18px;font-weight:700;line-height:1.8}
.ldr-t{margin-top:18px;font-size:12px;color:var(--head);font-weight:700}
.ldr-n{font-size:20px;font-weight:700;letter-spacing:.06em}
.ldr-n .en{font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--head);margin-left:8px}
.ldr-c{margin-top:6px;font-size:14px;font-weight:700;color:var(--accent-ui)}
.ldr-p{margin-top:10px;display:grid;gap:4px;font-size:13.5px}
.ldr-hb{margin-top:10px;font-size:12px;color:var(--head);opacity:.8}
.msg2{margin-top:32px;display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:56px;align-items:start}
.msg2-v{margin:0}.msg2-v img{display:block;width:100%;height:auto;border-radius:4px}
.msg-skel{display:grid;gap:14px;margin-top:8px}.msg-skel i{display:block;height:12px;border-radius:2px;background:#E6E7EA}
.msg2 .sign{margin-top:32px}
.prof{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.prof-k{font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--accent-ui)}
.prof .ldr-t{margin-top:8px}
/* v2.39 採用 R-02: 行間を詰めて写真の高さに合わせる（Owner 10/30） */
.rc-msg .msg2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.rc-msg .msg-b{line-height:1.7;font-size:clamp(13.5px,1.28cqi,15px)}.rc-msg .msg-b p+p{margin-top:.9em}.rc-msg .msg-h{margin-bottom:14px}.rc-msg .msg2 .sign{margin-top:22px}
@container site (max-width:760px){.msg2,.rc-msg .msg2{grid-template-columns:minmax(0,1fr);gap:28px}.rc-msg .msg-b{font-size:14.5px;line-height:1.8}}
.dirs{margin-top:32px;display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:24px}
.dirs .ldr-t{margin-top:10px}
.dirs .ldr-n .en{display:block;margin-left:0;margin-top:2px}
.hist{margin-top:32px;border-top:1px solid var(--line)}
.hist li{display:grid;grid-template-columns:7em minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.hy{font-size:22px;font-weight:600;color:var(--accent-ui)}
.hist h3{font-size:16px;font-weight:700}.hist p{margin-top:4px;font-size:14px;color:var(--head)}
.sec.ctab{background:var(--accent-ui);color:#fff}
.cb-in{text-align:center}
.ctab .sh-en{color:#fff}
.cb-h{margin-top:10px;font-size:30px;font-weight:700;letter-spacing:.06em;color:#fff;text-wrap:balance}
.cb-p{margin-top:12px;font-size:14px}
.ctab .tmp{color:var(--ink)}
.cb-btns{margin-top:28px;display:flex;justify-content:center;flex-wrap:wrap;gap:14px}
.btn-inv{background:#fff;color:var(--accent-ui)}
.btn-ghost{border:1px solid #fff;color:#fff;background:transparent}
.btn-ghost small{color:#E3ECFA}
.ctab .flag{color:#FFE1DD}
.ft-g.ft-g4{grid-template-columns:1.3fr 1fr 1fr 1fr}
.ctfv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end}
.ct2{max-width:860px}
.ct2 .ct-dl{margin-top:24px}
@container site (max-width:1000px){.m6{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.m6 li:nth-child(3n)::before{right:0}}
@container site (max-width:760px){
  .vfv-pc{display:none}.vfv-sp{display:block}
  .kv.kv2{grid-template-columns:minmax(0,1fr);padding-top:40px;padding-bottom:56px}
  .kv-ills{justify-content:flex-start}.kv-ills .ill-a{width:42%}.kv-ills .ill-b{width:36%}
  .mis-h{font-size:21px}.mis-big{font-size:30px;line-height:1.5}
  .m6{grid-template-columns:minmax(0,1fr);gap:0}
  .m6 li{padding:0 0 26px 30px}
  .m6 li::before{left:5px;right:auto;top:6px;bottom:-6px;width:1px;height:auto}
  .m6 li:last-child::before{display:none}
  .m6 li:nth-child(3n)::before{right:auto}
  .m6-n{font-size:22px;margin-bottom:6px}
  .v10s{grid-template-columns:minmax(0,1fr);gap:0}.v10{padding:28px 0 30px}.v10-g{font-size:88px;top:10px}.v10-en{font-size:26px}
  .ldr,.ctfv{grid-template-columns:minmax(0,1fr);gap:24px}
  .dirs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hist li{grid-template-columns:4.5em minmax(0,1fr)}
  .cb-h{font-size:22px}
  .cb-btns .btn{width:100%}
  .ft-g.ft-g4{grid-template-columns:minmax(0,1fr)}
  .vis-y{font-size:32px}.vis-h{font-size:19px}
}

/* ── 売れるBUZZメーカー（/services/maker/） */
.mk-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center}
.mk-h1{margin-top:10px;font-size:34px;font-weight:700;line-height:1.5;letter-spacing:.05em;color:var(--ink);word-break:auto-phrase;text-wrap:balance}
.mk-lead{margin-top:16px;font-size:15px;line-height:1.95;color:var(--head);max-width:32em}
.mk-hero .btns{margin-top:24px}
.mk-hero-v{margin:0}.mk-hero-v img{display:block;width:100%;height:auto}
.mk-hero-v figcaption{margin-top:6px;font-size:12px;color:var(--head)}
.mk-ng{margin-top:14px;font-size:11px;color:var(--head);letter-spacing:.02em}
.mk-ng-w{color:#E3ECFA;margin-top:18px}
.mk-p{margin-top:18px;max-width:46em;font-size:15px;line-height:1.95;color:var(--head)}
.mk-nums{margin:28px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mk-nums li{background:var(--surface);border-radius:4px;padding:22px 22px 18px;display:grid;gap:4px}
.mk-nums b{font-size:44px;font-weight:600;line-height:1.1;color:var(--ink);letter-spacing:.02em}
.mk-nums span{font-size:14px;font-weight:700}
.mk-nums small{font-size:12px;color:var(--head);letter-spacing:.02em;line-height:1.6}
.mk-st{text-align:center}
.mk-st-h{font-size:24px;font-weight:700;letter-spacing:.08em;line-height:1.7;color:var(--ink)}
.mk-tick{margin-top:22px;display:flex;justify-content:center;gap:28px;white-space:nowrap;overflow:hidden;font-size:22px;font-weight:700;letter-spacing:.08em;color:var(--accent-ui)}
.mk-tick span:nth-child(2){color:var(--ink)}
.mk-pain{margin-top:36px;display:grid;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);gap:24px;align-items:center}
.mk-pain-c{margin:0;padding:0;list-style:none;display:grid;gap:18px}
.mk-pain-p{margin:0}.mk-pain-p img{display:block;width:100%;height:auto}
.mk-bub{position:relative;background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:14px 18px;font-size:14px;font-weight:700;line-height:1.75}
.mk-bub em{font-style:normal;color:var(--accent-ui)}
.mk-bub-l::after,.mk-bub-r::after{content:"";position:absolute;top:50%;width:12px;height:12px;background:#fff;border:1.5px solid var(--ink);transform:translateY(-50%) rotate(45deg)}
.mk-bub-l::after{right:-7.5px;border-left:0;border-bottom:0}
.mk-bub-r::after{left:-7.5px;border-right:0;border-top:0}
.mk-fx{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.1fr);align-items:center;gap:12px}
.mk-fx p{background:var(--surface);border-radius:4px;padding:14px 16px;text-align:center;display:grid;gap:2px}
.mk-fx b{font-size:16px;letter-spacing:.06em;color:var(--ink)}
.mk-fx span{font-size:12px;color:var(--head)}
.mk-fx i{font-style:normal;font-family:var(--jp);font-size:28px;font-weight:700;line-height:1;color:var(--accent-ui)}
.mk-fx .mk-fx-r{background:var(--accent-ui)}.mk-fx-r b,.mk-fx-r span{color:#fff}
.mk-ba{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:12px;align-items:stretch}
.mk-ba-arw{align-self:center}
.mk-ba-c{border:1px solid var(--line);border-radius:6px;padding:20px}
.mk-ba-after{border-color:var(--accent-ui);box-shadow:0 0 0 1px var(--accent-ui) inset}
.mk-ba-k{font-size:12px;font-weight:600;letter-spacing:.18em;color:var(--head)}
.mk-ba-after .mk-ba-k{color:var(--accent-ui)}
.mk-ba-f{margin-top:4px;font-size:20px;font-weight:600;color:var(--ink)}
.mk-ba-f span{font-family:var(--jp);font-size:13px;font-weight:700;margin-left:4px}
.mk-ba-t{margin-top:12px;font-size:14px;font-weight:700}
.mk-ba-d{margin-top:4px;font-size:12.5px;line-height:1.8;color:var(--head)}
.mk-ba-arw{display:flex;justify-content:center;font-size:30px;font-weight:700;line-height:1;color:var(--accent-ui)}
.mk-mx{margin:12px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.mk-mx li{aspect-ratio:16/9;background:#EEF0F3;border-radius:3px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:700;line-height:1.3;padding:2px;color:#fff}
.mk-mx li.on{background:var(--accent-ui)}
.mk-ba-c:not(.mk-ba-after) .mk-mx li.on{background:var(--head)}
.mk-tbl{margin-top:24px;width:100%;border-collapse:collapse;font-size:14px}
.mk-tbl th,.mk-tbl td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:middle}
.mk-tbl thead th{font-size:12px;color:var(--head);font-weight:700;border-bottom:1px solid var(--ink)}
.mk-tbl tbody th{font-weight:700;white-space:nowrap;width:9em}
.mk-tc{white-space:nowrap;width:7em;font-size:18px;font-weight:600}.mk-tc small{font-size:12px;margin-left:4px;color:var(--head);letter-spacing:.08em}
.mk-chips{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.mk-chips li{font-size:12px;line-height:1.5;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.mk-sample{margin-top:14px;text-align:right;font-size:12px;font-weight:500;color:var(--head)}
.mk-vts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.mk-vt-h{margin-top:22px;font-size:15px;font-weight:700}
.mk-vt .mk-tbl{margin-top:8px;font-size:12.5px;table-layout:fixed}
.mk-vt .mk-tbl th:nth-child(1){width:4.8em}.mk-vt .mk-tbl th:nth-child(3){width:4.4em}
.mk-n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mk-vt thead th:nth-child(n+3){text-align:right}
.mk-bar{display:block;height:6px;background:#EEF0F3;border-radius:3px;margin-bottom:4px}.mk-bar i{display:block;height:100%;background:var(--accent-ui);border-radius:3px}
.mk-best{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;color:#fff;background:var(--accent-ui);border-radius:3px;padding:0 5px;vertical-align:2px}
.mk-pb{margin:32px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.mk-pb li{position:relative;background:var(--accent-ui);color:#fff;padding:16px 26px 16px 18px;display:grid;gap:2px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%)}
.mk-pb li:first-child{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
.mk-pb li:nth-child(2){background:#3A6CC8}.mk-pb li:nth-child(3){background:#78A5EA;color:var(--ink)}.mk-pb li:nth-child(4){background:#6C9BE6}.mk-pb li:nth-child(5){background:#8DB1EC}
.mk-pb span{font-size:12px;font-weight:600;letter-spacing:.14em;opacity:.9}
.mk-pb b{font-size:16px;letter-spacing:.06em}
.mk-pb small{font-size:12px;line-height:1.6}
.mk-pb .tmp{color:var(--ink)}
.clean .mk-pb .tmp,.clean .mk-pb .tmp::after{color:#fff}
.mk-pb-t{margin-top:14px;font-size:12.5px;color:var(--head)}.mk-pb-t b{margin-right:10px;color:var(--ink);font-size:14px}
.mk-fl{margin:28px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:fl}
.mk-fl li{position:relative;background:#fff;border-radius:6px;padding:20px 18px}
.mk-fl li:not(:last-child)::after{content:"";position:absolute;right:-11px;top:50%;width:8px;height:8px;border-top:2px solid var(--accent-ui);border-right:2px solid var(--accent-ui);transform:translateY(-50%) rotate(45deg)}
.mk-fl-n{font-size:22px;font-weight:600;color:var(--accent-ui)}
.mk-fl h3{margin-top:6px;font-size:16px;font-weight:700}.mk-fl h3 small{display:block;font-size:12px;font-weight:500;color:var(--head)}
.mk-fl p{margin-top:8px;font-size:13px;line-height:1.8;color:var(--head)}
.mk-c{justify-content:center;margin-top:28px}
.mk-gt{margin-top:28px;background:#fff;border-radius:6px;padding:16px}
.mk-wk,.mk-gs{margin:0;padding:0;list-style:none}
.mk-wk{display:grid;grid-template-columns:repeat(60,minmax(0,1fr));margin-left:28px}
.mk-wk li{font-size:12px;font-weight:700;color:var(--head);text-align:center;border-left:1px solid var(--line);padding-bottom:6px}
.mk-wk-s{display:none}
.mk-gs{display:grid;gap:6px;margin-top:4px}
.mk-gr{display:grid;grid-template-columns:28px repeat(60,minmax(0,1fr));align-items:center;height:18px}
.mk-gr .mk-gb{grid-row:1;height:14px;border-radius:2px}
.mk-gr .mk-gb{margin-left:1px}
.mk-gl{grid-column:1;font-size:11px;font-weight:600;color:var(--head)}
.mk-g-rs{background:var(--head)}.mk-g-sc{background:var(--accent-ui)}.mk-g-rg{background:#A9C2EE}.mk-g-pr{background:#5289E0}.mk-g-dl{background:var(--ink)}.mk-g-rv{background:var(--band);box-shadow:inset 0 0 0 1px #9DB7E6}
.mk-lg{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--head)}
.mk-lg li{display:flex;align-items:center;gap:6px}.mk-lg i{display:inline-block;width:18px;height:10px;border-radius:2px}
.mk-cy{margin-top:18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:15px;font-weight:700}
.mk-cy>b{font-size:40px;font-weight:600;color:var(--accent-ui);line-height:1}
.mk-cy span{font-weight:500;color:var(--head)}.mk-cy span b{color:var(--ink);font-weight:700}
@container site (max-width:1000px){
  .mk-vts{grid-template-columns:minmax(0,1fr)}
  .mk-fl{grid-template-columns:repeat(2,minmax(0,1fr))}.mk-fl li::after{display:none}
  .mk-pb{grid-template-columns:minmax(0,1fr);gap:3px}
  .mk-pb li,.mk-pb li:first-child{clip-path:none;padding:12px 16px;grid-template-columns:5.5em 7.5em minmax(0,1fr);align-items:baseline}
}
@container site (max-width:760px){
  .mk-hero{grid-template-columns:minmax(0,1fr);gap:24px}
  .mk-h1{font-size:23px}
  .mk-nums{grid-template-columns:minmax(0,1fr)}.mk-nums b{font-size:36px}
  .mk-st-h{font-size:18px}.mk-tick{font-size:16px;justify-content:center}.mk-tick span:nth-child(n+2){display:none}
  .mk-pain{grid-template-columns:minmax(0,1fr);gap:12px}
  .mk-pain-p{order:-1;width:84px;margin:0 auto}
  .mk-bub-l::after,.mk-bub-r::after{display:none}
  .mk-fx{grid-template-columns:minmax(0,1fr);gap:4px}.mk-fx i{text-align:center;font-size:20px}
  .mk-ba{grid-template-columns:minmax(0,1fr);gap:8px}.mk-ba-arw{transform:rotate(90deg)}
  .mk-mx li{font-size:8px;line-height:1.2;aspect-ratio:4/3;word-break:break-all;overflow:hidden}
  .mk-tbl{font-size:13px}.mk-tbl tbody th{width:auto;white-space:normal}.mk-tc{width:5em;font-size:15px}.mk-tc small{display:none}
  .mk-vt .mk-tbl{font-size:12px}.mk-per{display:none}.mk-vt .mk-tbl th:nth-child(1){width:4.2em}.mk-vt .mk-tbl th:nth-child(3){width:3.6em}
  .mk-vt .mk-tbl th,.mk-vt .mk-tbl td{padding:8px 4px}
  .mk-pb li,.mk-pb li:first-child{grid-template-columns:minmax(0,1fr)}
  .mk-fl{grid-template-columns:minmax(0,1fr)}
  .mk-gt{padding:12px 10px}
  .mk-wk{margin-left:16px}.mk-gr{grid-template-columns:16px repeat(60,minmax(0,1fr));height:12px}.mk-gr .mk-gb{height:10px}
  .mk-wk-l{display:none}.mk-wk-s{display:inline;font-size:12px}
  .mk-gl{font-size:12px}
}

/* ── 事業紹介 v3.1（ハブ）: 1事業=1ブロック */
.svb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:56px;align-items:center}
.svb.svb-1{grid-template-columns:minmax(0,1fr)}
.svb-n{font-size:15px;font-weight:600;letter-spacing:.2em;color:var(--accent-ui)}
.svb-en{margin-top:6px;font-size:clamp(48px,5.6cqw,80px);font-weight:700;line-height:.95;letter-spacing:-.01em;color:var(--ink)}
.svb .pill{margin-top:14px}
.svb-h{margin-top:14px;font-size:20px;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.svb-h small{display:block;margin-top:2px;font-size:13px;font-weight:500;color:var(--head)}
.svb .hbody{margin-top:18px}
.svb-c{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.svb-c li{font-size:13px;font-weight:700;letter-spacing:.04em;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.svb .tile-nt{margin-top:10px}
.svb .hvm{text-align:left;margin-top:28px}
.svb-v{margin:0}.svb-v img{display:block;width:100%;height:auto}
.mk-strong{margin-top:10px;font-family:var(--jp);font-size:clamp(36px,3.6cqw,52px);font-weight:700;line-height:1.35;letter-spacing:.04em;color:var(--ink);word-break:auto-phrase;text-wrap:balance}
.sh.sh-sub{margin-top:40px}.sh-sub .sh-ja{font-size:24px}
@container site (max-width:760px){.mk-strong{font-size:28px}.sh-sub .sh-ja{font-size:19px}}
.mk-why-h{margin-top:56px;font-size:20px;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.mk-why-h+.whys{margin-top:20px}
@container site (max-width:760px){.svb{grid-template-columns:minmax(0,1fr);gap:28px}.svb-en{font-size:40px}.svb-v{order:-1}}
/* ── HOME v3（hado密度）: 英字大見出し＋和小ラベル＋本文1〜4行＋VIEW MORE・境界は余白だけ */
.sec.hsec{padding:120px 40px}
.hx-en{margin:0;font-size:clamp(72px,8.3cqw,120px);font-weight:700;line-height:.95;letter-spacing:-.01em;color:var(--ink)}
.hx-ja{margin-top:16px;font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
.hbody{margin-top:28px;max-width:460px;font-size:15px;font-weight:700;line-height:1.8;letter-spacing:.02em;color:var(--ink)}  /* v2.19（10/28 Owner「文字統一」）: H-02 本文（.hst3-b）と同じ 15px/700/1.8/.02em/ink */
.hgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:40px;align-items:end}
.hgrid .hbody{margin-top:0}
.hph{margin-top:48px}
.hvm{margin-top:40px;text-align:right}
.hvm a{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;letter-spacing:.06em;color:var(--ink)}
.hvm svg{width:16px;height:16px}
.hst{text-align:left}
.hst h1{margin:0;display:grid;gap:22px}
.hst-en{display:grid;font-size:clamp(64px,8.3cqw,120px);font-weight:700;line-height:.95;letter-spacing:-.01em;color:var(--ink)}
.hst-en .ac{color:var(--accent)}
.hst-ja{font-size:28px;font-weight:700;letter-spacing:.08em;color:var(--ink)}
.hst-lab{margin-top:10px;font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--head)}
.hsv{margin:24px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.hsv a{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--line);font-size:17px;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.hsv svg{width:16px;height:16px;color:var(--accent-ui)}
.hwk{margin:40px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hwk a{display:block}
.hwk-tag{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--accent-ui);border:1px solid var(--accent-ui);border-radius:999px;padding:1px 10px}
.hrc{position:relative;min-height:600px;display:flex;align-items:flex-end;color:#fff}
.hrc-bg{position:absolute;inset:0;background:#B8BCC3}
.hrc-bg::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.hrc-in{position:relative;width:100%;padding:0 40px 64px}
.hrc .hx-en,.hrc .hx-ja,.hrc .hvm a{color:#fff}
.hrc-p{margin-top:20px;font-size:28px;font-weight:700;line-height:1.5;letter-spacing:.02em}
.hrc-p .tmp{color:var(--ink)}
.hrc-s{display:block;margin-top:16px;font-size:13px;font-weight:700;letter-spacing:.12em;opacity:.85}
.clean .hrc-p .tmp{color:#fff}
.hct{position:relative;display:block;background:radial-gradient(circle at 90px 50%,rgba(255,255,255,.12) 0 210px,transparent 211px),var(--accent-ui);color:#fff;padding:120px 40px}
.hct-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hct .hx-en{font-size:64px;color:#fff}.hct .hx-ja{color:#fff}
.hct-p{margin-top:20px;font-size:24px;font-weight:700;letter-spacing:.03em}
.hct-arw{flex:none;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--accent-ui);transition:transform var(--t-1) var(--ease-in)}
.hct-arw svg{width:20px;height:20px}
.hct:hover .hct-arw{transform:scale(1.1)}
@container site (max-width:760px){
  .sec.hsec{padding:80px 20px}
  .hx-en,.hst-en{font-size:44px}
  .hst-ja{font-size:22px}
  .hgrid{grid-template-columns:minmax(0,1fr);gap:24px}
  .hph{margin-top:32px}
  .hwk{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .hrc{min-height:440px}.hrc-in{padding:0 20px 48px}.hrc-p{font-size:20px}
  .hct{padding:80px 20px}.hct .hx-en{font-size:44px}.hct-p{font-size:17px}.hct-arw{width:52px;height:52px}
}

/* ── HOME v4（hadoにもっと寄せる） */
.hst2{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.hst2 .hbody{margin-top:0;justify-self:end}
@container site (max-width:760px){.hst2 .hbody{justify-self:start}}
.hsb{margin-top:96px;display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:56px;align-items:center}
.hsb.hsb-r{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}
.hsb-en{margin-top:6px;font-size:clamp(56px,6.6cqw,96px);font-weight:700;line-height:.95;letter-spacing:-.01em;color:var(--ink)}
.hsb .pill{margin-top:14px}
.hsb-h{margin-top:14px;font-size:20px;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.hsb .hbody{margin-top:14px}
.hsb .hvm{text-align:left;margin-top:28px}
.hsb-v{margin:0}.hsb-v img{display:block;width:100%;height:auto}
.hcases{margin:48px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
/* v2.16 WORKS カード＝button・サムネ9:16・クリックで事例詳細（dialog） */
.hcs-btn{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit}
.hcs-btn>span{display:block}
.hcs-btn .hwk-tag{display:inline-block}
.hcs-im{position:relative;aspect-ratio:9/16;border-radius:6px;overflow:hidden;background:#ECEDEF}
.hcs-im img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--t-3) var(--ease-in)}
.hcs-btn:hover .hcs-im img,.hcs-btn:focus-visible .hcs-im img{transform:scale(1.04)}
.hcs-btn:focus-visible{outline:2px solid var(--accent-ui);outline-offset:4px;border-radius:6px}
.hcs-more{margin-top:10px;display:inline-flex!important;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--ink)}
.hcs-more svg{width:14px;height:14px;color:var(--accent-ui)}
html.wk-lock,html.wk-lock body{overflow:hidden}
.wk-dlg{padding:0;border:0;background:transparent;max-width:min(720px,calc(100vw - 32px));width:720px;max-height:calc(100vh - 48px);overflow:visible;color:var(--ink);font-family:var(--jp)}
.wk-dlg::backdrop{background:rgba(23,24,30,.62)}
.wk-dlg[open]{animation:wkin .3s var(--ease-in)}
@keyframes wkin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.wk-dlg[open]{animation:none}}
.wk-pn{position:relative;background:#fff;border-radius:10px;display:grid;grid-template-columns:220px minmax(0,1fr);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 64px rgba(0,0,0,.28)}
.wk-im{margin:0;background:#ECEDEF;align-self:stretch}
.wk-im img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;position:sticky;top:0}
.wk-b{padding:28px 32px 26px;font-size:14px;line-height:1.85;letter-spacing:.03em}
.wk-x{position:absolute;right:12px;top:12px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.wk-x svg{width:20px;height:20px;transform:rotate(45deg)}
.wk-x:focus-visible{outline:2px solid var(--accent-ui);outline-offset:2px}
.wk-meta{margin:0}
.wk-t{margin-top:8px;font-size:22px;font-weight:700;line-height:1.5;padding-right:40px}
.wk-st{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:18px}
.wk-st>li{border-top:1px solid var(--line);padding-top:14px}
.wk-s{display:flex;align-items:baseline;gap:10px;font-size:13px;font-weight:600;color:var(--accent-ui);letter-spacing:.1em}
.wk-s span{font-family:var(--jp);font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.06em}
.wk-h{margin-top:6px;font-size:16px;font-weight:700;line-height:1.6}
.wk-p{margin-top:4px;font-size:13.5px;color:var(--head);line-height:1.85}
.wk-k{margin-top:12px;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--head)}
.wk-dl{margin:12px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wk-dl div{background:var(--surface);border-radius:4px;padding:8px 12px}
.wk-dl dt{font-size:12px;font-weight:700;color:var(--head)}.wk-dl dd{margin:0;font-size:13.5px;font-weight:700;line-height:1.6}
.wk-rs{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.wk-rs li{display:grid;gap:0;background:var(--band);border-radius:4px;padding:10px 14px}
.wk-rs span{font-size:12px;font-weight:700;color:var(--head)}
.wk-rs b{font-size:22px;font-weight:700;line-height:1.4;color:var(--accent-ui)}
.wk-rs small{font-size:12px;color:var(--head)}
.wk-ng{margin-top:16px;font-size:12px;color:var(--head)}
@media (max-width:760px){
  .wk-dlg{width:100vw;max-width:100vw;height:100%;max-height:100%;margin:0}
  .wk-pn{grid-template-columns:minmax(0,1fr);border-radius:0;height:100%;max-height:100%}
  .wk-im{display:flex;justify-content:center;padding:56px 0 0;background:#fff}.wk-im img{position:static;width:46%;border-radius:6px}
  .wk-b{padding:18px 20px 32px}
  .wk-t{font-size:19px;padding-right:0}
  .wk-dl{grid-template-columns:minmax(0,1fr)}
}
.hcs .hwk-tag{margin-top:12px}
.hcs-n{margin-top:8px;font-size:14px;font-weight:700;color:var(--ink)}
.hcs-r{margin-top:2px;font-size:15px;font-weight:700;line-height:1.6;color:var(--accent-ui)}
.hcases+.mk-ng{margin-top:20px}
.nw{margin:40px 0 0;padding:0;list-style:none;border-top:1px solid #D8D8D8;max-width:990px}
.nw a{display:grid;grid-template-columns:4.5em 7em minmax(0,1fr);align-items:center;gap:20px;padding:22px 4px;border-bottom:1px solid #D8D8D8;color:var(--ink);transition:background-color .2s}
.nw a:hover{background:rgba(58,108,200,.04)}
.nw-d{display:grid;line-height:1.1}
.nw-y{font-size:13px;color:var(--head)}
.nw-m{font-size:22px;font-weight:600;letter-spacing:.06em}.nw-m small{font-size:12px;font-family:var(--jp);margin-left:2px}
.nw-c{justify-self:start;font-size:12px;font-weight:700;color:var(--accent-ui);border:1px solid var(--accent-ui);border-radius:999px;padding:2px 12px}
.nw-t{font-size:15px;font-weight:700;line-height:1.7}
/* 売れるBUZZ AI の画面（ノートPC） */
.lap{margin:0}
.lap-scr{background:#1d1d22;border-radius:14px 14px 0 0;padding:2.2%;box-shadow:0 18px 40px rgba(38,37,45,.18)}
.lap-base{height:14px;margin:0 -5%;background:linear-gradient(#DADCE0,#B9BCC2);border-radius:0 0 12px 12px;position:relative}
.lap-base::after{content:"";position:absolute;left:42%;right:42%;top:0;height:5px;background:#A6A9AF;border-radius:0 0 6px 6px}
.ba{aspect-ratio:16/10;display:grid;grid-template-columns:22% minmax(0,1fr);background:#fff;overflow:hidden;border-radius:3px;font-size:clamp(5px,.62cqw,9px);line-height:1.4;color:#2B2F3A;letter-spacing:0}
.ba-side{background:#171C3A;color:#C9CDE6;padding:1.4em 1em;display:flex;flex-direction:column;gap:1em;min-width:0}
.ba-logo b{display:block;color:#fff;font-family:var(--en);font-size:1.25em;letter-spacing:.1em}.ba-logo span{font-size:.9em;color:#9AA0C8}
.ba-sel{display:grid;gap:.4em}.ba-sel span{display:block;background:rgba(255,255,255,.08);border-radius:4px;padding:.3em .6em}
.ba-sel span::after{content:" ▾";opacity:.6}
.ba-nav{margin:0;padding:0;list-style:none;display:grid;gap:.15em}
.ba-nav li{padding:.25em .6em;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ba-nav .g{color:#fff;font-weight:700;margin-top:.3em}
.ba-nav .sub{padding-left:1.4em}
.ba-nav .on{background:linear-gradient(90deg,rgba(255,92,147,.3),rgba(155,92,246,.3));color:#fff}
.ba-main{padding:1.6em 1.8em;min-width:0;background:#F7F8FB}
.ba-top{display:flex;align-items:center;justify-content:space-between}
.ba-top p{font-size:1.6em;font-weight:700;color:#171C3A}
.ba-pl{display:inline-block;color:#fff;font-weight:700;background:linear-gradient(90deg,#FF5C93,#9B5CF6);border-radius:999px;padding:.35em 1em;white-space:nowrap}
.ba-tabs{margin:1.2em 0 0;padding:0;list-style:none;display:flex;gap:1.6em;border-bottom:1px solid #E3E5EC}
.ba-tabs li{padding:.5em 0;color:#7A8094}
.ba-tabs .on{color:#171C3A;font-weight:700;box-shadow:inset 0 -2px 0 #9B5CF6}
.ba-cards{margin:1.4em 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1em}
.ba-cards li{background:#fff;border:1px solid #E3E5EC;border-radius:6px;padding:1em;display:grid;gap:.5em}
.ba-cards b{font-size:1.2em;color:#171C3A}
.ba-l{display:block;height:.5em;border-radius:2px;background:#E8EAF0}.ba-l.s{width:60%}
.ba-cards p{color:#7A8094}
.ba-cards div{display:flex;gap:.6em;align-items:center}
.ba-ed{color:#7A8094;border:1px solid #E3E5EC;border-radius:999px;padding:.3em .9em}
@container site (max-width:1000px){.hcases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container site (max-width:760px){
  .hst2{grid-template-columns:minmax(0,1fr);gap:24px}
  .hsb,.hsb.hsb-r{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:64px}
  .hsb.hsb-r .hsb-v{order:2}
  .hsb-en{font-size:44px}
  .hcases{gap:14px}.hcs-r{font-size:13px}
  .nw a{grid-template-columns:3.6em minmax(0,1fr);gap:6px 14px}.nw-c{grid-column:2}.nw-t{grid-column:2;font-size:14px}.nw-d{grid-row:1/3}
  .ba{font-size:clamp(4px,1.25cqw,7px)}
}

/* ── v2.8 M-04 マトリクス（見出し付きグリッド・セル内に文字なし） */
.mx{margin-top:14px;padding-top:26px}
.mx-g{display:grid;grid-template-columns:auto repeat(6,56px);gap:6px;align-items:center;justify-content:start}
.mx-ch{font-size:12px;font-weight:700;line-height:1.3;text-align:center;color:var(--head);word-break:break-all;align-self:end}
.mx-rh{font-size:12px;font-weight:700;line-height:1.3;color:var(--head);padding-right:6px;white-space:nowrap}
.mx-x{position:relative;width:56px;height:56px;background:#F5F5F5;border-radius:3px}
.mx-x.on{background:#3A6CC8}.mx-x.on.bf{background:#26252D}
.mx-lab{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);font-size:12px;font-weight:700;line-height:1;white-space:nowrap;color:#26252D;background:#fff;border:1px solid #26252D;border-radius:999px;padding:3px 8px}
.mx-w{position:relative;display:block;width:56px;height:56px}.mx-w .mx-x{display:block}
.mx-ln{position:absolute;left:50%;bottom:100%;width:1px;height:8px;background:#26252D}
.mx-bf .mx-g{margin-top:4px}
.mx-leg{margin-top:10px;text-align:right;font-size:12px;font-weight:700;color:var(--head)}
.mx-leg i{display:inline-block;width:10px;height:10px;background:#3A6CC8;margin-right:4px;vertical-align:-1px}
@container site (max-width:760px){.mx-g{grid-template-columns:auto repeat(6,36px)}.mx-x,.mx-w{width:36px;height:36px}.mx-ch,.mx-rh{font-size:12px}}

/* ── v2.9 キャラ「ボン」（採用サイトだけ）: ロゴの左・高さ＝ロゴの高さ×1.6・間隔＝ロゴの高さ×0.4・回転/輪郭線なし */
.logo.has-bon{gap:0}
.logo.has-bon .bon{display:block;flex:none;width:auto;height:calc(148px * 58 / 363 * 1.6);margin-right:calc(148px * 58 / 363 * .4)}
.logo.has-bon .bon-s{display:none}
.logo.has-bon .rlab{margin-left:10px}
@container site (max-width:760px){
  .logo.has-bon .bon{height:calc(104px * 58 / 363 * 1.6);margin-right:calc(104px * 58 / 363 * .4)}
  .logo.has-bon .bon-l{display:none}.logo.has-bon .bon-s{display:block}
}

/* ── 写真帯（2段・逆方向・M4）＝会社情報 CO-01b だけ（v2.14） */
.pm{position:relative;padding:36px 0 64px;overflow:hidden}
.sec.hsec>.pm{margin-left:-40px;margin-right:-40px}
@container site (max-width:760px){.sec.hsec>.pm{margin-left:-20px;margin-right:-20px}}
.pm-lab{font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--head);margin-bottom:16px}
.pm-row{display:flex;gap:12px;width:max-content;margin-top:12px;will-change:transform}
.pm-trk{display:flex;gap:12px;margin:0;padding:0;list-style:none}
.pm-trk li{height:320px;border-radius:4px;overflow:hidden;background:#ECEDEF;flex:none}
.pm-trk img{display:block;width:100%;height:100%;object-fit:cover}
.pm-stop{position:absolute;right:40px;bottom:20px;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:1px solid var(--ink);border-radius:999px;background:rgba(255,255,255,.9);font-size:12px;font-weight:700;cursor:pointer}
.pm-stop svg{width:11px;height:11px}
.pm-grid{display:none;margin:0;padding:0 40px;list-style:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pm-grid li{border-radius:4px;overflow:hidden;background:#ECEDEF;aspect-ratio:4/3!important}
.pm-grid img{display:block;width:100%;height:100%;object-fit:cover}
@container site (max-width:760px){.pm-trk li{height:200px}.pm-grid{padding:0 20px;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion: reduce){.pm-row{display:none}.pm-grid{display:grid}.pm-stop{display:none}}

/* ── v2.11 SPの横スライダー（M8: 手動のみ・scroll-snap）＝HOME WORKS・採用 PEOPLE。表は横スクロール容器（.xs）の中だけ */
.sl-pos{display:none}
.xs{max-width:100%}
.xs.is-ovf{overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.sl:focus-visible{outline:2px solid var(--accent-ui);outline-offset:4px}
@container site (max-width:760px){
  .sl{display:flex!important;grid-template-columns:none!important;gap:12px!important;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:-20px;margin-right:-20px;padding:0 20px 6px;scroll-padding:0 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .sl::-webkit-scrollbar{display:none}
  .sl>li{flex:0 0 78cqw;scroll-snap-align:start;min-width:0}
  .sl-pos{display:block;margin-top:12px;text-align:center;font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--head)}
  .xs{overflow-x:auto}
}

/* ── v2.8 下層FVの背景（煩悩の漢字・静止）＋通し番号 */
.sec.has-fvk{overflow:hidden}
.has-fvk>.in,.has-fvk>div:not(.fvk){position:relative;z-index:1}
.fvk{position:absolute;inset:0;z-index:0;pointer-events:none}
.fvk span{position:absolute;font-family:var(--jp);font-weight:700;color:var(--ink);line-height:1;white-space:nowrap;font-size:calc(var(--s)*1px)}
.fvk .fvk-n{left:auto;right:28px;top:8px;font-family:var(--en);font-size:160px;letter-spacing:-.02em;opacity:.06}
@container site (max-width:760px){.fvk span{font-size:calc(var(--s)*.5px)}.fvk .fvk-n{font-size:88px;right:12px}}

/* ── v2.16 売れるBUZZ AI（/services/ai/）: ページはA案トークン・製品配色は画面モックの中だけ */
.ai-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:56px;align-items:center;padding:24px 0 36px}
.ai-h1{margin-top:10px;font-size:clamp(34px,4.5cqw,64px);font-weight:700;line-height:1.3;letter-spacing:.02em;color:var(--ink);word-break:keep-all}
.ai-hero .mk-lead{max-width:30em}
.ai-hero .mk-lead+.mk-lead{margin-top:12px}
.ai-hero-v{position:relative;padding:36px 0 40px}
.ai-hero-v .lap{position:relative;z-index:1}
.ai-fgs{position:absolute;inset:0;z-index:2;pointer-events:none}
.ai-fg{position:absolute;background:#fff;border-radius:8px;box-shadow:0 10px 28px rgba(38,37,45,.16),0 1px 3px rgba(38,37,45,.08);padding:12px 14px;font-size:11px;line-height:1.5;letter-spacing:0;color:#171C3A}
.ai-grad{display:inline-block;color:#fff;font-weight:700;background:linear-gradient(90deg,#FF5C93,#9B5CF6);border-radius:999px;padding:2px 10px;white-space:nowrap;font-size:10.5px}
.ai-fg-chat{left:-6%;bottom:6%;width:250px;display:grid;gap:6px}
.ai-fg-k{font-size:10px;font-weight:700;color:#7A8094;letter-spacing:.06em}
.ai-chip{justify-self:start;background:#F3F1FE;color:#4B3BA8;border:1px solid #E2DCFB;border-radius:14px 14px 14px 4px;padding:5px 10px;font-weight:700;font-size:11px}
.ai-fg-in{margin-top:2px;display:flex;align-items:center;gap:8px;border:1px solid #E3E5EC;border-radius:999px;padding:4px 4px 4px 12px}
.ai-fg-in i{flex:1;height:6px;border-radius:3px;background:#EEF0F4}.ai-fg-in b{font-size:10px;color:#fff;background:#171C3A;border-radius:999px;padding:2px 10px}
.ai-fg-card{right:-5%;top:50%;width:188px;display:grid;gap:6px}
.ai-fg-t{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700}.ai-fg-t span{font-size:10px;font-weight:500;color:#7A8094}
.ai-ln{display:block;height:6px;border-radius:3px;background:#E8EAF0}.ai-ln.s{width:62%}
.ai-fg-tags{display:flex;gap:4px}.ai-fg-tags span{font-size:10px;font-weight:700;color:#5E6475;background:#F3F5F9;border-radius:4px;padding:1px 6px}
.ai-fg-act{display:flex;gap:6px;align-items:center}.ai-ed{font-size:10px;color:#7A8094;border:1px solid #E3E5EC;border-radius:999px;padding:1px 9px}
.ai-fg-hit{right:-3%;top:2%;width:206px}
.ai-fg-hk{display:flex;justify-content:space-between;align-items:center}.ai-fg-hk small{font-size:10px;color:#7A8094}
.ai-fg-hb{margin-top:8px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center}
.ai-th{display:block;width:34px;aspect-ratio:9/16;border-radius:4px;background:linear-gradient(160deg,#C9D3E5,#8FA3C8)}
.ai-fg-ht{font-size:12px;font-weight:700}.ai-fg-hm{margin-top:2px;display:flex;gap:6px;align-items:baseline}.ai-fg-hm b{font-size:13px}.ai-fg-hm em{font-style:normal;font-size:11px;font-weight:700;color:#1F9D6B}
.ai-pbs{margin:32px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ai-pbs li{background:var(--surface);border-top:3px solid var(--accent-ui);border-radius:4px;padding:26px 24px;display:grid;gap:14px;align-content:start}
.ai-ico{width:44px;height:44px}
.ai-pbs p{font-size:16px;font-weight:700;line-height:1.75;letter-spacing:.03em;color:var(--ink)}
.ai-strong{display:grid;gap:6px}
.ai-st-en{font-family:var(--en);font-size:clamp(22px,2.2cqw,30px);font-weight:600;letter-spacing:.06em;line-height:1.3;color:var(--accent-ui)}
.ai-eq{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center;max-width:880px}
.ai-eq>i{font-style:normal;font-family:var(--en);font-size:30px;font-weight:600;line-height:1;color:var(--accent-ui)}
.ai-eq-t{background:#fff;border:1.5px solid var(--accent-ui);border-radius:8px;padding:18px 12px;text-align:center;display:grid;gap:4px}
.ai-eq-t b{font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
.ai-eq-t span{font-size:13px;font-weight:700;color:var(--head)}
.ai-eq-t.ai-eq-ai{background:var(--accent-ui)}.ai-eq-ai b,.ai-eq-ai span{color:#fff}
.ai-eq+.mk-p{margin-top:32px}.ai-eq~.mk-p+.mk-p{margin-top:14px}
.ai-loop-w{margin:8px auto 0;max-width:620px}
.ai-loop{display:block;width:100%;height:auto;overflow:visible}
.ai-loop .lp-l{font-family:var(--jp);font-size:22px;font-weight:700;fill:var(--ink)}
.ai-loop .lp-n{font-family:var(--en);font-size:18px;font-weight:600;fill:#3A6CC8;text-anchor:middle}
.ai-loop .lp-c{font-family:var(--jp);font-size:22px;font-weight:700;fill:#fff;text-anchor:middle}
.ai-frs{margin:40px 0 0;padding:0;list-style:none;display:grid;gap:72px}
.ai-fr{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:56px;align-items:center}
.ai-fr:nth-child(even) .ai-fv{order:2}
.ai-ft-n{font-size:64px;font-weight:600;line-height:1;letter-spacing:-.01em;color:var(--accent-ui)}
.ai-ft-t h3{margin-top:14px;font-size:22px;font-weight:700;line-height:1.5;letter-spacing:.03em;color:var(--ink);word-break:auto-phrase;text-wrap:balance}
.ai-ft-b{margin-top:12px;font-size:15px;font-weight:700;line-height:1.7;color:#2F5DB3}
.ai-ft-p{margin-top:12px;font-size:15px;line-height:1.95;color:var(--head)}
/* 画面モック（製品配色: 濃紺サイドバー・白本体・ピンク→紫のピル） */
.ap{background:#fff;border-radius:10px;box-shadow:0 14px 36px rgba(38,37,45,.14),0 1px 3px rgba(38,37,45,.08);overflow:hidden}
.ap-in{display:grid;grid-template-columns:44px minmax(0,1fr);font-size:12px;line-height:1.5;letter-spacing:0;color:#171C3A}
.ap-side{background:#171C3A;display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 0}
.ap-side b{color:#fff;font-family:var(--en);font-size:14px;margin-bottom:6px}
.ap-side i{display:block;width:18px;height:18px;border-radius:5px;background:rgba(255,255,255,.14)}.ap-side i.on{background:linear-gradient(135deg,#FF5C93,#9B5CF6)}
.ap-main{padding:18px 20px;background:#F7F8FB;display:grid;gap:12px;align-content:start;min-width:0}
.ap-hd{display:flex;justify-content:space-between;align-items:center}.ap-hd p{font-size:15px;font-weight:700}
.ap-hd .ai-grad{font-size:12px;padding:4px 16px}
.ap-tab{font-size:11px;font-weight:700;color:#171C3A;border-bottom:2px solid #9B5CF6;padding-bottom:2px}
.ap-cond{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ap-cond p{background:#fff;border:1px solid #E3E5EC;border-radius:6px;padding:6px 10px;display:grid;min-width:0}
.ap-cond small{font-size:10px;color:#7A8094}.ap-cond b{font-size:12px;font-weight:700}
.ap-sub{font-size:11px;font-weight:700;color:#7A8094}
.ap-th{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ap-th li{display:grid;gap:4px;justify-items:center}
.ap-th i{display:block;width:100%;aspect-ratio:9/16;border-radius:5px;background:linear-gradient(165deg,#DCE3EF,#AEBBD3)}
.ap-th li.on i{background:linear-gradient(165deg,#FFC2D6,#B9A0F7);box-shadow:0 0 0 2px #fff,0 0 0 4px #9B5CF6}
.ap-th span{font-size:10px;font-weight:700;color:#5E6475}
.ap-leg{display:flex;gap:14px;font-size:11px;color:#5E6475}.ap-leg span{display:flex;align-items:center;gap:5px}
.ap-leg i{display:inline-block;width:12px;height:8px;border-radius:2px}
.ap-leg i.me,.ap-b i.me{background:linear-gradient(180deg,#FF5C93,#9B5CF6)}.ap-leg i.avg{height:0;border-top:2px dashed #171C3A;border-radius:0}
.ap-b{position:relative}.ap-b i.avg{position:absolute;left:8%;right:8%;width:auto;height:0;border-top:2px dashed #171C3A;border-radius:0;opacity:.7}
.ap-bars{margin:0;padding:0 4px;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;height:150px;border-bottom:1px solid #D5D9E2;position:relative}
.ap-bars li{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:4px;min-width:0}
.ap-b{display:flex;align-items:flex-end;justify-content:center;height:100%}.ap-b i.me{display:block;width:46%;border-radius:3px 3px 0 0}
.ap-bars small{font-size:10px;font-weight:700;color:#5E6475;text-align:center;margin-bottom:-20px}
.ap-sug{margin-top:16px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E2DCFB;border-radius:999px;padding:5px 14px 5px 5px;font-size:12px;font-weight:700;justify-self:start}
.ap-tg{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}
.ap-tg i{position:relative;display:block;width:30px;height:17px;border-radius:999px;background:linear-gradient(90deg,#FF5C93,#9B5CF6)}
.ap-tg i::after{content:"";position:absolute;right:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff}
.ap-kn{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ap-kn li{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #E3E5EC;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:700}
.ap-kn b{font-family:var(--en);font-size:11px;font-weight:600;color:#fff;background:#171C3A;border-radius:999px;padding:0 8px;min-width:26px;text-align:center}
.ai-cq{margin-top:22px;font-size:17px;font-weight:700;font-style:normal;letter-spacing:.03em;line-height:1.7}
.ai-cp{margin-top:10px;font-size:15px;line-height:1.9;max-width:40em;margin-inline:auto}
@container site (max-width:1000px){.ai-hero{grid-template-columns:minmax(0,1fr)}.ai-fr{grid-template-columns:minmax(0,1fr);gap:28px}.ai-fr:nth-child(even) .ai-fv{order:0}}
@container site (max-width:760px){
  .ai-h1{font-size:34px}
  .ai-hero{gap:20px;padding:8px 0 16px}
  .ai-hero-v{padding:8px 0 64px}
  .ai-fg-card,.ai-fg-hit{display:none}
  .ai-fg-chat{left:auto;right:0;top:auto;bottom:0;width:240px}
  .ai-pbs{grid-template-columns:minmax(0,1fr);gap:10px}.ai-pbs li{padding:18px 18px;grid-template-columns:40px minmax(0,1fr);align-items:center}.ai-ico{width:40px;height:40px}.ai-pbs p{font-size:15px}
  .ai-st-en{font-size:19px}
  .ai-eq{grid-template-columns:minmax(0,1fr);gap:6px}.ai-eq>i{text-align:center;font-size:22px}.ai-eq-t{padding:12px}
  .ai-frs{gap:48px}.ai-ft-n{font-size:48px}.ai-ft-t h3{font-size:19px}.ai-ft-b,.ai-ft-p{font-size:14px}
  .ap-in{grid-template-columns:30px minmax(0,1fr);min-height:0}.ap-side{gap:9px}.ap-side i{width:13px;height:13px}
  .ap-main{padding:12px}
  .ap-cond{grid-template-columns:minmax(0,1fr)}
  .ap-th{grid-template-columns:repeat(3,minmax(0,1fr))}.ap-th i{aspect-ratio:3/4}
  .ap-bars{height:120px;gap:6px}
  .ap-kn li{padding:6px 8px;font-size:11px}
  .ai-cq{font-size:15px;text-align:left}.ai-cp{text-align:left;font-size:14px}
  .btn-wrap{white-space:normal;height:auto;min-height:58px;padding:12px 22px;text-align:center;line-height:1.5}
}
/* ── v2.15 名称の統一（事業部名＋サービス名） */
.svb-en{font-size:clamp(40px,4.4cqw,64px)}
.svb-k{margin-top:16px;font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--head)}
.svb-k+.svb-h{margin-top:2px}
.svb-tg{margin-top:10px;font-size:15px;font-weight:700;line-height:1.7;letter-spacing:.03em;color:var(--ink);max-width:30em}
.svb .hbody p+p{margin-top:1em}
.svb .hbody+.pill{margin-top:18px}
.hsv-t{display:grid;gap:2px}
.hsv-en{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--accent-ui)}
.ft ul a.ft-sv{display:inline-grid;gap:0}
.ft-en{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--head)}
.hst-nm{font-size:clamp(56px,6.6cqw,96px);line-height:1}
.hst-b p+p{margin-top:.6em}
/* ── v2.15 代表挨拶（原稿 §1） */
.msg-b{font-size:15px;line-height:2;color:var(--head);letter-spacing:.02em}
.msg-h{margin:0 0 18px;font-size:24px;font-weight:700;line-height:1.5;letter-spacing:.06em;color:var(--ink)}
.msg-b p+p{margin-top:1.8em}.msg-b strong{font-weight:700;color:var(--ink)}
@container site (max-width:760px){.svb-en{font-size:34px}.hst-nm{font-size:44px}.msg-h{font-size:20px}.msg-b{font-size:14.5px}}
/* ── v2.16 HOME H-02＝hado S02 の実測値（英字 153px/700/−0.03em/行高1・本文 15px/700/0.02em/行高1.8）＋背景写真 */
.hst-sec{position:relative}
.hst-ph{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hst-ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 62%;filter:grayscale(1);opacity:.05;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 76%,transparent 100%),linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 76%,transparent 100%),linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%);mask-composite:intersect}
.hst-sec>.in{position:relative;z-index:2}
.hst-w{max-width:none;margin-left:8px}
.hst3{display:grid;justify-items:start}
.hst3-l{display:block;font-family:var(--en);font-size:clamp(48px,10.2cqw,147px);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.hst3-b{max-width:551px;margin:40px 0 0 11px;font-size:15px;font-weight:700;line-height:1.8;letter-spacing:.02em;color:var(--ink)}
@container site (max-width:760px){
  .hst-w{margin-left:-4px}
  .hst3-l{font-size:48px}
  .hst3-b{max-width:none;margin:24px 0 0 6px}
}
.bgk-zone>.bgk-c{z-index:1}
.bgk-zone>.fr{z-index:2}
.bgk-zone>.fr.fr-ph{z-index:auto}

/* v2.36（10/29 監査 D-H1/D-H2）: 手応え＝全リンク・ボタンに hover／コントラスト＝動画上のヘッダーに帯・.lnk は UI 青 */
a,.btn{transition:color .25s var(--ease-out,ease),background-color .25s var(--ease-out,ease),border-color .25s var(--ease-out,ease),opacity .25s var(--ease-out,ease),transform .25s var(--ease-out,ease)}
.hnav a:hover,.rnav a:hover,.ft a:hover,.lnk:hover,.more a:hover,.corp-l:hover,.bc a:hover{opacity:.62}
.btn-fill:hover{background:#2F5DB3}.btn-line:hover{background:var(--ink);color:#fff}
.btn:hover{transform:translateY(-1px)}
.jchip:hover{background:var(--band)}
.hct:hover{background:#2F5DB3}  /* 監査3回目 M-4: 白文字の帯は濃い青へ */
.pm-stop:hover{background:#fff;color:var(--ink)}
.hvm a:hover,.hsv a:hover,.agree a:hover,.logo:hover,.vfv-pp:hover{opacity:.62}
.hsv a:hover{color:var(--accent-ui);opacity:1}
summary:hover .q,summary:hover{color:var(--accent-ui)}
.tile:hover,.jx:hover,.wk:hover,.card:hover{box-shadow:0 10px 28px rgba(38,37,45,.10);transform:translateY(-2px);transition:box-shadow .3s var(--ease-out,ease),transform .3s var(--ease-out,ease)}
.ovhd{background:linear-gradient(to bottom,rgba(0,0,0,.62) 88px,rgba(0,0,0,0) 180px)}  /* v2.37: ヘッダー高 88px は .62 の面＝白いロゴ画面の上でも白文字 ≥5:1 */
.ovhd .hd.hd-dark .hnav a{text-shadow:0 1px 2px rgba(0,0,0,.6)}
.mk-pb li:nth-child(4),.mk-pb li:nth-child(5){color:var(--ink)}
@media (prefers-reduced-motion:reduce){a,.btn,.tile,.jx,.wk,.card{transition:none}.btn:hover,.tile:hover,.jx:hover,.wk:hover,.card:hover{transform:none}}

/* ── 見た目モック（--clean）: 注記を外し、仮・要確認を弱める */
body.clean{background:#fff}
.clean .fr{box-shadow:none}
.clean .tmp{background:none}
.clean .tmp::after{content:"※仮";color:var(--ink);opacity:.55;font-size:9px;font-weight:500;letter-spacing:0;margin-left:3px;vertical-align:super}
.clean .chk{outline:0;text-decoration:underline 1px var(--w-chk);text-underline-offset:4px;-webkit-text-decoration:underline 1px var(--w-chk)}
.clean .chk-t{margin-left:6px;padding:0 6px;background:#fff;color:var(--w-chk);border:1px solid var(--w-chk);border-radius:999px;font-size:9px;font-weight:700;line-height:1.6}
.clean .flag,.clean .src-nt,.clean .alt-note,.clean .ts-src,.clean .film-lab,.clean .rfv-alt,.clean .hand-lab{display:none}
.clean .is-flag{outline:0;opacity:1}
.clean .form-nt,.clean .voice-nt{display:none}
.clean .nums3{margin-top:24px}
.clean .hand{border:0;background:none;padding:0}
.clean .spbar-static{display:none}
@container site (max-width:760px){.clean .spbar-static{display:grid;position:static}}

.clean .vfv-lab{display:none}
/* v2.3 注記ゼロ: 社内向けの注記・枠ラベル・社内メモは見た目モックに出さない */
.clean .ts-note,.clean .nums3 small,.clean .tile-nt,.clean .mk-nums small,.clean .case-nt,.clean .mk-hero-v figcaption,.clean .wire-only{display:none}
.clean .num-m,.clean .facts small{display:none}
.clean .logos-wm .wm:not(.wm-etc){color:transparent;background:#EEF0F3;border-radius:4px}
.clean .ph{background:#ECEDEF}.clean .ph::before{display:none}
.skel{display:inline-block;width:8em;height:.9em;vertical-align:middle;background:#E6E7EA;border-radius:2px}
.clean .ctab .tmp{color:#fff}.clean .ctab .tmp::after{color:#fff}


/* ── 墨絵（sumie-site）: 区画の中に層（z1）を敷き、中身（z2）の後ろ・区画の背景の上に描く */
.sec.sm-host{isolation:isolate}
.sm-layer{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.sm-c{position:absolute;display:block;pointer-events:none}
.fr.sm-bleed{overflow:visible}
.sec.sm-host.sm-up{overflow:visible}
.vfv video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fr.sm-clear,.sec.sm-clear{background:transparent!important}
/* v1.1: H-02 英字3行＝左揃えを grid に頼らず明示（Owner 画面で見出しだけ中央に出た） */
.hst3{display:block!important;text-align:left}.hst3-l{display:block;text-align:left;margin:0}.hst3-b{text-align:left}
.sumie-credit{display:block;padding:10px 16px;background:var(--surface);font-size:10px;line-height:1.6;letter-spacing:.04em;color:#6E6C74;text-align:center;font-weight:500}
.mv{position:fixed;bottom:16px;left:16px;z-index:30;display:flex;align-items:center;gap:2px;padding:4px 4px 4px 10px;border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 2px 10px rgba(38,37,45,.12);font-family:var(--jp);font-size:11px;font-weight:700;color:#26252D;opacity:.85}
.mv:hover{opacity:1}
.mv span{margin-right:4px;letter-spacing:.06em}
.mv button{border:0;background:none;font:inherit;color:inherit;padding:4px 9px;border-radius:999px;cursor:pointer}
.mv button[aria-pressed="true"]{background:#26252D;color:#fff}
.mv button:focus-visible{outline:2px solid #3A6CC8;outline-offset:1px}
.mv[hidden]{display:none}


/* v1.8 右下の常時 ENTRY（採用TOP・職種CP のみ） */
.fl-entry{position:fixed;right:28px;bottom:28px;width:116px;height:116px;border-radius:50%;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Prompt',sans-serif;font-weight:600;font-size:14px;letter-spacing:.3em;text-indent:.3em;text-decoration:none;z-index:60;box-shadow:0 10px 28px rgba(0,0,0,.18);transition:opacity .25s,transform .25s}
.fl-entry:hover{transform:translateY(-2px)}
.fl-entry.off{opacity:0;pointer-events:none;transform:translateY(10px)}
.fl-entry[hidden]{display:none}
@media (max-width:760px){.fl-entry{right:14px;bottom:14px;width:84px;height:84px;font-size:12px}}


/* v1.10 選考の流れ（.steps）の動き: 丸→線→名前 の順・1回 */
html.sm-anim .steps .st-n{transform:scale(.4);opacity:0;transition:transform .55s cubic-bezier(.2,.8,.2,1) calc(var(--i,0)*.32s),opacity .35s ease calc(var(--i,0)*.32s)}
html.sm-anim .steps li::before{transform:scaleX(0);transform-origin:left center;transition:transform .5s ease-out calc(var(--i,0)*.32s + .28s)}
html.sm-anim .steps h3{opacity:0;transform:translateY(10px);transition:opacity .5s ease calc(var(--i,0)*.32s + .18s),transform .5s ease calc(var(--i,0)*.32s + .18s)}
html.sm-anim .steps.on .st-n{transform:none;opacity:1}
html.sm-anim .steps.on li::before{transform:none}
html.sm-anim .steps.on h3{opacity:1;transform:none}
@media (max-width:760px){html.sm-anim .steps li::before{transform:scaleY(0);transform-origin:center top}}
@media (prefers-reduced-motion:reduce){html.sm-anim .steps .st-n,html.sm-anim .steps li::before,html.sm-anim .steps h3{transition:none;opacity:1;transform:none}}
/* v1.11 内定（最後の丸）はページの青で点滅（線・丸が描き終わってから・ループ） */
.steps li:last-child .st-n{border-color:var(--accent-ui);color:var(--accent-ui)}
html.sm-anim .steps.on li:last-child .st-n{animation:stBlink 1.6s ease-in-out calc(var(--i,0)*.32s + .7s) infinite}
@keyframes stBlink{0%,100%{background:#fff;color:var(--accent-ui);box-shadow:0 0 0 0 rgba(58,108,200,.45)}50%{background:var(--accent-ui);color:#fff;box-shadow:0 0 0 12px rgba(58,108,200,0)}}
@media (prefers-reduced-motion:reduce){html.sm-anim .steps.on li:last-child .st-n{animation:none;background:var(--accent-ui);color:#fff}}

/* step3: 本番用の追加（理由をコメントで） */
.mv{display:none}  /* 濃さ切替 UI は本番に出さない（中固定） */
.pp h2{margin-top:44px;font-size:18px;font-weight:700;letter-spacing:.06em;color:var(--ink)}.pp h2:first-child{margin-top:0}.pp p{margin-top:12px;font-size:15px;line-height:2;letter-spacing:.02em;color:var(--head)}  /* /privacy/ 本文（現HPの dl を h2+p に） */
@media (max-width:760px){.clean .spbar-static.spbar-fixed{position:fixed;left:0;right:0;bottom:0;z-index:50}body:has(.spbar-fixed) .clean-main{padding-bottom:72px}}  /* 採用: SP 下部固定帯（QS17）。右下 ENTRY は帯のボタンが画面内＝自動で消える */

/* step3: SP メニュー（監査 I-H1）: .menu で .nav-open を切替。ヘッダー直下に白いパネル（動画上の暗いヘッダーでは墨色） */
@media (max-width:760px){
  .fr:has(.nav-open){overflow:visible!important;position:relative;z-index:60}  /* 監査2回目 I-H1: パネルが区画の overflow で隠れていた */
  .hd,.rhd{position:relative}
  .hd.nav-open,.rhd.nav-open{z-index:61}
  .hd.nav-open .hnav,.rhd.nav-open .rnav{display:block;position:absolute;left:0;right:0;top:100%;margin:0;padding:8px 18px 18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(38,37,45,.08);z-index:40}
  .hd.nav-open .hnav ul,.rhd.nav-open .rnav ul{flex-direction:column;align-items:stretch;gap:0}
  .hd.nav-open .hnav a,.rhd.nav-open .rnav a{display:flex;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:.1em;color:var(--ink)}
  .hd.nav-open .hnav li:last-child a,.rhd.nav-open .rnav li:last-child a{border-bottom:0}
  .hd.hd-dark.nav-open .hnav{background:#26252D;border-bottom-color:rgba(255,255,255,.2)}
  .hd.hd-dark.nav-open .hnav a{color:#fff;border-bottom-color:rgba(255,255,255,.15);text-shadow:none}
  .menu[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}
  .menu[aria-expanded="true"] i:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
}
/* step3: フォームの必須検証と送信結果（監査 I-H2・F-07） */
.fld.is-bad input,.fld.is-bad textarea,.fld.is-bad select{border-color:#C0392B;outline:0}
.agree.is-bad{color:#C0392B}
.f-err{margin:6px 0 0;font-size:12px;font-weight:700;color:#C0392B;letter-spacing:.04em}
.f-done{margin:16px 0 0;padding:14px 16px;background:var(--band);font-size:14px;font-weight:700;line-height:1.8;color:var(--ink)}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* step3: FV 動画の停止／再生ボタン（監査 I-H7・WCAG 2.2.2） */
.vfv-pp{position:absolute;right:18px;bottom:18px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.4);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:3;padding:0}
.vfv-pp .vfv-pp-i{display:block;width:10px;height:12px;border-left:3px solid #fff;border-right:3px solid #fff;box-sizing:border-box}
.vfv-pp.is-paused .vfv-pp-i{width:0;height:0;border:0;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.vfv-pp:focus-visible{outline:2px solid #fff;outline-offset:2px}
