@charset "UTF-8";
/* モダン・先進的なゴシック組み（見出し=太字ゴシック / 本文=同系で可読性） */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');
/* ============================================================
   OAC Premium UI Layer — メディカルプレミアム方向の土台
   ------------------------------------------------------------
   方針:
   - 既存ブランドのティールを基準に、配色・余白・タイポ・影・
     モーションをトークン化（後続の刷新の共通言語にする）。
   - 既存レイアウトを壊さない「追加レイヤー」。大胆な変更は
     MAMPでプレビューしながら別途。
   - アニメは transform / opacity のみ（コンポジタ負荷を抑制）。
   - prefers-reduced-motion を尊重。
   ============================================================ */

:root {
	/* --- ブランド・ティール（既存 #0494a3/#128c8c を整理して階調化）--- */
	--oac-teal-50:  #eef6f5;
	--oac-teal-100: #d6eae8;
	--oac-teal-300: #7cc3bf;
	--oac-teal-500: #0e8a86; /* primary */
	--oac-teal-600: #0b746f;
	--oac-teal-700: #0a5f5c; /* deep */
	--oac-teal-900: #073d3b;

	/* --- インク＆ニュートラル（やや暖かい上質グレー）--- */
	--oac-ink:       #15302f; /* 見出し */
	--oac-body:      #33474a; /* 本文 */
	--oac-muted:     #6b7e80;
	--oac-line:      #e4ecec;
	--oac-surface:   #ffffff;
	--oac-surface-2: #f6faf9;

	/* --- 控えめな暖色アクセント（ごく一部にのみ）--- */
	--oac-gold: #b8893f;

	/* --- フォント（モダン・先進的：見出しも本文も上質ゴシック、差は太さ/字間で）--- */
	--oac-font-sans: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
	--oac-font-head: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;

	/* --- タイポスケール --- */
	--oac-fs-kicker: .78rem;
	--oac-fs-h2: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem);
	--oac-fs-h3: clamp(1.2rem, 1rem + .8vw, 1.6rem);

	/* --- 余白リズム（詰めすぎない範囲で引き締め）--- */
	--oac-space-section: clamp(1.8rem, 1.2rem + 1.8vw, 3rem);

	/* --- 角丸・影・モーション --- */
	--oac-radius:    14px;
	--oac-radius-sm: 10px;
	--oac-shadow-1: 0 1px 2px rgba(7,61,59,.06), 0 2px 8px rgba(7,61,59,.06);
	--oac-shadow-2: 0 6px 18px rgba(7,61,59,.10), 0 14px 34px rgba(7,61,59,.08);
	--oac-ease: cubic-bezier(.16, 1, .3, 1);
	--oac-dur: .28s;
}

/* ============================================================
   タイポグラフィ刷新（"ダサい"の主因＝既定フォント を上質に）
   見出し=明朝（信頼感・上質）/ 本文=上質ゴシック（可読性）
   トップページ限定で安全に適用。
   ============================================================ */
body.home {
	font-family: var(--oac-font-sans);
	color: var(--oac-body);
	-webkit-font-smoothing: antialiased;
	letter-spacing: .02em;
}
.home .wp-block-heading,
.home .swell-block-step__title,
.home .swell-block-fullWide__title,
.home .p-mainVisual__slideTitle,
.home h2,
.home h3 {
	font-family: var(--oac-font-head);
	color: var(--oac-ink);
	font-weight: 700;
	letter-spacing: .02em;
	font-feature-settings: "palt" 1;
}
.home .p-mainVisual__slideTitle {
	font-weight: 900;
	letter-spacing: .01em;
}

/* ============================================================
   アクセシビリティ：明確なフォーカスリング（純粋な改善・低リスク）
   ============================================================ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--oac-teal-500);
	outline-offset: 2px;
	border-radius: 4px;
}

::selection {
	background: var(--oac-teal-100);
	color: var(--oac-ink);
}

/* ============================================================
   ボタン：ブランド統一＋上質なホバー（lift）＋フォーカス
   - 既存の問い合わせボタン（青）をティールに統一
   - SWELL/Gutenbergボタンにも上質な影とホバーを付与
   ============================================================ */
