@charset "UTF-8";

.footer {
  background: #f5f6f8;
  margin-top: -1px;
}

.footer__contents {
  padding-top: calc(140 / 1366 * 100vw);
}

.foot-link {
  padding-bottom: calc(138 / 1366 * 100vw);
}

.foot-link__inner {
  padding-left: calc(90 / 1366 * 100vw);
  padding-right: calc(100 / 1366 * 100vw);
}

.foot-link__boxs {
  border-top: solid 1px #163b85;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: calc(100 / 375 * 100vw) calc(100 / 375 * 100vw);
}

.foot-link__box + .foot-link__box {
  border-top: solid 1px #163b85;
}

.foot-link__link {
  align-items: center;
  display: inline-flex;
  height: 100%;
  justify-content: space-between;
  padding-inline: calc(30 / 1366 * 100vw);
  transition: background 0.3s ease;
  width: 100%;
}
.foot-link__link:hover {
  background-color: rgba(65, 65, 65, 0.1);
  opacity: 1;
}

.foot-link__text .c-title-line {
  gap: calc(40 / 1366 * 100vw);
}
.foot-link__text .c-text-copy {
  margin-top: calc(11 / 1366 * 100vw);
}

.footer-contact {
  margin-right: auto;
  position: relative;
  width: calc(1177 / 1366 * 100vw);
  z-index: 3;
}

.footer-contact__link {
  position: relative;
  width: 100%;
}
.footer-contact__link img {
  transition: transform 0.3s ease;
}
.footer-contact__link:hover {
  opacity: 1;
}
.footer-contact__link:hover img {
  transform: scale(1.1);
}

.footer-contact__img {
  aspect-ratio: 1177/430;
  overflow: hidden;
  width: 100%;
}
.footer-contact__img::after {
  background-color: #000000;
  opacity: 0.4;
}

.footer-contact__contents {
  align-items: center;
  color: #ffffff;
  display: flex;
  justify-content: center;
  padding-left: calc(20 / 375 * 100vw);
  padding-right: calc(20 / 375 * 100vw);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  z-index: 2;
}

.footer-contact__text {
  width: 100%;
}
.footer-contact__text > h2 {
  font-family: "Lato", sans-serif;
  font-size: calc(25 / 375 * 100vw);
  font-weight: bold;
  letter-spacing: 7.9px;
  line-height: 1.2025316456;
}
.footer-contact__text > p {
  font-size: calc(8 / 375 * 100vw);
  letter-spacing: 0.8px;
  line-height: 1.8125;
  width: 90%;
}

.footer-contact__view {
  flex-shrink: 0;
  font-family: "Lato", sans-serif;
  font-size: calc(8 / 375 * 100vw);
  font-weight: bold;
  letter-spacing: 1.5px;
  line-height: 1.2222222222;
  margin-right: calc(34 / 1366 * 100vw);
  text-decoration: underline;
}

.footer-contact__arrow.c-btn-arrow {
  flex-shrink: 0;
}

.footer-sitemap {
  color: #ffffff;
  margin-top: calc(-200 / 1366 * 100vw);
  position: relative;
  z-index: 2;
}

.footer-sitemap__bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.footer-sitemap__inner {
  padding-bottom: calc(20 / 375 * 100vw);
  padding-inline: calc(20 / 375 * 100vw);
  padding-top: calc(298 / 1366 * 100vw);
  position: relative;
  z-index: 3;
}

.footer-sitemap__contents {
  display: flex;
  flex-direction: column;
  gap: calc(60 / 375 * 100vw);
}

.footer-sitemap__info {
  flex-shrink: 0;
}

.footer-sitemap__info-block {
  display: flex;
  flex-direction: column;
}
.footer-sitemap__info-block p {
  font-size: calc(12 / 375 * 100vw);
  font-weight: 600;
  letter-spacing: 0.7px;
  line-height: 1.4285714286;
}
.footer-sitemap__info-block.info-block__logo {
  gap: calc(2 / 1366 * 100vw);
}
.footer-sitemap__info-block.info-block__logo > p:nth-of-type(1) {
  font-size: calc(18 / 375 * 100vw);
  font-weight: bold;
  letter-spacing: 0.4px;
  line-height: 1.45;
}
.footer-sitemap__info-block.info-block__logo > p:nth-of-type(2) {
  font-family: "Lato", sans-serif;
  font-size: calc(10 / 375 * 100vw);
  font-weight: 500;
  letter-spacing: 2.16px;
  line-height: 1.4166666667;
}
.footer-sitemap__info-block.info-block__add {
  gap: calc(7 / 1366 * 100vw);
  margin-top: calc(30 / 375 * 100vw);
}
.footer-sitemap__info-block.info-block__link {
  gap: calc(7 / 1366 * 100vw);
  margin-top: calc(30 / 375 * 100vw);
}
.footer-sitemap__info-block.info-block__link .info-block__link-item {
  align-items: baseline;
  display: flex;
}

.footer-sitemap__link {
  display: grid;
  gap: calc(15 / 375 * 100vw);
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
}

