:root{
  --baq-black:#1C2521; --baq-white:#FFFFFF; --baq-green:#3B5A4A; --baq-green-deep:#2A4236;
  --baq-green-thin:rgba(59,90,74,.07); --baq-accent:#B8935A; --baq-accent-thin:rgba(184,147,90,.12);
  --baq-gray:#6B7570; --baq-line:rgba(28,37,33,.08);
  --baq-radius-card:20px; --baq-radius-btn:999px;
  --baq-shadow-card:0 2px 8px rgba(28,37,33,.06), 0 1px 2px rgba(28,37,33,.04);
  --baq-shadow-card-hover:0 12px 28px rgba(28,37,33,.12), 0 2px 6px rgba(28,37,33,.06);
  --baq-space-section: clamp(48px, 8vw, 96px);
}
body{ color:var(--baq-black); }
p, li{ line-height:1.9; letter-spacing:.01em; }
h1,h2,h3,h4{ font-weight:700; letter-spacing:.01em; color:var(--baq-black); }
.post_content p{ font-size:1rem; line-height:2; margin-bottom:1.4em; color:#33403A; }
.post_content h2{ font-size:1.5rem; margin-top:2.6em; margin-bottom:1em; padding-bottom:.5em; border-bottom:2px solid var(--baq-green-thin); }
.post_content h3{ position:relative !important; padding:.7em 1em .7em 1.1em !important; background:var(--baq-white) !important; border-radius:12px !important; box-shadow:0 1px 4px rgba(28,37,33,.05) !important; border-left:3px solid var(--baq-accent) !important; border-top:none !important; margin-top:2em !important; font-size:1.2rem; color:var(--baq-green-deep); }
.l-mainCol > *, .p-widget, .c-widget, .l-container > .l-col2__main > *{ margin-bottom: var(--baq-space-section); }
#baq-categories, #baq-hero, .p-postList{ padding-top: clamp(24px,4vw,48px); padding-bottom: clamp(24px,4vw,48px); }
.p-postList__item, .p-widgetPostList__item, .c-postList__item, article.p-postList__item, .p-card{
  border:none !important; border-radius: var(--baq-radius-card) !important;
  box-shadow: var(--baq-shadow-card) !important; overflow:hidden; background:var(--baq-white);
  transition: transform .25s ease, box-shadow .25s ease;
  animation: baqFadeUp .7s ease both;
}
.p-postList__item:hover, .p-widgetPostList__item:hover, .c-postList__item:hover, .p-card:hover{
  transform: translateY(-4px); box-shadow: var(--baq-shadow-card-hover) !important;
}
.p-postList__item img, .p-widgetPostList__item img, .c-postList__item img{ aspect-ratio:16/10; object-fit:cover; width:100%; }
.p-postList__title, .p-widgetPostList__title, .c-postList__title{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.5; font-weight:700;
}
.p-postList__cat, .c-postList__cat, .cat-label, .p-postList__category{
  display:inline-block; background:var(--baq-green-thin) !important; color:var(--baq-green-deep) !important;
  border:none !important; border-radius:999px !important; padding:.25em .9em !important; font-size:.72rem !important; font-weight:700;
}
.wp-block-button__link, .c-btn, .p-btn, a.baq-btn, button.c-btn{
  border-radius: var(--baq-radius-btn) !important; min-height:48px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 2em !important; font-weight:700; letter-spacing:.02em;
  background:var(--baq-green) !important; color:var(--baq-white) !important; border:none !important;
  box-shadow:0 4px 14px rgba(59,90,74,.25); transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.wp-block-button__link:hover, .c-btn:hover, .p-btn:hover, a.baq-btn:hover{
  transform: translateY(-2px); box-shadow:0 8px 22px rgba(59,90,74,.32); background:var(--baq-green-deep) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent !important; color:var(--baq-green) !important; border:2px solid var(--baq-green) !important; box-shadow:none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{ background:var(--baq-green-thin) !important; }
.baq-box{ border-radius:16px; padding:1.4em 1.6em; margin:1.8em 0; animation: baqFadeUp .7s ease both; }
.baq-box-info{ background:var(--baq-green-thin); border-left:4px solid var(--baq-green); }
.baq-box-warning{ background:rgba(184,90,58,.08); border-left:4px solid #B85A3A; }
.baq-box-compare{ background:var(--baq-white); border:1px solid var(--baq-line); box-shadow:var(--baq-shadow-card); }
.baq-box-conclusion{ background:var(--baq-accent-thin); border-left:4px solid var(--baq-accent); font-weight:600; }
.baq-box p:last-child{ margin-bottom:0; }
.post_content table{ border-radius:14px; overflow:hidden; box-shadow:var(--baq-shadow-card); border-collapse:separate; border-spacing:0; }
.post_content table th{ background:var(--baq-green); color:var(--baq-white); font-weight:700; padding:.9em 1em; }
.post_content table td{ padding:.85em 1em; border-bottom:1px solid var(--baq-line); background:var(--baq-white); }
@keyframes baqFadeUp{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:translateY(0);} }
@media (prefers-reduced-motion: reduce){ .p-postList__item, .p-widgetPostList__item, .c-postList__item, .p-card, .baq-box{ animation:none; } }

.baq-entryNav__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:780px){ .baq-entryNav__grid{ grid-template-columns:repeat(2,1fr); } }
.baq-entryCard{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; background:var(--baq-white); border-radius:var(--baq-radius-card); padding:1.4em 1.3em; box-shadow:var(--baq-shadow-card); text-decoration:none !important; color:var(--baq-black) !important; transition:transform .25s ease, box-shadow .25s ease; }
.baq-entryCard:hover{ transform:translateY(-4px); box-shadow:var(--baq-shadow-card-hover); }
.baq-entryCard__ico{ width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--baq-green-thin); color:var(--baq-green); }
.baq-entryCard__ico svg{ width:22px; height:22px; }
.baq-entryCard__ttl{ font-weight:700; font-size:1.02rem; }
.baq-entryCard__sub{ font-size:.82rem; color:var(--baq-gray); }
.baq-catGrid .ico, .baq-guideCard .ico{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--baq-green-thin); color:var(--baq-green); }
.baq-catGrid .ico svg, .baq-guideCard .ico svg{ width:24px; height:24px; }
.baq-authorCard__avatar{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; background:var(--baq-green-thin); color:var(--baq-green); flex-shrink:0; }
.baq-authorCard__avatar svg{ width:28px; height:28px; }
.baq-authorCard__link svg{ width:16px; height:16px; vertical-align:-2px; margin-left:2px; }

