/* ------------------------------------------ */
/* Style naming basically follows BEM: http://getbem.com/ */
/* ------------------------------------------ */
.title--xlarge, .section-1 h2, .section-2 h2, .section-2 h4, .section-5 h2, .section-7 h2, .section-8 h2, .section-9 h2 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 130px; }
  @media screen and (max-width: 768px) {
    .title--xlarge, .section-1 h2, .section-2 h2, .section-2 h4, .section-5 h2, .section-7 h2, .section-8 h2, .section-9 h2 {
      font-size: 40px; } }
.title--large, #header .menu .main-menu a, #footer h2, .main-banner h2, .section-1 h3, .section-2 h3, .section-5 h3, .section-9 h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 50px; }
  @media screen and (max-width: 768px) {
    .title--large, #header .menu .main-menu a, #footer h2, .main-banner h2, .section-1 h3, .section-2 h3, .section-5 h3, .section-9 h3 {
      font-size: 24px; } }
.title--medium, #header .menu .main-menu.en a, .section-2 h5, .section-3 h2, .section-4 h2, .section-5 h4, .section-6 h2, .section-7 .milstone p, .section-7 h3, .section-9 h4 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 32px; }
  @media screen and (max-width: 768px) {
    .title--medium, #header .menu .main-menu.en a, .section-2 h5, .section-3 h2, .section-4 h2, .section-5 h4, .section-6 h2, .section-7 .milstone p, .section-7 h3, .section-9 h4 {
      font-size: 20px; } }
.title--main, #header .lang {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 300; }
  @media screen and (max-width: 768px) {
    .title--main, #header .lang {
      font-size: 18px; } }

.content--common, .section-1 p {
  font-family: "Noto Sans TC", "Noto Sans SC", serif;
  font-size: 20px;
  line-height: 25px; }

/* BEGIN Noto Sans */
@font-face {
  font-family: "SetaReta";
  src: url("fonts/SetaReta-Regular.eot?#iefix") format("embedded-opentype"), url("fonts/SetaReta-Regular.otf") format("opentype"), url("fonts/SetaReta-Regular.woff") format("woff"), url("fonts/SetaReta-Regular.ttf") format("truetype"), url("fonts/SetaReta-Regular.svg") format("svg");
  font-weight: 400;
  font-style: normal; }
@font-face {
  font-family: "Garamond";
  src: url("fonts/Garamond-Regular.eot?#iefix") format("embedded-opentype"), url("fonts/Garamond-Regular.otf") format("opentype"), url("fonts/Garamond-Regular.woff") format("woff"), url("fonts/Garamond-Regular.ttf") format("truetype"), url("fonts/Garamond-Regular.svg") format("svg");
  font-weight: 400;
  font-style: normal; }
@font-face {
  font-family: "BigMiller";
  src: url("fonts/BigMiller-Light.eot?#iefix") format("embedded-opentype"), url("fonts/BigMiller-Light.otf") format("opentype"), url("fonts/BigMiller-Light.woff") format("woff"), url("fonts/BigMiller-Light.ttf") format("truetype"), url("fonts/BigMiller-Light.svg") format("svg");
  font-weight: 300;
  font-style: normal; }
/* END Noto Sans */
/* Style commonly used  */
/* ------------------------------------------ */
body,
body * {
  max-height: 1000000px; }

html {
  font-size: 16px;
  /*
  @media screen and (max-width:1580px) {
      font-size:15px;
  }
  @media screen and (max-width:991px) {
      font-size:14px;
  }
  @media screen and (max-width:767px) {
      font-size:13px;
  }
  */ }

body {
  font-size: 16px;
  /*
  @media screen and (max-width:1580px) {
      font-size:15px;
  }
  @media screen and (max-width:991px) {
      font-size:14px;
  }
  @media screen and (max-width:767px) {
      font-size:13px;
  }
  */
  font-family: "Noto Sans TC", "Noto Sans SC", serif;
  font-weight: 400;
  margin: 0 !important;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow-x: hidden;
  position: relative;
  background-color: #FFF; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

a {
  text-decoration: none;
  display: inline-block;
  outline: none; }
  a:hover, a:active {
    text-decoration: none; }
  a:focus {
    text-decoration: none;
    outline: none; }

img {
  image-rendering: -webkit-optimize-contrast;
  max-width: 100%;
  height: auto; }

br {
  display: block;
  opacity: 0;
  font-family: "Arial", sans-serif !important;
  font-size: 0;
  color: transparent;
  line-height: 1em; }

p {
  margin-top: 0; }
  p:last-child {
    margin-bottom: 0; }

.clearfix {
  content: '';
  display: table;
  width: 100%;
  height: 0;
  clear: both; }

.nowrap {
  overflow: hidden; }

#wrapper {
  position: relative;
  width: 100%;
  min-height: 100vh; }

.block-size {
  position: relative; }
  .block-size--full-width {
    width: 100%; }
  .block-size--half-width {
    width: 50%; }
  .block-size--full-height {
    min-height: 100vh; }
  .block-size--full-fill {
    width: 100%;
    height: 100%; }

