
.rules {
    margin-top: 2.2rem;
  }
  
  .rules-ttl {
    margin-bottom: 7rem;
    text-align: center;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-ttl {
      margin-bottom: 3rem;
    }
  }
  
  .rules-info {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -1rem 5rem -1rem;
    border-bottom: 1px solid #F0F2F8;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-info {
      margin-bottom: 3rem;
    }
  }
  
  .rules-info__block {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    max-width: calc((100% / 3) - 2rem);
    margin: 0 1rem 5rem 1rem;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-info__block {
      margin-bottom: 3rem;
      max-width: 100%;
      margin-right: 0;
    }
  }
  
  .rules-info__block .block-ttl {
    margin-bottom: 1rem;
  }
  
  .rules-activation {
    border-bottom: 1px solid #F0F2F8;
    padding-bottom: 5rem;
    margin-bottom: 5rem;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-activation {
      padding-bottom: 3rem;
      margin-bottom: 3rem;
    }
  }
  
  .rules-activation__ttl {
    text-align: center;
    margin-bottom: 3rem;
  }
  
  .rules-activation__txt * {
    font-size: 1.8rem;
    line-height: 2.3rem;
    color: #8E8F9D;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-activation__txt * {
      font-size: 1.6rem;
      line-height: 1.8rem;
    }
  }
  
  .rules-activation__txt *:not(:last-of-type) {
    margin-bottom: 2rem;
  }
  
  .rules-duration {
    margin-bottom: 5rem;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-duration {
      margin-bottom: 3rem;
    }
  }
  
  .rules-duration__ttl {
    text-align: center;
    margin-bottom: 3rem;
  }
  
  .rules-duration__txt * {
    font-size: 1.8rem;
    line-height: 2.3rem;
    color: #8E8F9D;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-duration__txt * {
      font-size: 1.6rem;
      line-height: 1.8rem;
    }
  }
  
  .rules-duration__txt *:not(:last-of-type) {
    margin-bottom: 2rem;
  }
  
  .rules-cards {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0 -1rem 7rem -1rem;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-cards {
      margin-bottom: 3rem;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-align: center;
      align-items: center;
    }
  }
  
  .rules-cards__bg {
    position: absolute;
    z-index: -1;
    top: -8rem;
    right: -10.5rem;
    transform: rotate(105deg);
    width: 23.25rem;
    height: 20rem;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-cards__bg {
      top: -5rem;
      right: -7rem;
    }
  }
  
  .rules-cards__card {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 5rem 11.9rem;
    max-width: calc((100% / 3) - 2rem);
    margin: 0 1rem;
    min-height: 41.9rem;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-cards__card {
      max-width: calc(100% - 2rem);
      margin: 0 2rem 2rem 2rem;
      padding: 2.5rem 7vw;
      min-height: unset;
    }
  }
  
  .rules-cards__card .card-ttl {
    text-align: center;
    font-weight: 500;
    margin-bottom: 2rem;
  }
  
  .rules-cards__card .card-txt {
    text-align: center;
  }
  
  .rules-more__ttl {
    text-align: center;
    margin-bottom: 3rem;
  }
  
  .rules-more__txt * {
    font-size: 1.8rem;
    line-height: 2.3rem;
    color: #8E8F9D;
  }
  
  @media only screen and (max-width: 666px) {
    .rules-more__txt * {
      font-size: 1.6rem;
      line-height: 1.8rem;
    }
  }
  
  .rules-more__txt *:not(:last-of-type) {
    margin-bottom: 2rem;
  }
  