@charset 'utf-8';
/* ============ RESET ============ */
html {
  color: #000;
  background: #FFF;
}
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;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset, img {
  border: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}
ol, ul {
  list-style: none;
}
caption, th {
  text-align: left;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
q:before, q:after {
  content: '';
}
abbr, acronym {
  border: 0;
  font-variant: normal;
}
sup {
  vertical-align: text-top;
}
sub {
  vertical-align: text-bottom;
}
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
input, textarea, select {
  *font-size: 100%;
}
legend {
  color: #000;
}
article, aside, audio, bb, canvas, datagrid, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video {
  display: block;
  margin: 0;
  padding: 0;
}
.cf:after,
.pageMenu ul:after,
.post:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.cf {
  min-height: 1px;
}

.main_wrap p { margin: 0 0 15px; padding: 0 30px 0; font-size: 16px; line-height: 1.8; }
 
/* items */
/* ============ STYLE ============ */
* {
  box-sizing: border-box;
}
html {

}
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 500;
  font-size: 16px;
  line-height: 1.6em;
  letter-spacing: 1px;
  color: #323232;
  background-image: url('../img/bg.jpg');
  background-size: cover;
  position: relative;
}
a:hover {
	cursor: pointer !important;
	opacity: 0.7;
}
img {
  vertical-align: bottom;
  max-width: 100%;
}
body.scroll-disable {
  overflow: hidden;
}

.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
@media only screen and (max-width: 640px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}

.mt05 {margin-top: 5px;}
.mt15 {margin-top: 15px;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px;}
.mt50 {margin-top: 50px;}
.mt60 {margin-top: 60px;}
.mt70 {margin-top: 70px;}
.mt80 {margin-top: 80px;}
.mt90 {margin-top: 90px;}

.mb10 {margin-bottom: 10px;}
.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}
.mb40 {margin-bottom: 40px;}
.mb50 {margin-bottom: 50px;}
.mb60 {margin-bottom: 60px;}
.mb70 {margin-bottom: 70px;}
.mb80 {margin-bottom: 80px;}
.mb90 {margin-bottom: 90px;}

.ml10 {margin-left: 10px;}
.ml20 {margin-left: 20px;}
.ml30 {margin-left: 30px;}
.ml40 {margin-left: 40px;}
.ml50 {margin-left: 50px;}
.ml60 {margin-left: 60px;}
.ml70 {margin-left: 70px;}
.ml80 {margin-left: 80px;}
.ml90 {margin-left: 90px;}

.mr10 {margin-right: 10px;}
.mr20 {margin-right: 20px;}
.mr30 {margin-right: 30px;}
.mr40 {margin-right: 40px;}
.mr50 {margin-right: 50px;}
.mr60 {margin-right: 60px;}
.mr70 {margin-right: 70px;}
.mr80 {margin-right: 80px;}
.mr90 {margin-right: 90px;}

.mass:after{content:"";clear:both;display:block;}
.mass10{float:left;width:10%;}
.mass20{float:left;width:20%;}
.mass20a{float:left;width:20%;}
.mass30{float:left;width:30%;}
.mass40{float:left;width:40%;}
.mass50{float:left;width:50%;}
.mass60{float:left;width:60%;}
.mass70{float:left;width:70%;}
.mass80{float:left;width:80%;}
.mass90{float:left;width:90%;}
.mass100{float:left;width:100%;}
.mass25{float:left;width:25%;}
.mass25f{float:left;width:25%;}
.mass33{float:left;width:33.333333%;}
.mass75{float:left;width:75%;}
@media only screen and (max-width:769px){
  .mass25{float:left;width:33.333333%;}
}
@media only screen and (max-width:640px){
  .mass10{float:left;width:50%;}
  .mass20{float:left;width:20%;}
  .mass20a{float:left;width:50%;}
  .mass30{float:none;width:100%;}
  .mass40{float:left;width:100%;}
  .mass50{float:none;width:100%;}
  .mass60{float:left;width:100%;}
  .mass70{float:none;width:100%;}
  .mass80{float:left;width:50%;}
  .mass90{float:left;width:50%;}
  .mass100{float:none;width:100%;}
  .mass25{float:left;width:50%;}
  .mass25f{float:none;width:100%;}
  .mass33{float:left;width:50%;}
  .mass75{float:none;width:100%;}
}

/* -----------------------
  common
-------------------------- */
.inner {
  margin: 0 auto;
  max-width: 1020px;
}
@media only screen and (max-width: 640px) {
  .inner {
    width: 95%;
  }
}
.ttlimg {
	width: 300px;
	margin: 0 auto 40px;
}
.ttlimg img {
	width: 100%;
}
.ttlimg-b {
	width: 480px;
	margin: 40px auto 20px;
}
.ttlimg-b img {
	width: 100%;
}
@media only screen and (max-width:640px){
  .ttlimg {
    width: 60%;
    margin: 0 auto 20px;
  }
  .ttlimg-b {
    width: 90%;
    margin: 0 auto;
  }
}

/* -----------------------
  mainvisual
-------------------------- */
#mainvisual img {
	width: 100%;
}


/* -----------------------
  counter
-------------------------- */
#counter {
	margin: 50px 0;
}
.fwimg {
	text-align: right;
}
.fwimg img {
	padding-top: 20px;
	width: 180px !important;
}
.mass120 {
	float: left;
	width: 110px;
	margin: 0 10px;
}
.countnumber {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 8px;
	text-align: center;
	font-size: 64px;
	font-weight: bold;
	color: #1b409a;
	font-family: 'Helvetica';
	background-color: #fff;
	border-radius: 8px;
}
.countday {
	font-size: 16px;
}
@media only screen and (max-width: 640px) {
  #counter {
    margin: 30px 0;
  }
  .fwimg {
    text-align: center;
  }
  .fwimg img {
    padding: 20px 0 10px;
    width: 140px !important;
  }
  .mass120 {
    float: left;
    width: 25%;
    margin: 0;
  }
  .countnumber {
    width: 95%;
    margin: 0 auto;
    padding: 20px 0 5px;
    font-size: 46px;
  }
}

