@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　index
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/
main{
	padding-top: 0;
}

.site-ttl{
	position: relative;
	margin: 30px 0 40px;
	padding: 0 3vw;
	line-height: 0;
	display: none;
}
.site-ttl span{
	position: absolute;
	right: -.5vw;
	bottom: 0;
	z-index: 50;
	transform: translateY(70%);
	width: 26.8vw;
}
	
	
/*--------------------------------------------------------------------------
   Mv
---------------------------------------------------------------------------*/
#Mv{
	position: relative;
}
#Mv::before{
	position: absolute;
	right: 0;
	bottom: -6vw;
	display: block;
	width: 87.66vw;
	height: 44.33vw;
	content: "";
	background: #cbfc6a;	
	z-index: -1;
}
#Mv .pic{
	position: relative;
	z-index: 10;
	margin-right: 4vw;
}

/* #Mv video{
	margin-right: 4vw;
	max-width: 95.8%;
} */
.main-slider .slick-dots{
	width: 30%;
	right: 0;
  	left: 0;
  	margin: 0 auto;
}
.main-slider .slick-dots li {
    width: calc(100% / 3);
    height: 3px;
    margin: 0;
    background: #e5e5e5;
    line-height: 0;
}
.main-slider .slick-dots li button {
    width: 100%;
    height: 3px;
    padding: 0;
}
.main-slider .slick-dots li:hover button, .main-slider .slick-dots .slick-active button {
    background: #000;
}
.main-slider .slick-dots li button:before{display: none;}
.main-slider .slick-dots li.slick-active button:before {display: none;}

#Mv .txt-area{
	position: absolute;
	left: 0;
	/* top: 50%; */
	top: 35%;
	z-index: 50;
	transform: translateY(-50%) scale(0.9);
	width: calc(100% - 4vw);
	text-align: center;
	color: #fff;	
}
#Mv .txt-area h2{
	margin-bottom: 5px;
	font-size: 16px;
}
#Mv .txt-area .txt-lead{
	font-size: 58px;
	line-height: 1.3;
	font-weight: 600;
	letter-spacing: -.025em;
}
#Mv .txt-area .txt-lead > span{
	position: relative;
	display: inline-block;
	border-bottom: 4px solid #fff;
	line-height: 1;
}
#Mv .txt-area .txt-lead sup{
	position: absolute;
	right: 0;
	top: 0;
	font-size: 12px;
}
#Mv .txt-area .txt-lead small{
	font-size: 85%;
}
#Mv .txt-area .txt-lead .indent{
	display: inline-block;
	margin-left: 3em;
}
#Mv .txt-area .txt-lead .woody{	
	letter-spacing: -.1em;
}
#Mv .scroll{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 4vw;
	text-align: center;	
}

