@charset "utf-8";

/* ----------------------------------

	ヘッド部分

---------------------------------- */
.mainContentsWrapper{
	padding: 20px 0 30px;
}
.contentsHeader .head{
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	padding: 0 30px;
}
.contentsHeader .head .date,
.contentsHeader .head .cat{
	font-size: 14px;
	font-weight: 700;
}
.contentsHeader .head .cat{
	position: relative;
	padding-left: 40px;
}
.contentsHeader .head .cat::before{
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	background: var(--secondary-color);
	left: 20px;
	top: 0;
}
.contentsHeader .ttlBox{
	text-align: left;
	background: var(--lightgreen-color);
	padding: 30px;
}
.contentsHeader .ttlBox h1{
	font-weight: 900;
	font-size: 24px;
	line-height: 1.4;
	margin-bottom: 15px;
}
.contentsHeader .ttlBox p{
	font-size: 18px;
	line-height: 1.4;
}

@media print, screen and (min-width: 960px){
	.contentsHeader .head{
		padding: 0 ;
		width: 960px;
		margin: 0 auto 20px;
	}
	.contentsHeader .head .date,
	.contentsHeader .head .cat{
		font-size: 16px;
	}
	.contentsHeader .ttlBox{
		text-align: center;
		padding: 60px 0;
	}
	.contentsHeader .ttlBox h1{
		width: 960px;
		margin: 0 auto 20px;
		font-size: 36px;
		letter-spacing: 1px;
	}
	.contentsHeader .ttlBox p{
		width: 960px;
		margin: 0 auto ;
		font-size: 21px;
	}
}


/* ----------------------------------

	コンテンツ部分

---------------------------------- */
.articleBody {
	padding: 30px;
	max-width: 1020px;
	margin: 0 auto;
}

/* ----------------------------------
	リード文・MV
---------------------------------- */
.articleBody .lead{
	line-height: 1.7;
	margin-bottom: 20px;
}
.mainVisual{
	width: 100%;
	margin-bottom: 20px;
}
.mainVisual .pointList {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}
.mainVisual .pointList li {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 15px 0;
	border-bottom: 1px solid #ddd;
}
/* 左のPOINT + 数字 */
.mainVisual .pointList li div{
	min-width: 80px;
	color: #c9d2dc;
	font-size: 48px;
	line-height: 1;
}
/* 数字だけ大きくしたい場合 */
.mainVisual .pointList li div span{
	color: #9aa5b1;
	display: block;
	font-size: 14px;
}
/* 本文 */
.mainVisual .pointList li {
	font-size: 14px;
	line-height: 1.5;
}
@media print, screen and (min-width: 960px){
	.articleBody .lead{
		font-size: 18px;
		margin-bottom: 40px;
	}
	.mainVisual .pointList {
		margin: 10px 0 40px;
	}
	.mainVisual .pointList li {
		gap: 20px;
		padding:30px 0;
		align-items: center;
		padding-left: 30px;
	}
	/* 左のPOINT + 数字 */
	.mainVisual .pointList li div{
		min-width: 90px;
	}
	/* 数字だけ大きくしたい場合 */
	.mainVisual .pointList li div span{
		font-size: 16px;
	}
	/* 本文 */
	.mainVisual .pointList li {
		font-size: 16px;
		line-height: 1.5;
	}
}

/* ----------------------------------
	利用条件
---------------------------------- */
.noticeBox{
	border: 1px solid var(--border-color);
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 30px;
}
.noticeBox .noticeTtl{
	font-weight: 700;
	margin-bottom: 15px;
	color: var(--main-color);
}
.noticeBox p{
	line-height: 1.5;
}
.noticeBox p strong{
	font-weight: 700;
}
.noticeBox ol{
	padding: 15px 0;
}
.noticeBox ol li{
	margin-bottom: 6px;
	padding-left: 10px;
	position: relative;
	line-height: 1.5;
}
.noticeBox ol li::before{
	content: "";
	display: block;
	position: absolute;
	background: var(--secondary-color);
	border-radius: 100%;
	width: 3px;
	height: 3px;
	top: 12px;
	left: 0px;
}
@media print, screen and (min-width: 960px){
	.noticeBox{
		padding: 40px;
		margin-bottom: 60px;
	}
	.noticeBox .noticeTtl{
		font-size: 18px;
		margin-bottom: 20px;
	}
}

/* ----------------------------------
	各セクション
---------------------------------- */
.articleSection h2{
	padding: 20px;
	text-align: center;
	font-weight: 700;
	color: #fff;
	background: var(--main-color);
	/* color: var(--main-color);
	background: var(--lightgreen-color); */
	margin-bottom: 30px;
	font-size: 21px;
	letter-spacing: 1px;
	line-height: 1.3;
}
.articleSection h3{
	margin-bottom: 20px;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 18px;
	background: var(--lightgreen-color);
	display: inline-block;
	padding: 20px 30px;
	line-height: 1.3;
}
.articleSection h4{
	margin-bottom: 20px;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 18px;
}
.articleSection p{
	line-height: 1.8;
	margin-bottom: 20px;
}
.articleSection p.note{
	font-size: 12px;
	text-indent: -1rem;
	padding-left: 1rem;
	letter-spacing: 0.5px;
	line-height: 1.6;
}
.articleSection .dataList{
	margin-bottom: 30px;
	list-style:disc;
	padding-left: 20px;
}
.articleSection .dataList li{
	margin-bottom: 10px;
	line-height: 1.4;
}
.articleSection .infoList{
	margin-bottom: 30px;
}
.articleSection .infoList div{
	margin-bottom: 20px;
}
.articleSection .infoList dt{
	font-weight: 700;
	margin-bottom: 10px;
}
.articleSection .infoList dd{
	letter-spacing: 0.5px;
	line-height: 1.4;
}
.articleSection .articleFigure{
	width: 100%;
	margin-bottom: 20px;
}
@media print, screen and (min-width: 960px){
	.articleSection h2{
		text-align: left;
		letter-spacing: 2px;
		padding-left: 40px;
	}
	.articleSection h3{
		margin-bottom: 30px;
		font-size: 21px;
		padding: 20px 40px;
	}
	.articleSection p{
		line-height: 2;
		margin-bottom: 25px;
	}
	.articleSection p.note{
		font-size: 14px;
		letter-spacing: 1px;
	}
	.articleSection .dataList{
		margin-bottom: 50px;
		padding-left: 30px;
	}
	.articleSection .dataList li{
		margin-bottom: 10px;
		line-height: 1.4;
	}
	.articleSection .infoList{
		margin-bottom: 40px;
	}
	.articleSection .infoList div{
		margin-bottom: 25px;
	}
	.articleSection .infoList dt{
		margin-bottom: 10px;
	}
	.articleSection .infoList dd{
		letter-spacing: 1px;
	}
	.articleSection .articleFigure{
		margin-bottom: 30px;
	}
}
