
/* ==================================================
	common
================================================== */

.content {
	margin-top: 4rem;
}
.content * + p {
	margin-top: 1em;
}

@media screen and (min-width: 1024px) {
	.content {
		margin-top: 80px;
	}
}



/* title -------------------- */

h2.title {
	padding: .8em 1rem;
	text-align: center;
	font-weight: normal;
	line-height: 1.4;
	border: 10px solid #0096d6;
	border-top-width: 1px;
	border-bottom: none;
	background: linear-gradient(to right, rgba(0,150,214,0.1) 0%,rgba(255,255,255,0.1) 30%,rgba(255,255,255,0.1) 70%,rgba(0,150,214,0.1) 100%);
}

@media screen and (min-width: 1024px) {
	h2.title {
		font-size: 30px;
		letter-spacing: 1px;
	}
}





/* ==================================================
	step
================================================== */

.step_list {
	counter-reset: step_num;
}
.step_list > li {
	display: flex;
	margin-top: 2rem;
	border-bottom: 10px solid #ccc;
}
.step_num {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20%;
	background: #99d5ef;
}
.step_num span {
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1;
}
.step_num span::after {
	counter-increment: step_num;
	content: counter(step_num);
	display: block;
	font-size: 4rem;
}
.step_detail {
	width: 80%;
}
.step_img {
	text-align: center;
}
.step_img img {
	width: 50%;
}
.step_text {
	padding: 1.5rem;
}
.step_text h3 {
	color: #0096d6;
	font-weight: normal;
	line-height: 1.4;
}

@media screen and (min-width: 768px) {
	.step_detail {
		display: flex;
		align-items: center;
	}
	.step_img {
		width: 240px;
	}
	.step_img img {
		width: 100%;
	}
	.step_text {
		width: calc(100% - 240px);
	}
}





/* ==================================================
	boxsize
================================================== */

[class*="boxsize_"] {
	overflow: hidden;
	margin: 0 1rem;
	padding: 0 1rem 2rem;
	text-align: center;
	border-radius: 5px;
}
[class*="boxsize_"] h3 {
	margin: 0 -1rem;
	padding: .8em 1.6rem;
	color: #fff;
	font-weight: normal;
	line-height: 1.4;
}

@media screen and (min-width: 1024px) {
	[class*="boxsize_"] {
		padding: 0 20px 20px;
		border-radius: 10px;
	}
	[class*="boxsize_"] h3 {
		margin: 0 -20px;
		font-size: 28px;
		line-height: 1;
	}
}



/* other -------------------- */

.boxsize_other {
	background: #edf8fc;
}
.boxsize_other h3 {
	background: #4cb5e2;
}



/* yamato -------------------- */

.boxsize_yamato {
	background: #f2f2f2;
}
.boxsize_yamato h3 {
	background: #7fcaea;
}



/* ----------------------------------------
	product_list
---------------------------------------- */

.product_list {
	margin-top: 2rem;
}
.product_list > li {
	background: #fff;
	border: 1px solid #767676;
	border-radius: 5px;
}
.product_list > li a {
	display: block;
	padding: 1rem;
	text-align: center;
}
.product_name {
	margin-top: 0 !important;
	font-size: 1.2rem;
}

@media screen and (min-width: 1024px) {
	.product_list > li a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: left;
	}
	.product_name {
		width: calc(100% - 110px);
	}
}



/* ==================================================
	table
================================================== */

.hpeTable th,
.hpeTable td {
	vertical-align: middle;
	text-align: center;
}
.hpeTable th {
	font-weight: normal;
}
.hpeTable tbody th {
	color: #5a5a5a;
	text-align: left;
	background: #f2f2f2;
}