/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* intro
-----------------------------------------------------------------*/
.intro{
	position: relative;
	z-index: 10;
	padding: 155px 4vw 105px;
}
.intro .merit-list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 70px;
}
.intro .merit-list li{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: 31.7%;
	padding: 65px 15px 60px;
	border: 1px solid #000;
	background: #fff;
	text-align: center;
}
.intro .merit-list .pic{
	margin-bottom: 30px;
}
.intro .merit-list .txt{
	font-size: 29px;
	line-height:1.4;
}
.intro .merit-list .txt .marker{
	background:no-repeat linear-gradient(transparent 70%, #cdf283 70%);
	background-size: 0% 100%;
	transition-duration: 1.5s;
}
.intro .merit-list .txt .marker.mv{
	background-size: 100% 100%;
}
.intro .merit-list .merit01 .txt small{
	display: block;
	margin-bottom: 5px;
	font-size: 16px;
	font-weight: normal;
}
.intro .merit-list .merit01 .txt .woody{
	letter-spacing: -.1em;
}
.intro .merit-list .merit01 .txt .station{
	font-size: 80%;
}
.intro .merit-list .merit01 .txt .line02{
	font-size: 27px;
}
.intro .merit-list .merit01 .txt strong{
	display: inline-block;
	padding: 0 2px;
	line-height: 1;
	font-size: 42px;
}
.intro .merit-list .merit01 .txt .distance{
	font-size: 17px;
}
.intro .merit-list .merit02 .txt .area{
	font-size: 22px;
}
.intro .merit-list .merit02 .txt strong{
	display: inline-block;
	padding: 0 2px;
	line-height: 1;
	font-size: 50px;	
}
.intro .merit-list .merit02 .txt strong small{
	font-size: 32px;
}
.intro .merit-list .merit02 .txt .over{
	font-size: 26px;
}
.intro .merit-list .merit03 .txt strong{
	display: inline-block;
	padding: 0 2px;
	line-height: 1;
	font-size: 50px;
}

.intro .sold-out{
	display: flex;
	border: 1px solid #000;
	background: #fff;
	padding: 24px 0;
}
.intro .sold-out .pic{
	width: 42.4%;
	line-height: 0;
}
.intro .sold-out .txt-area{
	display: flex;
	justify-content: center;	
	align-items: center;
	/* width: 57.6%; */
	text-align: center;
	margin: auto;
}
.intro .sold-out .txt-area .sold_img{
	display: flex;
	justify-content: space-between;
	max-width: 1300px;
	flex-wrap: wrap;
	align-items: flex-start;
}
.intro .sold-out .txt-area .sold_img p{
	flex-basis: 49.7%;
}
.intro .sold-out .txt-area h3{
	margin-bottom: 30px;
	line-height: 1.8;
	font-size: 2.6rem;
	font-weight: bold;
}
.intro .sold-out .txt-area h3 small{
	display: block;
	font-size: 22px;
}
.intro .sold-out .txt-area h3 strong{
	background:no-repeat linear-gradient(transparent 70%, #cdf283 70%);
	background-size: 0% 100%;
/*	font-size: 50px;*/
	font-size: 42px;
	letter-spacing: .08em;
	transition-duration: 1s;
}
.intro .sold-out .txt-area h3 strong.mv{
	background-size: 100% 100%;
}

/* information
-----------------------------------------------------------------*/
.sec-ttl{
	position: relative;
	line-height: 1;
	overflow: hidden;
}
.sec-ttl .ttl-bg{
	display: block;
	font-size: 186px;
	letter-spacing: .1em;
	line-height: .85;
	color: #f3f4f4;
	font-family: 'Bebas Neue', sans-serif;
	white-space: nowrap;
}
.sec-ttl .ttl{
	position: absolute;
	left: 4vw;
	top: 50%;
	transform: translateY(-54%);
	display: block;
}
.sec-ttl .ttl span{
	display: block;
}
.sec-ttl .ttl .en{
	font-size: 74px;
	font-family: 'Bebas Neue', sans-serif;
	letter-spacing: .1em;
}
.sec-ttl .ttl .ja{
	margin-top: -3px;
	font-size: 20px;
	letter-spacing: .05em;
	font-weight: 500;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
.information{
	padding-bottom: 75px;
}
.information .info-cont{
	display: flex;
	justify-content: flex-end;
	margin-top: -22px;
	padding: 0 4vw;
}
.information .info-list {
	max-width: 1000px;
	width: 80%;
	
}
.information .info-list > div{
	padding: 25px 0;
	border-top: 2px dashed #000;
}
.information .info-list dt{
	font-size: 14px;
	font-family: 'Inter', sans-serif;
}
.information .info-list dd{
	font-size: 20px;
	font-weight: 500;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	line-height: 1.5;
}
.information .info-list dd a:hover{
   text-decoration: underline; 
}

/* pickup
-----------------------------------------------------------------*/
.pickup{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 65.33vw;
	background: url(../../images/_rev_top/bg_pickup.jpg) no-repeat center center;
	background-size: cover;
}
.pickup .pickup-cont{
	text-align: center;
	color: #fff;	
}
.pickup h2{
	margin-bottom: 25px;
}
.pickup .txt-lead{
	margin-bottom: 30px;
	font-family: 'Shippori Antique', sans-serif;
}
.pickup .txt-lead > span{
	display: block;
}
.pickup .txt-lead > span span{
	border-bottom: 2px solid #fff;
}
.pickup .txt-lead .line01{
	margin-bottom: 20px;
	font-size: 32px;
	line-height: 1;
}
.pickup .txt-lead .line02{
	font-size: 36px;
	line-height: 1;
}
.pickup .txt-lead .line02 strong{
	font-size: 72px;
	font-weight: normal;
	letter-spacing: -.01em;
}
.pickup .txt-lead .line02 strong small{
	font-size: 36px;
}
.pickup .txt{
	max-width: 570px;
	margin: 0 auto 40px;
	font-size: 16px;
	line-height: 2;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	text-align: left;
}
.btn-viewmore a{
	display: flex;
	justify-content: center;
	align-items:center;
	width: 304px;
	height: 70px;
	margin: 0 auto;
	background: url(../../images/_rev_common/arw_btn_w.svg) no-repeat right 20px center;
	background-size: 7px auto;
	border: 2px solid #fff;
	border-radius: 50px;
	font-size: 16px;
	font-weight: 500;
	font-family: 'Inter', sans-serif;
	color: #fff;
	transition: .3s;
}
.btn-viewmore a:hover{
	background-image: url(../../images/_rev_common/arw_btn.svg);
	background-color: #fff;
	border-color: #000;
	color: #000;	
}

@media screen and (max-width: 1500px) {
	.pickup{
		height: 980px;
	}
}

/* features
-----------------------------------------------------------------*/
.features{
	position: relative;
	padding: 100px 0 155px;
}
.features::before{
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 48.66vw;
	height: 36.66vw;
	content: "";
	background: #cbfc6a;
}
.features h2{
	margin-bottom: 20px;
}

.contents-slider-area{
	padding-left: 10vw;
}
.contents-slider.slick-slider{
	margin-bottom: 0;
}
.contents-slider .slider-item{
	padding-right: 20px;
}
.contents-slider .slider-item a{
	position: relative;
	display: block;
	color: #fff;	
}
.contents-slider .slider-item h3{
	position: absolute;
	left: 25px;
	top: 35px;
	line-height: 1;
}
.contents-slider .slider-item h3 span{
	display: block;
	margin-bottom: 4px;
	font-size: 46px;
	font-weight: 600;
	font-family: 'Inter', sans-serif;
	text-transform: uppercase;
}
.contents-slider .slider-item h3 small{
	display: block;
	font-size: 20px;
	font-weight: 500;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
.contents-slider .slider-item .txt{
	position: absolute;
	left: 25px;
	bottom: 25px;
}
.contents-slider .slider-item .txt span{
	border-bottom: 1px solid #fff;
}
.contents-slider .slider-item .btn{
	position: absolute;
	right: 25px;
	bottom: 20px;
	width: 77px;
}
.contents-slider .slick-prev,
.contents-slider .slick-next{
	top: -45px;
	transform: translateY(-100%);	
	width: 68px;
	height: 68px;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.contents-slider .slick-prev{	
	left: auto;
	right: 100px;
	background-image: url(../../images/_rev_common/btn_slider_prev.svg);
}
.contents-slider .slick-next{
	right: 20px;
	background-image: url(../../images/_rev_common/btn_slider_next.svg);
}
.contents-slider .slick-prev:hover,
.contents-slider .slick-next:hover{
	opacity: .7;
}
.contents-slider .slick-dots{
	bottom: -40px;
	width: 80%;
}
.contents-slider .slick-dots li{
	width: calc(100% / 6);
	height: 3px;
	margin: 0;
	background: #e5e5e5;
	line-height: 0;
}
.contents-slider .slick-dots li button{
	width: 100%;
	height: 3px;
	padding: 0;
}
.contents-slider .slick-dots li button::before{
	display: none;
}
.contents-slider .slick-dots li:hover button,
.contents-slider .slick-dots .slick-active button{
	background: #000;
}

/* movie
-----------------------------------------------------------------*/
.movie{
	position: relative;
	overflow: hidden;
}
.movie .pic{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 50;
	line-height: 0;
	width: 100%;
	cursor: pointer;
	transition: .5s;
}
.movie h2{
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 100;
	transform: translateY(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	color: #fff;
	line-height: 1;
	font-family: 'Bebas Neue', sans-serif;
	font-size: 80px;
	letter-spacing: .1em;
	cursor: pointer;
	pointer-events: none;
	transition: .5s;
}
.movie.play .pic,
.movie.play h2{
	opacity: 0;
	pointer-events: none;
}
.movie h2 strong{
	position: relative;
	margin: 0 20px;
}
.movie h2 strong small img{
	animation: circle-rotation linear 14s infinite running;
}
.movie h2 strong em{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
}
.movie .video{
	position: relative;
	padding-bottom: 56.25%;
}
.movie .video iframe{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height:100%;
}


/* contact
-----------------------------------------------------------------*/
.contact{
	padding: 150px 0 0;
	overflow: hidden;	
}
.contact h2{
	margin-bottom: 65px;
	text-align: center;
	line-height: 1;
}
.contact h2 .en{
	position: relative;
	font-size: 182px;
	font-weight: 500;
	letter-spacing: .08em;
	white-space: nowrap;
	font-family: 'Bebas Neue', sans-serif;
}
.contact h2 .en span{
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translate(75%,35%);
}
.contact h2 .ja{
	display: block;
	margin-top: 10px;
	font-size: 40px;
	font-family: 'Shippori Antique', sans-serif;
}
.contact h2 .ja span{
	background: no-repeat linear-gradient(transparent 60%, #cdf283 60%);
	background-size: 0% 100%;
	transition-duration: 1s;
}
.contact h2 .ja span.mv{
	background-size: 100% 100%;
}
.contact .cv-list{
	display: flex;
}
.contact .cv-list li{
	width: 50%;
}
.contact .cv-list li a{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	min-height: 480px;
	height: 100%;
	color: #fff;
	transition: .3s;
}
.contact .cv-list li a:hover{
	opacity: .7;
}
.contact .cv-list li.reserve a{
	background: #cbfc6a;
  color: #000;
}
.contact .cv-list li.request a{
	background: #000;
}
.contact .cv-list h3{
	position: relative;
	margin-bottom: 25px;
	padding-bottom: 35px;
	line-height: 1;
}
.contact .cv-list h3::after{
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	display: block;
	width: 20px;
	height: 1px;
	content: "";
	background: #fff;
}
.contact .cv-list .reserve h3::after{
  background: #000;
}
.contact .cv-list h3 .ja{
	display: block;
	margin-bottom: 12px;
	font-size: 38px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
.contact .cv-list h3 .en{
	display: block;
	font-size: 13px;
	font-family: 'Inter', sans-serif;
}
.contact .cv-list .txt{
	margin-bottom: 55px;
	font-size: 15px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
.contact .cv-list .btn{
	width: 66px;
	margin: 0 auto;
}
.page-notes{
	padding: 50px 0;
}
.page-notes .inner{
	max-width: 1040px;
}
.page-notes p,
.page-notes ul{
	font-size: 11px;
	line-height: 1.6;
}








/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

  main{
    padding-top: 0;
  }
  .site-ttl{
    position: relative;
    margin: 50px 0 15px;
    padding: 0 20px;
  }
  .site-ttl span{
    right: 20px;
    width: 36vw;
  }
    
	
/*--------------------------------------------------------------------------
   Mv
---------------------------------------------------------------------------*/
  #Mv{
    position: relative;
  }
  #Mv::before{
    /* bottom: -198px;
    height: calc(255px + 85vw);	 */
	bottom: -46px;
        height: calc(10px + 85vw);
  }
  #Mv .pic{
    margin-right: 20px;
  }
  #Mv .txt-area{
    width: calc(100% - 20px);
  }
  #Mv .txt-area h2{
    margin-bottom: 2px;
    font-size: 10px;
  }
  #Mv .txt-area .txt-lead{
    font-size: 30px;
    line-height: 1.4;
  }
  #Mv .txt-area .txt-lead > span{
    border-bottom: 3px solid #fff;
  }
  #Mv .txt-area .txt-lead sup{
    right: -4px;
    font-size: 10px;
  }
  #Mv .txt-area .txt-lead .indent{
    margin-left: 0;
  }
  #Mv .scroll{
    display: none;
  }

