.galleryModal__btn {
  background: none;
  border: none;
  cursor: pointer;
  display: block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  height: 100%;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .galleryModal__btn {
    height: calc(206.61 / 750 * 100vw);
    width: calc(305 / 750 * 100vw);
  }
}

.galleryModal__btn.show-poster .galleryModal__video {
  display: none;
}

.galleryModal__btn.show-poster .galleryModal__poster {
  display: block;
}

.galleryModal__btn .photo {
  height: 100%;
  width: 100%;
}

.galleryModal__btn .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.galleryModal__btn .photo__capIn {
  display: none;
}

.galleryModal__btn .playCircle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1000px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  position: absolute;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .galleryModal__btn .playCircle {
    bottom: 20px;
    height: 42px;
    right: 20px;
    width: 42px;
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__btn .playCircle {
    bottom: calc(20 / 750 * 100vw);
    height: calc(50 / 750 * 100vw);
    right: calc(20 / 750 * 100vw);
    width: calc(50 / 750 * 100vw);
  }
}

.galleryModal__btn .playCircle:after {
  background-color: #000000;
  border-radius: 1000px;
  content: '';
  height: 100%;
  left: 0;
  opacity: .4;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.galleryModal__btn .playCircle:before {
  content: '';
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .galleryModal__btn .playCircle:before {
    border-bottom: 7px solid transparent;
    border-left: 10px solid #ffffff;
    border-top: 7px solid transparent;
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__btn .playCircle:before {
    border-bottom: calc(8 / 750 * 100vw) solid transparent;
    border-left: calc(14 / 750 * 100vw) solid #ffffff;
    border-top: calc(8 / 750 * 100vw) solid transparent;
  }
}

.galleryModal__btn:hover .galleryModal__hover {
  opacity: 1;
}

.galleryModal__hover {
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  -webkit-transition: .8s ease;
  transition: .8s ease;
  width: 100%;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .galleryModal__hover {
    padding-top: 83px;
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__hover {
    -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;
  }
}

.galleryModal__hover:after {
  background-color: #ffffff;
  content: '';
  height: 100%;
  left: 0;
  opacity: .9;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.galleryModal__hover .en {
  color: #8a6533;
  font-family: "Cormorant Infant", serif;
  line-height: 1.92308;
}

.galleryModal__hover .en:before {
  content: '';
  margin-top: calc((1 - 1.92308) * .5em);
}

.galleryModal__hover .en:after {
  margin-bottom: calc((1 - 1.92308) * .5em);
}

.galleryModal__hover .en:before, .galleryModal__hover .en:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .galleryModal__hover .en {
    font-size: 26px;
  }
}

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

.galleryModal__hover .ttl {
  color: #666666;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .galleryModal__hover .ttl {
    font-size: 10px;
    margin-top: 14px;
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__hover .ttl {
    font-size: calc(20 / 750 * 100vw);
    margin-top: calc(18 / 750 * 100vw);
  }
}

.galleryModal__hover .svgIcon {
  -webkit-filter: brightness(3) grayscale(1);
          filter: brightness(3) grayscale(1);
  height: auto;
  opacity: .5;
}

@media screen and (min-width: 768px) {
  .galleryModal__hover .svgIcon {
    margin-top: 43px;
    width: 25px;
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__hover .svgIcon {
    bottom: calc(20 / 750 * 100vw);
    position: absolute;
    right: calc(20 / 750 * 100vw);
    width: calc(32 / 750 * 100vw);
  }
}

.galleryModal__video {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: relative;
  width: 100%;
  z-index: 1;
}

.galleryModal__poster {
  display: none;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.galleryModal__poster .photo {
  height: 100%;
  width: 100%;
}

.galleryModal__poster .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.galleryModal__cont {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .galleryModal__cont {
    max-height: calc(100vh - 120px);
  }
}

.galleryModal__list {
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 768px) {
  .galleryModal__list {
    gap: 20px;
    grid-template-columns: repeat(4, auto);
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__list {
    gap: calc(40 / 750 * 100vw);
    grid-template-columns: repeat(2, auto);
    padding: 0 calc(40 / 750 * 100vw);
  }
}

.galleryModal__item {
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .galleryModal__item {
    height: 226px;
    width: 340px;
  }
}

.galleryModal__modal {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 99999;
}

@media screen and (min-width: 768px) {
  .galleryModal__modal {
    max-height: 100vh;
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__modal {
    padding: calc(40 / 750 * 100vw);
  }
}

.galleryModal__modal.is-active {
  -webkit-animation: fadeIn .5s;
          animation: fadeIn .5s;
  visibility: visible;
}

.galleryModal__modal.is-hidden {
  -webkit-animation: fadeOut .5s;
          animation: fadeOut .5s;
  pointer-events: none;
}

.galleryModal__modal .modalClose {
  background-color: #666666;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  .galleryModal__modal .modalClose {
    height: 56px;
    margin-bottom: 25px;
    width: 56px;
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__modal .modalClose {
    height: calc(80 / 750 * 100vw);
    margin-bottom: calc(142 / 750 * 100vw);
    width: calc(80 / 750 * 100vw);
  }
}

.galleryModal__modal .modalClose__inner {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.galleryModal__modal .modalClose__inner:after, .galleryModal__modal .modalClose__inner:before {
  background-color: #ffffff;
  content: '';
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
  .galleryModal__modal .modalClose__inner:after {
    height: 2px;
    width: 30px;
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__modal .modalClose__inner:after {
    height: calc(3 / 750 * 100vw);
    width: calc(30 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .galleryModal__modal .modalClose__inner:before {
    height: 30px;
    width: 2px;
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__modal .modalClose__inner:before {
    height: calc(30 / 750 * 100vw);
    width: calc(3 / 750 * 100vw);
  }
}

.galleryModal__bg {
  background-color: #000000;
  content: '';
  height: 100%;
  left: 0;
  opacity: .85;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.galleryModal__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
}

@media screen and (min-width: 768px) {
  .galleryModal__inner {
    height: 100vh;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: auto;
    max-width: 1200px;
    width: calc(1200 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .galleryModal__inner {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}

.galleryModal__inner .swiper-slide {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

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

@media screen and (min-width: 768px) {
  .modalCard {
    height: 100%;
  }
}

.modalCard.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.modalCard__head {
  border-bottom: 1px solid rgba(138, 101, 51, 0.5);
}

@media screen and (min-width: 768px) {
  .modalCard__head {
    padding-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  .modalCard__head {
    padding-bottom: calc(20 / 750 * 100vw);
  }
}

.modalCard__head .enTtl {
  display: inline-block;
  font-family: "Cormorant Infant", serif;
  margin: 0;
  padding: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.modalCard__head .enTtl:after {
  display: none;
}

@media screen and (max-width: 768px) {
  .modalCard__head .enTtl {
    display: block;
  }
}

.modalCard__head .enTtl + .txt {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .modalCard__head .enTtl + .txt {
    margin-left: 20px;
  }
}

.modalCard__head .txt {
  color: #ffffff;
  display: inline-block;
}

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

@media screen and (max-width: 768px) {
  .modalCard__head + .modalCard__cont {
    margin-top: calc(63 / 750 * 100vw);
  }
}

.modalCard__visual {
  height: 100%;
}

.modalCard__visual .photo {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  width: 100%;
}

.modalCard__visual .photo__image {
  height: 100%;
  min-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: auto;
}

.modalCard__video {
  aspect-ratio: 800 / 450;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .modalCard__video {
    height: 100%;
  }
}

@media screen and (max-width: 768px) {
  .modalCard__video {
    height: auto;
  }
}

.modalCard__video .video {
  height: 100%;
  min-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: auto;
}

.modalCard__cont {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  position: relative;
}

@media screen and (min-width: 768px) {
  .modalCard__cont {
    margin: auto;
    max-height: 75vh;
    max-width: 1200px;
    width: calc(1200 / 1440 * 100vw);
  }
}

.modalCard__gif {
  height: 100%;
  position: relative;
  z-index: 2;
}

.modalCard__gif .photo {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  width: 100%;
}

.modalCard__gif .photo__image {
  aspect-ratio: 800 / 450;
  height: auto;
  min-width: 100%;
  width: 100%;
}

.modalCard__poster {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.modalCard__poster .photo {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  width: 100%;
}

.modalCard__poster .photo__image {
  height: 100%;
  min-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: auto;
}

.modalCard.show-poster .modalCard__poster {
  display: block;
}

.modalCard.show-poster .modalCard__video {
  opacity: 0;
}

/* --------------------------- */
/* --------------------------- */
@media screen and (min-width: 768px) {
  .gallery-modal {
    padding: 200px 0;
  }
}

@media screen and (max-width: 768px) {
  .gallery-modal {
    padding: calc(200 / 750 * 100vw) 0;
  }
}
