/* CSS変数 */
:root {
  /* font */
  --Blinker: "Blinker", sans-serif;
  /* color */
  --default-color: #FFFFFF;
  --sub-color: #333333;
}

footer {
  width: 100%;
  background-color: #011229;
  opacity: 1;
  padding: 6rem 0 1rem;
  color: white;
  position: relative;
  z-index: 3;

}

.footer_contact {
  display: flex;
  width: 132rem;
  height: 25rem;
  background-color: #04235060;
  border-radius: 0.8rem;
  margin-bottom: 10rem;
  margin-left: auto;
  margin-right: auto;
}

.footer_contact_left {
  margin-left: 22rem;
  margin-top: 4.8rem;
  margin-right: 8.9rem;
}

.footer_contact_title {
  font-family: Blinker;
  font-weight: semibold;
  font-size: 3.2rem;
  letter-spacing: 0.0640625em;
  margin-bottom: 2.6rem;
}

.footer_contact_text {
  font-family: Noto Sans JP;
  font-size: 1.6rem;
}

.footer_contact_right {
  margin-top: 5.31rem;
}

.footer_contact_tel {
  display: flex;
  font-family: Noto Sans JP;
  font-size: 1.5rem;
  letter-spacing: 0.12em;
}

.footer_contact_tel_img {
  margin-left: 2.1rem;
  margin-top: -0.2rem;
  width: 3.127rem;
  height: 2.936rem;
}

.footer_contact_tel_img:hover {
  transform: rotate(-135deg);
  transition-duration: 0.8s;
}

.footer_contact_tel_img_sp {
  display: none;
}

.footer_contact_time {
  font-family: Noto Sans JP;
  font-size: 1.4rem;
}

.footer_contact_link {
  display: flex;
  align-items: center;
  position: relative;
  width: 27.994rem;
  justify-content: space-between;
  background-color: #254792;
  border-radius: 0.8rem;
  font-family: Noto Sans JP;
  font-size: 1.6rem;
  line-height: 2.125em;
  padding: 0 3.5rem;
  margin-top: 4rem;
  line-height: calc(59.94 / 16);
  opacity: 1;
  overflow: hidden;
}

.plane_footer {
  width: 3.4rem;
  height: 3.4rem;
}

.footer_contact_img {
  width: 3.394rem;
  height: 3.394rem;
  margin-left: 1.6rem;
}

.footer_list {
  width: 120rem;
  display: flex;
  margin: 0 auto 15.2rem;
  justify-content: space-between;
}

.footer_company {
  width: 44.3rem;
  /* margin-right: 15.7rem; */
}

.footer_name {
  font-family: Noto Sans JP;
  font-weight: bold;
  font-size: 3.2rem;
  letter-spacing: 0.0640625em;
  margin-bottom: 2rem;
}

