#sec1 {
  padding: 20vw 0;
  position: relative;
  background: url(../img/concept/sec1_deco1.png) no-repeat right 5% top/40px,
    url(../img/concept/sec1_deco2.png) no-repeat left 6% bottom -25px/50px;
}
#sec1::before {
  content: "";
  top: -5vw;
  left: -10%;
  bottom: -5vw;
  right: -10%;
  border: 1px solid #3f556c;
  position: absolute;
  border-radius: 100vw;
  z-index: -5;
}
#sec1::after {
  content: "";
  background: #3f556c;
  width: 1px;
  height: 100%;
  left: 3%;
  top: 0;
  position: absolute;
  z-index: -5;
}
#sec1 .row-1 {
  margin-bottom: 30px;
}
#sec1 .row-1 .col-right {
  margin-bottom: 20px;
}
#sec1 .row-1 .col-right .ttl,
#sec1 .row-1 .col-right .txt {
  margin-left: 5vw;
}
#sec1 .row-1 .col-right .txt {
  width: 85%;
}
#sec1 .row-1 .col-right .ttl .desc {
  color: #927719;
  letter-spacing: 2px;
}
#sec1 .row-1 .col-right .ttl h2 {
  margin-bottom: 7vw;
}
#sec1 .line-hori {
  margin: 0 -5.5% 30px;
  border-bottom: 1px solid #3f556c;
}
#sec1 .row-2 .col-left {
  /* margin-bottom: 30px; */
  width: 95%;
  margin: 0 auto;
  padding-bottom: 8vw;
}
#sec1 .row-2 .col-left span {
  display: block;
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
  #sec1 {
    padding: 155px 0 275px;
    background: url(../img/concept/sec1_deco1.png) no-repeat left
        calc(50% + 660px) top/auto,
      url(../img/concept/sec1_deco2.png) no-repeat right calc(50% + 622px)
        bottom 75px / auto;
  }
  #sec1::before {
    top: -175px;
    left: 50%;
    transform: translateX(-50%);
    width: 1800px;
    height: 1800px;
    bottom: auto;
    right: auto;
  }
  #sec1::after {
    height: 100%;
    left: auto;
    right: calc(50% + 575px);
    z-index: -1;
  }
  #sec1 .wrap {
    max-width: 1200px;
  }
  #sec1 .row-1 {
    margin-bottom: 105px;
  }
  #sec1 .row-1 .col-right {
    margin-bottom: -12px;
    order: 2;
    margin-right: -25px;
  }
  #sec1 .row-1 .col-right .ttl {
    margin-left: auto;
  }
  #sec1 .row-1 .col-right .ttl .desc {
    letter-spacing: 4px;
    margin-bottom: 25px;
  }
  #sec1 .row-1 .col-right .ttl h2 {
    margin-bottom: 55px;
  }
  #sec1 .row-1 .col-right .txt {
    letter-spacing: 4.6px;
    width: auto;
    margin-left: auto;
  }
  #sec1 .row-1 .col-left {
    order: 1;
    margin-left: -40px;
  }
  #sec1 .line-hori {
    margin: 0 -50vw 100px;
    border-bottom: 1px solid #3f556c;
  }
  #sec1 .row-2 {
    max-width: 1000px;
    margin-left: auto;
    margin-right: 50px;
  }
  #sec1 .row-2 .col-left {
    padding-bottom: 30px;
    display: flex;
    flex-direction: row-reverse;
    padding-top: 60px;
    width: auto;
    margin: unset;
  }
  #sec1 .row-2 .col-left span {
    writing-mode: vertical-rl;
    margin-bottom: 0;
    margin-right: 40px;
    height: -moz-max-content;
    height: max-content;
    letter-spacing: 6px;
  }
}
#sec2 {
  position: relative;
  padding: 0 0 10vw;
  background: url(../img/concept/sec2_deco_bot.png) no-repeat center bottom/100%,
    url(../img/concept/sec2_deco1.png) no-repeat left 10% bottom/40px,
    url(../img/concept/sec2_deco_gold.png) no-repeat center bottom/80%;
}
#sec2::before {
  content: "";
  width: 130vw;
  height: 130vw;
  left: 50%;
  transform: translateX(-50%);
  bottom: 7vw;
  border: 1px solid #3f556c;
  border-radius: 100vw;
  position: absolute;
  z-index: -1;
}
#sec2::after {
  content: "";
  width: 100vw;
  left: 0;
  bottom: 22vw;
  background: #3f556c;
  height: 1px;
  position: absolute;
}
#sec2 .bg-parallax .img-parallax::after {
  content: "";
  background: url(../img/concept/sec2_para_deco.png) no-repeat 0 0/100%;
  width: 32%;
  height: 30vw;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 9;
}
#sec2 .bg-parallax .desc-1 {
  writing-mode: vertical-rl;
  position: absolute;
  right: 28%;
  bottom: 0;
  letter-spacing: 0.2em;
  padding-bottom: 15vw;
  border-left: 1px solid #fff;
  line-height: 1em;
  text-shadow: 1px 1px 5px #000;
}
#sec2 .bg-parallax .desc-2 {
  writing-mode: vertical-rl;
  position: absolute;
  right: 15%;
  top: 0;
  letter-spacing: 0.2em;
  padding-top: 15vw;
  border-right: 1px solid #fff;
  line-height: 1em;
  text-shadow: 1px 1px 5px #000;
}
#sec2 .sec2-slide {
  display: flex;
  justify-content: space-between;
}
#sec2 .sec2-slide .bot-to-top {
  position: relative;
  width: 49%;
  height: 100vw;
  overflow: hidden;
}
#sec2 .sec2-slide .bot-to-top::before {
  content: "";
  background: url(../img/concept/sec2_slide1.png) repeat-y;
  background-size: 100%;
  width: 100%;
  height: 1000vw;
  position: absolute;
  left: 0;
  top: 0;
  animation: slideinH 120s linear infinite;
}
#sec2 .sec2-slide .top-to-bot {
  position: relative;
  width: 49%;
  height: 100vw;
  overflow: hidden;
}
#sec2 .sec2-slide .top-to-bot::before {
  content: "";
  background: url(../img/concept/sec2_slide2.png) repeat-y;
  background-size: 100%;
  width: 100%;
  height: 1000vw;
  position: absolute;
  left: 0;
  top: 0;
  animation: slideinHDown 120s linear infinite;
}
#sec2 .txt {
  padding: 15% 9%;
}
#sec2 .txt span {
  display: block;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  #sec2 {
    padding: 0;
    background: url(../img/concept/sec2_deco_bot.png) no-repeat center
        bottom/100%,
      url(../img/concept/sec2_deco1.png) no-repeat left calc(50% - 535px) bottom
        105px / auto,
      url(../img/concept/sec2_deco_gold.png) no-repeat left calc(50% - 250px)
        bottom 210px / auto;
  }
  #sec2::before {
    width: 1400px;
    height: 1400px;
    bottom: 225px;
    z-index: -1;
  }
  #sec2::after {
    bottom: 360px;
    z-index: -2;
  }
  #sec2 .bg-parallax {
    height: 800px;
  }
  #sec2 .bg-parallax .img-parallax::after {
    background: url(../img/concept/sec2_para_deco.png) no-repeat 0 0/100%;
    width: 280px;
    height: 300px;
    top: -1px;
    left: -1px;
  }
  #sec2 .bg-parallax .desc-1 {
    height: -moz-max-content;
    height: max-content;
    right: auto;
    left: calc(50% + 390px);
    letter-spacing: 9px;
    padding-bottom: 145px;
    text-shadow: 1px 1px 10px #000;
  }
  #sec2 .bg-parallax .desc-2 {
    right: auto;
    left: calc(50% + 445px);
    letter-spacing: 9px;
    padding-top: 315px;
    text-shadow: 1px 1px 10px #000;
  }
  #sec2 .sec2-bot {
    position: relative;
  }
  #sec2 .sec2-slide {
    display: flex;
    justify-content: space-between;
    width: calc(50% + 50px);
    margin-left: auto;
  }
  #sec2 .sec2-slide .bot-to-top {
    width: 49%;
    height: 1040px;
  }
  #sec2 .sec2-slide .bot-to-top::before {
    height: 1000vw;
    animation: slideinH 300s linear infinite;
  }
  #sec2 .sec2-slide .top-to-bot {
    width: 49%;
    height: 1285px;
  }
  #sec2 .sec2-slide .top-to-bot::before {
    height: 1000vw;
    animation: slideinHDown 300s linear infinite;
    z-index: -1;
  }
  #sec2 .txt {
    padding: 0;
    display: flex;
    flex-direction: row-reverse;
    position: absolute;
    right: calc(50% + 145px);
    top: 215px;
  }
  #sec2 .txt span {
    writing-mode: vertical-rl;
    letter-spacing: 5.6px;
    margin-bottom: 0;
    margin-right: 37px;
    height: -moz-max-content;
    height: max-content;
  }
}
#sec3 {
  padding: 20vw 0;
  background: url(../img/concept/sec3_deco1.png) no-repeat left top 45vw/80%,
    url(../img/concept/sec3_deco3.png) no-repeat bottom 10vw right/30%,
    url(../img/shared/pt2.jpg);
  color: #333333;
  position: relative;
}
#sec3::after {
  content: "";
  background: #c6bab1;
  width: 1px;
  height: 101%;
  right: 2%;
  top: -1.6vw;
  position: absolute;
}
#sec3::before {
  content: "";
  background: url(../img/concept/sec3_deco2.png) no-repeat 0 0/100%;
  width: 50px;
  height: 300px;
  left: 20%;
  bottom: -65px;
  position: absolute;
  z-index: 1;
}
#sec3 .line-hori::before {
  content: "";
  background: #c3b8af;
  height: 75vw;
  width: 1px;
  left: 50%;
  transform: translateX(-50%);
  top: -9vw;
  position: absolute;
}
#sec3 h2 {
  text-align: center;
  margin-bottom: 15vw;
  background: url(../img/shared/pt2.jpg);
}
#sec3 .row-1 .col-right {
  padding: 0 5%;
}
#sec3 .row-1 .col-right .ttl .desc {
  color: #927719;
  margin-bottom: 10px;
}
#sec3 .row-1 .col-right .ttl h3 {
  margin-bottom: 5vw;
}
#sec3 .row-1 .col-right .txt {
  margin-bottom: 15vw;
  margin-top: 10vw;
}
#sec3 .row-1 .col-right .txt span {
  display: block;
  margin-bottom: 15px;
  letter-spacing: 2px;
}
#sec3 .row-1 .col-left {
  position: relative;
  z-index: 2;
}
#sec3 .row-1 .col-left .photo-1 {
  width: 50%;
}
#sec3 .row-1 .col-left .photo-2 {
  width: 90%;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  #sec3 {
    padding: 100px 0 165px;
    background: url(../img/concept/sec3_deco1.png) no-repeat left
        calc(50% - 280px) top 255px / auto,
      url(../img/concept/sec3_deco3.png) no-repeat bottom 50px right/auto,
      url(../img/shared/pt2.jpg);
  }
  #sec3::after {
    height: 110%;
    right: 60px;
    top: -20px;
  }
  #sec3::before {
    width: 83px;
    height: 500px;
    left: auto;
    right: calc(50% + 565px);
    bottom: -290px;
  }
  #sec3 .line-hori::before {
    height: 670px;
    top: -175px;
  }
  #sec3 h2 {
    margin-bottom: 190px;
  }
  #sec3 .row-1 .col-right {
    padding: 0;
    order: 2;
    width: 535px;
    margin-right: -35px;
    margin-bottom: -25px;
  }
  #sec3 .row-1 .col-right .ttl .desc {
    margin-bottom: 25px;
    letter-spacing: 5px;
  }
  #sec3 .row-1 .col-right .ttl h3 {
    margin-bottom: 65px;
    letter-spacing: 7px;
  }
  #sec3 .row-1 .col-right .txt {
    margin-bottom: auto;
    margin-top: auto;
  }
  #sec3 .row-1 .col-right .txt span {
    margin-bottom: 40px;
    letter-spacing: 4.5px;
  }
  #sec3 .row-1 .col-right .txt span:last-child {
    margin-bottom: 0;
  }
  #sec3 .row-1 .col-left {
    order: 1;
    margin-left: 65px;
  }
  #sec3 .row-1 .col-left .photo-1 {
    width: -moz-max-content;
    width: max-content;
    margin-right: -20px;
  }
  #sec3 .row-1 .col-left .photo-2 {
    width: -moz-max-content;
    width: max-content;
    margin-left: auto;
    margin-left: -315px;
  }
}
#sec4 {
  padding: 10vw 0 15vw;
  color: #333333;
  border-top: 1px solid #c6bab1;
  background: url(../img/concept/sec4_deco1.png) no-repeat left bottom 20vw/80%,
    url(../img/shared/pt2.jpg);
  position: relative;
}
#sec4::after {
  content: "";
  background: #c6bab1;
  width: 1px;
  height: 101%;
  right: 2%;
  top: -1.6vw;
  position: absolute;
}
#sec4::before {
  content: "";
  left: -20vw;
  top: 5vw;
  right: -15vw;
  bottom: -20vw;
  border: 1px solid #c6bab1;
  border-radius: 100vw;
  position: absolute;
  mix-blend-mode: darken;
}
#sec4 .sec4-line {
  border-bottom: 1px solid #c6bab1;
  padding-top: 20vw;
}
#sec4 .box .ttl {
  text-align: center;
}
#sec4 .box .ttl .desc {
  color: #927719;
  letter-spacing: 2px;
}
#sec4 .box .ttl h2 {
  margin-bottom: 10vw;
}
#sec4 .box .photo-1 {
  margin-bottom: 20px;
}
#sec4 .box .txt {
  padding: 3% 5%;
}
#sec4 .box .txt span {
  display: block;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  #sec4 {
    padding: 145px 0 100px;
    background: url(../img/concept/sec4_deco1.png) no-repeat left
        calc(50% - 385px) bottom 140px / auto,
      url(../img/shared/pt2.jpg);
  }
  #sec4::after {
    height: 100%;
    right: 60px;
    top: 0;
  }
  #sec4::before {
    content: "";
    left: calc(50% - 150px);
    transform: translateX(-50%);
    top: -70px;
    right: auto;
    bottom: auto;
    width: 1490px;
    height: 1490px;
    border-radius: 100vw;
  }
  #sec4 .sec4-line {
    padding-top: 100px;
  }
  #sec4 .box .ttl {
    text-align: center;
    display: flex;
    flex-direction: row-reverse;
    margin-bottom: 80px;
    margin-left: -20px;
  }
  #sec4 .box .ttl .desc {
    color: #927719;
    letter-spacing: 2px;
    writing-mode: vertical-lr;
    text-align: left;
    letter-spacing: 5px;
  }
  #sec4 .box .ttl h2 {
    writing-mode: vertical-rl;
    height: -moz-max-content;
    height: max-content;
    margin-bottom: 0;
    letter-spacing: 9px;
  }
  #sec4 .box .photo-1 {
    margin-bottom: 0;
    margin-right: -145px;
  }
  #sec4 .box .txt {
    order: 2;
    margin-top: 85px;
    margin-right: 55px;
  }
  #sec4 .box .txt span {
    display: block;
    margin-bottom: 40px;
    letter-spacing: 4.7px;
  }
  #sec4 .box .photo-2 {
    order: 1;
    margin-left: -250px;
  }
}
#sec5 {
  padding: 20vw 0;
  background: url(../img/concept/sec5_deco1.png) no-repeat right 5vw top/45px,
    url(../img/concept/sec5_deco_gold.png) no-repeat right 5vw top 5vw/80%;
  position: relative;
  overflow: hidden;
}
#sec5::after {
  content: "";
  width: 1px;
  height: 100%;
  left: 3%;
  top: 0;
  background: #3f5266;
  position: absolute;
  z-index: -1;
}
#sec5::before {
  content: "";
  bottom: -10vw;
  left: -3vw;
  top: -10vw;
  right: -10vw;
  position: absolute;
  border: 1px solid #3f5266;
  border-radius: 100vw;
}
#sec5 .row .col-right {
  margin-bottom: 30px;
  padding: 0 5%;
}
#sec5 .row .col-right .ttl .desc {
  color: #927719;
  letter-spacing: 2px;
  margin-bottom: 15px;
}
#sec5 .row .col-right .ttl h2 {
  margin-bottom: 10vw;
}
#sec5 .row .col-left {
  height: 110vw;
}
#sec5 .row .col-left img {
  height: 110vw;
  -o-object-fit: cover;
  object-fit: cover;
}
#sec5 .sec5-line {
  border-bottom: 1px solid #3f5266;
  padding-top: 15vw;
}

