@charset "UTF-8";
* {
  margin: 0;
  padding: 0; }

body {
  overflow-x: hidden; }

img {
  vertical-align: bottom; }

.fas {
  margin-right: 0.5em; }

#loader {
  width: 100%;
  height: 100vh;
  position: fixed;
  background: black;
  left: 0;
  top: 0;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 640px) {
    #loader #svg {
      width: 20vw;
      height: 20vw;
      position: absolute; }
      #loader #svg img {
        -webkit-animation: spin 1.5s linear infinite;
                animation: spin 1.5s linear infinite;
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #loader #bgmSelect {
      display: none;
      width: 50vw;
      padding: 1em;
      color: white;
      background-color: #8311ea;
      border-radius: 5px;
      text-align: center;
      border: 2px solid #5c00af;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #loader #bgmSelect p {
        font-weight: bold;
        margin-bottom: 0.7rem;
        color: #2c0054; }
      #loader #bgmSelect ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        list-style: none;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        #loader #bgmSelect ul li {
          width: 47%;
          background-color: #332c67;
          border-radius: 4px;
          padding: 0.5em 0;
          -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
                  box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
          cursor: pointer; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    #loader #svg {
      width: 20vw;
      height: 20vw;
      position: absolute; }
      #loader #svg img {
        -webkit-animation: spin 1.5s linear infinite;
                animation: spin 1.5s linear infinite;
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #loader #bgmSelect {
      display: none;
      width: 50vw;
      padding: 1em;
      color: white;
      background-color: #8311ea;
      border-radius: 5px;
      text-align: center;
      border: 2px solid #5c00af;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #loader #bgmSelect p {
        font-weight: bold;
        margin-bottom: 0.7rem;
        color: #2c0054; }
      #loader #bgmSelect ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        list-style: none;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        #loader #bgmSelect ul li {
          width: 47%;
          background-color: #332c67;
          border-radius: 4px;
          padding: 0.5em 0;
          -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
                  box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
          cursor: pointer; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    #loader #svg {
      width: 200px;
      height: 200px;
      position: absolute; }
      #loader #svg img {
        -webkit-animation: spin 1.5s linear infinite;
                animation: spin 1.5s linear infinite;
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #loader #bgmSelect {
      display: none;
      width: 300px;
      padding: 1em;
      color: white;
      background-color: #8311ea;
      border-radius: 5px;
      text-align: center;
      border: 2px solid #5c00af;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #loader #bgmSelect p {
        font-weight: bold;
        margin-bottom: 0.7rem;
        color: #2c0054; }
      #loader #bgmSelect ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        list-style: none;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        #loader #bgmSelect ul li {
          width: 47%;
          background-color: #332c67;
          border-radius: 4px;
          padding: 0.5em 0;
          -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
                  box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
          cursor: pointer; } }
  @media screen and (min-width: 1001px) {
    #loader #svg {
      width: 200px;
      height: 200px;
      position: absolute; }
      #loader #svg img {
        -webkit-animation: spin 1.5s linear infinite;
                animation: spin 1.5s linear infinite;
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #loader #bgmSelect {
      display: none;
      width: 300px;
      padding: 1em;
      color: white;
      background-color: #8311ea;
      border-radius: 5px;
      text-align: center;
      border: 2px solid #5c00af;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #loader #bgmSelect p {
        font-weight: bold;
        margin-bottom: 0.7rem;
        color: #2c0054; }
      #loader #bgmSelect ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        list-style: none;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        #loader #bgmSelect ul li {
          width: 47%;
          background-color: #332c67;
          border-radius: 4px;
          padding: 0.5em 0;
          -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
                  box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
          cursor: pointer; } }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

body::before {
  z-index: -1;
  top: 0;
  left: 0;
  content: ""; }
  @media screen and (max-width: 640px) {
    body::before {
      background: url(../images/common/bg_sp.jpg) black no-repeat top center;
      background-size: 100% auto;
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100%;
      overflow: hidden;
      padding-bottom: 108px; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    body::before {
      background: url(../images/common/bg_sp.jpg) black no-repeat top center;
      background-size: 100% auto;
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100%;
      overflow: hidden;
      padding-bottom: 108px; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    body::before {
      background: url(../images/common/bg_pc.jpg);
      background-repeat: no-repeat;
      background-position: top center;
      position: fixed;
      width: 100%;
      height: 100%; } }
  @media screen and (min-width: 1001px) {
    body::before {
      background: url(../images/common/bg_pc.jpg);
      background-repeat: no-repeat;
      background-position: top center;
      position: fixed;
      width: 100%;
      height: 100%; } }

body {
  font-family: "Helvetica Neue",Helvetica,Arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif; }
  @media screen and (max-width: 640px) {
    body {
      font-size: 3vw; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    body {
      font-size: 3vw; } }

#bigTrailer {
  position: fixed;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 80; }
  @media screen and (max-width: 640px) {
    #bigTrailer #youtubeWrapper {
      position: relative;
      padding-top: 56%;
      width: 100%; }
      #bigTrailer #youtubeWrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    #bigTrailer #btnTrailerClose {
      position: absolute;
      top: -1.5em;
      right: 0.5em;
      font-size: 2em;
      color: white;
      cursor: pointer; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    #bigTrailer #youtubeWrapper {
      position: relative;
      padding-top: 56%;
      width: 100%; }
      #bigTrailer #youtubeWrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    #bigTrailer #btnTrailerClose {
      position: absolute;
      top: -1.5em;
      right: 0.5em;
      font-size: 2em;
      color: white;
      cursor: pointer; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    #bigTrailer #youtubeWrapper {
      width: 70%;
      padding-top: 39vw;
      position: relative; }
      #bigTrailer #youtubeWrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    #bigTrailer #btnTrailerClose {
      position: absolute;
      top: -1.5em;
      right: 0;
      font-size: 2em;
      color: white;
      cursor: pointer; } }
  @media screen and (min-width: 1001px) {
    #bigTrailer #youtubeWrapper {
      width: 70%;
      padding-top: 39vw;
      position: relative; }
      #bigTrailer #youtubeWrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    #bigTrailer #btnTrailerClose {
      position: absolute;
      top: -1.5em;
      right: 0;
      font-size: 2em;
      color: white;
      cursor: pointer; } }

#sitetopHeader {
  background: black;
  border-bottom: 1px solid #868788;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
  /* right side icons */ }
  @media screen and (max-width: 640px) {
    #sitetopHeader #logoHM {
      width: 36vw;
      max-height: 235px;
      margin-left: 2vw; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    #sitetopHeader #logoHM {
      width: 36vw;
      max-height: 235px;
      margin-left: 2vw; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    #sitetopHeader #logoHM {
      width: 235px;
      margin-left: 15px; } }
  @media screen and (min-width: 1001px) {
    #sitetopHeader #logoHM {
      width: 235px;
      margin-left: 15px; } }
  #sitetopHeader #logoHM img {
    margin: 0 auto;
    width: 100%;
    height: auto; }
  #sitetopHeader ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    list-style: none; }
    @media screen and (max-width: 640px) {
      #sitetopHeader ul li {
        margin-left: 2vw; }
      #sitetopHeader ul .btnSocial {
        width: 6vw;
        height: 6vw; }
        #sitetopHeader ul .btnSocial img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
      #sitetopHeader ul #logoSwitch {
        width: 10vw;
        height: 10vw;
        overflow: hidden; }
        #sitetopHeader ul #logoSwitch img {
          margin: 0 auto;
          width: 100%;
          height: auto; } }
    @media screen and (min-width: 641px) and (max-width: 799px) {
      #sitetopHeader ul li {
        margin-left: 2vw; }
      #sitetopHeader ul .btnSocial {
        width: 6vw;
        height: 6vw; }
        #sitetopHeader ul .btnSocial img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
      #sitetopHeader ul #logoSwitch {
        width: 10vw;
        height: 10vw;
        overflow: hidden; }
        #sitetopHeader ul #logoSwitch img {
          margin: 0 auto;
          width: 100%;
          height: auto; } }
    @media screen and (min-width: 800px) and (max-width: 1000px) {
      #sitetopHeader ul li {
        margin-left: 15px; } }
    @media screen and (min-width: 1001px) {
      #sitetopHeader ul li {
        margin-left: 15px; } }

