@charset "utf-8";

iframe {
	width: 760px;
	height: calc(315px * 760 / 560);
	margin: 50px 0;
}

@media print, screen and (min-width:768px) and (max-width:1040px) {
	iframe {
		width: 100%;
		height: 39.1vw;
	}
}

@media screen and (max-width:767px) {
	iframe {
		width: 100%;
		height: 48.6vw;
		margin: calc(100 / 750 * 100vw) 0;
	}
}

/* -------------------------------------------------
	info1
------------------------------------------------- */

.info1 {
	border-top: solid 1px #dc0514;
}
.info1 dt,
.info1 dd {
	padding: 1em 0;
	font-size: 16px;
	line-height: calc(21 / 16);
	border-bottom: solid 1px #dc0514;
}


@media print, screen and (min-width:768px){
	.info1 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.info1 dt {
		width: calc(180 / 760 * 100%);
	}
	.info1 dd {
		width: calc(580 / 760 * 100%);
	}
}

@media screen and (max-width:767px) {
	.info1 dt,
	.info1 dd {
		font-size: calc(24 / 750 * 100vw);
		line-height: 2;
	}
	.info1 dt {
		padding-bottom: 0;
		border-bottom: none;
	}
	.info1 dd {
		padding-top: 0em;
	}
}

/* -------------------------------------------------
	ticket
------------------------------------------------- */

#ticket {
	margin-top: 150px;
}
#ticket a {
	text-decoration: underline;
}
#ticket a:hover {
	text-decoration: none;
}
#ticket .price-table {
	border-left: solid 1px #dc0514;
	border-top: solid 1px #dc0514;
	box-sizing: border-box;
	margin-bottom: 20px;
	margin-top: 60px;
}
#ticket .price-table > div {
	box-sizing: border-box;
}
#ticket .price-table p {
	padding: 1em 0;
	text-align: center;
	border-right: solid 1px #dc0514;
	border-bottom: solid 1px #dc0514;
	font-size: 16px;
	box-sizing: border-box;
}

#ticket .price-table-note {
	font-size: 14px;
	margin-bottom: 35px;
}
#ticket h4 {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 15px;
}
#ticket .ticket-note {
	font-size: 14px;
	line-height: 1.8;
}
#ticket .ticket-note li {
	position: relative;
	padding-left: 1.5em;
}
#ticket .ticket-note li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}


@media print, screen and (min-width:768px){
	#ticket .price-table > div {
		display: flex;
	}
	#ticket .price-table p {
		width: 33.33%;
	}
}

@media screen and (max-width:767px) {
	#ticket {
		margin-top: calc(195 / 750 * 100vw);
	}
	#ticket .h-normal {
		margin-bottom: calc(80 / 750 * 100vw);
	}
	#ticket .price-table {
		display: flex;
    	margin-bottom: 4vw;
	}
	#ticket .price-table > div {
		width: 50%;
	}
	#ticket .price-table p {
		font-size: calc(28 / 750 * 100vw);
	}
	
	#ticket .price-table-note {
		font-size: calc(22 / 750 * 100vw);
		margin-bottom: 10vw;
	}
	#ticket h4 {
		font-size: calc(24 / 750 * 100vw);
		margin-bottom: 4vw;
		letter-spacing: 0.08em;
	}
	#ticket .ticket-note {
		font-size: calc(24 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	ticket > palces
------------------------------------------------- */

#ticket .places {
	margin-top: 50px;
}
#ticket .places li {
	padding-top: 30px;
	border-top: solid 1px #dc0514;
}
#ticket .places li + li {
	margin-top: 50px;
}
#ticket .places li .title {
	margin-bottom: 1em;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: #000;
	letter-spacing: 0.1em;
}
#ticket .places li .desc {
	font-size: 16px;
	line-height: calc(30 / 16);
}
#ticket .places li .url {
	margin-top: 0.8em;
	font-size: 12px;
	line-height: 1.4;
	word-break: break-all;
}
#ticket .places li .url a {
	text-decoration: underline;
	transition: opacity 0.2s ease-out;
}
#ticket .places li .note {
	margin-top: 0.2em;
	font-size: 14px;
	color: #000;
	line-height: 1.8;
}
#ticket .places li .btn {
	max-width: 300px;
	margin-top: 45px;
	padding: 15px 0;
	box-sizing: border-box;
	border: solid 1px #dc0514;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	transition: all 0.6s ease-out;
	flex-direction: column;
}

@media print, screen and (min-width:768px){
	#ticket .places li .two-col {
		display: flex;
		justify-content: space-between;
	}
	#ticket .places li .two-col > div {
		width: calc(360 / 760 * 100%);
	}
	#ticket .places li .url a:hover {
		opacity: 0.6;
	}
}

@media screen and (max-width:767px) {
	#ticket .places {
		margin-top: calc(80 / 750 * 100vw);
	}
	#ticket .places li {
		padding-top: calc(40 / 750 * 100vw);
	}
	#ticket .places li + li {
		margin-top: calc(80 / 750 * 100vw);
	}
	#ticket .places li .title {
		font-size: calc(34 / 750 * 100vw);
	}
	#ticket .places li .desc {
		margin-top: 1em;
		font-size: calc(28 / 750 * 100vw);
		line-height: calc(50 / 28);
	}
	#ticket .places li .url {
		font-size: calc(24 / 750 * 100vw);
	}
	#ticket .places li .note {
		font-size: calc(28 / 750 * 100vw);
	}
	#ticket .places li .btn {
		max-width: none;
		width: calc(500 / 750 * 100vw);
		height: calc(100 / 750 * 100vw);
		margin: calc(60 / 750 * 100vw) auto 0;
		font-size: calc(28 / 750 * 100vw);
	}
}


#Cancellation {
	margin-top: 150px;
	line-height: 1.6;
}