@charset"UTF-8";
/* HTML5 */
article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block }

body {
  margin:0;
  padding:0 0 0.5em 0;
  line-height:1.4;
}

/*=========================*/
/*テーブル*/
/*=========================*/
table{
	border-collapse: collapse;
/*	width: 100%;*/
	margin: 20px 0;
}
th,td{
	border: solid 1px #cdbbbb;
}
/* 月カレンダー */
table.calendar{
	width:100%;
}
table.calendar th:first-child{
	background: #ed6c6c;
}
table.calendar th:last-child{
	background: #6da0ee;
}
table.calendar td:first-child, td.holiday {
	background: #ffe0e0;
}
table.calendar td:last-child{
	background: #cbdfff;
}
table.calendar td{
	vertical-align: top;
	width:14%;
	text-align: left;
	padding: 5px;
}
table.calendar td.disable,
table.calendar td.today,
table.calendar td.past{
	background: #eaeaea;
	opacity: 0.7;
}
table.calendar td span.date_state{
	display: block;
	text-align: center;
}
table.calendar td a{
	display: block;
	text-align: center;
	color: #368000;
	padding: 3px 0;
	margin: 5px 0 0 0;
	background: #ffffac;
	border-radius: 3px;
}
table.calendar td span.date_title{
	margin-left: 4px;
	font-size: 12px;
}

/* カレンダーヘッダー */
table.calendar-header{
	width:100%;
	margin:10px auto 2px;
}
table.calendar-header td{
	border:none;
}
table.calendar-header #prev-month{
	text-align:left;
}
table.calendar-header #current-month{
	text-align:center;
}
table.calendar-header #next-month{
	text-align:right;
}
#hanrei{
	border-radius: 3px;
	border: 2px solid rgba(0, 0, 0, 0.5);
	width:500px;
	margin-top: 6px;
	margin-bottom: 18px;
	padding: 7px 14px;
	font-size:18px;
}

/* 凡例 */
/* 休日 */
.rsv_state0 {
}
/* 予約終了 */
.rsv_state1 {
  color:#FF2121;
}
/* 空きあり */
.rsv_state2 {
  color:#005FFF;
}
/* 残りわずか */
.rsv_state3 {
  color:#059905;
}

/* タイムテーブル */
table.timetable {
	width:100%;
	margin:0 auto;
}
table.timetable th,
table.timetable td {
	padding: 5px;
}
table.timetable th.time,
table.timetable td.time {
	text-align: center;
	width:150px;
}
table.timetable th.entry,
table.timetable td.entry {
	width:250px;
}
table.timetable th.status,
table.timetable td.status {
	text-align: center;
	width:150px;
}
/* タイムテーブルヘッダー*/
table.timetable-header {
	width:100%;
	margin:10px auto 10px;
}
table.timetable-header td{
	padding:5px;
	border:none;
}
table.timetable-header .prev-day{
	text-align:left;
}
table.timetable-header .return{
	text-align:center;
}
table.timetable-header .next-day{
	text-align:right;
}
/* Form errors */
form .error {
	background: #FFDACC;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	font-weight: normal;
}
form .error-message {
	-moz-border-radius: none;
	-webkit-border-radius: none;
	border-radius: none;
	border: none;
	background: none;
	margin: 0;
	padding-left: 4px;
	padding-right: 0;
}
form .error,
form .error-message {
	color: #9E2424;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-ms-box-shadow: none;
	-o-box-shadow: none;
	box-shadow: none;
	text-shadow: none;
}

/* 週間天気 */
table.WeatherTable {
	margin:0 auto 15px;
	width:100%;
}
table.WeatherTable td {
	border: 1px solid #CDBCBC;
	text-align: center;
	width: 150px;
	padding: 0.5em 0;
	font-size: 13px;
}
table.WeatherTable td.temperature {
	text-align: left;
	padding-left: 1.5em;
}
/** Notices and Errors **/
.message {
	clear: both;
	color: #fff;
	font-size: 140%;
	font-weight: bold;
	margin: 0 0 1em 0;
	padding: 5px;
}

.success,
.message,
.cake-error,
.cake-debug,
.notice,
p.error,
.error-message {
	background: #ffcc00;
	background-repeat: repeat-x;
	background-image: -moz-linear-gradient(top, #ffcc00, #E6B800);
	background-image: -ms-linear-gradient(top, #ffcc00, #E6B800);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#ffcc00), to(#E6B800));
	background-image: -webkit-linear-gradient(top, #ffcc00, #E6B800);
	background-image: -o-linear-gradient(top, #ffcc00, #E6B800);
	background-image: linear-gradient(top, #ffcc00, #E6B800);
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	border: 1px solid rgba(0, 0, 0, 0.2);
	margin-bottom: 18px;
	padding: 7px 14px;
	color: #404040;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
	-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.success,
.message,
.cake-error,
p.error,
.error-message {
	clear: both;
	color: #fff;
	background: #c43c35;
	border: 1px solid rgba(0, 0, 0, 0.5);
	background-repeat: repeat-x;
	background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: -webkit-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
	background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
	background-image: linear-gradient(top, #ee5f5b, #c43c35);
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
}
.success {
	clear: both;
	color: #fff;
	border: 1px solid rgba(0, 0, 0, 0.5);
	background: #3B8230;
	background-repeat: repeat-x;
	background-image: -webkit-gradient(linear, left top, left bottom, from(#76BF6B), to(#3B8230));
	background-image: -webkit-linear-gradient(top, #76BF6B, #3B8230);
	background-image: -moz-linear-gradient(top, #76BF6B, #3B8230);
	background-image: -ms-linear-gradient(top, #76BF6B, #3B8230);
	background-image: -o-linear-gradient(top, #76BF6B, #3B8230);
	background-image: linear-gradient(top, #76BF6B, #3B8230);
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
}
p.error {
	font-family: Monaco, Consolas, Courier, monospace;
	font-size: 120%;
	padding: 0.8em;
	margin: 1em 0;
}
p.error em {
	font-weight: normal;
	line-height: 140%;
}
.notice {
	color: #000;
	display: block;
	font-size: 120%;
	padding: 0.8em;
	margin: 1em 0;
}
.success {
	color: #fff;
}
/* SQL log */
.cake-sql-log {
	background: #fff;
}
.cake-sql-log td {
	padding: 4px 8px;
	text-align: left;
	font-family: Monaco, Consolas, "Courier New", monospaced;
}
.cake-sql-log caption {
	color:#fff;
}
.clearfix:after{
	content:".";
	display:block;
	clear:both;
	font-size:0;
	visibility: hidden;
	height: 0;
}
