/* ① テーブル本体：border-spacing: 0 を追加して隙間を完全に除去 */
table.ss_seminar_preview_table {
  width: 100% !important;
  margin-bottom: 20px !important;         /* 元の余白数値 */
  border: 1px solid #dddddd !important;   /* 元の薄いグレー線 */
  border-collapse: separate !important;   /* 角丸を活かすための分割仕様 */
  border-spacing: 0 !important;           /* ★セルの隙間（空白）を完全にゼロにする */
  border-left: 0 !important;
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
  overflow: hidden !important;            /* 角丸からはみ出る背景のトリミング */
}

/* ② セル全体の枠線仕様（ここは変更なし） */
table.ss_seminar_preview_table th,
table.ss_seminar_preview_table td {
  padding: 8px !important;                /* 元のパディング数値 */
  line-height: 20px !important;           /* 元の行高さ数値 */
  vertical-align: middle !important;
  border-left: 1px solid #dddddd !important;
  border-top: 1px solid #dddddd !important;
  border-bottom: 0 !important;
  border-right: 0 !important;
}

/* ③ 1行目のセルの枠線調整（ここは変更なし） */
table.ss_seminar_preview_table tr:first-child th,
table.ss_seminar_preview_table tr:first-child td {
  border-top: 0 !important;
}

/* ④ th（見出し）：折り返し防止（ここは変更なし） */
table.ss_seminar_preview_table th {
  white-space: nowrap !important;
  width: auto !important;
}

/* ⑤ 奇数行：ご指定の薄い水色 */
table.ss_seminar_preview_table tbody tr:nth-of-type(odd) th,
table.ss_seminar_preview_table tbody tr:nth-of-type(odd) td {
  background-color: #F0F9FD !important;
  box-shadow: inset 0 0 0 9999px #F0F9FD !important; 
  color: #333333 !important;              /* 元の文字色 */
}

/* ⑥ 偶数行：真っ白 */
table.ss_seminar_preview_table tbody tr:nth-of-type(even) th,
table.ss_seminar_preview_table tbody tr:nth-of-type(even) td {
  background-color: #ffffff !important;
  box-shadow: inset 0 0 0 9999px #ffffff !important;
  color: #333333 !important;
}

/* ⑦ マウスを乗せたとき（hover）の効果 */
table.ss_seminar_preview_table tbody tr:hover th,
table.ss_seminar_preview_table tbody tr:hover td {
  background-color: #f5f5f5 !important;
  box-shadow: inset 0 0 0 9999px #f5f5f5 !important;
}

/* ==========================================
 * シャノンフォーム用：講師情報＆お問い合わせ（抽出版）
 * ========================================== */

/* --- ① 講師情報：レイアウトの横並び構造（Media Object） --- */
.media {
  display: flex;                      /* 現代のブラウザに合わせてflexで確実に横並び化 */
  align-items: flex-start;
  margin-top: 15px !important;
  margin-bottom: 20px !important;
}

.media-body {
  flex: 1;                            /* 残りの横幅いっぱいにプロフィールを広げる */
}

.media-heading {
  margin: 0 0 5px 0 !important;
  font-size: 18px !important;
  font-weight: bold !important;
}

/* 左側の写真用ブロックの右余白 */
.media > .pull-left {
  margin-right: 15px !important;
}

/* --- ② 講師情報：シャノン独自の写真・プロフィール装飾 --- */
.ss_speaker_img img {
  max-width: 100px !important;
  width: 100px !important;
  padding: 4px !important;
  line-height: 20px !important;
  border: 1px solid #ddd !important;
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
  background-color: #ffffff !important;
}

.ss_profile, 
.ss_personal_history {
  font-size: 85% !important;          /* 文字を少しコンパクトにして読みやすく */
  margin-top: 5px !important;
  line-height: 140% !important;       /* 行間を少し広げて視認性を向上 */
}

