@charset "UTF-8";
/* 
  css設定 @charsetが消されるsass仕様へのハック用コメントです。削除しないでください。新規作成時も必須！
 */
/*==================================================================================
 lower common
==================================================================================*/
.lower {
  background-color: #2e2d2e;
}
.lower img {
  width: 100%;
}
.lower .sp-container {
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0px 0px 16px #000;
  color: #000;
}
.lower .click {
  max-width: 280px;
  margin: 30px auto 0;
}
.lower .modal-wrapper {
  z-index: 9999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 100px 10px;
  text-align: center;
}
.lower .modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.lower .modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s, visibility 0.4s;
  background: #fff !important;
}
.lower .modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  vertical-align: middle;
  content: "";
}
.lower .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 94%;
  max-width: 100%;
  padding: 0;
  border-radius: 2px;
  vertical-align: middle;
}
.lower .modal-window .modal-content {
  max-height: 80vh;
  overflow-y: auto;
  text-align: left;
}
.lower .modal-window .modal-content .swipe-img img {
  width: 520px !important;
}
.lower .modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 0 !important;
  background: rgba(0, 0, 0, 0.8) !important;
}
.lower .modal-overlay.white {
  background: rgba(255, 255, 255, 0.8) !important;
}
.lower .modal-overlay:hover {
  opacity: 1 !important;
}
.lower .modal-close {
  z-index: 20;
  position: absolute !important;
  top: -35px;
  left: 0;
  width: 36px;
  color: #fff !important;
  font-size: 36px;
  font-weight: 700;
  line-height: 36px;
  text-align: center;
  text-decoration: none;
  text-indent: 0;
  padding: 0;
}
.lower .modal-close.close01 {
  color: #000 !important;
}
.lower .modal-close:hover {
  color: #ccc !important;
}
.lower .modal-button {
  margin: 0 auto;
  width: 88%;
  padding: 20px 0 30px;
}
.lower .main-content {
  padding-top: 160px;
  background-color: #2e2d2e;
}
.lower .mv {
  position: relative;
  width: 100%;
  z-index: 10;
}
.lower .mv .caption {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 4px 8px;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: 10px;
}
.lower .mv .texts {
  position: absolute;
  bottom: -90px;
  left: 10%;
  color: #fff;
  transform: translateY(50px);
  opacity: 0;
  transition: opacity 1.5s 3s, transform 1.5s 3s;
}
.lower .mv .texts .page-name {
  font-size: 124px;
  line-height: 1.4;
  padding-bottom: 0;
  font-weight: 200;
}
.lower .mv .texts .ja {
  display: inline-block;
  font-size: 14px;
  position: relative;
  min-width: 220px;
  padding: 0 20px;
  box-sizing: border-box;
  text-align: center;
}
.lower .mv .texts .ja::before, .lower .mv .texts .ja::after {
  position: absolute;
}
.lower .mv .texts .ja::before {
  content: "（";
  left: 0;
}
.lower .mv .texts .ja::after {
  content: "）";
  right: 0;
}
.lower .mv .image {
  position: relative;
  overflow: hidden;
  width: 0;
  transition: width 2s;
}
.lower .mv .image img {
  filter: saturate(0);
  transition: filter 1.5s 2s;
}
.lower .mv .image .in {
  position: relative;
  width: 100vw;
}
.lower .mv .image .in::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(270deg, #beb3a2 0%, #ab8665 40%, #a4744d 60%, #904209);
}
.lower .mv.on .texts {
  transform: translateY(0px);
  opacity: 1;
}
.lower .mv.on .image {
  width: 100%;
}
.lower .mv.on .image img {
  filter: saturate(1);
}
.lower .swipe-list {
  overflow: auto;
  padding-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .lower .mv {
    padding-top: 92px;
  }
  .lower .mv .texts {
    bottom: -30px;
    width: 80%;
    text-align: center;
  }
  .lower .mv .texts .page-name {
    font-size: 30px;
  }
  .lower .mv .texts .ja {
    font-size: 11px;
    min-width: 170px;
  }
  .lower .mv .image .in {
    position: relative;
    width: 100vw;
  }
  .lower .main-content {
    padding-top: 94px;
  }
}
.lower .main-content {
  position: relative;
  z-index: 2;
}
.lower .pageAnnotation {
  padding-bottom: 40px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .lower .pageAnnotation {
    padding-bottom: 20px;
  }
}

/*==================================================================================
 lower-sp
==================================================================================*/
@media (max-width: 768px) {
  /*==================================================================================
   plan
  ==================================================================================*/
  /*==================================================================================
   plan.detail
  ==================================================================================*/
  /*==================================================================================
   access
  ==================================================================================*/
  /*==================================================================================
   support
  ==================================================================================*/
}/*# sourceMappingURL=lower.css.map */