/* Period HR — "MOVE"
   Layout concept: black stage, giant type on the left edge, one luminous object per screen (globe / phone-film / diagram).
   Mode (biz / talent) swaps the accent between gold and wisteria across the whole site. */
:root{
  color-scheme: dark;
  --ink:#09080D;          /* stage */
  --ink-2:#121019;        /* raised surface */
  --ink-3:#1B1825;        /* control fill */
  --line:rgba(226,218,245,.12);
  --line-2:rgba(226,218,245,.22);
  --fg:#F2EEF8;
  --mute:#A49DB5;
  --dim:#6E6880;
  --gold:#D9B66F;
  --gold-2:#F1D9A2;
  --wis:#B597EE;
  --wis-2:#7F5FD0;
  --acc:var(--gold);
  --acc-2:var(--gold-2);
  --acc-ink:#1A1408;
  --other:var(--wis);
  --warn:#F0A36B;
  --f-disp:"Unbounded","Zen Kaku Gothic New",system-ui,sans-serif;
  --f-jp-disp:"Zen Kaku Gothic New","Unbounded","Hiragino Sans",system-ui,sans-serif;
  --f-body:"Be Vietnam Pro","Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif;
  --gut:clamp(16px,4.5vw,56px);
  --max:1240px;
  --r:18px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
body[data-mode="talent"]{ --acc:var(--wis); --acc-2:#DCCBFF; --acc-ink:#140D24; --other:var(--gold); }
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.85;letter-spacing:.02em;overflow-x:hidden;transition:background .6s var(--ease)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img,video,canvas,svg{max-width:100%;display:block}
figure{margin:0}
.stack{display:grid;gap:56px}.stack>*{min-width:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
button{font:inherit;color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.tbd{color:var(--warn);font-weight:700}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type ---------- */
.eyebrow{font-family:var(--f-disp);font-size:.72rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--acc);display:flex;align-items:center;gap:.8em;margin:0 0 1.2rem}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.h-hero{font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(2.6rem,12.4vw,6.6rem);word-break:auto-phrase;line-height:1.04;letter-spacing:-.02em;margin:0;text-wrap:balance}
.h2{word-break:auto-phrase;font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(2rem,6.4vw,4.6rem);line-height:1.12;letter-spacing:-.015em;margin:0 0 1.4rem;text-wrap:balance}
.h3{word-break:auto-phrase;font-family:var(--f-jp-disp);font-weight:700;font-size:clamp(1.2rem,2.4vw,1.6rem);line-height:1.4;margin:0 0 .6rem;text-wrap:balance}
html[lang="en"] .h-hero,html[lang="vi"] .h-hero{font-family:var(--f-disp);font-weight:800;letter-spacing:-.035em;font-size:clamp(2.3rem,8.6vw,6.8rem)}
html[lang="en"] .h2,html[lang="vi"] .h2{font-family:var(--f-disp);font-weight:700;letter-spacing:-.03em;font-size:clamp(1.8rem,5.2vw,3.8rem)}
.lead{font-size:clamp(1rem,1.6vw,1.18rem);color:var(--mute);max-width:40em;margin:0}
.acc{color:var(--acc)}
.grad{background:linear-gradient(100deg,var(--fg) 10%,var(--acc) 55%,var(--other) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
.hdr.is-solid{background:rgba(9,8,13,.72);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border-color:var(--line)}
.hdr__in{display:flex;align-items:center;gap:14px;height:64px;max-width:1440px;margin:0 auto;padding-inline:var(--gut)}
.logo{display:block;flex:0 0 auto}
.logo img{height:34px;width:auto}
.nav{display:none;gap:4px;margin-left:auto}
.nav a{font-size:.86rem;text-decoration:none;padding:.5em .9em;border-radius:99px;color:var(--mute);transition:color .2s,background .2s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--fg);background:var(--ink-3)}
.hdr__tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.nav + .hdr__tools{margin-left:12px}
.mode{position:relative;display:flex;background:var(--ink-3);border:1px solid var(--line);border-radius:99px;padding:3px}
.mode button{position:relative;z-index:1;border:0;background:none;font-size:.74rem;font-weight:600;padding:.42em .95em;border-radius:99px;cursor:pointer;color:var(--mute);transition:color .3s;white-space:nowrap}
.mode button[aria-pressed="true"]{color:var(--acc-ink)}
.mode__thumb{position:absolute;top:3px;bottom:3px;left:3px;border-radius:99px;background:var(--acc);transition:transform .5s var(--ease),width .5s var(--ease),background .5s;box-shadow:0 0 24px color-mix(in srgb,var(--acc) 60%,transparent)}
.lang{position:relative}
.lang select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid var(--line);color:var(--fg);font-family:var(--f-disp);font-size:.7rem;letter-spacing:.08em;padding:.55em 1.9em .55em .9em;border-radius:99px;cursor:pointer}
.lang::after{content:"";position:absolute;right:.8em;top:50%;width:6px;height:6px;border-right:1.5px solid var(--mute);border-bottom:1.5px solid var(--mute);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.lang option{background:var(--ink-2)}
.burger{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;display:grid;place-items:center;cursor:pointer}
.burger span{width:16px;height:1.5px;background:var(--fg);display:block;box-shadow:0 5px 0 var(--fg),0 -5px 0 var(--fg)}
.drawer{position:fixed;inset:0;z-index:60;background:rgba(9,8,13,.96);backdrop-filter:blur(10px);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 20px) var(--gut) calc(env(safe-area-inset-bottom,0px) + 24px);transform:translateY(-100%);visibility:hidden;transition:transform .6s var(--ease),visibility 0s .6s}
.drawer.is-open{transform:none;visibility:visible;transition:transform .6s var(--ease)}
.drawer__top{display:flex;justify-content:space-between;align-items:center}
.drawer nav{display:flex;flex-direction:column;margin-top:8vh}
.drawer nav a{font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.8rem,8vw,3rem);text-decoration:none;padding:.18em 0;border-bottom:1px solid var(--line)}
.drawer nav a:hover{color:var(--acc)}
.drawer .reply{margin-top:auto;color:var(--mute);font-size:.85rem}
.close{border:1px solid var(--line);background:none;border-radius:99px;padding:.5em 1.1em;cursor:pointer;font-size:.85rem}
@media (min-width:1080px){ .nav{display:flex} .burger{display:none} .hdr__tools{margin-left:0} }
@media (max-width:420px){ .logo img{height:28px} .mode button{padding:.42em .7em} }

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.7em;font-weight:700;font-size:.95rem;text-decoration:none;border-radius:99px;padding:1em 1.6em;border:1px solid var(--line-2);background:transparent;cursor:pointer;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .3s}
.btn:hover{transform:translateY(-2px);border-color:var(--acc)}
.btn--acc{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);box-shadow:0 10px 40px -10px color-mix(in srgb,var(--acc) 70%,transparent)}
.btn--acc:hover{background:var(--acc-2)}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}

