@charset "UTF-8";
/*
--------------------------------------------------
  variable
--------------------------------------------------
*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&family=Noto+Serif+JP:wght@500;900&family=Oswald:wght@500;600&family=Pacifico&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

li {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/*
--------------------------------------------------
	base
--------------------------------------------------
*/
/*google font*/
/*base style*/
html, body {
  margin: 0;
  padding: 0;
  font-size: 62.5%;
}

body {
  position: relative;
  font-family: "Oswald", "Noto Sans JP", "Avenir", "Helvetica Neue", "Helvetica", "Arial", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.5rem;
  font-feature-settings: "palt";
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: #333;
  background-color: #fff;
  scroll-behavior: smooth;
}
body.fixed {
  overflow: hidden;
}
@media screen and (max-width:1024px) {
  body {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width:768px) {
  body {
    font-size: 2.0833333333vw;
  }
}
@media screen and (max-width:480px) {
  body {
    font-size: 1.4rem;
  }
  body:before {
    background-size: 180%;
    background-position: center bottom;
  }
}

/* for Firefox */
::selection {
  background: #004098;
  color: #fff;
}

::-moz-selection {
  background: #004098;
  color: #fff;
}

a {
  transition: 0.3s all;
  color: #010c12;
  text-decoration: none;
}

img {
  display: block;
  vertical-align: bottom;
}
@media screen and (max-width:768px) {
  img {
    width: 100%;
  }
}

h2 {
  font-size: 4.8rem;
  line-height: 1.8;
  font-weight: 400;
}
@media screen and (max-width:1400px) {
  h2 {
    font-size: 7.03125vw;
  }
}
@media screen and (max-width:768px) {
  h2 {
    font-size: 7.8125vw;
  }
}
@media screen and (max-width:480px) {
  h2 {
    font-size: 4rem;
  }
}

h3 {
  font-size: 3.2rem;
  line-height: 1.8;
}
@media screen and (max-width:1400px) {
  h3 {
    font-size: 1.953125vw;
  }
}
@media screen and (max-width:768px) {
  h3 {
    font-size: 3.125vw;
  }
}
@media screen and (max-width:480px) {
  h3 {
    font-size: 2rem;
  }
}

h4 {
  font-size: 2.4rem;
}
@media screen and (max-width:1400px) {
  h4 {
    font-size: 1.7578125vw;
  }
}
@media screen and (max-width:768px) {
  h4 {
    font-size: 2.6041666667vw;
  }
}
@media screen and (max-width:480px) {
  h4 {
    font-size: 1.8rem;
  }
}

sub {
  vertical-align: sub;
}

.SP {
  display: none;
}
@media screen and (max-width:768px) {
  .SP {
    display: block;
  }
}

.PC {
  display: block;
}
@media screen and (max-width:768px) {
  .PC {
    display: none;
  }
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-bold {
  font-weight: 600;
}

.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s;
}

/*
--------------------------------------------------
  header
--------------------------------------------------
*/
.l-header {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 80px;
}
@media screen and (max-width:1024px) {
  .l-header {
    height: 70px;
  }
}
.l-header_inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width:1024px) {
  .l-header_inner {
    height: 70px;
  }
}
.l-header_logo, .l-header_contents {
  margin: 0 24px;
}
.l-header_logo h1 {
  display: inline-block;
}
.l-header_logo img {
  display: inline-block;
  vertical-align: middle;
  margin-right: 16px;
}
@media screen and (max-width:1400px) {
  .l-header_logo img {
    width: 15.625vw;
  }
  .l-header_logo h1 {
    font-size: 1.025390625vw;
  }
}
@media screen and (max-width:768px) {
  .l-header_logo h1 {
    display: block;
  }
  .l-header_logo img {
    width: 26.0416666667vw;
  }
}
@media screen and (max-width:480px) {
  .l-header_logo {
    width: 160px;
  }
  .l-header_logo img {
    width: 140px;
  }
  .l-header_logo h1 {
    font-size: 1rem;
  }
}
.l-header_contents {
  display: flex;
  align-items: center;
}
@media screen and (max-width:1024px) {
  .l-header_contents {
    margin-right: 0;
  }
}
.l-header_nav {
  display: flex;
  font-size: 1.2rem;
  line-height: 1.2;
}
.l-header_nav a:hover {
  opacity: 0.6;
}
.l-header_nav .notice:before {
  content: "";
  display: inline-block;
  background: url(../img/icon_notice.png) no-repeat;
  background-size: 100%;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin: -4px 8px 0 0;
}
@media screen and (max-width:480px) {
  .l-header_nav {
    font-size: 1rem;
    margin: 0;
  }
}
.l-header_toggle {
  display: none;
}
@media screen and (max-width:1024px) {
  .l-header_toggle {
    display: flex;
    margin-left: 1.5625vw;
  }
}
@media screen and (max-width:480px) {
  .l-header_toggle {
    margin-left: 0;
  }
}
.l-header_ecap {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 10px 20px;
  border-radius: 50px;
}
.l-header_ecap:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("../img/icon_ecap.png");
  background-size: 20px 20px;
  vertical-align: middle;
  margin-right: 10px;
}
@media screen and (max-width:1024px) {
  .l-header_ecap {
    font-size: 1.171875vw;
  }
}
@media screen and (max-width:480px) {
  .l-header_ecap {
    width: 70px;
    height: 70px;
    padding: 15px;
    border-radius: 0;
  }
  .l-header_ecap span {
    display: none;
  }
  .l-header_ecap:before {
    display: block;
    width: 40px;
    height: 40px;
    background-size: 40px 40px;
  }
}

