@charset "utf-8";

.fade-in-element {
    display: none;
}


html, body {
    overflow-x: hidden;
}

img {
    max-width: 100%;
}

body {
background-color: #FCFCF9;
font-family: "Shippori Mincho", "Marcellus";
font-weight: 400;
color: #463625;
line-height: 1.5;
letter-spacing: 0.03em;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-stroke: 0.25px transparent;
}
    


/* コンテンツ幅 */
.wrapper_1 {
    max-width: 1290px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}


/* ヘッダー */
.header {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: rgba(217, 217, 217, 0.19); 
    position: fixed;
    width: 100%;
}

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

.header_logo {
    max-width: 184px;
}

.header_logo a {
    display: block;
}

.header_nav {
    display: flex;
    justify-content: flex-end;
    flex: 1;
}

.header_nav_title {
    display: flex;
    font-size: 19px;
}

.header_nav_title:hover {
    color: #D18553;
}

.header_nav_title_insta:hover {
opacity: 0.8;
}


.header_nav ul {
    display: flex;
    flex: 1;
    justify-content: space-between;
    align-items: center;
    max-width: 880px;
    left: auto;
    right: 0;
}

.header_button {
    max-width: 147px;
    width: 100%;
    padding: 18px 45px;
    text-align: center;
    background-color: #D18553;
    color: #fff;
    border: 2px solid;
    border-color: #D18553;
    transition: 0.3s;
}

.header_button:hover {
    opacity: 0.8;
}

/* SP用固定ボタン */
.fixed-buttons.sp-only {
    display: flex;
    opacity: 0;
}

/* MV */
.top_mv_image {
    width: 100%;
}

.top_mv {
position: relative;
margin-top: 123px;
}


.top_catchcopy {
    position: absolute;
    z-index: 1;
    font-size: 36px;
    letter-spacing: 0.08em; 
    line-height: 1.4;
    top: 70%;
    left: 10%;
}

.top_text {
    font-size: 18px;
    margin: 120px auto 166px;
    width: 70%;
    text-align: center;
    
}

.top_text1 {
    line-height: 2.2em;
    letter-spacing: 0.03em;
}

.sp-only {
    display: none;
}

.pc-only {
    display: block;
}

.top_text2 {
    margin-top: 44px;
    line-height: 2.2em;
    letter-spacing: 0.03em;
}

.top_text3 {
margin-top: 44px;
line-height: 2.2em;
letter-spacing: 0.03em;
}


/* Appeal point */
.top_title {
color: #D18553;
font-size: 45px;
font-family: "Marcellus";
text-align: center;
}

.appeal_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 120px;
    position: relative;
}

.appeal_box {
    width: 50%;
    z-index: 1;
}

.appeal_set {
    display: flex;
    align-items: center;
        margin-left: 60px;
}

.appeal_sub{
    font-size: 32px;
    padding-left: 25px;
    line-height: 1.4em;
    letter-spacing: 0.05em;
}

.appeal_icon {
max-width: 72px;
width: 100%;
}


.appeal_text {
    margin-top: 35px;
    margin-left: 157px;
    line-height: 1.6em;
}

.background_appeal1 {
    position: absolute;
    right: -200px;
    bottom: -77px;
}

.appeal_container_2 {
    position: relative;
    margin-top: 210px;
}

.appeal_container_2 .appeal_text {
        margin-top: 35px;
            margin-right: 60px;
            line-height: 1.6em;
}


.background_appeal2 {
    position: absolute;
    left: 0px;
    bottom: -100px;
}

.appeal_container_3 {
    position: relative;
    margin-top: 210px;
    margin-bottom: 284px;
}

.background_appeal3 {
    position: absolute;
    right: 0;
    bottom: -90px;
}

.appeal_image {
    width: 50%;
}


.appeal_image2 {
    margin-left: 60px;
    width: 50%;
}


.more_button_area {
    text-align: right;
}

/* 下層用ボタン */
.button_area {
display: flex;
align-items: center;
margin: auto;
margin-top: 200px;
padding-bottom: 200px;
justify-content: center;
align-items: flex-start;
padding: 0 20px;
padding-bottom: 196px;
}


.button {
border: 1px solid #D18553;
    background-color: #D18553;
    color: #FFFFFF;
    font-family: "Marcellus";
    font-size: 40px;
    max-width: 260px;
    width: 100%;
    text-align: center;
    height: 150px;
    border: #ffffff 1px solid;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding: 26px 0;

}


.reserve_button {
    display: block;
    position: relative;
    max-width: 260px;
    width: 100%;
}

.reserve_button:hover {
    opacity: 0.8;

}

.reserve_button:not(:first-of-type) {
    margin-left: 7%;
}


.reserve_button::after {
    position: absolute;
    content: "";
    border: 1px solid #fff;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    pointer-events: none;
}


