.teton-container {
    --teton-nav-height: 76px;
    --teton-section-padding-lr: 8.854166vw;
}

.teton-section {
    display: block;
    position: relative;
}

.teton-container h2 {
    font-size: 6.25vw;
    /* 120px */
    font-weight: bold;
    line-height: 1.25;
}

.teton-container h3 {
    font-size: 4.166667vw;
    /* 80px */
    font-weight: bold;
    line-height: 1.25;
}

.teton-container h4 {
    font-size: 3.333333vw;
    /* 64px */
    font-weight: bold;
    line-height: 1.25;
}

.teton-container .teton-text-2 {
    font-size: 1.666667vw;
    /* 32px */
    line-height: 1.375;
}

.teton-container .teton-text-3 {
    font-size: 1.145833vw;
    /* 22px */
    line-height: 1.4545;
}

.teton-container .teton-padding-2 {
    padding-bottom: 3.125vw;
    /* 60px */
}

.teton-container .teton-padding-3 {
    padding-bottom: 3.4375vw;
    /* 66px */
}

.teton-container .teton-space-2 {
    height: 10.416667vw;
    /* 200px */
}

[class^=teton-space-] {
    display: block
}

.teton-container img {
    width: 100%;
    max-width: 100%;
}

.teton-container .darker {
    background-color: #000;
    margin-top: -1px;
}

.teton-container .dark {
    background-color: #0A0A0A;
    margin-top: -1px;
}

.teton-container .gray {
    background-color: #FAFAFA;
}

.teton-container .dark *,
.teton-container .darker * {
    color: #fff;
    background: transparent;
}

.teton-container .dark p span,
.teton-container .darker p span {
    color: inherit;
}

.teton-container .teton-pc {
    display: block;
}

.teton-container .teton-mob {
    display: none;
}

.teton-container .no-wrap {
    white-space: nowrap;
}

.teton-container .ux-center {
    text-align: center;
}

.teton-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.teton-container .flex-center {
    align-items: center;
}

.teton-container .flex-reverse {
    flex-direction: row-reverse;
}

.teton-container .section {
    padding: 0 8.854166vw;
    padding: 0 var(--teton-section-padding-lr);
}
/* pc */


/* mob */
@media (max-width: 640px),
(max-aspect-ratio: 1/1) and (max-width: 1200px) {
    .teton-container {
        --teton-nav-height: 96px;
        --teton-section-padding-lr: 6.111111vw;
    }

    .teton-container h2 {
        font-size: 11.111111vw;
        /* 80px */
        font-weight: bold;
        line-height: 1.25;
    }

    .teton-container h3 {
        font-size: 8.888889vw;
        /* 64px */
        font-weight: bold;
        line-height: 1.25;
    }

    .teton-container h4 {
        font-size: 6.666667vw;
        /* 48px */
        font-weight: bold;
        line-height: 1.25;
    }

    .teton-container .teton-text-2 {
        font-size: 4.444444vw;
        /* 32px */
        line-height: 1.375;
    }

    .teton-container .teton-text-3 {
        font-size: 3.055556vw;
        /* 22px */
        line-height: 1.4545;
    }

    .teton-container .teton-padding-2 {
        padding-bottom: 11.111111vw;
        /* 80px */
    }

    .teton-container .teton-padding-3 {
        padding-bottom: 12.5vw;
        /* 90px */
    }

    .teton-container .teton-space-2 {
        height: 27.777778vw;
        /* 200px */
    }

    .teton-container .teton-pc {
        display: none;
    }

    .teton-container .teton-mob {
        display: block;
    }
}