.project {
  position: relative;
  background: #14011d;
  color: #fff;
}

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

.project h1 {
  position: absolute;
  left: -100%;
}

.project picture {
  display: block;
}

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

.project .common__container {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
  max-width: 1200px;
  text-align: center;
  padding: 10vw 25px;
}

@media (min-width: 1930px) {
  .project .common__container {
    max-width: 1600px;
  }
}

.project .common-title {
  width: 70%;
  margin: 0 auto;
  max-width: auto;
}

@media (min-width: 996px) {
  .project .common-title {
    max-width: 450px;
  }
}

.project .kv {
  position: relative;
  padding: 25px;
  text-align: center;
}

.project .kv img {
  width: 100%;
}

@media (min-width: 996px) {
  .project .kv {
    padding: 0;
    text-align: left;
  }
}

.project .kv-bg {
  position: absolute;
  width: 100%;
  z-index: 0;
  top: 0;
  left: 0;
}

@media (min-width: 996px) {
  .project .kv-bg {
    position: relative;
  }
}

.project .kv-elmt {
  position: relative;
  z-index: 2;
}

@media (min-width: 996px) {
  .project .kv-elmt {
    position: absolute;
  }
}

.project .kv-pd {
  width: 80%;
  margin: 0 auto;
  max-width: auto;
}

@media (min-width: 996px) {
  .project .kv-pd {
    width: 45%;
    margin: 0;
    right: 10%;
    top: 10%;
    z-index: 3;
  }
}

@media (min-width: 1930px) {
  .project .kv-pd {
    width: 32%;
    right: 20%;
    top: 12%;
  }
}

.project .kv-text {
  margin-top: -5vw;
}

@media (min-width: 996px) {
  .project .kv-text {
    width: 40%;
    top: 45%;
    left: 10%;
  }
}

.project .kv-title::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/kv-title-light.png") top center no-repeat ;
  background-size: cover;
  -webkit-animation: 2s kvtitle infinite linear;
          animation: 2s kvtitle infinite linear;
}

@media (min-width: 996px) {
  .project .kv-title {
    width: 60%;
    top: 12%;
    left: 10%;
  }
}

@media (min-width: 1930px) {
  .project .kv-title {
    width: 50%;
    top: 8%;
  }
}

@-webkit-keyframes kvtitle {
  0%, 100% {
    opacity: 0;
    -webkit-filter: blur(1);
            filter: blur(1);
  }
  50% {
    opacity: .8;
    -webkit-filter: blur(1.2);
            filter: blur(1.2);
  }
}

@keyframes kvtitle {
  0%, 100% {
    opacity: 0;
    -webkit-filter: blur(1);
            filter: blur(1);
  }
  50% {
    opacity: .8;
    -webkit-filter: blur(1.2);
            filter: blur(1.2);
  }
}

.project .info {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 25px;
  margin-top: -10vw;
}

@media (min-width: 996px) {
  .project .info {
    margin-top: -15vw;
  }
}

@media (min-width: 1930px) {
  .project .info {
    margin-top: -10vw;
  }
}

.project .info::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/bg.jpg") top center no-repeat ;
  background-size: cover;
}

@media (min-width: 996px) {
  .project .info::before {
    top: 20%;
    height: 90%;
  }
}

.project .info__item {
  position: relative;
  z-index: 2;
  padding-bottom: 30px;
}

@media (min-width: 996px) {
  .project .info__item {
    padding-bottom: 40px;
  }
}

.project .redeem {
  position: relative;
  z-index: 2;
  margin-top: -10px;
}

@media (min-width: 996px) {
  .project .redeem {
    padding-bottom: 20px;
  }
}

.project .redeem::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 30px 0 0;
  background: #fff;
}

.project .redeem__btn {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
  max-width: 250px;
}

.project .redeem__btn-img {
  position: absolute;
  z-index: 2;
  width: 32%;
  right: -15%;
  top: -30%;
  -webkit-animation: 1s hand infinite ease-in-out;
          animation: 1s hand infinite ease-in-out;
}

.project .redeem__btn a {
  position: relative;
  z-index: 0;
}

.project .redeem__btn a:hover {
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}

.project .redeem__box {
  position: relative;
  z-index: 2;
  color: #222;
  text-align: center;
}

.project .redeem h6 {
  position: relative;
  display: inline-block;
  font-size: 24px;
  text-transform: uppercase;
}

@media (min-width: 996px) {
  .project .redeem h6 {
    margin-bottom: 25px;
    font-size: 30px;
  }
}

.project .redeem h6 span {
  position: relative;
  z-index: 2;
}

.project .redeem h6::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 110%;
  height: 6px;
  left: -5%;
  top: 50%;
  -webkit-transform: translateY(-30%);
          transform: translateY(-30%);
}

.project .redeem p {
  line-height: 1.6;
}

.project .redeem p a {
  display: block;
  color: #3f71ff;
}

.project .redeem p a:hover {
  text-decoration: underline;
}

.project .redeem p b {
  font-weight: normal;
  display: block;
}

@media (min-width: 996px) {
  .project .redeem p span {
    display: block;
  }
}

.project .redeem__box {
  width: 100%;
  margin: 0 auto;
  max-width: 1480px;
  padding: 25px;
}

@media (min-width: 996px) {
  .project .redeem__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.project .redeem__step {
  padding: 25px;
  border-bottom: #333 1px solid;
}

@media (min-width: 996px) {
  .project .redeem__step {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-bottom: none;
    border-right: #333 1px solid;
  }
}

.project .redeem__step:last-child {
  border: none;
}

.project .redeem__step:nth-child(odd) h6::before {
  background: #b4dee9;
}

.project .redeem__step:nth-child(even) h6::before {
  background: #d1b2e8;
}

@-webkit-keyframes hand {
  0%, 100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }
  50% {
    -webkit-transform: translate(1px, 3px);
            transform: translate(1px, 3px);
  }
}

@keyframes hand {
  0%, 100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }
  50% {
    -webkit-transform: translate(1px, 3px);
            transform: translate(1px, 3px);
  }
}

.project .terms {
  background: #000;
  padding: 50px 25px;
}

@media (min-width: 996px) {
  .project .terms {
    padding: 100px 25px;
  }
}

.project .terms ul {
  width: 100%;
  margin: 0 auto;
  max-width: 1200px;
  padding-top: 20px;
}

@media (min-width: 996px) {
  .project .terms ul {
    padding-top: 50px;
  }
}

.project .terms li {
  list-style: lower;
  padding-bottom: 10px;
  line-height: 1.8;
}
/*# sourceMappingURL=main.css.map */