@keyframes hoverin {
  0% {
    transform: translateX(-101%);
    opacity: 1; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
@keyframes hoverout {
  0% {
    transform: translateY(0);
    left: 0;
    opacity: 1; }
  100% {
    transform: translateY(0);
    left: 101%;
    opacity: 1; } }
@keyframes hoverin_reverse {
  0% {
    transform: translateX(101%);
    opacity: 1; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
@keyframes hoverout_reverse {
  0% {
    transform: translateY(0);
    left: 0;
    opacity: 1; }
  100% {
    transform: translateY(0);
    left: -101%;
    opacity: 1; } }
.buruburu {
  display: inline-block;
  animation: hurueru .1s  infinite; }

@keyframes hurueru {
  0% {
    transform: translate(0px, 0px) rotateZ(0deg); }
  25% {
    transform: translate(2px, 2px) rotateZ(1deg); }
  50% {
    transform: translate(0px, 2px) rotateZ(0deg); }
  75% {
    transform: translate(2px, 0px) rotateZ(-1deg); }
  100% {
    transform: translate(0px, 0px) rotateZ(0deg); } }
@keyframes wave {
  0% {
    background-position: 0 0; }
  100% {
    background-position: round-decimal(5.2083333333vw, 3) 0; } }
@media screen and (min-width: 768px) {
  @keyframes wave {
    0% {
      background-position: 0 0; }
    100% {
      background-position: 100px 0; } } }
@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
@keyframes hoverin {
  0% {
    transform: translateX(-101%);
    opacity: 1; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
@keyframes hoverout {
  0% {
    transform: translateY(0);
    left: 0;
    opacity: 1; }
  100% {
    transform: translateY(0);
    left: 101%;
    opacity: 1; } }
@keyframes hoverinr {
  0% {
    transform: translateX(101%);
    opacity: 1; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
@keyframes hoveroutr {
  0% {
    transform: translateY(0);
    left: 0;
    opacity: 1; }
  100% {
    transform: translateY(0);
    left: -101%;
    opacity: 1; } }
/* hover */
.animate_opacity {
  transition: opacity 0.3s; }

.animate_opacity:hover {
  opacity: 0.8; }

.animate_filter {
  transition: filter 0.3s; }

.animate_filter:hover {
  filter: brightness(1.2); }

[data-opacity] {
  opacity: 0;
  filter: blur(3px);
  transform: translateY(50px);
  transition: 1.5s 0.2s cubic-bezier(0.23, 1, 0.32, 1); }

[data-opacity].animated {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0); }

@media screen and (min-width: 768px) {
  [data-pc-opacity] {
    opacity: 0;
    transform: translateY(10vw);
    transition: 1.5s 0s cubic-bezier(0.23, 1, 0.32, 1); }

  .ie11 [data-pc-opacity] {
    opacity: 0;
    transform: translateY(20px);
    transition: 1.5s 0s cubic-bezier(0.23, 1, 0.32, 1); }

  [data-pc-opacity].animated {
    opacity: 1;
    transform: translateY(0); } }
@media screen and (max-width: 767px) {
  [data-opacity],
  [data-sp-opacity] {
    opacity: 0;
    transform: translateY(10vw);
    transition: 1.5s 0s cubic-bezier(0.23, 1, 0.32, 1); }

  .ie11 [data-opacity],
  .ie11 [data-sp-opacity] {
    opacity: 0;
    transform: translateY(20px);
    transition: 1.5s 0s cubic-bezier(0.23, 1, 0.32, 1); }

  [data-sp-opacity].animated,
  [data-opacity].animated {
    opacity: 1;
    transform: translateY(0); } }
[data-sp-opacity],
[data-pc-opacity],
[data-opacity],
[data-once] {
  will-change: transform;
  backface-visibility: hidden; }

.sitefooter {
  padding: 0; }

#wrapper,
#contents {
  font-size: 0;
  line-height: 1;
  letter-spacing: 0.06em;
  position: relative; }
  #wrapper .title,
  #contents .title {
    font-size: 0;
    width: 28.32vw;
    height: 4.688vw;
    text-align: center;
    font-size: 2.93vw;
    display: inline-block;
    margin: 0 auto;
    color: #fff;
    background: #000;
    padding: 0.781vw 0 0; }
  #wrapper .title.white,
  #contents .title.white {
    color: #000;
    background: #fff;
    width: 38.672vw; }

#kv {
  height: 167.969vw;
  overflow: hidden;
  position: static;
  width: 100vw; }
  #kv .wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 167.969vw;
    flex-direction: column;
    position: relative;
    z-index: 300; }
  #kv header {
    text-align: center; }
    #kv header h1 {
      margin-bottom: -15.625vw; }
    #kv header h1 img {
      width: 100vw;
      height: auto; }
    #kv header p {
      font-size: 2.734vw;
      font-weight: 400;
      color: #fff;
      letter-spacing: 0.1em;
      padding: 3.516vw 0 4.59vw; }
      #kv header p span {
        display: block;
        height: 5.664vw;
        padding: 1.172vw 0 0;
        width: 34.18vw;
        text-align: center;
        margin: 0 auto;
        letter-spacing: 0.1em;
        background: url("../img/kv/vr.png") no-repeat center center/auto 100%; }
  #kv .movie {
    border: 1px solid #fff; }
    #kv .movie img {
      height: 31.25vw;
      width: auto; }
    #kv .movie a {
      position: relative;
      display: inline-block; }
      #kv .movie a::after {
        content: '';
        border: 1px solid #fff;
        width: 9.961vw;
        height: 9.961vw;
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 10;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 50%;
        margin: -4.98vw 0 0 -4.98vw; }
      #kv .movie a::before {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 1.172vw 0 1.172vw 2.148vw;
        border-color: transparent transparent transparent #12889a;
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 20;
        margin: -1.172vw 0 0 -0.586vw; }
  #kv ul.badge-award {
    height: auto;
    width: 56.641vw;
    display: flex;
    justify-content: space-between;
    margin: 5.859vw auto 0; }
    #kv ul.badge-award li {
      width: 26.855vw; }
      #kv ul.badge-award li img {
        width: 100%;
        height: auto; }
  #kv .bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1; }
    #kv .bg img {
      width: 100vw;
      height: auto; }

