@media (max-width: 750px) {
  .u-sp-hide {
    display: none !important;
  }
}
@media (min-width: 751px) {
  .u-pc-hide {
    display: none !important;
  }
}
.kv .kv_slide {
  display: block;
  position: relative;
  transform: none !important;
}
.kv .kv_slide:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: url("../../assets/images/teamdrive/kv_mask.png") center no-repeat;
  background-size: 100%;
}
@media (max-width: 750px) {
  .kv .kv_slide:before {
    background: url("../../assets/images/teamdrive/kv_mask_sp.png") center no-repeat;
    background-size: 100%;
  }
}

.intro {
  text-align: center;
  padding: 120px 0 162px;
}
@media (max-width: 750px) {
  .intro {
    padding: 14.9333333333vw 0 21.6vw;
  }
}
.intro .statement-logo {
  margin-top: 61px;
}
@media (max-width: 750px) {
  .intro .statement-logo {
    width: 89.3333333333vw;
    margin: 11.7333333333vw -1.3333333333vw 0;
    text-align: center;
  }
}

.works {
  text-align: center;
  overflow: hidden;
  margin-bottom: 48px;
}
@media (max-width: 750px) {
  .works {
    margin-bottom: 3.2vw;
  }
}
.works h2 {
  margin-bottom: 70px;
}
@media (max-width: 750px) {
  .works h2 {
    width: 41.3333333333vw;
    margin: 0 auto 8vw;
  }
  .works h2 img {
    width: 100%;
  }
}
.works .works_slider {
  margin: 0 -10px;
}

.campaign {
  text-align: center;
  padding: 163px 0 58px;
}
@media (max-width: 750px) {
  .campaign {
    padding: 26.6666666667vw 0 0;
  }
}
.campaign h2 {
  margin-bottom: 70px;
}
@media (max-width: 750px) {
  .campaign h2 {
    width: 62.6666666667vw;
    margin: 0 auto 8.2666666667vw;
  }
  .campaign h2 img {
    width: 100%;
  }
}
.campaign .text {
  font-size: 16px;
  margin-bottom: 24px;
}
@media (max-width: 750px) {
  .campaign .text {
    font-size: 3.7333333333vw;
    margin-bottom: 4.2666666667vw;
  }
}
.campaign .text span {
  font-size: 24px;
  color: #EE0068;
}
@media (max-width: 750px) {
  .campaign .text span {
    font-size: 5.8666666667vw;
  }
}
.campaign .photo {
  width: 611px;
  margin: 0 auto;
  max-width: 100%;
}
@media (max-width: 750px) {
  .campaign .photo {
    width: 77.3333333333vw;
    margin: 0 auto 14.1333333333vw;
  }
}
.campaign .box {
  width: 900px;
  margin: 0 auto;
  border: 2px solid #EE0068;
  position: relative;
  max-width: 100%;
}
.campaign .box h3 {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}
.campaign .box h3 span {
  font-size: 18px;
  display: inline-block;
  padding: 0 28px;
  width: auto;
  top: 0%;
  background: #fff;
  white-space: nowrap;
}
@media (max-width: 750px) {
  .campaign .box h3 span {
    font-size: 4.2666666667vw;
    padding: 0 4.8vw;
  }
}
.campaign .box.box-date {
  padding: 22px 0 12px;
  margin-bottom: 60px;
}
@media (max-width: 750px) {
  .campaign .box.box-date {
    padding: 0.2666666667vw 0;
  }
}
.campaign .box.box-date .list-date {
  display: flex;
  justify-content: center;
}
.campaign .box.box-date .list-date dl {
  padding: 0 22px;
  color: #EE0068;
  display: flex;
  align-items: center;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 750px) {
  .campaign .box.box-date .list-date dl {
    padding: 0 5.3333333333vw;
  }
}
.campaign .box.box-date .list-date dl dt {
  font-size: 18px;
}
@media (max-width: 750px) {
  .campaign .box.box-date .list-date dl dt {
    font-size: 4.2666666667vw;
  }
}
.campaign .box.box-date .list-date dl dd {
  font-size: 34px;
  margin-left: 8px;
}
@media (max-width: 750px) {
  .campaign .box.box-date .list-date dl dd {
    font-size: 8.5333333333vw;
    margin-left: 1.3333333333vw;
  }
}
.campaign .box.box-date .list-date dl + dl {
  position: relative;
}
.campaign .box.box-date .list-date dl + dl:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -8px;
  transform: translate(0, -50%);
  border-left: 17px solid #EE0068;
  border-right: 17px solid transparent;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
