@charset "UTF-8";

/*-------------------------トップページ-------------------------*/

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

.wrapper {
    display: block;
    width: 86%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

@media (max-width: 1200px) {
    .wrapper {
        width: 86%;
    }
}

@media (max-width: 1024px) {
    .wrapper {
        width: 90%;
    }
}

.wrap {
    display: block;
    width: 86%;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0;
}

@media (max-width: 1024px) {
    .wrap {
        width: 80%;
    }
}

#restlisttop .wrap {
    width: auto;
}


/*------------------------------------------------
見出し
------------------------------------------------*/

#gallery .ttl,
#topcont_shop .ttl,
#topcont_access .ttl,
#topcont_bridal .ttl,
#topcont_rest .ttl,
#topcont_room .ttl {
    margin: 20px 0 20px 0;
    padding: 70px 0 0 0;
    font-size: 26px;
    font-weight: normal;
    font-family: Hiragino Sans, "游ゴシック", YuGothic, "メイリオ", "meiryo", sans-serif;
    background: url(../img/common/icon_mark_4c.svg) center top no-repeat;
    background-size: 60px;
}

#gallery .ttl span,
#topcont_shop .ttl span,
#topcont_access .ttl span,
#topcont_bridal .ttl span,
#topcont_rest .ttl span,
#topcont_room .ttl span {
    font-size: 20px;
    display: block;
    font-family: serif;
}

.mds {
    margin: 20px 0 20px 0;
    padding: 0;
    font-size: 20px;
    font-weight: normal;
    font-family: Hiragino Sans, "游ゴシック", YuGothic, "メイリオ", "meiryo", sans-serif;
}

.mds span {
    font-size: 14px;
    display: block;
}

.lead {
    margin: 20px 0 20px 0;
    padding: 0;
    font-size: 16px;
    line-height: 2;
    font-weight: normal;
    font-family: Hiragino Sans, "游ゴシック", YuGothic, "メイリオ", "meiryo", sans-serif;
    font-weight: normal;
}

@media (max-width: 1024px) {
    .lead {
        font-size: 14px;
        text-align: center;
    }
}

@media (max-width: 680px) {
    .lead {
        text-align: left;
        font-size: 14px;
    }
}


/*------------------------------------------------
アドレス・連絡先
------------------------------------------------*/

address.top_adrs {
    display: inline-block;
    position: absolute;
    top: 90px;
    right: 2%;
    margin: 0;
    font-size: 12px;
    font-weight: 400;
    text-decoration: none;
    font-style: normal;
    color: #fff;
    z-index: 1;
}

address.top_adrs br {
    display: none;
}

address.top_adrs .tel_num {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    font-style: normal;
    color: #fff;
    z-index: 1;
}

address.top_adrs .tel_num a {
    color: #fff;
}

@media (max-width: 1200px) {
    address.top_adrs {
        display: block;
        position: relative;
        top: inherit;
        right: inherit;
        color: #fff;
        background: none;
        padding: 42px 0 10px 0;
        margin: 0 auto;
        width: 100%;
    }
    address.top_adrs br {
        display: none;
    }
    address.top_adrs .tel_num {
        font-size: 14px;
        color: #fff;
        margin: 0;
    }
    address.top_adrs .tel_num a {
        color: #fff;
    }
}

@media (max-width: 680px) {
    address.top_adrs br {
        display: block;
    }
}


/*------------------------------------------------
重要なお知らせトップ
------------------------------------------------*/

#impnotices_top {
    display: block;
    padding: 10px 0;
    background: #f7f7f7;
    margin: 0 auto;
    border-bottom: 3px solid #ff2f06;
}

#impnotices_top dl {
    display: block;
    margin: 0 auto;
    font-size: 16px;
    width: 100%;
}

.impnotices_wrapper {
    padding: 0 20px;
    box-sizing: border-box;
}

#impnotices_top dl dt::before {
    content: "!";
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #aaaaaa;
    text-align: center;
    line-height: 27px;
    color: #fff;
    margin: 0 10px 0 0;
    font-size: 14px;
}

#impnotices_top dl dt {
    display: inline-block;
    width: 9em;
    float: left;
    color: #ff2f06;
}

@media (max-width: 680px) {
    #impnotices_top dl dt {
        display: block;
        width: auto;
        float: none;
        font-size: 12px;
        margin: 5px 0;
    }
}

