/*  CONTAINER
------------------------------------------ */
* {
    border: 0;
    outline: none;
    vertical-align: baseline;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    list-style: none;
    text-decoration: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    font-feature-settings: "palt" on;
}

.adlp-outer {
    overflow: hidden;

    img {
        width: 100%;
        height: auto;
        display: block;
    }

    .adlp-relative {
        position: relative;
    }

    @media all and (min-width: 768px) {
        display: flex;
        justify-content: center;
        align-items: flex-start;

        .adlp-wrapper {
            min-width: min(calc((1920 / 1080) * 100vw), 1920px);
            max-width: 1920px;
            margin: 0 auto;
            padding-top: min(calc((96 / 1080) * 100vw), 96px);

            a[href^="tel:"] {
                pointer-events: none;
            }
        }
    }

    @media all and (max-width: 767.9px) {
        .adlp-wrapper {
            padding-top: calc(116 / 750 * 100vw);
        }
    }
}

/*  UTILITY
------------------------------------------ */
.adlp-outer {
    .adlp-pc {
        display: block;
    }

    .adlp-sp {
        display: none;
    }

    @media all and (max-width: 767.9px) {
        .adlp-pc {
            display: none;
        }

        .adlp-sp {
            display: block;
        }
    }
}

/*  COMMON PARTS
------------------------------------------ */
.adlp-btn {
    width: min(calc(600 / 1080 * 100vw), 1080px);

    &.--pos-ab {
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
    }

    a {
        display: block;
    }

    @media all and (max-width: 767.9px) {
        width: calc(630 / 750 * 100vw);
    }
}

.adlp-btn-wrapper {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1920px;

    .adlp-btn-wrapper__inner {
        display: flex;
        width: min(100vw, 1080px);
        margin: auto;
    }

    .adlp-btn {
        width: auto;
        margin-bottom: 0;
        position: relative;
        left: inherit;
        bottom: inherit;
    }
}

.adlp-btn.--ani-light {
    a {
        transition: filter ease-in 0.25s;
        @media (hover: hover) {
            &:hover {
                filter: brightness(1.3);
            }
        }
    }
}

.adlp-slider-wrapper {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1920px;

    .adlp-slider {
        width: min(calc((1020 / 1080) * 100vw), 1020px);
        margin: 0 auto;
        overflow: hidden;
        position: relative;
        padding: 0 min(calc((20 / 1080) * 100vw), 20px) min(calc((52 / 1080) * 100vw), 52px);
        box-sizing: border-box;

        .swiper-slide {
            padding: 0 min(calc((20 / 1080) * 100vw), 20px);
            box-sizing: border-box;
        }
    }

    .swiper-button-prev,
    .swiper-button-next {
        width: min(calc((16 / 1080) * 100vw), 16px);
        height: auto;
        aspect-ratio: 16 / 46;
        top: 0;
        margin-top: min(calc((235 / 1080) * 100vw), 235px);
        background: center / contain no-repeat;

        &::after {
            display: none;
        }
    }

    .swiper-button-prev {
        left: 0;
        background-image: url(../img/common/icon-arrow-prev.svg);
    }

    .swiper-button-next {
        right: 0;
        background-image: url(../img/common/icon-arrow-next.svg);
    }

    .swiper-pagination {
        .swiper-pagination-bullet {
            width: min(calc((14 / 1080) * 100vw), 14px);
            height: auto;
            aspect-ratio: 1 / 1;
        }
        .swiper-pagination-bullet-active {
            background-color: #3e6697;
        }
    }

    @media all and (max-width: 767.9px) {
        padding-bottom: calc((153 / 750) * 100vw);

        .adlp-slider {
            padding: 0 0 calc(56 / 750 * 100vw);
            width: 100%;

            .swiper-slide {
                padding: 0 calc(40 / 750 * 100vw);
            }
        }

        .swiper-button-prev,
        .swiper-button-next {
            width: calc((20 / 750) * 100vw);
            margin-top: calc((300 / 750) * 100vw);
        }

        .swiper-button-prev {
            margin-left: calc((15 / 750) * 100vw);
        }

        .swiper-button-next {
            margin-right: calc((15 / 750) * 100vw);
        }

        .swiper-pagination {
            &.swiper-pagination-bullets {
                bottom: 0;
            }

            .swiper-pagination-bullet {
                width: calc((18 / 750) * 100vw);
            }
        }
    }
}

