@charset "UTF-8";
/*********************************************************************
*
*  </e/common/css/common.css>
*
*********************************************************************/
/* ----- reset ----- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

html.js-fade body {
    opacity: 0;
}

body {
    background: #fff;
    color: #000;
    font-size: 13px;
    line-height: 1.5;
    font-family: Avenir, arial, "Helvetica Neue", sans-serif;
    /* 表示時のfade処理 */
    -ms-transition: opacity 1.0s ease-in;
    -webkit-transition: opacity 1.0s ease-in;
    transition: opacity 1.0s ease-in;
}

body.home {
    background: #eee;
}

body#page_ic {
    background: url(../img/icbg.gif);
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

ol li,
ul li {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
    font-family: Avenir, arial, "Helvetica Neue", sans-serif;
}

strong, em {
    font-style: normal;
    font-weight: bold;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    color: #000;
    text-decoration: none;
}

a:hover {
    color: #000;
    text-decoration: underline;
}

img,
a img {
    border: none;
    vertical-align: bottom;
}

dt {
    font-weight: bold;
}

.pc-show {
    display: block;
}

.sp-show {
    display: none;
}

@media screen and (max-width: 768px) {
    .pc-show {
        display: none;
    }

    .sp-show {
        display: block;
    }
}

/* ----- clearfix ----- */
header .container:before,
#gnav_area .aside:before,
header #gnav_area .gnav ul:before,
#wrap:before,
.h2_area:before,
.core_tit:before,
.slider_area:before,
.wide_kv .slider_area .slider_pagination:before,
.carousel_area:before,
.carousel:before,
.carousel div.carousel_box:before,
.tab_menu:before,
.column:before,
.column .column02:before,
.table_item dl:before,
.news_area li:before,
.core_anchor_link ul:before,
.anchor_link ul:before,
div.tit_link:before,
.side_link:before,
ul.basic_icon:before,
.link_list:before,
.button_gray:before,
.button_gray_S:before,
.pagination_btn:before,
.sub_category .detail dd:before,
.tel_inquiry:before,
.tandem .recommended_plan:before,
#wrap .tel_inquiry dl.pamphlet:before,
.reserve_area:before,
.reserve_area .reserve_form:before,
.reserve_area .reserve_form div:before,
.reserve_area .reserve_form div dl:before,
.container:before,
footer .container:before,
footer .aside ul.icon_list:before,
footer .lodging dl:before,
footer .basic_link ul:before,
footer .basic_link ul.hotel_list li a:before,
header .container:after,
#gnav_area .aside:after,
header #gnav_area .gnav ul:after,
#wrap:after,
.h2_area:after,
.core_tit:after,
.slider_area:after,
.wide_kv .slider_area .slider_pagination:after,
.carousel_area:after,
.carousel:after,
.carousel div.carousel_box:after,
.tab_menu:after,
.column:after,
.column .column02:after,
.table_item dl:after,
.news_area li:after,
.core_anchor_link ul:after,
.anchor_link ul:after,
div.tit_link:after,
.side_link:after,
ul.basic_icon:after,
.link_list:after,
.button_gray:after,
.button_gray_S:after,
.pagination_btn:after,
.sub_category .detail dd:after,
.tel_inquiry:after,
.tandem .recommended_plan:after,
#wrap .tel_inquiry dl.pamphlet:after,
.reserve_area:after,
.reserve_area .reserve_form:after,
.reserve_area .reserve_form div:after,
.reserve_area .reserve_form div dl:after,
.container:after,
footer .container:after,
footer .aside ul.icon_list:after,
footer .lodging dl:after,
footer .basic_link ul:after,
footer .basic_link ul.hotel_list li a:after {
    content: "";
    display: block;
    overflow: hidden;
}

header .container:after,
#gnav_area .aside:after,
header #gnav_area .gnav ul:after,
#wrap:after,
.h2_area:after,
.core_tit:after,
.slider_area:after,
.wide_kv .slider_area .slider_pagination:after,
.carousel_area:after,
.carousel:after,
.carousel div.carousel_box:after,
.tab_menu:after,
.column:after,
.column .column02:after,
.table_item dl:after,
.news_area li:after,
.core_anchor_link ul:after,
.anchor_link ul:after,
div.tit_link:after,
.side_link:after,
ul.basic_icon:after,
.link_list:after,
.button_gray:after,
.button_gray_S:after,
.pagination_btn:after,
.sub_category .detail dd:after,
.tel_inquiry:after,
.tandem .recommended_plan:after,
#wrap .tel_inquiry dl.pamphlet:after,
.reserve_area:after,
.reserve_area .reserve_form:after,
.reserve_area .reserve_form div:after,
.reserve_area .reserve_form div dl:after,
.container:after,
footer .container:after,
footer .aside ul.icon_list:after,
footer .lodging dl:after,
footer .basic_link ul:after,
footer .basic_link ul.hotel_list li a:after {
    clear: both;
}

/* ----- header ----- */
header {
    position: relative;
    background: url(/e/common/img/bg_header.png) repeat-x left top;
    z-index: 20;
}

header .container {
    width: 920px;
    height: 116px;
    margin: 0 auto;
    background: url(/e/common/img/bg_gnav_01.png) no-repeat left bottom;
}

header .logo {
    float: left;
    padding: 20px 0 0 0;
}

/* #gnav_area */
header #gnav_area {
    float: right;
}

/* #gnav_area .aside */
header #gnav_area .aside {
    padding: 0 220px 0 0;
    height: 46px;
    font-size: 11px;
}

header #gnav_area .aside p {
    float: right;
    margin: 0 0 0 20px;
}

header #gnav_area .aside p.photogallery {
    margin: 15px 0 0 20px;
    padding: 0 0 0 20px;
    background: url(/e/common/img/bg_gnav_line_01.gif) no-repeat left center;
}

header #gnav_area .aside p.access {
    margin: 15px 0 0 0;
    padding: 0 0 0 20px;
    background: url(/e/common/img/bg_gnav_line_01.gif) no-repeat left center;
}

header #gnav_area .aside ul {
    margin: 15px 0 0 0;
    float: right;
}

header #gnav_area .aside li {
    float: left;
    margin: 0 0 0 15px;
}

header #gnav_area .aside li.language {
    position: relative;
}

header #gnav_area .aside li.language p {
    padding: 0 20px 0 0;
    cursor: pointer;
    background: url(/e/common/img/btn_gnav_dwn_off.png) no-repeat right 2px;
    color: #333;
}

header #gnav_area .aside li.language p:hover {
    text-decoration: underline;
}

header #gnav_area .aside li.language p {
    margin-left: 0;
}

header #gnav_area .aside li.language .language_select {
    display: none;
    position: absolute;
    top: -9px;
    left: -7px;
    width: 93px;
    padding: 15px 0 0 0;
    background: url(/e/common/img/bg_language_top.png) no-repeat center top;
    z-index: 25;
}

header #gnav_area .aside li.language ul {
    float: none;
    margin: 0;
    padding: 0 15px 15px 15px;
    background: url(/e/common/img/bg_language_btm.png) no-repeat center bottom;
}

header #gnav_area .aside li.language ul li {
    float: none;
    margin-left: 0;
    padding: 5px 0 0 0;
    line-height: 0;
}

header #gnav_area .aside li.language ul li:first-child {
    padding-top: 0;
}

header #gnav_area .aside li.language ul img {
    border-bottom: 1px solid #fff;
}

header #gnav_area .aside li.language ul li a {
    display: block;
}

header #gnav_area .aside li.language ul li a:hover img {
    border-bottom: 1px solid #000;
}


/* #gnav_area .gnav */
header #gnav_area .gnav.gnav_kamikochi {
    margin-top: -1px;
}

header #gnav_area .gnav ul {
    position: relative;
    margin-right: -1px;
    float: right;
    z-index: 16;
}

header #gnav_area .gnav ul li {
    position: relative;
    float: left;
    height: 60px;
    margin: 0 0 0 0;
    z-index: 1;
}

header #gnav_area .gnav ul li:hover {
    z-index: 20;
}

header #gnav_area .gnav ul li:hover img {
    position: relative;
    z-index: 20;
}

header #gnav_area .gnav ul li a {
    display: block;
}

header #gnav_area .gnav ul li ul {
    display: none;
    position: absolute;
    top: 62px;
    left: -1px;
    border-top: 1px solid #D9D9D9;
    border-right: 1px solid #B3B3B3;
    border-bottom: 1px solid #B3B3B3;
    border-left: 1px solid #D9D9D9;
    background: #fff;
    z-index: 100;
}

header #gnav_area .gnav.gnav_kamikochi ul li ul {
    top: 64px;
}

header #gnav_area .gnav ul li:first-child ul {
    left: 0;
}

header #gnav_area .gnav ul li ul.open {
    display: block;
}

header #gnav_area .gnav ul li ul li {
    width: 180px;
    height: auto;
    float: none;
    margin-right: 0;
    border-bottom: 1px dotted #D9D9D9;
}

header #gnav_area .gnav ul li ul li a {
    padding: 10px;
}

header #gnav_area .gnav ul li ul li.last {
    border-bottom: none;
}

header #gnav_area .gnav ul li ul li:first-child a {
    background: url(/e/common/img/btn_gnav_right.gif) no-repeat 160px center;
}

header #gnav_area .gnav ul li.facility ul li:first-child a {
    background: url(/e/common/img/btn_gnav_right.gif) no-repeat 180px center;
}

.gnav_hawaii {
    padding-top: 10px;
}

/* ----- wrap ----- */
#wrap {
    margin: -5px auto 0 auto;
    width: 920px;
}

/* ----- #local_nav ----- */
#nav_area {
    width: 200px;
    float: left;
    padding: 0 0 100px 0;
    background: url(/e/common/img/bg_lnav_list_btm.png) no-repeat right bottom;
}

#nav_area dl dt.top_category {
    display: table-cell;
    width: 200px;
    height: 80px;
    vertical-align: middle;
    font-weight: normal;
    border-bottom: 1px solid #999;
}

/* .local_nav */
#nav_area ul.local_nav li {
    border-top: 1px solid #E0E0E0;
    background: url(/e/common/img/bg_lnav_list_01.png) repeat-y right top;
}

#nav_area ul.local_nav li:first-child {
    border: none;
}

#nav_area ul.local_nav li a {
    display: block;
    padding: 20px 20px 20px 10px;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left center;
}

#nav_area ul.local_nav li a.current {
    font-weight: bold;
    text-decoration: underline;
    color: #B39152;
    background: url(/e/common/img/icon_lnav_link_01.gif) no-repeat left center;
}

#nav_area ul.local_nav li dl.current a.current {
    background: none;
}

#nav_area ul.local_nav li a.current + ul a.current {
    background: none;
}

#nav_area ul.local_nav li span.no_link {
    display: block;
    font-weight: bold;
    color: #B39152;
    padding: 20px 20px 20px 10px;
}

#nav_area ul.local_nav li dl {
    margin: 0 0 0 10px;
    padding: 0 0 15px 0;
}

#nav_area ul.local_nav li dt {
    height: 19px;
    padding: 5px 10px;
    background: url(/e/common/img/bg_lnav_subtit.png) no-repeat left center;
}

#nav_area ul.local_nav li dl.current dt {
    color: #fff;
    background: url(/e/common/img/bg_lnav_subtit_ct.png) no-repeat left center;
}

#nav_area ul.local_nav li dd {
    margin: 10px 0 0 0;
    font-size: 12px;
}

#nav_area ul.local_nav li dd a {
    background-image: none;
    padding: 0 20px 0 10px;
}

#nav_area ul.local_nav ul {
    margin: -5px 0 0 0;
    padding: 0 0 10px 0;
}

#nav_area ul.local_nav li li {
    margin: 0;
    padding: 0 0 10px 0;
    font-size: 12px;
    background: none;
    border-top: none;
}

#nav_area ul.local_nav li li a {
    background-image: none;
    padding: 0 0 0 10px;
}

/* .lnav_brochure */
#nav_area .lnav_brochure a {
    display: block;
    margin: 0 0 0 1px;
    padding: 1px 0;
    background: #f2f2f2 url(/e/common/img/bg_lnav_list_01.png) repeat-y right top;
}

#nav_area .lnav_brochure dl {
    margin: 0 0 0 -1px;
    padding: 20px 20px 20px 10px;
    background: #f2f2f2 url(/e/common/img/bg_lnav_list_01.png) repeat-y right top;
}

#nav_area .lnav_brochure a:hover,
#nav_area .lnav_brochure a:hover dl {
    background-color: #E6E6E6;
    text-decoration: none;
}

#nav_area .lnav_brochure a:hover dd {
    text-decoration: none;
}

#nav_area .lnav_brochure dl dd {
    margin: 10px 0 0 10px;
    color: #404040;
}

/* .lnav_bnr */
#nav_area dl:first-child + .lnav_bnr {
    border-top: 1px solid #E0E0E0;
}

#nav_area .lnav_bnr li {
    overflow: hidden;
    position: relative;
    height: 101px;
}

#nav_area .lnav_bnr li img {
    position: relative;
}

#nav_area .lnav_bnr li a:hover img {
    bottom: 100%;
}

/* ----- article ----- */
article {
    margin: -5px auto 0 auto;
    width: 920px;
}

article.sp-font-reset {
    -webkit-text-size-adjust: 100%;
}

.wide_kv + article {
    margin: 0 auto;
}

#wrap article {
    margin: 0 auto;
    width: 680px;
    float: right;
}

/* .lead */
article dl.lead dd {
    margin: 40px 0 0 0;
    line-height: 1.9;
    font-size: 14px;
}

article dl.lead {
    color: #404040;
}

article p.lead {
    color: #404040;
    line-height: 1.9;
    font-size: 14px;
}


article div.wysiwyg_lead p {
    color: #404040;
    line-height: 1.9;
    font-size: 14px;
}

/* .h1_area */
article div.kv {
    margin: 0 0 40px 0;
}

/* .h1_area */
.h1_area {
    width: 920px;
    margin: 0 auto 40px auto;
}

article .h1_area {
    width: auto;
    margin: 0 0 40px 0;
}

article .h1_area div.kv {
    margin-bottom: 0;
}

.head1 {
    display: table-cell;
    height: 80px;
    vertical-align: middle;
    font-weight: normal;
}

.head1 span {
    font-size: 177%;
}

.head1 img {
    vertical-align: bottom;
}

#wrap .h1_area .head1 {
    width: 680px;
    border-bottom: 1px solid #999;
}

article .h1_area + .head2 {
    margin-top: 40px;
}

/* .h1_area.no_kv */
.h1_area.no_kv {
    border-bottom: 1px solid #999;
}

/* .h1_area + .h2_area */
article .h1_area + .h2_area {
    margin-top: 80px;
}

/* ----- #breadcrumb ----- */
#breadcrumb {
    margin-top: 80px;
    background: #000;
}

