@charset "utf-8";

/* ---------------------------------------------
	reset
--------------------------------------------- */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
img {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset,
img {
	border: 0;
}

img {
	display: block;
}

img a {
	border: none;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal;
}

ol,
ul {
	list-style: none;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
	line-height: 1.0;
}

q:before,
q:after {
	content: "";
}

figure {
	width: 100%;
	margin: 0;
	padding: 0;
}

/* ---------------------------------------------
	common
--------------------------------------------- */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
}

#contents img {
	width: 100%;
	height: auto;
}

#contents a {
	text-decoration: none;
}

#contents a:hover {
	-webkit-transition: all .3s;
	transition: all .3s;
	opacity: 1;
}

#contents p {
	line-height: 1.4;
}

#contents {
	font-size: 16px;
	font-family: Meiryo, メイリオ, 游ゴシック体, 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	color: #333;
	margin-bottom: 0;
	background-image: url("../img/bg.jpg");
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-table;
}

.imgL {
	float: left;
}

.imgR {
	float: right;
}

a {
	text-decoration: none;
}

a:link {
	color: #231816;
}

a:visited {
	color: #231816;
}

a:hover {
	text-decoration: underline;
	color: #b60005;
	-webkit-transition: all .3s;
	transition: all .3s;
}

a:active {
	color: #b60005;
}

.mt00 {
	margin-top: 0px !important;
}

