@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* ===== voinavi brand polish ===== */
:root{ --vn:#534AB7; --vn-d:#3C3489; --vn-l:#EEEDFE; }
body{ background:#faf9fc; }
#header,.header-container{ border-top:3px solid var(--vn); }
.site-name-text,.logo a,.logo-text a,.logo-text{ color:var(--vn-d)!important; font-weight:500; }
.tagline,.site-description-text{ color:#6b6b75; }
a{ color:var(--vn); }
.navi ul li a:hover{ background:var(--vn-l); color:var(--vn-d); }

/* 記事カード：枠線は内側 .entry-card に集約（a-wrapとの二重線回避） */
.entry-card,.card{ border:1px solid rgba(0,0,0,.10)!important; border-radius:12px; background:#fff; overflow:hidden; transition:transform .15s ease, box-shadow .15s ease; }
.entry-card-wrap:hover .entry-card,.entry-card:hover,.a-wrap:hover .entry-card{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(83,74,183,.12); }
.entry-card-title,.card-title{ font-weight:500; }

/* カテゴリラベル */
.cat-label{ background:var(--vn)!important; color:#fff!important; border-radius:6px; font-size:11px; padding:2px 8px; border:none; }

/* 画像なしサムネ → ブランド色プレースホルダ */
img.no-image,.no-image.entry-card-thumb-image{ display:none!important; }
.entry-card-thumb,.card-thumb{ background:var(--vn-l)!important; border-radius:8px; min-height:110px; }

/* ウィジェット見出し */
.widget-sidebar-title,.widget-title,.sidebar h3,.widget h3{ border-left:4px solid var(--vn); border-radius:0; padding-left:10px; }

/* ボタン／続きを読む */
.more-link,.btn,a.btn{ background:var(--vn)!important; color:#fff!important; border-radius:8px; border:none; }
/* ===== /voinavi brand polish ===== */

/* ===== voinavi fanza cards ===== */
.voinavi-fanza{ margin:2.2em 0; }
.voinavi-fanza-heading{
  font-weight:600; font-size:1.05em; margin:0 0 1em;
  border-left:5px solid var(--vn); padding-left:.55em;
}
.voinavi-fanza-grid{
  display:grid; gap:16px;
  grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
}
.vf-card{
  display:flex; flex-direction:column;
  border:1px solid rgba(0,0,0,.10); border-radius:10px;
  overflow:hidden; background:#fff;
  transition:transform .15s ease, box-shadow .15s ease;
}
.vf-card:hover{ transform:translateY(-2px); box-shadow:0 6px 16px rgba(83,74,183,.14); }
/* サムネ: 巨大化を必ず抑える。高さ固定＋containでアスペクト比維持 */
.vf-thumb{ display:block; background:var(--vn-l); line-height:0; }
.vf-thumb img{
  width:100%; max-width:200px; height:170px;
  object-fit:contain; display:block; margin:0 auto;
}
.vf-title{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis;
  font-size:.85em; line-height:1.4; min-height:2.4em;
  margin:.6em .7em .4em; color:#333; text-decoration:none;
}
.vf-title:hover{ color:var(--vn-d); }
.vf-cta{
  margin:auto .7em .8em; text-align:center;
  background:var(--vn); color:#fff!important; font-weight:600;
  border-radius:6px; padding:.5em .6em; font-size:.82em;
  text-decoration:none; white-space:nowrap;
}
.vf-cta:hover{ background:var(--vn-d); }
/* スマホは2列 */
@media screen and (max-width:480px){
  .voinavi-fanza-grid{ grid-template-columns:repeat(2, 1fr); gap:10px; }
  .vf-thumb img{ height:140px; }
}
/* ===== /voinavi fanza cards ===== */
