/* =========================
Hero Section
========================= */
.page-hero{
position:relative;
width:100%;
overflow:hidden;
background:#000;
	padding:0;
}

.hero-header img{
position:relative;
width:100%;
}
	
	
.hero{
position:relative;
height:100dvh;
overflow:hidden;
background:#000;
padding:0;
}

.hero-slider{
position:relative;
height:100%;
line-height:0;
}

/* =========================
Slide
========================= */

.hero-slide{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
opacity:0;
transition:opacity 1.2s ease;
}

.hero-slide.active{
opacity:1;
z-index:2;
}

/* =========================
Image Zoom
========================= */

.hero-slide img,
.hero-slide video{
position:absolute;
top:0;
left:0;
display:block;
width:100%;
height:100%;
object-fit:cover;
transform:scale(1.1);
transition:transform 6s ease;
}

.hero-slide.active img,
.hero-slide.active video{
transform:scale(1);
}

/* =========================
Text
========================= */

.hero-text{
position:absolute;
bottom:120px;
left:8%;
color:#fff;
max-width:500px;
opacity:0;
transform:translateY(30px);
transition:1s;
}

/* 動画専用 */
.hero-video .hero-text{
top:50%;
left:50%;
bottom:auto;
transform:translate(-50%,-50%);
text-align:center;
max-width:700px;
}

/* 表示 */

.hero-slide.active .hero-text{
opacity:1;
transform:translateY(0);
}

/* 文字フェード */

.hero-text h1,
.hero-text p,
.hero-text p.hero-sub,
.hero-text a{
opacity:0;
transform:translateY(30px);
transition:
opacity 1s ease,
transform 1s ease;
}

.hero-slide.active .hero-text h1,
.hero-slide.active .hero-text p.hero-sub{
opacity:1;
transform:translateY(0);
transition-delay:.4s;
}

.hero-slide.active .hero-text p{
opacity:1;
transform:translateY(0);
transition-delay:.7s;
}

.hero-slide.active .hero-text a{
opacity:1;
transform:translateY(0);
transition-delay:1s;
}

/* Typography */

.hero-text h1{
	    font-family: 'Cormorant Garamond', serif !important;
font-size:60px;
letter-spacing:.08em;
font-weight:500;
}

.hero-text p{
margin-top:12px;
font-size:16px;
letter-spacing:.05em;
}

.hero-sub{
font-size:12px;
letter-spacing:.3em;
opacity:.8;
}

.hero-title{
font-size:64px;
letter-spacing:.08em;
margin:10px 0;
}

.hero-btn{
display:inline-block;
margin-top:20px;
padding:12px 28px;
border:1px solid #fff;
color:#fff;
text-decoration:none;
transition:.4s;
}

.hero-btn:hover{
background:#fff;
color:#000;
}

/* =========================
Progress Bar
========================= */

.hero-progress{
position:absolute;
bottom:0;
left:0;
width:100%;
height:2px;
background:rgba(255,255,255,0.25);
z-index:5;
}

.hero-bar{
height:100%;
width:0%;
background:#fff;
}

/* =========================
Arrows
========================= */

.hero-prev,
.hero-next{
position:absolute;
top:50%;
transform:translateY(-50%);
background:none;
border:none;
color:#fff;
font-size:42px;
cursor:pointer;
z-index:6;
transition:opacity .3s;
}

.hero-prev:hover,
.hero-next:hover{
opacity:.6;
}

.hero-prev{
left:25px;
}

.hero-next{
right:25px;
}

/* =========================
Scroll Indicator
========================= */

.hero-scroll{
position:absolute;
bottom:30px;
left:45%;
transform:translateY(-50%);
text-align:center;
font-size:11px;
letter-spacing:.25em;
color:#fff;
z-index:10;
}

.hero-scroll::after{
content:"";
display:block;
width:1px;
height:80px;
background:#ffff;
margin:10px auto 0;
animation:scrollMove 2s infinite;
}

@keyframes scrollMove{
0%{
transform:translateY(0);
opacity:1;
}

100%{
transform:translateY(20px);
opacity:0;
}
}

/* =========================
Responsive
========================= */

@media(max-width:1024px){

.hero-text{
position:absolute;
bottom:120px;
top:50%;
left:0;
right:0;
text-align: center ;
margin:auto;
color:#fff;
max-width:500px;
opacity:0;
transform:translateY(30px);
transition:1s;
}

.hero-text h1{
font-size:40px;
}

}

@media(max-width:768px){

.hero-text{
bottom:90px;
left:20px;
right:20px;
}

.hero-text h1{
font-size:30px;
}

.hero-text p{
font-size:14px;
}

.hero-prev,
.hero-next{
font-size:28px;
}

.hero-prev{
left:12px;
}

.hero-next{
right:12px;
}

}