#ecalendar_con01 .ecalendar_top{ text-align:center; margin-bottom:50px;  }
#ecalendar_con01 .ecalendar_top a,
#ecalendar_con01 .ecalendar_top h3{ display:inline-block; vertical-align:middle;}
#ecalendar_con01 .ecalendar_top a{ width:40px; height:40px; background-position:center; background-repeat:no-repeat; background-size:contain; font-size:0px; }
#ecalendar_con01 .ecalendar_top a.prev{ background-image:url('/thema/Basic/img/page_ecalendar_prev.png');}
#ecalendar_con01 .ecalendar_top a.next{ background-image:url('/thema/Basic/img/page_ecalendar_next.png');}
#ecalendar_con01 .ecalendar_top h3{ font-size:30px; font-weight:700; line-height:100%; margin:0 25px;  }

#ecalendar_con01 .ecalendar_tab{ overflow:hidden;  }
#ecalendar_con01 .ecalendar_tab .swiper-container{ overflow:visible; border-bottom:3px solid #ddd; }
#ecalendar_con01 .ecalendar_tab li{ position:relative; width:100px; }
#ecalendar_con01 .ecalendar_tab li:after{ content:""; position:absolute;  top:100%; left:50%; width:0%; height:3px; background:#0a4a9b;
	transform:translateX(-50%); t-webkit-ransform:translateX(-50%); -moz-transform:translateX(-50%);
	transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s;
}
#ecalendar_con01 .ecalendar_tab li:before{content:"";width:1px;height:18px;background:#ddd;position:absolute;right:0;top:50%;margin-top:-9px;}
#ecalendar_con01 .ecalendar_tab li:last-child:before{content:none;}
#ecalendar_con01 .ecalendar_tab li:hover:after,
#ecalendar_con01 .ecalendar_tab li.on:after{ width:100%; }
#ecalendar_con01 .ecalendar_tab li a{ display:block; height:50px; line-height:50px; text-align:center; font-size:18px; transition:all 0.3s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s;  }
#ecalendar_con01 .ecalendar_tab li:hover a,
#ecalendar_con01 .ecalendar_tab li.on a{ color:#0a4a9b; font-weight:700;}


#ecalendar_con01 .ecalendar_box{ display:flex; flex-wrap:wrap;}
#ecalendar_con01 .ecalendar_box > div{  width:calc(50% - 20px);}
#ecalendar_con01 .ecalendar_box > div.right{ margin-left:40px;  }
#ecalendar_con01 .ecalendar_box > div.right .inner{ height:480px;  border:1px solid #ddd; padding:40px; }

#ecalendar_con01 .sub_cal_tit{margin-bottom:25px;position:relative;}
#ecalendar_con01 .sub_cal_tit h4{font-size:26px;line-height:120%;font-weight:700;}
#ecalendar_con01 .sub_cal_tit a.write_btn{position:absolute;top:0;right:0;width:80px;line-height:32px;background:#333;color:#fff;text-align:center;border-radius:10px;font-size:14px;}

