@charset "utf-8";

/* ===================================================================
CSS information
 file name  :  teaser.css
 style info :  /restaurants/teaser
=================================================================== */
/* common
**************************/
* {
	margin: 0;
	padding: 0;
}

[canvas], [off-canvas]{
	transform:none;
}

/* タブレット用のスタイル記述 */
/* スマートフォン用のスタイル記述 */

body {
	font-weight: 500;
	max-width:none;
	width:100%;
	font-feature-settings : "palt";
	color:#040000;
}

.yumin{
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}

@font-face {
  font-family: 'SimpleJoys';
  src: url('../../../fonts/Simple_Joys_REV.ttf') format('truetype');
}
@font-face {
  font-family: 'Loew-Heavy';
  src: url('../../../fonts/Loew-Heavy.otf') format('opentype');
}



.pcElement{
	display:none;
}
.spElement{
	display:block;
}
.pcElementInline{
	display:none;
}
.spElementInline{
	display:inline;
}


#container img{
	width:100%;
	height:auto;
}

#content {
    padding-top: 0;
}

.pankuzu{
	display:none;
}



/*  ヘッダー
------------------------------------------------------------------------------------------------------*/
#header_restaurants{
	position: relative;
	padding:0;
	margin:0 auto;
	text-align:center;
	overflow:inherit;
	box-shadow:0px 2px 3px 0px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.3);
	-moz-box-shadow:0px 2px 3px 0px rgba(0,0,0,0.3);
	z-index:999;
}

header#header_restaurants.fixed{
	position:fixed;
	text-align:center;
	width:100%;
	background:#FFF;
	top:0;
    transition: .3s;
	z-index:999;
}

#header_restaurants .inner{
	display:inline-block;
	width:100%;
	max-width:950px;
	position:relative;
}

#header_restaurants .logo{
	width: 20%;
	max-width: 75px;
	padding:25px 0 15px 15px;
	position:relative;
	z-index:2;
}

#header_restaurants .logo a{
	display:block;
}

#header_restaurants .logo img{
	width:100%;
	height:auto;
}



#header_restaurants h1{
	float:none;
	position: absolute;
	top:16%;
	width: 100%;
	max-width:none;
	font-size:23px;
	font-weight: normal;
	text-align:center;
	letter-spacing:3px;
	color:#231815;
	padding:0;
	/*font-family: 'SimpleJoys';*/
	font-family: 'Loew-Heavy';
}

#header_restaurants h1 span{
	font-size: 12px;
	display: block;
	padding: 0;
}

#header_restaurants .map{
	position: absolute;
	right: 8%;
	top: 15px;
}

#header_restaurants .map img{
	width:50%;
	height:auto;
}

#header_restaurants .menu_box{
	position:absolute;
	right:10px;
	top:35%;
	padding:0;
}

#header_restaurants .menu_box .alert{
	position: absolute;
	right: -8px;
	top: -14px;
}

#header_restaurants .menu_box .alert span{
	background:#FF0004;
	border-radius:50%;
	color:#FFF;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	padding:2px 6px;
	display:inline-block;

}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 30px;
  height: 20px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #4d4d4d;
  border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 9px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
/*
.open .menu-trigger span{
	display:none;
}
*/

.open .menu-trigger span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);
}
.open .menu-trigger span:nth-of-type(2) {
  opacity: 0;
}
.open .menu-trigger span:nth-of-type(3) {
  -webkit-transform: translateY(-9px) rotate(45deg);
  transform: translateY(-9px) rotate(45deg);
}


/* restaurants_menu
**************************/
[off-canvas]{
	background:#FFF !important;
}

[off-canvas*=right] {
	width: 300px;
	height: 100%;
	top: 0;
	right: 0;
	z-index:9999;
	margin-right:-300px;
}

#restaurants_menu{
	background:#FFF;
	color:#000;
}

#restaurants_menu h4{
	position:relative;
	padding:15px 20px;
	line-height: 1;
	font-size: 0;
	border-bottom:1px solid #000;
	background:#000;
}

#restaurants_menu h4 span{
	font-size:20px;
	font-weight:normal;
	color:#FFF;
}

#restaurants_menu h4 img{
	width:80%;
	height:auto;
}

