@charset "UTF-8";
article.bg {
  max-inline-size: 1060px;
  margin-inline: auto;
}

/* =====================
  unit
===================== */
article.unit {
  margin-bottom: 40px;
}
article.unit :where(h2, p, li, th, td) {
  line-height: 2.12;
}
@media not all and (min-width: 768px) {
  article.unit :where(p, li) {
    font-size: calc((100 / 750) * 26 * 1vw);
  }
}
@media not all and (min-width: 768px) {
  article.unit {
    margin-bottom: calc((100 / 750) * 60 * 1vw);
  }
}
article.unit :where(h2, h3, caption) {
  font-weight: bold;
  text-align: left;
}
article.unit h2 {
  font-size: 20px;
  position: relative;
  border-bottom: 1px solid #cfcfcf;
}
article.unit h2::before {
  content: '';
  width: 60px;
  height: 3px;
  background: var(--orange);
  display: block;
  position: absolute;
  bottom: 0;
  translate: 0 50%;
}
@media not all and (min-width: 768px) {
  article.unit h2::before {
    width: calc((100 / 750) * 60 * 1vw);
    height: calc((100 / 750) * 6 * 1vw);
  }
}
article.unit h2 + p {
  margin-top: 1.1em;
  line-height: 1.73;
}
@media not all and (min-width: 768px) {
  article.unit :is(h2, h3, caption) {
    font-size: calc((100 / 750) * 30 * 1vw);
  }
}
article.unit h3 {
  color: var(--orange);
  margin-bottom: 7px;
  font-size: 18px;
}
@media not all and (min-width: 768px) {
  article.unit h3 {
    font-size: calc((100 / 750) * 30 * 1vw);
    margin-bottom: calc((100 / 750) * 30 * 1vw);
  }
}
article.unit .wrap {
  margin-bottom: 40px;
}
article.unit p + .wrap {
  margin-top: 10px;
}
@media not all and (min-width: 768px) {
  article.unit .wrap {
    margin-bottom: calc((100 / 750) * 60 * 1vw);
  }
  article.unit p + .wrap {
    margin-top: calc((100 / 750) * 60 * 1vw);
  }
}
article.unit ol {
  counter-reset: number;
}
article.unit li::before {
  counter-increment: number;
  content: '（' counter(number) '）';
}

article.unit table {
  width: 100%;
  vertical-align: middle;
}
article.unit caption {
  margin-bottom: 0.5em;
}
article.unit :where(th, td) {
  padding-inline: 1em;
  border: 1px solid #c3c4c7;
  padding-block: 0.5em;
  vertical-align: middle;
}
@media not all and (min-width: 768px) {
  article.unit :where(th, td) {
    font-size: calc((100 / 750) * 24 * 1vw);
  }
}
article.unit th {
  white-space: nowrap;
  max-inline-size: 170px;
  font-weight: bold;
  background: #eee;
}
@media not all and (min-width: 768px) {
  article.unit td a {
    text-decoration: underline;
    color: var(--red);
  }
}
