@charset "UTF-8";

/* newsList */

.newsList{
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	padding-bottom: 100px;
}
.newsList ul li:not(:last-of-type){
	border-bottom: dashed 1px var(--deep);
}
.newsList ul li,
.newsList ul li a{
	display: flex;
	align-items: center;
}
.newsList ul li a{
	text-decoration: none;
	color: #242323;
	position: relative;
	width: 100%;
}
.newsList ul li a:hover p{
	color: var(--deep);
}
.newsList h4,
.newsList p{
	display: inline-block;
}
.newsList h4{
	font-family: var(--futura);
	font-weight: 600;
	font-style: normal;
	background: var(--pale);
	color: var(--deepgreen);
	font-size: 2rem;
	line-height: 1.45rem;
	padding: 10px 30px 15px;
	border-radius: 50px;
	margin: 7px 0;
}
.newsList h4 span{
	font-weight: 500;
	display: block;
	font-size: 0.5em;
}
.newsList ul li p{
	transition: 0.8s;
	font-size: 1rem;
	line-height: 1.5rem;
	font-weight: 400;
	padding: 0 40px 0 30px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	max-width: 100%;
}
.newsList li a p:before,
.newsList li a p:after{
	content: "";
	width: 10px;
	height: 2px;
	display: inline-block;
	border-radius: 2px;
	background: var(--deep);
	position: absolute;
	right: 20px;
}
.newsList li a  p:before{
	top: calc( 50% - 4px );
	transform: rotate(45deg);
}
.newsList li a p:after{
	bottom: calc( 50% - 4px );
	transform: rotate(-45deg);
}
@media screen and (max-width: 600px){
	.newsList{
		padding-bottom: 60px;
	}
	.newsList h4{
		font-size: 1.5rem;
		line-height: 1.1rem;
		padding: 9px 18px 14px;
		margin: 7px 0;
	}
	.newsList ul li p{
		font-size: 0.875rem;
		line-height: 1.3rem;
		padding: 0 25px 0 15px;
	}
	.newsList li a p:before,
	.newsList li a p:after{
		right: 5px;
	}
}
@media screen and (max-width: 400px){
	.newsList{
		padding-bottom: 40px;
	}
	.newsList h4{
		font-size: 1.3rem;
		line-height: 1.05rem;
		padding: 13px 16px 17px;
		margin: 5px 0;
	}
	.newsList ul li p{
		font-size: 0.85rem;
		padding: 0 22px 0 12px;
	}
	.newsList li a p:before,
	.newsList li a p:after{
		right: 3px;
	}
}
@media screen and (max-width: 350px){
	.newsList h4{
		font-size: 1.275rem;
		padding: 13px 16px 17px;
	}
	.newsList h4 span{
		font-size: 0.5em;
	}
	.newsList ul li p{
		font-size: 0.825rem;
		padding: 0 20px 0 10px;
	}
}


/* newsDetail */

.newsDetail{
	width: calc( 90% - 50px );
	max-width: 800px;
	border-left: dashed 1px var(--deep);
	margin: 0 auto 50px;
}
.newsDetail hgroup{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.newsDetail hgroup:after{
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	background: url("../img/common/lineWave.webp") no-repeat center / 80px;
}
.newsDetail hgroup h2{
	font-weight: 600;
	font-size: 1.75rem;
	line-height: 1.35em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	white-space: normal;
	max-width: calc( 100% - 150px );
}
.newsDetail hgroup h4{
	font-family: var(--futura);
	font-weight: 600;
	font-style: normal;
	background: var(--pale);
	color: var(--deepgreen);
	font-size: 2.5rem;
	line-height: 1.7rem;
	padding: 20px 30px 23px;
	margin: 0 30px 0 -50px;
}
.newsDetail hgroup h4 span{
	font-weight: 500;
	display: block;
	font-size: 0.5em;
}
.newsDetail article{
	font-weight: 400;
	padding: 60px 20px 70px 70px;
}
.newsDetail article p:not(:last-of-type){
	margin-bottom: 30px;
}
.newsList h3{
	background: #efefef;
}
.btnNewsList{
	text-align: center;
	margin-top: -20px;
	padding-bottom: 80px;
}
.btnNewsList a{
	text-decoration: none;
	padding: 10px 30px;
	border: solid 1px var(--base);
}
.btnNewsList a:hover{
	color: #fff;
	background: var(--base);
}
@media screen and (max-width: 768px){
	.newsDetail{		
		width: calc( 90% - 10px );
	}
	.newsDetail hgroup:after{
		height: 30px;
		background: url("../img/common/lineWave.webp") no-repeat center / 75px;
	}
	.newsDetail hgroup h2{
		font-size: 1.5rem;
		line-height: 1.35em;
		max-width: calc( 100% - 50px );
	}
	.newsDetail hgroup h4{
		font-size: 2.2rem;
		line-height: 1.5rem;
		padding: 20px 30px 23px;
		margin: 0 30px 0 -30px;
	}
	.newsDetail article{
		padding: 40px 20px 50px 50px;
	}
	.newsDetail article p:not(:last-of-type){
		margin-bottom: 25px;
	}
}
@media screen and (max-width: 640px){
	.newsDetail hgroup h2{
		font-size: 1.3rem;
		line-height: 1.35em;
		max-width: calc( 100% - 150px );
	}
	.newsDetail hgroup h4{
		font-size: 2rem;
		line-height: 1.5rem;
		padding: 15px 25px 18px;
		margin: 0 25px 0 -25px;
	}
	.newsDetail article{
		padding: 40px 20px 50px 50px;
	}
	.newsDetail article p:not(:last-of-type){
		margin-bottom: 25px;
	}
}
@media screen and (max-width: 600px){
	.newsDetail{
		width: calc( 90% - 20px );
		margin: 0 auto 30px;
	}
	.newsDetail article{
		line-height: 1.5rem;
	}
}
@media screen and (max-width: 450px){
	.newsDetail{
		width: calc( 90% - 10px );
	}
	.newsDetail hgroup:after{
		height: 20px;
		background: url("../img/common/lineWave.webp") no-repeat center / 60px;
	}
	.newsDetail hgroup h2{
		font-size: 1.125rem;
		line-height: 1.4em;
		max-width: calc( 100% - 110px );
	}
	.newsDetail hgroup h4{
		font-size: 1.6rem;
		line-height: 1.3rem;
		padding: 15px 15px 18px 17px;
		margin: 0 15px 0 -15px;
	}
	.newsDetail article{
		line-height: 1.4rem;
		padding: 30px 5px 30px 30px;
	}
	.newsDetail article p:not(:last-of-type){
		margin-bottom: 25px;
	}
}
@media screen and (max-width: 380px){
	.newsDetail hgroup h2{
		font-size: 1.075rem;
	}
	.newsDetail hgroup h4{
		font-size: 1.575rem;
		line-height: 1.275rem;
		padding: 13px 15px 18px 15px;
	}
	.newsDetail hgroup h4 span{
		font-weight: 500;
		display: block;
		font-size: 0.5em;
	}
	.newsDetail article{
		line-height: 1.3rem;
		padding: 20px 5px 30px 30px;
	}
	.newsDetail article p:not(:last-of-type){
		margin-bottom: 20px;
	}
}