#news {
  position: relative;
  height: 125vw;
  margin: -41.992vw 0 -3.223vw;
  z-index: 100;
  padding: 48.34vw 0 0;
  text-align: center; }
  #news .bg {
    position: absolute;
    left: 0;
    top: 0; }
    #news .bg img {
      width: 100vw;
      height: auto; }
  #news .slider_wrap {
    position: relative;
    margin: 4.492vw 0 0; }
  #news .swiper-container {
    width: 73.047vw;
    margin: 0 auto;
    overflow: hidden; }
  #news .swiper-warapper {
    width: 73.047vw;
    margin: 0 auto;
    overflow: hidden; }
  #news .swiper-slide {
    width: 73.047vw;
    text-align: left; }
    #news .swiper-slide i {
      width: 73.047vw;
      height: 41.016vw;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: 100% auto;
      display: block; }
    #news .swiper-slide p {
      font-size: 2.734vw;
      line-height: 1.414;
      margin: 3.32vw 0 0;
      padding: 0 1.953vw;
      word-break: break-all; }
      #news .swiper-slide p a {
        text-decoration: underline; }

#vraction {
  height: 115.625vw;
  position: relative;
  z-index: 0;
  /* background: url("../img/movie/bg.jpg") no-repeat center center / cover;*/ }
  #vraction .wrap {
    height: 115.625vw;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: url("../img/movie/mask.png") repeat-x center bottom/0.977vw auto;
    text-align: left;
    padding: 0 4.883vw 11.719vw; }
    #vraction .wrap i {
      text-align: center;
      margin: 0 auto 0 0; }
    #vraction .wrap h2 {
      color: #4bc4d6;
      font-family: "EB Garamond", sans-serif;
      font-size: 5.176vw;
      letter-spacing: 0.06em;
      margin: 4.102vw 0 2.148vw; }
    #vraction .wrap p {
      font-family: "EB Garamond", sans-serif;
      font-size: 3.613vw;
      line-height: 1.081;
      color: #fff;
      letter-spacing: 0.06em; }
  #vraction #bgmoviewrapSp {
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    height: 115.625vw;
    overflow: hidden; }
  #vraction #bgmovieSp {
    height: 115.625vw;
    width: 205.566vw;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0); }

