@charset "utf-8";
.footer {
      padding-top: clamp(3rem, 2.792rem + 0.43vw, 3.313rem);
    padding-bottom: 40px;
    background-color: #2E2E2E;
}
.footer__inner {
      padding-left: clamp(1.625rem, -5.292rem + 14.41vw, 12rem);
    padding-right: clamp(1.625rem, -1.292rem + 6.08vw, 6rem);
}
.footer__top {
      display: flex;
    justify-content: space-between;
    column-gap: 20px;
}
.footer__logo {
  width: clamp(21.125rem, 18rem + 6.51vw, 25.813rem);
}
.footer__access {
      margin-top: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
    font-weight: 400;
    color: #fff;
}
.footer__tel {
      margin-top: clamp(0.5rem, 0.167rem + 0.69vw, 1rem);
    font-size: 18px;
    font-weight: 400;
    color: #fff;
}
.footer__tel a {
  color: #fff;
  transition: all 0.5s;
}
.footer__tel a:hover {
  opacity: 0.5;
}
.footer__right {
      display: flex;
    column-gap: clamp(1.25rem, -1.25rem + 5.21vw, 5rem);
}
.footer__item {
      font-size: clamp(1.125rem, 1.042rem + 0.17vw, 1.25rem);
    font-weight: 600;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    line-height: 1;
}
.footer__item--sub {
      font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
    font-weight: 400;
    color: #Fff;
    margin-top: 24px;
    line-height: 1;
}
.footer__item--sub1 {
  margin-top: clamp(2rem, 1.25rem + 1.56vw, 3.125rem);
}
.footer__bottom {
      margin-top: clamp(5rem, 2.917rem + 4.34vw, 8.125rem);
    text-align: center;
}
.footer__copyright {
      font-weight: 400;
    color: #fff;
}

.link__text {
    padding-bottom: 6px;
    position: relative;
    line-height: 1;
    width: fit-content;
}
.link__text::after {
      background-color: #000007;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    transform: translateX(-30%);
    opacity: 0;
    position: absolute;
    transition: all .5s;
    width: 100%;
}
.link__text--white::after {
      background-color: #fff;
}
.link__text:hover::after {
    transform: translateX(0%);
    opacity: 1;
}

@media (max-width: 1023px) {
  .footer__top {
        flex-direction: column-reverse;
    align-items: center;
    row-gap: 88px;
  }
  .footer__right {
        flex-direction: column;
    align-items: center;
    row-gap: 40px;
    text-align: center;
  }
 .footer__content {
        display: flex;
    flex-direction: column;
    align-items: center;
  }
}