/* ///////////////////////
全体設定
////////////////////// */
a {
  text-decoration: none;
  color: #4a4a4a;
}
a:hover {
  text-decoration: none;
}
/* 見出しのフォントサイズ */
@media screen and (max-width: 639px) {
  /* .wp-block-heading {
    --_font-size-level: 3;
  } */
  h2 {
    --_font-size-level: 2;
  }
}
/* ホバー時の設定 */
.header-btn,
.reserve-cta__item .smb-panels__item--block-link,
.first-cta,
.treatments-links__item .smb-panels__item--block-link,
.medical-item .smb-panels__item--block-link,
.web-reserve-btn {
  transition: transform 0.2s ease;
}

.header-btn:hover,
.reserve-cta__item .smb-panels__item--block-link:hover,
.first-cta:hover,
.treatments-links__item .smb-panels__item--block-link:hover,
.medical-item .smb-panels__item--block-link:hover,
.web-reserve-btn:hover {
  transform: translateY(1px);
}

.header-btn:active,
.reserve-cta__item .smb-panels__item--block-link:active,
.first-cta:active,
.treatments-links__item .smb-panels__item--block-link:active,
.medical-item .smb-panels__item--block-link:active,
.web-reserve-btn:active {
  transform: translateY(2px);
}

/* ///////////////////////
再利用ブロック設定
////////////////////// */
/* 共通見出し */
.section-heading h2 {
  position: relative;
  text-align: center;
}

.section-heading h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  background-color: #f08a8a;
  margin: 14px auto 0;
  border-radius: 999px;
}

/* 診療案内テーブル装飾 */
.treatment-table {
  border-radius: 20px;
  padding: 15px;
  background-color: #fff;
}
@media screen and (max-width: 374px) {
  .treatments-items .wp-block-table td,
  .treatments-items .wp-block-table th {
    padding-left: 6px;
    padding-right: 6px;
  }
}

/* 共通ボタン（お知らせ、ブログ） */
.btn-common .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  color: #333;
  text-decoration: none;
  border-radius: 0;
  border: none;
  position: relative;
}

/* 右の丸アイコン */
.btn-common .wp-block-button__link::after {
  content: "›";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #f08a8a;
  color: #fff;
  font-size: 20px;
  border-radius: 50%;
}

/* ///////////////////////
フォント設定
////////////////////// */
.zen-maru-gothic {
  font-family: "Zen Maru Gothic", sans-serif;
}

/* ///////////////////////
ヘッダー
////////////////////// */
/* メニューの左右の余白の調整 */
.l-2row-header .p-global-nav .c-navbar__item > a {
  padding-top: 5px;
  padding-bottom: 10px;
  flex-direction: row;
}
/* 電話 設定 */
.header-contact {
  font-size: 27px;
}
.header-wrapper2 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Zen Maru Gothic", sans-serif;
}
/* 電話 */
.header-tel {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  text-decoration: none;
  color: #333;
}
.fa-phone {
  color: #f08a8a;
  font-size: 21px;
}
/* ボタン共通 */
.header-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 130px;
  height: 70px;
  border-radius: 10px;
  text-decoration: none;
  color: #fff;
}
/* メイン文字 */
.btn-main {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}
/* サブ文字 */
.btn-sub {
  font-size: 15px;
}
/* LINE */
.header-btn.line {
  background-color: #06c755;
}
/* WEB */
.header-btn.web {
  background-color: #f08a8a;
}

/* メニューの前にアイコン（フォントオーサム）表示 */
/* ナビリンク */
.p-global-nav .c-navbar__item > a {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* アイコン設定 */
.p-global-nav .c-navbar__item > a::before {
  display: inline;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 20px;
  color: #f08a8a;
  width: 18px;
  text-align: center;
}

/* 医院紹介 */
.menu-item-436 > a::before {
  content: "\f015"; /* home */
}
/* 診療案内 */
.menu-item-437 > a::before {
  content: "\f0f0"; /* stethoscope */
}
/* はじめての方へ */
.menu-item-435 > a::before {
  content: "\f05a"; /* info */
}
/* アクセス */
.menu-item-434 > a::before {
  content: "\f3c5"; /* location */
}
/* よくある質問 */
.menu-item-668 > a::before {
  content: "\f059"; /* fa-circle-question */
}
/* お知らせ */
.menu-item-667 > a::before {
  content: "\f0f3"; /* fa-bell */
}

.c-page-header__title {
  color: #333;
  font-family: "Zen Maru Gothic", sans-serif;
}

/* ///////////////////////
フッター
////////////////////// */
.l-footer {
  background-color: #f3f1ed;
  color: #4a4a4a;
  border-top: none;
}
.l-footer--default .c-copyright {
  background-color: #f3f1ed;
  color: #4a4a4a;
  padding-bottom: 10px;
}

/* 固定フッターの装飾 */
.p-footer-sticky-nav {
  background-color: transparent;
}
.p-footer-sticky-nav .footer-menu_sp {
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
}
.p-footer-sticky-nav .footer-menu_sp a {
  font-size: 1rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #fff;
}
.menu_web {
  background-color: #f08a8a;
}
.menu_line {
  background-color: #06c755;
}

/* ///////////////////////
ドロワーメニュー
////////////////////// */
/* 背景色 */
nav#drawer-nav {
  background-color: #fff5f5;
}
/* 全体真ん中寄せ */
.c-drawer__inner {
  text-align: center;
}
/* ロゴ真ん中寄せ、サイズ */
.c-hsm-message-box.c-hsm-message-box_invert.p-hsm-drawer.c-blinking {
  max-width: 83%;
  margin: 0 auto;
  margin-bottom: 2rem;
}

