

cite {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

h2 {
	font-size: 2rem;

	margin: 1rem 0;

	text-align: center;

	word-break: keep-all;
	overflow-wrap: anywhere;
}

@media screen and (max-width: 980px) {
	h2 {
		font-size: 1.5rem;
	}
}

h3 {
	margin: 1rem 0 0.2rem 0;

	text-align: center;
}

main > h3:not(.noDecoration):before,
main > h3:not(.noDecoration)::after,
.archive h3:not(.noDecoration)::before,
.archive h3:not(.noDecoration)::after {
	content: "～";
}

h3 + * {
	margin-top: 0;
}

h5,
h6 {
	font-size: 1rem;
	font-weight: normal;
}

#recordList dd {
	display: list-item;

	word-break: keep-all;

	overflow-wrap: anywhere;
}

#recordList small::before {
	content: " ※";
}

@media screen and (max-width: 980px) {
	.archive .mainImage {
		max-height: 50vh !important;
	}
}

.archiveButton {
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	line-height: 1.1rem;

	display: inline-flex;

	padding: 0;

	text-align: left;

	border: 0;
	background: inherit;
	color: #000;
}

.archiveButton:hover {
	color: #24890d;
	border-bottom-color: #24890d;
}

.archiveButton cite {
	text-decoration: underline;
	text-decoration-color: royalblue;
}

.author {
	border: 1px solid #000;
}

.author dl {
	margin: 1rem;
}

.career img {
	display: block;

	width: 300px;
	height: 400px;
	margin: auto;
}

.career h3 {
	margin-top: 0;
}

.career dl {
	display: block;
	overflow-y: auto;

	max-width: 100%;
	max-height: calc(100vh - 17rem  - 404px);
	max-height: calc(100dvh - 17rem  - 404px);
	margin: 0;
	padding: 0;

	scrollbar-gutter: stable;
}

.career div {
	display: table-row;

	margin-bottom: 0.3rem;
}

.career dt,
.career dd {
	display: table-cell;

	padding: 0;
}

.career dt {
	display: flex;

	justify-content: space-between;
}

.career dd span {
	padding: 0 0.5rem;
}

.career time::before {
	content: "（";
}

.career time::after {
	content: "）";
}

.career span {
	display: inline-block;

	margin-left: 0;

	word-break: keep-all;
}

.career small::before {
	content: " ※";
}

@media screen and (max-width: 500px),
screen and (max-height: 800px) {
	.career img {
		width: 150px;
		height: 200px;
	}

	.career dl {
		min-height: 100px;
		max-height: calc(100vh - 14rem  - 200px);
		max-height: calc(100dvh - 14rem  - 200px);
	}
}

@media screen and (max-width: 800px) {
	.career div {
		display: block;
	}

	.career dt time {
		padding-right: 0.5rem;
	}
}

.centerStyle > :first-child {
	margin-top: 0;
}

.detail {
	display: table-row;
}

.detail dd {
	display: table-cell;
}

.detail dd ol,
.detail dd ul {
	padding-left: 1rem;
}

.detail dd p {
	margin: 0;
}

.detail dd p.discreet {
	display: block;

	max-width: 100%;
}

.detail dd p.discreet::before {
	content: "※";
}

.detail dt {
	display: flex;

	justify-content: space-between;
}

.detail dt::after,
span.colon::after {
	content: "： ";
}

.detailArea {
	display: table;

	margin-bottom: 0.8rem;

	border-spacing: 0 0.2rem;
}

h3:has(+ .detailArea) {
	margin-bottom: 0;
}

.detailArea + h3 {
	margin-top: 0;
}

.eventList {
	padding: 0;

	list-style: none;
}

.googleMap iframe {
	max-width: 100%;
}

.listWrapper {
	display: table;

	margin-bottom: 1rem;
}

.listWrapper * {
	margin: 0;
}

.listWrapper h4 {
	display: table-caption;

	text-align: center;
}

.listItem {
	display: table-row;
}

.listItem:nth-child(odd) {
	background-color: rgba(0, 0, 0, 0.1);
}

p.listItem,
.listItem dt,
.listItem dd {
	padding: 0 0.5rem;
}

.listItem dt {
	display: table-cell;

	vertical-align: middle;
	text-wrap: nowrap;
}

p.listItem,
.listItem dd {
	display: inline-block;

	vertical-align: top;
	word-break: keep-all;

	overflow-wrap: anywhere;
}

