@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=roboto:wght@400;500;700=Noto+Sans+JP&display=swap");
html {
  overflow-x: hidden;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
}

body {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  position: relative;
  min-height: -webkit-fill-available;
  line-height: 1.6;
  color: #000000;
  overflow: hidden;
  font-style: normal;
  font-size: 1.6rem;
  font-family: "roboto", "Noto Sans JP", sans-serif;
  letter-spacing: 0.025em;
}
body.is-touch a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}

img {
  width: 100%;
  image-rendering: -webkit-optimize-contrast;
  -webkit-backface-visibility: hidden;
}

p {
  line-height: 2;
}

a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a.text-link {
  position: relative;
  display: inline-block;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-decoration: none;
}
a.text-link:after {
  position: absolute;
  top: auto;
  right: auto;
  bottom: -2px;
  left: 0;
  opacity: 1;
  filter: alpha(opacity=100);
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  visibility: visible;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a.text-link:hover:after {
  opacity: 0;
  filter: alpha(opacity=0);
  visibility: hidden;
}

.cars-and-the-future {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}
.cars-and-the-future .page-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.cars-and-the-future .page-bg.page-bg--a {
  opacity: 0.25;
  filter: alpha(opacity=25);
}

#star-particle {
  width: 100%;
  height: 100%;
}

.page-title {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 11;
}
.page-title .page-title__wrapper {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20vw;
  height: 4vw;
  margin: 0;
}
.page-title .page-title__wrapper:before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: 0;
  -webkit-transform: skew(-30deg);
  transform: skew(-30deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  -webkit-box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.2);
  box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.2);
}
.page-title .page-title__wrapper .page-title__logo {
  width: 14.375vw;
  margin: 0 0 0 -1.75vw;
  z-index: 1;
}

.site-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin: 10vw 0 0 0;
  padding: 2.5vw 0;
  z-index: 10;
}
.site-footer .misc {
  padding-left: 2.5vw;
}
.site-footer .misc .link {
  display: inline-block;
  color: #000000;
  text-decoration: none;
}
.site-footer .misc .link + .link {
  margin-left: 2.5vw;
}
.site-footer .misc .link:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.site-footer .copyright {
  padding-right: 2.5vw;
  line-height: 1;
  font-weight: 400;
}

.icon-blank {
  display: inline-block;
  width: 0.8vw;
  height: 0.8vw;
  margin-left: 0.5em;
}

.page-section {
  width: 100%;
  padding: 10vw 0 0;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.3rem;
}

p, dl {
  letter-spacing: 0.1em;
}

.is-pc {
  display: block;
}

.is-tb {
  display: none;
}

.is-pc-tb {
  display: block;
}

.is-tb-sp {
  display: none;
}

.is-sp {
  display: none;
}

@media screen and (max-width: 1024px) {
  .is-pc {
    display: none;
  }
  .is-tb {
    display: block;
  }
  .is-pc-tb {
    display: block;
  }
  .is-tb-sp {
    display: block;
  }
  .is-sp {
    display: none;
  }
  .is-tb {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 800px) {
  .is-pc {
    display: none;
  }
  .is-tb {
    display: block;
  }
  .is-pc-tb {
    display: block;
  }
  .is-tb-sp {
    display: block;
  }
  .is-sp {
    display: none;
  }
  .is-tb {
    display: block;
  }
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .is-pc {
    display: none;
  }
  .is-tb {
    display: none;
  }
  .is-pc-tb {
    display: none;
  }
  .is-tb-sp {
    display: block;
  }
  .is-sp {
    display: block;
  }
  .is-tb {
    display: none;
  }
  .page-title .page-title__wrapper {
    width: 60vw;
    height: 15vw;
  }
  .page-title .page-title__wrapper .page-title__logo {
    width: 40vw;
    margin: 0 0 0 -7.5vw;
  }
  .site-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 30vw 0 0 0;
    padding: 0 0 10vw;
  }
  .site-footer .misc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 80vw;
    padding-left: 0;
  }
  .site-footer .misc .link + .link {
    margin-left: 0;
  }
  .site-footer .copyright {
    padding-right: 0;
    text-align: center;
    line-height: 1.6;
    margin-top: 10vw;
  }
  .icon-blank {
    width: 3vw;
    height: 3vw;
    margin-left: 0.25em;
  }
  .page-section {
    padding: 10vw 0 0;
  }
}
.iv-item {
  -webkit-transform: translate(-9vw, -3vw) scale(1.25) skew(-30deg);
  transform: translate(-9vw, -3vw) scale(1.25) skew(-30deg);
  -webkit-clip-path: polygon(0 0, 0 0, 0 0);
  clip-path: polygon(0 0, 0 0, 0 0);
  -webkit-transition: all 1.25s ease-out;
  transition: all 1.25s ease-out;
}
.iv-item.is-inview {
  -webkit-transform: translate(0, 0) scale(1) skew(0);
  transform: translate(0, 0) scale(1) skew(0);
  -webkit-clip-path: polygon(0 0, 200% 0, 0 200%);
  clip-path: polygon(0 0, 200% 0, 0 200%);
}

