/* GENERATED FILE — DO NOT EDIT BY HAND.
 * Source: specs/business-requirements/ui/design/figma/design-tokens.json
 * Generator: tools/PreDevelopment/figma_css_tokens/build_css_foundation.py
 * Step 3 of plans/figma-atomic-taghelper-dynamic-ui-renderer-plan.md
 */

:root {
  /* typography per-property variables (size, weight, etc.) */
  --sjmn-font-single-line-text-body-small-family: "Noto Sans JP";
  --sjmn-font-single-line-text-body-small-size: 14px;
  --sjmn-font-single-line-text-body-small-weight: 400;
  --sjmn-font-single-line-text-body-small-line-height: 1;
  --sjmn-font-single-line-text-body-small-letter-spacing: 0;
  --sjmn-font-single-line-large-bold-family: "Noto Sans JP";
  --sjmn-font-single-line-large-bold-size: 18px;
  --sjmn-font-single-line-large-bold-weight: 700;
  --sjmn-font-single-line-large-bold-line-height: 1;
  --sjmn-font-single-line-large-bold-letter-spacing: 0;
  --sjmn-font-single-line-large-regular-family: "Noto Sans JP";
  --sjmn-font-single-line-large-regular-size: 18px;
  --sjmn-font-single-line-large-regular-weight: 400;
  --sjmn-font-single-line-large-regular-line-height: 1;
  --sjmn-font-single-line-large-regular-letter-spacing: 0;
  --sjmn-font-single-line-small-bold-family: "Noto Sans JP";
  --sjmn-font-single-line-small-bold-size: 14px;
  --sjmn-font-single-line-small-bold-weight: 700;
  --sjmn-font-single-line-small-bold-line-height: 1;
  --sjmn-font-single-line-small-bold-letter-spacing: 0;
  --sjmn-font-single-line-small-regular-family: "Noto Sans JP";
  --sjmn-font-single-line-small-regular-size: 14px;
  --sjmn-font-single-line-small-regular-weight: 400;
  --sjmn-font-single-line-small-regular-line-height: 1;
  --sjmn-font-single-line-small-regular-letter-spacing: 0;
  --sjmn-font-single-line-standard-bold-family: "Noto Sans JP";
  --sjmn-font-single-line-standard-bold-size: 16px;
  --sjmn-font-single-line-standard-bold-weight: 700;
  --sjmn-font-single-line-standard-bold-line-height: 1;
  --sjmn-font-single-line-standard-bold-letter-spacing: 0;
  --sjmn-font-single-line-standard-regular-family: "Noto Sans JP";
  --sjmn-font-single-line-standard-regular-size: 16px;
  --sjmn-font-single-line-standard-regular-weight: 400;
  --sjmn-font-single-line-standard-regular-line-height: 1;
  --sjmn-font-single-line-standard-regular-letter-spacing: 0;
  --sjmn-font-pc-heading-mid-bold-family: "Noto Sans JP";
  --sjmn-font-pc-heading-mid-bold-size: 24px;
  --sjmn-font-pc-heading-mid-bold-weight: 700;
  --sjmn-font-pc-heading-mid-bold-line-height: 1.2;
  --sjmn-font-pc-heading-mid-bold-letter-spacing: 0;
  --sjmn-font-pc-heading-large-bold-family: "Noto Sans JP";
  --sjmn-font-pc-heading-large-bold-size: 32px;
  --sjmn-font-pc-heading-large-bold-weight: 700;
  --sjmn-font-pc-heading-large-bold-line-height: 1.5;
  --sjmn-font-pc-heading-large-bold-letter-spacing: 0;
  --sjmn-font-pc-heading-large-regular-family: "Noto Sans JP";
  --sjmn-font-pc-heading-large-regular-size: 32px;
  --sjmn-font-pc-heading-large-regular-weight: 400;
  --sjmn-font-pc-heading-large-regular-line-height: 1.5;
  --sjmn-font-pc-heading-large-regular-letter-spacing: 0;
  --sjmn-font-pc-heading-small-bold-family: "Noto Sans JP";
  --sjmn-font-pc-heading-small-bold-size: 22px;
  --sjmn-font-pc-heading-small-bold-weight: 700;
  --sjmn-font-pc-heading-small-bold-line-height: 1.5;
  --sjmn-font-pc-heading-small-bold-letter-spacing: 0;
  --sjmn-font-pc-heading-small-regular-family: "Noto Sans JP";
  --sjmn-font-pc-heading-small-regular-size: 22px;
  --sjmn-font-pc-heading-small-regular-weight: 400;
  --sjmn-font-pc-heading-small-regular-line-height: 1.5;
  --sjmn-font-pc-heading-small-regular-letter-spacing: 0;
  --sjmn-font-sp-heading-large-bold-family: "Noto Sans JP";
  --sjmn-font-sp-heading-large-bold-size: 32px;
  --sjmn-font-sp-heading-large-bold-weight: 700;
  --sjmn-font-sp-heading-large-bold-line-height: 1.5;
  --sjmn-font-sp-heading-large-bold-letter-spacing: 0;
  --sjmn-font-sp-heading-large-regular-family: "Noto Sans JP";
  --sjmn-font-sp-heading-large-regular-size: 32px;
  --sjmn-font-sp-heading-large-regular-weight: 400;
  --sjmn-font-sp-heading-large-regular-line-height: 1.5;
  --sjmn-font-sp-heading-large-regular-letter-spacing: 0;
  --sjmn-font-text-body-small-family: "Noto Sans JP";
  --sjmn-font-text-body-small-size: 14px;
  --sjmn-font-text-body-small-weight: 400;
  --sjmn-font-text-body-small-line-height: 1.5;
  --sjmn-font-text-body-small-letter-spacing: 0;
  --sjmn-font-body-12px-regular-family: "Noto Sans JP";
  --sjmn-font-body-12px-regular-size: 12px;
  --sjmn-font-body-12px-regular-weight: 400;
  --sjmn-font-body-12px-regular-line-height: 16;
  --sjmn-font-body-12px-regular-letter-spacing: 0;
  --sjmn-font-body-16px-bold-family: "Noto Sans JP";
  --sjmn-font-body-16px-bold-size: 16px;
  --sjmn-font-body-16px-bold-weight: 700;
  --sjmn-font-body-16px-bold-line-height: 1.5;
  --sjmn-font-body-16px-bold-letter-spacing: 3;
  --sjmn-font-body-16px-regular-family: "Noto Sans JP";
  --sjmn-font-body-16px-regular-size: 16px;
  --sjmn-font-body-16px-regular-weight: 400;
  --sjmn-font-body-16px-regular-line-height: 1.5;
  --sjmn-font-body-16px-regular-letter-spacing: 0;
  --sjmn-font-date-family: "Noto Sans JP";
  --sjmn-font-date-size: 16px;
  --sjmn-font-date-weight: 700;
  --sjmn-font-date-line-height: 1.5;
  --sjmn-font-date-letter-spacing: 0;
  --sjmn-font-date-notice-16pt-family: "Noto Sans JP";
  --sjmn-font-date-notice-16pt-size: 16px;
  --sjmn-font-date-notice-16pt-weight: 400;
  --sjmn-font-date-notice-16pt-line-height: 1.5;
  --sjmn-font-date-notice-16pt-letter-spacing: 0;
  --sjmn-font-body-large-18bold-family: "Noto Sans JP";
  --sjmn-font-body-large-18bold-size: 18px;
  --sjmn-font-body-large-18bold-weight: 700;
  --sjmn-font-body-large-18bold-line-height: 1.6;
  --sjmn-font-body-large-18bold-letter-spacing: 0;
  --sjmn-font-body-large-bold-family: "Noto Sans JP";
  --sjmn-font-body-large-bold-size: 18px;
  --sjmn-font-body-large-bold-weight: 700;
  --sjmn-font-body-large-bold-line-height: 1.6;
  --sjmn-font-body-large-bold-letter-spacing: 0;
  --sjmn-font-body-large-regular-family: "Noto Sans JP";
  --sjmn-font-body-large-regular-size: 18px;
  --sjmn-font-body-large-regular-weight: 400;
  --sjmn-font-body-large-regular-line-height: 1.6;
  --sjmn-font-body-large-regular-letter-spacing: 0;
  --sjmn-font-body-small-bold-family: "Noto Sans JP";
  --sjmn-font-body-small-bold-size: 14px;
  --sjmn-font-body-small-bold-weight: 700;
  --sjmn-font-body-small-bold-line-height: 1.5;
  --sjmn-font-body-small-bold-letter-spacing: 0;
  --sjmn-font-body-small-regular-family: "Noto Sans JP";
  --sjmn-font-body-small-regular-size: 14px;
  --sjmn-font-body-small-regular-weight: 400;
  --sjmn-font-body-small-regular-line-height: 1.5;
  --sjmn-font-body-small-regular-letter-spacing: 0;
  --sjmn-font-body-standard-bold-family: "Noto Sans JP";
  --sjmn-font-body-standard-bold-size: 16px;
  --sjmn-font-body-standard-bold-weight: 700;
  --sjmn-font-body-standard-bold-line-height: 1.5;
  --sjmn-font-body-standard-bold-letter-spacing: 0;
  --sjmn-font-body-standard-regular-family: "Noto Sans JP";
  --sjmn-font-body-standard-regular-size: 16px;
  --sjmn-font-body-standard-regular-weight: 400;
  --sjmn-font-body-standard-regular-line-height: 1.5;
  --sjmn-font-body-standard-regular-letter-spacing: 0;
  --sjmn-font-heading-18-family: "Noto Sans JP";
  --sjmn-font-heading-18-size: 18px;
  --sjmn-font-heading-18-weight: 700;
  --sjmn-font-heading-18-line-height: 1.5;
  --sjmn-font-heading-18-letter-spacing: 0;
  --sjmn-font-heading-24-family: "Noto Sans JP";
  --sjmn-font-heading-24-size: 24px;
  --sjmn-font-heading-24-weight: 700;
  --sjmn-font-heading-24-line-height: 1.5;
  --sjmn-font-heading-24-letter-spacing: 0;
  --sjmn-font-heading-32-family: "Noto Sans JP";
  --sjmn-font-heading-32-size: 32px;
  --sjmn-font-heading-32-weight: 700;
  --sjmn-font-heading-32-line-height: 1.5;
  --sjmn-font-heading-32-letter-spacing: 0;
}

