@charset "UTF-8";
/* --------------------------------------------------------------
NIGHT STRIKER GEAR Website CSS
2025/8/21 ver. 
--------------------------------------------------------------  */
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Russo+One&family=Sofia+Sans+Condensed:wght@800;1000&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Goldman:wght@400;700&family=Noto+Serif+JP:wght@200..900&family=Russo+One&family=Sofia+Sans+Condensed:wght@800;1000&display=swap");
@font-face {
  font-family: "shump_squareregular";
  src: url("../../../assets/font/shumpsquare-regular-webfont.eot");
  src: url("../../../assets/font/shumpsquare-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../../../assets/font/shumpsquare-regular-webfont.woff") format("woff"), url("../../../assets/font/shumpsquare-regular-webfont.ttf") format("truetype"), url("../../../assets/font/shumpsquare-regular-webfont.svg#shump_squareregular") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* = Clear fix
-------------------------------------------------------------- */
.cf:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.cf {
  display: inline-table;
  zoom: 1;
}

/* ¥*/
* html .cf {
  height: 1%;
}

.cf {
  display: block;
}

/* */
/* =Basic
-------------------------------------------------------------- */
* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

html {
  color: #98aaa4;
  font-family: "Noto Serif JP", Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.085em;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

body {
  -webkit-text-size-adjust: 120%;
  background-color: #000;
  word-break: normal;
}

#page {
  position: relative;
  top: 3rem;
}

.dark {
  animation: bg-color 3s ease 1s forwards normal;
}

@keyframes bg-color {
  0% {
    background-color: rgba(0, 0, 0, 0);
  }
  100% {
    background-color: rgba(0, 0, 0, 0.7);
  }
}
h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dd, figure {
  margin: 0;
  padding: 0;
}

h2 {
  width: 100%;
  text-align: center;
  margin: 0;
  padding: 0;
  font-size: 1.8em;
  letter-spacing: 0.25em;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
}
h2 span {
  display: inline-block;
}

img {
  border: none;
}

a {
  outline: none;
  text-decoration: none;
  color: #00ff90;
}
a:hover {
  color: #ff3131;
  transition: 0.5s;
}

a, a:before, a:after, input {
  -webkit-transition-property: background color;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: background color;
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: ease;
  -o-transition-property: background color;
  -o-transition-duration: 0.2s;
  -o-transition-timing-function: ease;
}

a:focus, *:focus {
  outline: none;
}

strong {
  font-weight: 500;
}

video {
  display: block;
  margin: 0;
  padding: 0;
}

.hdn {
  display: none;
}

.nowrap {
  white-space: nowrap;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.notice {
  font-size: 0.75em;
}

.inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.flexbox {
  display: flex;
  flex-wrap: nowrap;
}
/* =Loading
-------------------------------------------------------------- */
#loading {
  display: grid;
  place-items: center;
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}
#loading .spinner {
  margin: 100px auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}
#loading .spinner > div {
  background-color: #98aaa4;
  height: 100%;
  width: 6px;
  display: inline-block;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}
#loading .spinner .rect2 {
  animation-delay: -1.1s;
}
#loading .spinner .rect3 {
  animation-delay: -1s;
}
#loading .spinner .rect4 {
  animation-delay: -0.9s;
}
#loading .spinner .rect5 {
  animation-delay: -0.8s;
}
@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }
  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1);
  }
}
#loading.loaded {
  opacity: 0;
  visibility: hidden;
}

/* =Global menu
-------------------------------------------------------------- */
nav#gmenu {
  width: 100%;
  margin: 0 auto;
  padding: 0 1vw;
  border-top: solid 1px #41444e;
  border-bottom: solid 1px #41444e;
  background: rgb(0, 0, 0);
  position: fixed;
  top: 0;
  z-index: 9999;
}
nav#gmenu .inner {
  display: flex;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
nav#gmenu .inner a.logo {
  width: 120px;
  height: 40px;
  background-image: url("../img/logo.png");
  background-position: center center;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
nav#gmenu .inner a.m2stg {
  width: 140px;
  height: 30px;
  background-image: url("../img/logo_m2stg_head.png");
  background-position: center center;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