/* 高さ調整 */
[id="drawer-nav"].c-drawer--overall .c-drawer__inner {
  height: 100%;
}
/* メニューの文字 */
.c-drawer__menu {
  padding-block: 30px;
  color: #333;
}

/* ハンバーガーボタンの色（3本線の色もまとめて） */
.c-drawer .c-hamburger-btn__bar {
  background-color: #333;
}

/* ドロワーメニュー内の文字色 */
#drawer-nav,
#drawer-nav a {
  color: #333;
}

/* ロゴ下余白 */
#drawer-nav .p-hsm-drawer {
  position: relative;
}
/* 電話番号エリア */
#drawer-nav .drawer-contact {
  width: min(300px, 82vw);
  margin: 24px auto 0;
  padding: 14px 12px 12px;
  border: 1px solid #8fa978;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.7);
  text-align: center;
}

/* 電話番号 */
#drawer-nav .drawer-contact__tel {
  display: block;
  color: #8fa978;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

/* 受付時間 */
#drawer-nav .drawer-contact__time {
  margin: 10px 0 0;
  color: #333;
  font-size: 13px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* ///////////////////////
トップページ
////////////////////// */
/* ///////////////////////
fv
////////////////////// */
.fv {
  padding-inline: 25px;
}
.fv-text__top {
  width: fit-content;
  margin-left: 0 !important;
}

.news-contents .section-heading h2 {
  text-align: left;
}
.news-contents .section-heading h2::after {
  margin: 14px 0 0 0;
}
/* 導入文 */
.intro-heading {
  border-bottom: 4px dotted #f08a8a;
  width: fit-content;
}
.fv-contents .smb-media-text__figure {
  display: inline-block;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: -12px 18px 36px rgba(232, 180, 184, 0.22);
}

.fv-contents .smb-media-text__figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .smb-section__contents-wrapper .smb-section__body .fv-heading {
    padding-right: 0 !important;
  }
}

@media screen and (max-width: 639px) {
  .fv .smb-section-with-bgimage__bgimage img {
    height: 67vh;
  }
  .fv-heading-sp {
    position: relative;
    top: 80px;
    right: -20px;
    max-width: 290px;
    width: 100%;
  }
}

