@charset "UTF-8";

/*---------------------------
footer
---------------------------*/
.footer {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-style: normal;
  color: #333333;

  width: 100%;
  padding-top: calc(50vw/19.2);
  background-color: #FFFAF2;
  letter-spacing: 0px;
}
@media screen and (max-width: 767px) {
  .footer {
    padding-top: calc(20vw/3.6);
  }
}

.footer__area {
  width: 64%;
  margin: auto;
  text-align: left;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .footer__area {
    width: 94%;
  }
}

.footer-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .footer-wrapper {
    flex-direction: column;
  }
}

.footer-left {
  flex: 34%;
  text-align: center;
}

.footer-left__area {
  width: 90%;
  height: auto;
  font-size: calc(14vw/19.2);
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .footer-left__area {
    width: 100%;
    margin: auto;
    font-size: calc(12vw/3.6);
  }
}

.footer-left__item {
  margin-bottom: calc(45vw/19.2);
}
@media screen and (max-width: 767px) {
  .footer-left__item {
    margin-bottom: calc(20vw/3.6);
  }
}

.footer-left__item-text {
  margin-bottom: calc(8vw/19.2);
}
@media screen and (max-width: 767px) {
  .footer-left__item-text {
    margin-bottom: calc(8vw/3.6);
  }
}

.footer-left__tel-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
}

.footer-left__tel-icon {
  flex: 30%;
  padding-top: calc(10vw/19.2);
  padding-right: calc(10vw/19.2);
  text-align: right;
}
@media screen and (max-width: 767px) {
  .footer-left__tel-icon {
    padding-top: calc(10vw/3.6);
    padding-right: calc(10vw/3.6);  
  }
}

.footer-left__tel-number {
  flex: 70%;
  text-align: left;
  line-height: 1.4;
}

.footer-left__tel-emphasis {
  font-size: calc(36vw/19.2);
  font-weight: bold;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .footer-left__tel-emphasis {
    font-size: calc(36vw/3.6);
  }
}

.footer-center {
  flex: 44%;
  text-align: center;
}

.footer-center-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
}

.footer-center-01__item {
  flex: 40%;
  height: calc(350vw/19.2);
  text-align: left;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .footer-center-01__item {
    height: fit-content;
  }
}

.footer-center-01__title {
  width: 100%;
  margin-bottom: calc(10vw/19.2);
  font-size: calc(18vw/19.2);
  border-bottom: 2px solid;
}
@media screen and (max-width: 767px) {
  .footer-center-01__title {
    margin-bottom: calc(10vw/3.6);
    font-size: calc(18vw/3.6);
  }
}

.footer-center-01__link {
  width: 90%;
  margin: 0px auto calc(20vw/19.2);
  font-size: calc(16vw/19.2);
  font-weight: normal;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .footer-center-01__link {
    margin: 0px auto calc(20vw/3.6);
    font-size: calc(12vw/3.6);
  }
}

.footer-center-02__item {
  flex: 40%;
  text-align: left;
  font-weight: bold;
  border: 0px solid;
}
@media screen and (max-width: 767px) {
  .footer-center-02__item {
    height: fit-content;
  }
}

.footer-center-02__title {
  width: 98%;
  margin-bottom: calc(10vw/19.2);
  font-size: calc(18vw/19.2);
  border-bottom: 2px solid;
}
@media screen and (max-width: 767px) {
  .footer-center-02__title {
    margin-bottom: calc(10vw/3.6);
    font-size: calc(18vw/3.6);
  }
}

.footer-center-02__link {
  width: 90%;
  margin: 0px auto calc(20vw/19.2);
  font-size: calc(16vw/19.2);
  font-weight: normal;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .footer-center-02__link {
    margin: 0px auto calc(20vw/3.6);
    font-size: calc(12vw/3.6);
  }
}

.footer-center-03__item {
  flex: 40%;
  height: calc(350vw/19.2);
  text-align: left;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .footer-center-03__item {
    flex: 100%;
    height: fit-content;
  }
}

.footer-center-03__title {
  width: 98%;
  margin-bottom: calc(10vw/19.2);
  font-size: calc(18vw/19.2);
  border-bottom: 2px solid;
}
@media screen and (max-width: 767px) {
  .footer-center-03__title {
    margin-bottom: calc(10vw/3.6);
    font-size: calc(18vw/3.6);
  }
}

.footer-center-03__link {
  width: 90%;
  margin: 0px auto calc(20vw/19.2);
  font-size: calc(16vw/19.2);
  font-weight: normal;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .footer-center-03__link {
    margin: 0px auto calc(20vw/3.6);
    font-size: calc(12vw/3.6);
  }
}

.footer-center-04__item {
  flex: 40%;
  text-align: left;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .footer-center-04__item {
    flex: 100%;
    height: fit-content;
  }
}

.footer-center-04__title {
  width: 98%;
  margin-bottom: calc(10vw/19.2);
  font-size: calc(18vw/19.2);
  border-bottom: 2px solid;
}
@media screen and (max-width: 767px) {
  .footer-center-04__title {
    margin-bottom: calc(10vw/3.6);
    font-size: calc(18vw/3.6);
  }
}

.footer-center-04__link {
  width: 90%;
  margin: 0px auto calc(20vw/19.2);
  font-size: calc(16vw/19.2);
  font-weight: normal;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .footer-center-04__link {
    margin: 0px auto calc(20vw/3.6);
    font-size: calc(12vw/3.6);
  }
}

.footer-center-04__text {
  margin-bottom: 10px;
}

.footer-right {
  flex: 22%;
  text-align: left;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .footer-right {
    height: fit-content;
  }
}

.footer-right__title {
  width: 98%;
  margin-bottom: calc(10vw/19.2);
  font-size: calc(18vw/19.2);
  border-bottom: 2px solid;
}
@media screen and (max-width: 767px) {
  .footer-right__title {
    margin-bottom: calc(10vw/3.6);
    font-size: calc(18vw/3.6);
  }
}

.footer-right__link {
  width: 90%;
  margin: 0px auto calc(20vw/19.2);
  font-size: calc(16vw/19.2);
  font-weight: normal;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .footer-right__link {
    margin: 0px auto calc(20vw/3.6);
    font-size: calc(12vw/3.6);
  }
}

.footer__copyright {
  width: 64%;
  height: auto;
  margin: calc(30vw/19.2) auto 0;
  padding-bottom: calc(10vw/19.2);
  text-align: center;
  font-size: calc(18vw/19.2);
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    width: 94%;
    margin: calc(30vw/3.6) auto 0;
    padding-bottom: calc(10vw/3.6);
    font-size: calc(14vw/3.6);
  }
}