body {
  background: #EBEBEB
}

img {
  max-width: 100%;
  max-height: 100%;
  object-fit: cover
}

.item_hover {
  overflow: hidden
}

.item_hover:hover img {
  transform: scale(1.05)
}

.item_hover img {
  width: 100%;
  height: 100%;
  transition: .6s ease
}

.common_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1
}

.index1 {
  height: 100vh;
  position: relative;
  z-index: 1
}

.index1 .index1Swiper {
  width: 100%;
  height: 100%
}

.index1 .index1Swiper .swiper-slide {
  opacity: 0 !important;
  transition: 1s
}

.index1 .index1Swiper .swiper-slide.swiper-slide-active {
  opacity: 1 !important
}

.index1 .index1Swiper .swiper-slide.swiper-slide-active .text p {
  transform: translateX(0);
  transition: 1s;
  opacity: 1;
  letter-spacing: 0;
  clip-path: inset(0 0 0 0);
  transition-delay: .3s
}

.index1 .img {
  width: 100%;
  height: 100%
}

.index1 .text {
  position: absolute;
  width: 100%;
  top: 28%;
  text-align: center;
  color: #EBEBEB;
  font-size: 5.72917vw;
  font-style: italic;
  font-weight: 400;
  line-height: 7.44792vw;
  font-family: 'LibreCaslonCondensed-Italic';
  display: flex;
  align-items: center;
  justify-content: center
}

.index1 .text p {
  width: fit-content;
  letter-spacing: 20px;
  transform: translateX(50px);
  opacity: 0;
  clip-path: inset(0 100% 0 0)
}

.index1 .text * {
  font-family: 'LibreCaslonCondensed-Italic'
}

.common_text {
  color: #000;
  font-style: normal;
  line-height: 140%;
  letter-spacing: -0.8px
}

.common_text .mask {
  position: relative
}

.common_text .mask.animated .mask_list:nth-child(2) {
  clip-path: inset(0 0 0 0)
}

.common_text .mask .mask_list {
  width: 100%;
  padding: 0 .26042vw
}

.common_text .mask .mask_list:nth-child(2) {
  position: absolute;
  top: 0;
  left: 0;
  width: max-content;
  color: #fff;
  z-index: 2;
  background: #CA8000;
  clip-path: inset(0 100% 0 0);
  transition: 1s ease
}

.index2 {
  padding: 1.5625vw 5.41667vw 1.5625vw 0;
  display: flex;
  justify-content: space-between
}

.index2 .l {
  width: 58.33333vw;
  height: 51.45833vw
}

.index2 .r {
  width: 26.5625vw;
  margin-top: 15.05208vw
}

.index2 .r .common_more {
  margin: 3.02083vw 0 0 0
}

.index3 {
  height: calc(100vh + 1500px)
}

.index3 .fix {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  height: 100vh;
  z-index: 1;
  overflow: hidden
}

.index3 .fix .first {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 5.20833vw 6.25vw;
  opacity: 0;
  transition: .6s ease;
  pointer-events: none
}

.index3 .fix .first.on {
  opacity: 1;
  pointer-events: auto
}

.index3 .fix .first.on .common_text .mask .mask_list:last-child {
  clip-path: inset(0 0 0 0)
}

.index3 .fix .first .color {
  position: absolute;
  width: 20.78125vw;
  top: 45%;
  left: 15.625vw
}

.index3 .fix .first .sideText {
  position: absolute;
  top: 70%;
  left: 0;
  color: rgba(133, 133, 133, 0.5);
  text-align: center;
  font-family: 'LibreCaslonCondensed-Italic';
  font-size: 6.61458vw;
  font-style: italic;
  font-weight: 400;
  line-height: 7.44792vw;
  text-transform: capitalize;
  transform: rotate(-90deg);
  transform-origin: left top
}

.index3 .fix .first .title {
  color: #222;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  text-transform: capitalize;
  font-family: 'LibreCaslonCondensed-Regular'
}

.index3 .fix .first .position {
  position: absolute;
  right: 6.25vw;
  bottom: 15%;
  width: 26.5625vw
}

