@charset "utf-8";
/* KV */
#kv {
	width: 100%;
	padding: 0;
	margin: 0 0 10%;
}
#kv .kv_sp {
	width: 100%;
	margin: 0 auto;
}
#kv .kv_pc {
	display: none;
}
#kv .logo_sp {
	width: 85%;
	margin: 0 5% 0 10%;
}
#kv .logo_sp h1 {
	width: 75%;
	max-width: 400px;
	float: right;
}
#kv .logo_sp .scrolldown {
	font-weight: bold;
	display: table-cell;
	writing-mode: vertical-rl;
	float: left;
	position: absolute;
}
#kv .logo_sp .scrolldown span {
	color: #009a53;
	font-size: 12px;
	letter-spacing: 0.05em;
	position: absolute;
	height: 110px;
	font-weight: bold;
}
#kv .logo_sp .scrolldown::after {
	content: "";
	position: absolute;
	top: 0;
	left: -11px;
	width: 1px;
	background: #009a53;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}
@keyframes pathmove {
	0% {
		height: 0;
		top: 110px;
		opacity: 0;
	}
	30% {
		height: 20px;
		opacity: 1;
	}
	100% {
		height: 0;
		top: 130px;
		opacity: 0;
	}
}
@media only screen and (min-width:650px) {
	#kv .logo_sp .scrolldown::after {
		left: -13px;
	}
}
@media only screen and (min-width:850px) {
	#kv {
		margin: 0 0 30px;
	}
	#kv .kv_pc {
		width: 100%;
		margin: 0 auto;
		display: block;
	}
	#kv .kv_sp {
		display: none;
	}
	#kv .logo_sp {
		display: none;
	}
	#kv .logo_sp .scrolldown {
		display: none;
	}
}
/* ISUUE */
#container_issue {
	width: 100%;
	padding: 0;
	margin: 0 0 10%;
}
#container_issue .issue {
	width: 80%;
	height: 70px;
	position: relative;
	padding: 0 0 0 5%;
	margin: 0 0 3%;
	background: #009a53;
	border-radius: 0 50px 50px 0;
}
#container_issue .issue:nth-child(2n) {
	padding: 0 0 0 15%;
	margin: 0 0 3% 20%;
	background: #009a53;
	border-radius: 50px 0 0 50px;
}
#container_issue .issue h3 {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	color: #FFF;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5em;
}
#container_issue .issue .sweat {
	background-image: url("../img/img_icon_sweat.svg");
	background-size: 14px;
	width: 14px;
	height: 15px;
	margin: 0 0 0 7px;
	padding: 0;
	display: inline-block;
}
@media only screen and (max-width:420px) {
	#container_issue .issue h3 {
		font-size: 16px;
		font-size: 1.6rem;
	}
}
@media only screen and (min-width:850px) {
	#container_issue {
		width: 90%;
		padding: 0;
		margin: 0 auto 30px;
		text-align: center;
	}
	#container_issue .issue {
		width: calc(100% / 3 - 25px);
		height: 120px;
		text-align: center;
		padding: 0;
		margin: 0 10px 20px;
		background: #009a53;
		border-radius: 10px;
		display: inline-block;
	}
	#container_issue .issue:nth-child(2n) {
		padding: 0;
		margin: 0 10px 20px;
		border-radius: 10px;
	}
	#container_issue .issue h3 {
		width: 100%;
		font-size: 16px;
		font-size: 1.6rem;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}
