body footer.site-footer { overflow: hidden; }
/* 共通フッター：画面幅に合わせてブランドとメニューを配置 */
body footer.site-footer .footer-grid > div { min-width: 0; }
body footer.site-footer .footer-links a { overflow-wrap: anywhere; }

@media (max-width: 900px) {
  body footer.site-footer { padding: 48px 24px 32px; }
  body footer.site-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 24px;
    padding-bottom: 40px;
  }
  body footer.site-footer .footer-grid > div:first-child { grid-column: 1 / -1; }
  body footer.site-footer .footer-brand-logo { flex-wrap: wrap; }
  body footer.site-footer .footer-tagline { max-width: 100%; }
  body footer.site-footer .footer-bottom { overflow-wrap: anywhere; }
}

@media (max-width: 360px) {
  body footer.site-footer .footer-grid { gap: 32px 16px; }
  body footer.site-footer .footer-logo-main { font-size: 34px; }
  body footer.site-footer .footer-logo-sub { font-size: 18px; }
}
