/* メインコンテナ（シンプル1カラム） */
.single-school-review {
    max-width: 800px !important;
    margin: 20px auto !important;
    padding: 20px !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
    box-sizing: border-box !important;
    line-height: 1.6 !important;
}

/* パンくずリスト */
.review-breadcrumb {
    margin-bottom: 25px !important;
    font-size: 0.9rem !important;
    padding: 12px 16px !important;
    background: white !important;
    border-radius: 6px !important;
    border: 1px solid #e8e8e8 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}

.review-breadcrumb a {
    color: #d04b57 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.review-breadcrumb a:hover {
    text-decoration: underline !important;
}

.review-breadcrumb span {
    color: #666 !important;
    margin: 0 8px !important;
}

/* レビューヘッダー */
.review-header {
    background: white !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
    overflow: hidden !important;
}

/* ヘッダー上部（控えめな赤） */
.header-top {
    background: linear-gradient(135deg, #d04b57, #b33f4a) !important;
    color: white !important;
    padding: 25px 30px !important;
}

.review-header h1 {
    font-size: 1.5rem !important;
    margin: 0 0 15px 0 !important;
    font-weight: 600 !important;
    color: white !important;
    line-height: 1.4 !important;
}

.review-meta-header {
    display: flex !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
    opacity: 0.9 !important;
}

.meta-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.85rem !important;
    color: white !important;
    background: rgba(255,255,255,0.2) !important;
    padding: 4px 10px !important;
    border-radius: 12px !important;
}

/* ヘッダー下部（白背景） */
.header-bottom {
    padding: 25px 30px !important;
    background: white !important;
}

/* スクール基本情報 */
.school-basic-info {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 25px !important;
    margin-bottom: 25px !important;
    flex-wrap: wrap !important;
}

.school-details {
    flex: 1 !important;
    min-width: 0 !important;
}

.school-name-large {
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    color: #d04b57 !important;
    margin: 0 0 8px 0 !important;
}

.course-name-large {
    font-size: 1rem !important;
    color: #555 !important;
    font-weight: 500 !important;
    margin: 0 0 15px 0 !important;
}

.course-duration {
    display: flex !important;
    gap: 20px !important;
    font-size: 0.9rem !important;
    color: #666 !important;
    flex-wrap: wrap !important;
}

.duration-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* 評価エリア */
.rating-area {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 20px !important;
    background: #f8f9fa !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    min-width: 140px !important;
}

.overall-rating-large {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #d04b57 !important;
    margin-bottom: 8px !important;
}

.stars-large {
    display: flex !important;
    gap: 2px !important;
    margin-bottom: 8px !important;
}

.star-large {
    color: #ffc107 !important;
    font-size: 1.2rem !important;
}

.star-large.empty {
    color: #e0e0e0 !important;
}

.rating-label {
    font-size: 0.8rem !important;
    color: #666 !important;
    font-weight: 500 !important;
}

/* バッジエリア */
.badges-section {
    margin-top: 20px !important;
}

.badges-large {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.badge-large {
    padding: 6px 12px !important;
    border-radius: 16px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    border: 1px solid transparent !important;
}

.badge-large.high-trust {
    background: #eaf7ef !important;
    color: #155724 !important;
    border-color: #d7efdf !important;
}

.badge-large.medium-trust {
    background: #fff6df !important;
    color: #856404 !important;
    border-color: #ffeab0 !important;
}

.badge-large.verified {
    background: #ecf2ff !important;
    color: #223aa2 !important;
    border-color: #dfe7ff !important;
}

.badge-large.testimonial {
    background: #fff2f0 !important;
    color: #721c24 !important;
    border-color: #ffebe9 !important;
}

/* スコア表示エリア */
.scores-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    gap: 15px !important;
    margin-top: 25px !important;
    padding-top: 25px !important;
    border-top: 1px solid #e8e8e8 !important;
}

.score-item {
    text-align: center !important;
    padding: 16px 12px !important;
    background: white !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
}

.score-item:hover {
    border-color: #d04b57 !important;
    box-shadow: 0 2px 8px rgba(208, 75, 87, 0.1) !important;
}

.score-value {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #d04b57 !important;
    display: block !important;
    margin-bottom: 4px !important;
}

.score-label {
    font-size: 0.8rem !important;
    color: #666 !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* 共通カードスタイル */
.reviewer-card,
.review-content,
.detailed-ratings,
.related-reviews {
    background: white !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 8px !important;
    padding: 25px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
}

/* カードタイトル */
.reviewer-card h3,
.review-content h3,
.detailed-ratings h3,
.related-reviews h3 {
    margin: 0 0 20px 0 !important;
    color: #d04b57 !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #f8f9fa !important;
}

/* レビューア情報のアイコン追加 */
.reviewer-profile {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 15px !important;
}

.profile-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    background: #f8f9fa !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
}

.profile-item:hover {
    background: #fff5f5 !important;
    border-color: #d04b57 !important;
}

/* 各プロフィール項目にアイコンを追加 */
.profile-item:nth-child(1) .profile-icon::before { content: "\f007"; font-family: "Font Awesome 6 Free"; font-weight: 900; } /* ユーザー */
.profile-item:nth-child(2) .profile-icon::before { content: "\f228"; font-family: "Font Awesome 6 Free"; font-weight: 900; } /* 性別 */
.profile-item:nth-child(3) .profile-icon::before { content: "\f1fd"; font-family: "Font Awesome 6 Free"; font-weight: 900; } /* 誕生日 */
.profile-item:nth-child(4) .profile-icon::before { content: "\f0b1"; font-family: "Font Awesome 6 Free"; font-weight: 900; } /* ブリーフケース */
.profile-item:nth-child(5) .profile-icon::before { content: "\f140"; font-family: "Font Awesome 6 Free"; font-weight: 900; } /* 目的 */
.profile-item:nth-child(6) .profile-icon::before { content: "\f19d"; font-family: "Font Awesome 6 Free"; font-weight: 900; } /* 卒業帽 */

.profile-icon {
    width: 32px !important;
    height: 32px !important;
    background: #d04b57 !important;
    color: white !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    flex-shrink: 0 !important;
}

.profile-info {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}

.profile-label {
    font-size: 0.75rem !important;
    color: #666 !important;
    margin: 0 0 2px 0 !important;
    font-weight: 500 !important;
}

.profile-value {
    font-weight: 600 !important;
    color: #333 !important;
    font-size: 0.9rem !important;
    margin: 0 !important;
}

/* レビュー本文 */
.review-text {
    line-height: 1.8 !important;
    font-size: 1rem !important;
    color: #333 !important;
    word-wrap: break-word !important;
}

.review-text p {
    margin: 0 0 16px 0 !important;
}

.review-text p:last-child {
    margin-bottom: 0 !important;
}

/* 詳細評価にアイコン追加 */
.rating-breakdown {
    display: grid !important;
    gap: 12px !important;
}

.rating-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 16px !important;
    background: #f8f9fa !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
}

