
  #g5-site-footer * { box-sizing: border-box; }
  #g5-site-footer { --g5-content: 1500px; --g5-gutter: 48px; }
  @media (min-width: 1025px) {
    #g5-site-footer {
      padding-left:  max(var(--g5-gutter), calc((100% - var(--g5-content)) / 2)) !important;
      padding-right: max(var(--g5-gutter), calc((100% - var(--g5-content)) / 2)) !important;
    }
  }
  #g5-site-footer a { transition: transform .3s cubic-bezier(.2,.75,.3,1), color .25s ease; }
  #g5-site-footer a:not(.g5-email):hover { color: rgba(255,255,255,.95) !important; transform: translateX(3px); }
  #g5-site-footer .g5-email:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -10px rgba(0,0,0,.4); }
  #g5-site-footer .g5-sns-footer > a { transition: transform .28s cubic-bezier(.2,.75,.3,1), background .28s ease, color .28s ease; cursor: pointer; }
  #g5-site-footer .g5-sns-footer > a:hover { transform: translateY(-3px); background: linear-gradient(135deg,#6EC5C1,#E7647A) !important; color:#fff; }
  #g5-site-footer .g5-logo { transition: transform .3s cubic-bezier(.2,.75,.3,1), opacity .25s ease; cursor:pointer; }
  #g5-site-footer .g5-logo:hover { transform: scale(1.03); opacity:.85; }

  @media (max-width: 1024px) {
    #g5-site-footer { padding-left: 44px !important; padding-right: 44px !important; }
    #g5-site-footer .g5-footer-top { flex-wrap: wrap !important; }
    #g5-site-footer .g5-footer-cols { flex-wrap: wrap !important; gap: 30px 44px !important; }
  }
  @media (max-width: 640px) {
    #g5-site-footer { padding-left: 5% !important; padding-right: 5% !important; }
    #g5-site-footer .g5-footer-top { flex-direction: column !important; align-items: center !important; gap: 34px !important; text-align: center !important; }
    #g5-site-footer .g5-footer-top > div:first-child { width: auto !important; align-items: center !important; }
    #g5-site-footer .g5-sns-footer { justify-content: center !important; }
    #g5-site-footer .g5-footer-cols { flex-direction: column !important; align-items: center !important; gap: 28px !important; }
    #g5-site-footer .g5-footer-cols > div { min-width: 0; align-items: center !important; text-align: center !important; }
    #g5-site-footer .g5-footer-cols > div > div { justify-content: center !important; }
    #g5-site-footer .g5-footer-bottom { flex-direction: column !important; gap: 14px !important; align-items: center !important; }
    #g5-site-footer .g5-footer-bottom > div { flex-direction: column !important; align-items: center !important; gap: 14px !important; }
  }
  @media (max-width: 480px) {
    #g5-site-footer .g5-footer-cols { gap: 24px 24px !important; }
  }