@media screen and (min-width: 768px) {
  #sec5 {
    padding: 120px 0 165px;
    background: url(../img/concept/sec5_deco1.png) no-repeat left
        calc(50% + 650px) top/auto,
      url(../img/concept/sec5_deco_gold.png) no-repeat left calc(50% + 485px)
        top 25px / auto;
    position: relative;
    overflow: hidden;
  }
  #sec5::after {
    left: calc(50% - 130px);
  }
  #sec5::before {
    bottom: auto;
    left: calc(50% + 380px);
    top: -100px;
    right: auto;
    transform: translateX(-50%);
    width: 1400px;
    height: 1400px;
  }
  #sec5 .row .col-right {
    margin-bottom: -5px;
    order: 2;
    width: 435px;
    padding: inherit;
  }
  #sec5 .row .col-right .ttl .desc {
    letter-spacing: 4px;
    margin-bottom: 25px;
  }
  #sec5 .row .col-right .ttl h2 {
    margin-bottom: 75px;
  }
  #sec5 .row .col-right .txt {
    letter-spacing: 4.6px;
  }
  #sec5 .row .col-left {
    height: auto;
    margin-left: -100px;
    order: 1;
  }
  #sec5 .row .col-left img {
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
  }
  #sec5 .sec5-line {
    padding-top: 75px;
  }
}
#sec6 {
  padding: 0 0 20vw;
  background: url(../img/concept/sec6_deco1.png) no-repeat left 20% bottom/10%;
}