/*
--------------------------------------------------
  main
--------------------------------------------------
*/
.l-main_bg {
  background: url("../img/bg_main.png") fixed;
}

/*
--------------------------------------------------
  footer
--------------------------------------------------
*/
.footer {
  position: relative;
  background: #000;
  color: #fff;
  padding: 24px 0;
}
@media screen and (max-width:480px) {
  .footer {
    padding: 24px 0;
  }
}
.footer_inner {
  width: 100%;
  max-width: 1420px;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width:1024px) {
  .footer_inner {
    padding: 0 2.34375vw;
  }
}
.footer_contents {
  padding: 24px 0;
}
.footer_detail {
  display: flex;
}
.footer_official {
  display: block;
  position: relative;
  max-width: 500px;
  border: solid 1px #fff;
  margin-bottom: 64px;
  flex: 1;
  margin-right: 32px;
}
.footer_official:before {
  content: "";
  position: absolute;
  display: block;
  background: transparent;
  opacity: 1;
  transition: 0.3s;
  width: 100%;
  height: 100%;
}
.footer_official:hover:before {
  content: "";
  background: #004098;
  opacity: 0.5;
}
.footer_gameSpec {
  flex: 1;
}
.footer_gameSpec div {
  display: flex;
}
.footer_gameSpec div:not(:last-child) {
  margin-bottom: 16px;
}
.footer_gameSpec dt {
  border: solid 1px #010c12;
  width: 120px;
  text-align: center;
  margin-right: 8px;
}
.footer_bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
  font-size: 1.2rem;
  background: #000;
  color: #fff;
}
@media screen and (max-width:1024px) {
  .footer_bottom {
    display: block;
  }
}
.footer_left {
  width: 50%;
}
@media screen and (max-width:1024px) {
  .footer_left {
    margin-bottom: 24px;
  }
}
@media screen and (max-width:480px) {
  .footer_left {
    width: 100%;
  }
}
.footer_right {
  display: block;
}
@media screen and (max-width:768px) {
  .footer_right {
    margin: auto;
    text-align: center;
  }
}
.footer_twitter {
  display: block;
  width: 100%;
  max-width: 180px;
  background: #fff;
  border-radius: 100px;
  padding: 4px 18px;
  text-align: center;
  font-weight: 700;
}
.footer_twitter:hover {
  background: #004098;
}
.footer_twitter span {
  display: inline-block;
  position: relative;
  font-size: 2.4rem;
  padding: 0 10px;
}
.footer_twitter span:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  background: url(../img/tw_icon.png) no-repeat;
  background-size: 100%;
  width: 28px;
  height: 23px;
}
@media screen and (max-width:480px) {
  .footer_twitter {
    max-width: 100%;
  }
}
.footer_logo {
  margin: 0 0 16px auto;
}
@media screen and (max-width:1024px) {
  .footer_logo {
    margin: 0 auto 16px auto;
  }
}
@media screen and (max-width:1024px) {
  .footer_logo {
    width: 160px;
  }
}

/*
--------------------------------------------------
  sontainer
--------------------------------------------------
*/
.c-container {
  position: relative;
  padding: 120px 0;
}
@media screen and (max-width:1400px) {
  .c-container {
    padding: 11% 0;
  }
}
@media screen and (max-width:768px) {
  .c-container {
    padding: 16% 0;
  }
}
.c-container_inner {
  position: relative;
  max-width: 1420px;
  margin: auto;
}
@media screen and (max-width:1400px) {
  .c-container_inner {
    padding: 0 9.765625vw;
  }
}
@media screen and (max-width:768px) {
  .c-container_inner {
    padding: 0 13.0208333333vw;
  }
}
@media screen and (max-width:480px) {
  .c-container_inner {
    padding: 0 20px;
  }
}
.c-container_inner-s {
  max-width: 960px;
}

