@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* トップページだけヘッダー非表示 */
.home #header,
.home .l-header,
.home .c-headFixed,
.home .p-spMenuButton,
.home .p-globalNav {
    display: none !important;
}

#page-header,
.l-pgHeader,
.c-page-header,
.p-breadcrumb,
.c-breadcrumb,
.l-breadcrumb {
    display: none !important;
}

/* トップページの上余白を削除 */
.home.top #content {
    padding-top: 0 !important;
}

.l-sidebar {
        margin-top: 40px !important; /* ←お好みで 20〜60px */
    }


/* 女優ページ全体の幅・余白 */
.p-actress {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 20px 60px;
}

/* タイトル */
.p-actress__title {
  font-size: 2.2rem;
  margin-bottom: 24px;
}

/* 上部レイアウト（画像＋プロフィール） */
.p-actress__top {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

/* 画像 */
.p-actress__thumb img {
  display: block;
  width: 160px;          /* 全体的に小さめに */
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* プロフィールエリア（右側） */
.p-actress__profile {
  flex: 1;
}

/* プロフィール見出し */
.p-actress__profileTitle {
  font-size: 1.2rem;     /* 文字少し小さめ */
  font-weight: 700;
  padding-left: 12px;
  border-left: 4px solid #004b63;
  margin: 0 0 12px;
}

/* プロフィールの項目リスト（見出しの下に縦並び） */
.p-actress__profileList {
  margin: 0;
}

.p-actress__profileList dt {
  font-weight: 600;
  font-size: 0.9rem;
  margin: 0 0 2px;
}

.p-actress__profileList dd {
  margin: 0 0 8px;
  font-size: 0.95rem;
}

/* SNSリンク */
.p-actress__profileList a {
  text-decoration: underline;
}

/* スマホ用レイアウト */
@media (max-width: 768px) {
  .p-actress {
    padding: 24px 0 40px;
  }

  /* スマホでも画像左・プロフィール右を維持 */
  .p-actress__top {
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
  }

  .p-actress__thumb img {
    width: 120px;   /* スマホではさらに小さめ */
  }

  .p-actress__profile {
    width: 100%;
  }
}

/* ------- 作品ページ ------- */

.p-work {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 20px 60px;
}

/* タイトル */
.p-work__title {
  font-size: 2.1rem;
  margin-bottom: 24px;
}

/* メタ情報（番号・発売日など） */
.p-work__meta {
  list-style: none;
  padding: 16px 20px;
  margin: 0 0 32px;
  border-radius: 12px;
  background: #f7f9fb;
  display: grid;
  row-gap: 8px;
}

.p-work__meta li {
  display: grid;
  grid-template-columns: 110px 1fr;
  column-gap: 12px;
}

.p-work__metaLabel {
  font-weight: 600;
}

.p-work__metaValue {
  font-weight: 400;
}

/* 本文レイアウト（画像＋説明） */
/* .p-work__body {
  display: flex;
  gap: 32px;
  align-items: flex-start;
} */

.p-work__thumb img {
  display: block;
  width: 320px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.p-work__content {
  flex: 1;
}

/* セクション */
.p-work__sectionTitle {
  font-size: 1.4rem;
  font-weight: 700;
  padding-left: 12px;
  border-left: 4px solid #004b63;
  margin: 0 0 16px;
}

.p-work__description {
  line-height: 1.8;
}

/* CTAボタン */
.p-work__cta {
  margin-top: 24px;
}

.p-work__ctaBtn {
  display: inline-block;
  padding: 14px 60px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  background: #e53935;
  color: #fff;
  box-shadow: 0 6px 16px rgba(229,57,53,.35);
}

.p-work__ctaBtn:hover {
  opacity: .9;
}

/* スマホ用レイアウト */
@media (max-width: 768px) {
  .p-work {
    padding: 0 0 40px;
  }

  .p-work__body {
    flex-direction: column;
  }

  .p-work__thumb img {
    width: 100%;
    max-width: 500px;
    margin: 0 auto 8px;
  }

  .p-work__meta {
    grid-template-columns: 1fr;
	  margin-top: 30px;
  }

  .p-work__meta li {
    grid-template-columns: 100px 1fr;
  }
}

/* 女優ページ：出演作品一覧 */
.p-actressWorks {
  margin-top: 48px;
}

.p-actressWorks__title {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.p-actressWorks__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.p-actressWorks__item {
  background: #fff;
  border-radius: 12px;
  padding: 0;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
}

.p-actressWorks__thumb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
}

.p-actressWorks__name {
  font-size: 0.95rem;
  margin: 8px 3px 5px;
}

/* スマホ */
@media (max-width: 768px) {
  .p-actressWorks__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ---------- トップページ ---------- */
.p-front {
  max-width: 1040px;
  margin: 0 auto;
  padding: 40px 20px 60px;
}

/* ヒーロー */
.p-front__hero {
  margin-bottom: 40px;
}
.p-front__heroInner {
  background: #f7f9fb;
  border-radius: 18px;
  padding: 32px 28px;
}
.p-front__heroTitle {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 0 0 8px;
}
.p-front__heroLead {
  margin: 0 0 20px;
  line-height: 1.8;
}
.p-front__heroLinks {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.p-front__heroBtn {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 999px;
  background: #e53935;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(229,57,53,.3);
}

.p-front__heroBtn02 {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 999px;
  border: 1px solid #e53935 !important;
  background: #ffffff;
  color: #e53935;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(229,57,53,.3);
}
.p-front__heroLinkSub {
  align-self: center;
  font-size: .9rem;
  text-decoration: underline;
}

/* セクション共通 */
.p-front__section {
  margin-top: 40px;
}
.p-front__sectionHeader {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
}
.p-front__sectionTitle {
  font-size: 1.6rem;
  font-weight: 700;
}
.p-front__sectionMore {
  font-size: .9rem;
  text-decoration: underline;
}

/* 最新作品グリッド */
.p-frontWorks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px,1fr));
  gap: 20px;
}
.p-frontWorks__item {
  background: #fff;
  border-radius: 14px;
  padding: 10px;
  box-shadow: 0 4px 14px rgba(0,0,0,.04);
}
.p-frontWorks__link {
  color: inherit;
  text-decoration: none;
  display: block;
}
.p-frontWorks__thumb img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
}
.p-frontWorks__body {
  padding-top: 8px;
}
.p-frontWorks__title {
  font-size: .95rem;
  font-weight: 700;
  margin: 0 0 6px;
}
.p-frontWorks__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: .8rem;
}
.p-frontWorks__meta li {
  display: flex;
  gap: 4px;
}
.p-frontWorks__label {
  min-width: 3.5em;
  color: #666;
}
.p-frontWorks__value {
  font-weight: 500;
}

/* 女優への導線セクション */
.p-front__section--actress {
  text-align: left;
}
.p-front__sectionText {
  margin-bottom: 12px;
}

/* SP調整 */
@media (max-width: 768px) {
  .p-front {
    padding: 24px 16px 40px;
  }
  .p-front__heroInner {
    padding: 24px 20px;
  }
  .p-front__heroTitle {
    font-size: 2rem;
  }
}

/* ===== トップ：人気作品ランキング ===== */
.p-frontRank {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
}

.p-frontRank__item {
  display: flex;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,.04);
}

.p-frontRank__link {
  display: flex;
  gap: 14px;
  text-decoration: none;
  color: inherit;
  width: 100%;
}

.p-frontRank__thumb {
  position: relative;
  flex: 0 0 80px;
}

.p-frontRank__thumb img {
  display: block;
  width: 80px;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
}

.p-frontRank__badge {
  position: absolute;
  top: -6px;
  left: -6px;
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #e53935;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 8px rgba(229,57,53,.4);
}

.p-frontRank__body {
  flex: 1;
}

.p-frontRank__title {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 4px;
}

.p-frontRank__cast {
  margin: 0;
  font-size: 0.8rem;
  color: #666;
}

/* ===== トップ：女優一覧 ===== */
.p-frontActress {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
}

.p-frontActress__item {
  border-radius: 14px;
  padding: 10px;
  text-align: center;
}

.p-frontActress__link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.p-frontActress__thumb img {
  width: 100%;
  height: auto;
  border-radius: 999px;
  object-fit: cover;
}

.p-frontActress__name {
  margin: 8px 0 0;
  font-size: 0.9rem;
  font-weight: 700;
}

/* ===========================
   人気作品ランキング 画像を大きくする（PC）
   =========================== */