/* ---------- hero (home) ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding-top:96px;padding-bottom:clamp(28px,6vh,64px);overflow:hidden;isolation:isolate}
.hero__globe{position:absolute;inset:0;z-index:-1}
.hero__globe canvas{width:100%;height:100%}
.hero__globe::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 20% 100%,var(--ink) 25%,transparent 70%),linear-gradient(to top,var(--ink),transparent 40%)}
.hero__grid{display:grid;gap:28px;align-items:end;width:100%}
.hero__copy{min-width:0}
.hero .lead{margin-top:1.4rem}
.entries{display:grid;gap:12px;margin-top:2rem;max-width:720px}
.entry{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:1.1rem 1.3rem;border-radius:var(--r);border:1px solid var(--line-2);background:rgba(18,16,25,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-decoration:none;overflow:hidden;transition:border-color .3s,transform .4s var(--ease)}
.entry::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,color-mix(in srgb,var(--c) 30%,transparent),transparent 60%);opacity:.0;transition:opacity .4s}
.entry:hover{transform:translateY(-3px);border-color:var(--c)}
.entry:hover::before,.entry.is-on::before{opacity:1}
.entry.is-on{border-color:var(--c)}
.entry b{position:relative;display:block;font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.15rem,3.6vw,1.45rem);line-height:1.3}
.entry small{position:relative;display:block;color:var(--mute);font-size:.82rem}
.entry i{position:relative;font-style:normal;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:var(--ink);flex:0 0 auto;font-weight:900}
.entry--biz{--c:var(--gold)} .entry--talent{--c:var(--wis)}
@media (min-width:640px){ .entries{grid-template-columns:1fr 1fr} }
.hero__film{justify-self:center;width:min(300px,72vw)}
.scroll-cue{position:absolute;left:var(--gut);bottom:14px;font-family:var(--f-disp);font-size:.62rem;letter-spacing:.3em;color:var(--dim);display:none}
.globe-cap{font-size:.7rem;color:var(--dim);margin-top:1rem}
@media (min-width:980px){
  .hero__grid{grid-template-columns:minmax(0,1fr) 300px;gap:56px}
  .hero__film{justify-self:end;width:300px}
  .scroll-cue{display:block}
}

/* phone-film */
.film{position:relative;aspect-ratio:9/16;border-radius:34px;padding:8px;background:linear-gradient(160deg,#2a2536,#0e0c13);border:1px solid var(--line-2);box-shadow:0 40px 120px -30px color-mix(in srgb,var(--acc) 55%,transparent),inset 0 1px 0 rgba(255,255,255,.08);max-width:100%}
.film video,.film img{width:100%;height:100%;object-fit:cover;border-radius:27px;background:#000}
.film__ui{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.chip{display:inline-flex;align-items:center;gap:.5em;font-size:.72rem;font-weight:600;padding:.5em .95em;border-radius:99px;background:rgba(9,8,13,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-2);cursor:pointer;color:var(--fg)}
.chip--acc{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.film__len{position:absolute;top:22px;left:22px}
.imgnote{position:absolute;top:10px;right:10px;font-size:.62rem;padding:.3em .7em;border-radius:99px;background:rgba(9,8,13,.7);color:var(--mute);border:1px solid var(--line);backdrop-filter:blur(6px)}

/* ---------- marquee ---------- */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding-block:18px;background:var(--ink)}
.marquee__track{display:flex;gap:2.2rem;width:max-content;animation:mq 38s linear infinite}
.marquee span{font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.6rem,4.6vw,3.2rem);white-space:nowrap;display:flex;align-items:center;gap:2.2rem;color:transparent;-webkit-text-stroke:1px var(--line-2)}
.marquee span:nth-child(3n+1){color:var(--fg);-webkit-text-stroke:0}
.marquee span::after{content:"";width:.32em;height:.32em;border-radius:50%;background:var(--acc)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{padding-block:clamp(80px,13vw,170px);position:relative}
.sec--tight{padding-block:clamp(56px,8vw,110px)}
.sec__head{display:grid;gap:16px;margin-bottom:clamp(36px,6vw,72px)}
@media (min-width:900px){ .sec__head--split{grid-template-columns:1.2fr 1fr;align-items:end} }

/* philosophy */
.thesis{display:grid;gap:clamp(36px,6vw,80px)}
.thesis__body{font-size:clamp(1rem,1.7vw,1.2rem);line-height:2.05;color:var(--mute);max-width:36em}
.pillars{display:grid;border-top:1px solid var(--line)}
.pillar{display:grid;gap:8px;padding:28px 0;border-bottom:1px solid var(--line)}
.pillar .h3{font-size:clamp(1.3rem,3.4vw,2.1rem);font-weight:900}
.pillar p{margin:0;color:var(--mute);max-width:34em}
@media (min-width:900px){ .thesis{grid-template-columns:1fr 1fr} .thesis .h2{font-size:clamp(2rem,4vw,3.6rem)} .pillar{padding:34px 0} }

/* services grid */
.svc{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svc__item{position:relative;background:var(--ink);padding:26px 22px 24px;display:flex;flex-direction:column;gap:10px;min-width:0;transition:background .4s,opacity .4s}
.svc__item:hover{background:var(--ink-2)}
.svc__no{font-family:var(--f-disp);font-size:.7rem;letter-spacing:.2em;color:var(--dim)}
.svc__item h3{font-family:var(--f-jp-disp);font-weight:900;font-size:1.22rem;line-height:1.4;margin:0}
.svc__item p{margin:0;color:var(--mute);font-size:.92rem}
.svc__tag{align-self:flex-start;font-size:.66rem;font-weight:600;padding:.25em .8em;border-radius:99px;border:1px solid var(--line-2);color:var(--mute)}
.svc__item.is-dim{opacity:.38}
.svc__item.is-hit .svc__no{color:var(--acc)}
.svc__item.is-hit::after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--acc);box-shadow:0 0 18px var(--acc)}
.svc-note{font-size:.8rem;color:var(--dim);margin-top:14px}
@media (min-width:640px){ .svc{grid-template-columns:1fr 1fr} }
@media (min-width:1000px){ .svc{grid-template-columns:repeat(3,1fr)} }

/* license strip */
.lic{display:grid;gap:12px}
.lic__item{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--line)}
.lic__item span{color:var(--mute)}
.lic__item b{font-family:var(--f-disp);font-weight:500;font-size:clamp(1.1rem,3vw,1.6rem);letter-spacing:.04em;color:var(--acc)}

/* final cta */
.final{position:relative;overflow:hidden;isolation:isolate;text-align:left}
.final__bg{position:absolute;inset:0;z-index:-1}
.final__bg video,.final__bg img{width:100%;height:100%;object-fit:cover;opacity:.45}
.final__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,var(--ink),transparent 30%,transparent 60%,var(--ink))}
.final .lead{margin:1rem 0 2rem;color:var(--fg)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- sub-page hero ---------- */
.phero{position:relative;padding-top:clamp(120px,18vw,200px);padding-bottom:clamp(48px,8vw,96px);overflow:hidden;isolation:isolate}
.phero__bg{position:absolute;inset:0;z-index:-1}
.phero__bg img,.phero__bg video{width:100%;height:100%;object-fit:cover;opacity:.42;transform:scale(1.06);animation:kb 22s ease-in-out infinite alternate}
.phero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(9,8,13,.55),var(--ink) 92%),radial-gradient(80% 60% at 0% 100%,var(--ink),transparent)}
@keyframes kb{to{transform:scale(1.14) translate(-1.5%,-1%)}}
.phero .lead{margin-top:1.4rem}
.phero .h-hero{font-size:clamp(2.2rem,9.4vw,4.8rem)}
.phero__grid{display:grid;gap:32px;align-items:end}
@media (min-width:980px){ .phero__grid{grid-template-columns:minmax(0,1fr) 280px} }
.badge{display:inline-flex;align-items:center;gap:.6em;margin-top:1.6rem;padding:.6em 1.1em;border-radius:99px;border:1px solid var(--acc);color:var(--acc);font-weight:700;font-size:.88rem}
.badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 12px var(--acc)}

/* ---------- navigator ---------- */
.navi{display:grid;gap:28px;border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding:clamp(18px,3vw,36px);background:linear-gradient(180deg,var(--ink-2),var(--ink))}
@media (min-width:980px){ .navi{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px} }
.q{border:0;margin:0 0 22px;padding:0;min-width:0}
.q legend{font-family:var(--f-disp);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);margin-bottom:10px;padding:0}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt span{display:block;font-size:.88rem;padding:.55em 1.05em;border-radius:99px;border:1px solid var(--line-2);color:var(--mute);transition:all .25s}
.opt input:checked + span{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);font-weight:700}
.opt input:focus-visible + span{outline:2px solid var(--acc);outline-offset:2px}
.diagram{position:relative;min-width:0}
.diagram svg{width:100%;height:auto;overflow:visible}
.diagram text{font-family:var(--f-body);fill:var(--fg)}
.dg-line{fill:none;stroke:var(--line-2);stroke-width:1.2;transition:stroke .4s}
.dg-line.on{stroke:var(--acc);stroke-width:2;stroke-dasharray:6 8;animation:dash 1.1s linear infinite}
.dg-line.sub{stroke:color-mix(in srgb,var(--acc) 50%,transparent);stroke-width:1.5;stroke-dasharray:3 7;animation:dash 1.8s linear infinite}
@keyframes dash{to{stroke-dashoffset:-28}}
.dg-node rect{fill:var(--ink-3);stroke:var(--line-2);transition:fill .4s,stroke .4s}
.dg-node text{font-size:13px;fill:var(--mute);transition:fill .4s}
.dg-node.on rect{fill:var(--acc);stroke:var(--acc);filter:drop-shadow(0 0 12px var(--acc))}
.dg-node.on text{fill:var(--acc-ink);font-weight:700}
.dg-node.sub rect{stroke:var(--acc)}
.dg-node.sub text{fill:var(--fg)}
.dg-core circle{fill:var(--ink);stroke:var(--acc);stroke-width:1.5}
.dg-you rect{fill:transparent;stroke:var(--line-2)}
.reasons{display:grid;gap:10px;margin-top:18px}
.reason{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px 16px;border-radius:14px;background:var(--ink-3);border:1px solid var(--line)}
.reason b{font-size:.66rem;font-weight:700;padding:.3em .7em;border-radius:99px;background:var(--acc);color:var(--acc-ink);white-space:nowrap}
.reason.sub b{background:transparent;color:var(--acc);border:1px solid var(--acc)}
.reason p{margin:0;font-size:.9rem;color:var(--fg)}
.reason p strong{display:block;font-size:1rem}
.note{font-size:.8rem;color:var(--dim);margin-top:14px}

