/* common */
._fnctWrap {
	line-height: 1.5;
}

.outer {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}

.blind {
	overflow: hidden;
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	clip: rect(0 0 0 0);
}

/******************************************************************************
******************************************************************************/
/* Design */
.switch-btn {
	text-align: right;
}

.switch-btn li {
	display: inline-block;
}

.switch-btn li a {
	position: relative;
	display: block;
	width: 45px;
	height: 45px;
}

.switch-btn li:first-child a {
	background: url('../images/scheduler.png') center center no-repeat;
}

.switch-btn li:first-child a::after {
	content: '';
	position: absolute;
	width: 1px;
	height: 20px;
	right: -2px;
	top: 13px;
	background-color: #ddd;
}

.switch-btn li:first-child a.ac {
	background: url('../images/scheduler-on.png') center center no-repeat;
}

.switch-btn li:last-child a {
	background: url('../images/sche-list.png') center center no-repeat;
}

.switch-btn li:last-child a.ac {
	background: url('../images/sche-list-on.png') center center no-repeat;
}

/**/
.schedule {
	display: none;
}

.schedule.ac {
	display: block;
}

.alb-head {
	padding: 5px;
	background: url('../images/box-ptrn.png') #fff;
	margin-bottom: 50px;
}

.alb-head .inner {
	background-color: #fff;
}

.alb-head .top {
	position: relative;
}

.alb-head .top h3 {
	color: #3362b2;
	font-size: 24px;
	text-align: center;
	padding: 15px 0;
	font-family: 'Noto Medium';
}

.alb-head .top button {
	position: absolute;
	top: 0;
	width: 120px;
	height: 100%;
	background-image: url('../images/box-arrow.png');
	background-repeat: no-repeat;
	font-family: 'Noto Regular';
}

.alb-head .top button.next {
	right: 20px;
	background-position: right -96px;
}

.alb-head .top button.prev {
	left: 20px;
	background-position: left 28px;
}

.alb-head .btm {
	border-top: 1px solid #d2d2d2;
	padding: 15px 0;
}

.alb-head .btm ul {
	padding: 0 50px;
	overflow: hidden;
}

.alb-head .btm ul li {
	float: left;
	width: calc(100% / 12);
	text-align: center;
}

.alb-head .btm ul li a {
	display: inline-block;
	color: #333;
	font-size: 16px;
	border-radius: 12px;
	background-color: #fff;
	padding: 5px 15px;
	transition: ease-in-out .2s;
	font-family: 'Noto Regular';
}

.alb-head .btm ul li a:hover,
.alb-head .btm ul li a.ac {
	color: #fff;
	background-color: #0e4789;
}

/* body */
.sche-alb .alb-body {
	overflow: hidden;
}

/* .sche-alb .alb-body.ac {
	display: block;
} */
.sche-alb .alb-body .sche-tab {
	float: left;
	width: 30%;
	border: 1px solid #ccc;
	padding: 0 0 20px 0;
}

.sche-alb .alb-body .sche-tab strong {
	display: inline-block;
	width: 100%;
	font-size: 24px;
	text-align: center;
	padding: 15px 10px;
	box-sizing: border-box;
	font-family: 'Noto Medium';
}

.sche-alb .alb-body .sche-tab strong span {
	color: #018cff;
	font-size: 24px;
}

.sche-alb .alb-body .sche-tab thead tr {
	background-color: #142280;
}

.sche-alb .alb-body .sche-tab th {
	color: #fff;
	padding: 10px 0;
	font-family: 'Noto Bold';
	font-size: 14px;
}

.sche-alb .alb-body .sche-tab td {
	padding: 15px 5px;
}

.sche-alb .alb-body .sche-tab td:first-child p {
	color: #ff1800;
}

.sche-alb .alb-body .sche-tab td:last-child p {
	color: #004fd2;
}

