@charset "UTF-8";
:root {
  --nav-height: 50px;
}
 a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline
}
ol, ul {
  list-style: none
}
article, aside, details, figcaption, figure, footer, hgroup, menu, nav, section, summary {
  display: block
}
img{
  width: 100%;
  display: block;
}
*{
  box-sizing: border-box;
}
body {
  background: #000000!important;
  color: white;
  font-family: SST W01 Roman, sans-serif, Helvetica Neue, Helvetica, Arial;
  
}
section {
  position: relative;
}
/* .ff_Regular {
  font-family: 'MMC-Regular' !important;
}
.ff_Medium {
  font-family: 'MMC-Medium' !important;
} */
.ff_Bold {
  font-family: SST W01 Bold, sans-serif, Helvetica Neue, Helvetica, Arial;
}
.ff_uppercase {text-transform: uppercase;}
.pc-only {
  display: block;
}
.sp-only {
  display: none;
}
.html_hidden {
  overflow: hidden;
}
.relative {
  position: relative;
}
.inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
.loading_init{
   opacity: 0;
}
.loading_init.show{
  opacity: 1 ;
}
.text_right {
  text-align: right;
}
.clearfix {
  zoom: 1;
}
.close_btn {
  font-size: 12px;
  color: #ffffff;
  position: absolute;
  right: 0px;
  top: 0px;
  text-align: center;
  z-index: 9999;
  cursor: pointer;
  background: #000000;
  padding: 14px 14px 8px;
}
.close_btn .close_icon {
  width: 33px;
  height: 33px;
  margin: 0 auto 10px;
  transform: scale(1, 1) translate3d(0, 0, 0);
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 9999;
}
.close_btn .close_icon span {
  display: block;
  position: absolute;
  top: 16px;
  right: 0px;
  width: 32px;
  height: 4px;
  background-color: #ffffff;
}
.close_btn .close_icon span:nth-child(1) {
  transform: rotate(45deg);
}
.close_btn .close_icon span:nth-child(2) {
  transform: rotate(-45deg);
}
.scroll_bar {
  position: absolute;
  top: 0%;
  left: 50px;
  width: 65px;
  transform: translate(-50%, 0%);
  height: 80%;
  font-size: 13px;
  z-index: 2;
}
.scroll_bar span {
  position: relative;
  background: #000000;
  display: block;
  top: 0px;
  
  text-align: center;
}
.scroll_bar::before {
  content: '';
  position: absolute;
  width: 1px;
  background-image: -webkit-linear-gradient(#ffffff 0, #ffffff 100%);
  background-image: linear-gradient (#ffffff 0, #ffffff 100%);
  left: 32.5px;
  top: 25px;
  height:100%;
  opacity: 1;
  animation: scroll_bar_ani 2.3s ease-in-out 0s infinite;
}
@keyframes scroll_bar_ani {
  0% {
    height: 0%;
    opacity: 1;
  }
  70% {
    height: 100%;
    opacity: 0;
  }
  100% {
    height: 0%;
    opacity: 0;
  }
}
.nav_sec {
  position: fixed;
  top: 0px;
  right: 0px;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  z-index: 98;
}
.nav_sec .nav__toggle > * {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: relative;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 65px;
  height: 65px;
  cursor: pointer;
  background-color: #3D5AFE;
}
.nav_sec .nav__toggle > * span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  left: 24px;
  width: 17px;
  height: 1px;
  background-color: #fff;
  vertical-align: bottom;
}
.nav_sec .nav__toggle > * span:nth-of-type(1) {
  top: 26px;
}
.nav_sec .nav__toggle > * span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.nav_sec .nav__toggle > * span:nth-of-type(3) {
  bottom: 26px;
}
.nav_sec .nav_inner {
  display: none;
  position: absolute;
  top: 20px;
  right: 0px;
  z-index: 999;
}
.nav_sec .nav_inner .nav_list {
  list-style: none;
  width: 300px;
}
.nav_sec .nav_inner .nav_list li a {
  font-size: 18px;
  line-height: 20px;
  
  color: #FFFFFF;
  padding: 15px 20px;
  margin-bottom: 5px;
  display: block;
  -webkit-transition: color 0.25s ease-out;
  transition: color 0.25s ease-out;
  position: relative;
  text-align: right;
}
.nav_sec .nav_inner .nav_list li:last-child a {
  margin-bottom: 0px;
}
.nav_sec .nav_inner .nav_list li a:before {
  content: "";
  position: absolute;
  width: 2px;
  height: 100%;
  background: #B3B6B8;
  right: 4px;
  top: 0px;
}
.nav_sec .nav_inner .nav_list li a:hover {
  
}
.nav_sec .nav_inner .nav_list li a:hover:before {
  text-decoration: none;
  border-right: 4px #3D5AFE solid;
  font-weight: bold;
  right: 3px;
}
.kv_sec_logo {
  position: absolute;
  left: 2.5%;
  z-index: 2;
  width: 37%;
  top: 2%;
}
.kv_sec .kv_img {
  position: relative;
  z-index: 0;
}
.kv_sec .kv_img.scrollin {
    transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
}
.kv_sec .kv_img img, .kv_sec .kv_swiper img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}
.kv_sec {
  position: relative;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  overflow: hidden;
  background: #000000;
  width: 100vw;
  height: 100%;
  top: 0px;
}
.kv_sec .kv_sec_visual {
  color: #ffffff;
  position: absolute;
  width: 60%;
  bottom: 5%;
  right: 4%;
  z-index: 2;
}
.kv_sec .kv_sec_sub {
  font-size: 3.23vw;
  text-align: right;
  font-family: 'MMC-Bold';
  letter-spacing: -0.112em;
  margin-right: -6px;
}
.kv_sec .kv_sec_title {
  font-size: 7.3vw;
  text-align: right;
  font-family: 'MMC-Bold';
  letter-spacing: -0.12em;
  margin-top: -1%;
}
.kv_sec .kv_sec_copy {
  font-size: 1.52vw;
  line-height: 2.3vw;
  text-align: right;
  
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  padding-bottom: 10px;
}
.kv_sec .kv_sec_copy.scrollin {
  -webkit-animation: slideText 1s forwards;
  animation: slideText 1s forwards;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}
