html {
    background-color: #FFFAF4;
    color: #5B5853;
    line-height: 1.5;
    scroll-behavior: auto;
}

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

p {
    font-size: 0.85em;
    line-height: 2.5;
}

.heading-jp {
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
}

.animate-en {
    font-family: 'Bodoni Moda', serif;
    font-weight: 600;
    mix-blend-mode: multiply;
}

.montserrat {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

.century-gothic {
    font-family: 'Century Gothic', 'CenturyGothic', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif; 
    font-weight: 600;
}

.head-en {
    font-size: 0.85rem;
    color: #BCB096;
}

.lg\:text-4xl {
    line-height: 1.5;
}

.concept .swiper-slide {
    height: fit-content;
    padding: 1em 0;
}

.concept .swiper-wrapper {
    height: fit-content;
    transition-timing-function:linear;
}



@media (min-width: 768px) {
    .concept-text-swiper {
        position: absolute;
    }
}
@media (min-width: 1024px) {
    :root {
        font-size: 1.15vw;
    }
}

/* スライドアップ */

.js-slide-up-row {
    position: relative;
    opacity: 0;
    width: fit-content;
}

.js-slide-up-row.is-setup {
    opacity: 1;
}

.js-slide-up-row__base {
    opacity: 0;
}

.js-slide-up-row__line,
.js-slide-up-row__checker {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
}

.js-slide-up-row__text {
    display: block;
}

.u-visually-hidden {
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

table tbody tr {
    display: grid;
    grid-template-columns: 10em 1fr;
    align-items: flex-start;
}

table tbody tr th, table tbody tr td {
    height: 100%;
    border-bottom: 1px solid #5B5853;
    padding: 0.5em 0;
}

@media (max-width: 768px) {
    p {
        font-size: 0.75rem;
    }

    table tbody tr {
        grid-template-columns: 1fr;
    }
    table tbody tr td:first-child {
        border: none;
        padding-top: 1em;
        padding-bottom: 0;
    }
    table tbody tr td:last-child {
        padding-bottom: 1em;
    }
}