@charset "utf-8";
:root{
  --main-color:#B963A4;
  --sub-color:#CC7DB1;
  --bg-color:#F4B4D0;
  --key-color:#9FD9F6;
  --text-color:#311414;
}

#wrapper{margin:0;}
#side{
	position:fixed;
	top:0; left:0;
  width:360px;
  height:100%;
  float:left;
  z-index:100;
  background-color: var(--key-color);
}
#main{
  width:100%;
  margin:0 0 0 -360px;
  float:right;
}
#main-contents{
	margin:0 0 0 360px;
	padding:40px 0 0 0;
	position:relative;
	z-index:1;
}
#main-contents section{
	width:900px;
	margin:0 auto 60px auto;
	text-align:left;
	position:relative;
}


/* side
++++++++++++++++++++++++++++++*/
#side h1{
  width:320px; height:341px;
  position:absolute;
  top:30px; right:20px;
	z-index:10;
	background-image: url(../../img/common/logo_back.png);
	background-size: 320px 341px;
	background-position: 0 0;
	background-repeat: no-repeat;
}

#side h1::before{
  position:absolute;
	content: "";
  top: 32px;
	left: 0; right:0;
	margin: auto;
	width:calc(276px * 0.35); height:calc(99px * 0.35);
	background-image: url(../../img/index/2025/time.png);
	background-size: cover;
	background-position: 0 0;
	background-repeat: no-repeat;
}

#side h1 img{
	position: relative;
	width: 190px; height: auto;
	margin: 70px auto 0;
}
#side #date{
  width:200px; height:auto;
  position:absolute;
  top:380px; right: 35px;
	z-index:11;
}
#side .free{
	position: absolute;
  top: 370px;
  left: 36px;
  color: #F15921;
  font-size: 1.8em;
  font-weight: bold;
  text-align: center;
  width: 100px;
  height: 100px;
  line-height: 35px;
  border-radius: 50%;
  background-color: #FFF200;
  padding: 15px 10px;
  box-sizing: border-box;
  transform: rotate(-25deg);
	z-index:12;
}
#side #side-image{
  width:100%;
	height:65%;
	max-height:745px;
  position:absolute;
	bottom:0; left:0px;
	z-index:8;
	background:url(../../img/common/side-image.png) no-repeat center top;
	background-size:cover;
}
/* main
++++++++++++++++++++++++++++++*/
nav#global-nav{
  height:40px;
  width:100%;
  background:var(--sub-color);
  text-align:right;
  padding:0;
  position:fixed;
  top:0; right:0;
	box-sizing: border-box;
	z-index:10;
}
nav#global-nav ul{
  display: flex;
	justify-content: flex-end;
}
nav#global-nav ul li{
  font-size:0.9em;
  line-height:40px;
}
nav#global-nav ul li a{
	font-family: 'RocknRoll One', sans-serif;
  color:#FFF;
  text-decoration:none;
  padding:0 15px;
  display:block;
}
nav#global-nav ul li.sns-icon{
	display: flex;
}
nav#global-nav ul li.sns-icon a{
	display: block;
}
nav#global-nav ul li.sns-icon a img{
	width: 24px; height: 24px;
	margin-top: 8px;
}
nav#global-nav ul li a:hover{
  background:var(--main-color);
}

#crumb{
	background:var(--bg-color);
	text-align:right;
	font-size:12px;
	line-height:28px;
	font-weight:400;
	padding-right:10px;
	margin-bottom:60px;
}

#billboard{
  width:100%;
	height:460px;
  position:relative;
	margin:0 auto 60px auto;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
#billboard #index-billboard{
}
#billboard #billboard-text01{
	width:400px; height:auto;
	position:absolute;
	top:60px; left:30px;
}
#billboard #billboard-text02{
	width:320px; height:auto;
	position:absolute;
	bottom:20px; right:30px;
}

section.index-description{
	text-align:center !important;
}
section.index-description .main-date{
	width: 500px;
	margin: 0 auto 10px;
}
section.index-description .main-time{
	font-size: 2em;
	font-weight: 700;
	font-family: 'RocknRoll One', sans-serif;
	color: var(--text-color);
}
section.index-description .main-time span{
	font-size: 0.6em;
	margin-left: 10px;
}
section.index-description .main-place{
	font-size: 1.15em;
	font-family: 'RocknRoll One', sans-serif;
	color: var(--text-color);
	margin-bottom: 40px;
}
section.index-description h2{
	font-size: 1.5em;
	line-height:2;
	color: var(--text-color);
	margin:0 auto 40px;
}