@media (min-width: 769px) {

  /* 作品ランキング用：枠の width を上書き */
  body.home .p-frontRank:not(.p-frontRank--actress) .p-frontRank__thumb {
    width: 240px !important;
    max-width: none !important;
    flex-shrink: 0 !important;
  }

  /* 作品ランキングの画像サイズ */
  body.home .p-frontRank:not(.p-frontRank--actress) .p-frontRank__thumb img {
    width: 240px !important;
    max-width: none !important;
    height: auto !important;
    object-fit: cover;
    display: block;
  }

  /* 行の高さ */
  body.home .p-frontRank:not(.p-frontRank--actress) .p-frontRank__item {
    min-height: 260px !important;
    align-items: center;
  }

  /* 画像とテキストの距離 */
  body.home .p-frontRank:not(.p-frontRank--actress) .p-frontRank__body {
    margin-left: 16px !important;
  }
}

/* ============================================
   人気女優ランキング レスポンシブグリッド
   ============================================ */

/* SP（〜768px）：3列 × 2行 */
@media (max-width: 768px) {

  /* 3列グリッドに */
  .p-frontRank--actress {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 12px;
    row-gap: 16px;
  }

  /* 最初の6件だけ表示（2行分） */
  .p-frontRank--actress .p-frontRank__item:nth-child(n+7) {
    display: none !important;
  }

  /* アイテムの縦並び */
  .p-frontRank--actress .p-frontRank__link {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  /* サムネイル */
  .p-frontRank--actress .p-frontRank__thumb img {
    width: 100%;
    aspect-ratio: 1 / 1; /* 正方形 */
    object-fit: cover;
    border-radius: 12px;
  }

  .p-frontRank--actress .p-frontRank__title {
    font-size: 12px;
  }
}


/* タブレット（769px〜1023px）：4列 */
@media (min-width: 769px) and (max-width: 1023px) {

  .p-frontRank--actress {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 20px;
    row-gap: 20px;
  }

  .p-frontRank--actress .p-frontRank__link {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .p-frontRank--actress .p-frontRank__thumb img {
    width: 130px;
    height: 130px;
    object-fit: cover;
    border-radius: 14px;
  }
}


/* PC（1024px〜）：6列 */
@media (min-width: 1024px) {

  .p-frontRank--actress {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr); /* ★ 6列 ★ */
    column-gap: 24px;
    row-gap: 24px;
  }

  .p-frontRank--actress .p-frontRank__item {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
  }

  .p-frontRank--actress .p-frontRank__link {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .p-frontRank--actress .p-frontRank__thumb img {
    width: 140px;
    height: 140px;
    object-fit: cover;
    border-radius: 16px;
  }

  .p-frontRank--actress .p-frontRank__title {
    font-size: 14px;
  }
}

/* 見出し横のリンクをボタン風に（作品一覧へ / 女優一覧へ） */
.p-front__sectionHeader .p-front__sectionMore {
    display: inline-block;
    padding: 8px 18px;
    background-color: #ffffff; /* ゴールド系 */
    color: #f0b500 !important;
    border-radius: 24px;
	border: 1px  solid #f0b500;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: 0.2s ease;
}

/* 作品ページ：Netflix風レコメンド棚 */
.single-works .p-worksShelf {
  margin-top: 60px;
}

.single-works .p-worksShelf__title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
}

/* 横スクロールの棚 */
.single-works .p-worksShelf__list {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 8px;
  margin: 0 -8px;          /* 端を少し広げる */
  padding-inline: 8px;
}

/* スクロールバーを少し控えめに（対応ブラウザのみ） */
.single-works .p-worksShelf__list::-webkit-scrollbar {
  height: 6px;
}
.single-works .p-worksShelf__list::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.2);
  border-radius: 3px;
}

/* カード1枚分 */
.single-works .p-worksShelf__item {
  min-width: 160px;
  flex: 0 0 auto;
}

.single-works .p-worksShelf__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.single-works .p-worksShelf__thumb img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

/* タイトルは2行くらいで切る */
.single-works .p-worksShelf__name {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.4;
  max-height: 2.8em;
  overflow: hidden;
}

/* hover */
@media (hover: hover) {
  .single-works .p-worksShelf__link:hover .p-worksShelf__thumb img {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.2);
  }
}

/* ================================
   Netflix風レコメンド棚（共通）
================================ */

/* 棚全体 */
.p-worksShelf {
  margin-top: 60px;
}

/* 見出し */
.p-worksShelf__title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
}

/* リスト（PC：4列） */
.p-worksShelf__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  overflow: visible !important; /* 横スクロールを完全停止 */
  margin: 0 !important;
  padding: 0 !important;
}

/* カード */
.p-worksShelf__item {
  list-style: none;
}

.p-worksShelf__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* サムネ画像 */
.p-worksShelf__thumb img {
  width: 100% !important;
  height: auto !important;
  max-width: none;
  border-radius: 8px;
  display: block;
  object-fit: cover;
}

/* カードの作品名 */
.p-worksShelf__name {
  font-size: 14px;
  font-weight: 600;
  margin-top: 8px;
  line-height: 1.4;
}

/* ================================
   作品ページ（single）専用上書き
================================ */

/* PC：4列グリッド（強制） */
.single-works .p-worksShelf__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* SP：2列（見やすい & 崩れない） */
@media (max-width: 768px) {
  .single-works .p-worksShelf__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .single-works .p-worksShelf__name {
    font-size: 12px !important;
	padding: 0 5px;
  }
}

/* =============================
   SPの作品タイトルを小さく
============================= */
@media (max-width: 768px) {
  .p-work__title {
    font-size: 18px;  /* ←好みで調整（デフォは32〜36くらい） */
    line-height: 1.4;
  }
}


/* ========================================
   SPで作品ページのレイアウト最適化
======================================== */
@media (max-width: 768px) {

  /* p-work__body の flex を解除して縦並びに */
  .single-works .p-work__body {
    display: block !important;
  }

  /* 画像部分を中央寄せ */
  .single-works .p-work__thumb {
    text-align: center;
    margin-bottom: 20px;
  }
  .single-works .p-work__thumb img {
    display: block;
    margin: 0 auto;
  }

  /* FANZAの引用元だけ左寄せに戻す */
  .single-works .p-work__credit {
    text-align: left !important;
    margin-left: 10px !important;
  }

  /* ボタンを中央寄せ */
  .single-works .p-work__cta {
    text-align: center !important;
    margin-top: 20px;
  }
  .single-works .p-work__ctaBtn {
    display: inline-block !important;
    margin: 0 auto !important;
  }
}

/* ============================
   女優ページ：その他のおすすめ作品（SP対応）
   ============================ */

/* SP：画像を大きめにする */
@media (max-width: 750px) {
  .p-worksShelf__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2列 */
    gap: 20px;
  }

  .p-worksShelf__thumb img {
    width: 100%;
    height: auto;
  }

  .p-worksShelf__name {
    font-size: 14px;
    line-height: 1.4;
  }
}

/* 1列にしたい場合は ↓ のように変更してもOK
@media (max-width: 750px) {
  .p-worksShelf__list {
    grid-template-columns: 1fr;
  }
}
*/

/* 出演作品タイトルの文字色を黒へ */
.p-actressWorks__name {
    color: #000;
}

/* 読み仮名サイズ */
.p-actress__yomi {
    font-size: 0.5em;
    color: #777;
    margin-left: 8px;
    font-weight: normal;
}

/* 作品一覧だけ投稿日を非表示（CPT: works） */
.post-type-archive-works .p-postList__meta,
.post-type-archive-works .c-postTimes,
.post-type-archive-works .c-postTimes__item {
    display: none !important;
}

/* 女優アーカイブ（post-type-archive-actress）の投稿日を非表示 */
.post-type-archive-actress .p-postList__meta,
.post-type-archive-actress .c-postTimes,
.post-type-archive-actress .c-postMeta,
.post-type-archive-actress .c-postTitle__date {
	display: none !important;
}

/* =============== 女優アーカイブ一覧 =============== */

.actress-archive {
  margin-top: 40px;
}

/* グリッド本体 */
.actress-archive__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 1200px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

/* PC：6列（6人／段） */
.actress-archive__item {
  flex: 0 0 calc((100% - 5 * 24px) / 6); /* 6列、間隔24pxを5つ */
}

/* カード全体 */
.actress-archive__link {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  padding: 16px 10px 20px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-align: center;
}

/* hover */
.actress-archive__link:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.10);
}

