@import url("https://fonts.googleapis.com/css?family=Quicksand:300,400,500,700");
/*----------------------------------------------------------
loading
----------------------------------------------------------*/
.loading_home {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000;
  opacity: 1;
  -webkit-animation: hidden .3s linear 4s forwards;
  animation: hidden .3s linear 4s forwards;
  will-change: opacity;
  z-index: 99999; }
  .loading_home_loader {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    -webkit-animation: loading .7s linear;
    animation: loading .7s linear;
    -webkit-animation-delay: .4s;
    animation-delay: .4s; }
  .loading_home_img {
    position: relative;
    width: 100%;
    height: 100%; }
  .loading_home_logo {
    position: absolute;
    display: block;
    right: 0;
    bottom: 0;
    width: auto;
    height: 10%;
    margin: auto;
    will-change: transform;
    -webkit-animation-delay: 2s;
    animation-delay: 2s; }
  .loading_home_logo_01 {
    top: -10%;
    left: 0;
    width: 50%;
    min-width: 190px;
    opacity: 0;
    -webkit-animation: delayLogo 2s forwards;
    animation: delayLogo 2s forwards;
    -webkit-animation-delay: .3s;
    animation-delay: .3s;
    z-index: 1; }
    @media screen and (min-width: 781px) {
      .loading_home_logo_01 {
        top: 0;
        width: 18%;
        min-width: 300px;
        max-width: 360px; } }
  .loading_home_logo_02 {
    top: 13px;
    left: 0%;
    width: 50%;
    min-width: 190px; }
    @media (max-width: 540px) and (min-width: 481px) {
      .loading_home_logo_02 {
        top: 9%; } }
    @media (max-width: 610px) and (min-width: 541px) {
      .loading_home_logo_02 {
        top: 9%; } }
    @media (max-width: 670px) and (min-width: 611px) {
      .loading_home_logo_02 {
        top: 10%; } }
    @media (max-width: 780px) and (min-width: 671px) {
      .loading_home_logo_02 {
        top: 11%; } }
    @media screen and (min-width: 781px) {
      .loading_home_logo_02 {
        top: 145px;
        width: 18%;
        min-width: 300px;
        max-width: 360px; } }
    .loading_home_logo_02::before {
      content: '';
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #000;
      -webkit-animation: move02 2s forwards;
      animation: move02 2s forwards; }

@keyframes hidden {
  0% {
    z-index: 99999; }
  100% {
    opacity: 0;
    z-index: -1; } }

@-webkit-keyframes hidden {
  0% {
    z-index: 99999; }
  100% {
    opacity: 0;
    z-index: -1; } }

@keyframes loading {
  0% {
    -webkit-filter: blur(4px);
    filter: blur(4px); }
  100% {
    -webkit-filter: blur(0);
    filter: blur(0); } }

@-webkit-keyframes loading {
  0% {
    -webkit-filter: blur(4px);
    filter: blur(4px); }
  100% {
    -webkit-filter: blur(0);
    filter: blur(0); } }

@keyframes delayLogo {
  0% {
    opacity: 0; }
  20% {
    opacity: 1; }
  100% {
    opacity: 1; } }

@-webkit-keyframes delayLogo {
  0% {
    opacity: 0; }
  20% {
    opacity: 1; }
  100% {
    opacity: 1; } }

@keyframes move02 {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(0, 0.56, 0.44, 1);
    -o-transition-timing-function: cubic-bezier(0, 0.56, 0.44, 1);
    transition-timing-function: cubic-bezier(0, 0.56, 0.44, 1); }
  75% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

@-webkit-keyframes move02 {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(0, 0.56, 0.44, 1);
    transition-timing-function: cubic-bezier(0, 0.56, 0.44, 1); }
  75% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

/*----------------------------------------------------------
t_mv animation
----------------------------------------------------------*/
.t_mv_item .t_mv_logo {
  -webkit-transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.45s;
  -o-transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.45s;
  transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.45s;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0); }

.t_mv_item .t_mv_text {
  -webkit-transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.6s;
  -o-transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.6s;
  transition: 0.3s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.6s;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0); }

.t_mv_item.slick-current .t_mv_logo {
  -webkit-transition: 0.55s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.45s;
  -o-transition: 0.55s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.45s;
  transition: 0.55s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.45s;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0); }

.t_mv_item.slick-current .t_mv_txtbox.loaded .t_mv_text {
  -webkit-transition: 0.55s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.8s;
  -o-transition: 0.55s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.8s;
  transition: 0.55s all cubic-bezier(0.65, 0.05, 0.36, 1) 0.8s;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0); }