/* ---------- accordion services ---------- */
.acc-list{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:22px 0}
.acc-item summary::-webkit-details-marker{display:none}
.acc-item summary .n{font-family:var(--f-disp);font-size:.7rem;color:var(--dim);letter-spacing:.15em}
.acc-item summary h3{margin:0;font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.1rem,3vw,1.6rem);line-height:1.35}
.acc-item summary small{display:block;color:var(--mute);font-size:.86rem;font-family:var(--f-body);font-weight:400;margin-top:2px}
.acc-item summary .pm{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);position:relative;flex:0 0 auto}
.acc-item summary .pm::before,.acc-item summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--fg);transform:translate(-50%,-50%);transition:transform .3s}
.acc-item summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.acc-item[open] summary .pm{border-color:var(--acc)}
.acc-item[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0)}
.acc-item[open] summary .n{color:var(--acc)}
.acc-body{display:grid;gap:20px;padding:0 0 28px}
.acc-body ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.acc-body li{position:relative;padding-left:1.4em;color:var(--mute)}
.acc-body li::before{content:"";position:absolute;left:0;top:.8em;width:.55em;height:1px;background:var(--acc)}
.acc-body figure{margin:0;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;max-width:100%}
.acc-body figure img{width:100%;height:100%;object-fit:cover}
@media (min-width:860px){ .acc-body{grid-template-columns:1fr 360px;padding-left:56px} }

/* ---------- flow ---------- */
.flow{display:grid;gap:0;counter-reset:f;border-left:1px solid var(--line);margin-left:10px}
.flow li{list-style:none;position:relative;padding:0 0 30px 32px}
.flow li::before{counter-increment:f;content:counter(f,decimal-leading-zero);position:absolute;left:-12px;top:0;width:24px;height:24px;border-radius:50%;background:var(--ink);border:1px solid var(--acc);color:var(--acc);font-family:var(--f-disp);font-size:.56rem;display:grid;place-items:center}
.flow b{display:block;font-family:var(--f-jp-disp);font-size:1.12rem;font-weight:900}
.flow span{color:var(--mute);font-size:.92rem}
.flow{padding:0}
@media (min-width:900px){
  .flow{grid-template-columns:repeat(6,1fr);border-left:0;border-top:1px solid var(--line);margin:0;gap:18px}
  .flow li{padding:34px 0 0}
  .flow li::before{left:0;top:-12px}
}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-weight:700;font-size:1.02rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-disp);color:var(--acc);font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 22px;color:var(--mute);max-width:44em}

/* ---------- form ---------- */
.form-wrap{display:grid;gap:32px}
@media (min-width:980px){ .form-wrap{grid-template-columns:.8fr 1.2fr;gap:64px} }
.form{display:grid;gap:18px;padding:clamp(18px,3vw,36px);border-radius:calc(var(--r) + 6px);border:1px solid var(--line);background:var(--ink-2);min-width:0}
.form .row{display:grid;gap:18px}
@media (min-width:640px){ .form .row{grid-template-columns:1fr 1fr} }
.field{display:grid;gap:7px;min-width:0}
.field label,.field .lbl{font-size:.84rem;font-weight:700;display:flex;gap:.6em;align-items:center}
.field label em,.field .lbl em{font-style:normal;font-size:.62rem;padding:.15em .6em;border-radius:99px;background:var(--acc);color:var(--acc-ink)}
.field label i,.field .lbl i{font-style:normal;font-size:.62rem;padding:.15em .6em;border-radius:99px;border:1px solid var(--line-2);color:var(--mute)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--fg);background:var(--ink);border:1px solid var(--line-2);border-radius:12px;padding:.85em 1em;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 25%,transparent)}
.field.err input,.field.err select,.field.err textarea{border-color:var(--warn)}
.check{display:flex;gap:.7em;align-items:center;font-size:.9rem}
.check input{width:20px;height:20px;accent-color:var(--acc)}
.check.err{color:var(--warn)}
.unlinked{display:flex;gap:.7em;align-items:flex-start;font-size:.84rem;padding:12px 14px;border-radius:12px;border:1px dashed var(--warn);color:var(--warn)}
.form-msg{font-size:.9rem;min-height:1.4em;margin:0}
.form-msg.ok{color:var(--acc)} .form-msg.ng{color:var(--warn)}
.hp{position:absolute;left:-9999px;opacity:0}
.mailbox{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.mailbox code{font-family:var(--f-disp);font-size:clamp(.9rem,2.4vw,1.15rem);padding:.6em 1em;border-radius:12px;background:var(--ink-3);border:1px solid var(--line);user-select:all;word-break:break-all}

/* ---------- diagnosis ---------- */
.diag{display:grid;gap:28px;border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding:clamp(18px,3vw,40px);background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--acc) 14%,transparent),transparent 60%),var(--ink-2);min-height:420px}
.diag__bar{display:flex;gap:6px}
.diag__bar i{flex:1;height:3px;border-radius:3px;background:var(--line)}
.diag__bar i.on{background:var(--acc);box-shadow:0 0 10px var(--acc)}
.diag__q{font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.5rem,4.4vw,2.6rem);line-height:1.25;margin:0;text-wrap:balance}
.diag__step{font-family:var(--f-disp);font-size:.7rem;letter-spacing:.2em;color:var(--acc);text-transform:uppercase}
.diag__opts{display:grid;gap:10px}
@media (min-width:640px){ .diag__opts{grid-template-columns:1fr 1fr} }
.diag__opt{text-align:left;padding:1.05em 1.2em;border-radius:14px;border:1px solid var(--line-2);background:var(--ink);cursor:pointer;font-weight:700;font-size:1rem;transition:all .25s var(--ease);display:flex;justify-content:space-between;align-items:center;gap:12px}
.diag__opt:hover{border-color:var(--acc);transform:translateY(-2px)}
.diag__opt::after{content:"→";color:var(--acc);font-family:var(--f-disp)}
.diag__nav{display:flex;gap:10px;justify-content:space-between;align-items:center}
.linkbtn{background:none;border:0;color:var(--mute);cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-size:.88rem;padding:0}
.res{display:grid;gap:22px}
.res__jobs{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.res__job{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;max-width:100%}
.res__job img{width:100%;height:100%;object-fit:cover}
.res__job b{position:absolute;left:14px;bottom:12px;font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.1rem,3vw,1.5rem);text-shadow:0 2px 16px rgba(0,0,0,.7)}
.res__job::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent 50%)}
.res__job b{z-index:1}
.res__routes{display:grid;gap:10px}
.res__routes p{margin:0;padding:14px 16px;border-radius:14px;background:var(--ink);border:1px solid var(--line);font-size:.94rem}
.res__routes p:first-child{border-color:var(--acc)}
@media (min-width:900px){ .res{grid-template-columns:1fr 1fr;align-items:start} }

/* ---------- story (arrive → work → stay) ---------- */
.story{position:relative}
.story__rail{position:sticky;top:calc(env(safe-area-inset-top,0px) + 64px);z-index:5;background:linear-gradient(var(--ink) 70%,transparent);padding-block:14px 22px}
.story__steps{display:flex;justify-content:space-between;align-items:center;gap:8px;position:relative}
.story__steps::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.story__prog{position:absolute;left:0;top:50%;height:2px;margin-top:-.5px;background:var(--acc);box-shadow:0 0 14px var(--acc);width:0;transition:width .15s linear}
.story__steps span{position:relative;font-family:var(--f-disp);font-size:.66rem;letter-spacing:.18em;padding:.45em .9em;border-radius:99px;background:var(--ink);border:1px solid var(--line-2);color:var(--dim);transition:all .4s}
.story__steps span.on{color:var(--acc-ink);background:var(--acc);border-color:var(--acc)}
.story__plane{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--fg);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 40%,transparent),0 0 20px var(--acc);left:0;transition:left .15s linear}
.chapter{display:grid;gap:24px;padding-block:clamp(40px,8vw,110px);align-items:center}
.chapter figure{margin:0;position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;max-height:78vh;max-width:100%}
.chapter figure img,.chapter figure video{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.4s var(--ease)}
.chapter.in figure img,.chapter.in figure video{transform:scale(1)}
.chapter__k{font-family:var(--f-disp);font-weight:800;font-size:clamp(3.2rem,12vw,8rem);line-height:.9;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--acc);margin:0 0 .3em}
.chapter .h2{font-size:clamp(1.7rem,5vw,3.4rem)}
.chapter p{color:var(--mute);max-width:32em;margin:0}
@media (min-width:900px){ .chapter{grid-template-columns:1fr 1fr;gap:64px} .chapter:nth-child(even) figure{order:2} .chapter figure{aspect-ratio:4/5} }

/* ---------- jobs grid ---------- */
.jobs{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media (min-width:900px){ .jobs{grid-template-columns:repeat(4,1fr);gap:16px} }
.job{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;max-width:100%;isolation:isolate}
.job img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.job:hover img{transform:scale(1.06)}
.job::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(9,8,13,.9),transparent 55%);z-index:0}
.job__t{position:absolute;left:14px;right:14px;bottom:14px;z-index:1}
.job__t b{display:block;font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.05rem,2.6vw,1.45rem);line-height:1.3}
.job__t span{display:block;font-size:.78rem;color:var(--mute);line-height:1.5;margin-top:4px}

/* athlete */
.split{display:grid;gap:28px;align-items:center}
.split figure{margin:0;position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;max-width:100%}
.split figure img{width:100%;height:100%;object-fit:cover}
@media (min-width:900px){ .split{grid-template-columns:1fr 1fr;gap:72px} }