header {
  overflow: hidden; }
  @media screen and (max-width: 640px) {
    header h1 {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100vw;
      height: 76vw;
      overflow: hidden;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      header h1 > div {
        position: relative;
        z-index: 2;
        -webkit-transform: translateY(-5vw);
                transform: translateY(-5vw); }
        header h1 > div img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    header h1:before, header h1:after {
      display: block;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100vw;
      height: 76vw;
      z-index: 1; }
    header h1:before {
      background: url(../images/common/bg_header_r.png) no-repeat center bottom;
      background-size: 100%; }
    header h1:after {
      background: url(../images/common/bg_header_l.png) no-repeat center bottom;
      background-size: 100%; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    header h1 {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100vw;
      height: 76vw;
      overflow: hidden;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      header h1 > div {
        position: relative;
        z-index: 2;
        -webkit-transform: translateY(-5vw);
                transform: translateY(-5vw); }
        header h1 > div img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    header h1:before, header h1:after {
      display: block;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100vw;
      height: 76vw;
      z-index: 1; }
    header h1:before {
      background: url(../images/common/bg_header_r.png) no-repeat center bottom;
      background-size: 100%; }
    header h1:after {
      background: url(../images/common/bg_header_l.png) no-repeat center bottom;
      background-size: 100%; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    header h1 {
      position: relative;
      width: 100%;
      height: 69vw;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      overflow: hidden; }
      header h1 > div {
        width: 100%;
        max-width: 920px;
        margin: 0 auto; }
      header h1 img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    header h1:before, header h1:after {
      position: absolute;
      display: block;
      content: '';
      width: 100vw;
      height: 69vw;
      top: 0;
      z-index: -1;
      left: 50%;
      margin-left: -50vw; }
    header h1:before {
      background: url(../images/common/bg_header_r.png) no-repeat center bottom;
      background-size: 100%; }
    header h1:after {
      background: url(../images/common/bg_header_l.png) no-repeat center bottom;
      background-size: 100%; } }
  @media screen and (min-width: 1001px) {
    header h1 {
      position: relative;
      width: 100%;
      height: 700px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      overflow: hidden; }
      header h1 > div {
        width: 920px; }
      header h1 img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    header h1:before, header h1:after {
      position: absolute;
      display: block;
      content: '';
      width: 1920px;
      height: 700px;
      top: 0;
      z-index: -1; }
    header h1:before {
      left: 50%;
      margin-left: -960px;
      background: url(../images/common/bg_header_pc_r.png) no-repeat center bottom;
      background-size: 100%; }
    header h1:after {
      left: 50%;
      margin-left: -960px;
      background: url(../images/common/bg_header_pc_l.png) no-repeat center bottom;
      background-size: 100%; } }
  @media screen and (max-width: 640px) {
    header #subcopy {
      width: 100%;
      margin-top: -16vw;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      overflow: hidden;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: relative;
      z-index: 2; }
      header #subcopy img {
        width: 96vw;
        height: auto; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    header #subcopy {
      width: 100%;
      margin-top: -16vw;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      overflow: hidden;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: relative;
      z-index: 2; }
      header #subcopy img {
        width: 96vw;
        height: auto; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    header #subcopy {
      width: 100%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      overflow: hidden;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-top: -13vw;
      position: relative;
      z-index: 2; }
      header #subcopy img {
        width: 80%;
        height: auto; } }
  @media screen and (min-width: 1001px) {
    header #subcopy {
      width: 620px;
      margin: -103px auto 0;
      z-index: 2; }
      header #subcopy img {
        margin: 0 auto;
        width: 100%;
        height: auto; } }
  @media screen and (min-width: 1001px) {
    header {
      width: 100%; } }

#bgmController {
  position: absolute;
  right: 0;
  cursor: pointer;
  z-index: 3; }
  @media screen and (max-width: 640px) {
    #bgmController {
      width: 17.81vw;
      height: 6vw;
      background-size: 100% auto;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    #bgmController {
      width: 17.81vw;
      height: 6vw;
      background-size: 100% auto;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    #bgmController {
      width: 114px;
      height: 39px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden; } }
  @media screen and (min-width: 1001px) {
    #bgmController {
      width: 114px;
      height: 39px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden; } }

#bgmController.on {
  background: url(../images/common/btn_vol_on.png) no-repeat;
  background-size: 100% auto; }

#bgmController.off {
  background: url(../images/common/btn_vol_off.png) no-repeat;
  background-size: 100% auto; }

nav {
  /* 公開前対応
  filter: grayscale(100%);
  opacity: 0.5;
*/ }
  @media screen and (max-width: 640px) {
    nav {
      margin-top: 5vw; }
      nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        padding: 0 3vw;
        list-style: none; }
        nav ul li {
          margin: 1vw 0;
          width: 44vw; }
          nav ul li img {
            margin: 0 auto;
            width: 100%;
            height: auto; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    nav {
      margin-top: 5vw; }
      nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        padding: 0 3vw;
        list-style: none; }
        nav ul li {
          margin: 1vw 0;
          width: 44vw; }
          nav ul li img {
            margin: 0 auto;
            width: 100%;
            height: auto; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    nav {
      margin: 30px 0; }
      nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 0 3vw;
        list-style: none; }
        nav ul li {
          margin: 1vw 0.5vw;
          width: 29vw; }
          nav ul li img {
            margin: 0 auto;
            width: 100%;
            height: auto; } }
  @media screen and (min-width: 1001px) {
    nav {
      width: 960px;
      margin: 30px auto; }
      nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        list-style: none; }
        nav ul li {
          margin: 10px 5px;
          width: 230px; }
          nav ul li img {
            margin: 0 auto;
            width: 100%;
            height: auto; } }

#news {
  color: #8d2de4;
  background-color: rgba(0, 0, 0, 0.29);
  border-top: 1px solid #8d2de4;
  border-bottom: 1px solid #8d2de4; }
  #news ul {
    list-style: none; }
    #news ul li {
      margin-bottom: 0.5em; }
    #news ul li:last-child {
      margin-bottom: 0; }
  @media screen and (max-width: 640px) {
    #news {
      padding-top: 0.5em;
      width: 90vw;
      margin: 1em auto 0; }
      #news ul {
        height: 13rem;
        overflow-y: scroll;
        margin: 5px 0 10px; }
        #news ul time {
          background: #8d2de4;
          color: black;
          padding: 0.4em 1em;
          border-radius: 3px;
          display: inline-block;
          margin-bottom: 0.3em;
          font-weight: bold;
          color: white; }
        #news ul span {
          display: block;
          color: white; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    #news {
      padding-top: 0.5em;
      width: 90vw;
      margin: 1em auto 0; }
      #news ul {
        height: 13rem;
        overflow-y: scroll;
        margin: 5px 0 10px; }
        #news ul time {
          background: #8d2de4;
          color: black;
          padding: 0.4em 1em;
          border-radius: 3px;
          display: inline-block;
          margin-bottom: 0.3em;
          font-weight: bold;
          color: white; }
        #news ul span {
          display: block;
          color: white; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    #news {
      padding-top: 10px;
      width: 93vw;
      max-width: 960px;
      margin: 0 auto 15px;
      padding-left: 10px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #news ul {
        margin: 5px 0 10px;
        height: 10rem;
        overflow-y: scroll; }
        #news ul time {
          background: #8d2de4;
          color: black;
          padding: 0.4em 1em;
          margin-right: 0.5em;
          border-radius: 3px;
          display: inline-block;
          font-weight: bold;
          color: white; }
        #news ul span {
          color: white; } }
  @media screen and (min-width: 1001px) {
    #news {
      padding-top: 10px;
      width: 960px;
      margin: 0 auto 15px;
      padding-left: 10px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #news ul {
        margin: 5px 0 10px;
        height: 10rem;
        overflow-y: scroll; }
        #news ul time {
          background: #8d2de4;
          color: black;
          padding: 0.4em 1em;
          margin-right: 0.5em;
          border-radius: 3px;
          display: inline-block;
          color: white; }
        #news ul span {
          color: white; } }

