/* ------------------------------------------------
  header
------------------------------------------------ */
header.page {
	line-height: 1;
	text-align: center;
	background-color: rgba(255,255,255,.9);
	width: 100%;
	position: absolute;
	top: -100%;
	z-index: 10;
	-webkit-transition: top 0.3s ease;
	transition: top 0.3s ease;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}

header.page.initialized {
	/* top: -100px; */
}
header.page a {
	color: #3c3c3c;
	text-decoration: none;
}
header.page > .top {
	border-bottom: 1px solid #b4b4b4;
	padding: 11px 40px;
	width: 100%;
	display: table;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
header.page > .top > div {
	letter-spacing: -.4em;
	display: table-cell;
	vertical-align: middle;
	float: none;
}
header.page > .top > div > * {
	letter-spacing: .2em;
	display: inline-block;
	vertical-align: middle;
}
header.page > .top > .left {
	text-align: left;
	width: 25%;
}
header.page > .top > .right {
	text-align: right;
	width: 25%;
}
header.page.en > .top > .left,
header.page.en > .top > .right {
	width: 30%;
}
header.page > .top .reservation li {
	display: inline-block;
}
header.page > .top .reservation li + li{
	margin-left: 40px;
}
header.page > .top .share {
	letter-spacing: -.4em;
}
header.page > .top .share > span {
	letter-spacing: .2em;
	display: inline-block;
	vertical-align: middle;
}
header.page > .top .share > .phonetic {
	display: none;
}
header.page > .top .share .en {
	font-size: 12px;
	border-right: 1px solid #3C3C3C;
	padding-right: 14px;
	margin-right: 30px;
}
header.page > .top .share .tw {
	margin-right: 12px;
	vertical-align: middle;
}
header.page > .top .share .tel {
	display: none;
}
header.page > .top #menu_btn {
	display: none;
}
header.page > .bottom {
	padding-bottom: 5px;
}

/*----- header固定 -----*/
body.fixed header.page{
	position: fixed!important;
	top: 0;
	left: 0;
	z-index: 10;
}


/* ----------------------------
  menu
---------------------------- */
header.page nav ul {
	letter-spacing: -.4em;
}
header.page nav li {
	letter-spacing: 0.2em;
	display: inline-block;
}
header.page nav li + li {
	margin-left: 15px;
}
header.page nav a {
	text-decoration: none;
	padding: 12px 10px;
	display: inline-block;
	position: relative;
}
header.page nav li a.default,
header.page nav li a.current{
	color: #b4b4b4;
	position: relative;
}
header.page nav.global a:after {
	content: "";
	background: url(../images/header/arrow.png) 50% 50% no-repeat;
	width: 100%;
	height: 6px;
	position: absolute;
	left: 0;
	bottom: 4px;
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	-ms-transition: opacity 0.2s linear;
	-o-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
}
header.page nav li a.current::after {
	opacity: 1;
}


/* ----------------------------
  submenu
---------------------------- */
#submenu {
	background-color: rgba(60,60,60,.9);
	width: 100%;
	height: 36px;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10;
}
header.page.initialized #submenu {
	display: none;
}
#submenu nav {
	/*text-align: center;*/
	/*width: 100%;*/
	display: none;
	position: absolute;
	left: 0;
	top: 0;
}
#submenu nav ul li + li {
 	margin-left: 10px;
}
#submenu nav ul li a {
	color: #fff;
	font-size: 12px;
}



/* @media   */

/*	1365px以下（PC）	*/
@media screen and (max-width: 1365px) {
	header.page > .top {
		padding-left: 2.9283%;
		padding-right: 2.9283%;
	}
	header.page nav li + li{
		margin-left: 1.4613%;
	}
	header.page nav ul li a {
		padding-left: .5em;
		padding-right: .5em;
	}
}


