/*
Theme Name: Prism
Author: 
Version: 1.0
*/

@charset "utf-8";
 :root {
    --header-height: 0px;
    --gothic-font: "noto-sans-cjk-jp", Helvetica, Arial, sans-serif;
    --en-font: Helvetica, Arial, sans-serif;
    --black-color: #616161;
    --light-blue-color: #317dc4;
    --blue-color: #2c476a;
    --error-color: #f21717;
    --title-font: clamp(2.375rem, 1.739rem + 1.69vw, 3rem);
    --heading-font: clamp(1.875rem, 1.494rem + 1.02vw, 2.25rem);
    --medium-font: clamp(1.25rem, 0.996rem + 0.68vw, 1.5rem);
    --h3-font: clamp(1.5rem, 1.246rem + 0.68vw, 1.75rem);
    --text-font: clamp(0.875rem, 0.748rem + 0.34vw, 1rem);
    --move: all .3s cubic-bezier(0, 0, .28, .99);
}

@media screen and (max-width: 900px) {
     :root {
        --title-font: 24px;
        --heading-font: 36px;
        --medium-font: 24px;
        --h3-font: 28px;
        --text-font: 16px;
    }
}

html,
body {
    position: relative;
    font-family: var(--gothic-font);
    scroll-behavior: smooth;
    font-size: 16px;
    background-color: #e6f4fc;
}

.en {
    font-family: var(--en-font);
}

.l-wrapper {
    padding-left: 40px;
    padding-right: 40px;
}

.l-inner,
.cms-inner {
    max-width: 1190px;
    width: 100%;
    margin: 0 auto;
}

.pc-only {
    display: block !important;
}

.tab-only {
    display: none !important;
}

.sp-only {
    display: none !important;
}

.pc-only-flex {
    display: flex !important;
}

.sp-only-flex {
    display: none !important;
}

@media screen and (max-width: 1024px) {
    .pc-only {
        display: none !important;
    }
    .pc-only-flex {
        display: none !important;
    }
    .tab-only {
        display: block !important;
    }
}

@media screen and (max-width: 800px) {
    .l-wrapper {
        padding-left: 20px;
        padding-right: 20px;
    }
    .sp-only {
        display: block !important;
    }
    .sp-only-flex {
        display: flex !important;
    }
    .l-inner {
        max-width: 420px;
    }
}

body {
    color: var(--black-color);
    background-color: #F8F6F9;
    font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    &.active {
        overflow: hidden !important;
    }
}

