@charset "UTF-8";
/* ----- fv ----- */
.fv {
  height: 48.8vw;
  margin-top: -5.31vw;
  position: relative;
}
.fv .fv__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fv .anime {
  position: absolute;
  top: 25.8vw;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  width: 39.1vw;
  height: 6.87vw;
}

.scrolldown {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  height: 6rem;
}

.scrolldown span {
  position: absolute;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 0.7rem;
  font-size: 1.2rem;
  font-family: lato, sans-serif;
  font-weight: 500;
}

.scrolldown::after {
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 0.4rem;
  background: #eee;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}

@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 3.5rem;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 6rem;
    opacity: 0;
  }
}
/* ----- topAboutUs ----- */
.topAboutUs {
  margin-top: 12rem;
  position: relative;
}

.topAboutUs__bg {
  height: 73.6rem;
}
.topAboutUs__bg .bgLRextend::before {
  height: 73.6rem;
}
@-moz-document url-prefix() {
  .topAboutUs__bg .bgLRextend::before {
    top: -72.8rem;
  }
}

.topAboutUs__content {
  position: absolute;
  top: 14.7rem;
  right: 31.4rem;
  width: 47.5rem;
  z-index: 2;
}
@media (max-width: 1780px) {
  .topAboutUs__content {
    right: 20.4rem;
  }
}
@media (max-width: 1580px) {
  .topAboutUs__content {
    right: 10.4rem;
  }
}
@media (max-width: 1380px) {
  .topAboutUs__content {
    right: 7.4rem;
  }
}
  .ttlAnima {
    width: 46.8rem;
    height: 12.2rem;
  }

.topAboutUs__content p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  margin-top: 5rem;
}

.commonBtn-wrap-topAboutUs {
  margin-top: 4.9rem;
  display: flex;
  justify-content: flex-end;
}

/* ----- topServices ----- */
.topServices {
  margin-top: 12rem;
  position: relative;
}

.topServices__bg {
  position: absolute;
  top: 0;
  right: 0;
  height: 118.8rem;
}
.topServices__bg .bgRLextend::before {
  height: 118.8rem;
}
@-moz-document url-prefix() {
  .topServices__bg .bgRLextend::before {
    top: -118.1rem;
  }
}

.topServices .ttl {
  margin-left: 13.64%;
}
.topServices .ttl + .ttlAnima {
  width: 54rem;
  height: 12rem;
  margin-left: 13.64%;
}

.topServices__content {
  width: 146rem;
  margin-top: 2.84rem;
  padding: 6rem 0 10rem 10.4%;
  background-color: #c72355;
}

.topServices__content-info {
  width: 78.4rem;
  position: relative;
  z-index: 1;
}
.topServices__content-info.mt {
  margin-top: 5.9rem;
}
.topServices__content-info h2 {
  font-size: 3rem;
  color: #fff;
  font-weight: 700;
}
.topServices__content-info p {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 400;
  color: #fff;
  margin-top: 4rem;
}

.commonBtn-wrap-topServices {
  display: flex;
  justify-content: flex-end;
  width: 78.4rem;
  margin-top: 2rem;
  position: relative;
  z-index: 1;
}

/* ----- topMember ----- */
.topMember {
  margin-top: 12rem;
}
.topMember .ttl {
  text-align: center;
}
.topMember .ttl + .ttlAnima {
  width: 69.4rem;
  height: 13.2rem;
  display: block;
  margin: 0 auto;
  padding-left: 15rem;
}

.topMember__content {
  margin-top: 8.15rem;
  padding: 5rem 0;
  position: relative;
}
.topMember__content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 23.95%;
  width: 100%;
  height: 100%;
  background-color: #fffbfc;
}
.topMember__content .topMember__bg {
  width: 86.5rem;
  height: 47.9rem;
  margin-left: 20.83%;
}
.topMember__content .topMember__bg .bgLRextend::before {
  height: 47.9rem;
}
@-moz-document url-prefix() {
  .topMember__content .topMember__bg .bgLRextend::before {
    top: -47.1rem;
  }
}
.topMember__content .topMember__bg .bgRLextend::before {
  height: 47.9rem;
}
@-moz-document url-prefix() {
  .topMember__content .topMember__bg .bgRLextend::before {
    top: -47.1rem;
  }
}


.topMember__content-info {
  position: absolute;
  top: 14.7rem;
  left: 45.52%;
  z-index: 1;
}
.topMember__content-info .ttlAnima {
  width: 53.9rem;
  height: 9.33rem;
}
.topMember__content-info p {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 4.1rem;
}

