#header h1 {
  top: 104vw;
}

.txt {
  margin-left: 8%;
  margin-right: 8%;
}

#sec1 {
  padding: 27vw 0 15vw;
  background: url(../img/concept/sec1_bg.jpg) no-repeat center top/185% auto;
}

#sec1 h2 {
  text-align: center;
  margin-bottom: 22vw;
}

#sec1 h2 img {
  width: 34%;
}

#sec2 {
  position: relative;
  padding-bottom: 25vw;
  background: url(../img/concept/sec2_deco2.png) no-repeat left bottom/65% auto;
}

#sec2::after {
  content: "";
  background: url(../img/concept/sec2_deco3.png) no-repeat right bottom/100% auto;
  position: absolute;
  top: 0;
  right: -5%;
  bottom: -13vw;
  width: 75%;
  z-index: -1;
}

#sec2 .set1 {
  position: relative;
}

#sec2 .set1::before {
  content: "";
  background: url(../img/concept/sec2_deco1.png) no-repeat right top/100% auto;
  position: absolute;
  top: 63vw;
  right: -15%;
  bottom: 0;
  width: 75%;
  z-index: -1;
}

#sec2 .set1 h2 {
  text-align: center;
  margin-bottom: 27vw;
}

#sec2 .set1 h2 img {
  width: 42%;
}

#sec2 .set1 .photo1 {
  margin: 0 0 0 -5%;
  width: 70%;
}

#sec2 .set1 .photo2 {
  position: absolute;
  top: 88vw;
  right: -2%;
  width: 65%;
}

#sec2 .set2 .photo1 {
  margin: 10vw 0 0 -5%;
  width: 80%;
}

#sec2 .set2 .photo2 {
  position: absolute;
  top: -1vw;
  right: -3%;
  width: 37%;
}

#sec2 .set2 .photo3 {
  position: absolute;
  top: -36vw;
  right: -3%;
  width: 41%;
}

#sec2 .set2 .gr-txt {
  margin-top: 7vw;
}

#sec2 .set2 .gr-txt .btn-shared {
  margin: 10vw 8% 0;
}

#sec3 {
  padding: 15vw 0;
}

#sec3 h2 {
  text-align: center;
}

#sec3 h2 img {
  width: 25%;
}

#sec3 .photo {
  margin: 12vw -5% 6vw;
  position: relative;
}

#sec3 .photo::before {
  content: "";
  background: url(../img/concept/linex.jpg) repeat-x left top/auto 6px, url(../img/concept/linex.jpg) repeat-x left bottom/auto 6px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

#sec4 {
  padding: 15vw 0 15vw;
  position: relative;
}

#sec4::before {
  content: "";
  background: url(../img/concept/sec4_deco.png) no-repeat left top/100% auto;
  position: absolute;
  top: 1vw;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

#sec4 .item1 {
  margin-bottom: 8vw;
}

#sec4 .item1 h2 {
  text-align: center;
  margin-bottom: 12vw;
}

#sec4 .item1 h2 img {
  width: 45%;
}

#sec4 .item2 .txt {
  margin-top: 6vw;
}

#sec5 {
  padding-bottom: 23vw;
  position: relative;
}

#sec5::before {
  content: "";
  background: url(../img/concept/sec5_deco.png) no-repeat right bottom/100% auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 80%;
  z-index: -1;
}

#sec5 .gr-txt {
  padding: 10vw 0;
  border-top: 1px solid #534230;
  border-bottom: 1px solid #534230;
}

#sec5 .gr-txt h2 {
  text-align: center;
  margin-bottom: 5vw;
}

#sec5 .gr-txt h2 img {
  width: 85%;
}

@media screen and (min-width: 1000px) {
  .ob-fit-cover {
    position: relative;
  }

  .ob-fit-cover img {
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
  }

  .txt {
    margin-left: 0;
    margin-right: 0;
  }

  #header h1 {
    inset: 465px 20px auto auto;
    min-height: 100vh;
  }

  #sec1 {
    padding: 0;
    background: url(../img/concept/sec1_bg.jpg) no-repeat center top/cover;
    height: 944px;
    margin-top: 100px;
  }

  #sec1 h2 {
    margin-bottom: 0;
    position: absolute;
    top: 230px;
    right: 116px;
  }

  #sec1 h2 img {
    width: auto;
  }

  #sec1 .txt {
    position: absolute;
    top: 230px;
    right: 421px;
    height: 386px;
    color: #fff;
  }

  #sec2 {
    padding-bottom: 136px;
    background: url(../img/concept/sec2_deco2.png) no-repeat left bottom;
  }

  #sec2::after {
    background: url(../img/concept/sec2_deco3.png) no-repeat;
    height: 459px;
    top: auto;
    right: auto;
    left: calc(50% - 183px);
    bottom: -138px;
    width: 1067px;
  }

  #sec2 .set1::before {
    background: url(../img/concept/sec2_deco1.png) no-repeat;
    height: 809px;
    top: 110px;
    right: auto;
    left: calc(50% + 218px);
    bottom: auto;
    width: 809px;
  }

  #sec2 .set1 h2 {
    margin-bottom: 0;
    position: absolute;
    top: 150px;
    right: -60px;
    z-index: 2;
  }

  #sec2 .set1 h2 img {
    width: auto;
  }

  #sec2 .set1 .photo1 {
    margin: 0 151px 0 -250px;
    width: auto;
    height: 670px;
  }

  #sec2 .set2 .gr-txt .btn-shared {
    margin: 42px 0 0 1px;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1499px) and (min-width: 1000px) {
  #sec2 .set1 .photo1 {
    margin-left: calc(-50vw + 50%);
  }
}

