/* 放課後相談室 */

/* テーマのページヘッダー「放課後相談室」h1.entry-title を非表示（タイトルはヒーロー内のみ） */
.page-header .entry-title {
	display: none !important;
}

/* メインメニューとヒーローエリアの間に少しだけスペース（教材共有プラットフォーム風） */
.site-content {
	padding-top: 16px !important;
}

/* ===== トップページ ヒーローエリア ===== */
/* ブラウザ幅いっぱい・画像中央・黒オーバーレイ0.5・見出しとテキストを画像の上に配置 */
.consultation-hero {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	min-height: 360px;
	margin-top: 0;
	margin-bottom: 1.5rem;
	overflow: hidden;
}

.consultation-hero-bg {
	position: absolute;
	inset: 0;
}

.consultation-hero-image-wrap {
	position: absolute;
	inset: 0;
}

.consultation-hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.consultation-hero-overlay {
	position: absolute;
	inset: 0;
	background-color: #000;
	opacity: 0.5;
	pointer-events: none;
}

.consultation-hero-inner {
	position: relative;
	z-index: 1;
	min-height: 360px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1.5rem;
	box-sizing: border-box;
}

.consultation-hero-content {
	max-width: 800px;
	text-align: center;
}

.consultation-hero-title {
	font-size: 1.75rem;
	margin: 0 0 0.75em;
	line-height: 1.3;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.consultation-hero-description {
	font-size: 1.2rem;
	line-height: 1.7;
	color: #fff;
	margin: 0;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.consultation-hero-description p {
	margin: 0 0 0.5em;
}

.consultation-hero-description p:last-child {
	margin-bottom: 0;
}

/* 画像がない場合はフォールバック背景 */
.consultation-hero:not(.consultation-hero-has-image) .consultation-hero-bg {
	background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fc 100%);
}

.consultation-hero:not(.consultation-hero-has-image) .consultation-hero-overlay {
	display: none;
}

.consultation-hero:not(.consultation-hero-has-image) .consultation-hero-title,
.consultation-hero:not(.consultation-hero-has-image) .consultation-hero-description {
	color: #1a365d;
	text-shadow: none;
}

.consultation-hero:not(.consultation-hero-has-image) .consultation-hero-description {
	color: #374151;
}

@media (max-width: 768px) {
	.consultation-hero {
		min-height: 280px;
		margin-bottom: 1rem;
	}

	.consultation-hero-image-wrap {
		position: absolute;
		inset: 0;
	}

	.consultation-hero-image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		min-width: 100%;
		min-height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.consultation-hero-inner {
		min-height: 280px;
		padding: 1.5rem 1rem;
	}

	.consultation-hero-title {
		font-size: 1.5rem !important;
	}

	.consultation-hero-description {
		font-size: 1.05rem !important;
		line-height: 1.5 !important;
	}
}

/* ===== 一覧・詳細 共通 ===== */
.consultation-archive .consultation-page-header,
.consultation-single .consultation-question-header {
	margin-bottom: 1em;
}

.consultation-page-title,
.consultation-question-title {
	font-size: 2rem;
	margin: 0 0 0.5em;
}

.consultation-actions {
	margin-bottom: 1.5em;
}

.consultation-btn {
	display: inline-block;
	padding: 0.65em 1.35em;
	border-radius: 4px;
	text-decoration: none;
	border: 1px solid #ccc;
	background: #f5f5f5;
	color: #333;
	cursor: pointer;
	font-size: 1.25rem;
}

.consultation-btn-primary {
	background: #3498db;
	border-color: #2980b9;
	color: #fff;
}

.consultation-btn-primary:hover {
	background: #2980b9;
	color: #fff;
}

.consultation-ask-login {
	margin: 0;
	color: #666;
	font-size: 1.15rem;
}

/* ===== フィルタ ===== */
.consultation-filters {
	background: #f9f9f9;
	padding: 1em;
	border-radius: 6px;
	margin-bottom: 1.5em;
}

.consultation-filters-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	align-items: center;
	margin-bottom: 0.75em;
}

.consultation-filter-select {
	min-width: 140px;
	padding: 0.55em 0.8em;
	font-size: 1.2rem;
}

.consultation-search-input {
	flex: 1;
	min-width: 160px;
	padding: 0.55em 0.8em;
	font-size: 1.2rem;
}

