@import url("hover-min.css");
.hvr-sweep-to-right:before {
  background: #e60000;
}

.hvr-sweep-to-right:hover {
  color: #ffffff;
}

.hvr-sweep-to-right:hover a {
  color: #fff;
}

.hvr-sweep-to-right:hover a:visited {
  color: #fff;
}

.hvr-sweep-to-right:hover a:hover {
  color: #fff;
}

.error-404 {
  background-color: #fff;
  height: calc(100vh - 180px);
}

.error-404 .page-content {
  height: 100%;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.error-404 .page-content p {
  font-weight: normal;
}

h2 {
  margin: 0;
}

a {
  text-decoration: none;
}

img {
  -webkit-backface-visibility: hidden;
}

body {
  font-family: "a-otf-midashi-go-mb31-pr6n";
  color: #211D1D;
  font-weight: normal;
}

#main {
  background-color: #211D1D;
}

img {
  height: auto;
  width: 100%;
}

header {
  font-family: "runda";
}

.luxbar-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.luxbar-item a {
  font-weight: bold;
  font-size: 0.875rem;
}

.luxbar-brand {
  content: '';
  width: 25px;
  height: 25px;
  display: block;
  background: url(../img/header_logo.png) no-repeat center center;
  background-size: contain;
}

.text_en {
  font-family: "runda";
}

.red {
  color: #e60000;
}

.white {
  color: #ffffff;
}

.black {
  color: #211D1D;
}

.white_bg {
  background-color: #ffffff;
}

.red_bg {
  background-color: #e60000;
}

.black_bg {
  background-color: #000000;
}

.bg {
  position: relative;
  line-height: 0;
}

.bg img {
  -o-object-fit: cover;
     object-fit: cover;
}

.stage.stage-left {
  width: calc(100% - 110px);
  margin-right: auto;
}

.stage.stage-center {
  margin: auto;
  width: calc(100% - 220px);
}

.stage.stage-right {
  margin-left: auto;
  width: calc(100% - 110px);
}

