:root {
	--back: #FAFAFC;
	--headline: #2D2D37;
	--main: #2D2D37;
	--white: #FFFFFF;
	--text_sub: #D9D9D9;
	--nav_gray: #787882;

	--content_back: #F7F7F9;
	--contents_back_dark_500: #F0F0F3;
	--contents_back_dark_600: #DCDCDF;
	--contents_back_dark_700: #91919B;

	--line_general: #E8E8E9;
	--active_blue: #2471DC;
	--primary_gradient: linear-gradient(90deg, #007CC8 0%, #E4007F 50%, #E6E300 100%);
	--sub_gradient: linear-gradient(90deg, #00539C 0%, #146EBE 50%, #0ADFCE 100%);
	--sub_gradient2: linear-gradient(90deg, #90E5FF 0%, #0F1FD8 40%, #BF2796 100%);

	/*
	--sub_blue: #0F1FDB;
	--active_turquoise: #009FB1;
	--sub_turquoise: #1AD3C6;
	*/
	--red: #d7006e;

  }


/* ----------------------------------------------------
 Layout
 ---------------------------------------------------- */
body{
	background:#feb6aa;
}

body.menu-open{
	overflow: hidden;
}


body, h1, h2, h3, h4, h5, h6 {
	font-size:16px;
	color: var(--main);
	font-family:Meiryo,メイリオ, 游ゴシック体, 'Yu Gothic', YuGothic, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.inner{
	position: relative;
	width: 1020px;
	margin: 0 auto;
	padding: 0;
}
.content {
	padding:0;
	margin-top: 2rem;
}

.content .inner{
	padding: 10rem;
	padding-bottom: 2rem;
	background-color: rgba(255, 255, 255, 0.8);
}



.content p{
	line-height:2rem;
	margin: 0 0 2rem 0;
	word-break: break-all;
}

.mb0{margin-bottom: 0 !important;}
.mb1{margin-bottom: 1rem !important;}
.mb2{margin-bottom: 2rem !important;}
.mb3{margin-bottom: 3rem !important;}

small,.small{
	font-size: 0.8rem;
}
.content p.small{
	line-height: 1.5rem;
}


hr{
	background: none;
	border: none;
	margin: 4rem;
}


/* ----------------------------------------------------
 Font
 ---------------------------------------------------- */
h2{
	text-align: center;
	font-size: 2rem;
	line-height: 2.5rem;
	font-weight: bold;
	margin:0 0 2rem 0;
}
h2 > small{
	display: block;
	font-size: 1rem;
	font-weight: normal;
	margin-top: 1rem;
}
h2 > i{
	font-style: normal;
	color: #f15a24;
}



h3{
	position: relative;
	color: var(--headline);
	text-align: center;
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: bold;
	margin:0 0 3rem 0;
	padding-bottom: 1rem;
	border-bottom: 1px solid #666;
}
h4{
	text-align: center;
	font-size: 1.7rem;
	line-height: 2.5rem;
	font-weight: bold;
	margin:0 0 2rem 0;
}


h5{
	text-align: center;
	font-size: 1.5rem;
	line-height: 2.5rem;
	font-weight: bold;
	margin:0 0 2rem 0;
}



 .green{
	text-align: center;
	color:#2ac5a6;
	font-weight: bold;
 }

 .green img{
	display: block;
	margin: 0 auto;
 }







.text-left{
	text-align: left;
}
.text-center{
	text-align: center;
}
.text-right{
	text-align: right;
}



/* ----------------------------------------------------
 Header
 ---------------------------------------------------- */

#header{
	position: relative;
	background: url("../images/header_bg.jpg") no-repeat top center;
	height: 1200px;
	overflow: hidden;
	margin-bottom: 2rem;
}
#header .inner{
	/* position: absolute;
	top:60px;left: 0;right: 0; */
	text-align: center;
	padding-top: 60px;
	width: auto;
	max-width: 1400px;
	margin: auto;
}

#header .zone{
	margin: 60px auto 40px auto;
	width: 675px;
    border-radius: 0.75rem;
}
#header h2{
	margin-bottom: 30px;
}

#header h3{
	border: none;
	font-size: 2.75rem;
	line-height: 4rem;
	padding: 0;
	margin: 50px 0 30px 0;
}

#header img.pc{
	margin-left: auto;
	margin-right: auto;
}

#header dl{
	margin-top: 40px;
	display: flex;
	padding: 2rem;
	align-items: center;
	background-color: rgba(255, 255, 255, 0.8);
}
#header dt,
#header dd{
	padding: 0 2rem;
	font-size: 1rem;
	font-weight: bold;
	margin: 0;
}

