:root {
    --font-family: 'Noto Sans JP', sans-serif;
}

.heading-xxl {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 50px;
    font-weight: 700;
    line-height: 120%; /* 52.8px */
    letter-spacing: -0.88px;
}

.heading-xl {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 44px;
    font-weight: 700;
    line-height: 120%; /* 52.8px */
    letter-spacing: -0.88px;
}

.heading-l {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 40px;
    font-weight: 700;
    line-height: 120%; /* 48px */
    letter-spacing: -0.8px;
}

.heading-m {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 32px;
    font-weight: 700;
    line-height: 120%; /* 48px */
    letter-spacing: -0.64px;
}

.heading-s {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 28px;
    font-weight: 700;
    line-height: 120%; /* 33.6px */
    letter-spacing: -0.56px;
}

.heading-xs {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 26px;
    font-weight: 700;
    line-height: 124%; /* 32.24px */
    letter-spacing: -0.52px;
}

.heading-xxs {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 22px;
    font-weight: 700;
    line-height: 120%; /* 26.4px */
    letter-spacing: -0.44px;
}

.subtitle-xl {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 24px;
    font-weight: 700;
    line-height: 120%; /* 28.8px */
    letter-spacing: 0.24px;
}

.subtitle-l {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 22px;
    font-weight: 700;
    line-height: 120%; /* 26.4px */
    letter-spacing: 0.22px;
}

.subtitle-m {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 18px;
    font-weight: 700;
    line-height: 120%; /* 21.6px */
    letter-spacing: 0.36px;
}

.subtitle-s {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 16px;
    font-weight: 700;
    line-height: 124%; /* 19.84px */
    letter-spacing: 0.32px;
}

.subtitle-xs {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 14px;
    font-weight: 700;
    line-height: 154%; /* 21.56px */
    letter-spacing: 0.28px;
}

.body-xxl {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 20px;
    font-weight: 400;
    line-height: 150%; /* 30px */
    letter-spacing: 0.2px;
}

.body-xl {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 18px;
    font-weight: 400;
    line-height: 154%; /* 27.72px */
    letter-spacing: 0.18px;
}

.body-l {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%; /* 24px */
    letter-spacing: 0.16px;
}

.body-m {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 14px;
    font-weight: 400;
    line-height: 154%; /* 21.56px */
    letter-spacing: 0.14px;
}

.body-s {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 12px;
    font-weight: 400;
    line-height: 150%; /* 18px */
    letter-spacing: 0.12px;
}

.body-xs {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 10px;
    font-weight: 400;
    line-height: 156%; /* 15.6px */
    letter-spacing: 0.2px;
}

.t-caption {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 12px;
    font-weight: 400;
    line-height: 150%; /* 18px */
    letter-spacing: 0.48px;
}

.t-disclaimer {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 10px;
    font-weight: 400;
    line-height: 160%; /* 16px */
    letter-spacing: 0.2px;
}

.t-link-xl {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 18px;
    font-weight: 400;
    line-height: 154%; /* 27.72px */
    letter-spacing: 0.18px;
}

.t-link-l {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%; /* 24px */
    letter-spacing: 0.16px;
}

.t-link-m {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 14px;
    font-weight: 400;
    line-height: 144%; /* 20.16px */
    letter-spacing: 0.14px;
}

.t-link-s {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 12px;
    font-weight: 400;
    line-height: 146%; /* 17.52px */
    letter-spacing: 0.12px;
}

.t-link-xs {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 10px;
    font-weight: 400;
    line-height: 146%;
    letter-spacing: 0.12px;
}

.t-button-xl {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 18px;
    font-weight: 400;
    line-height: 100%; /* 18px */
    letter-spacing: 0.18px;
}

.t-button-l {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0.16px;
}

.t-button-m {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 14px;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0.14px;
}

.t-button-s {
    font-family: var(--font-family);
    font-style: normal;
    font-size: 12px;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0.12px;
}
