#mv {
	background: url(../img/bg_mv.jpg) no-repeat 50% 50% / 100% auto;
	overflow: hidden;
}
#mv .inside {
	height: 400px;
	position: relative;
}
#mv p {
	background-color: rgba(244, 123, 138, 0.82); /* コーラルピンク半透明 */
	color: #fff;
	font-size: 150%;
	font-weight: bold;
	left: 50%;
	letter-spacing: 2px;
	padding: 6px 40px 4px;
	position: absolute;
	text-align: center;
	text-shadow: 2px 2px 4px rgba(0,0,0,.25);
	top: 60%;
	transform: translate(-50%, -50%);
	width: 100%;
}

section {
	padding: 60px 0;
}

#poster {
	background-color: #fff6f7;
	padding: 60px 0;
}
#poster .inside {
	max-width: 800px;
	margin: 0 auto;
}
#poster img {
	border: 3px solid #f8d0d6;
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(244, 123, 138, .18);
	display: block;
}

#schedule {
	background-color: #fff;
	padding: 60px 0 80px;
}

.schedule-title {
	font-size: 148%;
	text-align: center;
	color: #e05a6e;
	margin-bottom: 12px;
	letter-spacing: .08em;
}
.title-deco {
	color: #f5c53a;
	margin: 0 .4em;
}

.schedule-lead {
	text-align: center;
	font-size: 95%;
	color: #777;
	margin-bottom: 40px;
	letter-spacing: .03em;
}

.table-wrap {
	width: 80%;
	margin: 0 auto;
}

.schedule-table {
	border-collapse: separate;
	border-spacing: 0;
	border: none;
	font-size: 105%;
	margin: 0 auto;
	width: 100%;
}

.schedule-table thead tr {
	border-bottom: none;
}
.schedule-table th {
	background-color: #f47b8a;
	border-left: none;
	color: #fff;
	font-weight: bold;
	letter-spacing: .06em;
	padding: 14px 20px;
	text-align: center;
}
.schedule-table th:first-child {
	border-radius: 8px 0 0 0;
}
.schedule-table th:last-child {
	border-radius: 0 8px 0 0;
}

.col-date { width: 28%; }
.col-time { width: 24%; }

.schedule-table tbody tr {
	border-bottom: none;
	transition: background-color .2s ease;
}
.schedule-table tbody tr:nth-child(odd) td {
	background-color: #fff6f7;
}
.schedule-table tbody tr:nth-child(even) td {
	background-color: #fff;
}
.schedule-table tbody tr:hover td {
	background-color: #fde8ec;
}
.schedule-table td {
	border-left: none;
	border-bottom: 1px dashed #f8c0c8;
	padding: 14px 20px;
	text-align: center;
	vertical-align: middle;
}
.schedule-table tbody tr:last-child td:first-child {
	border-radius: 0 0 0 12px;
}
.schedule-table tbody tr:last-child td:last-child {
	border-radius: 0 0 12px 0;
}

.schedule-table {
	border: 3px solid #f47b8a;
	border-radius: 12px;
	overflow: hidden;
}

.date-cell {
	font-weight: bold;
}
.date-cell .day {
	margin-left: .15em;
}
.date-cell .week {
	color: #aaa;
	margin-left: .2em;
}

.schedule-note {
	margin: 28px auto 0;
	width: 80%;
}
.schedule-note p {
	color: #888;
	font-size: 88%;
	line-height: 1.9;
	padding-left: 1em;
	text-indent: -1em;
}

@media screen and (max-width: 1024px) {
	#mv {
		background-position: 50% 0;
	}
	#mv p {
		font-size: 120%;
	}
	.schedule-table {
		width: 95%;
	}
	.schedule-note {
		width: 95%;
	}
	
}

@media screen and (max-width: 829px) {
	#mv {
		background-size: auto 100%;
	}
	#poster .inside {
		padding: 0 16px;
	}
	.schedule-title {
		font-size: 120%;
	}
	.schedule-lead {
		font-size: 88%;
		padding: 0 16px;
	}

	.table-wrap {
		width: 92%;
	}
	.schedule-note {
		width: 92%;
	}

	.schedule-table thead {
		display: none;
	}
	.schedule-table{
		border: none;
	}
	.schedule-table,
	.schedule-table tbody,
	.schedule-table tr,
	.schedule-table td {
		display: block;
		width: 100%;
	}
	.schedule-table tbody tr {
		border: 3px solid #f47b8a;
		border-radius: 12px;
		margin-bottom: 14px;
		overflow: hidden;
	}
	.schedule-table tbody tr:nth-child(odd) td,
	.schedule-table tbody tr:nth-child(even) td {
		background-color: #fff;
	}
	.schedule-table tbody tr:nth-child(odd) {
		background-color: #fff6f7;
	}
	.schedule-table td {
		border-bottom: 1px dashed #f8c0c8;
		border-left: none;
		box-sizing: border-box;
		padding: 10px 16px;
		text-align: left;
		position: relative;
	}
	.schedule-table td:last-child {
		border-bottom: none;
	}
	.schedule-table td::before {
		content: attr(data-label);
		background-color: #f47b8a;
		border-radius: 4px;
		color: #fff;
		display: inline-block;
		font-size: 80%;
		font-weight: bold;
		margin-right: 10px;
		padding: 1px 8px;
		vertical-align: middle;
		white-space: nowrap;
	}
	.schedule-table td.date-cell {
		background-color: #fde8ec;
		font-size: 108%;
		padding: 12px 16px;
	}
	.schedule-table td.date-cell::before {
		display: none; 
	}
	.schedule-table tbody tr:last-child td:first-child,
	.schedule-table tbody tr:last-child td:last-child {
		border-radius: 0;
	}
}

@media screen and (max-width: 539px) {
	#mv .inside {
		height: 300px;
	}
	#mv p {
		font-size: 110%;
	}
}