.caption-text {font-size: 0.9rem; background-color: #f9f9f9; color: #666; text-align: center; margin-top: 0.5rem; font-style: italic;}
.flexbox-pro-contra { display: flex; flex-wrap: wrap; gap: 2rem; margin: 2rem 0; }
.pro,.contra { flex: 1 1 45%; box-sizing: border-box; padding: 1rem; border-radius: 10px; background-color: #fdfdfd; box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);}
.pro { border-left: 5px solid #378a3a;}
.contra { border-left: 5px solid #bd2419;}
.pro ul,.contra ul { list-style: none; padding: 0; margin: 0;}
.pro ul li,.contra ul li { display: flex; align-items: flex-start; gap: 0.5em; margin-bottom: 0.5rem; line-height: 1.5;}
.pro ul li::before { content: "\2714"; color: #2f8a32; flex-shrink: 0;}
.pro ul li { color: #333;}
.contra ul li::before { content: "\2716"; color: #bf1b0f; flex-shrink: 0;}
.contra ul li { color: #333;}
.info-box { border-left: 5px solid #2196F3; background-color: #f9f9f9; color: #000; padding: 1rem; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); box-sizing: border-box; margin-bottom: 2rem; font-size: 1rem;}
.info-box ul { list-style: disc; margin: 0; padding-left: 1.5rem;}
.info-box ul li { margin-bottom: 0.5rem; color: #000; line-height: 1.5; display: list-item;}
.info-box ul li::marker { color: #2196F3;}
.valbbox { position: relative; border: 1px solid #6297BC; border-radius: 12px; padding: 16px; padding-top: 30px; width: 100%; background: #fff; box-sizing: border-box; margin-top: 44px; margin-bottom: 24px;}
.valbox-t { position: absolute; top: -0.7em; left: 16px; background: #fff; margin: 0; padding: 0 8px; font-size: 1.6em; font-weight: bold; color: #356485;}
.valbox-s { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 26px; }
.valbox-i {  }
.valbox-m { flex: 2; min-width: 200px; }
.valbox-i img { max-width: 100%;}
.valbox-r {flex: 1; min-width: 150px; display: flex; justify-content: flex-end; padding-right: 3px; box-sizing: border-box; align-self: flex-start;}
.val { display: flex; border: 1px solid #6297BC; width: 180px; font-family: sans-serif; font-size: 12px; background: #fff;}
.val-b { width: 5px; background-color: #6297BC;}
.val-c { padding: 8px 10px; flex: 1; box-sizing: border-box;}
.val-c .title { color: #0a2c48; font-size: 11px; margin-bottom: 4px; text-align: center;}
.val-c .rating { font-size: 28px; font-weight: bold; text-align: center;}
.val-c .sub-rating { text-align: center; font-size: 10px; color: #333; margin-bottom: 8px;}
.val-c .product { text-align: center; font-size: 12px; color: #333;}
.val-c .date { text-align: center; font-size: 12px; color: #333;}
.valbox-l ul { list-style: none; padding: 0; margin: 0;}
.valbox-l ul li { display: flex; align-items: flex-start; gap: 0.5em; margin-bottom: 0.5rem; line-height: 1.5; color: #555;}
.valbox-l ul li::before { content: "\2714"; color: #4CAF50; flex-shrink: 0;}
.acc { padding-top: 12px; border-top: 1px solid #ccc; margin-top: 16px;}
.acc-btn { display: inline-flex; justify-content: flex-start; align-items: center; gap: 0.4em; padding: 10px 0; color: #666; font-size: 1.1em; background: none; border: none; cursor: pointer;}
.acc-btn:focus { outline: none;}
.acc-c { display: none; padding-top: 5px;}
.acc.open .acc-c { display: block;}
.acc-i { transition: transform 0.3s ease; font-size: 16px;}
.acc.open .acc-i { transform: rotate(180deg);}
.acc-c table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 14px;}
.acc-c th, .acc-c td { border: 1px solid #ccc; padding: 8px; text-align: left;}
.ster {color: orange; font-size: 1.2em;}
a.abutt {background-color: #356485 !important; color: white !important; font-weight: bold; text-decoration: none !important; padding: 0.5em 3em; font-size: 1em; border: none !important; border-radius: 20px; display: inline-block; cursor: pointer; transition: background-color 0.3s ease;}
a.abutt:hover {background-color: #e65100 !important;}

@media (max-width: 768px) {
.pro, .contra { flex: 1 1 100%; }
.valbox-s { flex-direction: column; align-items: flex-start; }
.valbox-r { justify-content: center; padding-right: 0; margin-top: 12px; }
.val { width: 100%; max-width: 280px; }
.valbox-t { top: 0; font-size: 1.3em; }
.val-c .rating { font-size: 24px; }
.val-c .title, .val-c .sub-rating, .val-c .product, .val-c .date { font-size: 11px; }
.acc-btn { font-size: 1em; padding: 12px 0; }
.acc-c p, .acc-c ul, .acc-c ol { font-size: 14px; line-height: 1.6; }
.acc-c ul, .acc-c ol { padding-left: 20px; }
.acc-c table { display: block; overflow-x: auto; width: 100%; }
.acc-c th, .acc-c td { white-space: nowrap; }
.valbbox { padding: 12px; width: 100%; max-width: 100%; overflow-x: hidden; box-sizing: border-box; padding-top: 48px; }
}
