.heading2--top {
  margin-bottom: 40px;
}

.heading2--top span {
  background: #d0000e;
  color: #fff;
  display: inline-block;
  font-family: "Outfit", "Open Sans", sans-serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  padding: 13px 24px 16px;
  text-align: center;
}

.heading3--top {
  color: #d0000e;
  display: inline-block;
  font-family: "Outfit", "Open Sans", sans-serif;
  font-size: 36px;
  font-weight: 500;
}

.heading3--top::after {
  background: #d0000e;
  content: "";
  display: block;
  height: 1px;
  margin-right: 16px;
  margin-top: 2px;
  width: 16px;
}

.mv {
  margin-top: 122px;
}

.mv__more {
  align-items: center;
  background: #fff;
  border-top-left-radius: 10px;
  bottom: 58px;
  display: flex;
  justify-content: space-between;
  min-width: 310px;
  padding: 24px 32px 16px;
  position: absolute;
  right: -1px;
}

.mv__more::after {
  background: url(/img/common/ico_arrow_circle_red_01_large.svg) no-repeat center/contain;
  content: "";
  display: block;
  height: 48px;
  margin-left: 24px;
  transition: all 0.4s;
  width: 48px;
}

.mv__more:hover::after {
  background: url(/img/common/ico_arrow_circle_red_02_large.svg) no-repeat center/contain;
}

.mv__more-text span {
  color: #d0000e;
  display: block;
  font-family: "Outfit", "Open Sans", sans-serif;
  font-size: 14px;
}

.mv .swiper-container {
  padding-bottom: 58px;
  width: 100%;
}

.mv .swiper-container:before {
  content: "";
  display: block;
  padding-top: 39.886039886%;
}

.mv .swiper-wrapper {
  left: 0;
  position: absolute;
  top: 0;
}

.mv .swiper-slide {
  display: block;
  opacity: 0.2;
  position: relative;
  transition: opacity 0.8s;
}

.mv .swiper-slide.swiper-slide-active {
  opacity: 1;
}

.mv .swiper-slide img {
  height: auto;
  width: 100%;
}

.mv .swiper-pagination {
  bottom: 16px;
  width: 100%;
}

.mv .swiper-pagination .swiper-pagination-bullet {
  background: #e0e0e0;
  height: 10px;
  margin: 0 6px !important;
  opacity: 1;
  width: 10px;
}

.mv .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #d0000e;
}

.mv .swiper-button-prev,
.mv .swiper-button-next {
  background-image: none;
  cursor: pointer;
  height: calc(100% - 58px);
  margin-top: 0;
  top: 0;
  width: calc(11.631% - 8px);
}

.mv .swiper-button-prev::after,
.mv .swiper-button-next::after {
  display: none;
}

.mv .swiper-button-prev {
  left: 0;
}

.mv .swiper-button-next {
  right: 0;
}

.mv .swiper-button-next.swiper-button-disabled,
.mv .swiper-button-prev.swiper-button-disabled {
  cursor: pointer;
  opacity: 0;
  pointer-events: auto;
}

.intro {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.intro::before {
  background: url(/img/top/top_illust_01.svg) no-repeat center/contain;
  content: "";
  display: block;
  height: 180px;
  width: 150px;
}

.intro::after {
  background: url(/img/top/top_illust_02.svg) no-repeat center/contain;
  content: "";
  display: block;
  height: 180px;
  width: 170px;
}

.intro__text {
  margin: 0 32px 0 40px;
  text-align: center;
}

.intro__copy {
  font-size: 18px;
  letter-spacing: 4.14px;
  line-height: 2.33;
  margin-bottom: 32px;
}

.intro__copy span {
  display: inline-block;
}

.intro__detail span {
  display: inline-block;
}

.intro__detail span::after {
  color: transparent;
  content: ".";
  display: inline-block;
  font-size: 0;
  pointer-events: none;
  width: 0;
}

.service {
  margin-top: 72px;
}

.service__heading {
  text-align: center;
}

.service__card-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 24px;
}

