* {margin: 0 0 0 0;padding: 0 0 0 0;}body{margin: 0 0 0 0;padding: 0 0 0 0;width: 100%;}h1,h2,h3,h4,h5,h6,p,ul,li{margin: 0 0 0 0;padding: 0 0 0 0;font-family: "Lucida Sans",MeiryoKe_PGothic,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;}hr{clear:both;}a{text-decoration: none;}a img{border: none;}img{border-width: 0;border: none;}table,tabel tr,tabel tr td{margin: 0;padding: 0;}ul,p,li,dd,dt,span{text-align: left;list-style-type: none;margin: 0 0 0 0;padding: 0 0 0 0;}.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}* html .clearfix{zoom: 1;}*:first-child+html .clearfix{zoom: 1;}
html, body { display: flex; }
body {
	flex-direction: column;
	min-height: 100vh;
	width: 100%;
	margin: 0;
}
header, footer {
	flex-shrink: 0;
	background:red;
}
footer{
	height: 66px;
	background: #eeeeee;
	position: relative;
}
main {
	flex: 1 0 auto;
	min-height: 1px;/*IE11 img resizing bug*/
	min-width: 900px;
}
header{
	background: url(../img/bg_h1reservation.jpg) repeat-x left top;
}
.inner{
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
}
.flex{
	display: flex;
	flex-direction: row;
}

/* header ------------------- */
#asakusa_id{
	height: 30px;
	position: relative;
	font-size: 20px;
	color: #ffffff;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: bold;
	line-height: 1;
	padding-top: 8px;
}
.title-update{
	width: 100%;
	background: linear-gradient(#ffffff 70% ,#eeeeee );
	height: 75px;
}
.title-update .inner{
	display: flex;
	flex-direction: row;
}
h1{
	width: 75%;
	display: block;
	font-size: 32px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: bold;
	padding-top: 12px;
}
.renewDate{
	width: 25%;
	font-size: 14px;
	margin: 25px auto auto auto;
	text-align: right;
}
/* main-side ----------------------------- */
#contents{
	position: relative;
	margin: 0 auto;
	padding-top: 22px;
}
#main{
	width: calc( 100% - 190px );
}
#main > p{
	font-size: 15px;
}
/* side ----------------------------- */
#side{
	width: calc( 22% - 10px );
	max-width: 180px;
	margin-left: 20px;
}
.type_exhibition #side{
	padding-top: 74px;
}
#side ul{
	width: 100%;
}
#side ul li:first-child{
	background: #cc3333;
	color: #ffffff;
	padding: 6px 4px 4px 12px;
	border-bottom: none;
}
#side ul li{
	font-size: 15px;
	line-height: 1.2;
	padding: 0 0 0 0;
	border-bottom: 1px dotted #cccccc;
}
#side ul li a{
	display: block;
	padding: 7px 4px 5px 32px;
	position: relative;
	color: #000000;
}
#side ul li a:before{
	content:"";
	font-size: 0;
	line-height: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.5px 0 3.5px 7px;
	border-color: transparent transparent transparent #bbbbbb;
	position: absolute;
	left: 13px;
	top: 12px;
}
#side ul li a:hover,
#side ul li a:active{
	background: #ffe5b2;
}
#side ul li.current a,
#side ul li.current a:hover,
#side ul li.current a:active{
	background: #ffcc66;
}
#side ul li.current a:before{
	border-color: transparent transparent transparent #ffffff;
}
/* main ----------------------------- */
.main p{
	font-size: 15px;
	margin-top: 7px;
}
h2{
	margin: 20px 0 0.5em 0;
	text-align: center;
	font-size: 32px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: bold;
}
/* table ----------------------------- */
table{
	border-collapse: collapse;
	font-size: 16px;
}
table th{
	background: #cc3333;
	color: #ffffff;
	line-height: 1.2;
	padding: 10px 4px 7px 4px;
}
table .time th{
	background: #eeeeee;
	color: #444444;
	padding: 8px 4px 6px 4px;
	font-weight: normal;
	vertical-align: top;
}
table td{
	border-bottom: 1px solid #dddddd;
	padding: 6px 2px 7px 2px;
	text-align: center;
}
table td span{
	display: block;
	margin: 0 auto;
	border-radius: 3px;
	width: calc( 100% - 4px);
	font-size: 14px;
	text-align: center;
	font-weight: bold;
	height: 22px;
	line-height: 22px;
	padding: 2px 2px;
	color: #ffffff;
	background: #aaaaaa;
	position: relative;
}
span[title="利用可"]{
	background: #ff8585;
}
span[title="利用可"]::after{
	content:"";
	display: block;
	width: 10px;
	height: 10px;
	border: 3px solid #ffffff;
	border-radius: 50%;
	position: absolute;
	top: calc( 50% - 8px );
	left: calc( 50% - 8px );
}
span[title="予約済"]::before,
span[title="予約済"]::after{
	content:"";
	display: block;
	width: 17px;/*線の長さ*/
	height: 3px;/*線の太さ*/
	background: #ffffff;
	transform: rotate(45deg);
	transform-origin:0% 50%;
	position: absolute;
	top: 18%;
	left: calc( 50% - 6px );
}
span[title="予約済"]::after{
	transform: rotate(-45deg);
	transform-origin:100% 50%;
	left: auto;
	right: calc( 50% - 6px );
	margin-left: -14px;
}
span[title="利用可"]{
	background: #ff8585;
}
span[title="休館"]{
}
span[title="予約済"]{
}
.holiday td{
	background: #fff0f0;
}
/* 個別  ----------------------------- */
/* Hall */
.type_hall table,
.type_hall #nextBack{
	width: calc( 100% - 20px );
}
.type_hall h2{
	width: calc( 80% - 20px );
}
.type_hall th{
	min-width: 94px;
}
.type_hall table td span{
	max-width: 80px;
	min-width: 3em;
}
.type_hall table .time th{
	font-size: 14px;
}
/* meeting */
.type_meeting table,
.type_meeting h2,
.type_meeting #nextBack{
	max-width: 716px;
	width: 100%;
}
.type_meeting table .time th{
	font-size: 12px;
	text-align: left;
	width: 52px;
}
.type_meeting table td.date{
	width: 100px;
}
.type_meeting table th strong{
	font-size: 15px;
	display: block;
	text-align: center;
}
/* exhibition */
.type_exhibition #main .flex > div{
	width: 50%;
}
.type_exhibition #nextBack,
.type_exhibition #main .flex{
	max-width: 706px;
	width: 100%;
}
.type_exhibition h2{
	font-size: 26px;
}
.type_exhibition h2,
.type_exhibition table{
	max-width: 334px;
	width: 100%;
}
.type_exhibition .next_month h2{
	margin-left: auto;
}

