@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : cast.css
Description : キャストページ
===================================================================== */
/* =====================================================================
    共通
======================================================================*/
.comment_box {
  position: relative;
}
.comment_box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.5rem;
  background: url(../images/common/img_line_b.png) no-repeat center/100% auto;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.comment_box.active::before {
  opacity: 0;
}
.comment_box .comment_ttl {
  position: relative;
  height: 9rem;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.comment_box .comment_ttl::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/cast/btn_comment.png) no-repeat center/22.5rem auto;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.comment_box .comment_ttl::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/cast/btn_close.png) no-repeat center/22.5rem auto;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  opacity: 0;
}
.comment_box .comment_ttl.active::before {
  opacity: 0;
}
.comment_box .comment_ttl.active::after {
  opacity: 1;
}
.comment_box .comment_txt {
  position: relative;
  display: none;
  padding: 5.5rem 1rem;
  line-height: 1.75;
}
.comment_box .comment_txt::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.5rem;
  background: url(../images/common/img_line_g.png) no-repeat center/100% auto;
}

.cast_list {
  position: relative;
}
.cast_list li {
  position: relative;
  margin-bottom: 3rem;
  padding: 1.4rem 3rem 0;
  background-color: #fff;
}
.cast_list li .cast_box {
  z-index: 1;
}
.cast_list li .cast_box dt {
  position: relative;
  padding-top: 3.2rem;
}
.cast_list li .cast_box dt::before, .cast_list li .cast_box dt::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(161 / 650 * 100%);
  padding-top: calc(161 / 650 * 100%);
}
.cast_list li .cast_box dt::before {
  top: 0;
  left: -1.5rem;
  background: url(../images/top/img_castframe_l.png) no-repeat center/contain;
}
.cast_list li .cast_box dt::after {
  bottom: 0;
  right: -1.5rem;
  background: url(../images/top/img_castframe_r.png) no-repeat center/contain;
}
.cast_list li .cast_box .cast_img {
  position: relative;
  width: 41.1rem;
  margin: auto;
}
.cast_list li .cast_box .cast_name1 {
  position: absolute;
  top: -1.7rem;
  right: -4.3rem;
  width: 5.9rem;
  z-index: 1;
  letter-spacing: 0.2em;
}
.cast_list li .cast_box .cast_name2 {
  position: relative;
  padding: 1.5rem 0 2.8rem;
  z-index: 1;
}
.cast_list li .cast_box .cast_name2 img {
  width: auto !important;
  height: 4.1rem;
  margin: 0 auto;
}
.cast_list li .comment_box {
  margin-top: 1.4rem;
}

@media screen and (min-width: 768px) {
  .comment_box::before {
    height: 0.3rem;
  }
  .comment_box .comment_ttl {
    height: 6rem;
    top: 0;
  }
  .comment_box .comment_ttl::before, .comment_box .comment_ttl::after {
    background-size: 14.3rem auto;
  }
  .comment_box .comment_ttl:hover {
    top: 3px;
  }
  .comment_box .comment_txt {
    padding: 2em 3em;
    line-height: 2;
  }
  .comment_box .comment_txt::before {
    height: 0.3rem;
  }

  .cast_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: calc(960 / 1200 * 100%);
    margin: 0 auto;
  }
  .cast_list li {
    width: calc(460 / 960 * 100%);
    margin: 0 calc(35 / 960 * 100%) 4rem 0;
    padding: 1.6rem 1.6rem 0;
  }
  .cast_list li:nth-child(2n), .cast_list li:last-child {
    margin-right: 0;
  }
  .cast_list li .cast_box dt {
    padding-top: 2.4rem;
  }
  .cast_list li .cast_box dt::before {
    left: 0;
  }
  .cast_list li .cast_box dt::after {
    right: 0;
  }
  .cast_list li .cast_box .cast_img {
    width: 29.2rem;
    padding-top: 3.6rem;
  }
  .cast_list li .cast_box .cast_name1 {
    top: 0;
    right: -1.3rem;
    width: 5.1rem;
  }
  .cast_list li .cast_box .cast_name2 {
    padding: 2.3rem 0 0.7rem;
  }
  .cast_list li .cast_box .cast_name2 img {
    height: 3.4rem;
  }
  .cast_list li .comment_box {
    margin-top: 1.6rem;
  }
}
/* =====================================================================
    cast
======================================================================*/
#cast {
  background: url(../images/cast/bg_pattern3.jpg) repeat center/3rem auto;
  padding-bottom: 27rem;
}
#cast::before {
  background: url(../images/cast/bg_boundary_p.png) repeat-x center bottom/25.1rem auto;
}
#cast::after {
  content: "";
  position: absolute;
  display: block;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 3.6rem;
  background: url(../images/cast/bg_boundary_g.png) repeat-x center bottom/25.1rem auto;
  z-index: 3;
}
#cast .inner::before {
  content: "";
  position: absolute;
  display: block;
  bottom: -29rem;
  left: 2rem;
  width: 11.2rem;
  height: 16.3rem;
  background: url(../images/cast/img_deco7.png) no-repeat center/contain;
}
#cast .inner::after {
  content: "";
  position: absolute;
  display: block;
  bottom: -29rem;
  right: 5rem;
  width: 35rem;
  height: 24.3rem;
  background: url(../images/cast/img_deco8.png) no-repeat center bottom/contain;
}
#cast .sec_ttl {
  width: 22.6rem;
}
#cast .cast_list::before {
  content: "";
  position: absolute;
  display: block;
  top: -30.3rem;
  right: 15px;
  width: 24rem;
  height: 36.3rem;
  background: url(../images/cast/img_deco5.png) no-repeat center/contain;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  #cast {
    padding-bottom: 12rem;
  }
  #cast::after {
    height: 3.4rem;
    background-position: center top;
    background-size: 40.5rem auto;
  }
  #cast .sec_ttl {
    width: 17.5rem;
  }
  #cast .inner::before {
    bottom: -13rem;
    left: 15rem;
    width: 10rem;
    height: 19.5rem;
  }
  #cast .inner::after {
    bottom: -10rem;
    right: 6.5rem;
    width: 22.9rem;
    height: 22.1rem;
  }
  #cast .cast_list::before {
    top: 40rem;
    right: -6rem;
  }
  #cast .cast_list li:first-child {
    margin-right: 0;
  }
  #cast .cast_list li:nth-child(1), #cast .cast_list li:nth-child(2) {
    width: calc(800 / 1200 * 100%);
    margin-right: auto;
    margin-left: auto;
  }
  #cast .cast_list li:nth-child(1) .cast_box dt::before,