#impnotices_top dl dd {
    display: block;
    margin: 5px 0;
    padding: 0 0 0 7em;
}

@media (max-width: 680px) {
    #impnotices_top dl dd {
        padding: 0;
        margin: 5px 0 5px 33px;
    }
}

@media (max-width: 680px) {
    #impnotices_top {
        padding: 10px 0;
    }
}


/*------------------------------------------------
重要なお知らせ
------------------------------------------------*/

#impnotices {
    display: block;
    padding: 3% 0;
    background: #fff;
    margin: 0 auto;
}

#impnotices dl {
    display: block;
    padding: 0;
    margin: 0 auto;
    font-size: 16px;
    max-width: 600px;
    width: 100%;
}

#impnotices dl dt {
    display: inline-block;
    width: 6em;
    float: left;
}

@media (max-width: 680px) {
    #impnotices dl dt {
        display: block;
        width: auto;
        float: none;
        font-size: 12px;
        margin: 0 0 5px 0;
    }
}

#impnotices dl dd {
    display: block;
    margin: 0 0 1em 0;
    padding: 0 0 0 7em;
}

@media (max-width: 680px) {
    #impnotices dl dd {
        padding: 0;
    }
}

@media (max-width: 680px) {
    #impnotices {
        padding: 10% 0;
    }
}


/*------------------------------------------------
コロナへの取り組み
------------------------------------------------*/

#efforts {
    display: block;
    padding: 0 0 5% 0;
    font-size: 0;
    background: #fff;
    position: relative;
}

@media (max-width: 680px) {
    #efforts {
        padding: 10% 0;
    }
}

#efforts::before {
    display: none;
}

#efforts::after {
    display: none;
}

#efforts .inner_wrap {
    display: block;
    padding: 0;
    margin: 0 -5% 0 0;
    font-size: 0;
    vertical-align: top;
}

@media (max-width: 680px) {
    #efforts .inner_wrap {
        margin: 0;
    }
}

#efforts .inner_wrap .inner {
    width: 50%;
    padding: 0 5% 0 0;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    vertical-align: top;
    text-align: left;
}

#efforts .inner_wrap .inner .mds {
    margin-top: 0;
}

@media (max-width: 680px) {
    #efforts .inner_wrap .inner {
        width: 100%;
        display: block;
        padding: 0;
    }
    #efforts .inner_wrap .inner .mds {
        text-align: center;
        padding: 0;
        margin-top: 0;
    }
    #efforts .inner_wrap .inner p {
        font-size: 14px;
        display: inline-block;
    }
}

#efforts .inner_wrap .inner .stay_bnr_area {
    margin: 10px 0 0 0;
}

#efforts .inner_wrap .inner .stay_bnr_area::after {
    content: "";
    display: block;
    clear: both;
}

@media (max-width: 680px) {
    #efforts .inner_wrap .inner .stay_bnr_area {
        text-align: center;
    }
}

#efforts .inner_wrap .inner .bnr_s {
    display: block;
    max-width: 125px;
    margin: 0 25px 0 0;
    float: left;
}

#efforts .inner_wrap .inner .bnr_s::after {
    content: "　";
    display: block;
    clear: both;
}

#efforts .inner_wrap .inner .trustyou-cleanliness-badge {
    display: inline-block;
    max-width: 120px;
    margin: 0;
}

#efforts .inner_wrap .inner .trustyou-cleanliness-badge img {
    height: auto !important;
    width: 100% !important;
    max-height: unset !important;
}

#efforts .inner_wrap .inner .trustyou-cleanliness-badge::after {
    content: "　";
    display: block;
    clear: both;
}

#efforts .movie_wrap {
    width: 100%;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 0;
}

#efforts .movie_wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 680px) {
    #efforts .movie_wrap {
        margin: 0 0 10% 0;
    }
}


/*------------------------------------------------
プラン一覧
------------------------------------------------*/

.recomm_plan {
    display: block;
    position: relative;
    padding: 3% 0;
    color: #000;
    background: #F3F1EF;
}

@media (max-width: 680px) {
    .recomm_plan {
        padding: 10% 0;
    }
}

.recomm_plan::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 10%;
    height: 40%;
    padding: 0;
    margin: 0;
    content: "";
    background: url(../img/top/bg_rect_l.png) left top no-repeat;
    background-size: contain;
}