/* サムネ：正方形＋角丸 */
.actress-archive__thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;         /* 正方形 */
  border-radius: 20px;
  overflow: hidden;
  background: #f4f4f4;
  margin-bottom: 12px;
}

/* 画像フィット */
.actress-archive__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* no image用 */
.actress-archive__noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 10px;
  color: #999;
}

/* 名前 */
.actress-archive__name {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

/* ---------- レスポンシブ ---------- */

/* タブレットくらい：3列 */
@media (max-width: 1024px) {
  .actress-archive__item {
    flex: 0 0 calc((100% - 2 * 20px) / 3);
  }

  .actress-archive__list {
    gap: 20px;
  }
}

/* スマホ：2列 */
@media (max-width: 768px) {
  .actress-archive__item {
    flex: 0 0 calc(50% - 10px);
  }

  .actress-archive__list {
    gap: 16px;
  }

  .actress-archive__name {
    font-size: 10px;
  }
}

/* さらに小さい端末：1列 */
@media (max-width: 480px) {
  .actress-archive__item {
    flex: 0 0 30%;
  }
}

/* 女優カード：背景＆シャドウなしでシンプル表示に */
.actress-archive__link {
  background: transparent;   /* 白背景を無くす */
  box-shadow: none;          /* 影を無くす */
  padding: 0;                /* 余白も一旦リセット */
  border-radius: 0;
}

/* 画像と名前の間だけ少し余白 */
.actress-archive__thumb {
  margin-bottom: 8px;
}

/* hover時の浮き上がりも不要なら */
.actress-archive__link:hover {
  transform: none;
  box-shadow: none;
}

/* ページネーションを中央に小さめボタンで表示 */
.c-pagination,
.pagination {
  text-align: center;
}

/* 個々のページ番号ボタン */
.c-pagination .page-numbers,
.pagination .page-numbers {
  display: inline-flex;        /* 横並び＆幅auto */
  align-items: center;
  justify-content: center;
  width: auto;                 /* 100%を解除 */
  min-width: 40px;
  padding: 6px 14px;
  margin: 0 4px;
  border-radius: 999px;
}

/* 今のページ（current）とリンクボタンの色だけ軽く調整（お好みで） */
.c-pagination .page-numbers.current,
.pagination .page-numbers.current {
  background: #003d50;
  color: #fff;
}

.c-pagination .page-numbers:not(.current),
.pagination .page-numbers:not(.current) {
  background: #f2f2f2;
  color: inherit;
}

/* PC：6列 */
.actress-list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 32px;
}

/* スマホ：2列 */
@media screen and (max-width: 768px) {
  .actress-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 0 16px;
  }

  .actress-item {
    margin-bottom: 12px;
  }
}

/* 女優アーカイブのタイトルとサブタイトルを1行にする */
.post-type-archive-actress .c-pageTitle__title,
.post-type-archive-actress .c-pageTitle__sub {
  display: inline-block !important;  /* ブロック→横並びに */
  margin: 0 !important;
}

.post-type-archive-actress .c-pageTitle__sub {
  margin-left: 0.5em !important;    /* 「女優」と「– archive –」の間の余白 */
}

/* FANZAサンプル動画：16:9でレスポンシブ表示 */
.fanza-movie {
  width: 100%;
  max-width: 640px;   /* 必要なら調整：動画の最大幅 */
  margin-top: 16px;
  position: relative;
  padding-top: 56.25%; /* 16:9 */
}

.fanza-movie iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* 作品ページのFANZA動画 */
.p-work__video iframe {
    width: 100%;
    max-width: 640px;
    aspect-ratio: 16 / 9;
    display: block;
    margin: 0 auto 0;
}

/* FANZA動画：レスポンシブ対応・下が切れない */

.p-work__video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* --- SP用 FANZA動画レスポンシブ調整 --- */
@media (max-width: 768px) {

  .p-work__video iframe {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: none;
  }
}

/* サムネ + 動画 ブロックのベース */
.p-work__media {
  margin-top: 24px;
}

/* PC：サムネ + 動画を横並び */
@media (min-width: 769px) {

  .p-work__media {
    display: flex;
    gap: 24px;
    align-items: flex-start;
  }

  .p-work__thumb {
    flex: 0 0 260px; /* サムネの横幅：好みで調整 */
  }

  .p-work__video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
  }

  .p-work__cta {
    max-width: 640px;        /* 動画幅と合わせる */
    margin: 24px auto 0;
    text-align: center;
  }
}

/* SP：これまで通り縦並び＋高さ調整（下が切れない設定） */
@media (max-width: 768px) {
  .p-work__video iframe {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
  }

  .p-work__cta {
    max-width: 100%;
    margin: 16px auto 0;
    text-align: center;
  }
}

/* ベース：動画コンテナ共通（PC/SP両方） */
.p-work__video {
  display: block !important;
  position: relative;
  width: 100%;
  max-width: 640px;      /* 全体の最大幅 */
  margin: 24px auto 0;
  padding-top: 56.25%;   /* 16:9 なのでまずはこれ */
}

.p-work__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* サムネ + 動画を1ブロックにまとめる */
.p-work__media {
  margin-top: 24px;
}

/* PC：サムネ + 動画を横並びにする */
@media (min-width: 769px) {
  .p-work__media {
    display: flex;
    gap: 24px;
    align-items: flex-start;
  }

  .p-work__thumb {
    flex: 0 0 260px;  /* サムネ横幅：お好みで調整 */
  }

  .p-work__video {
    max-width: none;  /* flexで自動調整させる */
    margin: 0;        /* サムネと高さ揃えるため */
  }

  .p-work__cta {
    max-width: 640px;
    margin: 24px auto 0;
    text-align: center;
  }
}

/* SP：縦並び＋下が切れないように少し縦長に */
@media (max-width: 768px) {
  .p-work__video {
    max-width: 100%;
    padding-top: 79.25%;   /* 実機でちょうどよかった値 */
  }

  .p-work__cta {
    max-width: 100%;
    margin-top: 16px;
    text-align: center;
  }
}


/* ===== PC用：サムネ + 動画 横並び（動画は固定高さ） ===== */
@media (min-width: 769px) {

  /* 横並びレイアウト */
  .p-work__media {
    display: flex;
    gap: 24px;
    align-items: flex-start;
  }

  .p-work__thumb {
    flex: 0 0 260px;   /* サムネ幅：お好みで 230〜300px に調整OK */
  }

  /* 動画は「普通のブロック＋固定高さ」で表示 */
  .p-work__video {
    position: relative !important;
    flex: 1 1 auto;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-top: 0 !important;   /* ← 比率パディングはPCでは無効化 */
    height: auto !important;
  }

  .p-work__video iframe {
    position: static !important;
    width: 100% !important;
    height: 360px !important;    /* ← 好みで 320 / 400 とかに調整OK */
    border: none !important;
    display: block;
  }

  /* もっと見るボタンは動画の下に1ブロック */
  .p-work__cta {
    max-width: 640px;
    margin: 24px auto 0;
    text-align: center;
  }
}

/* PC用：サムネ左 + 動画右 / ボタンは動画ブロックの下に置く */
@media (min-width: 769px) {

  /* 横並びレイアウト */
  .p-work__media {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    margin-bottom: 24px; /* ← ボタンとの距離を確保 */
  }

  /* もっと見るボタンの浮き配置を解除！ */
  .p-work__cta {
    position: static !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;

    width: 100%;
    max-width: 640px;
    margin: 0 auto 40px; /* ← 動画の下に中央配置 */
    text-align: center;
  }

  /* 動画エリア */
  .p-work__video iframe {
    height: 360px !important; /* 好みで調整OK（320〜420） */
  }
}

/* サムネ + 動画 をまとめるブロック */
.p-work__media {
  margin-top: 24px;
}

/* PC：サムネ左 + 動画右 に横並び */
@media (min-width: 769px) {

.p-work__media {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    margin-top: 24px;
  }

  /* 左右半々にする */
  .p-work__thumb,
  .p-work__video {
    flex: 0 0 47%;
    max-width: 50%;
  }

  .p-work__thumb img {
    width: 100%;
    height: auto;
    display: block;
  }

.p-work__video {
    margin: 0;
  }

  .p-work__video iframe {
    width: 100% !important;
    height: 350px !important;  /* ← ここで下が切れないように少し高めに */
    border: none;
    display: block;
  }

  .p-work__cta {
    max-width: 640px;
    margin: 24px auto 40px;
    text-align: center;
    position: static !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
  }
}