/*
--------------------------------------------------
  nav
--------------------------------------------------
*/
.c-nav {
  flex: 1;
  top: 0;
  background: #000;
  z-index: 999;
}
@media all and (-ms-high-contrast: none) {
  .c-nav {
    right: 0;
  }
}
@media screen and (max-width:1024px) {
  .c-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 998;
    width: 100%;
    top: 0;
    right: -120%;
    height: 100vh;
    background: #004098 !important;
    transition: 0.5s all;
  }
}
.c-nav.is-open {
  right: 0;
}
.c-nav.is-open a {
  color: #fff;
}
.c-nav.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #000;
  z-index: 998;
  animation: MenuDown 0.5s;
}
.c-nav.fixed .c-nav_list {
  margin: auto;
  max-width: 100%;
}
.c-nav.fixed a {
  color: #fff;
}
@media screen and (max-width:1024px) {
  .c-nav.fixed {
    left: inherit;
  }
}
.c-nav_list {
  display: flex;
  width: 100%;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  height: 80px;
}
.c-nav_list .c-nav_item:first-child {
  background: #c80000;
}
@media screen and (max-width:1024px) {
  .c-nav_list {
    width: 100%;
    height: auto;
    flex-wrap: wrap;
  }
}
.c-nav_item {
  display: flex;
  align-items: center;
  position: relative;
  flex: 1;
}
.c-nav_item:not(:last-child):after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  background: #010c12;
  width: 1px;
}
.c-nav_item.notice {
  width: 80px;
  flex: initial;
}
.c-nav_item.notice a {
  font-size: 1rem;
  background: #bdbdbd;
  color: #000;
  flex-direction: column;
}
.c-nav_item.notice a:before {
  content: "";
  display: block;
  background: url(../img/icon_notice.png) no-repeat;
  background-size: 100%;
  width: 24px;
  height: 24px;
  vertical-align: middle;
  margin-bottom: 4px;
}
.c-nav_item a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80px;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
}
.c-nav_item a:hover {
  background: #004098;
}
.c-nav_item a.red {
  background: #004098;
}
.c-nav_item span {
  display: block;
  align-self: center;
}
.c-nav_item small {
  display: block;
  font-size: 60%;
}
.c-nav_item-twitter {
  background: #1DA1F2;
  flex: 0 80px;
}
.c-nav_item-twitter img {
  width: 40px;
  margin: 0 auto;
}
@media screen and (max-width:1400px) {
  .c-nav_item a {
    font-size: 0.9765625vw;
  }
}
@media screen and (max-width:1024px) {
  .c-nav_item {
    width: 50%;
    flex: initial;
  }
  .c-nav_item.notice {
    width: inherit;
  }
  .c-nav_item.notice a {
    font-size: 1.2rem;
    flex-direction: row;
  }
  .c-nav_item.notice a:before {
    margin: 0 8px 0 0;
    width: 15px;
    height: 15px;
  }
  .c-nav_item a {
    font-size: 1.4rem;
    padding: 0 24px;
    height: 65px;
    justify-content: flex-start;
    text-align: left;
  }
  .c-nav_item:not(:last-child) {
    margin: 0;
  }
}

.c-nav-toggle {
  display: none;
  background: #004098;
  width: 70px;
  height: 70px;
  cursor: pointer;
  z-index: 999;
  transition: 0.5s all;
}
@media screen and (max-width:1024px) {
  .c-nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.c-nav-toggle_inner {
  position: relative;
  width: 40px;
  height: 40px;
}
.c-nav-toggle_inner span {
  position: absolute;
  left: 0;
  display: block;
  background: #fff;
  width: 100%;
  height: 2px;
  transition: 0.5s all;
}
.c-nav-toggle_inner span:nth-child(1) {
  top: 10px;
}
.c-nav-toggle_inner span:nth-child(2) {
  top: 20px;
}
.c-nav-toggle_inner span:nth-child(3) {
  top: 30px;
}
.c-nav-toggle.fixed {
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  animation: MenuDown 0.5s;
}
.c-nav-toggle.active .c-nav-toggle_inner span:nth-child(1) {
  top: 20px;
  transform: rotate(45deg);
}
.c-nav-toggle.active .c-nav-toggle_inner span:nth-child(2) {
  top: 20px;
  transform: rotate(-45deg);
}
.c-nav-toggle.active .c-nav-toggle_inner span:nth-child(3) {
  opacity: 0;
}

@keyframes MenuDown {
  0% {
    opacity: 0;
    transform: translateY(-80px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
--------------------------------------------------
  hero
--------------------------------------------------
*/
#jp {
  background: url(../img/hero.png) no-repeat top center, #ffc600;
  background-size: auto;
}
@media screen and (max-width:1400px) {
  #jp {
    background-size: cover;
  }
}
@media screen and (max-width:768px) {
  #jp {
    background: url(../img/hero_sp.png) no-repeat top center;
    background-size: cover;
  }
}

#en {
  background: url(../img/hero_en.png) no-repeat top center, #ffc600;
  background-size: auto;
}
@media screen and (max-width:1400px) {
  #en {
    background-size: cover;
  }
}
@media screen and (max-width:768px) {
  #en {
    background: url(../img/hero_en_sp.png) no-repeat top center;
    background-size: cover;
  }
}

#uk {
  background: url(../img/hero_uk.png) no-repeat top center, #ffc600;
  background-size: auto;
}
@media screen and (max-width:1400px) {
  #uk {
    background-size: cover;
  }
}
@media screen and (max-width:768px) {
  #uk {
    background: url(../img/hero_uk_sp.png) no-repeat top center;
    background-size: cover;
  }
}

#global {
  background: url(../img/hero_global.png) no-repeat top center, #ffc600;
  background-size: auto;
}
@media screen and (max-width:1400px) {
  #global {
    background-size: cover;
  }
}
@media screen and (max-width:768px) {
  #global {
    background: url(../img/hero_global_sp.png) no-repeat top center;
    background-size: cover;
  }
}

