@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?7ynfmr');
  src:  url('../fonts/icomoon.eot?7ynfmr#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?7ynfmr') format('truetype'),
    url('../fonts/icomoon.woff?7ynfmr') format('woff'),
    url('../fonts/icomoon.svg?7ynfmr#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'themify';
  src:url('../fonts/themify.eot?-fvbane');
  src:url('../fonts/themify.eot?#iefix-fvbane') format('embedded-opentype'),
    url('../fonts/themify.woff?-fvbane') format('woff'),
    url('../fonts/themify.ttf?-fvbane') format('truetype'),
    url('../fonts/themify.svg?-fvbane#themify') format('svg');
  font-weight: normal;
  font-style: normal;
}

.sec1 .inner{
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  width: 88.75em;
  transform: translate(0,-50%);
}
.sec1 video{
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  margin-bottom: -2.85%;
  pointer-events: none;
}
.sec1 .swiper-slide{
  color: #fff;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.sec1 h2{
  font-size: 4em;
  line-height: 1.4375;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin-bottom: 0.25em;
  max-width: 16em;
  white-space: pre;
}
.sec1 p{
  font-size: 1.125em;
  margin-bottom: 3.5em;
  width: 50em;
  max-width: 100%;
  line-height: 2;
}
.sec1 .swiper-next,.sec1 .swiper-prev{
  width: 3.75em;
  height: 3.75em;
  border: 0.125em solid #fff;
  border-radius: 50%;
  background-color: rgba(255,255,255,0.2);
  text-align: center;
  line-height: 3.5em;
  position: absolute;
  top: 50%;
  margin-top: -1.875em;
  z-index: 1;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s;
}
.sec1 .swiper-prev{
  left: 1.5em;
}
.sec1 .swiper-next{
  right: 1.5em;
}
.sec1 .swiper-next::before,.sec1 .swiper-prev::before{
  font-family: "themify";
  font-size: 1.25em;
  color: #fff;
}
.sec1 .swiper-prev::before{
  content: "\e629";
}
.sec1 .swiper-next::before{
  content: "\e628";
}



.sec2{
  padding-top: 8.4%;
  padding-bottom: 4.2%;
}
.sec2 .inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
}
.sec2 .left-part{
  width: 52.1875%;
  position: relative;
}
.sec2 .right-part{
  width: 41%;
}
.sec2 .section-title{
  margin-bottom: 0.75em;
}
.sec2 .text-box h3{
  font-size: 3.125em;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.4em;
}
.sec2 .text-box p{
  font-size: inherit;
  color: #545454;
  line-height: 1.8;
}
.sec2 .line{
    border-top: 1px solid rgba(51,51,51,0.1);
    margin: 1.875em 0;
}
.sec2 ul{
  margin-bottom: 2.5em;
}
.sec2 ul li{
  font-size: 1.125em;
  margin-bottom: 1em;
  color: #333;
  line-height: 1.38;
  font-weight: 600;
}
.sec2 ul li:last-child{
  margin-bottom: 0;
}
.sec2 ul li img{
  font-size: 0.9em;
  width: 1em;
  margin-right: 1em;
  vertical-align: middle;
}