.c-inquiry-btn {
	background-image: none;
	background-color: var(--oac-teal-600);
	border-radius: var(--oac-radius-sm);
	box-shadow: var(--oac-shadow-1);
	letter-spacing: .02em;
	transition: transform var(--oac-dur) var(--oac-ease),
	            box-shadow var(--oac-dur) var(--oac-ease);
}
.c-inquiry-btn:hover {
	background-color: var(--oac-teal-700);
	transform: translateY(-2px);
	box-shadow: var(--oac-shadow-2);
}
.c-inquiry-btn:active {
	transform: translateY(0);
}

.home .wp-block-button__link,
.home .swell-block-button__link,
.home .c-btn {
	border-radius: var(--oac-radius-sm);
	box-shadow: var(--oac-shadow-1);
	transition: transform var(--oac-dur) var(--oac-ease),
	            box-shadow var(--oac-dur) var(--oac-ease),
	            filter var(--oac-dur) var(--oac-ease);
}
.home .wp-block-button__link:hover,
.home .swell-block-button__link:hover,
.home .c-btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--oac-shadow-2);
	filter: saturate(1.05);
}
.home .wp-block-button__link:active,
.home .swell-block-button__link:active,
.home .c-btn:active {
	transform: translateY(0);
}

/* ============================================================
   トップの見出し：上質なインク色＋字間（色・字間のみで安全）
   ============================================================ */
.home .wp-block-heading,
.home .swell-block-fullWide__title {
	color: var(--oac-ink);
	letter-spacing: .01em;
}

/* ============================================================
   ヒーロー：可読性スクリム＋上質なタイポ（メディカルプレミアム）
   - 写真の上の文字を読みやすくする下方向グラデーション
   - タイトルの字間・影で品位を上げる
   ============================================================ */
.home .p-mainVisual__slide {
	position: relative;
}
.home .p-mainVisual__slide::after {
	content: "";
	position: absolute;
	inset: 0;
	/* ①縦の明暗（上=ナビ可読性 / 下=タイトル可読性）②全体に薄いティール（写真を一体化・上質化）③中央へのソフトな集中 */
	background:
		/* 底部を .64→.38 に軽減してヒーロー下端の緑帯を解消 */
		linear-gradient(180deg, rgba(7, 61, 59, .38) 0%, rgba(7, 61, 59, .06) 28%, rgba(7, 61, 59, .10) 54%, rgba(7, 61, 59, .38) 100%),
		radial-gradient(120% 78% at 50% 42%, rgba(7, 61, 59, 0) 40%, rgba(7, 61, 59, .20) 100%),
		linear-gradient(0deg, rgba(14, 138, 134, .18), rgba(11, 116, 111, .18));
	pointer-events: none;
	z-index: 1;
}
.home .p-mainVisual__textLayer {
	position: relative;
	z-index: 2;
}
.home .p-mainVisual__slideTitle {
	font-weight: 700;
	letter-spacing: .08em;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .38);
}
.home .p-mainVisual__slideText {
	letter-spacing: .04em;
	text-shadow: 0 1px 14px rgba(0, 0, 0, .34);
}

/* ============================================================
   FAQ（SWELL FAQブロック）：余白と区切りで読みやすく
   ============================================================ */
.swell-block-faq__item {
	border-bottom: 1px solid var(--oac-line);
	padding-block: .25rem;
}
.swell-block-faq__question {
	transition: color var(--oac-dur) var(--oac-ease);
}
.swell-block-faq__item:hover .swell-block-faq__question {
	color: var(--oac-teal-600);
}