section h2.title{
	position:relative;
	display: block;
	margin:0 auto 20px;
	text-align: center;
	padding-bottom: 5px;
}
section h2.title span{
	position:relative;
	font-family: 'RocknRoll One', sans-serif;
	color: var(--text-color);
	font-size: 1.1em; line-height: 1.5;
	border-bottom:4px double var(--text-color);
	padding: 0 5px;
}
section h2.title span::before{
	content:"";
	width:20px; height:17px;
	background:url(../../img/common/title_before.png) no-repeat center center;
	display:block;
	position:absolute;
	top:-10px; left:-10px;
}
section h2.title span::after{
	content:"";
	width:20px; height:17px;
	background:url(../../img/common/title_after.png) no-repeat center center;
	display:block;
	position:absolute;
	top:-10px; right:-10px;
}

ul.topics-list{
	margin:0 0 30px 0;
}
ul.topics-list li{
	text-align:left;
	border-bottom:1px dashed var(--text-color);
}
ul.topics-list li a{
	padding:20px 15px;
	display:flex;
	position:relative;
}
ul.topics-list li a::before{
	content:"▲";
	font-size:9px !important;
	line-height:9px !important;
	color: var(--sub-color);
	display:block;
	position:absolute;
	top:28px; left:2px;
	transform:scale(0.6,1) rotate(90deg);
}
ul.topics-list li a span.entry-date{
	font-size:14px;
	display:block;
	width: 180px;
	color:#444;
	text-decoration: none;
}
ul.topics-list li a:hover{
	text-decoration: none;
}
ul.topics-list li a span.entry-title{
	display: block;
	flex: 1;
}
ul.topics-list li a:hover span.entry-title{
	text-decoration: underline;
}
.topics-box .button{
	display:block;
	width: 200px;
	margin:0 auto;
}
.topics-box .button a{
	display:block;
	line-height:1.8;
	margin:0 auto;
	background-color: var(--main-color);
	color:#FFF;
	text-align: center;
	border:1px solid var(--main-color);
	border-radius:15px;
	transition:0.3s;
}
.topics-box .button a:hover{
	text-decoration:none;
	border:1px solid var(--key-color);
	background:var(--key-color);
	transition:0.3s;
}
ul.sns-list{
	display: flex;
	justify-content: space-between;
	margin-top: 60px;
}
ul.sns-list li{
	width: 430px;
//	border: 1px solid #CCC;
}
ul.sns-list li h3{
	position: relative;
	font-size: 1.2em; line-height: 26px;
	margin-bottom: 10px;
	padding-left: 36px;
}
ul.sns-list li h3::before{
	position: absolute;
	content: "";
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: cover;
}
ul.sns-list li:nth-child(1) h3::before{
	width: 26px; height: 26px;
	background-image:url(../../img/common/icon_twitter_black.svg);
	top:0; left: 2px;
}
ul.sns-list li:nth-child(2) h3::before{
	width: 22px; height: 22px;
	background-image:url(../../img/common/icon_instagram_black.svg);
	top:2px; left: 8px;
}
.pagenavi-box{
	margin-left:-20px;
}

.entry-box{
	background:#FFF;
	border:1px solid #CCC;
	border-radius:5px;
	padding:25px 30px 0 30px;
	margin-bottom:15px;
}
.entry-title-box{
	border-bottom:1px dashed #999;
	margin-bottom:25px;
}
.entry-title-box .entry-date{
	font-size:13px;
	font-weight:400;
	margin-bottom:5px;
}
.entry-title-box h1.entry-title{
	font-size:21px;
	line-height:160%;
	margin-bottom:5px;
}
.entry-body p,
.entry-body ul,
.entry-body ol,
.entry-body table{
	margin:0 0 25px 0;
}
.entry-body ul li{
	list-style:disc outside;
	margin:0 0 5px 20px;
}
.entry-body ol li{
	list-style:decimal outside;
	margin:0 0 5px 25px;
}
.entry-body table{
	border-collapse:collapse;
}
.entry-body table td{
	padding:5px;
	border:1px solid #999;
}

.entry-bottom{
	text-align:center;
	font-size:13px;
	line-height:160%;
}
.entry-bottom p.prev-post{float:left;}
.entry-bottom p.next-post{float:right;}

section h2.title-instagram{width:299px; height:40px;}
.image-instagram{width: 200px; float: right;}