/* Typography utility classes — apply all five properties at once. */
.sjmn-font-single-line-text-body-small {
  font-family: var(--sjmn-font-single-line-text-body-small-family);
  font-size: var(--sjmn-font-single-line-text-body-small-size);
  font-weight: var(--sjmn-font-single-line-text-body-small-weight);
  line-height: var(--sjmn-font-single-line-text-body-small-line-height);
  letter-spacing: var(--sjmn-font-single-line-text-body-small-letter-spacing);
}

.sjmn-font-single-line-large-bold {
  font-family: var(--sjmn-font-single-line-large-bold-family);
  font-size: var(--sjmn-font-single-line-large-bold-size);
  font-weight: var(--sjmn-font-single-line-large-bold-weight);
  line-height: var(--sjmn-font-single-line-large-bold-line-height);
  letter-spacing: var(--sjmn-font-single-line-large-bold-letter-spacing);
}

.sjmn-font-single-line-large-regular {
  font-family: var(--sjmn-font-single-line-large-regular-family);
  font-size: var(--sjmn-font-single-line-large-regular-size);
  font-weight: var(--sjmn-font-single-line-large-regular-weight);
  line-height: var(--sjmn-font-single-line-large-regular-line-height);
  letter-spacing: var(--sjmn-font-single-line-large-regular-letter-spacing);
}