/* ============================================================
   診療時間テーブル：ブランド統一＋奥行き＋行ホバー
   （ページ内<style>に勝つため body 前置で特異度を確保）
   ============================================================ */
body .schedule-table {
	border-radius: var(--oac-radius);
	box-shadow: var(--oac-shadow-2);
	overflow: hidden;
	border: 1px solid var(--oac-line);
}
/* ヘッダー：フラットなティール（グラデなし＝今っぽく） */
body .schedule-table th {
	background-color: var(--oac-teal-600);
	background-image: none;
	color: #fff;
	border: none;
	padding: 15px 8px;
	font-weight: 600;
	letter-spacing: .04em;
}
/* セル：縦罫を消し横の細い区切りのみ＋たっぷり余白（クリーン） */
body .schedule-table td {
	border: none;
	border-bottom: 1px solid var(--oac-line);
	padding: 16px 10px;
	background: #fff;
	transition: background-color var(--oac-dur) var(--oac-ease);
}
body .schedule-table tbody tr:last-child td {
	border-bottom: none;
}
/* 時間列：淡いティールで区別 */
body .schedule-table .time-cell {
	background: var(--oac-teal-50);
	color: var(--oac-teal-700);
	font-weight: 700;
	border-right: 1px solid var(--oac-line);
}
/* 診療＝医師名をブランド色／専門は控えめ */
body .schedule-table .doctor-name {
	color: var(--oac-teal-700);
	font-weight: 700;
}
body .schedule-table .specialty {
	color: var(--oac-muted);
}
/* 休診セルはそっと沈める */
body .schedule-table td:has(.closed) {
	background: #f4f6f6;
}
body .schedule-table .closed {
	color: var(--oac-muted);
	font-weight: 600;
}
/* 行ホバー（休診以外） */
body .schedule-table tbody tr:hover td:not(:has(.closed)) {
	background-color: var(--oac-teal-50);
}
/* 注記：ブランドの落ち着いたトーン */
body .schedule-note {
	color: var(--oac-teal-700);
	background-color: var(--oac-teal-50);
	border: 1px solid var(--oac-teal-100);
	border-radius: var(--oac-radius-sm);
	font-weight: 600;
}
/* 表外の担当医注記（控えめ） */
.schedule-fnote {
	max-width: 800px;
	margin: 12px auto 0;
	font-size: 13px;
	line-height: 1.8;
	color: var(--oac-muted);
	text-align: left;
}

/* ============================================================
   カード/サーフェスの奥行き（トップのグループブロック）
   ※控えめ。過剰にならないよう影は薄く。
   ============================================================ */
.home .swell-block-faq,
.home .p-postList {
	scroll-margin-top: 90px; /* アンカー遷移時に見出しが隠れない */
}

/* ============================================================
   セクション見出しバー（SWELL main-thin背景）：左アクセント＋上質タイポ
   対象: ご案内 / 診療までの流れ / 投稿記事 / QRコード 等
   ============================================================ */
.home .wp-block-heading.has-background {
	background: none !important;       /* テンプレ感の「淡い帯」を撤去 */
	border: none !important;
	border-radius: 0;
	padding: 0 !important;
	margin: var(--oac-space-section) auto 1.6rem;
	color: var(--oac-ink);
	font-family: var(--oac-font-head);
	font-weight: 700;
	font-size: clamp(1.4rem, 1.05rem + 1.4vw, 2rem);
	letter-spacing: .04em;
	text-align: center;
	line-height: 1.3;
}
.home .wp-block-heading.has-background a {
	color: inherit;
	text-decoration: none;
}
/* SWELL既定見出しの上下ボーダー等の装飾を除去（私の下罫だけ残す）*/
.home .wp-block-heading.has-background::before {
	content: none !important;
	display: none !important;
}
/* 見出し下の小さなティールの罫（編集的アクセント） */
.home .wp-block-heading.has-background::after {
	content: "";
	display: block;
	width: 44px;
	height: 3px;
	margin: .85rem auto 0;
	background: var(--oac-teal-500);
	border-radius: 2px;
}

