@keyframes lum-fade {
0% { opacity: 0; }
100% { opacity: 1; }
}

@keyframes lum-fadeZoom {
0% { transform: scale(0.5); opacity: 0; }
100% { transform: scale(1); opacity: 1; }
}

@keyframes lum-loader-rotate {
0% { transform: translate(-50%, -50%) rotate(0); }
50% { transform: translate(-50%, -50%) rotate(-180deg); }
100% { transform: translate(-50%, -50%) rotate(-360deg); }
}

@keyframes lum-loader-before {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(6px);
  }
  25% {
    transform: scale(1.3) translateX(8px);
  }
  40% {
    transform: scale(1.2) translateX(6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(6px);
  }
  75% {
    transform: scale(0.7) translateX(8px);
  }
  90% {
    transform: scale(0.8) translateX(6px);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes lum-loader-after {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(-6px);
  }
  25% {
    transform: scale(1.3) translateX(-8px);
  }
  40% {
    transform: scale(1.2) translateX(-6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(-6px);
  }
  75% {
    transform: scale(0.7) translateX(-8px);
  }
  90% {
    transform: scale(0.8) translateX(-6px);
  }
  100% {
    transform: scale(1);
  }
}

.lum-lightbox {
/*background: rgba(255, 255, 255, .9);*/
background: #fff;
z-index: 10000;
}

.lum-lightbox-inner {
top: 2.5%; right: 2.5%;
bottom: 2.5%; left: 2.5%;
}

.lum-lightbox-inner img {
position: relative;
}

/*altのキャプション*/
.lum-lightbox-inner .lum-lightbox-caption {
color: #6e544a;
position: fixed;
bottom: 0; left: 0; right: 0;
margin: auto;
text-align: center;
width: 100%; 
/*display: flex;
align-items: center;
justify-content: center;*/
padding: 16px 40px 40px 60px;
background: rgba( 255, 255, 255, .7);
}


.lum-loading .lum-lightbox-loader {
  display: block;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 66px; height: 20px;
  animation: lum-loader-rotate 1800ms infinite linear;
}

.lum-lightbox-loader:before,
.lum-lightbox-loader:after {
  content: "";
  display: block;
  width: 20px; height: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  border-radius: 20px;
/*  background: rgba(0, 0, 0, 0.9);*/
background: rgba(112, 144, 212, 1);
}

.lum-lightbox-loader:before {
  left: 0;
  animation: lum-loader-before 1800ms infinite linear;
}

.lum-lightbox-loader:after {
  right: 0;
  animation: lum-loader-after 1800ms infinite linear;
  animation-delay: -900ms;
}

.lum-lightbox.lum-opening {
  animation: lum-fade 180ms ease-out;
}

.lum-lightbox.lum-opening .lum-lightbox-inner {
  animation: lum-fadeZoom 180ms ease-out;
}

.lum-lightbox.lum-closing {
  animation: lum-fade 300ms ease-in;
  animation-direction: reverse;
}

.lum-lightbox.lum-closing .lum-lightbox-inner {
  animation: lum-fadeZoom 300ms ease-in;
  animation-direction: reverse;
}

.lum-img {
  transition: opacity 120ms ease-out;
}

.lum-loading .lum-img {
  opacity: 0;
}


/*閉じるボタン*/
.lum-close-button {
position: fixed;
top: -40px; right: -40px;
width: 120px; height: 120px;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
background: rgba(142, 105, 31, 1);
opacity: 1;
}
/*.lum-close-button:hover {
opacity: .6;
}*/
.lum-close-button:before,
.lum-close-button:after {
position: absolute;
top: 60px; left: 38%;
content: " ";
height: 32px; width: 2px;
background-color: #fff;
border-radius: 2px;
}
.lum-close-button:before { transform: rotate(45deg); }
.lum-close-button:after { transform: rotate(-45deg); }

.lum-previous-button { left: 12px; }
.lum-next-button { right: 12px; }

@media screen and (max-width: 640px){
.lum-close-button { top: -24px; right: -24px; width: 80px; height: 80px; }
.lum-close-button:before, .lum-close-button:after { top: 32px; }
}

/*矢印*/
.lum-gallery-button {
overflow: hidden;
text-indent: 150%;
white-space: nowrap;
background: transparent;
border: 0; margin: 0; padding: 0; outline: 0;
/*top: 50%;*/
transform: translateY(-50%);
height: 60px; width: 60px;
cursor: pointer;
position: fixed;
bottom: 0;
}
.lum-gallery-button:after {
content: "";
display: block;
position: fixed;
bottom: 0;
width: 24px; height: 24px;
border-top: 2px solid #6e544a;
}
.lum-previous-button:after {
transform: translateY(-50%) rotate(-45deg);
border-left: 2px solid #9b8037;
left: 12%;
border-radius: 3px 0 0 0;
}
.lum-next-button:after {
transform: translateY(-50%) rotate(45deg);
border-right: 2px solid #9b8037;
right: 12%; 
border-radius: 0 3px 0 0;
}

/* This media query makes screens less than 460px wide display in a "fullscreen"-esque mode. Users can then scroll around inside the lightbox to see the entire image. */
@media (max-width: 460px) {
  .lum-lightbox-image-wrapper {
    display: flex;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

/*.lum-lightbox-caption {
width: 100%;
position: fixed;
bottom: 0;
color: #6e544a;
background: #ccc;
}*/

  /* Used to centre the image in the container, respecting overflow: https://stackoverflow.com/a/33455342/515634 */
  .lum-lightbox-position-helper {
    margin: auto;
  }

  .lum-lightbox-inner img {
    max-width: none;
    max-height: none;
  }
}


@media screen and (max-width: 460px) {
.lum-lightbox-inner img { width:100%; height: auto; }
}
@media screen and (max-width: 800px) {
.lum-gallery-button,
.lum-close-button{ bottom: 0; }
}