header {
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    position: fixed;
    a {
        transition: var(--move);
    }
    .header-container {
        width: 100%;
        height: auto;
        padding: 20px 40px;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        .header-left {
            z-index: 999;
            min-width: 150px;
            width: 9%;
            height: auto;
            object-fit: contain;
            .logo-link {
                display: block;
                width: 100%;
                height: auto;
                img {
                    width: 100%;
                    height: auto;
                }
            }
        }
        .menu-btn {
            z-index: 9999;
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: 78px;
            height: 78px;
            cursor: pointer;
            border-radius: 5rem;
            background: linear-gradient(145deg, #fff, #EAE9EA);
            box-shadow: 24px 24px 47px #fff, -24px -24px 47px #EAE9EA;
            &:active {
                background: linear-gradient(145deg, #EAE9EA, #fff);
                box-shadow: 24px 24px 47px #EAE9EA, -24px -24px 47px #fff;
            }
            span {
                position: absolute;
                display: block;
                width: 50%;
                height: 2px;
                background-color: var(--black-color);
                border-radius: 5rem;
                transition: all .3s ease;
                &:nth-of-type(1) {
                    top: 35%;
                    left: 50%;
                    transform: translate(-50%, 0);
                }
                &:nth-of-type(2) {
                    width: 40%;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                }
                &:nth-of-type(3) {
                    bottom: 35%;
                    left: 50%;
                    transform: translate(-50%, 0);
                }
            }
            &.nav-active {
                background: transparent;
                box-shadow: none;
                span:nth-of-type(2n-1) {
                    position: absolute;
                    top: 50%;
                    left: 50%;
                }
                span:nth-of-type(1) {
                    transform: translate(-50%, -50%) rotate(45deg);
                }
                span:nth-of-type(3) {
                    transform: translate(-50%, -50%) rotate(-45deg);
                }
                span:nth-of-type(2) {
                    opacity: 0;
                }
            }
        }
        .nav {
            position: fixed;
            z-index: 99;
            &::before {
                content: "";
                position: fixed;
                top: 20px;
                right: 40px;
                width: 0;
                height: 0;
                background-color: #c88b2c;
                border-bottom-right-radius: 200%;
                z-index: -1;
                transition: border-radius linear 0.8s, width cubic-bezier(0.77, 0, 0.175, 1) 0.6s, height cubic-bezier(0.77, 0, 0.175, 1) 0.6s;
                transition-delay: .2s;
                background: linear-gradient(145deg, #fff, #EAE9EA);
                box-shadow: 24px 24px 47px #fff, -24px -24px 47px #EAE9EA;
            }
            .nav__content {
                position: fixed;
                visibility: hidden;
                top: 90px;
                right: 40px;
                width: auto;
                text-align: left;
                padding: 0 20px 30px 0;
            }
            .nav__list {
                display: flex;
                flex-direction: column;
                align-items: baseline;
                position: relative;
                padding: 0;
                margin: 0;
                z-index: 2;
                background-color: transparent;
                border-radius: 0;
            }
            .nav__list-item,
            .header-menu li {
                position: relative;
                display: block;
                opacity: 0;
                text-align: left;
                color: var(--black-color);
                font-size: 22px;
                line-height: 1.2;
                letter-spacing: 2px;
                transition-delay: 0.8s;
                transform: translate(30px, 0%);
                transition: opacity 0.2s ease, transform 0.2s ease;
                margin-top: 7px;
                margin-bottom: 7px;
                width: 100%;
                border-left: 1px solid transparent !important;
                a {
                    width: 100%;
                    border-radius: 0;
                    position: relative;
                    text-decoration: none;
                    color: var(--black-color);
                    overflow: hidden;
                    cursor: pointer;
                    font-family: var(--vdl-font);
                    font-weight: bold;
                    z-index: 2;
                    padding-left: 40px;
                    padding-top: 5px;
                    padding-bottom: 5px;
                    display: inline-block;
                    transition: all 200ms linear;
                    &::after {
                        position: absolute;
                        content: '';
                        top: 50%;
                        left: 0;
                        width: 3px;
                        height: 0;
                        opacity: 0;
                        background-color: var(--black-color);
                        z-index: 1;
                        transition: all 200ms linear;
                    }
                }
                &.active-nav {
                    a::after {
                        height: 100%;
                        opacity: 1;
                        top: 0;
                    }
                }
            }
            &.nav-active {
                &::before,
                &::after {
                    width: 298px;
                    height: 428px;
                    border-radius: 15px;
                }
                &::after {
                    transition-delay: 0.1s;
                }
                &::before {
                    transition-delay: 0s;
                }
                .nav__content {
                    visibility: visible;
                }
                .nav {
                    visibility: visible;
                }
                .nav__list-item {
                    opacity: 1;
                    transform: translateX(0%);
                    transition: opacity 0.3s ease, transform 0.3s ease, color 0.3s ease;
                    &:nth-child(0) {
                        transition-delay: 0.7s;
                    }
                    &:nth-child(1) {
                        transition-delay: 0.8s;
                    }
                    &:nth-child(2) {
                        transition-delay: 0.9s;
                    }
                    &:nth-child(3) {
                        transition-delay: 1s;
                    }
                    &:nth-child(4) {
                        transition-delay: 1.1s;
                    }
                    &:nth-child(5) {
                        transition-delay: 1.2s;
                    }
                    &:nth-child(6) {
                        transition-delay: 1.3s;
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 800px) {
    header {
        .header-container {
            padding: 15px 20px;
            .header-left {
                min-width: 110px;
            }
            .menu-btn {
                width: 45px;
                height: 45px;
                span {
                    height: 1px;
                }
                &.active {
                    span:nth-of-type(2n-1) {
                        position: absolute;
                        top: 50%;
                        left: 50%;
                    }
                    span:nth-of-type(1) {
                        transform: translate(-50%, -50%) rotate(45deg);
                    }
                    span:nth-of-type(3) {
                        transform: translate(-50%, -50%) rotate(-45deg);
                    }
                    span:nth-of-type(2) {
                        opacity: 0;
                    }
                }
            }
            .nav {
                &::before {
                    top: 15px;
                    right: 20px;
                }
                .nav__content {
                    top: 60px;
                    right: 20px;
                    padding: 0 20px 20px 0;
                }
                .nav__list-item,
                .header-menu li {
                    font-size: 18px;
                    letter-spacing: .03rem;
                    border-left: 1px solid transparent !important;
                    a {
                        padding-left: 20px;
                        padding-top: 3px;
                        padding-bottom: 3px;
                    }
                }
                &.nav-active {
                    &::before,
                    &::after {
                        width: 217px;
                        height: 340px;
                        border-radius: 15px;
                    }
                }
            }
        }
    }
}


/* mv */

.mv {
    padding-top: calc((var(--header-height)) + 6rem);
    padding-bottom: 120px;
    height: 100vh;
    overflow: hidden;
    .l-inner {
        position: relative;
        .mv-title {
            z-index: 3;
            position: relative;
            font-size: var(--title-font);
            line-height: 2;
            letter-spacing: 0.35em;
            font-weight: 700;
        }
        .mv-svg {
            z-index: 1;
            width: 140%;
            height: auto;
            position: absolute;
            top: -160%;
            left: -15%;
        }
    }
}

@media screen and (max-width: 1024px) {
    .mv {
        padding-bottom: 60px;
        .l-inner {
            height: 100%;
            .mv-svg {
                top: auto;
                bottom: 0;
                left: -8%;
            }
        }
    }
}

@media screen and (max-width: 800px) {
    .mv {
        padding-top: calc((var(--header-height)) + 10px);
        padding-bottom: 35vh;
        height: auto;
        .l-inner {
            position: relative;
            .mv-title {
                z-index: 3;
                position: relative;
                font-size: var(--title-font);
                line-height: 2;
                letter-spacing: 0.35em;
                font-weight: 700;
            }
            .mv-svg {
                top: auto;
                bottom: -250%;
                left: -30%;
                width: 200%;
            }
        }
    }
}


/* mission */

.mission {
    margin-top: calc((var(--header-height)) * -1 + 4rem);
    padding-top: var(--header-height);
    .l-inner {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        .m-heading {
            width: 21%;
            height: auto;
            display: flex;
            flex-direction: column;
            gap: 10px;
            .m-heading-en {
                font-size: var(--heading-font);
                line-height: 2;
                font-weight: 700;
                letter-spacing: 0.2em;
            }
            .m-heading-txt {
                font-size: var(--text-font);
                font-weight: 700;
                letter-spacing: 0.2em;
                line-height: 1;
            }
        }
        .mission-content {
            width: 58%;
            height: auto;
            .mc-heading {
                font-size: var(--heading-font);
                line-height: 2;
                font-weight: 700;
                letter-spacing: 0.2em;
            }
            .mc-desc {
                margin-top: 35px;
                font-size: var(--medium-font);
                line-height: 2;
                font-weight: 400;
                letter-spacing: 0.2em;
            }
        }
    }
}

@media screen and (max-width: 1024px) {
    .mission {
        margin-top: calc((var(--header-height)) * -1 + 60px);
        padding-bottom: 60px;
        .l-inner {
            flex-wrap: wrap;
            .m-heading {
                width: 100%;
                .m-heading-en {
                    line-height: 1;
                }
            }
            .mission-content {
                margin-top: 40px;
                width: 100%;
                .mc-heading {
                    line-height: 1.6;
                }
                .mc-desc {
                    margin-top: 20px;
                    line-height: 1.6;
                }
            }
        }
    }
}

@media screen and (max-width: 800px) {
    .mission {
        margin-top: calc((var(--header-height)) * -1 + 60px);
        padding-bottom: 60px;
        .l-inner {
            flex-wrap: wrap;
            .m-heading {
                width: 100%;
            }
            .mission-content {
                margin-top: 40px;
                width: 100%;
                .mc-heading {
                    line-height: 2;
                    font-size: 16px;
                }
                .mc-desc {
                    margin-top: 23px;
                    line-height: 1.6;
                    font-size: 16px;
                }
            }
        }
    }
}

.about {
    margin-top: calc((var(--header-height)) * -1 + 4rem);
    padding-top: var(--header-height);
    padding-bottom: 8rem;
    .l-inner {
        position: relative;
        width: 100%;
        height: auto;
        display: flex;
        justify-content: space-between;
        align-items: start;
        .about-img {
            width: 39%;
            height: auto;
            object-fit: contain;
        }
        .about-content {
            width: 57%;
            height: auto;
            .a-heading {
                width: 100%;
                height: auto;
                display: flex;
                flex-direction: column;
                gap: 10px;
                .a-heading-en {
                    font-size: var(--heading-font);
                    line-height: 2;
                    font-weight: 700;
                    letter-spacing: 0.2em;
                }
                .a-heading-txt {
                    font-size: var(--text-font);
                    font-weight: 700;
                    letter-spacing: 0.2em;
                    line-height: 1;
                }
            }
            .a-txtarea {
                margin-top: 25px;
                width: 100%;
                height: auto;
                .at-heading {
                    font-size: var(--h3-font);
                    line-height: 2;
                    letter-spacing: 0.35rem;
                    font-weight: 700;
                }
                .at-desc {
                    margin-top: 8px;
                    font-size: var(--medium-font);
                    line-height: 1.5;
                    letter-spacing: 0.3rem;
                    font-weight: 400;
                }
                .tiktok-logo {
                    margin-top: 30px;
                    max-width: 320px;
                    width: 50%;
                    height: auto;
                    object-fit: contain;
                }
            }
        }
    }
}

@media screen and (max-width: 1024px) {
    .about {
        .l-inner {
            align-items: center;
            .about-img {
                width: 40%;
            }
            .about-content {
                width: 55%;
                .a-heading {
                    gap: 10px;
                    .a-heading-en {
                        line-height: 1;
                    }
                }
                .a-txtarea {
                    margin-top: 25px;
                    .at-heading {
                        font-size: calc((var(--h3-font)) * 0.8);
                        line-height: 1.6;
                        letter-spacing: 0.2rem;
                    }
                    .at-desc {
                        margin-top: 8px;
                        font-size: calc((var(--medium-font)) * 0.8);
                        line-height: 1.6;
                        letter-spacing: 0.2rem;
                    }
                    .tiktok-logo {
                        margin-top: 30px;
                        max-width: 320px;
                        width: 50%;
                        height: auto;
                        object-fit: contain;
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 800px) {
    .about {
        margin-top: calc((var(--header-height)) * -1 + 60px);
        padding-top: var(--header-height);
        padding-bottom: 60px;
        .l-inner {
            flex-wrap: wrap;
            .about-img {
                margin-top: 25px;
                order: 3;
                width: 100%;
                aspect-ratio: 3.5 / 2.3;
                object-fit: cover;
            }
            .about-content {
                display: contents;
                width: 100%;
                .a-heading {
                    order: 1;
                    justify-content: end;
                    align-items: end;
                    gap: 10px;
                    .a-heading-en {
                        line-height: 1;
                    }
                }
                .a-txtarea {
                    display: contents;
                    .at-heading {
                        width: 100%;
                        margin-top: 25px;
                        order: 2;
                        line-height: 1.6;
                        font-size: 16px;
                        text-align: right;
                    }
                    .at-desc {
                        order: 3;
                        margin-top: 20px;
                        font-size: 16px;
                        line-height: 1.6;
                        letter-spacing: 0.1rem;
                    }
                    .tiktok-logo {
                        order: 4;
                        margin-top: 25px;
                        max-width: 200px;
                        height: auto;
                        object-fit: contain;
                        margin-left: auto;
                    }
                }
            }
        }
    }
}

.value {
    margin-top: calc((var(--header-height)) * -1 + 90px);
    padding-top: var(--header-height);
    padding-bottom: 90px;
    background: linear-gradient(90deg, rgba(66, 168, 224, 0.30) 0%, rgba(149, 151, 202, 0.30) 50%, rgba(194, 119, 175, 0.30) 100%);
    .v-heading {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 10px;
        .v-heading-en {
            font-size: var(--heading-font);
            line-height: 2;
            font-weight: 700;
            letter-spacing: 0.2em;
        }
        .v-heading-txt {
            font-size: var(--text-font);
            font-weight: 700;
            letter-spacing: 0.2em;
            line-height: 1;
        }
    }
    .v-list {
        margin-top: 60px;
        width: 100%;
        height: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 48px 0;
        align-items: stretch;
        .v-item {
            max-width: 530px;
            width: 48%;
            height: auto;
            padding: 40px;
            display: flex;
            flex-direction: column;
            align-items: center;
            border-radius: 22px;
            background: rgba(255, 255, 255, 0.50);
            .vi-heading {
                font-size: var(--h3-font);
                line-height: 1.6;
                letter-spacing: 0.3rem;
                font-weight: 700;
                text-align: center;
            }
            .vi-img {
                margin-top: 20px;
                width: 40%;
                height: auto;
                object-fit: contain;
            }
            .vi-desc {
                margin-top: 20px;
                font-size: var(--text-font);
                font-weight: 400;
                letter-spacing: 0.2em;
                line-height: 1.5;
                text-align: center;
            }
        }
    }
}

@media screen and (max-width: 1024px) {
    .value {
        .v-heading {
            .v-heading-en {
                line-height: 1;
            }
        }
        .v-list {
            gap: 30px 0;
            .v-item {
                padding: 25px;
                border-radius: 18px;
            }
        }
    }
}

@media screen and (max-width: 800px) {
    .value {
        margin-top: calc((var(--header-height)) * -1 + 60px);
        padding-top: var(--header-height);
        padding-bottom: 60px;
        .v-heading {
            .v-heading-en {
                line-height: 1;
            }
        }
        .v-list {
            margin-top: 40px;
            gap: 30px 0;
            flex-wrap: wrap;
            .v-item {
                max-width: 1000px;
                width: 100%;
                padding: 20px;
                .vi-heading {
                    font-size: 24px;
                }
                .vi-img {
                    margin-top: 20px;
                }
                .vi-desc {
                    margin-top: 20px;
                }
            }
        }
    }
}

.what {
    margin-top: calc((var(--header-height)) * -1 + 90px);
    padding-top: var(--header-height);
    padding-bottom: 90px;
    overflow: hidden;
    .l-inner {
        position: relative;
        .w-heading {
            position: relative;
            z-index: 2;
            width: 100%;
            height: auto;
            display: flex;
            flex-direction: column;
            gap: 10px;
            .w-heading-en {
                font-size: var(--heading-font);
                line-height: 2;
                font-weight: 700;
                letter-spacing: 0.2em;
            }
            .w-heading-txt {
                font-size: var(--text-font);
                font-weight: 700;
                letter-spacing: 0.2em;
                line-height: 1;
            }
        }
        .what-list {
            z-index: 2;
            position: relative;
            padding-top: 60px;
            width: 100%;
            height: auto;
            display: flex;
            flex-direction: column;
            gap: 90px;
            .what-item {
                position: relative;
                height: auto;
                display: flex;
                align-items: center;
                margin-left: -10%;
                margin-right: -10%;
                gap: 5%;
                &:nth-of-type(2n-1) {
                    justify-content: end;
                    svg {
                        transform: translateX(-10%);
                        position: absolute;
                        top: 0;
                        left: 0;
                    }
                }
                &:nth-of-type(2n) {
                    justify-content: start;
                    flex-direction: row-reverse;
                    svg {
                        transform: translateX(10%);
                        position: absolute;
                        top: 0;
                        right: 0;
                    }
                }
                .wi-content {
                    width: 40.6%;
                    height: auto;
                    .wi-heading {
                        font-size: var(--medium-font);
                        line-height: 2;
                        font-weight: 700;
                        letter-spacing: 0.2em;
                    }
                    .wi-desc {
                        margin-top: 20px;
                        font-size: var(--text-font);
                        font-weight: 400;
                        letter-spacing: 0.2em;
                        line-height: 1.6;
                        .weight-font {
                            font-weight: 700;
                            font-size: 1.25em;
                        }
                    }
                    .jisseki {
                        margin-top: 30px;
                        width: 100%;
                        height: auto;
                        padding: 15px;
                        display: flex;
                        justify-content: space-between;
                        border-radius: 14px;
                        background: #F8F6F9;
                        box-shadow: 1px 1px 2px rgba(255, 255, 255, 0.30) inset, -1px -1px 2px rgba(201, 200, 201, 0.50) inset, -7px 7px 14px rgba(201, 200, 201, 0.20), 7px -7px 14px rgba(201, 200, 201, 0.20), -7px -7px 14px rgba(255, 255, 255, 0.90), 7px 7px 18px rgba(201, 200, 201, 0.90);
                        .icon {
                            width: 20%;
                            height: auto;
                            object-fit: contain;
                        }
                        .txtarea {
                            width: 70%;
                            height: auto;
                            h4 {
                                font-size: var(--text-font);
                                font-weight: 700;
                                letter-spacing: 0.1em;
                                line-height: 1.6;
                                border-radius: 14px;
                                .weight-font {
                                    font-weight: 700;
                                    font-size: 1.25em;
                                }
                            }
                            p {
                                font-size: var(--text-font);
                                font-weight: 400;
                                letter-spacing: 0.1em;
                                line-height: 1.6;
                            }
                        }
                    }
                }
                .wi-img {
                    width: 46%;
                    height: auto;
                    object-fit: contain;
                    border-radius: 22px;
                }
            }
        }
        .about-texture {
            z-index: 1;
            display: block;
            position: absolute;
            bottom: -18%;
            right: 0%;
            width: 100%;
        }
    }
}

@media screen and (max-width: 800px) {
    .what {
        margin-top: calc((var(--header-height)) * -1 + 60px);
        padding-top: var(--header-height);
        padding-bottom: 60px;
        .l-inner {
            .w-heading {
                .w-heading-en {
                    line-height: 1;
                    font-size: 24px;
                }
            }
            .what-list {
                padding-top: 40px;
                gap: 60px;
                .what-item {
                    flex-direction: column;
                    margin-left: 0;
                    margin-right: 0;
                    width: 100%;
                    gap: 5%;
                    &:nth-of-type(2n-1) {
                        justify-content: end;
                        svg {
                            z-index: -1;
                            width: 130px;
                            height: auto;
                            transform: translateX(-30%);
                            top: -7%;
                            left: 0;
                        }
                    }
                    &:nth-of-type(2n) {
                        justify-content: end;
                        flex-direction: column;
                        svg {
                            z-index: -1;
                            width: 130px;
                            height: auto;
                            transform: translateX(10%);
                            top: -7%;
                            right: 0;
                        }
                    }
                    .wi-content {
                        display: contents;
                        width: 100%;
                        .wi-heading {
                            order: 1;
                            width: 100%;
                            line-height: 1.6;
                        }
                        .wi-desc {
                            order: 3;
                            margin-top: 20px;
                            font-size: 16px;
                        }
                        .jisseki {
                            order: 4;
                            margin-top: 20px;
                            padding: 14px;
                            border-radius: 8px;
                            flex-wrap: wrap;
                            justify-content: space-between;
                            align-items: center;
                            gap: 20px 0;
                            .icon {
                                width: 20%;
                                height: auto;
                                object-fit: contain;
                            }
                            .txtarea {
                                display: contents;
                                width: auto;
                                height: auto;
                                h4 {
                                    width: 75%;
                                }
                                p {
                                    width: 100%;
                                }
                            }
                        }
                    }
                    .wi-img {
                        order: 2;
                        width: 100%;
                        border-radius: 12px;
                        margin-top: 20px;
                    }
                }
            }
            .about-texture {
                z-index: 1;
                display: block;
                position: absolute;
                bottom: 20%;
                right: -40%;
                width: 200%;
                opacity: .4;
            }
        }
    }
}

.liver {
    margin-top: calc((var(--header-height)) * -1 + 90px);
    padding-top: var(--header-height);
    padding-bottom: 90px;
    background-color: #fff;
    overflow: hidden;
    .l-heading {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 10px;
        .l-heading-en {
            font-size: var(--heading-font);
            line-height: 2;
            font-weight: 700;
            letter-spacing: 0.2em;
        }
        .l-heading-txt {
            font-size: var(--text-font);
            font-weight: 700;
            letter-spacing: 0.2em;
            line-height: 1;
        }
    }
    .l-content {
        margin-top: 60px;
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 60px;
        .l-area {
            width: 100vw;
            height: auto;
            margin-left: calc(-50vw + 50%);
            margin-right: calc(-50vw + 50%);
            .l-type {
                text-align: center;
                font-size: var(--heading-font);
                line-height: 2;
                font-weight: 700;
                letter-spacing: 0.2em;
            }
            .liver-splide {
                margin-top: 40px;
                .splide__track {
                    width: 100%;
                    height: auto;
                    overflow: visible;
                    .l-item {
                        width: 30%;
                        height: auto;
                        border-radius: 23px;
                        background: rgba(225, 225, 225, 0.20);
                        box-shadow: 5.427px -5.427px 5.427px 0px rgba(214, 214, 214, 0.60) inset, -5.427px 5.427px 5.427px 0px rgba(255, 255, 255, 0.60) inset;
                        backdrop-filter: blur(38.257999420166016px);
                        position: unset;
                        overflow: visible;
                        .l-link {
                            display: block;
                            width: 100%;
                            height: 100%;
                            padding: 40px 30px;
                            .l-img {
                                width: 100%;
                                height: auto;
                                aspect-ratio: 16 / 9;
                                object-fit: cover;
                            }
                            .l-name {
                                margin-top: 30px;
                                font-size: var(--medium-font);
                                line-height: 2;
                                letter-spacing: 0.1rem;
                            }
                        }
                    }
                }
                .splide__arrows {
                    margin-top: 30px;
                    padding: 0 40px;
                    display: flex;
                    justify-content: center;
                    .custom-arrow-wrapper {
                        display: flex;
                        flex-direction: row;
                        justify-content: start;
                        align-items: center;
                        gap: 16px;
                        transition: var(--move);
                        width: var(--event-lead-width);
                        button {
                            position: relative;
                            width: 56px;
                            height: auto;
                            aspect-ratio: 1 / 1;
                            border-radius: 5rem;
                            background: transparent;
                            background: linear-gradient(145deg, #fff, #EAE9EA);
                            box-shadow: 24px 24px 47px #fff, -24px -24px 47px #EAE9EA;
                            &:active {
                                background: linear-gradient(145deg, #EAE9EA, #fff);
                                box-shadow: 24px 24px 47px #EAE9EA, -24px -24px 47px #fff;
                            }
                            svg {
                                display: none;
                            }
                            &::before {
                                content: "";
                                position: absolute;
                                top: 50%;
                                left: 50%;
                                width: 30%;
                                height: auto;
                                aspect-ratio: 1/1;
                                border-top: 2px solid var(--black-color);
                                border-right: 2px solid var(--black-color);
                            }
                            &.t-event-prev::before {
                                transform: translate(-35%, -50%) scale(-1, 1) rotate(45deg);
                            }
                            &.t-event-next::before {
                                transform: translate(-65%, -50%) rotate(45deg);
                            }
                        }
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 800px) {
    .liver {
        margin-top: calc((var(--header-height)) * -1 + 60px);
        padding-bottom: 60px;
        .l-heading {
            .l-heading-en {
                line-height: 1;
            }
        }
        .l-content {
            margin-top: 40px;
            gap: 40px;
            .l-area {
                .l-type {
                    font-size: 18px;
                }
                .liver-splide {
                    position: relative;
                    margin-top: 20px;
                    .splide__track {
                        width: 80%;
                        .l-item {
                            width: 100%;
                            border-radius: 12px;
                            .l-link {
                                padding: 20px 20px 60px 20px;
                                .l-img {
                                    border-radius: 8px;
                                }
                                .l-name {
                                    margin-top: 10px;
                                    font-size: 18px;
                                }
                            }
                        }
                    }
                    .splide__arrows {
                        margin-top: 20px;
                        padding: 0 20px;
                        .custom-arrow-wrapper {
                            gap: 20px;
                            button {
                                width: 40px;
                                position: absolute;
                                top: 50%;
                                transform: translateY(-50%);
                                &.t-event-prev {
                                    left: 10%;
                                }
                                &.t-event-next {
                                    right: 10%;
                                }
                                &.t-event-prev::before {
                                    transform: translate(-35%, -50%) scale(-1, 1) rotate(45deg);
                                }
                                &.t-event-next::before {
                                    transform: translate(-65%, -50%) rotate(45deg);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

.faq {
    margin-top: calc((var(--header-height)) * -1 + 120px);
    padding-top: var(--header-height);
    padding-bottom: 120px;
    .f-heading {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        .f-heading-en {
            font-size: var(--heading-font);
            line-height: 2;
            font-weight: 700;
            letter-spacing: 0.2em;
        }
        .f-heading-txt {
            font-size: var(--text-font);
            font-weight: 700;
            letter-spacing: 0.2em;
            line-height: 1;
        }
    }
    .f-list {
        margin-top: 60px;
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 40px;
        .f-item {
            width: 100%;
            height: auto;
            .question {
                width: 100%;
                height: auto;
                padding: 10px;
                border-radius: 14px;
                background: #FFF;
                .inner {
                    max-width: 1050px;
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    margin: auto;
                    .mark {
                        width: 100px;
                        height: 100px;
                        fill: #F9F9F9;
                        box-shadow: -4px 4px 8px 0px rgba(219, 219, 219, 0.20) inset, 4px -4px 8px 0px rgba(219, 219, 219, 0.20) inset, -4px -4px 8px 0px rgba(255, 255, 255, 0.90) inset, 4px 4px 10px 0px rgba(219, 219, 219, 0.90) inset;
                        filter: drop-shadow(-1px -1px 2px rgba(219, 219, 219, 0.50)) drop-shadow(1px 1px 2px rgba(255, 255, 255, 0.30));
                        border-radius: 5rem;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        font-size: var(--heading-font);
                        line-height: 1;
                        font-weight: 700;
                    }
                    p {
                        width: calc(100% - 120px);
                        font-size: var(--medium-font);
                        line-height: 1.6;
                        letter-spacing: 0.1rem;
                        font-weight: 700;
                    }
                }
            }
            .answer {
                width: 100%;
                height: auto;
                padding: 20px 10px;
                .inner {
                    max-width: 1050px;
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    margin: auto;
                    .mark {
                        width: 100px;
                        height: 100px;
                        fill: #F8F6F9;
                        box-shadow: 1px 1px 2px 0px rgba(255, 255, 255, 0.30) inset, -1px -1px 2px 0px rgba(218, 216, 219, 0.50) inset;
                        filter: drop-shadow(4px 4px 10px rgba(218, 216, 219, 0.90)) drop-shadow(-4px -4px 8px rgba(255, 255, 255, 0.90)) drop-shadow(4px -4px 8px rgba(218, 216, 219, 0.20)) drop-shadow(-4px 4px 8px rgba(218, 216, 219, 0.20));
                        border-radius: 5rem;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        font-size: var(--heading-font);
                        line-height: 1;
                        font-weight: 700;
                    }
                    p {
                        width: calc(100% - 120px);
                        font-size: var(--medium-font);
                        line-height: 1.6;
                        letter-spacing: 0.1rem;
                        font-weight: 500;
                        .weight-font {
                            font-weight: 700;
                        }
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 800px) {
    .faq {
        margin-top: calc((var(--header-height)) * -1 + 60px);
        padding-bottom: 60px;
        .f-heading {
            .f-heading-en {
                line-height: 1;
            }
        }
        .f-list {
            margin-top: 30px;
            gap: 30px;
            .f-item {
                .question {
                    padding: 15px 10px;
                    border-radius: 12px;
                    .inner {
                        .mark {
                            width: 56px;
                            height: 56px;
                            font-size: 24px;
                        }
                        p {
                            width: calc(100% - 70px);
                            font-size: 16px;
                            line-height: 1.6;
                        }
                    }
                }
                .answer {
                    padding: 15px 10px;
                    .inner {
                        .mark {
                            width: 56px;
                            height: 56px;
                            font-size: 24px;
                        }
                        p {
                            width: calc(100% - 70px);
                            font-size: 16px;
                        }
                    }
                }
            }
        }
    }
}

footer {
    padding-top: 75px;
    padding-bottom: 75px;
    background: linear-gradient(90deg, #C2DFF1 0%, #DBD9EB 50%, #E8D0E3 100%);
    .footer-cta {
        position: relative;
        max-width: 400px;
        height: auto;
        padding: 15px 30px 16px 30px;
        border-radius: 5rem;
        background-color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 17px;
        font-size: var(--medium-font);
        line-height: 1;
        font-weight: 700;
        letter-spacing: 0.2rem;
        margin: auto;
        &::after {
            content: '';
            display: block;
            width: 15px;
            height: auto;
            aspect-ratio: 1 / 1;
            border-radius: 5rem;
            background: linear-gradient(90deg, #C2DFF1 0%, #DBD9EB 50%, #E8D0E3 100%);
        }
    }
}

@media screen and (max-width: 800px) {
    footer {
        z-index: 99;
        position: sticky;
        bottom: 0;
        left: 0;
        width: 100%;
        height: auto;
        padding-top: 30px;
        padding-bottom: 30px;
        .footer-cta {
            max-width: 295px;
            padding: 15px 10px 16px;
            gap: 7px;
            font-size: 16px;
            &::after {
                width: 10px;
            }
        }
    }
}

.modal-area {
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 140px;
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 140px;
    opacity: 0;
    pointer-events: none;
    transition: all .3s ease;
    &.active {
        opacity: 1;
        pointer-events: all;
    }
    .back-area {
        float: left;
        position: fixed;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        background-color: #fff;
        opacity: .4;
        z-index: -1;
    }
    .modal-inner {
        position: relative;
        max-width: 940px;
        width: 100%;
        height: 50vh;
        margin: auto;
        fill: rgba(255, 255, 255, 0.10);
        box-shadow: 65.233px -65.233px 65.233px 0px rgba(194, 194, 194, 0.10) inset, -65.233px 65.233px 65.233px 0px rgba(255, 255, 255, 0.10) inset;
        backdrop-filter: blur(65.23332977294922px);
        border-radius: 23px;
        display: flex;
        justify-content: space-between;
        align-items: start;
        overflow: hidden;
        .profile-img {
            width: 40%;
            height: auto;
            aspect-ratio: 9 / 16;
            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }
        .modal-content-container {
            width: 60%;
            height: 100%;
            overflow-y: scroll;
            .modal-content {
                padding: 40px 30px;
                width: 100%;
                height: auto;
                display: flex;
                flex-direction: column;
                .profile-name {
                    font-size: var(--heading-font);
                    line-height: 1.6;
                    font-weight: 700;
                    letter-spacing: 0.2rem;
                }
                .content-area {
                    margin-top: 25px;
                    .content-heading {
                        font-size: var(--text-font);
                        line-height: 1.6;
                        font-weight: 700;
                        margin-bottom: 15px;
                    }
                    p {
                        font-size: var(--text-font);
                        line-height: 1.6;
                    }
                }
                .profile-link {
                    margin-top: 90px;
                    margin-left: auto;
                    font-size: var(--text-font);
                    line-height: 1;
                    font-weight: 700;
                    letter-spacing: 0.2rem;
                    color: #fff;
                    background-color: var(--black-color);
                    border-radius: 5rem;
                    padding: 12px 40px;
                }
            }
        }
    }
}

@media screen and (max-width: 800px) {
    .modal-area {
        padding-top: 60px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 60px;
        .modal-inner {
            max-width: 600px;
            height: 70vh;
            flex-direction: column;
            .profile-img {
                width: 100%;
                aspect-ratio: 16 / 9;
            }
            .modal-content-container {
                width: 100%;
                .modal-content {
                    padding: 20px 20px;
                    .profile-name {
                        font-size: 24px;
                    }
                    .content-area {
                        margin-top: 25px;
                        .content-heading {
                            margin-bottom: 10px;
                        }
                    }
                    .profile-link {
                        margin-top: 60px;
                        padding: 12px 30px;
                    }
                }
            }
        }
    }
}