/* ============================================================
   症状リスト → プレミアムなチップ（丸タグ）化
   「ただの箇条書き」感を解消。ul.wp-block-list はトップに1つだけ。
   ============================================================ */
.home .wp-block-list {
	list-style: none;
	display: flex;
	flex-wrap: nowrap;            /* 折り返さず1行に */
	gap: 10px;
	/* 本文カラムより広く使い、5個を1行＋中央に収める（タグ行なので広げてOK）*/
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: max-content;
	max-width: 94vw;
	margin: 1.8rem 0 .4rem;
	padding: 2px 2px 10px;
	justify-content: center;
	overflow-x: auto;            /* 収まらない時のみスクロール */
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.home .wp-block-list::-webkit-scrollbar {
	display: none;               /* スクロールバー非表示(WebKit) */
}
.home .wp-block-list li {
	flex: 0 0 auto;              /* チップは縮まずピル形を維持 */
	white-space: nowrap;
	margin: 0;
	padding: .55em 1.1em;
	background: var(--oac-teal-50);
	border: 1px solid var(--oac-teal-100);
	border-radius: 999px;
	color: var(--oac-teal-700) !important; /* has-black-color を上書き */
	font-family: var(--oac-font-sans);
	font-weight: 500;
	font-size: .95rem;
	line-height: 1.4;
	transition: transform var(--oac-dur) var(--oac-ease),
	            box-shadow var(--oac-dur) var(--oac-ease),
	            background-color var(--oac-dur) var(--oac-ease);
}
/* 狭い画面：全幅スクロール＋端フェードで「続きがある」ヒント */
@media (max-width: 760px) {
	.home .wp-block-list {
		left: auto;
		transform: none;
		width: auto;
		max-width: 100%;
		margin-inline: 0;
		padding-inline: 16px;
		justify-content: flex-start;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
		        mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
	}
}
.home .wp-block-list li::before {
	content: "✓ ";
	color: var(--oac-teal-500);
	font-weight: 700;
}
.home .wp-block-list li:hover {
	background: var(--oac-teal-100);
	transform: translateY(-2px);
	box-shadow: var(--oac-shadow-1);
}

/* ============================================================
   投稿記事カード（-type-card のみ）：ホバーで浮く＋サムネ角丸＋影
   ※お知らせ(-type-simple)には影響させない
   ============================================================ */
.home .p-postList.-type-card .p-postList__link {
	border-radius: var(--oac-radius);
	transition: transform var(--oac-dur) var(--oac-ease),
	            box-shadow var(--oac-dur) var(--oac-ease);
}
.home .p-postList.-type-card .p-postList__link:hover {
	transform: translateY(-4px);
	box-shadow: var(--oac-shadow-2);
}
.home .p-postList.-type-card .c-postThumb,
.home .p-postList.-type-card .c-postThumb__img {
	border-radius: var(--oac-radius-sm);
	overflow: hidden;
}

/* ============================================================
   トップの縦長圧縮（密度UP）— 内容は変えずに高さだけ詰める
   - 受診フロー(STEP)内のQR/画像が大きすぎるので適正サイズに
   - ステップ間・内部の余白を圧縮
   ============================================================ */
.home .swell-block-step__body .wp-block-image img {
	max-width: 170px;
	height: auto;
}
.home .swell-block-step__item {
	margin-bottom: 0;
	padding-bottom: 1.2rem;
}
.home .swell-block-step__body {
	padding-bottom: .6rem;
}
/* ステップ番号からの接続線・間隔を引き締め */
.home .swell-block-step__title {
	margin-bottom: .4rem;
}
/* 診療時間テーブルのセル余白を圧縮（縦を詰める） */
.home .schedule-table th {
	padding: 9px 8px;
}
.home .schedule-table td {
	padding: 9px 8px;
}

/* ============================================================
   予約CTA（トップ）: ボタン3つを横並び（スマホは縦積み）
   ============================================================ */
/* ============================================================
   奥行き・アトモスフィア（白ベタの「のっぺり」解消）
   - ページに柔らかな下地 / 予約セクションをデザインされたカードに
   ============================================================ */
body.home,
#body_wrap.home {
	background-color: #f4f8f7;
}
/* 本文ラッパの白を透過させて下地を見せる（カードが浮く） */
#body_wrap.home .l-mainContent,
#body_wrap.home .l-article {
	background-color: transparent;
}
/* セクション(フルワイド)の上下余白を圧縮＝のっぺり長い縦間を解消 */
.home .swell-block-fullWide {
	padding-top: clamp(1.4rem, 1rem + 1.4vw, 2.2rem) !important;
	padding-bottom: clamp(1.4rem, 1rem + 1.4vw, 2.2rem) !important;
}
.home .oac-cta-card {
	background: linear-gradient(160deg, var(--oac-teal-50) 0%, #ffffff 72%);
	border: 1px solid var(--oac-teal-100);
	border-radius: var(--oac-radius);
	box-shadow: var(--oac-shadow-2);
	padding: clamp(1.8rem, 1rem + 3vw, 3rem) clamp(1.2rem, 1rem + 2.5vw, 2.6rem);
	max-width: 920px;
	margin: var(--oac-space-section) auto 0;
}
/* カード内では見出しの巨大な上マージンを抑える */
.home .oac-cta-card .wp-block-heading.has-background {
	margin-top: 0;
}

/* SWELLのグループは内側に .wp-block-group__inner-container を挟むため両対応 */
.home .oac-cta-buttons,
.home .oac-cta-buttons > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	align-items: stretch;
	max-width: 860px;
	margin: 1.4rem auto 0;
}
.home .oac-cta-buttons .swell-block-button {
	margin: 0;
	flex: 1 1 240px;
}
.home .oac-cta-buttons .swell-block-button__link {
	width: 100%;
	box-shadow: var(--oac-shadow-1);
}
@media (max-width: 600px) {
	.home .oac-cta-buttons,
	.home .oac-cta-buttons > .wp-block-group__inner-container {
		flex-direction: column;
	}
}

