@charset "UTF-8";

/* ========================================
   保育お知らせ一覧ページ
   カラーパレット:
   - Primary: #e8734a (coral)
   - Hover: #fef0eb
   - Dark: #d4623c
   - Accent: #f49a3e (orange)
======================================== */

/* --- ヘッダー上書き --- */
.childcare-header-wrap .header-logo {
	height: 35px;
	width: auto;
}

.childcare-header-wrap #main-menu {
	margin-left: auto;
	margin-right: 0;
}

.childcare-header-wrap #main-menu .menu ul li a {
	color: #e8734a;
	padding: 0 20px;
}

.childcare-header-wrap #main-menu .menu ul li a:hover {
	background-color: #f49a3e;
	color: #fff;
}

.childcare-header-wrap #main-menu .menu ul li.facilities-btn a {
	background-color: #fff;
	color: #e8734a;
}

.childcare-header-wrap #main-menu .menu ul li.facilities-btn a:hover {
	background-color: #f49a3e;
	color: #fff;
}

.childcare-header-wrap #main-menu .menu ul li.contact-btn a {
	background-color: #fff;
	color: #e8734a;
}

.childcare-header-wrap #main-menu .menu ul li.contact-btn a:hover {
	background-color: #f49a3e;
	color: #fff;
}

/* --- パンくずリスト上書き --- */
.childcare-breadcrumb {
	color: #d4623c;
}

.childcare-breadcrumb a {
	color: #d4623c;
}

.childcare-breadcrumb a:hover {
	opacity: 0.7;
}

/* --- SP ドロワーメニュー --- */
#menu-sp-childcare li a {
	display: block;
	padding: 15px 20px;
	font-size: 16px;
	font-weight: bold;
	color: #e8734a;
	border-bottom: 1px solid #f0f0f0;
}

#menu-sp-childcare li a:hover {
	background-color: #fef0eb;
}

/* --- ページ全体 --- */
#childcare-page {
	overflow-x: hidden;
}

/* ========================================
   共通セクション見出し（childcare.css と共通）
======================================== */
.childcare-section-heading {
	font-size: 1.8rem;
	font-weight: 700;
	color: #333;
	margin: 0;
	text-align: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

.childcare-section-dashes {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin: 15px auto 40px;
	max-width: fit-content;
}

.childcare-section-dashes span {
	display: inline-block;
	flex: 1;
	min-width: 20px;
	height: 6px;
	border-radius: 3px;
}

.childcare-section-dashes span:nth-child(odd) { background-color: #e8734a; }
.childcare-section-dashes span:nth-child(even) { background-color: #f49a3e; }

/* ========================================
   お知らせ一覧セクション
======================================== */
.childcare-news-list {
	padding: 60px 0 80px;
}

/* --- 施設フィルター --- */
.childcare-news-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-bottom: 40px;
}

.childcare-news-filter-btn {
	display: inline-block;
	padding: 10px 24px;
	border: 2px solid #f49a3e;
	border-radius: 50px;
	font-size: 1.0rem;
	font-weight: 700;
	color: #f49a3e;
	text-decoration: none;
	transition: background-color 0.3s, color 0.3s;
}

.childcare-news-filter-btn:hover {
	background-color: #fef0eb;
}

.childcare-news-filter-btn.is-active {
	background-color: #f49a3e;
	color: #fff;
}

/* --- お知らせアイテム（childcare.css と共通デザイン） --- */
.childcare-news-item {
	display: flex;
	align-items: center;
	background-color: #fef0eb;
	padding: 22px 30px;
	margin-bottom: 30px;
	border-radius: 10px;
	text-decoration: none;
	color: #333;
	transition: opacity 0.3s;
}

.childcare-news-item:hover {
	opacity: 0.8;
}

.childcare-news-date {
	font-size: 1.0rem;
	font-weight: 700;
	color: #e8734a;
	flex-shrink: 0;
	min-width: 90px;
}

.childcare-news-facility {
	display: inline-block;
	background-color: #ff9331;
	color: #fff;
	font-size: 1.0rem;
	font-weight: 700;
	padding: 5px 18px;
	border-radius: 10px;
	flex-shrink: 0;
	margin: 0 25px 0 10px;
	white-space: nowrap;
}

.childcare-news-text {
	flex: 1;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.6;
	color: #333;
}

.childcare-news-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background-color: #f49a3e;
	color: #fff;
	border-radius: 50%;
	flex-shrink: 0;
	margin-left: 20px;
	font-size: 1.0rem;
}

/* ========================================
   お知らせ一覧カード型レイアウト
======================================== */
.childcare-news-card {
	display: flex;
	align-items: center;
	gap: 20px;
	background-color: #fef0eb;
	padding: 25px 30px;
	margin-bottom: 20px;
	border-radius: 10px;
	text-decoration: none;
	color: #333;
	transition: opacity 0.3s;
}

.childcare-news-card:hover {
	opacity: 0.8;
}

/* テキストコンテンツ部分 */
.childcare-news-card-body {
	flex: 1;
	min-width: 0;
}

/* 矢印ボタン */
.childcare-news-card-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background-color: #f49a3e;
	color: #fff;
	border-radius: 50%;
	flex-shrink: 0;
	font-size: 1.0rem;
}

