/*css reset*/
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box;padding: 0; margin: 0;}
html,body{ padding: 0; margin: 0; font-family: "微软雅黑","Microsoft YaHei","思源黑体","Source Han Sans CN",sans-serif; line-height: normal;color: #000;}
ol, ul {list-style: none; padding: 0; margin: 0;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none; }
table {border-collapse: collapse; border-spacing: 0;}
th,td { vertical-align: middle;padding: 0;}
a{text-decoration:none;	outline: none;hlbr:expression(this.onFocus=this.blur());}
input, select,textarea {vertical-align: middle;padding: 0;border: 0 none;margin: 0;font-family: inherit;}
img, iframe {border: none; text-decoration:none;}
img{vertical-align: top;}
strong {font-weight: bold;}
h1,h2,h3,h4,h5,h6{padding: 0; margin: 0;font-size: inherit}
:focus {outline: 0;}
::-webkit-input-placeholder { /* WebKit browsers */
	color: inherit;
	opacity: 1;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: inherit;
	opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color: inherit;
	opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
	color: inherit;
	opacity: 1;
}
/*css common*/
.clearfix:after{content: "";display: block;clear: both;visibility: hidden;line-height: 0;height: 0;font-size:0;}
.clearfix{*zoom:1;}
a{
color: inherit;
font-size: inherit;
border:none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color:transparent;
outline:none；
}
sup{
	font-size:0.5em;
	vertical-align:top;
}
html.ie select::-ms-expand { display: none; }
html.ie input::-ms-clear { display: none; }
/*
	*:not(input,textarea){
	-webkit-touch-callout:none;
	-webkit-user-select:none;
}*/
@font-face {
    font-family: 'FontAwesome';
    src: url('../fonts/fa-regular-400.eot');
    src: url('../fonts/fa-regular-400.eot?#iefix') format('embedded-opentype'),
        url('../fonts/fa-regular-400.woff2') format('woff2'),
        url('../fonts/fa-regular-400.ttf') format('truetype'),
        url('../fonts/fa-regular-400.svg#Roboto-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'FontAwesome';
    src: url('../fonts/fa-solid-900.eot');
    src: url('../fonts/fa-solid-900.eot?#iefix') format('embedded-opentype'),
        url('../fonts/fa-solid-900.woff2') format('woff2'),
        url('../fonts/fa-solid-900.ttf') format('truetype'),
        url('../fonts/fa-solid-900.svg#FontAwesome5Pro-Solid') format('svg');
    font-weight: 900;
    font-style: normal;
}



:root{
	--theme-green: #059A00;
	--theme-blue: #2990D0;
}

svg *{
	fill: inherit;
}

.mobile{
	display: none;
}
.web{
	display: inline-block;
}
.bg{
	width: 100%;
}
html {
	height: 100%;
	scroll-behavior: smooth;
	font-size: calc(100vw * 16 / 1920);
}
body{
	position: relative;
	height: 100%;
	margin: 0 auto;
    -webkit-text-size-adjust: 100% !important;
	scroll-behavior: smooth;
}
body.noscroll{
	overflow: hidden;
}
.inner{
	max-width: 90%;
	margin: 0 auto;
}
.inner.w1800{
	width: 112.5em;
}
.inner.w1714{
	width: 107.125em;
}
.inner.w1620{
	width: 101.25em;
}
.inner.w1560{
	width: 97.5em;
}
.inner.w1520{
	width: 95em;
}
.inner.w1474{
	width: 92.125em;
}
.inner.w1270{
	width: 79.375em;
}
.text-anime-style-1,.text-anime-style-2{
	opacity: 0;
}
.appearanceNone{
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	padding: 0;
	margin: 0;
	border: 0 none;
}

/* .marquee img{
	cursor: pointer;
	filter: grayscale(1);
	transition: filter 0.5s;
}
.marquee img:hover{
	filter: grayscale(0);
} */

.banner{
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
	padding:17.1% 0 16.5%;
	color:#fff;
}
.banner.about{
	background-image:url(../images/banner_about.jpg);
}
.banner.product{
	background-image:url(../images/banner_product.jpg);
}
.banner.hr{
	background-image:url(../images/banner_hr.jpg);
}
.banner.contact{
	background-image:url(../images/banner_contact.jpg);
}
.banner.csr{
	background-image:url(../images/banner_csr.jpg);
}
.banner.subsidiary{
	background-image:url(../images/banner_subsidiary.jpg);
}
.banner .inner div{
	display:inline-block;
	text-align:center;
}
.banner h1{
	font-size:4em;
	line-height:1.5;
	margin-bottom:0.3125em;
}
.banner h2{
	font-size:2em;
	line-height:1.25;
}

.pop-cover{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	z-index: 99;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.5s;
}
.pop-cover.active{
	opacity: 1;
	pointer-events: auto;
}
.pop-cover .pop-box{
	max-width: 90%;
	object-fit: cover;
	position: relative;
}
.pop-cover .pop-close{
	position: absolute;
	top: -1.25em;
	right: -1.25em;
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
	cursor: pointer;
	color: var(--theme-blue);
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pop-cover .pop-close::before{
	content: "\f00d";
	font-family: "fontAwesome";
	font-size: 1.5em;
}
.pop-cover .pop-box.video{
	width: 60em;
}
.pop-cover .pop-box.video video{
	width: 100%;
}


#totop{
	background-color:var(--theme-blue);
	width:3em;
	height:3em;
	border-radius:0.25em;
	position:fixed;
	right:2em;
	bottom:10%;
	z-index:90;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	opacity:0;
	pointer-events:none;
	transition:opacity 0.5s;
}
#totop.active{
	opacity:1;
	pointer-events:auto;
}
#totop::before{
	content: "\f176";
	font-family: "fontAwesome";
}



