@charset "UTF-8";
@media screen and (max-width: 1024px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  html {
    font-size: 0.9765625vw;
  }
}

@media screen and (max-width: 1024px) {
  body {
    font-size: 2.4rem;
  }
}

section {
  background-color: #fff;
}

.header_logo {
  font-size: 0;
}

.luxbar-header {
  padding: 1% 3%;
}

@media screen and (max-width: 1024px) {
  .luxbar-header {
    padding: 1% 0;
  }
}

.luxbar-brand .logo_no_top {
  width: 133px;
}

@media screen and (max-width: 1024px) {
  .luxbar-brand .logo_no_top {
    width: 20vw;
  }
}

@media screen and (max-width: 1024px) {
  #top {
    height: 138.66vw;
  }
}

.slide-arrow {
  content: '';
  padding: 3rem 1rem;
  position: absolute;
  top: 50%;
  z-index: 10;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  cursor: pointer;
}

@media screen and (max-width: 1024px) {
  .slide-arrow {
    top: 40%;
    padding: 6rem 4rem;
  }
}

.slide-arrow::before {
  content: '';
  width: 1rem;
  height: 1rem;
  display: inline-block;
  opacity: .7;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media screen and (max-width: 1024px) {
  .slide-arrow::before {
    width: 3rem;
    height: 3rem;
  }
}

.prev-arrow {
  left: 0;
}

.prev-arrow::before {
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
}

.next-arrow {
  right: 0;
}

.next-arrow::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.mv {
  width: 100%;
  height: 100%;
  position: relative;
}

.mv_slider {
  width: 100vw;
  height: 100vh;
}

@media screen and (max-width: 1024px) {
  .mv_slider {
    height: 138.66vw;
  }
}

.mv_slider .slick-slide {
  height: auto;
  opacity: 1 !important;
}

.mv_slider_item {
  width: 100vw;
  height: 100vh;
  opacity: 0;
  -webkit-transition: 0s;
  transition: 0s;
}

@media screen and (max-width: 1024px) {
  .mv_slider_item {
    height: 138.66vw;
  }
}

.mv_slider .slick-active .mv_slider_item {
  /* エフェクトの継続用に付与したslick-continueのフェード設定 */
  /* [重要]slick側の設定と同じdurationを取る */
  -webkit-animation: "mvFadeIn" 5.0s ease forwards;
          animation: "mvFadeIn" 5.0s ease forwards;
}

@-webkit-keyframes mvFadeIn {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

@keyframes mvFadeIn {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.mv_slider .slick-continue .mv_slider_item {
  opacity: 1;
}

.mv_slider_img {
  width: 100%;
  height: 100%;
  opacity: 1;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
  -webkit-transition: 0s;
  transition: 0s;
}

.mv_slider .slick-active .mv_slider_img {
  /* 画像 slick-active(効果開始) */
  /* ズームをかける要素には必ずフェードに対して大きめのtransition-durationを取る */
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transition: ease 10.0s;
  transition: ease 10.0s;
}

.mv_slider .slick-continue .mv_slider_img {
  /* 画像 slick-continue */
  /* ズームをかける要素には必ずフェードに対して大きめのtransition-durationを取る */
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transition: ease 10.0s;
  transition: ease 10.0s;
}

.mv_shadow {
  width: 100%;
  height: 17rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 1024px) {
  .mv_shadow {
    height: 30%;
  }
}

.mv_logo {
  width: 199px;
  position: absolute;
  top: 4rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) {
  .mv_logo {
    width: 22%;
    top: 10rem;
  }
}

.mv_slider_logo {
  width: 300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: 10%;
  right: 7%;
}

@media screen and (max-width: 1024px) {
  .mv_slider_logo {
    width: 40vw;
    right: 1%;
  }
}

.mv_slider_logo img {
  max-width: 100%;
  height: auto;
}

.mv_slider_logo-01 {
  width: 149px;
}

@media screen and (max-width: 1024px) {
  .mv_slider_logo-01 {
    width: 19.86vw;
  }
}

.mv_slider_logo-02 {
  width: 90px;
}

@media screen and (max-width: 1024px) {
  .mv_slider_logo-02 {
    width: 12vw;
  }
}

.mv_slider_logo-03 {
  width: 180px;
}

@media screen and (max-width: 1024px) {
  .mv_slider_logo-03 {
    width: 23.6vw;
  }
}

.mv_slider_logo-04 {
  width: 253px;
}

@media screen and (max-width: 1024px) {
  .mv_slider_logo-04 {
    width: 33.73vw;
  }
}

.mv_slider_logo-05 {
  width: 168px;
}

@media screen and (max-width: 1024px) {
  .mv_slider_logo-05 {
    width: 22.4vw;
  }
}

.mv_slider_logo-06 {
  width: 64px;
}

@media screen and (max-width: 1024px) {
  .mv_slider_logo-06 {
    width: 8.53vw;
  }
}

#project {
  padding: 8rem 0 0;
}

#project > .wrap {
  padding-bottom: 8rem;
}

.projecut_container {
  padding: 3% 0 7%;
}

.project_links {
  width: 100%;
  padding: 3% 0 5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
  .project_links {
    padding: 5% 0;
  }
}

.project_link_button {
  width: 290px;
  height: 230px;
  margin-right: 35px;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .project_link_button {
    width: 100%;
    height: 63.33vw;
    margin: 0 0 5%;
  }
}

.modal_triger {
  font-size: 0;
}

.project_link_bg {
  width: 100%;
  height: auto;
  -webkit-transition: all ease 1s;
  transition: all ease 1s;
}

.project_link_button:hover .project_link_bg {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.project_link_logo {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 1024px) {
  .flex_column-reverse-sp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.pt-80 {
  padding-top: 80px;
}

@media screen and (max-width: 1024px) {
  .pt-80 {
    padding-top: 8rem;
  }
}

@media screen and (max-width: 1024px) {
  .dropshdow-black-sp {
    -webkit-filter: drop-shadow(0 0 0.5rem rgba(51, 51, 51, 0.7));
            filter: drop-shadow(0 0 0.5rem rgba(51, 51, 51, 0.7));
  }
}

.mr-0 {
  margin-right: 0 !important;
}