.topMember__content:nth-of-type(2) {
  margin-top: 8rem;
}
.topMember__content:nth-of-type(2)::before {
  content: "";
  position: absolute;
  top: 0;
  left: auto;
  right: 23.95%;
  width: 100%;
  height: 100%;
  background-color: #fffbfc;
}
.topMember__content:nth-of-type(2) .topMember__bg {
  margin: 0 20.83% 0 auto;
}
.topMember__content:nth-of-type(2) .topMember__content-info {
  position: absolute;
  top: 21.1rem;
  left: auto;
  right: 46.77%;
  z-index: 1;
}
.topMember__content:nth-of-type(2) .topMember__content-info .ttlAnima {
  width: 45.1rem;
  height: 4.15rem;
}

.topMember__img {
  width: 62.5vw;
  height: 15.6vw;
  margin: 8rem auto 0;
}

.commonBtn-wrap-topMember {
  display: flex;
  justify-content: center;
  margin-top: 5rem;
}

/* ----- topRecruit ----- */
.topRecruit {
  margin-top: 12rem;
  padding: 10rem 0;
  background-image: url(../img/top/topRecruit-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}

.topRecruit__content {
  width: 62rem;
  margin: 0 auto;
  text-align: center;
  padding: 2.35rem 0 3.4rem;
  background: -moz-linear-gradient(left, rgba(199, 36, 85, 0.8), rgba(222, 141, 166, 0.8));
  background: -webkit-linear-gradient(left, rgba(199, 36, 85, 0.8), rgba(222, 141, 166, 0.8));
  background: linear-gradient(to right, rgba(199, 36, 85, 0.8), rgba(222, 141, 166, 0.8));
}
.topRecruit__content .ttlAnima {
  width: 50.1rem;
  height: 7.6rem;
  margin-top: 1rem;
}
.topRecruit__content p {
  font-size: 1.6rem;
  color: #fff;
  margin-top: 5.05rem;
  line-height: 2;
}

.commonBtn-wrap-topRecruit {
  display: flex;
  justify-content: center;
  margin-top: 5.3rem;
}

/* ------------------------------------------
/* sp
/* ------------------------------------------ */
@media (max-width: 767px) {
  /* ----- fv ----- */
  .fv {
    height: 160vw;
    margin-top: 14.666vw;
    position: relative;
  }
  .fv .fv__video {
    position: absolute;
    top: 0;
    left: -100vw;
    width: 200vw;
    height: 100%;
    object-fit: cover;
  }
  .fv .anime {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    width: 72.8vw;
    height: 12.8vw;
  }

  .scrolldown {
    position: absolute;
    left: 50%;
    bottom: 2.6vw;
    height: 13.3vw;
  }

  .scrolldown span {
    position: absolute;
    top: -4vw;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 2.933333vw;
    font-family: lato, sans-serif;
    font-weight: 500;
  }

  .scrolldown::after {
    content: "";
    position: absolute;
    top: 0;
    width: 1px;
    height: 0.8vw;
    background: #eee;
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
  }

  @keyframes pathmove {
    0% {
      height: 0;
      top: 0;
      opacity: 0;
    }
    30% {
      height: 8vw;
      opacity: 1;
    }
    100% {
      height: 0;
      top: 13.3vw;
      opacity: 0;
    }
  }
  /* ----- topAboutUs ----- */
  .topAboutUs {
    margin-top: 16vw;
    position: relative;
  }

  .topAboutUs__bg {
    height: 66.66666vw;
  }
  .topAboutUs__bg .bgLRextend::before {
    height: 66.66666vw;
  }

  .topAboutUs__content {
    position: static;
    width: 100%;
    margin-top: 5.33333vw;
    padding: 0 5.3vw;
    z-index: 2;
  }
  .topAboutUs__content .ttlAnima {
    width: 47.3vw;
    height: 12.9vw;
    display: block;
    margin-left: 32.8vw;
  }
  .topAboutUs__content p {
    font-size: 3.733333vw;
    font-weight: 400;
    line-height: 1.85;
    margin-top: 7.2vw;
  }

  .commonBtn-wrap-topAboutUs {
    margin-top: 8vw;
    display: flex;
    justify-content: flex-end;
  }

  /* ----- topServices ----- */
  .topServices {
    margin-top: 18.66666vw;
    position: relative;
  }

  .topServices__bg {
    position: static;
    height: 66.66666vw;
  }
  .topServices__bg .bgRLextend::before {
    height: 66.66666vw;
  }

  .topServices .ttl {
    margin-left: 5.33333vw;
    margin-top: 5.33333vw;
  }
  .topServices .ttl + .ttlAnima {
    width: 57.6vw;
    height: 13.6vw;
    margin-left: 34.9vw;
  }

  .topServices__content {
    width: 100%;
    margin-top: 4vw;
    padding: 5.33333vw 5.33333vw 13.33333vw;
    background-color: #c72355;
  }

  .topServices__content-info {
    width: 100%;
    position: relative;
    z-index: 1;
  }
  .topServices__content-info.mt {
    margin-top: 12vw;
  }
  .topServices__content-info h2 {
    font-size: 5.33333vw;
    color: #fff;
    font-weight: 700;
    line-height: 1.3;
  }
  .topServices__content-info p {
    font-size: 3.733333vw;
    line-height: 2;
    font-weight: 400;
    color: #fff;
    margin-top: 9.33333vw;
  }
  .topServices__content-info p:first-of-type {
    margin-top: 6.4vw;
  }

  .commonBtn-wrap-topServices {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-top: 8vw;
    position: relative;
    z-index: 1;
  }

  /* ----- topMember ----- */
  .topMember {
    margin-top: 18.66666vw;
  }
  .topMember .ttl {
    text-align: left;
    padding-left: 5.33333vw;
  }
  .topMember .ttl + .ttlAnima {
    width: 57.8vw;
    height: 13.9vw;
    display: block;
    margin: 0 0 0 34.9vw;
    padding-left: 0;
  }

  .topMember__content {
    margin-top: 10.666666vw;
    padding: 8vw 0;
    position: relative;
  }
  .topMember__content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20vw;
    width: 100%;
    height: 100%;
    background-color: #fffbfc;
  }
  .topMember__content .topMember__bg {
    width: 80vw;
    height: 53.33333vw;
    margin-left: 0;
  }
  .topMember__content .topMember__bg .bgLRextend::before {
    height: 53.33333vw;
  }
  .topMember__content .topMember__bg .bgRLextend::before {
    height: 53.33333vw;
  }

  .topMember__content-info {
    position: absolute;
    top: 50%;
    left: auto;
    right: 2.4vw;
    transform: translateY(-50%);
    width: 60.2vw;
    z-index: 1;
  }
  .topMember__content-info .ttlAnima {
    width: 48.8vw;
    height: 13.4vw;
  }
  .topMember__content-info p {
    font-size: 3.733333vw;
    line-height: 1.85;
    margin-top: 4.6vw;
  }

  .topMember__content:nth-of-type(2) {
    margin-top: 10.66666vw;
  }
  .topMember__content:nth-of-type(2)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    width: 80vw;
    height: 100%;
    background-color: #fffbfc;
  }
  .topMember__content:nth-of-type(2) .topMember__bg {
    margin: 0 0 0 20vw;
  }
  .topMember__content:nth-of-type(2) .topMember__content-info {
    position: absolute;
    top: 50%;
    left: 4.533333vw;
    right: auto;
    transform: translateY(-50%);
    width: 52.266666vw;
    z-index: 1;
  }
  .topMember__content:nth-of-type(2) .topMember__content-info .ttlAnima {
    width: 48vw;
    height: 4.4vw;
  }

  .topMember__img {
    width: 100%;
    height: 36.8vw;
    margin: 13.33333vw auto 0;
  }

  .commonBtn-wrap-topMember {
    display: flex;
    justify-content: center;
    margin-top: 8vw;
  }

  /* ----- topRecruit ----- */
  .topRecruit {
    margin-top: 18.66666vw;
    padding: 10.6vw 0;
    background-image: url(../img/top/topRecruit-bg-sp.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
  }

  .topRecruit__content {
    width: 78.66666vw;
    margin: 0 auto;
    text-align: center;
    padding: 5.3vw 0 8vw;
    background: -moz-linear-gradient(left, rgba(199, 36, 85, 0.8), rgba(222, 141, 166, 0.8));
    background: -webkit-linear-gradient(left, rgba(199, 36, 85, 0.8), rgba(222, 141, 166, 0.8));
    background: linear-gradient(to right, rgba(199, 36, 85, 0.8), rgba(222, 141, 166, 0.8));
  }
  .topRecruit__content .ttlAnima {
    width: 64vw;
    height: 9.6vw;
    margin-top: 1vw;
  }
  .topRecruit__content p {
    font-size: 4vw;
    color: #fff;
    margin-top: 6.6vw;
    line-height: 1.73;
  }

  .commonBtn-wrap-topRecruit {
    display: flex;
    justify-content: center;
    margin-top: 5.3vw;
  }
}