#wrap{
	padding-bottom: 5.75em;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
.section{
	overflow: hidden;
}
.swiper{
	width: 100%;
}
.odometer{
	font-family: inherit;
}
.odometer.nopoint .odometer-formatting-mark{
	display: none;
}
.odometer.nopoint .odometer-digit:last-child{
	display: none;
}
.odometer .odometer-digit-spacer,.odometer .odometer-digit{
	vertical-align: top !important;
}

.ani-leftin,.ani-leftin-web{
	transform: translate(-50vw,0);
	opacity: 0;
	transition: transform 0.75s,opacity 0.75s;
}
.ani-rightin,.ani-rightin-web{
	transform: translate(50vw,0);
	opacity: 0;
	transition: transform 0.75s,opacity 0.75s;
}
.ani-downin{
	transform: translate(0,20vh);
	opacity: 0;
	transition: transform 0.75s,opacity 0.75s;
}
.ani-rightin.actived,.ani-leftin.actived,.ani-rightin-web.actived,.ani-leftin-web.actived,.ani-downin.actived{
	transform: translate(0,0);
	opacity: 1;
}
@keyframes aniupdown {
    0%{
        opacity: 0;
        transform: translateY(-50%);
    }
    50%{
        opacity: 1;
        transform: translateY(0);
    }
    100%{
        opacity: 0;
        transform: translateY(50%);
    }
}