.button span {
    display: block;
}


.reserve_button_text {
    margin-top: 12px;
}


.reserve_button_top {
    border-bottom: 1px solid #fff;
    display: inline-block;
    padding-bottom: 10px;

}


.reserve_button_top {
    border-bottom: 1px solid #fff;
    display: inline-block;
    padding-bottom: 10px;

}

.reserve_button_text{
    font-size: 16px;
    font-family: "Shippori Mincho"
}


/* ギャラリー */
.gallery_container {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 120px;
}

.swiperloop .swiper-wrapper {
    transition-timing-function: linear;
}

.gallery_image {
    width: 100%;
}


.gallery_containerper {
    transition-timing-function: linear;
}



.swiper-slide img {
    height: auto;
    width: 100%;
}



/* moreボタン */
.more_button {
    border: .6px solid #000000;
        background-color: #FCFCF9;
        color: #463625;
        font-family: "Marcellus";
        padding: 8px 53px 8px 48px; 
        display: inline-block;
        max-width: 143px;
        width: 100%;
        text-align: center;
        margin-top: 70px;
        position: relative;
        margin-right: 40px;
}

.more_button::before {
    content: "";
    display: block;
    width: 60px;
    height: 1px;
    background: #666;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -40px;
    margin: auto;
}


.more_button:hover{
    color: #D18553;
border-color: #D18553;
}

.more_button:hover::before {
    background: #D18553;
}

.sp-only {
    display: none;
}

.pc-only {
    display: block;
}
/* フッター */
.footer {
    margin-top: 200px;
    
}

.footer_button {
    border: 1.4px solid #3B2C1D;
        background-color: #FCFCF9;
        color: #3B2C1D;
        font-family: "Marcellus";
        font-size: 38px;
        padding: 20px 102px;
        display: inline-block;
        max-width: 348px;
        width: 100%;
        text-align: center;
        margin-top: 16px;
        box-shadow: 0px 6px 10px 0px rgba(48, 46, 46, 0.4);
        transition: background-color 0.5s ease, opacity 0.5s ease;
}

.footer_button:hover {
    background-color: rgb(209,133
    ,83,0.8);
}

.footer_line {
    text-align: center;
    letter-spacing: 0.04em;
}

.footer_image {
    margin-top: 98px;
    width: 100%;
}

.footer_nav {
    display: flex;
    align-items: center;
    margin-top: 24px;
    justify-content: space-between;

}

.footer_nav ul {
    display: flex;
    align-items: center;
}

.footer_nav li {
    margin-left: 48px;
}

.footer_nav_title:hover {
    color: #D18553;
}

.footer_logo {
    max-width: 134px;
}

.copylight {
    color: #463625;
    display: flex;
    justify-content: center;
    margin-top: 80px;
}





/* ハンバーガー */
@media(max-width: 1100px){
.header_nav ul {
    flex-wrap: wrap;
        margin-top: 0;
        position: fixed;
        z-index: 11;
        top: 0;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: #d18553;
        color: #fff;
        width: 100%;
        height: 100%;
        gap: 1em;
        transform: translateX(100%);
        transition: .4s;
        max-width: 50%;
}

.nav_open .header_nav ul {
    transform: translateX(0);
}

.header_nav li {
    margin: 8px;
}

.nav_button {
    position: relative;
    top: 3px;
    z-index: 12;
    width: 30px;
    height: 30px;
}

.nav_button span {
    display: block;
    width: 30px;
    height: 1px;
    background-color: #D18553;
    position: absolute;
    top: 0;
    z-index: 13;
    transition: .4s;
}

.nav_button span+span {
    top: 10px;
}

.nav_button span+span+span {
    top: 20px;
}

.nav_open .nav_button span {
    background-color: #fff;
    transform: rotate(-45deg);
    top: 50%;
}

.nav_open .nav_button span+span {
    opacity: 0;
}

.nav_open .nav_button span+span+span {
    opacity: 1;
    transform: rotate(45deg);
}

.header_nav_title_insta, .header_button {
    display: none;
}

.top_mv {
    margin-top: 120px;
}



.appeal_sub {
    font-size: 18px;
    padding-left: 18px;
}

.appeal_set {
    margin-left: 0;
    align-items: center;
}

.appeal_container {
    flex-direction: column-reverse
}

.background_appeal1{
    width: 137px;
    top: -64px;
    right: -50px;
}


.appeal_container, .appeal_container_2, .appeal_container_3 {
    margin-top: 40px;
}

.appeal_container_2 .appeal_text {
    margin-top: 20px;
    margin-right: 0px;
    line-height: 2.1;
}

.appeal_container_2 {
    margin-right: 0;
}


.background_appeal2 {
    bottom: auto;
    top: 50px;
    width: 80px;
}

.appeal_container_3 {
    margin-bottom: 50px;
}


.background_appeal3 {
    bottom: auto;
    top: 0;
    width: 89px;
}

.appeal_box {
    width: 100%;
    order: 1;
}

.appeal_image, .appeal_image2 {
    width: 100%;
}

.appeal_set {
    margin-left: 0%;
}

.appeal_text {
    margin: 20px auto;
    line-height: 2.1;
}

.appeal_image {
    margin-top: 20px;
}

.appeal_image2 {
    margin-left: 0%;
}
.appeal_icon {
    max-width: 50px;
}
.more_button {
    margin-top: 20px;
    padding: 4px 25px 4px 21px;
    line-height: 1.5;
}

.more_button_area.sp-only {
    display: flex;
    justify-content: flex-end;
    margin-right: 20px; }

.sp-only {
    display: block;
}

.pc-only {
    display: none;
}


/* フッターSP */
.footer {
    margin-top: 50px;
    margin-top: 50px;
    padding-bottom: 74px;
}

.footer_text {
    font-size: 12px;
}

.footer_button {
    font-size: 16px;
    padding: 9px 45px;
    max-width: 154px;
}

.footer_image {
    margin-top: 31px;
}

.footer_nav {
    display: block;
}

.footer_logo {
    max-width: 110px;
}

.footer_nav ul {
    display: flex;
    align-items: center;
    flex-direction: column;
    font-size: 12px;
}

.footer_nav ul li {
    margin-bottom: 17px;
}

.footer_nav ul li:last-child {
    margin-bottom: 0;
}

.footer_nav ul li:first-child {
    margin-top: 6px;
}

.footer_nav li {
    margin-left: 0;
}

.copylight {
    margin-top: 40px;
}


}

