/*
 Theme Name: Lightning Child
 Template: lightning
 Description: Child theme for Lightning
 Version: 1.0
*/

/* =========================================================
 * Lightning: スクロール追尾ヘッダーを停止（安全CSS）
 * =======================================================*/
#site-header{ position: static !important; transform:none !important; }

/* =========================================================
 * 最小の見た目調整（安全）
 * =======================================================*/
footer .site-footer-copyright > p + p{ display:none !important; }

.tags-links,
.tag-links,
.post-tags,
.entry-footer .vk_post_tags,
.entry-meta .vk_post_tags,
.vk_post_tags,
.vk_post_term_tags,
.vk_post_terms_tags{ display:none !important; }

.widget_tag_cloud,
.tagcloud{ display:none !important; }

/* =========================================================
 * 埋め込み（YouTube / Facebook 等）レスポンシブ
 * =======================================================*/
.embed-wrap{
  position:relative;
  width:100%;
  max-width:800px;
  margin:0 auto;
  height:0;
  overflow:hidden;
}
.embed-16x9{ padding-top:56.25%; }
.embed-5x7 { padding-top:140%; }
.embed-wrap > iframe{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  border:0;
}
.wp-block-columns .embed-wrap{ max-width:100%; }
@media (max-width:480px){
  .embed-5x7{ padding-top:125%; }
}
.wp-block-heading + .embed-wrap{ margin-top:.75rem; }

/* =========================================================
 * 検索ボタン（クラシック/ブロック）
 * =======================================================*/
.widget_search .searchform input[type="submit"],
input[type="submit"]#searchsubmit,
.wp-block-search__button{
  background-color:#67ac35;
  color:#fff;
  border:none;
  padding:.5em 1em;
  border-radius:4px;
  cursor:pointer;
  appearance:none;
  transition:filter .2s ease, background-color .2s ease;
}
.widget_search .searchform input[type="submit"]:hover,
input[type="submit"]#searchsubmit:hover,
.wp-block-search__button:hover{ filter:brightness(1.12); }
.widget_search .searchform input[type="submit"]:focus-visible,
input[type="submit"]#searchsubmit:focus-visible,
.wp-block-search__button:focus-visible{
  outline:2px solid #222;
  outline-offset:2px;
}

/* =========================================================
 * スマホ：投稿リスト共通（2列×3行）
 * - Latest Posts / Query Loop /（必要なら）Recent Entries
 * =======================================================*/
@media (max-width: 767.98px){

  /* A) ブロック「最新の投稿」 */
  .wp-block-latest-posts__list > li{
    display:grid !important;
    grid-template-columns: 88px 1fr !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 12px !important;
    row-gap: 6px !important;
    align-items:start !important;
  }
  .wp-block-latest-posts__featured-image.alignleft{
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    margin: 0 !important;
    float:none !important;
    width: 88px !important;
  }
  .wp-block-latest-posts__featured-image img{
    width:100% !important;
    height:auto !important;
    display:block !important;
    border-radius:10px;
  }
  .wp-block-latest-posts__post-title{
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width:0 !important;
  }
  .wp-block-latest-posts__post-date{
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
  }
  .wp-block-latest-posts__post-excerpt{
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    margin: 0 !important;
  }

  /* B) クエリーループ */
  .wp-block-post-template > li{
    display:grid !important;
    grid-template-columns: 88px 1fr !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 12px !important;
    row-gap: 6px !important;
    align-items:start !important;
  }
  .wp-block-post-template > li .wp-block-post-featured-image{
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    margin: 0 !important;
  }
  .wp-block-post-template > li .wp-block-post-featured-image img{
    width: 88px !important;
    height: auto !important;
    display:block !important;
    border-radius:10px;
  }
  .wp-block-post-template > li .wp-block-post-title{
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width:0 !important;
  }
  .wp-block-post-template > li .wp-block-post-date{
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
  }
  .wp-block-post-template > li .wp-block-post-excerpt{
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    margin: 0 !important;
  }
  .wp-block-post-template > li .wp-block-post-excerpt p{ margin:0 !important; }

  /* D) クラシック「最近の投稿」（壊さない範囲） */
  .widget_recent_entries ul > li{
    display:grid !important;
    grid-template-columns: 88px 1fr !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 12px !important;
    row-gap: 6px !important;
    align-items:start !important;
  }
  .widget_recent_entries ul > li img{
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 88px !important;
    height:auto !important;
    border-radius:10px;
    display:block !important;
  }
  .widget_recent_entries ul > li a{
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width:0 !important;
  }
  .widget_recent_entries ul > li .post-date,
  .widget_recent_entries ul > li time{
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    font-size: .85rem;
    opacity: .8;
  }
  .widget_recent_entries ul > li .excerpt,
  .widget_recent_entries ul > li .post-excerpt,
  .widget_recent_entries ul > li .wp-block-post-excerpt{
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    margin: 0 !important;
  }

  /* 続きを読むボタン（共通の見た目） */
  .read-more, .wp-block-read-more, .more-link{
    display:inline-block;
    padding:12px 16px;
    line-height:1;
    border-radius:999px;
    text-decoration:none;
  }
}

