@import"https://use.typekit.net/okj3stq.css";:root{--cream: #f6f5f0;--ink: #222;--text: #333;--muted: #666;--shadow: 0 0 25px rgba(51, 51, 51, .12);--font-sans: "PingFang SC", "PingFang TC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-brand: futura-pt, "PingFang SC", sans-serif;font-size:62.5%}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{margin:0;color:var(--text);background:var(--cream);font-family:var(--font-sans);font-size:1.5rem;font-weight:500;line-height:1.82;letter-spacing:.045em}a{color:inherit;text-decoration:none}img{display:block;width:100%;max-width:100%}.wrapper{overflow:hidden;min-height:100vh}.inner{width:min(1140px,calc(100% - 40px));margin:0 auto}.section-gap{margin-bottom:132px}@media(hover:hover)and (pointer:fine){*,*:before,*:after{cursor:none!important}html,body,a,button,input,textarea,select,[role=button],.header-nav a,.work-detail-back,.page-top{cursor:none}.custom-cursor{position:fixed;top:-100px;left:0;z-index:1000;width:var(--cursor-width, 24px);height:var(--cursor-height, 24px);pointer-events:none;border:1px solid #fff;border-radius:420px;background:#fff;mix-blend-mode:exclusion;opacity:1;transform:translate3d(-50%,-50%,0);transition:transform .15s ease-in,width .1s ease-in,height .1s ease-in,opacity .1s ease-in}.custom-cursor.is-active{border-color:transparent;transition:top .2s cubic-bezier(0,.1,.1,1),left .25s cubic-bezier(0,.1,.1,1),width .1s ease-in-out,height .2s ease-in-out,border-radius .2s ease-in-out,opacity .2s ease-out .1s}.custom-cursor.is-active:not(.is-chip):not(.is-icon-chip){width:40px;height:40px}.custom-cursor.is-chip{border-radius:100px}.custom-cursor.is-icon-chip{border-radius:50%}.custom-cursor.is-hidden{opacity:0;transition:top 0s,left 0s,width .1s ease-out,height .2s ease-out,border-radius .2s ease-out,opacity .15s ease-out}}.loading{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--ink);animation:loadingOut .5s 1.75s ease forwards}.loading span{color:var(--cream);font-family:var(--font-sans);font-size:2.2rem;letter-spacing:.2em;animation:blink 1.2s infinite alternate}.loading span:nth-child(2){animation-delay:.1s}.loading span:nth-child(3){animation-delay:.2s}.loading span:nth-child(4){animation-delay:.3s}.loading span:nth-child(5){animation-delay:.4s}.loading span:nth-child(6){animation-delay:.5s}.loading span:nth-child(7){animation-delay:.6s}.loading span:nth-child(8){animation-delay:.7s}.loading span:nth-child(9){animation-delay:.8s}.loading span:nth-child(10){animation-delay:.9s}.opening{position:fixed;inset:0 auto 0 0;z-index:99;width:100%;background:var(--ink);transform-origin:left center;animation:openingSweep 1.15s 1.95s cubic-bezier(.77,0,.175,1) forwards}.opening-2{background:var(--cream);animation-delay:2.18s;z-index:98}.site-header{position:fixed;top:0;left:0;z-index:50;width:100%;display:flex;align-items:center;justify-content:space-between;padding:30px 40px 0;mix-blend-mode:difference;opacity:0;transform:translateY(-16px);animation:headerIn .7s 2.2s ease forwards}.header-logo{width:auto}.svg-logo{display:block;width:118px;line-height:0}.svg-logo img{display:block;width:100%;height:auto;filter:invert(1)}.site-header.open .svg-logo img{filter:invert(1)}.text-logo{color:var(--cream);font-family:var(--font-brand);font-size:2.6rem;font-style:italic;font-weight:400;line-height:1;letter-spacing:.01em;white-space:nowrap}.header-nav{display:flex;align-items:center;gap:24px}.header-nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:2px solid transparent;color:var(--cream);font-family:var(--font-sans);font-size:1.8rem;line-height:1;letter-spacing:.04em;padding:8px 18px;border-radius:100px;transition:border-color .25s cubic-bezier(0,.4,.2,1),background-color .25s cubic-bezier(0,.4,.2,1),color .25s cubic-bezier(0,.4,.2,1),filter .25s cubic-bezier(0,.4,.2,1)}.header-nav a:hover,.header-nav a:focus-visible{outline:0}.burger{display:none}.hero{height:100vh;min-height:1000px;max-height:1200px;position:relative}.hero-inner{position:relative;height:100%;width:min(1320px,100%);padding:0 40px;margin:0 auto}.hero-copy{position:relative;top:calc(36.5% - 68px);z-index:2;opacity:0;transform:translate(-54px);animation:copyIn 1.2s 2.25s ease forwards}.hero h1{width:min(720px,53vw);margin:0 0 38px;color:var(--ink);font-family:var(--font-brand);font-size:clamp(6rem,5vw,8.2rem);font-style:italic;font-weight:700;line-height:1.28;letter-spacing:.02em;white-space:normal}.hero-statement span{display:block}.lead-ja{max-width:720px;margin:0 0 22px;color:#666;font-size:1.7rem;font-weight:400;line-height:2;letter-spacing:.045em}.lead-en{max-width:720px;margin:0 0 58px;color:#666;font-family:var(--font-sans);font-size:1.7rem;font-weight:400;line-height:2;letter-spacing:.045em}.hero-image{position:absolute;top:22%;right:103px;width:min(402px,33vw);margin:0;z-index:1;opacity:0;transform:translateY(-18px);animation:imageIn .85s 2.05s ease forwards}.hero-image:after,.service-row figure:before{content:"";position:absolute;inset:-15px -15px 15px 15px;background:var(--ink);z-index:-1}.hero-image img{box-shadow:0 0 17px #3333332b}.skill-circle{position:absolute;top:15%;left:67%;z-index:3;width:min(695px,57vw);mix-blend-mode:difference;opacity:0;pointer-events:none;animation:fadeIn 1s 2.55s linear forwards,spin 85s linear infinite}.scroll-label{position:absolute;bottom:55px;left:50px;writing-mode:vertical-lr;font-family:var(--font-sans);font-size:1.5rem;letter-spacing:.17em}.scroll-label:after{content:"";position:absolute;bottom:-62px;left:-8px;width:1px;height:120px;background:var(--ink);animation:moveLine 2s cubic-bezier(1,.2,.4,1) infinite}.section-title{margin:0 0 50px;color:var(--ink);font-family:var(--font-sans);font-size:7rem;font-weight:500;line-height:1.3;letter-spacing:.08em}.section-title.dark{color:var(--cream);text-align:center}.title-reveal{position:relative;display:inline-block;overflow:hidden;padding:2px 7px;margin-left:-7px;opacity:1;transform:none}.section-title.dark.title-reveal{display:block;width:fit-content;margin-right:auto;margin-left:auto}.title-reveal span{display:inline-block;opacity:0}.title-reveal:after{content:"";position:absolute;inset:0;z-index:2;background:var(--ink);transform:scaleX(0);transform-origin:left center;pointer-events:none}.section-title.dark.title-reveal:after{background:var(--cream)}.title-reveal.is-visible span{animation:revealTextIn .01s .34s linear forwards}.title-reveal.is-visible:after{animation:titleBlockReveal .72s cubic-bezier(.77,0,.175,1) forwards}.btn{position:relative;z-index:0;isolation:isolate;display:block;width:100%;max-width:300px;padding:22px 0;overflow:hidden;color:var(--cream);background:var(--ink);border:1px solid var(--ink);border-radius:2px;box-shadow:0 0 10px #33333340;font-family:var(--font-sans);font-size:2.2rem;font-weight:500;line-height:1;letter-spacing:.06em;text-align:center;cursor:pointer;transition:color .45s ease,border-color .45s ease}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cream);transform:scaleX(0);transform-origin:right;transition:transform .65s cubic-bezier(.165,.84,.44,1)}.btn:hover,.btn:focus-visible{color:var(--ink);outline:none}.btn:hover:before,.btn:focus-visible:before{transform:scaleX(1);transform-origin:left}.btn-white{color:var(--ink);background:var(--cream);border-color:var(--cream);margin:70px auto 0}.btn-white:before{background:var(--ink)}.btn-white:hover,.btn-white:focus-visible{color:var(--cream)}.service .btn{margin:80px auto 0}.service-list{margin-top:0}.service-row{display:flex;align-items:flex-start;gap:80px}.service-row:not(:last-child){margin-bottom:156px}.service-row.reverse{flex-direction:row-reverse}.service-row figure{position:relative;z-index:0;flex:0 1 35%;max-width:380px;margin:0;padding-left:15px;overflow:visible;transform:translateY(0);transition:transform .45s cubic-bezier(.16,1,.3,1)}.service-row.reverse figure{padding-left:0;padding-right:15px}.service-row figure:before{inset:-15px auto auto 30px;width:calc(100% - 15px);height:305px}.service-row.reverse figure:before{top:-15px;right:30px;left:auto}.service-image-frame{position:relative;z-index:1;display:block;overflow:hidden;box-shadow:0 0 17px #3333332b;background:var(--ink)}.service-image-frame:after{content:"";position:absolute;inset:0;z-index:2;background:#0000;pointer-events:none;transition:background .8s cubic-bezier(.165,.84,.44,1)}.service-image-frame img{display:block;width:100%;height:305px;transition:transform 1s cubic-bezier(.165,.84,.44,1),filter .45s ease,opacity .8s cubic-bezier(.165,.84,.44,1)}.service-img-default{object-fit:cover}.service-img-logo{position:absolute;inset:0;z-index:3;object-fit:contain;opacity:0;transform:scale(.94);pointer-events:none}.service-row:hover figure{transform:none}.service-row:hover .service-image-frame:after{background:#000000bf}.service-row:hover .service-img-default{filter:saturate(1.06) contrast(1.03);transform:none}.service-row:hover .service-img-logo{opacity:1;transform:scale(1)}.service-body{position:relative;display:flex;flex:1;flex-direction:column;max-width:760px;min-height:320px;margin-top:-15px}.service-period{margin:0 0 22px;color:var(--ink);font-size:2.2rem;font-weight:700;line-height:1.2;letter-spacing:.02em}.service-body h3{margin:0 0 22px;color:var(--ink);font-size:3.2rem;font-weight:700;line-height:1.25;letter-spacing:.04em}.service-copy{display:grid;gap:18px}.service-copy p{margin:0;color:#666;font-size:1.55rem;font-weight:400;line-height:2;letter-spacing:.045em;text-align:justify}.service-tags{display:flex;flex-wrap:wrap;gap:8px 10px;max-width:calc(100% - 110px);margin-top:auto}.service-tags span{display:inline-flex;align-items:center;min-height:32px;padding:6px 16px;border:1px solid #cfcac0;border-radius:0;color:#666;font-size:1.4rem;font-weight:500;line-height:1;letter-spacing:.06em;white-space:nowrap}.arrow-link{display:block;width:170px;margin:30px 0 0 auto;padding:10px;text-align:right;font-family:var(--font-sans);font-size:1.5rem;letter-spacing:.04em;position:relative;cursor:pointer;transition:opacity .35s ease}.arrow-link:before,.arrow-link:after{content:"";position:absolute;transition:all .45s cubic-bezier(.165,.84,.44,1)}.arrow-link:before{top:28px;left:12px;width:60px;height:1px;background:var(--ink)}.arrow-link:after{top:21px;left:66px;border-style:solid;border-width:8px 0 0 8px;border-color:transparent transparent transparent var(--ink)}.arrow-link:hover,.arrow-link:focus-visible{opacity:.9;outline:none}.arrow-link:hover:before,.arrow-link:focus-visible:before{width:75px}.arrow-link:hover:after,.arrow-link:focus-visible:after{left:80px}.service-body .arrow-link{position:absolute;right:0;bottom:-14px;width:84px;height:28px;margin:0;padding:0;overflow:hidden;color:transparent;font-size:0;line-height:0}.service-body .arrow-link:before{top:14px;right:8px;left:auto;width:60px}.service-body .arrow-link:after{top:7px;right:2px;left:auto}.service-body .arrow-link:hover:before,.service-body .arrow-link:focus-visible:before{width:75px}.service-body .arrow-link:hover:after,.service-body .arrow-link:focus-visible:after{right:-13px;left:auto}.works{padding:88px 0 118px;background:var(--ink)}.works-inner{max-width:1040px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 7.2%;margin-top:56px}.work-card{background:var(--cream);box-shadow:var(--shadow);transform:translateY(0);transition:box-shadow .45s ease,transform .45s cubic-bezier(.165,.84,.44,1)}.work-card:hover,.work-card:focus-within{box-shadow:0 12px 28px #00000038;transform:translateY(-3px)}.work-card figure{position:relative;margin:0;aspect-ratio:16 / 9;overflow:hidden}.work-card figure img{height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.165,.84,.44,1)}.work-card figure:before{content:"";position:absolute;inset:0;z-index:1;background:#0000;transition:background .8s cubic-bezier(.165,.84,.44,1)}.work-card figure span{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);opacity:0;color:var(--cream);border:1px solid var(--cream);padding:7px 18px;font-family:var(--font-sans);font-size:1.9rem;letter-spacing:.6em;white-space:nowrap;transition:all .8s cubic-bezier(.165,.84,.44,1)}.work-card:hover figure img,.work-card:focus-within figure img{transform:scale(1.09)}.work-card:hover figure:before,.work-card:focus-within figure:before{background:#000000bf}.work-card:hover figure span,.work-card:focus-within figure span{opacity:1;letter-spacing:.3em;font-size:1.8rem}.work-card:hover .arrow-link:before,.work-card:focus-within .arrow-link:before{width:75px}.work-card:hover .arrow-link:after,.work-card:focus-within .arrow-link:after{left:80px}.work-card-image{display:block}.work-body{display:flex;flex-direction:column;min-height:280px;padding:23px 23px 5px}.tags{display:flex;flex-wrap:wrap;gap:12px 14px;margin-bottom:12px}.tags b{color:var(--cream);background:var(--ink);border-radius:20px;padding:4px 19px;font-family:var(--font-sans);font-size:1.4rem;font-weight:500;line-height:1.3;letter-spacing:.04em}.work-body h3{margin:0 0 12px;font-size:2rem;font-weight:700;line-height:1.5;letter-spacing:.04em}.work-body p{margin:0 0 24px;line-height:1.78;text-align:justify}.works-note{margin:64px 0 0;color:var(--cream);font-size:1.3rem;line-height:1.7;letter-spacing:.04em;text-align:center}.work-detail-page{min-height:100vh;background:var(--cream)}.work-detail-inner{width:min(1140px,calc(100% - 56px));margin:0 auto}.work-detail-hero{padding:148px 0 58px;background:var(--cream)}.work-detail-back{display:inline-flex;align-items:center;gap:10px;min-height:36px;margin-bottom:76px;padding:8px 18px;border:2px solid transparent;border-radius:100px;color:var(--ink);font-size:1.5rem;font-weight:700;line-height:1;letter-spacing:.06em;transition:border-color .25s cubic-bezier(0,.4,.2,1),background-color .25s cubic-bezier(0,.4,.2,1),color .25s cubic-bezier(0,.4,.2,1),filter .25s cubic-bezier(0,.4,.2,1)}.work-detail-back:hover,.work-detail-back:focus-visible{outline:none}.work-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:end;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(34,34,34,.18)}.work-detail-heading>p,.other-works-heading p{margin:0 0 18px;color:var(--muted);font-family:var(--font-brand);font-size:1.6rem;font-style:italic;line-height:1;letter-spacing:.08em}.work-detail-heading h1{grid-column:1;justify-self:start;width:fit-content;max-width:100%;margin:0;color:var(--ink);font-size:6.4rem;font-weight:500;line-height:1.04;letter-spacing:.03em}.work-detail-meta{grid-row:1 / span 2;grid-column:2;display:grid;align-self:end;justify-self:end;gap:14px;margin:0;text-align:right}.work-detail-meta div{display:block}.work-detail-meta dt{display:none}.work-detail-meta dd{margin:0;color:#565656;font-size:1.7rem;font-weight:300;line-height:1.4;letter-spacing:.04em}.work-detail-main{padding:20px 0 108px;background:var(--cream)}.work-detail-visual{position:relative;margin:0}.work-detail-visual img{width:100%;min-height:520px;max-height:760px;object-fit:cover;box-shadow:0 18px 38px #33333329}.other-works{padding:96px 0 124px;overflow:hidden;background:var(--ink)}.other-works-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:42px}.other-works-heading p{order:2;margin:0;color:var(--cream)}.other-works-heading h2{order:1;margin:0;color:var(--cream);font-family:var(--font-brand);font-size:1.6rem;font-style:italic;font-weight:500;line-height:1;letter-spacing:.08em}.other-work-grid{overflow:hidden;padding:8px 0 18px}.other-work-track{display:flex;gap:26px;width:max-content;animation:otherWorksLoop 28s linear infinite}.other-work-grid:hover .other-work-track{animation-play-state:paused}.other-work-card{flex:0 0 calc((min(1140px,calc(100vw - 56px)) - 52px) / 3);display:block;background:var(--cream);box-shadow:var(--shadow);transition:transform .45s cubic-bezier(.165,.84,.44,1),box-shadow .45s ease}.other-work-card:hover,.other-work-card:focus-visible{outline:none;box-shadow:0 12px 28px #3333332e;transform:translateY(-5px)}.other-work-card figure{position:relative;margin:0;aspect-ratio:16 / 9;overflow:hidden}.other-work-card img{height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.165,.84,.44,1)}.other-work-card figure:before{content:"";position:absolute;inset:0;z-index:1;background:#0000;transition:background .8s cubic-bezier(.165,.84,.44,1)}.other-work-card figure span{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);opacity:0;color:var(--cream);border:1px solid var(--cream);padding:7px 18px;font-family:var(--font-sans);font-size:1.9rem;letter-spacing:.6em;white-space:nowrap;transition:all .8s cubic-bezier(.165,.84,.44,1)}.other-work-card:hover img,.other-work-card:focus-visible img{transform:scale(1.09)}.other-work-card:hover figure:before,.other-work-card:focus-visible figure:before{background:#000000bf}.other-work-card:hover figure span,.other-work-card:focus-visible figure span{opacity:1;letter-spacing:.3em;font-size:1.8rem}.other-work-card div{padding:18px 18px 20px}.other-work-card small{display:block;margin-bottom:8px;color:var(--muted);font-size:1.1rem;line-height:1.4;letter-spacing:.08em}.other-work-card h3{margin:0;color:var(--ink);font-size:1.7rem;line-height:1.45;letter-spacing:.04em}@keyframes otherWorksLoop{0%{transform:translate(0)}to{transform:translate(calc(-50% - 13px))}}.impact-section{min-height:1000px;display:flex;align-items:center;padding:0;background:#efeee6;color:#111;font-family:var(--font-sans)}.impact-inner{width:min(1160px,calc(100% - 56px));margin:0 auto}.impact-heading{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:40px;margin-bottom:56px}.impact-heading p{margin:0;justify-self:end;padding-bottom:13px;color:#11111194;font-size:1.4rem;line-height:1.4;letter-spacing:.04em;text-align:right}.impact-heading .section-title{justify-self:start;width:fit-content;margin-bottom:0}.impact-cards{display:flex;gap:14px;height:460px}.impact-card{position:relative;flex:0 0 172px;overflow:hidden;border-radius:26px;background:var(--impact-color);color:#111;cursor:none;transition:flex-basis .55s cubic-bezier(.16,1,.3,1),background-color .35s ease,color .35s ease,transform .35s ease}.impact-card.is-active{flex-basis:calc(100% - 372px)}.impact-card--black{color:#fff}.impact-card-label{position:absolute;top:36px;left:28px;z-index:2;font-size:1.4rem;font-weight:800;line-height:1;letter-spacing:-.02em;white-space:nowrap}.impact-toggle{position:absolute;top:24px;right:24px;z-index:4;width:40px;height:40px;padding:0;border:1.4px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:none}.impact-toggle span{position:absolute;top:50%;left:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .28s ease}.impact-toggle span:nth-child(2){transform:translate(-50%,-50%) rotate(90deg)}.impact-card.is-active .impact-toggle span:nth-child(2){transform:translate(-50%,-50%) rotate(0)}.impact-card-content{position:absolute;left:30px;bottom:calc(50% - 142.5px);z-index:3;width:min(520px,58%);opacity:0;transform:translateY(20px);transition:opacity .28s ease,transform .38s cubic-bezier(.16,1,.3,1);transition-delay:0s}.impact-card.is-active .impact-card-content{opacity:1;transform:translateY(0);transition-delay:.18s}.impact-card-content h3{margin:0 0 30px;font-size:clamp(4.6rem,4vw,5.2rem);font-weight:800;line-height:1;letter-spacing:-.03em;white-space:nowrap}.impact-card-content p{margin:0;max-width:520px;font-size:1.45rem;font-weight:600;line-height:1.5;letter-spacing:.01em;white-space:normal}.impact-vertical{position:absolute;right:36px;bottom:28px;z-index:2;max-height:250px;font-size:2.4rem;font-weight:800;line-height:1.08;letter-spacing:.04em;writing-mode:vertical-rl;text-orientation:mixed;opacity:1;transition:opacity .22s ease}.impact-card.is-active .impact-vertical{opacity:0}.impact-visual{position:absolute;top:50%;right:34px;width:285px;height:285px;opacity:0;transform:translateY(-50%) scale(.92);transition:opacity .3s ease,transform .45s cubic-bezier(.16,1,.3,1)}.impact-card.is-active .impact-visual{opacity:1;transform:translateY(-50%) scale(1);transition-delay:.12s}.impact-target,.impact-orbit,.impact-identity-mark{position:relative;width:100%;height:100%}.impact-target:before,.impact-target:after,.impact-target i{content:"";position:absolute;inset:0;border:2px solid #111;border-radius:50%}.impact-card.is-active .impact-target:before{animation:impactPulse 2.7s ease-in-out infinite}.impact-target:after{inset:32px;border-width:1.4px}.impact-target i{inset:72px;border-width:0;background:#111;animation:impactGlow 2.2s ease-in-out infinite alternate}.impact-target b{position:absolute;inset:0;border-radius:50%;animation:impactOrbitDot 4s linear infinite}.impact-target b:before{content:"";position:absolute;top:50%;right:-12px;width:24px;height:24px;border-radius:50%;background:#111;transform:translateY(-50%)}.impact-orbit:before,.impact-orbit:after{content:"";position:absolute;border:1.5px solid rgba(255,255,255,.72);border-radius:999px}.impact-orbit:before{inset:20px 46px 76px 4px;transform:rotate(-14deg);animation:orbitTiltA 4.8s ease-in-out infinite}.impact-orbit:after{inset:78px 10px 20px 54px;transform:rotate(18deg);animation:orbitTiltB 5.6s ease-in-out infinite}.impact-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;opacity:.9}.impact-orbit i:nth-child(1){top:42px;left:54px;animation:particleFloat 3.2s ease-in-out infinite}.impact-orbit i:nth-child(2){top:116px;right:36px;width:12px;height:12px;animation:particleFloat 3.8s .35s ease-in-out infinite}.impact-orbit i:nth-child(3){bottom:56px;left:92px;width:6px;height:6px;animation:particleFloat 4.2s .65s ease-in-out infinite}.impact-orbit b{position:absolute;inset:58px;border:1.2px solid rgba(255,255,255,.34);border-radius:50%;animation:orbitSpin 10s linear infinite}.impact-identity-mark i{position:absolute;border:1.6px solid #111;border-radius:30px;background:#ffffff2e}.impact-identity-mark i:nth-child(1){inset:24px 66px 70px 18px;animation:identityFloatA 4.2s ease-in-out infinite}.impact-identity-mark i:nth-child(2){inset:62px 28px 32px 58px;animation:identityFloatB 4.6s .2s ease-in-out infinite}.impact-identity-mark i:nth-child(3){inset:96px 92px 22px 18px;border-radius:50%;background:#ffea70;animation:identityFloatC 3.8s .4s ease-in-out infinite}.impact-identity-mark b{display:none}.impact-identity-mark b:before,.impact-identity-mark b:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:1.5px;background:#111;transform:translate(-50%,-50%)}.impact-identity-mark b:after{transform:translate(-50%,-50%) rotate(90deg)}.profile{background:#f0efe6;min-height:100vh;padding:108px 0;display:flex;align-items:center}.profile .inner{width:min(1140px,calc(100% - 40px))}.profile-content{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:60px}.profile-visual{position:relative;min-height:740px}.profile-bg{width:min(435px,85%);height:740px;object-fit:cover}.profile-photo{position:absolute;top:50%;left:min(150px,30%);width:min(365px,70%);height:490px;transform:translateY(-50%);object-fit:cover;box-shadow:0 0 18px #00000026}.leilei-name{display:block;width:150px;height:auto;margin-bottom:18px}.profile-copy h3{margin:0 0 15px;font-family:var(--font-sans);font-size:3rem;font-weight:500;letter-spacing:.06em}.profile-copy dl{margin:0 0 24px;color:#666;font-size:1.6rem;font-weight:400;line-height:1.82;letter-spacing:.04em}.profile-copy dt{font-weight:400}.profile-copy dd{margin:0}.sns{display:flex;align-items:center;gap:32px;margin:30px 0 32px;color:var(--ink)}.sns span{font-family:var(--font-sans);font-size:3.2rem;font-weight:700;line-height:1}.contact-cta{display:flex;min-height:50vh;align-items:center;margin:0 0 90px}.contact-cta .inner{width:min(1200px,calc(100% - 40px))}.contact-panel{padding:68px 20px 70px;text-align:center;background:url(/assets/contact_bg2.jpg) center / cover no-repeat;box-shadow:var(--shadow)}.contact-panel h2{margin:0 0 32px;color:var(--ink);font-family:var(--font-sans);font-size:4.6rem;font-weight:500;line-height:1;letter-spacing:.08em}.contact-panel p{margin:0;line-height:1.6;letter-spacing:.04em}.contact-panel .btn{margin:50px auto 0;font-size:1.8rem;font-family:inherit;font-weight:700;max-width:290px}.page-top{position:fixed;right:22px;bottom:72px;z-index:20;display:grid;place-items:center;width:48px;height:48px;border:2px solid transparent;color:var(--cream);mix-blend-mode:difference;border-radius:50%;transition:border-color .25s cubic-bezier(0,.4,.2,1),background-color .25s cubic-bezier(0,.4,.2,1),color .25s cubic-bezier(0,.4,.2,1),filter .25s cubic-bezier(0,.4,.2,1)}.page-top:hover,.page-top:focus-visible{outline:0}.page-top svg{position:relative;z-index:1}footer{position:relative;overflow:hidden;display:flex;min-height:33vh;flex-direction:column;justify-content:center;padding:56px 20px;background:url(/assets/footer-space-bg.png) center / cover no-repeat var(--ink);text-align:center}footer:before{content:"";position:absolute;inset:0;z-index:0;background:#00000057;pointer-events:none}footer>*{position:relative;z-index:1}footer .footer-logo{display:block;width:fit-content;margin:0 auto;color:var(--cream);font-size:3.2rem}footer nav{display:flex;justify-content:center;gap:40px;padding:54px 0 62px}footer a,footer small{color:var(--cream);font-family:var(--font-sans);font-size:2rem;letter-spacing:.1em}footer .footer-logo.text-logo{font-family:var(--font-brand)}footer small{display:block;font-size:1.4rem;letter-spacing:.2em}[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.165,.84,.44,1)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@keyframes blink{0%{opacity:1;transform:translateY(0)}to{opacity:.2;transform:translateY(-4px)}}@keyframes loadingOut{to{opacity:0;visibility:hidden}}@keyframes openingSweep{0%{transform:scaleX(1);transform-origin:left center}45%{transform:scaleX(1);transform-origin:left center}46%{transform:scaleX(1);transform-origin:right center}to{transform:scaleX(0);transform-origin:right center;visibility:hidden}}@keyframes titleBlockReveal{0%{transform:scaleX(0);transform-origin:left center}50%{transform:scaleX(1);transform-origin:left center}51%{transform:scaleX(1);transform-origin:right center}to{transform:scaleX(0);transform-origin:right center}}@keyframes revealTextIn{to{opacity:1}}@keyframes headerIn{to{opacity:1;transform:translateY(0)}}@keyframes copyIn{to{opacity:1;transform:translate(0)}}@keyframes imageIn{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes serviceShine{0%{left:-70%;opacity:0}18%{opacity:1}to{left:125%;opacity:0}}@keyframes moveLine{0%{transform:scaleY(0);transform-origin:0 0}50%{transform:scaleY(1);transform-origin:0 0}51%{transform:scaleY(1);transform-origin:0 100%}to{transform:scaleY(0);transform-origin:0 100%}}@keyframes impactPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.045);opacity:.72}}@keyframes impactGlow{0%{transform:scale(.96);filter:brightness(1)}to{transform:scale(1.04);filter:brightness(1.08)}}@keyframes impactOrbitDot{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbitTiltA{0%,to{transform:rotate(-14deg) translateY(0)}50%{transform:rotate(-8deg) translateY(8px)}}@keyframes orbitTiltB{0%,to{transform:rotate(18deg) translateY(0)}50%{transform:rotate(12deg) translateY(-9px)}}@keyframes particleFloat{0%,to{transform:translateZ(0);opacity:.55}50%{transform:translate3d(12px,-14px,0);opacity:1}}@keyframes orbitSpin{0%{transform:rotate(0) scaleX(1.35)}to{transform:rotate(360deg) scaleX(1.35)}}@keyframes identityFloatA{0%,to{transform:translate(0) rotate(-4deg)}50%{transform:translate(10px,-8px) rotate(2deg)}}@keyframes identityFloatB{0%,to{transform:translate(0) rotate(5deg)}50%{transform:translate(-10px,9px) rotate(-2deg)}}@keyframes identityFloatC{0%,to{transform:translate(0) scale(1)}50%{transform:translate(8px,-10px) scale(1.06)}}@media(max-width:900px){.hero{min-height:820px}.lead-ja{font-size:1.5rem;letter-spacing:.07em}.lead-ja strong{font-size:2.5rem}.lead-ja span{font-size:2rem}.lead-en{font-size:1.3rem}.service-row,.service-row.reverse{gap:30px;padding-right:0}.work-grid{gap:30px 3%}.work-detail-heading{display:block}.work-detail-heading h1{margin-bottom:34px}.work-detail-meta{max-width:420px}.other-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-content{gap:24px}}@media(max-width:800px){.site-header{padding:13px 20px 0}.header-logo{width:auto}.svg-logo{width:96px}.text-logo{font-size:2.2rem}.burger{display:grid;gap:8px;border:0;background:transparent;padding:15px 0 15px 30px;z-index:61}.burger span{width:30px;height:1px;background:var(--cream);transition:transform .55s cubic-bezier(.165,.84,.44,1),opacity .35s}.site-header.open .burger span{background:var(--cream)}.burger.cross span:nth-child(1){transform:translateY(9px) rotate(135deg)}.burger.cross span:nth-child(2){opacity:0;transform:translate(-12px)}.burger.cross span:nth-child(3){transform:translateY(-9px) rotate(-135deg)}.site-header.open{mix-blend-mode:normal}.header-nav{position:fixed;inset:0 0 0 auto;z-index:60;width:0;overflow:hidden;flex-direction:column;justify-content:center;gap:38px;background:var(--ink);opacity:0;transition:width .75s cubic-bezier(.165,.84,.44,1),opacity .4s}.header-nav.open{width:100%;opacity:1}}@media(max-width:767px){body{font-size:1.3rem;line-height:1.78;letter-spacing:.035em}.inner{width:calc(100% - 40px)}.section-gap{margin-bottom:72px}.section-title{font-size:4rem;line-height:1;margin-bottom:30px}.btn{max-width:200px;padding:16px 0;font-size:1.6rem}.hero{height:auto;min-height:780px;margin-bottom:72px}.hero-inner{padding:0 15px}.hero-copy{top:0;padding-top:385px;transform:translate(-14px)}.hero h1{width:min(92vw,565px);margin-bottom:24px;font-size:clamp(3.8rem,10vw,5.6rem);font-weight:700;line-height:1.26;white-space:normal}.lead-ja,.lead-en{max-width:none;font-size:1.25rem;line-height:1.9;letter-spacing:.035em}.lead-ja{margin-bottom:16px}.lead-en{margin-bottom:35px;color:#565656}.hero-image{top:152px;left:25px;right:auto;width:75%;max-width:400px}.hero-image:after{inset:-8px 8px 8px -8px}.skill-circle{top:87px;left:41%;width:71%;min-width:220px}.scroll-label{right:15px;left:auto;bottom:5px;font-size:1.2rem}.scroll-label:after{height:90px;bottom:-45px}.service-list{margin-top:0}.service-row,.service-row.reverse{display:flex;flex-direction:column;align-items:stretch;gap:20px}.service-row:not(:last-child){margin-bottom:96px}.service-row figure,.service-row.reverse figure{width:calc(100% - 10px);max-width:none;padding:0}.service-image-frame img{height:175px}.service-row figure:before{top:-10px;left:10px;width:100%;height:175px}.service-row.reverse figure:before{top:-10px;right:10px;left:auto}.service-body{max-width:none;min-height:0;margin-top:0}.service-period{margin-bottom:12px;font-size:1.55rem}.service-body h3{margin-bottom:14px;font-size:2.2rem;letter-spacing:.05em}.service-copy{gap:12px}.service-copy p{font-size:1.25rem;font-weight:400;line-height:1.9;letter-spacing:.035em;text-align:left}.service-tags{gap:8px 10px;max-width:none;margin-top:16px}.service-tags span{min-height:28px;padding:5px 14px;font-size:1.25rem}.service-body .arrow-link{position:relative;right:auto;bottom:auto;margin-top:22px;margin-left:auto}.works{padding:52px 0 82px}.work-grid{display:block;margin-top:32px}.work-card{margin:0 auto 30px}.work-body{min-height:0;padding:20px 20px 3px}.tags{gap:10px 12px}.tags b{font-size:1.25rem;padding:3px 16px}.work-body h3{font-size:1.5rem;margin-bottom:12px}.work-body p{margin-bottom:12px}.works-note{font-size:1.05rem;margin-top:42px}.work-detail-inner{width:calc(100% - 36px)}.work-detail-hero{padding:96px 0 38px}.work-detail-back{min-height:36px;margin-bottom:48px;font-size:1.25rem}.work-detail-heading{padding-bottom:30px}.work-detail-heading>p,.other-works-heading p{margin-bottom:12px;font-size:1.25rem}.work-detail-heading h1{margin-bottom:28px;font-size:clamp(3.2rem,10vw,4.8rem);line-height:1.12}.work-detail-meta{gap:16px}.work-detail-meta div{grid-template-columns:58px 1fr;gap:16px}.work-detail-meta dt{font-size:1.1rem}.work-detail-meta dd{font-size:1.55rem}.work-detail-main{padding:8px 0 70px}.work-detail-visual{padding:0}.work-detail-visual img{min-height:240px;max-height:420px}.other-works{padding:64px 0 78px}.other-works-heading{display:flex;margin-bottom:28px}.other-works-heading h2{font-size:1.25rem}.other-work-grid{overflow:hidden}.other-work-track{gap:18px;animation-duration:24s}.other-work-card{flex-basis:calc(100vw - 72px)}.other-work-card div{padding:16px 16px 18px}.other-work-card h3{font-size:1.45rem}.impact-section{min-height:auto;padding:72px 0 84px}.impact-inner{width:calc(100% - 32px)}.impact-heading{display:block;margin-bottom:28px}.impact-heading p{margin-top:18px;font-size:1.1rem;text-align:left}.impact-cards{display:flex;flex-direction:column;height:auto;gap:12px}.impact-card,.impact-card.is-active{flex-basis:auto;height:92px;border-radius:22px}.impact-card.is-active{height:430px}.impact-card-label{top:24px;left:24px}.impact-toggle{top:16px;right:16px}.impact-visual{top:78px;right:18px;width:172px;height:172px}.impact-card-content{left:24px;bottom:24px;width:calc(100% - 48px)}.impact-card-content h3{font-size:3.4rem;max-width:300px;white-space:normal}.impact-card-content p{max-width:300px;font-size:1.35rem;line-height:1.7;white-space:normal}.impact-vertical{right:auto;left:24px;bottom:18px;writing-mode:horizontal-tb;transform:none;font-size:2rem}.profile-content{display:block}.profile{min-height:auto;padding:80px 0;display:block}.profile-visual{min-height:330px;margin-left:-20px;margin-bottom:60px}.profile-bg{width:75.5%;height:clamp(285px,68vw,510px)}.profile-photo{top:60px;left:31vw;width:51.5%;height:auto;transform:none}.leilei-name{width:118px;margin-bottom:12px}.profile-copy h3{font-size:2rem}.profile-copy dl{font-size:1.3rem}.contact-cta{min-height:48vh;margin-bottom:70px}.contact-panel{padding:45px 20px 40px;background-image:url(/assets/contact_bg2_sp.jpg)}.contact-panel h2{font-size:2.8rem;margin-bottom:22px}.contact-panel .btn{margin-top:30px;max-width:240px}.page-top{right:12px;bottom:28px;width:40px;height:40px}footer{min-height:33vh;padding:48px 20px}footer .footer-logo{font-size:2.5rem}footer nav{flex-wrap:wrap;gap:18px 0;padding:45px 0 30px}footer nav a{flex:0 1 33%;font-size:1.8rem}footer small{font-size:1.2rem}}