/* SP：これまで通り縦並び（すでにOKなので軽く） */
@media (max-width: 768px) {
  .p-work__cta {
    max-width: 100%;
    margin: 16px auto 0;
    text-align: center;
  }
}

.p-work__ctaBtn {
  display: inline-block;
}

/* =========================
   女優ランキング
========================= */
.p-actressRanking {
  padding: 24px 0 40px;
}

.p-actressRanking__header {
  margin-bottom: 18px;
}

.p-actressRanking__title {
  font-size: 26px;
  font-weight: 700;
  margin: 0 0 6px;
}

.p-actressRanking__note {
  font-size: 13px;
  color: #777;
  margin: 0;
}

/* 一覧グリッド */
.p-actressRanking__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

/* カード */
.p-actressRanking__item {
  position: relative;
}

.p-actressRanking__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.p-actressRanking__thumb {
  aspect-ratio: 1 / 1; /* 正方形 */
  overflow: hidden;
  border-radius: 14px;
  background: #f7f7f7;
}

.p-actressRanking__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-actressRanking__noThumb {
  height: 100%;
  display: grid;
  place-items: center;
  color: #999;
}

/* ランク丸 */
.p-actressRanking__rank {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 30px;
  height: 30px;
  background: #ff4d4d;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
  z-index: 2;
}

.p-actressRanking__name {
  font-size: 15px;
  font-weight: 700;
  margin: 8px 0 4px;
  line-height: 1.4;
}

.p-actressRanking__yomi {
  display: inline-block;
  font-size: 12px;
  color: #888;
  margin-left: 6px;
}

.p-actressRanking__score {
  font-size: 13px;
  color: #ff7a00;
  font-weight: 600;
}

/* タブレット */
@media (max-width: 1024px){
  .p-actressRanking__list{
    grid-template-columns: repeat(3, 1fr);
  }
}

/* スマホ */
@media (max-width: 599px){
  .p-actressRanking__list{
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .p-actressRanking__title{
    font-size: 22px;
  }
}

.maker-archive__list{
  display:flex;
  flex-wrap:wrap;
  gap:12px 16px;
  list-style:none;
  padding:0;
  margin:0;
}
.maker-archive__item a{
  display:inline-block;
  padding:8px 12px;
  border:1px solid #eee;
  border-radius:999px;
  text-decoration:none;
}
.maker-archive__count{
  margin-left:6px;
  font-size:12px;
  opacity:.6;
}

.p-makerList{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
}
.p-makerList__item{}
.p-makerList__link{
  display:inline-block;
  padding:6px 10px;
  border:1px solid #eee;
  border-radius:8px;
  text-decoration:none;
}
.p-makerList__count{
  color:#888;
  font-size:0.9em;
}

/* ===============================
   makerアーカイブ（FANZA風）
=============================== */

.p-makerArchive__header{
  margin: 24px 0 16px;
}
.p-makerArchive__title{
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

/* 一覧 */
.p-makerArchive__list{
  display: grid;
  gap: 14px;
  margin-bottom: 30px;
}

/* 1件 */
.p-makerArchive__item{
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  overflow: hidden;
}

/* 全体リンク */
.p-makerArchive__link{
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 12px;
  padding: 12px;
  text-decoration: none;
  color: inherit;
  align-items: start;
}

/* サムネ */
.p-makerArchive__thumb img{
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}
.p-makerArchive__noThumb{
  width: 100%;
  aspect-ratio: 3/4;
  background: #eee;
  display:grid;
  place-items:center;
  font-size:12px;
  color:#666;
  border-radius: 8px;
}

/* 右側 */
.p-makerArchive__body{
  min-width: 0; /* line-clamp効かせるため */
}

/* タイトル 2行で…省略 */
.p-makerArchive__workTitle{
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 6px;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* cast表示 */
.p-makerArchive__casts{
  font-size: 12px;
  color: #777;
  line-height: 1.5;
}
.p-makerArchive__castItem{
  white-space: nowrap;
}

/* SP調整 */
@media (max-width: 768px){
  .p-makerArchive__link{
    grid-template-columns: 110px 1fr;
    padding: 10px;
    gap: 10px;
  }
  .p-makerArchive__workTitle{
    font-size: 14px;
  }
}

/* 50音ナビ */
.p-actressKanaNav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}

.p-actressKanaNav a {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f5f5f5;
  font-size: 0.9rem;
  text-decoration: none;
  color: #333;
}

.p-actressKanaNav a:hover {
  background: #333;
  color: #fff;
}

/* 行ブロック */
.p-actressKanaBlock {
  margin-top: 40px;
}

.p-actressKanaBlock__title {
  font-size: 1.2rem;
  margin-bottom: 16px;
  border-left: 2px solid #e53935; /* お好みで */
  padding-left: 8px;
}

/* 女優一覧（ひと文字ごとのブロック）のグリッド表示 */
.p-actressArchive__list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr)); /* PC：6列 */
  gap: 32px 15px;
  margin-top: 32px;
}

/* カード共通 */
.p-actressArchive__item {
  list-style: none;
}

.p-actressArchive__link {
  display: block;
  text-align: center;
  text-decoration: none;
}

/* サムネ画像 */
.p-actressArchive__thumb img {
  width: 100%;
  height: auto;
  border-radius: 18px;
  object-fit: cover;
  display: block;
}

/* 名前 */
.p-actressArchive__name {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.4;
  color: #666666;
}

/* タブレット：4列 */
@media (max-width: 1024px) {
  .p-actressArchive__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* スマホ：2列 */
@media (max-width: 600px) {
  .p-actressArchive__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* 女優ページ：出演作品＋その他のおすすめ作品のタイトルを4行で省略 */
.p-actressWorks__name,
.p-worksShelf__name {
  display: -webkit-box;
  -webkit-line-clamp: 4;      /* 最大4行表示 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;    /* 省略部分を … に */
}

/* 人気作品ランキングの順位バッジ */
.p-makerWorks__rank {
  font-weight: 700;
  font-size: 1.4rem;
  min-width: 32px;
  text-align: center;
  margin-right: 12px;
  color: #fff;
  background: #ff6b6b; /* お好みで */
  border-radius: 999px;
  padding: 4px 10px;
  align-self: flex-start;
}

/* ランキング用：サムネ左上の順位バッジ */
.p-makerWorks__thumb {
  position: relative;
}

.p-makerWorks__rankBadge {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #ff6b6b;
  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 3px #fff; /* 白い縁取り。不要なら消してOK */
}

/* ==========================
   人気作品ランキング（共通）
   ========================== */

/* セクション全体の余白 */
.p-makerWorks {
  margin-top: 32px;
}

/* カード一覧 */
.p-makerWorks__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px; /* カードとカードの間隔（TOP と同じくらいに） */
}

/* 各カード本体 */
.p-makerWorks__item {
  background: #fff;
  border-radius: 20px; /* お好みで 16〜24px くらい */
  overflow: hidden;
  /* シャドウ完全ナシ、枠線もナシで TOP と同じフラット感に */
  box-shadow: none;
  border: none;
}

/* カード全体をリンクに */
.p-makerWorks__link {
  display: flex;
  gap: 20px;
  padding: 16px 20px;
  align-items: flex-start;
  text-decoration: none;
  color: inherit;
}

/* サムネイル */
.p-makerWorks__thumb {
  position: relative;
  flex: 0 0 210px; /* サムネの横幅（TOP に近づける） */
}

.p-makerWorks__thumb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* テキスト側 */
.p-makerWorks__body {
  flex: 1 1 auto;
}

/* タイトル */
.p-makerWorks__title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 0 0 8px;
  color: #222;
}

/* 出演：〜 の行 */
.p-makerWorks__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1.3rem;
  line-height: 1.7;
  color: #444;
}

.p-makerWorks__metaItem + .p-makerWorks__metaItem {
  margin-top: 2px;
}

.p-makerWorks__metaLabel {
  font-weight: 600;
}

.p-makerWorks__metaValue {
  font-weight: 400;
}

/* スマホ時は縦並び */
@media (max-width: 768px) {
  .p-makerWorks__link {
    flex-direction: column;
  }

  .p-makerWorks__thumb {
    width: 100%;
    max-width: 100%;
  }
}


