.main-visual {
    height: 100vh;
  }
  
  .main-visual.is-loaded, .aem-AuthorLayer-Edit .main-visual, .aem-AuthorLayer-Preview .main-visual {
    height: auto;
  }
  
  .main-visual__inner {
    position: relative;
    max-width: 2560px;
    margin: 0 auto;
  }
  
  .main-visual__wrap .swiper-wrapper {
    display: block;
  }
  
  .main-visual__wrap .swiper-slide {
    position: absolute;
    height: auto;
  }
  
  .main-visual__wrap .swiper-pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    position: static;
    width: auto;
  }
  
  .main-visual__wrap .swiper-button-prev,
  .main-visual__wrap .swiper-button-next {
    top: -webkit-calc(50% - 70px);
    top: calc(50% - 70px);
    top: -webkit-calc(50% - 7rem);
    top: calc(50% - 7rem);
  }
  
  .main-visual__wrap .swiper-button-prev {
    left: 30px;
    left: 3rem;
  }
  
  .main-visual__wrap .swiper-button-next {
    right: 30px;
    right: 3rem;
  }
  
  .main-visual__wrap .swiper-interface {
    z-index: 10;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    position: absolute;
    right: 0;
    bottom: 74px;
    bottom: 7.4rem;
    left: 0;
    padding: 0 80px;
    padding: 0 8rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  
  .main-visual__wrap .swiper-control {
    margin-left: 14px;
    margin-left: 1.4rem;
  }
  
  .main-visual__wrap .swiper-control .btn-controls {
    display: block;
    position: relative;
    width: 20px;
    width: 2rem;
    height: 20px;
    height: 2rem;
    font-size: 0;
    color: #fff;
  }
  
  .main-visual__wrap .swiper-control .btn-controls.is-play:after {
    display: inline-block;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9px solid #fff;
    vertical-align: middle;
    content: '';
  }
  
  .main-visual__wrap .swiper-control .btn-controls.is-pause:before, .main-visual__wrap .swiper-control .btn-controls.is-pause:after {
    display: inline-block;
    width: 3px;
    width: 0.3rem;
    height: 12px;
    height: 1.2rem;
    margin: 0 2px;
    margin: 0 0.2rem;
    background: #fff;
    vertical-align: middle;
    content: '';
  }
  
  .main-visual__wrap .cm-btn-more span {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1), -1px -1px 3px rgba(0, 0, 0, 0.1);
  }
  
  .main-visual__media {
    position: relative;
    padding-top: 900px;
    padding-top: 90rem;
  }
  
  .main-visual__media-img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  
  .main-visual__media-img .js-img-bg {
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  
  .main-visual__media-video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  
  .main-visual__media-video .video-container {
    height: 100%;
  }
  
  .main-visual__media-video video {
    height: 100%;
    object-fit: cover;
  }
  
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .main-visual__media-video video {
      position: relative;
      top: 50%;
      left: 50%;
      min-height: 100%;
      min-width: 100%;
      width: auto;
      height: auto;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
    }
  }
  
  .main-visual__media:before {
    z-index: 1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    top: auto;
    height: 20%;
    background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#111));
    background-image: linear-gradient(to bottom, transparent, #111);
    content: '';
  }
  
  .main-visual__media:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 50%;
    background-image: -webkit-gradient(linear, right top, left top, from(transparent), to(#111));
    background-image: linear-gradient(to left, transparent, #111);
    opacity: .35;
    content: '';
  }
  
  .main-visual__text {
    z-index: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 78px 80px;
    padding: 7.8rem 8rem;
    margin: 0 107px 120px;
    
    
    /* border: 0px solid #a36b4f; */
    border-width: 0 1px 1px;
    border-width: 0 0.1rem 0.1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    
  }
  
  .main-visual__eyebrow {
    display: block;
    max-width: 800px;
    max-width: 80rem;
    margin-bottom: 18px;
    margin-bottom: 1.8rem;
    font-family: "genesis-head-office-light", sans-serif;
    font-size: 26px;
    font-size: 2.6rem;
    color: #fff;
    line-height: 28px;
    line-height: 2.8rem;
    letter-spacing: -.025em;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1), -1px -1px 3px rgba(0, 0, 0, 0.1);
  }
  
  .main-visual__title {
    display: block;
    max-width: 800px;
    max-width: 80rem;
    margin-bottom: 10px;
    margin-bottom: 1rem;
    font-family: "genesis-head-office-light", sans-serif;
    font-size: 120px;
    font-size: 12rem;
    color: #fff;
    font-weight: normal;
    line-height: 110px;
    line-height: 11rem;
    letter-spacing: -.025em;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1), -1px -1px 3px rgba(0, 0, 0, 0.1);
  }
  
  .main-visual__title.type-sentence {
    margin-bottom: 24px;
    margin-bottom: 2.4rem;
    font-size: 100px;
    font-size: 10rem;
    line-height: 94px;
    line-height: 9.4rem;
  }
  
  .main-visual__desc {
    max-width: 660px;
    max-width: 66rem;
    font-family: "genesis-head-office-light", sans-serif;
    font-size: 24px;
    font-size: 2.4rem;
    color: #fff;
    line-height: 32px;
    line-height: 3.2rem;
    letter-spacing: -.025em;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1), -1px -1px 3px rgba(0, 0, 0, 0.1);
  }
  
  .main-visual__desc-sub {
    max-width: 660px;
    max-width: 66rem;
    font-family: "genesis-head-office-light", sans-serif;
    font-size: 26px;
    font-size: 2.6rem;
    color: #fff;
    line-height: 28px;
    line-height: 2.8rem;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1), -1px -1px 3px rgba(0, 0, 0, 0.1);
  }
  
  .main-visual__cta-wrap {
    margin-top: 30px;
    margin-top: 3rem;
  }
  
  .main-visual__cta {
    margin-top: 26px;
    margin-top: 2.6rem;
  }
  
  .main-visual__cta:before, .main-visual__cta:after {
    content: '';
    display: block;
    clear: both;
  }
  
  .main-visual__cta:first-child {
    margin-top: 0;
  }
  
  .main-visual__cta .cm-btn,
  .main-visual__cta .cm-btn-more {
    margin-left: 20px;
    margin-left: 2rem;
  }
  
  .main-visual__cta .cm-btn:first-child,
  .main-visual__cta .cm-btn-more:first-child {
    margin-left: 0;
  }
  
  @media (max-width: 2559px) {
    .main-visual__wrap .swiper-button-prev {
      left: 18px;
      left: 1.8rem;
    }
    .main-visual__wrap .swiper-button-next {
      right: 18px;
      right: 1.8rem;
    }
    .main-visual__text {
      padding-right: 60px;
      /* padding-right: 6rem; */
      padding-left: 60px;
      /* padding-left: 6rem; */
      margin-right: 80px;
      /* margin-right: 8rem; */
      margin-left: 80px;
      /* margin-left: 8rem; */
    }
  }
  
  @media (max-width: 1919px) {
    .main-visual__wrap .swiper-interface {
      bottom: 54px;
      bottom: 5.4rem;
    }
    .main-visual__wrap .swiper-button-prev,
    .main-visual__wrap .swiper-button-next {
      top: -webkit-calc(50% - 60px);
      top: calc(50% - 60px);
      top: -webkit-calc(50% - 6rem);
      top: calc(50% - 6rem);
      width: 34px;
      width: 3.4rem;
    }
    .main-visual__media {
      padding-top: 46.875%;
    }
    .main-visual__text {
      padding: 58px 50px;
      padding: 5.8rem 5rem;
      margin: 0 70px 100px;
      margin: 0 7rem 10rem;
    }
    .main-visual__eyebrow {
      max-width: 660px;
      max-width: 66rem;
      margin-bottom: 30px;
      margin-bottom: 3rem;
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 22px;
      line-height: 2.2rem;
    }
    .main-visual__title {
      max-width: 660px;
      max-width: 66rem;
      margin-bottom: 20px;
      margin-bottom: 2rem;
    }
    .main-visual__title.type-sentence {
      margin-bottom: 15px;
      margin-bottom: 1.5rem;
      font-size: 90px;
      font-size: 9rem;
      line-height: 86px;
      line-height: 8.6rem;
    }
    .main-visual__desc {
      max-width: 543px;
      max-width: 54.3rem;
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 28px;
      line-height: 2.8rem;
    }
    .main-visual__desc-sub {
      max-width: 543px;
      max-width: 54.3rem;
      font-size: 20px;
      font-size: 2rem;
      line-height: 22px;
      line-height: 2.2rem;
    }
  }
  
  @media (max-width: 1599px) {
    .main-visual__wrap .swiper-interface {
      bottom: 35px;
      bottom: 3.5rem;
    }
    .main-visual__wrap .swiper-button-prev,
    .main-visual__wrap .swiper-button-next {
      top: -webkit-calc(50% - 45px);
      top: calc(50% - 45px);
      top: -webkit-calc(50% - 4.5rem);
      top: calc(50% - 4.5rem);
      height: 50px;
      height: 5rem;
    }
    .main-visual__wrap .swiper-button-prev button:after,
    .main-visual__wrap .swiper-button-next button:after {
      width: 20px;
      width: 2rem;
      height: 38px;
      height: 3.8rem;
    }
    .main-visual__wrap .swiper-button-prev {
      left: 13px;
      left: 1.3rem;
    }
    .main-visual__wrap .swiper-button-next {
      right: 13px;
      right: 1.3rem;
    }
    .main-visual__media {
      padding-top: 47.0588%;
    }
    .main-visual__text {
      padding: 58px 40px;
      padding: 5.8rem 4rem;
      margin: 0 60px 80px;
      margin: 0 6rem 8rem;
    }
    .main-visual__eyebrow {
      max-width: 560px;
      max-width: 56rem;
      margin-bottom: 15px;
      margin-bottom: 1.5rem;
      font-size: 20px;
      font-size: 2rem;
      line-height: 20px;
      line-height: 2rem;
    }
    .main-visual__title {
      max-width: 560px;
      max-width: 56rem;
      margin-bottom: 9px;
      margin-bottom: 0.9rem;
      font-size: 100px;
      font-size: 10rem;
      line-height: 90px;
      line-height: 9rem;
    }
    .main-visual__title.type-sentence {
      margin-bottom: 11px;
      margin-bottom: 1.1rem;
      font-size: 60px;
      font-size: 6rem;
      line-height: 62px;
      line-height: 6.2rem;
    }
    .main-visual__desc {
      max-width: 460px;
      max-width: 46rem;
      font-size: 20px;
      font-size: 2rem;
      line-height: 24px;
      line-height: 2.4rem;
    }
    .main-visual__desc-sub {
      max-width: 460px;
      max-width: 46rem;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 20px;
      line-height: 2rem;
    }
    .main-visual__cta-wrap {
      margin-top: 22px;
      margin-top: 2.2rem;
    }
    .main-visual__cta .cm-btn,
    .main-visual__cta .cm-btn-more {
      margin-left: 15px;
    }
  }
  
  @media (max-width: 1359px) {
    .main-visual__wrap .swiper-interface {
      bottom: 15px;
      bottom: 1.5rem;
    }
    .main-visual__wrap .swiper-button-prev,
    .main-visual__wrap .swiper-button-next {
      top: -webkit-calc(50% - 30px);
      top: calc(50% - 30px);
      top: -webkit-calc(50% - 3rem);
      top: calc(50% - 3rem);
    }
    .main-visual__wrap .swiper-button-prev {
      left: 30px;
      left: 3rem;
    }
    .main-visual__wrap .swiper-button-next {
      right: 30px;
      right: 3rem;
    }
    .main-visual__wrap .cm-btn-more {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 22px;
      line-height: 2.2rem;
    }
    .main-visual__media {
      padding-top: 56.6406%;
    }
    .main-visual__text {
      padding: 48px 50px;
      padding: 4.8rem 5rem;
      margin: 0 25px 50px;
      margin: 0 2.5rem 5rem;
    }
    .main-visual__eyebrow {
      max-width: 416px;
      max-width: 41.6rem;
      margin-bottom: 11px;
      margin-bottom: 1.1rem;
    }
    .main-visual__title {
      max-width: 416px;
      max-width: 41.6rem;
      margin-bottom: 9px;
      margin-bottom: 0.9rem;
      font-size: 84px;
      font-size: 8.4rem;
      line-height: 80px;
      line-height: 8rem;
    }
    .main-visual__title.type-sentence {
      margin-bottom: 15px;
      margin-bottom: 1.5rem;
      font-size: 48px;
      font-size: 4.8rem;
      line-height: 50px;font-size: 5.5rem
      line-height: 5rem;
    }
    .main-visual__desc {
      max-width: 416px;
      max-width: 41.6rem;
      margin-bottom: 2px;
      margin-bottom: 0.2rem;
      font-size: 19px;
      font-size: 1.9rem;
      line-height: 21px;
      line-height: 2.1rem;
    }
    .main-visual__desc-sub {
      max-width: 416px;
      max-width: 41.6rem;
    }
    .main-visual__cta-wrap {
      margin-top: 21px;
      margin-top: 2.1rem;
    }
    .main-visual__cta .cm-btn,
    .main-visual__cta .cm-btn-more {
      margin-left: 10px;
      margin-left: 1rem;
    }
  }
  
  @media (max-width: 1023px) {
    .main-visual__wrap .swiper-button-prev,
    .main-visual__wrap .swiper-button-next {
      height: 64px;
      height: 6.4rem;
    }
    .main-visual__wrap .swiper-button-prev {
      left: 18px;
      left: 1.8rem;
    }
    .main-visual__wrap .swiper-button-next {
      right: 18px;
      right: 1.8rem;
    }
    .main-visual__media {
      padding-top: 58.5938%;
    }
    .main-visual__text {
      padding: 39px 40px;
      padding: 3.9rem 4rem;
      margin: 0 15px 40px;
      margin: 0 1.5rem 4rem;
    }
    .main-visual__eyebrow {
      max-width: 306px;
      max-width: 30.6rem;
      margin-bottom: 9px;
      margin-bottom: 0.9rem;
      font-size: 20px;
      font-size: 2rem;
      line-height: 16px;
      line-height: 1.6rem;
    }
    .main-visual__title {
      max-width: 306px;
      max-width: 30.6rem;
      margin-bottom: 3px;
      margin-bottom: 0.3rem;
      font-size: 66px;
      font-size: 6.6rem;
      line-height: 62px;
      line-height: 6.2rem;
    }
    .main-visual__title.type-sentence {
      margin-bottom: 17px;
      margin-bottom: 1.7rem;
      font-size: 34px;
      font-size: 3.4rem;
      line-height: 38px;
      line-height: 3.8rem;
    }
    .main-visual__desc {
      max-width: 306px;
      max-width: 30.6rem;
    }
    .main-visual__desc-sub {
      max-width: 306px;
      max-width: 30.6rem;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 16px;
      line-height: 1.6rem;
    }
    .main-visual__cta-wrap {
      margin-top: 12px;
      margin-top: 1.2rem;
    }
    .main-visual__cta {
      margin-top: 16px;
      margin-top: 1.6rem;
    }
  }
  
  @media (max-width: 767px) {
    .main-visual__inner {
      max-width: none;
    }
    .main-visual__wrap .swiper-interface {
      bottom: 20px;
      bottom: 2rem;
    }
    .main-visual__wrap .swiper-button-prev,
    .main-visual__wrap .swiper-button-next {
      top: auto;
      bottom: 10px;
      bottom: 1rem;
      margin: 0;
      height: 40px;
      height: 4rem;
    }
    .main-visual__wrap .swiper-button-prev button:after,
    .main-visual__wrap .swiper-button-next button:after {
      width: 12px;
      width: 1.2rem;
      height: 24px;
      height: 2.4rem;
    }
    .main-visual__wrap .swiper-button-prev {
      left: 4px;
      left: 0.4rem;
    }
    .main-visual__wrap .swiper-button-next {
      right: 4px;
      right: 0.4rem;
    }
    .main-visual__wrap .cm-btn-more {
      font-size: 16px;
      font-size: 1.6rem;
    }
    .main-visual__media {
      padding-top: 700px;
      padding-top: 70rem;
    }
  }
  
  @media all and (max-width: 767px) and (-ms-high-contrast: none), (max-width: 767px) and (-ms-high-contrast: active) {
    .main-visual__media-video video {
      height: 100%;
    }
  }
  
  @media (max-width: 767px) {
    .main-visual__media:before {
      height: 60%;
    }
    .main-visual__media:after {
      right: 0;
      width: 100%;
      height: 40%;
      opacity: .85;
      background-image: -webkit-gradient(linear, left bottom, left top, from(transparent), to(#111));
      background-image: linear-gradient(to top, transparent, #111);
    }
    .main-visual__text {
      padding: 38px 15px 28px;
      padding: 3.8rem 1.5rem 2.8rem;
      margin-bottom: 60px;
      margin-bottom: 6rem;
    }
    .main-visual__eyebrow {
      max-width: 100%;
      font-size: 20px;
      font-size: 2rem;
      line-height: 22px;
      line-height: 2.2rem;
    }
    .main-visual__title {
      max-width: 100%;
      margin-bottom: 2px;
      margin-bottom: 0.2rem;
      font-size: 70px;
      font-size: 7rem;
      line-height: 66px;
      line-height: 6.6rem;
    }
    .main-visual__title.type-sentence {
      font-size: 42px;
      font-size: 4.2rem;
      line-height: 44px;
      line-height: 4.4rem;
    }
    .main-visual__title.type-sentence2 {
      font-size: 60px;
      font-size: 6rem;
    }
    .main-visual__desc {
      max-width: 100%;
      font-size: 18px;
      font-size: 1.8rem;
    }
    .main-visual__desc-sub {
      font-size: 20px;
      font-size: 2rem;
      line-height: 22px;
      line-height: 2.2rem;
    }
    .main-visual__cta-wrap {
      margin-top: 23px;
      margin-top: 2.3rem;
    }
    .main-visual__cta {
      width: 100%;
    }
    .main-visual__cta .cm-btn {
      font-size: 18px;
      font-size: 1.8rem;
      min-width: 0;
      min-width: 0;
      height: 56px;
      height: 5.6rem;
      line-height: 58px;
      line-height: 5.8rem;
      margin: 10px 0 0;
      margin: 1rem 0 0;
    }
    .main-visual__cta .cm-btn .masker span {
      height: 56px;
      height: 5.6rem;
      line-height: 58px;
      line-height: 5.8rem;
    }
    .main-visual__cta .cm-btn-more {
      margin-left: 0;
      margin-top: 10px;
      margin-top: 1rem;
      margin-right: 15px;
      margin-right: 1.5rem;
    }
  }
  