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

html {
  visibility: hidden;
}

/*
一般設定
 */
body{
	/*background:url(../images/bg-image.jpg);*/
	background:#eeebe0;
	background-size:cover;
	color: #220b06!important;
	font-family: "source-han-sans-japanese",sans-serif;
	font-style: normal;
	font-weight: 300;
}
a{
	text-decoration: none;
	color: #220b06!important;
}
.mincho{
	font-family:"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.tb, 
.sp{
	display: none;
}
.fv{
	width: 165px;
	height: 121px;
	position: absolute;
	z-index:4;
	left: 50%;
	margin-left: -82.5px;
	top: 50%;
	margin-top: -60.5px;
	opacity: 0.6;
}

.bold{
	font-weight: bold;
}

#header{
	width: 100%;
	/*min-width: 1280px;*/
	margin: 0 auto;
	height: 400px;
	padding: 0 40px;
	text-align: center;
	/*background:#eeebe0;*/
	background: #eeebe0;
	position: fixed;
	z-index:5;
	transition: all 0.4s;
}
#header table{
	float: left;
	margin-top: 54px;
	transition: all 0.4s;
}
#header table tr{
	margin-bottom: 14px;
}
#header table th{
	font-size: 11px;
	width: 70px;
	letter-spacing: 1px;
	font-weight: 200;
	padding-bottom: 5px;
}
#header table td{
	font-size:11px;
	letter-spacing: 1px;
	font-weight: 200;
}
#header table td span{
	letter-spacing: 0;
}

#header .tb .line_at,
#header .pc .line_at
{
	width: 20px;
	height: 17px;
}
@media screen and (max-width: 420px) {
	#header{
	width: 100%;
	/*min-width: 1280px;*/
	margin: 0 auto;
	height: 500px;
	padding: 0 40px;
	text-align: center;
	background:#eeebe0;
	position: fixed;
	z-index:5;
	transition: all 0.4s;
	}
}


#logo_box{

	
}
@media screen and (max-width: 420px) {
	#logo_box{
	}	
}


#logo{
/*	letter-spacing: 15px;
	font-size: 22px;
	width: 395px;
	color: #c8c8c8;
	white-space: nowrap;
	transform: scale( 0.8 , 1 );
	-moz-transform: scale( 0.8 , 1 );
	-webkit-transform: scale( 0.8 , 1 );
	-o-transform: scale( 0.8 , 1 );
	-ms-transform: scale( 0.8 , 1 );*/
	transition: margin 0.4s;
	display: inline-block;
	height: 21px;
	 -webkit-backface-visibility: hidden; /* 追加 */
    backface-visibility: hidden;
}
@media screen and (max-width: 420px) {
	#logo{
		text-align: center;
	}
	#logo img{
	width: 120px;
	}
}




.sns{
	float: right;
	margin-top: 63px;
	margin-left: 121px;
	transition: all 0.4s;
}
.sns li.instagram img{
	width: 25px;
	height: 25px;
}
.sns li{
	float: left;
	margin-left: 27px;
}
#header_nav{
	display: none;
}
.menu-trigger{
	display: none;
}
#scroll_nav{
	background: #a77c70;
	height: 0;
	position: fixed;
	width: 100%;
	top: 110px;
	z-index:4;
	overflow: hidden;
	transition: all 0.4s;
	-moz-transition-delay:0.2s;
	-webkit-transition-delay:0.2s;
	-o-transition-delay:0.2s;
	-ms-transition-delay:0.2s;  
}
#scroll_nav ul{
  max-width: 1080px;
	width: 100%;
	margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#scroll_nav ul li{
	margin: 0 24px;
}
#scroll_nav ul span li{
  display: inline-block;
}

#scroll_nav ul li a{
	letter-spacing: 2.8px;
	font-size: 13px;
	line-height: 40px;
}
#scroll_nav ul li a:hover{
	color: #C8C8C8;
}
#scroll_nav ul li span{
	color: #737373;
	letter-spacing: 2.8px;
	font-size: 13px;
	line-height: 40px;
}




#keyvisual{
	margin: 0 auto;
	text-align: center;
	padding: 144px 96px 0;
	max-width: 1280px;
}
#keyvisual > span{
	width: 100%;
	max-width: 1088px;
	height: auto;
	background-size: cover;
	display: block;
	padding-top: 52.5%;
	margin: 0 auto;
	position: relative;
}
#keyvisual .key{
	width: 100%;
	padding-top: 52.353%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

#keyvisual .key
{
	opacity: 0;
	transition: opacity 1s ease-out;
}

#keyvisual .key.active
{
	opacity: 0.6;
}

#keyvisual  span.controll
{
	display: block;
	width: 100%;
	position: absolute;
	top: auto;
	bottom: 21px;
}

#keyvisual  .controll .pointer
{
	width: 20px;
	height: 20px;
	display: inline-block;
	position: relative;
	cursor: pointer;
	transform: rotate(45deg);
	margin: 0 10px;
	-moz-transform: rotateZ(45deg);
	-webkit-transform: rotateZ(45deg);
	-o-transform: rotateZ(45deg);
	-ms-transform: rotateZ(45deg);
}

#keyvisual .controll .pointer span
{
	display: block;
	background: #C8C8C8;
	position: absolute;
	border-radius: 3px;

	transition: all 0.2s ease-out;
}

