@charset "utf-8";

/* page-title */
.page-title {
    &.page-topimage {
        background-image: url(../img/topimage_rental01.jpg);
        @media (width <= 800px) {
            background-image: url(../img/topimage_rental01_sp.jpg);
        }
        .topimage-bottom {
            height: 16.8vw;
            background-image: url(../img/topimage_rental02.webp);
            @media (width <= 800px) {
                height: 35.7vw;
                background-image: url(../img/topimage_rental02_sp.webp);
            }
        }
    }
}

/* rental-top */
.rental-top {
    margin-bottom: 20vw;
    @media (width <= 800px) {
        margin-bottom: 28vw;
    }
    .read-top {
        margin-bottom: 135px;
        @media (width <= 800px) {
            margin-bottom: 56px;
        }
    }
}
.support-content {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1222px;
    margin: 0 auto;
    @media (width <= 800px) {
        flex-wrap: wrap;
        gap: 50px 0;
    }    
    .support-detail {
        position: relative;
        width: 47.5%;
        border-radius: 20px;
        padding: 95px 60px 100px;
        @media (width <= 800px) {
            width: 100%;
            padding: 72px 30px 40px;
        }
        &.sd01 {
            background-color: #F0F7FF;
            padding-bottom: 25px;
            @media (width <= 800px) {
                padding-bottom: 40px;
            }
            .sd-title {
                h2 {
                    background-color: #0064DD;
                }
            }
        }
        &.sd02 {
            background-color: var(--yellowgreen02);
            .sd-title {
                h2 {
                    background-color: var(--green01);
                }
            }
        }
        .sd-title {
            position: absolute;
            left: 44px;
            top: -30px;
            width: 100px;
            height: 110px;
            color: var(--white);
            font-size: 18px;
            @media (width <= 800px) {
                left: 25px;
                top: -24px;
                width: 87px;
                height: 79px;
            }
            &::after {
                position: absolute;
                left: 5px;
                top: 5px;
                width: 100%;
                height: 100%;
                content: "";
                background-color: rgba(0, 83, 185, 0.2);
                clip-path: polygon(0 0, 100% 0, 100% 78px, 0% 100%);
                pointer-events: none;
                z-index: 0;
                @media (width <= 800px) {
                    clip-path: polygon(0 0, 100% 0, 100% 52px, 0% 100%);
                }
            }
            h2 {
                display: flex;
                align-items: center;
                justify-content: center;
                text-align: center;
                width: 100px;
                height: 110px;
                color: var(--white);
                font-size: 18px;
                clip-path: polygon(0 0, 100% 0, 100% 78px, 0% 100%);
                z-index: 1;
                padding-bottom: 10px;
                margin-bottom: 0;
                @media (width <= 800px) {
                    width: 87px;
                    height: 79px;
                    font-size: 16px;
                    clip-path: polygon(0 0, 100% 0, 100% 52px, 0% 100%);
                }
            }
        }
        h3 {
            color: var(--green01);
            font-size: 36px;
            line-height: 2;
            margin-bottom: 56px;
            @media (width <= 800px) {
                font-size: 20px;
                line-height: 1.8;
                margin-bottom: 15px;
            }
        }
        .support-img {
            position: absolute;
            top: 80px;
            right: 40px;
            pointer-events: none;
            z-index: 0;
            @media (width <= 800px) {
                right: 30px;
                top: 30px;
            }
            &.si01 {
                @media (width <= 800px) {
                    width: 101px;
                }
            }
            &.si02 {
                @media (width <= 800px) {
                    width: 108px;
                }
            }
        }
        p {
            margin-bottom: 10px;
            @media (width <= 800px) {
                margin-bottom: 20px;
            }
            &:last-child {
                margin-bottom: 0;
            }
        }
        .btn {
            max-width: 166px;
            height: 41px;
            font-size: 16px;
            padding-left: 12px;
            margin: 0 0 15px auto;
            @media (width <= 800px) {
                height: 52px;
                max-width: 251px;
                margin: 0 auto 15px;
                padding-left: 24px;
            }
            &::after {
                right: 12px;
                background-color: var(--white);
                @media (width <= 800px) {
                    right: 24px;
                }
            }
            &:last-child {
                margin-bottom: 0;
            }
            &.white-black {
                max-width: 325px;
                color: var(--black);
                line-height: 1.2;
                background-color: var(--white);
                @media (width >= 800px) {
                    &:hover {
                        color: var(--white);
                        background-color: var(--darkgray);
                        &::after {
                            background-color: var(--white);
                        }
                    }
                }
                @media (width <= 800px) {
                    max-width: 251px;
                }
                &::before {
                    background-color: var(--darkgray);
                }
                &::after {
                    background-color: var(--black);
                }
            }
        }
    }
}