#header dt{
	font-size: 1.5rem;
	white-space: nowrap;
}
#header dd{
	font-size: 1rem;
	text-align: left;
	border-left:10px solid #898989;
}



/* ----------------------------------------------------
 Header2
 ---------------------------------------------------- */
#header2{
	text-align: center;
	position: relative;
	background: url("../images/header_top.png") no-repeat top center;
	background-size: contain;
	margin-bottom: 2rem;
}
#header_bottom{
	background: url("../images/header_bottom.png")no-repeat bottom center;
	background-size: contain;
}


.zone{
	color: #FFF;
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 1rem;
	background: #f15a24;
	padding: 1rem;
	border-radius: 1.5rem;
}


 




ul.osusume{
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.osusume li{
	position: relative;
	font-weight: bold;
	padding: 1.5rem 1.5rem 1.5rem 5rem;

	border-radius: 44px;
	background:#FFF no-repeat url("../images/li_bg.png");
	background-position: bottom 50% left 1rem;

	border: 2px solid #f15a24;
	margin-bottom: 1rem;
}





/* ----------------------------------------------------
 Button
 ---------------------------------------------------- */

.btn{
	line-height: 1rem;
	text-decoration: none;
	white-space: nowrap;
	position: relative;
	display: inline-block;
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	padding: 2rem 8rem 2rem 5rem;
	color: #FFF;
	border-radius: 44px;
	background:#2ac5a6 no-repeat url("../images/btn_bg.png");
	background-position: bottom 50% right 1rem;

}
.btn:hover{
	color: #FFF;
	background:#18ad8f no-repeat url("../images/btn_bg.png");
	background-position: bottom 50% right 1rem;
}


.btn_orenge{
	line-height: 1rem;
	text-decoration: none;
	white-space: nowrap;
	position: relative;
	display: inline-block;
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	padding: 1rem 8rem 1rem 7rem;
	color: #FFF;
	border-radius: 44px;
	background:#f15a24 no-repeat url("../images/btn_bg2.png");
	background-position: bottom 50% right 1rem;

}
.btn_orenge:hover{
	color: #FFF;
	background:#db4f1c no-repeat url("../images/btn_bg2.png");
	background-position: bottom 50% right 1rem;
}


/* ----------------------------------------------------
 Footer
 ---------------------------------------------------- */

#footer #copy{
	text-align: center;
	font-size: 1rem;
	line-height: 1rem;
	font-weight: bold;
	margin-top: 5rem;
}




/* ----------------------------------------------------
 Image
 ---------------------------------------------------- */
.content img{
	max-width: 100%;
	height: auto;
}
.gmap{
	width:100%;
	height:400px;
}

/* ----------------------------------------------------
 SNS
 ---------------------------------------------------- */

 ul.sns{
	list-style: none;
	margin: 0 0 2rem 0;
	padding: 0;
	display: flex;
	align-items: center;
 }
ul.sns li  {
	flex: 1;
	text-align: center;
}

ul.sns li a {
    display: inline-block;
    line-height: 0;
    text-decoration: none;
}

ul.sns li img{
	width: 80px;
	height: auto;
}





/* ----------------------------------------------------
 Badge
 ---------------------------------------------------- */

span.cat{
	display: inline-block;
	line-height: 1rem;
	font-weight: bold;
	padding: 1rem 2rem;
	color: #666;
	border: 1px solid #666;
	background: #FFF;
	border-radius: 25px;
}

.stage{
	display: inline-block;
	font-weight: bold;
	padding: 0.5rem 1.5rem;
	background-color: #feb6aa;
}

.koma{
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
	margin-bottom: 5rem;
}
.koma strong{
	font-size: 5rem;
	margin-right: 1rem;
}

/* ----------------------------------------------------
 Table
 ---------------------------------------------------- */
.content table {
	border-spacing: 0;
	border-collapse: separate;
	width: 100%;
	margin-bottom: 2rem;
} 

.content th,
.content td{
	font-size: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid #666;
}
.content td{
	word-break:break-all;
	word-break:break-word;
}
.content td>small{
	display: inline-block;
	margin:0 5px 5px 0;
    padding: 0.25rem 0.5rem;
    background-color: #feb6aa;
}

.content table td table{
	margin: 0;
}
.content table td table th,
.content table td table td{
	border: none;
}


td.r{
	color: #007CC8;
}

td.f{
	color: #E4007F;
}


.exhibitor_list a{
	font-weight: normal;
	color: #0000FF;
	text-decoration: none;
}
/* ----------------------------------------------------
 Event
 ---------------------------------------------------- */

.event.d-flex:not(:last-child) {
	margin-bottom: 5rem;
}

