:root{--kc-green:#00c35a;--kc-ink:#090a09;--kc-paper:#f0ece2}.brand-logo{display:block;width:clamp(150px,16vw,230px);line-height:0}.brand-logo img{display:block;width:100%;height:auto}.menu-toggle{position:fixed;z-index:102;right:34px;top:27px;width:74px;height:42px;padding:8px 0 5px;border:0;background:transparent;color:#fff;mix-blend-mode:difference;cursor:pointer}.menu-toggle span{position:absolute;right:0;width:30px;height:1px;background:currentColor;transition:transform .55s cubic-bezier(.76,0,.24,1),top .55s,opacity .3s}.menu-toggle span:first-child{top:10px}.menu-toggle span:nth-child(2){top:19px;width:20px}.menu-toggle em{position:absolute;right:0;bottom:0;font:500 8px/1 Noto Sans JP,sans-serif;letter-spacing:.25em;font-style:normal}.menu-open .menu-toggle{mix-blend-mode:normal}.menu-open .menu-toggle span:first-child{top:14px;transform:rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){top:14px;width:30px;transform:rotate(-45deg)}.menu-open .menu-toggle em{opacity:0}.global-menu{position:fixed;z-index:100;inset:0;visibility:hidden;pointer-events:none;color:var(--kc-paper)}.menu-backdrop{position:absolute;inset:0;background:#080908;transform:translate(100%);transition:transform .8s cubic-bezier(.76,0,.24,1)}.menu-inner{position:relative;z-index:1;min-height:100%;padding:clamp(28px,5vw,70px);display:grid;grid-template-columns:minmax(210px,.75fr) minmax(420px,1.25fr);gap:9vw;align-items:center;opacity:0;transition:opacity .35s .05s}.menu-inner>img{position:absolute;top:32px;left:clamp(28px,5vw,70px);width:clamp(160px,18vw,260px)}.menu-statement{font:500 clamp(29px,4.4vw,68px)/1.65 "Shippori Mincho B1",serif;letter-spacing:.02em}.menu-links{border-top:1px solid rgba(255,255,255,.2)}.menu-links a{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:20px;min-height:82px;color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.17);transition:padding .35s,color .35s}.menu-links a:hover{padding-left:12px;color:#9af5be}.menu-links i{font:400 9px/1 serif;font-style:normal;opacity:.55}.menu-links span{font:500 clamp(22px,3vw,42px)/1.2 "Shippori Mincho B1",serif}.menu-links small{font:500 8px/1 sans-serif;letter-spacing:.2em;opacity:.45}.menu-open .global-menu{visibility:visible;pointer-events:auto}.menu-open .menu-backdrop{transform:none}.menu-open .menu-inner{opacity:1;transition-delay:.45s}.menu-open{overflow:hidden}.site-loader{position:fixed;z-index:1000;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#070807;color:#eee9df;transition:opacity .8s .2s,visibility .8s .2s}.site-loader img{position:relative;width:min(520px,68vw);max-height:26vh;object-fit:contain;animation:loaderLogo 2.4s ease-in-out infinite}.site-loader.is-finished{opacity:0;visibility:hidden}.is-loading{overflow:hidden}@keyframes loaderLogo{0%,to{opacity:.32}50%{opacity:1}}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.footer-info{grid-column:1/-1;width:100%;margin-top:clamp(70px,9vw,130px);padding-top:34px;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:6vw;color:#eee9df}.footer-info small{display:block;margin:0 0 18px!important;font:500 8px/1 sans-serif!important;letter-spacing:.25em!important;opacity:.45!important}.footer-info p{margin:0!important;justify-self:auto!important;font:400 12px/1.8 Noto Sans JP,sans-serif!important;letter-spacing:.04em!important}.footer-info a{display:block;width:max-content;max-width:100%;margin:0 0 11px;color:inherit;text-decoration:none;font:400 12px/1.5 Noto Sans JP,sans-serif;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.25)}.has-contact>small:last-child{grid-column:1/-1!important;margin-top:70px!important}@media(max-width:720px){.menu-toggle{right:19px;top:18px}.menu-inner{grid-template-columns:1fr;padding:90px 24px 26px;gap:18px;align-content:center}.menu-inner>img{top:23px;left:22px;width:150px}.menu-statement{font-size:25px;line-height:1.45;margin:0}.menu-links a{min-height:61px}.menu-links span{font-size:23px}.menu-links small{display:none}.footer-info{grid-template-columns:1fr;gap:34px;margin-top:35px}.has-contact>small:last-child{margin-top:30px!important}}@media(prefers-reduced-motion:reduce){.site-loader *,.reveal{animation:none!important;transition-duration:.01ms!important}}
