@charset "UTF-8";
/*------------------
変数
------------------*/
/*------------------
mixin
------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

body {
  background-color: #000;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"; }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    body {
      background-color: #fff; } }

.wrapper {
  margin: -24px auto 0;
  width: 100%; }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    .wrapper {
      width: 100%; } }
  @media screen and (min-width: 960px) {
    .wrapper {
      width: 1006px;
      background: url(../img/pc/frame.png) top center repeat-y; } }

header {
  position: relative; }
  @media screen and (max-width: 640px) {
    header {
      padding-bottom: calc((1000/720)*100%);
      width: 100%;
      height: 0;
      background: url(../img/sp/bg_main.jpg) top center no-repeat;
      background-size: 100%; } }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    header {
      padding-bottom: calc((600/959)*100%);
      width: 100%;
      height: 0;
      background: url(../img/pc/bg_main.jpg) top center no-repeat;
      background-size: 100%; } }
  @media screen and (min-width: 960px) {
    header {
      margin: 0 23px;
      width: 960px;
      height: 600px;
      background: url(../img/pc/bg_main.jpg) top center no-repeat; } }
   .information {
    line-height: 1.2; }
    @media screen and (max-width: 640px) {
       .information {
        padding: calc((20/640)*100%);
        width: 100%; } }
    @media screen and (min-width: 640px) and (max-width: 959px) {
       .information {
        padding: calc((25/959)*100%);
        width: 100%;} }
    @media screen and (min-width: 960px) {
      .information {
        margin: 20px 40px 20px; } }
    .information .date {
      display: block;
      color: #fff229;
      font-size: 15px; }
      @media screen and (max-width: 640px) {
        .information .date {
          font-size: 80%; } }
    .information .info_text {
      display: block;
      color: #fff;
      font-size: 16px; }
      @media screen and (max-width: 640px) {
         .information .info_text {
          font-size: 80%; } }
      @media screen and (min-width: 640px) and (max-width: 959px) {
       .information .info_text {
          font-size: 80%; } }
      .information .info_text > a {
        color: aquamarine; }
.information {background: #000;}

.sec01 {
  background: url(../img/bg_red.png) top left repeat; }
  @media screen and (max-width: 640px) {
    .sec01 {
      padding: calc((40/640)*100%) 0 calc((40/640)*100%); } }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    .sec01 {
      padding: calc((30/959)*100%) 0 calc((30/959)*100%);
      width: 100%; } }
  @media screen and (min-width: 960px) {
    .sec01 {
      margin: 0 23px;
      width: 960px;
      padding: 30px 0 30px; } }
  @media screen and (max-width: 640px) {
    .sec01 .catch1 {
      padding-bottom: calc((203/640)*100%);
      width: 100%;
      height: 0;
      background-size: 100%;
      background: url(../img/sp/catch1.png) top center no-repeat;
      background-size: 100%; } }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    .sec01 .catch1 {
      padding-bottom: calc((87/959)*100%);
      width: calc((960/959)*100%);
      height: 0;
      background: url(../img/pc/catch1.png) top center no-repeat;
      background-size: 100%; } }
  @media screen and (min-width: 960px) {
    .sec01 .catch1 {
      width: 960px;
      height: 87px;
      background: url(../img/pc/catch1.png) top center no-repeat; } }
  .sec01 ul {
    text-align: center; }
  .sec01 li {
    display: inline-block;
    vertical-align: top;
    /*a {
    	display: block;
    	height: 115px;
    }*/ }
    @media screen and (max-width: 640px) {
      .sec01 li {
        margin: 1% 0;
        padding-bottom: calc((85/640)*100%);
        width: calc((292/640)*100%);
        height: 0; } }
    @media screen and (min-width: 640px) and (max-width: 959px) {
      .sec01 li {
        padding-bottom: calc((85/959)*100%);
        width: calc((292/959)*100%);
        height: 0; } }
    @media screen and (min-width: 960px) {
      .sec01 li {
        width: 292px;
        height: 85px; } }
    .sec01 li img {
      display: block;
      width: 100%; }
  .sec01 .img1,
  .sec01 .img2 {
    margin: 0 auto 2%;
    width: 100%; }
    @media screen and (min-width: 960px) {
      .sec01 .img1,
      .sec01 .img2 {
        margin-bottom: 20px; } }
  .sec01 .sns {
    text-align: center; }
    @media screen and (max-width: 640px) {
      .sec01 .sns {
        margin-top: 4%; } }
    @media screen and (min-width: 640px) and (max-width: 959px) {
      .sec01 .sns {
        margin-top: 1%; } }
    @media screen and (min-width: 960px) {
      .sec01 .sns {
        margin-bottom: 35px; } }
    .sec01 .sns img {
      margin: 0 10px; }
  .sec01 .notice {
    margin: 0 auto;
    background-color: #fff;
    border-radius: 10px;
    box-sizing: border-box; }
    @media screen and (max-width: 640px) {
      .sec01 .notice {
        margin-top: 6%;
        padding: calc((30/640)*100%);
        width: 90%; } }
    @media screen and (min-width: 640px) and (max-width: 959px) {
      .sec01 .notice {
        margin-top: 4%;
        padding: calc((30/959)*100%);
        width: calc((860/959)*100%); } }
    @media screen and (min-width: 960px) {
      .sec01 .notice {
        padding: 30px;
        width: 860px; } }
    .sec01 .notice p {
      font-weight: bold;
      text-align: center;
      sont-size: 20px; }
      @media screen and (max-width: 640px) {
        .sec01 .notice p {
          font-size: 18x; } }
    .sec01 .notice li {
      padding-bottom: 0;
      width: 90%;
      height: inherit;
      text-align: left;
      text-indent: -1em;
      margin-left: 1em;
      font-size: 85%;
      line-height: 1.3;
      /*@include sp {
      	font-size: 12px;
      }*/ }

