footer {
    .image-container {
        height: 50vh;

        .bg-blue {
            height: 65%;
        }

        .cloud-1 {
            top: 20%;
            left: 30%;
            width: 5%;
        }

        .cloud-2 {
            top: 25%;
            left: 50%;
            width: 5%;
        }

        .house {
            bottom: 0%;
            width: 8%
        }

        .tree {
            left: 28%;
            width: 3%
        }

        .fairy-2 {
            right: 26%;
            width: 5%
        }
    }

    .text-container {
        padding-inline: 5%;

        h1 {
            margin-top: 30px;

            .text-1 {
                font-size: 22px
            }

            .text-2 {
                font-size: 18px
            }
        }

        .address-table {
            justify-content: center;
            align-items: center;
            width: 80%;

            .address-p {
                width: 50%;

                p {
                    margin-top: 20px;
                }
            }

            .consultation-hours-wrapper {
                display: flex;
                justify-content: center;
                position: relative;
                width: 50%;

                .consultation-hours {
                    display: flex;
                    flex-direction: column;
                    position: relative;
                    width: 100%;

                    .cloud {
                        position: absolute;
                        top: -130px;
                        right: 5%;
                        width: 130px;
                        animation: cloud-anime-55dde4d8 3s linear infinite
                    }

                    .house {
                        position: absolute;
                        top: -90px;
                        left: 13%;
                        width: 110px
                    }

                    .tree {
                        position: absolute;
                        top: -55px;
                        left: 40%;
                        width: 35px
                    }

                    h3 {
                        display: flex;
                        align-items: center;
                        align-self: center;
                        width: 85%;
                        margin-top: 80px;
                        border-bottom: 2px white dashed;

                        img {
                            width: 55px;
                            margin-bottom: 7px
                        }

                        span {
                            color: #fff;
                            font-size: 22px
                        }
                    }

                    .closed-wrapper {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        position: absolute;
                        top: 4%;
                        right: 25%;
                        width: 95px;
                        height: 95px;
                        border-radius: 50%;
                        background-color: #e9e994;

                        .closed {
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            align-items: center;
                            width: 75px;
                            height: 75px;
                            border-radius: 50%;
                            background-color: #fff;

                            span {
                                color: #d8a798;
                                font-weight: 700
                            }
                        }
                    }

                    table {
                        align-self: center;
                        width: 90%;
                        margin-top: 15px;
                        padding-right: 5%;
                        padding-left: 5%;
                        color: #fff;
                        table-layout: fixed;

                        .week {
                            background-image: linear-gradient(to right, #fff, #fff 4px, transparent 4px, transparent 8px);
                            background-position: left bottom;
                            background-size: 10px 1px;
                            background-repeat: repeat-x;

                            th {
                                padding: 0 3px 6px 6px;

                                &:not(:first-child) {
                                    background-image: linear-gradient(to top, #fff, #fff 4px, transparent 4px, transparent 8px);
                                    background-position: left bottom;
                                    background-size: 1px 8px;
                                    background-repeat: repeat-y;
                                    font-weight: 400;
                                    font-size: 14px
                                }
                            }

                            .saturday {
                                color: #00f
                            }

                            .sunday {
                                color: red
                            }
                        }

                        .table-hours {
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            align-items: center;
                            font-size: 10px
                        }

                        td:not(:first-child) {
                            background-image: linear-gradient(to top, #fff, #fff 4px, transparent 4px, transparent 8px);
                            background-position: left bottom;
                            background-size: 1px 8px;
                            background-repeat: repeat-y;
                            text-align: center
                        }
                    }

                    .text-hoken-uketuke {
                        align-self: flex-end;
                        margin-right: 10%;
                        color: #fff;
                        font-size: 14px
                    }
                }
            }
        }

        small {
            margin-block: 40px;
            color: #fff;
            font-size: 18px;
            display: block;
        }
    }
}

.title-wrapper .title {
    .sakura-wrap {
        position: relative;
        top: 0;

        .sakura-field {
            position: absolute;
            left: 0;
            z-index: 50;
            width: 100%;
            height: 100vh;
            overflow: hidden
        }
    }

    .fairy-anime img {
        width: 55vh;
        max-width: 550px
    }

    .top-bottom {
        .title-top ul {
            margin-top: 20px;
            margin-left: 40px;
            padding-left: 10px;
            border: 2px rgb(216, 167, 152) solid;
            gap: 5px
        }

        .title-bottom {
            align-self: center;
            width: 70%;
            height: 25%;

            ul {
                width: 100%;
                height: 100%;
                padding-left: 5%;

                li {
                    color: #9c9999;
                    font-size: 20px;
                    letter-spacing: 3px
                }
            }
        }
    }
}

.news-wrapper {
    position: absolute;
    top: 20px;
    left: 50%;
    z-index: 100;
    display: flex;
    justify-content: center;
    width: 65%;
    transform: translate(-50%);

    ul {
        width: 100%;
        padding: 0 5px
    }
}

.about-wrapper .about .consultation-hours-wrapper {
    .consultation-hours {
        .cloud {
            right: 20%;
        }

        .house {
            top: -90px;
            width: 110px
        }

        .tree {
            top: -55px;
            left: 40%;
            width: 35px
        }

        .closed-wrapper {
            top: 4%;
            right: 25%;
            width: 95px;
            height: 95px;

            .closed {
                width: 75px;
                height: 75px;
            }
        }
    }

    .tel-goyoyaku {
        margin: 0;

        a span {
            color: #fff;
            font-size: 20px
        }

        .text-otoiawase-goyoyaku {
            font-size: 18px
        }
    }
}

.access-wrapper .access {
    .map-text-address {
        display: flex;
        flex-direction: row;
        margin-inline: 10%;
        gap: 5%;
    }

    .googlemap {
        width: 50%;
        margin: 40px 0 0;
        padding-bottom: 40%;
    }

    .text-address {
        display: flex;
        justify-content: center;
        width: 50%;

        .text-container {
            align-self: center;
            margin-top: 40px;

            h3:last-child p {
                margin-left: 0;

                .focus-text {
                    margin-left: 0;
                }
            }
        }
    }
}

.menu-screen-wrapper {
    .menu-screen {
        width: 673px;
    }

    .scroll-point span:nth-child(even) {
        display: none
    }
}

.menu-item:nth-child(even) {
    scroll-snap-align: unset;
}

.spa-menu-wrapper {
    .bg-top {
        position: absolute;
        translate: 0 100px;
    }

    .bg-blue {
        position: absolute;
        top: 30%;
        width: 100%;
        height: 40%
    }

    .bg-bottom {
        position: absolute;
        bottom: 0;
        translate: 0 -100px;
        rotate: 180deg;
        width: 100%
    }

    .fairy-sitting {
        top: 110px;
        right: 40%;
    }

    .kusa-1 {
        top: 200px;
        right: 32%;
    }

    .kusa-2 {
        top: 220px;
        right: 35%;
    }

    .spa-menu {
        translate: 0;
        margin-block: 20%;
        background-image: unset;

        .massage h3 {
            width: 30%;
            margin-left: 20%;
        }

        .sales {
            h3 {
                width: unset;
                align-self: flex-end;
                margin-right: 20%;
                padding: unset;
            }

            a {
                justify-content: center;
                width: 255px;
                margin-right: 10%;
                border-radius: 50px;
            }

            .text-otoiawase-goyoyaku {
                margin-right: 10%;
            }
        }
    }
}

.q-and-a-wrapper .q-and-a  {
    h2 {
        margin-left: 15vw
    }

    ul li {
        width: 55%;
        max-width: unset;
    }
}

.toplink-scrolldown .arrow-top {
    left: -22px;
    width: 18px;
    height: 18px;
    border-top-width: 18px;
    border-right-width: 13px;
    border-left-width: 13px;

    &::before {
        border-top-width: 17px;
        border-right-width: 12px;
        border-left-width: 12px
    }
}

.hmbg-menu-container {
    width: 20%
}