
:root {
    --fs-xxs: 1.4rem;
    --fs-xs: 1.6rem;
    --fs-s: 2rem;
    --fs-m: 2.4rem;
    --fs-l: 2.8rem;
    --fs-xl:4rem; /* clamp(30px, 5vw + 0.5rem, 40px); */
    --fs-xxl: 7.5rem;
    /* hero */
    --fs-hero-xl: 40px;
    --fs-hero-m: 28px;
    --fs-hero-l: 28px;   

    /* line-height */
    --lh-xs: 1;
    --lh-s: 1.2;
    --lh-m: 1.5;
    --bp-xs: 480px;
    --bp-s: 576px;
    --bp-m: 768px;
    --pb-l: 1200px;
    --pb-xl: 1440px; 
    --fs-logo:clamp(16px, calc(-11.429px + 8.571vw), 40px);
}

@media(max-width: 799.8px){
    :root{
        --fs-m: 2rem;
        --fs-xl:3.5rem;
    }

}

.txt--main-color {
    color: var(--main-color);
}

.t-fs--xxs {
    font-size: var(--fs-xxs);
}

.t-fs--xs {
    font-size: var(--fs-xs);
}

.t-fs--s {
    font-size: var(--fs-s);
}

.t-fs--m {
    font-size: var(--fs-m);
}

.t-fs--l {
    font-size: var(--fs-l);
}

.t-fs--xl {
    font-size: var(--fs-xl);
     margin-bottom: 0.5em;
     letter-spacing: -1px;
     line-height: 1;
}

.t-fs--xxl {
    font-size: var(--fs-xxl);
    letter-spacing: -1px;
    line-height: 1;
}

.t-fs--m, .t-fs--m > p{
    font-size: var(--fs-m);
    margin-bottom: 0.5em;
}

.t-fw-s{
    font-weight: 300;
}

.t-fw-sm{
    font-weight: 400;
}

.t-fw-s{
    font-weight: 800;
}

.t-fw-sm{
    font-weight: 900;
}

p{
    font-size: var(--fs-xs);
}

.t-ac{
    text-align: center;
}

.t--underline{
    text-decoration: underline;
}