.recomm_plan::after {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 10%;
    height: 30%;
    padding: 0;
    margin: 0;
    content: "";
    background: url(../img/top/bg_rect_r.png) right bottom no-repeat;
    background-size: contain;
}

#takeoutplan {
    display: block;
    position: relative;
    padding: 3% 0;
    color: #000;
    text-align: center;
    background: #F3F1EF;
}

@media (max-width: 680px) {
    #takeoutplan {
        padding: 10% 0;
    }
}

#takeoutplan::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 10%;
    height: 40%;
    padding: 0;
    margin: 0;
    content: "";
    background: url(../img/top/bg_rect_l.png) left top no-repeat;
    background-size: contain;
}

#takeoutplan::after {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 10%;
    height: 30%;
    padding: 0;
    margin: 0;
    content: "";
    background: url(../img/top/bg_rect_r.png) right bottom no-repeat;
    background-size: contain;
}


/*------------------------------------------------
2021.03 追加
------------------------------------------------*/

#topcont_room .btns {
    display: block;
    margin: 0 0 5% 0;
    padding: 0;
    position: relative;
}

#topcont_room .btns .btn {
    width: 48% !important;
    display: inline-block;
    margin: 0;
}

#topcont_room .btns .btn+.btn {
    margin: 0 0 0 4%;
}

.btn_cont {
    padding: 15px 0 0 0;
    display: block;
    font-size: 0;
    /* border: 1px solid #ccc; */
}

.btn_cont:hover {
    /* border: 1px solid #aaa; */
    color: #000;
}

.btn_cont .bimg {
    display: inline-block;
    width: 50%;
}

.btn_cont .bimg img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 680px) {
    .btn_cont .bimg {
        display: block;
        width: 100%;
    }
}

.btn_cont .btxt {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 20px;
    font-size: 14px;
}

@media (max-width: 680px) {
    .btn_cont .btxt {
        display: block;
        width: 100%;
    }
}

.btn_cont .btxt h4 {
    font-size: 18px;
    margin: 0 0 10px 0;
    font-weight: normal;
}

.btn_cont .btxt h5 {
    font-size: 16px;
    margin: 0 0 6px 0;
}

.btn_cont .btxt p {
    font-size: 14px;
    margin: 0;
}


/*------------------------------------------------------------------------
トップページ レストラン案内
------------------------------------------------------------------------*/

#topcont_rest {
    display: block;
    position: relative;
    text-align: center;
    margin: 0;
    padding: 5% 0;
    color: #000;
    background: #fff;
}

#topcont_rest::before {
    display: none;
}

#topcont_rest::after {
    display: none;
}


/*------------------------------------------------------------------------
トップページ ショッピング案内
------------------------------------------------------------------------*/

#topcont_shop {
    background: #fff;
    background-size: 20%;
}


/*------------------------------------------------------------------------
トップページ 婚礼
------------------------------------------------------------------------*/

#topcont_bridal {
    background: url(../img/top/bg_ring.png) left bottom no-repeat #fff;
    background-size: 24%;
}

#topcont_bridal .btn {
    display: inline-block;
    margin: 0 0 30px;
    width: inherit;
}

@media (max-width: 680px) {
    #topcont_bridal .btn {
        font-size: 16px;
        display: block;
        max-width: inherit;
    }
}

#topcont_bridal::before {
    display: none;
}

#topcont_bridal::after {
    display: none;
}


/*------------------------------------------------------------------------
トップページ アクセス案内
------------------------------------------------------------------------*/

#topcont_access {
    background: url(../img/top/bg_gaikan.svgz) right bottom no-repeat #F3F1EF;
    background-size: 20%;
}


/*-------------------------------------------------------
ギャラリー
-------------------------------------------------------*/

.gallery {
    display: block;
    margin: 0;
    padding: 5% 0;
    text-align: center;
    background: #F3F1EF;
}

.gallery ul {
    display: block;
    padding: 0;
    margin: 2% -20px 2% 0;
    list-style: none;
    font-size: 0;
    text-align: center;
}

.gallery ul li {
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
    padding: 0 20px 20px 0;
    margin: 0 0 0 0;
    text-align: center;
    width: 16.6%;
}

@media (max-width: 680px) {
    .gallery ul li {
        width: 33.33%;
    }
}