.sjmn-font-single-line-small-bold {
  font-family: var(--sjmn-font-single-line-small-bold-family);
  font-size: var(--sjmn-font-single-line-small-bold-size);
  font-weight: var(--sjmn-font-single-line-small-bold-weight);
  line-height: var(--sjmn-font-single-line-small-bold-line-height);
  letter-spacing: var(--sjmn-font-single-line-small-bold-letter-spacing);
}

.sjmn-font-single-line-small-regular {
  font-family: var(--sjmn-font-single-line-small-regular-family);
  font-size: var(--sjmn-font-single-line-small-regular-size);
  font-weight: var(--sjmn-font-single-line-small-regular-weight);
  line-height: var(--sjmn-font-single-line-small-regular-line-height);
  letter-spacing: var(--sjmn-font-single-line-small-regular-letter-spacing);
}

.sjmn-font-single-line-standard-bold {
  font-family: var(--sjmn-font-single-line-standard-bold-family);
  font-size: var(--sjmn-font-single-line-standard-bold-size);
  font-weight: var(--sjmn-font-single-line-standard-bold-weight);
  line-height: var(--sjmn-font-single-line-standard-bold-line-height);
  letter-spacing: var(--sjmn-font-single-line-standard-bold-letter-spacing);
}

.sjmn-font-single-line-standard-regular {
  font-family: var(--sjmn-font-single-line-standard-regular-family);
  font-size: var(--sjmn-font-single-line-standard-regular-size);
  font-weight: var(--sjmn-font-single-line-standard-regular-weight);
  line-height: var(--sjmn-font-single-line-standard-regular-line-height);
  letter-spacing: var(--sjmn-font-single-line-standard-regular-letter-spacing);
}

