/* =====================================================================
   resources.css
   「会社破産の実態統計222事例」ページ専用の追加スタイル
   -----------------------------------------------------------------------
   競合防止の方針：
   - すべてのスタイルを .bkStatReport の子孫セレクタとしてスコープし、
     既存の common.css / spCommon.css / case-cards.css のクラスと
     名前が重複しても影響が及ばないようにしています。
   - 素材（時短のため、必要でしたら.zip）内で同名クラスが複数の
     ファイルに存在し、定義内容が異なっていたもの
     （.legend-item / .legend-swatch / .chart-area の高さ など）は
     このファイル内で名称を分けるか、共通ルール化して解消しています。
   - 各素材HTML内にあった "body{...}" のリセットはこのページの
     <body> 全体に影響してしまうため取り込んでいません。
   ===================================================================== */

.bkStatReport {
  /* 素材HTML内で参照されていたCSS変数をこの階層で定義（この配下にのみ適用） */
  --color-text-primary: #1a1a1a;
  --color-text-secondary: #666666;
  --color-background-primary: #ffffff;
  --color-background-secondary: #f5f5f3;
  --color-border-secondary: rgba(0, 0, 0, 0.15);
  --color-border-tertiary: rgba(0, 0, 0, 0.1);
  --border-radius-lg: 12px;
  --border-radius-md: 8px;

  box-sizing: border-box;
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-text-primary);
  margin: 16px 20px 28px;
}
.bkStatReport * {
  box-sizing: border-box;
}
.bkStatReport + .bkStatReport {
  margin-top: 24px;
}

#lower #cont .bkStatReport table{ margin:0 auto;}
#lower #cont .bkStatReport p{ margin:10px 0 0;}

@media screen and (max-width: 480px) {
	.bkStatReport{ margin: 16px 10px 28px;}
}


/* ---------------------------------------------------------------------
   共通パーツ
   --------------------------------------------------------------------- */

/* 白背景・枠線付きの汎用ラッパー（industry_top3 / period / debt_by_industry で共通使用） */
.bkStatReport .wrap {
  max-width: 720px;
  margin: 0 auto;
  background: var(--color-background-primary);
  border-radius: var(--border-radius-lg);
  padding: 1.5rem;
  border: 0.5px solid var(--color-border-secondary);
}

/* 注記テキスト（フォントサイズ等の細かな差異はここで統一） */
.bkStatReport .footnote {
  font-size: 11px;
  color: var(--color-text-secondary);
  margin-top: 10px;
  line-height: 1.6;
}
.bkStatReport .footnote--bordered {
  border-top: 0.5px solid var(--color-border-tertiary);
  padding-top: 10px;
}

/* セクション内小見出し（cross_analysis / debt_by_industry で共通使用） */
.bkStatReport .section-label {
  font-size: 11px;
  color: var(--color-text-secondary);
  margin: 0 0 8px;
  letter-spacing: 0.04em;
}

/* グラフ描画エリア：高さは素材ごとに異なるため、
   ベースは position/width のみを定義し、高さは各箇所で
   style="height:○○px" を個別指定（cross_analysis_chart.html の元の作りに統一） */
.bkStatReport .chart-area {
  position: relative;
  width: 100%;
}

/* 4分割・3分割の指標ボックス行（debt_histogram / bankruptcy_cause_chart で使用）
   ※ 元素材はインラインstyleかつ折り返し無しだったため、
      レスポンシブ対応（折り返し）をここで追加 */
.bkStatReport .statRow {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}
.bkStatReport .statRow > div {
  background: var(--color-background-secondary);
  border-radius: var(--border-radius-md);
  padding: 12px 16px;
  flex: 1 1 130px;
  text-align: center;
}
.bkStatReport .statRow-label {
  font-size: 11px;
  color: var(--color-text-secondary);
  margin-bottom: 4px;
  line-height: 1.4;
}
.bkStatReport .statRow-value {
  font-size: 20px;
  font-weight: 500;
  color: var(--color-text-primary);
}
.bkStatReport .statRow-value span {
  font-size: 13px;
  font-weight: 400;
}