.consultation-sort-row,
.consultation-answer-sort {
	margin-top: 0.5em;
	font-size: 1.2rem;
}

/* 並び替えと状態の2つの塊を明確に分ける */
.consultation-sort-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5em 1.5em;
}

.consultation-sort-group,
.consultation-status-group {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0 0.5em;
}

.consultation-status-group {
	margin-left: 0.25em;
	padding-left: 1em;
	border-left: 1px solid #ccc;
}

.consultation-sort-label,
.consultation-answer-sort-label {
	margin-right: 0.25em;
	color: #666;
	font-size: 1.2rem;
}

.consultation-sort-link,
.consultation-answer-sort-link,
.consultation-status-links a {
	margin-right: 0.75em;
	color: #3498db;
	text-decoration: none;
}

.consultation-sort-link:hover,
.consultation-answer-sort-link:hover,
.consultation-status-links a:hover {
	text-decoration: underline;
}

.consultation-sort-link.is-active,
.consultation-answer-sort-link.is-active,
.consultation-status-links a.is-active {
	font-weight: bold;
	color: #2980b9;
}

/* ===== 質問一覧 ===== */
.consultation-question-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.consultation-question-item {
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	margin-bottom: 0.75em;
	background: #fff;
	transition: box-shadow 0.2s;
}

.consultation-question-item:hover {
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.consultation-question-item.is-expanded {
	border-color: #3498db;
	box-shadow: 0 2px 12px rgba(52,152,219,0.12);
}

.consultation-question-item-header {
	padding: 1em 1.25em;
	cursor: pointer;
	user-select: none;
	position: relative;
}

.consultation-question-item-header:focus-visible {
	outline: 2px solid #3498db;
	outline-offset: -2px;
	border-radius: 8px;
}

.consultation-badge {
	display: inline-block;
	padding: 0.25em 0.6em;
	font-size: 1.05rem;
	border-radius: 3px;
	margin-right: 0.5em;
	margin-bottom: 0.3em;
}

/* 回答急募：目立つデザイン（アイコン・文言・アニメーション） */
.consultation-badge-urgent {
	background: linear-gradient(135deg, #c0392b 0%, #e74c3c 100%);
	color: #fff;
	font-weight: 700;
	padding: 0.35em 0.75em;
	box-shadow: 0 2px 6px rgba(231, 76, 60, 0.4);
	animation: consultation-urgent-pulse 2s ease-in-out infinite;
}
.consultation-badge-urgent::before {
	content: "▶ ";
	font-size: 0.85em;
}
@keyframes consultation-urgent-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.9; }
}

.consultation-badge-featured {
	background: #f39c12;
	color: #fff;
}

.consultation-badge-resolved {
	background: #27ae60;
	color: #fff;
}

.consultation-badge-closed {
	background: #95a5a6;
	color: #fff;
}

.consultation-same-concern-wrap {
	margin-top: 0.5em;
}

.consultation-same-concern-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	padding: 0.4em 0.85em;
	font-size: 1.15rem;
	border-radius: 999px;
	border: 1px solid #b0bec5;
	background: #fff;
	color: #546e7a;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.consultation-same-concern-btn:hover {
	background: #e3f2fd;
	border-color: #3498db;
	color: #2980b9;
}

.consultation-same-concern-btn.is-active {
	background: #e8f4fc;
	border-color: #3498db;
	color: #2980b9;
	font-weight: 600;
}

.consultation-same-concern-count {
	display: inline-block;
	min-width: 1.5em;
	text-align: center;
	font-weight: 600;
}

.consultation-question-cat {
	font-size: 1.15rem;
	color: #7f8c8d;
	margin-right: 0.5em;
}

.consultation-question-item .consultation-question-title {
	font-size: 1.4rem;
	margin: 0.3em 0;
	color: #2c3e50;
	line-height: 1.4;
}

.consultation-question-excerpt {
	font-size: 1.15rem;
	color: #555;
	margin: 0.4em 0;
	line-height: 1.6;
}

.consultation-question-meta,
.consultation-answer-meta {
	font-size: 1.2rem;
	color: #95a5a6;
	margin-top: 0.5em;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75em;
}

.consultation-answer-count {
	margin-right: 0.25em;
}

.consultation-expand-icon {
	margin-left: auto;
	font-size: 1.1rem;
	color: #bbb;
	transition: transform 0.2s;
}

