/*
Theme Name: GeneratePress Child
Template: generatepress
*/

/* FRONT PAGE OVERRIDES */
body.page-id-11 .site-content,
body.page-id-11 #content,
body.page-id-11 .content-area,
body.page-id-11 .site-main {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.page-id-11 .inside-article {
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
body.page-id-11 .site {
  overflow-x: hidden;
}

/* HERO */
.ja-hero { background: linear-gradient(135deg,#FFF0F6 0%,#FFE4F1 40%,#F8E8FF 100%); padding: 60px 24px; width: 100%; box-sizing: border-box; }
.ja-hero-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.ja-hero-badge { display: inline-flex; align-items: center; gap: 6px; background: linear-gradient(135deg,#FF3D8A,#B344FF); color: #fff; padding: 4px 14px; border-radius: 20px; font-size: 11px; font-weight: 700; letter-spacing: 1px; margin-bottom: 16px; }
.ja-hero-title { font-family: Poppins,sans-serif; font-size: 48px; font-weight: 900; line-height: 1.1; letter-spacing: -1px; margin-bottom: 8px; }
.ja-line1 { color: #1A0A14; display: block; }
.ja-line2 { background: linear-gradient(135deg,#FF1A6E,#FF6BA8,#B344FF); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; display: block; }
.ja-hero-sub { font-size: 20px; font-weight: 900; color: #1A0A14; margin-bottom: 12px; }
.ja-hero-desc { font-size: 14px; color: #6B5B65; line-height: 1.8; margin-bottom: 24px; }
.ja-hero-stats { display: flex; gap: 24px; margin-bottom: 24px; }
.ja-stat { text-align: center; }
.ja-stat-num { font-family: Poppins,sans-serif; font-size: 26px; font-weight: 900; color: #FF3D8A; display: block; }
.ja-stat-label { font-size: 10px; color: #6B5B65; font-weight: 500; }
.ja-hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.ja-btn-primary { background: linear-gradient(135deg,#FF3D8A,#FF1A6E); color: #fff !important; padding: 14px 28px; border-radius: 32px; font-weight: 700; font-size: 14px; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 6px 24px rgba(255,61,138,.4); }
.ja-btn-secondary { background: #fff; color: #FF3D8A !important; border: 2px solid #FF3D8A; padding: 12px 24px; border-radius: 32px; font-weight: 700; font-size: 14px; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }

/* RANK CARD */
.ja-hero-visual { position: relative; }
.ja-float-badge { position: absolute; top: -16px; right: -16px; background: linear-gradient(135deg,#FF9500,#FF7A00); color: #fff; padding: 8px 14px; border-radius: 20px; font-weight: 900; font-size: 11px; z-index: 2; }
.ja-rank-card { background: #fff; border-radius: 20px; padding: 20px; box-shadow: 0 20px 60px rgba(255,61,138,.15); border: 1px solid rgba(255,61,138,.1); }
.ja-rank-card-title { font-weight: 900; font-size: 13px; color: #6B5B65; margin-bottom: 14px; text-transform: uppercase; }
.ja-rank-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; margin-bottom: 8px; }
.ja-rank-item.rank1 { background: linear-gradient(135deg,#FFF3E0,#FFF0F6); border: 1px solid #FFE0C4; }
.ja-rank-badge { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 13px; flex-shrink: 0; background: #FFD6E8; color: #FF3D8A; }
.rank1 .ja-rank-badge { background: linear-gradient(135deg,#FFB800,#FF7A00); color: #fff; }
.rank2 .ja-rank-badge { background: linear-gradient(135deg,#C0C0C0,#9E9E9E); color: #fff; }
.rank3 .ja-rank-badge { background: linear-gradient(135deg,#CD7F32,#A0522D); color: #fff; }
.ja-creator-thumb { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg,#FFD6E8,#FF3D8A); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.ja-creator-info { flex: 1; min-width: 0; }
.ja-creator-name { font-weight: 700; font-size: 13px; color: #1A0A14; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ja-creator-tag { font-size: 11px; color: #6B5B65; }
.ja-creator-score { font-family: Poppins,sans-serif; font-weight: 900; font-size: 16px; color: #FF3D8A; }

/* FEATURES */
.ja-features { background: linear-gradient(135deg,#FFF0F6 0%,#F8EDFF 100%); padding: 60px 24px; width: 100%; box-sizing: border-box; }
.ja-features-inner,.ja-ranking-inner { max-width: 1200px; margin: 0 auto; }
.ja-section-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 32px; }
.ja-section-label { font-size: 11px; font-weight: 700; letter-spacing: 2px; color: #FF3D8A; text-transform: uppercase; margin-bottom: 4px; }
.ja-section-title { font-family: Poppins,sans-serif; font-size: 26px; font-weight: 900; color: #1A0A14; }
.ja-section-title span { color: #FF3D8A; }
.ja-view-all { color: #FF3D8A; text-decoration: none; font-weight: 700; font-size: 13px; border-bottom: 1px dashed #FFD6E8; }
.ja-features-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.ja-feature-card { background: #fff; border-radius: 16px; padding: 24px 20px; text-align: center; border: 1px solid rgba(255,61,138,.1); }
.ja-feature-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 24px; margin: 0 auto 14px; }
.fi1 { background: linear-gradient(135deg,#FFE4F1,#FFD0E8); }
.fi2 { background: linear-gradient(135deg,#E8D0FF,#D8C0FF); }
.fi3 { background: linear-gradient(135deg,#FFF3E0,#FFE0C0); }
.fi4 { background: linear-gradient(135deg,#E0F4FF,#C0E8FF); }
.ja-feature-title { font-weight: 900; font-size: 14px; color: #1A0A14; margin-bottom: 8px; }
.ja-feature-desc { font-size: 12px; color: #6B5B65; line-height: 1.7; }

/* RANKING */
.ja-ranking { background: #fff; padding: 60px 24px; width: 100%; box-sizing: border-box; }
.ja-ranking-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.ja-rcard { background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid #F0E0E8; }
.ja-rcard-thumb { height: 180px; display: flex; align-items: center; justify-content: center; font-size: 60px; position: relative; }
.ja-rcard-thumb.t1 { background: linear-gradient(135deg,#FFD6E8,#F0D0FF); }
.ja-rcard-thumb.t2 { background: linear-gradient(135deg,#FFE0F0,#FFD6A0); }
.ja-rcard-thumb.t3 { background: linear-gradient(135deg,#D0E8FF,#E8D0FF); }
.ja-rnum { position: absolute; top: 12px; left: 12px; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: Poppins,sans-serif; font-weight: 900; font-size: 14px; color: #fff; }
.rn1 { background: linear-gradient(135deg,#FFB800,#FF7A00); }
.rn2 { background: linear-gradient(135deg,#9E9E9E,#757575); }
.rn3 { background: linear-gradient(135deg,#CD7F32,#8B4513); }
.ja-new-badge { position: absolute; top: 12px; right: 12px; background: #FF3D8A; color: #fff; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 10px; }
.ja-rcard-body { padding: 16px; }
.ja-rcat { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; color: #FF3D8A; text-transform: uppercase; margin-bottom: 6px; }
.ja-rtitle { font-weight: 900; font-size: 15px; color: #1A0A14; line-height: 1.4; margin-bottom: 8px; }
.ja-rmeta { display: flex; align-items: center; justify-content: space-between; font-size: 12px; color: #6B5B65; margin-bottom: 10px; }
.ja-stars { color: #FFB800; font-size: 13px; }
.ja-rtags { display: flex; gap: 6px; flex-wrap: wrap; }
.ja-tag { background: #FFF0F6; color: #FF3D8A; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 8px; }
.ja-tag.purple { background: #F5E8FF; color: #B344FF; }
.ja-tag.orange { background: #FFF3E0; color: #FF9500; }

/* CTA */
.ja-cta { background: linear-gradient(135deg,#FF1A6E 0%,#FF3D8A 50%,#B344FF 100%); padding: 60px 24px; text-align: center; width: 100%; box-sizing: border-box; }
.ja-cta-inner { max-width: 600px; margin: 0 auto; }
.ja-cta-title { font-family: Poppins,sans-serif; font-size: 30px; font-weight: 900; color: #fff; margin-bottom: 12px; line-height: 1.2; }
.ja-cta-desc { color: rgba(255,255,255,.85); font-size: 14px; line-height: 1.8; margin-bottom: 24px; }
.ja-cta-btn { background: #fff; color: #FF1A6E !important; padding: 14px 36px; border-radius: 32px; font-weight: 900; font-size: 15px; text-decoration: none; display: inline-block; box-shadow: 0 8px 24px rgba(0,0,0,.2); }

/* FOOTER */
.ja-footer { background: #1A0A14; color: rgba(255,255,255,.7); padding: 40px 24px 20px; width: 100%; box-sizing: border-box; }
.ja-footer-inner { max-width: 1200px; margin: 0 auto; }
.ja-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; margin-bottom: 32px; }
.ja-footer-logo { font-family: "Poppins",sans-serif; font-weight: 900; font-size: 20px; color: #fff; margin-bottom: 12px; }
.ja-footer-desc { font-size: 12px; line-height: 1.8; max-width: 220px; }
.ja-footer-col h4 { color: #fff; font-weight: 900; font-size: 13px; margin-bottom: 14px; }
.ja-footer-col ul { list-style: none; padding: 0; margin: 0; }
.ja-footer-col ul li { margin-bottom: 8px; }
.ja-footer-col ul li a { color: rgba(255,255,255,.6); text-decoration: none; font-size: 12px; }
.ja-footer-col ul li a:hover { color: #FF6BA8; }
.ja-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding-top: 20px; display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: rgba(255,255,255,.4); }

/* STICKY HEADER */
.site-header { position: sticky; top: 0; z-index: 999; background: #fff; border-bottom: 2px solid #FFD6E8; box-shadow: 0 2px 20px rgba(255,61,138,.1); }

/* NAV SEARCH BTN */
.ja-nav-search-btn { background: linear-gradient(135deg,#FF3D8A,#FF1A6E) !important; color: #fff !important; border-radius: 24px !important; padding: 8px 18px !important; font-weight: 700 !important; font-size: 13px !important; box-shadow: 0 4px 14px rgba(255,61,138,.35) !important; }
.ja-nav-search-btn:hover { background: linear-gradient(135deg,#FF1A6E,#FF3D8A) !important; color: #fff !important; }

/* RANK CARD HOVER */
.ja-rank-item:hover { background: #FFF0F6 !important; }

/* LATEST SECTION */
.ja-latest { background: #fff; padding: 60px 24px; width: 100%; box-sizing: border-box; }
.ja-latest-inner { max-width: 1200px; margin: 0 auto; }
.ja-latest-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 32px; }
.ja-main-posts { display: flex; flex-direction: column; gap: 16px; }
.ja-post-card { display: flex; gap: 16px; padding: 16px; border-radius: 14px; border: 1px solid #F0E8EC; transition: all .2s; }
.ja-post-card:hover { background: #FFF0F6; border-color: #FFD6E8; }
.ja-post-thumb { width: 100px; height: 80px; border-radius: 10px; background: linear-gradient(135deg,#FFD6E8,#F0D0FF); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 30px; background-size: cover; background-position: center; }
.ja-post-thumb-dummy { display: flex; align-items: center; justify-content: center; }
.ja-post-info { flex: 1; }
.ja-post-cat { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; color: #FF3D8A; text-transform: uppercase; margin-bottom: 4px; }
.ja-post-title { font-weight: 700; font-size: 14px; color: #1A0A14; line-height: 1.5; margin-bottom: 6px; }
.ja-post-meta { font-size: 11px; color: #6B5B65; }

/* SIDEBAR */
.ja-sidebar { display: flex; flex-direction: column; gap: 20px; }
.ja-sidebar-widget { background: #fff; border-radius: 16px; border: 1px solid #F0E0E8; overflow: hidden; }
.ja-widget-head { background: linear-gradient(135deg,#FF3D8A,#FF1A6E); color: #fff; padding: 12px 16px; font-weight: 900; font-size: 13px; }
.ja-widget-body { padding: 14px; }
.ja-sr-item { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed #F0E0E8; }
.ja-sr-item:last-child { border-bottom: none; }
.ja-sr-num { font-family: 'Poppins',sans-serif; font-weight: 900; font-size: 18px; color: #FFD6E8; width: 24px; text-align: center; flex-shrink: 0; }
.ja-sr-num.top { color: #FF3D8A; }
.ja-sr-title { font-size: 12px; font-weight: 700; color: #1A0A14; line-height: 1.4; }
.ja-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.ja-cats .ja-tag { font-size: 12px; padding: 5px 10px; cursor: pointer; }

/* HEADER LAYOUT */
.header-inner { display: flex; align-items: center; justify-content: space-between; max-width: 1200px; margin: 0 auto; padding: 0 24px; height: 64px; }
.main-navigation { display: flex; align-items: center; gap: 4px; }
.main-navigation .main-nav ul { display: flex; align-items: center; gap: 4px; }
.main-navigation .main-nav ul li a { font-weight: 700; font-size: 13px; padding: 6px 12px; border-radius: 20px; transition: all .2s; }
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a { background: #FF3D8A !important; color: #fff !important; }
.ja-search-btn-wrap a { background: linear-gradient(135deg,#FF3D8A,#FF1A6E) !important; color: #fff !important; border-radius: 24px !important; padding: 8px 18px !important; font-weight: 700 !important; font-size: 13px !important; box-shadow: 0 4px 14px rgba(255,61,138,.35) !important; margin-left: 16px !important; }

/* HEADER NAV FIX */
/* モバイルヘッダーの検索ボタン非表示 */
.has-inline-mobile-toggle .menu-bar-items .ja-search-btn-wrap { display: none; }
@media (min-width: 769px) {
    .has-inline-mobile-toggle .menu-bar-items .ja-search-btn-wrap { display: block; }
}
/* 黒点（separator）非表示 */
.main-navigation .menu-bar-item.search-item + .menu-bar-item::before,
.main-navigation > div > ul > li.menu-item:first-child::before { display: none; }
.menu-bar-items li:first-child { list-style: none; }
.inside-navigation > .menu-bar-items { align-items: center; }

/* 1個目の検索ボタン（モバイルヘッダー内）を非表示 */
.mobile-menu-control-wrapper .menu-bar-items { display: none !important; }
/* デスクトップのみ表示 */
#site-navigation .menu-bar-items { display: flex !important; }

/* HEADER: ロゴ左・ナビ中央・ボタン右 */
.inside-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    width: 100% !important;
}
.site-branding {
    flex: 0 0 auto !important;
}
.main-navigation {
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
}
.main-navigation .inside-navigation {
    justify-content: center !important;
    display: flex !important;
    align-items: center !important;
}
.main-navigation .main-nav {
    display: flex !important;
    justify-content: center !important;
}
.main-navigation .main-nav > ul {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.menu-bar-items {
    flex: 0 0 auto !important;
    margin-left: 16px !important;
}

/* ===== HEADER LAYOUT FINAL ===== */
.inside-header {
    display: flex !important;
    align-items: center !important;
    padding: 0 24px !important;
    height: 64px !important;
    position: relative !important;
}
.site-branding { flex: 0 0 auto !important; }
#site-navigation {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
}
#site-navigation .inside-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    padding: 0 !important;
    max-width: 100% !important;
}
#site-navigation .main-nav {
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
}
#site-navigation .main-nav > ul {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
#site-navigation .menu-bar-items {
    flex: 0 0 auto !important;
    margin-left: 16px !important;
}
.mobile-menu-control-wrapper .menu-bar-items { display: none !important; }
#site-navigation .main-nav ul li a {
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    transition: all 0.2s !important;
}
#site-navigation .main-nav ul li a:hover,
#site-navigation .main-nav ul li.current-menu-item > a {
    background: #FF3D8A !important;
    color: #fff !important;
}

/* HEADER FINE TUNING */
/* サイトタイトル左寄せ */
.inside-header.grid-container {
    padding-left: 24px !important;
}
/* ナビ背景の白いはみ出し修正 */
.main-navigation, .main-navigation ul ul {
    background: transparent !important;
}
#site-navigation .inside-navigation {
    background: transparent !important;
}
/* TOPボタン（current-menu-item）のスタイル */
#site-navigation .main-nav ul li.current-menu-item > a,
#site-navigation .main-nav ul li.page_item.current_page_item > a {
    background: linear-gradient(135deg, #FF3D8A, #FF1A6E) !important;
    color: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 14px rgba(255,61,138,0.4) !important;
    padding: 8px 16px !important;
}

/* サイトタイトルをコンテンツエリアの左端に揃える */
.site-header .inside-header.grid-container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.site-header .site-branding {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* ===== BANNER SECTIONS ===== */
.ja-banner-section { background: #fff; padding: 24px; width: 100%; box-sizing: border-box; }
.ja-banner-section-2 { background: #FFF0F6; }
.ja-banner-inner { max-width: 1200px; margin: 0 auto; }
.ja-banner-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ja-banner-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ja-banner-slot {
    background: linear-gradient(135deg, #FFD6E8, #F0D0FF);
    border-radius: 12px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 13px;
    color: #FF3D8A;
    border: 2px dashed #FFB0D0;
    cursor: pointer;
    transition: all 0.2s;
}
.ja-banner-slot:hover { opacity: 0.85; transform: translateY(-2px); }

/* ===== RANKING SLIDER ===== */
.ja-ranking-slider-wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
}
.ja-ranking-slider {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    flex: 1;
    overflow: hidden;
}
.ja-slider-btn {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid #FF3D8A;
    background: #fff;
    color: #FF3D8A;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    line-height: 1;
}
.ja-slider-btn:hover { background: #FF3D8A; color: #fff; }
.ja-slider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}
.ja-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #FFD6E8;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
}
.ja-dot.active { background: #FF3D8A; width: 24px; border-radius: 4px; }

/* rank4以降のバッジ */
.ja-rnum.rn4 { background: #FFD6E8; color: #FF3D8A; font-size: 12px; }

/* ===== SCROLL SNAP SLIDER ===== */
.ja-ranking-scroll-wrap {
    overflow: hidden;
    position: relative;
    padding: 8px 0 16px;
}
.ja-ranking-scroll {
    display: flex !important;
    gap: 20px !important;
    overflow-x: scroll !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding-bottom: 8px !important;
    cursor: grab !important;
}
.ja-ranking-scroll::-webkit-scrollbar { display: none !important; }
.ja-ranking-scroll:active { cursor: grabbing !important; }
.ja-ranking-scroll .ja-rcard {
    flex: 0 0 calc(33.333% - 14px) !important;
    scroll-snap-align: start !important;
    display: block !important;
}

/* ===== CREATOR DETAIL PAGE ===== */
.ja-creator-page { max-width: 100%; }

/* HERO */
.ja-cp-hero {
    background: linear-gradient(135deg, #FF1A6E 0%, #FF3D8A 50%, #B344FF 100%);
    padding: 60px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.ja-cp-hero::before {
    content: '';
    position: absolute;
    top: -100px; right: -100px;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 70%);
    border-radius: 50%;
}
.ja-cp-hero-inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 1; }
.ja-cp-icon { font-size: 80px; margin-bottom: 16px; filter: drop-shadow(0 4px 12px rgba(0,0,0,.2)); }
.ja-cp-name { font-family: 'Poppins',sans-serif; font-size: 36px; font-weight: 900; color: #fff; margin-bottom: 8px; }
.ja-cp-genre { color: rgba(255,255,255,.85); font-size: 14px; margin-bottom: 12px; }
.ja-cp-tags { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 20px; }
.ja-cp-tags .ja-tag { font-size: 12px; padding: 4px 12px; }
.ja-cp-meta { display: flex; gap: 32px; justify-content: center; align-items: center; margin-bottom: 24px; }
.ja-cp-score-wrap { display: flex; align-items: center; gap: 6px; }
.ja-cp-stars { color: #FFE066; font-size: 18px; }
.ja-cp-score { font-family: 'Poppins',sans-serif; font-size: 36px; font-weight: 900; color: #fff; }
.ja-cp-score-label { color: rgba(255,255,255,.7); font-size: 14px; }
.ja-cp-price-wrap { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,.15); padding: 8px 16px; border-radius: 20px; }
.ja-cp-price-label { color: rgba(255,255,255,.8); font-size: 12px; }
.ja-cp-price { color: #fff; font-weight: 900; font-size: 18px; }
.ja-cp-hero-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.ja-cp-video-btn {
    background: rgba(255,255,255,.2);
    color: #fff;
    border: 2px solid rgba(255,255,255,.6);
    padding: 12px 24px;
    border-radius: 32px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all .2s;
    font-family: 'Noto Sans JP',sans-serif;
}
.ja-cp-video-btn:hover { background: rgba(255,255,255,.35); }
.ja-cp-affi-btn {
    background: #fff;
    color: #FF1A6E !important;
    padding: 12px 28px;
    border-radius: 32px;
    font-weight: 900;
    font-size: 14px;
    text-decoration: none;
    display: inline-block;
    box-shadow: 0 6px 20px rgba(0,0,0,.2);
    transition: all .2s;
}
.ja-cp-affi-btn:hover { transform: translateY(-2px); }

/* BODY LAYOUT */
.ja-cp-body {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 32px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 24px;
}
.ja-cp-main { display: flex; flex-direction: column; gap: 24px; }

/* CARDS */
.ja-cp-card {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #F0E0E8;
    overflow: hidden;
}
.ja-cp-card-title {
    font-family: 'Poppins',sans-serif;
    font-size: 18px;
    font-weight: 900;
    color: #1A0A14;
    padding: 20px 24px 0;
    margin-bottom: 16px;
}
.ja-cp-review { padding: 0 24px 24px; font-size: 14px; line-height: 1.9; color: #4A3A44; }

/* SCORE BARS */
.ja-cp-score-bars { padding: 0 24px 24px; display: flex; flex-direction: column; gap: 12px; }
.ja-score-bar-item { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #6B5B65; }
.ja-score-bar-item > span:first-child { width: 90px; flex-shrink: 0; }
.ja-score-bar { flex: 1; height: 8px; background: #FFD6E8; border-radius: 4px; overflow: hidden; }
.ja-score-bar-fill { height: 100%; background: linear-gradient(135deg, #FF3D8A, #FF1A6E); border-radius: 4px; }
.ja-score-val { width: 30px; text-align: right; font-weight: 700; color: #FF3D8A; font-size: 13px; }

/* LIST */
.ja-cp-list { padding: 0 24px 24px; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ja-cp-list li { font-size: 14px; color: #4A3A44; }

/* PROS CONS */
.ja-cp-pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0 24px 24px; }
.ja-cp-pros, .ja-cp-cons { border-radius: 12px; padding: 16px; }
.ja-cp-pros { background: #F0FFF4; }
.ja-cp-cons { background: #FFF5F5; }
.ja-cp-pros h3 { color: #22C55E; font-size: 14px; margin-bottom: 10px; }
.ja-cp-cons h3 { color: #EF4444; font-size: 14px; margin-bottom: 10px; }
.ja-cp-pros ul, .ja-cp-cons ul { list-style: none; padding: 0; }
.ja-cp-pros ul li, .ja-cp-cons ul li { font-size: 13px; color: #4A3A44; margin-bottom: 6px; padding-left: 14px; position: relative; }
.ja-cp-pros ul li::before { content: '•'; position: absolute; left: 0; color: #22C55E; }
.ja-cp-cons ul li::before { content: '•'; position: absolute; left: 0; color: #EF4444; }

/* SIDEBAR */
.ja-cp-sidebar { display: flex; flex-direction: column; gap: 20px; }
.ja-cp-widget { background: #fff; border-radius: 16px; border: 1px solid #F0E0E8; overflow: hidden; }
.ja-cp-info-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ja-cp-info-table tr { border-bottom: 1px solid #F0E0E8; }
.ja-cp-info-table tr:last-child { border-bottom: none; }
.ja-cp-info-table th { padding: 10px 14px; color: #6B5B65; font-weight: 500; text-align: left; width: 90px; }
.ja-cp-info-table td { padding: 10px 14px; color: #1A0A14; font-weight: 700; }
.ja-cp-affi-btn-lg {
    display: block;
    background: linear-gradient(135deg, #FF3D8A, #FF1A6E);
    color: #fff !important;
    padding: 14px 24px;
    border-radius: 32px;
    font-weight: 900;
    font-size: 15px;
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(255,61,138,.4);
    transition: all .2s;
}
.ja-cp-affi-btn-lg:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(255,61,138,.5); }

/* RELATED */
.ja-related-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px dashed #F0E0E8;
    text-decoration: none;
    transition: background .2s;
}
.ja-related-item:last-child { border-bottom: none; }
.ja-related-item:hover { background: #FFF0F6; }
.ja-related-icon { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg,#FFD6E8,#FF3D8A); display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.ja-related-info { flex: 1; }
.ja-related-name { font-size: 13px; font-weight: 700; color: #1A0A14; }
.ja-related-genre { font-size: 11px; color: #6B5B65; }
.ja-related-score { font-family: 'Poppins',sans-serif; font-weight: 900; font-size: 15px; color: #FF3D8A; }

/* VIDEO MODAL */
.ja-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.85);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
}
.ja-modal.active { opacity: 1; pointer-events: all; }
.ja-modal-inner {
    position: relative;
    width: 90%;
    max-width: 900px;
    background: #000;
    border-radius: 16px;
    overflow: hidden;
}
.ja-modal-close {
    position: absolute;
    top: 12px; right: 12px;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.2);
    border: none;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    z-index: 10;
    transition: background .2s;
}
.ja-modal-close:hover { background: rgba(255,255,255,.4); }
.ja-modal-video { position: relative; padding-top: 56.25%; }
.ja-modal-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* CREATOR PAGE FULLWIDTH */
body.single-creator .site-content,
body.single-creator #content,
body.single-creator .content-area,
body.single-creator .site-main,
body.single-creator .inside-article,
body.single-creator .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
body.single-creator .ja-cp-hero {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* CREATOR PAGE: grid-containerを上書き */
body.single-creator .grid-container:not(.inside-header):not(.inside-navigation) {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.single-creator .site {
    overflow-x: hidden !important;
}
body.single-creator .ja-cp-hero {
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
}

/* CREATOR HERO: 完全フルワイド */
body.single-creator {
    overflow-x: hidden !important;
}
body.single-creator .ja-cp-hero {
    width: 100vw !important;
    margin-left: 0 !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
}

/* ===== CREATOR DETAIL PAGE ===== */
.ja-creator-page { max-width: 100%; }

/* HERO */
.ja-cp-hero {
    background: linear-gradient(135deg, #FF1A6E 0%, #FF3D8A 50%, #B344FF 100%);
    padding: 60px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.ja-cp-hero::before {
    content: '';
    position: absolute;
    top: -100px; right: -100px;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 70%);
    border-radius: 50%;
}
.ja-cp-hero-inner { max-width: 800px; margin: 0 auto; position: relative; z-index: 1; }
.ja-cp-icon { font-size: 80px; margin-bottom: 16px; filter: drop-shadow(0 4px 12px rgba(0,0,0,.2)); }
.ja-cp-name { font-family: 'Poppins',sans-serif; font-size: 36px; font-weight: 900; color: #fff; margin-bottom: 8px; }
.ja-cp-genre { color: rgba(255,255,255,.85); font-size: 14px; margin-bottom: 12px; }
.ja-cp-tags { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 20px; }
.ja-cp-tags .ja-tag { font-size: 12px; padding: 4px 12px; }
.ja-cp-meta { display: flex; gap: 32px; justify-content: center; align-items: center; margin-bottom: 24px; }
.ja-cp-score-wrap { display: flex; align-items: center; gap: 6px; }
.ja-cp-stars { color: #FFE066; font-size: 18px; }
.ja-cp-score { font-family: 'Poppins',sans-serif; font-size: 36px; font-weight: 900; color: #fff; }
.ja-cp-score-label { color: rgba(255,255,255,.7); font-size: 14px; }
.ja-cp-price-wrap { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,.15); padding: 8px 16px; border-radius: 20px; }
.ja-cp-price-label { color: rgba(255,255,255,.8); font-size: 12px; }
.ja-cp-price { color: #fff; font-weight: 900; font-size: 18px; }
.ja-cp-hero-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.ja-cp-video-btn {
    background: rgba(255,255,255,.2);
    color: #fff;
    border: 2px solid rgba(255,255,255,.6);
    padding: 12px 24px;
    border-radius: 32px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all .2s;
    font-family: 'Noto Sans JP',sans-serif;
}
.ja-cp-video-btn:hover { background: rgba(255,255,255,.35); }
.ja-cp-affi-btn {
    background: #fff;
    color: #FF1A6E !important;
    padding: 12px 28px;
    border-radius: 32px;
    font-weight: 900;
    font-size: 14px;
    text-decoration: none;
    display: inline-block;
    box-shadow: 0 6px 20px rgba(0,0,0,.2);
    transition: all .2s;
}
.ja-cp-affi-btn:hover { transform: translateY(-2px); }

/* BODY LAYOUT */
.ja-cp-body {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 32px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 24px;
}
.ja-cp-main { display: flex; flex-direction: column; gap: 24px; }

/* CARDS */
.ja-cp-card {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #F0E0E8;
    overflow: hidden;
}
.ja-cp-card-title {
    font-family: 'Poppins',sans-serif;
    font-size: 18px;
    font-weight: 900;
    color: #1A0A14;
    padding: 20px 24px 0;
    margin-bottom: 16px;
}
.ja-cp-review { padding: 0 24px 24px; font-size: 14px; line-height: 1.9; color: #4A3A44; }

/* SCORE BARS */
.ja-cp-score-bars { padding: 0 24px 24px; display: flex; flex-direction: column; gap: 12px; }
.ja-score-bar-item { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #6B5B65; }
.ja-score-bar-item > span:first-child { width: 90px; flex-shrink: 0; }
.ja-score-bar { flex: 1; height: 8px; background: #FFD6E8; border-radius: 4px; overflow: hidden; }
.ja-score-bar-fill { height: 100%; background: linear-gradient(135deg, #FF3D8A, #FF1A6E); border-radius: 4px; }
.ja-score-val { width: 30px; text-align: right; font-weight: 700; color: #FF3D8A; font-size: 13px; }

/* LIST */
.ja-cp-list { padding: 0 24px 24px; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ja-cp-list li { font-size: 14px; color: #4A3A44; }

/* PROS CONS */
.ja-cp-pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0 24px 24px; }
.ja-cp-pros, .ja-cp-cons { border-radius: 12px; padding: 16px; }
.ja-cp-pros { background: #F0FFF4; }
.ja-cp-cons { background: #FFF5F5; }
.ja-cp-pros h3 { color: #22C55E; font-size: 14px; margin-bottom: 10px; }
.ja-cp-cons h3 { color: #EF4444; font-size: 14px; margin-bottom: 10px; }
.ja-cp-pros ul, .ja-cp-cons ul { list-style: none; padding: 0; }
.ja-cp-pros ul li, .ja-cp-cons ul li { font-size: 13px; color: #4A3A44; margin-bottom: 6px; padding-left: 14px; position: relative; }
.ja-cp-pros ul li::before { content: '•'; position: absolute; left: 0; color: #22C55E; }
.ja-cp-cons ul li::before { content: '•'; position: absolute; left: 0; color: #EF4444; }

/* SIDEBAR */
.ja-cp-sidebar { display: flex; flex-direction: column; gap: 20px; }
.ja-cp-widget { background: #fff; border-radius: 16px; border: 1px solid #F0E0E8; overflow: hidden; }
.ja-cp-info-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ja-cp-info-table tr { border-bottom: 1px solid #F0E0E8; }
.ja-cp-info-table tr:last-child { border-bottom: none; }
.ja-cp-info-table th { padding: 10px 14px; color: #6B5B65; font-weight: 500; text-align: left; width: 90px; }
.ja-cp-info-table td { padding: 10px 14px; color: #1A0A14; font-weight: 700; }
.ja-cp-affi-btn-lg {
    display: block;
    background: linear-gradient(135deg, #FF3D8A, #FF1A6E);
    color: #fff !important;
    padding: 14px 24px;
    border-radius: 32px;
    font-weight: 900;
    font-size: 15px;
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(255,61,138,.4);
    transition: all .2s;
}
.ja-cp-affi-btn-lg:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(255,61,138,.5); }

/* RELATED */
.ja-related-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px dashed #F0E0E8;
    text-decoration: none;
    transition: background .2s;
}
.ja-related-item:last-child { border-bottom: none; }
.ja-related-item:hover { background: #FFF0F6; }
.ja-related-icon { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg,#FFD6E8,#FF3D8A); display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.ja-related-info { flex: 1; }
.ja-related-name { font-size: 13px; font-weight: 700; color: #1A0A14; }
.ja-related-genre { font-size: 11px; color: #6B5B65; }
.ja-related-score { font-family: 'Poppins',sans-serif; font-weight: 900; font-size: 15px; color: #FF3D8A; }

/* VIDEO MODAL */
.ja-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.85);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
}
.ja-modal.active { opacity: 1; pointer-events: all; }
.ja-modal-inner {
    position: relative;
    width: 90%;
    max-width: 900px;
    background: #000;
    border-radius: 16px;
    overflow: hidden;
}
.ja-modal-close {
    position: absolute;
    top: 12px; right: 12px;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.2);
    border: none;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    z-index: 10;
    transition: background .2s;
}
.ja-modal-close:hover { background: rgba(255,255,255,.4); }
.ja-modal-video { position: relative; padding-top: 56.25%; }
.ja-modal-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* ===== HERO 2COL ===== */
.ja-cp-hero-2col {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    padding: 60px 24px;
}
.ja-cp-hero-left { text-align: left; }
.ja-cp-hero-left .ja-cp-icon { font-size: 60px; margin-bottom: 12px; }
.ja-cp-hero-left .ja-cp-name { font-size: 32px; text-align: left; }
.ja-cp-hero-left .ja-cp-genre { text-align: left; }
.ja-cp-hero-left .ja-cp-tags { justify-content: flex-start; }
.ja-cp-hero-left .ja-cp-meta { justify-content: flex-start; }
.ja-cp-hero-left .ja-cp-hero-btns { justify-content: flex-start; }

/* サムネグリッド */
.ja-cp-thumb-grid {
    display: grid;
    gap: 8px;
    border-radius: 16px;
    overflow: hidden;
}
.ja-cp-thumb-1 { grid-template-columns: 1fr; }
.ja-cp-thumb-2 { grid-template-columns: 1fr 1fr; }
.ja-cp-thumb-3 { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
.ja-cp-thumb-3 .ja-cp-thumb-item:first-child { grid-column: 1 / -1; }
.ja-cp-thumb-4 { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }

.ja-cp-thumb-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 4/3;
    background: #FFD6E8;
}
.ja-cp-thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
    display: block;
}
.ja-cp-thumb-item:hover img { transform: scale(1.05); }

/* 動画再生オーバーレイ */
.ja-cp-play-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}
.ja-cp-play-overlay:hover { background: rgba(0,0,0,.5); }
.ja-cp-play-btn {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    color: #FF3D8A;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0,0,0,.3);
    padding-left: 4px;
}

/* プレースホルダー */
.ja-cp-thumb-placeholder {
    background: rgba(255,255,255,.15);
    border: 2px dashed rgba(255,255,255,.4);
    border-radius: 16px;
    padding: 40px;
    text-align: center;
    color: rgba(255,255,255,.8);
}
.ja-cp-placeholder-icon { font-size: 60px; margin-bottom: 12px; }
.ja-cp-video-btn-lg {
    background: #fff;
    color: #FF3D8A;
    border: none;
    padding: 12px 24px;
    border-radius: 32px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    margin-top: 16px;
    font-family: 'Noto Sans JP',sans-serif;
}

/* ===== HERO IMAGE: 特大1枚+サブ3枚 ===== */
.ja-cp-thumb-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
}
.ja-cp-thumb-main {
    width: 100%;
    aspect-ratio: 3/4;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}
.ja-cp-thumb-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
    display: block;
}
.ja-cp-thumb-main:hover img { transform: scale(1.03); }
.ja-cp-thumb-subs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.ja-cp-thumb-sub {
    aspect-ratio: 1/1;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}
.ja-cp-thumb-sub img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
    display: block;
}
.ja-cp-thumb-sub:hover img { transform: scale(1.05); }

/* プレースホルダーも大きく */
.ja-cp-thumb-placeholder {
    aspect-ratio: 3/4 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ===== WORKS GALLERY ===== */
.ja-cp-works { padding: 0 24px 24px; }
.ja-works-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.ja-work-item {
    aspect-ratio: 3/4;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}
.ja-work-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
    display: block;
}
.ja-work-item:hover img { transform: scale(1.05); }
.ja-works-empty {
    text-align: center;
    padding: 40px;
    color: #6B5B65;
    font-size: 14px;
    background: #FFF0F6;
    border-radius: 12px;
}

/* ===== CREATOR PAGE: SIDEBAR TABLE COMPACT ===== */
.ja-cp-info-table-compact th,
.ja-cp-info-table-compact td {
    padding: 10px 14px !important;
    white-space: nowrap !important;
    font-size: 12px !important;
}
.ja-cp-info-table-compact th { width: 80px !important; }

/* ===== SQUARE BANNER ===== */
.ja-cp-sq-banner { display: flex; flex-direction: column; gap: 12px; }
.ja-cp-sq-banner-slot {
    aspect-ratio: 1/1;
    background: linear-gradient(135deg,#FFD6E8,#F0D0FF);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 13px;
    color: #FF3D8A;
    border: 2px dashed #FFB0D0;
    cursor: pointer;
}

/* ===== CP RANKING SCROLL ===== */
.ja-cp-card-head-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 12px;
}
.ja-cp-ranking-scroll {
    display: flex;
    gap: 12px;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 8px 24px 20px;
    cursor: grab;
}
.ja-cp-ranking-scroll::-webkit-scrollbar { display: none; }
.ja-cp-rcard {
    flex: 0 0 140px;
    scroll-snap-align: start;
    border-radius: 12px;
    border: 1px solid #F0E0E8;
    overflow: hidden;
    transition: all .2s;
}
.ja-cp-rcard.current { border: 2px solid #FF3D8A; }
.ja-cp-rcard:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255,61,138,.15); }
.ja-cp-rcard a { text-decoration: none; color: inherit; display: block; }
.ja-cp-rcard-thumb {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    position: relative;
}
.ja-cp-rcard-body { padding: 8px; }
.ja-cp-rcard-name { font-weight: 700; font-size: 11px; color: #1A0A14; line-height: 1.3; margin-bottom: 2px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ja-cp-rcard-genre { font-size: 10px; color: #6B5B65; margin-bottom: 4px; }
.ja-cp-rcard-meta { display: flex; align-items: center; gap: 4px; margin-bottom: 4px; }
.ja-cp-rcard-score { font-family: 'Poppins',sans-serif; font-weight: 900; font-size: 13px; color: #FF3D8A; }
.ja-cp-rcard-price { font-size: 10px; color: #6B5B65; }
.ja-cp-rcard-tags { display: flex; gap: 4px; flex-wrap: wrap; }

/* CP RANKING CARD FIX */
.ja-cp-rcard { flex: 0 0 160px !important; }
.ja-cp-rcard-thumb {
    height: 120px !important;
    font-size: 40px !important;
}
/* サイドバーが消えてる問題 - bodyレイアウト修正 */
body.single-creator .ja-cp-body {
    display: grid !important;
    grid-template-columns: 1fr 320px !important;
    gap: 32px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 40px 24px !important;
}
body.single-creator .ja-cp-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}
.ja-cp-ranking-scroll .ja-cpr{flex:0 0 160px!important;min-width:160px!important;scroll-snap-align:start!important;border-radius:12px!important;border:1px solid #F0E0E8!important;overflow:hidden!important;background:#fff!important;}
.ja-cp-ranking-scroll .ja-cpr-thumb{height:120px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:40px!important;position:relative!important;}
.ja-cp-ranking-scroll .ja-cpr-thumb.t1{background:linear-gradient(135deg,#FFD6E8,#F0D0FF)!important;}
.ja-cp-ranking-scroll .ja-cpr-thumb.t2{background:linear-gradient(135deg,#FFE0F0,#FFD6A0)!important;}
.ja-cp-ranking-scroll .ja-cpr-thumb.t3{background:linear-gradient(135deg,#D0E8FF,#E8D0FF)!important;}
.ja-cpr a{text-decoration:none!important;color:inherit!important;display:block!important;}
.ja-cpr-body{padding:8px!important;}
.ja-cpr-name{font-weight:700!important;font-size:11px!important;color:#1A0A14!important;line-height:1.3!important;margin-bottom:2px!important;}
.ja-cpr-genre{font-size:10px!important;color:#6B5B65!important;margin-bottom:4px!important;}
.ja-cpr-meta{display:flex!important;align-items:center!important;gap:4px!important;margin-bottom:4px!important;}
.ja-cpr-score{font-family:Poppins,sans-serif!important;font-weight:900!important;font-size:13px!important;color:#FF3D8A!important;}
.ja-cpr-price{font-size:10px!important;color:#6B5B65!important;}
body.single-creator .ja-cp-body{display:grid!important;grid-template-columns:1fr 320px!important;gap:32px!important;max-width:1200px!important;margin:0 auto!important;padding:40px 24px!important;}
body.single-creator .ja-cp-sidebar{display:flex!important;flex-direction:column!important;gap:20px!important;}
body.single-creator.separate-containers .inside-article{padding:0!important;background:transparent!important;box-shadow:none!important;border:none!important;}
body.single-creator .ja-cp-body{display:grid!important;grid-template-columns:1fr 320px!important;gap:32px!important;width:100%!important;}
body.single-creator .ja-cp-sidebar{display:flex!important;flex-direction:column!important;gap:20px!important;min-width:320px!important;width:320px!important;}
body.single-creator .ja-cp-main{min-width:0!important;flex:1!important;}
body.single-creator.separate-containers .inside-article{all:unset!important;display:block!important;}
.ja-banner-grid-4{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important;}