.type_exhibition table{
	border: 1px solid #dddddd;
}
.type_exhibition table th,
.type_exhibition table td{
	width: calc( (100% - 8px) / 7 );
}
.type_exhibition table td{
	border: 1px solid #dddddd;
}
.type_exhibition table#nextMonth{
	margin: 0 0 0 auto;
}
.type_exhibition table span{
	width: 36px;
	height: 16px;
	line-height: 16px;
}
.type_exhibition table .holiday{
	background: #fff0f0;
}
.type_exhibition span[title="利用可"]::before{
	content:"";
	width: 8px;
	height: 8px;
	top: calc( 50% - 8px );
	left: calc( 50% - 8px );
}

/* #nextBack  ----------------------------- */
#nextBack{
	height: 48px;
	position: relative;
	margin: 30px 0;
}
#nextBack a{
	display: block;
	width: calc( 50% - 7.5px );
	border: 1px solid #cccccc;
	height: 48px;
	line-height: 48px;
	position: absolute;
	top: 0;
	text-align: center;
	font-size: 15px;
	color: #777777;
}
#nextBack a:hover,
#nextBack a:active{
	background: #777777;
	color: #ffffff;
}
#nextBack .nextlink{
	right: 0;
}
#nextBack .prevlink{
	left: 0;
}
.nextlink::after,
.prevlink::before{
	content: "";
	display: inline-block;
	position: absolute;
	width: 8px;
	height: 8px;
}
.nextlink::after{
	right: 12px;
	top: 18px;
	border-top: 2px solid #bbbbbb;
	border-right: 2px solid #bbbbbb;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.prevlink::before{
	left: 12px;
	top: 18px;
	border-bottom: 2px solid #bbbbbb;
	border-left: 2px solid #bbbbbb;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* footer ------------------- */
footer a{
	display: block;
	color: #777777;
	height: 66px;
	line-height: 66px;
	padding-right: 45px;
	text-align: right;
	font-size: 15px;
}
footer a::after,
footer a::before{
	content:"";
	content:"";
	display: block;
	width: 17px;/*バツ線の長さ*/
	height: 3px;/*バツ線の太さ*/
	background: #aaaaaa;
	transform: rotate(45deg);
	transform-origin:0% 50%;
	position: absolute;
	top: 24px;
	right: 20px;
}
footer a::after{
	transform: rotate(-45deg);
	transform-origin:100% 50%;
	right: 25px;
}

/* add 20210729 */
table td.date{
	font-size: 15px;
}
.type_meeting table .time th span{
	display: block;
	text-align: right;
}
.type_meeting table td span{
	width: 56px;
	height: 24px;
	line-height: 24px;
	padding: 0;
}
.type_meeting table td span{
	margin: 0;
}
.type_meeting table tr:nth-of-type(1) th:nth-of-type(4),
.type_meeting table tr:nth-of-type(1) th:nth-of-type(7),
.type_meeting table tr:nth-of-type(1) th:nth-of-type(10),
.type_meeting table .time th:nth-of-type(4),
.type_meeting table .time th:nth-of-type(7),
.type_meeting table .time th:nth-of-type(10){
	padding-right: 10px;
}
.type_meeting table tr:nth-of-type(1) th:nth-of-type(5),
.type_meeting table tr:nth-of-type(1) th:nth-of-type(8),
.type_meeting table .time th:nth-of-type(5),
.type_meeting table .time th:nth-of-type(8){
	padding-left: 10px;
}
.type_meeting table td:nth-of-type(4) span,
.type_meeting table td:nth-of-type(7) span
.type_meeting table td:nth-of-type(10) span{
	margin-right: 10px;
}
.type_meeting table td:nth-of-type(5) span,
.type_meeting table td:nth-of-type(8) span{
	margin-left: 10px;
}
/* /add 20210729 */