/* screen - events */


.events{
  align-items: center;
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  gap: 3.47vw;
  position: relative;
}

/* .events .hero {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex: 1;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
  width: 100%;
  margin-bottom: 2vw;
} */


.events .overlap-group1 {
  align-self: stretch;
  height: 36.46vw;
  position: relative;
  width: 100%;
}

.events .overlap-group {
  left: 0;
  position: absolute;
  top: 0;
}

.events .mask-group-2 {
  align-self: stretch;
  height: 36.46vw;
  position: relative;
  width: 100%;
}

.events .line-7 {
  height: 0.07vw;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 2.36vw;
  width: 15.97vw;
}

.events .rectangle-13 {
  height: 12.5vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 99.93vw;
}

.events .events-1 {
  margin-top: -0.07vw;
  position: relative;
  width: fit-content;
}

.events .news {
  letter-spacing: 0;
  line-height: normal;
  margin-top: -0.07vw;
  position: relative;
  width: fit-content;
}

.events .auto-layout-vertical-1 {
  align-items: flex-start;
  display: inline-flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.0vw 0.0vw;
  justify-content: center;
  position: relative;
}

.events .tourist-attractions {
  letter-spacing: 0;
  line-height: 1.39vw;
  margin-top: -0.07vw;
  position: relative;
  text-align: center;
  white-space: nowrap;
  width: fit-content;
}

.events .text-1 {
  letter-spacing: 0;
}
.events .text-16 {
  height: 0.42vw;
  margin-bottom: 0.08vw;
  margin-left: 0.97vw;
  min-width: 0.56vw;
  white-space: nowrap;
}

.events .events-2 {
  color: var(--white);
  /* font-family: var(--font-family-konkhmer_sleokchher); */
  font-size: var(--font-size-xl);
  font-weight: 400;
  left: 17.15vw;
  position: absolute;
  top: 18.61vw;
}

.events .line-9 {
  right: -0.9vw;
  position: absolute;
  top: 2vw;
}

.events .frame-96 {
  height: 5.0vw;
  left: 0;
  position: absolute;
  top: 18.26vw;
  width: 25.97vw;
}

.events .top-events {
  align-self: stretch;
  letter-spacing: 0;
  line-height: normal;
  margin-top: -0.07vw;
  position: relative;
}

.events .frame-96-1 {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  gap: 2.08vw;
  position: relative;
  width: 100%;
}

.events .text-2 {
  margin-top: -0.1vw;
  position: relative;
  width: fit-content;
}

.events .text {
  position: relative;
  transform: rotate(90.00deg);
  width: fit-content;
}

.events .text-4 {
  margin-top: -0.1vw;
  position: relative;
  width: fit-content;
}

.events .frame-88 {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 2.08vw 2.08vw;
  justify-content: center;
  padding: 0 1vw;
  position: relative;
  width: 100%;
  padding: 0 15px;
}

.events .frame-8 {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 2.78vw;
  justify-content: center;
  position: relative;
  width: 48%;
  padding: 0 10px 40px 10px;
}

.events .frame-13 {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.69vw;
  position: relative;
  width: 100%
}

.events .mask-group {
  /* align-self: stretch;
  height: 25vw; 
  position: relative;
  width: 100%;
  aspect-ratio: 5 / 3;
    object-fit: cover;
    border-radius: 7px; */
}

.events .frame-97 {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 0.69vw;
  padding: 0.0vw 1vw;
  position: relative;
  width: 100%;
}

.events .event-title {
  align-self: stretch;
  letter-spacing: 0;
  line-height: normal;
  margin-top: 8px;
  position: relative;
}

.events .event-text {
  align-self: stretch;
  flex-grow: 1;
  height: 100%;
  letter-spacing: 0;
  line-height: 24px;
  position: relative;
  width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  display: block;
  line-clamp: 3;
  line-height: 1.6rem;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-height: calc(3 * 1.6rem);
}

.events .frame-4 {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  position: relative;
}

.events .frame-4 .x3-1 {
  margin-right: 5px;
}

.events .group-icon {
  border-radius: 2.15vw;
  height: auto;
  position: relative;
  width: 4.31vw;
}

.events .place {
  margin-top: -0.07vw;
  width: fit-content;
}

.events .frame-3 {
  align-items: flex-start;
  display: flex;
  gap: 0.35vw;
  position: relative;
  width: 100%;
}

.events .feb-12-2025-wed-feb-12-2025-wed {
  flex: 1;
  letter-spacing: 0;
  line-height: normal;
  margin-top: -0.07vw;
  position: relative;
}

.events .place-1 {
  width: fit-content;
}

.events .cardframe-1 {
  align-items: flex-start;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 0.69vw;
  flex-wrap: wrap;
  height: auto;
  position: relative;
  width: 31%;
}

.events .mask-group-1 {
  align-self: stretch;
  position: relative;
  width: 100%;
}

.events .frame-4-1 {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 0.35vw;
  position: relative;
  width: 5.83vw;
}

.events .place-2 {
  flex: 1;
  margin-top: -0.07vw;
}

.events .frame-3-1 {
  align-items: flex-start;
  display: flex;
  gap: 0.35vw;
  margin-right: -0.69vw;
  position: relative;
  width: 100%;
}

.events .place-3 {
  flex: 1;
  margin-top: -0.07vw;
}

.events .place-4 {
  flex: 1;
  margin-top: -0.07vw;
}

