:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);touch-action:none;background:var(--swiper-scrollbar-bg-color,#0000001a);position:relative}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%));position:absolute}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%));position:absolute}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);width:100%;height:100%;position:relative;top:0;left:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{opacity:0;z-index:0;margin:0!important}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;height:100%;display:flex;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;margin:0;display:flex}.splide__pagination li{pointer-events:auto;margin:0;line-height:1;list-style-type:none;display:inline-block}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{visibility:hidden;position:relative}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;margin:0;position:relative;list-style-type:none!important}.splide__slide img{vertical-align:bottom}.splide__spinner{contain:strict;border:2px solid #999;border-left-color:#0000;border-radius:50%;width:20px;height:20px;margin:auto;animation:1s linear infinite splide-loading;display:inline-block;position:absolute;inset:0}.splide__sr{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{z-index:0;position:relative;overflow:hidden}:root{--ground:#eeeee8;--paper:#f6f5f0;--ink:#262926;--ink-soft:#4b4f4a;--moss:#66704a;--moss-deep:#4f5838;--gray:#8f928a;--line:#26292629;--line-strong:#2629266b;--deep:#1d201d;--light:#f6f5f0;--decor:#c5c8b8;--f-en:"Jost", "Helvetica Neue", Arial, sans-serif;--f-head:"Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--f-sans:"Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--ease-out:cubic-bezier(.19, 1, .22, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--ease-soft:cubic-bezier(.16, .84, .44, 1);--ease-veil:cubic-bezier(.77, 0, .175, 1);--header-h:76px;--gutter:clamp(20px, 4.4vw, 64px);--container:1240px;--section-y:clamp(88px, 11vw, 168px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--f-sans);letter-spacing:.04em;font-feature-settings:"palt" 0;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:2;overflow-x:clip}img{max-width:100%;height:auto;display:block}figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,p,dl,dd{margin:0}address{font-style:normal}:focus-visible{outline:1.5px solid var(--moss);outline-offset:4px}[hidden]{display:none!important}[id]{scroll-margin-top:calc(var(--header-h) + 8px)}.skip-link{z-index:10001;background:var(--ink);color:var(--light);padding:8px 14px;font-size:13px;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}.container{width:min(100% - var(--gutter) * 2, var(--container));margin-inline:auto}.grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px);display:grid}.section{padding-block:var(--section-y);position:relative}.center{justify-content:center;margin-top:clamp(48px,6vw,88px);display:flex}.label{font-family:var(--f-en);letter-spacing:.22em;text-transform:uppercase;color:var(--moss);align-items:center;gap:14px;font-size:13px;font-weight:400;line-height:1.2;display:flex}.label:before{content:"";background:currentColor;width:24px;height:1px}.catch{flex-direction:column;gap:14px;margin-top:18px;font-weight:400;display:flex}.catch__en{font-family:var(--f-en);letter-spacing:.02em;font-size:clamp(27px,3vw,40px);font-weight:300;line-height:1.3}.catch__ja{font-family:var(--f-head);letter-spacing:.14em;color:var(--ink-soft);font-size:14px;line-height:1.7}.more{font-family:var(--f-en);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:18px;font-size:14px;line-height:1;display:inline-flex}.more i{width:44px;height:1px;transition:transform .8s var(--ease-out);background:currentColor;position:relative;overflow:visible}.more i:after{content:"";border-top:1px solid;border-right:1px solid;width:8px;height:8px;position:absolute;top:-3.5px;right:0;transform:rotate(45deg)}.more:hover i{transform:translate(10px)}.arrow-pill{--s:42px;width:var(--s);border:1px solid;border-radius:20px;flex:none;height:26px;position:relative;overflow:hidden}.arrow-pill:before,.arrow-pill:after{content:"";width:9px;height:9px;transition:transform .45s var(--ease-io);border-top:1px solid;border-right:1px solid;margin:auto;position:absolute;inset:0}.arrow-pill:before{transform:translate(-1px,1px)rotate(0)}.arrow-pill:after{transform:translate(-150%,150%)}a:hover .arrow-pill:before{transform:translate(150%,-150%)}a:hover .arrow-pill:after{transform:translate(-1px,1px)}.roll{vertical-align:top;line-height:1.3;display:inline-flex;position:relative;overflow:hidden}.roll__a,.roll__b{transition:transform .55s var(--ease-out);display:block}.roll__b{position:absolute;inset:0;transform:translateY(105%)}a:hover .roll__a,button:hover .roll__a{transform:translateY(-105%)}a:hover .roll__b,button:hover .roll__b{transform:translateY(0)}.js [data-reveal]:not([data-reveal=veil]){opacity:0;transition:opacity 1.2s var(--ease-soft), transform 1.2s var(--ease-soft);transition-delay:var(--d,0s);transform:translateY(18px)}.js [data-reveal].is-in{opacity:1;transform:none}.veil{position:relative;overflow:hidden}.js .veil[data-reveal=veil]:after{content:"";z-index:1;pointer-events:none;background:var(--veil,var(--ground));transform-origin:50% 100%;transition:transform 1.3s var(--ease-veil);transition-delay:var(--d,0s);position:absolute;inset:0}.js .veil[data-reveal=veil].is-in:after{transform:scaleY(0)}.word{white-space:nowrap;display:inline-block}.char{opacity:0;transition:opacity .9s var(--ease-soft), transform .9s var(--ease-soft);transition-delay:calc(var(--i) * var(--step,45ms) + var(--base,0s));display:inline-block;transform:translateY(.35em)}.is-chars-in .char{opacity:1;transform:none}.deco-line{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.deco-line path{fill:none;stroke:var(--decor);stroke-width:1px;vector-effect:non-scaling-stroke}.js .deco-line path{stroke-dasharray:var(--len,2400);stroke-dashoffset:var(--len,2400);transition:stroke-dashoffset 3.2s var(--ease-io)}.js .deco-line.is-in path{stroke-dashoffset:0}.section>.container,.section>.company__grid{z-index:1;position:relative}.intro{z-index:10000;background:var(--ground);place-items:center;display:none;position:fixed;inset:0}.intro-on .intro{display:grid}.intro__inner{justify-items:center;gap:10px;display:grid}.intro .logo-mark{width:150px;height:auto;stroke:var(--ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.intro__name{font-family:var(--f-en);letter-spacing:.16em;opacity:0;margin-top:12px;font-size:24px;font-weight:300;line-height:1}.intro__ja{font-family:var(--f-head);letter-spacing:.5em;color:var(--ink-soft);opacity:0;padding-left:.5em;font-size:11px}.curtain{z-index:9990;background:var(--ground);opacity:0;pointer-events:none;position:fixed;inset:0}.curtain.is-on{pointer-events:auto}.site-header{z-index:100;height:var(--header-h);color:var(--ink);transition:height .45s var(--ease-soft), color .45s var(--ease-soft);position:fixed;inset:0 0 auto}.site-header:before{content:"";background:var(--ground);border-bottom:1px solid var(--line);transition:transform .45s var(--ease-soft), opacity .45s var(--ease-soft);position:absolute;inset:0}.site-header__inner{justify-content:space-between;align-items:center;height:100%;padding-inline:clamp(20px,3vw,40px);display:flex;position:relative}.brand{align-items:center;gap:12px;display:inline-flex}.logo-mark{stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.brand .logo-mark{width:50px;height:auto;transition:width .45s var(--ease-soft)}.brand__name{font-family:var(--f-en);letter-spacing:.1em;font-size:19px;font-weight:400;line-height:1}.gnav__list{align-items:center;gap:clamp(18px,2.2vw,34px);display:flex}.gnav__link{font-family:var(--f-en);letter-spacing:.08em;align-items:center;gap:6px;font-size:14px;display:inline-flex}.gnav__trigger:after{content:"+";font-family:var(--f-sans);transition:transform .3s var(--ease-soft);font-size:13px}.gnav__item--sub.is-open .gnav__trigger:after{transform:rotate(45deg)}.gnav__item--sub{position:relative}.gnav__sub{-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);min-width:210px;color:var(--ink);opacity:0;visibility:hidden;transition:opacity .35s var(--ease-soft), transform .35s var(--ease-soft), visibility 0s .35s;background:#f6f5f0d1;padding:14px 20px;display:grid;position:absolute;top:calc(100% + 16px);left:-20px;transform:translateY(-6px)}.gnav__sub a{letter-spacing:.08em;padding:5px 0;font-size:13px}.gnav__sub a:hover{color:var(--moss)}.gnav__item--sub.is-open .gnav__sub{opacity:1;visibility:visible;transition-delay:0s;transform:none}.gnav__cta{font-family:var(--f-en);letter-spacing:.08em;background:var(--ink);color:var(--light);transition:background .4s var(--ease-soft), color .4s var(--ease-soft);border-radius:30px;padding:11px 22px;font-size:14px;line-height:1}.gnav__cta:hover{background:var(--moss)}.menu-btn{font-family:var(--f-en);letter-spacing:.1em;background:var(--ink);color:var(--light);border-radius:30px;padding:11px 20px;font-size:13px;line-height:1;display:none}.site-header.is-over-hero{--header-h:104px;color:var(--light)}.site-header.is-over-hero:before{opacity:0;transform:translateY(-100%)}.site-header.is-over-hero .brand .logo-mark{width:64px}.site-header.is-over-hero .gnav__cta{-webkit-backdrop-filter:blur(6px);background:#f6f5f029;border:1px solid #f6f5f080}.site-header.is-over-hero .gnav__cta:hover{background:var(--light);color:var(--ink)}.site-header.is-over-hero .menu-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f6f5f029;border:1px solid #f6f5f080}.drawer{z-index:1000;visibility:hidden;position:fixed;inset:0}.drawer.is-open{visibility:visible}.drawer__bg{background:var(--paper);transition:transform .9s var(--ease-out);position:absolute;inset:0;transform:translateY(100%)}.drawer.is-open .drawer__bg{transform:none}.drawer.is-closing .drawer__bg{transition-duration:.6s;transition-timing-function:var(--ease-io);transform:translateY(-100%)}.drawer__body{align-content:start;gap:40px;height:100%;padding:96px clamp(24px,6vw,48px) 48px;display:grid;position:relative;overflow-y:auto}.menu-btn--close{display:inline-block;position:absolute;top:20px;right:clamp(20px,3vw,40px)}.drawer__nav>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;display:grid}.drawer__nav>ul>li>a{font-family:var(--f-en);letter-spacing:.04em;font-size:23px;font-weight:300;line-height:1.2}.drawer__sub{gap:4px;margin-top:8px;display:grid}.drawer__sub a{color:var(--gray);letter-spacing:.06em;font-size:12.5px}.drawer__sub a:before{content:"— "}.drawer__contact{border-top:1px solid var(--line-strong);gap:6px;padding-top:28px;display:grid}.drawer__contact-en{font-family:var(--f-en);font-size:34px;font-weight:300;line-height:1}.drawer__contact-ja{color:var(--ink-soft);font-size:13px}[data-drawer-item]{opacity:0;transform:translateY(20px)}.stalker{z-index:10002;background:var(--ink);pointer-events:none;opacity:0;width:10px;height:10px;transition:width .35s var(--ease-soft), height .35s var(--ease-soft), margin .35s var(--ease-soft), background-color .35s, opacity .3s;will-change:transform;border-radius:50%;margin:-5px 0 0 -5px;position:fixed;top:0;left:0}.stalker.is-visible{opacity:1}.stalker.is-hover{-webkit-backdrop-filter:blur(3px);background:#f6f5f059;border:1px solid #26292640;width:46px;height:46px;margin:-23px 0 0 -23px}@media (hover:none),(width<=1023.98px){.stalker{display:none}}.hero{background:var(--deep);height:100svh;min-height:560px;color:var(--light);position:relative;overflow:hidden}.hero__slider,.hero .swiper-wrapper{height:100%}.hero__slide{overflow:hidden}.hero__figure{position:absolute;inset:0 -90px}.hero__figure img{object-fit:cover;width:100%;height:100%}.hero__figure:after{content:"";background:linear-gradient(#14161459 0%,#14161400 30% 55%,#14161473 100%);position:absolute;inset:0}.hero__slide.swiper-slide-active .hero__figure{animation:8.5s linear forwards hero-pan}@keyframes hero-pan{0%{transform:translate(-60px)scale(1.04)}to{transform:translate(30px)scale(1)}}.hero__copy{z-index:2;position:absolute;bottom:clamp(88px,14vh,150px);left:clamp(20px,8vw,128px);right:20px}.hero__title{gap:18px;font-weight:400;display:grid}.hero__en{font-family:var(--f-en);letter-spacing:.01em;text-shadow:0 1px 24px #14161440;max-width:9.4em;font-size:clamp(30px,4.2vw,60px);font-weight:400;line-height:1.2}.hero__ja{font-family:var(--f-head);letter-spacing:.4em;font-size:clamp(14px,1.2vw,16px)}.hero__scroll{z-index:2;font-family:var(--f-en);letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;justify-items:center;gap:10px;font-size:11px;display:grid;position:absolute;bottom:0;right:clamp(20px,3vw,40px)}.hero__scroll:after{content:"";background:linear-gradient(var(--light) 50%, transparent 50%) 0 0 / 1px 200%;width:1px;height:72px;animation:scroll-line 2.2s var(--ease-io) infinite}@keyframes scroll-line{0%{background-position:0 100%}to{background-position:0 -100%}}.hero__count{z-index:2;font-family:var(--f-en);letter-spacing:.14em;font-variant-numeric:tabular-nums;font-size:13px;position:absolute;bottom:36px;left:clamp(20px,8vw,128px)}.concept__head{grid-area:1/1/auto/span 6}.concept__img--a{aspect-ratio:3/4;grid-area:1/9/span 2/span 4;align-self:start}.concept__img--b{aspect-ratio:3/2;grid-area:3/1/auto/span 6;margin-top:clamp(40px,6vw,96px)}.concept__body{grid-area:3/8/auto/span 5;align-self:end;gap:22px;font-size:14.5px;display:grid}.concept__body .more{justify-self:start;margin-top:12px}.concept__img img,.company__large img,.company__small img{object-fit:cover;width:100%;height:100%}.principles__body{margin-top:clamp(48px,6vw,96px)}.principles__visual{grid-column:1/span 4}.principles__sticky{top:calc(var(--header-h) + 32px);aspect-ratio:3/4;position:sticky;overflow:hidden}.principles__sticky img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1s var(--ease-soft), transform 1.6s var(--ease-soft);position:absolute;inset:0;transform:scale(1.06)}.principles__sticky img.is-active{opacity:1;transform:none}.principles__list{counter-reset:p;grid-column:6/span 7}.principle{counter-increment:p;border-top:1px solid var(--line-strong);opacity:.32;transition:opacity .6s var(--ease-soft);gap:18px;padding:36px 0 56px;display:grid}.principle:last-child{border-bottom:1px solid var(--line-strong)}.principle.is-active{opacity:1}.principle:before{content:"0" counter(p);font-family:var(--f-en);color:var(--moss);letter-spacing:.14em;font-size:13px}.principle__img{display:none}.principle__title{font-family:var(--f-head);letter-spacing:.08em;font-size:clamp(20px,2vw,26px);font-weight:500;line-height:1.55}.principle__text{max-width:34em;font-size:14.5px}.principle__spec{flex-wrap:wrap;gap:8px 32px;font-size:13px;display:flex}.principle__spec div{gap:12px;display:flex}.principle__spec dt{color:var(--gray)}.principle__spec dd{font-variant-numeric:tabular-nums}.service{padding-bottom:calc(var(--section-y) * .8)}.brand-block{margin-top:clamp(56px,7vw,104px);padding-block:22vh;position:relative}.brand-block+.brand-block{margin-top:0}.brand-block__bg{position:absolute;inset:0}.brand-block__bg:before{content:"";background:var(--bg) center / cover no-repeat;height:100svh;display:block;position:sticky;top:0}.brand-block__card{width:min(100% - var(--gutter) * 2, 600px);background:var(--paper);text-align:left;--veil:var(--paper);gap:22px;margin-inline:auto;padding:clamp(40px,6vw,88px) clamp(28px,5vw,72px);display:grid;position:relative}.brand-block__no{font-family:var(--f-en);color:var(--moss);letter-spacing:.14em;font-size:13px}.brand-block__name{font-family:var(--f-en);letter-spacing:.24em;font-size:clamp(34px,3.8vw,50px);font-weight:300;line-height:1}.brand-block__catch{font-family:var(--f-head);letter-spacing:.12em;font-size:clamp(16px,1.5vw,19px);font-weight:500;line-height:1.7}.brand-block__card figure{aspect-ratio:3/2}.brand-block__card figure img{object-fit:cover;width:100%;height:100%}.brand-block__text{font-size:14.5px}.brand-block__meta{color:var(--ink-soft);border-top:1px solid var(--line);font-variant-numeric:tabular-nums;padding-top:14px;font-size:12.5px}.tiles{justify-content:center;margin-top:clamp(72px,9vw,128px);display:flex}.tile{aspect-ratio:17/23;flex:0 360px}.tile:nth-child(2){z-index:1;margin:48px -14px 0}.tile__link{height:100%;color:var(--light);padding:26px 24px;display:block;position:relative;overflow:hidden}.tile__bg{z-index:-1;position:absolute;inset:0}.tile__bg:before{content:"";background:var(--bg) center / cover no-repeat;transition:transform 1.4s var(--ease-out);position:absolute;inset:0}.tile__bg:after{content:"";background:linear-gradient(#14161480,#14161400 40%,#14161459);position:absolute;inset:0}.tile__link:hover .tile__bg:before{transform:scale(1.04)}.tile__en{font-family:var(--f-en);letter-spacing:.06em;font-size:20px;font-weight:300;line-height:1.2;display:block}.tile__ja{letter-spacing:.1em;margin-top:6px;font-size:13px;display:block}.tile__no{font-family:var(--f-en);letter-spacing:.14em;font-size:12px;position:absolute;top:30px;right:24px}.tile__arrow{width:36px;height:1px;transition:transform .8s var(--ease-out);background:currentColor;position:absolute;bottom:26px;right:24px}.tile__arrow:after{content:"";border-top:1px solid;border-right:1px solid;width:8px;height:8px;position:absolute;top:-3.5px;right:0;transform:rotate(45deg)}.tile__link:hover .tile__arrow{transform:translate(6px)}.works__head{grid-template-columns:1fr auto;align-items:end;gap:24px 40px;display:grid}.works__head .label{grid-column:1/-1;justify-content:center}.works__lead{text-align:center;font-family:var(--f-head);letter-spacing:.12em;grid-column:1/-1;font-size:clamp(16px,1.5vw,20px);font-weight:500;line-height:2}.works__en{text-align:right;font-family:var(--f-en);letter-spacing:.06em;color:var(--ink-soft);grid-column:2;font-size:16px;font-weight:300;line-height:1.6}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:64px clamp(20px,3vw,44px);margin-top:clamp(48px,5vw,72px);display:grid}.card{gap:12px;display:grid}.card__img{aspect-ratio:1;background:var(--decor);overflow:hidden}.card__img--tall{aspect-ratio:3/4}.card__img img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease-out)}.card:hover .card__img img{transform:scale(1.045)}.card__row{color:var(--gray);border-bottom:1px solid var(--line);letter-spacing:.08em;justify-content:space-between;margin-top:6px;padding-bottom:10px;font-size:12px;display:flex}.card__title{font-family:var(--f-head);letter-spacing:.08em;font-size:15.5px;font-weight:500;line-height:1.65}.card time{font-family:var(--f-en);color:var(--gray);letter-spacing:.12em;margin-top:4px;font-size:12.5px}.card__cat{color:var(--moss);letter-spacing:.1em;margin-top:6px;font-size:12px}.card__meta{color:var(--ink-soft);border-top:1px solid var(--line);gap:2px;padding-top:10px;font-size:12.5px;display:grid}.card__meta div{gap:12px;display:flex}.card__meta dt{color:var(--gray);min-width:2.5em}.card-grid__item{transition:opacity .5s var(--ease-soft), transform .5s var(--ease-soft)}.card-grid__item.is-hidden{display:none}.company__grid{padding-left:max(var(--gutter), (100% - var(--container)) / 2);grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);display:grid}.company__main{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:40px clamp(24px,3vw,48px);display:grid}.company__main .section-head{grid-column:1/-1}.company__small{aspect-ratio:3/4;max-width:280px}.company__data{align-self:end;font-size:13.5px}.company__data div{border-top:1px solid var(--line);grid-template-columns:6em 1fr;gap:12px;padding:12px 0;display:grid}.company__data div:last-child{border-bottom:1px solid var(--line)}.company__data dt{color:var(--gray)}.company__large{aspect-ratio:4/5;min-height:100%}.divider{height:clamp(360px,52vw,760px);position:relative;overflow:hidden}.divider img{object-fit:cover;will-change:transform;width:100%;height:124%;position:absolute;top:-12%;left:0}.split{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;display:grid}.split__head{align-content:start;gap:10px;display:grid}.split__sub{color:var(--ink-soft);letter-spacing:.1em;padding-left:42px;font-size:13px}.news{padding-bottom:calc(var(--section-y) * .5)}.news__list li{border-top:1px solid var(--line-strong)}.news__list li:last-child{border-bottom:1px solid var(--line-strong)}.news__item{grid-template-columns:7.5em 1fr auto;align-items:center;gap:24px;padding:30px 0;display:grid}.news__item time{font-family:var(--f-en);color:var(--gray);letter-spacing:.12em;font-size:13px}.news__title{font-size:14.5px;transition:color .3s}.news__item:hover .news__title{color:var(--moss)}.events{padding-block:calc(var(--section-y) * .5)}.card-slider{width:100%;overflow:hidden}.card-slider[data-scrollbar]{padding-bottom:42px}.card-slider .swiper-slide{height:auto}.card-slider .swiper-scrollbar.swiper-scrollbar-horizontal{background:var(--line);border-radius:0;width:100%;height:2px;position:absolute;inset:auto 0 0}.card-slider .swiper-scrollbar-drag{background:var(--ink);border-radius:0}.cta{border-top:1px solid var(--line-strong)}.cta__link{grid-template-columns:auto auto;justify-content:center;align-items:start;column-gap:20px;padding-block:clamp(80px,10vw,140px);display:grid}.cta__label{font-family:var(--f-en);letter-spacing:.22em;text-transform:uppercase;grid-column:1/-1;font-size:13px}.cta__title{font-family:var(--f-en);letter-spacing:.02em;margin-top:14px;font-size:clamp(44px,7.6vw,108px);font-weight:300;line-height:1}.cta .arrow-pill{margin-top:22px}.cta__note{color:var(--gray);grid-column:1/-1;margin-top:14px;font-size:13px}.cta__link:hover .cta__title{color:var(--moss-deep)}.cta__title{transition:color .5s var(--ease-soft)}.site-footer{min-height:calc(100svh - var(--header-h));display:grid;position:relative}.site-footer__strip{position:absolute;inset:0}.site-footer__strip .splide__track,.site-footer__strip .splide__list{height:100%}.site-footer__strip .splide__slide img{object-fit:cover;width:100%;height:100%}.site-footer__card{z-index:1;background:var(--paper);grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr auto;align-self:stretch;gap:28px 20px;width:min(460px,100%);margin:0 0 0 clamp(20px,5vw,64px);padding:48px 44px 36px;display:grid;position:relative}.site-footer__brand{grid-column:1;align-items:center;gap:12px;display:inline-flex}.site-footer__brand .logo-mark{width:54px}.site-footer__address{color:var(--ink-soft);grid-column:1;font-size:12.5px;line-height:1.9}.site-footer__nav{font-family:var(--f-en);letter-spacing:.08em;grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;font-size:14px;line-height:2.2;display:grid}.site-footer__note{color:var(--gray);grid-column:1;align-self:end;font-size:11.5px;line-height:1.7}.site-footer__copy{writing-mode:vertical-rl;font-family:var(--f-en);color:var(--gray);letter-spacing:.16em;grid-area:1/2/-1;align-self:end;font-size:11px}.floating{z-index:90;background:var(--paper);letter-spacing:.04em;max-width:calc(100% - 40px);transition:transform .6s var(--ease-soft), opacity .6s var(--ease-soft);align-items:center;gap:12px;padding:12px 18px 12px 12px;font-size:12.5px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 30px #1416141f}.floating__tag{font-family:var(--f-en);letter-spacing:.14em;text-transform:uppercase;background:var(--moss);color:var(--light);white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:10.5px}.floating:hover .floating__text{color:var(--moss)}.floating.is-hidden{opacity:0;pointer-events:none;transform:translate(calc(100% + 30px))}.page-hero{height:clamp(440px,72svh,760px);color:var(--light);background:var(--deep);position:relative;overflow:hidden}.page-hero__img{position:absolute;inset:0}.page-hero__img img{object-fit:cover;width:100%;height:100%}.page-hero__img:after{content:"";background:linear-gradient(#14161459,#14161400 35%,#14161473);position:absolute;inset:0}.page-hero__copy{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;display:flex;position:absolute;bottom:clamp(40px,7vw,80px);left:clamp(20px,8vw,128px);right:20px}.page-hero__title,.lower-head__title{gap:8px;font-weight:400;display:grid}.page-hero__en,.lower-head__en{font-family:var(--f-en);letter-spacing:.03em;font-size:clamp(48px,7.6vw,104px);font-weight:300;line-height:1}.page-hero__ja,.lower-head__ja{font-family:var(--f-head);letter-spacing:.3em;font-size:14px}.page-hero__note{font-family:var(--f-en);letter-spacing:.06em;font-size:15px;font-weight:300}.lower-head{padding-top:calc(var(--header-h) + clamp(56px, 8vw, 120px));gap:28px;display:grid}.lower-head__lead{max-width:36em;color:var(--ink-soft);font-size:14.5px}.breadcrumb{color:var(--gray);padding-top:28px;font-size:12px}.breadcrumb ol{gap:10px;display:flex}.breadcrumb li+li:before{content:"/";margin-right:10px}.breadcrumb a:hover{color:var(--ink)}.works-page__list{padding-top:clamp(48px,6vw,80px)}.filter{flex-wrap:wrap;gap:10px;display:flex}.filter__btn{letter-spacing:.08em;border:1px solid var(--line-strong);border-radius:30px;padding:7px 18px;font-size:13px;transition:background .3s,color .3s,border-color .3s}.filter__btn:hover{border-color:var(--ink)}.filter__btn.is-active{background:var(--ink);color:var(--light);border-color:var(--ink)}.feature-work{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);display:grid}.feature-work__img{aspect-ratio:1}.feature-work__img img{object-fit:cover;width:100%;height:100%}.feature-work__body{align-content:start;gap:22px;font-size:14.5px;display:grid}.feature-work__title{font-family:var(--f-head);letter-spacing:.12em;font-size:24px;font-weight:500}.feature-work__spec{font-size:13px}.feature-work__spec div{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:6em 1fr;gap:12px;padding:10px 0;display:grid}.feature-work__spec dt{color:var(--gray)}.contact-page__body{padding-top:clamp(48px,6vw,72px)}.contact-grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:32px clamp(32px,6vw,96px);display:grid}.steps{letter-spacing:.1em;color:var(--gray);grid-column:1/-1;gap:0;font-size:13px;display:flex}.steps li{align-items:center;gap:12px;display:flex}.steps li+li:before{content:"";background:var(--line-strong);width:48px;height:1px;margin:0 14px 0 2px}.steps li.is-current{color:var(--ink)}.form{display:grid}.form__view{gap:30px;display:grid}.field{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.field--half{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.field--half>div{gap:10px;display:grid}.field__label{letter-spacing:.08em;padding:0;font-size:14px}.req{color:var(--light);background:var(--moss);vertical-align:1px;border-radius:2px;margin-left:8px;padding:1px 8px;font-size:11px}.input{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0;padding:12px 14px;font-size:15px;line-height:1.7;transition:border-color .3s,background .3s}.input::placeholder{color:#aeb0a8}.input:focus{border-color:var(--moss);background:#fff;outline:none}textarea.input{resize:vertical}.choices{flex-wrap:wrap;gap:10px;display:flex}.choice input,.agree input{opacity:0;width:1px;height:1px;position:absolute}.choice span{border:1px solid var(--line-strong);cursor:pointer;border-radius:30px;padding:9px 18px;font-size:13.5px;transition:background .3s,color .3s,border-color .3s;display:inline-block}.choice input:checked+span{background:var(--ink);color:var(--light);border-color:var(--ink)}.choice input:focus-visible+span,.agree input:focus-visible+span:before{outline:1.5px solid var(--moss);outline-offset:3px}.agree{cursor:pointer;align-items:center;gap:12px;font-size:14px;display:inline-flex;position:relative}.agree span:before{content:"";border:1px solid var(--line-strong);background:var(--paper);vertical-align:-4px;width:18px;height:18px;margin-right:12px;transition:background .2s;display:inline-block}.agree input:checked+span:before{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23f6f5f0' stroke-width='1.6'/%3E%3C/svg%3E") center / 14px no-repeat}.field__error{color:#9b3b2a;font-size:12.5px;display:none}.has-error .field__error,.field__error.is-shown{display:block}.has-error .input{border-color:#9b3b2a}.button{background:var(--ink);min-width:260px;color:var(--light);letter-spacing:.12em;transition:background .4s var(--ease-soft);justify-content:center;justify-self:start;align-items:center;padding:18px 32px;font-size:14.5px;display:inline-flex}.button:hover{background:var(--moss-deep)}.button--ghost{color:var(--ink);border:1px solid var(--line-strong);background:0 0}.button--ghost:hover{background:var(--paper)}.form__actions{flex-wrap:wrap;gap:16px;display:flex}.confirm div{border-top:1px solid var(--line);grid-template-columns:9em 1fr;gap:16px;padding:16px 0;font-size:14.5px;display:grid}.confirm div:last-child{border-bottom:1px solid var(--line)}.confirm dt{color:var(--gray)}.confirm dd{white-space:pre-wrap;word-break:break-word}.form__done{gap:20px}.form__done-en{font-family:var(--f-en);letter-spacing:.02em;font-size:44px;font-weight:300;line-height:1}.contact-aside{align-content:start;gap:18px;display:grid}.contact-aside figure{aspect-ratio:3/4}.contact-aside figure img{object-fit:cover;width:100%;height:100%}.contact-aside__tel{font-family:var(--f-en);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:300;line-height:1.3}.contact-aside__tel span{font-family:var(--f-sans);color:var(--gray);letter-spacing:.08em;font-size:12.5px;display:block}.contact-aside__hours{color:var(--ink-soft);font-size:12.5px}@media (width<=1023.98px){:root{--header-h:64px}.gnav{display:none}.menu-btn{display:inline-block}.site-header.is-over-hero{--header-h:76px}.site-header.is-over-hero .brand .logo-mark{width:52px}.brand .logo-mark{width:42px}.brand__name{font-size:17px}.concept__head{grid-column:1/-1}.concept__img--a{grid-area:2/5/auto/-1;margin-top:40px}.concept__img--b{grid-area:3/1/auto/span 9}.concept__body{grid-area:4/1/auto/-1;margin-top:40px}.principles__visual{display:none}.principles__list{grid-column:1/-1}.principle{opacity:1}.principle__img{aspect-ratio:2;object-fit:cover;order:-1;width:100%;display:block}.company__grid{padding-inline:var(--gutter);grid-template-columns:1fr}.company__large{aspect-ratio:3/2}.split{grid-template-columns:1fr;gap:28px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 20px}.site-footer{grid-template-rows:420px auto;min-height:auto}.site-footer__strip{grid-row:1;position:relative;inset:auto}.site-footer__card{grid-row:2;width:100%;margin:0}.contact-grid{grid-template-columns:1fr}.contact-aside{grid-template-columns:160px 1fr;align-items:end}.contact-aside figure{grid-row:span 2}.feature-work{grid-template-columns:1fr}}@media (width<=767.98px){body{font-size:14.5px}.tiles{flex-direction:column;align-items:center;gap:16px}.tile{aspect-ratio:16/10;flex:none;width:100%}.tile:nth-child(2){margin:0}.works__head{grid-template-columns:1fr}.works__head .label{justify-content:flex-start}.works__lead{text-align:left}.works__en{text-align:left;grid-column:1}.company__main{grid-template-columns:1fr}.news__item{grid-template-columns:1fr auto;gap:6px 16px;padding:22px 0}.news__item time{grid-column:1/-1}.field--half{grid-template-columns:1fr}.brand-block{padding-block:14vh}.hero__copy{bottom:110px;right:20px}.floating{padding:8px 14px 8px 8px;bottom:12px;right:12px}.floating__text{font-size:11.5px}.floating__long{display:none}.cta__title{font-size:40px}.site-footer__card{padding:40px 24px 32px}}@media (width<=575.98px){.card-grid{grid-template-columns:1fr}.drawer__nav>ul>li>a{font-size:20px}.contact-aside{grid-template-columns:1fr}.cta__link{padding-inline:var(--gutter);justify-content:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-delay:0s!important}.js [data-reveal],.char{opacity:1!important;transform:none!important}.js .veil[data-reveal=veil]:after{display:none}}
