@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");
/* 変数を最初に読み込む（mixins が $bp などの変数を使うため） */
/* mixins（変数を使うため変数の後） */
* {
  box-sizing: border-box;
}

html,
body,
main {
  overflow-x: hidden;
}

body {
  background: #000;
  color: #fff;
}

img {
  max-width: 100%;
}

.oswald {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

header {
  width: 100%;
}

.mask-header {
  position: relative;
  display: inline-block;
}
.mask-header:before {
  content: "";
  display: block;
  padding-top: 60%;
}
@media (max-width: 767px) {
  .mask-header:before {
    display: none;
  }
}

.mask-header img,
.mask-header video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.mask-header .mv-main-pc-title {
  transition: clip-path 1s cubic-bezier(0.7, 0, 0.84, 0);
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
.mask-header .mv-main-pc-title:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/mv-text-pc.png) no-repeat top center/contain;
  animation: glitch02 2s steps(5) forwards infinite;
}
.mask-header .mv-main-title-sp {
  max-width: 600px;
  margin: 0 auto;
}
.mask-header .mv-main-visual-sp {
  max-width: 360px;
}
@media (max-width: 767px) {
  .mask-header .mv-main-visual-sp,
  .mask-header .mv-main-title-sp {
    position: relative;
  }
}

.mv-main-title-sp,
.mv-main-text {
  transition: clip-path 0.7s cubic-bezier(0.7, 0, 0.84, 0);
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.is-masked .mask-header .mv-main-pc-title {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.is-masked-for-sp .mv-main-title-sp,
.is-masked-for-sp .mv-main-text {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

.mask-header img {
  z-index: 1;
}

.mask-header video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  mix-blend-mode: screen;
  /* 明るい部分が前面に出る */
}

.mask-header .mv-bg {
  -o-object-position: bottom center;
     object-position: bottom center;
}
@media (max-width: 767px) {
  .mask-header .mv-bg {
    -o-object-position: top left;
       object-position: top left;
    height: 90%;
  }
}

.mask-header .mv-main {
  left: 50%;
  transform: translatex(-50%);
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top;
     object-position: top;
  width: 76%;
}
@media (max-width: 767px) {
  .mask-header .mv-main {
    width: 95%;
    margin-top: -16vw;
  }
}

.mv-main-pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.mv-main-pc img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
}

.mask-header .mv-main-title-sp {
  z-index: 2;
}
.mask-header .mv-main-title-sp:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/main-title-sp.png) no-repeat center/contain;
  animation: glitch02 2s steps(5) forwards infinite;
}
.mask-header .mv-main-title-sp img {
  position: relative;
  height: auto;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.mv-main-text {
  display: block;
  margin: 0 auto;
  width: 90%;
  margin-top: 20px;
  max-width: 640px;
  position: relative;
}
.mv-main-text:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/main-text-sp.png) no-repeat center/contain;
  animation: glitch02 2s steps(5) forwards infinite;
}
.mv-main-text img {
  position: relative;
  height: auto;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

main {
  background-image: url("../img/content-bg.png");
  background-position: center center;
  background-size: cover;
  padding-top: 100px;
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  main {
    padding-top: 0;
    margin-bottom: 60px;
  }
}

.main-content {
  max-width: 952px;
  padding: 0 16px;
  margin: 0 auto;
}

.main-countdown-wrapper {
  padding: 0 40px;
  margin-bottom: 240px;
}
@media (max-width: 767px) {
  .main-countdown-wrapper {
    margin-top: clamp(40px, 10vw, 60px);
    margin-bottom: clamp(60px, 22vw, 120px);
    padding: 0;
  }
}

.main-countdown {
  width: 100%;
  position: relative;
  background-image: url("../img/countdown-border.png");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.main-countdown:before {
  content: "";
  display: block;
  padding-top: 29.919%;
}
.main-countdown-inner {
  padding: 2.5%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main-countdown-inner > div[class^=main-countdown-] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.main-countdown .main-countdown-time {
  font-size: clamp(1em, 16vw, 9.4em);
  font-weight: 900;
  line-height: 1.05;
  display: inline-block;
  width: 2ch;
  text-align: center;
}
@media (max-width: 1200px) {
  .main-countdown .main-countdown-time {
    font-size: clamp(1em, 15vw, 9.2em);
  }
}
@media (max-width: 767px) {
  .main-countdown .main-countdown-time {
    font-size: clamp(2.6em, 15vw, 9.2em);
    line-height: 1.1;
  }
}
@media (max-width: 468px) {
  .main-countdown .main-countdown-time {
    font-size: clamp(2.6em, 14.2vw, 9.2em);
  }
}
.main-countdown-colon .main-countdown-time {
  width: 0.5ch;
}
.main-countdown-text {
  font-size: clamp(1em, 10.2vw, 1.4em);
  font-weight: 300;
  text-align: center;
  line-height: 1;
}
@media (max-width: 767px) {
  .main-countdown-text {
    font-size: clamp(0.8em, 4vw, 1.4em);
  }
}

.main-video-wrapper {
  margin-bottom: 200px;
  position: relative;
}
@media (max-width: 767px) {
  .main-video-wrapper {
    margin-bottom: clamp(60px, 20vw, 120px);
  }
}
.main-video-wrapper:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url("../img/video-bg.png");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 135%;
  height: 142%;
  display: block;
}
.main-video-wrapper:after {
  content: "";
  position: absolute;
  bottom: calc(100% + 8px);
  right: 0;
  background-image: url("../img/text-movie.png");
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 13%;
  padding-top: 5.72%;
  display: block;
}
@media (max-width: 767px) {
  .main-video-wrapper:after {
    width: 14%;
    padding-top: 6.16%;
    bottom: calc(100% + 4px);
  }
}

.main-video-inner {
  position: relative;
  z-index: 1;
  width: 100%;
}
.main-video-inner::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.main-video-inner .main-video-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.main-bnr-list {
  display: grid;
  gap: 2.4em;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
@media (max-width: 767px) {
  .main-bnr-list {
    gap: 2.4em 1.6em;
  }
}
.main-bnr-list a {
  background-color: #D21D33;
  display: block;
}
.main-bnr-list a img {
  transition: 0.2s ease-in-out;
  display: block;
}
@media (hover: hover) {
  .main-bnr-list a:hover img {
    transform: scale(0.98);
  }
}

footer {
  margin-top: 4em;
  padding-top: 4em;
  padding-bottom: 4em;
  border-top: #D21D33 5px solid;
}
@media (max-width: 767px) {
  footer {
    margin-top: 2em;
    padding-top: 2em;
    padding-bottom: 2em;
  }
}
footer .footer-content {
  text-align: center;
  font-size: 14px;
}

@keyframes glitch02 {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  10% {
    transform: translate(-2px, 2px);
    opacity: 0.5;
  }
  20% {
    transform: translate(0px, -2px);
    opacity: 0.5;
  }
  30% {
    transform: translate(2px, 0);
    opacity: 0.5;
  }
  40% {
    transform: translate(-2px, -2px);
    opacity: 0.5;
  }
  50% {
    transform: translate(0, 0);
    opacity: 0;
  }
  60% {
    transform: translate(0, 0);
    opacity: 0;
  }
}
/* spacing は mixins と変数に依存する */
.u-m-0 {
  margin: 0px !important;
}

.u-mt-0 {
  margin-top: 0px !important;
}

.u-mr-0 {
  margin-right: 0px !important;
}

.u-mb-0 {
  margin-bottom: 0px !important;
}

.u-ml-0 {
  margin-left: 0px !important;
}

.u-mx-0 {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.u-my-0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.u-m-4 {
  margin: 4px !important;
}

.u-mt-4 {
  margin-top: 4px !important;
}

.u-mr-4 {
  margin-right: 4px !important;
}

.u-mb-4 {
  margin-bottom: 4px !important;
}

.u-ml-4 {
  margin-left: 4px !important;
}

.u-mx-4 {
  margin-left: 4px !important;
  margin-right: 4px !important;
}

.u-my-4 {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
}

.u-m-8 {
  margin: 8px !important;
}

.u-mt-8 {
  margin-top: 8px !important;
}

.u-mr-8 {
  margin-right: 8px !important;
}

.u-mb-8 {
  margin-bottom: 8px !important;
}

.u-ml-8 {
  margin-left: 8px !important;
}

.u-mx-8 {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.u-my-8 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.u-m-12 {
  margin: 12px !important;
}

.u-mt-12 {
  margin-top: 12px !important;
}

.u-mr-12 {
  margin-right: 12px !important;
}

.u-mb-12 {
  margin-bottom: 12px !important;
}

.u-ml-12 {
  margin-left: 12px !important;
}

.u-mx-12 {
  margin-left: 12px !important;
  margin-right: 12px !important;
}

.u-my-12 {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.u-m-16 {
  margin: 16px !important;
}

.u-mt-16 {
  margin-top: 16px !important;
}

.u-mr-16 {
  margin-right: 16px !important;
}

.u-mb-16 {
  margin-bottom: 16px !important;
}

.u-ml-16 {
  margin-left: 16px !important;
}

.u-mx-16 {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

.u-my-16 {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

.u-m-20 {
  margin: 20px !important;
}

.u-mt-20 {
  margin-top: 20px !important;
}

.u-mr-20 {
  margin-right: 20px !important;
}

.u-mb-20 {
  margin-bottom: 20px !important;
}

.u-ml-20 {
  margin-left: 20px !important;
}

.u-mx-20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.u-my-20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.u-m-24 {
  margin: 24px !important;
}

.u-mt-24 {
  margin-top: 24px !important;
}

.u-mr-24 {
  margin-right: 24px !important;
}

.u-mb-24 {
  margin-bottom: 24px !important;
}

.u-ml-24 {
  margin-left: 24px !important;
}

.u-mx-24 {
  margin-left: 24px !important;
  margin-right: 24px !important;
}

.u-my-24 {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.u-m-32 {
  margin: 32px !important;
}

.u-mt-32 {
  margin-top: 32px !important;
}

.u-mr-32 {
  margin-right: 32px !important;
}

.u-mb-32 {
  margin-bottom: 32px !important;
}

.u-ml-32 {
  margin-left: 32px !important;
}

.u-mx-32 {
  margin-left: 32px !important;
  margin-right: 32px !important;
}

.u-my-32 {
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}

.u-m-40 {
  margin: 40px !important;
}

.u-mt-40 {
  margin-top: 40px !important;
}

.u-mr-40 {
  margin-right: 40px !important;
}

.u-mb-40 {
  margin-bottom: 40px !important;
}

.u-ml-40 {
  margin-left: 40px !important;
}

.u-mx-40 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.u-my-40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.u-m-48 {
  margin: 48px !important;
}

.u-mt-48 {
  margin-top: 48px !important;
}

.u-mr-48 {
  margin-right: 48px !important;
}

.u-mb-48 {
  margin-bottom: 48px !important;
}

.u-ml-48 {
  margin-left: 48px !important;
}

.u-mx-48 {
  margin-left: 48px !important;
  margin-right: 48px !important;
}

.u-my-48 {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}

.u-m-64 {
  margin: 64px !important;
}

.u-mt-64 {
  margin-top: 64px !important;
}

.u-mr-64 {
  margin-right: 64px !important;
}

.u-mb-64 {
  margin-bottom: 64px !important;
}

.u-ml-64 {
  margin-left: 64px !important;
}

.u-mx-64 {
  margin-left: 64px !important;
  margin-right: 64px !important;
}

.u-my-64 {
  margin-top: 64px !important;
  margin-bottom: 64px !important;
}

.u-m-80 {
  margin: 80px !important;
}

.u-mt-80 {
  margin-top: 80px !important;
}

.u-mr-80 {
  margin-right: 80px !important;
}

.u-mb-80 {
  margin-bottom: 80px !important;
}

.u-ml-80 {
  margin-left: 80px !important;
}

.u-mx-80 {
  margin-left: 80px !important;
  margin-right: 80px !important;
}

.u-my-80 {
  margin-top: 80px !important;
  margin-bottom: 80px !important;
}

.u-m-96 {
  margin: 96px !important;
}

.u-mt-96 {
  margin-top: 96px !important;
}

.u-mr-96 {
  margin-right: 96px !important;
}

.u-mb-96 {
  margin-bottom: 96px !important;
}

.u-ml-96 {
  margin-left: 96px !important;
}

.u-mx-96 {
  margin-left: 96px !important;
  margin-right: 96px !important;
}

.u-my-96 {
  margin-top: 96px !important;
  margin-bottom: 96px !important;
}

.u-m-128 {
  margin: 128px !important;
}

.u-mt-128 {
  margin-top: 128px !important;
}

.u-mr-128 {
  margin-right: 128px !important;
}

.u-mb-128 {
  margin-bottom: 128px !important;
}

.u-ml-128 {
  margin-left: 128px !important;
}

.u-mx-128 {
  margin-left: 128px !important;
  margin-right: 128px !important;
}

.u-my-128 {
  margin-top: 128px !important;
  margin-bottom: 128px !important;
}

.u-p-0 {
  padding: 0px !important;
}

.u-pt-0 {
  padding-top: 0px !important;
}

.u-pr-0 {
  padding-right: 0px !important;
}

.u-pb-0 {
  padding-bottom: 0px !important;
}

.u-pl-0 {
  padding-left: 0px !important;
}

.u-px-0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.u-py-0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.u-p-4 {
  padding: 4px !important;
}

.u-pt-4 {
  padding-top: 4px !important;
}

.u-pr-4 {
  padding-right: 4px !important;
}

.u-pb-4 {
  padding-bottom: 4px !important;
}

.u-pl-4 {
  padding-left: 4px !important;
}

.u-px-4 {
  padding-left: 4px !important;
  padding-right: 4px !important;
}

.u-py-4 {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.u-p-8 {
  padding: 8px !important;
}

.u-pt-8 {
  padding-top: 8px !important;
}

.u-pr-8 {
  padding-right: 8px !important;
}

.u-pb-8 {
  padding-bottom: 8px !important;
}

.u-pl-8 {
  padding-left: 8px !important;
}

.u-px-8 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.u-py-8 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.u-p-12 {
  padding: 12px !important;
}

.u-pt-12 {
  padding-top: 12px !important;
}

.u-pr-12 {
  padding-right: 12px !important;
}

.u-pb-12 {
  padding-bottom: 12px !important;
}

.u-pl-12 {
  padding-left: 12px !important;
}

.u-px-12 {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.u-py-12 {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.u-p-16 {
  padding: 16px !important;
}

.u-pt-16 {
  padding-top: 16px !important;
}

.u-pr-16 {
  padding-right: 16px !important;
}

.u-pb-16 {
  padding-bottom: 16px !important;
}

.u-pl-16 {
  padding-left: 16px !important;
}

.u-px-16 {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.u-py-16 {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.u-p-20 {
  padding: 20px !important;
}

.u-pt-20 {
  padding-top: 20px !important;
}

.u-pr-20 {
  padding-right: 20px !important;
}

.u-pb-20 {
  padding-bottom: 20px !important;
}

.u-pl-20 {
  padding-left: 20px !important;
}

.u-px-20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.u-py-20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.u-p-24 {
  padding: 24px !important;
}

.u-pt-24 {
  padding-top: 24px !important;
}

.u-pr-24 {
  padding-right: 24px !important;
}

.u-pb-24 {
  padding-bottom: 24px !important;
}

.u-pl-24 {
  padding-left: 24px !important;
}

.u-px-24 {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.u-py-24 {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.u-p-32 {
  padding: 32px !important;
}

.u-pt-32 {
  padding-top: 32px !important;
}

.u-pr-32 {
  padding-right: 32px !important;
}

.u-pb-32 {
  padding-bottom: 32px !important;
}

.u-pl-32 {
  padding-left: 32px !important;
}

.u-px-32 {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.u-py-32 {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

.u-p-40 {
  padding: 40px !important;
}

.u-pt-40 {
  padding-top: 40px !important;
}

.u-pr-40 {
  padding-right: 40px !important;
}

.u-pb-40 {
  padding-bottom: 40px !important;
}

.u-pl-40 {
  padding-left: 40px !important;
}

.u-px-40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.u-py-40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.u-p-48 {
  padding: 48px !important;
}

.u-pt-48 {
  padding-top: 48px !important;
}

.u-pr-48 {
  padding-right: 48px !important;
}

.u-pb-48 {
  padding-bottom: 48px !important;
}

.u-pl-48 {
  padding-left: 48px !important;
}

.u-px-48 {
  padding-left: 48px !important;
  padding-right: 48px !important;
}

.u-py-48 {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

.u-p-64 {
  padding: 64px !important;
}

.u-pt-64 {
  padding-top: 64px !important;
}

.u-pr-64 {
  padding-right: 64px !important;
}

.u-pb-64 {
  padding-bottom: 64px !important;
}

.u-pl-64 {
  padding-left: 64px !important;
}

.u-px-64 {
  padding-left: 64px !important;
  padding-right: 64px !important;
}

.u-py-64 {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.u-p-80 {
  padding: 80px !important;
}

.u-pt-80 {
  padding-top: 80px !important;
}

.u-pr-80 {
  padding-right: 80px !important;
}

.u-pb-80 {
  padding-bottom: 80px !important;
}

.u-pl-80 {
  padding-left: 80px !important;
}

.u-px-80 {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.u-py-80 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.u-p-96 {
  padding: 96px !important;
}

.u-pt-96 {
  padding-top: 96px !important;
}

.u-pr-96 {
  padding-right: 96px !important;
}

.u-pb-96 {
  padding-bottom: 96px !important;
}

.u-pl-96 {
  padding-left: 96px !important;
}

.u-px-96 {
  padding-left: 96px !important;
  padding-right: 96px !important;
}

.u-py-96 {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
}

.u-p-128 {
  padding: 128px !important;
}

.u-pt-128 {
  padding-top: 128px !important;
}

.u-pr-128 {
  padding-right: 128px !important;
}

.u-pb-128 {
  padding-bottom: 128px !important;
}

.u-pl-128 {
  padding-left: 128px !important;
}

.u-px-128 {
  padding-left: 128px !important;
  padding-right: 128px !important;
}

.u-py-128 {
  padding-top: 128px !important;
  padding-bottom: 128px !important;
}

@media (max-width: 767px) {
  .u-sp-m-0 {
    margin: 0px !important;
  }
  .u-sp-mt-0 {
    margin-top: 0px !important;
  }
  .u-sp-mr-0 {
    margin-right: 0px !important;
  }
  .u-sp-mb-0 {
    margin-bottom: 0px !important;
  }
  .u-sp-ml-0 {
    margin-left: 0px !important;
  }
  .u-sp-mx-0 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .u-sp-my-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .u-sp-m-4 {
    margin: 4px !important;
  }
  .u-sp-mt-4 {
    margin-top: 4px !important;
  }
  .u-sp-mr-4 {
    margin-right: 4px !important;
  }
  .u-sp-mb-4 {
    margin-bottom: 4px !important;
  }
  .u-sp-ml-4 {
    margin-left: 4px !important;
  }
  .u-sp-mx-4 {
    margin-left: 4px !important;
    margin-right: 4px !important;
  }
  .u-sp-my-4 {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }
  .u-sp-m-8 {
    margin: 8px !important;
  }
  .u-sp-mt-8 {
    margin-top: 8px !important;
  }
  .u-sp-mr-8 {
    margin-right: 8px !important;
  }
  .u-sp-mb-8 {
    margin-bottom: 8px !important;
  }
  .u-sp-ml-8 {
    margin-left: 8px !important;
  }
  .u-sp-mx-8 {
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
  .u-sp-my-8 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .u-sp-m-12 {
    margin: 12px !important;
  }
  .u-sp-mt-12 {
    margin-top: 12px !important;
  }
  .u-sp-mr-12 {
    margin-right: 12px !important;
  }
  .u-sp-mb-12 {
    margin-bottom: 12px !important;
  }
  .u-sp-ml-12 {
    margin-left: 12px !important;
  }
  .u-sp-mx-12 {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
  .u-sp-my-12 {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
  .u-sp-m-16 {
    margin: 16px !important;
  }
  .u-sp-mt-16 {
    margin-top: 16px !important;
  }
  .u-sp-mr-16 {
    margin-right: 16px !important;
  }
  .u-sp-mb-16 {
    margin-bottom: 16px !important;
  }
  .u-sp-ml-16 {
    margin-left: 16px !important;
  }
  .u-sp-mx-16 {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .u-sp-my-16 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .u-sp-m-20 {
    margin: 20px !important;
  }
  .u-sp-mt-20 {
    margin-top: 20px !important;
  }
  .u-sp-mr-20 {
    margin-right: 20px !important;
  }
  .u-sp-mb-20 {
    margin-bottom: 20px !important;
  }
  .u-sp-ml-20 {
    margin-left: 20px !important;
  }
  .u-sp-mx-20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .u-sp-my-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .u-sp-m-24 {
    margin: 24px !important;
  }
  .u-sp-mt-24 {
    margin-top: 24px !important;
  }
  .u-sp-mr-24 {
    margin-right: 24px !important;
  }
  .u-sp-mb-24 {
    margin-bottom: 24px !important;
  }
  .u-sp-ml-24 {
    margin-left: 24px !important;
  }
  .u-sp-mx-24 {
    margin-left: 24px !important;
    margin-right: 24px !important;
  }
  .u-sp-my-24 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .u-sp-m-32 {
    margin: 32px !important;
  }
  .u-sp-mt-32 {
    margin-top: 32px !important;
  }
  .u-sp-mr-32 {
    margin-right: 32px !important;
  }
  .u-sp-mb-32 {
    margin-bottom: 32px !important;
  }
  .u-sp-ml-32 {
    margin-left: 32px !important;
  }
  .u-sp-mx-32 {
    margin-left: 32px !important;
    margin-right: 32px !important;
  }
  .u-sp-my-32 {
    margin-top: 32px !important;
    margin-bottom: 32px !important;
  }
  .u-sp-m-40 {
    margin: 40px !important;
  }
  .u-sp-mt-40 {
    margin-top: 40px !important;
  }
  .u-sp-mr-40 {
    margin-right: 40px !important;
  }
  .u-sp-mb-40 {
    margin-bottom: 40px !important;
  }
  .u-sp-ml-40 {
    margin-left: 40px !important;
  }
  .u-sp-mx-40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .u-sp-my-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .u-sp-m-48 {
    margin: 48px !important;
  }
  .u-sp-mt-48 {
    margin-top: 48px !important;
  }
  .u-sp-mr-48 {
    margin-right: 48px !important;
  }
  .u-sp-mb-48 {
    margin-bottom: 48px !important;
  }
  .u-sp-ml-48 {
    margin-left: 48px !important;
  }
  .u-sp-mx-48 {
    margin-left: 48px !important;
    margin-right: 48px !important;
  }
  .u-sp-my-48 {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
  .u-sp-m-64 {
    margin: 64px !important;
  }
  .u-sp-mt-64 {
    margin-top: 64px !important;
  }
  .u-sp-mr-64 {
    margin-right: 64px !important;
  }
  .u-sp-mb-64 {
    margin-bottom: 64px !important;
  }
  .u-sp-ml-64 {
    margin-left: 64px !important;
  }
  .u-sp-mx-64 {
    margin-left: 64px !important;
    margin-right: 64px !important;
  }
  .u-sp-my-64 {
    margin-top: 64px !important;
    margin-bottom: 64px !important;
  }
  .u-sp-m-80 {
    margin: 80px !important;
  }
  .u-sp-mt-80 {
    margin-top: 80px !important;
  }
  .u-sp-mr-80 {
    margin-right: 80px !important;
  }
  .u-sp-mb-80 {
    margin-bottom: 80px !important;
  }
  .u-sp-ml-80 {
    margin-left: 80px !important;
  }
  .u-sp-mx-80 {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
  .u-sp-my-80 {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .u-sp-m-96 {
    margin: 96px !important;
  }
  .u-sp-mt-96 {
    margin-top: 96px !important;
  }
  .u-sp-mr-96 {
    margin-right: 96px !important;
  }
  .u-sp-mb-96 {
    margin-bottom: 96px !important;
  }
  .u-sp-ml-96 {
    margin-left: 96px !important;
  }
  .u-sp-mx-96 {
    margin-left: 96px !important;
    margin-right: 96px !important;
  }
  .u-sp-my-96 {
    margin-top: 96px !important;
    margin-bottom: 96px !important;
  }
  .u-sp-m-128 {
    margin: 128px !important;
  }
  .u-sp-mt-128 {
    margin-top: 128px !important;
  }
  .u-sp-mr-128 {
    margin-right: 128px !important;
  }
  .u-sp-mb-128 {
    margin-bottom: 128px !important;
  }
  .u-sp-ml-128 {
    margin-left: 128px !important;
  }
  .u-sp-mx-128 {
    margin-left: 128px !important;
    margin-right: 128px !important;
  }
  .u-sp-my-128 {
    margin-top: 128px !important;
    margin-bottom: 128px !important;
  }
  .u-sp-p-0 {
    padding: 0px !important;
  }
  .u-sp-pt-0 {
    padding-top: 0px !important;
  }
  .u-sp-pr-0 {
    padding-right: 0px !important;
  }
  .u-sp-pb-0 {
    padding-bottom: 0px !important;
  }
  .u-sp-pl-0 {
    padding-left: 0px !important;
  }
  .u-sp-px-0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .u-sp-py-0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .u-sp-p-4 {
    padding: 4px !important;
  }
  .u-sp-pt-4 {
    padding-top: 4px !important;
  }
  .u-sp-pr-4 {
    padding-right: 4px !important;
  }
  .u-sp-pb-4 {
    padding-bottom: 4px !important;
  }
  .u-sp-pl-4 {
    padding-left: 4px !important;
  }
  .u-sp-px-4 {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  .u-sp-py-4 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .u-sp-p-8 {
    padding: 8px !important;
  }
  .u-sp-pt-8 {
    padding-top: 8px !important;
  }
  .u-sp-pr-8 {
    padding-right: 8px !important;
  }
  .u-sp-pb-8 {
    padding-bottom: 8px !important;
  }
  .u-sp-pl-8 {
    padding-left: 8px !important;
  }
  .u-sp-px-8 {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .u-sp-py-8 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .u-sp-p-12 {
    padding: 12px !important;
  }
  .u-sp-pt-12 {
    padding-top: 12px !important;
  }
  .u-sp-pr-12 {
    padding-right: 12px !important;
  }
  .u-sp-pb-12 {
    padding-bottom: 12px !important;
  }
  .u-sp-pl-12 {
    padding-left: 12px !important;
  }
  .u-sp-px-12 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .u-sp-py-12 {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .u-sp-p-16 {
    padding: 16px !important;
  }
  .u-sp-pt-16 {
    padding-top: 16px !important;
  }
  .u-sp-pr-16 {
    padding-right: 16px !important;
  }
  .u-sp-pb-16 {
    padding-bottom: 16px !important;
  }
  .u-sp-pl-16 {
    padding-left: 16px !important;
  }
  .u-sp-px-16 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .u-sp-py-16 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .u-sp-p-20 {
    padding: 20px !important;
  }
  .u-sp-pt-20 {
    padding-top: 20px !important;
  }
  .u-sp-pr-20 {
    padding-right: 20px !important;
  }
  .u-sp-pb-20 {
    padding-bottom: 20px !important;
  }
  .u-sp-pl-20 {
    padding-left: 20px !important;
  }
  .u-sp-px-20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .u-sp-py-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .u-sp-p-24 {
    padding: 24px !important;
  }
  .u-sp-pt-24 {
    padding-top: 24px !important;
  }
  .u-sp-pr-24 {
    padding-right: 24px !important;
  }
  .u-sp-pb-24 {
    padding-bottom: 24px !important;
  }
  .u-sp-pl-24 {
    padding-left: 24px !important;
  }
  .u-sp-px-24 {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .u-sp-py-24 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .u-sp-p-32 {
    padding: 32px !important;
  }
  .u-sp-pt-32 {
    padding-top: 32px !important;
  }
  .u-sp-pr-32 {
    padding-right: 32px !important;
  }
  .u-sp-pb-32 {
    padding-bottom: 32px !important;
  }
  .u-sp-pl-32 {
    padding-left: 32px !important;
  }
  .u-sp-px-32 {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  .u-sp-py-32 {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .u-sp-p-40 {
    padding: 40px !important;
  }
  .u-sp-pt-40 {
    padding-top: 40px !important;
  }
  .u-sp-pr-40 {
    padding-right: 40px !important;
  }
  .u-sp-pb-40 {
    padding-bottom: 40px !important;
  }
  .u-sp-pl-40 {
    padding-left: 40px !important;
  }
  .u-sp-px-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .u-sp-py-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .u-sp-p-48 {
    padding: 48px !important;
  }
  .u-sp-pt-48 {
    padding-top: 48px !important;
  }
  .u-sp-pr-48 {
    padding-right: 48px !important;
  }
  .u-sp-pb-48 {
    padding-bottom: 48px !important;
  }
  .u-sp-pl-48 {
    padding-left: 48px !important;
  }
  .u-sp-px-48 {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
  .u-sp-py-48 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .u-sp-p-64 {
    padding: 64px !important;
  }
  .u-sp-pt-64 {
    padding-top: 64px !important;
  }
  .u-sp-pr-64 {
    padding-right: 64px !important;
  }
  .u-sp-pb-64 {
    padding-bottom: 64px !important;
  }
  .u-sp-pl-64 {
    padding-left: 64px !important;
  }
  .u-sp-px-64 {
    padding-left: 64px !important;
    padding-right: 64px !important;
  }
  .u-sp-py-64 {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
  .u-sp-p-80 {
    padding: 80px !important;
  }
  .u-sp-pt-80 {
    padding-top: 80px !important;
  }
  .u-sp-pr-80 {
    padding-right: 80px !important;
  }
  .u-sp-pb-80 {
    padding-bottom: 80px !important;
  }
  .u-sp-pl-80 {
    padding-left: 80px !important;
  }
  .u-sp-px-80 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .u-sp-py-80 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .u-sp-p-96 {
    padding: 96px !important;
  }
  .u-sp-pt-96 {
    padding-top: 96px !important;
  }
  .u-sp-pr-96 {
    padding-right: 96px !important;
  }
  .u-sp-pb-96 {
    padding-bottom: 96px !important;
  }
  .u-sp-pl-96 {
    padding-left: 96px !important;
  }
  .u-sp-px-96 {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
  .u-sp-py-96 {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
  .u-sp-p-128 {
    padding: 128px !important;
  }
  .u-sp-pt-128 {
    padding-top: 128px !important;
  }
  .u-sp-pr-128 {
    padding-right: 128px !important;
  }
  .u-sp-pb-128 {
    padding-bottom: 128px !important;
  }
  .u-sp-pl-128 {
    padding-left: 128px !important;
  }
  .u-sp-px-128 {
    padding-left: 128px !important;
    padding-right: 128px !important;
  }
  .u-sp-py-128 {
    padding-top: 128px !important;
    padding-bottom: 128px !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-tab-m-0 {
    margin: 0px !important;
  }
  .u-tab-mt-0 {
    margin-top: 0px !important;
  }
  .u-tab-mr-0 {
    margin-right: 0px !important;
  }
  .u-tab-mb-0 {
    margin-bottom: 0px !important;
  }
  .u-tab-ml-0 {
    margin-left: 0px !important;
  }
  .u-tab-mx-0 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .u-tab-my-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .u-tab-m-4 {
    margin: 4px !important;
  }
  .u-tab-mt-4 {
    margin-top: 4px !important;
  }
  .u-tab-mr-4 {
    margin-right: 4px !important;
  }
  .u-tab-mb-4 {
    margin-bottom: 4px !important;
  }
  .u-tab-ml-4 {
    margin-left: 4px !important;
  }
  .u-tab-mx-4 {
    margin-left: 4px !important;
    margin-right: 4px !important;
  }
  .u-tab-my-4 {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }
  .u-tab-m-8 {
    margin: 8px !important;
  }
  .u-tab-mt-8 {
    margin-top: 8px !important;
  }
  .u-tab-mr-8 {
    margin-right: 8px !important;
  }
  .u-tab-mb-8 {
    margin-bottom: 8px !important;
  }
  .u-tab-ml-8 {
    margin-left: 8px !important;
  }
  .u-tab-mx-8 {
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
  .u-tab-my-8 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .u-tab-m-12 {
    margin: 12px !important;
  }
  .u-tab-mt-12 {
    margin-top: 12px !important;
  }
  .u-tab-mr-12 {
    margin-right: 12px !important;
  }
  .u-tab-mb-12 {
    margin-bottom: 12px !important;
  }
  .u-tab-ml-12 {
    margin-left: 12px !important;
  }
  .u-tab-mx-12 {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
  .u-tab-my-12 {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
  .u-tab-m-16 {
    margin: 16px !important;
  }
  .u-tab-mt-16 {
    margin-top: 16px !important;
  }
  .u-tab-mr-16 {
    margin-right: 16px !important;
  }
  .u-tab-mb-16 {
    margin-bottom: 16px !important;
  }
  .u-tab-ml-16 {
    margin-left: 16px !important;
  }
  .u-tab-mx-16 {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .u-tab-my-16 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .u-tab-m-20 {
    margin: 20px !important;
  }
  .u-tab-mt-20 {
    margin-top: 20px !important;
  }
  .u-tab-mr-20 {
    margin-right: 20px !important;
  }
  .u-tab-mb-20 {
    margin-bottom: 20px !important;
  }
  .u-tab-ml-20 {
    margin-left: 20px !important;
  }
  .u-tab-mx-20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .u-tab-my-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .u-tab-m-24 {
    margin: 24px !important;
  }
  .u-tab-mt-24 {
    margin-top: 24px !important;
  }
  .u-tab-mr-24 {
    margin-right: 24px !important;
  }
  .u-tab-mb-24 {
    margin-bottom: 24px !important;
  }
  .u-tab-ml-24 {
    margin-left: 24px !important;
  }
  .u-tab-mx-24 {
    margin-left: 24px !important;
    margin-right: 24px !important;
  }
  .u-tab-my-24 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .u-tab-m-32 {
    margin: 32px !important;
  }
  .u-tab-mt-32 {
    margin-top: 32px !important;
  }
  .u-tab-mr-32 {
    margin-right: 32px !important;
  }
  .u-tab-mb-32 {
    margin-bottom: 32px !important;
  }
  .u-tab-ml-32 {
    margin-left: 32px !important;
  }
  .u-tab-mx-32 {
    margin-left: 32px !important;
    margin-right: 32px !important;
  }
  .u-tab-my-32 {
    margin-top: 32px !important;
    margin-bottom: 32px !important;
  }
  .u-tab-m-40 {
    margin: 40px !important;
  }
  .u-tab-mt-40 {
    margin-top: 40px !important;
  }
  .u-tab-mr-40 {
    margin-right: 40px !important;
  }
  .u-tab-mb-40 {
    margin-bottom: 40px !important;
  }
  .u-tab-ml-40 {
    margin-left: 40px !important;
  }
  .u-tab-mx-40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .u-tab-my-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .u-tab-m-48 {
    margin: 48px !important;
  }
  .u-tab-mt-48 {
    margin-top: 48px !important;
  }
  .u-tab-mr-48 {
    margin-right: 48px !important;
  }
  .u-tab-mb-48 {
    margin-bottom: 48px !important;
  }
  .u-tab-ml-48 {
    margin-left: 48px !important;
  }
  .u-tab-mx-48 {
    margin-left: 48px !important;
    margin-right: 48px !important;
  }
  .u-tab-my-48 {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
  .u-tab-m-64 {
    margin: 64px !important;
  }
  .u-tab-mt-64 {
    margin-top: 64px !important;
  }
  .u-tab-mr-64 {
    margin-right: 64px !important;
  }
  .u-tab-mb-64 {
    margin-bottom: 64px !important;
  }
  .u-tab-ml-64 {
    margin-left: 64px !important;
  }
  .u-tab-mx-64 {
    margin-left: 64px !important;
    margin-right: 64px !important;
  }
  .u-tab-my-64 {
    margin-top: 64px !important;
    margin-bottom: 64px !important;
  }
  .u-tab-m-80 {
    margin: 80px !important;
  }
  .u-tab-mt-80 {
    margin-top: 80px !important;
  }
  .u-tab-mr-80 {
    margin-right: 80px !important;
  }
  .u-tab-mb-80 {
    margin-bottom: 80px !important;
  }
  .u-tab-ml-80 {
    margin-left: 80px !important;
  }
  .u-tab-mx-80 {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
  .u-tab-my-80 {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .u-tab-m-96 {
    margin: 96px !important;
  }
  .u-tab-mt-96 {
    margin-top: 96px !important;
  }
  .u-tab-mr-96 {
    margin-right: 96px !important;
  }
  .u-tab-mb-96 {
    margin-bottom: 96px !important;
  }
  .u-tab-ml-96 {
    margin-left: 96px !important;
  }
  .u-tab-mx-96 {
    margin-left: 96px !important;
    margin-right: 96px !important;
  }
  .u-tab-my-96 {
    margin-top: 96px !important;
    margin-bottom: 96px !important;
  }
  .u-tab-m-128 {
    margin: 128px !important;
  }
  .u-tab-mt-128 {
    margin-top: 128px !important;
  }
  .u-tab-mr-128 {
    margin-right: 128px !important;
  }
  .u-tab-mb-128 {
    margin-bottom: 128px !important;
  }
  .u-tab-ml-128 {
    margin-left: 128px !important;
  }
  .u-tab-mx-128 {
    margin-left: 128px !important;
    margin-right: 128px !important;
  }
  .u-tab-my-128 {
    margin-top: 128px !important;
    margin-bottom: 128px !important;
  }
  .u-tab-p-0 {
    padding: 0px !important;
  }
  .u-tab-pt-0 {
    padding-top: 0px !important;
  }
  .u-tab-pr-0 {
    padding-right: 0px !important;
  }
  .u-tab-pb-0 {
    padding-bottom: 0px !important;
  }
  .u-tab-pl-0 {
    padding-left: 0px !important;
  }
  .u-tab-px-0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .u-tab-py-0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .u-tab-p-4 {
    padding: 4px !important;
  }
  .u-tab-pt-4 {
    padding-top: 4px !important;
  }
  .u-tab-pr-4 {
    padding-right: 4px !important;
  }
  .u-tab-pb-4 {
    padding-bottom: 4px !important;
  }
  .u-tab-pl-4 {
    padding-left: 4px !important;
  }
  .u-tab-px-4 {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  .u-tab-py-4 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .u-tab-p-8 {
    padding: 8px !important;
  }
  .u-tab-pt-8 {
    padding-top: 8px !important;
  }
  .u-tab-pr-8 {
    padding-right: 8px !important;
  }
  .u-tab-pb-8 {
    padding-bottom: 8px !important;
  }
  .u-tab-pl-8 {
    padding-left: 8px !important;
  }
  .u-tab-px-8 {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .u-tab-py-8 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .u-tab-p-12 {
    padding: 12px !important;
  }
  .u-tab-pt-12 {
    padding-top: 12px !important;
  }
  .u-tab-pr-12 {
    padding-right: 12px !important;
  }
  .u-tab-pb-12 {
    padding-bottom: 12px !important;
  }
  .u-tab-pl-12 {
    padding-left: 12px !important;
  }
  .u-tab-px-12 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .u-tab-py-12 {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .u-tab-p-16 {
    padding: 16px !important;
  }
  .u-tab-pt-16 {
    padding-top: 16px !important;
  }
  .u-tab-pr-16 {
    padding-right: 16px !important;
  }
  .u-tab-pb-16 {
    padding-bottom: 16px !important;
  }
  .u-tab-pl-16 {
    padding-left: 16px !important;
  }
  .u-tab-px-16 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .u-tab-py-16 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .u-tab-p-20 {
    padding: 20px !important;
  }
  .u-tab-pt-20 {
    padding-top: 20px !important;
  }
  .u-tab-pr-20 {
    padding-right: 20px !important;
  }
  .u-tab-pb-20 {
    padding-bottom: 20px !important;
  }
  .u-tab-pl-20 {
    padding-left: 20px !important;
  }
  .u-tab-px-20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .u-tab-py-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .u-tab-p-24 {
    padding: 24px !important;
  }
  .u-tab-pt-24 {
    padding-top: 24px !important;
  }
  .u-tab-pr-24 {
    padding-right: 24px !important;
  }
  .u-tab-pb-24 {
    padding-bottom: 24px !important;
  }
  .u-tab-pl-24 {
    padding-left: 24px !important;
  }
  .u-tab-px-24 {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .u-tab-py-24 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .u-tab-p-32 {
    padding: 32px !important;
  }
  .u-tab-pt-32 {
    padding-top: 32px !important;
  }
  .u-tab-pr-32 {
    padding-right: 32px !important;
  }
  .u-tab-pb-32 {
    padding-bottom: 32px !important;
  }
  .u-tab-pl-32 {
    padding-left: 32px !important;
  }
  .u-tab-px-32 {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  .u-tab-py-32 {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .u-tab-p-40 {
    padding: 40px !important;
  }
  .u-tab-pt-40 {
    padding-top: 40px !important;
  }
  .u-tab-pr-40 {
    padding-right: 40px !important;
  }
  .u-tab-pb-40 {
    padding-bottom: 40px !important;
  }
  .u-tab-pl-40 {
    padding-left: 40px !important;
  }
  .u-tab-px-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .u-tab-py-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .u-tab-p-48 {
    padding: 48px !important;
  }
  .u-tab-pt-48 {
    padding-top: 48px !important;
  }
  .u-tab-pr-48 {
    padding-right: 48px !important;
  }
  .u-tab-pb-48 {
    padding-bottom: 48px !important;
  }
  .u-tab-pl-48 {
    padding-left: 48px !important;
  }
  .u-tab-px-48 {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }
  .u-tab-py-48 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .u-tab-p-64 {
    padding: 64px !important;
  }
  .u-tab-pt-64 {
    padding-top: 64px !important;
  }
  .u-tab-pr-64 {
    padding-right: 64px !important;
  }
  .u-tab-pb-64 {
    padding-bottom: 64px !important;
  }
  .u-tab-pl-64 {
    padding-left: 64px !important;
  }
  .u-tab-px-64 {
    padding-left: 64px !important;
    padding-right: 64px !important;
  }
  .u-tab-py-64 {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
  .u-tab-p-80 {
    padding: 80px !important;
  }
  .u-tab-pt-80 {
    padding-top: 80px !important;
  }
  .u-tab-pr-80 {
    padding-right: 80px !important;
  }
  .u-tab-pb-80 {
    padding-bottom: 80px !important;
  }
  .u-tab-pl-80 {
    padding-left: 80px !important;
  }
  .u-tab-px-80 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .u-tab-py-80 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .u-tab-p-96 {
    padding: 96px !important;
  }
  .u-tab-pt-96 {
    padding-top: 96px !important;
  }
  .u-tab-pr-96 {
    padding-right: 96px !important;
  }
  .u-tab-pb-96 {
    padding-bottom: 96px !important;
  }
  .u-tab-pl-96 {
    padding-left: 96px !important;
  }
  .u-tab-px-96 {
    padding-left: 96px !important;
    padding-right: 96px !important;
  }
  .u-tab-py-96 {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
  .u-tab-p-128 {
    padding: 128px !important;
  }
  .u-tab-pt-128 {
    padding-top: 128px !important;
  }
  .u-tab-pr-128 {
    padding-right: 128px !important;
  }
  .u-tab-pb-128 {
    padding-bottom: 128px !important;
  }
  .u-tab-pl-128 {
    padding-left: 128px !important;
  }
  .u-tab-px-128 {
    padding-left: 128px !important;
    padding-right: 128px !important;
  }
  .u-tab-py-128 {
    padding-top: 128px !important;
    padding-bottom: 128px !important;
  }
}
.u-mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.icon-circlebg,
.icon-circleborder {
  display: inline-block;
  border-radius: 100%;
  position: relative;
  width: 1.1em;
  height: 1.1em;
  transition: 0.25s;
}
.icon-circlebg .icon,
.icon-circleborder .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.6);
}

.icon-circleborder {
  background: #fff;
  border: #222222 2px solid;
}
.icon-circleborder .icon::before {
  background-color: #222222;
}

.icon {
  display: inline-block;
  width: 100%;
  height: 100%;
}

.icon::before {
  display: block;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: 0.25s;
}

.icon-color-black:before {
  background-color: #000;
}

.icon-color-red:before {
  background-color: #da435a;
}

.icon--lang {
  vertical-align: sub;
}
.icon--lang::before {
  -webkit-mask-image: url("assets/svg/icon-lang.svg");
          mask-image: url("assets/svg/icon-lang.svg");
}

.icon--blank {
  vertical-align: sub;
}
.icon--blank::before {
  -webkit-mask-image: url("assets/svg/icon-blank.svg");
          mask-image: url("assets/svg/icon-blank.svg");
}

.icon--arrow::before {
  -webkit-mask-image: url("assets/svg/icon-arrow.svg");
          mask-image: url("assets/svg/icon-arrow.svg");
  margin-left: 10%;
}

.icon--arrow2::before {
  -webkit-mask-image: url("assets/svg/icon-arrow2.svg");
          mask-image: url("assets/svg/icon-arrow2.svg");
}

.icon--train::before {
  -webkit-mask-image: url("assets/svg/icon-train.svg");
          mask-image: url("assets/svg/icon-train.svg");
}

.icon--map {
  vertical-align: sub;
}
.icon--map::before {
  -webkit-mask-image: url("assets/svg/icon-map.svg");
          mask-image: url("assets/svg/icon-map.svg");
}

.icon--web {
  vertical-align: sub;
}
.icon--web::before {
  -webkit-mask-image: url("assets/svg/icon-web.svg");
          mask-image: url("assets/svg/icon-web.svg");
}

.icon--download::before {
  -webkit-mask-image: url("assets/svg/icon-download.svg");
          mask-image: url("assets/svg/icon-download.svg");
}

.icon--pdf::before {
  -webkit-mask-image: url("assets/svg/icon-pdf.svg");
          mask-image: url("assets/svg/icon-pdf.svg");
}

.icon--warn::before {
  -webkit-mask-image: url("assets/svg/icon-warn.svg");
          mask-image: url("assets/svg/icon-warn.svg");
}

.icon--clock::before {
  -webkit-mask-image: url("assets/svg/icon-clock.svg");
          mask-image: url("assets/svg/icon-clock.svg");
}

.icon--price::before {
  -webkit-mask-image: url("assets/svg/icon-price.svg");
          mask-image: url("assets/svg/icon-price.svg");
}

.icon--c_walk::before {
  -webkit-mask-image: url("assets/svg/icon-c_walk.svg");
          mask-image: url("assets/svg/icon-c_walk.svg");
}

.icon--bus::before {
  -webkit-mask-image: url("assets/svg/icon-bus.svg");
          mask-image: url("assets/svg/icon-bus.svg");
}

.icon--car::before {
  -webkit-mask-image: url("assets/svg/icon-car.svg");
          mask-image: url("assets/svg/icon-car.svg");
}

.u-display-block {
  display: block;
}

.u-display-inline-block {
  display: inline-block;
}

.u-bg-black {
  background-color: black;
}

.u-bg-white {
  background-color: white;
}

.u-color-white {
  color: #fff !important;
}

.u-color-black {
  color: #000 !important;
}

.u-pc-none {
  display: none;
}
@media (max-width: 767px) {
  .u-pc-none {
    display: block !important;
  }
}

.u-sp-none {
  display: block;
}
@media (max-width: 767px) {
  .u-sp-none {
    display: none !important;
  }
}

body.modal-open {
  overflow: hidden;
}

@media (min-width: 768px) and (max-width: 1200px) {
  .u-tab-none {
    display: none !important;
  }
}

.u-tab-only {
  display: none;
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-tab-only {
    display: block !important;
  }
}

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

.u-bg-brand-gradation-light {
  position: relative;
  z-index: 0;
}

.u-bg-brand-gradation-light-hoverable {
  position: relative;
  z-index: 0;
}
.u-bg-brand-gradation-light-hoverable:before, .u-bg-brand-gradation-light-hoverable:after {
  content: "";
  width: 100%;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: 0.4s ease-in-out;
}
.u-bg-brand-gradation-light-hoverable:before {
  opacity: 1;
  z-index: -1;
}
.u-bg-brand-gradation-light-hoverable:after {
  opacity: 0;
  z-index: -1;
}
@media (hover: hover) {
  .u-bg-brand-gradation-light-hoverable:hover:after {
    opacity: 1;
  }
  .u-bg-brand-gradation-light-hoverable:hover:before {
    opacity: 0;
  }
}

.u-bg-brand-gradation-hoverable {
  position: relative;
  z-index: 0;
}
.u-bg-brand-gradation-hoverable:before, .u-bg-brand-gradation-hoverable:after {
  content: "";
  width: 100%;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: 0.4s ease-in-out;
}
.u-bg-brand-gradation-hoverable:before {
  opacity: 1;
  z-index: -1;
}
.u-bg-brand-gradation-hoverable:after {
  opacity: 0;
  z-index: -1;
}
@media (hover: hover) {
  .u-bg-brand-gradation-hoverable:hover:after {
    opacity: 1;
  }
  .u-bg-brand-gradation-hoverable:hover:before {
    opacity: 0;
  }
}

.u-anchor-margin {
  scroll-margin-top: 100px;
}
@media (max-width: 767px) {
  .u-anchor-margin {
    scroll-margin-top: 70px;
  }
}