#restaurants_menu h4 a#menu_close{
	position:absolute;
	right:10px;
	top:30%;
	padding:0;
}

#restaurants_menu h4 a#menu_close,
#restaurants_menu h4 a#menu_close span {
  display: inline-block;
  transition : all 1000ms;
  box-sizing: border-box;
}
#restaurants_menu h4 a#menu_close {
  width: 30px;
  height: 20px;
}
#restaurants_menu h4 a#menu_close span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #FFF;
  border-radius: 4px;
}
#restaurants_menu h4 a#menu_close span:nth-of-type(1) {
  top: 0;
}
#restaurants_menu h4 a#menu_close span:nth-of-type(2) {
  top: 9px;
}
#restaurants_menu h4 a#menu_close span:nth-of-type(3) {
  bottom: 0;
}

#restaurants_menu.open h4 a#menu_close span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);

}
#restaurants_menu.open h4 a#menu_close span:nth-of-type(2) {
  opacity: 0;
}
#restaurants_menu.open h4 a#menu_close span:nth-of-type(3) {
  -webkit-transform: translateY(-9px) rotate(45deg);
  transform: translateY(-9px) rotate(45deg);
}

#restaurants_menu #emergency_info span{
    display: inline-block;
    background: #FF0004;
    color: #FFF;
    border-radius: 50%;
    padding: 0px 9px;
    font-size: 16px;
    vertical-align: top;
	margin:0 5px 0 0;
}

#restaurants_menu #restaurants_emergency_area{
	display:none;
}

#restaurants_menu #restaurants_emergency_area h4{
	background: none;
	color: #444;
	font-size: 14px;
	padding: 10px 0;
}

#restaurants_emergency_area{
	border:solid 1px #F6D256;
	background:#F7EAC6;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	behavior: url("/pie/PIE.php");
	position:relative;
	padding:8px;
	margin:0 auto 10px;
	width:90%;
	font-size:12px;
}

#restaurants_emergency_area h4{
	text-align:left;
	font-size:14px;
	background:url(/img/icon/icon_emergency.png) left 3px no-repeat;
	padding:3px 0 0 23px;
}
#restaurants_emergency_area h4 b{
	font-weight:bold;
	color:#a52a2a;
}

#restaurants_emergency_text{
	padding:10px 0 0;
	text-align:left;
	font-size:14px;
	display:block;
}

#restaurants_emergency_text a{
	display: inline !important;
	font-size: 14px !important;
	padding: 0 !important;
}
#restaurants_emergency_text .to_link{
	margin:10px 0;
	text-align:right;

}

#restaurants_emergency_text .to_link a{
	display:inline-block;
	font-size:14px;
    background: #5A0C00 none repeat scroll 0 0;
    border-radius: 5px;
    color: #fff;
    line-height: 1.5;
    padding: 5px 20px;
    position: relative;
}
#restaurants_emergency_text .to_link a:after {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: transparent transparent transparent #fff;
    border-image: none;
    border-style: solid;
    border-width: 5px;
    content: "";
    margin-top: -5px;
    position: absolute;
    right: 5px;
    top: 50%;
}


#restaurants_menu ul.gnv{
}

#restaurants_menu ul.gnv li{
	border-bottom:1px solid #000;
}

#restaurants_menu ul.gnv li a{
	display:block;
	padding:8px 20px;
	/*padding:4px 15px 4px 15px;*/
	font-size:18px;
	color:#000;
}



#restaurants_menu ul#snv_list{
	display:none;
}

#restaurants_menu ul#snv_list li{
	border-bottom:none;
}


#snv_list nav table{
	width:90%;
	margin:0 auto;
	border-collapse:collapse;
	border:0px;
}

#snv_list nav table th,
#snv_list nav table td{
	border-bottom:1px solid #19191a;
}


#snv_list nav table tr:last-child th,
#snv_list nav table tr:last-child td{
	border-bottom:none;
}


#snv_list nav table th{
	width:35%;
	vertical-align:middle;
	text-align:center;
}

#snv_list nav table th img{
	width:100%;
}



#snv_list nav table td.name{
	font-size:12px;
	padding:10px 5px 10px 0;
	letter-spacing:0.1em;
	line-height:1.3;
}

