/*
Theme Name: 婚外恋愛のすすめ
Theme URI: https://example.com/
Author: 婚外恋愛のすすめ 編集部
Author URI: https://example.com/
Description: 既婚者の出会い・セカンドパートナーを応援するメディア向けWordPressテーマ。スマホ優先・SEO重視。テラコッタ配色／Zen Maru Gothic＋Zen Kaku Gothic New。
Version: 3.3.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: konggai-susume
*/

/* ===== デザイントークン ===== */
:root{
  --bg:#F8F2EA; --ink:#3D352F; --sub:#8A7C70; --coral:#E07A5F; --coral-d:#C75D43;
  --teal:#4F9285; --mustard:#E8A23D; --line:#EBE0D3; --chip:#F1E7D9; --card:#FFFFFF;
  --maru:"Zen Maru Gothic", sans-serif;
  --gothic:"Zen Kaku Gothic New", sans-serif;
  --mono:"DM Mono", ui-monospace, monospace;
  --wrap:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--gothic);line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.maru{font-family:var(--maru)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 18px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ===== ヘッダー ===== */
.site-header{position:sticky;top:0;z-index:30;background:rgba(248,242,234,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .bar{max-width:var(--wrap);margin:0 auto;min-height:62px;display:flex;align-items:center;gap:18px;padding:9px 18px}
.logo{display:flex;align-items:center;gap:9px}
.logo svg{flex:0 0 auto}
.logo b{font-family:var(--maru);font-weight:800;font-size:16px;line-height:1.1}
.logo small{display:block;font-size:8px;color:var(--sub);letter-spacing:.14em;margin-top:1px}
.global-nav{display:none}
.global-nav ul{list-style:none;display:flex;gap:20px}
.global-nav a{font-size:13.5px;font-weight:600;transition:color .15s}
.global-nav a:hover{color:var(--coral-d)}
.head-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.search-toggle,.nav-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
.nav-toggle{flex-direction:column;gap:4px;border-radius:10px}
.nav-toggle span{width:18px;height:2.4px;background:var(--ink);border-radius:2px;transition:.2s}
.cta-btn{display:none}
/* drawer (mobile) */
.drawer{position:fixed;inset:0 0 0 auto;width:80%;max-width:320px;background:var(--bg);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .25s;z-index:40;padding:24px 22px;overflow-y:auto}
.drawer.is-open{transform:translateX(0)}
.drawer ul{list-style:none}
.drawer li{border-bottom:1px solid var(--line)}
.drawer a{display:block;padding:14px 4px;font-weight:600;font-size:15px}
.drawer .close{margin-left:auto;display:block;font-size:24px;background:none;border:none;cursor:pointer;color:var(--sub);margin-bottom:10px}
.backdrop{position:fixed;inset:0;background:rgba(40,30,25,.4);opacity:0;visibility:hidden;transition:.2s;z-index:39}
.backdrop.is-open{opacity:1;visibility:visible}

/* ===== ボタン ===== */
.btn{display:inline-block;text-align:center;font-family:var(--maru);font-weight:800;font-size:14px;padding:13px 22px;border-radius:14px;cursor:pointer;border:none}
.btn.primary{background:var(--coral);color:#fff;box-shadow:0 6px 16px rgba(199,93,67,.3)}
.btn.ghost{background:#fff;color:var(--coral-d);border:1.6px solid var(--coral)}

/* ===== ヒーロー ===== */
.hero{padding:30px 18px 8px;max-width:var(--wrap);margin:0 auto}
.hero .ribbon{display:inline-flex;align-items:center;gap:7px;background:var(--chip);color:var(--coral-d);font-size:12px;font-weight:700;padding:6px 13px;border-radius:22px;margin-bottom:14px}
.hero h1{font-family:var(--maru);font-size:28px;line-height:1.4;font-weight:800;letter-spacing:.01em;text-wrap:balance}
.hero h1 .hl{color:var(--coral-d)}
.hero p.lead{font-size:14px;line-height:1.9;color:var(--sub);margin-top:13px;max-width:560px}
.hero .cta{display:flex;gap:11px;margin-top:18px;flex-wrap:wrap}

/* ===== セクション見出し ===== */
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.sec-head h2{font-family:var(--maru);font-size:19px;font-weight:800;display:flex;align-items:center;gap:9px}
.sec-head h2 .ic{width:22px;height:22px;border-radius:7px;background:var(--teal);display:inline-block}
.sec-head a{font-size:12px;color:var(--sub);font-weight:600}
.section{max-width:var(--wrap);margin:0 auto;padding:16px 18px 0}

/* ===== カルーセル ===== */

.carousel .track::-webkit-scrollbar{display:none}

.carousel .foot{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px}
.carousel .dots{display:flex;gap:6px}
.carousel .dot{width:7px;height:7px;border-radius:50%;background:var(--line);border:none;cursor:pointer;padding:0;transition:.2s}
.carousel .dot.on{background:var(--coral);width:20px;border-radius:4px}
.carousel .arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:18px;cursor:pointer;display:none;align-items:center;justify-content:center;line-height:1}
.carousel .arrow:hover{background:var(--coral);color:#fff;border-color:var(--coral)}

/* ===== カード ===== */
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 4px 16px rgba(74,58,53,.06);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(74,58,53,.1)}
.card .ph{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--chip)}
.card .bd{padding:13px 15px 15px}
.card .tag{display:inline-block;font-size:10.5px;font-weight:700;color:var(--coral-d);background:var(--chip);padding:4px 10px;border-radius:13px}
.card h3{font-size:15px;font-weight:700;line-height:1.5;margin-top:10px;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{font-size:11px;color:var(--sub);margin-top:11px;display:flex;gap:12px}
.card .meta span{white-space:nowrap;display:inline-flex;align-items:center;gap:4px}

/* 横並びリスト（新着5-8・カテゴリ別） */
.row-list{padding:14px 18px 0;max-width:var(--wrap);margin:0 auto}
.row-item{display:grid;grid-template-columns:160px 1fr;grid-template-rows:auto 1fr auto;column-gap:13px;row-gap:6px;padding:13px 0;border-bottom:1px solid var(--line)}
.row-item:first-child{padding-top:4px}
.row-item:last-child{border-bottom:0}
.row-item .ph{grid-column:1;grid-row:1/4;width:160px;height:100%;min-height:90px;border-radius:12px;object-fit:cover;background:var(--chip);align-self:stretch}
.row-item .rx{display:contents}
.row-item .tag{grid-column:2;grid-row:1;font-size:13px;font-weight:700;color:var(--coral-d);align-self:start}
.row-item h3{grid-column:2;grid-row:2;font-size:17px;font-weight:700;line-height:1.5;margin-top:0;align-self:start;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-item .meta{grid-column:2;grid-row:3;font-size:12px;color:var(--sub);margin-top:0;display:flex;gap:10px;align-self:end}
.row-item .meta span{white-space:nowrap}

/* ===== 人気ランキング ===== */
.ranking{display:flex;flex-direction:column;gap:13px}
.rank-item{display:flex;gap:12px;align-items:center}
.rank-item .no{flex:0 0 auto;width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--maru);font-weight:900;font-size:15px;color:#fff;background:#D9C6BC}
.rank-item:nth-child(1) .no{background:var(--coral-d)}
.rank-item:nth-child(2) .no{background:var(--coral)}
.rank-item:nth-child(3) .no{background:#D8A36B}
.rank-item .rx{flex:1}
.rank-item h3{font-size:13.5px;font-weight:700;line-height:1.5}
.rank-item .meta{font-size:10.5px;color:var(--sub);margin-top:4px}
.rank-item .ph{width:54px;height:54px;border-radius:12px;object-fit:cover;flex:0 0 auto;background:var(--chip)}

/* ===== カテゴリタブ ===== */
.cat-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.cat-tabs::-webkit-scrollbar{display:none}
.cat-tab{flex:0 0 auto;font-size:12px;font-weight:600;padding:8px 14px;border-radius:20px;background:#fff;border:1px solid var(--line);color:var(--ink);white-space:nowrap;cursor:pointer;font-family:inherit}
.cat-tab.on{background:var(--coral);color:#fff;border-color:var(--coral)}
.cat-panel{margin-top:14px}
.cat-panel[hidden]{display:none}
.cat-panel .row-list{padding-left:0;padding-right:0}

/* ===== サイドバー ===== */
.sidebar{margin-top:30px}
.widget{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:0 4px 16px rgba(74,58,53,.04)}
.widget h3,.widget .widget-title{font-family:var(--maru);font-size:15px;font-weight:800;margin-bottom:13px}
.widget ul{list-style:none}
.widget li{font-size:13px;padding:8px 0;border-bottom:1px solid var(--line)}
.widget li:last-child{border-bottom:0}
.widget a:hover{color:var(--coral-d)}
.tagcloud{display:flex;flex-wrap:wrap;gap:8px}
.tagcloud a{font-size:11.5px!important;font-weight:600;color:var(--coral-d)!important;background:var(--bg);padding:7px 12px;border-radius:16px;border:1px solid var(--chip)}
.side-cta{background:linear-gradient(135deg,var(--coral),var(--coral-d));border-radius:18px;padding:22px;color:#fff;box-shadow:0 10px 24px rgba(199,93,67,.26)}
.side-cta .t{font-family:var(--maru);font-weight:800;font-size:17px;line-height:1.5}
.side-cta p{font-size:12px;line-height:1.7;opacity:.95;margin-top:9px}
.side-cta a{display:block;text-align:center;background:#fff;color:var(--coral-d);font-family:var(--maru);font-weight:800;font-size:13.5px;padding:12px;border-radius:12px;margin-top:15px}

/* ===== パンくず ===== */
.breadcrumb{max-width:var(--wrap);margin:0 auto;padding:13px 18px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11px;color:var(--sub)}
.breadcrumb .sep{opacity:.45}
.breadcrumb [aria-current]{color:var(--coral-d);font-weight:700}

/* ===== 記事詳細 ===== */
.single-main{max-width:var(--wrap);margin:0 auto;padding:14px 18px 0}
.article .cat{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--coral);padding:4px 12px;border-radius:20px}
.article h1{font-family:var(--maru);font-size:23px;font-weight:800;line-height:1.55;margin-top:13px;letter-spacing:.01em;text-wrap:pretty}
.article .ameta{display:flex;align-items:center;gap:11px;margin-top:15px;font-size:11px;color:var(--sub);flex-wrap:wrap}
.article .ameta .av{width:28px;height:28px;border-radius:50%;background:var(--chip);object-fit:cover}
.article .ameta b{color:var(--ink);font-weight:700}
.article .eyecatch{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin-top:16px;background:var(--chip)}
.article-body{padding-top:6px;font-size:14.5px}
.article-body>*{margin-top:16px}
.article-body p{line-height:1.95}
.article-body h2{font-family:var(--maru);font-size:18px;font-weight:800;line-height:1.5;margin-top:30px;padding-left:13px;border-left:5px solid var(--coral);text-wrap:pretty}
.article-body h3{font-size:15px;font-weight:700;color:var(--coral-d);margin-top:24px}
.article-body ul,.article-body ol{padding-left:22px}
.article-body li{margin-top:7px;line-height:1.8}
.article-body blockquote{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;color:var(--sub);box-shadow:0 4px 16px rgba(74,58,53,.05)}
.article-body img{border-radius:14px}
.article-body a{color:var(--coral-d);text-decoration:underline;text-underline-offset:3px}
.article .tagrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.article .tagrow a{font-size:11.5px;font-weight:600;color:var(--coral-d);background:#fff;border:1px solid var(--chip);padding:7px 12px;border-radius:18px}
.article-cta{margin-top:28px;background:linear-gradient(135deg,var(--coral),var(--coral-d));border-radius:20px;padding:22px 20px;color:#fff;box-shadow:0 10px 24px rgba(199,93,67,.26)}
.article-cta .lab{font-size:10.5px;font-weight:700;letter-spacing:.12em;opacity:.85}
.article-cta .t{font-family:var(--maru);font-weight:800;font-size:18px;line-height:1.5;margin-top:6px}
.article-cta p{font-size:12px;line-height:1.75;opacity:.95;margin-top:9px}
.article-cta a{display:block;text-align:center;background:#fff;color:var(--coral-d);font-family:var(--maru);font-weight:800;font-size:14px;padding:13px;border-radius:13px;margin-top:15px}
.author-box{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;gap:13px;box-shadow:0 4px 16px rgba(74,58,53,.05)}
.author-box .av{width:52px;height:52px;border-radius:16px;flex:0 0 auto;background:var(--chip);object-fit:cover}
.author-box .nm{font-family:var(--maru);font-weight:800;font-size:14px}
.author-box .ro{font-size:10.5px;color:var(--coral-d);font-weight:700;margin-top:2px}
.author-box p{font-size:11.5px;color:var(--sub);line-height:1.75;margin-top:9px}
.related{max-width:var(--wrap);margin:0 auto;padding:30px 18px 0}

/* ===== アーカイブ ===== */
.page-head{max-width:var(--wrap);margin:0 auto;padding:6px 18px 0}
.page-head h1{font-family:var(--maru);font-size:24px;font-weight:800}
.page-head p{font-size:12.5px;color:var(--sub);margin-top:8px}
.cat-hero{max-width:var(--wrap);margin:14px auto 0;padding:0 18px}
.cat-hero .inner{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;padding:20px;background:linear-gradient(135deg,#FBE8DE,#F5DACB)}
.cat-hero.is-tag .inner{background:#fff}
.cat-hero .lab{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--coral-d)}
.cat-hero h1{font-family:var(--maru);font-size:22px;font-weight:800;margin-top:8px}
.cat-hero p{font-size:12.5px;color:var(--ink);opacity:.82;line-height:1.9;margin-top:11px}
.cat-hero .cnt{font-family:var(--mono);font-size:11px;color:var(--coral-d);margin-top:12px}
.pagination{display:flex;justify-content:center;gap:7px;margin-top:30px;flex-wrap:wrap}
.pagination .page-numbers{min-width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;background:#fff;border:1px solid var(--line);color:var(--ink)}
.pagination .page-numbers.current{background:var(--coral);color:#fff;border-color:var(--coral)}
.pagination a.page-numbers:hover{border-color:var(--coral)}

/* ===== フッター ===== */
.site-footer{background:var(--ink);color:#fff;margin-top:40px}
.site-footer .inner{max-width:var(--wrap);margin:0 auto;padding:40px 18px 20px;display:grid;grid-template-columns:1fr;gap:26px}
.site-footer .flogo{font-family:var(--maru);font-weight:900;font-size:19px;margin-bottom:10px}
.site-footer .about{font-size:12px;line-height:1.85;color:rgba(255,255,255,.6);max-width:340px}
.site-footer .col h4{font-size:12px;font-weight:700;margin-bottom:11px;color:rgba(255,255,255,.92)}
.site-footer .col ul{list-style:none}
.site-footer .col a{display:block;font-size:12.5px;color:rgba(255,255,255,.6);padding:5px 0}
.site-footer .col a:hover{color:#fff}
.site-footer .note{max-width:var(--wrap);margin:0 auto;padding:16px 18px 30px;font-size:10.5px;color:rgba(255,255,255,.4);line-height:1.7;border-top:1px solid rgba(255,255,255,.12);margin-top:8px}

/* 年齢確認モーダル */
.age-gate{position:fixed;inset:0;background:rgba(40,30,25,.7);backdrop-filter:blur(8px);z-index:60;display:flex;align-items:center;justify-content:center;padding:24px}
.age-gate .box{background:var(--bg);border-radius:22px;max-width:360px;padding:30px 26px;text-align:center}
.age-gate h2{font-family:var(--maru);font-size:19px;font-weight:800}
.age-gate p{font-size:12.5px;color:var(--sub);margin-top:12px;line-height:1.8}
.age-gate .acts{display:flex;gap:10px;margin-top:20px}
.age-gate .acts .btn{flex:1}

/* ===== レスポンシブ（PC） ===== */
@media(min-width:1024px){
  .wrap,.hero,.section,.row-list,.single-main,.breadcrumb,.related,.page-head,.cat-hero,.site-footer .inner,.site-footer .note,.site-header .bar{padding-left:30px;padding-right:30px}
  .global-nav{display:block}
  .nav-toggle{display:none}
  .cta-btn{display:inline-block;background:var(--coral);color:#fff;font-family:var(--maru);font-weight:800;font-size:13px;padding:11px 18px;border-radius:24px}
  .hero h1{font-size:40px}
  .hero p.lead{font-size:15px}
  .carousel .slide{width:300px}
  .carousel .arrow{display:flex}
  .sec-head h2{font-size:22px}
  /* 2カラム */
  .main-grid,.single-grid{max-width:var(--wrap);margin:0 auto;padding:0 30px;display:grid;grid-template-columns:minmax(0,1fr) 326px;gap:44px;align-items:start}
  .main-grid .sidebar,.single-grid .sidebar{position:sticky;top:90px;margin-top:0}
  /* 新着5-8/カテゴリをグリッドカードに */
  .grid-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .cards-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .ranking{display:grid;grid-template-columns:1fr 1fr;gap:2px 30px}
  .article h1{font-size:30px}
  .article-body{font-size:15px}
  .article-body h2{font-size:22px}
  .page-head h1{font-size:30px}
  .site-footer .inner{grid-template-columns:2.2fr 1fr 1fr 1fr}
}
@media(min-width:1024px){
  /* デスクトップでは横並びリストよりカードグリッドを優先する箇所 */
  .row-list.as-grid{display:block;padding-top:0;padding-left:0;padding-right:0}
  .row-list.as-grid .row-item{display:grid;grid-template-columns:160px 1fr;grid-template-rows:auto 1fr auto;column-gap:13px;row-gap:6px;border-bottom:1px solid var(--line);padding:13px 0}
  .row-list.as-grid .row-item .ph{width:160px;height:100%;min-height:90px;border-radius:12px;align-self:stretch}
  .row-list.as-grid .row-item .rx{margin-top:10px}
}

/* Site name bold */
.site-name {
  font-weight: 700;
}


/* PC: グローバルナビを2段目に移動 */
@media (min-width: 769px) {
  .site-header .bar {
    flex-wrap: wrap !important;
    align-items: center;
    row-gap: 0 !important;
  }
  .site-header .logo {
    order: 1;
    flex: 1;
  }
  .site-header .head-actions {
    order: 2;
  }
  .site-header .global-nav {
    order: 3 !important;
    flex-basis: 100% !important;
    width: 100% !important;
    padding: 0 0 6px 1em;
  }
}

/* PC: ロゴ横のコンセプトメッセージ */
.site-tagline {
  display: none;
}
@media (min-width: 769px) {
  .site-tagline {
    display: block;
    order: 1;
    flex: 1;
    color: #999;
    font-size: 0.78rem;
    padding-left: 1.2em;
    align-self: center;
  }
  .site-header .logo {
    flex: 0 0 auto;
  }
}


/* ===== 検索オーバーレイ ===== */
.search-toggle { background:none; border:none; cursor:pointer; color:inherit; display:flex; align-items:center; padding:4px; }
.search-overlay {
  position:fixed;
  top:0; right:0; bottom:0; left:0;
  background:rgba(61,53,47,0.90);
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px 16px 24px;
  box-sizing:border-box;
  opacity:0; pointer-events:none; transition:opacity .2s;
}
.search-overlay.is-open { opacity:1; pointer-events:all; }
.search-overlay-inner {
  width:100%; max-width:680px;
  display:flex; align-items:center; gap:10px;
}
.search-overlay-form {
  flex:1; min-width:0;
  display:flex; align-items:center; gap:8px;
  background:#fff; border-radius:40px; padding:12px 16px;
  box-sizing:border-box;
}
.search-overlay-input {
  flex:1; min-width:0; border:none; outline:none;
  font-size:1rem; font-family:var(--gothic); color:var(--ink); background:transparent;
}
.search-overlay-form button[type="submit"] {
  background:none; border:none; cursor:pointer;
  color:var(--coral); display:flex; align-items:center; flex-shrink:0;
}
.search-overlay-close {
  background:none; border:none; cursor:pointer;
  color:#fff; font-size:1.8rem; line-height:1; padding:4px; flex-shrink:0;
}


/* ===== PC版カルーセル ===== */
@media (min-width: 769px) {
  /* ラッパー：左右にchラ見えさせるため overflow:hidden */
  .carousel {
    position: relative;
    max-width: calc(var(--wrap) - 60px);
    margin: 0 auto 12px;
    overflow: hidden;
  }
  /* トラック：両端にパディングで隣スライドをチラ見せ */
  .carousel .track {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    gap: 16px;
    padding: 0 7%;
    box-sizing: content-box;
  }
  .carousel .track::-webkit-scrollbar { display: none; }
  /* 各スライド：86%幅で左右にチラ見え */
  .carousel .slide {
    flex: 0 0 86%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  }
  /* カード：縦積み（画像→テキスト） */
  .carousel .card {
    display: block;
    text-decoration: none;
    background: var(--card);
  }
  /* 画像：16:9 全表示 */
  .carousel .card .ph {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    border-radius: 0;
  }
  .carousel .card .bd {
    padding: 18px 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: var(--card);
  }
  .carousel .card .bd h3 {
    font-size: 1.05rem;
    line-height: 1.6;
    font-weight: 700;
    color: var(--ink);
  }
  /* テキスト部分は非表示（アイキャッチに情報が入っているため） */
  .carousel .card .bd { display: none; }
  /* 矢印ボタン */
  .carousel .arrow {
    position: absolute;
    top: calc(43% - 22px);
    z-index: 10;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.95);
    border: none;
    cursor: pointer;
    font-size: 1.4rem;
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.18);
    transition: transform .15s;
    line-height: 1;
  }
  .carousel .arrow:hover { transform: scale(1.1); }
  .carousel .arrow.prev { left: 10px; }
  .carousel .arrow.next { right: 10px; }
  /* ドット */
  .carousel .dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    position: static;
    transform: none;
  }
  .carousel .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: var(--line);
    cursor: pointer;
    padding: 0;
    transition: background .2s;
  }
  .carousel .dot.on { background: var(--coral); width: 22px; border-radius: 4px; }
}


/* ===== サイドバーウィジェット非表示 ===== */
.widget:has(.mzb-tab-post){display:none}
.widget:has(.mzb-category-list){display:none}
.row-lis+p{display:none}
.section:has(.ranking){margin-bottom:20px}

/* ===== サイドバー空欄ウィジェット非表示 ===== */
.sidebar .widget:has(.wp-block-separator){display:none}
.sidebar .widget:has(.wp-block-spacer){display:none}
.sidebar .widget:empty{display:none}
.sidebar .widget_custom_html{display:none}

/* ===== Follow us on + SNS icons を1枠にまとめる ===== */
.sidebar .widget:has(h5.wp-block-heading){border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:0;padding-bottom:4px;box-shadow:0 4px 16px rgba(74,58,53,.04)}
.sidebar .widget:has(.mzb-social-icons){border-top:none;border-top-left-radius:0;border-top-right-radius:0;padding-top:4px}
.side-cta{display:none}

/* サイドバー人気ランキング：1カラム固定 */
.sidebar .ranking{display:flex;flex-direction:column;gap:13px}
.sidebar .rank-item .ph{width:72px;height:72px;min-height:unset;border-radius:8px;flex-shrink:0}

/* 検索ウィジェット非表示 */
.sidebar .widget_search{display:none}

/* メインコンテンツの人気ランキング非表示 */
#popular{display:none}

/* ページネーション横並び */
.nav-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}

/* 記事末PRブロック非表示 */
.article-cta{display:none}

/* 記事末執筆者情報非表示 */
.author-box{display:none}

/* パンくず〜カテゴリバッジ間のスペース */
.breadcrumb{margin-bottom:20px}

/* フッターコピーライト行センタリング */
.site-footer .note{padding-bottom:4px;margin-bottom:0}.copyright{text-align:center;margin-top:2px;padding-bottom:8px;font-size:10.5px;color:rgba(255,255,255,.4)}

/* 目次の角丸 */
#toc_container{border-radius:10px}

/* 記事内テーブル角丸 */
.article-body table{border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden;width:100%}
.article-body table th:first-child{border-radius:10px 0 0 0}
.article-body table th:last-child{border-radius:0 10px 0 0}
.article-body tr:last-child td:first-child{border-radius:0 0 0 10px}
.article-body tr:last-child td:last-child{border-radius:0 0 10px 0}
.wp-block-table{border-radius:10px;overflow:hidden}

/* FunFun CTAブロック文字サイズ */
.funfun-rec-box{font-size:17px}

/* FunFun公式CTAブロック（ピンク枠）文字サイズ */
.has-light-pink-background-color.has-background p{font-size:15px!important}
.has-light-pink-background-color.has-background{border-color:#4f9285!important;background-color:#fff!important}

/* サイドバーFunFun CTAの箇条書き文字サイズ */
.sidebar .has-light-pink-background-color.has-background p{font-size:13px!important}

/* ===== スマホ版カルーセル ===== */
@media (max-width: 768px) {
  .carousel {
    position: relative;
    max-width: 100%;
    margin: 0 0 12px;
    overflow: hidden;
  }
  .carousel .track {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    gap: 12px;
    padding: 0 7%;
    box-sizing: content-box;
  }
  .carousel .slide {
    flex: 0 0 84%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  }
  .carousel .card {
    display: block;
    text-decoration: none;
    background: var(--card);
  }
  .carousel .card .ph {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
  }
}
/* ===== スマホ版 新着カード ===== */
@media (max-width: 768px) {
  .row-list { padding-right: 18px; overflow: hidden; }
  /* 縦積みレイアウト：上に画像、下にコンテンツ */
  .row-item {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    row-gap: 6px;
    column-gap: 0;
    padding: 16px 0;
  }
  .row-item .ph {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    min-height: unset;
    border-radius: 10px;
    object-fit: cover;
  }
  .row-item .rx { display: contents; }
  .row-item .tag { grid-column: 1; grid-row: 2; }
  .row-item h3 {
    grid-column: 1;
    grid-row: 3;
    font-size: 15px;
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
  }
  .row-item .meta {
    grid-column: 1;
    grid-row: 4;
    flex-wrap: wrap;
    gap: 4px 8px;
  }
}
/* スマホ版 カテゴリ別の最新記事 見出し左スペース */
@media (max-width: 768px) {
  .section:has(.as-grid) > .sec-head { padding-left: 18px; }
}

/* スマホ版 サイドバー左右スペース（トップ・カテゴリページのみ） */
@media (max-width: 768px) {
  .main-grid .sidebar { padding: 0 18px; }
}

/* スマホ版 記事詳細ページ左右スペース */
@media (max-width: 768px) {
  .single-grid { padding: 0 18px; }
  .single-main { padding-left: 0; padding-right: 0; }
  .single-grid .row-list { padding-left: 0; padding-right: 0; }
  .single-grid .sidebar { padding: 0; }
}

/* スマホ版 コンテンツエリア タグライン */
.mobile-content-tagline { display: none; }
@media (max-width: 768px) {
  .mobile-content-tagline {
    display: block;
    text-align: center;
    color: #999;
    font-size: 13px;
    padding: 6px 18px 4px;
    line-height: 1.7;
  }
}