@media screen and (max-width: 640px) {
  section:not(#news):not(#info) {
    padding-top: 5vw;
    width: 93vw;
    margin: 0 auto 3vw; }
    section:not(#news):not(#info) #storyHeader {
      background: url(../images/ttl_story.png) bottom center no-repeat; }
    section:not(#news):not(#info) #systemHeader {
      background: url(../images/ttl_system.png) bottom center no-repeat; }
    section:not(#news):not(#info) #sscHeader {
      background: url(../images/ttl_artist.png) bottom center no-repeat; }
    section:not(#news):not(#info) #galleryHeader {
      background: url(../images/ttl_gallery.png) bottom center no-repeat; }
    section:not(#news):not(#info) #machinesHeader {
      background: url(../images/ttl_machines.png) bottom center no-repeat; }
    section:not(#news):not(#info) #bonusgameHeader {
      background: url(../images/ttl_bonusgame.png) bottom center no-repeat; }
    section:not(#news):not(#info) #campaignHeader {
      background: url(../images/ttl_campaign.png) bottom center no-repeat; }
    section:not(#news):not(#info) #contestHeader {
      background: url(../images/ttl_contest.png) bottom center no-repeat; }
    section:not(#news):not(#info) #makanaiHeader {
      background: url(../images/ttl_makanai.png) bottom center no-repeat; }
    section:not(#news):not(#info) h2 {
      height: 10vw;
      background-size: 100% !important;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden; }
    section:not(#news):not(#info) .windowMiddle {
      background: url(../images/common/part_windowmiddle.png) top center;
      background-size: 100%;
      padding: 0 4vw 2vw;
      color: white; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  section:not(#news):not(#info) {
    padding-top: 5vw;
    width: 93vw;
    margin: 0 auto 3vw; }
    section:not(#news):not(#info) #storyHeader {
      background: url(../images/ttl_story.png) bottom center no-repeat; }
    section:not(#news):not(#info) #systemHeader {
      background: url(../images/ttl_system.png) bottom center no-repeat; }
    section:not(#news):not(#info) #sscHeader {
      background: url(../images/ttl_artist.png) bottom center no-repeat; }
    section:not(#news):not(#info) #galleryHeader {
      background: url(../images/ttl_gallery.png) bottom center no-repeat; }
    section:not(#news):not(#info) #machinesHeader {
      background: url(../images/ttl_machines.png) bottom center no-repeat; }
    section:not(#news):not(#info) #bonusgameHeader {
      background: url(../images/ttl_bonusgame.png) bottom center no-repeat; }
    section:not(#news):not(#info) #campaignHeader {
      background: url(../images/ttl_campaign.png) bottom center no-repeat; }
    section:not(#news):not(#info) #contestHeader {
      background: url(../images/ttl_contest.png) bottom center no-repeat; }
    section:not(#news):not(#info) #makanaiHeader {
      background: url(../images/ttl_makanai.png) bottom center no-repeat; }
    section:not(#news):not(#info) h2 {
      height: 10vw;
      background-size: 100% !important;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden; }
    section:not(#news):not(#info) .windowMiddle {
      background: url(../images/common/part_windowmiddle.png) top center;
      background-size: 100%;
      padding: 0 4vw 2vw;
      color: white; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  section:not(#news):not(#info) {
    padding-top: 30px;
    width: 93vw;
    max-width: 960px;
    margin: 0 auto 30px; }
    section:not(#news):not(#info) #storyHeader {
      background: url(../images/ttl_story_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #systemHeader {
      background: url(../images/ttl_system_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #sscHeader {
      background: url(../images/ttl_artist_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #galleryHeader {
      background: url(../images/ttl_gallery_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #machinesHeader {
      background: url(../images/ttl_machines_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #bonusgameHeader {
      background: url(../images/ttl_bonusgame_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #campaignHeader {
      background: url(../images/ttl_campaign_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #contestHeader {
      background: url(../images/ttl_contest_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #makanaiHeader {
      background: url(../images/ttl_makanai_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) h2 {
      height: 10vw;
      background-size: 100% !important;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden; }
    section:not(#news):not(#info) .windowMiddle {
      background: url(../images/common/part_windowmiddle_pc.png) top center;
      background-size: 100%;
      padding: 2vw 4vw 2vw;
      color: white; } }

@media screen and (min-width: 1001px) {
  section:not(#news):not(#info) {
    padding-top: 30px;
    width: 960px;
    margin: 0 auto 30px; }
    section:not(#news):not(#info) #storyHeader {
      background: url(../images/ttl_story_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #systemHeader {
      background: url(../images/ttl_system_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #sscHeader {
      background: url(../images/ttl_artist_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #galleryHeader {
      background: url(../images/ttl_gallery_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #machinesHeader {
      background: url(../images/ttl_machines_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #bonusgameHeader {
      background: url(../images/ttl_bonusgame_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #campaignHeader {
      background: url(../images/ttl_campaign_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #contestHeader {
      background: url(../images/ttl_contest_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) #makanaiHeader {
      background: url(../images/ttl_makanai_pc.png) bottom center no-repeat; }
    section:not(#news):not(#info) h2 {
      height: 69px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden; }
    section:not(#news):not(#info) .windowMiddle {
      background: url(../images/common/part_windowmiddle_pc.png) top center;
      padding: 15px 30px;
      color: white; } }

@media screen and (max-width: 640px) {
  section:not(#news):not(#info):after {
    content: "";
    display: block;
    background: url(../images/common/part_windowbottom.png) top center no-repeat;
    background-size: 100%;
    height: 4.6vw; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  section:not(#news):not(#info):after {
    content: "";
    display: block;
    background: url(../images/common/part_windowbottom.png) top center no-repeat;
    background-size: 100%;
    height: 4.6vw; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  section:not(#news):not(#info):after {
    content: "";
    display: block;
    background: url(../images/common/part_windowbottom_pc.png) top center no-repeat;
    background-size: 100%;
    height: 29px; } }

@media screen and (min-width: 1001px) {
  section:not(#news):not(#info):after {
    content: "";
    display: block;
    background: url(../images/common/part_windowbottom_pc.png) top center no-repeat;
    background-size: 100%;
    height: 29px; } }

#toTop {
  z-index: 79; }
  @media screen and (max-width: 640px) {
    #toTop {
      width: 100%;
      position: fixed;
      bottom: 0;
      padding: 0.5em;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #toTop a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 3em;
        height: 3em;
        background-color: #8d2de4;
        border-radius: 3em;
        -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
                box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
        -webkit-transition: all 300ms ease;
        transition: all 300ms ease; }
        #toTop a img {
          width: 60%;
          height: auto; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    #toTop {
      width: 100%;
      position: fixed;
      bottom: 0;
      padding: 0.5em;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #toTop a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 3em;
        height: 3em;
        background-color: #8d2de4;
        border-radius: 3em;
        -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
                box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
        -webkit-transition: all 300ms ease;
        transition: all 300ms ease; }
        #toTop a img {
          width: 60%;
          height: auto; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    #toTop {
      width: 100%;
      position: fixed;
      bottom: 0;
      padding: 0.5em;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #toTop a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 4em;
        height: 4em;
        text-align: center;
        line-height: 4rem;
        background-color: #8d2de4;
        border-radius: 4em;
        -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
                box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
        -webkit-transition: all 300ms ease;
        transition: all 300ms ease; }
      #toTop img {
        width: 60%;
        height: auto; } }
  @media screen and (min-width: 1001px) {
    #toTop {
      width: 1000px;
      position: fixed;
      bottom: 0.5em;
      left: 50%;
      margin-left: -480px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      #toTop a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 4em;
        height: 4em;
        text-align: center;
        line-height: 4rem;
        background-color: #8d2de4;
        border-radius: 4em;
        -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
                box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
        -webkit-transition: all 300ms ease;
        transition: all 300ms ease; } }
  #toTop a:hover {
    -webkit-transform: translateY(-0.5em);
            transform: translateY(-0.5em); }

footer {
  border-top: 1px solid #7f7f7f;
  background-color: black;
  text-align: center;
  font-size: 0.8em;
  color: white;
  padding: 1em; }

/* story */
section#story p {
  margin-bottom: 1em; }

section#story p:last-child {
  margin-bottom: 0; }

section#story #missionName {
  text-align: center;
  font-size: 1.2em; }
  section#story #missionName strong {
    color: #b479ff;
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
    font-size: 1.5em; }

/* system */
@media screen and (max-width: 640px) {
  section#system {
    /* KYOGEKI SYSTEM */ }
    section#system #systemKyogeki h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_kyogeki.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemGamemode h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_gamemode.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemItem h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_item.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemBonus h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_bonus.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemUnlock h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_unlock.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system div.systemBox > div {
      background-color: black;
      border: 1px solid #009ce5;
      border-radius: 5px;
      width: 100%;
      padding: 1em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    section#system .systemBox {
      margin-bottom: 1em; }
    section#system #systemkyogeki1 > div:first-child {
      width: 100%; }
      section#system #systemkyogeki1 > div:first-child img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system #systemkyogeki1 ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      list-style: none;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-top: 0.5em; }
      section#system #systemkyogeki1 ul li {
        width: 44%;
        cursor: pointer;
        margin: 3%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border: 1px solid purple; }
        section#system #systemkyogeki1 ul li img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    section#system #systemGamemode > div p {
      text-align: center;
      background-color: #8d2de4;
      color: white;
      font-size: bold;
      font-size: 1.2em;
      display: block;
      margin: 1em auto 0;
      border-radius: 3px;
      padding: 10px; }
    section#system #systemGamemode > div ul {
      list-style: none;
      width: 100%; }
      section#system #systemGamemode > div ul li {
        margin-bottom: 1em;
        width: 100%; }
        section#system #systemGamemode > div ul li img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
      section#system #systemGamemode > div ul li:last-child {
        margin-bottom: 0; }
    section#system #systemItem > div, section#system #systemBonus > div {
      width: 100%; }
      section#system #systemItem > div img, section#system #systemBonus > div img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system .unlockImage {
      width: 85vw;
      margin: 0 auto 2vw; }
      section#system .unlockImage img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system h3 {
      text-align: center;
      height: 8.9vw;
      padding-top: 2vw; }
      section#system h3 img {
        margin: 0 auto;
        width: auto;
        height: 100%; }
    section#system #movieWrapper {
      width: 100%; }
      section#system #movieWrapper h3 {
        width: 100%;
        margin: 0 auto 1vw;
        height: 8.9vw;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden; }
      section#system #movieWrapper .moviePart:nth-child(1) h3 {
        background: url(../images/system/ttl_h3_system_playmovie.png) bottom center no-repeat;
        background-size: auto 100%; }
      section#system #movieWrapper .moviePart:nth-child(2) h3 {
        background: url(../images/system/ttl_h3_system_trailer.png) bottom center no-repeat;
        background-size: auto 100%; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  section#system {
    /* KYOGEKI SYSTEM */ }
    section#system #systemKyogeki h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_kyogeki.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemGamemode h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_gamemode.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemItem h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_item.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemBonus h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_bonus.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemUnlock h3 {
      width: 100%;
      margin: 0 auto 1vw;
      height: 8.9vw;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_unlock.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system div.systemBox > div {
      background-color: black;
      border: 1px solid #009ce5;
      border-radius: 5px;
      width: 100%;
      padding: 1em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    section#system .systemBox {
      margin-bottom: 1em; }
    section#system #systemkyogeki1 > div:first-child {
      width: 100%; }
      section#system #systemkyogeki1 > div:first-child img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system #systemkyogeki1 ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      list-style: none;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-top: 0.5em; }
      section#system #systemkyogeki1 ul li {
        width: 44%;
        cursor: pointer;
        margin: 3%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border: 1px solid purple; }
        section#system #systemkyogeki1 ul li img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    section#system #systemGamemode > div p {
      text-align: center;
      background-color: #8d2de4;
      color: white;
      font-size: bold;
      font-size: 1.2em;
      display: block;
      margin: 1em auto 0;
      border-radius: 3px;
      padding: 10px; }
    section#system #systemGamemode > div ul {
      list-style: none;
      width: 100%; }
      section#system #systemGamemode > div ul li {
        margin-bottom: 1em;
        width: 100%; }
        section#system #systemGamemode > div ul li img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
      section#system #systemGamemode > div ul li:last-child {
        margin-bottom: 0; }
    section#system #systemItem > div, section#system #systemBonus > div {
      width: 100%; }
      section#system #systemItem > div img, section#system #systemBonus > div img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system .unlockImage {
      width: 85vw;
      margin: 0 auto 2vw; }
      section#system .unlockImage img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system h3 {
      text-align: center;
      height: 8.9vw;
      padding-top: 2vw; }
      section#system h3 img {
        margin: 0 auto;
        width: auto;
        height: 100%; }
    section#system #movieWrapper {
      width: 100%; }
      section#system #movieWrapper h3 {
        width: 100%;
        margin: 0 auto 1vw;
        height: 8.9vw;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden; }
      section#system #movieWrapper .moviePart:nth-child(1) h3 {
        background: url(../images/system/ttl_h3_system_playmovie.png) bottom center no-repeat;
        background-size: auto 100%; }
      section#system #movieWrapper .moviePart:nth-child(2) h3 {
        background: url(../images/system/ttl_h3_system_trailer.png) bottom center no-repeat;
        background-size: auto 100%; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  section#system {
    /* KYOGEKI SYSTEM */ }
    section#system .windowMiddle {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      section#system .windowMiddle > div {
        width: 49%; }
      section#system .windowMiddle > div:first-child {
        width: 100%; }
    section#system #systemKyogeki h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_kyogeki.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemGamemode h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_gamemode.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemItem h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_item.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemBonus h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_bonus.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemUnlock h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_unlock.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system div.systemBox > div {
      background-color: black;
      border: 1px solid #009ce5;
      border-radius: 5px;
      width: 100%;
      padding: 1em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    section#system #systemkyogeki1 > div:first-child {
      width: 100%; }
      section#system #systemkyogeki1 > div:first-child img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system #systemkyogeki1 ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      list-style: none;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-top: 0.5em; }
      section#system #systemkyogeki1 ul li {
        width: 29%;
        cursor: pointer;
        margin: 1.1em;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border: 1px solid purple; }
        section#system #systemkyogeki1 ul li img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    section#system #systemkyogeki1 #kyogekiSlide {
      width: 70%;
      margin: 20px auto 10px;
      border: 1px solid purple; }
    section#system #systemGamemode > div p {
      text-align: center;
      background-color: #8d2de4;
      color: white;
      font-size: bold;
      font-size: 1.2em;
      display: block;
      margin: 15px auto 0;
      border-radius: 3px;
      padding: 10px; }
    section#system #systemGamemode > div ul {
      list-style: none;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      section#system #systemGamemode > div ul li {
        width: 100%; }
        section#system #systemGamemode > div ul li img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
      section#system #systemGamemode > div ul li:first-child {
        margin-bottom: 20px; }
    section#system #systemItem > div, section#system #systemBonus > div {
      width: 100%; }
      section#system #systemItem > div img, section#system #systemBonus > div img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system #systemUnlock {
      width: 100%; }
      section#system #systemUnlock .unlockImage {
        width: 100%;
        margin: 15px auto; }
        section#system #systemUnlock .unlockImage img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
      section#system #systemUnlock h3 {
        text-align: center;
        width: 485px;
        margin: 15px auto 0; }
        section#system #systemUnlock h3 img {
          margin: 0 auto;
          width: auto;
          height: 100%; }
    section#system #movieWrapper {
      width: 100%; }
      section#system #movieWrapper h3 {
        text-align: center;
        width: 100%;
        height: 57px;
        margin: 15px auto 10px;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden; }
      section#system #movieWrapper .moviePart:nth-child(1) h3 {
        background: url(../images/system/ttl_h3_system_playmovie.png) bottom center no-repeat;
        background-size: auto 100%; }
      section#system #movieWrapper .moviePart:nth-child(2) h3 {
        background: url(../images/system/ttl_h3_system_trailer.png) bottom center no-repeat;
        background-size: auto 100%; } }

