@charset "utf-8";

/*----------------------------- calendar -----------------------------*/
/****************************** all ******************************/
.calendar_list > li:last-child{
	margin-bottom:0;
}

.calendar_trigger_parent{
	width:100%;
	position:relative;
}

.calendar_trigger_prev, 
.calendar_trigger_next{
	border:none;
	position:absolute;
	z-index:1;
	display:flex;
	justify-content:center;
	align-items:center;
	cursor:pointer;
}

.calendar_trigger_prev::before, 
.calendar_trigger_next::after{
	content:"";
	aspect-ratio:1;
	border-top:solid #444 1px;
	display:inline-block;
}

.calendar_trigger_prev::before{
	border-left:solid #444 1px;
	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
}

.calendar_trigger_next::after{
	border-right:solid #444 1px;
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	-o-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
}

.calendar_trigger_prev > span, 
.calendar_trigger_next > span{
	color:#333;
	line-height:1.2;
}

.calendar_table{
	width:100%;
}

.calendar_table caption{
	color:#333;
	line-height:1.2;
}

.calendar_table th{
	text-align:center;
}

.calendar_table td{
	vertical-align:top;
	text-align:center;
	width:14.28%;
}

.calendar_table th:first-child, 
.calendar_table td:first-child .calendar_number > span{
	color:#f00;
}

.calendar_table th:last-child, 
.calendar_table td:last-child .calendar_number > span{
	color:#00f;
}

.calendar_table_week_day_parent, 
.calendar_table_contents_parent{
	margin:0;
	position:relative;
}

.calendar_table_contents_parent{
	min-height:60px;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	position:relative;
}

.calendar_table td .calendar_number > span{
	color:#333;
	line-height:1.2;
	white-space:nowrap;
	display:inline-block;
}

.calendar_table_week_day_parent > span{
	line-height:1.2;
	display:block;
}

.calendar_schedule_list_parent > ul > li{
	line-height:1.2;
	text-align:left;
}

.calendar_schedule_list_parent > ul > li:last-child{
	margin-bottom:0;
}

.calendar_schedule_parent{
	display:flex;
	justify-content:flex-start;
	cursor:pointer;
}

.calendar_schedule_parent > *{
	vertical-align:middle;
}
/****************************** /all ******************************/

/****************************** pc ******************************/
@media screen and (min-width:1280px){
	.calendar_list > li{
		margin-bottom:20px;
	}
	
	.calendar_trigger_prev, 
	.calendar_trigger_next{
		top:2px;
	}
	
	.calendar_trigger_prev{
		left:2px;
	}
	
	.calendar_trigger_next{
		right:2px;
	}
	
	.calendar_trigger_prev::before, 
	.calendar_trigger_next::after{
		width:9px;
	}
	
	.calendar_trigger_prev > span, 
	.calendar_trigger_next > span{
		font-size:16px;
	}
	
	.calendar_trigger_prev > span{
		margin-left:5px;
	}
	
	.calendar_trigger_next > span{
		margin-right:5px;
	}
	
	.calendar_table caption{
		font-size:16px;
		padding-bottom:10px;
	}
	
	.calendar_table_contents_parent{
		min-height:60px;
	}
	
	.calendar_table td .calendar_number > span{
		font-size:14px;
		min-width:24px;
	}
	
	.calendar_table_week_day_parent > span{
		font-size:14px;
		margin:5px auto;
	}
	
	.calendar_schedule_list_parent{
		padding:5px 0;
	}
	
	.calendar_schedule_list_parent > ul{
		margin:0 10px;
	}
	
	.calendar_schedule_list_parent > ul > li{
		font-size:14px;
		margin-bottom:5px;
	}
	
	.calendar_schedule_parent > img{
		max-width:23px;
		max-height:23px;
		margin-right:5px;
	}
}
/****************************** /pc ******************************/

/****************************** tablet ******************************/
@media screen and (min-width:768px) and (max-width:1280px){
	.calendar_list > li{
		margin-bottom:3.0vw;
	}
	
	.calendar_trigger_prev, 
	.calendar_trigger_next{
		top:0.2vw;
	}
	
	.calendar_trigger_prev{
		left:0.5vw;
	}
	
	.calendar_trigger_next{
		right:0.5vw;
	}
	
	.calendar_trigger_prev::before, 
	.calendar_trigger_next::after{
		width:1.0vw;
	}
	
	.calendar_trigger_prev > span, 
	.calendar_trigger_next > span{
		font-size:1.8vw;
	}
	
	.calendar_trigger_prev > span{
		margin-left:0.5vw;
	}
	
	.calendar_trigger_next > span{
		margin-right:0.5vw;
	}
	
	.calendar_table caption{
		padding-bottom:1.0vw;
		font-size:2.0vw;
	}
	
	.calendar_table_contents_parent{
		min-height:4.8vw;
	}
	
	.calendar_table td .calendar_number > span{
		min-width:3.0vw;
		font-size:2.0vw;
	}
	
	.calendar_table_week_day_parent > span{
		font-size:1.5vw;
		margin:1.0vw auto;
	}
	
	.calendar_schedule_list_parent{
		padding:1.0vw 0;
	}
	
	.calendar_schedule_list_parent > ul{
		margin:0 1.5vw;
	}
	
	.calendar_schedule_list_parent > ul > li{
		margin-bottom:0.5vw;
		font-size:1.5vw;
	}
	
	.calendar_schedule_parent > img{
		max-width:3.5vw;
		max-height:3.5vw;
		margin-right:0.5vw;
	}
}
/****************************** /tablet ******************************/

/****************************** sp ******************************/
@media screen and (max-width:768px){
	.calendar_list > li{
		margin-bottom:3.0vw;
	}
	
	.calendar_trigger_prev, 
	.calendar_trigger_next{
		top:0.4vw;
	}
	
	.calendar_trigger_prev{
		left:0.5vw;
	}
	
	.calendar_trigger_next{
		right:0.5vw;
	}
	
	.calendar_trigger_prev::before, 
	.calendar_trigger_next::after{
		width:2.4vw;
	}
	
	.calendar_trigger_prev > span, 
	.calendar_trigger_next > span{
		font-size:4.0vw;
	}
	
	.calendar_trigger_prev > span{
		margin-left:1.0vw;
	}
	
	.calendar_trigger_next > span{
		margin-right:1.0vw;
	}
	
	.calendar_table caption{
		padding-bottom:1.0vw;
		font-size:5.0vw;
	}
	
	.calendar_table_contents_parent{
		min-height:10.0vw;
	}
	
	.calendar_table td .calendar_number > span{
		min-width:8.0vw;
		font-size:4.2vw;
	}
	
	.calendar_table_week_day_parent > span{
		font-size:4.0vw;
		margin:2.5vw auto;
	}
	
	.calendar_schedule_list_parent{
		padding:2.0vw 0;
	}
	
	.calendar_schedule_list_parent > ul{
		margin:0 2.5vw;
	}
	
	.calendar_schedule_list_parent > ul > li{
		margin-bottom:1.0vw;
		font-size:3.0vw;
	}
	
	.calendar_schedule_parent > img{
		max-width:4.5vw;
		max-height:4.5vw;
		margin-right:0.5vw;
	}
}
/****************************** /sp ******************************/
/*----------------------------- /calendar -----------------------------*/