:root{
--blue: rgb(36,120,190);
--red: rgb(201,21,30);
--yellow: rgb(255,241,0);
--pink: rgb(238,134,180);
--purple: rgb(78,58,147);
--orange: rgb(246,171,0);
--darkbrown: rgb(57,7,8);
--gray: rgb(102,102,102);
--darkgray: rgb(66,66,66);
}
*{
box-sizing: border-box;
scroll-behavior: smooth;
}
.Kinkakuji-Normal_n{
font-family: "kinkakuji", sans-serif;
font-weight: 700;
font-style: normal;
}
.KaiseiTokumin_R{
font-family: "kaisei-tokumin", sans-serif;
font-weight: 400;
font-style: normal;
}
.KaiseiTokumin_B{
font-family: "kaisei-tokumin", sans-serif;
font-weight: 700;
font-style: normal;
}
.SicGothicDuex-Nexus{
font-family: sicgothicduex-nexus, sans-serif;
}
body {
color: var(--darkbrown);
font-family: "tbudgothic-std", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
line-height: 1.5;
}
#page_all{
background: var(--orange) url(../img/bg.svg) fixed no-repeat top center / min(1400px, 80%);
}
a{text-decoration: none;
transition: 0.2s;
}
a:hover{
opacity: 0.75;
}
.panlist {
background: var(--orange);
color: var(--darkbrown);
font-size: 70%;
text-align: left;
padding-left: 1em;
}
.panlist a{
color: var(--darkbrown);
}
nav{
margin: 0 auto;
padding: 5% 0 7%;
width: 100%;
}
nav ul{
display: flex;
flex-wrap: wrap;
margin: 0 auto;
justify-content: space-between;
}
nav ul li {
width: 25%;
}
nav ul li a {
background: white;
border: solid 3px var(--darkbrown);
font-family: "kinkakuji", sans-serif;
font-family: sicgothicduex-nexus, sans-serif;
font-weight: 700;
font-size: min(1.5em, 4.0vw);
color: var(--darkbrown);
display: block;
margin: 0 auto;
padding: 3.5% 0;
text-align: center;
text-decoration: none;
width: 92%;
}
nav ul li a:hover {
opacity: 0.7;
}
.btn{
transition: .3s;
}
.btn:hover{
transform: translateY(12px);
}

/* inview --------------------------------
--- */
.inview {
opacity: 0;
}
.inview_up {
animation: up 1s forwards;
}
@keyframes up {
	0% {
	opacity: 0;
	transform: translateY(40px);
	}
	100% {
	opacity: 1;
	transform: translateY(0px);
	}
}

#pagetop a {
color: white;
background: #333;
border-radius: 100%;
display: block;
font-size: 14px;
line-height: 60px;
position: fixed;
transition: 0.2s;
right: 20px;
bottom: 20px;
text-decoration: none;
text-align: center;
width: 60px;
z-index: 99;
}
#pagetop a:hover {
box-shadow: 0px 0px 12px 4px white;
opacity: 0.75;
}
.lion_30th {
display: block;
position: sticky;
top: 40px;
left: 40px;
width: 160px;
z-index: 99;
}

