@charset "utf-8";

a,a:visited {
  outline: none;
  color: #f08;
}
a:hover {
  text-decoration: none;
  outline: none;
  color: #f0c;
}
a[href*="tel:"] { cursor: default; }

p {
  margin: 0 0 0.7em;
  background: url(../img/transparent.png);
}
p:last-child {
  margin-bottom: 0;
}
td { background: url(../img/transparent.png); }

img { vertical-align: bottom; }

html {
  position: relative;
  min-height: 100%;
  font-size: 6.25%;
  overflow-y: scroll;
}
body {
  min-height: 100%;
  font: 10rem/1 YakuHanJPs, "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", sans-serif;
  color: #fff;
}
.mac body, .safari body { font-family: YakuHanJPs, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif; }

@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 300;
  src: url("../font/YakuHanJPs/YakuHanJPs-DemiLight.eot");
  src: url("../font/YakuHanJPs/YakuHanJPs-DemiLight.woff2") format("woff2"), url("../font/YakuHanJPs/YakuHanJPs-DemiLight.woff") format("woff");
}

h1,h2,h3,h4,h5,h6 {
  margin: 0;
}
ul,ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
dl,dt,dd {margin: 0;}
button {
  padding: 0;
  border: none;
  outline: none;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
button:active,button:focus {
  border: none;
  outline: none;
}

a,button { -webkit-tap-highlight-color:rgba(255,255,255,0.25); }

figure {
  margin: 0;
}
em { font-style: normal; }

b,em {
  color: #e90000;
}
.f_blue {
  color: #0000e9;
}
.f_small {
  font-size: 80%;
}
.taishi {
  color: #e4007f;
}

.text_center {
  padding: 0 10px 0 0;
  text-align: center;
}
.text_right {
  text-align: right;
}
.brackets_mgn {
  margin: 0 -0.5em;
}
.new:after {
  content: url(../img/new.png);
  display: block;
  position: absolute;
  top: -8px;
  right: -5px;
  -webkit-animation: blink 2.5s ease-in-out infinite;
  animation: blink 2.5s ease-in-out infinite;
  z-index: 100;
}

body:after {
  content: "";
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  background: url(../img/bg.png) 0 0 repeat;
}

/* ヘッダー */
.header_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
#gloNav ul li a:after {
  position: absolute;
  top: 0; left: 0;
  content: "";
  display: block;
  background: 0 0 / 100% auto no-repeat;
  opacity: 0;
}
#gloNav ul li a.top:after {
  background-image: url(../img/nav_top_ov.png);
}
#gloNav ul li a.about:after {
  background-image: url(../img/nav_about_ov.png);
}
#gloNav ul li a.companies:after {
  background-image: url(../img/nav_companies_ov.png);
}
#gloNav ul li a.event:after {
  background-image: url(../img/nav_event_ov.png);
}
#gloNav ul li a.access:after {
  background-image: url(../img/nav_access_ov.png);
}
#gloNav ul li a.map:after {
  background-image: url(../img/nav_map_ov.png);
}

#gloNav ul li a:hover:after,
#gloNav ul li a.selected:after {
  opacity: 1;
}
ul.share li {
  display: block;
  background: #fff;
  padding: 2px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  line-height: 0;
}

/* コンテンツ */
h1 {
  text-align: center;
}
#contents {
  position: relative;
  z-index: 1;
  padding: 0 0 7vw;
}
#contents main {
  position: relative;
}

.info_bnr {
  text-align: center;
  text-decoration: none;
}
.info_bnr a {
  display: block;
  background: #e4007f;
  border: 3px solid #e4007f;
  -webkit-border-radius: 14px;
  border-radius: 14px;
  -webkit-box-shadow: inset 0 0 0 3px #fff, 3px 3px 8px rgba(60,126,0,0.5);
  box-shadow: inset 0 0 0 3px #fff, 3px 3px 8px rgba(60,126,0,0.5);
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /*width: 960px;*/
  width: 95%;
  margin: 0 auto;
}

/* フッター */
.footer_bg {
  position: relative;
  z-index: 2;
  background: url(../img/bg_blue.png) 0 0 repeat-x;
}
footer {
  position: relative;
  margin: 0 auto;
  font-size: 17rem;
}
.partners {
  margin: 0 0 32px;
  line-height: 1.3;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 1px;
}
.partners tr {
}
.partners th {
  width: 9em;
  padding: 0.6em;
  background: #0076db;
  text-align: left;
  font-weight: 100;
}
.partners td {
  padding: 0.6em 0 0.6em 0.5em;
  /*white-space: nowrap;*/
}
.committee {
  display: inline-block;
  margin: 0 0 0 0.2em;
  font-size: 13rem;
  text-indent: -0.5em;
}
.committee .ruby {
  position: relative;
  display: inline-block;
  padding: 0.8em 0 0;
  text-indent: 0;
}
.committee .rt {
  position: absolute;
  top: 2px;
  left: 2px;
  display: block;
  width: 3em;
  font-size: 50%;
  line-height: 1;
  letter-spacing: 0.3em;
}
.copyright {
  padding: 0.7em 3%;
  background: #0064d5;
  text-align: left;
  font-size: 14rem;
  line-height: 1.3;
}

.mCSB_inside > .mCSB_container {
  margin-right: 10px;
}
.mCSB_scrollTools {
  width: 10px;
}
.mCSB_scrollTools .mCSB_draggerContainer {
  right: 0;
}


/* =============================================================================
フロートさせたコンテンツの高さを親要素が認識しないバグを修正　Clearfix
========================================================================== */

/* For modern browsers */
.cf:before, .cf:after {
  content: "";
  display: table;
}

.cf:after { clear: both; }

/* For IE 6/7 (trigger hasLayout) */
.cf { zoom: 1; }

* html .cf { height: 1px;/*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}