nav#gmenu .inner menu {
  display: flex;
  width: auto;
  margin: 0 auto;
  padding: 0;
  position: relative;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  list-style-type: none;
}
nav#gmenu .inner menu li {
  width: 100%;
  margin: 0 auto;
  padding: 1em 0;
  list-style-type: none;
}
nav#gmenu .inner menu li:hover {
  background: radial-gradient(circle at center 100%, blue 10%, transparent 100%);
}
nav#gmenu .inner menu li a {
  border-left: solid 1px #41444e;
  display: block;
  margin: 0 auto;
  padding: 0 1.5em;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  color: #6dcc9b;
}
nav#gmenu .inner menu li a:hover {
  color: #fff;
}
nav#gmenu .inner menu li:last-child a {
  border-right: solid 1px #41444e;
}

body#page_news #gmenu .inner menu li.news,
body#page_feature #gmenu .inner menu li.feature,
body#page_product #gmenu .inner menu li.product {
  background: radial-gradient(circle at center 100%, blue 10%, transparent 100%);
}

/* =Top page
-------------------------------------------------------------- */
body.home article.contents {
  position: relative;
  z-index: 3;
}
body.home #mainheader {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding-bottom: 3vw;
  position: relative;
  background: url("../img/bg_mainheader.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #040f0b;
  top: 0;
  left: 0;
  z-index: 3;
}
body.home #mainheader .inner {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
body.home #mainheader .inner #brandmark {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0;
  position: relative;
  z-index: 2;
}
body.home #mainheader .inner #brandmark .inner {
  width: 100%;
  margin: 0;
  padding: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
}
body.home #mainheader .inner #brandmark .inner #gn-pflogo {
  width: auto;
  text-align: left;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
body.home #mainheader .inner #brandmark .inner #gn-pflogo a {
  padding: 0;
}
body.home #mainheader .inner #brandmark .inner #gn-pflogo .ns {
  width: 25%;
  display: block;
  max-width: 90px;
}
body.home #mainheader .inner #brandmark .inner #gn-pflogo .steam {
  width: 60%;
  display: block;
  max-width: 180px;
}
body.home #mainheader .inner #brandmark .inner #gn_ac {
  width: auto;
  text-align: right;
}
body.home #mainheader .inner #brandmark .inner #gn_ac a {
  width: 100%;
  display: block;
}
body.home #mainheader .inner #brandmark .inner #gn_ac a img {
  max-width: 280px;
}
body.home #mainheader .inner #mainheader-info {
  max-width: 1000px;
  width: 56%;
  padding: 0 4%;
  margin: 0 0 0 auto;
  position: relative;
  top: 0;
}
body.home #mainheader .inner #mainheader-info h1 {
  width: 100%;
  margin: 0 auto 4vh auto;
  position: relative;
  z-index: 2;
  animation: slidein 0.4s linear 1s 1 normal forwards;
  opacity: 0;
}
body.home #mainheader .inner #mainheader-info h1 img {
  width: 100%;
  height: auto;
}
body.home #mainheader .inner #mainheader-info .genre {
  font-size: 1em;
  line-height: 1.3;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #fff;
  text-shadow: 0 0 0.25em #fff;
  letter-spacing: 0.2em;
  opacity: 0;
  animation: fadein 0.4s linear 1.4s 1 normal forwards;
}
body.home #mainheader .inner #mainheader-info .genre span {
  display: inline-block;
}
body.home #mainheader .inner #mainheader-info .release {
  width: 100%;
  margin: 5% auto;
  padding: 4% 0;
  text-align: center;
  line-height: 1;
  position: relative;
  z-index: 2;
  opacity: 0;
  animation: slidein 0.4s linear 1.8s 1 normal forwards;
}
body.home #mainheader .inner #mainheader-info .release img {
  width: 80%;
  height: auto;
  margin: 0 auto;
}
body.home #mainheader .inner #mainheader-info .storelink {
  opacity: 0;
  animation: fadein 1s linear 2.2s 1 normal forwards;
}
@keyframes slidein {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
body.home #top-news {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  background: #cbd3cf;
  z-index: 3;
}
body.home #top-news .inner {
  width: 100%;
  padding: 3em 0;
  max-width: 1400px;
  background-image: radial-gradient(circle, rgb(255, 255, 255), rgb(214, 222, 217));
}
body.home #top-news .inner section {
  width: 80%;
  margin: 0 auto;
}
body.home #top-news .inner section h2 {
  color: #47534e;
}
body.home #top-news .inner section dl {
  width: 100%;
  padding: 1em 0;
  text-align: left;
  border-bottom: solid 1px #d8dce7;
  font-size: 1.1em;
}
body.home #top-news .inner section dl dt {
  min-width: 6em;
  margin-right: 1em;
  padding: 0.25em 0;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
  color: #47534e;
  white-space: nowrap;
  font-size: 0.75em;
}
body.home #top-news .inner section dl dd {
  width: auto;
  padding: 0.25em 0;
  color: #47534e;
}
body.home #top-news .inner section dl dd a {
  color: #00a55d;
  border-bottom: dotted 1px #00a55d;
}
body.home #top-news .inner section dl dd a:hover {
  color: #fff;
  background: #ff3131;
  border: none;
}
body.home #top-news .inner section dl:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
body.home #top-news .inner section .newslink a {
  display: inline-block;
  margin: 1em auto;
  padding: 0.5em 2em;
  text-align: center;
  border: solid 1px #41444e;
  font-size: 0.8em;
  color: #41444e;
  background: #000;
  font-weight: bold;
}
body.home #top-news .inner section .newslink a:hover {
  background: #41444e;
  color: #000;
  border: solid 1px #000;
}
body.home #top-news .inner .btn {
  width: 100%;
  margin: 2em auto;
  padding: 0;
}
body.home #top-news .inner .btn a {
  display: block;
  width: 60%;
  margin: 0 auto;
  padding: 0.8em;
  text-align: center;
  background: #000;
  font-size: 0.9em;
  letter-spacing: 0.1em;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
  border: solid 1px #00ff90;
}
body.home #top-news .inner .btn a:hover {
  background: #ff3131;
  border: solid 1px #ff3131;
  color: #fff;
}
body.home #top-news .inner .btn a span {
  display: inline-block;
}
body.home #top-news .inner .btn a .jp {
  display: block;
  font-size: 0.7em;
  line-height: 1.3;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