#snv_list nav table td.name a{
	font-size:14px;
	border:none;
	display:inline;
	padding:0;
	margin:0;
}
#snv_list nav table td.name a:hover{
}


#snv_list nav table td.name div{
	display:none;
	/*color:#bd1d21;*/
}

#snv_list nav table td.booking{
	width:64px;
}

#snv_list nav table td.booking a{
	display:block;
	font-size:12px;
	color:#FFF;
	text-align:center;
	background:#de3c0b;
	padding:2px 8px;
	line-height:2.0;
}

#snv_list nav table td.booking a:hover{
	text-decoration:none;
	color:#FFF !important;
	opacity:0.7;
}

/*** emergency_area ***/
#emergency_area{
	margin:10px auto 10px;
}

/*** info_sec ***/
#info_sec{
	padding:0 0 20px;
}

#info_sec .title{
	background:#000;
	padding:5px 0;
	position:relative;
	margin:0 0 20px;
}

#info_sec .title h2{
	font-size:26px;
	font-weight:normal;
	color:#FFF;
	text-align:center;
}

#info_sec .title h2 span{
	display:block;
	font-size:14px;
}

#info_sec .title:before {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: #000 transparent transparent transparent;
    border-image: none;
    border-style: solid;
    border-width: 20px;
    content: "";
    position: absolute;
    left: 50%;
    bottom: -40px;
	transform:translateX(-50%)
}

#info_sec .info{
	padding:0 10px;
	color:#333333;
	overflow:hidden;
}

#info_sec .info h3{
	display:none;
}

#info_sec .info h4{
	float:left;
	width:20%;
	font-size:14px;
	padding:10px 0;
}

#info_sec .info p{
	float:right;
	width:75%;
	font-size:14px;
	padding:10px 0;
}

#info_sec .info hr{
	clear:both;
	border:none;
	border-bottom:1px solid #808080;
}


/*** restaurantsIndex_sec ***/
#restaurants_list_sec{
	clear:both;
	padding:0 0 15px;
}

#restaurants_list_sec h2{
	font-size:24px;
	text-align:center;
	font-weight:normal;
	margin:0 0 15px;
}

#restaurants_list_sec .restaurants_box{
	border:1px solid #CCC;
	margin:0 0 15px;
	padding:0 0 5px;
	box-shadow:2px 2px 2px #CCC;
}

#restaurants_list_sec .restaurants_box:last-child{
	margin:0;
}

#restaurants_list_sec .restaurants_box .restaurants_img{
	margin:0 0 5px;
}


#restaurants_list_sec .restaurants_box .name_box{
	border-left:5px solid #c2a253;
	padding:2px 0 0 10px;
	line-height:1.3;
}

#restaurants_list_sec .restaurants_box .name_box h2{
    font-size: 14px;
    color: #333;
    text-align: left;
    line-height: 1.5;
    margin: 0;
    padding: 5px 0;
}

#restaurants_list_sec .restaurants_box .name_box p.place{
	font-size:14px;
	color:#c2a253;
}

#restaurants_list_sec .restaurants_box h2 a{
	color:#333;
}

#restaurants_list_sec .restaurants_box h2 a:hover{
	text-decoration:none;
}


/*** access_sec ***/
#access_sec{
	margin:0 auto;
	padding:40px 0 60px 0;
}

#access_sec h2{
	text-align:center;
	margin:0 auto 30px;
	width:40%;
}

#access_sec table{
	width:100%;
}

#access_sec table td{
	width:100%;
	display:block;
}

#access_sec table td.info{
	position:relative;
}

#access_sec table td.info address{
	padding:20px 20px 0;
	font-size:16px;
	font-weight:500;
}

#access_sec table td.info p.to_access{
	padding:15px 20px 0 0;
	text-align:right;
}

#access_sec table td.info p.to_access a{
	display:inline-block;
	color:#FFF;
	font-size:12px;
	background:#000;
	padding:2px 15px 2px 10px;
	position:relative;
	height:30px;
}

#access_sec table td.info p.to_access a span{
	width:100%;
	position:relative;
}


#access_sec table td.info p.to_access a span:before{
	position:absolute;
	right:-8px;
	top:35%;
	content:"";
	width: 8px;
	height: 8px;
	border: 1px solid;
	border-color: #FFF #FFF transparent transparent;
	transform: rotate(45deg);
}

