.main-cont {
  position: relative;
}

.main-cont:before {
  background: url(../../images/index/bg-main-PC.png) bottom no-repeat;
  background-size: cover;
  content: "";
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100vh;
}

.main-cont.encode {
  background: url(../../images/index/bg-encode-PC.png) no-repeat;
  background-size: cover;
}

.main-nav {
  position: fixed;
  top: 0;
  transition: .8s;
}

.main-rules {
  margin-top: 200px;
  position: relative;
}

@media (max-width: 768px) {
  .main-rules {
    margin-top: 80px;
  }
}

@media (max-width: 768px) {
  .main-rules .main-inner {
    margin: 130px auto 0;
  }
}

@media (max-width: 768px) {
  .main-rules .main-inner {
    margin: 80px auto 0;
  }
}

.main-rules.encode {
  margin-top: 150px;
  padding: 1px 0 150px;
  color: #171717;
  background: url(../../images/encode/bg-encode-PC.png), linear-gradient(#F2F2F2, #F2F2F2, #F2F2F2, #F2F2F2, #fff);
  background-size: cover;
  background-position: 50%;
}

@media (max-width: 768px) {
  .main-rules.encode {
    margin-top: 100px;
    padding: 1px 0 100px;
  }
}

@media (max-width: 768px) {
  .main-rules.encode .main-inner {
    margin: 150px auto 0;
  }
}

@media (max-width: 768px) {
  .main-rules.encode .main-inner {
    margin: 80px auto 0;
  }
}

.main-rules.encode .rules-list-item-number {
  color: #D3D3D3;
}

.main-rules.encode .rules-extra-box {
  border: 3px solid #fff;
}

.main-ttl-large.rules {
  line-height: 0.8;
}

.rules-list {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  padding: 0;
}

@media (max-width: 768px) {
  .rules-list {
    margin-top: 50px;
  }
}

.rules-list-item {
  display: flex;
  align-items: fix-start;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 50px;
}

@media (max-width: 768px) {
  .rules-list-item {
    margin-top: 30px;
  }
}

.rules-list-item-subttl {
  margin: 0 0 10px;
}

.rules-list-item-detail {
  flex: 1 1 0;
}

.rules-list-item-number {
  font-size: 80px;
  font-size: 5rem;
  color: #4F4F4F;
  font-family: 'Roboto', sans-serif;
  margin-right: 40px;
  line-height: 1;
}

@media (max-width: 768px) {
  .rules-list-item-number {
    font-size: 60px;
    font-size: 3.75rem;
    margin-right: 20px;
    align-self: flex-start;
  }
}

.rules-list-item-txt {
  font-size: 16px;
  font-size: 1rem;
}

.rules-list-item-caption {
  margin-top: 15px;
  font-size: 14px;
  font-size: 0.875rem;
  color: #828282;
  list-style: none;
  text-indent: -1rem;
  padding-left: 1rem;
}

.rules-extra-box {
  width: 100%;
  max-width: 700px;
  padding: 20px;
  margin: 80px auto 0;
  border: 3px solid #000;
}

@media (max-width: 768px) {
  .rules-extra-box {
    margin: 50px auto 0;
  }
}

.rules-extra-box-ttl {
  font-size: 20px;
  font-size: 1.25rem;
  text-align: center;
}

@media (max-width: 768px) {
  .rules-extra-box-ttl {
    font-size: 16px;
    font-size: 1rem;
  }
}

.rules-extra-box-txt {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 5px;
}

.rules-faq-list {
  list-style: none;
}

.rules-faq-list-item {
  margin-top: 40px;
  border: 1px solid #fff;
  color: #fff;
  transition: 0.3s ease background-color;
}

.rules-faq-list-item.is-active {
  background-color: #fff;
  color: #171717;
}

.rules-faq-list-item.is-active .rules-faq-list-item-question-arrow {
  transform: rotate(0deg);
}

.rules-faq-list-item-question {
  cursor: pointer;
  padding: 30px;
}

@media (max-width: 768px) {
  .rules-faq-list-item-question {
    padding: 20px;
  }
}

.rules-faq-list-item-answer {
  padding: 0 30px 30px 30px;
}

@media (max-width: 768px) {
  .rules-faq-list-item-answer {
    padding: 0 20px 20px 20px;
  }
}

.rules-faq-list-item-answer-inner {
  display: flex;
}

.rules-faq-list-item-question, .rules-faq-list-item-answer {
  display: flex;
  justify-content: space-between;
}

.rules-faq-list-item-question-number, .rules-faq-list-item-answer-number {
  font-size: 20px;
  font-size: 1.25rem;
}

@media (max-width: 768px) {
  .rules-faq-list-item-question-number, .rules-faq-list-item-answer-number {
    font-size: 16px;
    font-size: 1rem;
  }
}

.rules-faq-list-item-question-txt, .rules-faq-list-item-answer-txt {
  align-self: center;
  flex: 1 0 0;
  margin: 0 20px 0 30px;
  font-size: 16px;
  font-size: 1rem;
}

@media (max-width: 768px) {
  .rules-faq-list-item-question-txt, .rules-faq-list-item-answer-txt {
    margin: 0 15px;
  }
}

@media (max-width: 768px) {
  .rules-faq-list-item-question-txt, .rules-faq-list-item-answer-txt {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.rules-faq-list-item-question-txt a, .rules-faq-list-item-answer-txt a {
  color: #0082BC;
  text-decoration: none;
  transition: .5s;
}

.rules-faq-list-item-question-txt a:hover, .rules-faq-list-item-answer-txt a:hover {
  opacity: .7;
  transition: .5s;
}

.rules-faq-list-item-question-arrow, .rules-faq-list-item-answer-arrow {
  width: 24px;
  height: 12px;
  margin-top: 11px;
  transform: rotate(180deg);
}

@media (max-width: 768px) {
  .rules-faq-list-item-question-arrow, .rules-faq-list-item-answer-arrow {
    width: 17px;
    height: 9px;
    margin-top: 0;
    align-self: center;
  }
}

.rules-faq-list-item-answer {
  color: #FC3867;
  display: none;
}

.main-faq {
  padding-bottom: 200px;
  background: linear-gradient(rgba(23, 23, 23, 0), black);
}

@media (max-width: 768px) {
  .main-faq .main-inner {
    margin: 130px auto 0;
  }
}

@media (max-width: 768px) {
  .main-faq .main-inner {
    margin: 80px auto 0;
  }
}

.rules-faq-subttl {
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
  margin-top: 100px;
}

.rules-faq-subttl span {
  font-size: 18px;
  font-size: 1.125rem;
}

footer {
  margin-top: 0;
  background: #000;
}

.nav-lang {
  background: #171717;
  display: flex;
  align-items: center;
  height: 70px;
  position: absolute;
  top: -60px;
  right: 240px;
  padding: 0 20px;
  z-index: 999;
  transform: translateX(100%);
}

@media (max-width: 768px) {
  .nav-lang {
    display: none;
  }
}

.nav-lang-list {
  display: flex;
  list-style: none;
}

.nav-lang-item {
  font-size: 20px;
  font-size: 1.25rem;
  margin-left: 20px;
}

.nav-lang-item a {
  color: #fff;
  text-decoration: none;
  padding-bottom: 5px;
  transition: .5s;
}

.nav-lang-item:hover a {
  color: #FC3867;
  transition: .5s;
}

.nav-lang-item.is-active a {
  color: #FC3867;
  border-bottom: 3px solid #FC3867;
}

.nav-lang-item.encode a {
  color: #171717;
}

.nav-lang-item.encode:hover a {
  color: #5ECACD;
}

.nav-lang-item.encode.is-active a {
  color: #5ECACD;
  border-bottom: 3px solid #5ECACD;
}

/*# sourceMappingURL=rules.css.map */
