html {
  scroll-behavior: smooth;
}


/* フッター　全体 */

.footer_wrapper {
  width: 100%;
  padding-bottom: 40px;
  box-sizing: border-box;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

/* 全体の中の囲い */
.footer_all {
  width: 52.6rem;
  margin: 0 auto;
  /* 中央寄せ */
  background-color: #ffffff;
  /* 中央の背景色：白 */
  background-image: url('../img/big_teeth.png');
  /* 歯の背景画像 */
  background-repeat: no-repeat;
  /* ★【ポイント】横幅ではなく「高さ」を親要素いっぱいに伸ばす */
  background-size: auto calc(85% - 3rem);

  /* ★上から 3rem の位置に固定 */
  background-position: center top 3rem;
  border-radius: 0 0 4rem 4rem;
  padding: 10rem 2rem 8rem;
  /* 内側の上下左右余白 */
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;


}

/* りんごのロゴからプライバシーポリシーまでの囲い */
.footer_top_group {
  display: flex;
  justify-self: center;
  align-items: center;
  flex-direction: column;
  gap: 3rem;
  margin-top: 5rem;
}

/* りんごロゴ */
.footer_top_imge {
  width: 7.2rem;
  height: auto;
}

/* ホーム～プライバシーポリシー */
.footer_link_item {
  text-decoration: none;
  color: #4A3222;
  font-size: 2rem;
  font-weight: bold;
}

/* 当院は、以下の施設基準に・・・ */
/* 囲い */
.footer_facility {}

.footer_facility_text {
  font-size: 1.6rem;
  font-weight: bold;
}

/*▶ 施設基準届出項目等 */
.footer_facility_link {
  font-size: 1.4rem;
  font-weight: bold;
  text-decoration: none;
  color: #1CA63D;
  line-height: 2.2;
  transition: opacity 0.3s ease;
  /* ホバー時の透過アニメーションを滑らかに */
}

/* ホバー時の設定 */
.footer_facility_link:hover {
  opacity: 0.6;
  /* 透過60% */
}

.footer_facility_icon {
  margin-right: 0.5rem;
}

/* カムカム歯科クリニックロゴ　以下の囲い */
.footer_group {
  display: flex;
  justify-self: center;
  align-items: center;
  flex-direction: column;
  gap: 3rem;
  margin-top: 2rem;
}

/* カムカム歯科クリニックロゴ */
.footer_logo {
  width: 34.7rem;
  height: auto;
}

/* 電話番号 */
.footer_tel_link {
  text-decoration: none;
  transition: opacity 0.3s ease;
  /* 透過変化を滑らかにする設定 */
}

/* ホバー時の透過設定 */
.footer_tel_link:hover {
  opacity: 0.6;
  /* 透過60% */
}

/* TEL. */
.footer_tel_label {
  color: #1CA63D;
  font-size: 2rem;
  font-weight: bold;
}

/* 0979・・・ */
.footer_tel_label2 {
  color: #1CA63D;
  font-size: 3.6rem;
  font-weight: bold;
  text-decoration: none;
  text-underline-offset: 0.4rem;
  /* 文字と下線の隙間を4pxに設定 */
}

/* 改行タグを通常は非表示 */
.sp_br {
  display: none;
}

/* 住所 */
.footer_address {
  font-size: 2rem;
  font-weight: bold;
  display: inline-block;
  text-align: left;
}

/* Google Map囲い */
.footer_map_btn_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 23.9rem;
  height: 4.5rem;
  background-color: #FFBA60;
  border-radius: 5rem;
}

/* Google Map */
.footer_map_btn {
  color: white;
  font-size: 2rem;
  text-decoration: none;
  transition: color 0.3s ease;
  /* 色変化を滑らかに */
}

/* ▷ */
.footer_map_btn_item {
  margin-left: 0.1rem;
  display: inline-block;
  transition: transform 0.3s ease;
  /* 移動アニメーションを滑らかに */
}

/* ホバー時に文字色を 濃くする */
.footer_map_btn_wrap:hover {
  background-color: #ED6C00;
}

/* ホバー時に矢印を右に4px移動 */
.footer_map_btn_wrap:hover .footer_map_btn_item {
  transform: translateX(0.4rem);
}

/* hr 横線 */
.footer_separator_line {
  height: 0.2rem;
  width: 48rem;
  align-self: stretch;
  /* 追加: 親要素の幅に合わせて伸ばす */
  background-color: rgba(74, 50, 34, 0.1);
  /* #4A3222 の20%透過 */
  border: none;
}



/* © camcam Dental Clinic */
.footer_copyright {
  font-size: 1.4rem;
  margin-bottom: 3rem;
}

@media screen and (max-width: 526px) {

  .footer_wrapper {
    padding: 0;
  }

  .footer_all {
    width: 100%;
    border-radius: 0;
    /* 画面が小さくなっても歯の波ラインが高さを維持するように調整 */
    /* ★スマホ時も高さを固定し、上位置を維持 */
    background-size: auto calc(85% - 2rem);
    background-position: center top 2rem;
  }
}

/* 410px以下で住所を改行 */
@media screen and (max-width: 410px) {
  .sp_br {
    display: inline;
  }

  .footer_facility_text {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 358px) {
  .footer_logo {
    width: 28rem;
    height: auto;
  }

  .footer_facility_text {
    letter-spacing: -0.05em;
    font-size: 1.3rem;
  }
}