/*header*/
#header{
	position: absolute;
	top: 1.5em;
	left: 0;
	right: 0;
	z-index: 101;
	border-radius: 0.625em;
}
#header.fixed{
	animation: headerslidedown 0.5s;
	transition: background-color 0.5s;
	position: fixed;
}
@keyframes headerslidedown {
	0%{
		transform: translateY(-100%);
	}
	100%{
		transform: translateY(0);
	}
}
#header.white,#header.fixed{
	background-color:#fff;
	box-shadow:0 0 1em rgba(0,0,0,0.3);
}
#header .inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: row;
	max-width:100%;
	width:100%;
	padding:0 5em;
}
#header .logo{
	width: 15em;
	position:relative;
	z-index:1;
}
#header .nav-box{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
}
#header .nav-box li{
	margin-right:0.5em;
	height: 5em;
	display:flex;
	align-items:center;
	position:relative;
}
#header .nav-box li:last-child{
	margin-right:0;
}
#header .nav-box li > a{
	transition: background-color 0.5s;
	font-weight: 600;
	display: block;
	height:1.84em;
	line-height:1.84;
	color:#fff;
	border-radius:0.92em;
	padding:0 1.8em;
}
#header .nav-box li.active > a{
	background-color:var(--theme-blue);
}
#header .nav-box .subnav{
	position: absolute;
	left: 50%;
	top: 5em;
	pointer-events: none;
	transform: rotateX(90deg) translateX(-50%);
	transition: opacity 0.5s,transform 0.5s;
	transform-origin: center top;
	opacity: 0;
	background-color: rgba(255, 255, 255, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(2.5em);
	border-radius: 0.625em;
	overflow:hidden;
}
#header .nav-box li .subnav.hover{
	opacity: 1;
	pointer-events: auto;
	transform: rotateX(0deg) translateX(-50%);
}
#header .nav-box .subnav a{
	display: block;
	transition: background-color 0.5s;
	height:2.5em;
	line-height:2.5;
	color:#fff;
	position:relative;
	white-space:nowrap;
	padding:0 2.5em;
}
#header .nav-box .subnav a.active{
	background-color:var(--theme-blue);
}
#header .nav-box .subnav a::before{
	display:block;
	content:"";
	height:1px;
	position:absolute;
	left:0.5em;
	right:0.5em;
	bottom:0;
	background:linear-gradient(to right, rgba(255,255,255,0.15), rgba(255,255,255,1), rgba(255,255,255,0.15));
	opacity:0.35;
}
#header .nav-box .subnav a:last-child::before{
	display:none;
}
#header .nav-box .subnav a span{
	position:relative;
	display:block;
}
#header .nav-box .subnav a span::before{
    font-family: 'FontAwesome';
	content:"\f105";
	position:absolute;
	left:-1.5em;
	top:50%;
	transform:translateY(-50%);
	opacity:0;
	transition:opacity 0.5s, left 0.5s;
}
#header .right-part{
	display: flex;
	align-items: center;
	flex-direction: row;
	font-size:1.25em;
}
#header .tel{
	font-weight: bold;
	margin-left: 4em;
	margin-right: 1.875em;
	color:#fff;
	transition:color 0.5s;
}
#header .tel::before{
    font-family: 'FontAwesome';
    font-weight:900;
	content:"\f879";
	margin-right:0.5em;
	vertical-align:middle;
	font-size:1.25em;
}
#header .language{
	stroke:#fff;
	position:relative;
	padding:1em 0;
	cursor:pointer;
}
#header .language svg{
	stroke:inherit;
	width:1.375em;
	transition:stroke 0.5s;
	vertical-align:top;
}
#header .language .slide{
	position: absolute;
	left: 50%;
	top: 100%;
	pointer-events: none;
	transform: rotateX(90deg) translateX(-50%);
	transition: opacity 0.5s,transform 0.5s;
	transform-origin: center top;
	opacity: 0;
	background-color: rgba(255, 255, 255, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(2.5em);
	border-radius: 0.625em;
	overflow:hidden;
}
#header .language:hover .slide{
	opacity: 1;
	pointer-events: auto;
	transform: rotateX(0deg) translateX(-50%);
}
#header .language .slide a{
	display: block;
	transition: background-color 0.5s;
	height:2.5em;
	line-height:2.5;
	color:#fff;
	position:relative;
	white-space:nowrap;
	padding:0 2.5em;
}
#header .language .slide a.active{
	background-color:var(--theme-blue);
}
#header .language .slide a:hover{
	background-color:var(--theme-blue);
}
#header .language .slide a::before{
	display:block;
	content:"";
	height:1px;
	position:absolute;
	left:0.5em;
	right:0.5em;
	bottom:0;
	background:linear-gradient(to right, rgba(255,255,255,0.15), rgba(255,255,255,1), rgba(255,255,255,0.15));
	opacity:0.35;
}
#header .language .slide a:last-child::before{
	display:none;
}
#header .language .slide a span{
	position:relative;
	display:block;
}
#header .language .slide a span::before{
    font-family: 'FontAwesome';
	content:"\f105";
	position:absolute;
	left:-1.5em;
	top:50%;
	transform:translateY(-50%);
	opacity:0;
	transition:opacity 0.5s, left 0.5s;
}
#header .language .slide a:hover span::before{
	left:-1em;
	opacity:1;
}



/*footer*/
#footer{
	background-color: var(--theme-blue);
	margin-top: -5.75em;
	height: 5.75em;
	position: relative;
	color: #fff;
	overflow: hidden;
}
#footer .inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction:row-reverse;
	height:100%;
}
#footer ul{
	display:inline-block;
}
#footer li{
	display:inline-block;
	margin-right:3em;
	font-weight:bold;
}
#footer .icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:2.625em;
	width:2.625em;
	background-color:#fff;
	margin-right:0.875em;
	border-radius:50%;
}
#footer .icon svg{
	width:1.25em;
}
#footer h5{
	font-weight:normal;
	display:inline-block;
}
#footer h5 span{
	font-size:1.125em;
}
#footer h5 a{
	display:inline-block;
	margin-left:1.75em;
	width:10.9375em;
	height:3em;
	line-height:3;
	text-align:center;
	color:var(--theme-blue);
	background-color:#fff;
	border-radius:0.5em;
	font-weight:bold;
}



#sidenav{
	display: none;
}
@media only screen and (min-width:1025px){
	#header .nav-box li:hover > a{
		background-color:var(--theme-blue);
	}
	#header .nav-box .subnav a:hover{
		background-color:var(--theme-blue);
	}
	#header .nav-box .subnav a:hover span::before{
		left:-1em;
		opacity:1;
	}
	#header .tel:hover,#header .language:hover{
		stroke:var(--theme-blue);
		color:var(--theme-blue);
	}
}


