@charset "UTF-8";
.bg01 {
  position: relative;
}
.bg01::before {
  background: url("../img/common/green-bg01.webp") no-repeat center top/100% 100%;
  content: "";
  position: absolute;
  width: 100%;
  height: calc(100% + 70px);
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .bg01::before {
    background: url("../img/common/green-bg01-sp.webp") no-repeat center top/100% 100%;
    height: 84%;
  }
}

.bg02 {
  position: relative;
}
.bg02::before {
  background: url("../img/common/green-bg02.webp") no-repeat center top/100% 100%;
  content: "";
  position: absolute;
  top: -200px;
  width: 100%;
  height: calc(100% + 25px);
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .bg02::before {
    background: url("../img/common/green-bg02-sp.webp") no-repeat center top/100% 100%;
    height: 77%;
  }
}
@media screen and (max-width: 960px) and (max-width: 960px) {
  .bg02::before {
    top: -35px;
  }
}

.fv {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .fv {
    padding-top: 150px;
  }
}

.fv__swiper {
  width: 100%;
  margin: 0 auto;
  min-height: 100vh;
}
@media screen and (max-width: 960px) {
  .fv__swiper {
    min-height: 95vh;
  }
}
@media screen and (max-width: 767px) {
  .fv__swiper {
    min-height: initial;
  }
}
.fv__swiper .swiper-wrapper {
  padding-bottom: 500px;
}
@media screen and (max-width: 1366px) {
  .fv__swiper .swiper-wrapper {
    padding-bottom: 36.6032210835vw;
  }
}
@media screen and (max-width: 767px) {
  .fv__swiper .swiper-wrapper {
    padding-bottom: 395px;
    min-height: initial;
  }
}

.fv .swiper-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .fv__swiper {
    margin: auto;
  }
}

/* スライドの幅を固定 */
.fv__swiper .swiper-slide {
  max-width: 438px;
}
@media screen and (max-width: 1366px) {
  .fv__swiper .swiper-slide {
    max-width: 32.0644216691vw;
  }
}
@media screen and (max-width: 767px) {
  .fv__swiper .swiper-slide {
    max-width: 124px;
  }
}

.fv__img-wrap {
  position: relative;
  width: 438px;
  margin: 0 auto;
  overflow: hidden;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}
@media screen and (max-width: 1366px) {
  .fv__img-wrap {
    width: 32.0644216691vw;
  }
}
@media screen and (max-width: 767px) {
  .fv__img-wrap {
    width: 124px;
  }
}

.fv__img-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 中央のスライド */
.swiper-slide-active .fv__img-wrap {
  -webkit-transform: scale(1.88) translateY(150px);
          transform: scale(1.88) translateY(150px);
  z-index: 2;
}
@media screen and (max-width: 1366px) {
  .swiper-slide-active .fv__img-wrap {
    -webkit-transform: scale(1.88) translateY(10.980966325vw);
            transform: scale(1.88) translateY(10.980966325vw);
  }
}
@media screen and (max-width: 767px) {
  .swiper-slide-active .fv__img-wrap {
    -webkit-transform: scale(2.5) translateY(60px);
            transform: scale(2.5) translateY(60px);
  }
}

/* それ以外のスライド */
.swiper-slide:not(.swiper-slide-active):not(.swiper-slide-prev):not(.swiper-slide-next) .fv__img-wrap {
  opacity: 0;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}

.fv__inner {
  position: absolute;
  right: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
  text-align: right;
  width: 100%;
  height: 100vh;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 1366px) {
  .fv__inner {
    max-width: calc(75.1098096633vw + 4%);
  }
}
@media screen and (max-width: 960px) {
  .fv__inner {
    height: 77.0833333333vw;
    max-height: 100vh;
  }
}
@media screen and (max-width: 767px) {
  .fv__inner {
    bottom: 0px;
    max-width: 360px;
    right: auto;
    height: initial;
  }
}

.fv__copy img {
  height: auto;
}
@media screen and (max-width: 960px) {
  .fv__copy img {
    max-width: 31.25vw;
  }
}
@media screen and (max-width: 767px) {
  .fv__copy img {
    max-width: 211px;
  }
}

@media screen and (min-width: 961px) {
  .message {
    margin-top: 70px;
  }
}

.message__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 960px) {
  .message__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}

.message__img {
  margin-top: -35px;
  margin-left: -400px;
}
@media screen and (max-width: 960px) {
  .message__img {
    margin-top: 0px;
    margin-left: -130px;
  }
  .message__img img {
    max-width: 471px;
  }
}

.message__content {
  max-width: 506px;
}
@media screen and (max-width: 960px) {
  .message__content {
    margin-top: 24px;
    max-width: 100%;
  }
}

