/**
 * clinic-comparison-tool: テーブルモード CSS v5.11.0
 */

/* ===== リセット ===== */
.act-root,.act-root *{box-sizing:border-box!important;margin:0!important;padding:0!important}
.act-root{max-width:780px!important;margin:0 auto 40px!important;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif!important;color:#333!important;line-height:1.6!important;-webkit-font-smoothing:antialiased!important}

/* ===== プラン切替 ===== */
.act-plan-bar{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:6px!important;margin-bottom:16px!important}
.act-pill{padding:8px 8px!important;border-radius:8px!important;border:1.5px solid #ccc!important;background:#fff!important;font-size:12px!important;font-weight:600!important;color:#777!important;cursor:pointer!important;transition:all .2s ease!important;white-space:nowrap!important;text-align:center!important}
.act-pill:hover{border-color:#0A9298!important;color:#0A9298!important;transform:translateY(-1px)!important}
.act-pill:active{transform:translateY(0) scale(.97)!important}
.act-pill.is-active{background:#0A9298!important;border-color:#0A9298!important;color:#fff!important;box-shadow:0 2px 8px rgba(10,146,152,.25)!important}

/* ===== テーブル ===== */
.act-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid #e0e0e0!important;border-radius:10px 10px 0 0!important;overflow:hidden!important;font-size:13px!important;table-layout:fixed!important}
.act-table thead{background:#0A9298!important}
.act-table th{padding:10px 8px!important;font-size:12px!important;font-weight:700!important;color:#fff!important;text-align:center!important;border-bottom:none!important;white-space:nowrap!important;letter-spacing:.5px!important}
.act-table .act-th-clinic{width:33.3%!important}
.act-table .act-th-review{width:33.3%!important}
.act-table .act-th-price{width:33.3%!important}
.act-table td{padding:16px 10px!important;text-align:center!important;border-bottom:1px solid #f0f0f0!important;vertical-align:middle!important}

/* ===== メイン行 ===== */
.act-row{transition:background .2s ease!important}
.act-row:hover{background:#f8fcfc!important}

/* --- 1列目：クリニック --- */
.act-clinic{display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;text-align:center!important}
.act-label{display:inline-block!important;font-size:10px!important;font-weight:700!important;color:#C4613F!important;background:#fff!important;padding:2px 10px!important;border-radius:4px!important;border:1.5px solid #C4613F!important;letter-spacing:.3px!important;line-height:1.5!important}
.act-logo{width:80px!important;height:80px!important;border-radius:12px!important;object-fit:contain!important;border:1px solid #eee!important;background:#fff!important;display:block!important}
.act-name{font-size:13px!important;font-weight:700!important;color:#333!important;line-height:1.3!important}
.act-cta{display:inline-block!important;padding:6px 20px!important;border-radius:6px!important;font-size:11px!important;font-weight:700!important;color:#fff!important;background:#e63535!important;cursor:pointer!important;border:none!important;text-decoration:none!important;transition:all .15s ease!important;line-height:1.3!important;white-space:nowrap!important}
.act-cta:hover{opacity:.85!important;transform:translateY(-1px)!important;box-shadow:0 2px 8px rgba(230,53,53,.3)!important}
.act-cta:active{transform:translateY(0) scale(.97)!important;box-shadow:none!important}
.act-detail-link{display:inline-flex!important;align-items:center!important;gap:3px!important;font-size:11px!important;color:#0A9298!important;font-weight:600!important;cursor:pointer!important;transition:all .15s ease!important;border:none!important;background:none!important;white-space:nowrap!important}
.act-detail-link:hover{opacity:.7!important;transform:translateX(2px)!important}
.act-detail-arr{font-size:9px!important;transition:transform .2s!important;display:inline-block!important}
.act-detail-arr.is-open{transform:rotate(90deg)!important}

/* --- 2列目：口コミ --- */
.act-rv{display:flex!important;flex-direction:column!important;align-items:center!important;gap:3px!important}
.act-rv-score{font-size:18px!important;font-weight:700!important;color:#E07B5A!important;line-height:1!important}
.act-rv-stars{display:flex!important;gap:2px!important}
.act-rv-star{width:14px!important;height:14px!important;background:#E07B5A!important;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)!important;flex-shrink:0!important}
.act-rv-star.is-dim{opacity:.2!important}
.act-rv-count{font-size:10px!important;color:#999!important}
.act-rv-none{font-size:12px!important;color:#ccc!important}

/* --- 3列目：料金 --- */
.act-price{font-size:18px!important;font-weight:700!important;color:#E07B5A!important;line-height:1.2!important;white-space:nowrap!important}
.act-price small{font-size:11px!important;font-weight:400!important}
.act-price-count{font-size:12px!important;font-weight:600!important;margin-right:2px!important}
.act-price-per{font-size:10px!important;color:#888!important;margin-top:3px!important;white-space:nowrap!important}
.act-price-note{font-size:10px!important;color:#C4613F!important;margin-top:3px!important;font-weight:600!important}
.act-price-na{font-size:12px!important;color:#ccc!important}
.act-campaign-label{font-size:10px!important;color:#888!important;margin-top:6px!important;padding-top:6px!important;border-top:1px dashed #e0e0e0!important}
.act-campaign-price{font-size:15px!important;font-weight:700!important;color:#C4613F!important;margin-top:1px!important;white-space:nowrap!important}
.act-campaign-price small{font-size:10px!important;font-weight:400!important}
.act-campaign-note{font-size:9px!important;color:#888!important;margin-top:1px!important}

/* ===== 展開行 ===== */
.act-expand{display:none!important}
.act-expand.is-open{display:table-row!important}
.act-expand>td{padding:0!important;border-bottom:1px solid #e0e0e0!important}
.act-expand-inner{background:#FAFAF8!important;padding:20px 24px!important;border-top:2px solid #0A9298!important;animation:actSlideDown .3s ease-out!important}
@keyframes actSlideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.act-detail-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.act-detail-item{padding:12px 14px!important;background:#fff!important;border-radius:8px!important;border:1px solid #E2ECEC!important;position:relative!important;overflow:hidden!important;text-align:center!important}
.act-detail-label{font-size:10px!important;font-weight:600!important;color:#A8A29E!important;letter-spacing:.5px!important}
.act-detail-value{font-size:13px!important;font-weight:600!important;color:#333!important;margin-top:3px!important;line-height:1.5!important}

/* 評価バッジ ◎○△× 透かし */
.act-rt{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;font-size:52px!important;font-weight:700!important;line-height:1!important;opacity:.08!important;pointer-events:none!important;user-select:none!important}
.act-rt--dbl{color:#0A9298!important}
.act-rt--good{color:#0A9298!important}
.act-rt--fair{color:#E6A000!important}
.act-rt--poor{color:#DC2626!important}
.act-section{margin-top:14px!important;padding-top:12px!important;border-top:1px solid #EDF4F4!important}
.act-section-title{font-size:11px!important;font-weight:700!important;letter-spacing:1px!important;color:#0A9298!important;margin-bottom:10px!important;display:flex!important;align-items:center!important;gap:10px!important}
.act-section-title::after{content:""!important;flex:1!important;height:1px!important;background:#EDF4F4!important}
.act-equip-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.act-equip-card{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 12px!important;background:#fff!important;border-radius:8px!important;border:1px solid #E2ECEC!important}
.act-equip-img{width:36px!important;height:36px!important;border-radius:6px!important;object-fit:contain!important;border:1px solid #eee!important;background:#fff!important;flex-shrink:0!important}
.act-equip-info{flex:1!important;min-width:0!important}
.act-equip-name{font-size:12px!important;font-weight:700!important;color:#333!important;line-height:1.3!important}
.act-equip-type{font-size:10px!important;color:#999!important;margin-top:1px!important}
.act-chip-row{display:flex!important;gap:6px!important;flex-wrap:wrap!important}
.act-chip{font-size:11px!important;font-weight:600!important;color:#C4613F!important;background:#FBF2EF!important;padding:4px 12px!important;border-radius:20px!important;border:1px solid rgba(224,123,90,.2)!important}
.act-expand-cta{margin-top:16px!important;display:flex!important;gap:8px!important;align-items:stretch!important}
.act-expand-cta .act-cta{flex:1!important;padding:12px 8px!important;font-size:13px!important;text-align:center!important;border-radius:8px!important}
.act-cta-outline{flex:1!important;display:block!important;padding:11px 8px!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important;color:#0A9298!important;background:#fff!important;border:1.5px solid #0A9298!important;cursor:pointer!important;text-decoration:none!important;text-align:center!important;transition:all .15s ease!important}
.act-cta-outline:hover{background:#E6F5F5!important;transform:translateY(-1px)!important}
.act-cta-outline:active{transform:translateY(0) scale(.97)!important}

/* 展開行：閉じるボタン */
.act-close-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;margin-top:14px!important;padding:11px!important;font-size:13px!important;font-weight:700!important;color:#0A9298!important;background:#fff!important;border:1.5px solid #0A9298!important;border-radius:8px!important;cursor:pointer!important;transition:all .15s ease!important}
.act-close-btn:hover{background:#E6F5F5!important}

/* ===== アコーディオン ===== */
.act-more-wrap{border:1px solid #e0e0e0!important;border-top:none!important;border-radius:0 0 10px 10px!important;overflow:hidden!important}
.act-more-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:12px!important;cursor:pointer!important;font-size:13px!important;color:#0A9298!important;font-weight:700!important;background:#fff!important;border:none!important;border-top:1.5px solid #0A9298!important;width:100%!important;transition:all .2s ease!important}
.act-more-btn:hover{background:#E6F5F5!important}
.act-more-icon{display:inline-block!important;transition:transform .3s!important;font-size:10px!important}
.act-more-btn.is-open .act-more-icon{transform:rotate(180deg)!important}
.act-hidden{display:none!important}
.act-hidden.is-open{display:table-row-group!important}

/* ===== フッター ===== */
.act-footer{padding:14px 20px!important;background:#f8f9fa!important;border:1px solid #e0e0e0!important;border-top:none!important;border-radius:0 0 12px 12px!important}
.act-footer p{font-size:11px!important;color:#999!important;line-height:1.5!important}
.act-root[data-has-more="1"] .act-footer{border-radius:0!important}
.act-root[data-has-more="0"] .act-table{border-radius:10px!important}
.act-root[data-has-more="0"] .act-footer{border-radius:0 0 12px 12px!important;border-top:none!important}

/* ===== スマホ ===== */
@media(max-width:680px){
  .act-table{table-layout:auto!important}
  .act-table th{padding:8px 6px!important;font-size:10px!important}
  .act-table td{padding:12px 6px!important}
  .act-logo{width:60px!important;height:60px!important;border-radius:10px!important}
  .act-clinic{gap:4px!important}
  .act-label{font-size:9px!important;padding:1px 8px!important}
  .act-name{font-size:11px!important}
  .act-cta{font-size:10px!important;padding:5px 14px!important}
  .act-detail-link{font-size:10px!important}
  .act-rv-score{font-size:16px!important}
  .act-rv-star{width:12px!important;height:12px!important}
  .act-rv-count{font-size:9px!important}
  .act-price{font-size:15px!important}
  .act-price-per{font-size:9px!important}
  .act-detail-grid{grid-template-columns:1fr!important}
  .act-equip-grid{grid-template-columns:1fr!important}
  .act-expand-inner{padding:14px!important}
}
@media(max-width:400px){
  .act-logo{width:50px!important;height:50px!important}
  .act-price{font-size:14px!important}
  .act-rv-score{font-size:14px!important}
  .act-rv-star{width:10px!important;height:10px!important}
  .act-cta{padding:4px 12px!important;font-size:9px!important}
}
