/**
 * CHC Snow Monkey Child - カスタムブロックスタイル
 *
 * @package chc-wp-rebuild
 *
 * Phase 8: Snow Monkey の CSS 変数に準拠。Opus レビュー済み。
 */

/* CHC 独自変数（Snow Monkey に暗いアクセントがないため） */
:root {
	--chc-accent-hover: color-mix(in srgb, var(--accent-color, #0073aa) 85%, black);
	/* 固定ページ本文: 見出しH2・リンクの推奨トーン（落ち着いた印象） */
	--chc-h2-border: #334155;
	--chc-h2-text: #1e293b;
	--chc-h2-bg: #f8fafc;
	--chc-link: #1d4ed8;
	--chc-link-hover: #1e40af;
	/* 相談内容ブロック：吹き出しの輪郭・ボタン（淡い青・グレー系統） */
	--chc-situation-border: #64748b;
	--chc-situation-bg: #f8fafc;
	--chc-situation-link-bg: #bfdbfe;
	--chc-situation-link-text: #1e40af;
}

/* ==========================================================================
   ヘッダー: サイトブランディング（ロゴ + サイト名 + タグライン）
   ========================================================================== */
.chc-site-branding__inner {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.chc-site-branding__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.chc-site-branding__logo img {
	height: 36px;
	width: auto;
	display: block;
}

.chc-site-branding__text-link {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	text-decoration: none;
	color: inherit;
}

.chc-site-branding__name {
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--chc-h2-text, #1e293b);
	white-space: nowrap;
}

.chc-site-branding__tagline {
	display: block;
	font-size: 0.65rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	color: #64748b;
	white-space: nowrap;
}

/* ==========================================================================
   トップページ: ヒーローカバー（固定背景時のフォーカルポイント代替）
   ========================================================================== */
.chc-hero {
	background-position: center 70% !important;
}

/* トップページコンテンツ先頭の余分な上下パディングを除去 */
.p-section-front-page-content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}


/* ==========================================================================
   ヘッダーサブナビ: キーワード検索フォーム
   ========================================================================== */
.chc-header-sub-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}

.chc-header-search {
	display: flex;
	align-items: center;
	gap: 0.3rem;
	border: 1px solid #cbd5e1;
	border-radius: 9999px;
	padding: 0.15rem 0.6rem;
	background: #fff;
}

.chc-header-search__label {
	display: flex;
	align-items: center;
	color: #64748b;
	cursor: pointer;
}

.chc-header-search__icon {
	width: 0.95rem;
	height: 0.95rem;
	flex-shrink: 0;
}

.chc-header-search__input {
	border: none;
	outline: none;
	background: transparent;
	font-size: 0.75rem;
	color: #1e293b;
	width: 9rem;
	padding: 0;
}

.chc-header-search__input::placeholder {
	color: #94a3b8;
}

/* ヘッダー1行レイアウト: branding 左端・nav 右端に配置 */
.l-1row-header .c-row {
	justify-content: space-between;
}

/* ヘッダー上下余白を縮小: branding 列の padding と nav アイテムの padding を削減 */
.l-1row-header__branding {
	padding-top: 0.35rem !important;
	padding-bottom: 0.35rem !important;
}
.l-1row-header .p-global-nav .c-navbar__item > a {
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}


/* ヘッダーコンテナの左 padding を削除してロゴを左端に張り付ける */
.l-1row-header .c-container {
	padding-left: 0 !important;
}

/* c-row--margin-s の負の左マージンを打ち消す（ロゴが左に飛び出さないように） */
.l-1row-header .c-row {
	margin-left: 0 !important;
}

/* 最初のカラム（ロゴ）の左 padding も削除 */
.l-1row-header .c-row > .c-row__col:first-child {
	padding-left: 0 !important;
}

/* グローバルナビ: フォントサイズ調整・折り返し禁止（1行に収めるため） */
.p-global-nav .p-global-nav__item > a {
	font-size: 0.82rem;
	white-space: nowrap;
}

/* ==========================================================================
   共通: セクションタイトル（NEWS / AREA / PURPOSE 等で統一した罫線装飾）
   ========================================================================== */
.chc-section-title {
	display: flex;
	align-items: baseline;
	gap: var(--_s1, 1rem);
	margin-bottom: var(--_s2, 1.5rem);
	border-left: 4px solid var(--chc-h2-border, #334155);
	background-color: var(--chc-h2-bg, #f8fafc);
	color: var(--chc-h2-text, #1e293b);
	padding: 0.4em 0.75em;
	border-radius: 0 4px 4px 0;
}

.chc-section-title-en {
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.chc-section-title-ja {
	font-size: 1.2rem;
}

/* ==========================================================================
   固定ページ本文: 見出しH2の装飾とリンク色（落ち着いたトーン）
   対象: .entry-content, .c-entry__content, .wp-block-post-content 内の h2 / a
   ========================================================================== */
.entry-content h2.wp-block-heading,
.c-entry__content h2.wp-block-heading,
.wp-block-post-content h2.wp-block-heading,
main h2.wp-block-heading {
	border-left: 3px solid var(--chc-h2-border);
	background-color: var(--chc-h2-bg);
	color: var(--chc-h2-text);
	padding: 0.5em 0.75em;
	margin: 1.5em 0 0.75em;
}

.entry-content a:not(.wp-block-button__link):not(.chc-news-link),
.c-entry__content a:not(.wp-block-button__link):not(.chc-news-link),
.wp-block-post-content a:not(.wp-block-button__link):not(.chc-news-link),
main .wp-block-post-content a:not(.wp-block-button__link) {
	color: var(--chc-link);
}

.entry-content a:not(.wp-block-button__link):not(.chc-news-link):hover,
.c-entry__content a:not(.wp-block-button__link):not(.chc-news-link):hover,
.wp-block-post-content a:not(.wp-block-button__link):not(.chc-news-link):hover,
main .wp-block-post-content a:not(.wp-block-button__link):hover {
	color: var(--chc-link-hover);
}

/* ボタンブロック: テーマのリンク色（青）を上書きし、ボタン自身の文字色を使わせる */
.wp-block-button a.wp-block-button__link,
.wp-block-buttons .wp-block-button a.wp-block-button__link {
	color: inherit !important;
}

/* Snow Monkey Blocks のボタン（smb-btn）も同様にリンク色を打ち消す */
a.smb-btn:not(:root) {
	color: var(--smb-btn--color) !important;
}

/* ==========================================================================
   news-list（トップページ：タブ・余白を適切に）
   ========================================================================== */
.chc-news-section {
	margin: var(--_s3, 2rem) 0;
	padding: 0 4.5rem;
}

/* 見出し直後のnews-listはマージン・左右パディング不要、上下パディングで余白確保（サブページ用） */
.wp-block-heading + .chc-news-section {
	margin-top: 0;
	padding: 2rem 0;
}


.chc-news-section .chc-section-title {
	margin-bottom: var(--_s1, 1rem);
}

.chc-news-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: var(--_s2, 1.5rem);
	list-style: none;
	padding: 0;
}

.chc-news-tab {
	padding: 0.4rem 1rem;
	border: 1px solid var(--_lighter-color-gray);
	border-radius: 4px;
	background-color: #eee;
	color: var(--chc-h2-text, #1e293b);
	font-size: 0.9rem;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.chc-news-tab:hover {
	background-color: #e5e5e5;
	border-color: var(--chc-h2-border, #334155);
	color: var(--chc-h2-text, #1e293b);
}

.chc-news-tab.is-active {
	background-color: var(--chc-h2-border, #334155);
	color: #fff;
	border-color: var(--chc-h2-border, #334155);
}

.chc-news-tab:focus-visible {
	outline: 2px solid var(--chc-h2-border, #334155);
	outline-offset: 2px;
}

.chc-news-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.chc-news-item {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	padding: 0.6rem 0;
	border-bottom: 1px solid var(--_lighter-color-gray);
	transition: background-color 0.15s ease;
}

.chc-news-item:hover {
	background-color: #fafafa;
}

.chc-news-date {
	font-size: 0.875rem;
	color: var(--chc-h2-text, #1e293b);
	min-width: 5.5em;
	flex-shrink: 0;
}

.chc-news-badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--_s-1, 0.5rem);
	flex-shrink: 0;
}

.chc-news-badge {
	display: inline-block;
	min-width: 6.5em;
	text-align: center;
	box-sizing: border-box;
	padding: 0.2em 0.5em;
	font-size: 0.85em;
	background-color: #eee;
	color: var(--chc-h2-text, #334155);
	border-radius: var(--_global--border-radius);
}

/* 部署タグ: 健康相談室＝緑系、学生相談室＝オレンジ系（タイトルリンクの青と重ならないよう） */
.chc-news-badge--facility {
	background-color: #dcfce7;
	color: #166534;
}

.chc-news-badge--consultation {
	background-color: #ffedd5;
	color: #c2410c;
}

.chc-news-link {
	flex: 1;
	min-width: 0;
	text-decoration: none;
	color: var(--_color-text);
}

.chc-news-link:focus-visible {
	outline: 2px solid var(--chc-link, #1d4ed8);
	outline-offset: 2px;
}

.chc-news-link:hover {
	text-decoration: underline;
}

.chc-news-more {
	margin-top: var(--_s2, 1.5rem);
	text-align: right;
}

.chc-news-more-link {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	background-color: var(--chc-h2-bg, #f8fafc);
	color: var(--chc-link, #1d4ed8);
	text-decoration: none;
	border: 1px solid var(--chc-link, #1d4ed8);
	border-radius: 4px;
	font-size: 0.95rem;
	font-weight: 600;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.chc-news-more-link:hover {
	background-color: var(--chc-link, #1d4ed8);
	color: #fff;
	border-color: var(--chc-link, #1d4ed8);
}

.chc-news-more-link:focus-visible {
	outline: 2px solid var(--chc-link, #1d4ed8);
	outline-offset: 2px;
}

.chc-news-empty {
	margin: 1rem 0;
	padding: 1rem;
	color: var(--_color-gray);
	font-size: 0.95rem;
}

/* ==========================================================================
   新着情報アーカイブ /news/ 左カラム：日付・タイトル・本文（Phase 6.5）
   ========================================================================== */
.chc-news-archive-entries {
	margin: 0;
}

.chc-news-entry {
	padding: 1.2rem 1.25rem;
	margin-bottom: 1rem;
	border: 1px solid #bbb;
	background: #fafafa;
	box-sizing: border-box;
}

.chc-news-entry:last-child {
	margin-bottom: 0;
}

.chc-news-entry__date {
	display: block;
	font-size: 1rem;
	font-weight: 600;
	color: #333;
	margin-bottom: 0.4rem;
}

.chc-news-entry__title {
	font-size: 1rem;
	font-weight: bold;
	margin: 0.6rem 0 0.75rem;
	line-height: 1.5;
	padding: 0.4rem 0 0.4rem 1rem;
	border-left: 3px solid #0073aa;
	background: #e8eef5;
}

.chc-news-entry__title a {
	color: #333;
	text-decoration: none;
}

.chc-news-entry__title a:hover {
	text-decoration: underline;
}

.chc-news-entry__content {
	font-size: 0.9rem;
	line-height: 1.7;
	color: #444;
}

.chc-news-entry__content p {
	margin: 0 0 0.5em;
}

.chc-news-entry__content p:last-child {
	margin-bottom: 0;
}

.chc-news-entry__content a {
	color: #0073aa;
}

.chc-news-entry__content a:hover {
	color: #005a87;
}

.chc-news-entry__content .wp-block-embed,
.chc-news-entry__content figure.wp-block-embed {
	max-width: 80%;
}

/* ==========================================================================
   カスタムフッターナビゲーション（オリジナル再現）
   ========================================================================== */
.chc-footer-nav {
	background: #fff;
	padding: 2.5rem 0 2rem;
	border-top: 1px solid #e2e8f0;
}

.chc-footer-nav__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 2fr 1fr;
	gap: 2rem;
	align-items: start;
}

.chc-footer-nav__section {
	margin-bottom: 1.5rem;
}

.chc-footer-nav__section:last-child {
	margin-bottom: 0;
}

.chc-footer-nav__heading {
	font-size: 0.9rem;
	font-weight: 700;
	margin: 0 0 0.6rem;
	color: #1e293b;
}

.chc-footer-nav__heading a {
	color: inherit;
	text-decoration: none;
}

.chc-footer-nav__heading a:hover {
	text-decoration: underline;
}

.chc-footer-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.chc-footer-nav__list li {
	margin-bottom: 0.3rem;
}

.chc-footer-nav__list a {
	font-size: 0.8rem;
	color: #475569;
	text-decoration: none;
}

.chc-footer-nav__list a:hover {
	color: #1e293b;
	text-decoration: underline;
}

.chc-footer-nav__list--indent {
	padding-left: 0.75rem;
}

.chc-footer-nav__list--indent2 {
	padding-left: 1.25rem;
}

.chc-footer-nav__list--quick a {
	font-size: 0.85rem;
	color: #334155;
}

.chc-footer-nav__subcols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.chc-footer-nav__sublabel {
	font-size: 0.82rem;
	font-weight: 600;
	color: #334155;
	margin: 0 0 0.4rem;
}

.chc-footer-nav__sublabel a {
	color: inherit;
	text-decoration: none;
}

.chc-footer-nav__sublabel a:hover {
	text-decoration: underline;
}

@media (max-width: 1023px) {
	.chc-footer-nav__grid {
		grid-template-columns: 1fr 1fr;
	}
	.chc-footer-nav__col--wide {
		grid-column: span 2;
	}
}

@media (max-width: 599px) {
	.chc-footer-nav__grid {
		grid-template-columns: 1fr;
	}
	.chc-footer-nav__col--wide {
		grid-column: span 1;
	}
	.chc-footer-nav__subcols {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   新着情報アーカイブ /news/ サイドバー（Phase 6.5。黒系フォント・罫線）
   ========================================================================== */
.chc-news-archive-widget {
	margin-bottom: 2rem;
	padding: 0;
	border: 1px solid #ccc;
	background: #fff;
	overflow: hidden;
}

.chc-news-archive-title {
	margin: 0;
	padding: 0.6rem 1rem;
	font-size: 1rem;
	font-weight: bold;
	background: #555;
	color: #fff;
	border-bottom: 1px solid #ccc;
}

.chc-news-archive-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.chc-news-archive-list li {
	padding: 0.5rem 1rem;
	border-bottom: 1px solid #e0e0e0;
	list-style: none !important;
}

.chc-news-archive-list li:last-child {
	border-bottom: none;
}

.chc-news-archive-list li::before {
	display: none !important;
}

.chc-news-archive-list a {
	text-decoration: none;
	color: #333 !important;
}

.chc-news-archive-list li:hover {
	background: #e8e8e8;
}

.chc-news-archive-list li:hover a {
	text-decoration: underline;
	color: #000 !important;
}

.chc-news-archive-list li.chc-news-archive-current {
	background: #e0e0e0;
	font-weight: 600;
}

.chc-news-archive-list li.chc-news-archive-current:hover {
	background: #d5d5d5;
}

/* ==========================================================================
   area-selector / purpose-selector / facilities-selector（同構造）
   ========================================================================== */
.chc-area-selector {
	margin: var(--_s3, 2rem) 0;
	padding: 0 4.5rem;
}

.chc-purpose-selector {
	margin: var(--_s3, 2rem) 0;
	padding: 0 4.5rem;
}

.chc-facilities-selector {
	margin: var(--_s3, 2rem) 0;
	padding: 0 4.5rem;
}

.chc-area-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.25rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.chc-area-item {
	display: flex;
}

.chc-area-link {
	display: flex;
	flex: 1;
	flex-direction: row;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	border: 1px solid var(--_light-color-gray);
	border-radius: var(--_global--border-radius);
	text-decoration: none;
	color: var(--chc-h2-text, #1e293b);
	writing-mode: horizontal-tb;
	transition: all var(--_global--transition-duration) var(--_global--transition-function-timing);
}

.chc-area-link:focus-visible {
	outline: 2px solid var(--chc-h2-border, #334155);
	outline-offset: 2px;
}

.chc-area-link:hover {
	background-color: var(--_lightest-color-gray);
	border-color: var(--chc-h2-border, #334155);
	color: var(--chc-h2-border, #334155);
}

.chc-purpose-link:hover {
	background-color: var(--_lightest-color-gray);
	border-color: var(--chc-h2-border, #334155);
	color: var(--chc-h2-border, #334155);
}

.chc-purpose-link:focus-visible {
	outline: 2px solid var(--chc-h2-border, #334155);
	outline-offset: 2px;
}

.chc-facilities-link:hover {
	background-color: var(--_lightest-color-gray);
	border-color: var(--chc-h2-border, #334155);
	color: var(--chc-h2-border, #334155);
}

.chc-facilities-link:focus-visible {
	outline: 2px solid var(--chc-h2-border, #334155);
	outline-offset: 2px;
}

.chc-area-item__img {
	width: 80px;
	aspect-ratio: 16 / 10;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: var(--_global--border-radius);
	background: var(--_lightest-color-gray);
}

.chc-area-item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.chc-area-item__label {
	display: block;
	flex: 1;
	font-weight: 600;
	text-align: center;
	writing-mode: horizontal-tb;
	color: var(--chc-h2-text, #1e293b);
	white-space: normal;
}

.chc-purpose-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.25rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.chc-purpose-item {
	display: flex;
}

.chc-purpose-link {
	display: flex;
	flex: 1;
	flex-direction: row;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	border: 1px solid var(--_light-color-gray);
	border-radius: var(--_global--border-radius);
	text-decoration: none;
	color: var(--chc-h2-text, #1e293b);
	writing-mode: horizontal-tb;
	transition: all var(--_global--transition-duration) var(--_global--transition-function-timing);
}

.chc-purpose-item__img {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: var(--_global--border-radius);
	background: var(--_lightest-color-gray);
	display: flex;
	align-items: center;
	justify-content: center;
}

.chc-purpose-item__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.chc-purpose-item__label {
	display: block;
	flex: 1;
	font-weight: 600;
	text-align: center;
	writing-mode: horizontal-tb;
	color: var(--chc-h2-text, #1e293b);
	white-space: normal;
}

.chc-facilities-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.25rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.chc-facilities-item {
	display: flex;
}

.chc-facilities-link {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
	padding: 0.75rem;
	min-height: calc(44px + 1.5rem);
	border: 1px solid var(--_light-color-gray);
	border-radius: var(--_global--border-radius);
	text-decoration: none;
	transition: all var(--_global--transition-duration) var(--_global--transition-function-timing);
}

.chc-facilities-item__label {
	display: block;
	font-weight: 600;
	text-align: center;
	color: var(--chc-h2-text, #1e293b);
}

/* 目的から選ぶ：画像ブロックで構成した場合のホバー（選択中がわかるように）
   使い方: 画像が入った「グループ」または「横並び」にクラス chc-purpose-images を付与 */
.chc-purpose-images a {
	display: block;
	transition: box-shadow 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
	border-radius: var(--_global--border-radius, 4px);
}

.chc-purpose-images a:hover {
	opacity: 0.92;
	box-shadow: 0 0 0 3px var(--accent-color, #0073aa);
	outline: none;
}

.chc-purpose-images .wp-block-image a:hover img {
	opacity: 1;
}

/* タッチデバイスではフォーカス時も同様に表示 */
.chc-purpose-images a:focus-visible {
	opacity: 0.92;
	box-shadow: 0 0 0 3px var(--accent-color, #0073aa);
	outline: none;
}

/* ==========================================================================
   situation-list（相談内容：丸型・青系・背景画像対応）
   ========================================================================== */
.chc-situation-list {
	margin: var(--_s3, 2rem) 0;
}

.chc-situation-list.has-bg-image {
	position: relative;
	margin: 0;
	padding: 3rem 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* 背景に半透明白オーバーレイ */
.chc-situation-list.has-bg-image::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.55);
	z-index: 0;
}

/* 内部コンテナ：AREA/PURPOSE/FACILITIES と同じ横パディングで見出し位置を揃える */
.chc-situation-list__inner {
	position: relative;
	z-index: 1;
	padding: 0 4.5rem;
}

.chc-situation-list-items {
	display: grid;
	grid-template-columns: repeat(5, 190px);
	grid-template-rows: repeat(2, 190px);
	justify-content: center;
	gap: 1.75rem 1.75rem;
	list-style: none;
	padding: 2rem 0 1.5rem;
	margin: 0;
}

.chc-situation-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 190px;
	height: 190px;
	border-radius: 50%;
	background-color: #fff;
	border: none;
	text-align: center;
	padding: 1.2rem;
	transition: box-shadow 0.2s ease;
}

.chc-situation-item:hover {
	box-shadow: 0 0 0 4px #1a1a1a;
}

.chc-situation-content {
	margin-bottom: 0.5rem;
}

.chc-situation-name {
	margin: 0;
	font-size: 0.78rem;
	font-weight: bold;
	line-height: 1.4;
	color: var(--chc-h2-text, #1e293b);
}

.chc-situation-description {
	display: none;
}

.chc-situation-link {
	display: inline-block;
	padding: 0.3rem 0.75rem;
	background-color: #fff;
	color: #1e40af !important;
	border: 1px solid #1e40af;
	text-decoration: none;
	border-radius: 4px;
	font-size: 0.78rem;
	line-height: 1.4;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.chc-situation-link:hover {
	background-color: #1d4ed8;
	color: #fff !important;
	border-color: #1d4ed8;
}

/* ==========================================================================
   consultation-cta（あらたに相談したい方はこちら）
   ========================================================================== */
.chc-consultation-cta {
	margin: var(--_s3, 2rem) 0;
	padding: 2rem 4.5rem;
	text-align: center;
}

.chc-consultation-cta__deco {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 480px;
	margin: 0 auto 2rem;
}

.chc-consultation-cta__deco-line {
	flex: 1;
	height: 1px;
	background: #e2e8f0;
}

.chc-consultation-cta__deco-icon {
	color: #f78da7;
	font-size: 0.75rem;
	line-height: 1;
}

.chc-consultation-cta__header {
	margin-bottom: 1.5rem;
}

.chc-consultation-cta__title-ja {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--chc-h2-text, #1e293b);
	margin: 0 0 0.25rem;
}

.chc-consultation-cta__title-en {
	font-size: 0.8rem;
	letter-spacing: 0.12em;
	color: #64748b;
	margin: 0;
}

.chc-consultation-cta__main {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding: 1rem 2rem;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	background-color: #fce8f0;
	border: 1px solid var(--chc-h2-text, #1e293b);
	border-radius: var(--_global--border-radius);
	text-decoration: none;
	font-size: 1.1rem;
	font-weight: 700;
	transition: all var(--_global--transition-duration) var(--_global--transition-function-timing);
}

.chc-consultation-cta__main-label,
.chc-consultation-cta__main-icon {
	color: var(--chc-h2-text, #1e293b);
}

.chc-consultation-cta__main:hover {
	background-color: #f78da7;
	border-color: #f78da7;
}

.chc-consultation-cta__main:hover .chc-consultation-cta__main-label,
.chc-consultation-cta__main:hover .chc-consultation-cta__main-icon {
	color: #fff;
}

.chc-consultation-cta__main-icon {
	font-size: 1.2rem;
}

.chc-consultation-cta__sub-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
	list-style: none;
	padding: 0;
	margin: 0.75rem auto 0;
	max-width: 640px;
}

.chc-consultation-cta__sub-item {
	display: flex;
}

.chc-consultation-cta__sub-link {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	border: 2px solid var(--chc-h2-text, #1e293b);
	border-radius: var(--_global--border-radius);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
	transition: all var(--_global--transition-duration) var(--_global--transition-function-timing);
}

.chc-consultation-cta__sub-link span {
	color: var(--chc-h2-text, #1e293b);
}

.chc-consultation-cta__sub-link:hover {
	background-color: var(--_lightest-color-gray);
	border: 2px solid #f78da7;
	color: var(--chc-h2-border, #334155) !important;
}

.chc-consultation-cta__sub-link:focus-visible {
	outline: 2px solid var(--chc-h2-border, #334155);
	outline-offset: 2px;
}

/* ==========================================================================
   レスポンシブ（mobile-first, Snow Monkey ブレークポイント）
   ========================================================================== */
@media (min-width: 640px) {
	.chc-news-item {
		flex-direction: row;
		align-items: center;
		gap: 1rem;
	}


}

@media (min-width: 1024px) {
	.chc-situation-list-items {
		flex-wrap: nowrap;
		justify-content: center;
		gap: 1.5rem;
	}
}

/* ==========================================================================
   セルフケアページ：リーフレット画像のホバー効果
   カラムブロックに追加 CSS クラス chc-selfcare-leaflets を付与して使用。
   ========================================================================== */
.chc-selfcare-leaflets img {
	transition: opacity 0.2s ease, box-shadow 0.2s ease;
	cursor: pointer;
}

.chc-selfcare-leaflets img:hover {
	opacity: 0.85;
	box-shadow: 0 0 0 3px var(--chc-h2-border, #334155);
}

/* ==========================================================================
   ページ内アンカーナビゲーション（.chc-anchor-nav）
   使い方: ボタンブロック（Buttons コンテナ）に追加 CSS クラス chc-anchor-nav を付与。
   各ボタンのリンク先を #anker-0 等のページ内アンカーに設定。
   ========================================================================== */
.chc-anchor-nav {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 2rem;
}

/* ボタン個別ラッパー（wp-block-button）を均等幅に */
.chc-anchor-nav .wp-block-button {
	flex: 1 1 120px; /* 最小120px、均等に引き伸ばし */
}

.chc-anchor-nav .wp-block-button a.wp-block-button__link,
.chc-anchor-nav .wp-block-button a.wp-block-button__link:link,
.chc-anchor-nav .wp-block-button a.wp-block-button__link:visited {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 3rem;
	background-color: #1a1a1a !important;
	color: #fff !important;
	border-radius: 4px !important;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	padding: 0.6em 1em;
	text-align: center;
	white-space: normal; /* 長いラベルは折り返し可 */
	text-decoration: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.chc-anchor-nav .wp-block-button a.wp-block-button__link:hover {
	background-color: var(--chc-link, #1d4ed8) !important;
	color: #fff !important;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
	transform: translateY(-1px);
}

.chc-anchor-nav .wp-block-button a.wp-block-button__link:focus-visible {
	outline: 2px solid var(--chc-link, #1d4ed8);
	outline-offset: 2px;
}

/* ==========================================================================
   固定ページ本文：順序付きリストを丸囲み数字スタイルに
   対象: .entry-content / .wp-block-post-content 内の ol
   ========================================================================== */
.entry-content ol.wp-block-list,
.c-entry__content ol.wp-block-list,
.wp-block-post-content ol.wp-block-list {
	list-style: none !important;
	counter-reset: chc-ol-counter;
	padding-left: 0 !important;
}

.entry-content ol.wp-block-list > li,
.c-entry__content ol.wp-block-list > li,
.wp-block-post-content ol.wp-block-list > li {
	counter-increment: chc-ol-counter;
	position: relative;
	padding-left: 2.25em;
	margin-bottom: 0.6em;
}

.entry-content ol.wp-block-list > li::before,
.c-entry__content ol.wp-block-list > li::before,
.wp-block-post-content ol.wp-block-list > li::before {
	content: counter(chc-ol-counter);
	position: absolute;
	left: 0;
	top: 0.1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	border: 1.5px solid var(--chc-h2-border, #334155);
	font-size: 0.85em;
	font-weight: bold;
	color: var(--chc-h2-border, #334155);
	line-height: 1;
	flex-shrink: 0;
}

/* ==========================================================================
   検索結果リスト（.chc-search-results）
   ========================================================================== */
.chc-search-results {
	list-style: none;
	padding: 0;
	margin: 0;
}

.chc-search-results__item {
	padding: 1.4rem 0;
	border-bottom: 1px solid #e2e8f0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.chc-search-results__item:first-child {
	border-top: 1px solid #e2e8f0;
}

.chc-search-results__meta {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.chc-search-results__badge {
	display: inline-block;
	font-size: 0.65rem;
	font-weight: 600;
	padding: 0.1rem 0.5rem;
	border-radius: 3px;
	line-height: 1.6;
}

.chc-search-results__badge--news {
	background: #f0fdf4;
	color: #15803d;
	border: 1px solid #bbf7d0;
}

.chc-search-results__badge--page {
	background: #f8fafc;
	color: #64748b;
	border: 1px solid #cbd5e1;
}

.chc-search-results__badge--other {
	background: #fafafa;
	color: #64748b;
	border: 1px solid #e2e8f0;
}

.chc-search-results__date {
	font-size: 0.75rem;
	color: #64748b;
}


.chc-search-results__title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--chc-link, #1a56db);
	text-decoration: none;
	line-height: 1.5;
}

.chc-search-results__title:hover {
	text-decoration: underline;
}

.chc-search-results__excerpt {
	font-size: 0.85rem;
	color: #475569;
	line-height: 1.7;
	margin: 0;
}

/* ==========================================================================
   刊行物ページ：PDF リンクリスト（.chc-pdf-list）
   使い方: ブロックエディターの「リスト」ブロックに追加 CSS クラス chc-pdf-list を付与。
   各リスト項目は <a href="PDF_URL">ラベル</a> の形式。
   新年度の追加はリスト先頭に1行追加するだけで対応可能。
   ========================================================================== */
.chc-pdf-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
	list-style: none !important;
	padding: 0 !important;
	margin-top: 1rem;
	margin-bottom: 1.5rem;
	margin-left: 1.5rem;
	margin-right: 0;
}

.chc-pdf-list li {
	display: contents; /* li の箱を消して a をグリッドアイテムに直接昇格。li::before/marker も消える */
}

.chc-pdf-list a {
	display: flex;
	align-items: center; /* PDF バッジとテキストを縦中央に */
	gap: 0.75rem;
	padding: 0.7rem 1rem;
	border: 1px solid #bfdbfe;
	border-radius: var(--_global--border-radius, 4px);
	text-decoration: none;
	color: var(--chc-h2-text, #1e293b);
	background: #eff6ff;
	font-size: 0.9rem;
	line-height: 1.4;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	/* グリッドの align-items: stretch（デフォルト）で同行のカードが同じ高さになる */
}

.chc-pdf-list a:hover {
	background: #dbeafe;
	border-color: var(--chc-link, #1d4ed8);
	color: var(--chc-link, #1d4ed8);
}

.chc-pdf-list a:focus-visible {
	outline: 2px solid var(--chc-h2-border, #334155);
	outline-offset: 2px;
}

/* PDF バッジ（::before で自動付与、画像不要） */
.chc-pdf-list a::before {
	content: "PDF";
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	background-color: var(--chc-h2-border, #334155);
	color: #fff;
	font-size: 0.65rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	border-radius: 3px;
}

@media (max-width: 639px) {
	.chc-pdf-list {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   TOC サイドバーナビ（.chc-toc-nav）
   ========================================================================== */
.chc-toc-nav__box {
	border: 1px solid #ccc;
	overflow: hidden;
}

.chc-toc-nav__title {
	background: #6b6b6b;
	color: #fff;
	padding: 0.4em 1em;
	border-bottom: 1px solid #ccc;
}

.chc-toc-nav__list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.chc-toc-nav__item {
	border-bottom: 1px solid #eee;
	padding: 0.5em 1em;
	list-style: none !important;
}

.chc-toc-nav__item:last-child {
	border-bottom: none;
}

.chc-toc-nav__link {
	color: #555;
	text-decoration: none;
}

.chc-toc-nav__link:hover {
	color: #333;
	text-decoration: underline;
}

/* ==========================================================================
   Phase 8: レスポンシブ補完（mobile-first）
   ========================================================================== */

/* --- 横パディング: モバイル(default) → タブレット(640px) → PC(1024px) --- */
.chc-news-section,
.chc-area-selector,
.chc-purpose-selector,
.chc-facilities-selector {
	padding-left: 1rem;
	padding-right: 1rem;
}

.chc-situation-list__inner {
	padding-left: 1rem;
	padding-right: 1rem;
}

.chc-consultation-cta {
	padding-top: 2rem;
	padding-bottom: 2rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

@media (min-width: 640px) {
	.chc-news-section,
	.chc-area-selector,
	.chc-purpose-selector,
	.chc-facilities-selector,
	.chc-situation-list__inner,
	.chc-consultation-cta {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (min-width: 1024px) {
	.chc-news-section,
	.chc-area-selector,
	.chc-purpose-selector,
	.chc-facilities-selector,
	.chc-situation-list__inner {
		padding-left: 4.5rem;
		padding-right: 4.5rem;
	}

	.chc-consultation-cta {
		padding-left: 4.5rem;
		padding-right: 4.5rem;
	}
}

/* --- area / purpose / facilities: モバイル2列 → 640px以上3列 → 1024px以上5列 --- */
.chc-area-list,
.chc-purpose-list,
.chc-facilities-list {
	grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 640px) {
	.chc-area-list,
	.chc-purpose-list,
	.chc-facilities-list {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1024px) {
	.chc-area-list,
	.chc-purpose-list,
	.chc-facilities-list {
		grid-template-columns: repeat(5, 1fr);
	}
}

/* --- situation-list: モバイル2列 → 640px以上3列 → 1024px以上5列(固定190px) --- */
.chc-situation-list-items {
	grid-template-columns: repeat(2, minmax(120px, 160px));
	grid-template-rows: auto;
}

.chc-situation-item {
	width: min(160px, 42vw);
	height: min(160px, 42vw);
}

@media (min-width: 640px) {
	.chc-situation-list-items {
		grid-template-columns: repeat(3, minmax(140px, 175px));
	}

	.chc-situation-item {
		width: min(175px, 28vw);
		height: min(175px, 28vw);
	}
}

@media (min-width: 1024px) {
	.chc-situation-list-items {
		grid-template-columns: repeat(5, 190px);
		grid-template-rows: repeat(2, 190px);
	}

	.chc-situation-item {
		width: 190px;
		height: 190px;
	}
}

/* =============================================
   右サイドバーレイアウト修正
   ウィジェットエリアが空のとき Snow Monkey の ResizeObserver が
   data-with-sidebar=false を返すため、CSS で2カラムを維持する。
   Snow Monkey デフォルト: --wp--custom--has-sidebar-sidebar-basis: 336px
   ============================================= */
@media (min-width: 1024px) {
	.l-body--right-sidebar .l-contents__inner {
		flex-wrap: nowrap !important;
	}
	.l-body--right-sidebar .l-contents__sidebar {
		flex: 0 0 var(--wp--custom--has-sidebar-sidebar-basis, 336px) !important;
		max-width: var(--wp--custom--has-sidebar-sidebar-basis, 336px);
	}
}

/* =============================================
   言語切り替えドロップダウン
   Snow Monkey のグローバルナビサブメニューは sm-accent（赤）が
   background-color に当たるため、白/薄グレー系に上書きする。
   ============================================= */
.p-global-nav .c-navbar__submenu {
	background-color: #fff;
	border: 1px solid #e5e7eb;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* サブアイテムのテキスト色（親テーマは白固定のため上書き） */
.p-global-nav .c-navbar__subitem {
	color: #333;
}

.p-global-nav .c-navbar__subitem > a {
	color: #333 !important;
}

/* ホバー: 白背景に対して薄グレーに変更（親テーマは rgba(white,0.05) のため上書き） */
@media (any-hover: hover) {
	.p-global-nav .c-navbar__subitem:hover > a {
		background-color: #f3f4f6 !important;
	}
}

.p-global-nav .c-navbar__subitem:focus-visible > a {
	background-color: #f3f4f6 !important;
}

/* ナビバー内の「現在の言語」ハイライト（sm-nav-menu-item-highlight）
   Snow Monkey は sm-accent 背景 + 白テキスト。
   赤を消して、他のナビアイテムと同じ外観にする。 */
.p-global-nav .c-navbar__item.sm-nav-menu-item-highlight {
	background-color: transparent !important;
	color: inherit !important;
}

