@charset "utf-8";
/*************************************************************
 *
 * Copyright (c) 2025 ysrock Co., Ltd.	<info@ysrock.co.jp>
 * Copyright (c) 2025 Yasuo Sugano	<sugano@ysrock.co.jp>
 *
 * Version	: 1.0.2
 * Update	  : 2025.07.08
 *
 *************************************************************/

#castList {
  margin: 0 auto;
}
#castList::after {
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
  clear: both;
}
#castList > li {
  float: left;
  position: relative;
  transition: top 1s .3s cubic-bezier(.190, 1, .22, 1), opacity 1s .3s cubic-bezier(.190, 1, .22, 1);
  opacity: 0;
}
#castList > li.visible {
  opacity: 1;
}
#castList > li > div.margin {
  background-color: #bd2d67;
}
#castList > li.newface > div.margin {
  background-color: #bb9716;
}

#castList > li > div.margin > div.schedule {
  display: flex;
}
#castList > li > div.margin > div.schedule > div {
  position: relative;
}
#castList > li > div.margin > div.schedule > div > div.wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
#castList > li > div.margin > div.schedule > div.time {
  flex: 1;
}
#castList > li > div.margin > div.schedule > div.working {
  color: #0f0;
}

#castList > li > div.margin > div.thumb {
  position: relative;
  padding-top: 133.3333%;
  font-size: 0;
}
#castList > li > div.margin > div.thumb > a {
  display: inline-block;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#castList > li.newface > div.margin > div.thumb > a::after {
  content: "";
  position: absolute;
  background-image: url(../companion/imgs/icon_newface.png);
  background-repeat: no-repeat;
  background-size: 100%;
}
#castList > li > div.margin > div.thumb > a > img {
  width: 100%;
  transform: scale(1.4);
  transform-origin: top;
  transition: transform .2s ease-in, filter .2s ease-in;
}
#castList > li > div.margin > div.thumb > a > img:hover {
  transform: scale(1.6);
  filter: brightness(90%);
}

#castList > li > div.size {
  background-color: #871140;
}
#castList > li.newface > div.size {
  background-color: #997b0b;
}

#castList > li > div.catch {
  background-color: #871140;
}
#castList > li.newface > div.catch {
  background-color: #997b0b;
}

@media print, screen and (min-width: 1024px) {
  /* px */

  #castList {
    width: 1000px;
    padding-bottom: 250px;
  }
  #castList > li {
    width: 25%;
    padding: 5px;
  }
  #castList > li:nth-child(2n - 1) {
    top: 200px;
  }
  #castList > li.visible:nth-child(2n - 1) {
    top: 0;
  }
  #castList > li:nth-child(2n) {
    top: 350px;
  }
  #castList > li.visible:nth-child(2n) {
    top: 150px;
  }
  #castList > li > div.margin {
    padding: 3px 3px 0;
  }

  #castList > li > div.margin > div.schedule {
    height: 53px;
    padding-bottom: 3px;
  }
  #castList > li > div.margin > div.schedule > div.date {
    width: 80px;
    font-size: 16px;
    line-height: 25px;
  }
  #castList > li > div.margin > div.schedule > div.time > div.wrap > div {
    font-size: 20px;
    line-height: 25px;
  }

  #castList > li.newface > div.margin > div.thumb > a::after {
    bottom: 10px;
    right: 10px;
    width: 35px;
    height: 53px;
  }
  
  #castList > li > div.margin > div.name {
    height: 35px;
    font-size: 18px;
    line-height: 35px;
  }
  
  #castList > li > div.size {
    height: 25px;
    font-size: 14px;
    line-height: 25px;
  }
  
  #castList > li > div.catch {
    height: 25px;
    font-size: 14px;
    line-height: 25px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
	/* px/8.5 */

  #castList {
    padding-bottom: 29.274vw;
  }
  #castList > li {
    width: 33.3333%;
    padding: 0.5854vw;
  }
  #castList > li:nth-child(3n - 2),
  #castList > li:nth-child(3n) {
    top: 20vw;
  }
  #castList > li.visible:nth-child(3n - 2),
  #castList > li.visible:nth-child(3n) {
    top: 0;
  }
  #castList > li:nth-child(3n - 1) {
    top: 40vw;
  }
  #castList > li.visible:nth-child(3n - 1) {
    top: 20vw;
  }
  #castList > li > div.margin {
    padding: 0.3512vw 0.3512vw 0;
  }

  #castList > li > div.margin > div.schedule {
    height: 6.206vw;
    padding-bottom: 0.3512vw;
  }
  #castList > li > div.margin > div.schedule > div.date {
    width: 9.3676vw;
    font-size: 1.8735vw;
    line-height: 2.9274vw;
  }
  #castList > li > div.margin > div.schedule > div.time > div.wrap > div {
    font-size: 2.3419vw;
    line-height: 2.9274vw;
  }

  #castList > li.newface > div.margin > div.thumb > a::after {
    bottom: 1.1709vw;
    right: 1.1709vw;
    width: 4.0983vw;
    height: 6.206vw;
  }
  
  #castList > li > div.margin > div.name {
    height: 4.0983vw;
    font-size: 2.1077vw;
    line-height: 4.0983vw;
  }
  
  #castList > li > div.size {
    height: 2.9274vw;
    font-size: 1.6393vw;
    line-height: 2.9274vw;
  }
  
  #castList > li > div.catch {
    height: 2.9274vw;
    font-size: 1.6393vw;
    line-height: 2.9274vw;
  }
}
@media screen and (max-width: 640px){
	/* px/4 */

  #castList {
    padding-bottom: 62.5vw;
  }
  #castList > li {
    width: 50%;
    padding: 1.25vw;
    transition: top 1s 0 cubic-bezier(.190, 1, .22, 1), opacity 1s 0 cubic-bezier(.190, 1, .22, 1);
  }
  #castList > li:nth-child(2n - 1) {
    top: 50vw;
  }
  #castList > li.visible:nth-child(2n - 1) {
    top: 0;
  }
  #castList > li:nth-child(2n) {
    top: 90vw;
  }
  #castList > li.visible:nth-child(2n) {
    top: 40vw;
  }
  #castList > li > div.margin {
    padding: 0.75vw 0.75vw 0;
  }

  #castList > li > div.margin > div.schedule {
    height: 13.25vw;
    padding-bottom: 0.75vw;
  }
  #castList > li > div.margin > div.schedule > div.date {
    width: 14vw;
    font-size: 4vw;
    line-height: 6.25vw;
  }
  #castList > li > div.margin > div.schedule > div.time > div.wrap > div {
    font-size: 4.5vw;
    line-height: 6.25vw;
  }

  #castList > li.newface > div.margin > div.thumb > a::after {
    bottom: 2.5vw;
    right: 2.5vw;
    width: 8.75vw;
    height: 13.25vw;
  }
  
  #castList > li > div.margin > div.name {
    height: 8.75vw;
    font-size: 4.5vw;
    line-height: 8.75vw;
  }
  
  #castList > li > div.size {
    height: 6.25vw;
    font-size: 3.5vw;
    line-height: 6.25vw;
  }
  
  #castList > li > div.catch {
    height: 6.25vw;
    font-size: 3.5vw;
    line-height: 6.25vw;
  }
}





@media print, screen and (min-width: 1024px) {
  /* px */
}