/* news.css - ニュースエリア専用 */

/* 共通スタイル */
/* お知らせエリアのスタイル */
.news-section {
	width: 100%;
	padding: 80px 20px;
	background-color: #f9f9f9;
}

.news-section .news-container {
	max-width: 1683px;
	margin: 0 auto;
	padding: 0 20px;
}

.news-section h2 {
	text-align: left;
	font-size: 14px;
	font-weight: bold;
	color: #af9448;
	margin-bottom: 20px;
	/* テキストの前に見出しのドットを追加 */
	position: relative;
	padding-left: 20px;
	/* ドットの色は#af9448 */
	&::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 10px;
		height: 10px;
		background: #af9448;
		border-radius: 50%;
	}
}
/* 見出しと「新着記事一覧を見る」を横並びに */
.news-header {
	display: flex;
	justify-content: space-between; /* 左右に振り分け */
	align-items: center; /* 垂直方向を中央揃え */
	margin-bottom: 20px; /* 見出しの下に少し余白を追加 */
}

/* もともとの .news-more に設定していた margin-top: 20px; は不要になるため削除 */
.news-more {
	display: flex;
	align-items: center;
}

.news-more a {
	color: #000;
	font-family: 'Noto Sans JP';
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	text-decoration: none;
}
.news-more a:hover {
	color: #af9448;
}
/* アイコンとテキストの間に隙間が欲しい場合 */
.news-more svg {
	margin-right: 8px;
}
.news-section p {
	font-size: 18px;
	color: #000;
	font-family: 'Noto Sans JP';
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 36px; /* 150% */
}

.news-item {
	border-top: 1px solid #e0e0e0;
	/* 必要に応じて下部の余白やパディングを追加 */
	width: 100%;
	/* 上下に余白を確保 */
	/* padding: 10px 0; */
}
/* 最後のnews-itemにだけborder-bottomを追加する */
.news-item:last-child {
	border-bottom: 1px solid #e0e0e0;
}

/* 最終行だけ border-bottom を追加（PHPの修正を適用） */
.news-list .last-news-item {
	border-bottom: 1px solid #ddd;
}
/* PC版 (min-width: 769px) */
@media (min-width: 769px) {
	.news-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.news-item a {
		display: flex;
		flex-direction: row;
		align-items: center;
		position: relative; /* 矢印配置のため */
		padding: 33px 20px;
		text-decoration: none;
		/* color: inherit; */
		font-family: 'Noto Sans JP';
		font-size: 12px;
		color: gray;
	}
	/* ホバーした時 */
	.news-item a:hover {
		background-color: #f2f2f2;
		/* background-color: #dddddd; */
		/* ゆっくりと色変化 */
		transition: background-color 0.3s;
	}
	/* 日付とカテゴリは固定幅、タイトルは残りの幅 */
	.news-date,
	.news-category {
		display: inline-block;
		width: 150px;
		text-align: left;
	}
	.news-category {
		border-radius: 20px;
		border: 1px solid #828282;
		padding: 2px 5px;
		text-align: center;
	}
	.news-meta {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	.news-title {
		flex: 1;
		margin: 0 10px;
		white-space: normal; /* 必要に応じて折り返し */
	}
	/* 矢印アイコンは右端から50pxの位置に配置 */
	.news-arrow {
		position: absolute;
		right: 50px;
		display: flex;
		align-items: center;
	}
}

/* スマホ版 (max-width: 768px) */
@media (max-width: 768px) {
	.news-section {
		padding: 10px 20px;
	}
	.news-header {
		flex-direction: column; /* 縦並びに */
		align-items: flex-start; /* 左寄せ */
	}
	.news-list {
		flex-direction: column; /* 縦並びに */
		align-items: center; /* 中央揃え */
		/* 幅固定 */
		width: 100%;
		/* 高さ固定 */
		height: 100%;
		white-space: normal; /* 必要に応じて折り返し */
		font-family: 'Noto Sans JP';
		font-size: small;
	}
	.news-more {
		margin-top: 20px; /* 上の余白を追加 */
	}
	.news-item a {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding: 10px 10px;
		position: static;
		text-decoration: none;
		color: inherit;
	}
	/* 日付とカテゴリを同じ行に */
	.news-meta {
		display: flex;
		flex-direction: row;
		align-items: center;
		margin-bottom: 5px;
	}
	.news-date,
	.news-category {
		display: inline-block;
		margin-right: 10px;
	}
	.news-title {
		margin-top: 5px;
		width: 100%;
		white-space: normal; /* allow text to wrap normally */
		word-break: break-word; /* break long words if necessary */
		overflow-wrap: break-word; /* older name for the same property */
	}
	/* 矢印は非表示 */
	.news-arrow {
		display: none;
	}
}