@media only screen and (max-width:1024px){
	html { 
	    -webkit-text-size-adjust: 100%;
	    -moz-text-size-adjust: 100%;
	    -ms-text-size-adjust: 100%;
	    -o-text-size-adjust: 100%;
	    text-size-adjust: 100%;
		font-size: calc(100vw * 10 / 375);
	}
	.mobile{
		display: inline-block;
	}
	.web{
		display: none;
	}

	*{
		scrollbar-width: none;
	}
	*::-webkit-scrollbar{
		display: none;
	}

	.banner{
		padding:25% 0 20%;
	}
	.banner h1{
		font-size:3em;
	}
	.banner h2{
		font-size:1.75em;
	}

	.ani-leftin-web{
		transform: translate(0,20vh);
	}
	.ani-rightin-web{
		transform: translate(0,20vh);
	}

	#wrap{
		padding-bottom: 32em;
	}


	/*footer*/
	#footer{
		margin-top: -32em;
		height: 32em;
	}
	#footer .inner{
		text-align:center;
		align-items:stretch;
		justify-content:center;
		flex-direction:column;
	}
	#footer ul{
		display:inline-flex;
		align-items:flex-start;
		justify-content:flex-start;
		flex-direction:column;
		font-size:1.25em;
	}
	#footer li{
		margin-right:0;
		margin-bottom:1.5em;
	}
	#footer li:last-child{
		margin-bottom:0;
	}
	#footer h5{
		font-size:1.5em;
		margin:2em 0;
	}
	#footer h5 a{
		margin-left:0;
		margin-top:1.5em;
	}
	#footer p{
		font-size:1.25em;
		line-height:1.75;
	}


	/*header*/
	#header.slideshow{
		fill: #000;
		border-color: transparent;
	}
	#header .inner{
		height: 5em;
		padding:0 5%;
	}
	#header .logo{
		width: 10em;
	}
	#header .nav-box{
		display: none;
	}
	#header .tel{
		display:none;
	}
	#header .language svg{
		width:2em;
	}
	#header.slideshow .language svg{
		stroke: var(--theme-blue);
	}
	#header .menu{
		width: 2em;
		position: relative;
		margin-left:2em;
	}
	#header .menu div{
		position: absolute;
		width: 100%;
		height: 2px;
		background-color: #fff;
		left: 0;
		top: 50%;
		margin-top: -1px;
		transition: transform 0.5s,opacity 0.5s;
	}
	#header.white .menu div,#header.fixed .menu div{
		background-color: #fff;
	}
	#header.slideshow .menu div{
		background-color: var(--theme-blue);
	}
	#header .menu div:nth-child(1){
		transform: translate(0,-0.75em);
		animation: lineone 1s infinite;
	}
	#header .menu div:nth-child(2){
		animation: linetwo 1s infinite;
	}
	#header .menu div:nth-child(3){
		transform: translate(0,0.75em);
		animation: linethree 1s infinite;
	}
	#header.slideshow .menu div{
		animation-play-state: paused;
		width: 100% !important;
	}
	#header.slideshow .menu div:nth-child(1){
		transform: translate(0,0) rotate(45deg);
	}
	#header.slideshow .menu div:nth-child(2){
		opacity: 0;
	}
	#header.slideshow .menu div:nth-child(3){
		transform: translate(0,0) rotate(-45deg);
	}
	@keyframes lineone {
		0% {
		   width: 100%;
		}
		25% {
		   width: 25%;
		}
		50% {
		   width: 50%;
		}
		100% {
		   width: 100%;
		}
	}
	@keyframes linetwo {
		0% {
		   width: 72%;
		}
		25% {
		   width: 100%;
		}
		50% {
		   width: 50%;
		}
		100% {
		   width: 72%;
		}
	}
	@keyframes linethree {
		0% {
		   width: 88%;
		}
		25% {
		   width: 100%;
		}
		50% {
		   width: 25%;
		}
		100% {
		   width: 88%;
		}
	}



	#sidenav{
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		width: 100%;
		background-color: #fff;
		z-index: 100;
		overflow: auto;
		padding-top: 9em;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.75s;
	}
	#sidenav.slideshow{
		opacity: 1;
		pointer-events: auto;
	}
	#sidenav .nav-box li{
		margin-bottom: 1.5em;
	}
	#sidenav .nav-box li:last-child{
		margin-bottom: 0;
	}
	#sidenav .nav-box li > a{
		font-size: 1.6em;
		font-weight: 500;
	}
	#sidenav .nav-box li > a.active{
		color:var(--theme-blue);
	}
	#sidenav .nav-box li > a span{
		vertical-align: middle;
	}
	#sidenav .nav-box li.haschildren > a::after{
		content: "+";
		display: inline-block;
		vertical-align: middle;
		margin-left: 0.8125em;
	}
	#sidenav .nav-box li.haschildren.active > a::after{
		content: "-";
	}
	#sidenav .nav-box .subnav{
		display: none;
		margin-top: 1em;
	}
	#sidenav .nav-box .subnav a{
		display: block;
		font-size:1.5em;
		line-height:2;
	}
	#sidenav .nav-box .subnav a.active{
		color:var(--theme-blue);
	}
}