.banner {
	position: relative;
	overflow: hidden
}

.banner .bg {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1
}

.banner .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.banner .content {
	position: relative;
	z-index: 2;
	height: 1080px
}

.banner .content .banner_txt {
	padding-top: 334px
}

.banner .content .banner_txt .text_ani .char2,
.banner .content .banner_txt .text_ani .char3,
.banner .content .banner_txt .text_ani .char4 {
	color: #c6b086
}

.banner .content h3 {
	font-size: 64px;
	font-weight: lighter;
	margin-top: 20px
}

.banner .content .right {
	text-align: right;
	position: absolute;
	bottom: 130px;
	right: 75px
}

.banner .content .right p {
	display: inline-block;
	width: 270px;
	text-align: left;
	font-weight: 300;
	font-size: 16px;
	line-height: 25px
}

.banner .content .right p:last-child {
	margin-left: 180px
}

.banner .content .right p span {
	color: #c6b086;
	font-size: 12px
}

@media screen and (max-width: 1100px) {
	.banner .content .right p:last-child {
		margin-left: 80px
	}
}

@media screen and (max-width: 750px) {
	.banner .content {
		height: auto
	}

	.banner .content .banner_txt {
		padding-top: 46.66666667vw
	}

	.banner .content h3 {
		font-size: 8.53333333vw;
		margin-bottom: 17.33333333vw
	}

	.banner .content .right {
		position: relative;
		right: auto;
		bottom: auto;
		text-align: left;
		padding-bottom: 20vw
	}

	.banner .content .right p {
		width: 40%;
		margin-right: 40%;
		font-size: 14px
	}

	.banner .content .right p:last-child {
		margin-left: 0;
		margin-top: 8vw
	}
}

.serve {
	position: relative;
	overflow: hidden;
	background-color: #0f0f0f
}

.serve .bg {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1
}

.serve .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 0 0
}

.serve .content {
	position: relative;
	z-index: 2;
	padding-top: 120px;
	padding-bottom: 175px
}

.serve .content .serve_txt {
	margin-bottom: 60px
}

.serve .content .list {
	width: 100%;
	overflow: hidden;
	font-size: 0
}

.serve .content .list .swiper-wrapper {
	-webkit-transition-timing-function: linear;
	-moz-transition-timing-function: linear;
	-ms-transition-timing-function: linear;
	-o-transition-timing-function: linear;
	transition-timing-function: linear
}

.serve .content .list .swiper-slide {
	width: 420px
}

.serve .content .list .card {
	width: 420px;
	display: inline-grid;
	margin-right: 30px;
	flex: none
}

.serve .content .list .card .pic {
	background-color: #6262621a;
	text-align: center;
	padding: 60px 0 30px;
	border-radius: 16px 16px 0 0 ;
	backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	position: relative
}

.serve .content .list .card .pic img {
	width: 120px;
	height: 120px;
	margin-bottom: 20px
}

.serve .content .list .card .pic .name {
	font-size: 20px;
	color: #edeae4;
	font-weight: 500;
	line-height: 32px
}

.serve .content .list .card .pic .name span {
	font-size: 12px;
	color: #ffffff4d;
	line-height: 20px;
	font-weight: 300
}

.serve .content .list .card .pic .num {
	font-size: 12px;
	margin-top: 30px;
	color: #edeae4
}

.serve .content .list .card .pic .num span {
	color: #c6b086;
	margin: 0 5px
}

.serve .content .list .card ul {
	background-color: #0003;
	backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	height: 260px;
	padding: 60px 30px 0;
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px
}

.serve .content .list .card ul a {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 30px
}

.serve .content .list .card ul a span {
	font-size: 16px;
	font-weight: 300;
	line-height: 30px;
	color: #edeae4
}

.serve .content .list .card ul a span.off_txt {
	display: none
}

.serve .content .list .card ul a.off span {
	color: #6a6864
}

.serve .content .list .card ul a.off span:last-child {
	background-color: #1b1b1c;
	border-radius: 30px;
	padding: 0 20px;
	font-size: 12px
}

.serve .content .list .card ul a:hover {
	cursor: pointer
}

.serve .content .list .card ul a:hover span {
	font-weight: 500;
	color: #c6b086
}

.serve .content .list .card ul a:hover.off {
	cursor: no-drop
}

.serve .content .list .card ul a:hover.off span {
	font-weight: 300;
	color: #6a6864
}

.serve .content .list .card ul a:hover.off span.arr {
	display: none
}

.serve .content .list .card ul a:hover.off span.off_txt {
	display: block
}

@media screen and (max-width: 750px) {
	.serve .content .list .card {
		width: 56vw
	}

	.serve .content .list .card .pic {
		padding-top: 8vw
	}

	.serve .content .list .card .pic img {
		width: 16vw;
		height: 16vw;
		margin-bottom: 2.66666667vw
	}

	.serve .content .list .card .pic .name {
		font-size: 3.2vw;
		line-height: 5.33333333vw
	}

	.serve .content .list .card .pic .name span {
		font-size: 2.66666667vw
	}

	.serve .content .list .card .pic .num {
		margin-top: 4vw
	}

	.serve .content .list .card ul {
		padding-top: 8vw;
		height: 40vw
	}

	.serve .content .list .card ul a {
		padding-bottom: 4vw
	}

	.serve .content .list .card ul a span {
		font-size: 2.66666667vw;
		line-height: 4.66666667vw
	}

	.serve .content .list .card ul a span.off_txt {
		display: none !important
	}
}

