.schedule .date{
	margin-bottom: 14px;
	display: flex;
}
.schedule .date a{
	text-decoration: none;
}
.schedule .date > .now{
	background-color: #252627;
	height: 100px;
	width: 100px;
}
.schedule .date > .now .year{
	color: #a1a2a8;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	margin-top:15px;
}
.schedule .date > .now .month{
	color: white;
	font-size: 5rem;
	font-weight: bold;
	text-align: center;
	margin-top:10px;
}
.schedule .date > .tab{
	flex: 1;
	margin-left:14px;
}
.schedule .date > .tab .year{
	display: flex;
	border-bottom: 4px solid #0688cc;
	margin-bottom: 14px;
}
.schedule .date > .tab .year li{
	margin-right: 10px;
}
.schedule .date > .tab .year li{
	width: 240px;
	height: 41px;
	line-height: 41px;
	text-align: center;
	font-weight: bold;
}
.schedule .date > .tab .year li.now{
	background-color: #0688cc;
	color: white;
}
.schedule .date > .tab .year li a{
	background-color: #f0f0f0;
	color: #282829;
	display: block;
	width: auto;
	height: auto;
}

.schedule .date > .tab .year li span{
	margin-left:3px;
	font-weight: normal;
	font-size: 1.2rem;
}

.schedule .date > .tab .month{
	display: flex;
	justify-content: space-between;
}
.schedule .date > .tab .month li{
	width: 65px;
	height: 41px;
	line-height: 41px;
	text-align: center;
	font-weight: bold;
}
.schedule .date > .tab .month li span{
	margin-left:3px;
	font-weight: normal;
	font-size: 1.2rem;
}
.schedule .date > .tab .month li.now{
	background-color: #0688cc;
	color: white;
}
.schedule .date > .tab .month li a{
	display:block;
	width: auto;
	height: auto;
	background-color: #f0f0f0;
	color: #282829;
}