/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* intro
-----------------------------------------------------------------*/
  .intro{
    padding: 20px 20px 45px;
  }
  .intro .merit-list{
    display: block;
    margin-bottom: 40px;
  }
  .intro .merit-list li{
    flex-direction: row;
    width: 100%;
    padding: 15px 0 10px;
  }
  .intro .merit-list li:nth-child(n+2){
    margin-top: 10px;  
  }
  .intro .merit-list .pic{
		width: 35%;
    margin-bottom: 0;
		text-align: center;
  }
	#Page .intro .merit-list li:nth-child(1) .pic img{
		width: auto;
		height: 57px;
	}
	#Page .intro .merit-list li:nth-child(2) .pic img{
		width: auto;
		height: 55px;
	}
	#Page .intro .merit-list li:nth-child(3) .pic img{
		width: auto;
		height: 42px;
	}
  .intro .merit-list .txt{
		width: 65%;
		padding-right: 10px;
    font-size: 15px;
		text-align: left;
  }
  .intro .merit-list .merit01 .txt small{
    margin-bottom: 3px;
    font-size: 10px;
  }
  .intro .merit-list .merit01 .txt .station{
    font-size: 80%;
  }
  .intro .merit-list .merit01 .txt .line02{
    font-size: 15px;
  }
  .intro .merit-list .merit01 .txt strong{
    padding: 0 2px;
    font-size: 24px;
  }
  .intro .merit-list .merit01 .txt .woody {
	letter-spacing: 0;
  }
  .intro .merit-list .merit01 .txt .distance{
    font-size: 10px;
  }
  .intro .merit-list .merit02 .txt .area{
    font-size: 12px;
  }
  .intro .merit-list .merit02 .txt strong{
    padding: 0 2px;
     font-size: 26px;	
  }
  .intro .merit-list .merit02 .txt strong small{
    font-size: 16px;
  }
  .intro .merit-list .merit02 .txt .over{
    font-size: 16px;
  }
  .intro .merit-list .merit03 .txt strong{
	padding: 0 2px;
	font-size: 26px;
}
  .intro .sold-out{
    display: block;
	padding: 0;
  }
  .intro .sold-out .pic{
    width: 100%;
  }
  .intro .sold-out .txt-area{
    display: block;
    width: 100%;
		padding: 15px;
  }
  .intro .sold-out .txt-area .sold_img{
	display: block;
  }
  .intro .sold-out .txt-area h3{
    margin-bottom: 15px;
	font-size: 1.8rem;
  }
  .intro .sold-out .txt-area h3 small{
    font-size: 12px;
  }
  .intro .sold-out .txt-area h3 strong{
    font-size: 28px;
  }