/* fv下cta */
.reserve-cta__item .smb-panels__item__body {
  padding-top: 15px;
  padding-bottom: 15px;
}
.reserve-cta__item .smb-panels__item {
  border-radius: 16px;
}
.reserve-cta__item .wp-block-group {
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .reserve-cta__item .smb-panels__item__body {
    padding-left: 10px;
    padding-right: 10px;
  }
  .reserve-cta .c-container {
    padding-left: 0;
    padding-right: 0;
  }
  .reserve-cta__items .reserve-cta__item {
    margin-bottom: 20px;
  }
  .reserve-cta__item-text strong strong:last-child {
    font-size: 24px;
  }
}
@media screen and (max-width: 639px) {
  .reserve-cta__item .smb-panels__item__body {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}

/* ///////////////////////
導入文
////////////////////// */
@media screen and (max-width: 639px) {
  .intro .smb-box {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/* ///////////////////////
３つの安心
////////////////////// */
.peaces .smb-panels__item__body {
  padding: 0;
}
.peaces .peaces-item__text-group {
  padding-inline: 20px;
  padding-bottom: 20px;
}
.peace-item .smb-panels__item--free {
  box-shadow: none;
  border-radius: 16px;
}
.peace-item h3 {
  border-bottom: 4px dotted #f08a8a;
}
.peaces-list .c-row {
  justify-content: center;
}

/* ///////////////////////
こんなお悩みありませんか
////////////////////// */
.medical-item .smb-panels__item {
  border: 2px solid #eee5e7;
  border-radius: 16px;
  box-shadow: none;
}
.medical-list .c-row {
  justify-content: center;
}
.medical-item .smb-panels__item__body {
  padding-left: 10px;
  padding-right: 10px;
}
.medical-item .smb-list {
  width: fit-content;
}
@media only screen and (min-width: 640px) and (max-width: 781px) {
  .medical .medical-first p {
    text-align: center;
  }
}

/* //////////
アクセス
///////// */
/* tdの幅の設定 */
.access-table tbody tr td:first-of-type {
  width: 95px;
  padding-left: 0;
  padding-right: 0;
}
/* スマホ・タブ時、真ん中よせ */
@media only screen and (max-width: 1023px) {
  .access .access-table table {
    display: flex;
    justify-content: center;
  }
}
.access-contents__item-left .smb-items__item {
  border-radius: 16px;
}
/* マップ角丸 */
.access-contents__item-right iframe {
  border-radius: 16px;
  overflow: hidden;
}

/* //////////
診療案内
///////// */
.treatments-links__item .smb-panels__item__body {
  padding-top: 17px;
  padding-bottom: 17px;
  padding-left: 9px;
  padding-right: 9px;
}
.treatments-links__item .smb-panels__item {
  border-radius: 16px;
  color: #fff;
}
.is-line .smb-panels__item {
  background-color: #06c755;
}
.is-web .smb-panels__item {
  background-color: #f08a8a;
}
.is-tel .smb-panels__item {
  background-color: #6b7c85;
}
@media only screen and (max-width: 639px),
  only screen and (min-width: 782px) and (max-width: 876px) {
  .treatments-links .c-row .treatments-links__item {
    padding-left: 5px;
    padding-right: 5px;
  }
}

/* ////////////////////////
下層ページ全体設定
//////////////////////// */
/* ヘッダー下の余白を消す */
.page .l-contents__inner {
  padding-top: 0;
  padding-bottom: 0;
}
/* 見出しを表示しない */
.page .c-entry__header {
  display: none;
}


/* ///////////////////////
医院紹介
////////////////////// */
.variation_item .smb-items__item__figure img {
  border-radius: 16px;
}

/* はじめての方へ */
.flow-item .smb-container {
  margin-top: 20px;
}
.flow-item .smb-container {
  width: fit-content;
  display: inline-flex;
  justify-content: left;
}

.flow .is-style-RJE_R001CORP_steps .smb-step__item__number:before {
  background-color: #e8a0b4;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
/* ご利用の流れ 横線位置 */
@media screen and (min-width: 768px) {
  .flow .is-style-RJE_R001CORP_steps .smb-step__item__number:after {
    position: absolute;
    right: 0.4rem;
  }
}
@media screen and (max-width: 781px) {
  .flow-item img {
    margin-left: auto;
  }
  .flow .is-style-RJE_R001CORP_steps .smb-step__item__number:after {
    /* position: absolute;
    left: 2.5rem; */
    display: none;
  }
  .flow .is-style-RJE_R001CORP_steps .smb-step__item__number {
    width: 55px;
  }
  .flow .is-style-RJE_R001CORP_steps .smb-step__item__number:before {
    width: 55px;
    height: 55px;
  }
  .is-style-RJE_R001CORP_steps .flow-item h3 {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
  }
}

/* ///////////////////////
診療案内
////////////////////// */
.page-medical__intro
  .page-medical__intro-text
  .smb-section-break-the-grid__content,
.page-medical__intro
  .page-medical__intro-text
  .smb-section-break-the-grid__figure
  img {
  border-radius: 16px;
}
.page-medical h3 {
  border-bottom: 3px solid #f08a8a;
}
.page-medical h3::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: 3px solid #2f9658;
  bottom: -3px;
  width: 20%;
}
@media screen and (max-width: 639px) {
  .page-medical__intro
    .page-medical__intro-text
    .c-container
    .smb-section-break-the-grid__content,
  .page-medical .smb-box {
    padding-left: 18px;
    padding-right: 18px;
  }
}
@media screen and (max-width: 781px) {
  .page-medical .wp-block-columns {
    gap: 10px;
  }
}

@media screen and (max-width: 1023px) {
  .treatment .c-container {
    padding-left: 0;
    padding-right: 0;
  }
  .page-medical__intro
    .page-medical__intro-text
    .c-container
    .smb-section-break-the-grid__content,
  .page-medical .smb-box {
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* ///////////////////////
よくある質問
////////////////////// */
/* Qの文字調整 */
:root
  :where(.smb-accordion.is-style-snow-monkey-144107)
  > .smb-accordion__item
  > .smb-accordion__item__title::before {
  width: 2.5rem;
  height: 2.5rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 25px;
}

.faq .smb-accordion__item__title {
  border-radius: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
}

@media screen and (max-width: 639px) {
  :root
    :where(.smb-accordion.is-style-snow-monkey-144107)
    > .smb-accordion__item
    > .smb-accordion__item__title::before {
    width: 2rem;
    height: 2rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 23px;
    margin-right: 10px;
  }
  .smb-accordion__item__title__icon {
    margin-left: 3px;
  }
  .faq .smb-accordion__item__title {
    padding-left: 8px;
    padding-right: 8px;
  }
  .faq .has-sm-l-font-size {
    --_font-size-level: 0;
  }
}

/* プラポリタイトル余白削除 */
.page-id-378 .c-page-header .c-container {
  padding-left: 0;
  padding-right: 0;
}
