/*
Theme Name: Rachel Child
Theme URI:
Description: Rachel Child Theme - Refined Design System v3
Author:
Template: Rachel
Version: 1.1.0
*/

/* =========================================================
   Design Tokens
========================================================= */
:root {
    --primary-pink: #d1406b;
    --accent-pink: #c97d8c;
    --soft-pink: #fef8fb;
    --deep-pink: #a66a7a;
    --border-pink: #d4a5ae;
    --text-main: #333333;
    --text-sub: #6b4751;
    --shadow-light: rgba(201, 125, 140, 0.12);
    --shadow-medium: rgba(201, 125, 140, 0.2);
}

/* =========================================================
   Global (site-wide) Layout Components
   ※本文以外でも使う可能性が高いのでスコープしない
========================================================= */

/* ========== トップページ：カードレイアウト ========== */
.article-grid, .latest-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 25px;
}

.article-card, .latest-post-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    transition: transform 0.3s;
}

.article-card:hover { transform: translateY(-5px); }

/* ========== 検索フォーム ========== */
.search-form {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    border: 2px solid var(--border-pink);
    border-radius: 50px;
    overflow: hidden;
}

.search-field {
    flex: 1;
    padding: 12px 20px;
    border: none;
    outline: none;
}

.search-submit {
    background: var(--primary-pink);
    color: #fff;
    padding: 0 30px;
    border: none;
    cursor: pointer;
}

/* =========================================================
   Scoped Components for Content Blocks
   ※記事本文側で <div class="agc">…</div>（またはグループブロックに agc）を付けた範囲だけに適用
   ※テーマ差吸収のため :where() を使用
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc{
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN","Hiragino Sans", Meiryo, sans-serif;
    color: var(--text-main, #333);
    line-height: 1.7;
}

/* ========== 共通設定：干渉防止（agc内限定） ========== */
:where(.entry-content, .wp-block-post-content, .post-content) .agc
:is(.spec-table, .comparison-table, .styled-table, .internal-link-card){
    box-sizing: border-box;
}