/* information
-----------------------------------------------------------------*/
  .sec-ttl{
    position: relative;
    line-height: 1;
    overflow: hidden;
  }
  .sec-ttl .ttl-bg{
    font-size: 102px;
    line-height: 1;
  }
  .sec-ttl .ttl{
    position: absolute;
    left: 4vw;
    top: 50%;
    transform: translateY(-54%);
    display: block;
  }
  .sec-ttl .ttl span{
    display: block;
  }
  .sec-ttl .ttl .en{
    font-size: 40px;
  }
  .sec-ttl .ttl .ja{
    margin-top: -2px;
    font-size: 10px;
  }
  .information{
    padding-bottom: 40px;
  }
  .information .info-cont{
    display: block;
    margin-top: -20px;
    padding: 0 20px;
  }
  .information .info-list {
    max-width: none;
    width: 100%;
  }
  .information .info-list > div{
    padding: 10px 0;
    border-top: 1px dashed #000;
  }
  .information .info-list dt{
    font-size: 10px;
  }
  .information .info-list dd{
    font-size: 13px;
  }
  .information .info-list dd a{
     text-decoration: underline; 
  }

/* pickup
-----------------------------------------------------------------*/
  .pickup{
    height: 246.4vw;
    background: url(../../images/_rev_top/bg_pickup_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  .pickup .pickup-cont{
		padding-bottom: 4vw;	
  }
  .pickup h2{
		width: 71.6vw;
    margin: 0 auto 5vw;
  }
  .pickup .txt-lead{
    margin-bottom: 30px;
  }
  .pickup .txt-lead .line01{
    margin-bottom: 2vw;
    font-size: 5.07vw;
  }
  .pickup .txt-lead .line02{
    font-size: 5.6vw;
    line-height: 1.3;
  }
  .pickup .txt-lead .line02 strong{
    font-size: 11.33vw;
  }
  .pickup .txt-lead .line02 strong small{
    font-size: 6.67vw;
  }
  .pickup .txt{
    max-width: 73.33vw;
    margin: 0 auto 4vw;
    font-size: 3.47vw;
    line-height: 1.8;
    text-align: left;
  }
  .btn-viewmore a{
    width: 225px;
    height: 56px;
    font-size: 13px;
  }
  .btn-viewmore a:hover{
    background-image: url(../../images/_rev_common/arw_btn_w.svg);
    background-color: transparent;
    border-color: #fff;
    color: #fff;	
  }

/* features
-----------------------------------------------------------------*/
  .features{
    padding: 70px 0 30px;
  }
  .features::before{
    width: 78vw;
    height: 80vw;
  }
  .features h2{
    margin-bottom: 15px;
  }
  
  .contents-slider-area{
    overflow: hidden;
    width: 100%;
    padding: 0 0 50px 20px;
  }
  .contents-slider.slick-slider{
    width: 135vw;
    margin-bottom: 0;
  }
  .contents-slider .slider-item{
    padding-right: 15px;
  }
  .contents-slider .slider-item h3{
    left: 15px;
    top: 20px;
  }
  .contents-slider .slider-item h3 span{
    margin-bottom: 3px;
    font-size: 27px;
  }
  .contents-slider .slider-item h3 small{
    font-size: 13px;
  }
  .contents-slider .slider-item .txt{
    left: 15px;
    bottom: 15px;
		width: calc(100% - 70px);
		font-size: 12px;
  }
  .contents-slider .slider-item .btn{
    right: 7px;
    bottom: 8px;
    width: 40px;
  }
  .contents-slider .slick-prev,
  .contents-slider .slick-next{
    top: -45px;
    transform: translateY(-100%);	
    width: 68px;
    height: 68px;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
  .contents-slider .slick-prev{	
    left: auto;
    right: 100px;
    background-image: url(../../images/_rev_common/btn_slider_prev.svg);
  }
  .contents-slider .slick-next{
    right: 20px;
    background-image: url(../../images/_rev_common/btn_slider_next.svg);
  }
  .contents-slider .slick-prev:hover,
  .contents-slider .slick-next:hover{
    opacity: .7;
  }
  .contents-slider .slick-dots{
    bottom: -25px;
    width: calc(100vw - 40px);
  }
  .contents-slider .slick-dots li{
    width: calc(100% / 6);
    height: 3px;
    margin: 0;
    background: #e5e5e5;
    line-height: 0;
  }
  .contents-slider .slick-dots li button{
    width: 100%;
    height: 3px;
    padding: 0;
  }
  .contents-slider .slick-dots li:hover button,
  .contents-slider .slick-dots .slick-active button{
    background: #000;
  }

/* movie
-----------------------------------------------------------------*/
  .movie h2{
    font-size: 29px;
  }
  .movie.play .pic,
  .movie.play h2{
    opacity: 0;
    pointer-events: none;
  }
  .movie h2 strong{
    display: inline-block;
		width: 95px;
    margin: 0 10px;
  }
  .movie h2 strong small img{
    animation: circle-rotation linear 14s infinite running;
  }
  #Page .movie h2 strong em img{
		width: 80px;
  }
	

/* contact
-----------------------------------------------------------------*/
  .contact{
    padding: 70px 0 0;
  }
  .contact h2{
    margin-bottom: 40px;
  }
  .contact h2 .en{
    font-size: 76px;
		letter-spacing: .08em;
  }
  .contact h2 .en span{
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translate(3px,35%);
		width: 108px;
  }
  .contact h2 .ja{
    margin-top: 15px;
    font-size: 22px;
		letter-spacing: .05em;
  }
  .contact .cv-list{
    display: block;
  }
  .contact .cv-list li{
    width: 100%;
  }
  .contact .cv-list li a{
		position: relative;
		display: block;
    min-height: inherit;
    height: auto;
		padding: 35px 10px 40px;
  }
  .contact .cv-list li a:hover{
    opacity: 1;
  }
  .contact .cv-list h3{
    margin-bottom: 10px;
    padding-bottom: 15px;
  }
  .contact .cv-list h3::after{
    position: absolute;
    left: 50%;
    bottom: 0;
    display: block;
    width: 20px;
    height: 1px;
    content: "";
    background: #fff;
  }
  .contact .cv-list h3 .ja{
    margin-bottom: 8px;
    font-size: 22px;
  }
  .contact .cv-list h3 .en{
    font-size: 10px;
  }
  .contact .cv-list .txt{
    margin-bottom: 0;
    font-size: 11px;
  }
  .contact .cv-list .btn{
		position: absolute;
		right: 12px;
		bottom: 8px;
    width: 42px;
  }
  
  .page-notes{
    padding: 25px 0 35px;
  }
  .page-notes p,
  .page-notes ul{
    font-size: 10px;
  }


}


/* othre lineup */

.contents-slider .slider-item.otherlineup_box{
	margin-left: 30px;
	min-height: 260px;
}
.otherlineup_wrap .contents-slider-area{max-width: 1500px; padding: 0; margin: auto;}
.contents-slider.slider3 .slick-dots{bottom: -50px; width: 100%;}
.contents-slider.slider3 .slick-dots li{width: calc(100% / 9);}


.otherlineup{
	padding: 6% 0 8% ;
	background-color: #F5FEE1;

}
.otherlineup h2 {
    margin-bottom: 65px;
    text-align: center;
    line-height: 1;
}
.otherlineup h2 .en{
	position: relative;
    font-size: 100px;
    font-weight: 500;
    letter-spacing: .08em;
    white-space: nowrap;
    font-family: 'Bebas Neue', sans-serif;
}
.otherlineup h2 .en span {
    position: absolute;
    right: 33px;
    bottom: 30px;
    transform: translate(75%,35%);
}
.otherlineup h2 .ja {
    display: block;
    margin-top: 10px;
    font-size: 20px;
    font-family: 'Shippori Antique', sans-serif;
}
.otherlineup_box{
	background-color: #fff;
	padding: 4%;
	position: relative;
}
.otherlineup_box a{display: block;}
.contents-slider .slider-item.otherlineup_box a{ color: #000; font-weight: 600;}
.otherlineup_box .area{
	position: absolute;
	top: 0; right: 0;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1;
	background-color: #000;
	color: #fff;
	padding: 4px 7px;
}
.slider-item.otherlineup_box h3{
	position: inherit;
	line-height: 1.6 ;
	top: 0; left: 0 ;
	font-size: 1.6rem;
	font-weight: 600;
	max-width: 90%;

}
.lineup_box{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 2%;
}
.lineup_box .lineup_img{
	flex-basis: 55%;
}
.lineup_box .lineup_txt{
	flex-basis: 41%;
}
.lineup_txt .num{
	font-size: 1.4rem;
	line-height: 1;
	position: relative;
	z-index: 1;
	display: inline-block;
	padding: 0 5px;
}
.lineup_txt .num::before{
	content: '';
	position: absolute;
	z-index: -1;
	left: 0; bottom: 5px;
	background-color: #cbfc6a;
	width: 100%;
	height: 8px;
}
.lineup_txt .num span{
	font-size: 4rem;
	font-weight: 500;
    white-space: nowrap;
    font-family: 'Bebas Neue', sans-serif;
	vertical-align: -1px;
}
.lineup_txt .txt2{
	font-size: 1.3rem;
	line-height: 1.6;
	margin-top: 10px;
	margin-bottom: 7%;
}
.lineup_txt .btn2{
	display: flex;
    justify-content: center;
    align-items: center;
    min-width: 100px;
    height: 38px;
    margin: 0 auto;
    background: url(../../images/_rev_common/arw_btn.svg) no-repeat right 20px center;
    background-size: 6px;
    border-radius: 50px;
    font-size: 1.8rem;
    font-weight: 500;
    color: #000;
    transition: .3s;
    font-family: 'Bebas Neue', sans-serif;
    background-color: #CBFC6A;
}


@media screen and (max-width: 768px) {
	/* othre lineup */

.contents-slider .slider-item.otherlineup_box{
	margin-left: 10px;
}
.otherlineup_wrap .contents-slider-area{
	overflow: hidden;
    width: 100%;
    padding: 0 0 50px 20px;
}
.contents-slider.slider3 .slick-dots{
	bottom: -30px;
	width: calc(100vw - 40px);
}
.otherlineup_wrap .contents-slider.slick-slider{width: 160svw; padding-top: 5%;}

.otherlineup{
	padding: 12% 0 20% ;
}
.otherlineup h2 {
    margin-bottom: 30px;
}
.otherlineup h2 .en{
    font-size: 50px;
}
.otherlineup h2 .en span {
    position: absolute;
	right: 44px;
    bottom: 21px;
    width: 44%;
}
.otherlineup h2 .ja {
    display: block;
    margin-top: 5px;
    font-size: 14px;
}
.otherlineup_box{
	background-color: #fff;
	padding: 8%;
	position: relative;
}
.otherlineup_box .area{
	font-size: 1.1rem;
	padding: 3px 5px;
}
.slider-item.otherlineup_box h3{
	line-height: 1.3;
	font-size: 1.3rem;
	max-width: 80%;
	min-height: 30px;

}
.lineup_box{
	display: block;
	margin-top: 5%;
}
.lineup_box .lineup_txt{
	margin-top: 5%;
}
.lineup_txt .num{
	font-size: 1.4rem;
	line-height: 1;
	position: relative;
	z-index: 1;
	display: inline-block;
	padding: 0 5px;
}
.lineup_txt .num::before{
	content: '';
	position: absolute;
	z-index: -1;
	left: 0; bottom: 5px;
	background-color: #cbfc6a;
	width: 100%;
	height: 8px;
}
.lineup_txt .num span{
	font-size: 4rem;
	font-weight: 500;
    white-space: nowrap;
    font-family: 'Bebas Neue', sans-serif;
	vertical-align: -1px;
}
.lineup_txt .txt2{
	font-size: 1.3rem;
	line-height: 1.6;
	margin-top: 10px;
	margin-bottom: 7%;
	min-height: 63px;
}
.lineup_txt .btn2{
	display: flex;
    justify-content: center;
    align-items: center;
    min-width: 100px;
    height: 38px;
    margin: 0 auto;
    background: url(../../images/_rev_common/arw_btn.svg) no-repeat right 20px center;
    background-size: 6px;
    border-radius: 50px;
    font-size: 1.8rem;
    font-weight: 500;
    color: #000;
    transition: .3s;
    font-family: 'Bebas Neue', sans-serif;
    background-color: #CBFC6A;
}

.otherlineup .contents-slider .slick-prev,
.otherlineup .contents-slider .slick-next{
	width: 40px; height: 40px;
	top: 55%;
}
.otherlineup .contents-slider .slick-prev{left: 0; z-index: 1;}
.otherlineup .contents-slider .slick-next{ left: 50%;}
}




/* video_area */

.video_area{
	position: relative;
	margin-bottom: 5%;
}
.video_area::before{
	content: '';
	position: absolute;
	top: 0; left: -5svw;
	background-color: #CBFC6A;
	z-index: -1;
	width: 96svw;
	height: 35svw;
	display: block;
}
.video_ttl_txt{
	display: block;
	position: absolute;
	top: 0; right: 0;
	width: 18svw;
}
.video_ttl{
	background-color: #fff;
	padding: 4svw 9svw 7svw 3svw;
	display: inline-block;
	margin-top: 5svw;
}
.video_ttl h3{
	font-family: 'Bebas Neue', sans-serif;
	font-weight: 500;
	font-size: 9svw;
	line-height: .9;
}
.video_ttl p{
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.5;
	margin-top: 1svw;
}
.video_thum{
	position: absolute;
	top: 9svw; right: 3svw;
	width: 58svw;
}
.video_thum ul{
	display: flex;
	justify-content: space-between;
}
.video_thum li{
	flex-basis: 49%;
}
.video_thum dl{
	display: flex;
	align-items: center;
	margin-top: .2svw;
}
.video_thum dt{
	background-color: #000;
	color: #CBFC6A;
	padding: 2px .6svw 5px;
	line-height: 1;
	font-weight: 600;
	font-size: 1.0svw;
	margin-right: 1svw;
}
.video_thum dt span:nth-of-type(1){font-size: 1.8svw;}
.video_thum dt span:nth-of-type(2){font-size: 1.4svw;}
.video_thum dd{
	font-size: 1.4svw;
	font-weight: 600;
}

.cm{
	padding: 0 0 5%;
	text-align: center;
}
.cm .inner{
	max-width: 1000px;
}
.special_bnr{
	margin-top: 60px;
	padding: 0 0;
	text-align: center;
}
.special_bnr .inner{
	max-width: 1000px;
}

@media screen and (max-width: 768px) {
/* video_area */

.video_area{
	position: relative;
	margin-bottom: 10%;
}
.video_area::before{
	top: 0; left: -5svw;
	width: 95svw;
	height: 231svw;
}
.video_ttl_txt{
	top: inherit; right: 0; bottom: 0;
	width: 50svw;
}
.video_ttl{
	padding: 8% 8% 25%;
	display: inline-block;
	margin-top: 10%;
	margin-left: calc((-100vw - -100%) / 2);
	width: 86svw;
}
.video_ttl h3{
	font-size: 20svw;
}
.video_ttl p{
	font-size: 1.3rem;
	margin-top: 3svw;
}
.video_thum{
	position: inherit;
	top: -22svw; right: inherit;
	width: 95%;
}
.video_thum ul{
	display: block;
}
.video_thum li{
	margin-top: 8%;
}
.video_thum dl{
	display: flex;
	align-items: center;
	margin-top: 2%;
}
.video_thum dt{
	background-color: #000;
	color: #CBFC6A;
	padding: 2px 5px 5px;
	line-height: 1;
	font-weight: 600;
	font-size: 1.3rem;
	margin-right: 1svw;
}
.video_thum dt span:nth-of-type(1){font-size: 1.8rem;}
.video_thum dt span:nth-of-type(2){font-size: 1.6rem;}
.video_thum dd{
	font-size: 1.6rem;
	font-weight: 600;
}
}

/* 
.hazardmap{
	text-align: center;
	margin-bottom: 5%;
}
.hazardmap_txt{
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 2%;
}
.hazardmap_txt span{
	background: no-repeat linear-gradient(transparent 70%, #cdf283 70%);
    background-size: 0% 100%;
    transition-duration: 1s;
	font-size: 3rem;
}
.hazardmap_txt span.mv{
	background-size: 100% 100%;
}
.hazardmap img{
	min-width: 850px;
}
@media screen and (max-width: 768px) {
	.hazardmap_txt{
		font-size: 1.3rem;
		font-weight: 600;
		margin-bottom: 4%;
	}
	.hazardmap_txt span{
		background: no-repeat linear-gradient(transparent 70%, #cdf283 70%);
		background-size: 0% 100%;
		transition-duration: 1s;
		font-size: 2rem;
	}
	.hazardmap img{
		min-width: inherit;
	}
} */


/* TOPsns */

.snsIcon {
    text-align: center;
}
.fadein_up.started {
    transform: none;
    opacity: 1;
}
.snsIcon h3 {
    position: relative;
    display: inline-block;
    padding: 0 15px;
    margin-bottom: 36px;
    border: none;
    font-size: 40px;
    letter-spacing: 0;
    font-weight: bold;
    line-height: 1;
}
.snsIcon h3:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 3px;
    height: 100%;
    background: #000;
    border-radius: 3px;
    transform: rotate(-25deg);
}
.snsIcon h3:after {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: #000;
    border-radius: 3px;
    transform: rotate(25deg);
}
.fadein_up.started {
    transform: none;
    opacity: 1;
}
.snsIcon ul {
    display: flex;
    align-items: center;
    width: 94%;
    max-width: 1120px;
    margin: 0 auto 80px;
	justify-content: center;
}
.snsIcon ul li {
    width: 33.33%;
    height: 110px;
}
.snsIcon ul li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
	transition: .3s;
}
.snsIcon ul li a:hover {opacity: .7;}
.snsIcon ul li.snsYoutube a {
    background: #EFE8E3;
}
.snsIcon ul li.snsYoutube img {
    max-width: 205px;
    max-height: 47px;
    width: 75%;
}
/* .snsIcon ul li.snsInsta a {
    background: url(../../images/_rev_top/sns/sns_insta_bg.jpg) no-repeat 50% 50%;
    background-size: cover;
} */
/* .snsIcon ul li.snsInsta img {
    max-width: 70px;
    max-height: 70px;
    width: 25%;
} */
.snsIcon ul li.snsTiktok a {
    background: #000;
}
.snsIcon ul li.snsTiktok img {
    max-width: 56px;
    max-height: 64px;
    width: 20%;
}
@media screen and (max-width: 767px) {
    .snsIcon h3 {
        margin-bottom: 15px;
        font-size: 17px;
    }
	.snsIcon h3:before, .snsIcon h3:after {
        width: 2px;
    }
	.snsIcon h3:before, .snsIcon h3:after {
        width: 2px;
    }
	/* .snsIcon ul li {
        height: 55px;
    } */
	.snsIcon ul li {
		width: 80%;
		margin: auto;
	}
	.snsIcon ul {
		margin: 0 auto 40px;
	}
}

