/* KĀHUI shared public-site shell, 2026-11-11.
 * Keep product-page layouts independent. All classes are k-shell-prefixed.
 * Header, menu and footer appear on STUDIO, SITE, HUB, FLOW, BI and AI.
 */
:root { --k-shell-forest:#1e3729; --k-shell-footer:#121412; --k-shell-white:#fafaf7; }
[data-k-shell-legacy]{display:none!important}
#mobile-menu.mobile-menu{display:none!important}
.k-shell-header,.k-shell-header *,.k-shell-overlay,.k-shell-overlay *,.k-shell-footer,.k-shell-footer *{box-sizing:border-box}
.k-shell-header{position:relative!important;z-index:1100!important;display:block!important;width:100%!important;background:#f9faf7!important;border-bottom:1px solid #e2e8e1!important;color:#1b3326!important;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;line-height:1.4!important;transform:none!important;isolation:isolate}
.k-shell-header__inner{width:min(1240px,calc(100% - 50px));min-height:79px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.k-shell-header a,.k-shell-header button{text-decoration:none!important}
.k-shell-brand{display:inline-flex!important;flex-wrap:nowrap;align-items:baseline;gap:8px;color:#1b3326!important;font-size:clamp(18px,2vw,22px)!important;font-weight:800!important;letter-spacing:-.048em!important;line-height:1.25!important;white-space:nowrap}
.k-shell-brand small{font-size:10px!important;letter-spacing:.17em!important;font-weight:730!important;color:#688372!important;margin-left:3px}
.k-shell-actions{display:flex;align-items:center;justify-content:flex-end;gap:21px}
.k-shell-back{font-size:12px!important;line-height:1.5!important;color:#47634f!important;font-weight:720!important;white-space:nowrap}
.k-shell-back:hover{text-decoration:underline!important;text-underline-offset:5px}
.k-shell-toggle{font-family:inherit!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:13px!important;min-width:91px!important;min-height:44px!important;padding:10px 13px!important;border:1px solid #cedbd0!important;border-radius:9px!important;background:transparent!important;color:#1b3326!important;font-size:12px!important;font-weight:750!important;letter-spacing:.02em!important;box-shadow:none!important;cursor:pointer!important;opacity:1!important;transform:none!important;position:relative!important}
.k-shell-toggle:hover{background:#edf3ed!important}
.k-shell-toggle:focus-visible,.k-shell-back:focus-visible,.k-shell-overlay a:focus-visible,.k-shell-overlay button:focus-visible,.k-shell-footer a:focus-visible{outline:3px solid #90b8a0!important;outline-offset:4px!important}
.k-shell-toggle__lines{display:flex;flex-direction:column;gap:5px;width:20px}
.k-shell-toggle__lines i{display:block;width:20px;height:2px;background:currentColor;border-radius:2px}
.k-shell-overlay[hidden]{display:none!important}
.k-shell-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:var(--k-shell-forest)!important;color:var(--k-shell-white)!important;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;line-height:1.35!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.k-shell-overlay__inner{min-height:100%;width:min(1120px,calc(100% - 72px));margin:0 auto;display:flex;flex-direction:column;padding:clamp(36px,5vw,56px) 0 46px}
.k-shell-overlay__top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.k-shell-overlay__brand{font-size:18px;font-weight:410;letter-spacing:.24em;color:#f7f7f4}
.k-shell-close{display:inline-flex!important;align-items:center!important;gap:18px!important;border:0!important;background:none!important;color:#f7f7f4!important;font-family:inherit!important;font-size:13px!important;font-weight:450!important;letter-spacing:.14em!important;cursor:pointer!important;padding:12px 0!important;opacity:1!important;transform:none!important}
.k-shell-close::after{content:"";display:block;width:38px;height:1px;background:#fff}
.k-shell-list{display:flex;flex-direction:column;width:100%;margin:clamp(45px,8vh,95px) 0 auto;padding:0;list-style:none}
.k-shell-list li{border-bottom:1px solid rgba(245,247,244,.27);margin:0;padding:0}
.k-shell-list a{display:flex!important;align-items:center;gap:clamp(22px,7vw,75px);width:100%;min-height:clamp(72px,10vh,112px);padding:16px 16px!important;color:#fafbf9!important;text-decoration:none!important;font-weight:330!important;line-height:1.25!important;letter-spacing:-.035em!important;font-size:clamp(24px,4.2vw,40px)!important;opacity:1!important;transform:none!important;background:transparent!important}
.k-shell-list a:hover,.k-shell-list a:focus-visible{background:rgba(255,255,255,.07)!important}
.k-shell-list__num{font-size:13px!important;flex:0 0 31px;color:#9caf9f!important;letter-spacing:0;font-weight:450!important}
.k-shell-list__note{font-size:10px!important;font-weight:700!important;letter-spacing:.06em!important;white-space:nowrap;color:#b2c9b6!important;margin-left:auto}
.k-shell-overlay__bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#b0c6b6;font-size:11px;letter-spacing:.08em;padding-top:34px}
.k-shell-overlay__bottom a{color:#d0e2d4!important;font-size:11px!important}
html.k-shell-menu-open,body.k-shell-menu-open{overflow:hidden!important;overscroll-behavior:none!important}
.k-shell-footer{width:100%!important;display:block!important;background:var(--k-shell-footer)!important;color:#f2f3f0!important;padding:0!important;border:0!important;margin:0!important;position:relative!important;z-index:1!important;opacity:1!important;transform:none!important;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;line-height:1.6!important;text-align:left!important}
.k-shell-footer a{text-decoration:none!important;color:inherit!important}
.k-shell-footer__inner{width:min(1180px,calc(100% - 70px));margin:0 auto;padding:clamp(50px,8vw,94px) 0 33px}
.k-shell-footer__contact{display:flex!important;align-items:center;justify-content:space-between;gap:22px;padding:0 0 20px;border-bottom:1px solid rgba(255,255,255,.68);font-size:clamp(17px,3vw,29px)!important;font-weight:350!important;letter-spacing:.04em!important;text-transform:uppercase}
.k-shell-footer__contact:hover{color:#bee0c8!important}
.k-shell-footer__logo{display:flex;flex-direction:column;align-items:center;text-align:center;margin:clamp(70px,10vw,140px) 0 clamp(65px,9vw,120px);gap:4px}
.k-shell-footer__logo strong{font-weight:300!important;font-size:clamp(72px,15vw,155px)!important;line-height:1.2!important;letter-spacing:.16em!important;padding-left:.16em;white-space:nowrap}
.k-shell-footer__logo span{font-size:13px!important;letter-spacing:.52em!important;font-weight:400!important;padding-left:.52em}
.k-shell-footer__social{display:flex;align-items:center;justify-content:center;gap:25px;margin:0 0 clamp(50px,7vw,85px);font-size:12px;letter-spacing:.10em}
.k-shell-footer__social a:hover{text-decoration:underline!important;text-underline-offset:4px}
.k-shell-footer__meta{display:grid;grid-template-columns:1fr 1fr;row-gap:15px;column-gap:20px;font-size:11px;letter-spacing:.07em;color:#c3c7c1}
.k-shell-footer__meta>div:nth-child(even){text-align:right}
.k-shell-footer__meta a{display:inline-block;border-bottom:1px solid #aeb9ad;padding-bottom:6px}
.k-shell-footer__meta a:hover{color:#fff!important}
.k-shell-footer__meta .k-shell-home-link{font-weight:700;color:#d8ead9!important}
@media(max-width:700px){
 .k-shell-header__inner{width:calc(100% - 32px);min-height:69px;gap:8px}
 .k-shell-brand{font-size:18px!important;gap:5px}
 .k-shell-brand small{font-size:8px!important;margin-left:1px}
 .k-shell-actions{gap:7px}
 .k-shell-back{font-size:10px!important;max-width:88px;white-space:normal;text-align:right;line-height:1.25!important}
 .k-shell-toggle{min-width:49px!important;width:49px!important;height:44px!important;padding:8px!important;border-radius:8px!important}
 .k-shell-toggle>span:first-child{display:none!important}
 .k-shell-overlay__inner{width:calc(100% - 46px);padding:42px 0 28px}
 .k-shell-overlay__brand{font-size:15px}
 .k-shell-list{margin-top:clamp(42px,7vh,70px)}
 .k-shell-list a{font-size:clamp(22px,5vw,31px)!important;min-height:78px;gap:20px;padding:14px 7px!important}
 .k-shell-list__num{font-size:12px!important;flex-basis:26px}
 .k-shell-list__note{font-size:9px!important}
 .k-shell-footer__inner{width:calc(100% - 46px);padding:61px 0 31px}
 .k-shell-footer__contact{font-size:clamp(18px,5vw,24px)!important}
 .k-shell-footer__logo{margin:78px 0 70px}
 .k-shell-footer__logo strong{font-size:clamp(55px,15vw,94px)!important}
 .k-shell-footer__logo span{font-size:11px!important}
 .k-shell-footer__social{font-size:11px;gap:23px;margin-bottom:65px}
 .k-shell-footer__meta{font-size:10px;row-gap:23px}
}
@media(max-width:365px){
 .k-shell-footer__logo strong{font-size:52px!important}
 .k-shell-brand{font-size:16px!important}
 .k-shell-list a{font-size:22px!important;gap:13px}
}
@media(prefers-reduced-motion:reduce){.k-shell-header *,.k-shell-overlay *,.k-shell-footer *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