@media(max-width: 960px) {
/* SPタブレット用画面下固定ボタン */
.fixed-buttons.sp-only {
    opacity: 1;
    }

    .fixed-buttons {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 70px;
        background-color: rgba(217, 217, 217, 0.19);
        display: flex;
        align-items: center;
        z-index: 9999;
        padding: 0 20px;
        justify-content: center;
        gap: 30px;
    }


    .fixed-buttons {
        justify-content: center;
        gap: 30px;
    }

    .fixed-buttons .btn-left {
        width: 150px;
        height: 40px;
        background-color: #D18553;
        color: #FFFFFF;
        text-align: center;
        line-height: 40px;
        font-size: 12px;
        text-decoration: none;
        display: block;
        box-sizing: border-box;
    }

    .fixed-buttons .btn-right {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 2px;
        width: 150px;
        height: 40px;
        background-color: #FDE5A5;
        color: #D46D29;
        text-align: center;
        line-height: 40px;
        font-size: 14px;
        text-decoration: none;
    }

    .fixed-buttons .btn-right img {
        width: 18px;
        height: 18px;
        object-fit: contain;
    }

    .fixed-buttons.sp-only {
        display: flex;
    }
}



@media (max-width: 768px) {
body {
    font-size: 14px;
}



.header_nav ul {
    max-width: 100%;
}


/* ヘッダー SP*/
.header_logo {
    position: relative;
    z-index: 100;
    width: 100px;
    max-width: 110px;   
}

.top_mv {
    margin-top: 66px;
}


/* MV SP */
.top_catchcopy {
    font-size: 18px;
    top: 80%;
}

.top_text {
    font-size: 14px;
    margin: 50px auto;
    width: 81%;
}


.pc-only {
    display: none;
}

.sp-only {
    display: block;
    line-height: 2.1em;
    letter-spacing: 0.03em;
}

.top_text2_SP {
    margin-top: 38px;
}

/* Appeal pointSP*/
.top_title {
    font-size: 18px;
}


/* ギャラリーSP */
.gallery_container {
    margin-top: 40px;
}



}





/* ここからSP */
@media(max-width: 570px) {
/* 下層用ボタンSP */
.button{
    max-width: 128px;
    height: 72px;
}

    .reserve_button_top {
        font-size: 20px;
        padding-bottom: 3px;
    }

    .reserve_button_text {
        font-size: 10px;
        margin-top: 5px;
    }

.reserve_button::after {
    top: 4px;
    left: 4px;
    width: calc(100% - 8px);
    height: calc(100% - 8px);

}

    .button_area {
        flex-wrap: wrap;
        justify-content: flex-start;
        max-width: 300px;
        padding: 0;
        margin: 50px auto;
        
    }

    .reserve_button {
        width: calc(150px - 22px);
    }

    .reserve_button:not(:first-of-type) {
        margin-left: 44px;
    }

    .reserve_button:nth-of-type(3) {
        margin-left: 0;
        margin-top: 30px;
    }
}