@charset "utf-8";

/* CSS Document */
/* =========================================================
 静的ファイル　動画一覧ページ
========================================================= */

/* 旧バージョンのスタイル打消し */
.movieBox #movieList .movieThunb, .movieThunb {
  box-shadow: none!important;
  border-color: #a3a0a0!important;
}

.movieBlock {
  display: flex;
  flex-wrap: wrap;
}

.movieThunb {
  box-sizing: border-box;
  border: 1px solid #a3a0a0;
  height: auto;
  aspect-ratio: 138 / 245;
  position: relative;
  cursor: pointer;
  background-color: #ffffff;
}

.playVideo {
  width: 100%;
  height: 100%;
}

.videoThumbnail {
  width: 100%;
  height: 100%;
  background-color: #000000;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.videoThumbnail:after {
  background-color: rgba(35, 24, 21, 0.57);
  background-size: contain;
  content: "▶";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: translate(0, -50%);
  color: #ffffff;
  text-align: center;
  border-radius: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.movieName {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(193,127,0,0.57);
}

.movieName a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: #ffffff;
}

/* =========================================================
 PC用
========================================================= */
@media screen and (min-width: 769px) {
  .movieBlock.all {
    width: 980px;
    margin: 0 auto 20px;
  }

  .movieBlock {
    font-size: 10px;
  }

  .movieThunb {
    width: calc((100% - (1.3em * 4)) / 5);
    margin: 0 1.3em 1.3em 0;
  }

  .main .movieThunb {
    width: calc((100% - (1em * 4)) / 5);
    margin: 0 1em 1em 0;
  }

  .movieBox #movieList.main .movieThunb {
    width: calc((100% - (1em * 4)) / 5)!important;
  }

  .videoThumbnail:hover,
  .movieName:hover {
    opacity: 0.8;
  }

  .movieThunb:nth-of-type(5n) {
    margin-right: 0;
  }

  .videoThumbnail {
    transition: opacity .15s ease;
  }

  .videoThumbnail:after {
    width: 2.5em;
    height: 1.75em;
    font-size: 3.2em;
    top: calc(50% - 0.5em);
  }

  .main .videoThumbnail:after {
    width: 2.15em;
    height: 1.6em;
    font-size: 2.7em;
    top: calc(50% - 0.5em);
  }

  .movieName {
    height: 2em;
    font-size: 1.6em;
    transition: opacity .15s ease;
  }

  .main .movieName {
    height: 2em;
    font-size: 1.2em;
  }

}

/* =========================================================
 スマホ用
========================================================= */
@media screen and (max-width: 768px) {
  .movieBlock {
    width: 96%;
    margin: 0 auto;
  }

  .movieBlock {
    font-size: 3.4vw;
  }

  .movieThunb {
    width: 32.2%;
    margin: 0 1.7% 1.7% 0;
  }

  .movieThunb:nth-of-type(3n) {
    margin-right: 0;
  }

  .main .movieThunb:last-of-type {
    display: none;
  }

  .videoThumbnail:after {
    width: 2.44em;
    height: 1.55em;
    font-size: 1.32em;
    top: calc(50% - 0.61em);
  }

  .movieName {
    height: 1.62em;
    font-size: 1em;
  }

}

/***メインページ用**/

/***動画用モーダル**/
.videoMode {
  align-items: center;
  display: none;
  flex-wrap: wrap;
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  z-index: 10000;
}

.videoMode.fadeInM {
  display: flex;
  transition: all .5s linear;
  -webkit-transition: all .5s linear;
  -moz-transition: all .5s linear;
  -ms-transition: all .5s linear;
  -o-transition: all .5s linear;
}

.videoMode #innerVideo {
  margin: auto;
  position: relative;
  z-index: 1;
}

.videoMode #videoClose {
  position: absolute;
  width: 100%;
  height: 100%;
}

.videoMode #videoCloseBtn {
  position: absolute;
  overflow: hidden;
  cursor: pointer;
  z-index: 2;
}

.videoMode #videoCloseBtn::before,
.videoMode #videoCloseBtn::after {
  content: "";
  display: block;
  width: 150%;
  height: 1px;
  background-color: #ffffff;
}

.videoMode #videoCloseBtn::before {
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: -25%;
}

.videoMode #videoCloseBtn::after {
  position: absolute;
  transform: rotate(-45deg);
  top: 50%;
  left: -25%;
}

.videoMode #innerVideo video {
  height: auto;
}

.videoMode #innerVideo {
  background-color: #c17f00;
}

.videoMode #innerVideo video {
  max-width: 1030px;
  max-height: 95vh;
  background-color: #c17f00;
}

/* =========================================================
 PC用
========================================================= */
@media screen and (min-width: 769px) {
  .videoMode #innerVideo {
    padding: 6.25px;
  }

  .videoMode #videoCloseBtn {
    width: 35px;
    height: 35px;
    top: 30px;
    right: 30px;
  }
}

/* =========================================================
 スマホ用
========================================================= */
@media screen and (max-width: 768px) {
  .videoMode #innerVideo video {
    width: 100%;
    max-height: 80vh;
  }

  .videoMode #innerVideo {
    padding: 1%;
  }
  
  .videoMode #videoCloseBtn {
    width: 6vw;
    height: 6vw;
    top: 2vw;
    right: 2vw;
  }
  
  .videoMode #innerVideo video {
    max-height: 80vh;
  }
}

/***ページャー**/
.moviePager {
  box-sizing: border-box;
  color: #ffffff;
  background-color: #c17f00;
}

.moviePager ul {
  display: flex;
  justify-content: center;
}

.moviePager li {
  display: inline-block;
  color: #ffffff;
}

.moviePager a,
.moviePager span {
  border: 1px solid #393939;
  color: #2f2f2f;
  font-size: 100%;
  text-decoration: none;
}

.moviePager li a:hover,
.moviePager li span {
  background: #393939;
  color: #ffffff;
  font-weight: normal;
  border-color: #ffffff;
}

/* =========================================================
 PC用
========================================================= */
@media screen and (min-width: 769px) {
  .moviePager {
    height: 48px;
    line-height: 48px;
    margin-bottom: 10px;
  }

  .moviePager li {
    font-size: 14px;
    margin: 0 2px;
  }

  .moviePager a,
  .moviePager span {
    background-color: #ffffff;
    border-radius: 5px;
    padding: 5px 10px;
  }
}

/* =========================================================
 スマホ用
========================================================= */
@media screen and (max-width: 768px) {
  .moviePager {
    background-image: none;
    background-color: #c17f00;
    height: 12vw;
    line-height: 12vw;
    margin-bottom: 3%;
  }

  .moviePager li {
    font-size: 5vw;
    margin: 0 0.5%;
  }

  .moviePager a,
  .moviePager span {
    background-color: rgba(255,255,255,0.8);
    border-radius: 1.2vw;
    padding: 0 2.5vw;
  }
}
