@charset "UTF-8";

/* ------------------------------------------------------------
  PCスタイル
 ------------------------------------------------------------ */
@media screen and (min-width: 768px) {
	.newsTtl_fig {
		width: 222px;
		height: 245px;
		position: absolute;
		left: -260px;
		bottom: -103px;
	}

	.news_list {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 740px;
		margin-top: 140px;
	}
	.newsList_ttl {
		width: calc( 2.5rem * 5.5 );
	}
	.newsList_ttl:after {
		content: "";
		display: block;
		width: calc( 2.5rem * 6 );
		height: 2.5rem;
		background: url('../img/common/fig_ttl_under.svg') no-repeat left bottom / contain;
		position: absolute;
		left: -0.625rem;
		bottom: -0.375rem;
	}
	.news_posts {
		display: flex;
		flex-direction: column;
		align-items: center;
		flex-wrap: wrap;
		width: 100%;
		margin-top: 30px;
	}
	li.news_item {
		width: 100%;
		border-bottom: 1px solid #000;
	}
	.news_item a {
		display: grid;
		grid-template-columns: max-content 5rem 1fr max-content;
		align-items: start; /* 上端で揃える */
		gap: 0 1rem;
		padding: 30px 0;
		text-decoration: none;
		color: inherit;
	}
	li.news_item a:hover .news_link {
		filter: brightness(var(--bright));
		transition: var(--hover-speed);
	}
	time.post_date {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 0.3rem 0;
		line-height: 1;
	}
	.post_date,
	.news_desc {
		margin: 0;
		font-size: 1rem;
		line-height: 1.6;
	}
	.post_cat {
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		height: 26px; 
		border: 1px solid #1AAD6B;
		background: #fff;
		font-size: 1rem;
		color: #1AAD6B;
	}
	.news_link {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 36px;
		padding: 0 1rem;
		margin-top: -4px;
		border-radius: 50px;
		background: #1AAD6B;
		font-size: 14px;
		font-weight: 500;
		line-height: 2.25rem;
		white-space: nowrap;
		color: #ffffff;
	}
	span.news_link:after {
		content: "";
		display: inline-block;
		width: 0.75rem;
		height: 0.75rem;
		margin-left: 0.3rem;
		background: url('../img/common/arrow_news_detail.svg') no-repeat center center / contain;
	}
	.pageNation_wrap {
		margin-top: 50px;
	}
	/* 親要素のulを横並びにする */
	ul.page-numbers {
		display: flex;
		align-items: center;
		justify-content: center;
		list-style: none;
		padding: 0;
		margin: 40px 0;
	}

	/* liの間隔（静的時のスタイルを適用） */
	ul.page-numbers li:not(:last-child) {
		margin-right: 1.25rem; /* 20px */
	}

	/* 数字とリンクのスタイル */
	ul.page-numbers .page-numbers {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 30px;
		height: 30px;
		border: 1px solid #000;
		border-radius: 15px;
		background: #fefcf3;
		font-size: 14px;
		font-weight: 500;
		text-decoration: none;
		color: #000;
		transition: 0.3s; /* var(--hover-speed)の代わり */
	}

	/* 現在のページ (span) と ホバー時 */
	ul.page-numbers .current,
	ul.page-numbers a.page-numbers:hover {
		background: #000;
		color: #fff;
	}

	/* 「...」の部分は枠を消して背景も透明に */
	ul.page-numbers .dots {
		border: none;
		background: transparent;
	}

	/* 「＞」を消す（不要な場合） */
	ul.page-numbers .next {
		display: none;
	}
}


/* ------------------------------------------------------------
  SPスタイル
 ------------------------------------------------------------ */
@media screen and (max-width: 767px) {

	/* ページヘッダー・イラスト */
	.newsTtl_fig {
		width: 181px;
		height: 200px;
		position: absolute;
		right: 0;
		bottom: -150px;
		left: 0;
		margin: 0 auto;
	}

	/* ニュースリスト */
	.news_list {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding-top: 50px;
	}
	.newsList_ttl {
		padding: 0 24px;
		font-size: 2.375rem; /* 38px */
		font-weight: 500;
		line-height: 1;
		text-align: left;
		position: relative;
	}
	.newsList_ttl:after {
		content: "";
		display: block;
		width: calc( 2.375rem * 5.5 );
		height: 3rem;
		background: url('../img/news/fig_ttlunder_6char.svg') no-repeat left bottom / contain;
		position: absolute;
		left: 14px;
		bottom: -14px;
	}
	ul.news_posts {
		width: 100%;
		padding: 0 24px;
		margin: 45px 0 0;
	}
	li.news_item {
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid #000;
	}
	li.news_item:last-child {
		margin-bottom: 0;
	}
	li.news_item a {
		font-size: 0.9375rem; /* 15px */
		color: #000;
		text-decoration: none;
	}
	time.post_date,
	span.post_cat,
	span.news_desc {
		display: inline-block;
		margin-bottom: 10px;
	}
	span.post_cat {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: calc( 0.9375rem * 4);
		border: 1px solid #1AAD6B;
		background: #fff;
		color: #1AAD6B;
	}
	span.news_desc {
		display: block;
	}
	span.news_link {
		display: flex;
		width: calc( 0.9375rem * 8);
		justify-content: center;
		align-items: center;
		background: #1AAD6B;
		font-weight: 500;
		color: #fff;
	}
	span.news_link:after {
		content: "";
		display: block;
		width: 7px;
		height: 12px;
		margin-left: 8px;
		background: url('../img/index/fig_arrow_w.svg') no-repeat center center / contain;
	}
	.news_detail {
		margin-top: 45px;
	}

	/* ページネーション */
	.pageNation_wrap {
		margin: 50px 0 90px;
	}
	/* 外側の余白 */
	.pageNation_wrap {
		margin: 50px 0 90px;
	}

	/* WPが吐き出す <ul> タグ */
	.pageNation_wrap .page-numbers {
		display: flex;
		align-items: center;
		justify-content: center; /* 中央寄せにする場合 */
		margin: 0;
		padding: 0;
		list-style: none;
	}

	/* 各 <li> */
	.pageNation_wrap .page-numbers li {
		margin: 0 10px; /* 数字同士の間隔 */
	}

	/* 数字（リンク）と現在地（span）の共通スタイル */
	.pageNation_wrap .page-numbers li a,
	.pageNation_wrap .page-numbers li span {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 30px;
		height: 30px;
		border: 1px solid #000;
		border-radius: 50%;
		background: #fefcf3;
		font-weight: 500;
		text-decoration: none;
		color: #000;
		transition: 0.3s; /* ここに transition を設定 */
	}

	/* ホバー時のスタイル */
	.pageNation_wrap .page-numbers li a:hover {
		background: #000;
		color: #fff;
	}

	/* 【重要】現在表示しているページのスタイル（黒丸） */
	.pageNation_wrap .page-numbers li span.current {
		background: #000;
		color: #fff;
		border-color: #000;
	}

	/* 三点リーダー（…）の枠線を消す */
	.pageNation_wrap .page-numbers li span.dots {
		border: none;
		background: none;
	}

}

