@charset "utf-8";
* {
	box-sizing: border-box;
}

body {
	background-color: #FEE101;
	padding: 2%;
}

.adt-wrap {
    width: 80%;
	max-width: 800px;
    margin: auto;
}

.adt-content {
	background-color: #FFF292 !important;
	padding: 2%;
}

.adt-page-title {
    text-align: center;
}

.adt-lead {
    margin: 50px;
}

.adt-lead p {
    text-align: justify;
}

.adt-back-top {
	text-align: center;
	margin: 2.5em 0 1em;
}

.adt-back-top a {
	color: #1a5d48;
	font-weight: bold;
}

.stage-information {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	gap: clamp(12px, 3vw, 28px);
	box-sizing: border-box;
	max-width: 100%;
	width: 87%;
	margin-inline: auto;
	border: solid 1px;
	padding: clamp(10px, 2vw, 16px);
}

/* 狭い横では画像列が縮み、テキストは min-width:0 で折り返し */
.stage-sentence {
	flex: 1 1 0;
	min-width: 0;
}

/*
 * 〜1000px：テキストが細り始める幅帯から画像も vw で細る（300px 張り付きで sentence が潰れないように）
 * 1001px〜：十分な見込みのため画像 300px 固定
 */
.stage-image {
	flex: 0 2 auto;
	width: clamp(120px, 27vw, 300px);
	min-width: 0;
	max-width: 100%;
	align-self: flex-start;
}

.stage-image img {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (min-width: 1001px) {
	.stage-image {
		flex: 0 0 300px;
		width: 300px;
		max-width: 300px;
	}
}

.red {
	color: red;
}

ul {
    /* list-style: none; */
}

.title-ul {
    padding: 0;
	list-style: none;
}

.title-ul ul {
}

.li-style {
	list-style: none;
}

.requirements {
	margin: 50px;
}

.method {
	margin: 50px;
}

.deadline {
	margin: 50px;
}

.notification {
	margin: 50px;
}

.second-schedule {
	margin: 50px;
}

.inquiry {
	margin: 50px;
}

.attention {
	margin: 50px;
}

.stage-summary p {
    text-align: center;
	font-weight: bold;
}

.stage-summary {
    margin: 70px auto;
	background-color: #fff;
	padding: 2%;
	width: 90%;
}

.stage-summary-tbl {
	margin-bottom: 1rem;
	border: solid 1px grey;
	border-collapse: collapse;
	max-width: 900px;
}

.stage-summary-tbl th {
	padding: 0.5rem;
	white-space: nowrap;
	vertical-align: middle;
	border: solid 1px grey;
    background-color: #e2e2e2;
}

.stage-summary-tbl td {
	padding: 0.5rem;
	vertical-align: middle;
	border: solid 1px grey;
	line-height: 1.5;
}

.stage-summary-tbl td a {
	color: #1a5d48;
	font-weight: bold;
}

.stage-summary-tbl td a:visited {
	color: #145a45;
}

/* レスポンシブ */
@media screen and (max-width: 800px) {
.adt-wrap {
	width: 100%;
	box-sizing: border-box;
	padding: 10px;
}

.adt-page-title h1 {
	font-size: 1.3rem;
}

p {
	font-size: 0.8rem;
}

li {
	font-size: 0.8rem;
}

.adt-lead {
	margin: 30px auto;
}

.requirements {
	margin: 30px auto;
}

.method {
	margin: 30px auto;
}

.deadline {
	margin: 30px auto;
}

.notification {
	margin: 30px auto;
}

.second-schedule {
	margin: 30px auto;
}

.inquiry {
	margin: 30px auto;
}

.attention {
	margin: 30px auto;
}

.stage-summary {
	margin: 30px auto;
	width: 100%;
	box-sizing: border-box;
	display: block;
}

.stage-summary-tbl {
	width: 100%;
	margin: auto;
	box-sizing: border-box;
	max-width: 900px;
}

.stage-summary-tbl th {
	width: 100%;
	display: block;
	border: none;
	padding: 1.5% 3%;
	font-size: 0.8rem;
}

.stage-summary-tbl td {
	vertical-align: middle;
	line-height: 1.5;
	width: 100%;
	display: block;
	border: none;
	padding: 1.5% 3%;
	box-sizing: border-box;
	font-size: 0.8rem;
}

.adt-back-top {
	margin: 1.75em 0 0.85em;
	font-size: 0.9rem;
}
}

/* 767px 以下：公演情報ブロックは縦並び・KV は横幅に追従して中央 */
@media screen and (max-width: 767px) {
	.stage-information {
		flex-direction: column;
		align-items: stretch;
	}

	.stage-sentence {
		flex: none;
		width: 100%;
		min-width: 0;
	}

	.stage-image {
		flex: none;
		width: min(100%, 480px);
		max-width: 100%;
		margin: 1rem auto 0;
		align-self: center;
	}

	.stage-image img {
		width: 100%;
		height: auto;
	}
}