@charset "utf-8";
/*-------------------------*/
/*Reset*/
html{margin:0; padding:0; border:0; overflow-y:scroll;scroll-behavior: smooth;}
*{border:0; box-sizing: border-box; margin:0; padding:0;}
body{
background: #000 url(../img/bg_hanabi.webp) no-repeat fixed top right;
font-family: "source-han-serif-jp-subset", sans-serif;
line-height:1;
-webkit-text-size-adjust:100%;
width:100%;
}
h1,h2,h3,h4,h5,h6,p,span,table,a,img,dl,dt,dd,ul,li,ol,iframe,nav,small{
margin:0;	padding:0; font-size:100%;font-weight:normal; background:transparent;
vertical-align:baseline; border:none;}
img{vertical-align:top;}
ol, ul{list-style:none; list-style-type:none;}
a:link{color:#fff; text-decoration:none;}
a:visited{color:#fff; text-decoration:none;}
a:hover{color:#f00; text-decoration:none;}
.onlyPc{}
.onlySp{display: none;}

.SourceHanSerifJP_Regular{
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 400;
font-style: normal;
}
.SourceHanSerifJP_Bold{
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 700;
font-style: normal;
}
/*-------------------------*/

#wrapper {
color: white;
margin: 0 auto;
max-width: 1800px;
}

/*-------------------------*/
#sns_button_pc{margin: 15px auto;min-height: 50px; width: 120px;}
#sns_button_pc .btn_sns img{height: 50px;width: 50px;margin: 0 5px;}

/*-- header -----------------------*/
#header{min-height: 94px;}

/*-- Pan_box ----------------------*/
#pan_box{
/*background:#000;*/
color:#fff;
font-size: 0.8em;
min-height: 24px;
padding: 8px 0 8px 10px;
width: 100%;
}
#pan_box .in{
color: #fff;
margin:0 auto;
width:1260px;
}
#pan_box a{
color:#fff;
text-decoration:none;
}
#pan_box a:hover{color:#fff;}


/* #title ----------------------------------------  */
#title{
margin: 0 auto 3%;
position: relative;
}
#title h1 {
margin: 2% auto;
padding: 0;
max-width: 1100px;
width: 80%;
}
#title h1 img{
height: auto;
width: 100%;
}
#title .ticketSale {
position: absolute;
top: min(20%, 20vw);
right: 0;
width: 25%;
max-width: 450px;
}
#title .ticketSale img{
height: auto;
width: 100%;
}
#title .ticketSale a:hover{
opacity: 0.6;
}
#title .mes{
box-sizing: border-box;
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 700;
/*font-size: min(3em, 4.0vw);
font-size: max(3.0vw);*/
font-size: clamp(1rem, 3vw, 3.0em);
font-style: normal;
line-height: 1.2;
position: absolute;
/*padding: 0.5% 1.0%;*/
-webkit-text-stroke: 1px #fff;
z-index: 500;
}
#title .mes p{
background: rgba(0, 0, 0, 0.6);
display: inline;
line-height: 1.45;
padding: 0 2%;
white-space: nowrap;
}
#title .mes span{
font-size: 70%;
}
#title .sup{
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 700;
font-size: min(1.2em,3.0vw);
z-index: 1000;
position: absolute;
bottom : 1%;
left: 10%;
}
#title .message01{
top: min(28%, 28vw);
left: 10%;
}
#title .message02{
bottom : 10%;
right: 10%;
}
/*
#title .photoOut{
position: relative;
display: inline-block;
}
#title .photoOut::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 10%;
background: linear-gradient(to top, rgba(0,0,0,0.7), rgba(0,0,0,0));
pointer-events: none;
}
#title .photoOut{
background:linear-gradient(to top, rgba(0,0,0,0.7), rgba(0,0,0,0)) bottom / 100% 10% no-repeat;
}
*/
#title .photo img{
height: auto;
width: 100%;
}


/*-- #main ----------------------*/
main#main {
margin: 0 auto;
max-width: 1200px;
width: 80%;
}

section h2{
background: rgba(0, 0, 0, 0.6);
display: inline-block;
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 700;
font-size: min(2.0em, 6.0vw);
margin: 0 0 2%;
padding: 0.7%;
}
section .text{
font-size: min(1.3em, 4.0vw);
line-height: 1.6;
text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.6);
}

