div.visual {position:relative;  margin-top:0px; }
div.visual .slick-list, div.visual .slick-slider, div.visual .slick-track {	position: relative;	display: block}
div.visual .slick-loading .slick-slide, div.visual .slick-loading .slick-track {	visibility: hidden}
div.visual .slick-slider {	box-sizing: border-box;	-webkit-user-select: none;	-moz-user-select: none;	-ms-user-select: none;	user-select: none;	
-webkit-touch-callout: none;	-khtml-user-select: none;	-ms-touch-action: pan-y;	touch-action: pan-y;	-webkit-tap-highlight-color: transparent}
div.visual .slick-list {	overflow: hidden;	margin: 0;	padding: 0}
div.visual .slick-list:focus {	outline: 0}
div.visual .slick-list.dragging {	cursor: pointer;	cursor: hand}
div.visual .slick-slider .slick-list, div.visual .slick-slider .slick-track {
	-webkit-transform: translate3d(0, 0, 0);	-moz-transform: translate3d(0, 0, 0);	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);	transform: translate3d(0, 0, 0)}
div.visual .slick-track {	top: 0;	left: 0}
div.visual .slick-track:after, div.visual .slick-track:before {	display: table;	content: ''}
div.visual .slick-track:after {	clear: both}
div.visual .slick-slide {	display: none;	float: left;	height: 100%;	min-height: 1px}
[dir=rtl] .slick-slide {	float: right}
div.visual .slick-slide img {	display: block}
div.visual .slick-slide.slick-loading img {	display: none}
div.visual .slick-slide.dragging img {	pointer-events: none}
div.visual .slick-initialized .slick-slide {	display: block}
div.visual .slick-vertical .slick-slide {	display: block;	height: auto;	border: 1px solid transparent}
div.visual .slick-arrow  {	display: block !important; position:absolute;  width:45px; height:45px; border:0;z-index: 99;
 background:none; text-indent: -9999px; cursor:pointer; margin-top:auto; margin-bottom:auto; top:-10px; bottom:0;opacity:0.8 }
div.visual .slick-prev {left:130px; border-left:3px solid #fff; border-top:3px solid #fff; 
-webkit-transform: rotate(-45deg); transform: rotate(-45deg);}
div.visual .slick-next {right:130px; border-right:3px solid #fff; border-bottom:3px solid #fff; 
-webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

*, *:before, *:after {  box-sizing: border-box;  padding: 0;  margin: 0;}
div.visual .slick-slide,div.visual .slick-slide::before, div.visual .caption,
div.visual .caption::before,div.visual .txtBox {  	-webkit-backface-visibility: hidden;  backface-visibility: hidden;}
div.visual .slick-slide::before {  content: '';  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;}
div.visual .full-wide-slider {  position: relative;   background-color: #fff;  color: #efefef;  text-align: center;
  width: 100%;  height:100vh; overflow:hidden !important;  opacity: 0;  visibility: hidden;  transition: all 1.2s ease;}
div.visual .full-wide-slider.slick-initialized {  opacity: 1;  visibility: visible;}
div.visual .slick-slide {  position: relative;  height: 100vh; }
div.visual .slick-slide::before {  background-color: #000;  opacity: 0.2;  z-index: 1;}
div.visual figure {  position: relative;  height: 100%;}
div.visual .slick-slide .slide-image {  opacity: 0;  height: 100%;  background-size: cover;  background-position: center;  transition: all .8s ease;}
div.visual .slick-slide .slide-image.show {  opacity: 1;}
div.visual .slick-slide .image-entity {  width: 100%;  height: auto;  opacity: 0;}
/*.slick-slide .loading {  position: absolute;  top: 50%;  left: 0;  width: 100%;}*/
div.visual .slick-slide .slide-media {  -webkit-animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);  animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);}
div.visual .slick-slide.slick-active {  z-index: 1; }
div.visual .slick-slide.slick-active .slide-media {-webkit-animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1); animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);}

