:root {
  --inner-scale: 1;
  --vw-base: calc(1600 / var(--inner-scale));
  --inner: 1260;
  --inner-1600: 1600px;
}
@media screen and (max-width: 767px) {
  :root {
    --vw-base: 375;
    --inner-scale: 1;
    --inner: 315;
  }
}

/*------------------------------
footer
------------------------------*/
.footer__container {
  font-size: calc(20 * 100vw / var(--vw-base));
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.footer__wrapper {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .footer__wrapper {
    display: block;
  }
}

.footer__logo {
  width: 83%;
}
@media (max-width: 767px) {
  .footer__logo {
    width: 77%;
  }
}

.footer__address {
  font-size: calc(20 * 100vw / var(--vw-base));
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-top: 1.6em;
}
@media (max-width: 767px) {
  .footer__address {
    font-size: calc(12 * 100vw / var(--vw-base));
  }
}

.footer__nav {
  width: calc(710 / var(--inner) * 100%);
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .footer__nav {
    width: 100%;
    flex-wrap: wrap;
    margin-top: calc(40 / var(--inner) * 100%);
    gap: calc(50 * 100vw / var(--vw-base)) calc(40 / var(--inner) * 100%);
  }
}

.footer__menu {
  width: 27%;
  padding-top: calc(30 * 100vw / var(--vw-base));
  border-top: 1px solid #000;
}
.footer__menu li {
  line-height: 1;
}
.footer__menu li:nth-child(n+2) {
  margin-top: calc(25 * 100vw / var(--vw-base));
}
.footer__menu li a {
  display: inline-block;
  font-size: calc(16 * 100vw / var(--vw-base));
  font-weight: 600;
}
@media (max-width: 767px) {
  .footer__menu {
    width: calc(50% - (40 / var(--inner) * 100%) / 2);
    padding-top: calc(10 * 100vw / var(--vw-base));
  }
  .footer__menu li:nth-child(n+2) {
    margin-top: calc(10 * 100vw / var(--vw-base));
  }
  .footer__menu li a {
    font-size: calc(12 * 100vw / var(--vw-base));
  }
}

.footer-sns {
  width: calc(400 / var(--inner) * 100%);
  margin-top: calc(110 / var(--inner) * 100%);
  display: flex;
}
.footer-sns li:nth-child(2) {
  margin-left: calc(60 * 100vw / var(--vw-base));
}
.footer-sns li a {
  display: inline-block;
  height: calc(44 * 100vw / var(--vw-base));
}
@media (max-width: 767px) {
  .footer-sns {
    width: 42%;
    display: block;
    margin-top: 0;
  }
  .footer-sns li:nth-child(2) {
    margin-left: 0;
    margin-top: calc(10 * 100vw / var(--vw-base));
  }
  .footer-sns li a {
    height: calc(30 * 100vw / var(--vw-base));
  }
}

.footer__bottom {
  margin-top: calc(80 * 100vw / var(--vw-base));
  background: #80b44b;
  padding: calc(115 * 100vw / var(--vw-base)) 0 calc(95 * 100vw / var(--vw-base));
  position: relative;
}
.footer__bottom::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(140 * 100vw / var(--vw-base));
  transform: translateY(-50%);
  background: url(../img/footer_img01.png) no-repeat center center/contain;
  width: calc(418 * 100vw / var(--vw-base));
  aspect-ratio: 838/675;
}
@media (max-width: 767px) {
  .footer__bottom {
    padding: calc(55 * 100vw / var(--vw-base)) 0;
    margin-top: calc(134 / var(--inner) * 100%);
  }
  .footer__bottom::after {
    width: calc(210 * 100vw / var(--vw-base));
    top: calc(-130 * 100vw / var(--vw-base));
    left: 50%;
    transform: translateX(-50%);
  }
}

.footer__copyright {
  font-size: calc(20 * 100vw / var(--vw-base));
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #fff;
}
@media (max-width: 767px) {
  .footer__copyright {
    font-size: calc(10 * 100vw / var(--vw-base));
    line-height: 1.7;
    text-align: center;
  }
}
/*# sourceMappingURL=footer.css.map */