@charset "UTF-8";

/*  
------------------------------------------ トップページ ------------------------------------------
*/

.toppage .main_content p{
  /*font-size: 15px;*/
}

.toppage .head_box{
  padding-top: 150px;
  padding-bottom: 150px;
}

/* pad以下 */
@media all and (max-width: 989px) {
  .toppage .head_box{
    padding-top: 95px;
    padding-bottom: 95px;
  }
}


#top_gallery {
  text-align: center;
}

#top_gallery .main_content_in{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#top_gallery .main_content_child01{
  margin-top: 40px;
}

#top_gallery .title.type01{
  margin: 0 0 30px 0;
  line-height: 1;
}

#top_instagram .main_content_in{
  padding-top: 75px;
  padding-bottom: 75px;
}



@media all and (max-width: 989px) {
  
}

#top_news{
  margin-bottom: 0;
}

#top_news .read_more_wrap{
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 0;
}

@media all and (max-width: 700px) {
  #top_news .read_more_wrap{
    position: static;
    text-align: right;
    margin: 30px 0 25px 0;
  }
  
}

.toppage .main_content_child01{
  padding-left: 20px;
  padding-right: 20px;
}

@media all and (max-width: 700px) {
  .toppage .main_content_child01{
    padding-left: 0px;
    padding-right: 0px;
  }
}

@media all and (max-width: 989px) {
  .toppage .main_content_child02{
    padding-left: 0px;
    padding-right: 0px;
  }
}

.toppage #top_hotel_list .title.type01{
  margin: 0 0 30px 0;
}

/*  
------------------------------------------ ROOMS ------------------------------------------
*/

.room_head_title{
  position: relative;
  display: inline-block;
  line-height: 1 !important;
  margin: -95px 0 50px 0 !important;
}

.room_head_title:before,
.room_head_title:after{
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.room_head_title:before{
  width: 101px;
  height: 111px;
  margin: 0 0 30px 12px;
  background-image: url(../img/rooms/room_title_obj_01@2x.png);
}

.room_head_title:after{
  width: 93px;
  height: 64px;
  margin: 27px auto 0 auto;
  background-image: url(../img/rooms/room_title_obj_02@2x.png);
}

.room_content_zone .title.type01{
  font-size: 25px;
  margin-bottom: 50px;
}

@media all and (max-width: 989px) {
  .room_content_zone .title.type01{ margin-bottom: 40px;}
}

@media all and (max-width: 700px) {
  
}

@media all and (max-width: 700px) {
  
  .rooms .head_box{
    padding-top: 20px;
  }
  
  .room_head_title:before{
    margin: 0 0 17px -10px;
  }
  .room_head_title:after{
    margin: 20px auto 0 auto;
  }
  .room_head_title{ margin-top: 0 !important; }
  
  .rooms .head_box_in{ text-align: center;}
}

.room_slider_wrap .figure_block{
  padding-bottom: 71%;
}

.room_head_content{
  padding: 90px 0 150px 50px;
}

@media all and (max-width: 700px) {
  .room_head_content{
    padding: 90px 20px 150px 20px;
  }
}

.room_figure_block_zone{
  
}

.room_figure_block_zone .room_figure_block_wrap{
  position: relative;
  margin: 0 0 0 auto;
  max-width: 595px;
}

.room_figure_block_zone .room_figure_block01{
  position: relative;
  width: 58%;
  margin: 0 0 0 auto;
}

.room_figure_block_zone .room_figure_block02{
  position: absolute;
  top: 0;
  left: 0;
  width: 42%;
  height: 100%;
  text-align: center;
}

.room_figure_block_zone .room_figure_block_wrap:nth-child(2n) .room_figure_block01{
  margin: 0;
  width: 42%;
}

.room_figure_block_zone .room_figure_block_wrap:nth-child(2n) .room_figure_block02{
  left: 42%;
  width: 58%;
}


.room_figure_block_zone .room_figure_block02:after{
  content: "";
  display: inline-block;
  vertical-align:  middle;
  height: 100%;
}

.room_figure_block_zone .room_figure_block02 figure{
  line-height: 0;
  display: inline-block;
  vertical-align:  middle;
}

.room_figure_block_zone .room_figure_block02 .read_more_wrap{
  display: inline-block;
  vertical-align:  middle;
  margin: 0 0 0 9px;
}

.room_content{
  position: relative;
  padding: 0 0 100px 0;
  margin: 0 0 300px 0;
  background: #f7f7f7;
}

.room_content:after{
  content: "";
  width: 22px;
  height: 22px;
  background-image: url(../img/icon/icon_logo_01_blue@2x.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 22px 22px;
  position: absolute;
  left: 50%;
  bottom: -150px;
  margin: -11px 0 0 -11px;
}

.room_content .room_info{
  position: relative;
}


.room_content .room_info.left{
  padding-right: 345px;
}

.room_content .room_info.right{
  padding-left: 345px;
}

.room_info_head_img_wrap{
  position: relative;
}

.room_content .room_info_head_img{
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding: 0 0 66.6% 0;
}

.room_content .room_info_head_logo_wrap{
  position: absolute;
  top: 0;
  right: -345px;
  width: 345px;
  height: 100%;
  text-align: center;
}

.room_content .room_info_head_logo_wrap:after{
  content: "";
  display: inline-block;
  vertical-align:  middle;
  height: 100%;
}


.room_content .room_info.right .room_info_head_logo_wrap{
  left: -345px;
  right: auto;
}


.room_content .room_info_head_logo{
  display: inline-block;
  vertical-align:  middle;
}

.room_content .room_info_head_logo:after{
  content: "";
  display: inline-block;
  vertical-align:  middle;
  height: 100%;
}

.room_content .room_info_head_logo img{
  display: inline-block;
  vertical-align: middle;
}

.room_content .room_info_content_in{
  padding: 50px 50px 70px 50px;
}

@media all and (max-width: 700px) {
  .room_content .room_info_content_in{
    padding: 50px 20px 50px 20px;
  }
}

@media all and (min-width: 990px) {
  #room_information .main_content_in{
    padding-right: 0;
  }
}

#room_information .main_content_in{
  padding-top: 0;
}

