html {
  position: relative;
  min-height: 100%; }

a {
  text-decoration: none; }

@font-face {
  font-family: '8bitOperatorPlus-Bold';
  src: url("/assets/fonts/8bitOperatorPlus-Bold.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/8bitOperatorPlus-Bold.woff") format("woff"), url("/assets/fonts/8bitOperatorPlus-Bold.ttf") format("truetype"), url("/assets/fonts/8bitOperatorPlus-Bold.svg#8bitOperatorPlus-Bold") format("svg");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'JF-Dot-Shinonome-14-Regular';
  src: url("/assets/fonts/JF-Dot-Shinonome-14-Regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/JF-Dot-Shinonome-14-Regular.woff") format("woff"), url("/assets/fonts/JF-Dot-Shinonome-14-Regular.ttf") format("truetype"), url("/assets/fonts/JF-Dot-Shinonome-14-Regular.svg#JF-Dot-Shinonome-14-Regular") format("svg");
  font-weight: normal;
  font-style: normal; }
* {
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

@media (min-width: 768px) {
  .container {
    width: 750px; } }
@media (min-width: 992px) {
  .container {
    width: 970px; } }
@media (min-width: 1200px) {
  .container {
    width: 1170px; } }
.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

.row {
  margin-right: -15px;
  margin-left: -15px; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }

@media (min-width: 768px) {
  .col-sm-6 {
    width: 50%; } }
@media (min-width: 768px) {
  .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9 {
    float: left; } }
.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto; }

body {
  background-color: black;
  margin-bottom: 60px;
  color: #ffffff;
  font-family: "8bitOperatorPlus-Bold", monospace; }
  @media screen and (max-width: 767px) {
    body {
      margin-bottom: 140px; } }

h1, h2, h3, h4, h5, h6, strong {
  font-weight: normal;
  margin: 0; }

h2 {
  font-size: 40px;
  margin-top: 5px; }

h3 {
  font-size: 22px;
  letter-spacing: -0.7;
  margin-bottom: 10px; }

h4 {
  font-size: 16px;
  letter-spacing: 3;
  margin-top: 20px;
  margin-bottom: 20px; }

h6 {
  font-size: 12px;
  margin-bottom: 5px;
  letter-spacing: -0.5; }

.yellow {
  color: #F9FF10; }

.green {
  color: #00ff00; }
  .green:hover {
    color: #00dd00 !important; }

img.small-img {
  height: 12px;
  width: 12px; }

nav.navbar {
  background-color: #383838;
  border-radius: 0;
  border: none;
  max-height: 50px; }
  @media screen and (max-width: 767px) {
    nav.navbar {
      max-height: 1000px; }
      nav.navbar .container {
        margin-top: 54px; } }

nav > .flags {
  float: right;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0; }
  nav > .flags li {
    float: left;
    position: relative;
    display: block;
    padding-right: 10px; }
    nav > .flags li a, nav > .flags li img {
      padding: 12px 0; }
      @media screen and (max-width: 767px) {
        nav > .flags li a, nav > .flags li img {
          padding: 14px 0; } }
      nav > .flags li a:hover, nav > .flags li img:hover {
        opacity: 0.9; }

.nav > li > a, footer a {
  color: #878787;
  text-shadow: 0 2px #000000;
  font-size: 18px;
  padding: 15px 0; }

footer .privacy a {
  color: #474747;
  font-size: 10px;
  text-decoration: none; }

.nav > li > a:hover, .footer a:hover, .nav > li > a:focus, .footer a:focus {
  color: #CCCCCC;
  text-decoration: none;
  background-color: inherit; }

#top_nav .nav-justified {
  padding: 0; }
  @media screen and (min-width: 992px) {
    #top_nav .nav-justified {
      padding: 0 90px; } }
  @media screen and (min-width: 1200px) {
    #top_nav .nav-justified {
      padding: 0 180px; } }

.navbar-toggle {
  float: left;
  margin: 4px 0 0 0;
  padding: 14px; }
  .navbar-toggle .menu-text {
    color: #878787;
    text-shadow: 0 2px #000000;
    float: left;
    padding-left: 40px;
    padding-top: 6px;
    font-size: 20px;
    line-height: 0.1; }
  .navbar-toggle .icon-bar {
    padding-top: 3px;
    background-color: #878787;
    box-shadow: 0 2px #000000; }

.wrapper {
  margin-top: 20px;
  padding-bottom: 50px; }

.main {
  text-align: center; }
  .main:before, .main:after {
    content: " ";
    display: table; }
  .main:after {
    clear: both; }
  .main .row {
    margin-top: 15px; }
  .main .no-margin {
    margin: 0; }

#logo {
  margin: 30px auto 60px; }
  @media screen and (max-width: 767px) {
    #logo {
      padding: 0 20px; } }

