@media only screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

@media print, screen and (min-width: 769px) {
  .sp {
    display: none;
  }
}

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

@media print, screen and (min-width: 769px) {
  .equipmentGroup {
    gap: 120px;
  }
}

@media only screen and (max-width: 768px) {
  .equipmentGroup {
    gap: calc(60 / 390 * 100vw);
  }
}

.equipmentGroup__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__head {
    gap: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .equipmentGroup__head {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(16 / 390 * 100vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__trigger {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .equipmentGroup__trigger {
    width: calc(152 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__trigger .generalBtn__inner {
    font-size: 12px;
  }
}

@media only screen and (max-width: 768px) {
  .equipmentGroup__trigger .generalBtn__inner {
    font-size: calc(12 / 390 * 100vw);
  }
}

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

@media print, screen and (min-width: 769px) {
  .equipmentGroup__item {
    gap: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .equipmentGroup__item {
    gap: calc(50 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__body .enTtl + .heading {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .equipmentGroup__body .enTtl + .heading {
    margin-top: calc(30 / 390 * 100vw);
  }
}

.equipmentGroup__cont {
  display: grid;
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__cont {
    gap: 40px 48px;
    grid-template-columns: repeat(3, 1fr);
  }
}

@media only screen and (max-width: 768px) {
  .equipmentGroup__cont {
    gap: calc(30 / 390 * 100vw) calc(22 / 390 * 100vw);
    grid-template-columns: repeat(2, 1fr);
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__card:has(.photo:nth-child(2)) {
    grid-column: auto / span 2;
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__card:has(.photo:nth-child(2)) .descriptionCard__visual {
    display: grid;
    gap: 48px;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__card .descriptionCard__detail {
    margin-top: 24px;
  }
}

@media only screen and (max-width: 768px) {
  .equipmentGroup__card .descriptionCard__detail .heading .small {
    font-size: calc(16 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__card .descriptionCard__detail .heading + .txt {
    margin-top: 24px;
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentGroup__card--tall {
    grid-row: auto / span 3;
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentSect__head .enTtl + .heading {
    margin-top: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .equipmentSect__head .enTtl + .heading {
    margin-top: calc(60 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 769px) {
  .equipmentSect__head + .equipmentSect__cont {
    margin-top: 120px;
  }
}

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

.gallerySlider__inner .swiper-container {
  position: relative;
}

.gallerySlider__inner .swiper-container .sliderController {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
}

.gallerySlider .swiper-pagination {
  display: none;
}

@media print, screen and (min-width: 769px) {
  .gallerySlider .thumnailFeature {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySlider .thumnailFeature {
    margin-top: 10px;
  }
}

.gallerySlider .thumnailFeature .swiper-slide {
  cursor: pointer;
}

.gallerySlider .thumnailFeature .swiper-slide .photo {
  position: relative;
}

.gallerySlider .thumnailFeature .swiper-slide .photo__capIn {
  display: none;
}

.gallerySlider .thumnailFeature .swiper-slide .photo:after {
  background-color: rgba(0, 0, 0, 0.6);
  content: '';
  height: 100%;
  left: 50%;
  opacity: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
  width: 100%;
}

.gallerySlider .thumnailFeature .swiper-slide.swiper-slide-thumb-active .photo:after {
  opacity: 0;
}

@media print, screen and (min-width: 769px) {
  .heading + .gallerySlider {
    margin-top: 50px;
  }
}

@media only screen and (max-width: 768px) {
  .heading + .gallerySlider {
    margin-top: 30px;
  }
}

@media print, screen and (min-width: 769px) {
  .modelroom-introduction {
    padding: 140px 0 0;
  }
}

@media only screen and (max-width: 768px) {
  .modelroom-introduction {
    padding: 100px 0 0;
  }
}

@media print, screen and (min-width: 769px) {
  .modelroom-gallery {
    padding: 80px 0;
  }
}

@media only screen and (max-width: 768px) {
  .modelroom-gallery {
    padding: 60px 0;
  }
}

@media print, screen and (min-width: 769px) {
  .modelroom-equipment {
    padding: 80px 0 140px;
  }
}

@media only screen and (max-width: 768px) {
  .modelroom-equipment {
    padding: 60px 0 100px;
  }
}
