@charset "UTF-8";
/* CSS Document */

/* ---------------------------------------------------
Base Layout
------------------------------------------------------ */
#r_wrapper { font-family: "Yu Gothic Medium", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;}
#r_wrapper p,
#r_wrapper ul,
#r_wrapper li {margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; list-style: none;}
#r_wrapper a { color: #000; text-decoration: none; transition: opacity .5s;}
#r_wrapper a:hover { color: #000; text-decoration: underline;}
#r_wrapper a:hover img { opacity: 0.8;}
#RthCustomizeW,
#htlContents,
#htlMainContent { width: 1200px!important; margin: 0 auto; }
#htlSide-A { float: none; position: absolute; left: 0; }

/* Header */
#r_header { position: relative; height:100px;}
#r_header .h_logo { width: 213px; position: absolute; top: 10px; left: 20px;}
#r_header .h_logo a img { transition: opacity .5s; }
#r_header .h_telnum{ width:190px; position: absolute; top: 15px; right: 190px;}
#r_header ul { position: absolute; top: 40px; right: 190px; width: 575px; height: 50px; display: flex; justify-content: space-between; align-items: center; padding-left: 20px; box-sizing: border-box; }

#r_header ul li a { color: #000; font-size: 17px; letter-spacing: 0.05em; position: relative; line-height: 2; display: inline-block; }

#r_header ul li a::before { position: absolute; left: 0; bottom: -5px; width: 100%; height: 3px; content: ''; background: #45293e; -webkit-transition: all 0.4s; -o-transition: all 0.4s; transition: all 0.4s; transform: scaleX(0);}
#r_header ul li a:hover { text-decoration: none; }
#r_header ul li a:hover::before,
#r_header ul li.active a:before{transform: scaleX(1); }


#r_header .h_btn{ position: absolute; top: 0; right: 0; }
#r_header .h_btn a {display: block; width: 170px; padding: 41px 0; text-align: center; background: #45293e; transition: background-color .5s; }
#r_header .h_btn a:hover { background:#623A58;}

/* Slider */
#r_wrapper.home #main_img { width: 100%; height: 660px; position: relative; }
#r_wrapper.home #main_img .txt { font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
position: absolute; z-index: 5; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 36px; line-height:1.6; color: #fff; text-align: center; filter: drop-shadow(0 0px 8px rgb(0 0 0)) drop-shadow(0 0px 8px rgba(0 0 0 /30%)); }
#r_wrapper.home #main_img .bnr { position: absolute; z-index: 5; right:20px; bottom:0;}

#r_wrapper.home #main_img .bnr a img { transition: opacity .5s;}
#r_wrapper.home #main_img .vis { left: 0; position: absolute; top: 0; z-index: 1; }

/* Contents */
#r_wrapper #contents { width: 950px; margin:50px auto; }

/* Footer */
#r_footer { width: 950px; margin-left: auto; position: relative; z-index: 5; font-size: 15px; letter-spacing: 0.08em;}

#r_footer .ft_inner_01{ border-top: solid 3px #45293e; width: 100%; background: #fff; text-align: center; padding: 55px 0 60px; }
#r_footer .ft_inner_01 .ft_logo{ width: 240px; display: block; margin: 0 auto 60px;}

#r_footer .ft_inner_01 p.ft_btn_01{ width: 400px; margin: 0 auto; border-radius: 10px; background-repeat: no-repeat; box-sizing: border-box; background-color: #45293e; background-image: url("../img/common/bag_01.png"); background-size: 20px; background-position: calc(50% - 5em) center; transition: background-color .5s;}
#r_footer .ft_inner_01 p.ft_btn_01 a{ display: block; height: 70px; line-height: 70px; text-align: center; color: #fff; font-size: 18px; padding: 0 0 0 20px;}
#r_footer .ft_inner_01 p.ft_btn_01 a:hover{ text-decoration: none;}
#r_footer .ft_inner_01 p.ft_btn_01:hover{ background-color: #623A58;}

