table.cal { width:100%; margin:0 0 10px 0; border-collapse:collapse; }
table.cal thead tr { border-bottom:2px solid #ddd; vertical-align:top; }
table.cal th, table.cal td { width:14%; padding:1px; text-align:center; /*font-size:0.9em;*/ line-height:28px; font-weight:normal; position:relative; vertical-align:top; border-bottom:2px solid #ddd ; position:relative !important; color:#888; }


.this_month { float:left; width:240px; }
.next_month { float:right; width:240px; }
.sun, .sun { color:#f63; }
.sat, .sat { color:#0bd; }
.am { display:inline-block; z-index:5; width:28px; height:28px; margin:0; background:#cce7f5; z-index:1; border-radius:50%; }
.pm { display:inline-block; z-index:5; width:28px; height:28px; margin:0; background:#dbeabc; z-index:1; border-radius:50%; }
/*.holi { display:inline-block; z-index:5; width:28px; height:28px; margin:0; background:#fcc; z-index:1; border-radius:50%; }*/
.holi::before { content:""; position:absolute; top:0; right:0; width:1em; height:1em; background:#f55; z-index:1; border-radius:50%; }
/*span.tooltip::before { content:""; position:absolute; top:0; right:0; width:10px; height:10px; background:#f54; z-index:1; border-radius:50%; }*/

table.cal span { display:block; position:relative; }
table.cal span a { display:block;  }
.toku { background:#adb; font-weight:bold; color:#333; }
.A_ki { background:#fbb; font-weight:bold; color:#333; }
.B_ki { background:#fd7; font-weight:bold; color:#333; }
.C_ki { background:#dcd; font-weight:bold; color:#333; border-top:1px solid #ddd; border-bottom:1px solid #ddd ; }
.D_ki { background:#bcd; font-weight:bold; color:#333; }
.i_tokuwari { color:#adb; }
.i_A_ki { color:#fbb; }
.i_B_ki { color:#fd7; }
.i_C_ki { color:#dcd; }
.i_D_ki { color:#bcd; }
.i_holi { color:#f55; }

table.price_toku td, 
table.price_A_ki td, 
table.price_B_ki td, 
table.price_C_ki td, 
table.price_D_ki td { white-space:nowrap; }
table.price_toku thead th { background:#adb; color:#333; }
table.price_A_ki thead th { background:#fbb; color:#333; }
table.price_B_ki thead th { background:#fd7; color:#333; }
table.price_C_ki thead th { background:#dcd; color:#333; }
table.price_D_ki thead th { background:#bcd; color:#333; }

.tooltipster-content hr { margin:0.5em 0; height:1px; background:#fff; border:none; }
.cal_title { display:flex; border-bottom:3px double #ccc;}
.cal_title a { display:block; /*width:2em; height:2em;*/ position:relative; text-align:center; text-decoration:none; font-size:0.5em; white-space:nowrap; font-weight:normal; }
.cal_title a:first-child { margin-left:auto; }
.cal_title a.prev { padding:0.5em 1.5em 0.5em 0; }
.cal_title a.next { padding:0.5em 0 0.5em 1.5em; }
.cal_title a.prev::after { content:""; position:absolute; display:block; right:0; top:50%; width:1em; height:1em; margin:0; border-bottom:2px solid #333; border-left:2px solid #333; transform:rotate(45deg) translate(-50%,-40%); box-sizing:border-box; }
.cal_title a.prev:hover::after { border-bottom:2px solid #0a3; border-left:2px solid #0a3; }
.cal_title a.next::before { content:""; position:absolute; display:block; left:0; top:50%; width:1em; height:1em; margin:0; border-top:2px solid #333; border-right:2px solid #333; transform:rotate(45deg) translate(-50%,-40%); box-sizing:border-box; }
.cal_title a.next:hover::before { border-top:2px solid #0a3; border-right:2px solid #0a3; }

.cal_title .cal_title a:hover { text-decoration:none !important; } 