.service__card-group.fade-in.scroll-in .card {
  opacity: 1;
}

.service .card {
  display: block;
  margin-bottom: 24px;
  opacity: 0;
  overflow: hidden;
  position: relative;
  transition-duration: 600ms;
  transition-property: opacity;
  width: calc((100% - 72px) / 4);
}

.service .card__img {
  transition: all 0.4s;
  width: 100%;
}

.service .card__text {
  bottom: 16px;
  color: #fff;
  font-weight: 500;
  left: 16px;
  letter-spacing: 0.8px;
  line-height: 1.38;
  position: absolute;
}

.service .card__text::after {
  content: attr(data-title);
  display: block;
  font-family: "Outfit", "Open Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.48px;
  margin-top: 4px;
}

.service .card::after {
  background: url(/img/common/ico_arrow_circle_wh_01.svg) no-repeat center/contain;
  bottom: 16px;
  content: "";
  display: block;
  height: 30px;
  position: absolute;
  right: 16px;
  transition: all 0.4s;
  width: 30px;
}

.service .card:hover .card__img {
  transform: scale(1.1, 1.1);
}

.service .card:hover::after {
  background: url(/img/common/ico_arrow_circle_wh_02.svg) no-repeat center/contain;
}

.service__btn-group {
  display: flex;
}

.service__btn {
  border: 1px solid #a8a8a8;
  height: 80px;
  position: relative;
  transition: all 0.4s;
  width: calc(50% - 12px);
}

.service__btn:first-of-type {
  margin-right: 24px;
}

.service__btn.-top-icon-01::before {
  background: url(/img/common/btn_icon01.svg) no-repeat center/contain;
  content: "";
  display: block;
  height: 36px;
  left: 32px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.4s;
  width: 45px;
}

.service__btn.-top-icon-02::before {
  background: url(/img/common/btn_icon02.svg) no-repeat center/contain;
  content: "";
  display: block;
  height: 38px;
  left: 32px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.4s;
  width: 45px;
}

.service__btn::after {
  background: url(/img/common/ico_arrow_red.svg) no-repeat center/contain;
  content: "";
  display: block;
  height: 12px;
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.4s;
  width: 12px;
}

.service__btn span {
  display: block;
  letter-spacing: 1.6px;
  margin: 0 auto;
}

.service__btn span::after {
  content: attr(data-text);
  display: block;
  font-family: "Outfit", "Open Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.48px;
  line-height: 1.2;
  text-align: center;
}

.service__btn:hover {
  border: 1px solid #d0000e;
  color: #d0000e;
}

.service__btn:hover::after {
  transform: translate(5px, -50%);
}

.pickup {
  display: flex;
  justify-content: space-between;
  margin-top: 80px;
}

.pickup__heading {
  margin-bottom: 32px;
  margin-right: 48px;
}

.pickup h3 {
  margin-bottom: 16px;
}

.pickup__content {
  display: flex;
  justify-content: space-between;
  width: 725px;
}

.pickup__item {
  display: block;
  width: calc(100% - 40px);
}

.pickup__item.fade-in:nth-of-type(1) {
  transition-delay: 0.3s;
}

.pickup__item.fade-in:nth-of-type(2) {
  transition-delay: 0.5s;
}

.pickup__item--soon {
  pointer-events: none;
}

.pickup__img {
  margin-bottom: 16px;
  width: 100%;
}

.pickup__button {
  display: flex;
  margin-top: 60px;
}

.pickup__detail {
  display: flex;
  justify-content: space-between;
}

.pickup__detail span {
  font-size: 14px;
  transition: all 0.4s;
  width: calc(100% - 36px);
}

.pickup__detail::after {
  background: url(/img/common/ico_arrow_red.svg) no-repeat center/contain;
  content: "";
  display: block;
  height: 12px;
  margin-left: 24px;
  transform: translate(-5px, 7px);
  transition: all 0.4s;
  width: 12px;
}