#top-movie {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  background: #1b1d22;
  z-index: 3;
}
#top-movie .inner {
  width: 100%;
  padding: 3em 0;
  max-width: 1400px;
  background: radial-gradient(#41444e, #1b1d22);
}
#top-movie .inner section {
  width: 80%;
  margin: 2em auto;
}
#top-movie .inner .movie {
  max-width: 1000px;
  margin: 2em auto;
}
#top-movie .inner .movie div {
  width: 100%;
  margin: 2em auto;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  box-shadow: 0px 0px 15px -5px #000000;
  border-radius: 12px;
}
#top-movie .inner .movie div iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#top-movie .inner .ss {
  margin: 2em auto;
}
#top-movie .inner .ss div {
  margin: 2em auto;
}
#top-movie .inner .notice {
  text-align: center;
}
#top-movie .inner .notice span {
  display: block;
}
#top-movie .inner .notice .en {
  font-size: 0.8em;
}

#top-about {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  background: transparent;
  color: #fff;
  text-shadow: 0 0 0.5em #ccc;
  z-index: 3;
}
#top-about .inner:before {
  content: "";
}
#top-about .inner {
  width: 100%;
  padding: 3em 0;
  max-width: 1400px;
}
#top-about .inner section {
  width: 70%;
  margin: 0 auto;
}
#top-about .inner section h2 {
  margin: 0 auto 2em auto;
}
#top-about .inner section h2 span {
  display: inline-block;
}
#top-about .inner section h2 .jp {
  display: block;
  font-size: 0.7rem;
  line-height: 1.3;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
#top-about .inner section article {
  margin: 0 auto;
  text-align: center;
}
#top-about .inner section article h3 {
  font-size: 1.6em;
}
#top-about .inner section article h3 span {
  display: inline-block;
}
#top-about .inner section article p {
  font-size: 1.2em;
  line-height: 1.6;
  padding: 1em 0;
}
#top-about .inner section article p span {
  display: inline-block;
}
#top-about .inner section article .en {
  font-size: 0.9em;
  line-break: strict;
  -webkit-hyphens: auto;
          hyphens: auto;
  color: rgb(183, 182, 219);
}
#top-about .inner section article .btn {
  width: 100%;
  margin: 1em auto;
  padding: 0;
}
#top-about .inner section article .btn a {
  display: block;
  width: 60%;
  margin: 0 auto;
  padding: 0.8em;
  text-align: center;
  background: #000;
  font-size: 0.9em;
  letter-spacing: 0.1em;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
  border: solid 1px #00ff90;
}
#top-about .inner section article .btn a:hover {
  background: #ff3131;
  border: solid 1px #ff3131;
  color: #fff;
}
#top-about .inner section article .btn a span {
  display: inline-block;
}
#top-about .inner section article .btn a .jp {
  display: block;
  font-size: 0.7em;
  line-height: 1.3;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/* =Banner
-------------------------------------------------------------- */
section#banner {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background: #cbd3cf;
}
section#banner .inner {
  width: 100%;
  padding: 3em 0;
  max-width: 1400px;
  background-image: radial-gradient(circle, rgb(255, 255, 255), rgb(214, 222, 217));
}
section#banner .inner section {
  width: 80%;
  margin: 0 auto;
}
section#banner .inner section a {
  display: block;
  margin: 0 auto;
  padding: 0;
}
section#banner .inner section a img {
  display: block;
}