.kv_sec .scroll_bar {
  bottom: 210px;
  top: auto;
  height: 30%;
}
.kv_sec .scroll_bar span {
  background: none;
}

.kv_sec .slideup_ttl {
  height: auto !important;
}
.kv_sec .kv_sec_copy {
  position: relative;
  font-size: 15px;
  line-height: 28px;
  text-align: left;
  padding: 10px 30px 60px;
  box-sizing: border-box;
}
.kv_sec .kv_sec_title {
  position: absolute;
  bottom: 20px;
  left: 30px;
  z-index: 3;
  text-align: left;
  font-size: 45px;
}
.kv_sec .kv_sec_sub {
  position: absolute;
  bottom: 62px;
  left: 30px;
  z-index: 3;
  text-align: left;
  font-size: 19px;
}
.kv_sec .kv_sec_sub.scrollin {
  -webkit-animation: slideText 2s forwards;
  animation: slideText 2s forwards;
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}
.kv_sec .kv_sec_title .scrollin {
  -webkit-animation: slideText 2s forwards;
  animation: slideText 2s forwards;
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}
.kv_sec .kv_sec_copy {
  -webkit-animation: slideText .8s forwards;
  animation: slideText .8s forwards;
  -webkit-animation-delay: .8s;
  animation-delay: .8s;
}
.kv_sec .kv_swiper .swiper-pagination {
  text-align: right;
  padding-right: 10px;
  box-sizing: border-box;
}
.kv_sec .ult_wrapper{
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
  height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 40px;
}
.kv_sec .ult_wrapper .t1{
  width: 18.26vw;
  margin: 3vw 0px;
}
.kv_sec .ult_wrapper .t2{
  font-size: 2.1vw;
  line-height: 1.2;
}
.kv_sec .ult_wrapper .t3{
  width: 30vw;
}
.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #808082;
  opacity: 1;
}
.swiper-pagination-bullet-active {
  opacity: 1;
  background: #3D5AFE;
}
#chef .js_kvImage, #chef .js__tsc-showscale {
  will-change: transform;
  transform-origin: top center;
}


