<!--top_style.css-->
@import url('https://fonts.googleapis.com/css?family=Oswald:500|Rock+Salt');
/*Reset*/
body{
   background-color: #fff!important;
}
* {
	box-sizing: border-box;
}
main{
   background-color: #fff;
}
#indexWrap{
   text-decoration: none;
   box-sizing: border-box;
   overflow: hidden;
   margin: 0 auto;
   background-color:#fff;
   width: clamp(320px,100%,989px);
}
/* icon-navigatenext追加*/
.icon_top_navigatenext{
   display: block;
   box-sizing: border-box;
   width: 30px;
   height: 30px;
}
.icon_top_navigatenext .icon_svg{
   width: 30px;
   height: auto;
}
/* Rank*/
.rankBlock_name {
   font-weight: normal;
   padding: 7px;
   font-size: 16px;
}
.rankBlock_linkWrap{
   position: relative;
   display: table;
   width: 100%;
   padding: 7px;
   box-sizing: border-box;
   color: 777;
}
.rankBlock_linkWrap{
   border-bottom: solid 1px #f2f2f5;
}
.rankBlock_linkWrap:after,
.featured_label:after{
   content: '';
   position: absolute;
   top: 50%;
   margin-top: -3.5px;
   right: 14px;
   width: 7px;
   height: 7px;
   border-right: solid 2px;
   border-bottom: solid 2px;
   transform: rotate(-45deg);
}
.linkWrap_coverCut {
   width: 30%;
   display: table-cell;
   vertical-align: top;
   padding-right: 3.5px;
}
.linkWrap_cover {
   max-height: 200px;
   max-width: 100%;
   display: block;
   margin: 0 auto;
}
.shoshiWrap {
   display: table-cell;
   vertical-align: middle;
   padding: 0 21px 0 3.5px;
}
.rankNum {
   vertical-align: middle;
   display: table-cell;
   text-align: center;
   font-size: 17px;
   width: 10%;
   color: #000;
}
.shoshiWrap_title {
   font-size: 15px;
   padding: 0 0 2px;
   font-weight: normal;
   color: #000;
}
.shoshiWrap_author {
   font-size: 13px;
}
.tab_item {
   width: calc(100%/2);
   border-bottom: 1px solid #ccc;
   line-height: 42px;
   display: block;
   color: 989898;
   float: left;
   text-align: center;
   transition: all 0.2s ease;
   font-size: 16px;
}
input[name="tab_item"] {
   display: none;
}
.block_header-2{
   display: inline-block;
   margin-left: 8px;
   padding-left: 8px;
   color: #442b2d;
   border-left: solid 2px #c83150;
   line-height: 28px;
   font-weight:800;
}
.ranking_wrap{
   scroll-snap-type: x mandatory;
   white-space: nowrap;
   overflow-x: auto;
   margin: 16px auto 36px;
   /* width: 100%; */
   margin-left: 8px;
}
.rank_item{
   scroll-snap-align: start;
   display: inline-block;
   margin: 0 4px;
   width: 120px;
   white-space: normal;
   overflow: hidden;
   text-align: center;
   vertical-align: top;
}
#daily:checked ~ rank_daily, weekly:checked ~ rank_weekly, monthly:checked ~ rank_monthly {
   display: block;
}
input[name="tab_item"]:checked + .tab_item {
   background-color: #f2f2f5;
   color: #E91E63;
   border-bottom: solid 1px #E91E63;
}
/* ????????????????pCSS*/
.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
   bottom: 0;
}
:root{
   --swiper-theme-color: #f2506d;
}
.topFeature {
   position: relative;
   box-shadow: 0 0 8px 0px #dcd5d7;
   padding-top: 60px;
   border-radius: 8px;
}
.block_header-sub {
   font-size: 11px;
}
.topCard__other_desc-body {
   font-size: 14px;
   color: #442b2d;
   margin-bottom: 8px;
   line-height: 20px;
}
.release_date{
   font-size: 12px;
   font-weight: 500;
   color: #d82c06;
   margin-left: 4px;
}
.item_cta {
   font-size: 14px;
   color: #442b2d;
   background: #e9e3e3;
   padding: 8px 10px;
   display: inline-block;
   font-weight: 500;
   border-radius: 4px;
   margin: 8px auto;
}
.choose3_three {
   float: none;
   text-align: center;
}
.shoshiWrap {
   display: table-cell;
   vertical-align: top;
   padding: 0 4px 0 4px;
   color: #442b2d;
}
.shoshiWrap_body {
   display: inline;
   font-size: 14px;
   line-height: 24px;
}
#js-countTxt {
   display: none;
}
.feature_wrap{
   text-align: center;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   -ms-flex-pack: distribute;
   justify-content: space-around;
}
.two_cols {
   margin-bottom: 16px;
   width: 49%;
   vertical-align: top;
}
.genres_wrap-img {
   width: 76px;
   margin-bottom: 4px;
}
.tate_cover {
   display: block;
}
#daily:checked ~ rank_daily, weekly:checked ~ rank_weekly, monthly:checked ~ rank_monthly {
   display: block;
   text-align: center;
}
.rankNum {
   vertical-align: middle;
   display: inline-block;
   text-align: center;
   font-size: 12px;
   line-height: 20px;
   color: #000;
   width: 20px;
   height: 20px;
   border-radius: 10px;
   margin-bottom: 8px;
}
.ranking_1 {
   background: #ffc800;
   font-weight: 800;
}
.ranking_2 {
   background: #e8e8e8;
   font-weight: 800;
}
.ranking_3 {
   background: #ff985c;
   font-weight: 800;
}
.shoshiWrap_title {
   display: block;
   font-size: 12px;
   line-height: 20px;
   padding: 4px 0 0;
   font-weight: normal;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   text-align: left;
   color: rgba(68, 43, 45, .7);
}
.kwd_items{
   font-size: 14px;
   color: #442b2d;
   background: #e9e3e3;
   display: inline-block;
   padding: 8px 10px;
   border-radius: 20px;
   margin: 0 4px 12px;
}
.new_release_date {
   font-size: 10px;
   font-weight: bold;
   color: rgba(68, 43, 45, 0.76);
   line-height: 20px;
   padding: 0 0 4px;
   text-align: left;
   letter-spacing: 0.3px;
}
.new_release_wrap{
   scroll-snap-type: x mandatory;
   white-space: nowrap;
   margin: 16px auto 36px;
   margin-left: 8px;
}
@media screen and (min-width: 411px){
   .topCard__other_each{
      min-height: 200px;
   }
}
@media screen and (max-width: 320px){
   .vc_sub{
      display: none;
   }
}
/*PC style*/
@media screen and (min-width: 989px) {
#indexWrap{
   text-decoration: none;
   box-sizing: border-box;
   overflow: hidden;
   margin:0 auto;
   background-color: #fff;
}
}

