.introGallery {
  position: relative;
  z-index: 1;
  width: calc(100vw - var(--scrollbar));
}

@media screen and (min-width: 768px) {
  .introGallery {
    margin-left: calc((100% - 100vw + var(--scrollbar)) / 2);
  }
}

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

@media screen and (max-width: 768px) {
  .introGallery {
    margin-left: -20px;
  }
}

.introGallery:before {
  background-color: rgba(234, 228, 208, 0.5);
  content: '';
  display: block;
  max-height: 100%;
  position: absolute;
  right: 0;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition: -webkit-transform 3s cubic-bezier(0.11, 0, 0.5, 0) 2s;
  transition: -webkit-transform 3s cubic-bezier(0.11, 0, 0.5, 0) 2s;
  transition: transform 3s cubic-bezier(0.11, 0, 0.5, 0) 2s;
  transition: transform 3s cubic-bezier(0.11, 0, 0.5, 0) 2s, -webkit-transform 3s cubic-bezier(0.11, 0, 0.5, 0) 2s;
}

@media screen and (min-width: 768px) {
  .introGallery:before {
    height: 2270px;
    top: 80px;
    width: calc(660 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .introGallery:before {
    height: 1106px;
    top: 40px;
    width: 200px;
  }
}

.introGallery.sai-animate:before {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}

.introGallery__inner {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .introGallery__inner {
    max-width: 1440px;
  }
}

@media screen and (min-width: 768px) {
  .introGallery__item:not(:first-child) {
    margin-top: 200px;
  }
}

@media screen and (max-width: 768px) {
  .introGallery__item:not(:first-child) {
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .introSect__head .headingUnit .enTtl__inner {
    font-size: 56px;
  }
}

@media screen and (min-width: 768px) {
  .introSect__head .headingUnit .heading + .txt {
    max-width: 940px;
  }
}

@media screen and (min-width: 768px) {
  .introSect__head + .introSect__cont {
    margin-top: 200px;
  }
}

@media screen and (max-width: 768px) {
  .introSect__head + .introSect__cont {
    margin-top: 100px;
  }
}

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

@media screen and (min-width: 768px) {
  .modelroomSect__head {
    gap: 8px;
  }
}

@media screen and (max-width: 768px) {
  .modelroomSect__head {
    gap: 10px;
  }
}

@media screen and (min-width: 768px) {
  .modelroomSect__cont {
    margin-top: 140px;
  }
}

@media screen and (max-width: 768px) {
  .modelroomSect__cont {
    margin: 100px -20px 0;
  }
}

.modelroomSect__btn {
  background-color: #fff;
  border: 0;
  -webkit-box-shadow: 0 0 20px 3px rgba(51, 51, 51, 0.1);
          box-shadow: 0 0 20px 3px rgba(51, 51, 51, 0.1);
  cursor: pointer;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  text-decoration: none;
  color: inherit;
  -webkit-transition: background-color .6s ease-in-out;
  transition: background-color .6s ease-in-out;
}

@media screen and (min-width: 768px) {
  .modelroomSect__btn {
    padding: 16px 40px;
    width: calc((100% - 16px) / 3);
  }
}

@media screen and (max-width: 768px) {
  .modelroomSect__btn {
    padding: 12px;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .modelroomSect__btn:hover {
    background-color: #eae4d0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .modelroomSect__btn:hover {
    background-color: #eae4d0;
  }
}

.modelroomSect__btn.is-active {
  background-color: #eae4d0;
}

.modelroomSect__btnType {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  font-family: "EB Garamond", serif;
  letter-spacing: .05em;
  line-height: 1;
  font-size: 24px;
}

.modelroomSect__btnType .unit {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

.modelroomSect__btnSub {
  display: block;
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: .08em;
}

@media screen and (min-width: 768px) {
  .modelroomSect__btnSub {
    font-size: 16px;
    margin-top: 4px;
  }
}

@media screen and (max-width: 768px) {
  .modelroomSect__btnSub {
    font-size: 14px;
    margin-top: 2px;
  }
}

.modelroomSlider__slide {
  position: relative;
}

.modelroomSlider__slideTitle {
  color: #fff;
  font-family: "Cormorant Infant", serif;
  letter-spacing: .05em;
  position: absolute;
  right: 20px;
  bottom: 20px;
}

@media screen and (min-width: 768px) {
  .modelroomSlider__slideTitle {
    font-size: 32px;
  }
}

@media screen and (max-width: 768px) {
  .modelroomSlider__slideTitle {
    font-size: 20px;
    right: 10px;
    bottom: 10px;
  }
}

.modelroomSlider__main {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .modelroomSlider__main {
    max-width: 995px;
  }
}

.modelroomSlider__caption {
  font-size: 10px;
  letter-spacing: .05em;
  line-height: 1.6;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .modelroomSlider__caption {
    max-width: 1200px;
    margin-top: 10px;
    text-align: right;
  }
}

@media screen and (max-width: 768px) {
  .modelroomSlider__caption {
    margin-top: 8px;
    padding-inline: 20px;
  }
}

.modelroomSlider__controller {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .modelroomSlider__controller {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    margin-top: 40px;
    max-width: 770px;
  }
}

@media screen and (max-width: 768px) {
  .modelroomSlider__controller {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 5px;
    margin-top: 20px;
    padding-inline: 20px;
  }
}

@media screen and (min-width: 768px) {
  .modelroomSlider__thumb {
    width: 120px;
  }
}

@media screen and (max-width: 768px) {
  .modelroomSlider__thumb {
    width: calc((100% - 15px) / 4);
  }
}

.modelroomSlider__dir {
  background: none;
  border: 0;
  cursor: pointer;
  display: block;
  padding: 0;
  position: relative;
}

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

@media screen and (min-width: 768px) {
  .modelroomSlider__dir:hover::after {
    opacity: 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .modelroomSlider__dir:hover::after {
    opacity: 0;
  }
}

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

.sliderArea__ttl {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.sliderArea__type {
  font-family: "Cormorant Infant", serif;
  letter-spacing: .05em;
  line-height: 1;
  font-style: italic;
}

@media screen and (min-width: 768px) {
  .sliderArea__type {
    font-size: 80px;
  }
}

@media screen and (max-width: 768px) {
  .sliderArea__type {
    font-size: 56px;
  }
}

.sliderArea__typeLabel {
  font-family: "EB Garamond", serif;
  letter-spacing: .05em;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .sliderArea__typeLabel {
    font-size: 28px;
  }
}

@media screen and (max-width: 768px) {
  .sliderArea__typeLabel {
    font-size: 20px;
  }
}

.sliderArea__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}

@media screen and (min-width: 768px) {
  .sliderArea__inner {
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .sliderArea__inner {
    margin-top: 32px;
  }
}

.sliderArea__tag {
  border: 1px solid #DBD1B0;
  line-height: 1;
  padding: 10px 20px;
}

@media screen and (min-width: 768px) {
  .sliderArea__tag {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .sliderArea__tag {
    font-size: 12px;
  }
}

@media screen and (min-width: 768px) {
  .sliderArea__cont {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .sliderArea__cont {
    margin-top: 40px;
  }
}

@media screen and (min-width: 768px) {
  .sliderArea__item {
    margin-top: -100px;
    padding-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .sliderArea__item {
    margin-top: -100px;
    padding-top: 100px;
  }
}

@media screen and (min-width: 768px) {
  .sliderArea__item + .sliderArea__item {
    margin-top: 100px;
    padding-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .sliderArea__item + .sliderArea__item {
    margin-top: 0;
    padding-top: 100px;
  }
}

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

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

@media screen and (min-width: 768px) {
  .modelroom-slider {
    padding: 140px 0;
  }
}

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