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

/* =========================================================
		Header
========================================================= */
.commonHead.restaurantHead .commonSubHead {
	background: #fff;
	padding: 0 14px;
	z-index: 99;
	position: relative;
}
.commonHead.restaurantHead .commonSubHead::after {
	content: "";
	display: block;
	clear: both;
}
.commonHead.restaurantHead .commonSubHead .logo {
	width: 9.4%;
	float: left;
	display: table;
	margin-right: 14px;
	max-width: 117px;
}
.commonHead.restaurantHead .commonSubHead .commonSubHeadNav {
	width: 41.9%;
	float: left;
	max-width: 524px;
}
.commonHead.restaurantHead .commonSubHead li {
	margin-left: 4.9%;
	float: left;
	display: table;
	position: relative;
}
.commonHead.restaurantHead .commonSubHead .subHead01 {
	width: 19.5%;
}
.commonHead.restaurantHead .commonSubHead .subHead02 {
	width: 15.4%;
}
.commonHead.restaurantHead .commonSubHead .subHead03 {
	width: 12%;
}
.commonHead.restaurantHead .commonSubHead .subHead04 {
	width: 7%;
}
.commonHead.restaurantHead .commonSubHead .subHead05 {
	width: 7.4%;
}
.commonHead.restaurantHead .commonSubHead .moreMenu {
	width: 7.8%;
}
.commonHead.restaurantHead .commonSubHead .moreMenu .arw {
	width: 15%;
	margin-top: -11px;
	display: inline-block;
	position: relative;
	float: right;
}
.commonHead.restaurantHead .commonSubHead .moreMenu:hover .arw {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.commonHead.restaurantHead .commonSubHead li a,
.commonHead.restaurantHead .commonSubHead li span {
	position: relative;
	display: table-cell;
	vertical-align: middle;
	height: 50px;
}
.commonHead.restaurantHead .commonSubHead li a:hover {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	-moz-opacity: 1;
	-khtml-opacity: 1;
}
.commonHead.restaurantHead .commonSubHead li span:after {
	content: "";
	bottom: 0;
	height: 5px;
	background: rgba(152,11,32,0);
	display: block;
	width: 100%;
	position: absolute;
}
.commonHead.restaurantHead .commonSubHead li:hover span:after {
	background: #555;
}
.commonHead.restaurantHead .commonSubHead .logo a {
	position: relative;
	display: table-cell;
	vertical-align: middle;
	height: 50px;
	max-width: 117px;
}
.commonHead.restaurantHead .titleWrap {
	position: relative;
	z-index: 97;
}
.commonHead.restaurantHead .titleWrap:after {
	content: "";
	clear: both;
	display: block;
}
.commonHead.restaurantHead .titleWrap .restaurantTop a {
	display: block;
	background: url(../img/return_icon.png) no-repeat;
	background-size: 16px 11px;
	width: 16px;
	height: 11px;
	margin: 6px 6px 0 14px;
	float: left;
	text-indent: -9999px;
	overflow: hidden;
}
.commonHead.restaurantHead .titleWrap h1 {
	background: none;
	float: left;
	color: rgba(255,255,255,0.30);
	padding: 2px 14px;
}
.commonHead .headerContents .headLogo {
	margin: 0 14px;
}
.commonHead .headerContents .headLogo a {
	background: none;
	padding: 0;
}
.restaurantHead .allRestaurant {
	float: right;
	margin-right: 14px;
}
.restaurantHead .allRestaurant a {
	font-size: 1.2rem;
	display: block;
	position: relative;
	height: 65px;
}
.restaurantHead .allRestaurant .childWrap a {
	height: auto;
}
.restaurantHead .allRestaurant span {
	display: inline-block;
	text-indent: -9999px;
	overflow: hidden;
	background: url(../img/allrestaurant_txt.png) no-repeat 0 50%;
	background-size: 127px 24px;
	width: 127px;
	height: 65px;
	vertical-align: top;
}
.restaurantHead .allRestaurant a:hover {
	text-decoration: none;
}
.restaurantHead .allRestaurant a:after {
	content: "";
	display: inline-block;
	background: url(../img/nav_arw.png) no-repeat center;
	background-size: 12px 7px;
	width: 12px;
	height: 65px;
	margin-left: 6px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.restaurantHead .allRestaurant:hover a:after {
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.restaurantHead .allRestaurant:hover span:after {
	position: absolute;
	bottom: 0;
	content: "";
	height: 5px;
	background: #fff;
	width: 100%;
	display: block;
}
.restaurantHead .allRestaurant .detailBox a {
	padding: 0;
}
.restaurantHead .allRestaurant .detailBox a:after {
	display: none;
}
.commonHead.restaurantHead .headerContents .commonNav .left li span:after {
	background: rgba(255,255,255,0);
}
.commonHead.restaurantHead .headerContents .commonNav .left li span:hover:after,
.commonHead.restaurantHead .headerContents .commonNav .left li.moreMenu:hover span:after {
	background: rgba(255,255,255,1);
}
.commonHead.restaurantHead .headerContents .commonNav .left li {
    margin-left: 4%;
    position: relative;
}
.commonHead.restaurantHead .headerContents .commonNav .left .moreMenu:hover:after {
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity: 0.7;
	-khtml-opacity: 0.7;
}
.commonHead.restaurantHead .headerContents .commonNav .left .moreMenu .moreMenuChild .hotelContents li {
	margin: 0 26px 0 0;
}
.commonHead.restaurantHead .headerContents .commonNav .left .moreMenu .moreMenuChild .hotelContents li:last-child {
	margin: 0;
}
.commonHead.restaurantHead .headerContents .commonNav .left .moreMenu .moreMenuChild .hotelContents li:first-child:after {
	display: none;
}
.commonHead .headerContents .commonNav .left .moreMenu span:before {
	border-color: rgba(255,255,255,0.50) transparent transparent transparent;
}
/* =========================================================
		Responsive Header
========================================================= */
@media only screen and (max-width:768px) {
	.resp768 .commonHead.restaurantHead {
		margin-top: 0;
		border: none;
		background: none;
		height: 87px;
	}
	.resp768 .restaurantFixMenu {
		position: relative;
		z-index: 999;
		top: 0;
		height: 95px;
		width: 100%;
		 -webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	.resp768 .restaurantFixMenu.open .restaurantFixMenuWrap {
		-webkit-transform: translateX(-340px);
		-moz-transform: translateX(-340px);
		transform: translateX(-340px);
		-webkit-transition: all .2s;
		-moz-transition: all .2s;
		-o-transition: all .2s;
		transition: all .2s;
		width: 100%;
	}
	.resp768 .open .restaurantFixMenu,
	.resp768 .restaurantFixMenu.fixed {
		position: fixed;
	}
	.resp768 .menuTrigger span {
		background-color: #fff;
	}
	.resp768 .menuTrigger .menu {
		background: url(../img/sp/menu_restaurant.png) no-repeat center;
		background-size: 20px 6px;
	}
	.resp768 .restaurantFixMenu .logo a {
		text-indent: -9999px;
		overflow: hidden;
		display: block;
		margin-left: 3%;
	}
	.resp768 .restaurantFixMenu .subNav,
	.resp768 .subNav.fixed {
		position: relative;
		background: rgba(0,0,0,0.75);
		border-bottom: none;
		height: 45px;
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		transform: translateX(0);
	}
	.resp768 .restaurantFixMenu .subNav:before {
		content: "";
		position: absolute;
		height: 14px;
		width: 100%;
		top: 0;
		z-index: 99998;
		background: url(../img/sp/shadow.png);
		background-size: 5px 14px;
	}
	.resp768 .restaurantFixMenu .subNav li {
		margin: 0;
	}
	.resp768 .restaurantFixMenu .subNav li a {
		height: 45px;
		margin: 0 auto;
		width: 100%;
	}
	.resp768 .restaurantFixMenu .subNav .subNav01 {
		width: 48%;
		margin-right: 21%;
	}
	.resp768 .restaurantFixMenu .subNav .subNav01 a {
		background: url(../img/sp/subnav01.png) no-repeat 0 center;
		background-size: 127px 24px;
	}
	.resp768 .restaurantFixMenu .subNav .subNav02 {
		width: 30%;
	}
	.resp768 .restaurantFixMenu .subNav .subNav02 a {
		background: url(../img/sp/subnav02.png) no-repeat center;
		background-size: 83px 18px;
	}
	.resp768 .restaurantFixMenu .subNav .subNav03 {
		width: 19%;
	}
	.resp768 .restaurantFixMenu .subNav .subNav03 a {
		background: url(../img/sp/subnav03.png) no-repeat center;
		background-size: 38px 11px;
	}
	.resp768 .restaurantFixMenu .subNav .subNav04 {
		width: 12%;
	}
	.resp768 .restaurantFixMenu .subNav .subNav04 a {
		background: url(../img/sp/subnav04.png) no-repeat center;
		background-size: 31px 23px;
	}
	.resp768 .restaurantFixMenu .subNav .subNav05 {
		display: none;
	}
	.restaurantFixMenu .subNav .subNav05 a {
		background: url(../img/sp/subnav05.png) no-repeat right center;
		background-size: 18px 18px;
	}
	.resp768 .sideWrapContents .globalMenu {
		position: relative;
	}
	.resp768 .sideWrapContents .globalMenu .shopNav {
		margin: 0 auto;
		padding: 0 8%;
		border-bottom: 1px solid #ddd;
	}
	.resp768 .sideWrapContents .globalMenu .shopNav:after {
		content: "";
		clear: both;
		display: block;
	}
	.resp768 .sideWrapContents .globalMenu .shopNav li {
		font-size: 1.2rem;
		position: relative;
		margin-bottom: 22px;
	}
	.resp768 .sideWrapContents .globalMenu .shopNav li a {
		position: relative;
		display: block;
	}
	.resp768 .sideWrapContents .globalMenu .shopNav li a:after {
		content: "\f105";
		font-family: FontAwesome;
		font-size: 1.1rem;
		display: block;
		line-height: 1;
		position: absolute;
		width: 15px;
		height: 10px;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		color: #fff;
		text-align: center;
		padding: 0 0 1px 1px;
	}
	.resp768 .sideWrapContents .globalMenu .otherCommonNav {
		margin-bottom: 46px;
	}
	.resp768 .sideWrap .globalMenu .recommended h2 {
		margin: 14px 0 6px;
		font-size: 1.2rem;
		position: relative;
		text-indent: 0;
		background: none;
		width: auto;
		height: auto;
	}
	.resp768 .sideWrapContents .globalMenu .recommended .recommendedWrap {
		padding: 4px 0 20px;
	}
	.resp768 .sideWrapContents .globalMenu .otherNavContents li:first-child,
	.resp768 .sideWrapContents .globalMenu .otherNavContents li:nth-child(2) {
		display: block;
		float: none;
		width: 100%;
		font-size: 1.4rem;
		padding: 15px 0;
		font-weight: bold;
	}
	.resp768 .sideWrapContents .globalMenu .otherNavContents li:nth-child(2) {
		padding: 0 0 20px;
	}
	.resp768 .sideWrapContents .globalMenu .otherNavContents li:first-child a,
	.resp768 .sideWrapContents .globalMenu .otherNavContents li:nth-child(2) a {
		color: #980b20;
	}
	.resp768 .sideWrapContents .globalMenu .otherNavContents li:first-child a:after,
	.resp768 .sideWrapContents .globalMenu .otherNavContents li:nth-child(2) a:after {
		content: "\f105";
		font-family: FontAwesome;
		font-size: 1.1rem;
		display: block;
		line-height: 1;
		float: right;
		top: 6px;
		width: 15px;
		height: 10px;
		margin: auto;
		color: #fff;
		text-align: center;
		background: #980b20;
		padding: 0 0 1px 1px;
		position: relative;
	}
	.resp768 .sideWrap .globalMenu .otherNavContents {
		padding: 16px 0 20px;
	}
	.resp768 .sideWrapContents .globalMenu .otherCommonNav.bottomWrap {
		display: none;
	}
	.resp768 .resutaurantMainTitle {
		position: relative;
		height: 38px;
		display: table;
		width: 100%;
	}
	.resp768 .resutaurantMainTitle:before {
		content: "";
		position: absolute;
		height: 14px;
		width: 100%;
		top: 0;
		z-index: 99998;
		background: url(../img/sp/shadow.png);
		background-size: 5px 14px;
	}
	.resp768 .resutaurantMainTitle:after {
		content: "";
		clear: both;
		display: block;
	}
	.resp768 .resutaurantMainTitle p {
		font-size: 0.9rem;
		color: rgba(255,255,255,0.30);
		padding: 0 3%;
		display: table-cell;
		vertical-align: middle;
		height: 38px;
	}
	.resp768 .resutaurantMainTitle .language a {
		text-indent: -9999px;
		overflow: hidden;
		background: url(../img/sp/language_s.gif) no-repeat 0 center;
		background-size: 55px 15px;
		width: 55px;
		height: 24px;
		float: right;
	}
	.resp768 .restaurantTitleWrap {
		position: relative;
	}
}
/* =========================================================
		Side Fix Navi
========================================================= */
.sideFixNav {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	-o-transition: all .2s;
	transition: all .2s;
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	transform: translateX(0);
	height: 305px;
}
.sideFixNav.close {
	-webkit-overflow-scrolling: touch;
	-webkit-transform: translateX(92px);
	-moz-transform: translateX(92px);
	transform: translateX(92px);
}
.sideFixNav .sideBtn {
	text-indent: -9999px;
	overflow: hidden;
	width: 16px;
	height: 44px;
	border-radius: 5px 0 0 5px;
	background: #bfbfbf;
	position: absolute;
	left: -16px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.sideFixNav .sideBtn:after {
	content: "\f101";
    font-family: FontAwesome;
	display: block;
	font-size: 1.2rem;
	color: #fff;
	text-indent: 0;
	text-align: center;
	line-height: 0;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.sideFixNav .sideBtn:hover,
.sideFixNav .sideBtn:hover:after {
	cursor: pointer;
}
.sideFixNav .sideBtn.close:after {
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.sideFixNav .sideFixNavWrap {
	background: #818181;
	width: 100px;
	border-radius: 5px 0 0 5px;
	height: 305px;
}
.sideFixNav .sideFixNavWrap .title {
	padding: 20px 0 15px;
}
.sideFixNav .sideFixNavWrap .title p {
	background: url(../img/side_title.gif) no-repeat;
	background-size: 64px 9px;
	width: 64px;
	height: 9px;
	margin: 0 auto;
	text-indent: -9999px;
	overflow: hidden;
}
.sideFixNav .sideFixNavWrap .reservedBtn li {
	margin-bottom: 5px;
}
.sideFixNav .sideFixNavWrap .reservedBtn li a {
	text-indent: -9999px;
	overflow: hidden;
	width: 85px;
	height: 85px;
	margin: 0 auto;
	display: block;
}
.sideFixNav .sideFixNavWrap .reservedBtn .reserved01 a {
	background: url(../img/side_reserved01.gif) no-repeat center #fff;
	background-size: 59px 55px;
}
.sideFixNav .sideFixNavWrap .reservedBtn .reserved02 a {
	background: url(../img/side_reserved02.gif) no-repeat center #fff;
	background-size: 35px 27px;
}
.sideFixNav .sideFixNavWrap .contact {
	padding-top: 10px;
	margin: 0 6px;
	border-bottom: 1px solid #a7a7a7;
}
.sideFixNav .sideFixNavWrap .contact li {
	padding-bottom: 15px;
}
.sideFixNav .sideFixNavWrap .contact .tel span {
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	margin: 0 auto;
}
.sideFixNav .sideFixNavWrap .contact .mail a {
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	background: url(../img/side_mail.gif) no-repeat;
	background-size: 34px 26px;
	width: 34px;
	height: 26px;
	margin: 0 auto;
}
.sideFixNav .sideFixNavWrap .other {
	padding-top: 15px;
}
.sideFixNav .sideFixNavWrap .other li {
	padding-bottom: 15px;
}
.sideFixNav .sideFixNavWrap .other a {
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	margin: 0 auto;
}
.sideFixNav .sideFixNavWrap .other .shop a {
	background: url(../img/side_onlineshop.gif) no-repeat;
	background-size: 73px 14px;
	width: 73px;
	height: 14px;
}
.sideFixNav .sideFixNavWrap .other .event a {
	background: url(../img/side_event.gif) no-repeat;
	background-size: 38px 11px;
	width: 38px;
	height: 11px;
}

/* =========================================================
		Main Contents
========================================================= */
.mainContents .innerHead {
	height: 108px;
}
.mainContents .innerHead.fixed {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99;
	height: 90px;
}
.mainContents .headerContents {
	width: 980px;
	margin: 0 auto;
	display: table;
	position: relative;
}
.mainContents .headerContents:after {
	content: "";
	clear: both;
	display: block;
}
.mainContents .headerContents .shopLogo {
	display: table-cell;
	vertical-align: middle;
	text-indent: -9999px;
	overflow: hidden;
}
.mainContents .headerContents .shopLogo a {
	display: block;
}
.mainContents .headerContents .meta {
	display: table-cell;
	width: 680px;
}
.mainContents .headerContents .meta li {
	float: left;
	font-size: 2.2rem;
	color: #fff;
}
.mainContents .headerContents .meta li.tel {
	text-indent: -9999px;
	overflow: hidden;
	margin-top: 20px;
}
.mainContents .headerContents .meta li.tel:before {
	content: "\f095";
	font-family: FontAwesome;
	font-size: 1.8rem;
	text-indent: 0;
	display: block;
	position: relative;
	top: -2px;
	padding-left: 2px;
}
.mainContents .headerContents .meta li.email a:hover:before {
	text-decoration: none;
}
.mainContents .headerContents .meta .sns {
	margin-left: 8px;
}
.mainContents .headerContents .meta .sns li {
	margin-top: 13px;
}
.mainContents .headerContents .meta .sns li a {
	margin-left: 6px;
	color: #fff;
}
.mainContents .headerContents .meta .language a {
	text-indent: -9999px;
	overflow: hidden;
	background: url(../img/english_icon_w.png) no-repeat;
	background-size: 64px 17px;
	width: 64px;
	height: 17px;
	display: block;
	margin: 13px 0 0 10px;
}
.mainContents .headerContents .meta .reservation {
	float: left;
	margin: 10px 0 0 12px;
	background: #fff;
}
.mainContents .headerContents .meta .reservation li a {
	color: #900303;
	font-size: 1.1rem;
	width: 158px;
	text-align: center;
	display: block;
	background: #f3f3f3;
	padding: 11px 0;
	position: relative;
}
.mainContents .headerContents .meta .reservation li.course a {
	border-radius: 3px 0 0 3px;
}
.mainContents .headerContents .meta .reservation li.course a:before {
	background: url(../img/coursereservation_icon_s.gif) no-repeat 0 50%;
	background-size: 21px 16px;
	width: 21px;
	height: 16px;
	display: inline-block;
	content: "";
	vertical-align: middle;
	margin-right: 6px;
}
.mainContents .headerContents .meta .reservation li.seat a {
	border-radius: 0 3px 3px 0;
}
.mainContents .headerContents .meta .reservation li.seat a:before {
	background: url(../img/seatreservation_icon_s.gif) no-repeat 0 50%;
	background-size: 26px 13px;
	width: 26px;
	height: 16px;
	display: inline-block;
	content: "";
	vertical-align: middle;
	margin-right: 12px;
}
.mainContents .headerContents .meta .reservation li a:hover {
	text-decoration: none;
}
.mainContents .headerContents .meta .reservation li span {
	font-weight: bold;
	position: relative;
}
.mainContents .headerContents .meta .reservation li:first-child a:after {
	position: absolute;
	content: "";
	width: 1px;
	height: 27px;
	background: #900303;
	right: 0;
	top: 6px;
}
.mainContents .headerContents .meta li.restaurantList {
	float: right;
}
.mainContents .headerContents .meta li.restaurantList .havChild {
	font-size: 1rem;
	padding-top: 20px;
	height: 37px;
	display: block;
}
.mainContents .headerContents .meta li.restaurantList:hover {
	cursor: pointer;
}
.mainContents .headerContents .meta li.restaurantList span:before {
	content: "\f0ca";
	font-family: FontAwesome;
	display: inline-block;
	font-size: 1.2rem;
	background: #fff;
	border-radius: 4px;
	line-height: 1;
	padding: 2px;
	margin-right: 6px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .headerContents .meta li.restaurantList .active:before {
	background: none;
	border: 2px solid #fff !important;
	color: #fff !important;
}
.mainContents .headerContents .meta li.restaurantList .children {
	position: absolute;
	width: 190px;
	background: #333;
	padding: 10px 30px 6px;
	z-index: 98;
	top: 58px;
	right: 0;
	display: none;
}
.ie .mainContents .headerContents .meta li.restaurantList .children {
	width: 200px;
}
.mainContents .fixed .headerContents .meta li.restaurantList .children {
	top: 57px;
}
.mainContents .headerContents .meta li.restaurantList .children li {
	float: none;
	margin: 0 0 12px;
	font-size: 1.3rem;
	position: relative;
}
.mainContents .headerContents .meta li.restaurantList .children li:last-child {
	margin-bottom: 8px;
}
.mainContents .headerContents .meta li.restaurantList .children li.close {
	text-align: center;
}
.mainContents .headerContents .meta li.restaurantList .children li.close:before {
	content: "\f106";
	font-family: FontAwesome;
	display: inline-block;
	position: relative;
	margin-right: 8px;
}
.mainContents .headerContents .meta li.restaurantList .children li a:before,
.mainContents .headerContents .meta li.restaurantList .children li span:before {
	display: none;
}
.mainContents .headerContents .meta li.restaurantList .children li a {
	color: #fff;
	display: block;
}
.mainContents .headerContents .meta li.restaurantList .children li span {
	display: block;
	font-size: 1rem;
	color: #959595;
}
.mainContents .headerContents .meta li.restaurantList .children li a:hover:before {
	text-decoration: none;
}
.mainContents .headerContents .meta li.restaurantList li a:hover:before,
.oak-door-restaurant .mainContents .headerContents .meta li.restaurantList li.childrenNav01 a:before,
.french-kitchen-tokyo .mainContents .headerContents .meta li.restaurantList li.childrenNav02 a:before,
.roku-roku-restaurant .mainContents .headerContents .meta li.restaurantList li.childrenNav03 a:before,
.shunbou-restaurant .mainContents .headerContents .meta li.restaurantList li.childrenNav04 a:before,
.keyakizaka-restaurant .mainContents .headerContents .meta li.restaurantList li.childrenNav05 a:before,
.chinaroom-restaurant .mainContents .headerContents .meta li.restaurantList li.childrenNav06 a:before,
.fiorentina-italian-restaurant .mainContents .headerContents .meta li.restaurantList li.childrenNav07 a:before,
.maduro-bar .mainContents .headerContents .meta li.restaurantList li.childrenNav08 a:before,
.fiorentina-pastry-tokyo .mainContents .headerContents .meta li.restaurantList li.childrenNav09 a:before {
	content: "\f105";
	font-family: FontAwesome;
	display: inline-block;
	font-size: 1.6rem;
	border: none;
	background: none;
	border-radius: 0;
	line-height: 1;
	padding: 0;
	position: absolute;
	left: -13px;
	top: 0;
}
.mainContents .innerNavContents:after {
	content: "";
	clear: both;
	display: block;
}
.mainContents .innerNav .innerNavContents {
	width: 980px;
	margin: 0 auto;
	position: relative;
}
.mainContents .innerNav ul:after {
	content: "";
	clear: both;
	display: block;
}
.mainContents .innerNav .shopNav {
	float: left;
}
.mainContents .fixed .innerNav .shopNav {
	height: 39px;
}
.mainContents .innerNav .shopNav li {
	float: left;
	position: relative;
}
.mainContents .innerNav .shopNav li a {
	display: block;
}
.mainContents .fixed .innerNav .shopNav li a {
	padding: 2px 15px 1px;
	display: block;
}
.mainContents .innerNav .shopNav li a span {
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	height: 50px;
	margin: 0 13px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .fixed .innerNav .shopNav li a span {
	height: 36px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .innerNav .shopNav li a:after {
    content: " ";
    position: absolute;
    background: #fff;
    width: 1px;
    height: 40px;
    right: 0;
    top: 5px;
}
.mainContents .fixed .innerNav .shopNav li a:after {
    height: 29px;
}
.mainContents .innerNav .shopNav li:first-child a span:before {
    content: " ";
    position: absolute;
    background: #fff;
    width: 1px;
    height: 40px;
	left: 0;
    top: 5px;
}
.mainContents .fixed .innerNav .shopNav li:first-child span:before {
    height: 29px;
}
.mainContents .innerNav .shopNav li:first-child a span {
	margin-left: 13px;
}
.mainContents .innerNav .shopNav li.nav07 a span {
	margin: 0 13px;
}
.mainContents .innerNav .shopNav li.nav07 a:after {
	right: 0;
}
.mainContents .innerNav .otherNav .menu-trigger {
	width: 65px;
	height: 49px;
}
.mainContents .fixed .innerNav .otherNav .menu-trigger {
	height: 39px;
}
.mainContents .innerNav .otherNav .menu-trigger span:nth-of-type(1) {
	top: 16px;
}
.mainContents .innerNav .otherNav .menu-trigger span:nth-of-type(2) {
	top: 24px;
}
.mainContents .innerNav .otherNav .menu-trigger span:nth-of-type(3) {
	bottom: 14px;
}
.mainContents .fixed .innerNav .otherNav .menu-trigger span:nth-of-type(1) {
	top: 12px;
}
.mainContents .fixed .innerNav .otherNav .menu-trigger span:nth-of-type(2) {
	top: 18px;
}
.mainContents .fixed .innerNav .otherNav .menu-trigger span:nth-of-type(3) {
	bottom: 12px;
}
.mainContents .fixed .innerNav .otherNav.active .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(6px) rotate(-45deg);
	transform: translateY(6px) rotate(-45deg);
}
.mainContents .fixed .innerNav .otherNav.active .menu-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}
.mainContents .innerNav .otherNav .otherNavContents {
	position: absolute;
	right: 0;
	top: 49px;
	background: #333;
	width: 250px;
	padding: 14px 0 22px;
	z-index: 92;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .innerNav .otherNav.active .otherNavContents {
	visibility: visible;
	opacity: 1;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .fixed .innerNav .otherNav .otherNavContents {
	top: 38px;
}
/* ---------- TOP ---------- */
.mainContents .mainconcept {
	min-width: 980px;
	font-size: 1.2rem;
	text-align: center;
	line-height: 24px;
	margin-bottom: 18px;
	width: 100%;
	display: table;
	background: #f3f3f3;
}

.mainContents .mainconcept .imgBox {
	width: 50%;
	display: table-cell;
	vertical-align: middle;
	min-width: 490px;
}
.mainContents .mainconcept .txtWrap {
	width: 50%;
	display: table-cell;
	background: #f3f3f3;
	vertical-align: middle;
}
.mainContents .mainconcept .txtBox {
	min-width: 448px;
	background: #f3f3f3;
}
.mainContents .mainconcept .txtBox h2 {
	text-indent: -9999px;
	overflow: hidden;
	margin: 0 auto;
}
.mainContents .mainconcept .txtBox .notes {
	padding: 25px 0 17px;
	line-height: 22px;
}
.mainContents .mainconcept .txtBox .time {
	color: #900303;
	line-height: 22px;
}
.mainContents .mainconcept .txtBox .detailsBtn a {
	display: inline-block;
	color: #fff;
    background: #980b20;
	padding: 6px 0;
	border-radius: 3px;
	width: 217px;
	margin: 14px auto 0;
}
.mainContents .mainconcept .txtBox .detailsBtn a:hover {
	text-decoration: none;
	background: #b75462;
}
.mainContents .mainconcept .txtBox .detailsBtn a:after {
	content: "\f105";
	font-family: FontAwesome;
	font-size: 1.8rem;
	float: right;
	display: block;
	line-height: 1;
	padding-top: 3px;
	position: relative;
	right: 10px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .mainconcept .txtBox .detailsBtn a:hover:after {
	right: 6px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents.restaurantPage .recommend {
	margin-bottom: 90px;
}
.mainContents .restaurantWedding {
	height: 578px;
}
.mainContents .restaurantWedding .restaurantWeddingContents {
	width: 980px;
	margin: 0 auto;
	position: relative;
	height: 578px;
}
.mainContents .restaurantWedding .restaurantWeddingContents .txtBox {
	width: 468px;
	height: 285px;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: rgba(255,250,250,0.60);
}
.mainContents .restaurantWedding .restaurantWeddingContents .txtBox h3 {
	text-indent: -9999px;
	overflow: hidden;
}
.mainContents .restaurantWedding .restaurantWeddingContents .txtBox p {
	font-size: 1.2rem;
	line-height: 18px;
	margin: 30px 60px 42px;
}
.mainContents .restaurantWedding .restaurantWeddingContents .txtBox .detailsBtn {
	text-align: right;
	margin-right: 60px;
}
.mainContents .restaurantWedding .restaurantWeddingContents .txtBox .detailsBtn a {
	font-size: 1.2rem;
	color: #900303;
}
.mainContents .restaurantWedding .restaurantWeddingContents .txtBox .detailsBtn a:after {
	content: "\f105";
	font-family: FontAwesome;
	font-size: 1.5rem;
	margin-left: 6px;
	display: inline-block;
	position: relative;
	top: 1px;
}
.mainContents .restaurantWedding .restaurantWeddingContents .txtBox .detailsBtn a:hover:after {
	text-decoration: none;
}
.mainContents .restaurantInformation {
	width: 980px;
	margin: 50px auto 94px;
}
.mainContents .restaurantInformation h3 {
	text-indent: -9999px;
	overflow: hidden;
	margin: 0 auto;
}
.mainContents .restaurantInformation dl {
	font-size: 1.2rem;
	width: 670px;
	margin: 48px auto 56px;
	line-height: 16px;
}
.mainContents .restaurantInformation dl:after {
	content: "";
	clear: both;
	display: block;
}
.mainContents .restaurantInformation dt {
	font-weight: bold;
	float: left;
	text-align: right;
	width: 150px;
	margin: 0 0 30px;
}
.mainContents .restaurantInformation dd {
	padding-left: 20px;
	margin: 0 0 30px 150px;
}
.mainContents .restaurantInformation dd span {
	font-size: 1.1rem;
}
.mainContents .restaurantInformation dt.place,
.mainContents .restaurantInformation dd.place {
	display: none;
}
.mainContents .restaurantInformation dd a:before {
	content: "\f041";
	font-family: FontAwesome;
	margin-right: 6px;
	display: inline-block;
}
.mainContents .restaurantInformation dd a:hover:before {
	text-decoration: none;
}
.mainContents .restaurantInformation dd.tel {
	font-size: 1.9rem;
	letter-spacing: 1px;
}
.mainContents .restaurantInformation dd.tel span {
	font-size: 1.2rem;
	top: -3px;
	position: relative;
	margin-left: 30px;
}
.mainContents .restaurantInformation dd.tel span a:before {
	content: "\f199";
	font-size: 2.2rem;
	vertical-align: middle;
}
.mainContents .restaurantInformation dt.music {
	margin-bottom: 0;
}
.mainContents .restaurantInformation dd dl {
	width: auto;
	margin: 0;
}
.mainContents .restaurantInformation dd dt {
	font-weight: normal;
	text-align: left;
	width: 70px;
	margin: 0;
}
.mainContents .restaurantInformation dd dd {
	padding-left: 0;
	margin: 0 0 0 70px;
}
.mainContents .restaurantInformation dd .notes li {
	text-indent: -0.5em;
	padding-left: 0.5em;
}
.mainContents .restaurantInformation dd .notes li::before {
	content: "-";
	margin-right: 3px;
}
.mainContents .information {
	margin-bottom: 55px;
}
/* ---------- 3階層 ---------- */
.mainContents .pageTitle .recomend .mainttl {
	background: url(../img/recomend_title.png) no-repeat;
	background-size: 155px 19px;
	width: 155px;
	height: 19px;
}
.mainContents .pageTitle .info .mainttl {
	background: url(../img/information_title.gif) no-repeat 0 center;
	background-size: 238px 20px;
	width: 238px;
	height: 20px;
}
.mainContents .pageTitle .bar .mainttl {
	background: url(../img/bar_title.gif) no-repeat 0 center;
	background-size: 34px 18px;
	width: 34px;
	height: 18px;
}
.mainContents .pageTitle .private .mainttl {
	background: url(../img/privatediningroom_title.gif) no-repeat 0 center;
	background-size: 212px 24px;
	width: 212px;
	height: 24px;
	margin-bottom: -6px;
}
.mainContents .pageTitle .privates .mainttl {
	background: url(../img/privatediningrooms_title.gif) no-repeat 0 center;
	background-size: 223px 24px;
	width: 223px;
	height: 24px;
	margin-bottom: -6px;
}
.mainContents .pageTitle .menu .mainttl {
	background: url(../img/menu_title.gif) no-repeat 0 center;
	background-size: 57px 18px;
	width: 57px;
	height: 18px;
}
.mainContents .pageTitle .wedding .mainttl {
	background: url(../img/restaurantwedding_title.gif) no-repeat 0 center;
	background-size: 241px 27px;
	width: 241px;
	height: 27px;
	margin-bottom: -4px;
}
.mainContents .concept {
	font-size: 1.2rem;
	width: 980px;
	margin: 0 auto 90px;
	text-align: center;
	line-height: 22px;
}
.mainContents .concept h2 {
	text-indent: -9999px;
	overflow: hidden;
	margin: 50px auto 24px;
}
.mainContents .concept .menuBtn a {
	display: block;
	text-align: center;
	color: #fff;
	background: #980b20;
	margin: 47px auto 0;
	border-radius: 3px;
	width: 358px;
	padding: 5px 0;
}
.mainContents .concept .menuBtn a:after {
	content: "\f105";
	font-family: FontAwesome;
	font-size: 1.8rem;
	float: right;
	display: block;
	position: relative;
	right: 10px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .concept .menuBtn a:hover {
	background: #b75462;
	text-decoration: none;
}
.mainContents .concept .menuBtn a:hover:after {
	right: 6px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}

.mainContents .concept .layoutBtn a {
	display: block;
	text-align: center;
	color: #fff;
	background: #999;
	border-radius: 3px;
	width: 290px;
	margin: 47px auto 24px;
	padding: 26px 0;
	font-size: 1.8rem;
}
.mainContents .concept .layoutBtn a:after {
	content: "\f105";
	font-family: FontAwesome;
	font-size: 1.8rem;
	float: right;
	display: block;
	position: relative;
	right: 10px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .concept .layoutBtn a:hover {
	background: #ccc;
	text-decoration: none;
}
.mainContents .concept .layoutBtn a:hover:after {
	right: 6px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .info .gallery {
	margin: 50px 0 76px;
}
.mainContents .info .gallery .sliderBox {
	position: relative;
}
.mainContents .info .gallery .sliderBox .thumbs:after {
	content: "";
	clear: both;
	display: block;
}
.mainContents .info .gallery .sliderBox .thumbs {
	padding-top: 18px;
	width: 856px;
	height: 110px;
	margin: 0 auto;
	display: table;
}
.mainContents .info .gallery .sliderBox .thumbs li {
	display: table-cell;
	position: relative;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
}
.mainContents .info .gallery .sliderBox .thumbs li:last-child {
	margin: 0;
}
.mainContents .info .panorama {
	margin-bottom: 70px;
}
.mainContents .info .panorama h3 {
	text-indent: -9999px;
	overflow: hidden;
	background: url(../img/panorama_title.gif) no-repeat;
	background-size: 51px 21px;
	width: 51px;
	height: 21px;
	margin: 0 auto 22px;
}
.mainContents .info .panorama iframe,
.mainContents .info .panorama object,
.mainContents .info .panorama embed {
	width: 980px;
	height: 450px;
}
.mainContents .info .instagram a {
	display: inline-block;
}
.mainContents .info .instagram h3 {
	line-height: 1;
}
.mainContents .info .instagram  h3 span {
	display: inline-block;
	text-indent: -9999px;
	overflow: hidden;
	background: url(../img/instagram_title.gif) no-repeat;
	background-size: 122px 24px;
	width: 122px;
	height: 24px;
	margin: 0 auto;
}
.mainContents .info .instagram  h3:before {
	content: "\f16d";
	font-family: FontAwesome;
	font-size: 2.5rem;
	position: relative;
	top: -4px;
	left: -8px;
}
.safari .mainContents .info .instagram  h3:before {
	top: 4px;
}
.mainContents .info .instagram .hashtag {
	font-size: 1.4rem;
	padding: 4px 0 16px;
}
.mainContents .info .instagram .hashtag span {
	color: #980b20;
}
.mainContents .info .instagram:after {
	content: "";
	display: block;
	clear: both;
}
.mainContents .info .instagram li {
	width: 155px;
	float: left;
	margin: 0 10px 7px 0;
}
.mainContents .info .instagram li:nth-child(6n) {
	margin-right: 0;
}
.mainContents .info .instagram .popup-gallery {
	margin-bottom: 20px;
}
.mainContents .info .instagram .popup-gallery:after {
	display: block;
	content: "";
	clear: both;
}
.mainContents .info .instagram button {
	width: 90%;
	text-align: center;
	background: #f3f3f3;
	color: #980b20;
	padding: 16px 0;
	margin: 0px 5% 20px;
}
.mainContents .info .instagram button.loading {
	width: 90%;
	text-align: center;
  background: url(../img/loading-gallery.gif) no-repeat center #f3f3f3;
	background-size: contain;
	color: #980b20;
	padding: 16px 0;
	margin: 0px 5% 20px;
  text-indent: -9999px;
  overflow: hidden;
}

.mainContents .info .instagram p {
	text-align: center;
}
.mainContents .info .instagram p a {
	display: inline-block;
	float: none;
	width: auto;
	color: #980b20;
	margin: 0;
}
.mainContents .restaurantInformation .layoutBtn a {
	background: #980b20;
	width: 280px;
	display: block;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	padding: 8px 0;
	border-radius: 3px;
	font-size: 1.2rem;
	position: relative;
}
.mainContents .restaurantInformation .layoutBtn a:after {
	content: "\f105";
	font-family: FontAwesome;
	display: block;
	line-height: 1;
	padding-top: 4px;
	right: 10px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
	position: absolute;
	height: 16px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.mainContents .restaurantInformation .layoutBtn a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.mainContents .restaurantInformation .layoutBtn a:hover:after {
	right: 6px;
	-webkit-transition: all .25s ease-in;
	transition: all .25s ease-in;
}
.mainContents .menuContents .detailsContents {
	width: 980px;
	margin: 0 auto;
}
.mainContents .menuContents p.menuRead {
	width: 980px;
	margin: 0 auto;
	font-size: 1.3rem;
	line-height: 24px;
	text-align: center;
	padding: 36px 0 63px;
}
.mainContents .menuContents .detailsContents {
	display: flex;
	flex-wrap: wrap;
}
.mainContents .menuContents .detailsBox {
	width: 490px;
	height: auto;
	margin: 0 0 32px 0;
	position: relative;
}
.mainContents .menuContents .detailsBox:after {
	content: "";
	clear: both;
	display: block;
}
.mainContents .menuContents .detailsBox .img {
	width: 240px;
	margin-left: 16px;
	float: left;
}
.mainContents .menuContents .detailsBox .txt {
	width: 215px;
	float: right;
}
.mainContents .menuContents .detailsBox h3 {
	padding: 0 0 12px;
	word-break: break-all;
}
.mainContents .menuContents .detailsBox p {
	width: auto;
	color: #999;
	line-height: 18px;
	padding: 0 0 20px;
	text-align: left;
	font-size: 1.2rem;
}
.mainContents .menuContents .detailsBox .linkTxt {
	text-align: right;
}
.mainContents .menuContents .detailsBox .linkTxt a {
	color: #b24858;
	font-size: 1.2rem;
}
.mainContents .menuContents .detailsBox .linkTxt a:after {
	content: "\f105";
	font-family: FontAwesome;
	margin-left: 6px;
	display: inline-block;
}
.mainContents .menuContents .detailsBox .linkTxt a:hover:after {
	text-decoration: none;
}
.mainContents .menuContents .menuList {
	width: 900px;
	margin: 22px auto 54px;
	text-align: center;
}
.mainContents .menuContents .menuList.items4 {
	width: 780px;
	margin: 22px auto 54px;
	text-align: center;
}
.mainContents .menuContents .menuList li {
	width: 310px;
	display: inline-block;
	text-align: center;
	margin: 0 2px 12px;
}
.mainContents .menuContents .menuList  li a {
	padding: 6px 0;
}
.mainContents .menuContents .menuList li a:after {
	padding-top: 2px;
}
.mainContents .bar .concept {
	margin: 0 auto 54px;
}
.mainContents .bar .concept .barImg {
	margin: 46px 0 54px;
}
.mainContents .bar .concept .barCaution {
	margin-top: 10px;
}
.mainContents .bar .concept .linkBtn a {
	width: 358px;
	padding: 5px 0;
	margin-top: 24px;

}
.mainContents .bar .concept .linkBtn a:after {
	top: 3px;
}
.mainContents .privateDetails {
	min-width: 980px;
}
.mainContents .privateDetails .privateBox {
	width: 100%;
	min-width: 980px;
	display: table;
}
.mainContents .privateDetails .privateBox:after {
	content: "";
	clear: both;
	display: block;
}
.mainContents .privateDetails .privateBox .img {
	width: 50%;
	display: table-cell;
}
.mainContents .privateDetails .privateBox .img.spOnly {
	display: none;
}
.mainContents .privateDetails .privateBox .txtBox {
	width: 50%;
	display: table-cell;
	vertical-align: middle;
	min-width: 470px;
	background: #fff;
}
.mainContents .privateDetails .privateBox .txt {
    width: 470px;
	position: relative;
	margin: 0 0 0 20px;
}
.mainContents .privateDetails .privateBox:nth-of-type(2n) .txt {
	float: right;
	margin: 0 20px 0 0;
}
.mainContents .privateDetails .privateBox .txt h3 {
	text-indent: -9999px;
	overflow: hidden;
	margin-bottom: 24px;
}
.mainContents .privateDetails .privateBox .txt .notes {
	line-height: 20px;
	padding-bottom: 20px;
	font-size: 1.2rem;
}
.mainContents .privateDetails .privateBox .txt .meta:after,
.mainContents .privateDetails .privateBox .txt .rayout:after {
	content: "";
	display: block;
	clear: both;
}
.mainContents .privateDetails .privateBox .txt .meta dl {
	float: left;
	width: 210px;
	font-size: 1.2rem;
}
.mainContents .privateDetails .privateBox .txt .meta dl:nth-of-type(2) {
	float: right;
}
.mainContents .privateDetails .privateBox .txt .meta dt {
	border-bottom: 1px solid #999;
	padding-bottom: 2px;
	margin-bottom: 2px;
}
.mainContents .privateDetails .privateBox .txt .meta dd dl {
	float: none;
	width: auto !important;
}
.mainContents .privateDetails .privateBox .txt .meta dd dt {
	border-bottom: none;
	float: left;
	padding-bottom: 0;
	margin-bottom: 0;
	clear: both;
}
.mainContents .privateDetails .privateBox .txt .meta dd dd {
	float: right;
}
.mainContents .privateDetails .privateBox .txt .rayout {
	padding: 30px 0 10px;
	font-size: 1.2rem;
}
.mainContents .privateDetails .privateBox .txt .rayout .rayoutttl {
	float: left;
	padding-right: 48px;
	padding-top: 7px;
}
.mainContents .privateDetails .privateBox .txt .rayout .linkBtn li {
	float: left;
	width: 210px;
	margin-left:10px;
}
.mainContents .privateDetails .privateBox .txt .rayout .linkBtn li a {
	padding: 6px 0;
}
.mainContents .privateDetails .privateBox .txt .rayout .linkBtn li a:after {
	top: 1px;
}
.mainContents .privateDetails .privateBox .txt .caution li {
	font-size: 1.1rem;
	line-height: 16px;
    margin-bottom: 2px;
}
.mainContents .privateDetails .privateBox .txt .topPlan {
	text-align: right;
	padding: 16px 0 24px;
}
.mainContents .privateDetails .privateBox.box03 .txt .topPlan {
	padding-top: 30px;
}
.mainContents .privateDetails .privateBox .txt .topPlan a {
	color: #b24858;
}
.mainContents .privateDetails .privateBox .txt .topPlan a:after {
	content: "\f105";
	font-family: FontAwesome;
	font-size: 1.5rem;
	margin-left: 6px;
	display: inline-block;
}
.mainContents .privateDetails .privateBox .txt .topPlan a:hover:after {
	text-decoration: none;
}
.mainContents .privateDetails .planList {
	text-align: center;
	max-width: 980px;
	margin: 40px auto 0;
}
.mainContents .privateDetails .planList li {
	display: inline-block;
	width: 300px;
	margin: 0 4px 82px;
}
.mainContents .privateDetails .privateBox.box01 .planList::after {
	content: "";
	display: block;
	clear: both;
}
.mainContents .privateDetails .privateBox.box01 .planList li {
	width: 230px;
	margin: 0 10px 0 0;
	display: block;
	float: left;
}
.mainContents .privateDetails .privateBox.box01 .planList li:last-child {
	margin-right: 0;
}
.mainContents .privateDetails .planList a {
	padding: 6px 0;
}
.mainContents .privateDetails .planList a:after {
	padding: 0;
	right: 12px;
}
.mainContents .privateDetails .planList a:hover::after {
	right: 8px;
}
.mainContents .accessFloorMap {
	width: 980px;
	margin: 18px auto 42px;
}
.mainContents .accessFloorMap a {
	width: 358px;
	padding: 8px 0;
}
