@charset "UTF-8";

@font-face {
  font-family: "Nissan Brand";
  font-style: normal;
  font-weight: normal;
  src: url(../FONT/NissanBrand-Regular.ttf) format("truetype");
}

@font-face {
  font-family: "Nissan Brand";
  font-style: normal;
  font-weight: bold;
  src: url("/COMMON/GN/FONTS/NissanBrandW01-Bold.ttf") format("truetype");
}

h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
dl,
dt,
dd {
  padding: 0;
  margin: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  margin: 0;
  overflow-x: hidden;
}

.newbalance-activation * {
  font-family: Nissan Brand, ShinGoPro-Regular, sans-serif !important;
}

.newbalance-activation img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.newbalance-activation ul[class] > li,
.newbalance-activation ol[class] > li {
  list-style-type: none;
}

.newbalance-activation button {
  padding: 0;
  margin: 0;
  cursor: pointer;
  background: none;
  border: none;
}

@media (max-width: 768px) {
  .newbalance-activation .pc-view {
    display: none;
  }
}

.newbalance-activation .sp-view {
  display: none;
}

@media (max-width: 768px) {
  .newbalance-activation .sp-view {
    display: inline-block;
  }
}

/* header */
.p-header {
  position: absolute;
  top: 27.8px;
  left: 37.5px;
  z-index: 5;
}

@media (max-width: 768px) {
  .p-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-height: 50px;
    padding: 18.6px 4vw;
    background-color: rgba(232, 235, 240, 0.8);
  }
}

.p-header-logo {
  position: relative;
  z-index: 6;
  width: 113px;
}

@media (max-width: 768px) {
  .p-header-logo {
    width: 120px;
  }
}

.p-header-logo-svg {
  fill: #fff;
}

.p-header-logo img,
.p-header-logo svg {
  display: block;
}

#gn_footer {
  margin-top: 10.7142857143vw;
}

.navbtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 5;
  display: none;
  width: 50px;
  height: 50px;
  cursor: pointer;
  border-radius: 5px;
}

@media (max-width: 768px) {
  .navbtn {
    display: block;
  }
}

.navbtn span {
  /* アニメーションの設定 */
  position: absolute;
  left: 14px;
  display: inline-block;
  width: 45%;
  height: 3px;
  background: #2c36fc;
  border-radius: 2px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.navbtn span:nth-child(1) {
  top: 15px;
}

.navbtn span:nth-child(2) {
  top: 23px;
}

.navbtn span:nth-child(3) {
  top: 31px;
}

/* sp navmenu */
.menu {
  display: none;
}

.menu.is-open {
  display: block;
}

.menu-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 50px 0 0;
  overflow: auto;
  background-color: #2c36fc;
}

.menu-logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  padding: 18.6px 0;
  margin-left: 4vw;
}

.menu-logo a {
  outline: none;
}

.menu-logo img {
  display: block;
}