.gallery ul li a {
    display: block;
    position: relative;
    padding: 0;
    margin: 0;
    text-align: center;
    background: white;
    color: white;
    text-decoration: none;
}

.gallery ul li a:hover {
    background: white;
    color: white;
}

.gallery ul li a:hover .item_txt {
    opacity: 0;
}

.gallery ul li a:hover figure img {
    -webkit-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05);
    opacity: 1;
}

.gallery ul li a figure {
    display: block;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.gallery ul li a figure img {
    display: block;
    padding: 0;
    margin: 0;
    width: 100%;
    height: auto;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    opacity: 1;
}

.gallery ul li a figure figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    padding: 10px 10px 10px 20px;
    margin: 0;
    font-size: 14px;
    line-height: 1;
    text-align: center;
}


/*------------------------------------------------
お知らせ
------------------------------------------------*/

#topcont_news {
    display: block;
    position: relative;
    text-align: center;
    margin: 0;
    padding: 5% 0;
    color: #000;
    background: #F3F1EF;
}

#topcont_news *,
#topcont_news *:before,
#topcont_news *:after {
    box-sizing: unset;
}

@media (max-width: 680px) {
    #topcont_news {
        padding: 10% 0;
    }
}

#topcont_news::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 10%;
    height: 40%;
    padding: 0;
    margin: 0;
    content: "";
    /* background: url(../img/top/bg_rect_l.png) left top no-repeat; */
    background-size: contain;
}

#topcont_news::after {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 10%;
    height: 30%;
    padding: 0;
    margin: 0;
    content: "";
    /* background: url(../img/top/bg_rect_r.png) right bottom no-repeat; */
    background-size: contain;
}

#topcont_news .flex-direction-nav a {
    text-decoration: none;
    display: block;
    width: 40px;
    height: 42px;
    padding: 0px;
    margin: -30px 0 0 0;
    position: absolute;
    top: 50%;
    z-index: 10;
    overflow: hidden;
    opacity: 0;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.8);
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

#topcont_news .flex-direction-nav a::before {
    position: absolute;
    display: block;
    width: 26px;
    height: 26px;
    margin-top: 6px;
    margin-left: 10px;
    border-left: 2px solid rgba(0, 0, 0, 0.6);
    border-top: 2px solid rgba(0, 0, 0, 0.6);
    content: "";
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
}

#topcont_news .flex-direction-nav a.flex-next:before {
    margin-left: 0px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

#topcont_news .flex-direction-nav .flex-prev {
    left: -40px;
}

#topcont_news .flex-direction-nav .flex-next {
    right: -40px;
    text-align: right;
}

#topcont_news .flexslider:hover .flex-direction-nav .flex-prev {
    opacity: 1;
    left: -40px;
}

#topcont_news .flexslider:hover .flex-direction-nav .flex-prev:hover {
    opacity: 0.5;
}

#topcont_news .flexslider:hover .flex-direction-nav .flex-next {
    opacity: 1;
    right: -40px;
}

#topcont_news .flexslider:hover .flex-direction-nav .flex-next:hover {
    opacity: 0.5;
}

#topcont_news .tab-area {
    display: block;
    cursor: pointer;
    font-size: 0;
    margin: 0 auto 10px auto;
    text-align: center;
}

#topcont_news .tab-area .tab {
    width: 16.5%;
    height: 30px;
    line-height: 30px;
    font-size: 16px;
    text-align: center;
    color: #000;
    background: #fff;
    padding: 5px 0;
    display: inline-block;
    vertical-align: top;
}

@media (max-width: 680px) {
    #topcont_news .tab-area .tab {
        font-size: 10px;
    }
}

#topcont_news .tab-area .tab.active {
    background: #997D53;
    opacity: 0.8;
    color: #fff;
    position: relative;
}

#topcont_news .tab-area .tab.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0px;
    height: 0;
    border-top: 5px solid #997D53;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
}

#topcont_news .content-area {
    padding: 20px 0 0 0;
}

#topcont_news .content-area .content {
    display: block;
    height: 0;
    overflow: hidden;
}

#topcont_news .content-area .content.show {
    display: block;
    height: auto;
    overflow: visible;
}