/* =Bottun
-------------------------------------------------------------- */
dl.btn dd {
  width: 90%;
  margin: 0 auto;
  padding: 0 0.5em;
  --neon-border-color: #00964b;
  --neon-border-hover-color: #960000;
}
dl.btn dd a {
  display: block;
  position: relative;
  border: solid 1px;
  padding: 1em;
  font-size: 1em;
  line-height: 1.3;
  text-align: center;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #00ff90;
  text-shadow: 0 0 0.25em #00ff90;
  -o-border-image: linear-gradient(to bottom, #00964b, #00ff90, #00964b) 1;
     border-image: linear-gradient(to bottom, #00964b, #00ff90, #00964b) 1;
  background: rgb(0, 63, 26);
  box-shadow: inset 0 0 0.5em #fff, inset 0 0 0.5em var(--neon-border-color), inset 0 0 0.5em var(--neon-border-color);
}
dl.btn dd a span {
  display: inline-block;
}
dl.btn dd a:hover {
  opacity: 1;
  color: #fff;
  text-shadow: 0 0 0.25em #fff;
  -o-border-image: linear-gradient(to bottom, #ff3131, #ffb0b0, #ff3131) 1;
     border-image: linear-gradient(to bottom, #ff3131, #ffb0b0, #ff3131) 1;
  background: rgb(153, 0, 0);
  box-shadow: inset 0 0 0.5em #ffb0b0, inset 0 0 0.5em var(--neon-border-hover-color), inset 0 0 0.5em var(--neon-border-hover-color);
}

/* =Storelink
-------------------------------------------------------------- */
.storelink {
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 2em auto;
  padding: 1em 0;
  display: flex;
  justify-content: space-evenly;
  flex-direction: row;
  align-items: stretch;
  flex-wrap: nowrap;
}
.storelink dd {
  display: block;
  width: 90%;
  flex-grow: 1;
  padding: 0 0.5em;
  --neon-border-color: #00964b;
  --neon-border-hover-color: #960000;
}
.storelink dd a {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  border: solid 1px;
  padding: 1.2em;
  font-size: 1.4em;
  line-height: 1.3;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #00ff90;
  text-shadow: 0 0 0.25em #00ff90;
  -o-border-image: linear-gradient(to bottom, #00964b, #00ff90, #00964b) 1;
     border-image: linear-gradient(to bottom, #00964b, #00ff90, #00964b) 1;
  background: rgba(0, 0, 0, 0.7);
  box-shadow: inset 0 0 0.5rem #fff, inset 0 0 2rem var(--neon-border-color), 0 0 6rem var(--neon-border-color), inset 0 0 4rem var(--neon-border-color);
}
.storelink dd a span {
  display: inline-block;
}
.storelink dd div {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  border: solid 1px;
  padding: 1.2em;
  font-size: 1.4em;
  line-height: 1.3;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #98aaa4;
  text-shadow: 0 0 0.25em #98aaa4;
  -o-border-image: linear-gradient(to bottom, #6a6a6a, #6a6a6a, #6a6a6a) 1;
     border-image: linear-gradient(to bottom, #6a6a6a, #6a6a6a, #6a6a6a) 1;
  background: rgba(0, 0, 0, 0.7);
  box-shadow: #6a6a6a;
}
.storelink dd div span {
  display: inline-block;
}
.storelink dd a:hover {
  opacity: 1;
  color: #fff;
  text-shadow: 0 0 0.25em #fff;
  -o-border-image: linear-gradient(to bottom, #ff3131, #fff, #ff3131) 1;
     border-image: linear-gradient(to bottom, #ff3131, #fff, #ff3131) 1;
  background: radial-gradient(#ff3131 1%, rgba(153, 0, 0, 0.7), transparent 100%);
  box-shadow: inset 0 0 0.5rem #fff, inset 0 0 2rem var(--neon-border-hover-color), 0 0 6rem var(--neon-border-hover-color), inset 0 0 4rem var(--neon-border-hover-color);
}

/* =Fancybox
-------------------------------------------------------------- */
.fbox > div {
  display: flex;
  align-content: center;
  justify-content: center;
}
.fbox > div figure {
  position: relative;
  width: 50%;
  padding: 0.5em;
  margin: 0 0.5%;
  margin-bottom: 0.75%;
  background: rgba(0, 0, 0, 0.5);
  text-align: center;
  border: solid 1px #000;
}
.fbox > div figure .fancybox {
  display: inline-block;
  position: relative;
}
.fbox > div figure .fancybox:before {
  position: absolute;
  bottom: 10px;
  right: 5px;
  content: "\f00e";
  font-family: FontAwesome;
  color: rgba(255, 255, 255, 0.7);
}
.fbox > div figure .fancybox:hover:before {
  color: #fff;
}
.fbox > div figcaption {
  font-size: 0.75em;
  line-height: 1.2;
  color: #fff;
  padding: 0.5em;
  text-align: left;
}

/* =Spec
-------------------------------------------------------------- */
#spec {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  background: #1b1d22;
  z-index: 3;
}
#spec .inner {
  width: 100%;
  padding: 3em 0;
  max-width: 1400px;
  background: radial-gradient(#41444e, #1b1d22);
}
#spec .inner table {
  width: 80%;
  margin: 2em auto;
  border-top: solid 1px #41444e;
  font-size: 1.2em;
}
#spec .inner table th {
  font-weight: normal;
  text-align: center;
  border-bottom: solid 1px #41444e;
  padding: 0.5em;
  white-space: nowrap;
}
#spec .inner table td {
  color: #fff;
  border-bottom: solid 1px #41444e;
  text-align: left;
  padding: 0.5em;
}
#spec .inner table span {
  display: block;
}
#spec .inner table .en {
  display: block;
  font-size: 0.65em;
  line-height: 1.3;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  filter: opacity(0.5);
}

/* =Childpage
-------------------------------------------------------------- */
body.childpage {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
body.childpage #page {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  z-index: 3;
}
body.childpage #page > header {
  width: 100%;
  margin: 0 auto;
  padding: 4em 2em 12em 4em;
  position: relative;
  z-index: 3;
}
body.childpage #page > header h1 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
  color: #fff;
  text-shadow: #fff 0 0 0.2em;
}
body.childpage #page > header h1 span {
  display: block;
}
body.childpage #page > header h1 .txt-jp {
  font-size: 0.8rem;
}
body.childpage #page article.contents {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
body.childpage #page article.contents > section {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  max-width: 1400px;
}
body.childpage #page article.contents > section > .inner {
  width: 100%;
  margin: 0 auto;
  padding: 4em 0;
}

