:where(.d-hp .d-hp--legal) {
  --legal-ink: #071014;
  --legal-paper: #f7f4ee;
  --legal-blue: #0757e6;
  --legal-border: #cdc9c1;
  color: var(--legal-ink);
  background: var(--legal-paper);
  font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-feature-settings: "palt" 0;
  font-kerning: normal;
}

:where(.d-hp .d-hp--legal),
:where(.d-hp .d-hp--legal) *,
:where(.d-hp .d-hp--legal) *::before,
:where(.d-hp .d-hp--legal) *::after {
  box-sizing: border-box;
}

.d-hp .d-hp--legal .legal-frame {
  width: min(900px, calc(100% - 40px));
  margin-inline: auto;
}

.d-hp .d-hp--legal .legal-hero {
  background: var(--legal-paper);
}

.d-hp .d-hp--legal .legal-hero .legal-frame {
  padding-block: 79px 77px;
}

.d-hp .d-hp--legal .legal-hero__eyebrow {
  position: relative;
  display: inline-block;
  margin: 0 0 57px;
  color: var(--legal-ink);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .16em;
}

.d-hp .d-hp--legal .legal-hero__eyebrow::after {
  position: absolute;
  left: 0;
  bottom: -24px;
  width: 90px;
  height: 7px;
  border-radius: 50%;
  background: var(--legal-blue);
  content: "";
  transform: rotate(-1deg);
  transform-origin: left center;
}

.d-hp .d-hp--legal .legal-hero h1 {
  max-width: 100%;
  margin: 0;
  color: var(--legal-ink);
  font-size: 68px;
  font-weight: 800;
  line-height: 1.16;
  letter-spacing: .04em;
}

.d-hp .d-hp--legal .legal-hero__stroke {
  display: block;
  width: 202px;
  height: 10px;
  margin-left: 19px;
  margin-top: 11px;
  border-radius: 55% 42% 52% 38%;
  background: var(--legal-ink);
  transform: rotate(.7deg);
  transform-origin: left center;
}

.d-hp .d-hp--legal .legal-hero__dates {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 31px;
}