.menu-close-button {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 50px;
  height: 50px;
  cursor: pointer;
  background: #2c36fc;
  border-radius: 5px;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.menu-close-button.focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

.menu-close-button:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

.menu-close-button span {
  /* アニメーションの設定 */
  position: absolute;
  left: 14px;
  display: inline-block;
  width: 45%;
  height: 3px;
  background: #fff;
  border-radius: 2px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.menu-close-button span:nth-child(1) {
  top: 18px;
  left: 13px;
  width: 50%;
  -webkit-transform: translateY(6px) rotate(-45deg);
  transform: translateY(6px) rotate(-45deg);
}

.menu-close-button span:nth-child(2) {
  opacity: 0;

  /* 真ん中の線は透過 */
}

.menu-close-button span:nth-child(3) {
  top: 30px;
  left: 13px;
  width: 50%;
  -webkit-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg);
}

.menu-container {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border-top: 3px solid #fff;
}

.menu-content {
  position: relative;
}

.menu[aria-hidden=false] .menu-backdrop {
  -webkit-animation: fadein 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: fadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.menu[aria-hidden=false] .menu-container {
  -webkit-animation: slidein 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: slideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.menu[aria-hidden=true] .menu-backdrop {
  -webkit-animation: fadeout 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: fadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.menu[aria-hidden=true] .menu-container {
  -webkit-animation: slideout 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: slideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.menu-list {
  padding: 0;
  margin: 0;
  margin-top: 18.6666666667vw;
  list-style: none;
}

.menu-item {
  position: relative;
}

.menu-item + .menu-item {
  margin-top: 2.16em;
}

.menu-item-link {
  display: block;
  padding: 0.5em 0;
  font-size: 4vw;
  line-height: 2.16;
  color: #fff;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.12em;
  outline: none;
}

/* contents */
.mv {
  position: relative;
}

.mv .nav {
  position: absolute;
  bottom: 2.2857142857vw;
  left: 50%;
  z-index: 2;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media (max-width: 768px) {
  .mv .nav {
    display: none;
  }
}

.mv .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 57.6428571429vw;
}

.mv .nav-list-item-link {
  display: block;
  font-weight: bold;
  line-height: 1;
  color: #2c36fc;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.32em;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

.mv .nav-list-item-link-concept {
  width: 8.3571428571vw;
}

.mv .nav-list-item-link-design {
  width: 7.5vw;
}

.mv .nav-list-item-link-tvcm {
  width: 7.5vw;
}

.mv .nav-list-item-link-pickup {
  width: 8.2857142857vw;
}

@media (any-hover: hover) {
  .mv .nav-list-item-link:hover {
    opacity: 0.3;
  }
}

.mv-scroll {
  position: absolute;
  bottom: 9.867%;
  left: 50%;
  z-index: 1;
  width: 17px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-animation: arrowmove 1s ease-in-out infinite;
  animation: arrowmove 1s ease-in-out infinite;
}

@media (max-width: 768px) {
  .mv-scroll {
    right: 2vw;
    bottom: 5.33%;
    left: auto;
    width: 3.2vw;
    -webkit-animation: arrowmovesp 1s ease-in-out infinite;
    animation: arrowmovesp 1s ease-in-out infinite;
  }
}

.intro-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #ededee;
}

@media (max-width: 768px) {
  .intro-inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.intro-info {
  width: 50%;
  overflow: hidden;
  background-color: #fafafa;
}

@media (max-width: 768px) {
  .intro-info {
    width: 100%;
  }
}

.intro-info-ttl {
  padding: 4.8571428571vw 14vw 4.7714285714vw 13.9285714286vw;
  background-color: #2c36fc;
}

@media (max-width: 768px) {
  .intro-info-ttl {
    padding: 8.5333333333vw 23.5333333333vw 8.4266666667vw 23.4666666667vw;
  }
}

.intro-info-txt {
  padding: 4.4285714286vw 6.5428571429vw 4.8428571429vw 6.5vw;
  background-color: #fafafa;
}

@media (max-width: 768px) {
  .intro-info-txt {
    padding: 9.3333333333vw 7.6266666667vw 10.6666666667vw 7.7333333333vw;
  }
}

.intro-img {
  width: 50%;
}

@media (max-width: 768px) {
  .intro-img {
    width: 100%;
  }
}

.design {
  padding-top: 5.7142857143vw;
}

@media (max-width: 768px) {
  .design {
    padding-top: 12vw;
  }
}

.design-ttl {
  font-size: 1.5714285714vw;
  font-weight: bold;
  color: #2c36fc;
  text-align: center;
  letter-spacing: 0.54em;
}

@media (max-width: 768px) {
  .design-ttl {
    font-size: 4.2666666667vw;
    letter-spacing: 0.35em;
  }
}

.design-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 92.1428571429vw;
  margin: 2.8571428571vw auto 0;
}

@media (max-width: 768px) {
  .design-list {
    width: 100%;
    padding: 0 3.3333333333vw 0;
    margin-top: 5.3333333333vw;
  }
}

.design-list-item {
  width: 22.7142857143vw;
  overflow: hidden;
  cursor: pointer;
}

@media (max-width: 768px) {
  .design-list-item {
    width: 46vw;
  }
}

@media (max-width: 768px) {
  .design-list-item:nth-child(n+3) {
    margin-top: 1.3333333333vw;
  }
}

.design-list-item:nth-child(n+5) {
  margin-top: 0.4285714286vw;
}

@media (max-width: 768px) {
  .design-list-item:nth-child(n+5) {
    margin-top: 1.3333333333vw;
  }
}

.design-list-item img {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

@media (any-hover: hover) {
  .design-list-item:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.design-brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 92.1428571429vw;
  margin: 0.4285714286vw auto 0;
}

@media (max-width: 768px) {
  .design-brand {
    width: 100%;
    padding: 0 3.3333333333vw;
    margin-top: 1.3333333333vw;
  }
}

.design-brand-box {
  position: relative;
  width: 45.8571428571vw;
  padding: 2.2142857143vw 0 2.2142857143vw 4vw;
}

@media (max-width: 768px) {
  .design-brand-box {
    width: 100%;
    padding: 6.6666666667vw 0 6vw 4vw;
  }
}

@media (max-width: 768px) {
  .design-brand-box + .design-brand-box {
    margin-top: 1.3333333333vw;
  }
}

.design-brand-box-nissan {
  background: url(../IMAGES/design_bg_nissan.jpg) 0 0 no-repeat #2c36fc;
  background-size: 100% auto;
}

@media (max-width: 768px) {
  .design-brand-box-nissan {
    background: url(../IMAGES/design_bg_nissan_sp.jpg) 0 100% no-repeat #2c36fc;
    background-size: 100% auto;
  }
}

.design-brand-box-nb {
  background: url(../IMAGES/design_bg_nb.jpg) 0 0 no-repeat #2c36fc;
  background-size: 100% auto;
}

@media (max-width: 768px) {
  .design-brand-box-nb {
    background: url(../IMAGES/design_bg_nb_sp.jpg) 0 100% no-repeat #2c36fc;
    background-size: 100% auto;
  }
}

.design-brand-box-ttl {
  font-size: 2.1428571429vw;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.15em;
}

@media (max-width: 768px) {
  .design-brand-box-ttl {
    font-size: 4.8vw;
  }
}

.design-brand-box-txt {
  margin-top: 1.0714285714vw;
  font-size: 1.0714285714vw;
  font-weight: normal;
  line-height: 1.86;
  color: #fff;
  letter-spacing: 0.1em;
}

@media (max-width: 768px) {
  .design-brand-box-txt {
    margin-top: 2.9333333333vw;
    font-size: 2.8vw;
    line-height: 1.71;
    letter-spacing: 0.09em;
  }
}

.design-brand-box-txt .nbfont {
  font-size: 1.2857142857vw;
}

@media (max-width: 768px) {
  .design-brand-box-txt .nbfont {
    font-size: 3.2vw;
  }
}

.design-brand-box-btn {
  position: relative;
  display: inline-block;
  width: 15.7142857143vw;
  padding: 0.7142857143vw 0;
  margin-top: 2vw;
  font-size: 1.2857142857vw;
  line-height: 1;
  color: #2c36fc;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.11em;
  background-color: #fff;
  border-radius: 1.4285714286vw;
}

@media (max-width: 768px) {
  .design-brand-box-btn {
    width: 40.8vw;
    padding: 1.7333333333vw 0;
    margin-top: 5.3333333333vw;
    font-size: 3.2vw;
    border-radius: 3.7333333333vw;
  }
}

.design-brand-box-btn::after {
  position: absolute;
  top: 50%;
  right: 0.8785714286vw;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-color: transparent transparent transparent #2c36fc;
  border-style: solid;
  border-width: 0.25vw 0 0.25vw 0.7857142857vw;
  -webkit-transition: right 0.4s;
  transition: right 0.4s;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .design-brand-box-btn::after {
    right: 1.8666666667vw;
    border-width: 0.7vw 0 0.7vw 2vw;
  }
}

@media (any-hover: hover) {
  .design-brand-box-btn:hover::after {
    right: 0.5714285714vw;
  }
}

.design-brand-box-icon {
  position: absolute;
  top: 0;
  right: 0;
}

.design-brand-box-icon-nissan {
  top: 2.3785714286vw;
  right: 4.7357142857vw;
  width: 3.9285714286vw;
}

@media (max-width: 768px) {
  .design-brand-box-icon-nissan {
    top: 4.12vw;
    right: 5.6533333333vw;
    width: 11.2vw;
  }
}

.design-brand-box-icon-nb {
  top: 2.9vw;
  right: 4.5vw;
  width: 4.7857142857vw;
}

@media (max-width: 768px) {
  .design-brand-box-icon-nb {
    top: 6.5733333333vw;
    right: 6.8666666667vw;
    width: 9.3333333333vw;
  }
}

.campaign {
  padding: 6.4285714286vw 0 0;
}

@media (max-width: 768px) {
  .campaign {
    padding: 13.3333333333vw 0 0;
  }
}

.campaign-inner {
  width: 100%;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .campaign-inner {
    width: 100%;
  }
}

.campaign-bg {
  padding: 5.7142857143vw 0 6.0714285714vw;
  background: url(../IMAGES/campaign_bg_comingsoon.jpg) 0 0 no-repeat;
  background-size: 100% auto;
}

@media (max-width: 768px) {
  .campaign-bg {
    padding: 8vw 0 13.3333333333vw;
    background: url(../IMAGES/campaign_bg_comingsoon_sp.jpg) 0 0 no-repeat;
    background-size: cover;
  }
}

.campaign-close {
  width: 84.1428571429vw;
  padding: 1.0714285714vw 0;
  margin: 2.4285714286vw auto 0;
  background: url(../IMAGES/campaign_end_bg.png) 0 0 no-repeat;
  background-size: cover;
}

@media (max-width: 768px) {
  .campaign-close {
    width: 93.3333333333vw;
    padding: 3.0666666667vw 0;
    margin-top: 3.7333333333vw;
    background: url(../IMAGES/campaign_end_bg_sp.png) 0 0 no-repeat;
    background-size: cover;
  }
}

.campaign-close-txt {
  font-size: 1.4285714286vw;
  line-height: 1.65;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
}

@media (max-width: 768px) {
  .campaign-close-txt {
    font-size: 3.4666666667vw;
    line-height: 1.538;
  }
}

.campaign-ttl {
  font-size: 1.5714285714vw;
  font-weight: bold;
  color: #2c36fc;
  text-align: center;
  letter-spacing: 0.54em;
}

@media (max-width: 768px) {
  .campaign-ttl {
    font-size: 4.2666666667vw;
    letter-spacing: 0.35em;
  }
}

.campaign-main {
  margin-top: 2.8571428571vw;
}

@media (max-width: 768px) {
  .campaign-main {
    margin-top: 5.3333333333vw;
  }
}

.campaign-intro-ttl {
  font-size: 2.5714285714vw;
  line-height: 1;
  color: #2c36fc;
  text-align: center;
  letter-spacing: 0.16em;
}

@media (max-width: 768px) {
  .campaign-intro-ttl {
    font-size: 6.4vw;
  }
}

.campaign-intro-contents-data {
  margin-top: 1.2857142857vw;
  font-size: 1.5714285714vw;
  font-weight: bold;
  line-height: 1;
  color: #2c36fc;
  text-align: center;
  letter-spacing: 0.4em;
}

@media (max-width: 768px) {
  .campaign-intro-contents-data {
    margin-top: 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}

.campaign-intro-contents-txts {
  margin-top: 2.25vw;
}

@media (max-width: 768px) {
  .campaign-intro-contents-txts {
    margin-top: 6.6666666667vw;
  }
}

.campaign-intro-contents-txts-txt {
  font-size: 1.1428571429vw;
  line-height: 2.3571428571vw;
  color: #2c36fc;
  text-align: center;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .campaign-intro-contents-txts-txt {
    font-size: 2.9333333333vw;
    line-height: 5.8666666667vw;
  }
}

.campaign-intro-contents-txts-txt + .campaign-intro-contents-txts-txt {
  margin-top: 2.0625em;
}

@media (max-width: 768px) {
  .campaign-intro-contents-txts-txt + .campaign-intro-contents-txts-txt {
    margin-top: 2.2em;
  }
}

.campaign-intro .nbfont {
  font-size: 1.3571428571vw;
}

@media (max-width: 768px) {
  .campaign-intro .nbfont {
    font-size: 3.3333333333vw;
  }
}

.campaign-prize {
  margin-top: 3.5714285714vw;
}

@media (max-width: 768px) {
  .campaign-prize {
    margin-top: 6.6666666667vw;
  }
}

.campaign-prize-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 2.8571428571vw 3.9285714286vw 2.2857142857vw 3.9285714286vw;
  background-color: #fff;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
}

@media (max-width: 768px) {
  .campaign-prize-box {
    padding: 5.3333333333vw 3.3333333333vw 5.3333333333vw;
  }
}

.campaign-prize-box-left {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 44.6428571429vw;
}

@media (max-width: 768px) {
  .campaign-prize-box-left {
    width: 100%;
  }
}

.campaign-prize-box-b {
  margin-top: 3.5714285714vw;
}

@media (max-width: 768px) {
  .campaign-prize-box-b {
    margin-top: 7.7333333333vw;
  }
}

.campaign-prize-box-ttl {
  width: 36.2142857143vw;
}

@media (max-width: 768px) {
  .campaign-prize-box-ttl {
    width: 80.2666666667vw;
  }
}

.campaign-prize-box-img {
  margin-top: 1.2857142857vw;
}

@media (max-width: 768px) {
  .campaign-prize-box-img {
    margin-top: 3.3333333333vw;
  }
}

.campaign-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  padding: 3.2142857143vw 3.9285714286vw 3.0714285714vw;
  margin-top: 3.5714285714vw;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
}

@media (max-width: 768px) {
  .campaign-info {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 8vw 6vw 7.7333333333vw;
    margin-top: 9.3333333333vw;
  }
}

@media (max-width: 768px) {
  .campaign-info-cont {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .campaign-info-cont:nth-child(2) {
    margin-top: 5.8666666667vw;
  }
}

.campaign-info-box {
  width: 37.8571428571vw;
}

@media (max-width: 768px) {
  .campaign-info-box {
    width: 100%;
  }
}

.campaign-info-box:nth-child(n+2) {
  margin-top: 1.8571428571vw;
}

@media (max-width: 768px) {
  .campaign-info-box:nth-child(n+2) {
    margin-top: 5.8666666667vw;
  }
}

.campaign-info-box-title {
  padding: 0.5vw 0 0.4285714286vw 1.0714285714vw;
  font-size: 1.0714285714vw;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.07em;
  background-color: #2c36fc;
}

@media (max-width: 768px) {
  .campaign-info-box-title {
    padding: 1.3333333333vw 2.5333333333vw;
    font-size: 2.9333333333vw;
  }
}

.campaign-info-box-data {
  margin-top: 0.5714285714vw;
  font-size: 1.0714285714vw;
  line-height: 1.8571428571vw;
  color: #2c36fc;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .campaign-info-box-data {
    margin-top: 1.7333333333vw;
    font-size: 2.9333333333vw;
    line-height: 4.8vw;
  }
}

.campaign-info-box-data .nbfont {
  font-size: 1.2857142857vw;
  font-weight: normal;
}

@media (max-width: 768px) {
  .campaign-info-box-data .nbfont {
    font-size: 3.3333333333vw;
  }
}

.campaign-info-box-data-list-item {
  margin-top: 0.8571428571vw;
}

@media (max-width: 768px) {
  .campaign-info-box-data-list-item {
    margin-top: 1.7333333333vw;
  }
}

.campaign-info-box-data-list-item:nth-child(n+2) {
  margin-top: 0.3571428571vw;
}

@media (max-width: 768px) {
  .campaign-info-box-data-list-item:nth-child(n+2) {
    margin-top: 1.4666666667vw;
  }
}

.campaign-info-box-data-list-item-note {
  font-size: 0.9285714286vw;
}

@media (max-width: 768px) {
  .campaign-info-box-data-list-item-note {
    font-size: 2.6666666667vw;
  }
}

.campaign-info-box-data-note {
  margin-top: 1.5714285714vw;
  font-size: 1.0714285714vw;
  line-height: 2.3571428571vw;
  color: #2c36fc;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .campaign-info-box-data-note {
    margin-top: 5.8666666667vw;
    font-size: 2.9333333333vw;
    line-height: 1;
  }
}

@media (any-hover: hover) {
  .campaign-info-box-data-note-link:hover {
    text-decoration: none;
  }
}

.campaign-award-box {
  position: relative;
  width: 38vw;
  padding-top: 1.7857142857vw;
}

@media (max-width: 768px) {
  .campaign-award-box {
    width: 100%;
    padding-top: 0;
    margin-top: 5.3333333333vw;
  }
}

.campaign-award-box-img {
  width: 38.2857142857vw;
  margin-top: 1.2142857143vw;
}

@media (max-width: 768px) {
  .campaign-award-box-img {
    width: 100%;
    margin-top: 3.3733333333vw;
  }
}

.campaign-award-box-txts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.3571428571vw;
}

@media (max-width: 768px) {
  .campaign-award-box-txts {
    margin-top: 2vw;
  }
}

.campaign-award-box-txts-txt {
  font-family: ShinGoPro-Regular, sans-serif !important;
  font-size: 1.0714285714vw;
  line-height: 1.733;
  color: #2c36fc;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .campaign-award-box-txts-txt {
    font-size: 2.9333333333vw;
    line-height: 4.8vw;
  }
}

.campaign-award-box-txts-txt .nbfont {
  font-size: 1.2142857143vw;
}

@media (max-width: 768px) {
  .campaign-award-box-txts-txt .nbfont {
    font-size: 2.9333333333vw;
  }
}

.campaign-award-box-txts-txt a.nolink {
  text-decoration: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

@media (any-hover: hover) {
  .campaign-award-box-txts-txt a:hover {
    text-decoration: none;
  }
}

.campaign-award-box-txts-txt-step1a {
  width: 10.7142857143vw;
  margin-left: 0.8571428571vw;
}

@media (max-width: 768px) {
  .campaign-award-box-txts-txt-step1a {
    width: 26.6666666667vw;
    margin-left: 1.6vw;
  }
}

.campaign-award-box-txts-txt-step2a {
  width: 13.9285714286vw;
  margin-left: 2.1428571429vw;
}

@media (max-width: 768px) {
  .campaign-award-box-txts-txt-step2a {
    width: 32.6666666667vw;
    margin-left: 2.6666666667vw;
  }
}

.campaign-award-box-txts-txt-step3a {
  width: 8.5714285714vw;
  margin-left: 0.8571428571vw;
}

@media (max-width: 768px) {
  .campaign-award-box-txts-txt-step3a {
    width: 21.8666666667vw;
    margin-left: 2.8vw;
  }
}

.campaign-award-box-txts-txt-step1b {
  width: 11.4285714286vw;
  margin-left: 0.8571428571vw;
}

@media (max-width: 768px) {
  .campaign-award-box-txts-txt-step1b {
    width: 27.3333333333vw;
    margin-left: 1.6vw;
  }
}

.campaign-award-box-txts-txt-step2b {
  width: 11.4285714286vw;
  margin-left: 2.1428571429vw;
}

@media (max-width: 768px) {
  .campaign-award-box-txts-txt-step2b {
    width: 28vw;
    margin-left: 2.4666666667vw;
  }
}

.campaign-award-box-txts-txt-step3b {
  width: 11.7142857143vw;
  margin-left: 0.8571428571vw;
}

@media (max-width: 768px) {
  .campaign-award-box-txts-txt-step3b {
    width: 30.4vw;
    margin-left: 2.4vw;
  }
}

.campaign-award-box-notes {
  width: 100%;
}

@media (max-width: 768px) {
  .campaign-award-box-notes {
    padding: 0 2.4vw;
  }
}

.campaign-award-box-notes-txt {
  margin-top: 1.4285714286vw;
  font-size: 0.9285714286vw;
  line-height: 1;
  color: #2c36fc;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .campaign-award-box-notes-txt {
    margin-top: 5.0666666667vw;
    font-size: 2.6666666667vw;
    line-height: 4.8vw;
  }
}

.campaign-award-box-notes-txt .nbfont {
  font-size: 1.0714285714vw;
  font-weight: normal;
}

@media (max-width: 768px) {
  .campaign-award-box-notes-txt .nbfont {
    font-size: 2.9333333333vw;
  }
}

.campaign-award-box-notes-txt a {
  text-decoration: underline;
  cursor: pointer;
}

@media (any-hover: hover) {
  .campaign-award-box-notes-txt a:hover {
    text-decoration: none;
  }
}

.campaign-award-box-notes-txt + .campaign-award-box-notes-txt {
  margin-top: 0.7857142857vw;
}

@media (max-width: 768px) {
  .campaign-award-box-notes-txt + .campaign-award-box-notes-txt {
    margin-top: 0.6666666667vw;
  }
}

.campaign-award-box-close {
  position: absolute;
  top: 5vw;
  left: 0.2857142857vw;
  width: 99.2%;
  padding: 9.6428571429vw 0;
  background-color: rgba(0, 0, 0, 0.6);
}

@media (max-width: 768px) {
  .campaign-award-box-close {
    top: 10.4vw;
    padding: 24.6666666667vw 0;
  }
}

.campaign-award-box-close-b {
  padding: 8.7857142857vw 0;
}

@media (max-width: 768px) {
  .campaign-award-box-close-b {
    padding: 19.3333333333vw 0;
  }
}

.campaign-award-box-close-txt {
  font-size: 1.2857142857vw;
  color: #fff;
  text-align: center;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .campaign-award-box-close-txt {
    font-size: 3.4666666667vw;
  }
}

.campaign-exhibition {
  padding: 0 7.8571428571vw 0;
}

@media (max-width: 768px) {
  .campaign-exhibition {
    padding: 8vw 0 0;
  }
}

.campaign-exhibition-ttl {
  font-size: 1.5714285714vw;
  line-height: 1;
  color: #2c36fc;
  text-align: center;
  letter-spacing: 0.36em;
}

@media (max-width: 768px) {
  .campaign-exhibition-ttl {
    font-size: 3.7333333333vw;
    letter-spacing: 0.22em;
  }
}

.campaign-exhibition-box {
  margin-top: 2.1428571429vw;
}

@media (max-width: 768px) {
  .campaign-exhibition-box {
    margin-top: 4vw;
  }
}

.campaign-exhibition-box + .campaign-exhibition-box {
  margin-top: 2.1428571429vw;
}

@media (max-width: 768px) {
  .campaign-exhibition-box + .campaign-exhibition-box {
    margin-top: 6.6666666667vw;
  }
}

.campaign-exhibition-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #2c36fc;
}

@media (max-width: 768px) {
  .campaign-exhibition-inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.campaign-exhibition-inner-run {
  background-color: #fff;
}

.campaign-exhibition-inner-run .campaign-exhibition-info {
  color: #2c36fc;
}

.campaign-exhibition-inner-run .campaign-exhibition-info-term::after {
  border-color: #2c36fc;
}

.campaign-exhibition-inner-run .campaign-exhibition-info-ttl-category {
  color: #fff;
  background-color: #2c36fc;
}

.campaign-exhibition-img {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 35.2857142857vw;
}

@media (max-width: 768px) {
  .campaign-exhibition-img {
    width: 100%;
  }
}

.campaign-exhibition-info {
  width: 100%;
  padding: 2.6428571429vw 0 0 0.1428571429vw;
  margin-left: 3.5714285714vw;
  color: #fff;
}

@media (max-width: 768px) {
  .campaign-exhibition-info {
    width: 100%;
    padding: 5.6vw 0 7.0666666667vw 4.8vw;
    margin: 0;
  }
}

.campaign-exhibition-info-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  font-size: 2vw;
  line-height: 1;
  letter-spacing: 0.07em;
  -webkit-box-align: center;
  -ms-flex-align: center;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-ttl {
    font-size: 4.2666666667vw;
  }
}

.campaign-exhibition-info-ttl.nbfont {
  font-size: 2.4285714286vw;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-ttl.nbfont {
    font-size: 5.0666666667vw;
  }
}

.campaign-exhibition-info-ttl-category {
  display: inline-block;
  padding: 0.5vw 1.0714285714vw;
  margin-right: 0.9285714286vw;
  font-size: 1.2857142857vw;
  line-height: 1;
  color: #2c36fc;
  letter-spacing: 0.07em;
  background-color: #fff;
  border-radius: 0.3571428571vw;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-ttl-category {
    padding: 1.0666666667vw 2.4vw;
    margin-right: 2vw;
    font-size: 2.9333333333vw;
    border-radius: 0.6666666667vw;
  }
}

.campaign-exhibition-info-term {
  position: relative;
  padding-bottom: 1.8571428571vw;
  margin-top: 1.1428571429vw;
  font-size: 1.5714285714vw;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.3em;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-term {
    padding-bottom: 4vw;
    margin-top: 2vw;
    font-size: 4vw;
    letter-spacing: 0.15em;
    white-space: nowrap;
  }
}

.campaign-exhibition-info-term::after {
  position: absolute;
  bottom: 0;
  left: -0.1071428571vw;
  display: block;
  width: 6.0714285714vw;
  content: "";
  border-bottom: 2px solid #fff;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-term::after {
    width: 13.3333333333vw;
  }
}

