@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.2
    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
*/

@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=Noto+Sans+JP:wght@400;500;700&family=Roboto+Mono:wght@400;500;700&display=swap');

:root{
  --cl-ink:#16191D;
  --cl-navy:#1B3B6F;
  --cl-navy-d:#0E2447;
  --cl-shu:#C0392B;
  --cl-amber:#F0A202;
  --cl-amber-d:#D18A00;
  --cl-ch1:#1F9E5A;   /* 見放題ch（公式の緑） */
  --cl-ch2:#D0272C;   /* デラックス（公式の赤） */
  --cl-ch3:#8E44AD;   /* VRch（公式の紫） */
  --cl-paper:#F1F4F7;
  --cl-surface:#FFFFFF;
  --cl-line:#D5DDE3;
  --cl-muted:#5F6B76;
  --cl-mono:"Roboto Mono","BIZ UDPGothic",monospace;
  --cl-disp:"BIZ UDPGothic","Noto Sans JP",sans-serif;
}

body{font-family:"Noto Sans JP",sans-serif;line-height:1.9;letter-spacing:.02em;color:var(--cl-ink);background:var(--cl-paper)}
h1,h2,h3,h4{font-family:var(--cl-disp);letter-spacing:.01em;line-height:1.5}
.c-headLogo__link{font-family:var(--cl-mono);letter-spacing:.06em}

/* ===== 出典スタンプ（シグネチャー） ===== */
.cl-stamp{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.2em .9em;
  font-family:var(--cl-mono);font-size:.72rem;line-height:1.7;color:var(--cl-muted);
  border-left:2px solid var(--cl-shu);padding:.1em 0 .1em .7em;margin:.5em 0;letter-spacing:.01em}
