body {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 2.2;
    color: #6F6E6E;
    letter-spacing: 0.1em;
    font-style: normal;
    background-color: #FEFDF9;
}

img {
    max-width: 100%;
    height: auto;
}



:lang(en) {
    font-family: "Montserrat", sans-serif;
    font-weight: 300;
}

/* レイアウト */
.wrapper {
    width: 90%;
    max-width: 1280px;
    margin: auto;
}

.wrapper-small {
    width: 90%;
    max-width: 800px;
    margin: auto;
}

@media (max-width: 810px) {

    .wrapper,
    .wrapper-small {
        width: 80%;
    }
}

.section_title {
    color: #86764A;
    font-size: 23px;
    letter-spacing: 0.03em;
}

@media (max-width: 706px) {
    .section_title {
        font-size: 15px;
    }
}



/* ヘッダー */

html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
}

.header {
    background-color: #86764A;
    position: sticky;
    top: 0;
    z-index: 100;
}

.header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_logo {
    margin-left: 40px;
}

.header_nav {
    display: flex;
    margin-right: 40px;
    letter-spacing: 0.15em;
}

.sp_nav {
    display: none;
}

@media (max-width:810px) {
    .header {
        position: fixed;
        width: 100%;
        top: 0;
        left: 0;
    }

    .header_nav {
        display: none;
    }

    .header_logo {
        margin-left: 20px;
    }

    .header_logo img {
        width: 55px;
    }

    .sp_nav {
        margin-right: 20px;
        display: block;
    }
}


.header_nav-list {
    align-items: center;
    color: #FEFDF9;
    display: flex;
    position: relative;
}

.nav-lists {
    padding: 0 35px;
    line-height: 1;
    transition: background-color .3s;
}

.nav-lists:nth-child(2),
.nav-lists:nth-child(3) {
    border-left: 1px solid #FEFDF9;
}

.nav-lists:hover {
    background-color: #86764A;
}



.header_nav-sns {
    background-color: #FEFDF9;
    padding: 16px 36px;
    color: #86764A;
    margin-left: 20px;
}

.megaMenu {
    color: #FFE5C6;
    background-color: #86764A;
    height: 0;
    margin: auto;
    overflow: hidden;
    position: absolute;
    right: 120px;
    text-align: center;
    top: 30px;
    transition: height .5s;
    width: 480px;
}

.megaMenu-list {
    padding-top: 35px;
}

.megaMenu-item {
    display: inline-block;
    padding: 0px 30px;
}

.megaMenu-item:nth-child(2),
.megaMenu-item:nth-child(3) {
    border-left: 1px solid #FFE5C6;
}

/* メニューをhoverした時のスタイル */
.nav-lists:hover .megaMenu {
    height: 80px;
}

/* レイアウトのためのスタイル */
a {
    text-decoration: none;
}


.hamburger_nav {
    display: none;
}


@media (max-width: 810px) {
    .sp_nav {
        position: relative;
        width: 30px;
        height: 23px;
        margin-right: 20px;
        z-index: 2;
    }

    /* 閉じている時 */
    .sp_nav .bar,
    .sp_nav .bar::before,
    .sp_nav .bar::after {
        width: 100%;
        height: 1px;
        background-color: #FEFDF9;
        display: block;
    }

    .sp_nav .bar::before {
        content: "";
        transform: translateY(-11px);
        transition: transform 0.3s ease-in-out;
    }

    .sp_nav .bar::after {
        content: "";
        transform: translateY(11px);
        transition: transform 0.3s ease-in-out;
    }

    /* 閉じている時 */


    /* 開いている時 */
    .active .sp_nav .bar,
    .active .sp_nav .bar::before,
    .active .sp_nav .bar::after {
        height: 1px;
        background-color: #FEFDF9;
    }

    .active .sp_nav .bar::before {
        transform: translateY(0);
    }

    .active .sp_nav .bar::after {
        transform: translateY(0);
    }

    /* 開いている時 */
    .hamburger_nav {
        display: block;
        background-color: #86764A;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 2;
        letter-spacing: 0.15em;
        width: 60%;
        height: 70vh;
        padding-left: 10%;
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
    }

    .active .hamburger_nav {
        transform: translateX(0);
    }

    .hamburger_nav-list {
        color: #FEFDF9;
    }

    .hamburger-lists {
        margin-top: 40px;
    }

    .gallery-list {
        margin-left: 20px;
        font-weight: 300;
        color: #FFE5C6;
    }


    .gallery-list li {
        margin-top: 30px;
    }

    .hamburger_nav-sns {
        margin-top: 60px;
    }

    .hamburger-sns {
        background-color: #FEFDF9;
        padding: 16px 36px;
        color: #86764AF9;
    }
}





/* ボタン */
.gallery-btn {
    font-weight: 400;
    display: inline-block;
    font-size: 15px;
    letter-spacing: 0.05em;
    padding: 8px 0 8px 15px;
    width: 100%;
    text-decoration: none;
    outline: none;
    color: #FEFDF9;
    background-color: #86764A;
    position: relative;
    transition: color 0.5s ease;
}


.gallery-btn:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.gallery-btn::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #DDBB93;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.8s ease;
    transition-property: transform;
}

.text {
    position: relative;
}

.gallery-btn::after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 10%;
    height: 6px;
    content: "";
    border-bottom: 1px solid #FEFDF9;
    border-right: 1px solid #FEFDF9;
    transform: skew(45deg);
}