@media screen and (min-width: 1000px) {
  #sec2 .set1 .photo2 {
    top: -188px;
    right: auto;
    left: calc(50% + 196px);
    width: auto;
  }
}

@media screen and (min-width: 1000px) {
  #sec2 .set2 .photo1 {
    margin: 40px 324px 0 -250px;
    width: auto;
    height: 530px;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1499px) and (min-width: 1000px) {
  #sec2 .set2 .photo1 {
    margin-left: calc(-50vw + 50%);
  }
}

@media screen and (min-width: 1000px) {
  #sec2 .set2 .photo2 {
    top: 16px;
    right: -31px;
    width: auto;
  }
}

@media screen and (min-width: 1000px) {
  #sec2 .set2 .photo3 {
    top: 342px;
    right: auto;
    left: calc(50% + 271px);
    width: auto;
  }
}

@media screen and (min-width: 1000px) {
  #sec2 .set2 .gr-txt {
    margin-top: 40px;
    width: 615px;
  }

  #sec2 .set2 .gr-txt .btn-link {
    margin-top: 41px;
  }
}

@media screen and (min-width: 1000px) {
  #sec3 {
    padding: 66px 0 55px;
    background: url(../img/concept/sec3_img.jpg) no-repeat center top/cover;
    position: relative;
  }

  #sec3::before {
    content: "";
    background: url(../img/concept/linex.jpg) repeat-x left top/auto 6px, url(../img/concept/linex.jpg) repeat-x left bottom/auto 6px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
  }

  #sec3 h2 img {
    width: auto;
  }

  #sec3 .txt {
    width: 406px;
    margin: 58px auto 0;
    color: #fff;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 1000px) {
  #sec4 {
    padding: 90px 0 98px;
  }

  #sec4::before {
    background: url(../img/concept/sec4_deco.png) no-repeat left top;
    width: 579px;
    height: 490px;
    top: 0;
    right: auto;
    bottom: auto;
  }

  #sec4 .item1 {
    margin-bottom: 0;
  }

  #sec4 .item1 h2 {
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: -148px;
  }

  #sec4 .item1 h2 img {
    width: auto;
  }

  #sec4 .item1 .photo {
    height: 750px;
    margin: 0 -250px 0 203px;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1499px) and (min-width: 1000px) {
  #sec4 .item1 .photo {
    margin-right: calc(-50vw + 50%);
  }
}

@media screen and (min-width: 1000px) {
  #sec4 .item2 {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: -200px;
  }

  #sec4 .item2 .photo {
    margin-left: -51px;
    position: relative;
  }

  #sec4 .item2 .photo::before {
    content: "";
    background: url(../img/shared/bg_bd.jpg);
    position: absolute;
    top: -20px;
    right: -20px;
    bottom: 0;
    left: 0;
  }

  #sec4 .item2 .txt {
    margin: 238px -42px 0 70px;
    width: 400px;
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 1000px) {
  #sec5 {
    padding-bottom: 150px;
  }

  #sec5::before {
    background: url(../img/concept/sec5_deco.png) no-repeat right bottom;
    height: 382px;
    top: auto;
    width: 1097px;
  }

  #sec5 .gr-txt {
    padding: 80px 0 73px;
    margin: 0 30px;
    border-top: 1px solid #534230;
    border-bottom: 1px solid #534230;
  }

  #sec5 .gr-txt h2 {
    margin-bottom: 47px;
  }

  #sec5 .gr-txt h2 img {
    width: auto;
  }

  #sec5 .gr-txt .txt {
    text-align: center;
  }
}

@media screen and (max-width: 1399px) and (min-width: 1000px) {
  #sec4 .item1 h2 {
    left: calc(-50vw + 50% + 30px);
    z-index: 2;
  }
}

@media screen and (max-width: 1299px) and (min-width: 1000px) {
  #sec2 .set2 .photo3 {
    left: calc(50% + 150px);
  }

  #sec4 .item1 .photo {
    margin-left: 250px;
  }
}

@media screen and (max-width: 1199px) and (min-width: 1000px) {
  #sec2 .set1 h2 {
    right: calc(-50vw + 50% + 30px);
  }

  #sec2 .set1 .photo1 {
    margin-right: 190px;
  }

  #sec4 .item2 .txt {
    margin-right: 0;
  }

  #sec4 .item1 .photo {
    margin-left: 330px;
  }
}