#keyvisual .controll .pointer .line_1,
#keyvisual .controll .pointer .line_2,
#keyvisual .controll .pointer .line_3,
#keyvisual .controll .pointer .line_4
{
	width: 4px;
	height: 4px;

	top: 8px;
	left: 8px;
}
#keyvisual .controll .pointer .line_2,
#keyvisual .controll .pointer .line_3,
#keyvisual .controll .pointer .line_4
{
	visibility: hidden;
}

#keyvisual .controll .pointer.active .line_2,
#keyvisual .controll .pointer.active .line_3,
#keyvisual .controll .pointer.active .line_4
{
	visibility: visible;
}

#keyvisual .controll .pointer.active .line_1
{
	width: 7px;
	height: 2px;

	top: 9px;
	left: 0px;
}

#keyvisual .controll .pointer.active .line_2
{
	width: 2px;
	height: 7px;

	top: 0px;
	left: 9px;
}

#keyvisual .controll .pointer.active .line_3
{
	width: 7px;
	height: 2px;

	top: 9px;
	left: 13px;
}

#keyvisual .controll .pointer.active .line_4
{
	width: 2px;
	height: 7px;

	top: 13px;
	left: 9px;
}
.key_cover{
	opacity: 1;
	width: 100%;
	height: 100%;
	display: inline;
}

@media screen and (max-width: 420px) {
	#keyvisual{
	margin: 0 auto;
	text-align: center;
	padding: 144px 96px 0;
	max-width: 1280px;
		margin-top: 40px;
	}
}









#gnav{
  max-width: 1080px;
  width: 100%;
  display: flex;
  justify-content: center;
	flex-wrap: wrap;
	line-height: 1.2;	
	margin: 0 auto;
}
#gnav span{
  display: block;
}
#gnav span li{
  display: inline-block;
}
#gnav li{
	margin: 60px 60px 24px 60px;
}
#gnav li a{
	font-size: 20px;
	color: #FFF;
	letter-spacing: 2.8px;
	height: 15px;
}
#gnav li a:hover{
	opacity: 0.8;
}

#gnav_box{
	width: 100%;
	margin: 0 auto;
}




#main_contents_box{
}
#main_contents{
	width: 100%;
	margin: 0 auto;
	padding: 180px 40px 40px 40px;
	max-width: 1024px;
}
@media screen and (max-width: 420px) {
	#main_contents{
	width: 100%;
	margin: 0 auto;
	padding: 20px 40px 40px 40px;
	max-width: 1024px;
	}
}

#main_contents p, #gnav li a, #header_nav > li > a, #scroll_nav ul li a{
	transform: scale( 0.96 , 1 );
	-moz-transform: scale( 0.96 , 1 );
	-webkit-transform: scale( 0.96 , 1 );
	-o-transform: scale( 0.96 , 1 );
	-ms-transform: scale( 0.96 , 1 );
	-moz-transform-origin: left top;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  -o-transform-origin: left top;
  transform-origin: left top;
}
#main_contents p{
	color:;
}
.content_text{
	font-size: 14px;
	line-height: 28px;
	letter-spacing: 1px;
	font-weight: 200;
}
.content_title{
	font-size: 18px;
	font-weight: 200;
	margin: 0 0 20px;
	padding-top: 80px;
	letter-spacing: 10px;
	transform: scale( 0.96 , 1 );
	-moz-transform: scale( 0.96 , 1 );
	-webkit-transform: scale( 0.96 , 1 );
	-o-transform: scale( 0.96 , 1 );
	-ms-transform: scale( 0.96 , 1 );
	-moz-transform-origin: left top;
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	-o-transform-origin: left top;
	transform-origin: left top;
}
@media screen and (max-width: 420px) {
.content_text{
	font-size: 14px;
	line-height: 20px!important;
	letter-spacing: 1px;
	font-weight: 200;
}
	h2.content_title{
	font-size: 18px;
	font-weight: 200;
	margin: 0 0 10px;
	padding-top: 50px;
	letter-spacing: 10px;
	transform: scale( 0.96 , 1 );
	-moz-transform: scale( 0.96 , 1 );
	-webkit-transform: scale( 0.96 , 1 );
	-o-transform: scale( 0.96 , 1 );
	-ms-transform: scale( 0.96 , 1 );
	-moz-transform-origin: left top;
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	-o-transform-origin: left top;
	transform-origin: left top;
	}
}


.no_index .content_title{
  margin: 0 0 120px;
	padding-top: 150px;
}
.about_text{
	width: 100%;
}
.about_text p{
	margin-bottom: 1em;
}








/*.menu_list li{
	float: left;
	width: 314px;
	margin: 60px 0 0 0px;
	border-bottom: 1px solid #282828;
	height: 542px;
	padding-right: 15px;
  position: relative;
}*/
.menu h2{
	font-weight:bold;
}
.menu .menu-copy{
	font-size: 15px;
	line-height: 28px;
	letter-spacing: 1px;
	font-weight:bold;
}
.menu .menu-text{
	font-size: 13px;
	letter-spacing: 1px;
	font-weight: 200;
}



