@charset "utf-8";

/*slick.css*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}


body{
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 300;
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	color: #8E3A00;
	background: rgba(254,250,236,1); /*#fff6d7*/
	line-height: 2; 
}
a{
	text-decoration: none;
}
h1, h2{
	color: #167251;
	font-family: 'Poppins', sans-serif;

}
h2{
	margin: 10px auto;
	font-size: 23px;
	font-weight:normal;
	text-align: center;
}
h2 span {
	display: block;
	font-size: 0.75rem;	/*文字サイズ*/
}


img{
	max-width: 100%;
	height: auto;
}

/* slider上の文字設定*/
#header{
	position: relative;
  overflow:hidden;
  width:100%;
  height:100%;
}
#text{
	position: absolute;
  top: 50%;
	width: 100%;
	-webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
	color: #fff;
	line-height: 1.2;
	text-align: center;
}
#text h2{
	font-size: 50px;
	font-weight: bold;
	margin-bottom: 20px;
	color: #fff;
	text-shadow: 1px 3px 10px #000;
}
#text h3{
	font-size: 30px;
	font-weight:normal;
	color: #fff;
	text-shadow: 1px 3px 10px #000;
	font-family: 'Satisfy', cursive;
}
/* SP 768px以下 */
@media (max-width: 768px){
	#text h2{
	font-size: 26px;
	}
	#text h3{
	font-size: 16px;
	font-family: 'Satisfy', cursive;
	}
}

/* MESSAGE */
#message{
	margin-top: 50px;
}
.innerS{
	width: 70%;
	margin: 0 auto;
	padding-bottom: 40px;
}
/* SP 768px以下 */
@media (max-width: 768px){
	.innerS{
	width: 80%;
	}
}

/* News */
#news {
	margin: 0 auto;
	padding-bottom: 30px;
}
.box{
	width: 60%;
	margin: 0 auto;
	border: dotted;
	border-radius: 20px;
	background: #fff;
	padding: 20px 0;
}
.box span{
	font-size: 14px;
	color: #167251;
}
.box dl {
	height: 105px;	/*高さ。これを超えるとスクロールバー*/
	overflow: auto;
}
.box dt {
  float: left;
	letter-spacing: 0.1em;
	margin-left: 80px;
}
.box dd {
	padding-left: 6em;
	margin-left: 60px;
}

/* SP 768px以下 */
@media (max-width: 768px){
	.box{
	width: 88%;
	}
	.box span{
	font-size: 12px;
	color: #167251;
	}
	.box dl {
	height: 90px;	/*高さ。これを超えるとスクロールバー*/
	overflow: auto;
	}
	.box dt {
  float: left;
	letter-spacing: 0.1em;
	margin-left: 15px;
	}
.box dd {
	padding-left: 1.2em;
	}
}

/* MENU */
#sec01{
	padding: 0 !important;
}
#sec01 a img {
  height: auto;
  border-radius: 20px;
  transition: transform .6s ease; /*ゆっくり変化 */
}
#sec01 a:hover img{
	transform: scale(1.04);
}
#sec01 .img-s, .img-s2{
	text-align: right;
}
#sec01 .inner{
	width: 75%;
	margin: 0 auto;
	padding-bottom: 40px;
}

/* SP 768px以下 */
@media (max-width: 768px){
	#sec01 .inner{
	width: 80%;
	}
}

/* ACCESS*/
.col2 li{
	display: inline-block;
	width: 100%;
  margin: 0 0 10px 0;
}
#sec02 dt {
	clear: left;
	float: left;
	width: 100px;
}
#sec02 dd {
	margin-bottom: 10px;
	overflow: hidden;
}
#sec02 dd span{
	color: #167251;
	font-weight: bold;
}
#map{
	position: relative;
	padding-bottom: 65%;
	height: 0;
	overflow: hidden;
	z-index: 0;
}
#map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}
#sec02 .inner{
	width: 70%;
	margin: 0 auto;
	padding-bottom: 40px;
}
/* MENU ACCESS共通 768px以上 */
@media (min-width: 768px){
	.col2 li{
		width: 45%;
		vertical-align: top;
		padding: 2%;
	}
}

#reserve{
	width: 60%;
	margin: 0px auto;
	margin-bottom: 50px;
	text-align: center;
}

/* 768px以上 */
@media (min-width: 768px){
	body{
		font-size:17px;
	}
	#wrapper{
		width: 100%;
	}
	/* --- nav --- */
	#mainnav li a {
		color: #8E3A00;
		text-decoration: none;
		position: relative;
		font-size: 18px;
	}
	#mainnav li a:hover {
		opacity: 0.7;
	}
	#content{
		width: 100%;
	}
	#sidebar{
		width: 12%;
		position: fixed;
		top: 0;
		right: 3.5%;
		background: rgba(254,250,236,1); /*fff6d7*/
	}	
	.panel{
		display:block !important;
	}
	#sidebar h1{
		padding: 30px 0;
	}
	#mainnav li{
		font-size: 14px;
		padding: 8px 0;
	}
	/* MAP */
	#map iframe{
		height: 300px !important;
  }
	/* パソコンで見たときは"pc"のclassがついた画像*/
	.pc { 
		display: block !important; 
	}
	.sp { 
		display: none !important; 
	}
}


/* スマートフォンで見たときは"sp"のclassがついた画像*/
@media (max-width: 768px) {
  .pc { 
    display: none !important; 
  }
  .sp { 
    display: block !important; 
  	margin: 0 auto;
  	padding: 5px 0;
  }
}

