@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* セクション見出しの上に線を表示 */
.post_content h2.is-style-section_ttl {
  position: relative; /* 擬似要素位置用 */
  padding-top: 1em; /* 上部の余白を追加（線が見えるように） */
}
.post_content h2.is-style-section_ttl::before {
  content: "";
  position: absolute;
  top: 0; /* テキストの上側に配置 */
  left: 50%;
  transform: translateX(-50%);
  width: 2.5em; /* 線の長さ */
  height: 1px; /* 線の太さ */
  border-radius: 2px;
  background: #BF9678; /* 線の色 */
  pointer-events: none;
}
/* is-style-section_ttl 見出しの ::after を無効化 */
.post_content h2.is-style-section_ttl::after {
  content: none !important;
  display: none !important;
}
.post_content .is-style-section_ttl small {
  padding-top: 0;
  padding-bottom: 1em;
  font-weight: 500;
  color: #BF9678;
}

/* リンクボタン */
.annai-button-1 {
  /* レイアウト */
  display: inline-flex; /* 中の要素を横並びにする */
  align-items: center; /* テキストと矢印を垂直方向に中央揃え */
  justify-content: center; /* テキストを水平方向に中央揃え */
  position: relative; /* 矢印を絶対配置するための基準 */
  padding: 0.5em 5.5em 0.5em 4em; /* 内側の余白（右側を多めにとる） */
  /* デザイン */
  background-color: #fff;
  color: #A0725B;
  border-radius: 40px;
  border: solid 1px #A38166;
  border-bottom: solid 6px #A38166;
  border-right: solid 6px #A38166;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 4px;
  text-decoration: none; /* リンクの下線を消す */
  transition: all 0.2s ease-in-out; /* アニメーションを滑らかに */
}
/* マウスを乗せたときのスタイル */
.annai-button-1:hover {
  transform: translateY(-3px); /* 少し上に持ち上げる */
  box-shadow: 0 8px 20px #d1c7bc; /* 影を少し濃くして、より浮き上がったように見せる */
}
/* 矢印のスタイル */
.annai-button-1 .arrow {
  position: absolute; /* ボタンを基準に絶対配置 */
  right: 1.2em; /* 右からの位置 */
  font-size: 1.5em; /* 矢印を少し大きく */
  line-height: 1; /* 高さに影響しないように */
  margin-bottom: 0.2em;
}

.annai-button-2 {
  /* レイアウト */
  display: inline-flex; /* 中の要素を横並びにする */
  align-items: center; /* テキストと矢印を垂直方向に中央揃え */
  justify-content: center; /* テキストを水平方向に中央揃え */
  position: relative; /* 矢印を絶対配置するための基準 */
  padding: 0.5em 5.5em 0.5em 4em; /* 内側の余白（右側を多めにとる） */
  /* デザイン */
  background-color: #BF9678;
  color: #fff;
  border-radius: 40px;
  border: solid 1px #BF9678;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 4px;
  text-decoration: none; /* リンクの下線を消す */
  transition: all 0.2s ease-in-out; /* アニメーションを滑らかに */
}
/* マウスを乗せたときのスタイル */
.annai-button-2:hover {
  transform: translateY(-3px); /* 少し上に持ち上げる */
  box-shadow: 0 8px 20px #d1c7bc; /* 影を少し濃くして、より浮き上がったように見せる */
}
/* 矢印のスタイル */
.annai-button-2 .arrow {
  position: absolute; /* ボタンを基準に絶対配置 */
  right: 1.2em; /* 右からの位置 */
  font-size: 1.5em; /* 矢印を少し大きく */
  line-height: 1; /* 高さに影響しないように */
  margin-bottom: 0.2em;
}

