@charset "UTF-8";
/*-------------------------------
Reset STYLE
---------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a {
  color: #000; }
  a img {
    border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/*-------------------------------
original STYLE
---------------------------------*/
body {
  position: relative;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }
  body img {
    max-width: 100%;
    height: auto; }
  body .only_pc {
    display: inline; }
  body .only_sp {
    display: none; }
  body .md_up {
    display: none; }
  body::before {
    background: url(../images/bg.jpg) no-repeat center;
    /* 画像（ここにfixedは入れない） */
    background-size: cover;
    /* cover指定できる */
    content: "";
    display: block;
    position: fixed;
    /* 擬似要素ごと固定 */
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    /* 横幅いっぱい */
    height: 100vh;
    /* 縦幅いっぱい */ }

/* header */
#header {
  position: relative;
  display: block;
  width: 100%;
  height: 100px;
  margin: 0 auto;
  z-index: 999; }
  #header #head_title {
    display: block;
    position: relative;
    height: auto;
    width: 60%;
    color: #000;
    z-index: 0;
    padding: 80px 0 0 0;
    margin: 0 auto;
    text-align: center; }
    #header #head_title img {
      width: 100%;
      height: auto;
      max-width: 600px; }

/*-- main visual --*/
.main_visual {
  position: relative;
  height: calc(100vh - 100px);
  min-height: 900px; }
  .main_visual .visual_inner {
    position: relative;
    overflow: hidden;
    display: block;
    height: auto;
    margin: 0 auto;
    padding: 0;
    text-align: center; }
    .main_visual .visual_inner .visual_wrap {
      position: relative;
      overflow: hidden;
      padding: 0;
      margin: 0;
      height: auto; }
      .main_visual .visual_inner .visual_wrap .sponsor_set {
        padding: 30px 0;
        display: block;
        width: 96%;
        height: auto;
        margin: 150px auto 0;
        border-top: solid 2px #fff;
        border-bottom: solid 2px #fff;
        overflow: hidden; }
        .main_visual .visual_inner .visual_wrap .sponsor_set ul#sponsor_list {
          padding: 0 0 0;
          text-align: left;
          height: auto;
          display: block; }
          .main_visual .visual_inner .visual_wrap .sponsor_set ul#sponsor_list li {
            display: inline-block;
            width: 30%;
            margin: 0 1% 15px;
            text-align: center;
            color: #fff;
            font-size: 18px; }

/*-- footer --*/
footer {
  width: 100%;
  height: 10vh;
  display: block;
  position: absolute;
  bottom: 0;
  text-align: center;
  color: #000;
  padding: 0 0;
  margin: -200px auto 0;
  z-index: 9999; }
  footer .ogamen {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    vertical-align: bottom;
    width: 50%;
    height: auto;
    text-align: center; }
    footer .ogamen img {
      max-height: 350px; }
  footer p.credit {
    position: absolute;
    font-size: 11px;
    margin: 0 auto;
    display: block;
    bottom: 10px;
    left: 0;
    right: 0;
    color: #fff; }
    footer p.credit a {
      color: #fff;
      text-decoration: none; }
      footer p.credit a:hover {
        text-decoration: underline; }

/*-------------------------------
font style
---------------------------------*/
/*-------------------------------
color style
---------------------------------*/
/*-------------------------------
Media Queries style :: PC first
---------------------------------*/
@media screen and (max-width: 1240px) {
  /*-- main visual --*/
  .main_visual .visual_inner .visual_wrap .sponsor_set ul#sponsor_list li {
    font-size: 14px; } }

@media screen and (max-width: 1030px) {
  /*-- main visual --*/
  .main_visual .visual_inner .visual_wrap .sponsor_set ul#sponsor_list li {
    width: 30%;
    font-size: 14px; } }

@media screen and (max-width: 768px) {
  body .only_pc {
    display: inline; }
  body .only_sp {
    display: none; }
  body .md_up {
    display: inline; }
  /* header */
  #header {
    height: 50px;
    margin: 0 auto;
    z-index: 999; }
    #header #head_title {
      display: block;
      position: relative;
      height: auto;
      width: 90%;
      color: #000;
      z-index: 0;
      padding: 60px 0;
      margin: 0 auto;
      text-align: center; }
      #header #head_title img {
        width: 100%;
        height: auto;
        max-width: 600px; }
  /*-- main visual --*/
  .main_visual {
    position: relative;
    height: auto; }
    .main_visual .visual_inner .visual_wrap .sponsor_set {
      padding: 30px 0;
      display: block;
      width: 96%;
      height: auto;
      margin: 120px auto 0;
      border-top: solid 2px #fff;
      border-bottom: solid 2px #fff;
      overflow: hidden; }
      .main_visual .visual_inner .visual_wrap .sponsor_set ul#sponsor_list li {
        width: 47%;
        font-size: 14px;
        margin: 0 1% 10px; }
  /*-- footer --*/
  footer {
    position: relative;
    height: auto;
    min-height: 300px; }
    footer .ogamen {
      position: absolute;
      bottom: 0;
      left: none;
      right: none;
      margin: 0 auto;
      vertical-align: bottom;
      width: 100%;
      height: auto;
      text-align: center; }
      footer .ogamen img {
        max-height: 300px; } }

@media screen and (max-width: 480px) {
  body .only_pc {
    display: none; }
  body .only_sp {
    display: inline; }
  body .md_up {
    display: inline; }
  /* header */
  #header {
    height: 50px;
    margin: 0 auto;
    z-index: 999; }
    #header #head_title {
      display: block;
      position: relative;
      height: auto;
      width: 90%;
      color: #000;
      z-index: 0;
      padding: 60px 0;
      margin: 0 auto;
      text-align: center; }
      #header #head_title img {
        width: 100%;
        height: auto;
        max-width: 600px; }
  /*-- main visual --*/
  .main_visual {
    position: relative;
    height: auto; }
    .main_visual .visual_inner .visual_wrap .sponsor_set {
      padding: 30px 0;
      display: block;
      width: 96%;
      height: auto;
      margin: 120px auto 0;
      border-top: solid 2px #fff;
      border-bottom: solid 2px #fff;
      overflow: hidden; }
      .main_visual .visual_inner .visual_wrap .sponsor_set ul#sponsor_list {
        text-align: center; }
        .main_visual .visual_inner .visual_wrap .sponsor_set ul#sponsor_list li {
          width: 80%;
          font-size: 15px;
          margin: 0 auto 15px; }
  /*-- footer --*/
  footer {
    position: relative;
    width: 100%;
    min-height: 200px;
    height: auto;
    display: block;
    text-align: center;
    color: #000;
    padding: 0 0;
    margin: 0 auto 0;
    z-index: 0; }
    footer .ogamen {
      position: absolute;
      bottom: 0;
      left: none;
      right: none;
      margin: 0 auto;
      vertical-align: bottom;
      width: 100%;
      height: auto;
      text-align: center; }
      footer .ogamen img {
        max-height: 400px; } }