/* .information_list_wrap */

.information_list_wrap{
  letter-spacing: -0.4em;
}

.information_list_wrap .information_list{
  position: relative;
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0.025em;
  width: 48%;
  padding: 0 0 0 70px;
  margin: 4% 4% 0 0;
}


.information_list_wrap .information_list .information_img{
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
}

.information_list_wrap .information_list:nth-child(1),
.information_list_wrap .information_list:nth-child(2){
  margin-top: 0;
}

.information_list_wrap .information_list:nth-child(2n){
  margin-right: 0;
}

@media all and (max-width: 989px) {
  .information_list_wrap .information_list{
    width: auto;
    display: block;
    margin: 0 0 38px 0;
  }
  .information_list_wrap .information_list:last-child{
    margin: 0;
  }
}

/*  .room_slider_wrap */

.room_info_list{
  padding: 30px 0 0 0;
}


.room_info_list li{
  position: relative;
  padding: 0 0 0 37px;
  margin: 0 0 1.6em 0;
  line-height: 1.4;
}

.room_info_list li:last-child{
  margin-bottom: 0;
}

.room_info_list li figure{
  position: absolute;
  top: -0.5em;
  left: 0;
  width: 20px;
  text-align: center;
  /*font-size: 15px;*/
  line-height: 2;
}

.room_info_list li figure img{
  vertical-align: middle;
}

/*  .room_slider_wrap */

.room_slider_wrap{
  position: relative;
  padding: 0 0 66.6% 0;
}

.room_slider_wrap .room_slider{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



/* pad以下 */
@media all and (max-width: 989px) {
  .room_content{ padding-bottom: 0; }
  .room_content .room_info.left{ padding-right: 0; }
  .room_content .room_info.right{ padding-left: 0; }
  .room_content .room_info{ padding-bottom: 130px;}
  
  .room_head_content{ padding-left: 40px; }
  .room_figure_block_zone{ margin-top: 90px;  margin-left: -40px;}
  .room_figure_block_zone .room_figure_block_wrap{ width: 100%; max-width: 600px;}
  .room_info_head_img_wrap{ position: static;}
  .room_content .room_info_head_logo_wrap{ top: auto !important; bottom: 70px !important; left: auto !important; right: 40px !important; height: auto; width: auto; }
  
}

@media all and (max-width: 700px) {
  .room_head_content{ padding-left: 20px; padding-right: 20px; }
  .room_figure_block_zone{ margin-top: 90px; margin-left: -20px; margin-right: -20px;}
}


/*  
------------------------------------------ ACCESS ------------------------------------------
*/

.access .head_box{
  padding-top: 130px;
  padding-bottom: 45px;
}

@media all and (max-width: 989px) {
  #access01_02{
    margin-top: 70px;
  }
}

/*  
------------------------------------------ CAFE BAR ------------------------------------------
*/

#cafe_bar02 .table_td{
  padding: 0 0 2em 0;
}

#cafe_bar02 .table_tr:last-child .table_td{
  padding-bottom: 0;
}

#cafe_bar02 .table_td:last-child{
  width: 5em;
  padding-left: 1em;
}

#cafe_bar02 .table{
  /*font-size: 15px;*/
}