#story {
  position: relative;
  margin: -3.32vw 0 0; }
  #story .wrap {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    text-align: center;
    padding: 7.324vw 0 0; }
    #story .wrap .title {
      margin-bottom: 3.906vw; }
    #story .wrap p {
      font-family: "EB Garamond", sans-serif;
      font-size: 3.613vw;
      line-height: 1.081;
      letter-spacing: 0.06em; }
    #story .wrap p + p {
      margin-top: 4.004vw; }
  #story .bg img {
    width: 100vw;
    height: auto; }

#venture {
  position: relative;
  height: 366.797vw;
  overflow: hidden;
  width: 100vw; }
  #venture .bg img {
    width: 100vw;
    height: auto; }
  #venture .wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    text-align: center; }
    #venture .wrap h2 {
      font-family: "EB Garamond", sans-serif;
      color: #f9eb24;
      font-size: 5.176vw;
      line-height: 1.094;
      letter-spacing: 0.04em;
      margin: 1.66vw 0 1.172vw; }
    #venture .wrap p {
      font-size: 3.613vw;
      line-height: 1.081;
      font-family: "EB Garamond", sans-serif;
      letter-spacing: 0.06em;
      color: #fff;
      font-weight: 500; }
    #venture .wrap p + p {
      margin-top: 4.102vw; }
    #venture .wrap .text {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 10;
      width: 100%;
      height: 100%; }
  #venture .wrap.wrap01 .text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 5.664vw 0 0; }
  #venture .wrap.wrap02 {
    text-align: right;
    width: 67.188vw;
    left: inherit;
    right: 0;
    top: 154.102vw; }
    #venture .wrap.wrap02 .text {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 2.148vw 2.93vw 0 0; }
    #venture .wrap.wrap02 .bg img {
      width: 67.188vw; }
  #venture .wrap.wrap03 {
    width: 71.777vw;
    top: inherit;
    bottom: 0; }
    #venture .wrap.wrap03 .text {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      width: 60.156vw;
      padding-bottom: 6.641vw; }
    #venture .wrap.wrap03 .bg img {
      width: 71.777vw; }

#multi {
  height: 126.758vw;
  background: url("../img/multi/bg.png") no-repeat center top/100vw auto;
  position: relative;
  padding: 8.789vw 0 0;
  text-align: center; }
  #multi .wrap {
    position: static; }
  #multi i.title {
    margin-bottom: 6.543vw; }
  #multi p {
    font-family: "EB Garamond", sans-serif;
    font-size: 3.613vw;
    line-height: 1.081;
    letter-spacing: 0.06em;
    color: #000; }
  #multi p + p {
    margin-top: 4.102vw; }
  #multi .swiper-container {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%; }
    #multi .swiper-container .swiper-slide img {
      width: 100vw;
      height: auto; }
  #multi .swiper-nav {
    position: relative;
    z-index: 100;
    position: absolute;
    left: 0;
    bottom: 2.93vw;
    width: 100%; }

#weapons {
  position: relative;
  height: 128.027vw;
  background: url("../img/weapons/bg.png") center bottom no-repeat;
  background-size: 100vw auto;
  overflow: hidden; }
  #weapons .bg img {
    width: 140.625vw;
    height: auto;
    margin-left: -20.313vw; }
  #weapons .wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    z-index: 10;
    height: 75.781vw;
    background: url("../img/weapons/line.png") no-repeat center top/cover;
    text-align: center;
    padding-top: 10.547vw; }
    #weapons .wrap .title.white {
      width: 28.32vw; }
    #weapons .wrap p {
      font-size: 3.613vw;
      line-height: 1.081;
      font-family: "EB Garamond", sans-serif;
      letter-spacing: 0.06em;
      color: #fff;
      margin-top: 5.469vw; }

.bg_bottom {
  position: relative;
  background: url("../img/footer.webp") no-repeat center bottom/100vw auto;
  max-height: 312.5vw;
  padding-bottom: 31.738vw;
  background-color: #e8e2d4; }

.nowebp .bg_bottom {
  background: url("../img/footer.jpg") no-repeat center bottom/100vw auto; }

#mod {
  padding-top: 7.813vw; }
  #mod img {
    width: 87.207vw;
    height: auto; }
  #mod dt {
    margin: 0 0 -11.816vw -1.758vw;
    position: relative;
    z-index: 10; }
  #mod dd {
    width: 86.719vw;
    min-height: 54.297vw;
    background: rgba(0, 0, 0, 0.9);
    text-align: center;
    padding: 10.156vw 3.418vw 0 4.883vw;
    margin: 0 2.93vw 0 auto;
    position: relative;
    z-index: 0; }
    #mod dd .head {
      display: block;
      text-align: right;
      margin: 0vw 3.418vw 2.734vw; }
      #mod dd .head h2 {
        display: inline-block; }
    #mod dd .title.white {
      width: 23.438vw;
      height: 3.906vw;
      padding-top: 0.488vw;
      margin: 0; }
    #mod dd p {
      font-size: 3.613vw;
      line-height: 1.081;
      font-family: "EB Garamond", sans-serif;
      letter-spacing: 0.06em;
      color: #fff;
      text-align: left; }

