@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
li::marker {
  font-size: 0.6em;
}
:root {
	--pink:#e10481;
	--ink:#3a2044;
	--paper:#fffbfc;
	--bg:#fcd8d2;
	--gold:#bf9200;
}
* {
	box-sizing:border-box;
}
html {
	scroll-behavior:smooth;
	scroll-padding-top:65px;
}
body {
	padding-top:0;
	margin:0;
	background:var(--bg);
	color:var(--ink);
	font-family:"Noto Sans JP",sans-serif;
	font-size:16px;
	line-height:1.8;
}
img {
	max-width:100%;
	height:auto;
	vertical-align:middle;
}
picture {
	display:block;
}
a {
	color:var(--pink);
	text-underline-offset:4px;
}
button {
	font:inherit;
	cursor:pointer;
}
button,a,summary {
	-webkit-tap-highlight-color:transparent;
}
a:hover,button:hover {
	opacity:.75;
}
a:focus-visible,button:focus-visible,summary:focus-visible {
	outline:3px solid #733889;
	outline-offset:5px;
}
h1,h2,h3,h4,p,ul,figure {
	margin:0;
}
ul {
	padding-left:1.4em;
}
h3 {
	font-size:20px;
	line-height:1.6;
}
.container {
	width:min(880px,calc(100% - 48px));
	margin-inline:auto;
}
.sp-only {
	display:none;
}
.section-title {
	text-align:center;
	line-height:1;
	margin:0 auto 28px;
}
.section-title img {
	width:auto;
	height:50px;
}
.header {
	height:45px;
	position:fixed;
	top:-65px;
	left:0;
	width:100%;
	background:var(--bg);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:top .6s ease, opacity .6s ease, visibility 0s linear .6s;
	z-index:30;
}
body.nav-visible .header {
	top:0;
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transition-delay:0s;
}
.header nav {
	display:flex;
	justify-content:flex-end;
	gap:30px;
	padding:0 40px;
}
.header nav a {
	font-family:"Playfair Display",serif;
	font-weight:800;
	font-size:20px;
	color:var(--pink);
	text-decoration:none;
}
.menu-toggle {
	display:none;
}
.ticket-shortcut {
	position:fixed;
	z-index:40;
	width:168px;
	right:20px;
	top:min(720px,76vh);
}
.skip-link {
	position:fixed;
	top:-100px;
	left:15px;
	z-index:100;
	background:white;
	padding:10px;
}
.skip-link:focus {
	top:10px;
}
.opening {
	background:url('../img/pc-mv-bg.png') center top/100% 100% no-repeat;
	padding-top:16px;
}
.hero {
	margin:0 3.66%;
	font-size:0;
}
.hero img {
	width:100%;
	height:auto;
}
.news {
	text-align:center;
	padding:40px 24px 45px;
}
.news .section-title {
	margin-bottom:16px;
}
.news-list {
	list-style:none;
	padding:0;
	max-width:490px;
	margin:0 auto 20px;
	text-align:left;
	font-size:16px;
}
.news-list li {
	display:flex;
	gap:10px;
	padding:3px 0;
	border-bottom:1px solid var(--gold);
}
.news-list li:last-child {
	border:0;
}
.news-list time {
	flex-shrink:0;
	font-size:14px;
}
.news-list a {
	color:var(--pink);
	text-decoration:none;
}
.button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	background:var(--pink);
	border:0;
	border-radius:50px;
	color:white;
	text-decoration:none;
	font-size:16px;
	font-weight:700;
	min-height:38px;
	padding:5px 22px;
	line-height:1.5;
}
.button [aria-hidden="true"] {
	display:inline-block;
	width:.55em;
	height:.55em;
	border-top:2px solid currentColor;
	border-right:2px solid currentColor;
	overflow:hidden;
	text-indent:-9999px;
	transform:rotate(45deg);
	flex:none;
}
.cast-backdrop {
	position:relative;
	isolation:isolate;
	background-color:var(--bg);
	padding-top:16px;
	padding-bottom:85px;
}
.cast-backdrop::before {
	content:"";
	position:absolute;
	z-index:-1;
	inset:0;
	background:url('../img/intro-bg.png') left top/55% auto no-repeat,url('../img/pc-cast-bg.png') right bottom/62% auto no-repeat;
	mix-blend-mode:screen;
	filter:url("#sparkle-glow") brightness(2);
	pointer-events:none;
}
.introduction {
	background:url('../img/intro_bg-2.png') center/contain no-repeat;
	aspect-ratio:1762 / 1169;
	padding:50px 48px 65px;
	text-align:center;
}
.introduction .section-title {
	margin-bottom:30px;
	margin-top: 20px;
}
.intro-copy {
	font-size:16px;
	font-weight:700;
	line-height:1.7;
}
.intro-copy p+p {
	margin-top:26px;
}
.cast {
	padding-top:60px;
	text-align:center;
}
.main-cast {
	width:480px;
	max-width:100%;
	margin:auto;
}
.main-cast img {
	width:100%;
}
.main-cast figcaption {
	font-size:20px;
	font-weight:700;
	margin-top:6px;
}
.guests {
	margin-top:46px;
}
.guests .section-title {
	margin-bottom:18px;
}
.guests .section-title img {
	height:35px;
}
.guest-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}
.guest-grid img {
	width:100%;
}
.guest-grid figcaption {
	font-size:14px;
	font-weight:500;
	line-height:1.6;
	margin-top:4px;
}
.guest-grid strong {
	display:block;
	font-size:18px;
	font-weight:700;
}
.tickets {
	position:relative;
	padding:83px 0;
	margin-top:0;
	margin-bottom:0;
}
.tickets:before,.tickets:after {
	content:"";
	position:absolute;
	left:0;
	width:100%;
	height:84px;
	background:url('../img/pc-ticket-bg_top-bottom.png') center/100% 100% no-repeat;
	top:0;
}
.tickets:after {
	top:auto;
	bottom:0;
	transform:rotate(180deg);
}
.ticket-paper {
	background:var(--paper);
	padding:15px 40px 60px;
}
.tickets .section-title img {
	height:52px;
}
.event-info {
	text-align:center;
}
.event-info h3 {
	font-size:20px;
}
.venue {
	display:inline-flex;
	align-items:flex-end;
	gap:7px;
	font-size:18px;
	font-weight:700;
	color:var(--pink);
	margin-top:10px;
}
.venue img {
	width:14px;
}
.dates {
	font-weight:700;
	margin-top:28px;
}
.small {
	font-size:13px;
	line-height:1.6;
}
.event-info .small {
	margin-top:5px;
}
.event-info ul {
	margin-top:5px;
}
.event-info ul li{
	list-style: none;
    padding-left: 0.5em;
    text-indent: -0.5em;
    font-size: 14px;
	line-height: 1.5em;
}
.event-info ul li:before {
    content: "※";
    display: inline-block;
}
.ticket-inner {
	max-width:670px;
	margin:auto;
}
.pricing {
	margin-top:38px;
	text-align:center;
}
.plans {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	border:1px solid var(--gold);
	margin:12px auto 0;
	width:87%;
}
.open .plans {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	border:1px solid var(--gold);
	margin:12px auto 0;
	width:80%;
}
.plan+.plan {
	border-left:1px solid var(--gold);
}
.plan-name {
	font-size:15px;
	line-height:1.5;
	padding:10px 3px;
	border-bottom:1px solid var(--gold);
}
.plan-name small {
	display:block;
	font-size:12px;
}
.price {
	font-size:14px;
	padding:9px 2px;
	white-space:nowrap;
}
.price strong {
	font-size:24px;
}
.ruled {
	position:relative;
	margin-top:38px;
	padding-top:45px;
}
.ruled:before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:10px;
	background:url('../img/pc-line.png') center/100% auto no-repeat;
}
.sale {
	text-align:center;
}
.sale>p {
	font-size:14px;
}
.sale .period {
	margin:18px 0;
}
.sale-notes {
	display:table;
	list-style:none;
	padding:0;
	margin:22px auto 0;
	text-align:left;
}
.sale .sale-notes {
	margin:12px 0 30px 17%;
}
/*.sale .button {
	margin-bottom: 30px;
}*/