@media screen and (min-width: 1001px) {
  section#system {
    /* KYOGEKI SYSTEM */ }
    section#system .windowMiddle {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      section#system .windowMiddle > div {
        width: 49%; }
      section#system .windowMiddle > div:first-child {
        width: 100%; }
    section#system #systemKyogeki h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_kyogeki.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemGamemode h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_gamemode.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemItem h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_item.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemBonus h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_bonus.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system #systemUnlock h3 {
      width: 100%;
      height: 57px;
      margin: 15px auto 10px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url(../images/system/ttl_h3_system_unlock.png) bottom center no-repeat;
      background-size: auto 100%; }
    section#system div.systemBox > div {
      background-color: black;
      border: 1px solid #009ce5;
      border-radius: 5px;
      width: 100%;
      padding: 1em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    section#system #systemkyogeki1 > div:first-child {
      width: 100%; }
      section#system #systemkyogeki1 > div:first-child img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system #systemkyogeki1 ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      list-style: none;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-top: 0.5em; }
      section#system #systemkyogeki1 ul li {
        width: 29%;
        cursor: pointer;
        margin: 1.1em;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border: 1px solid purple; }
        section#system #systemkyogeki1 ul li img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    section#system #systemkyogeki1 #kyogekiSlide {
      width: 70%;
      margin: 20px auto 10px;
      border: 1px solid purple; }
    section#system #systemGamemode > div p {
      text-align: center;
      background-color: #8d2de4;
      color: white;
      font-size: bold;
      font-size: 1.2em;
      display: block;
      margin: 15px auto 0;
      border-radius: 3px;
      padding: 10px; }
    section#system #systemGamemode > div ul {
      list-style: none;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      section#system #systemGamemode > div ul li {
        width: 100%; }
        section#system #systemGamemode > div ul li img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
      section#system #systemGamemode > div ul li:first-child {
        margin-bottom: 20px; }
    section#system #systemItem > div, section#system #systemBonus > div {
      width: 100%; }
      section#system #systemItem > div img, section#system #systemBonus > div img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system #systemUnlock {
      width: 100%; }
      section#system #systemUnlock .unlockImage {
        width: 100%;
        margin: 15px auto; }
        section#system #systemUnlock .unlockImage img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
      section#system #systemUnlock h3 {
        text-align: center;
        width: 485px;
        margin: 15px auto 0; }
        section#system #systemUnlock h3 img {
          margin: 0 auto;
          width: auto;
          height: 100%; }
    section#system #movieWrapper {
      width: 100%; }
      section#system #movieWrapper h3 {
        text-align: center;
        width: 100%;
        height: 57px;
        margin: 15px auto 10px;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden; }
      section#system #movieWrapper .moviePart:nth-child(1) h3 {
        background: url(../images/system/ttl_h3_system_playmovie.png) bottom center no-repeat;
        background-size: auto 100%; }
      section#system #movieWrapper .moviePart:nth-child(2) h3 {
        background: url(../images/system/ttl_h3_system_trailer.png) bottom center no-repeat;
        background-size: auto 100%; } }

@media screen and (max-width: 640px) {
  section#system .moviePart {
    margin-bottom: 1em; }
    section#system .moviePart h3 {
      text-align: center;
      width: 485px;
      margin: 15px auto 0; }
      section#system .moviePart h3 img {
        margin: 0 auto;
        width: auto;
        height: 100%; }
    section#system .moviePart .movieBox {
      position: relative;
      padding-top: 56%;
      width: 82vw;
      margin: 0 auto;
      overflow: hidden; }
      section#system .moviePart .movieBox iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  section#system .moviePart {
    margin-bottom: 1em; }
    section#system .moviePart h3 {
      text-align: center;
      width: 485px;
      margin: 15px auto 0; }
      section#system .moviePart h3 img {
        margin: 0 auto;
        width: auto;
        height: 100%; }
    section#system .moviePart .movieBox {
      position: relative;
      padding-top: 56%;
      width: 82vw;
      margin: 0 auto;
      overflow: hidden; }
      section#system .moviePart .movieBox iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  section#system .moviePart {
    width: 100%; }
    section#system .moviePart h3 {
      width: 90%;
      margin: 0 auto; }
      section#system .moviePart h3 img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system .moviePart .movieBox {
      position: relative;
      padding-top: 56%;
      width: 100%;
      margin: 0 auto;
      overflow: hidden; }
      section#system .moviePart .movieBox iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; } }

@media screen and (min-width: 1001px) {
  section#system .moviePart {
    width: 100%; }
    section#system .moviePart h3 {
      width: 90%;
      margin: 0 auto; }
      section#system .moviePart h3 img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    section#system .moviePart .movieBox {
      position: relative;
      padding-top: 56%;
      width: 100%;
      margin: 0 auto;
      overflow: hidden; }
      section#system .moviePart .movieBox iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; } }

@media screen and (max-width: 640px) {
  section#system .moviePart:last-child {
    margin-bottom: 0; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  section#system .moviePart:last-child {
    margin-bottom: 0; } }