#community {
  padding-top: 9.766vw;
  text-align: center; }
  #community .title {
    margin-bottom: 4.395vw; }
  #community ul {
    width: 87.207vw;
    margin: 0 auto 0vw auto;
    position: relative;
    display: block; }
    #community ul li {
      width: 87.207vw;
      margin-bottom: 4.883vw; }
      #community ul li img {
        width: 87.207vw;
        height: auto; }
    #community ul li + li {
      margin-bottom: 0vw; }

#spec {
  padding: 16.602vw 0 0; }
  #spec .logo img {
    width: 100vw;
    height: auto;
    margin-bottom: 12.695vw; }
  #spec h2 {
    font-size: 3.223vw;
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    text-align: center;
    position: relative;
    z-index: 10;
    margin-bottom: 6.348vw; }
  #spec dl {
    text-align: center; }
    #spec dl dt {
      font-family: "Oswald", sans-serif;
      font-weight: 600;
      font-size: 2.539vw;
      letter-spacing: 0.06em; }
    #spec dl dd {
      font-family: "Open Sans", sans-serif;
      font-weight: 600;
      font-size: 2.539vw;
      line-height: 1.75;
      margin-top: 0.781vw;
      letter-spacing: 0.06em; }
    #spec dl dt ~ dt {
      margin-top: 5.371vw; }

