@charset "UTF-8";

.castlist .cast{
  border-color: #7cbfff;
}
.profile{
  margin: 0 1rem 2rem;
}

@media screen and (min-width:768px) {
  .profile{
    display: flex;
    width: 70rem;
    margin: 2rem auto 0;
  }
}

.profile .photo{
  margin: 0 0 2rem;
  position: relative;
}
@media screen and (min-width:768px) {
  .profile .photo{
    width: 40%;
    margin-right: 2rem;
  }
}

.profile .photo li{
  list-style: none;
}

.profile .photo .swiper-container{
  border: 0.5rem solid #fff;
  box-shadow: 0.2rem 0.2rem 0.5rem rgba(0, 0, 0, 0.2);
  /* margin: 0 0.5rem 1rem 0; */
  margin: 0 0 1rem 0;
  background-color: #fff;
}

.profile .photo .cast-slide .swiper-slide{
  position: relative;
}

.profile .photo .cast-slide .swiper-slide:after{
  content: "";
  display: block;
  padding: 150% 0 0;
}
.profile .photo .cast-slide .swiper-slide img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.profile .photo .swiper-pagination {
  display: grid;
  gap: 1rem;
  justify-content: center;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  position: relative;
}

.profile .photo .swiper-pagination span.swiper-pagination-bullet {
  width: 100%;
  height: auto;
  position: relative;
  opacity: 1;
  border-radius: 0;
  background: #fff;
  border: 0.2rem solid #fff;
  box-shadow: 0.2rem 0.2rem 0.5rem rgba(0, 0, 0, 0.2);
}

.profile .photo .swiper-pagination span:after{
  content: "";
  display: block;
  padding: 150% 0 0;
}
.profile .photo .swiper-pagination span img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  object-fit: contain;
  object-position: center;
}

.profile .photo .swiper-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active img{
  opacity: 1;
}

.profile .photo .new{
  position: absolute;
  top: -1rem;
  left: -1.5rem;
  width: 4rem;
  z-index: 900;
  transform: rotate(30deg);
}

@media screen and (min-width:768px) {
  .profile .data{
    flex: 1;
    margin-bottom: 2rem;
  }
}

.profile .data_inner{
  border: 0.25rem solid #7cbfff;
  background: #fff;
  border-radius: 1rem;
  margin: 0 0 2rem;
  padding: 1rem;
}
@media screen and (min-width:768px) {
  .profile .data_inner{
    padding: 2rem;
  }
}

.profile .data_inner .name{
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1;
}

.profile .data_inner .item{
  margin: 1rem 0 0;
}

.profile .data_inner .item dt{
  background: #7cbfff;
  color: #fff;
  font-weight: bold;
  padding: 0.5rem 1rem;
  margin: 1rem 0 0;
}
.profile .data_inner .item dd{
  padding: 0.5rem 1rem 0;
}

.profile .sns{
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

.profile .sns-icon{
  margin: 0 1rem;
  width: 4.6rem;
}
.profile .sns-icon a{
  display: block;
  border-radius: 3rem;
  background: #000;
}
.profile .sns-icon.sns-twitter a{
  background: #000000;
}
.profile .sns-icon.sns-insta a{
  position: relative;
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
  overflow: hidden;/*はみ出た部分を隠す*/
}

.profile .sns-icon.sns-insta a:before{/*グラデーションを重ねるため*/
  content: '';
  position: absolute;/*絶対配置*/
  top: 50%;/*ずらす*/
  left: -40%;/*ずらす*/
  width: 110%;/*グラデーションカバーの幅*/
  height: 110%;/*グラデーションカバーの高さ*/
  background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);/*グラデーション②*/
  z-index: 1;
}

.profile .sns-icon.sns-insta a img{
  position: relative;
  z-index: 2;
}

.schedule_title{
  text-align: center;
  background: #7cbfff;
  color: #fff;
  line-height: 1;
  padding: 1rem 0;
  font-size: 1.5rem;
  font-weight: bold;
  margin: 0 1rem;
  border-radius: 1rem 1rem 0 0;
}
@media screen and (min-width:768px) {
  .schedule_title{
    font-size: 1rem;
    width: 70rem;
    margin: 0 auto;
    padding: 0.5rem 0;
  }
}

.schedule{
  background: #fff;
  border-width: 0 0.25rem 0.25rem 0.25rem;
  border-color: #7cbfff;
  border-style: solid;
  margin: 0 1rem;
  font-size: 1.5rem;
  border-radius: 0 0 1rem 1rem;
}

@media screen and (min-width:768px) {
  .schedule{
    width: 70rem;
    margin: 0 auto;
    display: flex;
    font-size: 1rem;
  }
}

.datetime{
  border-bottom: 1px solid #7cbfff;
  display: flex;
  padding: 0.5rem 0;
  width: 100%;
}

@media screen and (min-width:768px) {
  .datetime{
    display: block;
    width: 100%;
    border-bottom: none;
    border-right: 1px solid #7cbfff;
    text-align: center;
    padding: 1rem 0;
    line-height: 1;
  }
}

.date{
  width: 50%;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width:768px) {
  .date{
    width: 100%;
    background: transparent;
  }
}

.timezone{
  width: 50%;
  text-align: center;
}
@media screen and (min-width:768px) {
  .timezone{
    width: 100%;
    margin-top: 0.5rem;
  }
}


.profile .cast_blog{
  border: 0.25rem solid #7cbfff;
  background: #fff;
  border-radius: 1rem;
  margin: 0 0 2rem;
  padding: 1rem;
  display: grid;
  gap: 1rem 0;
}
@media screen and (min-width:768px) {
  .profile .cast_blog{
    padding: 2rem;
  }
}

.profile .cast_blog_item{
  display: flex;
  gap: 1rem;
  border-bottom: 1px solid #eee;
  padding-bottom: 1rem;
}

.profile .cast_blog_item_image{
  aspect-ratio: 3/4;
  height: 7rem;
}
.profile .cast_blog_item_image img{
  height: 100%;
  width: 100%;
  object-fit: contain;
  object-position: top;
}

.profile .cast_blog_item_body{
  display: flex;
  flex-direction: column;
  flex: 1;
}

.profile .cast_blog_item_title{
  margin-bottom: 1rem;
}

.profile .cast_blog_item_title a{
  color: #f13f79;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media screen and (min-width:768px) {
  .profile .cast_blog_item_title a:hover{
    text-decoration: none;
  }
}


.profile .cast_blog_item_excerpt{
  font-size: 0.9rem;
}
.profile .cast_blog_item_date{
  font-size: 0.7rem;
  margin-top: auto;
  text-align: right;
}