.cafe_bar .col_block_wrap{ margin: 0 0 15px 0; }
.cafe_bar .col_block_wrap:last-child{ margin: 0; }

#cafe_instagram .main_content_in{
  padding-top: 150px;
  padding-bottom: 150px;
}

@media all and (max-width: 989px) {
  #cafe_bar02 .table_tr{ margin: 0 0 2em 0;}
  #cafe_bar02 .table_tr:last-child{ margin: 0;}
  #cafe_bar02 .table_td:last-child{ width: auto; padding: 0; text-align: right; }
  #cafe_bar02 .table_td{ padding: 0 0 0 0; }
  .cafe_bar .col_block_wrap{ margin: 0 0 35px 0; }
  .cafe_bar .col_block_wrap:last-child{ margin: 0; }
  
}

@media all and (max-width: 700px) {
  #cafe_instagram .main_content_in{
    padding-top: 75px;
    padding-bottom: 75px;
  }
}


/*  
------------------------------------------ NEWS ------------------------------------------
*/

#news_main{
  float: left;
  width: 63.4%;
  line-height: 1.78;
}

#news_main .news_content{
  margin: 0 0 70px 0;
}

#news_main .news_content:last-child{
  margin-bottom: 0;
}

#news_main .news_content_image_wrap{
  margin: 0 0 22px 0;
}

#news_main .news_content_head{
  letter-spacing: -0.4em;
  font-size: 12px;
  line-height: 1;
  margin: 0 0 10px 0;
}

#news_main .news_content_date,
#news_main .news_content_category_list li{
  display: inline-block;
  vertical-align: baseline;
  margin: 0 10px 0 0;
  letter-spacing: 0.025em;
}

#news_main .news_content_category_list li:last-child{
  margin-right: 0;
}

#news_main .news_content_category_list{
  display: inline-block;
  vertical-align: baseline;
  font-family: 'Cabin', sans-serif !important;
}

#news_main .news_content_title{
  font-size: 25px;
  margin: 0 0 10px 0;
}


#news_main .cms_area{
  font-size: 14px;
}

#news_sub{
  float: right;
  width: 31.4%;
  line-height: 1.78;
}

#news_sub .news_sub_content{
  
}

#news_sub .news_sub_title{
  background: #f7f7f7;
  padding: 1.3em 1em;
  line-height: 1;
}


#news_sub .news_sub_list{
  padding: 16px;
}

#news_sub .news_sub_list li{
  line-height: 1.78;
}

#news_sub a{
  color: #1c293f;
}

#news_sub .news_sub_list li.active a{
  text-decoration: underline;
}

#news_sub .news_sub_list li.active a:hover{
  text-decoration: none;
}

/* pad以下 */
@media all and (max-width: 989px) {
  #news_main{ float: none; width: auto; margin: 0 0 50px 0; }
  #news_sub{ float: none; width: auto; }
  #news_main .news_content{ margin: 0 0 60px 0;}
}

/*  
------------------------------------------ プライバシーポリシー ------------------------------------------
*/

.privacy_content_wrap{
  /*font-size: 15px;*/
  line-height: 1.66;
}

.privacy_content_wrap .privacy_content{
  margin: 0 0 3.32em 0;
}

.privacy_content_wrap .privacy_content:last-child{
  margin-bottom: 0;
}

.privacy_content_wrap .privacy_content_title{
  font-weight: bold;
}

/*  
------------------------------------------ FAQ ------------------------------------------
*/

.faq .head_box_wrap{
  text-align: center;
}

.qa_content_wrap{
  /*font-size: 15px;*/
  line-height: 1.66;
  padding: 0 0 40px 0;
  margin: 0 auto 40px auto;
  border-bottom: 1px solid #1c293f;
}

.qa_content_wrap .qa_content{
  margin: 0 0 3.32em 0;
}

.qa_content_wrap .qa_content:last-child{
  margin-bottom: 0;
}

.qa_content_wrap .qa_content_title{
  font-weight: bold;
}

.qa_content_wrap .qa_content_title:before{
  content: "Ｑ：";
}

/*  
------------------------------------------ コンタクト ------------------------------------------
*/


.contact .head_box_wrap{
  text-align: center;
}

.contact_block_wrap{
  max-width: 600px;
  margin: 0 auto 40px auto;
}

.contact_block_wrap .contact_block {
  margin: 0 0 25px 0;
  /*font-size: 15px;*/
}

.contact_block_wrap .contact_block:last-child{
  margin-bottom: 0;
}

.contact_block_wrap .contact_block_title{
  position: relative;
  line-height: 1;
  margin: 0 0 10px 0;
}

