@charset "UTF-8";
/* CSS Document */


/* tab selector */

nav#tab_academy_sched {
	position: absolute;
	bottom: 0;
	left: 0;
}

nav#tab_academy_sched ul {
	display: flex;
	justify-content: flex-start;
	font-size: 1.6rem;
}

nav#tab_academy_sched ul a {
	color: #222;
	display: block;
	padding: 0.8em 1.2em 0.6em 1.2em;
	position: relative;
	z-index: 0;
	transition: 0.3s;
}

nav#tab_academy_sched ul a:hover {
	color: #22b6fe;
}



nav#tab_academy_sched ul li.current a {
	background-color: #fff;
	box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.1);
	pointer-events: none;
}


nav#tab_academy_sched ul li.current a::before {
	content: "";
	display: block;
}

body.monthly article {
	width: 1024px;
	margin: 0 auto;
	padding-top: 1.7em;
}

#sche_iframe {
	width: 100%;
	display: block;
}

div#box_sttl p.month_year,
div#box_sttl {
	display: flex;
	align-items: center;
	line-height: 1;
}

div#box_sttl p.month_year {
	font-family: "Roboto", sans-serif;
	font-size: 4rem;
	font-weight: 300;
	margin-right: 0.3em;
	position: relative;
	padding-right: 0.45em;
}

div#box_sttl p.month_year::after {
	content: "";
	display: block;
	width: 2px;
	height: 1.3em;
	background-color: #23b7fe;
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -0.65em;
	transform: skew(-25deg);
}

div#box_sttl p.month_year>strong {
	font-size: 8rem;
	font-weight: 500;
	color: #23b7fe;
	margin-right: 0.1em;
}


div#box_sttl h2 {
	font-size: 2.8rem;
	margin-left: 0.3em;
	margin-bottom: 0.15em;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.05em;
}






nav#box_cnav,
nav#box_cnav>.inner,
nav#box_cnav ul {
	display: flex;
}

nav#box_cnav {
	margin-top: 1em;
	justify-content: space-between;
}

nav#box_cnav a {
	color: #020202;
	transition: 0.3s;
}


nav#box_cnav ul {
	font-size: 1.6rem;
	line-height: 1;
	overflow: hidden;
	border-radius: 4px;
	background-color: #f0f1ed;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1) inset;
}



nav#box_cnav ul a {
	display: block;
	padding: 0.8em 1em 0.7em 1em;
}

nav#box_cnav ul a:hover {
	background-color: #23b7fe;
	color: #fff;
}

nav#box_cnav ul li.current a {
	background-color: #333;
	color: #fff;
	pointer-events: none;
}


/*schedule table*/
div.table_area {
	margin-top: 2em;
}

div.table_area>table {
	width: 100%;
	border-left: 1px solid #bbb;
	background-color: #fff;
}

div.table_area>table,
div.table_area>table th,
div.table_area>table td {
	box-sizing: border-box;
}

div.table_area>table th,
div.table_area>table td {
	border-bottom: 1px solid #bbb;
	padding: 0.5em 0.5em 0.5em 0.5em;
	text-align: center;
	border-right: 1px solid #bbb;
}

div.table_area>table thead th {
	border-top: 5px solid #020202;
	padding: 0.5em 0.5em 0.5em 0.5em;
	border-bottom: 1px solid #555;
}

div.table_area>table thead th:nth-of-type(1),
div.table_area>table thead th:nth-of-type(2) {
	width: 4em;
}

div.table_area>table thead th:nth-of-type(3) {
	width: 5em;
}

body.ss_girls div.table_area>table thead th:nth-of-type(3),
body.office div.table_area>table thead th:nth-of-type(3) {
	width: auto;
}

div.table_area>table thead th:last-of-type {
	border-top-color: #23b7fe;
}

div.table_area>table tbody th {
	font-family: "Roboto", sans-serif;
	font-size: 2.4rem;
	padding: 0.7em 0.5em 0.5em 0.5em;
}

div.table_area>table tbody th+td {
	font-size: 1.8rem;
}

div.table_area>table tbody td[class^='event_'] {
	font-size: 1.6rem;
	line-height: 1.4;
}

div.table_area>table tbody tr td:last-of-type {
	padding: 1.2em 0.5em 1.3em 0.5em;
}

div.table_area>table tbody tr th.sat,
div.table_area>table tbody tr th.sat+td {
	color: #22b6fe;
}

div.table_area>table tbody tr th.holiday,
div.table_area>table tbody tr th.holiday+td {
	color: red;
}

div.table_area>table tbody tr.event_tr td:last-of-type {
	background-color: #e5f8fd;
}

div.table_area>table tbody tr.event_other td:last-of-type {
	background-color: #f3f3f3;
	color: #888;
}

div.table_area>table tbody tr.event_sp td:last-of-type {
	background-color: #fdfdbe;
	font-weight: bold;
}

/*  */

/* === ============= */
/* ===== Resposive ===== */
/* === ============= */