/* 左上の順位バッジ（フラット版） */
.p-makerWorks__rankBadge {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 32px;
  height: 32px;
  border-radius: 999px;

  /* シンプルなフラット赤 */
  background: #ff4b4b;  /* ちょっと明るめの赤。気になるなら #ff3b30 とかでもOK */

  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;

  /* 白枠も影も全部なし */
  border: none;
  box-shadow: none;
}

/* ========================================
 * 人気作品ランキング（worksランキングページ用）
 * ===================================== */

/* リスト全体の余白を少しだけ */
.p-makerWorks {
  margin-top: 24px;
}

/* 1行分（カード） ─ 背景フラット＋下線だけ */
.p-makerWorks__item {
  margin: 0; /* 行間の余白はここではつけない */
}

.p-makerWorks__link {
  display: flex;
  align-items: flex-start;
  gap: 16px;

  padding: 16px 0;             /* 上下の余白を少し小さめに */
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid #f1f3f5; /* 各カードの下線 */
}

/* サムネを一回り小さく */
.p-makerWorks__thumbWrap {
  position: relative;
  flex: 0 0 auto;
}

.p-makerWorks__thumb img {
  display: block;
  width: 140px;   /* 画像を小さめに（お好みで 120〜150px） */
  height: auto;
}

/* 順位の丸：サムネ左上に寄せる */
.p-makerWorks__rankBadge {
  position: absolute;
  top: -8px;      /* ちょっとだけ外側に出すと TOP っぽく見えます */
  left: -8px;
  width: 28px;
  height: 28px;
  border-radius: 999px;

  background: #ff4b4b;
  color: #fff;
  font-weight: 700;
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  justify-content: center;

  border: none;
  box-shadow: none;
}

/* テキスト側を少しだけ小さく＆詰める */
.p-makerWorks__body {
  flex: 1 1 auto;
}

.p-makerWorks__title {
  font-size: 1.5rem;    /* タイトルを一回り小さく */
  line-height: 1.4;
  margin: 4px 0 6px;
}

.p-makerWorks__meta {
  font-size: 1.3rem;    /* 「出演：◯◯」など */
  line-height: 1.5;
  color: #555;
}

/* ランキング全体 */
.p-ranking-list {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* ランキングアイテム（TOP と同じ構造を想定） */
.p-ranking-item {
    display: flex;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid #eee;
}

/* 左の画像2枚 */
.p-ranking-thumb {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.p-ranking-thumb img {
    width: 72px;
    height: auto;
    border-radius: 4px;
    object-fit: cover;
}

/* テキスト部分 */
.p-ranking-body {
    flex: 1;
    font-size: 14px;
    line-height: 1.45;
}

/* タイトル */
.p-ranking-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 4px;
}

/* 出演者ラベル */
.p-ranking-cast {
    font-size: 13px;
    color: #666;
}

/* 丸数字（左上固定） */
.p-ranking-number {
    position: absolute;
    top: -6px;
    left: -6px;
    background: #ff5b5b;
    color: #fff;
    font-size: 14px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

/* 丸数字の位置 */
.p-ranking-item {
    position: relative;
}

/* シリーズと完全同じ出演者のスタイル */
.p-makerArchive__cast {
  font-size: 0.9rem !important;
  color: #777 !important;
  margin-top: 4px !important;
  display: block;
}

/* タイトルを最大3行に制御（シリーズ・作品一覧 共通） */
.p-makerArchive__title {
  display: -webkit-box;
  -webkit-line-clamp: 3; /* 最大3行 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ==============================
   Footer layout
============================== */
#footer.l-footer{
  padding: 40px 16px 20px;
}

/* フッターの中身を確実に中央カラム化 */
#footer.l-footer > .p-footerNav{
  width: 100%;
  max-width: 760px;
  margin: 0 auto 28px;
}

/* ===== 回遊メニュー：テーブル風（ランキングは各1行） ===== */
.p-footerNav__primary{
  display: grid;
  grid-template-columns: 1fr 1fr; /* 基本2列 */
  gap: 12px;

  padding: 0;
  margin: 0;
  list-style: none;

  justify-items: stretch;
}

/* 1つ目 / 2つ目（ランキング）を横幅いっぱい */
.p-footerNav__primary li:nth-child(1),
.p-footerNav__primary li:nth-child(2),
.p-footerNav__primary li:nth-child(7),
.p-footerNav__primary li:nth-child(8){
  grid-column: 1 / -1;
}

/* セル */
.p-footerNav__primary a{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 14px 12px;
  border-radius: 12px;

  background: #fff;
  box-shadow: 0 0 0 1px rgba(0,0,0,.08);

  color: #222;
  font-weight: 700;
  text-align: center;
  text-decoration: none;

  transition: transform .08s ease, box-shadow .2s ease;
}

/* ランキングだけ少し目立たせる（色はそのまま） */
.p-footerNav__primary li:nth-child(1) a,
.p-footerNav__primary li:nth-child(2) a,
.p-footerNav__primary li:nth-child(7) a,
.p-footerNav__primary li:nth-child(8) a{
  border: 1px solid #e53935;
  color: #e53935;
}

/* hover（PCのみ） */
@media (hover:hover){
  .p-footerNav__primary a:hover{
    transform: translateY(-1px);
    box-shadow:
      0 6px 18px rgba(0,0,0,.08),
      0 0 0 1px rgba(0,0,0,.10);
  }
}

/* 下段（補助リンク） */
.p-footerNav__secondary{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;

  padding: 0;
  margin: 18px 0 0;
  list-style: none;

  font-size: 13px;
  color: #777;
}

.p-footerNav__secondary a{
  color: inherit;
  text-decoration: none;
}

.p-footerNav__secondary a:hover{
  text-decoration: underline;
}

/* コピーライト */
.p-footerCopyright{
  text-align: center;
  font-size: 12px;
  color: #999;
  margin: 0;
}

/* ==============================
   SP（スマホ）
   ※ PCと同じ構成を維持
============================== */
@media (max-width: 600px){
  #footer.l-footer{
    padding: 32px 16px 18px;
  }

  .p-footerNav__primary{
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  /* ランキングはスマホでも横幅いっぱい */
  .p-footerNav__primary li:nth-child(1),
  .p-footerNav__primary li:nth-child(2){
    grid-column: 1 / -1;
  }
}


/* ランキングだけ少し目立たせる（#e53935の薄いトーン） */
.p-footerNav__primary li:nth-child(1) a,
.p-footerNav__primary li:nth-child(2) a{
	border: 1px solid #e53935;
	color: #e53935;
}

/* hover（PC） */
@media (hover:hover){
	.p-footerNav__primary a:hover{
		transform: translateY(-1px);
		box-shadow: 0 6px 18px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.10);
	}
}

/* 下段（補助リンク） */
.p-footerNav__secondary{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;

	padding: 0;
	margin: 18px 0 0;
	list-style: none;

	font-size: 13px;
	color: #777;
}

.p-footerNav__secondary a{
	color: inherit;
	text-decoration: none;
}

.p-footerNav__secondary a:hover{
	text-decoration: underline;
}

/* コピーライト */
.p-footerCopyright{
	text-align: center;
	font-size: 12px;
	color: #999;
	margin: 0;
}

/* SP：全部1列 */
@media (max-width: 600px){
	#footer.l-footer{
		padding: 32px 16px 18px;
	}

	/* スマホ：PCと同じ（2列＋ランキングは横幅いっぱい） */
@media (max-width: 600px){
  .p-footerNav__primary{
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  /* ランキング2つはスマホでも横幅いっぱい */
  .p-footerNav__primary li:nth-child(1),
  .p-footerNav__primary li:nth-child(2){
    grid-column: 1 / -1;
  }
}

}
#footer .p-footerNav{ margin-left:auto !important; margin-right:auto !important; }

/* ===== サイドバーの検索（WPブロック検索）を中央＆整える ===== */
#sidebar .wp-block-search{
  max-width: 420px;
  margin: 0 auto 28px;  /* 中央寄せ */
}

/* 入力＋ボタンを横並び＆中央に */
#sidebar .wp-block-search__inside-wrapper{
  display: flex;
  justify-content: center;
  gap: 8px;
}

/* 入力 */
#sidebar .wp-block-search__input{
  flex: 1;
  height: 48px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.15);
  font-size: 14px;
}

/* ボタン */
#sidebar .wp-block-search__button{
  height: 48px;
  padding: 0 16px;
  border-radius: 12px;
  border: none;
  font-weight: 700;
  cursor: pointer;
}

/* フォーカス時 */
#sidebar .wp-block-search__input:focus{
  outline: none;
  border-color: rgba(229,57,53,.45);
}


