/* Header concern navigation. */
#header #g-navi{position:relative}
#header #g-navi .g-navi__menu{column-gap:clamp(12px,1.65vw,26px);row-gap:14px;flex-wrap:wrap}
#header .g-navi__menu>li>a{white-space:nowrap}
#header .ks-concern-nav{position:static}
#header .ks-concern-nav>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-family:var(--baskerville);font-size:1.4rem;font-weight:600;letter-spacing:.05em;line-height:1.125;color:inherit;white-space:nowrap}
#header .ks-concern-nav>summary::-webkit-details-marker{display:none}
#header .ks-concern-nav>summary:after{content:"";width:6px;height:6px;border-right:1px solid #9b845d;border-bottom:1px solid #9b845d;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
#header .ks-concern-nav[open]>summary:after{transform:translateY(2px) rotate(225deg)}
#header .ks-concern-panel{box-sizing:border-box;position:absolute;right:0;top:calc(100% + 24px);z-index:10;width:min(920px,100%);max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain;padding:20px 28px 16px;background:#fcfaf7;color:#403b34;border:1px solid #e3ddd3;box-shadow:0 16px 36px rgba(53,43,28,.1);text-align:left}
#header .ks-concern-panel__intro{margin:0 0 12px;font-family:var(--serif);font-size:17px;line-height:1.7;letter-spacing:.08em;font-weight:500}
#header .ks-concern-panel__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 26px}
#header .ks-concern-panel__group{min-width:0}
#header .ks-concern-panel__title{margin:0 0 5px;padding-bottom:6px;border-bottom:1px solid #ddd4c7;font-family:var(--serif);font-size:17px;font-weight:500;line-height:1.6;letter-spacing:.04em}
#header .ks-concern-panel__links{display:flex;flex-direction:column;gap:0}
#header #g-navi .ks-concern-panel a{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:5px 0;font-family:var(--default-font);font-size:13px;font-weight:400;line-height:1.65;letter-spacing:.02em;text-align:left;color:#514b42;text-decoration:none}
#header #g-navi .ks-concern-panel a:after{content:"→";color:#aa9066;flex-shrink:0}
#header #g-navi .ks-concern-panel a:hover{color:#8a6e3d;text-decoration:underline;text-underline-offset:4px}
#header .ks-concern-panel__footer{display:flex;justify-content:space-between;gap:24px;margin-top:14px;padding-top:8px;border-top:1px solid #e3ddd3}
#header #g-navi .ks-concern-panel__footer a{width:auto;gap:24px}
#header .ks-concern-nav>summary:focus-visible,#header #g-navi .ks-concern-panel a:focus-visible{outline:2px solid #9b845d;outline-offset:5px}
@media(max-width:750px){
 #header #g-navi{position:fixed}
 #header .ks-concern-nav>summary{justify-content:center;min-height:54px;padding:2rem;font-size:1.4rem}
 #header .ks-concern-panel{position:static;width:100%;max-height:none;overflow:visible;padding:20px 18px;margin:4px 0 14px;box-shadow:none}
 #header .ks-concern-panel__intro{font-size:15px;margin-bottom:16px}
 #header .ks-concern-panel__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
 #header .ks-concern-panel__title{font-size:14px;letter-spacing:0}
 #header #g-navi .ks-concern-panel a{font-size:12px;min-height:44px;padding:8px 0;letter-spacing:0}
 #header .ks-concern-panel__footer{flex-direction:column;gap:0;margin-top:20px;padding-top:8px}
 #header #g-navi .ks-concern-panel__footer a{width:100%;font-size:12px}
 body:has(#g-navi.is-open) .ks-floating-reserve{visibility:hidden;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){#header .ks-concern-nav>summary:after{transition:none}}