@media screen and (min-width: 769px) {
  #wrapper .title,
  #contents .title {
    font-size: 0;
    width: 224px;
    height: 36px;
    font-size: 23px;
    padding: 6px 0 0; }
  #wrapper .title.white,
  #contents .title.white {
    width: 306px; }

  #kv {
    height: 866px;
    width: 100%;
    position: relative;
    z-index: 10;
    background: #000; }
    #kv .wrap {
      height: 866px; }
    #kv header {
      padding-bottom: 120px; }
      #kv header h1 {
        margin-bottom: -120px; }
      #kv header h1 img {
        height: 426px;
        width: auto; }
      #kv header p {
        font-size: 13px;
        padding: 0 0 0 0;
        margin-top: -60px; }
        #kv header p span {
          height: 28px;
          padding: 7px 0 0;
          width: 166px; }
    #kv .movie {
      position: absolute;
      left: 33px;
      top: 96px; }
      #kv .movie img {
        height: 210px;
        width: auto; }
      #kv .movie a::after {
        width: 68px;
        height: 68px;
        margin: -34px 0 0 -34px; }
      #kv .movie a::before {
        border-width: 7.5px 0 7.5px 13px;
        margin: -8px 0 0 -4px; }
    #kv ul.badge-award {
      position: absolute;
      left: 30px;
      top: 610px;
      display: flex;
      width: 345px;
      justify-content: space-between;
      margin: 0; }
      #kv ul.badge-award li img {
        filter: drop-shadow(0px 0px 15px #000000); }
    #kv .bg {
      position: absolute;
      left: 50%;
      top: 0;
      z-index: -1;
      margin-left: -960px; }
      #kv .bg img {
        width: 1920px;
        height: auto; }

  #news {
    height: 559px;
    margin: -90px 0 -76px;
    padding: 57px 0 0;
    position: relative;
    z-index: 100; }
    #news .bg {
      left: 50%;
      margin-left: -960px; }
      #news .bg img {
        width: 1920px;
        height: auto; }
    #news .slider_wrap {
      position: relative;
      margin: 40px 0 0; }
    #news .swiper-container {
      width: 1200px;
      margin: 0 auto;
      overflow: hidden;
      position: relative;
      left: 10px; }
    #news .swiper-warapper {
      width: 1200px;
      margin: 0 auto;
      overflow: hidden; }
    #news .swiper-slide {
      width: 406px;
      padding: 0 0; }
      #news .swiper-slide i {
        width: 376px;
        height: 210px; }
      #news .swiper-slide p {
        font-size: 16px;
        margin: 20px 0 0;
        padding: 0 10px;
        width: 366px;
        font-family: "Open Sans", sans-serif;
        font-weight: 600; }

  #vraction {
    height: 1044px;
    position: relative;
    overflow: hidden;
    /*background: url("../img/movie/bg@pc.jpg") no-repeat center center / cover;*/ }
    #vraction::after {
      content: '';
      background: url("../img/movie/mask@pc.png") repeat-x left bottom/100px auto;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 100%; }
    #vraction .wrap {
      height: 1044px;
      background: none;
      padding: 0 0 138px;
      width: 1200px;
      margin: 0 auto; }
      #vraction .wrap i {
        text-align: center;
        margin: 0 auto 0 0; }
      #vraction .wrap h2 {
        font-size: 41px;
        margin: 34px 0 19px; }
      #vraction .wrap p {
        font-size: 24px;
        line-height: 1.542; }

  #bgmoviewrap {
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
    background: url("../img/movie/bg@pc.jpg") no-repeat center center/cover; }

  #bgmovie {
    height: 100vh;
    width: 1856px; }

  .ipad #bgmoviewrap,
  .android #bgmoviewrap {
    display: none !important; }

  .ipad #bgmoviewrapSp.tablet-item,
  .android #bgmoviewrapSp.tablet-item {
    display: block !important;
    position: absolute;
    width: 100% !important;
    height: 1044px !important;
    width: 1280px !important; }
  #story {
    position: relative;
    margin: -76px 0 -1px;
    position: relative;
    z-index: 10; }
    #story .wrap {
      padding: 96px 0 0; }
      #story .wrap .title {
        margin-bottom: 45px; }
      #story .wrap p {
        font-size: 24px;
        line-height: 1.35; }
      #story .wrap p + p {
        margin-top: 33px; }
    #story .copy {
      min-width: 1280px;
      width: 100%;
      position: absolute;
      left: 0;
      top: 1144px; }
      #story .copy b {
        display: block;
        background: url("../img/story/text.png") no-repeat center top/auto 230px;
        height: 230px;
        margin: 0 auto; }
    #story .bg {
      display: flex;
      justify-content: center;
      width: 100vw;
      min-width: 1280px; }
    #story .bg img {
      width: 1920px;
      height: auto; }

  #venture {
    height: 2813px;
    width: 100vw;
    position: relative;
    z-index: 10; }
    #venture .bg01 {
      background: none;
      height: auto; }
    #venture .bg img {
      width: 100vw;
      height: auto; }
    #venture .bg01 {
      position: relative;
      z-index: 1; }
    #venture .bg02 {
      position: absolute;
      left: 0;
      top: 0;
      z-index: 0; }
    #venture .wrap {
      z-index: 5; }
      #venture .wrap h2 {
        font-size: 48px;
        line-height: 1.021;
        margin: 44px 0 22px; }
      #venture .wrap p {
        font-size: 24px;
        line-height: 1.333; }
      #venture .wrap p + p {
        margin-top: 36px; }
      #venture .wrap .bg img {
        width: 100%;
        height: auto; }
    #venture .wrap.wrap01 {
      width: 1086px;
      height: auto; }
      #venture .wrap.wrap01 .text {
        padding: 52px 0 0;
        width: 834px; }
    #venture .wrap.wrap02 {
      width: 733px;
      top: 1031px; }
      #venture .wrap.wrap02 .text {
        padding: 10px 0 0 0;
        width: 690px;
        text-align: center;
        left: inherit;
        right: 0; }
      #venture .wrap.wrap02 .bg img {
        width: 733px; }
    #venture .wrap.wrap03 {
      width: 656px;
      left: 24px; }
      #venture .wrap.wrap03 .text {
        width: 656px;
        padding-bottom: 92px; }
      #venture .wrap.wrap03 .bg img {
        width: 656px; }
    #venture .animation-point {
      border: 5px solid red;
      position: absolute;
      left: 0;
      top: 1600px;
      z-index: 100;
      opacity: 0; }

  #multi {
    height: 1074px;
    background: url("../img/multi/bg@pc.png") no-repeat center top/1920px auto;
    background-color: #eeeeee;
    padding: 67px 0 0; }
    #multi i.title {
      margin-bottom: 34px; }
    #multi p {
      font-size: 24px;
      line-height: 1.333; }
    #multi p + p {
      margin-top: 35px; }
    #multi .swiper-container {
      position: absolute;
      left: 50%;
      bottom: -1px;
      width: 1920px;
      transform: translateX(-50%); }
      #multi .swiper-container .swiper-slide img {
        width: 1920px;
        height: auto; }
    #multi .swiper-nav {
      bottom: 35px;
      width: 100%; }

  #weapons {
    height: 1077px;
    background: url("../img/weapons/bg@pc.png") center bottom no-repeat;
    background-size: 1920px auto; }
    #weapons .bg {
      display: flex;
      justify-content: center; }
    #weapons .bg img {
      width: 2400px;
      height: auto;
      margin-left: 0; }
    #weapons .wrap {
      height: 593px;
      background: url("../img/weapons/line@pc.png") no-repeat center top/1920px;
      padding-top: 94px;
      min-width: 1280px; }
      #weapons .wrap .title.white {
        width: 224px;
        margin-bottom: 0; }
      #weapons .wrap h2 {
        font-size: 41px;
        margin: 36px 0 24px; }
      #weapons .wrap p {
        font-size: 24px;
        line-height: 1.333;
        margin-top: 27px; }
    #weapons .animation-point {
      border: 5px solid red;
      position: absolute;
      left: 0;
      top: 300px;
      z-index: 100;
      opacity: 0; }

  .bg_bottom {
    background: url("../img/footer@pc.jpg") no-repeat center bottom/1920px auto;
    height: 1779px;
    max-height: inherit;
    padding-bottom: 0;
    background-color: #e8e2d4;
    margin-top: -1px; }

  .nowebp .bg_bottom {
    background: url("../img/footer@pc.jpg") no-repeat center bottom/1920px auto; }

  #mod {
    padding-top: 64px; }
    #mod dl {
      width: 1280px;
      margin: 0 auto;
      position: relative; }
    #mod img {
      width: 865px;
      height: auto; }
    #mod dt {
      margin: 0 0 0 -27px;
      position: relative;
      z-index: 10; }
    #mod dd {
      width: 570px;
      min-height: 440px;
      text-align: center;
      padding: 62px 35px 0 115px;
      margin: 0 0 0;
      position: absolute;
      right: 20px;
      top: 82px; }
      #mod dd .head {
        display: block;
        margin: 0 0 33px;
        text-align: right;
        padding-right: 30px; }
      #mod dd .title.white {
        width: 143px;
        height: 36px;
        padding-top: 7px;
        margin: 0 0 0 0px; }
      #mod dd p {
        font-size: 24px;
        line-height: 1.333; }

  #community {
    text-align: center;
    padding-top: 107px; }
    #community .title {
      margin-bottom: 45px; }
    #community ul {
      width: 1240px;
      margin: 0 auto;
      position: relative;
      display: flex;
      justify-content: space-between; }
      #community ul li {
        margin: 0; }
        #community ul li img {
          width: 600px;
          height: auto; }

  #spec {
    padding: 0 0;
    text-align: center;
    margin-top: 96px; }
    #spec .logo img {
      width: 960px;
      height: auto;
      margin-bottom: 65px; }
    #spec h2 {
      font-size: 17px;
      margin-bottom: 42px; }
    #spec dl {
      text-align: center; }
      #spec dl dt {
        font-size: 13px; }
      #spec dl dd {
        font-size: 13px;
        margin-top: 4px; }
      #spec dl dt ~ dt {
        margin-top: 29px; } }