.pickup__detail--soon::after {
  display: none;
}

.pickup .swiper-custom-wrapper {
  justify-content: space-between;
}

.pickup .swiper-button-prev,
.pickup .swiper-button-next {
  background-image: none;
}

.pickup .swiper-button-prev::after,
.pickup .swiper-button-next::after {
  display: none;
}

.pickup .swiper-container {
  padding-bottom: 48px;
}

.pickup .swiper-slide {
  opacity: 1;
  transition: opacity 0.6s;
}

.pickup .swiper-slide.swiper-slide-active {
  opacity: 1;
}

.pickup .swiper-slide:hover {
  opacity: 1;
}

.pickup .swiper-slide:hover .pickup__detail span {
  color: #d0000e;
}

.pickup .swiper-slide:hover .pickup__detail::after {
  transform: translate(0, 7px);
}

.pickup .swiper-pagination {
  bottom: 24px;
  height: 1px;
  top: unset;
  width: 100%;
}

.pickup .swiper-pagination-progressbar {
  background: #d9d9d9;
}

.pickup .swiper-pagination-progressbar-fill {
  background: #d0000e;
}

.pickup .swiper-button-prev,
.pickup .swiper-button-next {
  background: url(/img/common/ico_arrow_circle_red_01.svg) no-repeat center/contain;
  height: 48px !important;
  outline: none;
  position: absolute;
  text-align: center;
  width: 48px !important;
}

.pickup .swiper-button-prev.-sp,
.pickup .swiper-button-next.-sp {
  display: none;
}

.pickup .swiper-button-prev {
  left: 0;
  margin-right: 16px;
  position: relative;
  transform: rotate(180deg);
}

.pickup .swiper-button-next {
  position: relative;
  right: 0;
}