/* ---------- fee ---------- */
.fee-big{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.fee-big > div{background:var(--ink);padding:24px 22px;display:grid;gap:4px;min-width:0}
.fee-big span{font-size:.8rem;color:var(--mute)}
.fee-big b{font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.2rem,3vw,1.6rem);line-height:1.4}
.fee-big > div:first-child b{font-family:var(--f-disp);font-weight:700;color:var(--acc);font-size:clamp(1.5rem,3.2vw,2.2rem);letter-spacing:-.02em}
@media (min-width:760px){ .fee-big{grid-template-columns:1.4fr 1fr 1fr 1fr} }
.thirty{font-family:var(--f-disp);font-weight:800;font-size:clamp(7rem,30vw,22rem);line-height:.8;letter-spacing:-.06em;margin:0;background:linear-gradient(180deg,var(--acc) 20%,transparent 105%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.thirty small{font-size:.36em;letter-spacing:0}
.calc{display:grid;gap:24px;border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding:clamp(18px,3vw,40px);background:var(--ink-2)}
@media (min-width:900px){ .calc{grid-template-columns:1fr 1fr;align-items:center;gap:56px} }
.calc__in label{display:block;font-weight:700;margin-bottom:10px}
.calc__val{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}
.calc__val input{width:6.5em;font-family:var(--f-disp);font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;background:var(--ink);color:var(--fg);border:1px solid var(--line-2);border-radius:12px;padding:.2em .4em;font-variant-numeric:tabular-nums}
.calc input[type=range]{width:100%;accent-color:var(--acc);height:28px}
.calc__scale{display:flex;justify-content:space-between;font-size:.74rem;color:var(--dim);font-variant-numeric:tabular-nums}
.calc__out{padding:22px;border-radius:16px;background:var(--ink);border:1px solid var(--acc)}
.calc__out span{color:var(--mute);font-size:.86rem}
.calc__out b{display:block;font-family:var(--f-disp);font-size:clamp(2rem,7vw,3.6rem);font-weight:800;color:var(--acc);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.2}
.calc__out small{color:var(--mute);font-size:.84rem;font-variant-numeric:tabular-nums}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
table.tbl{width:100%;border-collapse:collapse;min-width:420px}
.tbl th,.tbl td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.tbl th{font-size:.8rem;color:var(--mute);font-weight:600;background:var(--ink-2)}
.tbl tr:last-child td{border-bottom:0}
.cards3{display:grid;gap:12px}
@media (min-width:860px){ .cards3{grid-template-columns:repeat(3,1fr)} }
.card{padding:24px;border-radius:var(--r);border:1px solid var(--line);background:var(--ink-2);min-width:0}
.card h3{margin:0 0 6px;font-family:var(--f-jp-disp);font-weight:900;font-size:1.15rem}
.card p{margin:0;color:var(--mute);font-size:.92rem}
.talent-note{display:none;margin-top:1.4rem}
body[data-mode="talent"] .talent-note{display:inline-flex}

/* ---------- company ---------- */
.dl{border-top:1px solid var(--line);margin:0}
.dl > div{display:grid;gap:4px;padding:20px 0;border-bottom:1px solid var(--line)}
.dl dt{font-size:.8rem;color:var(--mute)}
.dl dd{margin:0;font-weight:500}
@media (min-width:760px){ .dl > div{grid-template-columns:200px 1fr;gap:24px} }
.msg{display:grid;gap:28px}
.msg__body{font-size:1.02rem;line-height:2.1;color:var(--mute);max-width:40em}
.msg__sign{margin-top:28px;font-weight:700}
@media (min-width:980px){ .msg{grid-template-columns:.9fr 1.1fr;gap:72px} .msg__head{position:sticky;top:120px;align-self:start} }
.vision{display:grid;gap:12px}
@media (min-width:860px){ .vision{grid-template-columns:repeat(3,1fr)} }
.vision .card{position:relative;overflow:hidden}
.vision .card .n{font-family:var(--f-disp);font-size:2.2rem;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--acc);display:block;line-height:1;margin-bottom:14px}
.vision .card p{color:var(--fg);font-size:1rem}

/* ---------- contact tabs ---------- */
.tabs{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:16px;background:var(--ink-3);border:1px solid var(--line);margin-bottom:24px;flex-wrap:wrap}
.tabs button{border:0;background:none;padding:.65em 1.2em;border-radius:12px;line-height:1.4;cursor:pointer;font-weight:700;font-size:.88rem;color:var(--mute)}
.tabs button[aria-selected="true"]{background:var(--acc);color:var(--acc-ink)}

/* ---------- prose ---------- */
.prose{max-width:760px}
.prose h2{font-family:var(--f-jp-disp);font-size:1.3rem;margin:2.2em 0 .6em}
.prose p{color:var(--mute)}

/* ---------- footer ---------- */
.ftr{border-top:1px solid var(--line);padding-block:56px calc(110px + env(safe-area-inset-bottom,0px));font-size:.86rem;color:var(--mute)}
.ftr__grid{display:grid;gap:28px}
.ftr__tag{font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.3rem,3.6vw,2.2rem);color:var(--fg);line-height:1.35;margin:0}
.ftr nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.ftr nav a{text-decoration:none}
.ftr nav a:hover{color:var(--acc)}
.ftr small{display:block;color:var(--dim);font-size:.74rem;line-height:1.7}
@media (min-width:900px){ .ftr__grid{grid-template-columns:1.2fr 1fr} .ftr{padding-bottom:56px} }

/* ---------- sticky cta (mobile) ---------- */
.sticky{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;gap:8px;transform:translateY(140%);transition:transform .5s var(--ease)}
.sticky.is-on{transform:none}
.sticky a{flex:1;justify-content:center;padding:1em;box-shadow:0 18px 50px -12px rgba(0,0,0,.8),0 8px 40px -10px color-mix(in srgb,var(--acc) 70%,transparent)}
@media (min-width:900px){ .sticky{left:auto;right:24px;bottom:24px} .sticky a{flex:0 0 auto} }

/* ---------- reveal ---------- */
.rv{transform:translateY(22px);opacity:.001;transition:transform 1s var(--ease),opacity 1s var(--ease)}
.rv.in{transform:none;opacity:1}
.no-js .rv,.reduced .rv{transform:none;opacity:1}
.split-line{display:block;overflow:hidden}
.split-line > span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.loaded .split-line > span{transform:none}
.reduced .split-line > span{transform:none}

/* PV modal */
.pvm{position:fixed;inset:0;z-index:80;background:rgba(5,4,8,.94);display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 16px)}
.pvm[hidden]{display:none!important}
.pvm video{max-height:86vh;max-width:100%;aspect-ratio:9/16;border-radius:22px;background:#000}
.pvm .close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 16px);right:16px}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;scroll-behavior:auto!important}
}

.diag__q,.chapter .h2,.entry b,.acc-item summary h3,.svc__item h3,.ftr__tag,.drawer nav a{word-break:auto-phrase}
.res__jobs:has(> :only-child){grid-template-columns:minmax(0,260px)}

/* =========================================================
   Added 2026-10-01 — Work Type Game / Policy Watch / SEO bits
   ========================================================= */
.nav a{font-size:.8rem;padding:.5em .7em}
@media (min-width:1080px){ .nav{display:none} .burger{display:grid} .hdr__tools{margin-left:auto} }
@media (min-width:1240px){ .nav{display:flex} .burger{display:none} .hdr__tools{margin-left:0} }

/* breadcrumbs */
.bc{display:flex;flex-wrap:wrap;gap:.4em .6em;font-size:.74rem;color:var(--dim);margin:0 0 1.4rem;padding:0;list-style:none}
.bc li+li::before{content:"/";margin-right:.6em;color:var(--line-2)}
.bc a{text-decoration:none;color:var(--mute)} .bc a:hover{color:var(--acc)}

/* teaser band */
.teaser{position:relative;display:grid;gap:28px;align-items:center;padding:clamp(22px,4vw,48px);border-radius:calc(var(--r) + 10px);border:1px solid var(--line-2);overflow:hidden;isolation:isolate;
  background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--wis) 30%,transparent),transparent 60%),radial-gradient(80% 120% at 0% 100%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 60%),var(--ink-2)}
.teaser .h2{font-size:clamp(1.7rem,5vw,3.2rem)}
.teaser__codes{display:flex;flex-wrap:wrap;gap:8px}
.teaser__codes span,.tg-codes span{font-family:var(--f-disp);font-weight:700;font-size:.8rem;letter-spacing:.12em;padding:.5em .9em;border-radius:10px;border:1px solid var(--line-2);background:rgba(9,8,13,.5)}
.teaser__codes span:nth-child(odd),.tg-codes span:nth-child(odd){color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}
.teaser__codes span:nth-child(even),.tg-codes span:nth-child(even){color:var(--wis);border-color:color-mix(in srgb,var(--wis) 45%,transparent)}
@media (min-width:900px){ .teaser{grid-template-columns:1.3fr 1fr} }
.teaser--gw{background:var(--ink-2)}

/* game */
.tg{position:relative;border-radius:calc(var(--r) + 10px);border:1px solid var(--line-2);padding:clamp(18px,3.4vw,44px);min-height:520px;overflow:hidden;isolation:isolate;
  background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 10%,transparent),transparent 40%),linear-gradient(315deg,color-mix(in srgb,var(--wis) 16%,transparent),transparent 45%),var(--ink-2)}
