:root {
	--pc-width: 1024px;
	--rem-vw: 1.5625vw;
	--ou-whity: rgb(244, 242, 240);
	--ou-staff-base: rgb(224, 221, 204);
	--ou-litegrey: rgb(240, 234, 222);
	--ou-lace: rgb(251, 251, 249);
	--ou-gold: rgb(202, 177, 93);
	--ou-darkgold: rgba(122, 107, 43, 0.8);
	--ou-darkgold-op: rgb(122, 107, 43);
	--ou-red: rgb(195, 13, 35);
	--ou-red-op8: rgba(195, 13, 35, 0.8);
	--ou-deepred: rgba(115, 21, 44);
	--ou-darkred: rgb(80, 11, 28);
	--ou-pink: rgb(195, 103, 117);
	--ou-green: rgb(125, 172, 167);
	--ou-darkgreen: rgb(0, 126, 145);
	--ou-story-base: rgb(75, 124, 122);
	--ou-story-prim: rgb(109, 160, 126);
	--ou-bluegreen: rgb(0, 104, 145);
	--ou-black: rgb(62, 58, 57);
}
html {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
}
html,
body {
	padding: 0;
	margin: 0;
	border: 0;
}
body.modal-wait {
	overflow-y: hidden;
	height: 100vh;
}
*,
*:before,
*:after {
	box-sizing: inherit;
}
a:link,
a:visited {
	text-decoration: none;
	color: var(--ou-red);
	transition-duration: 0.33s;
}
a:hover {
	color: var(--ou-gold);
}
.brnosp {
	display: block;
}
.brnosp-inline {
	display: inline;
}
.brsp {
	display: none;
}
.mt-2 {
	margin-top: 0.5rem !important;
}
.mt-4 {
	margin-top: 1rem !important;
}
.mt-6 {
	margin-top: 1.5rem !important;
}
.mt-8 {
	margin-top: 2rem !important;
}
.mt-10 {
	margin-top: 2.5rem !important;
}
.mr-0 {
	margin-right: 0;
}
.pr-0 {
	padding-right: 0;
}
.maru {
	font-family: "Kiwi Maru", serif;
}
.align-center {
	text-align: center;
}
.align-right {
	text-align: right;
}
.align-left {
	text-align: left;
}
.lime {
	font-family: "Limelight", cursive;
}
.white-text {
	color: #ffffff;
}
.pink-text {
	color: var(--ou-pink);
}
.green-text {
	color: var(--ou-green);
}
.deepred-text {
	color: var(--ou-deepred);
}
.main {
	background-color: var(--ou-litegrey);
	color: white;
}
.notice-window {
	display: flex;
	width: 90vw;
	height: 90vh;
	position: fixed;
	top: 5vh;
	left: 5vw;
	background-color: var(--ou-litegrey);
	color: var(--ou-black);
	border: 1px solid var(--ou-gold);
	border-radius: 2rem;
	padding: 0;
	font-size: 1rem;
	line-height: 1.6;
}
.notice-inner {
	padding: 2rem 4rem;
	overflow-y: auto;
}
.notice-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--ou-deepred);
	margin-bottom: 1rem;
}
.notice-text,
.notice-head {
	padding-top: 1rem;
	font-weight: 500;
}
.notice-head {
	font-size: 0.9rem;
}
.notice-text {
	font-size: 0.9rem;
	line-height: 1.4;
}
ul {
	padding: 0;
	margin: 0;
}
.notice-text li {
	list-style-type: none;
	margin-left: 0.8rem;
	text-indent: -1.05em;
	margin-top: 0.6rem;
}
ul.star li {
	margin-top: 0;
	margin-bottom: 0;
}
.title-stripe,
.loading {
	background-image: url(./images/ohi_bg.svg);
	background-repeat: repeat;
	background-size: 125px 10px;
	background-color: #d8c3a5;
	/* color: #d3a59d; */
}
.title {
	background-image: url(./images/lace-top.svg), url(./images/lace-bottom.svg);
	background-repeat: repeat-x, repeat-x;
	background-position-x: calc(50vw - 8px), calc(50vw - 8px);
	background-position-y: top, bottom;
	background-size: calc(160px * 1.2) calc(105.26px * 1.2),
		calc(160px * 1.2) calc(105.26px * 1.2);
	text-align: center;
}
.title-image {
	width: 100%;
	height: auto;
	max-width: 1024px;
	animation: fadeIn1 2.5s 0s ease-in forwards 1;
	opacity: 0;
	display: block;
	margin: 0 auto;
}
.title-logo {
	width: 100%;
	height: auto;
}
.title-logo-image {
	width: 470px;
	height: calc(100vw * 750 / 1024);
	position: absolute;
	top: calc(100vw * 634 / 1024);
	left: calc(50vw - 245px - 100vw * 75 / 1024);
	animation: fadeIn1 2.5s 0.7s ease-in forwards 1;
	opacity: 0;
}
.stream-box {
	background-color: var(--ou-red);
	transition-duration: 0.33s;
	animation: grow 2.5s 2.5s ease-in-out alternate infinite;
}
.stream-link {
	opacity: 0;
	animation: slideDown 0.8s 2.5s ease-in-out forwards 1;
	/* animation: slideDown 0s 0s ease-in-out forwards 1; */
	display: flex;
	justify-content: center;
	align-items: center;
	height: 0;

	max-width: 1024px;
	margin: 0 auto;
	position: relative;
}
.stream {
	font-size: 1rem;
	color: var(--ou-whity);
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	line-height: 1.6;

}
.stream-head {
	font-size: 1.3em;
	font-weight: 700;
	color: var(--ou-gold);
}
.stream-box:hover {
	background-color: var(--ou-pink);
}
.stream-beez-box {
	position: absolute;
	left: 0.5rem;
	--magnify: 0.8;
	width: calc(103px * var(--magnify));
	height: calc(106px * var(--magnify));
}
.stream-beez-box-after {
	right: 0.5rem;
	left: unset;
}
.beez2-stream {
	width: 100%;
	height: 100%;
}
@keyframes grow {
	0% {
		background-color: var(--ou-deepred);
	}
	100% {
		background-color: var(--ou-red);
	}
}
@keyframes slideDown {
	0% {
		opacity: 0;
		height: 0;
		padding: 0;
	}
	100% {
		opacity: 1;
		height: 116px;
		padding: 1rem;
	}
}
.blended {
	filter: drop-shadow(0 0 3px #ffffff);
	mix-blend-mode: multiply;
}
.main-data {
	background-color: rgb(200, 133, 125);
	padding-top: 2rem;
	background-image: url(./images/wallpaper.jpg);
	background-size: 512px 380px;
	background-repeat: repeat;
	background-position-x: 50vw;
	padding-bottom: 3rem;
}
.kakko {
	margin-left: -0.5em;
	margin-right: -0.5em;
}
.kakko2 {
	margin-left: -0.2em;
	margin-right: -0.2em;
}
.material-icons {
	font-family: "Material Icons";
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;
	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;
}
.open-in-new {
	font-size: 0.9rem;
	color: var(--ou-gold);
	display: inline-block;
	transform: translate(6px, 2px);
}
.main-date {
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 500;
}
.main-venue {
	font-weight: 500;
	font-size: 2rem;
}
.main-credit {
	margin-top: 1rem;
	font-size: 1.2rem;
}
.diamond {
	color: var(--ou-gold);
}
.divider-beez {
	width: 360px;
	margin: 1rem auto 0;
}
.divider-beez img {
	width: 100%;
}
.info-title {
	color: var(--ou-gold);
}
.news-info-box {
	margin-top: 0.3rem;
}
.news-item {
	transition-duration: 0.33s;
	transition-property: contents;
	position: relative;
	font-weight: 300;
	border-bottom: 2px solid transparent;
	will-change: height;
	padding-top: 0.15rem;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.news-item:first-child,
.news-divider + .news-item {
	border-top-color: black;
}
.news-divider {
	padding-bottom: 1.5rem;
}
.news-text strong {
	font-weight: 900;
}
.news-text em {
	font-style: normal !important;
	color: white !important;
}
.news-head {
	padding: 0;
	display: flex;
	align-items: center;
	padding-bottom: 0.3rem;
	padding-top: 0.3rem;
	position: relative;
	background-color: var(--ou-gold);
	transition-duration: 0.33s;
}
.news-item .news-head:hover {
	color: white;
	cursor: pointer;
	background-color: var(--ou-deepred);
}
.news-item.closed .news-head::after {
	transform: scaleY(-1.73) scale(0.9);
}
.news-head.foldable::after {
	width: 8px;
	height: 9px;
	position: absolute;
	border-bottom: 6px solid var(--ou-darkgold);
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	right: 12px;
	bottom: 14px;
	content: "";
	transition-duration: 0.33s;
	transition-property: transform;
	transform-origin: center 6px;
	transform: scaleY(1.73);
	z-index: 0;
}
.news-head.foldable:hover::after {
	border-bottom-color: var(--ou-gold);
}
.news-date {
	color: var(--ou-deepred);
	font-size: 0.9rem;
	padding: 0 0.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.7px;
	font-weight: 500;
	white-space: nowrap;
}
.news-head:hover .news-date {
	color: var(--ou-gold);
}
.new-tick {
	background-color: var(--ou-deepred);
	color: var(--ou-gold);
	padding: 0;
	border-radius: 2px;
	margin: 0 0 0 0.5rem;
	padding: 0.1rem 0.2rem 0.2rem;
	font-size: 0.7rem;
	/* transform: translate(0, -2px); */
	font-weight: 700;
	display: inline-block;
	letter-spacing: -0.5px;
}
.news-head:hover .new-tick {
	background-color: var(--ou-gold);
	color: var(--ou-deepred);
}
.news-title {
	color: white;
	font-size: 1.1rem;
	font-weight: 500;
	transition-duration: 0.33s;
	transition-property: color;
	padding: 0 1.5rem 0 0;
	line-height: 1.3;
	margin-right: 0.5rem;
}
.news-text-box {
	padding: 0;
	margin: 0;
}
.news-text {
	font-size: 0.9rem;
	color: white;
	transition-duration: 0.33s;
	transition-property: color;
	padding: 1rem 1.5rem;
	line-height: 1.7;
	border-top: none;
	font-weight: 500;
	margin-bottom: 0.5rem;
	background-color: rgba(115, 21, 44, 0.8);
	border-top: 1px solid var(--ou-gold);
}
.news-text a {
	color: var(--ou-gold);
	font-weight: 500;
}
.news-text p {
	margin: 0;
	min-height: 16px;
}
.news-text a:hover {
	color: white;
}
.toggle-slide-enter-active,
.toggle-slide-leave-active {
	transition: height 0.4s;
	overflow: hidden;
}
.toggle-slide-enter,
.toggle-slide-leave-to {
	height: 0;
	transition: height 0.4s;
}
.box {
	width: 100%;
	max-width: calc(var(--pc-width) - 8rem);
	margin: 0 auto;
}
.about {
	margin: 0 auto;
	margin-top: 2rem;
}
.about-text {
	border: 1px solid var(--ou-gold);
	color: var(--ou-gold);
	font-size: 1.1rem;
	padding: 0.1rem 1rem 0.2rem;
	border-radius: 1rem;
	background-color: var(--ou-red);
	line-height: 1;
	transition-duration: 0.33s;
}
.about-text:hover {
	background-color: var(--ou-pink);
}
.about-window-bd,
.notice-window-bd {
	display: none;
	background-color: #00000099;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 4;
	width: 100vw;
	min-height: 100vh;
	min-height: -moz-available;
	min-height: -webkit-fill-available;
	min-height: fill-available;
}
.about-window {
	display: flex;
	text-align: center;
	width: 500px;
	height: 430px;
	position: fixed;
	top: calc(50vh - 215px);
	left: calc(50vw - 250px);
	background-color: var(--ou-litegrey);
	color: var(--ou-black);
	border: 1px solid var(--ou-gold);
	border-radius: 2rem;
	padding: 2rem 2rem;
	font-size: 1rem;
	line-height: 1.6;
}
.about-window-head {
	padding-right: 3rem;
}

.notice-link,
.guide-link,
.cvd-link {
	width: 100%;
	margin-top: 2px;
	padding: 0.3rem 0.5rem;
	/* opacity: 0.8; */
	transition-duration: 0.33s;
	font-size: 1.1rem;
	position: relative;
}
.guide-link,
.cvd-link {
	background-color: var(--ou-red);
}
.guide-link,
.notice-link {
	margin-top: 0.8rem;
}
.notice-link {
	background-color: var(--ou-deepred);
}
.notice-link:hover {
	background-color: var(--ou-darkred);
}
.guide-link:hover,
.cvd-link:hover {
	background-color: var(--ou-deepred);
}
.notice-link-text,
.guide-link-text,
.cvd-link-text {
	line-height: 1.3;
	color: white;
}
.guide-link-notice {
	font-size: 0.9rem;
}
.alert-links {
	overflow: hidden;
}
.sb-logo-image {
	height: 360px;
}
.about-window-text {
	text-align: left;
}
.about-window-text-desc {
	font-size: 0.8rem;
}
.about-window-inner {
	display: flex;
	/* flex-direction: column; */
}
.about-window-close-button,
.notice-window-close-button,
.cvd-window-close-button {
	justify-self: flex-end;
	margin-top: auto;
	position: absolute;
	bottom: 0.5rem;
	right: 1rem;
	text-align: center;
}
.guide-page-close-button,
.cvd-page-close-button {
	padding-top: 2rem;
	padding-bottom: 2rem;
	text-align: right;
	padding-right: 1rem;
}
.about-window-close-link,
.notice-window-close-link,
.guide-page .guide-page-close-link,
.cvd-page .cvd-page-close-link {
	padding: 0 0.5rem;
	margin: 0 -0.5rem;
	line-height: 1;
	font-size: 2.8rem;
	font-weight: 300;
	border-radius: 2rem;
}
.about-window-close-link:link,
.about-window-close-link:visited,
.notice-window-close-link:link,
.notice-window-close-link:visited,
.guide-page .guide-page-close-link:link,
.guide-page .guide-page-close-link:visited,
.cvd-page .cvd-page-close-link:link,
.cvd-page .cvd-page-close-link:visited {
	color: var(--ou-gold);
}
.about-window-close-link:hover,
.notice-window-close-link:hover,
.guide-page .guide-page-close-link:hover,
.cvd-page .cvd-page-close-link:hover {
	color: white;
	border-color: white;
}
.story-outer {
	background-color: #7daca6;
	background-size: auto auto;
	background-color: var(--ou-story-base);
	background-image: repeating-linear-gradient(
		0deg,
		transparent,
		transparent 2.5px,
		var(--ou-story-prim) 2.5px,
		var(--ou-story-prim) 5px
	);
	padding: 4rem 4rem;
	margin: 0 auto;
	position: relative;
	overflow-x: hidden;
}
.story-outer::before {
	background-image: url(./images/lace-top.svg);
	background-position-y: top;
	background-size: calc(160px * 1.2) calc(105.26px * 1.2);
	background-repeat: repeat-x;
	content: "";
	width: 100vw;
	height: calc(105px * 1.2);
	position: absolute;
	transform: translate(0, -4rem);
	background-position-x: 50vw;
	left: 0;
}
.story-outer::after {
	background-image: url(./images/lace-bottom.svg);
	background-position-y: bottom;
	background-size: calc(160px * 1.2) calc(105.26px * 1.2);
	background-repeat: repeat-x;
	content: "";
	width: 100vw;
	height: calc(105px * 1.2);
	position: absolute;
	transform: translate(0, calc(4rem - 105.26px * 1.2));
	background-position-x: 50vw;
	left: 0;
}
.story-cake::before {
	position: absolute;
	background-image: url(./images/cake1.png);
	background-size: calc(183px * 0.8) calc(251px * 0.8);
	content: "";
	width: 100%;
	height: 251px;
	background-repeat: no-repeat;
	left: calc(-183px * 0.1);
	top: 2rem;
}
.story-cake::after {
	position: absolute;
	background-image: url(./images/cake2.png);
	background-size: calc(183px * 0.8) calc(251px * 0.8);
	background-position-x: 100%;
	content: "";
	width: 100%;
	height: 251px;
	background-repeat: no-repeat;
	right: calc(-183px * 0.1);
	top: 2rem;
}
.story,
.cast {
	background-color: #29747099;
	padding: 4rem;
}
.story {
	padding-top: 6rem;
}

.title-text {
	font-size: 3rem;
	text-transform: uppercase;
}
.story-title,
.cast-title {
	color: var(--ou-gold);
}
.story-title {
	text-align: center;
}
.story-text {
	font-size: 1.1rem;
	line-height: 1.8;
	margin-top: 1rem;
}
.divider-macaron {
	position: absolute;
	width: 100vw;
	height: 130px;
	margin-top: 0;
	background-image: url(./images/macaron.png);
	background-size: 1098px 130px;
	background-repeat: repeat-x;
	background-position-x: 50vw;
	content: "";
	left: 0;
}
.divider-macaron img {
	width: 100%;
}
.cast {
	padding-top: 180px;
	padding-bottom: 8rem;
}
.cast-title {
	text-align: right;
	margin-top: 2rem;
	margin-bottom: -7.5rem;
	margin-right: 2rem;
}
.cast-table {
	display: flex;
	flex-wrap: wrap;
	padding: calc(2 * var(--rem-vw)) 0 var(--rem-vw);
	margin-left: -3%;
}
.cast-item {
	width: 33.3%;
	flex: 0 1 33.3%;
	margin-bottom: var(--rem-vw);
	padding-left: calc(0.5 * var(--rem-vw));
	padding-right: calc(0.5 * var(--rem-vw));
}
.cast-image {
	width: 100%;
	height: auto;
	aspect-ratio: 600 / 649;
}
.cast-image-classmate {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
}
.cast-item.clear {
	margin-right: 33%;
}
.role-name,
.actor-name {
	text-align: center;
	margin-left: 9%;
	white-space: nowrap;
}
.role-name {
	font-size: calc(0.8 * var(--rem-vw));
}

.actor-name {
	font-size: calc(1.3 * var(--rem-vw));
}
.cast-divider {
	border-top: 2px solid var(--ou-gold);
	width: calc(100% - 1 * var(--rem-vw));
	margin: 0 auto;
}
.classmate {
	padding: 0;
	width: 90%;
	margin: 0 auto;
}
.classmate-title {
	width: 17%;
	text-align: center;
	margin: calc(2 * var(--rem-vw)) auto var(--rem-vw);
}
.classmate-title-image {
	width: 100%;
}
.classmate-box {
	display: flex;
}
.classmate-item {
	width: 25%;
	flex: 0 1 25%;
	margin-bottom: var(--rem-vw);
	padding-left: calc(1.5 * var(--rem-vw));
	padding-right: calc(1.5 * var(--rem-vw));
}
.classmate-actor {
	text-align: center;
	font-size: calc(1.1 * var(--rem-vw));
}
.cast-text {
	flex: 1 0 auto;
	width: 50%;
	font-size: calc(1.3 * var(--rem-vw));
	line-height: 1.6;
	white-space: nowrap;
}

.schedule-outer {
	background-color: #eebfb9;
	background-image: url(./images/wallpaper2.jpg);
	background-repeat: repeat;
	background-size: 1024px 615px;
	padding-left: 4rem;
	padding-right: 4rem;
	overflow-x: hidden;
	background-position-x: calc(-18px + 50vw);
}
.schedule,
.ticket,
.staff,
.theater,
.footer {
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.schedule-title-box {
	background-image: url(./images/lace2.png);
	background-size: 100vw 80px;
	height: 80px;
	background-repeat: repeat-x;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	display: flex;
	align-items: center;
}
.schedule-title-inner {
	width: 100%;
	max-width: 1024px;
	padding-left: 2rem;
	padding-right: 2rem;
	display: flex;
	align-items: center;
	margin: 0 auto;
}
.beez2 {
	width: 103px;
	height: 106px;
}
.beez3 {
	width: 253px;
	height: 32px;
	margin-right: auto;
	margin-left: 2rem;
}
.beez3.schedule-beez {
	margin-left: auto;
	margin-right: 2rem;
}
.beez4 {
	width: 105px;
	height: 201px;
	margin-bottom: -66px;
}
.beez5 {
	width: calc(250px * 0.85);
	height: calc(112px * 0.85);
}
.schedule-title {
	margin-left: 1rem;
	color: var(--ou-red);
	line-height: 1;
	margin-top: 0.3rem;
}
.ticket-title {
	margin-right: 1rem;
	color: var(--ou-deepred);
}
.schedule-head {
	font-size: 1.35rem;
	color: var(--ou-black);
	margin-top: 1.5rem;
}
.schedule-table table {
	/* border-collapse: collapse; */
	border-spacing: 0 0.4rem;
	opacity: 0.6;
	margin-top: 1rem;
	font-weight: 500;
}
.schedule-table td {
	margin: 0;
	background-color: var(--ou-red);
	padding: 0 1rem 0.1rem;
	font-size: 1.5rem;
	white-space: nowrap;
}
.schedule-table .schedule-month {
	text-align: right;
	padding-right: 0;
	width: 50px;
}
.one-spacer {
	margin-left: 3px;
	margin-right: 1.5px;
}
.schedule-table .day-off td {
	background-color: transparent;
	color: var(--ou-red);
}
.schedule-notice {
	font-size: 0.9rem;
	margin-top: 0.5rem;
	color: var(--ou-black);
}
.diamond-pink {
	color: var(--ou-pink);
}
.diamond-green {
	color: var(--ou-green);
}
.ticket {
	color: var(--ou-black);
}
.ticket-price {
	font-size: 1.5rem;
	margin-top: 5rem;
}
.ticket-data {
	padding: 1.5rem 2rem 2rem;
	background-color: #ffffff77;
	margin-top: 2rem;
	font-size: 1rem;
}
.ticket-data a {
	color: var(--ou-red);
}
.ticket-data a:hover {
	color: var(--ou-gold);
}
.bolder {
	font-weight: 700;
}
.bold {
	font-weight: 900;
}
.ticket-data-head {
	font-size: 1.5rem;
	line-height: 1;
}
.ticket-data-title {
	border: 1px solid var(--ou-pink);
	background-color: var(--ou-pink);
	color: white;
	padding: 0 1rem 2px;
	/* width: 180px; */
	margin-bottom: 1rem;
	font-weight: 700;
}
.ticket-data-text {
	margin-top: 1rem;
}
.ticket-done {
	opacity: 0.4;
	text-decoration: line-through;
}
.ticket-notice {
	font-size: 0.9rem;
	margin-top: 1rem;
}
.ticket-notice-head {
	margin-bottom: 0.5rem;
}
.divider {
	border-top: 1px solid var(--ou-pink);
	margin-bottom: 1rem;
	margin-top: 1rem;
}
.divider-notice {
	border-color: var(--ou-deepred);
	margin-top: 2rem;
	margin-bottom: 2rem;
}
.beez3.goods-beez {
	margin-right: 2rem;
	margin-left: auto;
}
.goods-outer {
	background: url(images/nuno.jpg) repeat;
	background-size: 400px 400px;
	border-top: 4px solid var(--ou-lace);
	overflow: hidden;
}
.goods-lace {
	margin-top: 0.5rem;
	margin-bottom: -1rem;
	opacity: 1;
}
.goods {
	padding-top: 0;
	padding-bottom: 4rem;
}
.goods-title-box {
	margin-top: 0;
}
.goods-title-box {
	background-image: url(./images/lace2.png);
	background-size: 100vw 80px;
	height: 80px;
	background-repeat: repeat-x;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	display: flex;
	align-items: center;
}
.goods-title-inner {
	width: 100%;
	max-width: 1024px;
	padding-left: 2rem;
	padding-right: 2rem;
	display: flex;
	align-items: center;
	margin: 0 auto;
}
.goods-title {
	margin-left: 1rem;
	color: var(--ou-bluegreen);
	line-height: 1;
	margin-top: 0.3rem;
}
.goods-list {
	font-size: 0.9rem;
	color: var(--ou-black);
	line-height: 1.5;
}
.goods-text,
.goods-item-desc,
.goods-item-name {
	color: var(--ou-black);
}
.goods-item-desc,
.goods-item-name {
	text-align: center;
}
.goods-text {
	font-size: 1.1rem;
	margin-top: 3rem;
	line-height: 1.7;
	margin-bottom: 3rem;
}
.goods-item-box {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	padding: 0 4rem;
}
.goods-item {
	width: 100%;
	flex: 0 1 100%;
	margin-top: 2rem;
}
.goods-item:nth-child(2n) {
	align-items: flex-end;
	margin-left: auto;
}
.goods-item-name {
	font-size: 1.4rem;
	font-weight: 900;
	margin-top: 0.8rem;
	color: var(--ou-deepred);
}

.goods-item-desc {
	font-size: 1.1rem;
	line-height: 1.4;
}
.goods-image {
	display: block;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 0.2rem;
}
.goods-image.pamph {
	width: 70%;
	aspect-ratio: 538 / 327;
}
.goods-image.bookmark {
	aspect-ratio: 768 / 237;
}
.goods-image.t-shirt {
	width: 75%;
	aspect-ratio: 576 / 299;
}
.goods-image.poster {
	width: 42.5%;
	aspect-ratio: 384 / 543;
}
.goods-divider {
	color: var(--ou-bluegreen);
	margin-top: 2rem;
	font-size: 1.2rem;
	text-align: center;
}
.divider-lace3 {
	background-image: url(./images/lace3.png);
	background-position-y: top;
	background-size: 1024px 21px;
	background-repeat: repeat-x;
	background-position-x: 50vw;
	padding-top: 4rem;
	margin-left: -4rem;
	margin-right: -4rem;
	opacity: 0.8;
}
.staff-base {
	/* background-color: var(--ou-staff-base); */
}
.staff-outer {
	background-image: url(./images/lace-top.svg), url(./images/lace-bottom.svg);
	background-position-y: top, bottom;
	background-size: calc(160px * 1.2) calc(105.26px * 1.2),
		calc(160px * 1.2) calc(105.26px * 1.2);
	background-repeat: repeat-x, repeat-x;
	background-position-x: 50vw, 50vw;
	padding-left: 4rem;
	padding-right: 4rem;
}
.staff {
	color: var(--ou-black);
	display: flex;
	padding-bottom: 0;
}
.staff-title-box {
	margin-top: -0.5rem;
}
.bottle {
	width: 109px;
	height: 172px;
}
.staff-title {
	color: var(--ou-darkgreen);
	padding-right: 2rem;
	margin-top: 0.5rem;
}
.staff-text {
	font-size: 1rem;
	margin-top: 4rem;
	padding-left: 2rem;
	padding-bottom: 2rem;
	line-height: 1.7;
}
.divider-lace3 {
	background-image: url(./images/lace3.png);
	background-position-y: top;
	background-size: 1024px 21px;
	background-repeat: repeat-x;
	background-position-x: 50vw;
	padding-top: 4rem;
	margin-left: -4rem;
	margin-right: -4rem;
}
.divider-lace2 {
	background-image: url(./images/lace2.png);
	background-position-y: top;
	background-size: 1024px 79px;
	background-repeat: repeat-x;
	background-position-x: 50vw;
	margin: 0 auto;
	margin-top: 2rem;
	margin-left: -4rem;
	margin-right: -4rem;
	height: 79px;
	padding-left: calc(50vw - 50%);
}
.buttons-box {
	max-width: var(--pc-width);
	margin: 0 auto;
}
.buttons {
	width: calc(506px * 0.8);
	height: calc(127px * 0.8);
	transform: translate(1rem, -12px);
}
.theater {
	display: flex;
	padding-top: 1rem;
}
.theater-title-box {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: -2rem;
}
.bottle2 {
	margin-left: 1rem;
	width: 120px;
	height: 136px;
	margin-bottom: 44px;
	margin-right: -1rem;
}
.map {
	width: 55%;
	padding-right: 2rem;
	filter: saturate(40%) hue-rotate(-45deg);
}
.theater-data {
	width: 45%;
	padding-left: 2.5rem;
}
.theater-title {
	color: var(--ou-pink);
	margin-right: 2rem;
}
.theater-title::after {
	background-image: url(./images/jewel3.png);
}
.theater-name-text {
	font-size: 1.5rem;
	color: var(--ou-black);
}
.theater-data-text {
	margin-top: -2rem;
}
.theater-direction-text {
	font-size: 0.9rem;
	color: var(--ou-black);
	margin-top: 0.5rem;
}
.hakuhinkan-logo-image {
	width: 240px;
	margin-top: 2rem;
}
.footer {
	display: flex;
	padding-top: 4rem;
	height: calc(360px + 6rem);
	overflow-x: hidden;
	padding-bottom: 2rem;
}
.footer-outer {
	z-index: 1;
}
.footer-text {
	font-size: 1rem;
	color: var(--ou-black);
	width: 50%;
	padding-right: 2rem;
	margin-top: 0;
}
.copyright {
	font-size: 0.8rem;
}
.twitter {
	padding-left: 2rem;
	height: 360px;
	width: 50%;
	z-index: 3;
	display: flex;
	flex-direction: column;
	margin-top: -2rem;
}
.twitter-timeline {
	overflow: scroll;
	height: 100%;
	border-radius: 0.75rem;
}
.twitter-icon-link {
	display: flex;
	align-items: center;
	flex: 0 1 auto;
	margin-bottom: 0.5rem;
	align-self: flex-end;
}
.twitter-icon-box {
	display: flex;
	position: relative;
	width: 16px;
	height: 16px;
	margin-left: 0.35rem;
}
.footer-tvitter-icon {
	width: 16px;
	height: auto;
	margin-right: 0;
	position: absolute;
	top: 2px;
}
.footer-tvitter-icon,
.footer-twitter-text {
	transition-duration: 0.33s;
}
.footer-tvitter-icon.on {
	opacity: 0;
}
.twitter-icon-link:hover .footer-tvitter-icon.on {
	opacity: 1;
}
.twitter-icon-link:hover .footer-tvitter-icon.off {
	opacity: 0;
}
.footer-twitter-text {
	color: var(--ou-red);
	margin-left: auto;
	display: block;
}
.twitter-icon-link:hover .footer-twitter-text {
	color: var(--ou-gold);
}
.js-loading *,
.js-loading *:before,
.js-loading *:after {
	animation-play-state: paused !important;
}
.blink {
	animation: blinker 1s ease-in-out alternate infinite;
	animation-play-state: running !important;
}
@keyframes blinker {
	0% {
		opacity: 0.3;
		filter: hue-rotate(-180deg);
		letter-spacing: 1px;
	}
	100% {
		opacity: 1;
		filter: hue-rotate(0);
		letter-spacing: 1.5px;
	}
}

.loading-text {
	margin-top: 450px;
}
.loading {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	font-size: 1.2rem;
	font-weight: 500;
	opacity: 1;
	color: var(--ou-darkgold);
	letter-spacing: 1px;
	/* text-transform: uppercase; */
	z-index: 19;
	background-color: var(--ou-litegrey);
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

@keyframes fadeIn1 {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.guide-page ul,
ul .guide-page li,
.goods-list ul,
.goods-list li {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.guide-page li,
.cvd-page ul li,
.goods-list li {
	text-indent: -1em;
	margin-left: 1em;
}
.guide-page li,
.cvd-page ul li,
.cvd-page ol li {
	margin-top: 0.6rem;
	margin-bottom: 0.6rem;
}
.cvd-page ol li {
	margin-left: 1.5rem;
}
.guide-page a:link,
.guide-page a:visited,
.cvd-page a:link,
.cvd-page a:visited {
	color: var(--ou-red);
}
.guide-page a:hover,
.cvd-page a:hover {
	color: var(--ou-gold);
}
.guide-close-button {
	border: 2px solid var(--ou-red);
	background-color: var(--ou-red);
}
.guide-page .guide-close-button:link,
.guide-page .guide-close-button:visited {
	color: white;
}
.guide-close-button:link,
.guide-close-button:visited {
	color: white;
}
.guide-page .guide-close-button:hover {
	background-color: white;
	color: var(--ou-red);
	border-color: var(--ou-red);
	cursor: pointer;
}
.goods-close,
.guide-close,
.cvd-close {
	padding-top: 4rem;
	padding-bottom: 2rem;
	text-align: center;
	/* background-color: white; */
}
.goods-close-button,
.guide-close-button,
.cvd-close-button {
	font-size: 1.3rem;
	padding: 0.6rem 1rem 0.4rem;
	transition-duration: 0.33s;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--ou-deepred);
}
.guide-page,
.cvd-page {
	background-color: var(--ou-litegrey);
	color: var(--ou-black);
	font-weight: 500;
}

.guide-main,
.cvd-main {
	width: 100%;
	max-width: 1024px;
	padding: 0 4rem;
	margin: 0 auto;
	background-color: var(--ou-litegrey);
}
.guide-title,
.cvd-title {
	font-weight: 900;
	font-size: 1.2rem;
	text-align: center;
	padding-bottom: 2rem;
	padding-top: 2rem;
	color: var(--ou-deepred);
}
.guide-head.cvd-head,
.guide-head2,
.cvd-head2 {
	font-weight: 900;
	color: var(--ou-black);
}
.guide-head,
.cvd-head {
	font-size: 1rem;
	border-top: 1px dotted var(--ou-black);
	padding-top: 1.5rem;
	margin-bottom: 0.5rem;
}
.guide-head.noborder,
.cvd-head.noborder {
	border-top: none;
}
.guide-head.inquery {
	border-top: 0;
}
.inquery-line {
	border-top: 1px solid var(--ou-gold);
	border-bottom: 1px solid var(--ou-gold);
	height: 4px;
}
.guide-head2 {
	font-size: 0.9rem;
}
.guide-text,
.cvd-text {
	font-size: 0.9rem;
	line-height: 1.6;
	margin-bottom: 1.5rem;
	color: var(--ou-black);
	font-weight: 500;
}
.cvd-page li,
.guide-page li {
	font-size: 0.9rem;
}
.guide-text .times {
	margin-left: 0.7rem;
}
.guide-page ul,
.cvd-page ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.cvd-page ol {
	margin: 0;
	padding: 0;
}
.guide-goods-link {
	background-color: var(--ou-red);
	font-size: 1.2rem;
	text-align: center;
	color: white;
	padding: 0.8rem 0.5rem;
	transition-duration: 0.33s;
	border: 2px solid var(--ou-red);
	font-weight: 900;
}
.guide-goods-link:hover {
	background-color: white;
	color: var(--ou-red);
	cursor: pointer;
}
.red-text {
	color: var(--ou-red);
}
.gold-text {
	color: var(--ou-gold);
}

@media screen and (max-width: 768px) {
	.stream {
		font-size: 0.9rem;
		line-height: 1.45;
	}
	@keyframes slideDown {
		0% {
			opacity: 0;
			height: 0;
			padding: 0;
		}
		100% {
			opacity: 1;
			height: 85px;
			padding: 1rem;
		}
	}
	.stream-beez-box {
		--magnify: 0.4;
		left: 3px;
	}
	.stream-beez-box-after {
		right: 3px;
		left: unset;
	}
	.title {
		background-size: calc(160px * 0.84) calc(105.26px * 0.84),
			calc(160px * 0.84) calc(105.26px * 0.84);
		background-position-x: 50vw, 50vw;
	}
	.title-logo {
		overflow-x: hidden;
	}
	.title-logo-image {
		width: 100vw;
		overflow-x: hidden;
		left: calc(-100vw * 75 / 1024);
	}
	.main-data {
		padding-top: 1rem;
		background-size: calc(512px * 0.75) calc(380px * 0.75);
		padding-bottom: 1.5rem;
	}
	.main-date {
		font-size: 1.4rem;
		line-height: 1.4;
	}
	.main-venue {
		font-size: 1.2rem;
	}
	.main-credit {
		font-size: 0.8rem;
		margin-top: 0.5rem;
	}
	.divider-beez {
		width: calc(360px * 0.5);
	}
	.title-text {
		font-size: 2rem;
	}
	.news-head {
		flex-direction: column;
		text-align: left;
		align-items: flex-start;
		padding: 0.25rem 0.5rem;
	}
	.news-date {
		font-size: 0.8rem;
		padding: 0 0.25rem;
	}
	.news-title {
		font-size: 0.9rem;
		margin-top: 0.25rem;
	}
	.new-tick {
		transform: translateY(-0.05rem);
		font-size: 0.6rem;
		margin-left: 0.2rem;
		padding-top: 0.2rem;
	}
	.news-text {
		font-size: 0.8rem;
	}
	.news-head.foldable::after {
		bottom: calc(50% - 2px);
		width: 9px;
		height: 9px;
		border-bottom: 7px solid var(--ou-darkgold);
		border-right: 7px solid transparent;
		border-left: 7px solid transparent;
	}
	.news-item:hover .news-head.foldable::after {
		border-bottom: 7px solid var(--ou-gold);
	}
	.news-text {
		padding: 0.5rem 0.7rem;
	}
	.story-outer {
		padding: 2rem 1rem;
	}
	.story-outer::before {
		transform: translate(0, -2rem);
		background-size: calc(160px * 0.84) calc(105.26px * 0.84);
		height: calc(105.26px * 0.84);
	}
	.box {
		max-width: calc(var(--pc-width) - 1rem);
		margin: 0 auto;
	}
	.story,
	.cast {
		padding: 1rem;
	}
	.story {
		padding-top: 5rem;
		padding-bottom: 2rem;
	}
	.story-text {
		font-size: 0.9rem;
		line-height: 1.5;
	}
	.cast {
		padding-top: 5rem;
		padding-bottom: 6rem;
		flex-direction: column;
	}
	.cast-title {
		margin: 0 auto;
		text-align: center;
	}
	.cast-table {
		padding: 1rem 0 0.5rem;
		margin-left: -3%;
		margin-right: 0;
	}
	.cast-item {
		margin-bottom: 1rem;
	}
	.role-name {
		font-size: 0.7rem;
	}
	.role-name.linda {
		letter-spacing: -1.8px;
	}
	.actor-name {
		font-size: 1rem;
	}
	.cast-divider {
		width: 97%;
	}
	.classmate {
		padding: 0;
		width: 100%;
	}
	.classmate-title {
		width: 100px;
		margin-top: 1rem;
		margin-bottom: 0.5rem;
	}
	.classmate-item {
		margin-bottom: var(--rem-vw);
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}
	.classmate-actor {
		font-size: 0.8rem;
		margin-left: -15px;
		margin-right: -15px;
	}
	.story-outer::after {
		transform: translate(0, calc(2rem - 105.26px * 0.84));
		background-size: calc(160px * 0.84) calc(105.26px * 0.84);
		height: calc(105.26px * 0.84);
	}
	.story-cake::before {
		background-size: calc(183px * 0.45) calc(251px * 0.45);
		content: "";
		width: 100%;
		height: calc(251px * 0.45);
		left: calc(-183px * 0.15);
		top: 1rem;
	}
	.story-cake::after {
		background-size: calc(183px * 0.45) calc(251px * 0.45);
		background-position-x: 100%;
		content: "";
		width: 100%;
		height: calc(251px * 0.45);
		right: calc(-183px * 0.15);
		top: 1rem;
	}
	.divider-macaron {
		height: calc(65px * 0.82);
		background-size: calc(549px * 0.82) calc(65px * 0.82);
		background-position-x: -1rem;
	}
	.schedule,
	.staff,
	.ticket,
	.theater,
	.footer {
		padding: 1rem 1rem;
	}
	.schedule {
		padding-top: 2rem;
	}
	.schedule-outer {
		padding: 0;
		background-size: calc(1024px * 0.75) calc(615px * 0.75);
		background-position-x: calc(-18px * 0.75 + 50vw);
	}
	.schedule-head {
		font-size: 1rem;
	}
	.schedule-table td {
		font-size: 1rem;
	}
	.schedule-notice {
		font-size: 0.8rem;
	}
	.schedule-title-box {
		background-size: 100vw 40px;
		height: 40px;
	}
	.schedule-title-inner {
		padding-left: 0.5rem;
		padding-right: 0;
		margin-right: 0.5rem;
	}
	.schedule-title {
		margin-left: 0.5rem;
		margin-right: 0.5rem;
	}
	.beez2 {
		width: calc(103px * 0.5);
		height: calc(106px * 0.5);
	}
	.beez3 {
		width: calc(253px * 0.5);
		height: calc(32px * 0.5);
		margin-left: -1rem;
		margin-right: auto;
	}
	.beez3.schedule-beez {
		margin-right: auto;
		margin-left: 0;
	}
	.beez4 {
		width: calc(105px * 0.5);
		height: calc(201px * 0.5);
		margin-bottom: calc(-66px * 0.5);
		margin-right: 0;
	}
	.ticket {
		padding-bottom: 2rem;
	}
	.ticket-title {
		margin-top: 5px;
		margin-right: 0.5rem;
		margin-left: auto;
	}
	.ticket-price {
		font-size: 1.2rem;
		margin-top: 1rem;
	}
	.ticket-data {
		padding: 1rem 0.7rem;
		font-size: 0.9rem;
		margin-top: 1rem;
	}
	.ticket-data-title {
		font-size: 0.9rem;
		padding: 0 0.25rem 2px;
		margin-bottom: 0.5rem;
		margin-top: 0.5rem;
	}
	.ticket-data-head {
		font-size: 1.1rem;
	}
	.divider {
		margin-bottom: 0.5rem;
		margin-top: 0.5rem;
	}
	.divider-notice {
		margin-top: 1rem;
		margin-bottom: 1rem;
	}
	.brsp {
		display: block;
	}
	.brnosp {
		display: none;
	}
	.ticket-notice {
		font-size: 0.8rem;
		line-height: 1.3;
	}
	.goods-outer {
		background-size: 200px 200px;
	}
	.goods-title-box {
		margin-top: 0;
		display: flex;
		align-items: center;
	}
	.goods-title {
		margin-left: 1rem;
		margin-bottom: 0;
	}
	.goods-title-inner {
		overflow: hidden;
	}
	.beez5 {
		width: calc(250px * 0.425);
		height: calc(112px * 0.425);
		margin-left: -3rem;
	}
	.beez3.goods-beez {
		margin-right: auto;
		margin-left: 1rem;
	}
	.goods-item-box {
		padding: 0 1rem;
	}
	.goods-text {
		font-size: 0.85rem;
		padding-left: 1rem;
		padding-right: 1rem;
		padding-bottom: 0;
		margin-bottom: 1.5rem;
		margin-top: 1.5rem;
	}
	.goods-list {
		font-size: 0.75rem;
	}
	.goods-item {
		margin-top: 1rem;
	}
	.goods-item-desc {
		font-size: 0.9rem;
		margin-top: 0.2rem;
	}
	.goods-item-name {
		font-size: 1rem;
	}
	.goods-image.pamph,
	.goods-image.t-shirt {
		width: 100%;
	}
	.goods-image.poster {
		width: 60%;
	}
	.goods-divider {
		margin-top: 1rem;
		font-size: 0.9rem;
	}
	.staff-outer {
		padding-left: 0;
		padding-right: 0;
		background-size: calc(160px * 0.84) calc(105.26px * 0.84),
			calc(160px * 0.84) calc(105.26px * 0.84);
	}
	.staff {
		flex-direction: column;
	}
	.staff-title-box {
		margin-top: 0;
		display: flex;
		align-items: center;
	}
	.staff-title {
		margin-left: 1rem;
		margin-bottom: 1.5rem;
	}
	.staff-text {
		margin-top: 0.5rem;
		font-size: 0.8rem;
		padding-left: 0;
		font-weight: 400;
		padding-bottom: 0.5rem;
	}
	.bottle {
		width: calc(109px * 0.5);
		height: calc(172px * 0.5);
	}
	.divider-lace3 {
		padding-top: 2rem;
		height: 21px;
		margin: 0;
	}
	.theater {
		flex-direction: column;
		padding-top: 0;
		margin-top: -0.5rem;
	}
	.bottle2 {
		margin-left: 1rem;
		width: calc(120px * 0.5);
		height: calc(136px * 0.5);
		margin-bottom: 45px;
		margin-right: -0.5rem;
	}
	.theater-name-text {
		font-size: 1.2rem;
	}
	.hakuhinkan-logo-image {
		margin-top: 1rem;
		width: 180px;
	}
	.map {
		width: 100%;
		padding-right: 0;
		order: 2;
		padding-top: 1rem;
	}
	.theater-title {
		margin-right: 0;
	}

	.theater-data {
		width: 100%;
		padding-left: 0;
	}
	.theater-data-text {
		margin-top: -1.5rem;
	}
	.theater-direction-text {
		font-size: 0.8rem;
	}
	.divider-lace2 {
		background-size: 1024px 39.5px;
		background-repeat: repeat-x;

		height: 39.5px;
		margin: 0;
		margin-top: 2rem;
	}
	.buttons {
		width: calc(506px * 0.5);
		height: calc(127px * 0.5);
		transform: translate(0.5rem, -12px);
	}
	.footer {
		flex-direction: column;
		height: unset;
	}
	.footer-text {
		order: 2;
		width: 100%;
		padding-right: 0;
		padding-bottom: 6rem;
		padding-top: 2rem;
		font-size: 0.9rem;
	}
	.copyright {
		font-size: 0.7rem;
	}
	.twitter {
		margin-top: 1rem;
		width: 100%;
		padding-left: 0;
	}
	.about {
		margin-top: 1rem;
	}
	.about-text {
		font-size: 0.85rem;
	}
	.about-window {
		width: 320px;
		height: 370px;
		top: calc(50vh - 185px);
		left: calc(50vw - 160px);
		padding: 1.5rem 0.8rem;
	}
	.about-window-text {
		font-size: 0.85rem;
	}
	.about-window-head {
		font-size: 1.25rem;
		padding-right: 1rem;
	}
	.sb-logo-image {
		height: 320px;
	}
	.twitter-icon-link {
		align-self: flex-start;
	}
	.loading {
		font-size: 1rem;
	}
	.loading-text {
		margin-top: 205px;
	}
	.notice-link,
	.guide-link,
	.cvd-link {
		font-size: 0.9rem;
		margin-top: 3px;
		padding: 0.3rem 0;
	}
	.notice-link,
	.guide-link {
		margin-top: 0.8rem;
	}
	.guide-link-notice {
		font-size: 0.75rem;
	}
	.notice-window {
		display: flex;
		position: fixed;
		width: 100vw;
		min-height: 100vh;
		min-height: -moz-available;
		min-height: -webkit-fill-available;
		min-height: fill-available;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		border-radius: 0;
	}
	.notice-inner {
		padding: 2rem 0.5rem;
	}
	.notice-title {
		font-size: 0.9rem;
	}
	.notice-head,
	.notice-text {
		font-size: 0.8rem;
		line-height: 1.4;
	}
	.guide-page,
	.cvd-page {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
	.guide-main,
	.cvd-main {
		padding: 0;
	}
	.guide-title,
	.cvd-title {
		padding-top: 2rem;
		padding-bottom: 1rem;
		font-size: 1rem;
	}
	.guide-head,
	.cvd-head {
		font-size: 0.9rem;
	}
	.guide-text,
	.cvd-text,
	.guide-page li,
	.cvd-page li {
		font-size: 0.8rem;
	}
	.cvd-page ol li {
		/* text-indent: -1em; */
		margin-left: 1.2rem;
	}
	.goods-close,
	.guide-close,
	.cvd-close {
		padding-top: 2rem;
		padding-bottom: 1rem;
	}

	.open-in-new {
		transform: translateY(3px, 3px);
	}
}
@media screen and (max-width: 515px) {
	.role-name.linda {
		margin-left: calc(10.5% - 15px);
		margin-right: -15px;
	}
}
@media screen and (min-width: 1024px) {
	.title-logo-image {
		height: 750px;
		top: 634px;
		left: calc(50vw - 245px - 75px);
	}
	.cast-table {
		padding: 2rem 0 1rem;
	}
	.cast-item {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}
	.role-name {
		font-size: 0.8rem;
	}
	.actor-name {
		font-size: 1.3rem;
	}
	.classmate-title {
		margin: 2rem auto 1rem;
	}
	.classmate-item {
		margin-bottom: 1rem;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	.classmate-actor {
		font-size: 1.1rem;
	}
}
