#shindan-container {
    max-width: 100%;
    background-color: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    padding: 25px;
    margin: 20px 0;
    font-family: sans-serif;
}
#shindan-container .shindan-main-title {
    display: block;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin: 0 0 20px 0;
    color: #333;
}
#shindan-container .shindan-q { display: none; }
#shindan-container .shindan-q.active { display: block; }
#shindan-container .shindan-txt { font-size: 17px; margin-bottom: 15px; }

#shindan-container .shindan-btn {
    background-color: #0066cc;
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: 5px;
    cursor: pointer;
    margin: 4px;
    font-weight: bold;
}
#shindan-container .shindan-btn:hover { background-color: #004499; }

/* 結果エリアのレイアウト */
#shindan-container #shindan-result { display: none; text-align: center; }
#shindan-container .res-flex {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-top: 20px;
    flex-wrap: wrap;
}
#shindan-container .res-card {
    flex: 1;
    min-width: 200px;
    max-width: 280px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    background: #fafafa;
    position: relative;
}
#shindan-container .res-tag {
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 10px;
}
#shindan-container .res-tag.budget { background: #27ae60; }
#shindan-container .res-tag.premium { background: #e67e22; }

#shindan-container .res-img-box {
    width: 100%;
	aspect-ratio: 4 / 3;  /* ★比率を4:3に固定（最近のブラウザで有効） */
    height: auto;         /* ★高さを固定せず、比率に任せる */
    background: #fff;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
	overflow: hidden;     /* はみ出し防止 */
}
#shindan-container .res-img-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
#shindan-container .res-name { font-weight: bold; font-size: 15px; line-height: 1.4; }
#shindan-container .res-name a { color: #d35400; text-decoration: underline; }

#shindan-container .retry-btn { background-color: #666; margin-top: 30px; }