.contact_block_wrap .contact_block.check .contact_block_title:after{
  content: "必須";
  position: absolute;
  top: 0;
  right: 0;
  font-size: 12px;
  line-height: 1;
  color: #ffffff;
  background: #3f4c62;
  display: block;
  padding: 0.25em 0.5em;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
}

.en .contact_block_wrap .contact_block.check .contact_block_title:after,
.zh-cn .contact_block_wrap .contact_block.check .contact_block_title:after{
  content: "Required";
}

.contact_error{
  margin: 6px 0 0 0;
  color: #ff0000;
}

.confirm .contact_block .contact_block_title{
  border-bottom: 1px solid #1c293f;
  padding: 0 0 10px 0;
}


/*  
------------------------------------------ ロケーション ------------------------------------------
*/

.local_information .head_box_wrap .btn_area{
  position: absolute;
  top: -2.7em;
  left: 0;
  width: 100%;
  height: 0;
}

#local_googlemap .map_text{
  display: inline-block;
  max-width: 300px;
  text-align: left;
  vertical-align: bottom;
}

.local_information #main_visual{
  height: 660px;
}


.gm-style{
	font-family: YuGothic, '游ゴシック',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

.gm-style-iw{
	/*top: 0 !important;
	left: 0 !important;
	width: 100% !important;*/
  text-align: center;
}

.gm-style > div > div:nth-child(4) > div:nth-child(4) > div:first-child{
	/*background: #ffffff !important;*/
  background: none !important;
}

/*  closeボタン */
.gm-style > div > div:nth-child(4) > div:nth-child(4) > div:first-child > div:last-child{
}

/*
.gm-style > div > div:nth-child(4) > div:nth-child(4) > div:first-child > div:last-child img{
	display: none !important;
}*/

.gm-style > div > div:nth-child(4) > div:nth-child(4) > div:first-child > div:first-child{
		
}

.gm-style > div > div:nth-child(4) > div:nth-child(4) > div:first-child > div:first-child > div:nth-child(1){
  border: none !important;
}

.gm-style > div > div:nth-child(4) > div:nth-child(4) > div:first-child > div:first-child > div:nth-child(2){
  background: none !important;
  -moz-border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  border-radius: 0 !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: 1px solid #1c293f;
}

.gm-style > div > div:nth-child(4) > div:nth-child(4) > div:first-child > div:first-child > div:last-child{
	background: #ffffff !important;	
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

/*
.gm-style > div > div > div > div > div:first-child > div:last-child{
	background: #404040 !important;	
}*/


.gm-style > div:first-child > div:nth-child(4) > div:nth-child(4) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > div{
  width: 12px !important;
  height: 20px !important;

}

.gm-style > div:first-child > div:nth-child(4) > div:nth-child(4) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > div:nth-child(1){
  left: -3px !important;
  top: 0px !important;
}

.gm-style > div:first-child > div:nth-child(4) > div:nth-child(4) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > div:nth-child(2){
  left: 9px !important;
  top: 0px !important;
}

.gm-style > div:first-child > div:nth-child(4) > div:nth-child(4) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > div > div{
  background: #ffffff !important;
  border: 1px solid #1c293f;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.gm-style > div:first-child > div:nth-child(4) > div:nth-child(4) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > div:nth-child(1) > div{
  -moz-transform: skewX(31.6deg) !important;
  -webkit-transform: skewX(31.6deg) !important;
  -o-transform: skewX(31.6deg) !important;
  -ms-transform: skewX(31.6deg) !important;
  transform: skewX(31.6deg) !important;
  left: 0px !important;
  /*left: 4px !important;*/
  right: auto !important;
  width: 18px !important;
}

.gm-style > div:first-child > div:nth-child(4) > div:nth-child(4) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > div:nth-child(2) > div{
  -moz-transform: skewX(-31.6deg) !important;
  -webkit-transform: skewX(-31.6deg) !important;
  -o-transform: skewX(-31.6deg) !important;
  -ms-transform: skewX(-31.6deg) !important;
  transform: skewX(-31.6deg) !important;
  right: 0px !important;
  /*right: 4px !important;*/
  left: auto !important;
  width: 18px !important;
}


.gm-style-iw > div:first-child{
  vertical-align: bottom;
}

/* pc */
@media all and (min-width: 990px) {
}

/* pad以下 */
@media all and (max-width: 989px) {
}

/* pad */
@media all and (min-width: 701px ) and (max-width: 989px) {
}

/* sp */
@media all and (max-width: 700px) {
  .local_information .head_box{ padding-top: 235px;}
  .local_information .head_box_wrap .btn_area{ padding: 0 20px; }
  #local_googlemap .map_text{
    max-width: 160px;
    font-size: 12px;
  }
  .local_information #main_visual{ height: 100vh;}
  .local_information .gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom{ bottom: 100px !important; }
}


