/* Only known site-footer containers are replaced; article footers are preserved. */
body:has(#hb-shared-footer) #colophon,
body:has(#hb-shared-footer) #site-footer,
body:has(#hb-shared-footer) #footer,
body:has(#hb-shared-footer) .site-footer,
body:has(#hb-shared-footer) .elementor-location-footer,
body:has(#hb-shared-footer) .hb-global-footer,
body:has(#hb-shared-footer) .hb-footer:not(#hb-shared-footer){display:none!important}
#hb-shared-footer{display:block!important;visibility:visible!important;opacity:1!important;position:relative;float:none;clear:both;width:100%;max-width:none;margin:0;padding:48px 0 96px;box-sizing:border-box;background:#071629!important;color:#c7d2df!important;text-align:left;font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:14px;line-height:1.75;--hb-line:#dce6f3}
#hb-shared-footer *{box-sizing:border-box}
#hb-shared-footer .hb-wrap{width:min(1180px,calc(100% - 32px));max-width:none;margin:0 auto;padding:0}
#hb-shared-footer .hb-footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px}
#hb-shared-footer h4{margin:0 0 13px;padding:0;color:#fff!important;font-size:16px;line-height:1.5;font-weight:700}
#hb-shared-footer a{display:block;margin:7px 0;padding:0;color:#c7d2df!important;font-size:14px;text-decoration:none}
#hb-shared-footer a:hover{color:#fff!important;text-decoration:underline}
#hb-shared-footer a:focus-visible{outline:3px solid #47c7ff;outline-offset:4px}
#hb-shared-footer p{margin:14px 0;color:#c7d2df!important;font-size:14px}
#hb-shared-footer .hb-footer-logo{display:flex;align-items:center;line-height:1}
#hb-shared-footer .hb-footer-logo img{display:block;width:auto;height:50px;max-width:100%;object-fit:contain;filter:brightness(1.35);margin:0}
#hb-shared-footer .hb-footer-copy{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);color:#c7d2df;font-size:12px}
@media(max-width:980px){#hb-shared-footer .hb-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#hb-shared-footer .hb-footer-grid{grid-template-columns:1fr}#hb-shared-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}