.mt05 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt90 {
	margin-top: 90px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mb00 {
	margin-bottom: 0px !important;
}

.mb05 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb90 {
	margin-bottom: 90px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.ml00 {
	margin-left: 0px !important;
}

.ml05 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.ml60 {
	margin-left: 60px !important;
}

.ml70 {
	margin-left: 70px !important;
}

.ml80 {
	margin-left: 80px !important;
}

.ml90 {
	margin-left: 90px !important;
}

.ml100 {
	margin-left: 100px !important;
}

.mr00 {
	margin-right: 0px !important;
}

.mr05 {
	margin-right: 5px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mr60 {
	margin-right: 60px !important;
}

.mr70 {
	margin-right: 70px !important;
}

.mr80 {
	margin-right: 80px !important;
}

.mr90 {
	margin-right: 90px !important;
}

.mr100 {
	margin-right: 100px !important;
}

.pt05 {
	padding-top: 5px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pb05 {
	padding-bottom: 5px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pl05 {
	padding-left: 5px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.pl50 {
	padding-left: 50px !important;
}

.pr05 {
	padding-right: 5px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.bold {
	font-weight: bold !important;
}

.left {
	text-align: left !important;
}

.center {
	text-align: center !important;
}

.right {
	text-align: right !important;
}

.red01 {
	color: #FF0000 !important;
}

.red02 {
	color: #CC0000 !important;
}

.red03 {
	color: #990000 !important;
}

.red04 {
	color: #E4007F !important;
}

.blue01 {
	color: #003399 !important;
}

.blue02 {
	color: #006699 !important;
}

.blue03 {
	color: #0066CC !important;
}

.blue04 {
	color: #00A0E9 !important;
}

.orange01 {
	color: #F60 !important;
}

.orange02 {
	color: #F90 !important;
}

.orange03 {
	color: #FC0 !important;
}

.orange04 {
	color: #EB6100 !important;
}

.orange05 {
	color: #FFCC00 !important;
}

.green01 {
	color: #060 !important;
}

.green02 {
	color: #093 !important;
}

.green03 {
	color: #6C0 !important;
}

.f20 {
	font-size: 1.25em !important;
}

.f19 {
	font-size: 1.19em !important;
}

.f18 {
	font-size: 1.12em !important;
}

.f17 {
	font-size: 1.06em !important;
}

.f16 {
	font-size: 1.00em !important;
}

.f15 {
	font-size: 0.94em !important;
}

.f14 {
	font-size: 0.88em !important;
}

.f13 {
	font-size: 0.81em !important;
}

.f12 {
	font-size: 0.75em !important;
}

.lh0 {
	line-height: 1.0 !important;
}

.lh1 {
	line-height: 1.1 !important;
}

.lh2 {
	line-height: 1.2 !important;
}

.lh3 {
	line-height: 1.3 !important;
}

.lh4 {
	line-height: 1.4 !important;
}

.lh5 {
	line-height: 1.5 !important;
}

.lh6 {
	line-height: 1.6 !important;
}

.lh7 {
	line-height: 1.7 !important;
}

.lh8 {
	line-height: 1.8 !important;
}

.indent {
	text-indent: -1em;
	padding-left: 1em;
}

p {
	line-height: 1.4;
}

/* ---------------------------------------------
    globalnavi
--------------------------------------------- */
#gNaviBtn {
	display: none;
}

#gNaviMenu {
	display: block;
}

#gNaviMenu.menuOpen {
	max-height: var(--menu-maxHeight);
}

.gNavi {
	background: rgba(230, 0, 18, 1);
}

.gNavi nav {
	max-width: 1120px;
	margin: 0 auto;
}

.gNavi nav ul {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
}

.gNavi nav ul li {
	width: 16.66%;
	text-align: center;
	border-left: 1px solid rgba(255, 255, 255, 0.5);
}

.gNavi nav ul li:last-child {
	border-right: 1px solid rgba(255, 255, 255, 0.5);
}

.gNavi nav ul li a {
	display: block;
	padding: 15px 5px;
	color: #fff;

	font-size: clamp(1px, 1.4vw, 1em);
}

.gNavi nav ul li a:hover {
	background: rgba(236, 143, 41, 1);
	text-decoration: none;
}

@media only screen and (max-width: 768px) {
	#gNaviMenu {
		/* display: none; */
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.6s ease;
	}

	#gNaviBtn {
		display: block;
		margin: 0;
		padding: 10px 5px;
		background: rgba(230, 0, 18, 1);
		color: #fff;
		width: 100%;
		cursor: pointer;
		text-align: center;
	}

	.gNavi nav ul {
		flex-wrap: wrap;
	}

	.gNavi nav ul li {
		width: 100%;
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.5);
		text-align: left;
	}

	.gNavi nav ul li:last-child {
		border-right: none;
	}

	.gNavi nav ul li a {
		padding: 10px 1em;
		font-size: 1em;
	}
}

/* ---------------------------------------------
    footer
--------------------------------------------- */
.footerCopy {
	padding: 10px;
	background: rgba(230, 0, 18, 1);
}

.footerCopy p {
	text-align: center;
	font-size: 12px;
	color: #fff;
}

/* ---------------------------------------------
    contents
--------------------------------------------- */
.contentsBody {}

.headline01 {
	background: rgba(230, 0, 18, 1);
	margin-bottom: 20px;
	padding: 14px;
	color: #fff;
	border: 3px solid #fff;
	border-radius: 6px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
	font-size: 24px;
	font-weight: bold;
}

.schedule1stday {
	background: #217fc4;
}

.headline02 {
	background: #fff;
	margin-bottom: 20px;
	padding: 10px;
	border-left: 8px solid rgba(236, 143, 41, 1);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
	font-size: 22px;
	font-weight: bold;
	color: #057698;
}

.table01 {
	margin-bottom: 60px;
	width: 100%;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

.table01 th {
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	padding: 8px;
	background: #faeddf;
	text-align: center;
	font-weight: bold;
	width: 20%;
}

.table01 td {
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	padding: 8px;
	background: #fff;
}

.table02 {
	width: 96%;
	max-width: 900px;
	margin: 30px auto 0;
	font-size: 14px;
}

.table02 td {
	border: 1px solid #ccc;
	padding: 6px;
}

@media only screen and (max-width: 640px) {
	.table02 {
		font-size: 13px;
	}

	.table02 td {
		padding: 3px;
	}

	.table02 tr td:nth-of-type(1) {
		white-space: nowrap;
	}

	.table02 tr td:nth-of-type(2) {
		white-space: nowrap;
	}
}

.titleBlock {
	/* background: url("../img/title-bg.jpg") no-repeat center center #f2998b; */
	/* background-size: 1904px 355px; */
	height: 355px;
	background: rgb(206, 152, 16);
	/* padding: 128px 0; */
}

.titleBlock h1 {
	line-height: 0;
	text-align: center;
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

#contents .titleBlock h1 img {
	/* height: 99px; */
	height: 100%;
	width: auto;
	margin: 0 auto;
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
}

#contents .titleBlock h1.sp {
	display: none;
}

@media only screen and (max-width: 768px) {
	.titleBlock {
		height: 220px;
		/* padding: 64px 0; */
		/* background-size: cover; */
	}

	#contents .titleBlock h1 img {
		/* height: 50px; */
	}

	#contents .titleBlock h1.pc {
		display: none;
	}

	#contents .titleBlock h1.sp {
		display: block;
	}
}