#cast .cast_list li:nth-child(1) .cast_box dt::after, #cast .cast_list li:nth-child(2) .cast_box dt::before,
#cast .cast_list li:nth-child(2) .cast_box dt::after {
    width: calc(161 / 800 * 100%);
    padding-top: calc(161 / 800 * 100%);
  }
  #cast .cast_list li:nth-child(1) .cast_box .cast_img, #cast .cast_list li:nth-child(2) .cast_box .cast_img {
    width: 37.3rem;
  }
  #cast .cast_list li:nth-child(1) .cast_box .cast_name2 img, #cast .cast_list li:nth-child(2) .cast_box .cast_name2 img {
    height: 4.1rem;
  }
}
/* =====================================================================
    guest
======================================================================*/
#guest {
  padding: 10rem 0 17rem;
  background-color: #f5f5f5;
}
#guest .sec_ttl {
  width: 27.9rem;
  margin-bottom: 8rem;
}
#guest .guest_list li:nth-child(1):before {
  content: "";
  position: absolute;
  display: block;
  top: -32.1rem;
  left: -32.3rem;
  width: 61.8rem;
  height: 46.5rem;
  background: url(../images/cast/bg_deco3.png) no-repeat center/contain;
  z-index: -1;
}
#guest .guest_list li:nth-child(3)::before {
  content: "";
  position: absolute;
  display: block;
  top: -10.8rem;
  right: -5rem;
  width: 58.8rem;
  height: 43.1rem;
  background: url(../images/cast/bg_deco4.png) no-repeat center/contain;
  z-index: -1;
}
#guest .guest_list li .cast_box .guest_episode {
  position: absolute;
  top: 3.8rem;
  left: 2.5rem;
  width: 4.1rem;
}
#guest .guest_list li .cast_box .cast_name1 {
  min-height: 37.8rem;
  padding: 3.4rem 1.7rem;
  font-weight: 500;
  color: #fff;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  background: url(../images/cast/bg_cast_name1-sp.png) no-repeat center/100% auto;
}
#guest .guest_list li .cast_box .cast_name2 {
  text-align: center;
  font-size: 4.4rem;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  #guest {
    padding: 8.4rem 0 12rem;
  }
  #guest .sec_ttl {
    width: 23.9rem;
    margin-bottom: 5.6rem;
  }
  #guest .guest_list li:nth-child(1):before {
    top: -15.7rem;
    left: -26.4rem;
    width: 57.7rem;
    height: 43.4rem;
  }
  #guest .guest_list li:nth-child(3)::before {
    display: none;
  }
  #guest .guest_list li:nth-child(4)::before {
    content: "";
    position: absolute;
    display: block;
    bottom: -18.8rem;
    right: -26.5rem;
    width: 58.8rem;
    height: 43.1rem;
    background: url(../images/cast/bg_deco4.png) no-repeat center/contain;
    z-index: -1;
  }
  #guest .guest_list li:nth-child(7):before {
    content: "";
    position: absolute;
    display: block;
    bottom: -15rem;
    left: -26.4rem;
    width: 57.7rem;
    height: 43.4rem;
    background: url(../images/cast/bg_deco3.png) no-repeat center/contain;
    z-index: -1;
  }
  #guest .guest_list li .cast_box .guest_episode {
    position: absolute;
    top: 2.3rem;
    left: 2.3rem;
    width: 3.4rem;
  }
  #guest .guest_list li .cast_box .cast_name1 {
    min-height: 30.5rem;
    padding: 1.7rem;
    background-image: url(../images/cast/bg_cast_name1-pc.png);
  }
  #guest .guest_list li .cast_box .cast_name2 {
    font-size: 3.2rem;
  }
}
/*# sourceMappingURL=cast.css.map */