.campaign-exhibition-info-term .day {
  font-size: 1.2142857143vw;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-term .day {
    font-size: 3.3333333333vw;
  }
}

.campaign-exhibition-info-txt {
  min-height: 4.125em;
  margin-top: 1.1428571429vw;
  font-size: 1.1428571429vw;
  line-height: 2.3571428571vw;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-txt {
    min-height: auto;
    margin-top: 3.4666666667vw;
    font-size: 2.9333333333vw;
    line-height: 4.8vw;
  }
}

.campaign-exhibition-info-txt .nbfont {
  font-size: 1.3571428571vw;
  line-height: 2.3571428571vw;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-txt .nbfont {
    font-size: 3.3333333333vw;
    line-height: 4.8vw;
  }
}

.campaign-exhibition-info-data {
  font-size: 1.1428571429vw;
  line-height: 1.4;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-data {
    margin-top: 0.6666666667vw;
    font-size: 2.9333333333vw;
  }
}

.campaign-exhibition-info-data .nbfont {
  font-size: 1.2857142857vw;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-data .nbfont {
    font-size: 3.0666666667vw;
  }
}

.campaign-exhibition-info-note {
  margin-top: 0.3571428571vw;
  font-size: 1vw;
  line-height: 1.4;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-note {
    margin-top: 0.6666666667vw;
    font-size: 2.6666666667vw;
  }
}

