@font-face {
  font-family: "NotoSansJP";
  src: url("../font/NotoSansJP.ttf") format("truetype");
}
@font-face {
  font-family: "NotoSansJP Medium";
  src: url("../font/NotoSansJP-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Roboto Medium";
  src: url("../font/Roboto-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Roboto Regular";
  src: url("../font/Roboto-Regular.ttf") format("truetype");
}
.footer {
  background-color: #edf4fe;
  padding: 2.6666666667vw;
}
.footer__inner {
  border: 1px solid white;
  border-radius: 1.6vw;
  padding: 6.6666666667vw 5.3333333333vw 8vw;
  display: flex;
  flex-direction: column;
  gap: 4vw;
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 0 30px rgba(53, 99, 215, 0.1);
}
.footer__info {
  padding-left: 1.3333333333vw;
}
.footer__title {
  margin-bottom: 3.4666666667vw;
}
.footer__details {
  display: flex;
  flex-direction: column;
}
.footer__address {
  line-height: 1.5;
  color: #333333;
}
.footer__tel {
  line-height: 2;
  color: #333333;
}
.footer__url {
  line-height: 2;
  color: #333333;
}
.footer__schedule {
  flex: 1;
}
.footer__schedule-title {
  margin-bottom: 0.8333333333vw;
}
.footer__schedule-table {
  margin-bottom: 1.0416666667vw;
}
.footer__schedule-note {
  padding-left: 1.3333333333vw;
  padding-top: 1.3333333333vw;
  line-height: 1.5;
}
.footer__bottom {
  padding: 6.4vw 8vw 8vw;
}
.footer__bottom-inner {
  display: flex;
  gap: 5.3333333333vw;
  justify-content: right;
  align-items: flex-end;
  margin: 0 auto;
}
.footer__link {
  text-decoration: none;
  color: #333333;
}
.footer__link:hover {
  text-decoration: none;
}
.footer__copyright {
  color: #333333;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 20px;
  }
  .footer__inner {
    max-width: 1870px;
    margin: 0 auto;
    padding: 40px 50px 60px;
    gap: 40px;
  }
  .footer__info {
    padding-left: 20px;
  }
  .footer__title {
    margin-bottom: 20px;
  }
  .footer__tel {
    line-height: 1.5;
  }
  .footer__url {
    line-height: 1.5;
  }
  .footer__schedule-note {
    padding-left: 20px;
    padding-top: 20px;
  }
  .footer__bottom {
    max-width: 1870px;
    margin: 0 auto;
    padding: 30px 0 60px;
  }
  .footer__bottom-inner {
    gap: 30px;
  }
  .footer__link {
    text-decoration: underline;
  }
}
@media screen and (min-width: 1024px) {
  .footer__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .footer__info {
    padding-left: 0;
  }
  .footer__schedule {
    max-width: 600px;
  }
}
.footer .schedule-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.footer .schedule-table tr {
  height: 8vw;
}
.footer .schedule-table th,
.footer .schedule-table td {
  text-align: center;
  width: 8vw;
}
.footer .schedule-table th:first-child,
.footer .schedule-table td:first-child {
  padding-left: 1.3333333333vw;
  width: unset;
}
.footer .schedule-table tbody tr td {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.footer .schedule-table tbody tr:first-child td {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.footer .schedule-table th {
  font-weight: 350;
}
.footer .schedule-table th:first-child {
  text-align: left;
}
.footer .schedule-table td:first-child {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .footer .schedule-table tr {
    height: 60px;
  }
  .footer .schedule-table th,
  .footer .schedule-table td {
    width: unset;
  }
  .footer .schedule-table th:first-child,
  .footer .schedule-table td:first-child {
    width: 200px;
    padding-left: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .footer .schedule-table th:first-child,
  .footer .schedule-table td:first-child {
    width: 120px;
  }
}
.footer .color-saturday {
  color: #3563d7;
}
.footer .color-sunday {
  color: #ff4444;
}
.footer .color-holiday {
  color: #ff9900;
}
.footer .color-time {
  color: #00303c;
}
.footer .schedule-dot {
  color: #3563d7;
}
.footer .schedule-dash {
  color: #a4bbc4;
}
.footer.black-theme {
  background-color: #f3f5f8;
}
.footer.black-theme .schedule-dot {
  color: #999999;
}
.footer.black-theme .schedule-dash {
  color: #999999;
}
.footer.green-theme {
  background-color: #e7fae7;
}
.footer.green-theme .schedule-dot {
  color: #0bb291;
}
.footer.green-theme .schedule-dash {
  color: #85d2c3;
}
.footer.pink-theme {
  background-color: #fff2fd;
}
.footer.pink-theme .schedule-dot {
  color: #ff5ac7;
}
.footer.pink-theme .schedule-dash {
  color: #ffafcf;
}
.footer.yellow-theme {
  background-color: #ffffeb;
}
.footer.yellow-theme .schedule-dot {
  color: #ffa800;
}
.footer.yellow-theme .schedule-dash {
  color: #d6d0b7;
}