.c-hero {
  overflow: hidden;
}
.c-hero_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 480px;
  max-width: 1420px;
  margin: 0 auto;
}
.c-hero_contents {
  color: #000;
  text-align: center;
}
.c-hero_contents h1 {
  text-align: center;
  font-size: 0rem;
  line-height: 1.4;
  margin-bottom: 24px;
}
.c-hero_contents h1 span {
  font-size: 60%;
}
.c-hero_contents p {
  font-size: 0rem;
}
.c-hero_contents p span {
  font-size: 0rem;
}
.c-hero_ttl {
  font-size: 4rem;
  line-height: 1.8;
  margin-bottom: 40px;
}
.c-hero_txt {
  font-size: 2.4rem;
}
.c-hero_sale {
  color: #fff;
  padding: 32px;
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
}
.c-hero_sale_main {
  font-size: 3rem;
  color: #fdd000;
}
@media screen and (max-width:1400px) {
  .c-hero_inner {
    height: 23.4375vw;
  }
  .c-hero_sale {
    padding: 3.125vw;
  }
  .c-hero_sale_main {
    font-size: 2.34375vw;
  }
}
@media screen and (max-width:768px) {
  .c-hero_inner {
    height: 130.2083333333vw;
  }
  .c-hero_contents {
    width: 100%;
  }
  .c-hero_sale {
    padding: 4.1666666667vw;
  }
  .c-hero_sale_main {
    font-size: 4.1666666667vw;
  }
  .c-hero_sale p span {
    font-size: 2.34375vw;
  }
}
@media screen and (max-width:480px) {
  .c-hero {
    padding: 60px 20px;
    height: 130.2083333333vw;
  }
  .c-hero_inner {
    padding: 40px 0;
    height: auto;
  }
}

/*
--------------------------------------------------
  btn
--------------------------------------------------
*/
.c-btn_wrap {
  text-align: center;
}

