@charset "UTF-8";
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansJP-Regular.woff2") format("woff2"), url("../font/NotoSansJP-Regular.woff") format("woff"), url("../font/NotoSansJP-Regular.otf") format("OpenType"); }
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 700;
  src: url("../font/NotoSansJP-Bold.woff2") format("woff2"), url("../font/NotoSansJP-Bold.woff") format("woff"), url("../font/NotoSansJP-Bold.otf") format("OpenType"); }
* {
  box-sizing: border-box; }

html {
  background: #0d0c0c;
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word; }

body {
  color: #000;
  font-family: 'NotoSansCJKjp', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', sans-serif;
  font-size: 2.4rem;
  line-height: 1.6;
  min-width: 768px; }

img, video {
  height: auto;
  max-width: 100%; }

a {
  color: #fff; }

.inner {
  margin: 0 auto;
  max-width: 1200px; }

.pc_only {
  display: none; }

/* ---------------------------------------
  HEADER
--------------------------------------- */
header {
  height: 150px;
  position: fixed;
  top: 0;
  right: 0;
  width: 30%;
  z-index: 99; }
  header .sound {
    cursor: pointer;
    position: absolute;
    top: 166px;
    right: 46px; }
  header.open {
    width: 100%; }

/* NAVI
----------------------------- */
.pc_navi {
  display: none; }

.sp_navi {
  position: relative; }
  .sp_navi #btn_navi {
    background: url("../images/shared/btn_bg_menu.png") no-repeat 0 0;
    cursor: pointer;
    font-family: "Noto Serif JP","游明朝","Yu Mincho","YuMincho","Hiragino Mincho ProN","HGS明朝E","メイリオ","Meiryo",serif;
    text-align: center;
    display: block;
    width: 118px;
    height: 110px;
    line-height: 0;
    position: absolute;
    top: 25px;
    right: 26px;
    z-index: 2; }
    .sp_navi #btn_navi span {
      position: absolute;
      left: 36px;
      width: 46px;
      border-radius: 50%;
      height: 4px;
      box-shadow: 0 1px 0 #999;
      background: #fff;
      -webkit-transition: all 330ms;
      transition: all 330ms; }
      .sp_navi #btn_navi span:nth-child(1) {
        top: 36px; }
      .sp_navi #btn_navi span:nth-child(2) {
        top: 48px; }
      .sp_navi #btn_navi span:nth-child(3) {
        top: 60px; }
  .sp_navi .sp_navi_contents {
    background: rgba(0, 14, 26, 0.95);
    width: 100vw;
    height: 100vh;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
    display: block;
    -webkit-transform: translate(0, -101%);
    transform: translate(0, -101%);
    opacity: 0;
    -webkit-transition: opacity 150ms ease-out;
    transition: opacity 150ms ease-out;
    padding: 150px 30px 0; }
    .sp_navi .sp_navi_contents li {
      opacity: 0;
      margin: 0 0 70px;
      position: relative;
      transform: translate(-20px, 0); }
      .sp_navi .sp_navi_contents li.new:before {
        background: url("../images/shared/icon_new.png") no-repeat 0 0;
        content: "";
        height: 16px;
        position: absolute;
        left: 44px;
        top: 20px;
        width: 48px; }
  .sp_navi.open #btn_navi span:nth-child(1) {
    top: 46px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .sp_navi.open #btn_navi span:nth-child(2) {
    top: 46px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
  .sp_navi.open #btn_navi span:nth-child(3) {
    top: 46px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
    
    
     .sp_navi .sp_navi_contents .lang_menu {
	     width: 80%; margin: 0 auto; display: flex;
     }
     .sp_navi .sp_navi_contents .lang_menu li{
	     width: 48%;  height: auto; border: 1px solid #FFF; border-radius: 12px;
	     padding: 0.6em 0; margin-right: 4%;
	     text-align: center;
     }
     .sp_navi .sp_navi_contents .lang_menu li:last-child{
	     margin-right: 0;
     }
     .sp_navi .sp_navi_contents .lang_menu li.on{
	     background: #c50000;
     }
     
     
    
    
  .sp_navi.open .sp_navi_contents {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: opacity 400ms ease-out;
    transition: opacity 400ms ease-out;
    position: relative; }
    .sp_navi.open .sp_navi_contents li {
      transform: translate(0px, 0px);
      opacity: 1;
      transition: all 800ms; }
    .sp_navi.open .sp_navi_contents span {
      color: #5b5f64;
      display: block;
      font-family: "Noto Serif JP","游明朝","Yu Mincho","YuMincho","Hiragino Mincho ProN","HGS明朝E","メイリオ","Meiryo",serif;
      padding: 40px 0 0 110px; }
    .sp_navi.open .sp_navi_contents em {
      color: #fff;
      margin: 0 15px; }

#top header nav .navi_top:after,
#news header nav .navi_news:after,
#story header nav .navi_story:after,
#character header nav .navi_character:after,
#system header nav .navi_system:after,
#special header nav .navi_special:after {
  background: url("../images/shared/current_sp.png") no-repeat 0 bottom;
  content: "";
  display: block;
  height: 30px;
  position: absolute;
  top: 36px;
  left: 0;
  width: 100%; }