/*	799px以下（TAB）	*/
@media screen and (max-width: 799px) {
	header.page,
	body.fixed header.page{
		position: fixed !important;
		left: 0;
		top: initial !important;
		top: auto !important;
		bottom: 0;
		z-index: 10;
	}
	header.page > .top {
		border-bottom-width: 0;
		padding: .75rem;
	}
	header.page > .top > .left,
	header.page > .top > .right {
		width: 30%;
	}
	header.page > .top .reservation .recomend,
	header.page > .top .share .en,
	header.page > .top .share .tw,
	header.page > .top .share .fb {
		display: none;
	}
	header.page > .top .logo {
		width: 2.7rem;
	}
	header.page > .top .logo a{
		background: url(../images/header/sp/logo.png) no-repeat;
		-webkit-background-size: contain;
		background-size: contain;
		width: 2.7rem;
		height: 2.7rem;
		display: block;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	header.page > .top .reservation li.online {
		display: block;
	}
	header.page > .top .reservation li.online a {
		letter-spacing: normal;
		font-size: 11px;
		font-size: .9rem;
		padding: 0 1rem;
		width: auto;
	}
	header.page > .top .reservation li.online a::before {
		content: '';
		background: url(../images/header/sp/ico_online.png) 50% 50% no-repeat;
		-webkit-background-size: contain;
		background-size: contain;
		margin-right: 0.5em;
		width: 1.8rem;
		height: 2.7rem;
		display: inline-block;
		vertical-align: middle;
	}
	header.page > .top .share > .tel {
		display: inline-block;
	}
	header.page > .top .share > .phonetic {
		width: 85.7143%;
		display: inline-block;
	}
	header.page > .top .share > .phonetic img {
		width: 100%;
		height: auto;
	}
	header.page > .top .tel a {
		background: url(../images/header/sp/ico_tel.png) 50% 50% no-repeat;
		-webkit-background-size: 1.7rem 1.8rem;
		background-size: 1.7rem 1.8rem;
		padding: 0;
		width: 2.7rem;
		height: 2.7rem;
		display: block;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	header.page > .top #menu_btn {
		border-width: 0;
		background: url(../images/header/sp/menu.png) 0 50% no-repeat;
		-webkit-background-size: 2rem auto;
		background-size: 2rem auto;
		margin: -.75rem 0 -.75rem 1rem;
		padding: 0;
		width: 4.2rem;
		height: 4.2rem;
		display: inline-block;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	header.page > .bottom {
		display: none;
	}
	header.page nav{
		padding: 13px 0;
		font-weight: 500;
		letter-spacing: 0.2em;
	}
	header.page nav ul{
		letter-spacing: -.4em;
	}
	header.page nav li{
		display: inline-block;
		letter-spacing: normal;
	}
	header.page nav li + li{
		margin-left: 2.3347%;
	}
	header.page nav ul li a{
		letter-spacing: 0.2em;
	}
}
/* @media   */


/* ------------------------------------------------
  SP menu
------------------------------------------------ */
/*	799px以下（TAB）	*/
@media screen and (max-width: 799px) {
	#drawer_menu {
		background-color: #fff;
		/*padding-top: 4.5rem;*/
		width: 100vw;
		height: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		position: fixed;
		top: 100%;
		left: 0;
		opacity: 0;
		z-index: 100;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		-webkit-transition: all .5s ease;
		transition: all .5s ease;
	}
	#drawer_menu.show {
		top: 0;
		opacity: 1;
	}
	#drawer_menu > header {
		background-color: #fff;
		width: 100%;
		height: 4.5rem;
		position: relative;
	}
	#drawer_menu > header .logo {
		margin: -1.35rem 0 0 -1.35rem;
		width: 2.7rem;
		display: block;
		position: absolute;
		left: 50%;
		top: 50%;
	}
	#drawer_menu > header .logo img {
		width: 100%;
	}
	#drawer_menu .btn.close {
		background: #fff url(../images/header/sp/ico_close.png) 50% 50% no-repeat;
		-webkit-background-size: 1rem auto;
		background-size: 1rem auto;
		padding: 0;
		width: 2.7rem;
		height: 2.7rem;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		cursor: pointer;
		vertical-align: top;
	}
	#drawer_menu > header .btn.close {
		position: absolute;
		right: .9rem;
		top: .9rem;
	}
	#drawer_menu > nav li {
		border-top: 1px solid #3c3c3c;
	}
	#drawer_menu > nav li:first-child {
		border-top-width: 0;
	}
	#drawer_menu > nav li.home:first-child {
		border-top-width: 1px;
	}
	#drawer_menu > nav li a {
		font-size: 1.2rem;
		line-height: 1.4rem;
		background-color: #fff;
		padding: 1.8rem 2.5rem;
		display: block;
	}
	#drawer_menu > nav li a::before {
		content: "";
		background: url(../images/header/sp/menu_arrow_bk.png) 50% 50% no-repeat;
		-webkit-background-size: .4rem .7rem;
		background-size: .4rem .7rem;
		margin-right: .7rem;
		width: 1.4rem;
		height: 1.4rem;
		display: inline-block;
		vertical-align: bottom;
		-webkit-transition: transform .2s ease;
		transition: transform .2s ease;
	}
	#drawer_menu > nav li.home a {
		font-weight: 700;
	}
	#drawer_menu > nav li.reservation {
		border-top-color: #fff;
	}
	#drawer_menu > nav li.reservation a {
		color: #fff;
		font-size: 1.4rem;
		font-weight: 700;
		color: #fff;
		background-color: #3c3c3c;
	}
	#drawer_menu > nav li.reservation a::before {
		background-image: url(../images/header/sp/menu_arrow.png);
	}
	#drawer_menu > nav li.reservation + .reservation a {
		background-color: #606060;
	}
	#drawer_menu > nav li.has_submenu > a::before {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	#drawer_menu > nav li.has_submenu > a.open::before {
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
	}
	#drawer_menu > nav li.has_submenu ul {
		display: none;
	}
	#drawer_menu > nav li.has_submenu ul li {
		border-top-width: 1px !important;
		border-color: #b4b4b4;
	}
	#drawer_menu > nav li.has_submenu ul li a {
		background-color: #f0f0f0;
		padding-left: 4.7rem;
	}

	#drawer_menu > .share {
		letter-spacing: -.4em;
		text-align: center;
		border-top: 1px solid #3c3c3c;
		padding: 2rem 0;
	}
	#drawer_menu > .share span {
		letter-spacing: no-repeat;
		display: inline-block;
		vertical-align: middle;
	}
	#drawer_menu > .share span + span {
		margin-left: 3.5rem;
	}
	#drawer_menu > .share span a {
		background-repeat: no-repeat;
		-webkit-background-size: contain;
		background-size: contain;
		width: 2.5rem;
		height: 2rem;
		display: block;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	#drawer_menu > .share .tw a {
		background-image: url(../images/header/sp/tw.png);
	}
	#drawer_menu > .share .fb a {
		background-image: url(../images/header/sp/fb.png);
	}
	#drawer_menu > footer {
		text-align: center;
		background-color: #3c3c3c;
		padding: .75rem 0;
	}
}