.index3 .fix .first .position .common_more {
  margin: 2.03125vw 0 0 0
}

.index3 .fix .first .position .common_more img {
  background: #E8E4DA;
  border-radius: 50%
}

.index3 .fix .last {
  height: 100vh;
  position: relative;
  z-index: 1
}

.index3 .fix .last .mask {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 5;
  transform: scale(4)
}

.index4 {
  display: flex;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  padding: 5.20833vw 0 0 0
}

.index4 .sideText {
  position: absolute;
  bottom: -3.125vw;
  left: 0;
  color: rgba(133, 133, 133, 0.5);
  text-align: center;
  font-family: 'LibreCaslonCondensed-Italic';
  font-size: 6.61458vw;
  font-style: italic;
  font-weight: 400;
  line-height: 7.44792vw;
  text-transform: capitalize;
  transform: rotate(-90deg);
  transform-origin: left top
}

.index4 .content {
  width: 92.70833vw;
  height: 44.63542vw;
  display: flex
}

.index4 .content .item {
  height: 100%;
  position: relative;
  z-index: 1;
  flex: 1;
  cursor: pointer;
  transition: 1s
}

.index4 .content .item .jump {
  width: 18.02083vw;
  height: 100%;
  padding: 7.55208vw 2.60417vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0
}

.index4 .content .item .jump .title {
  color: #EBEBEB;
  font-family: 'LibreCaslonCondensed-Regular';
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  text-transform: capitalize
}

.index4 .content .item .jump .display {
  width: 34.42708vw;
  display: flex;
  align-items: center;
  justify-content: space-between
}

.index4 .content .item .jump .display .text {
  width: 23.69792vw;
  color: #FFF;
  font-style: normal;
  font-weight: 300;
  line-height: 140%;
  letter-spacing: -0.8px
}

.index4 .content .item .jump .display img {
  width: 7.08333vw;
  height: 7.08333vw
}

.index4 .content .item.on {
  flex: 2.2
}

.index4 .content .item.on .jump {
  transition: .6s ease;
  width: 39.63542vw;
  opacity: 1;
  pointer-events: auto;
  transition-delay: .3s
}

@keyframes goAnimate {
  100% {
    transform: translateX(-50%)
  }
}

