*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --w:#FFFFFF;--k:#0E0E0E;
  --g50:#FAFAFA;--g100:#F5F5F5;--g150:#EBEBEB;--g200:#E0E0E0;
  --g400:#AAAAAA;--g500:#777777;--g600:#444444;
  --red:#f43b47;--red-mid:#453a94;
  --grad:linear-gradient(135deg,#f43b47 0%,#453a94 100%);
  --grad-r:linear-gradient(135deg,#453a94 0%,#f43b47 100%);
  --max:1160px;
  --ease:cubic-bezier(.23,1,.32,1);
  --ease2:cubic-bezier(.16,1,.3,1);
  --font-d:'Barlow',sans-serif;
  --font-b:'Noto Sans JP',sans-serif;
  --font-m:'Barlow',sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--w);color:var(--k);font-family:var(--font-b);font-weight:500;font-size:13px;line-height:1.8;letter-spacing:.1em;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-feature-settings:"palt"}
body::before{content:'';position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");background-size:300px;mix-blend-mode:multiply}
::-webkit-scrollbar{width:2px}::-webkit-scrollbar-track{background:var(--w)}::-webkit-scrollbar-thumb{background:var(--grad)}
::selection{background:var(--red);color:var(--w)}

/* CURSOR */


/* SHARED */
.wrap{max-width:var(--max);margin:0 auto;padding:0 48px}
.slabel{font-family:var(--font-m);font-size:9px;letter-spacing:.25em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:48px;display:flex;align-items:center;gap:14px}
.slabel::before{content:'';width:18px;height:1px;background:var(--grad);display:inline-block;flex-shrink:0}
.mc{font-family:var(--font-m);font-size:8px;letter-spacing:.12em;color:var(--g400);text-transform:uppercase}
.gt{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.rv{opacity:0;transform:translateY(36px);transition:opacity .95s var(--ease2),transform .95s var(--ease2)}
.rv.on{opacity:1;transform:translateY(0)}
.rv-l{opacity:0;transform:translateX(-40px);transition:opacity .95s var(--ease2),transform .95s var(--ease2)}
.rv-l.on{opacity:1;transform:translateX(0)}

/* §1 HERO */
#hero{min-height:100vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;border-bottom:1px solid var(--g150)}
.hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(228,228,228,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(228,228,228,.5) 1px,transparent 1px);background-size:calc(100%/12) 80px;pointer-events:none}
.hero-signal{position:absolute;right:80px;top:0;bottom:0;width:1px;background:rgba(200,200,200,.35);overflow:hidden}
.hero-signal::after{content:'';position:absolute;top:-30%;left:0;width:1px;height:30%;background:var(--grad);animation:signalSlide 2.8s ease-in-out 1.8s infinite}
@keyframes signalSlide{0%{top:-30%;opacity:0}20%{opacity:1}80%{opacity:1}100%{top:100%;opacity:0}}
.hero-coord{position:absolute;bottom:100px;right:40px;font-family:var(--font-m);font-size:9px;letter-spacing:.15em;color:var(--g400);writing-mode:vertical-rl;opacity:0;animation:cdFadeIn 1s ease 1.8s forwards}
@keyframes cdFadeIn{to{opacity:1}}
.hero-inner{position:relative;z-index:1;max-width:var(--max);margin:0;padding:0 40px 48px}
.hero-eyebrow{font-family:var(--font-m);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--g400);margin-bottom:40px;display:flex;align-items:center;gap:14px;opacity:0;animation:fadeUp .9s var(--ease) .6s forwards}
.hero-eyebrow::before{content:'';width:14px;height:1px;background:var(--grad);flex-shrink:0}
.hero-title{font-family:var(--font-d);font-size:clamp(40px,7.5vw,96px);line-height:.88;letter-spacing:-.03em;overflow:hidden}
.htl{display:block;opacity:0;transform:translateY(110%);animation:lineUp 1.1s var(--ease) forwards}
.htl:nth-child(1){animation-delay:.2s}
.htl:nth-child(2){animation-delay:.38s}
@keyframes lineUp{to{opacity:1;transform:translateY(0)}}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
.hero-sub{margin-top:40px;max-width:560px;font-size:clamp(14px,1.8vw,18px);font-weight:300;letter-spacing:.04em;line-height:2;color:var(--g600);opacity:0;animation:fadeUp .9s var(--ease) 1s forwards;position:relative;display:inline-block}
.hero-sub em{font-style:normal;font-weight:400;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub-ul{position:absolute;bottom:-4px;left:0;height:1.5px;width:0;background:var(--grad);animation:ulDraw 1.2s var(--ease) 2s forwards}
@keyframes ulDraw{to{width:100%}}
.hero-meta{margin-top:56px;display:flex;gap:56px;align-items:flex-end;opacity:0;animation:fadeUp .9s var(--ease) 1.2s forwards}
.hm-val{font-family:var(--font-m);font-size:clamp(18px,2.5vw,26px);letter-spacing:-.02em;line-height:1;display:block;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hm-lbl{font-family:var(--font-m);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--g400);margin-top:6px}

/* §2 CEO */
#ceo{padding:160px 0;border-bottom:1px solid var(--g150)}
.ceo-wrap{display:grid;grid-template-columns:380px 1fr;gap:0;align-items:start;max-width:var(--max);margin:0 auto;padding:0 48px}
.ceo-left{position:sticky;top:120px}
.ceo-photo-frame{width:100%;padding-top:130%;position:relative;overflow:hidden;background:var(--g100);filter:grayscale(1) contrast(1.05);transition:filter .8s var(--ease)}
.ceo-photo-frame:hover{filter:grayscale(.2) saturate(1.5) contrast(1.05)}
.ceo-photo-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-size:52px;letter-spacing:.1em;color:var(--g200)}
.ceo-photo-frame::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,rgba(244,59,71,.15),transparent);pointer-events:none}
.ceo-name{font-family:var(--font-d);font-size:24px;letter-spacing:.1em;margin-top:24px}
.ceo-title-tag{font-family:var(--font-m);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--g400);margin-top:8px}
.ceo-social{margin-top:20px;display:flex;gap:16px}
.ceo-social a{font-family:var(--font-m);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--g500);text-decoration:none;border:1px solid var(--g150);padding:4px 10px;transition:all .2s}
.ceo-social a:hover{border-color:var(--red);color:var(--red)}
.ceo-right{padding:0 0 0 80px;border-left:1px solid var(--g150)}
.ceo-label{font-family:var(--font-m);font-size:9px;letter-spacing:.25em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:48px;display:flex;align-items:center;gap:14px}
.ceo-label::before{content:'';width:16px;height:1px;background:var(--grad);flex-shrink:0}
.ceo-para{font-size:15px;font-weight:300;line-height:2.2;letter-spacing:.025em;color:var(--k);margin-bottom:32px;opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.ceo-para.on{opacity:1;transform:translateY(0)}
.ceo-keyword{display:block;font-family:var(--font-d);font-size:clamp(36px,6vw,80px);line-height:.85;letter-spacing:.01em;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.07;margin:48px 0 16px;user-select:none;transform:translateX(-8px)}
.ceo-keyword.rv-l.on{opacity:.07}
.ceo-em{font-weight:500;color:var(--k)}
.ceo-accent{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:500}
.ceo-strong{font-size:clamp(15px,1.8vw,21px);font-weight:100;line-height:1.8;letter-spacing:.04em;color:var(--k);margin-top:16px;margin-bottom:12px;opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.ceo-strong.on{opacity:1;transform:translateY(0)}

/* §3 育成ロードマップ */
#journey{padding:160px 0;border-bottom:1px solid var(--g150);background:var(--g50)}
.journey-header{text-align:center;margin-bottom:100px}
.journey-title{font-family:var(--font-d);font-size:clamp(28px,4.5vw,60px);line-height:.9;letter-spacing:.02em;margin-bottom:24px}
.journey-sub{font-size:14px;color:var(--g600);max-width:440px;margin:0 auto;line-height:2}
.journey-steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.journey-step{padding:0 40px 0 0;position:relative}
.journey-step:not(:last-child)::after{content:'';position:absolute;top:28px;right:0;width:40px;height:1px;background:var(--g200)}
.js-dot-row{display:flex;align-items:center;margin-bottom:28px}
.js-dot{width:12px;height:12px;border-radius:50%;background:var(--grad);flex-shrink:0}
.js-dot::after{content:'';display:block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(244,59,71,.3);position:absolute;margin:-1px}
.js-num{font-family:var(--font-d);font-size:30px;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-left:16px;opacity:.35}
.js-month{font-family:var(--font-m);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--g400);margin-bottom:12px}
.js-title{font-size:15px;font-weight:500;letter-spacing:.02em;margin-bottom:12px;line-height:1.4}
.js-body{font-size:12px;color:var(--g600);line-height:2}

/* §4 PROFILE */
#profile{padding:160px 0;border-bottom:1px solid var(--g150)}
.profile-title{font-family:var(--font-d);font-size:clamp(28px,4vw,56px);line-height:.88;letter-spacing:.01em;margin-bottom:72px}
.profile-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--g150);border:1px solid var(--g150)}
.pc{background:var(--w);padding:40px 36px;position:relative;overflow:hidden;transition:background .3s}
.pc:hover{background:rgba(244,59,71,.018)}
.pc::before,.pc::after{content:'';position:absolute;opacity:0;pointer-events:none}
.pc::before{top:0;left:-100%;height:1px;width:100%;background:var(--grad)}
.pc::after{right:0;top:-100%;width:1px;height:100%;background:var(--grad)}
.pc:hover::before{opacity:1;animation:beamH .6s var(--ease) forwards}
.pc:hover::after{opacity:1;animation:beamV .6s var(--ease) .28s forwards}
@keyframes beamH{from{left:-100%}to{left:100%}}
@keyframes beamV{from{top:-100%}to{top:100%}}
.pc-span-3{grid-column:span 3}.pc-span-4{grid-column:span 4}.pc-span-5{grid-column:span 5}
.pc-span-6{grid-column:span 6}.pc-span-7{grid-column:span 7}.pc-span-8{grid-column:span 8}
.pc-span-12{grid-column:span 12}
.pc-tag{font-family:var(--font-m);font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--g400);margin-bottom:16px;display:block}
.pc-val{font-size:14px;font-weight:500;letter-spacing:.02em;color:var(--k)}
.pc-val-lg{font-family:var(--font-d);font-size:26px;letter-spacing:.02em;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.pc-body{font-size:12px;color:var(--g600);line-height:2;margin-top:8px}
.pc-badge{display:inline-block;font-family:var(--font-m);font-size:8px;letter-spacing:.1em;padding:3px 8px;border:1px solid;margin-top:12px}
.pc-badge-green{border-color:rgba(34,197,94,.5);color:rgb(22,101,52)}
.pc-badge-blue{border-color:rgba(99,102,241,.5);color:rgb(67,56,202)}

/* §5 CODE GRID */
#code{padding:160px 0;border-bottom:1px solid var(--g150)}
.code-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:80px}
.code-title{font-family:var(--font-d);font-size:clamp(28px,4.5vw,64px);line-height:.88;letter-spacing:.01em}
.code-desc{font-size:13px;color:var(--g600);line-height:2.1}
.code-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--g150);border:1px solid var(--g150)}
.code-card{background:var(--w);padding:48px 40px;position:relative;overflow:hidden;transition:background .3s}
.code-card:hover{background:rgba(244,59,71,.015)}
.code-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.code-card:hover::before{transform:scaleX(1)}
.code-card.wide{grid-column:span 2}
.cc-num{font-family:var(--font-d);font-size:40px;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.18;position:absolute;top:16px;right:24px;letter-spacing:-.02em;user-select:none}
.cc-label{font-family:var(--font-m);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--g400);margin-bottom:12px}
.cc-title{font-size:17px;font-weight:500;letter-spacing:.02em;margin-bottom:10px;line-height:1.4}
.cc-tagline{font-family:var(--font-m);font-size:10px;letter-spacing:.03em;color:var(--red);margin-bottom:12px;font-weight:300}
.cc-body{font-size:12px;color:var(--g600);line-height:2.1}