.menu_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.menu_list li{
	width: 300px;
	height: 420px;
	background-color: #FFF;
	margin: 20px 0 0 0;
	position: relative;
	padding:20px 20px;
	border: 2px solid #220b06;
	opacity: 0.9;
}
.menu_list .spacer{
	display: block;
	width: 300px;
	height: 420px;
}
/*.menu_list li:nth-child(3n){
	padding-right: 0;
}*/
.menu_list li > div, .menu_text, .menu_list li table, .menu_det{
	width: 100%;
}
.menu_list li > div{
	margin-bottom: 0px;
	position: relative;
	width: 280px;
}
.menu_list li .title{
	font-weight: bold!important;
	font-size: 16px;
	position: absolute;
	bottom: 7px;
	letter-spacing: 4px;
	font-weight: 200;
}
.menu_list li a{
  display: block;
  width: calc(100% - 15px);
  text-align:right;
  padding: 15px 0;
  text-decoration: none;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all .1s;
  transition: all .1s;
}
.menu_list li a:hover{
}
.menu_icon{
	width: 100px;
	float: right;
	margin-right: 30px;
}
.menu_text{
	clear: both;
	letter-spacing: 1px;
	font-weight: 200;
	font-size: 12px;
	height: 90px;
	margin-top: 15px;
	margin-bottom: 36px;
	line-height: 22px;
}
@media screen and (max-width: 420px) {
	.menu_list li{
	width: 300px;
	background-color: #FFF;
	margin: 10px 0 0 0;
	position: relative;
	padding: 20px 0px 20px 15px!important;
	border: 2px solid #220b06;
	opacity: 0.9;
	}
	.menu_list li .title{
	font-weight: bold!important;
	font-size: 16px;
	position: absolute;
	bottom: 7px;
	letter-spacing: 4px;
	font-weight: 200;
	}
	.menu_icon{
	width: 100px;
	float: right;
	margin-right: 5px!important;
	}
	.menu_text{
	clear: both;
	letter-spacing: 1px;
	font-weight: 200;
	font-size: 14px!important;
	height: auto;
	margin-top: 15px;
	margin-bottom: 36px;
	line-height: 20px;
	}
}


.menu_list li table{
	border-collapse: collapse;
	margin-bottom: 50px;
	letter-spacing: 1px;
}
.menu_list li table tr{
}
.menu_list li table th{
	font-size: 17px;
	padding: 8px 0;
	width: 39%;
}
.menu_list li table td{
	font-size: 17px;
	padding: 8px 0;
	font-weight: 200;
}
@media screen and (max-width: 420px) {
	.menu_list li table{
	border-collapse: collapse;
	margin-top: 20px!important;
	margin-bottom:50px!important;
	letter-spacing: 1px;
	}
	.menu_list li table tr{
	}
	.menu_list li table th{
	font-size: 17px;
	padding: 8px 0;
	width: 39%;
	}
	.menu_list li table td{
	font-size: 17px;
	padding: 8px 0;
	font-weight: 200;
	}
}



.menu_det{
	font-size: 11px;
	color: #CCC8C8;
	line-height: 18px;
}
#main_contents p.menu_det{
	color: #737373;
}
#menu_line{
	border-top: 1px solid #282828;
	margin-top: 80px;
}
#menu_line_02{
	border-top: 1px solid #282828;
	margin-top: 115px;
}
#customize_menu{
	margin: 0 0 100px;
	/*padding-top: 120px;*/
}
.c_menu_list li{
	border-bottom:none;
  padding-bottom: 0;
	/*height: 480px;*/
}
.c_menu_title{
	font-weight: bold!important;
	font-size: 18px!important;
	letter-spacing: 4px;
	margin-bottom: 15px;
	line-height: 28px;
}
.c_menu_text{
	height: 90px;
}
.c_menu_title_sub{
	margin-bottom: 30px;
	height: auto;
}
#c_menu_line{
	border-top: 1px solid #282828;
}
.menu_link{
  display: flex;
  justify-content: space-between;
} 
.menu_link a{
  font-size: 20px;
  display: block;
  width: 250px;
  border: solid 2px #ce7d6f;
  border-radius: 2px;
  text-align: center;
  padding: 5px 0;
  color: #ce7d6f!important;
  text-decoration: none;
  margin: 50px 0 0 0;
  -webkit-transition: all .1s;
  transition: all .1s;
}
.menu_link a:hover{
  background-color: rgba(255,255,255,0.2);
  -webkit-transition: all .1s;
  transition: all .1s;
}
.access_table{
	margin-bottom: 40px;
	float: left;
}
.access_table th{
	font-size: 12px;
	color: #737373;
	width: 65px;
	padding: 10px 0;
}
.access_table tr:first-child th{
	border-top: 1px solid #343434;
	padding-top: 47px;
}
.access_table td{
	color: #c1c1c1;
	font-size: 12px;
	padding: 10px 0 10px 15px;
	line-height: 20px;
}
.access_table td a{
	color: #a77c70;
  margin-bottom: 5px;
  display: inline-block;
}
.access_table td img{
  width: 100px;
}
.reserve p{
  font-size: 12px;
  line-height: 20px;
}
.reserve p a{
  color: #a77c70;
  display: inline-block;
}
.reserve p.reserve_title{
  color: #c1c1c1 !important;  
  font-size: 20px;
  margin-bottom: 40px;
}
.reserve .btn_wrap{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.reserve .btn_wrap a{
  color: #ce7d6f!important;
  padding: 20px 0;
  width: 47%;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 60px;
  border: solid 2px #ce7d6f;
  font-size: 18px;
  line-height: 1.8;
}
.reserve .btn_wrap a.tell{
  text-align: left;
}
.reserve .btn_wrap a .QR{
  width: 25%;
  margin-left: 5%;
}
#map-canvas{
	width: 544px;
	height: 320px;
	float: right;
}
.map_link{
	display: none;
}
.map_img{
	width: 544px;
	float: right;
}
.ios_map{
	display: none;
}



