@charset "utf-8";
/*********************************************************************
*
*  </j/tokyo/restaurant/css/common.css>
*
*********************************************************************/

/* .restaurant_h1 */
.restaurant_h1 {
  position: relative;
}

.restaurant_h1 h1.head1 {
  display:table-cell;
  vertical-align: middle;
  height: 80px;
}

.restaurant_h1 h1.head1 div {
  display:table-cell;
}

.restaurant_h1 h1.head1 div img {
  vertical-align: middle;
}

.restaurant_h1 h1.head1 div img:first-child {
  margin-right: 20px;
}

/* .restaurant_map */
.restaurant_map {
  position: absolute;
  right: 0;
  top: 37px;
}
.restaurant_map:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}
.restaurant_map div {
  float: left;
}
.restaurant_map .text {
  background-color: #faf8f2;
  color: #666;
  margin-right: 21px;
  padding-top: 2px;
  text-align: center;
  width: 105px;
}
.restaurant_map .link {
  margin-top: 2px;
}
.restaurant_map .link a {
  background: url(/j/common/img/icon_link_01.gif) 0 50% no-repeat;
  padding-left: 10px;
}

/* .restaurant_nav */
.restaurant_nav {
  margin-bottom: 40px;
  margin-top: -40px;
}
.restaurant_nav ul:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}
.restaurant_nav div {
  background: url(/j/tokyo/restaurant/img/bg_restaurant_nav.jpg) top left no-repeat;
  width: 680px;
  border-bottom: 1px solid #e1e1e1;
}
.restaurant_nav ul li {
  float: left;
}

/* .restaurant_reservation */
.restaurant_reservation h2,
.restaurant_reservation h2 span {
  background: url(/j/tokyo/restaurant/img/bg_restaurant_reservation_01.gif) no-repeat;
}
.restaurant_reservation h2 span {
  background-position: -680px 100%;
  display: block;
  padding: 10px 20px;
}
.restaurant_reservation_item {
  border-bottom: 1px solid #d9d9d9;
  padding: 20px 20px 10px;
}
.restaurant_reservation_item:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}
.restaurant_reservation_item .text {
  float: left;
  margin-bottom: 10px;
  margin-top: 10px;
  width: 400px;
}
.restaurant_reservation_item .button {
  float: right;
}
.restaurant_reservation_item .button:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}
.restaurant_reservation_item .button table {
  clear: right;
  float: right;
  margin-bottom: 10px;
  margin-top: 0;
}
.restaurant_reservation_item .button table tr * {
  background-color: transparent;
  font-weight: normal;
  border: 0;
  padding: 0;
}
.restaurant_reservation_item .button table tr th {
  padding-right: 10px;
}

/* .restaurant_menu_list */
.restaurant_menu_list {
}
.restaurant_menu_list li {
  margin-top: 20px;
}
.modal_m .restaurant_menu_list li {
  margin-top: 10px;
}

/* font */
.txt_N {
  font-weight: normal !important;
}
.caption {
  color: #999;
  display: block;
  margin-top: 5px;
}

/* table */
table.transparent {
  margin-bottom: 10px;
  margin-top: 0;
}
table.transparent tr th,
table.transparent tr td {
  background-color: transparent;
  border: 0;
  font-weight: normal;
  padding: 0;
  text-align: left;
}
table.transparent tr th {
  padding-right: 10px;
}

/* #gallery */
#gallery {
  top: 0;
  height: 340px; /* KV (見えている領域) の高さ */
}
#gallery .inner {
  top: -340px;   /* 画像の実際の高さ */
  width: 680px;
  height: 340px; /* KV (見えている領域) の高さ */
}
/* .slider_area */
#gallery .keyvisual li {
  height: 340px; /* 画像の実際の高さ */
}
/* .slide_thumbnail */
#gallery .slide_thumbnail {
  right: 20px;
}
/* .slider_page */
#gallery .slider_page {
  right: 124px;
}
/* .slide_thumbnail */
/* 3個より多い */
#gallery .slide_thumbnail.carousel .carousel {
  height: 180px;
}

