@charset "UTF-8";

body{
	margin:0;
	padding:0;
	font-size:62.5%; /* 10px = 1em */
	font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
html {
    overflow-y: scroll;
}
a{
	text-decoration:none;
	color:#333;
}
a:hover{
	opacity:0.6;
}
header{ 
	width:100%;	
	top:0;
	padding-top: 15px;
	background-color:rgba(255,255,255,0.95);
}

/* ------ メニューOPEN時スクロール無効用------ */
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
.open{
	display:block;
}

 /* ------ ボタン関係------ */
.btn{
	position: absolute;
	top: 20px;
	cursor:pointer;
}
#search,#close,#back,#close_frame,#close_main{
	right: 20px;
 }
#open{
	left: 20px;
	width: 20%;
 }
#search{
	width: 20%;
	text-align: right;
}
 
 /* ------ トップページのメニュー------ */
#index_menu{
	display:flex;
	flex-wrap:wrap;
	text-align:center;
}
.i_menu p{
	font-family: 'Marcellus SC', serif;
	letter-spacing:0.1em;
	font-size:1.5em;
	font-weight: 400;
}
.s_ja{
	font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	display:block;
	letter-spacing:3px;
	color:#9a9a9a;
}
 
 /* ------ ハンバーガー（メイン）メニュー内容 共通------ */ 
 /* ------ 検索メニュー部分 共通------ */
  #selectmenu,#mainmenu{
	position:fixed;
	display:none;
	height:100%;
	z-index:100;
	letter-spacing: 0.1em;
	color: #333;
	text-align:center;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	overflow: auto;
    -webkit-overflow-scrolling:touch;
}
#selectmenu_inner,#mainmenu_inner{
	position:relative;
	overflow: auto;
    -webkit-overflow-scrolling:touch;
}
#flower input,#style input,#color input,#hotelonly input{
	display: none;
}
.title{
	font-weight: 600;
	margin:30px 0 10px;
	color:#333;
}
.title_hotel{
	display:block;
	width:100%;
	margin-top:10px;
	padding: 10px 0 ;
	color:#333;
	background-color:#fff;
	border: 2px solid #333;
	border-radius:5px;
	cursor: pointer;
	box-sizing: border-box;
}
/*.room a{
	display:block;
	text-align:center;
	padding: 10px 0;
	margin-bottom: 15px;
	color:#333;
	border-bottom:2px dotted #fff;
	font-weight: 400;
	cursor: pointer;
	background-color:#fff;
}*/
/*.room{
	border:3px solid #fff;
	border-radius:5px;
}*/
.label_s{
	font-size:0.8em;
}

#style label,#color label,#page a,.room a/*#hotelonly label*/{
	margin-bottom:8px;
	cursor: pointer;
	box-sizing: border-box;
	background-color:#fff;
}
#page a,#hotelonly label,.room a {
	display:block;
	width:100%;
	text-decoration:none;
	color:#333;
}
#style label,#color label{
	display:inline-block;
	width:48%;
	box-sizing:border-box;
}
#color i{
	margin-right:10px;
}
.white{
	color:#f8f8ff;
}
.green{
	color:#556B2F;
}
.pink{
	color:#ffc0cb;
}
.purple{
	color:#9370db;
}
.red{
	color:#ff0000;
}
.yellow{
	color:#ffff00;
}
.orange{
	color:#ffa500;
}
.blue{
	color:#87cefa;
}
.brown{
	color:#8b4513;
}
.mix{
	color:#fff;
}
#select input:checked + label{
	color:#666;
	font-weight: 600;
}

 /* ------ 画像表示部分------ */	

.result img,.main img,.guest img{
	max-width:100%;
	height:auto;
	vertical-align: bottom;
	cursor:pointer;
	margin-bottom: 5px;
}
.result:after{content:"";
	display:block;
	clear:both;
}


.guest,.main,.thumbs,.dining{
	display: flex;	
	flex-wrap: wrap; 
}
.guest section{
	width: calc(33.3% - 20px);
	margin: 10px;	
}

.main section,.dining section{
	width: calc(50% - 20px);
	margin: 10px;	
}

 /* ------ 画像正方形に------ */	