/* ---------------------------------------
  LODING
--------------------------------------- */
#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #031e33;
  z-index: 9999; }
  #loading.hide {
    opacity: 0;
    pointer-events: none;
    transition: opacity 800ms; }
  #loading > p {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 120px;
    width: 120px; }

/* ---------------------------------------
  CONTENTS
--------------------------------------- */
.btn_store {
  display: flex;
  justify-content: center;
  margin: 0 30px 60px; }
  .btn_store li {
    margin: 0 20px; }

/* NEWS
----------------------------- */
.article_list li:not(:last-child) {
  border-bottom: 1px solid #005a8f;
  margin: 0 0 20px;
  padding: 0 0 20px; }
.article_list h2 {
  font-size: 2.8rem; }
.article_list .date {
  font-family: 'Inknut Antiqua', 'NotoSansCJKjp', serif;
  font-size: 2.4rem;
  margin: 0 0 10px; }
  .article_list .date span {
    background: #b32c27;
    border-radius: 50px;
    color: #fff;
    display: inline-block;
    font-family: 'NotoSansCJKjp', serif;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 0 0 0 20px;
    text-align: center;
    width: 140px; }

/* ---------------------------------------
  FOOTER
--------------------------------------- */
footer {
  background: #0d0c0c;
  color: #fff;
  padding: 0 0 50px; }
  footer .data {
    background-image: -moz-linear-gradient(0deg, #031e33 0%, #022e4b 18%, #003e62 50%, #022e4b 73%, #031e33 100%);
    background-image: -webkit-linear-gradient(0deg, #031e33 0%, #022e4b 18%, #003e62 50%, #022e4b 73%, #031e33 100%);
    background-image: -ms-linear-gradient(0deg, #031e33 0%, #022e4b 18%, #003e62 50%, #022e4b 73%, #031e33 100%);
    display: flex;
    margin: 0 0 60px;
    padding: 40px 30px; }
    footer .data dd {
      font-size: 2rem;
      margin: 16px 0 0 20px;
      width: 460px; }
    footer .data span {
      display: block; }
  footer .share {
    margin: 0 0 60px;
    text-align: center; }
    footer .share p {
      font-family: "Noto Serif JP","游明朝","Yu Mincho","YuMincho","Hiragino Mincho ProN","HGS明朝E","メイリオ","Meiryo",serif;
      font-size: 3.2rem;
      margin: 0 0 20px; }
    footer .share ul {
      display: flex;
      justify-content: center; }
      footer .share ul li {
        height: 106px;
        margin: 0 30px;
        width: 106px; }
  footer .link_text {
    margin: 0 0 60px;
    text-align: center; }
    footer .link_text span {
      margin: 0 10px; }
  footer .footer_caution {
    color: #999999;
    font-size: 1.8rem;
    padding: 0 20px 60px;
    text-align: center; }
  footer .copyright {
    text-align: center;
    font-size: 2rem; }
    footer .copyright small {
      background: url("../images/shared/icon_cp.gif") no-repeat 0 8px;
      padding: 0 0 0 25px; 
}

.footer_inner {
  margin: 0 30px; }

/* FOOTER NAVI
----------------------------- */
.footer_navi {
  padding: 0 0 80px; }
  .footer_navi li {
    font-size: 3.2rem;
    margin: 0 0 1px; }
    .footer_navi li a {
      background: url("../images/shared/icon_footer_navi.gif") no-repeat right 30px top 50% #343434;
      display: block;
      font-family: 'Inknut Antiqua', 'NotoSansCJKjp', serif;
      padding: 30px; }
    .footer_navi li span {
      display: inline-block; }

#top .footer_navi .navi_top a,
#news .footer_navi .navi_news a,
#story .footer_navi .navi_story a,
#character .footer_navi .navi_character a,
#system .footer_navi .navi_system a,
#special .footer_navi .navi_special a {
  background: #343434; }
#top .footer_navi .navi_top span:after,
#news .footer_navi .navi_news span:after,
#story .footer_navi .navi_story span:after,
#character .footer_navi .navi_character span:after,
#system .footer_navi .navi_system span:after,
#special .footer_navi .navi_special span:after {
  content: "";
  display: block;
  height: 4px;
  width: 100%;
  background-image: -moz-linear-gradient(180deg, #2281ff 0%, #ba5daa 50%, #c12b1a 100%);
  background-image: -webkit-linear-gradient(180deg, #2281ff 0%, #ba5daa 50%, #c12b1a 100%);
  background-image: -ms-linear-gradient(180deg, #2281ff 0%, #ba5daa 50%, #c12b1a 100%); }

@media print, screen and (min-width: 769px) {
  body {
    font-size: 1.4rem; }

  .sp_only {
    display: none; }

  .pc_only {
    display: block; }

  /* ---------------------------------------
    PC HEADER
  --------------------------------------- */
  header {
    background-image: url("../images/shared/bg_shadow.png");
    height: 70px;
    overflow: hidden;
    width: 100%; }
    header .bg_header {
      background: url("../images/shared/bg_header.png") repeat-x center 0;
      height: 70px;
      position: absolute;
      top: 0;
      left: 0;
      transform: translate(0, -70px);
      transition: all .3s ease;
      width: 100%;
      z-index: -1; }
      header .bg_header::before {
        background: url("../images/shared/icon_header_left.png") no-repeat 0 0;
        content: "";
        height: 28px;
        position: absolute;
        top: 0;
        left: 0;
        width: 78px; }
      header .bg_header::after {
        background: url("../images/shared/icon_header_right.png") no-repeat 0 0;
        content: "";
        height: 28px;
        position: absolute;
        top: 0;
        right: 0;
        width: 79px; }
    header .sound {
      top: 25px;
      right: 54px; }
      header .sound img {
        width: 26px; }

  /* PC NAVI
  ----------------------------- */
  .sp_navi {
    display: none; }

  .pc_navi {
    display: block; }
    .pc_navi ul {
      display: flex;
      float: left;
      padding: 17px 0 0 44px; }
    .pc_navi li {
      height: 52px;
      margin: 0 26px 0 0;
      position: relative; }
      .pc_navi li a {
        display: block;
        padding: 0; }
        
        
         .pc_navi .lang_menu{
	    float: right;
	    background: #000;
	    border-radius: 30px;
	    padding: 2px;
	    margin: 20px 15px 0px 0px;
	    }
	    .pc_navi .lang_menu li{
		    padding: 2px 1em;
		    border-radius: 0px 30px 30px 0px;
		    height: auto;
		    margin: 0px;
	    }
	     .pc_navi .lang_menu li:first-child{
	     		border-radius: 30px 0px 0px 30px;
		}
	    .pc_navi .lang_menu li.on{
	    		background: #c50000;
	    }
	    .pc_navi .lang_menu li:last-child.on{
	    		background: #2a4c99;
	    }
	     .pc_navi .lang_menu li a{
		     color: #FFF; font-size: 85%;
	     }



        
        
      .pc_navi li.new:before {
        background: url("../images/shared/icon_new.png") no-repeat center 0/22px;
        opacity: 1;
        height: 7px;
        position: absolute;
        right: 0;
        top: -6px;
        left: 0;
        z-index: -1;
        content: ''; }
    .pc_navi .navi_top {
      width: 48px; }
    .pc_navi .navi_news {
      width: 62px; }
    .pc_navi .navi_story {
      width: 70px; }
    .pc_navi .navi_character {
      width: 120px; }
    .pc_navi .navi_system {
      width: 82px; }
    .pc_navi .navi_special {
      width: 86px; }

  #top header nav .navi_top:after,
  #news header nav .navi_news:after,
  #story header nav .navi_story:after,
  #character header nav .navi_character:after,
  #system header nav .navi_system:after,
  #special header nav .navi_special:after {
    background: url("../images/shared/current.png") no-repeat center 0;
    opacity: 1;
    height: 14px;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: ''; }

 /* ---------------------------------------
  LODING
--------------------------------------- */
  #loading > p {
    height: 60px;
    width: 60px; }

  /* ---------------------------------------
     PC CONTENTS
   --------------------------------------- */
  #wrap {
    min-width: 1000px; }

  .inner {
    margin: 0 auto;
    overflow: hidden;
    padding: 0 10px;
    width: 980px; }

  /* NEWS
  ----------------------------- */
  .article_list li:not(:last-child) {
    border-bottom: 1px solid #005a8f;
    margin: 0 0 20px;
    padding: 0 0 20px; }
  .article_list h2 {
    font-size: 1.4rem; }
  .article_list .date {
    font-size: 1.4rem; }
    .article_list .date span {
      border-radius: 50px;
      font-size: 1.2rem;
      width: 100px; }

  /* ---------------------------------------
    PC FOOTER
  --------------------------------------- */
  footer {
    font-size: 1.2rem;
    padding: 0 0 40px; }
    footer .data {
      justify-content: center;
      margin: 0 0 40px;
      padding: 10px 0; }
      footer .data dt {
        width: 100px; }
      footer .data dd {
        font-size: 1.2rem;
        margin: 18px 0 0 10px;
        text-align: left;
        width: 460px; }
      footer .data span {
        display: inline-block;
        padding: 5px 0; }
        footer .data span:nth-child(1), footer .data span:nth-child(3) {
          width: 280px; }
    footer .share {
      margin: 0 0 30px; }
      footer .share p {
        font-size: 1.6rem;
        margin: 0 0 10px; }
      footer .share ul li {
        height: 53px;
        margin: 0 10px;
        width: 53px; }
    footer .link_text {
      margin: 0 0 20px; }
    footer .footer_caution {
      font-size: 1.2rem;
      padding: 0 0 20px; }
    footer .copyright {
      font-size: 1.2rem; }
      footer .copyright small {
        background-position: 0 5px;
        background-size: 9px;
        padding: 0 0 0 15px; 
	}

  .footer_navi {
    display: none; }

  .btn_store {
    margin: 0 30px 30px; }
    .btn_store li {
      margin: 0 10px;
      max-width: 210px; } }

/*# sourceMappingURL=shared.css.map */