/* mediation */
.mediation {
    background-color: var(--yellowgreen03);
    padding-bottom: 15vw;
    @media (width <= 800px) {
        padding-bottom: 27vw;
    }
    .bg-mediation {
        position: absolute;
        left: 0;
        top: -13vw;
        width: 100%;
        img {
            width: 100%;
        }
    }
    h2 {
        margin-bottom: 90px;
        @media (width <= 800px) {
            padding-top: 25px;
            margin-bottom: 35px;
        }
    }
    h3 {
        display: flex;
        align-items: center;
        justify-content: center;
        max-width: 816px;
        height: 112px;
        color: var(--green01);
        font-size: 52px;
        line-height: 1;
        background-color: var(--white);
        border-radius: 52px;
        margin: 0 auto 60px;
        @media (width <= 800px) {
            max-width: 295px;
            height: 107px;
            font-size: 26px;
            line-height: 1.5;
            margin-bottom: 42px;
        }
        &::before,
        &::after {
            position: absolute;
            content: "";
            pointer-events: none;
        }
        &::before {
            top: -36px;
            left: -58px;
            width: 64px;
            height: 82px;
            background-image: url(../img/bg_sugoi.svg);
            background-repeat: no-repeat;
            background-position: left top;
            background-size: cover;
            @media (width <= 800px) {
                left: -20px;
                top: -8px;
                width: 25px;
                height: 32px;
            }
        }
        &::after {
            top: calc(100% - 1px);
            left: 50%;
            translate: -50% 0;
            width: 42px;
            height: 36px;
            background-color: var(--white);
            clip-path: polygon(50% 100%, 0 0, 100% 0);
            @media (width <= 800px) {
                width: 26px;
                height: 23px;
            }
        }
    }
}
.mediation-img {
    position: relative;
    max-width: 1014px;
    margin: 0 auto 118px;
    @media (width <= 800px) {
        left: 50%;
        translate: -50% 0;
        width: 103.2vw;
        max-width: inherit;
        margin-bottom: 90px;
        img {
            width: 100%;
        }
    }
}
.circlelist {
    li {
        .cl-main {
            padding-bottom: 10px;
            margin-bottom: 20px;
            @media (width <= 800px) {
                padding-bottom: 15px;
            }
            .cl-img {
                @media (width <= 800px) {
                    width: 235px;
                }
            }
        }
        .cl-bottom {
            display: block;
            width: 100%;
            text-align: center;
            .cl-textbox {
                display: flex;
                align-items: center;
                min-height: 101px;
                @media (width <= 800px) {
                    min-height: inherit;
                }
                .cl-text {
                    display: block;
                    width: 100%;
                    font-size: 20px;
                    font-weight: 700;
                    @media (width <= 800px) {
                        font-size: 16px;
                    }
                    .u-line {
                        display: inline-block;
                        font-size: 27px;
                        text-decoration-color: var(--yellowgreen01);
                        text-underline-offset: 0px;
                        padding: 0 6px;
                        @media (width <= 800px) {
                            font-size: 21px;
                        }
                    }
                }
            }
            .cl-bikou {
                display: block;
                font-size: 16px;
                font-weight: 400;
                margin-top: 10px;
                @media (width <= 800px) {
                    font-size: 14px;
                }
            }
        }
    }
}