.event.d-flex .photo {
	width: 200px;
}
.event.d-flex .photo > img{
	width: 100%;
	height: auto;
}

.event.d-flex > div+div{
	padding-left: 3rem;
	flex: 1;
}


.event.d-flex h4{
	text-align: left;
}
.event.d-flex p{
	margin-bottom: 1rem;
}

.event.d-flex .stage.d-block{
	margin-bottom: 1rem;
}


.event.d-flex h5{
	font-size: 2rem;
	font-weight: bold;
	text-align: left;
	line-height: 2.5rem;
	margin:0;
}
.event.d-flex h5>small{
	font-size: 1.25rem;
	display: block;
	margin: 1rem 0 0.5rem 0;
}

#access .d-flex > div:last-child{
	padding-left: 3rem;
}

.concept.d-flex > div{
	padding:0 0.5rem;
}

#sp_menu,
#sp_menu_close{
	position: fixed;
	top:1rem;
	right: -50px;
	cursor: pointer;
	border: none;
	width: 50px;
	height: 50px;
	padding: 0;
	margin: 0;
	border-radius: 25px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.75);
	z-index: 9999;
	transition: 0.25s;
}
#sp_menu img,
#sp_menu_close img{
	width: 50px;
	height: 50px;
}


.pc{
	display: block;
}
.sp{
	display: none;
}



@media (max-width: 992px) {

.pc{
	display: none;
}
.sp{
	display: block;
}

	.inner{
		width: 100%;
	}

	.content .inner {
    	padding: 1.5rem;
	}

	hr{
		margin: 2rem 0;
	}

	h2{
		font-size: 1.5rem;
	}


		
	.event.d-flex .photo {
		width: 100px;
	}
	.event.d-flex > div+div {
		padding-left: 1rem;
	}

	thead{
		display: none;
	}
	table th,
	table td{
		display: block;
	}

	.content th{
    	white-space: unset;
		border: none;
		padding-bottom: 0;
	}
	.content td{
		padding-top: 0.25rem;
	}


	
	.exhibitor_list tr{
		display: block;
		margin-bottom: 1rem;
	}
	.exhibitor_list th,
	.exhibitor_list td{
		padding: 0;
		border: none;
	}
	.exhibitor_list tr > td:last-child{
		padding-bottom: 1rem;
    	border-bottom: 1px solid #666;
	}

	.btn {
    	padding: 2rem 6rem 2rem 3rem;
	}



	h4 {
		font-size: 1.25rem;
		line-height: 1.75rem;
	}
	.event.d-flex h5>small {
		font-size: 0.9rem;
		line-height: 1.5rem;
	}
	.event.d-flex h5 {
		font-size: 1.5rem;
	}
		
	ul.sns li img {
		width: 50px;
		height: auto;
	}

	
	#header{
		background: url("../images/header_top.png") no-repeat top center;
		background-size: contain;
		height: auto;
	}
	#header .inner {
    	padding: 20px 1.5rem 0 1.5rem;
		background: url("../images/header_bottom.png") no-repeat bottom center;
		background-size: contain;
	}
	#header img{
		max-width: 100%;
		height: auto;
	}
	#header .zone {
		position: relative;
		margin: 20px 0 -1.5rem 0;
		width: 100%;
		border-radius: 1.5rem;
		z-index: 2;
	}
	#header .spbox {
		position: relative;
		background: rgba(255, 255, 255, 0.8);
		padding: 1.5rem;
	}
	#header h2 {
		margin: 15px 0 30px 0;
	}
	#header img.sp{
		margin:0 auto;
	}

	#header h3 {
		font-size: 1.5rem;
		line-height: 2rem;
		margin: 25px 0  10px 0;
	}



	#header_bottom{
		background: url("../images/header_bottom.png")no-repeat bottom center;
		background-size: contain;
	}

	#header dl{
		display: block;
		padding: 0;
		background: none;
		margin: 0;
	}
	
	#header dl dt,
	#header dl dd{
		padding: 0;
		margin: 0;
		border: none;
	}
	#header dl dt{
		padding: 2rem 0;
	}



	#header_sp {
		position: relative;
		padding: 2rem;
	}
	#header_sp img{
		width: 100%;
		height: auto;
		margin-bottom: 1rem;
	}	
	#header_sp > div {
		position: absolute;
		bottom: -1.5rem; left:2rem;  right:2rem;
		z-index: 2;
		text-align: center;
		color: #FFF;
		font-weight: bold;
		line-height: 1rem;
    	background: #f15a24;
		padding: 1rem;
		border-radius: 1.5rem;
	}


}

