

/*------------------------------------------------------------------------------
Css name: common.css
Css info: 共通スタイル
------------------------------------------------------------------------------*/
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
/*------------------------------------------------------------------------
基本
--------------------------------------------------------------------------*/

*{
	margin: 0px;
	padding: 0px;
	box-sizing:border-box;
}

html{
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
	width:100%;
}

body{
	height:100%;
	width:100%;
	min-width: 1100px;
	margin:0px;
	padding:0px;
	color:#432D07;
	font-size:1.6em;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

p{
	line-height: 1.8;
}

table, th, td, th {
	border-collapse: collapse;
	border-spacing: 0;
	font-weight: normal;
	font-size:1em;
}

/*table,div,ol,ul,dl,dt,dd{
	margin:0px;
	padding:0px;
}*/
li{
	list-style: none;
}

textarea,input{
	font-size:1em;
}



h1,h2,h3,h4,h5,h6,small{		/* 題名 */
	font-size:100%;
	line-height:100%;
	margin:0px;
	padding:0px;
}

img,table {		/* イメージ・テーブル線消し */
	border:none;
}

img{		/* Strict時の画像下のスキマを埋める(Firefox) */
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

a{		/* テキストリンク */
	color:#432D07;
	text-decoration:none;
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}
a:active,
a:hover{		/* テキストリンク */
	color:#432D07;
	text-decoration:underline;
	outline:none;
}

a:hover img{		/* 画像リンク */
	/*opacity:0.8;
	filter: alpha(opacity=80);*/
} 

.f_lef{ float: left;}
.f_rig{ float: right;}

/* 回り込みの解除 */
.cf:after {
	content:" ";
	display:block;
	clear:both;
}

/* テキスト反転 */
::-moz-selection {
	background-color: #b9e2e8;
	color: #474b63;
	text-shadow: #fff;
}

::selection {
	background-color: #b9e2e8;
	color: #474b63;
	text-shadow: #fff;
}

@media only screen and (max-width: 599px) {
	body{
		min-width: 100%;
	}
	p{
		line-height: 1.8;
	}
	.f_lef,
	.f_rig{
		float: none;
	}
	.pco{
		display: none;
	}
}
/*------------------------------------------------------------------------
レイアウト 
--------------------------------------------------------------------------*/
.wrapper{
	width: 700px;
	margin: 0 auto;
}
.index .wrapper{
	width: 980px;
	margin: 0 auto;
}
@media only screen and (max-width: 599px) {
	.wrapper,
	.index .wrapper{
		width: 100%;
		padding: 0 3%;
		margin: 0 auto;
	}	
}
/*------------------------------------------------------------------------
header
--------------------------------------------------------------------------*/
.header{
	width: 100%;
	max-width: 2000px;
	margin: -1px auto 0;
}
.logo{
	margin: 20px 0 0 20px;
	float: left;
}
.gNav{
	float: right;
	font-size: 1.125em;/*18pt*/
	font-family: 'Open Sans', sans-serif;
}
	.gNav li{
		display: inline-block;
		margin-right: 40px;
	}
	.gNav li a{
		display: block;
		line-height: 80px;
		transition: .3s;
	}
	.gNav li a:hover{
		text-decoration: none;
	}
	.gNav li a:hover::after{
		display: block;
		content: "";
		width: 8px;
		height: 8px;
		background: #C4AB13;
		border-radius: 50%;
		margin: -20px auto 0;
	}
			.gNav li .txt_jp{
				font-size: 0.889em;/*16px;*/
				font-weight: bold;
			}
		.gNav li:last-child{
			margin-right: 0;
		}
		.gNav li:last-child a{
			display: block;
			background: #C4AB13;
			color: #fff;
			width: 200px;
			text-align: center;
			font-weight: 500;
		}
			.gNav li:last-child a:hover{
				background: #D0BC42;
			}
			.gNav li:last-child a:hover::after{
				display: none;
				margin:  0;
			}
@media only screen and (max-width: 599px) {
	.header{
		max-width: 100%;
	}
	.logo{
		float: none;
	}
		.logo img{
			max-width: 60%;
			margin-bottom: 16px;
		}
	.gNav{
		display: none;
	}
}		

/*------------------------------------------------------------------------
コンテンツ
--------------------------------------------------------------------------*/	
.main{
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
}
.page_title{
	position: relative;
	width: 100%;
	padding-top: 19.53%;
	margin-bottom: 30px;
}
	.page_title span{
		position: absolute;
		display: block;
		background: rgba(255,255,255,0.9);
		width: 300px;
		top:50%;
		left: 11.7%;
		font-size: 1.875em;/*30pt*/
		font-family: 'Open Sans', sans-serif;
		text-align: center;
		line-height: 1;
		padding: 60px 0;
		margin-top: -75px;
	}

.title_line{	
	font-family: 'Open Sans', sans-serif;
	text-align: center;
	overflow: hidden;
	margin-bottom: 30px;
	font-size: 1.625em;/*26px*/
	padding: 4px 0;
}
.index .title_line{
	font-size: 2em;
	margin-bottom: 40px;
}

.reserve .title_line{
    font-size: 1.5em;/*24px*/
}
	.title_line span {
		position: relative;
		display: inline-block;
		margin: 0 2.5em;
		padding: 0 1.5em;
		text-align: left;
	}
	.title_line span::before,
	.title_line span::after {
		position: absolute;
		top: 50%;
		content: '';
		width: 400%;
		height: 1px;
		background-color: #432D07;
	}
	.title_line span::before {
		right: 100%;
	}
	.title_line span::after {
		left: 100%;
	}
@media only screen and (max-width: 599px) {
	.main{
		padding: 3% 0;
	}
	.page_title{
		position: relative;
		width: 100%;
		height: 180px;
		padding-top: 0;
	}
		.page_title span{
			position: absolute;
			display: block;
			background: rgba(255,255,255,0.9);
			width: 50%;
			top:50%;
			left: 3%;
			font-size: 1.875em;/*30pt*/
			font-family: 'Open Sans', sans-serif;
			text-align: center;
			line-height: 1;
			padding: 25px 0;
			margin: -40px 0 0 0;
		}
	.index .title_line{
		font-size: 1.8em;
	}
	.reserve .title_line{
	    font-size: 1.4em;
	}
		.title_line span {
			position: relative;
			display: inline-block;
			margin: 0 1em;
			padding: 0 0.8em;
			text-align: left;
	}
}	
/*------------------------------------------------------------------------
footer
--------------------------------------------------------------------------*/
.footer{
	background: #432D07;
	color: #fff;
	font-size: 0.875em;/*14px*/
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	padding-top:30px;
}
	.footer_logo{
		margin-bottom: 20px;
	}
	.footer_logo,
	.footer_add{
		margin-left: 30px;
	}
	.sns_icon{
		float: right;
		margin-top: -90px;
		margin-right: 30px;
		text-align: right;
	}
		.sns_icon li{
			display: inline-block;
			margin-left:20px;
		}
		.sns_icon li.line_btn_box{
			display: block;
			margin-top: 30px;
		}
	
	
	.copy{
		clear: both;
		width: 100%;
		background: #fff;
		color: #432D07;
		text-align: center;
		font-size: 0.857em;/*12pt*/
		line-height: 40px;
		margin-top: 30px;
	}
@media only screen and (max-width: 599px) {
	.footer_logo{
		margin-bottom: 20px;
	}
	.footer_logo,
	.footer_add{
		margin-left: 0;
		text-align: center;
	}
	.footer_add{
		margin-bottom: 30px;
	}
	.sns_icon{
		float: none;
		margin-top: 0;
		margin-right: 0;
		text-align: center;
	}
		.sns_icon li{
			display: inline-block;
			margin:0 10px;
		}
}
/*------------------------------------------------------------------------
モバイル用グローバル
--------------------------------------------------------------------------*/
/*ハンバーガーメニュー ------------------------------ */
@media only screen and (max-width: 599px) {
	.hamburgerMenu{
		position: absolute;
		top:14px;
		right:14px;
	}
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 44px;
		height: 36px;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #C4AB13;
		border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 16px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(16px) rotate(-45deg);
		transform: translateY(16px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-16px) rotate(45deg);
		transform: translateY(-16px) rotate(45deg);
	}
}

/*メニュー ------------------------------ */
[off-canvas] {
	display: none;
	position: fixed;
	overflow: hidden;
	overflow-y: auto;
	background: #f5f5e6;
	color: #474b63;
	-webkit-overflow-scrolling: touch;
	border-left: 1px solid #dadbe0;
}

.mobi_gNav{
	
}
	.mobi_gNav li{
		height: 50px;
		line-height: 50px;
		border-bottom: 1px solid #dadbe0;
		
	}
		.mobi_gNav li a{
			display: block;
			width: 100%;
			height: 100%;
			color: #474b63;
			padding-left: 1em;
			text-decoration: none;
			background: #fff;
			
		}
		.mobi_gNav .tel{
			border-bottom: 0;
			font-size: 1.429em;/*20px*/
			font-weight: bold;
			text-align: center;
			line-height: 1.4em;
			margin: 20px 0;
		}
			.mobi_gNav .tel span{
				display: block;
				text-align: center;
				font-size: 0.6em;
				font-weight: 400;
			}