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


/* ---------------------------------------------------------------------------------------------

   Language ※言語切り替え

--------------------------------------------------------------------------------------------- */
#language{
	position: absolute;
	top:0;
	right: 125px;
	width: 125px;
	height: 70px;
	z-index: 500;
}

#language li{
	position: relative;
	width: 125px;
	height: 70px;
	line-height: 70px;
	text-align: center;
}

#language li a{
	display: block;
	width: 100%;
	height: 100%;
	font-size: 14px;
	font-family: 'Libre Baskerville', serif;
	color: #fff;
	background: #666;
}

#language li a:hover{
	opacity: 0.75;
}

.fa-chevron-down{
	font-size: 14px;
	color: #fff;
}


/* ドロップダウンメニュー
-----------------------------------------------------------*/
#language li ul{
	position: absolute;
	top: 100%;
	left: 0;
}

#language li:last-child ul{
	left: 0; 
	width: 100%;
}

#language li ul li{
  overflow: hidden;
  width: 100%;
  height: 0;
  -moz-transition: .2s;
  -webkit-transition: .2s;
  -o-transition: .2s;
  -ms-transition: .2s;
  transition: .2s;
	background: #666;
}

#language li ul li a{
	padding: 17.5px 0 22.5px 0;
	line-height: 1;
}

#language li:hover ul li{
	overflow: visible;
	height: 50px;
	border-bottom: 1px solid #fff;
}

#language li:hover ul li:first-child{
	border-top: 0;
	border-top: 1px solid #fff;
}
#language li:hover ul li:last-child{
	border-bottom: 0;
}



/* ---------------------------------------------------------------------------------------------

   HEADER

--------------------------------------------------------------------------------------------- */
#header {
	width: 100%;
    height: 70px;
    display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	overflow: hidden;
}


/* 宿泊のご予約
-----------------------------------------------------------*/
#plan{
	position: fixed;
	top: 0;
	right: 0;
	height: 70px;
	width: 125px;
	z-index: 999;
}

#plan a{
	display: flex;
	justify-content: center; /*text-align*/
	align-items: center; /*virtical-align*/
	padding: 15px;
	background: #ebe1a9;
	font-size: 14px;
	font-family: 'Noto Serif JP', serif;
	color: #333;
	height: 100%;
}
#plan a:hover{
	opacity: 0.75;
}



/* ---------------------------------------------------------------------------------------------

   メニュー

--------------------------------------------------------------------------------------------- */

/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:0;
    left: -120%;
	width: 50%; 
    height: 100vh; /*ナビの高さ*/
	background: #f8f5f0; 
    /*動き*/
	transition: all 0.6s;/*0.6*/
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    left: 0; /*auto*/
}


/*ナビゲーションの縦スクロール*//*ナビの数が増えた場合縦スクロール*/
#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width:100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list::-webkit-scrollbar { /*スクロールバー非表示*/
    display: none;
}

@media screen and (max-width:1200px) {
	
#g-nav{
	width: 75%;
}
	
}



/*ナビゲーション*/
#g-nav .text-nav {
    position: absolute;
    z-index: 999;
    top: 30%;/*-------------------------20241107-------------------------*/
    left: 25%; 
	padding: 0 7.5%;
    transform: translate(-50%,-50%);
	width: 50%;
}

/*リストのレイアウト設定*/
#g-nav .text-nav li{
	list-style: none;
}
#g-nav .text-nav li a{
	text-decoration: none;
	padding: 5px;
	display: block;
	color: #333;
	font-family: 'Libre Baskerville', serif;
	font-size: clamp(18px, 3vw, 24px);
	font-weight: normal;
}
#g-nav .text-nav li a:hover{
	opacity: 0.5;
}

@media screen and (max-width:412px) {/*20241107*/

#g-nav .text-nav {
    top: 32.5%;
}
    
}

@media screen and (max-width:384px) {/*20241107*/

#g-nav .text-nav {
    top: 35%;
}
    
}

@media screen and (max-width:360px) {/*20241107*/

#g-nav .text-nav {
    top: 37.5%;
}
    
}




/* Villas nav
-----------------------------------------------------------*/
#g-nav .villas-nav-wrap{
    position: absolute;
    z-index: 999;
    top: 55%;/*-------------------------20241107-------------------------*/
    left: 25%; 
	padding: 0 7.5%;
    transform: translate(-50%,-50%);
	width: 50%;
	height: 1px; /*仮*/
}

#g-nav .villas-nav-wrap .villas-nav{
	width: 100%;
	margin: 0 auto;
}

.villas-nav{
	width: 100%;
}

.villas-nav li{
	float: left;
	width: 48%;
	margin: 0 4% 50px 0;
	color: #fff;
}
.villas-nav li.two-Byakuroku,
.villas-nav li.four-Futaai{
	margin: 0 0 50px 0;
}

.villas-nav li img{
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}
.villas-nav li a:hover img{
	opacity: 0.75;
}

.villas-nav .villas-name{
	line-height: 1.5;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	font-size: clamp(10px, 3vw, 16px);
}
.villas-nav li a.villas-name{
	position: relative;
	color: #333;
}

@media screen and (max-width:1200px) {

#g-nav .villas-nav-wrap{
	width: 75%;
    left: 37.5%; 
}
	
}

@media screen and (max-width:800px) {

.villas-nav li{
	float: none;
	width: 100%;
	margin: 0 0 50px 0;
}	
	
}

@media screen and (max-width:412px) {/*20241107*/

#g-nav .villas-nav-wrap{
    top: 60%; 
}
    
}

@media screen and (max-width:384px) {/*20241107*/

#g-nav .villas-nav-wrap{
    top: 65%; 
}
    
}

@media screen and (max-width:360px) {/*20241107*/

#g-nav .villas-nav-wrap{
    top: 67.5%; 
}
    
}



/*========= ボタンのためのCSS ===============*/

.openbtn1{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:10px;
	left: 15px;/*-------------------------20241107-------------------------*/
	cursor: pointer;
    width: 100px; 
    height: 100px; 
}
	
/*×に変化*/	
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 1px; 
    border-radius: 2px;
	background-color: #666; 
  	width: 45%;
	filter:drop-shadow(2px 2px 2px rgba(0,0,0,0.9));
  }

.openbtn1 span:nth-of-type(1) {
	top:15px;	
}

.openbtn1 span:nth-of-type(2) {
	top:23px;
}

.openbtn1 span:nth-of-type(3) {
	top:31px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}





/*言語切り替え表示のデフォルトスタイル*/
a[data-stt-changelang] {
margin:0 7px;
}
/*アクティブなテキストのスタイル*/
a[data-stt-active] {
text-decoration:none;
font-weight:bold;
}


























