@-webkit-keyframes twinkle {
  0%, 100% {
    opacity: 1;
    -webkit-filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0));
            filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0));
  }
  50% {
    opacity: 0.35;
    -webkit-filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.9));
            filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.9));
  }
}

@keyframes twinkle {
  0%, 100% {
    opacity: 1;
    -webkit-filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0));
            filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0));
  }
  50% {
    opacity: 0.35;
    -webkit-filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.9));
            filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.9));
  }
}

@-webkit-keyframes rotate360 {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotate360 {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@-webkit-keyframes float {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}

@keyframes float {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}

.ani-twinkle {
  -webkit-animation: twinkle var(--animation-duration, 1.4s) ease-in-out infinite;
          animation: twinkle var(--animation-duration, 1.4s) ease-in-out infinite;
}

.ani-rotate {
  -webkit-animation: rotate360 var(--animation-duration, 6s) linear infinite;
          animation: rotate360 var(--animation-duration, 6s) linear infinite;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.project {
  position: relative;
  font-size: 18px;
  line-height: 1.8;
  overflow-x: hidden;
}

.project * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.project picture {
  display: block;
}

.project img {
  max-width: 100%;
  vertical-align: bottom;
}

.project img--full {
  width: 100%;
}

.project section {
  position: relative;
  padding: 25px;
}

@media (min-width: 996px) {
  .project section {
    padding: 50px 0;
  }
}

.project .common-container {
  position: relative;
  width: 1000px;
  margin: 0 auto;
}

.project .common-title {
  padding-bottom: 35px;
  text-align: center;
}

@media (min-width: 996px) {
  .project .common-title {
    padding-bottom: 50px;
  }
}

.project .common-title img {
  height: 100px;
  -o-object-fit: contain;
     object-fit: contain;
}

@media (min-width: 996px) {
  .project .common-title img {
    height: 70px;
  }
}

.project .common-title--line {
  font-size: 32px;
  border-bottom: 1px solid #000;
  padding-bottom: 25px;
  margin-bottom: 50px;
}

.project .common-img img {
  width: 100%;
}

.kv {
  position: relative;
}

.kv__img {
  position: relative;
  width: 100%;
  margin: 0 auto;
  max-width: 1480px;
}

.kv__img-mb {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.kv__img-mb.mb1 {
  -webkit-animation: float 2s ease-in-out infinite;
          animation: float 2s ease-in-out infinite;
}

.kv__img-mb.mb2 {
  -webkit-animation: float 2s ease-in-out infinite;
          animation: float 2s ease-in-out infinite;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.kv h1 {
  position: absolute;
  font-size: 0px;
}

@media (min-width: 996px) {
  .step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
  }
  .step__item {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    overflow: hidden;
  }
  .step__item img {
    width: 100%;
  }
  .step__item:hover {
    -webkit-filter: drop-shadow(0 0 20px #a4e876);
            filter: drop-shadow(0 0 20px #a4e876);
  }
}

@media (min-width: 996px) {
  .promotion {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
  }
}

.promotion__item {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  overflow: hidden;
}

.promotion__item img {
  width: 100%;
}

.promotion__item:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.section-4 ul {
  text-align: left;
  margin-left: 20px;
}

.section-4 ul li {
  list-style: disc;
  margin-bottom: 10px;
}

.section-1 .common-container {
  z-index: 2;
  overflow: hidden;
}

.section-3 .common-container {
  z-index: 4;
  overflow: hidden;
}

.line1 {
  position: absolute;
  z-index: 2;
  left: -10%;
  bottom: -10%;
  width: 40%;
}

.line2 {
  position: absolute;
  z-index: 0;
  right: 0%;
  top: 50%;
  width: 40%;
}

.circle {
  position: absolute;
  z-index: 2;
  left: 0%;
  top: 0;
  width: 30%;
}

.img1 {
  position: absolute;
  z-index: 2;
  width: 5%;
  top: 15%;
  left: 10%;
}

.img2 {
  position: absolute;
  z-index: 2;
  width: 5%;
  top: 20%;
  right: 20%;
}

.img3 {
  position: absolute;
  z-index: 2;
  width: 5%;
  bottom: 0%;
  right: 10%;
}

.img4 {
  position: absolute;
  z-index: 2;
  width: 5%;
  bottom: 0%;
  right: 10%;
}

.img5 {
  position: absolute;
  z-index: 2;
  width: 10%;
  top: 50%;
  left: -20%;
}

.img6 {
  position: absolute;
  z-index: 2;
  width: 5%;
  top: 15%;
  left: 10%;
}

.img7 {
  position: absolute;
  z-index: 2;
  width: 5%;
  top: 45%;
  right: 10%;
}
/*# sourceMappingURL=main.css.map */