@charset "utf-8";

/***** margin 
***********************************************/

/***** padding 
***********************************************/

/***** header 
***********************************************/

/***** footer 
***********************************************/

/***** contents 
***********************************************/

.heading-h2{
  padding-left: 30px;
}

.setting-h2{
  border-bottom: 3px solid;
  border-image: linear-gradient(to right,#f06e7d,#9673b4 50%,#0069be);
  border-image-slice: 1;
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  font-size: 3rem;
  position: relative;
  padding-left: 0px;
  margin-bottom: 30px;
  letter-spacing: 0.2rem;
}

.setting-h2::before {
  content: '';
  width: 15px;
  height: 30px;
  background: none;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) translateX(0%);
  -webkit- transform: translateY(-50%) translateX(0%);
}

/* 20221207~ 追記 */
.more-btn a {
  width: 300px;
  margin-top: 20px;
}
.more-btn a:hover {
  background-position: 100% 0;
}

.img video {
  width: 100%;
}

.detail-box {
  position: relative;
  padding: 0 50px;
}

.page-body .detail-box .flx .img {
  margin: 70px 0 auto;
  width: 40%;
}

.lesson-txt-area {
  margin: 70px 0 auto;
  padding: 0 0 25px 0;
  width: 60%;
  position: relative;
}

.flex-movie-wrapper {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.flex-movie-wrapper::after{
  content:"";
  display: block;
  width: 45%;
}

.flex-movie-wrapper .img {
  margin: 30px 0;
  width: 45%;  
}

.flex-movie-wrapper .img p {
  margin-top: 20px;
}

.movie-modal {
  position: relative;
}

.movie-modal::before {
  display: inline-block;
  background: rgba(0,0,0,0.8);
  content: "";
  height: 40px;
  width: 70px;
  border-radius: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 2;
  margin: 0;
}

.movie-modal::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 3;
  width: 0;
  height: 0;
  margin: 0 0 0 10px;
  border-width: 9px 18px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  content: "";
}

.movie-modal:hover::after {
  border-left-color: #ff0000;
}

.modal-video {
  background-color: rgba(0,0,0,0.8);
}