/* Shared footer: one quiet ending, with the same contact details on every page. */
.renewal .kacin-footer{background:#17345e;color:#fff;padding:64px max(24px,calc((100vw - 1180px)/2)) 26px;margin:0;font-size:15px}
.kacin-footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:48px;padding-bottom:42px}
.kacin-footer-identity img{display:block;width:235px;max-width:100%;height:auto}
.kacin-footer-identity p{color:#c5d1e5;line-height:1.8;margin:22px 0 0}
.kacin-footer nav,.kacin-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.kacin-footer strong{font-size:13px;letter-spacing:.04em;color:#b8c9e9;margin-bottom:7px}
.kacin-footer a{color:#fff;text-decoration:none;line-height:1.6}.kacin-footer a:hover{color:#c5d4ff}.kacin-footer a:focus-visible{outline:2px solid #fff;outline-offset:5px}
.kacin-footer-contact>a:first-of-type{font-size:clamp(17px,2vw,23px);overflow-wrap:anywhere}
.kacin-footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff29;padding-top:24px;color:#b8c9e9}
.kacin-footer-bottom nav{flex-direction:row;flex-wrap:wrap;gap:20px;font-size:13px}
@media(max-width:700px){.renewal .kacin-footer{padding:42px 20px 24px}.kacin-footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:30px}.kacin-footer-identity{grid-column:1/-1}.kacin-footer-identity img{width:205px}.kacin-footer-contact>a:first-of-type{font-size:15px}.kacin-footer-bottom{flex-direction:column;gap:16px}.kacin-footer-bottom nav{gap:16px}}
/* One scrollable row keeps the current section visible without a tall mobile menu. */
@media(max-width:600px){.renewal.unified-subpage :is(.page-section-nav,.membership-tabs,.inquiry-tabs,.news-tabs,#board-tabs){flex-wrap:nowrap;justify-content:flex-start;gap:18px;overflow-x:auto;max-width:100%;padding:0 3px 3px;scrollbar-width:thin;scrollbar-color:#c3cef4 transparent;overscroll-behavior-x:contain}.renewal.unified-subpage :is(.page-section-nav,.membership-tabs,.inquiry-tabs,.news-tabs,#board-tabs)>:is(a,button){white-space:nowrap;flex-shrink:0;padding:13px 3px;font-size:14px}.renewal.unified-subpage :is(.page-section-nav,.membership-tabs,.inquiry-tabs,.news-tabs,#board-tabs)>:is([aria-current="page"],[aria-pressed="true"]){font-weight:800;border-bottom-color:#3e55c4}}
.renewal .kacin-footer-bottom small{color:#c5d1e5;opacity:1;font-size:12px}
.home-balanced .kacin-footer-bottom{padding-right:68px}
@media(max-width:700px){.home-balanced .kacin-footer-bottom{padding-right:0;padding-bottom:54px}}
/* Compact, shared shortcuts; hidden near the footer to leave its links clear. */
.renewal .kacin-quick{position:fixed;right:20px;bottom:28px;z-index:80;display:flex;flex-direction:column;width:82px;padding:6px;gap:4px;border:1px solid #dfe5f4;border-radius:24px;background:#fffffff5;box-shadow:0 8px 30px #17345e12;opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,visibility .3s}
.renewal .kacin-quick.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.renewal .kacin-quick a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;border-radius:18px;padding:9px 3px;background:transparent;color:#3e55c4;font-size:11px;font-weight:700;line-height:1.4;text-decoration:none;transition:background .2s,color .2s}
.kacin-quick svg{width:23px;height:23px;flex:none}
.renewal .kacin-quick .kacin-quick-contact{background:#3e55c4;color:#fff}
.renewal .kacin-quick .kacin-quick-top{min-height:52px;font-size:10px}
.renewal .kacin-quick a:focus-visible{outline:3px solid #ff5e10;outline-offset:2px}
@media(hover:hover){.renewal .kacin-quick a:hover{background:#eef3ff}.renewal .kacin-quick .kacin-quick-contact:hover{background:#3044a9}}
@media(max-width:700px){.renewal .kacin-quick{right:14px;bottom:calc(16px + env(safe-area-inset-bottom));width:auto;flex-direction:row;padding:5px;border-radius:999px;gap:4px}.renewal .kacin-quick .kacin-quick-member{display:none}.renewal .kacin-quick a{min-height:44px;flex-direction:row;border-radius:999px;padding:10px 15px;gap:7px;font-size:12px}.renewal .kacin-quick .kacin-quick-top{min-height:44px;padding:10px 12px}.kacin-quick svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.renewal .kacin-quick,.renewal .kacin-quick a{transition:none;transform:none}}
/* Fixed shortcuts sit at the vertical center of the viewport. */
.renewal .kacin-quick{top:50%;bottom:auto;transform:translateY(calc(-50% + 12px))}
.renewal .kacin-quick.is-visible{transform:translateY(-50%)}
@media(max-width:700px){.renewal .kacin-quick{right:10px;top:50%;bottom:auto;flex-direction:column;width:72px;border-radius:22px}.renewal .kacin-quick a{flex-direction:column;font-size:11px;padding:9px 3px;border-radius:17px;min-height:56px}.renewal .kacin-quick .kacin-quick-top{padding:9px 3px;min-height:48px}}
@media(prefers-reduced-motion:reduce){.renewal .kacin-quick{transform:translateY(-50%)}}