#title {
margin: -5% auto 0;
text-align: center;
width: 100%;
/*max-width: 1040px;*/
}
#title h1 {
margin: 0 auto;
/*width: 80%;*/
z-index: 5;
}
#title h1 img {
/*max-width: 940px;*/
width: 100%;
}
#title .event_date {
background: var(--orange);
border: var(--darkbrown) 3px solid;
color: var(--darkbrown);
display: block;
font-family: "kinkakuji", sans-serif;
font-family: sicgothicduex-nexus, sans-serif;
font-weight: 700;
font-size: min(1.8em, 4.5vw);
line-height: 1.2;
margin: -14% auto 6%;
padding: 2% 0;
text-align: center;
width: 50%;
position: relative;
z-index: 10;
}
#title .event_date span{
font-size: 75%;
}
.bnrBg{
box-sizing: border-box;
background: linear-gradient(to right, #de4141, #e8ac51, #f2e55c, #39a869, #4784bf, #5d5099, #a55b9a);
font-size: min(1.3em, 3.5vw);
margin: 0 auto 2%;
padding: 1%;
position: relative;
width: 75%;
min-width: 580px;
z-index: 10;
}
.bnrBg a{
background: white;
border-radius: 10px;
color: var(--red);
display: block;
font-weight: bold;
line-height: 1.3;
padding: 1.5% 0;
text-decoration: none;
}
.bnrBg a:hover{
opacity: 0.5;
}
#main{
margin: 0 auto;
max-width: 1360px;
width: 100%;
}
article {
margin: 0 auto;
width: 90%;
max-width: 1000px;
}
article section {
border: 3px solid var(--darkbrown);
font-size: min(1.2em, 3.0vw);
margin: 0 0 10%;
padding: 5%;
}
h3 {
background: white;
border: solid 5px var(--orange);
color: var(--darkbrown) !important;
display: block;
font-family: "kinkakuji", sans-serif;
font-family: sicgothicduex-nexus, sans-serif;
font-size: min(2.5em, 5vw);
line-height: 1.1;
margin: -10% auto 3%;
padding: 1.8% 0;
text-align: center;
width: 75%;
}
h3 span {
display: block;
font-size: 40%;
}

/* #info ------------------------------ */
#info{
background: var(--blue);
color: white;
text-align: center;
margin: 15% 0 10% 0;
position: relative;
}
#info div{
line-height: 1.5;
word-break: auto-phrase;
}
#info .close {
background: #1d4584;
border-radius: 10px;
color: #ddd;
display: block;
margin: 4% auto 0;
padding: 2% 0;
width: 75%;
}
#info .btnSetlist {
background: #1d4584;
border-radius: 10px;
color: white;
display: block;
margin: 4% auto 0;
padding: 2% 0;
width: 75%;
}
/*
#info .acd-check{/ * チェックボックス非表示 * /
display: none;
}
#info .acd-label{/ * ボタン * /
background: white;
border-radius: 10px;
color: #1d4584;
display: block;
margin: 4% auto 0;
padding: 2% 0;
width: 75%;
}
#info .acd-content{ / * acd-check押す前の本文  * /
height: 0;
visibility: hidden;
overflow: hidden;
padding: 2% 5% 0;
}
#info .acd-check:checked + .acd-label + .acd-content{ / * acd-check押し中の本文、:checkedボタンが押されたらこっちに変わる * /
height: auto;
transition: all .3s;
visibility: visible;
}
*/
/*
#info .acd-content ol {
margin: 2% auto 0;
text-align: left;
width: 80%;
}
#info .acd-content ol li{
list-style-type: none;
counter-increment: cnt!important;
}
#info .acd-content ol li::before {
content: "【"counter(cnt)"】";
}
*/
#info #slOut{
display: flex;
margin: 2% 0 0 0;
}
#info #slOut ul{
margin: 0 1%;
width: 48%;
}
#info #slOut ul li{
text-align: center;
}
#info .box{
top: -10%;
left: 3%;
z-index: 50;
}
#info .box,
#info .box:before,
#info .box:after,
#info .box-body,
#info .box-body:before {
background-color: #ffdc00;
position: absolute;
height: 200px;
width: 200px;
}
#info .box:before {
transform: rotate(22deg);
content: '';
top: 0;
left: 0;
}
#info .box:after {
transform: rotate(-22deg);
content: '';
top: 0;
left: 0;
}
#info .box-body {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
z-index: 1;
}
#info .box-body:before {
transform: rotate(45deg);
content: '';
z-index: -1;
}
#info .box-body p {
color: #d00;
font-size: min(2.0em, 4.0vw);
font-weight: bold;
padding: 0.2rem;
transform: rotate(-18deg);
}
#info .text{
font-size: min(1.2em, 3.5vw);
font-weight: bold;
line-height: 1.4;
margin: 5% auto;
}
#info .text span{
font-size: min(1.3em, 4.5vw);
}
#info .textEnd{
font-size: 0.9rem;
text-align: right;
width: 100%;
}
/*#info .pop {
position: absolute;
left: 6%;
top: -17%;
}
#info .pop .balloon3-right-btm {
background: #ffdc00;
border-radius: 50%;
box-sizing: border-box;
color: #000;
display: inline-block;
font-size: 20px;
font-weight: bold;
line-height: 140px;
margin: 0;
padding: 0 5px;
position: relative;
text-align: center;
height: 140px;
width: 140px;
}
#info .balloon3-right-btm:before {
bottom: -8px;
right: -8px;
border: 15px solid transparent;
border-left: 25px solid #ffdc00;
content: "";
margin-top: -15px;
position: absolute;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
z-index: 0;
}*/