@media screen and (min-width: 768px) {
  #sec6 {
    padding: 0 0 200px;
    background: url(../img/concept/sec6_deco1.png) no-repeat left
      calc(50% - 180px) bottom -30px / auto;
  }
}
@media (min-width: 768px) and (max-width: 1499px) {
  #sec3 .line-hori::before {
    height: 650px;
    top: -120px;
  }
  #sec3 .row-1 .col-left .photo-2 {
    margin-left: -230px;
  }
  #sec4 .box .photo-1 {
    width: 900px;
    position: relative;
    z-index: 1;
  }
  #sec4 .box .photo-2 {
    margin-left: -150px;
  }
  #sec4 .box .txt {
    margin-right: 0;
    padding: initial;
  }
}
@media (min-width: 768px) and (max-width: 1300px) {
  #sec1 .row-1 {
    max-width: 1060px;
    margin: 0 auto 105px;
  }
  #sec1 .row-1 .col-left {
    width: 550px;
  }
  #sec1 .row-1 .col-right {
    margin-right: 0;
  }
  #sec3 .line-hori::before {
    top: -105px;
    height: 550px;
  }
  #sec3 .row-1 .col-left .photo-2 {
    margin-left: -150px;
    width: 450px;
  }
  #sec4 .box .ttl {
    margin-left: 50px;
  }
} /*# sourceMappingURL=concept.css.map */
