@charset "utf-8";

/*--- Common Wrapper for Legal Pages -------------------*/
.p-legal {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: var(--space-xl) 0;
}

@media screen and (min-width: 768px) and (max-width: 1320px) {
  .p-legal {
    padding-left: var(--space-sm);
    padding-right: var(--space-sm);
  }
}

@media screen and (max-width: 767px) {
  .p-legal {
    padding: var(--space-lg) var(--space-sm);
    /* 数字のはみ出し防止のため左右余白を広めに確保 */
  }
}

.p-legal__content {
  margin-top: var(--space-lg);
}

.p-legal__text {
  font-size: var(--fs-18);
  line-height: var(--lh-normal);
  margin-bottom: var(--space-md);
}

.p-legal__date-sign {
  margin-top: var(--space-xl);
  text-align: right;
  font-size: var(--fs-18);
  line-height: var(--lh-normal);
}

/*--- Table -------------------*/
.c-legal-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: var(--space-md);
  border-top: 1px solid #ddd;
}

.c-legal-table__row {
  display: flex;
  border-bottom: 1px solid #ddd;
}

.c-legal-table__label {
  flex: 0 0 30%;
  padding: var(--space-md);
  background-color: #f9f9f9;
  font-weight: var(--fw-bold);
  font-size: var(--fs-18);
  display: flex;
  align-items: center;
}

.c-legal-table__data {
  flex: 0 0 70%;
  padding: var(--space-md);
  font-size: var(--fs-18);
  font-weight: var(--fw-normal);
  line-height: var(--lh-normal);
}

@media screen and (max-width: 767px) {
  .c-legal-table__row {
    flex-direction: column;
  }

  .c-legal-table__label {
    flex: 1;
    padding: var(--space-sm);
    background-color: #eee;
    font-size: var(--fs-16);
  }

  .c-legal-table__data {
    flex: 1;
    padding: var(--space-sm);
    font-size: var(--fs-16);
  }
}

/*--- Policy Sections -------------------*/
.p-legal__section {
  margin-bottom: var(--space-xl);
}

.p-legal__section-title {
  font-size: var(--fs-24);
  font-weight: var(--fw-bold);
  border-left: 4px solid var(--color-red);
  padding-left: var(--space-sm);
  margin-bottom: var(--space-md);
}

.p-legal__list {
  list-style: none;
  padding: 0;
}

.p-legal__list-item {
  margin-bottom: var(--space-lg);
  padding-left: 1.7em;
  text-indent: -1.7em;
  font-size: var(--fs-18);
  line-height: var(--lh-normal);
}

.p-legal__list-item-title,
.p-legal__list-item-inner {
  display: flex;
  margin-left: -1.7em;
  text-indent: 0;
}

.p-legal__list-item-title {
  font-weight: var(--fw-bold);
  margin-bottom: 0.25em;
}

.p-legal__list-item-num {
  flex: 0 0 1.7em;
  /* 数字部分の幅を固定 */
  text-indent: 0;
}

.p-legal__list-item-desc {
  display: block;
  text-indent: 0;
  /* インデントの継承を解除して2行目以降の頭を揃える */
}