/* §6 あなたが経験すること */
#business{padding:160px 0;border-bottom:1px solid var(--g150);background:var(--g50)}
.biz-header{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:80px}
.biz-main-title{font-family:var(--font-d);font-size:clamp(28px,4vw,56px);line-height:.88;letter-spacing:.01em}
.biz-intro{font-size:13px;color:var(--g600);line-height:2.1}
.biz-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--g150);border:1px solid var(--g150)}
.biz-card{background:var(--w);padding:52px 40px;position:relative;overflow:hidden;transition:background .3s}
.biz-card:hover{background:rgba(244,59,71,.015)}
.biz-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.biz-card:hover::before{transform:scaleX(1)}
.biz-num{font-family:var(--font-d);font-size:40px;color:var(--g150);line-height:1;position:absolute;top:20px;right:24px;letter-spacing:-.02em;user-select:none}
.biz-cat{font-family:var(--font-m);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--g400);margin-bottom:20px}
.biz-name{font-size:18px;font-weight:500;letter-spacing:.02em;margin-bottom:16px;line-height:1.3}
.biz-desc{font-size:12px;color:var(--g600);line-height:2.1}
.biz-points{margin-top:20px;display:flex;flex-direction:column;gap:8px}
.biz-point{font-size:12px;color:var(--g600);display:flex;gap:8px;align-items:flex-start;line-height:1.7}
.biz-point::before{content:'→';color:var(--red);flex-shrink:0;font-family:var(--font-m);font-size:10px;margin-top:2px}

