/* ---------------------------------------------------
・このCSSはPCとSPの表示比率を合わせています。
・サイズの単位は原則remにしてください。1rem = 1vw換算です。
・rootセレクタ内で、色やサイズの設定を指定してください。
---------------------------------------------------- */
body {
	background: #eee;
	font-family: sans-serif;
}

.master_bg {
	background: #edfaff;
}

.platinum_bg {
	background: #fff3f3;
}

.vip_bg {
	background: #fff6e1;
}

.lh_13 {
	line-height: 1.3;
}

.r {
	color: #b72e22;
}

.y {
	color: #ffdc71;
}

.thursday {
	color: #a6ff83;
}

.txt_c {
	text-align: center;
}

.fz50 {
	font-size: 50% !important;
}

.fz70 {
	font-size: 70% !important;
}

.fz80 {
	font-size: 80% !important;
}

.fz90 {
	font-size: 90% !important;
}

.fz100 {
	font-size: 100% !important;
}

.fz120 {
	font-size: 120% !important;
}

.fz150 {
	font-size: 150% !important;
}

/*----------------------------------------------
注釈
 ---------------------------------------------- */
.notice {
	padding-top: 2rem;
	font-size: 2rem;
	color: #8a8a8a;
	letter-spacing: 1px;
}

.notice li {
	position: relative;
	padding-left: 3rem;
	display: inline-block;
}

.notice li::before {
	content: "※";
	position: absolute;
	left: 0;
}

header {
	display: block;
	padding-top: 0;
	padding-bottom: 0;
	background: none;
	box-shadow: none;
}

.header_inner {
	max-width: 750px;
}

.header_inner img {
	width: 100%;
}

#info {
	padding: 3rem 0 0;
}

.course_table {
	width: 100%;
}

.course_table td {
	padding: 2rem 1rem;
	border: #d0d0d0 solid 2px;
	display: table-cell;
	vertical-align: middle;
	background: #e9e9e9;
	line-height: 1.3;
}

.course_table th {
	color: #fff;
	background: #03284c;
	padding: 2rem;
	border: #d0d0d0 solid 2px;
	font-weight: bold;
	text-align: center;
	line-height: 2;
	vertical-align: middle;
}

.course_wrap .course_table th {
	background: #af0010;
	font-size: 3rem;
	padding: 2rem 5rem;
}

.course_table tr:nth-of-type(even) td {
	background: #fff;
}

.course_table .bg {
	background: #555 !important;
	color: #fff;
	font-weight: 700;
	padding: 2rem;
}

.course_wrap .course_table .bg {
	width: 45%;
	height: 89.66px;
	padding: 1.5rem 2rem;
}

.course_wrap {
	display: flex;
	align-items: flex-start;
	gap: 2rem;
}

.mark_w {
	background: #fff;
	padding: 0 1rem;
	display: block;
	width: 100%;
}

.course_table a {
	text-decoration: none;
}

.top4 {
	margin-top: 4rem;
}

.zansu_area h2 {
	font-size: 4rem;
	text-align: center;
	font-weight: bold;
}

.zansu_master_ttl {
	background: #0f82c7;
	text-align: center;
	color: #fff;
	padding: 1.5rem 0;
	font-size: 3rem;
	font-weight: bold;
}

.zansu_platinum_ttl {
	background: #dc3f34;
	text-align: center;
	color: #fff;
	padding: 1.5rem 0;
	font-size: 3rem;
	font-weight: bold;
}

.zansu_vip_ttl {
	background: #8a6a1f;
	text-align: center;
	color: #fff;
	padding: 1.5rem 0;
	font-size: 3rem;
	font-weight: bold;
}

.zansu {
	margin: 0 auto;
	padding: 1rem 2rem;
	border: 4px solid #0f82c7;
	background: #fff;
}

.zansu.zansu_master {
	border-top: none;
}