@media only screen and (max-width: 640px) {
	.titleBlock {
		/* height: 114px; */
		/* padding: 32px 0; */
	}

	.headline01 {
		font-size: 20px;
	}

	.headline02 {
		font-size: 18px;
	}

	.table01 {
		border-bottom: 1px solid #999;
	}

	.table01 th {
		display: block;
		border-bottom: none;
		text-align: left;
		width: 100%;
	}

	.table01 td {
		display: block;
		border-bottom: none;
		width: 100%;
	}
}

.contentsBody section {
	width: 100%;
	padding: 80px 0 10px;
}

.contentsBody section:last-of-type {
	padding-bottom: 80px;
}

@media only screen and (max-width: 1200px) {
	.contentsBody section {
		padding-left: 10px;
		padding-right: 10px;
	}
}

@media only screen and (max-width: 640px) {
	.contentsBody section {
		padding-left: 10px;
		padding-right: 10px;
		padding: 40px 0 10px;
	}
}

.contentsBody section h2 {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto 45px;
}

#contents .contentsBody section h2 img {
	height: 74px;
	width: auto;
}

@media only screen and (max-width: 640px) {
	.contentsBody section h2 {
		margin-bottom: 20px;
	}

	#contents .contentsBody section h2 img {
		height: 37px;
	}
}

#contents .contentsBody section p {
	font-size: 16px;
	line-height: 1.8;
}

.top h1 .sp {
	display: none;
}

/* ---------------------------------------------
    top
--------------------------------------------- */
@media only screen and (max-width: 1200px) {
	.top h1 {
		/* min-height: 550px; */
		/* background: url("../img/top-mv.jpg") no-repeat center center; */
		/* background-size: cover; */
	}

	.top h1 img {
		/* display: none; */
		object-fit: cover;
		min-height: 550px;
	}

}

@media only screen and (max-width: 768px) {
	.top h1 {
		/* background: url("../img/top-mv-sp.jpg") no-repeat center center; */
		/* background-size: cover; */
		/* min-height: 400px; */
	}

	.top h1 .pc {
		display: none;
	}

	.top h1 .sp {
		display: block;
		min-height: 400px;
	}
}

.band-text {
	background-color: #C5B085;
	background: linear-gradient(135deg, rgb(140, 120, 60), rgb(200, 170, 60), rgb(140, 120, 60), rgb(200, 170, 60));
	color: #fff;
	font-weight: bold;
	text-align: center;
	padding: 10px 50px;
}

.band-text br {
	display: none;
}

@media only screen and (max-width: 640px) {
	.band-text br {
		display: block;
	}
}

/* ---------------------------------------------
    outline
--------------------------------------------- */
.outline section {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}

.contentsBody.outline section h2 {
	width: 100%;
}