.staff-button {
  /* レイアウト */
  display: inline-flex; /* 中の要素を横並びにする */
  align-items: center; /* テキストと矢印を垂直方向に中央揃え */
  justify-content: center; /* テキストを水平方向に中央揃え */
  position: relative; /* 矢印を絶対配置するための基準 */
  padding: 0.4em 5.5em 0.4em 4em; /* 内側の余白（右側を多めにとる） */
  /* デザイン */
  background-color: #78C382;
  color: #fff;
  border-radius: 40px;
  border: solid 1px #78C382;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 4px;
  text-decoration: none; /* リンクの下線を消す */
  transition: all 0.2s ease-in-out; /* アニメーションを滑らかに */
}
/* マウスを乗せたときのスタイル */
.staff-button:hover {
  transform: translateY(-3px); /* 少し上に持ち上げる */
  box-shadow: 0 8px 20px #d1c7bc; /* 影を少し濃くして、より浮き上がったように見せる */
}
/* 矢印のスタイル */
.staff-button .arrow {
  position: absolute; /* ボタンを基準に絶対配置 */
  right: 1.2em; /* 右からの位置 */
  font-size: 1.5em; /* 矢印を少し大きく */
  line-height: 1; /* 高さに影響しないように */
  margin-bottom: 0.2em;
}

/* お知らせ */
.bg-news {
  margin: 2em 1em 2em -100px;
  padding: 2em 4em 1em;
  background-color: #E6DED3;
  border-top-left-radius: 24px;
  border-bottom-left-radius: 24px;
}

/* 時計アイコンなし */
.icon-posted:before {
  display: none;
}
time.c-postTimes__posted.icon-posted {
  font-size: 16px;
}

/* 診療時間 */
.bg-consu {
  background-color: #cbf3d0; 
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  width: 90vw;
  padding: 50px 0; 
}

/* テーブル調整 */
.table-auto {
  display: flex;
  justify-content: center;
}
.table-auto table {
  table-layout: auto;
  width: auto;
}
/* 「診療時間」や「日 / 祝」の列でテキストが折り返されないようにする */
.table-auto th:first-child,
.table-auto td:first-child,
.table-auto th:last-child,
.table-auto td:last-child {
  white-space: nowrap;
}


/* 受付時間 */
.uketsuke {
  background-color: #fff;
  padding: 0.2em 6em;
  border-radius: 8px;
  font-size: 1.5rem;
}
.youbi {
  padding: 0.5em 1.5em;
  border-radius: 8px;
}

/* 診療・休診カレンダー */
.center-wrapper {
  display: flex;
  justify-content: center; /* 水平方向の中央揃え */
  align-items: center;     /* 垂直方向の中央揃え（高さ指定時のみ有効） */
  width: 100%;
  height: 100%;  /* 必要に応じて高さ指定 */
}
.info-sched {
  display: flex;
  align-items: flex-start;
  gap: 12px; /* アイコンとテキストの空き */
}
.icon-sched {
  width: clamp(32px, 9vw, 64px);
  height: auto;
  flex-shrink: 0;
  padding-top: 1em;
}

/* トップページ専用のH3見出しスタイル */
.home h3 {
  position: relative;
  padding-left: 1.5rem; /* 左の縦線とのスペース */
  padding-bottom: 16px; /* テキストと下線のスペース */
  border-bottom: 1px solid #bf9678;
  margin-bottom: 30px; /* 見出し全体の下の余白 */
}
.home h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 12px; /* 左の縦線の太さ */
  height: 100%;
  background-color: #bf9678;
  transform: scaleY(0.8); /* 縦線を少し短くして隙間を作る */
  transform-origin: top;
}

/* トップページの特定クラスを持つリストのスタイル */
.home .custom-list {
    list-style: none; /* デフォルトのマーカーを消す */
    padding-left: 0;
}
.home .custom-list li {
    position: relative;
    padding-left: 1.5em; /* マーカーとテキストのスペース */
    margin-bottom: 0.5em; /* リスト項目間の余白 */
    line-height: 1.5;
}
.home .custom-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35em; /* マーカーの垂直位置を調整 */
    width: 1em;   /* マーカーの幅 */
    height: 1em;  /* マーカーの高さ */
    background-color: #FFDF78;
    border-radius: 50%; /* 正円にする */
}

/* グループ全体位置 */
.g-pad-1 {
  padding: 1em;
}

/* 診療案内 */
.bg-medical {
  padding: 2em 2em 4em;
  background-color: #fff;
  border-bottom-left-radius: 40px;
  border-bottom-right-radius: 40px;
}

