html {
    font-size: 10px;
    font-size: -webkit-calc(100vw * (10 / 390));
    font-size: calc(100vw * (10 / 390));

    @media (max-width: 320px) {
        font-size: -webkit-calc(100vw * (8 / 320));
        font-size: calc(100vw * (8 / 320));
    }
    @media (min-width: 835px) {
        font-size: -webkit-calc(100vw * (6 / 835));
        font-size: calc(100vw * (6 / 835));
    }
    @media (min-width: 1280px) {
        font-size: -webkit-calc(100vw * (9 / 1280));
        font-size: calc(100vw * (9 / 1280));
    }
    @media (min-width: 1366px) {
        font-size: -webkit-calc(100vw * (10 / 1366));
        font-size: calc(100vw * (10 / 1366));
    }
    @media (min-width: 1689px) {
        font-size: -webkit-calc(100vw * (10 / 1689));
        font-size: calc(100vw * (10 / 1689));
    }
    @media (min-width: 1920px) {
        font-size: -webkit-calc(100vw * (13 / 1920));
        font-size: calc(100vw * (13 / 1920));
    }
}
body {
    font-size: 1.6rem;
    margin: 0;
    font-family: "Shippori Mincho", serif;
}
div, p, a {
    box-sizing: border-box;
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
    margin-left: 0;
    line-height: 1.8;
}
p, a {
    color: var(--main-black);
    margin-bottom: 0;
    text-decoration: none;
}
h1, h2, h3, h4, h5 {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
    margin-left: 0;
}
li {
    list-style: none;
}

.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 10rem;
    padding-left: 3rem;
    background-color: #fff;
    box-shadow: 0 1px 2px #ccc;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
    .logo img {
        height: 100%;
        width: calc(100vw * (244.69 / 1366));
    }
    .header-buttons {
        margin-right: 5rem;
        display: flex;
        align-items: center;
        font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        .contact-button {
            width: -webkit-calc(100vw * (325.57/1366));
            width: calc(100vw * (325.57/1366));
            display: inline-block;
            padding: 2.2rem 0;
            padding-left: 3rem;
            border-radius: 5rem;
            font-size: 1.8rem;
            font-weight: bold;
            color: #fff;
            text-decoration: none;
            position: relative;

            &.email-button {
                background-color: #4E554D;
                margin-right: 3rem;
            }

            &.line-button {
                background-color: #47B557;
            }
        }
        .contact-button::after {
            display: block;
            position: absolute;
            content: "";
            width: 1.3rem;
            height: 1.3rem;
            border-right: 2px solid #fff;
            border-bottom: 2px solid #fff;
            transform: rotate(-45deg);
            right: 2rem;
            top: 41%;
        }
    }
}
@media screen and (max-width: 834px) {
    .header {
        width: 100%;
        height: 6.4rem;
        padding-left: 2.5rem;
        justify-content: space-between;
        .logo {
            display: flex;
            align-items: center;
        }
        .logo img {
            width: calc(100vw * (169 / 390));
        }
        .menu {
            background-color: #866B51;
            height: 100%;
            padding: 1rem 1.5rem 0 1.5rem;

            img {
                width: calc(100vw * (35 / 390));
            }
        }
    }
}

.first-view {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16rem;

    .main-image {
        margin-right: 5rem;
        width: calc(100% * (828.36/1366));
    }

    .vertical-text {
        writing-mode: vertical-rl;
        text-orientation: upright;
        font-size: 5rem;
        color: #272727;
        line-height: 1.5;
        letter-spacing: .09em;
        height: calc(100vw * (763/1366));
        word-break: keep-all;
    }

    .main-image img {
        max-width: 100%;
        height: auto;
    }
}
.lead-text {
    text-align: center;
    padding-top: 18rem;
    font-size: 2.2rem;
    background-image: url("../img/lead-bg.jpg");
    background-position: top;
    background-size: 100% auto;
    background-repeat: no-repeat;

    strong {
        font-size: 4rem;
        position: relative;
    }
    span {
        font-size: 5.9rem;
        background-color: #65966C;
        color: #fff;
        padding: 0 2rem;
        font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        letter-spacing: .05em;
        transform: rotate(-2deg);
        display: inline-block;
        width: fit-content;
        line-height: 1.3;
        position: relative;
        z-index: 1;
    }
    strong img {
        position: absolute;
        width: calc(100% * (88.76 / 608));
        z-index: 0;
        right: 29%;
        top: -224%;
        opacity: 0;
    }
    span span {
        display: inline;
        font-size: 4.8rem;
        padding: unset;
        transform: none;
    }
    .cont {
        margin-top: 3rem;
        font-weight: 500;
    }
}
@media screen and (max-width: 834px) {
    .first-view {
        margin-top: 9rem;

        .main-image {
            margin-right: 1rem;
            width: calc(100% * (268/390));
        }

        .vertical-text {
            font-size: 2.4rem;
            color: #272727;
            font-weight: bold;
            height: calc(100vw * (391/390));
        }
    }
    .lead-text {
        padding-top: 6rem;
        font-size: 2.2rem;
        background-color: rgba(234, 233, 214, .5);
        strong {
            font-size: 2.2rem;
        }
        span {
            font-size: 3rem;
            padding: 0 1rem;
        }
        span span {
            font-size: 2.6rem;
        }
        .cont {
            margin-top: 1.5rem;
            font-weight: 700;
            font-size: 1.4rem;
        }
    }
}

