.calBox {
	box-sizing: border-box;
	width:100%;
	height:auto;
	background-color:#FFF;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
	float: left;
	padding: 20px;
}
@media screen and (max-width: 749px) { 
.calBox {
	padding: 10px;
}
}
.calBoxTitle {
	width:100%;
	height:auto;
	text-align:center;
	float:left;
	font-size:2em;
	line-height: 2.4em;
	font-weight: bold;
	letter-spacing: 0.2em;
	margin: 0;
	padding: 0;
}
ul.calendarUL {
	box-sizing:border-box;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    width:100%;
	margin:0;
	margin-bottom: 10px;
	padding: 0;
	float: left;
}
@media screen and (max-width: 749px) { 
ul.calendarUL {
	padding:2px;
}
}

ul.calendarUL li {
	box-sizing:border-box;
	width:calc(100% / 7) ;
	width : 14.28%; /* IE8以下とAndroid4.3以下用フォールバック */
    list-style:none;
	margin:0;
	text-align: center;
	float: left;
}
ul.calendarUL li.week, ul.calendarUL li.date, ul.calendarUL li.doctor {
	box-sizing: border-box;
	font-size:0.8em;
	color:#000;
	border:1px solid #5a4698;
	border-right:0px solid #5a4698;
	line-height:20px;
	padding:2px;
}
ul.calendarUL li.last {
	border-right:1px solid #5a4698;
}
ul.calendarUL li.red {
	color:#FF0000;
}
ul.calendarUL li.sat {
	color:#0000FF;
}
ul.calendarUL li.date {
	border-top:0px solid #5a4698;
	border-bottom:1px dashed #ccc;
	padding: 5px;
	font-size: 1em;
	font-weight: bold;
	padding: 5px 0;
}
ul.calendarUL li.doctor {
	color:#000;
	border-top:0px solid #5a4698;
	position: relative;
}
ul.calendarUL li.holi {
	background-color:#f39b99;
	color:#FFF;
}


.inner {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	text-align: center;
	padding: 2px;
	display: table;
}
.pink, .green, .white, .holired, .yellow {
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
	color:#000;
	background: #fedfef;
	border-radius: 5px;
	padding: 10px 2px;
	font-size: 1em;
	line-height: 1.4em;
}
.yellow {
	background: #fffadd;
	font-size: 1em;
}
.green {
	background: #c4f8ff;
	font-size: 1em;
}
.white {
	background: #FFF;
}
.holired {
	background: none;
	color: #FFF;
}
@media screen and (max-width: 749px) { 
ul.calendarUL li.date {
	font-size: 0.9em;
	padding: 2px;
	}
.inner {
	padding: 0.5px;
	}
.pink, .green, .white, .yellow {
	font-size: 0.9em;
	padding: 8px 0.5px;
	border-radius: 2px;
	}
}




.cal_pink, .cal_green, .cal_white, .cal_yellow {
	box-sizing: border-box;
	width:20px;
	height:20px;
	float:left;
	background-color:#fedfef;
	margin-top: 5px;
	margin-right: 7px;
	border:1px solid #5a4698;
}
.cal_yellow {
	background:#fffadd;
}
.cal_green {
	background:#c4f8ff;
}
.cal_white {
	background: #FFF;
}
.cal_text {
	width:calc(100% - 27px);
	height:30px;
	float:left;
	line-height: 30px;
}

ul.calendarUL li.red {
	color:#FF0000;
}



.cal_ex {
    box-sizing:border-box;
    width:100%;
    height:auto;
    float:left;
    padding-right:0px;
    margin-bottom:20px;
    font-size: 14px;
    line-height:24px;
}
@media screen and (max-width: 749px) {
    .cal_ex {
        padding-right:20px;
        margin-bottom:10px;
        font-size: 12px;
        line-height:20px;
    }
}
.cal_ex0 {
    width:100%;
    height:auto;
    float:left;
    margin-left:5px;
    text-align: left;
}
.cal_ex1 {
    width:20px;
    height:20px;
    float:left;
    background-color:#f39b99;
    margin-left: 5px;
}
.cal_ex2 {
    width:auto;
    height:auto;
    float:left;
    margin-left:5px;
    text-align: left;
}