/* .carousel_area */
.carousel_area {
  margin-top: 20px;
}
.carousel_area .container {
  width: 680px;
}

/* font */
.color_gray {
  color: #999;
}


/***********************************************************************/
/* cms_template */
table td {
  vertical-align: top;
}

/* width */
.auto { width: auto !important; }

/* .frame_box */
.frame_box02 {
  padding: 20px;
  border: 1px solid #D9D9D9;
  background-color: #F5ECDC;
  margin-top: 20px;
}

/* ----- clearfix ----- */
.item_block ul.icon:before,
.item_block ul.ingredient_icon:before,
.photo_thum:before,
.item_block ul.icon:after,
.item_block ul.ingredient_icon:after,
.photo_thum:after {
  content: "";
  display: block;
  overflow: hidden;
}

.item_block ul.icon:after,
.item_block ul.ingredient_icon:after,
.photo_thum:after {
  clear: both;
}

/* ----- .item_block ----- */
.item_block .photo {
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.item_block .photo_thum {
  margin: 0 0 0 -5px;
}
.item_block .photo_thum li {
  width: 48px;
  height: 48x;
  float: left;
  margin: 5px 0 0 4px;
  border: 1px solid #D9D9D9;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  cursor: pointer;
}
.item_block .photo_thum li img:hover {
  filter: alpha(opacity=80);
  opacity: 0.8;
}
.item_block .detail p.price {
  font-weight: bold;
  font-size: 14px;
}
.item_block .detail p.price span {
  padding: 0 0 0 20px;
}
.item_block .detail ul.icon {
  margin: 0 0 0 -10px;
}
.item_block .detail ul.icon li {
  width: 80px;
  float: left;
  display: block;
  margin: 0 0 10px 10px;
  padding: 3px 10px 0 10px;
  text-align: center;
  color: #666;
  font-size: 12px;
}
/* ----- .new .limit ----- */
.item_block .detail ul.icon li.new {
  background: #F4E4E4;
}
.item_block .detail ul.icon li.limit {
  background: #F4E7DC;
}
.item_block .detail ul.icon li.hotelshop {
  background: #E6E6E6;
  width: 95px;
}
.item_block .detail ul.icon li.takeaway {
  background: #E3E8F1;
  width: 125px;
}
.item_block ul.ingredient_icon li {
  float: left;
  margin: 0 10px 10px 0;
  padding: 3px 15px;
  border: 1px solid #D9D9D9;
}

/* ----- .item_block.detail ----- */
.item_block.detail .photo p {
  display: none;
  width: 320px;
  height: 320px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
.item_block.detail .photo p.current {
  display: block;
}
.item_block.detail .detail {
  float: right;
  width: 320px
}
.item_block.detail .detail p.lead {
  font-size: 14px;
}
.item_block.detail .detail p.price {
  margin: 40px 0 20px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #D9D9D9;
}
.item_block.detail .txt_block p {
  color: #404040;
}
.item_block.detail table {
  margin: 40px 0 0 0;
}
.item_block.detail table th {
  width: 25%;
}

/* ----- .toggle ----- */
.toggle {
  margin-top: 20px;
}
.toggle h2 {
  cursor: pointer;
  margin: 5px 1px 0 1px;
  padding: 1px 0;
  background: #EEE;
  border: none;
  font-size: 16px;
}

.toggle h2 p {
  margin: 0 -1px;
  padding: 10px;
  background: #EEE;
  font-weight: bold;
  color: #000;
}

.toggle h2 span {
  background: url(/j/common/img/btn_toggle_minus_01.png) no-repeat 100% 50%;
  display: block;
  font-size: 85%;
}

.toggle.close h2 span {
  background: url(/j/common/img/btn_toggle_plus_01.png) no-repeat 100% 50%;
  display: block;
  font-size: 85%;
}

.toggle.close div {
  display: none;
}

/* ----- .modal ----- */
.overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
}

.modal {
  display: none;
  background: #eee;
  padding: 0 20px 20px;
  overflow: auto;
  z-index: 1001;
  position: absolute;
  width: 500px;
  min-height: 300px;
}

/* .clearfix */
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
}