* {
	margin: 0;
	padding: 0;
	font-size: 12pt;
}

body {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

table {
	margin: 2px 0;
}

input {
	padding: 5px;
}

fieldset {
	padding: 1em;
	border-radius: 5px;
}
legend {
	padding: 0 1em;
}

a {
	text-decoration: none;
}
a:link, a:visited {
	color: #00f;
}


/*ヘッダ近辺*/

#sotowaku {
	width: 100%;
	margin: 0;
	background-color: #eeb;
}

#utiwaku {
	width: 80%;
	border: 1px solid #999;
	border-radius: 5px;
	margin: 0 auto;
	padding: 20px 20px;
	background-color: #fff;
}

#calendar_waku {
	width:100%;
	padding: 10px 0;
	overflow-x: scroll;
}

#calendar_waku li {
	display: inline-block;
	list-style: none;
	margin: 0 0.5em;
}

.cal_page {
	width: 100%;
}

/*フッタ近辺*/

#foot {
	width: 100%;
	margin-top: 1em;
	padding: 20px 0;
	text-align: center;
	background-color: #aaa;
	
}

/*メインメニュー(ヘッダ)*/

#mainmenu {
	boxsizing: border-block;
	width: 100%;
	border-bottom: 2px solid #ccf;
	background-color: #ddf;
	margin-bottom: 20px;
	padding: 10px 0;
}
#mainmenu ul {
	width: 100%;
	margin: 0 auto;
	z-index: 1;
}
#mainmenu li {
	display: inline-block;
	min-width: 60px;
	border-right: 1px dotted #aaa;
	position: relative;
}
#mainmenu a {
	display: block;
	padding: 1vw;
	font-size: 12pt;
	text-align: center;
}
#mainmenu a:hover {
	background-color: #00a;
	color: #fff;
}

#mainmenu li.title {
	min-width: 50px;
	font-size: 1.5vw;
	float: right;
	color: #555;
}

/*サブメニュー*/

#mainmenu ul li ul {
	display: none;
	position: absolute;
	padding: 0;
	margin: 0;
	width: 14vw;
}

@media screen and (max-width: 500px){
	#mainmenu ul li ul {
		width: 30vw;
	}
}

#mainmenu ul li:hover ul {
	display: block;
	background-color: #cce;
}
#mainmenu ul li:hover ul li {
	display: block;
	border: 1px dotted #f0f;
	border-top: 0px dotted #f0f;
}

/*申請：現在地*/

#imadoko {
	width: 60%;
	margin: 1em auto;
	/*border: 1px solid #f00;*/
	padding: 0;
	text-align: center;
	font-size: 15pt;
}
#imadoko span {
	border: 1px solid #aaa;
	padding: 5px 1em;
	margin: 0 0.5em;
	font-size: 15pt;
}
#imadoko .here_now {
	border: 1px solid #000;
	background-color: #ff0;
	color: #000;
}


/*予約一覧*/

#jikan_day h2 {
	font-size: 20pt;
}

#yoyaku_list {
	box-sizing: border-box;
	width: 100%;
	background-color: #fff;
}

#yoyaku_list th {
	padding: 5px;
	/*margin: 0 auto;*/
	/*-ms-writing-mode: tb-rl;*/		/*IE縦*/
	/*writing-mode: vertical-rl;*/	/*FireFox chrome縦*/
	line-height: 1em;
}
#yoyaku_list td {
	padding: 0;
	text-align: center;
}
#yoyaku_list td.title {
	width: 20vw;
	font-size: 1.5vw;
}
#yoyaku_list a {
	display: block;
	text-decoration: none;
	padding: 2px 0;
}
#yoyaku_list a:hover {
	background-color: #fcc;
}

#yoyaku_list .bg_gray {
	background-color: #eee;
}

fieldset#usedate input, fieldset#usedate select, fieldset#usedate option {
	font-size: 20pt;
	padding: 5px 0;
	/*line-height: 1em;*/
}

#yoyaku_list .kari {
	background-color: #ff5;
}
#yoyaku_list .hon {
	/*background-color: #f99;赤*/
	/*background-color: #5f5;緑*/
	background-color: #99f;
}


/*リスト先頭行をキープ*/

#yoyaku_list_dmy {
	position: fixed;
	top: 0;
	left: 0;
	padding: 0;
	display: none;
	/*background-color: #fff;*/
	/*opacity: 0.8;*/	/*透度*/
}
#yoyaku_list_dmy li {
	position: absolute;
	display: inline-block;
	/*padding: 0;*/
	font-size: 7pt;
	text-align: center;
	/*border: 1px solid #fff;*/
	/*background-color: #fff;*/
	/*opacity: 0.8;*/
}

