@charset "UTF-8";
.page-hero {
  position: relative;
  width: 100%;
  height: 28.3rem;
  background-image: url("/assets/img/hero-area.png");
  background-size: cover;
  background-position: center top;
}
.page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 40%;
  background: linear-gradient(to bottom, transparent 0%, #F5FAFF 100%);
}
@media (max-width: 768px) {
  .page-hero {
    height: 28.3rem;
  }
}

.page-content {
  padding-block: 8rem;
}
@media (max-width: 768px) {
  .page-content {
    padding-block: 0;
  }
}

.page-body {
  max-width: 80rem;
  margin-inline: auto;
  font-size: 1.4rem;
  line-height: 2;
  color: var(--txt_color);
}
.page-body a {
  color: var(--main_color);
  text-decoration: underline;
}
.page-body a:hover {
  opacity: 0.7;
}

.rule-main-title {
  text-align: center;
  font-size: clamp(2rem, 1.5rem + 1.3vw, 2.4rem);
  font-weight: 700;
  margin-bottom: 4.8rem;
}

.rule-section + .rule-section {
  margin-top: 6.4rem;
}

.rule-subtitle {
  text-align: left;
  color: var(--main_color);
  font-weight: 700;
  font-size: clamp(1.8rem, 1.5rem + 0.8vw, 2rem);
  margin-bottom: 1.6rem;
}

.rule-subtitle-note {
  color: var(--main_color);
  font-size: 1.4rem;
  margin-bottom: 2.4rem;
}

.rule-list {
  padding-left: 2rem;
}
.rule-list li {
  margin-bottom: 1.6rem;
}
.rule-list li:last-child {
  margin-bottom: 0;
}

.rule-border-box {
  border: 1px solid var(--line_color);
  padding: 2.4rem;
  margin-block: 2.4rem;
}
.rule-border-box p {
  margin-bottom: 0.8rem;
}
.rule-border-box p:last-child {
  margin-bottom: 0;
}

.pp-section-title {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 3.2rem;
  margin-bottom: 1.6rem;
}

.pp-subsection-title {
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 2.4rem;
  margin-bottom: 1.2rem;
}

.pp-list {
  padding-left: 2rem;
  margin-block: 1.2rem;
}
.pp-list li {
  margin-bottom: 0.8rem;
}
.pp-list li:last-child {
  margin-bottom: 0;
}

.pp-dash-list {
  list-style: none;
  padding-left: 2rem;
  margin-top: 0.8rem;
}
.pp-dash-list li {
  position: relative;
  padding-left: 2em;
  margin-bottom: 0.4rem;
}
.pp-dash-list li::before {
  content: "ー";
  position: absolute;
  left: 0;
}

.pp-dl {
  margin-block: 1.6rem;
}
.pp-dl dt {
  font-weight: 700;
  margin-top: 1.6rem;
}
.pp-dl dt:first-child {
  margin-top: 0;
}
.pp-dl dd {
  margin-left: 1.6rem;
  word-break: break-all;
}

.pp-addendum {
  margin-top: 4rem;
  border-top: 1px solid var(--line_color);
  padding-top: 2.4rem;
}
.pp-addendum dt {
  font-weight: 700;
  margin-top: 1.6rem;
}
.pp-addendum dt:first-child {
  margin-top: 0;
}
.pp-addendum dd {
  margin-left: 1.6rem;
}

.pp-sign {
  text-align: right;
  margin-top: 2.4rem;
  font-weight: 500;
}