.tg::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(80% 80% at 50% 40%,#000,transparent)}
.tg-anim{animation:tgIn .55s var(--ease) both}
@keyframes tgIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.tg-start{display:grid;justify-items:start;gap:18px}
.tg-logo{font-family:var(--f-disp);font-weight:800;font-size:clamp(3rem,13vw,7.5rem);line-height:.86;letter-spacing:-.05em;margin:0;background:linear-gradient(100deg,var(--gold),var(--fg) 45%,var(--wis));-webkit-background-clip:text;background-clip:text;color:transparent}
.tg-meta{font-family:var(--f-disp);font-size:.78rem;letter-spacing:.16em;color:var(--mute);margin:0}
.tg-codes{display:flex;flex-wrap:wrap;gap:8px;max-width:520px}
.tg-codes span{animation:float 3.2s ease-in-out infinite}
.tg-codes span:nth-child(2n){animation-delay:-1.1s}.tg-codes span:nth-child(3n){animation-delay:-2.2s}
@keyframes float{50%{transform:translateY(-6px)}}
.tg-go{font-size:1.1rem;padding:1.05em 2.2em;letter-spacing:.1em;font-family:var(--f-disp)}
.tg-q{display:grid;gap:22px}
.tg-hud{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.tg-num{font-family:var(--f-disp);font-size:.74rem;letter-spacing:.18em;color:var(--mute)}
.tg-num b{font-size:1.6rem;color:var(--acc);letter-spacing:0}
.tg-seg{display:flex;gap:5px;flex:1;min-width:160px;max-width:360px}
.tg-seg i{flex:1;height:6px;border-radius:6px;background:var(--line)}
.tg-seg i.on{background:var(--acc)} .tg-seg i.cur{background:var(--fg);animation:blink 1s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.meters{display:grid;gap:10px}
.meter{display:grid;grid-template-columns:5.5em 1fr 5.5em;gap:10px;align-items:center;font-size:.74rem;color:var(--mute)}
.meter__r{text-align:right}
.meter__bar{position:relative;height:8px;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 35%,transparent),color-mix(in srgb,var(--wis) 35%,transparent))}
.meter__bar b{position:absolute;left:0;top:0;bottom:0;border-radius:8px;background:var(--gold);opacity:.0}
.meter__bar i{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--fg);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 40%,transparent),0 0 18px var(--acc);transition:left .6s var(--ease)}
.meter em{grid-column:1/-1;font-style:normal;font-family:var(--f-disp);font-size:.66rem;color:var(--dim);text-align:center;margin-top:-4px}
.tg-qt{font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.6rem,5vw,3rem);line-height:1.25;margin:6px 0 0;text-wrap:balance;word-break:auto-phrase}
.tg-ch{display:grid;gap:12px}
@media (min-width:760px){ .tg-ch{grid-template-columns:1fr 1fr} }
.tg-opt{display:flex;align-items:center;gap:16px;text-align:left;padding:1.2em 1.3em;border-radius:18px;border:1px solid var(--line-2);background:var(--ink);cursor:pointer;font-weight:700;font-size:clamp(1rem,2.6vw,1.2rem);line-height:1.45;transition:transform .25s var(--ease),border-color .25s,background .25s}
.tg-opt .k{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:var(--f-disp);font-weight:800;background:var(--ink-3);color:var(--acc);border:1px solid var(--line-2)}
.tg-opt:nth-child(2) .k{color:var(--other)}
.tg-opt:hover{transform:translateY(-3px) rotate(-.4deg);border-color:var(--acc);background:var(--ink-3)}
.tg-opt:active{transform:scale(.97)}
.tg-res{display:grid;gap:32px;align-items:start}
@media (min-width:960px){ .tg-res{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:56px} }
.tg-cardwrap{perspective:1200px}
.tg-card{position:relative;border-radius:24px;padding:3px;background:conic-gradient(from 200deg,var(--gold),var(--wis),var(--gold-2),var(--wis-2),var(--gold));animation:flip 1s var(--ease) both;box-shadow:0 40px 100px -30px color-mix(in srgb,var(--acc) 70%,transparent)}
@keyframes flip{from{transform:rotateY(80deg) scale(.9);opacity:0}to{transform:none;opacity:1}}
.tg-card figure{position:relative;aspect-ratio:3/4;border-radius:21px 21px 0 0;overflow:hidden;max-width:100%}
.tg-card figure img{width:100%;height:100%;object-fit:cover}
.tg-card figure::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--ink-2),transparent 45%)}
.tg-card__b{position:relative;background:var(--ink-2);border-radius:0 0 21px 21px;padding:0 20px 20px;margin-top:-70px;z-index:1}
.tg-card__your{font-family:var(--f-disp);font-size:.64rem;letter-spacing:.3em;color:var(--mute);margin:0}
.tg-card__code{font-family:var(--f-disp);font-weight:800;font-size:clamp(2.6rem,9vw,3.6rem);line-height:1;margin:.1em 0;color:var(--acc);letter-spacing:.02em}
.tg-card h3{font-family:var(--f-jp-disp);font-weight:900;font-size:1.6rem;margin:0;line-height:1.3;word-break:auto-phrase}
.tg-card__en{font-family:var(--f-disp);font-size:.7rem;letter-spacing:.24em;color:var(--mute);margin:.3em 0 0}
.tg-info{display:grid;gap:14px;min-width:0}
.tg-info h4{margin:10px 0 0;font-size:.8rem;letter-spacing:.12em;color:var(--acc);font-family:var(--f-disp);font-weight:500}
.tg-info p{margin:0;color:var(--mute)}
.tg-catch{font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.3rem,3.4vw,2rem);line-height:1.4;color:var(--fg)!important;word-break:auto-phrase}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chips li{padding:.45em 1em;border-radius:99px;background:var(--ink-3);border:1px solid var(--line-2);font-size:.86rem;font-weight:600}
.tg-jobs{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:420px}
.tg-job{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:4/3;text-decoration:none;max-width:100%}
.tg-job img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tg-job:hover img{transform:scale(1.06)}
.tg-job::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(9,8,13,.85),transparent 60%)}
.tg-job b{position:absolute;left:12px;bottom:8px;z-index:1;font-family:var(--f-jp-disp);font-weight:900}
.tg-buddy a{color:var(--acc)}
.types{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media (min-width:980px){ .types{grid-template-columns:repeat(4,1fr);gap:16px} }
.tcard{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--ink-2);display:flex;flex-direction:column;min-width:0;scroll-margin-top:90px}
.tcard:target{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}
.tcard figure{aspect-ratio:4/3;overflow:hidden;max-width:100%}
.tcard figure img{width:100%;height:100%;object-fit:cover}
.tcard__b{padding:14px 14px 18px;display:grid;gap:4px}
.tcard__code{font-family:var(--f-disp);font-weight:800;font-size:1.3rem;margin:0;color:var(--acc)}
.tcard h3{margin:0;font-family:var(--f-jp-disp);font-weight:900;font-size:1.02rem;line-height:1.35;word-break:auto-phrase}
.tcard__en{margin:0;font-family:var(--f-disp);font-size:.6rem;letter-spacing:.2em;color:var(--dim)}
.tcard__catch{margin:4px 0 0;font-size:.84rem;color:var(--mute);line-height:1.6}
.tcard__jobs{margin:4px 0 0;font-size:.74rem;color:var(--fg)}
.axes{max-width:780px;color:var(--mute);line-height:2}
.axes b{color:var(--fg)}

