@charset "UTF-8";

@media screen and (max-width:767px) {
	:root {
		font-size: 17.5px;
	}
	body {
		letter-spacing: .01em;
	}
	body:not(#home):before {
		opacity: .75;
	}
	hr {
		margin: 1em 0;
	}
	/* responsive
-------------------------- */
	.spSet {
		display: block !important;
	}
	.pcSet {
		display: none !important;
	}
	/* base
-------------------------- */
	main {
		margin: 55px auto;
	}
	section {
		padding: 3em 1.5em;
	}
	section#home01 h2,
	section#home01 h3 {
		width: 100%;
		overflow: hidden;
	}
	section#home01 img {
		width: 200%;
		margin-left: -50%;
	}
	body:not(#home) h2 {
		font-size: 1.75em;
		letter-spacing: .02em;
	}
	p {
		margin: 0 auto 1em;
	}
	p.ind_1em:last-of-type {
		margin: 0 auto 1em;
	}
	body:not(#artists) dl {
		margin: 0 auto 1.5em;
	}
	body:not(#artists) dl dt {
		width: 100%;
		font-weight: bold;
		padding: 1.25em .25em 0;
		margin-right: 0;
		border-bottom: none;
	}
	body:not(#artists) dl dd {
		width: 100%;
		padding: 0 .25em 1.25em 1.25em;
	}
	body:not(#artists) dl dd:first-of-type {
		border-top: none;
	}
	a.btn {
		font-size: .85em;
		padding: .5em 1em;
		margin: 1em auto 0;
		letter-spacing: .03em;
	}
	a.btn.line {
		min-width: 200px;
	}
	.to_top {
		width: 2.5rem;
		height: 2.5rem;
	}

	/* header
-------------------------- */
	header {
		height: 55px;
	}
	header .inner {
		padding: 0;
		display: block;
	}
	header h1 a {
		width: 100%;
		max-width: 200px;
		margin: 7.5px .25em;
	}
	.nav_trigger {
		width: 55px;
		height: 55px;
		cursor: pointer;
		background: #df6e2c;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 30;
	}
	.nav_trigger span {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		width: 40%;
		height: 2px;
		background: #efefeb;
		transition: all .4s;
	}
	.nav_trigger span:nth-of-type(1) {
		top: 18.5px;
	}
	.nav_trigger span:nth-of-type(2) {
		top: 25.5px;
	}
	.nav_trigger span:nth-of-type(3) {
		top: 32.5px;
	}
	.nav_trigger.opened span:nth-of-type(1) {
		width: 50%;
		transform: translateY(7.5px) rotate(315deg);
	}
	.nav_trigger.opened span:nth-of-type(2) {
		opacity: 0;
	}
	.nav_trigger.opened span:nth-of-type(3) {
		width: 50%;
		transform: translateY(-7.5px) rotate(-315deg);
	}
	header nav {
		display: none;
		margin: 0;
		width: 100%;
		height: 100vh;
		background: #df6e2c;
		line-height: 1;
		padding: 4.5em 1.5em;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 20;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	header nav a {
		width: 100%;
		font-size: 1.5em;
		margin: .5em 0;
		letter-spacing: .03em;
		padding: .5em 0;
		color: #efefeb !important;
	}
	/* footer
-------------------------- */
	footer nav {
		padding: .5em 1em;
	}
	body#home footer {
		margin: 30px 0 0;
	}
	@media screen and (max-width:640px) {
		footer nav {
			width: 18em;
			margin: 0 auto;
		}
		footer nav a {
			font-size: .875em;
			width: 50%;
			margin: 0;
			padding: .25em .5em;
			letter-spacing: .03em;
			position: relative;
		}
		footer nav a:nth-child(odd) {
			width: 10em;
		}
		footer nav a:nth-child(even) {
			width: 8em;
		}
		footer nav a:before {
			content: '-';
			margin-right: .5em;
		}
	}
	.footer_bg {
		padding: 0 1em;
	}
	.sns {
		padding: 1.5rem 0 .75rem;
	}
	.sns li a {
		margin: 0 .75em;
	}
	footer .copyright {
		padding: .75rem 0;
		letter-spacing: .02em;
	}
	/* tickets
-------------------------- */
	#tickets h3 {
		font-size: 1.5em;
		margin: 2.5em auto 1em;
		padding: .75em 0;
		background-size: cover;
		letter-spacing: .02em;
	}
	/* artists
-------------------------- */
	#loading {
		font-size: .75em;
		margin: 2.5em;
	}
	#artists section:first-of-type {
		padding: 3em 1em 1.5em;
	}
	#artists section {
		padding: 1.5em 1em;
	}
	#artists h3 img {
		width: 45%;
		min-width: 280px;
	}
	#artists07 div,
	#artists08 div {
		padding: .75em;
	}
	#artists07 h3,
	#artists08 h3 {
		font-size: 1em;
	}
	#artists07 ul,
	#artists08 ul {
		margin: .75em 0 0;
	}
	#artists07 ul li,
	#artists08 ul li {
		margin: .25em .75em;
		font-size: .75em;
	}
	#artists .block_group {
		margin: .75em 0;
	}
	#artists .block_group .mdl_btn {
		width: calc(25% - .75em);
		margin: .5em .375em;
	}
	#artists .block_group .mdl_btn .card {
		padding: .25em .75em;
		margin-top: -.5em;
	}
	#artists .block_group .mdl_btn .card h5 {
		min-width: 7.5em;
		font-size: .75em;
		padding: .25em;
	}
	@media screen and (max-width:640px) {
		#artists .block_group .mdl_btn {
			width: calc(50% - .75em);
		}
	}
	/* sideModal - common
-------------------------------- */
	@media screen and (max-width:640px) {
		.mdl_contents {
			width: 100vw;
		}
	}
	.mdl_inner {
		height: auto;
		padding: 3.75em 1.75em 3.5em;
	}
	.mdl_xmark {
		top: 20px;
		right: 20px;
	}
	/* ----------------------------- */
	#artists .mdl_inner h5 {
		margin: 0 0 1em;
	}
	/* timetable
-------------------------- */
	#timetable section#time01 {
		padding: 3em .5em
	}
	#timetable table {
		font-size: .5em;
	}
	#timetable table th:first-of-type {
		width: 4%;
	}
	#timetable table th:not(:first-of-type) {
		vertical-align: middle;
		width: calc(96% / 5);
	}
	#timetable table th:not(:first-of-type) span {
		word-break: break-word;
		overflow-wrap: break-word;
	}
}