/* ==================================================
	common
================================================== */

#main_content * + p {
	margin-top: 1em;
}
.title_bar {
	padding: 5px;
	color: #fff;
	font-weight: normal;
	text-align: center;
	background: #767676;
	border-radius: 0 0 4px 4px;
}

#main_content img {
	height: auto;
}





/* ==================================================
	optimal
================================================== */

.optimal {
	background: rgba(0,150,214,.07);
}
.optimal .table_scroll {
	width: 100%;
	margin-top: 20px;
	background: #fff;
}
.optimal_list {
	display: flex;
	width: 980px;
}
.optimal_list > li {
	padding: 20px 10px;
	text-align: center;
	white-space: normal;
}
.optimal_list h4 {
	color: #fff;
	font-size: 16px;
	font-weight: normal;
	line-height: 2;
	white-space: nowrap;
}
.optimal_list > li:nth-child(odd) h4 { background: #5a5a5a; }
.optimal_list > li:nth-child(even) h4 { background: #767676; }
.optimal_list .probox {
	min-width: 228px;
	margin: 15px 0 0 15px;
}
.optimal_list .probox:first-of-type{
	margin: 15px 0 0 0;
}
.optimal_list .catch {
	color: #0096d6;
	font-size: 16px;
	line-height: 1.4;
}
.optimal_list .proname {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.2;
}
.optimal_list .button {
	margin-top: 15px;
}

@media screen and (min-width: 1024px) {
	.optimal {
		padding: 0 10px;
	}
	.optimal_list {
		justify-content: space-between;
	}
}



/* ==================================================
	x_line
================================================== */

.x_line {
	display: flex;
	width: 980px;
	padding: 10px 40px 20px;
}
.x_line > div {
	position: relative;
	width: 50%;
	padding: 0 20px;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	line-height: 30px;
	letter-spacing: 1px;
}
.x_line > div:first-of-type {
	background: linear-gradient(to right, rgba(0,150,214,1), rgba(0,150,214,0));
}
.x_line > div:last-of-type {
	text-align: right;
	background: linear-gradient(to right, rgba(0,150,214,0), rgba(0,150,214,1));
}

/* arrow */
.x_line > div:first-of-type::before,
.x_line > div:last-of-type::before {
	display: inline-block;
	content: "";
	position: absolute;
	top: -5px;
	border-style: solid;
}
.x_line > div:first-of-type::before {
	left: -20px;
	border-width: 20px 20px 20px 0;
	border-color: transparent #0096d6 transparent transparent;
}
.x_line > div:last-of-type::before {
	right: -20px;
	border-width: 20px 0 20px 20px;
	border-color: transparent transparent transparent #0096d6;
}





/* ==================================================
	why_hp
================================================== */

.why_hp {
	background: #f2f2f2;
}
.why_hp h3 {
	margin-bottom: 2rem;
	padding: .2em 0 .2em 1em;
	color: #0096d6;
	font-weight: normal;
	border-bottom: 3px dashed rgba(0,150,214,.2);
	border-left: 4px solid #0096d6;
}
.why_hp .imgbox {
	text-align: center;
}
.why_hp .txtbox {
	margin-top: 1rem;
}

@media screen and (min-width: 1024px) {
	.why_hp {
		padding-right: 20px;
		padding-left: 20px;
	}
	.why_hp .col1 > div {
		display: flex;
	}
	.why_hp .imgbox img {
		width: 124px;
		max-width: none;
	}
	.why_hp .txtbox {
		margin-left: 10px;
	}
}





/* ==================================================
	ws_solutions_differentiation
================================================== */

.ws_solutions_differentiation {
	padding-bottom: 4rem !important;
	background: #f2f2f2;
}

@media screen and (min-width: 1024px) {
	.ws_solutions_differentiation {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}