/* performer
++++++++++++++++++++++++++++++*/
ul.performer-list li{
	border-bottom:1px dashed #999;
	margin-bottom:25px;
	padding-bottom:35px;
}
ul.performer-list li:last-child{border:none;}
ul.performer-list li .thumbnail{
	width:280px;
	float:left;
}
ul.performer-list li .thumbnail img{
	border:10px solid #FFF;
	box-shadow:3px 3px 5px #CCC;
	transform:rotate(-1deg);
}
ul.performer-list li:nth-child(even) .thumbnail img{
	transform:rotate(1deg);
}
ul.performer-list li .text-box{
	width:570px;
	float:right;
	padding-top:5px;
}
ul.performer-list li .text-box h2{
	font-size:24px;
	line-height:160%;
	font-weight:500;
	margin:0px;
}
ul.performer-list li .text-box p{margin-bottom:15px;}
ul.performer-list li .text-box p.genre{
	font-size:13px;
	line-height:160%;
	color:#666;
	margin-bottom:15px;
}
ul.performer-list li .text-box .schedule{
//	padding-top:15px;
//	border-top:1px solid #999;
}
ul.performer-list li .text-box .schedule h3{
	font-size:14px;
	line-height:160%;
	font-weight:500;
}
ul.performer-list li .text-box .schedule p{
	font-size:14px;
	line-height:160%;
	margin:0;
}

section.performer-box{
	width:900px;
	margin:0 auto;
	padding:50px 0;
	text-align:left;
}



/* place
++++++++++++++++++++++++++++++*/
.place-box{
	//padding:10px;
	width: 100%;
}
.place-box-map{
	width:100%;
	height:400px;
	border:1px solid #ccc;
}
.place-box h2{
	font-size:24px;
	line-height:160%;
	font-weight:500;
	margin-bottom: 20px;
	text-align:center;
}

.place-box .place-list table{
	width:90%;
	margin:50px 5% 50px 5%;
	font-size:24px;
}
.place-box .place-list table tr td{
	border-top:1px dotted #ccc;
}
.place-box .place-list table tr:last-child td{
	border-bottom:1px dotted #ccc;
}
.place-box .place-list table tr td:first-child{
	width:30%;
	padding:15px 20px 15px 5px;
	text-align:right;

}
.place-box .place-list table tr td:nth-child(2){
	width:70%;
	padding:15px 5px 15px 20px;
	font-size:17px;
}

.place-bottom{
	text-align:center;
	font-size:13px;
	line-height:160%;
	margin:30px 5% 30px 5%;
}
.place-bottom p.prev-spot{float:left;}
.place-bottom p.next-spot{float:right;}

/* footer
++++++++++++++++++++++++++++++*/
footer{
	border-top:20px solid var(--main-color);
	padding-bottom: 20px;
}
#footer-inner{
	display: flex;
	justify-content: space-between;
	width:900px;
	margin:0 auto;
	padding:30px 0;
	text-align:left;
}
ul.credit-list{
	width: 650px;
	font-size:13px;
	font-weight:400;
	line-height:160%;
}
ul.credit-list li{
	position:relative;
	margin:0 0 10px 0;
}
ul.credit-list li span.title{
	display: block;
}
#footer-inner #mm-logo{
	width: 160px;
}
p.credit{
	width:900px;
	margin:0 auto;
	font-size:12px;
	font-weight:400;
	line-height:180%;
	text-align: left;
}

/* access
++++++++++++++++++++++++++++++*/
.access-box{
}

.access-box h3{
  font-size:16px;
  line-height:36px;
  text-align:left;
  margin-bottom:15px;
	color:#91233D;
}
.access-box h3.car:before,
.access-box h3.train:before,
.access-box h3.air:before{
  content:"";
  width:36px; height:36px;
  display:inline-block;
  background-repeat:no-repeat;
  background-position:center center;
  background-color:#91233D;
  border-radius:3px;
  position:relative;
  top:12px;
  margin-right:8px;
}
.access-box h3.car:before{
  background-image:url(../../img/access/car.svg);
  background-size:24px auto;
}
.access-box h3.train:before{
  background-image:url(../../img/access/train.svg);
  background-size:auto 24px;
}
.access-box h3.air:before{
  background-image:url(../../img/access/plane.svg);
  background-size:24px auto;
}

.access-box hr{
  border:none;
  border-top:1px dotted var(--text-color);
  margin:60px auto;
}

table.route-table{
  width:100%;
  border-collapse:separate;
  border-spacing:5px;
  margin:0 auto 60px auto;
}
table.route-table caption{
  text-align:left;
  margin:0 0 0px 5px;
  font-weight:bold;
}

table.route-table caption span{
  font-size:13px;
  font-weight:normal;
}