.consultation-question-item.is-expanded .consultation-expand-icon {
	transform: rotate(180deg);
	color: #3498db;
}

.consultation-no-results {
	padding: 2em;
	text-align: center;
	color: #7f8c8d;
	font-size: 1.15rem;
}

/* ===== 質問展開エリア ===== */
.consultation-question-detail {
	border-top: 1px solid #eee;
	padding: 1.25em;
	background: #fcfcfc;
	border-radius: 0 0 8px 8px;
}

.consultation-question-full-body {
	margin-bottom: 1.5em;
	line-height: 1.75;
	padding-bottom: 1em;
	border-bottom: 1px solid #eee;
	font-size: 1.15rem;
}

/* 一覧で質問本文を常時表示（ヘッダー直下） */
.consultation-question-body-visible {
	border-top: 1px solid #eee;
	padding: 1.25em 1.25em 1em;
	background: #fcfcfc;
	border-radius: 0;
}

/* 質問本文の直下：回答を表示/閉じるボタン */
.consultation-detail-toggle {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.6em 1em;
	border-top: 1px solid #eee;
	background: #f8f9fa;
	color: #2c3e50;
	font-size: 1.1rem;
	text-align: left;
	border-radius: 0;
	cursor: pointer;
}
.consultation-detail-toggle:hover {
	background: #eef0f2;
}
.consultation-detail-toggle .consultation-expand-icon {
	margin-left: 0.35em;
	font-size: 0.9em;
}

/* 回答フォームを表示/閉じる */
.consultation-answer-form-toggle-wrap {
	margin-top: 1em;
}
.consultation-answer-form-wrap {
	margin-top: 0.75em;
	padding-top: 0.75em;
	border-top: 1px solid #eee;
}
.consultation-hide-answer-form-btn {
	display: block;
	margin-bottom: 0.75em;
}

.consultation-answers-container {
	margin-bottom: 1em;
}

.consultation-answers-loading {
	padding: 1em;
	text-align: center;
	color: #999;
	font-size: 1.15rem;
}

.consultation-answers-title {
	font-size: 1.35rem;
	margin: 0 0 0.75em;
	color: #2c3e50;
}

.consultation-load-all-answers-btn {
	margin-top: 0.75em;
}

/* ===== 回答カード ===== */
.consultation-answer-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.consultation-answer-item {
	border: 1px solid #eee;
	border-radius: 6px;
	padding: 1em 1.25em;
	margin-bottom: 0.75em;
	background: #fff;
}

.consultation-answer-item.is-best-answer {
	border-color: #27ae60;
	background: #f0fff4;
}

.consultation-best-badge {
	display: inline-block;
	background: #27ae60;
	color: #fff;
	font-size: 1.05rem;
	padding: 0.25em 0.65em;
	border-radius: 3px;
	margin-bottom: 0.5em;
}

.consultation-answer-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75em;
	font-size: 1.15rem;
	color: #7f8c8d;
	margin-bottom: 0.5em;
}

.consultation-answer-body {
	margin-bottom: 0.75em;
	line-height: 1.6;
}

.consultation-answer-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75em;
	font-size: 1.15rem;
	color: #7f8c8d;
}

.consultation-reaction-btns {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.5em;
	align-items: center;
}

.consultation-reaction-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	padding: 0.45em 0.85em;
	border-radius: 999px;
	border: 1px solid #ddd;
	background: #fff;
	color: #555;
	cursor: pointer;
	font-size: 1.2rem;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.consultation-reaction-btn:hover {
	background: #f0f8ff;
	border-color: #3498db;
	color: #2980b9;
}

.consultation-reaction-btn.is-active,
.consultation-reaction-btn.is-liked,
.consultation-reaction-btn[aria-pressed="true"] {
	background: #e8f4fc;
	border-color: #3498db;
	color: #2980b9;
	font-weight: 600;
}

.consultation-reaction-count {
	display: inline-block;
	min-width: 1.4em;
	padding: 0.1em 0.35em;
	border-radius: 999px;
	background: rgba(0,0,0,0.08);
	font-size: 1em;
	font-weight: 600;
}

.consultation-reaction-btn.is-active .consultation-reaction-count,
.consultation-reaction-btn.is-liked .consultation-reaction-count {
	background: #3498db;
	color: #fff;
}

