@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : cast.css
Description : キャスト
===================================================================== */
/* =====================================================================
    cast
======================================================================*/
.cast {
  margin-top: 20rem;
}
.cast .inner {
  padding: 10rem 0;
}
.cast .inner::before {
  content: "";
  position: absolute;
  display: block;
  top: -1px;
  left: 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: calc(100% + 2px);
  background: #f8f8f8;
  z-index: -1;
}

.cast_list li {
  position: relative;
}
.cast_list li:not(:last-child) {
  margin-bottom: 6.5rem;
}
.cast_list li.space {
  margin-bottom: 13rem;
}
.cast_list li dl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 108%;
  font-weight: 600;
  line-height: 1.875;
}
.cast_list li dl dt {
  position: relative;
  text-align: right;
  padding-right: 1.2em;
  width: 50%;
  color: #b91e1e;
}
.cast_list li dl dt::after {
  content: "";
  position: absolute;
  display: block;
  top: 0.45em;
  right: -0.7em;
  width: 1em;
  height: 1em;
  border-left: 1px solid #b91e1e;
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.cast_list li dl dd {
  padding-left: 1.2em;
  width: 50%;
}
.cast_list li dl dd small {
  font-size: 80%;
}

.cast_comment ~ dl dt::after {
  display: none !important;
}

.cast_comment {
  margin: 4rem auto;
  padding: 3.6rem 0;
}

@media screen and (min-width: 768px) {
  .cast {
    margin: 0;
    padding-top: 20rem;
  }
  .cast .inner {
    padding: 10rem 0;
  }
  .cast .inner::before {
    margin: 0;
    width: 100%;
  }
  .cast_list li:not(:last-child) {
    margin-bottom: 20px;
  }
  .cast_list li.space {
    margin-bottom: 80px;
  }
  .cast_list li dl {
    font-size: 113%;
    line-height: 1.444;
  }
  .cast_list li dl dt::after {
    top: 0.32em;
  }
  .cast_comment {
    padding: 15px 0;
    max-width: 292px;
  }
}
/* =====================================================================
    staff
======================================================================*/
.staff {
  margin: 20rem 0;
}
.staff .inner {
  padding: 10rem 0;
}
.staff .inner::before {
  content: "";
  position: absolute;
  display: block;
  top: -1px;
  left: 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: calc(100% + 2px);
  background: #3e4052;
  z-index: -1;
}
.staff .cast_list li {
  color: #f8f8f8;
}
.staff .cast_list li dl dt {
  color: #f8f8f8;
}
.staff .cast_comment {
  color: #f8f8f8;
}
.staff .cast_comment::after {
  background-image: url(../images/common/icon_star2.png);
}
.staff .cast_comment span {
  color: #f8f8f8;
}

@media screen and (min-width: 768px) {
  .staff {
    margin: 0;
    padding: 10rem 0 20rem;
  }
  .staff .inner {
    padding: 6rem 0 10rem;
  }
  .staff .inner::before {
    margin: 0;
  }
  .staff .sec_ttl {
    position: relative;
    margin: 0 calc(20 / 1000 * 100%) 6rem auto;
  }
  .staff .cast_comment::before {
    background: #f8f8f8;
  }
  .staff .cast_comment:hover::after {
    background-image: url(../images/common/icon_star3.png);
  }
  .staff .cast_comment:hover span {
    color: #3e4052;
  }
}/*# sourceMappingURL=cast.css.map */