.sec02 {
  width: 100%;
  background: url(../img/bg_gray.png) top center repeat; }
  @media screen and (max-width: 640px) {
    .sec02 {
      padding: calc((40/640)*100%) 0 calc((50/640)*100%); } }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    .sec02 {
      padding: calc((30/959)*100%) 0 calc((55/959)*100%); } }
  @media screen and (min-width: 960px) {
    .sec02 {
      margin: 0 23px;
      width: 960px;
      padding: 30px 0 55px; } }
  @media screen and (max-width: 640px) {
    .sec02 .catch2 {
      padding-bottom: calc((131/640)*100%);
      width: 100%;
      height: 0;
      background-size: 100%;
      background: url(../img/sp/catch2.png) top center no-repeat;
      background-size: 100%; } }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    .sec02 .catch2 {
      padding-bottom: calc((90/959)*100%);
      width: calc((960/959)*100%);
      height: 0;
      background: url(../img/pc/catch2.png) top center no-repeat;
      background-size: 100%; } }
  @media screen and (min-width: 960px) {
    .sec02 .catch2 {
      width: 960px;
      height: 90px;
      background: url(../img/pc/catch2.png) top center no-repeat; } }
  @media screen and (max-width: 640px) {
    .sec02 p {
      margin: calc((30/640)*100%) calc((50/640)*100%);
      font-size: 16px; } }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    .sec02 p {
      margin: calc((30/959)*100%) calc((50/959)*100%);
      font-size: 17px; } }
  @media screen and (min-width: 960px) {
    .sec02 p {
      margin: 30px 50px;
      font-size: 18px; } }
  .sec02 #screenshots {
    width: 65%;
    margin: 40px auto 60px;
    border: 1px solid #06a; }
  .sec02 #screenshots .flex-control-nav {
    bottom: -5% !important; }
  @media screen and (max-width: 640px) {
    .sec02 #screenshots .flex-control-nav {
      bottom: -9% !important; } }
  @media screen and (min-width: 960px) {
    .sec02 .spec {
      margin: 20px auto;
      width: 80%;
      font-size: 90%;
      background-color: #fff; }
    .sec02 .spec th {
      background-color: #d3d1d1;
      text-align: center;
      width: 20%; }
    .sec02 .spec th,
    .sec02 .spec td {
      border: 1px solid #ddd;
      padding: 10px 15px; }
    .sec02 .spec td.lit {
      text-align: center;
      width: 18%; }
    .sec02 .spec td.rit {
      width: 62%; } }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    .sec02 .spec {
      margin: calc((20/959)*100%) auto;
      width: 90%;
      font-size: 90%;
      background-color: #fff; }
    .sec02 .spec th {
      background-color: #d3d1d1;
      text-align: center;
      width: 20%; }
    .sec02 .spec th,
    .sec02 .spec td {
      border: 1px solid #ddd;
      padding: 10px 15px; }
    .sec02 .spec td.lit {
      text-align: center;
      width: 18%; }
    .sec02 .spec td.rit {
      width: 62%; } }
  @media screen and (max-width: 640px) {
    .sec02 .spec {
      margin: calc((20/640)*100%) auto;
      width: 90%;
      border-bottom: 1px solid #ddd;
      font-size: 80%;
      background-color: #fff;
      text-align: left; }
    .sec02 .spec th {
      display: block;
      width: 100%;
      border: none;
      padding: 10px 10px;
      font-size: 140%;
      border-bottom: solid 1px #888;
      text-align: left; }
    .sec02 .spec td {
      display: block;
      float: left;
      border-top: 1px solid #ddd;
      padding: 10px 10px; }
    .sec02 .spec td.lit {
      width: 35%; }
    .sec02 .spec td.rit {
      width: 65%; } }
  .sec02 .outline {
    clear: both;
    margin: 0 auto;
    border: 1px solid #969696; }
    @media screen and (max-width: 640px) {
      .sec02 .outline {
        width: calc((580/640)*100%); } }
    @media screen and (min-width: 640px) and (max-width: 959px) {
      .sec02 .outline {
        width: calc((860/959)*100%); } }
    @media screen and (min-width: 960px) {
      .sec02 .outline {
        width: 860px;
        font-size: 17px; } }
  .sec02 .left {
    background-color: #d3d1d1; }
    @media screen and (max-width: 640px) {
      .sec02 .left {
        width: 100%; } }
    @media screen and (min-width: 640px) and (max-width: 959px) {
      .sec02 .left {
        float: left;
        width: calc((210/959)*100%); } }
    @media screen and (min-width: 960px) {
      .sec02 .left {
        float: left;
        width: 210px; } }
  .sec02 .right {
    background-color: antiquewhite; }
    @media screen and (max-width: 640px) {
      .sec02 .right {
        width: 100%; } }
    @media screen and (min-width: 640px) and (max-width: 959px) {
      .sec02 .right {
        float: left;
        width: calc((210/959)*100%); } }
    @media screen and (min-width: 960px) {
      .sec02 .right {
        float: left;
        width: 648px;
        border-left: 1px solid #969696; } }

.bnr_area {
  width: 100%;
  background-color: #fff; }
  @media screen and (max-width: 640px) {
    .bnr_area {
      padding: calc((50/640)*100%) 0 0; } }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    .bnr_area {
      padding: calc((40/959)*100%) 0 0; } }
  @media screen and (min-width: 960px) {
    .bnr_area {
      margin: 0 23px;
      width: 960px;
      padding: 40px 0 0; } }
  .bnr_area ul {
    text-align: center; }
  .bnr_area li {
    display: inline-block;
    vertical-align: top; }
    @media screen and (max-width: 640px) {
      .bnr_area li {
        margin: 1% 0;
        padding-bottom: calc((164/640)*100%);
        width: calc((292/640)*100%);
        height: 0; } }
    @media screen and (min-width: 640px) and (max-width: 959px) {
      .bnr_area li {
        padding-bottom: calc((164/959)*100%);
        width: calc((292/959)*100%);
        height: 0; } }
    @media screen and (min-width: 960px) {
      .bnr_area li {
        width: 292px;
        height: 164px; } }
    .bnr_area li img {
      display: block;
      width: 100%; }

footer {
  width: 100%;
  background-color: #fff; }
  @media screen and (max-width: 640px) {
    footer {
      padding: calc((50/640)*100%) 0; } }
  @media screen and (min-width: 640px) and (max-width: 959px) {
    footer {
      padding: calc((40/959)*100%) 0; } }
  @media screen and (min-width: 960px) {
    footer {
      margin: 0 23px;
      width: 960px;
      padding: 40px 0; } }
  footer .platform {
    display: block; }
    @media screen and (max-width: 640px) {
      footer .platform {
        margin: 0 auto calc((40/640)*100%);
        width: calc((340/640)*100%); } }
    @media screen and (min-width: 640px) and (max-width: 959px) {
      footer .platform {
        margin: 0 auto calc((340/959)*100%);
        width: calc((340/959)*100%); } }
    @media screen and (min-width: 960px) {
      footer .platform {
        margin: 0 auto 30px;
        width: 340px; } }
  footer > p {
    text-align: center;
    font-size: 12px; }
    @media screen and (min-width: 640px) and (max-width: 959px) {
      footer > p {
        margin-top: -30%; } }
    @media screen and (max-width: 640px) {
      footer > p {
        padding: 0 2%;
        font-size: 11x; } }
    footer > p > small {
      font-size: 12px; }

#page-top {
  position: fixed;
  z-index: 10000;
  bottom: 20px;
  right: 20px;
  font-size: 77%; }

#page-top a {
  background: url(../img/btn_gotop.png) top left no-repeat;
  width: 70px;
  padding: 70px 0;
  text-align: center;
  display: block;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  transition: all 0.5s; }

@media screen and (min-width: 960px) {
  #page-top a:hover {
    opacity: 0.7;
    transition: all 0.5s; } }

.hide {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

@media screen and (max-width: 640px) {
  .no-sp {
    display: none; } }

@media screen and (min-width: 640px) and (max-width: 959px) {
  .no-pc {
    display: none; } }
@media screen and (min-width: 960px) {
  .no-pc {
    display: none; } }

@media screen and (max-width: 640px) {
  .hidesp {
    display: none; } }