/* カスタムカード全体のスタイル (背景画像を使用) */
/* 1. 親要素を絶対配置の基準にする */
.custom-card-wrapper-bg {
    position: relative;
    max-width: 265px;
    max-height: 260px;
    
    /* ★背景画像の設定 */
    background-size: cover; /* ボックス全体に画像をフィットさせる */
    background-position: center top; /* 中央上部を基準にする */
    background-repeat: no-repeat;
    
    border-radius: 12px; /* 角丸の半径 */
    padding: 4px 20px 10px;
    box-sizing: border-box; 
    text-align: center; 
    overflow: hidden; 
}

/* メインビジュアル メニューアイコン */
/* サイズ変更 */
.mv-icon-size {
    max-width: 200px;
    max-height: 230px;
    padding: 4px 8px 10px;
}
/* 背景画像 */
.mv-icon-01 {
    background-image: url("img/mv-icon-01.png"); 
}
.mv-icon-02 {
    background-image: url("img/mv-icon-02.png"); 
}
.mv-icon-03 {
    background-image: url("img/mv-icon-03.png"); 
}
.mv-icon-04 {
    background-image: url("img/mv-icon-04.png"); 
}
.mv-icon-05 {
    background-image: url("img/mv-icon-05.png"); 
}
.mv-icon-06 {
    background-image: url("img/mv-icon-06.png"); 
}
.mv-icon-07 {
    background-image: url("img/mv-icon-07.png"); 
}
.mv-icon-08 {
    background-image: url("img/mv-icon-08.png"); 
}
/* テキスト配置エリア */
.mv-icon-text-area {
    margin-top: 152px;
    padding-bottom: 16px;
}
/* ★テキストのフォントサイズ指定 */
.mv-icon-text-area .mv-icon-text-line {
    margin: 0; 
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 2px;
    font-size: clamp(
    12px, 
    calc(12px + (22 - 12) * ((100vw - 960px) / (1920 - 960))), 
    22px
  );
}
.mv-icon-text-area .mv-icon-text-line2 {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -1px;
}

.medic-01 {
    background-image: url("img/medic-01.png"); 
}
.medic-02 {
    background-image: url("img/medic-02.png"); 
}
.medic-03 {
    background-image: url("img/medic-03.png"); 
}
.medic-04 {
    background-image: url("img/medic-04.png"); 
}
.medic-05 {
    background-image: url("img/medic-05.png"); 
}
.medic-06 {
    background-image: url("img/medic-06.png"); 
}
.medic-07 {
    background-image: url("img/medic-07.png"); 
}
.medic-08 {
    background-image: url("img/medic-08.png"); 
}
/* 上段のテキスト配置エリア */
.custom-card-circle-text-area {
    /* 丸の中心の位置に合わせて調整 */
    margin-top: 45px; 
    margin-bottom: 20px; /* 下段テキストとの間に隙間 */
}
/* 丸の中のテキストコンテナ（はみ出し用） */
.custom-card-circle-text-area p {
    margin: 0; 
    font-weight: bold; 
    line-height: 1.3; 
    
    /* ★テキストのはみ出し調整 */
    width: 150%; /* 丸の幅を無視して、テキストを広く表示 */
    max-width: none;
    display: inline-block;
    /* 丸の中心にテキストの中心が来るように調整 */
    transform: translateX(-50%); 
    left: 50%;
    position: relative;
    text-align: center;
}
/* ★上段テキストのフォントサイズ指定 */
.custom-card-circle-text-area .circle-text-line {
    font-size: 1.75rem;
    letter-spacing: 4px;
}
.custom-card-circle-text-area .circle-text-line2 {
    font-size: 1.25rem;
    letter-spacing: 2px;
}
.custom-card-circle-text-area .circle-text-line3 {
    font-size: 1.1rem;
    letter-spacing: 2px;
}
/* 下段のテキスト部分 */
.custom-card-content {
    /* 背景画像の丸の下からテキストを始めるための調整 */
    padding-top: 4px; 
}
.custom-card-content p {
    margin: 0; 
    line-height: 1.6; 
    text-align: left; 
    /* ★下段テキストのフォントサイズ指定 */
    font-size: 1.25rem;
}
/* 2. 内部のaタグをdiv全体に広げる (オーバーレイ) */
.custom-card-wrapper-bg .card-link-overlay {
    position: absolute; /* 親要素を基準に絶対配置 */
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    
    /* ブロック全体を覆う */
    display: block;
    width: 100%;
    height: 100%;
    
    /* 他のコンテンツより手前に配置し、リンクを有効にする */
    z-index: 5; 
    
    /* デフォルトのリンクの下線などを非表示にする */
    text-decoration: none;
}
/* 3. マウスホバー時のエフェクト (任意) */
.custom-card-wrapper-bg:hover {
    opacity: 0.9; /* 少し透明度を下げて、クリックできることを視覚的に示す */
    cursor: pointer; /* マウスカーソルをポインターにする */
}
/* 4. 丸や三角のz-index調整 */
/* リンクが最前面に来るように、z-indexを調整します */
.custom-card-circle, 
.custom-card-wrapper-bg::after {
    z-index: 6; /* ★リンクの上に表示させたい要素は、リンク(z-index:5)より大きな値を設定 */
    position: relative; /* z-indexを有効にするため */
}