#topcont_news .content-area .content.show .slides {
    position: relative;
    display: block;
    padding: 0;
    margin: 0;
    text-align: left;
    list-style: none;
    background: #F3F1EF !important;
    box-sizing: border-box;
}

#topcont_news .content-area .content.show .slides li {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: unset;
    display: block;
    float: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
    text-align: left;
    width: 33.33%;
    background: none;
}

#topcont_news .content-area .content.show .slides li a {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0px;
    margin: 0;
    text-align: left;
    color: #000;
    background: none;
}

#topcont_news .content-area .content.show .slides li a:hover img {
    color: #000;
    opacity: 0.8;
}

#topcont_news .content-area .content.show .slides li a figure {
    display: block;
    padding: 0;
    margin: 0;
    width: 100%;
    height: auto;
    vertical-align: middle;
}

#topcont_news .content-area .content.show .slides li a figure img {
    display: block;
    padding: 0;
    margin: 0;
    width: 100%;
    height: auto;
}

#topcont_news .content-area .content.show .slides li a div {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 0 0 0;
    margin: 0;
    vertical-align: middle;
    text-align: left;
    background: none;
}

#topcont_news .content-area .content.show .slides li a div h3 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 6px 0;
    font-size: 14px;
    font-weight: normal;
    text-align: left;
    height: 4em;
    overflow: hidden;
}

#topcont_news .content-area .content.show .slides li a div p {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 0 0 10px 0;
    text-align: left;
    font-size: 14px;
    display: none;
}

#topcont_news .content-area .content.show .slides li a div span.date {
    display: inline-block;
    padding: 0;
    margin: 0;
    font-size: 12px;
}

#topcont_news .content-area .content.show .slides li a div span.icon_category {
    display: inline-block;
    padding: 0 6px;
    width: 8em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 10px 0 0;
    text-align: center;
    background-color: #dbaa2c;
    color: #fff;
    font-size: 12px;
}

#topcont_news .content-area .content.show .slides li a div span.icon_new {
    position: relative;
    top: auto;
    left: auto;
    display: inline-block;
    padding: 0 6px;
    margin: 0 10px 0 0;
    text-decoration: none;
    text-align: center;
    color: #FFF;
    background-color: #d8562e;
    color: #fff;
    font-size: 12px;
}


/*------------------------------------------------
予約タブ
------------------------------------------------*/

#restab {
    display: block;
    padding: 5% 0;
    margin: 0;
    background: #F3F1EF;
}

#restab *,
#restab *:before,
#restab *:after {
    box-sizing: unset;
}

#restab .tab-area {
    display: block;
    font-size: 0;
    margin: 0;
    padding: 0;
    text-align: center;
}

#restab .tab-area .tab {
    width: 18%;
    height: 30px;
    line-height: 30px;
    font-size: 16px;
    text-align: center;
    color: #000;
    background: #d3ccbf;
    padding: 5px 0;
    margin:0 1px 0 0;
    display: inline-block;
    vertical-align: top;
    position: relative;
    cursor: pointer;
}

@media (max-width: 680px) {
    #restab .tab-area .tab {
        font-size: 11px;
//        width: 50%;
        width:33%;
    }
}

#restab .tab-area .tab a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding: 15px 0 0;
}

#restab .tab-area .tab.active {
    background: #997D53;
    opacity: 0.8;
    color: #fff;
    position: relative;
}

#restab .tab-area .tab.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0px;
    height: 0;
    border-top: 5px solid #997D53;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
}

#restab .content-area {
    padding: 0;
}

#restab .content-area .content {
    display: none;
}

#restab .content-area .content p {
    margin: 0;
}

#restab .content-area .content.show {
    display: block;
}


/*------------------------------------------------
宿泊予約
------------------------------------------------*/

#reserve_stay {
    display: block;
    padding: 20px;
    margin: 0;
    text-align: center;
    background: #fff;
}

#reserve_stay ul {
    display: block;
    position: relative;
    padding: 0 0 0 145px;
    margin: 10px 0;
    list-style: none;
    font-size: 0;
}

@media (max-width: 1024px) {
    #reserve_stay ul {
        width: 100%;
        padding: 0;
    }
}

@media (max-width: 680px) {
    #reserve_stay ul {
        width: 100%;
        padding: 0;
    }
}

#reserve_stay ul li {
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 20px 0 0;
    margin: 0;
    vertical-align: middle;
    font-size: 14px;
    text-align: left;
}