.campaign-exhibition-info-link {
  display: inline-block;
  margin-top: 1.2857142857vw;
  font-size: 1.1428571429vw;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.07em;
}

@media (any-hover: hover) {
  .campaign-exhibition-info-link:hover {
    text-decoration: none;
  }
}

@media (max-width: 768px) {
  .campaign-exhibition-info-link {
    margin-top: 4vw;
    font-size: 2.9333333333vw;
  }
}

.campaign-exhibition-info-link .nbfont {
  font-size: 1.3571428571vw;
}

@media (max-width: 768px) {
  .campaign-exhibition-info-link .nbfont {
    font-size: 3.3333333333vw;
  }
}

.campaign-exhibition-inner-run .campaign-exhibition-info-txt {
  min-height: auto;
}

.experience {
  padding-top: 5vw;
}

@media (max-width: 768px) {
  .experience {
    padding-top: 10.6666666667vw;
  }
}

.experience-inner {
  padding: 0 7.8571428571vw 5.6428571429vw;
  border-bottom: 2px solid #2c36fc;
}

@media (max-width: 768px) {
  .experience-inner {
    padding: 0 0 14.5333333333vw;
  }
}

.experience-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
}

@media (max-width: 768px) {
  .experience-contents {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.experience-contents-ttl {
  font-size: 2.7142857143vw;
  line-height: 1.447;
  color: #2c36fc;
  letter-spacing: -0.01em;
}

@media (max-width: 768px) {
  .experience-contents-ttl {
    width: 100%;
    font-size: 5.3333333333vw;
    line-height: 1.45;
    text-align: center;
  }
}

.experience-contents-map {
  position: relative;
  width: 40.7857142857vw;
  background-color: #fff;
  border-radius: 0.3571428571vw;
}

@media (max-width: 768px) {
  .experience-contents-map {
    width: 86.8vw;
    margin: 6.6666666667vw 7.2vw 0 6vw;
    border-radius: 0.6666666667vw;
  }
}

.experience-contents-map::before {
  position: absolute;
  top: 0.6428571429vw;
  left: 0.6428571429vw;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #2c36fc;
  border-radius: 0.3571428571vw;
}

@media (max-width: 768px) {
  .experience-contents-map::before {
    top: 1.2vw;
    left: 1.2vw;
    border-radius: 0.6666666667vw;
  }
}

.experience-contents-map-hitarea {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.7142857143vw 2.5714285714vw 2.5vw 2.7142857143vw;
  text-decoration: none;
  border: 2px solid #2c36fc;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
}

@media (any-hover: hover) {
  .experience-contents-map-hitarea:hover .experience-contents-map-hitarea-arrow {
    -webkit-transform: translate3d(30%, 0, 0);
    transform: translate3d(30%, 0, 0);
  }
}

@media (max-width: 768px) {
  .experience-contents-map-hitarea {
    padding: 2.8vw 11.7333333333vw 2.6666666667vw 9.7333333333vw;
    border-bottom: 3px solid #2c36fc;
    border-radius: 0.6666666667vw;
  }
}

.experience-contents-map-hitarea-txt {
  font-size: 1.8571428571vw;
  line-height: 1.423;
  color: #000;
  text-align: center;
  letter-spacing: 0.03em;
}

@media (max-width: 768px) {
  .experience-contents-map-hitarea-txt {
    font-size: 3.8666666667vw;
    line-height: 1.517;
  }
}

.experience-contents-map-hitarea-img {
  width: 18.2857142857vw;
}

@media (max-width: 768px) {
  .experience-contents-map-hitarea-img {
    width: 28.4vw;
  }
}

.experience-contents-map-hitarea-arrow {
  position: absolute;
  right: 2.1428571429vw;
  bottom: 2.4285714286vw;
  width: 2.2142857143vw;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  -webkit-transition-duration: 0.5s, 0.2s;
  transition-duration: 0.5s, 0.2s;
  -webkit-transition-property: background, -webkit-transform;
  transition-property: background, -webkit-transform;
  transition-property: transform, background;
  transition-property: transform, background, -webkit-transform;
}

@media (max-width: 768px) {
  .experience-contents-map-hitarea-arrow {
    right: 3.3333333333vw;
    bottom: 3.2vw;
    width: 6.9333333333vw;
  }
}

.experience-contents-map-hitarea-arrow img {
  display: block;
}

.tvcm {
  padding-top: 6.4285714286vw;
}

@media (max-width: 768px) {
  .tvcm {
    padding-top: 12vw;
  }
}

.tvcm-ttl {
  font-size: 1.5714285714vw;
  font-weight: bold;
  line-height: 1;
  color: #2c36fc;
  text-align: center;
  letter-spacing: 0.54em;
}

@media (max-width: 768px) {
  .tvcm-ttl {
    font-size: 4.2666666667vw;
    letter-spacing: 0.35em;
  }
}

.tvcm-movie {
  position: relative;
  margin-top: 2.1428571429vw;
  cursor: pointer;
}

@media (max-width: 768px) {
  .tvcm-movie {
    margin-top: 5.3333333333vw;
  }
}

.tvcm-movie::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url(../IMAGES/overlay.png);
  background-repeat: repeat;
  background-position: center;
  background-size: 1440px;
}

.tvcm-movie-ico {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  font-size: 5.1428571429vw;
  line-height: 1;
  color: #fff;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media (max-width: 768px) {
  .tvcm-movie-ico {
    font-size: 15.2vw;
  }
}

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

.u-ico-play::before {
  display: inline-block;
  font-family: icon;
  font-style: normal;
  font-weight: 400;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
  font-variant: normal;
  vertical-align: top;
  content: "";
  text-rendering: auto;
}

.u-ico-close {
  font-size: 2.4285714286vw;
  font-weight: normal;
  color: #fff;
}

@media (max-width: 768px) {
  .u-ico-close {
    margin-right: 4vw;
    font-size: 5.3333333333vw;
  }
}

.u-ico-close::before {
  display: inline-block;
  font-family: icon;
  font-style: normal;
  font-weight: 400;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
  font-variant: normal;
  vertical-align: top;
  content: "";
  text-rendering: auto;
}

.pickup {
  padding-top: 6.4285714286vw;
}

@media (max-width: 768px) {
  .pickup {
    padding-top: 13.3333333333vw;
  }
}

.pickup-ttl {
  font-size: 1.5714285714vw;
  font-weight: bold;
  line-height: 1;
  color: #2c36fc;
  text-align: center;
  letter-spacing: 0.54em;
}

@media (max-width: 768px) {
  .pickup-ttl {
    font-size: 4.2666666667vw;
    letter-spacing: 0.35em;
  }
}

.pickup-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 71.2857142857vw;
  margin: 2.8571428571vw auto 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
}

