@media only screen and (min-width: 768px) {
  #key .slide {
    background: url("../img/concept/kv.jpg") center/cover;
  }
}

#sec1 {
  background: url("../img/concept/sec1_deco1.png") no-repeat top left/40%, url("../img/concept/sec1_deco2.png") no-repeat bottom right/60%;
  padding: 20vw 0px 32vw;
}
#sec1 h2 {
  font-size: 6vw;
  letter-spacing: 0.2em;
}
#sec1 .sec1-txt1 {
  margin: 1vw 0px 8vw;
}
#sec1 .sec1-txt2 {
  margin: 8vw 0px 0px;
}
@media only screen and (min-width: 768px) {
  #sec1 {
    padding: 199px 0px 363px;
    background-size: auto, auto;
  }
  #sec1 .wrap {
    max-width: 1240px;
    padding: 0px 20px;
  }
  #sec1 h2 {
    font-size: 28px;
    line-height: 60px;
  }
  #sec1 .sec1_h2{
    margin-bottom: 20px;
  }
  #sec1 .sec1-txt1 {
    font-size: 16px;
    margin: 0px 0px 35px;
  }
  #sec1 .sec1-txt2 {
    width: 536px;
    margin: 0px;
  }
  #sec1 .sec1-img {
    margin: 0px;
    width: 690px;
    position: absolute;
    top: -80px;
    right: -100px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #sec1 .sec1-img {
    right: -200px;
  }
}

@media only screen and (max-width: 768px) {
#sec1 .sec1_h2{
  width: 90%;
  margin-bottom: 20px;
}
}

#sec2 {
  position: relative;
  padding: 0px 0px 16vw;
  color: #fff;
  background: url("../img/concept/sec2_bg_sp.jpg") center/cover;
}
#sec2 .sec2-img {
  position: relative;
  margin: 0px 0px -2vw;
  top: -12vw;
}
#sec2 h2 {
  font-size: 7vw;
  margin: 0px 0px 6vw;
  position: absolute;
}
#sec2 h2 span {
  font-size: 5vw;
}
#sec2 h2 small {
  font-size: 3.5vw;
  display: inline-block;
  margin-left: 5vw;
}
@media only screen and (min-width: 768px) {
  #sec2 {
    padding: 0px 0px 84px;
    background-image: url("../img/concept/sec2_bg.jpg");
  }
  #sec2 .sec2-img {
    width: 600px;
    top: 0;
    margin: -144px 0px 0px -190px;
  }
  #sec2 .sec2-box {
    width: 500px;
    margin: 83px 0px 0px;
  }
  #sec2 h2 {
    position: absolute;
    font-size: 28px;
    line-height: 45px;
    margin: 0px 0px 30px;
    bottom: 360px;
  }
  #sec2 h2 span {
    font-size: 18px;
  }
  #sec2 h2 small {
    font-size: 16px;
    margin-left: 160px;
  }
  #sec2 .sec2_h2{
    margin-bottom: 50px;

  }
}

@media only screen and (max-width: 768px) {
#sec2 .sec2_h2{
  margin-bottom: 50px;
}
#sec2 h2 {
  font-size: 7vw;
  margin: 0px 0px 6vw;
  position: absolute;
  top: 274px;
  left: 150px;
}
}
@keyframes fog1{
  0% {
    transform: rotate(0) scale(1);
    opacity: 0;
  }


  20% {
      transform: rotate(-12.9deg) scale(1);
      opacity: 1;
  }
  100% {
      transform: rotate(-42.57deg) scale(1.8);
      opacity: 0;
  }
}
@keyframes fog2{
0% {
    transform: rotate(0) scale(1);
    opacity: 0;
}


20% {
    transform: rotate(-12.9deg) scale(1);
     opacity: 1;
}
100% {
    transform: rotate(-42.57deg) scale(1.8);
    opacity: 0;
}
}
@keyframes fog3{
  0% {
      transform: rotate(0) scale(1);
      opacity: 0;
  }


  25% {
      transform: rotate(12.9deg) scale(1);
       opacity: 1;
  }
  100% {
      transform: rotate(25.8deg) scale(1.8);
      opacity: 0;
  }
}
@keyframes fog4{
  0% {
      transform: rotate(0) scale(1);
      opacity: 0;
  }

  25% {
      transform: rotate(12.9deg) scale(1);
       opacity: 1;
  }
  100% {
      transform: rotate(25.8deg) scale(1.8);
      opacity: 0;
  }
}
body.active{
  /* pointer-events: none;
  overflow: hidden; */
  /* position: fixed; */
}
html::-webkit-scrollbar,body::-webkit-scrollbar {
  /* display: none; */
}