/* oainfo ----------------------------------------  */
section#oainfo {
background-color: rgba(38, 71, 97, 0.5);
/*
background-image: url("../img/point_hanabi.png");
background-position: top right;
background-repeat: no-repeat;
*/
margin: 1% auto 4%;
padding: 3%;
}
#oainfo #stream {
display: flex;
flex-wrap: nowrap;
margin: 3% auto 0;
width: 100%;
}
#oainfo #stream div {
flex-basis: 48%;
margin: 0 auto;
}
#oainfo #stream div img{
height: auto;
width: 100%;
}

/* ----------------------------------------  */
section#event {
background: rgba(204, 86, 0, 0.5);
margin: 1% auto 4%;
padding: 3%;
}
#event .flex {
display: flex;
flex-wrap: nowrap;
}
#event .flex > div:nth-child(1){
width: 60%;
}
#event .flex > div:nth-child(2){
width: 40%;
}
#event .info{
/*font-size: min(1.5em,4.0vw);*/
line-height: 1.5;
}
#event .info strong {
background: #ff0030;
display: block;
margin: 0 0 1%;
padding: 0.5%;
}
#event .info dl {
/* align-items: flex-start; */
font-size: min(1.4em, 4.0vw);
display: flex;
flex-wrap: wrap;
margin: 0 auto 4%;
/* width: 75%; */
}
#event .info dl dt {
margin: 0 0 2%;
width: 25%;
}
#event .info dl dt::after{
color: white;
content: "：";
}
#event .info dl dd {
margin: 0 0 2%;
text-align: left;
width: 75%;
}

#event .info .text{
width: 95%;
}
#event .info a{
color: white;
text-decoration: underline;
}
#event .poster img{
height: auto;
width: 100%;
}

/* about ----------------------------------------  */
section#about {
background: rgba(200, 22, 65, 0.5);
margin: 1% auto 4%;
padding: 3%;
}



/*-- SNS ----------------------*/
#sns_button_sp{
display: none;
}
.sns{
width:30%;
height:40px;
margin: 20px auto;
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
.sns a{
display:block;
width:40px;
height:40px;
margin:0 !important;
}
.sns img{
width:40px !important;
height:40px !important;
margin:0 !important;
}

/*-- footer/PC  -------------------*/
footer{
background: #333;
clear: both;
font-size: 0.9em;
line-height: 1.5em;
margin-top: 30px;
min-height: 640px;
text-align: center;
}
footer .mx_copyright{
color:#fff;
padding: 8px 0;
}
footer .mx_copyright a{
color:#fff;
text-decoration:underline;
}
footer a{
color: #d00;
text-decoration: none;
}

/*-- 緊急テキスト ----------------------*/
#rp_textbox{
background: rgba(255,255,255,0.7);
border: #928484 solid 1px;
font-size: 0.9em;
margin: 20px auto;
padding: 8px;
line-height: 1.6em;
text-align: left;
max-width: 960px;
width: 90%;
}
#rp_textbox .pop_text{
background:#fff;
-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;
border: #c9c9c9 solid 1px;
font-size:0.9em;
line-height:1.5em;
margin:0 auto;
padding:20px;
text-align:left;
max-width: 900px;
word-break: break-all;
width:75%;
}
#rp_textbox .pop_text .popup_title{
border-bottom: #999 dotted 1px;
font-size:1.1em;
line-height:1.5em;
font-weight:bold;
margin:0 0 15px 0;
padding-bottom:5px;
text-align:center;
width:100%;
}
#rp_textbox .ema_img {
display: block;
text-align: center;
width: 100%;
}
#rp_textbox .ema_img img{
margin: 0 auto 10px;
max-width: 100%;
}
#rp_textbox a{
color:#d00;
text-decoration:underline;
}

/* 動画囲いタグ ----------------------　<div class="video-container"></div> */
.video-container {
padding: 56.25% 0 0;
position: relative;
width: 100%;
}
.video-container iframe{
height: 100% !important;
position: absolute;
right: 0;
top: 0;
width: 100% !important;
}

