.hsr-root {
  margin: 0;
  padding: 0;
  font: 16px/1.5 sans-serif;
  letter-spacing: normal;
  text-align: left;
}

.hsr-stage {
  position: relative;
  isolation: isolate;
  overflow: clip;
  overflow-anchor: none;
}

.hsr {
  --u:min(.6px,calc((100vw - 40px)/1920));
  --text-unit:var(--u);
  --body-scale:1;
  --subtitle-size:20px;
  --heading-size:28.5px;
  --heading-art-unit:calc(100vw / 1920);
  box-sizing: border-box;
  width: calc(1920 * var(--u));
  margin-inline: auto;
  position: relative;
  isolation: isolate;
  color: #183152;
}

.hsr *,
.hsr *::before,
.hsr *::after {
  box-sizing: border-box;
}

.hsr h2,
.hsr h3,
.hsr p,
.hsr figure {
  margin: 0;
}

.hsr-title {
  position: relative;
  isolation: isolate;
  overflow: visible;
  font-synthesis: none;
}

.hsr-title__art {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: -1;
}

.hsr-section {
  position: relative;
  padding-bottom: calc(54 * var(--u));
}

.hsr-section:last-child {
  padding-bottom: calc(75px + 50 * var(--u));
}

.hsr-section>*+* {
  margin-top: calc(50 * var(--u));
}

.hsr-title+.hsr-paragraph {
  margin-top: calc(50 * var(--u));
}

.hsr-paragraph {
  margin-left: calc(100 * var(--u));
  margin-right: calc(24 * var(--u));
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.hsr-row {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: calc(75 * var(--u));
  margin-inline: calc(24 * var(--u));
}

.hsr-row>* {
  min-width: 0;
}

.hsr-figure {
  flex-shrink: 1;
}

.hsr-figure img {
  display: block;
  width: 100%;
  height: auto;
}

.hsr-sample-table {
  margin-inline: auto;
  max-width: calc(100% - 48 * var(--u));
  margin-bottom: calc(19 * var(--u));
}

@media (max-width: 768px) {
  .hsr {
    --u:1px;
    --body-scale:calc(var(--body-size,14px)/25.4px);
    width: 100%;
  }

  .hsr-section>*+* {
    margin-top: 20px;
  }

  .hsr-section {
    padding-bottom: 42px;
  }

  .hsr-section--theme02,
  .hsr-section--theme03,
  .hsr-section--theme04,
  .hsr-section--theme05,
  .hsr-section--theme06 {
    padding-bottom: 30px;
  }

  .hsr-section:last-child {
    padding-bottom: 95px;
  }

  .hsr-heading+* {
    margin-top: 12px;
  }

  .hsr-subheading+* {
    margin-top: 12px;
  }

  .hsr-paragraph+.hsr-paragraph,
  .hsr-paragraph+.hsr-row {
    margin-top: 16px;
  }

  .hsr-row {
    flex-wrap: wrap;
    gap: 20px;
    margin-inline: 16px;
  }

  .hsr-paragraph {
    --text-unit:calc(var(--body-size,14px) / 25.4);
    margin-inline: 16px;
  }

  .hsr-sample-table {
    max-width: calc(100% - 32px);
  }
}
