:root{--color-bg:#fff;--color-text:#2a2926;--color-text-sub:#6b6862;--color-border:#e5e3df;--color-placeholder:#f3f2ef;--radius:0px;--font-base:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-base);margin:0}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{-webkit-font-smoothing:antialiased;font-size:16px;font-weight:400;line-height:2}img,video{object-fit:cover;width:100%;height:100%;display:block}a{color:inherit}h1,h2,h3,p,ul,ol,dl,figure{margin:0;padding:0}ul,ol{list-style:none}.wrap{max-width:1120px;margin:0 auto;padding:0 40px}.site-header{z-index:10;backdrop-filter:blur(8px);background:#ffffffeb;transition:box-shadow .6s;position:sticky;top:0}.site-header.is-scrolled{box-shadow:0 1px 0 var(--color-border)}.site-header:after{content:"";background:var(--color-text);transform-origin:0;width:100%;height:1px;transform:scaleX(var(--progress,0));opacity:.5;position:absolute;bottom:-1px;left:0}.site-header__in{justify-content:space-between;align-items:center;gap:20px;height:72px;display:flex}.site-header__name{letter-spacing:.08em;min-width:0;font-size:18px;font-weight:700;line-height:1.5;text-decoration:none}.site-header nav{letter-spacing:.08em;flex-shrink:0;align-items:center;gap:32px;font-size:14px;display:flex}.site-header nav a{text-decoration:none}.site-header nav a:not(.btn){position:relative}.site-header nav a:not(.btn):after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .5s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.site-header nav a:not(.btn):hover:after{transform-origin:0;transform:scaleX(1)}.btn{isolation:isolate;background:var(--color-text);color:#fff;letter-spacing:.1em;border-radius:var(--radius);padding:16px 40px;font-size:15px;font-weight:500;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;transform-origin:100%;background:#55524c;transition:transform .6s cubic-bezier(.22,.61,.36,1);position:absolute;inset:0;transform:scaleX(0)}.btn:hover:before{transform-origin:0;transform:scaleX(1)}.btn--sm{padding:10px 22px;font-size:13px}.hero{padding:96px 0 0}.hero__label{letter-spacing:.2em;color:var(--color-text-sub);margin-bottom:28px;font-size:14px}.hero h1{letter-spacing:.06em;font-size:clamp(34px,5.6vw,68px);font-weight:500;line-height:1.5}.hero__line{display:block}.ch{display:inline-block}.hero__lead{max-width:560px;color:var(--color-text-sub);margin-top:36px}.hero .btn{margin-top:44px}.hero__media{margin-top:88px}.section{padding:160px 0 0}.section__grid{grid-template-columns:300px 1fr;gap:64px;padding-top:48px;display:grid;position:relative}.section__grid:before{content:"";background:var(--color-border);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.section__grid>h2{align-self:start;position:sticky;top:120px}.section h2{letter-spacing:.08em;font-size:clamp(22px,2.4vw,28px);font-weight:500;line-height:1.7}.section__note{color:var(--color-text-sub);margin-top:48px}.services__examples{margin-top:48px}.services__examples h3{letter-spacing:.06em;margin-bottom:20px;font-size:18px;font-weight:500}.services__examples .worries{color:var(--color-text-sub);font-size:14px}.worries li{border-bottom:1px solid var(--color-border);padding:20px 0}.worries li:first-child{padding-top:0}.belief p{color:var(--color-text-sub)}.belief p+p{margin-top:20px}.belief .belief__lead{color:var(--color-text);letter-spacing:.06em;margin-bottom:40px;font-size:clamp(18px,2vw,22px);line-height:2}.services{grid-template-columns:1fr 1fr;gap:0 56px;display:grid}.services li{border-bottom:1px solid var(--color-border);padding:28px 0}.services h3{letter-spacing:.06em;font-size:18px;font-weight:500;line-height:1.7}.services p{color:var(--color-text-sub);margin-top:8px;font-size:14px;line-height:1.9}.services li:nth-child(-n+2){padding-top:0}.band{margin-top:160px}.cases{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.case__tag{letter-spacing:.1em;color:var(--color-text-sub);margin-top:20px;font-size:13px}.case h3{letter-spacing:.04em;margin-top:6px;font-size:18px;font-weight:500;line-height:1.7}.case p{color:var(--color-text-sub);margin-top:10px;font-size:14px;line-height:1.9}.profile{grid-template-columns:180px 1fr;align-items:start;gap:40px;display:grid}.profile h3{letter-spacing:.08em;font-size:26px;font-weight:500;line-height:1.7}.profile p{color:var(--color-text-sub);margin-top:24px}.profile .profile__aside{font-size:14px}.faq details{border-bottom:1px solid var(--color-border)}.faq details:first-child{border-top:1px solid var(--color-border)}.faq summary{cursor:pointer;letter-spacing:.04em;padding:24px 40px 24px 0;font-weight:500;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--color-text-sub);font-size:22px;font-weight:400;transition:transform .25s;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.faq details[open] summary:after{transform:translateY(-50%)rotate(45deg)}.faq__body{overflow:hidden}.faq details p{color:var(--color-text-sub);padding:0 40px 28px 0;font-size:15px}.contact{text-align:center;padding:180px 0}.contact h2{letter-spacing:.08em;font-size:clamp(28px,4vw,48px);line-height:1.6}.contact p{max-width:520px;color:var(--color-text-sub);margin:28px auto 0}.contact .btn{margin-top:48px}.contact__media{margin-bottom:96px}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-sub);letter-spacing:.06em;padding:32px 0 40px;font-size:13px}.site-footer__in{justify-content:space-between;display:flex}.media{border-radius:var(--radius);overflow:hidden}.media img,.media video{transform-origin:50%}.media__placeholder{background:var(--color-placeholder);text-align:center;border-radius:var(--radius);border:1px dashed #cfcdc8;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;padding:24px;display:flex}.media__id{letter-spacing:.12em;color:var(--color-text-sub);font-size:12px}.media__note{color:var(--color-text-sub);max-width:420px;font-size:13px;line-height:1.8}.doc{max-width:720px;padding:96px 0 160px}.doc h1{letter-spacing:.08em;font-size:clamp(24px,4vw,32px);font-weight:500}.doc p{color:var(--color-text-sub);margin-top:24px}.doc .doc__intro{margin-top:32px}.doc__section{border-top:1px solid var(--color-border);margin-top:48px;padding-top:32px}.doc__section h2{letter-spacing:.04em;font-size:20px;font-weight:500;line-height:1.7}.doc__section p{margin-top:16px}.doc a,.doc-back{text-underline-offset:.3em}.doc a{overflow-wrap:anywhere}.doc-back{color:var(--color-text-sub);flex-shrink:0;font-size:13px}.doc .doc__date{margin-top:48px;font-size:14px}.doc__return{margin-top:32px;font-size:14px;display:inline-block}.contact .contact__privacy{margin-top:20px;font-size:13px}.contact__privacy a{text-underline-offset:.3em}.js .reveal{opacity:0;transition:opacity 1.1s,transform 1.1s;transform:translateY(16px)}.js .reveal.is-in{opacity:1;transform:none}.js .reveal .section__grid:before{transition:transform 1.6s cubic-bezier(.22,.61,.36,1) .1s;transform:scaleX(0)}.js .reveal.is-in .section__grid:before{transform:scaleX(1)}.js .reveal .stagger>*{opacity:0;transition:opacity .9s,transform .9s;transition-delay:calc(.35s + var(--i,0) * 90ms);transform:translateY(10px)}.js .reveal.is-in .stagger>*{opacity:1;transform:none}.js [data-hero] .ch{opacity:0;filter:blur(8px);transition:opacity 1.2s,filter 1.4s;transition-delay:calc(.25s + var(--i) * 70ms)}.js [data-hero] .hero__label,.js [data-hero] .hero__lead,.js [data-hero]>.btn{opacity:0;transition:opacity 1.2s,transform 1.2s;transform:translateY(10px)}.js [data-hero] .hero__label{transition-delay:.1s}.js [data-hero] .hero__lead{transition-delay:1.5s}.js [data-hero]>.btn{transition-delay:1.8s}.js [data-hero].is-in .ch{opacity:1;filter:blur()}.js [data-hero].is-in .hero__label,.js [data-hero].is-in .hero__lead,.js [data-hero].is-in>.btn{opacity:1;transform:none}.js .media>*{clip-path:inset(0 0 100%);transition:clip-path 1.8s cubic-bezier(.65,0,.35,1),transform 3.2s cubic-bezier(.22,.61,.36,1)}.js .media.is-in>*{clip-path:inset(0)}.js .media img,.js .media video{transform:scale(1.08)}.js .media.is-in img,.js .media.is-in video{transform:scale(1)}.js [data-hero] .media>*{transition-delay:1.9s}.scrub__media{position:relative}.scrub__media video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.js .scrub{height:240vh}.js .scrub__stage{align-items:center;height:100svh;display:flex;position:sticky;top:0}.js .scrub__stage>.media{width:100%}.js .scrub.is-ready video{opacity:1}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.js .reveal .stagger>*,.js [data-hero] *,.js .media>*,.js .media img,.js .media video{opacity:1!important;filter:none!important;clip-path:none!important;transition:none!important;transform:none!important}.js .reveal .section__grid:before{transition:none!important;transform:none!important}.js .scrub{height:auto}.js .scrub__stage{height:auto;position:static}.js .scrub video{display:none}.btn:before,.site-header nav a:after{transition:none}}@media (width<=1020px){.site-header nav a:not(.btn){display:none}}@media (width<=860px){.wrap{padding:0 24px}.hero{padding-top:56px}.hero__media{margin-top:56px}.section{padding-top:96px}.section__grid{grid-template-columns:1fr;gap:32px}.section__grid>h2{position:static}.services{grid-template-columns:1fr}.services li:nth-child(2){padding-top:28px}.cases{grid-template-columns:1fr;gap:48px}.profile{grid-template-columns:1fr;gap:32px}.profile>.media{width:min(100%,240px)}.band{margin-top:96px}.contact{padding:112px 0}}
