@charset "UTF-8";

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

       Movie

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

.movie-wrap {
    position: relative;
    z-index: 0;
    }
    .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: 49%;
        }
        .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;*/
            }

@media screen and (max-width: 1087px) {
    .movie-wrap { top:60px; margin-bottom:60px; }
    .movie{ top:0px; }
}

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

       Width ( wrap + wrap-1200 )

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

    .wrap       { width:100%; margin-left:auto; margin-right:auto; }

    .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-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%;}
    .max450     { max-width:450px; 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; }
    .w7em { width:7em; }
    .w9em { width:9em; }
    .w10em { width:10em; }
    .w11em { width:11em; }
    .w14em { width:14em; }

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


    .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; }

    .flex56p    { max-width:56.25%; min-width:56.25%; width:56.25%; }

@media screen and (max-width: 1087px) {
    .wrap { max-width:700px; }
    .tab450 { max-width:450px; }
    .tab580 { max-width:580px; }
    
    .flex200-tablet { max-width:200px; min-width:200px; width:200px; }
    
    .flex.is-tablet { max-width:100% !important; min-width:100% !important;}
    }
@media only screen and (max-width: 767px) {
    .wrap { max-width:350px; }
    
    .flex.is-mobile { 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.h50p:after {
        content: "";
        display: block;
        padding-bottom:50%;
        }
        .flexslider-wrap .flexslider {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        }

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

       ヘッダー

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

/*=================================================
        fix-header
==================================================*/

header.fix-header {
	position:absolute;
	width:400px;
    height:470px;
    top:0;
    left:40px;
    background:  url("../images/parts/header-bg.png") bottom center repeat-x;
    padding:65px 70px;
    box-sizing: border-box;
	z-index:99999;
	}
	.fix-header-wrap {
        height:350px;
        width:260px;
        position:relative;
        z-index:9999;
        -webkit-transition  : all .3s ease;
            -moz-transition : all .3s ease;
            -ms-transition  : all .3s ease;
                transition  : all .3s ease;
        }
        .fix-navigation-wrap {
        width:100%;
        box-sizing:border-box;
        position:relative;
        }
        .fix-logo {
            width:260px;
            line-height:1;
            z-index:100;
            -webkit-transition  : all .3s ease;
                -moz-transition : all .3s ease;
                -ms-transition  : all .3s ease;
                    transition  : all .3s ease;
            }
		.fix-navigation {
            position:relative;
            float: right;
            width:100%;
            text-align:right;
            }
            .fix-main-nav {
                width:260px;
                height: 155px;
                padding-top:46px;
                box-sizing:border-box;
                position:relative;
                }
                .fix-main-nav li {
                float: right;
                line-height:1;
                font-size:10px;
                font-weight: 500;
                letter-spacing: .05em;
                text-align: center;
                }
                .fix-main-nav li a {
                    display: block;
                    padding:0 9px;
                    -webkit-transition : all .3s ease;
                    -moz-transition    : all .3s ease;
                    -ms-transition     : all .3s ease;
                    transition         : all .3s ease;
                    }
                    .fix-main-nav li a:hover {
                    margin-top:5px;
                    }
                .fix-main-nav li img {
                vertical-align: middle;
                width:18px;
                }
            .fix-sub-nav {
                position:relative;
                width:260px;
                padding-top:46px;
                box-sizing:border-box;
                text-align: center;
                padding-bottom:5px;
                border-bottom:2px dotted #666;
                }
                .fix-sub-nav li {
                    display: inline-block;
                    line-height:1;
                    font-size:1rem;
                    }
                    .fix-sub-nav li a {
                    padding:10px 6px;
                    letter-spacing: .1em;
                    position: relative;
                    display: inline-block;
                    transition: .3s;
                    -webkit-transition : all .3s ease;
                    -moz-transition    : all .3s ease;
                    -ms-transition     : all .3s ease;
                    transition         : all .3s ease;
                    }
                    .fix-sub-nav li a:after {
                    position:absolute;
                    bottom:2px;
                    left:50%;
                    content:'';
                    width:0;
                    height:1px;
                    background-color:#7A1F1F;
                    transition:.3s;
                    -webkit-transform: translateX(-50%);
                    transform: translateX(-50%); 
                    }
                    .fix-sub-nav li a:hover:after {
                    width:80%;
                    }
            .fix-phone {
                position: absolute;
                left:50%;
                top:255px;
                margin-left:-97px;
                line-height: 1;
                opacity: 1;
                -webkit-transition  : all .3s ease;
                    -moz-transition : all .3s ease;
                    -ms-transition  : all .3s ease;
                        transition  : all .3s ease;
                }

/*=================================================
        normal-header
==================================================*/

header.header {
	position:fixed;
	width:100%;
	z-index:9999;
	}
	.header-wrap {
        height:90px;
        width:100%;
        top:-100px;
        position: fixed;
        z-index:9999;
        background:  url("../images/parts/background.jpg") top center repeat-x;
        box-sizing: border-box;
        -webkit-transition  : all .3s ease;
            -moz-transition : all .3s ease;
            -ms-transition  : all .3s ease;
                transition  : all .3s ease;
        box-shadow: 0px 3px 5px rgba(0,0,0,0.3);
        -moz-box-shadow: 0px 3px 5px rgba(0,0,0,0.3);
        -webkit-box-shadow: 0px 3px 5px rgba(0,0,0,0.3);
        -o-box-shadow: 0px 3px 5px rgba(0,0,0,0.3);
        -ms-box-shadow: 0px 3px 5px rgba(0,0,0,0.3);
        }
        .navigation-wrap {
        width:100%;
        max-width:1660px;
        height:46px;
        margin:0 auto;
        padding:0 30px;
        box-sizing:border-box;
        position:relative;
        }
        .sp-navigation {
            }
            .logo {
                position:absolute;
                left:30px;
                top:15px;
                width:234px;
                line-height:1;
                z-index:100;
                -webkit-transition  : all .3s ease;
                    -moz-transition : all .3s ease;
                    -ms-transition  : all .3s ease;
                        transition  : all .3s ease;
                }
		.navigation {
            position:relative;
            float: right;
            width:100%;
            text-align: left;
            }
            .main-nav {
                position:relative;
                width:750px;
                padding-top:34px;
                box-sizing:border-box;
                float:right;
                text-align: right;
                -webkit-transition  : all .3s ease;
                    -moz-transition : all .3s ease;
                    -ms-transition  : all .3s ease;
                        transition  : all .3s ease;
                }
                .main-nav li {
                display:inline-block;
                line-height:1;
                font-size:1rem;
                font-weight: 500;
                padding:0 0 0 30px;
                letter-spacing: .05em;
                text-align: center;
                }
            .sub-nav {
                position:absolute;
                width:300px;
                top:6px;
                right:200px;
                box-sizing:border-box;
                float:right;
                text-align: right;
                -webkit-transition  : all .3s ease;
                    -moz-transition : all .3s ease;
                    -ms-transition  : all .3s ease;
                        transition  : all .3s ease;
                }
                .sub-nav li {
                display:inline-block;
                line-height:1;
                font-size:.975rem;
                font-weight: 500;
                letter-spacing: .05em;
                text-align: center;
                -webkit-transition  : all .3s ease;
                    -moz-transition : all .3s ease;
                    -ms-transition  : all .3s ease;
                        transition  : all .3s ease;
                }
                .sub-nav li a {
                display:inline-block;
                padding:0 7px;
                }
            .phone {
                position: absolute;
                right:0px;
                top:8px;
                line-height: 1;
                opacity: 1;
                -webkit-transition  : all .3s ease;
                    -moz-transition : all .3s ease;
                    -ms-transition  : all .3s ease;
                        transition  : all .3s ease;
                }
        
    /*=================================================
            hover bar
    ==================================================*/

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

    /*=================================================
            Fixed
    ==================================================*/

    .header-wrap.fixed {
        height:75px;
        top:0;
        }

    /*=================================================
            スマホ ハンバーガーメニュー
    ==================================================*/

    .nav-toggle { display: none; position: absolute; right:17px; top:23px; width: 20px; height:20px; cursor:pointer; z-index:999; }
	.nav-toggle div { position: relative; }
	.nav-toggle span { display: block; position: absolute; height: 2px; width:100%; background:#111; -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: 6px; }
	.nav-toggle span:nth-child(3) { top: 12px; }


    @media screen and (max-width: 1087px) {
        header { position: fixed; top:0; height:60px; width:100%;}
        .header-wrap { margin-left:0; margin-top:0; top: 0; width:100%;  height:60px; border-bottom:none; box-shadow: 0px 3px 5px rgba(0,0,0,0.3); -moz-box-shadow: 0px 3px 5px rgba(0,0,0,0.3); -webkit-box-shadow: 0px 3px 5px rgba(0,0,0,0.3); -o-box-shadow: 0px 3px 5px rgba(0,0,0,0.3); -ms-box-shadow: 0px 3px 5px rgba(0,0,0,0.3); }
        .navigation-wrap { padding:0; height:60px;  }
        .sp-navigation { position: relative; width:100%; min-width:320px; height:60px; z-index: 10; background: url("../images/parts/background.jpg") bottom center repeat;}
        .logo { position: absolute; width:182px; left:15px; top:12px; z-index: 10; }

        .navigation { position: absolute; z-index: 1; top:-740px; width:100%; max-width:100%; text-align:center; padding:0; background:rgba(0,0,0,.85);
            -webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;transition:.5s ease-in-out;}
        .main-nav { position:static; height:auto; border:none; float: none; padding:0;width:100%; max-width: 100%; margin:0;}
        .main-nav:after { display: block;}
        .main-nav li { float:none; position:static; width:100%; padding:0; margin:0; border-top:1px solid #666; font-size:13px; line-height:1; text-align: left;}
        .main-nav li:hover { background: rgba(255,255,255,.15); }
        .main-nav li a { color:#FFF; }
        .main-nav li a:after { display:none; }
        
        .sub-nav { position:static; height:auto; border:none; float: none; padding:0;width:100%; max-width: 100%; margin:0;}
        .sub-nav:after { display: block;}
        .sub-nav li { float:none; position:static; width:100%; padding:0; margin:0; border-top:1px solid #666; font-size:13px; line-height:1; text-align: left;}
        .sub-nav li:hover { background: rgba(255,255,255,.15); }
        .sub-nav li a { color:#FFF; }
        .sub-nav li a:after { display:none; }
        
        .phone { display:block; position: relative; border-top:1px solid #666; border-bottom:1px solid #666; top:0; right:0; text-align: left; line-height: 1em; font-size:13px; padding-left:1.5rem;}
            .phone a { display: block; width: 100%; height: 100%; color:#FFF; padding:17px 0 ;}

        .header-wrap.fixed { padding-top: 0; height: 60px;}
        .header-wrap.fixed .logo { width:182px; top:12px; }
        .header-wrap.fixed .navigation { width:100%; padding-top:0;}
        .header-wrap.fixed .navigation-wrap { height:60px; padding:0;}
        .header-wrap .navigation li a,
        .header-wrap.fixed .navigation li a { width: 100%; display: block; padding: 17px 0; text-indent:1.5em;}

        .header-wrap.fixed .main-nav { padding-top:0;}
        .header-wrap.fixed .phone { top:0; opacity: 1;}

        .nav-toggle { display: block;}
        .open .nav-toggle span:nth-child(1) {top: 6px;-webkit-transform: rotate(315deg);-moz-transform: rotate(315deg);transform: rotate(315deg);}
        .open .nav-toggle span:nth-child(2) {width: 0;left: 50%;}
        .open .nav-toggle span:nth-child(3) {top: 6px;-webkit-transform: rotate(-315deg);-moz-transform: rotate(-315deg);transform: rotate(-315deg);}
        .open .navigation {-moz-transform: translateY(800px);-webkit-transform: translateY(800px);transform: translateY(800px);}
    }
    @media screen and (max-width: 767px) {
    .main-nav li img { height:13px; }
    .phone img { height:17px; }
    }

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

       背景

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

.bg-dark { background: rgba(0,0,0,.05);}
.bg-section { background: url("../images/img/facilities/bg_01.png") center center / cover ;}

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

        タイトル

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

.tw110 { width:110px; }

.mark-top {
    position: relative;
    padding-top:75px;
    }
    .mark-top:after {
    content: "";
    display: block;
    position: absolute;
    top:0;
    left:50%;
    margin-left:-25px;
    background: url("../images/img/top/title.png") center center / cover;
    width:50px;
    height:50px;
    }
.mark-top-white {
    position: relative;
    padding-top:75px;
    }
    .mark-top-white:after {
    content: "";
    display: block;
    position: absolute;
    top:0;
    left:50%;
    margin-left:-25px;
    background: url("../images/img/sightseeing/title.png") center center / cover;
    width:50px;
    height:50px;
    }
.mark-left {
    position: relative;
    padding-left:65px;
    min-height:50px;
    line-height: 50px;
    }
    .mark-left.lh120 { line-height: 120%; }
    .mark-left:after {
    content: "";
    display: block;
    position: absolute;
    top:50%;
    left:0;
    margin-top:-25px;
    background: url("../images/img/top/title.png") center center / cover;
    width:50px;
    height:50px;
    }
.mark-left-s {
    position: relative;
    padding-left:55px;
    min-height:40px;
    line-height: 40px;
    }
    .mark-left-s:after {
    content: "";
    display: block;
    position: absolute;
    top:50%;
    left:0;
    margin-top:-20px;
    background: url("../images/img/top/title.png") center center / cover;
    width:40px;
    height:40px;
    }
.f-span { line-height:135%;}
    h1.f-span { line-height:90%;}
    .f-span span {
        display: inline-block;
        font-size: 12px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.1em;
        color: #791F1F;
        }
    .white { color:#FFF;}
    .white.f-span span { color: #CCC; }
.b-red b { color:#791F1F; }

@media screen and (max-width: 1087px) {
    .tw110 { width:83px; }
    .mark-top { padding-top:54px; }
    .mark-top:after { margin-left:-19px; width:38px; height:38px; }
    .mark-top-white { padding-top:54px; }
    .mark-top-white:after { margin-left:-19px; width:38px; height:38px; }
    .mark-left { padding-left:46px; min-height:38px; line-height: 38px; }
    .mark-left:after { margin-top:-19px; width:38px; height:38px; }
    .mark-left-s { padding-left:36px; min-height:30px; line-height: 30px; }
    .mark-left-s:after { margin-top:-15px; width:30px; height:30px; }
    }
@media screen and (max-width: 767px) {
    .tw110 { width:38px; }
    .mark-top { padding-top:40px; }
    .mark-top:after { margin-left:-16px; width:32px; height:32px; }
    .mark-top-white { padding-top:40px; }
    .mark-top-white:after { margin-left:-16px; width:32px; height:32px; }
    .mark-left { padding-left:40px; min-height:32px; line-height: 32px; }
    .mark-left:after { margin-top:-16px; width:32px; height:32px; }
    .mark-left-s { padding-left:34px; min-height:28px; line-height: 28px; }
    .mark-left-s:after { margin-top:-14px; width:28px; height:28px; }
    }

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

       トップページ

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

.greeting {
    position: relative;
    height: 34rem;
    z-index: 1;
    }
    .greeting div { position: relative; z-index: 10; }
    .greeting:before {
        content:"";
        display:block;
        position: absolute;
        top:0;
        left: 0;
        width:100%;
        height:100%;
        background: url("../images/img/top/greeting-bg.png") center center no-repeat;
        z-index: 0;
        }
    .greeting h2 {
        position: absolute;
        top:0;
        left:50%;
        margin-left:20rem;
        }
    .greeting p {
        position: absolute;
        top:50px;
        right:50%;
        width:702px;
        margin-right:-16rem;
        }

    @media screen and (max-width: 1087px) {
        .greeting h2 { margin-left:19rem; }
        .greeting p { width:590px; margin-right:-15.5rem; }
        .greeting:before { background: url("../images/img/top/greeting-bg.png") right center no-repeat; }
        .greeting { height: 30rem; }
        }
    @media screen and (max-width: 767px) {
        .greeting h2 { margin-left:8rem; }
        .greeting p { width:230px; margin-right:-6rem; }
        .greeting { height: 43rem; }
        }

/*================================================
      　banner
================================================*/

.banner-wrap {
    position: relative;
    width:100%;
    height:600px;
    background: url("../images/img/top/banner-bg.jpg") center center / cover;
    z-index: 0;
    }
    .banner-title {
        position: absolute;
        left:50%;
        top:50%;
        margin-left:-40px;
        margin-top:-120px;
        z-index: 10;
        }
    .banner-btn {
        position:absolute;
        right: 30px;
        top:50%;
        margin-top:-150px;
        z-index: 10;
        }
    
@media screen and (max-width: 1087px) {
    .banner-title { left:auto; right:390px; margin-left:0px; }
    }
@media only screen and (max-width: 767px) {
    .banner-title { width:48px; left:auto; right:50%; margin-left:0; margin-right:80px; margin-top:-72px;}
    .banner-btn { width:190px; right: auto; left:50% ; margin-left:-50px;margin-top:-95px;}
    .banner-wrap { height:320px;}
    }

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

       下層共通

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

.page-header-wrap {
    position: relative;
    overflow: hidden;
    z-index: 0;
    }
    .page-header {
        position: relative;
        width: 100%;
        height: auto;
        text-align: center;
        }
        .page-header:before {
        content: "";
        display: block;
        padding-top: 470px;
        width:100%;
        }
    .onsen { background: url("../images/img/onsen/header.jpg") center center / cover; }
    .cuisine    { background: url("../images/img/cuisine/header.jpg") center center / cover; }
    .facilities { background: url("../images/img/facilities/header.jpg") center center / cover; }
    .access     { background: url("../images/img/access/header.jpg") center center / cover; }
    .sightseeing     { background: url("../images/img/sightseeing/header.jpg") center center / cover; }
    .faqpage     { background: url("../images/img/faq/header.jpg") center center / cover; }
    .contact    { background: url("../images/img/contact/header.jpg") center center / cover; }

.page-title {
    position: relative;
    width:100%;
    box-sizing: border-box;
    background: url("../images/parts/footer-bg.jpg") center center repeat;
    }
    .page-title h1 {
    width:100%;
    padding:1rem 0;
    }

@media screen and (max-width: 1087px) {
    .page-header-wrap { top:60px;margin-bottom:60px; }
    .page-header:before { padding-top: 40%; }
}

hr.line {
    width:100%;
    height:1px;
    background: #666;
    border: none;
    padding:0;
    margin: 0;
    }

.dotted-list {
    }
    .dotted-list li {
    border-bottom:2px dotted #999;
    padding:.5em 0;
    }
    .dotted-list li:last-child {
    border-bottom:none;
    }

.table {
    width:100%;
    border-collapse:collapse;
    border-spacing:0;
    text-align:left;
    letter-spacing:0;
    line-height: 175%;
    box-sizing: border-box;
    border:1px solid #555;
    }
    .table tr {
        border-bottom:1px solid #555;
        }
        .table th {
        padding:.5em 1em;
        vertical-align:middle;
        font-weight:500;
        text-align:center;
        border-right:1px solid #555;
        background:rgba(188,162,129,.25);
        }
        .table.th-center th { text-align:center; }
        .table td {
        padding:.5em 1em;
        text-align:left;
        vertical-align: middle;
        border-right:1px solid #555;
        }
        .table.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:.5em 1em; box-sizing: border-box; border-right:none; text-align: left;background:rgba(188,162,129,.35);}
    .table.sp-table td { width:100% !important; display: block !important; padding:.5em 1em 1.25em; box-sizing: border-box; border-right:none;}
    .table.sp-table td p { border-left:none; padding:0; }
}


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

       下層

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

.dark-box {
    background: rgba(0,0,0,.05);
    padding:3rem;
    box-sizing: border-box;
    border: 1px solid #555;
    }
.border-box {
    padding:3rem;
    box-sizing: border-box;
    border: 1px solid #555;
    }
    @media screen and (max-width: 1087px) {
    .dark-box { padding:2rem;}
    .border-box { padding:2rem;}
    }
    @media screen and (max-width: 767px) {
    .dark-box { padding:1.2rem;}
    .border-box { padding:1.2rem;}
    }

.btn-wrap {
    position: relative;
    width:100%;
    height:auto;
    overflow: hidden;
    }
    .btn-wrap:before {
        content: "";
        display: block;
        padding-bottom:100%;
        }
    .fac-btn {
        position:absolute;
        top:0;
        width:100%;
        height:100%;
        -webkit-transition  : all .3s ease;
            -moz-transition : all .3s ease;
            -ms-transition  : all .3s ease;
                transition  : all .3s ease;
        }
        .btn_01 { background: url("../images/img/facilities/btn_01.jpg") center center / cover; }
        .btn_02 { background: url("../images/img/facilities/btn_02.jpg") center center / cover; }
        .btn_03 { background: url("../images/img/facilities/btn_03.jpg") center center / cover; }
        .btn_04 { background: url("../images/img/facilities/btn_04.jpg") center center / cover; }
        .fac-btn:hover {
        -moz-transform:    scale(1.1);
        -webkit-transform: scale(1.1);
        -ms-transform:     scale(1.1);
        transform:         scale(1.1);
        }
    .btn-wrap p {
        position: absolute;
        top:50%;
        left:0;
        width:100%;
        text-align: center;
        margin-top:-1em;
        z-index: 100;
        }
        .btn-wrap p.half {
        margin-top:-.5em;
        }

.train {
    position: relative;
    padding-left:55px;
    min-height:50px;
    line-height: 50px;
    }
    .train:after {
    content: "";
    display: block;
    position: absolute;
    top:50%;
    left:0;
    margin-top:-25px;
    background: url("../images/img/access/train.png") center center / cover;
    width:42px;
    height:50px;
    }
.car {
    position: relative;
    padding-left:55px;
    min-height:50px;
    line-height: 50px;
    }
    .car:after {
    content: "";
    display: block;
    position: absolute;
    top:50%;
    left:0;
    margin-top:-25px;
    background: url("../images/img/access/car.png") center center / cover;
    width:42px;
    height:50px;
    }

.access-logo { width:260px;}
    @media screen and (max-width: 1087px) {
    .access-logo { width:220px;}
    }
    @media screen and (max-width: 767px) {
    .access-logo { width:180px; margin: 0 auto;}
    }

.bg-sightseeing1 { background: url("../images/img/sightseeing/img_01.jpg") center center / cover; }
.bg-sightseeing2 { background: url("../images/img/sightseeing/img_02.jpg") center center / cover; }

/*=================================================
		tabs
==================================================*/

.hide {
	display:none;
    -webkit-transition  : all .3s ease;
        -moz-transition : all .3s ease;
        -ms-transition  : all .3s ease;
            transition  : all .3s ease;
	}
.tab {
	text-align:center;
	}
	.tab li {
	background:#F3EEE7;
    border:1px solid #828282;
	width:20%;
    box-sizing: border-box;
	height:60px;
    line-height: 60px;
	cursor:pointer;
	float:left;
    color:#222;
    -webkit-transition  : all .3s ease;
        -moz-transition : all .3s ease;
        -ms-transition  : all .3s ease;
            transition  : all .3s ease;
	}
	.tab li.select { background:#170609; color:#FFF; height: 60px;}

    @media screen and (max-width: 767px) {
    .tab li { margin-bottom:2px; }
    .tab li:nth-child(1) { width:50%; }
    .tab li:nth-child(2) { width:50%; }
    .tab li:nth-child(3) { width:33.333333%; }
    .tab li:nth-child(4) { width:33.333333%; }
    .tab li:nth-child(5) { width:33.333333%; }
    
    }


.faq {
    margin-bottom:3rem;
    }
    .faq h3 {
        line-height:21px;
        padding:.5rem 1.2rem .5rem 3rem;
        box-sizing: border-box;
        background: url("../images/parts/footer-bg.jpg") center center repeat;
        color:#FFF;
        margin-bottom:.5em;
        position: relative;
        }
        .faq h3:before {
        content:"Q";
        display:block;
        left:1.2rem;
        top:.5rem;
        position: absolute;
        }
    .faq p {
        padding-left:3rem;
        position: relative;
        }
        .faq p:before {
        content:"A";
        display:block;
        left:1.2rem;
        top:0;
        color:#7A1F1F;
        font-size:1.2rem;
        font-weight:800;
        position: absolute;
        }












.access-text span {
    display: inline-block;
    padding:1px 6px;
    margin:0 5px 5px;
    line-height: 150%;
    border: 2px dotted #AFA99F;
    border-radius:         4px;
    moz-border-radius:     4px;
    -webkit-border-radius: 4px;
    -o-border-radius:      4px;
    -ms-border-radius:     4px;
    }
.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 #666; color:#791F1F;}
.map {
    position: relative;
    padding-bottom: 40%;
    margin-bottom:1em;
    height: 0;
    border: 5px solid #175715;
    overflow: hidden;
    }
    .map iframe,
    .map object,
    .map embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    }
@media screen and (max-width: 767px) {
    .map { padding-bottom: 90%; border: 3px solid #175715; }
}
/*==================================================================================================

       contact

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

.kome { font-size:12px; color:#C96789; font-weight:bold;}
.form {
    width:100%;
    max-width:600px;
    position: relative;
    }
.button, .input, .textarea, .select select, .file-cta, .file-name, .pagination-previous, .pagination-next, .pagination-link, .pagination-ellipsis { border-radius: 2px; }

.input, .textarea {
    background-color: #FFF;
    }

html>/**/body #submit_button {
	cursor: pointer;
	display: block;
	color:#FFF;
    margin: 0 auto;
    width: 100%;
	max-width: 300px;
	height: 50px;
	border: none;
	border-radius: 2px;
	background-color: #7A1F1F;
    -webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
    font-family: 'Noto Serif JP', serif;
	}
    html>/**/body #submit_button:hover {
	opacity: .6;
	}
html>/**/body #reset_button {
	cursor: pointer;
	display: block;
	color:#FFF;
    margin: 0 auto;
    width: 100%;
	max-width: 300px;
	height: 50px;
	border: none;
	border-radius: 2px;
	background-color:#484A45;
    -webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
    font-family: 'Noto Serif JP', serif;
	}
    html>/**/body #reset_button:hover {
	background-color:#B2B2B2;
	}
/*==================================================================================================

       フッター

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

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

    .footer-logo {
        width:180px;
        }

.footer-menu {
	width:100%;
	text-align:left;
	}
	.footer-menu li {
        padding:.1rem 15px .1rem 0;
        }
    .footer-menu li a {
        font-size:1rem;
        position: relative;
        display: inline-block;
        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: #FFF;
        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);
        }
/*==================================================================================================

       ボタン

===================================================================================================*/
.footer-btn li {margin-bottom:.5rem;}
.footer-phone {
        position:relative;
        font-weight:500;
        font-size:1rem;
        width:100%;
        }
        .footer-phone a {
        color:#FFF;
        width:100%;
        height:70px;
        text-align: left;
        padding-left:2rem;
        line-height:70px;
        box-sizing:border-box;
        background: rgba(204,204,204,.15);
        white-space: nowrap;
        text-decoration:none !important;
        position: relative;
        z-index: 1;
        -webkit-transition: color 0.3s ease;
        -moz-transition: color 0.3s ease;
        -ms-transition: color 0.3s ease;
        -o-transition: color 0.3s ease;
        transition: color 0.3s ease;
        letter-spacing: .05em;
        display: inline-block;
        }
        .footer-phone 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);
        }
        .footer-phone a:hover {
        color:#FFF;
        }
        .footer-phone a:hover:after {
        left: 0;
        width: 100%;
        }
        @media screen and (max-width: 767px) {
        .footer-phone { font-size:14px; }
        .footer-phone a { height:44px; line-height:44px; }
        }
.footer-reservation {
        position:relative;
        font-weight:500;
        font-size:1rem;
        width:100%;
        }
        .footer-reservation a {
        color:#FFF;
        width:100%;
        height:70px;
        text-align: left;
        padding-left:2rem;
        line-height:70px;
        box-sizing:border-box;
        background: #7A1F1F;
        white-space: nowrap;
        text-decoration:none !important;
        position: relative;
        z-index: 1;
        -webkit-transition: color 0.3s ease;
        -moz-transition: color 0.3s ease;
        -ms-transition: color 0.3s ease;
        -o-transition: color 0.3s ease;
        transition: color 0.3s ease;
        letter-spacing: .05em;
        display: inline-block;
        }
        .footer-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);
        }
        .footer-reservation a:hover {
        color:#FFF;
        }
        .footer-reservation a:hover:after {
        left: 0;
        width: 100%;
        }
        @media screen and (max-width: 767px) {
        .footer-reservation { font-size:14px; }
        .footer-reservation a { height:44px; line-height:44px; }
        }

.copyright {
    position: relative;
    z-index: 100;
	padding:20px 0;
	text-align:left;
	margin-top:-5px;
	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 { padding:20px 0 2rem; margin-left: 0;}
    .footer-menu li { display: block; width:100%; text-align: left; border-bottom:1px dotted #CCC; padding:0; }
    .footer-menu li a { padding:.75rem 1rem; display: block; }

    .footer-logo { width:180px; 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;}
}