.ml7 {
	position: relative;
	font-weight: 900;
}

.ml7 .text-wrapper {
	position: relative;
	display: inline-block;
	padding-top: 0.2em;
	padding-right: 0.05em;
	padding-bottom: 0.1em;
	overflow: hidden;
}

.ml7 .letter {
	transform-origin: 0 100%;
	display: inline-block;
	line-height: 1em;
	font-size: max(7 * (1vw + 1vh) / 2, 24px);
	text-shadow: 1px 1px 7px rgb(0 0 0 / 54%);
	color: white;
}

#banner {
	position: relative;
	z-index: 2;
}

#banner,
#banner * {
	-webkit-transition: unset;
	-moz-transition: unset;
	-o-transition: unset;
	-ms-transition: unset;
}

#banner_box,
#banner_box .item,
#banner_box .img_box {
	position: relative;
	min-width: 100%;
}

#banner_box .img_box img {
	width: 100vw;
	height: 100vh;
}

#banner_box h2 {
	word-spacing: 100vw;
	max-width: 100%;
	font-size: max(3 * (1vw + 1vh) / 2, 24px);
	text-shadow: 1px 1px 7px rgb(0 0 0 / 54%);
	color: white;
}

#banner_box .txt_sub {
	color: white;
}

#banner_box .info_box,
#banner_box .atag_item {
	position: absolute;
}

#banner_box .info_box {
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	left: 15%;
}

#banner_box video {
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

#banner_box .slick-dots {
	bottom: 20px;
}

#banner_box .slick-dots li {
	opacity: .2;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

#banner_box .slick-dots li.slick-active {
	opacity: 1;
}

#banner_box .slick-dots li button {
	width: 10px;
	height: 10px;
	background: var(--info);
	border-radius: 50%;
	box-shadow: 0 0 5px #fff;
}

#banner_box .slick-dots li button:before {
	content: "";
}

@media screen and (max-width: 1280px) {
	#banner_box .img_box img {
		height: 450px;
	}
}

@media screen and (max-width: 1160px) {
	#banner_box {
		padding-top: 80px;
	}
}