:root{--selection:#c2d4ff;--media-base:#c3cbd3;--media-start:#edf0f3;--media-middle:#d0d7de;--media-end:#afbcca;--service-one:#e6ecf3;--service-two:#d5dfeb;--service-three:#e3e7eb;--service-four:#dce6e9;--service-hover:#ccdbed;--entry-start:#e3e8ed;--entry-end:#c8cfd6;--placeholder-label:#536477;--contact-surface:#eef1f5;--overlay-backdrop:#11274366;--paper:#f6f7f9;--white:#fff;--ink:#112743;--muted:#58697c;--accent:#215fe5;--line:#d5dce3;--silver:#b9c3cf;--gutter:clamp(24px, 5.5vw, 88px);--radius:26px;--service-radius:19%;--service-rotation:45deg;--service-width:76%;--service-height:76%;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:disabled{cursor:default;opacity:.3}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:7px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}::selection{background:var(--selection)}span{letter-spacing:inherit}main{overflow:clip}.site-header{z-index:20;height:80px;padding:0 var(--gutter);justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.wordmark{letter-spacing:-1.3px;white-space:nowrap;align-items:baseline;gap:5px;font-size:29px;font-weight:600;display:inline-flex}.brand-square{background:var(--accent);width:6px;height:6px}.menu-toggle,.menu-close{letter-spacing:.05em;background:0 0;align-items:center;gap:22px;min-height:44px;font-size:13px;display:flex}.menu-lines{gap:6px;width:28px;display:grid}.menu-lines i{background:var(--ink);height:1px;transition:transform .3s}.menu-toggle:hover i:first-child{transform:translate(-5px)}.menu-toggle:hover i:last-child{transform:translate(5px)}.skip-link{z-index:100;background:#fff;padding:12px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.hero-stage{isolation:isolate;height:100svh;min-height:650px;position:relative}.hero-media-position{z-index:-1;position:absolute;inset:0}.hero-media-mask{transform-origin:50%;background:var(--media-base);position:absolute;inset:0;overflow:hidden}.hero-media-counter{width:150vmax;height:150vmax;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.media-surface,.media-placeholder{width:100%;height:100%;position:relative;overflow:hidden}.media-surface img,.media-surface video{object-fit:cover;width:100%;height:100%;display:block}.media-placeholder{background:linear-gradient(125deg, var(--media-start) 8%, var(--media-middle) 49%, var(--media-end) 100%)}.placeholder-line{background:#ffffff40;width:150%;height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(34deg)}.placeholder-line.second{transform:translate(-50%,-50%)rotate(-34deg)}.hero-copy{left:var(--gutter);position:absolute;top:49%;transform:translateY(-35%)}.hero-kicker{letter-spacing:.08em;margin-bottom:32px;font-size:13px}.hero-copy h1{letter-spacing:-.055em;font-size:clamp(46px,6.2vw,94px);font-weight:500;line-height:1.45}.hero-copy h1 span,.company-message h2 span,.message-body span,.service-content p span{display:block}.hero-subtitle{letter-spacing:.13em;margin-top:26px;font-size:16px}.scroll-cue{bottom:34px;right:var(--gutter);letter-spacing:.1em;align-items:center;gap:24px;font-size:11px;display:flex;position:absolute}.scroll-line{background:#11274340;width:1px;height:58px;position:relative}.scroll-line:after{content:"";background:var(--ink);width:1px;height:20px;animation:2s ease-in-out infinite scroll-line;position:absolute;top:0;left:0}@keyframes scroll-line{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(38px)}}.company-message{padding:130px var(--gutter);background:var(--paper);min-height:700px;position:relative}.hero-stage>.company-message{z-index:2;width:100%;position:absolute;top:100%;left:0}.hero-story{padding-bottom:700px}.hero-story.is-animated{padding-bottom:0}.is-animated .company-message{width:52%;padding:0 0 0 var(--gutter);visibility:hidden;background:0 0;min-height:0;top:50%;transform:translateY(-50%)}.eyebrow{letter-spacing:.12em;color:var(--accent);margin-bottom:27px;font-size:12px;font-weight:500}.company-message h2{letter-spacing:-.04em;font-size:clamp(32px,3.45vw,52px);line-height:1.65}.message-body{color:var(--muted);margin-top:30px;font-size:14px;line-height:2.3}.text-link{align-items:center;gap:30px;margin-top:34px;font-size:13px;display:inline-flex}.round-arrow{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:43px;height:43px;font-size:21px;transition:transform .3s,background .3s,color .3s;display:inline-flex}.text-link:hover .round-arrow,.entry:hover .round-arrow{background:var(--ink);color:#fff;border-color:var(--ink);transform:rotate(45deg)}.services-section{text-align:center;background:var(--white);padding:128px 0 115px}.section-heading{padding:0 24px}.section-heading h2{letter-spacing:-.04em;font-size:clamp(29px,3.2vw,46px);line-height:1.65}.section-heading>p:last-child{color:var(--muted);margin-top:22px;font-size:14px;line-height:1.9}.carousel{--slide-width:36vw;--service-size:min(42vw, 600px);margin-top:34px}.carousel-viewport{touch-action:pan-y pinch-zoom;cursor:grab;overflow:hidden}.carousel-viewport:active{cursor:grabbing}.carousel-container{align-items:center;display:flex}.service-slide{flex:0 0 var(--slide-width);min-width:0;padding:0 16px;position:relative}.service-scale{width:var(--service-size);height:var(--service-size);margin-left:calc(var(--service-size) / -2);transform-origin:50%;will-change:transform;position:relative;left:50%;transform:scale(.58)}.service-card{user-select:none;-webkit-user-drag:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.service-shape{width:var(--service-width);height:var(--service-height);border-radius:var(--service-radius);transform:translate(-50%, -50%) rotate(var(--service-rotation));background:var(--service-one);transition:background .4s;position:absolute;top:50%;left:50%}.service-slide:nth-child(2) .service-shape{background:var(--service-two)}.service-slide:nth-child(3) .service-shape{background:var(--service-three)}.service-slide:nth-child(4) .service-shape{background:var(--service-four)}.service-card:hover .service-shape{background:var(--service-hover)}.service-content{text-align:center;width:80%;position:relative}.service-en{letter-spacing:.08em;color:var(--muted);margin-bottom:24px;font-size:13px;display:block}.service-content h3 span{display:block}.service-content h3{letter-spacing:-.035em;font-size:clamp(19px,2.1vw,30px);font-weight:500}.service-content p{margin-top:22px;font-size:14px;line-height:1.9}.service-more{align-items:center;gap:20px;margin-top:32px;font-size:11px;display:inline-flex}.service-more>span{font-size:22px}.service-caption{min-height:50px;color:var(--muted);padding:0 20px;font-size:13px;line-height:1.9;transition:opacity .3s}.service-index{margin-top:48px}[data-shape=circle]{--service-radius:50%;--service-rotation:0deg;--service-width:90%;--service-height:90%}[data-shape=ellipse]{--service-radius:50%;--service-rotation:0deg;--service-width:100%;--service-height:72%}[data-shape=capsule]{--service-radius:999px;--service-rotation:0deg;--service-width:70%;--service-height:95%}.entry-section{padding:120px var(--gutter)}.entry-grid{grid-template-columns:1fr 1fr;gap:48px;max-width:1440px;margin:auto;display:grid}.entry-image{border-radius:4px;height:330px;position:relative;overflow:hidden}.entry .media-surface{transition:transform .65s}.entry:hover .media-surface{transform:scale(1.04)}.entry:nth-child(2) .media-placeholder{background:linear-gradient(120deg, var(--entry-start), var(--entry-end))}.entry-title{letter-spacing:-.045em;font-size:46px;position:absolute;bottom:32px;left:32px}.entry-image-label{color:var(--placeholder-label);font-size:10px;position:absolute;top:22px;right:22px}.entry-description{justify-content:space-between;align-items:center;gap:20px;margin-top:27px;display:flex}.entry-description h2{font-size:18px}.entry-description p{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.9}.entry-description .round-arrow{flex-shrink:0}.contact-section{text-align:center;background:var(--contact-surface);border-top:1px solid var(--line);padding:130px 24px 140px}.contact-section h2{letter-spacing:-.05em;font-size:clamp(30px,4vw,58px);line-height:1.65}.contact-section>p:not(.eyebrow){color:var(--muted);margin-top:26px;font-size:14px;line-height:2.1}.primary-button{background:var(--ink);color:#fff;border-radius:999px;justify-content:space-between;align-items:center;gap:55px;min-width:320px;margin-top:42px;padding:24px 35px;font-size:14px;transition:background .25s;display:inline-flex}.primary-button:hover{background:var(--accent)}.primary-button>span{font-size:22px}.site-footer{padding:58px var(--gutter) 28px}.footer-main{justify-content:space-between;align-items:center;gap:40px;display:flex}.footer-main nav{flex-wrap:wrap;gap:25px;font-size:11px;display:flex}.footer-main nav a:hover{color:var(--accent)}.footer-bottom{color:var(--muted);letter-spacing:.04em;justify-content:space-between;gap:20px;margin-top:54px;font-size:10px;display:flex}.footer-bottom small{font-size:10px}.navigation-overlay{width:100%;max-width:none;height:100dvh;max-height:none;padding:0 var(--gutter);background:var(--paper);color:var(--ink);border:none;margin:0}.navigation-overlay::backdrop{background:var(--overlay-backdrop)}.nav-top{justify-content:space-between;align-items:center;height:90px;display:flex}.menu-close>span{font-size:30px;font-weight:300}.nav-body{grid-template-columns:1fr 1.3fr;align-items:center;gap:80px;max-width:1280px;min-height:calc(100dvh - 180px);margin:auto;padding:40px 0;display:grid}.nav-statement{font-size:34px;line-height:1.8}.nav-body nav a{border-bottom:1px solid var(--line);align-items:center;gap:25px;padding:20px 0;display:flex}.nav-en{letter-spacing:-.04em;font-size:clamp(27px,4vw,58px)}.nav-ja{color:var(--muted);font-size:12px}.nav-arrow{margin-left:auto;font-size:25px}.navigation-overlay[open] .nav-body nav a{animation:.5s both nav-enter;animation-delay:calc(var(--index) * 45ms)}@keyframes nav-enter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.nav-bottom{justify-content:space-between;padding:25px 0;font-size:11px;display:flex}.placeholder-page{padding:190px var(--gutter) 100px;max-width:1150px;min-height:80svh;margin:auto}.placeholder-page h1{font-size:clamp(30px,4vw,60px);line-height:1.6}.placeholder-page p{color:var(--muted);max-width:650px;line-height:2}.placeholder-page .preparing{color:var(--ink);margin:35px 0 15px;font-size:20px}.service-list{margin:45px 0}.service-list>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 0;font-size:20px;display:flex}.service-list small{color:var(--muted);margin-top:10px;font-size:12px;display:block}@media (width>=1600px){.hero-copy{left:calc(50vw - 712px)}.entry-image{height:400px}}@media (width<=900px){.footer-main{flex-direction:column;align-items:flex-start}.entry-grid{gap:28px}.entry-image{height:270px}.entry-title{font-size:37px}.message-body{font-size:12px}.carousel{--slide-width:36vw;--service-size:46vw}.nav-body{gap:35px}.nav-statement{font-size:25px}}@media (width<=767px){.site-header,.nav-top{height:76px}.wordmark{font-size:24px}.menu-toggle{gap:14px}.menu-toggle>span:first-child{font-size:11px}.is-animated .hero-stage{overflow:clip}.hero-stage{min-height:640px}.hero-copy{inset:auto 20px 140px 24px;transform:none}.hero-kicker{letter-spacing:.04em;margin-bottom:23px;font-size:10px}.hero-copy h1{letter-spacing:-.06em;font-size:clamp(35px,8.8vw,65px);line-height:1.6}.hero-subtitle{letter-spacing:.07em;margin-top:19px;font-size:12px}.scroll-cue{gap:18px;font-size:10px;bottom:32px;left:24px;right:auto}.scroll-line{height:44px}.company-message{min-height:620px;padding:70px 24px}.hero-story{padding-bottom:620px}.is-animated .company-message{width:100%;padding:0 26px;top:auto;bottom:32px;left:0;transform:none}.company-message .eyebrow{margin-bottom:15px;font-size:10px}.company-message h2{font-size:29px;line-height:1.55}.message-body{margin-top:18px;font-size:13px;line-height:2}.company-message .text-link{gap:20px;margin-top:18px;font-size:11px}.round-arrow{width:37px;height:37px;font-size:18px}.services-section{padding:85px 0}.eyebrow{margin-bottom:20px;font-size:11px}.section-heading h2{font-size:27px}.section-heading>p:last-child{margin-top:18px;font-size:12px}.carousel{--slide-width:58vw;--service-size:80vw;margin-top:26px}.service-slide{padding:0 9px}.service-en{margin-bottom:15px;font-size:10px}.service-content h3 span{display:block}.service-content h3{font-size:19px}.service-content p{margin-top:16px;font-size:11px}.service-more{margin-top:18px;font-size:10px}.service-caption{min-height:45px;padding:0 15px;font-size:11px}.service-index{margin-top:30px;font-size:12px}.entry-section{padding:75px 24px}.entry-grid{grid-template-columns:1fr;gap:52px}.entry-image{height:270px}.entry-title{font-size:40px;bottom:24px;left:24px}.entry-description h2{font-size:17px}.entry-description p{font-size:11px}.entry-description{margin-top:23px}.contact-section{padding:85px 24px 90px}.contact-section h2{font-size:clamp(22px,6.6vw,29px)}.contact-section>p:not(.eyebrow){margin-top:22px;font-size:12px}.primary-button{width:100%;min-width:0;max-width:330px;margin-top:30px;padding:21px 28px;font-size:13px}.site-footer{padding:42px 24px 25px}.footer-main{gap:30px}.footer-main nav{gap:20px 24px;font-size:10px}.footer-bottom{flex-direction:column;gap:17px;margin-top:37px;font-size:9px}.nav-body{grid-template-columns:1fr;gap:0;min-height:calc(100dvh - 160px);padding:20px 0}.nav-statement{display:none}.nav-body nav a{gap:18px;padding:20px 0}.nav-en{font-size:38px}.nav-ja{font-size:11px}.nav-bottom{font-size:9px}.placeholder-page{padding-top:140px}.placeholder-page .preparing{font-size:17px}.placeholder-page p{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.service-scale{will-change:auto}}.brand-logo{width:158px;height:auto;display:block}@media (width<=767px){.brand-logo{width:130px}}.hero-media-counter{width:100vw;height:100svh;min-height:650px}.hero-copy,.hero-stage>.scroll-cue{color:#fff}.hero-copy{text-shadow:0 2px 20px #0003}.hero-stage>.scroll-cue .scroll-line{background:#ffffffa6}.service-shape{overflow:hidden}.service-photo{transform:rotate(calc(-1 * var(--service-rotation)));position:absolute;inset:-22%}.service-photo img{object-fit:cover;object-position:center;width:100%;height:100%}.service-content{width:78%;color:var(--ink);text-shadow:none;position:absolute;top:71%}.service-en{color:var(--muted);margin-bottom:6px;font-size:11px}.service-content h3{font-size:clamp(16px,1.8vw,25px);line-height:1.45}.service-content p{display:none}.service-more{margin-top:10px;font-size:10px}.entry-image:after{content:"";pointer-events:none;background:linear-gradient(#0000 40%,#07121b8c);position:absolute;inset:0}.entry-title{z-index:1;color:#fff}@media (width<=767px){.hero-media-counter{min-height:0}.hero-media-counter img{object-position:center}.service-content{top:71%}.service-content h3{font-size:clamp(13px,3.1vw,19px)}.service-en{margin-bottom:5px;font-size:9px}.service-more{margin-top:7px;font-size:9px}}.home-page .site-header{color:#fff;mix-blend-mode:normal;background:0 0}.home-page .site-header .brand-logo{filter:brightness(0)invert()}.home-page .site-header .menu-lines i{background:currentColor}.service-photo{background:#dceefe}.service-photo img{object-fit:cover;object-position:center;width:80%;height:80%;position:absolute;top:12%;left:10%;mask-image:radial-gradient(at 50% 45%,#000 59%,#0000 78%)}.service-slide:nth-child(2) .service-photo{background:#f4efe8}.service-slide:nth-child(4) .service-photo{background:#dcd0fc}.home-page .section-heading h2,.home-page .contact-section h2{font-size:clamp(36px,4.5vw,76px);line-height:1.5}.home-page .company-message h2{font-size:clamp(34px,4vw,64px);line-height:1.5}.home-page .hero-subtitle{font-size:clamp(17px,1.5vw,22px)}.home-page .hero-kicker,.home-page .eyebrow{font-size:14px}.home-page .message-body,.home-page .section-heading>p:last-child,.home-page .entry-description p,.home-page .contact-section>p:not(.eyebrow){font-size:clamp(16px,1.3vw,20px);line-height:1.9}.home-page .text-link,.home-page .primary-button{font-size:17px}.home-page .entry-description h2{font-size:26px}.home-page .footer-main nav{font-size:14px}.home-page .service-content{top:65%}.home-page .service-content h3{font-size:clamp(23px,2.4vw,34px);line-height:1.45}.home-page .service-en{margin-bottom:8px;font-size:14px}.home-page .service-more{margin-top:12px;font-size:13px}.home-page .service-caption{min-height:64px;font-size:17px;line-height:1.8}.home-page .service-photo img{width:78%;height:78%;top:5%;left:11%}@media (width<=767px){.home-page .hero-stage,.home-page .hero-media-counter{min-height:760px}.home-page .hero-copy h1{font-size:clamp(36px,9vw,65px);line-height:1.5}.home-page .hero-copy{bottom:110px}.home-page .company-message h2{font-size:34px}.home-page .section-heading h2,.home-page .contact-section h2{font-size:clamp(30px,7.8vw,42px)}.home-page .company-message .text-link{font-size:16px}.home-page .service-content{width:90%;top:63%}.home-page .service-content h3{font-size:clamp(17px,4.9vw,27px)}.home-page .service-en{margin-bottom:5px;font-size:12px}.home-page .service-more{margin-top:8px;font-size:11px}.home-page .service-caption{min-height:80px;padding:0;font-size:15px}.home-page .entry-description h2{font-size:23px}}.home-page .service-slide:first-child .service-photo img{width:100%;height:100%;top:0;left:0;mask-image:none}.desktop-navigation{display:none}@media (width>=1024px){.desktop-navigation{align-items:center;gap:clamp(24px,2.8vw,48px);display:flex}.desktop-navigation a{text-underline-offset:8px;align-items:center;min-height:44px;font-size:16px;font-weight:500;display:inline-flex}.desktop-navigation a:hover,.desktop-navigation a[aria-current=page]{text-decoration:underline}.site-header .menu-toggle{display:none}}.home-page .site-header.is-past-hero{color:var(--ink)}.home-page .site-header.is-past-hero .brand-logo{filter:brightness(0)}