#breadcrumb nav {
    width: 920px;
    margin: 0 auto;
    padding: 5px 0;
    font-size: 11px;
    color: #fff;
}

#breadcrumb a {
    margin: 0 8px;
    padding-bottom: 1px;
    color: #fff;
}

#breadcrumb a:first-child {
    margin-left: 0;
}

#breadcrumb strong {
    margin-left: 6px;
    font-weight: normal;
}


/* ----- #page_top ----- */
#page_top {
    display: none;
    position: relative;
    bottom: -80px;
}

#page_top p {
    position: fixed;
    bottom: 0;
    right: 20px;
    filter: inherit;
}

#page_top.stop p {
    position: absolute;
    top: -30px;
    right: 20px;
}

/* ----- footer ----- */
footer {
    font-size: 12px;
}

footer .container {
    width: 920px;
    margin: 0 auto;
    color: #fff;
}

footer dt {
    margin: 0 0 20px 0;
}

footer dd {
    padding: 0 0 0 10px;
    font-weight: bold;
    background: url(/e/common/img/ico_footer_list.gif) no-repeat left 0.5em;
}

footer dd dd {
    padding: 0;
    font-weight: normal;
    background: none;
}

footer a {
    color: #fff;
}

footer a:hover {
    color: #fff;
}


/* .site_link */
footer .site_link.container {
    padding: 30px 0 0 0;
}

/* .category */
footer .site_link .category {
    width: 720px;
    float: left;
}

/* .lodging */
footer .lodging {
    float: left;
}

footer .category .lodging {
    width: 380px;
}

footer .category .lodging dd {
    margin: 0 20px 0 0;
    float: left;
}

footer .lodging dd.first {
    margin-right: 0;
    float: none;
}

footer .category .lodging .container {
    width: 385px;
    margin-left: -10px;
    margin-bottom: 20px;
}

footer .lodging dd dl {
    font-size: 10px;
}

footer .lodging dd dl a {
    padding-bottom: 1px;
}

footer .lodging dd dt {
    margin-top: 5px;
    margin-bottom: 0;
}

footer .category .lodging dd dd {
    float: none;
    margin: 0;
    padding: 0 0 0.2em 10px;
}

footer .lodging dd dl {
    float: left;
    padding: 0 10px;
}

/* .restaurant_banquet */
footer .restaurant_banquet {
    float: left;
    width: 180px;
}

footer .restaurant_banquet .restaurant {
    margin-bottom: 35px;
}

footer .restaurant_banquet dd {
    margin-top: 5px;
}

footer .restaurant_banquet dd:first-child {
    margin-top: 0;
}

/* .etc */
footer .etc li {
    margin-bottom: 20px;
}

footer .restaurant_banquet .restaurant {
    margin-bottom: 35px;
}

footer .restaurant_banquet dd {
    margin-top: 5px;
}

footer .restaurant_banquet dd:first-child {
    margin-top: 0;
}

/* .aside */
footer .aside {
    float: left;
    width: 199px;
    border-left: 1px solid #000;
}

footer .aside ul {
    padding: 0 0 0 15px;
    border-bottom: 1px solid #000;
}

footer .aside li {
    padding: 0 0 20px 10px;
    background: url(/e/common/img/ico_footer_list.gif) no-repeat left 0.5em;
}

footer .aside .other_link {
    border-bottom: none;
}

footer .aside .other_link li {
    padding: 0;
    background: none;
    text-align: center;
}

footer .aside .other_link li.green {
    margin-top: 10px;
}

footer address .other_link > li#tripadvisor .TA_socialButtonIcon > img {
    display: none;
}

footer address .other_link > li#tripadvisor .TA_socialButtonIcon > img:first-child {
    display: block;
}

footer address .other_link > li#tripadvisor .TA_socialButtonIcon .socialWidgetContainer {
    line-height: 0;
}

/* .address */
footer address {
    position: relative;
    width: 920px;
    margin: 0 auto;
    padding: 15px 5px 12px;
    font-style: normal;
    color: #fff;
    border-bottom: 1px solid #666;
    border-bottom-color: rgba(255, 255, 255, 0.3);
}

footer address .other_link {
    position: absolute;
    bottom: 1px;
    right: 0;
    padding: 10px 20px 9px 15px;
    border-left: 1px solid #666;
    border-left-color: rgba(255, 255, 255, 0.3);
    overflow: hidden;
}

footer address .other_link li {
    float: left;
}

footer address .other_link li + li {
    margin-left: 25px;
}

footer address .other_link li.lhw img {
    margin-top: 2px;
}

footer address .other_link li.green img {
    margin-top: 6px;
}

footer address .other_link li.facebook {
    margin-top: 1px;
}

footer address .other_link li.facebook a {
    display: inline-block;
}

/* .basic_link */
footer .basic_link {
    width: 920px;
    margin: 0 auto;
}

footer .basic_link .container {
    width: 900px;
    padding: 0px 10px 30px;
    text-align: center;
}

footer .basic_link ul.hotel_list li {
    float: left;
    padding-bottom: 0;
    margin: 0 0 0 20px;
    text-align: left;
}

footer .basic_link ul.hotel_list li:first-child {
    margin-left: 40px;
}

footer .basic_link ul.hotel_list li img {
    float: left;
}

footer .basic_link ul.hotel_list li span {
    width: 100px;
    float: left;
    margin: 1.3em 0 0 10px;
}

footer .basic_link ul.hotel_list li a:hover span {
    text-decoration: underline;
}

footer .basic_link ul.hotel_list li.parchotel span {
    width: 120px;
}

footer .basic_link ul.hotel_list li span:hover {
    text-decoration: underline;
}

footer .basic_link ul.basic_list {
    display: inline-block;
    margin: 8px 0 0 0;
}

footer .basic_link ul.basic_list + ul.basic_list {
    margin-top: 0;
}

footer .basic_link ul.basic_list li {
    float: left;
    padding: 0 10px 0 9px;
    background: url(/e/common/img/bg_footer_line.gif) no-repeat left center;
}

footer .basic_link ul.basic_list li:first-child {
    background: none;
}

footer .basic_link ul.hotellist li {
    padding: 0 33px 0 32px;
}

footer .basic_link ul.hotellist li:first-child {
    padding-left: 0px;
}

footer .basic_link ul.hotellist li.last {
    padding-right: 0px;
}

footer .basic_link .logo {
    margin-top: 20px;
}

footer .basic_link .logo p {
    text-align: center;
}

footer .basic_link .logo p.copyright {
    margin-top: 20px;
    font-size: 10px;
    color: #a9a9a9;
}


/* .上書き */
footer ul.icon_list li,
footer ul.noicon li,
footer ul li.noicon {
    background: none;
    padding-left: 0;
}

/* ----- parts ----- */
/* column */
.head2 + .column {
    margin: 20px 0 0 0;
}

.column {
    margin: 40px 0 0 0;
}

.column .column02,
.column .column03,
.column .column04 {
    float: left;
    margin: 0 0 0 40px;
}

.column .column02 .head2,
.column .column02 .head3,
.column .column03 .head2,
.column .column03 .head3,
.column .column04 .head2,
.column .column04 .head3 {
    margin-top: 0;
}

.column .column02:first-child,
.column .column03:first-child,
.column .column04:first-child {
    margin-left: 0;
}

/* column02 */
.column .column02 {
    width: 440px;
}

#wrap .column .column02 {
    width: 320px;
}

/* column03 */
.column .column03 {
    width: 280px;
}

#wrap .column .column03 {
    width: 200px;
}

#wrap .foot_bnr .column03 {
    width: 280px;
}

/* column04 */
.column .column04 {
    width: 200px;
}

#wrap .column .column04 {
    width: 140px;
}


/* tel_inquiry*/
.tel_inquiry {
    height: 86px;
    margin: 70px -10px 0 -10px;
    padding: 0 20px;
    background: url(/e/common/img/bg_inquiry_l.png) no-repeat center center;
}

.tel_inquiry p.tel {
    width: 680px;
    float: left;
    height: 86px;
    line-height: 86px;
    text-align: center;
}

.tel_inquiry p.tel img {
    vertical-align: middle;
}

.tel_inquiry dl.pamphlet {
    float: left;
    margin: 0 0 0 30px;
    padding: 28px 0 0 0;
}

.tel_inquiry dl.pamphlet dt {
    padding: 0 0 0 10px;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left center;
}

.tel_inquiry a:hover dl.pamphlet dt {
    text-decoration: underline;
}

.tel_inquiry dl.pamphlet dd {
    font-size: 11px;
    color: #404040;
}

#wrap .tel_inquiry {
    height: 122px;
    margin: 70px -10px 0 -10px;
    padding: 0 20px;
    background: url(/e/common/img/bg_inquiry_m.png) no-repeat center center;
}

#wrap .tel_inquiry p.tel {
    width: auto;
    height: 47px;
    line-height: 47px;
    float: none;
    padding: 20px 0;
    text-align: center;
}

#wrap .tel_inquiry p.tel img {
    vertical-align: middle;
}

#wrap .tel_inquiry dl.pamphlet {
    float: none;
    padding: 0;
    text-align: center;
}

#wrap .tel_inquiry dl.pamphlet dt {
    display: inline-table;
}

#wrap .tel_inquiry dl.pamphlet dd {
    display: inline-table;
    margin: 0 0 0 20px;
}

/* .recommended_plan */
#nav_area .recommended_plan {
    padding: 20px 10px;
    background: url(/e/common/img/bg_lnav_list_01.png) repeat-y right top;
}

#nav_area .recommended_plan + div {
    border-top: 1px solid #E0E0E0;
}

#nav_area .recommended_plan dd {
    margin: 20px 0 0 0;
    font-size: 12px;
}

#nav_area .recommended_plan p.img {
    width: 80px;
    height: 80px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

#nav_area .recommended_plan div.txt {
    margin: 10px 0 0 0;
}

.tandem .recommended_plan {
    padding: 20px;
    border-top: 1px solid #E6E6E6;
}

.tandem .recommended_plan:first-child {
    padding-top: 40px;
    border-top: none;
}

.tandem .recommended_plan a:hover dt {
    text-decoration: underline;
}

.tandem .recommended_plan dd {
    margin: 20px 0 0 0;
    color: #404040;
    font-size: 12px;
}

.tandem .recommended_plan p.img {
    float: left;
    width: 180px;
    height: 120px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.tandem .recommended_plan dl.txt {
    width: 440px;
    float: right;
}

/* .notes*/
.notes {
    margin: 40px 0 0 0;
    color: #404040;
}

p.notes,
ul.notes li {
    text-indent: -1.5em;
    padding: 0 0 0 1.5em;
    clear: both;
}

p.notes:before,
ul.notes li:before {
    content: "* ";
}

/* .disc_list*/
ul.disc_list {
    margin: 40px 0 0 0;
}

ul.disc_list li {
    text-indent: -1em;
    padding: 0 0 0 1em;
}

ul.disc_list li:before {
    content: "- ";
}

/* .table_item */
.table_item .head3 {
    padding: 0 0 15px 0;
    border-bottom: 1px solid #D9D9D9;
}

.table_item dl {
    margin: 15px 0 0 0;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #D9D9D9;
}

.table_item dl dt {
    float: left;
}

.table_item dl dd {
    float: left;
}

.tandem .table_item dl dt {
    float: none;
}

.tandem .table_item dl dd {
    margin-top: 5px;
    float: none;
}


/* core_tit */
.core_tit {
    margin: 40px 0 0 0;
    padding: 0 0 25px 0;
    background: url(/e/common/img/bg_core_tit.png) repeat-x left bottom;
}

.core_tit .head2 {
    float: left;
    margin-top: 0;
    padding-bottom: 0;
    border: none;
    color: #000;
}

.core_tit .head2 .head2_txt {
    display: block;
    padding: 10px 0;
    font-size: 26px;
    font-weight: normal;
    color: #06136a;
}

.core_tit .head2 .head2_txt.osaka {
    color: #a70000;
}

.core_tit .head2 img {
    display: none;
}

.core_tit .arrow_link {
    float: right;
    margin: 5px 0 0 0;
    font-size: 12px;
}


/* gray_tit */
.gray_tit {
    display: block;
    margin: 40px 1px 0 1px;
    padding: 1px 0;
    background: #EEE;
}

.gray_tit .h2_area {
    display: block;
    margin: 0 -1px;
    padding: 0 10px 0 20px;
    background: #EEE;
    border-bottom: none;
}

.gray_tit .h2_area .head2 {
    margin: 10px 0 10px 0;
    font-size: 16px;
    color: #000;
}

.gray_tit .h2_area .button_gray {
    margin: 10px 0;
}

.gray_tit span.head {
    display: block;
    margin: 0 -1px;
    padding: 11px 0 8px 0;
    background: #EEE;
    border-bottom: none;
    text-align: center;
    font-size: 13px;
}

dt.gray_tit + dd {
    margin: 15px 0 0 0;
}

/* sub_title */
.sub_title {
    font-size: 22px;
    font-family: Avenir, arial, "Helvetica Neue", sans-serif;
    font-weight: normal;
    font-style: italic;
    /*color: #06136a;*/
}


/* .news_area */
.news_area {
    margin: 30px 0 0 0;
}

.news_area h2 {
    margin: 0 0 20px 0;
    padding: 0;
    border: none;
    background: url(/e/common/img/bg_h2_line.png) repeat-x left center;
}

.news_area ul {
    margin: 20px 0 0 0;
}

.news_area li {
    margin: 10px 0 0 0;
    padding: 0 10px;
}

.news_area li p.info_icon {
    float: left;
    margin: 0 1px;
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    font-size: 12px;
}

.news_area li p.info_icon span {
    display: block;
    width: 100px;
    margin: 0 -1px;
    padding: 2px 10px 0 10px;
    text-align: center;
    border-left: 1px solid #D9D9D9;
    border-right: 1px solid #D9D9D9;
    color: #404040;
}

.news_area li p.info_link {
    width: 758px;
    float: left;
    margin: 0 0 0 20px;
    padding: 2px 0 0 0;
}

.news_area p.list_link {
    text-align: right;
}

.news_area p.list_link a {
    padding: 0 0 0 10px;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left center;
}

#wrap .news_area li p.info_link {
    float: right;
    width: 518px;
}

.news_area dl {
    font-size: 13px;
    overflow: hidden;
}

.news_area dl dt {
    clear: both;
    float: left;
    width: 4.5em;
    font-weight: normal;
}

.news_area dl dd {
    margin-left: 4.5em;
}

.news_area dl dd + dt,
.news_area dl dd + dt + dd {
    margin-top: 15px;
}

.news_area dl dd span {
    display: inline-block;
    margin: -2px 4px 0px;
    padding: 1px 10px;
    font-size: 11px;
    color: #fff;
    background: #000;
}

/* .foot_bnr */
.foot_bnr {
    margin-left: auto;
    margin-right: auto;
    width: 920px;
}

article .foot_bnr {
    width: auto;
}