/* フッターメニュー */
.f-menu {
    justify-content: center;
    list-style: none;
    margin: 0;
}

/* フッター背景 */
.bg-footer{
  background-color: #E6DED3;
}

/* 固定ページのフッター高さ縮める */
.l-content {
  margin: 0 auto 1em;
}

/* フッターメニュー幅調整 */
#f-menu li {
  margin: .25em 1em;
}

/* 当院のご紹介 */
.bg-info {
  background-color: #cbf3d0;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
}

/* 受付時間 */
/* 全体を囲むコンテナ */
.schedule-container {
  display: flex; /* 要素を横並びにする */
  align-items: center; /* 要素の上下位置を中央に揃える */
  padding: 15px;
  border-radius: 8px; /* 角を丸くする */
  width: fit-content; /* 中身のサイズに幅を合わせる */
}
/* 「平日」の黄色いラベル */
.day-label {
  background-color: #FFE079;
  font-size: 1.25rem;
  font-weight: 500;
  padding: 0.5em 2em;
  margin: 0 20px 16px 0;
  border-radius: 6px;
}
.saturday {
  padding: 0.5em 1.5em;
}
/* 時間テキストのコンテナ */
.time-info {
  font-size: 1.25em;
}
/* 時間テキストの各行（pタグ） */
.time-info p {
  white-space: nowrap; /* テキストが改行されないようにする */
}

/* カード全体のコンテナ */
.contact-card {
  display: flex; /* Flexboxで子要素を横並びに */
  border-radius: 12px; /* 全体の角を丸くする */
  overflow: hidden; /* 子要素が角丸からはみ出ないようにする */
  border: 1px solid #BF9678; /* 全体を囲む枠線 */
  margin: 2em 1em;
}
/* 左側の電話番号セクション */
.contact-card-phone {
  background-color: #BF9678;
  color: #fff;
  display: flex;
  align-items: center; /* アイコンと文字を垂直方向に中央揃え */
  justify-content: center; /* アイコンと文字を水平方向に中央揃え */
  padding: 0.5em 0.5em;
  /*font-size: clamp(1.125rem, 1.88vw, 2.25rem);*/
  /* 960～1920pxの間でサイズ変化 */
  font-size: clamp(
    16px, 
    calc(16px + (36 - 16) * ((100vw - 960px) / (1920 - 960))), 
    36px
  );
  font-weight: bold;
  letter-spacing: 2px;
  white-space: nowrap; /* テキストが折り返さないようにする */
}
/* 電話アイコン */
.phone-icon {
  width: clamp(16px, 1.25vw, 24px);
  height: auto;
  padding-top: 4px;
}
/* 右側の詳細情報セクション */
.contact-card-details {
  background-color: #fff;
  padding: 0.5em 0.25em 0.5em 1em;
  display: flex;
  flex-direction: column; /* テキストを縦に並べる */
  justify-content: center; /* 垂直方向に中央揃え */
  flex-grow: 1; /* 残りのスペースをすべて埋める */
}
/* 詳細情報の各行のスタイル */
.contact-card-details p {
  margin: 0.1em 0; /* 行間のスペース */
  color: #A0725B;
  /*font-size: 1.25rem;*/
  font-size: clamp(
    12px, 
    calc(12px + (24 - 12) * ((100vw - 960px) / (1920 - 960))), 
    24px
  );  
  /*white-space: nowrap; /* テキストが折り返さないようにする */
}
/* 「診療時間」「休診日」のラベルのスタイル */
.contact-card-details .label {
  color: #2DACE3;
  margin-right: 0.5em;
  font-weight: bold;
}

