/* 【サイト共通】下層本文・見出し・表の基本スタイル */
:is(.content,.classy-lower-content){color:#443d37;font-family:"Noto Sans JP",sans-serif;line-height:1.9;width:min(1200px,calc(100% - 48px));max-width:1200px;margin:0 auto;padding:55px 0 80px;box-sizing:border-box}
:is(.content,.classy-lower-content) *{box-sizing:border-box}
:is(.content,.classy-lower-content) img{display:block;max-width:100%;height:auto}
:is(.content,.classy-lower-content) figure{margin:24px 0}
:is(.content,.classy-lower-content)>section{margin-top:48px}
:is(.content,.classy-lower-content) :is(.heading,.classy-lower-heading){font-family:"Noto Serif JP",serif;font-size:clamp(22px,2.5vw,30px);font-weight:500;line-height:1.5;letter-spacing:.06em;margin:0 0 24px;padding:0 0 13px;border-bottom:1px solid #d7c4ab;background:none;color:#443d37}
:is(.content,.classy-lower-content) :is(.subheading,.classy-lower-subheading),
main.flow-page .content :is(.step,.p-flow__step) > h3.subheading{font-family:"Noto Serif JP",serif;font-size:clamp(18px,2vw,23px);font-weight:500;line-height:1.6;margin:0 0 24px;padding:0 0 13px;background:none;border:0;border-bottom:1px solid #d7c4ab;color:#443d37}
:is(.content,.classy-lower-content) :is(.table,.classy-lower-table){width:100%;border-collapse:collapse;margin:0;background:#fff}
:is(.content,.classy-lower-content) :is(.table,.classy-lower-table) th,:is(.content,.classy-lower-content) :is(.table,.classy-lower-table) td{border-bottom:1px solid #e9dfd3;padding:17px 20px;text-align:left;vertical-align:top;font-weight:400}
:is(.content,.classy-lower-content) :is(.table,.classy-lower-table) th{width:25%;background:#fbf8f3;font-weight:600;text-align:center}
:is(.content,.classy-lower-content) a{color:#8d6b42;text-underline-offset:3px}

/* 【サイト共通】スマートフォン表示 */
@media(max-width:767px){
:is(.content,.classy-lower-content){width:calc(100% - 28px);padding:28px 0 56px}
:is(.content,.classy-lower-content)>section{margin-top:34px}
:is(.content,.classy-lower-content) :is(.table,.classy-lower-table) th,:is(.content,.classy-lower-content) :is(.table,.classy-lower-table) td{padding:12px 10px;font-size:13px;overflow-wrap:anywhere}
:is(.content,.classy-lower-content) :is(.table,.classy-lower-table) th{width:32%}
}

/* 【共通タイトル】固定ページ・お悩み・症例ブログ一覧のPC基本表示 */
/* 共通する値を一か所で管理し、ページ固有のクラス名は維持する。 */
.classy-trouble__hero,.classy-blog-archive__hero{display:flex;align-items:center;min-height:300px;width:min(1200px,calc(100% - 48px));margin:24px auto 0;border:1px solid #e9dfd3;background:linear-gradient(115deg,#f6eee5,#e9ded0)}
.classy-trouble__hero{position:relative;overflow:hidden}
.classy-trouble__hero-inner,.classy-blog-archive__hero-inner{width:100%;padding:55px 6%}
.classy-trouble__hero-inner{margin:auto;position:relative;z-index:1}
.classy-trouble__eyebrow,.classy-blog-archive__eyebrow{display:block;color:#aa8960;font-size:11px;letter-spacing:.24em;font-weight:600}
.classy-trouble__heading,.classy-blog-archive__title{font-family:"Noto Serif JP",serif;font-size:clamp(27px,4vw,45px);font-weight:500;letter-spacing:.12em;line-height:1.45;margin:16px 0 20px}
.classy-trouble__hero-line,.classy-blog-archive__hero-line{display:block;width:72px;height:1px;background:#bfa27d}

/* 【共通タイトル】写真付きタイトル・固定ページ共通の土台 */
.classy-trouble{color:#443d37;background:#fffdf9;font-family:"Noto Sans JP",sans-serif}
.classy-trouble *{box-sizing:border-box}
.classy-trouble__hero--photo {
  background-image:
    linear-gradient(
      90deg,
      rgba(248, 243, 235, .98) 0%,
      rgba(248, 243, 235, .78) 25%,
      rgba(248, 243, 235, 0) 55%
    ),
    var(--classy-trouble-hero);
  background-size: cover;
  background-position: center;
}
.classy-trouble__heading {
  margin-top: 0;
}

/* 【共通タイトル】SPの写真・タイトル表示（旧trouble.cssから共通化） */
@media screen and (max-width: 700px) {
.classy-trouble__hero {
    display: block;
    width: calc(100% - 28px);
    min-height: 0;
    margin-top: 14px;
    border: 0;
  }
.classy-trouble__hero:not(.classy-trouble__hero--photo) {
    background: none;
    overflow: visible;
  }
.classy-trouble__hero:not(.classy-trouble__hero--photo)::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 8 / 3;
    background: linear-gradient(115deg, #f6eee5, #e9ded0);
  }
.classy-trouble__hero--photo {
    background-image: none;
  }
.classy-trouble__hero--photo::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 8 / 3;
    background-image:
      linear-gradient(90deg,
        rgba(248, 243, 235, .98) 0%,
        rgba(248, 243, 235, .78) 25%,
        rgba(248, 243, 235, 0) 55%),
      var(--classy-trouble-hero);
    background-size: 100% 100%, 150% 100%;
    background-position: left center, right center;
    background-repeat: no-repeat;
  }
.classy-trouble__hero-inner {
	  position: static;
	  padding: 12px 6% 12px;
	}
.classy-trouble__hero .classy-trouble__eyebrow {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  aspect-ratio: 8 / 3;
	  display: flex;
	  align-items: center;
	  padding-left: 6%;
	  box-sizing: border-box;
	  transform: none;
	  z-index: 2;
	  color: #a78150;
	  font-size: 18px;
	  letter-spacing: .24em;
	  font-weight: 600;
	}
}

/* 【共通タイトル】SP固定ヘッダーの表示領域 */
@media screen and (max-width: 767px) {
  body:has(> .l-wrapper > .classy-trouble) { padding-top: 60px; }
}

/* 【共通ボタン】おすすめ施術などで使うリンクボタン。既存表示を維持して共通管理へ移動 */
.co-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.co-buttons a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;text-align:center;border:1px solid #b8a282;text-decoration:none;color:#655038;background:#fff;box-sizing:border-box}
.co-buttons a:hover{background:#f7f2eb}
@media(max-width:767px){.co-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.co-buttons a{font-size:13px;min-height:44px}}

/* 【共通本文】ショートコード内の文字組みも下層ページと統一。
   recommend / monitor 共通。レイアウト・画像・ボタンは既存設定を維持。 */
:is(.content,.classy-lower-content) .classy-osusume,
.classy-osusume {
  color: #443d37;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  line-height: 1.9;
}
.classy-osusume .co-heading {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 500;
  line-height: 1.6;
  color: #443d37;
  margin: 0 0 18px;
}
.classy-osusume .co-period {
  font-size: 14px;
  line-height: 1.8;
  font-weight: 500;
  color: #746c64;
}
.classy-osusume .co-list,
.classy-osusume .co-list li,
.classy-osusume .co-list li p {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
@media (max-width: 767px) {
  .classy-osusume { font-size: 14px; }
  .classy-osusume .co-period { font-size: 13px; }
}

/* 【共通本文】おすすめ施術・モニター：ショートコード外の通常見出しも統一 */
:is(.classy-recommend-page, .classy-monitor-page) :is(.content,.classy-lower-content) > h2.c-title {
  font-family: "Noto Serif JP", serif !important;
  font-size: clamp(22px, 2.5vw, 30px) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .06em;
  color: #443d37 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid #d7c4ab !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 13px !important;
  margin: 0 0 24px !important;
}
:is(.classy-recommend-page, .classy-monitor-page) :is(.content,.classy-lower-content) > h2.c-title::before,
:is(.classy-recommend-page, .classy-monitor-page) :is(.content,.classy-lower-content) > h2.c-title::after {
  content: none !important;
  display: none !important;
}

/* =========================================================
 * サイト共通タイポグラフィ基準（2026-10-17）
 * PC本文・リンク・表: 18px / コンテンツ見出し: 26px
 * SP本文: 16px / 見出し: 22px
 * ========================================================= */
:root {
  --site-text-size: 18px;
  --site-heading-size: 26px;
  --site-text-font: "Noto Sans JP", sans-serif;
  --site-heading-font: "Noto Serif JP", serif;
}
/* 既存の共通本文コンテナ */
:is(.content,.classy-lower-content),
.classy-recommend-page__container,
.classy-monitor-page__container,
:is(.price-page .content, .classy-price-page__container),
.classy-clinic-page__container {
  font-family: var(--site-text-font);
  font-size: var(--site-text-size);
  line-height: 1.9;
}
/* 通常の説明文と表は親の文字サイズを継承 */
:is(.content,.classy-lower-content) p,
:is(.content,.classy-lower-content) li,
:is(.content,.classy-lower-content) td,
:is(.content,.classy-lower-content) th,
:is(.price-page .content, .classy-price-page__container) p,
.classy-clinic-page__container p,
.classy-clinic-page__container td,
.classy-clinic-page__container th {
  font-family: var(--site-text-font);
  font-size: inherit;
}
/* 共通の本文見出し：ページヒーローのタイトルは対象外 */
:is(.content,.classy-lower-content) :is(.heading,.classy-lower-heading),
:is(.content,.classy-lower-content) .heading,
:is(.content,.classy-lower-content) .co-heading {
  font-family: var(--site-heading-font);
  font-size: var(--site-heading-size);
  font-weight: 500;
  line-height: 1.55;
}
/* recommend / monitor のショートコード本体 */
:is(.content,.classy-lower-content) .classy-osusume {
  font-family: var(--site-text-font);
  font-size: var(--site-text-size);
  line-height: 1.9;
}
/* 共通ボタン（既存の同等ボタンを同じ文字サイズに） */
.co-buttons a,
.classy-reason-page__container .classy-reason-nav a,
:is(.price-page .content, .classy-price-page__container) .p-inlineBtnLinks__link {
  font-family: var(--site-text-font);
  font-size: var(--site-text-size);
}
/* 共通表（料金表・クリニック概要・通常本文表） */
:is(.price-page .content, .classy-price-page__container) .p-priceTable,
:is(.price-page .content, .classy-price-page__container) .p-priceTable .p-priceTable__price,
.classy-clinic-page__container table,
:is(.content,.classy-lower-content) :is(.table,.classy-lower-table) {
  font-family: var(--site-text-font);
  font-size: var(--site-text-size);
}
@media (max-width: 767px) {
  :root { --site-text-size: 16px; --site-heading-size: 22px; }
  /* 料金表の3列はSPでは可読性と収まりを優先 */
  :is(.price-page .content, .classy-price-page__container) .p-priceTable,
  :is(.price-page .content, .classy-price-page__container) .p-priceTable .p-priceTable__price { font-size: 14px; }
  :is(.price-page .content, .classy-price-page__container) .p-inlineBtnLinks__link,
  .classy-reason-page__container .classy-reason-nav a,
  .co-buttons a { font-size: 16px; }
}

/* ショートコードの既存指定より共通文字基準を優先 */
:is(.content,.classy-lower-content) .classy-osusume, .classy-osusume {font-family:var(--site-text-font);font-size:var(--site-text-size);line-height:1.9}
.classy-osusume .co-heading {font-family:var(--site-heading-font);font-size:var(--site-heading-size);line-height:1.55}
.classy-osusume .co-period {font-size:var(--site-text-size)}
@media(max-width:767px){.classy-osusume .co-period{font-size:var(--site-text-size)}}

/* 共通の本文・表・ボタン文字サイズ：下層ページ間の統一 */
:is(.content,.classy-lower-content) > p:first-child,
.classy-faq-page__container > p:first-child,
.classy-point-page__container > p:first-child,
.classy-plans-page__container > p:first-child {
  font-family:var(--site-text-font,"Noto Sans JP",sans-serif);
  font-size:var(--site-text-size,18px);
  line-height:1.9;
}
:is(.content,.classy-lower-content) .p-inlineBtnLinks__link {
  font-family:var(--site-text-font,"Noto Sans JP",sans-serif);
  font-size:var(--site-text-size,18px);
}
@media(max-width:767px){
 :is(.content,.classy-lower-content) > p:first-child,
 .classy-faq-page__container > p:first-child,
.classy-point-page__container > p:first-child,
.classy-plans-page__container > p:first-child,
 :is(.content,.classy-lower-content) .p-inlineBtnLinks__link {font-size:var(--site-text-size,16px)}
}

/* 下層ページ冒頭：WordPressがコメントから生成した空pを非表示にし、最初の実本文pへ共通余白を適用 */
:is(.content,.classy-lower-content) > p:empty{display:none}
:is(.content,.classy-lower-content) > p:not(:empty):not(p:not(:empty) ~ p){margin-top:18px}
@media(max-width:767px){:is(.content,.classy-lower-content) > p:not(:empty):not(p:not(:empty) ~ p){margin-top:12px}}

/* はじめての方へ：ページ本文は共通コンテナ内、独自の余白指定は設けない */
:is(.first-page .content, .classy-first-page__container) :is(.first-content, .classy-first-content)>p:first-child{margin-top:18px}
:is(.first-page .content, .classy-first-page__container) :is(.first-section, .classy-first-section){margin-top:48px}
:is(.first-page .content, .classy-first-page__container) :is(.first-image, .classy-first-section__image){display:block;width:100%;height:auto;margin:0 0 22px}
:is(.first-page .content, .classy-first-page__container) :is(.first-text, .classy-first-section__text) p{margin:0 0 18px}
:is(.first-page .content, .classy-first-page__container) :is(.first-text, .classy-first-section__text) p:last-child{margin-bottom:0}
:is(.first-page .content, .classy-first-page__container) :is(.first-section, .classy-first-section) .p-reason__points ul{margin-top:0}
:is(.first-page .content, .classy-first-page__container) :is(.first-section, .classy-first-section) .c-table{width:100%}
:is(.first-page .content, .classy-first-page__container) :is(.first-section, .classy-first-section) .map iframe{display:block;width:100%;max-width:100%;border:0}
@media(max-width:767px){
:is(.first-page .content, .classy-first-page__container) :is(.first-content, .classy-first-content)>p:first-child{margin-top:12px}
:is(.first-page .content, .classy-first-page__container) :is(.first-section, .classy-first-section){margin-top:34px}
:is(.first-page .content, .classy-first-page__container) :is(.first-section, .classy-first-section) .map iframe{height:340px}
}

/* 下層ページの「詳しく見る」：トップページの .classy-top-more-link と同じ構造・意匠 */
:is(.content,.classy-lower-content) :is(.more-link,.classy-top-more-link){margin-top:28px;text-align:right}
:is(.content,.classy-lower-content) :is(.more-link,.classy-top-more-link) a{display:inline-flex;align-items:center;gap:18px;padding:0 0 8px;border-bottom:1px solid #c9b89b;color:#65584f;font-family:"Noto Sans JP",sans-serif;font-size:18px;line-height:1.4;text-decoration:none}
:is(.content,.classy-lower-content) :is(.more-link,.classy-top-more-link) a span{font-size:16px;line-height:1}
@media(max-width:767px){
:is(.content,.classy-lower-content) :is(.more-link,.classy-top-more-link){margin-top:20px}
:is(.content,.classy-lower-content) :is(.more-link,.classy-top-more-link) a{gap:14px;padding-bottom:7px;font-size:16px}
}

/* 【診療の流れ】旧テーマのステップ矢印を解除し、共通見出し・共通表を使用 */
:is(.content,.classy-lower-content) .p-flow__step {
  background: none;
  padding: 0;
  margin: 0 0 48px;
}
:is(.content,.classy-lower-content) .p-flow__step:last-child { margin-bottom: 0; }
:is(.content,.classy-lower-content) .p-flow__step > :is(.heading,.classy-lower-heading) {
  margin-top: 0;
}
@media (max-width:767px) {
  :is(.content,.classy-lower-content) .p-flow__step { margin-bottom: 34px; }
}

/* 共通2カラムレイアウト：固定ページ内の文章・画像の横並び */
:is(.content,.classy-lower-content) :is(.classy-two-columns, .two-columns) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}
:is(.content,.classy-lower-content) :is(.classy-two-columns, .two-columns) > * { min-width: 0; }
:is(.content,.classy-lower-content) :is(.classy-two-columns, .two-columns) figure { margin: 0; }
:is(.content,.classy-lower-content) :is(.classy-two-columns, .two-columns) img { display: block; width: 100%; height: auto; }
@media (max-width: 767px) {
  :is(.content,.classy-lower-content) :is(.classy-two-columns, .two-columns) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

/* 当院について：アクセス小見出しのみ個別調整 */
:is(.content,.classy-lower-content).classy-clinic-content .classy-access-panel > :is(.subheading,.classy-lower-subheading) {
  border-bottom:1px solid #d7c4ab; padding:0 0 13px; margin:0 0 24px;
}

/* 下層ページ共通：大見出し。ページ別のh2装飾はここへ一元化 */
:is(.content,.classy-lower-content) :is(.heading,.classy-lower-heading) {
  border:0; border-left:4px solid #b89a72; border-radius:0;
  padding:5px 0 5px 20px; margin:0 0 28px;
  background:none; box-shadow:none; color:#443d37;
  font-family:"Noto Serif JP",serif; font-size:clamp(22px,2.5vw,30px);
  font-weight:500; line-height:1.5; letter-spacing:.06em;
}
:is(.content,.classy-lower-content) :is(.heading,.classy-lower-heading)::before,
:is(.content,.classy-lower-content) :is(.heading,.classy-lower-heading)::after {content:none;display:none}
/* 診療の流れの画像一覧：初めての方へ・モニターで共通利用 */
:is(.content,.classy-lower-content) :is(.flow-image-grid,.classy-flow-image-grid) {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;
}
:is(.content,.classy-lower-content) :is(.flow-image-grid,.classy-flow-image-grid) > * {min-width:0;margin:0}
:is(.content,.classy-lower-content) :is(.flow-image-grid,.classy-flow-image-grid) img {display:block;width:100%;height:auto}
/* ポイントページ：本文サイズの通常箇条書き（※注記とは別） */
:is(.content, .classy-lower-content) :is(.normal-list, .classy-normal-list) {list-style:disc outside;margin:0;padding-left:1.5em}
:is(.content, .classy-lower-content) :is(.normal-list, .classy-normal-list) > li {display:list-item;list-style:disc outside;font-size:inherit;line-height:1.85;margin:6px 0;padding:0}
@media(max-width:767px){
 :is(.content,.classy-lower-content) :is(.heading,.classy-lower-heading) {padding-left:14px;margin-bottom:22px}
}

/* 共通H2の最終統一：専用ページCSSの旧border/padding指定より優先。
   recommend・monitorを基準に、左線と文字の距離も全ページ同一にする。 */
.classy-trouble :is(.content,.classy-lower-content) h2:is(.heading,.classy-lower-heading) {
  box-sizing: border-box;
  border: 0;
  border-left: 4px solid #b89a72;
  border-radius: 0;
  padding: 5px 0 5px 20px;
  background: none;
  box-shadow: none;
  margin-bottom: 28px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
  color: #443d37;
}
.classy-trouble :is(.content,.classy-lower-content) h2:is(.heading,.classy-lower-heading)::before,
.classy-trouble :is(.content,.classy-lower-content) h2:is(.heading,.classy-lower-heading)::after {
  content: none;
  display: none;
}
@media (max-width: 767px) {
  .classy-trouble :is(.content,.classy-lower-content) h2:is(.heading,.classy-lower-heading) {
    padding-left: 14px;
    margin-bottom: 22px;
  }
}

/* プライバシーポリシー：本文とリストの読みやすさをページ内だけで調整 */
.classy-privacy-page :is(.privacy-policy,.p-privacyPolicy) {font-family:var(--site-text-font,"Noto Sans JP",sans-serif);font-size:var(--site-text-size,18px);line-height:1.9;}
.classy-privacy-page :is(.privacy-policy,.p-privacyPolicy) > p {font-size:inherit;line-height:1.9;margin:0 0 20px;}
.classy-privacy-page :is(.privacy-policy,.p-privacyPolicy) > h2:is(.heading,.classy-lower-heading) {margin:42px 0 20px;}
.classy-privacy-page :is(.privacy-policy,.p-privacyPolicy) > h2:is(.heading,.classy-lower-heading):first-of-type {margin-top:38px;}
.classy-privacy-page :is(.privacy-policy,.p-privacyPolicy) > ul {list-style:disc outside;margin:12px 0 26px;padding-left:1.6em;}
.classy-privacy-page :is(.privacy-policy,.p-privacyPolicy) > ul > li {display:list-item;list-style:disc outside;font-size:inherit;line-height:1.85;margin:5px 0;padding:0;}
@media(max-width:767px){.classy-privacy-page :is(.privacy-policy,.p-privacyPolicy) > h2:is(.heading,.classy-lower-heading) {margin:32px 0 16px;}.classy-privacy-page :is(.privacy-policy,.p-privacyPolicy) > p{margin-bottom:16px;}}

/* 動画解説ページ：限定解除情報をPC2列／SP1列で表示 */
.classy-mv-gentei {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 20px 0 40px;
  align-items: start;
}
.classy-mv-gentei > div { min-width: 0; }
@media (max-width: 767px) {
  .classy-mv-gentei {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin: 16px 0 32px;
  }
}

/* 動画ページ：注意事項は共通小見出しを使用し、表との間隔だけ調整 */
.classy-mv-gentei { margin-top: 0; }
.classy-mv-gentei .classy-gentei { margin: 0; }
:is(.content,.classy-lower-content) section[id^="mv_"] > :is(.subheading,.classy-lower-subheading) { margin-top: 24px; margin-bottom: 12px; }
@media(max-width:767px){:is(.content,.classy-lower-content) section[id^="mv_"] > :is(.subheading,.classy-lower-subheading) { margin-top: 20px; }}


/* 共通ページ内リンクボタン：旧クラスと新クラスを同じ宣言で管理。
   ページ別CSSにはこの仕様を置かない。 */
:is(.content,.classy-lower-content) :is(.p-inlineBtnLinks, .btn-links-nav) {margin:22px 0 40px}
:is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__items, .btn-links) {
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
 margin:0;padding:0;list-style:none;
}
:is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__items, .btn-links)::before,
:is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__items, .btn-links)::after {content:none;display:none}
:is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__item, .btn-links > li) {
 display:block;float:none;flex:none;width:auto;min-width:0;margin:0;padding:0;
 background:transparent;border:0;
}
:is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__link, .btn-link) {
 display:flex;align-items:center;justify-content:center;min-height:52px;
 padding:10px 24px 10px 14px;box-sizing:border-box;
 border:1px solid #e6d8c5;border-radius:3px;background:#fff;
 color:#5c4d40;text-align:center;text-decoration:none;
 font-family:var(--site-text-font,"Noto Sans JP",sans-serif);
 font-size:var(--site-text-size,18px);font-weight:400;line-height:1.5;
 transition:background .2s;
}
:is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__link, .btn-link):is(:hover,:focus-visible) {
 background:#f7f0e6;color:#5c4d40;
}
:is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__link, .btn-link)::after {content:none;display:none}
@media(max-width:900px){
 :is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__items, .btn-links){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
 :is(.content,.classy-lower-content) :is(.p-inlineBtnLinks, .btn-links-nav){margin:18px 0 30px}
 :is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__items, .btn-links){grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 :is(.content,.classy-lower-content) :is(.p-inlineBtnLinks__link, .btn-link){min-height:48px;padding:9px 7px;font-size:16px}
}

/* 採用ページ共通：新HTML。旧クラスは移行中も維持 */
:is(.content,.classy-lower-content) > section:first-child {margin-top:0}
:is(.content,.classy-lower-content) section > section {margin-top:48px}
:is(.content,.classy-lower-content) :is(.notice,.p-recruit__notice) {padding:25px 30px;border:1px solid #d7c4ab;background:#fbf8f3;text-align:center;font-size:1.1em;margin:0}
:is(.content,.classy-lower-content) :is(.creed-heading,.p-recruit__creed-heading) {font-size:1em;font-weight:700;margin:28px 0 8px}
:is(.content,.classy-lower-content) :is(.staff-voice,.p-recruit__voice) {margin:0 0 38px}
:is(.content,.classy-lower-content) :is(.staff-voice,.p-recruit__voice):last-child {margin-bottom:0}
/* 医師募集：写真2枚を画像幅の約半分の間隔で中央配置 */
:is(.content,.classy-lower-content) .two-columns:is(:has(img[src*="recruit_7_classy.jpg"]),:has(img[src*="recruit_9_classy.jpg"])) {grid-template-columns:repeat(2,minmax(0,260px));gap:130px;justify-content:center}
:is(.content,.classy-lower-content) .two-columns:is(:has(img[src*="recruit_7_classy.jpg"]),:has(img[src*="recruit_9_classy.jpg"])) img {max-width:260px;margin-inline:auto}
@media(max-width:767px){
 :is(.content,.classy-lower-content) section > section {margin-top:34px}
 :is(.content,.classy-lower-content) :is(.notice,.p-recruit__notice){padding:20px 16px}
 :is(.content,.classy-lower-content) .two-columns:is(:has(img[src*="recruit_7_classy.jpg"]),:has(img[src*="recruit_9_classy.jpg"])) {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}

/* 採用情報：新旧クラス共通。ページ専用の見出し装飾は作らない */
:is(.content,.classy-lower-content) > section:first-child { margin-top:0; }
:is(.content,.classy-lower-content) section > section { margin-top:38px; }
:is(.content,.classy-lower-content) :is(.notice,.p-recruit__notice) {
  margin:0; padding:14px 18px; border:1px solid #d7c4ab;
  background:#fbf8f3; text-align:left; font-size:1em;
}
:is(.content,.classy-lower-content) :is(.creed-heading,.p-recruit__creed-heading) {
  font-size:1em; font-weight:700; margin:28px 0 8px;
}
:is(.content,.classy-lower-content) :is(.staff-voice,.p-recruit__voice) { margin:0 0 38px; }
:is(.content,.classy-lower-content) :is(.staff-voice,.p-recruit__voice):last-child { margin-bottom:0; }
/* 採用写真：2列中央・横130px、縦方向にgapを作らない */
:is(.content,.classy-lower-content) :is(.two-columns,.classy-two-columns):has(img[src*="recruit_"]) {
  grid-template-columns:repeat(2,minmax(0,260px));
  column-gap:130px; row-gap:0; justify-content:center;
  align-content:start; margin:20px 0 26px; padding:0;
}
:is(.content,.classy-lower-content) :is(.two-columns,.classy-two-columns):has(img[src*="recruit_"]) img {
  max-width:260px; height:auto; margin-inline:auto;
}
/* 画像のある段落と次の小見出しの間に過剰な余白を作らない */
:is(.content,.classy-lower-content) section:has(> :is(.two-columns,.classy-two-columns):has(img[src*="recruit_"])) + section { margin-top:30px; }
@media(max-width:767px) {
  :is(.content,.classy-lower-content) section > section { margin-top:30px; }
  :is(.content,.classy-lower-content) :is(.notice,.p-recruit__notice) { padding:12px 14px; }
  :is(.content,.classy-lower-content) :is(.two-columns,.classy-two-columns):has(img[src*="recruit_"]) {
    grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; row-gap:0;
  }
}

/* 共通固定ページ: 新旧クラスの移行期間中は同じスタイルを適用 */

/* 下層ページ共通: セクション補助ラベル */
:is(.content,.classy-lower-content) .classy-lower-eyebrow{display:block;margin:0 0 9px;font:600 11px/1.6 "Noto Sans JP",sans-serif;letter-spacing:.24em;color:#aa8960}




/* 【ポイント制度】共通の表・見出しを利用。特典の強調と注記だけ補助 */
:is(.content, .classy-lower-content) .em_l{font-weight:700}
:is(.content, .classy-lower-content) .list_kome ul{margin:12px 0 0;padding-left:1.5em}
:is(.content, .classy-lower-content) .list_kome li{margin:5px 0;line-height:1.85}

/* 診療の流れ：共通ステップ・チェックリスト。旧HTMLクラスも移行期間中は対応 */
:is(.content,.classy-lower-content) :is(.steps,.p-flow__steps) { margin: 0; padding: 0; }
:is(.content,.classy-lower-content) :is(.step,.p-flow__step) { background: none; padding: 0; margin: 0 0 48px; }
:is(.content,.classy-lower-content) :is(.step,.p-flow__step):last-child { margin-bottom: 0; }
:is(.content,.classy-lower-content) :is(.step,.p-flow__step) > :is(.subheading,.classy-lower-heading) { margin-top: 0; }
:is(.content,.classy-lower-content) :is(.check-list,.list_check) { margin: 20px 0; }
:is(.content,.classy-lower-content) :is(.check-list,.list_check) > ul { margin: 0; padding: 0; list-style: none; }
:is(.content,.classy-lower-content) :is(.check-list,.list_check) > ul > li { display: block; position: relative; list-style: none; margin: 0; padding: 10px 0 10px 30px; line-height: 1.85; }
:is(.content,.classy-lower-content) :is(.check-list,.list_check) > ul > li::before { content: "✓"; position: absolute; left: 4px; top: 10px; color: #a78150; font-weight: 700; }
:is(.content,.classy-lower-content) :is(.check-list,.list_check) > ul > li > .em { display: block; font-weight: 700; }
@media(max-width:767px){:is(.content,.classy-lower-content) :is(.step,.p-flow__step){margin-bottom:34px}}

/* はじめての方へ：ページ固有の画像グリッドのみ。共通見出し・表・本文幅は既存の共通定義を使用 */
:is(.content,.classy-lower-content) .first-image-grid,
.classy-first-page .classy-first-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}
:is(.content,.classy-lower-content) .first-image-grid > *,
.classy-first-page .classy-first-image-grid > * { min-width: 0; margin: 0; }
:is(.content,.classy-lower-content) .first-image-grid img,
.classy-first-page .classy-first-image-grid img { display: block; width: 100%; height: auto; }
.first-page .map iframe { display:block; width:100%; max-width:100%; border:0; }
@media (max-width:767px) { .first-page .map iframe { height:340px; } }

.first-page .first-content > p:first-child { margin-top: 18px; }
@media(max-width:767px){.first-page .first-content > p:first-child { margin-top:12px; }}

/* 共通のお知らせ枠（Shortcodes Ultimate [su_note] の置き換え） */
:is(.content,.classy-lower-content) .notice { background:#fbf4e5; color:#000; padding:16px 20px; margin:20px 0; border-radius:3px; }
:is(.content,.classy-lower-content) .notice p { margin:0; }

/* 保障ページ：共通テーブルを使用し、横長表とページ内リンクのみ補完 */
:is(.content,.classy-lower-content) .guarantee .anchor-links {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;
  padding:0; margin:0 0 36px; list-style:none;
}
:is(.content,.classy-lower-content) .guarantee .anchor-links li { margin:0; padding:0; list-style:none; }
:is(.content,.classy-lower-content) .guarantee .anchor-links a {
  display:flex; align-items:center; justify-content:center; min-height:44px;
  padding:9px 12px; border:1px solid #d8c5a6; color:#856b42;
  background:#fff; text-align:center; text-decoration:none; line-height:1.5;
}
:is(.content,.classy-lower-content) .guarantee .anchor-links a:hover {background:#fbf4e5;}
:is(.content,.classy-lower-content) .guarantee .table-scroll {overflow-x:auto; max-width:100%; -webkit-overflow-scrolling:touch;}
:is(.content,.classy-lower-content) .guarantee .guarantee-table {width:100%; min-width:800px; table-layout:fixed; border-collapse:collapse;}
:is(.content,.classy-lower-content) .guarantee .guarantee-table th:nth-child(1) {width:21%;}
:is(.content,.classy-lower-content) .guarantee .guarantee-table thead th:nth-child(2) {width:19%;}
:is(.content,.classy-lower-content) .guarantee .guarantee-table thead th:nth-child(3) {width:13%;}
:is(.content,.classy-lower-content) .guarantee .guarantee-table thead th:nth-child(4) {width:47%;}
:is(.content,.classy-lower-content) .guarantee .guarantee-table td.center {text-align:center;}
:is(.content,.classy-lower-content) .guarantee .guarantee-table td p {margin:0;}
:is(.content,.classy-lower-content) .guarantee [id^="item_"] {scroll-margin-top:110px;}
@media(max-width:800px) {
  :is(.content,.classy-lower-content) .guarantee .anchor-links {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:480px) {
  :is(.content,.classy-lower-content) .guarantee .anchor-links {grid-template-columns:1fr 1fr; gap:7px;}
  :is(.content,.classy-lower-content) .guarantee .anchor-links a {font-size:13px; padding:8px 5px;}
}

/* 施術解説動画：共通見出し・小見出しを利用し、動画と注意事項のみ補完 */
:is(.content,.classy-lower-content) .mv-section { scroll-margin-top:160px; margin-bottom:52px; }
:is(.content,.classy-lower-content) .mv-section:last-child { margin-bottom:0; }
:is(.content,.classy-lower-content) .mv-video { display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; margin:0 0 28px; }
:is(.content,.classy-lower-content) .mv-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; row-gap:16px; margin:0; }
:is(.content,.classy-lower-content) .mv-notes > div { min-width:0; margin:0; }
:is(.content,.classy-lower-content) .mv-notes:empty { display:none; }
/* WordPressの自動改行をグリッド項目にしない */
:is(.content,.classy-lower-content) .mv-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
:is(.content,.classy-lower-content) .mv-nav br { display:none; }
/* [gentei]の上下余白は動画ページ内だけ解除する */
:is(.content,.classy-lower-content) .mv-section > h3.subheading { margin-bottom:12px; }
:is(.content,.classy-lower-content) .mv-notes > div { padding:0; }
:is(.content,.classy-lower-content) .mv-notes .classy-gentei { margin:0; }
:is(.content,.classy-lower-content) .mv-notes .classy-gentei > :first-child { margin-top:0; }
:is(.content,.classy-lower-content) .mv-notes .classy-gentei > :last-child { margin-bottom:0; }
@media(max-width:767px){
  :is(.content,.classy-lower-content) .mv-section { margin-bottom:38px; scroll-margin-top:110px; }
  :is(.content,.classy-lower-content) .mv-notes { grid-template-columns:1fr; row-gap:12px; }
  :is(.content,.classy-lower-content) .mv-notes > div { margin:0; }
  :is(.content,.classy-lower-content) .mv-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* サイトマップ：本文内のリンク一覧（共通CSSで管理） */
:is(.content,.classy-lower-content) .sitemap {width:100%;}
:is(.content,.classy-lower-content) .sitemap-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:0;list-style:none;margin:12px 0 36px;padding:0;}
:is(.content,.classy-lower-content) .sitemap-list > li {display:block;min-width:0;margin:0;padding:0;list-style:none;border-bottom:1px solid #e8e0d6;}
:is(.content,.classy-lower-content) .sitemap-list > li > a {display:block;padding:12px 8px 12px 20px;position:relative;text-decoration:none;overflow-wrap:anywhere;}
:is(.content,.classy-lower-content) .sitemap-list > li > a::before {content:"›";position:absolute;left:4px;color:#b89a72;}
:is(.content,.classy-lower-content) .sitemap > h2 {margin:44px 0 16px;padding:0;border:0;background:none;box-shadow:none;}
:is(.content,.classy-lower-content) .sitemap > h2 img {display:block;width:100%;height:auto;max-width:100%;}
@media(max-width:767px){:is(.content,.classy-lower-content) .sitemap-list{grid-template-columns:1fr;margin-bottom:28px;}:is(.content,.classy-lower-content) .sitemap > h2{margin-top:32px;}}

/* 共通注記：JSで行頭「※」を認識。ページ固有の例外は設けない。 */
body :is(.point-note,.classy-point-note) {
  display:inline;
  font-size:13px;
  line-height:1.5;
  color:#746c64;
  margin:0;
  padding:0;
  text-indent:0;
}
/* 1行を占める注記だけ、折り返しを「※」の次の文字位置に揃える。 */
body .point-note-line {
  display:block;
  padding-left:1em;
  text-indent:-1em;
  line-height:1.5;
  margin:0;
}
/* 行末の注記の後に残るWordPress / nl2brの改行は重複させない。 */
body .point-note-line + br {
  display:none;
}
/* 連続注記はリスト状に整列。クラスの有無を問わず共通仕様。 */
body .point-note-line + .point-note-line {
  margin-top:8px;
}
/* 複数注記を束ねる場合も共通処理。 */
body :is(.note-group,.payment-note-group) {
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  width:fit-content;
  max-width:100%;
  vertical-align:middle;
  text-align:left;
  gap:0;
}
body :is(.note-group,.payment-note-group) > :is(.point-note,.classy-point-note) {
  display:block;
  margin:0;
  padding-left:1em;
  text-indent:-1em;
  line-height:1.5;
}
body :is(.note-group,.payment-note-group) > br {display:none;}

/* ==========================================================
 * 【診療カレンダー】[sc title="calendar"] の共通レイアウト（全ページ）
 * ========================================================== */
.classy-sc-calendar .classy-calendar-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  align-items: start;
}
.classy-sc-calendar .classy-calendar-grid > br { display: none !important; }
.classy-sc-calendar .classy-calendar-grid > img,
.classy-sc-calendar .classy-calendar-grid > p {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  height: auto;
  margin: 0 !important;
}
.classy-sc-calendar .classy-calendar-grid img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
@media (max-width: 767px) {
  .classy-sc-calendar .classy-calendar-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
}