/* §7 数字で見る */
#numbers{padding:160px 0;border-bottom:1px solid var(--g150)}
.numbers-header{text-align:center;margin-bottom:80px}
.numbers-title{font-family:var(--font-d);font-size:clamp(28px,4vw,56px);line-height:.88;letter-spacing:.02em;margin-bottom:0}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--g150);border:1px solid var(--g150)}
.num-card{background:var(--w);padding:52px 32px;text-align:center;position:relative;overflow:hidden;transition:background .3s}
.num-card:hover{background:rgba(244,59,71,.015)}
.num-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.num-card:hover::before{transform:scaleX(1)}
.num-val{font-family:var(--font-d);font-size:clamp(48px,5vw,72px);letter-spacing:.02em;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:16px}
.num-label{font-size:13px;font-weight:500;letter-spacing:.02em;margin-bottom:8px}
.num-desc{font-size:11px;color:var(--g500);line-height:1.8}
.numbers-note{text-align:center;margin-top:20px;font-family:var(--font-m);font-size:8px;letter-spacing:.1em;color:var(--g400)}

/* §8 CHALLENGER */
#challenger{padding:180px 0;border-bottom:1px solid var(--g150);overflow:hidden;position:relative}
.ch-bg-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-size:clamp(52px,11vw,175px);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(200,200,200,.25);pointer-events:none;user-select:none;white-space:nowrap;overflow:hidden}
.ch-inner{max-width:var(--max);margin:0 auto;padding:0 48px;position:relative;z-index:1}
.ch-label{font-family:var(--font-m);font-size:9px;letter-spacing:.25em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:56px;display:flex;align-items:center;gap:14px}
.ch-label::before{content:'';width:16px;height:1px;background:var(--grad);flex-shrink:0}
.ch-title{font-family:var(--font-d);font-size:clamp(30px,4.5vw,70px);line-height:.9;letter-spacing:.01em;margin-bottom:56px}
.ch-lines{display:flex;flex-direction:column;border-top:1px solid var(--g150)}
.ch-line{display:flex;align-items:baseline;gap:24px;padding:28px 0;border-bottom:1px solid var(--g150);transition:padding-left .4s var(--ease),background .3s;position:relative;overflow:hidden}
.ch-line::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--grad);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease)}
.ch-line:hover::before{transform:scaleY(1)}
.ch-line:hover{padding-left:20px;background:rgba(244,59,71,.012)}
.ch-line-num{font-family:var(--font-m);font-size:9px;letter-spacing:.1em;color:var(--g400);flex-shrink:0;width:28px}
.ch-line-text{font-size:clamp(16px,2vw,22px);font-weight:100;letter-spacing:.03em;line-height:1.5}
.ch-line-text em{font-style:normal;font-weight:500}
.ch-line-text .gr{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:500}