@media screen and (min-width: 769px) and (max-width: 1280px) {
  /* pc 769-1280
  **************************************************************/
  #kv .movie img {
    height: 16.406vw;
    width: auto; }
  #kv .movie a::after {
    width: 5.313vw;
    height: 5.313vw;
    margin: -2.656vw 0 0 -2.656vw; }
  #kv .movie a::before {
    border-width: 0.586vw 0 0.586vw 1.016vw;
    margin: -0.625vw 0 0 -0.313vw; } }
@media screen and (min-width: 769px) {
  /*	pc 1281-
  **************************************************************/
  #venture {
    height: 1875.333px;
    width: 1280px; }
    #venture .bg img {
      width: 1280px;
      height: auto; }
    #venture .wrap h2 {
      font-size: 32px;
      margin: 29.333px 0 14.667px; }
    #venture .wrap p {
      font-size: 16px; }
    #venture .wrap p + p {
      margin-top: 24px; }
    #venture .wrap.wrap01 {
      width: 724px;
      height: auto; }
      #venture .wrap.wrap01 .text {
        padding: 34.667px 0 0;
        width: 556px; }
    #venture .wrap.wrap02 {
      width: 488.667px;
      top: 687.333px; }
      #venture .wrap.wrap02 .text {
        padding: 6.667px 0 0 0;
        width: 460px; }
      #venture .wrap.wrap02 .bg img {
        width: 488.667px; }
    #venture .wrap.wrap03 {
      width: 437.333px;
      left: 16px; }
      #venture .wrap.wrap03 .text {
        width: 437.333px;
        padding-bottom: 61.333px; }
      #venture .wrap.wrap03 .bg img {
        width: 437.333px; }

  .animation-point {
    top: 1066.667px; } }