body , html{
  /* -ms-overflow-style: none;  
  scrollbar-width: none;      */
}
#sec3 {
  margin: 2vw 0px 0px;
}
#sec3 .sec3-1{
  overflow: hidden;
  position: relative;
     margin-top: 100px;
    margin-bottom: 63px;
}
#sec3 .sec3-bg {
  color: #fff;
  /* padding: 60vw 0px 50vw; */
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  opacity: 0;
  z-index: 2;
  /* background: #000; */
}
#sec3 .sec3-scroll{
  position: relative;
  overflow: hidden;
  height: 50vh;
  width: 90%;
  margin: 0 auto;
  background: #000;
}
/* #sec3 .sec3-scroll.active{
  position: fixed;
  top: 0;
  left: 0;
} */
#sec3 .sec3-smoke{
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}
#sec3 .sec3-smoke > div{
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
            left: -26%;
        top: -25%;
        width: 145%;
        height: 145%;
    opacity: 0;
      will-change: transform, opacity;
}
#sec3 .sec3-smoke .smoke1{
  background-image: url('../img/concept/fog1.png');
}
#sec3 .sec3-smoke .smoke2{
  background-image: url('../img/concept/fog3.png');
}
#sec3 .sec3-smoke .smoke3{
  background-image: url('../img/concept/fog4.png');
}
#sec3 .sec3-smoke .smoke4{
  background-image: url('../img/concept/fog5.png');
}
body.active #sec3 .sec3-smoke.active .smoke1{
  animation: fog1 5s linear 0s both 1;
}
body.active #sec3 .sec3-smoke.active .smoke2{
  animation: fog2 5s linear 0s both 1;
}
body.active #sec3 .sec3-smoke.active .smoke3{
  animation: fog3 5s linear 0s both 1;
}
body.active #sec3 .sec3-smoke.active .smoke4{
  animation: fog4 5s linear 0s both 1;
}
#sec3 .sec3-bg2{
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: url('../img/concept/sec3_bg_sp.jpg') center/cover;
  opacity: 0;
}
#sec3 .sec3-bg h2 {
  text-align: center;
}
#sec3 h2 {
  text-align: center;
}
#sec3 .sec3-bg h2 span {
  letter-spacing: 0.2em;
  font-size: 6.5vw;
  margin: 0px auto 1vw;
}
#sec3 .sec3-2 {
  background: url("../img/concept/sec3_deco1.png") no-repeat top 56% left/50%, url("../img/concept/sec3_deco2.png") no-repeat bottom right/150%;
  padding: 10vw 0px 16vw;
}
#sec3 .sec3-2 .sec3-img1 {
  margin: 0px 0px 8vw;
}
#sec3 .sec3-2 .sec3-img2 {
  margin: 8vw 0px;
}
#sec3 .sec3-2 .sec3-img3 {
  width: 80%;
  margin: 0px 0px 0px auto;
}
#sec3 .sec3-2 .sec3-img4 {
  margin: 10vw 0px;
}
#sec3 .sec3-2 .sec3-btn a {
  margin: 8vw auto 0px;
}
@media only screen and (min-width: 768px) {
  #sec3 {
    margin: 12px 0px 0px;
  }
  #sec3 .sec3-1{
   /* display: flex;
    justify-content: center;
    align-items: center;*/
    width: 100vw;
    position: relative;
    margin-bottom: 150px;
  }
  #sec3 .sec3-scroll{
    max-width: 1000px;
    max-height: 600px;
    height: calc(88vh - 110px);
    width: 90vw;
    /* margin: 0px auto; */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #sec3 .sec3-bg2 {
    background-image: url("../img/concept/sec3_bg.jpg");
  }
  #sec3 .sec3-bg h2 span {
    font-size: 28px;
    margin: 0px auto 21px;
  }
  #sec3 .sec3-bg h2 small {
    font-size: 16px;
  }
  #sec3 .sec3_h2{
    text-align: center;
    margin-bottom: 20px;
    margin-top: 200px;
  }
  #sec3 .sec3-2 {
    padding: 120px 0px 151px;
    background-position: top 876px left, bottom right;
    background-size: auto, auto;
  }
  #sec3 .sec3-2 .sec3-img1 {
    width: 750px;
    margin: 0px 0px 0px -192px;
  }
  #sec3 .sec3-2 .sec3-txt1 {
    width: 350px;
    margin: 64px 0px 0px;
  }
  #sec3 .sec3-2 .sec3-row2 {
    position: relative;
    margin: 119px 0px 122px;
  }
  #sec3 .sec3-2 .sec3-txt2 {
    width: 300px;
    margin: 153px 0px 0px;
  }
  #sec3 .sec3-2 .sec3-txt3 {
    width: 500px;
    margin: 0px;
    position: absolute;
    top: 788px;
    right: 0px;
  }
  #sec3 .sec3-2 .sec3-img2 {
    width: 849px;
    margin: 0px -250px 0px 0px;
  }
  #sec3 .sec3-2 .sec3-img3 {
    width: 500px;
    margin: 0px 0px 129px -100px;
  }
  #sec3 .sec3-2 .sec3-row3 {
    flex-direction: row-reverse;
  }
  #sec3 .sec3-2 .sec3-box1 {
    width: 284px;
    margin: 42px 0px 0px;
  }
  #sec3 .sec3-2 .sec3-img4 {
    width: 720px;
    margin: 0px -102px 0px 0px;
  }
  #sec3 .sec3-2 .sec3-btn a {
    width: 284px;
    margin: 37px 0px 0px;
  }
}