.message__emphasis {
  margin-top: 20px;
  font-weight: bold;
  font-size: 32px;
  line-height: 1.5625;
}
@media screen and (max-width: 960px) {
  .message__emphasis {
    font-size: 24px;
    line-height: 1.6666666667;
  }
}

.message__text {
  margin-top: 50px;
}
@media screen and (max-width: 960px) {
  .message__text {
    margin-top: 32px;
  }
}

.features .btn-wrapper {
  text-align: right;
}
@media screen and (max-width: 960px) {
  .features .btn-wrapper {
    margin-top: 75px;
  }
}
.features .inner {
  position: relative;
}
.features .inner .features-Illust01 {
  position: absolute;
  top: 145px;
  right: 80px;
}
@media screen and (max-width: 960px) {
  .features .inner .features-Illust01 {
    max-width: 128px;
    top: auto;
    bottom: 35px;
    right: auto;
    left: 20px;
  }
}

.features__list {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media screen and (max-width: 960px) {
  .features__list {
    margin-top: 40px;
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}

.features__img img {
  border-radius: 40px;
  width: 100%;
}
@media screen and (max-width: 960px) {
  .features__img img {
    border-radius: 30px;
  }
}

.features__title {
  margin: 20px auto 0;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.features__title::before, .features__title::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: #ffd54b;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 100%;
}
.features__title::before {
  left: -20px;
}
.features__title::after {
  right: -20px;
}

.features__text {
  margin-top: 20px;
}

.introduction__list {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 100px;
}
@media screen and (max-width: 960px) {
  .introduction__list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (max-width: 960px) {
  .introduction__list {
    margin-top: 40px;
    gap: 40px 0;
  }
}

.introduction__item {
  width: 25.92%;
}
@media screen and (max-width: 960px) {
  .introduction__item {
    width: 50%;
  }
}
.introduction__item img {
  width: 100%;
}
@media screen and (max-width: 960px) {
  .introduction__item:nth-child(2), .introduction__item:nth-child(4) {
    position: relative;
    bottom: -105px;
  }
}
@media screen and (min-width: 961px) {
  .introduction__item:nth-child(5), .introduction__item:nth-child(6) {
    margin-top: -20px;
  }
}

.instagram {
  margin-bottom: 70px;
  position: relative;
}
@media screen and (max-width: 960px) {
  .instagram {
    margin-bottom: 40px;
  }
}
.instagram .section__title {
  margin: auto;
}
@media screen and (max-width: 960px) {
  .instagram .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.instagram .btn-wrapper {
  position: absolute;
  top: 100px;
  right: 2%;
}
@media screen and (max-width: 960px) {
  .instagram .btn-wrapper {
    position: static;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.instagram-feed {
  margin: 60px auto 0;
  max-width: 866px;
}
@media screen and (max-width: 960px) {
  .instagram-feed {
    margin: initial;
    margin-top: 60px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    max-width: 100%;
  }
}
.instagram-feed #sb_instagram #sbi_images {
  padding: 0;
}
.instagram-feed #sb_instagram {
  padding: 0 !important;
}
.instagram-feed #sb_instagram img {
  border-radius: 10px;
}
@media screen and (max-width: 960px) {
  .instagram-feed #sb_instagram.sbi_tab_col_2 #sbi_images {
    grid-template-columns: repeat(2, 1fr);
  }
}

.loop-img .swiper-wrapper {
  margin-top: 140px;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 960px) {
  .loop-img .swiper-wrapper {
    margin-top: 80px;
  }
}

.loop-img .swiper-slide-even {
  padding-top: 5.8565153734vw;
}
@media screen and (max-width: 960px) {
  .loop-img .swiper-slide-even {
    padding-top: 80px;
  }
}

.loop-img .swiper-slide {
  position: relative;
}
@media screen and (max-width: 960px) {
  .loop-img .swiper-slide {
    margin: 0 10px;
  }
}
.loop-img .swiper-slide img {
  width: 100%;
}

.loop-Illust01,
.loop-Illust02,
.loop-Illust03 {
  position: absolute;
}

.loop-img .loop-Illust01 {
  top: 35px;
  left: 0;
  z-index: -1;
}
.loop-img .loop-Illust01 img {
  width: 7.3206442167vw;
}
@media screen and (max-width: 960px) {
  .loop-img .loop-Illust01 img {
    width: 80px;
  }
}

.loop-img .loop-Illust02 {
  top: 35px;
  right: 0;
  z-index: -1;
}
.loop-img .loop-Illust02 img {
  width: 7.3206442167vw;
}
@media screen and (max-width: 960px) {
  .loop-img .loop-Illust02 img {
    width: 80px;
  }
}

.loop-img .loop-Illust03 {
  top: 35px;
  left: 0;
  z-index: -1;
}
.loop-img .loop-Illust03 img {
  width: 7.3206442167vw;
}
@media screen and (max-width: 960px) {
  .loop-img .loop-Illust03 img {
    width: 80px;
  }
}