/* =========================================================
 * LINE：Social Icons のリンクだけ画像置換（任意）
 * =======================================================*/
.wp-block-social-links a[href*="lin.ee"],
.wp-block-social-links a[href*="line.me"]{
  position:relative;
  background:none !important;
  color:inherit !important;
  border-radius:0 !important;
  padding:0 !important;
  line-height:0;
}
.wp-block-social-links a[href*="lin.ee"] svg,
.wp-block-social-links a[href*="line.me"] svg{
  opacity:0;
  width:0;
  height:0;
}
.wp-block-social-links a[href*="lin.ee"]::before,
.wp-block-social-links a[href*="line.me"]::before{
  content:"";
  display:inline-block;
  width:54px;
  height:54px;
  background-image:url("https://kokoro-barrierfree.jp/wp-content/uploads/2025/10/lineLogo.png");
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  vertical-align:middle;
  transform:translateZ(0);
}
.wp-block-social-links a[href*="lin.ee"]:hover::before,
.wp-block-social-links a[href*="line.me"]:hover::before{ transform:scale(1.06); }

/* =========================================================
 * KBF（実績・トップ）カード共通
 * =======================================================*/
/* 検索ページだけのコントロール */
#kbf-achievements .kbf-controls{
  display:grid;
  grid-template-columns:1fr 2fr auto;
  gap:.75rem;
  align-items:start;
  margin:1rem 0;
}
#kbf-achievements .kbf-controls label{
  display:grid;
  gap:.25rem;
  font-size:.95rem;
  margin:0;
  line-height:1.2;
}
#kbf-achievements .kbf-controls select,
#kbf-achievements .kbf-controls input[type="search"]{
  height:40px;
  line-height:40px;
  padding:0 .75rem;
  border:1px solid #d1d5db;
  border-radius:8px;
  background:#fff;
  box-sizing:border-box;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
}
#kbf-achievements .kbf-controls input[type="search"]::-webkit-search-decoration,
#kbf-achievements .kbf-controls input[type="search"]::-webkit-search-cancel-button{
  -webkit-appearance:none;
}
#kbf-achievements .kbf-controls input[type="search"]:focus,
#kbf-achievements .kbf-controls select:focus{
  outline:2px solid #3b82f6;
  outline-offset:1px;
  border-color:#93c5fd;
  box-shadow:none;
}
@media (max-width:640px){
  #kbf-achievements .kbf-controls{ grid-template-columns:1fr; }
}

:is(#kbf-achievements, #kbf-achv-pickup){
  --kbf-card-border:#e5e7eb;
  --kbf-card-radius:14px;
  --kbf-card-shadow:0 2px 8px rgba(0,0,0,.04);
  --kbf-media-ratio: 4 / 3;
  --kbf-media-max: 180px;
  --kbf-media-min: 120px;
  --kbf-media-pc: 12%;
}