@media only screen and (max-width: 768px) {
#sec3 .sec3_h2{
  text-align: center;
  margin-bottom: 20px;
}
}

#sec4 {
  padding: 20vw 2%;
  position: relative;
  color: #fff;
  background: #371f0e;
}
#sec4::before {
  content: "";
  position: absolute;
  top: 6vw;
  left: 0px;
  width: 85%;
  height: 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}
#sec4::after {
  content: "";
  position: absolute;
  top: 0px;
  left: 3vw;
  width: 2px;
  height: 140vw;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
#sec4 .sec4-line::before {
  content: "";
  position: absolute;
  bottom: 6vw;
  right: 0px;
  width: 85%;
  height: 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}
#sec4 .sec4-line::after {
  content: "";
  position: absolute;
  bottom: 0px;
  right: 3vw;
  width: 2px;
  height: 140vw;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
#sec4 h2 {
  text-align: center;
  margin: 0px 0px 8vw;
}
#sec4 h2 span {
  font-size: 6vw;
  margin: 0px auto 3vw;
  letter-spacing: 0.2em;
}
#sec4 .sec4-map {
  width: 80%;
  margin: 10vw auto;
}
@media only screen and (min-width: 768px) {
  #sec4 {
    padding: 148px 0px 80px;
  }
  #sec4::before {
    top: 48px;
    width: 80%;
  }
  #sec4::after {
    left: 60px;
    height: 748px;
  }
  #sec4 .sec4-line::before {
    bottom: 48px;
    width: 80%;
  }
  #sec4 .sec4-line::after {
    right: 60px;
    height: 748px;
  }
  #sec4 h2 {
    margin: 142px 0px 0px 5px;
  }
  #sec4 h2 span {
    font-size: 28px;
    margin: 0px auto 72px;
  }
  #sec4 h2 small {
    font-size: 16px;
    position: absolute;
    left: 0px;
    top: 400px;
    
  }
  #sec4 .sec4_h2{
    margin: 142px 0px 0px 5px;
  }
  #sec4 .sec4-slide {
    width: 950px;
    margin: 0px -250px 0px 0px;
  }
  #sec4 .sec4-row2 {
    margin: 100px 0px 0px;
  }
  #sec4 .sec4-txt {
    width: 485px;
    margin: 102px 10px 0px 0px;
  }
  #sec4 .sec4-map {
    width: 391px;
    margin: 0px 0px 0px 17px;
  }
}

@media only screen and (max-width: 768px) {
#sec4 .sec4_h2{
  text-align: center;
  margin-bottom: 20px;
}
}


@media screen and (min-width: 768px) and (max-width: 1200px) {
  #sec4::after {
    left: 30px;
  }
  #sec4 .sec4-line::after {
    right: 30px;
  }
}/*# sourceMappingURL=concept.css.map */