@charset "UTF-8";
#header.kb-site-header,#kb-site-menu{--kb-ink:#073b4a;--kb-paper:#f8f7f1;--kb-line:#dbe1df;--kb-orange:#ef8210;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--kb-ink);line-height:1.6;font-size:14px;letter-spacing:0}
#header.kb-site-header *,#kb-site-menu *{box-sizing:border-box}
#header.kb-site-header{position:sticky!important;top:0!important;left:0!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:var(--kb-paper)!important;box-shadow:none!important;border:0!important;border-bottom:1px solid var(--kb-line)!important;z-index:1000!important;transform:none!important;opacity:1!important}
#header.kb-site-header .kb-header-inner{display:flex;align-items:center;gap:36px;width:100%;max-width:1600px;margin:auto;padding:18px 4%;height:88px}
#header.kb-site-header a,#kb-site-menu a{color:inherit;text-decoration:none;box-shadow:none}
#header.kb-site-header button,#kb-site-menu button{cursor:pointer;font:inherit;color:inherit;border:0;background:none;box-shadow:none}
#header.kb-site-header img,#kb-site-menu img{display:block;width:180px;height:auto;max-width:100%;object-fit:contain}
#header.kb-site-header .kb-header-brand{display:block;flex:0 0 180px}
#header.kb-site-header .kb-header-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:13px;font-weight:600;white-space:nowrap}
#header.kb-site-header .kb-header-nav a{padding:10px 0;position:relative}
#header.kb-site-header .kb-header-nav a[aria-current="page"]::after{content:"";position:absolute;bottom:1px;height:2px;background:var(--kb-orange);left:0;right:0}
#header.kb-site-header .kb-header-actions{display:flex;align-items:center;gap:12px}
#header.kb-site-header .kb-header-reserve,#header.kb-site-header .kb-header-visit{display:inline-flex;align-items:center;justify-content:center;gap:14px;white-space:nowrap;border:1px solid #bdccca;border-radius:50px;padding:11px 18px;font-size:12px;font-weight:600;line-height:1.6}
#header.kb-site-header .kb-header-visit{background:#f9d7b3;border-color:#ecc7a0;color:#073b4a}
#header.kb-site-header .kb-visit-mobile{display:none}
#header.kb-site-header .kb-header-menu{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-width:48px;min-height:48px;padding:0;margin-left:10px;font-size:9px;letter-spacing:.1em;line-height:1}
#header.kb-site-header .kb-menu-lines{display:flex;flex-direction:column;gap:6px;width:26px}
#header.kb-site-header .kb-menu-lines i{display:block;height:1.5px;background:var(--kb-ink);width:100%}
#header.kb-site-header a:hover,#kb-site-menu a:hover{color:#b45b13}
#header.kb-site-header .kb-header-visit:hover{background:#f2cba2;border-color:#dfb88f;color:var(--kb-ink)}
#header.kb-site-header a:focus-visible,#header.kb-site-header button:focus-visible,#kb-site-menu a:focus-visible,#kb-site-menu button:focus-visible{outline:3px solid var(--kb-orange);outline-offset:4px}
#kb-site-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(1120px,100%);max-width:100%;height:100%;max-height:100dvh;border:0;padding:0;background:var(--kb-paper);overflow-y:auto;overscroll-behavior:contain}
#kb-site-menu:not([open]){display:none}
#kb-site-menu::backdrop{background:rgba(7,59,74,.35)}
#kb-site-menu .kb-menu-shell{padding:30px 6% 36px}
#kb-site-menu .kb-menu-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
#kb-site-menu .kb-menu-close{display:flex;align-items:center;gap:20px;font-size:12px;min-height:44px;padding:4px 0 4px 12px}
#kb-site-menu .kb-menu-close span{font-size:34px;line-height:1;font-weight:300}
#kb-site-menu .kb-menu-heading{margin:48px 0 44px}
#kb-site-menu .kb-menu-heading p{font-size:10px;letter-spacing:.14em;margin:0 0 14px;color:#5a6d71;font-weight:700}
#kb-site-menu .kb-menu-heading h2{font-size:28px;line-height:1.7;color:var(--kb-ink);margin:0;padding:0;background:none;border:0;box-shadow:none}
#kb-site-menu h2::before,#kb-site-menu h2::after,#kb-site-menu h3::before,#kb-site-menu h3::after{display:none}
#kb-site-menu .kb-menu-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
#kb-site-menu .kb-menu-groups h3{font-size:13px;font-weight:700;margin:0 0 14px;padding:0;background:none;border:0;box-shadow:none;line-height:1.7;color:var(--kb-ink)}
#kb-site-menu .kb-menu-groups h3 span{font-size:10px;color:var(--kb-orange);margin-right:8px}
#kb-site-menu .kb-menu-groups a{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--kb-line);padding:18px 0;font-size:14px;line-height:1.7}
#kb-site-menu .kb-menu-groups a[aria-current="page"]{font-weight:700;color:#ae5812}
#kb-site-menu .kb-menu-groups a span{font-size:13px;color:#5a6d71}
#kb-site-menu .kb-menu-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:44px;padding-top:28px;border-top:1px solid var(--kb-line)}
#kb-site-menu .kb-menu-contact{display:flex;justify-content:space-between;gap:50px;background:var(--kb-ink);color:white;padding:15px 24px;border-radius:50px;font-size:13px}
#kb-site-menu .kb-menu-phone{font-size:12px}
#kb-site-menu .kb-menu-bottom p{margin:0 0 0 auto;font-size:11px;color:#5a6d71}
.kb-menu-noscript{display:flex;flex-wrap:wrap;gap:16px;padding:20px;background:#f8f7f1;font-size:12px}
@media(max-width:1180px){#header.kb-site-header .kb-header-nav{display:none}#header.kb-site-header .kb-header-actions{margin-left:auto}#header.kb-site-header .kb-header-inner{gap:20px}}
@media(max-width:760px){
#header.kb-site-header .kb-header-inner{height:72px;padding:12px 5%;gap:10px}
#header.kb-site-header .kb-header-brand{flex-basis:140px}
#header.kb-site-header img{width:140px}
#header.kb-site-header .kb-header-reserve,#header.kb-site-header .kb-visit-desktop{display:none}
#header.kb-site-header .kb-visit-mobile{display:inline}
#header.kb-site-header .kb-header-visit{font-size:11px;padding:10px 12px;gap:8px}
#header.kb-site-header .kb-header-actions{gap:10px}
#header.kb-site-header .kb-header-menu{margin:0;min-width:40px;font-size:8px}
#kb-site-menu .kb-menu-shell{padding:22px 7% 32px}
#kb-site-menu img{width:145px}
#kb-site-menu .kb-menu-heading{margin:32px 0}
#kb-site-menu .kb-menu-heading h2{font-size:21px}
#kb-site-menu .kb-menu-groups{grid-template-columns:1fr;gap:32px}
#kb-site-menu .kb-menu-groups a{padding:14px 0;font-size:14px}
#kb-site-menu .kb-menu-bottom{align-items:flex-start;flex-direction:column;gap:20px;margin-top:32px}
#kb-site-menu .kb-menu-contact{width:100%;font-size:13px}
#kb-site-menu .kb-menu-bottom p{margin:0}
}
@media(prefers-reduced-motion:no-preference){#kb-site-menu[open]{animation:kb-menu-appear .22s ease-out}@keyframes kb-menu-appear{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}}
#header.kb-site-header .kb-header-logo-title{flex:0 0 180px;margin:0;padding:0;font-size:inherit;line-height:1;border:0;background:none;box-shadow:none}
#header.kb-site-header .kb-header-logo-title::before,#header.kb-site-header .kb-header-logo-title::after{display:none}
@media(max-width:760px){#header.kb-site-header .kb-header-logo-title{flex-basis:140px}}
@media(max-width:380px){#header.kb-site-header .kb-header-brand,#header.kb-site-header .kb-header-logo-title{flex-basis:120px}#header.kb-site-header img{width:120px}}

/* Shared, gentle arrival for page titles. */
@keyframes kb-page-title-arrive{from{opacity:0;filter:blur(3px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 #body_wrap h1:not(.kb-header-logo-title),#body_wrap .kb-hero-copy__title{animation:kb-page-title-arrive 1.15s cubic-bezier(.22,1,.36,1) .12s both!important}
}
@media(prefers-reduced-motion:reduce){
 #body_wrap h1:not(.kb-header-logo-title),#body_wrap .kb-hero-copy__title{animation:none!important;opacity:1;filter:none;transform:none}
}

#kb-site-menu .kb-menu-home-nav{margin:23px 0 0}
#kb-site-menu .kb-menu-home{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:43px;padding:10px 20px;border:1px solid #d1ddc6;border-radius:99px;background:#edf1e7;color:#315641;text-decoration:none;font-size:12px;line-height:1.8}
#kb-site-menu .kb-menu-home:hover{background:#e3ecd9}
#kb-site-menu .kb-menu-home:focus-visible{outline:3px solid #b17c43;outline-offset:4px}
#kb-site-menu .kb-menu-home-nav+.kb-menu-heading{margin-top:24px}