.btn {
  position: relative;
  display: inline-block; }
  .btn--overline:after {
    content: '';
    position: absolute;
    width: 0%;
    height: 10%;
    top: 45%;
    left: -5%;
    background-color: #FFF; }
  .btn--overline:hover:after {
    width: 110%; }

.title-anime > div {
  position: relative;
  overflow: hidden;
  margin: auto; }
.title-anime span {
  position: relative;
  transform: translateY(0%);
  display: inline-block; }

.line {
  position: relative;
  width: 100%;
  min-width: 33px;
  height: 33px;
  background-image: url(../images/Line.svg);
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  margin: 40px auto;
  opacity: 0;
  -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
  .line:before {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(50% - 40px);
    width: 0px;
    height: 1px;
    background-color: #B78E6C;
    -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
  .line:after {
    content: '';
    position: absolute;
    top: 50%;
    right: calc(50% - 40px);
    width: 0px;
    height: 1px;
    background-color: #B78E6C;
    -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s; }

.more {
  position: relative;
  display: inline-block;
  color: #B78E6C;
  border: solid 1px #B78E6C;
  padding: 5px 40px;
  margin-top: 40px;
  -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
  .more:hover {
    color: #FFF;
    background-color: #B78E6C; }

canvas {
  position: relative;
  width: 100%;
  height: 100%; }

.display--inline-block {
  display: inline-block; }

.display--block {
  display: inline-block; }

.display--inline {
  display: inline; }

.display--table {
  display: table; }

.display--table-cell {
  display: table-cell; }

.display--flex {
  display: flex; }

.align--hc {
  text-align: center; }
.align--hl {
  text-align: left; }
.align--hr {
  text-align: right; }
.align--vt {
  vertical-align: top; }
.align--vb {
  vertical-align: bottom; }
.align--vm {
  vertical-align: middle; }
.align--hvc {
  text-align: center;
  vertical-align: middle; }

.hidden-all {
  display: none !important; }

/* END Style commonly used  */
/* ------------------------------------------ */
/* Style for menu */
/* ------------------------------------------ */
#header {
  position: fixed;
  width: 100%;
  top: 0%;
  left: 0px;
  padding: 0px 0px;
  text-align: left;
  z-index: 20;
  color: #FFF;
  border-bottom: solid 1px #989898;
  -webkit-transition: all 0.4s ease-out 0s;
  -moz-transition: all 0.4s ease-out 0s;
  -o-transition: all 0.4s ease-out 0s;
  transition: all 0.4s ease-out 0s; }
  #header a {
    color: inherit; }
  #header.hidden {
    transform: translateY(-100%); }
  #header.min {
    position: fixed;
    background-color: rgba(255, 255, 255, 0.5);
    z-index: 30; }
  #header .logo {
    position: relative;
    max-width: 200px;
    -webkit-transition: all 0.4s ease-out 0s;
    -moz-transition: all 0.4s ease-out 0s;
    -o-transition: all 0.4s ease-out 0s;
    transition: all 0.4s ease-out 0s; }
    @media screen and (max-width: 768px) {
      #header .logo {
        height: 60px; } }
  #header .header--holder {
    position: relative;
    width: 100%;
    padding: 0px 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: auto; }
    @media screen and (max-width: 640px) {
      #header .header--holder {
        padding: 0px 15px; } }
  #header .lang {
    position: relative;
    width: 145px;
    padding: 130px 0px; }
    @media screen and (max-width: 640px) {
      #header .lang {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0px 0px; } }
    #header .lang a {
      margin: 1em auto;
      width: 45%;
      aspect-ratio: 1/1;
      border: solid 1px rgba(255, 255, 255, 0);
      display: block;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      -webkit-transition: all 0.4s ease-out 0s;
      -moz-transition: all 0.4s ease-out 0s;
      -o-transition: all 0.4s ease-out 0s;
      transition: all 0.4s ease-out 0s; }
      @media screen and (max-width: 640px) {
        #header .lang a {
          width: 10%;
          writing-mode: inherit;
          -ms-writing-mode: inherit;
          margin: 1em; } }
      #header .lang a span {
        margin-left: -.25em; }
        @media screen and (max-width: 640px) {
          #header .lang a span {
            margin-left: 0em; } }
      #header .lang a:hover {
        border: solid 1px rgba(255, 255, 255, 0.6); }
      #header .lang a.active {
        border: solid 1px rgba(255, 255, 255, 0.6); }
    @media screen and (max-width: 768px) {
      #header .lang {
        width: 100%; } }
  #header .menu-btn {
    position: relative;
    right: -60px;
    width: 120px;
    height: 120px;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    z-index: 10;
    background-color: rgba(94, 81, 74, 0.6);
    margin-left: 40px; }
    @media screen and (max-width: 640px) {
      #header .menu-btn {
        width: 80px;
        height: 80px;
        right: -15px; } }
    #header .menu-btn:hover:before {
      width: 60%; }
    #header .menu-btn:hover:after {
      width: 60%; }
    #header .menu-btn:hover span {
      width: 30%; }
    #header .menu-btn.active:before {
      transform: translateX(-50%) rotate(45deg);
      top: 50%;
      width: 45px;
      margin-top: -1px;
      background-color: #FFF; }
    #header .menu-btn.active:after {
      transform: translateX(-50%) rotate(-45deg);
      bottom: 50%;
      width: 45px;
      margin-bottom: -1px;
      background-color: #FFF; }
    #header .menu-btn.active span {
      width: 0px !important;
      background-color: #FFF; }
    #header .menu-btn:before {
      position: absolute;
      top: 50%;
      left: 50%;
      content: '';
      width: 46px;
      height: 2px;
      transform-origin: center;
      transform: translate(-50%, -15px);
      background-color: #FFF;
      -webkit-transition: all 0.2s ease-out 0s;
      -moz-transition: all 0.2s ease-out 0s;
      -o-transition: all 0.2s ease-out 0s;
      transition: all 0.2s ease-out 0s; }
      @media screen and (max-width: 640px) {
        #header .menu-btn:before {
          width: 26px;
          transform: translate(-50%, -10px); } }
    #header .menu-btn:after {
      position: absolute;
      bottom: 50%;
      left: 50%;
      content: '';
      width: 46px;
      height: 2px;
      transform-origin: center;
      transform: translate(-50%, 15px);
      background-color: #FFF;
      -webkit-transition: all 0.2s ease-out 0s;
      -moz-transition: all 0.2s ease-out 0s;
      -o-transition: all 0.2s ease-out 0s;
      transition: all 0.2s ease-out 0s; }
      @media screen and (max-width: 640px) {
        #header .menu-btn:after {
          width: 26px;
          transform: translate(-50%, 10px); } }
    #header .menu-btn span {
      position: absolute;
      top: 50%;
      left: 50%;
      content: '';
      width: 46px;
      height: 2px;
      transform-origin: center;
      transform: translate(-50%, -50%);
      background-color: #FFF;
      -webkit-transition: all 0.2s ease-out 0s;
      -moz-transition: all 0.2s ease-out 0s;
      -o-transition: all 0.2s ease-out 0s;
      transition: all 0.2s ease-out 0s; }
      @media screen and (max-width: 640px) {
        #header .menu-btn span {
          width: 26px; } }
  #header .menu {
    position: absolute;
    width: 50%;
    height: 100vh;
    top: 0px;
    right: 0px;
    text-align: left;
    background-color: #C41230;
    opacity: 0;
    visibility: hidden;
    display: flex;
    overflow: hidden;
    -webkit-transition: all 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -moz-transition: all 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -o-transition: all 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    transition: all 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
    @media screen and (max-width: 640px) {
      #header .menu {
        width: 100%;
        text-align: center;
        flex-wrap: wrap;
        align-content: center; } }
    #header .menu:before {
      content: '';
      position: absolute;
      top: 120px;
      left: 0px;
      width: 100%;
      border-bottom: solid 1px rgba(255, 255, 255, 0.6); }
      @media screen and (max-width: 640px) {
        #header .menu:before {
          top: 80px; } }
    #header .menu:after {
      content: '';
      position: absolute;
      top: 0px;
      right: 120px;
      height: 100%;
      border-left: solid 1px rgba(255, 255, 255, 0.6); }
      @media screen and (max-width: 640px) {
        #header .menu:after {
          right: 80px; } }
    #header .menu.active {
      opacity: 1;
      visibility: visible;
      height: 100vh; }
      #header .menu.active .main-menu {
        opacity: 1; }
    #header .menu .menubg {
      position: absolute;
      top: 0px;
      left: 0px;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      opacity: 0;
      -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
      #header .menu .menubg.visible {
        opacity: 1; }
      #header .menu .menubg--fer {
        background-image: url(../images/menu-bg-01.jpg); }
      #header .menu .menubg--sto {
        background-image: url(../images/menu-bg-02.jpg); }
      #header .menu .menubg--vis {
        background-image: url(../images/menu-bg-03.jpg); }
      #header .menu .menubg--pro {
        background-image: url(../images/menu-bg-04.jpg); }
    #header .menu .main-menu {
      position: relative;
      width: 100%;
      height: 100%;
      padding: 120px 0px;
      padding-left: 120px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      opacity: 0;
      -webkit-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s;
      -moz-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s;
      -o-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s;
      transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s; }
      @media screen and (max-width: 640px) {
        #header .menu .main-menu {
          padding: 40px 0px;
          height: auto; } }
      #header .menu .main-menu.over li {
        opacity: .2; }
        #header .menu .main-menu.over li a {
          color: #FFF; }
      #header .menu .main-menu.over .lang {
        color: #FFF; }
      #header .menu .main-menu.over .logo-p .st0 {
        fill: #FFF; }
      #header .menu .main-menu .lang {
        position: relative;
        font-size: 20px;
        width: 100%;
        color: #000;
        text-align: center;
        padding: 40px 0px;
        -webkit-transition: all 0.8s ease-out 0s;
        -moz-transition: all 0.8s ease-out 0s;
        -o-transition: all 0.8s ease-out 0s;
        transition: all 0.8s ease-out 0s; }
        @media screen and (max-width: 768px) {
          #header .menu .main-menu .lang {
            display: block; } }
        #header .menu .main-menu .lang a {
          font-size: 20px;
          color: inherit; }
      #header .menu .main-menu a {
        position: relative;
        color: #FFF;
        font-weight: 300;
        text-transform: uppercase;
        -webkit-transition: all 0.8s ease-out 0s;
        -moz-transition: all 0.8s ease-out 0s;
        -o-transition: all 0.8s ease-out 0s;
        transition: all 0.8s ease-out 0s; }
        @media screen and (max-width: 768px) {
          #header .menu .main-menu a {
            padding-bottom: 0px;
            margin-bottom: 0px; } }
        #header .menu .main-menu a:hover:after {
          width: 100%;
          left: 0%; }
        #header .menu .main-menu a.active:after {
          width: 100%;
          left: 0%; }
      #header .menu .main-menu.black {
        color: #000; }
        #header .menu .main-menu.black a:after {
          border-bottom: solid 1px #000; }
      #header .menu .main-menu.white {
        color: #FFF; }
        #header .menu .main-menu.white a:after {
          border-bottom: solid 1px #FFF; }
      #header .menu .main-menu ul {
        position: relative;
        width: 100%;
        list-style: none; }
        @media screen and (max-width: 768px) {
          #header .menu .main-menu ul {
            display: block;
            margin: 2em 0; } }
        #header .menu .main-menu ul li {
          position: relative;
          display: block;
          margin: 1.5em auto;
          -webkit-transition: all 0.3s ease-out 0s;
          -moz-transition: all 0.3s ease-out 0s;
          -o-transition: all 0.3s ease-out 0s;
          transition: all 0.3s ease-out 0s; }
          @media screen and (max-width: 768px) {
            #header .menu .main-menu ul li {
              display: block;
              margin-left: auto;
              margin: 2em auto; }
              #header .menu .main-menu ul li a {
                font-size: 20px;
                width: 100%; }
              #header .menu .main-menu ul li:last-child:after {
                display: none; } }
          #header .menu .main-menu ul li:hover {
            opacity: 1; }

