@charset "utf-8";
/*-------------------------*/
/*Reset*/
html{margin:0; padding:0; border:0; overflow-y:scroll;}
*{border:0; box-sizing: border-box; margin:0; padding:0;}
body{line-height:1; -webkit-text-size-adjust:100%; width:100%;
font-family: "rera", sans-serif;
background: url(../img/bg.webp) no-repeat fixed top center / 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;}
.SicSelifGothicRE_R{
font-family: "sicselifgothicre", sans-serif;
font-weight: 400;
font-style: normal;
}
.Rera{
font-family: "rera", sans-serif;
font-weight: 500;
font-style: normal;
}
/*-------------------------*/

#wrapper{
color: #6a5656;
font-family: Arial, Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "sans-serif";
margin: 0 auto;
width: 1100px;
}

/*-------------------------*/
#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: #a4990b;
color: #999;
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;}

#wrapper section{
line-height: 1.5;
font-family: "rera", sans-serif;
margin: 0 auto 5%;
text-align: center;
}
#wrapper section h2{
font-family: "sicselifgothicre", sans-serif;
}

/* #main -------------------------------- */
#main{}
#main h1{
margin: 0 auto 5%;
}
#main h1 img{
height: auto;
width: 100%;
}

/* #about -------------------------------- */
#about{
font-size: min(1.3em, 4.5vw);
}
#about h2{
background: white;
border-radius: 10px;
display: inline-block;
margin: 0 auto 3%;
padding: 0.2% 1.5% 0.5% 3%;
text-align: center;
}
#about h2 span{
background: linear-gradient(180deg, #554b04 0%, #bfac25 40%, #453b2e 100%);
color: transparent;
-webkit-background-clip: text;background-clip: text;
-webkit-text-fill-color: transparent;
text-fill-color: transparent;
font-family: "sicselifgothicre", sans-serif;
font-weight: 400;
font-style: normal;
font-size: min(2.5em, 4.5vw);
width: 100%;
}
#about .title {
color: #760b0b;
display: block;
font-size: min(1.5em, 4.0vw);
font-weight: bold;
margin: 2% auto;
text-shadow: 0 0 10px rgba(255, 255, 255, 1), 0 0 10px rgba(255, 255, 255, 1), 0 0 10px rgba(255, 255, 255, 1);
}

/* #info -------------------------------- */
#info{
}
#info h2{
font-size: min(2.5em, 3.8vw);
font-weight: bold;
margin: 0 auto 2%;
}
#info > dl {
border-top: 1px solid #999;
border-left: 1px solid #999;
display: flex;
flex-wrap: wrap;
margin: 0 auto 4%;
text-align: left;
width: 100%;
word-break: break-word;
}
#info > dl > dt {
background: #f1f0e5;
border-bottom: 1px solid #999;
border-right: 1px solid #999;
display: block;
padding: 2%;
width: min(25%);
}
#info > dl > dd{
border-bottom: 1px solid #999;
border-right: 1px solid #999;
background-color: white;
display: block;
line-height: 1.5;
padding: 2%;
width: min(75%);
}
#info > dl > dd .flex{
display: flex;
flex-wrap: wrap;
}
#info > dl > dd .flex .gPhoto{
margin: 0 3% 0 0;
width: min(25%);
}
#info dl dd .flex .gPhoto img{
height: auto;
width: 100%;
}
#info > dl > dd .flex .gText{
width: min(72%);
}
#info .schedule {
display: grid;
grid-template-columns: 12em 1fr;
row-gap: 0.3em;
}
#info .schedule dt {
font-weight: bold;
position: relative;
text-align: justify; /* コロンを自然に右寄せ気味に見せる */
padding-right: 1em; /* コロン分のスペース確保 */
}
#info .schedule dt::after {
content: "：";
position: absolute;
right: 0; /* ← この位置で固定 */
}
#info .schedule dd {
margin: 0;
}
#info h3.guest_name {
font-size: min(1.5em, 3.5vw);
margin: 0 0 3%;
}
#info ol li {
margin: 0 0 0 1.5em;
word-break: keep-all;
}
#info ol li::before {
content: "※";
margin: 0 0 0 -1.0em;
text-indent: -1.5em;
}
#info ol li.sq:before {
content: "■";
margin: 0 0 0 -1.0em;
text-indent: -1.5em;
}
#info .num{
display: inline-block;
min-width: 2ch;   /* 2桁分の幅 */
text-align: right;/* 1桁は右寄せで揃う */
box-sizing: border-box;
font-variant-numeric: tabular-nums;
}
#info .inquiry{
background: #3e7bb5;
border-radius: 4px;
color: white;
display: block;
margin: 2% 0 0 0;
text-align: center;
text-decoration: none;
padding: 1% 5%;
}
#info .inquiry::hover{
opacity: 0.6;
}