/* =========================================================
   FAQ
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-section-container{
    max-width: 768px;
    margin: 0 auto 40px;
    color: #333;
    line-height: 1.6;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-item{
    margin-bottom: 20px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-question{
    background: #fffafa;
    padding: 15px 20px 15px 50px;
    position: relative;
    font-weight: 700;
    color: #333;
    font-size: 16px;
    border-bottom: 1px solid #fceef2;
    transition: background-color 0.3s;
    margin: 0; /* h3のデフォルト余白対策 */
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-question::before{
    content: "Q";
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-pink, #d1406b);
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 700;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-answer{
    padding: 20px 20px 20px 50px;
    position: relative;
    font-size: 15px;
    color: #444;
    background: #fff;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-answer::before{
    content: "A";
    position: absolute;
    left: 15px;
    top: 20px;
    color: #33a570;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-answer a{
    color: var(--primary-pink, #d1406b);
    text-decoration: underline;
}

/* =========================================================
   結論ボックス / 汎用ボックス（インラインstyle排除用）
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion{
    background: #fff4f4;
    border: 2px solid #f8d7da;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion__title{
    font-weight: 800;
    font-size: 1.1em;
    margin: 0 0 10px;
    color: #d63384;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion__list{
    list-style: none;
    padding-left: 0;
    margin: 0;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion__list li{
    margin-bottom: 10px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-box{
    border-radius: 8px;
    padding: 14px 16px;
    margin: 16px 0;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-box--note{
    background: #fff8e1;
    border: 1px solid #ffe08a;
    border-left: 6px solid #f0ad4e;
}

/* =========================================================
   CTA（ブロック移植）
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta{
    max-width: 650px;
    margin: 30px auto;
    padding: 0 15px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .section-title{
    font-size: 1.8em;
    font-weight: 800;
    color: var(--primary-pink, #d1406b);
    border-bottom: 3px solid #d1406b80; /* 互換性確保 */
    padding-bottom: 5px;
    margin: 40px 0 20px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .summary-text{
    font-weight: 800;
    color: #555;
    background: #f9f9f9;
    padding: 10px;
    border-left: 4px solid #888;
    margin-bottom: 15px;
    font-size: 15px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .main-text{
    font-size: 16px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 20px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .point-box{
    border: 2px solid #33a570;
    border-radius: 8px;
    padding: 15px;
    margin-top: 25px;
    background: #f7fffb;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .point-title{
    font-size: 1.1em;
    font-weight: 800;
    color: #33a570;
    border-bottom: 2px dashed rgba(51, 165, 112, 0.25);
    padding-bottom: 5px;
    margin-bottom: 10px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .check-list{
    list-style: none;
    padding: 0;
    margin: 0;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .check-item{
    padding: 8px 0;
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    border-bottom: 1px dashed #e0e0e0;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .check-item:last-child{ border-bottom: none; }

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .check-item strong{
    color: var(--primary-pink, #d1406b);
    display: inline-block;
    min-width: 80px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .note-box{
    margin-top: 20px;
    padding: 10px 15px;
    background: #fff0f5;
    border-left: 5px solid var(--primary-pink, #d1406b);
    border-radius: 4px;
    font-size: 14px;
    color: #555;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .internal-link{
    margin-top: 10px;
    font-size: 14px;
    text-align: right;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .internal-link a{
    color: #0073aa;
    text-decoration: underline;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .figure-wrap{
    margin: 20px 0;
    text-align: center;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .figure-wrap img{
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-cta .figure-caption{
    font-size: 13px;
    color: #777;
    margin-top: 5px;
}

/* CTA簡略版で出てくるクラス */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .decorated-h3{
    margin: 0 0 10px;
    font-size: 1.2em;
    font-weight: 800;
    color: var(--primary-pink, #d1406b);
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .bridge-text{
    color: #555;
    line-height: 1.7;
    margin: 10px 0 15px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .soft-list{
    margin: 10px 0 0;
    padding-left: 1.2em;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .soft-list-item{
    margin: 6px 0;
}

/* CTAカード */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .product-card-wrap{
    text-align: center;
    padding: 20px;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    transition: all 0.3s ease;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .product-card-wrap img{
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* CTAボタン（agc内限定） */
:where(.entry-content, .wp-block-post-content, .post-content) .agc a.cta-button{
    display: block;
    text-align: center;
    padding: 16px;
    background: linear-gradient(135deg, var(--primary-pink) 0%, #b3365c 100%);
    color: #ffffff !important;
    font-weight: 800;
    border-radius: 10px;
    box-shadow: 0 6px 0 #a02d4f;
    text-decoration: none;
    margin-top: 20px;
}

/* =========================================================
   テーブル類（agc内で用途別に定義）
========================================================= */

/* spec-table（必要なら使う前提で残す） */
:where(.entry-content, .wp-block-post-content, .post-content) .agc table.spec-table{
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 2.5em 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 20px var(--shadow-light);
    background: #ffffff;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.spec-table th{
    background: linear-gradient(135deg, #f4d4db 0%, #e8c4d0 100%);
    color: var(--text-sub);
    padding: 16px;
    text-align: left;
    font-weight: 700;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.spec-table td{
    padding: 16px;
    color: var(--text-main);
    border-bottom: 1px solid rgba(212, 165, 174, 0.15);
    line-height: 1.7;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.spec-table tr:hover td{
    background: var(--soft-pink);
}

/* comparison-table（おすすめ比較：移植版） */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .recommend-section-container{
    max-width: 768px;
    margin: 0 auto 40px;
    line-height: 1.8;
    color: #333;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.comparison-table{
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 15px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.comparison-table th,
:where(.entry-content, .wp-block-post-content, .post-content) .agc table.comparison-table td{
    border: 1px solid #f0f0f0;
    padding: 12px;
    text-align: left;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.comparison-table thead th{
    background: #fffafa;
    color: var(--primary-pink, #d1406b);
    text-align: center;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.comparison-table tbody th{
    background: #fafafa;
    width: 25%;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .recommend-link{
    display: inline-block;
    margin-top: 15px;
    color: var(--primary-pink, #d1406b);
    text-decoration: underline;
}

/* styled-table（購入先テーブル：最終版／重複・!important排除） */
:where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table{
    width: 100%;
    border-collapse: separate; /* 角丸をきれいに出す */
    border-spacing: 0;
    margin: 20px 0;
    font-size: 15px;
    color: var(--text-main, #333);
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    overflow: hidden;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table th,
:where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table td{
    padding: 14px 12px;
    text-align: left;
    vertical-align: top;
    background: #fff;
    border-right: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table tr > *:last-child{
    border-right: none;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table tbody tr:last-child > *{
    border-bottom: none;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table thead th{
    background: linear-gradient(135deg, var(--primary-pink, #d1406b) 0%, #b3365c 100%);
    color: #fff;
    font-weight: 800;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,0.25);
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table tbody tr:nth-child(even) > *{
    background: #fff8fb;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table tbody tr:hover > *{
    background: #fff0f5;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table strong{
    color: var(--primary-pink, #d1406b);
    font-weight: 800;
}

/* =========================================================
   商品リスト（tpgb-table-wrapper内）
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .tpgb-table-wrapper{
    overflow-x: auto;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(230, 200, 210, 0.15);
    margin-bottom: 30px;
    background: #fff;
}

/* ボタン風リンク */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .affiliate-btn a{
    display: inline-block;
    background: var(--primary-pink, #d1406b);
    color: #fff !important;
    padding: 8px 12px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 0.85em;
    font-weight: 800;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: opacity 0.3s;
    margin-top: 5px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .affiliate-btn a:hover{
    opacity: 0.85;
    color: #fff !important;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .product-img img{
    max-width: 80px !important;
    height: auto !important;
    display: block;
    margin: 0 auto;
}

/* =========================================================
   商品紹介セクション（本文用ならagc内に限定）
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .product-h3{
    margin: 2em 0 1em;
    padding: 12px 20px;
    background: linear-gradient(135deg, #fff0f5 0%, var(--soft-pink) 100%);
    border-radius: 10px;
    border: 2px solid var(--primary-pink);
    color: var(--text-main);
    font-size: 1.3em;
    font-weight: 700;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .price-box{
    text-align: center;
    padding: 14px;
    margin: 15px auto;
    background: #ffcccc;
    color: var(--primary-pink);
    font-weight: 700;
    border: 3px solid var(--primary-pink);
    border-radius: 10px;
    max-width: 90%;
}

/* =========================================================
   リストデザイン（本文用ならagc内に限定）
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc :is(.review-list, .styled-ol){
    list-style: none !important;
    padding: 0 !important;
    margin: 2em 0;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc :is(.review-list li, .styled-ol li){
    position: relative;
    padding-left: 36px;
    margin-bottom: 14px;
    line-height: 1.8;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .review-list li::before{
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    background: var(--accent-pink);
    border-radius: 50%;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .styled-ol{
    counter-reset: item;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .styled-ol li::before{
    content: counter(item);
    counter-increment: item;
    position: absolute;
    left: 0;
    width: 26px;
    height: 26px;
    background: var(--accent-pink);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

/* =========================================================
   体験型ベネフィットボックス（最終版：縦ライン）
   ※二重定義を解消し、この版に統一
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-experience-box{
    background: linear-gradient(to bottom right, #fff9fa, #fff0f5);
    border: 1px solid #ffd1dc;
    border-radius: 12px;
    padding: 25px 20px;
    box-shadow: 0 4px 15px rgba(255, 182, 193, 0.2);
    margin: 30px 0;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-experience-box__title{
    text-align: center;
    margin: 0 0 20px;
    color: var(--primary-pink, #d1406b);
    font-weight: 800;
    font-size: 1.1em;
}

/* UL/OL余白を安定化 */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-experience-box__list{
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-experience-box__item{
    margin: 0 0 15px;
    padding-left: 20px; /* ラインとの距離 */
    position: relative;
    line-height: 1.7;
    color: #555;
    list-style: none !important;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-experience-box__item:last-child{
    margin-bottom: 0;
}

/* 縦ライン */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-experience-box__item::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0.4em;
    width: 3px;
    height: 1.2em;
    background-color: var(--primary-pink, #d1406b);
    border-radius: 2px;
}

/* マーカー：experience-box内だけ少し控えめに */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-experience-box .agc-marker{
    background: linear-gradient(transparent 70%, #ffdbed 70%);
    color: #333;
    font-weight: 800;
}

/* agc全体のマーカー（本文中でも使える汎用） */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-marker{
    background: linear-gradient(transparent 70%, #ffdbed 70%);
    color: #333;
    font-weight: 800;
}

/* =========================================================
   結論ボックス（summary版）
   既存の .agc-conclusion を壊さないため modifier で上書き
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion.agc-conclusion--summary{
    background: linear-gradient(135deg, #fff6fa 0%, #fff 100%);
    border: 1px solid rgba(212, 165, 174, 0.55);
    border-left: 6px solid var(--primary-pink, #d1406b);
    border-radius: 12px;
    padding: 18px 18px 16px;
    box-shadow: 0 10px 24px rgba(201, 125, 140, 0.16);
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion--summary .agc-conclusion__kicker{
    display: inline-block;
    margin: 0 0 10px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(209, 64, 107, 0.10);
    color: var(--primary-pink, #d1406b);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 0.04em;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion--summary .agc-conclusion__title{
    margin: 0 0 10px;
    color: var(--text-main, #333);
    font-weight: 900;
    font-size: 1.12em;
    line-height: 1.5;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion--summary .agc-conclusion__lede{
    margin: 0 0 12px;
    color: var(--text-sub, #6b4751);
    font-size: 0.98em;
    line-height: 1.75;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion--summary .agc-conclusion__list{
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion--summary .agc-conclusion__list li{
    margin: 0;
    padding: 10px 12px;
    background: rgba(255, 248, 251, 0.85);
    border: 1px solid rgba(212, 165, 174, 0.22);
    border-radius: 10px;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .agc-conclusion--summary .agc-conclusion__note{
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff8e1;
    border: 1px solid #ffe08a;
    color: #5a4a2b;
    font-size: 0.92em;
    line-height: 1.7;
}

/* =========================================================
   Responsive
========================================================= */
@media (max-width: 768px) {
    .article-grid, .latest-posts-grid { grid-template-columns: 1fr; }
    .search-form { flex-direction: column; border-radius: 12px; }

    :where(.entry-content, .wp-block-post-content, .post-content) .agc .product-h3{
        font-size: 1.1em;
    }
}

@media (max-width: 480px){
    :where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-section-container{
        padding: 0 5px;
    }

    :where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-question,
    :where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-answer{
        padding-left: 40px;
        padding-right: 15px;
        font-size: 14px;
    }

    :where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-question::before,
    :where(.entry-content, .wp-block-post-content, .post-content) .agc .faq-answer::before{
        left: 10px;
        font-size: 20px;
    }

    :where(.entry-content, .wp-block-post-content, .post-content) .agc table.comparison-table{
        font-size: 13px;
    }

    :where(.entry-content, .wp-block-post-content, .post-content) .agc table.comparison-table th,
    :where(.entry-content, .wp-block-post-content, .post-content) .agc table.comparison-table td{
        padding: 8px;
    }

    :where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table{
        font-size: 13px;
    }

    :where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table th,
    :where(.entry-content, .wp-block-post-content, .post-content) .agc table.styled-table td{
        padding: 10px 10px;
    }
}
/* =========================================================
   10選カード：画像表示サイズを統一（agc内）
========================================================= */
:where(.entry-content, .wp-block-post-content, .post-content) .agc .cta-section-wrapper .product-card-wrap{
  text-align: center;
  padding: 20px;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  transition: all 0.3s ease;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .cta-section-wrapper .product-card-wrap a{
  display: block;
}

:where(.entry-content, .wp-block-post-content, .post-content) .agc .cta-section-wrapper img.product-image{
  display: block;
  width: 100%;
  max-width: 520px;     /* 画像の最大幅（好みで調整） */
  height: 420px;        /* 画像枠の高さを統一（好みで調整） */
  margin: 0 auto;
  object-fit: contain;  /* 切らずに収める（余白が出る） */
  background: #fff;
  border-radius: 8px;
}

/* スマホでは高さを少し下げる */
@media (max-width: 480px){
  :where(.entry-content, .wp-block-post-content, .post-content) .agc .cta-section-wrapper img.product-image{
    height: 320px;
  }
}
/* :where()を避けて詳細度を上げる */
.entry-content .agc,
.wp-block-post-content .agc,
.post-content .agc{
  max-width: 768px;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}
.agc{
  max-width: 768px;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}