/* room */
.room {
    padding-bottom: 240px;
    @media (width <= 800px) {
        padding-bottom: 170px;
    }
    .bg-room {
        position: absolute;
        left: 0;
        top: -9vw;
        width: 100%;
        img {
            width: 100%;
        }
    }
    h2 {
        &.simple-title {
            margin-bottom: 50px;
            @media (width <= 800px) {
                padding: 35px 0 0 20px;
                margin-bottom: 25px;
            }
        }
    }
}
.roomlist {
    display: flex;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    @media (width <= 800px) {
        display: block;
    }
    &.start {
        ul {
            li {
                &:nth-child(2) {
                    translate: 70px 0;
                    @media (width <= 800px) {
                        translate: 0 0;
                    }
                }
                &:nth-child(3) {
                    translate: 140px 0;
                    @media (width <= 800px) {
                        translate: 0 0;
                    }
                }
            }
        }
    }
    ul {
        width: 50%;
        margin: 0;
        padding: 0;
        @media (width <= 800px) {
            width: 100%;
            margin-bottom: 30px;
            &:last-child {
                margin-bottom: 0;
            }
        }
        li {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: auto;
            min-height: 82px;
            color: var(--green01);
            font-size: 28px;
            font-weight: 700;
            background-color: var(--yellowgreen03);
            border-radius: 42px;
            margin: 0 0 40px;
            padding: 5px 30px;
            transition: translate 1s ease-out;
            @media (width <= 800px) {
                min-height: 68px;
                font-size: 18px;
                margin-bottom: 30px;
            }
            &:last-child {
                margin-bottom: 0;
            }
            &::after {
                position: absolute;
                left: 42px;
                top: calc(100% - 1px);
                width: 20px;
                height: 22px;
                background-color: var(--yellowgreen03);
                clip-path: polygon(100% 0, 0 0, 100% 100%);
                content: "";
                @media (width <= 800px) {
                    left: 40px;
                    width: 18px;
                    height: 20px;
                }
            }
        }
    }
}
.room-img {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    &.ri01 {
        left: -36px;
        bottom: -120px;
        @media (width <= 800px) {
            left: 50px;
            bottom: -140px;
            width: 68px;
        }
    }
    &.ri02 {
        right: 0;
        bottom: -118px;
        @media (width <= 800px) {
            right: 50px;
            bottom: -140px;
            width: 68px;
        }
    }

}


/* reason */
.reason {
    background-color: var(--yellowgreen02);
    border-radius: 100px 100px 0 0;
    padding: 100px 0 0;
    @media (width <= 800px) {
        border-radius: 30px 30px 0 0;
        padding-top: 64px;
    }
}
.reason-content {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 43px 40px;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto 100px;
    z-index: 2;
    @media (width <= 800px) {
        gap: 20px 0;
        margin-bottom: 140px;
    }
    .reason-detail {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        width: 30.7%;
        min-height: 290px;
        background-color: var(--white);
        border-radius: 40px;
        box-shadow: 0px 10px 0px var(--yellowgreen01);
        padding: 10px 36px;
        @media (width <= 800px) {
            width: 100%;
            min-height: inherit;
            border-radius: 20px;
            padding: 30px;
        }
        h3 {
            color: var(--green01);
            font-size: 28px;
            text-align: center;
            line-height: 1.5;
            padding-bottom: 20px;
            @media (width <= 800px) {
                font-size: 18px;
                padding-bottom: 10px;
                margin-bottom: 10px;
            }
            &::after {
                position: absolute;
                left: 50%;
                bottom: 0;
                translate: -50% 0;
                width: 28px;
                height: 3px;
                content: "";
                background-color: var(--yellowgreen01);
            }
            &.s-title {
                font-size: 24px;
                line-height: 1.5;
                @media (width <= 800px) {
                    font-size: 18px;
                }
            }
        }
        p {
            font-size: 18px;
            line-height: 1.78;
            margin: 0;
            @media (width <= 800px) {
                font-size: 14px;
                line-height: 1.71;
            }
        }
    }
}
.reason-img {
    position: absolute;
    z-index: 1;
    &.re01 {
        left: -8px;
        bottom: -115px;
        @media (width <= 800px) {
            left: 20px;
            bottom: -140px;
            width: 61px;
        }
    }
    &.re02 {
        right: 0;
        bottom: -130px;
        @media (width <= 800px) {
            right: 30px;
            bottom: -150px;
            width: 49px;
        }
    }
}
.bg-reason {
    position: relative;
    width: 100%;
    z-index: 0;
    img {
        width: 100%;
    }
}


