:root{
  --color-primary: #EAB308;
  --color-background-dark: #0A0A0A;
  --color-surface-dark: #161616;
  --color-accent-pink: #FF2D55;

  --color-text-main: #FFF;
  --color-text-sub: #A0A0A0;

  --radius-size: 16px;
}

body{
  font-family: "Noto Sans", sans-serif;
  background-color: #000;
  color: var(--color-text-main);
  font-size: 14px;
}

.l-container{
  width: 100%;
  max-width: 750px;
  height: 100dvh;
  padding: 16px 16px 0 ;
  margin: 0 auto;
}


.c-loading{
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}


/* === カードデザイン === */
.p-swipe-wrap{
  height: 85dvh;
}

.swiper-main{
  height: 100%;
}

.c-card{
  /* height: 85dvh; */
  height: 100%;
  background-color: var(--color-surface-dark);
  padding: 16px;
  border-radius: var(--radius-size);
  position: relative;
}

.c-card-credit__text{
  font-size: 8px;
  text-align: right;
  color: rgba(255, 255, 255, 0.25);
  margin-top: 12px;
  position: absolute;
  right: 18px;
  top: -8px;
}

.c-card-ad__text{
  font-size: 10px;
  text-align: right;
  color: rgba(255, 255, 255, 0.75);
  margin-top: 12px;
  position: absolute;
  left: 25px;
  top: -8px;
}

.c-card-credit__text a{
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);  
}
/* === カードデザイン /E === */


/* === Headデザイン === */
.c-card-head{
  height: 55dvh;
  border-radius: 18px;
  overflow: hidden;
  background-color: var(--color-background-dark);
}

.c-card-head-wrap{
  height: 100%;
  display: flex;
  flex-direction: column;
}

.c-card-head-wrap > *{
  flex: 1;
}

.c-card-head-thumb{
  /* height: 30%; */
  height: 45%;
  flex: 1;
  margin: 0 auto;
}

.c-card-head-thumb__img{
  height: 100%;
  object-fit: cover;
}

.c-card-head-video{
  height: 55%;
  flex: 1;
  display: block;
  text-align: center;
  position: relative;
}

.c-card-head-vieo__frame{
  /* width: auto; */
  width: 75%;
}

.c-card-head-vieo__imagea{
  /* width: 100%; */
  height: 100%;
}

/* サンプル動画読み込み */
.c-card-head-video-loading{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}


@media screen and (min-width: 750px) {
  .c-card-head-vieo__frame{
    height: 100%;
  }
}
/* === Headデザイン /E === */



/* === Infoデザイン === */
.c-card-info{
  /* height: 15dvh; */
}

.c-card-info__title{
  color: var(--color-text-main);
  font-size: 14px;
  margin-top: 8px;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;

  overflow: hidden;
}

.c-card-info__genre{
  font-size: 10px;
  
  margin: 4px 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;

  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.c-card-info__genre-label{
  color: rgb(148 163 184 / 1);
  background-color: var(--color-background-dark);
  padding: 2px;
}

.c-card-info__actress{
  font-size: 10px;
  margin-bottom: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
}

.c-card-info__actress-label{
  color: rgb(148 163 184 / 1);
}
/* === Infoデザイン /E === */


/* === メニューデザイン === */
.c-card-menu{
  /* height: 15dvh; */
}

.c-card-menu-wrap{
  margin: 0 20px;
  display: flex;
  gap: 8px;
}

.c-card-menu-btn{
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  color: rgb(148 163 184 / 1);
  background-color: rgb(255 255 255 / 0.05);
  border-radius: 18px;
  padding: 8px 8px;
  text-align: center;
}

.c-card-menu-btn.is-active{
  color: var(--color-accent-pink);
}

.c-card-menu-btn--fanza{
  color: var(--color-background-dark);
  background-color: var(--color-primary);
}

.c-card-menu-btn__label{
  font-size: 12px;
}
/* === メニューデザイン /E === */



/* === 読み込みボタン === */
.c-card-more-loading{
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.c-card-more-loading-wrap{
  text-align: center;
  margin-bottom: 16px;
}

.c-card-more-warning__text{
  font-size: 14px;
  line-height: 1.25;
  margin-bottom: 16px;
}

.c-card-more-loading-btn{
  font-weight: bold;
  color: var(--color-surface-dark);
  background-color: var(--color-primary);
  border-radius: 4px;
  padding: 12px 16px;
  box-shadow: 0px 4px 0px #937008;
  
  position: relative;
  top: 0;
  transition: all ease .3s;
}

.c-card-more-loading-btn:hover{
  box-shadow: 0px 0px 0px #937008; 
  top: 4px;
}
/* === 読み込みボタン /E === */




/* === カテゴリー === */
/* 機能追加予定・・・ */
/* .c-category{
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
  margin-bottom: 4px;
}

.c-category-wrap{
  color: rgb(148 163 184 / 1);
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  margin-bottom: 4px;
}

.c-category-btn{
  font-size: 12px;
  padding: 0 16px;  
}

.c-category-btn:not(:last-child){
  border-right: 1px solid rgba(148, 163, 184, 0.25);
} */

/* === カテゴリー /E === */



/* === お気に入りリスト === */
.c-favorite-list{
  height: 80dvh;
  overflow-y: auto;
  overflow-x: hidden;
}

.c-favorite-list-wrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.c-favorite-list-card{
  width: 100%;
  position: relative;
}

.c-favorite-list-card-link{
  height: 100%;
  display: block;
  border-radius: 8px;
  overflow: hidden;
}

.c-favorite-list-card__thumb{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-favorite-list-card-del-btn{
  position: absolute;
  right: 2%;
  top: 2%;
  color: var(--color-text-main);
  background-color: var(--color-accent-pink);
  z-index: 2;
}

.c-favorite-list-card-del-btn.is-removed{
  background-color: var(--color-primary);
  color: var(--color-surface-dark);
}

.c-favorite-list-card-del-filter{
  display: none;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
/* === お気に入りリスト /E === */



/* === フッターデザイン === */
.c-footer{
  height: auto;
  width: 100%;
  background-color: var(--color-surface-dark);
  padding: 4px 0 8px;
  border-top: 1px solid rgba(148, 163, 184, 0.25);

  position: fixed;
  left: 0;
  bottom: 0;
}

.c-footer-wrap{
  height: 100%;
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
}

.c-footer-link{
  display: flex;
  flex-direction: column;
  text-align: center;
  color: rgb(148 163 184 / 1);
  gap: 4px;
}

.c-footer-link{
  font-size: 12px;
}
/* === フッターデザイン /E === */