/* 診療案内 タイトル */
.title-ms {
  margin-bottom: 0!important;
}

/* 当院のご紹介 */
.info-img-r {
  margin-left: -8vw;
  /*padding-top: 0vh;*/
}
.info-p-l {
  padding: 0 6vw 1vh 2vw;
}

/* サイト名 */
/* ロゴ全体を囲むコンテナのスタイル */
.logo-container {
    display: flex; /* 子要素（画像とサイト名）を横並びにする */
    align-items: center; /* 垂直方向の中央揃え */
    font-family: Arial, sans-serif; /* フォントを指定（必要に応じて変更） */
    color: #333333;
}
.logo-image {
    width: 100px; 
    height: auto; /* 高さは自動調整 */
    margin-right: 20px; /* 画像とテキストの間にスペースを空ける */
}
.site-name {
    /* テキストの行はブロック要素なので、自動的に縦に並びます */
}
.name-en {
    font-size: 1.25rem; 
    letter-spacing: 2px;
    white-space: nowrap;
}
.name-ja {
    font-size: 2rem; 
    font-weight: 600;
    letter-spacing: 4px;
    white-space: nowrap;
}

/* カレンダー */
div.holiday-titles {
    display: flex;
    margin-top: 1em;
}
.calendar-caption {
  font-size: 1.75em;
}
.xo-event-calendar p.holiday-title {
    padding-right: 12px;
}

/* 診療時間 */
.p-consu {
  margin: 0 1em 3em 2vw;
}

/* トップ　担当医表 */
.g-doctor {
  padding-bottom: 10vh;
}

/* 見出し4 */
.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    padding: 8px 4px 8px 12px;
    border-left: solid 4px #bf9678;
    background-color: #bf967830;
}

/* フッターメニュー */
.l-footer {
   z-index: 1;
}
.l-footer__nav > li {
  position: relative;
}
.l-footer__nav li li {
    height: 0;
    overflow: hidden;
}
.l-footer .sub-menu {
    position: absolute;
}
.l-footer__nav> li:hover ul {
    bottom: 1em; /*サブメニューの高さを調整*/
    white-space: nowrap;
    background-color: #f5f5f5;
    padding: 12px 2px 0 2px;
}
.l-footer__nav li:hover > ul > li {
    height: 2rem;
    overflow: visible;
}
.l-footer__nav li:first-child a,
.l-footer__nav li a {
    border-left: 0;
    border-right: 0;
}

/*
 * フッターの背景色と余白を調整
 */
/* 1. フッターメニューとコピーライトを包括するエリアに背景色を設定 */
.l-footer__foot {
  padding-top: 0;
}
/* 2. フッター内の .l-container の左右余白(padding)をリセット */
/* (背景色を画面幅いっぱいに広げるため) */
.l-footer__foot .l-container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
/* 3. フッターメニューの背景を白に設定 */
.l-footer__nav {
  background-color: #fff;
  /* .l-container の代わりの左右余白を再設定 */
  padding-left: var(--swl-pad_container, 0);
  padding-right: var(--swl-pad_container, 0);
  /* 上下の余白を調整 */
  padding-top: 1em;
  padding-bottom: 2em;
  margin-bottom: 0; /* コピーライトとの間の余白をなくす */
}
/* 4. フッターメニュー内のリンク文字色を調整 (白背景用) */
.l-footer__nav li a {
   color: #333; /* テーマのデフォルト色に戻す*/
}
/* 5. コピーライト部分の調整 */
.copyright {
  /*color: #fff; /* 文字色を白に */
  /* .l-container の代わりの左右余白を再設定 */
  padding-left: var(--swl-pad_container, 0);
  padding-right: var(--swl-pad_container, 0);
  /* 上下の余白を調整 (お好みで変更してください) */
  padding-top: 1em;
  padding-bottom: 1em;
  margin-bottom: 0; /* 不要な下部マージンをリセット */
}