/* §9 CTA */
#cta{padding:200px 0;position:relative;overflow:hidden}
#cta-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.cta-wrap{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:0 48px}
.cta-kicker{font-family:var(--font-m);font-size:9px;letter-spacing:.25em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:56px;display:flex;align-items:center;gap:14px}
.cta-kicker::before{content:'';width:16px;height:1px;background:var(--grad);flex-shrink:0}
.cta-title{font-family:var(--font-d);font-size:clamp(32px,5vw,80px);line-height:.9;letter-spacing:.01em;margin-bottom:40px}
.cta-body{font-size:15px;color:var(--g600);max-width:480px;line-height:2.2;margin-bottom:64px}
.cta-body strong{font-weight:500;color:var(--k)}
.cta-row{display:flex;align-items:center;gap:48px;flex-wrap:wrap}
.mag-btn{position:relative;display:inline-block;padding:22px 60px;font-family:var(--font-m);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--w);border:none;background:none;cursor:none;overflow:hidden}
.mb-bg{position:absolute;inset:0;background:var(--grad)}
.mb-bg2{position:absolute;inset:0;background:var(--grad-r);opacity:0;transition:opacity .4s}
.mag-btn:hover .mb-bg2{opacity:1}
.mag-btn span{position:relative;z-index:1}
.ripple{position:absolute;border-radius:50%;background:rgba(244,59,71,.2);transform:scale(0);pointer-events:none;animation:rippleOut .8s var(--ease) forwards}
@keyframes rippleOut{to{transform:scale(5);opacity:0}}
.cta-note{font-size:13px;color:var(--g500);line-height:2.2}
.cta-note strong{font-weight:500;color:var(--k)}


