:root{color:#111;background:#fafafa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--background: #fafafa;--text: #111111;--muted: #60646c;--soft: #e8e5df;--line: rgba(17, 17, 17, .1);--accent: #0f172a;--surface: #ffffff;--surface-warm: #f2f0eb;--max: 1180px}*{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}.skip-link{position:fixed;top:10px;left:50%;z-index:100;transform:translate(-50%,-160%);border:1px solid rgba(15,23,42,.16);border-radius:999px;background:var(--accent);color:#fff;padding:10px 18px;font-size:.86rem;font-weight:640;transition:transform .18s ease}.skip-link:focus{transform:translate(-50%);outline:none}::selection{background:#0f172a24}@view-transition{navigation:auto}.scroll-progress{position:fixed;top:0;left:0;z-index:60;width:100%;height:4px;transform-origin:0 50%;background:linear-gradient(90deg,var(--accent),#334155);box-shadow:0 1px 8px #0f172a66;will-change:transform}.scroll-progress:after{content:"";position:absolute;top:0;right:0;width:10px;height:100%;background:#475569;box-shadow:0 0 10px 1px #0f172a8c}.cursor-ring,.cursor-dot{position:fixed;top:0;left:0;z-index:90;pointer-events:none;border-radius:50%;will-change:transform}.cursor-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid rgba(15,23,42,.45);transition:width .22s ease,height .22s ease,margin .22s ease,background .22s ease,border-color .22s ease,opacity .22s ease}.cursor-ring.is-hover{width:58px;height:58px;margin:-29px 0 0 -29px;border-color:transparent;background:#0f172a14}.cursor-ring.is-down{width:30px;height:30px;margin:-15px 0 0 -15px;background:#0f172a1f}.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--accent)}body.has-custom-cursor,body.has-custom-cursor *{cursor:none}body.has-custom-cursor input,body.has-custom-cursor textarea,body.has-custom-cursor select{cursor:auto}@media(hover:none),(pointer:coarse){.cursor-ring,.cursor-dot{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(90deg,rgba(17,17,17,.035) 1px,transparent 1px) 50% 0 / 84px 84px,linear-gradient(180deg,rgba(17,17,17,.025) 1px,transparent 1px) 50% 0 / 84px 84px,var(--background)}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}body{line-break:strict}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.site-header{position:fixed;top:18px;left:50%;z-index:20;display:flex;width:min(calc(100% - 32px),var(--max));height:58px;align-items:center;justify-content:space-between;transform:translate(-50%);border:1px solid rgba(17,17,17,.08);border-radius:999px;background:#fafafad1;padding:0 10px 0 20px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:opacity .7s ease .15s}body.intro-active .site-header{opacity:0;pointer-events:none}body.intro-active .scroll-progress{opacity:0}.brand{display:inline-flex;align-items:center;height:30px}.brand img{display:block;width:auto;height:26px;object-fit:contain;transition:transform .2s ease}.brand:hover img{animation:brand-wiggle .55s ease}@keyframes brand-wiggle{0%{transform:rotate(0)}25%{transform:rotate(-7deg) scale(1.05)}55%{transform:rotate(6deg) scale(1.05)}80%{transform:rotate(-3deg)}to{transform:rotate(0)}}.mnav{display:none}.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:0 11px;border:none;border-radius:999px;background:transparent;cursor:pointer}.nav-toggle__bar{display:block;width:22px;height:2px;border-radius:2px;background:var(--accent);transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .2s ease}.nav-toggle.is-open .nav-toggle__bar:first-child{transform:translateY(4px) rotate(45deg)}.nav-toggle.is-open .nav-toggle__bar:last-child{transform:translateY(-4px) rotate(-45deg)}body.menu-open .site-header{z-index:80;background:#fafafa99}.mobile-menu{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:96px clamp(24px,7vw,56px) 40px;background:linear-gradient(90deg,rgba(17,17,17,.04) 1px,transparent 1px) 50% 0 / 72px 72px,linear-gradient(180deg,rgba(17,17,17,.03) 1px,transparent 1px) 50% 0 / 72px 72px,#f9f8f6f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-menu__nav{display:flex;flex-direction:column}.mobile-menu__link{position:relative;display:flex;align-items:baseline;gap:14px;padding:clamp(12px,2.4vh,20px) 0;border-bottom:1px solid rgba(15,23,42,.08);color:var(--text);font-size:clamp(2rem,9vw,3.1rem);font-weight:660;letter-spacing:0;line-height:1}.mobile-menu__index{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;font-weight:600}.mobile-menu__label{flex:1}.mobile-menu__arrow{align-self:center;color:var(--muted);transition:transform .24s cubic-bezier(.22,1,.36,1)}.mobile-menu__link:active .mobile-menu__arrow{transform:translate(4px,-4px)}.mobile-menu__cta{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;margin-top:28px;border-radius:999px;background:var(--accent);color:#fff;padding:14px 22px;font-size:1rem;font-weight:640}.mobile-menu__sign{margin-top:auto;padding-top:28px;color:var(--muted);font-size:.86rem;font-weight:600;letter-spacing:.02em}nav{display:flex;gap:4px}nav a{border-radius:999px;padding:10px 14px;color:#3b3f47;font-size:.82rem;transition:background .18s ease,color .18s ease,transform .18s cubic-bezier(.34,1.56,.64,1)}nav a:hover{background:#0f172a12;color:var(--accent);transform:translateY(-2px)}nav a.is-active{color:var(--accent);background:#0f172a0f}nav a.is-active:after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--accent);transform:translate(-50%)}nav a{position:relative}@media(prefers-reduced-motion:reduce){.brand:hover img{animation:none}nav a:hover{transform:none}}.section-shell{width:min(calc(100% - 40px),var(--max));margin:0 auto;scroll-margin-top:92px}.frame-hero{position:relative;z-index:0;height:460vh}.frame-hero__sticky{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;background:#e4e4e6}.frame-hero__canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.frame-hero__overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.frame-hero__text{display:grid;justify-items:center;padding:0 24px;text-align:center;will-change:opacity}.frame-hero__logo{width:min(260px,52vw);height:auto}.frame-hero__text h1{max-width:none;margin-top:20px;font-size:clamp(3rem,8.5vw,7.2rem);font-weight:670;letter-spacing:0;line-height:.92}.frame-hero__jp{margin-top:22px;color:#2b2f37;font-size:clamp(1.15rem,2.6vw,2.1rem);font-weight:560}.frame-hero__annotation{position:absolute;left:50%;bottom:clamp(96px,16vh,180px);width:min(calc(100% - 48px),640px);transform:translate(-50%,18px);text-align:center;opacity:0;transition:opacity .52s ease,transform .52s ease}.frame-hero__annotation.is-visible{transform:translate(-50%);opacity:1}.frame-hero__annotation-jp{font-size:clamp(1.6rem,4.4vw,3rem);font-weight:640;letter-spacing:0;line-height:1.2}.frame-hero__annotation-en{margin-top:12px;color:var(--muted);font-size:clamp(.8rem,1.4vw,1rem);font-weight:620;letter-spacing:.08em;text-transform:uppercase}.frame-hero__cue{position:absolute;left:50%;bottom:34px;display:grid;justify-items:center;gap:10px;transform:translate(-50%);color:#4a4f58;font-size:.72rem;font-weight:680;letter-spacing:.16em;text-transform:uppercase;will-change:opacity}.frame-hero__cue-line{width:1px;height:40px;background:linear-gradient(180deg,rgba(15,23,42,.45),transparent);animation:cue-pulse 1.8s ease-in-out infinite}@keyframes cue-pulse{0%,to{opacity:.35;transform:scaleY(.7);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}.frame-hero__loader{position:absolute;inset:0;z-index:5;display:grid;place-content:center;background:#ececec;will-change:transform}.frame-hero__intro{display:grid;justify-items:center;gap:22px}.frame-hero__loader img{width:168px;height:auto;opacity:.92}.frame-hero__loader-bar{position:relative;width:min(240px,60vw);height:2px;overflow:hidden;border-radius:999px;background:#0f172a1f}.frame-hero__loader-bar span{position:absolute;inset:0;transform-origin:left;background:var(--accent);will-change:transform}.frame-hero__loader-pct{color:#4a4f58;font-size:.74rem;font-weight:680;letter-spacing:.12em}.frame-hero__veil{position:absolute;inset:0;z-index:3;background:var(--background);opacity:0;pointer-events:none;will-change:opacity}.frame-hero__outro{position:absolute;left:50%;bottom:clamp(120px,22vh,240px);z-index:4;width:min(calc(100% - 48px),720px);text-align:center;opacity:0;transform:translate(-50%,24px);pointer-events:none}.frame-hero__outro-jp{font-size:clamp(1.7rem,4.6vw,3.2rem);font-weight:650;letter-spacing:0;line-height:1.2}.frame-hero__outro-en{margin-top:12px;color:var(--muted);font-size:clamp(.78rem,1.4vw,.98rem);font-weight:620;letter-spacing:.12em;text-transform:uppercase}.field-stage{position:relative;height:clamp(420px,56vw,560px);margin-top:48px;overflow:hidden;border:1px solid rgba(15,23,42,.1);border-radius:22px;background:radial-gradient(120% 90% at 50% 8%,rgba(255,255,255,.9),transparent 55%),radial-gradient(90% 70% at 78% 96%,rgba(15,23,42,.06),transparent 60%),linear-gradient(180deg,#f3f1ec,#e7e4dd)}.field-defs{position:absolute;width:0;height:0}.field-goo-layer{position:absolute;inset:0;filter:url(#field-goo)}.field-blob-pos{position:absolute;transform:translate(-50%,-50%)}.field-blob-repel,.field-blob-float{width:100%;height:100%;will-change:transform}.field-blob-repel{transition:transform .32s cubic-bezier(.22,1,.36,1)}.field-blob{width:100%;height:100%;border-radius:50%;cursor:grab;-webkit-user-select:none;user-select:none;background:radial-gradient(38% 32% at 34% 26%,rgba(255,255,255,.95),transparent 60%),linear-gradient(145deg,#fff 4%,#d9dce1 36%,#a3a9b2 66%,#c7cbd1);will-change:transform}.field-blob:active{cursor:grabbing}.field-blob[data-material=ink]{background:radial-gradient(40% 34% at 32% 24%,rgba(255,255,255,.42),transparent 60%),linear-gradient(145deg,#4b5364,#2a3140 44%,#11151c)}.field-blob[data-material=warm]{background:radial-gradient(38% 32% at 34% 26%,rgba(255,255,255,.95),transparent 60%),linear-gradient(145deg,#fff 4%,#e7d8c4,#b78f5e 72%,#d8c3a4)}.field-blob[data-material=sage]{background:radial-gradient(38% 32% at 34% 26%,rgba(255,255,255,.95),transparent 60%),linear-gradient(145deg,#fff 4%,#cfdbd4,#7f9a8e 72%,#b6c6bd)}.field-stage__ui{position:absolute;inset:22px 24px auto;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.field-stage__label{color:#333946;font-size:.84rem;font-weight:720;letter-spacing:.02em}.field-stage__hint{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(15,23,42,.1);border-radius:999px;background:#ffffffa8;padding:7px 12px;color:#4a4f58;font-size:.74rem;font-weight:660;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.field-stage__hint-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:hint-pulse 1.6s ease-in-out infinite}.field-shake{position:absolute;right:18px;bottom:16px;display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(15,23,42,.14);border-radius:999px;background:#ffffffc7;color:#3b4150;padding:6px 11px;font-size:.72rem;font-weight:640;letter-spacing:.04em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 18px -12px #0f172a80}.field-shake svg{color:var(--accent)}@keyframes hint-pulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.25);opacity:1}}.page-body{position:relative;z-index:1;overflow-x:clip;background:linear-gradient(90deg,rgba(17,17,17,.035) 1px,transparent 1px) 50% 0 / 84px 84px,linear-gradient(180deg,rgba(17,17,17,.025) 1px,transparent 1px) 50% 0 / 84px 84px,var(--background)}.hero{display:grid;min-height:100svh;grid-template-columns:minmax(0,1.02fr) minmax(360px,.72fr);gap:clamp(44px,8vw,120px);align-items:center;padding:138px 0 80px}.hero__brand{color:var(--accent);font-size:clamp(1.25rem,2vw,1.55rem);font-weight:680;letter-spacing:0}.hero__brand-logo{display:block;width:min(220px,48vw);height:auto}h1{max-width:790px;margin-top:22px;font-size:clamp(4.6rem,11vw,9.4rem);font-weight:670;letter-spacing:0;line-height:.88}.hero__jp{margin-top:26px;font-size:clamp(1.28rem,3vw,2.45rem);font-weight:560;line-height:1.45}.hero__copy{max-width:560px;margin-top:24px;color:var(--muted);font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.75}.button{display:inline-flex;align-items:center;gap:10px;min-height:46px;margin-top:38px;border:1px solid rgba(15,23,42,.16);border-radius:999px;background:var(--accent);color:#fff;padding:0 18px 0 22px;font-size:.93rem;font-weight:620;cursor:pointer;transition:background .18s ease}.button:hover{background:#18233a}.about{display:grid;grid-template-columns:.82fr 1fr;gap:clamp(34px,7vw,96px);align-items:start;border-top:1px solid var(--line);padding:118px 0;scroll-margin-top:110px}.about .about__head{justify-self:end}.section-header{max-width:620px}.section-header--center{margin:0 auto;text-align:center}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:760;letter-spacing:0;text-transform:uppercase}.section-header h2{margin-top:18px;font-size:clamp(2.35rem,5vw,5.35rem);font-weight:650;letter-spacing:0;line-height:.98;word-break:keep-all;overflow-wrap:break-word}.text-block{color:#2f333a;font-size:clamp(1.03rem,1.65vw,1.24rem);line-height:2.05}.text-block p+p{margin-top:20px}.split-section{display:grid;grid-template-columns:1fr .82fr;gap:clamp(34px,7vw,96px);align-items:start;border-top:1px solid var(--line);padding:118px 0}.split-section--reverse{grid-template-columns:.82fr 1fr}.split-section--reverse>:first-child{order:2}.values,.areas{border-top:1px solid var(--line);padding:118px 0}.value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:44px}.value-card,.area-card{height:100%;border:1px solid rgba(15,23,42,.1);border-radius:8px;background:#ffffffa8;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}.value-card:hover,.area-card:hover{border-color:#0f172a38;background:#fff;box-shadow:0 22px 40px -28px #0f172a8c}.value-card{padding:24px}.card-icon{display:grid;width:38px;aspect-ratio:1;place-items:center;border:1px solid rgba(15,23,42,.12);border-radius:8px;color:var(--accent)}.value-card h3,.area-card h3{margin-top:28px;font-size:clamp(1.1rem,1.45vw,1.32rem);font-weight:660;line-height:1.2}.value-card p,.area-card p{margin-top:18px;color:var(--muted);font-size:.95rem;line-height:1.8}.value-card .card-lead{margin-top:18px;color:#171a20;font-weight:650}.area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:44px}.area-card{position:relative;min-height:255px;padding:30px}.area-number{color:#8a8173;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.area-icon-wrap{position:absolute;top:30px;right:30px;display:inline-flex;color:var(--accent)}.area-card h3{max-width:520px;margin-top:76px;font-size:clamp(1.45rem,2.4vw,2.4rem)}.dx-banner{border-top:1px solid var(--line);padding:96px 0}.products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dx-banner__card{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:280px;border:1px solid rgba(15,23,42,.1);border-radius:8px;background:#ffffffa8;padding:clamp(28px,4vw,44px);cursor:pointer;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}.dx-banner__card:hover{border-color:#0f172a3d;background:#fff;box-shadow:0 28px 50px -34px #0f172a99}.dx-banner__card--soon{cursor:default;background:#f8f7f499}.dx-banner__card--soon:hover{border-color:#0f172a29;background:#f8f7f4d9;box-shadow:0 22px 44px -34px #0f172a73}.dx-banner__card--soon h2{color:#444a54}.dx-banner__text h2{margin-top:16px;font-size:clamp(2rem,4.2vw,3.6rem);font-weight:650;line-height:1}.dx-banner__copy{max-width:520px;margin-top:16px;color:var(--muted);font-size:clamp(.98rem,1.4vw,1.12rem);line-height:1.8}.dx-banner__cta{display:inline-flex;flex-shrink:0;align-self:flex-start;align-items:center;gap:8px;border:1px solid rgba(15,23,42,.16);border-radius:999px;background:var(--accent);color:#fff;padding:12px 20px;font-size:.9rem;font-weight:620}.dx-banner__cta--soon{border-color:#0f172a29;background:transparent;color:#5a5f68}.dx-banner__soon-dot{width:7px;height:7px;border-radius:50%;background:#9a6a3a;animation:hint-pulse 1.6s ease-in-out infinite}.closing{padding:80px 0 120px}.closing__inner{min-height:500px;border:1px solid rgba(15,23,42,.1);border-radius:8px;background:linear-gradient(90deg,rgba(15,23,42,.04) 1px,transparent 1px) 50% 0 / 88px 88px,linear-gradient(180deg,rgba(15,23,42,.035) 1px,transparent 1px) 50% 0 / 88px 88px,#ffffffa8;color:var(--text);padding:clamp(32px,7vw,76px)}.closing .eyebrow{color:var(--accent)}.closing__copy{max-width:720px;margin-top:64px;color:#3a3e45;font-size:clamp(1.05rem,2vw,1.45rem);line-height:2}.closing__copy p+p{margin-top:12px}.closing h2{max-width:820px;margin-top:64px;font-size:clamp(2.85rem,6.6vw,6.2rem);font-weight:650;letter-spacing:0;line-height:1.02}@media(max-width:960px){.site-header{top:12px}nav{display:none}.mnav{display:block}.hero,.about,.split-section,.split-section--reverse{grid-template-columns:1fr}.frame-hero{height:360vh}.about .about__head{justify-self:start;order:-1}.split-section--reverse>:first-child{order:0}.hero{min-height:auto;padding-top:124px}.value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.section-shell{width:min(calc(100% - 28px),var(--max))}h1{font-size:clamp(4rem,22vw,5.4rem)}.frame-hero{height:320vh}.field-stage{height:clamp(360px,92vw,460px)}.hero{gap:48px;padding-bottom:64px}.value-grid,.area-grid{grid-template-columns:1fr}.about,.split-section,.values,.areas{padding:78px 0}.area-card{min-height:232px;padding:24px}.area-icon{top:24px;right:24px}.dx-banner{padding:64px 0}.products-grid{grid-template-columns:1fr}.dx-banner__card{min-height:0}.closing{padding:56px 0 76px}.closing__inner{min-height:440px}}