.schedule .calendar{
	background-color: #cfcfcf;
	padding:3px;
}
.schedule .calendar ul{
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.schedule .calendar ul li{
	width: 138px;
	background-color:#fff;
	border-right:1px solid #cfcfcf;
	box-sizing: border-box;
}
.schedule .calendar ul li:nth-child(7n){
	border-right:none;
}

.schedule .calendar ul.week{
	/*margin-bottom:5px;*/
}
.schedule .calendar ul.week li{
	font-size:2.0rem;
	font-weight:bold;
	height;40px;
	line-height:40px;
	text-align:center;
	background-color:none;
	color:#555;
	border-bottom:4px solid;
}
.schedule .calendar ul.week li.sat{
	color:#4e80df;
}
.schedule .calendar ul.week li.sun{
	color:#b73248;
}



.schedule .calendar ul li{
	margin-bottom:1px;
}
.schedule .calendar ul li:nth-child(7n-1),
.schedule .calendar ul li.sat{
	background-color: #ebf6f8;
}
.schedule .calendar ul li:nth-child(7n),
.schedule .calendar ul li.holiday,
.schedule .calendar ul li.sun{
	background-color: #ffeded;
}
.schedule .calendar ul li.week1{
	background-color:#efefef;
}
.schedule .calendar ul li h3{
	background-color:#efefef;
	text-align:center;
	padding:5px 0;
	color:#afafaf;
	font-size:1.8rem;
	border-bottom:1px solid #cfcfcf;
}


.schedule .calendar ul li.pat h3{
	background-color:#f19a06;
	color:white;
}
.schedule .calendar ul li.apat h3{
	background-color:#60be56;
	color:white;
}

.schedule .calendar ul li p{
	background-color:#cfcfcf;
	text-align:center;
	padding:5px 0;
	font-size:1.3rem;
}
.schedule .calendar ul li.pat p{
	background-color:#fadaa3;
}
.schedule .calendar ul li.apat p{
	background-color:#b0ee99;
}
.schedule .calendar ul li p.time{
	display:none;
}

.schedule .calendar ul li .section{
	font-size:1.3rem;
	padding:5px;
}
.schedule .calendar ul li dl{
	display:flex;
	flex-wrap: wrap;
	margin-bottom:5px;
}
.schedule .calendar ul li dl dt{
	height:2rem;
	line-height:2rem;
	width:40%;
	text-align:center;
	background-color:#bbd4ff;
	color:#000;
}
.schedule .calendar ul li dl.delete{
	opacity: 0.3;
}
.schedule .calendar ul li dl.night dt{
	background-color:#1b3e69;
	color:#fff;
}

.schedule .calendar ul li dl dd{
	padding-left:5px;
	line-height:2rem;
	width:55%;
}
.schedule .calendar ul li dl dd.name{
	padding-left:0px;
	line-height:normal;
	width:100%;
}
.schedule .calendar ul li dl dd.name span{
	display: block;
	padding:3px;
	padding-left:5px;
}
.schedule .calendar ul li dl dd.name .grade{
}
.schedule .calendar ul li dl dd.name .grade a{
	display:block;
	padding-top:12px;
	padding-bottom:10px;
	font-size:1.4rem;
	font-weight:bold;
	background-color:#f7f7f7;
	text-align:center;
	border:1px solid #ccc;
	text-decoration: none;
	color: #252627;
}
.schedule .calendar ul li dl dd.name .grade a:hover{
	;background-color:#ffecbf;
}
.schedule .calendar ul li dl dd.name .grade p{
	background-color: transparent;
	padding:0;
}
.schedule .calendar ul li dl dd.name .grade p.buy{
	margin-top:17px;
	font-weight: normal;
}
.schedule .calendar ul li dl dd.name .grade p.buy span{
	display: inline;
	background-color: #bbd4ff;
	padding: 0px 8px;
}
.schedule .calendar ul li dl.night dd.name .grade p.buy span{
	background-color: #1b3e69;
	color: white;
}
.schedule .calendar ul li dl dd strong.icon{
	color:#ccc;
	margin-right:2px;
}
.schedule .calendar ul li dl dd.name .grade strong.grade{
	color:#fff;
	padding:0px 6px;
	font-size:1.2rem;
}
.schedule .calendar ul li dl dd.name .grade strong.num1{
	background-color:#2c44c7;
}
.schedule .calendar ul li dl dd.name .grade strong.num2{
	background-color:#e03326;
}
.schedule .calendar ul li dl dd.name .grade strong.num3{
	background-color:#299722;
}
/*
.schedule .calendar ul li dl dd.name .grade strong{
	color:#e60012;
}
*/
.schedule .explanation{
	font-size:1.5rem;
	padding:15px;
	background-color: #efefef;
}
.schedule .explanation ul.icon{
	display:flex;
	flex-wrap: wrap;
	margin-bottom:15px;
	/*justify-content: space-between;*/
}
.schedule .explanation ul.icon li{
	height:35px;
	line-height:35px;
	padding:0 20px;
	color:white;
	margin-right:10px;
}
.schedule .explanation ul.icon li.day{ background-color:#bbd4ff; color:black;}
.schedule .explanation ul.icon li.night{ background-color:#1b3e69; }
.schedule .explanation ul.icon li.apat{ background-color:#60bf59; }
.schedule .explanation ul.icon li.spat{ background-color:#f19a06; }

.schedule .explanation ul.note li{
	margin-bottom:7px;
}

.schedule .explanation .other{
	display:flex;
	justify-content: space-between;
}
.schedule .explanation .other p{
	width:210px;
	box-sizing: border-box;
	border:1px solid #dfdfdf;
	background-color:#fff;
}
.schedule .explanation .other p a{
	background-image: url(images/icon_pdf.png);
	background-repeat: no-repeat;
	background-position:0% 50%;
	height:70px;
	line-height:70px;
	display:block;
	padding-left:65px;
	font-size:2rem;
	color:#3f4b64;
	text-decoration:none;
	font-weight:bold;
}
.schedule .explanation .other p a:hover{
	opacity:0.5;
}
.schedule .explanation .other{
	flex:1;
	align-items: flex-start;

}
/*------------------- sp -------------------*/
@media screen and (max-width: 768px) {
	.schedule{
		width:auto;
	}
	.schedule .date{
		display: block;
	}
	.schedule .date > .now {
		display:none;
	}
	.schedule .date > .tab {
		margin: 0px;
	}
	.schedule .date > .tab .year{
		border-bottom-width: 2px;
		margin-bottom: 7px;
	}
	.schedule .date > .tab .year li{
		width:31%;
	}
	.schedule .date > .tab .month{
		flex-wrap: wrap;
	}
	.schedule .date > .tab .month li{
		width: 16%;
		margin-bottom: 3px;
	}
	.schedule .date > .tab .month li a{
		width: auto;
	}
	
	.schedule .calendar{
		padding: 1px;
	}
	
	.schedule .calendar ul{
		display:block;
	}
	.schedule .calendar ul.week{
		display:none;
	}

	.schedule .calendar ul li{
		border:none;
		border-left:10px solid #ccc;
		box-sizing: border-box;
		background-color:#fff;
		width:100%;
		display:flex;
		flex-wrap: wrap;
	}
	.schedule .calendar ul li:last-child{
		margin-bottom:0;
	}
	.schedule .calendar ul li.pat{
		border-left-color:#f19a06;
	}
	.schedule .calendar ul li.apat{
		border-left-color:#60be56;
	}
	.schedule .calendar ul li.pc{
		display: none;
	}
	.schedule .calendar ul li.lastday{
		margin-bottom: 0;
	}
	.schedule .calendar ul li header{
		position: static;
		display:flex;
		align-items: center;
		width:120px;
		border-right:1px solid #dfdfdf;
		z-index: 0;
		height: auto;
	}
	.schedule .calendar ul li header section{
		width:100%;
	}
	.schedule .calendar ul li.pat header{
		background-color:#fadaa3;
	}
	.schedule .calendar ul li.apat header{
		background-color:#b0ee99;
	}
	.schedule .calendar ul li h3{
		padding:10px 0;
		border:none;
	}
	.schedule .calendar ul li.pat header h3,
	.schedule .calendar ul li.apat header h3{
		color:#000;
		font-size:2.1rem;
		background-color:transparent;
		padding-bottom:5px;
	}
	.schedule .calendar ul li p.time{
		display:block;
	}

	.schedule .calendar ul li header p{
		padding:10px 0;
	}
	.schedule .calendar ul li header p.week{
		color:#000;
		padding:0px;
		padding-bottom:10px;
	}
	.schedule .calendar ul li .section{
		flex:1;
	}
	.schedule .calendar ul li dl:last-child{
		margin:0;
	}
	.schedule .calendar ul li dl dt{
		width:60px;
	}
	.schedule .calendar ul li dl dd.name .grade{
		width:150px;
	}
	
	.schedule .explanation{
		font-size:1.3rem;
	}
	.schedule .explanation ul.icon li{
		height:28px;
		line-height:28px;
		padding:0 10px;
		color:white;
		margin-right:10px;
		margin-bottom:5px;
	}
	.schedule .explanation .other{
		display:block;
		justify-content: space-between;
	}
	.schedule .explanation .other p{
		width:180px;
	}
	.schedule .explanation .other p a{
		background-image: url(images/icon_pdf.png);
		background-repeat: no-repeat;
		background-position:0% 50%;
		background-size: contain;
		height:40px;
		line-height:40px;
		background-color:#fff;
		display:block;
		padding-left:45px;
		font-size:1.7rem;
		color:#333;
		text-decoration:none;
		font-weight:bold;
	}
	.schedule .explanation .other{
		flex:1;
	}
}

#tooltip{
	text-align: center;
	color: #fff;
	background: #111;
	position: absolute;
	z-index: 100;
	padding: 10px;
}

#tooltip:after{
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #111;
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px;
	margin-left: -10px;
}
#tooltip.top:after{
	border-top-color: transparent;
	border-bottom: 10px solid #111;
	top: -20px;
	bottom: auto;
}
#tooltip.left:after{
	left: 10px;
	margin: 0;
}
#tooltip.right:after{
	right: 10px;
	left: auto;
	margin: 0;
}