.events .place-5 {
  flex: 1;
  margin-top: -0.07vw;
}

.events .place-6 {
  flex: 1;
  margin-top: -0.07vw;
}

.events .place-7 {
  flex: 1;
  margin-top: -0.07vw;
}

.events .frame-25 {
  align-items: center;
  background-color: var(--white);
  border: 0.14vw solid;
  border-color: var(--picton-blue);
  border-radius: 3.47vw;
  display: flex;
  gap: 1.39vw;
  height: 4.17vw;
  justify-content: center;
  padding: 1.18vw 1.74vw;
  position: relative;
  width: 17.36vw;
}

.events .place-8 {
  margin-top: -0.1vw;
  width: fit-content;
}

.events .overlap-group-1 {
  align-items: flex-end;
  background-image: url(../img/common/group-99.png);
  background-size: 100% 100%;
  display: flex;
  height: 39.03vw;
  min-width: 100.0vw;
  padding: 2.92vw 0;
}

.events .frame {
  height: 2.36vw;
  left: 0.97vw;
  position: absolute;
  top: 0.97vw;
  width: 2.36vw;
}

.events .group-5 {
  height: 4.31vw;
  position: relative;
  width: 4.31vw;
}

.events .events-3 {
  letter-spacing: 0;
  line-height: normal;
}

.events .date {
  flex: 1;
  letter-spacing: 0;
  line-height: normal;
  margin-top: -0.07vw;
  position: relative;
}

.events .overlap {
  height: 36.46vw;
  width: 100.0vw;
}

.events .place-9 {
  letter-spacing: 0;
  line-height: normal;
  position: relative;
}

.events .text-3 {
  letter-spacing: 0;
  line-height: normal;
}

.events .event-name {
  align-self: stretch;
  flex-grow: 1;
  height: 100%;
  letter-spacing: 0;
  line-height: 24px;
  position: relative;
  width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  display: block;
  line-clamp: 3;
  line-height: 1.5;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-height: calc(3 * 1.5em);
}

.events .news-4 {
  letter-spacing: 0;
  line-height: normal;
}

.events .news-2 {
  margin-top: -0.07vw;
  position: relative;
  width: fit-content;
}

.events .group-96 {
  left: 0;
  position: absolute;
  top: 18.26vw;
  width: 100%;
}

.events .news-3 {
  color: var(--white);
  /* font-family: var(--font-family-konkhmer_sleokchher); */
  font-size: var(--font-size-xl);
  font-weight: 400;
  left: 18.19vw;
  position: absolute;
  top: 0;
  margin-bottom: 1.5rem;
  font-size: 34px;
}

.events .main {
  align-items: center;
  align-self: stretch;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 10vw;
  height: auto;
  position: relative;
  width: 100%;
  margin-bottom: 3%;
  max-width: 1230px;
    margin: 0 auto;
}

.events .top-news {
  align-self: stretch;
  letter-spacing: 0;
  line-height: normal;
  margin-top: 0;
  position: relative;
}

.events .frame-96-2 {
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  gap: 2.08vw;
  position: relative;
  width: 100%;
}

.events .calendar{
  border: 0.07vw solid;
  border-color: var(--white);
  position: relative;
}

.events  .frame-97-1 {
  width: 100%;
}

.card-list {
  opacity: 0; /* 初期状態で非表示 */
  transform: translateX(30px); /* 右に30pxずらす */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* フェードインと移動のアニメーション */
  transition-delay: 0s; /* 遅延を完全に削除 */
}

.card-list.visible {
  transform: translate3d(0rem, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
    opacity: 1;
}

.mask-group-wrapper {
    border-radius: 8px;
    overflow: hidden;
    align-self: stretch;
  position: relative;
  width: 100%;
  aspect-ratio: 5 / 3;
    object-fit: cover;
}

.frame-13 {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.frame-13 .mask-group-wrapper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  transition: transform 0.3s ease;
      will-change: transform;
}

.frame-13:hover .mask-group-wrapper img {
  transform: scale(1.1);
}

.events-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
    justify-content: center;
    /* padding: 0 20px; */
    z-index: 1;
}


.spot-list .events-list .card-list {
    width: 31% !important;
}
 
/* レスポンシブ対応 */
@media(max-width:1024px){
    .events .cardframe-1 {
      width: 49%;
    }

    .spot .events-list .card-list {
    width: 48% !important;
}
}
@media (max-width: 768px) {

    .events  .frame-97-1 {
      width: 40vw;
    }
    .events .frame-4 {
      width: 40vw;
    }
    .events .frame-3-1{ 
       width: 40vw;
    }
    
  .events .events-list .card-list {
    width: 100% !important; /* 画面幅が480px以下の場合、カードを全幅にします */
  }
  
}
@media (max-width: 480px) {
  .events .cardframe-1 {
    flex-basis: 100% !important; /* 画面幅が480px以下の場合、カードを全幅にします */
  }

  .events  .frame-97-1 {
    width: 80vw;
  }
  .events .frame-4 {
    width: 80vw;
  }
  .events .frame-3-1{ 
    width: 80vw;
  }
  .events .frame-88 {
    flex-wrap: wrap;
    flex-direction: column;
    gap: 100%;
  }
  .events .frame-88 article {
    width: 100%;
  }
  .events .frame-13 {
    width: 100%;
    /* margin-bottom: 30px; */
  }
  .events .mask-group{
    height: auto;
  }


  .events .cardframe-1 {
    width: 100%;
  }
}