.kv{
	position:sticky;
	top:0;
	color:#fff;
	height:100vh;
	overflow:hidden;
}
.kv video{
	width: 100%;
	height:100%;
	object-fit:cover;
	object-position: center bottom;
}
.kv h1{
	position: absolute;
	left: 5%;
	right: 5%;
	top: 37.9%;
	font-size: 4em;
	line-height: 1.4375;
	font-weight: normal;
	text-align: center;
}
.kv svg{
	width: 1.625em;
	position: absolute;
	left: 50%;
	bottom: 2.5em;
	margin-left: -0.8125em;
	fill: #fff;
	animation: arrow 1s infinite;
}
@keyframes arrow{
	100%{
		opacity: 0;
		transform: translateY(100%);
	}
}

.section{
	position: relative;
}


.sec1{
	overflow: hidden;
	position: relative;
}
.sec1 .inner{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	padding-top: 10%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
}
.sec1 .inner.white{
	color: #fff;
}
.sec1 video{
	object-fit: cover;
	vertical-align: top;
}
.sec1 h3{
	font-size: 3.625em;
	line-height: 1.586;
	font-weight: normal;
}
.sec1 h3 span{
	color: var(--theme-blue);
}
.sec1 p{
	font-size: 1.125em;
	line-height: 1.67;
	width: 65em;
	max-width: 100%;
	margin: 1em 0 1.33em;
}
.sec1 .btn{
	width: 4.75em;
	height: 4.75em;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sec1 .btn svg{
	width: 28%;
	fill: var(--theme-blue);
}
.sec1 .btn .play{
	margin-left: 6%;
}
.sec1 .btn.paused .play{
	display: none;
}
.sec1 .btn .paused{
	display: none;
}
.sec1 .btn.paused .paused{
	display: inline-block;
}



.sec2{
	overflow: hidden;
	position: relative;
}
.sec2 .inner{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	padding-top: 7.8125%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
}
.sec2 h3{
	font-size: 3.625em;
	line-height: 1.586;
	font-weight: normal;
}
.sec2 ul{
	margin-top: 1em;
}
.sec2 li{
	font-size: 1.125em;
	line-height: 1.67;
	padding-left: 1em;
}
.sec2 li span{
	display: inline-block;
	vertical-align: middle;
	width: 2em;
	font-size: 0.5em;
	margin-left: -2em;
}



.sec3{
	background-color: #fff;
	background-repeat: no-repeat;
	background-image: url(../images/solution_l4_new_sec3_bg.jpg);
	background-position: center center;
	background-size: cover;
	padding: 7.6% 0;
}
.section:last-child .sec3{
	padding-bottom: calc(4.375em + 7.6%);
}
.sec3 .inner{
	width: 75em;
}
.sec3 .swiper-slide{
	border-radius: 0.75em;
	background-color: #fff;
}
.sec3 .swiper-slide .img-box{
	border-radius: 0.75em;
	overflow: hidden;
}
.sec3 .swiper-slide .text-box{
	padding: 7% 6.4% 8.5%;
}
.sec3 .swiper-slide .text-box p{
	font-size: 1.125em;
	line-height: 1.333;	
	text-overflow: ellipsis;
	overflow: hidden;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}




.page-box{
	position: fixed;
	right: 4em;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.5s;
	z-index: 1;
}
.page-box.show{
	opacity: 1;
	pointer-events: auto;
}
.page-box::before{
	content: "";
	display: block;
	width: 0.125em;
	height: 100%;
	position: absolute;
	right: 0.3125em;
	top: 0;
	z-index: -1;
	background: linear-gradient(to bottom,#C2E3FF 0% ,var(--theme-blue) 1.5em,var(--theme-blue) calc(100% - 1.5em),#C2E3FF 100%);
}
.page-box a{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 0.4375em 0;
	color: #999;
	cursor: pointer;
}
.page-box a.active{
	color: var(--theme-blue);
}
.page-box a::after{
	content: "";
	display: block;
	width: 0.625em;
	height: 0.625em;
	border-radius: 50%;
	border: 1px solid var(--theme-blue);
	background-color: #fff;
	margin-left: 0.5em;
}
.page-box a.active::after{
	background-color: var(--theme-blue);
}
.page-box a p{
	font-size: 1.125em;
	line-height: 1.333;
}



@media only screen and (min-width:1025px){
}
@media only screen and (max-width:1024px){
	.kv h1{
		font-size: 3em;
	}

	.sec1{
		height: 130vw;
	}
	.sec1 video{
		height: 100%;
	}
	.sec1 h3{
		font-size: 2.5em;
	}



	.sec2{
		height: 90vw;
	}
	.sec2 > img{
		object-fit: cover;
		height: 100%;
	}
	.sec2 .inner{
		padding-top: 10%;
	}
	.sec2 h3{
		font-size: 2.5em;
	}
	.sec2 ul{
		margin-top: 1.5em;
	}


	.sec3{
		padding: 15% 0;
	}
	.section:last-child .sec3{
		padding-bottom: calc(4em + 15%);
	}

	.page-box{
		right: 5%;
	}
}