@charset "UTF-8";
.news_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 56px 40px;
	padding: 0;
	margin: 40px 0 0;
}
.news_item{
	margin: 0;
	list-style: none;
}
.news_link{
	color: #000 !important;
	padding: 0 !important;
	background: none !important;
	text-decoration: none;
	transition: color 0.3s;
}
.news_thumb{
	position: relative;
	margin-bottom: 17px;
}
.news_thumb::before{
	content: '';
	position: absolute;
	inset: 0;
	border: 2px solid #961E23;
	opacity: 0;
	transition: opacity 0.3s;
}
.news_link:hover .news_thumb::before{opacity: 1;}
.news_thumb img{
	display: block;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	border: 1px solid #DADADA;
}
.news_date{
	display: inline-block;
	font-size: 1.4rem;
	line-height: 2.1rem;
	letter-spacing: 1.12px;
	margin-bottom: 6px;
}
.news_ttl{
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 2.4rem;
	letter-spacing: 1.28px;
	margin: 0;
	transition: color 0.3s;
}
.news_link:hover .news_ttl{color: #961E23;}
.news_ttl span{
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s;
}
.news_link:hover .news_ttl span{border-color: #961E23;}
.news_ttl::after{
	content: '';
	display: inline-block;
	width: 6px;
	height: 13px;
	margin-left: 8px;
	background: url(/img/common/arrow_r_red.svg) no-repeat right center;
}
.news_link[target="_blank"] .news_ttl::after{
	width: 12px;
	height: 12px;
	margin-left: 8px;
	background-image: url(/img/common/icon_popup.svg);
}
.news_link[href$=".pdf"] .news_ttl::after{
	width: 14px;
	height: 14px;
	margin-left: 8px;
	background-image: url(/img/common/icon_pdf.svg);
}

/*----- ニュース詳細 -----*/
.single .page_top{
	height: 240px;
	background: #F6F3F3;
}
.single .page_title{
	max-width: 900px;
	color: #000;
	padding: 0;
	text-shadow: none;
}
.single .page_title::before{display: none;}
.single .content_area{max-width: 960px;}
.single .news_date{margin: 0 0 20px;}
.news_btn{margin: 90px auto 0;}

@media screen and (max-width: 1024px){
.news_list{gap: 40px 20px;}
.news_thumb{margin-bottom: 8px;}
.news_date{
	font-size: 1.2rem;
	line-height: 1.8rem;
	letter-spacing: 0.96px;
}
.news_ttl{
	font-size: 1.4rem;
	line-height: 2.1rem;
	letter-spacing: 1.12px;
}
.single .page_top{height: 200px;}
.single .page_title{
	font-size: 2.4rem;
	line-height: 3.6rem;
	letter-spacing: 1.92px;
}
.single .news_date{
	font-size: 1.4rem;
	line-height: 2.1rem;
	letter-spacing: 1.12px;
	margin: 0 0 15px;
}
}

@media screen and (max-width: 767px){
.news_list{
	grid-template-columns: repeat(2, 1fr);
	gap: 28px 11px;
}
.single .page_top{height: 160px;}
}