/*Home Carousel Swiper (Responsive)*/
.topSwiper{
   filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}
/* カルーセルのコンテナ */
.topSwiper-container-hero {
   max-width: 100%; /* 画面幅から余白を引く */
   overflow: hidden;
   display: flex;
   padding-bottom: clamp(20px,10%,24px);
   margin-bottom: 16px;
   position: relative;
}
/* カルーセルのスライド */
.topSwiper-slide {
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   text-align: center;
}
/* カルーセル内の画像 */
.topSwiper-slide-img {
   width: clamp(300px,100%,600px);
   height: auto;
   border-radius: 6px 6px 0 0;
}
/* カルーセル内のタイトル */
.topSwiper_desc {
   position: relative;
   width: clamp(300px,100%,600px);
   height: 80px;
   background-color: #303031;
   border-radius: 0px 0px 6px 6px;
   line-height: normal;
   padding:8px 0px;
}
.topSwiper-slide-tag {
   display: -webkit-box;
   width: auto;
   padding: 0px 8px;
   text-align: left;
   font-size: clamp(12px,1em,14px);
   font-weight: 800;
   color: #fff;
   max-height: 40px;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   overflow: hidden;
}
.topSwiper-slide-title{
   display: -webkit-box;
   width: auto;
   padding: 4px 8px;
   text-align: left;
   font-size: clamp(12px,1em,14px);
   font-weight: 500;
   color:#fff;
   max-height: 40px;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
}
.topSwiper-container-hero .topSwiper-pagination {
   bottom: 0px;
}
.topSwiper-slide-contents {
   padding: 8px 8px 0px 8px;
   line-height: 0;
}
.topSwiper-pagination .topSwiper-pagination-bullet-active {
   background-color: #767676;
}
.content-container .swiper-slide-prev {
   transition: 0.3s;
   filter: brightness(0.5);
   scale: 0.9;
}
.content-container .swiper-slide-next {
   transition: 0.3s;
   filter: brightness(0.5);
   scale: 0.9;
}
.content-container .swiper-slide-active {
   opacity: 1;
   transition: 0.3s;
}
.swiper-container-hero .swiper-button-next::after,
.swiper-container-hero .swiper-button-prev::after {
   color: #fff;
   opacity: 0.9;
}
@media screen and (max-width: 599px) {
   .swiper-container-hero .swiper-button-next::after,
   .swiper-container-hero .swiper-button-prev::after {
      display: none;
      font-size: 1px;
      z-index:0;
      }
   .swiper-container-hero .swiper-button-next,
   .swiper-container-hero .swiper-button-prev {
      display: none;
      z-index:0;
      }
}

