@charset "UTF-8";
html {
line-height: 1.15;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
 font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
body { margin: 0;}
#content { overflow: hidden;}
@media only screen and (max-width: 767px) {
body {min-width: 0;}
}
.wow:first-child {
visibility: hidden;
}
.cl{clear: both;}
.content {}
header,
article{
box-sizing: border-box;
width: 100%;
margin: 0 auto;
}
.fadein p{ padding-top: 10px;}
section{clear:both;}
:root { 
    --base-color: #000;
    --link-color: #0900F4;
    --linkhover-color: #999;
    --back-color: #f7f7f7;
    --border-color: #ccc;
    --white-color: #fff;
}
/*ページトップへ戻るボタン
-------------------------------------*/
#page-top {
position: fixed;
right: 10px;
bottom: 10px;
}
#page-top:hover{
opacity:0.8;
}
@media only screen and (max-width: 767px) {
#page-top {
width: 25%;
}
}


/*----------------------------------------------------
	イベント一覧
---------------------------------------------------*/
.second{
position: relative;
padding: 70px 20px 70px;
text-align: center;
background-image: url("../img/bg.png");
background-size: cover;
background-attachment: fixed;

}
@media only screen and (max-width: 1024px){
.second{
	background-image: url("../img/bg_sp.png");
}
}
@media only screen and (max-width: 767px){
.second{
padding: 50px 20px 40px;
	background-image: none;
}
.second::before {
content:"";
display:block;
position:fixed;
top:0;
left:0;
z-index:-1;
width:100%;
height:100vh;
background-repeat:no-repeat;
background-position:50% 100%;
background-image: url("../img/bg_sp.png");
background-size:cover;
}
}
.Ttl-main{
line-height: 3em;
font-weight: bold;
margin: 0px;
text-align: center;
font-size: 3rem;
}
.box-wrap-second{
max-width: 1200px;
width: 100%;
margin: 0px auto;
}
.box-wrap-second H1{
line-height: 3em;
font-weight: bold;
margin: 0px;
text-align: center;
font-size: 3rem;
}
.box-wrap-second H2{
font-weight: bold;
padding-bottom: 40px;
text-align: center;
font-size: 1.5rem;
line-height: 3rem;
}
.vMid_b15{font-size: 1.5em;}
.c_green{color: #028881;}
.c_yellow{color: #e8bd2a;}
.c_blue{color: #1895d3;}
@media screen and (max-width:1024px){
.box-wrap-second H1{
line-height: 1.5em;
margin-bottom: 50px;
}
}
@media screen and (max-width:767px){
.box-wrap-second H1{
line-height: 1.55em;
font-size: 2.1rem;
text-align: left;
margin-bottom: 20px;
}
.box-wrap-second H2{
font-weight: bold;
padding-bottom: 0px;
text-align: center;
font-size: 1.2rem;
text-align: left;
line-height: 2.1rem;
}
.Ttl-main{
font-size: 1.3rem;
line-height: 3em;
font-weight: bold;
margin-top: 10px;
text-align: center;
}
}

/*----------------------------------------------------
	会場マップ
---------------------------------------------------*/
#contents02_area {
background-color: #60d227;
margin: 0px auto;
position: relative;
padding: 0px 20px 0px;
}
#wrapper_map{
width: 1000px;
height: auto;
margin:0% auto;
padding:4% 0.5% 4%;
max-width:95%;
position:relative;
}
.maplist_contents_title {
	max-width:400px;
	width: 100%;
	height:auto;
	margin:0 auto 60px;
	text-align:center;
	color: #2d210b;	line-height: 2rem;
}
.maplist_contents_title img{
width: 30%;
}
.maplist_contents_title h1 {
font-size: 3rem;
letter-spacing: 6px;	
margin: 20px auto 50px;
color: #FFFFFF;
}
#wrapper_map table {
margin: 0px auto;
border-spacing: 10px;
border-collapse:separate;
margin-top: 50px;
}
#wrapper_map .tbl-r02 th {
border-radius: 40px;
font-size: 1em;
width: 20%;
text-align: center;
vertical-align: middle;
background-color: #FFF;
letter-spacing: 2px;
font-weight:normal;
color: #206000;
}
#wrapper_map .tbl-r02 td {
width: 80%;
padding: 10px;
line-height: 1.8rem;
color: #FFFFFF;
font-size: 1.2em;
}