.sjmn-font-pc-heading-mid-bold {
  font-family: var(--sjmn-font-pc-heading-mid-bold-family);
  font-size: var(--sjmn-font-pc-heading-mid-bold-size);
  font-weight: var(--sjmn-font-pc-heading-mid-bold-weight);
  line-height: var(--sjmn-font-pc-heading-mid-bold-line-height);
  letter-spacing: var(--sjmn-font-pc-heading-mid-bold-letter-spacing);
}

.sjmn-font-pc-heading-large-bold {
  font-family: var(--sjmn-font-pc-heading-large-bold-family);
  font-size: var(--sjmn-font-pc-heading-large-bold-size);
  font-weight: var(--sjmn-font-pc-heading-large-bold-weight);
  line-height: var(--sjmn-font-pc-heading-large-bold-line-height);
  letter-spacing: var(--sjmn-font-pc-heading-large-bold-letter-spacing);
}

.sjmn-font-pc-heading-large-regular {
  font-family: var(--sjmn-font-pc-heading-large-regular-family);
  font-size: var(--sjmn-font-pc-heading-large-regular-size);
  font-weight: var(--sjmn-font-pc-heading-large-regular-weight);
  line-height: var(--sjmn-font-pc-heading-large-regular-line-height);
  letter-spacing: var(--sjmn-font-pc-heading-large-regular-letter-spacing);
}

.sjmn-font-pc-heading-small-bold {
  font-family: var(--sjmn-font-pc-heading-small-bold-family);
  font-size: var(--sjmn-font-pc-heading-small-bold-size);
  font-weight: var(--sjmn-font-pc-heading-small-bold-weight);
  line-height: var(--sjmn-font-pc-heading-small-bold-line-height);
  letter-spacing: var(--sjmn-font-pc-heading-small-bold-letter-spacing);
}

.sjmn-font-pc-heading-small-regular {
  font-family: var(--sjmn-font-pc-heading-small-regular-family);
  font-size: var(--sjmn-font-pc-heading-small-regular-size);
  font-weight: var(--sjmn-font-pc-heading-small-regular-weight);
  line-height: var(--sjmn-font-pc-heading-small-regular-line-height);
  letter-spacing: var(--sjmn-font-pc-heading-small-regular-letter-spacing);
}

.sjmn-font-sp-heading-large-bold {
  font-family: var(--sjmn-font-sp-heading-large-bold-family);
  font-size: var(--sjmn-font-sp-heading-large-bold-size);
  font-weight: var(--sjmn-font-sp-heading-large-bold-weight);
  line-height: var(--sjmn-font-sp-heading-large-bold-line-height);
  letter-spacing: var(--sjmn-font-sp-heading-large-bold-letter-spacing);
}

.sjmn-font-sp-heading-large-regular {
  font-family: var(--sjmn-font-sp-heading-large-regular-family);
  font-size: var(--sjmn-font-sp-heading-large-regular-size);
  font-weight: var(--sjmn-font-sp-heading-large-regular-weight);
  line-height: var(--sjmn-font-sp-heading-large-regular-line-height);
  letter-spacing: var(--sjmn-font-sp-heading-large-regular-letter-spacing);
}

.sjmn-font-text-body-small {
  font-family: var(--sjmn-font-text-body-small-family);
  font-size: var(--sjmn-font-text-body-small-size);
  font-weight: var(--sjmn-font-text-body-small-weight);
  line-height: var(--sjmn-font-text-body-small-line-height);
  letter-spacing: var(--sjmn-font-text-body-small-letter-spacing);
}

.sjmn-font-body-12px-regular {
  font-family: var(--sjmn-font-body-12px-regular-family);
  font-size: var(--sjmn-font-body-12px-regular-size);
  font-weight: var(--sjmn-font-body-12px-regular-weight);
  line-height: var(--sjmn-font-body-12px-regular-line-height);
  letter-spacing: var(--sjmn-font-body-12px-regular-letter-spacing);
}

.sjmn-font-body-16px-bold {
  font-family: var(--sjmn-font-body-16px-bold-family);
  font-size: var(--sjmn-font-body-16px-bold-size);
  font-weight: var(--sjmn-font-body-16px-bold-weight);
  line-height: var(--sjmn-font-body-16px-bold-line-height);
  letter-spacing: var(--sjmn-font-body-16px-bold-letter-spacing);
}

.sjmn-font-body-16px-regular {
  font-family: var(--sjmn-font-body-16px-regular-family);
  font-size: var(--sjmn-font-body-16px-regular-size);
  font-weight: var(--sjmn-font-body-16px-regular-weight);
  line-height: var(--sjmn-font-body-16px-regular-line-height);
  letter-spacing: var(--sjmn-font-body-16px-regular-letter-spacing);
}