/*Home Menu (Icon) (Responsive)*/
.Top_wrap_icon_link{
   display: flex;
   justify-content: center;
   padding:0 8px;
   margin:0 auto 16px;
   gap:min(1vw,10px);
   width:clamp(320px,100%,989px);
   box-sizing:border-box;
   align-items: center;
   flex-wrap: nowrap;
}
.icon_link_list{
   text-align: center;
   overflow: hidden;
   width: calc(100%/4);
   border: 0.5px solid #442b2d1f;
   box-shadow:1px 1px 2px 0 #ccc;
   min-height:30px;
   height:fit-content;
   list-style-type: none;
}
.icon_link{
   display:flex;
   justify-items: center;
   background: #fff;
   flex-direction:column;
   align-items:center;
}
.icon_link img{
   width:clamp(32px,100%,48px);
   display: inline-block;
   padding-top:8px;
}
.icon_link span{
   display: inline-block;
   color: #442b2d;
   font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
   font-size:clamp(12px,1em,20px);
   font-style: normal;
   font-weight: 700;
   text-align: center;
   padding:8px 0;
   white-space: pre;
}
.icon_link:hover{
   background: #e9e3e3;
   color: rgba(68, 43, 45, 0.5);
}
.icon_link_list:first-child{
   border-radius: 15px 0 0 15px;
}
.icon_link_list:last-child{
   border-radius: 0 15px 15px 0;
}
@media (max-width: 319px) {
   .icon_link span{
   font-size:13px;
}
.icon_link img{
   width: 28px;
   display: inline-block;
}
}
@media (min-width: 600px) {
   .Top_wrap_icon{
      margin: 0 auto;
}
   .Top_wrap_icon_link{
      padding:0 32px;
      box-sizing: border-box;
      margin:0 auto 32px;
      width:80%;
}
   .icon_link{
      display:flex;
      justify-items: center;
      background: #fff;
      flex-direction:row;
}
   .icon_link img{
      width: clamp(20px,4vw,32px);
      display: inline-block;
      margin: 10px;
      padding: 0px;
}
   .icon_link span{
      display: inline-block;
      color: #442b2d;
      font-size: 24px;
      font-style: normal;
      font-weight: 700;
      line-height: 120%;
      word-break: normal;
      white-space: pre;
      text-align: center;
      margin: auto 0;
}
}
@media (min-width: 320px) and (max-width: 425px) {
   .icon_link span{
      word-spacing:100px;
      padding: 0 0 8px 0;
}
   .icon_link img{
      padding: 8px;
}
}

/*Genre Home Page*/
.GenrehpBlock{
   margin: 0 auto 16px;
   padding: 0px 8px;
   background: #fff;
   box-shadow: none;
   width:100%;
   box-sizing:border-box;
}