table.route-table th{
  min-width:80px;
  font-size:15px;
  font-weight:normal;
  border:1px solid var(--text-color);
  border-radius:3px;
  padding:10px 10px;
  text-align:center;
  vertical-align:middle;
//  background:rgba(0,162,230,0.1);
  background:#FFF;
}
table.route-table td{
  padding:0 5px;
  font-size:12px;
  line-height:26px;
  vertical-align:top;
	text-align:center;
  background:url(../../img/access/arrow.png) no-repeat right center;
}

/* event
++++++++++++++++++++++++++++++*/
.event-box{
}

.event-box h2{
	font-size:24px;
	line-height:160%;
	font-weight:500;
	margin-bottom: 20px;
}

.event-box p{
	margin-bottom: 20px;
}

ul.workshop-list li{
	border: 3px dotted #E6708C;
	border-radius: 5px;
	padding: 20px 30px;
	margin-bottom: 30px;
}

ul.workshop-list li .workshop-title{
	font-size: 21px;
	margin-bottom: 10px;
}

ul.workshop-list li .workshop-date,
ul.theday-event-list .theday-event-date{
	font-size: 18px;
	margin-bottom: 15px;
}

ul.workshop-list li .workshop-image{
	width: 280px;
	float: right;
	margin-right: 20px;
	}

ul.workshop-list li .workshop-image img{
	border:10px solid #FFF;
	box-shadow:3px 3px 5px #CCC;
	transform:rotate(-1deg);
}

ul.workshop-list li:nth-child(even) .workshop-image img{
	transform:rotate(1deg);
}

ul.workshop-list li .workshop-info{
}

ul.workshop-list li .workshop-info p{
	margin-bottom: 10px;
}

ul.workshop-list li .workshop-info p span{
	display: inline-block;
	background: #E3E0E9;
	border-radius: 3px;
	font-size: 13px;
	text-align: center;
	width: 5em;
	margin-right: 20px;
}

ul.theday-event-list li{
	border: 3px dotted #2D9F63;
	border-radius: 5px;
	padding: 20px 30px;
	margin-bottom: 30px;
}

ul.theday-event-list li .theday-event-title{
	font-size: 21px;
	margin-bottom: 10px;
}

ul.theday-event-list li .theday-event-image{
	width: 200px;
	float: right;
	margin-right: 20px;
	}

.eve-festival-box{
	border: 3px dotted #212B7A;
	border-radius: 5px;
	padding: 20px 30px;
	margin-bottom: 30px;
}

.eve-festival-date{
	font-size: 18px;
	margin-bottom: 15px;
}

.eve-festival-box ul{
	margin: 20px 20px 10px 0;
	display: flex;
	justify-content:space-between;
}

.eve-festival-box ul li{
	width: 30%;
	}
.eve-festival-box ul li:not(2){margin:0 5%;}

.eve-festival-box ul li img{
	border:10px solid #FFF;
	box-shadow:3px 3px 5px #CCC;
	transform:rotate(-1deg);
}

.eve-festival-box ul li:nth-child(even) img{
	transform:rotate(1deg);
}


/* timetable
++++++++++++++++++++++++++++++*/
.timetable-box{
}

.timetable-box p{
	margin-bottom: 30px;
}

table.timetable-table{
	border-collapse:collapse;
	font-size: 0.9em;
}
table.timetable-table caption{
	text-align: left;
	font-size: 1.1em;
	font-weight: bold;
	margin: 20px 0 5px;
}
table.timetable-table tr:nth-child(even){
	background: #FCF4E3;
}

table.timetable-table th{
	border: 1px solid #83726F;
	text-align: center;
	padding: 10px 90px;
	}

table.timetable-table td{
	border: 1px solid #83726F;
	padding: 10px 5px;
	text-align: center;
	}

table.timetable-table th:first-child,
table.timetable-table td:first-child{
	white-space: nowrap;
	padding: 10px;
	text-align: left;
	border-right: 2px solid #83726F;
	}

table.timetable-table td span{
	display: inline-block;
	color: #FFF;
	background: #E6708C;
	width: 24px;
	height: 24px;
	line-height: 24px;
	border-radius: 12px;
	text-align: center;
	margin-right: 5px;
	}
 p.timetable-pdf{margin-top: 20px;}

/* map
++++++++++++++++++++++++++++++*/
#map-area{
	position: relative;
	width: 900px;
	height: 668px;
	background: url(../../img/map/2025/pc_map.svg) no-repeat 0 0;
	background-position: center;
	background-size:cover;
	margin: 30px 0 20px;
	border-radius: 20px;
}

