/* ===== ISA: 講座中 — コースグリッド ===== */
.isa-cgrid{
    --isa-theme:#db6a76;               /* PHPが上書き */
    --isa-theme-hover:#b85c65;         /* PHPが上書き（暗め） */
    --text:#1f2937;
    color:var(--text);
    background:transparent;
    box-sizing:border-box;
    padding:10px 0 0;                  /* isa-steps に合わせる */
}
.isa-cgrid__inner{ max-width:1200px; margin:0 auto; }

/* 見出し（■ + テキスト） */
.isa-cgrid__heading{ display:flex; align-items:center; gap:10px; margin:0 0 12px; }
.isa-cgrid__dot{ width:20px; height:20px; background:var(--isa-theme); display:inline-block; }
.isa-cgrid__heading-text{ font-weight:700; font-size:24px; }

/* 説明文（ステップカードに寄せる） */
.isa-cgrid__intro{ margin:6px 0 26px; line-height:1.8; }

/* 4カラムグリッド（自動折返し） */
.isa-cgrid__grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;                      /* カード間隔 */
}

/* カード */
.isa-cgrid__card{
    display:flex;
    flex-direction:column;
}

/* コンテンツ領域：ボタンを下端へ寄せるために縦フレックス */
.isa-cgrid__content{
    display:flex;
    flex-direction:column;
    height:100%;
}

/* サムネ（16:9相当に） */
.isa-cgrid__thumb{ margin:0 0 16px; }
.isa-cgrid__img{
    display:block;
    width:100%;
}
.isa-cgrid__img.--placeholder{ background:#eee; }

/* タイトル・説明 */
.isa-cgrid__title{ font-weight:800; font-size:26px; margin:0 0 10px; }
.isa-cgrid__desc{ font-size:16px; line-height:1.4; margin-bottom:12px; }

/* ボタン行：常に右端＆下端に配置（テキスト量に影響されない） */
.isa-cgrid__actions{
    margin-top:auto;                 /* 高さを埋めて下に押す */
    display:flex;
    justify-content:flex-end;        /* 右寄せ */
}

/* ボタン（テーマカラー） */
.isa-cgrid__btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    line-height: 2.1;
    padding: 0 32px 0 14px;
    background: var(--isa-theme);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 13.4px;
    /* border-radius: 6px; */
    transition: background-color .18s
    ease, transform .18s
    ease, box-shadow .18s
    ease;
    box-shadow: 0 4px 12px rgba(var(--isa-theme-rgb), .20);
    position: relative;
}

/* ▶ をボタンの右端に固定配置 */
.isa-cgrid__btn::after{
    content:"▶";
    position:absolute;
    right:12px; top:50%;
    transform:translateY(-50%);
    font-size:12px; line-height:1;
    opacity:.95;
}

/* ホバー／フォーカス */
.isa-cgrid__btn:hover,
.isa-cgrid__btn:focus-visible{
    background:var(--isa-theme-hover);
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(var(--isa-theme-rgb), .25);
}

/* レスポンシブ */
@media (max-width:1024px){
    .isa-cgrid__grid{ 
        grid-template-columns: repeat(2, 1fr); 
        gap: 10px;
    }
    .isa-cgrid__intro {
        font-size: clamp(18px, 4vw, 29px);
    }
    .isa-cgrid__heading-text {
        font-weight: 700;
        font-size: 24px;
        font-size: clamp(24px, 5vw, 36px);
    }
    .isa-cgrid__desc {
        font-size: clamp(15px, 3.5vw, 24px);
        line-height: 1.4;
        margin-bottom: 12px;
    }
    .isa-cgrid__btn {
        font-size: clamp(17px, 4.5vw, 2px);
    }
    .isa-cgrid__card {
        margin-bottom: 20px;
    }
    .isa-cgrid__intro {
        margin: 6px 0 40px;
        line-height: 1.8;
    }
}