.product_sec .product_box {
  cursor: url("../images/icon_cursor.png"), auto;
}
.product_sec .scroll_bar {
  height: 70%;
}
.product_sec .product_box {
  width: 100%;
  margin: 0 auto 0px!important;
  text-align: center;
}
.product_sec .product_box .img{
  position: relative;
  width: 65%;
}
.product_sec .product_box .img .i{
  width: 169%;
  position: absolute;
  left: -21.7%;
  top: -26.1%;
  z-index: 1;
  float: left;
}
.product_sec .product_box .img .b{
  width: 100%;
  z-index: 0;
  position: relative;
}
.product_sec .product_box .title {
  color: #ffffff;
  padding: 3vw 0px;
  font-size: 1.6vw;
  line-height: 1.2;
  display: inline-block;
  padding-right: 50px;
  position: relative;
}
.product_sec .product_box .copy {
  color: #ffffff;
  font-size: 1.2vw;
  line-height: 1.6;
  
}
.product_sec .product_box.product_center {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    flex-flow: column;
    align-items: center;
}
.product_sec .product_box.product_full {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
.product_sec .product_box.product_full .img, .product_sec .product_box.product_full .fadein {
 width: 48.6%;
}
.product_sec #p_3.product_full .img {
  order: 2;
}
.product_sec .popupCar {
  display: none;
}
.product_sec .popup_area {
  position: fixed;
  top: 0px;
  right: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background-color: rgba(25, 25, 25, 0.95);
  z-index: 99999;
  display: flex;
}
.product_sec .full_box {
  width: 100%;
  height: 100%;
  display: block;
  background-color: #000000;
}
.product_sec .popup_box {
  width: 90%;
  height: auto;
  margin: 0;
  position: relative;
}
.product_sec .product_pop_box {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
}
.product_sec .product_pop_box .pop_title {
  color: #ffffff;
  font-size: 3vw;
  line-height: 1.2;
  margin-bottom: 2vw;
}
.product_sec .product_pop_box .pop_copy,
.product_sec .product_pop_box .coloured{
  color: #ffffff;
  font-size: 1.8vw;
  line-height: 1.6;
  position: relative;
}
.product_sec .product_pop_box .pop_copy .pop_copyH{
  height: 15vw;
  scrollbar-width: none;
  overflow: scroll;
  padding-bottom: 2.7vw;
}
.product_sec .product_pop_box .pop_copy .pop_copyH .coloured_text{
  padding-top: 0.8vw;
  padding-bottom: 1vw;
}
.product_sec .product_pop_box .pop_copy.visible:before{
    content: '';
    position: absolute;
    background-image: -webkit-linear-gradient(to bottom, rgba(255, 0, 0, 0), rgba(0, 0, 0, 1));
    background-image: linear-gradient(to bottom, rgba(255, 0, 0, 0), rgba(0, 0, 0, 1));
    left: 0px;
    bottom: -1px;
    height: 5vw;
    width: 100%;
    z-index: 5;
}
.product_sec .product_pop_box .pop_copy.visible:after{
    content: '';
    position: absolute;
    background-image: url(../images/scroll_btn.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 2.5vw;
    height: 2vw;
    left: calc(50% - 1.25vw);
    bottom: 0px;
    z-index: 5;
    animation: opacity ease-in-out 1s infinite;
}
.product_sec .product_pop_box .pop_copy.visible.top:after{
  transform: rotate(180deg);
}
@keyframes opacity {
  0%{
    opacity: 0;
  }
  25%{
    opacity: 0.25;
  }
  50%{
    opacity: 0.5;
  }
  75%{
    opacity: 1;
  }
  100%{
    opacity: 0.75;
  }
}
.product_sec .coloured_dots,
.product_sec .coloured_dots{
  display: flex;
      justify-content: flex-start;
      position: relative;
      bottom: 0px;
      width: 100%;
      list-style: none;
}
.product_sec .coloured_dots li{
    border: 2px #ffffff solid;
    width: 2vw;
    height: 2vw;
    margin-right: 0.5vw;
    border-radius: 50%;
}
.product_sec .coloured_dots .coloured_dots__black{
  background-color: #000000;
}
.product_sec .coloured_dots .coloured_dots__green{
  background-color: #606958;
}
.product_sec .coloured_dots .coloured_dots__red{
  background-color: #D24615;
}
.product_sec .coloured_dots .coloured_dots__grey{
  background-color: #d3d3d3;
}
.product_sec .coloured p{
  margin-bottom: 2vw;
  margin-top: 2vw;
}
.product_sec .product_box .coloured_dots{
  justify-content: center;
  margin-bottom: 0px;
}
.product_sec .product_pop_box .pop_product_list_img {
  width: calc(100% - 40vw);
}
.product_sec .pop_inner{
  padding: 0px 2.5vw 0px 5vw;
  width:40vw;
}
.product_sec .pop_inner h3{
  font-size: 2vw;
  line-height: 1.2;
  margin-bottom: 1vw;
}
.product_sec .swiper-container {
  width: 100%;
  height: 100%;
  margin: auto;
}
.product_sec .popupCar .swiper-button-prev, .product_sec .popupCar .swiper-button-next {
  width: 2vw;
  height: 4vw;
  background-size: 2vw 4vw;
  top: 50%;
  margin-top: -2vw;
}
.product_sec .popupCar .swiper-button-prev, .product_sec .swiper-container-rtl .swiper-button-next {
  background-image: url(../images/icon_prev.png) !important;
  left: 2vw;
}
.product_sec .popupCar .swiper-button-next, .product_sec .swiper-container-rtl .swiper-button-prev {
  background-image: url(../images/icon_next.png) !important;
  right: 2vw;
}
.product_sec .pop_product_list_img .swiper-pagination_p {
  display: none;
}
.product_sec .product_swiper .swiper-slide-active {
  animation: full_box 1500ms ease-in-out 0s 1 forwards;
}
@keyframes full_box {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 100%;
  }
}
.text_link {
  padding-top: 1.5vw;
  display: block;
  display: flex;
  justify-content: space-between;
}
.text_link li{
  width: 46%;
  text-align: center;
}
.text_link a {
  position: relative;
  color: #ffffff;
  font-size: 1.2vw;
  line-height: 1.2;
  background-color: #3D5AFE;
  box-sizing: border-box;
  width: 100%;
  display: block;
  padding: 1em;
}
/* footer */
.copyright {
  background: #f4f4f4;
  color: #7c7c7c;
  font-size: 1.4rem;
  text-align: center;
  padding: 10px;
}
.ttl_sec{
  margin-top: 10vw;
}
.ttl_sec .inner{
  max-width: 80%;
  padding: 0px;
}
.ttl_sec h2{
  font-size: 3.6vw;
  line-height: 1.2;
  margin-bottom: 5vw;
}
.ttl_sec h3{
  font-size: 1.6vw;
  line-height: 1.2;
  margin-bottom: 5vw;
}
.product_sec{
  width: 50%;
  margin-bottom: 6vw;
}
.product_sec .product_box .title:before{
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 14px;
  transform: translate(0, -50%);
  border-top: 2px solid;
  color: #ffffff;
}
.product_sec .product_box .title:after{
  content: '';
  position: absolute;
  right: 6px;
  top: 50%;
  height: 14px;
  transform: translate(0, -50%);
  border-left: 2px solid;
  color: #ffffff;
}
.product_sec_wapper .inner{
  display: flex;
      justify-content: center;
      align-items: flex-start;
}
.clearfix{
  clear: both;
}
@media screen and (min-width: 1440px) {
  .hero__text {
    top: 29px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1200px) {
  /* .ttl_sec h2{
    font-size: 3vw;
    margin-bottom: 5vw;
  }
  .ttl_sec h3{
    font-size: 1.4vw;
    line-height: 1.2;
    margin-bottom: 5vw;
  } 
    .text_link a {
  position: relative;
  color: #ffffff;
  font-size: 1.2vw;
  line-height: 1.2;
  background-color: #3D5AFE;
  padding: 2.5vw 10vw;
  box-sizing: border-box;
  width: 100%;
  display: block;
}*/
.kv_sec .ult_wrapper .t1{
  width: 18.26vw;
  margin: 3vw 0px;
}
.kv_sec .ult_wrapper .t2{
  font-size: 2.1vw;
  line-height: 1.2;
}
.kv_sec .ult_wrapper .t3{
  width: 30vw;
}
.inner {
  padding: 0px 40px;
}
}