.outline .faq ul li {
	background: rgba(252, 255, 255, 0.8);
	margin-bottom: 15px;
	padding: 14px;
	border-top: 1px solid #c5b085;
}

.outline .faq ul li dl dt {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 5px;
	line-height: 1.5;
	color: #8a7b5d;
}

.outline .faq ul li dl dd {
	line-height: 1.5;
}

.covid-dd::before {
	content: '';
	display: inline-block;
	background: #f8be83;
	width: 1em;
	height: 1em;
	margin-right: 5px;
}

.covid-dd {
	text-indent: -1em;
	padding-left: 1em;
}

.covid-info {
	margin-top: 20px;
}

/* ---------------------------------------------
    artist
--------------------------------------------- */
#contents.artist {
	background-image: none;
}

.contentsBody.artist {
	background-image: url("../img/artist/bg.jpg");
	background-position: center top;
}

.artist section {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}

.contentsBody.artist section h2 {
	width: 100%;
}

.artist-01 {
	margin-bottom: 20px;
	padding: 10px;
	border-left: 8px solid #00afec;
	border-bottom: 1px solid #00afec;
	font-size: 22px;
	font-weight: bold;
	color: #00afec;
}

.artist-02 {
	margin-bottom: 20px;
	padding: 10px;
	border-left: 8px solid #9db204;
	border-bottom: 1px solid #9db204;
	font-size: 22px;
	font-weight: bold;
	color: #9db204;
}

.artist-03 {
	margin-bottom: 20px;
	padding: 10px;
	border-left: 8px solid #a688bd;
	border-bottom: 1px solid #a688bd;
	font-size: 22px;
	font-weight: bold;
	color: #a688bd;
}

.artist-04 {
	margin-bottom: 20px;
	padding: 10px;
	border-left: 8px solid #3071b9;
	border-bottom: 1px solid #3071b9;
	font-size: 22px;
	font-weight: bold;
	color: #3071b9;
}

.artistList {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 40px;
}

.artistList li {
	width: 24.25%;
	margin-right: 1%;
	margin-bottom: 20px;
}

.artistList li:nth-child(4n) {
	margin-right: 0;
}

.artistList li.lasty {
	width: 49.5%;
	margin-right: 0;
}

@media only screen and (max-width: 768px) {
	.artistList li {
		width: 32.66666%;
	}

	.artistList li:nth-child(4n) {
		margin-right: 1%;
	}

	.artistList li:nth-child(3n) {
		margin-right: 0;
	}

	.artistList li.lasty {
		width: 100%;
		margin-right: 0;
	}
}

@media only screen and (max-width: 640px) {
	.artistList li {
		width: 49.5%;
	}

	.artistList li:nth-child(4n) {
		margin-right: 0;
	}

	.artistList li:nth-child(3n) {
		margin-right: 1%;
	}

	.artistList li:nth-child(2n) {
		margin-right: 0;
	}
}

/* ---------------------------------------------
    schedule
--------------------------------------------- */
.schedule .map {
	max-width: 1120px;
	margin: 0 auto 30px;
}

.map2023 {
	max-width: 1080px !important;
}

.schedule .timetable {
	max-width: 1120px;
	margin: 0 auto 20px;
	overflow-x: auto;
}

.schedule .timetable::-webkit-scrollbar {
	height: 5px;
}

.schedule .timetable::-webkit-scrollbar-track {
	border-radius: 5px;
	background: #eee;
}

.schedule .timetable::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background: #666;
}

@media only screen and (max-width: 768px) {
	.schedule .timetable img {
		width: 768px !important;
		height: auto;
	}
}

/* ---------------------------------------------
    archive
--------------------------------------------- */
.chirashi {
	opacity: 0;
	transition: opacity .3s linear;
	max-width: 1200px;
	margin: 0 auto;
}

@media only screen and (max-width: 1300px) {
	.chirashi {
		width: 90%;
		max-width: 90%;
	}
}