/* Special Sound Composer */
@media screen and (max-width: 640px) {
  #ssc .windowMiddle {
    padding-top: 9vw !important; }
  #ssc .artistPart:first-child {
    margin-top: 0 !important; }
  #ssc .artistPart {
    width: 85vw;
    margin: 9vw auto 2vw;
    padding: 0 2vw 2vw;
    background: black;
    border: 1px solid #c438fb;
    border-radius: 1.5vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.4); }
    #ssc .artistPart > div:after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      clear: both; }
    #ssc .artistPart h3 {
      margin-top: -8.9vw;
      margin-left: -3%;
      margin-bottom: 2vw;
      width: 106%; }
      #ssc .artistPart h3 img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #ssc .artistPart .artistImage {
      float: right;
      width: 32vw;
      padding: 0 0 2vw 2vw; }
      #ssc .artistPart .artistImage img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #ssc .artistPart h4 {
      border-bottom: 1px solid #c438fb;
      color: #c438fb;
      margin-bottom: 0.5vw;
      display: inline-block;
      width: 46vw; }
    #ssc .artistPart h4.full {
      width: 100%; }
    #ssc .artistPart p {
      font-size: 0.9em;
      margin-bottom: 0.5em; }
    #ssc .artistPart #artistUemura > p {
      margin-bottom: 2vw; }
    #ssc .artistPart #ubrand {
      margin: 3vw 0; }
      #ssc .artistPart #ubrand > div {
        width: 100%;
        margin: 0.5em 0; }
        #ssc .artistPart #ubrand > div img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    #ssc .artistPart a {
      display: inline-block;
      background: #c438fb;
      border-radius: 0.75vw;
      color: black;
      text-decoration: none;
      padding: 0.75vw 1.5vw; }
    #ssc .artistPart a:first-child {
      margin-bottom: 1vw; }
  #ssc .artistPart:last-child {
    margin-top: 12vw; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  #ssc .windowMiddle {
    padding-top: 9vw !important; }
  #ssc .artistPart:first-child {
    margin-top: 0 !important; }
  #ssc .artistPart {
    width: 85vw;
    margin: 9vw auto 2vw;
    padding: 0 2vw 2vw;
    background: black;
    border: 1px solid #c438fb;
    border-radius: 1.5vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.4); }
    #ssc .artistPart > div:after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      clear: both; }
    #ssc .artistPart h3 {
      margin-top: -8.9vw;
      margin-left: -3%;
      margin-bottom: 2vw;
      width: 106%; }
      #ssc .artistPart h3 img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #ssc .artistPart .artistImage {
      float: right;
      width: 32vw;
      padding: 0 0 2vw 2vw; }
      #ssc .artistPart .artistImage img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #ssc .artistPart h4 {
      border-bottom: 1px solid #c438fb;
      color: #c438fb;
      margin-bottom: 0.5vw;
      display: inline-block;
      width: 46vw; }
    #ssc .artistPart h4.full {
      width: 100%; }
    #ssc .artistPart p {
      font-size: 0.9em;
      margin-bottom: 0.5em; }
    #ssc .artistPart #artistUemura > p {
      margin-bottom: 2vw; }
    #ssc .artistPart #ubrand {
      margin: 3vw 0; }
      #ssc .artistPart #ubrand > div {
        width: 100%;
        margin: 0.5em 0; }
        #ssc .artistPart #ubrand > div img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    #ssc .artistPart a {
      display: inline-block;
      background: #c438fb;
      border-radius: 0.75vw;
      color: black;
      text-decoration: none;
      padding: 0.75vw 1.5vw; }
    #ssc .artistPart a:first-child {
      margin-bottom: 1vw; }
  #ssc .artistPart:last-child {
    margin-top: 12vw; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  #ssc .windowMiddle {
    padding-top: 1vw; }
  #ssc .artistPart {
    width: 100%;
    margin: 70px auto 0;
    padding: 0 20px 20px;
    background: black;
    border: 1px solid #c438fb;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.4); }
    #ssc .artistPart h3 {
      margin-top: -8%;
      margin-left: -4%;
      margin-bottom: 15px;
      width: 70%; }
      #ssc .artistPart h3 img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #ssc .artistPart .artistImage {
      float: right;
      width: 28%;
      max-width: 209px;
      padding: 0 0 15px 15px;
      margin-top: -7%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #ssc .artistPart .artistImage img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #ssc .artistPart h4 {
      border-bottom: 1px solid #c438fb;
      color: #c438fb;
      margin-bottom: 0.5vw;
      display: inline-block;
      width: 72%; }
    #ssc .artistPart h4.full {
      width: 100%; }
    #ssc .artistPart p {
      font-size: 0.9em;
      margin-bottom: 0.5em; }
    #ssc .artistPart #artistUemura {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      #ssc .artistPart #artistUemura p {
        width: 45%; }
      #ssc .artistPart #artistUemura p:last-of-type {
        width: 100%; }
      #ssc .artistPart #artistUemura strong {
        color: #c438fb; }
    #ssc .artistPart #ubrand {
      margin: 3vw 0 1vw; }
      #ssc .artistPart #ubrand > div {
        margin: 1em 0;
        width: 100%; }
        #ssc .artistPart #ubrand > div img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    #ssc .artistPart .artistLinks {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      #ssc .artistPart .artistLinks a {
        display: inline-block;
        background: #c438fb;
        border-radius: 5px;
        color: white;
        text-decoration: none;
        padding: 0.5em;
        margin-right: 10px; }
      #ssc .artistPart .artistLinks a:last-of-type {
        margin-right: 0; }
  #ssc .artistPart:last-child {
    margin-top: 90px; }
  #ssc .artistPart:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    clear: both; } }

@media screen and (min-width: 1001px) {
  #ssc .windowMiddle {
    padding-top: 1vw; }
  #ssc .artistPart {
    width: 100%;
    margin: 70px auto 0;
    padding: 0 20px 20px;
    background: black;
    border: 1px solid #c438fb;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.4); }
    #ssc .artistPart h3 {
      margin-top: -8%;
      margin-left: -4%;
      margin-bottom: 15px;
      width: 70%; }
      #ssc .artistPart h3 img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #ssc .artistPart .artistImage {
      float: right;
      width: 28%;
      max-width: 209px;
      padding: 0 0 15px 15px;
      margin-top: -7%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #ssc .artistPart .artistImage img {
        margin: 0 auto;
        width: 100%;
        height: auto; }
    #ssc .artistPart h4 {
      border-bottom: 1px solid #c438fb;
      color: #c438fb;
      margin-bottom: 0.5vw;
      display: inline-block;
      width: 72%; }
    #ssc .artistPart h4.full {
      width: 100%; }
    #ssc .artistPart p {
      font-size: 0.9em;
      margin-bottom: 0.5em; }
    #ssc .artistPart #artistUemura {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      #ssc .artistPart #artistUemura p {
        width: 45%; }
      #ssc .artistPart #artistUemura p:last-of-type {
        width: 100%; }
      #ssc .artistPart #artistUemura strong {
        color: #c438fb; }
    #ssc .artistPart #ubrand {
      margin: 3vw 0 1vw; }
      #ssc .artistPart #ubrand > div {
        margin: 1em 0;
        width: 100%; }
        #ssc .artistPart #ubrand > div img {
          margin: 0 auto;
          width: 100%;
          height: auto; }
    #ssc .artistPart .artistLinks {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      #ssc .artistPart .artistLinks a {
        display: inline-block;
        background: #c438fb;
        border-radius: 5px;
        color: white;
        text-decoration: none;
        padding: 0.5em;
        margin-right: 10px; }
      #ssc .artistPart .artistLinks a:last-of-type {
        margin-right: 0; }
  #ssc .artistPart:last-child {
    margin-top: 90px; }
  #ssc .artistPart:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    clear: both; } }

/* Gallery */
@media screen and (max-width: 640px) {
  #gallery .windowMiddle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    #gallery .windowMiddle div:first-child {
      width: 94%;
      margin: 0 auto; }
      #gallery .windowMiddle div:first-child h3 {
        width: 100%;
        margin: 0 auto 1vw;
        height: 8.9vw;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background: url(../images/gallery/ttl_h3_gallery_trailer.png) bottom center no-repeat;
        background-size: auto 100%; }
      #gallery .windowMiddle div:first-child .movieBox {
        position: relative;
        padding-top: 56%;
        width: 100%;
        margin: 0 auto;
        overflow: hidden; }
        #gallery .windowMiddle div:first-child .movieBox iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
    #gallery .windowMiddle div {
      cursor: pointer;
      width: 44%;
      margin: 3%; }
      #gallery .windowMiddle div img {
        border: 3px solid #8c8c8c;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        margin: 0 auto;
        width: 100%;
        height: auto; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  #gallery .windowMiddle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    #gallery .windowMiddle div:first-child {
      width: 94%;
      margin: 0 auto; }
      #gallery .windowMiddle div:first-child h3 {
        width: 100%;
        margin: 0 auto 1vw;
        height: 8.9vw;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background: url(../images/gallery/ttl_h3_gallery_trailer.png) bottom center no-repeat;
        background-size: auto 100%; }
      #gallery .windowMiddle div:first-child .movieBox {
        position: relative;
        padding-top: 56%;
        width: 100%;
        margin: 0 auto;
        overflow: hidden; }
        #gallery .windowMiddle div:first-child .movieBox iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
    #gallery .windowMiddle div {
      cursor: pointer;
      width: 44%;
      margin: 3%; }
      #gallery .windowMiddle div img {
        border: 3px solid #8c8c8c;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        margin: 0 auto;
        width: 100%;
        height: auto; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  #gallery .windowMiddle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    #gallery .windowMiddle div:first-child {
      width: 95%;
      margin: 0 auto 1.1em; }
      #gallery .windowMiddle div:first-child h3 {
        background: url(../images/gallery/ttl_h3_gallery_trailer.png) bottom center no-repeat;
        width: 100%;
        height: 57px;
        margin: 15px auto 10px;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: auto 100%; }
      #gallery .windowMiddle div:first-child .movieBox {
        position: relative;
        padding-top: 56%;
        width: 100%;
        margin: 0 auto;
        overflow: hidden; }
        #gallery .windowMiddle div:first-child .movieBox iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
    #gallery .windowMiddle > div {
      cursor: pointer;
      width: 44%;
      margin: 1.1em; }
      #gallery .windowMiddle > div img {
        border: 3px solid #8c8c8c;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        margin: 0 auto;
        width: 100%;
        height: auto; } }