/* policy watch */
.gw-upd{display:inline-flex;gap:.6em;align-items:center;margin-top:1.4rem;font-size:.84rem;color:var(--mute);padding:.55em 1em;border-radius:99px;border:1px solid var(--line-2)}
.gw-upd b{color:var(--acc);font-family:var(--f-disp);font-weight:500}
.pgroup{display:grid;gap:14px;margin-bottom:40px}
.pgroup__t{font-family:var(--f-disp);font-size:.74rem;letter-spacing:.2em;color:var(--acc);margin:0;font-weight:500}
.pcs{display:grid;gap:12px}
@media (min-width:900px){ .pcs{grid-template-columns:1fr 1fr} }
.pc{position:relative;display:grid;gap:10px;align-content:start;padding:22px;border-radius:var(--r);border:1px solid var(--line);background:var(--ink-2);min-width:0;scroll-margin-top:90px}
.pc--plan{border-color:color-mix(in srgb,var(--acc) 50%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 10%,transparent),transparent 50%),var(--ink-2)}
.pc__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.76rem;color:var(--mute)}
.pc__meta time{font-family:var(--f-disp);font-weight:500;color:var(--fg);font-variant-numeric:tabular-nums}
.pc__st{padding:.2em .7em;border-radius:99px;background:var(--acc);color:var(--acc-ink);font-weight:700}
.pc--data .pc__st,.pc--done .pc__st{background:transparent;color:var(--acc);border:1px solid var(--acc)}
.pc__cat{padding:.2em .7em;border-radius:99px;border:1px solid var(--line-2)}
.pc h3{margin:0;font-family:var(--f-jp-disp);font-weight:900;font-size:1.15rem;line-height:1.45;word-break:auto-phrase}
.pc__sum{margin:0;color:var(--mute);font-size:.92rem}
.pc__pt{margin:0;font-size:.88rem;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.pc__pt b{font-size:.66rem;padding:.25em .7em;border-radius:99px;background:var(--ink-3);border:1px solid var(--line-2);white-space:nowrap;margin-top:.2em}
.pc__src{font-size:.78rem;color:var(--acc);text-decoration:none;word-break:break-word}
.pc__src:hover{text-decoration:underline}
.nchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.nchip{border:1px solid var(--line-2);background:transparent;border-radius:99px;padding:.5em 1em;font-size:.84rem;cursor:pointer;color:var(--mute)}
.nchip small{font-family:var(--f-disp);font-size:.7rem;opacity:.7;margin-left:.3em}
.nchip[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);font-weight:700}
.feed{border-top:1px solid var(--line)}
.news{display:grid;gap:8px;padding:24px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px;min-width:0}
.news__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.76rem;color:var(--mute)}
.news__meta time{font-family:var(--f-disp);color:var(--fg);font-variant-numeric:tabular-nums}
.news__topic{color:var(--acc)}
.news__t{margin:0;font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.02rem,2.4vw,1.25rem);line-height:1.5;word-break:auto-phrase}
.news__t a{text-decoration:none} .news__t a:hover{color:var(--acc)}
.news__sum{margin:0;color:var(--mute);font-size:.92rem;max-width:52em}
.news__c{padding:14px 16px;border-radius:14px;background:var(--ink-2);border-left:2px solid var(--acc);max-width:52em}
.news__c b{display:block;font-size:.72rem;color:var(--acc);letter-spacing:.08em;margin-bottom:4px}
.news__c p{margin:0;font-size:.9rem}
@media (min-width:900px){ .news{grid-template-columns:200px 1fr;column-gap:32px} .news__meta{flex-direction:column;gap:4px;grid-row:span 4} }

/* 画像右上の「イメージ画像（AI生成）」ラベルは非表示（フッターの注記は残す） */
.imgnote{display:none!important}

/* columns / article / misc (2026-10-01) */
.unlinked:empty,.note:empty{display:none}
.cols{display:grid;gap:14px}
@media (min-width:900px){ .cols{grid-template-columns:repeat(3,1fr)} }
.colcard{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--ink-2);text-decoration:none;min-width:0;transition:border-color .3s,transform .4s var(--ease)}
.colcard:hover{border-color:var(--acc);transform:translateY(-3px)}
.colcard figure{aspect-ratio:16/9;overflow:hidden;max-width:100%}
.colcard figure img{width:100%;height:100%;object-fit:cover}
.colcard > div{padding:18px 18px 20px;display:grid;gap:6px}
.colcard time{font-family:var(--f-disp);font-size:.72rem;color:var(--mute)}
.colcard h3{margin:0;font-family:var(--f-jp-disp);font-weight:900;font-size:1.1rem;line-height:1.45;word-break:auto-phrase}
.colcard p{margin:0;color:var(--mute);font-size:.88rem;line-height:1.7}
.colcard__more{font-size:.8rem;color:var(--acc);font-weight:700}
.art__head{padding-bottom:28px}
.art__meta{font-size:.8rem;color:var(--mute);margin:0}
.art__fig{border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;max-width:860px;margin-bottom:36px}
.art__fig img{width:100%;height:100%;object-fit:cover}
.art__body{max-width:760px}
.art__body h2{font-family:var(--f-jp-disp);font-weight:900;font-size:clamp(1.3rem,3.4vw,1.7rem);margin:2.4em 0 .7em;color:var(--fg);padding-left:14px;border-left:3px solid var(--acc)}
.art__body h3{font-family:var(--f-jp-disp);font-size:1.12rem;margin:1.8em 0 .5em;color:var(--fg)}
.art__body p{color:var(--mute);line-height:2}
.art__body ul{padding-left:1.2em;color:var(--mute);display:grid;gap:8px;line-height:1.9}
.art__body b{color:var(--fg)}

table.tbl{min-width:0}
@media (max-width:520px){ .tbl th,.tbl td{padding:12px 12px;font-size:.9rem} }

@media (min-width:860px){ .cards3--4{grid-template-columns:repeat(2,1fr)} }

.telno{font-family:var(--f-disp);font-size:clamp(1rem,2.6vw,1.25rem);padding:.55em 1em;border-radius:12px;background:var(--ink-3);border:1px solid var(--line);text-decoration:none;color:var(--acc)}

/* ===== 求人掲載・求人一覧・求人詳細（2026-10-05） ===== */
.card__no{display:block;font-family:var(--f-disp);font-size:.7rem;color:var(--acc);margin-bottom:14px;letter-spacing:.08em}
.plans{display:grid;gap:14px;margin-bottom:18px}
@media (min-width:760px){ .plans{grid-template-columns:1fr 1fr;align-items:stretch} }
.plan{position:relative;display:grid;align-content:start;gap:6px;padding:clamp(24px,4vw,40px);border-radius:var(--r);border:1px solid var(--line);background:var(--ink-2);min-width:0}
.plan--rec{border-color:var(--acc);background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 12%,var(--ink-2)),var(--ink-2) 60%)}
.plan__rec{position:absolute;top:18px;right:18px;cursor:default}
.plan__name{margin:0;font-family:var(--f-jp-disp);font-weight:900;font-size:1.2rem}
.plan__price{margin:.4em 0 0;font-family:var(--f-disp);font-weight:800;font-size:clamp(2.2rem,7vw,3.4rem);line-height:1;color:var(--acc)}
.plan__term{margin:0 0 14px;color:var(--mute);font-weight:700}
.plan__list{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:10px}
.plan__list li{position:relative;padding-left:26px;font-size:.94rem}
.plan__list li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(-45deg)}

.opf{display:grid;gap:12px;margin-bottom:24px;padding:16px;border-radius:var(--r);background:var(--ink-2);border:1px solid var(--line)}
.opf__g{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.opf__g > span{font-size:.78rem;color:var(--mute);min-width:4.5em}
.opf__g button{border:1px solid var(--line-2);background:var(--ink-3);color:var(--fg);padding:.5em 1em;border-radius:99px;font-size:.84rem;font-weight:600;cursor:pointer}
.opf__g button[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.opf__n{margin:0;font-size:.86rem;color:var(--mute)}
.opf__n b{font-family:var(--f-disp);font-size:1.3rem;color:var(--fg);margin-right:.25em}
.opcards{display:grid;gap:14px}
@media (min-width:700px){ .opcards{grid-template-columns:1fr 1fr} }
@media (min-width:1080px){ .opcards{grid-template-columns:repeat(3,1fr)} }
.opcard{min-width:0}
.opcard[hidden]{display:none}
.opcard__a{display:grid;height:100%;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--ink-2);color:inherit;text-decoration:none;transition:border-color .3s,transform .5s var(--ease)}
.opcard__a:hover{border-color:var(--acc);transform:translateY(-3px)}
.opcard figure{position:relative;aspect-ratio:3/2;overflow:hidden}
.opcard figure img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.opcard__a:hover figure img{transform:scale(1.05)}
.opcard__feat{position:absolute;top:12px;left:12px;cursor:default}
.opcard__b{display:grid;align-content:start;gap:8px;padding:18px 20px 20px}
.opcard__meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0;font-size:.76rem;color:var(--acc);font-weight:700}
.opcard h3{margin:0;font-family:var(--f-jp-disp);font-weight:900;font-size:1.12rem;line-height:1.45}
.opcard__co{margin:0;font-size:.84rem;color:var(--mute)}
.opcard__dl{margin:4px 0 0;display:grid;gap:4px;font-size:.86rem}
.opcard__dl div{display:grid;grid-template-columns:5.5em 1fr;gap:8px}
.opcard__dl dt{color:var(--mute)}
.opcard__dl dd{margin:0}
.opcard__tags li{font-size:.74rem;padding:.35em .8em}
.opcard__more{margin-top:6px;font-weight:700;font-size:.86rem;color:var(--acc)}
.opempty{display:grid;gap:10px;padding:clamp(28px,5vw,48px);border-radius:var(--r);border:1px dashed var(--line-2);background:var(--ink-2)}
.opempty p{margin:0;color:var(--mute);max-width:40em}
.opbiz{margin-top:clamp(40px,7vw,80px)}

