@charset "utf-8";

/*************************************************
** Reset
*************************************************/
*, *::before, *::after {
	box-sizing:border-box;
}
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
	margin:0;
}
ul[role="list"], ol[role="list"] {
	list-style:none;
}
html:focus-within {
	scroll-behavior:smooth;
}
body {
	min-height:100vh;
	text-rendering:optimizeSpeed;
	line-height:1.5;
}
a:not([class]) {
	text-decoration-skip-ink:auto;
}
img, picture {
	max-width:100%;
	display:block;
}
input, button, textarea, select {
	font:inherit;
}
@media(prefers-reduced-motion:reduce) {
	html:focus-within {
		scroll-behavior:auto;
	}
	*, *::before, *::after {
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.01ms !important;
		scroll-behavior:auto !important;
	}
}

/*************************************************
** Utility
*************************************************/
html {
	overflow-y:overlay;
}
html::-webkit-scrollbar {
	width:10px;
}
html::-webkit-scrollbar-track {
	background-color:rgba(0, 0, 0, 0.8);
}
html::-webkit-scrollbar-thumb {
	border-radius:5px;
	background-color:rgba(155, 155, 155, 0.8);
}

.container {
	min-height:100vh;
	font-family:'Noto Sans JP', sans-serif;
	background-image:url(../images/bg.jpg);
	background-size:257px 258px;
	background-position:center center;
	background-repeat:repeat;
}
.wrap {
	margin:0 auto;
	width:calc(100vw - 20px);
}
.box {
	margin-bottom:20px;
	padding:10px;
	background-color:rgba(252, 119, 139, 0.4);
	border-radius:10px;
}
.box-green {
	background-color:rgba(28, 159, 43, 0.4);
}
.box-premium {
	padding:0;
	border:2px solid #e70012;
	border-radius:5px;
	background:linear-gradient(45deg, #e5d54e 25%, transparent 25%, transparent 75%, #e5d54e 75%), linear-gradient(45deg, #e5d54e 25%, transparent 25%, transparent 75%, #e5d54e 75%);
	background-size:40px 40px;
	background-position:0 0, 20px 20px;
	background-color:#fcf279;
}
.box-premium > div {
	padding:10px;
	border-radius:8px;
	background:linear-gradient(to right, rgba(185, 161, 1, 0.7) 0%, rgba(185, 161, 1, 0) 50%, rgba(185, 161, 1, 0.7) 100%);
}
.box:last-child {
	margin-bottom:0;
}
.page-title {
	margin-bottom:10px;
	padding:0 10px;
	font-size:110%;
	font-weight:bold;
	line-height:40px;
	border-radius:5px;
	background-color:#fff;
}
.page-title small {
	display:inline-block;
	margin-left:1em;
	font-size:80%;
}
.box-white {
	margin-bottom:10px;
	padding:10px;
	border-radius:5px;
	background-color:#fff;
}
.box-white:last-child {
	margin-bottom:0;
}
.box-white.box-white-mt {
	margin-top:20px;
}
.box-white.box-white-mb {
	margin-bottom:20px;
}
.and-more {
	text-align:right;
}
.and-more a {
	color:#000;
	font-size:110%;
	font-weight:bold;
	text-decoration:none;
}
.and-more a i {
	display:inline-block;
	margin-right:.5em;
}
.eng {
	font-family:'Space Grotesk', sans-serif;
}
.pager {
	margin-top:30px;
}
.pager ul {
	letter-spacing:-.7em;
	text-align:center;
}
.pager ul li {
	display:inline-block;
	margin:0 5px;
	width:auto;
	letter-spacing:normal;
}
.pager ul li a,
.pager ul li span {
	display:block;
	padding:0 5px;
	min-width:30px;
	color:#fff;
	font-weight:bold;
	line-height:30px;
	text-align:center;
	text-decoration:none;
	border:1px solid #fc778b;
	background-color:#fc778b;
}
.pager ul li span {
	color:#fc778b;
	background-color:#fff;
}

@media screen and (min-width:768px) {
	.wrap {
		width:calc(100vw - 30px);
	}
	.box {
		margin-bottom:40px;
		padding:20px;
		border-radius:20px;
	}
	.box-premium {
		padding:0;
		border:3px solid #e70012;
		border-radius:17px;
		background:linear-gradient(45deg, #e5d54e 25%, transparent 25%, transparent 75%, #e5d54e 75%), linear-gradient(45deg, #e5d54e 25%, transparent 25%, transparent 75%, #e5d54e 75%);
		background-size:60px 60px;
		background-position:0 0, 30px 30px;
		background-color:#fcf279;
	}
	.box-premium > div {
		padding:20px;
		border-radius:3px;
	}
	aside.box {
		margin-bottom:40px !important;
	}
	.page-title {
		margin-bottom:20px;
		padding:0 20px;
		font-size:140%;
		line-height:45px;
		border-radius:10px;
	}
	.box-white {
		margin-bottom:20px;
		padding:20px;
		border-radius:20px;
	}
	.box-white.box-white-mt {
		margin-top:40px;
	}
	.box-white.box-white-mb {
		margin-bottom:40px;
	}
	.pager {
		margin-top:40px;
	}
	.pager ul li a,
	.pager ul li span {
		padding:0 7px;
		min-width:35px;
		line-height:35px;
	}
}

@media screen and (min-width:1024px) {
	.container {
		background-size:514px 516px;
	}
	.wrap {
		width:calc(100vw - 40px);
		max-width:1200px;
	}
	.box {
		margin-bottom:60px;
		padding:30px;
		border-radius:30px;
	}
	.box-premium {
		padding:0;
		border:5px solid #e70012;
		border-radius:30px;
	}
	.box-premium > div {
		padding:30px;
		border-radius:25px;
	}
	aside.box {
		margin-bottom:60px !important;
	}
	.page-title {
		margin-bottom:30px;
		padding:0 30px;
		font-size:170%;
		line-height:50px;
		border-radius:15px;
	}
	.box-white {
		margin-bottom:30px;
		padding:30px;
		border-radius:30px;
	}
	.box-white.box-white-mt {
		margin-top:60px;
	}
	.box-white.box-white-mb {
		margin-bottom:60px;
	}
	.pager {
		margin-top:50px;
	}
}

/*************************************************
** Header
*************************************************/
.header {
	padding:10px;
	width:100vw;
	border-bottom:5px solid #1c9f2b;
	background-image:url(../images/stadium.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.home .header {
	position:relative;
	padding:0;
	height:100vw;
}
.header-logo {
	width:100px;
}
.home .header-logo {
	position:absolute;
	top:50%;
	left:50%;
	width:70%;
	transform:translateX(-50%) translateY(-50%);
}
.home .header-logo img {
	display:block;
	width:100%;
	height:auto;
}
.header-title {
	font-size:140%;
	font-weight:bold;
	text-align:center;
}
.header-title small {
	display:inline-block;
	margin-left:1em;
	font-size:60%;
}

@media (orientation:landscape) {
	.home .header {
		height:calc(100vh - 5px);
	}
	.home .header-logo {
		width:40%;
	}
}

@media screen and (min-width:768px) {
	.header {
		padding:15px;
		border-bottom:10px solid #1c9f2b;
	}
	.home .header {
		padding:0;
		height:100vw;
	}
	.header-logo {
		margin:0 auto;
		width:120px;
	}
	.home .header-logo {
		width:60%;
	}
	.header-title {
		margin-top:10px;
		font-size:180%;
	}
	
	@media (orientation:landscape) {
		.home .header {
			height:100vh;
		}
		.home .header-logo {
			width:50%;
		}
	}
}

@media screen and (min-width:1024px) {
	.header {
		padding:20px;
	}
	.header-logo {
		width:160px;
	}
	.home .header-logo {
		width:50%;
		max-width:768px;
	}
	.header-title {
		margin-top:20px;
		font-size:240%;
	}
}

/*************************************************
** Menu
*************************************************/
.drawer-nav {
	width:70%;
	background-color:rgba(0,0,0,.8);
}
.drawer--right .drawer-nav {
	right:-70%;
}
.drawer--right.drawer-open .drawer-hamburger {
	right:70%;
}
.drawer-menu li {
	text-align:center;
}
.drawer-menu a {
	color:#fff;
}
.drawer-overlay {
	background-color:rgba(0,0,0,.4);
}
.drawer--right .drawer-hamburger {
	top:10px;
	right:10px;
	border-radius:5px;
	background-color:#fff;
}

@media screen and (min-width:768px) {
	.drawer-nav {
		width:60%;
	}
	.drawer--right .drawer-nav {
		right:-60%;
	}
	.drawer--right.drawer-open .drawer-hamburger {
		right:60%;
	}
}

@media screen and (min-width:1024px) {
	.drawer-nav {
		width:40%;
	}
	.drawer--right .drawer-nav {
		right:-40%;
	}
	.drawer--right.drawer-open .drawer-hamburger {
		right:40%;
	}
}

/*************************************************
** Main
*************************************************/
.main {
	padding:20px 0;
}

@media screen and (min-width:768px) {
	.main {
		padding:40px 0;
	}
}

@media screen and (min-width:1024px) {
	.main {
		padding:60px 0;
	}
}

/*************************************************
** Aside
*************************************************/
aside.box {
	margin-bottom:20px !important;
	background-color:rgba(65, 105, 225, 0.4);
}
.aside-twitter {
	margin-bottom:20px;
}
.side-sns {
	margin:0;
	padding:0;
	list-style-type:none;
}
.side-sns li {
	margin-bottom:10px;
}
.side-sns li:last-child {
	margin-bottom:0;
}
.side-sns li a {
	display:block;
	font-size:120%;
	font-weight:bold;
	line-height:40px;
	text-align:center;
	text-decoration:none;
	border-radius:20px;
	background-color:#fff;
}
.side-sns li.btn-twitter a {
	color:#1da1f2;
	border:3px solid #1da1f2;
}
.side-sns li.btn-line a {
	color:#00c300;
	border:3px solid #00c300;
}
.side-sns li.btn-facebook a {
	color:#1877f2;
	border:3px solid #1877f2;
}
.side-sns li a i {
	display:inline-block;
}
.side-sns li a i:first-child {
	margin-right:.5em;
}
.side-sns li a i:last-child {
	margin-left:.5em;
}

@media screen and (min-width:768px) {
	aside.box {
		margin-bottom:40px !important;
	}
	.aside-twitter {
		margin-bottom:30px;
	}
	.side-sns {
		letter-spacing:-.8em;
	}
	.side-sns li {
		display:inline-block;
		margin-right:30px;
		margin-bottom:0;
		width:calc(calc(100% - 60px) / 3);
		letter-spacing:normal;
	}
	.side-sns li:last-child {
		margin-right:0;
	}
	.side-sns li a {
		line-height:50px;
		border-radius:25px;
	}
}

@media screen and (min-width:1024px) {
	aside.box {
		margin-bottom:60px !important;
	}
	.aside-twitter {
		margin-bottom:40px;
	}
	.home .aside-twitter {
		display:none;
		margin-bottom:0;
	}
	.side-sns {
		margin:0 auto;
		width:860px;
	}
}

@media screen and (min-width:1200px) {
	.side-sns {
		margin:0 auto;
		width:1024px;
	}
}

/*************************************************
** Footer
*************************************************/
.footer {
	padding:0 0 20px 0;
	background-color:#1c9f2b;
}
.footer-nav {
	margin-bottom:10px;
}
.footer-nav ul {
	margin:0;
	padding:0;
	letter-spacing:-.8em;
}
.footer-nav li {
	display:inline-block;
	width:50%;
	letter-spacing:normal;
	border-bottom:1px solid rgba(0, 0, 0, 0.3);
}
.footer-nav li:nth-child(2n) {
	width:calc(50% - 1px);
	border-left:1px solid rgba(0, 0, 0, 0.3);
}
.footer-nav li a {
	display:block;
	width:100%;
	color:#fff;
	font-size:90%;
	line-height:50px;
	text-align:center;
	text-decoration:none;
}
.footer-copy {
	color:#fff;
	font-size:90%;
	text-align:center;
}

@media screen and (min-width:768px) {
	.footer {
		padding:0 0 30px 0;
	}
	.footer-nav {
		margin-bottom:20px;
	}
	.footer-nav li {
		width:calc(25% - 1px);
		letter-spacing:normal;
		border-left:1px solid rgba(0, 0, 0, 0.3);
		border-bottom:1px solid rgba(0, 0, 0, 0.3);
	}
	.footer-nav li:nth-child(2n) {
		width:calc(25% - 1px);
		border-left:1px solid rgba(0, 0, 0, 0.3);
	}
	.footer-nav li:first-child {
		width:25%;
		border-left:0;
	}
	.footer-nav li a {
		font-size:95%;
	}
	.footer-copy {
		font-size:95%;
	}
}

@media screen and (min-width:1024px) {
	.footer {
		padding:30px 0;
	}
	.footer-nav {
		margin-bottom:30px;
	}
	.footer-nav ul {
		text-align:center;
	}
	.footer-nav li {
		width:auto;
		letter-spacing:normal;
		border-left:2px solid #fff;
		border-bottom:0;
	}
	.footer-nav li:nth-child(2n) {
		width:auto;
		border-left:2px solid #fff;
	}
	.footer-nav li:first-child {
		width:auto;
		border-left:0;
	}
	.footer-nav li a {
		padding:0 2em;
		font-size:100%;
		line-height:1;
	}
	.footer-copy {
		font-size:100%;
	}
}

/*************************************************
** Event
*************************************************/
.event-year {
	padding:0 5px;
	width:100%;
	height:40px;
	font-weight:bold;
	border-radius:5px;
	background-color:#eaeaea;
}
.event-block {
	position:relative;
	margin-bottom:10px;
	padding:10px;
	padding-bottom:0;
	border-radius:5px;
	background-color:#ffffe0;
}
.event-block.event-block-new {
	padding-bottom:10px;
}
.event-block.premium {
	padding:0;
	border:2px solid #e70012;
	border-radius:5px;
	background:linear-gradient(45deg, #e5d54e 25%, transparent 25%, transparent 75%, #e5d54e 75%), linear-gradient(45deg, #e5d54e 25%, transparent 25%, transparent 75%, #e5d54e 75%);
	background-size:40px 40px;
	background-position:0 0, 20px 20px;
	background-color:#fcf279;
}
.event-block.event-block-new.premium {
	padding-bottom:0;
}
.event-block.premium > div {
	padding:10px;
	padding-bottom:0;
	border-radius:3px;
	background:linear-gradient(to right, rgba(185, 161, 1, 0.7) 0%, rgba(185, 161, 1, 0) 50%, rgba(185, 161, 1, 0.7) 100%);
}
.event-block.event-block-new.premium > div {
	padding-bottom:10px;
}
.event-block-date {
	display:block;
	margin-bottom:5px;
	font-size:90%;
	font-weight:bold;
}
.event-block-title {
	margin-bottom:5px;
	font-size:100%;
	font-weight:bold;
}
.event-block-subtitle {
	margin-bottom:10px;
	font-size:100%;
	font-weight:bold;
}
.event-block-list-title {
	margin-top:20px;
	margin-bottom:10px;
	font-size:100%;
	font-weight:bold;
	text-align:center;
}
.event-block-list-title:first-child {
	margin-top:0;
}
.event-block-time {
	margin-bottom:10px;
	font-size:90%;
	font-weight:bold;
}
.event-block-time:last-child {
	margin-bottom:0;
}
.event-block-flyer {
	display:block;
	margin:0 auto;
}
.event-block-flyer.portrait {
	width:75%;
}
.event-block-flyer.horizontal {
	width:100%;
}
.event-cast-list {
	margin:0;
	padding:0;
	letter-spacing:-.8em;
	text-align:center;
	list-style-type:none;
}
.event-cast-list li {
	display:inline-block;
	margin:10px 10px 0 0;
	padding:0;
	width:calc(calc(100% - 10px) / 2);
	letter-spacing:normal;
	vertical-align:top;
	background-color:#eaeaea;
}
.event-cast-list li:nth-child(2n),
.event-cast-list li:last-child {
	margin:10px 0 0 0;
}
.home .event-cast-list.event-cast-list-rand li:nth-child(11),
.home .event-cast-list.event-cast-list-rand li:nth-child(12) {
	display:none;
}
.event-cast-list li:nth-child(1),
.event-cast-list li:nth-child(2) {
	margin-top:0;
}
.event-cast-list li .event-cast-list-image {
	display:block;
	padding-top:66.6%;
	width:100%;
	height:auto;
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
}
.event-cast-list li a.event-cast-list-image {
	position:relative;
	text-decoration:none;
	background-color:#eaeaea;
}
.event-cast-list li .event-cast-list-image.no-image {
	position:relative;
	background:repeating-linear-gradient(45deg, #ccc, #ccc 15px, #fff 0, #fff 30px);
}
.event-cast-list li .event-cast-list-image.no-image::after {
	content:"NO IMAGE";
	position:absolute;
	top:50%;
	left:50%;
	font-size:95%;
	font-weight:bold;
	font-family:'Space Grotesk', sans-serif;
	text-align:center;
	transform:translateX(-50%) translateY(-50%);
}
.event-cast-list li a.event-cast-list-image i {
	display:block;
	position:absolute;
	bottom:5px;
	right:5px;
	width:25px;
	color:#fff;
	font-size:90%;
	line-height:25px;
	text-align:center;
	border-radius:5px;
	background-color:rgba(0, 0, 0, 0.7);
}
.event-cast-list li strong {
	display:block;
	padding:3px;
	color:#000;
	font-size:70%;
	text-align:center;
	background-color:#eaeaea;
}
.event-block-link {
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	padding-top:50px;
	width:100%;
	height:100px;
	color:#000;
	font-size:110%;
	font-weight:bold;
	line-height:50px;
	text-align:center;
	text-decoration:none;
	border-radius:0 0 5px 5px;
	background:linear-gradient(to bottom, rgba(255, 255, 224, 0) 0%, rgba(255, 255, 224, 1) 70%, rgba(255, 255, 224, 1) 100%);
}
.event-block.premium .event-block-link {
	background:linear-gradient(to bottom, rgba(229, 213, 78, 0) 0%, rgba(229, 213, 78, 0.7) 70%, rgba(229, 213, 78, 1) 100%);
}
.event-block-link i {
	display:inline-block;
	margin-left:.5em;
}
.event-tt-title {
	margin-bottom:10px;
	padding:3px 0;
	color:#000;
	font-weight:bold;
	text-align:center;
	border-radius:5px;
	background-color:#fff;
}
.event-tt-title:last-of-type {
	margin-bottom:0;
}
.event-tt-title span {
	display:inline-block;
	margin-right:1em;
}
.event-tt-row {
	padding:3px;
	letter-spacing:-.8em;
	background-color:#fff;
}
.event-tt-row:first-of-type {
	border-radius:5px 5px 0 0;
}
.event-tt-row:last-of-type {
	margin-bottom:10px;
	border-radius:0 0 5px 5px;
}
.event-tt-tt,
.event-tt-name,
.event-tt-sales {
	display:inline-block;
	letter-spacing:normal;
	vertical-align:top;
}
.event-tt-tt {
	width:40%;
}
.event-tt-name {
	width:60%;
	font-weight:bold;
}
.event-tt-sales {
	padding-bottom:5px;
	width:100%;
	border-bottom:1px solid #bababa;
}
.event-tt-row:last-of-type .event-tt-sales {
	padding-bottom:0;
	border-bottom:0;
}
.event-tt-sales span {
	display:inline-block;
	margin-left:1em;
}
.event-tt-sales small {
	display:inline-block;
	padding:0 5px;
	background-color:rgba(28, 159, 43, 0.4);
}
.event-outline {
	padding:5px;
	border-radius:5px;
	background-color:#fff;
}
.event-outline dt {
	margin-bottom:3px;
	font-weight:bold;
}
.event-outline dd {
	margin-bottom:5px;
	padding-bottom:3px;
	font-size:90%;
	border-bottom:1px solid #bababa;
}
.event-outline dd:last-child {
	margin-bottom:0;
}
.event-outline dd a {
	color:#000;
	font-weight:bold;
	text-decoration:none;
}
.event-outline dd a i {
	display:inline-block;
	margin-left:.5em;
}
.event-outline-map {
	position:relative;
	margin:5px 0;
	padding-top:66.66%;
	width:100%;
}
.event-outline-map iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.event-ticket-link {
	display:block;
	margin:20px auto 0;
	width:100%;
	max-width:600px;
	color:#fff;
	font-size:120%;
	font-weight:bold;
	line-height:50px;
	text-align:center;
	text-decoration:none;
	border-radius:5px;
	background:#eb6100;
}
.event-ticket-link i {
	display:inline-block;
	margin-right:.5em;
	font-size:120%;
}
.modal-sentense {
	text-align:center;
}
.modal-sentense a {
	display:inline-block;
	margin:10px 5px 0;
	width:40px;
	color:#000;
	line-height:40px;
	text-decoration:none;
	border-radius:20px;
	background-color:#fff;
}

@media screen and (min-width:768px) {
	.event-year-box {
		text-align:right;
	}
	.event-year {
		padding:0 10px;
		width:50%;
		border-radius:10px;
	}
	.event-block {
		margin-bottom:20px;
		padding:20px;
		border-radius:10px;
	}
	.event-block.event-block-new {
		padding-bottom:20px;
	}
	.event-block.premium {
		padding:0;
		border:3px solid #e70012;
		border-radius:10px;
		background:linear-gradient(45deg, #e5d54e 25%, transparent 25%, transparent 75%, #e5d54e 75%), linear-gradient(45deg, #e5d54e 25%, transparent 25%, transparent 75%, #e5d54e 75%);
		background-size:60px 60px;
		background-position:0 0, 30px 30px;
		background-color:#fcf279;
	}
	.event-block.event-block-new.premium {
		padding-bottom:0;
	}
	.event-block.premium > div {
		padding:20px;
		padding-bottom:0;
		border-radius:7px;
	}
	.event-block.event-block-new.premium > div {
		padding-bottom:20px;
	}
	.event-block-date {
		font-size:110%;
		font-weight:bold;
		text-align:center;
	}
	.event-block-title {
		font-size:140%;
		text-align:center;
	}
	.event-block-subtitle {
		margin-bottom:15px;
		font-size:120%;
		text-align:center;
	}
	.event-block-list-title {
		margin-top:30px;
		margin-bottom:15px;
		font-size:115%;
	}
	.event-block-time {
		margin-bottom:20px;
		font-size:110%;
		text-align:center;
	}
	.event-block-flyer.portrait {
		width:60%;
	}
	.event-block-flyer.horizontal {
		width:80%;
	}
	.event-cast-list li {
		margin:15px 15px 0 0;
		width:calc(calc(100% - 45px) / 4);
	}
	.event-cast-list li:nth-child(2n) {
		margin:15px 15px 0 0;
	}
	.event-cast-list li:nth-child(4n),
	.event-cast-list li:last-child {
		margin:15px 0 0 0;
	}
	.home .event-cast-list.event-cast-list-rand li:nth-child(9) {
		display:none;
	}
	.event-cast-list li:nth-child(1),
	.event-cast-list li:nth-child(2),
	.event-cast-list li:nth-child(3),
	.event-cast-list li:nth-child(4) {
		margin-top:0;
	}
	.event-cast-list li strong {
		font-size:85%;
	}
	.event-block-link {
		padding-top:60px;
		height:120px;
		font-size:120%;
		line-height:60px;
		border-radius:0 0 10px 10px;
	}
	.event-tt-title {
		margin-bottom:15px;
		padding:5px 0;
		font-size:120%;
		border-radius:10px;
	}
	.event-tt-row {
		padding:0 10px;
	}
	.event-tt-row:first-of-type {
		border-radius:10px 10px 0 0;
	}
	.event-tt-row:last-of-type {
		margin-bottom:10px;
		border-radius:0 0 10px 10px;
	}
	.event-tt-tt,
	.event-tt-name,
	.event-tt-sales {
		line-height:2;
		border-top:1px solid #bababa;
	}
	.event-tt-row:first-of-type .event-tt-tt,
	.event-tt-row:first-of-type .event-tt-name,
	.event-tt-row:first-of-type .event-tt-sales {
		padding-top:5px;
		border-top:0;
	}
	.event-tt-row:last-of-type .event-tt-tt,
	.event-tt-row:last-of-type .event-tt-name,
	.event-tt-row:last-of-type .event-tt-sales {
		padding-bottom:5px;
	}
	.event-tt-tt {
		width:20%;
	}
	.event-tt-name {
		width:40%;
		font-size:110%;
	}
	.event-tt-sales {
		padding-bottom:0;
		width:40%;
		border-bottom:0;
	}
	.event-tt-sales small {
		padding:0 10px;
	}
	.event-outline {
		padding:10px;
		border-radius:10px;
	}
	.event-outline dt {
		float:left;
		clear:both;
		margin-bottom:0;
		width:150px;
		font-size:105%;
	}
	.event-outline dd {
		margin-bottom:10px;
		padding-left:150px;
		padding-bottom:5px;
		font-size:95%;
	}
	.event-ticket-link {
		margin:30px auto 0;
		font-size:130%;
		border-radius:10px;
	}
	.event-ticket-link i {
		font-size:130%;
	}
}

@media screen and (min-width:1024px) {
	.event-year {
		width:30%;
		border-radius:15px;
	}
	.event-block {
		margin-bottom:30px;
		padding:30px;
		padding-bottom:0;
		border-radius:15px;
	}
	.event-block.event-block-new {
		padding-bottom:30px;
	}
	.event-block.premium {
		border:5px solid #e70012;
		border-radius:15px;
	}
	.event-block.premium > div {
		padding:30px;
		padding-bottom:0;
		border-radius:10px;
	}
	.event-block.event-block-new.premium > div {
		padding-bottom:30px;
	}
	.event-block-title {
		font-size:200%;
	}
	.event-block-subtitle {
		margin-bottom:20px;
		font-size:140%;
	}
	.event-block-list-title {
		margin-top:40px;
		margin-bottom:20px;
		font-size:130%;
	}
	.event-block-time {
		margin-bottom:30px;
		font-size:120%;
	}
	.event-block-flyer.portrait {
		width:45%;
	}
	.event-block-flyer.horizontal {
		width:60%;
	}
	.event-cast-list li {
		margin:20px 20px 0 0;
		width:calc(calc(100% - 100px) / 6);
	}
	.event-cast-list li:nth-child(2n) {
		margin:20px 20px 0 0;
	}
	.event-cast-list li:nth-child(4n) {
		margin:20px 20px 0 0;
	}
	.event-cast-list li:nth-child(6n),
	.event-cast-list li:last-child {
		margin:20px 0 0 0;
	}
	.event-cast-list.event-cast-list-rand li:nth-child(9),
	.event-cast-list.event-cast-list-rand li:nth-child(10),
	.event-cast-list.event-cast-list-rand li:nth-child(11),
	.event-cast-list.event-cast-list-rand li:nth-child(12) {
		display:inline-block;
	}
	.event-cast-list li:nth-child(1),
	.event-cast-list li:nth-child(2),
	.event-cast-list li:nth-child(3),
	.event-cast-list li:nth-child(4),
	.event-cast-list li:nth-child(5),
	.event-cast-list li:nth-child(6) {
		margin-top:0;
	}
	.event-block-link {
		font-size:150%;
		border-radius:0 0 15px 15px;
	}
	.event-tt-title {
		margin-bottom:20px;
		padding:20px 0;
		font-size:140%;
		border-radius:20px;
	}
	.event-tt-row {
		padding:0 20px;
	}
	.event-tt-row:first-of-type {
		border-radius:20px 20px 0 0;
	}
	.event-tt-row:last-of-type {
		margin-bottom:20px;
		border-radius:0 0 20px 20px;
	}
	.event-tt-row:first-of-type .event-tt-tt,
	.event-tt-row:first-of-type .event-tt-name,
	.event-tt-row:first-of-type .event-tt-sales {
		padding-top:10px;
	}
	.event-tt-row:last-of-type .event-tt-tt,
	.event-tt-row:last-of-type .event-tt-name,
	.event-tt-row:last-of-type .event-tt-sales {
		padding-bottom:10px;
	}
	.event-tt-name {
		font-size:120%;
	}
	.event-tt-sales small {
		padding:0 15px;
	}
	.event-outline {
		padding:20px;
		border-radius:20px;
	}
	.event-outline dt {
		width:200px;
		font-size:110%;
	}
	.event-outline dd {
		margin-bottom:20px;
		padding-left:200px;
		padding-bottom:10px;
		font-size:100%;
	}
	.event-ticket-link {
		margin:40px auto 0;
		font-size:140%;
		line-height:60px;
		border-radius:20px;
	}
	.event-ticket-link i {
		font-size:140%;
	}
}

/*************************************************
** Topics
*************************************************/
.topics-wrap {
	margin-bottom:10px;
}
.topics-right {
	display:none;
}
.topics-list {
	margin-bottom:10px;
}
.topics-list dt {
	position:relative;
	margin-bottom:3px;
	font-size:95%;
	line-height:25px;
}
.topics-list dt .topics-term {
	display:inline-block;
	position:absolute;
	top:0;
	right:0;
	padding:0 5px;
	color:#fff;
	font-size:90%;
}
.topics-list dt .topics-term-info {
	background-color:#ff7f50;
}
.topics-list dt .topics-term-exhibition {
	background-color:#1c9f2b;
}
.topics-list dd {
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:1px dotted #666;
}
.topics-list dd:last-child {
	margin-bottom:0;
}
.topics-list dd .topics-list-title {
	color:#000;
	font-weight:bold;
	text-decoration:none;
}
.topics-list dd span.topics-list-title {
	font-weight:normal;
}
.topics-list dd .topics-list-title i {
	display:inline-block;
	margin-left:.5em;
}

@media screen and (min-width:768px) {
	.topics-wrap {
		margin-bottom:20px;
	}
	.topics-list {
		margin-bottom:20px;
	}
	.topics-list dt {
		margin-bottom:5px;
		font-size:100%;
		line-height:30px;
	}
	.topics-list dt .topics-term {
		padding:0 10px;
	}
	.topics-list dd {
		margin-bottom:15px;
		padding-bottom:15px;
		font-size:110%;
	}
}

@media screen and (min-width:1024px) {
	.topics-wrap {
		margin-bottom:30px;
		letter-spacing:-.8em;
	}
	.topics-left,
	.topics-right {
		display:inline-block;
		letter-spacing:normal;
		vertical-align:top;
	}
	.topics-left {
		margin-right:30px;
		width:calc(100% - 380px);
	}
	.topics-right {
		width:350px;
	}
}

.topics-title {
	margin-bottom:10px;
	padding:5px 10px;
	font-size:100%;
	font-weight:bold;
	line-height:1.4;
	border-radius:5px;
	background-color:#fff;
}
.topics-time {
	display:block;
	margin-bottom:20px;
	font-size:90%;
	text-align:right;
}
.topics-article p {
	margin-bottom:.7em;
	font-size:95%;
}
.topics-article p:last-child {
	margin-bottom:0;
}
.topics-article img {
	display:block;
	margin:0 auto;
	width:100% !important;
	max-width:800px;
	height:auto !important;
}

@media screen and (min-width:768px) {
	.topics-title {
		margin-bottom:20px;
		padding:10px 20px;
		font-size:105%;
		border-radius:10px;
	}
	.topics-time {
		margin-bottom:30px;
		font-size:95%;
	}
	.topics-article p {
		font-size:100%;
	}
}

@media screen and (min-width:1024px) {
	.topics-title {
		margin-bottom:30px;
		padding:15px 20px;
		font-size:120%;
		border-radius:15px;
	}
}

/*************************************************
** Contact
*************************************************/
.contact-form {
	margin:0 auto;
	padding:10px;
	max-width:800px;
	border-radius:10px;
	background-color:#fff;
}
.contact-form p {
	margin-bottom:1.5em;
	font-size:100%;
}
.contact-form p:last-child {
	margin-bottom:0;
}
.form-list {
	margin-bottom:2em;
	font-size:100%;
}
.form-list dt {
	margin-bottom:5px;
	font-weight:bold;
}
.form-list dt .require {
	display:inline-block;
	margin-left:.5em;
	color:#f00;
}
.form-list dd {
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:2px dotted #bababa;
}
.form-list dd:last-child {
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:0;
}
.form-list dd .form-error {
	margin-bottom:.5em;
	color:#f00;
	font-size:100%;
	font-weight:bold;
}
.form-list input[type="text"],
.form-list textarea {
	padding:5px;
	width:100%;
	line-height:1.4;
	border:1px inset #bababa;
	border-radius:5px;
}
.form-list input[type="text"].bg-error,
.form-list textarea.bg-error {
	background-color:rgba(255, 0, 0, 0.1);
}
.form-list textarea {
	height:200px;
}
.form-submit {
	text-align:center;
}
.form-submit-inline {
	display:inline-block;
}
.form-submit-inline:nth-child(2) {
	margin-left:20px;
}
.form-submit input[type="submit"] {
	display:inline-block;
	cursor:pointer;
	padding:0 20px;
	color:#ff8c00;
	font-size:120%;
	font-weight:bold;
	line-height:40px;
	text-align:center;
	text-decoration:none;
	border:3px solid #ff8c00;
	border-radius:20px;
	background-color:#fff;
}
.form-submit input[type="submit"]:hover {
	background-color:rgba(255, 140, 0, 0.3);
}
.form-submit input[type="submit"].return {
	color:#666;
	border:3px solid #666;
}
.form-submit input[type="submit"].return:hover {
	background-color:rgba(102, 102, 102, 0.3);
}

@media screen and (min-width:768px) {
	.contact-form {
		padding:15px;
		border-radius:15px;
	}
	.contact-form p {
		font-size:105%;
	}
	.form-list dt {
		float:left;
		clear:both;
		margin-bottom:0;
		width:180px;
	}
	.form-list dd {
		padding-left:180px;
	}
}

@media screen and (min-width:1024px) {
	.contact-form {
		padding:20px;
		border-radius:20px;
	}
	.contact-form p {
		font-size:110%;
	}
}

/*************************************************
** 404
*************************************************/
.msg-404 {
	padding:10px;
	border-radius:5px;
	background-color:#fff;
}
.msg-404 p {
	margin-bottom:1em;
}
.msg-404 a {
	color:#000;
}
.msg-404 a i {
	display:inline-block;
	margin-left:.5em;
}

@media screen and (min-width:768px) {
	.msg-404 {
		padding:20px;
		border-radius:10px;
	}
}

@media screen and (min-width:1024px) {
	.msg-404 {
		padding:30px;
		border-radius:15px;
	}
}