/*-- google翻訳 ----------------------*/
.skiptranslate.goog-te-gadget,
a.goog-logo-link{color:#fff !important;}

/*-- ローディング ----------------------*/
#loader{background-color:#000; position:fixed;width:100%;height:100%;z-index: 100;}/*背景*/
.loader,.loader:before,.loader:after {
background: #aaa;
-webkit-animation: load1 1s infinite ease-in-out;
animation: load1 1s infinite ease-in-out;
height: 4em;
width: 1em;
top: 50%;
}
.loader {
color: #ccc;
text-indent: -9999em;
margin: auto;
position: relative;
font-size: 11px;
-webkit-transform: translateZ(0);-ms-transform: translateZ(0);transform: translateZ(0);
-webkit-animation-delay: -0.16s;animation-delay: -0.16s;
position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
}
.loader:before,.loader:after {
position: absolute;
top: 0;
content: '';
}
.loader:before {
left: -1.5em;
-webkit-animation-delay: -0.32s;animation-delay: -0.32s;
}
.loader:after {
left: 1.5em;
}
@-webkit-keyframes load1 {
	0%,80%,100% {
	box-shadow: 0 0;
	height: 4em;
	}
	40% {
	box-shadow: 0 -2em;
	height: 5em;
	}
	}
	@keyframes load1 {
	0%,80%,100% {
	box-shadow: 0 0;
	height: 4em;
	}
	40% {
	box-shadow: 0 -2em;
	height: 5em;
	}
}
/*--------------------------------------------------------*/

/* 2000px↑ -------------------------------------------------- */
@media screen and (max-width:1600px) {
	#title .message01{
	/*top: min(24%, 24vw);*/
	top: 24vw;
	left: 10%;
	}
	.message01 p{
	font-size: clamp(1rem, 3vw, 2em);/* 最小値,理想値,最大値 */
	}
}
/* TAB  -------------------------------------------------- */
@media screen and (max-width:900px) {
	#header{ min-height: 70px; }
	/*-- Pan_box ----------------------*/
	#pan_box{
	box-sizing: border-box;
	padding: 3px 2%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	text-align: left;
	}
	#pan_box .in{
	height: 24px;
	width: 640px;
	}
	#pan_box a{
	font-weight: normal;
	}

	#title h1 {
	background: #000;
	margin: 0% auto 5%;
	max-width: none;
	padding: 2%;
	width: 100%;
	}
	#title .ticketSale {
	/*top: max(180px, 14vh);*/
	top: 25%;
	width: 30%;
	}
	#title .mes{
	font-size: max(3.5vw);
	}
    #title .message01 {
    /*top: min(270px, 24vh);*/
    top: min(35%, 35vw);
    left: 3vw;
    }
	#title .message02 {
	bottom: 1vw;
	right: 4vw;
	font-size: max(5.0vw);
	}
	#title .sup {
	font-size: max(2.0vw);
	bottom: 2vw;
	left: 2vw;
	}
	main#main {
	width: 100%;
	}
	section#oainfo {
	background: rgba(38, 71, 97, 0.8);
	margin: 0 auto 5%;
	padding: 5%;
	}
	section#event {
	background: rgba(204, 86, 0, 0.8);
	margin: 0 auto 5%;
	padding: 5%;
	}
	section#about {
	background: rgba(200, 22, 65, 0.8);
	margin: 0 auto 5%;
	padding: 5%;
	}
	section h2{
	margin: 0 0 3%;
	padding: 2%;
	}
	section .text {
    margin: 0 auto;
    line-height: 1.5;
    width: 97%;
	}
	#oainfo #stream {
	display: block;
	}
	#oainfo #stream div img{
	max-width: 540px;
	}
	#oainfo #stream .rCh{
	margin: 4% auto 0;
	}
	#event .flex{
	display: block;
	}
	#event .flex > div:nth-child(1){
	width: 100%;
	}
	#event .flex > div:nth-child(2){
	margin: 5% auto 0;
	width: 100%;
	}
	#event .info dl dt {
	margin: 0;
	width: 100%;
	}
	#event .info dl dd {
	margin: 0 0 2%;
	padding: 0 0 0 1em;
	width: 100%;
	}
	#event .info .text {
    width: 100%;
	}

	/*-- 緊急テキスト ----------------------*/
	#rp_textbox{
	margin: 10px auto;
	max-width:640px;
	width:85%;
	}
	#rp_textbox .pop_text{}
	#rp_textbox .popup_title{
	margin-bottom:10px;
	}

	/*-- SNS -----------------------*/
	#sns_button_pc{
	display: none;
	}
	#sns_button_sp{
	display: block;
	padding: 0;
	text-align: center;
	}
	#sns_button_sp .btn_sns{
	margin: 0 2px;
	}
	#sns_button_sp .btn_sns img{
	height: 50px; width: 50px;
	}

}
/* SP  -------------------------------------------------- */
@media screen and (max-width:640px) {
	#title .message01 {
	top: 35%;
	left: 3vw;
	}
}