.jd-h1{font-size:clamp(1.7rem,5.6vw,3.4rem)!important;line-height:1.3;max-width:22em}
.jd-co{margin:.8rem 0 1rem;color:var(--mute);font-weight:700}
.jd-facts{display:grid;gap:1px;margin:22px 0 0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--line)}
@media (min-width:760px){ .jd-facts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))} }
.jd-facts div{display:grid;gap:4px;padding:16px 18px;background:rgba(18,16,25,.88)}
.jd-facts dt{font-size:.74rem;color:var(--mute)}
.jd-facts dd{margin:0;font-weight:700}
.jd-sum p{font-size:1.02rem}
.jd-for{display:grid;gap:4px;margin:22px 0 0;padding:16px 18px;border-radius:14px;border:1px solid var(--acc);background:var(--ink-2)}
.jd-for span{font-size:.74rem;color:var(--acc);font-weight:700}
.jd-for small{color:var(--mute)}
.opsearch__row{display:grid;gap:10px}
@media (min-width:760px){ .opsearch__row{grid-template-columns:1fr 1fr 1.4fr} }
.opsearch label{display:grid;gap:4px;font-size:.78rem;color:var(--mute)}
.opsearch label.check{display:flex;align-items:center;gap:8px;color:var(--fg);font-size:.86rem}
.opsearch select,.opsearch input[type=search]{width:100%;padding:.7em .9em;border-radius:12px;border:1px solid var(--line-2);background:var(--ink-3);color:var(--fg);font:inherit;font-size:.92rem}
.oppager{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:22px;font-size:.9rem;color:var(--mute)}
.oppager button{border:1px solid var(--line-2);background:var(--ink-3);color:var(--fg);padding:.6em 1.1em;border-radius:99px;font-weight:700;cursor:pointer}
.oppager button[disabled]{opacity:.35;cursor:default}

/* ===== グループ会社・ブランド（2026-10-05） ===== */
.grp{display:grid;gap:clamp(28px,5vw,56px)}
.grp__item{display:grid;gap:22px;align-items:center;padding:clamp(16px,2.4vw,22px);border-radius:calc(var(--r) + 6px);border:1px solid var(--line);background:var(--ink-2)}
@media (min-width:900px){ .grp__item{grid-template-columns:1.15fr 1fr;gap:44px} .grp__item--rev .grp__cover{order:2} }
.grp__item--plain{display:block;padding:clamp(24px,4vw,40px)}
.grp__cover{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9}
.grp__cover img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.grp__cover:hover img{transform:scale(1.04)}
.grp__body{display:grid;gap:10px;align-content:start;min-width:0}
.grp__logo{width:88px;height:88px;border-radius:20px;overflow:hidden;border:1px solid var(--line-2);display:grid;place-items:center}
.grp__logo img{width:100%;height:100%;object-fit:contain}
.grp__cat{margin:6px 0 0;color:var(--acc);font-weight:700;font-size:.82rem;letter-spacing:.04em}
.grp__name{margin:0;font-size:clamp(1.8rem,4.6vw,2.8rem)}
.grp__name small{display:block;margin-top:6px;font-family:var(--f-disp);font-size:.72rem;letter-spacing:.18em;color:var(--mute);font-weight:500}
.grp__text{margin:0;color:var(--mute);max-width:36em}

/* ===== SEOコラム・図解ブロック（2026-10-05） ===== */
.colcard__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.colcard__tags span{font-size:.68rem;font-weight:700;padding:.25em .7em;border-radius:99px;border:1px solid var(--line-2);color:var(--acc)}
.art--rich .art__head{padding-bottom:clamp(32px,6vw,64px)}
.art__h1{font-size:clamp(1.6rem,4.6vw,2.8rem)!important;line-height:1.35;max-width:24em;word-break:auto-phrase}
.art__lead{margin:1.2rem 0 0;max-width:44em;color:var(--fg);font-size:1.02rem;line-height:1.95}
.art__body--rich{max-width:860px}
.art__body--rich > p{font-size:1rem}
.ctoc{margin:0 0 28px;padding:20px 22px;border-radius:var(--r);border:1px solid var(--line);background:var(--ink-2)}
.ctoc__t{margin:0 0 8px;font-weight:900;font-family:var(--f-jp-disp);color:var(--fg)}
.ctoc ol{margin:0;padding-left:1.4em;display:grid;gap:4px;color:var(--mute)}
.ctoc a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line-2)}
.ctoc a:hover{color:var(--acc)}
.cstats{display:grid;gap:10px;margin:22px 0}
@media (min-width:640px){ .cstats{grid-template-columns:repeat(3,1fr)} }
.cstats div{padding:20px;border-radius:var(--r);background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 14%,var(--ink-2)),var(--ink-2) 70%);border:1px solid var(--line);display:grid;gap:4px}
.cstats b{font-family:var(--f-disp);font-size:clamp(1.5rem,4.4vw,2.1rem);color:var(--acc);line-height:1.1}
.cstats span{font-size:.82rem;color:var(--mute)}
.ccards{display:grid;gap:10px;margin:20px 0;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
@media (min-width:640px){ .ccards{grid-template-columns:1fr 1fr} }
@media (min-width:980px){ .ccards{grid-template-columns:repeat(3,1fr)} }
.ccard{padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--ink-2);display:grid;gap:4px;align-content:start}
.ccard__n{font-family:var(--f-disp);font-size:.62rem;color:var(--acc);letter-spacing:.1em}
.ccard b{font-family:var(--f-jp-disp);font-size:1rem;color:var(--fg)}
.ccard p{margin:0;font-size:.86rem;line-height:1.7;color:var(--mute)}
.cflow{list-style:none;margin:22px 0;padding:0;display:grid;gap:10px;counter-reset:cf}
@media (min-width:900px){ .cflow{grid-auto-flow:column;grid-auto-columns:1fr} }
.cflow li{position:relative;counter-increment:cf;padding:44px 16px 16px;border-radius:14px;background:var(--ink-2);border:1px solid var(--line);display:grid;gap:6px;align-content:start}
.cflow li::before{content:"STEP " counter(cf);position:absolute;top:14px;left:16px;font-family:var(--f-disp);font-size:.62rem;letter-spacing:.12em;color:var(--acc-ink);background:var(--acc);padding:.3em .7em;border-radius:99px}
@media (min-width:900px){ .cflow li:not(:last-child)::after{content:"";position:absolute;right:-9px;top:50%;width:10px;height:10px;border-top:2px solid var(--acc);border-right:2px solid var(--acc);transform:translateY(-50%) rotate(45deg);z-index:1;background:var(--ink)} }
.cflow b{font-family:var(--f-jp-disp);color:var(--fg);font-size:1rem}
.cflow span{font-size:.86rem;color:var(--mute);line-height:1.7}
.ctbl{margin:20px 0}
.ctbl th[scope=row]{color:var(--fg);white-space:nowrap;font-weight:700}
.ctbl thead th:not(:first-child){color:var(--acc)}
@media (max-width:640px){ .ctbl th[scope=row]{white-space:normal} }
.cbars{margin:22px 0;padding:18px;border-radius:var(--r);border:1px solid var(--line);background:var(--ink-2);display:grid;gap:10px}
.cbars figcaption{font-size:.8rem;color:var(--mute)}
.cbar{display:grid;grid-template-columns:8.5em 1fr auto;gap:10px;align-items:center;font-size:.86rem}
.cbar__l{color:var(--fg)}
.cbar__t{height:12px;border-radius:99px;background:var(--ink-3);overflow:hidden}
.cbar__t i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--acc-2),var(--acc))}
.cbar__v{font-family:var(--f-disp);font-size:.78rem;color:var(--mute);min-width:6.5em;text-align:right}
@media (max-width:520px){ .cbar{grid-template-columns:1fr auto} .cbar__t{grid-column:1/-1;grid-row:2} }
.callout{margin:20px 0;padding:16px 18px;border-radius:14px;border:1px solid var(--line-2);background:var(--ink-2);display:grid;gap:4px}
.callout b{font-size:.76rem;letter-spacing:.06em;color:var(--acc)}
.callout p{margin:0;font-size:.9rem;line-height:1.8;color:var(--fg)}
.callout--warn{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 9%,var(--ink-2))}
.callout--warn b{color:var(--warn)}
.ccheck{list-style:none;margin:20px 0;padding:0!important;display:grid;gap:8px}
.ccheck li{position:relative;padding:12px 14px 12px 42px;border-radius:12px;background:var(--ink-2);border:1px solid var(--line);color:var(--fg);font-size:.92rem}
.ccheck li::before{content:"";position:absolute;left:16px;top:1.05em;width:12px;height:7px;border-left:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(-45deg)}
.crel{display:grid;gap:10px;margin:16px 0}
@media (min-width:640px){ .crel{grid-template-columns:1fr 1fr} }
.crel a{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;padding:10px;border-radius:14px;border:1px solid var(--line);background:var(--ink-2);text-decoration:none;color:var(--fg);font-weight:700;font-size:.9rem;line-height:1.5}
.crel a:hover{border-color:var(--acc)}
.crel img{width:120px;height:68px;object-fit:cover;border-radius:10px}
.ccta{margin:40px 0 0;display:grid;gap:12px}
@media (min-width:900px){ .ccta{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))} }
.ccta__b{padding:clamp(22px,3vw,32px);border-radius:var(--r);border:1px solid var(--acc);background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 12%,var(--ink-2)),var(--ink-2) 65%);display:grid;gap:8px;align-content:start}
.ccta__b b{font-family:var(--f-jp-disp);font-size:1.3rem;color:var(--fg)}
.ccta__b p:not(.eyebrow){margin:0;color:var(--mute);font-size:.92rem}
.cauthor{margin:40px 0 0;padding:18px;border-radius:var(--r);border:1px dashed var(--line-2);display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:start}
.cauthor img{width:72px;height:auto}
.cauthor b{color:var(--fg);font-size:.92rem}
.cauthor p{margin:4px 0 0;font-size:.84rem;color:var(--mute);line-height:1.8}
.cauthor a{color:var(--acc)}

