@charset "utf-8";
/* CSS Document */
/* トップPC */
.section-top__image {
  width: 100%;
  /* 画像をトップの幅に合わせる */
  height: auto;
  /* 画像の縦横比を維持したまま拡大する */
  vertical-align: bottom;
}
.section-top__access {
  font-size: 2.4rem;
  margin: 40px auto 140px;
}
.section-top__access table,
.section-top__access table th,
.section-top__access table td {
  text-align: center;
  padding: 1.4rem 3.1rem;
  border-bottom: solid #333333 1px;
  /* 表の線 */
  vertical-align: middle;
  font-weight: 600;
}
.section-top__access table {
  max-width: 962px;
  width: 90%;
  margin: 0 auto;
  /* 表の中央揃え */
}
.section-top__access ul {
  display: flex;
  /* 休診日と診療予約・電話を横並び */
  flex-wrap: wrap;
  /* マルチラインの表示。横幅収まらなくなったら縦配置に変わる */
  align-items: center;
  /* 縦方向の位置揃え */
  gap: 16px clamp(30px, 44%, 198px);
  /* gap＝フレックスアイテムの間の余白調整。比較関数：clamp(最小値,推奨値,最大値) */
  max-width: 962px;
  /* 診療時間表の幅（最大幅） */
  width: 90%;
  margin: 20px auto 0;
  list-style: none;
  /* リストの点を消す */
}
.section-top__access ul li {
  line-height: 3.9rem;
}
.section-top__access ul li a {
  text-decoration: none;
  color: #26C8BF;
  font-size: 3.0rem;
  line-height: 4.8rem;
  font-weight: 600;
}
.section-top__access-text {
  margin-right: 50px;
}
.section-top__access-btn {
  padding: 15px 24px;
  /* 囲いと文字の間の余白 */
  border-radius: 16px;
  /* 角丸 */
  background-color: #26C8BF;
  /* 囲いの色 */
  color: #FFFFFF;
  /* 文字の色 */
  font-weight: 600;
  margin-right: 10px;
  vertical-align: text-bottom;
  /* 休診日と診療予約の高さを揃える */
}
/* トップPCとSPの間 */
@media(max-width: 830px) {
  .section-top__access table,
  .section-top__access table th,
  .section-top__access table td {
    font-size: 1.2rem;
    padding: 0.3rem 0.8rem;
  }
}
/* トップSP */
@media(max-width: 750px) {
  .section-top__access {
    margin: 40px auto;
  }
  .section-top__access ul li {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
  .section-top__access ul li a {
    font-size: 2.4rem;
    display: inline-block;
    /* 自動改行位置を指定 */
  }
  .section-top__access-btn {
    padding: 10px 20px;
    /* 囲いと文字の間の余白 */
    margin-right: 10px;
  }
}
/* コンセプトPC */
.section-concept {
  padding: 140px 0;
  background-color: #E8F6F5;
}
.section-concept h3::after {
  display: none;
  /* 線をキャンセル */
  margin-top: 0;
  /* 文字と線の間の余白をキャンセル */
}
.section-concept__icon {
  text-align: center;
  margin-bottom: 30px;
}
.section-concept__lead {
  width: 90%;
  max-width: 1320px;
  /* 文章の範囲 */
  font-size: 2.4rem;
  line-height: 3.9rem;
  text-align: center;
  margin: 0 auto 60px;
}
.section-concept__guidance,
.section-concept__notification-items {
  padding: 30px 20px;
  /* 囲いと文字の間の余白 */
  background-color: #FFFFFF;
  /* 囲いの色 */
  width: 80%;
  /* 囲いの幅（最大幅より狭くなったときの大きさ）*/
  max-width: 1320px;
  /* 囲いの最大幅 */
  margin: 0 auto;
  /* 囲いを中央寄せ */
  font-size: 2.4rem;
  line-height: 3.9rem;
  text-align: center;
}
.section-concept__guidance {
  margin-bottom: 30px;
  /* マイナ保険証記述と施設基準届出記述の間の余白 */
}
/* コンセプトSP */
@media(max-width: 750px) {
  .section-concept {
    padding: 100px 0;
  }
  .section-concept__icon {
    margin-bottom: 20px;
  }
  .section-concept__lead,
  .section-concept__guidance,
  .section-concept__notification-items{
    font-size: 1.6rem;
    line-height: 2.6rem;
    text-align: left;
  }
  .section-concept__lead {
    margin: 40px auto 20px;
  }
}
/* アバウトPC */
.section-about {
  padding: 140px 0;
  margin: 0 auto;
  width: 100%;
}
.section-about h3 {
  margin: 0 auto;
  /* section h3の設定キャンセル */
}
.section-about ol {
  display: flex;
  /* 休診日と診療予約・電話を横並び */
  flex-wrap: wrap;
  /* マルチラインの表示。横幅収まらなくなったら縦配置に変わる */
  justify-content: center;
  /* 横方向の位置揃え */
  gap: 16px 5%;
  /* gap＝フレックスアイテムの間の余白調整。余白2つ分（5*2＝10%） */
  width: 90%;
  margin: 0 auto;
  list-style: none;
  /* リストの数字を消す */
}
.section-about ol li {
  display: flex;
  /* 孫要素の余白をそろえるために設定 */
  flex-direction: column;
  /* 孫要素を縦並びにする */
  width: 30%;
  /* 全体に対し30%*3＝100% */
  max-width: 395px;
}
.section-about__number {
  position: relative;
  display: inline-block;
  /* 正円の設定 */
  height: 100px;
  width: 100px;
  border-radius: 50%;
  background-color: #26C8BF;
  top: 55px;
  /* 正円と画像の位置調整 */
  margin-top: 25px;
  /* セクションタイトルと特徴の間の余白 topと合わせて55+25=80px*/
}
.section-about__number-text {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100px;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 4.0rem;
  color: #FFFFFF;
  padding-top: 10px;
  /* 正円と文字の余白 */
}
.section-about__number-text span {
  font-size: 4.3rem;
}
.section-about__image {
  width: 100%;
  max-width: 395px;
  vertical-align: bottom;
  margin: 0 auto;
}
.section-about__title {
  width: 100%;
  max-width: 395px;
  margin: 40px auto 0;
  flex-grow: 1;
  /* 余白の統一 */
  height: 5%;
  /* 高さをそろえる */
  min-height: 0%;
}
.section-about__description {
  width: 100%;
  max-width: 395px;
  margin: 26px auto 80px;
  flex-grow: 1;
  /* 余白の統一 */
}
.section-about ol li .btn {
  margin: 0;
  /* common.cssのbtnのmarginキャンセル */
}
/* アバウトPCとSPの間 */
@media(max-width: 1140px) {
  .section-about ol li {
    width: 100%;
    /* 全体に対し30%をキャンセル */
  }
}
/* アバウトSP */
@media(max-width: 750px) {
  .section-about {
    padding: 100px 0;
  }
  .section-about__number {
    margin-top: 5px;
    /* セクションタイトルと特徴の間の余白 topと合わせて55+5=60px*/
  }
  .section-about__description {
    margin: 26px 0 60px;
  }
}
/* 診療科目PC */
.section-medical {
  padding: 140px 0;
  width: 100%;
  margin: 0 auto;
}
.section-medical ul {
  display: flex;
  /* 休診日と診療予約・電話を横並び */
  flex-wrap: wrap;
  /* マルチラインの表示。横幅収まらなくなったら縦配置に変わる */
  justify-content: center;
  /* 横方向の位置揃え */
  align-items: flex-start;
  /* 縦方向の位置揃え */
  gap: 16px clamp(17px, 17%, 80px);
  /* gap＝フレックスアイテムの間の余白調整。比較関数：clamp(最小値,推奨値,最大値) */
  list-style: none;
  /* リストの点を消す */
  width: 90%;
  margin: 0 auto;
}
.section-medical ul li {
  width: 140px;
  margin-bottom: 40px;
  /* 折り返し表示の際のアイコン間の余白 */
}
.section-medical__description {
  width: 90%;
  /* 文章の範囲 */
  max-width: 1320px;
  font-size: 2.4rem;
  line-height: 3.9rem;
  text-align: center;
  margin: 20px auto 80px;
  /* margin-topはliのmargin-bottom: 40px;と合わせて40+20＝60px */
}
.section-medical div {
  width: 90%;
}
/* 診療科目SP */
@media(max-width: 750px) {
  .section-medical {
    padding: 100px 0;
  }
  .section-medical__description {
    font-size: 1.6rem;
    line-height: 2.6rem;
    text-align: left;
    margin: 0 auto 60px;
  }
}
/* hoverまとめ */
/* マウスカーソルを乗せた状態で色が少し薄くなる */
.section-top__access ul li a:hover,
.section-about__inner:hover,
.section-medical ul li a:hover {
  transition: all .3s;
  /* アニメーションの指定 */
  opacity: 0.5;
  /* 要素の不透明度 */
}