/*
----------------------------------------

block-text

----------------------------------------
*/

.block-text {
  position: relative;

  --color-black: #211d1a;

  --line-height-xl: 1.4;
  --letter-spacing-xl: 0.08em;

  --line-height-lg: 1.75;
  --letter-spacing-lg: 0.1em;

  --line-height-md: 1.75;
  --letter-spacing-md: 0.1em;

  --line-height-sm: 1.75;
  --letter-spacing-sm: 0.1em;

  --line-height-xs: 1.75;
  --letter-spacing-xs: 0.1em;
}

.block-text * {
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  font-weight: inherit;
}

.block-text .text * {
  font-family: var(--font-heisei-mincho-std);
  font-weight: 500;
  color: var(--color-black);
}

.block-text .text.--align-center * {
  text-align: center;
}

.block-text .text.--align-left * {
  text-align: left;
}

.block-text .text.--align-right * {
  text-align: right;
}

.block-text .text.--border-bottom-on * {
  padding-bottom: clamp(10px, calc(100vw * 20 / 1440), 20px);
  border-bottom: 1px solid currentColor;
}

.block-text .text.--font-size-xl * {
  font-size: clamp(32px, calc(100vw * 48 / 1440), 48px);
  line-height: var(--line-height-xl);
  letter-spacing: var(--letter-spacing-xl);
}

.block-text .text.--font-size-lg * {
  font-size: clamp(24px, calc(100vw * 32 / 1440), 32px);
  line-height: var(--line-height-lg);
  letter-spacing: var(--letter-spacing-lg);
}

.block-text .text.--font-size-md * {
  font-size: clamp(16px, calc(100vw * 24 / 1440), 24px);
  line-height: var(--line-height-md);
  letter-spacing: var(--letter-spacing-md);
}

.block-text .text.--font-size-sm * {
  font-size: clamp(14px, calc(100vw * 16 / 1440), 16px);
  line-height: var(--line-height-sm);
  letter-spacing: var(--letter-spacing-sm);
}

.block-text .text.--font-size-xs * {
  font-size: clamp(10px, calc(100vw * 12 / 1440), 12px);
  line-height: var(--line-height-xs);
  letter-spacing: var(--letter-spacing-xs);
}

@media screen and (max-width: 750px) {
  .block-text {
    padding-block: calc(100vw * 40 / 750);
    padding-inline: calc(100vw * 20 / 750);
  }

  .block-text .text.--font-size-xl * {
    font-size: clamp(24px, calc(100vw * 48 / 750), 48px);
  }

  .block-text .text.--font-size-lg * {
    font-size: clamp(20px, calc(100vw * 32 / 750), 32px);
  }

  .block-text .text.--font-size-md * {
    font-size: clamp(16px, calc(100vw * 24 / 750), 24px);
  }

  .block-text .text.--font-size-sm * {
    font-size: clamp(14px, calc(100vw * 16 / 750), 16px);
  }

  .block-text .text.--font-size-xs * {
    font-size: clamp(10px, calc(100vw * 12 / 750), 12px);
  }
}
