@charset "UTF-8";

/* ========================================== */
/* container */
/* ========================================== */

.container {
    padding-inline: var(--space-40);
}
.container-full {
    padding-inline: 0;
}
.container-xs {
    padding-inline: var(--space-16);
}
.container-sm {
    padding-inline: var(--space-24);
}
.container-md {
    padding-inline: var(--space-32);
}
.container-lg {
    padding-inline: var(--space-40);
}
.container-xl {
    padding-inline: var(--space-48);
}
.container-2xl {
    padding-inline: var(--space-56);
}
.container-3xl {
    padding-inline: var(--space-64);
}
.container-4xl {
    padding-inline: var(--space-72);
}
.container-inner {
    max-width: var(--container-inner-width-xl);
    margin-inline: auto;
}
.container-inner-full {
    max-width: 100%;
}
.container-inner-4xl {
    max-width: var(--container-inner-width-4xl);
}
.container-inner-3xl {
    max-width: var(--container-inner-width-3xl);
}
.container-inner-2xl {
    max-width: var(--container-inner-width-2xl);
}
.container-inner-xl {
    max-width: var(--container-inner-width-xl);
}
.container-inner-lg {
    max-width: var(--container-inner-width-lg);
}
.container-inner-md {
    max-width: var(--container-inner-width-md);
}
.container-inner-sm {
    max-width: var(--container-inner-width-sm);
}

/* ========================================== */
/* utility - section heading
/* ========================================== */

.section-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: var(--font-size-48);
    font-weight: 700;
    text-align: center;
    line-height: 1.4;

    &::after {
        background-color: var(--color-primary);
        content: "";
        display: block;
        width: 1.75em;
        height: 0.17em;
        margin-top: var(--space-24);
    }
    &.color-text-inverted {
        &::after {
            background-color: var(--color-text-inverted);
        }
    }
}

/* ========================================== */
/* utility - color
/* ========================================== */

.bg-primary { background-color: var(--color-primary); }
.bg-primary-exlight { background-color: var(--color-primary-exlight); }
.bg-muted { background-color: var(--color-muted); }
.bg-muted-light { background-color: var(--color-muted-light); }
.bg-muted-exlight { background-color: var(--color-muted-exlight); }
.bg-accent { background-color: var(--color-accent); }
.bg-highlight { background-color: var(--color-highlight); }
.bg-logo { background-color: var(--color-logo); }
.bg-border { background-color: var(--color-border); }
.bg-pink { background-color: var(--color-pink); }

