html,
body {
  min-height: 100%; }

.caption {
  color: #3579b8; }

.hero {
  position: relative;
  height: 100vh;
  height: calc(var(--vh) * 100); }

.hero__cont {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  height: 100%;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  padding-left: 10px;
  background-color: rgba(10, 10, 10, 0.2); }

.hero__link {
  display: block;
  padding-top: calc(var(--vh) * 30);
  color: #fff; }

.hero__title {
  color: inherit; }

.hero__desc {
  margin-bottom: 1.5em; }

.js .hero__title {
  opacity: 0; }

.hero .swiper-pagination {
  left: 10px;
  bottom: calc(var(--vh) * 30 - 40px);
  -webkit-transform: none;
      -ms-transform: none;
          transform: none; }

@media (min-width: 60em) {
  .hero__link {
    width: 70%;
    padding-top: calc(64vh - 240px); }
  .hero__cont {
    padding-left: 0; }
  .hero__desc {
    padding-right: 35%; }
  .hero .swiper-pagination {
    left: 0;
    bottom: calc(30vh - 60px); }
  .no-objectfit .hero .swiper-controller .l-wrap {
    margin-left: 0; }
  .hero + .floating {
    top: calc(100vh - 40px); } }

@media (min-width: 80em) {
  .hero__link {
    width: 50%; } }

.special-edition {
  margin-top: 20px;
  margin-bottom: 20px; }

.special-edition__cont {
  padding: 10px 10px 30px; }

.special-edition__caption {
  text-transform: uppercase; }

.special-edition__title {
  margin-top: .25em;
  margin-bottom: 1.25em;
  color: #424242; }

@media (min-width: 60em) {
  .special-edition {
    margin-top: 80px;
    margin-bottom: 80px; } }

.center-banner {
  position: relative;
  padding: 4rem;
  text-align: center; }

.center-banner .bg {
  -webkit-transform-origin: center top;
      -ms-transform-origin: center top;
          transform-origin: center top; }

.center-banner__caption {
  color: #0a0a0a; }

.center-banner__phrase {
  margin: .75em 0 1.25em; }

@media (min-width: 60em) {
  .center-banner {
    padding: 8rem; } }

.boditech-media {
  position: relative;
  overflow: hidden; }

.boditech-media__heading {
  padding-top: 1.25em;
  margin-bottom: .75em;
  text-align: center; }

.boditech-media__box1 {
  margin-left: -10px;
  margin-right: -10px; }

.boditech-media__box2 {
  padding-left: 10px;
  padding-right: 10px; }

@media (min-width: 45em) {
  .boditech-media__box1 {
    margin-left: 0;
    margin-right: 0; } }

@media (min-width: 45em) and (max-width: 59.99em) {
  .boditech-media__box1 {
    width: 66.7%;
    margin-left: auto;
    margin-right: auto; } }

@media (min-width: 60em) {
  .boditech-media {
    margin-top: 80px;
    margin-bottom: 80px; }
  .boditech-media__pad {
    padding-left: 50%; }
  .boditech-media__heading {
    position: absolute;
    padding-top: .5em;
    left: calc(57.5% - 2px); }
  .boditech-media__box1 {
    position: absolute;
    right: 50%;
    width: calc(50% + 64px); }
  .boditech-media__box2 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 85%;
    padding-top: 100px;
    padding-left: 15%;
    padding-right: 0; } }

@media (min-width: 80em) {
  .boditech-media {
    margin-top: 80px;
    margin-bottom: 80px; }
  .boditech-media__box1 {
    position: absolute;
    right: calc(50% + 10px);
    width: calc(60% + 10px); } }

.news1__link {
  display: block; }

.news1__cont {
  padding: 20px 20px 10px; }

.news1__cap {
  display: block;
  margin-bottom: .5em;
  font-size: 1.4rem; }

.news1__title {
  color: #424242; }

.news1__img-box {
  overflow: hidden;
  position: relative;
  height: 0;
  padding-bottom: 100%; }

.news1__img-box::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(10, 10, 10, 0.4); }

.news1__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.news1__p {
  margin-top: .5em; }

.news2__item {
  padding: 30px 0;
  border-top: 1px solid #CFD2D5; }

.news2__cap {
  display: block;
  margin-bottom: .5em;
  font-size: 1.4rem; }

.news2__title {
  display: inline; }

.news2__p {
  margin: .33em 0 .67em;
  font-weight: 300; }

.news2__more {
  font-size: 1.4rem; }

@media (max-width: 59.99em) {
  .news1 {
    padding-bottom: 20px; }
  .news1 .swiper-pagination {
    top: calc(100vw - 50px);
    bottom: auto; } }

@media (min-width: 60em) {
  .news1__pad {
    position: relative; }
  .news1__link {
    color: #fff; }
  .news1__cont {
    position: absolute;
    left: 64px;
    bottom: 100px;
    width: 75%;
    padding: 0; }
  .news1__cap {
    color: inherit; }
  .news1__title {
    color: inherit; }
  .news1__p {
    padding-right: 15%; }
  .news1 .swiper-pagination {
    left: 64px;
    bottom: 50px;
    color: #fff;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  .news2__item {
    padding: 30px 0;
    border-top: 1px solid #CFD2D5; }
  .news2__item:first-child {
    border-top: 0; } }

@media (min-width: 80em) {
  .news1__cont {
    left: 10%; }
  .news1 .swiper-pagination {
    left: 10%; } }

.introduce {
  clear: both;
  padding-top: 40px;
  padding-bottom: 30px; }

.introduce__heading {
  margin-bottom: 1em;
  text-align: center; }

.introduce__cont {
  padding: 12px 10px; }

.introduce__h {
  margin-bottom: .5em;
  color: #424242; }

.introduce__p {
  margin: 0; }

.introduce .more-link {
  margin-top: 1em;
  font-size: 1.4rem; }

@media (min-width: 60em) {
  .introduce {
    padding-top: 75px;
    padding-bottom: 80px; }
  .introduce__cont {
    padding-left: 8%; } }
