@charset "utf-8";
/* CSS Document */

/*---------------------------------
RESET CSS
---------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
}

ol, ul {list-style: none;}
table {border-collapse: collapse;border-spacing: 0;}
a{text-decoration:none;color: #ff0080;transition:0.5s;overflow-wrap: anywhere;}
a:hover{opacity: 0.7;transition:0.2s;}

img,iframe {
max-width: 100%;
vertical-align: bottom;
}
html { 
scroll-behavior: smooth;
font-family: 'Zen Maru Gothic', sans-serif;line-height: 1.5;font-size: 18px;color: #000;
}
/*---------------------------------
common　【PC】
---------------------------------*/
/*font-weight*/
.bold{font-weight: bold;}

/*text-align*/
.ta_c{text-align:center;}
.ta_r{text-align:right;}
.ta_l{text-align:left;}
.pc_only_ta_c {text-align: center;}

/*color*/
.lightblue{color:#73d1d3!important;}
.moss_green{color:#459a9c!important;}
.pink{color:#e382a6!important;}
.light_pink{color:#ee8b94!important;}
.blue{color:#367bf5!important;}
.yellow {color: #fff9b0!important;}
.gray{color:#858585!important;}
.white{color:#fff!important;}

/*backgound-color*/
.bg_purple {background: #a889bd;}
.bg_red {background: #ec7788;}
.bg_orange {background: #f6ae5f;}
.bg_blue {background-color: #59c1c3;}
.bg_w{background-color: #fff;}
.bg_darkblue {background: #009e9d;}
.bg_yellow {background-color: #f7dd75;}
.bg_l_pink {background-color: #f1959b;}
.bg_l_yellow {background-color: #fff9b0;}


/*link_none*/
.no_link {
pointer-events: none;
}
.no_link:hover {
opacity: 1;
}


/*---------------------------------
PC PAGE
---------------------------------*/
/*font-size*/
.f14 {font-size:14px;}
.f16 {font-size: 16px;}
.f18 {font-size: 18px;}
.f20 {font-size: 20px;}
.f23 {font-size: 23px;}
.f25 {font-size: 25px;}
.f30 {font-size: 30px;}
.f40 {font-size:40px;}
.f42 {font-size:42px;}
.f50 {font-size: 50px;}
.f60 {font-size: 60px;}

/*padding*/
.pb10{padding-bottom:10px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}
.pb40{padding-bottom:40px;}
.pb50{padding-bottom:50px;}
.pb60{padding-bottom:60px;}
.pb70{padding-bottom:70px;}
.pb80{padding-bottom:80px;}
.pb90{padding-bottom:90px;}
.pb100{padding-bottom:100px;}

/*image*/
.sp_only_img{display:none;}
.pc_only_img{display:block;}


.grayout{filter: grayscale(100%) invert(40%);}

/*br*/
.sp_only_br{display: none;}
.pc_only_br{display:inline;}


body{
	background: url("../images/jaggy01.png")no-repeat center 72vw/100%,url("../images/main.jpg")no-repeat center top/100%,url(../images/bg.png);
}


.main_image_top {
	padding-top:89vw;
	position: relative;
	box-sizing: border-box;
}

.main_logo {
	position: absolute;
	left: 0;
	right: 0;
	top: 26vw;
	margin: auto;
	width: 50vw;
}

.main_logo img {
	margin: auto;
	width: 100%;
}

.main_catch_txt {
	position: absolute;
	right: 10vw;
	top: 55vw;
	margin: auto;
	width: 69vw;
}
.main_catch_txt img {
	margin: auto;
	width: 100%;
}

/*navigation*/

.nav_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width:90vw;
	max-width: 1200px;
	margin: 0 auto;
}

.nav_list li {
	width: 100%;
	max-width: 29%;
	margin: 0 2%;
	padding:0;
}

.nav_list a {
	display: block;
	white-space:nowrap;
	text-align: center;
	background: #ff0080;
	position: relative;
	padding: 6px;
 	border: 2px dashed #fff; 
	border-radius: 100px;
	color: #fff;
}

.nav_list a::before {
	content: "";
	position: absolute;
	top: -12px;
	bottom: -12px;
	left: -12px;
	right: -12px;
	z-index: -1;
	background: #ff0080;
	border-radius:100px;
}

.nav_list a:hover{
	opacity:inherit;
	background: #fff;
	color: #ff0080;
}

.nav_list a:hover::before {
	background: #ff0080;
}


/*EMBED*/
.youtube_wrapper{
	margin:0px auto 50px;
	width: 82vw;
	border-bottom: dotted 16px #cdc6cc;
}
.youtube {
	margin:40px auto;
	width: 80vw;
}
.youtube iframe {
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  border-radius:8px;
  border:solid 1px #cdd6dd
}


/*contents*/
.cnt_wrapper{
	background: #fff;
	width: 1100px;
	margin: 30px auto 60px;
	padding:60px 60px;
	border-radius: 60px;
	box-sizing: border-box;
}

#info{
	background: #f5f556;
}

#ticket{
	background: #95f5f5;
}

#faq{
	background: #c6f0c6;
}

#goods{
	background: #ffcfff;
}

#sponsor{
	background: #ffc5a3;
}

/*ttl*/
.ttl_big{
	font-size: 40px;
	width: fit-content;
	margin: auto auto 50px;
	padding: 0 40px;
	background: url("../images/circle.svg")no-repeat right calc(100% - 40%),url("../images/circle.svg")no-repeat left calc(100% - 40%);
	line-height: 1;
}
.ttl_s{
	font-size: 26px;
	width: fit-content;
	margin: auto auto 20px;
	padding: 0 1.5em;
	color: #fff;
	background: #ff0080;
	border-radius: 100px;
}

/*スケジュール*/
.accordion:not([open]) {
    margin-bottom: 12px;
}
.accordion summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0.4em 1em;
    border-radius: 20px;
    font-weight: 600;
    cursor: pointer;
    background-color: #fff;
}

.accordion summary::-webkit-details-marker {
    display: none;
}
.accordion summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 12px;
    height: 12px;
    margin-left: 10px;
    border-bottom: 4px solid #ff0080;
    border-right: 4px solid #ff0080;
    content: '';
    transition: transform .3s;
}
.accordion[open] summary::after {
    transform: rotate(225deg);
}
.accordion p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 2em 2em 2em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}
.accordion[open] p {
    transform: none;
    opacity: 1;
}

#info .accordion summary{
	border:3px solid #060607;
	box-shadow: 2px 2px #060607;
    padding: 0.4em 0.8em 0.4em 0.8em;
}

#info .accordion.up summary span::after{
	display: inline-block;
	content: "UPDATE!";
	color: #ff0080;
	font-weight: bold;
	letter-spacing: -0.05em;
	line-height: 1;
	vertical-align: top;
	margin: 0;
	transform: scale(0.8) translateY(50%);
	animation: newAnime .7s infinite alternate;
}

#info .accordion.end summary span::after{
	display: inline-block;
	content: "公演終了";
	color: #ff0080;
	font-weight: bold;
	letter-spacing: -0.05em;
	line-height: 1;
	vertical-align: top;
	margin: 0;
	transform: scale(0.8) translateY(50%);
}
@keyframes newAnime {
	40% {color: #ff0080;}
	100% {color: #ffffff;}
}

.accordion p span{
	display: block;
	color: #d26ec8;
	border-bottom: dotted 3px;
	margin-bottom: 6px;
}

#info .accordion summary strong{
	display: inline-block;
	background: #d26ec8;
	color: #fff;
	width:3em;
	margin-right: 0.5em;
	padding:0.3em 0.6em;
	border-radius: 8px;
	line-height: 1;
	font-size: 90%;
	text-align: center;
}

/*tiket*/
ul.note li{
	padding:0 0 0.5em 1em;
	text-indent: -1em;
}
ul.note li::before{
	content:'・';
	color: #ff0080;
}

.footer_wrapper{
	background: url("../images/jaggy02.png") no-repeat center bottom/100%;
	padding:0 0 20vw;
}

.floating_btn {
	position: fixed;
	bottom: 3rem;
	right: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	width: 20vw;
	cursor: pointer;
}

.ticket_btn{
	width: 19vw;
	margin-bottom: 10px;
}

.pagetop{
	width: 14vw;
	opacity: 0;
}

.big_banner li {
	max-width: 45%;
	border: 5px solid #000;
	border-radius: 20px;
	overflow: hidden;
	box-sizing: border-box;
	margin: 0 2% 5vw;
}

.big_banner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 5vw 0 0 0;
}

.spnsr_banner li {
	max-width: 45%;
	border-radius: 20px;
	overflow: hidden;
	box-sizing: border-box;
	margin: 0 2% 3vw;
}

.spnsr_banner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 0 0;
}

.footer_sns_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.footer_sns_list li {
	margin: 0 10px;
}


.main_footer {
	background:#2e26bf;
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: normal;
	padding: 30px 20px 30px;
	box-sizing: border-box;
	position: relative;}


@media screen and (max-width: 1200px){
/*---------------------------------
【PC 1200】
---------------------------------*/
	body{
		background: url("../images/jaggy01.png")no-repeat center 85vw,url("../images/main.jpg")no-repeat center top,url(../images/bg.png);
		background-size: 120%,120%,100%;
	}
	.main_image_top {
		padding-top:106vw;
	}
	.main_logo {
		top: 31vw;
		width: 60vw;
	}
	.main_catch_txt {
		position: absolute;
		right: 2vw;
		top: 66vw;
		margin: auto;
		width: 80vw;
	}
	
	.cnt_wrapper{
		width: 90vw;
	}
	
}


@media screen and (max-width: 920px){
/*---------------------------------
　【TABLET】
---------------------------------*/
/*font-size*/
.f14 {font-size:14px;}
.f16 {font-size: 16px;}
.f18 {font-size: 16px;}
.f20 {font-size: 18px;}
.f23 {font-size: 20px;}
.f25 {font-size: 20px;}
.f30 {font-size: 25px;line-height: 1.5;}
.f40 {font-size:30px;}
.f42 {font-size:32px;}
.f50 {font-size: 40px;}
.f45 {font-size: 45px;}

/*padding*/
.pb10{padding-bottom:10px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:20px;}
.pb40{padding-bottom:30px;}
.pb50{padding-bottom:40px;}
.pb60{padding-bottom:50px;}
.pb70{padding-bottom:60px;}
.pb80{padding-bottom:70px;}
.pb90{padding-bottom:80px;}
.pb100{padding-bottom:90px;}

/*image*/
.sp_only_img{display:none;}
.pc_only_img{display:block;}


.nav_list a {
	padding: 4px;
}

.nav_list a::before {
	top: -10px;
	bottom: -10px;
	left: -10px;
	right: -10px;
}

.cnt_wrapper{
	width: 90vw;
	margin: 30px auto;
	padding:30px 5vw;
	border-radius: 30px;
}

/*ttl*/
.ttl_big{
	font-size: 34px;
	margin-bottom: 30px;
}
.ttl_s{
	font-size: 24px;
	margin-bottom: 14px;
}

.accordion summary {
    border-radius: 16px;
}

.accordion summary::after {
    width: 11px;
    height: 11px;
    margin-left: 10px;
    border-bottom: 4px solid #ff0080;
    border-right: 4px solid #ff0080;
}

#info .accordion.up summary::before,
#info .accordion.end summary::before{
	font-size: 10pt;
	margin: 0;
	left: 1.7%;

}

.ticket_btn{
  width: 22vw;
}

.pagetop{
  width: 16vw;
}

}

@media screen and (max-width: 768px){
/*---------------------------------
　【SP 768】
---------------------------------*/
/*font-size*/
.f14 {font-size:14px;}
.f16 {font-size: 14px;}
.f18 {font-size: 14px;}
.f20 {font-size: 16px;}
.f23 {font-size: 18px;}
.f25 {font-size: 20px;}
.f30 {font-size: 22px;line-height: 1.5;}
.f40 {font-size:25px;}
.f42 {font-size:25px;}
.f50 {font-size: 30px;}
.f60 {font-size: 36px;}

/*padding*/
.pb10{padding-bottom:5px;}
.pb20{padding-bottom:10px;}
.pb30{padding-bottom:15px;}
.pb40{padding-bottom:20px;}
.pb50{padding-bottom:20px;}
.pb60{padding-bottom:30px;}
.pb70{padding-bottom:35px;}
.pb80{padding-bottom:40px;}
.pb90{padding-bottom:45px;}
.pb100{padding-bottom:50px;}

/*image*/
.sp_only_img{display:block;}
.pc_only_img{display:none;}

/*br*/
.sp_only_br{display: inline;}
.pc_only_br{display:none;}

/*ttl*/
.ttl_big{
	font-size: 28px;
	margin-bottom: 30px;
}
.ttl_s{
	font-size: 22px;
	margin-bottom:12px;
}

.big_banner li {
border: 4px solid #000;
border-radius: 16px;
}

.spnsr_banner li {
max-width: 60%;
border-radius: 16px;
}

}

@media screen and (max-width:520px){
/*---------------------------------
【SP 520】
---------------------------------*/
/*font-size*/
.f14 {font-size:14px;}
.f16 {font-size: 14px;}
.f18 {font-size: 14px;}
.f20 {font-size: 14px;}
.f23 {font-size: 16px;}
.f25 {font-size: 16px;}
.f30 {font-size: 16px;line-height: 1.5;}
.f40 {font-size:19px;}
.f42 {font-size:20px;}
.f50 {font-size: 20px;}
.f60 {font-size: 25px;}

/*padding*/
.pb10{padding-bottom:5px;}
.pb20{padding-bottom:10px;}
.pb30{padding-bottom:15px;}
.pb40{padding-bottom:15px;}
.pb50{padding-bottom:20px;}
.pb60{padding-bottom:20px;}
.pb70{padding-bottom:30px;}
.pb80{padding-bottom:30px;}
.pb90{padding-bottom:35px;}
.pb100{padding-bottom: 70px;}

.nav_list a {
	padding: 4px;
}

.nav_list a::before {
	top: -8px;
	bottom: -8px;
	left: -8px;
	right: -8px;
}

/*ttl*/
.ttl_big{
	font-size: 24px;
	margin-bottom: 26px;
}
.ttl_s{
	font-size: 16px;
	margin-bottom: 10px;
}


.accordion summary {
    border-radius: 12px;
}
.accordion summary::after {
    width: 8px;
    height: 8px;
    margin-left: 10px;
    border-bottom: 3px solid #ff0080;
    border-right: 3px solid #ff0080;
}

#info .accordion summary strong{
	display: block;
}

.ticket_btn{
  width: 24vw;
}

.pagetop{
  width: 18vw;
}


.big_banner li {
border: 3px solid #000;
border-radius: 14px;
}

.spnsr_banner li {
max-width: 60%;
border-radius: 14px;
}

.footer_sns_list img {
max-width: 50px;
}

.footer_sns_list li {
margin: 0 5px;
}

}


/*モーダル*/
.modal_wrap input {
  display: none;
}
.modal_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}
.modal_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}
.modal_content {
    align-self: center;
    max-width: 90%;
    padding: 40px 20px 20px;
    box-sizing: border-box;
    background: #a889bd;
    transition: 0.5s;
}
.close_button {
  position: absolute;
  top: 0px;
  right: 10px;
  font-size: 30px;
  font-weight: 900;
  cursor: pointer;
}

.modal_wrap input:checked ~ .modal_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}
.modal_wrap input:checked ~ .modal_overlay .modal_content {
  transform: translateY(20px);
}

.modal_content img{
	width: 100%;
	max-width: 760px;
}