.thumbs section{
  position: relative;
  width: calc(33.3% - 20px);
  margin: 10px;	
}
.thumbs section:before{
  content: "";
  display: block;
  padding-top: 100%;
}
.thumbs section img{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: bottom;';	
}


 /* ------ ウェルカムフラワー・キャンドル 画像正方形 ------ */
 .welcome {
    display: flex;	
    flex-wrap: wrap; 
    justify-content: center; /* 中央寄せ */
  }

  /* セクションのスタイル設定 */
  .welcome section {
    position: relative;
    width: calc(33.3% - 20px); /* 幅の計算、周囲のマージンを考慮 */
    margin: 10px;	
    overflow: hidden; /* はみ出た内容を隠す */
  }

  /* セクション内で画像を正方形に維持するための設定 */
  .welcome section:before {
    content: "";
    display: block;
    padding-top: 100%; /* 高さを幅と同じにする */
  }

  /* 画像を絶対配置でセクション内に収める */
  .welcome section img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover; /* 画像をセクションに合わせてカバー */
    object-position: center; /* 画像をセンターに配置 */
  }


 /* ------ メイン・ダイニングなど横レイアウト統一------ */	

  .main_yoko {
	display: flex;
	flex-wrap: wrap;
	justify-content: center; /* 画像を中央揃えで表示 */
  }

  .main_yoko section {
	position: relative;
	width: calc(50% - 20px); /* 幅の計算、周囲のマージンを考慮 */
	margin: 10px;
	overflow: hidden; /* はみ出た内容を隠す */
  }

  .main_yoko section:before {
	content: "";
	display: block;
	padding-top: 71.43%; /* 高さを幅の5/7にする */
  }

  .main_yoko section img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 画像をセクションに合わせてカバー */
	object-position: center; /* 画像をセンターに配置 */
  }

 

 /* ------ 共通CSS------ */	
h1{
	 font-family: 'Marcellus SC', serif;
	 text-align:center;
	 letter-spacing:3px;
	 font-weight:normal;
	 color:#333;
	 margin-top:0;
	 font-size:3.2em;	
}
.s,.s_ja{
	text-align:center;
	font-weight:normal;
	display:block;
	font-size:10px;
	letter-spacing:3px;
	color:#9a9a9a;
}
.s{
	font-family:  'Marcellus SC', serif;
}

/*h2{
	 font-family: 'Marcellus SC', serif;
	 text-align:center;
	 letter-spacing:3px;
	 font-weight:normal;
	 color:#333;
	 display:block;
	 margin-top:15px;
	 font-size:2.5em;
}*/
.ss{
	font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	text-align:center;
	font-weight:normal;
	display:block;
	font-size:10px;
	letter-spacing:3px;
	color:#9a9a9a;
}
.break{
	display:inline-block;
}

#nav_smart{
	display:none;
}

.waku p {
	display:block;
	margin:0;
	font-size:1em;
	color:#333;
	padding-bottom:1%;
}
.waku:after{content:"";
	display:block;
	clear:both;
}
.waku_index{
	padding:20px 50px;
}
.waku_index:after{content:"";
	display:block;
	clear:both;
}
.waku_3{
	float:left;
	width:31%;
	padding:1%;
}

/* ------ 部屋名------ */
.roomname{
	display: block;
	font-family: 'Marcellus SC', serif;
	letter-spacing:3px;
	text-align: center;
	font-size: 1em;
	/*background-color:rgba(51,51,51,0.2);*/
	padding: 5px 0;
}

.roomname h2 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
}

.roomname h2:before, .roomname h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}

.roomname h2:before {
  left:0;
}
.roomname h2:after {
  right: 0;
}

/* ------ 別ページ読み込み------ */
 #frameWindow{
	position:fixed;
	width:100%;
    height:100%;
	top:0;
	right:0;
	bottom:0;
	left:0;
	padding-top:30px;
	padding-bottom:30px;
	display:none;
	background-color:#fff;
	text-align: center;
	z-index:999;
	overflow: auto;
    -webkit-overflow-scrolling:touch;
 }
iframe{
 	width:90%;
	height: 90vh;
	padding:20px;
	background-color:#fff;
	border:none;
}

/* ------ 画像並べる------ */
.waku{
	margin-bottom:3%;
}
.box {
	float: left;
	margin-left: 3.2%;
}
.box:first-child{
	margin-left: 0;
}
.one-yoko{
	width:100%;
	text-align:center;
}
.one-third {
	text-align:center;
	width:31.2%;
}
.one-third img{
	max-width:90%;
}
.menutitle{
	 text-align:center;
	 letter-spacing:3px;
	 font-weight:normal;
	 color:#333;
	 margin-top:5px;
	 font-size:1.5em;	
}