/* -----------------------
  globalnav
-------------------------- */
#globalnav img {
	width: 98%;
	margin: 0 auto;
}


/* -----------------------
  globalnav bottom
-------------------------- */
#globalnav_bottom {
	padding: 60px 0;
	background-color: #fff;
}
#globalnav_bottom img {
	width: 98%;
	margin: 0 auto;
}
@media only screen and (max-width: 640px) {
  #globalnav_bottom {
    padding: 30px 0;
  }
}



/* -----------------------
  news
-------------------------- */
#news {
	margin: 60px 0;
}
.newsbox {
	background-color: #fff;
	border-radius: 8px;
}
#news ul {
	width: 80%;
	margin: 0 auto;
	padding: 30px 0;
}
#news li {
	margin: 10px 0;
	padding: 0 0 5px;
	border-bottom: solid 1px #1b409a;
}
#news li a {
	color: #1b409a;
	text-decoration: none;
}
#news li a:hover {
	color: #c60000;
}
@media only screen and (max-width: 640px) {
  #news {
    margin: 30px 0;
  }
  #news ul {
    width: 90%;
    padding: 20px 0;
  }
}



/* -----------------------
  event main
-------------------------- */
#event-main {
	padding: 20px 0;
}
.bnrimg {
	padding: 10px;
}

/* -----------------------
  event
-------------------------- */
#event {
	padding: 60px 0;
}
.eventimg {
	padding: 20px 0;
}
.avexbox {
  margin-top: 30px;
  padding: 15px;
  text-align: center;
  background-color: #fff;
}
.aveximg140 {
  width: 140px;
  margin: 10px auto 0;
}
.aveximg300 {
  width: 340px;
  margin: 10px auto 20px;
}
.avextxt {
  padding: 10px 20px;
}
@media only screen and (max-width: 640px) {
  #event {
    padding: 30px 0;
  }
}



/* -----------------------
  map&access
-------------------------- */
#map_access {
	padding: 60px 0;
	background-color: #f4f4f4;
}
.wrap {
	width: 85%;
	margin: 0 auto;
	text-align: center;
}
.maptbl {
	width: 100%;
	margin: 0 auto;
}
.maptbl th,td {
	padding: 20px;
	border: solid 3px #f4f4f4;
}
.maptbl th {
	width: 20%;
	text-align: center;
	background-color: #fff;
}
.maptbl td {
	width: 80%;
  text-align: left !important;
	background-color: #fff;
}
.mapbox {
	margin: 30px 0 0;
}
.txt_link {
	margin: 20px auto 0;
	text-align: center;
	font-size: 14px;
}
.txt_link a {
	color: #000;
}
@media only screen and (max-width: 640px) {
  #map_access {
    padding: 30px 0 60px;
  }
}



/* -----------------------
  boothlist
-------------------------- */
#boothlist {
	padding: 60px 0;
	background-color: #fff;
}
.forward_link {
	width: 300px;
	margin: 40px auto 0;
	padding: 5px 20px;
	text-align: center;
	font-size: 14px;
	background-color: #000;
	border-radius: 90px;
}
.forward_link a {
	color: #fff;
	text-decoration: none;
}
.container {overflow: hidden;}
:root {
  --numOfListA: 57;
  --imgW: 200px;
  --imgH: 133px;
  --mBetweenImg: 30px;
}
.slider-container {
  display: flex;
  font-size: 0;
  animation: slideshow 100s linear infinite;
}
.slider-img {
  width: var(--imgW);
  height:  var(--imgH);
}
.slider-img + .slider-img {margin-left: var(--mBetweenImg);}
@keyframes slideshow {100% {transform: translateX(calc((var(--numOfListA) * var(--imgW) + var(--mBetweenImg) * var(--numOfListA)) * -1));}}

@media only screen and (max-width:640px){
  #boothlist {
    padding: 30px 0 60px;
    background-color: #fff;
  }
  :root {
    --imgW: 140px;
    --imgH: 93px;
  }
}


/* -----------------------
  photos
-------------------------- */
#photos {
	padding: 60px 0;
	background-color: #f4f4f4;
}
#photos img {
	padding: 5px;
}
@media only screen and (max-width:640px){
  #photos {
    padding: 30px 0 60px;
  }
}


/* -----------------------
  footer
-------------------------- */
.footer {
	padding: 30px 0 5px;
	color: #fff;
	background-color: #1b409a;
}
.footerlogo {
	width:200px;
	margin: 0 0 0 auto;
}
.footerttl {
	font-weight: bold;
}
.footertxt {
	font-size:14px;
}
.copy {
	margin-top: 20px;
	font-size: 12px;
	text-align: center;
}
@media only screen and (max-width:640px){
  .footer {
    text-align: center;
  }
  .footerlogo {
    width:200px;
    margin: 0 auto 10px;
  }
  .copy {
    font-size: 10px;
  }
}


/* -----------------------
  linebtn
-------------------------- */
p.linebtn{
    position: fixed;
    right: 0;
    top: 50%;
}
p.linebtn a{
    width: 100px;
    height: 100px;
    display: block;
}
@media only screen and (max-width:640px){
  p.linebtn a{
      width: 80px;
      height: 80px;
      display: block;
  }
}