.sche-alb .alb-body .sche-tab td p {
	display: inline-block;
	/* vertical-align: middle; */
	width: 30px;
	height: 30px;
	line-height: 29px;
	border-radius: 50%;
	background-color: #fff;
	margin: 0 auto;
}

.sche-alb .alb-body .sche-tab td.marked p {
	/* background-color: #fad58c; */
	background-color: #FDEAC6;
}

.sche-alb .alb-body .sche-comt {
	float: right;
	width: 65%;
	font-family: 'Noto DemiLight';
}

.sche-alb .sche-comt {
	border-top: 2px solid #43505d;
}

.sche-alb .sche-comt th,
.sche-alb .sche-comt td {
	border-right: 1px solid #ccd0d7;
	border-bottom: 1px solid #ccd0d7;
	padding: 15px;
}

.sche-alb .sche-comt th:last-child,
.sche-alb .sche-comt td:last-child {
	border-right: 0;
}

.sche-alb .sche-comt th {
	background-color: #f9f9f9;
}

.sche-alb .sche-comt td {
	text-align: left;
}

.table-tail {
	text-align: right;
	margin-top: 5px;
}

.table-tail p {
	display: inline-block;
	color: #183d93;
	font-size: 16px;
	background: url('../images/box-tail.png') left 7px no-repeat;
	padding: 10px 0 10px 35px;
}

/* schedule list type */
.sche-list .list-body {
	border-top: 2px solid #43505d;
}

.sche-list .time-line {
	border-bottom: 1px solid #c6cace;
	padding: 30px 40px;
	overflow: hidden;
}

.sche-list .time-line dt {
	float: left;
	width: 25%;
	min-height: 210px;
	text-align: center;
	background: url('../images/month-bg.png') top center no-repeat;
	padding-top: 30px;
}

.sche-list .time-line dt div {
	min-height: 137px;
	background: url('../images/month-shield.png') top center no-repeat;
}

.sche-list .time-line dt strong {
	font-size: 60px;
	color: #fff;
}

.sche-list .time-line dt span {
	font-size: 20px;
	color: #fff;
}

.sche-list .time-line dt p {
	color: #fff;
}

.sche-list .time-line dd {
	float: right;
	width: 75%;
	color: #666;
	border-left: 1px solid #c6cace;
	padding-left: 35px;
	box-sizing: border-box;
}

.sche-list .time-line dd li {
	background: url('../images/sche-bul.png') left center no-repeat;
	padding-left: 20px;
	margin: 10px 0;
}

.sche-list .time-line dd span {
	display: inline-block;
	width: 100%;
	max-width: 160px;
	color: #1b1b1b;
	margin-right: 30px;
}

/**/
@media all and (max-width: 900px) {
	.alb-head .btm ul {
		padding: 0 25px;
	}

	.alb-head .btm ul li {
		width: calc(100% / 6);
	}

	.sche-alb .alb-body .sche-tab {
		float: none;
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}

	.sche-alb .alb-body .sche-comt {
		float: none;
		width: 100%;
		margin-top: 30px;
	}

	.sche-list .time-line dt {
		float: none;
		width: 100%;
		max-width: 250px;
		margin: 0 auto;
	}

	.sche-list .time-line dd {
		float: none;
		width: 100%;
		border: 1px solid #c6cace;
		padding: 35px;
	}

	.sche-list .time-line {
		padding: 30px;
	}
}

/**/
@media all and (max-width: 420px) {
	.alb-head .top button.next {
		background-position: right -102px;
	}

	.alb-head .top button.prev {
		background-position: left 21px;
	}

	.alb-head .btm ul {
		padding: 0 20px;
	}

	.alb-head .btm ul li {
		width: calc(100% / 4);
	}

	.alb-head .top h3 {
		font-size: 18px;
	}

	.sche-list .time-line {
		padding: 20px;
	}

	.sche-list .time-line dd {
		padding: 20px;
	}
}