@charset "UTF-8";
 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: inherit; font-size: 100%; vertical-align: baseline }
strong, b { font-weight: bold }
html { line-height: 1 }
ol, ul { list-style: none }
table { border-collapse: collapse; border-spacing: 0 }
caption, th, td { text-align: left; font-weight: normal; vertical-align: middle }
q, blockquote { quotes: none }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none }
a img { border: none }
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {display: block;}
body { font-family: meiryo, helvetica, arial, 'hiragino kaku gothic pro', 'ms pgothic', sans-serif; word-break: break-word }
img {vertical-align: top;max-width: 100%;height: auto; }
sup { vertical-align: super; font-size: 50% }   a { color: #8E8A02 }
a:visited { color: #800080 }
a:hover { text-decoration: none }
a.link:after { content: "\0020\00226b" }
.exclusion { position: relative !important }
.exclusion > * { position: absolute !important; left: -9999px !important }
.center { text-align: center }
.ar { text-align: right !important }
.al { text-align: left !important }
.fr { float: right }
.fr2 { float: right; margin: 0 0 0 20px }
.sys_error { display: table; margin: 20px auto; border: 1px solid #f33; padding: 10px; font-size: 14px; color: #f33 }
.hidden { display: none !important }
.oh { overflow: hidden !important }
#top_onsen,
.box_comfortable,
.box_media .ttl,
.chd > .catch,
.hd_line,
.hd_line2,
.hd_line3,
.hd_line4,
.page_ttl_default,
.media-feature,
#fn { font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "Sawarabi Mincho", serif }
.white { color: #fff !important }
.red { color: #c00 }
.marker { background: linear-gradient(transparent 60%, rgba(255, 235, 59, .3) 60%) }
.marker_green { background: linear-gradient(transparent 60%, rgba(139, 195, 74, .3) 60%) }
.word {display: inline-block !important;}  #hd { background: #000; border-top: 3px solid #F2B327; position: relative }
#hd > .inner { box-sizing: border-box; overflow: hidden }
#hd_logo { float: left }
#hd_phone { float: right }
.breadcrumbs { background: #110602; color: #fff; font-size: 12px; border-bottom: 1px solid #fff }
.breadcrumbs > .inner { box-sizing: border-box; padding: 8px 5px }
.breadcrumbs a { color: #fff; text-decoration: none }
.breadcrumbs a:hover { text-decoration: underline }
.breadcrumbs.default { background: #fff; color: #000; border-top: 4px solid #000; border-bottom: 1px solid #000 }
.breadcrumbs.default .home { color: #000 }
#top_slide { position: relative; overflow: hidden }
#top_slide > li { position: absolute; top: 0; left: 0; right: 0; bottom: 0; text-align: center; opacity: 0; transition: 2s; text-indent: -9998px }
#top_slide > li.current { opacity: 1 }  #gn { background: url(//www.maruya-ryokan.com/img/cmn/gn_bg.png) center bottom repeat; position: relative }
#gn:before { content: ""; position: absolute; left: 0; right: 0 }
#gn > ul > li.current > a { pointer-events: none }  #top_reservation { background: #1E1D1A }
#top_reservation > .inner { box-sizing: border-box; background: #fff; border: 3px solid #B7B7B7; overflow: hidden }
#top_reservation .info { background: #F2F2F0; box-sizing: border-box; overflow: hidden }
#top_reservation .form { box-sizing: border-box; text-align: center }
#top_reservation .form > .ttl { border-bottom: 1px solid #A0880D }
#top_reservation .search a { display: block; background: #EFEEE8; color: #000; text-decoration: none; text-align: center; transition: .6s }
#top_reservation .search a:hover { background: #f5d3a0 }
#top_reservation .search a:before { content: "> " }
#top_kodawari > .inner { margin: 0 auto; position: relative }
#top_kodawari .inner > .ttl { text-align: center }
#top_kodawari .inner > .str { text-align: center }
#top_kodawari .detail_link { font-size: 15px }
#top_kodawari a.link { color: #fff }
.box_kodawari > .sub { background: #fff; border: 2px solid #D3CA97; padding: 12px; box-sizing: border-box }
.box_kodawari .ttl { border-bottom: 1px solid #6D5C14; padding: 15px 0 10px; margin-bottom: 12px }
.box_kodawari p { font-size: 14px; line-height: 1.75 }
#top_comfortable { background: #050505; color: #fff }
#top_comfortable > .ttl { text-align: center }
.box_comfortable { box-sizing: border-box }
.box_comfortable:last-child { margin-bottom: 0 }
.box_comfortable > .ttl { line-height: 1.4; margin-bottom: 10px }
.box_comfortable > .ttl a { color: #fff; text-decoration: none }
.box_comfortable p { line-height: 1.5625 }
#top_comfortable_onsen { background: url(//www.maruya-ryokan.com/img/cmn/top_comfortable_onsen_bg.png) right bottom no-repeat }
#top_onsen > .inner { box-sizing: border-box; margin: 0 auto }
#top_onsen .inner > .ttl { color: #fff; text-align: center; line-height: 1.4 }
#top_onsen .sub .ttl { line-height: 1 }
#top_onsen .sub > *:last-child { margin-bottom: 0 !important }
#top_onsen .sub p { line-height: 1.75 }
#top_guide_menu { background: rgba(255, 254, 248, .83) }
#top_guide_menu > ul > li > a { display: block }
#top_guide_info { background: #FFFFFD; border: 2px solid #A0880D; box-sizing: border-box }
#top_guide_info > .ttl { border-bottom: 2px solid #cfc385; text-align: center; padding: 0 0 5px }
#top_guide_info li { font-size: 14px; line-height: 1.4 }
#top_guide_info li:first-child { border-top: none }
#top_guide_info .new { font-size: 11px; color: #fff; display: inline-block; background: #A0880D; padding: 1px 8px; margin-left: 5px }
#top_guide_info .no_articles { padding: 10px 0; text-align: center; color: #666 }
#top_guide_right { overflow: auto }
#top_fb { text-align: center }
#top_guide_banner { text-align: center; margin: 20px 0; transition: .6s }
#top_guide_banner:hover { opacity: .7 }
#searchform .search_table_489ban { font-size: 14px; width: 100% }
#searchform td { padding: 5px 0; text-align: center }
#searchform { margin-bottom: 5px }
#searchform form { font-size: 14px; width: 100% }
#searchform .date_489ban, #searchform .stay_489ban { display: table }
#searchform .date_489ban > *, #searchform .stay_489ban > * { display: table-cell; padding: 5px 0; text-align: center }
#search_button_489ban, [name="searchButton489ban"] { font-size: 14px; color: #fff; background: #A0880D; border: none; cursor: pointer; transition: .6s }
#search_button_489ban:hover, [name="searchButton489ban"]:hover { background: #dc7a24 }
#searchform select { font-size: 16px; padding: 3px 15px 6px }
#top_reservation > .inner.box_red.notice { display: block }
.list_function { text-align: center; margin-left: -6px; margin-right: -6px }
.list_function > li { font-size: 13px; display: inline-block; padding: 0 6px; line-height: 1.75 }
.list_function > li:before { content: "> "; color: #A0880D }
.list_function a { color: #000; text-decoration: none }
.list_function a:hover { text-decoration: underline }
.list_function_tate > li { font-size: 13px; line-height: 1.75 }
.list_function_tate > li:before { content: "> "; color: #A0880D }
.list_function_tate a { color: #000; text-decoration: none }
.list_function_tate a:hover { text-decoration: underline }
#ft_reservation .list_function_tate { width: 180px; margin: 0 auto 5px; white-space: nowrap }
#top_guide_info li p { display: inline-block }
.home_banner { max-width: 950px; margin: 0 auto 30px; display: flex; justify-content: space-between; align-items: center }
.home_banner-item img { position: absolute; top: 0; left: 0; right: 0; bottom: 0 }
.home_banner-item { width: 300px; height: 300px; transition: all ease 1.2s; cursor: pointer; position: relative; overflow: hidden }
.home_banner-item::before {content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;transform: scale(1);transition: all ease 1s;background-size: cover;}
.home_banner-item:hover::before { transform: scale(1.05) }
.home_banner2 { max-width: 950px; margin: 0 auto 30px; display: flex; justify-content: space-between; align-items: center }
.home_banner2-item img { width: 100%; height: auto; position: relative }
.home_banner2-item { width: 460px; height: 460px; transition: all ease 1.2s; cursor: pointer; position: relative; overflow: hidden }
.home_banner2-item::before {content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;transform: scale(1);transition: all ease 1s;background-size: cover;}
.home_banner2-item:hover::before { transform: scale(1.05) }
#home_settlement {text-align: center;padding: 0px 10px 10px;margin-top: 10px;}
@media screen and ( min-width: 751px ) {
.stopcovid19 { width: 750px !important } }
.stopcovid19::before { background-image: url(//www.maruya-ryokan.com/img/cmn/bana_colona_wide20200609.jpg) }
.stopcovid19_w450::before { background-image: url(//www.maruya-ryokan.com/img/cmn/bana_colona_bg_sp.jpg) }
.tomatte_campaign::before { background-image: url(//www.maruya-ryokan.com/img/cmn/bana_campaign_bg.jpg) }
.tomatte_campaign_plus1000::before { background-image: url(//www.maruya-ryokan.com/img/cmn/bana_plus1000_bg.jpg) }
.sonmin_campaign::before { background-image: url(//www.maruya-ryokan.com/img/cmn/bana_sonmin_bg.jpg) }
.gototravel::before { background-image: url(//www.maruya-ryokan.com/img/cmn/bana_gototravel_bg.png) }
#top_main #top_cashless:not(body) { position: absolute; left: calc(50% - 475px) !important; right: auto; bottom: 30px; width: 950px; text-align: right }  #ft { background: #3D2A21; position: relative }
#ft_info { color: #fff; font-size: 12px; line-height: 1.75 }
#ft_phone { display: inline-block }
#ft_menu1, #ft_menu2 { font-size: 14px; float: left; line-height: 1.4 }
#ft_menu1 a, #ft_menu2 a { color: #fff; text-decoration: none }
#ft_menu1 a:before, #ft_menu2 a:before { content: "> "; font-family: monospace; font-weight: bold }
#copyright { text-align: center; color: #fff; background: #000 }
#ft_reservation { background: #fff; width: 302px; box-sizing: border-box; padding: 15px 20px }
#ft_reservation > .ttl { font-size: 15px; text-align: center; border-bottom: 2px solid #ccca9a; padding: 0 0 5px; margin-bottom: 10px }
#ft_reservation .search { width: 180px; margin: 0 auto; margin-bottom: 10px }
#ft_reservation .search > li { margin-bottom: 10px }
#ft_reservation .search > li > a { display: block; text-align: center; font-size: 12px; color: #000; text-decoration: none; background: #EFEEE8; padding: 9px 0; transition: .6s }
#ft_reservation .search > li > a:hover { background: #f5d3a0 }
#ft_reservation .search > li > a:before { content: "> " }
#ft_reservation .info { font-size: 12px; width: 180px; margin: 0 auto; line-height: 1.5 }
#ft_menu .current a { pointer-events: none; font-weight: bold }
#ft_settlement {text-align: center;padding: 20px 10px 10px;background: #2c1f18;margin-top: 80px;}  .error404 article { text-align: center; padding: 80px 0 }
.error404 main p { font-size: 14px }  .chd { background-position: center bottom; background-repeat: no-repeat; background-color: #000; position: relative; box-sizing: border-box; padding: 5px 0 0 0; text-align: center; color: #fff; margin-bottom: 66px; overflow: hidden }
.chd > *:last-child { margin-bottom: 0 }
.chd .page_ttl { box-sizing: border-box; padding: 10px; font-size: 14px; text-align: right; color: #888 }
.sub_con { box-sizing: border-box; margin: 0 auto 120px }
.hd_line { font-size: 28px; text-align: center; line-height: 1.4; border-top: 1px solid #333; border-bottom: 1px solid #333; padding: 13px 0; margin-bottom: 20px }
h1.hd_line { margin: 50px auto 20px }
.box_img_R, .box_img_L { overflow: hidden }
.sub_con > .sub { margin-bottom: 70px }
.cp main p { font-size: 16px; line-height: 1.5625; margin-bottom: 24px }
.hd_line2 { font-size: 24px; border-bottom: 1px solid #8E8A02; padding: 0 5px 7px; margin-bottom: 20px }
.link_btn { display: inline-block; background: #A0880D; color: #fff; text-decoration: none; font-size: 14px; padding: 9px 16px; transition: .6s }
.link_btn:hover { background: #dc7a24 }
.link_btn:visited { color: #fff }
.link_btn:after { content: "\0020\00226b" }
.mt0 { margin-top: 0 !important }
.mt10 { margin-top: 10px !important }
.mt20 { margin-top: 20px !important }
.mt30 { margin-top: 30px !important }
.mt40 { margin-top: 40px !important }
.mt50 { margin-top: 50px !important }
.mt60 { margin-top: 60px !important }
.mt70 { margin-top: 70px !important }
.mt80 { margin-top: 80px !important }
.mt90 { margin-top: 90px !important }
.mt100 { margin-top: 100px !important }
.mt110 { margin-top: 110px !important }
.mt120 { margin-top: 120px !important }
.mb0 { margin-bottom: 0 !important }
.wide_sub_con { padding: 50px 0; color: #fff }
#ko_nature { background: url(//www.maruya-ryokan.com/img/kodawari/nature_bg.png) center 0 no-repeat #000 }
#ko_protect { background: url(//www.maruya-ryokan.com/img/kodawari/protect_bg.png) center 0 no-repeat #000 }
.hd_line3 { color: #fff; border-bottom: 1px solid #fff; text-align: center; font-size: 26px; line-height: 1.4; margin-bottom: 30px }
.hd_line3 > span { display: inline-block; position: relative; border-bottom: 3px solid #fff }
.wide_sub_con > .inner { box-sizing: border-box; margin: 0 auto }
.wide_sub_con .sub { margin-bottom: 70px }
.hd_dot { font-size: 21px; margin-bottom: 20px }
.hd_dot:before { content: "\0030fb" }
.wide_sub_con > *:last-child, .wide_sub_con > .inner > *:last-child { margin-bottom: 0 !important }
.list_normal { line-height: 1.4; padding-left: 1em }
.list_normal > li { position: relative; margin-bottom: 5px }
.list_normal > li:before { content: "\0030fb"; position: absolute; left: -1.2em }
.list_photos { overflow: hidden }
.box_img_R > .img .img_caption { display: inline-block; vertical-align: top }
.box_img_R > picture > .img .img_caption { display: inline-block; vertical-align: top }
.img_caption .caption { display: block; background: #110602; color: #fff; text-align: center; font-size: 13px; padding: 2px 10px; line-height: 1.4; border-top: 1px solid #E0D8C3 }
.box_img_R_ex, .box_img_L_ex { overflow: hidden }
.list_notice { font-size: 13px; line-height: 1.75; padding-left: 1em }
.list_notice > li { position: relative }
.list_notice > li:before { content: "\00203b"; position: absolute; left: -1.2em }
.img > .img_caption { display: inline-block }
.hd_line4 { font-size: 26px; line-height: 1.4; padding-left: 15px; position: relative; margin-bottom: 20px }
.hd_line4:before { content: ""; position: absolute; border-left: 5px solid #A5A516; top: 5px; left: 0; bottom: 5px }
.box_window { display: table; border: 1px solid #D8D5CA }
.box_window > .ttl { background: #8E8A02; color: #fff; font-size: 16px; padding: 7px 0; text-align: center }
.box_window > .con { padding: 8px 35px; margin-bottom: 0 !important }
.box_window > .con > *:last-child { margin-bottom: 0 !important }
.list_square > li { font-size: 16px; line-height: 1.75 }
.list_square > li:before { content: ""; display: inline-block; width: 7px; height: 7px; background: #8E8A02; position: relative; top: -3px; margin-right: 8px }
.list_square2 > li + li { margin-top: 20px }
.list_square2 > li {font-size: 16px;line-height: 1.75;position: relative;padding-left: 1.5em;}
.list_square2 > li:before {content: "";width: 16px;height: 16px;background: #8E8A02;position: absolute;top: 4px;left: 0;}
.list_square2 { border: 1px solid #e5e5e5; padding: 20px 30px; border-radius: 6px }
.tbl_normal { border: 1px solid #000; width: 100% }
.tbl_normal th, .tbl_normal td { font-size: 16px; line-height: 1.75 }
.tbl_normal th { background: #A5A516; color: #fff; box-sizing: border-box }
.tbl_normal td { padding: 10px 15px }
.tbl_normal tr:first-child > th, .tbl_normal tr:first-child > td { border-top: none }
.hd_bold { font-size: 16px; font-weight: bold; line-height: 1.4; margin-bottom: 5px }
.list_locations > li { margin-bottom: 40px }
.list_locations .ttl { font-size: 18px; line-height: 1.4; margin-bottom: 5px; border-bottom: 1px solid #000 }
.list_locations .ttl:before { content: ""; width: 7px; height: 7px; background: #8E8A02; position: relative; top: -4px; display: inline-block; margin-right: 10px }
.list_locations2 .ttl { font-size: 18px; line-height: 1.4; margin-bottom: 8px }
.list_locations3 > li { border-bottom: 2px dotted #e5e5e5; padding: 20px 0; line-height: 1.4 }
.list_locations3 > li > *:last-child { margin-bottom: 0 !important }
.list_links > li { margin-bottom: 20px }
.list_links .str { margin-top: 5px; display: block; line-height: 1.4 }
.box_red { color: #c00; border: 1px solid #c00; padding: 20px }
.box_red > *:last-child { margin-bottom: 0 !important }
.box_red.notice { background-color: #fff; box-sizing: border-box; line-height: 1.6em; border: 3px solid #c00 !important; line-height: 1.6em; text-align: center; padding: 20px 30px; margin-bottom: 30px !important }
.box_red.notice .notice_ttl { font-size: 18px; font-weight: bold; margin-bottom: 15px }
.box_red.notice .notice_dt { color: #000; text-align: left }
.tbl_cancel {border: 1px solid #000;margin: 0 auto;}
.tbl_cancel th { background: #A5A516; color: #fff; padding: 5px; text-align: center; line-height: 1.2; border-left: 1px solid #fff }
.tbl_cancel th:first-child,
.tbl_cancel td:first-child { border-left: none }
.tbl_cancel td { padding: 5px; text-align: center; line-height: 1.2; border-left: 1px solid #000 }
#cancel { padding: 20px; text-align: center; border: 1px solid #ccc; border-radius:6px; -moz-border-radius:6px; -webkit-border-radius:6px }
#cancel p { font-size: 14px }
#cancel > *:last-child { margin-bottom: 0 !important }
.box_cream { background: #FAF8F2 }
.box_cream > *:last-child { margin-bottom: 0 !important }
.hd_square { font-size: 16px; line-height: 1.4; margin-bottom: 10px }
.hd_square:before { content: ""; width: 7px; height: 7px; background: #8E8A02; position: relative; top: -4px; display: inline-block; margin-right: 10px }
.tbl_diagram { border: 1px solid #000 }
.tbl_diagram th { background: #A3A055; color: #fff; padding: 10px; text-align: center; border-top: 1px solid #fff }
.tbl_diagram tr:first-child > th { border-top: none }
.tbl_diagram td { padding: 10px 0; text-align: center; width: 90px; border-left: 1px solid #000; border-top: 1px solid #000 }
.tbl_diagram th + td { border-left: none }
.box_media { overflow: hidden; margin-bottom: 50px }
.box_media .ttl { line-height: 1.75; border-bottom: 1px solid #8E8A02; padding: 5px 0; margin-bottom: 20px }
.box_media .ttl .sub { display: block }
.list_mediainfo > li { font-size: 16px; line-height: 1.4; margin-bottom: 5px }
.list_mediainfo > li:before { content: ""; width: 7px; height: 7px; background: #8E8A02; position: relative; top: -4px; display: inline-block; margin-right: 10px }
.box_media .list_mediainfo { margin-bottom: 20px }
.box_green { border: 1px solid #8E8A02; padding: 20px; display: table }
.box_green > *:last-child { margin-bottom: 0 !important }
.tbl_sansai th, .tbl_sansai td { font-size: 16px; line-height: 1.4; padding: 10px 2px; border: 1px solid #000 }
.tbl_sansai thead th { background: #A5A516; color: #fff; text-align: center }
.tbl_sansai tbody th { background: #ffffe5; padding: 5px 10px }
.tbl_sansai td { color: #a5a516 }
.tbl_kounou th { background: #e4e4e4 }
.tbl_kounou th, .tbl_kounou td { font-size: 16px; border: 1px solid #000; padding: 10px; line-height: 1.4 }
#pmap { margin: 0 auto; width: 580px; display: block; padding: 10px 30px; font-size: 14px }
#pmap td { text-align: center; line-height: 1.2 }
#pmap small { font-size: 12px }
#pmap .main_map { margin: 20px auto }
#pmap .route td { width: 33%; text-align: left; padding: 0 10px 5px; line-height: 1.3 }
#pmap .route td > *:last-child { margin-bottom: 0 !important }
#pmap .route img { margin-bottom: 5px }
.page_ttl_default { font-size: 28px; text-align: center; border-bottom: 1px solid #CE9E4A; padding: 35px 5px; margin-bottom: 40px }
.box_green > .ttl { font-size: 14px; line-height: 1.4; display: inline-block; border-bottom: 1px solid #8e8a02; margin-bottom: 10px }
.list_faq { list-style: square; padding-left: 1.2em; font-size: 13px; line-height: 1.4 }
.list_faq > li { margin-bottom: 10px; color: #8e8a02 }
.list_faq .q { font-weight: bold }
.list_faq .q, .list_faq .a { display: block }
.list_faq .a { color: #000 }
.web_reservation { border: 3px solid #B7B7B7; overflow: hidden }
.web_reservation .info { background: #F2F2F0; box-sizing: border-box; overflow: hidden }
.web_reservation .form { box-sizing: border-box; text-align: center }
.web_reservation .form > .ttl { border-bottom: 1px solid #A0880D }
.web_reservation .search a { display: block; background: #EFEEE8; color: #000; text-decoration: none; text-align: center; transition: .6s }
.web_reservation .search a:hover { background: #f5d3a0 }
.web_reservation .search a:before { content: "> " }
#parking a { margin-bottom: 10px; display: inline-block }
.sub_con2 { display: table; margin: 82px auto 61px }
.img_caption { display: inline-block; position: relative; line-height: 1; margin: 20px }
.img_caption figcaption {position: absolute;bottom: 0;left: 0;right: 0;background: rgba(0, 0, 0, .6);color: #fff;padding: 1em;line-height: 1.5;}
.img_caption figcaption span { display: table; margin: 0 auto; text-align: justify }  @media screen and ( min-width: 751px ) and ( max-width: 1180px ) {
#top_kodawari > .inner:before { left: 0 !important; right: 0 !important }
}   @media screen and ( min-width: 751px ) { .sp-only { display: none !important }
a[href^="tel:"] { pointer-events: none; color: inherit; text-decoration: inherit }
#hd, #gn, main, #ft { min-width: 980px }  #hd > .inner { width: 980px; padding: 0 10px 15px; margin: 0 auto }
#hd > .inner > .description { color: #fff; font-size: 11px; padding: 5px 10px; margin-bottom: 5px }
#hd_logo a:hover { opacity: .9 }
.breadcrumbs > .inner { width: 980px; margin: 0 auto }
#top_main .ttl { top: -597px; left: 50% !important; margin-left: -474px }
#top_main .phone_wrap { top: -599px; left: 50% !important; text-indent: -9998px; background: url(//www.maruya-ryokan.com/img/cmn/hd_phone.png) no-repeat; margin-left: 329px; width: 142px; height: 49px }
#top_main .phone_wrap > br,
#top_main .str > br { display: none }
#top_main .str { top: -215px; left: 50% !important; margin-left: -483px; background: url(//www.maruya-ryokan.com/img/cmn/top_main_logo.png?201704261145) no-repeat; text-indent: -9998px; width: 520px; height: 200px }
#top_slide { height: 612px }
#top_slide li { background-position: center bottom; background-repeat: no-repeat }
#top_slide #slide01 { background-image: url(//www.maruya-ryokan.com/img/cmn/top_main_01.png) }
#top_slide #slide02 { background-image: url(//www.maruya-ryokan.com/img/cmn/top_main_02.png) }
#top_slide #slide03 { background-image: url(//www.maruya-ryokan.com/img/cmn/top_main_03.png) }
#top_slide #slide04 { background-image: url(//www.maruya-ryokan.com/img/cmn/top_main_04.png) }  #gn:before { border-top: 2px solid #5F1C03; top: 3px }
#gn > ul { width: 950px; margin: 0 auto; overflow: hidden }
#gn > ul > li { float: left }
#gn > ul > li > a { display: block; padding: 24px 31px }
#gn > ul > li > a:hover, #gn > ul > li.current > a { background: rgba(255,255,255,.3) }
#gn .scroll-L, #gn .scroll-R { display: none }
#fn { position: fixed; top: 0; left: 0; right: 0; min-width: 980px; background: rgba(235, 221, 161, .85); transition: .6s; opacity: 0; height: 0; overflow: hidden; z-index: 9999 }
#fn > ul { width: 950px; margin: 0 auto; overflow: hidden }
#fn > ul > li { float: left }
#fn > ul > li > a, #fn > ul > li > span { display: block; padding: 11px 20px; text-decoration: none; color: #000; font-size: 13px; height: 13px }
#fn > ul > li > a:hover { background: rgba(255,255,255,.4) }
#fn > ul > li > a.logo img { position: relative; top: -6px }
#fn.fade { opacity: 1 !important; height: 35px }  #top_reservation { padding: 37px 0 }
#top_reservation > .inner {width: 948px;margin: 0 auto;display: flex;justify-content: space-between;}
#top_reservation .info {width: 200px;font-size: 12px;text-align: center;line-height: 2.5;padding: 18px 0;}
#top_reservation .form {float: left;width: 524px;padding: 0 30px;}
#top_reservation .form > .ttl { font-size: 15px; margin: 15px 0 10px; padding: 0 0 5px }
#top_reservation .search { float: left; width: 180px; padding: 23px 12px }
#top_reservation .search > li { margin-bottom: 10px }
#top_reservation .search a { font-size: 12px; padding: 9px 0 }
#top_kodawari { background: url(//www.maruya-ryokan.com/img/cmn/top_kodawari_bg.png) center 0 repeat; padding: 30px 0 40px }
#top_kodawari > .inner { width: 950px; padding: 30px 15px 25px }
#top_kodawari > .inner:before { content: ""; position: absolute; top: 0; bottom: 0; z-index: -1; left: -88px; right: -88px; background: url(//www.maruya-ryokan.com/img/cmn/top_kodawari_gradation.png) center 0 repeat-y }
#top_kodawari .inner > .str { margin-bottom: 40px }
.box_kodawari {display: flex;--num: 3;--gap: 10px;gap: var(--gap);}
.box_kodawari > .sub {width: calc( ( 100% - var(--gap) * ( var(--num) - 1 ) ) / var(--num) );}
#top_kodawari .detail_link { margin: 25px 10px 0 0 }
#top_comfortable { padding: 70px 0 30px }
#top_comfortable > .ttl { border-top: 1px solid #fff; margin-bottom: 40px }
#top_comfortable > .ttl > img { position: relative; top: -15px }
#top_comfortable > .ttl > picture > img { position: relative; top: -15px }
.box_comfortable { width: 980px; margin: 0 auto 30px; position: relative; min-height: 313px }
.box_comfortable.left { padding: 0 15px 0 459px }
.box_comfortable.right { padding: 0 459px 0 15px }
.box_comfortable.left .img { position: absolute; left: 15px }
.box_comfortable.right .img { position: absolute; right: 15px }
.box_comfortable .img:hover { opacity: .7 }
.box_comfortable > .ttl { border-bottom: 2px solid #89712E; font-size: 28px; padding: 0 5px }
.box_comfortable > .ttl:after { content: url(//www.maruya-ryokan.com/img/cmn/icon_arrow.png); width: 11px; height: 17px; padding-left: 7px }
.box_comfortable > .ttl a:hover { opacity: .8 }
#top_comfortable_onsen { padding-bottom: 177px !important; padding-left: 470px }
#top_onsen { padding: 30px 0 80px }
#top_onsen > .inner { width: 980px; padding: 0 15px }
#top_onsen .inner > .ttl { background: url(//www.maruya-ryokan.com/img/cmn/top_onsen_gradation.png) center 0 repeat-y; font-size: 30px; padding: 6px 0; margin-bottom: 36px }
#top_onsen .sub .ttl { font-size: 26px; border-left: 5px solid #A5A516; padding: 0 0 0 8px; margin-bottom: 20px }
#top_onsen .sub { margin-bottom: 50px }
#top_onsen .sub p { margin-bottom: 30px }
#top_onsen .fr { margin: 0 0 60px 60px }
#top_guide { background: url(//www.maruya-ryokan.com/img/cmn/top_guide_bg.png) center 0 repeat; padding-top: 40px; min-height: 846px; box-sizing: border-box }
#top_guide_menu { padding: 15px 0; margin-bottom: 90px }
#top_guide_menu > ul { display: table; margin: 0 auto; overflow: hidden }
#top_guide_menu > ul > li { float: left; border-right: 2px dotted #b09d89; box-sizing: border-box }
#top_guide_menu > ul > li:first-child { border-left: 2px dotted #b09d89 }
#top_guide_menu > ul > li > a { height: 210px; position: relative; padding: 18px 45px 0 }
#top_guide_menu > ul > li > a:hover:after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #fff; opacity: .3 }
#top_guide_menu > ul > li > a:before { content: ""; position: absolute; top: 0; left: 41px; right: 42px; border-top: 2px solid #AF9F3E; border-bottom: 4px solid #513302 }
#top_guide > .inner { width: 980px; box-sizing: border-box; margin: 0 auto; padding: 0 15px; overflow: hidden }
#top_guide_info { float: left; width: 568px; padding: 20px 10px 0; margin-right: 10px; max-height: 420px; overflow-y: auto }
#top_guide_info > .ttl { margin-bottom: 10px }
#top_guide_info li { padding: 10px 0 10px 150px; border-top: 2px dotted #cccabf; position: relative }
#top_guide_info li .date { position: absolute; left: 0 }
#top_guide_right { overflow: inherit }
#searchform td:first-child { padding-right: 20px; padding-left: 15px }
#search_button_489ban, [name="searchButton489ban"] { padding: 4px 31px; position: relative; top: -3px }
#searchform .date_489ban > dt, #searchform .stay_489ban > dt { width: 4em; text-align: left }
.list_function { margin-bottom: 10px }
.media-feature { background-color: #1E1D1A; color: #ffffff; text-align: center; padding: 0px 0px 30px; }
.media-feature__inner { max-width: 950px; margin: 0 auto; border: 1px solid #a0880c; padding: 22px 20px; box-sizing: border-box; }
.media-feature__label { font-size: 18px; padding-bottom: 10px; position: relative; display: inline-block; }
.media-feature__main-text { font-size: 1.5rem; font-weight: 600; margin-top: 16px;}
.media-feature__sub-text { font-size: 1.2rem; line-height: 1.7; margin-top: 9px; }
.media-feature__label::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #a0880c; }
#media-feature__br-sp { display: none;}
.media-feature__image {margin-top: 8px;}  #ft { padding: 60px 0 0 }
#ft > .inner { width: 980px; margin: 0 auto; overflow: hidden }
#ft_info { float: left; margin-right: 70px }
#ft_info a:hover { opacity: .8 }
#ft_info .h1 { margin-bottom: 10px !important }
#ft_phone { margin-bottom: 10px }
#ft_info p { margin-bottom: 15px }
#ft_menu1 li, #ft_menu2 li { margin-bottom: 10px }
#ft_menu1 a:hover, #ft_menu2 a:hover { text-decoration: underline }
#ft_menu1 { margin-right: 60px }
#ft_reservation { float: right }
#copyright {font-size: 12px;padding: 9px 0;}
#pagetop { position: absolute; top: -25px; left: 50%; display: table; margin-left: 300px; cursor: pointer }  .chd { min-height: 550px }
.chd:after { content: ""; position: absolute; left: 0; right: 0; border-top: 1px solid #CE9E4A; bottom: 16px }
.chd .page_ttl { width: 980px; margin: 0 auto 15px }
.chd .catch { width: 980px; margin: 0 auto }
.sub_con { width: 980px; padding: 0 15px }
.box_img_R, .box_img_L { min-height: 260px; position: relative }
.box_img_R > .img, .box_img_L > .img { position: absolute }
.box_img_R > picture > .img, .box_img_L > picture > .img { position: absolute }
.box_img_R { padding-right: 460px }
.box_img_L { padding-left: 460px }
.box_img_R > .img { right: 0 }
.box_img_R > picture > .img { right: 0 }
.box_img_L > .img { left: 0 }
.box_img_L > picture > .img { left: 0 }
.hd_line3 > span { padding: 0 60px 5px }
.wide_sub_con > .inner { width: 980px; padding: 0 15px }
#ko_nature { height: 525px }
#ko_protect { height: 629px }
.box_justify { overflow: hidden }
.box_justify > .elm:first-child { float: left }
.box_justify > picture:first-child .elm { float: left }
.box_justify > .elm:first-child + .elm { float: right }
.box_justify > picture:first-child + picture .elm { float: right }
.list_photos > li { float: left; margin-left: 10px }
.list_photos > li:first-child { margin-left: 0 }
.list_photos.w310 > li { width: 310px; margin-bottom: 10px; overflow: hidden }
.list_photos.w310 > li:first-child+li+li+li,
.list_photos.w310 > li:first-child+li+li+li+li+li+li,
.list_photos.w310 > li:first-child+li+li+li+li+li+li+li+li+li,
.list_photos.w310 > li:first-child+li+li+li+li+li+li+li+li+li+li+li+li,
.list_photos.w310 > li:first-child+li+li+li+li+li+li+li+li+li+li+li+li+li+li+li,
.list_photos.w310 > li:first-child+li+li+li+li+li+li+li+li+li+li+li+li+li+li+li+li+li+li { margin-left: 0 !important }
.box_img_L_ex > .img, .box_img_L_ex > .str { float: left }
.box_img_R_ex > .img, .box_img_R_ex > .str { float: right }
.box_img_L_ex > .img { width: 440px; margin-right: 20px }
.box_img_R_ex > .img { width: 440px; margin: 0px; margin-left: 20px }
.box_img_R_ex > .img > .img_caption { margin: 0px }
.box_img_R_ex > .img > .img_caption + .img_caption { margin-left: 14px }
.box_img_L_ex > picture > .img { float: left }
.box_img_R_ex > picture > .img { float: right }
.box_img_L_ex > picture > .img { width: 440px; margin-right: 20px }
.box_img_R_ex > picture > .img { width: 440px; margin-left: 20px }
.img_caption.w210, .w210 .img_caption { width: 210px }
.box_img_R_ex > .str, .box_img_L_ex > .str { width: 490px }
.box_img_R_ex.w210 > .str, .box_img_L_ex.w210 > .str { width: 720px }
.box_img_R_ex.w240 > .img, .box_img_L_ex.w240 > .img { width: 240px }
.box_img_R_ex.w240 > picture > .img, .box_img_L_ex.w240 > picture > .img { width: 240px }
.box_img_R_ex.w240 > .str, .box_img_L_ex.w240 > .str { width: 690px }
.box_img_R_ex.w304 > .img, .box_img_L_ex.w304 > .img { width: 304px }
.box_img_R_ex.w304 > picture > .img, .box_img_L_ex.w304 > picture > .img { width: 304px }
.box_img_R_ex.w304 > .str, .box_img_L_ex.w304 > .str { width: 626px }
.box_img_R_ex.w517 > .img, .box_img_L_ex.w517 > .img { width: 517px }
.box_img_R_ex.w517 > picture > .img, .box_img_L_ex.w517 > picture > .img { width: 517px }
.box_img_R_ex.w517 > .str, .box_img_L_ex.w517 > .str { width: 413px }
.tbl_normal th { padding: 10px 42px; width: 150px; border-top: 1px solid #fff }
.tbl_normal td { border-top: 1px solid #000 }
#ev_cal1 { float: left; width: 49% }
#ev_cal2 { float: right; width: 49% }
#ev_cal th { width: 62px; padding-left: 0; padding-right: 0; text-align: center }
.list_locations > li { overflow: hidden }
.list_locations .img { float: left; width: 180px }
.list_locations .con { float: right; width: 750px }
.tbl_cancel { font-size: 14px }
.tbl_cancel th { width: 4.5em }
.box_cream { padding: 55px }
.box_media .img { float: left; width: 196px; border: 1px solid #ccc }
.box_media .str { float: right; width: 734px }
.box_media .ttl { font-size: 24px }
.box_media .ttl .sub { font-size: 17px }
.box_lr { overflow: hidden }
.box_lr > .left { float: left }
.box_lr > .right { float: right }
h1.hd_line { width: 950px; padding-left: 15px; padding-right: 15px }
.web_reservation { display: table; margin: 0 auto }
.web_reservation .form {float: left;width: 524px;padding: 0 30px;}
.web_reservation .form > .ttl { font-size: 15px; margin: 15px 0 10px; padding: 0 0 5px }
.web_reservation .search { float: left; width: 180px; padding: 23px 12px }
.web_reservation .search > li { margin-bottom: 10px }
.web_reservation .search a { font-size: 12px; padding: 9px 0 }
#parking { font-size: 14px } }  @media screen and ( max-width: 750px ) { .pc-only { display: none !important }
.fr2 { float: none; text-align: center; margin: 0 auto 10px !important }  .home #hd { position: relative; padding-top: 55px }
#hd > .inner { padding: 5px }
#hd > .inner > .description { display: none }
#top_main { position: static !important }
#top_main > .ttl { left: 8px !important; top: 6px }
#top_main > .phone_wrap { left: auto !important; right: 10px; text-indent: -9999px; top: 9px }
#top_main > .phone_wrap br { display: none }
#top_main .phone { position: absolute; top: 0; right: 0; text-indent: 0 }
#hd_phone { float: right; position: relative; top: 5px; right: 5px }
#top_main .str > br { display: none }
#top_main .str { top: 0; left: 20px !important; right: 20px; bottom: 10px; background: url(//www.maruya-ryokan.com/img/cmn/top_main_logo_sp.png) center bottom no-repeat; background-size: contain; text-indent: -9998px }
#top_slide { height: 0; padding-top: 75% }
#top_slide li { background-position: center top; background-size: cover; background-repeat: no-repeat }
#top_slide #slide01 { background-image: url(//www.maruya-ryokan.com/img/cmn/top_main_01_sp.png) }
#top_slide #slide02 { background-image: url(//www.maruya-ryokan.com/img/cmn/top_main_02_sp.png) }
#top_slide #slide03 { background-image: url(//www.maruya-ryokan.com/img/cmn/top_main_03_sp.png) }
#top_slide #slide04 { background-image: url(//www.maruya-ryokan.com/img/cmn/top_main_04_sp.png) }  #gn { background-size: 1500px 35px; padding: 0; width: auto; height: auto; overflow: hidden; position: relative }
#gn:before { border-top: 1px solid #5F1C03; top: 1px }
#gn ul { overflow-y: hidden; overflow-x: scroll; white-space: nowrap; margin: 0; letter-spacing: -.40em }
#gn ul::-webkit-scrollbar{ width: 3px; -webkit-appearance: none }
#gn ul::-webkit-scrollbar:horizontal{ height: 3px; width: 3px; -webkit-appearance: none }
#gn ul::-webkit-scrollbar-thumb:horizontal{ background-color: rgba(180,180,180,.5); border-radius: 2px }
#gn ul li { display: inline-block }
#gn ul li a { display: block; padding: 8px 17px; text-indent: 0 }
#gn .scroll-R,
#gn .scroll-L { position: absolute; top: 8px; bottom: 0; width: 15px; background-color: #ccc; background-position: center; background-repeat: no-repeat; transition: .5s; z-index: 9999 }
#gn .scroll-R { top: 0; right: 0; bottom: 0; background-image: url(//www.maruya-ryokan.com/img/cmn/scroll_R.png) }
#gn .scroll-L { top: 0; left: 0; bottom: 0; background-image: url(//www.maruya-ryokan.com/img/cmn/scroll_L.png) }
#fn { display: none !important }  #top_reservation { padding: 35px 0 }
#top_reservation > .inner { margin: 0 10px; padding: 0 0 20px }
#top_reservation > .box_red.notice { padding: 20px 20px }
#top_reservation .info { font-size: 10px; line-height: 1.4; text-align: center; padding: 10px 0 }
#top_reservation .info .ttl { display: inline-block; text-align: left; padding-right: 5px }
#top_reservation .info > p { display: inline-block; position: relative; text-align: left; padding-left: 145px }
#top_reservation .info .phone { position: absolute; top: 3px; left: 0 }
#top_reservation .form { padding: 15px 10px }
#top_reservation .form > .ttl { font-size: 17px; line-height: 1.4; padding: 0 0 5px; margin-bottom: 15px }
#top_reservation .search { text-align: center }
#top_reservation .search li { display: inline-block }
#top_reservation .search a { font-size: 10px; padding: 10px 0; width: 135px }
#top_kodawari { background: url(//www.maruya-ryokan.com/img/cmn/top_kodawari_bg_sp.png) right 0 repeat; background-size: 1172.5px 781.5px; padding: 10px 0 }
#top_kodawari .inner > .ttl,
#top_kodawari .inner > .str { position: relative }
#top_kodawari .inner > .ttl:before, #top_kodawari .inner > .str:before { content: ""; background: url(//www.maruya-ryokan.com/img/cmn/top_kodawari_gradation_sp.png) center 0 repeat-y; position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: -1 }
#top_kodawari .inner > .ttl { padding-bottom: 10px }
#top_kodawari .inner > .str { padding-bottom: 10px; margin-bottom: 5px }
.box_kodawari { padding: 0 10px }
.box_kodawari > *:last-child { margin-bottom: 0 !important }
.box_kodawari > .sub {margin-bottom: 20px;}
#top_kodawari .detail_link { text-align: center !important; margin: 20px 0 10px }
#top_comfortable { padding: 20px 10px }
#top_comfortable > .ttl { margin-bottom: 25px }
#top_comfortable .box_comfortable .img { width: 214.5px; display: block; margin: 0 auto 10px }
#top_comfortable a { color: #fff }
.box_comfortable { margin-bottom: 50px }
.box_comfortable > .ttl { font-size: 22px; text-align: center; background: #2a2a2a; padding: 5px 0; position: relative }
.box_comfortable > .ttl:before { content: ""; position: absolute; bottom: 4px; left: 0; right: 0; border-top: 2px solid #5a4e2c }
.box_comfortable > .ttl:after { content: ""; background: url(//www.maruya-ryokan.com/img/cmn/icon_arrow_sp.png) no-repeat; width: 9.5px; height: 15.5px; background-size: cover; display: inline-block; margin-left: 10px }
.box_comfortable p { font-size: 14px }
#top_comfortable #top_comfortable_onsen .img { width: auto; margin-left: auto; margin-right: auto; display: table }
#top_comfortable_onsen .img img { width: 109.5px; margin: 0 5px }
#top_comfortable_onsen { background-size: 221.5px 147.5px; padding-bottom: 60px }
#top_onsen { padding: 25px 0 30px }
#top_onsen .inner > .ttl { background: url(//www.maruya-ryokan.com/img/cmn/top_onsen_gradation_sp.png) center 0 repeat-y; background-size: contain; font-size: 22px; padding: 5px 0; margin-bottom: 15px }
#top_onsen img.fr { float: none; display: block; width: 80%; margin: 0 auto 15px }
#top_onsen .sub { padding: 0 10px; margin-bottom: 30px }
#top_onsen .sub:last-child { margin-bottom: 0 !important }
#top_onsen .sub .ttl { font-size: 19px; border-left: 4px solid #A5A516; padding-left: 5px; margin-bottom: 10px }
#top_onsen .sub p { font-size: 13px; margin-bottom: 30px }
#top_guide_menu { background: url(//www.maruya-ryokan.com/img/cmn/top_guide_bg_sp.png) center 0 repeat; padding: 15px 10px }
#top_guide_menu ul { background: rgba(255, 254, 248, .83); padding: 15px 20px }
#top_guide_menu > ul > li > a { text-align: center; padding: 16px 0 10px }
#top_guide_menu a:after { content: ""; background: url(//www.maruya-ryokan.com/img/cmn/icon_arrow2.png) no-repeat; background-size: contain; width: 19px; height: 19px; display: inline-block; margin-left: 15px; position: relative; top: -1px }
#top_guide_menu > ul > li { border-bottom: 1px dotted #cfc1b1 }
#top_guide_menu > ul > li:first-child { border-top: 1px dotted #cfc1b1 }
#top_guide > .inner { padding: 20px 10px }
#top_guide_info {padding: 10px 15px;margin-bottom: 20px;height: 400px;overflow-y: scroll;}
#top_guide_info li { border-top: 1px dotted #cccabf; padding: 15px 3px }
#top_guide_info .date { font-size: 12px; display: block; margin-bottom: 5px }
#top_fb { display: table; margin: 0 auto; width: 100%; text-align: center }
#searchform tr { display: block }
#searchform td { display: block }
#search_button_489ban, [name="searchButton489ban"] {display: block;width: 60%;margin: 15px auto 10px;padding: 5px 0;}
.home_banner { display: block; margin: 0 10px 30px }
.home_banner-item { width: calc(100vw - 20px); height: calc(100vw - 20px); max-width: 425px; max-height: 425px; margin: auto }
.home_banner-item:nth-child(n+2) { margin-top: 20px }
.home_banner2 { padding: 0 10px; flex-wrap: wrap; justify-content: center }
.home_banner2-item { width: auto; max-width: 425px; height: auto; margin-top: 10px; margin-bottom: 10px }
#searchform .date_489ban > *, #searchform .stay_489ban > * { display: block; text-align: left }
#searchform .date_489ban > dt, #searchform .stay_489ban > dt { padding-bottom: 0 }
#searchform .date_489ban dd label { display: block; padding-top: 5px }
#searchform .date_489ban, #searchform .stay_489ban { display: block }
#searchform .stay_489ban { border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; margin-top: 7px; padding-top: 7px; padding-bottom: 7px }
.stopcovid19::before { background-image: url(//www.maruya-ryokan.com/img/cmn/bana_colona_bg_sp.jpg) }
.tomatte_campaign::before { background-image: url(//www.maruya-ryokan.com/img/cmn/bana_campaign_bg_sp.jpg) }
.tomatte_campaign_plus1000::before { background-image: url(//www.maruya-ryokan.com/img/cmn/bana_plus1000_bg_sp.jpg) }
#top_cashless { padding: 0 10px 30px }
.media-feature { padding: 0px 10px 30px; background-color: #1E1D1A; color: #fff; text-align: center; }
.media-feature__label { font-size: 0.75rem; margin-bottom: 0.4em; background-color: #1E1D1A; color: #ffffff; text-align: center; padding: 0px 0px 30px; }
.media-feature__inner { max-width: 950px; margin: 0 auto; border: 1px solid #a0880c; padding: 16px 16px; box-sizing: border-box; }
.media-feature__label { font-size: 18px; padding-bottom: 8px; position: relative; display: inline-block; }
.media-feature__main-text { font-size: 1.1rem; margin-bottom: 0.5em; line-height: 1.5rem; }
.media-feature__sub-text { font-size: 0.9rem; line-height: 1.6; }
.media-feature__label::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #a0880c; }
#media-feature__br-sp { display: flex;}  #ft > .inner { padding: 20px 10px }
#ft_info { text-align: center; overflow: hidden }
#ft_info > h1 { margin-bottom: 5px }
#ft_info > p { margin-bottom: 25px }
#ft_phone { margin-bottom: 5px }
#ft_menu { text-align: center; margin-bottom: 20px }
#ft_menu1, #ft_menu2 { display: inline-block; float: none; vertical-align: top; margin: 0 15px; text-align: left }
#ft_menu1 li, #ft_menu2 li { margin-bottom: 5px }
.ft_flex_sp { display: -webkit-flex; display: flex; -webkit-flex-direction: column-reverse; flex-direction: column-reverse }
#ft_reservation { display: table; margin: 0 auto }
#copyright { text-align: center; color: #fff; background: #000; font-size: 11px; padding: 10px 0 }
#pagetop { opacity: 0; transition: .6s; position: fixed; bottom: 5px; right: 5px }
#pagetop.fade { opacity: .5 }  .chd { padding-bottom: 30px; background-size: cover }
.chd .catch img { width: 100% }
.chd > * { position: relative }
.chd:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,.3); display: block }
.sub_con { padding: 0 10px }
.box_img_R .img, .box_img_L .img { display: block; margin: 0 auto 20px; text-align: center }
.hd_line3 { padding: 0 20px }
.wide_sub_con > .inner { padding: 0 10px }
#ko_nature { background-size: cover }
#ko_protect { background-size: cover }
.box_justify { text-align: center }
.box_justify > .elm { display: inline-block; margin-bottom: 10px }
.box_justify > picture .elm { display: inline-block; margin-bottom: 10px }
.list_photos { text-align: center }
.list_photos > li { display: inline-block; margin-bottom: 5px }
.box_img_L_ex > .img { width: 220px; margin: 0 auto 20px; display: block }
.box_img_L_ex > picture > .img { width: 220px; margin: 0 auto 20px; display: block }
.img_caption.w210 { width: 105px }
.img_caption .caption { font-size: 10px; padding-top: 5px }
.box_img_R_ex.w304 > .img { width: 152px; margin: 0 auto 20px; display: block }
.box_img_R_ex.w304 > picture > .img { width: 152px; margin: 0 auto 20px; display: block }
.box_img_R_ex.w210 > .img { width: 105px; margin: 0 auto 20px; display: block }
.box_img_R_ex.w210 > picture > .img { width: 105px; margin: 0 auto 20px }
.box_img_R_ex > .img { text-align: center; margin-bottom: 10px }
.box_img_R_ex > picture > .img { text-align: center; margin-bottom: 10px }
.box_img_R_ex > img.img { display: block; margin: 0 auto 10px }
.box_img_R_ex > picture > img.img { display: block; margin: 0 auto 10px }
.box_window { margin: 0 auto }
.tbl_normal * { display: block }
.tbl_normal th { padding: 5px 10px; border-top: 1px solid #000 }
.box_img_L_ex.w240 > .img { width: 240px; display: block }
.box_img_L_ex.w240 > picture > .img { width: 240px; display: block }
.sp_mb10 { margin-bottom: 10px !important }
.list_locations .img { display: block; margin: 0 auto 10px }
#cancel { padding: 10px 5px; margin-left: 10px; margin-right: 10px }
.tbl_cancel {font-size: 14px;display: block;border-width: 2px;}
.tbl_cancel tr > * { display: block; border: none !important }
.tbl_cancel > tbody { display: flex; flex-wrap: wrap }
.tbl_cancel tr { width: calc(100% / 3); border: 1px solid #000; border-width: 1px 1px 0 0; box-sizing: border-box }
.tbl_cancel tr:nth-child(3n) { border-right: none }
.tbl_cancel tr:nth-child(-n+3) { border-top: none }
.box_cream { padding: 10px }
.box_media .img { text-align: center; margin-bottom: 10px }
.box_media .ttl { font-size: 20px; text-align: center }
.box_media .ttl .sub { font-size: 16px }
.box_lr .left { margin-bottom: 40px }
.tbl_sansai { display: block; width: 100%; overflow: auto; box-shadow: 1px 0px 4px #000 }
.box_media .img img { border: 1px solid #ccc }
.roadmap { text-align: center }
.roadmap img:first-child { width: 67%; margin-bottom: 10px }
#parking { width: 163px; font-size: 12px; margin-left: 10px }
.web_reservation { margin: 0 10px; padding: 0 0 20px }
.web_reservation .info { font-size: 10px; line-height: 1.4; text-align: center; padding: 10px 0 }
.web_reservation .info .ttl { display: inline-block; text-align: left; padding-right: 5px }
.web_reservation .info > p { display: inline-block; position: relative; text-align: left; padding-left: 145px }
.web_reservation .info .phone { position: absolute; top: 3px; left: 0 }
.web_reservation .form { padding: 15px 10px }
.web_reservation .form > .ttl { font-size: 17px; line-height: 1.4; padding: 0 0 5px; margin-bottom: 15px }
.web_reservation .search { text-align: center }
.web_reservation .search li { display: inline-block }
.web_reservation .search a { font-size: 10px; padding: 10px 0; width: 135px }
.sp_center { text-align: center !important }
#ev_cal2 { border-top: none }
.sub_con2 { display: block; margin: 40px 15px }
.list_square2 { padding: 15px 20px } } @media ( max-width: 425px ) {
.img_caption {margin-left: 0;margin-right: 0;width: 100%;}
.img_caption img { width: 100%; height: auto }
.img_caption figcaption { padding: .5em }
}  @media screen and ( max-width: 750px ) {
_:-ms-input-placeholder, :root .tbl_cancel { display: block; border-width: 0 0 0 2px }
_:-ms-input-placeholder, :root .tbl_cancel tr { display: block; float: left; width: calc((100% / 3) - 1px) }
_:-ms-input-placeholder, :root .tbl_cancel > tbody { display: block; overflow: hidden }
_:-ms-input-placeholder, :root .tbl_cancel tr:nth-child(-n+3) { border-top: 2px solid #000 }
_:-ms-input-placeholder, :root .tbl_cancel tr:nth-child(3n) { border-right: 2px solid #000 }
_:-ms-input-placeholder, :root .tbl_cancel tr:nth-last-child(-n+3) { border-bottom: 2px solid #000 }
}