ul.sale-notes.small li {
	list-style: none;
	padding-left: 0.5em;
	text-indent: -0.5em;
	font-size:14px;
}
ul.sale-notes.small li::before {
	content: "※";
	display: inline-block;
}
.ticket-status {
	margin-top:12px;
	color:var(--pink);
}
.ticket-notes {
	font-size:13px;
	line-height:1.9;
}
.ticket-notes.ruled ul {
	
}
.ticket-notes.ruled ul li{
	list-style: disc;
}

.ticket-notes h3 {
	text-align:center;
	margin-bottom:22px;
}
.ticket-notes h4 {
	font-size:15px;
	margin:28px 0 8px;
}
.ticket-notes a {
	text-decoration:none;
}
.accordions {
	max-width:460px;
	margin:42px auto 0;
}
.accordions details+details {
	margin-top:12px;
}
summary {
	list-style:none;
	cursor:pointer;
	border:1px solid var(--pink);
	border-radius:4px;
	padding:7px 38px 7px 15px;
	color:var(--pink);
	font-size:15px;
	font-weight:700;
	position:relative;
	line-height:1.8;
}
.accordions details[open] summary {
  border-radius: 4px 4px 0 0;
}
summary::-webkit-details-marker {
	display:none;
}
summary:after {
	content:"";
	position:absolute;
	width:11px;
	height:11px;
	border-right:2px solid var(--pink);
	border-bottom:2px solid var(--pink);
	transform:rotate(45deg);
	right:16px;
	top:11px;
}
details[open]>summary:after {
	transform:rotate(225deg);
	top:18px;
}
.details-body {
	font-size:13px;
	padding:20px 8px;
	overflow-wrap:anywhere;
	background-color: #fff0ed;
}
.details-body ul {
	
}
.details-body ul li{
	list-style: disc;
}
.details-body ul.disc-none li {
    list-style: none;
}
.contnt-02 ul li{
	list-style: none;
	padding-left: 0.5em;
	text-indent: -0.5em;
}
.contnt-02 ul li:before {
    content: "※";
    display: inline-block;
}
.details-body li+li {
	margin-top:12px;
}
.details-body p {
	margin:12px 0;
}
.contact {
	text-align:center;
	font-size:13px;
	margin-top:48px;
	line-height:1.8;
}
.contact p+p {
	margin-top:22px;
}
.contact a {
	text-decoration:none;
	color: var(--ink);
}
.access-backdrop {
	position:relative;
	padding:45px 0 55px;
}
/* Keep the artwork at 40% opacity without fading text or the map. */
.access-backdrop::before {
	content:"";
	position:absolute;
	inset:0;
	background:url('../img/pc-access-bg.jpg') center top/cover no-repeat;
	opacity:.4;
	pointer-events:none;
}
.access-backdrop > .access {
	position:relative;
}
.access {
	text-align:center;
}
.access .section-title {
	margin-bottom:15px;
}
.address {
	font-size:13px;
	margin:8px 0 18px;
}
.access-grid {
	display:grid;
	grid-template-columns:45% 1fr;
	gap:20px;
	text-align:left;
}
.map iframe {
	width:100%;
	height:280px;
	display:block;
	border:0;
}