@media screen and (min-width: 1281px) {
  /*	pc 1281-
  **************************************************************/
  #venture {
    height: 146.51vw;
    width: 100vw; }
    #venture .bg img {
      width: 100vw;
      height: auto; }
    #venture .wrap h2 {
      font-size: 2.5vw;
      margin: 2.292vw 0 1.146vw; }
    #venture .wrap p {
      font-size: 1.25vw; }
    #venture .wrap p + p {
      margin-top: 1.875vw; }
    #venture .wrap.wrap01 {
      width: 56.563vw;
      height: auto; }
      #venture .wrap.wrap01 .text {
        padding: 2.708vw 0 0;
        width: 43.438vw; }
    #venture .wrap.wrap02 {
      width: 38.177vw;
      top: 53.698vw; }
      #venture .wrap.wrap02 .text {
        padding: 0.521vw 0 0 0;
        width: 35.938vw; }
      #venture .wrap.wrap02 .bg img {
        width: 38.177vw; }
    #venture .wrap.wrap03 {
      width: 34.167vw;
      left: 1.25vw; }
      #venture .wrap.wrap03 .text {
        width: 34.167vw;
        padding-bottom: 4.792vw; }
      #venture .wrap.wrap03 .bg img {
        width: 34.167vw; }
    #venture .animation-point {
      top: 83.333vw; } }
