* {
    box-sizing: border-box;
    line-height: 2;
    color: #4F3E1A;
    font-family: 'Zen Old Mincho', serif;
}
html {
    margin-top: 0 !important;
    background-color: #e8e4dc;
}
body {
    position: relative;
    min-width: 1076px;
    margin: auto;
}
a {
    /* color: #4f3e1a; */
    text-decoration: none;
    transition: 0.8s;
}
a:hover {
    opacity: 0.8;
}
img {
    display: block;
}
.inner {
    width: 1076px;
    margin: auto;
    padding: 0 8px;
}
.middle_inner {
    width: 889px;
    margin: auto;
    padding: 0 8px;
}
.inner_780 {
    width: 796px;
    margin: auto;
    padding: 0 8px;
}
.tight_inner {
    width: 648px;
    margin: auto;
    padding: 0 8px;
}
.contents_box {
    padding: 144px 0;
}
.contents_box_64 {
    padding: 64px 0;
}
.pc_display {
    display: block;
}
.sp_display {
    display: none;
}
.mincho {
    font-family: 'Zen Old Mincho', serif;
}
table {
    border-collapse: collapse;
    border: solid 2px orange;
    width: 100%;
}
table th, table td {
    border: dashed 1px orange;
    text-align: center;
}
th {
    background-color: #fffaf0;
}
td,th {
    padding: 12px;
}
.d-f {
    display: flex;
}
.jc-sa {
    justify-content: space-around;
}
.ta-c {
    text-align: center;
}
.fw-b {
    font-weight: bold;
}
.c-w {
    color: #fff;
}
.c-b {
    color: #1f1411;
}
.c-brown {
    color: #4F3E1A;
}
.f-r {
    float: right;
}
.o-h {
    overflow: hidden;
}
.mt-96 {
    margin-top: 96px;
}
.mt-60 {
    margin-top: 60px;
}
.mt-48 {
    margin-top: 48px;
}
.mt-36 {
    margin-top: 36px;
}
.mt-24 {
    margin-top: 24px;
}
.mt-16 {
    margin-top: 16px;
}
.mt-12 {
    margin-top: 12px;
}
.mt-8 {
    margin-top: 8px;
}
.m-a {
    margin: auto;
}

h1 {
    font-size: 32px;
}
.main_contents h1 {
    font-size: 28px;
}
.h1_anchor {
    display: block;
    width: 200px;
}
.blue {
    color: #337ab7;
}
.dark_brown {
    color: #4f3e1a
}

header {
    position: fixed;
    width: 100%;
    z-index: 1000;
}