/* ============================================================
   クリニック概要テーブル：素のグレー縞 → 上質に
   ============================================================ */
.home .wp-block-table table {
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--oac-radius-sm);
	overflow: hidden;
	box-shadow: var(--oac-shadow-1);
	background: #fff;
}
.home .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--oac-teal-50) !important; /* グレー縞→淡ティール */
}
.home .wp-block-table th,
.home .wp-block-table td {
	border: none !important;
	border-bottom: 1px solid var(--oac-line) !important;
	padding: .95em 1.3em !important;
}
.home .wp-block-table tr:last-child th,
.home .wp-block-table tr:last-child td {
	border-bottom: none !important;
}
.home .wp-block-table td:first-child {
	font-weight: 700;
	color: var(--oac-teal-700);
}

/* ============================================================
   FAQ：四角バッジ → 丸いティールバッジ（質問=濃 / 回答=淡）
   ============================================================ */
.home .swell-block-faq .faq_q::before,
.home .swell-block-faq .faq_a::before {
	border-radius: 50% !important;
	border: none !important;
}
.home .swell-block-faq .faq_q::before {
	background-color: var(--oac-teal-500) !important;
	color: #fff !important;
}
.home .swell-block-faq .faq_a::before {
	background-color: var(--oac-teal-100) !important;
	color: var(--oac-teal-700) !important;
}
.home .swell-block-faq .faq_q {
	font-weight: 700;
}

/* ============================================================
   予約CTAボタンにアイコン（視認性UP）
   href で各ボタンを識別し、白アイコンを付与
   ============================================================ */