#r_footer .ft_inner_02{ background-color: #eee7ea; padding: 70px 70px 30px; }
#r_footer .ft_inner_02:after {content:"."; display:block; height:0; clear:both; line-height:0; visibility:hidden; overflow: hidden; font-size: 0.1em;}
#r_footer .ft_inner_02 .ft_block_01,
#r_footer .ft_inner_02 .ft_block_02{ float: left;}

#r_footer .ft_inner_02 .ft_block_01{ }
#r_footer .ft_inner_02 .ft_block_01:after {content:"."; display:block; height:0; clear:both; line-height:0; visibility:hidden; overflow: hidden; font-size: 0.1em;}

#r_footer .ft_inner_02 .ft_list_02{ float: left; width: 205px;}
#r_footer .ft_inner_02 .ft_list_02 li a{ font-size: 16px; line-height: 1.3; position: relative; display: block; padding: 0 0 30px 25px; text-decoration: none;}
#r_footer .ft_inner_02 .ft_list_02 li:last-child a{ padding: 0 0 0 25px;}
#r_footer .ft_inner_02 .ft_list_02 li a:before { content: ''; height: 2px; width: 15px; position: absolute; left: 0; right: inherit; bottom: inherit; top: 9px; background: #45293e; transition: unset;}
#r_footer .ft_inner_02 .ft_list_02 li a:hover{ text-decoration: underline;}

#r_footer .ft_inner_02 .ft_block_02{ padding: 0 0 0 50px; border-left: solid 1px #aaa;}
#r_footer .ft_inner_02 .ft_tit{ color:#652455; font-size: 14px; margin: 0 0 10px 0;}
#r_footer .ft_inner_02 .ft_tel,
#r_footer .ft_inner_02 .ft_fax{ font-size: 18px; margin: 0 0 10px 0;}
#r_footer .ft_inner_02 .ft_tel span{ font-size: 26px;}
#r_footer .ft_inner_02 .ft_mail{ width: 264px; margin: 15px 0;}
#r_footer .ft_inner_02 .ft_mail img{width: 264px;}
#r_footer .ft_inner_02 .ft_addr{ font-size: 16px;}

#r_footer .ft_inner_02 .ft_copyright{  clear: both; padding: 25px 0 0; text-align: right; font-size: 12px;}

/* ---------------------------------------------------
Top page
------------------------------------------------------ */
#r_wrapper.home #contents p#top_bnr { padding-bottom: 50px;}
#r_wrapper.home #contents p#top_bnr a img{transition: opacity .5s;}
#r_wrapper.home #contents #sec1{padding-top: 30px;}

/* ---------------------------------------------------
Low page
------------------------------------------------------ */
#r_wrapper #title{position: relative;}
#r_wrapper #title p {position: absolute; left:40px; bottom:0; z-index: 2; font-size: 36px; color:#fff; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; display: flex; align-items: flex-end;}
#r_wrapper #title p .en{ font-size: 100px; margin: 0 0 -40px;}
#r_wrapper #title p .en:first-letter{ font-size: 200px;}
#r_wrapper #title p .ja{ font-size: 36px; margin: 0 0 15px; padding: 0 0 0 0.5em;}
#r_wrapper #title p .ja::before{ content: "/ ";}
#r_wrapper #title p .main_img{ width: 100%; height: auto; position: relative; z-index: 1;}

/* room */
#r_wrapper.room #title p .en{width: 4.7em;}
#r_wrapper.room #sec1 ul { display: flex; justify-content: space-between; padding: 0 75px; margin: 0 0 50px;}
#r_wrapper.room #sec1 p {text-align: center; margin: 0 0 80px;}
#r_wrapper.room #sec1 a img{transition: opacity .5s; }

/* spa */
#r_wrapper.spa #title p .en{width: 2.5em;}

/* meal */
#r_wrapper.meal #title p .en{width: 4em;}

/* service */
#r_wrapper.service #title p .en{width: 5em;}