/* =NEWS ARCHIVE
-------------------------------------------------------------- */
#page_news header.page_header {
  width: 100%;
  background: url("../img/bg_news.jpg") center center no-repeat;
  background-size: 100%;
}
#page_news article.contents {
  background: #1b1d22;
}
#page_news article.contents section#news .inner {
  background: radial-gradient(#41444e, #1b1d22);
}
#page_news article.contents section#news .inner #sns-link {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0 4em 0;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
}
#page_news article.contents section#news .inner #sns-link p {
  text-align: center;
}
#page_news article.contents section#news .inner #sns-link ul {
  list-style-type: none;
  display: flex;
  justify-content: center;
}
#page_news article.contents section#news .inner #sns-link ul li {
  list-style-type: none;
  text-align: center;
  width: 45%;
}
#page_news article.contents section#news .inner #sns-link ul li a {
  display: block;
}
#page_news article.contents section#news .inner #sns-link ul li a span {
  display: block;
  font-size: 0.8em;
  color: #98aaa4;
}
#page_news article.contents section#news .inner .news {
  width: 90vw;
  max-width: 1200px;
  margin: 0 auto 2em auto;
  padding: 2em;
  color: #98aaa4;
  background: rgba(0, 0, 0, 0.2);
  border: solid 1px #41444e;
}
#page_news article.contents section#news .inner .news header {
  width: 100%;
  margin: 0 auto 1.5em auto;
  padding: 0 1em;
  border-left: solid 1px #00ff90;
}
#page_news article.contents section#news .inner .news header .date {
  font-family: "Goldman", serif;
  font-weight: 400;
}
#page_news article.contents section#news .inner .news header .title {
  font-weight: 400;
  line-height: 1.2;
}
#page_news article.contents section#news .inner .news .news-body {
  padding: 2em;
}
#page_news article.contents section#news .inner .news .news-body p {
  color: #98aaa4;
  font-size: 1.2em;
  padding: 0 0 1em 0;
}
#page_news article.contents section#news .inner .news .news-body a {
  color: #00ff90;
  border-bottom: dotted 1px #00ff90;
}
#page_news article.contents section#news .inner .news .news-body a:hover {
  color: #fff;
  background: #ff3131;
  border: none;
}
#page_news article.contents section#news .inner .news .news-body .news-movie {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  background-color: transparent;
}
#page_news article.contents section#news .inner .news .news-body .news-movie .inner {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  max-width: 960px;
}
#page_news article.contents section#news .inner .news .news-body .news-movie .inner .movie {
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
#page_news article.contents section#news .inner .news .news-body .news-movie .inner .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* =STORY
-------------------------------------------------------------- */
#page_story {
  width: 100%;
  background: url("../img/bg_story.jpg") #000 left top no-repeat;
  background-size: contain;
  background-attachment: fixed;
}
#page_story header.page_header {
  padding: 6vw 4vw 0 4vw !important;
}
#page_story section#story .inner article {
  width: 80vw;
  margin: 0 auto;
}
#page_story section#story .inner article p {
  text-align: center;
  margin: 0 auto;
  line-break: strict;
  -webkit-hyphens: auto;
          hyphens: auto;
  letter-spacing: 0;
  line-height: 2;
}
#page_story section#story .inner article p.jp {
  font-size: 1.3em;
  color: #fff;
  text-shadow: #fff 0 0 0.25em;
  padding: 0 0 1em 0;
}
#page_story section#story .inner article p.en {
  font-size: 1em;
  color: #afb1bd;
  text-shadow: #818495 0 0 0.25em;
  padding: 0 0 4em 0;
}
#page_story section#story .inner article p span {
  display: inline-block;
}