/* ===== 768px（sp）以内 ===== */
@media (max-width: 768px) {

	/* mq start */

	#box_ttl div.inner {
		padding-bottom: 0;
	}

	nav#tab_academy_sched {
		position: relative;
		z-index: 999;
		margin-top: 6vw;
	}

	nav#tab_academy_sched ul {
		font-size: 3.125vw;
		/* 10px */
		font-size: 2.8125vw;
		/* 9px */
		justify-content: space-around;
	}

	nav#tab_academy_sched ul a {
		padding: 1.2em 1.2em 1.0em;
	}

	/*  */

	body.monthly article {
		width: 100%;
	}

	div#box_sttl {
		/* width: 100%; */
		justify-content: center;

	}

	div#box_sttl p.month_year {
		font-size: 6.25vw;
		/* 20px */
		font-size: 4.375vw;
		/* 14px */
	}

	div#box_sttl p.month_year>strong {
		font-size: 1.8em;
	}

	div#box_sttl h2 {
		font-size: 4.375vw;
		/* 14px */
	}

	/*  */

	nav#box_cnav {
		width: 90vw;
		height: 2.5em;
		height: auto;
		margin: 4vw auto 0;
		position: relative;
		display: flex;
		justify-content: space-between;
		overflow: hidden;
	}

	nav#box_cnav>.inner {
		width: 65%;
		overflow-y: hidden;
		overflow-x: auto;
		display: block;
	}

	nav#box_cnav ul.year {
		min-width: 37em;
		width: auto;
		font-size: 3.125vw;
		display: flex;
		justify-content: flex-start;
		background-color: #f2f3ef;
		line-height: 1;
		border-radius: 4px;
		overflow: hidden;
	}

	nav#box_cnav ul.year li {
		box-sizing: border-box;
		white-space: nowrap;
		border-left: 1px solid #fff;
	}

	nav#box_cnav ul.year li:first-of-type {
		border-left: none;
	}

	nav#box_cnav ul.year li a {
		display: block;
		min-width: 3em;
		height: auto;
		padding: 1em 0.5em 1.0em 0.5em;
		box-sizing: border-box;
		text-align: center;
		background-color: #f2f3ef;
		color: #050505;
		position: relative;
		transition: 0.3s;
	}

	nav#box_cnav ul.year li.current a {
		pointer-events: none;
		background-color: #22b6fe;
		color: #fff;
	}

	/*  */

	nav#box_cnav ul.pager {
		width: 30%;
		font-size: 3.125vw;
		display: flex;
		justify-content: flex-start;
		background-color: #f2f3ef;
		line-height: 1;
		border-radius: 4px;
		overflow: hidden;
	}

	nav#box_cnav ul.pager li {
		box-sizing: border-box;
		white-space: nowrap;
	}

	nav#box_cnav ul.pager li:first-of-type {
		border-left: none;
	}

	nav#box_cnav ul.pager li:first-child,
	nav#box_cnav ul.pager li:last-child {
		width: 30%;
	}

	nav#box_cnav ul.pager li:nth-of-type(2) {
		width: 40%;
	}

	nav#box_cnav ul.pager li a {
		display: block;
		height: auto;
		padding: 1em 0.5em 0.8em 0.5em;
		box-sizing: border-box;
		text-align: center;
		background-color: #f2f3ef;
		position: relative;
		transition: 0.3s;
		justify-content: center;
		align-items: center;
		width: auto;
	}

	nav#box_cnav ul.pager li.current a {
		pointer-events: none;
		background-color: #22b6fe;
		color: #fff;
	}

	nav#box_cnav ul.pager li:last-child a,
	nav#box_cnav ul.pager li:first-child a {
		color: #f2f3ef;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	nav#box_cnav ul.pager li:first-child a {
		padding-right: 0.5em;
		padding-left: 22px;
	}

	nav#box_cnav ul.pager li:first-child a::before,
	nav#box_cnav ul.pager li:last-child a::before {
		content: "";
		display: block;
		width: 0.8em;
		height: 0.8em;
		position: absolute;
		top: 50%;
		margin-top: -0.4em;
		border-bottom: 2px solid #22b6fe;
		border-left: 2px solid #22b6fe;
	}

	nav#box_cnav ul.pager li:first-child a::before {
		left: 11px;
		transform: rotate(45deg);
	}

	nav#box_cnav ul.pager li:last-child a::before {
		right: 11px;
		transform: rotate(-135deg);
	}

	/*  */

	div.table_area {
		overflow-x: scroll;
		position: relative;
		width: 100%;
		padding-top: 8vw;
		margin-top: 2vw;
	}

	div.table_area::before {
		/* content: "SCROLL";
		color: #23b7fe;
		display: block;
		width: 100%;
		height: auto;
		font-size: 2.8vw;
		padding: 2.5% 8% 2% 0;
		text-align: right;
		font-family: "Roboto", sans-serif;
		background-image: url(/common_2017/svg/icon_arrow_scroll.svg);
		background-repeat: no-repeat;
		background-position: 127% 48%;
		background-size: 40% 40%;
		margin: 0;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 999; */
	}

	div.table_area>table {
		min-width: 150vw;
		width: 100%;
		border-collapse: collapse;
		white-space: nowrap;
	}

	/* mq end */

}

/* ===== 320px（sp）以内 ===== */
@media (max-width: 320px) {

	/* mq start */




	/* mq end */

}