/* フッターメニューの文字サイズ */
.l-footer__nav a {
  font-size: 16px;
  padding: 0 1em;

}

/* リストの先頭点を消す */
.ten-nashi {
  list-style: none;
  padding-left: 0!important;
}

/* ステッチの背景 */
.is-style-note_box, .is-style-stitch {
  background: #bf9678;
  color: #fff;
}
.is-style-note_box:before, .is-style-stitch:before {
  border: 1px dashed #fff;
}

/* 左に縦線 */
.is-style-border_left {
  border-left: 4px solid #bf9678;
  margin-bottom: 0.5em;
}

/* イベントカレンダー内のイベント名 */
.xo-event-calendar table.xo-month .month-event-title {
  color: #333!important;
  background-color: #dbffef!important;
}


/* ------------------------------------- */
/* PCのみ */
/* ------------------------------------- */
@media (min-width: 960px) {

/* グローバルナビゲーションの背景と形を調整 */
.l-header__gnav {
    background-color: #E6DED3;
    border-bottom-left-radius: 100vw;
    border-bottom-right-radius: 100vw;
    margin: 0 18px;
    padding: 0 12px; /* 内側の左右に余白を持たせる */
}
.-parallel .l-header__gnav .c-gnav {
    justify-content: space-evenly;
}
/* メニュー項目の文字色を調整 */
.l-header__gnav .c-gnav > li > a .ttl {
    color: #373737; /* 通常時の文字色 */
}
/* 現在表示中のページやマウスを乗せた時の文字色を調整 */
.l-header__gnav .c-gnav > .current-menu-item > a .ttl,
.l-header__gnav .c-gnav > li > a:hover .ttl {
    color: #000; /* 現在地やホバー時の文字色 */
}

.c-gnav>.menu-item>a .ttl {
    font-size: 16px;
}
.-parallel .l-header__gnav .c-gnav>li>a {
    padding: 24px 20px;
}

/* メインビジュアル下 背景 */
.mar-b-0 {
  margin-bottom: 0!important;
}

.schedule-container-l {
  margin-left: auto;
}

/* カレンダー */
.xo-event-calendar table.xo-month .month-dayname-space {
  height: 2.25em;
}

/* グローバルメニュー 下矢印 */
.c-gnav>.menu-item>a .c-submenuToggleBtn {
  cursor: pointer;
  display: block;
  height: 2em;
  line-height: 2;
  position: absolute;
  right: -8px;
  text-align: center;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;

}
.c-submenuToggleBtn:before {
  content: "\e910";
  display: inline-block;
  font-family: icomoon;
  font-size: 18px;
}
.c-submenuToggleBtn:after {
  display: none;
}
/* スクロール後のメニュー左右余白調整 */
.l-fixHeader__gnav .c-gnav>.menu-item>a {
  padding: 0 16px;     
}
.l-fixHeader__gnav .c-gnav>.menu-item>a .c-submenuToggleBtn {
  right: -12px;
}

/* サブメニュー名の左側に右矢印を付与 */
.sub-menu .ttl {
  position: relative;
  padding-left: 1.2em; /* 左側にスペースを確保 */
}
.sub-menu .ttl::before {
  font-family: FontAwesome;
  content: "\f054";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1em;
  color: inherit; /* 矢印の色を文字色にあわせる */
  opacity: 0.62;
}

.c-gnav .sub-menu {
  width: 21em;
}

/* トップページ、テーブル調整 */
.page-id-10 .wp-block-table {
  font-size: 1.25rem;
}

/* メインビジュアル */
.wp-block-image .wp-image-1028 {
  border-top-right-radius: 40px;
}

/* 番号発信しない */
a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}


} /* PCのみ ここまで */


/* ------------------------------------- */
/* タブレットのみ */
/* ------------------------------------- */
@media (max-width: 959px) and (min-width: 600px) {

.schedule-container-l, .schedule-container-r {
  padding-left: 12vw;
}

.wp-block-table {
  font-size: 1rem;
}
.wp-block-table td, .wp-block-table th {
  padding: 8px;
}

/* ハンバーガーメニュー用 */
.logo-image-hm {
  width: 80px;
  margin-right: 20px;
}
.name-en-hm {
  font-size: 1rem;
  letter-spacing: 2px;
  white-space: nowrap;
}
.name-ja-hm {
  font-size: 1.75rem;
  letter-spacing: 4px;
  white-space: nowrap;
}


}/* タブレットのみ ここまで */