/* =FEATURE
-------------------------------------------------------------- */
#page_feature header.page_header {
  width: 100%;
  background: url("../img/bg_feature.jpg") center center no-repeat;
  background-size: 100%;
}
#page_feature article.contents {
  background: #1b1d22;
}
#page_feature article.contents section#feature .inner {
  background: radial-gradient(#41444e, #1b1d22);
}
#page_feature article.contents section#feature .inner h2 {
  width: 100%;
  font-size: 1.4em;
  letter-spacing: 0.1em;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
  color: #fff;
  text-shadow: #fff 0 0 0.2em;
  background: #000;
  margin: 3rem auto;
  padding: 0.25em;
  border-left: solid 1px #47534e;
  border-right: solid 1px #47534e;
}
#page_feature article.contents section#feature .inner h2 .txt-jp {
  display: block;
  font-size: 0.6em;
}
#page_feature article.contents section#feature .inner > article {
  max-width: 1200px;
  margin: 0 auto 4em auto;
  padding: 0;
}
#page_feature article.contents section#feature .inner #manual {
  padding: 1em;
}
#page_feature article.contents section#feature .inner #manual h3 {
  font-size: 1.2em;
  padding: 0.25em 0.25em 0.25em 1em;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
  line-break: strict;
  -webkit-hyphens: auto;
          hyphens: auto;
  color: #fff;
  border-left: solid 1px #00ff90;
  background: rgba(0, 0, 0, 0.1);
}
#page_feature article.contents section#feature .inner #manual h3 span {
  display: block;
}
#page_feature article.contents section#feature .inner #manual h3 .txt-jp {
  display: block;
  font-size: 0.6em;
}
#page_feature article.contents section#feature .inner #manual img {
  display: block;
  margin: 2rem auto;
}
#page_feature article.contents section#feature .inner #manual p {
  padding: 2rem;
  line-height: 1.5;
}
#page_feature article.contents section#feature .inner #manual p.jp {
  font-size: 1.1rem;
  color: #fff;
  word-break: auto-phrase;
  padding: 2rem 2rem 1rem 2rem;
}
#page_feature article.contents section#feature .inner #manual p.en {
  font-size: 0.8em;
  padding: 0 2rem 2rem 2rem;
}
#page_feature article.contents section#feature .inner #manual .shield img {
  max-width: 120px;
  align-self: flex-start;
}
#page_feature article.contents section#feature .inner #manual .gear_system img {
  max-width: 500px;
}
#page_feature article.contents section#feature .inner #manual .panels img {
  max-width: 400px;
}
#page_feature article.contents section#feature .inner #manual .destroythecaptain img {
  max-width: 500px;
}
#page_feature article.contents section#feature .inner #staff {
  text-align: center;
}
#page_feature article.contents section#feature .inner #staff .staff {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof {
  width: 100%;
  margin: 1vw auto;
  padding: 1em 2em;
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof h3 {
  font-size: 1em;
  padding: 0.25em;
  font-family: "Goldman", serif;
  font-weight: 400;
  font-style: normal;
  line-break: strict;
  -webkit-hyphens: auto;
          hyphens: auto;
  color: #fff;
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof h3 span {
  display: block;
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof h3 .jp {
  font-size: 0.7em;
  filter: brightness(0.6);
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof h4 {
  font-size: 1.4em;
  font-weight: 400;
  font-style: normal;
  line-break: strict;
  -webkit-hyphens: auto;
          hyphens: auto;
  color: #fff;
  padding: 0.25em 0;
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof h4 span {
  display: block;
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof h4 .jp {
  font-size: 1.1em;
  filter: brightness(0.7);
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof p {
  font-size: 0.8em;
  line-height: 1.5;
  padding: 0;
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof p span {
  display: inline-block;
}
#page_feature article.contents section#feature .inner #staff .staff .staff_prof img {
  display: block;
  max-width: 150px;
  margin: 0 auto;
}

/* =Product
-------------------------------------------------------------- */
#page_product header.page_header {
  width: 100%;
  background: url("../img/bg_product.jpg") center center no-repeat;
  background-size: 100%;
}
#page_product article.contents {
  background: #1b1d22;
}
#page_product article.contents section#product .inner {
  background: radial-gradient(#41444e, #1b1d22);
}
#page_product article.contents section#product .inner article {
  max-width: 1200px;
  margin: 0 auto 4em auto;
  padding: 2em;
  background: radial-gradient(#f7fbfa, #b0b9b6);
  color: #47534e;
}
#page_product article.contents section#product .inner article h3 {
  width: 100%;
  display: block;
  font-size: 1.6em;
  line-height: 1.3;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  text-align: center;
  margin: 0 auto 1em auto;
  padding: 0 0 0.5em 0;
  color: #000;
  border-bottom: solid 1px #000;
  position: relative;
}
#page_product article.contents section#product .inner article h3 span {
  display: inline-block;
}
#page_product article.contents section#product .inner article h4 {
  font-size: 1.2em;
  margin: 2em 0 1em 0;
  padding: 0.25em 0.25em 0.25em 1em;
  font-weight: 400;
  font-style: normal;
  line-break: strict;
  -webkit-hyphens: auto;
  hyphens: auto;
  border-left: solid 1px #00a55d;
  background: rgba(255, 255, 255, 0.5);
  color: #000;
}
#page_product article.contents section#product .inner article figure {
  width: 60%;
  margin: 0 auto;
}
#page_product article.contents section#product .inner article figure a {
  color: #00a55d;
}
#page_product article.contents section#product .inner article p {
  width: 80%;
  display: block;
  margin: 1em auto;
  line-height: 1.6;
  font-size: 1.2em;
}
#page_product article.contents section#product .inner article p:last-child {
  margin-bottom: 0;
}
#page_product article.contents section#product .inner article p a {
  color: #00a55d;
  border-bottom: dotted 1px #00a55d;
  font-size: 1em;
}
#page_product article.contents section#product .inner article p a:hover {
  color: #fff;
  background: #ff3131;
  border: none;
}
#page_product article.contents section#product .inner article .notice {
  color: #d80000;
}
#page_product article.contents section#product .inner article ol {
  width: 60%;
  margin: 0 auto;
}
#page_product article.contents section#product .inner article ol li {
  margin: 1em auto;
  line-height: 1.6;
  font-size: 1.2em;
}
#page_product article.contents section#product .inner article ol li a {
  color: #00a55d;
}
#page_product article.contents section#product .inner article .btn {
  margin: 1em auto;
}
#page_product article.contents section#product .inner #product_list {
  background: #000;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  place-items: stretch center;
  background: none;
}
#page_product article.contents section#product .inner #product_list section {
  width: 90%;
  text-align: center;
  margin: 0 auto;
  padding: 2em;
  background: radial-gradient(#f7fbfa, #b0b9b6);
}
#page_product article.contents section#product .inner #product_list section h3 {
  border: none;
  text-align: center;
  font-size: 1.3em;
  margin: 0 auto;
  word-break: auto-phrase;
}
#page_product article.contents section#product .inner #product_list section p {
  width: 100%;
  text-align: center;
  margin: 0 auto;
  word-break: auto-phrase;
}
#page_product article.contents section#product .inner #product_list section img {
  max-width: 250px;
  display: block;
  margin: 2vw auto;
}
#page_product article.contents section#product .inner #product_list section .platform {
  display: flex;
  flex-wrap: nowrap;
  margin: 0 auto 1em auto;
}
#page_product article.contents section#product .inner #product_list section .platform dd {
  font-size: 0.8em;
  color: #fff;
  margin: auto 0.5em auto 0;
  padding: 0.5em;
  text-align: center;
}
#page_product article.contents section#product .inner #product_list section .platform dd.ns {
  background: red;
}
#page_product article.contents section#product .inner #product_list section .platform dd.steam {
  background: #333;
}
#page_product article.contents section#product .inner #product_list section .storelink {
  margin: 0 auto;
}
#page_product article.contents section#product .inner #product_list section .storelink dd {
  width: auto;
}
#page_product article.contents section#product .inner #product_list section .storelink dd a, #page_product article.contents section#product .inner #product_list section .storelink dd div {
  font-size: 1em;
}
#page_product article.contents section#product .inner #product_list section .storelink dd a {
  box-shadow: inset 0 0 0.5rem #fff, inset 0 0 4em var(--neon-border-color), 0 0 1em var(--neon-border-color), inset 0 0 2em var(--neon-border-color);
}
#page_product article.contents section#product .inner #product_list section .storelink dd a:hover {
  box-shadow: inset 0 0 0.5rem #fff, inset 0 0 4em var(--neon-border-hover-color), 0 0 1em var(--neon-border-hover-color), inset 0 0 2em var(--neon-border-hover-color);
}

