html, body { height:auto!important; min-height:100%;}
body { margin:0; padding:0; overflow:hidden; text-align:left;}

div.cal_block { width:100%; margin:0; padding:0 10px; display:flex; flex-wrap:wrap; justify-content:space-between;}
div.cal_wrapper { width:calc(50% - 10px); margin:0; padding:0; text-align:left;}
div#cal0 { margin-right:10px;}
div#cal1 { margin-left:10px;}

@media screen and (max-width:768px) {
div.cal_block { padding:0!important; justify-content:center!important;}
div.cal_wrapper { width:100%!important; margin:0!important;}
div#cal0 { margin-right:0!important; margin-bottom:10px!important;}
div#cal1 { margin-left:0!important;}
}

/* ナビゲーションテキスト（○年○月の定休日） */
div.cal_wrapper table.cal tr th p {
 margin:0 auto; padding:0 0 5px 0; text-align:center; color:#FFF; font-size:14px;}

/* ナビゲーション（前月・翌月/非表示） */
div.cal_wrapper table.cal tr th div.cal_ui { float:right; display:none;}
div.cal_wrapper table.cal tr th div.cal_ui input {
 margin:0 1px; padding:1px 5px; font-size:12px;
 border:1px solid #F3E0C0; border-radius:3px; background:#FFF;}

/* カレンダー */
div.cal_wrapper table.cal { width:350px; margin:0; padding:0; text-align:left; border-collapse:collapse;}
div.cal_wrapper table.cal tr td { 
 width:44px; padding:2px; text-align:center; font-size:12px;
 border:1px solid #F3E0C0; border-collapse:collapse; background:#FFF;}
div.cal_wrapper table.cal tr.headline {}
div.cal_wrapper table.cal tr.headline td { width:48px; padding:7px 0; color:#000; border-right:1px solid #FFF; background:#F3E0C0;}
div.cal_wrapper table.cal tr.headline td:last-of-type { }

div.cal_wrapper table.cal tr td div {
 width:44px; padding:4px 0; position:relative; text-align:center;
 font-size:12px; border-radius:3px; background:#FFF;}

div.cal_wrapper table.cal tr td div span {
 width:auto; padding:4px 0; z-index:10;
 display:block; position:absolute; top:20px; left:0px; display:none;
 text-align:left; color:#000; font-weight:normal; line-height:1.5em;
 border:1px solid #EEE; box-shadow:1px 1px 2px #666; background:#FFF;}

@media screen and (max-width:768px) {
div.cal_wrapper table.cal {
 margin:0 auto!important;
}
}

/* 日付のスタイル */
div.cal_wrapper table.cal tr td div.Tue { color:#F60; background:#FFF3D7;}
div.cal_wrapper table.cal tr td div.Holyday { color:#F60!important; background:#FFF3D7;}
div.cal_wrapper table.cal tr td div.Tue.Holyday { color:#F60!important; background:#FFF3D7;}
div.cal_wrapper table.cal tr td div.Today { font-weight:bold;}
div.cal_wrapper table.cal tr td div.Openday { color:#000; background:#FFF!important;}

div.cal_wrapper table.cal tr td div.pointer { cursor:pointer;}
div.cal_wrapper table.cal tr td div.pointer:hover { background:#EEE;}

div.cal_wrapper table.cal tr td div.backward { color:#FFF;}

/* カレンダー説明 */
p.summary {
 clear:both; width:100%; margin:15px 0 0; padding:0; text-align:left; vertical-align:top; color:#FFF; font-size:13px;}
p.summary span { margin:0; padding:0 3px 0 0; display:inline-block; vertical-align:top; font-size:18px; line-height:1;}
p.summary .Holyday { color:#FFF3D7;}

@media screen and (max-width:768px) {
p.summary {
 text-align:center!important;
}
}