#footer {
  background-color: #F5F5F5;
  padding-bottom: 13rem;
}

#footer-contact {
  background-color: #fff;
  width: 100%;
  padding-top: 42.6rem;
  position: relative;
}

@media(max-width:768px) {
  #footer-contact {
    padding-top: 100rem;
  }
}

@media(max-width:426px) {
  #footer-contact {
    padding-top: 105.3rem;
  }
}

.footer__inner {
  width: 90%;
  max-width: 1340px;
  margin: 0 auto;
  display: flex;
}

.footer-contact__inner {
  position: absolute;
  transform: translateX(-50%);
  top: 8rem;
  left: 50%;
}

@media(max-width:768px) {
  .footer-contact__inner {
    flex-direction: column-reverse;
  }
}

.footer__inner--flex {
  justify-content: space-between;
  border-top: solid .1rem #9A9A9A;
  padding-top: 8rem;
}

@media(max-width:768px) {
  .footer__inner--flex {
    flex-direction: column-reverse;
    border: none;
  }
}

.footer-contact__contents {
  width: 76rem;
  height: 45.3rem;
  background-color: #0065BB;
  color: #fff;
  padding: 9rem 0 10rem;
}

@media(max-width:768px) {
  .footer-contact__contents {
    width: 100%;
    height: 48.7rem;
    margin: 0 auto;
    padding: 5rem 0 6rem;
  }
}

@media(max-width:426px) {
  .footer-contact__contents {
    height: 54rem;
  }
}

.footer-contact__contents-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: max-content;
  height: 100%;
  margin: 0 auto;
}

@media(max-width:768px) {
  .footer-contact__contents-inner {
    width: 92%;
  }
}

.footer-contact__title {
  display: flex;
  align-items: center;
  margin: 0 0 2rem .2rem;
}

.footer-contact__title--blue {
  color: #61CED8;
}

.footer-contact__title--ja {
  font-size: 1.8rem;
  letter-spacing: .05em;
  margin-right: 1.3rem;
}

@media(max-width:768px) {
  .footer-contact__title--ja {
    font-size: max(18px, 1.8rem);
  }
}

.footer-contact__title--en {
  font-size: 1.4rem;
  letter-spacing: .05em;
  position: relative;
}

@media(max-width:768px) {
  .footer-contact__title--en {
    font-size: max(12px, 1.4rem);
  }
}

.footer-contact__title--en::after {
  content: "";
  background-color: #fff;
  width: 12rem;
  height: .1rem;
  position: absolute;
  transform: translate(100%, 100%);
  top: 50%;
  right: -.86rem;
}

.footer-contact__text {
  font-family: 'Shippori Mincho B1', serif;
  font-size: 2.8rem;
  letter-spacing: .05em;
  line-height: calc(44/28);
}

@media(max-width:768px) {
  .footer-contact__text {
    font-size: max(16px, 2.8rem);
    margin-bottom: 2rem;
  }
}

.footer-contact__contact {
  display: flex;
  align-items: center;
}

@media(max-width:768px) {
  .footer-contact__contact {
    flex-direction: column;
  }
}

.footer__tel {
  display: flex;
  align-items: center;
}

@media(max-width:768px) {
  .footer__tel {
    margin-bottom: 4rem;
  }
}

.footer__tel-icon {
  width: 3.3rem;
  height: 3.3rem;
}

@media(max-width:768px) {
  .footer__tel-icon {
    width: 4rem;
    height: 4rem;
  }
}

.footer__number {
  font-size: 3rem;
  margin-left: .8rem;
  pointer-events: none;
}

@media(max-width:768px) {
  .footer__number {
    font-size: max(20px, 4.2rem);
    pointer-events: all;
  }
}

.footer__btn {
  background-color: #61CED8;
  width: 21rem;
  height: 5rem;
  border-radius: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 3.6rem;
  transition: .3s;
}

@media(max-width:768px) {
  .footer__btn {
    width: 100%;
    height: 8rem;
    margin: 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .footer__btn:hover {
    background-color: #fff;
  }
}

.footer__btn-icon {
  width: 2.925rem;
  height: auto;
}

@media(max-width:768px) {
  .footer__btn-icon {
    width: 3.6rem;
  }
}

.footer__btn-text {
  font-size: 1.8rem;
  letter-spacing: .05em;
  color: #222;
  margin-left: 1.34rem;
}

@media(max-width:768px) {
  .footer__btn-text {
    font-size: max(14px, 2rem);
  }
}

.footer-contact__img {
  width: calc(580/1340* 100%);
  height: 45.3rem;
}

@media(max-width:1300px) {
  .footer-contact__img {
    width: 35%;
  }
}

@media(max-width:768px) {
  .footer-contact__img {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
}

.footer__nav {
  padding-top: 15.7rem;
  margin-bottom: 5rem;
}

@media(max-width:768px) {
  .footer__nav {
    display: none;
  }
}

.footer__nav-list {
  font-size: 1.5rem;
  font-weight: 500;
  display: flex;
  justify-content: center;
}

.footer__nav-item:not(:first-of-type) {
  margin-left: 3rem;
}

.footer__nav-item {
  transition: .3s;
}

.footer__nav-item:hover {
  color: #9A9A9A;
}

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

@media(max-width:768px) {
  .footer__contents {
    align-items: center;
  }
}

.footer__logo {
  width: 33.7rem;
}

@media(max-width:768px) {
  .footer__logo {
    width: 40rem;
    margin: 8rem auto 0;
  }
}

.footer__address {
  font-size: 1.5rem;
  letter-spacing: .07em;
  margin-top: 2rem;
}

@media(max-width:768px) {
  .footer__address {
    font-size: max(14px, 1.5rem);
    text-align: center;
  }
}

.footer__copyright {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .05em;
  color: #9A9A9A;
  margin-top: 5rem;
}

@media(max-width:768px) {
  .footer__copyright {
    font-size: max(14px, 1.4rem);
  }
}

.footer__map {
  width: 57%;
  max-width: 85rem;
  height: 40rem;
}

@media(max-width:768px) {
  .footer__map {
    width: 100%;
    margin-top: 8rem;
  }
}