.c-btn {
  display: inline-block;
  position: relative;
  border: 2px solid #fff;
  color: #fff;
  padding: 16px 50px;
  transition: 0.3s all;
  font-size: 2rem;
}
.c-btn:hover {
  border-color: #004098;
  color: #004098;
}
@media screen and (max-width:1400px) {
  .c-btn {
    font-size: 1.3671875vw;
    padding: 1.5625vw 2.9296875vw;
  }
}
@media screen and (max-width:768px) {
  .c-btn {
    font-size: 1.953125vw;
    padding: 2.0833333333vw 6.5104166667vw;
  }
}
@media screen and (max-width:480px) {
  .c-btn {
    padding: 16px 50px;
    font-size: 1.5rem;
  }
}
.c-btn-main {
  border: 2px solid #00ffe4;
  border-image: linear-gradient(to left, #00ffe4 0%, #24aec7 25%, #a21252 75%, #df0000 100%);
  border-image-slice: 1;
}
.c-btn-main:before {
  content: "";
  position: absolute;
  display: block;
  background: url(../img/arrow.png) no-repeat;
  background-size: 100%;
  width: 60px;
  height: 10px;
  top: 45%;
  right: -30px;
  transform: translateY(-45%);
  transition: 0.3s all;
}
.c-btn-main:hover {
  border: 2px solid #df0000;
  border-image: linear-gradient(to right, #00ffe4 0%, #24aec7 25%, #a21252 75%, #df0000 100%);
  border-image-slice: 1;
  color: #fff;
}
.c-btn-main:hover:before {
  right: -14%;
}
.c-btn-main:hover:after {
  right: -15%;
}
@media screen and (max-width:1400px) {
  .c-btn-main:before {
    width: 3.90625vw;
    height: 0.5859375vw;
    right: -1.953125vw;
  }
}
@media screen and (max-width:768px) {
  .c-btn-main:before {
    width: 7.8125vw;
    height: 1.3020833333vw;
    right: -3.90625vw;
  }
}
@media screen and (max-width:480px) {
  .c-btn-main:before {
    width: 60px;
    height: 10px;
    right: -30px;
  }
}

/*
--------------------------------------------------
  scroll anime
--------------------------------------------------
*/
.fade-in {
  opacity: 0;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
}

.fade-in-up {
  transform: translate(0, 50px);
}

.fade-in-down {
  transform: translate(0, -50px);
}

.fade-in-left {
  transform: translate(-50px, 0);
}

.fade-in-right {
  transform: translate(50px, 0);
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}

/*
--------------------------------------------------
  flexbox
--------------------------------------------------
*/
.c-flex {
  display: flex;
}
.c-flex.fxd-c {
  flex-direction: column;
}
.c-flex.fxd-cr {
  flex-direction: column-reverse;
}
.c-flex.fxd-r {
  flex-direction: row;
}
.c-flex.fxd-rr {
  flex-direction: row-reverse;
}
.c-flex.fxw-w {
  flex-wrap: wrap;
}
.c-flex.fxw-wr {
  flex-wrap: wrap-reverse;
}
.c-flex.jc-c {
  justify-content: center;
}
.c-flex.jc-fe {
  justify-content: flex-end;
}
.c-flex.jc-fs {
  justify-content: flex-start;
}
.c-flex.jc-sa {
  justify-content: space-around;
}
.c-flex.jc-sb {
  justify-content: space-between;
}
.c-flex.ai-b {
  align-items: baseline;
}
.c-flex.ai-c {
  align-items: center;
}
.c-flex.ai-fe {
  align-items: flex-end;
}
.c-flex.ai-fs {
  align-items: flex-start;
}
.c-flex.ai-s {
  align-items: stretch;
}
.c-flex.ac-c {
  align-content: center;
}
.c-flex.ac-fe {
  align-content: flex-end;
}
.c-flex.ac-fs {
  align-content: flex-start;
}
.c-flex.ac-s {
  align-content: stretch;
}
.c-flex.ac-sa {
  align-content: space-around;
}
.c-flex.ac-sb {
  align-content: space-between;
}

.c-flex__item.-ord-1 {
  order: 1;
}
.c-flex__item.-ord-2 {
  order: 2;
}
.c-flex__item.-ord-3 {
  order: 3;
}
.c-flex__item.-ord-4 {
  order: 4;
}
.c-flex__item.-ord-5 {
  order: 5;
}
.c-flex__item.-ord-6 {
  order: 6;
}
.c-flex__item.-ord-7 {
  order: 7;
}
.c-flex__item.-ord-8 {
  order: 8;
}
.c-flex__item.-ord-9 {
  order: 9;
}
.c-flex__item.-ord-10 {
  order: 10;
}

/*
--------------------------------------------------
  hero
--------------------------------------------------
*/
.c-heading {
  display: block;
  font-weight: 900;
  line-height: 1.2;
}
.c-heading-main {
  text-align: center;
  width: 100%;
  margin-bottom: 54px;
}
.c-heading-main-small {
  position: relative;
  display: block;
  font-size: 40%;
  margin-top: 16px;
}
.c-heading-main small {
  font-size: 50%;
}
@media screen and (max-width:1400px) {
  .c-heading-main {
    font-size: 3.90625vw;
    top: -4.8828125vw;
    padding: 0 8.7890625vw;
  }
  .c-heading-main-small {
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width:768px) {
  .c-heading-main {
    font-size: 10.4166666667vw;
    top: -30px;
    width: 100%;
    padding: 0 11.71875vw;
  }
  .c-heading-main-small {
    font-size: 40%;
    margin-top: 2.0833333333vw;
  }
}
@media screen and (max-width:480px) {
  .c-heading-main {
    top: -30px;
    padding: 0 24px;
  }
  .c-heading-main-small {
    margin-top: 8px;
  }
}
.c-heading-white {
  color: #fff;
}
.c-heading-white span:before, .c-heading-white span:after {
  background: url(../img/line_white.png) repeat-x;
  background-size: 12px 24px;
}
@media screen and (max-width:480px) {
  .c-heading-white span:before, .c-heading-white span:after {
    background-size: 6px 12px;
    height: 12px;
  }
}
.c-heading-center {
  text-align: center;
}
.c-heading-center img {
  text-align: center;
  margin: 0 auto 40px;
}
@media screen and (max-width:1024px) {
  .c-heading-center img {
    margin: 0 auto 3.90625vw;
  }
}
@media screen and (max-width:480px) {
  .c-heading-center {
    margin: 0 auto;
  }
  .c-heading-center img {
    width: inherit;
    transform: scale(0.8);
    margin: 0 auto 7.8125vw;
  }
}
.c-heading-wrap {
  text-align: center;
  margin-bottom: 40px;
  overflow: hidden;
}

/*
--------------------------------------------------
  pageTop
--------------------------------------------------
*/
.c-pageTop {
  position: fixed;
  width: 64px;
  height: 64px;
  bottom: 8px;
  right: 8px;
  cursor: pointer;
  z-index: 997;
}
@media screen and (max-width:480px) {
  .c-pageTop {
    width: 48px;
    height: 48px;
  }
  .c-pageTop:before, .c-pageTop:after {
    width: 20px;
  }
}
.c-pageTop_btn {
  display: block;
  position: relative;
  width: 64px;
  height: 64px;
  background: #000;
}
.c-pageTop_btn:before, .c-pageTop_btn:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  background: #fff;
  width: 30px;
  height: 2px;
  transition: 0.4s all;
}
.c-pageTop_btn:before {
  transform: rotate(45deg);
  right: 7px;
}
.c-pageTop_btn:after {
  transform: rotate(-45deg);
  left: 7px;
}
.c-pageTop_btn:hover:before, .c-pageTop_btn:hover:after {
  top: 45%;
}
@media screen and (max-width:480px) {
  .c-pageTop_btn {
    width: 48px;
    height: 48px;
  }
  .c-pageTop_btn:before, .c-pageTop_btn:after {
    width: 20px;
  }
}
.c-pageTop-twitter {
  display: block;
  position: absolute;
  bottom: 100px;
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 100px;
}
.c-pageTop-twitter:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/tw_icon.png) no-repeat center;
  width: 45px;
  height: 48px;
}
.c-pageTop-twitter:after {
  content: "SHARE";
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  transition: 0.3s all;
}
.c-pageTop-twitter:hover {
  background: #ffeb3b;
}
.c-pageTop-twitter:hover:after {
  color: #ffeb3b;
}
@media screen and (max-width:480px) {
  .c-pageTop-twitter {
    width: 50px;
    height: 50px;
    bottom: 80px;
  }
  .c-pageTop-twitter:after {
    font-size: 1.2rem;
    top: 50px;
  }
}

