/* Base footer styles shared across child themes */

.global-footer {
  width: 100%;
  margin: 30px auto 0;
  padding: 80px 0 80px;
}

.global-footer > .global-footer__inner {
  width: 1050px;
  margin: 0 auto;
  padding: 0;
  display: grid;
  gap: 0;
}

.global-footer > .global-footer__inner > div {
  text-align: left;
  color: #4d4d4d;
}

.global-footer > .global-footer__inner > div > h3 {
  margin: 0 auto 25px;
  padding: 0;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.0;
  letter-spacing: 0.05em;
}

.footer-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-menu-list li {
  margin: 0 0 20px 20px;
}

.footer-menu-list li a {
  display: block;
  color: #4d4d4d;
  font-size: 0.80rem;
  line-height: 1.0;
  letter-spacing: 0.05em;
}

.global-footer > .global-footer__inner > div > .global-logo {
  width: 100%;
  margin: 50px auto 0;
}

.global-footer > .global-footer__inner > div > .global-icons {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.global-footer > .global-footer__inner > div > .global-icons .icon {
  width: 26px;
  height: 26px;
  background-color: #4d4d4d;
}

@media screen and (max-width: 1100px) {
  .global-footer > .global-footer__inner {
    width: 90%;
  }

  .global-footer > .global-footer__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
  }

  .global-footer > .global-footer__inner > div {
    margin: 0 0 40px;
  }

  .global-footer > .global-footer__inner > div > h3 {
    font-size: 1.0rem;
  }

  .footer-menu-list li a {
    font-size: 0.75rem;
  }

  .global-footer > .global-footer__inner > div:last-child {
    grid-column: span 2;
    margin: 0 auto;
  }
}

.global-footer a {
  color: #4d4d4d;
  text-decoration: none;
}

.global-footer a:visited {
  color: #4d4d4d;
}

.global-footer a:hover {
  opacity: 0.7;
}