/*使えない部屋*/

td.notuse {
	background-color: #ddd;
	color: #999;
}

/*テーブル*/

table.kousi {
	margin: 1em 0;
}

table.kousi, .kousi td, .kousi th {
	border: 1px solid #000;
	border-collapse: collapse;
	padding: 1px;
	text-align: center;
}

.em10 {width: 10em;}


/*カレンダー表示*/

table.calendar {
	border: 1px solid #00f;
	border-collapse: collapse;
	padding: 1px;
	margin: 0;
}
.calendar td, .calendar th {
	width: 30px;
	height: 1.5em;
	border: 1px solid #55f;
	border-collapse: collapse;
	padding: 1px;
	text-align: center;
}

.calendar a {
	display: block;
	text-decoration: none;
}
.calendar a:hover {
	font-color: #000;
	background-color: #ff0;
}

/*予約詳細表示部*/

.yotei_syousai {
	/*width: 100%;*/
	/*margin: 10px 0;*/
	border: 1px solid #ddd;
}
.yotei_syousai ul {
	padding: 0.5em 1em;
	margin: 5px 0;
	border: 2px dotted #f99;
	background-color: #ffe;
}
.yotei_syousai li {
	display: inline;
	list-style: none;
	padding: 0.5em 1em;
	margin: 0 1em;
}

/*料金表*/

#pricelist th, #pricelist td {
	border: 1px solid #000;
	padding: 1em 1em;
}

/*エラー*/

.err_mes {
	border: 1px solid #eaa;
	background-color: #fee;
	padding: 10px;
	margin: 1em 0;
}

/*注意喚起コメント用*/

.comment_mes {
	border: 3px solid #fcc;
	background-color: #ffb;
	color: #a55;
	padding: 10px;
	margin: 1em 0;
}

.comment_from {
	color: #aaa;
	font-size: 10pt;
}

/*入力時の必須項目*/

.need_input {
	font-size: 10pt;
	color: #f00;
}

/*月表示一覧上部年間カレンダー部*/

#year_calendar {
	width: 100%;
	margin: 5px 0;
	overflow: hidden;
}
#year_calendar ul {
	width: 90%;
	margin: auto;
	opacity: 0.9;
	border-radius: 8px;
}
#year_calendar a {
	display: block;
	height: 100%;
	background-color: #fff;
}
#year_calendar a:hover {
	background-color: #fdd;
}
#year_calendar li {
	display: inline-block;	/*横並び*/
	list-style: none;
	width: 3em;
	height: 3em;
	padding: 2px;
	margin: 1em auto;
	border: 1px solid #fff;
	text-align: center;
}

@media screen and (max-width: 500px){
	#year_calendar li {
		margin: 0.5em auto;
	}
}


/*月表示一覧テーブル*/

table#table_month {
	table-layout: fixed;	/*TD等幅*/
	width: 100%;
	border-collapse: collapse;	/*border罫線*/
	border: 1px solid #bbb;
	margin-top: 1em;
}

table#table_month td {
	overflow: hidden;
	vertical-align: top;	/*テキスト上揃え*/
	border: 1px solid #bbb;
}
table#table_month td b{
	/*width: 100%;*/
}
table#table_month td b a{
	display: block;
	font-size: 15pt;
	white-space: nowrap;
	text-overflow: ellipsis;
}
table#table_month td b a:hover {
	background-color: #fdd;
}

.yoyaku_name {
	font-size: clamp(5px, 1vw, 15px);
	white-space: nowrap;
	text-overflow: ellipsis;
}

#calendar_title {
	text-align: center;
	font-size: 16pt;
}

th.youbi {
	text-align: center;
	border: 1px solid #bbb;
}

td.notuse {
	background-color: #ddd;	/*未使用枠*/
}

.youbi_0 {
	background-color: #fee;	/*日曜*/
}

.youbi_6 {
	background-color: #eef;	/*土曜*/
}

span.yoyaku_kari {
	display: block;
	background-color: #ffb;	/*仮予約*/
}
span.yoyaku_hon {
	display: block;
	background-color: #ddf;	/*本予約*/
}

td.holiday {
	background-color: #fee;	/*祝日*/
}


#yoyaku_list_stat {
	width: 100%;
	overflow-x: scroll;
}

/*スマホ対応*/
.s_phone {
	display: none;
	background-color: #bbffbb;
	padding: 0.5em;
}

@media screen and (max-width:500px){
	#mainmenu a {
		font-size: 10pt;
	}
	.cal_page {
		width: 300%;
	}
	#yoyaku_list {
		width: 200%;
	}
	#yoyaku_list td.title {
		width: 30vw;
		font-size: 3vw;
	}
	.s_phone {
		display: block;
	}
}