@media (max-width: 680px) {
    #reserve_stay ul li {
        display: block;
        padding: 0 0 5px 0;
    }
}

#reserve_stay ul li p {
    font-size: 12px;
    margin: 0;
}

#reserve_stay ul li input[type=radio] {
    display: none;
}

#reserve_stay ul li input[type=radio]+label {
    position: relative;
    display: inline-block;
    line-height: 1;
    padding: 0 0 0 20px;
    /* 背景画像の分だけ少し右へ */
    margin: 0 10px 0 0;
    cursor: pointer;
}

#reserve_stay ul li input[type=radio]+label:before {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    clear: both;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 0;
    border: #333333 solid 2px;
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
}

#reserve_stay ul li input[type=radio]:checked+label:after {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    clear: both;
    font-size: 0;
    width: 12px;
    height: 7px;
    margin: -7px 0 0 1px;
    border-left: #cc0000 solid 3px;
    border-bottom: #cc0000 solid 2px;
    position: absolute;
    top: 50%;
    left: 2px;
    content: "";
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#reserve_stay ul li input.btn_reserve {
    display: block;
    position: relative;
    padding: 0;
    margin: 0 auto 10px auto;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    color: white;
    border: none;
    background: #92846f;
}

#reserve_stay ul li input.btn_reserve:hover {
    background: rgba(146, 132, 111, 0.6);
}

@media (max-width: 680px) {
    #reserve_stay ul li input.btn_reserve {
        width: 100%;
    }
}

#reserve_stay ul li a.cancel_link {
    font-size: 14px;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    padding: 0 0 0 5px;
    background-color: transparent;
    width: auto;
}

#reserve_stay ul li a.cancel_link::before {
    display: inline-block;
    vertical-align: middle;
    width: 4px;
    height: 4px;
    margin: -3px 4px 0 0;
    border-left: 1px solid #b19265;
    border-top: 1px solid #b19265;
    content: "";
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

#reserve_stay ul li a.pc {
    display: inline-block;
}

#reserve_stay ul li a.sp {
    display: none;
}

#reserve_stay ul li.ttlres {
    position: absolute;
    top: 50px;
    left: 20px;
    padding: 0 0 20px 0;
    text-align: left;
    width: 163px;
}
#reserve_stay ul li a span{
    text-decoration: underline;
    font-weight: 600;
}

@media (max-width: 1024px) {
    #reserve_stay ul li.ttlres {
        width: 100%;
        padding: 0;
        margin: 0 0 20px 0;
        text-align: center;
    }
}

@media (max-width: 680px) {
    #reserve_stay ul li.ttlres {
        width: 100%;
        text-align: center;
    }
}

#reserve_stay ul li.ttlres h2.ttl_stay_res {
    font-size: 14px;
    line-height: 1.4;
    font-weight: normal;
    margin: 0 20px 0 0;
    text-align: center;
}

@media (max-width: 1024px) {
    #reserve_stay ul li.ttlres {
        position: relative;
        top: inherit;
        left: inherit;
        width: 100%;
        text-align: center;
    }
}

#reserve_stay ul li.ttlres h2.ttl_stay_res::before {
    content: "";
    height: 26px;
    display: inline-block;
    background: url("../img/common/stay_icon.png") center center no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin: 0 0 2px 0;
    padding: 5px 22px;
}

#reserve_stay ul li.select_date {
    width: auto;
    text-align: left;
    width: 30%;
}

@media (max-width: 680px) {
    #reserve_stay ul li.select_date {
        width: 100%;
    }
}

#reserve_stay ul li.select_date input {
    display: block;
    width: 100%;
    padding: 14px;
    margin: 5px 0;
    background: url(../img/common/icon_calender.svgz) no-repeat right 10px center #e8e6df;
    background-size: 20px;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#reserve_stay ul li.select_date .customSelect {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    padding: 0;
    white-space: nowrap;
    margin: 0 10px 0 5px;
    max-width: 100%;
    vertical-align: bottom;
}

#reserve_stay ul li.select_date .customSelect.changed {
    position: relative;
    width: inherit;
    padding: 0;
    margin: 0;
    vertical-align: middle;
}