.foot_bnr .bnr {
    overflow: hidden;
    position: relative;
    height: 60px;
}

.foot_bnr .bnr img {
    position: relative;
}

.foot_bnr .bnr a:hover img {
    bottom: 100%;
}


/* .tit_link */
dl.tit_link dt img {
    display: block;
    margin: 0 0 3px 0;
}

dl.tit_link dt span {
    display: table-cell;
    height: 50px;
    padding: 0;
    vertical-align: middle;
}

dl.tit_link dt a span {
    padding: 0 0 0 10px;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left center;
}

dl.tit_link dt span.arrow {
    padding: 0 0 0 10px;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left center;
}

dl.tit_link dt a.icon_blank span:after {
    content: url(/e/common/img/icon_blank.png);
    position: relative;
    top: 1px;
    right: -5px;
}

dl.tit_link dt a:hover span {
    text-decoration: underline;
}

dl.tit_link dd {
    color: #404040;
    font-size: 12px;
}

.tit_link dd.date {
    margin: 0 0 10px 0;
    font-size: 10px;
    color: #000;
}

p.tit_link a img {
    display: block;
    margin: 0 0 10px 0;
}

p.tit_link a span {
    display: table-cell;
    height: 50px;
    padding: 0 0 0 10px;
    font-weight: bold;
    vertical-align: middle;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left center;
}

p.tit_link a:hover span {
    text-decoration: underline;
}

div.tit_link p.img {
    float: left;
}

div.tit_link dl {
    float: right;
}

div.tit_link dt {
    padding: 0 0 0 10px;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left center;
}

div.tit_link:hover dt {
    text-decoration: underline;
}

div.tit_link dd {
    margin: 10px 0 0 0;
}


/* .tandem */
.tandem .toggle_icon {
    position: absolute;
    top: 10px;
    right: 10px;
}

.tandem div.tit_link {
    padding: 20px 0;
    border-top: 1px solid #E6E6E6;
}

.tandem div.tit_link:first-child {
    border-top: none;
}

/* .sub_category */
.sub_category {
    margin: 40px 0 0 0;
    padding: 40px 0 0 0;
    border-top: 3px solid #E6E6E6;
}

.sub_category .column {
    margin-top: 20px;
}

.sub_category .column:first-child {
    margin-top: 0;
}

.sub_category .column02 {
    padding: 20px 0 0 0;
    border-top: 1px solid #E6E6E6;
}

.sub_category .column:first-child .column02 {
    padding-top: 0;
    border-top: none;
}

.sub_category .detail {
    margin: 10px 0 0 0;
}

.sub_category dl.detail {
    margin-top: 0;
}

.sub_category dl.detail dt {
    margin-bottom: 10px;
}

.sub_category .summary {
    margin: 5px 0 0 0;
    color: #404040;
    font-size: 12px;
}

.sub_category .detail dd p {
    float: left;
}

.sub_category .detail dd p:first-child {
    width: 80px;
}

/* .imglinkline_content */
.imglinkline_content a:hover dt {
    text-decoration: underline;
}

.imglinkline_content dd.summary {
    margin: 5px 0 0 0;
    color: #404040;
    font-size: 12px;
}

/* .related_content */
.related_content {
    margin-top: 20px;
}

.related_content p.img {
    float: left;
}

.related_content dl.summary {
    float: right;
    width: 810px;
}

.related_content .column02 dl.summary {
    width: 330px;
}

#wrap .related_content dl.summary {
    width: 570px;
}

#wrap .related_content .column02 dl.summary {
    width: 210px;
}

.related_content a:hover dt {
    text-decoration: underline;
}

.related_content dd {
    margin: 5px 0 0 0;
    color: #404040;
    font-size: 12px;
}


/* .top_news_area */
.top_news_area {
    width: 898px;
    padding: 10px;
    margin: 35px auto 0 auto;
    border: 1px solid #cccccc;
}

.top_news_area a:hover {
    text-decoration: none;
}

.top_news_area dt {
    font-size: 14px;
    font-weight: normal;
}

.top_news_area a:hover dt {
    text-decoration: underline;
}

.top_news_area dd {
    margin: 10px 0 0 0;
    color: #333333;
}


/* .reserve_area */
.reserve_wrap {
    width: 920px;
    margin: 35px auto 0;
    background: #000000;
}

.column .reserve_wrap {
    width: auto;
    margin-bottom: 0;
}

#nav_area .reserve_wrap {
    margin-top: 40px;
    width: auto;
    margin-bottom: 0;
}

.reserve_inner {
    overflow: hidden;
}

.reserve_wrap article {
    float: left;
    width: 657px;
    padding: 25px 20px 5px;
}

.reserve_wrap article p.img {
    float: left;
}

.reserve_wrap article dl.summary {
    float: right;
    width: 560px;
}

.reserve_wrap article a {
    display: block;
    color: #ccc;
    overflow: hidden;
}

#home .reserve_wrap article a {
    color: #000;
}

.reserve_wrap article a + a {
    clear: both;
    margin-top: 35px;
}

.reserve_wrap article a dt,
.reserve_wrap article .reserve_tandem dt a {
    color: #fff;
    font-size: 15px;
    font-weight: normal;
}

.reserve_wrap article a dd,
.reserve_wrap article .reserve_tandem dd {
    margin-top: 10px;
}

.reserve_wrap article a:hover {
    text-decoration: none;
}

.reserve_wrap article a:hover dt,
.reserve_wrap article .reserve_tandem dt a:hover {
    text-decoration: underline;
}

.reserve_wrap article .reserve_tandem {
    margin: 35px 0;
    overflow: hidden;
}

.reserve_wrap article .reserve_tandem .circle_list a {
    display: inline-block !important;
    color: #000000;
    background-position: left 0.6em !important;
}

.reserve_wrap article .reserve_tandem .circle_list {
    margin-top: 10px;
}

.reserve_wrap article .reserve_tandem .circle_list a {
    display: inline-block;
    color: #ccc;
    padding: 0 0 0 12px;
    background: url(/e/common/img/icon_right_white_s.png) no-repeat 2px center;
}

#home .reserve_wrap article .reserve_tandem .circle_list a {
    background: url(/e/common/img/icon_link_01.gif) no-repeat 2px center;
}

.reserve_wrap article .reserve_tandem .circle_list a:hover {
    text-decoration: underline;
}


/* reserve_area */
.reserve_area {
    float: right;
    width: 202px;
    margin: 0 auto;
    padding: 15px 10px;
    color: #fff;
    background: #14126c;
}

#nav_area .reserve_area {
    width: 190px;
    padding: 15px 5px;
}

.reserve_area h1 {
    font-size: 14px;
    text-align: center;
    font-weight: normal;
}

.reserve_area .reserve_form .container {
    width: 202px;
    height: auto;
    padding: 0;
}

#nav_area .reserve_area .reserve_form .container {
    width: 190px;
}

.reserve_wrap .container p {
    margin: 15px 0 0 0;
    padding: 0;
}

.reserve_wrap .container p span {
    display: inline-block;
    width: 4.5em;
    margin-right: 4px;
    text-align: right;
    vertical-align: middle;
}

.reserve_wrap .container p span.checkin {
    width: 100%;
}

.is-desktop .reserve_area .reserve_form select.hasCustomSelect {
    opacity: 1 !important;
    -ms-filter: "alpha(opacity=100)" !important;
    zoom: 1;
    height: auto !important;
    width: auto !important;
    position: static !important;
}

.is-desktop .reserve_area .reserve_form p.sp-reserve_select_1 select.hasCustomSelect {
    width: 100% !important;
}

.reserve_wrap .container p span.sp-reserve_select_shortselect {
    width: auto;
    margin: 0 0 0 5px;
    vertical-align: top;
}

.reserve_area .reserve_form .customSelect {
    display: none !important;
}

.reserve_area .reserve_form dl dt {
    width: 5em;
    margin: 0 3px 0 0;
    padding: 2px 0 0 0;
    float: left;
    text-align: right;
    color: #333;
}

.reserve_area .reserve_form dl dd {
    float: left;
}

.reserve_area .reserve_form dl.checkin dd {
    float: right;
}

.reserve_area .reserve_form .container div dl {
    padding: 13px 0 0 0;
}

.reserve_area .reserve_form .container select#hi_id {
    width: 202px;
}

#home .reserve_area .reserve_form .container p span.checkin {
    display: block;
    width: auto;
    margin: 0;
    text-align: right;
}

.reserve_area .reserve_form .container {
    background: none;
}

.reserve_area .reserve_form .container select + select {
    margin: 0 0 0 5px;
}

.reserve_area .reserve_form .container p.confirmation a {
    color: #fff;
    padding: 0 0 0 12px;
    background: url(/e/common/img/icon_right_white_s.png) no-repeat 2px center;
}

.reserve_area .reserve_form .search {
    margin: 15px auto 0px;
    text-align: center;
}

.reserve_area .reserve_form .tel {
    display: table;
    width: 100%;
    margin: 12px 0 0 0;
    background: #F9F8F5;
}

.reserve_area .reserve_form .tel p {
    display: table-cell;
    height: 25px;
    line-height: 12px;
    padding: 1px 0 0;
    float: none;
    text-align: center;
    vertical-align: middle;
}

.reserve_area .reserve_form .tel span {
    padding: 0 0 0 10px;
}

.reserve_wrap .container p span.sp-reserve_select_header {
    width: auto !important;
}

/* header .reserve_area */
header .reserve_area {
    width: 202px;
    padding: 15px 10px;
    background: #000;
}

header .reserve_wrap {
    position: fixed;
    width: 222px;
    left: 50%;
    margin: 0 0 0 238px;
    background: transparent;
    z-index: 50;
}

header .reserve_wrap .reserve_area {
    border-left: 0;
}

header .reserve_wrap.close .reserve_area {
    display: none;
    z-index: 1;
}

header .reserve_area .reserve_form {
    position: relative;
    color: #fff;
    z-index: 50;
}

header .reserve_area .reserve_form .container {
    padding: 0;
}

header .reserve_area .reserve_form .container div dl dt {
    color: #fff;
}

header .reserve_area .reserve_form .container p.confirmation a {
    background: url(/e/common/img/icon_right_white.png) no-repeat left center;
}

header .reserve_area .reserve_form .container p.confirmation a {
    color: #fff;
}

header .reserve_area .reserve_form .container p.confirmation a:hover {
    color: #fff;
}

header .reserve_area .reserve_form .tel {
    background: #333;
}

header .reserve_area .reserve_form .tel span {
    font-weight: bold;
}

header .reserve_area .reserve_form .tel span a {
    color: #fff;
}

header .reserve_wrap .reserve_btn {
    width: 222px;
    margin: 0;
    text-align: right;
    z-index: 15;
    cursor: pointer;
}


/* .slider_area */
.slider_area .slider {
    position: relative;
    overflow: hidden;
}

article .slider_area .slider {
    width: 920px;
}

#wrap .slider_area .slider {
    width: 680px;
}

.slider_area .slider_page {
    position: relative;
    top: -20px;
    right: 10px;
    margin: 0 0 -18px 0;
    float: right;
    z-index: 10;
}

.slider_area .slider_page button {
    background: url(/e/common/img/btn_slider_01.png) no-repeat left top;
}

.slider_area .slider_page .slick-active button {
    background: url(/e/common/img/btn_slider_ct.png) no-repeat left top;
}

.slider_area .slider_page a span {
    display: none;
}

#localinformation {
    width: 100%;
    padding: 4px 0;
    color: #fff;
    background: #000;
}

#localinformation p {
    width: 920px;
    margin: 0px auto;
    text-align: right;
    font-size: 12px;
}

#localinformation p img {
    margin: 0px 2px;
    vertical-align: top;
}

/* top_content */
#top_content {
    margin-top: -10px;
    padding: 20px 0;
    background: #14126c;
}

#top_content_inner {
    width: 920px;
    margin: auto;
    overflow: hidden;
}

#top_content_inner article {
    float: left;
    width: 660px;
}

#top_content_inner article > a {
    color: #fff;
    float: right;
    width: 460px;
}

#top_content_inner article a:hover {
    text-decoration: none;
}

#top_content_inner article p.img {
    float: left;
}

#top_content_inner article a dl.summary {
    float: right;
    width: 460px;
}

#top_content_inner article a dt {
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: normal;
}

#top_content_inner article a dd {
    color: #ccc;
}

#top_content_inner article a .more {
    float: right;
    padding-left: 10px;
    text-align: right;
    background: url(/e/common/img/icon_right_white_s.png) no-repeat left 60%;
}

#top_content_inner article a:hover dt,
#top_content_inner article a:hover .more {
    text-decoration: underline;
}

#top_content_inner div.banner {
    float: right;
    width: 200px;
}

#top_content_inner div.banner li + li {
    margin-top: 4px;
}


/* .wide_kv */
.wide_kv {
    position: relative;
    top: -5px;
    margin-bottom: 35px;
}

.wide_kv .h1_area {
    position: absolute;
    bottom: 0;
    width: 100%;
    min-width: 934px;
    height: 30px;
    margin-bottom: 0;
    background: url(/e/common/img/bg_wide_kv.png) no-repeat center top;
    z-index: 10;
}

.wide_kv h1 {
    width: 920px;
    margin: 0 auto;
    padding: 2px 0 0 0;
}

.wide_kv p {
    display: none;
}

.wide_kv p.slider_page {
    display: block;
}

.wide_kv .slider_area {
    height: 330px;
    overflow: hidden;
    max-width: 1350px;
    min-width: 934px;
    margin: 0 auto;
}

.wide_kv .slider_area ul.slider {
    width: 100% !important;
}

.wide_kv .slider_area .slider li.slick-slide {
    height: 330px;
}

.wide_kv .slider_area .slider li.slick-slide img {
    min-height: 330px;
}

.wide_kv .slider_area .slider_pagination {
    position: relative;
    top: -25px;
    width: 920px;
    margin: 0 auto -20px auto;
}

.wide_kv .slider_area .slider_page {
    position: relative;
    top: auto;
    bottom: 0;
    z-index: 10;
}

/* long kv */
.long_kv .slider_area,
.long_kv .slider_area .slider li.slick-slide,
.long_kv .slider_area .slider li.slick-slide img {
    height: 440px;
}


/* .carousel_area */
.carousel_area {
    position: relative;
    margin: 40px 0 0 0;
}

.carousel_area h2 {
    margin: 0 0 20px 0;
    padding: 0;
    border: none;
    background: url(/e/common/img/bg_h2_line.png) repeat-x left center;
}

.carousel_area .container {
    width: 920px;
    background: #F5F3EB;
}

#wrap .carousel_area .container {
    width: 680px;
}

.carousel_area p.prev {
    position: absolute;
    top: 95px;
    left: -15px;
    width: 15px;
}

.carousel_area p.next {
    position: absolute;
    top: 95px;
    right: -15px;
    width: 15px;
}