.calendar-box{position:relative; text-align:center; }
.calendar-box .list-title{ margin-bottom:35px;}
.calendar-box .list-title a{position:absolute; top:0;}
.calendar-box .list-title a.left{ left:0;}
.calendar-box .list-title a.right{ right:0;}
.calendar-box .list-title a img{width:100%;}
.calendar-box .list-head{ padding:15px 0;border-top:2px solid #333; border-bottom:1px solid #ebebeb; background:#f5f5f5;}
.calendar-box .list-head span{ float:left; width:14.28571428571429%; font-size:14px; line-height:100%;font-weight:700;}
.calendar-box .list-body li{border-bottom:1px solid #ebebeb;border-left:1px solid #ebebeb;}
.calendar-box .list-body li:after{ content:""; clear:both; display:block;}
.calendar-box .list-body li > div{ float:left; width:14.28571428571429%; padding:32.4px 0;border-right:1px solid #ebebeb;}
.calendar-box .list-body li > div > a{ position:relative; }
.calendar-box .list-body li > div.bg-holiday > a{color:#f80909;}
.calendar-box .list-body li > div.bg_ok > a{color:#fff;}
.calendar-box .list-body li > div.bg_ok > a:after{ content:""; position:absolute; top:50%; left:50%; width:27px; height:27px; background:#0a4a9b; border-radius:50%; transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); -moz-transform:translate(-50%,-50%); }
.calendar-box .list-body li > div.bg_ok.bg-today > a{color:#fff;}
.calendar-box .list-body li > div.bg_ok.bg-today > a:after{ background:#fcaf17;}
.calendar-box .list-body li > div.bg_ok.bg-today > a:before{content:"TODAY";font-size:10px;line-height:100%;color:#fcaf17;font-weight:700;position:absolute;bottom:-21px;left:50%;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);}
.calendar-box .list-body li > div a span{ position:relative; z-index:11; font-size:14px;}

.day_info{margin-top:20px;}
.day_info span{display:inline-block;margin-right:30px;font-size:16px;line-height:24px;padding-left:35px;background-repeat:no-repeat;background-position:left center;padding-top:3px;}
.day_info span.day01{background-image:url("/thema/Basic/img/main_schedule_day01.jpg");}
.day_info span.day02{background-image:url("/thema/Basic/img/main_schedule_day02.jpg");}
.day_info span.day03{background-image:url("/thema/Basic/img/main_schedule_day03.jpg");margin-right:0;}

.calendar-box2{ height:100%; overflow-y:auto;}
.calendar-box2 > ul{ margin:0px;}
.calendar-box2 > ul > li{ margin-bottom:18px;}
.calendar-box2 > ul > li:last-child{ margin-bottom:0px;}
.calendar-box2 > ul > li .day{ float:left;  width:73px; height:73px; background:#0a4a9b;  display:flex; align-items:center; justify-content:center;  text-align:center; font-size:16px; color:#fff;}
.calendar-box2 > ul > li.bg-today .day{ background:#fcaf17; }
.calendar-box2 > ul > li .subject{ float:left; width:calc(100% - 73px); height:73px;  padding:0 20px; display:flex; align-items:center;  overflow: hidden;  }
.calendar-box2 > ul > li .subject div{ font-size:16px; overflow: hidden; text-overflow: ellipsis;  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height:140%; max-height:42px;}
.calendar-box2 > ul > li a:hover .subject div{ font-weight:700;  }
.calendar-box2 .no_day_li{ text-align:center; color:#999;}

#ecalendar_con01 .ecalendar_view .item,
#ecalendar_con01 .ecalendar_view .no_day{ border:1px solid #ddd; padding:40px 30px; }
#ecalendar_con01 .ecalendar_view .no_day{ font-size:14px; color:#999; line-height:160%; }
#ecalendar_con01 .ecalendar_view .item{ margin-bottom:15px;}
#ecalendar_con01 .ecalendar_view .item:last-child{ margin-bottom:0px; }
#ecalendar_con01 .ecalendar_view .item strong{ display:block; border-bottom:1px solid #ddd; font-size:22px; padding-bottom:10px; margin-bottom:20px; line-height:140%;   }
#ecalendar_con01 .ecalendar_view .item li{ position:relative; padding-left:65px; font-size:16px; line-height:160%; margin-bottom:5px;}
#ecalendar_con01 .ecalendar_view .item li:last-child{ margin-bottom:0px; }
#ecalendar_con01 .ecalendar_view .item li b{ position:absolute; top:0; left:0; padding-left:15px; color:#0a4a9b; }
#ecalendar_con01 .ecalendar_view .item li b:after{ content:""; position:absolute; top:50%; left:0; width:5px; height:5px; border-radius:100%; background:#0a4a9b; margin-top:-3px; }


@media all and ( max-width:1024px){
	#ecalendar_con01 .ecalendar_top{ margin-bottom:40px; }
	#ecalendar_con01 .ecalendar_top a{ width:30px; height:30px; }
	#ecalendar_con01 .ecalendar_top h3{ font-size:25px; margin:0 15px;  }
	#ecalendar_con01 .ecalendar_tab li{ width:90px; }
	#ecalendar_con01 .ecalendar_tab li:before{height:14px;margin-top:-7px;}
	#ecalendar_con01 .ecalendar_tab li a{ height:40px; line-height:40px; font-size:16px;}

	#ecalendar_con01 .ecalendar_box > div{ width:calc(50% - 7.5px); }
	#ecalendar_con01 .ecalendar_box > div.right{ margin-left:15px; }
	#ecalendar_con01 .ecalendar_box > div.right .inner{ height:350px; padding:30px; }

	#ecalendar_con01 .sub_cal_tit{margin-bottom:15px;}
	#ecalendar_con01 .sub_cal_tit h4{font-size:23px;}
	#ecalendar_con01 .sub_cal_tit a.write_btn{width:70px;line-height:27px;font-size:13px;}
	
	.calendar-box .list-head{padding:12px 0;}
	.calendar-box .list-title{margin-bottom:10px;}
	.calendar-box .list-body li > div{padding:20px 0;}

	.day_info{margin-top:10px;}
	.day_info span{font-size:14px;background-size:20px;line-height:20px;padding-left:25px;margin-right:15px;}
	
	.calendar-box2 > ul > li{ margin-bottom:10px; }
	.calendar-box2 > ul > li .day{ width:60px; height:60px; font-size:13px; }
	.calendar-box2 > ul > li .subject{ width:calc(100% - 60px); height:60px; padding:0 15px;  }
	.calendar-box2 > ul > li .subject div{ font-size:14px; max-height:40px; }

	#ecalendar_con01 .ecalendar_view .item, #ecalendar_con01 .ecalendar_view .no_day{ padding:30px; }
	#ecalendar_con01 .ecalendar_view .item strong{ font-size:18px; padding-bottom:10px; margin-bottom:15px; }
	#ecalendar_con01 .ecalendar_view .item li{ font-size:14px; padding-left:50px; }
	#ecalendar_con01 .ecalendar_view .item li b{padding-left:10px;}
	#ecalendar_con01 .ecalendar_view .item li b:after{ margin-top:-5px;}

}
@media all and ( max-width:768px){
	#ecalendar_con01 .ecalendar_top{ margin-bottom:30px; }
	#ecalendar_con01 .ecalendar_top h3{ font-size:20px; margin:0 10px;  }
	#ecalendar_con01 .ecalendar_tab li{ width:80px; }
	#ecalendar_con01 .ecalendar_tab li a{ height:35px; line-height:35px; font-size:14px;}

	#ecalendar_con01 .ecalendar_box > div{ width:100%; }
	#ecalendar_con01 .ecalendar_box > div.right{ margin-left:0px; margin-top:30px;  }
	#ecalendar_con01 .ecalendar_box > div.right .inner{ padding:20px; }

	#ecalendar_con01 .sub_cal_tit{margin-bottom:10px;}
	#ecalendar_con01 .sub_cal_tit h4{font-size:20px;}

	.calendar-box .list-title h3{font-size:18px;}
	.calendar-box .list-title a{width:80px;}
	.calendar-box .list-head{padding:10px 0;}
	.calendar-box .list-head span{font-size:13px;}
	.calendar-box .list-body li > div{padding:15px 0;}
	.calendar-box .list-body li > div.bg_ok > a:after{width:22px;height:22px;}
	.calendar-box .list-body li > div.bg_ok.bg-today > a:before{bottom:-15px;}
	.calendar-box .list-body li > div a span{font-size:13px;}

	#ecalendar_con01 .ecalendar_view .item, #ecalendar_con01 .ecalendar_view .no_day{ padding:20px; }
}