/*----------------------------------------------------------
t_mv
----------------------------------------------------------*/
.t_mv {
  position: relative;
  height: 100%;
  overflow: hidden;
  /*----------------- t_mv_txtbox -----------------*/
  /*----------------- t_mv_lcontents -----------------*/
  /*----------------- t_mv_lcontents_gt -----------------*/
  /*----------------- t_mv_lcontents_about -----------------*/ }
  .t_mv_list {
    height: 100%; }
  .t_mv_item {
    position: relative;
    height: 100%; }
  .t_mv_photo {
    width: 100%;
    height: 100%; }
    .t_mv_photo img {
      height: calc(100vh);
      -o-object-fit: cover;
      object-fit: cover;
      -o-object-position: center;
      object-position: center; }
  .t_mv_txtbox {
    position: absolute;
    top: -10%;
    left: 0;
    right: 0;
    bottom: 0;
    width: 50%;
    min-width: 190px;
    height: 10%;
    margin: auto; }
    @media screen and (min-width: 781px) {
      .t_mv_txtbox {
        top: 0;
        width: 18%;
        min-width: 300px;
        max-width: 360px; } }
  .t_mv_text {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    color: #fff; }
    @media screen and (min-width: 781px) {
      .t_mv_text {
        font-size: 25px; } }
  .t_mv_lcontents {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; }
  .t_mv_lcontents_gt {
    display: block;
    max-width: 188px;
    margin: 0 3.7% 20px auto; }
    @media screen and (min-width: 781px) {
      .t_mv_lcontents_gt {
        max-width: 398px;
        margin: 0 3.7% 55px auto; } }
  .t_mv_lcontents_gt_link {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: normal;
    position: relative;
    display: inline-block;
    width: 100%;
    text-align: left;
    font-size: 18px;
    background-color: #fff;
    padding: 2px 10% 2px 15px; }
    @media screen and (min-width: 781px) {
      .t_mv_lcontents_gt_link {
        font-size: 35px;
        padding: 5px 10% 5px 15px;
        -webkit-transition: .2s;
        -o-transition: .2s;
        transition: .2s; }
        .t_mv_lcontents_gt_link:hover {
          color: #fff;
          background-color: #000; }
          .t_mv_lcontents_gt_link:hover::before {
            right: -54%;
            background-color: #fff; }
          .t_mv_lcontents_gt_link:hover::after {
            right: -84%;
            border-left: 7px solid #fff; } }
    .t_mv_lcontents_gt_link::before, .t_mv_lcontents_gt_link::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      vertical-align: middle;
      -webkit-transition: .2s;
      -o-transition: .2s;
      transition: .2s; }
    .t_mv_lcontents_gt_link::before {
      right: -57%;
      width: 30%;
      height: 1px;
      background-color: #000; }
      @media screen and (min-width: 781px) {
        .t_mv_lcontents_gt_link::before {
          right: -50%;
          height: 2px; } }
    .t_mv_lcontents_gt_link::after {
      right: -87%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 4px;
      height: 4px;
      border: 4px solid transparent;
      border-left: 4px solid #000; }
      @media screen and (min-width: 781px) {
        .t_mv_lcontents_gt_link::after {
          right: -80%;
          width: 7px;
          height: 4px;
          border-width: 7px; } }
  .t_mv_lcontents_about {
    background-color: rgba(0, 0, 0, 0.7);
    padding: 10px; }
    @media screen and (min-width: 781px) {
      .t_mv_lcontents_about {
        padding: 10px 0 10px 45px; } }
  .t_mv_lcontents_about_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    @media screen and (min-width: 781px) {
      .t_mv_lcontents_about_list {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start; } }
  .t_mv_lcontents_about_item {
    width: 50%;
    text-align: center; }
    @media screen and (min-width: 781px) {
      .t_mv_lcontents_about_item {
        width: auto; } }
    .t_mv_lcontents_about_item:last-child {
      position: relative; }
      @media screen and (min-width: 781px) {
        .t_mv_lcontents_about_item:last-child {
          margin: 0 0 0 115px; } }
      .t_mv_lcontents_about_item:last-child::before {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        bottom: 0;
        width: 1px;
        height: 80%;
        background-color: #fff;
        margin: auto 0; }
        @media screen and (min-width: 781px) {
          .t_mv_lcontents_about_item:last-child::before {
            left: -35%; } }
  .t_mv_lcontents_about_link {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    color: #fff; }
    @media screen and (min-width: 781px) {
      .t_mv_lcontents_about_link {
        font-size: 25px;
        -webkit-transition: .2s;
        -o-transition: .2s;
        transition: .2s; }
        .t_mv_lcontents_about_link:hover {
          opacity: .8; } }