#kbf-achievements .kbf-grid,
#kbf-achv-pickup .kbf-list{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.2rem;
}

#kbf-achievements .kbf-card,
#kbf-achv-pickup .kbf-card{
  border:1px solid var(--kbf-card-border);
  border-radius:var(--kbf-card-radius);
  padding:12px;
  background:#fff;
  box-shadow:var(--kbf-card-shadow);
}

#kbf-achievements .kbf-card-inner,
#kbf-achv-pickup .kbf-card-inner{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  /* hoverで動かすので、ここは“切らない”ほうが安全 */
  overflow: visible;
}

#kbf-achievements .kbf-card-media,
#kbf-achv-pickup .kbf-card-media{
  flex:0 0 auto;
  aspect-ratio: var(--kbf-media-ratio);
  overflow:hidden;
  border-radius:10px;
}

#kbf-achievements .kbf-card-media .kbf-imglink,
#kbf-achv-pickup .kbf-card-media .kbf-imglink{
  display:block;
  width:100%;
  height:100%;
  line-height:0;
}

#kbf-achievements .kbf-thumb,
#kbf-achv-pickup .kbf-thumb{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:contain;
  object-position:50% 50%;
  background:#f3f4f6;
}

#kbf-achievements .kbf-card.no-thumb .kbf-card-media,
#kbf-achv-pickup .kbf-card.no-thumb .kbf-card-media{
  display:none !important;
}

#kbf-achievements .kbf-card-content,
#kbf-achv-pickup .kbf-card-content{
  flex:1 1 auto;
  min-width:0;
}

#kbf-achievements h3,
#kbf-achv-pickup .kbf-card-content h3{
  font-size:1.05rem;
  margin:.1rem 0 .3rem;
  line-height:1.35;
}

#kbf-achievements .kbf-meta,
#kbf-achv-pickup .kbf-meta{
  font-size:.85rem;
  color:#6b7280;
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}

#kbf-achievements .kbf-summary,
#kbf-achv-pickup .kbf-summary{
  font-size:.95rem;
  margin:.4rem 0 .2rem;
  color:#374151;
}

#kbf-achievements .kbf-tags,
#kbf-achv-pickup .kbf-tags{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
}

#kbf-achievements .kbf-card-content > p,
#kbf-achv-pickup .kbf-card-content > p{
  margin:0 !important;
}

#kbf-achievements .kbf-link,
#kbf-achv-pickup .kbf-link,
#kbf-achievements .kbf-summary,
#kbf-achv-pickup .kbf-summary{
  padding-top:6px !important;
  margin:0 !important;
}

@media (min-width:768px){
  #kbf-achievements .kbf-card-inner,
  #kbf-achv-pickup .kbf-card-inner{
    flex-direction:row;
    align-items:flex-start;
  }
  #kbf-achievements .kbf-card-media,
  #kbf-achv-pickup .kbf-card-media{
    flex: 0 0 var(--kbf-media-pc);
    max-width: var(--kbf-media-max);
    min-width: var(--kbf-media-min);
  }
}

/* トップ：カテゴリブロック間隔 */
#kbf-achv-pickup .kbf-pick-block{
  margin: 1.6rem 0;
  padding-top: .4rem;
}
#kbf-achv-pickup .kbf-pick-block > h3{
  margin: 0 0 .9rem !important;
  padding-bottom: .2rem;
}
#kbf-achievements h2,
#kbf-achievements h3{
  scroll-margin-top: 90px;
}