/* ------------------------------------------------
  footer
------------------------------------------------ */
footer.page {
	text-align: center;
	width: 100%;
}
footer.page a {
	color: #3c3c3c;
}
footer.page .sitemap,
footer.page .bnr > .inner,
footer.page .info > .inner {
	text-align: left;
	letter-spacing: -.4em;
	margin: 0 auto;
	padding: 40px;
	/*max-width: 1286px;*/
	max-width: 1366px;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
footer.page .sitemap .footer_links{
	width: 140px;
	font-size: 12px;
	font-weight: 500;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
}
footer.page .sitemap .footer_links + .footer_links{
	margin-left: 3.1129%;
}
footer.page .sitemap .footer_links:last-child{
	margin-left: 5.4475%;
	width: auto;
}
footer.page .sitemap .footer_links li{
	line-height: 1.67;
}
footer.page .sitemap .footer_links li a:hover{
	text-decoration: underline;
}
footer.page .sitemap .footer_links li.title{
	padding-bottom: 2px;
	margin-bottom: 8px;
	border-bottom: 1px solid #000;
}
footer.page .info {
	letter-spacing: normal;
	border-top: 1px solid #e2e2e2;
}
footer.page .info .inner > * {
	font-size: 10px;
	line-height: 1.5;
	text-align: left;
	letter-spacing: normal;
	padding: 1px 16px 1px 0;
	display: inline-block;
	vertical-align: middle;
}
footer.page .info .inner > * + * {
	padding-left: 16px;
}
footer.page .info .footer_logo.en{
	width: 164px;
}
footer.page .info .footer_logo.en img {
	width: 100%;
	height: auto;
}
footer.page .info .inner address {
	font-style: normal;
	border-left: 1px solid #e2e2e2;
	border-right: 1px solid #e2e2e2;
}

/* ----------------------------
  banner
---------------------------- */
footer.page .bnr {
	background-color: #f0f0f0;
}
footer.page .bnr .inner {
	text-align: center;
}
footer.page .bnr a {
	width: 285px;
	display: inline-block;
	vertical-align: middle;
}
footer.page .bnr a + a {
	margin-left: 20px;
}
footer.page .bnr a img{
	width: 100%;
	height: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
/*----- 下側のバナー -----*/
footer.page .bnr.bottom .inner {
	text-align: center;
	padding: 20px 0;
}
footer.page .bnr.bottom a {
	width: 200px;
}
footer.page .bnr.bottom a img{
	border: 1px solid #e2e2e2;
}


footer.page small{
	color: #fff;
	background-color: #3C3C3C;
	font-size: 10px;
	display: block;
	padding: 10px 0;
	font-weight: 500;
	letter-spacing: 0;
}


/* @media   */

@media only screen and (max-width: 1365px) and (min-width: 800px){

	footer.page .info .footer_logo.en{
		width: 12.7527%;
	}
	footer.page .info .footer_logo img {
		width: 100%;
	}
	footer.page .sitemap .footer_links{
		width: 19.4402%;
	}
	footer.page .sitemap .footer_links + .footer_links{
		margin-left: 5.56%;
	}
	footer.page .sitemap .footer_links + .footer_links:nth-child(5){
		margin-left: 0;
	}
	footer.page .sitemap .footer_links + .footer_links:nth-child(n + 5){
		margin-top: 2.4078%;
	}
}

@media screen and (max-width: 799px) {
	footer.page .sitemap {
		text-align: center;
	}
	footer.page .info .inner > * {
		line-height: 1.8;
		text-align: center;
		border-width: 0 !important;
		margin: 0 auto;
		padding: 0 !important;
		display: block;
	}
	footer.page .info .footer_logo {
		width: 42.0307%;
	}
	footer.page .info .footer_logo.en {
		width: 53.125%;
	}
	footer.page .info .footer_logo img{
		width: 100%;
		max-width: 200px;
	}
	footer.page .info address {
		letter-spacing: -0.07em;
	}
	footer.page .info address::before,
	footer.page .info address::after {
		content: "";
		background-color: #e2e2e2;
		margin: 1.5rem auto;
		width: 33.5626%;
		height: 1px;
		display: block;
	}
	footer.page .info ul.links{
		display: block;
		letter-spacing: -.4em;
		padding: 0;
	}
	footer.page .info ul.links li{
		display: inline-block;
		letter-spacing: normal;
	}
	footer.page .info ul.links li + li{
		margin-left: 1.8rem;
	}

	/* ----------------------------
	  banner
	---------------------------- */
	footer.page .bnr.top > .inner {
		padding: 5% 0;
	}
	footer.page .bnr.bottom > .inner {
		padding: 2.5% 0;
	}
	footer.page .bnr.top a{
		width: 35.625%;
	}
	footer.page .bnr.bottom a {
		width: 25%;
	}
	footer.page .bnr.bottom a + a {
		margin-left: 2.5%;
	}
	footer.page small{
		font-size: 8px;
		padding: 0.6rem 0;
	}
}

@media screen and (max-width: 599px) {
	footer.page .bnr.top > .inner,
	footer.page .bnr.bottom > .inner {
		padding:  7.8125%;
	}
	footer.page .bnr.bottom > .inner {
		text-align: left;
	}
	footer.page .bnr.top a{
		width: 52.5926%;
	}
	footer.page .bnr.bottom a {
		width: 46.2963%;
	}
	footer.page .bnr.bottom a + a {
		margin-left: 0;
	}
	footer.page .bnr.bottom a:nth-child(even){
		margin-left: 7.4074%;
	}
	footer.page .bnr.bottom a:nth-child(n+3){
		margin-top: 7.4074%;
	}

	footer.page .bnr.golf > .inner {
		/*text-align: center;*/
	}
	footer.page .bnr.golf a {
		/*width: 52.5926%;*/
	}
}


/* @media   */