/* news-detail.html / news.html / index.html */

/* ===== news-detail ===== */

.pNav {
	margin: 10px 0 15px;
	font-size: 12px;
}
.pNav a {
	color: #333;
	text-decoration: none;
}
.pNav a:hover {
	text-decoration: underline;
}

#up_ymd {
	margin-bottom: 10px;
	font-size: 12px;
	color: #666;
}

/* detail header */
.detail-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}
.detail-date {
	font-size: 12px;
	color: #666;
}
.detail-title {
	font-size: 18px;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
	margin: 0 0 15px;
	line-height: 1.4;
}

/* 2カラムレイアウト: 写真あり=左テキスト+右写真、写真なし=テキスト全幅 */
#detail {
	display: flex;
	gap: 20px;
	margin-top: 15px;
}

.detail-text {
	flex: 1;
	line-height: 1.7;
	min-width: 0;
}

.detail-photos {
	width: 230px;
	flex-shrink: 0;
}

.detailUpfile {
	margin-bottom: 12px;
}

.detailUpfile img {
	width: 100%;
	height: auto;
	display: block;
}

.backORcloseBtn {
	margin-top: 20px;
	padding-top: 10px;
	border-top: 1px solid #ccc;
}

.backORcloseBtn a {
	color: #333;
	text-decoration: none;
}
.backORcloseBtn a:hover {
	text-decoration: underline;
}

/* ===== Category filter (news.html) ===== */

.cat-filter {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 15px 0 18px;
	flex-wrap: wrap;
}
.cat-filter-label {
	font-weight: bold;
	font-size: 13px;
	letter-spacing: 0.05em;
	color: #333;
	margin-right: 4px;
}
.cat-btn {
	display: inline-block;
	padding: 5px 18px;
	border: 2px solid #4a8a3e;
	border-radius: 20px;
	background: #fff;
	color: #4a8a3e;
	cursor: pointer;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.4;
	text-decoration: none;
}
.cat-btn:link,
.cat-btn:visited {
	color: #4a8a3e;
}
.cat-btn.active,
.cat-btn:hover {
	background: #4a8a3e;
	color: #fff;
}
.cat-btn.active:visited {
	color: #fff;
}

/* ===== Card grid ===== */

#newsGrid {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	font-family: Arial, Helvetica, sans-serif;
}
.news-card {
	width: calc((100% - 15px) / 2);
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.card-thumb {
	width: 100%;
	height: 148px;
	overflow: hidden;
	background: #eee;
}
.card-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}
.card-body {
	padding: 12px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.card-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}
.cat-badge,
#newsGrid .cat-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 12px;
	background: #4a8a3e;
	color: #fff;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 0.05em;
	white-space: nowrap;
	margin-bottom: 0;
}
.card-date {
	font-size: 11px;
	color: #888;
	white-space: nowrap;
}
.card-title {
	font-size: 15px;
	font-weight: bold;
	margin: 0 0 8px;
	line-height: 1.4;
}
#newsGrid .card-title a:link,
#newsGrid .card-title a:visited {
	color: #222;
	text-decoration: underline;
}
#newsGrid .card-title a:hover {
	color: #222;
	text-decoration: underline;
}
.card-excerpt {
	font-size: 12px;
	color: #555;
	line-height: 1.5;
	flex: 1;
	margin: 0 0 10px;
}
.card-readmore {
	display: block;
	text-align: right;
	color: #1a6bbf;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
}
.card-readmore:hover {
	text-decoration: underline;
}

/* ===== Pager ===== */

.pager {
	text-align: center;
	margin: 20px 0 10px;
}
.pager a {
	display: inline-block;
	margin: 0 3px;
	padding: 4px 10px;
	border: 1px solid #ccc;
	color: #333;
	text-decoration: none;
	font-size: 12px;
	border-radius: 3px;
}
.pager a:hover,
.pager a.current {
	background: #4a8a3e;
	color: #fff;
	border-color: #4a8a3e;
}
.pager .overPagerPattern {
	display: inline-block;
	margin: 0 3px;
	font-size: 12px;
	color: #999;
}

/* ===== "View all" link (index.html) ===== */

.news-viewall {
	text-align: right;
	margin-top: 15px;
}
.news-viewall a {
	color: #1a6bbf;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
}
.news-viewall a:hover {
	text-decoration: underline;
}

/* ===== スマホ ===== */

@media screen and (max-width: 767px) {
	/* news-detail */
	#detail {
		flex-direction: column;
	}
	.detail-photos {
		width: 100%;
	}
	/* cards */
	.news-card {
		width: 100%;
	}
}