/* もっと見るボタン（検索ページのみ） */
#kbf-achievements{
  --kbf-btn:#67AC35;
  --kbf-btn-hover:#5b9b2f;
  --kbf-btn-press:#4b8427;
  --kbf-btn-ring: rgba(103,172,53,.35);
}
#kbf-achievements[data-btn="lime"]{
  --kbf-btn:#81D742;
  --kbf-btn-hover:#73c93a;
  --kbf-btn-press:#5fb230;
  --kbf-btn-ring: rgba(129,215,66,.35);
}
#kbf-achievements[data-btn="forest"]{
  --kbf-btn:#44A100;
  --kbf-btn-hover:#81d742;
  --kbf-btn-press:#2f7100;
  --kbf-btn-ring: rgba(68,161,0,.35);
}
#kbf-achievements .kbf-more{
  margin:1rem auto;
  display:block;
  padding:.7rem 1.2rem;
  border-radius:999px;
  border:1px solid transparent;
  background:var(--kbf-btn);
  color:#fff;
  font-weight:600;
  letter-spacing:.02em;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
#kbf-achievements .kbf-more:hover{
  background:var(--kbf-btn-hover);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
#kbf-achievements .kbf-more:active{
  background:var(--kbf-btn-press);
  transform:translateY(0);
  box-shadow:0 4px 12px rgba(0,0,0,.10);
}
#kbf-achievements .kbf-more:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px var(--kbf-btn-ring);
}
#kbf-achievements .kbf-more[disabled],
#kbf-achievements .kbf-more[aria-busy="true"]{
  opacity:.6;
  cursor:not-allowed;
  transform:none;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

/* =========================================================
 * VK/Lightning：サムネ上のラベル非表示
 * =======================================================*/
.vk_post_imgOuter .vk_post_imgOuter_singleTermLabel,
.vk_post_imgOuter span.vk_post_imgOuter_singleTermLabel,
.vk_post_imgOuter .card-img-overlay,
.vk_post_imgOuter .vk_post_imgOuter_singleTermLabel,
.vk_post_imgOuter .vk_post_imgOuter_singleTerm,
.vk_post_imgOuter [class*="singleTermLabel"],
.vk_post_imgOuter [class*="TermLabel"]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}
.vk_post_imgOuter .card-img-overlay{ pointer-events:none !important; }

/* =========================================================
 * 日程・空き状況ボタン（お問い合わせ風）
 * =======================================================*/
.sub-section--col--two #block-27 .kbfa-calpop-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding: calc(.667em + 2px) calc(1.333em + 2px);
  border-radius:6px;
  border:0;
  background: var(--vk-color-primary-dark, var(--vk-color-primary, #67ac35));
  color:#fff;
  font-size:1rem;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  box-shadow:none;
}
.sub-section--col--two #block-27 .kbfa-calpop-open:hover{ filter:brightness(1.08); }
.sub-section--col--two #block-27 .kbfa-calpop-open:focus-visible{
  outline:2px solid #222;
  outline-offset:2px;
}

/* =========================================================
 * KBFA カレンダーポップアップ（<dialog>）
 * =======================================================*/
dialog#kbfaCal_modal.kbfa-calpop{
  width: min(1100px, 96vw) !important;
  max-width: 96vw !important;
  margin: 2vh auto !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box !important;
}
dialog#kbfaCal_modal .kbfa-calpop__wrap,
dialog#kbfaCal_modal .kbfa-calpop__frame{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
dialog#kbfaCal_modal iframe{
  width:100% !important;
  display:block !important;
}
@media (max-width: 767px){
  dialog#kbfaCal_modal.kbfa-calpop{
    width: 96vw !important;
    max-width: 96vw !important;
    margin: 1.5vh auto !important;
  }
}