.home .oac-cta-buttons .swell-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
}
.home .oac-cta-buttons .swell-block-button__link::before {
	content: "";
	flex: 0 0 auto;
	width: 1.2em;
	height: 1.2em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.home .oac-cta-buttons a[href*="reserve.ne.jp"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cline%20x1%3D%2216%22%20y1%3D%222%22%20x2%3D%2216%22%20y2%3D%226%22%2F%3E%3Cline%20x1%3D%228%22%20y1%3D%222%22%20x2%3D%228%22%20y2%3D%226%22%2F%3E%3Cline%20x1%3D%223%22%20y1%3D%2210%22%20x2%3D%2221%22%20y2%3D%2210%22%2F%3E%3C%2Fsvg%3E"); }
.home .oac-cta-buttons a[href^="tel:"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.96.36%201.9.7%202.81a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45c.91.34%201.85.57%202.81.7A2%202%200%200%201%2022%2016.92z%22%2F%3E%3C%2Fsvg%3E"); }
.home .oac-cta-buttons a[href*="jushin-flow"]::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%223%22%20width%3D%228%22%20height%3D%224%22%20rx%3D%221%22%2F%3E%3Cline%20x1%3D%229%22%20y1%3D%2212%22%20x2%3D%2215%22%20y2%3D%2212%22%2F%3E%3Cline%20x1%3D%229%22%20y1%3D%2216%22%20x2%3D%2213%22%20y2%3D%2216%22%2F%3E%3C%2Fsvg%3E"); }

/* ============================================================
   予約CTAボタン：フラット＆ソフトシャドウ（クリーン）
   ============================================================ */
.home .oac-cta-buttons .swell-block-button__link {
	background-color: var(--oac-teal-600);
	background-image: none;
	border: none;
	box-shadow: 0 2px 8px rgba(7, 61, 59, .14);
}
.home .oac-cta-buttons .swell-block-button__link:hover {
	background-color: var(--oac-teal-700);
	box-shadow: 0 6px 18px rgba(7, 61, 59, .20);
}

/* ============================================================
   全ページの塗りボタン：フラット＆ソフトシャドウ（受診の流れ等も）
   ============================================================ */
.swell-block-button.is-style-btn_normal > .swell-block-button__link {
	background-color: var(--oac-teal-600);
	background-image: none;
	border: none;
	border-radius: var(--oac-radius-sm);
	box-shadow: 0 2px 8px rgba(7, 61, 59, .14);
	transition: transform var(--oac-dur) var(--oac-ease),
	            box-shadow var(--oac-dur) var(--oac-ease),
	            background-color var(--oac-dur) var(--oac-ease);
}
.swell-block-button.is-style-btn_normal > .swell-block-button__link:hover {
	background-color: var(--oac-teal-700);
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(7, 61, 59, .20);
}

/* ============================================================
   LINE予約ボタン：LINEブランドの緑で一目でLINEと分かる
   ============================================================ */
.swell-block-button.oac-line-btn > .swell-block-button__link {
	background-color: #06c755;
	background-image: none;
	box-shadow: 0 2px 8px rgba(6, 199, 85, .18);
}
.swell-block-button.oac-line-btn > .swell-block-button__link:hover {
	background-color: #05b34c;
	box-shadow: 0 6px 18px rgba(6, 199, 85, .26);
}

/* ============================================================
   モーション抑制設定の尊重
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
	.c-inquiry-btn,
	.home .wp-block-button__link,
	.home .swell-block-button__link,
	.home .c-btn,
	.home .p-postList.-type-card .p-postList__link,
	body .schedule-table td {
		transition: none !important;
	}
	.c-inquiry-btn:hover,
	.home .wp-block-button__link:hover,
	.home .swell-block-button__link:hover,
	.home .c-btn:hover,
	.home .p-postList.-type-card .p-postList__link:hover {
		transform: none !important;
	}
}

/* ============================================================
   医師紹介ページ — Doctor Profile Cards
   ============================================================ */

/* セクションラベル見出し */
.oac-section-label {
	text-align: center !important;
	font-size: clamp(.9rem, .78rem + .4vw, 1.05rem) !important;
	font-weight: 700 !important;
	letter-spacing: .2em !important;
	color: var(--oac-teal-600) !important;
	border: none !important;
	background: none !important;
	padding: .4em 1.6em !important;
	margin: 2.6rem auto 1.4rem !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: .7em;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
.oac-section-label::before,
.oac-section-label::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--oac-teal-300);
	min-width: 2rem;
}

/* カード外枠 */
.oac-doctor-card {
	background: #fff !important;
	border: 1px solid var(--oac-teal-100) !important;
	border-radius: var(--oac-radius) !important;
	box-shadow: var(--oac-shadow-1) !important;
	padding: clamp(1.2rem, 1rem + 1vw, 1.8rem) !important;
	margin-bottom: 1.6rem !important;
}

/* 写真（円形） */
.oac-doctor-card .wp-block-column:first-child .wp-block-image img {
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	max-width: 170px;
	display: block;
	margin: 0 auto;
	border: 3px solid var(--oac-teal-100);
}

/* プレースホルダー写真 */
.oac-doctor-photo-ph {
	width: 100%;
	max-width: 160px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	margin: 0 auto;
	background: linear-gradient(160deg, var(--oac-teal-50) 0%, var(--oac-teal-100) 100%);
	border: 3px solid var(--oac-teal-100);
	position: relative;
	overflow: hidden;
}
.oac-doctor-photo-ph::before {
	content: '';
	position: absolute;
	top: 18%;
	left: 50%;
	transform: translateX(-50%);
	width: 34%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--oac-teal-300);
}
.oac-doctor-photo-ph::after {
	content: '';
	position: absolute;
	bottom: -8%;
	left: 50%;
	transform: translateX(-50%);
	width: 64%;
	height: 52%;
	border-radius: 50% 50% 0 0;
	background: var(--oac-teal-300);
	opacity: .7;
}

/* 名前 */
.oac-doctor-name {
	font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem) !important;
	font-weight: 700 !important;
	font-family: var(--oac-font-head) !important;
	color: var(--oac-ink) !important;
	margin: 0 0 .3rem !important;
	line-height: 1.4 !important;
}
.oac-doctor-reading {
	font-size: .68em;
	font-weight: 400;
	color: var(--oac-muted);
	letter-spacing: .06em;
	margin-left: .4em;
}