/* ------ ページ内トップへ戻る------ */
#gotop	{
	display: block;
	padding: 10px 20px;
	background-color: #ccc;	
	text-align: center;
	cursor:pointer;
	font-size:20px;
}

/* footer */
#footer {
	margin-top:10px;
	padding-top: 15px;
	padding-bottom: 20px;
	font-size:1em;
	text-align: center;
	color:#ccc;
	letter-spacing: 0.2em;
	background-color:#333;
}
#footer a{
	color:#ccc;
}
.footerfixed{
	width:100%;
	position:fixed;
	bottom:0;
}

/* ------ ヘッダー部分------ */
/* トップページヘッダー */

#footer_menu{
	width:100%;
	height: 70px;
	position:fixed;
	z-index:5;
	bottom:0;	
	background-color:rgba(255,255,255,0.95);	
}

/*===============================================
横幅が600px以上
===============================================*/
@media screen and (min-width: 600px), print {
	
.smart,#open_btn_smart,#back_btn_smart,#search_btn_smart{ 
	display:none;
}
#select_smart{
	display:none;
}


#logo{
	padding-top:15px;
}
		
	
	
#logo_index{
	padding:15px 0;
}

 /* ------ 検索メニュー部分------ */
#select{
	  margin-top:35px;
  }
#selectmenu,#mainmenu{
	top:0;
	right:0;
	bottom:0;
	left:0;	
	overflow:scroll;
	font-size: 1.5em;
	background-color:rgba(0,0,0,0.4);
}
#selectmenu_inner,#mainmenu_inner{
	display: inline-block;
	margin-top:250px;
	padding:20px 50px 30px;
	width:50%;
	border-radius: 10px;
	background-color:rgba(255,255,255,0.9);
}
#style label,#flower label,#color label,/*.title_hotel,*/#page a,#hotel label,.room a/*#hotelonly label*/{
	padding: 10px 0;
	border: 3px solid #eee;
}
#select input:checked + label {
	border: 3px solid #666;
}

/* ------ トップページメニュー------ */
#index_menu{
	padding:0 20px;
}
.i_menu{
	width:calc(33.3% - 40px);
	margin:0 20px 30px;
	
}
.i_menu img{
	max-width:100%;

}
.i_menu p{
	margin:5px 0;
	font-size:2em;
}
.s_ja{
	font-size:0.6em;
}

/* ------ コンテンツ部分------ */
#container{
	padding-left:1.5% ;
	padding-right:1.5%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 80px;
    animation: fadeIn 3s ease 0s 1 normal;
    -webkit-animation: fadeIn 3s ease 0s 1 normal;
}
.space_top{
	margin-top:100px;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}		
#container_2 {
	padding:1% 3% 0;
	margin: 0 auto;
}
#container_2 img{
	max-width:100%;
}

/* ------ 画像並べる------ */
.one{
	width:60%;
	margin:0 auto;
}
.one-second {width: 48.4%; }

#index a{
	margin-left: auto;
	display:block;
	width:15%;
	padding: 1% 2% 1% 2% ;
	background-color:#000;
	color:#fff;
	text-align: center;
	justify-content: center;
	font-size:1.4em;
}

/* ------ 画像左下の帯------ */
.photo{
	position:relative;
}
.photo p{
	position: absolute;
	bottom:0;
  	left: 0;
	margin: 0;
  	color: #fff;
	background-color:rgba(51,51,51,0.6);
  	font-size: 1em;
 	padding: 5px 10px;
}


}

/*===============================================
横幅が1080px以上
===============================================*/
@media (min-width: 1080px) {

#iPadsmart{
	display:none;
}
	
.indeximage{
	background-size:cover;
	background-image:url(../image/top.jpg);
	background-repeat:no-repeat;
}
	
#page label{
	width:49%;
}


#style label,#color label {
	width:49.5%;
}
#page label {
	display:inline-block;
	width:49.5%;
}
#index a{
	padding: 1% ;
}

#container {
	width: 1200px;
}
#container_2{
	width: 960px;
}

#footer_menu_inner{
	position: relative;
	width: 1200px;
	margin-left:auto;
	margin-right:auto;
}	

/* ------ 別ページ読み込み------ */
 #frameWindow{
	background-color:rgba(0,0,0,0.4);
 }
iframe{
	width:80%;
	border-radius: 10px;
}

}