@charset "UTF-8";

@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(0, 0, 0, .9);
z-index: 10000;
}

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

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

.lum-lightbox-inner .lum-lightbox-caption{
margin: 0 auto;
color: #fff;
max-width: 700px;
text-align: center;
}

/*ローダー*/
.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: #ead98b;
}

.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-gallery-button{
overflow: hidden;
text-indent: 150%;
white-space: nowrap;
background: #000 !important;
border: 0;
margin: 0;
padding: 0;
outline: 0;
position: fixed;
top: 50%;
transform: translateY(-50%);
width: 40px; height: 80px;
cursor: pointer;
}
.lum-previous-button{ left: 0; border-radius: 0 8px 8px 0; }
.lum-next-button { right: 0; border-radius: 8px 0 0 8px; }


/*閉じるボタン*/
.lum-close-button {
position: absolute;
right: 16px; top: 16px;
width: 32px; height: 32px;
opacity: 1;
}
.lum-close-button:hover {
opacity: 1;
}
.lum-close-button:before,
.lum-close-button:after {
position: absolute;
left: 15px;
content: " ";
width: 3px; height: 24px;
background-color: #ead98b;
border-radius: 2px;
}
.lum-close-button:before {
transform: rotate(45deg);
}
.lum-close-button:after {
transform: rotate(-45deg);
}



.lum-gallery-button:after{
content: "";
display: block;
position: absolute;
top: 50%;
width: 16px; height: 16px;
border-top: 2px solid rgba(255, 255, 255, 0.8);
}

.lum-previous-button:after {
transform: translateY(-50%) rotate(-45deg);
border-left: 2px solid rgba(230, 218, 149, 1);
box-shadow: -2px 0 rgba(0, 0, 0, 0.2);
left: 16px;
border-radius: 3px 0 0 0;
}

.lum-next-button:after {
transform: translateY(-50%) rotate(45deg);
border-right: 2px solid rgba(230, 218, 149, 1);
box-shadow: 2px 0 rgba(0, 0, 0, 0.2);
right: 16px;
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: absolute;
    bottom: 0;
  }

  /* 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: 640px) {
.lum-gallery-button{ display: none; }
}
@media screen and (max-width: 460px) {
.lum-lightbox-inner img { width:100%; height: auto; }
}
