.igs-agency-voice {
    --main: #3d55a2;
    --main-light: #f1f3fb;
    --main-border: #d9def0;
    --text: #252936;
    --sub: #6c7180;
    --white: #ffffff;
    margin: 28px 0 48px;
    padding: 18px;
    background: var(--main-light);
    border: 1px solid var(--main-border);
    border-radius: 12px;
    box-sizing: border-box;
}

.igs-agency-voice *, .igs-agency-voice *::before, .igs-agency-voice *::after { box-sizing: border-box; }
.igs-agency-voice__head { margin-bottom: 14px; }
.igs-agency-voice__title { margin: 0 0 3px; font-size: 17px; font-weight: 700; line-height: 1.5; color: var(--text); }
.igs-agency-voice__lead { margin: 0; font-size: 13px; line-height: 1.6; color: var(--sub); }
.igs-agency-voice__screen { display: none; }
.igs-agency-voice__screen.is-active { display: block; }
.igs-agency-voice__top { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.igs-agency-voice__progress { flex:1 1 auto; height:6px; overflow:hidden; background:#dfe4f5; border-radius:999px; }
.igs-agency-voice__progress > span { display:block; height:100%; background:var(--main); border-radius:999px; transition:width .2s ease; }
.igs-agency-voice__count { flex:0 0 auto; min-width:32px; text-align:right; font-size:11px; font-weight:700; color:var(--main); }
.igs-agency-voice__question { margin:0 0 11px; font-size:15px; font-weight:700; line-height:1.55; color:var(--text); }
.igs-agency-voice__help { margin:-4px 0 11px; font-size:11px; line-height:1.5; color:var(--sub); }
.igs-agency-voice__choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.igs-agency-voice__choice { display:flex; align-items:center; justify-content:center; width:100%; min-height:42px; padding:7px 8px; border:1px solid #cdd3e8; border-radius:7px; background:var(--white); color:var(--text); font-size:13px; font-weight:600; line-height:1.35; text-align:center; cursor:pointer; transition:.15s ease; }
.igs-agency-voice__choice:hover, .igs-agency-voice__choice:focus-visible { border-color:var(--main); background:#fafbfe; outline:none; }
.igs-agency-voice__choice.is-selected { border-color:var(--main); background:var(--main); color:#fff; }
.igs-agency-voice__ratings { display:grid; grid-template-columns:repeat(5,1fr); gap:5px; }
.igs-agency-voice__rating { min-height:60px; padding:5px 2px; border:1px solid #cdd3e8; border-radius:7px; background:#fff; color:var(--text); cursor:pointer; transition:.15s ease; }
.igs-agency-voice__rating-number { display:block; font-size:18px; font-weight:700; line-height:1.2; color:var(--main); }
.igs-agency-voice__rating-label { display:block; margin-top:3px; font-size:10px; line-height:1.25; }
.igs-agency-voice__rating:hover, .igs-agency-voice__rating:focus-visible { border-color:var(--main); background:#fafbfe; outline:none; }
.igs-agency-voice__rating.is-selected { border-color:var(--main); background:var(--main); color:#fff; }
.igs-agency-voice__rating.is-selected .igs-agency-voice__rating-number { color:#fff; }
.igs-agency-voice__footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }
.igs-agency-voice__back { padding:4px 0; border:0; background:transparent; color:var(--sub); font-size:11px; cursor:pointer; }
.igs-agency-voice__next, .igs-agency-voice__submit { width:100%; margin-top:11px; padding:11px; border:0; border-radius:7px; background:var(--main); color:#fff; font-size:14px; font-weight:700; cursor:pointer; }
.igs-agency-voice__next:disabled, .igs-agency-voice__submit:disabled { opacity:.35; cursor:default; }
.igs-agency-voice__note { margin:10px 0 0; font-size:10px; line-height:1.55; color:var(--sub); }
.igs-agency-voice__error { margin:8px 0 0; padding:8px 10px; border-radius:6px; background:#fff3f3; color:#a12626; font-size:12px; line-height:1.5; }
.igs-agency-voice__complete { padding:6px 0 2px; text-align:center; }
.igs-agency-voice__complete-title { margin:0 0 5px; font-size:16px; font-weight:700; }
.igs-agency-voice__complete-text { margin:0; font-size:12px; line-height:1.6; color:var(--sub); }
.igs-agency-voice__detail { display:inline-block; margin-top:12px; padding:8px 14px; border:1px solid var(--main); border-radius:7px; background:#fff; color:var(--main); font-size:12px; font-weight:700; text-decoration:none; }
.igs-agency-voice__hp { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }

@media (max-width:480px) {
    .igs-agency-voice { padding:15px; margin-bottom:40px; }
    .igs-agency-voice__title { font-size:16px; }
    .igs-agency-voice__question { font-size:14px; }
    .igs-agency-voice__choice { font-size:12px; }
    .igs-agency-voice__rating-label { font-size:9px; }
}


/* 回答結果：アンケート本体と同じ中央視線で読めるレイアウト */
.igs-agency-voice-results-wrap:empty { display:none; }
.igs-agency-voice-results-wrap { margin: 0 0 48px; }
.igs-agency-voice-results {
    --main: #3d55a2;
    --main-light: #f6f7fc;
    --main-border: #d9def0;
    --text: #252936;
    --sub: #6c7180;
    padding: 17px 18px 16px;
    background: #fff;
    border: 1px solid var(--main-border);
    border-radius: 12px;
    color: var(--text);
    text-align: center;
    box-sizing: border-box;
}
.igs-agency-voice-results *, .igs-agency-voice-results *::before, .igs-agency-voice-results *::after { box-sizing:border-box; }
.igs-agency-voice-results__head { display:block; margin:0 auto 13px; text-align:center; }
.igs-agency-voice-results__title { margin:0 0 3px; font-size:15px; font-weight:700; line-height:1.5; color:var(--text); }
.igs-agency-voice-results__count { margin:0; font-size:11px; line-height:1.5; color:var(--sub); }
.igs-agency-voice-results__count strong { color:var(--main); font-size:13px; }
.igs-agency-voice-results__responses { display:grid; gap:9px; max-width:620px; margin:0 auto; }
.igs-agency-voice-results__response { position:relative; padding:11px 14px 12px; background:var(--main-light); border-radius:9px; text-align:center; }
.igs-agency-voice-results__response-no { display:block; margin:0 0 8px; font-size:10px; font-weight:700; line-height:1.4; color:var(--main); text-align:center; }
.igs-agency-voice-results__response-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; max-width:560px; margin:0 auto; }
.igs-agency-voice-results__response-grid > div { min-width:0; text-align:center; }
.igs-agency-voice-results__response-grid span { display:block; margin-bottom:2px; font-size:9px; line-height:1.4; color:var(--sub); }
.igs-agency-voice-results__response-grid strong { display:block; font-size:11px; line-height:1.5; font-weight:600; overflow-wrap:anywhere; }
.igs-agency-voice-results__note { max-width:680px; margin:10px auto 0; font-size:9px; line-height:1.6; color:var(--sub); text-align:center; }
.igs-agency-voice-results__summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; max-width:720px; margin:0 auto; }
.igs-agency-voice-results__summary-block { padding:11px 10px; background:var(--main-light); border-radius:9px; text-align:center; }
.igs-agency-voice-results__summary-label { margin:0 0 7px; font-size:11px; font-weight:700; line-height:1.4; text-align:center; }
.igs-agency-voice-results__chips { display:flex; flex-wrap:wrap; justify-content:center; gap:5px; }
.igs-agency-voice-results__chip { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; background:#fff; border:1px solid #e2e5f1; border-radius:999px; font-size:9px; line-height:1.25; color:var(--text); }
.igs-agency-voice-results__chip strong { color:var(--main); font-size:9px; white-space:nowrap; }
.igs-agency-voice-results__average { margin:0 0 7px; font-size:10px; color:var(--sub); text-align:center; }
.igs-agency-voice-results__average strong { color:var(--main); font-size:17px; line-height:1; }
.igs-agency-voice:has(+ .igs-agency-voice-results-wrap:not(:empty)) { margin-bottom:16px; }

@media (max-width:480px) {
    .igs-agency-voice-results-wrap { margin-bottom:40px; }
    .igs-agency-voice-results { padding:15px 12px 14px; }
    .igs-agency-voice-results__responses { max-width:none; }
    .igs-agency-voice-results__response { padding:10px 10px 11px; }
    .igs-agency-voice-results__response-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; gap:7px 10px; }
    .igs-agency-voice-results__summary-grid { grid-template-columns:1fr; max-width:none; }
}