.consultation-best-btn {
	font-size: 1.15rem;
	padding: 0.4em 0.85em;
	background: #27ae60;
	color: #fff;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}

.consultation-best-btn:hover {
	background: #219a52;
}

.consultation-no-answers {
	color: #7f8c8d;
	padding: 1em 0;
	text-align: center;
	font-size: 1.15rem;
}

/* ===== 未ログイン ぼかし ===== */
.consultation-answers-blur-wrap {
	position: relative;
	min-height: 120px;
}

.consultation-answers-blur-inner {
	filter: blur(8px);
	user-select: none;
	pointer-events: none;
	opacity: 0.7;
}

.consultation-login-prompt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	font-size: 1.25rem;
	background: #fff;
	padding: 1.5em 2em;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.15);
	text-align: center;
	margin: 0;
}

.consultation-login-prompt a {
	color: #3498db;
	font-weight: bold;
}

.consultation-answers-blur-placeholder {
	margin-top: 1em;
}

.consultation-answer-blur-block {
	height: 60px;
	background: #ecf0f1;
	border-radius: 4px;
	margin-bottom: 0.5em;
}

/* ===== インライン回答フォーム ===== */
.consultation-inline-answer-form {
	margin-top: 1.25em;
	padding: 1.25em;
	background: #f0f8ff;
	border: 1px solid #d6eaf8;
	border-radius: 8px;
}

.consultation-inline-answer-title {
	margin: 0 0 0.75em;
	font-size: 1.25rem;
	color: #2c3e50;
}

.consultation-inline-answer-fields {
	display: flex;
	flex-direction: column;
	gap: 0.75em;
}

.consultation-inline-answer-author {
	max-width: 280px;
}

.consultation-inline-answer-content {
	min-height: 80px;
	resize: vertical;
}

.consultation-inline-answer-submit {
	align-self: flex-start;
}

.consultation-inline-answer-msg {
	font-size: 1.15rem;
	padding: 0.5em 0.75em;
	border-radius: 4px;
}

.consultation-inline-answer-msg.is-success {
	background: #d4edda;
	color: #155724;
}

.consultation-inline-answer-msg.is-error {
	background: #fdecea;
	color: #c0392b;
}

/* ===== 後で読む・違反報告 ===== */
.consultation-detail-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em;
	margin-top: 1em;
	padding-top: 0.75em;
	border-top: 1px solid #eee;
}

.consultation-report-wrap {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5em;
}

.consultation-bookmark-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding: 0.5em 0.9em;
	font-size: 1.1rem;
	font-weight: 500;
	color: #2980b9;
	background: #ecf7fc;
	border: 1px solid #3498db;
	border-radius: 4px;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.consultation-bookmark-btn:hover {
	background: #d6eef9;
	border-color: #2980b9;
	color: #2980b9;
}

.consultation-bookmark-btn.is-active {
	color: #fff;
	background: #3498db;
	border-color: #2980b9;
}

.consultation-bookmark-btn.is-active:hover {
	background: #2980b9;
	border-color: #1c5a85;
	color: #fff;
}

.consultation-report-btn {
	padding: 0.5em 0.9em;
	font-size: 1.1rem;
	font-weight: 500;
	color: #fff;
	background: #c0392b;
	border: 1px solid #a93226;
	border-radius: 4px;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s;
}

.consultation-report-btn:hover {
	background: #a93226;
	border-color: #922b21;
	color: #fff;
}

.consultation-bookmark-icon {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
}

.consultation-bookmark-icon svg {
	flex-shrink: 0;
	vertical-align: middle;
}

.consultation-bookmark-btn.is-active .consultation-bookmark-icon svg {
	fill: currentColor;
}

.consultation-question-edit-form-wrap {
	margin-top: 1em;
	padding: 1em;
	background: #f8f9fa;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
}

.consultation-question-edit-form-wrap label {
	display: block;
	margin-top: 0.75em;
	font-weight: 600;
}

.consultation-question-edit-form-wrap .consultation-edit-question-title,
.consultation-question-edit-form-wrap .consultation-edit-question-content {
	width: 100%;
	margin-top: 0.25em;
}

.consultation-edit-question-submit,
.consultation-edit-question-cancel {
	margin-top: 0.75em;
	margin-right: 0.5em;
}

