:root{--y:#FFE500;--y-soft:color-mix(in oklab,var(--y) 18%,#FAFAF7);--y-deep:color-mix(in oklab,var(--y) 70%,#1a1a1a 30%);--ink:#111111;--ink-2:#2A2A2A;--mute:#6B6B6B;--mute-2:#9A968C;--line:#E5E2DA;--paper:#FAFAF7;--paper-2:#F2EFE6}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Noto Sans JP,游ゴシック,Yu Gothic,-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif;font-feature-settings:"palt" 1;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font:inherit}.lm{display:block;flex:0 0 auto}.lm-nav{width:24px;height:24px}.lm-footer{width:26px;height:26px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--ink)}.nav-inner{max-width:1280px;margin:0 auto;padding:0 56px;display:flex;align-items:stretch;justify-content:space-between;height:72px}.logo{gap:12px;font-weight:800;letter-spacing:.08em;font-size:17px;color:var(--ink)}.logo,.nav ul{display:flex;align-items:center}.nav ul{list-style:none;margin:0;padding:0}.nav ul li{padding:0 22px;height:100%;display:flex;align-items:center;position:relative}.nav ul li .num{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--mute);margin-right:8px;letter-spacing:.1em}.nav ul a{letter-spacing:.14em;color:var(--ink)}.nav .cta,.nav ul a{font-size:12.5px;font-weight:700}.nav .cta{display:flex;align-items:center;gap:14px;padding:0 28px;background:var(--ink);color:var(--paper);letter-spacing:.18em}.nav .cta .arrow{display:inline-block;width:18px;height:1px;background:var(--y);position:relative}.nav .cta .arrow:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid var(--y);border-top:1px solid var(--y);transform:rotate(45deg)}.nav .cta:hover{background:var(--y);color:var(--ink)}.nav .cta:hover .arrow,.nav .cta:hover .arrow:after{background:var(--ink);border-color:var(--ink)}.hero{position:relative;overflow:hidden;background:var(--y);border-bottom:1px solid var(--ink);display:flex;flex-direction:column;min-height:740px}.hero:before{content:"";inset:0;z-index:0;background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 0);background-size:5px 5px}.hero .orbit,.hero:before{position:absolute;pointer-events:none}.hero .orbit{top:-200px;right:-130px;width:560px;height:560px;border-radius:50%;border:1.5px solid rgba(0,0,0,.16);z-index:1}.hero .orbit:after{content:"";position:absolute;inset:70px;border-radius:50%;border:1.5px solid rgba(0,0,0,.12)}.hero .hero-main{flex:1 1;max-width:1280px;width:100%;margin:0 auto;padding:76px 56px 60px;display:grid;grid-template-columns:1fr auto;grid-gap:48px;gap:48px;position:relative;z-index:2}.hero .col-main{display:flex;flex-direction:column;justify-content:center}.hero .eyebrow{display:flex;align-items:center;gap:14px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.22em;color:var(--ink);margin-bottom:34px}.hero .eyebrow:before{content:"";width:40px;height:2px;background:var(--ink)}.hero h1{font-family:Noto Sans JP,sans-serif;font-weight:800;font-size:92px;line-height:1.16;letter-spacing:.01em;color:var(--ink);margin:0;white-space:nowrap}.hero h1 .box{background:var(--ink);color:var(--y);padding:0 18px;display:inline-block;margin:8px -2px 0}.hero .lead{max-width:540px;font-size:16px;line-height:2.1;color:var(--ink);margin:34px 0 44px;letter-spacing:.04em}.hero .col-meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;text-align:right}.hero .col-meta .stamp{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.18em;color:var(--ink)}.hero .col-meta .vbrand{writing-mode:vertical-rl;font-family:Shippori Mincho B1,serif;font-weight:600;font-size:17px;letter-spacing:.5em;color:var(--ink);margin:24px 0}.section{padding:120px 0;border-bottom:1px solid var(--ink)}.wrap-wide{max-width:1280px;margin:0 auto;padding:0 56px}.sec-head{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:80px;gap:80px;margin-bottom:72px;align-items:flex-end}.sec-head .lab{font-family:Helvetica Neue,Helvetica,sans-serif;font-size:11px;letter-spacing:.24em;font-weight:700;display:flex;align-items:center;gap:12px;margin-bottom:28px}.sec-head .lab .num{display:inline-block;padding:3px 8px;background:var(--ink);color:var(--paper);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em}.sec-head h2{font-family:Noto Sans JP,sans-serif;font-weight:800;font-size:54px;line-height:1.28;letter-spacing:.005em;margin:0}.sec-head .right-text{font-size:14px;line-height:2;color:var(--ink-2);border-top:1px solid var(--ink);padding-top:18px}.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0;border:1px solid var(--ink)}.svc-cards .card{padding:40px 36px 36px;border-right:1px solid var(--ink);position:relative;background:var(--paper);transition:background .25s;display:flex;flex-direction:column}.svc-cards .card:last-child{border-right:0}.svc-cards .card:hover{background:var(--y-soft)}.svc-cards .card .head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:72px}.svc-cards .card .num{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em;font-weight:500;display:inline-flex;align-items:center;padding:5px 10px;border:1px solid var(--ink)}.svc-cards .card .num:before{content:"";width:6px;height:6px;background:var(--y);display:inline-block;margin-right:8px}.svc-cards .card .mark{width:40px;height:40px}.svc-cards .card .jp{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:26px;letter-spacing:.03em;line-height:1.4;margin-bottom:6px}.svc-cards .card .en{font-family:Helvetica Neue,Helvetica,sans-serif;font-size:11px;letter-spacing:.22em;color:var(--mute);text-transform:uppercase;margin-bottom:22px}.svc-cards .card .desc{font-size:13.5px;line-height:2;color:var(--ink-2);letter-spacing:.03em}.svc-cards .card .feats{list-style:none;margin:22px 0 0;padding:22px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.svc-cards .card .feats li{font-size:12.5px;color:var(--ink);letter-spacing:.04em;display:flex;align-items:baseline;gap:10px;font-family:JetBrains Mono,monospace}.svc-cards .card .feats li:before{content:"";width:5px;height:5px;background:var(--y);display:inline-block;transform:translateY(-2px);flex:0 0 auto}.manifesto{background:var(--y);border-bottom:1px solid var(--ink);padding:88px 0;position:relative;overflow:hidden}.manifesto:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(0,0,0,.04) 1px,transparent 0);background-size:4px 4px;pointer-events:none}.manifesto .wrap-wide{display:grid;grid-template-columns:100px 1fr 100px;align-items:center;grid-gap:40px;gap:40px;position:relative}.manifesto .qmark{font-family:Shippori Mincho B1,serif;font-size:120px;font-weight:600;line-height:.5;color:var(--ink)}.manifesto .qmark.r{text-align:right;transform:rotate(180deg)}.manifesto .text{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:38px;line-height:1.85;letter-spacing:.06em;color:var(--ink);text-align:center}.manifesto .text .em{border-bottom:2px solid var(--ink);padding-bottom:4px}.strengths{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.strengths .cell{padding:40px 28px 36px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);position:relative}.strengths .cell .n{font-family:JetBrains Mono,monospace;font-weight:500;font-size:12px;letter-spacing:.18em;color:var(--mute);margin-bottom:18px;display:flex;align-items:center;gap:8px}.strengths .cell .n:before{content:"";width:6px;height:6px;background:var(--y);display:inline-block}.strengths .cell h3{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:20px;letter-spacing:.03em;line-height:1.55;margin:0 0 16px}.strengths .cell p{margin:0;font-size:13px;line-height:2;color:var(--ink-2);letter-spacing:.03em}.approach-track{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:repeat(4,1fr)}.approach-track .step{padding:36px 32px 40px;border-right:1px solid var(--line);position:relative}.approach-track .step:last-child{border-right:0}.approach-track .step .step-no{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:64px;line-height:1;margin-bottom:28px;display:flex;align-items:baseline;gap:12px}.approach-track .step .step-no .step-en{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;color:var(--mute);font-weight:500}.approach-track .step .step-title{font-weight:700;font-size:17px;letter-spacing:.04em;margin-bottom:10px}.approach-track .step .step-desc{font-size:12.5px;line-height:1.95;color:var(--ink-2);letter-spacing:.03em}.approach-track .step.is-hi{background:var(--y-soft)}.company-grid{display:grid;grid-template-columns:1fr 1.4fr;border:1px solid var(--ink)}.company-grid .side{background:var(--y);padding:56px 44px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.company-grid .side:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(0,0,0,.04) 1px,transparent 0);background-size:4px 4px}.company-grid .side .big{font-family:Noto Sans JP,sans-serif;font-weight:900;font-size:76px;line-height:1;letter-spacing:-.02em;color:var(--ink);position:relative}.company-grid .side .big .inc{display:block;font-family:Shippori Mincho B1,serif;font-weight:500;font-size:14px;letter-spacing:.3em;margin-top:14px}.company-grid .side .meta{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.16em;color:var(--ink);position:relative}.company-grid dl{margin:0;padding:36px 44px}.company-grid .dl-row{display:grid;grid-template-columns:200px 1fr;padding:18px 0;border-bottom:1px solid var(--line);grid-gap:16px;gap:16px}.company-grid .dl-row:first-child{padding-top:0}.company-grid .dl-row:last-child{border-bottom:0}.company-grid dt{font-family:Helvetica Neue,Helvetica,sans-serif;font-size:11px;letter-spacing:.18em;color:var(--mute);text-transform:uppercase;padding-top:4px;display:flex;align-items:baseline;gap:8px}.company-grid dt .num{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--y-deep)}.company-grid dd{margin:0;font-size:15px;line-height:1.9;color:var(--ink);letter-spacing:.04em}.contact{background:var(--ink);color:var(--paper);padding:130px 0;border-bottom:0;position:relative;overflow:hidden}.contact:before{content:"CONTACT";position:absolute;bottom:-40px;right:-20px;font-family:Noto Sans JP,sans-serif;font-weight:900;font-size:280px;line-height:.8;color:rgba(255,255,255,.04);letter-spacing:-.04em;pointer-events:none}.contact .wrap-wide{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:80px;gap:80px;align-items:center;position:relative}.contact h2{font-family:Noto Sans JP,sans-serif;font-weight:800;font-size:60px;line-height:1.3;letter-spacing:.01em;margin:24px 0 28px}.contact .y-bar{background:var(--y);color:var(--ink);padding:0 12px;display:inline-block}.contact .kicker{color:var(--y);display:flex;align-items:center;gap:12px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.22em}.contact .kicker:before{content:"";width:32px;height:2px;background:var(--y);display:inline-block}.contact .sub{font-size:14px;line-height:2;color:rgba(250,250,247,.7);max-width:440px;letter-spacing:.03em}.contact .actions{display:flex;flex-direction:column;gap:14px;align-items:stretch}.contact .btn{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;font-size:13.5px;letter-spacing:.1em;font-weight:700;background:var(--y);color:var(--ink);border:1px solid var(--y);transition:background .2s}.contact .btn:hover{background:var(--y-deep)}.contact .btn .arrow{font-family:monospace;font-size:18px}.contact .btn.ghost{background:transparent;color:var(--paper);border-color:rgba(250,250,247,.3)}.contact .btn.ghost:hover{background:rgba(250,250,247,.05);border-color:var(--y)}.contact .btn.ghost .arrow{color:var(--y)}.contact .btn .sub-line{display:block;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.18em;color:var(--mute);margin-top:4px;font-weight:500;text-transform:uppercase}.contact .btn .label-wrap{display:flex;flex-direction:column}footer{background:var(--ink);color:rgba(250,250,247,.55);padding:72px 0 32px;border-top:1px solid rgba(255,255,255,.08)}footer .top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);grid-gap:56px;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08)}footer .brand .logo{color:var(--paper);display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px;letter-spacing:.08em;margin-bottom:20px}footer .brand .tag{font-family:Shippori Mincho B1,serif;font-size:14px;line-height:1.95;color:rgba(250,250,247,.7);letter-spacing:.04em;max-width:280px}footer .col h4{font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.22em;color:var(--y);margin:0 0 18px;text-transform:uppercase;font-weight:600}footer .col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}footer .col ul li a{font-size:13px;color:rgba(250,250,247,.65);letter-spacing:.04em}footer .col ul li a:hover{color:var(--y)}footer .bottom{padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.16em}footer .bottom .left{color:rgba(250,250,247,.55)}footer .bottom .right{display:flex;gap:28px}footer .bottom .right a{color:rgba(250,250,247,.55)}footer .bottom .right a:hover{color:var(--y)}@media (max-width:1120px){.hero .hero-main,.nav-inner,.wrap-wide{padding-left:32px;padding-right:32px}.hero h1{font-size:clamp(56px,8vw,92px);white-space:normal}.sec-head h2{font-size:clamp(36px,5vw,54px)}.contact h2{font-size:clamp(40px,6vw,60px)}.company-grid .side .big{font-size:clamp(56px,7vw,76px)}.manifesto .text{font-size:clamp(28px,4vw,38px)}}@media (max-width:900px){.nav-inner{height:auto;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;gap:14px 18px}.nav ul{order:3;width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px 0}.nav ul li{padding:0;height:auto}.nav .cta{margin-left:auto;padding:14px 20px}.company-grid,.contact .wrap-wide,.hero .hero-main{grid-template-columns:1fr}.hero{min-height:auto}.hero .hero-main{padding-top:56px;padding-bottom:56px;gap:28px}.hero .col-meta{align-items:flex-start;text-align:left}.hero .col-meta .vbrand{writing-mode:horizontal-tb;letter-spacing:.24em;margin:0}.sec-head{grid-template-columns:1fr;gap:24px;margin-bottom:48px}.approach-track,.strengths,.svc-cards,footer .top{grid-template-columns:1fr 1fr}.svc-cards .card{min-height:100%}.manifesto .wrap-wide{grid-template-columns:72px 1fr 72px;gap:20px}.manifesto .qmark{font-size:88px}.company-grid .side{padding:40px 28px;gap:24px}.company-grid dl{padding:28px}.company-grid .dl-row{grid-template-columns:1fr;gap:8px}.contact{padding:96px 0}.contact .wrap-wide{gap:40px}.contact .actions{max-width:520px}footer .top{gap:32px 28px}}@media (max-width:640px){.hero .hero-main,.nav-inner,.wrap-wide{padding-left:20px;padding-right:20px}.nav-inner{gap:12px}.nav ul{gap:10px 14px;justify-content:flex-start}.nav .cta,.nav ul a{font-size:11px;letter-spacing:.12em}.nav .cta{width:100%;justify-content:center}.hero{min-height:auto}.hero .orbit{top:-160px;right:-220px;width:420px;height:420px}.hero .hero-main{padding-top:40px;padding-bottom:44px;gap:22px}.hero .eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:22px;flex-wrap:wrap;gap:10px}.contact .kicker:before,.hero .eyebrow:before{width:22px}.hero h1{font-size:clamp(38px,12vw,56px);line-height:1.18}.hero h1 .box{padding:0 12px;margin-top:4px}.hero .lead{font-size:14px;line-height:1.9;margin:24px 0 30px}.section{padding:80px 0}.sec-head{margin-bottom:32px}.sec-head .lab{margin-bottom:18px;gap:10px;font-size:10px;letter-spacing:.18em}.sec-head h2{font-size:32px;line-height:1.35}.approach-track,.company-grid,.contact .wrap-wide,.strengths,.svc-cards,footer .top{grid-template-columns:1fr}.approach-track .step,.strengths .cell,.svc-cards .card{padding:28px 20px}.svc-cards .card .head{margin-bottom:40px}.svc-cards .card .jp{font-size:22px}.approach-track .step .step-desc,.company-grid dd,.contact .sub,.strengths .cell p,.svc-cards .card .desc,footer .brand .tag{line-height:1.85;font-size:13px}.manifesto{padding:58px 0}.manifesto .wrap-wide{grid-template-columns:1fr;gap:18px;text-align:center}.manifesto .qmark{font-size:64px;line-height:1;text-align:center}.manifesto .qmark.r{transform:none}.manifesto .text{font-size:22px;line-height:1.8}.strengths{border-right:1px solid var(--ink)}.approach-track .step,.company-grid .side,.company-grid dl,.contact .wrap-wide,.strengths .cell{border-right:0}.approach-track .step-no{font-size:44px;margin-bottom:18px}.company-grid .side{padding:28px 20px}.company-grid .side .big{font-size:46px}.company-grid .side .meta{font-size:10px}.company-grid dl{padding:22px 20px}.company-grid .dl-row{padding:14px 0}.contact{padding:76px 0}.contact h2{font-size:34px;margin:20px 0}.contact .sub{max-width:none}.contact .btn{padding:20px;flex-direction:column;align-items:flex-start;gap:10px}.contact .btn .arrow{align-self:flex-end}.contact:before{font-size:160px;right:-14px;bottom:-20px}footer{padding:56px 0 24px}footer .top{padding-bottom:32px;gap:24px}footer .bottom{flex-direction:column;align-items:flex-start;gap:14px}footer .bottom .right{gap:18px;flex-wrap:wrap}}