.chirashi.slick-initialized {
	opacity: 1;
}

.number-box {
	width: 96%;
	max-width: 1282px;
	height: 32vw;
	margin: 0 auto;
	background: url("../img/archive/performer-bg.svg") no-repeat center top;
	background-size: contain;
}

#contents .number-box img {
	width: 100%;
	max-width: 480px;
	height: auto;
	margin: 0 auto;
}

@media only screen and (max-width: 768px) {
	#contents .number-box img {
		max-width: 45%;
	}
}

.flex-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}

.contentsBody section .flex-row h3 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 10px;
	margin-left: 1em;
}

#contents .contentsBody section p.profile {
	margin-top: 20px;
	font-size: 14px;
	border: 1px solid #ccc;
	padding: 10px;
}

#contents .contentsBody section p.profile strong {
	font-weight: bold;
}

.flex-column-small {
	width: 29%;
}

.flex-column-large {
	width: 69%;
}

@media only screen and (max-width: 767px) {
	.flex-row {
		flex-direction: column-reverse;
	}

	.contentsBody section .flex-row h3 {
		margin: 10px 0 20px;
	}

	.flex-column-small {
		width: 100%;
	}

	.flex-column-large {
		width: 100%;
	}

	.flex-column-small img {
		max-width: 280px;
		margin: 0 auto;
	}
}

.flex-row-photo {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 96%;
	max-width: 1000px;
	margin: 20px auto 0;
}

.flex-column-photo {
	margin: 0 1% 0;
	width: 31%;
}

.flex-column-photo-two {
	margin: 20px 1% 0;
	width: 64%;
}

.flex-column-photo img {
	display: inline;
	max-width: 100%;
}

.flex-column-photo-two img {
	display: inline;
	max-width: 100%;
}

#contents .contentsBody section .flex-row-photo p {
	font-size: 14px;
}

#contents .contentsBody section .flex-row-photo p strong {
	font-weight: bold;
}

@media only screen and (max-width: 640px) {
	.flex-row-photo {
		justify-content: flex-start;
		margin-top: 0;
	}

	.flex-column-photo {
		margin: 20px 1% 0;
		width: 48%;
	}

	.flex-column-photo-two {
		margin: 20px 1% 0;
		width: 98%;
	}

	#contents .contentsBody section .flex-row-photo p {
		font-size: 12px;
		line-height: 1.4;
	}
}

/* ---------------------------------------------
    producer
--------------------------------------------- */
#contents .contentsBody section.interview h2 img {
	margin: 0 auto;
}

.interview-container {
	width: 96%;
	max-width: 800px;
	margin: 0 auto;
}

.interview-container h3 {
	text-align: center;
	font-weight: bold;
	font-size: 24px;
	line-height: 1.4em;
	margin-bottom: 0.5em;
}

.interview-container h4 {
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.4em;
	margin-bottom: 0.5em;
}

.interview-container h5 {
	font-weight: bold;
	text-align: center;
	font-size: 16px;
	margin-bottom: 3em;
}

.interview-container p {
	margin-bottom: 1.5em;
}

.interview-container p.headline {
	border-left: 4px solid #cc3f47;
	padding-left: 8px;
	font-weight: bold;
}

.interview-container p strong {
	color: #cc3f47;
}

.interview-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.interview-row-left {
	width: 48%;
}

.interview-row-right {
	width: 48%;
}

#contents .interview-row-right.tate img {
	width: 60%;
	margin: 0 auto;
}

#contents .interview-row.last img {
	width: 60%;
	margin: 0 auto;
}

@media only screen and (max-width: 640px) {
	.interview-container h3 {
		font-size: 20px;
	}

	.interview-container h4 {
		font-size: 16px;
	}

	.interview-container h5 {
		font-size: 15px;
		margin-bottom: 2em;
	}

	#contents .interview-row.last img {
		width: 100%;
	}
}