#map-area ul{
	}

#map-area ul li{
	position: absolute;
	overflow:hidden;
	}

#map-area ul li:nth-child(1){
	bottom:65px; left:10px;
	width: 138px; height: 34px;
}
#map-area ul li:nth-child(2){
	bottom:100px; left:110px;
	width: 112px; height: 42px;
}
#map-area ul li:nth-child(3){
	bottom:78px; left:350px;
	width: 129px; height: 34px;
}
#map-area ul li:nth-child(4){
	bottom:120px; right: 234px;
	width: 280px; height: 45px;
}
#map-area ul li:nth-child(5){
	bottom:175px; right: 140px;
	width: 242px; height: 44px;
}
#map-area ul li:nth-child(6){
	bottom: 265px; right: 300px;
	width: 118px; height: 34px;
}
#map-area ul li:nth-child(7){
	bottom:307px; right: 220px;
	width: 250px; height: 34px;
}
#map-area ul li:nth-child(8){
	top:56px; right:385px;
	width: 118px; height: 46px;
}

ul.map-icon-list{
	font-size: 0;
	line-height: 0;
 }

ul.map-icon-list li{
	position: relative;
	display: inline-block;
	font-size: 15px;
	line-height: 200%;
	margin-right: 20px;
	padding-left: 28px;
	}

ul.map-icon-list li:nth-child(9){padding-left:106px;}

ul.map-icon-list li:before{
	position: absolute;
	top: 0; left: 0;
	}
ul.map-icon-list li:nth-child(1):before{content: url(../../img/map/icon01.png);}
ul.map-icon-list li:nth-child(2):before{content: url(../../img/map/icon08.png);}
ul.map-icon-list li:nth-child(3):before{content: url(../../img/map/icon11.png);}
ul.map-icon-list li:nth-child(4):before{content: url(../../img/map/icon02.png);}
ul.map-icon-list li:nth-child(5):before{content: url(../../img/map/icon03.png);}
ul.map-icon-list li:nth-child(6):before{content: url(../../img/map/icon04.png);}
ul.map-icon-list li:nth-child(7):before{content: url(../../img/map/icon05.png);}
ul.map-icon-list li:nth-child(8):before{content: url(../../img/map/icon06.png);}
ul.map-icon-list li:nth-child(9):before{content: url(../../img/map/icon07.png);}


/* entry maste de
++++++++++++++++++++++++++++++*/
ul.mastede-list{
}

ul.mastede-list li{
	list-style: none;
	margin: 0 0 40px;
}

ul.mastede-list li .mastede-list-title{
	margin-bottom: 10px;
	}

ul.mastede-list li .mastede-list-title strong{
	display: block;
	font-size: 18px;
	color: #E6708C;
	margin-bottom: 10px;
	}

ul.mastede-list li .mastede-list-title strong:before{
	content: "◎";
	margin-right: 5px;
	}

ul.mastede-list li p{
	position: relative;
	margin: 0 0 10px;
	padding-left: 100px;
}

ul.mastede-list li p span{
	position: absolute;
	top: 0; left: 0;
	width: 80px;
	display: inline-block;
	background: #E3E0E8;
	text-align: center;
	}

/* 2023
++++++++++++++++++++++++++++++*/
.eve-info{
	width: 680px;
	border: 3px dotted #F5821F;
	margin: 20px auto;
	padding: 20px 30px;
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	background-color: #FFE99F;
}
.eve-info .eve-date{
	width: 250px;
	margin-right: 20px;
}
.eve-info .eve-place{
	flex: 1;
	font-family: 'RocknRoll One', sans-serif;
	font-size: 1.05em;
	text-align: left;
}

/* history
++++++++++++++++++++++++++++++*/
.movie-box{
  width: 900px; height: 400px;
  margin: 20px 0 0;
}
ul.history-list{
  margin-top: 20px;
}
ul.history-list li a{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
ul.history-list li a p{
  color: #111;
}
ul.history-list li a:hover{
  text-decoration: none;
}
ul.history-list li a:hover h4{
  text-decoration: underline;
}
ul.history-list li a figure{
  width: 180px;
  margin-right: 20px;
}
ul.history-list li a .text-box{
  flex: 1;
}
.history-title-box,
.history-content-box{
  margin-bottom:30px;
}
.history-gallery-box ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
.history-gallery-box ul li{
  width:440px;
  margin-bottom:20px;
}
.history-gallery-box ul li:nth-child(odd){
  margin-right:20px;
}