/* メタ行（日付 + 施設タグ） */
.childcare-news-card-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.childcare-news-card-date {
	font-size: 0.95rem;
	font-weight: 700;
	color: #e8734a;
}

.childcare-news-card-facility {
	display: inline-block;
	background-color: #ff9331;
	color: #fff;
	font-size: 0.85rem;
	font-weight: 700;
	padding: 3px 14px;
	border-radius: 10px;
	white-space: nowrap;
}

/* タイトル */
.childcare-news-card-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #333;
	line-height: 1.6;
	margin: 0 0 8px;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

/* 本文抜粋（2行打ち切り） */
.childcare-news-card-excerpt {
	font-size: 0.9rem;
	font-weight: 400;
	color: #666;
	line-height: 1.7;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* --- 空メッセージ --- */
.childcare-news-empty {
	text-align: center;
	font-size: 1rem;
	color: #999;
	padding: 60px 0;
}

/* --- ページネーション --- */
.childcare-news-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 50px;
}

.childcare-news-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	font-size: 1.0rem;
	font-weight: 700;
	color: #e8734a;
	text-decoration: none;
	border: 2px solid #e8734a;
	transition: background-color 0.3s, color 0.3s;
}

.childcare-news-pagination .page-numbers:hover {
	background-color: #fef0eb;
}

.childcare-news-pagination .page-numbers.current {
	background-color: #e8734a;
	color: #fff;
}

.childcare-news-pagination .page-numbers.dots {
	border: none;
	width: auto;
	height: auto;
}

.childcare-news-pagination .page-numbers.prev,
.childcare-news-pagination .page-numbers.next {
	font-size: 1.0rem;
}

/* ========================================
   フッター（childcare.css と共通）
======================================== */
.childcare-footer {
	background-color: #ff8376;
	color: #fff;
	padding-bottom: 0;
}