/* END Style menu  */
/* ------------------------------------------ */
/* Style for menu */
/* ------------------------------------------ */
#footer {
  position: relative;
  padding: 80px 80px;
  background-color: #FFF;
  display: flex;
  flex-wrap: wrap;
  color: #5E514A;
  z-index: 1; }
  @media screen and (max-width: 640px) {
    #footer {
      padding: 40px 15px; } }
  #footer .block {
    position: relative;
    width: 35%;
    margin: 4em auto; }
    @media screen and (max-width: 640px) {
      #footer .block {
        width: 100%;
        margin: 30px auto; } }
  #footer h2 {
    font-weight: 400;
    margin: 1em 0; }
  #footer .address {
    position: relative;
    width: 50%;
    display: inline-block; }
    @media screen and (max-width: 640px) {
      #footer .address {
        width: 100%;
        margin: 30px auto; } }
  #footer .address-block {
    position: relative;
    width: 65%;
    padding: 0px 60px;
    display: flex;
    align-items: flex-end;
    border-left: solid 1px #5E514A; }
    @media screen and (max-width: 640px) {
      #footer .address-block {
        border-top: solid 1px #5E514A;
        border-left: none;
        width: 100%;
        padding: 30px 0px;
        margin: 0 auto;
        flex-wrap: wrap; } }
  @media screen and (max-width: 768px) {
    #footer p {
      margin-bottom: auto; } }
  #footer p span {
    display: inline-block;
    margin: 0 1em; }
    @media screen and (max-width: 768px) {
      #footer p span {
        display: block; } }
  #footer a {
    position: relative;
    color: inherit;
    margin-right: 20px; }
    #footer a:after {
      content: '';
      position: absolute;
      width: 0%;
      left: 50%;
      bottom: 0px;
      border-bottom: solid 1px #FFF;
      -webkit-transition: all 0.2s ease-out 0s;
      -moz-transition: all 0.2s ease-out 0s;
      -o-transition: all 0.2s ease-out 0s;
      transition: all 0.2s ease-out 0s; }
    #footer a:hover:after {
      width: 100%;
      left: 0%; }

/* END Style menu  */
/* ------------------------------------------ */
.title--xlarge, .section-1 h2, .section-2 h2, .section-2 h4, .section-5 h2, .section-7 h2, .section-8 h2, .section-9 h2 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 130px; }
  @media screen and (max-width: 768px) {
    .title--xlarge, .section-1 h2, .section-2 h2, .section-2 h4, .section-5 h2, .section-7 h2, .section-8 h2, .section-9 h2 {
      font-size: 40px; } }
.title--large, #header .menu .main-menu a, #footer h2, .main-banner h2, .section-1 h3, .section-2 h3, .section-5 h3, .section-9 h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 50px; }
  @media screen and (max-width: 768px) {
    .title--large, #header .menu .main-menu a, #footer h2, .main-banner h2, .section-1 h3, .section-2 h3, .section-5 h3, .section-9 h3 {
      font-size: 24px; } }