/*collectionBlock+swiper(NEW)*/
.indexBlock{ /*自動枠*/
   display: block;
   box-sizing:border-box;
   padding: 0 8px;
   margin: 0px auto 20px;
   width: 100%;
   overflow: hidden;
   background: #fff;
}
.block_header-only{ /*自動枠*/
   font-size: 18px;
   color: #442b2d;
   line-height: 150%;
   margin: 0 0 10px 0;
   font-weight: 800;
}
.block_header_a, .block_header_div{
   display: flex;
   padding: 0;
   margin: 0 0 14px;
   gap: 0;
   align-items: flex-start;
   flex-direction: column;
   text-align: left;
   width: 100%;
   color: unset;
}
.block_header_h2{
   display: block;
   font-size: 18px;
   font-weight: 800;
   line-height: 1.5;
   color: #442b2d;
}
.block_header_h2_a--923d70::after{
   content: url("/renta/img/_en/icon/icon-navigate_next-923d70_square.svg");
   position: absolute;
   width: 28px;
   height: 28px;
   margin: 0 0 4px 4px;
}
.block_header_h2_a--white::after{
   content: url("/renta/img/_en/icon/icon-navigate_next-white_square.svg");
   position: absolute;
   width: 28px;
   height: 28px;
   margin: 0 0 4px 4px;
}
.block_header_info{
   display: block;
   font-size: 14px;
   font-style: italic;
   color: #777;
}
.content-item{
   width: 100%;
   max-width: 120px;
}
.content-tagline{
   display: block;
   color: #4530C8;
   background: #fff;
   text-align: center;
   font-weight: 900;
   font-style: italic;
   font-size: 14px;
   margin: 0 auto 8px;
   padding: 0;
   /*display,color,background,padding,margin:csv*/
}
.content-img_base{
   width: 100%;
   border: 1px solid #f2f2f2;
}
.content-img_base--borderless{
   width: 100%;
   border: none;
}
.content-img_base img, .content-img_base--borderless img{
   width: 100%;
   height: 100%;
}
.content-title{
   display: block;
   font-size: 14px;
   overflow: hidden;
   white-space: nowrap;
   text-overflow: ellipsis;
   width: 100%;
   padding-top: 4px;
   color: #442b2d;
   /*color:csv*/
}
.swiper-wrapper-collection{
   align-items: flex-end; /*不用指定tagline高度*/
}
@media screen and (min-width:600px){
   .content-item{
      max-width: 160px;
   }
}

/*Renta! Pickup (640640 Banner Swiper)*/
.banner-link{
   width: clamp(250px,10%,400px);
}
.banner-img_base{
   border: 1px solid #f2f2f2;
   border-radius: 10px;
   overflow: hidden;
}
.banner-img{
   box-sizing: border-box;
   width: clamp(250px,100%,400px);
}
.banner-tagline{
   font-size: 16px;
   font-weight: 800;
   padding: 8px 8px 0;
   width: clamp(250px,100%,400px);
   white-space: wrap;
   overflow: hidden;
   text-overflow: ellipsis;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   line-height: 150%;
   box-sizing:border-box;
   font-style:italic;
   /*color:csv*/
}
.banner-text{
   white-space: wrap;
   overflow: hidden;
   text-overflow: ellipsis;
   display: -webkit-box;
   -webkit-line-clamp: 3;
   -webkit-box-orient: vertical;
   line-height: 150%;
   font-size: 14px;
   width:clamp(250px,100%,400px);
   font-weight: 400;
   padding: 4px 8px 0;
   box-sizing:border-box;
   /*color:csv*/
}

/*自動枠css margin調整*/
.temp_frame-genre_item_wrap{
   margin:0 auto;
   padding:0;
}
.temp_frame-genre_header_wrap{
   margin-bottom:10px;
}
/*Link hover*/
#indexWrap a:hover{
   opacity:0.8;
}
#indexWrap #topInfo:hover{
   background:#e9e3e3;
}
.block_header-div:hover{
   opacity:0.6;
}

/*hide_ad*/
.hide_ad{
   display:none;
}

/*Loading*/
.js-loader-hero {
   align-items: center;
   background: #fff;
   display: flex;
   justify-content: center;
   position: absolute;
   z-index: 19;
   width: 100%;
   height: 100%;
   max-width:990px;
   margin-top:4px;
   &::after {
   animation: loader 0.5s linear infinite;
   border: 5px solid rgba(242, 80, 109, 0.8);
   border-radius: 50%;
   border-right: 5px solid rgba(242, 80, 109, 0.20);
   border-top: 5px solid rgba(242, 80, 109, 0.20);
   content: "";
   height: 50px;
   width: 50px;
   transform-origin: 50% 50%;
}
}
@keyframes loader {
	0% {
      transform: rotate(0);
   }
   100% {
      transform: rotate(360deg);
   }
}
@media screen and (min-width: 600px) and (max-width: 988px){
   .js-loader-hero{
      min-height: 350px;
   }
}
.loader {
   align-items: center;
   background: #fff;
   display: flex;
   justify-content: center;
   position: absolute;
   z-index: 19;
   width: 100%;
   height: 100%;
   max-height:230px;
	&::after {
   animation: loader 0.5s linear infinite;
   border: 5px solid rgba(242, 80, 109, 0.8);
   border-radius: 50%;
   border-right: 5px solid rgba(242, 80, 109, 0.20);
   border-top: 5px solid rgba(242, 80, 109, 0.20);
   content: "";
   height: 40px;
   width: 40px;
   /* 追加: Androidでの表示修正 */
   transform-origin: 50% 50%; /* もしくは他の値を試してみる */
}
}
.js-loadingHide{
   opacity: 0;
}

