@media print {
  html {
    font-size: 16px;
  }
  body {
    width: 1000px;
    margin: 0 auto;
  }
  body .page_header {
    display: none;
  }
  body .side_nav {
    display: none;
  }
}
/* responsive */
/*@include mq() { }*/
/*
.loading {
  width: 100%;
  height: 100%;
  position: fixed;
  opacity: 1;
  transition: 1.2s;
  top: 0;
  left: 0;
  background: #f4f4f4;
  z-index: 9999;
  .home & {
    display: none;
  }
  &::after {
    display: block;
    position: fixed;
    width: fs(40);
    height: fs(40);
    animation: rotate 0.6s linear infinite;
    border-radius: 100%;
    border-top: 1px solid #7E7451;
    border-bottom: 1px solid #F7EDC9;
    border-left: 1px solid #7E7451;
    border-right: 1px solid #F7EDC9;
    content: '';
    opacity: .8;
    left: 50%;
    top: 50%;
    margin-top: fs(-20);
    margin-left: fs(-20);
    pointer-events: none;
    transition: .3s;
    transition-delay: .5s;
  }
  &.fadeout {
    opacity: 0;
    pointer-events: none;
    &::after {
      opacity: 0;
    }
  }
}
@keyframes rotate {
  0% {
    transform: rotateZ(-360deg);
  }
  100% {
    transform: rotateZ(0deg);
  }
}


.is-fade-in-up {
  animation-name: fade-in-up-sm;
  animation-duration: .8s;
  animation-fill-mode: both;
}
@keyframes fade-in-up-sm {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(20px);
    opacity: 0;
  }
}
*/
#loading {
  opacity: 0;
  pointer-events: none;
}
#loading.is-show {
  width: 30%;
  height: 1px;
  position: fixed;
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  top: 50%;
  left: 35%;
  z-index: 9999;
  overflow: hidden;
}
#loading.is-show::before {
  content: "";
  display: block;
  position: absolute;
  width: 40px;
  height: 1px;
  top: 0;
  bottom: 0;
  left: 0;
  background: #0080CB;
  -webkit-animation: scrollbar 2s ease-in-out infinite;
          animation: scrollbar 2s ease-in-out infinite;
  margin: auto;
}

@-webkit-keyframes scrollbar {
  0% {
    width: 0;
    top: 0;
  }
  30% {
    width: 100%;
  }
  100% {
    left: 100%;
  }
}

@keyframes scrollbar {
  0% {
    width: 0;
    top: 0;
  }
  30% {
    width: 100%;
  }
  100% {
    left: 100%;
  }
}
.home .wrapper, .page-vision .wrapper {
  padding-top: 78px;
}
@media screen and (max-width: 749px) {
  .home .wrapper, .page-vision .wrapper {
    padding-top: 70px;
  }
}
.home .wrapper, .page-vision .wrapper {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: relative;
}
.home .wrapper::after, .page-vision .wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  z-index: 10;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
  pointer-events: none;
}
.home .wrapper.load_complete::after, .page-vision .wrapper.load_complete::after {
  opacity: 0;
}
.home .wrapper, .page-vision .wrapper {
  -webkit-transition: padding 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  transition: padding 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
}
.home .wrapper .vision_wrap, .page-vision .wrapper .vision_wrap {
  -webkit-transition: margin 1.2s cubic-bezier(0.26, 0.27, 0.1, 1), border-radius 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  transition: margin 1.2s cubic-bezier(0.26, 0.27, 0.1, 1), border-radius 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
}
.home .wrapper .main_movie_wrap, .page-vision .wrapper .main_movie_wrap {
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transition: -webkit-transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  transition: -webkit-transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  transition: transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  transition: transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1), -webkit-transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
          transform: translate3d(0, 0, 0) scale(1);
}
.home .wrapper:not(.load_complete) .vision_wrap, .page-vision .wrapper:not(.load_complete) .vision_wrap {
  margin: 0;
  border-radius: 0;
}
.home .wrapper:not(.load_complete) .main_movie_wrap, .page-vision .wrapper:not(.load_complete) .main_movie_wrap {
  -webkit-transform: translate3d(0, -4.875rem, 0) scale(2);
          transform: translate3d(0, -4.875rem, 0) scale(2);
}
.home .wrapper:not(.load_complete), .page-vision .wrapper:not(.load_complete) {
  padding-top: 0 !important;
}
.home .wrapper:not(.header_view) .scroll_down, .page-vision .wrapper:not(.header_view) .scroll_down {
  opacity: 0;
}
.home .wrapper:not(.header_view) .page_header, .page-vision .wrapper:not(.header_view) .page_header {
  background-color: transparent;
}
.home .wrapper:not(.header_view), .page-vision .wrapper:not(.header_view) {
  /*
     .page_header {
       opacity: 0 !important;
       pointer-events: none;
     }
   */
}