.sjmn-font-date {
  font-family: var(--sjmn-font-date-family);
  font-size: var(--sjmn-font-date-size);
  font-weight: var(--sjmn-font-date-weight);
  line-height: var(--sjmn-font-date-line-height);
  letter-spacing: var(--sjmn-font-date-letter-spacing);
}

.sjmn-font-date-notice-16pt {
  font-family: var(--sjmn-font-date-notice-16pt-family);
  font-size: var(--sjmn-font-date-notice-16pt-size);
  font-weight: var(--sjmn-font-date-notice-16pt-weight);
  line-height: var(--sjmn-font-date-notice-16pt-line-height);
  letter-spacing: var(--sjmn-font-date-notice-16pt-letter-spacing);
}

.sjmn-font-body-large-18bold {
  font-family: var(--sjmn-font-body-large-18bold-family);
  font-size: var(--sjmn-font-body-large-18bold-size);
  font-weight: var(--sjmn-font-body-large-18bold-weight);
  line-height: var(--sjmn-font-body-large-18bold-line-height);
  letter-spacing: var(--sjmn-font-body-large-18bold-letter-spacing);
}

.sjmn-font-body-large-bold {
  font-family: var(--sjmn-font-body-large-bold-family);
  font-size: var(--sjmn-font-body-large-bold-size);
  font-weight: var(--sjmn-font-body-large-bold-weight);
  line-height: var(--sjmn-font-body-large-bold-line-height);
  letter-spacing: var(--sjmn-font-body-large-bold-letter-spacing);
}

.sjmn-font-body-large-regular {
  font-family: var(--sjmn-font-body-large-regular-family);
  font-size: var(--sjmn-font-body-large-regular-size);
  font-weight: var(--sjmn-font-body-large-regular-weight);
  line-height: var(--sjmn-font-body-large-regular-line-height);
  letter-spacing: var(--sjmn-font-body-large-regular-letter-spacing);
}

.sjmn-font-body-small-bold {
  font-family: var(--sjmn-font-body-small-bold-family);
  font-size: var(--sjmn-font-body-small-bold-size);
  font-weight: var(--sjmn-font-body-small-bold-weight);
  line-height: var(--sjmn-font-body-small-bold-line-height);
  letter-spacing: var(--sjmn-font-body-small-bold-letter-spacing);
}

.sjmn-font-body-small-regular {
  font-family: var(--sjmn-font-body-small-regular-family);
  font-size: var(--sjmn-font-body-small-regular-size);
  font-weight: var(--sjmn-font-body-small-regular-weight);
  line-height: var(--sjmn-font-body-small-regular-line-height);
  letter-spacing: var(--sjmn-font-body-small-regular-letter-spacing);
}

.sjmn-font-body-standard-bold {
  font-family: var(--sjmn-font-body-standard-bold-family);
  font-size: var(--sjmn-font-body-standard-bold-size);
  font-weight: var(--sjmn-font-body-standard-bold-weight);
  line-height: var(--sjmn-font-body-standard-bold-line-height);
  letter-spacing: var(--sjmn-font-body-standard-bold-letter-spacing);
}

.sjmn-font-body-standard-regular {
  font-family: var(--sjmn-font-body-standard-regular-family);
  font-size: var(--sjmn-font-body-standard-regular-size);
  font-weight: var(--sjmn-font-body-standard-regular-weight);
  line-height: var(--sjmn-font-body-standard-regular-line-height);
  letter-spacing: var(--sjmn-font-body-standard-regular-letter-spacing);
}

.sjmn-font-heading-18 {
  font-family: var(--sjmn-font-heading-18-family);
  font-size: var(--sjmn-font-heading-18-size);
  font-weight: var(--sjmn-font-heading-18-weight);
  line-height: var(--sjmn-font-heading-18-line-height);
  letter-spacing: var(--sjmn-font-heading-18-letter-spacing);
}

.sjmn-font-heading-24 {
  font-family: var(--sjmn-font-heading-24-family);
  font-size: var(--sjmn-font-heading-24-size);
  font-weight: var(--sjmn-font-heading-24-weight);
  line-height: var(--sjmn-font-heading-24-line-height);
  letter-spacing: var(--sjmn-font-heading-24-letter-spacing);
}

.sjmn-font-heading-32 {
  font-family: var(--sjmn-font-heading-32-family);
  font-size: var(--sjmn-font-heading-32-size);
  font-weight: var(--sjmn-font-heading-32-weight);
  line-height: var(--sjmn-font-heading-32-line-height);
  letter-spacing: var(--sjmn-font-heading-32-letter-spacing);
}