.staff_left{
  float: left;
  width: 45%
}
.staff_right{
  float: right;
  width: 52%
}
.staff_right img{
  width: 100%;
  opacity: 0.8;
}
.staff_name{
  font-size: 14px;
  font-weight: bold;
	margin-top: 30px;
}
.staff_name span{
  margin-left: 10px;
  font-size: 14px;
  font-weight: bold;
}
.staff_caption{
  font-size: 14px;
  font-weight: bold;
}
.staff_text{
	font-size: 14px;
	line-height: 28px;
	letter-spacing: 1px;
	font-weight: 200;
}
.staff_text p{
	margin-bottom: 1em;
}
@media screen and (max-width: 420px) {
	.staff_left{
	float: left;
	width: 100%
	}
	.staff_right img{
	width: 100%;
	opacity: 0.8;
	}
	.staff_name{
	font-size: 14px;
	font-weight: bold;
	margin-top: 30px;
	}
	.staff_name span{
	margin-left: 10px;
	font-size: 14px;
	font-weight: bold;
	}
	.staff_caption{
	font-size: 14px;
	font-weight: bold;
	}
	.staff_right{
	float: right;
	width: 100%!important;
	margin-top: 20px!important;
	}
	.staff_text{
	font-size: 14px;
	line-height: 20px!important;
	letter-spacing: 1px;
	font-weight: 200;
	}
	.staff_text p{
	margin-bottom: 1em;
	}
}




/*.staff_list{
	margin-bottom: 230px;
}
.staff_position{

}
.staff_name .name{
	font-size: 13px;
	margin-left: 5px;
}
.staff_title{
	font-size: 11px;
	display: block;
}
.staff_name  br{
	display: none;
}
.staff_list li{
	width: 100%;
	float: left;
	margin-bottom: 20px;
}
.staff_list li:first-child{
	margin-left: 0;
}
.staff_list li img
{
	width: 255px;
	float: left;
	margin-right: 30px;
	margin-top: 4px;
}
#main_contents p.staff_name{
	font-size: 12px;
	margin: 0px 0 15px;
	letter-spacing: 4px;
	overflow: auto;
}
#main_contents p.staff_det{
	font-size: 11px;
	color: #737373;
	line-height: 18px;
	overflow: auto;
}*/
#main_contents p.copy{
  margin: 230px 0 0 0;
	color: #220b06;
	text-align: center;
	font-size: 11px;
}
/*2017/06/21 追記*/
#main_contents_box div.camp_bnr {
	margin:100px auto 0;
	text-align:center;
}
/*2017/10/23 追記 columnページ*/
.columns{
  margin-bottom: 40px;
  border-bottom: solid 1px #a77c70;
  width: 100%;
  padding: 0;
}
.columns .detail{
  font-size: 14px;
  line-height: 28px;
  letter-spacing: 1px;
  font-weight: 200;
}
#main_contents li.trigger{
  font-size: 18px;
  line-height: 1.2;
  margin: 0;
  padding: 10px 10px 10px 0;
  width: 100%;
  display: block;
  position: relative;
}
#main_contents li.trigger:hover{
  cursor: pointer;
}
#main_contents li.trigger span.arrow{
  display: inline-block;
  float: right;
  width: 18px;
}
#main_contents li.trigger span.arrow img{
  width: 100%;
  -webkit-transition: all .4s ease-in-out;
  -moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}
#main_contents li.trigger.up span.arrow img{
  -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
}
#main_contents li.detail{
  padding: 10px 15px 30px 15px;
  display: none;
  color: #c1c1c1;
}
#main_contents li.detail span.trigger{
  font-size: 14px;
  display: block;
  width: 200px;
  border: solid 1px #a77c70;
  border-radius: 2px;
  text-align: center;
  padding: 5px 0;
  color: #a77c70;
  text-decoration: none;
  margin: 20px auto 0;
  -webkit-transition: all .1s;
  transition: all .1s;
}
#main_contents li.detail span.trigger:hover{
  cursor: pointer;
  background-color: rgba(255,255,255,0.2);
  -webkit-transition: all .1s;
  transition: all .1s;
}


/*2017/10/23 追記 メニュー各ページ*/
.menu .content_title{
  line-height: 57px;
  vertical-align: middle;
}
h2 .content_title img{
  width: 60px;
  margin-right: 20px;
}
.menu_img{
  margin: 30px 0;
}
.menu_img img{
  width: 100%;
  opacity: 0.8;
}
.menu_p_mt{
  margin-top: 100px;
}
.menu_price{
  width: 100%;
  margin: 30px 0 50px 0;
  border-collapse: collapse;
}
.menu_price th{
  padding: 5px 0;
  width: 200px;
  font-size: 17px;
}
.menu_price td{
  padding: 5px 0;
  font-size: 17px;
}
.menu_price th span{
  padding-left: 40px;
}
.menu_price th.th_head{
  color: #ce7d6f;
	font-weight: bold;
}
.menu_price th.th_head span{
  padding-left: 10px;
  font-size: 14px;
	font-weight: bold;
	color: #220b06;
}