.consultation-btn-link {
	background: none;
	border: none;
	color: #3498db;
	cursor: pointer;
	text-decoration: underline;
	font-size: inherit;
	padding: 0;
}

.consultation-answer-edit-form-inline {
	margin-top: 0.5em;
	padding: 0.5em;
	background: #f8f9fa;
	border-radius: 4px;
}

.consultation-answer-edit-form-inline textarea,
.consultation-answer-edit-form-inline input[type="text"] {
	width: 100%;
	margin-bottom: 0.5em;
}

.consultation-answer-anonymous-wrap {
	display: block;
	margin-bottom: 0.5em;
	font-size: 1.1rem;
}

.consultation-closed-notice {
	margin-top: 1em;
	color: #95a5a6;
	font-style: italic;
	font-size: 1.1rem;
}

/* ===== ページネーション ===== */
.consultation-archive .nav-links {
	margin-top: 1.5em;
}

/* ===== 質問投稿フォーム（一覧上部埋め込み） ===== */
.consultation-inline-ask-section {
	margin-bottom: 1.5em;
}

.consultation-toggle-ask-form {
	font-size: 1.25rem;
	padding: 0.75em 1.6em;
}

.consultation-toggle-ask-form.is-open {
	background: #2980b9;
}

.consultation-inline-ask-desc {
	color: #666;
	margin-top: 0.75em;
	margin-bottom: 0;
	font-size: 1.15rem;
	line-height: 1.6;
}

.consultation-inline-ask-form-wrap {
	margin-top: 1em;
}

.consultation-question-form {
	max-width: 720px;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 2em;
}

.consultation-form-page .consultation-form-desc {
	color: #666;
	margin-bottom: 1.5em;
	font-size: 1.15rem;
	line-height: 1.6;
}

.consultation-form-field {
	margin-bottom: 1.25em;
}

.consultation-form-label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.4em;
	font-size: 1.15rem;
	color: #2c3e50;
}

.consultation-required {
	color: #e74c3c;
}

.consultation-form-input,
.consultation-form-textarea,
.consultation-form-select {
	display: block;
	width: 100%;
	padding: 0.65em 0.85em;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1.15rem;
	line-height: 1.5;
	background: #fff;
	transition: border-color 0.2s;
	box-sizing: border-box;
}

.consultation-form-input:focus,
.consultation-form-textarea:focus,
.consultation-form-select:focus {
	border-color: #3498db;
	outline: none;
	box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.15);
}

.consultation-form-textarea {
	resize: vertical;
	min-height: 120px;
}

.consultation-form-row {
	display: flex;
	gap: 1em;
	margin-bottom: 1.25em;
}

.consultation-form-field-half {
	flex: 1;
	margin-bottom: 0;
}

.consultation-form-notice {
	background: #fef9e7;
	border: 1px solid #f0e0a0;
	border-radius: 4px;
	padding: 0.75em 1em;
	margin-bottom: 1.5em;
	font-size: 1.15rem;
	color: #7d6608;
}

.consultation-form-notice p {
	margin: 0;
}

.consultation-form-actions {
	display: flex;
	gap: 0.75em;
	align-items: center;
}

.consultation-btn-submit {
	padding: 0.65em 2em;
	font-size: 1.25rem;
	font-weight: 600;
}

.consultation-btn-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.consultation-btn-cancel {
	color: #666;
	border-color: #ccc;
}

.consultation-btn-cancel:hover {
	color: #333;
	border-color: #999;
}

.consultation-form-message {
	margin-top: 1em;
	padding: 0.75em 1em;
	border-radius: 4px;
	font-size: 1.1rem;
}

.consultation-form-message.is-error {
	background: #fdecea;
	border: 1px solid #f5c6cb;
	color: #c0392b;
}

.consultation-form-message.is-success {
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
}

.consultation-form-field.has-error .consultation-form-input,
.consultation-form-field.has-error .consultation-form-textarea,
.consultation-form-field.has-error .consultation-form-select {
	border-color: #e74c3c;
}

.consultation-form-field-error {
	color: #e74c3c;
	font-size: 1.1rem;
	margin-top: 0.3em;
}

/* ===== タブナビゲーション ===== */
.consultation-tab-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-bottom: 2px solid #e0e0e0;
	margin-bottom: 1.5em;
}