/* ヘッダー＆閉じるボタン */
dialog#kbfaCal_modal .kbfa-calpop__bar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:12px 14px !important;
  position:sticky !important;
  top:0 !important;
  background:#fff !important;
  z-index:10 !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
}
dialog#kbfaCal_modal .kbfa-calpop__title{
  margin:0 !important;
  line-height:1.2 !important;
  font-size:1.05rem !important;
  flex:1 1 auto !important;
  min-width:0 !important;
}
dialog#kbfaCal_modal .kbfa-calpop__close{
  flex:0 0 auto !important;
  width:44px !important;
  height:44px !important;
  border-radius:10px !important;
  border:1px solid rgba(0,0,0,.15) !important;
  background:#f3f4f6 !important;
  color:#111 !important;
  font-size:28px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  padding:0 !important;
}
dialog#kbfaCal_modal .kbfa-calpop__close:hover{ filter:brightness(0.98); }
dialog#kbfaCal_modal .kbfa-calpop__close:focus-visible{
  outline:2px solid #222 !important;
  outline-offset:2px !important;
}

/* =========================================================
 * お知らせページ（VK投稿リスト）だけ：メインとサイドを個別に最適化
 * =======================================================*/
@media (max-width: 767.98px){

  /* メイン投稿一覧（#main 内の vk_posts-mainSection） */
  #main .vk_posts-mainSection .vk_post{
    display:grid !important;
    grid-template-columns: 88px 1fr !important;
    grid-template-rows: auto auto auto auto !important;
    column-gap: 12px !important;
    row-gap: 6px !important;
    align-items:start !important;
  }

  #main .vk_posts-mainSection .vk_post .vk_post_imgOuter{
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 88px !important;
    aspect-ratio: 4 / 3;
    border-radius: 10px !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: 50% 50% !important;
    margin: 0 !important;
  }

  #main .vk_posts-mainSection .vk_post .vk_post_imgOuter img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    opacity:0 !important;
  }

  #main .vk_posts-mainSection .vk_post .vk_post_body{
    display: contents !important;
  }

  #main .vk_posts-mainSection .vk_post .vk_post_title{
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
  }
  #main .vk_posts-mainSection .vk_post .vk_post_date{
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
  }
  #main .vk_posts-mainSection .vk_post .vk_post_excerpt{
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    margin: 0 !important;
  }
  #main .vk_posts-mainSection .vk_post .vk_post_btnOuter{
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    margin-top: 6px !important;
  }

  /* サイドカラム「最近の投稿」だけ（widget_media） */
  body.blog #main + .sub-section .widget_media .vk_posts .vk_post{
    display:flex !important;
    align-items:flex-start !important;
    gap:12px !important;
  }
  body.blog #main + .sub-section .widget_media .vk_posts .vk_post .vk_post_imgOuter{
    flex:0 0 88px !important;
    width:88px !important;
    aspect-ratio:4 / 3 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background-size:cover !important;
    background-position:50% 50% !important;
  }
  body.blog #main + .sub-section .widget_media .vk_posts .vk_post .vk_post_imgOuter img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    opacity:0 !important;
  }
  body.blog #main + .sub-section .widget_media .vk_posts .vk_post .vk_post_body{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
}

/* =========================================================
 * 福祉美容（welfare_beauty）投稿だけ：メタデータ非表示
 * =======================================================*/
body.post-type-welfare_beauty .entry-header .entry-meta{
  display:none !important;
}

/* =========================================================
 * 福祉美容：タブ（tabsNav）装飾
 * =======================================================*/
.tabsNav{
  --tab-bg: #eaf6e6;
  --tab-border: #bfe2b6;
  --tab-text: #1f4d1f;
  --tab-hover: #d7f0d1;
  --tab-active: #67ac35;
  --tab-active-text: #ffffff;
  --tab-shadow: rgba(0,0,0,.08);

  display:flex;
  width:100%;
  gap:0;
  border:1px solid var(--tab-border);
  border-radius:12px;
  overflow:hidden;
  background:var(--tab-bg);
}

.tabsNav > button[role="tab"]{
  flex:1 1 0;
  width:100%;
  border:0;
  background:transparent;
  color:var(--tab-text);
  padding:12px 10px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  user-select:none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
  transition: background-color .15s ease, transform .08s ease, box-shadow .15s ease, color .15s ease;
}

.tabsNav > button[role="tab"]:not(:last-child){
  border-right:1px solid var(--tab-border);
}