.about {
  background: linear-gradient(270deg, #fff 0%, #fff 15%, #f5f5f5 15%, #f5f5f5 100%);
  margin-top: 56px;
  padding: 64px 0;
}

.about__container {
  margin: 0 auto;
  max-width: 1400px;
  position: relative;
}

.about__container.fade-in.scroll-in .about__heading {
  opacity: 1;
  transform: translate(0, 0);
}

.about__container.fade-in.scroll-in .about__copy {
  opacity: 1;
  transform: translate(0, 0);
}

.about__container.fade-in.scroll-in .about__detail {
  opacity: 1;
  transform: translate(0, 0);
}

.about__container.fade-in.scroll-in .about__btn {
  opacity: 1;
  transform: translate(0, 0);
}

.about__heading {
  margin-bottom: 32px;
}

.about__copy {
  margin-bottom: 24px;
  width: 50%;
}

.about__detail {
  margin-bottom: 32px;
  width: 55%;
}

.about__img {
  max-width: 580px;
  position: absolute;
  right: 0;
  top: 0;
  width: 50%;
}

.about__img.fade-in-scale--pc.scroll-in {
  transform: translate(0, 0) scale(1, 1);
}

.reason {
  margin-top: 96px;
}

.reason__content {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}

.reason__item {
  width: calc((100% - 80px) / 3);
}

.reason__item.fade-in:nth-of-type(1) {
  transition-delay: 0.2s;
}

.reason__item.fade-in:nth-of-type(2) {
  transition-delay: 0.4s;
}

.reason__item.fade-in:nth-of-type(3) {
  transition-delay: 0.6s;
}

.reason__img {
  margin-bottom: 24px;
  position: relative;
}

.reason__img img {
  width: 100%;
}

.reason__img span {
  align-items: center;
  background: #fff;
  border-top-right-radius: 5px;
  bottom: 0;
  color: #d0000e;
  display: flex;
  font-family: "Outfit", "Open Sans", sans-serif;
  font-weight: 300;
  left: 0;
  padding: 8px 16px 0 0;
  position: absolute;
}

.reason__img span::before {
  background: #d0000e;
  content: "";
  height: 1px;
  margin-right: 16px;
  width: 16px;
}

.news {
  display: flex;
  margin-top: 96px;
  position: relative;
}

.news__heading {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-right: 72px;
}

.news__list {
  flex-grow: 1;
}

.news__item {
  align-items: center;
  border-bottom: 1px solid #dbdbdb;
  display: flex;
  justify-content: space-between;
  padding: 24px 0;
}

.news__item::after {
  background: url(/img/common/ico_arrow_circle_red_01.svg) no-repeat center/contain;
  content: "";
  display: block;
  height: 30px;
  margin-left: auto;
  transition: all 0.4s;
  width: 30px;
}

.news__item:hover::after {
  background: url(/img/common/ico_arrow_circle_red_02.svg) no-repeat center/contain;
}

.news__text {
  display: flex;
  width: 95%;
}

.news__date {
  font-size: 14px;
  margin-right: 24px;
}

.news__title {
  font-size: 14px;
}

.news .textbtn {
  left: 40px;
  position: absolute;
  top: 100px;
}

.movie.container {
  display: flex;
  justify-content: center;
  margin-top: 64px;
}

.movie-list {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  width: 100%;
}

.movie-list-item {
  width: calc(50% - 12px);
}

.movie-list-item-title {
  font-size: 18px;
  margin-top: 24px;
}

.movie-list-item-text {
  font-size: 14px;
  margin-top: 16px;
}

@media only screen and (min-width: 768px) {
  .service .card:nth-of-type(1) {
    transition-delay: 0.15s;
  }

  .service .card:nth-of-type(2) {
    transition-delay: 0.3s;
  }

  .service .card:nth-of-type(3) {
    transition-delay: 0.45s;
  }

  .service .card:nth-of-type(4) {
    transition-delay: 0.6s;
  }

  .service .card:nth-of-type(5) {
    transition-delay: 0.75s;
  }

  .service .card:nth-of-type(6) {
    transition-delay: 0.9s;
  }

  .service .card:nth-of-type(7) {
    transition-delay: 1.05s;
  }

  .service .card:nth-of-type(8) {
    transition-delay: 1.2s;
  }

  .about__heading {
    opacity: 0;
    transform: translate(0, 20px);
    transition-delay: 0.3s;
    transition-duration: 400ms;
    transition-property: opacity translate;
  }

  .about__copy {
    opacity: 0;
    transform: translate(0, 20px);
    transition-delay: 0.5s;
    transition-duration: 400ms;
    transition-property: opacity translate;
  }

  .about__detail {
    opacity: 0;
    transform: translate(0, 20px);
    transition-delay: 0.7s;
    transition-duration: 400ms;
    transition-property: opacity translate;
  }

  .about__btn {
    opacity: 0;
    transform: translate(0, 20px);
    transition-delay: 0.9s;
    transition-duration: 400ms;
    transition-property: opacity translate;
  }

  .about__img.fade-in-scale--pc {
    transform: translate(-5%, 0) scale(1.05, 1.05);
  }
}

@media only screen and (max-width: 1400px) {
  .about {
    background: linear-gradient(270deg, #fff 0%, #fff 5%, #f5f5f5 5%, #f5f5f5 100%);
  }
}

@media only screen and (max-width: 1300px) {
  .about__detail {
    width: 50%;
  }
}

@media only screen and (max-width: 1160px) {
  .about__copy {
    width: 43%;
  }

  .about__detail {
    width: 46%;
  }
}

@media only screen and (max-width: 1079px) {
  .mv {
    margin-top: 70px;
  }
}

@media only screen and (max-width: 767px) {
  .heading2--top {
    text-align: center;
  }

  .heading3--top {
    font-size: 32px;
  }

  .mv__more {
    min-width: 279px;
    padding: 16px 24px 8px;
  }

  .mv__more-text {
    font-size: 14px;
  }

  .mv .swiper-container:before {
    padding-top: 117.2291296625%;
  }

  .mv .swiper-button-prev,
  .mv .swiper-button-next {
    display: none;
  }

  .intro {
    flex-direction: column;
    margin-top: 8px;
  }

  .intro::before {
    display: none;
  }

  .intro::after {
    background: url(/img/top/top_illust_sp.svg) no-repeat center/contain;
    height: 120px;
    width: 295px;
  }

  .intro__text {
    margin: 0 15px;
  }

  .intro__copy {
    font-size: 20px;
    letter-spacing: 6.4px;
    line-height: 1.6;
  }

  .intro__copy.-top {
    margin-bottom: 24px;
  }

  .intro__detail {
    font-size: 12px;
    letter-spacing: 3.12px;
    line-height: 2.67;
    margin-bottom: 32px;
  }

  .intro__detail.lead--s {
    font-size: 14px;
    line-height: 2.4;
  }

  .service {
    margin-top: 48px;
  }

  .service .card {
    margin-bottom: 15px;
    width: calc((100% - 15px) / 2);
  }

  .service .card__text {
    left: 12px;
  }

  .service .card__text::after {
    font-size: 11px;
  }

  .service .card::after {
    height: 16px;
    right: 12px;
    width: 16px;
  }

  .service__btn-group {
    flex-direction: column;
  }

  .service__btn {
    height: 72px;
    width: 100%;
  }

  .service__btn:first-of-type {
    margin: 0 0 15px 0;
  }

  .pickup {
    flex-direction: column;
    margin-top: 64px;
  }

  .pickup__content {
    width: inherit;
  }

  .pickup__button {
    display: none;
  }

  .pickup .swiper-container {
    margin-right: calc(50% - 50vw);
  }

  .pickup .swiper-pagination {
    width: calc(100% - 164px);
  }

  .pickup .swiper-button-prev,
  .pickup .swiper-button-next {
    position: absolute;
  }

  .pickup .swiper-button-prev.-pc,
  .pickup .swiper-button-next.-pc {
    display: none;
  }

  .pickup .swiper-button-prev.-sp,
  .pickup .swiper-button-next.-sp {
    display: block;
  }

  .pickup .swiper-button-prev {
    bottom: 0;
    left: unset;
    margin-right: 0;
    right: 84px;
    top: unset;
    transform: rotate(180deg);
  }

  .pickup .swiper-button-next {
    bottom: 0;
    right: 20px;
    top: unset;
  }

  .about {
    background: #f5f5f5;
    padding: 40px 0;
  }

  .about__copy {
    font-size: 32px;
    margin: 0 auto 32px;
    text-align: center;
    width: 80%;
  }

  .about__detail {
    margin-bottom: 24px;
    width: 100%;
  }

  .about__img {
    margin-bottom: 32px;
    max-width: 100%;
    position: static;
    width: 100%;
  }

  .reason {
    margin-top: 56px;
  }

  .reason__content {
    flex-direction: column;
  }

  .reason__item {
    width: 100%;
  }

  .reason__item:not(:last-of-type) {
    margin-bottom: 56px;
    width: 100%;
  }

  .news {
    flex-direction: column;
    margin-top: 80px;
  }

  .news__heading {
    margin-right: 0;
  }

  .news .heading2--1 {
    margin-bottom: 16px;
  }

  .news__item {
    align-items: flex-end;
    padding: 16px 0;
    position: relative;
  }

  .news__item::after {
    bottom: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 20px;
  }

  .news__text {
    flex-direction: column;
    width: 90%;
  }

  .news .textbtn {
    margin-top: 32px;
    position: static;
  }

  .movie.container {
    margin-top: 64px;
  }

  .movie-list {
    flex-direction: column;
    gap: 40px;
  }

  .movie-list-item {
    width: 100%;
  }

  .movie-list-item iframe {
    width: 100%;
  }

  .movie-list-item-title {
    font-size: 18px;
    margin-top: 16px;
  }

  .movie-list-item-text {
    font-size: 14px;
    margin-top: 12px;
  }
}