/* voice */
.voice {
    padding: 88px 0 96px;
    @media (width <= 800px) {
        padding: 32px 0 72px;
    }
}
.voice-content {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    @media (width <= 800px) {
        display: block;
    }
    .l-voice {
        width: 456px;
        padding-top: 60px;
        @media (width <= 800px) {
            width: 100%;
            padding-top: 0;
            margin-bottom: 24px;
        }
        h2 {
            margin-bottom: 34px;
            @media (width <= 800px) {
                margin-bottom: 0;
            }
        }
    }
    .r-voice {
        width: calc(100% - 456px);
        @media (width <= 800px) {
            width: 100%;
        }
        .splide-voice {
            .splide__track {
                overflow: visible!important;
                .splide__list {
                    .splide__slide { 
                        .voice-detail {
                            position: relative;
                            display: flex;
                            gap: 0 40px;
                            width: 100%;
                            background-color: var(--yellowgreen02);
                            border-radius: 20px;
                            padding: 70px 40px;
                            box-shadow: 8px 8px 0px var(--yellowgreen04);
                            @media (width <= 800px) {
                                flex-wrap: wrap;
                                gap: 24px 0;
                                border-radius: 10px;
                                box-shadow: 4px 4px 0px var(--yellowgreen04);
                                padding: 30px;
                            }
                            &::before,
                            &::after {
                                position: absolute;
                                width: 100%;
                                height: 100%;
                                border-radius: 20px;
                                content: "";
                                pointer-events: none;
                                @media (width <= 800px) {
                                    border-radius: 10px;
                                }
                            }
                            &::before {
                                left: 16px;
                                top: 16px;
                                background-color: #B9D581;
                                z-index: -1;
                                @media (width <= 800px) {
                                    left: 8px;
                                    top: 8px;
                                }
                            }
                            &::after {
                                left: 24px;
                                top: 24px;
                                background-color: #97AC6C;
                                z-index: -2;
                                @media (width <= 800px) {
                                    left: 12px;
                                    top: 12px;
                                }
                            }
                            .l-detail {
                                width: 184px;
                                @media (width <= 800px) {
                                    width: 100px;
                                    margin: 0 auto;
                                }
                            }
                            .r-detail {
                                width: calc(100% - 184px);
                                @media (width <= 800px) {
                                    display: flex;
                                    justify-content: center;
                                    flex-wrap: wrap;
                                    width: 100%;
                                }
                                h3 {
                                    display: inline-flex;
                                    align-items: center;
                                    justify-content: center;
                                    color: var(--green01);
                                    font-size: 18px;
                                    background-color: var(--white);
                                    padding: 10px 20px;
                                    margin-bottom: 20px;
                                    z-index: 1;
                                    @media (width <= 800px) {
                                        font-size: 14px;
                                        padding: 4px 8px;
                                        margin: 0 auto 20px;
                                    }
                                    &::before,
                                    &::after {
                                        position: absolute;
                                        top: 50%;
                                        translate: 0 -50%;
                                        width: 18px;
                                        height: calc(100% + 6px);
                                        border: 3px solid var(--green02);
                                        content: "";
                                        pointer-events: none;
                                        z-index: -1;
                                    }
                                    &::before {
                                        left: -3px;
                                        border-right: none;
                                    }
                                    &::after {
                                        right: -3px;
                                        border-left: none;
                                    }
                                }
                                p {
                                    width: 100%;
                                    margin: 0;
                                }
                            }
                        }
                    }
                }
            }
        }
        .splide__arrows {
            position: absolute;
            left: -456px;
            top: 195px;
            @media (width <= 800px) {
                position: relative;
                left: auto;
                top: auto;
                margin: 40px auto 0;
            }
            .splide__arrow {
                background: none;
                background-color: var(--darkgray);
                mask-image: url(../img/arrow_l.svg);
                mask-repeat: no-repeat;
            }
            .splide__pagination {
                li {
                    .splide__pagination__page {
                        background-color: #D1D1D1;
                        &.is-active {
                            transform: none;
                            background-color: var(--green02);
                        }
                    }
                }
            }
        }

    }
}


