html {
  font-size: 62.5%;
}

.report-article h2 {
  margin-bottom: 64px;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.3055555556;
}

.report-article h3 {
  margin-bottom: 0.6em;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.3055555556;
}

.report-article p {
  margin-bottom: 1.8rem;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.03em;
}

.report-article figcaption {
  font-size: 1.4rem;
  line-height: 1.7777777778;
  letter-spacing: 0.03em;
}

.report-article .byline {
  color: #000;
}

.report-article ul {
  font-size: 1.8rem;
  line-height: 1.7777777778;
  letter-spacing: 0.03em;
}

.report-toc {
  width: 100%;
  max-width: min(100%, 78rem);
  margin:  5.6rem auto 0;
  padding: 1.8rem 2rem 2rem;
  border: 1px solid #d9d9d9;
  border-radius: 0.8rem;
  background: #f3f3f3;
}

.report-toc-title {
  display: inline-block;
  margin: 0 0 1.2rem;
  padding: 0.4rem 1.4rem;
  border-radius: 0.9rem;
  background: #000;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.03em;
}

.report-toc ul {
  margin: 0;
  padding-left: 1.05em;
  font-size: 1.7rem;
  line-height: 1.65;
}

.report-toc li + li {
  margin-top: 0.5rem;
}

.report-toc a {
  color: #000;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.14em;
}

.report-content {
  max-width: 848px;
  margin: 0 auto 126px;
  padding: 0 2.4rem;
  font-family:
    "YakuHanJP", "游ゴシック", YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

html[lang="en"] .report-content {
  font-family: "Play", "Helvetica Neue", Arial, sans-serif;
}

.report-hero {
  position: relative;
  max-width: 800px;
  margin: 0 auto 4rem;
  padding: 6rem 2.4rem 7rem;
}

.report-hero-image {
  margin: 0;
}

.report-hero-image img {
  display: block;
  width: 100%;
  border-radius: 0.8rem;
}

.report-hero-logo {
  position: absolute;
  top: -1.4rem;
  left: -10.2rem;
  width: clamp(140px, 20vw, 220px);
  padding: 0.6rem 0.9rem;
  border-radius: 0.8rem;
}

.report-hero-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.report-hero-title {
  position: absolute;
  right: -10.6rem;
  bottom: 0;
  margin: 0;
  padding: 1.6rem 2.4rem;
  background: rgba(255, 255, 255, 0.95);
  color: #000;
  border-radius: 0.4rem;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  text-align: right;
}

.report-hero-title h2 {
  margin: 0;
  font-size: clamp(2.8rem, 3.2vw, 4rem);
  line-height: 1.3;
}

.report-hero-title p {
  margin: 0.4rem 0 0;
  font-size: clamp(1.5rem, 1.7vw, 2rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.report-image {
  width: 100%;
  margin-bottom: 2.8rem;
}

.report-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 0.6rem;
}

.report-image-grid {
  margin-bottom: 2.8rem;
}

.report-image-grid .report-image {
  margin-bottom: 0;
}

.report-link-banner {
  display: inline-block;
  width: 100%;
  max-width: 500px;
}

.report-link-banner img {
  width: 100%;
}

@media (min-width: 737px) {
  .report-image-grid-2col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}

.report-article .wrapper.container.bg-blur {
  max-width: 1000px;
}

@media (max-width: 736px) {
  .report-content {
    padding: 0;
    margin: 0 auto 60px;
  }

  .report-hero {
    margin-bottom: 2.4rem;
    padding: 2.6rem 0 2.8rem;
  }

  .report-hero-image {
    margin-top: 2.2rem;
  }

  .report-hero-logo {
    top: -0.6rem;
    left: 0.6rem;
    width: clamp(110px, 34vw, 150px);
    padding: 0.4rem 0.6rem;
  }

  .report-hero-title {
    position: static;
    margin-top: 1rem;
    padding: 1.2rem 1.6rem;
    text-align: left;
  }

  .report-article h2 {
    font-size: 2.2rem;
  }

  .report-article h3 {
    font-size: 1.8rem;
  }

  .report-article p,
  .report-article ul {
    font-size: 1.6rem;
    line-height: 1.75;
  }

  .report-toc {
    width: auto;
    max-width: 100%;
    margin-bottom: 3.6rem;
    padding: 1.4rem 1.2rem 1.5rem;
    border-radius: 0.6rem;
  }

  .report-toc-title {
    margin-bottom: 0.9rem;
    padding: 0.35rem 1rem;
    border-radius: 0.7rem;
    font-size: 1.6rem;
  }

  .report-toc ul {
    padding-left: 1.05em;
    font-size: 1.5rem;
    line-height: 1.6;
  }

  .report-toc li + li {
    margin-top: 0.4rem;
  }
}