/* ===== コラム：明るいテーマ（2026-10-05） ===== */
body[data-light]{background:#FFFFFF}
body[data-light]::before{display:none}
body[data-light] .hdr{background:rgba(12,10,18,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:rgba(255,255,255,.06)}
body[data-light] main{
  --ink:#FFFFFF; --ink-2:#F7F5FA; --ink-3:#EFEBF5;
  --line:rgba(22,18,34,.10); --line-2:rgba(22,18,34,.18);
  --fg:#17141F; --mute:#5D5770; --dim:#8A8499;
  --acc:#9A7430; --acc-2:#C9A45A; --acc-ink:#FFFFFF; --warn:#C2581B;
  background:#FFFFFF; color:var(--fg)}
body[data-light][data-mode="talent"] main{ --acc:#6A4BC4; --acc-2:#9C82E6; --acc-ink:#FFFFFF }
body[data-light] main .phero{padding-top:clamp(110px,14vw,150px)}
body[data-light] main .phero__bg img{opacity:.16}
body[data-light] main .phero__bg::after{background:linear-gradient(to bottom,rgba(255,255,255,.55),#fff 92%)}
body[data-light] main .h-hero,body[data-light] main .h2,body[data-light] main h1,body[data-light] main h2,body[data-light] main h3{color:var(--fg)}
body[data-light] main .btn{color:var(--fg);border-color:var(--line-2);background:#fff}
body[data-light] main .btn--acc{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 10px 26px -12px color-mix(in srgb,var(--acc) 70%,transparent)}
body[data-light] main .colcard{background:#fff;box-shadow:0 1px 0 var(--line),0 18px 40px -30px rgba(23,20,31,.35)}
body[data-light] main .colcard h3{color:var(--fg)}
body[data-light] main .art__fig--hero{max-width:none;aspect-ratio:21/9;margin:0 0 40px;box-shadow:0 30px 60px -40px rgba(23,20,31,.5)}
@media (max-width:640px){ body[data-light] main .art__fig--hero{aspect-ratio:16/10} }
body[data-light] main .ctoc,body[data-light] main .ccard,body[data-light] main .cflow li,body[data-light] main .ccheck li,body[data-light] main .cbars,body[data-light] main .crel a{background:#fff;box-shadow:0 14px 34px -30px rgba(23,20,31,.4)}
body[data-light] main .cstats div{background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 10%,#fff),#fff 70%)}
body[data-light] main .cflow li::after{background:#fff}
body[data-light] main .ccta__b{background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 9%,#fff),#fff 65%)}
body[data-light] main .tbl th{background:var(--ink-2)}
body[data-light] main .ctbl thead th:not(:first-child){color:var(--acc)}
body[data-light] main .callout--warn{background:color-mix(in srgb,var(--warn) 7%,#fff)}
body[data-light] main .art__body h2{border-left-color:var(--acc)}
body[data-light] main .bc a,body[data-light] main .bc li{color:var(--mute)}
body[data-light] main .eyebrow{color:var(--acc)}
body[data-light] main .note,body[data-light] main .lead{color:var(--mute)}
body[data-light] main .art__lead{color:var(--fg)}
body[data-light] main .faq summary{color:var(--fg)}
body[data-light] .cauthor img{filter:none}
body[data-light] .ftr{background:#0C0A12;margin-top:clamp(40px,6vw,80px)}

/* ===== SEOカテゴリー・求人の固有化（2026-10-05h） ===== */
.cexpert{margin:24px 0;padding:22px 22px 18px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--acc) 35%,var(--line));background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 10%,var(--ink-2)),var(--ink-2) 70%);display:grid;gap:10px}
.cexpert__t{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--acc)}
.cexpert__t::before{content:"PRO ";font-family:var(--f-disp)}
.cexpert ul{margin:0;padding-left:1.1em;display:grid;gap:6px}
.cexpert li,.cexpert p{margin:0;font-size:.92rem;line-height:1.8;color:var(--fg)}
.cexpert__a{font-size:.86rem;font-weight:700;color:var(--acc);text-decoration:none}
.cexpert__a:hover{text-decoration:underline}
.catlist{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.catlist a{display:grid;gap:4px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--ink-2);text-decoration:none;color:var(--fg);transition:border-color .2s,transform .2s}
.catlist a:hover{border-color:var(--acc);transform:translateY(-1px)}
.catlist b{font-size:.92rem;line-height:1.5}
.catlist span{font-size:.78rem;color:var(--mute)}
.catlinks{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}
.catlinks a{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid var(--line-2);font-size:.84rem;color:var(--fg);text-decoration:none;background:var(--ink)}
.catlinks a:hover{border-color:var(--acc);color:var(--acc)}
.catlinks small{font-size:.72rem;color:var(--dim)}
.catlinks__l{width:100%;font-size:.78rem;color:var(--mute);font-weight:700}
.cat__h{margin:48px 0 18px;display:flex;align-items:baseline;gap:12px}
.cat__h small{font-size:.9rem;color:var(--mute);font-weight:400}
.cbar__l a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--acc) 50%,transparent);text-underline-offset:3px}
.catnav{margin:36px 0;padding:24px;border-radius:var(--r);border:1px solid var(--line);background:var(--ink-2);display:grid;gap:24px}
@media (min-width:900px){ .catnav{grid-template-columns:1.4fr 1fr} }
.catnav h3{font-size:.95rem;margin:0 0 10px}
.catnav__r{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;align-items:center}
.catnav__r b{font-size:.76rem;color:var(--mute);min-width:6.5em}
.catnav__r a{padding:5px 11px;border-radius:999px;border:1px solid var(--line-2);font-size:.8rem;color:var(--fg);text-decoration:none;display:inline-flex;gap:5px}
.catnav__r a:hover{border-color:var(--acc);color:var(--acc)}
.catnav__r small{color:var(--dim);font-size:.7rem}
.catnav__all a{color:var(--acc);font-weight:700;text-decoration:none;font-size:.88rem}
.jdpt{display:grid;gap:14px}
.jdpt__dl{display:grid;gap:10px;margin:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.jdpt__dl div{padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--ink-2)}
.jdpt__dl dt{font-size:.74rem;color:var(--acc);font-weight:700;letter-spacing:.04em;margin-bottom:4px}
.jdpt__dl dd{margin:0;font-size:.9rem;line-height:1.6}
.jdpt .cexpert{margin:0}
.jdpt .catlinks{margin:0}
body[data-light] main .catlist a,body[data-light] main .jdpt__dl div{background:#fff;box-shadow:0 12px 30px -28px rgba(23,20,31,.45)}
body[data-light] main .catlinks a{background:#fff}
body[data-light] main .cexpert{background:linear-gradient(160deg,color-mix(in srgb,var(--acc) 8%,#fff),#fff 70%)}
body[data-light] main .opcard{background:#fff;box-shadow:0 1px 0 var(--line),0 18px 40px -30px rgba(23,20,31,.35)}
.catpg .cstats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.cstats--sm{margin:0 0 14px}
.cstats--sm div{padding:14px}
.cstats--sm b{font-size:1.4rem}
.catpg .cat__h{font-size:clamp(1.4rem,3vw,1.9rem)}
.ctags{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:16px 0 24px}
.ctags div{padding:16px;border-radius:12px;border:1px solid var(--line);background:var(--ink-2);display:grid;gap:4px}
.ctags b{font-family:var(--f-disp);font-size:1.5rem;color:var(--acc)}
.ctags span{font-size:.82rem;color:var(--mute)}
body[data-light] main .ctags div{background:#fff;box-shadow:0 12px 30px -28px rgba(23,20,31,.45)}
.jdarea{display:grid;gap:14px}
.jdarea__g{display:grid;gap:18px}
@media (min-width:860px){ .jdarea__g{grid-template-columns:1fr 1.1fr;align-items:start} }
.jdarea__img{margin:0;border-radius:var(--r);overflow:hidden;position:relative}
.jdarea__img img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.jdarea__img figcaption{position:absolute;left:12px;bottom:10px;padding:4px 10px;border-radius:999px;background:rgba(9,8,13,.7);color:#fff;font-size:.78rem}
.jdmulti{padding:16px 18px;border-radius:12px;border:1px dashed var(--line-2)}
.jdmulti p{margin:0 0 8px;font-size:.9rem;line-height:1.7}
.jd-h1__loc{display:block;font-size:.5em;margin-top:8px;color:var(--acc-2);font-weight:700}
.prefgrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:14px 0 28px}
.prefgrid a{position:relative;display:block;border-radius:12px;overflow:hidden;text-decoration:none;color:#fff;aspect-ratio:16/10}
.prefgrid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.prefgrid a:hover img{transform:scale(1.06)}
.prefgrid a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,10,18,.7),transparent 60%)}
.prefgrid b,.prefgrid small{position:absolute;left:10px;z-index:1}
.prefgrid b{bottom:22px;font-size:.92rem}
.prefgrid small{bottom:7px;font-size:.72rem;opacity:.85}