span.menubox{
	display: inline-block;
	text-align: center;
	font-size: 13px;
	width: 200px;
	border: 2px solid #220b06;
	padding: 5px 5px;
	margin-right: 10px;
}
@media screen and (max-width: 420px) {
	span.menubox{
	display: inline-block;
	text-align: center;
	font-size: 13px;
	width: 200px;
	border: 2px solid #220b06;
	padding: 5px 5px;
	margin-right: 0;
	margin-bottom: 5px;
	}
}



@media screen and (max-width: 420px) {
	div.about_mt{
	margin-top: -160px!important;
	}
	div.access_mt{
	margin-top: -160px!important;
	}
}




/*2017/10/23 追記 ナビゲーションの振り分け*/
.no_index #gnav_box{
  padding-top: 130px;
}
/*2017/10/23 追記 TOPへ戻るボタン*/
a.back_top{
  font-size: 20px;
  display: block;
  width: 250px;
  border: solid 2px #ce7d6f;
  border-radius: 2px;
  text-align: center;
  padding: 5px 0;
  color: #ce7d6f!important;
  text-decoration: none;
  margin: 30px auto 0;
  -webkit-transition: all .1s;
  transition: all .1s;
}
a.back_top:hover{
  background-color: rgba(255,255,255,0.2);
  -webkit-transition: all .1s;
  transition: all .1s;
}
/*2017/10/30 追記 instagram*/

@media screen and (max-width: 1024px) {
	.pc{
		display: none;
	}
	.tb{
		display: block;
	}
	#overlay{
		background: #3C3838;
		height: 0;
		position: fixed;
		top: 0;
	}
	.menu-trigger, .menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: absolute;
		width: 32px;
		height: 25px;
		display: block;
		right: 48px;
		top: 51px;
		z-index: 10;
		position: absolute;
	}
	.menu-trigger span {
		position: absolute;
		width: 100%;
		height: 2px;
		background-color: #a77c70;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
		left: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 11px;
		width: 20px;
		right: 0;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
		width: 28px;
		right: 0;
	}
	.menu-trigger.active span{
		background-color: #282828;
	}
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(11px) rotate(45deg);
		transform: translateY(11px) rotate(45deg);
		width: 32px;
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-11px) rotate(-45deg);
		transform: translateY(-11px) rotate(-45deg);
		width: 32px;
	}
	#header{
		width: 100%;
		padding: 0;
		height: auto;
		min-width: 0;
		position: relative;
	}
	#logo_box{
		position: relative;
		height: 128px;
		clear: both;
	}
	#logo{
		margin: 45px auto;
		/*width: 415px;
		letter-spacing: 17px;*/
		width: 309px;
		height: 20px;
	}
	.info{
		height: 60px;
		padding: 24px 30px;
		width: calc(100% - 185px);
		float: left;
	}
	.tb_header{
		background: #000;
	}
	.sns{
		margin: 0;
		padding: 19px;
		width: 185px;
	}
	.sns li img{
		width: 20px;
		height: 20px;
	}
	.info li{
		font-size: 12px;
		float: left;
		white-space: nowrap;
		color: #C8C8C8;
	}
	.info li:nth-child(2){
		float: right;
	}
	.info li a{
		color: #3C3838;
	}
	.info li span{
		color: #242424;
		margin-right: 35px;
	}
	#header_nav table a{
		color: #282828;
	}
	#header_nav{
		background: #a77c70;
		padding: 0px 0px 0px 104px;
		position: absolute;
		z-index:5;
		width: 100%;
		top: 0;
		height: 0;
		min-height: 0;
		overflow-y: scroll;
		position: fixed;
	}
	#header_nav_box > ul.header_nav_gnav{
		margin-bottom: 35px;
		margin-top: 188px;
	}
	#header_nav_box > :not(.header_nav_gnav){
		opacity:0;
		-moz-transition: all 1s;
		-webkit-transition: all 1s;
		-o-transition: all 1s;
		-ms-transition: all 1s;
		transition: all 1s;
	}
	#header_nav li{
		margin-bottom: 35px;
		position: relative;
	}
	#header_nav_box > ul > li > a{
		color: #282828;
		font-size: 28px;
		letter-spacing: 5px;
		display: inline-block;
	}
  #header_nav_box > ul > li > span{
    color: #737373;
		font-size: 28px;
		letter-spacing: 5px;
		display: inline-block;
	}
	#header_nav table{
		font-size: 12px;
		margin: 25px 0 165px;
		width: 100%;
	}
	#header_nav table th{
		color: #282828;
		width: 110px;
		padding: 5px 0;
	}
	#header_nav table td{
		color: #282828;
		padding: 7px 0;
	}
	#header_nav_box > ul.sns{
		margin: -5px 80px 0 0;
	}
	#header_nav_box > ul.sns li{
		margin-bottom: 0;
	}
	#header_nav_box > ul.sns li a{
		font-size: 0;
	}
	#header_nav_box > ul.sns li a img{
		width: 20px;
	}
	#header_nav .copy{
		float: left;
		margin: 0;
	}
	#scroll_nav{
		min-width: 0;
		display: none;
	}
	#keyvisual{
		width: 100%;
		padding: 8px 104px 0;
	}
	.fv{
		width: 29.4%;
		margin-left: 0;
		height: auto;
		left: 35.3%;
	}
