.mod-service-cards-container .mod-service-cards-content .cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
  z-index: 0;
  position: relative;
  aspect-ratio: 1500/579;
  max-width: 100%;
  min-height: 200px;
  transition: all 0.6s ease;
}
.mod-service-cards-container .mod-service-cards-content .cards:has(.card-tour.open) {
  grid-template-columns: 1fr 0fr;
  gap: 0;
}
.mod-service-cards-container .mod-service-cards-content .cards:has(.card-tour.open) .di:not(.card-tour) {
  pointer-events: none;
  opacity: 0;
}
.mod-service-cards-container .mod-service-cards-content .cards:has(.card-tour.open) .card-tour.clickable dd {
  pointer-events: auto;
}
.mod-service-cards-container .mod-service-cards-content .cards:has(.card-tour.open) .card-tour dd {
  opacity: 1;
  transition: all 0.4s ease 0.3s;
}
.mod-service-cards-container .mod-service-cards-content .cards:has(.card-system.open) {
  grid-template-columns: 0fr 1fr;
  gap: 0;
}
.mod-service-cards-container .mod-service-cards-content .cards:has(.card-system.open) .di:not(.card-system) {
  pointer-events: none;
  opacity: 0;
}
.mod-service-cards-container .mod-service-cards-content .cards:has(.card-system.open) .card-system.clickable dd {
  pointer-events: auto;
}
.mod-service-cards-container .mod-service-cards-content .cards:has(.card-system.open) .card-system dd {
  opacity: 1;
  transition: all 0.4s ease 0.3s;
}
.mod-service-cards-container .mod-service-cards-content .cards .di {
  height: 100%;
  border-radius: 12px;
  color: #fff;
  text-shadow: 1px 1px 1px #333, 0 0 8px #333;
  transition: opacity 0.4s ease;
}
.mod-service-cards-container .mod-service-cards-content .cards dd .link {
  position: absolute;
  bottom: 20px;
  text-align: center;
}
.mod-service-cards-container .mod-service-cards-content .cards dd .link a {
  color: #fff;
  text-decoration: underline;
  font-size: 2.4rem;
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .mod-service-cards-container .mod-service-cards-content .cards dd .link a:hover {
    color: #f00;
    text-shadow: 0 0 32px #000, 0 0 32px #000, 0 0 32px #000;
  }
}
.mod-service-cards-container .mod-service-cards-content .cards .card-tour {
  background: url("/assets/img/pages/tour/mv.webp") no-repeat left center;
  background-size: cover;
}
.mod-service-cards-container .mod-service-cards-content .cards .card-tour dt {
  z-index: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.8rem;
  right: calc(50% + 1.6rem);
}
.mod-service-cards-container .mod-service-cards-content .cards .card-tour dd {
  z-index: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% + 1.6rem);
  right: 0.8rem;
}
.mod-service-cards-container .mod-service-cards-content .cards .card-tour dd .link {
  left: calc(-100% - 3.2rem);
  right: 0;
}
.mod-service-cards-container .mod-service-cards-content .cards .card-system {
  background: url("/assets/img/pages/system/mv.webp") no-repeat right center;
  background-size: cover;
}
.mod-service-cards-container .mod-service-cards-content .cards .card-system dt {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% + 1.6rem);
  right: 0.8rem;
}
.mod-service-cards-container .mod-service-cards-content .cards .card-system dd {
  z-index: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.8rem;
  right: calc(50% + 1.6rem);
}
.mod-service-cards-container .mod-service-cards-content .cards .card-system dd .link {
  left: 0;
  right: calc(-100% - 3.2rem);
}
.mod-service-cards-container .mod-service-cards-content .cards dt {
  display: flex;
  justify-content: center;
  align-items: center;
}
.mod-service-cards-container .mod-service-cards-content .cards dt .wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  transition: all 0.3s ease;
}
.mod-service-cards-container .mod-service-cards-content .cards dt .wrapper > span {
  display: block;
  white-space: nowrap;
}
.mod-service-cards-container .mod-service-cards-content .cards dt .title {
  font-size: clamp(1.2rem, 0.4rem + 2.5vw, 2.4rem);
}
.mod-service-cards-container .mod-service-cards-content .cards dt .subTitle {
  font-size: clamp(1rem, 0.6rem + 1.25vw, 1.6rem);
}
.mod-service-cards-container .mod-service-cards-content .cards dd {
  pointer-events: none;
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(1rem, 0.6rem + 1.25vw, 1.6rem);
  transition: opacity 0.4s ease;
}
.mod-service-cards-container .mod-service-cards-content .cards dd .wrapper {
  text-align: center;
}
@media screen and (width <= 768px) {
  :root .mod-service-cards-container .mod-service-cards-content:has(.di.open) .di dt {
    top: 10px;
    transform: translate(-50%, 0);
    transition: all 0.3s ease;
  }
  :root .mod-service-cards-container .mod-service-cards-content .di {
    z-index: 0;
    position: relative;
  }
  :root .mod-service-cards-container .mod-service-cards-content .di dt {
    position: absolute;
    top: 50%;
    bottom: auto;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
  }
  :root .mod-service-cards-container .mod-service-cards-content .di dt .wrapper {
    gap: 0;
    line-height: 1.5;
  }
  :root .mod-service-cards-container .mod-service-cards-content .di dd {
    position: absolute;
    top: auto;
    bottom: 60px;
    left: 0;
    right: 0;
    transition: none;
  }
  :root .mod-service-cards-container .mod-service-cards-content .di dd .link {
    top: 100%;
    bottom: auto;
    left: 0;
    right: 0;
    margin-top: 10px;
  }
  :root .mod-service-cards-container .mod-service-cards-content .di dd .link a {
    font-size: 1.6rem;
  }
}
