.tcqr-question-wrap {
    text-align: center;
    margin: 30px 0;
}

.tcqr-question-index {
    font-size: 14px;
    color: #666;
    margin-bottom: 4px;
}

.tcqr-question {
    font-size: 1.4rem;
    margin-bottom: 20px;
}

.tcqr-choices {
display: flex;
    justify-content: center;
    gap: 20px;         /* 選択肢間の隙間 */
    flex-wrap: nowrap; /* ★絶対改行させない */
    width: 100%;       /* 親の幅を100%に */
    padding: 0 15px;   /* 画面端の余白 */
    box-sizing: border-box;}

.tcqr-choice {
/* 固定のwidthを削除し、flex: 1 を指定 */
    flex: 1;           /* ★親の幅に合わせて自動で縮小・拡大する */
    max-width: 500px;  /* 大きくなりすぎない上限 */
    height: 400px;     /* PCでの高さ */
    
    position: relative; /* labelを中央に置くための基準 */
    border-radius: 24px;
    background-size: cover;
    background-position: center;
    border: none;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;}


.tcqr-choice:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.18);
}

.tcqr-choice-label {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.4rem;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
}

/* スマホで少し小さく */
@media (max-width: 480px) {
    .tcqr-choices {
        gap: 10px;      /* スマホでは隙間を少し狭く */
    }
    
    .tcqr-choice {
        height: 180px;  /* ★スマホでの高さを調整（お好みで） */
        border-radius: 16px;
    }

    .tcqr-choice-label {
        font-size: 1rem; /* スマホでは文字サイズを調整 */
    }
}