/* RESPONSIVE */
@media(max-width:960px){
  
  .wrap,.ceo-wrap,.cta-wrap,.ch-inner{padding:0 24px}
  .hero-inner{padding:0 24px 48px}
  #hero{padding:100px 0 60px}
  .hero-meta{gap:28px}
  .ceo-wrap{grid-template-columns:1fr;padding:0 24px}
  .ceo-left{position:static;margin-bottom:48px}
  .ceo-right{padding:0;border-left:none;border-top:1px solid var(--g150);padding-top:48px}
  .journey-steps{grid-template-columns:1fr 1fr;gap:40px}
  .journey-step::after{display:none}
  .profile-grid{grid-template-columns:1fr}
  .pc-span-3,.pc-span-4,.pc-span-5,.pc-span-6,.pc-span-7,.pc-span-8,.pc-span-12{grid-column:span 1}
  .code-intro,.biz-header{grid-template-columns:1fr;gap:32px}
  .code-grid,.biz-cards{grid-template-columns:1fr}
  .code-card.wide{grid-column:span 1}
  .numbers-grid{grid-template-columns:repeat(2,1fr)}
  .cta-row{flex-direction:column;align-items:flex-start}
  #ceo,#journey,#profile,#code,#business,#numbers,#challenger{padding:80px 0}
  #cta{padding:100px 0}
  .journey-header{margin-bottom:56px}
  .numbers-header{margin-bottom:48px}
}
@media(max-width:480px){
  .journey-steps{grid-template-columns:1fr}
  .numbers-grid{grid-template-columns:1fr 1fr}
}