.baq-heroPanel{ text-align:center; max-width:760px; margin:0 auto 3.6em; padding-top:8px; }
.baq-heroPanel__title{ font-size:clamp(1.5rem,4vw,2.1rem); font-weight:800; line-height:1.4; margin-bottom:.6em; }
.baq-heroPanel__sub{ color:var(--baq-gray); font-size:.98rem; line-height:1.9; margin-bottom:1.6em; }
.baq-heroPanel__search{ display:flex; max-width:480px; margin:0 auto 1.2em; border-radius:999px; overflow:hidden; box-shadow:var(--baq-shadow-card); border:1px solid var(--baq-line); background:var(--baq-white); }
.baq-heroPanel__searchInput{ flex:1; border:none; padding:0 1.3em; font-size:.92rem; background:transparent; outline:none; }
.baq-heroPanel__searchBtn{ border:none; background:var(--baq-green); color:var(--baq-white); font-weight:700; padding:0 1.6em; cursor:pointer; }
.baq-heroPanel__searchBtn:hover{ background:var(--baq-green-deep); }
.baq-heroPanel__pills{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.baq-heroPanel__pills a{ background:var(--baq-green-thin); color:var(--baq-green-deep); padding:.5em 1.2em; border-radius:999px; font-size:.86rem; font-weight:700; text-decoration:none !important; transition:background .2s ease, transform .2s ease; }
.baq-heroPanel__pills a:hover{ background:var(--baq-green); color:var(--baq-white) !important; transform:translateY(-2px); }

.archive .c-pageTitle{
  text-align:center; background:var(--baq-green-thin); border-radius:24px;
  padding:2.6em 1.5em 2em; margin-bottom:2em !important; border:none !important;
}
.archive .c-pageTitle::before{
  content:"CATEGORY"; display:block; font-size:.72rem; font-weight:800; letter-spacing:.14em;
  color:var(--baq-green); margin-bottom:.6em;
}
.archive .c-pageTitle__inner{ font-size:clamp(1.6rem,4vw,2.3rem); font-weight:800; color:var(--baq-black); }
.archive .c-pageTitle__subTitle{
  display:block; margin-top:.7em; font-size:.75rem !important; font-weight:700; letter-spacing:.05em;
  color:var(--baq-green-deep); background:var(--baq-white); display:inline-block; padding:.3em 1em; border-radius:999px; margin-top:.8em;
}

.p-breadcrumb{ font-size:.8rem; padding:.8em 0; color:var(--baq-gray); }
.p-breadcrumb a{ color:var(--baq-gray) !important; text-decoration:none !important; transition:color .2s ease; }
.p-breadcrumb a:hover{ color:var(--baq-green) !important; }

.c-secTitle{ font-size:clamp(1.2rem,3vw,1.5rem) !important; font-weight:800 !important; position:relative; padding-left:16px; margin-bottom:1em !important; }
.c-secTitle::before{ content:""; position:absolute; left:0; top:.15em; bottom:.15em; width:5px; border-radius:4px; background:var(--baq-green); }

.p-relatedPosts .p-postList__item, .widget_swell_popular_posts .p-postList__item{ animation:baqFadeUp .6s ease both; }
.widget_swell_popular_posts{ background:var(--baq-white); border-radius:var(--baq-radius-card); padding:1.4em; box-shadow:var(--baq-shadow-card); }

.l-footer{ background:var(--baq-black) !important; color:rgba(255,255,255,.75) !important; padding-top:3em; }
.l-footer a{ color:rgba(255,255,255,.75) !important; transition:color .2s ease; }
.l-footer a:hover{ color:var(--baq-white) !important; }
.l-footer .c-widget__title{ color:var(--baq-white) !important; font-weight:700; }

.p-postList__item:nth-child(2){ animation-delay:.06s; }
.p-postList__item:nth-child(3){ animation-delay:.12s; }
.p-postList__item:nth-child(4){ animation-delay:.18s; }
.p-postList__item:nth-child(5){ animation-delay:.24s; }
.p-postList__item:nth-child(6){ animation-delay:.3s; }

img{ transition:opacity .4s ease; }
img[loading="lazy"]{ opacity:0; animation:baqImgIn .5s ease forwards; animation-delay:.1s; }
@keyframes baqImgIn{ to{ opacity:1; } }

.c-ttl404{ font-size:clamp(1.5rem,4vw,2.2rem) !important; font-weight:800 !important; margin-bottom:.6em; text-align:center; }
.c-ttl404 ~ *{ text-align:center; }
.is-style-more_btn a{ border-radius:999px !important; }

/* ---- FAQアコーディオン（details/summary、JS不要・軽量） ---- */
.baq-faq{ border-radius:12px; background:var(--baq-white); box-shadow:0 1px 4px rgba(28,37,33,.05); margin:1em 0; overflow:hidden; }
.baq-faq summary{ cursor:pointer; list-style:none; padding:.9em 1.2em; font-weight:700; display:flex; align-items:center; justify-content:space-between; border-left:3px solid var(--baq-accent); }
.baq-faq summary::-webkit-details-marker{ display:none; }
.baq-faq summary::after{ content:"+"; font-size:1.3em; color:var(--baq-green); transition:transform .25s ease; }
.baq-faq[open] summary::after{ transform:rotate(45deg); }
.baq-faq__a{ padding:0 1.2em 1.1em 1.2em; color:#33403A; line-height:1.9; }

/* ---- チェックポイント／ポイントカード ---- */
.baq-checklist{ list-style:none; padding:0; margin:1.6em 0; }
.baq-checklist li{ position:relative; padding:.6em 0 .6em 2.2em; border-bottom:1px solid var(--baq-line); }
.baq-checklist li:last-child{ border-bottom:none; }
.baq-checklist li::before{ content:"✓"; position:absolute; left:0; top:.6em; width:22px; height:22px; border-radius:50%; background:var(--baq-green); color:var(--baq-white); font-size:.75rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.baq-pointCard{ background:var(--baq-white); border-radius:var(--baq-radius-card); box-shadow:var(--baq-shadow-card); padding:1.6em; margin:1.8em 0; }
.baq-pointCard__label{ display:inline-block; background:var(--baq-green); color:var(--baq-white); font-size:.72rem; font-weight:800; padding:.3em 1em; border-radius:999px; margin-bottom:.8em; }

/* ---- おすすめ商品比較セクション ---- */
.baq-productGrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin:1.8em 0; }
.baq-productCard{ background:var(--baq-white); border-radius:var(--baq-radius-card); box-shadow:var(--baq-shadow-card); padding:1.4em; text-align:center; transition:transform .25s ease, box-shadow .25s ease; }
.baq-productCard:hover{ transform:translateY(-4px); box-shadow:var(--baq-shadow-card-hover); }
.baq-productCard__cat{ font-size:.72rem; font-weight:800; color:var(--baq-green); letter-spacing:.05em; margin-bottom:.5em; }
.baq-productCard__name{ font-weight:700; margin-bottom:.4em; }
.baq-productCard__desc{ font-size:.85rem; color:var(--baq-gray); }

/* ---- 検索結果ページ ---- */
.search .c-pageTitle{ text-align:center; background:var(--baq-green-thin); border-radius:24px; padding:2.2em 1.5em; margin-bottom:2em !important; border:none !important; }
.search .p-postList__item{ animation:baqFadeUp .6s ease both; }

/* ---- 人気記事ランキングバッジ：ブランドカラーへ統一 ---- */
.p-postList.-w-ranking .p-postList__item::before{
  background: linear-gradient(135deg, var(--baq-green), var(--baq-green-deep)) !important;
  color: var(--baq-white) !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 6px rgba(28,37,33,.25);
}
.p-postList.-w-ranking .p-postList__item:nth-child(1)::before{
  background: linear-gradient(135deg, var(--baq-accent), #9c7540) !important;
}
.widget_swell_popular_posts .c-secTitle::after{
  content: "よく読まれている記事"; display:block; font-size:.78rem; font-weight:500; color:var(--baq-gray); margin-top:.3em;
}

/* ---- ポイントカード（本文中の要点強調） ---- */
.baq-pointCard p{ margin-bottom:0 !important; }
.baq-pointCard__label{ display:block; width:fit-content; margin-bottom:.6em; }
.baq-pointCard p:empty{ display:none; }

/* ==== 雑誌品質フェーズ：磨き込み (Round 1) ==== */

/* --- TOPページ セクション間の余白統一 --- */
#custom_html-3 .textwidget > section{
  margin-top:0 !important;
  margin-bottom: var(--baq-space-section) !important;
}
#custom_html-3 .textwidget > section:last-child{ margin-bottom:0 !important; }

/* --- 記事タイトル(H1)の階層強化 --- */
.c-postTitle__ttl{
  font-size: clamp(1.6rem, 4.2vw, 2.4rem) !important;
  line-height:1.5 !important;
  font-weight:800 !important;
  letter-spacing:.01em;
}
.p-articleHead{ padding-top: clamp(24px,4vw,40px); padding-bottom: clamp(16px,3vw,28px); }

/* --- 記事内H2見出し：SWELL既定の紺色ボックスを解除しブランド編集トーンへ --- */
.post_content h2{
  background:none !important;
  color:var(--baq-black) !important;
  padding:0 0 .55em 0 !important;
  margin-top:2.8em !important;
  margin-bottom:1.1em !important;
  font-size: clamp(1.3rem, 3vw, 1.6rem) !important;
  font-weight:800 !important;
  border-bottom:2px solid var(--baq-line) !important;
  display:flex !important;
  align-items:center;
  gap:10px;
}
.post_content h2::before{
  content:""; flex:none; width:6px; height:6px; border-radius:50%; background:var(--baq-accent);
}

/* --- 記事アイキャッチ画像のフレーム統一（実写投入後も即座にブランドサイト化） --- */
.p-articleThumb{
  border-radius: var(--baq-radius-card) !important;
  overflow:hidden !important;
  box-shadow: var(--baq-shadow-card);
  margin-top: clamp(16px,3vw,28px) !important;
  display:block;
}
.p-articleThumb img{ aspect-ratio:16/9 !important; object-fit:cover !important; width:100%; height:auto; }

/* --- 本文内画像：枠・キャプション対応（実写投入時にも即対応できる下地） --- */
.post_content img{ border-radius:14px; box-shadow:var(--baq-shadow-card); }
.post_content figure{ margin:1.8em 0; }
.post_content figcaption{
  font-size:.78rem; color:var(--baq-gray); text-align:center; margin-top:.6em; line-height:1.6;
}
.post_content > *:first-child{ margin-top:0 !important; }

/* --- カードサムネイルのホバーズーム（雑誌的な質感） --- */
.p-postList__item img{ transition: transform .5s ease, opacity .4s ease; }
.p-postList__item:hover img{ transform:scale(1.05); }

/* ==== SWELLテーマカラー変数を上書き（ヘッダー・カテゴリータグ・ページネーション・検索ボタン等に一括反映） ==== */
:root{
  --color_main: #3B5A4A !important;
  --color_main_thin: rgba(59,90,74,.06) !important;
  --color_main_dark: rgba(42,66,54,1) !important;
  --color_link: #3B5A4A !important;
  --color_htag: #1C2521 !important;
  --color_header_text: #1C2521 !important;
  --color_text: #1C2521 !important;
  --color_list_check: #3B5A4A !important;
  --color_list_num: #3B5A4A !important;
}

/* --- サムネイル上のカテゴリーリボン（SWELL既定の紺を上書き） --- */
.c-postThumb__cat{
  background-color: var(--baq-green) !important;
  background-image: none !important;
}

/* --- フッター仕上げ --- */
.l-footer .c-widget__title{
  position:relative; padding-left:16px; font-weight:800; letter-spacing:.02em; font-size:.95rem;
}
.l-footer .c-widget__title::before{
  content:""; position:absolute; left:0; top:.2em; bottom:.2em; width:4px; border-radius:4px; background:var(--baq-accent);
}
.l-footer .c-searchForm{
  display:flex; border-radius:999px; overflow:hidden; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06);
}
.l-footer .c-searchForm__s{
  background:transparent !important; border:none !important; color:#fff !important; padding:0 1.1em !important; flex:1; min-width:0;
}
.l-footer .c-searchForm__s::placeholder{ color:rgba(255,255,255,.5); }
.l-footer .c-searchForm__submit{ border-radius:0 !important; width:44px !important; flex:none; }
.l-footer__foot{ border-top:1px solid rgba(255,255,255,.12); margin-top:8px; }
.l-footer .c-listMenu a:hover, .l-footer .w-footer__box ul a:hover{ color:#fff !important; }

/* --- 空のUncategorizedカテゴリーをフッターから非表示（キャッシュ影響下でのフォールバック） --- */
.cat-item-1{ display:none !important; }

/* --- 記事下部の執筆者ボックス：既定のGravatar(ミステリーマン)を非表示にしブランドアイコンへ --- */
.p-authorBox{
  display:flex !important; align-items:center; gap:1.2em;
  padding:1.4em !important; background:var(--baq-white); border-radius:var(--baq-radius-card) !important;
  box-shadow:var(--baq-shadow-card); border:none !important;
}
.p-authorBox__l{
  display:flex !important; align-items:center; gap:.8em; flex:none;
}
.p-authorBox__l img.avatar{
  display:block !important; width:64px !important; height:64px !important;
  border-radius:50%; object-fit:cover; margin:0; flex:none; background:var(--baq-green-thin);
}
.p-authorBox__name{ font-weight:800 !important; color:var(--baq-black) !important; }

/* --- スクロール連動リビール（対応ブラウザのみ・プログレッシブエンハンスメント・JS不使用） --- */
@supports (animation-timeline: view()) {
  .p-postList__item, .baq-box, .baq-pointCard, .baq-entryCard, .baq-productCard, .baq-guideCard, .baq-catGrid li{
    animation-timeline: view();
    animation-range: entry 0% cover 30%;
  }
}

/* ==========================================================
   ベランダアクア アフィリエイト商品セクション（v1・2026-08-06）
   商品マスター(affiliate/products.json)からレンダリングされる
   広告表記／商品カード／比較表／ランキングの共通スタイル。
   design-system.css の変数（--baq-green 等）に準拠。
   ========================================================== */

/* 広告表記 */
.baq-adNotice{
  display: flex;
  align-items: center;
  gap: .6em;
  background: var(--baq-green-thin);
  border: 1px solid var(--baq-line);
  border-radius: 10px;
  padding: .8em 1.1em;
  margin: 1.2em 0 1.6em;
  font-size: .82rem;
  color: var(--baq-black);
  line-height: 1.6;
}
.baq-adNotice__badge{
  flex: none;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  color: var(--baq-white);
  background: var(--baq-green);
  border-radius: 999px;
  padding: .25em .8em;
}

/* 商品カード：単体・グリッド・ランキング共通 */
.baq-pcardGrid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin: 1.6em 0 1.2em;
  list-style: none;
  padding: 0;
}
.baq-pcardGrid.-single{ grid-template-columns: 1fr; max-width: 480px; }

.baq-pcard{
  position: relative;
  background: var(--baq-white);
  border-radius: var(--baq-radius-card);
  box-shadow: var(--baq-shadow-card);
  padding: 22px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: .55em;
  transition: transform .25s ease, box-shadow .25s ease;
}
.baq-pcard:hover{ transform: translateY(-4px); box-shadow: var(--baq-shadow-card-hover); }

.baq-pcard__rankBadge{
  position: absolute;
  top: -10px;
  left: 16px;
  background: var(--baq-green);
  color: var(--baq-white);
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .03em;
  padding: .35em .9em;
  border-radius: 999px;
  box-shadow: 0 6px 14px rgba(59,90,74,.32);
}
.baq-pcard__img{
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  overflow: hidden;
  background: var(--baq-green-thin);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .3em;
}
.baq-pcard__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.baq-pcard__img.-placeholder{
  color: var(--baq-green);
  font-size: .74rem;
  font-weight: 700;
  text-align: center;
  padding: 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .4em;
}
.baq-pcard__img.-placeholder::before{
  content: "";
  width: 34px;
  height: 34px;
  opacity: .55;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B5A4A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='3'/><circle cx='8.5' cy='9' r='1.6'/><path d='M21 15l-5-5-8 8'/></svg>");
}
.baq-pcard__maker{
  font-size: .74rem;
  color: var(--baq-gray);
  font-weight: 600;
  letter-spacing: .02em;
}
.baq-pcard__name{
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--baq-black);
  line-height: 1.5;
}
.baq-pcard__rating{
  color: var(--baq-accent);
  font-size: .92rem;
  letter-spacing: .1em;
}
.baq-pcard__rating .num{
  color: var(--baq-gray);
  font-size: .74rem;
  letter-spacing: 0;
  margin-left: .4em;
}
.baq-pcard__reason{
  font-size: .9rem;
  color: var(--baq-black);
  font-weight: 700;
  background: var(--baq-green-thin);
  border-radius: 8px;
  padding: .6em .75em;
  line-height: 1.6;
}
.baq-pcard__row{
  font-size: .82rem;
  color: #33403A;
  line-height: 1.75;
}
.baq-pcard__row ul{ margin: 0; padding-left: 1.1em; }
.baq-pcard__row b{
  font-weight: 700;
  color: var(--baq-black);
  margin-right: .3em;
}
.baq-pcard__comment{
  font-size: .82rem;
  color: var(--baq-gray);
  line-height: 1.75;
  border-left: 3px solid var(--baq-line);
  padding-left: .7em;
}
.baq-pcard__price{
  font-size: .74rem;
  color: var(--baq-gray);
  line-height: 1.6;
}
.baq-pcard__btns{
  display: flex;
  flex-direction: column;
  gap: .5em;
  margin-top: .3em;
}
.baq-pcard__btns.-compact{ gap: .35em; }
.baq-pcard__btn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4em;
  padding: .8em 1em;
  border-radius: var(--baq-radius-btn);
  font-weight: 700;
  font-size: .88rem;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.baq-pcard__btn:hover{ transform: translateY(-2px); opacity: .92; }