/*	#keyvisual > span{
		padding-top: 123%;
	}
	#keyvisual  span span.key{
		padding-top: 123%;
	}*/
	#keyvisual span.controll
	{
		bottom: 33px;
	}
	#gnav_box{
		width: 100%;
	}
	#main_contents{
		width: 100%;
		padding: 0 76px 92px;
	}
	#gnav{
		
	}
	#gnav li{
		margin-left: 40px;
	}
	.content_title{
		font-size: 32px;
		margin: 160px 0 64px 28px;
		padding-top: 0;
	}
  .no_index .content_title{
    margin: 160px 0 64px 28px;
		padding-top: 0;
  }
	.about_text{
		width: auto;
	}
	.access_block{
		padding: 0 28px;
	}
	.access_table{
		float:none;
		margin: 0 0 60px 28px;
	}
	.access_table a{
		color: #3C3838;
	}
	#map-canvas{
		float:none;
		width: 100%;
		/*margin-left: 28px;*/
		/*padding: 0 28px;*/
	}
	.content_text{
		font-size: 16px;
		line-height: 32px;
		margin: 0 28px;
	}  
  .staff_text{
    font-size: 16px;
		line-height: 32px;
  }
	.menu_list {
		margin-top: 80px;
	}
	.menu_list li{
		width: 50%;
		margin: 0 0 40px;
		padding: 0 28px 56px;
	}
  .menu_list li a{
    width: calc(100% - 56px);
    right: 0;
    left: 0;
    margin: 0 auto;
  }
	/*.menu_list li:nth-child(2n+1){
		margin-left: 0;
	}
	.menu_list li:nth-child(3n){
		padding: 0 28px;
	}*/
	.menu_list li > div, .menu_text, .menu_list li table, .menu_det, .c_menu_title {
		width: 100%;
	}

	/*.menu_list li:nth-child(3) .menu_text,.menu_list li:nth-child(4) .menu_text, {
		height: 145px;
		margin: 0;
	}
	.menu_list li:nth-child(5) .menu_text,.menu_list li:nth-child(6) .menu_text{
		height: 115px;
		margin: 0;
	}
	.menu_list li:nth-child(5),.menu_list li:nth-child(6){
		height: 495px;
	}*/
	.menu_list li > div{
		margin-bottom: 25px;
	}
	.menu_list li table{
		margin-bottom: 20px;
	}  
	.menu_text{
		height: 150px;
		margin-bottom: 0;
	}
	#customize_menu{
		margin: 70px 0 60px 28px;
		padding-top: 0;
	}
	.c_menu_list li{
		height: auto;
	}
	.c_menu_list li .c_menu_text{
		height: 150px;
	}
	.c_menu_title{
		margin-bottom: 15px;
	}
	.menu_text.c_menu_title_sub{
		height: auto;
		min-height: 0;
		margin-bottom: 30px;
	}
	.menu_text.c_menu_text{
		height: 130px;
	}
	.c_menu_list li{
		height: auto;
		padding-bottom: 50px;
	}
	.access_table tr:first-child th{
		border-top: none;
		padding-top: 0;
	}
	.access_table th{
		width: 38%;
	}
	.access_table td {
		padding: 5px 0 5px 0px;
	}
  .reserve{
    margin-top: 50px;
    padding: 0 28px;
  }
	.map_img{
		width: 100%;
		float: none;
	}
	.map_link{
		width: 100%;
		border: 1px solid #c1c1c1;
		border-radius: 5px;
		color: #c1c1c1;
		height: 60px;
		text-align: center;
		display: block;
		margin-top: 20px;
		line-height: 60px;
		font-size: 13px;
	}
	.map_link img{
		vertical-align: middle;
		margin-right: 10px;
	}
	/*.staff_list{
		margin: 0 28px;
		margin-bottom: 200px;
	}
	.staff_list li{
		margin-bottom: 40px;
	}
	.staff_name{
		margin: 0 0 15px;
	}
	.staff_det{
		overflow: auto;
	}
	.staff_list li:nth-child(2n+1){
		margin-left: 0;
	}
	.staff_list li img {
		float: left;
		margin-right: 7%;
		width: 35%;
	}*/
	.copy{
		margin: 200px 28px 0 28px;
	}
	/*2017/06/21 追記*/
	#main_contents_box div.camp_bnr img.sp {
		max-width:100%;
		height:auto;
		display:block;
		margin:30px auto 20px;
		text-align:center;
	}
  /*2017/10/23 追記 各メニューページ*/
  .menu p{
		font-size: 16px;
		line-height: 32px;
	}
  .menu_price th{
    display: block;
    width: 100%;
  }
  .menu_price td{
    display: list-item;
    list-style: none;
    width: 100%;
    padding: 16px 0;
  }
  /*2017/10/23 追記 COLUMNページ*/
  .columns .detail{
    font-size: 16px;
    line-height: 32px;
  }
	/*2017/10/23 追記 下層ページのナビゲーション整理*/
  .no_index #gnav_box{
    display: none;
  } 
}


@media screen and (max-width: 660px) {
	.tb{
		display: none;
	}
	.sp{
		display: block;
	}
  .QR{
    display: none;
  }
	.info{
		height: 40px;
		padding: 12px 2% 12px 5px;
		width: calc(100% - 80px)
	}
	.sns{
		padding: 11px 0px 8px 0;
		width: 80px;
	}
	.sns li:first-child{
		margin-left: 0;
	}
	.sns li{
		margin-left: 10px;
	}
	.sns li img{
		width: 18px;
		height: 18px;
		display: block;
	}
	.sns li.instagram img{
		margin-left: -2px;
		height: 18px;
	}
	.info li{
		font-size: 9px;
		margin-left: 0;
		text-align: center;
	}
	.sp_header{
		background: #000;
	}
	.info li:first-child{
		margin-left: 0;
	}
	.info li a{
		color: #C8C8C8;
	}
	.info li:nth-child(2){
		float: right;
	}
	.info li img{
		vertical-align: -35%;
		margin-right: 4px;
		width: 17px;
		height: 17px;
	}
	#logo_box{
		height: 64px;
	}
	#logo{