/* #sche ------------------------------ */
#sche{
background: var(--red);
color: white;
}
#sche dl {
align-items: flex-start;
font-size: min(1.2em, 4.0vw);
display: flex;
flex-wrap: wrap;
}
#sche dl .red {
color: var(--red);
font-size: 75%;
}
#sche dl dt {
background: white;
color: var(--darkbrown);
padding: 1%;
text-align: center;
width: 30%;
}
#sche dl dd {
margin: 0 0 5%;
min-height: 50px;
padding: 0 0 0 1em;
text-align: left;
width: 70%;
}
#sche dl dd a{
color: white;
text-decoration: underline;
}

/* #cast ------------------------------ */
#cast{
background: var(--yellow);
font-family: "kinkakuji", sans-serif;
font-family: sicgothicduex-nexus, sans-serif;
}
#cast h4 {
font-size: min(2.0em, 5.0vw);
text-align: center;
width: 100%;
}
#cast ul{
display: flex;
flex-wrap: wrap;
margin: 0 auto 2%;
width: 100%;
}
#cast ul#mc {
margin: 0 auto 4%;
width: 65%;
}
#cast ul#mc li {
margin: 0 2.5%;
width: 45%;
}
#cast ul#mc .nFurutachiImg{
margin: 1% auto -1%;
width: 40%;
}
#cast ul#mc .nFurutachiImg img{
max-height: 21px;
max-width: 100%;
}
#cast ul li{
margin: 0 1.6% 2%;
text-align: center;
width: 30%;
}
#cast ul li div{
line-height: 1.3;
}
#cast ul li div span{
display: list-item;
font-size: 65%;
}
#cast ul li img{
width: 100%;
}
#cast ul li small a{
background: white;
color: var(--darkbrown);
display: inline-block;
font-size: 80%;
margin: 2% 0 0 0;
padding: 0 5px;
text-decoration: none;
}
#cast ul#musician li:nth-child(1){
margin: 0 35% 2%;
width: 35%;
}

/* #ticket ------------------------------ */
#ticket{
background: var(--red);
}
#ticket ul {
color: white;
font-family: sicgothicduex-nexus, sans-serif;
}
#ticket li {
background: white;
color: var(--darkbrown);
display: flex;
flex-wrap: wrap;
margin: 0 0 4%;
padding: 2% 3% 3%;
}
#ticket ul li .tickets_box {
width: 70%;
}
#ticket ul li .tickets_box h4{
border-bottom: var(--darkbrown) 1px solid;
font-size: min(1.5em, 4.0vw);
margin: 0 0 3%;
width: 92%;
}
#ticket ul li .tickets_btn {
width: 30%;
}
#ticket ul li .tickets_btn a {
background: var(--red);
border-radius: 12px;
color: white;
display: block;
margin: 15% 0 0;
text-align: center;
text-decoration: none;
padding: 8%;
}
#ticket ul li .vCn{
width: 100%!important;
}
#ticket ul li .tickets_btn p {
background: var(--gray);
border-radius: 12px;
color: white;
display: block;
margin: 15% 0 0;
text-align: center;
text-decoration: none;
padding: 8%;
}
#ticket a[href^="tel:"] {
color: var(--darkbrown);
text-decoration: underline;
}
#ticket .strike{
text-decoration: line-through;
}
#ticket .form {
color: white;
}
#ticket .form a{
color: white;
text-decoration: underline!important;
}

