/* ===== ISA — 受講生の声 ===== */
.isa-voices{
    --ivo-bg:#f2f7f9;      /* セクション薄グレー青 */
    --ivo-text:#1f2937;
    --ivo-muted:#6b7280;
    --ivo-accent:#198fce;  /* タイトル左バーの青 */
    --ivo-card:#ffffff;
    --ivo-rule:#1f2937;

    color:var(--ivo-text);
    background:var(--ivo-bg);
    box-sizing:border-box;
    padding:40px 16px 56px;
}
.isa-voices .ivo__inner {
    max-width: 1200px;
    margin: 0 auto;
}

.isa-voices .ivo__title-row-lead{
    padding-right: 28px;       /* バーのぶん余白 */
    margin: 0 0 22px;
}

.ivo__title-row {
    display: flex;
    gap: 20px;
    align-items: center;
}
/* タイトル */
.isa-voices .ivo__title-row-lead{
    border-left: 6px solid #198fce;
    padding-left: 20px;
    margin-bottom: 22px;
}
.isa-voices .ivo__bar{ width:6px; height:64px; background:var(--ivo-accent); border-radius:3px; display:inline-block; }
.isa-voices .ivo__title-ico{ width:52px; height:auto; display:block; }
.isa-voices .ivo__title{
    margin:0; font-weight:800;
    font-size: clamp(26px,3.2vw,40px);
}

/* リード */
.isa-voices .ivo__lead{
    color:var(--ivo-muted);
    font-size:clamp(15px,2vw,20px);
    margin: 8px 0 60px
}

/* リスト */
.isa-voices .ivo__list{ display:grid; grid-template-columns:1fr; gap:26px; }

/* カード */
.isa-voices .ivo-card{
    position:relative;
    background:var(--ivo-card);
    border-radius:16px;
    box-shadow:0 10px 26px rgba(0,0,0,.06);
    padding: 25px 25px 55px;
    overflow:hidden;
}

/* “ ” 装飾 */
.isa-voices .ivo-card__quo-open{
    position:absolute; left:26px; top:135px; width:36px; height:auto; opacity:.9;
}
.isa-voices .ivo-card__quo-close{
    position:absolute; right:26px; bottom: -56px; width:36px; height:auto; opacity:.9;
}

/* ヘッダー行（アイコン＋メタ） */
.isa-voices .ivo-card__head{
    display:flex; align-items:center; gap:18px;
}
.isa-voices .ivo-card__avatar{ width:80px; height:auto; display:block;border: 1px solid #b3b3b3; border-radius: 50%; }
.isa-voices .ivo-card__meta1{ font-weight:700; font-size:16px; }
.isa-voices .ivo-card__meta2{ font-weight:700; font-size:18px; color:#333; opacity:.9; }

/* 罫線 */
.isa-voices .ivo-card__rule{
    border:none; height:2px; background:var(--ivo-rule); opacity:.28; margin: 0 0 64px;
    margin-left: 93px;
}

/* 質問見出し */
.isa-voices .ivo-card__qtitle{
    font-size: clamp(18px,2.4vw,24px);
    font-weight:800;
    padding: 14px 20px;
}

/* 回答本文 */
.isa-voices .ivo-card__answer{
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 2.0;
    padding: 0 20px;
}

.isa-voices .ivo__list{
    /* 既に1列グリッドなのでアイテムを中央寄せ */
    place-items: center;                /* = justify-items:center + align-items:center */
}

.isa-voices .ivo-card{
    width: min(938px, 100%);            /* 938pxを上限に、狭い画面は100% */
    margin: 0 auto;                     /* 念のため中央寄せを明示 */
}

/* SP調整 */
@media (max-width:640px){
    .isa-voices .ivo__title-ico{ width:44px; }
    .isa-voices .ivo__bar{ height:54px; }
    .isa-voices .ivo-card{ padding:24px; }
    .isa-voices .ivo-card__avatar{ width:70px; }
    .isa-voices .ivo-card__quo-open{
        top: 119px;
        left: 20px;
    }
    .isa-voices .ivo__lead {
        font-size: clamp(17px, 2vw, 20px);
    }
    .isa-voices .ivo-card__qtitle {
        font-size: clamp(19px, 3.1vw, 24px);
        margin-left: 40px;
    }
}

@media (max-width:1024px){
    .isa-voices .ivo-card__qtitle {
        margin-left: clamp(15px, 4vw, 40px);
    }
    .isa-voices .ivo-card__rule {
        border: none;
        height: 2px;
        background: var(--ivo-rule);
        opacity: .28;
        margin: 0px 0 20px;
        margin-left: 93px;
    }
    .isa-faq .faq__list .faq__item .faq__aline .faq__amark.faq__amark {
        all: unset;
        position: relative;
        width: 30px;
        height: 30px;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        background: #FFE14A;
        color: #1d2a3a;
        line-height: 25px;
        text-align: center;
        font-weight: bolder;
        letter-spacing: 0.1px;
        margin-top: 0;
    }
    .isa-voices .ivo__lead {
        color: var(--ivo-muted);
        font-size: clamp(15px, 2vw, 20px);
        margin: 8px 0 30px;
    }
}