/* Solution */
#container_solution {
	width: 80%;
	max-width: 500px;
	padding: 0;
	margin: 0 auto;
	font-size: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	overflow: hidden;
	position: relative;
}
#container_solution h4 {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5em;
	color: #009a53;
	width: 35%;
}
#container_solution .character {
	width: 65%;
}
@media only screen and (min-width:850px) {
	#container_solution h4 {
		font-size: 30px;
		font-size: 3.0rem;
	}
}
/* Service */
#container_service {
	width: 100%;
	padding: 0;
	margin: 0;
	background: #009a53;
	position: relative;
}
#container_service::before {
	content: "";
	background-image: url("../img/img_skewed_green.svg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100%;
	width: 100%;
	height: 50px;
	top: -49px;
	position: absolute;
}
#container_service .inner {
	width: 100%;
	padding: 10% 5%;
}
#container_service .inner h4 {
	color: #FFF;
	text-align: center;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1em;
	position: relative;
	margin: 0 auto 12% auto;
}
#container_service .inner h4:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -20px; /*線の上下位置*/
	display: inline-block;
	width: 70px;
	height: 4px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #FFF;
	border-radius: 2px;
}
#container_service .inner h5 {
	color: #FFF;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2em;
	margin: 0 auto 12% auto;
}
#container_service .inner .flow {
	width: 100%;
	list-style: none;
}
#container_service .inner .flow li {
	width: 100%;
	padding: 5% 5% 0 5%;
	margin: 0 auto 5% auto;
	background: #FFF;
	border-radius: 10px;
}
#container_service .inner .flow li h6 {
	color: #009a53;
	text-align: center;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1em;
	position: relative;
	margin: 0 auto 5% auto;
}
#container_service .inner .flow li h6:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -15px;
	display: inline-block;
	width: 100%;
	height: 4px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #009a53;
	border-radius: 2px;
}
#container_service .inner .flow li .detail {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
#container_service .inner .flow li .detail .photo {
	width: 30%;
	max-width: 120px;
	min-width: 100px;
	display: flex;
	flex-direction: column-reverse;
}
#container_service .inner .flow li .detail .text {
	vertical-align: top;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1.5em;
	margin: 5% 0 5% 5%;
}
@media only screen and (min-width:650px) {
	#container_service .inner .flow li h6 {
		margin: 0 auto 3% auto;
	}
}
@media only screen and (min-width:850px) {
	#container_service .inner {
		padding: 50px 125px 125px;
	}
	#container_service .inner h4 {
		margin: 0 auto 50px auto;
	}
	#container_service .inner h5 {
		margin: 0 auto 50px auto;
	}
	#container_service .inner .flow li {
		width: 100%;
		padding: 25px 50px 0 50px;
		margin: 0 auto 25px auto;
	}
	#container_service .inner .flow li h6 {
		margin: 0 auto 10px auto;
	}
}
/* KV */
#container_contact {
	width: 100%;
	padding: 0;
	margin: 0;
	background: #FFF;
	position: relative;
}
#container_contact::before {
	content: "";
	background-image: url("../img/img_skewed_white.svg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100%;
	width: 100%;
	height: 50px;
	top: -49px;
	position: absolute;
}
#container_contact .inner {
	width: 100%;
	padding: 10% 5% 10% 5%;
}
#container_contact .inner h4 {
	color: #009a53;
	text-align: center;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1em;
	position: relative;
	margin: 0 auto 12% auto;
}
#container_contact .inner h4:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -20px; /*線の上下位置*/
	display: inline-block;
	width: 70px;
	height: 4px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #009a53;
	border-radius: 2px;
}
#container_contact .inner a.btn-contact {
	width: 90%;
	max-width: 400px;
	padding: 0.8em;
	margin: 0 auto;
	display: block;
	color: #fff;
	background: #c4d82e;
	text-decoration: none;
	font-weight: bold;
	font-size: 20px;
	font-size: 2.0rem;
	border-radius: 100px;
	text-align: center;
	text-decoration: none;
}
#container_contact .inner a.btn-contact:before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	margin: 2px 10px 0 0;
	background: url("../img/img_icon_mail.svg") no-repeat;
	background-size: 22px;
	vertical-align: middle;
}
a.btn-green:hover {
	background: #6FB83F;
}
@media only screen and (min-width:650px) {
	#container_contact .inner {
		padding: 10% 5% 40% 5%;
	}
}
@media only screen and (min-width:850px) {
	#container_contact .inner {
		padding: 50px 0 50px 0;
	}
	#container_contact .inner h4 {
		margin: 0 auto 50px auto;
	}
}