.carousel_area .carousel_page {
    margin: 10px 0 0 0;
    text-align: center;
    font-size: 0;
}

.carousel_area .carousel_page a {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 5px 0 0;
    background: url(/e/common/img/btn_carousel_01.png) no-repeat left top;
}

.carousel_area .carousel_page a.selected {
    background: url(/e/common/img/btn_carousel_ct.png) no-repeat left top;
}

.carousel_area .carousel_page a span {
    display: none;
}

.carousel_area .carousel {
    padding: 20px;
}

.carousel_area .carousel div.carousel_box {
    float: left;
    width: 276px;
    margin: 0 30px 0 0;
}

#wrap .carousel_area .carousel div.carousel_box {
    width: 306px;
}

.carousel_box p.img {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    float: left;
}

.carousel_box dl.txt {
    float: right;
    width: 170px;
    line-height: 1.3;
}

#wrap .carousel_box dl.txt {
    width: 200px;
}

.carousel_box a:hover dl.txt dt {
    text-decoration: underline;
}

.carousel_box dl.txt dd {
    margin-top: 10px;
    color: #404040;
}

.carousel_area.few .prev,
.carousel_area.few .next,
.carousel_area.few .carousel_page {
    display: none !important;
}

/* .tab_area */
.tab_menu li {
    margin: 0 0 0 3px;
    padding: 6px 5px 5px 5px;
    float: left;
    color: #999;
    font-weight: bold;
    list-style: none;
    cursor: pointer;
}

.tab_menu li:first-child {
    margin-left: 0;
}

.tab_menu li.select {
    color: #fff;
}

.tab_menu li:before,
.tab_menu li:after {
    display: block;
    line-height: 0;
    background-repeat: no-repeat;
}

.tab_menu li:hover {
    text-decoration: underline;
}

.tab_content {
    display: none;
}

.tab_content.show {
    display: block;
}

.tab_menu li span {
    display: table-cell;
    padding: 0 20px;
    vertical-align: middle;
}

.tab_menu li span.txt_C {
    padding: 0;
}

.tab_content .tab_head {
    display: none;
}


/* .history_tab_area */
.history_tab_area .tab_menu li.select a {
    color: #fff;
}

.history_tab_area .tab_menu li a {
    display: table-cell;
    padding: 0 20px;
    vertical-align: middle;
    color: #999;
}

.history_tab_area .tab_menu li a {
    display: table-cell;
    padding: 0 20px;
    vertical-align: middle;
}

.history_tab_area .tab_menu li a.txt_C {
    padding: 0;
}

/* .tab_top */
.tab_menu.tab_top li {
    border-top: 1px solid #D9D9D9;
    border-right: 1px solid #D9D9D9;
    border-left: 1px solid #D9D9D9;
}

.tab_menu.tab_top li:before {
    content: url(/e/common/img/bg_tab_top_left.gif);
    margin: -7px -6px 3px -6px;
    background-image: url(/e/common/img/bg_tab_top_right.gif);
    background-position: top right;
}

.tab_menu.tab_top li.select:before {
    background-position: top right;
}

/* .tab_bottom */
.tab_menu.tab_bottom li {
    border-bottom: 1px solid #D9D9D9;
    border-right: 1px solid #D9D9D9;
    border-left: 1px solid #D9D9D9;
}

.tab_menu.tab_bottom li:after {
    content: url(/e/common/img/bg_tab_btm_left.gif);
    margin: 2px -6px -6px -6px;
    background-image: url(/e/common/img/bg_tab_btm_right.gif);
    background-position: bottom right;
}

.tab_menu.tab_bottom li.select:after {
    background-position: bottom right;
}

/* .accordion_toggle */
.accordion_toggle {
    position: relative;
    cursor: pointer;
    margin: 5px 1px 0 1px;
    padding: 1px 0;
    background: #EEE;
}

.accordion_toggle:first-child {
    margin: 0 1px;
}

.accordion_toggle p {
    margin: 0 -1px;
    padding: 10px 50px 10px 10px;
    background: #EEE;
    font-weight: bold;
}

.accordion_toggle .toggle_icon {
    position: absolute;
    top: 10px;
    right: 10px;
}

/* .modalBox */
.modal_l,
.modal_m,
.modal_s {
    display: none;
    padding: 50px 0;
}

.modal_l:before,
.modal_m:before,
.modal_s:before {
    position: absolute;
    display: block;
    height: 50px;
    top: 0;
    left: 0;
}

.modal_l:after,
.modal_m:after,
.modal_s:after {
    position: absolute;
    display: block;
    height: 50px;
    bottom: 0;
    left: 0;
}

.modal_l .container,
.modal_m .container,
.modal_s .container {
    padding: 40px 30px;
    background-repeat: repeat-y;
}

.modal_l .close_btn,
.modal_l .close_btn_foot,
.modal_m .close_btn,
.modal_m .close_btn_foot,
.modal_s .close_btn,
.modal_s .close_btn_foot {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 1;
}

.modal_l .close_btn,
.modal_m .close_btn,
.modal_s .close_btn {
    top: 40px;
}

.modal_l .close_btn_foot,
.modal_m .close_btn_foot,
.modal_s .close_btn_foot {
    bottom: 40px;
}

.modal_l .close_btn a,
.modal_l .close_btn_foot a,
.modal_m .close_btn a,
.modal_m .close_btn_foot a,
.modal_s .close_btn a,
.modal_s .close_btn_foot a {
    padding: 2px 20px 2px 0;
    background: url(/e/common/img/btn_modal_close.png) no-repeat 100% 50%;
}

.modal_m {
    width: 700px;
}

.modal_s {
    width: 460px;
}

.modal_m:before {
    content: url(/e/common/img/bg_modal_m_top.png);
}

.modal_m:after {
    content: url(/e/common/img/bg_modal_m_btm.png);
}

.modal_m .container {
    background-image: url(/e/common/img/bg_modal_m_mdl.png);
}

.modal_s:before {
    content: url(/e/common/img/bg_modal_s_top.png);
}

.modal_s:after {
    content: url(/e/common/img/bg_modal_s_btm.png);
}

.modal_s .container {
    background-image: url(/e/common/img/bg_modal_s_mdl.png);
}

.modal_l:before {
    content: url(/e/common/img/bg_modal_l_top.png);
}

.modal_l:after {
    content: url(/e/common/img/bg_modal_l_btm.png);
}

.modal_l .container {
    background-image: url(/e/common/img/bg_modal_l_mdl.png);
}


/* #HTMLmodal */
.pageOverlay {
    z-index: 20000;
}

#HTMLmodal {
    position: absolute;
    top: 100px;
    z-index: 21000;
}

div.modalInner {
    display: none;
    position: relative;
    z-index: 22000;
}

div.modalInner .close {
    cursor: pointer;
    padding: 2px 20px 2px 0;
    background: url(/e/common/img/btn_modal_close.png) no-repeat 100% 50%;
}

div.modalInner.modal_l {
    padding: 0;
    width: 990px;
}

div.modalInner.modal_l:before {
    position: relative;
    top: 1px;
}

div.modalInner.modal_l:after {
    position: relative;
    bottom: 1px;
}

div.modalInner.modal_l .close_btn {
    top: 40px;
}

div.modalInner.modal_l .close_btn_foot {
    bottom: 40px;
}


/* .head2 */
.head2 {
    margin-top: 40px;
    padding: 0 0 10px 0;
    font-size: 16px;
    color: #B39152;
    border-bottom: 1px solid #D2C6A2;
}

.head2 a {
    padding: 0 0 0 15px;
    color: #B39152;
    background: url(/e/common/img/icon_left_gold.png) no-repeat left center;
}

.head2 a.arrow_dwn {
    background: url(/e/common/img/icon_link_dwn_02.png) no-repeat left center;
}

.head2_02 {
    margin-top: 40px;
    font-size: 16px;
}

.head2_03 {
    margin-top: 40px;
    font-size: 14px;
    background: url(/e/common/img/bg_h2_line.png) repeat-x left -0.2em;
}

.divide .head2_03 {
    margin-top: 0;
}

.head2_03 span {
    padding: 0 10px 0 0;
    background: #FFF;
    color: #666;
}

.head1 + .head2,
.head1 + .head2_02,
.head1 + .head2_03 {
    margin-top: 0;
}

.head2.head2_b {
    color: #000000;
    border-bottom: 1px solid #000000;
}

.head2.head2_b span {
    font-size: 12px;
}


/* h2_area */
.h2_area {
    margin-top: 40px;
    padding: 0 0 10px 0;
    border-bottom: 1px solid #666;
}

.h2_area.h2_area_02 {
    border-bottom: 1px solid #D2C6A2;
}

.h2_area .head2 {
    float: left;
    margin-top: 0;
    font-size: 16px;
    padding-bottom: 0;
    border: none;
}

.h2_area .button_gray {
    float: right;
}

/* .head2 + p.lead */
.head2 + p.lead,
.head2_02 + p.lead,
.head2_03 + p.lead {
    margin-top: 20px;
}

/* .head3 */
.head3 {
    font-size: 14px;
}

/* .head2 + .head3 */
.head2 + .head3,
.head2_02 + .head3,
.head2_03 + .head3 {
    margin-top: 40px;
}

/* .divide */
.divide {
    margin-top: 30px;
    padding-top: 45px;
    background: url(/e/common/img/bg_hr_l.png) no-repeat left top;
}

#wrap .divide {
    background: url(/e/common/img/bg_hr_m.png) no-repeat left top;
}

.carousel_area + .divide {
    margin-top: 20px;
}


/* .icon_pdf */
.icon_pdf {
    padding: 0 0 0 10px;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left 0.8em;
}

.icon_pdf a:after {
    content: url(/e/common/img/icon_pdf.png);
    position: relative;
    top: 5px;
    right: -5px;
}

/* .icon_blank */
a.icon_blank:after {
    content: url(/e/common/img/icon_blank.png);
    position: relative;
    top: 2px;
    right: -3px;
}

dl.tit_link dt a.icon_blank:after {
    content: none;
    position: relative;
    top: 0;
    right: 0;
}

/* .basic_icon */
/* .txt_block */
.txt_block {
    margin-top: 20px;
}

.txt_block .head3 {
    margin-top: 20px;
}

.txt_block .head4 {
    margin-top: 20px;
    font-weight: normal;
}

.txt_block .column,
.txt_block p,
.txt_block dl,
.txt_block ul,
.txt_block ol {
    margin-top: 10px;
}

.txt_block .head3:first-child,
.txt_block .head4:first-child,
.txt_block .column:first-child,
.txt_block p:first-child,
.txt_block dl:first-child,
.txt_block ul:first-child,
.txt_block ol:first-child {
    margin-top: 0;
}

.txt_block dd {
    margin: 5px 0 0 0;
}

.txt_block dt.float_L,
.txt_block dt.float_R {
    font-weight: normal;
}

.txt_block dd.float_L,
.txt_block dd.float_R {
    margin-top: 0;
}

.txt_block ol > li {
    margin: 0 0 0 18px;
    list-style: decimal;
}


/* .table */
table {
    margin: 20px 0 0 0;
}

table th {
    padding: 10px;
    text-align: center;
    font-weight: bold;
    border: 1px solid #D9D9D9;
    background: #EEE;
    vertical-align: middle;
}

table thead th {
    background: #e5e5e5;
}

table td {
    padding: 10px;
    background: #ffffff;
    border: 1px solid #D9D9D9;
}

table th.txt_L,
table td.txt_L,
table tr.txt_L th,
table tr.txt_L td {
    text-align: left;
}

table th.txt_C,
table td.txt_C,
table tr.txt_C th,
table tr.txt_C td {
    text-align: center;
}

table th.txt_R,
table td.txt_R,
table tr.txt_R th,
table tr.txt_R td {
    text-align: right;
}

table th.txt_T,
table td.txt_T,
table tr.txt_T th,
table tr.txt_T td {
    vertical-align: top;
}

table th.txt_M,
table td.txt_M,
table tr.txt_M th,
table tr.txt_M td {
    vertical-align: middle;
}

table th.txt_B,
table td.txt_B,
table tr.txt_B th,
table tr.txt_B td {
    vertical-align: bottom;
}

table .nowrap {
    white-space: nowrap;
}

table .bg_white th {
    background: #FFF;
}

table .gray td {
    color: #404040;
}


/* anchor_link */
.anchor_link {
    display: block;
    margin: 40px 1px 0 1px;
    padding: 1px 0;
    background: #EEE;
}

.anchor_link ul {
    margin: 0 -1px;
    padding: 5px 20px;
    background: #EEE;
}

.anchor_link li {
    margin: 0 40px 0 0;
    padding: 0 0 0 15px;
    float: left;
    background: url(/e/common/img/icon_anchor.png) no-repeat left 4px;
}

/* core_anchor_link */
.core_anchor_link {
    margin: 40px 0 0 0;
    background: url(/e/common/img/bg_core_anchor_l.png) no-repeat left top;
}

#wrap .core_anchor_link {
    background: url(/e/common/img/bg_core_anchor_m.png) no-repeat left top;
}

.core_anchor_link li {
    float: left;
    height: 56px;
    line-height: 56px;
    padding: 0 20px;
    background: url(/e/common/img/bg_core_anchor_line.png) no-repeat right bottom;
}

.core_anchor_link li a {
    padding: 0 0 0 20px;
    background: url(/e/common/img/icon_anchor.png) no-repeat left center;
}


/* .frame_box */
.frame_box, .frame_box_03 {
    padding: 20px;
    background: #ffffff;
    border: 1px solid #D9D9D9;
}

.frame_box_02 {
    padding: 20px;
    background: #ffffff;
    border: 3px double #D2C6A2;
}


/* .arrow_link */
p.arrow_link {
    margin: 20px 0 0 0;
}

p.arrow_link a,
ul.arrow_link li,
a.arrow_link {
    padding: 0 0 0 10px;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left 0.6em;
}

p.arrow_link a,
a.arrow_link {
    background-position: left 5px;
}

/* .sup_link */
a.sup_link {
    text-decoration: underline;
    color: #4C4C4C;
}

a.sup_link:hover {
    color: #000;
}

/* .side_link */
.side_link li {
    background: url(/e/common/img/icon_link_01.gif) no-repeat 0 0.6em;
    float: left;
    margin: 0 20px 0 0;
    padding: 0 0 0 8px;
}

/* .link_list */
.link_list {
    padding: 20px 0;
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
}

.link_list li {
    width: 45.5%;
    float: left;
    padding: 0 0 0 10px;
    background: url(/e/common/img/icon_link_01.gif) no-repeat left 0.6em;
}

.link_list li:first-child {
    margin: 0 6% 0 0;
}

.link_list + .link_list {
    border-top: none;
}

/* .button_gray */
.button_gray span,
.button_gray_S span {
    display: block;
    margin: 0 1px;
    padding: 1px 0;
    background: #808080;
}

.button_gray span a,
.button_gray_S span a {
    display: block;
    margin: 0 -1px;
    background: #808080;
    color: #fff;
}

