:root{--ink: #0b0a09;--ink-2: #14110e;--paper: #f4f0ea;--paper-dim: rgba(244, 240, 234, .62);--terra: #a9764e;--red: #f5391e;--line: rgba(244, 240, 234, .14);--font-jp: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;--font-en: "Space Grotesk", "Zen Kaku Gothic New", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--ink);color:var(--paper);font-family:var(--font-jp);font-weight:400;line-height:1.9;letter-spacing:.04em;overflow-x:hidden;-webkit-font-smoothing:antialiased}#gl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;display:block}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--ink)}.loader__brand{font-family:var(--font-en);font-weight:700;font-size:26px;letter-spacing:.18em;color:var(--paper)}.loader__track{width:min(240px,56vw);height:2px;background:var(--line);overflow:hidden}.loader__bar{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--red),var(--terra));transform:scaleX(0);transform-origin:left}.loader__pct{font-family:var(--font-en);font-size:11px;letter-spacing:.3em;color:var(--paper-dim);font-variant-numeric:tabular-nums}.progressbar{position:fixed;top:0;left:0;right:0;height:2px;z-index:30;background:linear-gradient(90deg,var(--red),var(--terra));transform:scaleX(0);transform-origin:left;pointer-events:none}.header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,4vw,52px);border-bottom:1px solid transparent;transition:background .45s,border-color .45s,padding .45s}.header.is-scrolled{background:#0b0a09b8;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom-color:var(--line);padding-top:14px;padding-bottom:14px}.brand{font-family:var(--font-en);font-weight:700;font-size:22px;letter-spacing:.14em;color:var(--paper);text-decoration:none}.brand__i{color:var(--red)}.nav{display:flex;align-items:center;gap:clamp(16px,3vw,36px)}.nav a{font-family:var(--font-en);font-size:12px;font-weight:500;letter-spacing:.18em;color:var(--paper-dim);text-decoration:none;transition:color .3s}.nav a:hover{color:var(--paper)}.nav__cta{color:var(--paper)!important;border:1px solid var(--line);border-radius:999px;padding:9px 20px;transition:border-color .3s,background .3s,color .3s}.nav__cta:hover{border-color:var(--red);background:var(--red)}main{position:relative;z-index:1}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(20px,6vw,96px);position:relative}.hero__label{font-family:var(--font-en);font-size:12px;letter-spacing:.34em;color:var(--terra);margin-bottom:26px}.hero__title{font-size:clamp(38px,7.4vw,104px);font-weight:900;line-height:1.28;letter-spacing:.02em}.hero__title .line{display:block}.hero__title em{font-style:normal;font-family:var(--font-en);color:var(--red)}.hero__sub{margin-top:30px;font-size:clamp(14px,1.4vw,17px);color:var(--paper-dim)}.hero__scroll{position:absolute;bottom:34px;left:clamp(20px,6vw,96px);display:flex;align-items:center;gap:12px;font-family:var(--font-en);font-size:10px;letter-spacing:.3em;color:var(--paper-dim)}.hero__scroll span{display:block;width:44px;height:1px;background:var(--paper-dim);transform-origin:left;animation:scrollline 2.2s ease-in-out infinite}@keyframes scrollline{0%{transform:scaleX(0)}55%{transform:scaleX(1)}to{transform:scaleX(0);transform-origin:right}}.section{min-height:130svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(90px,14vh,150px) clamp(20px,6vw,96px)}.section__label{font-family:var(--font-en);font-size:12px;letter-spacing:.34em;color:var(--red);margin-bottom:22px}.section__title{font-size:clamp(30px,4.8vw,64px);font-weight:900;line-height:1.42;letter-spacing:.03em;margin-bottom:clamp(32px,5vh,56px)}.philosophy__lead{max-width:620px;display:grid;gap:26px;font-size:clamp(14px,1.35vw,16.5px);color:var(--paper-dim)}.philosophy{align-items:flex-start}.philosophy .section__title,.philosophy .section__label{text-align:left}.bgrid{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.bcard{position:relative;padding:clamp(26px,3.4vw,44px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0b0a096b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .4s;overflow:hidden}.bcard:after{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.bcard:hover{background:#14110eb8}.bcard:hover:after{transform:scaleY(1)}.bcard__no{font-family:var(--font-en);font-size:12px;color:var(--terra);letter-spacing:.2em}.bcard__en{display:block;font-family:var(--font-en);font-size:10px;letter-spacing:.26em;color:var(--paper-dim);margin-top:14px}.bcard__name{font-size:clamp(19px,2vw,25px);font-weight:700;margin-top:6px;letter-spacing:.05em}.bcard__d{margin-top:12px;font-size:13.5px;color:var(--paper-dim)}.bcard__a{display:block;color:inherit;text-decoration:none;margin:calc(-1*clamp(26px,3.4vw,44px));padding:clamp(26px,3.4vw,44px)}.bcard__more{display:block;margin-top:18px;font-family:var(--font-en);font-size:10px;letter-spacing:.26em;color:var(--paper-dim);opacity:0;transform:translate(-8px);transition:opacity .4s,transform .4s,color .4s}.bcard:hover .bcard__more{opacity:1;transform:translate(0);color:var(--red)}@media(hover:none){.bcard__more{opacity:1;transform:none}}.cta{align-items:center;text-align:center}.cta__p{color:var(--paper-dim);font-size:clamp(14px,1.35vw,16px)}.btn{margin-top:40px;display:inline-flex;align-items:center;gap:14px;font-size:15px;font-weight:700;letter-spacing:.1em;color:var(--ink);background:var(--paper);text-decoration:none;border-radius:999px;padding:18px 44px;transition:background .35s,color .35s,transform .35s}.btn:hover{background:var(--red);color:#fff;transform:translateY(-2px)}.btn__arrow{font-family:var(--font-en)}.cform{width:100%;max-width:620px;margin:clamp(30px,5vh,48px) auto 0;text-align:left}.cform__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cform__row{margin-bottom:16px}.cform label{display:block;font-size:12px;letter-spacing:.08em;color:var(--paper-dim);margin-bottom:7px}.cform .req{display:inline-block;font-size:10px;color:var(--red);border:1px solid currentColor;border-radius:3px;padding:0 5px;margin-left:4px;vertical-align:1px}.cform input,.cform select,.cform textarea{width:100%;background:#f4f0ea0a;border:1px solid var(--line);border-radius:6px;color:var(--paper);font:inherit;font-size:15px;padding:12px 14px;transition:border-color .25s,background .25s}.cform textarea{resize:vertical;min-height:120px}.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--red);background:#f4f0ea12}.cform select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.cform__privacy{font-size:12px;color:var(--paper-dim);margin:4px 0 12px}.cform__consent{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--paper);cursor:pointer;margin-bottom:22px}.cform__consent input{width:auto;accent-color:var(--red);flex:none}.cform__consent span{margin:0}.cform__submit{margin-top:4px;cursor:pointer;border:none}.cform__submit:disabled{opacity:.5;cursor:default}.cform__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.cform__status{margin-top:16px;font-size:13.5px;min-height:1.2em}.cform__status.is-error{color:#ff8a6e}.cform__status.is-success{color:#9fd2a0}.cform__alt{margin-top:14px;font-size:12px;color:var(--paper-dim)}.cform__alt a{color:var(--paper);text-decoration:underline}@media(max-width:560px){.cform__grid{grid-template-columns:1fr;gap:0}}.trust{align-items:flex-start}.trust .section__title,.trust .section__label{text-align:left}.trust__lead{max-width:640px;color:var(--paper-dim);font-size:clamp(14px,1.35vw,16.5px);margin-bottom:clamp(34px,5vh,52px)}.promise{list-style:none;display:grid;gap:1px;width:100%;max-width:940px;background:var(--line);border:1px solid var(--line)}.promise li{background:#0b0a0999;padding:clamp(22px,3vw,32px);position:relative}.promise__no{font-family:var(--font-en);font-size:12px;letter-spacing:.2em;color:var(--red)}.promise h3{font-size:clamp(16px,1.9vw,20px);font-weight:700;letter-spacing:.04em;margin:8px 0 10px}.promise p{font-size:13.5px;color:var(--paper-dim);line-height:1.85}.promise strong{color:var(--paper)}@media(min-width:720px){.promise{grid-template-columns:repeat(3,1fr)}}.company{align-items:flex-start}.company .section__title,.company .section__label{text-align:left}.company__dl{width:100%;max-width:820px;background:#090807a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--line);border-radius:10px;padding:4px clamp(18px,3vw,30px)}.company__dl>div{display:grid;grid-template-columns:150px 1fr;gap:8px 24px;padding:16px 0;border-bottom:1px solid var(--line)}.company__dl>div:last-child{border-bottom:none}.company__dl dt{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--paper)}.company__dl dd{font-size:13.5px;color:var(--paper-dim);line-height:1.85}@media(max-width:600px){.company__dl>div{grid-template-columns:1fr;gap:3px}}.footer{position:relative;z-index:1;padding:clamp(40px,6vh,64px) clamp(20px,4vw,52px) 26px;border-top:1px solid var(--line);background:var(--ink)}.footer__main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;max-width:1100px}.footer__brand{font-family:var(--font-en);font-weight:700;letter-spacing:.14em;font-size:22px}.footer__tag{margin-top:8px;font-size:12px;color:var(--paper-dim)}.footer__addr{font-style:normal;font-size:12px;line-height:1.9;color:var(--paper-dim)}.footer__addr b{color:var(--paper)}.footer__addr a{color:var(--paper-dim);text-decoration:underline;transition:color .3s}.footer__addr a:hover{color:var(--paper)}.company__dl dd a{color:var(--paper);text-decoration:underline}.footer__nav{display:flex;flex-direction:column;gap:8px}.footer__nav a{font-size:12.5px;color:var(--paper-dim);text-decoration:none;transition:color .3s}.footer__nav a:hover{color:var(--paper)}.footer__copy{display:block;margin-top:34px;font-size:11px;color:var(--paper-dim);letter-spacing:.08em}@media(max-width:680px){.footer__main{grid-template-columns:1fr;gap:22px}}.detail{--acc: var(--red);min-height:100svh;position:relative;z-index:1}.detail:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#0b0a09eb,#0b0a09c7 34%,#0b0a094d 56%,#0b0a0900 74%)}.detail__inner{position:relative;z-index:1;max-width:680px;padding:clamp(120px,18vh,170px) clamp(20px,6vw,96px) 110px}.detail__back{margin-bottom:34px}.detail__back a{font-family:var(--font-en);font-size:11px;letter-spacing:.22em;color:var(--paper-dim);text-decoration:none;transition:color .3s}.detail__back a:hover{color:var(--paper)}.detail .section__label{color:var(--acc)}.detail__title{font-size:clamp(32px,5vw,58px);font-weight:900;line-height:1.34;letter-spacing:.03em}.detail__sub{margin-top:18px;color:var(--paper-dim);font-size:clamp(14px,1.35vw,16px)}.detail__h{margin-top:clamp(48px,8vh,80px);font-size:clamp(22px,2.6vw,32px);font-weight:700;letter-spacing:.04em}.detail__p{margin-top:20px;color:var(--paper-dim);font-size:clamp(13.5px,1.3vw,15.5px);max-width:620px}.detail__p--note{margin-top:26px;padding:18px 22px;border-left:2px solid var(--acc);background:#f4f0ea0a;border-radius:0 6px 6px 0;font-size:13px}.detail__sh{margin-top:clamp(48px,8vh,76px);margin-bottom:18px;font-family:var(--font-en);font-size:12px;font-weight:500;letter-spacing:.3em;color:var(--acc)}.dfeat,.dflow{list-style:none;border-top:1px solid var(--line)}.dfeat li,.dflow li{display:grid;grid-template-columns:118px 1fr;gap:6px 22px;padding:18px 2px;border-bottom:1px solid var(--line)}.dfeat b,.dflow b{font-size:14.5px;font-weight:700;letter-spacing:.04em}.dfeat span,.dflow span{font-size:13.5px;color:var(--paper-dim)}.dflow li{grid-template-columns:30px 118px 1fr}.dflow .dflow__no{font-family:var(--font-en);font-size:12px;color:var(--acc);letter-spacing:.1em}.dworks__lead{font-size:13px;color:var(--paper-dim);margin-bottom:20px}.dworks__grid{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.wcard{display:block;color:inherit;text-decoration:none;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#0b0a0980;transition:border-color .35s,transform .35s}.wcard:hover{border-color:var(--acc);transform:translateY(-3px)}.wcard__thumb{display:block;aspect-ratio:16 / 10;overflow:hidden}.wcard__thumb img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform .6s cubic-bezier(.2,.7,.2,1)}.wcard:hover .wcard__thumb img{transform:scale(1.08)}.wcard__no{display:inline-block;font-family:var(--font-en);font-size:10px;letter-spacing:.2em;color:var(--acc);margin:12px 0 0 14px}.wcard__en{display:inline-block;font-family:var(--font-en);font-size:9px;letter-spacing:.24em;color:var(--paper-dim);margin-left:10px}.wcard__name{display:block;font-size:14px;font-weight:700;letter-spacing:.05em;padding:2px 14px 14px}.detail__cta{margin-top:clamp(44px,7vh,64px)}.detail__cta .btn{margin-top:0}.detail__cta .btn:hover{background:var(--acc)}.detail__nav{margin-top:clamp(52px,8vh,80px);display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:26px}.detail__nav a{color:var(--paper-dim);text-decoration:none;font-size:13px;letter-spacing:.06em;transition:color .3s;max-width:48%}.detail__nav a:hover{color:var(--paper)}@media(max-width:760px){.detail:before{background:linear-gradient(0deg,#0b0a09eb,#0b0a09b8 46%,#0b0a092e 66%,#0b0a0900 80%)}.detail__inner{padding-top:46svh}.dworks__grid,.dfeat li{grid-template-columns:1fr}.dflow li{grid-template-columns:30px 1fr}.dflow li b,.dflow li span{grid-column:2}}[data-reveal]{opacity:0}.no-js [data-reveal],.reveal-ready-off [data-reveal]{opacity:1}@media(max-width:760px){.pc{display:none}.bgrid{grid-template-columns:1fr}.nav a:not(.nav__cta){display:none}.section{min-height:105svh}.hero{justify-content:flex-end;padding-bottom:20svh}}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1}.hero__scroll span{animation:none}.loader__bar{transition:none}}