/* 役職 */
.oac-doctor-role {
	font-size: .9rem !important;
	font-weight: 700 !important;
	color: var(--oac-teal-600) !important;
	margin: 0 0 .25rem !important;
}

/* 所属 */
.oac-doctor-affil {
	font-size: .85rem !important;
	color: var(--oac-muted) !important;
	margin: 0 0 .65rem !important;
}

/* 略歴テキスト */
.oac-doctor-bio {
	font-size: .92rem !important;
	line-height: 1.9 !important;
	color: var(--oac-body) !important;
	margin-bottom: 0 !important;
}

/* 担当バッジ */
.oac-doctor-schedule {
	display: inline-block !important;
	font-size: .82rem !important;
	font-weight: 600 !important;
	background: var(--oac-teal-50) !important;
	color: var(--oac-teal-700) !important;
	border: 1px solid var(--oac-teal-100) !important;
	border-radius: 100px !important;
	padding: .25em 1em !important;
	margin: 0 !important;
	line-height: 1.6 !important;
}

/* 詳細セクション（経歴・資格） */
.oac-doctor-details {
	margin-top: 1.4rem !important;
	padding-top: 1.4rem !important;
	border-top: 1px solid var(--oac-line) !important;
}
.oac-doctor-details h4.wp-block-heading {
	font-size: .88rem !important;
	font-weight: 700 !important;
	letter-spacing: .1em !important;
	color: var(--oac-teal-600) !important;
	margin-bottom: .65rem !important;
	padding-bottom: .35rem !important;
	border-bottom: 1px solid var(--oac-teal-100) !important;
	background: none !important;
}
.oac-doctor-details h4.wp-block-heading::after { display: none; }

