@charset "UTF-8";

@media screen and (max-width: 1400px) {
  html {
    font-size: calc(10*(100vw / 1400)) !important;
  }
}

@media screen and (min-width: 768px) {
  .sp-only0329 {
    display: none;
  }
}

#LB240329swimsuit * {
  margin: 0;
  padding: 0;
  font-size: 62.5%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  width: 100%;
}

#LB240329swimsuit img {
  height: auto;
}

#LB240329swimsuit #contents1 {
  background-color: #FFFDF0;
  width: 100%;
  position: relative;
}

#LB240329swimsuit .contents {
  position: relative;
}

#LB240329swimsuit #contents1 .bg {
  background: url(../img/bg_0328/bg_pc1.png) left / cover no-repeat;
  height: 80.2rem;
  width: calc(750*(100vw / 1400));
  right: 76rem;
  position: absolute;
  top: 62.4rem;
}

#LB240329swimsuit #contents1 .content {
  margin: auto;
  padding: 0 40px;
  width: 100%;
  position: relative;
  padding-bottom: 58rem;
  width: 102rem;
}

#LB240329swimsuit #contents1 .title {
  width: 38rem;
  margin: auto;
  padding-top: 6rem;
}

#LB240329swimsuit #contents1 .title img {
  width: 100%;
}

#LB240329swimsuit #contents1 .f-text {
  text-align: center;
  font-weight: 500;
  margin-top: 1.7rem;
  letter-spacing: 0.3em;
  line-height: 1.9;
}

#LB240329swimsuit #contents1 h3 span {
  font-size: 1.5rem;
}

#LB240329swimsuit #contents1 .flex {
  display: flex;
  justify-content: space-between;
  margin: auto;
  margin-top: 6.4rem;
}

#LB240329swimsuit .row-r {
  flex-direction: row-reverse;
}

#LB240329swimsuit #contents1 .main-img {
  width: 46.7rem;
  display: block;
}

#LB240329swimsuit #contents1 .text-area {
  width: 35rem;
  margin-top: 11rem;
  margin-left: 4rem;
  position: relative;
}

#LB240329swimsuit #contents1 .sub-title {
  width: 36rem;
}

#LB240329swimsuit #contents1 .text-area .text {
  font-size: 1.3rem;
  margin-top: 3.7rem;
  letter-spacing: 0.25rem;
  line-height: 1.9;
  font-weight: 500;
}

#LB240329swimsuit #contents1 .img-flex {
  position: absolute;
  z-index: 1;
  width: 55rem;
  bottom: 30.8rem;
  left: -2rem;
}

#LB240329swimsuit #contents1 .img-flex .img {
  width: 27rem;
}

#LB240329swimsuit #contents1 .item-1 {
  position: absolute;
  width: 22rem;
  right: 20rem;
  bottom: 18.5rem;
}

#LB240329swimsuit #contents1 .item-2 {
  display: block;
  position: absolute;
  width: 22rem;
  right: -2rem;
  bottom: 9.7rem;
}

/* contents2 */

#LB240329swimsuit #contents2 {
  padding-top: 7rem;
  background-image: url(../img/bg_0328/bg_pc2.png);
  background-size: cover;
  padding-bottom: 18.4rem;
  background-color: #FFFDF0;
}

#LB240329swimsuit #contents2 .content {
  padding: 0 40px;
  margin: auto;
  position: relative;
  width: 120rem;
}

#LB240329swimsuit #contents2 .title {
  width: 58rem;
  margin: auto;
}

#LB240329swimsuit #contents2 .main-img {
  width: 47rem;
  display: block;
  margin: 4.2rem auto 0 35.8rem;
}

#LB240329swimsuit #contents2 .text {
  text-align: center;
  font-size: 1.3rem;
  margin-top: 3.5rem;
  letter-spacing: 0.18rem;
  line-height: 1.85;
  font-weight: 500;
}

#LB240329swimsuit #contents2 .text .sp-only {
  display: none;
}

#LB240329swimsuit #contents2 .item {
  width: 29.8rem;
  display: block;
}

#LB240329swimsuit #contents2 .img-flex {
  position: absolute;
  display: block;
  bottom: -69.2rem;
  width: 66rem;
  z-index: 1;
}

#LB240329swimsuit #contents2 .l-img {
  position: absolute;
  bottom: 13.3rem;
  left: 0rem;
}

#LB240329swimsuit #contents2 .r-img {
  position: absolute;
  bottom: 0rem;
  left: 36rem;
}

#LB240329swimsuit #contents2 .img-flex .img {
  width: 35rem;
  display: block;
}

