/* ===== HERO ===== */
.hero {
  width: 100%;
  height: 775px;
  position: relative;
  overflow: hidden;
}

/* Track */
.hero-track {
  display: flex;
  height: 100%;
  transition: transform 600ms ease;
}

/* Slide */
.hero-slide {
	position:relative;
  flex: 0 0 100%;
  height: 100%;
}

.hero-slide img {
	position:absolute;
	left:0;
	top:0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-slide .visualtxt{
	width:1400px;
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	top:250px;
	z-index:999;
	background:url(../img/main/vt_bg.png) left 200px top -110px no-repeat;
	padding:50px 0;
}
.hero-slide .visualtxt.vt2{
	background:url(../img/main/vt_bg2.png) left 350px top 20px no-repeat;
}
.hero-slide h3{
	font-size:50px;
	color:#fff;
	font-weight:900;
	text-shadow:1px 1px 5px rgba(0,0,0,0.5);
}
.hero-slide p{
	font-size:24px;
	color:#fff;
	font-weight:500;
	margin-top:10px;
	text-shadow:1px 1px 5px rgba(0,0,0,0.5);
}

/* ===== BUTTON ===== */
.herocontrols{
	position:absolute;
	width:1400px;
	left:50%;
	bottom:35%;
	transform:translateX(-50%);
}
.hero-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 18px;
  cursor: pointer;
  z-index: 10;
  opacity:0.4;
  transition:all 0.2s;
  -webkit-transition:all 0.2s;
}
.hero-btn.prev { left: 165px;background:url(../img/main/vb_prev.png) center no-repeat; }
.hero-btn.next { left: 190px;background:url(../img/main/vb_next.png) center no-repeat; }
.hero-btn:hover{opacity:1;}

/* ===== LINE INDICATOR ===== */
.hero-dots {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  gap: 8px;
  z-index: 10;
}

.hero-dot {
  width: 50px;
  height: 1px;
  background: rgba(255,255,255,.9);
  position: relative;
  overflow: hidden;
}

.hero-dot::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #e48531;
  transform: scaleX(0);
  transform-origin: left;
}

.hero-dot.active::after {
  animation: progress linear forwards;
  animation-duration: var(--duration, 20000ms);
}

@keyframes progress {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* ===== SLIDE COUNT ===== */
.hero-count {
  position: absolute;
  top: 50%;
  transform:translateY(-50%);
  margin-top:-1px;
  left: 120px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 4px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  text-shadow: 0 2px 6px rgba(0,0,0,.4);
}
.hero-count .current { font-weight: 700; opacity: 1; }
.hero-count .total,
.hero-count .slash { opacity: 0.7; }

/* ===== RESPONSIVE ===== */
@media screen and (max-width: 1400px) {
	.hero-slide .visualtxt{
		width:90%;
	}
	.herocontrols{
		width:90%;
	}
}
@media (max-width: 1024px) {
	.hero { height: 520px; }
	.hero-slide .visualtxt{
		top:150px;
		background: url(../img/main/vt_bg.png) left 125px top -45px no-repeat;
		background-size:200px;
	}
	.hero-slide .visualtxt.vt2{
		background: url(../img/main/vt_bg2.png) left 220px top 30px no-repeat;
		background-size:200px;
	}
	.hero-slide h3{
		font-size:30px;
	}
	.hero-slide p{
		font-size:18px;
	}
}
@media (max-width: 768px) {
	.hero { height: 360px; }
	.hero-slide .visualtxt{
		top:100px;
	}
	.herocontrols{
		bottom:100px;
	}
}
@media (max-width: 580px) {
	.hero-slide .visualtxt{background:none;}
	.hero-slide .visualtxt.vt2{background:none;}
	.hero-slide .visualtxt{
		top:165px;
	}
	.hero-slide h3{
		font-size:19px;
	}
	.hero-slide p{
		font-size:14px;
		margin-top:0;
	}
	.herocontrols{
		bottom:50px;
	}
	.hero-dot{
		width:20px;
	}
	.hero-count{
		left:60px;
	}
	.hero-btn.prev{
		left:100px;
	}
	.hero-btn.next{
		left:120px;
	}
}