#reserve_stay ul li.select_date .customSelectInner {
    display: inline-block;
    position: relative;
    padding: 8px 30px 8px 10px;
    margin: 0;
    line-height: 2;
    width: 100%;
    overflow: hidden;
    text-align: left;
    background-color: #e8e6df;
    vertical-align: middle;
    pointer-events: none;
}

#reserve_stay ul li.select_date .customSelectInner::after {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    clear: both;
    width: 8px;
    height: 8px;
    margin: -8px 0 0 0;
    border-left: black solid 2px;
    border-bottom: black solid 2px;
    position: absolute;
    pointer-events: none;
    top: 50%;
    right: 14px;
    content: "";
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#reserve_stay ul li.select_date label.arrow {
    position: relative;
    padding: 0;
    margin: 0;
}

#reserve_stay ul li.select_nin,
#reserve_stay ul li.select_haku {
    width: auto;
    text-align: left;
    vertical-align: top;
}

@media (max-width: 680px) {
    #reserve_stay ul li.select_nin,
    #reserve_stay ul li.select_haku {
        display: inline-block;
        width: 50%;
    }
}

#reserve_stay ul li.select_nin .customSelect,
#reserve_stay ul li.select_haku .customSelect {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    padding: 0;
    white-space: nowrap;
    margin: 0;
    max-width: 100%;
    vertical-align: bottom;
}

#reserve_stay ul li.select_nin .customSelect.changed,
#reserve_stay ul li.select_haku .customSelect.changed {
    position: relative;
    width: inherit;
    padding: 0;
    margin: 0;
    vertical-align: middle;
}

#reserve_stay ul li.select_nin .customSelectInner,
#reserve_stay ul li.select_haku .customSelectInner {
    display: inline-block;
    position: relative;
    padding: 8px 20px 8px 10px;
    margin: 0;
    line-height: 2;
    width: 100%;
    overflow: hidden;
    text-align: left;
    background-color: #e8e6df;
    vertical-align: middle;
    pointer-events: none;
}

#reserve_stay ul li.select_nin .customSelectInner::after,
#reserve_stay ul li.select_haku .customSelectInner::after {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    clear: both;
    width: 8px;
    height: 8px;
    margin: -8px 0 0 0;
    border-left: black solid 2px;
    border-bottom: black solid 2px;
    position: absolute;
    pointer-events: none;
    top: 50%;
    right: 14px;
    content: "";
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#reserve_stay ul li.select_nin label.arrow,
#reserve_stay ul li.select_haku label.arrow {
    position: relative;
    padding: 0;
    margin: 5px 0;
}

#reserve_stay ul li.select_type {
    display: inline-block;
    width: auto;
    text-align: left;
}

@media (max-width: 680px) {
    #reserve_stay ul li.select_type {
        display: block;
        width: 100%;
        font-size: 18px;
    }
}

#reserve_stay ul li.btns {
    display: inline-block;
    width: auto;
    text-align: left;
}

@media (max-width: 680px) {
    #reserve_stay ul li.btns {
        display: block;
        width: 100%;
    }
}

#reserve_stay ul li.btns a.btn {
    display: block;
    position: relative;
    padding: 10px 30px 10px 30px;
    margin: 0 0 10px 0;
    line-height: 1.4;
    text-decoration: none;
    min-width: inherit;
    color: #000;
    background-color: #fff;
    text-align: center;
    border: 1px solid #d3ccbf;
}

#reserve_stay ul li.btns a.btn:hover {
    background-color: #F3F1EF;
}


/*------------------------------------------------
レストラン予約
------------------------------------------------*/

#reserve_rest {
    display: block;
    padding: 20px;
    margin: 0;
    text-align: center;
    background: #fff;
}

#reserve_rest ul {
    display: block;
    position: relative;
    padding: 0 0 0 230px;
    margin: 10px -20px 0 0;
    list-style: none;
    font-size: 0;
    text-align: left;
    overflow: hidden;
}

@media (max-width: 1024px) {
    #reserve_rest ul {
        width: 100%;
        padding: 0;
    }
}

@media (max-width: 680px) {
    #reserve_rest ul {
        width: 100%;
        padding: 0;
    }
}

#reserve_rest ul li {
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 20px 0 0;
    margin: 0;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    width: 33.33%;
}

@media (max-width: 1024px) {
    #reserve_rest ul li {
        width: 33.33%;
    }
}