.footer_address,
.footer_tel {
  font-family: Noto Sans JP;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

.footer_nav {
  display: flex;
  width: 55.7rem;
  gap: 7.5rem;
  margin-top: -0.3rem;
  margin-right: 4.3rem;
}

.footer_nav_link_top {
  display: block;
  font-family: var(--Blinker);
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: calc(0.8em / 20);
  color: white;
}

.footer_sitemap_right {
  display: flex;
  flex-direction: column;
  margin-top: 0.3rem;
  height: 29.4rem;
}
.footer_sitemap_right div:nth-child(1) {
  display: flex;
  width: 44.6rem;
  justify-content: space-between;
}

.footer_about {
  display: block;
  width: 12.2rem;
  height: 18rem;
  margin-bottom: 5.9rem;
}

.footer_nav_link {
  display: block;
  font-family: Blinker;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  color: white;
  line-height: 1.2em;
}


.footer_news {
  display: flex;
  margin-left: 1.9rem;
}
.footer_news a:nth-child(1) {
    margin-right: 12.5rem;
}


.footer_nav_link:nth-of-type(4) {
  margin-left: 1.8rem;
}

.footer_nav_link_in {
  display: block;
  font-family: Noto Sans JP;
  font-size: 1.6rem;
  color: #E6E6E6;
  margin-left: 1rem;
  line-height: 1.5em;
  margin-top: 1.5rem;
}

.privacy_policy {
  font-family: var(--Blinker);
  font-size: 1.4rem;
  margin-top: 1.4rem;
  line-height: calc(16 / 14);
  letter-spacing: calc(0.56em / 14);
}

.copyright {
  font-family: Noto Sans JP;
  color: #C8C8C8;
  text-align: center;
}

.footer_arrow_animation {
  animation: footer_animation ease 0.6s 1;
}

@keyframes footer_animation {
  0% {
    transform: translate3D(0, 0, 0);
  }
  50% {
    transform: translate3d(150%, -150%, 0);
    opacity: 0;
  }
  51% {
    transform: translate3d(-150%, 150%, 0);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

/*================================
  英語版
================================*/
.footer_contact_en {
  width: 132rem;
  gap: 8.9rem;
  justify-content: center;
}
.footer_contact_left_en {
  margin: 4.8rem 0;
}

.footer_nav_en {
  width: fit-content;
  margin-right: 0;
}
.footer_about_en {
  width: 18rem;
  height: auto;
}
.footer_service_en {
  width: 29rem;
}
.footer_sitemap_right_en div:nth-child(1) {
  width: 100%;
  gap: 1.7rem;
}

@media screen and (max-width: 699.98px) {
  footer {
    padding: 3.2rem 1.6rem 1rem 1.6rem;
  }

  .footer_contact {
    flex-direction: column;
    width: 34.3rem;
    height: 31.4rem;
    border-radius: 0.8rem;
    margin-bottom: 3.2rem;
    padding-left: 2.4rem;
    margin-top: 0;
  }

  .footer_contact_left {
    margin-top: 2.2rem;
    margin-right: 0;
    margin-left: 0;
  }

  .footer_contact_title {
    font-size: 2.4rem;
    letter-spacing: 0.055833em;
    margin-bottom: 1.2rem;
  }

  .footer_contact_text {
    margin-bottom: 4.8rem;
  }

  .footer_contact_right {
    margin-top: 0;
  }

  .footer_contact_tel_img_sp {
    display: block;
    margin-left: 1.6rem;
    width: 1.9rem;
    height: 2.5rem;
  }

  .footer_contact_tel_img {
    display: none;
  }

  .footer_contact_time {
    margin-top: 0.4rem;
  }

  .footer_contact_link {
    margin-top: 1.4rem;
    line-height: calc(60 / 16);
  }

  .plane_footer {
    width: 3rem;
    height: 3rem;
  }

  .footer_list {
    width: 34.3rem;
    flex-direction: column;
    margin-left: 1.4rem;
    margin-bottom: 5.3rem;
  }

  .footer_company {
    width: 100%;
    margin-right: 0;
  }

  .footer_name {
    margin-bottom: 1.4rem;
  }

  .footer_address {
    margin-bottom: 0.8rem;
    color: #C8C8C8;
  }

  .footer_address_sp {
    display: inline-block;
    line-height: 1.375em;
  }

  .footer_tel {
    color: #C8C8C8;
    margin-bottom: 6.4rem;
  }

  .footer_nav {
    width: 100%;
    gap: 3.2rem;
    flex-direction: column;
  }
  
  .footer_nav_link_top {
    line-height: calc(24 / 20);
  }

  .footer_sitemap_right {
    flex-direction: column;
    width: 30rem;
    margin-top: 0.2rem;
    height: 53rem;
  }
  .footer_sitemap_right div:nth-child(1) {
    width: 31.5rem;
    flex-direction: column;
  }

  .footer_about {
    width: 12.2rem;
    height: 18.4rem;
    margin-bottom: 3.2rem;
    margin-right: 0;
  }

  .footer_service {
    margin-bottom: 3.2rem;
  }

  .footer_news {
    flex-direction: column;
    gap: 3.2rem;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 3.2rem;
  }


  .footer_nav_link:nth-of-type(4) {
    margin-left: 0;
    margin-top: 3.2rem;
  }

  .footer_nav_link_in {
    display: block;
    font-family: Noto Sans JP;
    font-size: 1.6rem;
    color: #C8C8C8;
    margin-left: 1rem;
    line-height: 1.5em;
    margin-top: 1.6rem;
  }

  .privacy_policy {
    font-size: 1.6rem;
    line-height: calc(19 / 16);
    letter-spacing: unset;
    margin-left: 0;
    margin-top: 3rem;
    margin-bottom: 0;
    font-family: var(--Blinker);
  }

/*================================
  英語版
================================*/
  .footer_contact_en{
    height: auto;
    gap: 2.5rem;
    padding-bottom: 2.4rem;
  }
  .footer_list_en {
    margin-bottom: 6.2rem;
  }
  .footer_news_en {
    margin-bottom: 0;
  }
  .footer_contact_left_en {
    margin-bottom: 0;
  }
  .footer_sitemap_right_en {
    height: 100%;
  }
  .footer_contact_text_en {
    margin-bottom: 0;
  }
  .footer_about_en {
    height: 100%;
    margin-bottom: 0;
  }
}