/* 768px以下 */
@media (max-width: 768px){
	body{
	font-size:15.5px;
	}
	#sidebar{
		position: fixed;
		width: 100%;
		z-index:1;
	}
	#sidebarWrap{
		position: relative;
		width: 100%;
		border-bottom: 2px solid #167251;
	}
	#sidebar h1{
		text-align: center;
		background: #fff6d7;
	}
  a#menu{
  	position: fixed;
  	top: 8px;
  	right: 4%;
  	width: 40px;
  	height: 40px;
  	background-color: #fff6d7;
	}
	#menuBtn{
  	display: block;
  	position: absolute;
  	right: 11%;
  	width: 33px;
  	height: 2.5px;
  	margin: 22px 0;
  	background: #167251;
  	transition: .2s;
	}
	#menuBtn:before, #menuBtn:after{
  	display: block;
  	content: "";
  	position: absolute;
  	left: 0;
  	width: 33px;
  	height: 2.5px;
  	background: #167251;
  	transition: .3s;
	}
	#menuBtn:before{
  	margin-top: -10px;
	}
	#menuBtn:after{
  	margin-top: 10px;
	}

	a#menu .close{
  	background: transparent;
	}
	a#menu .close:before, a#menu .close:after{
  	margin-top: 0;
	}
	a#menu .close:before{
  	transform: rotate(-45deg);
  	-webkit-transform: rotate(-45deg);
	}
	a#menu .close:after{
  	transform: rotate(-135deg);
  	-webkit-transform: rotate(-135deg);
	}
	.panel{
		width: 100%;
		overflow: hidden;
		position: relative;
		left: 0;
	}
	.panel a:hover {
		opacity: 0.7;
	}
	#mainnav{
		position: absolute;
		width: 100%;
		text-align: right;
	}
	#mainnav ul{
		border-bottom: 1px solid #167251;
		background: rgba(254,250,236,0.9);
		text-align: center;
	}
	#mainnav li a{
		position: relative;
		display: block;
		padding: 8px 0;
		color: #8E3A00;
	}
	#mainnav li p{
		position: relative;
		display: block;
		padding: 10px 0;
		color: #167251;
	}
}

#reserve a:hover {
	opacity: 0.7;
}
#reserve img{
	margin: 20px 5px 0 0;
}

/* SP 768px以下 */
@media (max-width: 768px){
	.innerS{
	width: 80%;
	}
	#reserve a img{
		width: 75%;
	}
}

/*relaxation・cofe 共通menu*/
#menu h2{
	margin: 40px 0 30px 0;
}
.menu_bg {
	overflow: hidden;
	background: #fff;
	padding: 2% 10%;
	width: 50%;
	margin: 30px auto;
	border-radius: 20px;
	box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
}
.menu_bg h3{
	text-align: center;
	margin-bottom: 5px;
	font-size: 20px;
	letter-spacing: 0.1em;	/*文字間隔を広く*/
}
/* SP 768px以下 */
@media (max-width: 768px){
	.menu_bg{
	width: 80%;
	padding: 5% 5%;
	}
	.menu_bg h3{
	font-size: 18px;
	}
	section h2{
	margin: 20px auto;
	}
}

/*relaxation menu*/
.box1 {
	width: 90%;
	margin: 0 auto;
}
.box1 h4{
	padding-left: 17%;	/*左側に空ける余白*/
	font-size: 18px;
	margin-bottom: 5px;
}
.box1 .menu-text{
	text-align: center;
}
.box1 .price{
	padding-right:18%;	
	text-decoration: none;
	float: right;
}
.box1 p {
	font-size: 16px;	/*文字サイズ*/
	color: #167251;	/*文字色*/
}
.box1 img {
	width: 45%;			
	display: block;
	margin:20px auto;
}

/* SP 768px以下 */
@media (max-width: 768px){
	.box1 {
	width: 90%;
	margin: 0 auto;
	}
	.box1 h4{
		font-size: 16px;	
	}
	.box1 p{
	font-size: 15px;	/*文字サイズ*/
	}
	.box1 .menu-text{
	text-align: left;
	}
}

/*coffee menu*/
.box2 {
	width: 75%;
	margin: 0 auto;
}
.box2 .menu-text{
	text-align: center;
	font-size: 17px;
}
.box2 h4 {
	font-size: 18px;
}
.box2 .price {
	float: right;	/*右に回り込み*/
}
.box2 p {
	font-size: 16px;
	color: #167251;
	margin-bottom: 10px;
}
.box2 img {
	width: 50%;			
	display: block;
	margin:5px auto 35px;
}
.set{
	text-align: center;
}
.setspan{
	color: #167251;	/*文字色*/
}
/* SP 768px以下 */
@media (max-width: 768px){
	.box2 {
	width: 95%;
	margin: 0 auto;
	}
	.box2 h4{
		font-size: 16px;
	}
	.box2 .menu-text{
	text-align: center;
	font-size: 15px;
	}
	.box2 p{
	font-size: 12.5px;
	}
}

/*Gallary（slick使用）*/
.pickup {
	position: relative;
	display: flex;
}
.pickup .slick-slide {
	margin: 5px !important;
	width: auto;
}
.pickup .list img {
	object-fit: cover;	
	width: 90%;	
}
.list {
	width: 23%;		
	margin-right: 2.66%;
	margin-bottom: 20px;
}
.list:nth-of-type(2n) {
	margin-right: 2.66%;	
}
.list:nth-of-type(4n) {
	margin-right: 0;
}

/* SP 768px以下 */
@media (max-width: 768px){
.list {
	width: 49%;			
	margin-right: 2%;		
	margin-bottom: 15px;
	}
.list:nth-of-type(2n) {
	margin-right: 0;
	}
}

/* フッター */
#footer{
	text-align: center;
	font-size: 14px;
	color: #167251;
	padding: 30px 0px 20px 0;
}