.button_gray span a {
    padding: 3px 20px 1px 20px;
}

.button_gray_S span a {
    padding: 1px 10px;
    font-size: 10px;
}

.button_gray.arrow_l span a {
    padding: 11px 30px 9px 38px;
    text-align: center;
    font-weight: bold;
}

.button_gray.arrow_l span a:before {
    position: relative;
    height: 0;
    line-height: 0;
    content: url(/e/common/img/icon_right_white.png);
    top: -1px;
    left: -15px;
}

.button_gray.arrow_l span.large a {
    font-size: 16px;
}

.button_gray.arrow_l span.large a span {
    font-size: 11px;
}

.button_gray.arrow_l span.large a:before {
    top: -2px;
}

.button_gray.arrow span a {
    padding: 3px 20px 2px 28px;
    background-image: url(/e/common/img/icon_right_white_s.png);
    background-repeat: no-repeat;
    background-position: 16px 51%;
}

.button_gray.zoom span a {
    padding: 3px 15px 1px 31px;
    background-image: url(/e/common/img/icon_zoom_01.png);
    background-repeat: no-repeat;
    background-position: 11px 4px;
}

/* .pagination_btn */
.pagination_btn {
    margin: 35px 0 0 0;
}

.pagination_btn p.prev {
    float: left;
}

.pagination_btn p.next {
    float: right;
}

.pagination_btn p.prev,
.pagination_btn p.next {
    display: block;
    margin: 0 1px;
    padding: 1px 0;
    background: #808080;
}

.pagination_btn p.prev a,
.pagination_btn p.next a {
    display: block;
    margin: 0 -1px;
    background: #808080;
    color: #fff;
    background-repeat: no-repeat;
}

.pagination_btn p.prev a {
    padding: 3px 15px 2px 22px;
}

.pagination_btn p.next a {
    padding: 3px 22px 2px 15px;
}

.pagination_btn p.prev a:before {
    position: relative;
    height: 0;
    line-height: 0;
    content: url(/e/common/img/icon_left_white.png);
    top: -1px;
    left: -10px;
}

.pagination_btn p.next a:after {
    position: relative;
    height: 0;
    line-height: 0;
    content: url(/e/common/img/icon_right_white.png);
    top: -1px;
    right: -10px;
}

/* button */
input.btn_img {
    border-radius: 0;
}

/* .float */
.float_L {
    float: left !important;
}

.float_R {
    float: right !important;
}


/* .font align */
.txt_C {
    text-align: center;
}

.txt_R {
    text-align: right;
}

/* width */
.width100p {
    width: 100% !important;
}

.width33p {
    width: 33% !important;
}

.width12p {
    width: 12% !important;
}

.width30 {
    width: 30px !important;
}

.width50 {
    width: 50px !important;
}

.width60 {
    width: 60px !important;
}

.width70 {
    width: 70px !important;
}

.width80 {
    width: 80px !important;
}

.width90 {
    width: 90px !important;
}

.width100 {
    width: 100px !important;
}

.width110 {
    width: 110px !important;
}

.width120 {
    width: 120px !important;
}

.width130 {
    width: 130px !important;
}

.width140 {
    width: 140px !important;
}

.width150 {
    width: 150px !important;
}

.width160 {
    width: 160px !important;
}

.width170 {
    width: 170px !important;
}

.width180 {
    width: 180px !important;
}

.width200 {
    width: 200px !important;
}

.width210 {
    width: 210px !important;
}

.width220 {
    width: 220px !important;
}

.width222 {
    width: 222px !important;
}

.width230 {
    width: 230px !important;
}

.width240 {
    width: 240px !important;
}

.width250 {
    width: 250px !important;
}

.width300 {
    width: 300px !important;
}

.width310 {
    width: 310px !important;
}

.width320 {
    width: 320px !important;
}

.width330 {
    width: 330px !important;
}

.width340 {
    width: 340px !important;
}

.width370 {
    width: 370px !important;
}

.width380 {
    width: 380px !important;
}

.width390 {
    width: 390px !important;
}

.width420 {
    width: 420px !important;
}

.width410 {
    width: 410px !important;
}

.width440 {
    width: 440px !important;
}

.width450 {
    width: 450px !important;
}

.width460 {
    width: 460px !important;
}

.width510 {
    width: 510px !important;
}

.width550 {
    width: 550px !important;
}

.width600 {
    width: 600px !important;
}

.width660 {
    width: 660px !important;
}

.width680 {
    width: 680px !important;
}

.width700 {
    width: 700px !important;
}

.width720 {
    width: 720px !important;
}


/* margin */
.mT0 {
    margin-top: 0 !important;
}

.mT5 {
    margin-top: 5px !important;
}

.mT10 {
    margin-top: 10px !important;
}

.mT15 {
    margin-top: 15px !important;
}

.mT20 {
    margin-top: 20px !important;
}

.mT30 {
    margin-top: 30px !important;
}

.mT35 {
    margin-top: 35px !important;
}

.mT40 {
    margin-top: 40px !important;
}

.mB0 {
    margin-bottom: 0 !important;
}

.mB10 {
    margin-bottom: 10px !important;
}

.mB40 {
    margin-bottom: 40px !important;
}

.mR0 {
    margin-right: 0 !important;
}

.mR10 {
    margin-right: 10px !important;
}

.mR20 {
    margin-right: 20px !important;
}

.mR25 {
    margin-right: 25px !important;
}

.mL0 {
    margin-left: 0 !important;
}

.mL10 {
    margin-left: 10px !important;
}

.mL20 {
    margin-left: 20px !important;
}

.mL25 {
    margin-left: 25px !important;
}

/* padding */
.pR10 {
    padding-right: 10px !important;
}

.pR20 {
    padding-right: 20px !important;
}


/* sp display helper (sp.cssと連携) */
.sp-inline {
    display: none;
}

.sp-inlineBlock {
    display: none;
}

.sp-block {
    display: none;
}

.text_heading {
    padding-top: 15px;
    /*padding-bottom: 15px;*/
    vertical-align: middle;
    /*padding: 10px 15px;*/
    /*border-bottom: 1px solid #999;*/
    margin: 0 0 15px;
    font-weight: normal;
    font-size: 2em;
}

.review_logo {
    text-align: right;
}

.review_logo img {
    vertical-align: middle;
}

.review_text {
    display: inline-block;
    vertical-align: middle;
    font-family: sans-serif;
}

.arrow_right_before:before {
    display: inline-block;
    content: '';
    width: 0;
    height: 0;
    margin-right: 5px;
    position: relative;
    top: -1px;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #000000;
}

.arrow_right_after:after {
    display: inline-block;
    content: '';
    width: 0;
    height: 0;
    margin-left: 5px;
    position: relative;
    top: -1px;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #000000;
}

.el_button_bg {
    display: inline-block;
    padding: 10px;
    background: #f2f1eb;
}

.el_button--gold_shadow {
    display: inline-flex;
    width: 297px;
    height: 40px;
    font-size: 14px;
    justify-content: center;
    align-items: center;
    border: 1px solid #d6d3c1;
    background: -moz-linear-gradient(top, #ffffff 0%, #edece4 100%);
    background: -webkit-linear-gradient(top, #ffffff 0%, #edece4 100%);
    background: linear-gradient(to bottom, #ffffff 0%, #edece4 100%);
    border-radius: 4px;
    box-shadow: 0 0 9px -1px #e2e2e2;
    -moz-box-shadow: 0 0 9px -1px #e2e2e2;
    -webkit-box-shadow: 0 0 9px -1px #e2e2e2;
}

.el_button--gold_shadow:hover {
    text-decoration: none;
    opacity: 0.7;
}

.el_button--gold_shadow:before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 5px;
    margin: 1px 0.8em 0 0;
    background: url(/e/common/img/icon_link_01.gif) no-repeat 0 0;
}

.label_map {
    background-color: #faf8f2;
    color: #666;
    float: left;
    padding-top: 2px;
    text-align: center;
    width: 105px;
}

/*********************************************************************
*
*  <slick.css>
*
*********************************************************************/
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* slick theme
----------------------------------*/
/* Arrows */
.slick-prev,
.slick-next {
    margin: 0;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: transparent;
    outline: none;
    background: transparent;
}


/* Dots */
.slick-dots {
    display: table;
    padding: 0;
    margin: 0;
    list-style: none;
    overflow: hidden;
}

.slick-dots li {
    display: table-cell;
    padding-right: 5px;
    height: 19px;
    vertical-align: middle;
}

.slick-dots li button {
    display: block;
    margin: 0;
    padding: 0;
    width: 8px;
    height: 8px;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}


/*
 *
 * 20190829 縦長の予約フォーム - PC
 *
 */
.reserve_area .reserve_form .container .field {
    margin-top: 15px;
}

.reserve_area .reserve_form .container .field select {
    cursor: pointer;
}

.reserve_area .reserve_form .container .field.dates .selects {
    text-align: right;
}

.reserve_area .reserve_form .container .field.nights select,
.reserve_area .reserve_form .container .field.adults_select select,
.reserve_area .reserve_form .container .field.children_select select {
    width: 30%;
}

.reserve_area .reserve_form .container .submit_wrap {
    margin-top: 15px;
    position: relative;
}

.reserve_area .reserve_form .container .submit_wrap:after {
    background: url(/e/common/img/icon_link_01.gif) no-repeat right center;
    color: #000;
    content: '';
    display: block;
    height: 8px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
}

.reserve_area .reserve_form .container .submit_wrap .submit {
    background: rgb(255, 255, 255);
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(235, 235, 235, 1) 100%);
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(235, 235, 235, 1) 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(235, 235, 235, 1) 100%);
    border: 1px solid #ccc;
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ebebeb', GradientType=0);
    font-size: 14px;
    font-weight: normal;
    padding: 12px 0 10px;
    text-transform: uppercase;
    width: 100%;
}

.reserve_area .reserve_form .container .submit:hover {
    background: rgb(235, 235, 235);
    background: -moz-linear-gradient(top, rgba(235, 235, 235, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%);
    background: -webkit-linear-gradient(top, rgba(235, 235, 235, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%);
    background: linear-gradient(to bottom, rgba(235, 235, 235, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ebebeb', endColorstr='#ffffff', GradientType=0);
}

.reserve_area .reserve_form .container .link_txt {
    margin-top: 15px;
    text-align: center;
}

.reserve_area .reserve_form .container .link_txt .cancel {
    background: url(/e/common/img/icon_right_white_s.png) no-repeat 2px center;
    color: #fff;
    padding: 0 0 0 12px;
}


/*
 *
 * 20190829 縦長の予約フォーム - SP
 *
 */
@media screen and (max-width: 768px) {
    .reserve_area .reserve_form .container .field select {
        padding: 5px;
        width: 40%;
    }

    .js_touch_device .reserve_area .reserve_form .container .field select {
        background: #fff url(/e/common/img/icon_link_04.gif) no-repeat right 5px center;
        border: 2px solid #a9a9a9;
        border-radius: 0;
    }

    .reserve_area .reserve_form .container .field.dates .selects select:first-child,
    .reserve_area .reserve_form .container .field.dates .selects select:last-child {
        width: 25%;
    }
}


/*********************************************************************
*
*  </e/common/css/v2/base.css>
*
*********************************************************************/
.show_pc {
    display: block;
}

.show_sp {
    display: none;
}

/* 横並び */
.box_horizontal {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/* コンテンツ幅に合わせて中央寄せ */
.content_wrap {
    max-width: 920px;
    margin: 0 auto;
    width: 100%;
}

.content_wrap.adjust_width {
    max-width: 1100px;
}

/* アジア言語の英語サブテキスト */
.txt_sub_en {
    display: block;
    font-size: 10px;
    margin-top: 3px;
}

/* modal
---------------------------------------------------------- */
.area_modal_content {
    background: rgba(35, 34, 50, 0.9);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    display: none;
    max-height: 90%;
    max-width: 920px;
    overflow: auto;
    text-align: center;
    width: 100%;
    /* 予約システムカレンダー */
}

.area_modal_content::-webkit-scrollbar {
    display: none;
}

.area_modal_content .modal_inner {
    border: 1px solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: calc(100% - 10px);
    margin: 5px;
    padding: 80px 60px 67px;
    width: calc(100% - 10px);
}

.area_modal_content .btn_modal_close_white {
    background: url(/e/common/img/v2/icon_close_white.png) no-repeat top left;
    background-size: 14px 14px;
    height: 14px;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 14px;
    z-index: 10020;
}

.area_modal_content .btn_modal_close_black {
    background: url(/e/common/img/v2/icon_close_black.png) no-repeat top left;
    background-size: 14px 14px;
    height: 14px;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 14px;
    z-index: 10020;
}

.area_modal_content .modal_content_ttl {
    font-size: 20px;
    margin-bottom: 60px;
}

.area_modal_content .modal_content_area {
    font-size: 16px;
}

.area_modal_content#dynamicCalender {
    background: #fff;
    color: #333;
    padding: 0;
}

.area_modal_content#dynamicCalender .modal_inner {
    border: 0;
    height: 100%;
    margin: 0;
    overflow-y: auto;
    padding: 0;
    width: 100%;
}

.area_modal_content#dynamicCalender .fbw-calendar--title {
    padding-top: 20px;
}

.area_modal_content#dynamicCalender .config--child select {
    width: 39.79%;
}

.area_modal_content#dynamicCalender .next {
    padding: 0;
}

.area_modal_content#dynamicCalender .next .next--button {
    padding: 12px 10px;
}

.area_modal_content#dynamicCalender .modal_content_ttl {
    font-family: serif;
    font-size: 30px;
    font-weight: bold;
    margin: 0 0 40px;
    padding-top: 20px;
    text-align: center;
}

