@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Sarpanch:700&display=swap');
/*

font-family: 'Noto Sans JP', sans-serif;

font-family: 'Sarpanch', sans-serif;
*/

/* --------------
 reset
-------------- */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}
ol,ul{list-style:none}
caption,th{text-align:left}

img {max-width:100% !important; height:auto;vertical-align: bottom;}
iframe {max-width:100% !important; border:0;}
iframe img{max-width:none !important; border:0;}

body * {
	box-sizing: border-box;
}

.printOnly {
	display: none;
}


/* --------------
 clearfix
-------------- */
div:after,ul:after,ol:after,dl:after,
header:after,footer:after,
nav:after,section:after,article:after {
	content: ""; 
	display: block;
	clear: both;
}

/* --------------
 base
-------------- */
body {
	color: #111;
	background: #fff;
	font: 16px/1.4 'Noto Sans JP', sans-serif;
	scroll-behavior: smooth;
	overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6 {
	line-height: 1.2;
	word-break: break-word !important;
}
h1 {font-size: 1.5em;}
h2 {font-size: 1.3em;}
h3 {font-size: 1.1em;}
h4 {font-size: 1.0em;}
h5 {font-size: 1.0em;}
h6 {font-size: 1.0em;}

.sarpanch {
	font-family: 'Sarpanch', sans-serif;
}

	
/* link */
a {
	color: #FF1C1F;
/*	word-break: break-all;*/
	word-break: break-word;
	text-decoration: none;
}
a:hover {
	color: #A31F22;
}
a img {
	-webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
a:hover img {
	opacity:0.7;
}


a.break {
	word-break: break-all;
}
.inlineblock { display: inline-block !important; }
.block { display: block !important; }


.pointer {
	cursor: pointer;
}

a.kill {
	pointer-events: none;
}

/* --------------
 modules css
-------------- */
/* ---------- font size */

.fs05 { font-size: 0.5em; }
.fs06 { font-size: 0.6em; }
.fs07 { font-size: 0.7em; }
.fs08 { font-size: 0.8em; }
.fs09 { font-size: 0.9em; }
.fs10 { font-size: 1.0em; }
.fs11 { font-size: 1.1em; }
.fs12 { font-size: 1.2em; }
.fs13 { font-size: 1.3em; }
.fs14 { font-size: 1.4em; }
.fs15 { font-size: 1.5em; }
.fs16 { font-size: 1.6em; }
.fs17 { font-size: 1.7em; }
.fs18 { font-size: 1.8em; }
.fs19 { font-size: 1.9em; }
.fs20 { font-size: 2.0em; }
.fs21 { font-size: 2.1em; }
.fs22 { font-size: 2.2em; }
.fs23 { font-size: 2.3em; }
.fs24 { font-size: 2.4em; }
.fs25 { font-size: 2.5em; }
.fs30 { font-size: 3.0em; }


/* ---------- font weight */
.normal {	font-weight: 400;}
.bold {	font-weight: 700;}
.black {	font-weight: 900;}

/* ---------- align */
.alc { text-align: center !important;}
.alr { text-align: right !important;}
.all { text-align: left !important;}

.alt { vertical-align: top !important;}
.alb { text-align: bottom !important;}
.alm { vertical-align: middle !important;}

.alj {	
	/* 文字均等割付 */
 text-align: justify !important;
 text-justify: inter-ideograph !important;
}


/* ---------- float */
.noFloat { float: none !important;}

/* ---------- Cancele */

.both { clear: both;}

/* ---------- margin,padding */
.mb0 {	margin-bottom: 0px !important;}
.mb3 {	margin-bottom: 3px !important;}
.mb5 {	margin-bottom: 5px !important;}
.mb10 {	margin-bottom: 10px !important;}
.mb15 {	margin-bottom: 15px !important;}
.mb20 {	margin-bottom: 20px !important;}
.mb25 {	margin-bottom: 25px !important;}
.mb30 {	margin-bottom: 30px !important;}
.mb35 {	margin-bottom: 35px !important;}
.mb40 {	margin-bottom: 40px !important;}
.mb45 {	margin-bottom: 45px !important;}
.mb50 {	margin-bottom: 50px !important;}
.mb55 {	margin-bottom: 55px !important;}
.mb60 {	margin-bottom: 60px !important;}
.mb70 {	margin-bottom: 70px !important;}
.mb80 {	margin-bottom: 80px !important;}
.mb90 {	margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}

.mb1rem { margin-bottom: 1rem !important; }
.mb2rem { margin-bottom: 2rem !important; }
.mb3rem { margin-bottom: 3rem !important; }

.ml0 {	margin-left: 0px !important;}
.ml5 {	margin-left: 5px !important;}
.ml10 {	margin-left: 10px !important;}
.ml20 {	margin-left: 20px !important;}
.ml30 {	margin-left: 30px !important;}

.mr0 {	margin-right: 0px !important;}
.mr5 {	margin-right: 5px !important;}
.mr10 {	margin-right: 10px !important;}
.mr20 {	margin-right: 20px !important;}
.mr30 {	margin-right: 30px !important;}

.mt0 {	margin-top: 0px !important;}
.mt3 {	margin-top: 3px !important;}
.mt5 {	margin-top: 5px !important;}
.mt10 {	margin-top: 10px !important;}
.mt15 {	margin-top: 15px !important;}
.mt20 {	margin-top: 20px !important;}
.mt30 {	margin-top: 30px !important;}
.mt50 {	margin-top: 50px !important;}

.mt1rem { margin-top: 1rem !important; }
.mt2rem { margin-top: 2rem !important; }
.mt3rem { margin-top: 3rem !important; }

.pb0 {	padding-bottom: 0px !important;}
.pb3 {	padding-bottom: 3px !important;}
.pb5 {	padding-bottom: 5px !important;}
.pb10 {	padding-bottom: 10px !important;}
.pb20 {	padding-bottom: 20px !important;}
.pb30 {	padding-bottom: 30px !important;}

.pt0 {	padding-top: 0px !important;}
.pt3 {	padding-top: 3px !important;}
.pt5 {	padding-top: 5px !important;}
.pt10 {	padding-top: 10px !important;}
.pt15 {	padding-top: 15px !important;}
.pt20 {	padding-top: 20px !important;}
.pt30 {	padding-top: 30px !important;}

.pl0 {	padding-left: 0px !important;}
.pl3 {	padding-left: 3px !important;}
.pl5 {	padding-left: 5px !important;}
.pl10 {	padding-left: 10px !important;}

.pr0 {	padding-right: 0px !important;}
.pr3 {	padding-right: 3px !important;}
.pr5 {	padding-right: 5px !important;}
.pr10 {	padding-right: 10px !important;}

/* ----- text */

.clNormal { color: #000; }

.clWt { color: #fff; }
.clGray { color: #888; }
.clBk { color: #000; }

.clRed { color: #E71F22; }
.clYlw { color: #ffeb0e; }
.clBlue { color: #1845bf; }
.clGrn { color: #409347; }
.clPink { color: #e46c7d; }
.clOg { color: #eb621f; }
.clPpl { color: #844ACC; }
.clBeige { color: #b3a89a; }

.cl-facebook { color: #3B5998; }
.cl-twitter { color: #55acee; }
.cl-youtube { color: #ff0000; }
.cl-openrec { color: #ffc511; }
.cl-twitch { color: #6441a5; }


.lh10 {	line-height: 1.0;}
.lh12 {	line-height: 1.2;}
.lh15 {	line-height: 1.5;}
.lh18 {	line-height: 1.8;}
.lh20 {	line-height: 2.0;}


/* ----- list */
.ulDisc {
	margin-left: 2em;
	list-style: outside disc;
}

.olDecimal {
	margin-left: 2em;
	list-style: outside decimal;
}

.ulDisc li, .olDecimal li {
	margin-bottom: 5px;
}

/* ----- decoration (button, etc...) */

.flc {
	margin-left: auto;
	margin-right: auto;
}

.bgWt { background-color: #fff !important; }
.bgBk { background-color: #000 !important; }
.bgGray { background-color: #e4e4e4 !important; }


/* ----- button */

.btnA {
	position: relative;
	display: inline-block;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	border-color: #e74c3c;
	border-radius: 4px;
	padding: 1em;
	min-width: 60%;
	color: #fff !important;
	background-color: #e74c3c;
	background-image: linear-gradient(224deg, #ff6236 14%, #c80039 50%, #ff6236 100%);
	background-size: 200%;
	transition: background .3s ease;
	background-position: right bottom;
}
.btnA:hover {
	color: #fff !important;
	background-position: left top;
}
.btnA .iconBox {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}



/* ----- youtube */


.youtubeBox {
 position: relative;
 width: 100%;
 padding-top: 56.25%;
}
.youtubeBox iframe {
 position: absolute;
 top: 0;
 right: 0;
 width: 100% !important;
 height: 100% !important;
}



/* --------------
 common
-------------- */

.main {
	position: relative;
}

/* =container
-------------------------------------------------------------- **/
.contents{
	/*margin-bottom: 5rem;*/
	padding: 2rem 0;
	position: relative;
	overflow: hidden;
}
#visual.contents {
	padding: 1rem 0;
}

.contents:not(#visual) .in {
	position: relative;
	z-index: 2;
}



/* =headline / titles
---------------------------------------------------- */

.contents h2 {
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	line-height: 1.1em;
	text-align: center;
	font-size: 1.0rem;
	position: relative;
	padding-bottom: 1rem;
}
.contents h2:before {
	content: '';
	display: block;
	width: 3rem;
	height: 1px;
	background-image: linear-gradient(224deg, #ff6236 14%, #c80039 100%);
	
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.contents h2 > span {
	display: inline-block;
	width: 100%;
	margin-top: 0;
	margin-bottom: .5rem;
	padding: 0.4em 0;
	font-size: 3.0em;
	font-family: 'Sarpanch', sans-serif;
	animation: anime1 5s linear infinite;
	
	background-image: linear-gradient(-45deg, #e60012 25%, #F39800 50%, #e60012 75%);
	background-size: 200%;
	-webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
_:-ms-lang(x), .contents h2 > span {
	background: none;
}

@keyframes anime1 {
	0% { background-position: left top;}
	50% { background-position: right bottom;}
	100% { background-position: left top;}
}


.contents h3 {
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	font-size: 1.2em;
	line-height: 1.1em;
	padding: .5em;
	position: relative;
}
.contents h3:first-child {
	margin-top: 0;
}
.contents h3:before {
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background-color: #f18d02;
	background-image: linear-gradient(90deg, #f18d02 0, #c80039 100%);
	
	position: absolute;
	bottom: -1.5px;
	left: 0;
}
.contents h3 .time_txt {
	display: inline-block;
	font-size: .8em;
	margin-left: -.5em;
	padding: .25em .5em;
	background: #f18d02;
	color: #fff;
}
.contents h3 .stage_txt {
	display: inline-block;
	width: 100%;
	padding-top: .5rem;
	padding-left: .5rem;
}


.contents h4 {
	margin-top: 1.5rem;
	margin-bottom: .5rem;
	font-size: 1.2em;
	line-height: 1.1em;
	padding: .25em .5em;
	position: relative;
}
.contents h4:before {
	content: '';
	display: block;
	width: 3px;
	height: 100%;;
	background-color: #f18d02;
	background-image: linear-gradient(0, #f18d02 0, #c80039 100%);
	
	position: absolute;
	top: 0;
	left: 0;
}
.contents h5 {
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	font-size: 1.0em;
	line-height: 1.1em;
}


/* コンテンツ中身 */
.contents p {
	margin-bottom: 1rem;
}
/* テーブル */
.contents table, .contents table td, .contents table th {
	border-collapse: separate;
	border-spacing: 5px;
	/*border: 1px solid #ccc;*/
}
.contents table {
	width: 100%;
	margin-bottom: 1rem;
}
.contents table th, .contents table td {
	padding: 5px 10px;
}
.contents table th {
	background: #f89f24;
	vertical-align: top;
	text-align: center;
	color: #fff;
}
.contents table td {
	background: #fff;
}


.contents dl dt {
	font-weight: bold;
}



/* 画像中央寄せトリミング */
.centerPhoto {
	position: relative;
	/*width: 100%;*/
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
	
}

.centerPhoto img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.centerPhoto.imgBnrFeature img {
	max-width: none !important;
	width: 120%;
}

/* 64:27 */
.centerPhoto.size6427 {
	padding-top: 42.18%;
}

/* 4:3 */
.centerPhoto.size43 {
	padding-top: 75%;
}
/* 1:1 */
.centerPhoto.size11 {
	padding-top: 100%;
}
.centerPhoto.size11 img {
	max-width: none !important;
	max-height: 100% !important;
}

.ofi {
  object-fit: cover;
  font-family: 'object-fit: cover;';
	width: 100%;
	height: 100%;
}
.ofi-contain {
  object-fit: contain;
  font-family: 'object-fit: contain;';
	width: 100%;
	height: 100%;
}



/* =sns
---------------------------------------------------- */

#sns {
	text-align: center;
	padding: 2rem 0;
}

#sns .btnSns a {
	display: inline-block;
	padding: .3em .5em;
	border-radius: 5px;
	box-shadow: 0 -3px 0 rgba(20,0,0,.3) inset;
	background: #aaa;
	color: #fff;
	margin: 0 .5em;
}
#sns .btnSns.btnTw a {
	background: #55acee;
}
#sns .btnSns.btnFb a {
	background: #3B5998;
}
#sns .btnSns.btnLine a {
	background: #00b900;
}


/* =bnrarea
-------------------------------------------------------------- **/

.bnrArea {
}

/* =footer
-------------------------------------------------------------- **/
#footer {
}


/* =copyright
---------------------------------------------------- */
#copyright {
	padding: 7px 0;
	text-align: center;
	font-size: .7em;
	background: #484848;
	color: #fff;
}
#copyright a {
	color: #eee;
	
}

/* =pageTop
---------------------------------------------------- */
#pageTop {
	position: fixed;
	bottom: 1%;
	right: 1%;
	z-index: 10000;
}
#pageTop a {
	display: block;
	background: rgba(0,0,0,.5);
	text-align: center;
	padding: .5em .8em;
	color: #fff;
}
#pageTop a:hover {
	opacity: .7;
}

/* --------------
 page contents
-------------- */



.pageNav {
	border-bottom: #fff solid 2px;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 100;
}
.pageNav ul {
	display: flex;
	flex-wrap: nowrap;
}
.pageNav ul:after {
	display: none;
}
.pageNav ul li {
	width: 50%;
	background-color: #f18d02;
}
.pageNav ul li a {
	position: relative;
	display: block;
	padding: 2% 5%;
	text-align: center;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	overflow: hidden;
	z-index: 2;
	transition: all .3s ease;
}
.pageNav ul li a:hover {
	background: rgba(255,255,255,.4);
}

.bannerList li {
	margin-bottom: .5rem;
}


.contents:nth-child(odd) {
	background: #f3f3f3;
}
#modal .contents {
	background: #fff;
}


ul li > .inner {
	padding: 5px;
	background: #fff;
	margin-bottom: .5rem;
}

.timetable caption {
	padding: .5em;
	font-weight: bold;
	font-size: 1.1em;
	color: #fff;
	background-color: #E60012;
}
.timetable th, .timetable td {
	box-shadow: 0 0 3px rgba(0,0,0,.25);
}
.timetable th {
	position: relative;
}
.timetable th > .start_time {
	display: inline-block;
	width: 100%;
}
.timetable th > .end_time {
	display: inline-block;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}
.timetable th > .time_bar {
	content: '';
	display: block;
	width: 1px;
	height: calc(100% - 3.5em);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -45%);
	background: #fff;
}


.summaryBox {
	border: #ccc solid 1px;
	padding: 5px;
}

.boothNav {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-top: 2rem;
}
.boothNav:after {
	display: none;
}
.boothNav li {
	cursor: pointer;
	margin: 0 5px;
	border-radius: 5px 5px 0 0;
	padding: .5em 1em;
	background-color: #ccc;
	font-weight: bold;
	width: 30%;
	border: #fff solid 1px;
	border-bottom: 0;
	box-shadow: 0 -2px 5px rgba(0,0,0,.15);
	transition: .3s box-shadow ease;
}
.boothNav li.select, .boothNav li:hover {
	background-color: #E60012;
	color: #fff;
	box-shadow: 0 0 0 rgba(0,0,0,0);
}

.boothCont {
	border: #E60012 solid 1px;
	background: #fff;
}




.memberList .label {
	display: inline-block;
	font-size: .8em;
	padding: .25em .5em;
	border-radius: .25em;
	color: #fff;
	background: #888;
}
.memberList .label-jikkyo {
	background-color: #49B4E8;
}
.memberList .label-kaisetsu {
	background-color: #F19A43;
}
.memberList .label-mc {
	background-color: #4AC94D;
}
.memberList .label-guest {
	background-color: #ff686a;
}
.memberList .label-kikite {
	background-color: #4F4ACB;
}
.memberList .label-hanashite {
	background-color: #DD2E80;
}

.memberList .centerPhoto {
	margin: .25em 0;
	border: #ddd solid 1px;
}