@media screen and (min-width: 1001px) {
  #gallery .windowMiddle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    #gallery .windowMiddle div:first-child {
      width: 95%;
      margin: 0 auto 1.1em; }
      #gallery .windowMiddle div:first-child h3 {
        background: url(../images/gallery/ttl_h3_gallery_trailer.png) bottom center no-repeat;
        width: 100%;
        height: 57px;
        margin: 15px auto 10px;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        background-size: auto 100%; }
      #gallery .windowMiddle div:first-child .movieBox {
        position: relative;
        padding-top: 56%;
        width: 100%;
        margin: 0 auto;
        overflow: hidden; }
        #gallery .windowMiddle div:first-child .movieBox iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
    #gallery .windowMiddle > div {
      cursor: pointer;
      width: 44%;
      margin: 1.1em; }
      #gallery .windowMiddle > div img {
        border: 3px solid #8c8c8c;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        margin: 0 auto;
        width: 100%;
        height: auto; } }

/* BONUS GAME */
@media screen and (max-width: 640px) {
  #bonusgame .bonusgameImage {
    width: 85vw;
    margin: 3vw auto; }
    #bonusgame .bonusgameImage img {
      margin: 0 auto;
      width: 100%;
      height: auto; }
  #bonusgame #knackManual {
    width: 75vw;
    margin: 3vw auto; }
  #bonusgame h3 {
    text-align: center;
    height: 8.9vw;
    margin-top: 3vw; }
    #bonusgame h3 img {
      margin: 0 auto;
      width: auto;
      height: 100%; }
  #bonusgame .swiper-button-prev, #bonusgame .swiper-button-next {
    width: 3em;
    height: 3em;
    border-radius: 3em;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    background-color: white;
    background-size: 40%; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  #bonusgame .bonusgameImage {
    width: 85vw;
    margin: 3vw auto; }
    #bonusgame .bonusgameImage img {
      margin: 0 auto;
      width: 100%;
      height: auto; }
  #bonusgame #knackManual {
    width: 75vw;
    margin: 3vw auto; }
  #bonusgame h3 {
    text-align: center;
    height: 8.9vw;
    margin-top: 3vw; }
    #bonusgame h3 img {
      margin: 0 auto;
      width: auto;
      height: 100%; }
  #bonusgame .swiper-button-prev, #bonusgame .swiper-button-next {
    width: 3em;
    height: 3em;
    border-radius: 3em;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    background-color: white;
    background-size: 40%; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  #bonusgame .windowMiddle > p:first-of-type {
    text-align: center; }
  #bonusgame #bonusgameWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    #bonusgame #bonusgameWrapper .bonusgamePart {
      width: 49%; }
  #bonusgame .bonusgameImage {
    width: 100%;
    margin: 15px auto; }
    #bonusgame .bonusgameImage img {
      margin: 0 auto;
      width: 100%;
      height: auto; }
  #bonusgame #knackManual {
    width: 480px;
    margin: 15px auto 0; }
  #bonusgame h3 {
    text-align: center;
    width: 485px;
    margin: 15px auto 0; }
    #bonusgame h3 img {
      margin: 0 auto;
      width: auto;
      height: 100%; }
  #bonusgame .swiper-button-prev, #bonusgame .swiper-button-next {
    width: 3em;
    height: 3em;
    border-radius: 3em;
    background-color: white;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    background-size: 40%; } }

@media screen and (min-width: 1001px) {
  #bonusgame .windowMiddle > p:first-of-type {
    text-align: center; }
  #bonusgame #bonusgameWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    #bonusgame #bonusgameWrapper .bonusgamePart {
      width: 49%; }
  #bonusgame .bonusgameImage {
    width: 100%;
    margin: 15px auto; }
    #bonusgame .bonusgameImage img {
      margin: 0 auto;
      width: 100%;
      height: auto; }
  #bonusgame #knackManual {
    width: 480px;
    margin: 15px auto 0; }
  #bonusgame h3 {
    text-align: center;
    width: 485px;
    margin: 15px auto 0; }
    #bonusgame h3 img {
      margin: 0 auto;
      width: auto;
      height: 100%; }
  #bonusgame .swiper-button-prev, #bonusgame .swiper-button-next {
    width: 3em;
    height: 3em;
    border-radius: 3em;
    background-color: white;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    background-size: 40%; } }

#info {
  background-color: rgba(0, 0, 0, 0.4);
  padding: 1.5em !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: white; }
  #info dl dt {
    font-size: 1.2em;
    font-weight: bold;
    border-bottom: 1px solid #8d2de4;
    border-left: 3px solid #8d2de4;
    padding: 0.2em 0.3em 0.3em;
    margin-bottom: 0.5em;
    padding-left: 0.5em;
    color: #8d2de4; }
  #info dl dd {
    margin-bottom: 1em; }
  @media screen and (max-width: 640px) {
    #info {
      width: 93vw;
      margin: 0 auto 3vw; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    #info {
      width: 93vw;
      margin: 0 auto 3vw; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    #info {
      width: 93vw;
      margin: 0 auto 1em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; } }
  @media screen and (min-width: 1001px) {
    #info {
      width: 960px;
      margin: 0 auto 0; } }

#campaign a, #contest a {
  background-color: #efff00;
  color: black;
  text-decoration: none;
  border-radius: 4px;
  display: inline-block;
  padding: 0.2em 0.4em;
  font-weight: bold;
  margin: 0 5px; }

#campaign .applyInfo strong, #contest .applyInfo strong {
  color: yellow; }

#campaign .windowMiddle > div, #contest .windowMiddle > div {
  border: 1px solid #c438fb;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #000;
  padding: 1em;
  border-radius: 0.5em;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  margin-bottom: 1em; }

#campaign .windowMiddle > div:last-child, #contest .windowMiddle > div:last-child {
  margin-bottom: 0; }

#campaign h4, #contest h4 {
  background: #64008c;
  margin-bottom: 0.5em;
  margin-top: 0.5em;
  padding: 0.2em 0.6em;
  color: white;
  border-radius: 4px; }

@media screen and (max-width: 640px) {
  #campaign h3, #contest h3 {
    height: 10vw;
    background-size: auto 100% !important;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden; }
  #campaign .priseImage, #contest .priseImage {
    text-align: center;
    margin: 0.5em 0; }
    #campaign .priseImage img, #contest .priseImage img {
      width: 100%;
      height: auto; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  #campaign h3, #contest h3 {
    height: 10vw;
    background-size: auto 100% !important;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden; }
  #campaign .priseImage, #contest .priseImage {
    text-align: center;
    margin: 0.5em 0; }
    #campaign .priseImage img, #contest .priseImage img {
      width: 100%;
      height: auto; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  #campaign h3, #contest h3 {
    height: 57px;
    background-size: auto 100% !important;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    margin-bottom: 0.5em; }
  #campaign .priseImage, #contest .priseImage {
    text-align: center;
    margin: 1em 0; }
    #campaign .priseImage img, #contest .priseImage img {
      width: 100%;
      max-width: 800px;
      height: auto; } }

@media screen and (min-width: 1001px) {
  #campaign h3, #contest h3 {
    height: 57px;
    background-size: auto 100% !important;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    margin-bottom: 0.5em; }
  #campaign .priseImage, #contest .priseImage {
    text-align: center;
    margin: 1em 0; }
    #campaign .priseImage img, #contest .priseImage img {
      width: 100%;
      max-width: 800px;
      height: auto; } }

#campaign #campaignHeader1, #contest #campaignHeader1 {
  background: url(../images/campaign/ttl_h3_campaign1.png) bottom center no-repeat; }

#campaign #campaignHeader2, #contest #campaignHeader2 {
  background: url(../images/campaign/ttl_h3_campaign2.png) bottom center no-repeat; }

#campaign #contestHeader1, #contest #contestHeader1 {
  background: url(../images/contest/ttl_h3_contest1.png) bottom center no-repeat; }

#contest .windowMiddle > div {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  opacity: 0.5;
  text-align: center; }

#machines .windowMiddle > p {
  text-align: center;
  font-size: 1.2em;
  padding: 0.2em 0 1em;
  font-weight: bold; }

#machines #unlockInfo {
  width: 100%;
  margin-top: 1em; }
  #machines #unlockInfo img {
    margin: 0 auto;
    width: 100%;
    height: auto; }