.title--medium, #header .menu .main-menu.en a, .section-2 h5, .section-3 h2, .section-4 h2, .section-5 h4, .section-6 h2, .section-7 .milstone p, .section-7 h3, .section-9 h4 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 32px; }
  @media screen and (max-width: 768px) {
    .title--medium, #header .menu .main-menu.en a, .section-2 h5, .section-3 h2, .section-4 h2, .section-5 h4, .section-6 h2, .section-7 .milstone p, .section-7 h3, .section-9 h4 {
      font-size: 20px; } }
.title--main, #header .lang {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 20px;
  font-weight: 300; }
  @media screen and (max-width: 768px) {
    .title--main, #header .lang {
      font-size: 18px; } }

.content--common, .section-1 p {
  font-family: "Noto Sans TC", "Noto Sans SC", serif;
  font-size: 20px;
  line-height: 25px; }

/* ------------------------------------------ */
.main-banner {
  position: relative;
  top: 0px;
  width: 100%;
  height: 300vh;
  overflow: hidden; }
  .main-banner:after {
    content: '';
    position: absolute;
    top: 0px;
    right: 120px;
    width: 1px;
    height: 100%;
    background-color: #989898;
    z-index: 1;
    -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
    @media screen and (max-width: 640px) {
      .main-banner:after {
        right: 80px; } }
  .main-banner.fadeout:after {
    opacity: 0; }
  .main-banner .key-visual {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 1;
    -webkit-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -moz-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -o-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
    .main-banner .key-visual img {
      position: relative;
      width: 100%;
      height: 100%;
      top: 0px;
      max-width: none;
      object-fit: cover;
      mask-image: url(../images/logo_mask.svg);
      mask-position: 130% 50%;
      mask-size: 70% auto;
      -webkit-mask-image: url(../images/logo_mask.svg);
      mask-repeat: no-repeat;
      transform-origin: 100% 50%;
      -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
      @media screen and (max-width: 640px) {
        .main-banner .key-visual img {
          translate: -60% 0%;
          width: auto;
          mask-position: 120% 70%;
          mask-size: auto 100%; } }
    .main-banner .key-visual.enlarge {
      top: 0%; }
      .main-banner .key-visual.enlarge img {
        mask-size: 600% auto;
        mask-position: 70% 50%; }
        @media screen and (max-width: 640px) {
          .main-banner .key-visual.enlarge img {
            mask-position: 50% 70%;
            mask-size: auto 1200%; } }
    @media screen and (max-width: 768px) {
      .main-banner .key-visual {
        top: 35%; } }
  .main-banner .content {
    position: fixed;
    top: 50vh;
    width: 40%;
    transform: translateY(-50%);
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      .main-banner .content {
        width: 100%;
        top: 25vh; } }
  .main-banner .content2 {
    width: 100%;
    z-index: 1; }
    .main-banner .content2 h2 {
      color: #FFF;
      text-align: center;
      opacity: 0;
      text-shadow: 1px 1px 5px #000;
      transform: translateY(10%);
      visibility: hidden;
      -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }
    @media screen and (max-width: 768px) {
      .main-banner .content2 {
        top: 50vh; } }
    .main-banner .content2.active h2 {
      transform: translateY(0%);
      opacity: 1;
      visibility: visible; }
  .main-banner h2 {
    position: relative;
    color: #000;
    font-weight: 400;
    text-transform: uppercase;
    padding: 60px 60px;
    width: 100%;
    margin: .2em auto;
    line-height: 1.5em; }
    .main-banner h2 span {
      display: block; }
    @media screen and (max-width: 768px) {
      .main-banner h2 {
        width: 100%;
        padding: 0px 15px; } }

.section-1 {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background-image: url(../images/s1-1.jpg);
  background-size: cover;
  background-position: center;
  background-color: #FFF;
  background-repeat: no-repeat;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  background-attachment: fixed;
  padding: 80px 0px;
  z-index: 1; }
  .section-1 h2 {
    color: transparent;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    -webkit-text-stroke: 2px white;
    text-stroke: 2px white;
    opacity: .3;
    margin-bottom: -.6em; }
    @media screen and (max-width: 768px) {
      .section-1 h2 {
        color: #C41230;
        text-shadow: -1px -1px 1px #FFF, 1px 1px 1px #FFF, 1px -1px 1px #FFF,  -1px 1px 1px #FFF;
        -webkit-text-stroke: unset;
        text-stroke: unset;
        mix-blend-mode: luminosity; } }
  .section-1 h3 {
    color: #FFF;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    transform: translateY(0%); }
  .section-1 .txt {
    position: relative;
    width: 100%;
    padding: 2em 0px;
    opacity: 0;
    transform: translateY(50%);
    -webkit-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -moz-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -o-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }
  .section-1 p {
    color: #FFF;
    letter-spacing: .07em;
    line-height: 1.8em;
    width: 80%;
    max-width: 800px;
    margin: auto;
    margin-bottom: 1.8em; }
  .section-1 .line {
    width: 45%;
    max-width: 760px; }
    @media screen and (max-width: 768px) {
      .section-1 .line {
        width: 80%; } }
  .section-1.active .txt {
    opacity: 1;
    transform: translateY(0%); }
    @media screen and (max-width: 768px) {
      .section-1.active .txt {
        transform: translateY(0%); } }
  .section-1.active:before {
    filter: blur(0px);
    background-color: rgba(0, 0, 0, 0);
    animation: ink-2-minAnimate 3s steps(84) forwards; }

.section-2 {
  position: relative;
  width: 100%;
  height: 350vh;
  background-image: url(../images/s2-1-4.png);
  background-size: 80% auto;
  background-position: 120% 50%;
  background-color: #FFF;
  background-repeat: no-repeat;
  background-attachment: fixed;
  text-align: left;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row-reverse;
  padding: 80px 0px;
  z-index: 1; }
  @media screen and (max-width: 768px) {
    .section-2 {
      padding: 80px 0px; } }
  .section-2 h2 {
    color: transparent;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    -webkit-text-stroke: 2px #C41230;
    text-stroke: 2px #C41230;
    opacity: .3;
    margin-bottom: -.6em; }
    @media screen and (max-width: 768px) {
      .section-2 h2 {
        color: #FFF;
        text-shadow: -1px -1px 1px #C41230, 1px 1px 1px #C41230, 1px -1px 1px #C41230,  -1px 1px 1px #C41230;
        -webkit-text-stroke: unset;
        text-stroke: unset;
        mix-blend-mode: luminosity; } }
  .section-2 h3 {
    color: #C41230;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    transform: translateY(0%); }
    @media screen and (max-width: 768px) {
      .section-2 h3 {
        transform: translateY(0%); } }
  .section-2 h4 {
    color: transparent;
    font-weight: 400;
    text-transform: uppercase;
    -webkit-text-stroke: 2px #989898;
    text-stroke: 2px #989898; }
    @media screen and (max-width: 768px) {
      .section-2 h4 {
        display: none; } }
  .section-2 h5 {
    color: #C41230; }
    .section-2 h5 span {
      font-size: 75%;
      display: block; }
  .section-2 .txt {
    position: sticky;
    top: 10vh;
    width: 50%;
    padding: 0px 30px;
    -webkit-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -moz-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -o-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }
    @media screen and (max-width: 768px) {
      .section-2 .txt {
        width: 70%;
        padding: 0px 0px; } }
  .section-2 .title {
    position: relative;
    margin-bottom: 5em; }
  .section-2 .content {
    position: absolute;
    top: 35vh;
    left: 0px;
    display: flex;
    opacity: 0;
    -webkit-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -moz-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -o-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
    .section-2 .content.active {
      opacity: 1; }
    .section-2 .content > div {
      position: relative;
      width: 50%;
      margin: 1em 2em; }
      @media screen and (max-width: 768px) {
        .section-2 .content > div {
          width: 100%;
          margin: 1em 0;
          padding-top: 15vh;
          padding-right: 30px; } }
  .section-2 .visual {
    position: sticky;
    top: 15vh;
    width: 50%; }
    @media screen and (max-width: 768px) {
      .section-2 .visual {
        width: 30%;
        top: 20vh; } }
  .section-2 .visual-holder {
    position: relative;
    width: 50vw;
    height: 50vw;
    background-image: url(../images/s2-1.png);
    background-size: cover;
    transform: translateX(-50%);
    -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
    @media screen and (max-width: 768px) {
      .section-2 .visual-holder {
        width: 50vh;
        height: 50vh;
        transform: translateX(-70%); } }
    .section-2 .visual-holder.sec0 {
      transform: translateX(-50%) rotate(0deg); }
      @media screen and (max-width: 768px) {
        .section-2 .visual-holder.sec0 {
          transform: translateX(-70%) rotate(0deg); } }
      .section-2 .visual-holder.sec0 > div {
        transform: translate(-50%, -50%) rotate(0deg); }
        .section-2 .visual-holder.sec0 > div.active {
          transform: translate(-50%, -50%) scale(1.3) rotate(0deg); }
    .section-2 .visual-holder.sec1 {
      transform: translateX(-50%) rotate(-60deg); }
      @media screen and (max-width: 768px) {
        .section-2 .visual-holder.sec1 {
          transform: translateX(-70%) rotate(-60deg); } }
      .section-2 .visual-holder.sec1 > div {
        transform: translate(-50%, -50%) rotate(60deg); }
        .section-2 .visual-holder.sec1 > div.active {
          transform: translate(-50%, -50%) scale(1.3) rotate(60deg); }
    .section-2 .visual-holder.sec2 {
      transform: translateX(-50%) rotate(-120deg); }
      @media screen and (max-width: 768px) {
        .section-2 .visual-holder.sec2 {
          transform: translateX(-70%) rotate(-120deg); } }
      .section-2 .visual-holder.sec2 > div {
        transform: translate(-50%, -50%) rotate(120deg); }
        .section-2 .visual-holder.sec2 > div.active {
          transform: translate(-50%, -50%) scale(1.3) rotate(120deg); }
    .section-2 .visual-holder > div {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 25%;
      transform: translate(-50%, -50%);
      background-color: #C41230;
      overflow: hidden;
      border-radius: 50%;
      -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
      .section-2 .visual-holder > div.active {
        transform: translate(-50%, -50%) scale(1.3); }
        .section-2 .visual-holder > div.active img {
          opacity: 1; }
      .section-2 .visual-holder > div img {
        width: 100%;
        opacity: .3; }
      .section-2 .visual-holder > div:nth-child(1) {
        translate: calc(cos(0deg) * 200%) calc(sin(0deg) * 200%); }
      .section-2 .visual-holder > div:nth-child(2) {
        translate: calc(cos(60deg) * 200%) calc(sin(60deg) * 200%); }
      .section-2 .visual-holder > div:nth-child(3) {
        translate: calc(cos(120deg) * 200%) calc(sin(120deg) * 200%); }
      .section-2 .visual-holder > div:nth-child(4) {
        translate: calc(cos(180deg) * 200%) calc(sin(180deg) * 200%); }
      .section-2 .visual-holder > div:nth-child(5) {
        translate: calc(cos(240deg) * 200%) calc(sin(240deg) * 200%); }
      .section-2 .visual-holder > div:nth-child(6) {
        translate: calc(cos(300deg) * 200%) calc(sin(300deg) * 200%); }
  .section-2 p {
    color: #5E514A;
    line-height: 1.8em;
    width: 100%;
    margin: 1.5em auto; }
  .section-2.active .txt, .section-2.active .visual {
    opacity: 1;
    transform: translate(0%); }

.section-3 {
  position: relative;
  width: 100%;
  padding: 200px 0px;
  background-size: auto 100%;
  background-position: center;
  background-color: #FFF;
  background-repeat: no-repeat;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  background-attachment: fixed;
  justify-content: center;
  z-index: 1;
  background-color: #FFF; }
  @media screen and (max-width: 768px) {
    .section-3 {
      padding: 80px 0px; } }
  .section-3 h2 {
    color: #C41230;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 2em;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .section-3 h2 {
        width: 80%; } }
  .section-3 p {
    color: #5E514A;
    line-height: 1.8em;
    width: 100%;
    margin-bottom: 1.5em; }
  .section-3 .txt {
    position: relative;
    width: 100%;
    max-width: 760px;
    opacity: 0;
    transform: translateY(50%);
    -webkit-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -moz-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -o-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }
    @media screen and (max-width: 768px) {
      .section-3 .txt {
        width: 80%; } }
  .section-3 .material {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 2em auto;
    justify-content: space-evenly;
    -webkit-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -moz-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -o-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }
    .section-3 .material > div {
      width: 20%;
      max-width: 200px; }
      @media screen and (max-width: 768px) {
        .section-3 .material > div {
          width: 33%; } }
      .section-3 .material > div img {
        width: 100%; }
  .section-3.active .txt {
    opacity: 1;
    transform: translate(0%); }
  .section-3.active .material {
    opacity: 1;
    transform: translate(0%); }

.section-4 {
  position: relative;
  width: 100%;
  background-color: #FFF;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  z-index: 1;
  align-content: center;
  overflow: hidden; }
  .section-4 .content {
    position: absolute;
    width: 100%;
    left: 0px;
    bottom: 80px;
    letter-spacing: .1em;
    color: #B78E6C; }
  .section-4 .swiper-quality {
    position: relative;
    width: 100%;
    margin: 3em auto; }
  .section-4 .swiper-slide {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    transform: scale(0.8);
    -webkit-transition: all 0.2s ease-out 0s;
    -moz-transition: all 0.2s ease-out 0s;
    -o-transition: all 0.2s ease-out 0s;
    transition: all 0.2s ease-out 0s; }
    .section-4 .swiper-slide:after {
      content: '';
      position: absolute;
      top: 0px;
      left: 0px;
      width: 100%;
      height: 100%;
      background: linear-gradient(180deg, rgba(184, 206, 219, 0.2) 20%, rgba(196, 18, 48, 0.45) 100%); }
  .section-4 .swiper-slide-active {
    transform: scale(1); }
  .section-4 .swiper-button-next {
    left: 65%;
    transform: translateX(100%);
    background-image: url(../images/s9-arrow.svg); }
  .section-4 .swiper-button-prev {
    left: auto;
    right: 65%;
    transform: translateX(-100%) rotate(180deg);
    background-image: url(../images/s9-arrow.svg); }
  .section-4 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-width: 1000px; }
  .section-4 h2 {
    color: #C41230;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%; }
  .section-4 p {
    color: #5E514A;
    line-height: 1.8em;
    width: 100%;
    margin-bottom: 1.5em;
    opacity: 0;
    transform: translateY(50%);
    -webkit-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -moz-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    -o-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
    transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }
  .section-4 .txt {
    position: relative;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .section-4 .txt {
        width: 100%;
        padding: 0px 15px; } }
  .section-4.active .txt p {
    opacity: 1;
    transform: translateY(0%); }

.section-5 {
  position: relative;
  width: 100%;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding: 80px 0px;
  padding-bottom: 0px;
  background: linear-gradient(180deg, rgba(184, 206, 219, 0.2) 0%, rgba(184, 206, 219, 0) 100%);
  background-color: #FFF;
  overflow: hidden;
  z-index: 1; }
  @media screen and (max-width: 768px) {
    .section-5 {
      height: auto;
      padding: 40px 0px;
      padding-bottom: 0px; } }
  .section-5 .swiper-develop {
    position: relative;
    width: 100%;
    margin-top: 5em;
    padding-left: 50vw;
    padding-bottom: 1.5em;
    background-image: url(../images/zip.svg);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: 100% auto; }
    @media screen and (max-width: 768px) {
      .section-5 .swiper-develop {
        background-size: auto 5px; } }
  .section-5 .swiper-slide {
    position: relative;
    width: 20vw;
    text-align: left;
    transform: translateX(-50%); }
    .section-5 .swiper-slide img {
      width: 100%;
      border-radius: 30px;
      border: solid 1px #231F20;
      transform-origin: bottom left; }
    .section-5 .swiper-slide .num {
      position: absolute;
      top: 0px;
      left: 0px;
      color: #231F20;
      background-color: #FFF;
      margin: 0;
      width: 50px;
      aspect-ratio: 1/1;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      border: dashed 1px #000;
      transform: translate(-50%, -50%); }
    .section-5 .swiper-slide .visual {
      position: relative;
      transform-origin: bottom left;
      -webkit-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -moz-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -o-transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
    .section-5 .swiper-slide .content {
      position: relative;
      width: 100%;
      height: 25vh;
      border-left: dashed 1px #C41230;
      padding: 30px; }
      @media screen and (max-width: 768px) {
        .section-5 .swiper-slide .content {
          padding: 15px;
          padding-right: 0px;
          height: 35vh; } }
  .section-5 .swiper-slide-active img {
    border: solid 1px #C41230; }
  .section-5 .swiper-slide-active .visual {
    transform: scale(1.1); }
  .section-5 .swiper-slide-active .num {
    background-color: #C41230;
    color: #FFF;
    border: none; }
  .section-5 .txt {
    position: relative;
    width: 100%;
    padding: 0px 50px; }
    @media screen and (max-width: 768px) {
      .section-5 .txt {
        padding: 0px;
        width: 80%; }
        .section-5 .txt .line {
          width: 100%; } }
    .section-5 .txt__content {
      position: relative;
      opacity: 0;
      transform: translateY(50%);
      -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }
  .section-5 h2 {
    color: transparent;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    -webkit-text-stroke: 2px #C41230;
    text-stroke: 2px #C41230;
    opacity: .3;
    margin-bottom: -.6em; }
    @media screen and (max-width: 768px) {
      .section-5 h2 {
        color: #FFF;
        text-shadow: -1px -1px 1px #C41230, 1px 1px 1px #C41230, 1px -1px 1px #C41230,  -1px 1px 1px #C41230;
        -webkit-text-stroke: unset;
        text-stroke: unset;
        margin-bottom: .5em; } }
  .section-5 h3 {
    position: relative;
    color: #C41230;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    transform: translateY(0%); }
    @media screen and (max-width: 768px) {
      .section-5 h3 {
        transform: translateY(-50%);
        margin-bottom: 0em; } }
  .section-5 h4 {
    color: #C41230; }
  .section-5 p {
    color: #5E514A;
    letter-spacing: .07em;
    line-height: 1.8em;
    width: 100%;
    margin: 1.5em auto; }

.section-6 {
  position: relative;
  width: 100%;
  height: 100vh;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  background-color: #FFF;
  overflow: hidden;
  z-index: 1; }
  @media screen and (max-width: 768px) {
    .section-6 {
      height: auto;
      padding: 60px 0px; } }
  .section-6 .swiper-product {
    position: relative;
    width: 70%;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .section-6 .swiper-product {
        width: 100%; } }
  .section-6 .swiper-slide {
    position: relative; }
    .section-6 .swiper-slide img {
      width: 100%;
      border-radius: 30px;
      overflow: hidden;
      transform: scale(0.8);
      -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
  .section-6 .swiper-slide-active img {
    transform: scale(1); }
  .section-6 .swiper-button-next {
    left: 75%;
    transform: translateX(110%);
    background-image: url(../images/s9-arrow.svg); }
  .section-6 .swiper-button-prev {
    left: auto;
    right: 75%;
    transform: translateX(-110%) rotate(180deg);
    background-image: url(../images/s9-arrow.svg); }
  .section-6 .txt {
    position: relative;
    width: 30%;
    padding: 0px 60px;
    text-align: left; }
    .section-6 .txt p {
      opacity: 0;
      transform: translateY(25%);
      -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s;
      -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s;
      -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s;
      transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s; }
    @media screen and (max-width: 768px) {
      .section-6 .txt {
        width: 100%;
        padding: 0px 15px;
        text-align: center; } }
  .section-6 h2 {
    color: #C41230;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%; }
  .section-6 p {
    color: #959595;
    letter-spacing: .07em;
    line-height: 1.8em;
    width: 100%;
    margin: 1.5em auto; }
  .section-6.active .txt p {
    opacity: 1;
    transform: translate(0%); }

.section-7 {
  position: relative;
  width: 100%;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  background: url(../images/logo_shadow_3.png), linear-gradient(180deg, #c41230 0%, white 100%);
  background-position: center;
  background-size: 80% auto, 100% auto;
  background-repeat: no-repeat;
  background-color: #FFF;
  padding: 80px 0px;
  overflow: hidden;
  z-index: 1; }
  @media screen and (max-width: 768px) {
    .section-7 {
      width: 100%; } }
  .section-7 .history {
    position: relative;
    width: 100%;
    margin: 1em auto;
    background-image: url(../images/s5-4.png);
    background-repeat: repeat-y;
    background-position: center; }
  .section-7 .vision {
    position: relative;
    margin-bottom: 10em; }
    .section-7 .vision.active .content {
      transform: scale(1); }
    .section-7 .vision .content {
      position: relative;
      width: 30%;
      max-width: 400px;
      aspect-ratio: 1 / 1;
      background-color: #FFF;
      border: solid 1px #C41230;
      border-radius: 50%;
      margin: auto;
      padding: 40px;
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      transform: scale(0);
      transform-origin: top center;
      -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
      @media screen and (max-width: 768px) {
        .section-7 .vision .content {
          width: 80vw; } }
  .section-7 .mission {
    position: relative;
    margin-bottom: 10em;
    -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
    transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
    .section-7 .mission.active .content {
      transform: scale(1); }
    .section-7 .mission .content {
      position: relative;
      width: 18vw;
      height: 18vw;
      aspect-ratio: 1 / 1;
      margin: auto;
      padding: 40px;
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      transform: scale(0);
      -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
      @media screen and (max-width: 768px) {
        .section-7 .mission .content {
          width: 60vw;
          height: 60vw; } }
      .section-7 .mission .content:before {
        content: '';
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 100%;
        background-color: #FFF;
        transform: rotate(45deg);
        border: solid 1px #C41230; }
  .section-7 .milstone {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 10em; }
    .section-7 .milstone:last-child {
      margin-bottom: 0em; }
    @media screen and (max-width: 768px) {
      .section-7 .milstone {
        flex-wrap: wrap;
        padding: 0px 30px; } }
    .section-7 .milstone .content {
      position: relative;
      width: 30%;
      text-align: left;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .section-7 .milstone .content {
          width: 100%;
          background-color: #C41230;
          padding: 15px;
          text-align: center; } }
      .section-7 .milstone .content > div {
        display: flex;
        align-items: flex-start;
        transform: translateX(-100%);
        -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
        -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
        -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
        transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
        @media screen and (max-width: 768px) {
          .section-7 .milstone .content > div {
            flex-wrap: wrap; } }
    .section-7 .milstone .visual {
      position: relative;
      width: 30%;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .section-7 .milstone .visual {
          width: 100%; } }
      .section-7 .milstone .visual img {
        width: 100%;
        transform: translateX(100%);
        -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
        -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
        -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
        transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
    .section-7 .milstone h3 {
      background-color: #C41230;
      color: #FFF;
      width: 30%;
      aspect-ratio: 1 / 1;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 10px; }
      @media screen and (max-width: 768px) {
        .section-7 .milstone h3 {
          font-size: 32px;
          width: 100%;
          aspect-ratio: auto; }
          .section-7 .milstone h3 br {
            display: none; } }
    .section-7 .milstone.en h3 {
      font-size: 100%; }
      @media screen and (max-width: 768px) {
        .section-7 .milstone.en h3 {
          font-size: 200%; } }
    @media screen and (max-width: 768px) {
      .section-7 .milstone p {
        color: #FFF; } }
    .section-7 .milstone:nth-child(2n) {
      flex-direction: row-reverse; }
      .section-7 .milstone:nth-child(2n) .visual img {
        transform: translateX(-100%); }
      .section-7 .milstone:nth-child(2n) .content > div {
        flex-direction: row-reverse;
        text-align: right;
        transform: translateX(100%); }
        @media screen and (max-width: 768px) {
          .section-7 .milstone:nth-child(2n) .content > div {
            text-align: center; } }
    .section-7 .milstone.active .visual img {
      transform: translateX(0%); }
    .section-7 .milstone.active .content > div {
      transform: translateX(0%); }
  .section-7 .txt {
    position: relative;
    width: 100%; }
  .section-7 h2 {
    color: transparent;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    -webkit-text-stroke: 2px white;
    text-stroke: 2px white;
    opacity: .3; }
    @media screen and (max-width: 768px) {
      .section-7 h2 {
        color: #C41230;
        text-shadow: -1px -1px 1px #FFF, 1px 1px 1px #FFF, 1px -1px 1px #FFF,  -1px 1px 1px #FFF;
        -webkit-text-stroke: unset;
        text-stroke: unset;
        mix-blend-mode: luminosity; } }
  .section-7 h3 {
    position: relative;
    color: #C41230;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%; }
  .section-7 p {
    position: relative;
    color: #5E514A;
    line-height: 1.8em;
    padding: 0px 20px;
    width: 100%; }

.section-8 {
  position: relative;
  width: 100%;
  background-color: #FFF;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  padding: 80px 0px;
  background-image: url(../images/s6.png);
  background-repeat: no-repeat;
  background-position: center;
  background-color: #FFF;
  overflow: hidden;
  z-index: 1; }
  .section-8 h2 {
    color: transparent;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    -webkit-text-stroke: 2px #5E514A;
    text-stroke: 2px #5E514A;
    opacity: .3; }
  .section-8 .txt {
    position: relative;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .section-8 .txt {
        padding: 0px 15px; } }
    .section-8 .txt p {
      opacity: 0;
      transform: translateY(50%);
      -webkit-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      -moz-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      -o-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }
  .section-8 .visual {
    position: relative;
    width: 100%;
    text-align: center; }
    .section-8 .visual img {
      width: 50%; }
      @media screen and (max-width: 768px) {
        .section-8 .visual img {
          width: 80%; } }
  .section-8 p {
    line-height: 25px;
    margin: 1em auto; }
  .section-8.active .txt p {
    opacity: 1;
    transform: translate(0%); }

.section-9 {
  position: relative;
  width: 100%;
  background-color: #FFF;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  padding: 80px 0px;
  justify-content: center;
  align-items: center;
  background: url(../images/s7.png), linear-gradient(180deg, white 15%, #c41230 100%);
  background-size: 100%;
  background-repeat: no-repeat, no-repeat;
  background-color: #C41230;
  overflow: hidden;
  z-index: 1; }
  @media screen and (max-width: 768px) {
    .section-9 {
      width: 100%;
      padding: 40px 0px; } }
  .section-9 .txt {
    position: relative;
    width: 100%;
    padding: 0px 100px; }
    .section-9 .txt p {
      opacity: 0;
      transform: translateY(25%);
      -webkit-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      -moz-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      -o-transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
      transition: all 2s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }
    @media screen and (max-width: 768px) {
      .section-9 .txt {
        width: 100%;
        padding: 0px 15px; } }
  .section-9 .green-holder {
    position: relative;
    width: 100%;
    margin: 2em auto; }
  .section-9 .green {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 4em auto; }
    @media screen and (max-width: 768px) {
      .section-9 .green {
        flex-wrap: wrap;
        padding: 0px 30px; } }
    .section-9 .green .visual {
      position: relative;
      width: 40%;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .section-9 .green .visual {
          width: 100%; } }
      .section-9 .green .visual img {
        width: 100%;
        transform: translate(-100%);
        -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s;
        -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s;
        -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s;
        transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0.4s; }
    .section-9 .green .content {
      position: relative;
      width: 20%;
      padding: 50px;
      text-align: left;
      background-color: #FFF;
      transform: translateX(-10%);
      opacity: 0;
      -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
      transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
      @media screen and (max-width: 768px) {
        .section-9 .green .content {
          width: 100%;
          padding: 15px;
          transform: translateX(0%); } }
    .section-9 .green:nth-child(2n) {
      flex-direction: row-reverse; }
      .section-9 .green:nth-child(2n) .content {
        transform: translateX(10%); }
        @media screen and (max-width: 768px) {
          .section-9 .green:nth-child(2n) .content {
            width: 100%;
            padding: 15px;
            transform: translateX(0%); } }
    .section-9 .green.active .visual img {
      transform: translate(0%); }
    .section-9 .green.active .content {
      opacity: 1; }
  .section-9 .green-more {
    position: relative;
    width: 100%;
    padding: 0px 30px; }
    .section-9 .green-more img {
      width: 30%;
      max-width: 132px;
      margin-bottom: 2em; }
    .section-9 .green-more p {
      color: #FFF; }
  .section-9 h2 {
    color: transparent;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    -webkit-text-stroke: 2px #FFF;
    text-stroke: 2px #FFF;
    margin-bottom: -.6em; }
    @media screen and (max-width: 768px) {
      .section-9 h2 {
        color: #B2CE82;
        text-shadow: -1px -1px 1px #FFF, 1px 1px 1px #FFF, 1px -1px 1px #FFF,  -1px 1px 1px #FFF;
        -webkit-text-stroke: unset;
        text-stroke: unset;
        mix-blend-mode: luminosity;
        margin-bottom: 1em; } }
  .section-9 h3 {
    color: #5E514A;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%;
    transform: translateY(0%);
    margin-bottom: 1em; }
    @media screen and (max-width: 768px) {
      .section-9 h3 {
        transform: translateY(-20%);
        margin-bottom: 0em; } }
  .section-9 h4 {
    color: #C41230;
    font-weight: 400;
    text-transform: uppercase;
    width: 100%; }
    .section-9 h4:after {
      content: '';
      width: 30px;
      height: 3px;
      background-color: #C41230;
      display: block;
      margin: .5em 0; }
  .section-9 p {
    color: #5E514A;
    line-height: 1.8em;
    width: 100%; }
  .section-9.active .txt p {
    opacity: 1;
    transform: translate(0%); }

.title-anime > div {
  position: relative;
  overflow: hidden; }
  .title-anime > div:nth-child(2) span {
    -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.2s;
    -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.2s;
    -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.2s;
    transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.2s; }
  .title-anime > div:nth-child(3) span {
    -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.4s;
    -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.4s;
    -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.4s;
    transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.4s; }
  .title-anime > div:nth-child(4) span {
    -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.6s;
    -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.6s;
    -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.6s;
    transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.6s; }
  .title-anime > div:nth-child(5) span {
    -webkit-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s;
    -moz-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s;
    -o-transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s;
    transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1) 0.8s; }
.title-anime span {
  transform: translateY(100%);
  -webkit-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  -moz-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  -o-transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: all 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }

.active .line {
  opacity: 1; }
  .active .line:before {
    left: 0px;
    width: calc(50% - 40px); }
  .active .line:after {
    right: 0px;
    width: calc(50% - 40px); }
.active .title-anime span {
  transform: translateY(0%); }

.terms-popup {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: rgba(100, 68, 32, 0.5);
  z-index: 30; }
  .terms-popup .terms-holder {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    max-width: 1200px;
    max-height: 100vh;
    padding: 3em;
    background-image: url(../images/slide-bg.png);
    background-size: 100% 100%;
    transform: translate(-50%, -50%);
    color: #B78E6C; }
    @media screen and (max-width: 768px) {
      .terms-popup .terms-holder {
        background-image: url(../images/slide-bg-mobile.png);
        width: 90%;
        height: 90%;
        padding: 2em; } }
  .terms-popup .scroll-content {
    width: 100%;
    max-height: 70vh;
    padding-bottom: 30px;
    overflow-y: scroll; }
  .terms-popup p {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: .01em;
    margin: 1em 0; }
  .terms-popup a {
    color: #B78E6C;
    text-decoration: underline; }
  .terms-popup .small {
    font-size: 10px;
    letter-spacing: .01em;
    line-height: 16px; }
  .terms-popup .logo {
    display: block;
    max-width: 220px;
    margin: auto; }
  .terms-popup hr {
    border: none;
    width: 100%;
    height: 1px;
    background-color: #B78E6C;
    margin: 3em auto; }
    @media screen and (max-width: 768px) {
      .terms-popup hr {
        margin: 1.5em auto; } }
  .terms-popup .close {
    position: absolute;
    top: 1.5em;
    right: 1.5em;
    width: 25px;
    height: 25px;
    cursor: pointer; }
    .terms-popup .close:before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0px;
      width: 100%;
      height: 1px;
      background-color: #B78E6C;
      transform: rotate(45deg); }
    .terms-popup .close:after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0px;
      width: 100%;
      height: 1px;
      background-color: #B78E6C;
      transform: rotate(-45deg); }

@-webkit-keyframes slideUp {
  0% {
    transform: translateY(100%); }
  100% {
    transform: translateY(0%); } }
@keyframes slideUp {
  0% {
    transform: translateY(100%); }
  100% {
    transform: translateY(0%); } }
@-webkit-keyframes ink-2-minAnimate {
  0% {
    -webkit-mask-position: 0% 50%;
    mask-position: 0% 50%; }
  100% {
    -webkit-mask-position: 100% 50%;
    mask-position: 0% 50%; } }
@keyframes ink-2-minAnimate {
  0% {
    -webkit-mask-position: center left;
    mask-position: center left; }
  100% {
    -webkit-mask-position: center right;
    mask-position: center right; } }
/* END Style ring-design used  */
/* ------------------------------------------ */

/*# sourceMappingURL=style.css.map */