/* ------------------------------------- */
/* PCとタブレット */
/* ------------------------------------- */
@media (min-width: 600px) {

.post_content h2 {
    font-size: 1.8em;
}
.l-spac {
    letter-spacing: 4px;
}

/* フッターメニュー線を消す */
.l-footer__nav .sub-menu a {
  border-right: none;
}
.l-footer__nav .sub-menu li:first-child a {
  border-left: none;
}

}/* PCとタブレット ここまで */


/* ------------------------------------- */
/* タブレットとSP */
/* ------------------------------------- */
@media (max-width: 959px) {
.l-header__menuBtn {
    background-color: #E6DED3;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    margin-right: 8px;
  } 

.bg-01-ts {
  margin: 0 -20px;
}

.mv-icon-text-area .mv-icon-text-line {
  font-size: 16px;
}
.mv-icon-text-area .mv-icon-text-line2 {
  font-size: 13px;
}

.bg-news {
  margin: 2em -36px 0 0.75em;
  padding: 1em 2em;
}

.contact-card-details p {
  font-size: 1.25rem;
}

.bg-medical {
  padding: 2em 0.75em 2em;
}
.custom-card-circle-text-area {
  margin-top: 40px;
  margin-bottom: 20px;
}
.custom-card-circle-text-area .circle-text-line {
  font-size: 1.25rem;
  letter-spacing: 2px;
}
.custom-card-content p {
  line-height: 1.2;
  font-size: 1rem;
}
.custom-card-circle-text-area .circle-text-line2 {
  font-size: 0.9rem;
  letter-spacing: 0;
}
.custom-card-circle-text-area .circle-text-line3 {
  font-size: 0.9rem;
  letter-spacing: 0;
}

/* ハンバーガーメニュー */
.p-spMenu__body{
  background-color: #E6DED3;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  margin-left: 4vw;
  height: 78vh;

}
.c-widget__title.-spmenu {
  background: #e6ded3;
  color: #333;
  margin: 1em 0;
}
.c-spnav a {
  border-bottom: 1px solid #BF9678;
}
.c-gnav .sub-menu a:before, .c-listMenu a:before {
  content: none;
}

/* ハンバーガーメニュー サブメニュー右の矢印囲み線 */
.c-submenuToggleBtn:after {
  border-radius: 6px;
}

/* フッターメニュー非表示 */
.l-footer__nav {
  display: none;
}

} /* タブレットとSP ここまで*/


/* ------------------------------------- */
/* SPのみ */
/* ------------------------------------- */
@media (max-width: 599px) {

.mv-icon-text-area {
  margin-top: 136px;
  padding-bottom: 16px;
}

.contact-card {
  margin: 1em 0;
}
.contact-card-phone {
  padding: 0.1em 0.25em;
  letter-spacing: 0;
}
.phone-icon {
  width: 13px; 
}
.contact-card-details {
  padding: 0.25em 0.1em 0.25em 0.5em;
}

/* テーブル全体を縮小 */
.wp-block-table {
  font-size: 14px;
  word-break: break-all;
  table-layout: fixed;
}
.wp-block-table td, .wp-block-table th {
  padding: 4px;
}

.uketsuke, .day-label, .time-info {
  font-size: 17px;
}

.gr-consu {
  padding-left: 5vw;
}

.annai-button-1, .annai-button-2 {
  padding: 0.5em 5em 0.5em 3.5em;
  font-size: 16px;
}

.logo-image {
  width: 70px;
  margin-right: 10px;
}
.name-en {
  font-size: 1rem;
}
.name-ja {
  font-size: 1.75rem;
}

/* ハンバーガーメニュー用 */
.logo-image-hm {
  width: 50px;
  height: auto;
  margin-right: 5px;
}
.name-en-hm {
  font-size: 0.75rem;
}
.name-ja-hm {
  font-size: 1.25rem;
}

.info-p-l {
  padding: 0 0vw 1vh;
}

/* スタッフ紹介 */
.staff-img {
  grid-template-columns: 40% auto!important;
}


} /* SPのみ ここまで*/