.footer-sitemap__link-list {
  display: flex;
  flex-direction: column;
}
.footer-sitemap__link-list > .footer-sitemap__link-item {
  font-size: calc(12 / 375 * 100vw);
  font-weight: 600;
  letter-spacing: 0.7px;
  line-height: 1.4285714286;
}
.footer-sitemap__link-list > .footer-sitemap__link-item + .footer-sitemap__link-list > .footer-sitemap__link-item {
  margin-top: calc(30 / 1366 * 100vw);
}

.footer-sitemap__link-item {
  width: -moz-fit-content;
  width: fit-content;
}
.footer-sitemap__link-item + .footer-sitemap__link-item {
  margin-top: calc(15 / 375 * 100vw);
}

.sitemap-link-list__small {
  display: flex;
  flex-direction: column;
  gap: calc(10 / 375 * 100vw);
  margin-top: calc(15 / 375 * 100vw);
}
.sitemap-link-list__small .footer-sitemap__link-item {
  align-items: center;
  color: #d8d8d8;
  display: inline-flex;
  font-size: calc(10 / 375 * 100vw);
  font-weight: 600;
  gap: calc(4 / 1366 * 100vw);
  letter-spacing: 0.6px;
  line-height: 1.4166666667;
  margin-top: 0 !important;
}
.sitemap-link-list__small .footer-sitemap__link-item::before {
  content: "-";
}

.footer-sitemap__copy {
  margin-top: calc(100 / 375 * 100vw);
}
.footer-sitemap__copy p {
  font-size: calc(10 / 375 * 100vw);
  letter-spacing: 0.55px;
  line-height: 1.4545454545;
  opacity: 0.8;
}
@media (min-width: 1024px) {
  .foot-link__boxs {
    grid-template-columns: 50% 50%;
    grid-template-rows: calc(240 / 1366 * 100vw);
  }
  .foot-link__box + .foot-link__box {
    border-left: solid 1px #163b85;
    border-top: none;
  }
  .footer-contact__contents {
    padding-left: calc(90 / 1366 * 100vw);
    padding-right: calc(112 / 1366 * 100vw);
    top: calc(118 / 1366 * 100vw);
    transform: none;
  }
  .footer-contact__text > h2 {
    font-size: calc(79 / 1366 * 100vw);
  }
  .footer-contact__text > p {
    font-size: calc(16 / 1366 * 100vw);
    margin-top: calc(23 / 1366 * 100vw);
    width: calc(322 / 1366 * 100vw);
  }
  .footer-contact__view {
    font-size: calc(18 / 1366 * 100vw);
    letter-spacing: 3.24px;
  }
  .footer-contact__arrow.c-btn-arrow {
    height: calc(101 / 1366 * 100vw);
    width: calc(101 / 1366 * 100vw);
  }
  .footer-contact__arrow.c-btn-arrow::after {
    height: calc(16 / 1366 * 100vw);
    width: calc(16 / 1366 * 100vw);
  }
  .footer-sitemap__bg {
    width: 101%;
  }
  .footer-sitemap__inner {
    padding-bottom: calc(23 / 1366 * 100vw);
    padding-left: calc(90 / 1366 * 100vw);
    padding-right: 0;
  }
  .footer-sitemap__contents {
    flex-direction: row;
    gap: calc(272 / 1366 * 100vw);
  }
  .footer-sitemap__info-block p {
    font-size: calc(14 / 1366 * 100vw);
  }
  .footer-sitemap__info-block.info-block__logo > p:nth-of-type(1) {
    font-size: calc(20 / 1366 * 100vw);
  }
  .footer-sitemap__info-block.info-block__logo > p:nth-of-type(2) {
    font-size: calc(12 / 1366 * 100vw);
  }
  .footer-sitemap__info-block.info-block__add {
    margin-top: calc(61 / 1366 * 100vw);
  }
  .footer-sitemap__info-block.info-block__link {
    margin-top: calc(31 / 1366 * 100vw);
  }
  .footer-sitemap__link {
    gap: calc(15 / 1366 * 100vw);
    margin-top: calc(14 / 1366 * 100vw);
    padding-right: calc(33 / 1366 * 100vw);
  }
  .footer-sitemap__link-list > .footer-sitemap__link-item {
    font-size: calc(14 / 1366 * 100vw);
  }
  .footer-sitemap__link-item + .footer-sitemap__link-item {
    margin-top: calc(30 / 1366 * 100vw);
  }
  .sitemap-link-list__small {
    gap: calc(12 / 1366 * 100vw);
    margin-top: calc(22 / 1366 * 100vw);
  }
  .sitemap-link-list__small .footer-sitemap__link-item {
    font-size: calc(12 / 1366 * 100vw);
  }
  .footer-sitemap__copy {
    margin-top: calc(160 / 1366 * 100vw);
    padding-left: calc(5 / 1366 * 100vw);
  }
  .footer-sitemap__copy p {
    font-size: calc(11 / 1366 * 100vw);
  }
}