.wrapper.single {
  width: 100%;
}

.under h1.index--title::after {
  content: "";
}

.under h2.index--title {
  font-weight: 400;
  letter-spacing: .04em;
  font-family: 'Roboto', sans-serif;
}

@media screen and (min-width: 768px), print {
  .under h2.index--title {
    font-size: 68px;
    padding-bottom: 20px;
    border-bottom: 2px solid #3e3a39;
  }
}

@media screen and (max-width: 767px) {
  .under h2.index--title {
    font-size: 32px;
    padding-bottom: 12px;
    border-bottom: 1px solid #3e3a39;
  }
}

.under h2.index--title::after {
  display: none;
  content: "";
}

@media screen and (min-width: 768px), print {
  .under .projects__inner {
    margin: 85px 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .under .projects__inner {
    margin: 40px 0 25px;
  }
}

@media screen and (min-width: 768px), print {
  .under .projects__inner .module__inner {
    margin-top: 45px;
  }
}

@media screen and (min-width: 768px), print {
  .under .projects__inner .module__inner .mod-link--text {
    font-size: 17px;
  }
}

.under .projects__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px), print {
  .under .projects__link p {
    width: calc((100% - 75px) / 4);
    margin-right: 25px;
  }
}

@media screen and (max-width: 767px) {
  .under .projects__link p {
    width: 48%;
    margin-right: 4%;
  }
}

@media screen and (min-width: 768px), print {
  .under .projects__link p:nth-child(4n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .under .projects__link p:nth-child(2n) {
    margin-right: 0;
  }
}

.main-bg {
  overflow: hidden;
}

.main-img img {
  width: 100%;
}

.main-pickup {
  width: 100%;
  color: #ffffff;
  text-align: center;
  font-weight: 400;
  font-family: 'Roboto', sans-serif;
  background-color: #201f1f;
}

@media screen and (min-width: 768px), print {
  .main-pickup {
    height: 60px;
    padding-top: 15px;
    font-size: 26px;
    letter-spacing: 0.04em;
  }
}

@media screen and (max-width: 767px) {
  .main-pickup {
    height: 35px;
    padding-top: 10px;
  }
}

.main-swiper {
  max-height: 500px;
  background-color: #201f1f;
}

@media screen and (max-width: 767px) {
  .main-swiper {
    width: 100%;
    overflow: hidden;
    border-top: solid 1px #464545;
  }
}

.main .swiper-container {
  position: relative;
  height: auto;
  max-height: 400px;
  overflow: visible;
}

@media screen and (min-width: 768px), print {
  .main .swiper-container {
    width: calc(100% - 90px);
    margin-left: 45px;
    border-top: solid 1px #464545;
  }
}

@media screen and (max-width: 767px) {
  .main .swiper-container {
    width: calc(100% - 42px);
  }
}

.main .swiper-container .swiper-wrapper {
  height: auto;
  max-height: 400px;
}

@media screen and (max-width: 767px) {
  .main .swiper-container .swiper-wrapper {
    border-left: solid 1px #464545;
  }
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-wrapper .swiper-slide {
    height: auto !important;
    -webkit-box-shadow: 1px 0px #464545;
    box-shadow: 1px 0px #464545;
  }
}

@media screen and (max-width: 767px) {
  .main .swiper-container .swiper-wrapper .swiper-slide {
    height: auto;
    -webkit-box-shadow: 1px 1px #464545;
    box-shadow: 1px 1px #464545;
    border-bottom: none;
  }
}

@media screen and (max-width: 767px) {
  .main .swiper-container .swiper-wrapper .swiper-slide img {
    width: 100%;
  }
}

.main .swiper-container .swiper-wrapper .swiper-slide:hover .main-swiper__text {
  background-color: #373636;
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-wrapper .swiper-slide:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-wrapper .swiper-slide .pickup-image {
    width: calc(100% - 1px);
    overflow: hidden;
    margin-left: 1px;
  }
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-wrapper .swiper-slide .pickup-image img {
    width: 100%;
    height: auto;
    -webkit-transition: .2s ease-out;
    transition: .2s ease-out;
  }
}

.main .swiper-container .swiper-wrapper .swiper-slide .main-swiper__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  color: #ffffff;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-wrapper .swiper-slide .main-swiper__text {
    height: 75px;
    font-size: 15px;
    -webkit-transition: .2s linear;
    transition: .2s linear;
  }
}

@media screen and (max-width: 767px) {
  .main .swiper-container .swiper-wrapper .swiper-slide .main-swiper__text {
    height: 45px;
    font-size: 11px;
  }
}

.main .swiper-container .swiper-button-next {
  position: absolute;
  display: block;
  height: 100%;
  top: 21px;
  background: #201f1f;
  border-left: 1px solid #464545;
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-button-next {
    width: 45px;
    right: -45px;
    border-top: solid 1px #464545;
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
  }
}

@media screen and (max-width: 767px) {
  .main .swiper-container .swiper-button-next {
    width: 21px;
    right: -21px;
  }
}

.main .swiper-container .swiper-button-next:after {
  position: absolute;
  content: "";
  background-image: url(/cmn/img/top/icon_arrow_slide_white.svg);
  background-repeat: no-repeat;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-button-next:after {
    width: 9px;
    height: 18px;
    top: calc(50% - 9px);
    right: 18px;
  }
}

@media screen and (max-width: 767px) {
  .main .swiper-container .swiper-button-next:after {
    top: calc(50% - 6px);
    left: 6px;
    height: 12px;
    width: 7px;
  }
}

.main .swiper-container .swiper-button-next:hover {
  background-color: #861c3c;
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-button-next:hover::after {
    background-image: url(/cmn/img/top/icon_arrow_slide_white.svg);
  }
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-button-next img {
    position: absolute;
    width: 10px;
    height: 18px;
    top: calc(50% - 9px);
    left: 16px;
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
  }
}

.main .swiper-container .swiper-button-prev {
  position: absolute;
  display: block;
  height: 100%;
  top: 21px;
  background: #201f1f;
  border-top: solid 1px #464545;
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-button-prev {
    width: 45px;
    left: -45px;
    -webkit-transition: .1s linear;
    transition: .1s linear;
  }
}

@media screen and (max-width: 767px) {
  .main .swiper-container .swiper-button-prev {
    width: 22px;
    left: -21px;
    z-index: 2;
  }
}

.main .swiper-container .swiper-button-prev::after {
  position: absolute;
  content: "";
  background-image: url(/cmn/img/top/icon_arrow_slide_white.svg);
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-button-prev::after {
    width: 9px;
    height: 18px;
    top: calc(50% - 9px);
    left: 18px;
  }
}

@media screen and (max-width: 767px) {
  .main .swiper-container .swiper-button-prev::after {
    top: calc(50% - 6px);
    right: 6px;
    height: 12px;
    width: 7px;
  }
}

.main .swiper-container .swiper-button-prev:hover {
  background-color: #861c3c;
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-button-prev:hover::after {
    background-image: url(/cmn/img/top/icon_arrow_slide_white.svg);
  }
}

@media screen and (min-width: 768px), print {
  .main .swiper-container .swiper-button-prev img {
    position: absolute;
    width: 10px;
    height: 18px;
    top: calc(50% - 9px);
    right: 16px;
  }
}
