#cal_area {
	margin: 55px auto 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#cal_area>div {
	width: 30%;
	text-align: center;
}
#cal_area>div table {
	margin: 0 auto 55px auto;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
	width: 100%;
}
.headline td {
	border: solid 1px #ccc;
}
.h_pink {
	font-size: 18px;
	margin-bottom: 5px;
	font-weight: 600;
}
.h_pink span {
  width: 25px;
  height: 25px;
  background: pink;
  margin-right: 0.5em;
  display: inline-block;
  border: solid 1px #ccc;
}
.h_green {
	font-size: 18px;
	margin-bottom: 55px;
	font-weight: 600;
}
.h_green span {
  width: 25px;
  height: 25px;
  background: #fff;
  margin-right: 0.5em;
  display: inline-block;
  border: solid 1px #2999aa;
}
.shuku {
	color: #2999aa;
	font-weight: 600;
  border: solid 1px #2999aa;
}

@media screen and (max-width: 1100px) {
	#cal_area>div {
		width: 48%;
	}
}
@media screen and (max-width: 790px) {
	#cal_area>div {
		width: 100%;
	}
}

div.cal_wrapper {
	padding: 10px 0px;
}
div.schedule_wrapper {
	padding: 10px 0px;
	width: 310px;
	border: solid 1px #CCC;
	border-radius: 5px;
	box-shadow: 1px 1px 3px #666;
}
div.schedule_wrapper h3 {
	padding: 0px 10px;
	font-weight: normal;
	margin: 0px;
	font-size: 12px;
	color: #666;
}
div.schedule_wrapper div.schedule_list {
	padding: 0px 10px;
	margin: 0px;
}
div.schedule_wrapper div.schedule_list ol {
	padding: 0px;
	margin: 5px auto;
	border-top: solid 1px #CCC;
}
div.schedule_wrapper div.schedule_list ol li {
	padding: 5px 10px 0px 0px;
	margin: 0px 0px 0px 30px;
	font-size: 12px;
	line-height: 1.5em;
}
div.schedule_wrapper div.schedule_list ol li:hover {
	text-decoration: underline;
}
div.cal_wrapper table.cal tr th p {
	padding: 5px;
	margin: 0px;
	font-size: 18px;
}
div.cal_wrapper table.cal tr th div.cal_ui {
	float: right;
}
div.cal_wrapper table.cal tr th div.cal_ui input {
	border: solid 1px #CCC;
	background-color: #FFF;
	font-size: 12px;
	margin: 0px 1px;
	padding: 1px 5px;
	border-radius: 3px;
}
div.cal_wrapper table.cal tr td {
	border-top: solid 1px #ccc;
	border-left: solid 1px #ccc;
}
div.cal_wrapper table.cal tr td {
	text-align: center;
	padding: 2px
}
div.cal_wrapper table.cal tr.headline td {
	padding: 5px 0px;
	width: calc( 100% / 7 );
}
div.cal_wrapper table.cal tr.headline {
	background-color: #EEE;
}
div.cal_wrapper table.cal tr td div {
	position: relative;
	padding: 5px 10px;
	font-size: 14px;
	text-align: center;
	background-color: #FFF;
	border-radius: 3px;
}
div.cal_wrapper table.cal tr td div span {
	display: none;
	position: absolute;
	top: 20px;
	left: 0px;
	width: 180px;
	border: solid 1px #EEE;
	background-color: #FFF;
	text-align: left;
	padding: 5px;
	z-index: 10;
	color: #000;
	font-weight: normal;
	line-height: 1.5em;
	box-shadow: 1px 1px 3px #666;
}

/* �ȉ��A�N���X�w�肷��Ƃ��̃A�� */

div.cal_wrapper table.cal tr td div.Sat {
	color: #00F;
	background-color: #fee;
}
div.cal_wrapper table.cal tr td div.Sun {
	color: #F00;
	background-color: #fee;
}
div.cal_wrapper table.cal tr td div.Today {
	font-weight: bolder;
}
div.cal_wrapper table.cal tr td div.Deli {
	background-color: #EFE;
}
div.cal_wrapper table.cal tr td div.Holyday {
	font-weight: bolder;
	color: #F00;
	background-color: #FEE;
}
div.cal_wrapper table.cal tr td div.Birthday {
	font-weight: bolder;
	background-color: #EEF;
	color: #090;
	border-radius: 3px;
}

div.cal_wrapper table.cal tr td div.backward {
	color: #CCC;
	font-weight: normal;
	background-color: #FFF;
	border-radius: 3px;
}
div.cal_wrapper table.cal tr td div.pointer {
	cursor: pointer;
}
div.cal_wrapper table.cal tr td div.pointer:hover {
	background-color: #EEE;
}

#cal_area>div table tbody>tr:first-of-type {
	border-right: solid 1px #fff;
}

.cal_wrapper p {
	font-weight: 600;
	margin-bottom: 12px;
}
.cal_wrapper .bg_pink {
	background: pink;
}