@charset "UTF-8";

.footer {
  background-color: #e3edff;
  overflow: hidden;
}

.footer-top {
  position: relative;
  width: 100%;
}
.footer-top::after {
  aspect-ratio: 375/280;
  background-color: #fff;
  border-radius: 50%;
  bottom: 0;
  content: "";
  height: auto;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 200%;
  z-index: 1;
}

.footer_textloop {
  position: relative;
  z-index: 2;
}
.footer_textloop.bg-text__wrap {
  gap: 70px;
}
.footer_textloop .bg-text {
  aspect-ratio: 980/150;
  max-width: 980px;
  width: 100%;
}

.footer__inner {
  margin-inline: auto;
  max-width: 1240px;
  padding-inline: 20px;
}

.footer__contents {
  display: flex;
  flex-direction: column-reverse;
  position: relative;
  z-index: 2;
}

.footer__wrap {
  display: flex;
  flex-direction: column;
}

.footer__label {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer__label p {
  border-bottom: dotted 3px #ccae5d;
  font-size: 19px;
  font-weight: bold;
  letter-spacing: normal;
  line-height: calc(50 / 36);
}

.footer__link {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 15px;
}

.footer__link-tel {
  align-items: baseline;
  color: #09caeb;
  display: flex;
  font-family: "Outfit", sans-serif;
  font-weight: bold;
  gap: 5px;
}
.footer__link-tel p {
  color: inherit;
  font-size: 16px;
}
.footer__link-tel a {
  color: inherit;
}
.footer__link-tel a p {
  color: inherit;
  font-size: 30px;
}

.footer__pict {
  height: 240px;
  position: relative;
  width: 345px;
}
.footer__pict img {
  border-radius: 5px;
  overflow: hidden;
  position: absolute;
}
.footer__pict img:nth-of-type(1) {
  aspect-ratio: 303/309;
  bottom: 0;
  height: auto;
  left: 15px;
  transform: rotate(-10deg);
  width: 192px;
  z-index: 1;
}
.footer__pict img:nth-of-type(2) {
  aspect-ratio: 226/230;
  bottom: -30px;
  height: auto;
  right: 15px;
  transform: rotate(10deg);
  width: 150px;
  z-index: 2;
}

.footer__sitemap {
  align-items: center;
  -moz-column-gap: 35px;
       column-gap: 35px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-inline: 20px;
  padding-top: 80px;
  row-gap: 20px;
}
.footer__sitemap a p {
  font-size: 14px;
  font-weight: normal;
}

.footer__logo {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 40px;
}
.footer__logo img {
  height: 82px;
  -o-object-fit: contain;
     object-fit: contain;
  overflow: hidden;
  width: 134px;
}
.footer__logo p {
  color: #0075FF;
  font-size: 15px;
  font-weight: normal;
  line-height: calc(20 / 15);
}

.footer__copy {
  border-top: 1px solid #fff;
  margin-top: 43px;
  padding-bottom: 25px;
  padding-top: 19px;
}
.footer__copy p {
  font-family: "Outfit", sans-serif;
  font-size: 11px;
  font-weight: 300;
  text-align: center;
  width: 100%;
}
@media (min-width: 414px) {
  .footer__sitemap {
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}
@media (min-width: 768px) {
  .footer-top::after {
    aspect-ratio: 1701/972;
  }
  .footer__label p {
    font-size: 26px;
    padding-inline: 30px;
  }
  .footer__sitemap {
    gap: 46px;
  }
}
@media (min-width: 1024px) {
  .footer-top::after {
    width: 124.5241581259%;
  }
  .footer__contents {
    display: grid;
    grid-template-columns: 470px auto;
  }
  .footer__wrap {
    padding-bottom: 135px;
    width: -moz-fit-content;
    width: fit-content;
  }
  .footer__link {
    gap: 26px;
    margin-top: 40px;
  }
  .footer__pict {
    aspect-ratio: auto;
    height: 100%;
    width: 100%;
  }
  .footer__pict img:nth-of-type(1) {
    bottom: 93px;
    left: 25px;
    width: 303px;
  }
  .footer__pict img:nth-of-type(2) {
    bottom: -10px;
    right: 40px;
    width: 226px;
  }
  .footer__logo {
    margin-top: 27px;
  }
}
@media (min-width: 1366px) {
  .footer__link {
    justify-content: flex-start;
  }
}