/* ====================================
	共通スタイル
 ==================================== */


span.deep-blue {
	color: #008EC8;
}

article {
	line-height: 1.8;
	overflow: hidden;
}

#main {
	position: relative;
	background-color: #f2f9fc;
}

#main .main-title {
	color: #008EC8;
}

#main .main-title .text::before {
	position: relative;
	top: -4px;
	left: 0;
	/* transform: translateY(-50%); */
	content: '';
	width: 20px;
	height: 1px;
	background-color: #008EC8;
	display: inline-block;
	margin-right: 1rem;
}

.sub-section .sub-ttl {
	text-align: left !important;
}

ul.list-item li {
	padding-left: 2.4em;
	text-indent: -2.4em;
}

/* ====================================
	767px以下専用スタイル
===================================== */
@media only screen and (max-width: 767px) {
	#main {
		margin-top: 90px;
		padding-top: 3rem;
		padding-bottom: 3rem;
	}



	.sub-section {
		padding-bottom: 4rem !important;
	}

	#sub09.sub-section {
		padding-bottom: 10rem !important;
	}

	.sub-section .sub-ttl {
		margin-bottom: 3rem !important;
	}

	.sub-text {
		font-size: 1.4rem;
	}

	#main .main-title {
		text-align: right;
	}

	#main .main-title .title {
		font-size: 3rem;
		line-height: 1.2;
	}

	#main .main-title .text {
		font-size: 1.2rem;
	}

	.read {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}

	.read .text {
		font-size: 1.4rem;
	}

	.flex-container>.flex-item {
		width: 100%;
	}
}

/* ====================================
	768px以上印刷専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {


	#main {
		margin-top: 120px;
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	#sub01.sub-section {
		padding-bottom: 14rem !important;
	}

	.sub-section {
		padding-bottom: 10rem !important;
	}

	.sub-section .sub-ttl {
		margin-bottom: 6rem !important;
	}

	.sub-text {
		font-size: 1.6rem;
	}

	#main .main-title {
		text-align: right;
	}

	#main .main-title .title {
		font-size: 4rem;
		line-height: 1;
	}

	#main .main-title .text {
		font-size: 1.4rem;
	}

	.read {
		padding-top: 14rem;
		padding-bottom: 14rem;
	}

	.read .text {
		font-size: 1.8rem;
	}


	.flex-container.half>.flex-item {
		width: 48%;
	}

	.sub-section .sub-ttl::after {
		left: 70px !important;
	}
}

/* ====================================
	768px以上1023px以下専用スタイル
===================================== */
@media only screen and (min-width: 768px) and (max-width: 1023px) {}


/* ====================================
	1024px以上1199px以下専用スタイル
===================================== */
@media print,
screen and (min-width: 1024px) and (max-width: 1199px) {}

/* ====================================
	1200px以上専用スタイル
===================================== */
@media screen and (min-width: 1200px) {}

/* ====================================
	1500px以上専用スタイル
===================================== */
@media screen and (min-width: 1500px) {}

/* ====================================
	IE
===================================== */
@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {}