@charset "utf-8";

/* ==========================================================================
	hasei_title
========================================================================== */
.hasei_title h2 {
	width: 270px;
	margin-right: 20px;
}

.hasei_title::before {
	content: "";
	display: block;
	width: 103px;
	height: 135px;
	position: absolute;
	top: -34px;
	right: 65px;
	background: url(../image/service/title_icon.png);
	background-size: cover;
	z-index: 10;
}



@media screen and (max-width: 800px) {

	.hasei_title h2 {
		width: 170px;
	}

	.hasei_title::before {
		width: 54px;
		height: 71px;
		top: 25px;
		right: 39px;
	}

}


/* ==========================================================================
	intro
========================================================================== */
.intro {
	position: relative;
	width: 93%;
	max-width: 1300px;
	margin: 40px auto 110px;
	background: #fff;
	border-radius: 45px;
	padding: 125px 0 120px;
	box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
}

.intro h2 {
	position: relative;
	width: 489px;
	margin: 0 0 0 132px;
}

.intro .img_area {
	position: absolute;
	width: 528px;
	right: 78px;
	top: 85px;
}

.intro .saru {
	position: absolute;
	width: 140px;
	right: 20px;
	bottom: 0;
	-webkit-animation: build03 4s infinite ease-in-out;
	-ms-animation: build03 4s infinite ease-in-out;
	-o-animation: build03 4s infinite ease-in-out;
	animation: build03 4s infinite ease-in-out;
}

@keyframes build03 {
	50% {
		transform: translate(10px, 0);
	}
}

@-ms-keyframes build03 {
	50% {
		transform: translate(10px, 0);
	}
}

.intro p {
	font-size: 16px;
	line-height: 37px;
	font-weight: 700;
}

.intro p span {
	font-size: 16px;
	line-height: 37px;
	font-weight: 700;
	background: #ddd800;
}

.intro p.text01 {
	margin: 150px 0 15px 56%;
}

.intro p.text02 {
	margin: 0 0 0 132px;
}

.intro .img_area02 {
	position: absolute;
	top: 320px;
	left: 117px;
	width: 518px;
}

.intro .inu {
	width: 174px;
	position: absolute;
	bottom: 22px;
	left: 0;
	-webkit-animation: build01 4s infinite ease-in-out;
	-ms-animation: build01 4s infinite ease-in-out;
	-o-animation: build01 4s infinite ease-in-out;
	animation: build01 4s infinite ease-in-out;
}

@keyframes build01 {
	50% {
		transform: translate(10px, 10px);
	}
}

@-ms-keyframes build01 {
	50% {
		transform: translate(10px, 10px);
	}
}

.intro .momo {
	width: 63px;
	position: absolute;
	top: 139px;
	right: 198px;
	-moz-animation: swing3 linear 6s infinite;
	-moz-transform-origin: center 25px 0;
	-webkit-animation: swing3 linear 6s infinite;
	-webkit-transform-origin: 50% 100%;
	-ms-animation: swing3 linear 6s infinite;
	-ms-transform-origin: 50% 100%;
	-o-animation: swing3 linear 6s infinite;
	-o-transform-origin: 50% 100%;
	animation: swing3 linear 6s infinite;
	transform-origin: 50% 100%;

}

@-moz-keyframes swing3 {
	50% {
		-moz-transform: rotate(-15deg);
	}

	100% {
		-moz-transform: rotate(0deg);
	}
}

@-webkit-keyframes swing3 {
	50% {
		-webkit-transform: rotate(-15deg);
	}

	100% {
		-webkit-transform: rotate(0deg);
	}
}

@-o-keyframes swing3 {
	50% {
		-o-transform: rotate(-15deg);
	}

	100% {
		-o-transform: rotate(0deg);
	}
}

@-ms-keyframes swing3 {
	50% {
		-ms-transform: rotate(-15deg);
	}

	100% {
		-ms-transform: rotate(0deg);
	}
}

@keyframes swing3 {
	50% {
		transform: rotate(-15deg);
	}

	100% {
		transform: rotate(0deg);
	}
}

.intro .img_area03 {
	position: absolute;
	right: 100px;
	bottom: 142px;
	width: 528px;
}

.intro .kiji {
	position: absolute;
	width: 131px;
	top: 12px;
	left: 182px;
	-webkit-animation: build02 4s infinite ease-in-out;
	-ms-animation: build02 4s infinite ease-in-out;
	-o-animation: build02 4s infinite ease-in-out;
	animation: build02 4s infinite ease-in-out;
}

@keyframes build02 {
	50% {
		transform: translate(10px, -10px);
	}
}

@-ms-keyframes build02 {
	50% {
		transform: translate(10px, -10px);
	}
}


@media screen and (max-width: 1350px) {


	.intro h2 {
		width: 45%;
		margin: 0 0 0 5vw;
	}

	.intro .img_area {
		position: absolute;
		width: 38vw;
		right: 5.5vw;
		top: 85px;
	}

	.intro .saru {
		width: 10vw;
		right: 1.4vw;
	}

	.intro p {
		font-size: 16px;
		line-height: 37px;
		font-weight: 700;
	}

	.intro p.text01 {
		margin: 10.7vw 0 15px 56%;
	}

	.intro p.text02 {
		margin: 0 0 0 5vw;
	}

	.intro .img_area02 {
		position: absolute;
		top: 320px;
		left: 5vw;
		width: 39vw;
	}

	.intro .inu {
		width: 12.4vw;
		bottom: 1.5vw;
	}

	.intro .momo {
		width: 4.5vw;
		top: 9.9vw;
		right: 14.14vw;
	}

	.intro .img_area03 {
		right: 7.14vw;
		bottom: 10.14vw;
		width: 39vw;
	}

	.intro .kiji {
		width: 9.35vw;
		top: 0.85vw;
		left: 13vw;
	}
}


@media screen and (max-width: 800px) {


	.intro {
		margin: 35px auto 55px;
		border-radius: 30px;
		padding: 65px 0 95px;
		box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.intro h2 {
		width: 74%;
		margin: 0 auto;
	}

	.intro .img_area {
		position: relative;
		width: 74%;
		right: auto;
		top: auto;
		margin: 50px auto 57px;
	}

	.intro .saru {
		width: 18vw;
		right: 9px;
		bottom: 0;
		-webkit-animation: build03 4s infinite ease-in-out;
		-ms-animation: build03 4s infinite ease-in-out;
		-o-animation: build03 4s infinite ease-in-out;
		animation: build03 4s infinite ease-in-out;
	}

	@keyframes build03 {
		50% {
			transform: translate(5px, 0);
		}
	}

	@-ms-keyframes build03 {
		50% {
			transform: translate(5px, 0);
		}
	}

	.intro p,
	.intro p span {
		font-size: 14px;
		line-height: 30px;
	}

	.intro p.text01,
	.intro p.text02 {
		margin: 0 auto;
		width: 80%;
	}

	.intro .img_area02 {
		position: relative;
		top: auto;
		left: auto;
		width: 74%;
		margin: 60px auto;
	}

	.intro .inu {
		width: 23vw;
		bottom: 10px;
	}

	@keyframes build01 {
		50% {
			transform: translate(5px, 5px);
		}
	}

	@-ms-keyframes build01 {
		50% {
			transform: translate(5px, 5px);
		}
	}

	.intro .momo {
		width: 8vw;
		top: 18vw;
		right: 27.25vw;

	}

	.intro .img_area03 {
		position: relative;
		right: auto;
		bottom: auto;
		width: 73%;
		margin: 60px auto 0;
	}

	.intro .kiji {
		position: absolute;
		width: 17.5vw;
		top: 6px;
		left: 21vw;
	}

	@keyframes build02 {
		50% {
			transform: translate(5px, -5px);
		}
	}

	@-ms-keyframes build02 {
		50% {
			transform: translate(5px, -5px);
		}
	}


}

/* ==========================================================================
	point
========================================================================== */
.point {
	position: relative;
	width: 90%;
	max-width: 1200px;
	margin: 105px auto 118px;
}

.point .stit {
	text-align: center;
	font-size: 26px;
	line-height: 1.5;
	font-weight: 700;
	vertical-align: middle;
	color: #7c493a;
}

.point .stit .tab_off {
	display: none;
}

.point .stit img {
	width: 191px;
	vertical-align: middle;
	margin: 0 10px;
	transform: translateY(-5px);
}

.point .waku {
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	padding: 3px 22px;
	background: #fff;
	border: 1px solid #7c493a;
	box-sizing: border-box;
	vertical-align: middle;
	margin: 0 10px;
	border-radius: 38px;
}

.point h2 {
	width: 658px;
	margin: 20px auto 55px;
}

.point_list {
	position: relative;
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.point_list::after {
	content: "";
	visibility: hidden;
	display: block;
	clear: both;
	height: 0;
}

.point_list .box {
	position: relative;
	width: 48.8%;
	padding: 87px 15px 50px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 45px;
	margin-bottom: 35px;
	float: left;
	box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
}

.point_list .box:nth-child(2n) {
	float: right;
}

.point_list .box h3 {
	display: block;
	position: absolute;
	width: 79px;
	left: 0;
	right: 0;
	top: -12px;
	margin: auto;
}

.point_list .box .icon {
	width: 116px;
	margin: 0 auto;
}

.point_list .box:nth-child(2n) .icon {
	width: 101px;
}

.point_list .box:nth-child(3n) .icon {
	width: 182px;
}

.point_list .box:nth-child(4n) .icon {
	width: 88px;
}

.point_list .box:nth-child(5n) .icon {
	width: 136px;
}

.point_list .box:nth-child(6n) .icon {
	width: 155px;
}

.point_list .box h4 {
	text-align: center;
	width: 95%;
	font-size: 26px;
	line-height: 38px;
	font-weight: 700;
	color: #ff847f;
	margin: 25px auto 0;
}

.point_list .box h4 span {
	font-size: 17px;
	font-weight: 700;
}

.point_list .box p {
	width: 90%;
	max-width: 460px;
	margin: 22px auto 0;
	font-size: 14px;
	line-height: 28px;
	font-weight: 700;
}

.point_list .box ul {
	margin-top: 20px;
}

.point_list .box li {
	position: relative;
	width: 90%;
	max-width: 460px;
	padding-left: 35px;
	margin: 0 auto 26px;
	box-sizing: border-box;
}

.point_list .box li:last-child {
	margin-bottom: 0;
}

.point_list .box li::before {
	content: "1";
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	top: -5px;
	width: 29px;
	height: 29px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	background: #fc7f85;
	border-radius: 29px;
}

.point_list .box li:nth-child(2)::before {
	content: "2";
}

.point_list .box li:nth-child(3)::before {
	content: "3";
}

.point_list .box li h5 {
	font-size: 19px;
	font-weight: 700;
	margin-bottom: 8px;
}

.point_list .box li p {
	font-size: 14px;
	line-height: 24px;
	font-weight: 700;
	color: #787878;
	letter-spacing: -0.02em;
	width: 100%;
	margin: 0;
}





@media screen and (max-width: 900px) {

	.point .stit .tab_off {
		display: inline;
	}

}


@media screen and (max-width: 800px) {

	.point {
		position: relative;
		width: 93%;
		max-width: 1200px;
		margin: 55px auto 100px;
	}

	.point .stit {
		font-size: 17px;
		line-height: 2;
	}

	.point .stit img {
		width: 130px;
		margin: 0 7px 0 0;
		transform: translateY(-3px);
	}

	.point .waku {
		font-size: 13px;
		padding: 0px 15px;
		margin: 0 7px;
	}

	.point h2 {
		width: 100%;
		max-width: 658px;
		margin: 10px auto 37px;
	}

	.point_list .box {
		width: 100%;
		padding: 96px 15px 47px;
		border-radius: 30px;
		margin-bottom: 30px;
		float: none;
		box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.point_list .box:nth-child(2n) {
		float: none;
	}

	.point_list .box h3 {
		width: 73px;
		top: -10px;
	}

	.point_list .box .icon {
		width: 105px;
	}

	.point_list .box:nth-child(2) .icon {
		width: 96px;
	}

	.point_list .box:nth-child(3) .icon {
		width: 163px;
	}

	.point_list .box:nth-child(4) .icon {
		width: 83px;
	}

	.point_list .box:nth-child(5) .icon {
		width: 118px;
	}

	.point_list .box:nth-child(6) .icon {
		width: 136px;
	}

	.point_list .box h4 {
		font-size: 19px;
		line-height: 30px;
		margin: 20px auto 0;
	}

	.point_list .box:nth-child(2) h4 {
		font-size: 18px;
	}

	.point_list .box h4 span {
		font-size: 14px;
		font-weight: 700;
	}

	.point_list .box p {
		width: 85%;
		min-width: 290px;
		max-width: 800px;
		margin: 12px auto 0;
		font-size: 13px;
		line-height: 21px;
	}

	.point_list .box ul {
		margin-top: 20px;
	}

	.point_list .box li {
		position: relative;
		width: 85%;
		min-width: 290px;
		max-width: 800px;
		padding-left: 35px;
		margin: 0 auto 22px;
	}

	.point_list .box li::before {
		top: -5px;
		width: 27px;
		height: 27px;
		font-size: 13px;
		border-radius: 29px;
	}

	.point_list .box li h5 {
		font-size: 17px;
		margin-bottom: 8px;
	}

	.point_list .box li p {
		font-size: 13px;
		line-height: 21px;
		width: 100%;
	}

	.iPhone .point_list .box li p {
		width: 90%;
		padding-right: 15px;
		box-sizing: border-box;
	}

}

/* ==========================================================================
	flow
========================================================================== */
.flow {
	position: relative;
}

.flow .text_area {
	position: relative;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}



.flow .text_area .cloud03 {
	display: block;
	position: absolute;
	width: 132px;
	z-index: 10;
	bottom: -25px;
	left: -140px;

}

.flow .text_area .cloud04 {
	display: block;
	position: absolute;
	width: 127px;
	z-index: 10;
	bottom: -64px;
	left: 400px;

}


.flow h2 {
	padding-left: 115px;
}

.flow h2::before {
	content: "";
	display: block;
	width: 86px;
	height: 84px;
	position: absolute;
	left: 0;
	top: -20px;
	background: url(../image/service/flow_icon.png);
	background-size: cover;
}

.flow .s_tit {
	padding-left: 115px;
}

.flow h3 {
	margin: 38px 0 48px;
	width: 53%;
}

.flow h3 span {
	font-size: 24px;
	line-height: 50px;
	font-weight: 700;
	background: #fff;
	padding: 2px 10px;
}

.flow .intro_txt {
	font-size: 16px;
	line-height: 34px;
	font-weight: 700;
	margin-bottom: 35px;
	width: 53%;
}

.flow .img_area {
	position: absolute;
	right: 0;
	top: 80px;
	width: 44.6vw;
	max-width: 1200px;
	z-index: 1;
}

.flow .img_area img {
	border-radius: 45px 0 0 45px;

}

.flow .img_area .cloud01 {
	display: block;
	position: absolute;
	width: 131px;
	z-index: 10;
	top: -40px;
	left: 20.7vw;

}

.flow .img_area .cloud02 {
	display: block;
	position: absolute;
	width: 174px;
	z-index: 10;
	bottom: -40px;
	left: -35px;

}





@media screen and (max-width: 900px) {
	.flow h3 {
		margin-bottom: 110px;
	}

	.flow .intro_txt {
		width: 100%;
	}

}


@media screen and (max-width: 800px) {

	.flow .text_area {
		width: 100%;
	}

	.flow .text_area .cloud03 {
		width: 70px;
		bottom: auto;
		left: calc(50% - 179px);
		top: -40px;

	}

	.flow .text_area .cloud04 {
		width: 75px;
		z-index: 10;
		bottom: auto;
		top: -8px;
		left: calc(50% + 140px);

	}


	.flow h2 {
		padding-left: 0;
		text-align: center;
	}

	.flow h2::before {
		width: 58px;
		height: 56px;
		top: -66px;
		right: 0;
		margin: auto;
	}

	.flow .s_tit {
		padding: 0;
		text-align: center;
	}

	.flow h3 {
		margin: 22px auto 19px;
		text-align: center;
		width: 100%;
	}

	.flow h3 span {
		font-size: 17px;
		line-height: 35px;
		padding: 2px 5px;
	}

	.flow .intro_txt {
		font-size: 13px;
		line-height: 26px;
		margin: 0 auto 20px;
		width: 80%;
	}

	.flow .img_area {
		position: relative;
		right: auto;
		top: auto;
		width: 67%;
		margin: 35px auto 0;
	}

	.flow .img_area img {
		border-radius: 30px;
	}

	.flow .img_area .cloud01 {
		width: 65px;
		top: auto;
		left: -88px;
		bottom: -3px;
	}

	.flow .img_area .cloud02 {
		width: 92px;
		z-index: 10;
		bottom: auto;
		top: -18px;
		left: auto;
		right: -18px;

	}

}



/* ==========================================================================
	step_area
========================================================================== */


.step_area {
	position: relative;
	width: 100%;
	padding-left: 7.14vw;
	box-sizing: border-box;
	margin: 6.4vw 0 30px;
}

.step_slide .slick-list,
.step_slide .slick-list {
	padding-right: 27%;
}

.step_slide li {
	margin-right: 40px;
}

.step {
	position: relative;
	background: #fff;
	padding: 103px 0 200px;
	border-radius: 30px;
	min-height: 750px;
	box-sizing: border-box;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}



.step .icon {
	display: block;
	position: absolute;
	width: 47px;
	top: 18px;
	right: 38px;
}

.step02 .icon {
	width: 70px;
	top: 17px;
	right: 28px;
}

.step03 .icon {
	width: 120px;
	top: 65px;
	right: 20px;
}

.step04 .icon {
	width: 82px;
	top: 33px;
	right: 31px;
}

.step05 .icon {
	width: 92px;
	top: 36px;
	right: 37px;
}

.step06 .icon {
	width: 74px;
	top: 17px;
	right: 28px;
}

.step07 .icon {
	width: 40px;
	top: 24px;
	right: 39px;
}

.step08 .icon {
	width: 65px;
	top: 16px;
	right: 30px;
}

.step09 .icon {
	width: 72px;
	top: 20px;
	right: 29px;
}

/*
.step02,
.step04,
.step06,
.step08{
	transform: translateY(44px);
}
*/

.step.slick-active {
	transform: translateY(44px);
}

.step.slick-active.slick-current {
	transform: translateY(0);
}

.step .step_num {
	position: absolute;

	display: flex;
	align-items: center;
	justify-content: center;
	width: 135px;
	height: 45px;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	background: #fe8081;
	border-radius: 30px 0 30px 0;
	box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
	left: 0;
	top: 0;
}

.step h4 {
	font-size: 28px;
	line-height: 35px;
	font-weight: 700;
	width: 85%;
	max-width: 320px;
	margin: 0 auto;
}

.step .en {
	display: block;
	width: 85%;
	max-width: 320px;
	margin: 8px auto 22px;
	font-size: 12px;
	font-weight: 700;
	color: #ff8080;
}

.step p {
	width: 85%;
	max-width: 320px;
	margin: 0 auto;
	font-size: 14px;
	line-height: 28px;
	font-weight: 700;
}

.step h5 {
	display: flex;
	align-items: center;
	width: 87%;
	max-width: 340px;
	height: 38px;
	font-size: 14px;
	font-weight: 700;
	border-radius: 19px;
	background: #ded8c0;
	margin: 25px auto 0;
	padding-left: 18px;
	box-sizing: border-box;
}

.step .list_txt {
	position: relative;
	width: 85%;
	max-width: 320px;
	margin: 2px auto 0;
	padding: 5px 12px 5px 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #b9b9b9;
	font-size: 14px;
	font-weight: 700;
}

.step .list_txt::before {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	background: #fd7e85;
	border-radius: 7px;
	position: absolute;
	left: 6px;
	top: 15px;
}

.step .list_txt span {
	font-size: 12px;
	font-weight: 700;
}

.step .bottom_txt {
	width: 85%;
	max-width: 320px;
	color: #ff8080;
	font-size: 12px;
	line-height: 22px;
	font-weight: 700;
	margin: 18px auto 0;
}



.step_slide .slick-next {
	left: calc(32% - 29px);
	top: 40%;

}

.step_slide .slick-prev {
	left: -29px;
	top: 40%;

}

.flow_wave {
	width: 4224px;
	height: 170px;
	position: absolute;
	left: calc(50% - 2112px);
	bottom: -30px;
	z-index: 100;
}

.flow_wave::before {
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	position: absolute;
	left: 0;
	bottom: 0px;
	z-index: 50;
	background: -moz-linear-gradient(bottom, #FFf, rgba(255, 255, 255, 0));
	background: -webkit-linear-gradient(bottom, #FFf, rgba(255, 255, 255, 0));
	background: linear-gradient(to top, #Fff, rgba(255, 255, 255, 0));
	background: linear-gradient(to top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.flow_wave::after {
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	position: absolute;
	left: 0;
	bottom: -30px;
	z-index: 50;
	background: #fff;
}

.flow_wave .flow_wave01,
.flow_wave .flow_wave02 {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;

	z-index: 20;
}

.flow_wave .flow_wave01 {
	top: 0;
	-webkit-animation: fwave 10s infinite ease-in-out;
	-ms-animation: fwave 10s infinite ease-in-out;
	-o-animation: fwave 10s infinite ease-in-out;
	animation: fwave 10s infinite ease-in-out;
}

@keyframes fwave {
	25% {
		transform: translate(-50px, 0px);
	}

	50% {
		transform: translate(50px, 0px);
	}

	75% {
		transform: translate(-50px, 0px);
	}

	0% {
		transform: translate(0px, 0px);
	}
}

@-ms-keyframes fwave {
	25% {
		transform: translate(-50px, 0px);
	}

	50% {
		transform: translate(50px, 0px);
	}

	75% {
		transform: translate(-50px, 0px);
	}

	0% {
		transform: translate(0px, 0px);
	}
}

.flow_wave .flow_wave02 {
	z-index: 30;
	bottom: 0;

	-webkit-animation: fwave02 12s infinite ease-in-out;
	-ms-animation: fwave02 12s infinite ease-in-out;
	-o-animation: fwave02 12s infinite ease-in-out;
	animation: fwave02 12s infinite ease-in-out;
}

@keyframes fwave02 {
	25% {
		transform: translate(80px, 9px);
	}

	50% {
		transform: translate(-30px, 0);
	}

	75% {
		transform: translate(80px, 9px);
	}

	0% {
		transform: translate(0px, 0px);
	}
}

@-ms-keyframes fwave02 {
	25% {
		transform: translate(80px, 9px);
	}

	50% {
		transform: translate(-30px, 0);
	}

	75% {
		transform: translate(80px, 9px);
	}

	0% {
		transform: translate(0px, 0px);
	}
}

/*
#footer .wave .wave03{
	z-index:30;

	-webkit-animation: wave03 10s infinite ease-in-out;
	-ms-animation: wave03 10s infinite ease-in-out;
	-o-animation: wave03 10s infinite ease-in-out;
	animation: wave03 10s infinite ease-in-out;
	}
@keyframes wave03 {
  25% { transform: translate(-50px,10px);}
  50% { transform: translate(-0px,0px);}
  75% { transform: translate(25px,10px);}
  0% { transform: translate(0px,0px);}
}
@-ms-keyframes wave03 {
  25% { transform: translate(-50px,10px);}
  50% { transform: translate(-0px,0px);}
  75% { transform: translate(25px,10px);}
  0% { transform: translate(0px,0px);}
}
*/

@media screen and (max-width: 1000px) {

	.step_slide .slick-list,
	.step_slide .slick-list {
		padding-right: 15%;
	}

	.step_slide .slick-next {
		left: calc(38% - 29px);
	}

}


@media screen and (max-width: 800px) {

	.step_area {
		padding-left: 8.1vw;
		box-sizing: border-box;
		margin: 40px 0 20px;
	}

	.step_slide .slick-list,
	.step_slide .slick-list {
		padding-right: 5%;
	}

	.step_slide li {
		margin-right: 29px;
	}

	.step {
		position: relative;
		background: #fff;
		padding: 73px 0 130px;
		border-radius: 15px;
		min-height: 600px;
	}



	.step .icon {
		display: block;
		position: absolute;
		width: 37px;
		/*72%*/
		top: 12px;
		right: 28px;
	}

	.step02 .icon {
		width: 50px;
		top: 11px;
		right: 18px;
	}

	.step03 .icon {
		width: 86px;
		top: 59px;
		right: 10px;
	}

	.step04 .icon {
		width: 59px;
		top: 27px;
		right: 21px;
	}

	.step05 .icon {
		width: 66px;
		top: 30px;
		right: 27px;
	}

	.step06 .icon {
		width: 53px;
		top: 11px;
		right: 18px;
	}

	.step07 .icon {
		width: 28px;
		top: 18px;
		right: 29px;
	}

	.step08 .icon {
		width: 46px;
		top: 10px;
		right: 20px;
	}

	.step09 .icon {
		width: 51px;
		top: 14px;
		right: 19px;
	}

	.step.slick-slide {
		transform: translateY(30px);
	}

	.step.slick-active.slick-current {
		transform: translateY(0);
	}

	.step .step_num {
		width: 100px;
		height: 32px;
		font-size: 11px;
		border-radius: 15px 0 15px 0;
		box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.step h4 {
		font-size: 20px;
		line-height: 25px;
		width: 85%;
		max-width: 600px;
	}

	.step .en {
		width: 85%;
		max-width: 600px;
		margin: 6px auto 25px;
		font-size: 10px;
	}

	.step p {
		width: 85%;
		max-width: 600px;
		font-size: 13px;
		line-height: 26px;
	}

	.step h5 {
		width: 87%;
		max-width: 600px;
		height: 28px;
		font-size: 12px;
		margin: 25px auto 0;
		padding-left: 15px;
	}

	.step .list_txt {
		max-width: 600px;
		font-size: 13px;
	}

	.step .list_txt span {
		font-size: 11px;
	}

	.step .bottom_txt {
		max-width: 600px;
		color: #ff8080;
		font-size: 11px;
		line-height: 20px;
		margin: 15px auto 0;
	}

	.step_slide .slick-next {
		left: auto;
		right: calc(3% + 20px);
		width: 40px;
		height: 40px;
	}

	.step_slide .slick-next::before {
		border-width: 3px 0 3px 6px;
	}

	.step_slide .slick-prev {
		left: -20px;
		width: 40px;
		height: 40px;

	}

	.step_slide .slick-prev::before {
		border-width: 3px 6px 3px 0;
	}

	.flow_wave {
		width: 900px;
		height: 151px;
		left: calc(50% - 450px);
		bottom: -15px;
	}

	.flow_wave::before {
		height: 15px;
	}

	.flow_wave::after {
		height: 15px;
		bottom: -15px;
	}

	@keyframes fwave {
		25% {
			transform: translate(-25px, 0px);
		}

		50% {
			transform: translate(25px, 0px);
		}

		75% {
			transform: translate(-25px, 0px);
		}

		0% {
			transform: translate(0px, 0px);
		}
	}

	@-ms-keyframes fwave {
		25% {
			transform: translate(-25px, 0px);
		}

		50% {
			transform: translate(25px, 0px);
		}

		75% {
			transform: translate(-25px, 0px);
		}

		0% {
			transform: translate(0px, 0px);
		}
	}

	@keyframes fwave02 {
		25% {
			transform: translate(40px, 4px);
		}

		50% {
			transform: translate(-15px, 0);
		}

		75% {
			transform: translate(40px, 4px);
		}

		0% {
			transform: translate(0px, 0px);
		}
	}

	@-ms-keyframes fwave02 {
		25% {
			transform: translate(40px, 4px);
		}

		50% {
			transform: translate(-15px, 0);
		}

		75% {
			transform: translate(40px, 4px);
		}

		0% {
			transform: translate(0px, 0px);
		}
	}
}

/* ==========================================================================
	support
========================================================================== */
.support {
	position: relative;
	width: 100%;
	padding: 152px 0 115px;
	background: #fff;
	box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.2);
}

.support h2::before {
	content: "";
	display: block;
	width: 122px;
	height: 87px;
	position: absolute;
	left: 0;
	right: 0;
	top: -104px;
	margin: auto;
	background: url(../image/service/support_icon.png);
	background-size: cover;
}

.support h2 {
	text-align: center;
}

.support .s_tit {
	text-align: center;
}

.support h3 {
	font-size: 26px;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
	margin: 54px auto 47px;
}

.support_inner{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.support .image_area{
	width: 40%;
	overflow: hidden;
	position: relative;
	border-radius: 30px;
}

.support .image_area img{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	object-fit: cover;
	object-position: 50% 50%;
	z-index: 1;
}

.support .text_area{
	width: 54%;
}

.support h4 {
	padding-top: 16px;
	margin-bottom: 50px;
}

.support h4 span {
	font-size: 20px;
	line-height: 34px;
	color: #699c5e;
	background: linear-gradient(transparent 97%, #699c5e 0%);
}

.support h5{
	margin-bottom: 20px;
}

.support h5 span {
	font-size: 14px;
	font-weight: 700;
	padding: 5px 16px 7px;
	background: #ded8c0;
	border-radius: 60px;
}

.support dl{
	font-size: 14px;
	line-height: 2;
	padding-left: 0.5em;
}

.support dl:not(:last-of-type){
	margin-bottom: 40px;
}

.support dl dt{
	font-size: 15px;
	font-weight: 700;
}

.support dl dd{
	margin-bottom: 1.5em;
}

.support dl dd p{
	text-indent: -1em;
	padding-left: 1em
}

/* .support ul {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.support li {
	width: 30%;
}

.support li:first-child h4 {
	padding-top: 0;
	margin-bottom: 0;
}

.support h4 span {
	font-size: 20px;
	line-height: 34px;
	color: #699c5e;
	background: linear-gradient(transparent 97%, #699c5e 0%);
}

.support img {
	border-radius: 24px;
	margin: 25px 0 27px;
}

.support p {
	width: 88%;
	margin: 0 auto;
	font-size: 14px;
	line-height: 28px;
	font-weight: 700;
}


.support .g_txt {
	display: block;
	font-size: 12px;
	line-height: 22px;
	color: #699c5e;
	width: 88%;
	margin: 5px auto 0;
	font-weight: 700;
} */

@media screen and (max-width: 1000px) {

	.support_inner{
		width: 95%;
		margin: 0 auto 0 0;
	}

	.support .image_area{
		border-radius: 0 30px 30px 0;
	}

}

@media screen and (max-width: 920px) {
	.support li:last-child h4 {
		padding-top: 36px;
		margin-bottom: 28px;
	}

}

@media screen and (max-width: 800px) {

	.support {
		padding: 95px 0 40px;
		box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.support h2::before {
		width: 76px;
		height: 54px;
		top: -58px;
	}

	.support h3 {
		font-size: 19px;
		line-height: 32px;
		margin: 30px auto;
	}

	.support .support_inner{
		width: 90%;
		margin: 0 auto;
	}

	.support .image_area{
		display: none;
	}

	.support .text_area{
		width: 100%;
	}

	.support h4 {
		padding-top: 0;
		margin-bottom: 30px;
	}

	.support h4 span {
		font-size: 15px;
		line-height: 28px;
		padding-bottom: 2px;
	}

.support h5 span {
	font-size: 13px;
	padding: 5px 16px 7px;
}

.support dl{
	font-size: 13px;
	padding-left: 0;
}

.support dl:not(:last-of-type){
	margin-bottom: 40px;
}

.support dl dt{
	font-size: 14px;
}

.support dl dd{
	margin-bottom: 1.5em;
}

/* 	.support ul {
		width: 75%;
	}

	.support li {
		width: 100%;
		margin-bottom: 40px;
	}

	.support h4 span br {
		display: inline;
	}

	.support img {
		border-radius: 12px;
		margin: 20px 0 14px;
	}

	.support p {
		width: 100%;
		font-size: 13px;
		line-height: 24px;
	}


	.support .g_txt {
		font-size: 11px;
		line-height: 20px;
		width: 100%;
		margin: 5px auto 0;
	} */

}

/* ==========================================================================
	qa
========================================================================== */
.qa {
	position: relative;
	width: 90%;
	max-width: 1200px;
	margin: 135px auto 100px;
}

.qa .title {
	position: relative;
	text-align: center;
}

.qa .title::before {
	content: "";
	display: block;
	width: 141px;
	height: 56px;
	position: absolute;
	left: 0;
	right: 0;
	top: -84px;
	margin: auto;
	background: url(../image/service/qa_icon.png);
	background-size: cover;
}

.qa .s_tit {
	text-align: center;
}

.qa ul {
	position: relative;
	width: 100%;
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin: 40px auto 0;
	z-index: 10;
}

.qa ul li {
	position: relative;
	width: 48.8%;
	margin: 0 0 20px;
	padding: 27px 74px 27px 100px;
	box-sizing: border-box;
	min-height: 60px;
	box-sizing: border-box;
	cursor: pointer;
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-moz-border-radius: 45px;
	-webkit-border-radius: 45px;
	border-radius: 45px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
}

.qa ul li h3 {
	position: absolute;
	font-size: 36px;
	font-weight: 700;
	color: #fc817c;
	top: 21px;
	left: 44px;
}

.qa ul li h4 {
	width: 100%;
	font-size: 19px;
	line-height: 32px;
	font-weight: 700;
}

.qa ul li span {
	display: block;
	position: absolute;
	width: 18px;
	height: 18px;
	right: 40px;
	top: 35px;
}

.qa ul li span::before {
	content: "";
	display: block;
	position: absolute;
	width: 18px;
	height: 2px;
	background: #f98284;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.qa ul li span::after {
	content: "";
	display: block;
	position: absolute;
	width: 2px;
	height: 18px;
	background: #f98284;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	opacity: 100;

}

.qa ul .active span::after {
	opacity: 0;
}

.qa ul li div {
	display: none;
	position: relative;
	padding: 22px 0 0;
	overflow: visible !Important;
}

.qa ul li h5 {
	display: block;
	position: absolute;
	font-size: 36px;
	font-weight: 700;
	color: #27809e;
	top: 19px;
	left: -53px;
}

.qa ul li div p {
	font-size: 14px;
	line-height: 28px;
	color: #646464;
}




.qa .inview {
	display: block;
	width: 260px;
	position: absolute;
	right: 77px;
	top: 0;
	opacity: 0;
	z-index: 50;
	transform: translateY(50px);
	transition: 1s;
	z-index: 1;
}


.qa .inview.move {
	opacity: 1;
	transform: translateY(0px);
	transition: 1s;

}


@media screen and (max-width: 1040px) {
	.qa .inview {
		right: calc(50% - 390px);
	}
}

@media screen and (max-width: 800px) {

	.qa {
		width: 93%;
		margin: 115px auto 97px;
	}

	.qa .title::before {
		width: 101px;
		height: 40px;
		top: -55px;
	}

	.qa ul {
		margin: 75px auto 0;
	}

	.qa ul li {
		position: relative;
		width: 100%;
		margin: 0 0 10px;
		padding: 20px 50px 20px 60px;
		-moz-border-radius: 27px;
		-webkit-border-radius: 27px;
		border-radius: 27px;
		box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.qa ul li h3 {
		position: absolute;
		font-size: 20px;
		top: 19px;
		left: 29px;
	}

	.qa ul li h4 {
		font-size: 15px;
		line-height: 22px;
	}

	.qa ul li span {
		width: 16px;
		height: 16px;
		right: 25px;
		top: 21px;
	}

	.qa ul li span::before {
		width: 16px;
		height: 2px;
	}

	.qa ul li span::after {
		width: 2px;
		height: 16px;
	}

	.qa ul li div {
		display: none;
		position: relative;
		padding: 15px 0 0;
	}

	.qa ul li h5 {
		display: block;
		position: absolute;
		font-size: 20px;
		font-weight: 700;
		color: #27809e;
		top: 15px;
		left: -30px;
	}

	.qa ul li div p {
		font-size: 13px;
		line-height: 21px;
	}




	.qa .inview {
		display: block;
		width: 190px;
		position: absolute;
		right: 0;
		left: calc(50% - 117px);
		top: 40px;
		transform: translateY(25px);
	}


}

/* ==========================================================================
	voice
========================================================================== */
.voice {
	position: relative;
	width: 93%;
	max-width: 1300px;
	background: #fff;
	margin: 0 auto 130px;
	padding: 65px 15px 75px;
	border-radius: 45px;
	background: #fff;
	box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
}

.voice::before {
	content: "";
	display: block;
	width: 85px;
	height: 106px;
	position: absolute;
	left: 164px;
	top: -60px;
	background: url(../image/service/voice_icon.png);
	background-size: cover;
}

.voice h2 {
	font-size: 30px;
	font-weight: 700;
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 15px;
}

.voice h2 span {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	margin-left: 10px;
}

.voice .s_tit {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}


.column_list {
	position: relative;
	-js-display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 90%;
	max-width: 1000px;
	margin: 54px auto 0;
}

.column_list a {
	display: block;
	position: relative;
	margin: 0 3% 0 0;
	width: 31.3%;
}

.column_list a:nth-child(3n) {
	margin-right: 0;
}

.column_list .cate {
	position: absolute;
	left: 24px;
	top: -15px;
	z-index: 10;
}

.column_list .cate span {
	display: inline-block;
	background: #fff;
	border: 1px solid #333;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	color: #333;
	box-sizing: border-box;
	margin-right: 2px;
	border-radius: 12px;
}

.column_list .cate .new {
	padding: 6px 10px;
	color: #fff;
	background: #ff8080;
	border-color: #ff7d85;
	font-size: 10px;
}

.column_list .img_area {
	position: relative;
	z-index: 1;
	overflow: hidden;
	background-position: center center;
	background-size: cover;
	border-radius: 30px;
}

.column_list .img_area::before {
	content: "";
	display: block;
	padding-top: 64%;

}

.column_list .img_area::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0;
	left: 0;
	top: 0;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.column_list a:hover .img_area::after {
	opacity: .2;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;

}

.column_list h4 {
	font-size: 18px;
	line-height: 28px;
	font-weight: 700;
	margin: 20px 0 15px;
	color: #333;
	-webkit-transition: color 0.4s ease;
	-moz-transition: color 0.4s ease;
	-o-transition: color 0.4s ease;
	transition: color 0.4s ease;
}

.column_list a:hover h4 {
	color: #69a15e;
	-webkit-transition: color 0.4s ease;
	-moz-transition: color 0.4s ease;
	-o-transition: color 0.4s ease;
	transition: color 0.4s ease;
}

.column_list p {
	font-size: 12px;
	color: #69a15e;
	font-weight: 700;
}

.voice .link_btn {
	width: 175px;
	position: absolute;
	top: 60px;
	right: 160px;
	padding-left: 20px;
}

.voice .link_btn::before {
	content: "";
	display: block;
	width: 12px;
	height: 11px;
	position: absolute;
	left: calc(50% - 55px);
	top: 0;
	bottom: 0;
	margin: auto;
	background: url(../image/column/ichiran_icon.png);
	background-size: cover;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	border: none;
}

.voice .link_btn:hover::before {
	background-image: url(../image/column/ichiran_icon_af.png);
}



@media screen and (max-width: 800px) {


	.voice {
		width: 88%;
		margin: 0 auto 125px;
		padding: 40px 0 70px;
		border-radius: 30px;
		box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
	}

	.voice::before {
		width: 60px;
		height: 75px;
		left: calc(50% - 26px);
		top: -52px;
	}

	.voice h2 {
		font-size: 19px;
		width: 90%;
		max-width: 1000px;
		margin: 0 auto 10px;
		text-align: center;
	}

	.voice h2 span {
		display: block;
		font-size: 11px;
		margin: 7px auto 0;
		text-align: center;
	}

	.voice .s_tit {
		width: 90%;
		text-align: center;
	}


	.column_list {
		width: 85%;
		margin: 40px auto 0;
	}

	.column_list a {
		display: block;
		position: relative;
		margin: 0 0 43px;
		width: 100%;
	}

	.column_list .cate {
		left: 23px;
		top: -13px;
	}

	.column_list .cate span {
		font-size: 11px;
		padding: 4px 10px;
		margin-right: 3px;
		border-radius: 12px;
	}

	.column_list .cate .new {
		padding: 6px 10px;
		font-size: 10px;
	}

	.column_list .img_area {
		border-radius: 15px;
	}

	.column_list .img_area::before {
		padding-top: 64%;
	}

	.column_list h4 {
		width: 92%;
		font-size: 14px;
		line-height: 21px;
		margin: 11px auto 13px;
	}

	.column_list p {
		width: 92%;
		margin: 0 auto;
		font-size: 11px;
	}

	.voice .link_btn {
		width: 220px;
		position: relative;
		top: auto;
		left: 0;
		right: 0;
		margin: auto;
		padding-left: 10px;
	}

	.voice .link_btn::before {
		width: 11px;
		height: 10px;
		left: calc(50% - 47px);
	}
}