*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0}@keyframes wf-scroll-dot{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}@media(prefers-reduced-motion: reduce){.c-hero__scroll-dot,.c-case-hero__scroll-dot{animation:none !important}.c-works__img,.c-gallery__img,.c-print__img,.c-device__img,.c-cursor{transition:none !important}.c-works__item:hover .c-works__img,.c-gallery__frame:hover .c-gallery__img,.c-print__frame:hover .c-print__img{transform:none !important}}body{background:#fbfaf7;color:#1a1917;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}a{color:#1a1917;text-decoration:none}a:hover{color:#b0613a}::selection{background:#ede7de}body.is-fv .c-header,body.is-fv .c-rail,body.is-fv .l-edge,body.is-fv .l-frame{opacity:0;pointer-events:none}.c-header,.c-rail,.l-edge,.l-frame{transition:opacity .5s ease}.l-base{position:fixed;inset:0;z-index:0;background-color:#fbfaf7}.l-blackout{position:fixed;inset:0;z-index:1;opacity:0;pointer-events:none;background-color:#14130f}.l-content{position:relative;z-index:2}.l-frame{position:fixed;inset:0;z-index:5;pointer-events:none;--frame-ink: rgba(26, 25, 23, .24);--frame-tick: rgba(26, 25, 23, .15);transition:none}.l-frame__rule{position:absolute;left:0;right:0;height:6px;background-image:repeating-linear-gradient(90deg, var(--frame-tick) 0 1px, transparent 1px 16px),repeating-linear-gradient(90deg, var(--frame-ink) 0 1px, transparent 1px 96px);background-size:100% 3px,100% 6px;background-repeat:no-repeat}.l-frame__rule--top{top:0}.l-frame__rule--bottom{bottom:0;transform:scaleY(-1)}.l-frame__corner{position:absolute;width:22px;height:22px}.l-frame__corner::before,.l-frame__corner::after{content:"";position:absolute;background:var(--frame-ink)}.l-frame__corner::before{left:0;top:0;width:100%;height:1px}.l-frame__corner::after{left:0;top:0;width:1px;height:100%}.l-frame__corner--tl{top:26px;left:max(20px,4vw)}.l-frame__corner--tr{top:26px;right:max(20px,4vw);transform:scaleX(-1)}.l-frame__corner--bl{bottom:26px;left:max(20px,4vw);transform:scaleY(-1)}.l-frame__corner--br{bottom:26px;right:max(20px,4vw);transform:scale(-1)}.l-edge{position:fixed;top:0;bottom:0;width:1px;background:rgba(26,25,23,.07);z-index:5;pointer-events:none}.l-edge--left{left:max(20px,4vw)}.l-edge--right{right:max(20px,4vw)}.c-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px max(20px,4vw) 0;pointer-events:none}.c-header__brand{display:flex;align-items:baseline;gap:12px;padding-left:18px;color:#1a1917}.c-header__brand-ja{font-size:clamp(12px,2vw,18px);font-weight:500;letter-spacing:.06em}.c-header__brand-en{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.14em;color:#8c8880}.c-header__region{padding-right:18px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#8c8880}.c-rail{position:fixed;right:max(20px,4vw);top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:14px;padding-right:18px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.14em;color:#8c8880}.c-rail__item{display:flex;align-items:center;gap:8px;color:#a9a49b}.c-rail__tick{display:block;width:8px;height:1px;background:currentColor;transition:width .4s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-cursor{position:fixed;top:0;left:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#b0613a;z-index:90;pointer-events:none;opacity:0;display:flex;align-items:center;justify-content:center;transition:width .3s cubic-bezier(0.2, 0.7, 0.2, 1),height .3s cubic-bezier(0.2, 0.7, 0.2, 1),margin .3s cubic-bezier(0.2, 0.7, 0.2, 1),background .3s ease}.c-cursor__label{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.12em;color:#fbfaf7;opacity:0;transition:opacity .2s ease;white-space:nowrap}.c-coord{position:absolute;inset:0;pointer-events:none;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:rgba(26,25,23,.22)}.c-coord__block{position:absolute;line-height:2}.c-coord__block--top{top:clamp(40px,7vh,90px);right:max(20px,4vw);padding-right:18px;text-align:right}.c-coord__block--bottom{bottom:clamp(40px,7vh,90px);left:max(20px,4vw);padding-left:18px}.c-section{position:relative;overflow:hidden}.c-section__inner{position:relative;max-width:1440px;margin:0 auto;padding:0 clamp(0px,4vw,60px)}.c-section__eyebrow{display:block;margin-bottom:clamp(40px,6.5vh,84px);padding-bottom:clamp(16px,2.2vh,26px);border-bottom:1px solid rgba(26,25,23,.12);opacity:0;transform:translateY(14px)}.c-section__eyebrow-num{display:flex;align-items:center;gap:14px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#b0613a}.c-section__eyebrow-num::after{content:"";flex:1 1 auto;height:1px;background:rgba(26,25,23,.08)}.c-section__eyebrow-label{display:block;margin:clamp(10px,1.6vh,20px) 0 0;font-family:"IBM Plex Mono",monospace;font-size:clamp(38px,7.2vw,92px);font-weight:500;line-height:.92;letter-spacing:-0.035em;color:#1a1917}.c-rule{display:block;width:100%;height:2px;overflow:visible}.c-rule--hero{margin:clamp(28px,5vh,56px) 0 clamp(24px,4vh,40px)}.c-rule__path{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}.c-fv{position:relative;min-height:100svh;display:grid;grid-template-columns:clamp(230px,23vw,360px) 1fr;grid-template-rows:1fr auto}.c-fv__side{display:flex;flex-direction:column;border-right:1px solid rgba(26,25,23,.12);padding:clamp(26px,4vh,44px) clamp(18px,2vw,32px) clamp(24px,3vh,36px)}.c-fv__brand{display:flex;align-items:center;gap:13px;opacity:0;transform:translateY(10px)}.c-fv__brand-mark{flex:0 0 auto;width:clamp(30px,2.6vw,40px);color:#1a1917}.c-fv__brand-mark svg{display:block;width:100%;height:auto}.c-fv__brand-name{display:flex;flex-direction:column;gap:3px}.c-fv__brand-ja{font-size:clamp(12px,2vw,18px);font-weight:500;letter-spacing:.04em}.c-fv__brand-en{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#8c8880}.c-fv__nav{display:flex;flex-direction:column;margin-top:auto;padding-top:clamp(28px,5vh,56px)}.c-fv__nav-item{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid rgba(26,25,23,.08);font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.12em;color:#1a1917;transition:color .3s ease,padding-left .4s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-fv__nav-item:last-of-type{border-bottom:1px solid rgba(26,25,23,.08)}.c-fv__nav-item:hover{color:#b0613a;padding-left:8px}.c-fv__nav-num{color:#a9a49b;font-size:clamp(11px,1.34vw,12px);letter-spacing:.1em}.c-fv__est{margin:clamp(16px,2.4vh,26px) 0 0;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.14em;color:#a9a49b;opacity:0;transform:translateY(8px)}.c-fv__stage{position:relative;overflow:hidden;background-color:rgba(26,25,23,.03);opacity:0;transform:translateY(0)}.c-fv__parallax{position:absolute;inset:-18% 0;will-change:transform}.c-fv__parallax.is-photo{background-position:center;background-size:cover;background-repeat:no-repeat}.c-fv__plate{display:flex;flex-direction:column;justify-content:center;gap:clamp(4px,1vh,12px);height:100%;padding:clamp(24px,4.5vw,72px) clamp(24px,4.5vw,72px) 18%;background:linear-gradient(150deg, rgba(26, 25, 23, 0.055), rgba(26, 25, 23, 0) 62%)}.c-fv__plate-item{font-family:"IBM Plex Mono",monospace;font-size:clamp(18px,2.9vw,46px);line-height:1.2;letter-spacing:-0.01em;color:rgba(26,25,23,.12)}.c-fv__plate-item:first-child{color:rgba(26,25,23,.26)}.c-fv__band{grid-column:1/-1;border-top:1px solid rgba(26,25,23,.12);border-bottom:1px solid rgba(26,25,23,.12);padding:clamp(28px,5vh,56px) max(20px,4vw) clamp(24px,4vh,40px)}.c-fv__title{margin:0;font-weight:500;font-size:clamp(30px,5vw,86px);line-height:1.16;letter-spacing:-0.025em}.c-fv__title-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}.c-fv__title-line{display:block;opacity:0;transform:translateY(40px)}.c-fv__band-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(20px,3vw,48px);margin-top:clamp(24px,4vh,44px)}.c-fv__lead{margin:0;max-width:30em;font-size:clamp(12px,2vw,18px);line-height:1.95;color:#4a4741;opacity:0;transform:translateY(12px)}.c-fv__cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;flex:0 0 auto;min-width:clamp(170px,18vw,220px);padding:15px 20px;border:1px solid #1a1917;font-size:clamp(12px,2vw,18px);font-weight:500;opacity:0;transform:translateY(12px);transition:background-color .4s ease,color .4s ease}.c-fv__cta:hover{background:#1a1917;color:#fbfaf7}.c-fv__cta-arrow{font-family:"IBM Plex Mono",monospace;transition:transform .4s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-fv__cta:hover .c-fv__cta-arrow{transform:translateX(6px)}.c-fv__address{flex:0 0 auto;font-style:normal;text-align:right;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.1em;color:#8c8880;line-height:1.9;opacity:0;transform:translateY(12px)}.c-fv__scroll{position:absolute;left:clamp(18px,2vw,32px);bottom:clamp(12px,2vh,20px);display:flex;align-items:center;gap:10px;opacity:0;pointer-events:none}.c-fv__scroll-label{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.3em;color:#8c8880}.c-fv__scroll-track{position:relative;display:block;width:36px;height:1px;background:rgba(26,25,23,.14);overflow:hidden}.c-fv__scroll-dot{position:absolute;inset:0;background:#b0613a;animation:wf-scroll-dot 2.4s cubic-bezier(0.6, 0, 0.4, 1) infinite}@media(max-width: 899px){.c-fv{grid-template-columns:1fr;grid-template-rows:auto;min-height:auto}.c-fv__side{display:contents}.c-fv__brand{order:1;padding:clamp(24px,4vh,36px) max(20px,4vw) clamp(20px,3vh,28px)}.c-fv__nav{order:4;padding:0 max(20px,4vw);border-top:1px solid rgba(26,25,23,.12);padding-top:clamp(20px,3vh,32px)}.c-fv__est{order:5;padding:0 max(20px,4vw) clamp(28px,5vh,44px)}.c-fv__stage{order:3;aspect-ratio:3/2}.c-fv__band{order:2;grid-column:auto;border-top:none;padding:clamp(20px,4vh,36px) max(20px,4vw) clamp(28px,5vh,44px)}.c-fv__band-foot{flex-direction:column;align-items:flex-start;gap:22px}.c-fv__address{text-align:left}.c-fv__cta{width:100%}.c-fv__scroll{display:none}}@media(max-width: 599px){.c-fv__plate-item{font-size:clamp(17px,6.4vw,30px)}}.c-service{padding:clamp(90px,13vh,170px) max(20px,4vw)}.c-service__inner{display:grid;grid-template-columns:clamp(280px,32%,440px) 1fr;gap:clamp(32px,6vw,96px);align-items:center;max-width:1440px;margin:0 auto}.c-service__side{display:flex;flex-direction:column;align-items:flex-start}.c-service__heading{margin:0;display:flex;flex-direction:column;gap:clamp(8px,1.2vh,14px);width:100%;padding-bottom:clamp(14px,2vh,24px);border-bottom:1px solid rgba(26,25,23,.12)}.c-service__heading-num{display:flex;align-items:center;gap:14px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#b0613a}.c-service__heading-num::after{content:"";flex:1 1 auto;height:1px;background:rgba(26,25,23,.08)}.c-service__heading-en{font-family:"IBM Plex Mono",monospace;font-size:clamp(38px,5.6vw,82px);font-weight:500;line-height:.92;letter-spacing:-0.035em;color:#1a1917}.c-service__heading-ja{font-size:clamp(12px,2vw,18px);font-weight:500;color:#1a1917}.c-service__intro{margin:clamp(20px,3vh,32px) 0 0;font-size:clamp(12px,2vw,18px);line-height:2;color:#4a4741}.c-service__control{display:flex;align-items:center;gap:clamp(14px,2vw,26px);margin-top:clamp(28px,5vh,52px)}.c-service__arrow{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid rgba(26,25,23,.12);background:none;color:#1a1917;font-family:"IBM Plex Mono",monospace;font-size:clamp(12px,2vw,18px);cursor:pointer;transition:background-color .35s ease,color .35s ease,border-color .35s ease}.c-service__arrow:hover{background:#1a1917;border-color:#1a1917;color:#fbfaf7}.c-service__arrow:focus-visible{outline:2px solid #b0613a;outline-offset:2px}.c-service__counter{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px}.c-service__gauge{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.c-service__gauge-arc{stroke:#b0613a}.c-service__counter-text{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.1em;color:#1a1917;display:flex;align-items:baseline;gap:2px}.c-service__counter-sep{color:#a9a49b;margin:0 1px}.c-service__tabs{display:flex;flex-direction:column;width:100%;margin-top:clamp(24px,4vh,40px)}.c-service__tab{position:relative;display:flex;align-items:baseline;gap:12px;width:100%;padding:11px 0;border:none;border-top:1px solid rgba(26,25,23,.08);background:none;text-align:left;cursor:pointer;color:#8c8880;transition:color .3s ease,padding-left .4s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-service__tab:last-child{border-bottom:1px solid rgba(26,25,23,.08)}.c-service__tab:hover{color:#1a1917;padding-left:6px}.c-service__tab:focus-visible{outline:2px solid #b0613a;outline-offset:2px}.c-service__tab.is-active{color:#1a1917}.c-service__tab-no{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.14em;color:#a9a49b;transition:color .3s ease}.c-service__tab.is-active .c-service__tab-no{color:#b0613a}.c-service__tab-label{flex:1 1 auto;font-size:clamp(12px,2vw,18px);font-weight:400;line-height:1.5}.c-service__tab.is-active .c-service__tab-label{font-weight:500}.c-service__tab-mark{flex:0 0 auto;align-self:center;display:block;width:22px;height:1px;background:#b0613a;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-service__tab.is-active .c-service__tab-mark{transform:scaleX(1)}.c-service__cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:clamp(190px,22vw,250px);margin-top:clamp(28px,5vh,52px);padding:16px 22px;border:1px solid #1a1917;font-size:clamp(12px,2vw,18px);font-weight:500;transition:background-color .4s ease,color .4s ease}.c-service__cta:hover{background:#1a1917;color:#fbfaf7}.c-service__cta-arrow{font-family:"IBM Plex Mono",monospace;transition:transform .4s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-service__cta:hover .c-service__cta-arrow{transform:translateX(6px)}.c-service__stage{position:relative;min-width:0}.c-service__stack{position:relative}.c-service__stack::before,.c-service__stack::after{content:"";position:absolute;inset:0;border:1px solid rgba(26,25,23,.08);background:#fbfaf7;z-index:-1}.c-service__stack::before{transform:translate(10px, 10px)}.c-service__stack::after{transform:translate(20px, 20px);border-color:rgba(26,25,23,.05)}.c-service__card{grid-area:1/1;display:flex;flex-direction:column;padding:clamp(28px,3.6vw,56px);border:1px solid rgba(26,25,23,.12);background:#fbfaf7;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .45s ease,transform .45s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-service__card.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none}.c-service__card-head{display:flex;align-items:center;gap:14px}.c-service__card-tag{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#a9a49b}.c-service__card-no{font-family:"IBM Plex Mono",monospace;font-size:clamp(30px,3.4vw,48px);line-height:1;letter-spacing:-0.02em}.c-service__card-rule{display:block;width:22px;height:1px;background:rgba(26,25,23,.12)}.c-service__card-label{font-size:clamp(12px,2vw,18px);font-weight:500;color:#1a1917}.c-service__card-en{display:block;margin:clamp(28px,5vh,56px) 0 clamp(20px,3.5vh,40px);font-family:"IBM Plex Mono",monospace;font-size:clamp(30px,4.6vw,68px);line-height:1;letter-spacing:-0.03em;color:rgba(26,25,23,.13);word-break:break-word}.c-service__card-title{margin:0;font-size:clamp(20px,2.4vw,34px);font-weight:500;line-height:1.55;letter-spacing:-0.01em;color:#1a1917}.c-service__card-body{margin:clamp(16px,2.4vh,26px) 0 0;max-width:34em;font-size:clamp(12px,2vw,18px);line-height:2;color:#6e6b64}.c-service__stack{display:grid}@media(max-width: 899px){.c-service__inner{grid-template-columns:1fr;gap:clamp(28px,5vh,44px);align-items:stretch}.c-service__side{display:contents}.c-service__heading,.c-service__intro{order:1}.c-service__stage{order:2}.c-service__control{order:3;margin-top:0}.c-service__tabs{order:4;margin-top:0}.c-service__cta{order:5;width:100%;margin-top:0}.c-service__stack::before{transform:translate(6px, 6px)}.c-service__stack::after{transform:translate(12px, 12px)}}@media(max-width: 599px){.c-service__card-en{font-size:clamp(24px,9vw,42px)}}.c-works{padding:clamp(110px,16vh,200px) max(20px,4vw)}.c-works__grid{display:grid;grid-template-columns:repeat(12, 1fr);grid-auto-rows:clamp(6px,.75vw,11px);grid-auto-flow:row dense;column-gap:clamp(16px,2.2vw,36px);row-gap:0}.c-works__item{display:flex;flex-direction:column;padding-bottom:clamp(16px,2.2vw,36px);grid-column:span 4;grid-row:span 32;opacity:0;transform:translateY(22px)}.c-works__item--l{grid-column:span 6;grid-row:span 44}.c-works__item--s{grid-column:span 3;grid-row:span 26}.c-works__thumb{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:rgba(26,25,23,.04);border:1px solid rgba(26,25,23,.08)}.c-works__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-works__item:hover .c-works__img{transform:scale(1.04)}.c-works__placeholder{display:block;width:100%;height:100%;background-image:repeating-linear-gradient(-45deg, rgba(26, 25, 23, 0.05) 0, rgba(26, 25, 23, 0.05) 1px, transparent 1px, transparent 12px)}.c-works__num{position:absolute;top:12px;left:14px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#a9a49b;mix-blend-mode:multiply}.c-works__meta{display:flex;gap:14px;margin-top:14px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#a9a49b}.c-works__cat{color:#8c8880}.c-works__title{margin:6px 0 0;font-size:clamp(12px,2vw,18px);font-weight:500;line-height:1.6;color:#1a1917}.c-works__title-text{background-image:linear-gradient(currentColor, currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .5s cubic-bezier(0.2, 0.7, 0.2, 1)}a.c-works__item:hover .c-works__title-text{background-size:100% 1px}.c-works__arrow{display:inline-block;margin-left:.5em;font-family:"IBM Plex Mono",monospace;color:#b0613a;opacity:0;transform:translateX(-4px);transition:opacity .4s ease,transform .4s cubic-bezier(0.2, 0.7, 0.2, 1)}a.c-works__item:hover .c-works__arrow{opacity:1;transform:translateX(0)}@media(max-width: 899px){.c-works__grid{grid-template-columns:repeat(6, 1fr);grid-auto-rows:clamp(6px,1.4vw,10px)}.c-works__item{grid-column:span 3;grid-row:span 30}.c-works__item--l{grid-column:span 6;grid-row:span 44}.c-works__item--s{grid-column:span 3;grid-row:span 27}}@media(max-width: 599px){.c-works__grid{grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto}.c-works__item{grid-column:span 1;grid-row:auto}.c-works__item--l{grid-column:span 2;grid-row:auto}.c-works__item--s{grid-column:span 1;grid-row:auto}.c-works__thumb{flex:0 0 auto;aspect-ratio:4/3}.c-works__item--l .c-works__thumb{aspect-ratio:16/10}}.c-strength{padding:clamp(110px,16vh,200px) max(20px,4vw)}.c-strength__statement{position:relative;max-width:1000px;margin:0 auto;padding:clamp(34px,7vh,78px) clamp(28px,8vw,132px)}.c-strength__body{text-align:center;font-size:clamp(15px,2.5vw,30px);font-weight:500;line-height:2.4;letter-spacing:.1em;color:#2e2c28}.c-strength__body p{margin:0;text-indent:.1em;opacity:0;transform:translateY(16px)}.c-strength__mark{position:absolute;display:block;pointer-events:none}.c-strength__mark--dot-a{top:5%;left:7%;width:9px;height:9px;border-radius:50%;background:#b0613a}.c-strength__mark--ring{top:9%;left:2%;width:28px;height:28px;border-radius:50%;border:1px solid rgba(26,25,23,.26)}.c-strength__mark--dot-b{top:63%;right:5%;width:12px;height:12px;border-radius:50%;background:rgba(26,25,23,.2)}.c-strength__mark--slash-a,.c-strength__mark--slash-b,.c-strength__mark--slash-c{height:1px;transform:rotate(-48deg)}.c-strength__mark--slash-a{top:13%;right:7%;width:clamp(40px,5vw,68px);background:#b0613a}.c-strength__mark--slash-b{top:23%;right:2%;width:clamp(52px,6.4vw,92px);background:rgba(26,25,23,.28)}.c-strength__mark--slash-c{bottom:22%;left:4%;width:clamp(44px,5.4vw,76px);background:rgba(26,25,23,.2)}.c-strength__plates{display:grid;grid-template-columns:repeat(14, 1fr);column-gap:clamp(12px,1.9vw,30px);align-items:start;margin-top:clamp(56px,9vh,120px)}.c-strength__plate{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(16px,1.9vw,30px);border:1px solid rgba(26,25,23,.12);background:#f5f4f0}.c-strength__plate--design{grid-column:1/span 3;margin-top:clamp(10px,2vh,30px);aspect-ratio:4/5}.c-strength__plate--system{grid-column:4/span 4;margin-top:clamp(44px,8vh,116px);aspect-ratio:1/1}.c-strength__plate--solution{grid-column:9/span 6;aspect-ratio:5/4;border-color:rgba(176,97,58,.3);background:rgba(176,97,58,.05);opacity:0}.c-strength__plate-index{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.18em;color:#a9a49b}.c-strength__plate-cross{opacity:0;color:#b0613a}.c-strength__plate-en{display:block;font-family:"IBM Plex Mono",monospace;font-weight:500;line-height:1;letter-spacing:-0.03em;color:#1a1917}.c-strength__plate--design .c-strength__plate-en{font-size:clamp(19px,2.1vw,30px)}.c-strength__plate--system .c-strength__plate-en{font-size:clamp(21px,2.5vw,36px)}.c-strength__plate--solution .c-strength__plate-en{font-size:clamp(25px,3.6vw,56px);color:#b0613a}.c-strength__plate-ja{margin:clamp(8px,1.2vh,14px) 0 0;font-size:clamp(12px,2vw,18px);line-height:1.7;color:#6e6b64}@media(max-width: 899px){.c-strength__plates{grid-template-columns:repeat(6, 1fr);row-gap:clamp(18px,3.6vw,32px)}.c-strength__plate--design{grid-column:1/span 3;margin-top:0;aspect-ratio:4/5}.c-strength__plate--system{grid-column:4/span 3;margin-top:clamp(26px,5vw,56px);aspect-ratio:4/5}.c-strength__plate--solution{grid-column:1/span 6;margin-top:0;aspect-ratio:16/9}}@media(max-width: 599px){.c-strength__plates{grid-template-columns:1fr}.c-strength__plate{aspect-ratio:auto;min-height:164px}.c-strength__plate--design,.c-strength__plate--system,.c-strength__plate--solution{grid-column:1/-1;margin-top:0}.c-strength__statement{padding:clamp(22px,4vh,36px) 8px}.c-strength__body{font-size:clamp(14px,4vw,18px);letter-spacing:.04em;line-height:2.15}.c-strength__body p{text-indent:.04em}.c-strength__mark--ring,.c-strength__mark--dot-b,.c-strength__mark--slash-b,.c-strength__mark--slash-c{display:none}.c-strength__mark--dot-a{top:0;left:4px}.c-strength__mark--slash-a{top:2px;right:6px}}.c-process-section{padding:clamp(110px,16vh,200px) max(20px,4vw)}.c-process{position:relative}.c-process__track{position:absolute;left:calc(clamp(150px, 20vw, 240px)/2);top:0;bottom:0;width:3px;margin-left:-1.5px;background-image:radial-gradient(circle, rgba(26, 25, 23, 0.26) 1.4px, transparent 1.5px);background-size:3px 11px;background-repeat:repeat-y;z-index:0}.c-process__fill{position:absolute;left:calc(clamp(150px, 20vw, 240px)/2);top:0;bottom:0;width:3px;margin-left:-1.5px;background:#b0613a;transform:scaleY(0);transform-origin:top;z-index:0}.c-process__list{position:relative;margin:0;padding:0;list-style:none;z-index:1}.c-process__step{display:grid;grid-template-columns:clamp(150px, 20vw, 240px) 1fr;grid-template-rows:auto auto auto;column-gap:clamp(24px,5vw,80px);padding-bottom:clamp(28px,5vh,64px);opacity:.3;transition:opacity .5s ease}.c-process__label{grid-column:1;grid-row:1;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#8c8880}.c-process__num{grid-column:1;grid-row:2;margin-bottom:-0.2em;font-family:"IBM Plex Mono",monospace;font-size:clamp(40px,5.4vw,74px);font-weight:500;line-height:1;letter-spacing:-0.04em;color:#1a1917;position:relative;z-index:2}.c-process__plate{grid-column:1;grid-row:3;align-self:start;display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;background:#f5f4f0;position:relative;z-index:1}.c-process__glyph{width:52%;height:auto;color:rgba(26,25,23,.42);fill:none;stroke:currentColor;stroke-width:1}.c-process__glyph>*{vector-effect:non-scaling-stroke}.c-process__glyph-accent{stroke:#b0613a}.c-process__glyph-accent--fill{fill:#b0613a;stroke:none}.c-process__body{grid-column:2;grid-row:3;align-self:start;padding-top:clamp(6px,2.2vw,30px)}.c-process__title{margin:0;font-size:clamp(20px,2.4vw,32px);font-weight:500;line-height:1.5}.c-process__desc{margin:clamp(10px,1.6vh,18px) 0 0;max-width:40em;font-size:clamp(12px,2vw,18px);line-height:1.95;color:#6e6b64}@media(max-width: 599px){.c-process__track,.c-process__fill{display:none}.c-process__step{grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;row-gap:clamp(12px,3vw,20px);column-gap:14px;padding:clamp(26px,5vw,40px) 0}.c-process__step:not(:first-child){border-top:1px solid rgba(26,25,23,.08)}.c-process__label{grid-column:1;grid-row:1;align-self:center}.c-process__num{grid-column:2;grid-row:1;justify-self:start;margin:0;font-size:clamp(30px,9vw,44px)}.c-process__plate{grid-column:1/-1;grid-row:2;aspect-ratio:5/2}.c-process__glyph{width:auto;height:58%}.c-process__body{grid-column:1/-1;grid-row:3;padding-top:0}}.c-company{padding:clamp(110px,16vh,200px) max(20px,4vw) clamp(140px,20vh,240px)}.c-company__heading{margin:0 0 clamp(48px,8vh,96px);font-weight:500;font-size:clamp(32px,5.6vw,82px);line-height:1.35;letter-spacing:-0.01em;opacity:0;transform:translateY(20px)}.c-company__grid{display:flex;flex-wrap:wrap;gap:clamp(40px,7vw,120px)}.c-company__text{flex:1 1 380px;max-width:640px;font-size:clamp(12px,2vw,18px);line-height:2.1;color:#4a4741;opacity:0;transform:translateY(16px)}.c-company__text p{margin:0 0 1.6em}.c-company__text p:last-child{margin-bottom:0}.c-company__table{flex:1 1 320px;margin:0;font-size:clamp(12px,2vw,18px);line-height:1.9;opacity:0;transform:translateY(16px)}.c-company__row{display:flex;gap:24px;padding:18px 0;border-top:1px solid rgba(26,25,23,.12)}.c-company__row--last{border-bottom:1px solid rgba(26,25,23,.12)}.c-company__term{flex:0 0 6.5em;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.14em;color:#8c8880;padding-top:.45em}.c-company__desc{margin:0}.c-contact{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(110px,16vh,190px) max(20px,4vw) 0;overflow:hidden}.c-contact__eyebrow{display:block;margin-bottom:clamp(30px,5vh,56px);padding-bottom:clamp(14px,2vh,22px);border-bottom:1px solid rgba(251,250,247,.14);opacity:0}.c-contact__eyebrow-num{display:flex;align-items:center;gap:14px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#c97a4e}.c-contact__eyebrow-num::after{content:"";flex:1 1 auto;height:1px;background:rgba(251,250,247,.12)}.c-contact__eyebrow-label{display:block;margin-top:clamp(8px,1.2vh,14px);font-family:"IBM Plex Mono",monospace;font-size:clamp(30px,4.6vw,60px);font-weight:500;line-height:.95;letter-spacing:-0.03em;color:#fbfaf7}.c-contact__title{margin:0 0 clamp(32px,5vh,56px);font-weight:500;font-size:clamp(34px,6.4vw,96px);line-height:1.28;letter-spacing:-0.01em;color:#fbfaf7}.c-contact__title-mask{display:block;overflow:hidden;padding-bottom:.06em}.c-contact__title-line{display:block;opacity:0;transform:translateY(30px)}.c-contact__lead{margin:0 0 clamp(48px,8vh,88px);max-width:34em;font-size:clamp(12px,2vw,19px);line-height:2.05;color:rgba(251,250,247,.66);opacity:0}.c-contact__actions{display:flex;flex-wrap:wrap;gap:14px}.c-contact__btn{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:220px;padding:22px 26px;border:1px solid rgba(251,250,247,.28);color:#fbfaf7;font-size:clamp(12px,2vw,18px);font-weight:500;opacity:0;transition:background-color .4s ease,color .4s ease,border-color .4s ease}.c-contact__btn:hover{background-color:#fbfaf7;color:#14130f;border-color:#fbfaf7}.c-contact__btn--wide{min-width:260px}.c-contact__btn-arrow{font-family:"IBM Plex Mono",monospace;transition:transform .4s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-contact__footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:clamp(80px,14vh,150px);padding:26px 0 34px;border-top:1px solid rgba(251,250,247,.14);font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:rgba(251,250,247,.4);opacity:0}.c-case{position:relative;padding:clamp(120px,18vh,240px) max(20px,4vw);overflow:hidden}.c-case__inner{position:relative;max-width:1440px;margin:0 auto;padding:0 clamp(0px,4vw,60px);max-width:1240px}.c-case__eyebrow{display:block;margin-bottom:clamp(30px,5vh,60px);padding-bottom:clamp(12px,1.8vh,20px);border-bottom:1px solid rgba(26,25,23,.12);opacity:0;transform:translateY(14px)}.c-case__eyebrow-num{display:flex;align-items:center;gap:14px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#b0613a}.c-case__eyebrow-num::after{content:"";flex:1 1 auto;height:1px;background:rgba(26,25,23,.08)}.c-case__eyebrow-label{display:block;margin-top:clamp(7px,1.1vh,12px);font-family:"IBM Plex Mono",monospace;font-size:clamp(26px,3.6vw,46px);font-weight:500;line-height:.95;letter-spacing:-0.03em;color:#1a1917}.c-case__heading{margin:0;max-width:20em;font-weight:500;font-size:clamp(38px,5.4vw,88px);line-height:1.4;letter-spacing:-0.015em}.c-case__heading-line{display:block;opacity:0;transform:translateY(25px)}.c-case__heading--quote{position:relative;padding-left:clamp(20px,3vw,44px);border-left:1px solid rgba(26,25,23,.12);color:#1a1917}.c-case__intro{margin:0 0 clamp(28px,5vh,56px);font-size:clamp(12px,2vw,19px);line-height:2.05;color:#6e6b64;opacity:0;transform:translateY(16px)}.c-case__lead{margin:clamp(40px,6vh,72px) 0 0;max-width:34em;font-size:clamp(12px,2vw,21px);line-height:2.1;color:#4a4741;opacity:0;transform:translateY(16px)}.c-case__body{margin:clamp(24px,3vh,36px) 0 0;max-width:34em;font-size:clamp(12px,2vw,18px);line-height:2.1;color:#6e6b64;opacity:0;transform:translateY(16px)}.c-case__quote-by{margin:clamp(24px,4vh,40px) 0 0;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#a9a49b;opacity:0;transform:translateY(16px)}.c-header--nav{padding-top:18px;padding-bottom:18px;pointer-events:auto;transition:background-color .5s ease,backdrop-filter .5s ease}.c-header--nav[data-scrolled]{background:rgba(251,250,247,.82);backdrop-filter:blur(10px)}.c-header--nav .c-header__brand{padding-left:18px;flex-direction:column;align-items:flex-start;gap:4px}.c-header--nav .c-header__brand-ja{font-family:"IBM Plex Mono",monospace;font-size:clamp(12px,2vw,18px);letter-spacing:.16em}.c-header--nav .c-header__brand-en{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-size:clamp(11px,1.34vw,12px);letter-spacing:.08em}.c-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);padding-right:18px}.c-nav__item{position:relative;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#1a1917;padding-bottom:4px}.c-nav__item::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .45s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-nav__item:hover::after{transform:scaleX(1)}.c-nav__cta{display:inline-flex;align-items:center;gap:14px;padding:13px 20px;background:#1a1917;color:#fbfaf7;font-size:clamp(12px,2vw,18px);font-weight:500;transition:background-color .4s ease}.c-nav__cta:hover{background:#b0613a;color:#fbfaf7}.c-nav__cta-arrow{font-family:"IBM Plex Mono",monospace;transition:transform .4s cubic-bezier(0.2, 0.7, 0.2, 1)}@media(max-width: 899px){.c-nav__item{display:none}.c-nav__cta{padding:11px 16px;font-size:clamp(12px,2vw,18px)}}.c-crumb{display:flex;align-items:center;gap:10px;margin-bottom:clamp(40px,8vh,96px);font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.18em;color:#a9a49b;opacity:0;transform:translateY(12px)}.c-crumb__link:hover{color:#b0613a}.c-crumb__current{color:#1a1917}.c-progress{position:fixed;right:max(20px,4vw);top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:12px;padding-right:18px;pointer-events:none;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.14em;color:#a9a49b}.c-progress__num{color:#b0613a}.c-progress__track{position:relative;display:block;width:1px;height:clamp(80px,16vh,160px);background:rgba(26,25,23,.12)}.c-progress__fill{position:absolute;inset:0;background:#b0613a;transform:scaleY(0);transform-origin:top}.c-progress__label{writing-mode:vertical-rl;letter-spacing:.22em}.c-case-data{margin:0;max-width:900px}.c-case-data__row{display:flex;flex-wrap:wrap;gap:clamp(12px,4vw,56px);padding:clamp(20px,2.6vh,30px) 0;border-top:1px solid rgba(26,25,23,.12);opacity:0;transform:translateY(20px)}.c-case-data__row:last-child{border-bottom:1px solid rgba(26,25,23,.12)}.c-case-data__term{flex:0 0 auto;width:9em;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#8c8880;padding-top:.35em}.c-case-data__desc{flex:1 1 260px;margin:0;font-size:clamp(12px,2vw,18px);line-height:1.9;color:#1a1917}.c-case-data__link{display:inline-flex;align-items:baseline;gap:8px;border-bottom:1px solid rgba(26,25,23,.12);padding-bottom:2px}.c-case-data__link:hover{color:#b0613a;border-bottom-color:currentColor}.c-case-data__arrow{font-family:"IBM Plex Mono",monospace;font-size:clamp(12px,2vw,18px)}.c-case-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(120px,18vh,200px) max(20px,4vw) clamp(90px,14vh,150px);overflow:hidden}.c-case-hero__inner{position:relative;max-width:1440px;margin:0 auto;padding:0 clamp(0px,4vw,60px);width:100%;max-width:1440px}.c-case-hero__grid{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,5vw,80px)}.c-case-hero__head{flex:1 1 340px;min-width:300px;max-width:520px}.c-case-hero__num{display:flex;align-items:baseline;gap:16px;margin-bottom:clamp(20px,3vh,32px);opacity:0;transform:translateY(12px)}.c-case-hero__num-value{font-family:"IBM Plex Mono",monospace;font-size:clamp(40px,5vw,72px);font-weight:400;line-height:1;letter-spacing:-0.02em;color:#1a1917}.c-case-hero__num-cat{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#b0613a}.c-case-hero__title{margin:0;font-weight:500}.c-case-hero__mask{display:block;overflow:hidden;padding-bottom:.08em}.c-case-hero__client{display:block;font-size:clamp(34px,3.6vw,52px);line-height:1.35;letter-spacing:-0.01em;opacity:0;transform:translateY(30px)}.c-case-hero__name{display:block;margin-top:.2em;font-size:clamp(12px,2vw,20px);font-weight:400;line-height:1.7;color:#6e6b64;opacity:0;transform:translateY(30px)}.c-case-hero__meta{display:flex;flex-wrap:wrap;gap:10px 24px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#8c8880;opacity:0;transform:translateY(12px)}.c-case-hero__scope{margin-top:10px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.14em;color:#a9a49b;opacity:0;transform:translateY(12px)}.c-case-hero__stage{position:relative;flex:1 1 520px;min-width:300px;padding-bottom:clamp(40px,6vw,80px);padding-right:clamp(30px,5vw,70px)}.c-case-hero__stage .c-device--pc{width:100%}.c-case-hero__stage .c-device--sp{position:absolute;right:0;bottom:0;width:clamp(88px,22%,150px)}.c-case-hero__stage--single{padding-bottom:0;padding-right:0}.c-case-hero__stage--single .c-device--flat{width:100%}.c-case-hero__copy{margin:clamp(48px,8vh,96px) 0 0;font-size:clamp(24px,2.8vw,40px);font-weight:500;line-height:1.7;letter-spacing:-0.01em;opacity:0;transform:translateY(20px)}.c-case-hero__copy-line{display:block}.c-case-hero__scroll{position:absolute;left:max(20px,4vw);bottom:34px;padding-left:18px;display:flex;align-items:center;gap:12px;opacity:0}.c-case-hero__scroll-label{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.3em;color:#8c8880;writing-mode:vertical-rl}.c-case-hero__scroll-track{position:relative;display:block;width:1px;height:56px;background:rgba(26,25,23,.12);overflow:hidden}.c-case-hero__scroll-dot{position:absolute;inset:0;background:#b0613a;animation:wf-scroll-dot 2.4s cubic-bezier(0.6, 0, 0.4, 1) infinite}.c-rule--case{max-width:420px;margin:clamp(28px,4vh,44px) 0 clamp(24px,3vh,32px);opacity:0;transform:translateY(0);opacity:1}@media(max-width: 899px){.c-case-hero{min-height:auto}.c-case-hero__grid{display:block}.c-case-hero__head{max-width:none;margin-bottom:clamp(40px,7vh,72px)}.c-case-hero__stage{padding:0}.c-case-hero__stage .c-device--sp{position:static;width:clamp(120px,42%,200px);margin:-14% 0 0 auto}.c-case-hero__scroll{display:none}}.c-device{margin:0}.c-device__screen{position:relative;overflow:hidden;background:rgba(26,25,23,.03);border:1px solid rgba(26,25,23,.12);box-shadow:0 24px 60px rgba(26,25,23,.07)}.c-device__img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.c-device__empty{display:block;width:100%;height:100%;background-image:repeating-linear-gradient(-45deg, rgba(26, 25, 23, 0.05) 0, rgba(26, 25, 23, 0.05) 1px, transparent 1px, transparent 12px)}.c-device__label{margin-top:14px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.18em;color:#a9a49b}.c-device--pc .c-device__screen{aspect-ratio:16/10}.c-device--pc .c-device__screen::before{content:"";position:absolute;top:0;left:0;right:0;height:26px;background:rgba(26,25,23,.035);border-bottom:1px solid rgba(26,25,23,.08);z-index:1;pointer-events:none}.c-device--pc .c-device__img,.c-device--pc .c-device__empty{padding-top:26px;box-sizing:border-box}.c-device--flat .c-device__screen{aspect-ratio:16/10;box-shadow:0 20px 50px rgba(26,25,23,.08)}.c-device--flat .c-device__img{object-position:center}.c-device--sp .c-device__screen{aspect-ratio:9/19.5;border-radius:14px;box-shadow:0 18px 40px rgba(26,25,23,.1)}.c-device[data-device-depth]{opacity:0}.c-device[data-device-depth=pc]{transform:scale(0.96)}.c-device[data-device-depth=sp]{transform:scale(0.94) translateY(30px)}.c-showcase{position:relative;max-width:1240px;margin:clamp(64px,10vh,130px) auto 0;padding:0 clamp(0px,4vw,60px) clamp(24px,3vw,52px)}.c-showcase__pc{width:calc(100% - clamp(60px,9%,120px));opacity:0}.c-showcase__sp{position:absolute;right:clamp(0px,4vw,60px);bottom:0;z-index:1;width:clamp(110px,17%,210px);opacity:0}@media(max-width: 899px){.c-showcase{padding-bottom:0}.c-showcase__pc{width:100%}.c-showcase__sp{position:static;width:clamp(140px,46%,220px);margin:clamp(-70px,-8vw,-30px) 0 0 auto}}.c-listen{margin:clamp(56px,9vh,110px) 0 0;padding:0;list-style:none}.c-listen__item{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:clamp(10px,3vw,48px);padding:clamp(28px,4.2vh,48px) 0;border-top:1px solid rgba(26,25,23,.12);opacity:0;transform:translateY(16px)}.c-listen__item:last-child{border-bottom:1px solid rgba(26,25,23,.12)}.c-listen__mark{position:absolute;left:-18px;top:calc(clamp(28px,4.2vh,48px) + .8em);width:6px;height:1px;background:#b0613a}.c-listen__q{flex:0 0 auto;width:15em;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.12em;color:#8c8880;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;letter-spacing:.02em;font-size:clamp(12px,2vw,18px)}.c-listen__a{flex:1 1 260px;min-width:240px;margin:0;font-size:clamp(18px,1.7vw,24px);font-weight:500;line-height:1.7}.c-listen__body{flex:1 1 320px;min-width:260px;margin:0;font-size:clamp(12px,2vw,18px);line-height:2;color:#6e6b64}.c-think{position:relative;margin:clamp(56px,9vh,110px) 0 0;padding-left:clamp(28px,5vw,64px);list-style:none}.c-think__track,.c-think__fill{position:absolute;left:0;top:6px;bottom:6px;width:1px}.c-think__track{background:rgba(26,25,23,.12)}.c-think__fill{background:#b0613a;transform:scaleY(0);transform-origin:top}.c-think__step{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:clamp(10px,3vw,44px);padding:clamp(26px,4vh,46px) 0;opacity:.32;transition:opacity .5s ease}.c-think__step:not(:first-child){border-top:1px solid rgba(26,25,23,.08)}.c-think__dot{position:absolute;left:clamp(-28px,-5vw,-64px);top:calc(clamp(26px,4vh,46px) + .7em);width:5px;height:5px;margin-left:-2px;border-radius:50%;background:#b0613a}.c-think__num{flex:0 0 auto;width:3.2em;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#8c8880}.c-think__label{flex:0 0 auto;width:5em;font-size:clamp(12px,2vw,18px);font-weight:500;color:#b0613a}.c-think__title{flex:1 1 240px;min-width:220px;margin:0;font-size:clamp(19px,2vw,28px);font-weight:500;line-height:1.6}.c-think__body{flex:1 1 300px;min-width:260px;margin:0;font-size:clamp(12px,2vw,18px);line-height:2;color:#6e6b64}.c-develop{margin:clamp(56px,9vh,110px) 0 0;padding:0;list-style:none}.c-develop__item{display:flex;flex-wrap:wrap;align-items:baseline;gap:clamp(10px,3vw,48px);padding:clamp(24px,3.6vh,40px) 0;border-top:1px solid rgba(26,25,23,.12);opacity:0;transform:translateY(16px)}.c-develop__item:last-child{border-bottom:1px solid rgba(26,25,23,.12)}.c-develop__label{flex:0 0 auto;width:10em;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.18em;color:#a9a49b}.c-develop__title{flex:0 1 260px;min-width:200px;margin:0;font-size:clamp(12px,2vw,21px);font-weight:500;line-height:1.6}.c-develop__body{flex:1 1 300px;min-width:260px;margin:0;font-size:clamp(12px,2vw,18px);line-height:2;color:#6e6b64}.c-screen{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(32px,5vw,80px);max-width:1240px;margin:clamp(64px,10vh,120px) auto 0;padding:0 clamp(0px,4vw,60px)}.c-screen__text{flex:0 1 280px;min-width:240px;position:sticky;top:140px}.c-screen__label{display:block;margin-bottom:14px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#b0613a}.c-screen__title{margin:0 0 14px;font-size:clamp(20px,2vw,28px);font-weight:500;line-height:1.6}.c-screen__body{margin:0;font-size:clamp(12px,2vw,18px);line-height:2;color:#6e6b64}.c-screen__ui{position:relative;flex:1 1 420px;min-width:280px;aspect-ratio:16/10;background:rgba(26,25,23,.03);border:1px solid rgba(26,25,23,.12);overflow:hidden}.c-screen__ui-header,.c-screen__ui-side,.c-screen__ui-body{position:absolute;opacity:0;transform:translateY(8px)}.c-screen__ui-header{top:0;left:0;right:0;height:34px;background:rgba(26,25,23,.05);border-bottom:1px solid rgba(26,25,23,.08)}.c-screen__ui-side{top:34px;left:0;bottom:0;width:19%;background:rgba(26,25,23,.035);border-right:1px solid rgba(26,25,23,.08)}.c-screen__ui-body{top:34px;left:19%;right:0;bottom:0;overflow:hidden}.c-screen__img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}@media(max-width: 899px){.c-screen__text{position:static}}.c-process-steps{margin:clamp(56px,9vh,110px) 0 0;padding:0;list-style:none}.c-process-steps__item{display:grid;grid-template-columns:5em 1fr;gap:clamp(16px,3vw,40px) clamp(16px,3vw,44px);padding:clamp(40px,6vh,80px) 0;border-top:1px solid rgba(26,25,23,.12);opacity:0;transform:translateY(16px)}.c-process-steps__num{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#8c8880}.c-process-steps__label{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#b0613a;grid-column:2}.c-process-steps__visual{grid-column:2;aspect-ratio:16/9;background:rgba(26,25,23,.03);border:1px solid rgba(26,25,23,.12);overflow:hidden}.c-process-steps__img{display:block;width:100%;height:100%;object-fit:contain}.c-process-steps__empty{display:block;width:100%;height:100%;background-image:repeating-linear-gradient(-45deg, rgba(26, 25, 23, 0.05) 0, rgba(26, 25, 23, 0.05) 1px, transparent 1px, transparent 12px)}.c-process-steps__title{grid-column:2;margin:0;font-size:clamp(19px,1.8vw,26px);font-weight:500;line-height:1.6}.c-process-steps__body{grid-column:2;margin:0;max-width:34em;font-size:clamp(12px,2vw,18px);line-height:2;color:#6e6b64}@media(max-width: 599px){.c-process-steps__item{grid-template-columns:1fr}.c-process-steps__label,.c-process-steps__visual,.c-process-steps__title,.c-process-steps__body{grid-column:1}}.c-print{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,64px);margin-top:clamp(56px,9vh,110px)}.c-print__item{flex:1 1 320px;min-width:260px;margin:0;opacity:0;transform:translateY(16px)}.c-print__frame{aspect-ratio:91/55;background:rgba(26,25,23,.03);border:1px solid rgba(26,25,23,.12);overflow:hidden;box-shadow:0 20px 44px rgba(26,25,23,.07)}.c-print__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-print__frame:hover .c-print__img{transform:scale(1.015)}.c-print__empty{display:block;width:100%;height:100%;background-image:repeating-linear-gradient(-45deg, rgba(26, 25, 23, 0.05) 0, rgba(26, 25, 23, 0.05) 1px, transparent 1px, transparent 12px)}.c-print__caption{display:flex;align-items:baseline;gap:16px;margin-top:16px}.c-print__label{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.18em;color:#a9a49b}.c-print__title{font-size:clamp(12px,2vw,18px);color:#1a1917}.c-metrics{display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,96px);margin-top:clamp(56px,9vh,110px)}.c-metrics__item{flex:0 1 auto;opacity:0;transform:translateY(16px)}.c-metrics__value{font-family:"IBM Plex Mono",monospace;font-size:clamp(44px,6vw,88px);font-weight:400;line-height:1;letter-spacing:-0.02em}.c-metrics__unit{margin-left:.18em;font-size:.3em;letter-spacing:.08em}.c-metrics__label{margin-top:14px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.14em;color:#8c8880;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-size:clamp(12px,2vw,18px);letter-spacing:.02em}.c-facts{margin:clamp(48px,8vh,96px) 0 0;padding:0;list-style:none;max-width:780px}.c-facts__item{position:relative;display:flex;align-items:baseline;gap:18px;padding:clamp(18px,2.4vh,26px) 0;border-top:1px solid rgba(26,25,23,.12);font-size:clamp(12px,2vw,19px);line-height:1.9;opacity:0;transform:translateY(16px)}.c-facts__item:last-child{border-bottom:1px solid rgba(26,25,23,.12)}.c-facts__mark{flex:0 0 auto;width:14px;height:1px;background:#b0613a;transform:translateY(-0.5em)}.c-cross{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(20px,4vw,64px)}.c-cross__terms{display:flex;flex-direction:column;gap:clamp(6px,1.4vh,16px);font-family:"IBM Plex Mono",monospace;font-size:clamp(28px,4.6vw,68px);line-height:1.05;letter-spacing:-0.01em}.c-cross__term{display:block}.c-cross__mark{display:block;padding-left:.1em;font-size:.48em;color:#b0613a;opacity:0}.c-cross__link{width:clamp(70px,10vw,160px);height:clamp(120px,18vh,200px);overflow:visible}.c-cross__solution{opacity:0}.c-cross__solution-title{font-family:"IBM Plex Mono",monospace;font-size:clamp(20px,3vw,42px);line-height:1.1;color:#b0613a}.c-cross__solution-desc{margin-top:12px;font-size:clamp(12px,2vw,18px);color:#6e6b64}.c-gallery{display:flex;flex-direction:column;align-items:center;gap:clamp(80px,14vh,190px);max-width:1240px;margin:clamp(56px,9vh,110px) auto 0;padding:0 clamp(0px,4vw,60px)}.c-gallery__item{width:100%;margin:0;opacity:0;transform:translateY(40px)}.c-gallery__item--l{max-width:100%}.c-gallery__item--m{max-width:74%}.c-gallery__item--mobile{max-width:clamp(220px,30%,340px)}.c-gallery__item:nth-child(odd){margin-right:auto}.c-gallery__item:nth-child(even){margin-left:auto}.c-gallery__frame{position:relative;overflow:hidden;background:rgba(26,25,23,.03);border:1px solid rgba(26,25,23,.12);box-shadow:0 24px 60px rgba(26,25,23,.06);cursor:pointer}.c-gallery__frame:focus-visible{outline:1px solid #b0613a;outline-offset:4px}.c-gallery__item--mobile .c-gallery__frame{border-radius:12px}.c-gallery__img{display:block;width:100%;height:auto;transition:transform .9s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-gallery__frame:hover .c-gallery__img{transform:scale(1.015)}.c-gallery__empty{display:block;width:100%;aspect-ratio:16/10;background-image:repeating-linear-gradient(-45deg, rgba(26, 25, 23, 0.05) 0, rgba(26, 25, 23, 0.05) 1px, transparent 1px, transparent 12px)}.c-gallery__item--mobile .c-gallery__empty{aspect-ratio:9/19.5}.c-gallery__caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 20px;margin-top:18px}.c-gallery__index{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:#a9a49b}.c-gallery__label{font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#1a1917}.c-gallery__text{flex:1 1 100%;max-width:32em;font-size:clamp(12px,2vw,18px);line-height:1.9;color:#6e6b64}@media(max-width: 899px){.c-gallery__item--m{max-width:100%}.c-gallery__item--mobile{max-width:clamp(200px,58%,300px)}}.c-lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(48px,8vh,90px) clamp(20px,5vw,80px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility .4s ease}.c-lightbox[data-open]{opacity:1;visibility:visible;pointer-events:auto}.c-lightbox__backdrop{position:absolute;inset:0;background:#14130f}.c-lightbox__figure{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;margin:0;max-width:100%;max-height:100%;transform:scale(0.96);transition:transform .4s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-lightbox[data-open] .c-lightbox__figure{transform:scale(1)}.c-lightbox__img{display:block;max-width:100%;max-height:76vh;object-fit:contain;background:rgba(251,250,247,.04)}.c-lightbox__caption{display:flex;align-items:baseline;gap:20px;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.18em;color:rgba(251,250,247,.5)}.c-lightbox__close{position:absolute;top:clamp(18px,3vh,34px);right:clamp(20px,4vw,48px);padding:10px 4px;background:none;border:0;cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#fbfaf7}.c-lightbox__close span{margin-left:8px;font-size:clamp(12px,2vw,18px)}.c-lightbox__close:hover{color:#c97a4e}.c-lightbox__nav{position:absolute;bottom:clamp(18px,3vh,34px);padding:10px 16px;background:none;border:1px solid rgba(251,250,247,.22);cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);color:#fbfaf7;transition:background-color .3s ease,color .3s ease}.c-lightbox__nav:hover{background:#fbfaf7;color:#14130f}.c-lightbox__nav--prev{left:clamp(20px,4vw,48px)}.c-lightbox__nav--next{left:calc(clamp(20px,4vw,48px) + 62px)}.c-case-cta{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(110px,16vh,190px) max(20px,4vw) 0;overflow:hidden}.c-case-cta .c-next{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px clamp(20px,4vw,56px);padding:clamp(28px,4vh,44px) 0;margin-bottom:clamp(64px,10vh,130px);border-top:1px solid rgba(251,250,247,.16);border-bottom:1px solid rgba(251,250,247,.16);color:#fbfaf7;opacity:0;transform:translateY(16px)}.c-case-cta .c-next__label{flex:0 0 auto;width:10em;font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#c97a4e}.c-case-cta .c-next__title{flex:1 1 auto;font-size:clamp(19px,2.2vw,30px);font-weight:500;line-height:1.6}.c-case-cta .c-next__arrow{flex:0 0 auto;font-family:"IBM Plex Mono",monospace;transition:transform .4s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-case-cta .c-next:hover{color:#c97a4e}.c-case-cta__eyebrow{display:flex;align-items:baseline;gap:16px;margin-bottom:clamp(40px,7vh,84px);font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.2em;color:#8c8880;opacity:0;transform:translateY(16px)}.c-case-cta__eyebrow-num{color:#c97a4e}.c-case-cta__eyebrow-label{color:#fbfaf7}.c-case-cta__title{margin:0 0 clamp(32px,5vh,56px);font-weight:500;font-size:clamp(32px,5.4vw,82px);line-height:1.32;letter-spacing:-0.01em;color:#fbfaf7}.c-case-cta__mask{display:block;overflow:hidden;padding-bottom:.06em}.c-case-cta__line{display:block;opacity:0;transform:translateY(30px)}.c-case-cta__lead{margin:0 0 clamp(48px,8vh,88px);max-width:34em;font-size:clamp(12px,2vw,19px);line-height:2.05;color:rgba(251,250,247,.66);opacity:0;transform:translateY(16px)}.c-case-cta__actions{display:flex;flex-wrap:wrap;gap:14px}.c-case-cta__btn{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:220px;padding:22px 26px;border:1px solid rgba(251,250,247,.28);color:#fbfaf7;font-size:clamp(12px,2vw,18px);font-weight:500;opacity:0;transition:background-color .4s ease,color .4s ease,border-color .4s ease}.c-case-cta__btn:hover{background-color:#fbfaf7;color:#14130f;border-color:#fbfaf7}.c-case-cta__btn--wide{min-width:260px}.c-case-cta__btn-arrow{font-family:"IBM Plex Mono",monospace;transition:transform .4s cubic-bezier(0.2, 0.7, 0.2, 1)}.c-case-cta__footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:clamp(80px,14vh,150px);padding:26px 0 34px;border-top:1px solid rgba(251,250,247,.14);font-family:"IBM Plex Mono",monospace;font-size:clamp(11px,1.34vw,12px);letter-spacing:.16em;color:rgba(251,250,247,.4);opacity:0;transform:translateY(16px)}.c-case-cta__footer a:hover{color:#c97a4e}.l-wipe{position:fixed;inset:0;z-index:300;pointer-events:none;opacity:0}.l-wipe__line{position:absolute;top:50%;left:0;width:100%;height:1px;background:#b0613a;transform:scaleX(0);transform-origin:left center}.l-wipe[data-active]{opacity:1}.l-wipe[data-active] .l-wipe__line{animation:wf-wipe .56s cubic-bezier(0.7, 0, 0.3, 1) forwards}@keyframes wf-wipe{0%{transform:scaleX(0);transform-origin:left center}55%{transform:scaleX(1);transform-origin:left center}56%{transform:scaleX(1);transform-origin:left center;height:1px}100%{transform:scaleX(1);transform-origin:left center;height:100vh;top:0}}@media(prefers-reduced-motion: reduce){.l-wipe{display:none}}
