.site-footer{background:var(--acid);color:var(--ink);padding-block:clamp(56px,7vw,96px) 28px;overflow:hidden}.site-footer__top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.site-footer__tagline{font-size:1.0625rem;font-weight:500}.site-footer__links{display:flex;gap:32px;font-size:.9375rem}.site-footer__links a{border-bottom:1px solid transparent;transition:border-color .3s}.site-footer__links a:hover{border-color:currentColor}.site-footer__mark{margin-top:clamp(64px,10vw,160px);overflow:hidden;padding-bottom:.08em;font:500 clamp(5rem,24vw,22rem)/1 var(--font-en);letter-spacing:-.06em}.site-footer__mark span{display:block;margin-left:-.04em}.site-footer__copy{margin-top:20px;padding-top:20px;border-top:1px solid rgba(21,23,20,.2);font:400 .8125rem/1.4 var(--font-en)}@media(max-width:640px){.site-footer__top{flex-direction:column}.site-footer__links{flex-direction:column;gap:12px}}.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:transform .5s var(--ease),border-color .3s;border-bottom:1px solid transparent}.site-header:before{content:"";position:absolute;inset:0;z-index:-1;background:#f5f4efe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .3s}.site-header.is-scrolled:before,.site-header.is-open:before{opacity:1}.site-header.is-scrolled,.site-header.is-open{border-color:#1517141a}.site-header.is-hidden{transform:translateY(-100%)}.site-header__inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{font:600 1.5rem/1 var(--font-en);letter-spacing:-.03em}.site-nav{display:flex;align-items:center;gap:clamp(20px,2.4vw,40px)}.site-nav__list{display:flex;gap:clamp(20px,2.4vw,36px)}.site-nav__link{display:flex;flex-direction:column;align-items:flex-start;padding:8px 0}.site-nav__en{position:relative;font:500 .9375rem/1.3 var(--font-en);letter-spacing:0}.site-nav__en:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.site-nav__link:hover .site-nav__en:after{transform:scaleX(1);transform-origin:left}.site-nav__ja{margin-top:2px;font-size:.75rem;line-height:1.4;color:var(--muted)}.site-nav__lang{font:500 .875rem/1 var(--font-en);padding:8px 0;border-bottom:1px solid currentColor}.site-nav__cta{height:46px;padding:0 22px}.menu-button{display:none;position:relative;width:44px;height:44px;margin-right:-10px;border:0;background:none}.menu-button span{position:absolute;left:10px;right:10px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}.menu-button span:first-child{top:17px}.menu-button span:last-child{top:25px}.is-open .menu-button span:first-child{transform:translateY(4px) rotate(45deg)}.is-open .menu-button span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;inset:var(--header-h) 0 0;display:flex;flex-direction:column;justify-content:space-between;padding-block:24px 40px;background:var(--paper);overflow-y:auto}.mobile-menu[hidden]{display:none}.mobile-menu__list li{border-bottom:1px solid var(--line)}.mobile-menu__list a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0}.mobile-menu__en{font:500 2rem/1.1 var(--font-en);letter-spacing:-.03em}.mobile-menu__ja{font-size:.875rem;color:var(--muted)}.mobile-menu__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:40px}@media(max-width:1023px){.site-nav{display:none}.menu-button{display:block}}.privacy{min-height:100svh}.privacy__header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between}.privacy__back{font-size:.9375rem}.privacy__main{padding-block:clamp(64px,10vw,160px)}.privacy__main h1{margin:16px 0 40px;font-size:clamp(2.25rem,5vw,4.5rem);font-weight:500;line-height:1.3;letter-spacing:.02em}.heading{margin-bottom:clamp(56px,8vw,120px)}.heading__ja{display:flex;align-items:center;gap:14px;font-size:.9375rem;font-weight:500;line-height:1.6}.heading__ja:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:currentColor}.heading--accent .heading__ja:before{background:var(--acid)}.heading__en{margin-top:clamp(16px,2vw,28px);max-width:14ch;font:500 clamp(2.75rem,7.6vw,7.5rem)/1 var(--font-en);letter-spacing:-.045em}.heading--accent .heading__en{color:var(--acid)}.heading__word{display:inline-block;overflow:hidden;vertical-align:top;padding:.04em .06em .2em 0;margin:-.04em -.06em -.2em 0}.heading__word>span{display:inline-block}.about .heading__en{max-width:12ch}.about__body{max-width:40rem;margin-left:auto;font-size:clamp(1.0625rem,1.45vw,1.3125rem);line-height:2.1;letter-spacing:.04em}.about__body p+p{margin-top:1.6em}.company__list{max-width:64rem;margin-left:auto;border-top:1px solid var(--line)}.company__row{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:24px;padding-block:24px;border-bottom:1px solid var(--line)}.company__row dt{font-size:.9375rem;color:var(--muted)}@media(max-width:640px){.company__row{grid-template-columns:1fr;gap:4px;padding-block:20px}}.contact .heading__en{max-width:none}.contact__form,.contact__sent{max-width:64rem;margin-left:auto}.contact__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,48px) clamp(24px,3vw,40px)}.field{display:flex;flex-direction:column;gap:10px}.field--full{grid-column:1 / -1}.field__label{display:flex;align-items:center;gap:10px;font-size:.9375rem;font-weight:500}.field__tag{padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-size:.75rem;font-weight:400;line-height:1.5;color:var(--muted)}.field__tag.is-required{border-color:var(--acid);color:var(--acid)}.field input,.field textarea,.field select{width:100%;padding:12px 0;border:0;border-bottom:1px solid rgba(245,244,239,.32);border-radius:0;background:transparent;font-size:1.0625rem;line-height:1.7;outline:none;transition:border-color .3s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--acid)}.field textarea{resize:vertical;min-height:9rem}.field textarea::placeholder{color:#f5f4ef5c}.field select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(-45deg,transparent 50%,currentColor 50%);background-position:calc(100% - 10px) 50%,calc(100% - 5px) 50%;background-size:5px 5px;background-repeat:no-repeat}.field select:invalid{color:#f5f4ef5c}.field select option{color:var(--ink)}.contact__submit{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:8px}.consent{display:flex;align-items:center;gap:12px;font-size:.9375rem;cursor:pointer}.consent input{width:20px;height:20px;margin:0;accent-color:var(--acid)}.consent a{text-decoration:underline;text-underline-offset:4px}.contact__button{height:64px;padding:0 40px;font-size:1rem}.contact__sent{padding:clamp(32px,4vw,56px);border:1px solid var(--line);font-size:1.0625rem}@media(max-width:760px){.contact__form{grid-template-columns:1fr}.contact__submit{flex-direction:column;align-items:stretch}}.depth-band{overflow:hidden;padding-block:clamp(24px,4vw,64px) clamp(64px,8vw,120px);font:500 clamp(4.5rem,16vw,16rem)/1 var(--font-en);letter-spacing:-.055em;white-space:nowrap}.depth-band p{width:max-content;padding-bottom:.1em}.depth-band__back{font-size:.66em;color:transparent;-webkit-text-stroke:1px rgba(21,23,20,.28)}.depth-band__front{margin-top:-.12em}.faq__list{max-width:64rem;margin-left:auto;border-top:1px solid var(--line)}.faq__item{border-bottom:1px solid var(--line)}.faq__item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:2.5rem minmax(0,1fr) 40px;align-items:center;gap:12px;padding-block:clamp(22px,2.6vw,32px)}.faq__item summary::-webkit-details-marker{display:none}.faq__mark{font:500 1.125rem/1 var(--font-en)}.faq__q{font-size:clamp(1.0625rem,1.35vw,1.1875rem);font-weight:500;line-height:1.7}.faq__icon{position:relative;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;transition:background-color .3s,border-color .3s,transform .4s var(--ease)}.faq__icon:before,.faq__icon:after{content:"";position:absolute;inset:50% 12px auto;height:1.5px;margin-top:-.75px;background:currentColor}.faq__icon:after{transform:rotate(90deg)}.faq__item summary:hover .faq__icon{border-color:var(--ink)}.faq__item[open] .faq__icon{transform:rotate(45deg);background:var(--ink);border-color:var(--ink);color:var(--paper)}.faq__answer{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:12px;padding:0 52px clamp(24px,3vw,36px) 0}.faq__answer .faq__mark{color:var(--muted);padding-top:.35em}.faq__answer p{line-height:2}@media(max-width:640px){.faq__item summary{grid-template-columns:1.75rem minmax(0,1fr) 36px}.faq__icon{width:36px;height:36px}.faq__answer{grid-template-columns:1.75rem minmax(0,1fr);padding-right:0}}.hero{overflow:hidden}.hero__inner{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(56px,8vh,112px);padding-top:calc(var(--header-h) + clamp(48px,10vh,120px));padding-bottom:clamp(40px,7vh,80px)}.hero__stage{position:relative}.hero__title,.hero__echo{font:500 clamp(3.25rem,11.4vw,11.5rem)/.98 var(--font-en);letter-spacing:-.05em}.hero__title{position:relative;z-index:1}.hero__echoes{position:absolute;inset:0;pointer-events:none}.hero__echo{position:absolute;inset:0;transform-origin:110% -100%;color:transparent;-webkit-text-stroke:1px var(--ink);-webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent 52%);mask-image:linear-gradient(to bottom,#000 40%,transparent 52%);will-change:transform,opacity}.hero__echo span{display:block;white-space:nowrap}.hero__echo-end{text-align:right}.hero__line{display:block;overflow:hidden;padding:.02em .04em .16em;margin:-.02em -.04em -.16em;white-space:nowrap}.hero__line--end{text-align:right}.hero__line-inner{display:inline-block}.hero__foot{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:48px}.hero__catch{font-size:clamp(1.375rem,2.3vw,2.125rem);font-weight:500;line-height:1.6;letter-spacing:.04em;font-feature-settings:"palt"}.hero__intro{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(24px,3vw,48px)}.hero__intro p{max-width:30rem;font-size:clamp(1rem,1.2vw,1.0625rem);line-height:2}.hero__cta{flex:none;width:clamp(8.5rem,10vw,10rem);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--acid);font-size:.9375rem;font-weight:500;line-height:1.3;text-align:center;transition:transform .5s var(--ease)}.hero__cta:hover{transform:rotate(-8deg) scale(1.06)}@media(max-width:860px){.hero__title,.hero__echo{font-size:17vw}.hero__echo{-webkit-mask-image:linear-gradient(to bottom,#000 26%,transparent 34%);mask-image:linear-gradient(to bottom,#000 26%,transparent 34%)}.hero__echo span{white-space:normal}.hero__echo-end{text-align:left}.hero__cta{width:9.5rem}.hero__line{white-space:normal}.hero__line--end{text-align:left}.hero__foot{grid-template-columns:1fr;gap:28px}.hero__intro{flex-direction:column;align-items:flex-start}}.process__steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}.step{padding-top:28px;border-top:1px solid var(--ink)}.step__num{display:block;font:500 clamp(3.5rem,6vw,5.5rem)/1 var(--font-en);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px var(--ink)}.step__en{margin-top:clamp(40px,6vw,88px);font:500 clamp(1.375rem,2vw,1.75rem)/1.2 var(--font-en);letter-spacing:-.02em}.step .title-ja{font-size:clamp(1.125rem,1.4vw,1.3125rem)}.step__body{margin-top:20px}.process__note{max-width:44rem;margin:clamp(48px,6vw,80px) 0 0 auto;padding-top:24px;border-top:1px solid var(--line);font-size:.9375rem;color:var(--muted)}@media(max-width:860px){.process__steps{grid-template-columns:1fr;gap:56px}.step__en{margin-top:28px}}.services__list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:4.5rem minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:start;padding-block:clamp(32px,4vw,56px);border-bottom:1px solid var(--line)}.service .num{padding-top:.7em}.service__en{font:500 clamp(1.875rem,3.6vw,3.25rem)/1.1 var(--font-en);letter-spacing:-.035em}.service__ja{margin-top:12px;font-size:1.0625rem;font-weight:500;line-height:1.6}.service__body{padding-top:.5em}@media(max-width:860px){.service{grid-template-columns:2.75rem minmax(0,1fr);gap:16px 12px}.service .num{padding-top:.5em}.service__body{grid-column:2;padding-top:0}}.strengths__list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.strength{display:grid;grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,72px);padding-block:clamp(36px,4.5vw,64px);border-bottom:1px solid var(--line)}.strength .num{padding-top:2px}@media(max-width:860px){.strength{grid-template-columns:2.75rem minmax(0,1fr);gap:16px 12px}.strength .body{grid-column:2}}.team__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,5vw,80px)}.member{padding-top:32px;border-top:1px solid var(--line)}.member__name{font:500 clamp(1.5rem,2.2vw,2rem)/1.3 var(--font-en);letter-spacing:-.02em}.member__role{margin:12px 0 24px;font-size:.9375rem;font-weight:500;line-height:1.7}.member .body{max-width:34rem}@media(max-width:760px){.team__grid{grid-template-columns:1fr}}.work{overflow:hidden}.work__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(72px,8vw,128px) clamp(24px,3vw,48px)}.work-card:nth-child(2n){margin-top:clamp(0px,10vw,160px)}.work-card__media{aspect-ratio:4 / 3;display:flex;align-items:flex-end;justify-content:flex-end;padding:clamp(16px,2vw,28px);overflow:hidden;color:var(--ink)}.work-card__num{font:500 clamp(3rem,6vw,5.5rem)/1 var(--font-en);letter-spacing:-.05em;opacity:.45}.work-card__type{margin-top:24px;font-size:.875rem;color:var(--muted)}.work-card__title{margin-top:6px;font-size:clamp(1.125rem,1.5vw,1.375rem);font-weight:500;line-height:1.6}@media(max-width:760px){.work__grid{grid-template-columns:1fr;gap:64px}.work-card:nth-child(2n){margin-top:0}}:root{--ink: #151714;--paper: #f5f4ef;--soft: #e6e6de;--acid: #d9ff47;--line: rgba(21, 23, 20, .16);--muted: rgba(21, 23, 20, .64);--font-en: "DM Sans", "Noto Sans JP", sans-serif;--font-ja: "Noto Sans JP", sans-serif;--gutter: clamp(20px, 5vw, 72px);--max: 1440px;--header-h: 76px;--section-y: clamp(96px, 12vw, 176px);--ease: cubic-bezier(.2, .8, .2, 1)}@media(max-width:1023px){:root{--header-h: 64px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{overflow-x:clip}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ja);font-size:1rem;line-height:1.9;letter-spacing:.02em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,dl,dd,ul{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}:focus-visible{outline:2px solid currentColor;outline-offset:4px}::selection{background:var(--acid);color:var(--ink)}.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y);scroll-margin-top:var(--header-h)}.section--dark{--line: rgba(245, 244, 239, .2);--muted: rgba(245, 244, 239, .66);background:var(--ink);color:var(--paper)}.section--soft{background:var(--soft)}.label-en{font:500 .9375rem/1.4 var(--font-en);letter-spacing:.01em;color:var(--muted)}.num{font:500 .9375rem/1.4 var(--font-en);font-variant-numeric:tabular-nums;color:var(--muted)}.title-ja{margin-top:8px;font-size:clamp(1.25rem,1.7vw,1.625rem);font-weight:500;line-height:1.6;font-feature-settings:"palt";letter-spacing:.04em}.body{color:var(--muted);line-height:2}.lead{max-width:36rem;margin:0 0 clamp(56px,7vw,96px) auto;font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:2}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:52px;padding:0 28px;border:0;border-radius:999px;background:var(--acid);color:var(--ink);font-weight:500;font-size:.9375rem;transition:transform .4s var(--ease),background-color .3s}.button:hover{transform:translateY(-2px)}.button__arrow{font-family:var(--font-en);transition:transform .4s var(--ease)}.button:hover .button__arrow{transform:translate(2px,-2px)}.button__triangles{width:1.2em;height:1em;flex-shrink:0}.button .button__triangles{margin-left:-7px}.hero__cta .button__triangles{margin-left:-3px}.button:hover .button__triangles,.hero__cta:hover .button__triangles{transform:translate(3px)}html[lang=en]{--font-ja: "DM Sans", "Noto Sans JP", sans-serif}