.consultation-tab-btn {
	padding: 0.75em 1.35em;
	background: none;
	border: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	font-size: 1.25rem;
	font-weight: 600;
	color: #7f8c8d;
	cursor: pointer;
	transition: color 0.2s, border-color 0.2s;
	white-space: nowrap;
}

.consultation-tab-btn:hover {
	color: #2c3e50;
}

.consultation-tab-btn.is-active {
	color: #3498db;
	border-bottom-color: #3498db;
}

.consultation-tab-panel {
	display: none;
}

.consultation-tab-panel.is-active {
	display: block;
}

/* ===== フィルター結果 ===== */
.consultation-filtered-results {
	margin-top: 1.5em;
	padding-top: 1em;
	border-top: 1px solid #eee;
}

.consultation-filtered-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1em;
}

.consultation-filtered-title {
	font-size: 1.4rem;
	margin: 0;
	color: #2c3e50;
}

.consultation-filtered-loading {
	text-align: center;
	padding: 2em;
	color: #999;
	font-size: 1.15rem;
}

.consultation-term-filter.is-selected {
	background: #3498db;
	color: #fff;
}

.consultation-term-filter.is-selected .consultation-term-count {
	color: rgba(255,255,255,0.8);
}

/* ===== まいぺーじ ===== */
.consultation-mypage-section-title {
	font-size: 1.4rem;
	margin: 1.5em 0 0.75em;
	padding-bottom: 0.5em;
	border-bottom: 2px solid #3498db;
	color: #2c3e50;
}

.consultation-mypage-section-title:first-child {
	margin-top: 0;
}

.consultation-mypage-loading {
	padding: 2em;
	text-align: center;
	color: #999;
	font-size: 1.15rem;
}

.consultation-mypage-stats {
	margin-bottom: 1.5em;
	padding: 1em 1.25em;
	background: #f0f7ff;
	border-radius: 8px;
	border-left: 4px solid #3498db;
}

.consultation-mypage-stats-row {
	margin: 0.4em 0;
	font-size: 1.2rem;
}

.consultation-mypage-stats-row strong {
	font-size: 1.25rem;
	color: #2980b9;
}

.consultation-mypage-badges {
	margin: 0.75em 0 0;
}

.consultation-mypage-badges .consultation-badge {
	margin-right: 0.5em;
	margin-bottom: 0.35em;
}