.main {
  background: linear-gradient(180deg, #EBEBEB 0%, rgba(250, 235, 196, 0.7) 48.34%, rgba(235, 235, 235, 0.7) 100%)
}

.index5 {
  padding: 11.71875vw 13.02083vw 11.14583vw 10.625vw;
  overflow: hidden;
  position: relative;
  z-index: 1
}

.index5 .sideText {
  position: absolute;
  bottom: -7.96875vw;
  left: 0;
  color: rgba(133, 133, 133, 0.5);
  text-align: center;
  font-family: 'LibreCaslonCondensed-Italic';
  font-size: 6.61458vw;
  font-style: italic;
  font-weight: 400;
  line-height: 7.44792vw;
  text-transform: capitalize;
  transform: rotate(-90deg);
  transform-origin: left top;
  z-index: 5
}

.index5 .sideText:after {
  content: '';
  position: absolute;
  width: 13.02083vw;
  height: 7.8125vw;
  top: 50%;
  left: 50%;
  background: #F0EBDE;
  transform: translate(-50%, -50%);
  z-index: -1
}

.index5 .color {
  width: 100%;
  position: absolute;
  top: 9.16667vw;
  left: 50%;
  transform: translateX(-50%);
  max-width: unset;
  max-height: unset;
  z-index: -1;
  clip-path: inset(0 100% 0 0);
  transition: 2s
}

.index5 .color.animated {
  clip-path: inset(0 0 0 0)
}

.index5 .figure {
  display: flex;
  justify-content: space-between
}

.index5 .figure .item {
  text-align: center
}

.index5 .figure .item .en {
  height: 5.208vw;
  color: #DAC795;
  font-size: 3.38542vw;
  font-style: italic;
  font-weight: 400;
  text-transform: capitalize;
  margin: 0 0 2.60417vw;
  line-height: 2.55208vw;
  font-family: 'LibreCaslonCondensed-Italic'
}

.index5 .figure .item span {
  color: #DAC795;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: -1.174px;
  text-transform: capitalize;
  font-family: 'LibreCaslonCondensed-Regular'
}

.index5 .content {
  margin: 20.41667vw 0 0 0;
  width: 100vw;
  overflow: hidden;
  position: relative;
  left: 50%;
  transform: translateX(-50%)
}

.index5 .content .matter:nth-child(2) .go {
  animation-direction: reverse
}

.index5 .content .matter:not(:last-child) {
  margin: 0 0 4.5625vw
}

.index5 .content .matter .go {
  width: max-content;
  display: flex;
  animation: goAnimate 45s infinite linear
}

.index5 .content .matter .go .flex {
  display: flex;
  align-items: center;
  gap: 10px;
}

.index5 .content .matter .go .flex img {
  margin: 0 1.71875vw 0 0
}

.index6 {
  overflow: hidden;
  padding: 0 7.08333vw 11.77083vw 7.08333vw
}

.index6 .top {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.index6 .top .line {
  width: 23.4375vw;
  height: .15625vw;
  background: #fff
}

.index6 .top .p1 {
  color: #FFF;
  text-align: center;
  font-size: 6.61458vw;
  font-style: italic;
  font-weight: 400;
  line-height: 112.563%;
  font-family: 'LibreCaslonCondensed-Italic';
  text-transform: capitalize
}

.index6 .content {
  margin: 3.28125vw 0 0 0
}

.index6 .content .ourSwiper {
  width: 96.25vw
}

.index6 .content .ourSwiper .swiper-slide .item {
  width: 100%;
  height: 32.03125vw;
  position: relative;
  overflow: hidden;
  display: block
}

.index6 .content .ourSwiper .swiper-slide .item:hover img {
  transform: scale(1.05)
}

.index6 .content .ourSwiper .swiper-slide .item:hover .text {
  color: #fff
}

.index6 .content .ourSwiper .swiper-slide .item img {
  width: 100%;
  height: 100%;
  transition: .6s ease
}

.index6 .content .ourSwiper .swiper-slide .item .text {
  position: absolute;
  width: 100%;
  bottom: 2.1875vw;
  padding: 0 1.35417vw;
  color: #CA8000;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: 'LibreCaslonCondensed-Regular';
  transition: .6s ease
}

.index6 .content .end {
  display: flex;
  justify-content: flex-end;
  margin: 2.60417vw 0 0 0
}

.index7 {
  padding: 0 1.875vw
}

.index7 .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 1.30208vw;
  margin-bottom: 1.04167vw;
  position: relative
}

.index7 .list .items {
  width: 100%
}

.index7 .list .items .title {
  margin-bottom: 1.77083vw
}

.index7 .list .items .title::before {
  content: '';
  display: block;
  height: .26042vw;
  background: #222;
  width: 0;
  animation: cwa 1s linear forwards
}

.index7 .list .items .title p {
  margin: 1.04167vw 0;
  text-transform: capitalize;
  font-family: 'LibreCaslonCondensed-Regular'
}

.index7 .list .items .title::after {
  content: '';
  display: block;
  height: .15625vw;
  background: #222;
  width: 0;
  opacity: .5;
  animation: cwa 1s linear forwards
}

@keyframes cwa {
  to {
    width: 100%
  }
}

@-webkit-keyframes cwa {
  to {
    width: 100%
  }
}

.index7 .list .items a {
  display: block;
  color: #222;
  transition: all 600ms
}

.index7 .list .items a:not(:last-child) {
  margin-bottom: 4.16667vw
}

.index7 .list .items a .pic {
  position: relative;
  overflow: hidden
}

.index7 .list .items a .pic::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  opacity: 0;
  transition: all 600ms;
  z-index: 5
}

.index7 .list .items a .pic img {
  width: 100%;
  transition: all 600ms
}

.index7 .list .items a .pt {
  font-weight: 600;
  margin: 1.04167vw 0 .52083vw 0;
  line-height: 1;
  letter-spacing: -0.8px
}

.index7 .list .items a .des {
  font-weight: 300;
  letter-spacing: -0.8px;
  line-height: 1
}

