/* Scss Document */
#sec1 {
  background-image: url(../img/scene/sec1_img.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  margin: 12vw 2% 0px;
  padding: 25vw 0px 15vw;
}

#sec1 h2 {
  position: relative;
  color: #fff;
  padding-bottom: 3vw;
}

#sec1 h2:after {
  content: "";
  position: absolute;
  left: 0px;
  background: rgba(255, 255, 255, 0.6);
}

#sec1 h2 .ttl-num {
  letter-spacing: 0.13em;
}

#sec1 h3 {
  margin-top: 5vw;
}

#sec1 .txt {
  margin-top: 5vw;
}

@media screen and (max-width: 767px) {
  #sec1 {
    /* text-shadow: 1px 1px 1px #000, 1px 1px 1px #000; */
  }

  #sec1 h2 {
    letter-spacing: 0.25em;
  }

  #sec1 h2:after {
    bottom: 0px;
    width: 12vw;
    height: 1px;
  }
}

@media screen and (min-width: 768px) {
  #sec1 {
    max-width: 1320px;
    margin: 87px auto 0px;
    padding: 204px 0px 117px;
  }

  #sec1 .wrap {
    flex-direction: row-reverse;
  }

  #sec1 hgroup {
    margin-right: 145px;
  }

  #sec1 h2 {
    margin-left: 29px;
    padding-left: 19px;
  }

  #sec1 h2:after {
    top: 0px;
    width: 1px;
    height: 51px;
  }

  #sec1 h2 .ttl-num {
    margin-bottom: 10px;
  }

  #sec1 h3 {
    margin-top: 0px;
  }

  #sec1 .txt {
    height: 391px;
    margin: 88px 0px 0px 165px;
  }
}

#sec2 {
  margin-top: 20vw;
}

#sec2 .inner1 {
  margin-top: 15vw;
}

#sec2 .inner1 .col-right {
  align-items: center;
}

#sec2 .inner1 .sec2-img1 {
  margin: 0px 0px 0px -6%;
}

#sec2 .inner1 h2 {
  margin-left: 8%;
  line-height: 2;
}

#sec2 .inner1 .txt {
  margin-top: 6vw;
}

#sec2 .inner2 {
  margin-top: 15vw;
}

#sec2 .inner2 .sec2-slider {
  position: relative;
}

#sec2 .inner2 .slick-dots {
  flex-direction: column;
  position: absolute;
  right: 4%;
  bottom: 4vw;
}

#sec2 .inner2 .txt {
  margin-top: 6vw;
}

#sec2 .inner3 {
  margin-top: 15vw;
  align-items: flex-start;
}

#sec2 .inner3 .sec2-img2 {
  margin: 10vw 5% 0px 0px;
}

#sec2 .inner4 {
  margin-top: 12vw;
}

#sec2 .inner4 .sec2-img4 {
  margin-top: 10vw;
}

@media screen and (max-width: 767px) {
  #sec2 .sec2-icon {
    width: 14vw;
    margin: 0px auto;
  }

  #sec2 .inner1 .sec2-img1 {
    height: 97vw;
  }
}

@media screen and (min-width: 768px) {
  #sec2 {
    margin-top: 146px;
  }

  #sec2 .inner1 {
    margin-top: 122px;
    flex-direction: row-reverse;
    align-items: flex-end;
  }

  #sec2 .inner1 .col-right {
    flex-direction: row-reverse;
  }

  #sec2 .inner1 .sec2-img1 {
    margin: 0px -250px 0px 52px;
    width: 750px;
  }

  #sec2 .inner1 h2 {
    margin-left: 0px;
  }

  #sec2 .inner1 .txt {
    height: 340px;
    margin: 0px 0px -5px 15px;
  }

  #sec2 .inner2 {
    margin-top: 146px;
    align-items: flex-end;
  }

  #sec2 .inner2 .sec2-slider {
    width: 609px;
    margin-left: -35px;
  }

  #sec2 .inner2 .slick-dots {
    right: 24px;
    bottom: 24px;
  }

  #sec2 .inner2 .txt {
    width: 456px;
    margin: 0px -100px -5px 65px;
  }

  #sec2 .inner3 {
    margin: 226px -15px 0px -27px;
  }

  #sec2 .inner3 .sec2-img2 {
    margin: 73px 186px 0px 0px;
  }

  #sec2 .inner4 {
    margin-top: 0px;
    align-items: flex-end;
  }

  #sec2 .inner4 .sec2-img4 {
    margin: -183px -250px 0px 0px;
  }

  #sec2 .inner4 .txt {
    margin: 0px 0px -10px 73px;
    height: 345px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1220px) {
  #sec2 .inner2 .txt {
    margin-right: 0px;
  }
}

#sec3 {
  margin: 25vw 5%;
  position: relative;
}

#sec3 .col-txt {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  margin-top: 10vw;
}

#sec3 h2 {
  position: relative;
  padding-bottom: 3vw;
  line-height: 2;
}

#sec3 h2:after {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 0px;
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  width: 28vw;
}

#sec3 .txt {
  margin-top: 5vw;
}

#sec3 .sec3-btn {
  margin: 8vw 3% 0px;
}

@media screen and (max-width: 767px) {
  #sec3 .sec3-img {
    height: 84vw;
  }

  #sec3 .sec3-img img {
    object-position: right;
  }

  #sec3 .btn-border {
    color: #000;
    border: 2px solid rgba(0, 0, 0, 0.5);
  }

  #sec3 .btn-border:before {
    border: 1px solid rgba(0, 0, 0, 0.5);
  }

  #sec3 .btn-border.btn-arrow:after {
    background-image: url(../img/shared/ico_arrow_sp.png);
  }
}

@media screen and (min-width: 768px) {
  #sec3 {
    max-width: 990px;
    margin: 221px auto 208px;
  }

  #sec3 .col-txt {
    width: 415px;
    padding: 92px 0px 95px;
    margin: 0px 0px 0px 80px;
    color: #fff;
  }

  #sec3 h2 {
    color: #fff;
    padding-bottom: 24px;
  }

  #sec3 h2:after {
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    width: 140px;
  }

  #sec3 .txt {
    margin-top: 29px;
  }

  #sec3 .sec3-btn {
    width: 184px;
    margin: 31px 0px 0px 3px;
  }

  #sec3 .sec3-img {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
  }
}