/* ISA: 講座名リスト（第2階層） */
.isa-ctl{
    font-family: "Noto Sans JP","Yu Gothic","游ゴシック体",Meiryo,sans-serif;
}

.isa-ctl__list{
    list-style:none; margin:0; padding:0;
    display:flex; flex-direction:column; gap:40px;
}

.isa-ctl__card{
    display:flex; align-items:flex-start; gap:40px;
    text-decoration:none; color:inherit;
    padding:6px 4px; transition:background .12s ease, box-shadow .12s ease, transform .12s ease;
}
.isa-ctl__card:hover{ background:#fafafa; box-shadow:0 6px 18px rgba(0,0,0,.06); }

.isa-ctl__thumb{
    width:380px; max-width:42vw;
    aspect-ratio: 16/9;
    position:relative; flex:0 0 auto; overflow:hidden; background:#eee;
}
.isa-ctl__img{ width:100%; height:100%; object-fit:cover; display:block; }
.isa-ctl__ph{ display:block; width:100%; height:100%; background:#e6e6e6; }

.isa-ctl__body{ flex:1 1 auto; min-width:0; }

.isa-ctl__titleline{
    display:flex; align-items:center; gap:14px;
}
.isa-ctl__icon{ width:28px; height:28px; flex:0 0 auto; }

.isa-ctl__title{
    margin:0; padding:0;
    font-size:18px; line-height:1.5; font-weight:700;
    letter-spacing: 0.2px;
    color:#222;
}

.isa-ctl__underline{
    margin:12px 0 14px; height:2px; width:100%;
    background:#424242; opacity:.3;
}

.isa-ctl__desc{
    margin:0; font-size:16px; line-height:1.7; color:#2e2e2e; letter-spacing: 0.2px;
}
.isa-ctl__icon{
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    color: var(--theme); /* ← 円がテーマ色になる（currentColor） */
}

/* 下線をテーマ色の薄めにする場合（任意） */
.isa-ctl__underline{
    margin:12px 0 14px; height:2px; width:100%;
    background: rgba(var(--theme-rgb, 219,106,118), .3);
}
@supports (background: color-mix(in oklab, white, black)) {
    .isa-ctl__underline{
        color: var(--theme, #db6a76);
        background: #1f2c32;
    }
}
.isa-ctl__underline{
    background: #1f2c32;
}

/* 見出し（■関連するその他のコース） */
.isa-ctl__heading{
    display: flex;
    align-items: center;
    margin: 0 0 35px;
    font-size: 24px;
    font-weight: 700;
    align-items: center;
    color: var(--theme, #db6a76);
}

/* ■の四角は文字扱い。必要ならサイズだけ少し調整 */
.isa-ctl__heading .sq{
    line-height: 1;
    transform: translateY(-1px);   /* 見た目のセンタリング微調整（任意） */
}

@media (max-width: 1024px){
    .isa-ctl__card{margin: 0 var(--global-kb-spacing-sm, 1.5rem);

        margin-bottom: 2.5rem;
    }
}

@media (max-width: 900px){
    .isa-ctl__thumb{ width:320px; }
    .isa-ctl__title{ font-size:22px; }
}

@media (max-width: 640px){
    .isa-ctl__card{ gap:8px; }
    .isa-ctl__thumb{ width:100%; }
    .isa-ctl__titleline {gap: 7px;}
    .isa-ctl__icon {width: 16px; height: 16px;}
    .isa-ctl__title{ font-size: clamp(16px, 1.5vw, 20px); }
    .isa-ctl__desc{ font-size: 12px;}
}

/* 既定では PC/SP 専用改行は非表示 */
.isa-br--pc,
.isa-br--sp { display: none; }

/* PCのみ改行（1025px以上） */
@media (min-width: 1025px) {
    .isa-br--pc { display: inline; }
}

/* SPのみ改行（1024px以下） */
@media (max-width: 1024px) {
    .isa-br--sp { display: inline; }
    .isa-ctl__heading {
        display: flex;
        align-items: center;
        gap: 0px;
        font-size: 24px;
        font-weight: 700;
        color: var(--theme, #db6a76);
        align-items: center;
        margin: 0 var(--global-kb-spacing-sm, 1.5rem);
        margin-bottom: 1.5rem;
        margin-top: 2rem;
    }
}
