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

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

.gallerySect {
  color: #ffffff;
}

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

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

.gallerySect__photo .photo, .gallerySect__wide .photo, .gallerySect__lead:not(.js-leadZoom) .photo {
  overflow: hidden;
}

.gallerySect__photo .photo__image, .gallerySect__wide .photo__image, .gallerySect__lead:not(.js-leadZoom) .photo__image {
  display: block;
  width: 100%;
  height: auto;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  will-change: transform;
}

.gallerySect__lead {
  overflow: hidden;
  position: relative;
}

.gallerySect__lead .photo {
  width: 100%;
}

.gallerySect__lead .photo__pic, .gallerySect__lead .photo__image {
  width: 100%;
}

.gallerySect__leadShadow {
  background: #000000;
  inset: -10px 0;
  opacity: .8;
  pointer-events: none;
  position: absolute;
  z-index: 4;
}

.gallerySect__leadItem .photo__image {
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  will-change: transform;
}

.gallerySect__leadItem:not(:first-child) {
  inset: 0;
  opacity: 0;
  position: absolute;
}

@media print, screen and (min-width: 769px) {
  .gallerySect__cont {
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
    display: grid;
    grid-template-columns: 640px 740px;
    margin: 0 auto;
    max-width: 1440px;
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect__intro {
    grid-area: 1 / 1;
    margin: 140px 0 0 170px;
    width: 460px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect__intro {
    margin: calc(80 / 390 * 100vw) 0 0;
    text-align: center;
  }
}

.gallerySect__ttl {
  font-family: "Cardo", serif;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0em;
  line-height: 1.8;
}

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

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

@media only screen and (max-width: 768px) {
  .gallerySect__ttl {
    font-size: 30px;
  }
}

@media (max-width: 374px) {
  .gallerySect__ttl {
    font-size: 8vw;
  }
}

.gallerySect__txt {
  font-family: "YakuHanMP", "Zen Old Mincho", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0em;
  line-height: 1.8;
}

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

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

@media only screen and (max-width: 768px) {
  .gallerySect__txt {
    font-size: 14px;
  }
}

@media (max-width: 374px) {
  .gallerySect__txt {
    font-size: 3.73333vw;
  }
}

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

@media only screen and (max-width: 768px) {
  .gallerySect__txt {
    margin: calc(40 / 390 * 100vw) auto 0;
    width: 100%;
  }
}

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

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

.gallerySect__wide .photo {
  width: 100%;
}

.gallerySect__wide .photo__pic, .gallerySect__wide .photo__image {
  width: 100%;
}

@media print, screen and (min-width: 769px) {
  .gallerySect__photo--01 {
    grid-column: 2;
    grid-row: 1 / span 3;
    margin-top: 100px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect__photo--01 {
    margin-left: auto;
    margin-top: calc(73 / 390 * 100vw);
    width: calc(322 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect__photo--02 {
    grid-area: 2 / 1;
    margin-top: 120px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect__photo--02 {
    margin-top: calc(48 / 390 * 100vw);
    width: calc(264 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect__photo--03 {
    grid-area: 3 / 1;
    margin: 80px 0 0 340px;
    width: 300px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect__photo--03 {
    margin-left: calc(184 / 390 * 100%);
    margin-top: calc(48 / 390 * 100vw);
    width: calc(156 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect__photos {
    display: grid;
    grid-template-columns: 340px 300px 70px 90px 100px 360px 90px 90px;
    margin: -38px auto 0;
    max-width: 1440px;
  }
}

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

@media print, screen and (min-width: 769px) {
  .gallerySect__photo--04 {
    grid-area: 1 / 2;
    width: 300px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect__photo--04 {
    margin-left: calc(202 / 390 * 100%);
    width: calc(156 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect__photo--05 {
    grid-area: 1 / 4 / 2 / 8;
    margin-top: 268px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect__photo--05 {
    margin-left: auto;
    margin-top: calc(48 / 390 * 100vw);
    width: calc(358 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect__photo--06 {
    grid-area: 2 / 1 / 3 / 6;
    margin-top: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect__photo--06 {
    margin-top: calc(48 / 390 * 100vw);
    width: calc(358 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect__photo--07 {
    grid-area: 3 / 5 / 4 / 7;
    margin-top: 81px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect__photo--07 {
    margin-left: calc(94 / 390 * 100%);
    margin-top: calc(48 / 390 * 100vw);
    width: calc(264 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--facade .gallerySect__intro {
    width: 460px;
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--guestroom .gallerySect__cont {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    grid-template-columns: 300px 240px 60px 40px 100px 300px 340px 60px;
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--guestroom .gallerySect__intro {
    grid-area: 1 / 1 / 2 / 3;
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--guestroom .gallerySect__photo--01 {
    grid-area: 1 / 6 / 2 / 8;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect--guestroom .gallerySect__photo--01 {
    margin-left: 0;
    width: calc(358 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--guestroom .gallerySect__photo--02 {
    grid-area: 2 / 1 / 3 / 5;
    margin-top: -100px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect--guestroom .gallerySect__photo--02 {
    margin-left: auto;
    width: calc(358 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--guestroom .gallerySect__photo--03 {
    grid-area: 2 / 6 / 3 / 7;
    margin: 100px 0 0 0;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect--guestroom .gallerySect__photo--03 {
    margin-left: calc(32 / 390 * 100%);
    width: calc(156 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--guestroom .gallerySect__photo--04 {
    grid-area: 3 / 1;
    margin: -48px 0 0 160px;
    width: 300px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect--guestroom .gallerySect__photo--04 {
    margin-left: calc(203 / 390 * 100%);
    margin-top: calc(-119 / 390 * 100vw);
    width: calc(156 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--guestroom .gallerySect__photo--05 {
    grid-area: 3 / 3 / 4 / 9;
    margin-top: 100px;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect--guestroom .gallerySect__photo--05 {
    margin-left: auto;
    margin-top: calc(48 / 390 * 100vw);
    width: calc(358 / 390 * 100%);
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--reverse .gallerySect__cont {
    grid-template-columns: 740px 640px;
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--reverse .gallerySect__intro {
    grid-area: 1 / 2;
    margin: 140px 0 0 110px;
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--reverse .gallerySect__photo--01 {
    grid-column: 1;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect--reverse .gallerySect__photo--01 {
    margin-left: 0;
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--reverse .gallerySect__photo--02 {
    grid-area: 2 / 2;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect--reverse .gallerySect__photo--02 {
    margin-left: auto;
  }
}

@media print, screen and (min-width: 769px) {
  .gallerySect--reverse .gallerySect__photo--03 {
    grid-area: 3 / 2;
    margin-left: 0;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySect--reverse .gallerySect__photo--03 {
    margin-left: calc(32 / 390 * 100%);
  }
}

.pageIntro {
  background-color: #222222;
}

.pageIntro .pageTitle {
  color: #ffffff;
}

.pageIntro .pageTitle__ttl, .pageIntro .pageTitle__subttl {
  text-shadow: none;
}

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

@media only screen and (max-width: 768px) {
  .gallery-contents {
    padding: 0 0 calc(120 / 390 * 100vw);
  }
}