#wrapper_map_bn{
width: 1000px;
margin:3.5% auto 0%;
max-width:95%;
position:relative;
text-align: center;
}
@media screen and (max-width:599px){
#wrapper_map_bn{padding:7% 0% 0%;}
}
a.btn--map {
  color: #fff;
  background-color: #eb6100;
		  font-size: 1.2rem;
  padding: 1.5rem 2rem 1.5rem 2rem;
  border-radius: 100vh;
}
a.btn--map:hover {
  color: #fff;
  background: #f56500;
}
a.btn--map i.fa {
  margin-left: 1rem;
}
/* 狭いブラウザとタブレット向け */
@media screen and (max-width:1024px){
#wrapper_map .tbl-r02 th,
#wrapper_map .tbl-r02 td {
display: block;
width: 100%;
font-size: 1.3em;
line-height: 2.5rem;
}
#wrapper_map .tbl-r02 th {padding: 5px 0;width: 30%;letter-spacing: 0px;}
}

@media screen and (max-width:767px){
.maplist_contents_title {
	margin:0px auto 0px;
	line-height: 1rem;
	
}
.maplist_contents_title img{
width: 15%;margin-bottom: 5px;
}
.maplist_contents_title h1 {
font-size: 1.2em;
letter-spacing: 0px;	
margin: 5px auto 30px;
}
a.btn--map {
		  font-size: 1rem;
  padding: 1rem 1.5rem 1rem 1.5rem;
  border-radius: 100vh;
}
}


@media screen and (max-width:599px){
#contents02_area {
background-size:contain;
}
#wrapper_map{padding:7% 0% 7%;}
#wrapper_map .tbl-r02 th,
#wrapper_map .tbl-r02 td {
font-size: 0.85em;line-height: 1.5rem;
}
.btn span{
font-size: 1rem;
}
}
@media screen and (max-width:320px){
a.btn--map {
		  font-size: 0.9rem;
  padding: 0.5em 1.2rem 0.5rem 1.2rem;
  border-radius: 100vh;
}
}

/*----------------------------------------------------
	会場内マップここまで
---------------------------------------------------*/



/*----------------------------------------------------
	バナーエリア
---------------------------------------------------*/

#bn_area {
background-color: #eff3f7;
margin: 0px auto;
position: relative;
padding: 0px 20px 0px;
text-align: center
}
#bn_area_inner{
max-width: 1000px;
width: 70%;
height: auto;
margin:0% auto;
padding:2% 0.5% 0%;
max-width:95%;
}
@media screen and (max-width:599px){
#bn_area {padding: 0px 0px 0px;}
#bn_area_inner{padding:7% 0% 7%;}
}

/*----------------------------------------------------
	フッターここまで
---------------------------------------------------*/




/*----------------------------------------------------
	フッター
---------------------------------------------------*/
#footer_area {
background-color: #494949;
margin: 0px auto;
position: relative;
padding: 0px 20px 0px;
}
#footer_area_inner{
width: 1400px;
height: auto;
margin:0% auto;
padding:2% 0.5% 0%;
max-width:95%;
position:relative;
}

#footer_area_inner table {
margin: 0px auto;
border-spacing: 10px;
border-collapse:separate;
color: #DDDDDD;
font-size: 1em;
}
#footer_area_inner .tbl-r02 th {
width: 8%;
text-align: center;
vertical-align: middle;
font-weight:normal;
}
#footer_area_inner .tbl-r02 td {
width: 92%;
padding: 10px;
line-height: 1.8rem;
}
.footer{
position: relative;
padding: 30px 20px;
letter-spacing: 1px;
font-size: 0.7em;
color: #808080;
margin: 0px;
text-align: center;
}
@media only screen and (max-width: 1024px) {
#footer_area_inner .tbl-r02 th {width: 15%;}
#footer_area_inner .tbl-r02 td {width: 85%;}
.footer{
padding: 10px 10px;
font-size: 0.35em;
}
}
@media screen and (max-width:599px){
#footer_area {padding: 0px 0px 0px;}
#footer_area_inner{padding:7% 0% 7%;}
#footer_area_inner table {font-size: 0.85em;}
#footer_area_inner .tbl-r02 th {width: 24%;vertical-align: top;
line-height: 1.4rem;}
#footer_area_inner .tbl-r02 td {
padding: 0px;vertical-align: top;
line-height: 1.4rem;
}
}
@media screen and (max-width:320px){
#footer_area_inner .tbl-r02 th {width: 30.5%;}
}
/*----------------------------------------------------
	フッターここまで
---------------------------------------------------*/