/*
--------------------------------------------------
  project
--------------------------------------------------
*/
#new {
  position: relative;
}
#new:before {
  content: "NEW ARRIVAL";
  display: block;
  position: absolute;
  text-align: center;
  font-size: 25rem;
  font-weight: 600;
  line-height: 1;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: -1;
  opacity: 0.1;
}
@media screen and (max-width:1400px) {
  #new:before {
    font-size: 17.578125vw;
  }
}
@media screen and (max-width:768px) {
  #new {
    background-size: 125%;
  }
  #new:before {
    font-size: 26.0416666667vw;
  }
}

#mh {
  background: url("../img/bg_mh.jpg") no-repeat top center;
  background-size: 100%;
  position: relative;
}
@media screen and (max-width:768px) {
  #mh {
    background-size: 300%;
    background-position: top left;
  }
}

#bh {
  position: relative;
  background: url("../img/bg_bh.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #bh {
    background-size: 300%;
  }
}

#re {
  position: relative;
  background: url("../img/bg_re.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #re {
    background-size: 300%;
  }
}

#sf {
  position: relative;
  background: url("../img/bg_sf.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #sf {
    background-size: 300%;
  }
}

#dmc {
  position: relative;
  background: url("../img/bg_dmc.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #dmc {
    background-size: 300%;
  }
}

#rm, #mm {
  position: relative;
  background: url("../img/bg_rm.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #rm, #mm {
    background-size: 300%;
    background-position: top right;
  }
}

#ex {
  position: relative;
  background: url("../img/bg_cl.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #ex {
    background-size: 300%;
    background-position: top left;
  }
}

#cl {
  position: relative;
  background: url("../img/bg_collaboration.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #cl {
    background-size: 300%;
    background-position: top left;
  }
}

#cfc {
  position: relative;
  background: url("../img/bg_cfc.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #cfc {
    background-size: 300%;
  }
}

#aa {
  position: relative;
  background: url("../img/bg_aa.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #aa {
    background-size: 300%;
  }
}

#dd {
  position: relative;
  background: url("../img/bg_dd.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #dd {
    background-size: 300%;
  }
}

#other {
  position: relative;
  background: url("../img/bg_other.jpg") no-repeat top center;
  background-size: 100%;
}
@media screen and (max-width:768px) {
  #other {
    background-size: 300%;
  }
}

#notice {
  background: #000;
  color: #fff;
  padding-bottom: 160px;
}

#link {
  background: #E8E9EE;
}

.p-heading {
  padding: 40px 0;
  color: #fff;
  margin-bottom: 0;
  text-shadow: 0 0 10px #000;
}

.p-title_lead {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 60px;
}
@media screen and (max-width:1400px) {
  .p-title_lead {
    font-size: 1.953125vw;
  }
}
@media screen and (max-width:768px) {
  .p-title_lead {
    font-size: 3.125vw;
  }
}
@media screen and (max-width:480px) {
  .p-title_lead {
    font-size: 1.8rem;
  }
}
.p-title_link {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1000px;
  margin: auto;
}
@media screen and (max-width:768px) {
  .p-title_link {
    flex-wrap: wrap;
  }
}
.p-title_item {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border: 1px solid #eee;
  transition: 0.3s all;
  width: 20%;
  font-size: 4rem;
  text-align: center;
}
.p-title_item img {
  width: 100%;
}
.p-title_item.red {
  background: #c80000;
}
.p-title_item .new_balloon {
  position: absolute;
  top: -18px;
  background: #ffeb3b;
  color: #c80000;
  font-size: 1.4rem;
  padding: 2px 8px;
  margin-bottom: 4px;
}
.p-title_item .new_balloon:before {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 50%;
  margin-left: -8px;
  border: 8px solid transparent;
  border-top: 8px solid #ffeb3b;
  z-index: 0;
}
@media screen and (max-width:768px) {
  .p-title_item .new_balloon {
    font-size: 1.2rem;
  }
}
.p-title_item:hover {
  background: #004098;
}
.p-title_item.update:before {
  content: "UPDATE";
  position: absolute;
  top: 0;
  left: 0;
  background: orange;
  color: #fff;
  font-size: 1rem;
  padding: 2px 8px;
  pointer-events: none;
}
.p-title_item.new:before {
  content: "NEW";
  position: absolute;
  top: 0;
  left: 0;
  background: #c80000;
  color: #fff;
  font-size: 1rem;
  padding: 2px 8px;
  pointer-events: none;
}
@media screen and (max-width:768px) {
  .p-title_item {
    width: 33.333%;
    font-size: 2.4rem;
  }
  .p-title_item span {
    font-size: 1rem;
  }
}