.bg-primary-gradient {
    background: linear-gradient(to right, #6f48dd, #d4b8f7);
}

/* ========================================== */
/* utility - flex/grid & gap */
/* ========================================== */

.flex { display: flex; }
.grid { display: grid; }
.inline-flex { display: inline-flex; }
.inline-grid { display: inline-grid; }

.justify-start { justify-content: flex-start; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }

.items-start { align-items: flex-start; }
.items-end { align-items: flex-end; }
.items-center { align-items: center; }
.items-stretch { align-items: stretch; }

.flex-wrap { flex-wrap: wrap; }
.flex-column { flex-direction: column; }

.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

[class*="md:grid-1"] {
    @media (width <= 800px) {
        grid-template-columns: repeat(1, 1fr);
    }
}
[class*="md:grid-2"] {
    @media (width <= 800px) {
        grid-template-columns: repeat(2, 1fr);
    }
}
[class*="sm:grid-1"] {
    @media (width <= 640px) {
        grid-template-columns: repeat(1, 1fr);
    }
}
[class*="sm:grid-2"] {
    @media (width <= 640px) {
        grid-template-columns: repeat(2, 1fr);
    }
}

.g-4 { gap: var(--space-4); }
.g-8 { gap: var(--space-8); }
.g-12 { gap: var(--space-12); }
.g-16 { gap: var(--space-16); }
.g-20 { gap: var(--space-20); }
.g-24 { gap: var(--space-24); }
.g-28 { gap: var(--space-28); }
.g-32 { gap: var(--space-32); }
.g-36 { gap: var(--space-36); }
.g-40 { gap: var(--space-40); }
.g-44 { gap: var(--space-44); }
.g-48 { gap: var(--space-48); }
.g-52 { gap: var(--space-52); }
.g-56 { gap: var(--space-56); }
.g-60 { gap: var(--space-60); }

.gx-4 { column-gap: var(--space-4); }
.gx-8 { column-gap: var(--space-8); }
.gx-12 { column-gap: var(--space-12); }
.gx-16 { column-gap: var(--space-16); }
.gx-20 { column-gap: var(--space-20); }
.gx-24 { column-gap: var(--space-24); }
.gx-28 { column-gap: var(--space-28); }
.gx-32 { column-gap: var(--space-32); }
.gx-36 { column-gap: var(--space-36); }
.gx-40 { column-gap: var(--space-40); }
.gx-44 { column-gap: var(--space-44); }
.gx-48 { column-gap: var(--space-48); }
.gx-52 { column-gap: var(--space-52); }
.gx-56 { column-gap: var(--space-56); }
.gx-60 { column-gap: var(--space-60); }

@media (width <= 800px) {
    [class*="md:gx-40"] {
        column-gap: var(--space-40);
    }
    [class*="md:gx-32"] {
        column-gap: var(--space-32);
    }
}

.gy-4 { row-gap: var(--space-4); }
.gy-8 { row-gap: var(--space-8); }
.gy-12 { row-gap: var(--space-12); }
.gy-16 { row-gap: var(--space-16); }
.gy-20 { row-gap: var(--space-20); }
.gy-24 { row-gap: var(--space-24); }
.gy-28 { row-gap: var(--space-28); }
.gy-32 { row-gap: var(--space-32); }
.gy-36 { row-gap: var(--space-36); }
.gy-40 { row-gap: var(--space-40); }
.gy-44 { row-gap: var(--space-44); }
.gy-48 { row-gap: var(--space-48); }
.gy-52 { row-gap: var(--space-52); }
.gy-56 { row-gap: var(--space-56); }
.gy-60 { row-gap: var(--space-60); }
.gy-64 { row-gap: var(--space-64); }
.gy-68 { row-gap: var(--space-68); }
.gy-72 { row-gap: var(--space-72); }
.gy-76 { row-gap: var(--space-76); }
.gy-80 { row-gap: var(--space-80); }
.gy-84 { row-gap: var(--space-84); }
.gy-88 { row-gap: var(--space-88); }
.gy-92 { row-gap: var(--space-92); }
.gy-96 { row-gap: var(--space-96); }

/* ========================================== */
/* utility - margin & padding
/* ========================================== */

.mt-4 { margin-top: var(--space-4); }
.mt-8 { margin-top: var(--space-8); }
.mt-12 { margin-top: var(--space-12); }
.mt-16 { margin-top: var(--space-16); }
.mt-20 { margin-top: var(--space-20); }
.mt-24 { margin-top: var(--space-24); }
.mt-28 { margin-top: var(--space-28); }
.mt-32 { margin-top: var(--space-32); }
.mt-36 { margin-top: var(--space-36); }
.mt-40 { margin-top: var(--space-40); }
.mt-44 { margin-top: var(--space-44); }
.mt-48 { margin-top: var(--space-48); }
.mt-52 { margin-top: var(--space-52); }
.mt-56 { margin-top: var(--space-56); }
.mt-60 { margin-top: var(--space-60); }
.mt-64 { margin-top: var(--space-64); }
.mt-68 { margin-top: var(--space-68); }
.mt-72 { margin-top: var(--space-72); }
.mt-76 { margin-top: var(--space-76); }
.mt-80 { margin-top: var(--space-80); }
.mt-84 { margin-top: var(--space-84); }
.mt-88 { margin-top: var(--space-88); }
.mt-92 { margin-top: var(--space-92); }
.mt-96 { margin-top: var(--space-96); }
.mt-100 { margin-top: var(--space-100); }
.mt-120 { margin-top: var(--space-120); }
.mt-140 { margin-top: var(--space-140); }
.mt-150 { margin-top: var(--space-150); }
.mt-170 { margin-top: var(--space-170); }

@media (width <= 640px) {
    [class*="sm:mt-100"] { margin-top: var(--space-100) !important; }
}

.mr-4 { margin-right: var(--space-4); }
.mr-8 { margin-right: var(--space-8); }
.mr-12 { margin-right: var(--space-12); }
.mr-16 { margin-right: var(--space-16); }
.mr-20 { margin-right: var(--space-20); }
.mr-24 { margin-right: var(--space-24); }
.mr-28 { margin-right: var(--space-28); }
.mr-32 { margin-right: var(--space-32); }
.mr-36 { margin-right: var(--space-36); }
.mr-40 { margin-right: var(--space-40); }
.mr-44 { margin-right: var(--space-44); }
.mr-48 { margin-right: var(--space-48); }
.mr-52 { margin-right: var(--space-52); }
.mr-56 { margin-right: var(--space-56); }
.mr-60 { margin-right: var(--space-60); }
.mr-64 { margin-right: var(--space-64); }

.mb-4 { margin-bottom: var(--space-4); }
.mb-8 { margin-bottom: var(--space-8); }
.mb-12 { margin-bottom: var(--space-12); }
.mb-16 { margin-bottom: var(--space-16); }
.mb-20 { margin-bottom: var(--space-20); }
.mb-24 { margin-bottom: var(--space-24); }
.mb-28 { margin-bottom: var(--space-28); }
.mb-32 { margin-bottom: var(--space-32); }
.mb-36 { margin-bottom: var(--space-36); }
.mb-40 { margin-bottom: var(--space-40); }
.mb-44 { margin-bottom: var(--space-44); }
.mb-48 { margin-bottom: var(--space-48); }
.mb-52 { margin-bottom: var(--space-52); }
.mb-56 { margin-bottom: var(--space-56); }
.mb-60 { margin-bottom: var(--space-60); }
.mb-64 { margin-bottom: var(--space-64); }
.mb-100 { margin-bottom: var(--space-100); }

.ml-4 { margin-left: var(--space-4); }
.ml-8 { margin-left: var(--space-8); }
.ml-12 { margin-left: var(--space-12); }
.ml-16 { margin-left: var(--space-16); }
.ml-20 { margin-left: var(--space-20); }
.ml-24 { margin-left: var(--space-24); }
.ml-28 { margin-left: var(--space-28); }
.ml-32 { margin-left: var(--space-32); }
.ml-36 { margin-left: var(--space-36); }
.ml-40 { margin-left: var(--space-40); }
.ml-44 { margin-left: var(--space-44); }
.ml-48 { margin-left: var(--space-48); }
.ml-52 { margin-left: var(--space-52); }
.ml-56 { margin-left: var(--space-56); }
.ml-60 { margin-left: var(--space-60); }
.ml-64 { margin-left: var(--space-64); }

.mi-auto { margin-inline: auto; }
img.mi-auto { display: block; }

.p-4 { padding: var(--space-4); }
.p-8 { padding: var(--space-8); }
.p-12 { padding: var(--space-12); }
.p-16 { padding: var(--space-16); }
.p-20 { padding: var(--space-20); }
.p-24 { padding: var(--space-24); }
.p-28 { padding: var(--space-28); }
.p-32 { padding: var(--space-32); }
.p-36 { padding: var(--space-36); }
.p-40 { padding: var(--space-40); }
.p-44 { padding: var(--space-44); }
.p-48 { padding: var(--space-48); }
.p-52 { padding: var(--space-52); }
.p-56 { padding: var(--space-56); }
.p-60 { padding: var(--space-60); }
.p-64 { padding: var(--space-64); }

.px-4 { padding-inline: var(--space-4); }
.px-8 { padding-inline: var(--space-8); }
.px-12 { padding-inline: var(--space-12); }
.px-16 { padding-inline: var(--space-16); }
.px-20 { padding-inline: var(--space-20); }
.px-24 { padding-inline: var(--space-24); }
.px-28 { padding-inline: var(--space-28); }
.px-32 { padding-inline: var(--space-32); }
.px-36 { padding-inline: var(--space-36); }
.px-40 { padding-inline: var(--space-40); }
.px-44 { padding-inline: var(--space-44); }
.px-48 { padding-inline: var(--space-48); }
.px-52 { padding-inline: var(--space-52); }
.px-56 { padding-inline: var(--space-56); }
.px-60 { padding-inline: var(--space-60); }
.px-64 { padding-inline: var(--space-64); }

.py-4 { padding-block: var(--space-4); }
.py-8 { padding-block: var(--space-8); }
.py-12 { padding-block: var(--space-12); }
.py-16 { padding-block: var(--space-16); }
.py-20 { padding-block: var(--space-20); }
.py-24 { padding-block: var(--space-24); }
.py-28 { padding-block: var(--space-28); }
.py-32 { padding-block: var(--space-32); }
.py-36 { padding-block: var(--space-36); }
.py-40 { padding-block: var(--space-40); }
.py-44 { padding-block: var(--space-44); }
.py-48 { padding-block: var(--space-48); }
.py-52 { padding-block: var(--space-52); }
.py-56 { padding-block: var(--space-56); }
.py-60 { padding-block: var(--space-60); }
.py-64 { padding-block: var(--space-64); }
.py-68 { padding-block: var(--space-68); }
.py-72 { padding-block: var(--space-72); }
.py-76 { padding-block: var(--space-76); }
.py-80 { padding-block: var(--space-80); }
.py-84 { padding-block: var(--space-84); }
.py-88 { padding-block: var(--space-88); }
.py-92 { padding-block: var(--space-92); }
.py-96 { padding-block: var(--space-96); }
.py-100 { padding-block: var(--space-100); }

.pt-4 { padding-top: var(--space-4); }
.pt-8 { padding-top: var(--space-8); }
.pt-12 { padding-top: var(--space-12); }
.pt-16 { padding-top: var(--space-16); }
.pt-20 { padding-top: var(--space-20); }
.pt-24 { padding-top: var(--space-24); }
.pt-28 { padding-top: var(--space-28); }
.pt-32 { padding-top: var(--space-32); }
.pt-36 { padding-top: var(--space-36); }
.pt-40 { padding-top: var(--space-40); }
.pt-44 { padding-top: var(--space-44); }
.pt-48 { padding-top: var(--space-48); }
.pt-52 { padding-top: var(--space-52); }
.pt-56 { padding-top: var(--space-56); }
.pt-60 { padding-top: var(--space-60); }
.pt-64 { padding-top: var(--space-64); }
.pt-68 { padding-top: var(--space-68); }
.pt-72 { padding-top: var(--space-72); }
.pt-76 { padding-top: var(--space-76); }
.pt-80 { padding-top: var(--space-80); }
.pt-84 { padding-top: var(--space-84); }
.pt-88 { padding-top: var(--space-88); }
.pt-92 { padding-top: var(--space-92); }
.pt-96 { padding-top: var(--space-96); }
.pt-100 { padding-top: var(--space-100); }
.pt-140 { padding-top: var(--space-140); }
.pt-200 { padding-top: var(--space-200); }

.pr-4 { padding-right: var(--space-4); }
.pr-8 { padding-right: var(--space-8); }
.pr-12 { padding-right: var(--space-12); }
.pr-16 { padding-right: var(--space-16); }
.pr-20 { padding-right: var(--space-20); }
.pr-24 { padding-right: var(--space-24); }
.pr-28 { padding-right: var(--space-28); }
.pr-32 { padding-right: var(--space-32); }
.pr-36 { padding-right: var(--space-36); }
.pr-40 { padding-right: var(--space-40); }
.pr-44 { padding-right: var(--space-44); }
.pr-48 { padding-right: var(--space-48); }
.pr-52 { padding-right: var(--space-52); }
.pr-56 { padding-right: var(--space-56); }
.pr-60 { padding-right: var(--space-60); }
.pr-64 { padding-right: var(--space-64); }

.pb-4 { padding-bottom: var(--space-4); }
.pb-8 { padding-bottom: var(--space-8); }
.pb-12 { padding-bottom: var(--space-12); }
.pb-16 { padding-bottom: var(--space-16); }
.pb-20 { padding-bottom: var(--space-20); }
.pb-24 { padding-bottom: var(--space-24); }
.pb-28 { padding-bottom: var(--space-28); }
.pb-32 { padding-bottom: var(--space-32); }
.pb-36 { padding-bottom: var(--space-36); }
.pb-40 { padding-bottom: var(--space-40); }
.pb-44 { padding-bottom: var(--space-44); }
.pb-48 { padding-bottom: var(--space-48); }
.pb-52 { padding-bottom: var(--space-52); }
.pb-56 { padding-bottom: var(--space-56); }
.pb-60 { padding-bottom: var(--space-60); }
.pb-64 { padding-bottom: var(--space-64); }
.pb-68 { padding-bottom: var(--space-68); }
.pb-72 { padding-bottom: var(--space-72); }
.pb-76 { padding-bottom: var(--space-76); }
.pb-80 { padding-bottom: var(--space-80); }
.pb-84 { padding-bottom: var(--space-84); }
.pb-88 { padding-bottom: var(--space-88); }
.pb-92 { padding-bottom: var(--space-92); }
.pb-96 { padding-bottom: var(--space-96); }
.pb-100 { padding-bottom: var(--space-100); }
.pb-120 { padding-bottom: var(--space-120); }
.pb-140 { padding-bottom: var(--space-140); }
.pb-170 { padding-bottom: var(--space-170); }

.pl-4 { padding-left: var(--space-4); }
.pl-8 { padding-left: var(--space-8); }
.pl-12 { padding-left: var(--space-12); }
.pl-16 { padding-left: var(--space-16); }
.pl-20 { padding-left: var(--space-20); }
.pl-24 { padding-left: var(--space-24); }
.pl-28 { padding-left: var(--space-28); }
.pl-32 { padding-left: var(--space-32); }
.pl-36 { padding-left: var(--space-36); }
.pl-40 { padding-left: var(--space-40); }
.pl-44 { padding-left: var(--space-44); }
.pl-48 { padding-left: var(--space-48); }
.pl-52 { padding-left: var(--space-52); }
.pl-56 { padding-left: var(--space-56); }
.pl-60 { padding-left: var(--space-60); }
.pl-64 { padding-left: var(--space-64); }

/* ========================================== */
/* utility - text */
/* ========================================== */

.font-montserrat {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}

.font-zen-kaku {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}

.font-zen-maru {
    font-family: "Zen Maru Gothic", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}

.text-12 { font-size: var(--font-size-12); }
.text-14 { font-size: var(--font-size-14); }
.text-16 { font-size: var(--font-size-16); }
.text-18 { font-size: var(--font-size-18); }
.text-20 { font-size: var(--font-size-20); }
.text-22 { font-size: var(--font-size-22); line-height: 1.4; }
.text-24 { font-size: var(--font-size-24); line-height: 1.4; }
.text-28 { font-size: var(--font-size-28); line-height: 1.4; }
.text-32 { font-size: var(--font-size-32); line-height: 1.4; }
.text-36 { font-size: var(--font-size-36); line-height: 1.4; }
.text-40 { font-size: var(--font-size-40); line-height: 1.4; }
.text-44 { font-size: var(--font-size-44); line-height: 1.4; }
.text-48 { font-size: var(--font-size-48); line-height: 1.4; }
.text-52 { font-size: var(--font-size-52); line-height: 1.4; }
.text-56 { font-size: var(--font-size-56); line-height: 1.4; }
.text-60 { font-size: var(--font-size-60); line-height: 1.4; }
.text-64 { font-size: var(--font-size-64); line-height: 1.4; }

@media (width <= 1024px) {
    [class*="lg:text-36"] { font-size: var(--font-size-36) !important; }
    [class*="lg:text-32"] { font-size: var(--font-size-32) !important; }
    [class*="lg:text-28"] { font-size: var(--font-size-28) !important; }
    [class*="lg:text-24"] { font-size: var(--font-size-24) !important; }
    [class*="lg:text-22"] { font-size: var(--font-size-22) !important; }
    [class*="lg:text-20"] { font-size: var(--font-size-20) !important; }
}
@media (width <= 800px) {
    [class*="md:text-36"] { font-size: var(--font-size-36) !important; }
    [class*="md:text-32"] { font-size: var(--font-size-32) !important; }
    [class*="md:text-28"] { font-size: var(--font-size-28) !important; }
    [class*="md:text-24"] { font-size: var(--font-size-24) !important; }
    [class*="md:text-22"] { font-size: var(--font-size-22) !important; }
    [class*="md:text-20"] { font-size: var(--font-size-20) !important; }
}
@media (width <= 640px) {
    [class*="sm:text-48"] { font-size: var(--font-size-48) !important; }
    [class*="sm:text-44"] { font-size: var(--font-size-44) !important; }
    [class*="sm:text-40"] { font-size: var(--font-size-40) !important; }
    [class*="sm:text-36"] { font-size: var(--font-size-36) !important; }
    [class*="sm:text-32"] { font-size: var(--font-size-32) !important; }
    [class*="sm:text-28"] { font-size: var(--font-size-28) !important; }
    [class*="sm:text-24"] { font-size: var(--font-size-24) !important; }
    [class*="sm:text-22"] { font-size: var(--font-size-22) !important; }
    [class*="sm:text-20"] { font-size: var(--font-size-20) !important; }
}
@media (width <= 480px) {
    [class*="xs:text-48"] { font-size: var(--font-size-48) !important; }
    [class*="xs:text-44"] { font-size: var(--font-size-44) !important; }
    [class*="xs:text-40"] { font-size: var(--font-size-40) !important; }
    [class*="xs:text-36"] { font-size: var(--font-size-36) !important; }
    [class*="xs:text-32"] { font-size: var(--font-size-32) !important; }
    [class*="xs:text-28"] { font-size: var(--font-size-28) !important; }
    [class*="xs:text-24"] { font-size: var(--font-size-24) !important; }
    [class*="xs:text-22"] { font-size: var(--font-size-22) !important; }
    [class*="xs:text-20"] { font-size: var(--font-size-20) !important; }
    [class*="xs:text-18"] { font-size: var(--font-size-18) !important; }
    [class*="xs:text-16"] { font-size: var(--font-size-16) !important; }
    [class*="xs:text-14"] { font-size: var(--font-size-14) !important; }
    [class*="xs:text-12"] { font-size: var(--font-size-12) !important; }
}

.text-bold { font-weight: bold; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.leading-100 { line-height: 1; }
.leading-140 { line-height: 1.4; }
.leading-200 { line-height: 2; }

.word {
    display: inline-block;
}

[class*="xs:br"] {
    display: inline;
    
    @media (width > 480px) {
        display: none;
    }
}
[class*="xs+:br"] {
    display: none;
    
    @media (width > 480px) {
        display: inline;
    }
}
[class*="sm+:br"] {
    display: none;

    @media (width > 640px) {
        display: inline;
    }
}

.color-primary { color: var(--color-primary); }
.color-text-inverted { color: var(--color-text-inverted); }
.color-muted { color: var(--color-muted); }
.color-logo { color: var(--color-logo); }

.highlight {
    background: linear-gradient(transparent 60%, var(--color-highlight, #ffe57f) 0%);
  display: inline;

  &.word {
    display: inline-block;
  }
}
.fukidashi-line {
    position: relative;
    width: fit-content;
    margin-inline: auto;
    padding-inline: 1em;

    &::before,
    &::after {
        content: "";
        background: 50% 50% / contain no-repeat;
        position: absolute;
        bottom: .1em;
        width: auto;
        height: 75%;
        max-height: 5.2rem;
        aspect-ratio: 21 / 52;
    }
    &::before {
        left: 0;
        background-image: url(../img/fukidashi-line-before.svg);
    }
    &::after {
        right: 0;
        background-image: url(../img/fukidashi-line-after.svg);
    }
    
    &.color-text-inverted {
        color: var(--color-text-inverted);

        &::before {
            background-image: url(../img/fukidashi-line-inverted-before.svg);
        }
        &::after {
            background-image: url(../img/fukidashi-line-inverted-after.svg);
        }
    }
}

/* ========================================== */
/* utility - border */
/* ========================================== */

.radius-10 { border-radius: clamp(0.7rem, 0.598rem + 0.43vw, 1rem); }
.radius-20 { border-radius: clamp(1.2rem, 0.929rem + 1.16vw, 2rem); }

/* ========================================== */
/* utility - list */
/* ========================================== */

.list-disc {
    list-style: disc;
    padding-left: 1.25em;
}

.list-decimal {
    list-style: decimal;
    padding-left: 1.5em;
}

/* ========================================== */
/* utility - width */
/* ========================================== */

.w100 {
    width: 100%;
}
.w90 {
    width: 90%;
}
.w80 {
    width: 80%;
}

/* ========================================== */
/* parallax */
/* ========================================== */

.parallax {
    transition: all .5s;
}