@media screen and (max-width: 640px) {
  #machines table {
    width: 100%;
    border-left: 1px solid #b5b5b5;
    border-top: 1px solid #b5b5b5;
    border-collapse: collapse;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    #machines table img {
      width: auto;
      height: 7vw; }
    #machines table th, #machines table td {
      padding: 0.4em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-bottom: 1px solid #b5b5b5;
      border-right: 1px solid #b5b5b5;
      font-size: 0.9em; }
    #machines table th {
      background: #690575; }
    #machines table td {
      background-color: rgba(0, 0, 0, 0.4); }
    #machines table .center {
      text-align: center; }
  #machines table#stageList {
    margin-top: 1em; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  #machines table {
    width: 100%;
    border-left: 1px solid #b5b5b5;
    border-top: 1px solid #b5b5b5;
    border-collapse: collapse;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    #machines table img {
      width: auto;
      height: 7vw; }
    #machines table th, #machines table td {
      padding: 0.4em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-bottom: 1px solid #b5b5b5;
      border-right: 1px solid #b5b5b5;
      font-size: 0.9em; }
    #machines table th {
      background: #690575; }
    #machines table td {
      background-color: rgba(0, 0, 0, 0.4); }
    #machines table .center {
      text-align: center; }
  #machines table#stageList {
    margin-top: 1em; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  #machines table {
    width: 100%;
    border-left: 1px solid #b5b5b5;
    border-top: 1px solid #b5b5b5;
    border-collapse: collapse;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    #machines table th, #machines table td {
      padding: 0.4em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-bottom: 1px solid #b5b5b5;
      border-right: 1px solid #b5b5b5;
      font-size: 0.9em; }
    #machines table th {
      background: #690575; }
    #machines table td {
      background-color: rgba(0, 0, 0, 0.4); }
    #machines table .center {
      text-align: center; }
  #machines table#stageList {
    margin-top: 1em; } }

@media screen and (min-width: 1001px) {
  #machines table {
    width: 100%;
    border-left: 1px solid #b5b5b5;
    border-top: 1px solid #b5b5b5;
    border-collapse: collapse;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    #machines table th, #machines table td {
      padding: 0.4em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-bottom: 1px solid #b5b5b5;
      border-right: 1px solid #b5b5b5;
      font-size: 0.9em; }
    #machines table th {
      background: #690575; }
    #machines table td {
      background-color: rgba(0, 0, 0, 0.4); }
    #machines table .center {
      text-align: center; }
  #machines table#stageList {
    margin-top: 1em; } }

#makanai .windowMiddle > div:first-child {
  text-align: center;
  font-weight: bold;
  font-size: 1.6em;
  color: #a5eaff;
  text-shadow: 0 0 25px #009cff, 0 0 20px #009cff, 0 0 7px #000000;
  width: 100%;
  margin-bottom: 0.5em; }

#makanai .windowMiddle h3 {
  background: #64008c;
  margin: 1em 0 0.5em;
  padding: 0.3em 0.5em;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  #makanai .windowMiddle h3 span {
    background-color: yellow;
    color: black;
    display: inline-block;
    font-size: 0.8em;
    padding: 0.2em 0.4em;
    border-radius: 3px; }

@media screen and (max-width: 640px) {
  #makanai .info {
    margin-top: 30px;
    background: rgba(0, 0, 0, 0.25);
    color: #ffffff;
    font-size: 0.9em;
    padding: 0.5em;
    border-radius: 5px;
    border: 1px solid #8000b3;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    #makanai .info h4 {
      padding-bottom: 0.3em;
      border-bottom: 1px dotted #c438fb;
      margin-bottom: 0.2em; }
  #makanai .info:before {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    left: 50%;
    border: 15px solid transparent;
    border-bottom: 15px solid #8000b3;
    margin-left: -15px;
    margin-top: -30px; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  #makanai .info {
    margin-top: 30px;
    background: rgba(0, 0, 0, 0.25);
    color: #ffffff;
    font-size: 0.9em;
    padding: 0.5em;
    border-radius: 5px;
    border: 1px solid #8000b3;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    #makanai .info h4 {
      padding-bottom: 0.3em;
      border-bottom: 1px dotted #c438fb;
      margin-bottom: 0.2em; }
  #makanai .info:before {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    left: 50%;
    border: 15px solid transparent;
    border-bottom: 15px solid #8000b3;
    margin-left: -15px;
    margin-top: -30px; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  #makanai .windowMiddle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    #makanai .windowMiddle > p {
      width: 100%;
      text-align: center; }
    #makanai .windowMiddle div {
      width: 48%; }
    #makanai .windowMiddle .info {
      background: rgba(0, 0, 0, 0.25);
      color: #ffffff;
      font-size: 0.9em;
      padding: 0.5em;
      border-radius: 5px;
      border: 1px solid #8000b3;
      position: relative;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #makanai .windowMiddle .info h4 {
        padding-bottom: 0.3em;
        border-bottom: 1px dotted #c438fb;
        margin-bottom: 0.2em; }
    #makanai .windowMiddle .info:before {
      position: absolute;
      content: "";
      display: block;
      top: 50%;
      left: 0;
      border: 15px solid transparent;
      border-right: 15px solid #8000b3;
      margin-left: -30px;
      margin-top: -15px; } }

@media screen and (min-width: 1001px) {
  #makanai .windowMiddle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    #makanai .windowMiddle > p {
      width: 100%;
      text-align: center; }
    #makanai .windowMiddle div {
      width: 48%; }
    #makanai .windowMiddle .info {
      background: rgba(0, 0, 0, 0.25);
      color: #ffffff;
      font-size: 0.9em;
      padding: 0.5em;
      border-radius: 5px;
      border: 1px solid #8000b3;
      position: relative;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #makanai .windowMiddle .info h4 {
        padding-bottom: 0.3em;
        border-bottom: 1px dotted #c438fb;
        margin-bottom: 0.2em; }
    #makanai .windowMiddle .info:before {
      position: absolute;
      content: "";
      display: block;
      top: 50%;
      left: 0;
      border: 15px solid transparent;
      border-right: 15px solid #8000b3;
      margin-left: -30px;
      margin-top: -15px; } }

#makanai #makanaiRecommend, #makanai #makanaiCOM {
  width: 100%;
  text-align: center;
  font-size: 1.5em;
  margin: 1em 0 0.5em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid yellow;
  font-weight: bold;
  color: yellow;
  border-left: 0;
  border-right: 0;
  text-shadow: 0 0 3px;
  padding: 0.4em; }

#makanai #makanaiEntry {
  width: 100% !important;
  padding: 0 1em 0.7em;
  border: 1px solid yellow;
  border-radius: 5px;
  margin-top: 2em;
  background-color: rgba(0, 0, 0, 0.3);
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  #makanai #makanaiEntry strong {
    color: yellow; }
  #makanai #makanaiEntry h3 {
    background: yellow !important;
    width: 60%;
    margin: -1.25em auto 0.7em !important;
    text-align: center !important;
    height: 2.5em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 0 !important;
    color: black;
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative; }
  #makanai #makanaiEntry h3:before {
    content: "";
    display: block;
    position: absolute;
    border: 1.25em solid transparent;
    border-right: 1.25em solid yellow;
    top: 0;
    left: 0;
    margin-left: -2.468em; }
  #makanai #makanaiEntry h3:after {
    content: "";
    display: block;
    position: absolute;
    border: 1.25em solid transparent;
    border-left: 1.25em solid yellow;
    top: 0;
    right: 0;
    margin-right: -2.468em; }

#newsPopupWrapper {
  width: 100%;
  height: 100%;
  position: fixed;
  background: rgba(0, 0, 0, 0.4);
  z-index: 100;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden; }
  @media screen and (max-width: 640px) {
    #newsPopupWrapper #newsPopupContent {
      width: 80%;
      padding: 1em;
      background: white;
      border-radius: 5px;
      -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
              box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
      position: relative; }
      #newsPopupWrapper #newsPopupContent h3 {
        background: #5d0ba9;
        padding: 0.4em 0.8em;
        border-radius: 5px;
        color: white;
        margin-bottom: 1em; }
    #newsPopupWrapper #newsPopupClose {
      font-weight: bold;
      width: 70%;
      padding: 0.5em;
      margin: 1em auto 0;
      background-color: black;
      color: white;
      text-align: center;
      border-radius: 4em;
      cursor: pointer; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    #newsPopupWrapper #newsPopupContent {
      width: 80%;
      padding: 1em;
      background: white;
      border-radius: 5px;
      -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
              box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
      position: relative; }
      #newsPopupWrapper #newsPopupContent h3 {
        background: #5d0ba9;
        padding: 0.4em 0.8em;
        border-radius: 5px;
        color: white;
        margin-bottom: 1em; }
    #newsPopupWrapper #newsPopupClose {
      font-weight: bold;
      width: 70%;
      padding: 0.5em;
      margin: 1em auto 0;
      background-color: black;
      color: white;
      text-align: center;
      border-radius: 4em;
      cursor: pointer; } }
  @media screen and (min-width: 800px) and (max-width: 1000px) {
    #newsPopupWrapper #newsPopupContent {
      width: 680px;
      padding: 1em;
      background: white;
      border-radius: 5px;
      -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
              box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
      position: relative; }
      #newsPopupWrapper #newsPopupContent h3 {
        background: #5d0ba9;
        padding: 0.4em 0.8em;
        border-radius: 5px;
        color: white;
        margin-bottom: 1em; }
    #newsPopupWrapper #newsPopupClose {
      font-weight: bold;
      width: 6em;
      padding: 0.5em;
      margin: 1em auto 0;
      background-color: black;
      color: white;
      text-align: center;
      border-radius: 4em;
      cursor: pointer; } }
  @media screen and (min-width: 1001px) {
    #newsPopupWrapper #newsPopupContent {
      width: 680px;
      padding: 1em;
      background: white;
      border-radius: 5px;
      -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
              box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
      position: relative; }
      #newsPopupWrapper #newsPopupContent h3 {
        background: #5d0ba9;
        padding: 0.4em 0.8em;
        border-radius: 5px;
        color: white;
        margin-bottom: 1em; }
    #newsPopupWrapper #newsPopupClose {
      font-weight: bold;
      width: 6em;
      padding: 0.5em;
      margin: 1em auto 0;
      background-color: black;
      color: white;
      text-align: center;
      border-radius: 4em;
      cursor: pointer; } }