.about {
    padding-top: 6rem;
    text-align: left;
    background-color: rgba(234, 233, 214, .5);

    h2 {
        display: block;
        margin: auto;
        width: calc(100% * (810/1366));
        font-size: 6rem;
        color: #65966C;
    }
    .about-lead {
        display: block;
        margin: auto;
        width: calc(100% * (810/1366));
        font-size: 1.8rem;
        margin-top: 2rem;
        font-weight: 600;
    }

    .about-content {
        margin: auto;
        width: calc(100% * (810/1366));
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .about-imageWrap {
        position: relative;
        p {
            font-size: 2.8rem;
            color: #fff;
            font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
            background-color: #65966C;
            display: block;
            width: 100%;
            margin: auto;
            margin-top: 4rem;
            padding-top: 1rem;
            padding-bottom: .6rem;
            padding-left: 8rem;
            font-weight: 500;
            position: relative;
        }
        p img {
            position: absolute;
            left: 0;
            top: -65%;
            width: calc(100% * (42.8 / 810));
        }
        img {
            max-width: 100%;
        }
        .img01 {
            display: flex;
            justify-content: center;
            align-items: center;
            width: calc(100% * (270.31/810));
            height: calc(100vw * (117/1366));
            background-image: url("../img/about-image1.png");
            background-size: 100%;
            background-repeat: no-repeat;
            position: absolute;
            bottom: 43%;
            left: 10%;
            font-size: 2.2rem;
            color: #9C7D60;
            font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
            font-weight: 500;
            text-align: center;
            line-height: 1.4;
            padding-bottom: 1rem;
        }
        .img02 {
            display: flex;
            justify-content: center;
            align-items: center;
            width: calc(100% * (323.62/810));
            height: calc(100vw * (80/1366));
            background-image: url("../img/about-image2.png");
            background-size: 100%;
            background-repeat: no-repeat;
            position: absolute;
            bottom: 64%;
            right: 14%;
            font-size: 2.2rem;
            color: #9C7D60;
            font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
            font-weight: 500;
            text-align: center;
            line-height: 1.4;
            padding-bottom: 1rem;
        }
        .img03 {
            display: flex;
            justify-content: center;
            align-items: center;
            width: calc(100% * (351.59/810));
            height: calc(100vw * (80/1366));
            background-image: url("../img/about-image3.png");
            background-size: 100%;
            background-repeat: no-repeat;
            position: absolute;
            bottom: 29%;
            right: 15%;
            font-size: 2.2rem;
            color: #9C7D60;
            font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
            font-weight: 500;
            text-align: center;
            line-height: 1.4;
            padding-bottom: 1rem;
        }
    }

    .about-text {
        font-size: 1.6rem;
        margin-top: 4rem;
        font-weight: 500;

        .text02 {
            margin-top: 1.5rem;
        }
    }
}
@media screen and (max-width: 834px) {
    .about {
        padding-top: 3rem;

        h2 {
            width: calc(100% * (350/390));
            font-size: 3.4rem;
            margin-left: 2.4rem;
        }
        .about-lead {
            width: calc(100% * (350/390));
            font-size: 1.4rem;
            margin-top: .5rem;
            margin-left: 2.4rem;
        }
        .about-content {
            width: calc(100% * (350/390));
        }
        .about-imageWrap {
            p {
                font-size: 1.4rem;
                width: 100%;
                margin-top: 10rem;
                padding-top: .5rem;
                padding-bottom: .2rem;
                padding-left: 1.5rem;
                & img {
                    width: calc(100% * (27.8 / 350));
                    top: -80%;

                }
            }
            .img01 {
                width: calc(100% * (177/350));
                height: calc(100vw * (60/390));
                background-image: url("../img/about-image1-sp.png");
                bottom: 45%;
                left: -1%;
                font-size: 1.4rem;
                padding-bottom: .5rem;
            }
            .img02 {
                width: calc(100% * (162/350));
                height: calc(100vw * (40/390));
                background-image: url("../img/about-image2-sp.png");
                bottom: 66%;
                right: 0%;
                font-size: 1.4rem;
                padding-bottom: .5rem;
            }
            .img03 {
                width: calc(100% * (176/350));
                height: calc(100vw * (44/390));
                background-image: url("../img/about-image2-sp.png");
                bottom: 31%;
                right: 4%;
                font-size: 1.4rem;
                padding-bottom: .5rem;
            }
        }
        .about-text {
            font-size: 1.4rem;
            margin-top: 1.6rem;
            .text02 {
                margin-top: 1rem;
            }
        }
    }
}
.service {
    background-color: #fff;
    text-align: left;
    background-image: url(../img/service-bg.jpg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    padding-top: 19rem;

    h2 {
        display: block;
        margin: auto;
        width: calc(100% * (810/1366));
        font-size: 6rem;
        color: #65966C;
    }

    .service-lead {
        display: block;
        margin: auto;
        width: calc(100% * (810/1366));
        font-size: 1.8rem;
        margin-top: 2rem;
        font-weight: 500;
    }
    .service-item {
        display: block;
        margin: auto;
        width: calc(100% * (810/1366));
        margin-top: 6rem;
        position: relative;
    }
    .service-ico {
        width: calc(100% * (257.84/810));
        position: absolute;
        right: 0;
        top: -24.5%;
        z-index: -1;
        .comment {
            position: absolute;
            left: -18%;
            top: -44%;
        }
        img {
            width: 100%;
            height: auto;
        }
    }
    .service-item h3 {
        font-size: 2.8rem;
        margin-left: -2rem;
        color: #fff;
        background-color: #65966C;
        display: block;
        width: fit-content;
        position: relative;
        z-index: 1;
        padding: 0 1rem;
    }
    .service-item .service-image {
        width: calc(100% * (800/810));
        margin-top: -1rem;
        width: 100%;
    }
    .service-item .service-image img {
        max-width: 100%;
        width: 100%;
        height: auto;
    }
    .service-item .service-highlight {
        font-weight: bold;
        font-size: 2.6rem;
        color: #65966C;
        margin-top: 1rem;
    }
    .service-item p {
        font-size: 1.6rem;
        margin-top: 1rem;
    }
}
@media screen and (max-width: 834px) {
    .service {
        padding-top: 6rem;
        background-image: url(../img/service-bg-sp.jpg);

        h2 {
            width: calc(100% * (350/390));
            font-size: 3.4rem;
            margin-left: 2.4rem;
        }

        .service-lead {
            width: calc(100% * (350/390));
            font-size: 1.4rem;
            margin-top: .5rem;
            font-weight: 600;
            margin-left: 2.4rem;
        }
        .service-item {
            width: calc(100% * (341/390));
            margin-top: 3rem;
        }
        .service-item h3 {
            font-size: 1.5rem;
            margin-left: -1rem;
            padding: 0 .6rem;
        }
        .service-item .service-image {
            width: 100%;
        }
        .service-item .service-highlight {
            font-size: 2.4rem;
            margin-top: .5rem;
            line-height: 1.4;
        }
        .service-item p {
            font-size: 1.4rem;
            margin-top: 1rem;
        }
        .service-ico {
            width: calc(100% * (139/341));
            position: absolute;
            right: 0;
            top: -24.5%;
            z-index: -1;
            .comment {
                position: absolute;
                left: -20%;
                top: -48%;
                width: calc(100% * (164/139));
            }
            img {
                width: 100%;
                height: auto;
            }
        }
    }
}

.gallery {
    padding-top: 42rem;
    padding-bottom: 14rem;
    background-color: #F6F6EF;
    background-image: url(../img/gallery-bg.jpg);
    background-size: 100% auto;
    background-repeat: no-repeat;

    h2 {
        display: flex;
        align-items: center;
        margin: auto;
        width: calc(100% * (810/1366));
        color: #65966C;
        font-size: 6rem;
        .gallery-ico {
            width: calc(100% * (69.38/810));
            margin-left: 2rem;
            margin-top: .5rem;
        }
    }

    .gallery-lead {
        display: block;
        margin: auto;
        width: calc(100% * (810/1366));
        font-size: 1.8rem;
        margin-top: 1.5rem;
    }

    .gallery-item {
        margin: auto;
        width: calc(100% * (800/1366));
        display: flex;
        flex-direction: column;
        margin-top: 6rem;

        h3 {
            color: #65966C;
            font-weight: bold;
            font-size: 7.6rem;
            text-align: center;
            line-height: 1.1;
        }

        h3.house-ex {
            font-size: 3.9rem;
            color: #fff;
            background-color: #65966C;
            width: 100%;
            line-height: 1.5;
            text-align: center;
        }

        .gallery-image {
            max-width: 100%;
            position: relative;

            img {
                width: 100%;
                height: auto;
            }
            .gallery-btnico01 {
                opacity: .7;
                display: block;
                width: calc(100% * (75.99/800));
                position: absolute;

                &.house-k {
                    top: 17.2rem;
                    left: 3rem;
                }
                &.house-S {
                    bottom: 9rem;
                    left: 1.6rem;
                }
                &.house-T {
                    top: 24.1rem;
                    left: 11.7rem;
                }
            }

            .gallery-btnico02 {
                opacity: .7;
                display: block;
                width: calc(100% * (75.99/800));
                position: absolute;

                &.house-k {
                    bottom: 22.9rem;
                    right: 28.8rem;
                }
                &.house-S {
                    top: 18.8rem;
                    right: 19rem;
                }
                &.house-T {
                    top: 15.7rem;
                    left: 34.7rem;
                }
            }
            .gallery-btnico03 {
                opacity: .7;
                display: block;
                width: calc(100% * (75.99/800));
                position: absolute;

                &.house-k {
                    bottom: 24rem;
                    right: 1.6rem;
                }
                &.house-S {
                    right: 5.9rem;
                    bottom: 3.6rem;
                }
                &.house-T {
                    top: 2.8rem;
                    right: 21rem;
                }
            }
            .gallery-btnico01:hover, .gallery-btnico02:hover, .gallery-btnico03:hover {
                opacity: 1;
            }

        }

        p {
            font-size: 1.6rem;
            margin-left: 2rem;
        }
    }

    .gallery-item#living, .gallery-item#washroom, .gallery-item#accent {
        background-color: #fff;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
        padding-bottom: 8rem;
        margin-top: 12rem;
        height: max-content;
        flex-direction: row;
        h3 {
            margin-top: -5rem;
            width: 100%;
            order: 1;
        }
        .gallery-image {
            order: 3;
            width: calc(100% * (556.12/810));
            margin-top: 4rem;
        }
        .gallery-image img {
            width: 100%;
            height: auto;
        }
        .gallery-item-vertical {
            writing-mode: vertical-lr;
            margin-right: 6rem;
            width: fit-content;
            order: 2;
            p {
                font-weight: 500;
                font-size: 4rem;
                margin: 0;
                margin-top: 2.5rem;
                word-break: keep-all;
            }
        }
    }
    .gallery-item#kitchen, .gallery-item#exterior {
        background-color: #fff;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding-bottom: 6rem;
        margin-top: 12rem;

        h3 {
            margin-top: -5rem;
            width: 100%;
        }
        .gallery-image {
            width: calc(100% * (659.11/810));
            margin-top: 4rem;
        }
        .gallery-image img {
            width: 100%;
            height: auto;
        }
        p {
            font-weight: 500;
            font-size: 4rem;
            width: fit-content;
            margin: 0;
            margin-top: 2rem;
        }
    }
    .gallery-item#living {
        margin-top: 7rem;
    }
}
@media screen and (max-width: 834px) {
    .gallery {
        padding-top: 12rem;
        padding-bottom: 5rem;
        h2 {
            width: calc(100% * (288/390));
            font-size: 3.4rem;
            display: flex;
            align-items: center;
            .gallery-ico {
                width: calc(100% * (31.61/288));
                margin-left: 1.5rem;
                margin-top: .5rem;
            }
        }

        .gallery-lead {
            width: calc(100% * (288/390));
            font-size: 1.4rem;
            margin-top: 1rem;
            font-weight: 600;
        }

        .gallery-item {
            width: calc(100% * (390/390));
            margin-top: 3.6rem;
            h3.house-ex {
                font-size: 2rem;
                line-height: 1.7;
            }
            p {
                font-size: 1.3rem;
                margin-left: 5rem;
                margin-top: 1rem;
            }
            .gallery-image {
                .gallery-btnico01 {
                    width: calc(100% * (37/390));

                    &.house-k {
                        top: 7.7rem;
                        left: 1.4rem;
                    }
                    &.house-S {
                        bottom: 5.5rem;
                        left: .9rem;
                    }
                    &.house-T {
                        top: 11rem;
                        left: 5.9rem;
                    }
                }

                .gallery-btnico02 {
                    display: block;
                    width: calc(100% * (37/390));
                    position: absolute;

                    &.house-k {
                        top: 11.9rem;
                        right: 14rem;
                    }
                    &.house-S {
                        top: 8rem;
                        right: 9.6rem;
                    }
                    &.house-T {
                        top: 6.9rem;
                        left: 16.9rem;
                    }
                }
                .gallery-btnico03 {
                    display: block;
                    width: calc(100% * (37/390));
                    position: absolute;

                    &.house-k {
                        bottom: 10.7rem;
                        right: .8rem;
                    }
                    &.house-S {
                        right: 2.9rem;
                        bottom: 1.8rem;
                    }
                    &.house-T {
                        top: .6rem;
                        right: 10.2rem;
                    }
                }
            }
        }
        .gallery-item#living, .gallery-item#washroom, .gallery-item#accent {
            padding-bottom: 4rem;
            margin-top: 6rem;
            width: calc(100% * (341/390));
            h3 {
                margin-top: -2rem;
                font-size: 3.4rem;
            }
            .gallery-image {
                width: calc(100% * (243/341));
                margin-top: 2.5rem;
            }
            .gallery-item-vertical {
                writing-mode: vertical-lr;
                margin-right: 2.5rem;
                width: fit-content;
                order: 2;
                p {
                    font-size: 1.7rem;
                    font-weight: 600;
                }
            }
        }
        .gallery-item#kitchen, .gallery-item#exterior {
            padding-bottom: 3rem;
            margin-top: 6rem;
            width: calc(100% * (341/390));

            h3 {
                margin-top: -2rem;
                font-size: 3.4rem;
            }
            .gallery-image {
                width: calc(100% * (288/341));
                margin-top: 2.5rem;
            }
            p {
                font-size: 1.7rem;
                margin-top: .5rem;
                font-weight: 600;
            }
        }
        .gallery-item#living {
            margin-top: 3rem;
        }
    }
}
.message {
    background-color: #fff;
    text-align: center;
    background-image: url(../img/message-bg.jpg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    .message-header {
        width: calc(100% * (810/1366));
        margin: auto;
        margin-bottom: 4rem;
        display: flex;
        align-items: center;
        justify-content: center;

        h2 {
            font-size: 4.6rem;
            color: #65966C;
            line-height: 1.6;
        }
        p {
            font-size: 2rem;
            margin-top: 5rem;
            font-weight: 600;
        }

        .message-image {
            width: calc(100% * (329/810));
            padding: 0 3rem;
            margin-left: 2rem;
            img {
                max-width: 100%;
                height: auto;
            }
        }
    }

    .message-content {
        font-size: 1.6rem;
        text-align: center;
        margin-top: 6rem;

        p {
            margin-bottom: 3rem;
            font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
            font-weight: 500;
        }
    }
}
@media screen and (max-width: 834px) {
    .message {
        .message-header {
            justify-content: flex-end;
            width: 100%;
            margin-bottom: 4.7rem;
            h2 {
                font-size: 2.2rem;
            }
            p {
                font-size: 1.3rem;
                margin-top: 2.5rem;
            }
            .message-image {
                width: calc(100% * (147/390));
                margin-left: 2rem;
                padding: 0;
            }
        }
        .message-content {
            font-size: 1.4rem;
            margin-top: 5rem;
        }
    }
}

.footer {
    background-color: rgba(246, 246, 239, 1);
    color: #fff;
    margin-top: 10rem;
    position: relative;
    .footer-top {
        img {
            width: 100%;
            height: auto;
        }
        .hiking {
            width: calc(100% * (43/1366));
            position: absolute;
            top: -6rem;
            right: 28rem;
        }
    }

    .footer-content {
        margin-top: 7rem;
        text-align: center;

        .footer-logo img {
            width: calc(100% * (182.64/1366));
            height: auto;
            margin: 0 auto;
        }

        .footer-buttons {
            display: flex;
            flex-direction: column;
            align-items: center;
            font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
            margin-top: 5rem;
            .contact-button {
                width: -webkit-calc(100% * (456.65/1366));
                width: calc(100% * (456.65/1366));
                display: inline-block;
                padding: 2.5rem 0;
                padding-right: 3rem;
                border-radius: 5rem;
                font-size: 2.4rem;
                font-weight: bold;
                color: #fff;
                text-decoration: none;
                position: relative;

                &.email-button {
                    background-color: #4E554D;
                }

                &.line-button {
                    background-color: #47B557;
                    margin-top: 3rem;
                }
            }
            .contact-button::after {
                display: block;
                position: absolute;
                content: "";
                width: 13px;
                height: 13px;
                border-right: 2px solid #fff;
                border-bottom: 2px solid #fff;
                transform: rotate(-45deg);
                right: 5rem;
                top: 43%;
            }
        }

        .footer-info {
            margin-top: 3.5rem;
            color: #272727;
            .tel {
                font-size: 4rem;
            }
            .tel span {
                font-size: 2.4rem;
            }
            .name {
                display: block;
                width: calc(100% * (442/1366));
                margin: auto;
                font-size: 2.2rem;
                margin-top: 7rem;
                text-align: left;
                font-weight: 600;
            }
            .address {
                display: block;
                width: calc(100% * (442/1366));
                margin: auto;
                font-size: 1.6rem;
                text-align: left;
                margin-top: 3rem;
                font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
                font-weight: 500;
                line-height: 1.6;
            }
            .opening {
                display: block;
                width: calc(100% * (442/1366));
                margin: auto;
                font-size: 1.6rem;
                text-align: left;
                margin-top: 3rem;
                font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
                font-weight: 500;
                line-height: 1.6;
            }
        }

        .footer-sns {
            margin: auto;
            width: calc(100% * (350.69/1366));
            display: flex;
            justify-content: center;
            align-items: center;
            font-weight: 600;
            margin-top: 6rem;
            margin-bottom: 7rem;
            gap: 6rem;

            .footer-sns-ico {
                text-align: center;
                color: #fff;
                width: calc(100% * (40/350.69));
                height: calc(100vw * (40/1349));
                border-radius: 50%;
                position: relative;
                font-size: 2.1rem;
                display: flex;
                align-items: center;
                justify-content: center;
            }
            .footer_line_but {
                background: #06c755;
                display: flex;
                align-items: center;
                justify-content: center;

                img {
                    width: 80%;
                    height: auto;
                }
            }
            .footer_insta_but {
                background-image: linear-gradient(45deg, #ffd75f, #ff0357);
            }
            .footer_mail_but {
                background: #a27b5c;
            }
            .footer_reserve_but {
                background: #4f961a;
            }
            .footer_mail_but:hover span {
                color: #4f961a;
            }
            .footer_reserve_but:hover span {
                color: #4f961a;
            }
            .footer_line_but:hover span {
                color: #06c755;
            }
            .footer_insta_but:hover span {
                color: #ff0357;
            }
            .footer-sns-ico:hover {
                opacity: 0.6;
            }
            .footer-sns-ico span {
                position: absolute;
                bottom: -2.5rem;
                left: 50%;
                transform: translateX(-50%);
                color: #272727;
                text-align: center;
                display: block;
                font-size: 1rem;
            }
        }
    }

    .footer-bottom {
        text-align: center;
        font-size: 1.1rem;
        padding: 1.2rem 0;
        background-color: #866B51;
        color: #fff;
        font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        font-weight: 600;
    }
}
@media screen and (max-width: 834px) {
    .footer {
        margin-top: 8rem;
        .footer-top {
            .hiking {
                width: calc(100% * (30/390));
                position: absolute;
                top: -4.2rem;
                right: 2.5rem;
            }
        }
        .footer-content {
            margin-top: 4rem;
            text-align: center;

            .footer-logo img {
                width: calc(100% * (139.59/390));
                height: auto;
                margin: 0 auto;
            }
            .footer-buttons {
                margin-top: 4rem;
                .contact-button {
                    width: calc(100% * (349/390));
                    font-size: 1.8rem;
                    &.line-button {
                        margin-top: 2.5rem;
                    }
                }
                .contact-button::after {
                    width: 10px;
                    height: 10px;
                    right: 3rem;
                }
            }
            .footer-info {
                margin-top: 3rem;
                color: #272727;
                .tel {
                    font-size: 3rem;
                    font-weight: bold;
                }
                .tel span {
                    margin-right: .5rem;
                    font-size: 1.8rem;
                }
                .name {
                    width: calc(100% * (318/390));
                    font-size: 1.8rem;
                    margin-top: 5.5rem;
                }
                .address {
                    width: calc(100% * (318/390));
                    font-size: 1.2rem;
                    margin-top: 2rem;
                    line-height: 2;
                }
                .address span {
                    font-size: 1rem;
                    font-weight: 400;
                }
                .opening {
                    width: calc(100% * (318/390));
                    font-size: 1.2rem;
                    text-align: left;
                    margin-top: 3rem;
                    font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
                    font-weight: 500;
                    line-height: 2;
                }
                .opening span {
                    font-size: 1rem;
                    font-weight: 400;
                }
            }
            .footer-sns {
                width: calc(100% * (265/390));
                margin-top: 4rem;
                margin-bottom: 6rem;
                gap: 5rem;

                .footer-sns-ico {
                    width: calc(100% * (30/265));
                    height: calc(100vw * (30/390));
                    font-size: 1.4rem;
                }
                .footer_line_but {
                    img {
                        width: 90%;
                    }
                }
                .footer_insta_but {
                    font-size: 1.5rem;
                }
                .footer-sns-ico span {
                    bottom: -2rem;
                    font-size: .9rem;
                }
            }

        }
        .footer-bottom {
            text-align: center;
            font-size: 1.1rem;
            padding: 1.3rem 0;
            background-color: #866B51;
            color: #fff;
            font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
            font-weight: 600;
        }
    }
}

.modalWrap {
    display: flex;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    position: fixed;
    width: 100vw;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;

    &.active {
        align-items: center;
        justify-content: center;
        opacity: 1;
        z-index: 101;
    }
    .modal-cont {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        z-index: 102;
        .modal-img {
            width: calc(100vw * (507/1366));
            img {
                width: 100%;
                height: auto;
            }
        }
        p {
            color: #fff;
            font-size: 1.8rem;
            font-weight: bold;
            margin-top: 3rem;
        }
    }
    .modal-close {
        z-index: 102;
        position: absolute;
        top: 8rem;
        right: 16rem;
        width: calc(100vw * (26/1366));
        img {
            width: 100%;
            height: auto;
        }

    }
    .modal-bg {
        position: absolute;
        background-color: #111;
        opacity: .7;
        display: block;
        width: 100%;
        height: 100%;
    }
}
@media screen and (max-width: 834px) {
    .modalWrap {

        .modal-cont {
            .modal-img {
                width: calc(100vw * (300/390));
            }
            p {
                font-size: 1.6rem;
                margin-top: 1rem;
            }
        }
        .modal-close {
            z-index: 102;
            position: absolute;
            top: 6rem;
            right: 2rem;
            width: calc(100vw * (26/390));
            img {
                width: 100%;
                height: auto;
            }
        }
    }
}



@media screen and (min-width: 835px) {
    .sp-only {
        display: none !important;
    }
}
@media screen and (max-width: 834px) {
    .pc-only {
        display: none !important;
    }
}

/* アニメーション用のクラスにscrAnim_activeを加える */
/* 例）fadeinの場合 */

.ani_fadein {
    opacity: 0;
}
.ani_fadein.scrAnim_active {
    animation: fadein;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
}
@keyframes fadein {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.ani_shaking.scrAnim_active {
    animation: shaking;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    animation-delay: .6s;
}
@media screen and (max-width: 834px) {
    .ani_shaking.scrAnim_active {
        animation-delay: 1.3s;
    }
}

@keyframes shaking {
    0% {
        transform: rotate(3deg);
    }
    20% {
        transform: rotate(-3deg);
    }
    40% {
        transform: rotate(2deg);
    }
    60% {
        transform: rotate(-2deg);
    }
    80% {
        transform: rotate(2deg);
    }
    100% {
        transform: rotate(-2deg);
    }
}

.ani_shaking02.scrAnim_active {
    animation: shaking2 linear;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    animation-delay: .3s;
}
@keyframes shaking2 {
    0% {
        transform: rotate(0);
    }
    20% {
        transform: rotate(-16deg);
    }
    40% {
        transform: rotate(16deg);
    }
    60% {
        transform: rotate(-16deg);
    }
    80% {
        transform: rotate(16deg);
    }
    100% {
        transform: rotate(0deg);
    }
}
.ani_scaleInB {
    transform: scaleY(.0) scaleX(.1);
    transform-origin: bottom;
}
.ani_scaleInB.scrAnim_active {
    animation: scaleInB;
    animation-duration: .6s;
    animation-fill-mode: forwards;
}
.ani_scaleInB.scrAnim_active.ani-deray1 {
    animation-delay: 0s;
}
.ani_scaleInB.scrAnim_active.ani-deray2 {
    animation-delay: 0.3s;
}
.ani_scaleInB.scrAnim_active.ani-deray3 {
    animation-delay: 0.2s;
}
.ani_scaleInB.scrAnim_active.ani-deray4 {
    animation-delay: 0.2s;
}
@media screen and (max-width: 834px) {
    .ani_scaleInB.scrAnim_active.ani-deray4 {
        animation-delay: 0;
    }
}
@keyframes scaleInB {
    0% {
        transform: scaleY(.0) scaleX(.1);
    }
    100% {
        transform: scaleY(1) scaleX(1);
    }
}

.ani_moveWave.scrAnim_active {
    animation: moveWave 1s linear alternate;
    animation-fill-mode: forwards;
    animation-delay: .5s;
}
@media screen and (max-width: 834px) {
    .ani_moveWave.scrAnim_active {
        animation-delay: 1s;
    }
}

@keyframes moveWave {
    0% {
        opacity: 0;
        right: 30%;
        top: -194%;
        transform: rotate(0deg);
    }
    20% {
        right: 25%;
        top: -224%;
        transform: rotate(-30deg);
        opacity: 1;
    }
    40% {
        right: 20%;
        top: -204%;
        transform: rotate(-20deg);
        opacity: 1;
    }
    60% {
        right: 15%;
        top: -134%;
        transform: rotate(0deg);
        opacity: 1;
    }
    80% {
        right: 5%;
        top: -164%;
        transform: rotate(0deg);
        opacity: 1;
    }
    100% {
        right: 0%;
        top: -134%;
        transform: rotate(0deg);
        opacity: 1;
    }
}

.ani_wolking.scrAnim_active {
    animation: wolking 3s linear;
    animation-fill-mode: forwards;
    animation-delay: .5s;
}
@keyframes wolking {
    0% {
        transform: translateX(0%) rotate(0deg);
    }
    10% {
        transform: translateX(-50%) rotate(10deg);
    }
    20% {
        transform: translateX(-100%) rotate(-10deg);
    }
    30% {

        transform: translateX(-150%) rotate(10deg);
    }
    40% {

        transform: translateX(-200%) rotate(-10deg);
    }
    50% {

        transform: translateX(-250%) rotate(10deg);
    }
    60% {

        transform: translateX(-300%) rotate(-10deg);
    }
    70% {

        transform: translateX(-350%) rotate(10deg);
    }
    80% {

        transform: translateX(-400%) rotate(-10deg);
    }
    90% {

        transform: translateX(-450%) rotate(10deg);
    }
    100% {

        transform: translateX(-500%) rotate(0deg);
    }
}

.ani_opacity {
    animation: opacity 1.5s linear infinite;
}
.ani_opacity:hover {
    animation: none;
}
@keyframes opacity {
    0% {
        opacity: 1;
    }
    50% {
        opacity: .4;
    }
    100% {
        opacity: 1;
    }
}

/* 20250319追記 */
.re-lead-text {
    background-color: #65966C;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 14rem;
    padding-bottom: 7rem;
}
.re-lead-catch {
    margin-top: -7rem;
    font-size: 3.5rem;
    background-color: #fff;
    border: 2px solid #65966C;
    border-radius: 20px;
    font-weight: 800;
    padding: 2.4rem 14rem;
    line-height: 1.3;
    position: relative;
    & span {
        color: #65966C;
    }
    &::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 100%);
        width: 3rem;
        height: 2rem;
        border-top: 2rem solid#fff;
        border-left: 3rem solid rgba(0, 0, 0, 0);
        border-right: 3rem solid rgba(0, 0, 0, 0);
        box-sizing: border-box;
    }
}
.re-lead-container {
    margin-top: 7.3rem;
    display: flex;
    gap: 2.5rem;
}
.re-lead-item {
    width: 31.7rem;
}
.re-lead-img {
    width: 100%;
    & img {
        width: 100%;
        height: auto;
        vertical-align: top;
    }
}
.re-lead-desc {
    margin-top: 2rem;
    font-size: 2.1rem;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    font-weight: 600;
}
.re-lead-msg {
    font-size: 4rem;
    font-weight: 800;
    color: #fff;
    margin-top: 5rem;
    & span {
        font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        font-weight: 600;
        font-size: 5.1rem;
        letter-spacing: .01em;
        &.p2 {
            font-size: 4rem;
        }
        &.p3 {
            font-size: 4.6rem;
            letter-spacing: .03em;
            font-feature-settings: "palt";
        }
        &.p4 {
            font-size: 4rem;
            font-weight: 800;
            font-family: "Shippori Mincho", serif;
            letter-spacing: -.08em;
        }
        &.p5 {
            font-size: 4rem;
            font-weight: 800;
            font-family: "Shippori Mincho", serif;
            letter-spacing: -.4em;
        }
        &.p6 {
            font-size: 4.6rem;
            letter-spacing: .08em;
            font-feature-settings: "palt";
        }
    }
    .itar {
        font-style: italic;
        font-family: "Shippori Mincho", serif;
        font-size: 4rem;
    }
}
.re-lead-to-lead {
    width: 27.6rem;
    height: 11.9rem;
    margin: auto;
    margin-top: 7rem;
    margin-bottom: 3rem;
    background-color: #866B51;
    display: flex;
    justify-content: center;
    position: relative;
    & p {
        margin-top: 1.5rem;
        font-size: 3.2rem;
        font-weight: 800;
        color: #fff;
        transform: rotate(-2deg);
    }
    &::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 13.8rem;
        height: 11.9rem;
        border-bottom: 11.9rem solid#fff;
        border-right: 13.8rem solid rgba(0, 0, 0, 0);
        box-sizing: border-box;
    }
    &::after {
        content: "";
        position: absolute;
        bottom: 0;
        right: 0;
        width: 13.8rem;
        height: 11.9rem;
        border-bottom: 11.9rem solid#fff;
        border-left: 13.8rem solid rgba(0, 0, 0, 0);
        box-sizing: border-box;
    }
}
.about-content {
    .about-fukidashiWrap {
        margin-top: 4rem;
        display: flex;
        justify-content: space-between;
        .about-fukidashi {
            padding-top: .2em;
            width: 19.4rem;
            height: 10.5rem;
            font-size: 1.6rem;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            line-height: 1.7;
            font-weight: 600;
            font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
            color: #9C7D60;
            font-feature-settings: "palt";
            background-color: #fff;
            border: 3px solid #9C7D60;
            border-radius: 10px;
            position: relative;
            &::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 50%;
                transform: translate(-50%, 100%);
                border: 6px solid transparent;
                border-top: 12px solid #FFF;
                z-index: 2;
            }
            &::before {
                content: "";
                position: absolute;
                bottom: -1px;
                left: 50%;
                transform: translate(-50%, 100%);
                border: 9px solid transparent;
                border-top: 15px solid #9C7D60;
                z-index: 1;
            }
            &.fukidashi2 {
                margin-top: 2rem;
            }
            &.fukidashi4 {
                margin-top: 2rem;
            }
        }
    }
}
.gallery-str {
    text-align: center;
    margin-top: 8rem;
    font-size: 3.2rem;
    font-weight: 600;
    font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    & span {
        color: #65966C;
        &.p1 {
            color: #000;
            letter-spacing: .2em;
        }
    }
}
@media screen and (max-width: 834px) {
    .re-lead-text {
        margin-top: 14rem;
        padding-bottom: 7rem;
    }
    .re-lead-catch {
        font-size: 2rem;
        padding: 1.8rem 2rem;
        &::after {
            border-top: 1.5rem solid#fff;
            border-left: 2rem solid rgba(0, 0, 0, 0);
            border-right: 2rem solid rgba(0, 0, 0, 0);
        }
    }
    .re-lead-container {
        margin-top: 5rem;
        flex-direction: column;
        gap: 3rem;
    }
    .re-lead-item {
        width: 28.7rem;
    }
    .re-lead-desc {
        margin-top: 1rem;
        font-size: 1.7rem;
    }
    .re-lead-msg {
        text-align: center;
        font-size: 2.6rem;
        font-weight: 800;
        color: #fff;
        margin-top: 5rem;
        line-height: 1.5;
        & span {
            font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
            font-weight: 600;
            font-size: 4rem;
            .p2 {
                font-size: 3rem;
            }
            .p3 {
                font-size: 4rem;
                letter-spacing: 0;
                font-feature-settings: "palt";
            }
            &.p4 {
                font-size: 2.6rem;
                font-weight: 800;
                font-family: "Shippori Mincho", serif;
                letter-spacing: -.08em;
            }
            &.p5 {
                font-size: 2.6rem;
                font-weight: 800;
                font-family: "Shippori Mincho", serif;
                letter-spacing: -.4em;
            }
            &.p6 {
                font-size: 4rem;
                letter-spacing: .08em;
                font-feature-settings: "palt";
            }
        }
        .itar {
            font-style: italic;
            font-family: "Shippori Mincho", serif;
            font-size: 2.6rem;
        }
    }
    .re-lead-to-lead {
        width: 21.6rem;
        height: 8.2rem;
        margin: auto;
        margin-top: 5rem;
        margin-bottom: 3rem;
        background-color: #866B51;
        display: flex;
        justify-content: center;
        position: relative;
        & p {
            margin-top: 0rem;
            font-size: 2rem;
            font-weight: 800;
            color: #fff;
            transform: rotate(-2deg);
        }
        &::before {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 13.8rem;
            height: 11.9rem;
            border-bottom: 11.9rem solid#fff;
            border-right: 13.8rem solid rgba(0, 0, 0, 0);
            box-sizing: border-box;
        }
        &::after {
            content: "";
            position: absolute;
            bottom: 0;
            right: 0;
            width: 13.8rem;
            height: 11.9rem;
            border-bottom: 11.9rem solid#fff;
            border-left: 13.8rem solid rgba(0, 0, 0, 0);
            box-sizing: border-box;
        }
    }
    .about-content {
        .about-fukidashiWrap {
            margin-top: 4rem;
            display: flex;
            justify-content: flex-start;
            gap: 1rem;
            .about-fukidashi {
                padding-top: .2em;
                width: 13.4rem;
                height: 7.5rem;
                font-size: 1.2rem;
                display: flex;
                align-items: center;
                justify-content: center;
                text-align: center;
                line-height: 1.7;
                font-weight: 600;
                font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
                color: #9C7D60;
                font-feature-settings: "palt";
                background-color: #fff;
                border: 3px solid #9C7D60;
                border-radius: 10px;
                position: relative;
                &::after {
                    content: "";
                    position: absolute;
                    bottom: 0;
                    left: 50%;
                    transform: translate(-50%, 100%);
                    border: 6px solid transparent;
                    border-top: 12px solid #FFF;
                    z-index: 2;
                }
                &::before {
                    content: "";
                    position: absolute;
                    bottom: -1px;
                    left: 50%;
                    transform: translate(-50%, 100%);
                    border: 9px solid transparent;
                    border-top: 15px solid #9C7D60;
                    z-index: 1;
                }
                &.fukidashi2 {
                    margin-top: 8rem;
                    position: absolute;
                    left: 7rem;
                }
                &.fukidashi4 {
                    margin-top: 8rem;
                    position: absolute;
                    right: 0;

                }
            }
        }
    }
    .gallery-str {
        text-align: center;
        margin-top: 8rem;
        font-size: 1.6rem;
        font-weight: 600;
        font-family: "Montserrat", "Noto Sans JP", sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        & span {
            color: #65966C;
            &.p1 {
                color: #000;
                letter-spacing: .2em;
            }
        }
    }
}