/* フッターSNS */

.footer_sns{
max-width: 1000px;
margin: auto;
padding-top: 3%;
padding-bottom: 6%;
}
.footer_sns p{
	text-align: center;
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 42px;
}
.footer_sns ul{
	text-align: center;
}
.footer_sns ul li{
	margin-bottom: 36px;
}
.footer_sns ul li:nth-of-type(1) a{
	width: 60%;
    margin: 0 auto;
    display: block;
}
.footer_sns ul li:nth-of-type(2)  a{
	width: calc(70% / 2);
	margin: auto;
	display: block;
}
.footer_sns ul li:nth-of-type(3){
	max-width: 320px;
    width: 75%;
	margin: auto;
}
.footer_sns ul li a{transition: .3s;}
.footer_sns ul li a:hover{opacity: .7;}

@media screen and (max-width: 767px) {
	.footer_sns p{
		text-align: center;
		font-size: 1.6rem;
		font-weight: 600;
		margin-bottom: 30px;
	}
	.footer_sns ul li{
		margin-bottom: 20px;
	}
	.footer_sns ul li:nth-of-type(3){
		max-width: 320px;
		width: 55%;
		margin: auto;
	}
	.footer_sns ul li:nth-of-type(2)  a{
		width: calc(90% / 2);
	}
	.footer_sns ul li:nth-of-type(1) a{
		width: 80%;
	}
}

