:root{--bg:#efeae2;--bg-soft:#e6e0d6;--fg:#16120d;--muted:#8a8175;--sub:#4c453c;--line:#16120d24;--accent:#d8302a;--accent-deep:#a4191c;--chip:#8e4a44;--maxw:1280px;--pad:clamp(20px, 5vw, 64px);--ease:cubic-bezier(.22, 1, .36, 1);--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-jp:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-jp);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:400;line-height:1.7;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(82% 125% at -8% 48%,#841216f5 0%,#b626209e 26%,#d83c2f2e 50%,#d83c2f00 66%),linear-gradient(102deg,#740f1380 0%,#b626201a 30%,#b6262000 50%),radial-gradient(58% 60% at 20% 22%,#ec4a3a3d,#ec4a3a00 60%),linear-gradient(95deg,#e7e1d8 0%,#efece6 46%,#f6f4f0 100%);position:fixed;top:0;bottom:0;left:0;right:0}body:after{content:"";z-index:90;pointer-events:none;opacity:.42;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}a{color:inherit;text-decoration:none}#webgl{z-index:1;pointer-events:none;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.loader{z-index:100;background:var(--bg);transition:opacity .7s var(--ease), visibility .7s var(--ease);background-image:radial-gradient(62% 80% at 18%,#b4282124,#0000 60%);place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.loader.is-hidden{opacity:0;visibility:hidden}.loader__row{align-items:center;gap:clamp(14px,2.4vw,26px);display:flex}.loader__bars{align-items:center;gap:7px;display:flex}.loader__bars i{background:var(--chip);opacity:0;height:clamp(30px,5vw,54px);animation:loaderBarIn .5s var(--ease) forwards;border-radius:1px;display:block;transform:translate(-26px)}.loader__bars i:first-child{width:6px;animation-delay:.12s}.loader__bars i:nth-child(2){width:15px;animation-delay:.24s}.loader__bars i:nth-child(3){width:9px;animation-delay:.36s}@keyframes loaderBarIn{to{opacity:1;transform:translate(0)}}.loader__logo{width:auto;height:clamp(34px,5.6vw,60px);color:var(--fg);clip-path:inset(0 100% 0 0);animation:.75s cubic-bezier(.7,0,.2,1) .5s forwards loaderLogoWipe}@keyframes loaderLogoWipe{to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.loader__bars i,.loader__logo{opacity:1;clip-path:none;animation:none;transform:none}}.mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em}.site-header{z-index:20;padding:clamp(18px, 2.4vw, 26px) var(--pad);position:fixed;top:0;left:0;right:0}.site-header__inner{max-width:var(--maxw);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.site-header__logo{color:var(--fg);transition:color .3s var(--ease);align-items:center;display:inline-flex}.site-header__logo svg{width:auto;height:24px;display:block}.site-header__logo:hover{color:var(--accent)}.site-header__nav{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:clamp(14px,2vw,28px);font-size:12px;font-weight:500;display:flex}.site-header__nav a{transition:color .3s var(--ease)}.site-header__nav a:hover{color:var(--fg)}.site-header__nav .sep{opacity:.4}.site-header__nav .is-cta{background:var(--accent);color:#fff;transition:background .3s var(--ease);border-radius:999px;padding:8px 18px;font-weight:700}.site-header__nav .is-cta:hover{background:var(--accent-deep)}.content{z-index:2;position:relative}.hero,.hero__sticky{height:100vh;min-height:640px;position:relative}.hero__eyebrow{top:clamp(96px,15vh,160px);left:var(--pad);font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:#fff;font-size:12px;font-weight:500;position:absolute}.hero__eyebrow span{border:1px solid #ffffffa6;border-radius:2px;padding:6px 12px;display:inline-block}.hero__headline{left:var(--pad);max-width:min(94vw,900px);position:absolute;bottom:clamp(120px,20vh,200px)}.hero__title,.panel__title{font-family:var(--font-jp);letter-spacing:.01em;font-feature-settings:"palt" 1;white-space:nowrap;color:var(--fg);font-weight:900}.hero__title{font-size:clamp(28px,5vw,72px);line-height:1.04}.hero__title-line{display:block}.hero__sign{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#ffffffe6;margin-top:clamp(16px,2vw,26px);font-size:clamp(11px,1vw,13px);font-weight:500}.hero__lead{right:var(--pad);max-width:min(86vw,30rem);color:var(--sub);text-align:left;font-size:clamp(13px,1.05vw,15px);font-weight:400;line-height:2;position:absolute;bottom:clamp(120px,20vh,200px)}.hero__hint{flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:clamp(28px,5vh,52px);left:50%;transform:translate(-50%)}.hero__hint-label{font-family:var(--font-mono);letter-spacing:.36em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.hero__hint-line{transform-origin:top;width:1px;height:52px;animation:drift 2.2s var(--ease) infinite;background:linear-gradient(#16120d80,#16120d00)}@keyframes drift{0%{opacity:0;transform:scaleY(0)}40%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)translateY(52px)}}.panel{z-index:2;min-height:118vh;padding:clamp(80px, 14vh, 160px) var(--pad);align-items:center;display:flex;position:relative}.panel__inner{width:100%;max-width:600px}.panel--right .panel__inner{margin-left:auto}.panel--left .panel__inner{margin-right:auto}.panel--center{min-height:110vh}.panel--center .panel__inner{text-align:center;max-width:760px;margin:0 auto}.panel__label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--chip);border-radius:2px;align-items:center;gap:10px;margin-bottom:clamp(22px,3vw,34px);padding:8px 15px 8px 13px;font-size:11px;font-weight:600;display:inline-flex;position:relative}.panel__label span{color:#ffffff8c}.panel__label:after{content:"";background:linear-gradient(90deg, var(--chip) 0 4px, transparent 4px 9px, var(--chip) 9px 19px, transparent 19px 24px, var(--chip) 24px 30px);width:30px;height:100%;position:absolute;top:0;left:calc(100% + 7px)}.panel__title{font-size:clamp(28px,4.8vw,64px);line-height:1.06}.panel__body{max-width:40rem;color:var(--sub);margin-top:clamp(22px,3vw,36px);font-size:clamp(14px,1.05vw,16px);font-weight:400;line-height:2.1}.panel--center .panel__body{margin-left:auto;margin-right:auto}.keywords{gap:18px;margin-top:clamp(34px,5vw,56px);list-style:none;display:grid}.keywords li{border-top:1px solid var(--line);grid-template-columns:auto 1fr;align-items:baseline;gap:16px;padding-top:16px;display:grid}.keywords__term{font-family:var(--font-jp);color:var(--fg);font-size:clamp(18px,2vw,24px);font-weight:700}.keywords__no{font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent);text-transform:uppercase;font-size:12px}.keywords em{color:var(--sub);margin-top:6px;font-size:clamp(12px,1vw,14px);font-style:normal;font-weight:400;line-height:1.8;display:block}.services{margin-top:clamp(30px,4vw,48px);list-style:none}.service{border-top:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:clamp(18px,3vw,44px);padding:clamp(22px,3vw,34px) 0;display:grid}.service:last-child{border-bottom:1px solid var(--line)}.service__no{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:12px}.service__name{font-family:var(--font-jp);color:var(--fg);font-size:clamp(18px,2vw,24px);font-weight:700;line-height:1.4}.service__desc{max-width:36rem;color:var(--sub);margin-top:10px;font-size:clamp(12px,1vw,14px);font-weight:400;line-height:1.8}.company{text-align:left;margin-top:clamp(30px,4vw,48px)}.company>div{border-top:1px solid var(--line);grid-template-columns:clamp(118px,15vw,168px) 1fr;align-items:start;gap:20px;padding:14px 0;display:grid}.company>div:last-child{border-bottom:1px solid var(--line)}.company dt{font-family:var(--font-mono);letter-spacing:.04em;color:#fff;background:var(--chip);white-space:nowrap;border-radius:2px;justify-self:start;padding:6px 12px;font-size:11px}.company dd{color:var(--fg);padding-top:3px;font-size:clamp(14px,1.1vw,16px);font-weight:500}.company dd a{border-bottom:1px solid var(--line);transition:border-color .3s var(--ease), color .3s var(--ease)}.company dd a:hover{color:var(--accent);border-color:var(--accent)}.company .muted{color:var(--muted);margin-left:8px;font-size:.85em;font-weight:400}.site-footer{z-index:2;background:var(--bg-soft);padding-top:clamp(40px,8vw,90px);position:relative;overflow:hidden}.site-footer__wordmark{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--accent);text-align:center;opacity:.16;-webkit-user-select:none;user-select:none;margin-bottom:clamp(-24px,-2vw,-10px);font-size:clamp(120px,32vw,520px);font-weight:800;line-height:.8}.site-footer__panel{max-width:var(--maxw);padding:clamp(40px, 6vw, 72px) var(--pad) clamp(28px, 4vw, 44px);margin:0 auto;position:relative}.site-footer__cols{grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,56px);padding-bottom:clamp(32px,5vw,56px);display:grid}.site-footer__sign{font-family:var(--font-jp);color:var(--fg);font-size:clamp(18px,2vw,24px);font-weight:700}.site-footer__note{color:var(--sub);max-width:22rem;margin-top:12px;font-size:13px;line-height:1.9}.site-footer__social{gap:12px;margin-top:20px;display:flex}.site-footer__social a{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);transition:color .3s var(--ease), border-color .3s var(--ease);border-radius:999px;padding:7px 12px;font-size:11px}.site-footer__social a:hover{color:var(--accent);border-color:var(--accent)}.site-footer__h{font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-size:11px}.site-footer__links{flex-direction:column;gap:10px;display:flex}.site-footer__links a{color:var(--fg);width:max-content;transition:color .3s var(--ease);font-size:14px}.site-footer__links a:hover{color:var(--accent)}.site-footer__ctatext{color:var(--sub);max-width:18rem;margin-bottom:18px;font-size:13px;line-height:1.9}.btn{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;background:var(--accent);color:#fff;transition:background .3s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:12px 20px;font-size:12px;display:inline-flex}.btn:hover{background:var(--accent-deep)}.site-footer__legal{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:center;padding-top:20px;font-size:11px;display:flex}.site-footer__legal-links{gap:18px;display:flex}.site-footer__legal-links a{transition:color .3s var(--ease)}.site-footer__legal-links a:hover{color:var(--fg)}@media (max-width:820px){.site-header__nav .sep,.site-header__nav a:not(.is-cta),.hero__lead{display:none}.hero__eyebrow{top:clamp(74px,12vh,118px)}.hero__headline{right:var(--pad);max-width:none;bottom:clamp(80px,13vh,150px)}.hero__title,.panel__title{white-space:normal}.hero__title{font-size:clamp(30px,9vw,56px)}.panel__title{font-size:clamp(27px,7.6vw,48px)}.panel{min-height:auto;padding:clamp(88px, 15vh, 130px) var(--pad) clamp(60px, 11vh, 104px)}.panel__inner,.panel--center .panel__inner{text-align:left;max-width:none;margin:0}.panel--center .panel__label{justify-content:flex-start}.panel--center .panel__body{margin-left:0;margin-right:0}.site-footer__cols{grid-template-columns:1fr;gap:36px}.company>div{grid-template-columns:1fr;gap:6px}}@media (prefers-reduced-motion:reduce){.loader__mark,.hero__hint-line{animation:none}}.content--sub{z-index:2;padding-top:clamp(120px,18vh,200px);position:relative}.contact{padding:clamp(20px, 4vh, 48px) var(--pad) clamp(60px, 10vh, 120px)}.contact__inner{max-width:760px;margin:0 auto}.contact__title{font-family:var(--font-jp);color:var(--fg);font-size:clamp(40px,7vw,92px);font-weight:900;line-height:1.05}.contact__lead{color:var(--sub);margin-top:18px;font-size:clamp(14px,1.1vw,16px);line-height:2}.form{gap:22px;margin-top:clamp(36px,5vw,56px);display:grid}.form__row{grid-template-columns:1fr 1fr;gap:22px;display:grid}.field{gap:8px;display:grid}.field>span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px}.field input,.field select,.field textarea{font-family:var(--font-jp);color:var(--fg);border:1px solid var(--line);width:100%;transition:border-color .3s var(--ease), background .3s var(--ease);background:#ffffff80;border-radius:4px;outline:none;padding:14px 16px;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:#ffffffd9}.field textarea{resize:vertical}.btn--lg{width:max-content;padding:16px 28px;font-size:13px}.btn[disabled]{opacity:.55;cursor:progress}.field .req{font-family:var(--font-mono);letter-spacing:.08em;color:#fff;background:var(--accent);vertical-align:middle;border-radius:2px;margin-left:6px;padding:2px 6px;font-size:9px;font-style:normal}.field-error{color:var(--accent-deep);font-size:12px;line-height:1.6;display:none}.field.has-error .field-error{display:block}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--accent);background:#d8302a0f}.form__status{border-radius:4px;padding:14px 16px;font-size:13px;line-height:1.8}.form__status.is-success{color:var(--accent-deep);border:1px solid var(--line);background:#d8302a12}.form__status.is-error{color:#fff;background:var(--accent-deep)}.hp{width:1px!important;height:1px!important;position:absolute!important;top:auto!important;left:-10000px!important;overflow:hidden!important}.form__note{color:var(--accent-deep);font-size:12px;line-height:1.8}.contact__info{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;margin-top:clamp(44px,6vw,72px);padding-top:32px;display:grid}.contact__info a,.contact__info p{color:var(--fg);font-size:14px}.contact__info .muted{color:var(--muted);margin-left:6px;font-size:.85em}@media (max-width:720px){.form__row,.contact__info{grid-template-columns:1fr}}
