@media screen and (min-width: 768px) {
  .bgLayer--concept:before {
    background: url("../imgs/pc/bg-texture-01@1.5x.jpg") repeat-y top center/cover;
  }
}

@media screen and (max-width: 768px) {
  .bgLayer--concept:before {
    background: url("../imgs/sp/bg-texture-01.jpg") repeat-y top center/cover;
  }
}

.bgLayer--equipment:before {
  -webkit-transition-property: position, height, top, -webkit-transform;
  transition-property: position, height, top, -webkit-transform;
  transition-property: transform, position, height, top;
  transition-property: transform, position, height, top, -webkit-transform;
}

@media screen and (min-width: 768px) {
  .bgLayer--equipment:before {
    background: url("../imgs/pc/bg-texture-02@1.5x.jpg") repeat-y top center/cover;
  }
}

@media screen and (max-width: 768px) {
  .bgLayer--equipment:before {
    background: url("../imgs/sp/bg-texture-02.jpg") repeat-y top center/cover;
  }
}

@media screen and (min-width: 768px) {
  .conceptGallery {
    margin-left: calc(50% - 50vw);
    width: 100vw;
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery {
    margin-left: calc(50% - 50vw);
    width: 100vw;
  }
}

.conceptGallery__block {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  overflow: visible;
  will-change: clip-path;
}

@media screen and (max-width: 768px) {
  .conceptGallery__block {
    -webkit-clip-path: polygon(0% 0%, 50% 0%, 50% 80%, 0% 80%);
            clip-path: polygon(0% 0%, 50% 0%, 50% 80%, 0% 80%);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__block .conceptGallery__item .photo {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__block.sai-animate {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}

.conceptGallery__layout {
  overflow: visible;
  will-change: clip-path;
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout + .conceptGallery__layout {
    margin-top: 140px;
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout + .conceptGallery__layout {
    margin-top: calc(40 / 390 * 100vw);
  }
}

.conceptGallery__layout--01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--01 .conceptGallery__item--main {
    margin-left: 0;
    width: calc(1164 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout--01 .conceptGallery__item--main {
    width: calc(366 / 390 * 100vw);
  }
}

.conceptGallery__layout--01 .conceptGallery__item--02 {
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--01 .conceptGallery__item--02 {
    margin-right: 0;
    margin-top: calc(-237 / 1440 * 100vw);
    width: calc(501 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout--01 .conceptGallery__item--02 {
    margin-top: calc(-51 / 390 * 100vw);
    width: calc(187 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--02 .conceptGallery__item--main {
    margin-left: 0;
    width: calc(1260 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout--02 .conceptGallery__item--main {
    width: calc(366 / 390 * 100vw);
  }
}

.conceptGallery__layout--03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--03 {
    margin-right: -180px;
  }
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--03 {
    margin-right: 0;
  }
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--03 .conceptGallery__item--main {
    width: calc(855 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout--03 .conceptGallery__item--main {
    width: calc(245 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--03 .conceptGallery__item--02 {
    margin-left: calc(8 / 1440 * 100vw);
    width: calc( 398/ 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout--03 .conceptGallery__item--02 {
    margin-left: calc(6 / 390 * 100vw);
    width: calc(114 / 390 * 100vw);
  }
}

.conceptGallery__layout--04 .conceptGallery__item {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--04 .conceptGallery__item--main {
    width: calc(1080 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout--04 .conceptGallery__item--main {
    width: calc(342 / 390 * 100vw);
  }
}

.conceptGallery__layout--05 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--05 {
    margin: 0 auto;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--05 {
    margin: 0 auto;
    width: calc(1080 / 1440 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--05 .conceptGallery__item--main {
    width: calc(439 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout--05 .conceptGallery__item--main {
    width: calc(155 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--05 .conceptGallery__item--02 {
    margin-left: calc(19 / 1440 * 100vw);
    width: calc( 377/ 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout--05 .conceptGallery__item--02 {
    margin-left: calc(7 / 390 * 100vw);
    width: calc(134 / 390 * 100vw);
  }
}

.conceptGallery__layout--05 .conceptGallery__item--03 {
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .conceptGallery__layout--05 .conceptGallery__item--03 {
    margin-top: calc(20 / 1440 * 100vw);
    width: calc( 354/ 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__layout--05 .conceptGallery__item--03 {
    margin-top: calc(7 / 390 * 100vw);
    width: calc(150 / 390 * 100vw);
  }
}

.conceptGallery__item {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  overflow: visible;
}

.conceptGallery__item .photo {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.conceptGallery__item .photo__image {
  width: 100%;
}

.conceptGallery__item--main .photo:before {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .conceptGallery__item--main .photo:before {
    height: calc(100 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__item--main .photo:before {
    height: calc(56 / 390 * 100vw);
  }
}

.conceptGallery__item--main .photo__capIn {
  bottom: unset;
  font-family: "Cinzel", serif;
  left: 0;
  right: unset;
  top: 0;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .conceptGallery__item--main .photo__capIn {
    font-size: calc(26 / 1440 * 100vw);
    padding-left: calc(24 / 1440 * 100vw);
    padding-top: calc(20 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .conceptGallery__item--main .photo__capIn {
    font-size: calc(18 / 390 * 100vw);
    padding-left: calc(10 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .conceptSect__head .leadVisual + .conceptSect__desc {
    margin-top: 98px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__head .leadVisual + .conceptSect__desc {
    margin-top: calc(55 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .conceptSect__head + .conceptSect__cont {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__head + .conceptSect__cont {
    margin-top: calc(80 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .conceptSect__desc .headingUnit .txt {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__desc .headingUnit .txt {
    font-size: calc(14 / 390 * 100vw);
  }
}

.conceptSect__desc.sai-animate .line:after {
  opacity: 1;
}

.conceptSect__desc.sai-animate .line:before {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.conceptSect__desc .line {
  display: block;
  margin: auto;
  position: relative;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}

@media screen and (min-width: 768px) {
  .conceptSect__desc .line {
    height: 60px;
    margin-top: 30px;
    width: 6px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__desc .line {
    height: calc(32 / 390 * 100vw);
    margin-top: calc(20 / 390 * 100vw);
    width: calc(6 / 390 * 100vw);
  }
}

.conceptSect__desc .line:after {
  background-color: #000000;
  content: '';
  display: block;
  height: 100%;
  margin: auto;
  opacity: 0;
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition: 2s ease;
  transition: 2s ease;
  width: 1px;
}

.conceptSect__desc .line:before {
  background-color: #000000;
  bottom: 0;
  content: '';
  height: 6px;
  left: 0;
  position: absolute;
  -webkit-transition: 2s ease;
  transition: 2s ease;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .conceptSect__desc .line:before {
    -webkit-transform: translateY(-60px);
            transform: translateY(-60px);
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__desc .line:before {
    -webkit-transform: translateY(calc(-32 / 390 * 100vw));
            transform: translateY(calc(-32 / 390 * 100vw));
  }
}

@media screen and (min-width: 768px) {
  .conceptSect__cont + .conceptSect__cap {
    margin-top: 120px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__cont + .conceptSect__cap {
    margin-top: calc(80 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .conceptSect__cap .caption {
    margin-right: -28px;
    text-align: end;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100svh;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    padding: calc(80 / 390 * 100vw) 0 calc(48 / 390 * 100vw);
    right: 0;
    top: 0;
    -webkit-transition-duration: unset !important;
            transition-duration: unset !important;
  }
}

.equipmentCard__wrap {
  background-color: #595753;
  position: relative;
}

@media screen and (min-width: 768px) {
  .equipmentCard__wrap {
    opacity: 0;
    padding-bottom: 22px;
    padding-left: 80px;
    padding-right: 40px;
    padding-top: 22px;
    -webkit-transition: opacity .8s ease;
    transition: opacity .8s ease;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__wrap {
    height: 100%;
    margin-left: auto;
    margin-right: calc(-24 / 390 * 100vw);
    max-height: calc(630 / 390 * 100vw);
    padding: calc(60 / 390 * 100vw) calc(24 / 390 * 100vw);
    position: sticky;
    right: 0;
    top: 0;
    -webkit-transition-duration: unset !important;
            transition-duration: unset !important;
    -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
    transition-property: opacity, -webkit-transform, -webkit-filter;
    transition-property: opacity, transform, filter;
    transition-property: opacity, transform, filter, -webkit-transform, -webkit-filter;
    -webkit-transition-timing-function: unset !important;
            transition-timing-function: unset !important;
    width: calc(342 / 390 * 100vw);
  }
}

.equipmentCard.sai-animate .equipmentCard__wrap {
  opacity: 1;
}

.equipmentCard__ttl {
  color: #ffffff;
  font-family: "Cinzel", serif;
  font-weight: 400;
  position: absolute;
  top: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .equipmentCard__ttl {
    font-size: 36px;
    left: 42px;
    letter-spacing: .06em;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__ttl {
    font-size: calc(36 / 390 * 100vw);
    left: calc(19 / 390 * 100vw);
    letter-spacing: .04em;
  }
}

.equipmentCard__ttl span {
  display: block;
}

@media screen and (min-width: 768px) {
  .equipmentCard__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
  }
}

.equipmentCard__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media screen and (min-width: 768px) {
  .equipmentCard__list {
    gap: 20px 40px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(12 / 390 * 100vw);
  }
}

.equipmentCard__item {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .equipmentCard__item {
    font-size: 14px;
    gap: 8px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__item {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    font-size: calc(12 / 390 * 100vw);
    gap: calc(8 / 390 * 100vw);
  }
}

.equipmentCard__item:before {
  background-color: #ac9f79;
  content: '';
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .equipmentCard__item:before {
    height: 8px;
    margin-top: 7px;
    width: 8px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__item:before {
    height: calc(8 / 390 * 100vw);
    margin-top: calc(7 / 390 * 100vw);
    width: calc(8 / 390 * 100vw);
  }
}

.equipmentCard__item .caption {
  color: #ffffff;
  display: block;
}

@media screen and (min-width: 768px) {
  .equipmentCard__item .caption {
    font-size: 10px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__item .caption {
    font-size: calc(10 / 390 * 100vw);
  }
}

.equipmentCard__item .small {
  color: #ffffff;
  display: block;
}

@media screen and (min-width: 768px) {
  .equipmentCard__item .small {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__item .small {
    font-size: calc(11 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .equipmentCard__visual {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 211px;
  }
}

@media screen and (max-width: 768px) {
  .equipmentCard__visual {
    margin-top: auto;
    width: 100%;
  }
}

.equipmentCard__visual .photo {
  width: 100%;
}

.equipmentSect__head .enTtl {
  color: #ffffff;
}

.equipmentSect__head .enTtl .line:before, .equipmentSect__head .enTtl .line:after {
  background-color: #ffffff;
}

@media screen and (min-width: 768px) {
  .equipmentSect__head + .equipmentSect__cont {
    margin-top: 80px;
  }
}

@media screen and (min-width: 768px) {
  .equipmentSect__cont {
    margin-top: 60px;
  }
}

@media screen and (min-width: 768px) {
  .equipmentSect__item + .equipmentSect__item {
    margin-top: 60px;
  }
}

.leadVisual {
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  position: relative;
  width: 100vw;
  z-index: 3;
}

.leadVisual__head {
  bottom: 0;
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
  z-index: 1;
}

.leadVisual__ttl {
  color: #ffffff;
  -webkit-filter: blur(15px);
          filter: blur(15px);
  font-family: "Cinzel", serif;
  line-height: .6;
  opacity: 0;
  -webkit-transform: translate3d(0, 40px, 0);
          transform: translate3d(0, 40px, 0);
  -webkit-transition: 1.2s ease .5s;
  transition: 1.2s ease .5s;
  will-change: opacity, transform, filter;
}

@media screen and (min-width: 768px) {
  .leadVisual__ttl {
    font-size: 90px;
    letter-spacing: .06em;
  }
}

@media screen and (max-width: 768px) {
  .leadVisual__ttl {
    font-size: calc(36 / 390 * 100vw);
    letter-spacing: .16em;
  }
}

@media screen and (min-width: 768px) {
  .leadVisual__ttl .init {
    font-size: 100px;
  }
}

@media screen and (max-width: 768px) {
  .leadVisual__ttl .init {
    font-size: calc(42 / 390 * 100vw);
  }
}

.leadVisual__visual {
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.leadVisual__visual .capIn {
  z-index: 2;
}

.leadVisual__visual .parallaxPhoto {
  height: 100%;
  width: 100%;
}

.leadVisual__visual .parallaxPhoto__inner {
  height: 100%;
  width: 100%;
}

.leadVisual__visual .photo {
  height: 100%;
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
  -webkit-transition: -webkit-transform 2.5s cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: -webkit-transform 2.5s cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: transform 2.5s cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: transform 2.5s cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 2.5s cubic-bezier(0.32, 0.94, 0.6, 1);
  width: 100%;
  will-change: transform;
}

.leadVisual__visual .photo__pic {
  height: 100%;
  width: 100%;
}

.leadVisual__visual .photo__image {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .leadVisual__visual .photo__image {
    display: block;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
}

.leadVisual__visual .photo__capIn {
  bottom: 5px;
  position: absolute;
  right: 5px;
}

@media screen and (max-width: 768px) {
  .leadVisual__visual .photo__capIn {
    bottom: unset;
    top: 5px;
  }
}

.leadVisual.sai-animate .leadVisual__visual .photo {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.leadVisual.sai-animate .leadVisual__ttl {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

/* --------------------------- */
/* --------------------------- */
.conceptroom-concept {
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .conceptroom-concept {
    padding-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  .conceptroom-concept {
    padding-bottom: calc(10 / 390 * 100vw);
  }
}

.conceptroom-equipment {
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .conceptroom-equipment {
    padding: 120px 0;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .conceptroom-equipment {
    padding: calc(80 / 390 * 100vw) 0 0;
  }
}

@media screen and (max-width: 768px) {
  .conceptroom-equipment.bg-fixed {
    background-attachment: fixed;
  }
}