.area_modal_content#dynamicCalender .combi_reserve {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 20px 20px;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here {
    width: 50%;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker {
    border: 0;
    font-family: Open Sans, Avenir, Helvetica, Arial, sans-serif;
    width: 90%;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--nav {
    border-bottom: 0;
    margin: 0 0 5px;
    min-height: unset;
    padding: 0;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--nav .datepicker--nav-action path {
    stroke: #a08348;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--nav .datepicker--nav-title {
    color: #a08348;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--nav .datepicker--nav-title i {
    color: #a08348;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content {
    padding: 0;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--days-names {
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    margin: 0;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--days-names .datepicker--day-name {
    color: #333;
    font-size: 14px;
    font-weight: bold;
    padding: 10px 0;
    text-transform: capitalize;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day {
    border-radius: 0;
    font-size: 14px;
    font-weight: bold;
    height: auto;
    padding: 10px 0;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-current- {
    color: #333;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-range-from-, .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-range-to-, .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-selected-, .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-focus- {
    background: #a08348;
    border: none;
    color: #333;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-in-range- {
    background: rgba(160, 131, 72, 0.8);
    color: #333;
}

.area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker .datepicker--content .datepicker--cell-day.-range-to- {
    border: 0;
    border-radius: 0;
}

.area_modal_content#dynamicCalender .combi_reserve > div:last-child {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    min-height: 340px;
    width: 50%;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #333;
    display: block;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    padding: 0;
    position: relative;
    width: 90%;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .field {
    margin-bottom: 20px;
    text-align: left;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .field label {
    font-weight: bold;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .field div {
    text-align: right;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .field.checkin div,
.area_modal_content#dynamicCalender .combi_reserve .fbqs .field.nights div {
    padding-right: 25px;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .hotel_select::after {
    content: none;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area {
    position: relative;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area label {
    cursor: auto;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area .select_label {
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1;
    padding: 3px 25px 3px 0;
    position: absolute;
    right: 0;
    text-align: right;
    width: 100%;
    z-index: 2;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area .select_label::after {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-color: #333;
    border-right-style: solid;
    border-right-width: 1px;
    bottom: 10px;
    content: '';
    display: inline-block;
    height: 10px;
    position: absolute;
    right: 3px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 10px;
    z-index: 1;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    color: #333;
    display: block;
    font-size: 13px;
    margin-left: auto;
    opacity: 0;
    padding-right: 25px;
    position: relative;
    width: 65%;
    z-index: 3;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .select_area select:focus {
    outline: none;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .submit {
    background-image: none;
    background: #a08348;
    border: 0;
    border-radius: 0;
    bottom: 0;
    color: #333;
    font-size: 14px;
    height: 44px;
    right: 0;
    letter-spacing: .2em;
    line-height: 44px;
    position: absolute;
    text-transform: uppercase;
    width: 160px;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .submit:hover {
    opacity: .7;
}

.area_modal_content#dynamicCalender .combi_reserve .fbqs .submit:focus {
    outline: none;
}

/* 基本header
---------------------------------------------------------- */
header {
    background: #7f7f7f !important;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 10px;
    letter-spacing: .2em;
    line-height: 1.5;
    /* サイトロゴ */
    /* 予約ボタン */
    /* ロゴ上のナビ */
    /* 追従ナビ */
    /* 総合TOPで使用しているnav */
    /* 要素の少ないheader */
    /* ナビのcurrentカラー */
}

header .logo_main {
    display: block !important;
    line-height: 1;
    padding: 30px 0;
    text-align: center;
}

header .logo_main.logo_kamikochi {
    padding: 15px 0;
}

header .logo_main a {
    display: inline-block;
}

header .logo_main a:hover {
    text-decoration: none;
}

header .widgets--wrapper {
    font-family: Avenir, arial, "Helvetica Neue", sans-serif;
}

header .widgets--wrapper .show-modal {
    background: transparent !important;
    color: #fff !important;
    min-width: auto;
    padding: 0;
}

header .widgets--wrapper .show-modal:hover {
    color: #000 !important;
}

header .site_header--nav {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    padding: 15px 20px 0;
    text-align: center;
    width: 100%;
    /* 言語変更 */
}

header .site_header--nav a {
    color: #fff;
}

header .site_header--nav a:hover {
    color: #000;
    text-decoration: none;
}

header .site_header--nav .site_header--nav--language {
    /* toggleメニュー */
}

header .site_header--nav .site_header--nav--language.js_show_wrap {
    position: relative;
    /* toggleメニュー - 開くボタン */
    /* toggleメニュー - コンテンツ */
}

header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_trigger {
    cursor: pointer;
    display: inline-block;
    line-height: 1;
    padding-right: 18px;
    position: relative;
    -webkit-transition: color .3s;
    -o-transition: color .3s;
    transition: color .3s;
}

header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_trigger::after {
    content: '▼';
    font-size: 10px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(0deg);
    -ms-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    -o-transition: transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    right: 0;
}

header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_trigger:hover {
    color: #000;
    text-decoration: none;
}

header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_trigger.js_is_show::after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_target {
    display: none;
    left: 0;
    position: absolute;
    width: 135px;
    z-index: 10000;
}

header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap {
    background: rgba(127, 127, 127, 0.8);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 20px 20px;
}

header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap li {
    font-size: 16px;
    margin-top: 20px;
}

header .site_header--nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap li:first-child {
    margin-top: 0;
}

header .site_header--follow_nav {
    background: rgba(153, 153, 153, 1);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 40;
    /* hover menu */
    /* MENU */
    /* 言語変更 */
    /* 追従時 */
}

header .site_header--follow_nav .is_fixed_hide {
    display: block;
}

header .site_header--follow_nav .is_fixed_show {
    display: none;
}

header .site_header--follow_nav a {
    color: #fff;
}

header .site_header--follow_nav a:hover {
    color: #000;
    text-decoration: none;
}

header .site_header--follow_nav .site_header--nav--item--name {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    display: block;
    padding: 15px 0;
}

header .site_header--follow_nav .site_header--nav--item--name:hover {
    color: #000;
}

header .site_header--follow_nav .js_hover_wrap {
    position: relative;
}

header .site_header--follow_nav .js_hover_wrap .js_hover_content {
    background: rgba(127, 127, 127, 0.8);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: none;
    font-size: 14px;
    left: 50%;
    padding: 10px 20px 20px;
    position: absolute;
    text-align: center;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 350px;
    z-index: 1000;
}

header .site_header--follow_nav .js_hover_wrap .js_hover_content li {
    margin-bottom: 20px;
}

header .site_header--follow_nav .js_hover_wrap .js_hover_content li:last-child {
    margin-bottom: 0;
}

header .site_header--follow_nav .js_hover_wrap .js_hover_content li .txt_sub_en {
    display: inline-block;
    margin-left: 10px;
}

header .site_header--follow_nav .site_header--nav--main_menu {
    position: relative;
    /* toggleメニュー */
}

header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap {
    /* toggleメニュー - 開くボタン */
    /* toggleメニュー - コンテンツ */
}

header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_trigger {
    cursor: pointer;
    display: inline-block;
    line-height: 1;
    -webkit-transition: color .3s;
    -o-transition: color .3s;
    transition: color .3s;
}

header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_trigger:hover {
    color: #000;
}

header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target {
    display: none;
    right: 0;
    position: absolute;
    width: 425px;
    z-index: 1000;
}

header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap {
    background: rgba(127, 127, 127, 0.8);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 35px 42px;
}

header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li {
    margin-top: 20px;
}

header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li:first-child {
    margin-top: 0;
}

header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li a:hover {
    color: #000 !important;
}

header .site_header--follow_nav .site_header--nav--language {
    /* toggleメニュー */
}

header .site_header--follow_nav .site_header--nav--language.js_show_wrap {
    position: relative;
    /* toggleメニュー - 開くボタン */
    /* toggleメニュー - コンテンツ */
}

header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_trigger {
    cursor: pointer;
    display: inline-block;
    line-height: 1;
    padding-right: 18px;
    position: relative;
    -webkit-transition: color .3s;
    -o-transition: color .3s;
    transition: color .3s;
}

header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_trigger::after {
    content: '▼';
    font-size: 10px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(0deg);
    -ms-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    -o-transition: transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    right: 0;
}

header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_trigger:hover {
    color: #000;
}

header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_trigger.js_is_show::after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_target {
    display: none;
    left: 0;
    position: absolute;
    width: 135px;
    z-index: 1000;
}

header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap {
    background: rgba(127, 127, 127, 0.8);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 20px 20px;
}

header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap li {
    font-size: 16px;
    margin-top: 20px;
}

header .site_header--follow_nav .site_header--nav--language.js_show_wrap .js_show_target .hide_menu_wrap li:first-child {
    margin-top: 0;
}

header .site_header--follow_nav.js_nav_is_fixed {
    background: #7f7f7f;
    background: -webkit-gradient(linear, left top, right top, from(rgba(127, 127, 127, 0.84)), color-stop(50%, rgba(127, 127, 127, 0.84)), to(rgba(1, 1, 1, 0.84)));
    background: -o-linear-gradient(left, rgba(127, 127, 127, 0.84) 0%, rgba(127, 127, 127, 0.84) 50%, rgba(1, 1, 1, 0.84) 100%);
    background: linear-gradient(to right, rgba(127, 127, 127, 0.84) 0%, rgba(127, 127, 127, 0.84) 50%, rgba(1, 1, 1, 0.84) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7f7f7f', endColorstr='#010101', GradientType=1);
    left: 0;
    padding: 0 20px;
    position: fixed;
    top: 0;
}

header .site_header--follow_nav.js_nav_is_fixed .is_fixed_hide {
    display: none;
}

header .site_header--follow_nav.js_nav_is_fixed .is_fixed_show {
    display: block;
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

header .site_header--follow_nav.js_nav_is_fixed .show_pc .box_horizontal {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

header .site_header--follow_nav.js_nav_is_fixed .show_pc .box_horizontal .site_header--nav--item {
    margin-right: 28px;
}

header .site_header--follow_nav.js_nav_is_fixed .show_pc .box_horizontal .site_header--nav--item:last-child {
    margin-right: 0;
}

header .type_overall {
    /* サイトロゴ */
}

header .type_overall .logo_main {
    padding: 30px 0 0;
}

header .type_overall .site_header--follow_nav {
    background: #7f7f7f;
    padding: 15px 20px;
    /* MENU */
    /* 言語変更 */
    /* 追従時 */
}

header .type_overall .site_header--follow_nav .site_header--nav--item:first-child {
    margin-right: auto;
}

header .type_overall .site_header--follow_nav .site_header--nav--item:last-child {
    margin-left: 25px;
}

header .type_overall .site_header--follow_nav .site_header--nav--main_menu {
    position: static;
}

header .type_overall .site_header--follow_nav .site_header--nav--language {
    position: static;
}

header .type_overall .site_header--follow_nav.js_nav_is_fixed {
    background: #7f7f7f;
}

header .type_simple {
    /* サイトロゴ */
}

header .type_simple .logo_main {
    padding: 30px 0;
}

header .type_simple .logo_main.logo_kamikochi {
    padding: 15px 0;
}

header .type_simple .site_header--follow_nav {
    background: #7f7f7f;
    padding: 15px 20px;
    /* MENU */
    /* 言語変更 */
    /* 追従時 */
}

header .type_simple .site_header--follow_nav .site_header--nav--item {
    margin-left: 82px;
}

header .type_simple .site_header--follow_nav .site_header--nav--item:first-child {
    margin-left: 0;
    margin-right: auto;
}

header .type_simple .site_header--follow_nav .site_header--nav--item a:hover {
    text-decoration: none;
}

header .type_simple .site_header--follow_nav .site_header--nav--main_menu {
    position: static;
}

header .type_simple .site_header--follow_nav .site_header--nav--language {
    position: static;
}

header .type_simple .site_header--follow_nav.js_nav_is_fixed {
    background: #7f7f7f;
}

header .js_is_current {
    color: #505050 !important;
}

/* 既存ページでなぜかネガティブマージンかかってたのでトリ
---------------------------------------------------------- */
article {
    margin-top: 0;
}

/* footer
---------------------------------------------------------- */
footer {
    background: #7f7f7f;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-size: 10px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: .2em;
    line-height: 1.5;
    padding: 27px 0 17px;
    /* copyright */
}

footer a {
    color: #fff;
}

footer a:hover {
    color: #000;
    text-decoration: none;
}

footer .site_footer--nav {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 920px;
    padding: 0 0 44px;
    text-align: center;
}

footer .site_footer--nav > * {
    width: 100%;
}

footer .site_footer--nav > *:nth-of-type(2) {
    margin: 0 6%;
}

footer .site_footer--nav .site_footer--nav--genre_name {
    font-size: 18px;
    line-height: 1;
    margin-bottom: 24px;
    pointer-events: none;
}

footer .site_footer--nav .site_footer--nav--genre_item {
    background: none;
    display: block;
    font-size: 14px;
    line-height: 1;
    padding: 0;
}

footer .site_footer--nav .site_footer--nav--genre_item li {
    margin-bottom: 20px;
}

footer .site_footer--nav .site_footer--nav--genre_item li:last-child {
    margin-bottom: 0;
}

footer aside {
    text-align: center;
}

footer aside .site_footer--sub_link {
    display: inline-block;
    margin-bottom: 45px;
    margin-left: 16px;
    text-align: center;
    vertical-align: middle;
    /* TripAdvisor */
}

footer aside .site_footer--sub_link:first-child {
    margin-left: 0;
}

footer aside .site_footer--sub_link li {
    display: inline-block;
    margin-left: 16px;
    vertical-align: middle;
}

footer aside .site_footer--sub_link li:first-child {
    margin-left: 0;
}

footer aside .site_footer--sub_link .btn_mail,
footer aside .site_footer--sub_link .btn_sns_facebook,
footer aside .site_footer--sub_link .btn_sns_instagram {
    width: 29px;
}

footer aside .site_footer--sub_link .TA_socialButtonIcon > img {
    display: none;
}

footer aside .site_footer--sub_link .TA_socialButtonIcon .socialWidgetContainer {
    line-height: 1;
}

footer aside .site_footer--sub_link .TA_socialButtonIcon .socialWidgetContainer .socialWidgetCore img {
    width: 29px;
}

footer aside .site_footer--sub_link .btn_lhw {
    width: 61px;
}

footer aside .site_footer--sub_link .btn_etg,
footer aside .site_footer--sub_link .btn_stn,
footer aside .site_footer--sub_link .btn_tls,
footer aside .site_footer--sub_link .btn_tm {
    width: 66px;
}

footer address {
    border: none;
    font-size: 14px !important;
    letter-spacing: .12em;
    padding: 0;
    text-align: center;
}

footer address a {
    pointer-events: none;
}

footer .txt_copyright {
    font-size: 13px;
    margin-top: 17px;
    text-align: center;
}

/* SP
---------------------------------------------------------- */
@media screen and (max-width: 768px) {
    .show_pc {
        display: none;
    }

    .show_sp {
        display: block;
    }

    /* modal */
    .area_modal_content {
        padding: 40px 30px 33px;
        width: 96%;
        /* 予約システムカレンダー */
    }

    .area_modal_content#dynamicCalender {
        max-height: 85%;
    }

    .area_modal_content#dynamicCalender .modal_inner {
        width: auto;
    }

    .area_modal_content#dynamicCalender select {
        font-size: 16px;
    }

    .area_modal_content#dynamicCalender .fbw-calendar--container,
    .area_modal_content#dynamicCalender .fbw-calendar,
    .area_modal_content#dynamicCalender .fbw-calendar--month-bloc {
        width: auto;
    }

    .area_modal_content#dynamicCalender .modal_content_ttl {
        font-size: 26px;
    }

    .area_modal_content#dynamicCalender .combi_reserve {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 10px 10px;
    }

    .area_modal_content#dynamicCalender .combi_reserve .datepicker-here {
        margin-bottom: 30px;
        width: 100%;
    }

    .area_modal_content#dynamicCalender .combi_reserve .datepicker-here .datepicker {
        width: 100%;
    }

    .area_modal_content#dynamicCalender .combi_reserve > div:last-child {
        width: 100%;
    }

    .area_modal_content#dynamicCalender .combi_reserve .fbqs {
        width: 100%;
    }

    .area_modal_content#dynamicCalender .combi_reserve .fbqs .hotel_select .select_area select {
        width: 72%;
    }

    .area_modal_content#dynamicCalender .combi_reserve .fbqs .submit {
        color: #000;
        position: static;
        width: 100%;
    }

    /* 基本header
    ---------------------------------------------------------- */
    header {
        /* サイトロゴ */
        /* ロゴ上のナビ */
        /* 追従ナビ */
        /* 総合TOPで使用しているnav */
        /* 要素の少ないheader */
    }

    header .logo_main {
        padding: 10px 0 11px;
    }

    header .logo_main.logo_kamikochi {
        padding: 10px 0 0;
    }

    header .logo_main a {
        width: 142px;
    }

    header .site_header--nav {
        font-size: 150%;
        padding: 13px 15px;
        /* MENU */
    }

    header .site_header--nav .site_header--nav--main_menu {
        /* toggleメニュー */
    }

    header .site_header--nav .site_header--nav--main_menu.js_show_wrap {
        /* toggleメニュー - 開くボタン */
    }

    header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target {
        top: 134px;
        width: 100%;
    }

    header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li {
        margin-top: 24px;
    }

    header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap {
        margin-top: 60px;
    }

    header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap .site_header--nav--main_menu--lang_wrap--lst {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    header .site_header--nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap .site_header--nav--main_menu--lang_wrap--lst li {
        margin-top: 20px;
        width: 50%;
    }

    header .site_header--follow_nav {
        background: #7f7f7f;
        font-size: 150%;
        padding: 15px;
        /* MENU */
        /* 基本ナビの追従時 */
    }

    header .site_header--follow_nav a {
        padding: 0;
    }

    header .site_header--follow_nav .site_header--nav--main_menu {
        position: unset;
        /* toggleメニュー */
    }

    header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap {
        /* toggleメニュー - 開くボタン */
    }

    header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target {
        width: 100%;
    }

    header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap {
        padding: 10.67% 2.67%;
    }

    header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li {
        margin-top: 24px;
    }

    header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap {
        margin-top: 60px;
    }

    header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap .site_header--nav--main_menu--lang_wrap--lst {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    header .site_header--follow_nav .site_header--nav--main_menu.js_show_wrap .js_show_target .hide_menu_wrap li.site_header--nav--main_menu--lang_wrap .site_header--nav--main_menu--lang_wrap--lst li {
        margin-top: 20px;
        width: 50%;
    }

    header .site_header--follow_nav.js_nav_is_fixed {
        background: #7f7f7f;
        padding: 15px;
    }

    header .type_overall .site_header--follow_nav {
        font-size: 150%;
        padding: 14px;
        /* MENU */
        /* 総合TOPで使用しているnavの追従時 */
    }

    header .type_overall .site_header--follow_nav .site_header--nav--item:first-child {
        margin-right: 0;
    }

    header .type_overall .site_header--follow_nav .site_header--nav--item:last-child {
        margin-left: 0;
    }

    header .type_overall .site_header--follow_nav .site_header--nav--main_menu {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
    }

    header .type_overall .site_header--follow_nav.js_nav_is_fixed {
        padding: 14px;
    }

    header .type_simple .site_header--follow_nav {
        font-size: 150%;
        padding: 14px;
        /* MENU */
    }

    header .type_simple .site_header--follow_nav .site_header--nav--item:first-child {
        margin-right: 0;
    }

    header .type_simple .site_header--follow_nav .site_header--nav--item:last-child {
        margin-left: 0;
    }

    header .type_simple .site_header--follow_nav .site_header--nav--main_menu {
        margin-left: 0;
    }

    /* footer
    ---------------------------------------------------------- */
    footer .site_footer--nav {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 20px 44px;
    }

    footer .site_footer--nav .site_footer--nav--genre_name {
        font-size: 160%;
        margin-bottom: 12.14%;
        pointer-events: unset;
        position: relative;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s;
    }

    footer .site_footer--nav .site_footer--nav--genre_name::after {
        content: '▼';
        font-size: 70%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(0deg);
        -ms-transform: translateY(-50%) rotate(0deg);
        transform: translateY(-50%) rotate(0deg);
        -webkit-transform-origin: center;
        -ms-transform-origin: center;
        transform-origin: center;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s;
        right: 0;
    }

    footer .site_footer--nav .site_footer--nav--genre_item {
        border: none;
        display: none;
        font-size: 140%;
        margin: 0;
    }

    footer .site_footer--nav .site_footer--nav--genre_item li {
        border: none;
        margin-bottom: 12.14%;
        float: none;
        width: 100%;
    }

    footer .site_footer--nav .site_footer--nav--genre_item li::after {
        content: none;
    }

    footer .site_footer--nav .site_footer--nav--genre_item li:last-child {
        margin-bottom: 14.29%;
    }

    footer .site_footer--nav .site_footer--nav--genre_item li a::after {
        content: none;
    }

    footer .site_footer--nav .js_is_open .site_footer--nav--genre_name::after {
        -webkit-transform: translateY(-50%) rotate(-180deg);
        -ms-transform: translateY(-50%) rotate(-180deg);
        transform: translateY(-50%) rotate(-180deg);
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s;
        right: 0;
    }

    footer aside .site_footer--sub_link {
        display: block;
        margin-bottom: 15px;
        margin-left: 0;
    }

    footer aside .site_footer--sub_link:last-child {
        margin-bottom: 45px;
    }

    footer address {
        font-size: 140% !important;
        width: 100%;
    }

    footer address::before {
        content: none;
    }

    footer address a {
        pointer-events: auto;
    }
}

/* レスポンシブじゃないページ用
 * bodyに下記のclassを付与
---------------------------------------------------------- */
body.not_responsive {
    /* header */
    /* footer */
}

body.not_responsive .show_pc {
    display: block;
}

body.not_responsive .show_sp {
    display: none;
}

body.not_responsive header {
    min-width: 920px;
    width: 100%;
}

body.not_responsive header .logo_main {
    padding: 30px 0;
}

body.not_responsive header .logo_main.logo_kamikochi {
    padding: 15px 0;
}

body.not_responsive header .site_header--follow_nav {
    background: #999999;
    font-size: 16px;
    padding: 0;
}

body.not_responsive header .site_header--follow_nav.js_nav_is_fixed {
    background: #7f7f7f;
    background: -webkit-gradient(linear, left top, right top, from(rgba(127, 127, 127, 0.84)), color-stop(50%, rgba(127, 127, 127, 0.84)), to(rgba(1, 1, 1, 0.84)));
    background: -o-linear-gradient(left, rgba(127, 127, 127, 0.84) 0%, rgba(127, 127, 127, 0.84) 50%, rgba(1, 1, 1, 0.84) 100%);
    background: linear-gradient(to right, rgba(127, 127, 127, 0.84) 0%, rgba(127, 127, 127, 0.84) 50%, rgba(1, 1, 1, 0.84) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7f7f7f', endColorstr='#010101', GradientType=1);
}

body.not_responsive header .type_simple .site_header--follow_nav {
    background: #7f7f7f;
    padding: 15px 20px;
}

body.not_responsive header .type_simple .site_header--follow_nav .site_header--nav--item:first-child {
    margin-right: auto;
}

body.not_responsive header .type_simple .site_header--follow_nav .site_header--nav--item:last-child {
    margin-left: 82px;
}

body.not_responsive header .site_header--nav {
    font-size: 16px;
    padding: 15px 20px 0;
}

body.not_responsive footer {
    min-width: 920px;
    text-align: left;
    width: 100%;
}

body.not_responsive footer .site_footer--nav {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding: 0 0 44px;
}

body.not_responsive footer .site_footer--nav .site_footer--nav--genre_name {
    font-size: 18px;
    margin-bottom: 24px;
    pointer-events: none;
}

body.not_responsive footer .site_footer--nav .site_footer--nav--genre_name::after {
    content: none;
}

body.not_responsive footer .site_footer--nav .site_footer--nav--genre_item {
    display: block !important;
    font-size: 14px;
}

body.not_responsive footer .site_footer--nav .site_footer--nav--genre_item li {
    margin-bottom: 20px;
}

body.not_responsive footer .site_footer--nav .site_footer--nav--genre_item li:last-child {
    margin-bottom: 0;
}

body.not_responsive footer aside .site_footer--sub_link {
    display: inline-block;
    margin-bottom: 45px;
}

body.not_responsive footer aside .site_footer--sub_link:last-child {
    margin-left: 16px;
}

body.not_responsive footer address {
    font-size: 14px;
}

/* 非レスポンシブページかつ、ウィンドウ幅が小さいとき
---------------------------------------------------------- */
@media screen and (max-width: 600px) {
    .not_responsive header .type_simple .site_header--follow_nav.js_nav_is_fixed .site_header--nav--item {
        margin-left: auto;
    }
}

/* ----- タップイベント実装デバイス向け ----- */
.js_touch_device {
    /* nav  */
}

.js_touch_device .touch_device_none {
    display: none;
}

.js_touch_device header .site_header--follow_nav .js_hover_content {
    font-size: 13px;
}

/* ----- header, footer差し替えページ用 既存cssのoverrideまとめ ----- */
header {
    position: unset;
    z-index: unset !important;
}

footer {
    background: #7f7f7f !important;
}

footer li a {
    color: #fff !important;
}

footer li a:hover {
    color: #000 !important;
    text-decoration: none !important;
}

footer address {
    border-bottom: none !important;
    display: block !important;
}

footer address a:hover {
    text-decoration: none !important;
}

@media screen and (max-width: 768px) {
    header {
        background: #7f7f7f !important;
        padding-top: 0 !important;
    }

    header::before, header::after {
        content: none !important;
    }

    footer {
        padding: 27px 0 17px !important;
    }

    footer address {
        text-align: center !important;
    }

    footer address::before {
        content: none !important;
    }
}

/* ----- 20210510 add ----- */
footer aside .site_footer--sub_link .btn_gbac {
    display: block;
    width: 50px;
}

footer aside .site_footer--sub_link #tripadvisor {
    position: relative;
    width: 32px;
}

footer aside .site_footer--sub_link #tripadvisor img {
    bottom: 0;
    left: 0;
    margin: auto;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
}

footer aside .site_footer--sub_link #tripadvisor .socialWidgetCore {
    position: relative;
}

/* ----- 20210803 add ----- */
header .site_header--nav .site_header--nav--language a.js_is_current {
    color: #fff !important;
}

.headingH2,
.headingH2-kamikochi,
.headingH2-osaka,
.headingH2-tokyo-limousine {
    position: relative;
    padding: 0 0 15px;
    margin-bottom: 25px;
}

.headingH2-tokyo-limousine {
    margin-bottom: 0;
    padding: 20px;
}

.headingH2-osaka {
    padding: 80px 0 50px 0;
    margin-bottom: 0;
}

.headingH2:after,
.headingH2-kamikochi:after,
.headingH2-osaka:after,
.headingH2-tokyo-limousine:after {
    content: "";
    width: 70px;
    border-top: 5px solid #000;
    position: absolute;
    bottom: 0;
    left: calc(50% - 35px);
}

.headingH2-kamikochi:after {
    border-color: #3b6f5d;
}

.headingH2-tokyo-limousine:after {
    border-color: #09166a;
    width: 98px;
    left: calc(50% - 50px);
}

.headingH2-osaka:after {
    content: none;
}

.headingH2_label,
.headingH2-kamikochi_label,
.headingH2-osaka_label,
.headingH2-tokyo_label,
.headingH2-tokyo-limousine_label {
    font-family: "Palatino Linotype", Palatino, serif;
    font-size: 38px;
    font-weight: normal;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: #000;
    padding: 0;
    line-height: 1.25;
}

.headingH2-kamikochi_label {
    color: #1b4436;
}

.headingH2-tokyo-limousine_label {
    color: #fff;
    font-size: 35px;
}

.headingH2-tokyo-limousine_label.lable_color {
    color: #816b3e;
}

.headingH2-osaka_label,
.headingH2-tokyo_label {
    text-transform: unset;
    background: -webkit-linear-gradient(#875e08, #ac925a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 1px;
    font-size: 37px;
}

.headingH2-tokyo_label {
    font-size: 45px;
    background: -webkit-linear-gradient(#2e1909, #815938);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 500;
    padding: 0 20px 20px;
}

.headingH2-tokyo_label.h2_02 {
    font-size: 55px;
    padding: 0 0 50px;
}

.headingH2_label .txt-large,
.headingH2-kamikochi_label .txt-large,
.headingH2-osaka_label .txt-large,
.headingH2-tokyo_label .txt-large,
.headingH2-tokyo-limousine_label .txt-large {
    font-size: 120%;

}

.headingH3,
.headingH3-kamikochi {
    position: relative;
    padding: 0 0 10px;
    margin-bottom: 20px;
}

.headingH3-tokyo {
    text-align: center;
}

.headingH3:after,
.headingH3-kamikochi:after {
    content: "";
    width: 70px;
    border-top: 1px solid #3b6f5d;
    position: absolute;
    bottom: 0;
    left: calc(50% - 35px);
}

.headingH3.is-linenone,
.headingH3-kamikochi.is-linenone {
    margin-bottom: 0;
}

.headingH3.is-linenone:after,
.headingH3-kamikochi.is-linenone:after {
    display: none;
}

.headingH3_label,
.headingH3-kamikochi_label,
.headingH3-tokyo_label,
.headingH3-tokyo-limousine_label {
    font-family: "Palatino Linotype", Palatino, serif;
    font-size: 28px;
    font-weight: normal;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #000;
    padding: 0;
    line-height: 1.25;
}

.headingH3-tokyo_label {
    text-transform: unset;
    font-size: 37px;
    background: -webkit-linear-gradient(#2e1909, #815938);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding: 0 0 50px;
}

.headingH1-kamikochi_label,
.headingH3-kamikochi_label {
    color: #1b4436;
}

.headingH3-tokyo-limousine_label {
    font-size: 24px;
    color: #7e6839;
    letter-spacing: 2.5px;
}

.headingH3_label .txt-large,
.headingH3-kamikochi_label .txt-large,
.headingH3-tokyo_label .txt-large,
.headingH3-tokyo-limousine_label .txt-large {
    font-size: 120%;
}

.text01 {
    margin-bottom: 30px;
}

.local_pagenav_kamochi > ul li a {
    color: #eff3f2;
    font-family: "Palatino Linotype", Palatino, serif;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1.5px;
}

.local_pagenav_kamochi ul li a span {
    font-size: 110%;
}

.local_snoopy ul li {
    width: 25% !important;
}

.local_snoopy ul li a {
    color: #dfd7cc;
    font-size: 18px;
    letter-spacing: 1px;
}

.local_snoopy ul li a span {
    font-size: 13px;
    display: block;
}

.local_snoopy > ul li a span em {
    font-style: italic !important;
}

.local_stay_option ul li,
.local_imperial_floor ul li,
.local_suite ul li {
    text-align: left !important;
    padding: 0 0 0 30px;
}

.local_imperial_floor ul li,
.local_suite ul li {
    text-align: center !important;
}

.local_stay_option ul li a,
.local_imperial_floor ul li a,
.local_suite ul li a,
.local-limousine ul li a {
    font-size: 21px !important;
    color: #fff;
    position: relative;
    line-height: 1.2;
    font-family: "Palatino Linotype", Palatino, serif;
}

.local_suite ul li a {
    font-size: 23px;
}

.local-limousine ul li a {
    text-transform: uppercase;
    font-size: 15px !important;
    letter-spacing: 2px !important;
}

.local_imperial_floor ul li:hover a {
    opacity: 0.7;
}

.local_stay_option ul li a::before,
.local_imperial_floor ul li a::before,
.local_suite ul li a::before {
    position: absolute;
    content: "";
    width: 0px;
    height: 0px;
    top: 60%;
    transform: translateY(-60%);
    border-left: 4px solid transparent;
    border-top: 7px solid #fff;
    border-bottom: 4px solid transparent;
    border-right: 4px solid transparent;
}

.local_imperial_floor ul li a::before,
.local_imperial_floor ul li a::after {
    right: -30px;
}

.local_suite ul li a::before,
.local_suite ul li a::after {
    right: -50px;
}

.local_stay_option ul li a::after,
.local_imperial_floor ul li a::after,
.local_suite ul li a::after {
    position: absolute;
    content: "";
    width: 8px;
    height: 1px;
    top: 63%;
    background-color: #fff;
}

.local_stay_option ul li:nth-child(1) a::after,
.local_stay_option ul li:nth-child(1) a::before {
    right: -50px;
}

.local_stay_option ul li:nth-child(2) a::after,
.local_stay_option ul li:nth-child(2) a::before {
    right: -40px;
}

.local_stay_option ul li:nth-child(3) a::after,
.local_stay_option ul li:nth-child(3) a::before {
    right: -100px;
}

.local_stay_option ul li:nth-child(4) a::after,
.local_stay_option ul li:nth-child(4) a::before {
    right: -60px;
}

.local_stay_option ul li:nth-child(1) a::after,
.local_stay_option ul li:nth-child(4) a::after {
    top: 68%;
}

.local_pagenav_tokyo {
    position: relative;
    padding-top: 9.5px;
}

.local_pagenav_tokyo::after {
    position: absolute;
    content: "";
    background: url("/e/tokyo/special/suite/img/bg_pagenav_pc.jpg") repeat center;
    height: 67px;
    width: 100%;
    background-size: cover;
    top: 0;
    z-index: -1;
}
.local_pagenav_tokyo_02::after {
    height: 66px;
    background: url("/e/osaka/special/suite/img/bg_pagenav_pc.jpg") repeat center;
    background-size: cover;
}

.local_pagenav_tokyo_02 {
    height: auto;
    padding-top: 15px;
}
.local_pagenav_osaka {
    position: relative;
    padding-top: 10.5px;
}

.local_pagenav_osaka:after {
    position: absolute;
    content: "";
    background: url("/e/osaka/special/stay_option/img/h1_sp_bg.jpg") no-repeat center;
    height: 99px;
    background-size: cover;
    top: 0;
    width: 100%;
    z-index: -1;
}

.local_pagenav_limousine {
    position: relative;
}

.local_pagenav_limousine:after {
    content: "";
    position: absolute;
    background: url("/e/tokyo/common/img/h1_limousine_sp_bg.jpg") repeat center;
    height: 77px;
    width: 100%;
    z-index: -1;
    background-size: cover;
    top: 0;
}

.local_pagenav_limousine_02 {
    height: auto;
    padding-top: 17px;
}
.local_pagenav_limousine_02:after{
    background: url("/e/tokyo/stay/img/h1_sp_dining.jpg") repeat center;
    background-size: cover;
}

.local_pagenav_kamikochi {
    background-color: #35705c;
    box-shadow: 0px 3px 5px rgb(0 0 0 / 25%);
}

.local_pagenav_tokyo h1,
.local_pagenav_osaka h1,
.local_pagenav_limousine h1 {
    line-height: 61px;
    text-align: center;
    color: #fff;
    font-weight: normal;
    font-family: "Palatino Linotype", Palatino, serif;
    font-size: 21px;
    position: relative;
    box-shadow: none;
    font-size: 5vw;
}

.local_pagenav_tokyo h1 {
    line-height: normal;
    height: 56px;
}

.local_pagenav_tokyo_02 h1 {
    height: auto;
    padding-bottom: 19px;
}

.local_pagenav_kamikochi h1,
.local_pagenav_limousine h1 {
    height: auto;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 20px!important;
    font-size: 5vw!important;
}

.local_pagenav_osaka h1,
.local_pagenav_limousine h1 {
    line-height: 1.3;
    box-shadow: none !important;
    font-size: 26px;
    height: 80.5px;
}

.local_pagenav_osaka h1 {
    font-size: 25px;
    height: auto;
    padding-bottom: 14.5px;
    font-size: 6.7vw;
}

.local_pagenav_limousine_02 h1 {
    font-size: 12.5px !important;
    height: auto !important;
    padding-bottom: 15px;
    line-height: 1.45;
    letter-spacing: 1.5px;
}

.local_pagenav_limousine h1 .txt-large,
.local_pagenav_kamikochi h1 .txt-large,
.local_pagenav_tokyo h1 .txt-large {
    font-size: 125%;
}

.local_pagenav_kamikochi h1 {
    color: #fff;
    text-align: center;
    font-weight: normal;
    padding: 8.5px 0;
    font-size: 4.5vw!important;
}

.local_pagenav_kamikochi h1 span.txt-other {
    font-size: 13px;
    text-transform: none;
    letter-spacing: normal;
    font-size: 3.5vw;
}

.local_pagenav_tokyo h1.close:after,
.local_pagenav_tokyo h1.open:after,
.local_pagenav_osaka h1.close:after,
.local_pagenav_osaka h1.open:after,
.local_pagenav_limousine h1.close:after,
.local_pagenav_limousine h1.open:after,
.local_pagenav_limousine_02 h1.close:after,
.local_pagenav_limousine_02 h1.open:after,
.local_pagenav_kamikochi h1.close:after,
.local_pagenav_kamikochi h1.open:after {
    position: absolute;
    content: "";
    background: url("/e/common/img/h1_sp_close.png") no-repeat center;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 17px;
    height: 15px;
    background-size: cover;
}

.local_pagenav_tokyo h1.close:after,
.local_pagenav_tokyo h1.open:after {
    top: 35%;
}

.local_pagenav_osaka h1.close:after,
.local_pagenav_osaka h1.open:after,
.local_pagenav_limousine h1.close:after,
.local_pagenav_limousine h1.open:after {
    top: 30%;
}

.local_pagenav_kamikochi h1.close:after,
.local_pagenav_kamikochi h1.open:after {
    top: 28%;
    right: 14px;
}

.local_pagenav_tokyo h1.open:after,
.local_pagenav_osaka h1.open:after,
.local_pagenav_limousine h1.open:after,
.local_pagenav_kamikochi h1.open:after {
    background: url("/e/common/img/h1_sp_open.png") no-repeat center;
    background-size: cover;
    width: 17px;
    height: 17px;
}

.local_pagenav_limousine_02 h1.close:after,
.local_pagenav_limousine_02 h1.open:after {
    background: url("/e/tokyo/special/dining/img/h1_sp_close.png") no-repeat center;
    width: 29px;
    height: 40px;
    right: 7px;
    top: 30%;
    background-size: contain;
}
.local_pagenav_limousine_02 h1.open:after{
    background: url("/e/tokyo/special/dining/img/h1_sp_open.png") no-repeat center;
    background-size: contain;
}
.local_pagenav_limousine_tokyo {
    position: relative;
    padding: 9.5px 0 0 0;
}

.local_pagenav_limousine_tokyo:after {
    position: absolute;
    content: "";
    background: url("/e/tokyo/common/img/h1_limousine_sp_bg.jpg") repeat center;
    height: 81px;
    background-size: cover;
}

.local_pagenav_limousine_tokyo h1 {
    height: auto !important;
    padding-bottom: 4.5px;
}

.headingH1,
.headingH1-osaka,
.headingH1-tokyo {
    line-height: 1.65;
    font-size: 34px;
    color: #fff;
    font-weight: 400;
    letter-spacing: 1px;
    background: rgb(0, 0, 0);
    background: linear-gradient(130deg, rgba(0, 0, 0, 0.8015581232492998) 0%, rgba(255, 255, 255, 0) 50%);
}

.headingH1-tokyo_limousine {
    font-family: "Palatino Linotype", Palatino, serif;
    font-size: 36px;
    font-weight: normal;
    line-height: 1.19;
    text-transform: uppercase;
    bottom: 17px !important;
    letter-spacing: 2px;
}

.headingH1,
.headingH1-osaka .txt-large,
.headingH1-tokyo .txt-large {
    font-size: 120%;
}

.headingH1-tokyo_limousine .txt-large {
    font-size: 135%;
}

.headingH1,
.headingH1-osaka .txt-large:first-child,
.headingH1-tokyo .txt-large:first-child {
    padding-left: 220px;
}

.kv-sub {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 123123123;
    transform: translate(-50%, -50%);
    width: 100%;
    color: #fff;
    font-size: 45px;
    font-weight: 300;
    text-align: center;
    text-transform: uppercase;
    line-height: 1.4;
    font-family: "Palatino Linotype", Palatino, serif;
    letter-spacing: 4.5px;
    text-shadow: 0px 4px 3px rgba(24, 21, 21, 0.4), 0px 8px 23px rgba(0, 0, 0, 0.1), 0px 27px 23px rgba(0, 0, 0, 0.1);
}

.kv-sub span {
    font-size: 140%;
}

.kv_slide_area_sub {
    position: absolute;
    z-index: 400;
    top: 47%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 49px;
    text-align: center;
    font-family: "Palatino Linotype", Palatino, serif;
    letter-spacing: 5px;
    line-height: 1.5;
    text-shadow: 0px 4px 3px rgba(24, 21, 21, 0.4), 0px 8px 23px rgba(0, 0, 0, 0.1), 0px 27px 23px rgba(0, 0, 0, 0.1);
}

.kv_slide_area_sub .txt-other {
    font-size: 26px;
    letter-spacing: normal;
}

.kv_slide_area_sub .txt-large {
    font-size: 120%
}

@media screen and (min-width: 769px) {
    .mT0-pc {
        margin-top: 0px !important;
    }

    .mT5-pc {
        margin-top: 5px !important;
    }

    .mT10-pc {
        margin-top: 10px !important;
    }

    .mB10-pc {
        margin-bottom: 10px !important;
    }

}

@media only screen and (min-width: 768px) and (max-width: 1366px) {
    .kv_slide_area_sub {
        font-size: 35px;
        font-size: 2.55vw;
    }

    .kv-sub {
        font-size: 30px;
        font-size: 2.5vw;
    }
    .kv-sub span {
        font-size: 128%;
    }
}


@media screen and (max-width: 768px) {
    .headingH2,
    .headingH2-kamikochi,
    .headingH2-osaka {
        margin-bottom: 20px;
    }

    .headingH2:after,
    .headingH2-kamikochi:after,
    .headingH2-osaka:after {
        width: 50px;
        border-top: 3px solid #3b6f5d;
        left: calc(50% - 25px);
    }

    .headingH2_label,
    .headingH2-kamikochi_label,
    .headingH2-osaka_label {
        font-size: 22px;
        letter-spacing: 3px;
    }

    .headingH3:after,
    .headingH3-kamikochi:after {
        width: 50px;
        left: calc(50% - 25px);
    }

    .headingH3_label,
    .headingH3-kamikochi_label {
        font-size: 18px;
        letter-spacing: 2px;
    }

    .headingH2-osaka {
        padding: 0 0 30px 0;
        margin-bottom: 0;
    }

    .headingH2-osaka_label {
        letter-spacing: 1px;
        font-size: 28px;
    }

    .text01 {
        margin-bottom: 20px;
    }

    .headingH2-tokyo_label.h2_02 {
        font-size: 29px;
        padding: 20px 0 25px;
    }

    .headingH3-tokyo_label {
        font-size: 32px;
        padding: 0 0 20px;
    }

    .headingH2-tokyo-limousine {
        margin-bottom: 25px;
    }

    .headingH2-tokyo-limousine_label {
        font-size: 22px;
        letter-spacing: 2px;
    }

    .headingH2-tokyo-limousine:after {
        width: 73px;
        left: calc(50% - 37px);
    }

    .headingH3-tokyo-limousine_label {
        font-size: 18px;
    }


    .mT5-sp {
        margin-top: 5px !important;
    }

    .mT10-sp {
        margin-top: 10px !important;
    }

    .mT15-sp {
        margin-top: 15px !important;
    }

    .mT20-sp {
        margin-top: 20px !important;
    }

    .mT25-sp {
        margin-top: 25px !important;
    }

    .mT30-sp {
        margin-top: 30px !important;
    }

    .mT35-sp {
        margin-top: 35px !important;
    }

    .mB0-sp {
        margin-bottom: 0 !important;
    }

    .mB5-sp {
        margin-bottom: 5px !important;
    }

    .mB10-sp {
        margin-bottom: 10px !important;
    }

    .mB15-sp {
        margin-bottom: 15px !important;
    }

    .mB20-sp {
        margin-bottom: 20px !important;
    }

    .mB25-sp {
        margin-bottom: 25px !important;
    }

    .mB30-sp {
        margin-bottom: 30px !important;
    }

    .mB35-sp {
        margin-bottom: 35px !important;
    }

    .pT0-sp {
        padding-top: 0 !important;
    }

    .pT45-sp {
        padding-top: 45px !important;
    }

    .pBT2-sp {
        padding: 20px 0 !important;
    }
}

@media screen and (max-width: 320px) {
    .local_pagenav_kamikochi h1,
    .local_pagenav_limousine h1 {
        letter-spacing: 1.2px;
        font-size: 12px !important;
    }

    .local_pagenav_kamikochi h1.close:after, .local_pagenav_kamikochi h1.open:after {
        right: 6px;
    }

    .local_pagenav_limousine:after,
    .local_pagenav_tokyo::after {
        background-size: cover;
    }

    .local_pagenav_tokyo h1.close:after,
    .local_pagenav_tokyo h1.open:after{
        right: 10px;
    }
    .local_pagenav_limousine_02 h1.close:after, .local_pagenav_limousine_02 h1.open:after {
        width: 20px;
        height: 32px;
        right: 4px;
        top: 29%;
    }
}