@media screen and (min-width: 1921px) {
  /*	pc 1921-
  **************************************************************/
  #wrapper .title,
  #contents .title {
    width: 11.667vw;
    height: 1.875vw;
    font-size: 1.198vw;
    padding: 0.313vw 0 0; }
  #wrapper .title.white,
  #contents .title.white {
    width: 15.938vw; }

  #kv {
    height: 45.104vw; }
    #kv .wrap {
      height: 45.104vw; }
    #kv header {
      padding-bottom: 6.25vw; }
      #kv header h1 {
        margin-bottom: -6.25vw; }
      #kv header h1 img {
        height: 22.188vw;
        width: auto; }
      #kv header p {
        font-size: 0.677vw;
        padding: 0 0 0 0;
        margin-top: -3.125vw; }
        #kv header p span {
          height: 1.458vw;
          padding: 0.365vw 0 0;
          width: 8.646vw; }
    #kv .movie {
      left: 1.719vw;
      top: 96px; }
      #kv .movie img {
        height: 10.938vw;
        width: auto; }
      #kv .movie a::after {
        width: 3.542vw;
        height: 3.542vw;
        margin: -1.771vw 0 0 -1.771vw; }
      #kv .movie a::before {
        border-width: 0.391vw 0 0.391vw 0.677vw;
        margin: -0.417vw 0 0 -0.208vw; }
    #kv .bg {
      margin-left: -50vw; }
      #kv .bg img {
        width: 100vw;
        height: auto; }

  #news {
    height: 29.115vw;
    margin: -4.688vw 0 -3.958vw;
    padding: 2.969vw 0 0; }
    #news .bg {
      left: 50%;
      margin-left: -50vw; }
      #news .bg img {
        width: 100vw;
        height: auto; }
    #news .slider_wrap {
      position: relative;
      margin: 2.083vw 0 0; }
    #news .swiper-container {
      width: 62.448vw;
      left: 0.521vw; }
    #news .swiper-warapper {
      width: 62.448vw; }
    #news .swiper-slide {
      width: 21.146vw; }
      #news .swiper-slide i {
        width: 19.583vw;
        height: 10.938vw; }
      #news .swiper-slide p {
        font-size: 0.833vw;
        margin: 1.042vw 0 0;
        padding: 0 0.521vw;
        width: 19.063vw; }

  #vraction {
    height: 54.375vw; }
    #vraction .wrap {
      height: 54.375vw;
      padding: 0 0 7.188vw;
      width: 62.5vw; }
      #vraction .wrap h2 {
        font-size: 2.135vw;
        margin: 1.771vw 0 0.99vw; }
      #vraction .wrap p {
        font-size: 1.25vw; }
    #vraction #bgmoviewrap {
      width: 100%;
      height: 54.375vw; }
    #vraction #bgmovie {
      height: 54.375vw;
      width: 96.667vw; }
    .ipad #bgmoviewrapSp.tablet-item,
    .android #bgmoviewrapSp.tablet-item {
      height: 54.375vw !important; }

  #story {
    margin: -3.958vw 0 0; }
    #story .wrap {
      padding: 5vw 0 0; }
      #story .wrap .title {
        margin-bottom: 2.344vw; }
      #story .wrap p {
        font-size: 1.25vw; }
      #story .wrap p + p {
        margin-top: 1.719vw; }
    #story .copy {
      top: 59.583vw; }
      #story .copy b {
        display: block;
        background: url("../img/story/text.png") no-repeat center top/auto 11.979vw;
        height: 11.979vw; }
    #story .bg {
      width: 100vw; }
    #story .bg img {
      width: 100vw;
      height: auto; }

  #multi {
    height: 55.938vw;
    background-size: 100% auto;
    padding: 3.49vw 0 0; }
    #multi i.title {
      margin-bottom: 1.771vw; }
    #multi p {
      font-size: 1.25vw; }
    #multi p + p {
      margin-top: 1.823vw; }
    #multi .swiper-container {
      width: 100%; }
      #multi .swiper-container .swiper-slide img {
        width: 100%;
        height: auto; }
    #multi .swiper-nav {
      bottom: 1.823vw; }

  #weapons {
    height: 56.094vw;
    background: url("../img/weapons/bg@pc.png") center bottom no-repeat;
    background-size: 100% auto; }
    #weapons .bg img {
      width: 125vw;
      height: auto;
      margin-left: 0; }
    #weapons .wrap {
      height: 30.885vw;
      background: url("../img/weapons/line@pc.png") no-repeat center top/100% auto;
      padding-top: 4.896vw; }
      #weapons .wrap .title.white {
        width: 11.667vw; }
      #weapons .wrap h2 {
        font-size: 2.135vw;
        margin: 1.875vw 0 1.25vw; }
      #weapons .wrap p {
        font-size: 1.25vw; }
    #weapons .animation-point {
      top: 15.625vw; }

  .bg_bottom {
    background: url("../img/footer@pc.webp") no-repeat center bottom/100vw auto;
    height: 92.656vw; }

  .nowebp .bg_bottom {
    background: url("../img/footer@pc.png") no-repeat center bottom/100vw auto; }

  #mod {
    padding-top: 3.333vw; }
    #mod dl {
      width: 66.667vw; }
    #mod img {
      width: 45.052vw;
      height: auto; }
    #mod dt {
      margin: 0 0 0 -1.406vw; }
    #mod dd {
      width: 29.688vw;
      min-height: 22.917vw;
      padding: 3.229vw 1.823vw 0 5.99vw;
      right: 1.042vw;
      top: 4.271vw; }
      #mod dd .head {
        margin: 0 0 1.719vw 0;
        padding-right: 1.563vw; }
      #mod dd .title.white {
        width: 7.448vw;
        height: 1.875vw;
        padding-top: 0.365vw; }
      #mod dd p {
        font-size: 1.25vw; }

  #community {
    padding-top: 5.573vw; }
    #community .title {
      margin-bottom: 2.344vw; }
    #community ul {
      width: 66.667vw; }
      #community ul li img {
        width: 45.052vw;
        height: auto; }

  #spec {
    margin-top: 5vw; }
    #spec .logo img {
      width: 50vw;
      height: auto;
      margin-bottom: 3.385vw; }
    #spec h2 {
      font-size: 0.885vw;
      margin-bottom: 2.188vw; }
    #spec dl {
      text-align: center; }
      #spec dl dt {
        font-size: 0.677vw; }
      #spec dl dd {
        font-size: 0.677vw;
        margin-top: 0.208vw; }
      #spec dl dt ~ dt {
        margin-top: 1.51vw; } }