.index7 .list .items a .time {
  color: #DAC795;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: -0.8px;
  margin: 20px 0 0 0;
  display: block
}

.index7 .list .items a:hover {
  color: #CA8000
}

.index7 .list .items a:hover .pic::before {
  opacity: 1
}

.index7 .list .items a:hover .pic img {
  transform: scale(1.05)
}

.index7 .common_more {
  justify-content: center;
  width: fit-content;
  margin: 0 auto
}

.index8 {
  margin: 0 0 100px;
  padding: 225px 36px 130px 36px;
  position: relative;
  overflow: hidden;
  z-index: 1
}

.index8 .color {
  width: 100vw;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: unset;
  max-height: unset;
  z-index: -1;
  clip-path: inset(0 100% 0 0);
  transition: 2s
}

.index8 .color.animated {
  clip-path: inset(0 0 0 0)
}

.index8 .title {
  width: 31.77083vw;
  margin-bottom: 7.08333vw
}

.index8 .title::before {
  content: '';
  display: block;
  height: .26042vw;
  background: #222;
  width: 0;
  animation: cwa 1s linear forwards
}

.index8 .title p {
  margin: 1.04167vw 0;
  text-transform: capitalize;
  font-family: 'LibreCaslonCondensed-Regular'
}

.index8 .title::after {
  content: '';
  display: block;
  height: .15625vw;
  background: #222;
  width: 0;
  opacity: .5;
  animation: cwa 1s linear forwards
}

@keyframes cwa {
  to {
    width: 100%
  }
}

@-webkit-keyframes cwa {
  to {
    width: 100%
  }
}

.index8 .content {
  padding: 0 0 0 4.375vw;
  display: flex;
  align-items: center;
  gap: 7.76042vw
}

.index8 .content .common_more {
  gap: 5.05208vw
}

.index8 .content .text {
  width: 60.36458vw
}

.index8 .content .text p {
  color: #C4C4C4;
  text-align: center;
  font-size: 3.38542vw;
  font-style: italic;
  font-weight: 400;
  line-height: 98%;
  letter-spacing: -0.8px;
  text-transform: capitalize;
  font-family: 'LibreCaslonCondensed-Italic'
}

.index8 .content .text p * {
  font-family: 'LibreCaslonCondensed-Italic'
}

.index8 .content .text p span {
  color: #DAC795
}

.index8 .content .text p:not(:last-child) {
  margin: 0 0 1.45833vw
}

