@charset "utf-8";
/*------------------------------------------------------------
	custom
------------------------------------------------------------*/
.mainImg .lBox {
	background-image: url(../img/custom/main_img.jpg);
}
#main .conceptBox {
	margin-bottom: 132px;
}
#main .conceptBox .imgBox {
	flex-direction: row-reverse;
}
#main .conceptBox .imgBox .photoBox {
	width: calc(50% + 80px);
}
#main .conceptBox .imgBox .photoBox img {
	width: 100%;
}
#main .conceptBox .imgBox .textBox {
	padding: 28px 100px 0 0;
	flex: 1;
	display: flex;
	justify-content: flex-end;
	box-sizing: border-box;
}
#main .conceptBox .imgBox .textBox .inner {
	width: 420px;
	text-align: left;
}
#main .conceptBox .imgBox .textBox .inner .title {
	margin: 0 -310px 35px 0;
	text-align: left;
	position: relative;
	z-index: 2;
}
#main .conceptBox .imgBox .textBox .inner .title span {
	padding: 8px 0 16px 20px;
	margin-bottom: 2px;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2.81;
	color: #FFF;
	background-color: #323232;
}
#main .conceptBox .imgBox .textBox .inner .title span:last-child {
	margin-bottom: 0;
}
#main .conceptBox .imgBox .textBox p {
	line-height: 2;
	text-align: justify;
}
#main .featureBox {
	margin-bottom: 120px;
}
#main .featureBox .imgBox {
	margin-bottom: 80px;
	flex-direction: row-reverse;
}
#main .featureBox .imgBox:last-child {
	margin-bottom: 0;
}
#main .featureBox .imgBox:nth-of-type(2n) {
	flex-direction: row;
}
#main .featureBox .imgBox .photoBox {
	margin-left: 98px;
	width: 640px;
}
#main .featureBox .imgBox:nth-of-type(2n) .photoBox {
	margin: 0 100px 0 0;
}
#main .featureBox .imgBox .textBox {
	padding-top: 73px;
	flex: 1;
}
#main .featureBox .imgBox .textBox .headLine05 .ttlSpan {
	margin-bottom: 8px;
	font-size: 2rem;
	display: block;
	color: #F7B52C;
}
#main .featureBox .imgBox .textBox p {
	margin-right: -2px;
	line-height: 2;
	text-align: justify;
}
#main .methodBox {
	padding: 109px 0 80px;
	background-color: #EEE;
}
#main .methodBox .imgBox {
	margin-bottom: 40px;
	padding-right: 60px;
	background-color: #FFF;
}
#main .methodBox .imgBox .photoBox {
	margin-right: 60px;
	width: 460px;
}
#main .methodBox .imgBox .textBox {
	padding: 60px 0 20px;
	flex: 1;
}
#main .methodBox .imgBox .textBox .h4Ttl {
	margin-bottom: 23px;
	font-size: 3.2rem;
	font-weight: 700;
	position: relative;
}
#main .methodBox .imgBox .textBox .h4Ttl::after {
	margin-top: 2px;
	height: 1px;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	right: 10px;
	content: "";
	background-color: #8DC21F;
}
#main .methodBox .imgBox .textBox .h4Ttl span {
	padding-right: 18px;
	z-index: 2;
	position: relative;
	display: inline-block;
	background-color: #FFF;
	font-feature-settings: "palt";
}
#main .methodBox .imgBox .textBox p {
	line-height: 2;
	text-align: justify;
}
#main .ensureBox {
	padding: 109px 0 32px;
}
#main .ensureBox .headLine04 {
	margin-bottom: 88px;
}
#main .ensureBox .headLine05 {
	margin-bottom: 76px;
	font-size: 2.8rem;
	letter-spacing: 0.1em;
	text-align: center;
}
#main .ensureBox .textUl {
	margin: -20px -2px 0 0;
}
#main .ensureBox .textUl li {
	margin-top: 20px;
	width: 362px;
	box-sizing: border-box;
	position: relative;
}
#main .ensureBox .textUl li::after {
	position: absolute;
	top: -23px;
	bottom: -33px;
	right: -29px;
	background-color: #8DC21F;
	width: 1px;
	content: "";
}
#main .ensureBox .textUl li:nth-child(3n)::after {
	display: none;
}
#main .ensureBox .textUl li:nth-child(3n-1) {
	margin: 20px 58px 0;
}
#main .ensureBox .textUl li .h5Ttl {
	margin-bottom: 11px;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	text-align: center;
}
#main .ensureBox .textUl li .ttlSpan {
	margin-bottom: 19px;
	padding: 1px 8px 4px;
	min-width: 360px;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	display: inline-block;
	color: #FFF;
	box-sizing: border-box;
	background-color: #323232;
}
#main .ensureBox .textUl li p {
	line-height: 1.75;
	text-align: justify;
}
@media all and (max-width: 896px) {
	#main .conceptBox {
		margin-bottom: 70px;
	}
	#main .conceptBox .imgBox {
		padding: 0 20px;
		display: block;
	}
	#main .conceptBox .imgBox .photoBox {
		width: auto;
	}
	#main .conceptBox .imgBox .textBox {
		padding: 20px 0 0;
		display: block;
		width: auto;
	}
	#main .conceptBox .imgBox .textBox .inner {
		width: auto;
	}
	#main .conceptBox .imgBox .textBox .inner .title {
		margin: 0 0 20px;
	}
	#main .conceptBox .imgBox .textBox .inner .title span {
		padding: 2px 5px 4px;
		font-size: 1.4rem;
		line-height: 2;
	}
	#main .featureBox {
		margin-bottom: 70px;
	}
	#main .featureBox .imgBox {
		margin-bottom: 50px;
		display: block;
	}
	#main .featureBox .imgBox .photoBox {
		margin-left: 0;
		width: auto;
	}
	#main .featureBox .imgBox .photoBox img {
		width: 100%;
	}
	#main .featureBox .imgBox:nth-of-type(2n) .photoBox {
		margin: 0;
	}
	#main .featureBox .imgBox .textBox {
		padding-top: 65px;
	}
	#main .featureBox .imgBox .textBox p {
		margin-right: 0;
		font-size: 1.35rem;
	}
	#main .methodBox {
		padding: 50px 0;
	}
	#main .methodBox .imgBox {
		padding-right: 0;
		display: block;
	}
	#main .methodBox .imgBox .photoBox {
		margin-right: 0;
		width: auto;
	}
	#main .methodBox .imgBox .photoBox img {
		width: 100%;
	}
	#main .methodBox .imgBox .textBox {
		padding: 30px 15px;
	}
	#main .methodBox .imgBox .textBox .h4Ttl {
		font-size: 1.8rem;
	}
	#main .methodBox .imgBox .textBox .h4Ttl span {
		padding-right: 5px;
	}
	#main .ensureBox {
		padding-top: 70px;
	}
	#main .ensureBox .headLine04 {
		margin-bottom: 60px;
	}
	#main .ensureBox .headLine05 {
		margin-bottom: 30px;
		font-size: 1.8rem;
	}
	#main .ensureBox .textUl {
		margin: -20px 0 0;
	}
	#main .ensureBox .textUl li {
		width: auto;
	}
	#main .ensureBox .textUl li::after {
		top: auto;
		bottom: -20px;
		right: 0;
		left: 0;
		width: auto;
		height: 1px;
	}
	#main .ensureBox .textUl li:nth-child(3n-1) {
		margin: 40px 0;
	}
	#main .ensureBox .textUl li .h5Ttl {
		margin-bottom: 12px;
		font-size: 2rem;
	}
	#main .ensureBox .textUl li .ttlSpan {
		margin-bottom: 15px;
		padding: 0 5px 5px;
		font-size: 1.5rem;
		width: 100%;
		min-width: inherit;
	}
}