:root{--canvas:#fbfbfb;--canvas-soft:#f3f3f1;--ink:#161617;--ink-2:#3a3a3d;--ink-muted:#6e6e73;--ink-faint:#a1a1a6;--line:#e6e6e8;--line-soft:#efefee;--accent:#d4889a;--accent-ink:#1d1d1f;--radius:18px;--radius-lg:28px;--maxw:1280px;--section-pad:clamp(96px, 14vw, 180px);--font-jp:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;--font-latin:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font:var(--font-latin), var(--font-jp);--font-serif:"Noto Serif JP", serif;--font-mono-stack:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--canvas);color:var(--ink);font-family:var(--font);font-feature-settings:"palt" 1, "kern" 1;-webkit-font-smoothing:antialiased;letter-spacing:.005em;margin:0;padding:0;font-size:16px;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:500}.eyebrow-jp{letter-spacing:.4em;color:var(--ink-muted);font-size:13px;font-weight:500}.display{letter-spacing:-.035em;margin:0;font-size:clamp(48px,9vw,112px);font-weight:600;line-height:1.02}.h1{letter-spacing:-.025em;margin:0;font-size:clamp(40px,6vw,72px);font-weight:600;line-height:1.08}.h2{letter-spacing:-.018em;margin:0;font-size:clamp(28px,3.6vw,44px);font-weight:600;line-height:1.18}.h3{letter-spacing:-.01em;margin:0;font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.3}.lede{color:var(--ink-2);letter-spacing:.005em;font-size:clamp(18px,1.8vw,22px);font-weight:400;line-height:1.55}.body{color:var(--ink-2);font-size:16px;line-height:1.75}.small{color:var(--ink-muted);font-size:13px;line-height:1.6}.mono{font-family:var(--font-mono-stack)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 max(24px,4vw)}.section{padding-top:var(--section-pad);padding-bottom:var(--section-pad)}.section--soft{background:var(--canvas-soft)}.section--ink{background:var(--ink);color:var(--canvas)}.section--ink .lede{color:#ffffffb3}.section--ink .eyebrow,.section--ink .eyebrow-jp{color:#ffffff8c}.divider{border:0;border-top:1px solid var(--line);margin:0}.btn{letter-spacing:.01em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;height:48px;padding:0 22px;font-size:14px;font-weight:500;transition:transform .15s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--ink);color:var(--canvas)}.btn--primary:hover{background:#000}.btn--ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn--ghost:hover{border-color:var(--ink)}.btn--link{height:auto;color:var(--ink);background:0 0;border-radius:0;gap:6px;padding:0;font-size:15px}.btn--link .arrow{transition:transform .25s}.btn--link:hover .arrow{transform:translate(4px)}.nav{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line-soft);background:#fbfbfbc7;position:sticky;top:0}.nav__inner{justify-content:space-between;align-items:center;gap:32px;height:56px;display:flex}.nav__brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.nav__brand-mark{width:22px;height:22px}.nav__links{gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav__link{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .2s,color .2s}.nav__link:hover{color:var(--ink)}.nav__link.is-active{color:var(--ink);background:#0000000d}.nav__cta{background:var(--ink);height:36px;color:var(--canvas);cursor:pointer;border:0;border-radius:999px;padding:0 16px;font-size:13px;font-weight:500}.footer{background:var(--ink);color:#ffffffb3;padding:96px 0 56px}.footer .h2,.footer a:hover{color:#fff}.footer__grid{border-bottom:1px solid #ffffff1f;grid-template-columns:1.4fr repeat(3,1fr);gap:48px;padding-bottom:64px;display:grid}.footer__col h4{letter-spacing:.16em;text-transform:uppercase;color:#ffffff80;margin:0 0 18px;font-size:12px;font-weight:500}.footer__col ul{margin:0;padding:0;list-style:none}.footer__col li{margin-bottom:10px;font-size:14px}.footer__col a{color:#ffffffbf;transition:color .2s}.footer__bot{color:#ffffff80;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:32px;font-size:12px;display:flex}.hero{padding:clamp(96px, 18vh, 200px) 0 var(--section-pad);position:relative}.hero__sub{max-width:640px;margin-top:36px}.hero__cta{flex-wrap:wrap;gap:12px;margin-top:48px;display:flex}.hero__meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:56px;margin-top:96px;padding-top:32px;display:flex}.hero__meta-item{min-width:140px}.hero__meta-item .small{margin-bottom:4px;display:block}.hero__meta-item strong{letter-spacing:-.01em;font-size:clamp(22px,2.4vw,28px);font-weight:600;display:block}.service-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.service-card{border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;background:#fff;flex-direction:column;min-height:340px;padding:48px;transition:transform .35s cubic-bezier(.2,.6,.2,1),box-shadow .35s;display:flex;position:relative;overflow:hidden}.service-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px -28px #0000002e}.service-card__num{letter-spacing:.18em;color:var(--ink-faint);margin-bottom:24px;font-size:12px;font-weight:500}.service-card__title{margin-bottom:16px}.service-card__desc{color:var(--ink-2);flex:1}.service-card__arrow{background:var(--ink);width:44px;height:44px;color:var(--canvas);border-radius:999px;place-items:center;margin-top:32px;transition:transform .35s;display:grid}.service-card:hover .service-card__arrow{transform:translate(4px)}.service-card.is-wide{grid-column:span 2;min-height:280px}.ph{background:repeating-linear-gradient(135deg, var(--canvas-soft) 0, var(--canvas-soft) 8px, #ebebe8 8px, #ebebe8 16px);border-radius:var(--radius-lg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ph__label{font-family:var(--font-mono-stack);letter-spacing:.1em;color:var(--ink-muted);background:var(--canvas);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:11px}.ph--dark{background:repeating-linear-gradient(135deg,#1d1d1f 0 8px,#232325 8px 16px)}.ph--dark .ph__label{color:#ffffffb3;background:#2a2a2c;border-color:#ffffff1a}.feature{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.feature--reverse>:first-child{order:2}.feature__img.ph{aspect-ratio:4/3}.feature__copy h2{margin-bottom:28px}.feature__copy p{max-width:480px}.feature__list{margin-top:32px;padding:0;list-style:none}.feature__list li{border-top:1px solid var(--line);justify-content:space-between;gap:24px;padding:18px 0;font-size:15px;display:flex}.feature__list li:last-child{border-bottom:1px solid var(--line)}.feature__list .small{color:var(--ink-muted)}.bigquote{letter-spacing:-.018em;text-wrap:pretty;max-width:1000px;margin:0;font-size:clamp(28px,4vw,56px);font-weight:500;line-height:1.28}.bigquote em{color:var(--ink-muted);font-style:normal}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:24px;padding:56px 0;display:grid}.stats__cell .num{letter-spacing:-.03em;font-size:clamp(40px,5.2vw,72px);font-weight:600;line-height:1}.stats__cell .small{margin-top:12px;display:block}.dl{border-top:1px solid var(--line);grid-template-columns:220px 1fr;gap:28px 48px;padding-top:32px;display:grid}.dl dt{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);padding-top:4px;font-size:13px;font-weight:500}.dl dd{color:var(--ink);margin:0;font-size:17px}.dl dd .small{color:var(--ink-muted);margin-top:4px;display:block}.dl dl-row{display:contents}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:64px;display:flex;overflow-x:auto}.tab{color:var(--ink-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:14px 22px;font-size:14px;font-weight:500;transition:color .2s,border-color .2s}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--ink);border-color:var(--ink)}.form{gap:28px;max-width:720px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field label{letter-spacing:.04em;color:var(--ink-2);font-size:13px;font-weight:500}.field label .req{color:var(--accent);margin-left:6px;font-size:11px}.field input,.field textarea,.field select{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:12px;padding:16px 18px;font-size:15px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 4px #0000000a}.field textarea{resize:vertical;min-height:160px}.form__row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.job{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:32px;padding:28px 0;transition:background .2s;display:grid}.job:hover{background:#00000004}.job__num{font-family:var(--font-mono-stack);color:var(--ink-faint);font-size:12px}.job__title{letter-spacing:-.01em;font-size:22px;font-weight:600}.job__title .small{color:var(--ink-muted);margin-top:4px;font-weight:400;display:block}.job__tag{background:var(--canvas-soft);color:var(--ink-2);border-radius:999px;padding:4px 12px;font-size:12px}.job__arrow{border:1px solid var(--line);border-radius:999px;place-items:center;width:36px;height:36px;transition:background .2s,color .2s,border-color .2s,transform .2s;display:grid}.job:hover .job__arrow{background:var(--ink);color:var(--canvas);border-color:var(--ink);transform:translate(4px)}.map{aspect-ratio:16/9;border-radius:var(--radius-lg);background:radial-gradient(circle at 30% 40%, #d4889a1f, transparent 40%), repeating-linear-gradient(0deg, var(--canvas-soft) 0, var(--canvas-soft) 1px, transparent 1px, transparent 32px), repeating-linear-gradient(90deg, var(--canvas-soft) 0, var(--canvas-soft) 1px, transparent 1px, transparent 32px), #f6f6f4;border:1px solid var(--line);position:relative;overflow:hidden}.map__pin{background:var(--accent);border-radius:999px;width:18px;height:18px;animation:2.4s ease-out infinite pulse;position:absolute;top:45%;left:52%;box-shadow:0 0 0 6px #d4889a2e,0 0 0 14px #d4889a14}@keyframes pulse{0%,to{box-shadow:0 0 0 6px #d4889a2e,0 0 0 14px #d4889a14}50%{box-shadow:0 0 0 10px #d4889a3d,0 0 0 24px #d4889a0a}}.page-enter{animation:.55s cubic-bezier(.2,.7,.2,1) both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.brand-mark{color:var(--accent)}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(20px)}.reveal.is-in{opacity:1;transform:translateY(0)}.lang-switch{border:1px solid var(--line);background:#ffffff80;border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.lang-switch button{appearance:none;font:inherit;letter-spacing:.08em;color:var(--ink-muted);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font-mono-stack);background:0 0;border:0;border-radius:999px;padding:4px 10px;transition:background .2s,color .2s}.lang-switch button.is-active{background:var(--ink);color:var(--canvas)}.section--ink .lang-switch,.footer .lang-switch{background:#ffffff0d;border-color:#fff3}.section--ink .lang-switch button,.footer .lang-switch button{color:#ffffff8c}.section--ink .lang-switch button.is-active,.footer .lang-switch button.is-active{color:#000;background:#fff}.nav__hamburger{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:none}.nav__hamburger:hover{background:#0000000a}.nav__hamburger svg{width:20px;height:20px}.mobile-menu{z-index:100;background:var(--canvas);opacity:0;pointer-events:none;flex-direction:column;transition:opacity .25s;display:flex;position:fixed;inset:0}.mobile-menu.is-open{opacity:1;pointer-events:auto}.mobile-menu__head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;height:56px;padding:0 max(24px,4vw);display:flex}.mobile-menu__close{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:40px;height:40px;display:grid}.mobile-menu__close:hover{background:#0000000a}.mobile-menu__list{flex-direction:column;flex:1;gap:2px;margin:0;padding:24px max(24px,4vw);list-style:none;display:flex;overflow-y:auto}.mobile-menu__list li button{appearance:none;text-align:left;width:100%;font:inherit;letter-spacing:-.015em;color:var(--ink);cursor:pointer;border:0;border-bottom:1px solid var(--line);background:0 0;padding:14px 0;font-size:28px;font-weight:500}.mobile-menu__list li button.is-active{color:var(--accent)}.mobile-menu__list li .small{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin-top:2px;font-size:12px;font-weight:500;display:block}.mobile-menu__foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:24px max(24px,4vw) 32px;display:flex}@media (max-width:1080px){.nav__links{display:none}.nav__hamburger{display:inline-flex}}@media (max-width:880px){.service-grid{grid-template-columns:1fr}.service-card.is-wide{grid-column:span 1}.service-card{min-height:280px;padding:36px 28px}.feature{grid-template-columns:1fr;gap:40px}.feature--reverse>:first-child{order:0}.footer__grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr);gap:32px 24px;padding:40px 0}.dl{grid-template-columns:1fr;gap:12px 0}.dl dt{padding-top:16px}.form__row{grid-template-columns:1fr}.job{grid-template-columns:auto 1fr auto;gap:16px}.job__tag{display:none}.container>div[style*="grid-template-columns: 1fr 1.4fr"],.container>div[style*="grid-template-columns: repeat(3, 1fr)"],.container>div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important;gap:48px!important}.hero{padding:clamp(56px, 12vh, 96px) 0 var(--section-pad)}.hero__meta{gap:32px;margin-top:56px}.hero__meta-item{min-width:100px}.bigquote{font-size:clamp(24px,5.5vw,36px)}}@media (max-width:600px){body{font-size:15px}:root{--section-pad:clamp(64px, 10vw, 96px)}.display{letter-spacing:-.02em;font-size:clamp(40px,11vw,64px);line-height:1.05}.h1{font-size:clamp(32px,7.5vw,48px)}.h2{font-size:clamp(24px,5.5vw,32px)}.nav__inner{gap:12px}.nav__cta{display:none}.footer{padding:64px 0 40px}.footer__grid{grid-template-columns:1fr;gap:32px;padding-bottom:40px}.footer__bot{flex-direction:column;align-items:flex-start;font-size:11px}.stats{grid-template-columns:1fr 1fr;gap:24px 16px}.stats__cell .num{font-size:clamp(32px,9vw,48px)}.service-card{min-height:240px;padding:32px 24px}.service-card__num{margin-bottom:16px}.service-card__arrow{margin-top:24px}.feature{gap:32px}.feature__list li{flex-direction:column;gap:12px;padding:14px 0}.feature__list li .small{text-align:left}.job__title{font-size:17px}.job__num{font-size:11px}.form__row{gap:16px}.form{gap:20px}.field input,.field textarea,.field select{padding:14px 16px}.btn{height:44px;padding:0 18px;font-size:13px}.container{padding:0 20px}.tabs{margin-bottom:40px}.tab{padding:12px 16px;font-size:13px}.lede{font-size:16px}.map__pin{width:14px;height:14px}.mobile-menu__list li button{padding:12px 0;font-size:22px}}