.loading {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 999;
  background: linear-gradient(0deg, #DAC795 0%, #DAC795 100%), #2A2A2A;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: cubic-bezier(0.77, 0, 0.175, 1) 1s;
  clip-path: inset(0 0 0 0)
}

.loading.on {
  clip-path: inset(0 0 100% 0)
}

.loading.start .position {
  clip-path: inset(0 0 100% 0)
}

.loading .position {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #222222;
  transition: cubic-bezier(0.77, 0, 0.175, 1) 1s;
  clip-path: inset(0 0 0 0)
}

.loading .position .wrap img {
  filter: brightness(0) invert(1)
}

.loading .position .wrap .line {
  opacity: 0
}

.loading .wrap img {
  width: 124px;
  margin: auto;
  display: block
}

.loading .wrap .line {
  width: 315px;
  height: 5px;
  background: #fff;
  margin: 36px auto 0
}

.loading .wrap .line div {
  width: 0;
  height: 5px;
  background: #222;
  transition: 1s
}

@media screen and (max-width: 768px) {
  .index1 .text {
    top: 40%;
    font-size: 35px;
    padding: 0 5%;
    line-height: 1.4
  }

  .index1 .text p {
    white-space: nowrap
  }

  .common_text {
    display: none
  }

  .common_text.sj_common_text {
    display: block !important
  }

  .common_text.sj_common_text span {
    background: #CA8000;
    color: #fff
  }

  .index2 {
    padding: 30px 5%;
    flex-direction: column
  }

  .index2 .l {
    width: 100%;
    height: auto
  }

  .index2 .r {
    width: 100%;
    margin: 30px 0 0 0
  }

  .index2 .r .common_more {
    margin: 30px 0 0 0
  }

  .sideText {
    display: none
  }

  .index3 {
    height: auto
  }

  .index3 .fix {
    height: auto
  }

  .index3 .fix .last {
    height: auto;
    padding: 30px 5%
  }

  .index3 .fix .last .common_bg {
    position: static
  }

  .index3 .fix .last .mask {
    display: none
  }

  .index3 .fix .first {
    position: static;
    height: auto;
    padding: 30px 5%;
    opacity: 1;
    pointer-events: auto
  }

  .index3 .fix .first .color {
    display: none
  }

  .index3 .fix .first .position {
    position: static;
    width: 100%;
    margin: 30px 0 0 0
  }

  .index3 .fix .first .position .common_more {
    margin: 25px 0 0 0
  }

  .index4 {
    padding: 30px 5%
  }

  .index4 .content {
    flex-direction: column;
    width: 100%;
    gap: 30px;
    height: auto
  }

  .index4 .content .item {
    flex: unset !important;
    width: 100%;
    height: 350px
  }

  .index4 .content .item .jump {
    width: 100% !important;
    opacity: 1 !important;
    padding: 30px 5%
  }

  .index4 .content .item .jump .display {
    width: 100%;
    flex-direction: column;
    align-items: unset;
    gap: 20px
  }

  .index4 .content .item .jump .display .text {
    width: 100%
  }

  .index4 .content .item .jump .display img {
    width: 60px;
    height: 60px
  }

  .index5 {
    padding: 30px 5%
  }

  .index5 .figure .item span {
    font-size: 40px
  }

  .index5 .content {
    width: 100%;
    margin: 30px 0 0 0
  }

  .index5 .content .matter:not(:last-child) {
    margin: 0 0 20px
  }

  .index5 .content .matter .go .flex img {
    max-width: 140px;
    max-height: 45px;
    margin: 0 30px 0 0
  }

  .index6 {
    padding: 30px 5%
  }

  .index6 .top .p1 {
    font-size: 30px
  }

  .index6 .top .line {
    width: 20%;
    height: 2px
  }

  .index6 .content {
    margin: 40px 0 0 0
  }

  .index6 .content .end {
    margin: 35px 0 0 0
  }

  .index6 .content .ourSwiper {
    width: 100%
  }

  .index6 .content .ourSwiper .swiper-slide .item {
    height: 340px
  }

  .index6 .content .ourSwiper .swiper-slide .item .text {
    padding: 0 5%;
    bottom: 20px
  }

  .index7 {
    padding: 30px 5%
  }

  .index7 .list {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px 0;
    margin-bottom: 40px
  }

  .index7 .list .items .title {
    margin-bottom: 15px
  }

  .index7 .list .items .title::before {
    height: 3px
  }

  .index7 .list .items .title::after {
    height: 2px
  }

  .index7 .list .items .title p {
    margin: 10px 0
  }

  .index7 .list .items a:not(:last-child) {
    margin-bottom: 30px
  }

  .index7 .list .items a .pt {
    margin: 10px 0 5px 0;
    line-height: 1.2
  }

  .index7 .list .items a .time {
    margin: 15px 0 0 0
  }

  .index8 {
    padding: 30px 5%;
    margin: 0 0 30px
  }

  .index8 .title {
    width: 45%;
    margin-bottom: 15px
  }

  .index8 .title::before {
    height: 3px
  }

  .index8 .title::after {
    height: 2px
  }

  .index8 .title p {
    margin: 10px 0
  }

  .index8 .content {
    padding: 0;
    margin: 30px 0 0 0;
    flex-direction: column;
    align-items: unset;
    gap: 30px
  }

  .index8 .content .text {
    width: 100%
  }

  .index8 .content .text p {
    font-size: 28px;
    line-height: 1.4
  }

  .index8 .content .text p:not(:last-child) {
    margin: 0 0 10px
  }

  .loading .wrap {
    width: 90%
  }

  .loading .wrap img {
    width: 70px
  }

  .loading .wrap .line {
    width: 100%;
    height: 4px;
    margin: 20px 0 0 0
  }
}