#LB240329swimsuit #contents2 .img-flex .r-img {
  width: 30rem;
}

#LB240329swimsuit #contents2 .item {
  position: absolute;
}

#LB240329swimsuit #contents2 .item-2 {
  right: 23.7rem;
  z-index: 1;
  bottom: -40.6rem;
}

#LB240329swimsuit #contents2 .item-3 {
  right: 4rem;
  z-index: 1;
  bottom: -29rem;
}


/* content3 */

#LB240329swimsuit #contents3 {
  padding-top: 50rem;
  background-color: #FFFDF0;
  position: relative;
  padding-bottom: 14.3rem;
}

#LB240329swimsuit #contents3 .bg {
  background: url(../img/bg_0328/bg_pc3.png) left / cover no-repeat;
  height: 50rem;
  width: calc(1170*(100vw / 1400));
  position: absolute;
  right: 29rem;
  top: 10rem;
}


#LB240329swimsuit #contents3 .content {
  margin: auto;
  padding: 0 4rem;
  width: 92rem;
  margin-top: 10.8rem;
  position: relative;
}

#LB240329swimsuit #contents3 .flex {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 93rem;
  align-items: center;
  margin: auto;
}

#LB240329swimsuit #contents3 .text-area {
  width: 40.5rem;
  margin-top: 4.6rem;
}

#LB240329swimsuit #contents3 .main-img {
  width: 41rem;
}

#LB240329swimsuit #contents3 .text {
  font-size: 1.3rem;
}

#LB240329swimsuit #contents3 .g-img {
  width: 17rem;
  display: block;
  ;
  position: absolute;
}

#LB240329swimsuit #contents3 .b-img {
  width: 24rem;
  display: block;
  ;
  position: absolute;
}

#LB240329swimsuit #contents3 .item-5 {
  bottom: 43.6rem;
  left: -4rem;
}

#LB240329swimsuit #contents3 .item-6 {
  bottom: 43.6rem;
  left: 14rem;
  width: 22rem;
}

#LB240329swimsuit #contents3 .item-7 {
  left: 30.1rem;
  bottom: 29.3rem;
}

#LB240329swimsuit #contents3 .item-8 {
  left: 48rem;
  bottom: 29.3rem;
  width: 22rem;
}

#LB240329swimsuit #contents3 .item-9 {
  right: 19rem;
  bottom: 15.1rem;
}

#LB240329swimsuit #contents3 .item-10 {
  right: -4rem;
  bottom: 15.1rem;
  width: 22rem;
}

#LB240329swimsuit #contents3 .text {
  display: block;
  margin: auto;
  margin-top: 3.8rem;
  line-height: 1.93;
  letter-spacing: 0.15em;
  font-weight: 500;
}

#LB240329swimsuit #contents3 .text-img {
  width: 22.1rem;
  display: block;
  margin: auto;
  margin-top: 54.4rem;
}

