/* Shared editorial footer. Independent rows keep the copyright truly centered. */
footer.wp-block-template-part:has(.bm-footer-v2){margin-top:0!important}
.bm-footer-v2{--footer-ink:#302735;--footer-muted:#746c79;--footer-purple:#6d208c;background:#fff;color:var(--footer-ink);border-top:3px solid var(--footer-purple);margin:0!important;padding:0!important;font-family:"Source Han Sans JP VF",sans-serif;font-size:14px;line-height:1.8;letter-spacing:.015em}
.bm-footer-v2 *{box-sizing:border-box}.bm-footer-v2 p,.bm-footer-v2 h2{margin:0}.bm-footer-v2 a{color:inherit;text-decoration:none;text-underline-offset:4px}.bm-footer-v2 a:hover{color:var(--footer-purple);text-decoration:underline}.bm-footer-v2 a:focus-visible{outline:2px solid var(--footer-purple);outline-offset:5px}.bm-footer-v2 img{display:block;border-radius:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
.bm-v2-main{width:min(1160px,calc(100% - 64px));margin:0 auto;padding:54px 0 48px;display:grid;grid-template-columns:1.35fr .95fr .95fr 1.15fr;gap:38px;align-items:start}.bm-v2-main>*{min-width:0}
.bm-v2-logo{display:block;width:220px;max-width:100%;margin:-10px 0 20px}.bm-v2-logo img{width:100%;height:auto;aspect-ratio:2;object-fit:contain}.bm-footer-v2 .bm-v2-tagline{font-size:15px;font-weight:650;line-height:1.9;letter-spacing:.025em;margin:0 0 13px}.bm-v2-tagline span{display:block}.bm-footer-v2 .bm-v2-description{font-size:12px;line-height:1.95;color:var(--footer-muted);font-weight:400}
.bm-v2-nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:8px}.bm-footer-v2 .bm-v2-nav h2{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--footer-purple);margin:0 0 11px;border:0!important;padding:0!important;line-height:1.6}.bm-v2-nav>a{font-size:13px;line-height:1.7;font-weight:550;padding:2px 0}.bm-v2-nav>a span{font-size:11px;color:#9b8aa4;margin-left:4px}
.bm-v2-contact{border-left:1px solid #e8e1ec;padding:7px 0 0 27px}.bm-footer-v2 .bm-v2-kicker{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--footer-purple);line-height:1.5;margin:0 0 8px}.bm-footer-v2 .bm-v2-contact h2{font-size:15px;font-weight:650;line-height:1.7;margin:0 0 9px;padding:0!important;border:0!important}.bm-v2-email{display:inline-block;font-size:15px;font-weight:650;letter-spacing:0;overflow-wrap:anywhere}.bm-footer-v2 .bm-v2-contact>p:not(.bm-v2-kicker){font-size:11px;line-height:1.9;margin:12px 0 18px;color:var(--footer-muted)}.bm-v2-contact-link{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:650;line-height:1.7;border:1px solid #bfa4cb;border-radius:3px;padding:10px 12px;color:var(--footer-purple)!important;max-width:260px}.bm-v2-contact-link:hover{background:#f7f3fa;text-decoration:none!important}
.bm-v2-operator{background:#f7f5f9;border-top:1px solid #eee9f1;border-bottom:1px solid #eee9f1}.bm-v2-operator-inner{width:min(1160px,calc(100% - 64px));margin:0 auto;padding:23px 0;display:flex;align-items:center;gap:38px}.bm-v2-iden{display:flex;align-items:center;gap:15px;flex-shrink:0}.bm-v2-iden img{width:36px;height:45px;object-fit:contain}.bm-v2-iden small{display:block;font-size:10px;font-weight:500;color:var(--footer-muted);line-height:1.5;margin-bottom:2px;letter-spacing:.05em}.bm-v2-iden strong{font-size:13px;font-weight:650;letter-spacing:.04em;display:block;line-height:1.7}.bm-footer-v2 .bm-v2-operator-inner>p{font-size:11px;line-height:1.95;color:#665c6d}.bm-v2-fax{margin-left:20px}.bm-v2-company-link{margin-left:auto;flex-shrink:0;font-size:11px;font-weight:550}.bm-v2-company-link span{margin-left:10px;color:#9c8aa6}
.bm-v2-bottom{width:100%;padding:24px 24px 25px;text-align:center;background:#fff}.bm-v2-bottom>nav{display:flex;justify-content:center;align-items:center;gap:25px;flex-wrap:wrap;margin:0 0 10px}.bm-v2-bottom>nav a{font-size:10px;line-height:1.8;font-weight:500;color:#766b7c}.bm-v2-copyright{display:block;width:100%;font-size:10px;line-height:1.8;font-weight:450;letter-spacing:.025em;color:#8a7f90;text-align:center;margin:0}
@media(max-width:1050px){.bm-v2-main{gap:25px;grid-template-columns:1.2fr .9fr .9fr 1.15fr}.bm-v2-logo{width:200px}.bm-v2-contact{padding-left:20px}.bm-v2-email{font-size:13px}.bm-v2-nav>a{font-size:12px}.bm-v2-operator-inner{gap:26px}}
@media(max-width:820px){.bm-v2-main{grid-template-columns:1.1fr 1fr;gap:35px 48px;padding-top:40px}.bm-v2-brand{grid-row:span 2}.bm-v2-contact{grid-column:1/-1;border-left:0;border-top:1px solid #e8e1ec;padding:25px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:3px 25px;align-items:center}.bm-v2-contact .bm-v2-kicker{grid-column:1}.bm-v2-contact h2{grid-column:1}.bm-v2-contact .bm-v2-email{grid-column:1;font-size:15px}.bm-v2-contact>p:not(.bm-v2-kicker){grid-column:2;grid-row:1/3;margin:0!important}.bm-v2-contact-link{grid-column:2;grid-row:3/4;width:100%}.bm-v2-operator-inner{flex-wrap:wrap;gap:15px 25px}.bm-v2-company-link{margin-left:0}.bm-v2-main .bm-v2-nav{padding-top:0}}
@media(max-width:520px){.bm-v2-main{width:calc(100% - 40px);grid-template-columns:1fr 1fr;gap:28px 24px;padding:34px 0 32px}.bm-v2-brand{grid-column:1/-1;grid-row:auto;padding-bottom:25px;border-bottom:1px solid #ece7ef}.bm-v2-logo{width:200px;margin:0 0 15px}.bm-footer-v2 .bm-v2-tagline{font-size:14px;margin-bottom:8px}.bm-v2-tagline span{display:inline}.bm-footer-v2 .bm-v2-description{font-size:11px}.bm-v2-description br{display:none}.bm-v2-nav{gap:11px}.bm-v2-nav>a{font-size:12px}.bm-footer-v2 .bm-v2-nav h2{font-size:11px;margin-bottom:5px}.bm-v2-contact{display:block;padding-top:23px}.bm-footer-v2 .bm-v2-contact>p:not(.bm-v2-kicker){margin:10px 0 15px!important}.bm-v2-contact-link{max-width:none}.bm-v2-operator-inner{width:calc(100% - 40px);padding:22px 0;display:grid;grid-template-columns:1fr;gap:14px}.bm-v2-iden{gap:12px}.bm-v2-company-link{margin-top:1px}.bm-v2-operator-inner>p{font-size:10px!important}.bm-v2-fax{margin-left:14px}.bm-v2-bottom{padding:21px 20px}.bm-v2-bottom>nav{gap:20px;margin-bottom:11px}.bm-v2-bottom>nav a{font-size:10px}.bm-v2-copyright{font-size:9px}}
/* Use the same centered outer frame as the article header and columns. */
.bm-footer-v2 .bm-v2-main,
.bm-footer-v2 .bm-v2-operator-inner{
 width:min(1120px,calc(100% - 128px));
 margin-inline:auto;
}
@media(max-width:1050px){
 .bm-footer-v2 .bm-v2-main,
 .bm-footer-v2 .bm-v2-operator-inner{width:calc(100% - 80px)}
}
@media(max-width:850px){
 .bm-footer-v2 .bm-v2-main,
 .bm-footer-v2 .bm-v2-operator-inner{width:min(740px,calc(100% - 48px))}
}

