/* ================================
   ISA: 講座大CTA（1024px以下専用・clamp版 / 変数なし）
   - 画像: 左にabsolute配置でやや潜り込み
   - 見出し/ボタン: 常に中央
================================ */

/* セクション背景と余白 */
.isa-cta-grand{
    background: #d9eaf6;
    color: #1f2937;
    box-sizing: border-box;
    padding: clamp(28px, 5vw, 44px) clamp(12px, 4vw, 22px) clamp(40px, 6vw, 64px);
}
.isa-cta-grand__inner{
    max-width: 960px;
    margin: 0 auto;
    position: relative;
}

/* 白パネル（角丸・影） - パネル自体は stacking context を作らない */
.isa-cta-grand__panel{
    position: relative;
    /* z-index: 1;  ← 削除（親でスタッキングを作らない） */
    background: transparent;     /* 背景は ::before に移管 */
    box-shadow: none;            /* 影も ::before へ */
    border-radius: clamp(18px, 3vw, 26px);
    padding: clamp(18px, 4vw, 34px) clamp(35px, 16vw, 116px) clamp(22px, 5vw, 40px) clamp(35px, 16vw, 116px);
    overflow: visible;
}
.isa-cta-grand__panel::before{
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;
    border-radius: inherit;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .08);
    z-index: 0;                  /* 背景（最背面） */
}
/* パネル内コンテンツ（見出し・ボタン）を最前面に */
.isa-cta-grand__panel > *{
    position: relative;
    z-index: 2;
}

/* 画像：白パネル背景より前、ボタンより後ろ（= z1） */
.isa-cta-grand__hero{
    position: absolute;
    top: 24%;
    transform: translateY(-50%);
    left: -18px;
    pointer-events: none;
    z-index: 1;            /* ::before(z0) < 画像(z1) < コンテンツ(z2) */
}
.isa-cta-grand__hero img{
    display: block;
    width: clamp(100px, 24vw, 190px);
    height: auto;
    object-fit: contain;
}
.isa-cta-grand__heading {
    font-weight: 700;
    font-size: clamp(13px, 2.4vw, 28px);
    letter-spacing: .02em;
    text-align: center;
    margin: clamp(4px, 1vw, 8px) 0 clamp(12px, 2vw, 18px);
}
.isa-cta-grand__hero {
    position: absolute;
    top: 21%;
    transform: translateY(-50%);
    left: -15px;
    pointer-events: none;
    z-index: 1;
}

/* ▼ 不要・競合ルールは削除（残っているとz順が崩れます）
.isa-cta-grand__panel > *:not(.isa-cta-grand__hero){ position: relative; z-index: 1; }
*/

/* 見出し（中央） */
.isa-cta-grand__heading{
    font-weight: 700;
    font-size: clamp(13px, 2vw, 28px);
    letter-spacing: .02em;
    text-align: center;
    margin: clamp(4px, 1vw, 8px) clamp(1px, 1vw, 22px) clamp(12px, 2vw, 18px);
}

/* ボタン列：縦積み・中央・幅制御 */
.isa-cta-grand__row{
    display: flex;
    flex-direction: column;
    gap: clamp(12px, 2.6vw, 20px);
    width: min(94%, 720px);
    margin: 0 auto;
}

/* ボタン */
.isa-cta-grand__btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(8px, 2vw, 12px);
    padding: clamp(18px, 2.8vw, 26px) clamp(14px, 2.6vw, 18px);
    border-radius: clamp(12px, 2.4vw, 18px);
    text-decoration: none;
    color: #fff;
    font-weight: 800;
    font-size: clamp(16px, 2.4vw, 36px);
    line-height: 1;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.isa-cta-grand__btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
    filter: saturate(1.06);
}
.isa-cta-grand__icon img{
    width: clamp(22px, 3.8vw, 40px);
    height: clamp(22px, 3.8vw, 40px);
    display: inline-block;
}
.isa-cta-grand__text{ color:#fff !important; }

/* 配色 */
.isa-cta-grand__btn--lesson  { background: #e86f68; }
.isa-cta-grand__btn--request { background: #e58e3a; }
.isa-cta-grand__btn--counsel { background: #e34c4c; }