p.listItem {
	display: block;

	text-align: center;
}

.mainImage {
	display: block;

	max-width: 450px;
	max-height: 400px;
}

.member,
.member img {
	cursor: pointer;
	width: 150px;
	height: 150px;
}

@media screen and (max-width: 500px) {
	.member,
	.member img {
		width: 100px;
		height: 100px;
	}
}

.member {
	position: relative;

	margin: 0 2px 2px 0;
	padding: 0;

	border: 0;
}

.member img {
	object-fit: cover;
}

.member span {
	font-size: 12px;
	line-height: 1.5;

	position: absolute;
	bottom: 0;
	left: 0;

	box-sizing: border-box;
	width: 100%;
	max-height: 50%;
	margin: 0;
	padding: 6px 8px;

	text-align: left;

	color: #fff;
	background-color: rgba(0, 0, 0, 0.7);
}

.member .clear-decoration {
	border: none;
	outline: none;
}

.memberList {
	display: flex;

	flex-wrap: wrap;
	justify-content: space-evenly;
}

dd.multiCast {
	display: block;
}

.multiCast span {
	display: inline-block;
}

.multiCast span:last-child {
	padding-right: 1rem;
}

.multiCast span:not(:first-child) {
	margin-left: 2rem;
}

.multiCast span:nth-child(2) {
	margin-left: 1rem;
}

.overlayBase {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;

	width: 100vw;
	min-height: calc(100vh - 4rem);
	min-height: calc(100dvh - 4rem);
	margin-top: 4rem;

	background-color: rgba(0, 0, 0, 0.7);
}

.overlayInner {
	overflow-x: hidden;
	overflow-y: auto;

	box-sizing: border-box;
	width: max-content;
	max-width: 90vw;
	max-height: calc(100vh - 10.1rem - 4px);
	max-height: calc(100dvh - 10.1rem - 4px);
	margin: 1rem auto;
	padding: 1rem;

	color: #000;
	border: 20px solid #fff;
	border-radius: 20px;
	background-color: #fff;
}

@media screen and (min-width: 981px) {
	.overlayInner.archive {
		width: calc(960px + 1rem);
	}
}
@media screen and (max-width: 980px) {
	.overlayBase {
		min-height: calc(100vh - 3rem);
		min-height: calc(100dvh - 3rem);
		margin-top: 3rem;
	}

	.overlayInner {
		max-height: calc(100vh - 8.1rem - 4px);
		max-height: calc(100dvh - 8.1rem - 4px);

		border: 10px solid #fff;
	}

	.overlayInner.archive {
		max-width: 98vw;
		min-width: 98vw;
		padding: 0.3rem;
	}
}

.placeTimeContainer {
	width: max-content;
	max-width: 95vw;
}

.placeTime {
	width: 100%;
	margin-bottom: 0.5rem;
}

.placeTime h4,
.placeTime h5,
.placeTime h6 {
	font-size: 1rem;
	font-weight: normal;

	margin: 0;
}

.placeTime div time,
.placeTime div span {
	padding-left: 1rem;
}

.supplementList li {
	margin-bottom: 0.5rem;
}

.supplementList li li {
	margin-bottom: 0.2rem;
}

.supplementList li *:not(.overlayBase):not(.overlayBase *):not(li) {
	margin: 0;
}

div.synopsis {
	max-width: 40rem;

	word-break: keep-all;

	overflow-wrap: anywhere;
	text-align: center;
}

@media screen and (max-width: 980px) {
	div.synopsis {
		font-size: 0.9rem;
		text-align: left;
	}
}

.ticketTable {
	border-spacing: 0;

	border: 0.5px rgba(0, 0, 0, 0.3) solid;
}

.ticketTable thead {
	font-size: 1.1rem;
	font-weight: bold;

	color: #fff;
	background-color: #333;
}

.ticketTable tbody tr:nth-child(odd) {
	background-color: rgba(0, 0, 0, 0.1);
}

.ticketTable tbody th,
.ticketTable tbody td {
	font-weight: normal;

	border: 0.5px rgba(0, 0, 0, 0.3) solid;
}

.ticketTable th,
.ticketTable td {
	padding: 0 0.5rem;

	text-align: center;

	font-size: clamp(10px, 3vw, 15px);
}

.ticketTable td {
	white-space: nowrap;
}

.icon {
	width: 1rem;
	height: 1rem;
}