@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=New+Tegomin&family=Noto+Sans+JP:wght@300;500;700&family=Shippori+Mincho:wght@500;600&display=swap");
/*変数(ブレイクポイント)設定(必要に応じて数値を変更)*/
/*------------------------------------------------------------------------------*/
/* 全体設定 */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, table, th, td {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
  list-style-type: none;
  -webkit-text-size-adjust: 100%;
  border: none; }

img, a img {
  border: none;
  vertical-align: text-bottom;
  -ms-interpolation-mode: bicubic;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  image-rendering: auto;
  backface-visibility: hidden; }

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: none;
  border: none; }

/*画像リンク関連*/
a:active, a:focus {
  outline: none;
  border: none; }

a img {
  border: none;
  outline: none; }

img {
  padding: 0px;
  margin: 0px;
  border: none;
  outline: none; }

/*=====================================================================================================================*/
/*ボディー全体設定*/
html {
  overflow: auto; }

html, body {
  width: 100%;
  scroll-behavior: smooth; }

body {
  background: url(../../ja/img/back.jpg) #1f4a73;
  outline: none;
  min-width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  overflow: hidden; }

area {
  border: none;
  outline: none; }

a.modal {
  outline: none;
  border: none; }

a {
  text-decoration: none;
  outline: none;
  border: none; }

img {
  max-width: 100%; }

input[type="text"]:focus {
  outline: 0;
  border-color: orange; }