.text_in_ani > span {
  overflow: hidden;
  display: inline-block;
}
.text_in_ani > span > span {
  display: inline-block;
  -webkit-transition: -webkit-transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  transition: -webkit-transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  transition: transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  transition: transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1), -webkit-transform 1.2s cubic-bezier(0.26, 0.27, 0.1, 1);
  -webkit-transform: translate3d(0, 103%, 0);
          transform: translate3d(0, 103%, 0);
}
.load_complete .top_vision_title .text_in_ani > span:nth-child(1) > span {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}
.load_complete .top_vision_title .text_in_ani > span:nth-child(2) > span {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}
.load_complete .top_vision_title .text_in_ani > span > span {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.load_complete .vision_title .text_in_ani:nth-child(1) > span > span {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}
.load_complete .vision_title .text_in_ani:nth-child(3) > span > span {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}
.load_complete .vision_title .text_in_ani > span > span {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.js-parallax-box {
  position: relative;
  display: block;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 0.01s linear;
  transition: -webkit-transform 0.01s linear;
  transition: transform 0.01s linear;
  transition: transform 0.01s linear, -webkit-transform 0.01s linear;
  will-change: transform;
  overflow: initial;
}
.js-parallax-box .parallax_wrap img {
  position: absolute;
  border-radius: 8px;
  -webkit-transition: -webkit-transform 0.01s linear;
  transition: -webkit-transform 0.01s linear;
  transition: transform 0.01s linear;
  transition: transform 0.01s linear, -webkit-transform 0.01s linear;
}
.js-parallax-box .parallax_wrap {
  position: relative;
  overflow: hidden;
}
.js-parallax-box .parallax_wrap img {
  position: absolute;
  top: -12.5%;
  left: 0;
  width: 100%;
  height: 125%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  will-change: transform;
  display: block;
}

.main_vision_block .thumb01 .parallax_wrap {
  aspect-ratio: 248/141;
}
.main_vision_block .thumb02 .parallax_wrap {
  aspect-ratio: 218/124;
}
.main_vision_block .thumb03 .parallax_wrap {
  aspect-ratio: 551/306;
}
.main_vision_block .thumb04 .parallax_wrap {
  aspect-ratio: 441/247;
}
.main_vision_block .thumb05 .parallax_wrap {
  aspect-ratio: 381/215;
}
.main_vision_block .thumb06 .parallax_wrap {
  aspect-ratio: 155/88;
}
.main_vision_block .thumb07 .parallax_wrap {
  aspect-ratio: 286/160;
}
.main_vision_block .thumb08 .parallax_wrap {
  aspect-ratio: 460/261;
}
@media screen and (max-width: 749px) {
  .main_vision_block .thumb08 .parallax_wrap {
    aspect-ratio: 155/88;
  }
}
.main_vision_block .thumb09 .parallax_wrap {
  aspect-ratio: 571/321;
}
.main_vision_block .thumb10 .parallax_wrap {
  aspect-ratio: 207/115;
}

.vision_block .thumb01 .parallax_wrap {
  aspect-ratio: 202/114;
}
.vision_block .thumb02 .parallax_wrap {
  aspect-ratio: 369/205;
}
.vision_block .thumb03 .parallax_wrap {
  aspect-ratio: 349/199;
}
.vision_block .thumb04 .parallax_wrap {
  aspect-ratio: 225/127;
}
.vision_block .thumb05 .parallax_wrap {
  aspect-ratio: 240/134;
}
.vision_block .thumb06 .parallax_wrap {
  aspect-ratio: 332/186;
}
.vision_block .thumb07 .parallax_wrap {
  aspect-ratio: 101/57;
}
.vision_block .thumb08 .parallax_wrap {
  aspect-ratio: 460/261;
}
@media screen and (max-width: 749px) {
  .vision_block .thumb08 .parallax_wrap {
    aspect-ratio: 109/62;
  }
}
.vision_block .thumb09 .parallax_wrap {
  aspect-ratio: 571/321;
}
.vision_block .thumb10 .parallax_wrap {
  aspect-ratio: 207/115;
}

.js-parallax-fv,
.js-parallax-img {
  position: relative;
  overflow: hidden;
}
.js-parallax-fv img,
.js-parallax-img img {
  position: absolute;
  top: -10%;
  left: 0;
  width: 100%;
  height: 120%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  will-change: transform;
  display: block;
}

.js-parallax-fv img {
  top: -6%;
  height: 112%;
}

.js-parallax-img img {
  top: -10%;
  height: 120%;
}

.page_card_list_item {
  position: relative;
  overflow: initial;
}
.page_card_list_item::before {
  width: 102%;
  height: 102%;
  content: "";
  background: #ffffff;
  position: absolute;
  top: -1%;
  left: -1%;
  display: block;
  z-index: 50;
  -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  pointer-events: none;
}
.page_card_list_item .page_card_list_box > * {
  -webkit-transition: opacity 0.5s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.5s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.5s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.8s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.5s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.8s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.page_card_list_item:not(.card_ani)::before {
  opacity: 1;
}
.page_card_list_item:not(.card_ani) .page_card_list_box > * {
  -webkit-transform: translate(0, 50%);
          transform: translate(0, 50%);
  opacity: 0;
}
.page_card_list_item.card_ani {
  overflow: hidden;
}
.page_card_list_item.card_ani::before {
  opacity: 0;
}
.page_card_list_item.card_ani .page_card_list_box > * {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}