.rating-row:hover {
    background: #fff5f5 !important;
    border-color: #d04b57 !important;
}

.rating-category {
    font-weight: 500 !important;
    color: #333 !important;
    font-size: 0.9rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* 各評価カテゴリにアイコンを追加 */
.rating-category::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    color: #d04b57 !important;
    width: 16px !important;
    text-align: center !important;
}

/* カリキュラム */
.rating-category:contains("カリキュラム")::before,
.rating-row:nth-child(1) .rating-category::before { content: "\f02d"; } /* 本 */

/* 講師 */
.rating-category:contains("講師")::before,
.rating-row:nth-child(2) .rating-category::before { content: "\f007"; } /* ユーザー */

/* サポート */
.rating-category:contains("サポート")::before,
.rating-row:nth-child(3) .rating-category::before { content: "\f4ad"; } /* サポート */

/* 料金 */
.rating-category:contains("料金")::before,
.rating-row:nth-child(4) .rating-category::before { content: "\f155"; } /* 円マーク */

/* 転職支援 */
.rating-category:contains("転職")::before,
.rating-row:nth-child(5) .rating-category::before { content: "\f0b1"; } /* ブリーフケース */

.rating-stars {
    display: flex !important;
    gap: 2px !important;
}

.rating-value {
    font-weight: 600 !important;
    color: #d04b57 !important;
    font-size: 0.9rem !important;
    min-width: 35px !important;
    text-align: center !important;
}

/* アクションボタン */
.review-actions {
    display: flex !important;
    gap: 15px !important;
    justify-content: center !important;
    margin: 30px 0 !important;
    flex-wrap: wrap !important;
}

.action-btn {
    padding: 12px 24px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-size: 0.9rem !important;
    border: 2px solid transparent !important;
}

