@charset "UTF-8";

.schedule {
	margin-top: 45px;
}

.schedule_cnt {
}

.schedule_desc {
	display: none;
	position: relative;
	font-size: 14px;
	text-align: center;
}

.schedule_desc:before,
.schedule_desc:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 28px;
	height: 18px;
	background-position: center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	transform: translateY(-50%);
}

.schedule_desc:before {
	left: 0;
	background-image: url(/event/img/icon-arw-scroll-prev@2x.png);
}

.schedule_desc:after {
	right: 0;
	background-image: url(/event/img/icon-arw-scroll-next@2x.png);
}

.schedule_desc span {
	display: inline-block;
	position: relative;
	padding-left: 35px;
	text-align: center;
}

.schedule_desc span:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 24px;
	height: 33px;
	background-image: url(/event/img/icon-scroll@2x.png);
	background-position: center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	transform: translateY(-50%);
}

.schedule_tb {
	width: 100%;
}

.schedule_tb:not(:first-child) {
	margin-top: 40px;
}

.schedule_tb caption {
	margin-bottom: 15px;
	font-weight: bold;
	font-size: 24px;
}

.schedule_tb:has(tbody:empty) {
	display: none;
}

.schedule_tb th,
.schedule_tb td {
	padding: 10px;
	border: 1px solid #d5d5d5;
	font-weight: bold;
	vertical-align: middle;
}

.schedule_tb th {
	padding: 20px;
	background: #eaeaea;
	color: #e55858;
	font-size: 20px;
	line-height: 1;
}

.schedule_tb td {
}

.schedule_tb td.-month {
	font-size: 20px;
	text-align: center;
}

.schedule_tb td.-cat {
	text-align: center;
}

.schedule_tb td.-cat span {
	padding: 8px 15px;
	border-radius: 50px;
	color: #ffffff;
}

.schedule_tb td.-theme {
	position: relative;
	max-width: 400px;
	padding: 15px 50px 15px 15px;
	text-align: justify;
	        transition: background 0.3s;

	font-feature-settings: "palt";
	-webkit-transition: background 0.3s;
}

.schedule_tb td.-theme:before {
	content: "\e901";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 15px;
	color: #e55858;
	font-size: 23px;
	line-height: 1;
	font-family: icomoon;
	transform: translateY(-50%);
}

.schedule_tb td.-theme a {
	display: block;
}

.schedule_tb td.-theme:hover {
	background: #ebebeb;
}

.schedule_tb td.-app {
	text-align: center;
}

.schedule_tb td.-app span,
.schedule_tb_sp_app span {
	display: block;
	max-width: 135px;
	margin: 0 auto;
	padding: 10px;
	line-height: 1;
}

.schedule_tb td.-app span.-gray,
.schedule_tb_sp_app span.-gray {
	color: #333333;
}

.schedule_tb td.-app span.-red,
.schedule_tb_sp_app span.-red {
	color: #e55858;
}

.schedule_tb td.-app span.-blue,
.schedule_tb_sp_app span.-blue {
	color: #085a9b;
}

.schedule_tb_sp {
	display: none;
}

/* タブレット以下設定 */
@media screen and (max-width:939px) {
}

/* スマホ設定 */
@media screen and (max-width:639px) {
	.cmnsubttl {
		font-size: 17px;
	}

	.schedule {
		margin-top: 22px;
	}

	.schedule_cnt {
		margin-top: 19px;
		overflow-x: scroll;
		white-space: nowrap;
	}

	.schedule_desc {
		display: block;
	}

	.schedule_tb {
	}

	.schedule_tb,
	.schedule_tb thead,
	.schedule_tb tbody,
	.schedule_tb tr,
	.schedule_tb th,
	.schedule_tb td {
		display: block;
	}

	.schedule_tb th,
	.schedule_tb td {
	}

	.schedule_tb th {
		display: none;
		padding: 15px;
		font-size: 16px;
	}

	.schedule_tb td {
		border-top: none;
		border-right: none;
		border-left: none;
	}

	.schedule_tb td.-month {
		margin-top: 26px;
		border-bottom: none;
		background: #eaeaea;
		font-size: 18px;
	}

	.schedule_tb tr:first-child td.-month {
		margin-top: 0;
	}

	.schedule_tb td.-cat {
		display: none;
	}

	.schedule_tb td.-theme {
		padding: 10px 30px 10px 0;
		white-space: normal;
	}

	.schedule_tb td.-theme:before {
		right: 0;
	}

	.schedule_tb td.-theme a {
	}

	.schedule_tb td.-theme a:hover {
	}

	.schedule_tb td.-app {
		display: none;
	}

	.schedule_tb td.-app span {
	}

	.schedule_tb td.-app span.-gray {
	}

	.schedule_tb td.-app span.-red {
	}

	.schedule_tb td.-app span.-blue {
	}

	.schedule_tb_sp {
		display: flex !important;
		justify-content: space-between;
		align-items: center;
		padding: 20px 0 0 !important;
		border-bottom: none !important;
	}

	.schedule_tb_sp_cat {
		flex: 1;
		font-weight: bold;
	}

	.schedule_tb_sp_cat span {
		padding: 8px 15px;
		border-radius: 50px;
		color: #ffffff;
	}

	.schedule_tb_sp_app {
		width: 135px;
		font-weight: bold;
		text-align: center;
	}
}