#subtitle {
  margin-bottom: 80px !important; }

.modal .modal-content {
  background: #383838;
  border: 2px solid #878787; }
  .modal .modal-content .modal-header {
    border: none; }
  .modal .modal-content .modal-title {
    text-shadow: 0 2px #000000; }
  .modal .modal-content .close {
    color: #878787;
    opacity: 1;
    text-shadow: 0 2px #000000;
    font-size: 24px; }
    .modal .modal-content .close:hover, .modal .modal-content .close:active {
      color: #a1a1a1; }
.modal .panel {
  border: 2px solid #878787;
  background: #4D4D4D; }
  .modal .panel .panel-heading {
    padding: 0;
    background: #878787;
    border: none;
    text-shadow: 0 2px #000000;
    text-transform: uppercase;
    color: #ffffff; }
    .modal .panel .panel-heading a {
      display: block;
      width: 100%;
      padding: 10px; }
      .modal .panel .panel-heading a:focus {
        color: #ffffff;
        text-decoration: none; }
      .modal .panel .panel-heading a:hover, .modal .panel .panel-heading a:active {
        color: #dddddd;
        text-decoration: none; }
  .modal .panel .panel-body {
    border: none; }

#home h1 {
  line-height: 1.4;
  font-size: 46px;
  position: relative;
  margin-bottom: 30px; }
  @media screen and (max-width: 1199px) {
    #home h1 {
      font-size: 32px; } }
  @media screen and (max-width: 991px) {
    #home h1 {
      letter-spacing: 8px;
      font-size: 24px;
      margin-bottom: 20px; } }
  @media screen and (max-width: 767px) {
    #home h1 {
      margin-bottom: 20px !important; } }
  @media screen and (max-width: 568px) {
    #home h1 {
      letter-spacing: 7px; } }
#home h2 {
  color: #bbb;
  font-size: 28px;
  margin-bottom: 30px;
  padding: 0 20px;
  text-align: left;
  line-height: 1.4; }
  #home h2 a {
    color: #eee; }
    #home h2 a:hover, #home h2 a:active, #home h2 a:focus {
      color: #ccc; }
  @media screen and (max-width: 991px) {
    #home h2 {
      font-size: 16px; } }
  @media screen and (max-width: 767px) {
    #home h2 {
      margin-bottom: 30px !important; } }
#home #download {
  margin-top: 30px; }
  #home #download a {
    font-size: 36px;
    display: block;
    margin-bottom: 30px; }
    @media screen and (max-width: 991px) {
      #home #download a {
        font-size: 24px; } }
    #home #download a:hover {
      text-decoration: none;
      color: #d6dc00; }
  #home #download .japanese a {
    font-size: 38px;
    line-height: 1.3; }
    @media screen and (max-width: 991px) {
      #home #download .japanese a {
        font-size: 24px; } }
  #home #download img {
    margin: 0 auto; }
    #home #download img:hover {
      opacity: 0.9; }

.japanese {
  font-family: "JF-Dot-Shinonome-14-Regular", monospace !important; }
  .japanese h1 {
    font-size: 32px !important;
    line-height: 1.66 !important; }
    @media screen and (max-width: 1199px) {
      .japanese h1 {
        font-size: 30px !important;
        line-height: 1.45 !important;
        padding-top: 1px; } }
    @media screen and (max-width: 991px) {
      .japanese h1 {
        font-size: 24px !important;
        line-height: 1.4 !important;
        margin-bottom: 20px; } }
    @media screen and (max-width: 767px) {
      .japanese h1 {
        margin-bottom: 20px !important;
        line-height: 1.66 !important; } }
    @media screen and (max-width: 568px) {
      .japanese h1 {
        font-size: 18px !important; } }

footer {
  text-align: center; }
  footer a {
    text-decoration: underline;
    color: white; }
    footer a:hover {
      color: #ccc; }

@media screen and (max-width: 568px) {
  #en1, #en2, #en4 {
    margin-right: -8px; } }
#en11, #jp11 {
  margin-top: 80px; }