@media screen and (max-width: 750px) {
	.serve .content {
		padding-top: 16vw;
		padding-bottom: 16vw
	}
}

.case {
	position: relative;
	overflow: hidden
}

.case .content {
	position: relative;
	z-index: 2;
	padding-top: 120px;
	padding-bottom: 120px
}

.case .content .list {
	margin-top: 60px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px
}

.case .content .list>a {
	display: block;
	position: relative
}

.case .content .list>a .bg {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 16px
}

.case .content .list>a .bg>img {
	width: 100%;
	height: auto;
	opacity: 0
}

.case .content .list>a .bg .img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	border-radius: 16px;
	transition: all .1s ease-in
}

.case .content .list>a .bg .img img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.case .content .list>a p {
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 25px;
	margin-top: 20px
}

.case .content .list>a p span {
	font-size: 12px;
	font-weight: 300;
	color: #ffffff4d;
	line-height: 20px
}

.case .content .list>a:hover {
	cursor: pointer
}

.case .content .list>a:hover .bg .img {
	transform: scale(1.1)
}

.case .content .list>a:hover p {
	color: #c6b086
}

.case .content .bot {
	margin-top: 140px;
	text-align: center
}

.case .content .bot a {
	font-weight: 300;
	font-size: 16px;
	color: #6a6864
}

.case .content .bot a:hover {
	color: #c6b086;
	font-weight: 500
}

@media screen and (max-width: 1100px) {
	.case .content .list {
		grid-template-columns: repeat(2, auto)
	}
}

@media screen and (max-width: 750px) {
	.case .content {
		padding-top: 16vw;
		padding-bottom: 16vw
	}

	.case .content .list {
		grid-template-columns: repeat(1, auto)
	}

	.case .content .bot {
		margin-top: 18.66666667vw;
		text-align: left
	}

	.case .content .bot a {
		font-size: 2.66666667vw
	}
}

html,
body {
	margin: 0;
	padding: 0;
	color: #6a6864;
	background-color: #1b1b1c;
	font-size: 16px;
	font-family: PingFang SC;
	font-weight: 300
}

body {
	overflow-x: hidden
}

* {
	box-sizing: border-box
}

p,
h1,
h2,
h3,
h4 {
	margin: 0;
	padding: 0
}

a {
	text-decoration: none
}

a:hover {
	cursor: pointer
}

.ellipsis {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden
}

.img {
	overflow: hidden
}

.img img {
	width: 100%;
	height: 100%;
	position: relative
}

.content {
	max-width: 1920px;
	margin: 0 auto;
	padding: 0 75px
}

ul,
li {
	margin: 0;
	padding: 0;
	list-style: none
}

@media screen and (max-width: 1020px) {

	body,
	html {
		font-size: 14px
	}
}

@media screen and (max-width: 750px) {
	.content {
		padding-left: 4vw;
		padding-right: 4vw
	}
}

.ani {
	transition: all .3s ease-in
}

.ani_hide {
	opacity: 0;
	transform: translateY(50px);
	transition: all .3s ease-in
}

.ani_show {
	opacity: 1;
	transform: translateY(0);
	transition: all .3s ease-in
}

.flex {
	display: flex
}

.flex.inline {
	display: inline-flex
}

.row {
	display: flex;
	flex-direction: row
}

.row.inline {
	display: inline-flex
}

.column {
	display: flex;
	flex-direction: column
}

.column.inline {
	display: inline-flex
}

.wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.no-wrap {
	flex-wrap: nowrap
}

.reverse-wrap {
	flex-wrap: wrap-reverse
}

.justify-start {
	justify-content: flex-start
}

.justify-end {
	justify-content: flex-end
}

.justify-center {
	justify-content: center
}

.justify-between {
	justify-content: space-between
}

.justify-around {
	justify-content: space-around
}

.items-start {
	align-items: flex-start
}

.items-end {
	align-items: flex-end
}

.items-center {
	align-items: center
}

.items-baseline {
	align-items: baseline
}

.items-stretch {
	align-items: stretch
}

.content-start {
	align-content: flex-start
}

.content-end {
	align-content: flex-end
}

.content-center {
	align-content: center
}

.content-between {
	align-content: space-between
}

.content-around {
	align-content: space-around
}

.self-start {
	align-self: flex-start
}

.self-end {
	align-self: flex-end
}

.self-center {
	align-self: center
}

.self-baseline {
	align-self: baseline
}

.self-stretch {
	align-self: stretch
}

.info {
	position: relative;
	overflow: hidden;
	background-color: #0f0f0f
}

.info .content {
	position: relative;
	z-index: 2
}

.info .content .info-swiper {
	height: 696px
}

.info .content .info_txt0,
.info .content .info_txt1,
.info .content .info_txt2 {
	max-width: 1180px;
	margin: 0 auto;
	text-align: center
}

.info .content .swiper-slide {
	padding-top: 200px;
	background-color: #0f0f0f
}

@media screen and (max-width: 750px) {
	.info .content .info-swiper {
		height: 80vw
	}

	.info .content .info_txt0,
	.info .content .info_txt1,
	.info .content .info_txt2,
	.info .content .info_txt0 h1,
	.info .content .info_txt1 h1,
	.info .content .info_txt2 h1 {
		font-size: 7.73333333vw
	}

	.info .content .swiper-slide {
		padding-top: 24vw
	}
}