/* グロナビSNS */

.navSns{display: none;}
@media screen and (max-width: 1024px) {
    .navSns {
        text-align: center;
        margin-top: 50px;
        width: 100%;
        border: none;
		display: block;
    }
	.navSns h3 {
        position: relative;
        display: inline-block;
        padding: 0 15px;
        margin-bottom: 15px;
        border: none;
        font-size: 16px;
        letter-spacing: 0;
        font-weight: bold;
        line-height: 1;
    }
	.navSns h3:before {
        position: absolute;
        left: 0;
        top: 0;
        content: "";
        width: 2px;
        height: 100%;
        background: #000;
        border-radius: 3px;
        transform: rotate(-25deg);
    }
	.navSns h3:after {
        position: absolute;
        content: "";
        right: 0;
        top: 0;
        width: 2px;
        height: 100%;
        background: #000;
        border-radius: 3px;
        transform: rotate(25deg);
    }
	.navSns ul {
        display: flex;
        align-items: center;
        width: 100%;
        justify-content: center;
    }
	.navSns ul li {
        padding: 0 20px;
        width: auto;
        border-bottom: none;
    }
	.navSns ul li a {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        padding: 0 5px;
    }
	.navSns ul li.snsYoutube img {
        width: 50px;
    }
	.navSns ul li.snsInsta img {
        width: 70%;
		margin: auto;
    }
	.navSns ul li.snsTiktok img {
        width: 45px;
    }
}




