@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-SemiBold.woff2') format('opentype');
  font-weight: 600;
}   
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Bold.woff2') format('opentype');
  font-weight: 700;
} 
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Regular.woff2') format('opentype');
  font-weight: 400;
}   
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Medium.woff2') format('opentype');
  font-weight: 500;
}   
@font-face {
  font-family: "1FTV VIP Kiltier";
  src: url('../fonts/1FTV-VIP-Kiltier-1.woff2') ;
}   
@font-face {
  font-family: "1FTV VIP Ramole";
  src: url('../fonts/1FTV-VIP-Ramole.woff2') ;
}   
@font-face {
  font-family: "Bona Nova";
  src: url('../fonts/BonaNova-Regular.woff2') ;
}   
.kl_container{
  max-width: 2560px;
  margin-inline: auto;
  width: 100%;
  height: 100%;
}
  html.lenis, html.lenis body {
    height: auto;
  }
.df_hide_onload {
  opacity: 0;
}
  .lenis.lenis-smooth {
    scroll-behavior: auto !important;
  }
.lenis.lenis-stopped.open-popup {
  overflow:hidden;
}
  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }

*{
    box-sizing: border-box;
}
html {
  font-size: 0.52083333333vw;
}
body{
  margin: 0;
    color: #444444;
    font-size: 2rem;
    line-height: 1.5;
    font-family: "Montserrat";
}
.img_full, .img_fullfill {
  display: flex;
}
.flex {
  display: flex;
}
.full_screen {
  height: 100vh;
  overflow: hidden;
}
.img_full img{
  width: 100%;
}
.img_fullfill img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 991px) {
  
  html {
    font-size: 1.30208333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .df_hide_onload {
  opacity: 1 !important;
}
  html {
    font-size: 2.5641025641vw;
  }
}
.txt_16{
    font-size: 1.6rem;
    line-height: 2.5em;

}
.txt_17{
    font-size: 1.7rem;
    line-height: 1.589em;

}
.txt_22{
  font-size: 2.2rem;
  line-height: 1.36em;
}
.txt_23{
    font-size: 2.3rem;
    line-height: 1.4em;
}
.txt_25{
    font-size: 2.5rem;
    line-height: 1.4em;
}
.txt_28{
    font-size: 2.8rem;
    line-height: 1.071em;
}
.txt_30{
    font-size: 3rem;
    line-height: 1em;
}
.txt_32{
  font-size: 3.2rem;
  line-height: 1.3em;
}
.txt_35{
    font-size: 3.5rem;
    line-height: 1.3;
}
.txt_50{
  font-size: 4.2rem;
  line-height: 1.2em;
}
.txt_55{
font-size: 4rem;
line-height: 1.2;
}
.txt_60{
    font-size: 4.2rem;
    line-height: 1.4em;
}
.txt_65{
    font-size: 4.4rem;
    line-height: 1.2;
}
.txt_90{
font-size: 9rem;
line-height: 1;
}
.txt_title{
    color: #015533;
    font-family: "1FTV VIP Kiltier";
    text-transform: uppercase;
}
.txt_justify{
    text-align: justify;
}
.txt_center{
    text-align: center;
}
.txt_semi {
  font-weight: 600;
}
.txt_up{
  text-transform: uppercase;
}
@media screen and (max-width:991px) {
  body{
    font-size: 1.6rem;
}
  .txt_16{
    font-size: 1.6rem;

}
.txt_17{
    font-size: 1.6rem;

}
.txt_22{
  font-size: 2rem;
}
.txt_23{
    font-size: 2.1rem;
}
.txt_25{
    font-size: 2.2rem;
}
.txt_28{
    font-size: 2.4rem;
}
.txt_30{
    font-size: 2.5rem;
}
.txt_32{
  font-size: 2.2rem;
}
.txt_35{
    font-size: 3rem;
}
.txt_50{
  font-size: 4.2rem;
}
.txt_55{
font-size: 4.8rem;
}
.txt_60{
    font-size: 5rem;
}
.txt_65{
    font-size: 5rem;
}
.txt_90{
font-size: 7.2rem;
}
.full_screen {
  height: auto;
}
}
@media screen and (max-width:767px) {
  body{
    font-size: 1.6rem;
}

.txt_17{
    font-size: 1.3rem;

}
.txt_22{
  font-size: 1.6rem;
}
.txt_23{
    font-size: 1.7rem;
}
.txt_25{
    font-size: 1.8rem;
}
.txt_28{
    font-size: 2rem;
}
.txt_30{
    font-size: 2rem;
}
.txt_32{
  font-size: 2rem;
}
.txt_35{
    font-size: 2rem;
}
.txt_50{
  font-size: 2.8rem;
}
.txt_55{
font-size: 3.2rem;
}
.txt_60{
    font-size: 3.5rem;
}
.txt_65{
    font-size: 3rem;
}
.txt_90{
font-size: 4.5rem;
}
}
.hover-un {
  	position: relative;
  }
  .hover-arr:hover .ic-arr-main {
    transform: translateX(100%);
    transition: transform .4s ease;
  }
  .hover-arr:hover .ic-arr-clone {
    transform: translateX(0%);
    transition: transform .4s ease;
  }
  .hover-group:hover .hover-item {
  	opacity: 0.6;
  }
  .hover-group .hover-item:hover {
  	opacity: 1;
  }
  .line-inner.line-inner-hover {
    background-color: currentColor;
    position: relative;
}
.line {
      width: 100%;
    height: 1px;
    &.line-md {
      height: .2rem;
    }
}
.line-arr {
    display: flex;
    overflow: hidden;
}
.line.line-main {
    background-color: currentColor;
    transition-property: transform;
    transition-duration: .4s;
    transition-timing-function: ease;
    flex: none;
}
.line.line-clone {
  flex: none;
    background-color: currentColor;
    transition-property: transform;
    transition-duration: .4s;
    transition-timing-function: ease;
    overflow: hidden;
    transform: translate(calc(-200% - 2rem));
}
  .hover-un .line-inner-hover {
    transform-origin: right;
    transform: scaleX(0);
    transition: transform .6s ease;
    width: 100%;
    height: 100%;
  }
  .hover-un .hover-un-inner:nth-child(2) .line-inner-hover {
    transition-delay: .1s;
    transition-duration: .5s;
  }
  .hover-un:hover .line-inner-hover {
    transform: scaleX(1);
    transform-origin: left;
  }
   .hover-arr:hover .line-main {
  	transform: translateX(calc(100% + 2rem));
  }
  .hover-arr:hover .line-clone{
  	transform: translateX(-100%);
  }
  .line.line-hover {
    position: absolute;
    bottom: 0;
    overflow: hidden;
}
/* .kv_line {
  overflow: hidden;
} */