.zansu.zansu_platinum {
	border: 4px solid #dc3f34;
	border-top: none;
}

.zansu.zansu_vip {
	border: 4px solid #8a6a1f;
	border-top: none;
}

.zansu li {
	padding: 1.8rem 0;
	line-height: 1.2;
	font-size: 3rem;
	font-weight: bold;
	background: #fff;
	text-align: left;
	margin: 0 1rem;
}

.zansu.zansu_vip li {
	text-align: center;
}

.font65 {
	font-size: 65%;
}

.zansu .zansu_date {
	padding: 0 0 1.8rem;
	font-size: 1.8rem;
	color: #8c8c8c;
	font-weight: normal;
}

.zansu li a {
	text-decoration: none;
	pointer-events: none;
}

.zansu .zansu_date+li {
	border-top: 1px dotted #03284c;
}

.zansu_notice {
	font-size: 2.5rem;
	text-align: center;
	color: #484848;
	padding-top: 2rem;
}

/* 赤点滅 */
.blinking {
	-webkit-animation: blink 0.5s ease-in-out infinite alternate;
	-moz-animation: blink 0.8s ease-in-out infinite alternate;
	animation: blink 0.8s ease-in-out infinite alternate;
	color: #b72e22;
	/* font-size: 100%;*/
	font-weight: bold;
	/* padding-left: 0.5rem; */
}

.sche_zan .blinking {
	color: #b72e22;
}

@-webkit-keyframes blink {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@-moz-keyframes blink {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes blink {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}


@media (max-width: 480px) {
	section {
		padding: 5vw 0 50px;
	}

	#info {
		padding: 8vw 0 0;
	}

	.notice {
		font-size: 4vw;
	}

	.notice li {
		padding-left: 5vw;
	}

	.sec_inner {
		padding: 0 5%;
	}

	.course_table {
		font-size: 3.5vw;
	}

	.course_table th {
		padding: 4vw 2vw;
		line-height: 1.8;
	}

	.course_table td {
		padding: 4vw 0;
	}

	.course_table .bg {
		padding: 4vw 1vw;
	}

	.course_wrap .course_table th {
		padding: 4vw 3vw;
		font-size: 4vw;
		line-height: 2;
	}

	.course_wrap .course_table .bg {
		padding: 4vw 1vw;
		width: 50%;
		height: 66.13px
	}

	.top4 {
		margin-top: 6vw;
	}

	.zansu_master_ttl {
		font-size: 6vw;
		padding: 1rem 0;
	}

	.zansu_platinum_ttl {
		font-size: 5vw;
		padding: 2vw 0;
	}

	.zansu_vip_ttl {
		font-size: 6vw;
		padding: 1rem 0;
	}

	.zansu {
		padding: 2vw;
		border: 3px solid #0f82c7;
	}

	.zansu.zansu_platinum {
		border: 3px solid #dc3f34;
	}

	.zansu.zansu_vip {
		border: 3px solid #8a6a1f;
	}

	.zansu li {
		font-size: 4.8vw;
		padding: 3vw 0 2vw;
	}

	.zansu .zansu_date {
		padding: 0 0 3vw;
		font-size: 3vw;
	}
}

.is-closed {
	position: relative;
	opacity: 0.7;
	/* 全体を暗く */
}

.is-closed a {
	pointer-events: none;
	/* クリック不可 */
}

/* しっかり「終了感」出すならオーバーレイ */
.is-closed::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.8);
}

.is-closed::before {
	content: "満員御礼";
	position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	background: #000;
	color: #fff;
	font-size: 5rem;
	padding: 2rem 3rem;
	z-index: 10;
}

@media (max-width: 480px) {
	.is-closed::before {
		font-size: 6vw;
		/* 少し大きめに */
		padding: 3vw 4vw;
		/* タップサイズ意識 */
	}
}

.time-show {
	display: none;
}

.time-show.is-visible {
	display: block;
}