.access-text ul {
	padding-left:1.2em;
	margin-bottom:18px;
}
.access-text ul.access-info {
	margin-bottom:14px;
}
.access-text ul.access-info li {
	list-style: none;
	padding-left: 0.5em;
	text-indent: -0.5em;
	font-size:14px;
}
.access-text ul.access-info li::before {
	content: "※";
	display: inline-block;
}
/*.access-text p+p {
  margin-top:12px}*/
.goods {
	position:relative;
	background:var(--paper);
	border-radius:4px;
	margin-top:55px;
	text-align:center;
	padding:20px 85px 22px;
}
.goods .section-title {
	margin-bottom:8px;
}
.goods p {
	font-family:"Playfair Display",serif;
	font-size:15px;
	font-weight: 800;
}
.goods:after {
	content:"";
	position:absolute;
	width:70px;
	height:77px;
	bottom:-10px;
	right:0;
	background:url('../img/goods-deco.png') center/contain no-repeat;
}
.history {
	background:#515785;
	color:var(--bg);
	padding:50px 0 20px;
}
.history .section-title img {
	height:55px;
}
.history-list {
	padding:0;
	list-style:none;
}
.history-item {
	position:relative;
	padding-right:132px;
	margin-top:26px;
}
.history-item picture img {
	width:100%;
}
a.history-link {
	color: var(--bg);
}
.history-link {
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	width:116px;
	border:2px solid var(--bg);
	text-decoration:none;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	text-align:center;
	font-size:13px;
	line-height:1.5;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
.history-link strong {
	font-size:18px;
}
.history-link img {
	width:20px;
	margin-top:15px;
}
footer {
	background:#515785;
	color: #fff;
	text-align:center;
	font-size:10px;
	padding:38px 20px 65px;
}
.family-page {
	background:var(--paper);
	padding:50px;
	margin-block:50px;
}
.family-page h2 {
	font-size:26px;
	text-align:center;
}
.family-seat__text p {
	margin-bottom:24px;
}
.back {
	text-align:center;
	margin-top:40px;
}
/* PC: Access artwork overlaps the ticket's lower edge, ending before Goods. */
@media(min-width:768px) {
	.tickets {
		z-index:1;
	}
	.access-backdrop {
		position:relative;
		background:none;
	}
	.access-backdrop::before {
		content:"";
		position:absolute;
		top:-110px;
		left:0;
		width:100%;
		bottom:198px;
		background:url('../img/pc-access-bg.jpg') center/100% 100% no-repeat;
		pointer-events:none;
	}
	.access-backdrop > .access {
		position:relative;
	}
}
@media(min-width:1600px) {
	.opening {
		background-size:cover;
	}
	.hero {
		max-width:1600px;
		margin:auto;
	}
}
@media(max-width:1000px) and (min-width:768px) {
	.header nav {
		gap:20px;
	}
	.ticket-shortcut {
		width:130px;
		right:10px;
	}
	.intro-copy {
		font-size:16px;
	}
	.introduction {
		padding:18px 24px;
	}
	.introduction .section-title {
		margin-bottom:18px;
		margin-top: 58px;
	}
	.intro-copy p+p {
		margin-top:16px;
	}
	.plan-name {
		font-size:12px;
	}
}
@media(max-width:767px) {
	html {
		scroll-padding-top:65px;
	}
	body {
		font-size:14px;
	}
	.container {
		width:calc(100% - 40px);
	}
	.sp-only {
		display:block;
	}
	.pc-only {
		display:none;
	}
	.header {
		height:60px;
	}
	.header nav {
		display:flex;
		visibility:hidden;
		pointer-events:none;
		clip-path:inset(0 0 100% 0);
		transition:clip-path .5s ease-in-out, visibility 0s linear .5s;
		position:fixed;
		inset:0;
		background:#525881;
		padding:64px 40px 40px;
		flex-direction:column;
		align-items:stretch;
		justify-content:flex-start;
		gap:27px;
		overflow:auto;
	}
	.header nav.is-open {
		visibility:visible;
		pointer-events:auto;
		clip-path:inset(0);
		transition-delay:0s;
	}
	.header nav a {
		position:relative;
		flex-shrink:0;
		color:#fff;
		font-size:24px;
		line-height:1.5;
		letter-spacing:1px;
		padding:7px 25px 3px 0;
		border-bottom:1px solid rgba(255,255,255,.75);
	}
	.header nav a::after {
		content:"";
		position:absolute;
		right:2px;
		top:18px;
		width:10px;
		height:10px;
		border-top:1px solid #fff;
		border-right:1px solid #fff;
		transform:rotate(45deg);
	}
	body.menu-open .ticket-shortcut {
		visibility:hidden;
	}
	.menu-toggle {
		display:block;
		position:absolute;
		z-index:50;
		top:10px;
		right:12px;
		width:46px;
		height:44px;
		background:transparent;
		border:0;
		/*padding:10px*/
	}
	.menu-toggle span {
		display:block;
		height:1px;
		background:var(--pink);
		margin:10px 0;
		transition:transform .2s,opacity .2s;
	}
	.menu-toggle[aria-expanded=true] {
		top:9px;
		right:10px;
		padding:5px;
	}
	.menu-toggle[aria-expanded=true] span {
		background:#fff;
		height:1px;
		margin:6px 0;
	}
	.menu-toggle[aria-expanded=true] span:nth-child(1) {
		transform:translateY(7px) rotate(45deg);
	}
	.menu-toggle[aria-expanded=true] span:nth-child(2) {
		opacity:0;
	}
	.menu-toggle[aria-expanded=true] span:nth-child(3) {
		transform:translateY(-7px) rotate(-45deg);
	}
	body.menu-open {
		overflow:hidden;
	}
	.ticket-shortcut {
		top:11px;
		right:76px;
		width:118px;
		z-index:35;
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		transform:translateY(-76px);
		transition:transform .6s ease, opacity .6s ease, visibility 0s linear .6s;
	}
	body.nav-visible:not(.menu-open) .ticket-shortcut {
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:translateY(0);
		transition-delay:0s;
	}
	.opening {
		padding-top:14px;
		background-image:url('../img/sp-mv-bg.png');
	}
	.hero {
		margin:0 10px;
	}
	.section-title img {
		height:45px;
	}
	.news {
		padding:10px 4vw 25px;
	}
	.news-list {
		font-size:14px;
		line-height:1.7;
		margin-bottom:20px;
	}
	.news-list li {
		gap:7px;
		padding:6px 0;
	}
	.button {
		min-height:38px;
		font-size:15px;
		padding:6px 24px;
	}
	.cast-backdrop::before {
		display:none;
	}
	.cast-backdrop {
		padding-top:20px;
		padding-bottom:38px;
		isolation:isolate;
		background:none;
	}
	.introduction {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width:calc(100% - 34px);
		aspect-ratio:716 / 1809;
		background-image:url('../img/sp_intro_bg-2.png');
		padding:0 24px;
		min-height:0;
		margin-bottom: 30px;
		box-sizing: border-box;
	}
	.introduction .section-title {
		margin-bottom:24px;
		margin-top: 20px;
	}
	.introduction .section-title img {
		height:auto;
		width:100%;
		max-width:310px;
	}
	.intro-copy {
		font-size:16px;
		line-height:1.6;
		overflow-wrap:anywhere;
	}
	.intro-copy p+p {
		margin-top:30px;
	}
	.cast {
		position:relative;
		width:calc(100% - 32px);
		padding-top:25px;
	}
	/* SP: anchor the artwork above Cast, independently of the introduction copy. */
	.cast::before {
		content:"";
		position:absolute;
		z-index:-1;
		top:calc(0 / 390 * 100vw);
		left:-16px;
		width:calc(100% + 32px);
		aspect-ratio:780 / 2420;
		background:url('../img/sp-cast-bg-2.jpg') center/100% 100% no-repeat;
		opacity: 0.7;
		pointer-events:none;
	}
	.cast .section-title {
		margin-bottom:20px;
	}
	.main-cast figcaption {
		font-size:18px;
		margin-top:0;
	}
	.guests {
		margin-top:35px;
	}
	.guests .section-title img {
		height:35px;
	}
	.guest-grid {
		grid-template-columns:1fr;
		gap:25px;
	}
	.guest-grid strong {
		font-size:16px;
	}
	.guest-grid figcaption {
		font-size:14px;
	}
	.tickets {
		width:calc(100% - 32px);
		padding:64px 0 0;
	}
	.tickets:before {
		height:65px;
		background-image:url('../img/sp-ticket-bg_top.png');
	}
	.tickets:after {
		display:none;
	}
	.ticket-paper {
		padding:30px 15px 0;
	}
	.tickets .section-title {
		margin-bottom:25px;
	}
	.tickets .section-title img {
		height:46px;
	}
	.event-info h3 {
		font-size:16px;
		line-height:1.3;
	}
	.venue {
		font-size:16px;
		margin-top:4px;
	}
	.dates {
		font-size:15px;
		line-height:1.6;
		margin-top:20px;
	}
	.dates p+p {
		margin-top:16px;
	}
	.small {
		font-size:12px;
	}
	.event-info .small {
		margin-top:12px;
		overflow-wrap:anywhere;
	}
	.pricing {
		margin-top:24px;
	}
	.pricing h3 {
		font-size:18px;
	}
	.plans {
		display:block;
		width:100%;
		margin-top:10px;
	}
	.open .plans {
    	display: block;
		width: 100%;
	}
	.plan {
		display:grid;
		grid-template-columns:60% 40%;
	}
	.plan+.plan {
		border-left:0;
		border-top:1px solid var(--gold);
	}
	.plan-name {
		font-size:14px;
		padding:7px 3px;
		border-bottom:0;
		border-right:1px solid var(--gold);
	}
	.plan-name small {
		font-size:11px;
	}
	.price {
		display:flex;
		justify-content:center;
		align-items:flex-end;
		font-size:11px;
		padding:5px 0;
	}
	.price strong {
		font-size:21px;
	}
	.ruled {
		margin-top: 35px;
		padding-top: 16px;
	}
	.ruled:before {
		background-size:auto 12px;
		background: url("../img/sp-line.png") center / 100% auto no-repeat;
	}
	.sale h3,.ticket-notes h3 {
		font-size:18px;
	}
	.sale .period {
		font-size:14px;
		font-weight:700;
		margin:4px auto 12px;
	}
	.sale-notes {
		font-size:11px;
		margin:12px 0 0;
	}
	.ticket-notes {
		font-size:13px;
		line-height:1.85;
	}
	.ticket-notes h3 {
		margin-bottom:16px;
	}
	.ticket-notes h4 {
		font-size:14px;
		margin-top:24px;
	}
	.accordions {
		margin-top:30px;
	}
	.accordions details+details {
		margin-top:12px;
	}
	summary {
		font-size:12px;
		padding:10px 30px 10px 12px;
	}
	summary:after {
		top:13px;
		right:13px;
	}
	.contact {
		font-size:12px;
		margin-top:28px;
	}
	.contact p+p {
		margin-top:24px;
	}
	.tickets {
		background:var(--paper);
		background-clip:content-box;
	}

	.tickets .ticket-paper:after {
		content:"";
		display:block;
		background:url('../img/sp-ticket-bg_bottom.png') center top/100% 100% no-repeat;
		width:calc(100% + 48px);
		aspect-ratio:753/561;
		margin:0 -24px -1px;
		position:relative;
		background-color: var(--bg);
	}
	.ticket-inner {
		position:relative;
		z-index:1;
	}
	.contact a,
	.details-body a.tel-num {
		text-decoration: none;
		color: var(--pink);
	}
	
	.access-backdrop {
		padding:35px 0 32px;
		background-position:center top;
	}
	.access-backdrop::before {
		background: none;
	}
	.access .section-title {
		margin-bottom:18px;
	}
	.address {
		font-size:16px;
		white-space:normal;
		line-height:1.6;
		margin:9px -8px 36px;
	}
	.access-grid {
		display:block;
	}
	.map iframe {
		height:250px;
	}
	.access-text li {
		font-size:16px;
		line-height:1.5;
	}
	.access-text {
		font-size:14px;
		margin-top:10px;
		line-height:1.5;
	}
	.access-text ul {
		margin-bottom:20px;
	}
	.goods {
		margin-top:35px;
		padding:17px 55px;
	}
	.goods .section-title img {
		height:40px;
	}
	.goods p {
		font-size:18px;
	}
	.goods:after {
		width:52px;
		height:57px;
		bottom: -12px;
	}
	.history {
		padding:32px 0;
		border-bottom: 1px solid #515785;
	}
	.history .container {
		width:calc(100% - 40px);
	}
	.history .section-title {
		margin-bottom:20px;
	}
	.history .section-title img {
		height:45px;
	}
	.history-item {
		padding-right:0;
		margin-top:30px;
	}
	.history-item picture {
		margin-bottom: 12px;
	}
	.history-item.has-link {
		padding-bottom:44px;
	}
	.history-link {
		top:auto;
		bottom:0;
		width:100%;
		padding: 10px;
		flex-direction:row;
		font-size:16px;
		border-radius: 6px;
		justify-content: space-between;
		box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	}
	.history-link strong {
		font-size:16px;
	}
	.history-link img {
		width:8px;
		margin:0;
		position:absolute;
		right:14px;
	}
	footer {
		font-size:9px;
		padding:20px 0 70px;
	}
	.family-page {
		padding:25px 20px;
		margin-block:25px;
	}
	.family-page h2 {
		font-size:22px;
	}
	.family-seat__text p {
		font-size:13px;
	}
}
@media(prefers-reduced-motion:reduce) {
	html {
		scroll-behavior:auto;
	}
	* {
		transition:none!important;
	}
}
/* Tickets: desktop typography from the design specifications. */
@media(min-width:768px) {
	.event-info h3 {
		font-size:22px;
		font-weight:700;
		line-height:1.4;
	}
	.event-info .venue, .event-info .dates {
		font-size:18px;
		font-weight:700;
		line-height:1.5;
	}
	.event-info .small {
		font-size:14px;
		font-weight:400;
		line-height:1.5;
	}
	.pricing h3 {
		font-size:20px;
		font-weight:700;
	}
	.plans {
		width:100%;
	}
	.plan {
		display:grid;
		grid-template-rows:1fr auto;
	}
	.plan-name {
		font-size:17px;
		line-height:1.5;
	}
	.plan-name strong {
		font-weight:700;
	}
	.plan-name small {
		font-size:14px;
		font-weight:500;
		line-height:1.5;
	}
	.price {
		font-size:16px;
		font-weight:500;
		line-height:1.2;
	}
	.price strong {
		font-size:24px;
		font-weight:700;
		line-height:1.2;
	}
	
	.sale h3 {
		font-size:20px;
		font-weight:700;
		line-height:1.5;
	}
	.sale h3 + p {
		font-size:14px;
		font-weight:500;
		line-height:1.5;
	}
	.sale .period {
		font-size:18px;
		font-weight:400;
		line-height:1.5;
	}
	.sale-notes {
		font-size:14px;
		font-weight:400;
		line-height:1.5;
	}
	.ticket-notes {
		font-size:14px;
		font-weight:400;
		line-height:1.7;
	}
	.ticket-notes h3 {
		font-size:20px;
		font-weight:700;
		line-height:normal;
	}
	.ticket-notes h4 {
		font-size:16px;
		font-weight:700;
		line-height:1.7;
	}
	.accordions summary {
		font-size:16px;
		font-weight:700;
		line-height:1.5;
	}
	.contact {
		font-size:14px;
		font-weight:400;
		line-height:1.5;
	}
	.contact strong {
		font-weight:700;
	}
	.access .address {
		font-size:16px;
		font-weight:700;
		line-height:20px;
	}
	.access-text ul {
		font-size:16px;
		font-weight:400;
		line-height:1.5;
		list-style: disc;
	}
	.access-text p {
		font-size:14px;
		font-weight:400;
		line-height:1.5;
	}
	.goods p {
		font-family:"Noto Serif",serif;
		font-size:18px;
		font-weight:700;
		line-height:1.5;
		text-transform:lowercase;
	}
	.history-item {
		padding-right:148px;
	}
	.history-link {
		width:132px;
		border-radius:0 9px 9px 0;
		flex-direction:row;
		gap:12px;
		text-align:left;
		font-size:14px;
		font-weight:700;
		line-height:1.2;
	}
	.history-link strong {
		font-size:18px;
		font-weight:700;
		line-height:1.2;
	}
	.history-link img {
		width:10px;
		margin-top:0;
	}
	footer {
		font-size:12px;
		font-weight:400;
		line-height:29px;
	}
}
/* Tickets: smartphone typography from the design specifications. */
@media(max-width:767px) {
	.event-info h3 {
		font-size:17px;
		font-weight:700;
		line-height:1.2;
	}
	.event-info .venue, .event-info .dates {
		font-size:16px;
		font-weight:700;
		line-height:1.5;
	}
	.event-info .event-time {
		font-size:14px;
		font-weight:500;
		line-height:1.5;
	}
	.event-info .small {
		font-size:12px;
		font-weight:400;
		line-height:1.5;
	}
	.pricing h3 {
		font-size:20px;
		font-weight:500;
		line-height:1.5;
	}
	.plan-name {
		font-size:14px;
		line-height:1.5;
	}
	.plan-name strong {
		font-weight:700;
	}
	.plan-name small {
		font-size:12px;
		font-weight:400;
		line-height:1.5;
	}
	.price {
		font-size:12px;
		font-weight:500;
		line-height:1.2;
		align-items: center;
	}
	.price strong {
		font-size:20px;
		font-weight:700;
		line-height:1.2;
	}

	.price span {
	  align-self: center;
	  font-size: 12px;
	  line-height: 1;
	  transform: translateY(4px);
	}
	.sale h3 {
		font-size:20px;
		font-weight:700;
		line-height:1.5;
		margin-top: 30px;
	}
	.sale h3 + p {
		font-size:14px;
		font-weight:400;
		line-height:1.5;
	}
	.sale .period {
		font-size:14px;
		font-weight:700;
		line-height:1.5;
	}
	.sale .button {
		font-size:16px;
		font-weight:700;
		line-height:1;
	}
	.sale-notes {
		font-size:12px;
		font-weight:400;
		line-height:1.5;
	}
	.sale .sale-notes {
		margin: 12px 0 30px 0;
	}
	ul.sale-notes.small {
		padding-left: 1em;
	}
	.ticket-notes {
		font-size:14px;
		font-weight:400;
		line-height:1.7;
	}
	
	.ticket-notes h3 {
		font-size:20px;
		font-weight:700;
		line-height:normal;
		margin-top: 30px;
	}
	.ticket-notes h4 {
		font-size:16px;
		font-weight:700;
		line-height:1.7;
	}
	.accordions summary {
		font-size:14px;
		font-weight:700;
		line-height:1.5;
	}
	.contact {
		font-size:12px;
		font-weight:400;
		line-height:1.5;
	}
	.contact strong {
		font-weight:700;
	}
}