/* #sns_button ------------------------------ */
#sns_button {
min-height: 42px;
text-align: center;
}
#sns_button_pc{
margin: 15px auto;
min-height: 50px;
}
#sns_button_pc .btn_sns img{
margin: 0 5px;
height: 50px;
width: 50px;
}

/* PC  -------------------------------------------------- */
@media screen and (min-width:900px) {
	.onlySp{
	display: none;
	}
	#ticket a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
	text-decoration: none;
	}
}
/*TAB -------------------------------------------------- */
@media screen and (max-width:900px) { /*and (min-width:600px) */
	#page_all {
	background: var(--orange) url(../img/bg.svg) fixed no-repeat top center / 100%;
	}
	.onlyPc{
	display: none;
	}
	#title h1 {
	width: 95%
	}
	#title .event_date {
	width: 80%;
	max-width: 540px;
	}
	.bnrBg {
	margin: -2% auto 8%;
	width: 80%;
	max-width: 540px;
	min-width: auto;
	}
	nav ul li a{
	font-size: min(1.5em, 2.2vw);
	}
	#info {
	margin: 10% 0;
	}
	/*	#info .balloon3-right-btm {
	font-size: 20px;
	font-weight: bold;
	line-height: 140px;
	margin: 0px;
	padding: 0 5px;
	position: relative;
	text-align: center;
	height: 140px;
	width: 140px;
	position: absolute;
	top: -18%;
	left: 0;
	}*/
	#info .box, #info .box:before, #info .box:after, #info .box-body, #info .box-body:before {
    height: 18vw;
    width: 18vw;
	}
	#cast ul#mc .nFurutachiImg{
	width: 52%;
	}
	#sche dl dt {
	width: 20%;
	}
	#sche dl dd {
	width: 80%;
	}
	#ticket li{
	display: block;
	}
	#ticket ul li .tickets_box,
	#ticket ul li .tickets_btn {
	width: 100%;
	}
	#ticket ul li .tickets_btn a,
	#ticket ul li .tickets_btn p {
	margin: 3% auto 0;
	padding: 3%;
	width: 80%;
	max-width: 480px;
	}
	#footer {
    padding: 0 0 30% !important;
	text-align: center;
	}
}

/* SP  -------------------------------------------------- */
@media screen and (max-width:600px) {
	.lion_30th {
	top: 1%;
	left: 2%;
	width: 25%;
	}
	nav {
	background: var(--orange);
	position: fixed;
	left: 0;
	bottom: 0;
	padding: 2% 0 0;
	z-index: 99;
	}
	nav ul li {
	margin: 0 auto 2%;
	width: 50%;
	}
	nav ul li a{
	font-size: min(1.5em, 4.0vw);
	}
	#info {
	margin: 15% 0 10%;
	}
	#info .pop {
	position: absolute;
	left: 0%;
	top: -15vw;
	z-index: 100;
	}
	#info .pop .balloon3-right-btm {
	font-size: 3.0vw;
	line-height: 20vw;
	height: 20vw;
	width: 20vw;
	}
	#cast ul#mc .nFurutachiImg{
	width: 68%;
	}
	#title{
	max-width: none;
	}
	#sche dl{
	margin: 5% 0 -5%;
	}
	#pagetop a {
	bottom: 30vw;
	}
}