/*		font-size: 12px;
		width: 235px;
		letter-spacing: 10px;*/
		margin: 24px auto;
		width: 170px;
		height: 11px;
	}
	#logo img{
		vertical-align: top;
	}
	.menu-trigger{
		right: 5px;
		transform: scale( 0.6);
		-moz-transform: scale( 0.6);
		-webkit-transform: scale( 0.6);
		-o-transform: scale( 0.6);
		-ms-transform: scale( 0.6);
		top: 21px
	}
	#header_nav{
		padding: 0px 35px 39px;
	}
	#header_nav_box > ul.header_nav_gnav{
		margin: 104px 0 35px;
	}
	#header_nav li{
		margin-bottom: 20px;
	}
	#header_nav table{
		font-size: 11px;
		margin: 0 0 65px;
		line-height: 20px;
	}
	#header_nav table th{
		width: 75px;
	}
	#header_nav table td{
		padding: 5px 0;
	}
	#header_nav_box{
		overflow-y: scroll;
	}
	#header_nav_box > ul.sns{
		float: none;
		margin-bottom: 30px;
	}
	#header_nav_box > ul.sns li{
		margin-left: 23px;
	}
	#header_nav_box > ul.sns li:first-child{
		margin-left: 0;
	}
	#header_nav_box > ul > li > a{
		font-size: 20px;
	}
  #header_nav_box > ul > li > span{
		font-size: 20px;
	}
	#keyvisual{
		padding: 0px 36px 0;
	}
	#keyvisual span.controll{
		bottom: 2px;
	}
	#keyvisual span .controll .pointer{
		transform: rotate(45deg) scale(0.6);
		margin: 0;
	}
	#gnav_box{
		height: 51px;
		padding: 21px 0;
	}
	#gnav{
		display: none;
	}
	.access_link{
		color: #a77c70;
		text-decoration: none;
		width: 60px;
		margin: 0 auto;
		text-align: center;
	}
	.access_link > span{
		display: block;
		margin-bottom: -10px;
	}
	.sp_icon{
		width: 22px;
		height: 10px;
		margin: 0 auto;
	}
	.fv{
		width: 33%;
		left: 33.5%;
		margin-top: -12%;
	}
	#keyvisual > span, #keyvisual span.key{
		padding-top: 93%;
	}
	#main_contents_box{
		border-top: none;
	}
	#main_contents{
		padding: 0 23px 36px;
	}
	#about{
		margin-top: 180px;
	}
	.content_title{
		font-size: 20px;
    margin: 180px 0 50px 13px;
    letter-spacing: 8px;
    padding-top: 0;
	}
  .no_index .content_title{
    font-size: 20px;
    margin: 120px 0 50px 13px;
    letter-spacing: 8px;
    padding-top: 0;
  }
	.content_text{
		font-size: 13px;
		line-height: 28px;
		margin: 0 13px;
		letter-spacing: 2px;
	}  
  .staff_text{
    font-size: 13px;
		line-height: 28px;
		letter-spacing: 2px;
  }
	.menu_icon{
		width: 40%;
	}
	.menu_list{
		margin-top: 50px;
	}
	.menu_list li .title{
		bottom:0px;
	}
	.menu_list li{
		width: 100%;
		height: auto;
		padding: 0 0 56px 0;
		margin: 0px 0px 50px;
		min-height: 185px;    
	}	
	.menu_list .spacer{
		width: 100%;
		height: 0;
	}
	.menu_text{
		font-size: 11px;
		height: 115px;
		margin-bottom: 0px;
	}
	.menu_list li table td, .menu_list li table th{
		padding: 10px 0;
	}
	.menu_list li table th{
		width: 31%;
	}
	.menu_det{
		font-size: 10px;
		line-height: 16px;
	}
	#customize_menu{
		margin: 65px 0 35px 13px;
		padding-top: 0;
	}
  .staff_left{
    float: none;
    width: 100%
  }
  .staff_right{
    float: none;
    width: 60%;
    margin: 0 auto 40px;
  }
	/*.menu_list li:nth-child(2n), .menu_list li:nth-child(2n+1){
		padding: 0 0 40px;
	}
	.menu_list li:nth-child(2){
		padding: 0 0 55px;
	}
	.menu_list li:nth-child(3), .menu_list li:nth-child(4), .menu_list li:nth-child(5), .menu_list li:nth-child(6){
		padding: 0 0 85px;
		height: auto;
	}*/
	.menu_list li > div, .menu_text, .menu_list li table, .menu_det{
		width: 91%;
		margin: 0 auto;
	}
	.menu_list li table{
		font-size: 14px;
		margin-bottom: 15px;
	}
	.menu_list li > div{
		margin-bottom: 18px;
		padding-right: 15px;
	}
	.menu_list li:nth-child(3) .menu_text, .menu_list li:nth-child(4) .menu_text, .menu_list li:nth-child(5) .menu_text, .menu_list li:nth-child(6) .menu_text{
		height: 110px;
		margin: 0 auto;
	}
	.c_menu_list{
		margin-top: 75px;
	}
	.c_menu_title{
		margin-left: 13px;
		margin-bottom: 5px;
	}
	.menu_text.c_menu_title_sub{
		margin-bottom: 20px;
	}
	.c_menu_list li:nth-child(1){
		padding-bottom: 80px;
	}
	.c_menu_list li{
		height: auto;
		min-height: 0;
		border-bottom: 1px solid #282828;
		padding-bottom: 0 !important;
		margin: 0 0 70px;
	}
	.c_menu_list li:first-child{
		margin-top: 0;
	}
	.c_menu_list li:last-child{
		margin-bottom: 0;
	}
	.c_menu_list li:nth-child(3) .menu_text{
			height:auto !important;
			padding:10px 0;
	}
	#c_menu_line{
		display: none;
	}
	#access{
		margin: 180px 0 40px 13px;
	}
	.access_block{
		padding: 0;
	}
  .reserve{
    padding: 0;
  }
  .reserve p{
  font-size: 11px;
}
	.access_table{
		margin: 0 0 38px 13px;
	}
	.access_table th, .access_table td{
		font-size: 11px;
		padding-left: 0;
		padding: 5px 0 5px 0px;
	}
	#map-canvas{
		width: 100%;
		margin-left: 0;
		height: 200px;
	}
	/*#staff{
		margin: 115px 0 50px 13px;
	}
	.staff_list li{
		width: 100%;
		margin: 0 0 30px;
	}
	.staff_list li img{
		float: left;
		margin-right: 10%;
		margin-bottom: 7px;
		width: 40%;
	}
	.c_menu_list li .c_menu_text{
		margin-bottom: 30px;
		height: auto;
	}
	.menu_text.c_menu_text{
		height: auto;
	}
	.staff_name{
		margin: 0 0 15px;
		font-size: 11px;
	}
	#main_contents p.staff_name{
		margin: 0 0 7px;
		overflow: visible;
	}
	#main_contents p.staff_det{
		overflow: visible;
		clear: both;
	}*/
	.map_link{
		height: 30px;
		margin-top: 10px;
		line-height: 27px;
	}
	.map_link img{
		margin-right: 5px;
		width: 13px;
		vertical-align: -12%;
	}
	/*.staff_list{
		margin: 0 0 65px 13px;
	}
	.staff_name .name{
		margin-left: 0;
		margin-bottom: 5px;
	}
	.staff_name br{
		display: block;
	}
	.staff_title{
		margin-top: 5px;
	}
	.staff_title > span{
		letter-spacing: 2px;
	}*/
	.copy{
		font-size: 10px;
		margin-left: 13px;
	}
	#main_contents p.copy{
		font-size: 2.6vw;
		letter-spacing: 1px;
		text-align: center;
		margin-top: 50px 0 0 0;
	}
  /*2017/10/23 追記 各メニューページ*/
  .menu p{
		font-size: 13px;
		line-height: 28px;
		margin: 0 13px;
		letter-spacing: 2px;
	}
  .menu_price th,.menu_price td{
    font-size: 14px;
  }
  .menu_price th span{
    font-size: 12px;
  }
  .menu_link a{
	font-size: 14px;
    width: 150px;
    margin-top: 50px;
  }
  /*2017/10/23 追記 COLUMNページ*/
  .columns .detail{
    font-size: 13px;
		line-height: 18px;
		letter-spacing: 2px;
  }
	/*2017/06/21 追記*/
	#main_contents_box div.camp_bnr {
		margin:20px auto 0;
		text-align:center;
		/*padding:0 36px;*/
	}
  .index #main_contents_box div.camp_bnr {
		margin:100px auto -100px;
	}
	#main_contents_box div.camp_bnr img {
		max-width:100%;
		height:auto;
	}
  .reserve .btn_wrap a{
    color: #ce7d72!important;
    border-radius: 10px;
    padding: 20px;
    width: 100%;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top: 40px;
    border: solid 1px #a77c70;
    font-size: 18px;
    line-height: 1.8;
  }
}
@media screen and (max-width: 420px) {
  .reserve .btn_wrap a{
    color: #a77c70;
    border-radius: 10px;
    padding: 20px;
    width: 100%;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top: 40px;
    border: solid 1px #a77c70;
    font-size: 14px;
    line-height: 1.8;
  }
}
/*2017/06/22 追記*/
@media screen and (max-width: 450px) {
  .no_index .content_title {
    font-size: 20px;
    margin: 70px 0 50px 13px;
  }
  #main_contents p.copy {
    margin: 150px 0 0 0;
  }
  .info li img{
    vertical-align: -23%;
    margin-right: 4px;
    width: 14px;
    height: 14px;
  }
  .info li a{
	  color: #FFF!important;
  }
  .staff_left{
    float: none;
    width: 100%
  }
  .staff_right{
    float: none;
    width: 80%;
    margin: 0 auto 40px;
  }
  .menu_img{
    margin: 50px 0;
  }
  .menu_price{
    margin: 50px 0;
  }
  a.back_top{
  font-size: 14px!important;
    margin-top: 70px;
  }
}



ul.footer_nav_gnav{
	margin-top: 60px;
	
}
ul.footer_nav_gnav li{
	margin-bottom: 20px;
}
ul.footer_nav_gnav li a{
	font-size: 20px;
	letter-spacing: 5px;
}