/* sub h2 tmt */
div.txtBox {width:100%; text-align:center; z-index:2; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);  
margin:0 auto ;  text-align:center; padding:0 15px 70px 15px;  overflow:hidden; height:auto; background-color:rgb(0,0,0,0);}
div.visual .caption span{border: 0px solid;  color: #fff;width:100%; display:block; padding: 0px 0 0 0; }
div.visual .slick-slide.slick-active .caption { text-transform:uppercase ;  opacity: 0;  position: relative;  margin:0 auto;    width:100%; 
 text-align: center; font-weight:500;    margin: 0; font-size: 20px; line-height:70px;  opacity: 0; z-index: 1; -webkit-animation-name: enter;  animation-name: enter;
  -webkit-transform-style: preserve-3d;  transform-style: preserve-3d;  -webkit-animation-duration: 1s; animation-duration: 1s; animation-delay:0.5s;  -webkit-animation-fill-mode: forwards;   animation-fill-mode: forwards;}
div.txtBox .caption,div.txtBox .caption2,div.txtBox .caption3 { opacity:0;}
div.visual .caption2 span{border: 0px solid;  color: #fff;  width:100%; display:block; padding: 10px 0 0 0; }
div.visual .slick-slide.slick-active .caption2 {  opacity: 0;  position: relative; margin:0 auto;   width:100%; 
 text-align: center; font-weight:500;    margin: 0; font-size: 55px; line-height:55px;  opacity: 0; z-index: 1; -webkit-animation-name: enter;  animation-name: enter;
  -webkit-transform-style: preserve-3d;  transform-style: preserve-3d;  -webkit-animation-duration: 1s; animation-duration: 1s;  animation-delay:1s; -webkit-animation-fill-mode: forwards;   animation-fill-mode: forwards;}
div.visual .caption3 span{border: 0px solid;  color: #fff; margin:0 auto; width:100%; display:block; padding: 30px 0 0px 0; }
div.visual .slick-slide.slick-active .caption3 {  opacity: 0;  position: relative; margin:0 auto;  width:100%; 
 text-align: center; font-weight:400;    margin: 0; font-size: 30px;   opacity: 0; z-index: 1; -webkit-animation-name: enter;  animation-name: enter;
  -webkit-transform-style: preserve-3d;  transform-style: preserve-3d;  -webkit-animation-duration: 1s; animation-duration: 1s; animation-delay:1.5s;  -webkit-animation-fill-mode: forwards;   animation-fill-mode: forwards;}

@keyframes enter {
  0% { opacity: 0; -webkit-transform: translateY(30px);  transform: translateY(30px); }
  25% {  opacity: 1; }
  100% { opacity: 1;  -webkit-transform: translateY(0px);  transform: translateY(0px);  }
}

/*slick-dots*/
div.visual .slick-dots { position:absolute; bottom:200px; width:100%; text-align: center;  }
div.visual .slick-dots li {  display: inline-block;  vertical-align: top;  margin: 0 8px;}
div.visual .slick-dots li button { text-indent:-9999px;  width: 12px;  height: 12px;  border: none;  cursor: pointer;  border-radius: 50%;  border: 2px solid #fff;
  box-shadow: 0 0 0 0 transparent;  vertical-align: middle;  color: #fff;  background-color:rgba(0,0,0,0);  transition: all .3s ease;  opacity: 1;}
div.visual .slick-dots li button:focus {  outline: none;}
div.visual .slick-dots li button:hover {  opacity: 1;}
div.visual .slick-dots li.slick-active button { border-color: #fff; background-color:#fff;  box-shadow: 0 0 0 0px #fff;  opacity: 1;}

/*---------------------------------------
  MOBILE RESPONSIVE              
-----------------------------------------*/
@media (max-width: 1023px) {
div.visual { height:450px; width:calc(100% - 0px);  margin:0px auto ; padding-top:0px ; top:0;  background-color:#fff;}
div.visual .slick-slide {  position: relative;  height: 500px; }	
div.txtBox { padding:0 15px 0px 15px; }
div.visual .slick-slide.slick-active .caption {  font-size:15px; line-height:40px  }
div.visual .caption span{padding: 50px 20px 15px 20px; border:0;  }
div.visual .slick-slide.slick-active .caption2 {  }
div.visual .caption2 span{padding: 20px 20px 15px 20px; border:0; font-size:35px;  }
div.visual .slick-slide.slick-active .caption3  { top: 55% ; }
div.visual .caption3 span {padding: 20px 20px 15px 20px; font-size:20px;}
div.visual .full-wide-slider {   height:100%;  }
div.visual .slick-dots { position:absolute; bottom:30px;}
}
@media (max-width: 768px) {
div.visual .slick-slide.slick-active .caption {   font-size:15px; line-height:40px }
div.visual .caption span{padding: 0px 15px; border:0;  }
div.visual .caption2 span{padding:10px 15px 0 15px ; border:0; font-size:30px; line-height:35px; }
div.visual .caption3 span { font-size:18px;}
div.visual .slick-arrow  {	display: none !important;}
}
@media (max-width: 640px) {
}
@media (max-width: 480px) {
}
@media (max-width: 320px) {
}