/* 共通 */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

body {
  font-family: "Yu Gothic", "YuGothic", "游ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Meiryo", sans-serif;
}

.serviceCards__textBox--item {
  z-index: auto;
}

.serviceCards {
  z-index: 0;
}

.serviceCards__img {
  z-index: -1;
}

.hamburgerContact__address-map {
  background-color: #152f72;
}

.mv__text {
  p {
    font-weight: 600;
    font-family: "ryo-gothic-plusn", sans-serif;
  }
}

.aboutIntroCommonBtn .seeDetailsBtn::before {
  display: none;
}
.aboutIntroCommonBtn .seeDetailsBtn img {
  display: block;
}

@media screen and (min-width: 769px) {
  header {
    .navbar {
      width: calc((1100 / 1280) * 100vw);
      margin-inline: auto;
    }
    .menu {
      margin-right: 0;
      li {
        font-weight: 500;

        a {
          font-weight: 500;
        }
      }
      .clickDropdown {
        top: 65px;
        border: none;
        width: 200px;
        a {
          font-size: 15px;
        }
      }
    }
    .menu__tel {
      line-height: 1;
    }
  }

  /* TOP */
  .copy {
    position: absolute;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    left: calc((35 / 1280) * 100vw);
    top: calc((155 / 1280) * 100vw);
    span {
      font-size: 15px;
      font-weight: 100;
      opacity: 0.3;
      font-family: "sofia-pro-soft", sans-serif;
    }
  }

  .mv {
    width: calc((1100 / 1280) * 100vw);
    height: calc((630 / 1280) * 100vw);
    aspect-ratio: unset;
  }

  .about {
    .aboutIntro__card {
      justify-content: unset;
    }
  }
  .groupSection__caption {
    font-size: 16px;
    padding: 0 25px;
  }

  .newsPosts__catBox--item a {
    border: 1px solid #2aaadb;
  }

  .timeTable {
    padding: 80px 25px;
  }

  .timeTable__wrapper {
    padding: 35px 30px 40px 50px;
  }

  /* 下層 */

  .doctorsIntro {
    .doctorsIntro__container:nth-child(2) {
      padding-bottom: 100px;
    }
  }
  .accessHours__time {
    padding-left: 25px;
  }

  /* .facilityImg {
    padding-top: 0;
  } */

  .facilityImg__image {
    img {
      border-radius: 10px;
    }
  }

  .accessReserve__button {
    width: 240px;
  }

  .footer__group-list {
    gap: 0;
  }

  .footer__group-list--grid {
    width: auto;
    gap: 2rem 1.5rem;
  }

  .footer__tel {
    font-family: "sofia-pro-soft", sans-serif;
    strong {
      font-weight: 400;
    }
  }
}

@media screen and (min-width: 769px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  /* 共通 */

  .hamburgerContact {
    padding-inline: 30px;
    .hamburgerContact__info {
      font-family: "sofia-pro-soft", sans-serif;
    }
    .hamburgerContact__info-number {
      font-size: 34px;
      font-family: "sofia-pro-soft", sans-serif;
      letter-spacing: -0.01em;
    }
    .hamburgerContact__cta {
      width: 100%;
    }

    .hamburgerContact__hours--title {
      font-size: 10px;
      padding: 0;
      border-radius: 5px;
      padding: 3px 8px;
      background-color: #344a831c;
      width: 30%;
    }

    .hamburgerContact__hours--time {
      width: 70%;
      font-size: 13px;
    }

    .hamburgerContact__address {
      padding-inline: 0;
      .hamburgerContact__address-text {
        font-size: 13px;
      }
      .hamburgerContact__address-map {
        font-size: 12px;
      }
    }

    .hamburgerContact__group {
      padding: 0;
      .hamburgerContact__group-list {
        margin-left: 0;
      }
      .hamburgerContact__group-item {
        width: fit-content;
        font-size: 13px;
        padding-right: 0;
      }
    }
  }
  .hamburgerContact__cp-text {
    font-size: 10px;
  }

  /* top */

  .mv {
    width: 92%;
  }

  .aboutLeft {
    padding: 0 25px;
  }

  .aboutLeft__icon {
    margin: 10px 0 20px;
  }
  .swiper-wrapper::after {
    border-radius: 10px;
  }

  .copy {
    display: none;
  }

  .aboutLeft__largeText {
    line-height: 1.8em;
  }

  .timeTable__table {
    border: 1px solid #344a83;
    border-radius: 0;
  }

  .newsPosts__postBox--title {
    font-size: 16px;
  }

  .serviceCards {
    padding-top: 40px;
    padding-inline: 25px;
    border-radius: 10px;
    overflow: hidden;
    .commonBtnServiceCard .seeDetailsBtn {
      margin-top: 25px;
    }
    .serviceCards__textBox {
      width: 90%;
      margin-bottom: 0px;
    }
  }

  .aboutIntro__textBox {
    padding: 10px 20px 20px 20px;
    .aboutIntro__text {
      margin: 10px 0 0;
      font-size: 14px;
    }
  }

  .newsHeader--box {
    gap: 5px;
  }
  .newsPosts {
    margin-top: 20px;
  }
  .newsPosts__postBox--item {
    padding-left: 0;
  }

  .groupCards {
    .groupCard:nth-child(3) {
      height: 180px;
    }
  }

  .accordion .txt_a_ac {
    line-height: 1.8em;
  }

  .ctaStickyBtnSp {
    padding: 15px 30px 15px;
  }
  /* footer */

  .footer__group-title {
    margin-bottom: 0;
  }

  .footer__group {
    margin-inline: 0;
  }

  .footer__group-list {
    padding-inline: 25px;
  }

  .footer__tel {
    font-family: "sofia-pro-soft", sans-serif;
    text-align: center;
    font-size: 25px;
    strong {
      font-weight: 400;
      font-size: 36px;
      font-family: "sofia-pro-soft", sans-serif;
    }
  }

  .footer__links {
    padding-inline: 25px;
    margin-left: 0;
  }

  .footer__section:last-child {
    ul {
      li:last-child {
        width: 100%;
      }
    }
  }
  .footer__group-list--grid {
    row-gap: 10px;
  }
  .footer__group .blueDot.group::before {
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
  }

  .footer__section {
    .mainLinks {
      row-gap: 20px !important;
    }
  }
}