/* order */
.bg-order {
    position: relative;
    width: 100%;
    img {
        width: 100%;
    }
}
.order {
    background-color: var(--lightblue);
    padding: 35px 0 20vw;
    @media (width <= 800px) {
        padding: 45px 0 42.7vw;
    }
    h2 {
        @media (width <= 800px) {
            margin-bottom: 4px;
        }
    }
    .read-order {
        text-align: center;
        margin-bottom: 116px;
        @media (width <= 800px) {
            font-size: 16px;
            line-height: 2;
            margin-bottom: 25px;
        }
    }
}
.orderlist {
    display: flex;
    gap: 0 39px;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
    counter-reset: num;
    @media (width <= 800px) {
        flex-wrap: wrap;
        gap: 35px 0;
    }
    li {
        position: relative;
        display: flex;
        align-content: center;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
        min-height: 210px;
        color: var(--green01);
        font-size: 18px;
        font-weight: 700;
        line-height: 1.44;
        text-align: center;
        background-color: var(--white);
        border-radius: 20px;
        margin: 0;
        @media (width <= 800px) {
            justify-content: flex-start;
            width: 100%;
            min-height: 87px;
            font-size: 16px;
            line-height: 1.25;
            padding: 10px 24px 10px 60px;
            border-radius: 10px;
        }
        &:last-child {
            &::after {
                display: none;
            }
        }
        &::before,
        &::after {
            position: absolute;
        }
        &::before {
            left: 50%;
            top: 0;
            translate: -50% -50%;
            color: var(--green01);
            font-family: "Poppins", sans-serif;
            font-size: 35px;
            font-weight: 600;
            line-height: 1;
            counter-increment: num;
            content: counter(num, decimal-leading-zero);
            @media (width <= 800px) {
                left: 20px;
                top: 50%;
                translate: 0 -50%;
                font-size: 20px;
            }
        }
        &::after {
            right: -30px;
            top: 50%;
            translate: 0 -50%;
            width: 19px;
            height: 69px;
            background-image: url(../img/arrow_r_order.svg);
            background-repeat: no-repeat;
            background-position: left top;
            background-size: cover;
            content: "";
            @media (width <= 800px) {
                top: auto;
                bottom: -48px;
                right: auto;
                left: 50%;
                translate: -50% 0;
                width: 16px;
                height: 60px;
                rotate: 90deg;
            }
        }
        .order-img {
            display: block;
            margin-bottom: 12px;
            @media (width <= 800px) {
                position: absolute;
                right: 16px;
                top: 50%;
                translate: 0 -50%;
                display: inline-block;
                width: 78px;
                margin-bottom: 0;
            }
        }
        .order-title {
            display: block;
            width: 100%;
            text-align: center;
            @media (width <= 800px) {
                display: inline-block;
                width: auto;
                text-align: left;
            }
            .s-title {
                font-size: 14px;
            }
        }
    }
}


.faq {
    .faq-contact {
        @media (width <= 800px) {
            padding-top: 70px;
        }
        h3 {
            @media (width <= 800px) {
                height: 61px;
            }
        }
    }
}