.legal {
  width: 100%;
  padding-bottom: min(9.38vw, 100px);
  background: #fff;
}
.legal__block + .legal__block {
  margin-top: 60px;
}
.legal__ttl {
  margin-bottom: 40px;
  font-size: 32px;
  color: #F48597;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.legal__group + .legal__group {
  margin-top: 40px;
}
.legal__group > * + * {
  margin-top: 20px;
}
.legal__subttl {
  padding-left: 16px;
  margin-bottom: 20px;
  border-left: 4px solid #F48597;
  font-size: 18px;
  color: #3F4850;
  font-weight: 700;
  line-height: 1.8;
}
.legal__subttl + * {
  margin-top: 0;
}
.legal__txt {
  font-size: 16px;
  color: #3F4850;
  line-height: 1.8;
}
.legal__txt strong {
  font: inherit;
  font-size: 18px;
  color: #F48597;
  font-weight: 700;
  line-height: 1.5;
}
.legal__sign--right {
  text-align: end;
}
.legal__list, .legal__num-list {
  display: grid;
  align-items: start;
  justify-content: normal;
  row-gap: 8px;
  padding-left: 20px;
}
.legal__list li, .legal__num-list li {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  font-size: 16px;
  color: #3F4850;
  line-height: 1.5;
}
.legal__list li span, .legal__num-list li span {
  font: inherit;
  color: #3F4850;
}
.legal__list li {
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.legal__list li::before {
  content: "";
  flex: 0 0 8px;
  display: inline-block;
  aspect-ratio: 1/1;
  margin-top: 9px;
  border-radius: 100%;
  background: #F48597;
}
.legal__num-list {
  counter-reset: counter;
}
.legal__num-list li {
  -moz-column-gap: 10px;
       column-gap: 10px;
  counter-increment: counter;
}
.legal__num-list li::before {
  content: counter(counter) ".";
  flex: 0 0 fit-content;
  display: inline-block;
  font: inherit;
  color: #F48597;
}
.legal__btn {
  width: 280px;
  margin-block: 8px;
  border-color: #31B8FF;
  background: #31B8FF;
  color: #fff;
}
.legal__box {
  padding: 24px 40px;
  background: #F7F7F7;
}
.legal__box > * + * {
  margin-top: 20px;
}
.legal__date {
  margin-top: 40px;
  font-size: 16px;
  color: #FF0000;
  text-align: end;
}
.legal__date time {
  display: inline-block;
  font: inherit;
  color: inherit;
}

@media screen and (max-width: 768px) {
  .legal {
    padding-bottom: min(12.8vw, 64px);
  }
  .legal__ttl {
    margin-bottom: 32px;
    font-size: 22px;
  }
  .legal__group + .legal__group {
    margin-top: 32px;
  }
  .legal__txt {
    font-size: 14px;
  }
  .legal__txt strong {
    font-size: 16px;
  }
  .legal__list, .legal__num-list {
    padding: 15px;
  }
  .legal__list li, .legal__num-list li {
    font-size: 14px;
  }
  .legal__list li::before {
    margin-top: 7px;
  }
  .legal__num-list li {
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
  .legal__btn {
    margin: 8px auto;
  }
  .legal__box {
    padding: 20px;
  }
  .legal__box > * + * {
    margin-top: 8px;
  }
  .legal__date {
    margin-top: 32px;
    font-size: 14px;
  }
}
@media (hover: hover) {
  .policy__btn:hover,
  .policy__btn:focus-visible {
    background: #fff;
    color: #31B8FF;
  }
}
/*# sourceMappingURL=legal.css.map */