@media screen and (max-width: 1024px) {
  .pc {
    display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 1024px) {
    .sp {
      display: block; } }

/*フォント設定*/
.red {
  color: #FF0000; }

.redB {
  color: #FF0000;
  font-weight: bold; }

.blue {
  color: #0000FF; }

.blueB {
  color: #0000FF;
  font-weight: bold; }

.yellow {
  color: #FFB730; }

.yellowB {
  color: #FFB730;
  font-weight: bold; }

/*=====================================================================================================================*/
/*ヘッダー====================================================================================================================*/
header {
  width: 100%;
  background: #FFF;
  overflow: hidden;
  position: fixed;
  z-index: 99;
  height: 50px;
  display: flex;
  align-items: center; }

header img {
  text-align: left; }

header img:hover {
  opacity: 0.8; }

.hdcon {
  margin: 0 auto;
  width: 1180px;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media screen and (max-width: 1024px) {
    .hdcon {
      width: 100%; } }

.lang_btn {
  display: flex; }

.lang_btn a {
  color: #FFF; }

.lang_btn a:hover {
  color: #000; }

.lang_btn p {
  width: 60px;
  border-radius: 3px;
  background: #2d59e7;
  padding: 2px auto;
  text-align: center;
  margin: 0 3px; }

/*=====================================================================================================================*/
/*メインコンテンツ全体設定*/
.main {
  padding-top: 52px;
  background: url(../../ja/img/back_00.jpg) center #1f4a73;
  max-width: 1200px;
  margin: 0 auto;
  color: #FFF;
  border-left: groove #fff08c 4px;
  border-right: groove #fff08c 4px;
  overflow: hidden; }
  @media screen and (max-width: 1024px) {
    .main {
      width: calc(100%-8px); } }

.main_img, .con {
  max-width: 1000px;
  margin: 0 auto;
  overflow: hidden; }
  @media screen and (max-width: 1024px) {
    .main_img, .con {
      width: 95%; } }

.main_img {
  display: flex;
  justify-content: space-between; }
  .main_img li {
    margin: 0% 2%;
    width: 20%; }
  @media screen and (max-width: 1024px) {
    .main_img li img {
      max-width: 100%; } }

/*対応機種ロゴ*/
.g-title, .pslogo, .swlogo {
  display: block; }

.g-title {
  margin: 5% auto; }
  @media screen and (max-width: 1024px) {
    .g-title {
      width: 90%; } }

.c_logo {
  margin: 2% 4%;
  display: flex;
  overflow: hidden;
  justify-content: space-between;
  align-items: center; }

.pslogo {
  margin: 2% 0%; }
  @media screen and (max-width: 1024px) {
    .pslogo {
      margin: 2% 1.5%; } }
  @media screen and (max-width: 640px) {
    .pslogo {
      width: calc(200 / 640 * 100vw);
      margin: 2% 1%; } }

@media screen and (max-width: 640px) {
  .swlogo {
    width: calc(62 / 640 * 100vw); } }

/*=====================================================================================================================*/
/*概要部分*/
/*対応が1~2種の場合のcon*/
.con {
  display: flex; }
  @media screen and (max-width: 640px) {
    .con {
      display: block; } }

h2 {
  text-align: center;
  font-size: 24pt;
  font-weight: bold;
  margin: 15px auto; }

.r-con {
  width: 60%;
  font-size: 16pt; }
  @media screen and (max-width: 1024px) {
    .r-con {
      width: 90%;
      margin: 0 auto; } }

.r-con div {
  padding: 5px;
  line-height: 220%;
  font-weight: bold; }

/*対応が3種の場合*/
.r-con2 {
  width: 60%;
  margin: 0 auto; }

/*対応が1~2種の場合*/
.btn-li li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: #301a07;
  font-size: 14pt;
  margin: 3% auto;
  line-height: 120%;
  height: 50px;
  text-align: center;
  width: 100%;
  background: #FFF;
  border-radius: 5px;
  transition: 0.5s;
  font-weight: bold; }
  @media screen and (max-width: 1024px) {
    .btn-li li {
      font-size: 12pt; } }

.btn-li li:hover {
  opacity: 0.5; }

/*対応が３種の場合*/
.btn-li3 {
  display: flex;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  margin: 3% auto; }
  @media screen and (max-width: 640px) {
    .btn-li3 {
      flex-wrap: wrap; } }

.btn3 {
  text-align: center;
  width: 300px;
  color: #301a07;
  height: 60px;
  text-align: center;
  background: #FFF;
  border-radius: 5px;
  transition: 0.5s;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  overflow: hidden; }
  .btn3 a {
    display: block; }
  @media screen and (max-width: 1024px) {
    .btn3 {
      width: 200px; } }
  @media screen and (max-width: 640px) {
    .btn3 {
      width: 250px;
      margin: 3% auto; } }

/*上へ戻る*/
.up {
  width: 95%;
  display: block;
  margin: 15px auto;
  text-align: right;
  cursor: pointer; }

.up a {
  color: #FFF; }

.up a:hover {
  color: #ffc210; }

/*=====================================================================================================================*/
/*タイトル一覧*/
.gamelist {
  max-width: 1000px;
  overflow: hidden;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media screen and (max-width: 770px) {
    .gamelist {
      width: 95%; } }

.gamelist li {
  padding-top: 7px;
  color: #301a07;
  margin-left: 5px;
  margin-bottom: 5px;
  line-height: 120%;
  text-align: center;
  width: 48%;
  height: 260px;
  /*1種なら260px2種なら285px3種類になったら325px*/
  background: #FFF;
  border-radius: 5px;
  transition: 0.5s;
  overflow: hidden; }
  @media screen and (max-width: 770px) {
    .gamelist li {
      width: 95%;
      float: none;
      height: auto;
      margin: 2% auto;
      padding-bottom: 3%; } }

h3 {
  padding: 9px 0;
  font-weight: bold; }
  @media screen and (max-width: 770px) {
    h3 {
      text-align: center; } }

h3, .one {
  font-size: 30px;
  margin-bottom: 30px;
  font-weight: bold; }
  @media screen and (max-width: 770px) {
    h3, .one {
      margin-bottom: 10px; } }

h3, .two {
  font-weight: bold;
  font-size: 20pt;
  margin-bottom: 10px; }

.two span {
  font-size: 10pt; }

.gamelist p {
  margin: 0;
  font-weight: bold;
  font-size: 8pt; }

.scon {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 12px; }
  @media screen and (max-width: 640px) {
    .scon {
      display: block; } }

.cap {
  overflow: hidden;
  width: 220px; }
  @media screen and (max-width: 640px) {
    .cap {
      display: block;
      float: none;
      width: 80%;
      margin: 5% auto; } }

.g-con {
  text-align: left;
  width: 46%;
  font-size: 12pt;
  font-weight: 800;
  overflow: hidden;
  margin-left: 15px; }
  @media screen and (max-width: 640px) {
    .g-con {
      padding: 0;
      width: 90%;
      margin: 0 auto; } }

.game-btn {
  position: relative;
  width: 96%;
  margin: 0px auto 3px;
  border-radius: 5px;
  font-weight: bold;
  font-size: 15pt;
  padding: 15px 0px;
  background: #002896;
  color: #FFF;
  transition: 0.5s;
  overflow: hidden; }

.game-btn:hover {
  opacity: 0.5; }

.game-btn::after {
  content: url(../img/arrow.png);
  position: absolute;
  right: 15px;
  top: 25%;
  color: red; }
  @media screen and (max-width: 640px) {
    .game-btn::after {
      content: none; } }

.sub-gt {
  display: inline;
  font-size: 12px; }

.name {
  text-align: right;
  margin-right: 5px; }

#Note {
  position: absolute;
  top: -80px; }

.caution {
  max-width: 980px;
  font-size: 8pt;
  margin: 10px auto;
  position: relative; }
  @media screen and (max-width: 640px) {
    .caution {
      max-width: 90%; } }

.caution li {
  margin-bottom: 8px; }

/*=====================================================================================================================*/
/*シリーズ一覧*/
.series {
  width: 900px;
  max-width: 90%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 0 auto; }
  @media screen and (max-width: 770px) {
    .series {
      display: flex; } }

.series li {
  display: block;
  background: #FFF;
  border-radius: 0.5em;
  width: 250px;
  margin: 10px auto;
  overflow: hidden;
  padding: 10px; }

.sr_con {
  display: block;
  background: #002896;
  border-radius: 0.5em;
  margin: 15px 5px 5px;
  text-align: center;
  overflow: hidden;
  padding: 5px; }

.series a div {
  font-size: 18px;
  font-weight: bold;
  color: #FFF; }
  @media screen and (max-width: 770px) {
    .series a div {
      font-size: 12px; } }

.series a:hover div {
  font-size: 18px;
  font-weight: bold;
  color: #FCAC00; }

.series li img {
  display: block;
  width: 160px;
  margin: 0 auto; }

.series li p {
  background: #093b00; }

/*=====================================================================================================================*/
/*スペック*/
/*=====================================================================================================================*/
/*フッター*/
footer {
  background: #FFF;
  overflow: hidden;
  max-width: 1208px;
  margin: 0 auto; }

.ft_txt {
  text-align: center;
  font-size: 12px;
  margin: 2% auto; }

/*=====================================================================================================================*/
/*SNS一覧*/
#sns_btn ul {
  width: 340px;
  margin: 2% auto;
  display: flex;
  justify-content: space-around; }
  #sns_btn ul img {
    display: block;
    margin: 0 3%;
    width: calc(50 / 1920 * 100vw); }
  @media screen and (max-width: 1024px) {
    #sns_btn ul img {
      width: calc(60 / 1024 * 100vw); } }
  @media screen and (max-width: 770px) {
    #sns_btn ul {
      width: 240px; } }
  @media screen and (max-width: 640px) {
    #sns_btn ul {
      width: 50%; }
      #sns_btn ul img {
        width: calc(100 / 1024 * 100vw); } }

/*=====================================================================================================================*/