.p-box {
  position: relative;
  display: flex;
  padding: 4% 2%;
  /* ラジオボタンを非表示に */
  /* ラジオボタンを非表示に */
}
.p-box label {
  background: #010c12;
  cursor: pointer;
  transition: 0.3s all;
}
.p-box label:hover {
  background: #004098;
}
.p-box label a {
  color: #fff;
}
@media screen and (max-width:768px) {
  .p-box {
    padding: 4% 0;
    flex-direction: column;
  }
}
.p-box [value=All]:checked ~ .p-lineup [data-category] {
  display: block;
}
.p-box [value=tshirt]:checked ~ .p-lineup .p-lineup_item:not([data-category~=tshirt]),
.p-box [value=longT]:checked ~ .p-lineup .p-lineup_item:not([data-category~=longT]),
.p-box [value=sweat]:checked ~ .p-lineup .p-lineup_item:not([data-category~=sweat]),
.p-box [value=hoodie]:checked ~ .p-lineup .p-lineup_item:not([data-category~=hoodie]),
.p-box [value=other]:checked ~ .p-lineup .p-lineup_item:not([data-category~=other]) {
  display: none;
}
.p-box input[type=radio] {
  display: none;
}
.p-box [value=all]:checked ~ .p-box_side .p-filter .p-filter_btn.all,
.p-box [value=tshirt]:checked ~ .p-box_side .p-filter .p-filter_btn.tshirt,
.p-box [value=longT]:checked ~ .p-box_side .p-filter .p-filter_btn.longT,
.p-box [value=sweat]:checked ~ .p-box_side .p-filter .p-filter_btn.sweat,
.p-box [value=hoodie]:checked ~ .p-box_side .p-filter .p-filter_btn.hoodie,
.p-box [value=other]:checked ~ .p-box_side .p-filter .p-filter_btn.other {
  background: #004098;
}
.p-box_side {
  width: 20%;
  margin-right: 32px;
}
.p-box_side_heading {
  line-height: 1.2;
  margin-bottom: 16px;
}
.p-box_side_heading span {
  display: block;
  font-size: 50%;
}
@media screen and (max-width:1400px) {
  .p-box_side {
    width: 30%;
  }
}
@media screen and (max-width:768px) {
  .p-box_side {
    width: 100%;
    margin-right: 0;
  }
}

.p-logo {
  justify-content: space-between;
  margin-bottom: 24px;
}
.p-logo_item {
  width: 45%;
}
.p-logo img {
  width: 100%;
}

.p-filter {
  margin-bottom: 24px;
  position: sticky;
  top: 110px;
  left: 0;
}
.p-filter_btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  height: 100%;
  width: 100%;
  font-size: 1.8rem;
  color: #fff;
  padding: 10px 5px 10px 60px;
  min-height: 80px;
}
.p-filter_btn span {
  display: block;
  font-size: 70%;
}
.p-filter_btn:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-size: contain;
}
.p-filter_btn.tshirt:before {
  background: url(../img/icon_tshirts.png) no-repeat;
  background-size: contain;
}
.p-filter_btn.longT:before {
  background: url(../img/icon_longT.png) no-repeat;
  background-size: contain;
}
.p-filter_btn.sweat:before {
  background: url(../img/icon_sweat.png) no-repeat;
  background-size: contain;
}
.p-filter_btn.hoodie:before {
  background: url(../img/icon_hoodie.png) no-repeat;
  background-size: contain;
}
.p-filter_btn.other:before {
  background: url(../img/icon_other.png) no-repeat;
  background-size: contain;
}
.p-filter_btn.nonactive {
  pointer-events: none;
  background: #ddd;
}
@media screen and (max-width:768px) {
  .p-filter {
    position: static;
    display: flex;
    flex-wrap: wrap;
  }
  .p-filter li {
    width: 33.333%;
  }
  .p-filter_btn {
    font-size: 1.2rem;
  }
}
@media screen and (max-width:480px) {
  .p-filter li {
    width: 50%;
  }
}

.p-lineup {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 80%;
}
.p-lineup_item {
  position: relative;
  width: 25%;
  margin: 0 0 16px 0;
  padding: 16px;
  transition: 0.2s all;
}
.p-lineup_item:hover {
  background: #E8E9EE;
}
.p-lineup_item:hover .p-lineup_btn {
  background: #004098;
}
.p-lineup_item.new:before {
  content: "NEW";
  position: absolute;
  top: 0;
  left: 0;
  background: #c80000;
  color: #fff;
  font-size: 1rem;
  padding: 2px 8px;
}
.p-lineup_img {
  margin-bottom: 16px;
}
.p-lineup_img img {
  width: 100%;
}
.p-lineup_name {
  font-size: 1.4rem;
  margin-bottom: 16px;
  min-height: 100px;
  word-break: keep-all;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.p-lineup_name small {
  display: inline-block;
  font-size: 70%;
  word-break: normal;
  line-height: 2;
}
.p-lineup_btn {
  position: relative;
  width: 100%;
  background: #010c12;
  text-align: center;
  padding: 8px;
}
.p-lineup_btn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  background: url(../img/icon_gaibu.png) no-repeat;
  background-size: contain;
  width: 20px;
  height: 18px;
}
.p-lineup_link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width:1400px) {
  .p-lineup {
    width: 70%;
  }
  .p-lineup_item {
    width: 33.333%;
  }
}
@media screen and (max-width:1024px) {
  .p-lineup_item {
    width: 50%;
  }
}
@media screen and (max-width:768px) {
  .p-lineup {
    width: 100%;
  }
  .p-lineup_item {
    width: 50%;
    margin: 0 0 8px 0;
  }
  .p-lineup_name {
    font-size: 1.4rem;
    min-height: 80px;
  }
  .p-lineup_btn:before {
    width: 16px;
    height: 12px;
  }
}