/*----------------------------------------------------
	インフラフォトについて
---------------------------------------------------*/
#contents04_area {
margin: 0px auto;
}
.contents04_inner {
width: 94%;
margin: 0 auto;
padding-bottom: 0px;
}
.contents04_inner_main {
width: 90%;
margin: 0 auto;
padding: 70px;}
@media screen and (max-width:1024px){
.contents04_inner_main {
width: 89%;
padding: 30px 0px;
}
}
.flex_col3 {
  width: 100%;
  display: flex;
}
.flex_col3 .text_area { width: 44%;}
.flex_col3 .text_area H1{ font-size: 2rem;margin-bottom: 30px;}
.flex_col3 .text_area p{ line-height: 2rem;font-size:1.2rem;}
.flex_col3 .img_area { width: 35%;}
.flex_col3 .text_area{ margin-right: 7%;margin-left: 10%;}

@media only screen and (max-width: 1024px) {
.flex_col3 {
  width: 100%;
  display: flex;
}
.flex_col3 .text_area,.flex_col3 .img_area {
  width: 100%;
}
.flex_col3 .text_area H1{ font-size: 1.4rem;margin: 30px 0;}
.parent1 .text_area{
margin-right: 10px;
margin-left: 0%;
}
.parent1{
flex-direction: column-reverse
}
}
@media only screen and (max-width: 599px) {
.flex_col3 .text_area H1{ font-size: 1.3rem;margin: 30px 0;line-height: 2rem;}
.flex_col3 .text_area p{
margin-top: 20px;
font-size:0.9rem;line-height: 1.6rem;
}
}
#wrapper_entry_bn{
width: 800px;
height: auto;
padding:10% 0%;
max-width:95%;
position:relative;
}
.btn {
display: block;
width: 400px;
height: 70px;
text-align: center;
line-height: 70px;
text-decoration: none;
border-radius: 50px;
font-weight: bold;
-webkit-transition: 0.2s;
-moz-transition: 0.2s;
-o-transition: 0.2s;
-ms-transition: 0.2s;
transition: 0.2s;
background-color: #ffa511;
}
.btn span{
font-size: 1.2rem;
color: #FFF;
position: relative;
padding-left: 30px;
letter-spacing: 3px;
}
.btn span::before,.btn_ins span::before{
content: "";
position: absolute;
top: 50%;
left: 0;
width: 7px;
height: 7px;
border-top: 2px solid #FFF;
border-right: 2px solid #FFF;
transform: rotate(45deg);
margin-top: -5px;	
}
@media screen and (max-width:599px){
#wrapper_entry_bn{padding:7% 0% 0%;}
.btn {
  width: 90%;
		height: 50px;
  line-height: 20px;
		padding: 15px 0;
		margin: 20px auto 30px;
}
.btn span{
font-size: 1rem;
}
}
.policy{
  margin: 20px auto;
  text-align:center;
}
/*----------------------------------------------------
	エントリーここまで
---------------------------------------------------*/
.f_s007{font-size: 0.7em;}
.f_s008{font-size: 0.8em;}
.f_cl_red{color: #FF0004;}
.pc-only { display:block; }
.sp-only { display:none; }
.br-tl { display:none; }
@media only screen and (max-width: 640px) {
.pc-only { display:none; }
.sp-only { display:block; }
}
@media only screen and (max-width: 1024px) {
.br-tl { display:block; }
}

/*----------------------------------------------------
	バナーアニメ
---------------------------------------------------*/
.fadeup {
animation-name:fadeUpAnime;
animation-duration:1s;
animation-delay: 1s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(20px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}
.fadeUp_logomovie {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

.blurTrigger{
    opacity: 0;
}
.bn_flex_02{
width: 100%;
display: flex;
flex-wrap: wrap;
}
.bn_flex_02 > *{
width: calc( 50% - 6px ) ;
margin-right: 12px;
margin-bottom: 12px;
}
.bn_flex_02 > *:nth-child(2n){
margin-right: auto;
}
.bn_flex_02 > * > *{
position: relative;
overflow: hidden
}
@media screen and (max-width: 960px) {
.bn_flex_02 > *{
width: 100%;
margin-right: auto;
}
}
.bn_flex_02  a img{
position:relative;
top:0;
}
.bn_flex_02  a img:hover{
top:-10px;
transition:0.3s;
opacity: 0.7;
}
.wrapper{
overflow: hidden;
}
.box{
width: 220px;
padding: 20px;
margin:0 20px 20px 0;
background: #666;
color: #fff;
box-sizing:border-box;
}
.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
from {
opacity: 0;
transform: translateY(100px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.fadeUpTrigger{
opacity: 0;
}