@media (max-width: 680px) {
    #reserve_rest ul li {
        width: 100%;
        padding: 0;
    }
}

#reserve_rest ul li p {
    font-size: 12px;
    margin: 0;
}

#reserve_rest ul li.ttlres {
    position: absolute;
    top: 55px;
    left: 30px;
    padding: 0 0 20px 0;
    text-align: left;
    width: 163px;
}

@media (max-width: 1024px) {
    #reserve_rest ul li.ttlres {
        position: relative;
        top: inherit;
        left: inherit;
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 680px) {
    #reserve_rest ul li.ttlres {
        position: relative;
        top: inherit;
        left: inherit;
    }
}

#reserve_rest ul li.ttlres h2.ttl_stay_res {
    font-size: 14px;
    line-height: 1.4;
    font-weight: normal;
    margin: 0 20px 0 0;
    text-align: center;
}

#reserve_rest ul li.ttlres h2.ttl_stay_res::before {
    content: "";
    height: 26px;
    display: inline-block;
    background: url("../img/common/restaurant_icon.png") center center no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin: 0 0 2px 0;
    padding: 4px 20px;
}

#reserve_rest ul li a {
    display: block;
    position: relative;
    padding: 10px 10px 10px 10px;
    margin: 0 0 10px 0;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    min-width: inherit;
    color: #000;
    background-color: #fff;
    text-align: center;
    border: 1px solid #d3ccbf;
}

#reserve_rest ul li a:hover {
    background-color: #F3F1EF;
}

/*------------------------------------------------
宿泊予約 2022
------------------------------------------------*/
#restab .airpackform{
    display: block;
    padding: 20px;
    margin: 0;
    text-align: center;
    background: #fff;
}

#restab iframe{
    width: 100%;
    height: 18em;
    max-width: 40em;
    margin: 10px auto 0 0;
}
#restab .airpackform h2.ttl_airpack_res{
    font-size: 14px;
    line-height: 1.4;
    font-weight: normal;
    margin: 0 20px 0 0;
    text-align: center;
}
#restab .airpackform h2.ttl_airpack_res::before {
    content: "";
    height: 26px;
    display: inline-block;
    background: url(../img/common/air_icon.png) center center no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin: 0 5px 2px 0;
    padding: 5px 36px;
}
#restab .staytab_foot{
    list-style: none;
    display: flex;
    justify-content: center;
    margin: 20px 0 0;
    padding: 0;
}
#restab .staytab_foot li{
    margin:0;
}
/* #restab .staytab_foot li:first-child{
    flex-grow: 1;
} */
#restab .staytab_foot li a{
    font-size: 12px;
    text-decoration: none;
    width: auto;
    display: inline-block;
    line-height: 2.0;
}
#restab .staytab_foot li a.txtlink {
    font-size: 14px;
    font-weight: 500;
    color: #000;
    padding: 0 0 0 0;
    margin: 0 30px 0 0;
    background-color: transparent;
}
#restab .staytab_foot li a.txtlink.pc{
    display: inline-block !important;
}
#restab .staytab_foot li a.txtlink::before {
    display: inline-block;
    vertical-align: middle;
    width: 4px;
    height: 4px;
    margin: -3px 8px 0 0;
    border-left: 1px solid #b19265;
    border-top: 1px solid #b19265;
    content: "";
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
#restab .staytab_foot li a span{
    text-decoration: underline;
    font-weight: 600;
}

#restab .content-area .content .staytab_foot li p.revcontact{
    font-size: 12px;
    margin: 5px 10px;
}
#restab .content-area .content .staytab_foot li p .tel{
    font-size: 1.6em;
    display: inline-block;
    margin: 0 0 0 5px;
}
.staytabbnr{
    text-align:right;
}
#restab .staytab_foot img{
    max-width: 370px;
}

@media (max-width: 680px) {
    #restab .staytab_foot{
        display: block;
        background: #FFF;
    }
    #restab .staytab_foot img{
        width: 100%;
    }
    #restab .content-area .content .staytab_foot li p.revcontact{
        margin: 15px 10px;
    }
    #restab .content-area .content .staytab_foot li p .tel{
        font-size: 1.8em;
    }
    #restab .staytab_foot li.staytabbnr{
       margin: 20px 0 0;
       display:block;
    }
    #restab .staytab_foot li a.txtlink.pc{
        display: none !important;
    }
}
