:root{--ink:#10201f;--muted:#4f5e5d;--teal:#0f6e6c;--aqua:#3fc1c0;--aqua-pale:#eaf6f5;--line:#d5dedd;--line-soft:#e3e9e8;--white:#fff;--ease:cubic-bezier(.16, 1, .3, 1);--en:"Cormorant Garamond", serif;--mincho:"Shippori Mincho", serif;--gothic:"Zen Kaku Gothic New", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--gothic);color:var(--ink);background:var(--ink);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}img{max-width:100%;display:block}a{color:var(--teal)}a:hover{color:var(--ink)}.container{max-width:1360px;margin:0 auto}.px{padding-left:40px;padding-right:40px}.py{padding-top:140px;padding-bottom:140px}main,.site-footer{z-index:1;position:relative}main{overflow:clip}.section-white{background:var(--white)}.label{font-family:var(--en);color:var(--teal);margin:0;font-size:22px;font-style:italic}.label--light{color:var(--white);margin-bottom:20px}.bg-photo{z-index:0;background:var(--ink);height:100vh;margin-bottom:-100vh;position:sticky;top:0;overflow:hidden}.bg-photo__parallax{transition:transform 1.2s var(--ease);position:sticky;inset:-40px}.bg-photo__zoom{animation:22s ease-in-out infinite alternate kenburns;position:sticky;inset:0}.bg-photo picture,.bg-photo img{width:100%;height:100%}.bg-photo img{object-fit:cover;object-position:50% 40%}@keyframes kenburns{0%{transform:scale(1.12)}to{transform:scale(1)}}.site-header{z-index:20;height:0;position:sticky;top:0}.site-header__bar{color:var(--white);backdrop-filter:blur();opacity:0;background:#fff0;transition:background .5s,color .5s,box-shadow .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s;animation:1.6s .2s forwards fadeIn;position:absolute;top:0;left:0;right:0}.site-header.is-blur .site-header__bar{backdrop-filter:blur(12px)}.site-header.is-solid .site-header__bar{color:var(--ink);background:#ffffffeb;box-shadow:0 1px #10201f14}.site-header__inner{max-width:1360px;transition:padding .5s var(--ease);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding-top:32px;padding-bottom:32px;display:flex}.site-header.is-solid .site-header__inner{padding-top:14px;padding-bottom:14px}.site-header__logo{font-family:var(--en);letter-spacing:.04em;color:inherit;font-size:30px;font-weight:500;text-decoration:none}.site-header__logo:hover{color:inherit}.site-header__nav{align-items:center;gap:8px;display:flex}.nav-link{color:inherit;letter-spacing:.16em;padding:14px;font-size:13px;text-decoration:none;position:relative}.nav-link:hover{color:inherit}.nav-link:after{content:"";transform-origin:100%;height:1px;transition:transform .5s var(--ease);background:currentColor;position:absolute;bottom:8px;left:14px;right:14px;transform:scaleX(0)}.nav-link:hover:after{transform-origin:0;transform:scaleX(1)}.menu-btn{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:none}.sp-backdrop{z-index:39;opacity:0;pointer-events:none;background:#10201f73;transition:opacity .7s;position:fixed;inset:0}.sp-menu{z-index:40;background:var(--ink);width:70%;color:var(--white);visibility:hidden;flex-direction:column;padding:16px 24px 40px;transition:transform .7s cubic-bezier(.22,1,.36,1),visibility .7s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-20px 0 60px #10201f40}.is-menu-open .sp-backdrop{opacity:1;pointer-events:auto}.is-menu-open .sp-menu{visibility:visible;transform:translate(0)}.sp-menu__head{justify-content:flex-end;display:flex}.sp-menu__close{width:44px;height:44px;color:var(--white);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.sp-menu__nav{flex-direction:column;margin-top:32px;display:flex}.sp-menu__nav a{color:var(--white);font-family:var(--en);border-bottom:1px solid #ffffff2e;padding:10px 0;font-size:36px;font-style:italic;line-height:1.2;text-decoration:none}.sp-menu__foot{letter-spacing:.1em;color:#ffffffbf;margin:auto 0 0;font-size:12px}.hero{height:100svh;min-height:680px;color:var(--white);position:relative;overflow:hidden}.hero__shade{background:linear-gradient(#10201f47 0%,#10201f00 28% 48%,#10201f9e 100%);position:absolute;inset:0}.hero__bottom{z-index:2;padding-bottom:88px;position:absolute;bottom:0;left:0;right:0}.hero__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;max-width:1360px;margin:0 auto;display:flex}.hero__title{font-family:var(--en);letter-spacing:-.01em;margin:0;font-size:clamp(46px,9vw,152px);font-style:italic;font-weight:400;line-height:.95}.hero__title .line{padding-bottom:.06em;display:block;overflow:hidden}.hero__title .line>span{animation:lineUp 1.4s var(--ease) forwards;display:inline-block;transform:translateY(110%)}@keyframes lineUp{to{transform:none}}.hero__lead{font-family:var(--mincho);letter-spacing:.12em;margin:28px 0 0;font-size:17px;line-height:1.9}.hero__scroll{letter-spacing:.3em;flex-direction:column;align-items:center;gap:14px;font-size:11px;display:flex}.hero__scroll>span{writing-mode:vertical-rl}.hero__scroll-bar{background:#ffffff4d;width:1px;height:64px}.hero__scroll-bar>div{background:var(--white);width:1px;height:64px;animation:2.4s cubic-bezier(.65,0,.35,1) infinite scrollBar}@keyframes scrollBar{0%{transform-origin:top;transform:scaleY(0)}45%{transform-origin:top;transform:scaleY(1)}55%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.fade{opacity:0;animation:1.6s forwards fadeIn}@keyframes fadeIn{to{opacity:1}}.js .reveal{opacity:0;transition:opacity 1.1s ease, transform 1.1s var(--ease);transform:translateY(40px)}.js .reveal.is-in{opacity:1;transform:none}.about{padding-top:160px;padding-bottom:120px;position:relative}.about__inner{flex-wrap:wrap;align-items:flex-start;gap:64px 96px;display:flex}.about__body{flex:560px;min-width:0}.about__title{font-family:var(--mincho);letter-spacing:.06em;margin:0;font-size:clamp(28px,3.6vw,48px);font-weight:500;line-height:1.7}.about__text{max-width:620px;color:var(--muted);margin:40px 0 0;font-size:16px;line-height:2.1}.ticker{z-index:1;background:var(--white);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:22px 0;position:relative;overflow:hidden}.ticker__track{width:max-content;animation:60s linear infinite marquee;display:flex}.ticker__track span{font-family:var(--en);white-space:nowrap;padding:0 36px;font-size:34px;font-style:italic}.ticker__track i{color:var(--aqua);padding-left:72px;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}.services{position:relative}.services__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:48px;display:flex}.services__title{font-family:var(--en);margin:0;font-size:clamp(44px,6vw,84px);font-weight:400;line-height:1}.services__sub{font-family:var(--mincho);letter-spacing:.12em;color:var(--muted);margin:0;font-size:15px}.services__list{border-top:1px solid var(--ink)}.service-row{border-bottom:1px solid var(--line);transition:background .5s ease, padding .5s var(--ease), opacity 1.1s ease, transform 1.1s var(--ease);flex-wrap:wrap;align-items:center;gap:16px 48px;padding:36px 8px;display:flex}.service-row:hover{background:#eef8f7;padding-left:28px}.service-row__no{font-family:var(--en);color:var(--teal);flex:0 0 64px;font-size:22px;font-style:italic}.service-row__title{font-family:var(--mincho);letter-spacing:.06em;flex:280px;margin:0;font-size:26px;font-weight:500}.service-row__body{color:var(--muted);flex:2 360px;margin:0;font-size:15px;line-height:1.9}.btn{font:inherit;letter-spacing:.14em;cursor:pointer;transition:background .4s ease, color .4s ease, gap .4s var(--ease);border-radius:999px;align-items:center;gap:14px;padding:20px 36px;font-size:14px;text-decoration:none;display:inline-flex}.btn:hover{gap:22px}.btn--dark{background:var(--ink);color:var(--white);border:none}.btn--dark:hover:not(:disabled){background:var(--teal);color:var(--white)}.btn--dark:disabled{cursor:default;background:#9aa5a4}.btn--light{border:1px solid var(--white);color:var(--white);background:0 0}.btn--light:hover{background:var(--white);color:var(--ink)}.btn--small{letter-spacing:.12em;min-height:44px;padding:14px 24px;font-size:13px}.kikotto{background:var(--aqua-pale);position:relative}.kikotto__inner{flex-wrap:wrap;align-items:center;gap:72px;display:flex}.kikotto__intro{flex:460px;min-width:0}.kikotto__intro .label{margin-bottom:20px}.kikotto__title{font-family:var(--en);letter-spacing:-.01em;margin:0;font-size:clamp(64px,9vw,132px);font-weight:500;line-height:.9}.kikotto__kana{letter-spacing:.16em;color:var(--muted);margin:16px 0 0;font-size:13px}.kikotto__catch{font-family:var(--mincho);letter-spacing:.08em;margin:44px 0 0;font-size:clamp(24px,2.6vw,34px);font-weight:500;line-height:1.6}.kikotto__text{max-width:520px;color:var(--muted);margin:24px 0 0;font-size:15px;line-height:2.1}.kikotto__steps{border-top:1px solid #bfd9d7;margin:40px 0 0;padding:0;list-style:none}.kikotto__steps li{letter-spacing:.04em;border-bottom:1px solid #bfd9d7;align-items:baseline;gap:24px;padding:18px 0;font-size:15px;display:flex}.kikotto__steps span{width:28px;font-family:var(--en);color:var(--teal);font-size:22px;font-style:italic}.kikotto__cta{flex-wrap:wrap;align-items:center;gap:20px;margin-top:48px;display:flex}.kikotto__url{font-family:var(--en);color:var(--muted);font-size:18px;font-style:italic}.demo{background:var(--white);border-radius:4px;flex:440px;min-width:0;padding:40px 36px;box-shadow:0 30px 60px -30px #0f6e6c59}.demo__head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:18px;display:flex}.demo__label{font-family:var(--en);color:var(--teal);margin:0;font-size:18px;font-style:italic}.demo__count{letter-spacing:.12em;color:var(--muted);margin:0;font-size:12px}.demo__small{letter-spacing:.16em;color:var(--muted);margin:22px 0 6px;font-size:12px}.demo__topic{font-family:var(--mincho);letter-spacing:.04em;margin:0;font-size:22px;font-weight:500;line-height:1.5}.demo__step{letter-spacing:.08em;margin:26px 0 10px;font-size:13px;font-weight:700}.demo__step i{font-family:var(--en);color:var(--teal);margin-right:8px;font-size:18px;font-weight:400}.demo__note{color:var(--muted);margin:-6px 0 12px;font-size:12px}.demo__answer{border:1px solid var(--teal);background:var(--aqua-pale);border-radius:2px;padding:18px}.demo__answer[hidden]{display:none}.demo__answer-label{letter-spacing:.16em;color:var(--muted);margin:0 0 6px;font-size:11px}.demo__answer-text{font-family:var(--mincho);margin:0;font-size:20px;font-weight:500;line-height:1.5}.demo__found{flex-wrap:wrap;gap:6px 16px;margin-top:10px;display:flex}.demo__found:empty{display:none}.demo__found span{color:var(--muted);font-size:12px}.demo__found em{font-family:var(--en);color:var(--teal);font-size:15px}.demo__people{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.person{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line);cursor:pointer;transition:border-color .4s, background .4s, transform .5s var(--ease);border-radius:2px;flex-direction:column;align-items:center;gap:8px;padding:12px 10px 14px;display:flex}.person:hover{border-color:var(--aqua);transform:translateY(-3px)}.person[aria-pressed=true]{border-color:var(--teal);background:var(--aqua-pale)}.person__say{background:var(--aqua-pale);border-radius:10px;width:100%;padding:8px;font-size:11px;line-height:1.5;display:block}.person[aria-pressed=true] .person__say{background:var(--white)}.person__id{font-family:var(--en);letter-spacing:.06em;font-size:17px;font-weight:500}.person__name{color:var(--muted);font-size:11px}.demo__bar{border:1px solid var(--line);border-radius:2px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 10px 10px 16px;display:flex}.demo__bar-text{color:var(--muted);flex:180px;font-size:13px;line-height:1.6}.demo__bar-text strong{font-family:var(--en);color:var(--ink);letter-spacing:.06em;font-size:20px;font-weight:500}.demo__status{min-height:28px;margin-top:14px;font-size:13px;line-height:1.7}.demo__status .is-right{color:var(--teal);font-weight:700}.demo__status .is-wrong{color:#9a3412}.demo__status .is-retry{color:var(--muted)}.demo__status button{font:inherit;color:var(--teal);cursor:pointer;background:0 0;border:none;padding:8px 4px;font-weight:400;text-decoration:underline}.demo__caption{color:var(--muted);margin:10px 0 0;font-size:12px}.pop{opacity:0;animation:.8s forwards fadeIn}.contact{min-height:100vh;color:var(--white);align-items:center;display:flex;position:relative;overflow:hidden}.contact__shade{background:#10201f6b;position:absolute;inset:0}.contact__inner{z-index:2;flex-direction:column;align-items:flex-start;gap:40px;width:100%;padding-top:120px;padding-bottom:120px;display:flex;position:relative}.contact__title{font-family:var(--mincho);letter-spacing:.06em;margin:0;font-size:clamp(30px,4vw,52px);font-weight:500;line-height:1.6}.contact__action{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.contact__note{letter-spacing:.08em;color:#ffffffd9;font-size:12px}.site-footer{background:var(--white);padding-top:48px;padding-bottom:48px}.site-footer__inner{letter-spacing:.08em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;font-size:13px;display:flex}.site-footer__logo{font-family:var(--en);color:var(--ink);font-size:26px;font-weight:500}.site-footer__meta{flex-wrap:wrap;gap:4px 24px;display:flex}.site-footer__meta small{font-size:12px}@media (width<=760px){.px{padding-left:20px;padding-right:20px}.py,.about{padding-top:96px;padding-bottom:96px}.site-header__nav{display:none}.menu-btn{display:flex}.site-header__inner,.site-header.is-solid .site-header__inner{padding-top:12px;padding-bottom:12px}.bg-photo img{object-position:50% 50%}.hero__bottom{padding-bottom:64px}.demo{padding:28px 18px}.service-row:hover{padding-left:12px}.ticker__track span{font-size:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bg-photo__zoom,.ticker__track,.hero__scroll-bar>div{animation:none}.hero__title .line>span{animation:none;transform:none}.fade,.site-header,.pop{opacity:1;animation:none}.js .reveal{opacity:1;transition:none;transform:none}}
