@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : cast.css
Description : キャスト
===================================================================== */
/* =====================================================================
    cast
======================================================================*/
.cast,
.staff {
  padding: 18rem 0;
}
.cast:last-child,
.staff:last-child {
  padding-top: 0;
}
.cast .sec_ttl,
.staff .sec_ttl {
  position: relative;
  margin-bottom: 12rem;
  padding-bottom: 5rem;
}
.cast .sec_ttl::after,
.staff .sec_ttl::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid #70d8cd;
  -webkit-box-shadow: 0 0 0.4em #32ffe9;
          box-shadow: 0 0 0.4em #32ffe9;
}

.cast .sec_ttl.appear .typewriter {
  width: 7ch;
  -webkit-animation-timing-function: steps(7, end), step-end;
          animation-timing-function: steps(7, end), step-end;
}

.cast_list li {
  position: relative;
}
.cast_list li:not(:last-child) {
  margin-bottom: 6rem;
}
.cast_list li.line {
  padding-bottom: 6rem;
}
.cast_list li.line::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 17em;
  border-bottom: 1px solid #00c256;
  -webkit-box-shadow: 0 0 0.4em #00c256;
          box-shadow: 0 0 0.4em #00c256;
}
.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: 114%;
  line-height: 1.875;
}
.cast_list li dl dt {
  position: relative;
  text-align: right;
  padding-right: 1.2em;
  width: 50%;
  color: #32ffe9;
}
.cast_list li dl dt::after {
  content: "／";
  position: absolute;
  display: block;
  top: 0;
  right: -0.5em;
  color: #70d8cd;
  text-shadow: 0 0 0.2em rgba(50, 255, 233, 0.6), 0 0 0.2em rgba(50, 255, 233, 0.6), 0 0 0.2em rgba(50, 255, 233, 0.6);
}
@media screen and (max-width: 767px) {
  .cast_list li dl dt.fontSmall-sp {
    font-size: 90%;
    letter-spacing: -0.02em;
  }
}
.cast_list li dl dd {
  padding-left: 1.2em;
  width: 50%;
}
.cast_list li dl dd small {
  font-size: 80%;
}

@media screen and (min-width: 768px) {
  .cast,
  .staff {
    padding: 120px 0 180px;
  }
  .cast .sec_ttl,
  .staff .sec_ttl {
    margin-bottom: 60px;
    padding-bottom: 30px;
  }
  .cast_list li:not(:last-child) {
    margin-bottom: 40px;
  }
  .cast_list li dl dt {
    padding-right: 2.2em;
  }
  .cast_list li dl dd {
    padding-left: 2.2em;
  }
  .cast_list li dl dd.fontSmall-pc {
    font-size: 90%;
  }
}/*# sourceMappingURL=cast.css.map */