.b_r_bg {
  background: -webkit-gradient(linear, left top, right top, from(#000), color-stop(50%, #000), color-stop(50%, #e60000), to(#e60000));
  background: -o-linear-gradient(left, #000 0%, #000 50%, #e60000 50%, #e60000 100%);
  background: linear-gradient(90deg, #000 0%, #000 50%, #e60000 50%, #e60000 100%);
}

.r_b_bg {
  background: -webkit-gradient(linear, left top, right top, from(#e60000), color-stop(50%, #e60000), color-stop(50%, #000), to(#000));
  background: -o-linear-gradient(left, #e60000 0%, #e60000 50%, #000 50%, #000 100%);
  background: linear-gradient(90deg, #e60000 0%, #e60000 50%, #000 50%, #000 100%);
}

.w_r_bg {
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, #fff), color-stop(50%, #e60000), to(#e60000));
  background: -o-linear-gradient(left, #fff 0%, #fff 50%, #e60000 50%, #e60000 100%);
  background: linear-gradient(90deg, #fff 0%, #fff 50%, #e60000 50%, #e60000 100%);
}

.w_b_bg {
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, #fff), color-stop(50%, #000), to(#000));
  background: -o-linear-gradient(left, #fff 0%, #fff 50%, #000 50%, #000 100%);
  background: linear-gradient(90deg, #fff 0%, #fff 50%, #000 50%, #000 100%);
}

.go_top, #footer_menu li a, #luxbar li a, .transparent_lnk {
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}

.go_top:hover, #footer_menu li a:hover, #luxbar li a:hover, .transparent_lnk:hover {
  opacity: 0.5;
}

.button_wrap {
  margin-top: 4rem;
  position: relative;
  border: none !important;
  height: auto !important;
  padding: 0 !important;
}

.button_wrap:after {
  position: absolute;
  right: 33%;
  bottom: 1rem;
  content: '';
  display: inline-block;
  width: 5rem;
  height: 15px;
  background: url(../img/arrow_w.png) no-repeat center center;
  background-size: contain;
}

.button_wrap:disabled {
  cursor: unset;
}

.comming_soon {
  position: relative;
}

.comming_soon:before {
  position: absolute;
  content: '';
  display: inline-block;
  width: 12rem;
  left: -2rem;
  top: -1rem;
  height: 2rem;
  background: url(../img/comming_soon.png) no-repeat center center;
  background-size: contain;
}

.title_mask_animate {
  position: relative;
  z-index: 3;
  padding: 0 0 18px 0;
}

.title_mask_animate div {
  line-height: 1;
  display: inline-block;
  position: relative;
  overflow: hidden;
}

.title_mask_animate span {
  height: 20px;
  opacity: 0;
  -webkit-transition: visibility 0s;
  -o-transition: visibility 0s;
  transition: visibility 0s;
  position: relative;
  z-index: 4;
  padding: 0.5rem;
}

.title_mask_animate p {
  opacity: 0;
  padding: 0.5rem;
  -webkit-transition: visibility 0s;
  -o-transition: visibility 0s;
  transition: visibility 0s;
  position: relative;
  z-index: 4;
}

.title_mask_animate div:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #df0013;
  -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
          transform: scaleX(0);
}

.title_mask_animate.white_mask div:after {
  background: #ffffff;
}

.title_mask_animate.red_mask div:after {
  background: #e60000;
}

.title_mask_animate.black_mask div:after {
  background: #211D1D;
}

.title_mask_animate.is-show span, .title_mask_animate.is-show p {
  -webkit-animation: common_title_mask2 0.6s;
          animation: common_title_mask2 0.6s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.title_mask_animate.is-show div:after {
  -webkit-animation: common_title_mask 0.6s;
          animation: common_title_mask 0.6s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.left_slide_animate {
  margin: auto;
  -webkit-transform: translate(50px, 0);
      -ms-transform: translate(50px, 0);
          transform: translate(50px, 0);
  opacity: 0;
}

.left_slide_animate.is-show {
  -webkit-transition-duration: 1.5s;
       -o-transition-duration: 1.5s;
          transition-duration: 1.5s;
  visibility: inherit;
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
      -ms-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
}

p {
  margin: 0;
}

.wrap {
  width: 870px;
  margin: auto;
}

.wrap h2 {
  font-size: 2rem;
}

.lerge_title {
  font-size: 6.125rem;
  font-weight: bold;
  line-height: 7rem;
}

#area-main > section {
  position: relative;
}

.splash {
  width: 100vw;
  height: 100vh;
  background-color: #e60000;
  position: fixed;
  bottom: 0;
  z-index: 1;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

footer {
  width: 100%;
  height: 180px;
  padding-top: 1rem;
  background-color: #000000;
}

footer .wrap {
  width: 943px;
  height: 100%;
  position: relative;
}

footer a {
  color: #fff;
}

footer a:visited {
  color: #fff;
}

footer a:hover {
  color: #fff;
}

footer #footer_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  margin: 0;
}

footer #footer_menu > li {
  font-weight: bold;
  font-size: 0.875rem;
  width: auto;
  font-family: "runda";
}

footer #footer_menu > li:nth-child(n+2) {
  margin-left: 2rem;
}

footer #footer_menu > li:last-child {
  border-left: 2px solid #fff;
  margin-left: 1.5rem;
  padding-left: 1.5rem;
}

footer .go_top {
  width: 3%;
  position: absolute;
  right: -1rem;
  top: 0;
}

footer .copyright {
  font-size: 0.875rem;
  font-weight: bold;
  color: #fff;
  position: absolute;
  left: 0;
  bottom: 1rem;
  letter-spacing: 2px;
  font-family: "neue-haas-grotesk-display";
}

.grad-wrap {
  position: relative;
}

.grad-wrap + .grad-wrap {
  margin-top: 40px;
}

.grad-trigger {
  position: absolute;
  bottom: -3rem;
  width: 30%;
  left: 33%;
}

.grad-item {
  position: relative;
  overflow: hidden;
}

.grad-item.is-hide.visinle-row-1 {
  height: 1.3rem;
}

.grad-item.is-hide.visinle-row-2 {
  height: 2.8rem;
}

.grad-item p + p {
  margin-top: 1em;
}

.grad-item:before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 40px;
}

.grad-trigger.is-show + .grad-item::before {
  display: none;
}

.grad-trigger {
  position: absolute;
  bottom: -3rem;
  width: 30%;
  left: 33%;
}

.grad-trigger:before {
  content: '';
  display: inline-block;
  width: 100%;
  height: 2rem;
  background: url(../img/more_b.png) no-repeat center center;
  background-size: contain;
}

.grad-trigger.grad-trigger-r:before {
  content: '';
  display: inline-block;
  width: 100%;
  height: 2rem;
  background: url(../img/more_r.png) no-repeat center center;
  background-size: contain;
}

.next.page-numbers, .prev.page-numbers {
  width: 10px;
  display: block;
}

.wp-pagenavi {
  font-size: 1.375rem;
  font-weight: bold;
  font-family: "runda";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.page-numbers {
  width: 1.2rem;
  text-align: center;
  margin: 0 1rem;
  border-bottom: 2px solid #fff;
  color: #000;
}

.page-numbers:visited {
  color: #000;
}

.page-numbers:hover {
  color: #000;
}

.page-numbers.current {
  border-bottom: 2px solid #000;
}

@media screen and (max-width: 767px) {
  .luxbar-header {
    padding-left: 3%;
  }
  .luxbar-menu-material-red .luxbar-hamburger span {
    background-color: transparent;
  }
  .luxbar-hamburger span::before {
    margin-top: -4px;
  }
  .luxbar-hamburger span::after {
    margin-top: 5px;
  }
  .luxbar-checkbox:checked ~ .luxbar-menu .luxbar-header {
    background-color: #fff;
  }
  .luxbar-checkbox:checked ~ .luxbar-menu .luxbar-hamburger-doublespin span:before, .luxbar-checkbox:checked ~ .luxbar-menu .luxbar-hamburger-doublespin span:after {
    background-color: #e60000;
  }
  .luxbar-checkbox:checked ~ .luxbar-menu .luxbar-brand {
    content: '';
    width: 25px;
    height: 25px;
    display: block;
    background: url(../img/header_logo_r.png) no-repeat center center;
    background-size: contain;
  }
  #luxbar > li:nth-child(2) {
    margin-top: 29vh;
  }
  #luxbar > li:nth-child(n+3) {
    margin-top: 3vh;
  }
  #luxbar > li a {
    font-size: 1.375rem;
  }
  .title {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.125;
  }
  .wrap {
    width: 90% !important;
  }
  .wrap h2 {
    font-size: 1.44rem;
  }
  .wrap-sp {
    width: 90% !important;
  }
  .b_r_bg {
    background: -webkit-gradient(linear, left top, right top, from(#000), color-stop(50%, #000), color-stop(50%, #e60000), to(#e60000));
    background: -o-linear-gradient(left, #000 0%, #000 50%, #e60000 50%, #e60000 100%);
    background: linear-gradient(90deg, #000 0%, #000 50%, #e60000 50%, #e60000 100%);
  }
  .b_r_bg_sp {
    background: -webkit-gradient(linear, left top, right top, from(#000), color-stop(50%, #000), color-stop(50%, #e60000), to(#e60000));
    background: -o-linear-gradient(left, #000 0%, #000 50%, #e60000 50%, #e60000 100%);
    background: linear-gradient(90deg, #000 0%, #000 50%, #e60000 50%, #e60000 100%);
  }
  .b_w_bg_sp {
    background: -webkit-gradient(linear, left top, right top, from(#000), color-stop(50%, #000), color-stop(50%, #fff), to(#fff));
    background: -o-linear-gradient(left, #000 0%, #000 50%, #fff 50%, #fff 100%);
    background: linear-gradient(90deg, #000 0%, #000 50%, #fff 50%, #fff 100%);
  }
  .r_w_bg_sp {
    background: -webkit-gradient(linear, left top, right top, from(#e60000), color-stop(50%, #e60000), color-stop(50%, #fff), to(#fff));
    background: -o-linear-gradient(left, #e60000 0%, #e60000 50%, #fff 50%, #fff 100%);
    background: linear-gradient(90deg, #e60000 0%, #e60000 50%, #fff 50%, #fff 100%);
  }
  .r_b_bg_sp {
    background: -webkit-gradient(linear, left top, right top, from(#e60000), color-stop(50%, #e60000), color-stop(50%, #000), to(#000));
    background: -o-linear-gradient(left, #e60000 0%, #e60000 50%, #000 50%, #000 100%);
    background: linear-gradient(90deg, #e60000 0%, #e60000 50%, #000 50%, #000 100%);
  }
  .r_bg_sp {
    background: #e60000;
  }
  .w_r_bg {
    background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, #fff), color-stop(50%, #e60000), to(#e60000));
    background: -o-linear-gradient(left, #fff 0%, #fff 50%, #e60000 50%, #e60000 100%);
    background: linear-gradient(90deg, #fff 0%, #fff 50%, #e60000 50%, #e60000 100%);
  }
  .w_bg_sp {
    background: #fff;
  }
  .black_bg_sp {
    background-color: #000000;
  }
  .white_sp {
    color: #fff;
  }
  .stage.stage-left {
    width: 100%;
    margin-right: auto;
  }
  .stage.stage-center {
    margin: auto;
    width: 100%;
  }
  .stage.stage-right {
    margin-left: auto;
    width: 100%;
  }
  .stage.stage-center-sp {
    margin: auto;
    width: calc(100% - 20px);
  }
  .stage.stage-left-sp {
    width: calc(100% - 10px);
    margin-right: auto;
    margin-left: 0;
  }
  .stage.stage-right-sp {
    width: calc(100% - 10px);
    margin-right: 0;
    margin-left: auto;
  }
  h2.title_mask_animate {
    font-weight: bold;
  }
  footer {
    width: 100%;
    height: auto;
    padding-top: 1rem;
  }
  footer a {
    color: #fff;
  }
  footer a:visited {
    color: #fff;
  }
  footer a:hover {
    color: #fff;
  }
  footer #footer_menu {
    width: 70%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0;
    margin: 0;
    line-height: 1.5rem;
  }
  footer #footer_menu > li {
    font-weight: bold;
    width: auto;
    font-family: "runda";
  }
  footer #footer_menu > li:nth-child(n+2) {
    margin-left: 0;
  }
  footer #footer_menu > li:nth-child(2), footer #footer_menu > li:nth-child(3), footer #footer_menu > li:nth-child(5) {
    margin-left: 5%;
  }
  footer #footer_menu > li:last-child {
    width: 100%;
    border-left: none;
    border-top: 2px solid #fff;
    margin-left: 0;
    padding-left: 0;
    margin-top: 0.6rem;
    padding-top: 0.5rem;
  }
  footer .go_top {
    width: 10%;
    position: absolute;
    right: 0;
    top: 8%;
  }
  footer .copyright {
    font-size: 0.875rem;
    font-weight: bold;
    color: #fff;
    position: static;
    margin-top: 2rem;
    left: 0;
    bottom: 1rem;
    letter-spacing: 2px;
    font-family: "neue-haas-grotesk-display";
  }
}

@media screen and (min-width: 768px) {
  .luxbar-navigation {
    padding-right: 9%;
  }
  .luxbar-menu-right .luxbar-header {
    margin-right: auto;
    margin-left: 12%;
  }
}

@-webkit-keyframes common_title_mask {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
}

@keyframes common_title_mask {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
}

@-webkit-keyframes common_title_mask2 {
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes common_title_mask2 {
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.scroll_icon {
  position: absolute;
  top: unset;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  margin: auto;
  height: 57px;
}

.scroll_icon a {
  color: #e60000;
  font-size: 0.875rem;
  font-weight: bold;
}

.scroll_icon a:visited {
  color: #e60000;
}

.scroll_icon a:hover {
  color: #e60000;
}

.scroll_icon > div {
  position: absolute;
  top: unset;
  bottom: 0;
  left: 0;
  right: 0;
  width: 1px;
  height: 31px;
  margin: auto;
  overflow: hidden;
}

.scroll_icon > div:before {
  content: '';
  display: block;
  background-color: #e60000;
  position: absolute;
  top: 0;
  bottom: unset;
  left: 0;
  right: 0;
  width: 1px;
  height: 31px;
  -webkit-animation: sdb 2s infinite;
          animation: sdb 2s infinite;
}

@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, -31px);
            transform: translate(0, -31px);
  }
  100% {
    -webkit-transform: translate(0, 31px);
            transform: translate(0, 31px);
  }
}

@keyframes sdb {
  0% {
    -webkit-transform: translate(0, -31px);
            transform: translate(0, -31px);
  }
  100% {
    -webkit-transform: translate(0, 31px);
            transform: translate(0, 31px);
  }
}

.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
}

.loader {
  color: #ffffff;
  font-size: 11px;
  text-indent: -99999em;
  margin: 55px auto;
  position: relative;
  width: 10em;
  height: 10em;
  -webkit-box-shadow: inset 0 0 0 1em;
          box-shadow: inset 0 0 0 1em;
  -webkit-transform: translateZ(0) scale(0.5);
          transform: translateZ(0) scale(0.5);
}

.loader:before,
.loader:after {
  position: absolute;
  content: '';
}

.loader:before {
  width: 5.2em;
  height: 10.2em;
  background: #e60000;
  border-radius: 10.2em 0 0 10.2em;
  top: -0.1em;
  left: -0.1em;
  -webkit-transform-origin: 5.2em 5.1em;
      -ms-transform-origin: 5.2em 5.1em;
          transform-origin: 5.2em 5.1em;
  -webkit-animation: load2 2s infinite ease 1.5s;
          animation: load2 2s infinite ease 1.5s;
}

.loader:after {
  width: 5.2em;
  height: 10.2em;
  background: #e60000;
  border-radius: 0 10.2em 10.2em 0;
  top: -0.1em;
  left: 5.1em;
  -webkit-transform-origin: 0px 5.1em;
      -ms-transform-origin: 0px 5.1em;
          transform-origin: 0px 5.1em;
  -webkit-animation: load2 2s infinite ease;
          animation: load2 2s infinite ease;
}

@-webkit-keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.category.text_en {
  font-weight: bold;
}

@-webkit-keyframes onAutoFillStart {
  from {
  }
  to {
  }
}

@keyframes onAutoFillStart {
  from {
  }
  to {
  }
}

_:-ms-lang(x), #luxbar {
  -ms-flex-pack: start;
      justify-content: flex-start;
}
