@charset "UTF-8";

#main {
  max-width: 1000px;
  margin: 70px auto 0;
  padding-bottom: 80px;
  letter-spacing: -0.04em;
}

@media screen and (max-width:960px) {
  #main {
    margin: 50px auto 0;
    padding-inline: 5.3vw;
    padding-bottom: 0;
  }
}

.terms {
  margin-top: 80px;
}

@media screen and (max-width:960px) {
  .terms {
    margin-top: initial;
    margin-bottom: -30px;
  }
}

.title {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  position: relative;
  margin-bottom: 40px;
  text-align: center;
  color: #242533;
}

@media screen and (max-width:960px) {
  .title {
    font-size: 5.8vw;
    margin-bottom: 10vw;
  }
}

.title::before {
  position: absolute;
  border-bottom: 2px solid #000000;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  content: '';
}

.caution {
  font-size: 18px;
  font-weight: bold;
  color: #D90505;
  text-align: center;
  line-height: 1;
  margin-bottom: 60px;
}

@media screen and (max-width:960px) {
  .caution {
    font-size: 3.7vw;
    margin-bottom: 10vw;
    line-height: 1.4;
  }
}

.rules {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  position: relative;
  margin-bottom: 70px;
  text-align: left;
  color: #000;
}

@media screen and (max-width:960px) {
  .rules {
    font-size: 6.4vw;
    margin-bottom: 10vw;
  }
}

.rules::before {
  position: absolute;
  border-bottom: 1px solid #000000;
  bottom: -20px;
  width: 100%;
  content: '';
}

.clause {
  list-style: none;
}

.clause > li {
  margin-bottom: 50px;
}

.clause > li:last-child {
  margin-bottom: 80px;
}

.clause li h3 {
  font-size: 24px;
  font-weight: bold;
  text-align: left;
  color: #000000;
  line-height: 1;
  margin-bottom: 20px;
}

.clause a {
  display: initial;
  text-decoration: underline;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  background: initial;
  padding: initial;
}

@media screen and (max-width:960px) {
  .clause li h3 {
    font-size: 6.4vw;
    margin-bottom: 5.3vw;
  }
}

.clause li p {
  font-size: 16px;
  text-align: left;
  color: #000000;
  line-height: 2;
}

@media screen and (max-width:960px) {
  .clause li p {
    font-size: 4.2vw;
  }
}

.clause > li > ol > li {
  font-size: 16px;
  padding-left: 8px;
  margin-left: 14px;
}

.clause > li > ul > li {
  font-size: 16px;
}

@media screen and (max-width:960px) {
  .clause > li > ol > li {
    font-size: 4.2vw;
  }
}

.clause > li > ol > li:first-child {
  list-style: none;
  padding-left: initial;
  margin-left: initial;
}

.clause > li > ol > li > ol > li {
  padding-left: 4px;
  margin-left: 14px;
  counter-increment: cnt;
}

.clause > li > ol > li > ol > li::marker {
  content: "（" counter(cnt) "）";
}

.clause > li > ul > li > ol > li {
  padding-left: 4px;
  margin-left: 14px;
  counter-increment: cnt;
}

.clause > li > ul > li > ol > li::marker {
  content: "（" counter(cnt) "）";
}

.clause > li > ul > li > ol {
  margin-left: 24px;
}