#access_sec table td.info p.to_access a:before{
	position:absolute;
	content:"";
	border-right:1px solid #000;
	top:3px;
	right:-2px;
	height:29px;
	width:100%;
}

#access_sec table td.info p.to_access a:after{
	position:absolute;
	content:"";
	border-bottom:1px solid #000;
	bottom:-2px;
	right:-1px;
	width:99%;
}

#access_sec table td.info ul{
	display:none;
}


#access_sec table td.map{
}

#access_sec table td.map p.to_gmap{
	text-align:right;
	margin:0 0 0 0;
	padding:0 25px 0 0;
	line-height:1;
}
#access_sec table td.map p.to_gmap a{
	font-size:14px;
	color:#bd1d21;
	position:relative;
}

#access_sec table td.map p.to_gmap a:before{
	position:absolute;
	right:-10px;
	top:6px;
	content:"";
	width: 8px;
	height: 8px;
	border: 1px solid;
	border-color: #bd1d21 #bd1d21 transparent transparent;
	transform: rotate(45deg);
}

#restaurants_menu ul.sns{
	margin:20px 15% 20px;
	display: -webkit-flex;
    display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;

}

#restaurants_menu ul.sns li{
	width:15%;
	line-height:1;
}

#restaurants_menu ul.sns li img{
	width:100%;
	height:auto;
}

#restaurants_menu ul.title_list{
	margin:20px 15% 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#restaurants_menu ul.title_list li {
	width: 50%;
	text-align: center;
}

#restaurants_menu ul.title_list li span{
	display: block;
}

#restaurants_menu ul.title_list li img{
	width: 32px;
	height: auto;
	margin: 0 5px 0 0;
}



/* footer
**************************/

/*** social_area ***/
#footer .social_area a:last-child{
	margin:0;
}


/***  ***/
#footer .other_hotel h2 img{
	width:auto;
	height:auto;
}


#footer_restaurants {
	background-color: #0b1d39;
	color: #fff;
	padding:0 0 80px;
}

#footer_restaurants #footer_webbooking_sec{
	display:none;
}

#footer_restaurants #restaurants_list_sec{
	display:none;
}

#footer_restaurants #footer_tel_sec{
	padding:10px 0 10px;
}

#footer_restaurants #footer_tel_sec h4{
	text-align:center;
	font-size:16px;
	color:#FFF;
	margin:0 0 0;
}

#footer_restaurants #footer_tel_sec p.number{
	margin:0 40px;
}

#footer_restaurants #footer_tel_sec p.number a{
	display:block;
	background:url(../../img/restaurants/common/footer_tel_bg.png) center center no-repeat;
	background-size:contain;
	width:100%;
	margin:0 auto;
	text-align:center;
	font-size:16px;
	color:#0b1d39;
	padding:15px 0 20px 0;
	letter-spacing:0.15em;
}

/*** sns_sec ***/
#footer_restaurants .sns_area{
	background:#FFF;
	padding:15px 0;
}

#footer_restaurants .sns_area ul{
	margin:0 55px;
	display: -webkit-flex;
    display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;

}

#footer_restaurants .sns_area ul li{
	width:15%;
	line-height:1;
}

#footer_restaurants .sns_area ul li a{
}

#footer_restaurants .sns_area ul li a img{
	max-width:76px;
}

/*** hotel_sec ***/
#footer_restaurants #hotel_sec{
	margin:0 22px;
}

#footer_restaurants #hotel_sec h4{
	font-size:14px;
	font-weight:normal;
	color:#FFF;
	margin:18px 0 10px;
	cursor:pointer;
}

#footer_restaurants #hotel_sec h4:after{
	content:"▼";
}

#footer_restaurants #hotel_sec h4.close:after{
	content:"▲";
}

#footer_restaurants #hotel_sec .hotel_list{
	display:none;
}

#footer_restaurants #hotel_sec .hotel_list ul{
}

#footer_restaurants #hotel_sec .hotel_list ul li{
	font-size:14px;
	margin:0 0 5px;
}

#footer_restaurants #hotel_sec .hotel_list ul li a,
#footer_restaurants #hotel_sec .hotel_list ul li a:hover{
	color:#FFF !important;
}

