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

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

@media print, screen and (min-width: 736px) {
  .equipmentSect {
    margin: 0 auto;
    width: 992px;
  }
}

@media print, screen and (min-width: 736px) {
  .equipmentSect + .equipmentSect {
    margin-top: 140px;
  }
}

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

.equipmentSect__head {
  position: relative;
}

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

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

.equipmentSect__visual {
  width: calc(100vw - var(--scrollbar));
}

@media print, screen and (min-width: 736px) {
  .equipmentSect__visual {
    margin-left: calc(((100vw - var(--scrollbar)) - 992px) / -2);
  }
}

@media only screen and (min-width: 736px) and (max-width: 992px) {
  .equipmentSect__visual {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}

@media screen and (max-width: 736px) {
  .equipmentSect__visual {
    margin-left: calc(-32 / 390 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .equipmentSect__visual {
    aspect-ratio: 390 / 200;
  }
}

.equipmentSect__ttl {
  border-bottom: 2px solid currentColor;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  left: 0;
  line-height: .7;
  position: absolute;
  text-align: center;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 100%;
  z-index: 1;
}

@media print, screen and (min-width: 736px) {
  .equipmentSect__ttl {
    font-size: 40px;
    padding-bottom: 24px;
  }
}

@media screen and (max-width: 736px) {
  .equipmentSect__ttl {
    font-size: calc(30 / 390 * 100vw);
    padding-bottom: calc(24 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .equipmentSect__guide {
    border-bottom: 2px solid #8b8051;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media print, screen and (min-width: 736px) {
  .equipmentSect__guide + .equipmentSect__list {
    margin-top: 80px;
  }
}

@media screen and (max-width: 736px) {
  .equipmentSect__guide + .equipmentSect__list {
    margin-top: calc(60 / 390 * 100vw);
  }
}

.equipmentSect__guideList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media print, screen and (min-width: 736px) {
  .equipmentSect__guideList {
    gap: 10px;
  }
}

@media screen and (max-width: 736px) {
  .equipmentSect__guideList {
    border-bottom: 2px solid #8b8051;
    gap: calc(16 / 390 * 100vw) calc(10 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .equipmentSect__guideList + .equipmentSect__guideList {
    padding-left: 10px;
  }
}

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

.equipmentSect__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  color: #8b8051;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0;
  text-align: center;
  -webkit-transition: .6s ease;
  transition: .6s ease;
  -webkit-transition-property: color,background-color;
  transition-property: color,background-color;
}

@media print, screen and (min-width: 736px) {
  .equipmentSect__link {
    gap: 8px;
    height: 48px;
    width: 157px;
  }
}

@media screen and (max-width: 736px) {
  .equipmentSect__link {
    gap: calc(8 / 390 * 100vw);
    height: calc(66 / 390 * 100vw);
    min-width: calc(102 / 390 * 100vw);
    padding: calc(10 / 390 * 100vw) 0;
  }
}

.equipmentSect__link .en {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}

@media print, screen and (min-width: 736px) {
  .equipmentSect__link .en {
    font-size: 16px;
    line-height: .7;
  }
}

@media screen and (max-width: 736px) {
  .equipmentSect__link .en {
    font-size: calc(16 / 390 * 100vw);
    line-height: 1.1;
  }
}

.equipmentSect__link .ja {
  display: inline-block;
  letter-spacing: 0;
  line-height: 1;
}

@media print, screen and (min-width: 736px) {
  .equipmentSect__link .ja {
    font-size: 13px;
  }
}

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

@media print, screen and (min-width: 736px) {
  .equipmentSect__link:hover {
    background-color: #8b8051;
    color: #ffffff;
  }
}

@media (hover: hover) and (pointer: fine) {
  .equipmentSect__link:hover {
    background-color: #8b8051;
    color: #ffffff;
  }
}

.equipmentSect__link.is-active {
  background-color: #8b8051;
  color: #ffffff;
  pointer-events: none;
}

.equipmentSect__list {
  display: grid;
}

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

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

.equipmentSect--structure .equipmentCard:last-child {
  grid-column: auto / span 2;
}

@media print, screen and (min-width: 736px) {
  .equipmentSect--security .equipmentCard:nth-child(1) {
    display: grid;
    gap: 32px;
    grid-column: auto / span 3;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 736px) {
  .equipmentSect--security .equipmentCard:nth-child(1) {
    grid-column: auto / span 2;
  }
}

.equipmentSect--security .equipmentCard:nth-child(1) .equipmentCard__desc {
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .equipmentSect--security .equipmentCard:nth-child(1) .equipmentCard__desc {
    margin-top: 0;
  }
}

.equipmentSect--security .equipmentCard:nth-child(1) .equipmentCard__desc:after {
  aspect-ratio: 150 / 32;
  background: url("../imgs/img-security-icon-01.svg") no-repeat center/cover;
  content: '';
  display: block;
}

@media print, screen and (min-width: 736px) {
  .equipmentSect--security .equipmentCard:nth-child(1) .equipmentCard__desc:after {
    margin-top: 16px;
    width: 150px;
  }
}

@media screen and (max-width: 736px) {
  .equipmentSect--security .equipmentCard:nth-child(1) .equipmentCard__desc:after {
    margin-top: calc(16 / 390 * 100vw);
    width: calc(150 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .equipmentCard__visual + .equipmentCard__desc {
    margin-top: 26px;
  }
}

@media screen and (max-width: 736px) {
  .equipmentCard__visual + .equipmentCard__desc {
    margin-top: calc(26 / 390 * 100vw);
  }
}

.equipmentCard__desc .heading {
  color: #8b8051;
}

@media print, screen and (min-width: 736px) {
  .equipmentCard__desc .heading + .txt {
    margin-top: 18px;
  }
}

@media screen and (max-width: 736px) {
  .equipmentCard__desc .heading + .txt {
    margin-top: calc(18 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .equipmentCard__desc .heading .small {
    font-size: 14px;
  }
}

@media screen and (max-width: 736px) {
  .equipmentCard__desc .heading .small {
    font-size: calc(14 / 390 * 100vw);
  }
}

.equipmentCard__desc .caption {
  color: #251e1c;
}

.modelroomGallery__main {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.modelroomGallery__main .photo {
  height: 100%;
  position: relative;
  width: 100%;
}

.modelroomGallery__main .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.modelroomGallery__fadeImg {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease;
  width: 100%;
}

.modelroomGallery__fadeImg.is-show {
  opacity: 1;
}

.modelroomGallery__thumbs {
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

@media print, screen and (min-width: 736px) {
  .modelroomGallery__thumbs {
    -webkit-column-gap: 12px;
       -moz-column-gap: 12px;
            column-gap: 12px;
    grid-template-columns: repeat(5, 1fr);
    margin-top: 50px;
    row-gap: 10px;
  }
}

@media screen and (max-width: 736px) {
  .modelroomGallery__thumbs {
    gap: calc(5 / 390 * 100vw);
    grid-template-columns: repeat(3, 1fr);
    margin-top: calc(30 / 390 * 100vw);
  }
}

.modelroomGallery__thumb {
  list-style: none;
}

.modelroomGallery__thumbBtn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  aspect-ratio: 3 / 2;
  background: none;
  border: 0;
  cursor: pointer;
  display: block;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.modelroomGallery__thumbBtn:after {
  background: rgba(0, 0, 0, 0.6);
  content: '';
  inset: 0;
  position: absolute;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

.modelroomGallery__thumbBtn.is-active {
  cursor: default;
}

.modelroomGallery__thumbBtn.is-active:after {
  opacity: 0;
}

@media print, screen and (min-width: 736px) {
  .modelroomGallery__thumbBtn:hover:not(.is-active):after {
    opacity: .3;
  }
}

@media (hover: hover) and (pointer: fine) {
  .modelroomGallery__thumbBtn:hover:not(.is-active):after {
    opacity: .3;
  }
}

.modelroomGallery__thumbImg {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.qualityHead {
  color: #ffffff;
  text-align: center;
}

.qualityHead__ttl {
  letter-spacing: 0;
}

.qualityHead__ttl .en {
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  line-height: .7;
}

@media print, screen and (min-width: 736px) {
  .qualityHead__ttl .en {
    font-size: 60px;
  }
}

@media screen and (max-width: 736px) {
  .qualityHead__ttl .en {
    font-size: calc(40 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .qualityHead__body {
    margin-top: 60px;
  }
}

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

.qualityHead__lead {
  line-height: 1.4;
  letter-spacing: 0;
}

.qualityHead__lead:before {
  content: '';
  display: block;
  height: 0;
  margin-top: calc((1 - 1.4) * .5em);
  width: 0;
}

.qualityHead__lead:after {
  content: '';
  display: block;
  height: 0;
  margin-bottom: calc((1 - 1.4) * .5em);
  width: 0;
}

@media print, screen and (min-width: 736px) {
  .qualityHead__lead {
    font-size: 40px;
  }
}

@media screen and (max-width: 736px) {
  .qualityHead__lead {
    font-size: calc(30 / 390 * 100vw);
  }
}

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

@media screen and (max-width: 736px) {
  .qualityHead__txt {
    margin-top: calc(30 / 390 * 100vw);
    text-align: left;
  }
}

@media print, screen and (min-width: 736px) {
  .equipment-contents {
    padding-bottom: 140px;
  }
}

@media screen and (max-width: 736px) {
  .equipment-contents {
    padding-bottom: calc(100 / 390 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .keyVisual--modelroom .keyVisual__ttl {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media print, screen and (min-width: 736px) {
  .modelroomGallery-wrap {
    margin-top: -60px;
  }
}

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

@media print, screen and (min-width: 736px) {
  .qualityHead-wrap {
    margin-top: 140px;
    padding-bottom: 80px;
  }
}

@media screen and (max-width: 736px) {
  .qualityHead-wrap {
    margin-top: calc(100 / 390 * 100vw);
    padding-bottom: calc(60 / 390 * 100vw);
  }
}