#newsPopupWrapper.show {
  visibility: visible; }

/* キャンペーン2 */
@media screen and (max-width: 640px) {
  #camp2 img {
    margin: 0 auto;
    width: 100%;
    height: auto;
    border: 1px solid #3e3e3e;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 800px; }
  #camp2 h5 {
    font-size: 1em;
    border-bottom: 1px dotted #bb1bbb;
    padding: 0.5em 0;
    margin-bottom: 0.5em;
    color: yellow; }
  #camp2 .camp2LgTxt {
    text-align: center;
    font-weight: bold;
    font-size: 1.6em;
    color: #a5eaff;
    text-shadow: 0 0 25px #009cff, 0 0 20px #009cff, 0 0 7px #000000;
    width: 100%;
    margin-bottom: 0.5em; }
  #camp2 .camp2Price1, #camp2 .camp2Price3 {
    margin-top: 1em; }
  #camp2 .camp2Price1, #camp2 .camp2Price2, #camp2 .camp2Price3 {
    text-align: center;
    margin-bottom: 1em; }
  #camp2 .camp2Price3 img {
    border: 1px solid #3e3e3e; }
  #camp2 #camp1st {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 1em 0; }
    #camp2 #camp1st div {
      width: 48%; }
      #camp2 #camp1st div p {
        font-size: 0.7em;
        margin-top: 0.5em; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  #camp2 img {
    margin: 0 auto;
    width: 100%;
    height: auto;
    border: 1px solid #3e3e3e;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 800px; }
  #camp2 h5 {
    font-size: 1em;
    border-bottom: 1px dotted #bb1bbb;
    padding: 0.5em 0;
    margin-bottom: 0.5em;
    color: yellow; }
  #camp2 .camp2LgTxt {
    text-align: center;
    font-weight: bold;
    font-size: 1.6em;
    color: #a5eaff;
    text-shadow: 0 0 25px #009cff, 0 0 20px #009cff, 0 0 7px #000000;
    width: 100%;
    margin-bottom: 0.5em; }
  #camp2 .camp2Price1, #camp2 .camp2Price3 {
    margin-top: 1em; }
  #camp2 .camp2Price1, #camp2 .camp2Price2, #camp2 .camp2Price3 {
    text-align: center;
    margin-bottom: 1em; }
  #camp2 .camp2Price3 img {
    border: 1px solid #3e3e3e; }
  #camp2 #camp1st {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 1em 0; }
    #camp2 #camp1st div {
      width: 48%; }
      #camp2 #camp1st div p {
        font-size: 0.7em;
        margin-top: 0.5em; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  #camp2 img {
    margin: 0 auto;
    width: 100%;
    height: auto;
    border: 1px solid #3e3e3e;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 800px; }
  #camp2 h5 {
    font-size: 1em;
    border-bottom: 1px dotted #bb1bbb;
    padding: 0.5em 0;
    margin-bottom: 0.5em;
    color: yellow; }
  #camp2 .camp2LgTxt {
    text-align: center;
    font-weight: bold;
    font-size: 1.6em;
    color: #a5eaff;
    text-shadow: 0 0 25px #009cff, 0 0 20px #009cff, 0 0 7px #000000;
    width: 100%;
    margin-bottom: 0.5em; }
  #camp2 .camp2Price1, #camp2 .camp2Price3 {
    margin-top: 1em; }
  #camp2 .camp2Price1, #camp2 .camp2Price2, #camp2 .camp2Price3 {
    text-align: center;
    margin-bottom: 1em; }
  #camp2 .camp2Price3 img {
    border: 1px solid #3e3e3e; }
  #camp2 #camp1st {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 1em 0; }
    #camp2 #camp1st div {
      width: 49%; }
      #camp2 #camp1st div p {
        font-size: 0.8em;
        text-align: center;
        margin-top: 0.5em; } }

@media screen and (min-width: 1001px) {
  #camp2 img {
    margin: 0 auto;
    width: 100%;
    height: auto;
    border: 1px solid #3e3e3e;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 800px; }
  #camp2 h5 {
    font-size: 1em;
    border-bottom: 1px dotted #bb1bbb;
    padding: 0.5em 0;
    margin-bottom: 0.5em;
    color: yellow; }
  #camp2 .camp2LgTxt {
    text-align: center;
    font-weight: bold;
    font-size: 1.6em;
    color: #a5eaff;
    text-shadow: 0 0 25px #009cff, 0 0 20px #009cff, 0 0 7px #000000;
    width: 100%;
    margin-bottom: 0.5em; }
  #camp2 .camp2Price1, #camp2 .camp2Price3 {
    margin-top: 1em; }
  #camp2 .camp2Price1, #camp2 .camp2Price2, #camp2 .camp2Price3 {
    text-align: center;
    margin-bottom: 1em; }
  #camp2 .camp2Price3 img {
    border: 1px solid #3e3e3e; }
  #camp2 #camp1st {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 1em 0; }
    #camp2 #camp1st div {
      width: 49%; }
      #camp2 #camp1st div p {
        font-size: 0.8em;
        text-align: center;
        margin-top: 0.5em; } }

@media screen and (max-width: 640px) {
  #banners {
    width: 93vw;
    margin: 0 auto 2em; }
    #banners img {
      margin: 0 auto;
      width: 100%;
      height: auto; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  #banners {
    width: 93vw;
    margin: 0 auto 2em; }
    #banners img {
      margin: 0 auto;
      width: 100%;
      height: auto; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  #banners {
    text-align: center;
    margin-bottom: 30px; } }

@media screen and (min-width: 1001px) {
  #banners {
    text-align: center;
    margin-bottom: 30px; } }

#campaignHeaderResult2 {
  margin: 0 auto;
  width: 90%;
  text-align: center; }
  @media screen and (max-width: 640px) {
    #campaignHeaderResult2 img {
      width: 100%;
      height: auto; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    #campaignHeaderResult2 img {
      width: 100%;
      height: auto; } }
  #campaignHeaderResult2 img {
    border: none !important; }

@media screen and (max-width: 640px) {
  #mediaFlex {
    width: 90%;
    margin: 1em; }
    #mediaFlex a {
      display: block;
      padding: 1em 2em;
      width: 100%;
      text-align: center;
      border-bottom: 2px solid #7b8213;
      border-top: 1px solid #ffff6e;
      margin-top: 1em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; } }

@media screen and (min-width: 641px) and (max-width: 799px) {
  #mediaFlex {
    width: 90%;
    margin: 1em; }
    #mediaFlex a {
      display: block;
      padding: 1em 2em;
      width: 100%;
      text-align: center;
      border-bottom: 2px solid #7b8213;
      border-top: 1px solid #ffff6e;
      margin-top: 1em;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; } }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  #mediaFlex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 1em 0 2em; }
    #mediaFlex a {
      display: block;
      padding: 1em 2em;
      width: 30%;
      text-align: center;
      border-bottom: 2px solid #7b8213;
      border-top: 1px solid #ffff6e; } }

@media screen and (min-width: 1001px) {
  #mediaFlex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 1em 0 2em; }
    #mediaFlex a {
      display: block;
      padding: 1em 2em;
      width: 30%;
      text-align: center;
      border-bottom: 2px solid #7b8213;
      border-top: 1px solid #ffff6e; } }

.rankTable {
  border-collapse: collapse;
  border-top: 1px solid #943d94;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-left: 1px solid #943d94;
  margin-bottom: 1em; }
  .rankTable tr th {
    background-color: #3d1b58; }
  .rankTable td {
    color: #2f2f2f; }
  .rankTable th, .rankTable td {
    text-align: center;
    padding: 0.3em;
    border: 1px solid black;
    background-color: white; }
  @media screen and (max-width: 640px) {
    .rankTable {
      font-size: 2vw; } }
  @media screen and (min-width: 641px) and (max-width: 799px) {
    .rankTable {
      font-size: 2vw; } }
  .rankTable tr.top1 td {
    background-color: #ff5b00;
    font-weight: bold;
    color: white; }
  .rankTable tr.top4 td {
    background-color: #ffe643;
    font-weight: bold; }
  .rankTable .red {
    color: red;
    font-size: 1.2em; }

@media screen and (min-width: 800px) and (max-width: 1000px) {
  .flexTable {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .flexTable .rankTable {
      width: 49% !important; } }

@media screen and (min-width: 1001px) {
  .flexTable {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .flexTable .rankTable {
      width: 49% !important; } }
