@charset "UTF-8";

.en  { font-family: 'EB Garamond', serif; }

/*==================================================================================================

       Movie

===================================================================================================*/

.movie-wrap {
    position: relative;
    z-index: 10;
    }
    .movie {
        position: relative;
        width: 100%;
        height:auto;
        background:url("../movie/top.jpg") no-repeat center;
        background-size:cover;
        text-align: center;
        }
        .movie:before {
        content: "";
        display: block;
        padding-top: 46%;
        }
        .movie_inner{
            position: absolute;
            top: 0; left: 0;
            width: 100%;
            height: 100%;
            overflow:hidden;
            z-index: 0;
            }
            .movie_inner video{
            width:100%;
            height:auto !important;
            margin-left:auto;
            margin-right:auto;
            /*object-fit: cover;*/
            }

    /* --- 下層用 --- */
    .movie.movie-cuisine { background: #222 url("../movie/cuisine.jpg") center center / cover; }
    .movie.pages:before { padding-top: 56.25%; } /* 16:9 */
    .movie-outer { padding: 0 15px; }
    @media screen and (max-width: 1087px) {
    .movie-outer { padding: 10px 0 0; }
    }

@media screen and (max-width:1087px) {
	        .movie:before {
        content: "";
        display: block;
        padding-top: 41%;
        }

}

/*==================================================================================================

       Width ( wrap + wrap-1200 )

===================================================================================================*/

    .wrap       { width:100%; margin-left:auto; margin-right:auto; position: relative; z-index: 10; }

    .wrap-2000  { max-width:2000px; }
    .wrap-1800  { max-width:1800px; }
    .wrap-1700  { max-width:1700px; }
    .wrap-1600  { max-width:1600px; }
    .wrap-1500  { max-width:1500px; }
    .wrap-1400  { max-width:1400px; }
    .wrap-1300  { max-width:1300px; }
    .wrap-1200  { max-width:1200px; }
    .wrap-1100  { max-width:1100px; }
    .wrap-1000  { max-width:1000px; }
    .wrap-900   { max-width: 900px; }
    .wrap-800   { max-width: 800px; }
    .wrap-750   { max-width: 750px; }
    .wrap-600   { max-width: 600px; }

    .max300     { max-width:300px; width:100%;}
    .max500     { max-width:500px; width:100%;}
    .max550     { max-width:550px; width:100%;}
    .max600     { max-width:600px; width:100%;}
    .max650     { max-width:650px; width:100%;}

    .w4em { width:4em; }
    .w5em { width:5em; }
    .w6em { width:6em; }
    .w7em { width:7em; }
    .w8em { width:8em; }
    .w9em { width:9em; }
    .w10em { width:10em; }
    .w11em { width:11em; }
    .w12em { width:12em; }
    .w14em { width:14em; }

    .w32p       { width:32.962963%;}
    .w66p       { width:66.666667%; }
    
    .w20p { width:20%; }
    .w25p { width:25%; }
    .w33p { width:33%; }
    .w50p { width:50%; }

    .h100p { height:100%; }

    .flex300    { max-width:300px; min-width:300px; width:300px; }
    .flex330    { max-width:330px; min-width:330px; width:330px; }
    .flex500    { max-width:500px; min-width:500px; width:500px; }
    .flex900    { max-width:900px; min-width:900px; width:900px; }

@media screen and (max-width: 1087px) {
    .wrap { max-width:700px; }
    .is-tablet .flex{ max-width:100% !important; min-width:100% !important;}
    }
@media only screen and (max-width: 767px) {
    .wrap { max-width:350px; }
    .is-mobile .flex{ max-width:100% !important; min-width:100% !important;}
    }

/*==================================================================================================

       Other

===================================================================================================*/

.flexslider-wrap {
    position: relative;
    width:100%;
    }
    .flexslider-wrap.h66p:after {
        content: "";
        display: block;
        padding-bottom:66.666666%;
        }
        .flexslider-wrap.h60p:after {
        content: "";
        display: block;
        padding-bottom:60%;
        }
        .flexslider-wrap.h50p:after {
        content: "";
        display: block;
        padding-bottom:50%;
        }
        .flexslider-wrap.h55p:after {
        content: "";
        display: block;
        padding-bottom:55%;
        }
        .flexslider-wrap.h61p:after {
        content: "";
        display: block;
        padding-bottom:61.11111%;
        }
        .flexslider-wrap .flexslider {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        }

/*==================================================================================================

       ヘッダー

===================================================================================================*/

/*=================================================
        fixed-header
==================================================*/

header.main-header {
	position: relative;
	width:100%;
    min-width:320px;
	z-index:9999;
	}
    .header-wrap {
        position: fixed;
        background:url("../images/parts/header-bg.jpg") bottom center repeat-x;
        width:100%;
        height:100px;
        -webkit-transition: all 0.3s ease;
           -moz-transition: all 0.3s ease;
             -o-transition: all 0.3s ease;
                transition: all 0.3s ease;
        box-shadow:	        0px 5px 5px  rgba(0,0,0,.2);
        -moz-box-shadow:	0px 5px 5px  rgba(0,0,0,.2);
        -webkit-box-shadow: 0px 5px 5px  rgba(0,0,0,.2);
        -o-box-shadow:		0px 5px 5px  rgba(0,0,0,.2);
        -ms-box-shadow:		0px 5px 5px  rgba(0,0,0,.2);
        }
        .header-wrap:after {
            content:"";
            display: block;
            position: absolute;
            bottom:-1px;
            left:0;
            width:100%;
            height:2px;
            background: url("../images/parts/line.png") center center repeat;
            z-index: 1;
            }

        .fixed-navigation-wrap {
                display: block;
                position: relative;
                width:100%;
                max-width:1440px;
                margin:0 auto;
                box-sizing: border-box;
                }
                .fixed-logo {
                    width:260px;
                    position: relative;
                    float:left;
                    top:41px;
                    left:20px;
                    opacity: 1;
                    z-index: 10;
                    -webkit-transition: all 0.3s ease;
                       -moz-transition: all 0.3s ease;
                         -o-transition: all 0.3s ease;
                            transition: all 0.3s ease;
                    }
                .fixed-navigation {
                    position:relative;
                    float:right;
                    width:900px;
                    text-align: left;
                    }
                    .fixed-nav {
                            position:relative;
                            padding-top:38px;
                            padding-right:200px;
                            float: right;
                            box-sizing:border-box;
                            text-align: left;
                            -webkit-transition  : all .3s ease;
                                -moz-transition : all .3s ease;
                                -ms-transition  : all .3s ease;
                                    transition  : all .3s ease;
                            }

                            .fixed-nav li {
                            float: left;
                            position: relative;
                            line-height:135%;
                            font-size:1rem;
                            font-weight: 600;
                            letter-spacing: .05em;
                            text-align: center;
                            padding-right:30px;
                            z-index: 1;
                            }
                            .fixed-nav li:last-child { padding-right:0;}
                            .fixed-nav li a {
                                display: block;
                                -webkit-transition : all .3s ease;
                                -moz-transition    : all .3s ease;
                                -ms-transition     : all .3s ease;
                                transition         : all .3s ease;
                                }
                            .fixed-nav li span {
                                display: inline-block;
                                width:30px;
                                height:30px;
                                -webkit-transition : all .3s ease;
                                -moz-transition    : all .3s ease;
                                -ms-transition     : all .3s ease;
                                transition         : all .3s ease;
                                }

                        .fixed-nav li:nth-child(1) span { background: url("../images/menu/menu_01.png") center center no-repeat; }
                        .fixed-nav li:nth-child(2) span { background: url("../images/menu/menu_02.png") center center no-repeat; }
                        .fixed-nav li:nth-child(3) span { background: url("../images/menu/menu_03.png") center center no-repeat; }
                        .fixed-nav li:nth-child(4) span { background: url("../images/menu/menu_04.png") center center no-repeat; }
                        .fixed-nav li:nth-child(5) span { background: url("../images/menu/menu_05.png") center center no-repeat; }
                        .fixed-nav li:nth-child(6) span { background: url("../images/menu/menu_06.png") center center no-repeat; }
                        .fixed-nav li:nth-child(7) span { background: url("../images/menu/menu_07.png") center center no-repeat; }
                        
                        .fixed-nav li:nth-child(1):hover span { background: url("../images/menu/menu_01_on.png") center center no-repeat; }
                        .fixed-nav li:nth-child(2):hover span { background: url("../images/menu/menu_02_on.png") center center no-repeat; }
                        .fixed-nav li:nth-child(3):hover span { background: url("../images/menu/menu_03_on.png") center center no-repeat; }
                        .fixed-nav li:nth-child(4):hover span { background: url("../images/menu/menu_04_on.png") center center no-repeat; }
                        .fixed-nav li:nth-child(5):hover span { background: url("../images/menu/menu_05_on.png") center center no-repeat; }
                        .fixed-nav li:nth-child(6):hover span { background: url("../images/menu/menu_06_on.png") center center no-repeat; }
                        .fixed-nav li:nth-child(7):hover span { background: url("../images/menu/menu_07_on.png") center center no-repeat; }



                    .fixed-sub-nav {
                            position:absolute;
                            top:7px;
                            right:220px;
                            box-sizing:border-box;
                            text-align: left;
                            -webkit-transition  : all .3s ease;
                                -moz-transition : all .3s ease;
                                -ms-transition  : all .3s ease;
                                    transition  : all .3s ease;
                            }

                            .fixed-sub-nav li {
                            float: left;
                            position: relative;
                            line-height:1;
                            font-size:.925rem;
                            font-weight: 400;
                            letter-spacing: .05em;
                            text-align: center;
                            z-index: 1;
                            }
                            .fixed-sub-nav li:nth-child(1):after {
                                content: "";
                                display:block;
                                width:1px;
                                height:15px;
                                position: absolute;
                                right:-1px;
                                top:0;
                                background: #FFF;
                                }
                            .fixed-sub-nav li:last-child { padding-right:0;}
                            .fixed-sub-nav li a {
                                display: block;
                                color:#FFF;
                                padding:0 15px;
                                -webkit-transition : all .3s ease;
                                -moz-transition    : all .3s ease;
                                -ms-transition     : all .3s ease;
                                transition         : all .3s ease;
                                }
                                .fixed-sub-nav li a:hover { opacity:.6; }
                    .fixed-phone {
                            font-size:1rem;
                            position: absolute;
                            right:20px;
                            top:6px;
                            color:#FFF;
                            line-height: 100%;
                            opacity: 1;
                            letter-spacing: 0;
                            text-align: right;
                            -webkit-transition  : all .3s ease;
                                -moz-transition : all .3s ease;
                                -ms-transition  : all .3s ease;
                                    transition  : all .3s ease;
                            }
                    .fixed-reservation {
                            position: absolute;
                            top:42px;
                            right:20px;
                            width:150px;
                            letter-spacing: 0.05em;
                            z-index: 99999;
                            font-weight:200;
                            font-size:1rem;
                            -webkit-transition:  all 0.3s ease;
                                -moz-transition: all 0.3s ease;
                                -o-transition:   all 0.3s ease;
                            }
                            .fixed-reservation a {
                            width:100%;
                            height:50px;
                            padding-top:17px;
                            box-sizing: border-box;
                            text-align: center;
                            line-height:100%;
                            letter-spacing: 0;
                            display: inline-block;
                            color:#FFF;
                            background: url("../images/parts/darkbrown.jpg") top center repeat;
                            white-space: nowrap;
                            text-decoration:none !important;
                            position: relative;
                            z-index: 1;
                            -webkit-transition:  all 0.3s ease;
                                -moz-transition: all 0.3s ease;
                                -o-transition:   all 0.3s ease;
                            border-radius:         3px;
                            moz-border-radius:     3px;
                            -webkit-border-radius: 3px;
                            -o-border-radius:      3px;
                            -ms-border-radius:     3px;
                            }
                            .fixed-reservation a span {
                                font-size:10px;
                                }
                            .fixed-reservation a:after {
                            position: absolute;
                            content: "";
                            width: 0;
                            height: 100%;
                            top: 0;
                            right: 0;
                            z-index: -1;
                            -webkit-transition:  all 0.3s ease;
                                -moz-transition: all 0.3s ease;
                                -o-transition:   all 0.3s ease;
                            background: rgba(255,255,255,.15);
                            }
                            .fixed-reservation a:hover:after {
                            left: 0;
                            width: 100%;
                            }

            /*=================================================
                    hover bar
            ==================================================*/

            .fixed-nav li a {
                position: relative;
                display: inline-block;
                transition: .3s;
                padding-bottom:4px;
                }
                .fixed-nav li a:after {
                position:absolute;
                bottom:0px;
                left:50%;
                content:'';
                width:0;
                height:2px;
                background-color:#221A15;
                transition:.3s;
                -webkit-transform: translateX(-50%);
                transform: translateX(-50%); 
                }
                .fixed-nav li a:hover:after {
                width:100%;
                }
                .fixed-nav li a:hover {
                color:#221A15;
                }

            /*=================================================
                    fixed
            ==================================================*/

                .header-wrap.fixed { height:70px;
                -moz-box-shadow:	0px 1px 4px rgba(0,0,0,0.2);
                -webkit-box-shadow: 0px 1px 4px rgba(0,0,0,0.2);
                -o-box-shadow:		0px 1px 4px rgba(0,0,0,0.2);
                -ms-box-shadow:		0px 1px 4px rgba(0,0,0,0.2);
                }
                
                .header-wrap.fixed .fixed-logo { top:10px; }
                .header-wrap.fixed .fixed-nav { padding-top:5px; }
                .header-wrap.fixed .fixed-sub-nav { top:-20px;}
                .header-wrap.fixed .fixed-phone { top:-20px;}
                .header-wrap.fixed .fixed-reservation { top:10px; }

            @media screen and (max-width: 1200px) {
                
                .fixed-logo { width:220px; top:38px; left:15px; }
                .fixed-navigation { width:820px; }
                .fixed-nav li:nth-child(1) { display:none; }
                }

    /*=================================================

        mobile navigation

    ==================================================*/

        .mobile-navigation-wrap { display: none; }
            .mobile-logo-wrap {
                position: relative;
                }
                .mobile-logo {
                width:210px;
                position: absolute;
                top:16px;
                left:15px;
                opacity: 1;
                line-height: 100%;
                z-index: 10;
                -webkit-transition: all 0.3s ease;
                   -moz-transition: all 0.3s ease;
                     -o-transition: all 0.3s ease;
                        transition: all 0.3s ease;
                }
            
            .gnav {
                    }
                    .nav-toggle {
                            display:block;
                            background: #070300;
                            position:fixed;
                            right:0;
                            top:0;
                            padding:0;
                            width:70px;
                            height:70px;
                            text-align: center;
                            font-size: 0px;
                            letter-spacing: 0;
                            box-sizing: border-box;
                            pointer-events: auto;
                            cursor:pointer;
                            z-index:99999;
                            -webkit-transition: all 0.3s ease;
                                -moz-transition: all 0.3s ease;
                                -o-transition: all 0.3s ease;
                                transition: all 0.3s ease;
                            }
                            .nav-toggle div { position:absolute; width:30px; height:20px; top:18px; right:20px; }
                            .nav-toggle span { display: block; position: absolute; height: 2px; width:30px; background: #FFF; -moz-border-radius:2px; -webkit-border-radius:2px; -o-border-radius:2px; -ms-border-radius:2px;
                            left: 0; -webkit-transition: .35s ease-in-out; -moz-transition: .35s ease-in-out; transition: .35s ease-in-out; }
                            .nav-toggle span:nth-child(1) { top: 0; }
                            .nav-toggle span:nth-child(2) { top: 9px; }
                            .nav-toggle span:nth-child(3) { top: 18px; }
                            .gnav .menu  { opacity:1; font-size:10px; position:absolute; width:30px; right:20px; top:43px; line-height:1; -webkit-transition:all 0.2s ease; -moz-transition:all 0.2s ease; -o-transition:all 0.2s ease; color:#FFF;}
                            .gnav .close { opacity:0; font-size:10px; position:absolute; width:30px; right:20px; top:43px; line-height:1; -webkit-transition:all 0.2s ease; -moz-transition:all 0.2s ease; -o-transition:all 0.2s ease; color:#FFF;}
                            .gnav.active .menu  { opacity: 0; }
                            .gnav.active .close { opacity: 1; }
                            .gnav.active .nav-toggle span { }
                            .gnav.active .nav-toggle span:nth-child(1) {top: 8px;-webkit-transform: rotate(315deg);-moz-transform: rotate(315deg);transform: rotate(315deg);}
                            .gnav.active .nav-toggle span:nth-child(2) {width: 0;left: 50%;}
                            .gnav.active .nav-toggle span:nth-child(3) {top: 8px;-webkit-transform: rotate(-315deg);-moz-transform: rotate(-315deg);transform: rotate(-315deg);}
                    .reservation {
                        position: fixed;
                        right:70px;
                        top:0;
                        width:160px;
                        height:70px;
                        text-align: center;
                        opacity: 1;
                        -webkit-transition: all 0.3s ease;
                           -moz-transition: all 0.3s ease;
                             -o-transition: all 0.3s ease;
                                transition: all 0.3s ease;
                        z-index:99999;
                        }
                        .reservation a {
                            position: relative;
                            color:#FFF;
                            display:block;
                            width:100%;
                            height:100%;
                            line-height: 1.15;
                            background:url("../images/parts/brown.jpg") top center repeat;
                            font-size:15px;
                            padding-top:18px;
                            box-sizing: border-box;
                            z-index: 1;
                            }
                        .reservation a span { font-size:10px; }
                        .reservation a:after {
                            position: absolute;
                            content: "";
                            width: 0;
                            height: 100%;
                            top: 0;
                            right: 0;
                            z-index: -1;
                            -webkit-transition: all 0.3s ease;
                            -moz-transition: all 0.3s ease;
                            -o-transition: all 0.3s ease;
                            transition: all 0.3s ease;
                            background:rgba(255,255,255,.2);
                            }
                            .reservation a:hover:after {
                            left: 0;
                            width: 100%;
                            }

            .gnav-content {
                    display: none;
                    position: fixed;
                    right: 0;
                    top: 0;
                    width: 100%;
                    min-width:320px;
                    height: 100%;
                    background:#070300;
                    color:#FFF;
                    overflow: auto;
                    z-index:9999;
                    text-align: center;
                    font-weight:bold;
                    }
                    .gnav-logo { position:relative; z-index: 200; width:210px; margin:0 auto; text-align: center; padding-top:30px; padding-bottom:2.5rem; line-height: 100%; }
                    .mobile-navigation { padding-top:70px; width:100%; }
                    .mobile-main-nav { position:relative; padding-bottom:1rem; }
                    .mobile-main-nav li { width:100%; text-align: center; font-size:15px; font-weight:900; }
                    .mobile-main-nav li a { letter-spacing: 0.01em; padding:8px 0 ; display:block; color:#FFF; font-size:1.2rem; }
            .gnav-address { color:#CAC1B6; }

    /*=================================================
            hover bar
    ==================================================*/

            .mobile-main-nav li a {
                position: relative;
                display: inline-block;
                transition: .3s;
                }
                .mobile-main-nav li a:after {
                position:absolute;
                bottom:6px;
                left:50%;
                content:'';
                width:0;
                height:2px;
                background-color:#997A3E;
                transition:.3s;
                -webkit-transform: translateX(-50%);
                transform: translateX(-50%); 
                }
                .mobile-main-nav li a:hover:after {
                width:100%;
                }
                .mobile-main-nav li a:hover {
                color:#997A3E;
                }

    @media screen and (max-width: 1087px) {
        header { height: 70px; }
        .header-wrap { display:block; height:70px;
            -moz-box-shadow:	0px 1px 4px rgba(0,0,0,0.2);
            -webkit-box-shadow: 0px 1px 4px rgba(0,0,0,0.2);
            -o-box-shadow:		0px 1px 4px rgba(0,0,0,0.2);
            -ms-box-shadow:		0px 1px 4px rgba(0,0,0,0.2);
            background:url("../images/parts/header-bg.jpg") left bottom repeat-x;
            }
        .header-wrap.fixed { height:70px; }
        .fixed-navigation-wrap { display:none; }
        .mobile-navigation-wrap { display:block; }
        
        .reservation span { letter-spacing: 0;}
    }

    @media screen and (max-width: 767px) {
        header { height: 60px; }
        .header-wrap { height:60px; }
        .header-wrap.fixed { height:60px; }
        .mobile-logo { width:160px; top:15px }

        .nav-toggle { width:60px; height:60px; }
        .nav-toggle div { top:13px; right:15px; }

        .gnav .menu  { right:15px; top:37px;  }

        .gnav .close { right:15px; top:37px; }

        .mobile-navigation { padding-top:60px; }
        
        .reservation { right:60px; width:70px; height:60px; }
        .reservation a { font-size:14px; padding-top:14px; }
    }

/*==================================================================================================

       背景

===================================================================================================*/

.bg-dark {
    position: relative;
    background: url("../images/parts/bg-dark.jpg") center center repeat;
    }
    .bg-dark:before {
        content:"";
        display:block;
        position: absolute;
        left:0px;
        top:-1px;
        width:100%;
        height:2px;
        background: url("../images/parts/line.png") center center repeat;
        z-index: -2;
        }
.grass {
        position: relative;
        z-index: 10;
        }
        .grass:before {
        content:"";
        display:block;
        position: absolute;
        left:30px;
        top:30px;
        width:65px;
        height:65px;
        background: url("../images/parts/grass.png") center center / cover;
        z-index: -2;
        }
        .grass:after {
        content:"";
        display:block;
        position: absolute;
        right:30px;
        bottom:30px;
        width:65px;
        height:65px;
        background: url("../images/parts/grass.png") center center / cover;
        z-index: -2;
        }
.title-grass {
        position: relative;
        z-index: 10;
        }
        .title-grass:after {
        content:"";
        display:block;
        position: absolute;
        right:-50px;
        bottom:10px;
        width:65px;
        height:65px;
        background: url("../images/parts/grass.png") center center / cover;
        z-index: -2;
        }
.nijimi {
        position: relative;
        z-index: 10;
        }
        .nijimi.right:before {
        content:"";
        display:block;
        position: absolute;
        bottom:-100px;
        right:-100px;
        width:450px;
        height:450px;
        background: url("../images/parts/nijimi.png") center center / cover;
        z-index: -1;
        }
        .nijimi.left:before {
        content:"";
        display:block;
        position: absolute;
        bottom:-100px;
        left:-100px;
        width:450px;
        height:450px;
        background: url("../images/parts/nijimi.png") center center / cover;
        z-index: -1;
        }
        @media screen and (max-width: 1087px) {
            .grass:before { left:0px; top:10px; width:50px; height:50px; }
            .grass:after { right:0px; bottom:10px; width:50px; height:50px; }
            .title-grass:after { right:-20px; width:50px; height:50px; }
        }
        @media screen and (max-width: 767px) {
            .grass:before { left:-20px; width:40px; height:40px; }
            .grass:after { right:-20px; width:40px; height:40px; }
            .title-grass:after { right:-20px; width:40px; height:40px; }
        }

/*==================================================================================================

        画像エフェクト

===================================================================================================*/

.figure {
        position: relative;
        }
        .figure img {
            position: relative;
            border-radius:         4px;
            moz-border-radius:     4px;
            -webkit-border-radius: 4px;
            -o-border-radius:      4px;
            -ms-border-radius:     4px;
            box-shadow:	        0px 22px 8px -15px rgba(0,0,0,.4);
            -moz-box-shadow:	0px 22px 8px -15px rgba(0,0,0,.4);
            -webkit-box-shadow: 0px 22px 8px -15px rgba(0,0,0,.4);
            -o-box-shadow:		0px 22px 8px -15px rgba(0,0,0,.4);
            -ms-box-shadow:		0px 22px 8px -15px rgba(0,0,0,.4);
            }
        .figure:before {
            content:"";
            display:block;
            position: absolute;
            top:-1px;
            left:3px;
            width:100%;
            width:calc(100% - 6px);
            height:2px;
            background: url("../images/parts/line.png") center center repeat;
            z-index: 1;
            }
            .figure:after {
            content:"";
            display:block;
            position: absolute;
            bottom:-1px;
            left:3px;
            width:100%;
            width:calc(100% - 6px);
            height:2px;
            background: url("../images/parts/line-d.png") center center repeat;
            z-index: 1;
            }
    .figure.size-m {
        width:70%;
        }
        .size-m.right { float: right; }
        @media screen and (max-width: 1087px) {
            .figure.size-m { width:100%; }
            .size-m.right { float: none; }
        }
        @media screen and (max-width: 767px) {
            .figure img {
            box-shadow:	        0px 11px 4px -7px rgba(0,0,0,.4);
            -moz-box-shadow:	0px 11px 4px -7px rgba(0,0,0,.4);
            -webkit-box-shadow: 0px 11px 4px -7px rgba(0,0,0,.4);
            -o-box-shadow:		0px 11px 4px -7px rgba(0,0,0,.4);
            -ms-box-shadow:		0px 11px 4px -7px rgba(0,0,0,.4);
            }
        }

/*==================================================================================================

        タイトル / テキスト

===================================================================================================*/

.drop {
        overflow: hidden;
        zoom:1;
        }
        .drop:first-letter{
        line-height: 1;
        font-size: 178%;
        color:#AE3939;
        padding-right: 5px;
        }

.lead {
        font-size:12px;
        color:#92723A;
        position: relative;
        overflow: hidden;
        width:100%;
        line-height: 1;
        z-index: 1;
        }


        @media screen and (max-width: 1087px) {
        .lead {font-size:11px;}
        }
        @media screen and (max-width: 767px) {
        .lead {font-size:10px;}
        }

.leaf-title {
        position: relative;
        z-index: 1;
        }
        .leaf-title:before {
                content: "";
                display:block;
                position: absolute;
                width:40px;
                height:50px;
                background: url("../images/parts/leaf.svg") center center / cover;
                z-index: -1;
                }
            .leaf-title.center { padding-top: 66px; }
                .leaf-title.center:before { top:0; left:50%; margin-left:-20px; }
            .leaf-title.line-title { padding-left:45px; padding-bottom:5px; border-bottom:2px solid #92723A; }
                .leaf-title.line-title:before { width:32px; height:40px; left:0; bottom:5px; }
            .leaf-title.inline { padding-left:45px; }
                .leaf-title.inline:before { width:32px; height:40px; left:0; bottom:5px; }
            .leaf-title.side { padding-left:58px; padding-bottom:5px; }
                .leaf-title.side:before { left:0; top:50%; margin-top:-25px; }
            .leaf-title.dark { padding:20px 15px 5px 75px; border-bottom:2px solid #92723A; color:#FFF; background: url("../images/parts/black.jpg") center center repeat; }
                .leaf-title.dark:before { left:20px; top:50%; margin-top:-25px; }
        @media screen and (max-width: 1087px) {
        .leaf-title:before { width:32px; height:40px;}
        .leaf-title.line-title:before { width:30px; height:38px; }
        .leaf-title.inline:before { width:30px; height:38px; }
            .leaf-title.line-title { padding-left:40px; }
            .leaf-title.inline { padding-left:40px; }
            .leaf-title.center { padding-top: 50px; }
            .leaf-title.center:before { margin-left:-16px; }
            .leaf-title.side { padding-left:48px; }
            .leaf-title.side:before { margin-top:-20px; }
            .leaf-title.dark { padding:20px 15px 5px 65px; }
            .leaf-title.dark:before { left:15px; margin-top:-20px; }
        }
        @media screen and (max-width: 767px) {
        .leaf-title:before { width:24px; height:30px;}
        .leaf-title.line-title:before { width:22px; height:28px; }
        .leaf-title.inline:before { width:22px; height:28px; }
            .leaf-title.line-title { padding-left:32px; }
            .leaf-title.inline { padding-left:32px; }
            .leaf-title.center { padding-top: 40px; }
            .leaf-title.center:before { margin-left:-12px; }
            .leaf-title.side { padding-left:0; padding-top:36px; padding-bottom:0; }
            .leaf-title.side:before { left:0; top:0; margin-top:0; }
            .leaf-title.dark { padding:15px 10px 2px 45px; }
            .leaf-title.dark:before { left:10px; margin-top:-15px; }
        }

.text-indent {
        padding-left:50px;
        box-sizing: border-box;
        }
        @media screen and (max-width: 1087px) {
        .text-indent { padding-left:40px; }
        }
        @media screen and (max-width: 767px) {
        .text-indent { padding-left:0px; }
        }



.black-label {
        background: #333;
        padding:7px 1rem;
        line-height: 1;
        border-radius: 4px;
        display: inline-block;
        margin-bottom:.5rem;
        color:#FFF;
        }
.dotted-title {
        padding-bottom:5px;
        border-bottom:2px dotted rgba(0,0,0,.4);
        }
.border-title {
        position: relative;
        border-bottom:1px solid rgba(0,0,0,.4);
        padding-bottom:8px;
        box-sizing: border-box;
        }
        .border-title.red { border-bottom:1px solid rgba(193,71,71,.4); }




.f-span {
        line-height: 160%;
        }
        .f-span span{
            display:block;
            font-size:14px;
            font-weight:100;
            letter-spacing: .15em;
            color:#927239;
            }
        .f-span-inline {
        line-height: 150%;
        }
        .f-span-inline span{
            display:inline-block;
            font-size:14px;
            font-weight:100;
            letter-spacing: .15em;
            line-height: 1;
            color:#927239;
            }
        @media screen and (max-width: 1087px) {
        .f-span span{ font-size:11px; }
        .f-span-inline span{ font-size:12px; }
        }
        @media screen and (max-width: 767px) {
        .f-span span{ font-size:10px; }
        .f-span-inline span{ font-size:10px; }
        }

/*==================================================================================================

       トップページ

===================================================================================================*/

/*================================================
       NEWS
================================================*/

.news-wrap {
        }
        .news-list {
                width:100%;
                }
                .news-list li {
                line-height:145%;
                padding:.35rem 0;
                font-size:.9375rem;
                }
                .news-list li a {
                -webkit-transition: all 0.3s ease;
                -moz-transition: all 0.3s ease;
                -o-transition: all 0.3s ease;
                }
                .news-list li a:hover {
                margin-left:.25rem;
                }
                .news-list span {
                width:5em;
                display:inline-block;
                padding-right:1rem;
                }
.facebook-wrap {
        max-width:300px;
        min-width:300px;
        margin-left:40px;
        }
@media screen and (max-width: 1087px) {
    .facebook-wrap { max-width:100%; min-width:100%; margin-left:0; }
    .facebook-inner { width:300px; margin:0 auto;}
    }
    @media screen and (max-width: 767px) {
    .news-wrap { padding: 20px 20px 0;}
    }


/*==================================================================================================

       下層共通

===================================================================================================*/

.page-header-wrap {
        position: relative;
        z-index: 0;
        padding-top:90px;
        }
        .page-header {
            position: relative;
            width: 100%;
            overflow: hidden;
            height: auto;
            text-align: center;
            }
            .page-header:before {
            content: "";
            display: block;
            padding-top:500px;
            width:100%;
            }
            .page-header.short:before {
            padding-top:16%;
            }

        .cuisine        { background: url("../images/img/cuisine/header.jpg") center center / cover; }
        .facilities     { background: url("../images/img/facilities/header.jpg") center center / cover; }
        .onsen          { background: url("../images/img/onsen/header.jpg") center center / cover; }
        .charge         { background: url("../images/img/charge/header.jpg") center center / cover; }
        .camp           { background: url("../images/img/camp/header.jpg") center bottom / cover; }
        .access           { background: url("../images/img/access/header.jpg") center bottom / cover; }
        .news           { background: url("../images/img/news/header.jpg") center bottom / cover; }
        .english           { background: url("../images/img/english/header.jpg") center bottom / cover; }

.page-title {
        position: relative;
        width: 100%;
        background: url("../images/parts/search-bg.jpg") bottom center repeat;
        padding:2rem 0 ;
        }
        .page-title:before {
        content:"";
        display:block;
        position: absolute;
        bottom:-1px;
        left:0;
        width:100%;
        height:2px;
        background: url("../images/parts/line-b.png") center center repeat-x;
        z-index: 1;
        }
        .page-title:after {
        content:"";
        display:block;
        position: absolute;
        top:-1px;
        left:0;
        width:100%;
        height:2px;
        background: url("../images/parts/line-b.png") center center repeat-x;
        z-index: 1;
        }

        .page-title h2 {
            position: relative;
            font-weight:600;
            line-height: 110%;
            letter-spacing: 0.15em;
            color:#FFF;
            z-index: 10;
            }


        @media screen and (max-width: 1087px) {
        .page-header-wrap { padding-top:0; }
        .page-header:before { padding-top: 40%; }
        .page-header.short:before { padding-top:23%; }
        }
        @media only screen and (max-width: 767px) {
        .page-header:before { padding-top: 55%; }
        .page-header.short:before { padding-top:35%; }
        }

/*================================================
      　list
================================================*/

    .dotted-list {
            border-top:2px dotted #999;
            }
            .dotted-list li {
            border-bottom:2px dotted #999;
            padding:.25em 0;
            }
            .dotted-list span {
            padding-right:1em;
            }
    .line-list {
            }
            .line-list li {
            border-bottom:1px solid #CCC;
            padding:.75em 0;
            }
            .line-list li:last-child {
            border-bottom:none;
            }
    .disk-list {
            }
            .disk-list li {
            padding: 0;
            position: relative;
            padding-left:1em;
            }
            .disk-list li:before {
                content: "・";
                display:block;
                position: absolute;
                top: 0;
                left: 0;
                font-size:10px;
                vertical-align: middle;
                }
    .kome-list {
            }
            .kome-list li {
            padding: 0;
            position: relative;
            padding-left:1em;
            }
            .kome-list li:before {
                content: "※";
                display:block;
                position: absolute;
                top: 0;
                left: 0;
                font-size:10px;
                vertical-align: middle;
                }

/*================================================
      　table
================================================*/

    .table {
        width:100%;
        border-collapse:collapse;
        border-spacing:0;
        text-align:left;
        letter-spacing:0;
        line-height: 150%;
        box-sizing: border-box;
        font-size:.9275em;
        border-top:2px solid rgba(0,0,0,.7);
        }
        .table tr {
            border-bottom:1px solid rgba(0,0,0,.3);
            }
            .table tr:last-child {
            border-bottom:2px solid rgba(0,0,0,.7);
            }
            .table th {
            padding:.55em 1em;
            vertical-align:middle;
            font-weight:800;
            text-align:left;
            color:#111;
            }

            .table td {
            padding:.55em 1em;
            text-align:left;
            vertical-align: middle;
            color:rgba(0,0,0,.7);
            }
            .table.th-left th { text-align:left; }
            .table.td-center td { text-align:center; }
            .table.td-right td { text-align:right; }

    .table-b {
        width:100%;
        border-collapse:separate;
        border-spacing:3;
        text-align:left;
        letter-spacing:0;
        line-height: 150%;
        box-sizing: border-box;
        font-size:.9275em;
        }
        .table-b tr {
            }
            .table-b th {
            padding:.35em 1em;
            vertical-align:middle;
            font-weight:400;
            text-align:left;
            width:4.5em;
            background:rgba(147,116,57,.2);
            border-radius:3px;
            color:#111;
            }

            .table-b td {
            padding:.35em 1em;
            text-align:left;
            vertical-align: middle;
            color:rgba(0,0,0,.7);
            }
            .table-b.th-left th { text-align:left; }
            .table-b.td-center td { text-align:center; }
    @media screen and (max-width: 767px) {

        .table.sp-table { border:none; }
        .table.sp-table tr { border-bottom:none; }
        .table.sp-table th { width:100% !important; display: block !important; padding:.625em 1em; box-sizing: border-box; border-left:none; text-align: left; background: rgba(0,0,0,.1);}
        .table.sp-table td { width:100% !important; display: block !important; padding:.625em 1em 1.25em; box-sizing: border-box; border-left:none; background: none; }

    }

/*================================================
      　other
================================================*/

    .figure-border { border:3px solid #6E4C4A; box-sizing: border-box; }
    
    .line-text { padding:.25rem 0 ; border-top:1px solid rgba(0,0,0,.3); border-bottom:1px solid rgba(0,0,0,.3); }
    
    hr.line {
        border: none;
        padding:0;
        background: url("../images/parts/line-b.png") center center repeat-x;
        height:1px;
        width:94%;
        margin:0 auto 1rem;
        }

    .sp-b { border-bottom:1px solid #FAF7F2; }
    .sp-t { border-top:1px solid #FAF7F2; }
    .sp-l { border-left:1px solid #FAF7F2; }
    .sp-r { border-right:1px solid #FAF7F2; }
    .sp-l-sp-none { border-left:1px solid #FAF7F2; }
    .sp-r-sp-none { border-right:1px solid #FAF7F2; }
    .sp-l-tab-none { border-left:1px solid #FAF7F2; }
    .sp-r-tab-none { border-right:1px solid #FAF7F2; }
        
        @media screen and (max-width: 1087px) {
        .sp-b-tab { border-bottom:1px solid #FAF7F2; }
        .sp-t-tab { border-top:1px solid #FAF7F2; }
        .sp-l-tab-none { border-left:none; }
        .sp-r-tab-none { border-right:none; }
        }
        @media screen and (max-width: 767px) {
        .sp-l-sp-none { border-left:none; }
        .sp-r-sp-none { border-right:none; }
        }

/*================================================
      　access
================================================*/

    .access-text {
        padding-left:1.25rem;
        text-indent:-1.25rem;
        }
        .access-text span {
            text-indent:0;
            display: inline-block;
            padding:1px 6px;
            margin:1px 5px 1px;
            line-height: 150%;
            border: 1px solid #ddd;
            background:rgba(169,135,99,.2);
            border-radius:         2px;
            moz-border-radius:     2px;
            -webkit-border-radius: 2px;
            -o-border-radius:      2px;
            -ms-border-radius:     2px;
            }
    .access-logo { width:260px;}
        @media screen and (max-width: 1087px) {
        .access-logo { width:210px;}
        }
        @media screen and (max-width: 767px) {
        .access-logo { width:210px;}
        }

/*================================================
      　link
================================================*/

    .link-btn {
        display: inline-block;
        padding: 2px 1em;
        line-height: 150%;
        margin-bottom: 3px;
        margin-left:1rem;
        background: #333;
        font-size: 12px;
        color: #FFF;
        border-radius:         4px;
        moz-border-radius:     4px;
        -webkit-border-radius: 4px;
        -o-border-radius:      4px;
        -ms-border-radius:     4px;
        }
    .link { padding-bottom:.25rem ; border-bottom:1px dotted #990000; color:#990000;}
        .link:hover { border-bottom:1px solid #666; color:#222;}

/*================================================
      　map
================================================*/

    .map {
        position: relative;
        padding-bottom: 550px;
        margin-bottom:1.5rem;
        height: 0;
        border: 5px solid rgba(58,57,48,.7);
        overflow: hidden;
        }
        .map iframe,
        .map object,
        .map embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        }
        @media screen and (max-width: 1087px) {
        .map { padding-bottom: 450px; border: 3px solid rgba(58,57,48,.7);}
        }
        @media screen and (max-width: 767px) {
        .map { padding-bottom: 90%; }
        }

/*==================================================================================================

       下層 詳細

===================================================================================================*/

.border-box {
        border:3px solid rgba(146,114,58,.6);
        padding:40px;
        box-sizing: border-box;
        background: rgba(255,255,255,.4);
        }
.border-box-s {
        border:1px solid rgba(0,0,0,.4);
        padding:40px;
        box-sizing: border-box;
        background: rgba(255,255,255,.7);
        }
        @media screen and (max-width: 1087px) {
        .border-box { padding:24px; }
        .border-box-s { padding:24px; }
        }
        @media screen and (max-width: 767px) {
        .border-box {  padding:20px 15px; }
        .border-box-s {  padding:20px 15px; }
        }
 
.dotted-text {
    border-bottom:2px dotted #7E6943;
    display: inline-block;
    }







/*==================================================================================================

       フッター

===================================================================================================*/

footer {
    width:100%;
    line-height: 180%;
    position: relative;
    overflow: hidden;
    background: url("../images/parts/footer-bg.jpg") top left repeat;
    color:#FFF;
    }

    .footer-content {
        position: relative;
        z-index: 10;
        width:100%;
        height: 100%;
    }

    .footer-logo {
        width:260px;
        }

.footer-menu {
	width:100%;
	text-align:left;
	}
	.footer-menu li {
        font-size:.94rem;
        padding:.125rem 0;
        }
    .footer-menu li a {
        font-size:1rem;
        position: relative;
        display: inline-block;
        text-decoration: none;
        color:#FFF;
        }
        .footer-menu li a:hover {
        cursor: pointer;
        text-decoration: none;
        }
        .footer-menu li a::after {
        position: absolute;
        bottom: 3px;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #CCC;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform .3s;
        }
        .footer-menu li a:hover::after {
        transform-origin: left top;
        transform: scale(1, 1);
        }

.copyright {
    position: relative;
    z-index: 100;
	letter-spacing:0;
	line-height:1;
    width:100%;
	color:#FFF;
	font-size:12px;
	line-height:1;
	}

@media only screen and (max-width: 767px) {
    .footer-menu li { display: block; width:100%; text-align: left; border-bottom:2px dotted #999; padding:0; font-size:1rem; }
    .footer-menu li:first-child { border-top:2px dotted #999; }
    .footer-menu li a { padding:.75rem 1rem; display: block; }

    .footer-logo { width:210px; margin-bottom:1rem; }
    }
/*=================================================

		ページトップ

 ==================================================*/

#totop {
	display:none;
	*display:block; /* IE 7 and below */
	position:fixed;
	bottom:0;
	right:0px;
	z-index:999;
	}
    :root *> #totop { display:none;	}
    #totop { display:block; }
    *+html #totop { display:block; }
    #totop.open { display:block; }
    a.totop{ background: url("../images/parts/totop.jpg") no-repeat center top; background-size:cover;width:45px;height:90px;display:block;cursor:pointer;}
    a.totop:hover{ background-position:center bottom;}
@media only screen and (max-width: 767px) {
    #totop { bottom:40px; right:0;}
	a.totop{ background: url("../images/parts/totop-sp.png") no-repeat center top; background-size:cover;width:45px;height:45px;}
}