:root{--bg:#f5f5f5;--surface:#fff;--ink:#1e1e1e;--muted:#666;--soft:#ebebeb;--bar:#d6d6d6;--on-tone:#1e1e1e;--tone-white:#fff;--tone-pink:#ebbdb2;--tone-coral:#ea7b5f;--tone-mint:#95d1b9;--tone-yellow:#f3d276;--tone-blue:#8bb9e3;--tone-ink:#1e1e1e;--font:"Inter", system-ui, -apple-system, sans-serif;--font-wordmark:"Archivo", "Inter", sans-serif;--gutter:clamp(16px, 2vw, 28px);--section:clamp(120px, 15vw, 220px);--radius:10px;--radius-sm:6px;--ease:cubic-bezier(.22, 1, .36, 1);color-scheme:light}:root[data-theme=dark]{--bg:#121212;--surface:#1d1d1d;--ink:#ededed;--muted:#a0a0a0;--soft:#2a2a2a;--bar:#3a3a3a;--tone-white:#1d1d1d;--tone-ink:#ededed;color-scheme:dark}html.theme-fade,html.theme-fade *,html.theme-fade :before,html.theme-fade :after{transition:background-color .5s var(--ease), color .5s var(--ease), border-color .5s var(--ease)!important}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--bg);color:var(--ink);font-family:var(--font);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.5;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.wrap{padding-inline:var(--gutter)}.section{padding-top:var(--section)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{margin-bottom:14px;font-size:14px;font-weight:500}.title{letter-spacing:-.035em;font-size:clamp(44px,6.4vw,96px);font-weight:600;line-height:1.02}.lead{letter-spacing:-.025em;font-size:clamp(22px,2.2vw,30px);font-weight:500;line-height:1.25}.small{font-size:14px;line-height:1.5}.muted{color:var(--muted)}.section-head{grid-template-columns:1fr minmax(0,420px);align-items:end;gap:24px 48px;margin-bottom:clamp(48px,6vw,88px);display:grid}.section-head>p{padding-bottom:.6em}@media (width<=820px){.section-head{grid-template-columns:1fr}}.btn{border-radius:var(--radius-sm);background:var(--surface);min-height:48px;color:var(--ink);white-space:nowrap;cursor:pointer;transition:background .3s var(--ease);will-change:transform;border:0;align-items:center;gap:14px;padding:6px 6px 6px 18px;font-size:15px;font-weight:500;display:inline-flex}.btn .arrow{text-align:center;background:var(--ink);width:36px;height:36px;color:var(--surface);border-radius:4px;line-height:36px;display:block;overflow:hidden}.btn:hover .arrow{animation:arrow-loop .6s var(--ease)}@keyframes arrow-loop{0%{text-indent:0}45%{text-indent:5em}46%{text-indent:-5em}to{text-indent:0}}.btn:hover{background:color-mix(in srgb, var(--surface) 92%, var(--ink))}.btn--dark{background:var(--ink);color:var(--surface)}.btn--dark:hover{background:color-mix(in srgb, var(--ink) 86%, var(--surface))}.btn--dark .arrow{background:var(--surface);color:var(--ink)}.circle{background:var(--ink);width:44px;height:44px;color:var(--surface);transition:transform .4s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.circle--light{background:var(--surface);color:var(--ink)}a:hover>.circle,a:hover .circle{transform:rotate(-45deg)}.placeholder-tag{text-transform:uppercase;letter-spacing:.06em;color:#c4472a;vertical-align:middle;border:1px dashed #c4472a;border-radius:3px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}[id]{scroll-margin-top:80px}.section[id]{scroll-margin-top:calc(110px - var(--section))}.js:not(.reduced):not(.intro) :is(.top-mark,.topbar,.hero){visibility:hidden}.case-grid{grid-template-columns:1fr 1fr;gap:clamp(48px,5vw,72px) clamp(16px,1.6vw,24px);margin:0;padding-block:0;list-style:none;display:grid}@media (width<=640px){.case-grid{grid-template-columns:1fr}}.tone-white{background:var(--tone-white)}.tone-pink{background:var(--tone-pink);color:var(--on-tone)}.tone-coral{background:var(--tone-coral);color:var(--on-tone)}.tone-mint{background:var(--tone-mint);color:var(--on-tone)}.tone-yellow{background:var(--tone-yellow);color:var(--on-tone)}.tone-blue{background:var(--tone-blue);color:var(--on-tone)}.tone-ink{background:var(--tone-ink);color:var(--surface)}.tone-none{background:0 0}.page-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding-block:clamp(40px,5vw,72px) clamp(24px,3vw,40px);display:flex}.page-name{letter-spacing:-.02em;font-size:20px;font-weight:600}.page-name .muted{margin-left:4px;font-weight:500}html.has-cursor,html.has-cursor *{cursor:none!important}html.has-cursor :is(input[type=text],input[type=email],textarea){cursor:text!important}.cursor.is-text{opacity:0}.cursor{z-index:2000;pointer-events:none;opacity:0;transition:opacity .3s var(--ease);--ball:#1e1e1e;--ball-ink:#fff;position:fixed;top:0;left:0}.cursor.is-visible{opacity:1}.cursor[data-tone=dark]{--ball:#fff;--ball-ink:#1e1e1e}.cursor-ball{background:var(--ball);width:12px;height:12px;transition:transform .45s var(--ease), background .25s, opacity .3s;border-radius:50%;margin:-6px 0 0 -6px;position:absolute}.cursor[data-tone=media] .cursor-ball{mix-blend-mode:difference;background:#fff}.cursor.is-hover .cursor-ball{opacity:.18;transform:scale(3.4)}.cursor[data-tone=media].is-hover .cursor-ball{opacity:1}.cursor.is-down .cursor-ball{transform:scale(.7)}.cursor.is-hover.is-down .cursor-ball{transform:scale(2.8)}.cursor-label{white-space:nowrap;background:var(--ball);color:var(--ball-ink);opacity:0;transition:opacity .25s var(--ease), transform .35s var(--ease);border-radius:999px;padding:5px 10px;font-size:13px;font-weight:500;position:absolute;top:0;left:16px;transform:translateY(-50%)translate(-6px)}.cursor[data-tone=media] .cursor-label{color:#1e1e1e;background:#fff}.cursor.has-label .cursor-label{opacity:1;transform:translateY(-50%)}.cursor.flip .cursor-label{left:auto;right:16px;transform:translateY(-50%)translate(6px)}.cursor.flip.has-label .cursor-label{transform:translateY(-50%)}.loop-tail{pointer-events:none;overflow:hidden}html:lang(ja){--font:"Inter", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif}html:lang(ja) body :not(.wordmark,.wm-line,.wm-char,[lang=en],[lang=en] *){letter-spacing:.02em!important}html:lang(ja) :where(p,li,dd,summary,label){line-height:1.75}html:lang(ja) :where(h1,h2,h3,.title,.big){line-height:1.25}html:lang(ja) :where(h1,h2,h3,.title,.big,.lead,.eyebrow-lg,.next-title){word-break:auto-phrase}html:lang(ja) .hero h1{font-size:clamp(30px,6.8vw,112px);line-height:1.2}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}.lang-in :is(.top-mark,.topbar,main,.footer){visibility:hidden}.wordmark[data-astro-cid-qisgtjgl]{font-family:var(--font-wordmark);font-variation-settings:"wdth" 125;letter-spacing:-.02em;white-space:nowrap;margin:0;padding-top:.04em;font-weight:800;font-stretch:125%;line-height:.86;overflow:hidden}.wm-line[data-astro-cid-qisgtjgl]{display:inline-block}.wm-char[data-astro-cid-qisgtjgl]{will-change:transform;display:inline-block}.preloader[data-astro-cid-xtleqxzo]{display:none}.js .preloader[data-astro-cid-xtleqxzo]{z-index:1000;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.reduced .preloader[data-astro-cid-xtleqxzo],.returning .preloader[data-astro-cid-xtleqxzo],.loaded .preloader[data-astro-cid-xtleqxzo]{display:none}.count[data-astro-cid-xtleqxzo]{font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.panel[data-astro-cid-xtleqxzo]{background:var(--ink);color:var(--surface);place-items:center;display:grid;position:absolute;inset:0;transform:translateY(100%)}.panel[data-astro-cid-xtleqxzo] .panel-mark{width:min(42vw,360px)}.logo[data-astro-cid-f7espo7c]{display:block;overflow:visible}.apos[data-astro-cid-f7espo7c]{transform-box:fill-box;transform-origin:50% 0;transition:transform .5s var(--ease)}a:hover>.logo[data-astro-cid-f7espo7c] .apos[data-astro-cid-f7espo7c]{transform:rotate(-14deg)translateY(-1px)}.skip[data-astro-cid-nen7h5rs]{z-index:1100;background:var(--ink);color:var(--surface);border-radius:6px;padding:10px 14px;position:absolute;top:8px;left:-999px}.skip[data-astro-cid-nen7h5rs]:focus{left:8px}.top-mark[data-astro-cid-nen7h5rs]{padding-top:var(--gutter);display:block}.topbar[data-astro-cid-nen7h5rs]{z-index:50;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-block:12px;display:grid;position:sticky;top:0}.pill[data-astro-cid-nen7h5rs]{background:var(--surface);border-radius:var(--radius-sm);justify-self:start;align-items:center;min-height:48px;padding:0 6px;display:flex}.nav[data-astro-cid-nen7h5rs] .home-mark[data-astro-cid-nen7h5rs]{border-radius:4px;place-items:center;width:40px;height:40px;padding:0;transition:background .2s;display:grid}.nav[data-astro-cid-nen7h5rs] .home-mark[data-astro-cid-nen7h5rs]:hover{background:var(--soft)}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{margin:0;padding:0;list-style:none;display:flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:4px;padding:10px 12px;font-size:15px;font-weight:500;transition:background .2s;display:block}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background:var(--soft)}.menu-btn[data-astro-cid-nen7h5rs]{cursor:pointer;background:0 0;border:0;padding:10px 12px;font-size:15px;font-weight:500;display:none}.role[data-astro-cid-nen7h5rs]{transition:opacity .3s var(--ease);font-size:15px;font-weight:500}.is-scrolled .role[data-astro-cid-nen7h5rs]{opacity:0}.contact[data-astro-cid-nen7h5rs]{justify-self:end}@media (width<=720px){.topbar[data-astro-cid-nen7h5rs]{grid-template-columns:1fr auto}.role[data-astro-cid-nen7h5rs]{display:none}.menu-btn[data-astro-cid-nen7h5rs]{display:block}.nav[data-astro-cid-nen7h5rs]{position:relative}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{background:var(--surface);border-radius:var(--radius-sm);flex-direction:column;min-width:200px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 40px #00000014}.nav[data-astro-cid-nen7h5rs].is-open ul[data-astro-cid-nen7h5rs]{display:flex}}.footer[data-astro-cid-jo6i4kqk]{padding-top:var(--section);padding-bottom:var(--gutter)}.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,minmax(0,260px));gap:40px;margin-bottom:clamp(80px,10vw,160px);display:grid}.col-title[data-astro-cid-jo6i4kqk]{margin-bottom:16px;font-size:17px;font-weight:600}ul[data-astro-cid-jo6i4kqk]{gap:6px;margin:0;padding:0;font-size:15px;list-style:none;display:grid}a[data-astro-cid-jo6i4kqk]:hover{opacity:.6}@media (width<=640px){.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.cols[data-astro-cid-jo6i4kqk]>[data-astro-cid-jo6i4kqk]:last-child{grid-column:1/-1}}.theme-toggle[data-astro-cid-l6lhmie6]{right:var(--gutter);bottom:var(--gutter);z-index:900;background:var(--ink);width:52px;height:52px;color:var(--surface);transition:transform .4s var(--ease), background .5s var(--ease), color .5s var(--ease);border:0;border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 8px 30px #0000001f}.theme-toggle[data-astro-cid-l6lhmie6]:hover{transform:scale(1.08)}.theme-toggle[data-astro-cid-l6lhmie6]:active{transform:scale(.94)}.icon[data-astro-cid-l6lhmie6]{transition:opacity .4s var(--ease), transform .6s var(--ease);grid-area:1/1}.sun[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(-90deg)scale(.6)}[data-theme=dark] .sun[data-astro-cid-l6lhmie6]{opacity:1;transform:none}[data-theme=dark] .moon[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(90deg)scale(.6)}.spin[data-astro-cid-l6lhmie6] .icon[data-astro-cid-l6lhmie6]{animation:nudge .6s var(--ease)}@keyframes nudge{40%{scale:.8}}@media (prefers-reduced-motion:reduce){.spin[data-astro-cid-l6lhmie6] .icon[data-astro-cid-l6lhmie6]{animation:none}}.lang-toggle[data-astro-cid-zh35qibh]{right:var(--gutter);bottom:calc(var(--gutter) + 52px + 10px);z-index:900;background:var(--surface);width:52px;height:52px;color:var(--ink);border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);transition:transform .4s var(--ease), background .5s var(--ease), color .5s var(--ease);border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 8px 30px #0000001f}.lang-toggle[data-astro-cid-zh35qibh]:hover{transform:scale(1.08)}.lang-toggle[data-astro-cid-zh35qibh]:active{transform:scale(.94)}.glyph[data-astro-cid-zh35qibh]{font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", var(--font);transition:transform .5s var(--ease);font-size:19px;font-weight:600;line-height:1;letter-spacing:0!important}.lang-toggle[data-astro-cid-zh35qibh]:hover .glyph[data-astro-cid-zh35qibh]{transform:translateY(-2px)rotate(-8deg)}
