@charset "UTF-8";
/* Wad-Creative コーポレートサイト：LEAD OTAKU LPのトーン（方眼・黒帯・オレンジグラデ・ぐるぐる眼鏡のオタク）をレスポンシブに展開 */
:root{
  color-scheme: light;
  --ink:#1c1917;
  --ink-2:#2a2623;
  --paper:#ffffff;
  --card:#f4f4f2;
  --gray:#e8e8e8;
  --mute:#6b6661;
  --line:rgba(28,25,23,.09);
  --line-dark:rgba(255,255,255,.07);
  --orange:#fb8619;
  --orange-2:#fb4a19;
  --grad:linear-gradient(90deg,var(--orange) 0%,var(--orange-2) 100%);
  --lime:#c6f23a;
  --violet:#7b3fe4;
  --red:#e8322a;
  --green:#22a24a;
  --f-sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --f-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --f-en:"Inter","Noto Sans JP","Helvetica Neue",Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --hd:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 8px);-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;background:var(--gray);color:var(--ink);font-family:var(--f-sans);font-weight:500;font-size:15px;line-height:1.85;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
.sp{display:inline}
@media (min-width:768px){.sp{display:none}}

/* ---------- grid backgrounds ---------- */
.grid-w{background-color:var(--card);background-image:linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px);background-size:20px 20px}
.grid-d{background-color:var(--ink);color:var(--paper);background-image:linear-gradient(to right,var(--line-dark) 1px,transparent 1px),linear-gradient(to bottom,var(--line-dark) 1px,transparent 1px);background-size:30px 30px}
.grid-o{background-color:var(--orange-2);color:var(--paper);background-image:linear-gradient(to right,rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(135deg,#ff9a2a,var(--orange-2));background-size:30px 30px,30px 30px,100% 100%}

/* ---------- shared ---------- */
.wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:max(18px,env(safe-area-inset-left,0px))}
.sec{padding-block:80px}
.sec--s{padding-block:32px!important}
.sec__head{text-align:center;margin-bottom:40px}
.sec__head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;text-align:left}
.sec__lead{margin-top:16px;font-weight:700;font-size:14.5px;line-height:1.9;color:var(--mute)}
.grid-d .sec__lead{color:#c9c4bb}
.sec__lead--l{text-align:left}
.logo{display:inline-flex;align-items:baseline;gap:.18em;font-family:var(--f-en);font-style:italic;font-weight:900;letter-spacing:-.02em;line-height:1;white-space:nowrap;text-decoration:none}
.logo span:last-child{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.logo--w{color:var(--paper)}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:13px;letter-spacing:.14em;color:var(--orange-2)}
.eyebrow::before,.eyebrow::after{content:"";width:22px;height:2px;background:currentColor}
.eyebrow--l{justify-content:flex-start}
.eyebrow--l::after{display:none}
.eyebrow--w{color:var(--paper)}
.h2{margin-top:10px;font-family:var(--f-serif);font-weight:900;font-size:clamp(27px,7.6vw,44px);line-height:1.42;text-wrap:balance;letter-spacing:.02em}
.h2--w{color:var(--paper)}
.h2--l{text-align:left}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.marker{font-weight:900;background:linear-gradient(to bottom,transparent 62%,var(--lime) 62%,var(--lime) 94%,transparent 94%);padding-inline:2px}
.bars{display:grid;justify-items:center;gap:8px}
.bars--l{justify-items:start}
.bar{display:inline-block;background:var(--ink);color:var(--paper);font-weight:900;line-height:1.35;padding:5px 12px 6px;letter-spacing:.02em}
.bar b{color:var(--orange)}
.more{flex:none;display:inline-flex;align-items:center;gap:10px;font-weight:900;font-size:14px;text-decoration:none;padding:9px 16px;border:2px solid var(--ink);border-radius:99px;background:var(--paper);transition:background .2s,color .2s}
.more i{font-style:normal;transition:transform .2s}
.more:hover{background:var(--ink);color:var(--paper)}
.more:hover i{transform:translateX(4px)}

/* reveal */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.9,.2,1)}
.js .rv.is-in{opacity:1;transform:none}
.js .bars.rv{opacity:1;transform:none}
.js .bars.rv .bar{clip-path:inset(0 100% 0 0);transition:clip-path .55s cubic-bezier(.7,0,.2,1)}
.js .bars.rv.is-in .bar{clip-path:inset(0 0 0 0)}
.bars .bar:nth-child(2){transition-delay:.15s}

/* buttons */
.btns{display:grid;gap:12px;justify-items:center}
.btn{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:min(100%,400px);min-height:66px;padding:10px 54px 10px 26px;border-radius:999px;text-decoration:none;font-weight:900;font-size:17px;line-height:1.3;letter-spacing:.03em;overflow:hidden;isolation:isolate;transition:transform .18s,box-shadow .18s}
.btn small{display:block;font-weight:700;font-size:11.5px;letter-spacing:.08em;opacity:.95}
.btn__txt{text-align:center}
.btn--or{background:var(--grad);color:var(--paper);border:3px solid var(--paper);box-shadow:0 0 0 2px var(--orange-2),0 8px 18px rgba(251,74,25,.35)}
.btn--ink{background:var(--ink);color:var(--paper);border:3px solid var(--paper);box-shadow:0 0 0 2px var(--ink),0 8px 18px rgba(28,25,23,.25)}
.btn::after{content:"";position:absolute;inset:-20% auto -20% -40%;width:26%;background:rgba(255,255,255,.35);transform:skewX(-20deg);animation:shine 3.6s ease-in-out infinite;z-index:-1}
.btn:hover{transform:translateY(-2px)}
.btn__arrow{position:absolute;right:18px;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--orange-2)}
.btn--ink .btn__arrow{color:var(--ink)}
.btn__arrow svg{width:10px;height:10px}

/* character + spinning lenses */
.char{position:relative;display:block;line-height:0}
.char img,.lens-overlay{width:100%;height:auto;display:block;max-width:100%;padding:0;margin:0;border:0}
.lens-overlay{position:absolute;top:0;left:0;pointer-events:none}