/* --- ③ お問い合わせエリア：文字の余白調整 --- */
#ss_inq {
  margin-top: 10px !important;
  font-style: normal !important;      /* addressタグ特有の斜体をリセット */
}

#ss_inq span {
  margin-right: 10px !important;      /* 項目間の横余白を確保 */
}

#ss_inq div.ss_inqtxt {
  margin-bottom: 5px !important;      /* 行ごとの縦余白を確保 */
}

/* ==========================================
   講師情報＆お問い合わせ
 * ========================================== */

/* --- ① 講師情報：レイアウトの横並び構造 --- */
.ss_seminar_preview_speaker .media,
.ss_seminar_preview_speaker .media-body {
  overflow: hidden !important;
  zoom: 1 !important;
}

.ss_seminar_preview_speaker .media {
  margin-top: 15px !important;
  margin-bottom: 20px !important;
}

/* ★講師名：1枚目のように大きく、太く強調する */
.ss_seminar_preview_speaker .media-heading {
  margin: 0 0 10px 0 !important;
  font-size: 20px !important;
  font-weight: bold !important;
  color: #212529 !important;
}

/* 写真を左に回り込ませる指示 */
.ss_seminar_preview_speaker .pull-left {
  float: left !important;
  margin-right: 15px !important;
}

/* --- ② 講師情報：写真・プロフィール装飾 --- */
.ss_seminar_preview_speaker .ss_speaker_img img {
  max-width: 100px !important;
  width: 100px !important;
  padding: 4px !important;
  line-height: 20px !important;
  background-color: #ffffff !important;
  border: 1px solid #dddddd !important;
  -webkit-border-radius: 4px !important;
  -moz-border-radius: 4px !important;
  border-radius: 4px !important;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055) !important;
}

.ss_seminar_preview_speaker .ss_profile,
.ss_seminar_preview_speaker .ss_personal_history,
.ss_seminar_preview_speaker .media-body > div {
  font-size: 14px !important;             /* 本文の読みやすいサイズ */
  margin-top: 5px !important;
  line-height: 150% !important;
  color: #333333 !important;
}

/* --- ③お問い合わせの見出し --- */
blockquote#ss_inqtitle {
  border-left: 5px solid #D6EDF8 !important; /* 1枚目のシャノン標準の鮮やかな水色縦線 */
  padding-left: 12px !important;             /* 線と文字の間の心地よい余白 */
  margin-top: 30px !important;
  margin-bottom: 20px !important;
  /* 他のCSSによるリセットを強制解除 */
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

/* お問い合わせタイトルの文字色 */
blockquote#ss_inqtitle p {
  color: #777777 !important;                 /* 1枚目の少しマイルドなグレー */
  font-size: 16px !important;
  font-weight: bold !important;
  margin: 0 !important;
}

/* --- ④ お問い合わせエリア本文 --- */
address#ss_inq {
  display: block !important;
  margin-bottom: 20px !important;
  font-style: normal !important;
  line-height: 22px !important;
  color: #333333 !important;
}

address#ss_inq span {
  margin-right: 15px !important;
}

address#ss_inq div.ss_inqtxt {
  margin-bottom: 8px !important;
}

table.ss_seminar_preview_table td img {
  max-width: 100% !important;  /* セルの横幅を超えて絶対に大きくならない */
  height: auto !important;     /* 縦横比を崩さずに縮小する */
  margin-top: 5px !important;  /* 上の住所テキストとの間に少し余白を作る */
}

/* ----------------------------------------------------
 * 会場URLアイコン
 * ---------------------------------------------------- */
.icon-map-marker {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 5px; /* テキストと少し隙間を空ける */
    background-image: url("/static/upload/essam-event.essam.co.jp/system/seminar_base/shared/img/glyphicons-halflings.png");
    background-position: -24px -72px;
    background-repeat: no-repeat;
    vertical-align: middle;
}