@media screen and (max-width: 767px) {
  .main-inner {
    width: 100% !important;
  }

  #LB240329swimsuit #contents1 {
    padding-bottom: 236.4rem;
  }

  #LB240329swimsuit #contents1 .bg {
    width: 87rem;
    height: 193rem;
    position: absolute;
    top: 321.4rem;
    background-image: url(../img/bg_0328/bg_sp1.png);
    right: 53rem;
  }

  #LB240329swimsuit #contents1 .content {
    width: auto;
    padding: 0;
  }

  #LB240329swimsuit #contents1 .title {
    width: 100.24rem;
    padding-top: 11.5rem;
  }

  #LB240329swimsuit #contents1 .f-text {
    margin: auto;
    margin-top: 7rem;
    width: 120rem;
  }

  #LB240329swimsuit #contents1 .f-text span {
    font-size: calc(27*(100vw / 750));
    letter-spacing: 0.1em;
    line-height: 1.97;
  }

  #LB240329swimsuit #contents1 .flex {
    display: block;
    margin-top: 16rem;
  }

  #LB240329swimsuit #contents1 .main-img {
    width: 137.014rem;
    margin: auto;
  }

  #LB240329swimsuit #contents1 .text-area {
    width: auto;
    margin: auto;
    margin-top: 10.7rem;
  }

  #LB240329swimsuit #contents1 .sub-title {
    width: 104.72rem;
    margin: auto;
  }

  #LB240329swimsuit #contents1 .text-area .text {
    font-size: calc(24*(100vw / 750));
    margin-top: 7rem;
    letter-spacing: 0.17em;
    text-align: center;
  }

  #LB240329swimsuit #contents1 .img-flex {
    display: flex;
    top: 352rem;
    justify-content: space-between;
    width: 140rem;
    left: 0;
  }

  #LB240329swimsuit #contents1 .img-flex .img {
    width: 69.067rem;
  }

  #LB240329swimsuit #contents1 .item-1 {
    width: 48.534rem;
    bottom: -193.3rem;
    right: 71rem;
  }

  #LB240329swimsuit #contents1 .item-2 {
    width: 48.534rem;
    bottom: -206.9rem;
    right: 20.6rem;
  }

  /* #contents2 */

  #LB240329swimsuit #contents2 {
    padding-top: 18.3rem;
    padding-bottom: 96rem;
    background-image: url(../img/bg_0328/bg_sp2.png);
  }

  #LB240329swimsuit #contents2 .content {
    width: auto;
    padding: 0;
  }

  #LB240329swimsuit #contents2 .title {
    width: 130.65rem;
  }

  #LB240329swimsuit #contents2 .main-img {
    width: 130.667rem;
    margin: auto;
    margin-top: 9rem;
    margin-left: 5rem;
  }

  #LB240329swimsuit #contents2 .text {
    font-size: calc(24*(100vw / 750));
    margin-top: 9.4rem;
    letter-spacing: 0.12em;
    line-height: 1.94;
  }

  #LB240329swimsuit #contents2 .text .sp-only {
    display: block;
  }

  #LB240329swimsuit #contents2 .item {
    width: 74.667rem;
  }

  #LB240329swimsuit #contents2 .item-2 {
    bottom: -107.6rem;
    right: 59.7rem;
  }

  #LB240329swimsuit #contents2 .item-3 {
    bottom: -86.3rem;
    right: 5.6rem;
  }

  #LB240329swimsuit #contents2 .img-flex {
    width: auto;
    position: static;
  }

  #LB240329swimsuit #contents2 .img-flex .img {
    width: 89.6rem;
    position: absolute;
  }

  #LB240329swimsuit #contents2 .img-flex .l-img {
    position: absolute;
    bottom: -294.2rem;
    z-index: 1;
  }

  #LB240329swimsuit #contents2 .img-flex .r-img {
    width: 72.8rem;
    z-index: 2;
    right: 0rem;
    bottom: -222.4rem;
    left: auto;
  }

  /* #contents3 */

  #LB240329swimsuit #contents3 {
    padding-bottom: 37.1rem;
  }

  #LB240329swimsuit #contents3 .content {
    margin-top: 178rem;
    width: auto;
    padding: 0;
  }

  #LB240329swimsuit #contents3 .bg {
    top: 53.3rem;
    width: 140rem;
    height: 210.5rem;
    background-image: url(../img/bg_0328/bg_sp3.png);
    right: 0;
  }

  #LB240329swimsuit #contents3 .flex {
    flex-direction: column-reverse;
    width: auto;
  }

  #LB240329swimsuit #contents3 .main-img {
    width: 104.5rem;
  }

  #LB240329swimsuit #contents3 .text-area {
    width: auto;
    margin-top: 11.6rem;
  }

  #LB240329swimsuit #contents3 .title-text {
    width: 110rem;
  }

  #LB240329swimsuit #contents3 .text {
    font-size: calc(24*(100vw / 750));
    text-align: center;
    letter-spacing: 0.07em;
    margin-top: 7rem;
  }

  #LB240329swimsuit #contents3 .g-img {
    width: 39.2rem;
  }

  #LB240329swimsuit #contents3 .b-img {
    width: 56rem;
  }

  #LB240329swimsuit #contents3 .item-5 {
    bottom: 165rem;
    left: 6rem;
  }

  #LB240329swimsuit #contents3 .item-6 {
    bottom: 165rem;
    left: 47rem;
  }

  #LB240329swimsuit #contents3 .item-7 {
    bottom: 103.2rem;
    left: 21.5rem;
  }

  #LB240329swimsuit #contents3 .item-8 {
    bottom: 103.2rem;
    left: 62.6rem;
  }

  #LB240329swimsuit #contents3 .item-9 {
    bottom: 41.6rem;
    right: 63.2rem;
  }

  #LB240329swimsuit #contents3 .item-10 {
    bottom: 41.6rem;
    right: 5.4rem;
  }

  #LB240329swimsuit #contents3 .text-img {
    width: 66rem;
    margin-top: 226.4rem;
  }


}

/* js */

#LB240329swimsuit .jsFade {
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  transform: translateY(50px);
}

#LB240329swimsuit .jsFade.isActive {
  opacity: 1;
  transform: translateY(0px);
}