/*--------------------------------------------------------------------------
   mv
---------------------------------------------------------------------------*/
#Mv .mv {
	position: relative;
	/* background: linear-gradient(90deg, #B6AC78 0%, #D8C997 30%, #AF9561 100%); */
	/* background-color: #000; */
	margin-right: 4vw;
}
#Mv .mv .img{
	line-height: 0;
}
#Mv .mv .video {
	position: relative;
}
#Mv .mv .contents.on .video {
	display: none;
}
#Mv .mv .video p {
	position: relative;
	width: 100%;
	overflow: hidden;
}
#Mv .mv .video p video {
	width: 100%;
}
#Mv .mv .video .btn_skip {
	display: flex;
	width: 110px;
	height: 40px;
	padding: 12px 28px;
	background: rgba(255,255,255,0.85);
	text-align: center;
	position: absolute;
	right: 30px;
    top: 30px;
	cursor: pointer;
	transition: .3s;
}
#Mv .mv .video .btn_skip:hover {
	opacity: .7;
}
#Mv .mv .video .btn_skip img {
	vertical-align: middle;
}
#Mv .mv .img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 20;
	width: 100%;
	text-align: center;
	pointer-events: none;
	opacity: 0;
	transition: 2s;
}
#Mv .mv .contents.on .img {
	position: static;
	pointer-events: auto;
	opacity: 1;
}
#Mv .mv .img .btn_replay {
	display: flex;
	width: 130px;
	height: 40px;
	padding: 8px 22px;
	background: rgba(255, 255, 255, 0.85);
	text-align: center;
	position: absolute;
	right: 30px;
    top: 30px;
	cursor: pointer;
	transition: .3s;
	z-index: 2;
}
#Mv .mv .img .btn_replay:hover {
	opacity: .7;
}
#Mv .mv .img .btn_replay img {
	vertical-align: middle;
}
#Mv .mv .img figure img {
	width: 100%;
}

