/* -----------------------------------------------
= kv
----------------------------------------------- */
.kv .page-title {
	position: relative;
	height: 223px;
	margin-inline: 12px;
}
.kv .page-title img {
	height: 100%;
	object-fit: cover;
}
.kv .page-title h1 {
	position: absolute;
	left: 12px;
	bottom: 10px;
	color: #fff;
}
.kv .page-title h1 span {
	display: block;
}
.kv .page-title h1 span:first-child {
	font-family: var(--en);
	font-size: calc(1.2rem / 1.6);
	font-weight: 600;
}
.kv .page-title h1 span:last-child {
	font-family: var(--min);
	font-size: calc(2rem / 1.6);
	font-weight: 300;
	letter-spacing: .08em;
}
.kv .lead {
	padding: 35px 12px 40px;
}
.kv .lead h2 {
	margin-bottom: 15px;
	font-family: var(--min);
	font-size: calc(1.8rem / 1.6);
	font-weight: 300;
}
.kv .lead p {
	font-size: calc(1.4rem / 1.6);
	line-height: calc(24 / 14);
}
@media print, screen and (min-width: 768px) {/* PC */
.kv .page-title {
	height: 200px;
	margin-inline: 40px;
}
.kv .page-title h1 {
	left: 40px;
	bottom: 40px;
}
.kv .page-title h1 span:first-child {
	font-size: calc(2.4rem / 1.6);
}
.kv .page-title h1 span:last-child {
	font-size: calc(3.6rem / 1.6);
	letter-spacing: .06em;
}
.kv .lead {
	padding: 70px 80px;
}
.kv .lead h2 {
	font-size: calc(3.2rem / 1.6);
}
.kv .lead p {
	font-size: calc(1.8rem / 1.6);
	line-height: calc(40 / 18);
}
}/* @media */
/* -----------------------------------------------
= program
----------------------------------------------- */
.program {
	margin: 0 12px 12px;
}
.program .title {
	padding: 12px;
	color: #fff;
	background: url(../../img/events/index_bg01.jpg) repeat 50% / 50%;
	clip-path: polygon(0 0, 94px 0, 114px 16px, 100% 16px, 100% 100%, 0 100%);
}
.program .title .category {
	margin-bottom: 12px;
	font-size: calc(.9rem / 1.6);
	font-weight: 700;
}
.program .title h2 {
	font-size: calc(2.4rem / 1.6);
	font-weight: 700;
	letter-spacing: .08em;
}
.program .title h2 span {
	display: block;
	font-family: var(--min);
	font-size: calc(1.8rem / 1.6);
	font-weight: 300;
	letter-spacing: 0;
}
.program .inner {
	padding: 30px 12px;
	background: #f3f3f3;
}
.program h3 {
	margin-bottom: 10px;
	padding-bottom: 5px;
	border-bottom: 1px solid #ee505c;
	font-family: var(--min);
	font-size: calc(1.6rem / 1.6);
}
.program .box-wrap {
	margin-bottom: 30px;
	padding: 12px;
	background: #fff;
}
.program .box {
	border-top: 1px dotted #000;
}
.program .box:last-child {
	border-bottom: 1px dotted #000;
}
.program h4 {
	margin-bottom: 6px;
	padding-top: 12px;
	color: var(--red);
	font-size: calc(2rem / 1.6);
	font-weight: 700;
	letter-spacing: .08em;
}
.program h5 {
	margin-bottom: 12px;
	color: var(--red);
	font-family: var(--min);
	font-size: calc(1.6rem / 1.6);
	font-weight: 300;
	letter-spacing: .04em;
}
.program p {
	margin-bottom: 12px;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(20 / 13);
}
.program .box img {
	display: block;
	max-width: 240px;
	margin: 0 auto 20px;
}
.program table {
	width: 100%;
	margin-block: 20px;
}
.program th {
	width: 26%;
	padding-right: 3%;
}
.program th,
.program td {
	padding-block: 5px;
	border-top: 1px solid #b3b3b3;
	border-bottom: 1px solid #b3b3b3;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(20 / 13);
	vertical-align: top;
}
.program tr:nth-child(-n+3) th {
	padding-top: 8px;
	font-weight: 700;
}
.program tr:nth-child(-n+3) td {
	color: var(--red);
	font-weight: 700;
	font-size: calc(1.6rem / 1.6);
	letter-spacing: .08em;
}
.program .movie {
	margin-bottom: 10px;
}
.program .movie iframe {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
}
.program .events-entry {
	margin-top: 70px;
}
.program .events-entry p {
	margin-bottom: 12px;
	color: var(--red);
	font-family: var(--min);
	font-size: calc(1.6rem / 1.6);
	font-weight: 300;
	text-align: center;
}
.program .events-entry li + li {
	margin-top: 12px;
}
.program .events-entry li a {
	display: block;
	padding: 20px;
	color: #fff;
	background: url(../../img/events/index_bg01.jpg) repeat 50% / 50%;
	font-family: var(--em);
	font-size: calc(3rem / 1.6);
	font-weight: 600;
	text-align: center;
}
@media print, screen and (min-width: 768px) {/* PC */
.program {
	max-width: 1120px;
	margin: 0 auto 135px;
}
.program .title {
	padding: 20px;
	clip-path: polygon(0 0, 185px 0, 227px 36px, 100% 36px, 100% 100%, 0 100%);
}
.program .title .category {
	margin-bottom: 20px;
	font-size: calc(1.8rem / 1.6);
}
.program .title h2 {
	margin-left: 70px;
	font-size: calc(4.4rem / 1.6);
}
.program .title h2 span {
	display: inline-block;
	font-size: calc(3.2rem / 1.6);
	letter-spacing: .04em;
}
.program .inner {
	padding: 70px 40px 40px;
}
.program .inner-set {
	max-width: 900px;
	margin-inline: auto;
}
.program h3 {
	margin-bottom: 20px;
	font-size: calc(2.4rem / 1.6);
}
.program .box-wrap {
	margin-bottom: 55px;
	padding: 40px;
}
.program .box {
	display: flex;
	align-items: center;
	gap: 0 60px;
	position: relative;
	margin: 0;
	padding-block: 40px;
}
.program .box.noflex {
	display: block;
}
.program .box.noflex .flex {
	display: flex;
	align-items: center;
	gap: 0 60px;
}
.program .box .set {
	flex: 1;
}
.program h4 {
	padding-top: 0;
	border-top: none;
	font-size: calc(2.8rem / 1.6);
}
.program h5 {
	margin-bottom: 24px;
	font-size: calc(2rem / 1.6);
	letter-spacing: 0;
}
.program p {
	margin-bottom: 0;
	font-size: calc(1.6rem / 1.6);
	line-height: calc(28 / 16);
}
.program .box img {
	max-width: calc(320 / 820 * 100%);
	margin: 0;
}
.program table {
	margin-block: 0;
}
.program th {
	width: 26%;
	padding-right: 3%;
}
.program th,
.program td {
	padding-block: 12px;
	font-size: calc(1.8rem / 1.6);
	line-height: calc(28 / 18);
}
.program tr:nth-child(-n+3) th {
	padding-top: 12px;
	font-size: calc(2.4em / 1.6);
}
.program tr:nth-child(-n+3) td {
	font-size: calc(2.4em / 1.6);
}
.program .movie {
	max-width: 680px;
	margin-inline: auto;
}
.program .events-entry p {
	margin-bottom: 34px;
	font-size: calc(2.4rem / 1.6);
}
.program .events-entry ul {
	display: flex;
	gap: 0 40px;
}
.program .events-entry li + li {
	margin-top: 0;
}
.program .events-entry li {
	width: 100%;
}
.program .events-entry li a {
	padding: 20px;
	font-size: calc(4rem / 1.6);
}
}/* @media */
@media (hover:hover) {
.program .events-entry li a {
	transition: .3s;
	border: 1px solid transparent;
}
.program .events-entry li a:hover {
	color: var(--red);
	background: #fff;
	border: 1px solid var(--red);
}
}/* @media */