/* 2カラム／3カラムのグリッド（bankruptcy_cause_chart / cross_analysis で使用）
   ※ 元素材は固定グリッドでモバイル未対応だったため、ブレークポイントを追加 */
.bkStatReport .statGrid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.bkStatReport .statGrid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.bkStatReport .statTile {
  background: var(--color-background-secondary);
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 11px;
  color: var(--color-text-secondary);
}
.bkStatReport .statTile--accent {
  background: #fbeaf0;
  color: #993556;
  border: 0.5px solid #f4c0d1;
}

@media (max-width: 600px) {
  .bkStatReport .statGrid2 {
    grid-template-columns: 1fr;
  }
  .bkStatReport .statGrid3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 420px) {
  .bkStatReport .statGrid3 {
    grid-template-columns: 1fr;
  }
}

/* ---------------------------------------------------------------------
   総括サマリーカード（bankruptcy_summary_cards_v3.html）
   --------------------------------------------------------------------- */
.bkStatReport .cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 720px;
  margin: 0 auto;
}
@media (max-width: 540px) {
  .bkStatReport .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.bkStatReport .card {
  background: var(--color-background-primary);
  border: 0.5px solid var(--color-border-secondary);
  border-radius: var(--border-radius-lg);
  padding: 1.25rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bkStatReport .card-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
.bkStatReport .card-label {
  font-size: 11px;
  color: var(--color-text-secondary);
  letter-spacing: 0.04em;
}
.bkStatReport .card-value {
  font-size: 22px;
  font-weight: 500;
  color: var(--color-text-primary);
  line-height: 1.2;
}
.bkStatReport .card-value span {
  font-size: 14px;
  font-weight: 400;
}
.bkStatReport .card-sub {
  font-size: 11px;
  color: #888888;
  border-top: 0.5px solid var(--color-border-tertiary);
  padding-top: 8px;
  margin-top: 4px;
  line-height: 1.6;
}
.bkStatReport .icon-blue { background: #e6f1fb; }
.bkStatReport .icon-teal { background: #e1f5ee; }
.bkStatReport .icon-amber { background: #faeeda; }
.bkStatReport .icon-coral { background: #faece7; }
.bkStatReport .icon-purple { background: #eeedfe; }
.bkStatReport .icon-pink { background: #fbeaf0; }
.bkStatReport .card-highlight {
  border: 1.5px solid #f4c0d1 !important;
}
.bkStatReport .sub-accent {
  color: #993556;
  font-weight: 500;
}

/* ---------------------------------------------------------------------
   業種別ドーナツグラフ（industry_donut_v2.html）
   --------------------------------------------------------------------- */
.bkStatReport .chart-wrap {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 1rem 0;
}
.bkStatReport .donut-area {
  position: relative;
  width: 260px;
  min-width: 260px;
  height: 260px;
}
.bkStatReport .donut-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
}
.bkStatReport .donut-center-num {
  font-size: 28px;
  font-weight: 500;
  color: var(--color-text-primary);
  line-height: 1;
}
.bkStatReport .donut-center-label {
  font-size: 11px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
.bkStatReport .legend-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
.bkStatReport .legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bkStatReport .legend-swatch {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
}
.bkStatReport .legend-text {
  flex: 1;
  font-size: 12px;
  color: var(--color-text-primary);
}
.bkStatReport .legend-bar-wrap {
  width: 80px;
  background: var(--color-background-secondary);
  border-radius: 3px;
  height: 6px;
  overflow: hidden;
}
.bkStatReport .legend-bar {
  height: 6px;
  border-radius: 3px;
}
.bkStatReport .legend-pct {
  font-size: 12px;
  font-weight: 500;
  color: var(--color-text-primary);
  min-width: 36px;
  text-align: right;
}
@media (max-width: 600px) {
  .bkStatReport .chart-wrap {
    flex-direction: column;
  }
  .bkStatReport .donut-area {
    width: 100%;
    min-width: 0;
    height: 220px;
    margin: 0 auto;
  }
}

/* ---------------------------------------------------------------------
   業種別トップ3グラフ（industry_top3_bar_chart.html）
   ※ 素材内の .legend-item / .legend-swatch は上記ドーナツ用と
      定義が異なり名前が競合するため、chartLegend系に改名して分離
   --------------------------------------------------------------------- */
.bkStatReport .chartLegend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 12px;
  font-size: 12px;
  color: var(--color-text-secondary);
}
.bkStatReport .chartLegend-item {
  display: flex;
  align-items: center;
  gap: 4px;
}
.bkStatReport .chartLegend-swatch {
  width: 10px;
  height: 10px;
  border-radius: 2px;
}
.bkStatReport .table-wrap {
  border: 0.5px solid var(--color-border-secondary);
  border-radius: var(--border-radius-md);
  overflow: hidden;
}
.bkStatReport .table-wrap table {
  width: 100%;
  font-size: 12px;
  border-collapse: collapse;
  table-layout: fixed;
}
.bkStatReport .table-wrap thead tr {
  background: var(--color-background-secondary);
}
.bkStatReport .table-wrap th {
  padding: 8px 12px;
  font-weight: 500;
  color: var(--color-text-secondary);
  text-align: center;
  border-bottom: 0.5px solid var(--color-border-tertiary);
}
.bkStatReport .table-wrap th:first-child { text-align: left; }
.bkStatReport .table-wrap td {
  padding: 8px 12px;
  color: var(--color-text-primary);
  border-bottom: 0.5px solid var(--color-border-tertiary);
  text-align: center;
}
.bkStatReport .table-wrap td:first-child {
  text-align: left;
  font-weight: 500;
}
.bkStatReport .table-wrap tr:last-child td { border-bottom: none; }

/* ---------------------------------------------------------------------
   受任から申立までの期間データ（period_until_filing_chart.html）
   --------------------------------------------------------------------- */
.bkStatReport .metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}
.bkStatReport .metric {
  background: var(--color-background-secondary);
  border-radius: var(--border-radius-md);
  padding: 12px 16px;
  flex: 1 1 130px;
  text-align: center;
}
.bkStatReport .metric-label {
  font-size: 11px;
  color: var(--color-text-secondary);
  margin-bottom: 4px;
  line-height: 1.4;
}
.bkStatReport .metric-value {
  font-size: 20px;
  font-weight: 500;
  color: var(--color-text-primary);
}
.bkStatReport .metric-value span {
  font-size: 13px;
  font-weight: 400;
}
.bkStatReport .metric-value.accent {
  color: #993556;
}
.bkStatReport .industry-section {
  border: 0.5px solid var(--color-border-secondary);
  border-radius: var(--border-radius-md);
  overflow: hidden;
  margin-bottom: 12px;
}
.bkStatReport .industry-header {
  background: var(--color-background-secondary);
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 500;
  color: var(--color-text-secondary);
}
.bkStatReport .industry-bars {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bkStatReport .industry-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.bkStatReport .industry-label {
  font-size: 12px;
  color: var(--color-text-primary);
  width: 110px;
  flex-shrink: 0;
}
.bkStatReport .bar-wrap {
  flex: 1;
  min-width: 80px;
  background: #f0f0ee;
  border-radius: 4px;
  height: 8px;
  overflow: hidden;
}
.bkStatReport .bar-fill {
  height: 8px;
  border-radius: 4px;
}
.bkStatReport .industry-rate {
  font-size: 12px;
  font-weight: 500;
  color: var(--color-text-primary);
  min-width: 120px;
  text-align: right;
}

/* ---------------------------------------------------------------------
   複合分析（cross_analysis_chart.html）
   --------------------------------------------------------------------- */
.bkStatReport .divider {
  border: none;
  border-top: 0.5px solid var(--color-border-tertiary);
  margin: 20px 0;
}
.bkStatReport .finding-card {
  background: var(--color-background-secondary);
  border-radius: var(--border-radius-md);
  padding: 12px 14px;
  margin-bottom: 10px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.bkStatReport .finding-num {
  font-size: 18px;
  font-weight: 500;
  color: #1a5fa8;
  min-width: 32px;
  line-height: 1.2;
}
.bkStatReport .finding-num span {
  font-size: 12px;
  font-weight: 400;
}
.bkStatReport .finding-text {
  font-size: 12px;
  color: var(--color-text-primary);
  line-height: 1.7;
}
.bkStatReport .finding-text strong {
  font-weight: 500;
}

/* ---------------------------------------------------------------------
   業種別負債額クロス分析（debt_by_industry_cross.html）
   --------------------------------------------------------------------- */
.bkStatReport .cross-table-wrap {
  border: 0.5px solid var(--color-border-secondary);
  border-radius: var(--border-radius-md);
  overflow: hidden;
}
.bkStatReport .cross-table {
  width: 100%;
  font-size: 12px;
  border-collapse: collapse;
  table-layout: fixed;
}
.bkStatReport .cross-table th {
  padding: 8px 10px;
  font-weight: 500;
  color: var(--color-text-secondary);
  background: var(--color-background-secondary);
  text-align: center;
  border-bottom: 0.5px solid var(--color-border-tertiary);
}
.bkStatReport .cross-table th:first-child { text-align: left; }
.bkStatReport .cross-table td {
  padding: 7px 10px;
  color: var(--color-text-primary);
  border-bottom: 0.5px solid var(--color-border-tertiary);
  text-align: center;
}
.bkStatReport .cross-table td:first-child {
  text-align: left;
  font-weight: 500;
}
.bkStatReport .cross-table tr:last-child td { border-bottom: none; }
.bkStatReport .note {
  font-size: 11px;
  color: var(--color-text-secondary);
  margin-top: 10px;
}

/* ---------------------------------------------------------------------
   引用コピーボタン（citation_copy_button.html）
   --------------------------------------------------------------------- */
.bkStatReport .citation-box {
  border: 0.5px solid var(--color-border-tertiary);
  border-radius: var(--border-radius-lg);
  padding: 1.25rem;
  background: var(--color-background-primary);
}
.bkStatReport .citation-label {
  font-size: 11px;
  color: var(--color-text-secondary);
  margin-bottom: 12px;
  letter-spacing: 0.04em;
}
.bkStatReport .citation-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.bkStatReport .tab-btn {
  font-size: 11px;
  padding: 4px 12px;
  border-radius: 20px;
  border: 0.5px solid var(--color-border-secondary);
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all 0.15s;
}
.bkStatReport .tab-btn.active {
  background: #1a5fa8;
  color: #ffffff;
  border-color: #1a5fa8;
}
.bkStatReport .citation-preview {
  background: var(--color-background-secondary);
  border-radius: var(--border-radius-md);
  padding: 10px 14px;
  font-size: 12px;
  color: var(--color-text-primary);
  line-height: 1.7;
  margin-bottom: 12px;
  min-height: 48px;
  word-break: break-all;
}
.bkStatReport .copy-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.bkStatReport .copy-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #1a5fa8;
  color: #ffffff;
  border: none;
  border-radius: var(--border-radius-md);
  font-size: 12px;
  cursor: pointer;
  transition: opacity 0.15s;
}
.bkStatReport .copy-btn:hover { opacity: 0.85; }
.bkStatReport .copy-btn.copied { background: #3aaa7a; }
.bkStatReport .copy-note {
  font-size: 11px;
  color: var(--color-text-secondary);
  line-height: 1.5;
}