.header_logo {
    position: absolute;
    left: 72px;
    top: 22px;
    width: 60px;
}
.header_list {
    display: flex;
    justify-content: end;
    letter-spacing: 4px;
    font-weight: bold;
    margin-right: 83px;
}
.tel {
    display: flex;
    padding: 25.5px 50px;
    background-color: #c2b9a6;
    align-items: center;
}
.contact {
    display: flex;
    padding: 25.5px 44px;
    background-color: #4f3e1a;
    align-items: center;
}
.hamburger_menu {
    background-color: #1e1c1c;
    padding: 28px 25px;
    cursor: pointer;
    position: absolute;
    z-index: 100010;
    top: 0;
    right: 0;
    transition: 1s;
}
.hamburger-menu-line {
    background-color: #fff;
    width: 28px;
    height: 2px;
    display: block;
    margin: 3px auto 0;
}
.hamburger-menu-line.line-middle {
    width: 18px;
}
.hamburger_menu.hamburger-menu-active .line-top {
    transform: rotate(34deg) translate(2px, 1px);
}
.hamburger_menu.hamburger-menu-active .line-middle {
    display: none;
}
.hamburger_menu.hamburger-menu-active .line-bottom {
    transform: rotate(-34deg) translate(2px, -2px);
    margin-bottom: 17px;
}
.menu {
    margin-top: 12px;
    line-height: 0;
    font-size: 12px;
    display: none;
}
.menu.active {
    display: block;
}
.menu.close {
    padding: 0 2px;
}
.hamburger_nav_area {
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 100000;
    background-color: #1e1c1c;
    top: 0;
    display: none;
}
.hamburger_nav_area.active {
    display: block;
}
.hamburger_nav_contents {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80vw;
    display: flex;
}
.hamburger_nav_left_content {
    width: 60%;
    padding: 0 15% 0 5%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hamburger_nav_logo {
    display: block;
    width: 150px;
    margin: 0 auto;
}
.hamburger_nav_resevation {
    color: #fff;
    border: 1px solid #fff;
    text-align: center;
    padding: 12px;
    display: block;
}
.hamburger_nav_resevation.hamburger_nav_resevation_hotel {
    background-color: #F2842B;
}
.hamburger_nav_resevation.hamburger_nav_resevation_glamping {
    background-color: #637b32;
}


.hamburger_nav_right_content {
    width: 40%;
}
.hamburger_nav_right_top_content {
    display: flex;
}

.header_sub_wrapper {
    margin-left: 20px;
}
.header_anchor {
    font-size: 22px;
    color: #fff;
    margin-bottom: 20px;
    display: inline-block;
}
.header_sub_wrapper {
    margin-left: 58px;
}
.header_sub_li {
    list-style: initial;
    color: #fff;
}
.header_sub_anchor {
    font-size: 14px;
    margin-bottom: 18px;
    display: inline-block;
}
.header_tel {
    font-size: 32px;
    color: #fff;
    display: inline-block;
}
.header_fax {
    font-size: 24px;
    line-height: 1;
    color: #fff;
}
.header_fax a {
    color: #fff;
}
.header_company {
    font-size: 14px;
    line-height: 1;
}
.header_address {
    font-size: 16px;
    line-height: 1;
    color: #fff;
}
.header_insta_img {
    width: 40px;
    display: inline-block;
}
.side_reservation {
    position: fixed;
    right: 0;
    top: 60vh;
    transform: translate(0, -50%);
    z-index: 100;
    display: flex;
    flex-direction: column;
    letter-spacing: 4px;
    font-size: 14px;
}
.side_reservation_anchor {
    color: #fff;
    border-radius: 10px 0 0 10px;
    padding: 16px 14px;
    writing-mode: vertical-lr;
    letter-spacing: 3px;
}
.is-firefox .side_reservation {
    display: grid;
}
.side_reservation_anchor.side_reservation_anchor_hotel {
    background-color: #F2842B;
}
.side_reservation_anchor.side_reservation_anchor_glamping {
    background-color: #637b32;
}
.side_reservation_anchor.side_reservation_anchor_golf {
    background-color: #4F3E1A;
}



.back_black {
    background-color: #000;
}
.contact_text {
    width: 720px;
    margin: 0 auto;
}
.contact_tel {
    font-size: 28px;
    font-weight: 400;
}
.contact_number {
    font-size: 40px;
    font-weight: 400;
}
.contact_detail {
    font-size: 16px;
    margin-left: 8px;
    font-weight: 400;
}
.contact_btn_wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 720px;
    margin-left: auto;
    margin-right: auto;
}
.contact_btn_wrapper a {
    border: 1px solid #fff;
    padding: 7px 18px;
    width: 47.5%;
}
.caution {
    text-align: center;
    width: 720px;
    margin-left: auto;
    margin-right: auto;
}



