@charset "UTF-8";

.report {
  min-width: 83.3333333333vw;
  color: var(--clr-black);
  background: var(--clr-white);
  font-family: Noto Sans JP, sans-serif;
}
.report__hero {
  position: relative;
  padding: 5.5555555556vw 8.3333333333vw 4.1666666667vw;
  color: var(--clr-white);
  overflow: hidden;
  background: linear-gradient(98deg, #00115a, #0076d2 106.17%);
}
.report__hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.22), transparent 32%), radial-gradient(circle at 82% 14%, rgba(255,255,255,.13), transparent 28%), linear-gradient(180deg, rgba(5,27,55,.18), rgba(5,27,55,.64));
}
.report__hero-inner,
.report__inner {
  position: relative;
  z-index: 1;
  max-width: 83.3333333333vw;
  margin-inline: auto;
}
.report__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .6944444444vw;
  font-family: Poppins, sans-serif;
  font-size: .9722222222vw;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1;
}
.report__eyebrow:before {
  content: "";
  width: 3.3333333333vw;
  height: 1px;
  background: currentColor;
}
.report__title {
  max-width: 70vw;
  margin-top: 1.3888888889vw;
  font-size: 3.8888888889vw;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .04em;
}
.report__lead {
  max-width: 62.5vw;
  margin-top: 1.6666666667vw;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: .02em;
}
.report__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .8333333333vw;
  margin-top: 2.5vw;
}
.report__meta-item {
  display: inline-flex;
  align-items: center;
  gap: .5555555556vw;
  padding: .625vw 1.1111111111vw;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  font-size: .9722222222vw;
  font-weight: 700;
  line-height: 1.4;
}
.report__body {
  padding: 5.5555555556vw 8.3333333333vw 7.6388888889vw;
  background: linear-gradient(180deg, #f7fbff 0, #fff 16.6666666667vw);
}
.report__back {
  display: inline-flex;
  align-items: center;
  gap: .5555555556vw;
  margin-bottom: 2.7777777778vw;
  color: var(--clr-prime);
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1.4;
  transition: opacity .3s ease;
}
.report__back:hover { opacity: .72; }
.report__visual {
  position: relative;
  overflow: hidden;
  border-radius: 2.7777777778vw;
  box-shadow: .5555555556vw .2083333333vw 1.9444444444vw rgba(0,0,0,.08);
  background: #dfeaf5;
}
.report__placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 36.1111111111vw;
  padding: 3.3333333333vw;
  background: linear-gradient(135deg, #d9eaff, #f4f8fc);
  color: #2a73ac;
  text-align: center;
}
.report__placeholder span {
  display: block;
  font-family: Poppins, sans-serif;
  font-size: 1.1111111111vw;
  font-weight: 700;
  letter-spacing: .12em;
}
.report__placeholder small {
  display: block;
  margin-top: .5555555556vw;
  font-size: .9722222222vw;
  font-weight: 700;
  letter-spacing: .04em;
}
.report__caption {
  margin-top: .8333333333vw;
  color: var(--clr-gray-text);
  font-size: .9027777778vw;
  line-height: 1.7;
}
.report__section {
  margin-top: 5vw;
}
.report__section-title {
  display: grid;
  gap: .4166666667vw;
  margin-bottom: 1.6666666667vw;
}
.report__section-title-en {
  font-family: Poppins, sans-serif;
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .12em;
  color: var(--clr-prime);
}
.report__section-title-ja {
  font-size: 2.2222222222vw;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: .04em;
}
.report__text {
  font-size: 1.1111111111vw;
  line-height: 2.05;
  letter-spacing: .02em;
}
.report__text + .report__text { margin-top: 1.25vw; }

.report__result-card {
  margin: 2.2222222222vw 0;
  padding: 2.2222222222vw 2.7777777778vw;
  border-radius: 1.3888888889vw;
  background: linear-gradient(98deg, rgba(0,103,182,.10), rgba(0,118,210,.05));
  border: 1px solid #cfe2f3;
  box-shadow: .5555555556vw .2083333333vw 1.9444444444vw rgba(0,0,0,.06);
}
.report__result-label {
  color: var(--clr-prime);
  font-size: 1.0416666667vw;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: .08em;
}
.report__result-number {
  margin-top: .5555555556vw;
  font-family: Poppins, sans-serif;
  color: var(--clr-prime);
  font-size: 4.1666666667vw;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
}
.report__result-number span {
  margin-left: .4166666667vw;
  font-family: Noto Sans JP, sans-serif;
  font-size: 1.3888888889vw;
  font-weight: 900;
}
.report__result-text {
  margin-top: 1.1111111111vw;
  color: var(--clr-black);
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: .02em;
}
.report__quote {
  margin-top: 2.2222222222vw;
  padding: 2.2222222222vw 2.7777777778vw;
  border-left: .4166666667vw solid var(--clr-prime);
  border-radius: 0 1.3888888889vw 1.3888888889vw 0;
  background: #eef7ff;
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: .03em;
}
.report__image-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.6666666667vw;
  margin-top: 2.2222222222vw;
}
.report__image-row .report__placeholder {
  min-height: 20vw;
}
.report__outline {
  display: grid;
  grid-template-columns: 14.4444444444vw 1fr;
  border-top: 1px solid #d9e4ef;
  margin-top: 1.6666666667vw;
}
.report__outline dt,
.report__outline dd {
  padding: 1.1111111111vw 0;
  border-bottom: 1px solid #d9e4ef;
  font-size: 1.0416666667vw;
  line-height: 1.8;
}
.report__outline dt {
  color: var(--clr-prime);
  font-weight: 900;
}
.report__outline dd {
  color: var(--clr-black);
}
.report__cta {
  margin-top: 5.5555555556vw;
  padding: 3.3333333333vw;
  border-radius: 2.7777777778vw;
  background: linear-gradient(98deg, #00115a, #0076d2 106.17%);
  color: var(--clr-white);
  text-align: center;
}
.report__cta-title {
  font-size: 2.2222222222vw;
  font-weight: 900;
  line-height: 1.5;
}
.report__cta-text {
  margin-top: 1.1111111111vw;
  font-size: 1.1111111111vw;
  line-height: 1.9;
}
.report__cta-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16.6666666667vw;
  min-height: 4.1666666667vw;
  margin-top: 1.6666666667vw;
  padding: 1.1111111111vw 1.6666666667vw;
  border: 1px solid var(--clr-white);
  border-radius: 999px;
  color: var(--clr-white);
  font-size: 1.1111111111vw;
  font-weight: 700;
  line-height: 1.5;
  transition: all .3s ease;
}
.report__cta-link:hover {
  background: var(--clr-white);
  color: var(--clr-prime);
}
@media (max-width: 768px) {
  .report { min-width: 0; }
  .report__hero { padding: 14.9333333333vw 5.3333333333vw 10.6666666667vw; }
  .report__hero-inner, .report__inner { max-width: none; }
  .report__eyebrow { gap: 2.6666666667vw; font-size: 3.2vw; }
  .report__eyebrow:before { width: 12.8vw; }
  .report__title { max-width: none; margin-top: 4.2666666667vw; font-size: 8.5333333333vw; }
  .report__lead { max-width: none; margin-top: 5.3333333333vw; font-size: 3.7333333333vw; }
  .report__meta { gap: 2.1333333333vw; margin-top: 8.5333333333vw; }
  .report__meta-item { padding: 2.6666666667vw 4.2666666667vw; font-size: 3.2vw; }
  .report__body { padding: 10.6666666667vw 5.3333333333vw 21.3333333333vw; }
  .report__back { margin-bottom: 8.5333333333vw; font-size: 3.7333333333vw; }
  .report__visual { border-radius: 6.4vw; }
  .report__placeholder { min-height: 64vw; padding: 8.5333333333vw; }
  .report__placeholder span { font-size: 4.2666666667vw; }
  .report__placeholder small { margin-top: 2.1333333333vw; font-size: 3.2vw; }
  .report__caption { margin-top: 2.6666666667vw; font-size: 3.2vw; }
  .report__section { margin-top: 16vw; }
  .report__section-title { gap: 1.0666666667vw; margin-bottom: 5.3333333333vw; }
  .report__section-title-en { font-size: 3.2vw; }
  .report__section-title-ja { font-size: 6.4vw; }
  .report__text { font-size: 3.7333333333vw; line-height: 2; }
  .report__text + .report__text { margin-top: 4.2666666667vw; }

  .report__result-card { margin: 6.4vw 0; padding: 6.4vw; border-radius: 4.2666666667vw; }
  .report__result-label { font-size: 3.7333333333vw; }
  .report__result-number { margin-top: 2.1333333333vw; font-size: 12.8vw; }
  .report__result-number span { margin-left: 1.0666666667vw; font-size: 4.8vw; }
  .report__result-text { margin-top: 3.2vw; font-size: 3.7333333333vw; }
  .report__quote { margin-top: 6.4vw; padding: 6.4vw; border-left-width: 1.6vw; border-radius: 0 4.2666666667vw 4.2666666667vw 0; font-size: 4.2666666667vw; }
  .report__image-row { grid-template-columns: 1fr; gap: 4.2666666667vw; margin-top: 6.4vw; }
  .report__image-row .report__placeholder { min-height: 48vw; }
  .report__outline { grid-template-columns: 1fr; margin-top: 5.3333333333vw; }
  .report__outline dt { padding: 4.2666666667vw 0 1.0666666667vw; border-bottom: 0; font-size: 3.7333333333vw; }
  .report__outline dd { padding: 0 0 4.2666666667vw; font-size: 3.7333333333vw; }
  .report__cta { margin-top: 16vw; padding: 8.5333333333vw 6.4vw; border-radius: 6.4vw; }
  .report__cta-title { font-size: 6.4vw; }
  .report__cta-text { margin-top: 4.2666666667vw; font-size: 3.7333333333vw; }
  .report__cta-link { width: 100%; min-height: 14.9333333333vw; margin-top: 6.4vw; padding: 4.2666666667vw; font-size: 4.2666666667vw; }
}