@media (max-width: 750px) {
  .campaign .box.box-date .list-date dl + dl:before {
    top: 50%;
    left: -1.6vw;
    transform: translate(0, -50%);
    border-left: 3.7333333333vw solid #EE0068;
    border-right: 3.7333333333vw solid transparent;
    border-top: 2.1333333333vw solid transparent;
    border-bottom: 2.1333333333vw solid transparent;
  }
}
.campaign .box.box-prod {
  padding: 48px 22px 36px;
  margin-bottom: 78px;
}
@media (max-width: 750px) {
  .campaign .box.box-prod {
    padding: 12.8vw 0;
  }
}
.campaign .box.box-prod .row {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 750px) {
  .campaign .box.box-prod .row {
    flex-direction: column;
  }
}
.campaign .box.box-prod .row .col {
  width: 25%;
  padding: 0 12px;
  box-sizing: border-box;
}
@media (max-width: 750px) {
  .campaign .box.box-prod .row .col {
    width: 100%;
  }
  .campaign .box.box-prod .row .col + .col {
    margin-top: 6.4vw;
  }
}
.campaign .box.box-prod .prod-img {
  margin-bottom: 16px;
}
@media (max-width: 750px) {
  .campaign .box.box-prod .prod-img {
    width: 40vw;
    margin: 0 auto 2.1333333333vw;
  }
  .campaign .box.box-prod .prod-img img {
    width: 100%;
  }
}
.campaign .box.box-prod h4 {
  font-size: 18px;
  color: #EE0068;
  line-height: 2.1;
}
@media (max-width: 750px) {
  .campaign .box.box-prod h4 {
    font-size: 5.3333333333vw;
  }
}
.campaign .box.box-prod .prod4 h4 {
  line-height: 1.2;
}
.campaign .box.box-prod p {
  font-size: 12px;
}
@media (max-width: 750px) {
  .campaign .box.box-prod p {
    font-size: 3.2vw;
  }
}
.campaign .box.box-text {
  padding: 57px 22px;
}
.campaign .box.box-text:not(:nth-last-child(1)) {
  margin-bottom: 60px;
}
@media (max-width: 750px) {
  .campaign .box.box-text:not(:nth-last-child(1)) {
    margin-bottom: 12.8vw;
  }
}
.campaign .blockline {
  text-align: center;
  margin-bottom: 78px;
  outline: none;
}
@media (max-width: 750px) {
  .campaign .blockline {
    margin-bottom: 17.0666666667vw;
  }
  .campaign .blockline dd {
    width: 43.2vw;
    margin: 0 auto;
  }
  .campaign .blockline dd img {
    width: 100%;
  }
}
.campaign .blockline dt {
  margin-bottom: 14px;
}
@media (max-width: 750px) {
  .campaign .blockline dt {
    width: 51.2vw;
    margin: 0 auto 3.7333333333vw;
  }
  .campaign .blockline dt img {
    width: 100%;
  }
}
.campaign .blockline:nth-last-child(1) {
  margin-bottom: 0;
}

.floating_btn {
  position: fixed;
  bottom: 25px;
  right: 20px;
  z-index: 99;
  width: 165px;
}
@media (max-width: 750px) {
  .floating_btn {
    width: 33.3333333333vw;
    bottom: 10px;
    right: 10px;
  }
}

@media (max-width: 750px) {
  .swiper-button-next-unique, .swiper-button-prev-unique {
    display: none;
  }
}