@media (max-width: 768px) {
  .pickup-list {
    width: 100%;
    padding: 0 6vw;
    margin-top: 5.3333333333vw;
  }
}

.pickup-list-bnr {
  position: relative;
  width: 34vw;
}

@media (max-width: 768px) {
  .pickup-list-bnr {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .pickup-list-bnr:nth-child(n+2) {
    margin-top: 6.6666666667vw;
  }
}

.pickup-list-bnr-center {
  margin: 3.2857142857vw auto 0;
}

@media (max-width: 768px) {
  .pickup-list-bnr-center {
    margin-top: 6.6666666667vw;
  }
}

.pickup-list-bnr-txt {
  position: absolute;
  bottom: 1.0714285714vw;
  left: 1.2142857143vw;
  font-size: 1.1428571429vw;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .pickup-list-bnr-txt {
    bottom: 2.8vw;
    left: 3.0666666667vw;
    font-size: 2.5333333333vw;
  }
}

.pickup-list-bnr-txt .nbfont {
  font-size: 1.2857142857vw;
}

@media (max-width: 768px) {
  .pickup-list-bnr-txt .nbfont {
    font-size: 2.9333333333vw;
  }
}

/* Modal */
.modal {
  position: relative;
  z-index: 5;
  display: none;
}

.modal.is-open {
  display: block;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -ms-grid;
  display: grid;
  align-items: center;
  justify-items: center;
  overflow: auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  place-items: center;
}

.modal-backdrop-design {
  padding: 0 7.1428571429vw;
  background-color: rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
  .modal-backdrop-design {
    padding: 0 1.3333333333vw;
  }
}

.modal-backdrop-design .modal-container {
  height: auto;
}

.modal-backdrop-apply {
  padding: 90px 110px;
  background-color: rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
  .modal-backdrop-apply {
    padding: 16vw 3.3333333333vw 6.6666666667vw;
  }
}

.modal-backdrop-apply .modal-container {
  height: auto;
}

@media (max-width: 768px) {
  .modal-backdrop-apply .modal-container {
    height: 100%;
  }
}

.modal-backdrop-apply .modal-content {
  height: 73vh;
  overflow-y: scroll;
  background-color: #fff;
}

.modal-container {
  position: relative;
  width: 100%;
  height: 100%;
  margin: auto;
}

.modal-content {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}

.modal-content-apply {
  padding: 60px 90px 60px 92px;
}

@media (max-width: 768px) {
  .modal-content-apply {
    padding: 9.3333333333vw 4vw 9.3333333333vw 4vw;
  }
}

.modal-content-design {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}

.modal-content-design-img {
  width: 85.7142857143vw;
}

@media (max-width: 768px) {
  .modal-content-design-img {
    width: 100%;
  }
}

.modal-content-design-img:nth-child(n+2) {
  margin-top: 0.7142857143vw;
}

@media (max-width: 768px) {
  .modal-content-design-img:nth-child(n+2) {
    margin-top: 1.0666666667vw;
  }
}

.modal-content-design-img img {
  display: block;
  width: 100%;
  height: auto;
}

.modal-close-button {
  position: absolute;
  top: 1.4285714286vw;
  right: 1.4285714286vw;
  width: 6.3571428571vw;
  height: 6.3571428571vw;
  padding: 0;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
}

@media (max-width: 768px) {
  .modal-close-button {
    top: 2vw;
    right: 1.44vw;
    width: 41px;
    height: 41px;
  }
}

.modal-close-button-design {
  background: rgba(244, 244, 245, 0.7) !important;
  border-radius: 50%;
}

.modal-close-button-design::before,
.modal-close-button-design::after {
  background-color: #2c36fc;
}

.modal-close-button-apply {
  width: 3.5714285714vw;
  height: 3.5714285714vw;
}

@media (max-width: 768px) {
  .modal-close-button-apply {
    top: -10.6666666667vw;
    right: 0;
    width: 7.3333333333vw;
    height: 7.3333333333vw;
  }
}

.modal-close-button-apply::before,
.modal-close-button-apply::after {
  width: 90% !important;
  background-color: #000;
}

@media (max-width: 768px) {
  .modal-close-button-apply::before,
  .modal-close-button-apply::after {
    background-color: #fff;
  }
}

.modal-close-button::before,
.modal-close-button::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 65%;
  height: 3px;
  margin: auto;
  content: "";
  border-radius: 30px;
}

