.main {
  padding-top: 50px;
}

.fv {
  padding-left: 60px;
  padding-top: 10px;
  position: relative;
  z-index: 2;
}

.fv-slide__swiper {
  border-radius: 30px 0 0 30px;
  height: 100svh;
  max-height: 706px;
}
.fv-slide__swiper.swiper {
  overflow: hidden;
}
.fv-slide__swiper .swiper-slide {
  aspect-ratio: 1366/768;
}
.fv-slide__swiper .swiper-slide img {
  transform: scale(1);
  transition: transform 6.5s linear;
}
.fv-slide__swiper .swiper-slide-active img,
.fv-slide__swiper .swiper-slide-prev img {
  transform: scale(1.15);
}
@keyframes zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.15);
  }
}

.fv-label {
  color: #A9D05F;
  font-size: 16px;
  font-weight: 700;
  left: 15px;
  letter-spacing: 0.2em;
  position: absolute;
  top: 20.6798866856%;
  writing-mode: sideways-lr;
}

.fv-contents {
  background: #05a44f;
  border-radius: 0 5px 5px 0;
  bottom: 53px;
  color: #FFFFFF;
  left: 0;
  max-width: 609px;
  padding: 15px 20px;
  position: absolute;
  width: 90%;
  z-index: 2;
}
.fv-contents h1 {
  font-size: clamp(1.5rem, 1.1688950555rem + 1.4127144299vw, 2.375rem);
  font-weight: 700;
  line-height: calc(62 / 38);
}
.fv-contents__label {
  color: #A9D05F;
  font-weight: 700;
}

.fv-contents__desc {
  font-size: clamp(0.875rem, 0.8276992936rem + 0.2018163471vw, 1rem);
  font-weight: 700;
  line-height: 2;
  margin-top: 10px;
}

.works {
  background: #edf3eb;
  margin-top: -110px;
  padding-bottom: 160px;
  padding-inline: 20px;
  padding-top: 180px;
  position: relative;
  z-index: 1;
}
.works .works__data {
  margin-top: 30px;
}

.news__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.news__left {
  flex-shrink: 0;
}
.news__left .c-btn-arrow {
  margin-left: auto;
  margin-top: 20px;
}

.news__right {
  width: 100%;
}

.service {
  background: #edf3eb;
  margin-top: -92px;
  padding-bottom: 60px;
  padding-right: 40px;
  padding-top: 60px;
  position: relative;
}
.service .c-inner {
  max-width: 1186px;
  padding-inline: 20px;
  position: relative;
  z-index: 2;
}

.service__bg {
  background-color: #05A44F;
  border-radius: 0 30px 30px 0;
  height: 100%;
  left: 0;
  margin-right: 60px;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: calc(100% - 40px);
  z-index: 1;
}
.service__bg .c-noise {
  height: 100%;
  width: 100%;
}

.service__head {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.service__head .c-title-wrap {
  color: #fff;
}
.service__head a.c-btn-arrow {
  color: #fff;
  margin-left: auto;
}

.service__list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  justify-content: center;
  margin-top: 30px;
}

.service__item {
  color: #fff;
  max-width: 550px;
}
.service__item a:hover {
  opacity: 1;
}
.service__item a:hover .service__img img {
  transform: scale(1.05);
}
.service__item .c-title-cycle {
  margin-top: 15px;
}
.service__item .c-desc {
  font-weight: 700;
  margin-top: 10px;
  max-width: 376px;
}

.service__img {
  aspect-ratio: 550/380;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
}
.service__img img {
  transition: transform 0.3s ease;
}

.service-bottom {
  background: #edf3eb;
  padding-top: 60px;
  position: relative;
  z-index: 2;
}

.news {
  margin-top: -100px;
  padding-bottom: 180px;
  padding-inline: 20px;
  padding-top: 160px;
  position: relative;
  z-index: 1;
}
.news.c-bg-cycle::before {
  left: auto;
  right: -100px;
}
.news.c-bg-cycle::after {
  left: -100px;
  right: auto;
}

.works__btn,
.blog__btn {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
.blog {
  background: #edf3eb;
  border-radius: 40px 30px 0 0;
  margin-top: -80px;
  padding-bottom: 60px;
  padding-top: 60px;
  position: relative;
  z-index: 2;
}
.blog .blog__data {
  margin-top: 40px;
}

.blog__title.c-inner {
  max-width: 1185px;
  padding-inline: 20px;
}

@media (min-width: 1024px) {
  .main {
    padding-top: 100px;
  }
  .fv {
    padding-left: 131px;
    padding-top: 0;
  }
  .fv-slide__swiper {
    height: 706px;
  }
  .fv-label {
    left: 50px;
  }
  .fv-contents {
    padding: 11px 35px 24px 49px;
  }
  .fv-contents__desc {
    margin-top: 24px;
  }
  .works {
    margin-top: -185px;
    padding-bottom: 180px;
    padding-top: 275px;
  }
  .works .works__data {
    margin-top: 50px;
  }
  .news__inner {
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-between;
  }
  .news__left {
    padding-top: 9px;
  }
  .news__left .c-btn-arrow {
    margin-left: 0;
    margin-top: 38px;
  }
  .news__right {
    max-width: 885px;
  }
  .service {
    padding-bottom: 85px;
    padding-inline: 0;
    padding-top: 90px;
  }
  .service__bg {
    width: calc(100% - 60px);
  }
  .service__head {
    align-items: baseline;
    flex-direction: row;
    gap: 30px;
    justify-content: space-between;
    padding-right: 240px;
  }
  .service__head a.c-btn-arrow {
    margin-left: 0;
  }
  .service__list {
    align-items: flex-start;
    display: grid;
    gap: 46px;
    grid-template-columns: 1fr 1fr;
    margin-top: 50px;
  }
  .service__item .c-title-cycle {
    margin-top: 20px;
  }
  .service__item .c-desc {
    margin-top: 30px;
  }
  .service-bottom {
    padding-top: 120px;
  }
  .news {
    margin-top: -146px;
    padding-bottom: 180px;
    padding-top: 256px;
  }
  .news.c-bg-cycle::before {
    right: calc(-97 / 1366 * 100vw);
  }
  .news.c-bg-cycle::after {
    left: calc(-56 / 1366 * 100vw);
  }
  .blog {
    padding-bottom: 118px;
    padding-top: 100px;
  }
  .blog .blog__data {
    margin-top: 60px;
  }
}

@media (min-width: 1366px) {
  .service__bg {
    width: 82.7232796486%;
  }
}