/*Genre search*/
.tag_wrap-link{
	width: fit-content;
	display: block;
	background: #F7ECF4;
	padding: 8px 16px;
	border-radius: 20px;
	color: #442b2d;
	text-align: center;
	box-sizing: border-box;
	font-size: 14px;
	border: 1px #F7ECF4 solid;
   line-height: 1;
}
.tags_group{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.tags-contents, .tags-keywords{ /*TBD*/
	border-bottom: 1px solid #F7ECF4;
	padding-bottom: 8px;
}
.tags-story{
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
}

/*Home Menu (Icon) (Responsive)*/
.MenuBlock{
   display: block;
   width: clamp(320px,100%,989px);
   margin: 0 auto 16px;
   padding: 0 8px;
   box-sizing: border-box;
}
.MenuBlock-icon_wrap{
   display: flex;
   gap: 10px;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   width: 100%;
}
.MenuBlock-icon{
   display: flex;
   box-sizing: border-box;
   width: 100%;
   max-width: 60px;
   gap: 4px;
   justify-items: center;
   flex-direction: column;
   align-items: center;
}
.MenuBlock-icon_img{
   width: 100%;
   height: 100%;
   background: #eee;
   border-radius: 8px;
   border: 1px solid #eee;
   display: block;
   padding: 0;
   max-width: 60px;
}
.MenuBlock-icon_img img{
   display: block;
   width: 100%;
   height: 100%;
}
.MenuBlock-icon_span{
   display: block;
   font-size: 14px;
   font-weight: 500;
   text-align: center;
   width: 100%;
   color: #923d70;
}
.MenuBlock-icon_span-upcoming{
   display: block;
   font-size: 14px;
   font-weight: 500;
   text-align: center;
   width: 100%;
   color: #923d70;
}
@media screen and (min-width: 320px) and (max-width:375px) {
   .MenuBlock-icon_wrap{
      gap: calc((100% - 275px)/4);
   }
   .MenuBlock-icon{
      max-width: 55px;
   }
   .MenuBlock-icon_img{
      max-width: 55px;
   }
   .MenuBlock-icon_span{
      font-size: 13px;
      font-weight: normal;
   }
   .MenuBlock-icon_span-upcoming{
      font-size: 12px;
      font-weight: normal;
   }
}

/*Page Index更新*/
.page-index{
   display: block;
   padding: 0 8px;
   margin: 16px auto;
}
.page-index__banners--multiple{
   display: flex;
   --page-index-banners_gap: 8px;
   justify-content: flex-start;
   flex-direction: row;
   flex-wrap: wrap;
   gap: var(--page-index-banners_gap);
   margin: 0 auto 8px;
}
.page-index__banner-item{
   display: block;
   width: calc((100% - var(--page-index-banners_gap)) / 2);
   height: auto;
   border-radius: 8px;
   box-shadow: 1px 1px 2px 0 #ccc;
   border: 1px solid #ccc;
   overflow: hidden;
}
.page-index__banner-img{
   display: block;
   width: 100%;
   height: auto;
}
.page-index__banners--wide{
   display: block;
   width: 100%;
   margin: 0 auto;
}
.page-index__banner-wide--mobile{
   display: block;
   box-sizing: border-box;
   border: 1px #ccc solid;
   box-shadow: 1px 1px 2px 0 #ccc;
   border-radius: 8px;
   overflow: hidden;
   line-height: 0;
}
.page-index__banner-wide--pc{
   display: none;
}
.page-index__banner-img--wide{
   width: 100%;
   height: 100%;
}

@media screen and (min-width: 600px){
   .page-index{
      margin: 32px auto 0;
      padding-bottom: 32px;
}
   .page-index__banners--multiple{
      --page-index-banners_gap: 4px;
}
   .page-index__banner-item{
      width: calc((100% - var(--page-index-banners_gap)*3) / 4);
}
   .page-index__banner-wide--mobile{
      display: none;
}
   .page-index__banner-wide--pc{
      display: block;
      box-sizing: border-box;
      border: 1px #ccc solid;
      box-shadow: 1px 1px 2px 0 #ccc;
      border-radius: 8px;
      overflow: hidden;
      line-height: 0;
}
}