.action-btn.primary {
    background: #d04b57 !important;
    color: white !important;
    border-color: #d04b57 !important;
}

.action-btn.primary:hover {
    background: #b33f4a !important;
    border-color: #b33f4a !important;
    color: white !important;
    text-decoration: none !important;
}

.action-btn.secondary {
    background: white !important;
    color: #d04b57 !important;
    border-color: #d04b57 !important;
}

.action-btn.secondary:hover {
    background: #d04b57 !important;
    color: white !important;
    text-decoration: none !important;
}

/* 関連レビュー */
.related-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 15px !important;
}

.related-card {
    padding: 16px !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 6px !important;
    background: #f8f9fa !important;
    transition: all 0.2s ease !important;
}

.related-card:hover {
    background: white !important;
    border-color: #d04b57 !important;
    box-shadow: 0 2px 8px rgba(208, 75, 87, 0.1) !important;
}

.related-title {
    font-weight: 600 !important;
    margin: 0 0 8px 0 !important;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
}

.related-title a {
    color: #333 !important;
    text-decoration: none !important;
}

.related-title a:hover {
    color: #d04b57 !important;
}

.related-meta {
    font-size: 0.8rem !important;
    color: #666 !important;
    margin: 0 0 8px 0 !important;
}

.related-rating {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.8rem !important;
}

/* レスポンシブ対応 - ヘッダー改善版 */
@media (max-width: 768px) {
    .single-school-review {
        padding: 15px !important;
        margin: 10px !important;
    }
    
    .header-top {
        padding: 25px 20px 20px !important;
    }
    
    .header-bottom {
        padding: 20px !important;
    }
    
    .review-header h1 {
        font-size: 1.5rem !important;
    }
    
    .review-header h1::before {
        font-size: 1.3rem !important;
    }
    
    .school-basic-info {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        text-align: center !important;
    }
    
    .school-name-large {
        font-size: 1.6rem !important;
        justify-content: center !important;
    }
    
    .school-name-large::before {
        font-size: 1.4rem !important;
    }
    
    .course-name-large {
        font-size: 1.1rem !important;
        text-align: center !important;
    }
    
    .course-duration {
        justify-content: center !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .rating-area {
        min-width: auto !important;
        padding: 20px !important;
        margin: 0 auto !important;
        max-width: 200px !important;
    }
    
    .overall-rating-large {
        font-size: 2.5rem !important;
    }
    
    .badges-large {
        justify-content: center !important;
        gap: 8px !important;
    }
    
    .badge-large {
        font-size: 0.75rem !important;
        padding: 6px 12px !important;
    }
    
    .meta-item {
        font-size: 0.85rem !important;
        padding: 6px 12px !important;
    }
    
    .scores-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    
    .reviewer-profile {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    
    .rating-row {
        flex-direction: column !important;
        gap: 8px !important;
        text-align: center !important;
    }
    
    .review-actions {
        flex-direction: column !important;
        align-items: center !important;
    }
    
    .action-btn {
        width: 100% !important;
        max-width: 300px !important;
        justify-content: center !important;
    }
    
    .related-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    .review-header h1 {
        font-size: 1.3rem !important;
    }
    
    .school-name-large {
        font-size: 1.4rem !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    
    .overall-rating-large {
        font-size: 2.2rem !important;
    }
    
    .scores-grid {
        grid-template-columns: 1fr !important;
    }
    
    .header-top,
    .header-bottom {
        padding: 20px 15px !important;
    }
}

/* ==== SRW v2 — Single overrides (hide trust/usefulness everywhere) ==== */

/* 1) 信頼度/有用度のスコア＆バッジを非表示 */
#body_wrap.single-school_review .score.trust-score,
#body_wrap.single-school_review .score.utility-score,
#body_wrap.single-school_review .score.usefulness-score,
#body_wrap.single-school_review .badge.high-trust,
#body_wrap.single-school_review .badge.high-useful {
  display: none !important;
}

/* 2) 万一別のコンポーネント名で出てきても隠す"保険" */
#body_wrap.single-school_review .metric.-trust,
#body_wrap.single-school_review .metric.-usefulness,
#body_wrap.single-school_review .metric.-utility {
  display: none !important;
}

/* 3) スコアグリッドの詰まり防止（項目数が減っても崩さない） */
#body_wrap.single-school_review .review-scores,
#body_wrap.single-school_review .scores-grid{
  grid-auto-flow: row;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}