
/*Main Visual*/
#section01 {z-index:1; background:#000; }

.main__visual {width:100%; position:relative;}
.main__visual-wrap {width:auto;}
.main__visual-item {text-align:center;  white-space:nowrap; overflow:hidden; position:relative; height:100vh; height:calc(100vh - 100px); min-height:400px !important;}
.main__visual-item:before {content:''; display:inline-block; vertical-align:middle; width:0; height:100%; font-size:0;}

.main__visual-inner {display:inline-block; max-width:1400px; width:100%; vertical-align:middle; box-sizing:border-box; -webkit-box-sizing:border-box; -ms-box-sizing:border-box; padding:0 20px;color:#fff; text-align: center;white-space:normal; position:relative; z-index:10; word-break:keep-all; line-height:1.3; text-shadow: 0 0 5px rgba(0, 0, 0, .5);}
.main__visual-inner > h2{ font-family:'Rajdhani', sans-serif; font-weight:600; font-size:60px; letter-spacing:-0.025em; line-height:1; }
.main__visual-inner > p{font-size:24px; margin-top:0.75em;}

@media only screen and (max-width: 1024px){
	.main__visual-inner > h2{font-size:54px;}
	.main__visual-inner > p{font-size:20px;}
    .main__visual-item {height:calc(100vh - 60px); min-height:300px  !important;}
}
@media only screen and (max-width: 768px){
	.main__visual-inner > h2{font-size:42px;}
	.main__visual-inner > p{font-size:18px;}
}

@media only screen and (max-width: 480px){
	.main__visual-inner > h2{font-size:30px;}
	.main__visual-inner > p{font-size:14px;}

}

/*visaul dots*/
.main__visual-control {position:absolute; bottom:34px; text-align:center; font-size:0; left:50%;transform:translate(-50%,0);}
.main__visual-btn {display:inline-block; vertical-align:middle; margin-left:10px;}
.main__visual-btn {border: 0; background: transparent; box-sizing: border-box; width: 0; height: 12px; border-color: transparent transparent transparent rgba(255, 255, 255, 1);
  transition: 100ms all ease; cursor: pointer; border-style: solid; border-width: 6px 0 6px 12px;}
.main__visual-btn.paused { border-style: double; border-width: 0 0 0 12px; }
.main__visual-btn:hover { border-color: transparent transparent transparent rgba(255, 255, 255, 0.5);}


.main__visual-dots {display:inline-block;}
.main__visual-dots ul {display:inline-block; vertical-align:middle;}
.main__visual-dots li{display:inline-block; margin-left:5px;  padding:5px 5px; cursor:pointer; vertical-align:middle;}
.main__visual-dots li:first-child {margin-left:0;}
.main__visual-dots button {display:inline-block; width:12px; height:12px; border:2px solid #fff; border-radius:100%;text-indent:-99999px; overflow:hidden; background-color:rgba(233, 43, 58, 0); box-sizing:border-box; -webkit-box-sizing:border-box; -ms-box-sizing:border-box;transition:all .2s ease-in-out;-webkit-transition:all .2s ease-in-out;}
.main__visual-dots li:hover button,
.main__visual-dots li.slick-active button {background-color:rgba(233, 43, 58, 1); border-color:rgba(233, 43, 58, 1); transition:all .2s ease-in-out;-webkit-transition:all .2s ease-in-out;}

@media only screen and (max-width: 1024px){
	.main__visual-control {bottom:24px;}
}
@media only screen and  (max-width: 768px){
	.main__visual-control {bottom:16px;}
}


/*visaul Arrow*/
.main__visual-prev,
.main__visual-next {display:block; width:100px; height:100px; background-color:transparent; z-index:1000;position:absolute; opacity:0.2; top:50%; transform:translateY(-50%);transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out;}
.main__visual-prev {left:0;}
.main__visual-next {right:0;}

.main__visual-prev:hover,
.main__visual-next:hover {opacity:1; background-color:rgba(0, 0, 0, 0.3);} 

.main__visual-prev a,
.main__visual-next a {display:block; overflow:hidden;  background-image:url('../images/main/arrow_right01.png'); background-repeat:no-repeat; background-position:50% 50%; text-indent:-99999px; width:100%; height:100%; background-size:cover;}
.main__visual-prev a {background-image:url('../images/main/arrow_left01.png');}

@media only screen and (max-width: 1024px){
	.main__visual-prev,
    .main__visual-next {width:75px; height:75px;}
}
@media only screen and (max-width: 768px){
	.main__visual-prev,
    .main__visual-next {width:50px; height:50px;}
}
@media only screen and (max-width: 640px){
	.main__visual-prev,
    .main__visual-next {display:none !important;}
}


.main__visual-item > .bg {position:absolute; height:100%; width:100%; top:50%; left:50%; overflow:hidden; transform:translate(-50%, -50%); z-index:-1;}

.main__visual-item > .bg .main__visual-img{
	-webkit-transition:all 2s ease-in-out;
	-webkit-transform:scale(1);
	-ms-transition:transform 2s ease-in-out ;
	-ms-transform: scale(1);
	transition:all 2s ease-in-out;
	transform:scale(1);
}

.slick-active > .bg .main__visual-img.is-scale{ 
	-webkit-transition:all 6s ease-in-out;
	-webkit-transform:scale(1.2);
	-ms-transition:transform 6s ease-in-out ;
	-ms-transform: scale(1.2);
	transition:all 6s ease-in-out;
	transform:scale(1.2);
}

.main__visual-img,
.main__visual-img img{width:100%; height:100%;}



.is-opacity {
  -webkit-animation-name: is-opacity;
  -webkit-animation-duration: 3s;
  -ms-animation-name: is-opacity;
  -ms-animation-duration: 3s;
  animation-name: is-opacity;
  animation-duration: 3s;
}

@keyframes is-opacity {
  0% { opacity:0; }
  
  100% { opacity:1; }
}
@-ms-keyframes is-opacity {
  0% { opacity:0; }
  
  100% { opacity:1; }
}
@-webkit-keyframes is-opacity {
  0% { opacity:0; }
  
  100% { opacity:1; }
}
.main__pc {display:block !important;}
.main__mo {display:none !important;}
@media only screen and (max-width: 768px){
	.main__mo {display:block !important;}
	.main__pc {display:none !important;}
}


/* Main Title */
.main-title {text-align:center; margin-bottom:60px;}
.main-title h2 {font-size:42px; font-weight:700; color:#222; position:relative;}
.main-title h2:before {content:''; display:block; width:44px; height:8px; background:url('../images/main/title_bg.png') center center no-repeat; background-size:cover; margin:0 auto;margin-bottom:10px; }
.main-title p {font-size:18px; color:#777; margin-top:10px; line-height:1.3;}

@media only screen and (max-width: 768px) {
	.main-title {margin-bottom:40px;}
	.main-title h2 {font-size:36px;}
	.main-title p {font-size:16px;}
}

@media only screen and (max-width:480px){
	.main-title h2 {font-size:32px;}
	.main-title p {font-size:14px;}
}