@media (max-width: 768px) {
  .modal-close-button::before,
  .modal-close-button::after {
    height: 2.5px;
  }
}

.modal-close-button::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modal-close-button::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.modal[aria-hidden=false] .modal-backdrop {
  -webkit-animation: fadein 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: fadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=false] .modal-container {
  -webkit-animation: slidein 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: slideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal-backdrop {
  -webkit-animation: fadeout 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: fadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal-container {
  -webkit-animation: slideout 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: slideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes slideIn {
  from {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideIn {
  from {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes slideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  to {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}

@keyframes slideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  to {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}

/* Animation */
@-webkit-keyframes arrowmove {
  0% {
    bottom: 9.867%;
  }

  50% {
    bottom: 7.867%;
  }

  100% {
    bottom: 9.867%;
  }
}

@keyframes arrowmove {
  0% {
    bottom: 9.867%;
  }

  50% {
    bottom: 7.867%;
  }

  100% {
    bottom: 9.867%;
  }
}

@-webkit-keyframes arrowmovesp {
  0% {
    bottom: 5.33%;
  }

  50% {
    bottom: 3.33%;
  }

  100% {
    bottom: 5.33%;
  }
}

@keyframes arrowmovesp {
  0% {
    bottom: 5.33%;
  }

  50% {
    bottom: 3.33%;
  }

  100% {
    bottom: 5.33%;
  }
}

/* movie modal */
.movie-modal {
  z-index: 2;
  display: none;
}

.movie-modal .modal-close-button-movie {
  position: relative;
  top: 0;
  right: 0;
  width: 100%;
  height: 34px;
  text-align: right;
}

.movie-modal .modal-close-button::before,
.movie-modal .modal-close-button::after {
  display: none;
}

.movie-modal.is-open {
  display: block;
}

.movie-modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 8;
  display: -ms-grid;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: 0;

  /* モーダルのコンテンツがブラウザサイズよりも大きい場合にスクロール出来るようにする */
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  -webkit-box-align: center;
  -ms-flex-align: center;
  place-items: center;

  /* -------------------------
    display: grid ではなく、 display: flex でもOK
  */

  /* display: flex;
  flex-direction: column; */
}

.movie-modal-container {
  width: 100%;
  margin: auto;
}

.movie-modal-content {
  position: relative;
  width: 80vw;
  max-width: calc(100vw - 140px);
  max-width: 1280px;
  padding-top: 56.25%;
  margin: 0;
}

@media (max-width: 768px) {
  .movie-modal-content {
    width: 100vw;
  }
}

.movie-modal-content iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.movie-modal-close-button {
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.movie-modal-close-button::before,
.movie-modal-close-button::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 65%;
  height: 2px;
  margin: auto;
  content: "";
  background-color: #38d430;
}

.movie-modal-close-button::before {
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}

.movie-modal-close-button::after {
  -webkit-transform: rotate(-40deg);
  transform: rotate(-40deg);
}

.movie-modal[aria-hidden=false] .movie-modal-backdrop {
  -webkit-animation: modalfadein 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: modalfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.movie-modal[aria-hidden=false] .movie-modal-container {
  -webkit-animation: modalslidein 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: modalslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.movie-modal[aria-hidden=true] .movie-modal-backdrop {
  -webkit-animation: modalfadeout 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: modalfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.movie-modal[aria-hidden=true] .movie-modal-container {
  -webkit-animation: modalslideout 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: modalslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

@-webkit-keyframes modalfadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes modalfadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes modalfadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes modalfadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes modalslideIn {
  from {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes modalslideIn {
  from {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes modalslideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  to {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}

@keyframes modalslideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  to {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}

.apply {
  color: #333;
}

.apply-ttl-h2 {
  font-size: 20px;
  font-weight: bold;
  text-indent: -0.6em;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .apply-ttl-h2 {
    font-size: 3.4666666667vw;
  }
}

.apply-ttl-h3 {
  font-size: 14px;
  font-weight: normal;
}

@media (max-width: 768px) {
  .apply-ttl-h3 {
    font-size: 3.4666666667vw;
  }
}

.apply-txt {
  margin-top: 5px;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .apply-txt {
    font-size: 2.9333333333vw;
  }
}

.apply-terms-ttl {
  margin-top: 1.76em;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.76;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .apply-terms-ttl {
    margin-top: 5.3333333333vw;
    font-size: 3.4666666667vw;
  }
}

.apply-terms-ttl-mt0 {
  margin-top: 0;
}

.apply-terms-detail {
  font-size: 15px;
  line-height: 2.1428571429vw;
  letter-spacing: 0.05em;
  word-break: break-all;
}

@media (max-width: 768px) {
  .apply-terms-detail {
    font-size: 2.9333333333vw;
    line-height: 5.3333333333vw;
  }
}

.apply-terms-detail a {
  color: #2c36fc;
}

@media (any-hover: hover) {
  .apply-terms-detail a:hover {
    text-decoration: none;
  }
}

@media (max-width: 768px) {
  .apply-terms-detail a {
    outline: none !important;
  }
}

.apply-terms-detail .nbfont {
  font-family: Nissan Brand, ShinGoPro-Regular, sans-serif !important;
  font-size: 17px;
}

@media (max-width: 768px) {
  .apply-terms-detail .nbfont {
    font-size: 3.3333333333vw;
  }
}

.apply-terms-list-txt {
  padding-left: 1em;
  font-size: 15px;
  line-height: 2.1428571429vw;
  text-indent: -1em;
  list-style-type: none;
}

@media (max-width: 768px) {
  .apply-terms-list-txt {
    font-size: 2.9333333333vw;
    line-height: 5.3333333333vw;
  }
}

.apply-terms-list-number .apply-terms-list-txt {
  padding-left: 1.8em;
  text-indent: -1.8em;
}

.apply-terms + .apply-ttl {
  margin-top: 40px;
}

@media (max-width: 768px) {
  .apply-terms + .apply-ttl {
    margin-top: 5.3333333333vw;
  }
}

.ghq-head {
  padding: 1.7142857143vw 0;
  font-size: 1.4285714286vw;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.34em;
  background-color: #2c36fc;
}

@media (max-width: 768px) {
  .ghq-head {
    padding: 3.6vw 0 3.2vw;
    font-size: 4vw;
    letter-spacing: 0.22em;
  }
}

.ghq-contents-box {
  padding: 4.2857142857vw 0 7.1428571429vw;
}

@media (max-width: 768px) {
  .ghq-contents-box {
    padding: 9.3333333333vw 0 12vw;
  }
}

.ghq-contents-box-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8571428571vw;
  font-weight: bold;
  line-height: 1.461;
  color: #2c36fc;
  letter-spacing: 0.07em;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}

@media (max-width: 768px) {
  .ghq-contents-box-ttl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 5.0666666667vw;
    text-align: center;
  }
}

.ghq-contents-box-ttl-category {
  display: inline-block;
  padding: 0.4642857143vw 0.6785714286vw;
  margin-right: 1vw;
  font-size: 1.0714285714vw;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.07em;
  background-color: #2c36fc;
  border-radius: 0.3571428571vw;
}

@media (max-width: 768px) {
  .ghq-contents-box-ttl-category {
    padding: 1.4666666667vw 2.9333333333vw;
    margin-bottom: 3.8666666667vw;
    font-size: 3.4666666667vw;
    letter-spacing: 1.57;
    border-radius: 0.6666666667vw;
  }
}

.ghq-contents-box-term {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.8571428571vw;
  line-height: 1;
  color: #2c36fc;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}

@media (max-width: 768px) {
  .ghq-contents-box-term {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 5.3333333333vw;
  }
}

.ghq-contents-box-term-ttl {
  font-size: 1.1428571429vw;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .ghq-contents-box-term-ttl {
    font-size: 3.2vw;
  }
}

.ghq-contents-box-term-data {
  font-size: 1.5714285714vw;
  font-weight: bold;
  letter-spacing: 0.25em;
}

@media (max-width: 768px) {
  .ghq-contents-box-term-data {
    margin-top: 1.6vw;
    font-size: 4.5333333333vw;
    text-indent: 0.5em;
    letter-spacing: 0.15em;
  }
}

.ghq-contents-box-term-data-dow {
  font-size: 1.4285714286vw;
}

@media (max-width: 768px) {
  .ghq-contents-box-term-data-dow {
    font-size: 4vw;
  }
}

.ghq-contents-box-term-data .kerning {
  letter-spacing: -0.15em;
}

.ghq-contents-box-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  width: 71.4285714286vw;
  padding-left: 2.4285714286vw;
  margin: 2.1428571429vw auto 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
}

@media (max-width: 768px) {
  .ghq-contents-box-flex {
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    padding: 0 6vw;
    margin-top: 5.3333333333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
  }
}

.ghq-contents-box-img {
  width: 31.8571428571vw;
}

@media (max-width: 768px) {
  .ghq-contents-box-img {
    width: 100%;
  }
}

.ghq-contents-box-info {
  width: 34.5714285714vw;
  margin-top: -0.3571428571vw;
}

@media (max-width: 768px) {
  .ghq-contents-box-info {
    width: 100%;
    margin-top: 4vw;
  }
}

.ghq-contents-box-info-txt {
  position: relative;
  font-size: 1.1428571429vw;
  line-height: 2.1428571429vw;
  color: #2c36fc;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .ghq-contents-box-info-txt {
    font-size: 3.3333333333vw;
    line-height: 5.3333333333vw;
  }
}

.ghq-contents-box-info-txt .nbfont {
  font-size: 1.3571428571vw;
}

@media (max-width: 768px) {
  .ghq-contents-box-info-txt .nbfont {
    font-size: 3.7333333333vw;
  }
}

.ghq-contents-box-info-txt-border {
  padding-bottom: 1.2857142857vw;
}

@media (max-width: 768px) {
  .ghq-contents-box-info-txt-border {
    padding-bottom: 4vw;
  }
}

.ghq-contents-box-info-txt-border::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 6.0714285714vw;
  content: "";
  border-bottom: 2px solid #2c36fc;
}

@media (max-width: 768px) {
  .ghq-contents-box-info-txt-border::before {
    width: 13.3333333333vw;
  }
}

.ghq-contents-box-info-access {
  margin-top: 1.2857142857vw;
  font-size: 1.1428571429vw;
  line-height: 1.625;
  color: #2c36fc;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .ghq-contents-box-info-access {
    margin-top: 4vw;
    font-size: 3.3333333333vw;
    line-height: 1.6;
  }
}

.ghq-contents-box-info-access a {
  text-decoration: none;
}

@media (max-width: 768px) {
  .ghq-contents-box-info-access a {
    font-size: 3.4666666667vw;
    word-wrap: break-word;
  }
}

.ghq-contents-box-info-access a:visited {
  color: #2c36fc;
}

@media (any-hover: hover) {
  .ghq-contents-box-info-access a:hover {
    text-decoration: underline;
  }
}

.ghq-contents-box-info-note {
  margin-top: 1.0714285714vw;
  font-size: 0.9285714286vw;
  line-height: 2vw;
  color: #2c36fc;
  letter-spacing: 0.07em;
}

@media (max-width: 768px) {
  .ghq-contents-box-info-note {
    margin-top: 5.3333333333vw;
    font-size: 2.8vw;
    white-space: nowrap;
  }
}

.ghq-contents-box-info-note .nbfont {
  font-size: 1.0714285714vw;
}

@media (max-width: 768px) {
  .ghq-contents-box-info-note .nbfont {
    font-size: 3.2vw;
  }
}

.comingsoon {
  padding: 10vw 0;
  margin-top: 2.1428571429vw;
  background-color: rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
  .comingsoon {
    padding: 20.4vw 0;
    margin-top: 5.3333333333vw;
  }
}

.comingsoon_txt {
  font-size: 1.5714285714vw;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.18em;
}

@media (max-width: 768px) {
  .comingsoon_txt {
    font-size: 4.2666666667vw;
  }
}