.baq-pcard__btn.-rakuten{ background: #BF0000; color: #fff !important; }
.baq-pcard__btn.-amazon{ background: #FF9900; color: #16181c !important; }
.baq-pcard__btn.-yahoo{ background: #FF0033; color: #fff !important; }
.baq-pcard__btn.-pending{
  background: var(--baq-line);
  color: var(--baq-gray) !important;
  cursor: default;
  pointer-events: none;
}
.baq-pcard__btn.-pending:hover{ transform: none; }

/* 比較表 */
.baq-compareWrap{
  overflow-x: auto;
  margin: 1.6em 0;
  border-radius: var(--baq-radius-card);
  box-shadow: var(--baq-shadow-card);
  -webkit-overflow-scrolling: touch;
}
table.baq-compareTable{
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  background: var(--baq-white);
  font-size: .86rem;
}
table.baq-compareTable th,
table.baq-compareTable td{
  padding: .85em .9em;
  text-align: left;
  border-bottom: 1px solid var(--baq-line);
  vertical-align: middle;
}
table.baq-compareTable thead th{
  background: var(--baq-green);
  color: var(--baq-white);
  font-weight: 700;
  white-space: nowrap;
}
table.baq-compareTable tbody tr:last-child td{ border-bottom: none; }
table.baq-compareTable td.-name{ font-weight: 700; color: var(--baq-black); }
table.baq-compareTable td.-btn{ white-space: nowrap; }
table.baq-compareTable .baq-pcard__btns{ flex-direction: row; flex-wrap: wrap; margin-top: 0; }
table.baq-compareTable .baq-pcard__btn{
  display: inline-flex;
  padding: .5em .9em;
  font-size: .78rem;
}

/* スマホ：崩れ防止優先で比較表は横スクロール、カードは2列→1列 */
@media (max-width: 600px){
  .baq-pcardGrid{ grid-template-columns: 1fr 1fr; gap: 12px; }
  .baq-pcardGrid.-ranking{ grid-template-columns: 1fr; }
  .baq-pcard{ padding: 18px 14px 14px; }
  table.baq-compareTable{ font-size: .8rem; }
}

/* お問い合わせフォーム（[baq_contact_form]） */
.baq-contactForm{ max-width: 640px; margin: 1.8em 0; }
.baq-contactForm__hp{ position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }
.baq-contactForm__row{ margin: 0 0 1.4em; }
.baq-contactForm__row label{ display: block; font-weight: 700; margin-bottom: .5em; color: var(--baq-black); }
.baq-contactForm__required{ display: inline-block; font-size: .7rem; font-weight: 700; color: var(--baq-white); background: var(--baq-accent); border-radius: 999px; padding: .15em .7em; margin-left: .6em; vertical-align: middle; }
.baq-contactForm__row input[type="text"],
.baq-contactForm__row input[type="email"],
.baq-contactForm__row textarea{
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--baq-line);
  border-radius: 10px;
  padding: .8em 1em;
  font-size: 1rem;
  font-family: inherit;
  background: var(--baq-white);
  color: var(--baq-black);
}
.baq-contactForm__row input:focus,
.baq-contactForm__row textarea:focus{
  outline: none;
  border-color: var(--baq-green);
  box-shadow: 0 0 0 3px var(--baq-green-thin);
}
.baq-contactForm__row textarea{ resize: vertical; min-height: 8em; }
.baq-contactForm__submit{ text-align: center; margin-top: 1.6em; }
.baq-contactForm__btn{
  display: inline-block;
  border: none;
  cursor: pointer;
  background: var(--baq-green);
  color: var(--baq-white);
  font-weight: 700;
  font-size: 1rem;
  border-radius: var(--baq-radius-btn);
  padding: .9em 3em;
  box-shadow: var(--baq-shadow-card);
  transition: background .2s ease, box-shadow .2s ease;
}
.baq-contactForm__btn:hover{ background: var(--baq-green-deep); box-shadow: var(--baq-shadow-card-hover); }
@media (max-width: 600px){
  .baq-contactForm__btn{ width: 100%; padding: .9em 1em; }
}

/* 比較表(baq-compareTable)に商品画像サムネイルを表示するための追加スタイル(2026-08-17) */
table.baq-compareTable td.-thumb { width: 64px; }
.baq-compareTable__img {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--baq-green-thin);
  display: flex;
  align-items: center;
  justify-content: center;
}
.baq-compareTable__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.baq-compareTable__img.-placeholder {
  font-size: 0.58rem;
  color: var(--baq-green);
  text-align: center;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .2em;
}
.baq-compareTable__img.-placeholder::before{
  content: "";
  width: 18px;
  height: 18px;
  opacity: .5;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B5A4A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='3'/><circle cx='8.5' cy='9' r='1.6'/><path d='M21 15l-5-5-8 8'/></svg>");
}


/* 収益記事構造リニューアル：CTA1(文脈CTA)・CTA3(最終CTA)用スタイル(2026-08-17) */
.baq-inlineCta {
  margin: 1.2em 0;
  padding: .9em 1.1em;
  background: var(--baq-green-thin);
  border-left: 4px solid var(--baq-green);
  border-radius: 8px;
  font-size: .95rem;
  line-height: 1.7;
}
.baq-inlineCta__link {
  display: inline-block;
  margin-top: .4em;
  font-weight: 700;
  color: var(--baq-green-deep);
  text-decoration: underline;
}
.baq-inlineCta__link.-pending {
  color: var(--baq-gray);
  text-decoration: none;
}

.baq-finalCta {
  margin: 1.8em 0;
  border: 1px solid var(--baq-line);
  border-radius: var(--baq-radius-card);
  overflow: hidden;
  box-shadow: var(--baq-shadow-card);
}
.baq-finalCta__heading {
  background: var(--baq-green);
  color: var(--baq-white);
  font-weight: 700;
  padding: .7em 1em;
}
.baq-finalCta__row {
  display: flex;
  align-items: center;
  gap: .8em;
  padding: .8em 1em;
  border-bottom: 1px solid var(--baq-line);
  flex-wrap: wrap;
}
.baq-finalCta__row:last-child { border-bottom: none; }
.baq-finalCta__decision {
  flex: 0 0 auto;
  font-weight: 700;
  font-size: .82rem;
  color: var(--baq-green-deep);
  background: var(--baq-green-thin);
  border-radius: 999px;
  padding: .3em .9em;
}
.baq-finalCta__name {
  flex: 1 1 160px;
  font-weight: 700;
  color: var(--baq-black);
  font-size: .92rem;
}
.baq-finalCta__btn {
  flex: 0 0 auto;
  display: inline-block;
  background: #BF0000;
  color: #fff !important;
  font-weight: 700;
  font-size: .82rem;
  padding: .5em 1.1em;
  border-radius: var(--baq-radius-btn);
  text-decoration: none;
}
.baq-finalCta__btn.-pending {
  background: var(--baq-line);
  color: var(--baq-gray) !important;
  pointer-events: none;
}

.baq-pcard__decision {
  display: inline-block;
  font-weight: 700;
  font-size: .78rem;
  color: var(--baq-green-deep);
  background: var(--baq-green-thin);
  border-radius: 999px;
  padding: .25em .8em;
  margin-bottom: .5em;
}

@media (max-width: 600px) {
  .baq-finalCta__row { flex-direction: column; align-items: flex-start; }
  .baq-finalCta__decision, .baq-finalCta__name { flex-basis: auto; width: 100%; }
  .baq-finalCta__btn { width: 100%; text-align: center; flex-basis: auto; }
}