footer {
    background-color: #1e1c1c;
    color: #fff;
    padding-top: 60px;
    padding-bottom: 28px;
}
.footer_contents {
    display: flex;
    align-items: start;
}
.footer_left_contents {
    display: flex;
    align-items: start;
    justify-content: left;
    width: 33%;
    border-right: 1px solid #fff;
    padding: 0 12px 10px 0;
}
.footer_sub_wrapper {
    margin-left: 58px;
}
.footer_anchor {
    font-size: 22px;
    color: #fff;
    display: inline-block;
}
.footer_sub_anchor {
    color: #fff;
    font-size: 14px;
    margin-bottom: 18px;
    display: inline-block;
}
.footer_right_contents {
    padding: 0 0 10px 122px;
    width: 67%;
    display: flex;
    align-items: top;
    justify-content: space-between;
}
.footer_img {
    max-width: 100px;
    width: 30%;
}
.footer_info {
    width: 65%;
}
.footer_tel {
    color: #fff;
    display: inline-block;
    font-size: 26px;
    margin-bottom: 22px;
}
.footer_fax {
    font-size: 16px;
    margin-bottom: 8px;
    line-height: 1;
    color: #fff;
}
.footer_fax a {
    color: #fff;
}
.footer_company {
    font-size: 10px;
    margin-bottom: 8px;
    line-height: 1;
}
.footer_address {
    font-size: 12px;
    margin-bottom: 22px;
    color: #fff;
}
.copy_right {
    margin-top: 20px;
}
/* sp_display */
@media (max-width: 599px) {
    body {
        min-width: inherit;
    }
    .inner, .middle_inner, .inner_780, .tight_inner {
		/* width: 92vw; */
        width: 100%;
		margin: auto;
        /* padding: 0; */
        padding: 0 16px;
	}
    .inner_780.sp_large_padding {
        padding: 0 44px 0 16px;
    }
    .contents_box {
        padding: 72px 0;
    }
    .contents_box_64 {
        padding: 32px 0;
    }
    .pc_display {
        display: none;
    }
    .sp_display {
        display: block;
    }

    .mt-96 {
        margin-top: 64px;
    }
    .mt-60 {
        margin-top: 48px;
    }
    .mt-48 {
        margin-top: 32px;
    }
    .mt-36 {
        margin-top: 24px;
    }
    .mt-24 {
        margin-top: 16px;
    }
    .mt-16 {
        margin-top: 10px;
    }
    .mt-12 {
        margin-top: 9px;
    }
    .mt-8 {
        margin-top: 5px;
    }

    .header_logo {
        left: 20px;
        width: 36px;
    }
    .hamburger_menu {
        padding: 28px 18px;
    }
    .hamburger_nav_contents {
        display: block;
        /* width: 92vw;
        padding: 0; */
        width: 100%;
        padding: 0 16px;
    }
    .hamburger_nav_right_top_content, .hamburger_nav_right_bottom_content {
        width: 85%;
        margin: 0 auto;
    }
    .hamburger_nav_left_content {
        padding: 0;
         width: 100%;
    }
    .hamburger_nav_right_content {
        width: 100%;
        margin-top: 36px;
    }
    .hamburger_nav_logo {
        width: 46px;
    }
    .header_main_wrapper {
        width: 50%;
    }
    .header_sub_wrapper {
        margin-left: 20px;
    }
    .header_anchor {
        margin-bottom: 8px;
        font-size: 5vw;
    }
    .header_tel {
        line-height: 1;
        font-size: 8vw;
        margin-top: 12px;
    }
    .header_fax,.header_company,.header_address,.header_insta_img {
        line-height: 1.5;
    }
    .header_bottom_anchor {
        display: block;
        text-align: center;
        padding: 8px 12px;
        margin-top: 12px;
        border: 1px solid #fff;
    }
    .header_bottom_anchor.hotel {
        background-color: #F2842B;
    }
    .header_bottom_anchor.glamping {
        background-color: #637b32;
    }
    .side_reservation_anchor {
        padding: 16px 6px;
    }



    .contact_text {
        text-align: center;
        width: 100%;
    }
    .contact_tel,.contact_number {
        letter-spacing: 1.5px;
        color: #fff;
    }
    .contact_btn_wrapper {
        display: inline-block;
        width: 100%;
    }
    .contact_detail {
        display: flex;
        justify-content: center;
    }
    .contact_btn_wrapper {
        margin-top: 24px;
        display: block;
    }
    .contact_btn_wrapper a {
        display: inline-block;
        width: 100%;
    }
    .contact_btn_wrapper a.pc_display {
        display: none;
    }
    .contact_btn_wrapper a:first-child {
        margin-bottom: 12px;
    }
    .caution {
        text-align: left;
        width: 100%;
    }
    


    .footer_contents {
        display: block;
        padding: 0 18px;
    }
    .footer_left_contents {
        justify-content: space-between;
        padding: 0;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #fff;
        padding-bottom: 36px;
        margin-bottom: 36px;
        align-items: initial;
    }
    .footer_anchor {
        font-size: 6vw;
    }
    .footer_sub_anchor {
        font-size: 4vw;
        margin-bottom: 12px;
    }
    .footer_right_contents {
        width: 100%;
        padding: 26px 0;
    }
    .footer_sub_wrapper {
        margin-left: 20px;
    }
    .footer_img {
        width: 22%;
    }
    .footer_info {
        width: 70%;
    }
    .footer_tel {
        font-size: 22px;
        margin-bottom: 0;
    }
    .footer_company {
        margin-bottom: 0;
    }
    .footer_fax {
        font-size: 16px;
        margin-bottom: 12px;
    }
    .footer_address {
        margin-bottom: 12px;
        font-size: 3vw;
    }
}