.hero-inner{padding:0 24px 80px}}

/* ===== MVV MISSION / VISION ===== */
#ab-mission{
  padding:140px 0;
  border-bottom:1px solid var(--g150);
  background:var(--k);
  position:relative;overflow:hidden;
}
#ab-vision{
  padding:140px 0;
  border-bottom:1px solid var(--g150);
  background:var(--g50);
  position:relative;overflow:hidden;
}
.ab-mvv-bg{
  position:absolute;right:-40px;top:50%;transform:translateY(-50%);
  font-family:var(--font-d);font-size:clamp(80px,18vw,260px);
  letter-spacing:-.04em;color:transparent;
  pointer-events:none;user-select:none;white-space:nowrap;
}
#ab-mission .ab-mvv-bg{-webkit-text-stroke:1px rgba(255,255,255,.10)}
#ab-vision .ab-mvv-bg{-webkit-text-stroke:1px rgba(0,0,0,.07)}
.ab-mvv-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:120px;align-items:center;position:relative;z-index:1;
}
.ab-mvv-label{
  font-family:var(--font-m);font-size:9px;letter-spacing:.25em;
  text-transform:uppercase;margin-bottom:48px;
  display:flex;align-items:center;gap:14px;
}
.ab-mvv-label::before{content:'';width:20px;height:1px;background:var(--grad);flex-shrink:0}
#ab-mission .ab-mvv-label{color:rgba(255,255,255,.3)}
#ab-vision .ab-mvv-label{color:var(--g400)}
.ab-mvv-title{
  font-family:var(--font-b);font-size:clamp(36px,5.5vw,72px);
  font-weight:700;line-height:1.15;letter-spacing:-.01em;margin-bottom:20px;
}
#ab-mission .ab-mvv-title{color:var(--w)}
#ab-vision .ab-mvv-title{color:var(--k)}
.ab-mvv-en{
  font-family:var(--font-m);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  display:block;
}
.ab-mvv-divider{width:40px;height:1px;margin:40px 0;}
#ab-mission .ab-mvv-divider{background:rgba(255,255,255,.15)}
#ab-vision .ab-mvv-divider{background:var(--g200)}
.ab-mvv-sub{
  font-size:15px;font-weight:500;line-height:2;letter-spacing:.04em;margin-bottom:28px;
}
#ab-mission .ab-mvv-sub{color:var(--w)}
#ab-vision .ab-mvv-sub{color:var(--k)}
.ab-mvv-body{font-size:12px;line-height:2.2;letter-spacing:.06em}
#ab-mission .ab-mvv-body{color:rgba(255,255,255,.45)}
#ab-vision .ab-mvv-body{color:var(--g500)}
#ab-value{
  padding:140px 0;
  border-bottom:1px solid var(--g150);
  background:var(--k);
  position:relative;overflow:hidden;
}
#ab-value .ab-mvv-bg{-webkit-text-stroke:1px rgba(255,255,255,.10)}
#ab-value .ab-mvv-label{color:rgba(255,255,255,.3)}
#ab-value .ab-mvv-title{color:var(--w)}
#ab-value .ab-mvv-divider{background:rgba(255,255,255,.15)}
#ab-value .ab-mvv-sub{color:var(--w)}
#ab-value .ab-mvv-body{color:rgba(255,255,255,.5)}
@media(max-width:960px){
  .ab-mvv-grid{grid-template-columns:1fr;gap:48px}
  #ab-mission,#ab-vision,#ab-value{padding:80px 0}
}
@media(hover:none){.cursor{display:none}}
.cursor{position:fixed;width:5px;height:5px;border-radius:50%;background:var(--grad);pointer-events:none;z-index:9998;mix-blend-mode:multiply;transform:translate(-50%,-50%);transition:transform .08s}
