@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
*/

.p-postSlider.c-filterLayer{
  display: none;
}
.top #content {
  padding-top: 2em;
}
@media (min-width: 960px) {
  .post-col4 .-type-card.-pc-col3 .p-postList__item, .-col4 .-type-thumb.-pc-col3 .p-postList__item{
    width: calc(100% / 4);
  }
}

/* =========================
  トップ：ランキング（[item_ranking]）
========================= */
.p-ranking{
  margin:28px 0;
}

.p-ranking__title{
  font-size:1.2em;
  font-weight:800;
  margin:0 0 12px;
}

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

@media (min-width: 900px){
  .p-ranking__list{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

.p-ranking__item{
  border:1px solid #e5e5e5;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.p-ranking__link{
  display:block;
  padding:12px;
  text-decoration:none;
}

.p-ranking__head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.p-ranking__rank{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  font-weight:800;
  font-size:.9em;
  border:1px solid #111;
}

.p-ranking__name{
  margin:0;
  font-size:1em;
  line-height:1.35;
  font-weight:800;
}

.p-ranking__thumb{
  width:100%;
  height:auto;
  display:block;
  border-radius:10px;
  border:1px solid #eee;
  margin:0 0 10px;
}

.p-ranking__rating{
  margin:0 0 8px;
  font-weight:700;
  font-size:.95em;
}

.p-ranking__summary{
  margin:0;
  line-height:1.7;
  font-size:.95em;
  opacity:.92;
}

.p-ranking__cta{
  padding:0 12px 12px;
  margin:0;
}

.p-ranking__btn{
  display:block;
  text-align:center;
  padding:10px 12px;
  border-radius:12px;
  font-weight:800;
  text-decoration:none;
  border:1px solid #111;
}

/* ホバー */
.p-ranking__item:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.06);
  transition:.15s ease;
}
.p-ranking__item{
  transition:.15s ease;
}

/* =========================
  トップ：ランキング（ヒーロー型）
========================= */
.p-rankHero{
  margin:24px 0;
}

.p-rankHero__item{
  border:1px solid #e5e5e5;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  margin-bottom: 3%;
}

.p-rankHero__bar{
  padding:12px 14px;
  font-weight:800;
  background:#0f3a5a;
  color:#fff;
  align-items:center;
}

.p-rankHero__barLink{
  color:#fff;
  text-decoration:none;
}
.p-rankHero__bar .p-rankHero__barRank{
  background: white;
  padding: 0% 15%;
  color: #b59104;
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 1%;
}


.p-rankHero__body{
  padding:14px;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

@media (min-width: 900px){
  .p-rankHero__body{
    grid-template-columns: 1.1fr 1fr;
    gap:18px;
    align-items:start;
  }
}

.p-rankHero__thumb{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
  border:1px solid #eee;
}

.p-rankHero__thumbLink{
  display:block;
  text-decoration:none;
}

.p-rankHero__thumbCta{
  display:block;
  margin-top:12px;
  padding:12px 14px;
  border-radius:999px;
  text-align:center;
  font-weight:800;
  text-decoration:none;
  border:1px solid #111;
}

.p-rankHero__badge{
  font-size: 0.9rem;
}

.p-rankHero__summary{
  line-height:1.7;
  background:#f7f9fb;
  padding:12px 14px;
  border-radius:10px;
  margin:12px 0 14px;
}

.p-rankHero__reason{
  line-height:1.75;
  font-size:.95em;
}

.p-rankHero__actions{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.p-rankHero__detail{
  display:inline-block;
  padding:10px 12px;
  text-decoration:none;
  border:1px solid #e5e5e5;
  font-weight:800;
}

.p-rankHero__btn{
  display:inline-block;
  padding:12px 18px;
  text-decoration:none;
  font-weight:900;
  border:1px solid #111;
}
/* CTAまわりの整理 */
.p-rankHero__actions{
  margin-top:18px;
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-end; /* 右寄せで“決断感” */
}

/* サブCTA：作品詳細 */
.p-rankHero__detail{
  padding:10px 14px;
  border:1px solid #ddd;
  font-weight:700;
  text-decoration:none;
  background:#fff;
  width: 100%;
  text-align: center;
  transition:.3s
}
.p-rankHero__detail:hover{
  background: #0f3a5a;
  color: white;
}


/* メインCTA：FANZA */
.p-rankHero__btn{
  padding:12px 22px;
  font-weight:900;
  text-decoration:none;
  background:#0f3a5a;
  color:#fff;
  border:1px solid #0f3a5a;
  transition:.3s
}
.p-rankHero__btn:hover{
  background: white;
  color: #0f3a5a;
}

.taxPickup {
  margin: 20px 0;
  padding: 16px;
  border: 1px solid #eee;
  border-radius: 12px;
  background: #fff;
}
.taxPickup__title {
  font-size: 16px;
  margin-bottom: 12px;
}
.taxPickup__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.taxPickup__item {
  text-decoration: none;
  color: inherit;
}
.taxPickup__name {
  font-size: 13px;
  margin-top: 6px;
}
  .c-fanza-card div span {
    font-size: 0.65em !important;
    padding: .5% 1% !important;
    border-radius: 0!important;
  }
  .c-fanza-card > a > div:last-child {
    padding: 2% !important;
  }
@media(max-width:768px){
  .taxPickup__grid{
    grid-template-columns:repeat(2,1fr);
  }

}
/* tax_pickup をSWELL寄りに調整 */
.taxPickup {
  margin: 24px 0 32px;
  padding: 20px;
  border-radius: 16px;
  background: #f7f8fa;
}

.taxPickup__title {
  font-size: 15px;
  font-weight: 700;
}

.taxPickup__grid {
  margin-top: 12px;
}

.taxPickup__item img {
  border-radius: 8px;
}

.taxPickup__name {
  font-size: 13px;
  line-height: 1.4;
}
.taxonomy-description {
  padding: 16px 20px;
  margin: 20px 0 28px;
  background: #f7f8fa;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.7;
}





































/* =========================
  ランキング：スマホ最適化
========================= */
@media (max-width: 768px){

  /* 全体余白を詰める */
  .p-rankHero__item{
    border-radius:12px;
  }

  .p-rankHero__bar{
    font-size:.95em;
    padding:10px 12px;
    display: block;
  }

  /* 本体を縦並びに */
  .p-rankHero__body{
    grid-template-columns:1fr;
    padding:12px;
    gap:12px;
  }

  /* 左（画像） */
  .p-rankHero__thumb{
    border-radius:10px;
  }

  /* ランキングコメント（青BOX） */
  .p-rankHero__badge{
    font-size:.9em;
    padding:10px 12px;
    margin-bottom:10px;
  }

  /* 結論（先に読む用） */
  .p-rankHero__summary{
    font-size:.95em;
    padding:10px 12px;
    margin:10px 0 12px;
  }

  /* おすすめ理由 */
  .p-rankHero__reason{
    font-size:.9em;
    line-height:1.7;
  }

  /* CTAまわり */
  .p-rankHero__actions{
    margin-top:18px;
    flex-direction:column;
    align-items:stretch;
  }

  .p-rankHero__detail{
    text-align:center;
  }

  .p-rankHero__btn{
    text-align:center;
    padding:14px 18px;
    font-size:1em;
  }
}