.sec3{
  padding-top: 4.2%;
  padding-bottom: 4.2%;
  text-align: center;
}
.sec3 .section-title{
  margin-bottom: 1em;
}
.sec3 h3{
  font-size: 3.125em;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 1.2em;
}
.sec3 ul{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
.sec3 li{
  width: 33.333%;
  margin-bottom: 2.5em;
}
.sec3 .img-box{
  position: relative;
  padding: 0 10%;
}
.sec3 .img-box a{
  position: absolute;
  left: 50%;
  top: 50%;
  color: #fff;
  display: block;
  width: 8.4375em;
  height: 3.125em;
  box-shadow: 0px 1.25em 2.5em rgba(0, 0, 0, 0.2);
  background-color: var(--theme-red);
  margin-left: -4.21875em;
  margin-top: -1.5625em;
  transform: scaleX(0);
  transition: transform 0.4s;
  text-align: center;
  line-height: 3.125;
}
.sec3 li:hover .img-box a{
  transform: scaleX(1);
}
.sec3 .img-box a *{
  font-size: 0.875em;
  display: inline-block;
  vertical-align: baseline;
  line-height: 1;
}
.sec3 .img-box a .icon{
  font-family: "icomoon";
  margin-right: 0.5em;
  font-style: normal;
}
.sec3 .img-box a .icon::before{
  content: "\e900";
}
.sec3 h5{
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.25;
}
.sec3 p{
  font-size: 0.875em;
  color: var(--theme-red);
  margin-top: 0.72em;
}




.sec4{
  background-color: #f2f3f5;
  padding-top: 5.2%;
  padding-bottom: 6.25%;
}
.sec4 .flex-box{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: row;
  margin-bottom: 2.5em;
}
.sec4 .section-title{
  margin-bottom: 0.5em;
}
.sec4 h3{
  font-size: 3.125em;
  line-height: 1.5;
  font-weight: 700;
}
.sec4 .btn-box{
  margin-right: -12%;
  margin-bottom: 1em;
}
.sec4 .swiper-prev,.sec4 .swiper-next{
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5;
  text-align: center;
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  cursor: pointer;
}
.sec4 .swiper-prev{
  transform: rotate(-90deg);
  margin-right: 0.625em;
}
.sec4 .swiper-next{
  transform: rotate(90deg);
}
.sec4 .swiper-prev::before,.sec4 .swiper-next::before{
  font-size: 1.25em;
  content: "\f176";
  line-height: 1;
}
.sec4 .swiper{
  overflow: visible;
}
.sec4 .swiper-slide{
  width: 22.875em;
}
.sec4 .img-box{
  position: relative;
  overflow: hidden;
}
.sec4 .img-box img{
  transition: transform 0.8s;
}
.sec4 .img-box span{
  position: absolute;
  right: 0.25em;
  top: 0;
  font-size: 3.75em;
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #fff;
  z-index: 1;
  line-height: 1.5;
}
.sec4 .img-box .line-one{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.sec4 .img-box .line-one::before {
  position: absolute;
  left: 0.625em;
  bottom: -0.625em;
  width: 1px;
  height: 0;
  content: "";
  background: #fff;
  transition: height 0.2s;
}
.sec4 .img-box .line-one::after{
  position: absolute;
  right: 0.625em;
  top: -0.625em;
  width: 1px;
  height: 0;
  content: "";
  background: #fff;
  transition: height 0.5s;
}
.sec4 .img-box .line-two {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.sec4 .img-box .line-two::before {
  position: absolute;
  right: 0.625em;
  bottom: 0.625em;
  width: 0;
  height: 1px;
  content: "";
  background: #fff;
  transition: width 1s;
}
.sec4 .img-box .line-two::after {
  position: absolute;
  left: 0.625em;
  top: 0.625em;
  width: 0;
  height: 1px;
  content: "";
  background: #fff;
  transition: width 0.4s;
}
.sec4 .text-box{
  padding: 2.5em 1.875em;
  background-color: #fff;
}
.sec4 .text-box .icon{
  border-radius: 0.3125em;
  overflow: hidden;
  width: 4.375em;
  height: 4.375em;
  background: var(--theme-red);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: -5.625em;
  z-index: 1;
  transition: transform 0.3s;
  margin-bottom: 2.75em;
  font-family: 'caseicon';
  color: #fff;
}
.sec4 .text-box .icon::before{
  font-size: 2.5em; 
}
.sec4 .text-box .icon.case_icon_cata2::before{
  -webkit-text-stroke-color: var(--theme-red);
}
.sec4 .text-box h5{
  font-size: 1.5625em;
  line-height: 1.2;
  transition: color 0.3s;
  margin-bottom: 0.2em;
}
.sec4 .text-box p{
  font-size: 0.875em;
  color: var(--theme-red);
  line-height: 2.14;
}


.sec5{
  padding: 6.25% 0 4.2%;
}
.sec5 .title-part{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-direction: row;
  margin-bottom: 3.75em;
}
.sec5 .title-part .section-title{
  margin-bottom: 1em;
}
.sec5 h3{
  font-size: 3.125em;
  line-height: 1.2;
  font-weight: 600;
}
.sec5 .content{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
}
.sec5 .left-part{
  width: 57.42%;
  position: relative;
}
.sec5 .left-part .text{
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 2.5em;
  color: #fff;
}
.sec5 .right-part{
  width: 38.125%;
}
.sec5 .right-part li{
  border-bottom: 1px solid #c5c5c5;
  padding-bottom: 2.5em;
  margin-bottom: 2.5em;
}
.sec5 .right-part li:last-child{
  border-bottom: 0 none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.sec5 h4{
  transition: color 0.2s;
  font-size: 1.5em;
  line-height: 1.37;
  font-weight: 600;
  max-height: 2.74em;
}
.sec5 h5{
  transition: color 0.2s;
  font-size: 1.25em;
  line-height: 1.5;
  font-weight: 600;
  height: 3em;
}
.sec5 .post-date{
  margin-bottom: 1em;
  line-height: 1.75;
}
.sec5 .post-date .fa-calendar-alt{
  margin-right: 0.3125em;
}
.sec5 .post-date .fa-calendar-alt::before{
  content: "\f073";
}





.sec6{
  padding: 4.2% 0 8.4%;
}
.sec6 .section-title{
  margin-bottom: 1em;
}
.sec6 h3{
  font-size: 3.125em;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1em;
}
.sec6 .tabcontent .content{
  border-bottom: 1px solid rgba(127,127,127,0.05);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 1.09375em 0;
}
.sec6 .tabcontent .content:last-child{
  border-bottom: 0 none;
}
.sec6 .tabcontrol{
    font-size: 1.125em;
    color: #444;
    width: 11em;
    flex-shrink: 0;
}
.sec6 .tabcontent .content .marquee{
  position: relative;
}
.sec6 .tabcontent .content .marquee:before,.sec6 .tabcontent .content .marquee:after{
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 20%;
    z-index: 1;
}
.sec6 .tabcontent .content .marquee:before{
    left: 0;
    background: linear-gradient(to right,  rgba(255,255,255,1),rgba(255,255,255,0));
}
.sec6 .tabcontent .content .marquee:after{
    right: 0;
    background: linear-gradient(to left,  rgba(255,255,255,1),rgba(255,255,255,0));
}
.sec6 .marqueeleft,.sec6 .marqueeright{
    overflow: hidden;
}
.sec6 .js-marquee{
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
}
.sec6 .slide{
    margin-right: 6.25em;
}
.sec6 .slide img{
    height: 4.0625em;
}

@media only screen and (min-width:1024px){
  .sec1 .swiper-next:hover,.sec1 .swiper-prev:hover{
    opacity: 0.9;
  }
  .sec4 .swiper-prev:hover,.sec4 .swiper-next:hover{
    color: var(--theme-red);
  }
  .sec4 .swiper-slide:hover .img-box img{
    transform: scale(1.2);
  }
  .sec4 .swiper-slide:hover .img-box .line-one::before {
    height: 100%;
  }
  .sec4 .swiper-slide:hover .img-box .line-one::after {
    height: 100%;
  }
  .sec4 .swiper-slide:hover .img-box .line-two::before {
    width: 100%;
  }
  .sec4 .swiper-slide:hover .img-box .line-two::after {
    width: 100%;
  }
  .sec4 .swiper-slide:hover .text-box .icon{
    transform: rotateY(180deg);
  }
  .sec4 .text-box h5:hover{
    color: var(--theme-red);
  }
  .sec5 h4:hover,.sec5 h5:hover{
    color: var(--theme-red);
  }
}

@media only screen and (max-width:1024px){
  .sec1 video{
    width: auto;
    height: 100%;
    left: 50%;
    bottom: 0;
    transform: translate(-50%,0);
    margin-bottom: 0;
    pointer-events: auto;
  }
  .sec1 h2{
    font-size: 1.5em;
  }
  .sec1 p{
    font-size: 0.75em;
    margin-bottom: 1.75em;
  }
  .sec1 .swiper-next,.sec1 .swiper-prev{
    font-size: 0.4em;
    top: auto;
    bottom: 3em;
  }
  .sec1 .swiper-prev{
    left: 50%;
    margin-left: -10%;
  }
  .sec1 .swiper-next{
    right: 50%;
    margin-right: -10%;
  }


  .sec2{
    padding-top: 15%;
    padding-bottom: 7.5%;
  }
  .sec2 .inner{
    display: block;
  }
  .sec2 .left-part{
    width: 100%;
    margin-bottom: 10%;
  }
  .sec2 .right-part{
    width: 100%;
  }
  .sec2 .text-box h3{
    font-size: 1.5625em;
  }
  .sec2 .text-box p{
    font-size: 0.75em;
  }
  .sec2 .line{
      margin: 1em 0;
  }
  .sec2 .ta{
    text-align: center;
  }
  .sec2 ul{
    margin-bottom: 1.5em;
  }
  .sec2 ul li{
    font-size: 0.9375em;
  }



  .sec3{
    padding-top: 7.5%;
    padding-bottom: 10%;
  }
  .sec3 h3{
    font-size: 1.5625em;
  }
  .sec3 li{
    width: 50%;
    margin-bottom: 1.25em;
  }
  .sec3 .img-box a{
    font-size: 0.75em;
  }
  .sec3 h5{
    font-size: 1em;
  }
  .sec3 p{
    font-size: 0.75em;
  }



  .sec4{
    padding-top: 15%;
    padding-bottom: 15%;
  }
  .sec4 .flex-box{
    margin-bottom: 10%;
  }
  .sec4 .section-title{
    margin-bottom: 1em;
  }
  .sec4 h3{
    font-size: 1.5625em;
  }
  .sec4 .btn-box{
    margin-right: 0;
  }
  .sec4 .swiper-prev,.sec4 .swiper-next{
    font-size: 0.75em;
  }
  .sec4 .swiper-slide{
    font-size: 0.75em;
  }


  .sec5{
    padding: 15% 0 7.5%;
  }
  .sec5 .title-part{
    margin-bottom: 10%;
  }
  .sec5 .title-part .section-title{
    margin-bottom: 1em;
  }
  .sec5 h3{
    font-size: 1.5625em;
  }
  .sec5 .content{
    display: block;
  }
  .sec5 .left-part{
    width: 100%;
    font-size: 0.75em;
    margin-bottom: 10%;
  }
  .sec5 .left-part .text{
    padding: 1.5em;
  }
  .sec5 .right-part{
    width: 100%;
    font-size: 0.75em;
  }
  .sec5 .right-part li{
    padding-bottom: 1.875em;
    margin-bottom: 1.875em;
  }
  .sec5 h5{
    height: auto;
    max-height: 3em;
  }


  .sec6{
    padding: 7.5% 0 15%;
  }
  .sec6 h3{
    font-size: 1.5625em;
    margin-bottom: 10%;
  }
  .sec6 .tabcontrol{
    font-size: 0.75em;
    width: 8em;
  }
  .sec6 .tabcontent .content{
    padding: 0.5em 0;
  }
  .sec6 .slide{
      margin-right: 2.5em;
  }
  .sec6 .slide img{
      height: 3em;
  }


}

