@charset "UTF-8";
/* トレンドリサーチ 詳細ページ 補助スタイル（trendresearch配下で完結） */
.m_entryBody .richtext { margin-bottom: 1.6em; line-height: 1.9; }
.m_entryBody .richtext h2 {
  margin: 2.4em 0 .9em; padding-left: .6em; font-size: 1.35em; font-weight: bold;
  border-left: 5px solid #132c8d; line-height: 1.4;
}
.m_entryBody .richtext h3 {
  margin: 2em 0 .6em; font-size: 1.12em; font-weight: bold; color: #132c8d;
}
/* 調査結果の項目ラベル見出し（色を本文と同じ黒に） */
.m_entryBody .richtext h3.tr_sectionLabel { color: #1a2229; }
.m_entryBody figure img { max-width: 100%; height: auto; }
.m_entryBody .imageList { width: 100%; }
.m_entryBody .imageList > li,
.m_entryBody .imageList figure { margin: 0; }
.m_entryBody .imageList img { width: 100%; height: auto; display: block; }
.m_entryBody .imageList { margin: 0 0 2em; padding: 0; list-style: none; }

/* サマリー */
.m_entryBody ul.tr_summaryBox {
  list-style: none;
  background: #f4f6fb; border: 1px solid #dfe3f0; border-radius: 8px;
  padding: 1.6em 2.2em; margin: 0 0 1.8em;
}
.m_entryBody ul.tr_summaryBox > li {
  position: relative; list-style: none; padding-left: 1.4em;
  margin-bottom: .7em; line-height: 1.8;
}
.m_entryBody ul.tr_summaryBox > li:last-child { margin-bottom: 0; }
.m_entryBody ul.tr_summaryBox > li::before {
  content: ""; position: absolute; left: 0; top: .7em;
  width: .5em; height: .5em; background: #132c8d; border-radius: 50%;
}

/* 調査概要テーブル */
.tr_overviewTable { width: 100%; border-collapse: collapse; margin: 0 0 1.8em; font-size: .95em; }
.tr_overviewTable th, .tr_overviewTable td {
  border: 1px solid #d6d9de; padding: .85em 1.1em; text-align: left; vertical-align: top;
}
.tr_overviewTable th { background: #f3f4f6; white-space: nowrap; width: 9em; font-weight: bold; }

/* 免責 */
.tr_note { font-size: .86em; color: #666; line-height: 1.8; background: #f7f7f7; padding: 1.1em 1.3em; border-radius: 6px; margin: 0 0 1.8em; }

/* 関連サービス */
.tr_serviceList { margin: 0 0 1em; padding: 0; list-style: none; }
.tr_serviceList li { padding: .5em 0; border-bottom: 1px dashed #d6d9de; }

/* 一覧に戻る */
.tr_backToList { text-align: center; margin: 3.5em 0 0; }
.tr_backToList a {
  display: inline-block; min-width: 240px; padding: .95em 2.5em;
  border: 1px solid #333; border-radius: 40px; text-decoration: none;
  color: #333; font-weight: bold; transition: .2s;
}
.tr_backToList a:hover { background: #333; color: #fff; }

/* トレンドリサーチ タグ色（添付指定 #606e79 ＝サイト標準カテゴリ色）*/
.m_entryHeading[class*=_type02] .category > li { background: #606e79; }

/* ===== 調査結果データ（JSON描画のグラフ・表）===== */
.tr_dataBlock { margin: 0 0 2.4em; }
.tr_chart { margin: 0 0 1.2em; padding: 0; }
.tr_chartTitle { font-weight: bold; text-align: center; margin: 0 0 1em; font-size: 1.05em; }
.tr_chartCanvas { position: relative; width: 100%; }
.tr_chartCanvas canvas { width: 100% !important; }

/* 補足の「計」表（積み上げ横棒の右側数値） */
.tr_summaryCol { border-collapse: collapse; margin: .4em auto 0; font-size: .85em; }
.tr_summaryCol th, .tr_summaryCol td { border: 1px solid #d6d9de; padding: .35em .9em; }
.tr_summaryCol thead th { background: #f3f4f6; }
.tr_summaryCol tbody th { font-weight: normal; text-align: left; }
.tr_summaryCol td { text-align: right; }

/* データテーブル（図4） */
.tr_dataTable { width: 100%; border-collapse: collapse; font-size: .9em; }
.tr_dataTable th, .tr_dataTable td { border: 1px solid #d6d9de; padding: .6em .7em; text-align: center; }
.tr_dataTable thead th { background: #1f3a6e; color: #fff; font-weight: bold; }
.tr_dataTable thead th.is_accent { background: #2f7fd1; }
.tr_dataTable tbody th { background: #1f3a6e; color: #fff; }
.tr_dataTable td.hl_up { background: #fde0e6; color: #c8102e; font-weight: bold; }
.tr_dataTable td.hl_down { background: #dce8f7; color: #1f63b5; font-weight: bold; }
.tr_tableNote { font-size: .8em; color: #666; margin: .6em 0 0; text-align: right; }
.tr_dataError { color: #c00; font-size: .9em; }


/* 設問・調査対象企業・章間余白 */
.tr_resultSection { margin-top: 4.75em; }
.tr_questionList { margin: 1.25em 0 3.75em; padding-left: 0; list-style: none; }
.tr_questionList li { margin: .7em 0; line-height: 1.8; }
.tr_companyList { margin: 1.25em 0 3.1em; }
.tr_companyList p { font-size: .86em; line-height: 1.8; }

@media screen and (max-width: 767px) {
  .tr_resultSection { margin-top: 3.25em; }
  .m_entryBody ul.tr_summaryBox { padding: 1.35em 1.25em; }
  .tr_overviewTable th,
  .tr_overviewTable td { display: block; box-sizing: border-box; width: 100%; }
  .tr_overviewTable td { border-top: 0; }
}


/* 会社概要・問い合わせ */
.tr_infoBlock { margin-top: 3.5em; }
.tr_infoBlock .richtext { margin-bottom: .65em; }
.tr_infoBlock .richtext p { margin: 0; }
@media screen and (max-width: 767px) {
  .tr_infoBlock { margin-top: 2.6em; }
}

/* ===== 一覧ページ /trendresearch/index.html =====
   旧 index.html の <head> 内 <style> 2ブロックを移設・整理。
   共通CSS（.m_entryList）で成立する指定は削除し、差分のみを保持。 */
#document.trendresearch.tr_indexPage .m_sectionInner {
  width: calc(100% - 80px);
  max-width: 1040px;
}
#document.trendresearch.tr_indexPage .m_entryList.l_col3 { margin-top: 54px; }

/* サムネイル枠：図版・キービジュアルを切らずに収める（共通CSSは cover 基準） */
#document.trendresearch.tr_indexPage .m_entryList .imageBox { overflow: visible; }
#document.trendresearch.tr_indexPage .m_entryList .imageBox .image {
  display: flex; align-items: center; justify-content: center;
  box-sizing: border-box; height: 220px; padding: 24px;
  border-radius: 10px; background: #eef0f2;
}
#document.trendresearch.tr_indexPage .m_entryList .imageBox .image img {
  position: static; display: block;
  width: 100%; height: 100%; min-height: 0;
  object-fit: contain; transform: none;
}
#document.trendresearch.tr_indexPage .m_entryList .imageBox:hover .image img { transform: none; }
#document.trendresearch.tr_indexPage .m_entryList .imageBox:hover .title { text-decoration: underline; }

/* タブレット2列 */
@media screen and (max-width: 900px) {
  #document.trendresearch.tr_indexPage .m_entryList.l_col3 > li { width: calc(50% - 25px); }
  #document.trendresearch.tr_indexPage .m_entryList.l_col3 > li:nth-child(n+3) { margin-top: 37px; }
}
@media screen and (max-width: 767px) {
  #document.trendresearch.tr_indexPage .m_sectionInner { width: calc(100% - 40px); }
  #document.trendresearch.tr_indexPage .m_entryList.l_col3 { margin-top: 38px; }
  #document.trendresearch.tr_indexPage .m_entryList .imageBox .image { height: 52.8vw; padding: 20px; }
}
