@charset "UTF-8";

@media screen and (max-width:767px) {
	:root {
		font-size: 17.5px;
	}
	body {
		letter-spacing: .01em;
	}
	a.btn_type1 {
		padding: 1em .5em;
	}
	hr {
		margin: 1rem 0;
	}
	/* responsive
-------------------------- */
	.spSet {
		display: block !important;
	}
	.pcSet {
		display: none !important;
	}
	/* base
-------------------------- */
	.head_mv:before {
		background-position: top center;
	}
	.head_mv .outer_wht {
		margin-top: 60vw;
	}
	main {
		margin: 55px auto 0;
		min-height: 50vh;
	}
	section {
		padding: 1.5em 1em;
	}
	section:last-of-type {
		padding-bottom: 3em !important;
	}
	section ul {
		margin: 0 auto 1.5em;
	}
	section ul li.note {
		font-size: .85em;
	}
	h2 {
		font-size: 1.5em;
		padding: .75em 0;
	}
	h2 span {
		padding: .25em 0 0;
	}
	h3 {
		font-size: 1em;
		padding: .5em 0 1em;
	}
	h3 span {
		font-size: .75em;
		display: block;
		padding: .25em 0 0;
	}
	h3.and_i {
		font-size: 1em;
		padding: 1em 0 .5em 2.25rem;
	}
	h3.and_i:before {
		width: 2em;
		height: 2em;
		top: .625em;
	}
	p {
		margin: 0 auto 1em;
	}
	p.ind_1em:last-of-type {
		margin: 0 auto 1em;
	}
	dl {
		margin: 0 auto 1.5em;
	}
	dl dt {
		width: 100%;
		font-weight: bold;
		padding: .75em .25em 0;
		margin-right: 0;
		border-bottom: none;
	}
	dl dd {
		width: 100%;
		padding: 0 .25em .75em 1.25em;
	}
	dl dd:first-of-type {
		border-top: none;
	}
	dl.type01 dt span {
		display: block;
		margin: 0 0 .5em;
		line-height: 1.2;
	}
	dl.type01 dt:before {
		width: 1.75em;
		height: 1.75em;
		top: .75em;
		left: -.375em;
	}
	ul.nav_sub {
		display: block;
		padding: 0 1.5em;
		text-align: left;
	}
	ul.nav_sub>li {
		margin: 0;
		border-bottom: 1px solid #ededed;
	}
	ul.nav_sub>li a {
		padding: .75em 1.5em;
	}
	a.btn {
		font-size: .85em;
		padding: .5em 1em;
		margin: 1em auto 0;
		letter-spacing: .03em;
	}
	a.btn.line {
		min-width: 200px;
	}
	.wrap_youtube {
		margin: .25em 1em 1em;
	}
	table.fee {
		margin: 0 auto 1em;
	}
	table.fee th,
	table.fee td {
		padding: .75em;
	}
	table.fee thead th {
		font-size: .8em;
	}
	table.fee tbody th {
		font-size: .75em;
	}
	/* modalBase ------------ */
	.mdl_box {
		width: 80vw;
		max-height: 80vh;
		padding: 50px 4vw 20px;
	}
	#artists .mdl_box img:first-of-type {
		max-width: 360px;
		/*height: 60vw;*/
	}
	.mdl_box h4 {
		margin: .75em 0 1.5em;
	}
	.mdl_box h4 span {
		display: block;
	}
	.mdl_box h5 {
		margin: 1.5em 0 .75em;
	}
	/* header
-------------------------- */
	header {
		height: 55px;
	}
	header .inner {
		padding: 0;
		display: block;
	}
	header h1 a {
		width: 100%;
		max-width: 200px;
		margin: 10px .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: #fff;
		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: 55px 1.5em 1.5em;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 20;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	header nav>ul>li {
		text-align: left;
		width: 100%;
		cursor: pointer;
		margin: 0 0 .5em;
	}
	header nav>ul>li>a {
		font-size: 1em;
		margin: .5em 0 0;
		padding: .5em 0;
		letter-spacing: .03em;
		border-bottom: 1px solid #fff;
	}
	a.sp_disabled {
		pointer-events: none;
	}
	header nav>ul>li>ul {
		text-align: left;
		position: static;
		transform: none;
		width: 100%;
		margin: 0 0 .5em;
		visibility: visible;
		opacity: 1;
		display: none;
		transition: transform .4s;
	}
	header nav>ul>li>ul:before {
		border: none !important;
	}
	header nav>ul>li li>a {
		font-size: .875em;
		padding: 1em;
		margin: .125em 0;
		background: #df6e2c;
		border-bottom: 1px solid #fff;
	}
	header nav>ul>li li>a:before {
		content: '- ';
	}
	header nav>ul>li li>a:hover {
		color: #fff;
		background: #eca614;
	}
	/* footer
-------------------------- */
	footer nav {
		justify-content: flex-start;
		padding: .5em 1em;
	}
	@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;
	}
	.to_top {
		width: 2.5rem;
		height: 2.5rem;
	}
	/* top
-------------------------- */
	#op_mov {
		display: none;
	}
	#op_mov .wrap_youtube {
		width: 100%;
		margin: 0;
	}
	#home .mdl_box {
		width: 90vw;
		padding: 50px 0 30px;
		overflow: hidden;
	}
	#home .mdl_box img {
		width: 100%;
		margin: 0;
	}
	#home #pick_01.mdl_box img,
	#home #pick_02.mdl_box img {
		width: 130%;
		margin: 0 -15%;
	}
	#home01 {
		height: auto;
		max-height: inherit;
		display: block;
	}
	#home01 h1 {
		width: 75%;
		margin: auto;
	}
	#home01 h2 {
		width: 100%;
		max-width: 640px;
		margin: auto;
	}
	#home01 h2,
	#home01 h3 {
		overflow: hidden;
	}
	#home02 {
		justify-content: space-between;
		padding: .5em 1em 1.5em !important;
	}
	#home02>a {
		width: calc(100% / 2 - .5em);
		margin: .5em 0;
	}
	#home02>a.w_full:before {
		padding-top: 56.25%;
	}
	#home02>a:hover>img {
		filter: none;
		transform: none;
	}
	/* information
-------------------------- */
	#info01 {
		padding: .5em 1em 1.5em;
	}
	article {
		padding: .5em 1em 1.5em;
		margin-bottom: 1.5em;
	}
	.flex_news {
		flex-direction: column-reverse;
		padding: 0;
	}
	.flex_news dl {
		width: 100%;
		margin: 0;
	}
	.flex_news dl dt {
		width: 100%;
	}
	.flex_news dl dd {
		width: 100%;
	}
	.flex_news img {
		width: 100%;
		margin: 0 0 1.5em;
	}
	#date0908 a.btn_type1 {
		margin: .25em 0 0 auto;
	}
	#date1017 a.btn_type1,
	#date1025 a.btn_type1 {
		margin: .25em auto;
	}
	#date1004 .flex p {
		width: 100%;
		margin: 0 0 1em;
	}
	#date1004 a.btn_type1 {
		margin: 0 auto;
	}
	/* artists
-------------------------- */
	#artists section.stage {
		padding: 0 1em 1.5em;
	}
	#artists section.stage h3 {
		margin: 0 auto .5em;
	}
	#artists section.stage>h4 {
		margin: .5em auto;
		padding: 0;
	}
	.stage label {
		width: calc(100% / 5 - .5em);
		padding: .5em;
		margin: .25em;
		font-size: 10px;
	}
	.stage label:nth-last-of-type(-n+4) {
		margin: .25em .25em 1.5em;
	}
	#artists section.stage .part {
		width: calc((100% - 1.5em) / 2);
		padding: calc((100% - 1.5em) / 2) 0 0;
		margin: .375em;
	}
	.stage .block_stage {
		width: calc(100% / 2 - 2%);
		margin: 0 1% 2%;
		padding: .75em;
	}
	.stage .block_stage>span {
		margin: 0 auto .5em;
	}
	/*#artists section.stage .part.blank {
		display: none;
	}*/
	/* hotelcamp
-------------------------- */
	#hotelcamp00 {
		padding: 0 1em 1.5em;
	}
	#hotelcamp h3:not(.and_i) {
		margin: 0 auto .5em;
	}
	#hotel01 {
		padding: 0 1em 1.5em;
	}
	#hotelcamp table.fee thead th:not(:first-child) {
		width: inherit;
	}
	#hotelcamp table.fee thead {
		display: none
	}
	#hotelcamp table.fee td {
		padding: .25em .5em .25em calc(50% + .5em);
		display: block;
		position: relative;
	}
	#hotelcamp table.fee td.none {
		display: none;
	}
	#hotelcamp table.fee td:first-child,
	#hotelcamp table.fee td:last-child {
		padding: .5em;
	}
	#hotelcamp table.fee a.btn_type1 {
		margin-right: 0;
	}
	#hotel01 table.fee td:before {
		background: #df6e2c;
		color: #fff;
		height: 100%;
		position: absolute;
		width: 50%;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#hotel01 table.fee td:nth-child(2):before {
		content: '1名･2名';
	}
	#hotel01 table.fee td:nth-child(3):before {
		content: '3名';
	}
	#hotel01 table.fee td:nth-child(4):before {
		content: '4名';
	}
	#hotel01 table.fee td:nth-child(5):before {
		content: '5名';
	}
	#hotel01 table.fee td:nth-child(6):before {
		content: '6名';
	}
	#hotel01 table.fee.only td:nth-child(2):before {
		content: '';
	}
	#hotel01 table.fee.only td:nth-child(3):before {
		content: '';
	}
	#hotel01 table.fee.only td:nth-child(4):before {
		content: '';
	}
	#hotel01 table.fee.only td:nth-child(5):before {
		content: '';
	}
	#hotel01 table.fee.only td:nth-child(6):before {
		content: '6名まで';
	}
	#hotelcamp table.fee+p {
		margin: -1em auto 1.5em;
	}
	#hotelcamp a.btn_mdl {
		pointer-events: none !important;
	}
	/* tickets
-------------------------- */
	.arrowSet {
		margin: 0 auto 1.5em;
	}
	.arrowSet dl {
		padding: .25em .25em 1em;
		width: 40%;
		font-size: 12px;
	}
	.arrowSet dl dt,
	.arrowSet dl dd {
		border-bottom: 1px solid #4c4354;
	}
	.arrow {
		width: 1.5em;
		height: 1.5em;
	}
	#tickets02 {
		padding: 0 1em 1.5em;
	}
	#tickets02 table.fee thead th:not(:first-child) {
		width: 35%;
	}
	#tickets02 .bd_org {
		padding: .5em;
		margin: -.5em auto 1.5em;
	}
	#tickets02 .bd_org h4 {
		margin: -.5em -.5em .5em;
	}
	#tickets01 {
		flex-direction: column-reverse;
		padding: 0 1em;
	}
	#tickets01 p {
		order: 1;
	}
	#tickets01 dl {
		width: 100%;
		margin: 0 0 3em;
	}
	#tickets01 a.t_banner {
		width: 100%;
		margin: 0 0 1.5em;
	}
	/* timetable
-------------------------- */
	#timetable section {
		padding: 0 1em 1em;
	}
	#timetable section h3 {
		padding: .5em 0 .25em;
	}


	/* style ------------------------ */
	.w_full {
		width: 100% !important;
	}
	.f_l {
		font-size: 105% !important;
	}


}