.p-notice li {
  list-style: disc;
  list-style-position: inside;
}
.p-notice li:not(:last-child) {
  margin-bottom: 16px;
}

.p-link {
  display: flex;
  flex-wrap: wrap;
}
.p-link_item {
  width: calc(50% - 15px);
  margin-right: 30px;
}
.p-link_item:nth-child(even) {
  margin-right: 0;
}
.p-link_item img {
  width: 100%;
}
@media screen and (max-width:480px) {
  .p-link {
    flex-direction: column;
  }
  .p-link_item {
    width: 100%;
    margin: 0 0 24px;
  }
  .p-link_item:last-child {
    margin-bottom: 0;
  }
}

.p-pageTop a:after {
  color: #004098;
}

/*
--------------------------------------------------
  globalPage
--------------------------------------------------
*/
.p-global {
  display: flex;
  flex-wrap: wrap;
}
.p-global_country {
  box-shadow: 0 0 16px #ddd;
  position: relative;
  padding: 3%;
  width: calc(33.333% - 32px);
  margin-right: 48px;
  margin-bottom: 48px;
  transition: 0.3s all;
  border-top: solid #004098 8px;
}
.p-global_country:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width:1400px) {
  .p-global_country {
    width: calc(33.333% - 24px);
    margin-right: 32px;
  }
}
@media screen and (max-width:1024px) {
  .p-global_country {
    width: calc(50% - 16px);
    margin-right: 32px;
    padding: 5%;
  }
  .p-global_country:nth-child(2n) {
    margin-right: 0;
  }
  .p-global_country:nth-child(odd) {
    margin-right: 32px;
  }
}
@media screen and (max-width:768px) {
  .p-global_country {
    width: 100%;
    margin-right: 0;
    padding: 6%;
  }
  .p-global_country:nth-child(2n) {
    margin-right: 0;
  }
  .p-global_country:nth-child(odd) {
    margin-right: 0;
  }
}
@media screen and (max-width:480px) {
  .p-global_country {
    padding: 10% 8%;
  }
}
.p-global_country h2 {
  font-weight: 800;
  font-size: 2.8rem;
  margin-bottom: 24px;
  line-height: 1.6;
  min-height: 180px;
}
@media screen and (max-width:1400px) {
  .p-global_country h2 {
    font-size: 2.34375vw;
    min-height: 23.4375vw;
  }
}
@media screen and (max-width:1024px) {
  .p-global_country h2 {
    min-height: 11.71875vw;
  }
}
@media screen and (max-width:768px) {
  .p-global_country h2 {
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width:480px) {
  .p-global_country h2 {
    font-size: 2.4rem;
  }
}
.p-global_country h3 {
  font-size: 2.4rem;
  text-align: center;
}
@media screen and (max-width:1400px) {
  .p-global_country h3 {
    font-size: 1.953125vw;
  }
}
@media screen and (max-width:768px) {
  .p-global_country h3 {
    font-size: 2.6041666667vw;
  }
}
@media screen and (max-width:480px) {
  .p-global_country h3 {
    font-size: 1.8rem;
  }
}
.p-global_country a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.p-global_country:hover {
  background: #E8E9EE;
  box-shadow: none;
}
.p-global_country:hover .p-europe_btn {
  background: #004098;
}
.p-global_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  background: #010c12;
  text-align: center;
  color: #fff;
  margin-bottom: 24px;
  font-size: 2rem;
  transition: 0.3s all;
  height: 100px;
}
.p-global_btn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  background: url(../img/icon_gaibu.png) no-repeat;
  background-size: contain;
  width: 20px;
  height: 18px;
}
@media screen and (max-width:1400px) {
  .p-global_btn {
    font-size: 1.5625vw;
    height: 7.8125vw;
  }
}
@media screen and (max-width:768px) {
  .p-global_btn {
    font-size: 2.6041666667vw;
    height: 10.4166666667vw;
  }
}
@media screen and (max-width:480px) {
  .p-global_btn {
    font-size: 1.8rem;
    padding: 16px;
    height: 90px;
  }
}
.p-global_btn-samew:before {
  content: none;
}
.p-global_notice ul li {
  list-style: disc;
  list-style-position: inside;
  margin-bottom: 8px;
}