.tabsNav > button[role="tab"]:hover{
  background:var(--tab-hover);
}

.tabsNav > button[role="tab"]:active{
  transform: translateY(1px);
}

.tabsNav > button[role="tab"].is-active,
.tabsNav > button[role="tab"][aria-selected="true"]{
  background:var(--tab-active);
  color:var(--tab-active-text);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.18),
    inset 0 -3px 0 rgba(0,0,0,.18);
}

.tabsNav > button[role="tab"]:focus-visible{
  outline:3px solid rgba(103,172,53,.45);
  outline-offset:-3px;
}

@media (max-width: 480px){
  .tabsNav > button[role="tab"]{
    padding:11px 6px;
    font-size:.95rem;
  }
}

/* ============================
 * welfare_beauty 一覧：画像を大きく＆正方形で表示
 * ============================ */
.post-type-archive-welfare_beauty .vk_post-col .vk_post_imgOuter,
.tax-welfare_beauty_category .vk_post-col .vk_post_imgOuter,
.tax-welfare_beauty_tag .vk_post-col .vk_post_imgOuter{
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 14px;
}

.post-type-archive-welfare_beauty .vk_post-col .vk_post_imgOuter img,
.tax-welfare_beauty_category .vk_post-col .vk_post_imgOuter img,
.tax-welfare_beauty_tag .vk_post-col .vk_post_imgOuter img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.post-type-archive-welfare_beauty .vk_post-col .vk_post_imgOuter img{
  max-width: none;
}

.post-type-archive-welfare_beauty .vk_post_date,
.single-welfare_beauty .vk_posts.next-prev .vk_post_date{
  display:none !important;
}

/* =========================================================
 * 投稿記事data調整（トップ KBF）
 *  ※超ロングなhtml body... 指定は重いので、必要最低限の形へ整理
 * =======================================================*/
body.page-id-6 #kbf-achv-pickup .kbf-meta span{
  font-size: 1.05rem;
}
body.page-id-6 #kbf-achv-pickup .kbf-card-content h3{
  font-size: 1.25rem;
}

/* =========================================================
  KBF Hover 共通（軽量化）
  - hover可能なPCだけ
  - “リンクがあるカードだけ”浮く（pickupのリンク無しカードは浮かない）
  - 影だけにならないよう、innerを動かす
========================================================= */
@media (hover:hover) and (pointer:fine){

  /* 1) KBFカード：リンク(a)を含む card のみ hover 対象 */
  #main .entry-body .kbf-list > article.kbf-card:has(a){
    position: relative;
    z-index: 0;
  }

  /* 2) 動かすのは inner（親のoverflow影響を受けにくい） */
  #main .entry-body .kbf-list > article.kbf-card:has(a) > .kbf-card-inner{
    transform: translateZ(0);
    transition: transform .16s ease, box-shadow .16s ease;
    will-change: transform;
  }

  /* 3) 上昇量：ここを -10px / -12px にするともっと上がる */
  #main .entry-body .kbf-list > article.kbf-card:has(a):hover{
    z-index: 5;
  }
  #main .entry-body .kbf-list > article.kbf-card:has(a):hover > .kbf-card-inner{
    transform: translateY(-8px);
    box-shadow: 0 16px 32px rgba(0,0,0,.16);
  }
}

/* =========================================================
  TOP(page-id-6) 最新の投稿：Pinterest風 masonry（空白ゼロ）
========================================================= */
body.page-id-6 #post-6 .entry-body ul.wp-block-latest-posts__list{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;

  display:block !important;
  column-count:3 !important;
  column-gap:6px !important;
}

body.page-id-6 #post-6 .entry-body ul.wp-block-latest-posts__list > li{
  break-inside:avoid !important;
  -webkit-column-break-inside:avoid !important;

  display:inline-block !important;
  width:100% !important;

  margin:0 0 6px 0 !important;
  padding:6px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:10px !important;
  background:#fff !important;
  overflow:hidden !important;
}