/* =Footer
-------------------------------------------------------------- */
.footer {
  background: #fff;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.5;
  padding-top: 1em;
  padding-bottom: 4em;
  position: relative;
  z-index: 3;
}
.footer a {
  color: #686868;
}
.footer .copy {
  font-family: "shump_squareregular", arial, helvetica, sans-serif;
  color: #686868;
  font-size: 1em;
  letter-spacing: 0.1em;
  padding: 0 1em;
}
.footer .copyreg {
  font-size: 0.75em;
  color: #6c6c6c;
  padding: 0 1em;
}
.footer .sns-btns {
  margin: 1em 0;
  width: auto;
  float: none;
}
.footer .sns-btns ul {
  text-align: center;
}
.footer .sns-btns ul li {
  width: 32px;
  display: inline-block;
}
.footer .footer-logos {
  text-align: center;
  margin: 0 auto;
}
.footer .footer-logos .footer-corplogo ul li {
  display: inline-block;
}
.footer .footer-logos .footer-logo1 {
  margin-right: 1em;
}
.footer .link {
  width: 100%;
  margin: 0;
  padding: 1em 0;
  text-align: left;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
}
.footer .link li {
  margin: 0 1em;
  padding: 0;
  text-align: center;
  list-style-type: none;
}
.footer .link li a {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  margin: 0 auto;
  padding: 0.7em 2em;
  text-align: center;
  color: #000;
  border: solid 1px #000;
  font-size: 0.8em;
}
.footer .link li a:hover {
  opacity: 1;
  color: #fff;
  background: #ff3131;
}

#page-top {
  width: 78px;
  display: block;
  position: fixed;
  right: 0;
  z-index: 11;
}

a#page-top-link {
  display: block;
  width: 54px;
  height: 20px;
  margin: 0;
  padding: 0;
}/*# sourceMappingURL=common_20250821.css.map */