header {
    .header-top {
        padding-inline: 60px;

        h1 {
            height: 45px;
            width: 48px;

            a {
                position: absolute;

                img {
                    width: 39.5px;
                    height: 45px;
                }
            }
        }

        .tel-number {
            align-items: center;
            display: block;

            img {
                width: 24px;
                height: 18px;
                aspect-ratio: auto 24 / 18;
            }

            span {
                font-family: 'GJG-Heavy';
                font-size: 26px;
                color: black;
            }
        }

        .tel-number-mobile {
            display: none;
        }

        #hmbg-btn {
            display: none;
        }
    }

    .hmbg-menu {
        display: none;
    }

    .header-hero-image {
        height: 400px;
        display: flex;
        align-items: center;
        background-image: url(../assets/image/top_pc.webp);
        background-repeat: no-repeat;
        border-bottom: 2px black solid;

        .top-logo {
            margin: 10px;
        }

        .top-price {
            text-align: unset;
            position: relative;
            padding-inline: 120px;
            width: unset;
            left: unset;
            bottom: unset;
            translate: unset;

            p {
                font-size: 18px;
                letter-spacing: .1em;

                >span {
                    font-size: 36px;

                    span {
                        font-size: 64px;
                        line-height: 1em;
                        font-weight: 800;
                    }
                }
            }

            br {
                display: block;
            }
        }
    }
}

.section-wrapper {
    .header-bottom {
        position: sticky;
        top: 60px;
        left: 0;
        z-index: 9;
        width: 100%;
        height: 60px;
        background-color: #fff9d9;
        border-bottom: 2px black solid;
        display: flex;
        align-items: center;
        justify-content: center;

        ul {
            display: flex;
            justify-content: center;
            align-items: center;

            li {
                position: relative;
                width: 150px;
                display: flex;
                align-items: center;

                a {
                    width: 100%;
                    display: flex;
                    justify-content: center;
                    align-items: center;

                    p {
                        display: flex;
                        flex-direction: column;
                        color: #42362b;
                        font-family: 'GJG-Medium';
                    }
                }
            }

            li:not(:first-child):before {
                position: absolute;
                content: '';
                background-color: black;
                height: 30px;
                width: 1px;
            }
        }
    }

    .menu-price {
        .paper {
            background-image: url(../assets/image/effect.webp);
            background-color: #fff;
            background-size: 100% 100%;
            width: 90%;
            max-width: 900px;
            margin-inline: auto;
            padding-block: 120px 90px;
            position: relative;

            &::before,
            &::after {
                content: url(../assets/image/g1.webp);
                scale: .5;
                position: absolute;
            }

            &::before {
                top: -118px;
                left: -131px;
            }

            &::after {
                right: -124px;
                bottom: -96px;
            }

            h2 {
                margin-inline: auto;
                width: fit-content;
                padding: 7px 32px;
                background-size: 100% 100%;
            }

            ul {
                width: unset;

                li {
                    margin-top: 40px;
                    display: flex;
                    justify-content: center;
                    align-items: center;

                    h3 {
                        font-size: 16px;
                        width: 30%;
                    }

                    .time-price {
                        margin-left: 15px;
                        width: 330px;

                        .time-price-texts {
                            border-bottom: solid 8px #ffde59;

                            p {
                                .time-price-number {
                                    font-size: 23px;
                                }

                                .time-price-text {
                                    font-size: 14px;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    .info {
        h2 {
            font-size: 28px;
            padding-inline: 32px;
        }

        >.campaign:first-of-type {
            .campaign-box {
                width: 515px;

                p {
                    &:last-of-type {
                        span {
                            &:first-of-type {
                                padding-right: 5em;
                            }
                        }
                    }
                }
            }
        }

        .campaign {
            display: flex;
            justify-content: center;
            padding: 60px 10px 20px;

            &::before,
            &::after {
                content: none;
            }

            .campaign-box {
                position: relative;
                margin-bottom: 0;
                background-color: #fff;
                border: solid 4px #ffde59;
                height: 240px;
                width: 250px;

                &::before {
                    content: url(../assets/image/logo1.webp);
                    position: absolute;
                    top: -26px;
                    left: -12px;
                }

                h3 {
                    font-size: 25px;
                    margin-top: 18px;
                }

                p {
                    margin-top: 14px;
                    line-height: 1em;

                    .number {
                        font-size: 26px;
                    }

                    .lang {
                        line-height: 120%;
                    }

                    .lang-bold {
                        font-size: 18px;
                    }
                }
            }

            .campaign-box:not(:first-child) {
                margin-left: 15px;
            }
        }
    }

    .access-contact {
        .access-paper {
            background-color: #fff;
            width: 90%;
            max-width: 900px;
            margin-inline: auto;
            padding: 50px;
            position: relative;

            &::before,
            &::after {
                content: url(../assets/image/g1.webp);
                scale: .5;
                position: absolute;
            }

            &::before {
                top: -90px;
                left: -131px;
            }

            &::after {
                right: -124px;
                bottom: -96px;
            }

            h2 {
                background-image: url(../assets/image/pc1.webp);
                padding-inline: 32px;
            }

            .access {
                .map {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 5%;
                    justify-content: center;
                    width: unset;
                    margin-bottom: 40px;
                }
            }

            .contact-business-hours {
                .contact {
                    table {
                        display: table;
                        border-collapse: separate;
                        text-indent: initial;
                        border-spacing: 2px;
                        border-color: grey;
                    }
                }

                .business-hours {
                    table {
                        display: table;
                        text-indent: initial;
                        border-spacing: 2px;

                        tbody {
                            tr {
                                th {
                                    display: table-cell;
                                    vertical-align: inherit;
                                    font-weight: bold;
                                    text-align: -internal-center;
                                    padding: 10px;
                                }

                                td {
                                    padding: 10px;
                                    border: solid 1px #42362b;
                                    display: table-cell;
                                    vertical-align: inherit;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    .review {
        .review-container {
            border: solid 3px #007f34;
            padding: 70px 140px;
            position: relative;
            margin-inline: auto;
            width: 95%;

            &::before,
            &::after {
                position: absolute;
                content: url(../assets/image/logo1.webp);
                scale: 1.2;
            }

            &::before {
                transform-origin: top left;
                top: 10px;
                left: 10px;
            }

            &::after {
                transform-origin: bottom right;
                bottom: 10px;
                right: 10px;
            }
        }

        .more-btn-wrap {
            translate: 0 -50px;
        }
    }
}

footer {
    .footer-container {
        .menu {
            flex-direction: unset;
        }
    }
}