/* ---------- HEADER ---------- */
.hd{position:fixed;inset:0 0 auto;z-index:50;padding:10px max(10px,env(safe-area-inset-right,0px)) 0 max(10px,env(safe-area-inset-left,0px));transition:padding .3s}
.hd__in{max-width:1220px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--hd);background:var(--ink);border:2px solid var(--orange);border-radius:16px;padding:0 10px 0 18px;color:var(--paper);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.hd .logo{font-size:24px;color:var(--paper)}
.burger{position:relative;width:44px;height:44px;border:0;border-radius:12px;background:var(--grad);cursor:pointer}
.burger i{position:absolute;left:12px;right:12px;height:2.5px;border-radius:2px;background:var(--paper);transition:transform .3s,top .3s}
.burger i:first-child{top:16px}.burger i:last-child{top:25px}
.is-open .burger i:first-child{top:20.5px;transform:rotate(45deg)}
.is-open .burger i:last-child{top:20.5px;transform:rotate(-45deg)}
.gnav{position:fixed;left:10px;right:10px;top:calc(var(--hd) + 20px);display:grid;gap:2px;background:var(--ink);border:2px solid var(--orange);border-radius:16px;padding:12px 16px 18px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s,transform .25s,visibility .25s}
.is-open .gnav{opacity:1;visibility:visible;transform:none}
.gnav a{display:flex;align-items:baseline;justify-content:space-between;padding:12px 4px;border-bottom:1px dashed rgba(255,255,255,.15);text-decoration:none;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:20px;letter-spacing:.04em}
.gnav a small{font-family:var(--f-sans);font-style:normal;font-weight:700;font-size:12px;color:#a8a39b}
.gnav .gnav__cta{margin-top:12px;justify-content:center;border:0;border-radius:99px;background:var(--grad);font-family:var(--f-sans);font-style:normal;font-size:16px;padding:14px}
@media (min-width:1024px){
  .burger{display:none}
  .gnav{position:static;display:flex;align-items:center;gap:4px;padding:0;border:0;background:none;opacity:1;visibility:visible;transform:none}
  .gnav a{display:grid;justify-items:center;line-height:1.1;padding:6px 11px;border:0;font-size:13.5px;border-radius:10px;transition:background .2s}
  .gnav a small{font-size:10px;margin-top:3px}
  .gnav a:not(.gnav__cta):hover{background:rgba(255,255,255,.08)}
  .gnav .gnav__cta{margin:0 0 0 8px;padding:11px 20px;font-size:14px}
}

/* ---------- HERO ---------- */
.hero{--tk:54px;position:relative;display:flex;flex-direction:column;min-height:min(calc(100svh - var(--tk)),980px);padding-top:calc(var(--hd) + 22px);overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(to bottom,transparent,rgba(251,74,25,.18));pointer-events:none}
.hero__in{position:relative;z-index:1;flex:1;width:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(190px,1fr);gap:0}
.hero__path{font-family:var(--f-mono);font-size:12px;color:#a8a39b;animation:fadeUp .6s both}
.hero__path .p{color:var(--lime)}
/* 「趣味＝」と「WEB集客。」を同じ文字サイズでそろえ、＝は趣味の直後に置く（PCでは1行） */
.hero__h1{margin-top:6px;line-height:1.02;letter-spacing:.01em;font-size:min(calc((100vw - 36px) / 4.9),96px);white-space:nowrap}
.hero__h1 .ln{display:block;overflow:hidden;padding-block:.05em}
.hero__h1 .ln > span{display:inline-block;animation:rise .9s cubic-bezier(.2,.9,.2,1) both}
.hero__h1 .l3 > span{animation-delay:.25s}
.hero__h1 .l1{font-family:var(--f-serif);font-weight:900}
.eq{display:inline-block;width:.86em;height:.4em;margin-left:.12em;vertical-align:.2em;border-block:.12em solid var(--orange);transform-origin:left;animation:eqIn .7s cubic-bezier(.7,0,.2,1) .55s both}
.hero__h1 .l3{font-weight:900}
.slot{background:linear-gradient(90deg,var(--orange) 0%,var(--orange-2) 40%,#ffb14a 50%,var(--orange-2) 60%,var(--orange) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .9s cubic-bezier(.2,.9,.2,1) .3s both,sheen 5s linear 1.5s infinite}
.slot.is-rolling{color:#8f8a83;background:none;-webkit-text-fill-color:currentColor}
.hero__h1 .dot{color:var(--paper);font-size:.55em}
.hero__bars{margin-top:14px}
.hero__bars .bar{background:var(--paper);color:var(--ink);font-size:clamp(15px,4.3vw,22px);padding:4px 11px 5px}
.hero__bars .bar b{color:var(--orange-2)}
.hero__bars .bar{clip-path:inset(0 100% 0 0);animation:barIn .6s cubic-bezier(.7,0,.2,1) 1s both}
.hero__bars .bar:nth-child(2){animation-delay:1.15s}
.hero__en{display:none;margin-top:16px;font-family:var(--f-en);font-style:italic;font-weight:800;font-size:11px;letter-spacing:.12em;color:#8f8a83;line-height:1.6;animation:fadeUp .7s 1.3s both}

.hero__stage{position:relative;container-type:size;margin-top:6px}
.ring{position:absolute;left:50%;top:52%;width:min(78vw,380px,92cqmin);aspect-ratio:1;translate:-50% -50%;border:2px dashed rgba(255,255,255,.22);border-radius:50%;animation:spin 30s linear infinite}
.ring::before{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--orange-2)}
.ring--s{width:min(52vw,250px,62cqmin);border-color:rgba(251,134,25,.45);animation-duration:18s;animation-direction:reverse}
.hero__team{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center}
.hero__team .char{flex:none;height:min(72%,38cqw);margin-inline:-2.5cqw;animation:slideUp .9s cubic-bezier(.2,.9,.2,1) both,float 3.4s ease-in-out .9s infinite}
.hero__team .char img,.hero__team .char .lens-overlay{width:auto;height:100%}
.hero__team .char:nth-child(1){animation-delay:.5s,.5s}.hero__team .char:nth-child(2){animation-delay:.35s,.35s}.hero__team .char:nth-child(3){animation-delay:.6s,.6s}.hero__team .char:nth-child(4){animation-delay:.7s,.7s}
.hero__team .char:nth-child(odd){animation:slideUp .9s cubic-bezier(.2,.9,.2,1) both,float 3.4s ease-in-out -0.8s infinite}
.hero__team .char--main{height:min(97%,51cqw);z-index:2}
.term{position:absolute;right:0;top:0;z-index:3;background:#0f0d0c;border:1.5px solid #3a3531;color:#e9e6df;border-radius:10px;padding:6px 10px 8px;font-family:var(--f-mono);font-size:10px;line-height:1.7;box-shadow:0 8px 20px rgba(0,0,0,.35);animation:fadeUp .7s 1.5s both}
.hero .term{display:none}
.term__dots{display:flex;gap:4px;margin-bottom:5px}
.term__dots i{width:7px;height:7px;border-radius:50%;background:#5a5550}
.term__dots i:first-child{background:var(--orange-2)}.term__dots i:nth-child(2){background:#f5c03a}.term__dots i:nth-child(3){background:var(--green)}
.term .p{color:var(--orange)}
.term .ok{color:var(--lime)}
.typing::after{content:"";display:inline-block;width:6px;height:1.05em;background:var(--lime);vertical-align:-2px;margin-left:2px;animation:caret .8s steps(1) infinite}
.hero__scroll{position:absolute;z-index:2;left:max(18px,calc((100vw - 1180px) / 2 + 18px));bottom:22px;display:none;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:11px;letter-spacing:.2em;color:#a8a39b;text-decoration:none;writing-mode:vertical-rl}
.hero__scroll::after{content:"";display:block;width:2px;height:56px;margin:10px auto 0;background:linear-gradient(var(--orange) 50%,rgba(255,255,255,.2) 50%);background-size:100% 200%;animation:scrollLine 1.6s linear infinite}
@media (min-width:768px){
  .hero{padding-top:calc(var(--hd) + 34px)}
  .hero__in{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto minmax(330px,1fr);grid-template-areas:"head head" "txt stage";align-items:end;column-gap:20px;row-gap:0}
  .hero__head{grid-area:head}
  .hero__txt{grid-area:txt;padding-bottom:44px}
  .hero__stage{grid-area:stage;align-self:stretch;margin-top:0}
  .hero__h1{font-size:min(calc((min(100vw,1180px) - 40px) / 8.7),142px,15svh)}
  .hero__h1 .ln{display:inline-block;vertical-align:bottom}
  .hero__h1 .l1{margin-right:.14em}
  .hero__bars .bar{font-size:clamp(17px,1.8vw,24px)}
  .hero__en{display:block;font-size:12px}
  .ring{width:min(460px,86cqmin)}
  .ring--s{width:min(340px,62cqmin)}
  .hero .term{display:block;font-size:12.5px;top:8%;padding:8px 12px 10px}

}

/* ticker */
.ticker{background:var(--orange-2);color:var(--paper);overflow:hidden;white-space:nowrap;border-block:2px solid var(--ink)}
.ticker__track{display:inline-flex;animation:marquee 26s linear infinite}
.ticker__track span{flex:none;display:inline-flex;align-items:center;gap:18px;padding:10px 18px 10px 0;font-weight:900;font-size:16px;letter-spacing:.04em}
.ticker__track span::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink)}
/* result ticker */
.rticker{overflow:hidden;white-space:nowrap;background:var(--ink);border-block:2px solid var(--ink);padding:12px 0}
.rticker+.wrap{margin-top:56px}
.wrap+.rticker{margin-top:56px}
#what{padding-top:16px;padding-bottom:16px}
.rticker__track{display:inline-flex;will-change:transform}
.rticker__item{flex:none;display:inline-flex;align-items:center;white-space:nowrap;color:var(--paper);font-weight:900;font-size:18px;line-height:1;letter-spacing:.02em}
.rticker__item::after{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--paper);opacity:.35;margin:0 24px}
.rticker__item small{font-weight:600;opacity:.6}
.rticker__item b{color:var(--paper)}
.rticker__item em{font-style:normal;font-size:32px;font-family:var(--f-en);font-weight:900;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;vertical-align:-0.08em}

/* ---------- COMPANY / CONCEPT ---------- */
.concept{display:grid;gap:36px}
.concept__txt{display:grid;gap:18px;font-weight:700;font-size:16px;line-height:2}
.concept__txt b{font-weight:900;color:var(--orange-2)}
.voices{display:grid;gap:8px;justify-items:start}
.voices li{position:relative;font-weight:900;font-size:clamp(18px,5vw,24px);padding:2px 12px;background:var(--paper);border:2px solid var(--ink);border-radius:10px;color:var(--mute)}
.voices li::after{content:"";position:absolute;left:8px;right:8px;top:52%;height:3px;background:var(--orange-2);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.voices.is-in li::after{transform:scaleX(1)}
.voices.is-in li:nth-child(1)::after{transition-delay:.5s}.voices.is-in li:nth-child(2)::after{transition-delay:.8s}.voices.is-in li:nth-child(3)::after{transition-delay:1.1s}
.formula{align-self:start;background:var(--ink);color:#e9e6df;border-radius:18px;overflow:hidden;box-shadow:0 14px 30px rgba(28,25,23,.18);border:2px solid var(--ink)}
.formula__cap{display:flex;align-items:center;font-family:var(--f-mono);font-weight:700;font-size:12px;background:#0f0d0c;padding:8px 14px;color:#a8a39b}
.formula__cap::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange-2);box-shadow:13px 0 0 #f5c03a,26px 0 0 var(--green);margin-right:40px}
.formula ol{padding:14px 16px 6px;display:grid;gap:4px}
.formula li{display:grid;grid-template-columns:30px auto 26px 1fr;align-items:baseline;gap:6px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.12);font-weight:900;font-size:clamp(16px,4.6vw,22px);opacity:.15;transition:opacity .4s}
.formula.is-in li{opacity:1}
.formula.is-in li:nth-child(2){transition-delay:.4s}.formula.is-in li:nth-child(3){transition-delay:.8s}
.formula .n{font-family:var(--f-mono);font-size:11px;color:#6f6a63}
.formula .o{font-family:var(--f-mono);color:var(--orange);text-align:center}
.formula .v{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.formula__out{padding:12px 16px 18px;font-weight:900;font-size:15px;line-height:1.7;color:var(--paper)}
.formula__out .ok{font-family:var(--f-mono);font-weight:500;font-size:12px;color:var(--lime);display:block}
.mvv{display:grid;gap:16px;margin-top:56px}
.mvv__card{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:20px;padding:26px 20px 24px;overflow:hidden}
.mvv__card::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--grad)}
.mvv__label{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:13px;letter-spacing:.14em;color:var(--orange-2)}
.mvv__card h3{margin-top:6px;font-family:var(--f-serif);font-weight:900;font-size:clamp(20px,5.6vw,26px);line-height:1.5}
.mvv__card p:last-child{margin-top:12px;font-size:14px;line-height:1.9;color:var(--mute)}
@media (min-width:768px){
  .sec{padding-block:120px}
  .concept{grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
  .mvv{grid-template-columns:1fr 1fr;gap:24px}
  .mvv__card{padding:34px 32px 32px}
}

/* ---------- MEMBER ---------- */
.mlist{display:grid;grid-auto-flow:column;grid-auto-columns:min(72vw,280px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-18px;padding:6px 18px 14px;scrollbar-width:none;overscroll-behavior-y:contain;touch-action:pan-x}
.mlist::-webkit-scrollbar{display:none}
.mcard{scroll-snap-align:center;position:relative;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:22px;padding:14px 16px 18px;box-shadow:0 0 0 3px var(--c)}
.mcard__fig{position:relative;background:var(--card);background-image:linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px);background-size:16px 16px;border-radius:14px;height:210px;overflow:hidden}
.mcard__fig::before{content:"";position:absolute;left:50%;top:56%;width:170px;height:170px;margin:-85px 0 0 -85px;border-radius:50%;background:var(--c);opacity:.16}
.mcard__fig .char{position:absolute;left:50%;bottom:-40px;width:170px;margin-left:-85px;transition:transform .35s cubic-bezier(.2,.9,.2,1)}
.mcard__fig .char[data-char="director"]{bottom:-44px}
.mcard__fig .char[data-char="designer"]{bottom:-38px}
.mcard__fig .char[data-char="engineer"]{bottom:-48px}
.mcard__fig .char[data-char="editor"]{bottom:-50px}
.mcard:hover .mcard__fig .char{transform:translateY(-10px) rotate(-3deg)}
.mcard__role{display:inline-block;margin-top:14px;font-weight:900;font-size:15px;color:var(--paper);background:var(--c);border:2px solid var(--ink);border-radius:99px;padding:1px 14px}
.mcard__dl{margin-top:10px;display:grid;grid-template-columns:auto 1fr;gap:6px 10px;font-size:14px;line-height:1.6}
.mcard__dl dt{font-family:var(--f-mono);font-weight:700;font-size:11px;color:var(--paper);background:var(--ink);border-radius:5px;padding:2px 6px;align-self:start;margin-top:2px}
.mcard__dl dd{font-weight:700}
.mcard__dl dd:first-of-type{font-weight:900}
.mlist__hint{margin-top:8px;text-align:center;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:11px;letter-spacing:.2em;color:#8f8a83}
@media (min-width:1024px){
  .mlist{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);overflow:visible;margin:0;padding:6px 4px}
  .mlist__hint{display:none}
  .mlist .mcard:nth-child(2){transition-delay:.1s}.mlist .mcard:nth-child(3){transition-delay:.2s}.mlist .mcard:nth-child(4){transition-delay:.3s}
}

/* ---------- SERVICE ---------- */
.svc{display:grid;gap:18px}
.svc__card{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:22px;padding:24px 20px 22px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.svc__card:hover{transform:translateY(-4px);box-shadow:6px 8px 0 var(--ink)}
.svc__no{position:absolute;right:16px;top:6px;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:64px;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(28,25,23,.18)}
.svc__en{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:13px;letter-spacing:.12em;color:var(--orange-2)}
.svc__card h3{margin-top:4px;font-weight:900;font-size:22px;line-height:1.4}
.svc__card > p:not([class]){margin-top:12px;font-size:14px;line-height:1.9;color:var(--mute);padding-right:84px}
.svc__hobby{margin-top:16px;display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:900;font-size:13.5px;line-height:1.5;padding-right:84px}
.svc__hobby b{flex:none;font-size:11px;color:var(--ink);background:var(--lime);border:1.5px solid var(--ink);border-radius:99px;padding:1px 9px}
.svc__char{position:absolute;right:-14px;bottom:-36px;width:108px;transition:transform .3s}
.svc__card:hover .svc__char{transform:translateY(-8px)}
@media (min-width:768px){
  .svc{grid-template-columns:repeat(3,1fr);gap:22px}
  .svc__card{padding:30px 24px 140px}
  .svc__card > p:not([class]),.svc__hobby{padding-right:0}
  .svc__char{width:130px;right:14px;bottom:-40px}
}

/* ---------- ORIGINAL ---------- */
.orig__bars .bar{font-size:clamp(21px,6vw,38px);padding:6px 14px 8px}
.orig__box{display:grid;gap:10px;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:26px;padding:28px 20px 0;overflow:hidden;box-shadow:10px 12px 0 var(--ink)}
.orig__name{display:inline-block;font-weight:900;font-size:clamp(22px,6.2vw,30px);line-height:1.3;border-bottom:4px solid var(--orange-2);margin-bottom:8px}
.orig__txt{display:grid;gap:8px;justify-items:start;font-weight:700;font-size:14.5px;line-height:1.85}
.orig__price{display:flex;align-items:baseline;gap:4px;font-weight:900;font-size:20px;line-height:1}
.orig__price b{font-family:var(--f-en);font-style:italic;font-size:clamp(72px,20vw,104px);letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.orig__txt .btn{margin-top:12px}
.orig__team{position:relative;display:flex;align-items:flex-end;justify-content:center;margin-top:10px;padding-top:30px}
.orig__team .char{width:26%;margin-inline:-2%}
.orig__team .char:nth-child(2){width:30%;z-index:1}
.orig__team .char:nth-child(odd){animation:bob 2.6s ease-in-out infinite}
.orig__team .char:nth-child(even){animation:bob 2.6s ease-in-out -1.3s infinite}
.orig__tag{position:absolute;left:50%;top:0;translate:-50% 0;white-space:nowrap;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:12px;letter-spacing:.14em;color:var(--paper);background:var(--ink);border-radius:99px;padding:3px 12px}
.lo{display:flex;align-items:center;gap:14px;margin-top:30px;background:var(--ink);color:var(--paper);border:2px solid var(--paper);border-radius:18px;padding:16px 18px;text-decoration:none;transition:transform .2s}
.lo:hover{transform:translateY(-3px)}
.lo__badge{flex:none;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:11px;color:var(--ink);background:var(--lime);border-radius:6px;padding:2px 7px}
.lo__txt{flex:1;display:grid;gap:4px;font-size:13px}
.lo__txt b{font-weight:900}
.lo__txt .logo{font-size:26px}
.lo__arrow{flex:none;width:40px;height:40px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-weight:900}
@media (min-width:768px){
  .orig__box{grid-template-columns:1.1fr 1fr;align-items:end;gap:20px;padding:48px 44px 0}
  .orig__txt{padding-bottom:48px}
  .orig__team{margin-top:0}
  .lo{max-width:560px;margin-inline:auto;margin-top:40px}
}

/* ---------- CASE ---------- */
.cases{display:grid;gap:18px}
.case{display:block;background:var(--paper);border:2px solid var(--ink);border-radius:20px;overflow:hidden;text-decoration:none;transition:transform .25s,box-shadow .25s}
.case:hover{transform:translateY(-4px);box-shadow:6px 8px 0 var(--ink)}
.case__thumb{position:relative;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;border-bottom:2px solid var(--ink)}
.case__thumb>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case__thumb--1{background:var(--grad)}
.case__thumb--2{background:var(--grad)}
.case__thumb--3{background:var(--grad)}
.case__thumb::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.14) 1px,transparent 1px);background-size:20px 20px}
.case__thumb:has(>img)::before{display:none}.case__thumb:has(>img){background:var(--ink)}
.case__mock{position:relative;width:58%;aspect-ratio:16/10;background:var(--paper);border:2px solid var(--ink);border-radius:10px;padding:14px 12px;display:grid;gap:8px;align-content:start;transition:transform .4s cubic-bezier(.2,.9,.2,1)}
.case__mock::before{content:"";position:absolute;left:8px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--orange-2);box-shadow:9px 0 0 #f5c03a,18px 0 0 var(--green)}
.case__mock i{display:block;height:8px;border-radius:4px;background:var(--gray)}
.case__mock i:first-child{width:70%;height:14px;background:var(--ink)}
.case__mock i:last-child{width:45%;height:16px;background:var(--orange);border-radius:99px;margin-top:6px}
.case:hover .case__mock{transform:scale(1.06) rotate(-2deg)}
.case__body{padding:16px 18px 18px;color:var(--paper)}
.case .case__body{background:var(--ink-2)}
.case__cat{display:inline-block;font-weight:900;font-size:11.5px;padding:1px 10px;border-radius:99px;background:var(--ink);color:var(--paper)}
.case h3{margin-top:8px;font-weight:900;font-size:17px;line-height:1.5}
@media (min-width:768px){.cases{grid-template-columns:repeat(3,1fr);gap:22px}}

/* ---------- VALUE ---------- */
.vals{display:grid;gap:14px;counter-reset:v}
.val{position:relative;background:var(--ink-2);border:1.5px solid #3a3531;border-radius:18px;padding:24px 20px 22px 20px}
.val__no{display:inline-block;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:44px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.val h3{margin-top:8px;font-weight:900;font-size:20px;line-height:1.45}
.val p{margin-top:10px;font-size:14px;line-height:1.9;color:#c9c4bb}
.msg{margin-top:44px;background:var(--paper);color:var(--ink);border-radius:22px;padding:30px 22px 26px;position:relative}
.msg::before{content:"“";position:absolute;left:16px;top:-30px;font-family:var(--f-serif);font-weight:900;font-size:110px;line-height:1;color:var(--orange-2)}
.msg__ttl{font-family:var(--f-serif);font-weight:900;font-size:clamp(20px,5.6vw,28px);line-height:1.55;margin-bottom:14px}
.msg blockquote p:last-child{font-size:14.5px;line-height:1.95;color:var(--mute)}
.msg figcaption{margin-top:18px;text-align:right;font-size:13px;font-weight:700}
.msg figcaption b{font-weight:900;font-size:18px;margin-left:6px}
@media (min-width:768px){
  .vals{grid-template-columns:repeat(3,1fr);gap:20px}
  .vals .val:nth-child(2){transition-delay:.12s}.vals .val:nth-child(3){transition-delay:.24s}
  .msg{padding:46px 56px 40px;margin-top:64px}
}

/* ---------- NEWS ---------- */
.news{max-width:960px}
.news__list{background:var(--paper);border:2px solid var(--ink);border-radius:18px;overflow:hidden}
.news__list:has(.empty-msg){background:none;border:none}
.news__list:not(:has(li:not(.is-hidden))){border:none;background:none}
.news__list li + li{border-top:1.5px dashed #dedbd2}
.news__list a{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:6px 12px;padding:16px 18px;text-decoration:none;transition:background .2s}
.news__list a:hover{background:#fff6ee}
.news__list time{font-family:var(--f-mono);font-weight:700;font-size:13px;color:var(--mute)}
.news__cat{font-weight:900;font-size:11px;padding:0 9px;border-radius:99px;border:1.5px solid var(--orange-2);color:var(--orange-2);justify-self:start}
.news__ttl{grid-column:1/-1;font-weight:700;font-size:15px}
@media (min-width:768px){
  .news__list a{grid-template-columns:110px 90px 1fr 24px;padding:20px 26px}
  .news__ttl{grid-column:auto}
  .news__list a::after{content:"→";font-weight:900;color:var(--orange-2);transition:transform .2s}
  .news__list a:hover::after{transform:translateX(4px)}
}

/* ---------- CAREER ---------- */
.career{position:relative;padding-top:70px;overflow:hidden}
.career__in{display:grid;gap:10px}
.career__txt{display:grid;gap:16px;justify-items:start;font-weight:700;font-size:14.5px;line-height:1.9}
.career__h{display:grid;line-height:1.05;font-weight:900;font-size:min(calc((100vw - 36px) / 4.6),96px);letter-spacing:.01em}
.career__h span:last-child{font-family:var(--f-serif);color:var(--ink)}
.career__txt .btn{margin-top:6px}
.career__fig{position:relative;height:240px;margin-top:20px}
.career__bg{position:absolute;left:50%;top:10%;translate:-50% 0;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:48px;letter-spacing:.06em;color:var(--paper);opacity:.15;white-space:nowrap;pointer-events:none;z-index:1}
.career__sil{position:absolute;left:50%;bottom:-50px;width:52%;translate:-50% 0;line-height:0;filter:brightness(0) opacity(.7);animation:silFloat 3s ease-in-out infinite}
.career__sil img{width:100%;height:auto}
@keyframes silFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.career__slot{position:absolute;right:8%;bottom:20%;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:13px;line-height:1.1;color:var(--ink);background:var(--lime);border:2px solid var(--ink);border-radius:10px;padding:6px 10px;transform:rotate(6deg)}
@media (min-width:768px){
  .career{padding-top:100px}
  .career__in{grid-template-columns:1.2fr 1fr;align-items:end}
  .career__txt{padding-bottom:100px}
  .career__h{font-size:clamp(72px,9vw,120px)}
  .career__fig{height:440px}
  .career__bg{font-size:110px;top:-30%}
  .career__sil{bottom:-70px;width:65%}
  .career__slot{font-size:16px;padding:8px 12px;border-radius:12px;top:22%;bottom:auto;right:4%}
}

/* ---------- CONTACT ---------- */
.cta{position:relative;max-width:900px;margin-inline:auto;text-align:center;background:var(--paper);border:3px solid var(--ink);border-radius:30px;padding:44px 18px 34px;overflow:hidden}
.cta h2,.cta p{position:relative}
.cta__ring{position:absolute;left:50%;top:64%;width:300px;height:300px;margin:-150px 0 0 -150px;border:2px dashed rgba(28,25,23,.18);border-radius:50%;animation:spin 30s linear infinite}
.cta__team{position:relative;display:flex;align-items:flex-end;justify-content:center;margin:20px auto 18px;max-width:340px}
.cta__team .char{width:30%;margin-inline:-3%}
.cta__team .char--main{width:40%;z-index:1;animation:float 3s ease-in-out infinite}
.cta__team .char:not(.char--main){animation:bob 2.4s ease-in-out infinite}
.cta .btns{position:relative}
@media (min-width:768px){.cta{padding:64px 40px 48px}}

/* recruit message */
.rcmsg{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:420px}
.rcmsg .wrap{position:relative;z-index:2}
.rcmsg__chars{position:absolute;top:50%;display:flex;flex-direction:column;gap:16px;transform:translateY(-50%)}
.rcmsg__chars .char{width:clamp(100px,14vw,160px);opacity:.18}
.rcmsg__chars--l{left:clamp(8px,3vw,40px)}
.rcmsg__chars--l .char:first-child{animation:rcFloat1 4s ease-in-out infinite}
.rcmsg__chars--l .char:last-child{animation:rcFloat2 5s ease-in-out infinite}
.rcmsg__chars--r{right:clamp(8px,3vw,40px)}
.rcmsg__chars--r .char:first-child{animation:rcFloat3 4.5s ease-in-out infinite}
.rcmsg__chars--r .char:last-child{animation:rcFloat4 3.8s ease-in-out infinite}
@keyframes rcFloat1{0%,100%{transform:translate(20px,0)}50%{transform:translate(20px,-12px)}}
@keyframes rcFloat2{0%,100%{transform:translate(-10px,0)}50%{transform:translate(-10px,10px)}}
@keyframes rcFloat3{0%,100%{transform:translate(-20px,0)}50%{transform:translate(-20px,8px)}}
@keyframes rcFloat4{0%,100%{transform:translate(10px,0)}50%{transform:translate(10px,-14px)}}
@media(max-width:767px){.rcmsg__chars .char{width:80px;opacity:.12}.rcmsg__chars--r .char:last-child{margin-right:-20px}.nowrap-sp.h2{font-size:clamp(20px,5.6vw,44px);white-space:nowrap}}

/* ---------- FOOTER ---------- */
.ft{padding-top:60px;overflow:hidden}
.ft__in{display:grid;gap:36px}
.ft .logo{font-size:30px;color:var(--paper)}
.ft__catch{margin-top:10px;font-family:var(--f-serif);font-weight:900;font-size:20px}
.ft__dl{margin-top:20px;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:13px;line-height:1.7;color:#c9c4bb}
.ft__dl dt{font-weight:900;color:var(--paper)}
.ft__nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;align-content:start}
.ft__nav a{font-weight:700;font-size:14px;text-decoration:none;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.14)}
.ft__nav a:hover{color:var(--orange)}
.ft__big{margin-top:50px;white-space:nowrap;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:min(calc((100vw - 20px) / 12.5),110px);line-height:1;letter-spacing:-.02em;text-align:center;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.2)}
.ft__copy{display:block;text-align:center;padding:16px 0 24px;font-size:12px;color:#8f8a83}
@media (min-width:768px){
  .ft{padding-top:90px}
  .ft__in{grid-template-columns:1.4fr 1fr}
}

/* ---------- keyframes ---------- */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-2deg)}}
@keyframes rise{from{transform:translateY(110%)}to{transform:none}}
@keyframes slideUp{from{opacity:0;transform:translateY(40%)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes eqIn{from{transform:scaleX(0)}to{transform:none}}
@keyframes barIn{to{clip-path:inset(0 0 0 0)}}
@keyframes sheen{to{background-position:-250% 0}}
@keyframes caret{50%{opacity:0}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes shine{0%,62%{left:-40%}82%,100%{left:130%}}
@keyframes scrollLine{to{background-position:0 -200%}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* =========================================================
   追加：ヘッダーの資料DL / 固定CTA / 下層ページ共通パーツ
   ========================================================= */
.pc{display:none}
@media (min-width:768px){.pc{display:inline}}
.hd__dl{margin-left:auto;font-weight:900;font-size:12.5px;text-decoration:none;color:var(--ink);background:var(--lime);border:2px solid var(--ink);border-radius:99px;padding:6px 12px;line-height:1.2}
.gnav a.is-current{color:var(--orange)}
.gnav a.is-current small{color:var(--orange)}
.gnav .gnav__dl{color:var(--lime)}
@media (min-width:1024px){
  .hd__dl{display:none}
  .gnav a.is-current{background:rgba(255,255,255,.08)}
  .gnav .gnav__dl{position:relative}
  .gnav .gnav__dl::after{content:"FREE";position:absolute;top:-7px;right:-4px;font-family:var(--f-en);font-style:normal;font-size:8.5px;letter-spacing:.06em;color:var(--ink);background:var(--lime);border-radius:4px;padding:1px 4px}
}

/* hero buttons */
.hero__btns{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;animation:fadeUp .7s 1.5s both}
.hero__btns{flex-wrap:nowrap;gap:14px}
.hero__btns .btn{flex:none;width:auto;min-height:50px;font-size:14.5px;padding:8px 48px 8px 20px}
.hero__btns .hero__link{flex:none;font-size:13px}
@media (min-width:768px){.hero__bars{margin-top:22px}.hero__btns{margin-top:22px;gap:12px 22px}.hero__btns .btn{min-height:60px;font-size:16px;padding:10px 54px 10px 26px}.hero__btns .hero__link{font-size:14px}}
.hero__link{font-weight:900;font-size:14px;color:var(--paper);text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:2px}
.hero__link:hover{color:var(--orange)}
.sec__more{margin-top:34px;text-align:center}
.sec--tight{padding-top:40px}
.btns--2{grid-template-columns:1fr;justify-items:center}
@media (min-width:768px){.btns--2{grid-template-columns:auto auto;justify-content:center}}
.btn--w{background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:0 8px 18px rgba(28,25,23,.2)}
.btn--w .btn__arrow{background:var(--ink);color:var(--paper)}
.btn--s{min-height:52px;font-size:14.5px;padding-left:20px}
.note{font-size:12px;color:var(--mute);line-height:1.7}
.grid-d .note{color:#a8a39b}
.narrow{max-width:880px}

/* placeholder（差し替え用テキスト） */
.ph{background:repeating-linear-gradient(-45deg,rgba(198,242,58,.35) 0 6px,rgba(198,242,58,.12) 6px 12px);outline:1px dashed rgba(28,25,23,.35);border-radius:3px;padding:0 4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.grid-d .ph,.ph-hero .ph{outline-color:rgba(255,255,255,.35);color:inherit}

/* floating CTA */
.stick{position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px max(10px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));background:rgba(28,25,23,.92);backdrop-filter:blur(6px);transform:translateY(calc(100% + 40px));transition:transform .35s cubic-bezier(.2,.9,.2,1)}
.stick.is-show{transform:none}
.stick a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:52px;border-radius:99px;text-decoration:none;font-weight:900;font-size:14.5px;line-height:1.2}
.stick__dl{background:var(--lime);color:var(--ink);border:2px solid var(--ink)}
.stick__dl small{font-size:10px;background:var(--ink);color:var(--lime);border-radius:4px;padding:1px 5px;line-height:1;vertical-align:middle}
.stick__ct{background:var(--grad);color:var(--paper)}
.stick__ct i{font-style:normal}
.ft__copy{padding-bottom:96px}
@media (min-width:1024px){
  .stick{left:auto;right:24px;bottom:24px;grid-template-columns:auto auto;padding:8px;border-radius:99px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
  .stick a{min-height:48px;padding-inline:20px}
  .ft__copy{padding-bottom:24px}
}

/* CTA band（下層ページ下部） */
.band{position:relative;overflow:hidden;padding-top:64px}
.band__in{display:grid;gap:10px}
.band__txt{display:grid;gap:16px;justify-items:start;font-weight:700;font-size:14.5px;line-height:1.9}
.band__h{font-family:var(--f-serif);font-weight:900;font-size:clamp(28px,7.6vw,48px);line-height:1.35;text-wrap:balance}
.band__btns{display:grid;gap:12px;width:100%}
.band__btns .btn{width:100%}
.band__team{display:flex;align-items:flex-end;justify-content:center;max-width:420px;margin-inline:auto}
.band__team .char{width:32%;margin-inline:-3%}
.band__team .char:nth-child(2){width:40%;z-index:1;animation:float 3s ease-in-out infinite}
.band__team .char:not(:nth-child(2)){animation:bob 2.4s ease-in-out infinite}
@media (min-width:768px){
  .band{padding-top:90px}
  .band__in{grid-template-columns:1.2fr 1fr;align-items:end}
  .band__txt{padding-bottom:90px}
  .band__btns{grid-template-columns:1fr 1fr}
}

/* ---------- 下層ページヒーロー ---------- */
.phero{position:relative;padding-top:calc(var(--hd) + 34px);overflow:hidden}
.phero::after{content:"";position:absolute;inset:auto 0 0;height:4px;background:var(--grad)}
.phero__in{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;align-items:end}
.phero__txt{padding-bottom:34px;min-width:0}
.crumb{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--f-en);font-weight:800;font-size:11px;letter-spacing:.06em;color:#8f8a83}
.crumb li + li::before{content:"/";margin-right:6px;color:#5a5550}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--orange)}
.phero__path{margin-top:14px;font-family:var(--f-mono);font-size:12px;color:#a8a39b}
.phero__path .p{color:var(--lime)}
.phero__h{margin-top:4px;display:grid;gap:8px;justify-items:start}
.phero__h .en{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:min(calc((100vw - 150px) / 5.4),104px);line-height:.95;letter-spacing:-.03em;animation:rise .8s cubic-bezier(.2,.9,.2,1) both}
.phero__h .en b{color:var(--orange-2)}
.phero__h .ja{background:var(--paper);color:var(--ink);font-weight:900;font-size:clamp(16px,4.4vw,22px);padding:3px 12px 4px;clip-path:inset(0 100% 0 0);animation:barIn .6s cubic-bezier(.7,0,.2,1) .4s both}
.phero__lead{margin-top:16px;font-weight:700;font-size:14px;line-height:1.9;color:#c9c4bb;animation:fadeUp .7s .6s both}
.phero__fig{position:relative;align-self:stretch;min-height:200px}
.phero__fig .ring{top:62%;width:150px}
.phero__fig .char{position:absolute;right:-24px;bottom:-30px;width:150px;animation:slideUp .9s cubic-bezier(.2,.9,.2,1) .3s both,float 3.4s ease-in-out .3s infinite}
.phero__bubble{position:absolute;right:46px;top:8px;z-index:2;font-weight:900;font-size:11px;line-height:1.45;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:12px;padding:6px 9px;white-space:nowrap;animation:fadeUp .6s 1s both}
.phero__bubble::after{content:"";position:absolute;right:16px;bottom:-9px;width:12px;height:12px;background:var(--paper);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}
@media (min-width:768px){
  .phero{padding-top:calc(var(--hd) + 60px)}
  .phero__in{grid-template-columns:minmax(0,1fr) 340px}
  .phero__txt{padding-bottom:60px}
  .phero__h .en{font-size:clamp(72px,9vw,128px)}
  .phero__lead{font-size:15px}
  .phero__fig{min-height:320px}
  .phero__fig .ring{width:300px}
  .phero__fig .char{right:20px;bottom:-50px;width:270px}
  .phero__bubble{font-size:14px;right:auto;left:-10px;top:30px;padding:10px 14px}
  .phero__bubble::after{right:auto;left:auto;right:-9px;bottom:22px;transform:rotate(-45deg)}
}

/* 2カラムのリード（見出し左＋本文右） */
.lead2{display:grid;gap:24px}
.lead2__body{display:grid;gap:16px;font-weight:700;font-size:15px;line-height:2}
.h3{font-weight:900;font-size:clamp(19px,5vw,24px);line-height:1.6}
@media (min-width:900px){.lead2{grid-template-columns:1fr 1.15fr;gap:60px;align-items:start}}
.eq-big{margin-top:14px;display:flex;align-items:center;flex-wrap:wrap;gap:.18em;font-weight:900;font-size:min(calc((100vw - 36px) / 7.4),76px);line-height:1.1;white-space:nowrap}
.eq-big .a{font-family:var(--f-serif)}
.eq-big .eq{margin:0;vertical-align:0}
.eq-big .b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sec__head--mt{margin-top:80px}
.sec__lead--c{text-align:center;margin-top:28px}

/* MISSION / VISION */
.mv{display:grid;gap:18px}
.mv__item{border-top:2px solid rgba(255,255,255,.18);padding-top:24px;display:grid;gap:12px;font-size:14.5px;line-height:1.95;color:#c9c4bb}
.mv__label{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:12px;letter-spacing:.12em;color:var(--orange)}
.mv__h{font-family:var(--f-serif);font-weight:900;font-size:clamp(26px,7vw,40px);line-height:1.4;color:var(--paper)}
@media (min-width:768px){.mv{grid-template-columns:1fr 1fr;gap:48px}}

/* CEO message */
.ceo{display:grid;gap:28px}
.ceo__photo{position:relative;aspect-ratio:4/5;max-width:250px;width:100%;margin-inline:auto;background:var(--gray);border:2px solid var(--ink);border-radius:22px;display:grid;place-items:center;overflow:hidden;box-shadow:10px 12px 0 var(--orange-2)}
.ceo__ph{font-weight:700;font-size:13px;color:var(--mute)}
.ceo__name{position:absolute;left:0;right:0;bottom:0;background:var(--ink);color:var(--paper);font-weight:900;font-size:20px;padding:12px 16px;display:grid;line-height:1.3}
.ceo__name small{font-size:11px;font-weight:700;color:#a8a39b}
.ceo__txt{display:grid;gap:16px;font-weight:700;font-size:15px;line-height:2}
.ceo__profile{display:grid;gap:6px;border-top:1.5px dashed #d3d0c8;padding-top:16px;font-size:13.5px}
.ceo__profile b{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:12px;letter-spacing:.12em;color:var(--orange-2)}
.ceo--center{text-align:center;justify-items:center}
.ceo--center .ceo__txt{text-align:center}
.msg{margin-top:56px;display:grid;gap:24px;padding-top:40px;border-top:1.5px dashed rgba(255,255,255,.25)}
.msg__head{display:grid;gap:10px}
.msg__h{font-weight:900;font-size:clamp(20px,4.5vw,26px);line-height:1.5}
.msg__body{display:grid;gap:14px;font-weight:700;font-size:15px;line-height:2}
@media(min-width:768px){.msg{grid-template-columns:auto 1fr;gap:48px}.msg__head{position:sticky;top:calc(var(--hd) + 24px);align-self:start}}
@media (min-width:768px){.ceo__photo{max-width:360px}.ceo:not(.ceo--center){grid-template-columns:360px 1fr;gap:56px;align-items:start}}

/* table（会社概要・募集要項） */
.tbl{display:grid;grid-template-columns:1fr;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:18px;overflow:hidden;font-size:14.5px;line-height:1.8}
.tbl dt{font-weight:900;background:var(--ink);color:var(--paper);padding:10px 18px 8px;font-size:13px}
.tbl dd{padding:12px 18px 16px;font-weight:700}
.tbl dd + dt{border-top:0}
.tbl--s{margin:16px 0 20px}
.tags-s{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tags-s span{font-size:12px;font-weight:900;border:1.5px solid var(--ink);border-radius:99px;padding:0 10px}
@media (min-width:768px){
  .tbl{grid-template-columns:180px 1fr}
  .tbl dt{background:var(--card);color:var(--ink);padding:18px 22px;border-right:1.5px solid #dedbd2}
  .tbl dd{padding:18px 22px}
  .tbl dt:not(:first-of-type),.tbl dd:not(:first-of-type){border-top:1.5px dashed #dedbd2}
}

/* history */
.hist{position:relative;display:grid;gap:4px;padding-left:28px}
.hist::before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:2px;background:repeating-linear-gradient(var(--orange) 0 8px,transparent 8px 14px)}
.hist li{position:relative;display:grid;gap:2px;padding:12px 0}
.hist li::before{content:"";position:absolute;left:-27px;top:18px;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--orange)}
.hist time{font-family:var(--f-mono);font-weight:700;font-size:13px;color:var(--orange)}
.hist p{font-weight:700;font-size:16px}
.hist .is-now p{font-weight:900;color:var(--lime)}
.hist .is-now::before{background:var(--lime);border-color:var(--lime)}
.hist .is-now::after{content:"";position:absolute;left:-27px;top:calc(18px + 18px);bottom:-16px;width:18px;background:var(--ink-2)}
@media (min-width:768px){.hist li{grid-template-columns:120px 1fr;align-items:baseline}}

/* access */
.access{display:grid;gap:24px}
.access__map{position:relative;aspect-ratio:4/3;max-width:100%;border:2px solid var(--ink);border-radius:22px;overflow:hidden;background:var(--gray)}
.access__map iframe{display:block;width:100%;height:100%}
@media (min-width:768px){.access{grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}}

/* stats */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.stats li{background:var(--paper);border:2px solid var(--ink);border-radius:16px;padding:14px 14px 12px;display:grid;gap:4px;line-height:1.4}
.stats b{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:38px;line-height:1;color:var(--orange-2)}
.stats b small{font-family:var(--f-sans);font-style:normal;font-size:14px;margin-left:2px;color:var(--ink)}
.stats li > span{font-size:12.5px;font-weight:700;color:var(--mute)}

/* checks */
.checks{display:grid;gap:8px}
.checks li{position:relative;padding-left:30px;font-weight:700;font-size:14.5px;line-height:1.6}
.checks li::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:6px;background:var(--orange-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.6 2.6L10 3.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}

.sdet__pain{display:grid;gap:6px}
.sdet__pain li{position:relative;padding-left:1.2em;font-weight:700;font-size:14.5px;line-height:1.6}
.sdet__pain li::before{content:"";position:absolute;left:2px;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--ink)}

/* service detail */
.sdet{display:grid;gap:22px}
.sdet__item{background:var(--paper);color:var(--ink);border-radius:24px;overflow:hidden;border:2px solid var(--paper);scroll-margin-top:calc(var(--hd) + 20px)}
.sdet__head{position:relative;background:var(--c);color:var(--paper);padding:24px 20px 26px;padding-right:130px;min-height:180px;overflow:hidden;background-image:linear-gradient(to right,rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.14) 1px,transparent 1px);background-size:20px 20px}
.sdet__no{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:12px;letter-spacing:.1em;opacity:.9}
.sdet__head h3{margin-top:6px;font-weight:900;font-size:clamp(22px,6vw,30px);line-height:1.35;white-space:nowrap}
.sdet__head p:not(.sdet__no){margin-top:10px;font-weight:700;font-size:13.5px;line-height:1.85}
.sdet__char{position:absolute;right:-10px;bottom:-46px;width:140px}
.sdet__body{padding:22px 20px 24px;display:grid;gap:12px;font-size:14px;line-height:1.85}
.sdet__label{font-weight:900;font-size:13px;display:flex;align-items:center;gap:8px;margin-top:4px}
.sdet__label::before{content:"";width:14px;height:3px;background:var(--orange-2)}
.sdet__dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;border-top:1.5px dashed #dedbd2;padding-top:14px;margin-top:4px}
.sdet__dl dt{font-weight:900;font-size:12.5px;background:var(--card);border-radius:6px;padding:1px 8px;align-self:start}
.sdet__dl dd{font-weight:700}
@media (min-width:900px){
  .sdet__item{display:grid;grid-template-columns:420px 1fr}
  .sdet__head{padding:36px 32px;padding-right:150px}
  .sdet__char{width:190px;bottom:-60px}
  .sdet__body{padding:34px 36px}
}

/* flow */
.flow{display:grid;gap:12px;counter-reset:f}
.flow li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:14px;background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:18px 16px;overflow:hidden}
.flow__no{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:30px;line-height:1;color:var(--orange-2)}
.flow h3{font-weight:900;font-size:18px;line-height:1.4}
.flow h3 em{font-style:normal;font-family:var(--f-en);font-size:11px;letter-spacing:.08em;color:var(--ink);background:var(--lime);border-radius:4px;padding:1px 6px;vertical-align:3px;margin-left:4px}
.flow p{margin-top:6px;font-size:14px;line-height:1.8;color:var(--mute)}
.flow .flow__term{font-size:12.5px;font-weight:700}
.flow li.is-core{background:var(--ink);color:var(--paper);border-color:var(--orange);box-shadow:0 0 0 3px var(--orange);padding-right:78px}
.flow li.is-core p{color:#c9c4bb}
.flow__char{position:absolute;right:-8px;bottom:-26px;width:84px}
@media (min-width:768px){.flow{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.flow{grid-template-columns:repeat(3,1fr)}}

/* faq */
.faq{display:grid;gap:10px}
.faq details{background:var(--ink-2);border:1.5px solid #3a3531;border-radius:16px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 18px;font-weight:900;font-size:15px;line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-en);font-size:22px;color:var(--orange);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .q{font-family:var(--f-en);font-style:italic;font-weight:900;color:var(--orange)}
.faq .faq__body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1)}
.faq details[open] .faq__body{grid-template-rows:1fr;opacity:1}
.faq details.is-closing .faq__body{grid-template-rows:0fr;opacity:0}
.faq .faq__inner{overflow:hidden}
.faq .faq__inner p{padding:0 18px 18px 52px;font-size:14px;line-height:1.9;color:#c9c4bb}
.faq summary:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}

/* case list */
.case{position:relative}
.case__tag{position:absolute;left:12px;top:12px;font-weight:900;font-size:11.5px;color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:99px;padding:0 10px}
.case__catch{font-weight:700;font-size:12.5px;opacity:.8}
.case h3{margin-top:2px}
.case__co{margin-top:8px;font-weight:900;font-size:13px;opacity:.9}
.case__thumb--4{background:var(--grad)}
.case__thumb--5{background:var(--grad)}
.cases--list{margin-top:26px}
.cases:not(:has(.case:not(.is-hidden))){border:0;margin:0;padding:0;min-height:0;gap:0}
@media (min-width:768px){.cases--list{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.cases--list{grid-template-columns:repeat(3,1fr)}}
.filter{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.filter::-webkit-scrollbar{display:none}
.filter button{flex:none;font:inherit;font-weight:900;font-size:13.5px;cursor:pointer;border:2px solid var(--ink);border-radius:99px;background:var(--paper);color:var(--ink);padding:7px 16px;transition:background .2s,color .2s}
.filter button.is-on{background:var(--ink);color:var(--paper)}
.filter button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.filter--d{justify-content:flex-start;margin-bottom:28px}
@media(min-width:768px){.filter--d{justify-content:center}}
.filter--d button{background:transparent;color:var(--paper);border-color:#5a5550}
.filter--d button.is-on{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.is-hidden{display:none !important}
.is-empty{display:none !important}
.empty,.empty-msg{margin:26px auto 0;text-align:center;font-weight:700;color:var(--mute);border:2px dashed #cfccc5;border-radius:16px;padding:48px 16px;width:100%;grid-column:1/-1}
.empty--d{color:#a8a39b;border-color:#3a3531}
#newsList{margin-top:22px}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:30px}
.pagination span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--ink);color:var(--paper);font-family:var(--f-en);font-weight:900}

/* case detail */
.cd-hero{padding-top:calc(var(--hd) + 34px);padding-bottom:0;overflow:hidden}
.cd-hero__in{display:grid;gap:14px;max-width:720px}
.cd-hero__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.cd-hero__tags span{font-weight:900;font-size:12px;border:1.5px solid #5a5550;border-radius:99px;padding:1px 10px}
.cd-hero__h{font-family:var(--f-serif);font-weight:900;font-size:clamp(22px,5.5vw,36px);line-height:1.45;text-wrap:balance}
.cd-hero__date{font-family:var(--f-mono);font-size:12px;color:#8f8a83}
.cd-hero__img{position:relative;margin-top:10px;margin-bottom:32px;aspect-ratio:16/9;max-width:100%;border-radius:16px;background:var(--grad);display:grid;place-items:center;overflow:hidden}
.cd-hero__img img{width:100%;height:100%;object-fit:cover}
.cd-hero__img:has(img)::before{display:none}
.cd-hero__img::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.14) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}
.cd-hero__img .case__mock{width:44%}
.ph-img{position:absolute;right:14px;bottom:12px;font-weight:900;font-size:12px;color:var(--ink);background:var(--lime);border-radius:6px;padding:2px 8px}
.results{display:grid;gap:12px;margin-top:22px}
.results li{background:var(--ink);color:var(--paper);border-radius:14px;padding:16px 16px 14px;display:grid;gap:4px}
.results__k{font-weight:700;font-size:12px;color:#c9c4bb}
.results b{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:28px;line-height:1.2;color:var(--orange)}
.results small{font-size:11px;color:#a8a39b}
@media (min-width:768px){.results{grid-template-columns:repeat(3,1fr)}}
.story{display:grid;gap:36px;margin-top:44px}
.story__item{display:grid;gap:10px;font-size:14.5px;line-height:2;font-weight:500}
.story__no{display:flex;align-items:baseline;gap:10px;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:32px;line-height:1;color:var(--orange-2)}
.story__no span{font-size:11px;letter-spacing:.14em;color:var(--ink)}
.story__item h2{font-family:var(--f-serif);font-weight:900;font-size:clamp(20px,5vw,26px);line-height:1.45;border-bottom:2px solid var(--ink);padding-bottom:8px}
.voice{margin-top:10px;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;background:var(--paper);border:2px solid var(--ink);border-radius:14px;padding:14px}
.voice__ph{width:48px;height:48px;border-radius:50%;background:var(--gray);display:grid;place-items:center;font-size:10px;color:var(--mute)}
.voice p{font-size:14px;line-height:1.8}
.cd-comment{margin-top:32px;background:var(--grad);border-radius:14px;padding:20px 22px;display:grid;gap:8px}
.cd-comment__label{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:12px;letter-spacing:.1em;color:var(--paper);opacity:.7}
.cd-comment__body{font-size:14.5px;line-height:2;font-weight:500;color:var(--paper)}
.cd-hero+.sec{padding-top:32px}
.cteam{margin-top:44px;background:var(--paper);border:2px solid var(--ink);border-radius:16px;padding:18px 16px}
.cteam__ttl{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:12px;letter-spacing:.1em;color:var(--orange-2)}
.cteam ul{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 8px}
.cteam li{display:grid;justify-items:center;gap:4px;font-weight:900;font-size:11px;text-align:center}
.cteam .char{width:100%;max-width:64px;background:var(--card);border-radius:50%;aspect-ratio:1;overflow:hidden;display:grid;place-items:end center}
.cteam .char img{width:88%;display:block;margin-top:auto}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:40px}
.pager a{display:grid;gap:2px;text-decoration:none;font-weight:900;font-size:13.5px;background:var(--paper);border:2px solid var(--ink);border-radius:14px;padding:12px 14px;line-height:1.5}
.pager a:last-child{text-align:right}
.pager small{font-family:var(--f-en);font-style:italic;font-size:11px;color:var(--orange-2)}
.pager__all{grid-column:1/-1;order:3;text-align:center;background:var(--ink) !important;color:var(--paper)}
@media (min-width:768px){.pager{grid-template-columns:1fr auto 1fr;align-items:center}.pager__all{grid-column:auto;order:0;padding-inline:28px !important}}

/* download */
.cover{position:relative;aspect-ratio:16/10;max-width:100%;border-radius:14px;overflow:hidden;color:var(--paper);background:var(--grad);border:2px solid var(--ink);display:block;isolation:isolate}
.cover::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 75% 25%,rgba(255,255,255,.18) 0%,transparent 60%),linear-gradient(to right,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px);background-size:100% 100%,20px 20px,20px 20px}
.cover::after{content:"";position:absolute;bottom:-5%;right:0;width:28%;height:45%;background:var(--paper);border-radius:50% 0 0 0;z-index:-1;box-shadow:-4px 0 12px rgba(0,0,0,.06)}
.cover--ink{background:linear-gradient(135deg,var(--ink) 0%,#2e2a26 100%)}
.cover--violet{background:linear-gradient(135deg,var(--violet) 0%,#5a2db8 100%)}
.cover--green{background:linear-gradient(135deg,var(--green) 0%,#187a38 100%)}
.cover--red{background:linear-gradient(135deg,var(--red) 0%,#b82520 100%)}
.cover__logo{position:absolute;left:6%;top:8%;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:12px;background:var(--paper);color:var(--ink);padding:2px 8px;border-radius:4px;line-height:1.4}
.cover__logo b{margin-left:.2em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cover__en{position:absolute;left:6%;top:22%;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.cover__ttl{position:absolute;left:6%;top:34%;right:34%;font-weight:900;font-size:14px;line-height:1.45;padding:6px 0 6px 10px;border-left:3px solid rgba(255,255,255,.5);color:var(--paper);text-shadow:0 1px 6px rgba(0,0,0,.35)}
.cover__corner{position:absolute;top:6%;right:4%;width:40px;height:40px;border:2px solid rgba(255,255,255,.35);border-left:0;border-bottom:0;border-radius:0 4px 0 0}
.cover__pdf{position:absolute;left:6%;bottom:8%;font-family:var(--f-mono);font-weight:700;font-size:9px;letter-spacing:.06em;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);border:1.5px solid rgba(255,255,255,.35);border-radius:6px;padding:2px 8px}
.cover__char{position:absolute;right:2%;bottom:-16%;width:48%}
.cover__char[data-char="director"]{right:4%}
.cover__char[data-char="director"] .lens-overlay{margin-left:0.3px}
.cover__char[data-char="designer"]{right:4%;bottom:-14%}
.cover__char[data-char="engineer"]{right:3%;bottom:-15%}
.cover__char[data-char="editor"]{right:3%;bottom:-17%}
.cover__char .lens-overlay{margin-left:-0.14px}
#download.sec{padding-bottom:20px}
.dlp{display:grid;gap:28px;background:var(--paper);border:2px solid var(--ink);border-radius:26px;padding:20px 18px 26px;box-shadow:10px 12px 0 var(--ink)}
.dlp__cover{display:block;position:relative;transform:rotate(-2deg);cursor:pointer}
.dlp__cover .cover{box-shadow:12px 14px 0 rgba(28,25,23,.18)}
.dlp__cover .cover-img{width:100%;border-radius:14px;border:2px solid var(--ink);box-shadow:12px 14px 0 rgba(28,25,23,.18);display:block}
.dlp__cover .cover__ttl{font-size:clamp(15px,4.6vw,24px)}
.dlp__rank{position:absolute;right:-6px;top:-14px;font-family:var(--f-en);font-style:italic;font-weight:900;font-size:16px;color:var(--ink);background:var(--lime);border:2px solid var(--ink);border-radius:99px;padding:4px 12px;transform:rotate(8deg)}
.dlp__txt{display:grid;gap:14px;justify-items:start;font-weight:700;font-size:14.5px;line-height:1.9}
.dlp__txt .h2{margin-top:0}
@media (min-width:900px){
  .dlp{grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:48px}
}
.docs{display:grid;gap:18px}
.doc{background:var(--paper);color:var(--ink);border-radius:20px;overflow:hidden;display:grid;border:2px solid var(--paper)}
.doc__cover{display:block;padding:16px 16px 0;background:var(--card);cursor:pointer}
.doc__cover .cover-img{width:100%;border-radius:8px;border:2px solid var(--ink);box-shadow:12px 14px 0 rgba(28,25,23,.18);display:block}
.doc__body{padding:16px 18px 20px;display:grid;gap:8px;justify-items:start;font-size:13.5px;line-height:1.7}
.doc__cat{font-weight:900;font-size:11.5px;border-radius:99px;padding:0 9px}
[data-cat="solution"] .doc__cat{color:var(--orange);border:1.5px solid var(--orange)}
[data-cat="basic"] .doc__cat{color:var(--violet);border:1.5px solid var(--violet)}
[data-cat="strategy"] .doc__cat{color:var(--green);border:1.5px solid var(--green)}
[data-cat="result"] .doc__cat{color:var(--red);border:1.5px solid var(--red)}
.doc .btn::after,.dlp .btn::after{animation:none;display:none}
.doc h3{font-weight:900;font-size:16.5px;line-height:1.5}
.doc h3+p{opacity:.55;font-size:13px}
.doc__meta{font-family:var(--f-mono);font-size:11.5px;color:var(--mute)}
.doc .btn{margin-top:6px;width:100%}
@media (min-width:768px){.docs{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.docs{grid-template-columns:repeat(3,1fr)}}
.steps3{display:grid;gap:12px}
.steps3 li{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:22px 18px 20px;display:grid;gap:6px;font-size:14px;line-height:1.8}
.steps3__no{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:36px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;justify-self:start;padding-right:.1em}
.steps3 h3{font-weight:900;font-size:18px}
.steps3--d li{background:var(--ink-2);border-color:#3a3531;color:var(--paper)}
.steps3--d + .btns{margin-top:36px}
@media (min-width:768px){
  .steps3{grid-template-columns:repeat(3,1fr);gap:20px}
  .steps3--4{grid-template-columns:repeat(4,1fr)}
  .steps3 li:not(:last-child)::after{content:"";position:absolute;right:-17px;top:50%;width:14px;height:14px;border-top:3px solid var(--orange-2);border-right:3px solid var(--orange-2);transform:translateY(-50%) rotate(45deg);z-index:1}
}

/* form */
.form{display:grid;gap:18px;background:var(--paper);color:var(--ink);border-radius:24px;padding:24px 18px 26px}
.form--w{border:2px solid var(--ink);box-shadow:10px 12px 0 var(--ink)}
.form__row{display:grid;gap:8px;border:0;margin:0;padding:0;min-width:0}
.form__row > label,.form__row legend{font-weight:900;font-size:14.5px;padding:0}
.form em,.form i{font-style:normal;font-size:10.5px;font-weight:900;border-radius:4px;padding:1px 6px;margin-left:8px;vertical-align:2px}
.form em{background:var(--orange-2);color:var(--paper)}
.form i{background:var(--gray);color:var(--mute)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{width:100%;font:inherit;font-weight:500;font-size:16px;color:var(--ink);background:var(--card);border:2px solid #d6d3cb;border-radius:12px;padding:12px 14px;transition:border-color .2s,background .2s}
.form textarea{resize:vertical;min-height:150px}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--orange-2);background:var(--paper)}
.form__checks,.form__radios{display:grid;gap:8px}
.form__checks label,.form__radios label{display:flex;align-items:flex-start;gap:10px;font-weight:700;font-size:14px;line-height:1.5;background:var(--card);border:2px solid transparent;border-radius:12px;padding:11px 12px;cursor:pointer;transition:border-color .2s}
.form__checks label:has(input:checked),.form__radios label:has(input:checked){border-color:var(--orange-2);background:#fff4ec}
.form input[type=checkbox],.form input[type=radio]{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--orange-2)}
@media (min-width:768px){.form__radios{grid-template-columns:repeat(3,1fr)}.form{padding:40px 44px}}
.form__agree label{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;cursor:pointer}
.form__agree a{color:var(--orange-2)}
.form__err{display:none;font-weight:700;font-size:12.5px;color:var(--red)}
.form__row.is-err .form__err{display:block}
.form__row.is-err input:not([type=checkbox]):not([type=radio]),.form__row.is-err textarea{border-color:var(--red)}
.form__submit{justify-self:center;margin-top:6px;font:inherit;font-weight:900;font-size:17px;cursor:pointer}
.form__note{font-size:12px;color:var(--mute);text-align:center;line-height:1.7}
.done{display:grid;justify-items:center;gap:10px;text-align:center;background:var(--paper);color:var(--ink);border-radius:24px;padding:30px 20px;font-weight:700}
.done[hidden]{display:none}
.done .char{width:140px;animation:float 3s ease-in-out infinite}
.done__ttl{font-family:var(--f-serif);font-weight:900;font-size:26px}
.done--w{border:2px solid var(--ink)}

/* contact */
.contact{display:grid;gap:28px;max-width:720px;margin-inline:auto}
.contact__tel{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 16px;background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:14px 24px;font-size:14px;margin-top:-50px}
.contact__tel-k{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:18px;letter-spacing:.08em;color:var(--orange-2)}
.contact__tel-num{font-family:var(--f-en);font-weight:900;font-size:28px;line-height:1}
.contact__tel-note{font-size:12.5px;opacity:.55}
@media(max-width:767px){.contact__tel{gap:2px 10px;padding:12px 16px;font-size:12px}.contact__tel-k{font-size:15px}.contact__tel-num{font-size:22px}.contact__tel-note{font-size:10px}}

/* recruit */
.env{display:grid;gap:14px}
.env li{background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:20px 18px;display:grid;gap:6px;font-size:14px;line-height:1.8}
.env__k{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:11.5px;letter-spacing:.12em;color:var(--orange-2)}
.env h3{font-weight:900;font-size:18px}
@media (min-width:768px){.env{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.env{grid-template-columns:repeat(4,1fr)}}
.jobs{display:grid;gap:14px}
.job{position:relative;overflow:hidden;background:var(--paper);color:var(--ink);border-radius:20px;padding:20px 120px 20px 18px;display:grid;gap:6px;font-size:13.5px;line-height:1.75;box-shadow:inset 0 6px 0 var(--c)}
.job__en{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:11.5px;letter-spacing:.08em;color:var(--c)}
.job h3{font-weight:900;font-size:19px}
.job__st{font-weight:900;font-size:12.5px}
.job__char{position:absolute;right:-12px;bottom:-34px;width:120px}
.job__q{position:absolute;right:18px;bottom:6px;font-family:var(--f-serif);font-weight:900;font-size:110px;line-height:1;color:var(--c)}
@media (min-width:768px){.jobs{grid-template-columns:repeat(2,1fr)}}

/* privacy */
.alert{background:var(--lime);border:2px solid var(--ink);border-radius:14px;padding:12px 16px;font-weight:900;font-size:13.5px;line-height:1.7;margin-bottom:24px}
.policy{background:var(--paper);border:2px solid var(--ink);border-radius:22px;padding:26px 20px;display:grid;gap:12px;font-size:14.5px;line-height:1.95}
.policy h2{margin-top:18px;font-weight:900;font-size:18px;padding-left:12px;border-left:5px solid var(--orange-2);line-height:1.5}
.policy ul{list-style:disc;padding-left:1.4em}
.policy__date{margin-top:14px;text-align:right;font-size:13px;color:var(--mute)}
@media (min-width:768px){.policy{padding:44px 48px}}
a.svc__card{display:block;color:inherit;text-decoration:none}

/* ---------- NO MANUAL, YES CREATIVE ---------- */
.h2--en{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:clamp(38px,11.4vw,84px);line-height:.98;letter-spacing:-.02em}
.h2--en span{display:inline-block}
.h2--en .grad{padding-right:.08em}

/* ---------- LEAD OTAKU ---------- */
.lot__head{margin-bottom:34px}
.lot__lead{margin-top:14px;font-family:var(--f-serif);font-weight:900;font-size:clamp(18px,4.8vw,44px);line-height:1.42;letter-spacing:.02em;color:var(--paper);white-space:nowrap}
.lot__logo{display:inline-block;margin-top:12px;font-size:min(calc((100vw - 36px) / 7.4),86px);background:var(--ink);border:3px solid var(--paper);border-radius:.2em;padding:.14em .28em .2em;transform:rotate(-2deg);box-shadow:8px 10px 0 rgba(28,25,23,.35)}
.lot__bars{margin-top:22px}
.lot__bars .bar{font-size:clamp(19px,5.6vw,34px);padding:5px 14px 7px}
.lot{display:grid;gap:28px;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:26px;padding:28px 20px 24px;box-shadow:10px 12px 0 var(--ink)}
.lot__txt{display:grid;gap:14px;justify-items:start;font-weight:700;font-size:14.5px;line-height:1.85}
.lot__name{font-weight:900;font-size:clamp(20px,5.6vw,25px);text-wrap:balance;line-height:1.4;border-bottom:4px solid var(--orange-2)}
.lot__scope{display:flex;flex-wrap:wrap;gap:6px}
.lot__scope li{font-weight:900;font-size:12.5px;line-height:1.6;background:var(--ink);color:var(--paper);border-radius:99px;padding:2px 11px}
.lot__txt .btn{margin-top:6px}
.lot__team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px;text-align:center}
.lot__team li{display:grid;justify-items:center;gap:2px;background:var(--gray);border:2px solid var(--ink);border-radius:18px;padding:14px 6px 12px;overflow:hidden}
.lot__team .char{width:68%;margin-bottom:6px}
.lot__team li:nth-child(odd) .char{animation:bob 2.6s ease-in-out infinite}
.lot__team li:nth-child(even) .char{animation:bob 2.6s ease-in-out -1.3s infinite}
.lot__team b{font-weight:900;font-size:14px}
.lot__team small{font-weight:700;font-size:11.5px;color:var(--mute);line-height:1.5}
@media (min-width:900px){
  .lot{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:40px;padding:48px 44px}
  .lot__team{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .lot__team .char{width:86%}
  .lot__team b{font-size:13px}
}

/* ---------- DOWNLOAD: 複数の表紙 ---------- */
.dlstack{position:relative;aspect-ratio:10/8.4;margin:6px 4px 0}
.dlstack__item{position:absolute;width:58%;transition:transform .35s cubic-bezier(.2,.9,.2,1)}
.dlstack__item .cover-img{width:100%;border-radius:14px;border:2px solid var(--ink);box-shadow:6px 8px 0 rgba(28,25,23,.16);display:block}
.dlstack__item .cover{box-shadow:6px 8px 0 rgba(28,25,23,.16)}
.dlstack__item:nth-child(1){left:0;top:0;transform:rotate(-7deg)}
.dlstack__item:nth-child(2){right:0;top:3%;transform:rotate(6deg)}
.dlstack__item:nth-child(3){left:1%;top:44%;transform:rotate(4deg)}
.dlstack__item:nth-child(4){right:-1%;top:47%;transform:rotate(-5deg)}
.dlstack__item:nth-child(5){left:21%;top:27%;width:58%;z-index:2;transform:rotate(-1deg)}
.dlstack__item:nth-child(5) .cover-img{box-shadow:10px 12px 0 rgba(28,25,23,.24)}
.dlstack__badge{position:absolute;z-index:6;right:2%;top:-4%;display:grid;place-items:center;width:clamp(66px,18vw,92px);aspect-ratio:1;border-radius:50%;background:var(--lime);border:2px solid var(--ink);font-weight:900;font-size:clamp(11px,3vw,14px);line-height:1.2;text-align:center;transform:rotate(10deg)}
.dlstack__badge b{font-family:var(--f-en);font-style:italic;font-size:2em;line-height:.9}
@media (hover:hover){
  .dlp--multi:hover .dlstack__item:nth-child(1){transform:rotate(-10deg) translate(-4%,-4%)}
  .dlp--multi:hover .dlstack__item:nth-child(2){transform:rotate(9deg) translate(4%,-4%)}
  .dlp--multi:hover .dlstack__item:nth-child(3){transform:rotate(6deg) translate(-4%,4%)}
  .dlp--multi:hover .dlstack__item:nth-child(4){transform:rotate(-8deg) translate(4%,4%)}
  .dlp--multi:hover .dlstack__item:nth-child(5){transform:rotate(-1deg) scale(1.03)}
}
.dlp__tags{display:flex;flex-wrap:wrap;gap:6px}
.dlp__tags li{font-weight:900;font-size:15px;border:1.5px solid var(--ink);border-radius:99px;padding:3px 14px}

/* ---------- DL accordion ---------- */
.dl-accordion{display:grid;gap:10px}
.dl-accordion__item{background:var(--paper);color:var(--ink);border:2px solid rgba(28,25,23,.12);border-radius:14px;overflow:hidden;transition:border-color .2s}
.dl-accordion__item:has(.dl-accordion__trigger input:checked){border-color:var(--orange-2)}
.dl-accordion__trigger{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;font-weight:900;font-size:15px;line-height:1.5}
.dl-accordion__trigger input{width:20px;height:20px;accent-color:var(--orange-2);flex:none;cursor:pointer}
.dl-accordion__trigger span{flex:1}
.dl-accordion__trigger small{display:block;font-weight:500;font-size:12.5px;opacity:.5;margin-top:2px}
.dl-accordion__body{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding:0 20px}
.dl-accordion__item:has(.dl-accordion__trigger input:checked) .dl-accordion__body{max-height:800px;padding:0 20px 20px}
.dl-accordion__form.form{padding:14px 0 0;background:none;border-radius:0;border:0;box-shadow:none;border-top:1.5px dashed rgba(28,25,23,.12)}

/* ---------- Thanks ---------- */
.thanks-box{color:var(--paper);font-weight:700;font-size:15px;line-height:2;margin:32px auto 0;max-width:560px}
.thanks-box p+p{margin-top:18px;font-size:13.5px;color:#a8a39b}
.thanks-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px}

/* ---------- 募集なし ---------- */
.closed{display:grid;justify-items:center;gap:10px;text-align:center;background:var(--paper);color:var(--ink);border:2px dashed var(--ink);border-radius:22px;padding:36px 20px;font-weight:700;font-size:14.5px;line-height:1.9}
.closed__en{font-family:var(--f-en);font-style:italic;font-weight:900;font-size:13px;letter-spacing:.14em;color:var(--orange-2)}
.closed__h{font-family:var(--f-serif);font-weight:900;font-size:clamp(22px,6vw,32px);line-height:1.4}

/* ---------- DL Modal ---------- */
.dl-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.dl-modal.is-open{opacity:1;visibility:visible}
.dl-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.dl-modal__inner{position:relative;width:min(520px,92vw);max-height:88vh;overflow-y:auto;background:var(--paper);border-radius:20px;padding:24px 32px 28px;transform:translateY(24px);transition:transform .3s}
.dl-modal.is-open .dl-modal__inner{transform:translateY(0)}
.dl-modal__cover{display:block;width:300px;max-width:80%;margin:0 auto 20px;border-radius:8px;border:2px solid var(--ink);box-shadow:12px 14px 0 rgba(28,25,23,.18)}
.dl-modal__close{position:absolute;top:10px;right:10px;width:36px;height:36px;background:none;border:none;cursor:pointer;color:var(--ink);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;z-index:1}
.dl-modal__close:hover{background:rgba(0,0,0,.06)}
.dl-modal .form{background:var(--paper);border-radius:0;padding:0;box-shadow:none}
.dl-modal .form__row input[type="text"]{background:var(--card);border:1px solid var(--gray);color:var(--ink);border-radius:8px;padding:10px 14px;width:100%;font-size:15px}
.dl-modal .form__row input[type="text"]::placeholder{color:var(--mute)}
.dl-modal .form__row input[type="text"]:focus{border-color:var(--or);outline:none}
.dl-modal .form__agree a{text-decoration:underline}
.dl-modal .recaptcha-note{text-align:center;font-size:11px;color:var(--mute);margin-top:12px}
@media(max-width:767px){
  .dl-modal__inner{padding:20px 16px 24px;width:min(520px,94vw)}
  .dl-modal__cover{max-width:80%;margin-bottom:16px}
}

/* ---------- reCAPTCHA ---------- */
.grecaptcha-badge{visibility:hidden!important}
.recaptcha-note{margin-top:10px;font-size:11px;opacity:.45;text-align:center;line-height:1.6}