.cl-stamp b{font-weight:500;color:var(--cl-navy)}
.cl-stamp a{color:var(--cl-muted);text-decoration:underline;text-underline-offset:2px}
.cl-stamp--light{color:rgba(255,255,255,.72);border-left-color:var(--cl-amber)}
.cl-stamp--light b{color:#fff}

/* ===== ヒーロー ===== */
.cl-hero{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,var(--cl-navy-d) 0%,var(--cl-navy) 55%,#27528F 100%);
  padding:2.8rem 2rem 2.4rem;margin:0 0 2.6rem;border-radius:4px}
.cl-hero::after{content:"";position:absolute;inset:auto -60px -120px auto;width:320px;height:320px;
  border-radius:50%;background:rgba(240,162,2,.13)}
.cl-hero__eyebrow{position:relative;z-index:1;display:inline-block;font-family:var(--cl-mono);
  font-size:.7rem;letter-spacing:.12em;color:#0E2447;background:var(--cl-amber);
  padding:.35em .9em;border-radius:2px;margin:0 0 1.1rem;font-weight:500}
.cl-hero__ttl{position:relative;z-index:1;font-size:clamp(1.55rem,3.7vw,2.35rem);font-weight:700;
  line-height:1.45;margin:0 0 1rem;color:#fff}
.cl-hero__ttl em{font-style:normal;background:linear-gradient(transparent 62%,rgba(240,162,2,.55) 62%)}
.cl-hero__lead{position:relative;z-index:1;font-size:.95rem;color:rgba(255,255,255,.92);
  margin:0 0 1.3rem;max-width:46em;line-height:1.95}
.cl-hero__lead strong{color:#fff;background:rgba(255,255,255,.12);padding:.1em .3em;border-radius:2px}
.cl-hero__note{position:relative;z-index:1;font-size:.75rem;color:rgba(255,255,255,.62);margin:.2rem 0 0;line-height:1.8}

/* ===== プランカード ===== */
.cl-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:1.5rem 0 1.2rem}
.cl-plan{position:relative;background:var(--cl-surface);border:1px solid var(--cl-line);
  border-radius:4px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 1px 3px rgba(16,32,56,.06);transition:box-shadow .2s,transform .2s}
.cl-plan:hover{box-shadow:0 6px 18px rgba(16,32,56,.12);transform:translateY(-2px)}
.cl-plan__head{padding:.75rem 1rem;color:#fff;font-family:var(--cl-disp);font-weight:700;font-size:1rem;
  display:flex;align-items:center;justify-content:space-between;gap:.5em}
.cl-plan--ch1 .cl-plan__head{background:var(--cl-ch1)}
.cl-plan--ch2 .cl-plan__head{background:var(--cl-ch2)}
.cl-plan--ch3 .cl-plan__head{background:var(--cl-ch3)}
.cl-plan__tag{font-family:var(--cl-mono);font-size:.63rem;font-weight:500;letter-spacing:.04em;
  background:rgba(255,255,255,.22);padding:.25em .6em;border-radius:99px;white-space:nowrap}
.cl-plan__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.cl-plan__price{font-family:var(--cl-mono);font-weight:700;font-size:2.05rem;line-height:1.1;
  letter-spacing:-.02em;color:var(--cl-ink)}
.cl-plan__price span{font-size:.78rem;font-weight:400;margin-left:.25em;color:var(--cl-muted)}
.cl-plan__rows{list-style:none;margin:.9rem 0 0;padding:0;font-size:.79rem;border-top:1px solid var(--cl-line)}
.cl-plan__rows li{display:flex;justify-content:space-between;gap:.6em;padding:.45em 0;
  border-bottom:1px dotted var(--cl-line);line-height:1.6}
.cl-plan__rows .k{color:var(--cl-muted)}
.cl-plan__rows .v{font-family:var(--cl-mono);font-size:.84rem;text-align:right;font-weight:500}
.cl-plan__for{font-size:.79rem;color:#2A3138;margin:.85rem 0 1rem;line-height:1.8;flex:1}
.cl-plan__btn{display:block;text-align:center;background:var(--cl-amber);color:#231A00 !important;
  font-family:var(--cl-disp);font-weight:700;font-size:.85rem;text-decoration:none !important;
  padding:.75em 1em;border-radius:3px;transition:background .2s}
.cl-plan__btn:hover{background:var(--cl-amber-d)}

/* ===== CTA ===== */
.cl-cta{display:inline-flex;align-items:center;gap:.6em;background:var(--cl-amber);color:#231A00 !important;
  font-family:var(--cl-disp);font-weight:700;font-size:1rem;text-decoration:none !important;
  padding:.95em 2em;border-radius:3px;box-shadow:0 3px 0 var(--cl-amber-d);transition:.15s}
.cl-cta:hover{background:var(--cl-amber-d);box-shadow:0 1px 0 var(--cl-amber-d);transform:translateY(2px)}
.cl-cta__sub{display:block;font-size:.73rem;color:var(--cl-muted);margin-top:.6rem;font-family:var(--cl-mono)}

/* ===== セクション ===== */
.cl-sec{margin:3.2rem 0}
.cl-sec__ttl{display:flex;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:700;
  margin:0 0 .4rem;line-height:1.5;color:var(--cl-ink)}
.cl-sec__ttl::before{content:"";width:6px;height:1.35em;background:linear-gradient(var(--cl-navy),var(--cl-amber));border-radius:99px;flex:none}
.cl-sec__sub{font-size:.86rem;color:var(--cl-muted);margin:0 0 1.3rem;padding-left:1.2rem;line-height:1.85}

/* ===== ガイドカード ===== */
.cl-guides{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cl-guide{display:block;background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:4px;
  padding:1.1rem 1.2rem;text-decoration:none !important;color:inherit !important;position:relative;
  box-shadow:0 1px 3px rgba(16,32,56,.05);transition:.2s;border-top:3px solid var(--cl-navy)}
.cl-guide:hover{box-shadow:0 6px 18px rgba(16,32,56,.12);transform:translateY(-2px)}
.cl-guide__q{display:inline-block;font-family:var(--cl-mono);font-size:.68rem;color:#fff;
  background:var(--cl-navy);padding:.28em .7em;border-radius:2px;margin:0 0 .7rem;letter-spacing:.03em}
.cl-guide__ttl{font-family:var(--cl-disp);font-weight:700;font-size:1.02rem;margin:0 0 .5rem;
  color:var(--cl-navy);line-height:1.55}
.cl-guide__txt{font-size:.82rem;color:#2A3138;margin:0;line-height:1.85}
.cl-guide__more{display:inline-block;margin-top:.7rem;font-family:var(--cl-mono);font-size:.72rem;color:var(--cl-shu)}
.cl-guide--soon{opacity:.75;border-top-color:var(--cl-line);background:#FAFBFC}
.cl-guide--soon .cl-guide__q{background:var(--cl-muted)}

/* ===== 訂正ブロック ===== */
.cl-fix{background:#FFF8F7;border:1px solid #F0CFC9;border-left:5px solid var(--cl-shu);
  border-radius:4px;padding:1.05rem 1.2rem;margin:0 0 12px}
.cl-fix__chip{display:inline-block;font-family:var(--cl-mono);font-size:.66rem;color:#fff;
  background:var(--cl-shu);padding:.25em .7em;border-radius:2px;margin:0 0 .6rem;letter-spacing:.04em}
.cl-fix__claim{font-family:var(--cl-disp);font-weight:700;font-size:1rem;margin:0 0 .55rem;
  color:var(--cl-ink);line-height:1.6}
.cl-fix__body{font-size:.85rem;margin:0;line-height:1.9}

/* ===== 方針リスト ===== */
.cl-policy{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cl-policy li{background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:4px;
  padding:.95rem 1.1rem .95rem 2.6rem;font-size:.87rem;line-height:1.85;position:relative}
.cl-policy li::after{content:"";position:absolute;left:1.05rem;top:1.45rem;width:8px;height:8px;
  border-radius:50%;background:var(--cl-amber)}
.cl-policy b{color:var(--cl-navy)}

/* ===== 一覧テーブル ===== */
.cl-table{width:100%;border-collapse:collapse;font-size:.83rem;background:var(--cl-surface);
  border:1px solid var(--cl-line);border-radius:4px;overflow:hidden}
.cl-table th,.cl-table td{padding:.65em .8em;border-bottom:1px solid var(--cl-line);text-align:left}
.cl-table thead th{background:var(--cl-navy);color:#fff;font-family:var(--cl-disp);font-weight:700;font-size:.8rem}
.cl-table tbody th{background:#F7F9FB;color:var(--cl-muted);font-weight:500;white-space:nowrap}
.cl-table .num{font-family:var(--cl-mono);font-weight:500}
.cl-table .yes{color:var(--cl-ch1);font-weight:700}
.cl-table .no{color:var(--cl-shu);font-weight:700}

.cl-mono{font-family:var(--cl-mono)}
.cl-small{font-size:.79rem;color:var(--cl-muted);line-height:1.85}
.cl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

@media (max-width:900px){
  .cl-plans{grid-template-columns:1fr}
  .cl-guides{grid-template-columns:1fr}
  .cl-hero{padding:2rem 1.2rem 1.8rem;border-radius:0;margin-inline:-1rem}
}
@media (prefers-reduced-motion:reduce){
  .cl-guide,.cl-cta,.cl-plan{transition:none}
  .cl-guide:hover,.cl-plan:hover,.cl-cta:hover{transform:none}
}

/* ================================
   SWELLの既定スタイルを上書き
   ================================ */
.post_content h1.cl-hero__ttl{background:none !important;border:0 !important;border-radius:0 !important;
  padding:0 !important;margin:0 0 1rem !important;color:#fff !important;
  font-family:var(--cl-disp) !important;font-size:clamp(1.55rem,3.7vw,2.35rem) !important;
  font-weight:700 !important;line-height:1.45 !important}
.post_content h1.cl-hero__ttl::before,.post_content h1.cl-hero__ttl::after{display:none !important}
.post_content h2.cl-sec__ttl{background:none !important;border:0 !important;border-radius:0 !important;
  padding:0 !important;margin:0 0 .4rem !important;color:var(--cl-ink) !important;
  font-family:var(--cl-disp) !important;font-size:1.3rem !important;font-weight:700 !important;
  line-height:1.5 !important;display:flex !important;align-items:center;gap:.6rem}
.post_content h2.cl-sec__ttl::after{display:none !important}
.post_content h2.cl-sec__ttl::before{content:"" !important;display:block !important;position:static !important;
  width:6px !important;height:1.35em !important;background:linear-gradient(var(--cl-navy),var(--cl-amber)) !important;
  border-radius:99px !important;flex:none}
.post_content ul.cl-plan__rows,.post_content ul.cl-policy{list-style:none !important;padding-left:0 !important;margin-left:0 !important}
.post_content ul.cl-plan__rows li::before,.post_content ul.cl-policy li::before{content:none !important;display:none !important}
.post_content ul.cl-plan__rows li{padding:.45em 0 !important;background:none}
.post_content ul.cl-policy li{background:var(--cl-surface) !important;padding:.95rem 1.1rem .95rem 2.6rem !important}
.post_content a.cl-guide,.post_content a.cl-cta,.post_content a.cl-plan__btn{text-decoration:none !important}
.post_content a.cl-cta,.post_content a.cl-plan__btn{background:var(--cl-amber) !important;color:#231A00 !important}
.post_content a.cl-cta:hover,.post_content a.cl-plan__btn:hover{background:var(--cl-amber-d) !important}
.post_content section.cl-sec{margin:3.2rem 0 !important}
.post_content section.cl-hero{margin:0 0 2.6rem !important}
.post_content table.cl-table{margin:0 !important}
.post_content p.cl-hero__eyebrow,.post_content p.cl-sec__sub,.post_content p.cl-small,
.post_content p.cl-plan__price,.post_content p.cl-plan__for,.post_content p.cl-guide__q,
.post_content p.cl-guide__ttl,.post_content p.cl-guide__txt,.post_content p.cl-fix__claim,
.post_content p.cl-fix__body,.post_content p.cl-fix__chip{margin-block:0}
.post_content p.cl-hero__eyebrow{margin:0 0 1.1rem}
.post_content p.cl-sec__sub{margin:0 0 1.3rem}


/* ================================================
   作品ページ（fdb-item__*）
   マークアップは fanza-db プラグインの
   templates/single-fdb_item.php が出力する
   ================================================ */
.fdb-item__article{max-width:820px;margin-inline:auto}

.fdb-item__title{font-family:var(--cl-disp);font-size:clamp(1.35rem,3vw,1.9rem);font-weight:700;line-height:1.5;margin:0 0 .8rem;color:var(--cl-ink)}
.fdb-item__disclosure{font-size:.75rem;color:var(--cl-muted);line-height:1.8;margin:0 0 1.8rem;padding:.7rem .9rem;background:#EEF2F5;border-left:3px solid var(--cl-muted);border-radius:2px}

/* 共通のセクション外観 */
.fdb-item__availability,.fdb-item__pricing,.fdb-item__info,.fdb-item__sample-movie,
.fdb-item__sample-images,.fdb-item__price-history,.fdb-item__review-history,
.fdb-item__actress-ratio,.fdb-item__related,.fdb-item__cta,.fdb-item__guides{
  background:var(--cl-surface);border:1px solid var(--cl-line);border-radius:4px;
  padding:1.1rem 1.2rem;margin:0 0 14px;box-shadow:0 1px 3px rgba(16,32,56,.05);
}
.fdb-item__article h2{
  font-family:var(--cl-disp);font-size:1rem;font-weight:700;color:var(--cl-navy);
  margin:0 0 .8rem;padding:0 0 .5rem;border-bottom:1px solid var(--cl-line);line-height:1.5;
}

/* 視聴ステータス：このページの主役 */
.fdb-item__availability{border-top:3px solid var(--cl-navy)}
.fdb-item__availability ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fdb-item__availability li{
  font-family:var(--cl-disp);font-size:.85rem;font-weight:700;color:#fff;
  background:var(--cl-muted);padding:.45em 1em;border-radius:99px;line-height:1.5;
}
/* 見放題対象は公式のチャンネル色で塗る */
.fdb-item__availability li:has(+ li),
.fdb-item__availability li{background:var(--cl-muted)}
.fdb-item__availability li:is(:first-child){background:var(--cl-ch2)}

/* 損益分岐：数字を等幅で見せる */
.fdb-item__pricing{border-top:3px solid var(--cl-amber)}
.fdb-item__pricing p{margin:0 0 .6rem;font-size:.87rem;line-height:1.85}
.fdb-item__pricing p:first-of-type{
  font-family:var(--cl-mono);font-size:1.15rem;font-weight:700;color:var(--cl-ink);
  letter-spacing:-.01em;margin-bottom:.8rem;
}
.fdb-item__pricing p:last-child{margin-bottom:0;color:#2A3138}

/* 基本情報：パッケージ左・定義リスト右 */
.fdb-item__info{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;align-items:start}
.fdb-item__info h2{grid-column:1/-1}
.fdb-item__package{width:100%;height:auto;border:1px solid var(--cl-line);border-radius:3px;display:block}
.fdb-item__info dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;font-size:.85rem}
.fdb-item__info dt{color:var(--cl-muted);white-space:nowrap}
.fdb-item__info dd{margin:0;font-family:var(--cl-mono);font-size:.86rem}

/* サンプル動画：16:9 のレスポンシブ枠 */
.fdb-item__iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000;border-radius:3px}

/* サンプル画像：グリッド */
.fdb-item__sample-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.fdb-item__sample-images h2{grid-column:1/-1}
.fdb-item__sample-image{width:100%;height:auto;border:1px solid var(--cl-line);border-radius:3px;display:block}

/* 推移・割合の3ブロックは数値を等幅で */
.fdb-item__price-history p,.fdb-item__review-history p,.fdb-item__actress-ratio p{
  margin:0;font-family:var(--cl-mono);font-size:1rem;font-weight:500;color:var(--cl-ink);
}

/* 関連作品・関連ガイド */
.fdb-item__related ul,.fdb-item__guides ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fdb-item__related li,.fdb-item__guides li{
  font-size:.86rem;line-height:1.7;padding:.6rem .8rem;
  background:#F7F9FB;border:1px solid var(--cl-line);border-radius:3px;
}
.fdb-item__guides a{color:var(--cl-navy);text-decoration:none;font-weight:500}
.fdb-item__guides a:hover{text-decoration:underline}

/* 出典スタンプ（サイト共通のシグネチャー） */
.fdb-item__source{
  display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.2em .9em;
  font-family:var(--cl-mono);font-size:.72rem;line-height:1.7;color:var(--cl-muted);
  border-left:2px solid var(--cl-shu);padding:.1em 0 .1em .7em;margin:.6rem 0 1.2rem;
}

/* CTA：押す場所は琥珀 */
.fdb-item__cta{text-align:center;border-top:3px solid var(--cl-amber)}
.fdb-item__cta a{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--cl-amber);color:#231A00 !important;font-family:var(--cl-disp);font-weight:700;
  font-size:1rem;text-decoration:none !important;padding:.9em 2em;border-radius:3px;
  box-shadow:0 3px 0 var(--cl-amber-d);transition:.15s;
}
.fdb-item__cta a:hover{background:var(--cl-amber-d);box-shadow:0 1px 0 var(--cl-amber-d);transform:translateY(2px)}
.fdb-item__cta p{margin:.7rem 0 0;font-size:.73rem;color:var(--cl-muted);font-family:var(--cl-mono)}

@media (max-width:640px){
  .fdb-item__info{grid-template-columns:1fr}
  .fdb-item__package{max-width:190px}
}
@media (prefers-reduced-motion:reduce){
  .fdb-item__cta a{transition:none}
  .fdb-item__cta a:hover{transform:none}
}

/* ---- SWELLの既定を上書き ---- */
.post_content .fdb-item__article h2{
  background:none !important;border:0 !important;border-bottom:1px solid var(--cl-line) !important;
  border-radius:0 !important;padding:0 0 .5rem !important;margin:0 0 .8rem !important;
  color:var(--cl-navy) !important;font-family:var(--cl-disp) !important;
  font-size:1rem !important;font-weight:700 !important;
}
.post_content .fdb-item__article h2::before,.post_content .fdb-item__article h2::after{display:none !important}
.post_content .fdb-item__article ul{list-style:none !important;padding-left:0 !important;margin-left:0 !important}
.post_content .fdb-item__article ul li::before{content:none !important;display:none !important}
.post_content .fdb-item__article li{padding-left:0}
.post_content .fdb-item__availability li{padding:.45em 1em !important}
.post_content .fdb-item__related li,.post_content .fdb-item__guides li{padding:.6rem .8rem !important}
.post_content .fdb-item__cta a{background:var(--cl-amber) !important;text-decoration:none !important}
.post_content .fdb-item__cta a:hover{background:var(--cl-amber-d) !important}
.post_content .fdb-item__article p{margin-block:0}
