/* v5.16.0 — Shared shell only. Never restyle, hide or rebuild page-body cards. */
body.j16-shell{
 --j16-ink:#263b30;--j16-green:#233b2e;--j16-deep:#1c3025;
 --j16-paper:#fbfaf6;--j16-line:#d6ddd4;--j16-light:#e5ebe4;
 --j16-gutter:32px;--j16-max:1120px;--j16-admin-offset:0px;
 --j16-serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
}
body.j16-shell.admin-bar{--j16-admin-offset:32px}
.j16-container{box-sizing:border-box;width:min(var(--j16-max),calc(100% - 2 * var(--j16-gutter)));margin-inline:auto}
.j16-skip{position:absolute;left:12px;top:0;z-index:1000003;transform:translateY(-200%);padding:12px 18px;background:#fff;color:#142c20}
.j16-skip:focus{transform:none;top:12px}
.j16-header,.j16-footer,.j16-actionbar,.j16-utility{box-sizing:border-box;letter-spacing:.02em;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
:where(.j16-header,.j16-footer,.j16-actionbar,.j16-utility) :where(a,button):focus-visible{outline:3px solid #d6b870;outline-offset:3px}
:where(.j16-header,.j16-footer,.j16-actionbar,.j16-utility) button{font:inherit}
.j16-utility{background:#eef0e9;color:var(--j16-ink);border-bottom:1px solid var(--j16-line)}
.j16-utility>.j16-container{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:36px;font-size:13px;line-height:1.5}
.j16-utility a{display:inline-flex;align-items:center;min-height:36px;color:inherit;text-decoration:none;white-space:nowrap}
.j16-header{position:sticky;top:var(--j16-admin-offset);z-index:900;background:var(--j16-green);color:var(--j16-paper);border-bottom:1px solid #ffffff20}
.j16-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}
.j16-brand{display:flex;align-items:center;flex:0 0 auto;gap:11px;text-decoration:none;color:inherit;min-height:60px}
.j16-crest{width:46px;height:46px;object-fit:contain;flex:0 0 46px;border-radius:50%;background:#fbfaf6}
.j16-custom-crest{border-radius:0}
.j16-brand-type{display:flex;flex-direction:column;line-height:1.35;white-space:nowrap;font-family:var(--j16-serif)}
.j16-brand-type small{font-size:11px;letter-spacing:.09em}
.j16-brand-type strong{font-size:28px;letter-spacing:.18em;font-weight:500}
.j16-nav{min-width:0;flex:0 1 auto}
.j16-nav ul{list-style:none;margin:0;padding:0}
.j16-nav>.j16-menu{display:flex;align-items:center;gap:14px;font-size:14px}
.j16-nav .menu-item{position:relative;list-style:none;min-width:0;margin:0;padding:0}
.j16-nav>.j16-menu>li{display:flex;align-items:center;flex:0 0 auto}
.j16-nav a{color:inherit;text-decoration:none;line-height:1.6}
.j16-nav>.j16-menu>li>a{display:flex;align-items:center;min-height:52px;padding:12px 0;white-space:nowrap;font-size:14px}
.j16-nav>.j16-menu>li.j16-contact-item>a{border:1px solid #d3c49a;border-radius:2px;background:#f4efdF;color:#253d30;padding:10px 15px;min-height:46px;font-weight:600;font-size:13px}
.j16-nav a:hover,.j16-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.j16-nav .sub-menu{position:absolute;left:0;top:100%;z-index:2;width:252px;max-width:calc(100vw - 40px);padding:8px;background:var(--j16-paper);color:var(--j16-ink);border:1px solid var(--j16-line);border-radius:2px;box-shadow:0 10px 24px #14261c22;font-size:14px}
.j16-nav>.j16-menu>li:nth-last-child(-n+3)>.sub-menu{left:auto;right:0}
.j16-nav .sub-menu a{display:block;min-height:44px;padding:10px 12px;white-space:normal;overflow-wrap:anywhere}
.j16-nav .sub-menu a:hover{background:#edf1e9}
.j16-nav .sub-menu .sub-menu{position:static;box-shadow:none;border:0;border-left:1px solid var(--j16-line);width:auto;margin-left:14px;padding:0 0 0 4px}
.j16-sub-toggle{display:none;align-items:center;justify-content:center;flex:0 0 24px;width:24px;min-height:44px;border:0;background:none;color:inherit;cursor:pointer;font-size:16px;line-height:1;margin:0;padding:0}
.j16-header.j16-enhanced .j16-sub-toggle{display:inline-flex}
.j16-sub-toggle[aria-expanded="true"]{color:inherit}
.j16-nav .sub-menu>li.menu-item-has-children{padding-right:44px}
.j16-nav .sub-menu .j16-sub-toggle{position:absolute;right:0;top:0;width:44px}
.j16-nav .sub-menu>li>.sub-menu{margin-right:-44px}
.j16-nav-utilities{display:none}
.j16-menu-button{display:none;align-items:center;justify-content:center;flex-direction:column;gap:6px;flex:0 0 64px;min-height:60px;min-width:64px;padding:6px;border:1px solid #ffffff40;border-radius:2px;color:inherit;background:none;cursor:pointer;font-size:11px;line-height:1.2}
.j16-menu-icon{display:block;width:23px;height:20px;position:relative}
.j16-menu-icon i{display:block;position:absolute;left:0;right:0;height:1px;background:currentColor;top:2px}
.j16-menu-icon i:nth-child(2){top:9px}.j16-menu-icon i:nth-child(3){top:16px}
.j16-menu-button[aria-expanded="true"] .j16-menu-icon i:first-child{transform:translateY(7px) rotate(45deg)}
.j16-menu-button[aria-expanded="true"] .j16-menu-icon i:nth-child(2){opacity:0}
.j16-menu-button[aria-expanded="true"] .j16-menu-icon i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* No JavaScript: hover/focus menus work, and all nested links are visible on narrow screens. */
.j16-header:not(.j16-enhanced) .sub-menu{display:none}
.j16-header:not(.j16-enhanced) li:hover>.sub-menu,.j16-header:not(.j16-enhanced) li:focus-within>.sub-menu{display:block}
.j16-header.j16-enhanced [hidden],.j16-footer.j16-enhanced [hidden]{display:none!important}

.j16-footer{background:var(--j16-deep);color:var(--j16-light);padding:50px 0 24px;width:100%;margin:0;max-width:none}
.j16-footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:28px;align-items:start}
.j16-footer-about{min-width:0}
.j16-footer a{color:inherit;text-decoration:none;line-height:1.7;overflow-wrap:anywhere}
.j16-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.j16-footer-brand{display:inline-flex;flex-direction:column;font-family:var(--j16-serif);line-height:1.4;margin:0 0 18px}
.j16-footer-brand small{font-size:12px;letter-spacing:.08em}.j16-footer-brand strong{font-size:29px;letter-spacing:.16em;font-weight:500}
.j16-footer-about p{font-size:13px;line-height:1.9;color:#d6dfd5;margin:0 0 12px}
.j16-footer-about>a:not(.j16-footer-brand){display:block;min-height:44px;padding:10px 0;font-size:13px}
.j16-footer-about>a.j16-footer-phone{font-size:15px;white-space:nowrap;padding-bottom:8px}
.j16-footer-group{min-width:0;margin:0;padding:0}
.j16-footer-group h2,.j16-footer-extra h2{font-family:inherit;font-size:14px;font-weight:600;line-height:1.6;color:#fff;margin:0 0 15px;padding:0;letter-spacing:.03em}
.j16-footer-toggle{display:none;width:100%;min-height:54px;align-items:center;justify-content:space-between;text-align:left;border:0;background:none;color:inherit;padding:12px 0;cursor:pointer}
.j16-footer-toggle span{font-size:20px;font-weight:400}
.j16-footer .j16-menu,.j16-footer .sub-menu,.j16-extra-list{list-style:none;padding:0;margin:0}
.j16-footer .j16-menu li,.j16-extra-list li{list-style:none;margin:0;padding:0}
.j16-footer .j16-menu a{display:block;font-size:13px;min-height:40px;padding:8px 0;line-height:1.8}
.j16-footer .sub-menu{padding-left:14px;border-left:1px solid #ffffff30}
.j16-footer .j16-menu [aria-current="page"]{color:#fff;text-decoration:underline;text-underline-offset:4px}
.j16-footer-extra{margin-top:28px;border-top:1px solid #ffffff24;padding-top:22px}
.j16-extra-list{display:flex;flex-wrap:wrap;gap:0 26px}.j16-extra-list a{display:block;font-size:13px;padding:10px 0;min-height:44px}
.j16-footer-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff24;padding-top:20px;margin-top:28px;color:#ccd7cc;font-size:12px;line-height:1.8}
.j16-actionbar{display:none}
/* A single horizontal grid for the title and common shell; full-bleed photographs stay untouched. */
.j16-shell>.page-hero>.wrap,.j16-shell .news-index-hero-inner.wrap{width:min(var(--j16-max),calc(100% - 2 * var(--j16-gutter)));margin-inline:auto}
body.j16-menu-open{overflow:hidden}
body.j16-shell :where(main,.page-hero,[id]){scroll-margin-top:calc(var(--j16-header-height,88px) + var(--j16-admin-offset) + 18px)}

@media(max-width:1199px){
 .j16-header-inner{flex-wrap:wrap;gap:0 20px;min-height:80px}
 .j16-brand{min-height:80px}
 .j16-header.j16-enhanced .j16-menu-button{display:inline-flex;margin-left:auto}
 .j16-nav{width:100%;flex-basis:100%;padding:8px 0 24px}
 .j16-nav>.j16-menu{display:block;font-size:16px}
 .j16-nav>.j16-menu>li{display:block;border-top:1px solid #ffffff28}
 .j16-nav>.j16-menu>li>a{min-height:56px;padding:15px 52px 15px 0;white-space:normal;font-size:16px}
 .j16-nav>.j16-menu>li.j16-contact-item>a{min-height:52px;margin-top:12px;padding:13px 18px;font-size:15px;text-align:center;justify-content:center}
 .j16-nav>.j16-menu>li>.j16-sub-toggle{position:absolute;right:0;top:0;min-height:55px;width:48px;border-left:1px solid #ffffff24}
 .j16-nav .sub-menu,.j16-nav .sub-menu .sub-menu{position:static;left:auto;right:auto;width:auto;max-width:none;padding:4px 12px;margin:0 0 12px;border:0;border-radius:0;box-shadow:none;background:#f3f3ed;color:var(--j16-ink)}
 .j16-nav .sub-menu .sub-menu{padding-left:12px;margin:0 0 0 12px;border-left:1px solid var(--j16-line)}
 .j16-nav .sub-menu a{padding:12px 10px;min-height:48px;font-size:15px}
 .j16-header:not(.j16-enhanced) .sub-menu{display:block}
 .j16-header.j16-enhanced .j16-nav{display:none;position:fixed;top:var(--j16-header-bottom,80px);bottom:0;left:0;right:0;width:100%;max-height:calc(var(--j16-vh,100dvh) - var(--j16-header-bottom,80px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--j16-green);padding:14px max(var(--j16-gutter),calc((100% - var(--j16-max))/2)) calc(32px + env(safe-area-inset-bottom));border-top:1px solid #ffffff24}
 .j16-header.j16-enhanced.j16-menu-is-open .j16-nav{display:block}
 .j16-nav-utilities{display:flex;flex-wrap:wrap;gap:4px 24px;border-top:1px solid #ffffff28;padding:14px 0 0;margin-top:18px}
 .j16-nav-utilities a{min-height:44px;padding:12px 0;font-size:14px}
 .j16-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
 .j16-footer-about{grid-column:1/-1;border-bottom:1px solid #ffffff24;padding-bottom:24px}
}
/* Content-width fallback for unusually long custom menus or enlarged text. */
.j16-header.j16-compact .j16-header-inner{flex-wrap:wrap;gap:0 20px}
.j16-header.j16-compact.j16-enhanced .j16-menu-button{display:inline-flex;margin-left:auto}
.j16-header.j16-compact .j16-nav{width:100%;flex-basis:100%}
.j16-header.j16-compact.j16-enhanced .j16-nav{display:none;position:fixed;top:var(--j16-header-bottom,88px);bottom:0;left:0;right:0;width:100%;max-height:calc(var(--j16-vh,100dvh) - var(--j16-header-bottom,88px));overflow-y:auto;overscroll-behavior:contain;background:var(--j16-green);padding:14px max(var(--j16-gutter),calc((100% - var(--j16-max))/2)) 32px}
.j16-header.j16-compact.j16-menu-is-open .j16-nav{display:block}
.j16-header.j16-compact .j16-nav>.j16-menu{display:block}
.j16-header.j16-compact .j16-nav>.j16-menu>li{display:block;border-top:1px solid #ffffff28}
.j16-header.j16-compact .j16-nav>.j16-menu>li>a{min-height:56px;padding:15px 52px 15px 0;font-size:16px;white-space:normal}
.j16-header.j16-compact .j16-nav>.j16-menu>li>.j16-sub-toggle{position:absolute;right:0;top:0;width:48px;min-height:56px}
.j16-header.j16-compact .j16-nav>.j16-menu>li.j16-contact-item>a{margin-top:12px;padding:13px 18px;justify-content:center}
.j16-header.j16-compact .j16-nav .sub-menu{position:static;width:auto;max-width:none;margin:0 0 12px;border:0;box-shadow:none}
.j16-header.j16-compact .j16-nav-utilities{display:flex;gap:24px;padding-top:22px}
@media(max-width:782px){body.j16-shell.admin-bar{--j16-admin-offset:46px}}
@media(max-width:760px){
 body.j16-shell{--j16-gutter:20px;padding-bottom:calc(58px + env(safe-area-inset-bottom))}
 .j16-utility{display:none}
 .j16-header-inner,.j16-brand{min-height:74px}
 .j16-crest{width:40px;height:40px;flex-basis:40px}
 .j16-brand-type small{font-size:10px}.j16-brand-type strong{font-size:25px}
 .j16-menu-button{min-height:54px;min-width:58px;flex-basis:58px}
 .j16-footer{padding:32px 0 24px}
 .j16-footer-grid{display:block}
 .j16-footer-about{padding-bottom:24px;margin-bottom:8px}
 .j16-footer-group{border-bottom:1px solid #ffffff24;padding:14px 0}
 .j16-footer.j16-enhanced .j16-footer-group{padding:0}
 .j16-footer-group h2{margin-bottom:4px}
 .j16-footer.j16-enhanced .j16-footer-heading-text{display:none}
 .j16-footer.j16-enhanced .j16-footer-toggle{display:flex}
 .j16-footer .j16-menu a{min-height:44px;padding:11px 0;font-size:14px}
 .j16-footer-links{padding:0 0 16px}
 .j16-footer-bottom{display:block;margin-top:24px;padding-top:18px}
 .j16-footer-bottom>span{display:block}
 .j16-actionbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:910;min-height:58px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--j16-line);background:#fbfaf6;color:var(--j16-ink);box-shadow:0 -2px 10px #14261c0d}
 .j16-actionbar>a{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;min-height:58px;padding:8px 4px;border-right:1px solid var(--j16-line);text-decoration:none;color:inherit;font-size:13px;font-weight:500;line-height:1.5;text-align:center}
 .j16-actionbar>a:last-child{border-right:0}
 .j16-actionbar>.j16-action-contact{background:var(--j16-green);color:#fff}
 body.j16-menu-open .j16-actionbar,body.j16-menu-open .j-ai-launcher,body.j16-chat-open .j16-actionbar,body.j16-keyboard-open .j16-actionbar{display:none}
 body.j16-shell.j16-has-chat .j-ai-launcher{display:none!important}
 body.j16-shell .j-ai-panel:not(.j5146-expanded){bottom:calc(12px + env(safe-area-inset-bottom));max-height:calc(var(--j16-vh,100dvh) - 24px)}
}
@media(max-width:600px){body.j16-shell.admin-bar{--j16-admin-offset:0px}}
@media(prefers-reduced-motion:reduce){body.j16-shell,body.j16-shell *{scroll-behavior:auto!important}.j16-header *{transition:none!important}}
@media print{
 .j16-header,.j16-utility,.j16-actionbar,.j16-skip,.j16-footer{display:none!important}
 body.j16-shell{padding-bottom:0!important}
}