/* 資格リスト */
.oac-credentials-list {
	font-size: .87rem !important;
	line-height: 1.9 !important;
	color: var(--oac-body) !important;
	padding-left: 1.3em !important;
	margin: 0 !important;
}
.oac-credentials-list li::marker {
	color: var(--oac-teal-500) !important;
}

/* 経歴テーブル */
.oac-career-table table {
	width: 100%;
	border-collapse: collapse;
}
.oac-career-table td {
	font-size: .87rem !important;
	padding: 5px 8px !important;
	border: none !important;
	border-bottom: 1px solid var(--oac-line) !important;
	vertical-align: top !important;
	color: var(--oac-body) !important;
}
.oac-career-table td:first-child {
	white-space: nowrap !important;
	color: var(--oac-teal-700) !important;
	font-weight: 700 !important;
	min-width: 76px !important;
	padding-right: 14px !important;
}
.oac-career-table tr:last-child td {
	border-bottom: none !important;
}

/* モバイル：写真列を中央に */
@media (max-width: 599px) {
	.oac-doctor-card .wp-block-columns {
		flex-direction: column !important;
	}
	.oac-doctor-card .wp-block-column:first-child {
		flex-basis: auto !important;
		width: 100% !important;
		max-width: 140px;
		margin: 0 auto 1.2rem !important;
	}
}

/* ============================================================
   サイト全体スタイル統一（医師紹介ページのテイストをグローバルに）
   ============================================================ */

/* --- フォント：全ページに Zen Kaku Gothic 適用 --- */
body {
	font-family: var(--oac-font-sans);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	font-family: var(--oac-font-head);
	color: var(--oac-ink);
}

/* --- セクション見出し：ティール下線バー（全ページ共通） --- */
.wp-block-heading.has-background {
	background: none !important;
	border: none !important;
	text-align: center;
	font-family: var(--oac-font-head);
	font-weight: 700;
}
.wp-block-heading.has-background::before { display: none !important; }
.wp-block-heading.has-background::after {
	content: "";
	display: block;
	width: 40px;
	height: 3px;
	background: var(--oac-teal-500);
	margin: .45em auto 0;
	border-radius: 2px;
}

/* --- 記事カード：ホバー時の浮き上がり統一 --- */
.p-postList__link,
.p-postList.-type-card .p-postList__link {
	border-radius: var(--oac-radius-sm) !important;
	box-shadow: var(--oac-shadow-1) !important;
	transition: transform var(--oac-dur) var(--oac-ease),
	            box-shadow var(--oac-dur) var(--oac-ease) !important;
	overflow: hidden;
}
.p-postList__link:hover,
.p-postList.-type-card .p-postList__link:hover {
	transform: translateY(-3px) !important;
	box-shadow: var(--oac-shadow-2) !important;
}

/* --- ページ全体の背景を統一（医師紹介ページも同じ off-white） --- */
#body_wrap, body {
	background-color: var(--oac-surface-2);
}
.l-mainContent, .l-article {
	background-color: var(--oac-surface);
}
/* ホームページは透過のまま維持 */
#body_wrap.home .l-mainContent,
#body_wrap.home .l-article {
	background-color: transparent;
}

/* --- FAQ：全ページ適用（Q/Aアイコンのティール統一） --- */
.swell-block-faq__qLabel,
.swell-block-faq__aLabel {
	background-color: var(--oac-teal-600) !important;
}
.swell-block-faq__aLabel {
	background-color: var(--oac-teal-100) !important;
	color: var(--oac-teal-700) !important;
}