@media screen and (max-width: 1024px) {
	#Mv .mv .video .btn_skip {
		right: 18px;
        top: auto;
        bottom: 18px;
	}
	#Mv .mv .img .btn_replay {
		right: 18px;
        top: 72px;
        /* bottom: 18px; */
	}
}

.intro .obi{
	text-align: center;
	padding: 0% 0 1%;
	font-weight: 500;
}
.intro .obi dt{
	align-items: center; 
  display: flex; 
  justify-content: center; 
  font-size: 4.2rem;
  color: #d73649;
}
/* .intro .obi dt::before,
.intro .obi dt::after {
  background-color: #000; 
  content: "";
  height: 2px; 
  width: 80px; 
}
.intro .obi dt::before {
  margin-right: 15px; 
}
.intro .obi dt::after {
  margin-left: 15px; 
} */
.intro .obi dd{
	font-size: 4.3rem;
	padding-top: 8px;
}
.intro .kakaku{
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto 2%;
	flex-wrap: wrap;
}
.intro .kakaku li{
	flex-basis: 49.7%;
}

@media screen and (max-width: 1024px) {
	.intro .obi{
		text-align: center;
		padding: 14% 0 3%;
	}
	.intro .obi dt{
		align-items: center; 
	  display: flex; 
	  justify-content: center; 
	  font-size: 2.8rem;
		line-height: 1.4;
	}
	.intro .obi dd{
		font-size: 2.4rem;
		line-height: 1.5;
	}
	.intro .kakaku{
		display: flex;
		justify-content: space-between;
		max-width: 1200px;
		margin: 3% auto 6%;
		flex-wrap: wrap;
	}
	.intro .kakaku li{
		flex-basis: 100%;
	}
}