/*** foot_nav_sp ***/
#footer_restaurants #foot_nav_sp{
	margin:0 22px 50px;
}

#footer_restaurants #foot_nav_sp ul{
}

#footer_restaurants #foot_nav_sp ul li{
	display:inline;
	font-size:14px;
	color:#FFF;
	margin:0 15px 0 0;
}

#footer_restaurants #foot_nav_sp ul li:last-child{
	margin-right:0;
}

#footer_restaurants #foot_nav_sp ul li a,
#footer_restaurants #foot_nav_sp ul li a:hover{
	color:#FFF !important;
}

/*** foot_info ***/
#footer_restaurants .foot_info{
	margin:0 0 28px;
}

#footer_restaurants .foot_info h3{
	font-size:16px;
	font-weight:normal;
	color:#FFF;
	text-align:center;
}

#footer_restaurants .foot_info address{
	font-size:16px;
	font-weight:normal;
	font-style:normal;
	color:#FFF;
	text-align:center;
}

#footer_restaurants .foot_info address a,
#footer_restaurants .foot_info address a:hover{
	color:#FFF !important;
}


/* logo */
#footer_restaurants .logo{
	text-align:center;
}

#footer_restaurants .logo img{
	width:30%;
	max-width:100px;
}


/*** booking_fix ***/
.booking_fix{
	position:fixed;
	bottom:0;
	width:100%;
	z-index:999;
}

.booking_fix ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	border:1px solid #c2a253;
}

.booking_fix ul li{
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    padding: 10px 0;
    width: 50%;

}

.booking_fix ul li a{
	font-size:16px;
	font-weight:bold;
	display:block;
	line-height: 1.5;
}

.booking_fix ul li a span{
	font-size:14px;
	font-weight:normal;
}

.booking_fix ul li a span.open{
	display:block;
}
.booking_fix ul li a span.close{
	display:none;
}


.booking_fix ul li.web{
	background:#c2a253;
	cursor:pointer;
}
.booking_fix ul li.tel{
	background:#FFF;
	cursor:pointer;
}

.booking_fix ul li.web a{
	width:100%;
	text-align:center;
	color:#FFF !important;
}

.booking_fix ul li.tel a{
	width:100%;
	text-align:center;
	color:#c2a253 !important;
}

.booking_fix ul li.tel a img{
	width:10px;
	height:auto;
	margin:0 3px 0 0;
	vertical-align:middle;
}


.booking_fix ul li a:hover{
	text-decoration:none;
}

/*** #g_nav ***/
.booking_fix #f_nav{
	position:relative;

}

.booking_fix #f_nav nav{
	display:none;
	background:#FFF;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	z-index:9999;
}

.booking_fix #f_nav nav table{
	width:90%;
	margin:0 auto;
	border-collapse:collapse;
	border:0px;
}

.booking_fix #f_nav nav table th,
.booking_fix #f_nav nav table td{
	border-top:1px solid #19191a;
}

.booking_fix #f_nav nav table th{
	width:30%;
	vertical-align:middle;
	text-align:center;
}

.booking_fix #f_nav nav table th img{
	width:56%;
}

.booking_fix #f_nav nav table td.top{
	text-align:center;
	padding:20px 0;
	font-size:16px;
}


.booking_fix #f_nav nav table td.name{
	font-size:14px;
	padding:10px 5px 10px 0;
	letter-spacing:0.1em;
}

.booking_fix #f_nav nav table td.name div{
	display:none;
}

.booking_fix #f_nav nav table td.booking{
	width:64px;
	padding:5px 0;
}

.booking_fix #f_nav nav table td.booking a{
	display:block;
	font-size:16px;
	color:#FFF;
	text-align:center;
	background:#de3c0b;
	padding:5px 10px;
}

.booking_fix #f_nav nav table td.booking a:hover{
	text-decoration:none;
	color:#FFF !important;
	opacity:0.7;
}

.booking_fix #f_nav nav table tr:last-child{
	/*display:none;*/
}


.rest_btnPageTop{
	position: fixed;
	bottom: 10vh;
	right: 15px;
	z-index: 1;
	text-align: center;
}

.rest_btnPageTop a{
	display:block;
	font-size:14px;
	width:50px;
}

.rest_btnPageTop img {
	width:100% !important;
	height:auto !important;
}