.site-slogan__typo-top .site-slogan__typo-item {
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.site-slogan__typo-top .site-slogan__typo-item.iv-item:nth-of-type(1) {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.site-slogan__typo-top .site-slogan__typo-item.iv-item:nth-of-type(2) {
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}

.site-slogan__typo-middle .site-slogan__typo-item {
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.site-slogan__typo-middle .site-slogan__typo-item.iv-item:nth-of-type(1) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.site-slogan__typo-middle .site-slogan__typo-item.iv-item:nth-of-type(2) {
  -webkit-transition-delay: 0.75s;
          transition-delay: 0.75s;
}
.site-slogan__typo-middle .site-slogan__typo-item.iv-item:nth-of-type(3) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.site-slogan__typo-bottom .site-slogan__typo-item {
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.site-slogan__typo-bottom .site-slogan__typo-item.iv-item:nth-of-type(1) {
  -webkit-transition-delay: 1.25s;
          transition-delay: 1.25s;
}

.site-slogan__jp {
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.site-slogan__jp.iv-item {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.intro-lead-text__inner.iv-item {
  -webkit-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
}
.intro-lead-text__inner.iv-item:nth-of-type(1) {
  -webkit-transition-delay: 1.75s;
          transition-delay: 1.75s;
}
.intro-lead-text__inner.iv-item:nth-of-type(2) {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}
.intro-lead-text__inner.iv-item:nth-of-type(3) {
  -webkit-transition-delay: 2.25s;
          transition-delay: 2.25s;
}
.intro-lead-text__inner.iv-item:nth-of-type(4) {
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}
.intro-lead-text__inner.iv-item:nth-of-type(5) {
  -webkit-transition-delay: 2.75s;
          transition-delay: 2.75s;
}
.intro-lead-text__inner.iv-item:nth-of-type(6) {
  -webkit-transition-delay: 3s;
          transition-delay: 3s;
}
.intro-lead-text__inner.iv-item:nth-of-type(7) {
  -webkit-transition-delay: 3.25s;
          transition-delay: 3.25s;
}

.intro-illust.iv-item {
  -webkit-transform: translate(0, 1.5vw);
  transform: translate(0, 1.5vw);
  -webkit-transition-delay: 3.5s;
          transition-delay: 3.5s;
}
.intro-illust.iv-item.is-inview {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.slash__large, .slash__middle, .slash__narrow {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: 35vw;
  height: 30vw;
  margin: 0;
  z-index: 10;
}
.slash__large:before, .slash__middle:before, .slash__narrow:before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0;
  background-color: #000000;
  z-index: -1;
  -webkit-transform: skew(-30deg);
  transform: skew(-30deg);
}
.slash__large.is-inview:before, .slash__middle.is-inview:before, .slash__narrow.is-inview:before {
  -webkit-animation: slash_a 1s forwards;
          animation: slash_a 1s forwards;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
@-webkit-keyframes slash_a {
  0% {
    height: 0;
  }
  80% {
    height: 100%;
  }
  100% {
    height: 100%;
  }
}
@keyframes slash_a {
  0% {
    height: 0;
  }
  80% {
    height: 100%;
  }
  100% {
    height: 100%;
  }
}
.slash__large-black, .slash__middle-black, .slash__narrow-black {
  position: absolute;
  top: -7.5vw;
  right: auto;
  bottom: auto;
  left: -17.5vw;
}
.slash__large-red, .slash__middle-red, .slash__narrow-red {
  position: absolute;
  top: auto;
  right: 10vw;
  bottom: -7.5vw;
  left: auto;
}

.slash__middle, .slash__narrow {
  width: 17.5vw;
  height: 15vw;
}
.slash__middle:before, .slash__narrow:before {
  background-color: #e60012;
}
.slash__middle-black, .slash__narrow-black {
  position: absolute;
  top: auto;
  right: 10vw;
  bottom: -7.5vw;
  left: auto;
}
.slash__middle-black:before, .slash__narrow-black:before {
  background-color: #000000;
}

.slash__narrow {
  position: absolute;
  top: -7.5vw;
  right: auto;
  bottom: auto;
  left: 10vw;
  width: 1.5vw;
  height: 15vw;
}

.page-section__lead {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: 60vw;
  margin: 7.5vw auto 0;
}
.page-section__lead:before {
  position: absolute;
  top: -2.5vw;
  right: auto;
  bottom: auto;
  left: -5vw;
  content: "";
  display: block;
  width: 1px;
  height: 0;
  background-color: #000000;
  -webkit-transform: skew(-30deg);
  transform: skew(-30deg);
}
.page-section__lead.is-inview:before {
  -webkit-animation: slash_b 1s forwards;
          animation: slash_b 1s forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
@-webkit-keyframes slash_b {
  0% {
    height: 0;
  }
  80% {
    height: 10vw;
  }
  100% {
    height: 10vw;
  }
}
@keyframes slash_b {
  0% {
    height: 0;
  }
  80% {
    height: 10vw;
  }
  100% {
    height: 10vw;
  }
}

.page-section__title-number.iv-item {
  -webkit-transform: translate(0, 2vw);
  transform: translate(0, 2vw);
}
.page-section__title-number.iv-item.is-inview {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.page-section__title-text__en.iv-item {
  -webkit-transform: translate(0.5vw, -1.5vw);
  transform: translate(0.5vw, -1.5vw);
}
.page-section__title-text__en.iv-item.is-inview {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.page-section__text.iv-item {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .intro-lead-text__inner.iv-item:nth-of-type(1) {
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
  }
  .intro-lead-text__inner.iv-item:nth-of-type(2) {
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
  }
  .intro-lead-text__inner.iv-item:nth-of-type(3) {
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
  }
  .intro-lead-text__inner.iv-item:nth-of-type(4) {
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
  }
  .intro-lead-text__inner.iv-item:nth-of-type(5) {
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
  }
  .intro-lead-text__inner.iv-item:nth-of-type(6) {
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
  }
  .intro-lead-text__inner.iv-item:nth-of-type(7) {
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
  }
  .intro-illust.iv-item {
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
  }
  .page-section__lead {
    width: 80vw;
    margin: 5vw auto 0;
  }
  .page-section__lead:before {
    position: absolute;
    top: -2.5vw;
    right: auto;
    bottom: auto;
    left: -5vw;
    content: "";
    width: 1px;
    height: 0;
  }
  .page-section__lead.is-inview:before {
    -webkit-animation: slash_c 1s forwards;
            animation: slash_c 1s forwards;
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
  }
  @-webkit-keyframes slash_c {
    0% {
      height: 0;
    }
    80% {
      height: 20vw;
    }
    100% {
      height: 20vw;
    }
  }
  @keyframes slash_c {
    0% {
      height: 0;
    }
    80% {
      height: 20vw;
    }
    100% {
      height: 20vw;
    }
  }
}
.lead-text {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  line-height: 2;
  letter-spacing: 0.2rem;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.vertical_text {
  -webkit-font-feature-settings: "normal";
  font-feature-settings: "normal";
}

.note {
  display: block;
  line-height: 1.6;
  letter-spacing: 0.2rem;
}

.fs12, .fs12 * {
  font-size: 0.75vw;
}

.fs14, .fs14 * {
  font-size: 0.875vw;
}

.fs16, .fs16 * {
  font-size: 1vw;
}

.fs18, .fs18 * {
  font-size: 1.2vw;
}

.fs20, .fs20 * {
  font-size: 1.25vw;
}

.fs24, .fs24 * {
  font-size: 1.5vw;
}

.fs30, .fs30 * {
  font-size: 1.8vw;
}

.fs32, .fs32 * {
  font-size: 2vw;
}

.fs36, .fs36 * {
  font-size: 2.25vw;
}

.fs40, .fs40 * {
  font-size: 2.5vw;
}

.fs48, .fs48 * {
  font-size: 3vw;
}

.fs56, .fs56 * {
  font-size: 3.5vw;
}

.fs60, .fs60 * {
  font-size: 3.75vw;
}

.fs80, .fs80 * {
  font-size: 5vw;
}

.fs96, .fs96 * {
  font-size: 6vw;
}

.fs120, .fs120 * {
  font-size: 7.5vw;
}

.fs160, .fs160 * {
  font-size: 10vw;
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .fs12, .fs12 * {
    font-size: 3.076923vw;
  }
  .fs14, .fs14 * {
    font-size: 3.589743vw;
  }
  .fs16, .fs16 * {
    font-size: 4vw;
  }
  .fs18, .fs18 * {
    font-size: 4.615384vw;
  }
  .fs20, .fs20 * {
    font-size: 5.128205vw;
  }
  .fs24, .fs24 * {
    font-size: 6.153846vw;
    line-height: 1.6;
  }
  .fs30, .fs30 * {
    font-size: 7.692307vw;
  }
  .fs32, .fs32 * {
    font-size: 8.205128vw;
    line-height: 1.6;
  }
  .fs36, .fs36 * {
    font-size: 9.230769vw;
  }
  .fs40, .fs40 * {
    font-size: 9.230769vw;
    line-height: 1.5;
  }
  .fs48, .fs48 * {
    font-size: 9.230769vw;
    line-height: 1.2;
  }
  .fs56, .fs56 * {
    font-size: 12vw;
    line-height: 1.2;
  }
  .fs60, .fs60 * {
    font-size: 16vw;
  }
  .fs80, .fs80 * {
    font-size: 18vw;
  }
  .fs96, .fs96 * {
    font-size: 18vw;
  }
  .fs120, .fs120 * {
    font-size: 18vw;
  }
  .fs160, .fs160 * {
    font-size: 21.75vw;
  }
}
.button_underline {
  width: 13.75vw;
  height: auto;
  margin-top: 2.5vw;
  padding: 0 0 0 0;
}
.button_underline a, .button_underline .skip {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  padding: 0 1vw 0.75vw 1vw;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  letter-spacing: 0.2vw;
  cursor: pointer;
}
.button_underline a:before, .button_underline .skip:before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.2);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 50%;
}
.button_underline a:after, .button_underline .skip:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
}
.button_underline a:hover:after, .button_underline .skip:hover:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.button_underline a .icon_arrow_a, .button_underline .skip .icon_arrow_a {
  display: block;
  width: 0.5vw;
  height: 0.5vw;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.button_border {
  margin: 0 auto;
  width: 22.5vw;
  height: 3.75vw;
  border: 1px solid #ffffff;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  letter-spacing: 0.2vw;
  cursor: pointer;
}
.button_border > a, .button_border input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
.button_border:hover {
  background-color: rgba(255, 255, 255, 0.2);
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

.swiper-button-next, .swiper-button-prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.75vw;
  height: 3.75vw;
  border: 1px solid rgba(255, 255, 255, 0.2);
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
.swiper-button-next:after, .swiper-button-next:before, .swiper-button-prev:after, .swiper-button-prev:before {
  display: none;
}
.swiper-button-next .icon_arrow_b, .swiper-button-prev .icon_arrow_b {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
.swiper-button-next .icon_arrow_b:before, .swiper-button-prev .icon_arrow_b:before {
  content: "";
  display: inline-block;
  width: 0.5vw;
  height: 0.5vw;
  margin-left: -0.5vw;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.swiper-button-next:hover .icon_arrow_b:before, .swiper-button-prev:hover .icon_arrow_b:before {
  border-left: none;
}

.swiper-button-prev .icon_arrow_b:before {
  margin-right: -0.5vw;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  border-right: none;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.swiper-button-prev:hover .icon_arrow_b:before {
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  border-right: none;
}

.top_up {
  position: fixed;
  bottom: 2.5vw;
  right: 2.5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.75vw;
  height: 3.75vw;
  border: 1px solid rgba(255, 255, 255, 0.2);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  z-index: 1;
  cursor: pointer;
}
.top_up .icon_arrow_top:after {
  content: "";
  display: inline-block;
  width: 0.5vw;
  height: 0.5vw;
  margin-top: 0.75vw;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
.top_up:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.top_up.hide {
  right: -7.5vw;
}

.page-main {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}

.page-header {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: 65vw;
  margin: 10vw auto 0;
  padding: 0;
}
.page-header .site-slogan {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  white-space: nowrap !important;
  width: 100%;
  margin: 0;
  line-height: 1;
}
.page-header .site-slogan .site-slogan__typo {
  display: inline-block;
  width: 100%;
  margin: 0;
  letter-spacing: 1.1rem;
}
.page-header .site-slogan .site-slogan__typo .site-slogan__typo-item {
  display: inline-block;
  font-weight: 700;
}
.page-header .site-slogan .site-slogan__typo .site-slogan__typo-item.red-text {
  color: #e60012;
}
.page-header .site-slogan .site-slogan__typo .site-slogan__typo-item.m-left {
  margin-left: 3vw;
}
.page-header .site-slogan .site-slogan__typo .site-slogan__typo-item.stripe-text {
  background: repeating-linear-gradient(-240deg, rgb(0, 0, 0), rgb(0, 0, 0) 6px, rgb(255, 255, 255) 0, rgb(255, 255, 255) 8px);
  -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
  color: transparent;
}
.page-header .site-slogan .site-slogan__typo.site-slogan__typo-top .m-left {
  letter-spacing: 1.25rem;
}
.page-header .site-slogan .site-slogan__typo.site-slogan__typo-middle .m-left {
  margin-left: 3.25vw;
}
.page-header .site-slogan .site-slogan__jp {
  position: absolute;
  top: auto;
  right: 0;
  bottom: 1vw;
  left: auto;
  font-weight: 700;
}
.page-header .intro {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 5vw 0 0 0;
}
.page-header .intro .intro-lead-text {
  margin: 0;
  line-height: 2.6;
  font-weight: 500;
}
.page-header .intro .intro-lead-text__inner {
  display: inline-block;
}
.page-header .intro .intro-illust {
  width: 28.5vw;
  margin: 0;
}
.page-header .pageTop__scroll {
  position: absolute;
  top: 20.5vw;
  right: -13vw;
  bottom: auto;
  left: auto;
  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;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.page-header .pageTop__scroll .pageTop__scroll__text {
  margin-bottom: 10px;
}
.page-header .pageTop__scroll__line {
  position: relative;
  width: 2px;
  height: 4vw;
  background: #cccccc;
}
.page-header .pageTop__scroll__square {
  position: absolute;
  top: 0.5vw;
  right: 0;
  left: 0;
  margin: auto;
  width: 0.5vw;
  height: 0.5vw;
  background-color: #e60012;
  -webkit-animation-name: scrollDown;
          animation-name: scrollDown;
  -webkit-animation-duration: 1.4s;
          animation-duration: 1.4s;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-delay: 0;
          animation-delay: 0;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: backwards;
          animation-fill-mode: backwards;
}
@-webkit-keyframes scrollDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  10% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2.2vw);
            transform: translateY(2.2vw);
  }
}
@keyframes scrollDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  10% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2.2vw);
            transform: translateY(2.2vw);
  }
}
@-webkit-keyframes scrollDownSp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  10% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(6vw);
            transform: translateY(6vw);
  }
}
@keyframes scrollDownSp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  10% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(6vw);
            transform: translateY(6vw);
  }
}

.page-section {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  margin-top: 5vw;
  overflow: hidden;
}
.page-section__header {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: 100%;
  margin: 0;
}
.page-section__image {
  margin: 0;
}
.page-section__title {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50vw;
  height: 10vw;
  margin: -7.5vw 0 0 10vw;
  z-index: 10;
}
.page-section__title:before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: -1;
  -webkit-transform: skew(-30deg);
  transform: skew(-30deg);
  -webkit-box-shadow: 16px 16px 32px rgba(0, 0, 0, 0.2);
  box-shadow: 16px 16px 32px rgba(0, 0, 0, 0.2);
}
.page-section__title-number {
  position: absolute;
  top: -2.5vw;
  right: 3.75vw;
  bottom: auto;
  left: auto;
  line-height: 1;
  color: #e60012;
  font-weight: 700;
}
.page-section__title-text {
  margin: 0 0 0 5vw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.page-section__title-text__en {
  display: block;
  margin: 0.5em 0 0 0;
  color: #e60012;
  font-size: 1.5vw;
  font-weight: 300;
  letter-spacing: 0.05em;
}
.page-section__text {
  margin: 0;
  line-height: 3;
  letter-spacing: 0.1em;
  font-weight: 700;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .page-header .site-slogan .site-slogan__jp {
    position: absolute;
    top: auto;
    right: -2vw;
    bottom: 1vw;
    left: auto;
  }
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .page-header {
    width: 90vw;
    margin: 30vw auto 0;
  }
  .page-header .site-slogan {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    white-space: wrap !important;
    line-height: 1;
  }
  .page-header .site-slogan .site-slogan__typo {
    letter-spacing: 0.8rem;
  }
  .page-header .site-slogan .site-slogan__typo .site-slogan__typo-item.m-left {
    margin-left: 0;
  }
  .page-header .site-slogan .site-slogan__typo .site-slogan__typo-item.stripe-text {
    background: repeating-linear-gradient(-240deg, rgb(0, 0, 0), rgb(0, 0, 0) 4px, rgb(255, 255, 255) 0, rgb(255, 255, 255) 6px);
    -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    color: transparent;
  }
  .page-header .site-slogan .site-slogan__typo.site-slogan__typo-top .m-left {
    letter-spacing: 0.8rem;
  }
  .page-header .site-slogan .site-slogan__typo.site-slogan__typo-middle .m-left {
    margin-left: 0;
  }
  .page-header .site-slogan .site-slogan__typo.site-slogan__typo-middle .red-text {
    margin-left: 3.75vw;
  }
  .page-header .site-slogan .site-slogan__jp {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 5vw 0 0 0;
  }
  .page-header .intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 15vw 0 0 0;
  }
  .page-header .intro .intro-lead-text {
    line-height: 2.2;
  }
  .page-header .intro .intro-illust {
    width: 80vw;
    margin: 0 auto 10vw;
  }
  .page-header .pageTop__scroll {
    position: absolute;
    top: -15vw;
    right: -5vw;
    bottom: auto;
    left: auto;
  }
  .page-header .pageTop__scroll .pageTop__scroll__text {
    margin-bottom: 10px;
  }
  .page-header .pageTop__scroll__line {
    height: 15vw;
  }
  .page-header .pageTop__scroll__square {
    top: 1.5vw;
    width: 2vw;
    height: 2vw;
    -webkit-animation-name: scrollDownSp;
            animation-name: scrollDownSp;
  }
  .page-section {
    margin-top: 20vw;
  }
  .page-section .slash__large, .page-section .slash__middle, .page-section .slash__narrow {
    width: 45vw;
    height: 30vw;
  }
  .page-section .slash__large-black, .page-section .slash__middle-black, .page-section .slash__narrow-black {
    position: absolute;
    top: -7.5vw;
    right: auto;
    bottom: auto;
    left: -30vw;
  }
  .page-section .slash__large-red, .page-section .slash__middle-red, .page-section .slash__narrow-red {
    position: absolute;
    top: auto;
    right: -10vw;
    bottom: -7.5vw;
    left: auto;
  }
  .page-section .slash__middle, .page-section .slash__narrow {
    width: 25vw;
    height: 30vw;
  }
  .page-section .slash__middle:before, .page-section .slash__narrow:before {
    background-color: #e60012;
  }
  .page-section .slash__middle-black, .page-section .slash__narrow-black {
    position: absolute;
    top: auto;
    right: -10vw;
    bottom: -7.5vw;
    left: auto;
  }
  .page-section .slash__narrow {
    position: absolute;
    top: -7.5vw;
    right: auto;
    bottom: auto;
    left: -1vw;
    width: 1.5vw;
    height: 50vw;
  }
  .page-section__title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 90vw;
    height: auto;
    margin: 10vw auto 0;
    z-index: 10;
  }
  .page-section__title:before {
    display: none;
  }
  .page-section__title-number {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 0 2.5vw 0;
  }
  .page-section__title-text {
    margin: 0 0 0 0;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .page-section__title-text__en {
    margin: 2.5vw 0 0 0;
    line-height: 1.2;
    font-size: 5.128205vw;
  }
  .page-section__text {
    width: 100%;
    margin: 0 auto;
    padding: 10vw 0 0 0;
    line-height: 2;
  }
}