.adlp-acc-wrapper {
    width: min(calc(1000 / 1080 * 100vw), 920px);
    margin: 0 auto;

    .adlp-acc {
        overflow: hidden;
        background-color: #fff;
        padding: min(calc(30 / 1080 * 100vw), 30px) 0;
        border-radius: min(calc(8 / 1080 * 100vw), 8px);
        margin-top: min(calc(30 / 1080 * 100vw), 30px);
        box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.05);

        &:first-child {
            margin-top: 0;
        }

        @media (hover: hover) {
            cursor: pointer;
        }

        .adlp-acc__title {
            position: relative;

            &::after {
                position: absolute;
                top: 50%;
                right: 0;
                transform: translateY(-50%) rotate(180deg);
                transition: transform ease-in 0.2s;
                margin-right: min(calc(40 / 1080 * 100vw), 40px);
                content: "";
                display: block;
                width: min(calc(20 / 1080 * 100vw), 20px);
                aspect-ratio: 20 / 10;
                background: url(../img/common/arrow-acc.svg) center / cover no-repeat;
            }
        }

        &.is-active .adlp-acc__title::after {
            transform: translateY(-50%);
        }

        .adlp-acc__content {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows 0.2s ease-out;
        }

        &.is-active .adlp-acc__content {
            grid-template-rows: 1fr;
        }

        .adlp-acc__content-inner {
            overflow: hidden;
        }
    }

    @media all and (max-width: 767.9px) {
        width: calc(630 / 750 * 100vw);

        .adlp-acc {
            padding: calc(48 / 750 * 100vw) 0;
            border-radius: calc(10 / 750 * 100vw);
            margin-top: calc(40 / 750 * 100vw);
            box-shadow: 0px 12.5px 25px 0px rgba(0, 0, 0, 0.05);

            .adlp-acc__title {
                &::after {
                    margin-right: calc(45 / 750 * 100vw);
                    width: calc(25 / 750 * 100vw);
                }
            }
        }
    }
}

/*  SECTION UNIQUE STYLE
------------------------------------------ */
/* Floating */
.adlp-floating {
    width: min(calc((1920 / 1080) * 100vw), 1920px);
    position: fixed;
    top: 0;
    z-index: 10;

    .adlp-btn-wrapper {
        align-items: center;
        justify-content: flex-end;
        bottom: inherit;
        top: min(calc((8 / 1080) * 100vw), 8px);

        .adlp-btn-wrapper__inner {
            align-items: center;
            justify-content: flex-end;
            padding: 0 min(calc((40 / 1080) * 100vw), 40px);
            column-gap: min(calc((12 / 1080) * 100vw), 12px);
        }
    }

    .adlp-btn.--tel {
        width: fit-content;
        a {
            font-family: "Akshar", sans-serif;
            font-optical-sizing: auto;
            font-weight: 500;
            font-style: normal;
            font-size: min(calc(40 / 1080 * 100vw), 40px);
            color: #333333;
            display: flex;
            align-items: center;
            justify-content: center;
            column-gap: min(calc(10 / 1080 * 100vw), 10px);
            padding: min(calc(13 / 1080 * 100vw), 13px);
            line-height: 1;

            &::before {
                content: "";
                display: block;
                background: url(../img/common/icon-tel-g.svg) center / contain no-repeat;
                width: min(calc(39 / 1080 * 100vw), 39px);
                aspect-ratio: 39 / 38;
            }

            span {
                display: block;
                margin-bottom: -0.1em;
            }
        }
    }

    .adlp-btn.--inquiry {
        width: min(calc(220 / 1080 * 100vw), 220px);
    }

    @media all and (max-width: 767.9px) {
        width: 100%;

        .adlp-btn-wrapper {
            align-items: center;
            justify-content: flex-end;
            bottom: inherit;
            top: calc(20 / 750 * 100vw);

            .adlp-btn-wrapper__inner {
                padding: 0 calc(30 / 750 * 100vw);
                column-gap: calc(10 / 750 * 100vw);
            }
        }

        .adlp-btn.--tel {
            width: fit-content;
            a {
                font-size: calc(32 / 750 * 100vw);
                column-gap: calc(10 / 750 * 100vw);
                padding: calc(13 / 750 * 100vw) calc(25 / 750 * 100vw) calc(12 / 750 * 100vw) calc(16 / 750 * 100vw);
                border-radius: calc(50 / 750 * 100vw);
                border-radius: 50px;
                border: 2.5px solid #1c9990;
                box-shadow: 2.5px 2.5px 5px 0px rgba(0, 0, 0, 0.16);

                &::before {
                    width: calc(30 / 750 * 100vw);
                    background: url(../img/common/icon-tel.svg) center / contain no-repeat;
                }

                span {
                    display: block;
                    margin-bottom: -0.1em;
                }
            }
        }

        .adlp-btn.--inquiry {
            width: calc(275 / 750 * 100vw);
        }
    }
}

.cv {
    .adlp-btn {
        width: min(calc((450 / 1080) * 100vw), 450px);
        margin-bottom: min(calc(10 / 1080 * 100vw), 10px);
    }

    @media all and (max-width: 767.9px) {
        .adlp-btn {
            width: calc(600 / 760 * 100vw);
            margin-bottom: calc(20 / 750 * 100vw);
        }
    }
}

.sec01 {
    .adlp-slider-wrapper {
        bottom: inherit;
        top: min(calc(195 / 1080 * 100vw), 195px);
    }

    @media all and (max-width: 767.9px) {
        .adlp-slider-wrapper {
            top: calc(287 / 750 * 100vw);
        }
    }
}

.faq {
    background: var(--gray, #eeeded);
    padding-bottom: min(calc(80 / 1080 * 100vw), 80px);

    @media all and (max-width: 767.9px) {
        padding-bottom: calc(80 / 750 * 100vw);
    }
}

/* Footer */
.adlp-footer__inner {
    position: absolute;
    width: min(calc((67 / 1080) * 100vw), 67px);
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    margin-bottom: min(calc(119 / 1080 * 100vw), 119px);

    @media all and (max-width: 767.9px) {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: calc((56 / 750) * 100vw);
        margin-bottom: calc(162 / 750 * 100vw);

        .adlp-footer__link:nth-child(1) {
            width: calc(109 / 750 * 100vw);
        }
    }
}
