:root{--color-paper: oklch(100% 0 0);--color-paper-2: oklch(97.5% 0 0);--color-paper-3: oklch(94.5% 0 0);--color-rule: oklch(91% 0 0);--color-rule-2: oklch(78% 0 0);--color-muted: oklch(55% 0 0);--color-neutral: oklch(40% 0 0);--color-ink-2: oklch(25% 0 0);--color-ink: oklch(13% 0 0);--color-accent: oklch(13% 0 0);--color-focus: oklch(13% 0 0);--color-focus-inverse: oklch(100% 0 0);--font-display: "Geist", "Zen Kaku Gothic New", ui-sans-serif, system-ui, sans-serif;--font-body: "Geist", "Zen Kaku Gothic New", ui-sans-serif, system-ui, sans-serif;--font-label: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-outlier: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--display-weight: 300;--text-xs: .8rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.9531rem;--text-2xl: 2.4414rem;--text-display-s: clamp(1.75rem, 2.5vw + 1rem, 2.75rem);--text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);--text-hero: clamp(3rem, 8.5vw, 8rem);--text-stmt: clamp(1.4rem, 1.8vw + .9rem, 2.35rem);--tracking-display: -.03em;--tracking-label: .16em;--lh-display: 1.04;--lh-body: 1.6;--lh-jp: 1.9;--measure: 60ch;--measure-jp: 38rem;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--page-gutter: clamp(1.25rem, 5vw, 4rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .11s;--dur-short: .2s;--dur-long: .38s;--control-height: 3rem;--rule-hair: 1px;--radius-card: 2px;--radius-input: 2px;--radius-pill: 999px;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-sticky-nav: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--banner-height: 72px}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth}html.reduced-motion{scroll-behavior:auto}body{margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}:lang(ja){line-break:strict}h1,h2,h3,p,dl,dd,figure{margin:0}ul{margin:0;padding:0;list-style:none}a{color:inherit}.tnum{font-variant-numeric:tabular-nums}::selection{background:var(--color-ink);color:var(--color-paper)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:inherit}.skip-link{position:fixed;inset:var(--space-sm) auto auto var(--space-sm);z-index:var(--z-toast);padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-label);font-size:var(--text-sm);text-decoration:none;transform:translateY(calc(-100% - var(--space-lg)))}.skip-link:focus-visible{transform:none}.hero__display,.section-head,.svc__name,.vision__display,.contact__statement,.stmt{overflow-wrap:anywhere;min-width:0}.seg{display:inline-block}.section-head{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-display-s);letter-spacing:var(--tracking-display);line-height:var(--lh-display);color:var(--color-ink)}.stmt{font-family:var(--font-outlier);font-weight:400;color:var(--color-ink);font-feature-settings:"palt"}section{padding-inline:var(--page-gutter);scroll-margin-block-start:calc(var(--banner-height) + var(--space-md))}.nav-pill{position:fixed;inset:var(--space-md) auto auto 50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-lg);padding:var(--space-xs) var(--space-md);background:color-mix(in oklch,var(--color-paper) 80%,transparent);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);z-index:var(--z-sticky-nav);white-space:nowrap}.nav-pill__wordmark{font-family:var(--font-display);font-weight:500;font-size:var(--text-base);letter-spacing:-.015em;color:var(--color-ink);text-decoration:none;padding:var(--space-2xs) var(--space-2xs)}.nav-pill__links{display:flex;gap:var(--space-md)}.nav-pill__link{display:inline-block;font-family:var(--font-label);font-size:var(--text-sm);color:var(--color-muted);text-decoration:none;padding:var(--space-xs) var(--space-2xs);border-radius:var(--radius-pill);transition:color var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.nav-pill__link:hover{color:var(--color-ink)}}.nav-pill__link:active,.nav-sheet__link:active{color:var(--color-ink)}.nav-pill__link.is-active{color:var(--color-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.5em}.nav-pill__menu{display:none;font-family:var(--font-label);font-size:var(--text-sm);color:var(--color-ink-2);background:none;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-md);min-height:44px;cursor:pointer;white-space:nowrap}@media(max-width:60rem){.nav-pill{inset:var(--space-sm) var(--space-sm) auto var(--space-sm);transform:none;justify-content:space-between}.nav-pill__links{display:none}.nav-pill__menu{display:inline-block}}.nav-sheet{border:none;margin:0;padding:var(--space-2xl) var(--page-gutter);width:100%;max-width:none;height:100dvh;max-height:none;background:var(--color-paper);color:var(--color-ink-2)}.nav-sheet::backdrop{background:color-mix(in oklch,var(--color-paper) 70%,transparent)}.nav-sheet__close{font-family:var(--font-label);font-size:var(--text-sm);color:var(--color-ink-2);background:none;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-md);min-height:44px;cursor:pointer}.nav-sheet__links{display:grid;gap:var(--space-md);margin-block-start:var(--space-2xl)}.nav-sheet__link{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-xl);letter-spacing:var(--tracking-display);color:var(--color-ink);text-decoration:none;display:inline-block;padding-block:var(--space-xs)}.nav-sheet__meta{margin-block-start:var(--space-2xl);font-family:var(--font-label);font-size:var(--text-xs);color:var(--color-muted)}.hero{position:relative;min-height:92dvh;display:grid;align-content:end;padding-block:var(--space-2xl) var(--space-3xl);overflow:clip}.hero__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .6s var(--ease-out)}.hero.is-ready .hero__canvas{opacity:1}.hero.no-webgl{background-image:radial-gradient(circle,var(--color-rule) 1px,transparent 1px);background-size:32px 32px}.hero__inner{position:relative;z-index:var(--z-raised)}.hero__kicker{font-family:var(--font-label);font-size:var(--text-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);margin-block-end:var(--space-lg)}.hero__display{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-hero);letter-spacing:var(--tracking-display);line-height:1.02;color:var(--color-ink);display:grid}.hero__mask{display:block;overflow:clip}.hero__line{display:inline-block}.hero__lede{font-size:var(--text-md);line-height:var(--lh-jp);color:var(--color-neutral);max-width:var(--measure-jp);margin-block-start:var(--space-xl)}.hero__cue{position:absolute;inset:auto auto var(--space-xl) auto;right:var(--page-gutter);display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);margin:0}.hero__cue:after{content:"";width:3.5rem;height:var(--rule-hair);background:var(--color-rule-2)}@media(max-width:40rem){.hero__cue{display:none}}html.motion-ok [data-hero-reveal]{opacity:0}.rule-fold{border:none;height:2px;background:var(--color-rule);margin:0}.philosophy{padding-block:var(--space-4xl) var(--space-3xl)}.philosophy__grid{display:grid;gap:var(--space-2xl);margin-block-start:var(--space-2xl)}.philosophy__lead{font-size:var(--text-stmt);line-height:2.1}.philosophy__body{max-width:var(--measure-jp)}.philosophy__para{font-family:var(--font-body);font-size:var(--text-md);line-height:var(--lh-jp);color:var(--color-ink-2)}.philosophy__para+.philosophy__para{margin-block-start:var(--space-xl)}.ph-line{display:block}@media(min-width:60rem){.philosophy__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--space-3xl)}.philosophy__lead{writing-mode:vertical-rl;justify-self:start;max-block-size:24em}.philosophy__body{margin-block-start:var(--space-2xl)}}.about{padding-block:var(--space-3xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.about__grid{display:grid;gap:var(--space-2xl);margin-block-start:var(--space-2xl)}.about__body{max-width:var(--measure-jp)}.about__para{font-size:var(--text-md);line-height:var(--lh-jp);color:var(--color-ink-2)}.about__para+.about__para{margin-block-start:var(--space-lg)}.about__tiles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--rule-hair);background:var(--color-rule);border:var(--rule-hair) solid var(--color-rule);align-self:start}.tile{background:var(--color-paper);padding:var(--space-xl) var(--space-lg)}.tile__num{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-2xl);letter-spacing:var(--tracking-display);line-height:1;color:var(--color-ink)}.tile__label{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-neutral);margin-block-start:var(--space-sm)}.tile__ja{font-size:var(--text-sm);color:var(--color-muted);margin-block-start:var(--space-2xs)}@media(min-width:60rem){.about__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-3xl)}}.vision{background:var(--color-ink);color:var(--color-paper);padding-block:var(--space-4xl);display:grid;gap:var(--space-2xl)}.vision :focus-visible{outline-color:var(--color-focus-inverse)}.vision__display{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-display);letter-spacing:var(--tracking-display);line-height:var(--lh-display);color:var(--color-paper)}.vision__lead{font-size:var(--text-md);line-height:var(--lh-jp);color:var(--color-paper)}.vision__body{line-height:var(--lh-jp);color:var(--color-rule-2);max-width:var(--measure-jp);margin-block-start:var(--space-md)}@media(min-width:60rem){.vision{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-3xl);align-items:center}}.services{padding-block:var(--space-3xl) var(--space-2xl)}.services__viewport{margin-block-start:var(--space-xl)}.services__track{display:grid;gap:var(--space-lg)}.svc{background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);padding:var(--space-xl) var(--space-xl) var(--space-2xl)}.svc__name{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-2xl);letter-spacing:var(--tracking-display);line-height:var(--lh-display);color:var(--color-ink)}.svc__sub{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--color-muted);margin-block-start:var(--space-xs)}.svc__lead{font-size:var(--text-md);font-weight:500;line-height:var(--lh-jp);color:var(--color-ink);margin-block-start:var(--space-lg);max-width:var(--measure-jp)}.svc__body{line-height:var(--lh-jp);color:var(--color-neutral);margin-block-start:var(--space-md);max-width:var(--measure-jp)}.svc__close{font-family:var(--font-display);font-weight:500;font-size:var(--text-lg);line-height:1.7;color:var(--color-ink);margin-block-start:var(--space-xl)}.svc__items{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);margin-block-start:var(--space-xl);padding-block-start:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule)}.svc__items li{font-size:var(--text-sm);color:var(--color-neutral);display:flex;align-items:center;gap:var(--space-xs)}.svc__items li:before{content:"";width:.75rem;height:var(--rule-hair);background:var(--color-rule-2)}@media(min-width:60rem){.services{padding-block-start:calc(var(--banner-height) + var(--space-xl))}.services__viewport{overflow:clip}.services__track{display:flex;gap:var(--space-xl);width:max-content}.svc{width:min(58vw,46rem);padding:var(--space-2xl)}.svc:nth-child(2){margin-block-start:var(--space-2xl)}}.ai{background:var(--color-paper-2);color:var(--color-ink-2);padding-block:var(--space-3xl);border-block:var(--rule-hair) solid var(--color-rule)}.ai__grid{display:grid;gap:var(--space-2xl);margin-block-start:var(--space-2xl)}.ai__lead{font-size:var(--text-lg);font-weight:500;line-height:var(--lh-jp);color:var(--color-ink)}.ai__body{line-height:var(--lh-jp);color:var(--color-neutral);max-width:var(--measure-jp);margin-block-start:var(--space-lg)}.ai__tiles{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--rule-hair);background:var(--color-rule);border:var(--rule-hair) solid var(--color-rule);align-self:start}.ai-tile{background:var(--color-paper);padding:var(--space-xl) var(--space-lg)}.ai-tile__en{font-family:var(--font-label);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;font-weight:400;color:var(--color-ink)}.ai-tile__ja{font-size:var(--text-sm);color:var(--color-muted);margin-block-start:var(--space-2xs)}.ai-tile__body{font-size:var(--text-sm);line-height:1.8;color:var(--color-neutral);margin-block-start:var(--space-sm)}@media(min-width:40rem){.ai__tiles{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(min-width:60rem){.ai__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--space-3xl)}}.company{padding-block:var(--space-3xl)}.spec{margin-block-start:var(--space-2xl);max-width:62rem}.spec__row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xs) var(--space-xl);padding-block:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule)}.spec__row:last-child{border-block-end:var(--rule-hair) solid var(--color-rule)}.spec__key{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);align-self:baseline}.spec__val{font-size:var(--text-md);color:var(--color-ink);line-height:1.6}@media(min-width:60rem){.spec__row{grid-template-columns:minmax(0,1fr) minmax(0,2.6fr)}}.contact{padding-block:var(--space-3xl) var(--space-4xl)}.contact__grid{display:grid;gap:var(--space-xl);margin-block-start:var(--space-2xl)}.contact__statement{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-display-s);letter-spacing:var(--tracking-display);line-height:var(--lh-display);color:var(--color-ink);max-width:16ch}.contact__note{line-height:var(--lh-jp);color:var(--color-neutral)}.contact__channel{margin-block-start:var(--space-lg)}.contact__link{display:inline-flex;align-items:baseline;gap:var(--space-sm);font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-xl);letter-spacing:var(--tracking-display);color:var(--color-ink);text-decoration:none;border-block-end:var(--rule-hair) solid var(--color-rule-2);padding-block-end:var(--space-2xs);transition:border-color var(--dur-short) var(--ease-out);white-space:nowrap}.contact__arrow{display:inline-block;transition:transform var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.contact__link:hover{border-color:var(--color-ink)}.contact__link:hover .contact__arrow{transform:translate(.25em)}}.contact__link:active{color:var(--color-neutral)}@media(max-width:40rem){.contact__link{font-size:var(--text-lg)}}@media(min-width:60rem){.contact__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--space-3xl)}}.foot-stmt{padding:var(--space-xl) var(--page-gutter);border-block-start:var(--rule-hair) solid var(--color-rule)}.foot-stmt__meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-sm) var(--space-lg)}.foot-stmt__wordmark{font-family:var(--font-display);font-weight:500;color:var(--color-ink)}.foot-stmt__tagline{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted)}.foot-stmt__legal{font-family:var(--font-label);font-size:var(--text-xs);color:var(--color-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}html{scroll-behavior:auto}.hero__canvas{transition:none}}
