.u-kbsdata {
  display: grid;
  grid-template-areas: "visual" "title" "content";
  margin-top: var(--MODULE_MARGIN);
}

.u-kbsdata__title {
  font-size: 1.25rem;
  font-weight: var(--FONT_WEIGHT_SEMIBOLD);
  grid-area: title;
  margin-top: 16px;
}

.u-kbsdata__visual {
  border: 1px solid var(--COLOR_OUTLINE_GRAY_500);
  display: flex;
  flex-direction: column-reverse;
  gap: 16px 0;
  grid-area: visual;
  padding: 24px;
  text-align: center;
}

.u-kbsdata__visual--column,.u-kbsdata__data-wrapper {
  flex-direction: column;
}

.u-kbsdata__data-wrapper {
  display: flex;
}

.u-kbsdata__data {
  line-height: 1.25;
}

.u-kbsdata__value {
  font-size: 4.0625rem;
  color: var(--COLOR_BRAND_SECONDARY);
  line-height: 1;
}

.u-kbsdata__value,.u-kbsdata__unit {
  font-family: var(--FONT_FAMILY_HEADING_JA);
  font-weight: var(--FONT_WEIGHT_SEMIBOLD);
  vertical-align: text-bottom;
}

.u-kbsdata__unit {
  font-size: 2.25rem;
}

.u-kbsdata__as-of {
  font-size: 1.5625rem;
  font-family: var(--FONT_FAMILY_HEADING_JA);
  font-weight: var(--FONT_WEIGHT_SEMIBOLD);
  line-height: 1.2;
}

.u-kbsdata__image {
  max-height: 120px;
  object-fit: contain;
  vertical-align: middle;
  width: auto;
}

.u-kbsdata__visual:not(:has(.u-kbsdata__data-wrapper)) {
  padding: 16px;
}
.u-kbsdata__visual:not(:has(.u-kbsdata__data-wrapper)) .u-kbsdata__image {
  max-height: none;
}

.u-kbsdata__content {
  display: flex;
  flex-direction: column;
  gap: 4px 0;
  grid-area: content;
  margin-top: 8px;
}
.u-kbsdata__content > [class^=m-],
.u-kbsdata__content > [class*=" m-"] {
  margin-top: 0;
}
.u-kbsdata-layout {
  display: grid;
  gap: 0 32px;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, auto);
  margin-top: var(--MODULE_MARGIN);
}

.u-kbsdata-layout__item {
  display: contents;
}

.u-kbsdata-layout .u-kbsdata {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
}

.u-kbsdata-layout .u-kbsdata__visual {
  align-self: stretch;
}

@media (min-width: 768px) {
  .u-kbsdata__visual {
    align-items: center;
    gap: 16px 24px;
    justify-content: center;
  }
  .u-kbsdata--row-pc .u-kbsdata__visual {
    flex-direction: row-reverse;
    height: 300px;
    padding: 16px;
  }
  .u-kbsdata--row-pc .u-kbsdata__data-wrapper {
    white-space: nowrap;
  }
  .u-kbsdata__value {
    font-size: 7.5rem;
  }
  .u-kbsdata__value--large {
    font-size: 9.0625rem;
  }
  .u-kbsdata__unit {
    font-size: 3.75rem;
  }
  .u-kbsdata__as-of {
    font-size: 2.5rem;
  }
  .u-kbsdata__image {
    max-height: 160px;
  }
  .u-kbsdata-layout {
    grid-template-columns: 1fr 1fr;
  }
  .u-kbsdata-layout .u-kbsdata {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .u-kbsdata-layout {
    margin-top: 0;
  }
}