/* 検索結果のサムネが消える事故の保険 */
.search .p-postList__thumb img,
.search .c-postThumb__img img,
.search .wp-post-image{
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: auto !important;
  max-width: 100% !important;
}

/* ===== 検索結果：ランキング風リスト ===== */
.p-rankingList{
  margin-top: 18px;
	margin-bottom: 30px;
}

.p-rankingItem{
  padding: 18px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.p-rankingItem__link{
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 18px;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.p-rankingItem__thumbs{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.p-rankingItem__thumb{
  border-radius: 10px;
  overflow: hidden;
  background: #f3f3f3;
}

.p-rankingItem__img{
  width: 100%;
  height: auto;
  display: block;
}

.p-rankingItem__title{
  font-size: 18px;
  font-weight: 800;
  line-height: 1.45;
  margin: 0 0 8px;
}

.p-rankingItem__meta{
  margin: 0;
  color: #666;
  font-size: 14px;
}

/* ===== 検索結果：ランキング簡易レイアウト（崩れ対策版） ===== */

/* まず「リンク」を強制で2カラムにする（SWELL側に上書きされやすいので !important） */
.p-rankingItem__link{
  display: grid !important;
  grid-template-columns: 150px 1fr;
  gap: 14px;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

/* サムネの箱：ここで比率を固定して「縦に伸びる事故」を止める */
.p-rankingItem__thumb,
.p-rankingItem__img{
  width: 150px;
  border-radius: 14px;
  overflow: hidden;
  background: #f3f3f3;
}

/* SP */
@media (max-width: 750px){
.p-rankingItem__thumb,
.p-rankingItem__img{
  width: 100%;
}
	
  .p-rankingItem__link{
    grid-template-columns: 1fr;
	  display: block !important;
  }
  .p-rankingItem__thumbs{
    grid-template-columns: 1fr 1fr;
  }
}

/* 画像は箱いっぱいに */
.p-rankingItem__thumb img,
.p-rankingItem__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 右側テキスト */
.p-rankingItem__title{
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
  margin: 0 0 8px;
}

.p-rankingItem__meta{
  font-size: 14px;
  color: #666;
  margin: 0;
}

/* PC */
@media (min-width: 768px){
  .p-rankingItem__link{
    grid-template-columns: 180px 1fr;
    gap: 18px;
  }
  .p-rankingItem__thumb,
  .p-rankingItem__img{
    width: 180px;
  }
	
/* 右側テキスト */
.p-rankingItem__title{
  font-size: 18px;
}
}

.p-rankingItem__title {

  /* ===== 2行以上を … にする ===== */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* ← ここが行数 */
  overflow: hidden;
  margin-top: 10px;
}

.p-actressWorks__name, .p-worksShelf__name, .p-frontWorks__title {

  /* ===== 2行以上を … にする ===== */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* ← ここが行数 */
	overflow: hidden;
	font-size: 12px;
	padding: 0 10px;
}

@media (max-width: 768px){
.p-frontRank__title {
  /* ===== 2行以上を … にする ===== */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* ← ここが行数 */
  overflow: hidden;
}
}



/* サムネ枠：高さを完全に揃える */
.p-actressWorks__thumb{
  width: 100%;
  height: 150px;                /* 好みで 200〜240px でもOK */
  overflow: hidden;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 縦長：左右に余白（切らない） */
.p-actressWorks__thumb img.thumb-img.is-portrait{
  width: 100%;
  height: 100%;
  object-fit: cover;          /* 横長と同じ */
  object-position: top center; /* ★ 上を基準に切る */
  display: block;
}

/* 横長：上下余白なし（今まで通り） */
.p-actressWorks__thumb img.thumb-img.is-landscape{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 768px){
  .p-actressWorks__thumb{
    height: 255px;
  }
}

/* =========================================================
   作品ランキングだけ（p-frontRank--works）
   縦長：上だけ表示 / 横長：高さに合わせてトリミング（上下余白なし）
========================================================= */
.p-frontRank--works .p-frontRank__thumb{
  width: 220px;          /* 好みで 170px でもOK */
  height: 150px;         /* 好みで調整OK */
  overflow: hidden;
  border-radius: 12px;
  background: #f2f2f2;
  position: relative;
  flex: 0 0 220px;
}

@media (max-width: 768px){
.p-frontRank--works .p-frontRank__thumb{
  width: 100%;          /* 好みで 170px でもOK */
  height: 250px;         /* 好みで調整OK */
}
}


.p-frontRank--works .p-frontRank__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* はみ出しは切る */
  object-position: top;     /* 縦長は上を見せる */
  display: block;
}

/* aを基準にバッジを絶対配置 */
.p-frontRank--works .p-frontRank__link{
  position: relative;
  display: flex; /* 既にflexでもOK */
}
@media (max-width: 768px){
	.p-frontRank--works .p-frontRank__link{
		display: block; /* 既にflexでもOK */
}
}

/* バッジはthumbの外側でも見切れない位置に */
.p-frontRank--works .p-frontRank__badge{
  position: absolute;
  left: -5px;
  top: -5px;
  z-index: 3;
}


@media (max-width: 768px){
  .p-frontRank--front .p-frontRank__link{
    display: block;
  }
  .p-frontRank--front .p-frontRank__thumb{
    width: 100%;
    flex: none;
    max-width: none;
    margin-bottom: 10px;
  }
  .p-frontRank--front .p-frontRank__body{
    width: 100%;
  }
}


/* =========================
   フロントランキング：安全な見た目に戻す
========================= */

/* フロントは横並び（PC） */
.p-frontRank--front .p-frontRank__link{
  display: flex !important;
  align-items: flex-start;
  gap: 14px;
}

/* フロントのサムネ：PCは左固定幅 */
.p-frontRank--front .p-frontRank__thumb{
  width: 220px !important;
  height: 150px !important;      /* さっき調整した高さ */
  flex: 0 0 220px !important;
  max-width: 220px !important;
  overflow: hidden !important;
  border-radius: 12px;
  background: #f2f2f2;
  position: relative;
}

@media (max-width: 768px){
	.p-frontRank--front .p-frontRank__thumb{
	  height: 240px !important;      /* さっき調整した高さ */
}
}

.p-frontRank--front .p-frontRank__thumb img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block;
}

/* フロントSP：縦並び（画像の下にテキスト） */
@media (max-width: 768px){
  .p-frontRank--front .p-frontRank__link{
    display: block !important;
  }
  .p-frontRank--front .p-frontRank__thumb{
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    margin-bottom: 10px;
  }
}

/* リンク全体を基準点にする（thumbの中にbadgeがいなくても効く） */
.p-frontRank__link{
  position: relative !important;
}

/* badgeをリンク左上に固定 */
.p-frontRank__badge{
  position: absolute !important;
  top: -5px !important;
  left: -5px !important;
  z-index: 100 !important;
}

/* どこかで overflow:hidden されて切れるのを防ぐ */
.p-frontRank__item,
.p-frontRank__link,
.p-frontRank__thumb{
  overflow: visible !important;
}

/* 作品ランキングページ：タイトルを最大7行で … にする */
.page-template-page-works-ranking .p-frontRank__title{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7; /* ← 7行 */
  overflow: hidden;
	margin-top: 10px;
  /* 念のため */
  word-break: break-word;
	
 /* ===== 2行以上を … にする ===== */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* ← ここが行数 */
  overflow: hidden;
}

/* =========================
  あなたにおすすめの作品（worksShelf）
  縦長が混ざっても高さを揃え、上だけ表示する
========================= */

/* サムネ枠を固定高さ＆トリミング */
.p-worksShelf__thumb{
  width: 100%;
  height: 150px !important;      /* ← PCの高さ（好みで調整） */
  overflow: hidden !important;
  border-radius: 14px;
}

/* img 側は「上基準で切り抜き」 */
.p-worksShelf__thumb > img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
}

/* SPは少し高さ変えるなら */
@media (max-width: 768px){
  .p-worksShelf__thumb{
    height: 120px !important;
  }
}

/* 出演（女優名）を3行で省略（強制上書き版） */
.p-frontWorks__meta .p-frontWorks__metaItem{
  min-width: 0;
  display: -webkit-box !important;   /* ← 打ち消されてるので !important */
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  word-break: break-word;
}

.p-rankingItem__meta{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* ← 行数（必要なら変更） */
  overflow: hidden;
}

/* ボタン群を中央に・縦並びの間隔 */
.p-front__heroLinks{
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
}

/* オナサポ：スマホでは“幅広”で主役にする */
.p-front__heroLinks .p-front__heroBtn{
  width: min(320px, 100%);
  text-align: center;
}

/* 下2つ：2カラムで幅を揃える */
.p-front__heroSub{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  width: min(320px, 100%);
}

/* 下のボタンも幅いっぱいに */
.p-front__heroSub .p-front__heroBtn02{
  width: 100%;
  text-align: center;
}

/* ピックアップ女優 */
.p-frontActress{
  gap: 24px;
}
.p-frontActress__item{
  text-align: center;
}
.p-frontActress__thumb img{
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 999px;
  margin: 0 auto;
  display: block;
}

@media (min-width: 768px){
  .p-frontActress{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    justify-items: center;
  }
}

@media (max-width: 767px){
  .p-frontActress{
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto); /* 3行 */
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }

  .p-frontActress__item{
    width: 140px;
    scroll-snap-align: start;
  }
}

@media (max-width: 767px){
  .p-frontActress{
    padding-left: 16px;
    padding-right: 32px; /* 右に余白 → 続きある感 */
  }
}

/* =========================
  トップ：おすすめ女優（ジャンル別）
  PC：6人表示→以降スクロール
  SP：3人表示→以降スクロール
========================= */

.p-frontActressRail{
  --gap: 18px;
  display: grid;
  gap: var(--gap);

  /* 1行で横に流す */
  grid-auto-flow: column;

  /* PCは「6人がちょうど見える」列幅にする */
  grid-auto-columns: calc((100% - (var(--gap) * 5)) / 6);

  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.p-frontActressRail__item{
  scroll-snap-align: start;
}

/* 画像・名前はそのままでOK（あなたの現状CSSを流用） */
.p-frontActressRail__thumb img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
}
.p-frontActressRail__name {
  margin: 10px 0 10px;
  font-size: .95rem;
  text-align: center;
	color: #333333;
}

/* SP：3人がちょうど見える */
@media (max-width: 768px){
  .p-frontActressRail{
    --gap: 14px;
    grid-auto-columns: calc((100% - var(--gap)) / 3);
  }
}

/* （任意）スクロールバーを薄く/非表示寄りに */
.p-frontActressRail{
  scrollbar-width: thin;
}
.p-frontActressRail::-webkit-scrollbar{
  height: 8px;
}

.p-frontActressPickup {
	margin-bottom: 40px;
}

.p-frontActressPickup__title {
    font-size: 1.2em;
    margin-bottom: 10px;
}


@media (max-width: 768px){
  .p-actressWorks__list{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* =========================
  Actress Pickups（おすすめ3本）棚：完成版
========================= */

.p-actressPickups__title {
	font-size: 1.6rem;
	margin-bottom: 15px;
}

.p-actressPickups {
	margin-top: 50px;
}

.p-actressPickups__list{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 60%;
  gap: 12px;
  overflow-x: auto;

  /* 左右余白 + スクロール余白 */
  padding: 0 16px 12px;
  scroll-padding-left: 16px;

  /* スマホの横スクロールを気持ちよく */
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;

  /* スクロールバー隠す（任意） */
  scrollbar-width: none;
}
.p-actressPickups__list::-webkit-scrollbar{ display:none; }

/* 少し広いスマホ */
@media (min-width: 420px){
  .p-actressPickups__list{ grid-auto-columns: 38%; }
}

/* PCは固定幅 */
@media (min-width: 768px){
  .p-actressPickups__list{
    grid-auto-columns: 250px;
    gap: 14px;
  }
}

.p-actressPickups__item{
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
}

.p-actressPickups__link{
  display: block;
  text-decoration: none;
  color: inherit;
}

.p-actressPickups__thumb{
  border-radius: 14px;
  overflow: hidden;
  background: transparent;
}

.p-actressPickups__thumb img{
  width: 100%;
  height: auto;
  display: block;
}

/* タイトルは2行固定で高さを揃える */
.p-actressPickups__name{
  margin: 8px 2px 0;
  font-size: 12px;
  line-height: 1.35;
  min-height: calc(1.35em * 2);

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (hover:hover){
  .p-actressPickups__link:hover .p-actressPickups__thumb{
    transform: translateY(-2px);
    transition: transform .15s ease;
  }
}


/* actress works pagination */
.p-pagination ul{
  display:flex;
  gap:10px;
  justify-content:center;
  padding:0;
  margin:18px 0 0;
  list-style:none;
}

ul.page-numbers {
    box-shadow: none !important;
}

.p-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 14px;
  border-radius:999px;
  background:#ffffff;
  text-decoration:none;
  font-weight:700;
}

.p-pagination .page-numbers.current{
  background:#0e4c56; /* 好きな色に */
  color:#fff;
}

.p-pagination .page-numbers.dots{
  background:transparent;
  min-width:auto;
  padding:0;
}

/* ページネーションが下のカードリンクに負けないよう前面に出す */
.p-pagination{
  position: relative;
  z-index: 20;
  margin-top: 18px;
}

/* ボタン自体もクリック優先に */
.p-pagination a,
.p-pagination span{
  position: relative;
  z-index: 21;
	color: #0e4c56;
}

/* 作品グリッドがページネーションに被さらないようにする保険 */
.p-actressWorks__list{
  position: relative;
  z-index: 1;
}


/* =========================
   single-works：動画/サムネを「本文（タイトル）幅」に揃える（整理版）
   ========================= */

/* タイトルと本文の幅を揃える（ここで“基準幅”を決める） */
.single-works .p-work__header,
.single-works .p-work__body{
  max-width: 860px;          /* 好みで 760〜980 */
  margin-left: auto;
  margin-right: auto;
}

/* 動画：比率枠（PCは操作バー分を足す） */
.single-works .p-work__video{
  position: relative;
  width: 100%;
  height: 0
  padding-top: calc(56.25% + 180px); /* ←PCで下切れ対策（あなたの結論） */
  overflow: hidden;
  margin: 16px 0 24px;
}

/* iframe を枠に100%フィット */
.single-works .p-work__video iframe{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;   /* 640px制限の殺し */
  border: 0;
  display: block;
}

/* サムネ：動画と同幅 */
.single-works .p-work__thumb{
  width: 100%;
  margin: 0 0 16px;
}
.single-works .p-work__thumb img{
  width: 100%;
  height: auto;
  display: block;
}

/* SP：+180px はデカすぎるので小さくする（縦伸び対策） */
@media (max-width: 959px){
  .single-works .p-work__video{
    padding-top: calc(56.25% + 180px); /* ここは 0〜120px で微調整 */
  }
}

/* 念のため：過去の横並びCSSが残ってても無効化 */
@media (min-width: 960px){
  .single-works .p-work__media{
    display: block !important;
  }
}

/* サムネが小さくなるのを強制的に潰す（single-works専用） */
.single-works .p-work__thumb{
  width: 100% !important;
  max-width: none !important;   /* ←ここ重要 */
}

.single-works .p-work__thumb a{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

.single-works .p-work__thumb img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;   /* ←640制限などを殺す */
}

/* works動画：比率固定をやめて自然表示に戻す */
.single-works .p-work__video{
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  padding-top: 0 !important;  /* ←これが重要 */
  overflow: visible !important;
  margin: 0 auto 24px !important;
}

.single-works .p-work__video iframe{
  position: relative !important;
  width: 100% !important;
  height: auto !important;   /* ←自然高さ */
}

/* ================================
   single-works 動画：切れない安定版（iframe主導）
   既存の padding-top/absolute を全部殺す
================================ */

.single-works .p-work__video{
  position: static !important;
  height: auto !important;
  padding-top: 0 !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  margin: 16px auto 24px !important;
}

/* iframeを“普通の要素”として扱う（absolute禁止） */
.single-works .p-work__video iframe{
  position: static !important;
  inset: auto !important;

  width: 100% !important;
  max-width: 100% !important;   /* ← 640制限も殺す */
  height: auto !important;

  /* ここが肝：iframeに比率を持たせる */
  aspect-ratio: 16 / 9 !important;

  display: block !important;
  border: 0 !important;
}



/* =========================
   single-works：動画/サムネを「本文（タイトル）幅」に揃える（最終版・切れない）
   ========================= */

/* タイトルと本文の幅を揃える（基準幅） */
.single-works .p-work__header,
.single-works .p-work__body{
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

/* 動画：比率枠（ここが本体） */
.single-works .p-work__video{
  position: relative !important;
  width: 100% !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 16px 0 24px !important;

  /* PC: 操作バー分を足す（まずは180px） */
  padding-top: calc(56.25% + 180px) !important;
}

/* iframeは枠に100%フィット（absolute固定） */
.single-works .p-work__video iframe{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;   /* 640px制限などを殺す */
  border: 0 !important;
  display: block !important;
}

/* SP: 足し込み量を調整（まずは+120px） */
@media (max-width: 959px){
  .single-works .p-work__video{
    padding-top: calc(56.25% + 120px) !important; /* 80〜160で調整 */
  }
}

/* サムネ：動画と同幅（縮む系を殺す） */
.single-works .p-work__thumb,
.single-works .p-work__thumb a{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 16px !important;
}
.single-works .p-work__thumb img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
}

/* 念のため：過去の横並びが残ってても無効化 */
@media (min-width: 960px){
  .single-works .p-work__media{
    display: block !important;
  }
}

/* SP：高さ720px問題を潰しつつ、下の操作バー分だけ“可変で”足す */
@media (max-width: 959px){
  .single-works .p-work__video{
    position: relative !important;
    width: 100% !important;
    height: 0 !important;

    /* 少しだけ高さを追加 */
    padding-top: calc(56.25% + 90px) !important;

    overflow: hidden !important;
    margin: 16px 0 24px !important;
  }

  .single-works .p-work__video iframe{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
  }
}

.p-actress__description {     margin: 24px 0;
    padding: 20px;
    background-color: #f4f4f4;
    border-radius: 10px; }
.p-actress__descriptionTitle { font-size: 1.1rem; margin: 0 0 8px; }
.p-actress__descriptionText p { margin: 0; line-height: 1.8; }

.p-actressRanking__more { margin-top: 16px; }
.p-actressRanking__moreBtn {
  cursor: pointer;
  padding: 12px 16px;
  border-radius: 10px;
  background: #f3f3f3;
  font-weight: 700;
}
.p-actressRanking__list--more { margin-top: 12px; }

.p-worksRanking__more { margin-top: 16px; }
.p-worksRanking__moreBtn{
  cursor:pointer;
  padding:12px 16px;
  border-radius:10px;
  background:#f3f3f3;
  font-weight:700;
}
.p-frontRank--more { margin-top: 12px; }
.p-frontRank__pv { margin-top: 6px; font-size: 0.9em; opacity: .85; }

/* ==============================
   女優ページ：説明＆特徴デザイン統一
================================= */


/* 特徴ブロック */

.p-relatedActresses__title {
	font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
}

.p-actress-features {
	padding: 0 20px;
}

.p-relatedActresses {
  margin-top: 56px;
}

.p-relatedActresses__block + .p-relatedActresses__block {
  margin-top: 40px;
}

.p-relatedActresses__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

@media (min-width: 768px) {
  .p-relatedActresses__list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

.p-relatedActresses__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.p-relatedActresses__name {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.5;
}



.p-frontTagLinks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.p-frontTagLinks__item{
  display:inline-block;
  padding:10px 14px;
  border:1px solid #e53935;
  border-radius:999px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  line-height:1.4;
	color:#e53935;
}

.p-frontMoreLinks{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.p-frontMoreLinks__btn{
  display:inline-block;
  padding:12px 18px;
  border:1px solid #ddd;
  border-radius:999px;
  background:#fff;
  text-decoration:none;
  color:inherit;
  line-height:1.4;
}

@media (max-width: 767px){
  .p-frontNavGrid{
    grid-template-columns:1fr;
  }
}

/* =========================
   works絞り込みモーダル
   ========================= */

.p-worksFilter {
  margin: 0 0 24px;
}

.p-worksFilter__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.p-worksFilter__current {
  margin: 0;
  font-weight: 700;
}

.p-worksFilter__open,
.p-worksFilter__submit,
.p-worksFilter__reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
}

.p-worksFilter__open,
.p-worksFilter__submit {
  border: none;
  cursor: pointer;
}

.p-worksFilter__currentActions {
  margin-top: 10px;
}

.p-worksFilterModal {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.p-worksFilterModal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
}

.p-worksFilterModal__body {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(92vw, 680px);
  max-height: 80vh;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 14px;
  padding: 20px;
}

.p-worksFilterModal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.p-worksFilterModal__title {
  margin: 0;
  font-size: 20px;
}

.p-worksFilterModal__close {
  border: none;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.p-worksFilter__terms {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.p-worksFilter__term {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.5;
}

.p-worksFilter__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body.is-filter-modal-open {
  overflow: hidden;
}

/* =========================
   works絞り込みモーダル
   ========================= */

.p-worksFilter {
  margin: 0 0 24px;
}

.p-worksFilter__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.p-worksFilter__current {
  margin: 0;
  font-weight: 700;
}

.p-worksFilter__currentActions {
  margin-top: 10px;
}

.p-worksFilter__open,
.p-worksFilter__reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
}

.p-worksFilter__open {
  border: none;
  cursor: pointer;
}

.p-worksFilterModal {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.p-worksFilterModal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
}

.p-worksFilterModal__body {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(92vw, 680px);
  max-height: 80vh;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 18px;
  padding: 20px;
}

.p-worksFilterModal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.p-worksFilterModal__title {
  margin: 0;
  font-size: 20px;
}

.p-worksFilterModal__close {
  border: none;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.p-worksFilter__terms {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.p-worksFilter__term {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.5;
}

.p-worksFilter__actions {
  margin-top: 18px;
}

body.is-filter-modal-open {
  overflow: hidden;
}

/* =========================
   ページネーションのスマホ崩れ対策
   ========================= */

.p-pagination {
  margin: 24px 0;
  overflow-x: hidden;
}

.p-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.p-pagination .page-numbers li {
  margin: 0;
  padding: 0;
}

.p-pagination .page-numbers a,
.p-pagination .page-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  min-height: 56px;
  padding: 0 14px;
  box-sizing: border-box;
  text-decoration: none;
  border-radius: 999px;
}

/* スマホだけ少し詰める */
@media (max-width: 767px) {
  .p-pagination .page-numbers {
    gap: 10px;
  }

  .p-pagination .page-numbers a,
  .p-pagination .page-numbers span {
    min-width: 50px;
    min-height: 50px;
    padding: 0 12px;
    font-size: 16px;
  }
}

/* =========================
   ページネーション崩れ対策
   ========================= */

.p-pagination {
  margin: 24px 0;
  overflow: visible;
}

.p-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap !important;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: visible;
}

.p-pagination ul.page-numbers li {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1;
  overflow: visible;
}

.p-pagination ul.page-numbers a,
.p-pagination ul.page-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  min-height: 72px;
  padding: 0 18px;
  box-sizing: border-box;
  line-height: 1;
  text-decoration: none;
  border-radius: 999px;
  overflow: visible;
}

/* テーマ側の変な高さ指定を打ち消す用 */
.p-pagination ul.page-numbers .prev,
.p-pagination ul.page-numbers .next,
.p-pagination ul.page-numbers .current,
.p-pagination ul.page-numbers a.page-numbers,
.p-pagination ul.page-numbers span.page-numbers {
  height: auto !important;
  max-height: none !important;
}

/* スマホ */
@media (max-width: 767px) {
  .p-pagination ul.page-numbers {
    gap: 10px;
  }

  .p-pagination ul.page-numbers a,
  .p-pagination ul.page-numbers span {
    min-width: 64px;
    min-height: 64px;
    padding: 0 16px;
    font-size: 16px;
  }
}

.p-pagination {
  margin: 24px 0 56px;
  overflow: visible;
  position: relative;
  z-index: 1;
}

.p-search,
.c-search,
.search-form,
.widget_search,
.wp-block-search {
  position: relative;
  z-index: 0;
}

.p-pagination + .p-search,
.p-pagination + .c-search,
.p-pagination + .search-form,
.p-pagination + .widget_search,
.p-pagination + .wp-block-search {
  margin-top: 24px;
}

@media (max-width: 767px) {
  .p-pagination {
    margin-bottom: 200px;
  }
}

/* =========================
   トップページ：新着作品のサムネイル比率固定
   縦長画像は上を表示
   ========================= */

.p-frontWorks__thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 10px;
  background: #f5f5f5;
  height:150px;
}

.p-frontWorks__thumb img {
  width: 100%;
  height: 100% !important;
  display: block;
  object-fit: cover;
  object-position: top center;
}