body.page-id-6 #post-6 .entry-body .wp-block-latest-posts__featured-image{
  float:none !important;
  width:auto !important;
  margin:0 0 4px 0 !important;
  padding:0 !important;
}
body.page-id-6 #post-6 .entry-body .wp-block-latest-posts__featured-image a{
  display:block !important;
}
body.page-id-6 #post-6 .entry-body .wp-block-latest-posts__featured-image img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  border-radius:10px !important;
}

body.page-id-6 #post-6 .entry-body a.wp-block-latest-posts__post-title{
  display:block !important;
  margin:0 !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  text-decoration:none !important;
}
body.page-id-6 #post-6 .entry-body time.wp-block-latest-posts__post-date{
  display:block !important;
  margin-top:3px !important;
  font-size:.85em !important;
  opacity:.75 !important;
}
body.page-id-6 #post-6 .entry-body .wp-block-latest-posts__post-excerpt{
  margin-top:4px !important;
  line-height:1.6 !important;

  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
}

body.page-id-6 #post-6 .entry-body
:where(a.wp-block-latest-posts__post-title, time.wp-block-latest-posts__post-date, .wp-block-latest-posts__post-excerpt){
  grid-column:auto !important;
  grid-row:auto !important;
}

@media (max-width:1024px){
  body.page-id-6 #post-6 .entry-body ul.wp-block-latest-posts__list{ column-count:2 !important; }
}
@media (max-width:600px){
  body.page-id-6 #post-6 .entry-body ul.wp-block-latest-posts__list{ column-count:1 !important; }
}

/* =========================================================
  本文内の「画像リンク」 hover（本文のみ・サイド除外）
========================================================= */
#main .entry-body figure.wp-block-image a{
  display:block;
  line-height:0;
  border-radius:10px;
  overflow:hidden;
  transform: translateZ(0);
  transition: transform .14s ease, box-shadow .14s ease;
}
#main .entry-body figure.wp-block-image a > img{
  display:block;
  width:100%;
  height:auto;
}
@media (hover:hover) and (pointer:fine){
  #main .entry-body figure.wp-block-image a:hover{
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(0,0,0,.10);
  }
}
/* サイド内の画像リンクは浮かせない（保険） */
.sub-section figure.wp-block-image a{
  box-shadow:none !important;
  transform:none !important;
}
/* =========================================================
 * TOP お知らせ（Latest Posts：top-news-list）hover
 * - 影＋浮き
 * - リンクがあるliだけ効く（保険）
 * =======================================================*/
@media (hover:hover) and (pointer:fine){

  body.page-id-6 #post-6 .entry-body
  ul.wp-block-latest-posts__list.top-news-list > li:has(a){
    position:relative;
    z-index:0;
    transform: translateZ(0);
    transition: transform .16s ease, box-shadow .16s ease;
    will-change: transform;
  }

  body.page-id-6 #post-6 .entry-body
  ul.wp-block-latest-posts__list.top-news-list > li:has(a):hover{
    z-index:5;
    transform: translateY(-6px);
    box-shadow: 0 10px 22px rgba(0,0,0,.10);
  }
}

/* =========================================================
 * activity（#kbf-achievements）検索版：リンクがあるカードだけ hover
 * - 記事内に <a> が1つでもあれば浮く＋影
 * - 画像リンク/「詳細を見る→」どっちでもOK
========================================================= */
@media (hover:hover) and (pointer:fine){

  /* リンクを含む card のみ hover 対象 */
  #kbf-achievements .kbf-grid > article.kbf-card:has(a){
    position: relative;
    z-index: 0;
    transform: translateZ(0);
    transition: transform .16s ease, box-shadow .16s ease;
    will-change: transform;
  }

  #kbf-achievements .kbf-grid > article.kbf-card:has(a):hover{
    z-index: 5;
    transform: translateY(-8px);
    box-shadow: 0 16px 32px rgba(0,0,0,.16);
  }
}
