:root{--paper:#f4f4f1;--white:#fff;--ink:#080808;--muted:#6d6f70;--silver:#a9abad;--silver-light:#d9dad8;--line:#08080824;--page-pad:clamp(24px, 5vw, 82px)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}html,body{max-width:100%;overflow-x:clip}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans JP Variable,sans-serif}a{color:inherit;text-decoration:none}svg{display:block}main{overflow:hidden}.site-header{z-index:20;width:100%;height:96px;padding:0 var(--page-pad);border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:absolute;top:0;left:0}.logo-link{width:fit-content}.brand{align-items:center;gap:11px;display:inline-flex}.brand__symbol{aspect-ratio:685/751;width:28px;height:auto;color:var(--ink)}.brand__name{flex-direction:column;align-items:flex-start;gap:2px;line-height:1;display:flex}.brand__name-ja{letter-spacing:-.05em;font-family:Noto Sans JP Variable,sans-serif;font-size:17px;font-weight:650}.brand__name-en{color:var(--muted);letter-spacing:.08em;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:7px;font-weight:650}.brand--light,.brand--light .brand__symbol{color:var(--white)}.brand--light .brand__name-en{color:#ffffff94}.site-header nav{align-items:center;gap:clamp(24px,3.5vw,52px);font-family:Plus Jakarta Sans Variable,sans-serif;font-size:12px;font-weight:550;display:flex}.site-header nav a,.header-contact{position:relative}.site-header nav a:after{background:var(--ink);content:"";width:0;height:1px;transition:width .22s;position:absolute;bottom:-8px;left:0}.site-header nav a:hover:after{width:100%}.header-contact{border:1px solid var(--ink);border-radius:999px;justify-self:end;align-items:center;gap:20px;padding:11px 16px 11px 19px;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:12px;font-weight:600;transition:color .22s,background .22s;display:flex}.header-contact svg,.primary-link svg,.contact-arrow svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;width:18px}.header-contact:hover{background:var(--ink);color:var(--white)}.hero{min-height:min(900px,100svh);padding:150px var(--page-pad) 96px;background:radial-gradient(circle at 73% 46%, #fffffff2, transparent 35%), var(--paper);grid-template-columns:53% 47%;align-items:center;display:grid;position:relative}.hero-grid{opacity:.45;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:calc((100vw - var(--page-pad) * 2) / 8) 100%;background-position:var(--page-pad) 0;pointer-events:none;position:absolute;inset:96px 0 0;-webkit-mask-image:linear-gradient(#0000002e,#0000 75%);mask-image:linear-gradient(#0000002e,#0000 75%)}.hero-copy{z-index:3;min-width:0;position:relative}.eyebrow{color:#4e5051;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 38px;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:11px;font-weight:600;display:flex}.eyebrow span{background:var(--ink);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #08080814}.hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(33px,3vw,54px);font-weight:550;line-height:1.55}.hero h1 .hero-line{white-space:nowrap;display:block}.hero h1 .hero-phrase{white-space:nowrap;display:inline}.hero-description{color:var(--muted);letter-spacing:.025em;margin:31px 0 0;font-size:clamp(13px,1.1vw,16px);font-weight:400;line-height:2.05}.primary-link{align-items:center;gap:24px;margin-top:46px;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:13px;font-weight:600;display:inline-flex}.link-circle{background:var(--ink);width:43px;height:43px;color:var(--white);border-radius:50%;place-items:center;transition:transform .22s;display:grid}.primary-link:hover .link-circle{transform:translate(5px)}.hero-visual{z-index:2;aspect-ratio:1;justify-self:center;width:min(42vw,610px);position:relative}.hero-orbit{border:1px solid #0808081c;border-radius:50%;position:absolute}.hero-orbit:before,.hero-orbit:after{background:var(--ink);content:"";border-radius:50%;width:8px;height:8px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 7px #0808080a}.hero-orbit--outer{animation:42s linear infinite orbit-spin;inset:2%}.hero-orbit--outer:before{top:17%;left:12.44%}.hero-orbit--outer:after{top:76%;left:92.72%}.hero-orbit--inner{border-style:dashed;animation:34s linear infinite reverse orbit-spin;inset:14%}.hero-orbit--inner:before{top:50%;left:0}.hero-orbit--inner:after{top:10%;left:80%}@keyframes orbit-spin{to{transform:rotate(360deg)}}.hero-sphere{background:radial-gradient(circle at 31% 25%,#fff 0 7%,#ddd 33%,#a1a3a4 69%,#656768 100%);border:1px solid #fffc;border-radius:50%;place-items:center;animation:6s ease-in-out infinite sphere-float;display:grid;position:absolute;inset:22%;overflow:hidden;box-shadow:0 34px 80px #00000030,inset -20px -26px 45px #0000002b,inset 16px 20px 30px #ffffffbf}.sphere-glow{filter:blur(20px);background:#ffffff94;border-radius:50%;width:42%;height:25%;position:absolute;top:7%;left:18%;transform:rotate(-28deg)}.hero-symbol{aspect-ratio:685/751;width:42%;height:auto;color:var(--white);filter:drop-shadow(0 3px 4px #00000040);position:relative;overflow:visible}.hero-logo-dot{transform-box:fill-box;transform-origin:50%;will-change:transform;animation:30s linear infinite logo-particle-cycle-a}.hero-logo-dot--timing-1{animation-name:logo-particle-cycle-b}.hero-logo-dot--timing-2{animation-name:logo-particle-cycle-c}.hero-logo-dot--timing-3{animation-name:logo-particle-cycle-d}@keyframes logo-particle-cycle-a{0%,34%{transform:translate(0)}39%{transform:translate(var(--scatter-x1), var(--scatter-y1))}47%{transform:translate(var(--scatter-x2), var(--scatter-y2))}56%{transform:translate(var(--scatter-x3), var(--scatter-y3))}65%{transform:translate(var(--scatter-x4), var(--scatter-y4))}75%,to{transform:translate(0)}}@keyframes logo-particle-cycle-b{0%,34%{transform:translate(0)}41%{transform:translate(var(--scatter-x1), var(--scatter-y1))}50%{transform:translate(var(--scatter-x2), var(--scatter-y2))}58%{transform:translate(var(--scatter-x3), var(--scatter-y3))}68%{transform:translate(var(--scatter-x4), var(--scatter-y4))}75%,to{transform:translate(0)}}@keyframes logo-particle-cycle-c{0%,34%{transform:translate(0)}38%{transform:translate(var(--scatter-x1), var(--scatter-y1))}46%{transform:translate(var(--scatter-x2), var(--scatter-y2))}55%{transform:translate(var(--scatter-x3), var(--scatter-y3))}67%{transform:translate(var(--scatter-x4), var(--scatter-y4))}75%,to{transform:translate(0)}}@keyframes logo-particle-cycle-d{0%,34%{transform:translate(0)}42%{transform:translate(var(--scatter-x1), var(--scatter-y1))}49%{transform:translate(var(--scatter-x2), var(--scatter-y2))}60%{transform:translate(var(--scatter-x3), var(--scatter-y3))}69%{transform:translate(var(--scatter-x4), var(--scatter-y4))}75%,to{transform:translate(0)}}@keyframes sphere-float{50%{transform:translateY(-10px)}}.visual-label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;background:#f4f4f1b8;border:1px solid #08080814;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:9px;font-weight:600;animation:18s ease-in-out infinite label-sync;display:flex;position:absolute}.visual-label:before{background:var(--ink);content:"";border-radius:50%;width:4px;height:4px;animation:18s ease-in-out infinite label-node-sync}.visual-label b{color:var(--silver);letter-spacing:.06em;font-size:7px;font-weight:650}.visual-label--one{top:19%;left:0}.visual-label--two{top:13%;right:0}.visual-label--three{bottom:14%;right:0}@keyframes label-sync{0%,55%,91%,to{color:var(--muted);border-color:#08080814}64%,82%{color:var(--ink);border-color:#08080833}}@keyframes label-node-sync{0%,55%,91%,to{box-shadow:0 0 #08080800}64%,82%{box-shadow:0 0 0 7px #08080812}}.hero-meta{bottom:42px;left:var(--page-pad);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;gap:25px;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:9px;font-weight:550;display:flex;position:absolute}.hero-meta span+span:before{color:var(--silver);content:"/";margin-right:25px}.scroll-cue{right:var(--page-pad);height:118px;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl;align-items:center;gap:16px;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:9px;display:flex;position:absolute;bottom:0}.scroll-cue i{background:var(--ink);width:1px;height:50px}.section{padding:110px var(--page-pad) 125px}.section-heading{border-bottom:1px solid var(--line);grid-template-columns:70px minmax(150px,1fr) auto;align-items:baseline;padding-bottom:25px;display:grid}.section-number,.section-jp{letter-spacing:.12em;text-transform:uppercase;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:10px;font-weight:600}.section-heading h2{letter-spacing:-.045em;margin:0;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:clamp(27px,3vw,46px);font-weight:520}.section-jp{color:var(--muted);letter-spacing:.08em;font-family:Noto Sans JP Variable,sans-serif}.about{background:var(--ink);color:var(--white);position:relative;overflow:hidden}.about:after{opacity:.18;content:"";pointer-events:none;background:radial-gradient(circle at 22% 55%,#fff 0 1px,#0000 2px) 0 0/76px 76px,radial-gradient(circle at 80% 20%,#fff 0 1px,#0000 2px) 0 0/124px 124px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 60%);mask-image:linear-gradient(90deg,#000,#0000 60%)}.about>*{z-index:1;position:relative}.about .section-heading{border-color:#ffffff2e}.about .section-jp{color:#929495}.about-layout{grid-template-columns:1fr;gap:70px;padding:112px 6vw 94px;display:grid}.about-lead{letter-spacing:-.055em;margin:0;font-size:clamp(30px,4.15vw,66px);font-weight:520;line-height:1.55}.about-lead .about-phrase{white-space:nowrap;display:inline}.about-lead .about-phrase+.about-phrase{margin-left:.28em}.about-body{justify-self:start;width:min(100%,760px)}.about-body p{margin:0;font-size:clamp(14px,1.1vw,17px);line-height:2.15}.about-body p+p{color:#a9aaab;margin-top:22px}.about-body p:last-child{margin-top:50px}.about-signature{min-height:168px;padding:0 var(--page-pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);color:var(--ink);justify-content:center;align-items:center;gap:clamp(28px,5vw,76px);display:flex}.about-signature svg{aspect-ratio:685/751;width:54px;height:auto}.about-signature p{letter-spacing:.04em;margin:0;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:clamp(13px,1.35vw,20px);font-weight:520}.about-signature i{color:var(--silver);margin:0 clamp(15px,3vw,45px);font-style:normal}.services{background:#e9e9e6}.service-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin-top:78px;display:grid}.service-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff54;flex-direction:column;justify-content:space-between;min-height:415px;padding:clamp(28px,4vw,54px);transition:color .28s,background .28s;display:flex;position:relative;overflow:hidden}.service-top{z-index:2;justify-content:space-between;align-items:center;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:10px;font-weight:600;display:flex;position:relative}.service-dot{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 7px #0000000d}.service-content{z-index:2;max-width:520px;position:relative}.service-card h3{letter-spacing:-.055em;max-width:470px;margin:0;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:clamp(26px,3vw,45px);font-weight:470;line-height:1.08}.service-jp{margin:15px 0 0;font-size:12px;font-weight:550}.service-description{max-width:450px;color:var(--muted);margin:30px 0 0;font-size:13px;line-height:1.9}.service-watermark{aspect-ratio:685/751;color:#0000000b;width:180px;height:auto;transition:color .28s,transform .5s;position:absolute;bottom:-75px;right:-20px;transform:rotate(8deg)}.service-card:hover{background:var(--ink);color:var(--white)}.service-card:hover .service-description{color:#afb0b1}.service-card:hover .service-watermark{color:#ffffff17;transform:rotate(0)translateY(-10px)}.service-card:hover .service-dot{box-shadow:0 0 0 7px #ffffff17}.contact{padding:96px var(--page-pad) 38px;background:var(--white)}.contact-top{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr;align-items:center;padding-bottom:18px;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:12px;font-weight:600;display:grid}.contact-top>span:nth-child(2){letter-spacing:.02em;font-size:13px}.contact-main{grid-template-columns:minmax(240px,.7fr) minmax(420px,1.3fr);align-items:end;gap:clamp(48px,8vw,140px);padding:88px 0 104px;display:grid}.contact-copy h2{letter-spacing:-.055em;margin:0 0 24px;font-family:Noto Sans JP Variable,sans-serif;font-size:clamp(28px,2.8vw,42px);font-weight:480;line-height:1.35}.contact-copy p{color:var(--muted);letter-spacing:.015em;margin:0;font-size:13px;line-height:1.9}.contact-main>a{border-bottom:1px solid var(--ink);letter-spacing:-.045em;justify-content:space-between;align-items:center;gap:20px;padding-bottom:14px;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:clamp(20px,2vw,30px);font-weight:430;line-height:1.25;transition:color .2s;display:flex}.contact-main>a:hover{color:#77797a}.contact-arrow{aspect-ratio:1;border:1px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:clamp(38px,3vw,46px);display:grid}.contact-arrow svg{width:32%}footer{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:end;padding-top:35px;display:grid}.footer-statement{letter-spacing:.05em;text-align:center;flex-direction:column;gap:4px;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:10px;font-weight:550;display:flex}.copyright{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;justify-self:end;font-family:Plus Jakarta Sans Variable,sans-serif;font-size:9px}@media (max-width:980px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;align-content:start;min-height:900px;padding-top:160px}.hero-copy{max-width:750px}.hero-visual{opacity:.94;width:min(56vw,520px);position:absolute;bottom:65px;right:4vw}.hero-meta{bottom:34px}}@media (max-width:720px){:root{--page-pad:22px}.site-header{height:76px}.brand__name-ja{font-size:15px}.brand__name-en{font-size:6px}.brand__symbol{width:24px;height:auto}.header-contact{gap:10px;padding:9px 13px}.hero{min-height:820px;padding-top:126px}.hero-grid{background-size:calc(25vw - 11px) 100%;inset:76px 0 0}.eyebrow{margin-bottom:28px;font-size:9px}.hero h1{font-size:clamp(25px,7vw,30px);line-height:1.48}.hero h1 .hero-line{white-space:normal}.hero h1 .hero-phrase{white-space:nowrap;display:block}.hero-description{margin-top:25px;font-size:12px}.hero-description br{display:none}.primary-link{margin-top:30px}.hero-visual{width:84vw;bottom:45px;right:-13vw}.visual-label{display:none}.hero-meta{flex-direction:column;gap:3px;font-size:7px;bottom:25px}.hero-meta span+span:before,.scroll-cue{display:none}.section{padding-top:76px;padding-bottom:82px}.section-heading,.contact-top{grid-template-columns:38px 1fr auto}.section-heading h2{font-size:28px}.section-jp{font-size:8px}.about-layout{gap:55px;padding:75px 0 65px}.about-lead{font-size:28px;line-height:1.5}.about-lead .about-phrase{white-space:nowrap;display:block}.about-lead .about-phrase+.about-phrase{margin-left:0}.about-body p{font-size:13px}.about-body p+p{margin-top:18px}.about-body p:last-child{margin-top:36px}.about-signature{gap:20px;min-height:130px}.about-signature svg{width:38px}.about-signature p{font-size:10px}.about-signature i{margin:0 8px}.service-grid{grid-template-columns:1fr;margin-top:55px}.service-card{min-height:330px;padding:28px}.service-card h3{font-size:30px}.contact{padding-top:72px}.contact-top{grid-template-columns:38px 1fr}.contact-main{grid-template-columns:1fr;gap:56px;padding:64px 0 84px}.contact-copy h2{margin-bottom:16px;font-size:28px}.contact-main>a{gap:14px;font-size:clamp(18px,4.8vw,22px)}.contact-arrow{width:38px}footer{grid-template-columns:1fr auto;gap:35px}.footer-statement{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-orbit,.hero-sphere,.hero-logo-dot,.visual-label,.visual-label:before{animation:none}*{transition-duration:.01ms!important}}