/*-- #ticket  -------------------*/
#ticket{}
#ticket .txt_sale {
margin: 10%;
text-align: center;
}
#ticket .btn-hover {
/* border: none; */
background-size: 300% 100%;
background-image: linear-gradient(to right, #f5ce62, #e43603, #fa7199, #e85a19);
border-radius: 10px;
color: #fff;
cursor: pointer;
display: block;
font-family: "sicselifgothicre", sans-serif;
font-size: min(1.5em, 3.5vw);
font-weight: 600;
margin: 0 auto;
padding: 1% 10%;
moz-transition: all .4s ease-in-out;-o-transition: all .4s ease-in-out;-webkit-transition: all .4s ease-in-out;transition: all .4s ease-in-out;
width: 100%;
}
#ticket .btn-hover:hover {
background-position: 100% 0;
moz-transition: all .4s ease-in-out;-o-transition: all .4s ease-in-out;-webkit-transition: all .4s ease-in-out;transition: all .4s ease-in-out;
}
#ticket .btn-hover:focus {
outline: none;
}
#ticket .txt_end{
background: #999;
border-radius: 10px;
color: #d2d2d2;
font-family: "sicselifgothicre", sans-serif;
font-size: min(2.0em, 3.0vw);
margin: 5% 0 0;
padding: 1% 10% 1.5%;
text-align: center;
width: 100%;
}

/*-- footer/PC  -------------------*/
footer{
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:#fff; 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;
	}
}
/*--------------------------------------------------------*/

/* TAB  -------------------------------------------------- */
@media screen and (max-width:900px) {
	body{
    background: url(../img/bg.webp) no-repeat fixed top center;
	}
	section#h_SP {
    margin: 0;
	}
	#wrapper{
	width: 100%;
	}

	.onlyPc{display: none;}
	.onlySp{display:block;}
	/*-- 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: 520px;
	}
	#pan_box a{
	font-weight: normal;
	}
	section{
	width: 90%;
	}
	#about{
    font-size: min(1.3em, 4.0vw);
    text-align: left;
	}
	#about h2{
	display: block;
	}
	#info > dl > dd {
	font-size: min(1.5em, 2.8vw);
	}
	#info > dl > dd .flex {
	display: block;
	}
	#info > dl > dd .flex .gPhoto,
	#info > dl > dd .flex .gText{
	width: 100%;
	}
	#info .schedule{
	display: block;
	}
	#info .schedule dt::after {
	content: "";
	}
	#info h3.guest_name {
	margin: 0 auto;
    text-align: center;
	}
	#info ol li{
	word-break: normal;
	}
	#ticket .btn-hover,
	#ticket .txt_end{
	margin: 0 auto;
	padding: 2.5%;
    /*width: 85%;*/
	}

	/*-- 緊急テキスト ----------------------*/
	#rp_textbox{
	margin: 10px auto;
	max-width:640px;
	width:85%;
	}
	#rp_textbox .pop_text{}
	#rp_textbox .popup_title{
	margin-bottom:10px;
	}

	/*-- SNS -----------------------*/
	#sns_button_sp{
	padding: 15px 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) {

}