.childcare-footer-nav-top { padding: 30px 0; }
.childcare-footer-nav-top ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 30px; }
.childcare-footer-nav-top ul li a { color: #fff; font-size: 0.9rem; font-weight: 500; text-decoration: none; }
.childcare-footer-nav-top ul li a::before { content: "◦ "; }
.childcare-footer-nav-top ul li a:hover { opacity: 0.7; }

.childcare-footer-divider { border: none; border-top: 2px solid rgba(255, 255, 255, 1); margin: 0; }

.childcare-footer-main { display: flex; gap: 50px; padding: 40px 0 50px; }
.childcare-footer-page-links { flex-shrink: 0; }
.childcare-footer-page-links ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.childcare-footer-page-links ul li a { color: #fff; font-size: 0.9rem; font-weight: 500; text-decoration: none; }
.childcare-footer-page-links ul li a::before { content: "◦ "; }
.childcare-footer-page-links ul li a:hover { opacity: 0.7; }

.childcare-footer-facilities { flex: 1; }
.childcare-footer-facilities-title { font-size: 0.9rem; font-weight: 700; margin: 0 0 15px; }
.childcare-footer-facilities-title::before { content: "◦ "; }
.childcare-footer-facilities-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px 30px; }
.childcare-footer-district-name { font-size: 0.9rem; font-weight: 700; margin: 0 0 6px; }
.childcare-footer-district-name::before { content: "• "; }
.childcare-footer-district ul { list-style: none; padding: 0; margin: 0; }
.childcare-footer-district ul li { margin-bottom: 3px; }
.childcare-footer-district ul li a { color: #fff; font-size: 0.9rem; font-weight: 400; text-decoration: none; line-height: 1.6; }
.childcare-footer-district ul li a::before { content: "◦ "; }
.childcare-footer-district ul li a:hover { opacity: 0.7; }

.childcare-footer-bottom { background-color: transparent; padding: 30px 0; text-align: center; }
.childcare-footer-bottom .container::before { content: ""; display: block; border-top: 2px solid rgba(255, 255, 255, 1); margin-bottom: 30px; }
.childcare-footer-bottom-inner { display: inline-flex; align-items: center; gap: 40px; }
.childcare-footer-logo-area { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.childcare-footer-logo { width: 180px; height: auto; margin-bottom: 8px; }
.childcare-footer-info { flex: 1; }
.childcare-footer-info p { margin: 0; font-size: 0.9rem; line-height: 1.8; color: #fff; }
.childcare-footer-info a { color: #fff; }

.childcare-footer-copyright { background-color: #f98f80; padding: 15px 0; }
.childcare-footer-copyright p { margin: 0; font-size: 0.8rem; color: #fff; text-align: center; font-weight: 700; }

/* ========================================
   お知らせ詳細ページ
======================================== */
.childcare-news-detail {
	padding: 60px 0 80px;
}

.childcare-news-detail-heading {
	font-size: 1.8rem;
	font-weight: 700;
	color: #333;
	margin: 0;
	text-align: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

/* --- 記事メタ情報（日付・施設名） --- */
.childcare-news-detail-meta {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 15px;
}

.childcare-news-detail-date {
	font-size: 1.0rem;
	font-weight: 700;
	color: #e8734a;
}

.childcare-news-detail-facility {
	display: inline-block;
	background-color: #ff9331;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	padding: 4px 16px;
	border-radius: 10px;
	white-space: nowrap;
}

/* --- 記事タイトル --- */
.childcare-news-detail-title {
	font-size: 1.4rem;
	font-weight: 700;
	color: #333;
	line-height: 1.7;
	margin: 0 0 30px;
	padding-bottom: 20px;
	border-bottom: 2px solid #f49a3e;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

/* --- 記事本文 --- */
.childcare-news-detail-body {
	font-size: 1.0rem;
	line-height: 1.9;
	color: #333;
	margin-bottom: 60px;
}

.childcare-news-detail-body p {
	margin: 0 0 1.5em;
}

.childcare-news-detail-body img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 20px 0;
}

.childcare-news-detail-body h2 {
	font-size: 1.3rem;
	font-weight: 700;
	color: #e8734a;
	margin: 2em 0 0.8em;
	padding-left: 12px;
	border-left: 4px solid #e8734a;
}

.childcare-news-detail-body h3 {
	font-size: 1.15rem;
	font-weight: 700;
	color: #333;
	margin: 1.5em 0 0.6em;
}

.childcare-news-detail-body ul,
.childcare-news-detail-body ol {
	padding-left: 1.5em;
	margin: 0 0 1.5em;
}

.childcare-news-detail-body li {
	margin-bottom: 0.4em;
}

.childcare-news-detail-body a {
	color: #e8734a;
	text-decoration: underline;
}

.childcare-news-detail-body a:hover {
	opacity: 0.7;
}

/* --- 一覧へ戻るボタン --- */
.childcare-news-detail-back {
	text-align: center;
}

.childcare-news-detail-back-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 40px;
	border: 2px solid #e8734a;
	border-radius: 50px;
	font-size: 1.0rem;
	font-weight: 700;
	color: #e8734a;
	text-decoration: none;
	transition: background-color 0.3s, color 0.3s;
}

.childcare-news-detail-back-btn:hover {
	background-color: #e8734a;
	color: #fff;
}

/* ========================================
   レスポンシブ - タブレット
======================================== */
@media screen and (max-width: 1023px) {
	.childcare-news-item {
		padding: 18px 25px;
	}

	.childcare-news-filter-btn {
		padding: 8px 20px;
		font-size: 1.0rem;
	}

	.childcare-footer-facilities-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.childcare-footer-bottom-inner {
		flex-direction: column;
		text-align: center;
	}

	/* 詳細ページ */
	.childcare-news-detail-title {
		font-size: 1.25rem;
	}
}

/* ========================================
   レスポンシブ - スマホ
======================================== */
@media screen and (max-width: 767px) {
	.childcare-header-wrap .header-logo {
		height: 28px;
	}

	.childcare-section-heading {
		font-size: 1.4rem;
	}

	.childcare-news-list {
		padding: 40px 0 60px;
	}

	.childcare-news-filter {
		gap: 8px;
		margin-bottom: 30px;
	}

	.childcare-news-filter-btn {
		padding: 8px 16px;
		font-size: 1.0rem;
	}

	.childcare-news-item {
		flex-wrap: wrap;
		border-radius: 16px;
		padding: 15px 20px;
		gap: 8px;
	}

	.childcare-news-date {
		min-width: auto;
	}

	.childcare-news-facility {
		margin-right: 0;
	}

	.childcare-news-text {
		flex-basis: 100%;
		font-size: 1.0rem;
	}

	.childcare-news-arrow {
		margin-left: auto;
		width: 35px;
		height: 35px;
	}

	/* カード型 */
	.childcare-news-card {
		padding: 18px 20px;
		margin-bottom: 15px;
	}

	.childcare-news-card-meta {
		gap: 8px;
		margin-bottom: 8px;
	}

	.childcare-news-card-title {
		font-size: 1.0rem;
	}

	.childcare-news-card-excerpt {
		font-size: 0.85rem;
	}

	.childcare-news-card-arrow {
		width: 35px;
		height: 35px;
	}

	.childcare-news-pagination .page-numbers {
		width: 36px;
		height: 36px;
		font-size: 1.0rem;
	}

	.childcare-footer-nav-top ul {
		flex-wrap: wrap;
		gap: 15px;
	}

	.childcare-footer-main {
		flex-direction: column;
		gap: 30px;
	}

	.childcare-footer-page-links ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 10px 20px;
	}

	.childcare-footer-facilities-grid {
		grid-template-columns: 1fr 1fr;
		gap: 15px 20px;
	}

	.childcare-footer-bottom-inner {
		flex-direction: column;
		text-align: center;
	}

	/* 詳細ページ */
	.childcare-news-detail {
		padding: 40px 0 60px;
	}

	.childcare-news-detail-heading {
		font-size: 1.4rem;
	}

	.childcare-news-detail-meta {
		flex-wrap: wrap;
		gap: 8px;
	}

	.childcare-news-detail-title {
		font-size: 1.15rem;
	}

	.childcare-news-detail-body {
		margin-bottom: 40px;
	}

	.childcare-news-detail-back-btn {
		padding: 12px 30px;
		font-size: 0.95rem;
	}
}