.consultation-badge-member { background: #95a5a6; color: #fff; }
.consultation-badge-helper { background: #27ae60; color: #fff; }
.consultation-badge-best { background: #8e44ad; color: #fff; }

.consultation-mypage-notification-settings {
	margin-bottom: 1.5em;
	padding: 1em 0;
	border-bottom: 1px solid #e0e0e0;
}

.consultation-notification-desc {
	color: #666;
	font-size: 1.1rem;
	margin-bottom: 0.75em;
}

.consultation-notification-form .consultation-notification-option {
	display: block;
	margin: 0.5em 0;
	font-size: 1.1rem;
}

.consultation-notification-form .consultation-notification-save {
	margin-top: 0.75em;
}

.consultation-notification-save-msg.is-success { color: #27ae60; }
.consultation-notification-save-msg.is-error { color: #c0392b; }
.consultation-notification-save-msg { margin-left: 0.5em; }

.consultation-mypage-inbox { margin-bottom: 1.5em; }
.consultation-inbox-list { list-style: none; margin: 0; padding: 0; }
.consultation-inbox-list li { margin: 0.4em 0; padding: 0.35em 0; border-bottom: 1px solid #eee; }
.consultation-inbox-list a { text-decoration: none; color: #2980b9; }

.consultation-first-answer-prompt {
	font-size: 1.1rem;
	color: #e67e22;
	margin: 0.35em 0;
	font-weight: 600;
}

.consultation-first-answer-prompt-single {
	font-size: 1.1rem;
	margin: 0.5em 0 1em;
}

.consultation-no-answers-notice {
	background: #fff8e6;
	border: 1px solid #f39c12;
	border-radius: 6px;
	padding: 0.75em 1em;
	margin-bottom: 1em;
	font-weight: 600;
	color: #b7790f;
}

.consultation-status-no-answers.is-active {
	font-weight: 700;
	color: #c0392b;
}

/* ===== 一覧サブページ（カテゴリ・都道府県・校種・職種）===== */
.consultation-index-links {
	display: none;
}

.consultation-list-desc,
.consultation-map-legend {
	color: #666;
	font-size: 1.3rem;
	margin-bottom: 1em;
	line-height: 1.6;
}

.consultation-back-wrap {
	margin-bottom: 1.25em;
}

.consultation-term-list-title,
.consultation-map-title {
	font-size: 1.4rem;
	margin-bottom: 0.75em;
}

.consultation-term-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 0.5em;
}

.consultation-term-link {
	display: block;
	padding: 0.6em 0.85em;
	background: #f5f5f5;
	border-radius: 4px;
	text-decoration: none;
	color: #2c3e50;
	font-size: 1.2rem;
}

.consultation-term-link:hover {
	background: #e8f4fc;
	color: #2980b9;
}

.consultation-term-count {
	color: #7f8c8d;
	font-size: 1.1em;
}

/* ===== ブロック地図（都道府県） ===== */
.consultation-prefecture-map-wrap {
	margin-bottom: 2em;
	padding: 1.5em;
	background: #f9f9f9;
	border-radius: 8px;
}

.consultation-block-map-region-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-bottom: 1em;
}

.consultation-region-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding: 0.4em 0.85em;
	border-radius: 999px;
	font-size: 1.2rem;
	font-weight: 600;
	color: #fff;
	background: var(--chip-color, #90a4ae);
}

.consultation-block-map {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: repeat(14, 1fr);
	gap: 3px;
	max-width: 680px;
	margin: 0 auto;
	aspect-ratio: 12 / 14;
}

.consultation-block-map-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: var(--cell-color, #90a4ae);
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	padding: 4px;
	font-size: clamp(1.05rem, 2.8vw, 1.5rem);
	line-height: 1.3;
	transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
	min-height: 0;
	overflow: hidden;
}

.consultation-block-map-cell.is-hokkaido {
	font-size: clamp(1.35rem, 3.5vw, 1.85rem);
	border-radius: 6px;
}

.consultation-block-map-cell:hover {
	transform: scale(1.15);
	box-shadow: 0 3px 10px rgba(0,0,0,0.25);
	z-index: 2;
	filter: brightness(1.1);
	color: #fff;
}

.consultation-block-map-name {
	font-weight: 700;
	white-space: nowrap;
	font-size: 1em;
}

.consultation-block-map-count {
	font-size: 1em;
	opacity: 0.95;
	font-weight: 600;
}

/* ===== 単一質問ページ（残存用） ===== */
.consultation-question-body {
	margin: 1em 0;
	line-height: 1.7;
}

.consultation-question-footer {
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px solid #eee;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1em;
}

.consultation-back-link {
	margin-right: 1em;
}

.consultation-answers-section {
	margin-top: 2em;
	padding-top: 1.5em;
	border-top: 1px solid #ddd;
}

.consultation-answer-form-section {
	margin-top: 2em;
	padding: 1.5em;
	background: #f9f9f9;
	border-radius: 8px;
}

.consultation-answer-form-title {
	margin-top: 0;
	margin-bottom: 1em;
	font-size: 1.4rem;
}

.consultation-answer-form-blur {
	margin-top: 1.5em;
	padding: 1em;
	text-align: center;
	color: #666;
}

.comment-form-answer-author label,
.comment-form-comment label {
	font-size: 1.1rem;
	font-weight: 600;
}

/* ===== レスポンシブ ===== */
@media (max-width: 767px) {
	.consultation-filters-row {
		flex-direction: column;
		align-items: stretch;
	}
	.consultation-filter-select,
	.consultation-search-input {
		min-width: 100%;
	}
	.consultation-form-row {
		flex-direction: column;
		gap: 0;
	}
	.consultation-form-field-half {
		margin-bottom: 1.25em;
	}
	.consultation-question-form {
		padding: 1.25em;
	}
	.consultation-block-map {
		gap: 2px;
	}
	.consultation-block-map-cell {
		font-size: clamp(0.95rem, 3.5vw, 1.2rem);
		border-radius: 3px;
	}
	.consultation-block-map-cell.is-hokkaido {
		font-size: clamp(1.1rem, 4vw, 1.4rem);
	}
	.consultation-tab-nav {
		gap: 0;
	}
	.consultation-tab-btn {
		padding: 0.6em 0.85em;
		font-size: 1.2rem;
	}
	.consultation-question-meta {
		font-size: 1.15rem;
	}
}