.d-hp .d-hp--legal .legal-hero__dates time {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 8px 15px;
  border: 1.5px solid var(--legal-ink);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.d-hp .d-hp--legal .legal-toc {
  min-height: var(--legal-toc-desktop-min-height);
  padding-block: 45px;
  color: #fff;
  background: var(--legal-ink);
}

.d-hp .d-hp--legal .legal-toc ol {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(var(--legal-toc-desktop-rows), min-content);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px 54px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.d-hp .d-hp--legal .legal-toc a {
  color: inherit;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
  text-underline-offset: .18em;
}

.d-hp .d-hp--legal .legal-toc a:hover,
.d-hp .d-hp--legal .legal-toc a:focus-visible {
  text-decoration: underline;
}

.d-hp .d-hp--legal .legal-document {
  padding-block: 96px 160px;
  background: var(--legal-paper);
  font-size: 18px;
  line-height: 2;
  letter-spacing: .01em;
}

.d-hp .d-hp--legal .legal-introduction p,
.d-hp .d-hp--legal .legal-section p,
.d-hp .d-hp--legal .legal-section ol,
.d-hp .d-hp--legal .legal-closing,
.d-hp .d-hp--legal .legal-appendix p {
  margin: 0 0 14px;
}

.d-hp .d-hp--legal .legal-introduction p:last-child,
.d-hp .d-hp--legal .legal-section > :last-child,
.d-hp .d-hp--legal .legal-appendix > :last-child {
  margin-bottom: 0;
}

.d-hp .d-hp--legal .legal-section {
  margin-top: 52px;
  scroll-margin-top: 24px;
}

.d-hp .d-hp--legal .legal-introduction + .legal-section {
  margin-top: 96px;
}

.d-hp .d-hp--legal .legal-section h2,
.d-hp .d-hp--legal .legal-appendix h2 {
  margin: 0 0 15px;
  color: var(--legal-ink);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: -.025em;
}

.d-hp .d-hp--legal .legal-section ol {
  padding: 0;
  list-style-position: inside;
}

.d-hp .d-hp--legal .legal-section li {
  margin: 0 0 12.5px;
}

.d-hp .d-hp--legal .legal-section li:last-child {
  margin-bottom: 0;
}

.d-hp .d-hp--legal .legal-closing {
  display: grid;
  gap: 0;
  margin-top: 56px;
}

.d-hp .d-hp--legal .legal-closing div {
  display: flex;
  min-width: 0;
}

.d-hp .d-hp--legal .legal-closing dt,
.d-hp .d-hp--legal .legal-closing dd {
  margin: 0;
}

.d-hp .d-hp--legal .legal-closing dt::after {
  content: "：";
}

.d-hp .d-hp--legal .legal-closing dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.d-hp .d-hp--legal .legal-appendix {
  margin-top: 56px;
  padding-left: 28px;
  border-left: 7px solid var(--legal-blue);
}

.d-hp .d-hp--legal .legal-appendix__number {
  font-weight: 700;
}

@media (min-width: 1100px) {
  .d-hp .d-hp--legal .legal-hero__stroke {
    --legal-hero-stroke-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 202 10'%3E%3Cpath d='M0 .15H10Q36 1.7 58 1.7Q75 1.7 88 .15H184Q198 .15 202 1.2V6.2Q201 8.4 198 9.8H176Q151 8.4 126 9.8H1Q0 8 0 .15Z' fill='black'/%3E%3C/svg%3E");
    border-radius: 0;
    -webkit-mask-image: var(--legal-hero-stroke-mask);
    mask-image: var(--legal-hero-stroke-mask);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
}

@media (max-width: 1099px) {
  .d-hp .d-hp--legal .legal-frame {
    width: min(760px, calc(100% - 64px));
  }
}

@media (max-width: 767px) {
  .d-hp .d-hp--legal .legal-frame {
    width: calc(100% - 40px);
  }

  .d-hp .d-hp--legal .legal-hero .legal-frame {
    padding-block: 53px 56px;
  }

  .d-hp .d-hp--legal .legal-hero__eyebrow {
    margin-bottom: 38px;
    font-size: 12px;
    letter-spacing: .14em;
  }

  .d-hp .d-hp--legal .legal-hero__eyebrow::after {
    bottom: -16px;
    width: 70px;
    height: 5px;
  }

  .d-hp .d-hp--legal .legal-hero h1 {
    font-size: 40px;
    line-height: 1.17;
    letter-spacing: 0;
  }

  .d-hp .d-hp--legal .legal-hero__stroke {
    --legal-hero-stroke-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 168 9'%3E%3Cpath d='M0 .15H8Q30 1.45 48 1.45Q62 1.45 73 .15H153Q164 .15 168 1.1V5.6Q167 7.6 165 8.8H147Q126 7.4 104 8.8H1Q0 7.2 0 .15Z' fill='black'/%3E%3C/svg%3E");
    width: 168px;
    height: 9px;
    margin-left: 1px;
    margin-top: 11px;
    border-radius: 0;
    -webkit-mask-image: var(--legal-hero-stroke-mask);
    mask-image: var(--legal-hero-stroke-mask);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    transform: translateY(1px);
  }

  .d-hp .d-hp--legal .legal-hero__dates {
    gap: 9px;
    margin-top: 31px;
  }

  .d-hp .d-hp--legal .legal-hero__dates time {
    min-height: 40px;
    padding: 8px 13px;
    font-size: 12px;
  }

  .d-hp .d-hp--legal .legal-toc {
    min-height: var(--legal-toc-mobile-min-height);
    padding-block: 39px var(--legal-toc-mobile-padding-bottom, 24px);
  }

  .d-hp .d-hp--legal .legal-toc ol {
    display: grid;
    grid-auto-flow: row;
    grid-template: none;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .d-hp .d-hp--legal .legal-toc a {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
  }

  .d-hp .d-hp--legal .legal-document {
    padding-block: 65px 121px;
    font-size: 15.5px;
    line-height: 1.9;
    letter-spacing: 0;
  }

  .d-hp .d-hp--legal .legal-introduction p,
  .d-hp .d-hp--legal .legal-section p,
  .d-hp .d-hp--legal .legal-section ol,
  .d-hp .d-hp--legal .legal-closing,
  .d-hp .d-hp--legal .legal-appendix p {
    margin-bottom: 14px;
  }

  .d-hp .d-hp--legal .legal-introduction p {
    margin-bottom: 19px;
  }

  .d-hp .d-hp--legal .legal-section {
    margin-top: 41px;
  }

  .d-hp .d-hp--legal .legal-introduction + .legal-section {
    margin-top: 48px;
  }

  .d-hp .d-hp--legal .legal-section h2,
  .d-hp .d-hp--legal .legal-appendix h2 {
    margin-bottom: 15px;
    font-size: 22px;
    line-height: 1.45;
  }

  .d-hp .d-hp--legal .legal-section li {
    margin-bottom: 13px;
  }

  .d-hp .d-hp--legal .legal-closing {
    margin-top: 44px;
  }

  .d-hp .d-hp--legal .legal-appendix {
    margin-top: 44px;
    padding-left: 14px;
    border-left-width: 4px;
  }
}

@media print {
  .d-hp.d-hp--terms > .d-header,
  .d-hp.d-hp--terms > .d-footer,
  .d-hp.d-hp--privacy > .d-header,
  .d-hp.d-hp--privacy > .d-footer {
    display: none;
  }

  .d-hp .d-hp--legal {
    color: #000;
    background: #fff;
  }

  .d-hp .d-hp--legal .legal-toc {
    display: none;
  }

  .d-hp .d-hp--legal .legal-hero,
  .d-hp .d-hp--legal .legal-document {
    color: #000;
    background: #fff;
  }

  .d-hp .d-hp--legal .legal-document {
    padding-block: 24px 0;
    font-size: 11pt;
    line-height: 1.65;
  }

  .d-hp .d-hp--legal .legal-frame {
    width: 100%;
    max-width: none;
  }
}
