/* ===== UE Markdown（控えめコントラスト／角丸0／Cocoon対策） ===== */

.elementor-widget-ue_markdown_pro .ue-md{
  line-height:1.9;
  font-size: clamp(15px, 1.6vw, 17px);
  --md-text:#e7ebf2;
  --md-muted:#b9c2d1;
  --md-link:#c9d6ff;
  --md-link-hover:#e4e9ff;

  --md-border:#9aa4b5;
  --md-hr:#8590a3;

  /* code/pre：控えめ（暗背景でも判別可能） */
  --md-code-bg:rgba(255,255,255,.14);
  --md-code-text:#f4f6fa;
  --md-code-border:rgba(255,255,255,.35);
  --md-pre-bg:rgba(255,255,255,.12);
  --md-pre-border:rgba(255,255,255,.36);

  /* table：控えめ */
  --md-table-border:#a8b1c0;
  --md-table-head-bg:rgba(255,255,255,.18);
  --md-table-stripe:rgba(255,255,255,.10);
  --md-table-cell-bg:transparent;
}

.elementor-widget-ue_markdown_pro .ue-md,
.elementor-widget-ue_markdown_pro .ue-md p,
.elementor-widget-ue_markdown_pro .ue-md li{ color:var(--md-text); }

.elementor-widget-ue_markdown_pro .ue-md a{ color:var(--md-link); text-decoration:underline; }
.elementor-widget-ue_markdown_pro .ue-md a:hover{ color:var(--md-link-hover); }

.elementor-widget-ue_markdown_pro .ue-md h1{ margin:1.2em 0 .6em; line-height:1.25; }
.elementor-widget-ue_markdown_pro .ue-md h2{ margin:1.1em 0 .5em; line-height:1.3; }
.elementor-widget-ue_markdown_pro .ue-md h3{ margin:1.0em 0 .5em; line-height:1.35; }

.elementor-widget-ue_markdown_pro .ue-md .md-divider,
.elementor-widget-ue_markdown_pro .ue-md hr{
  margin:1.25rem 0; border:none; border-top:1px solid var(--md-hr);
}

/* 箇条書き：他CSSの list-style: none を打消し */
.elementor-widget-ue_markdown_pro .ue-md ul{ list-style:disc !important; padding-left:1.5em; margin:.7em 0; }
.elementor-widget-ue_markdown_pro .ue-md ol{ list-style:decimal !important; padding-left:1.8em; margin:.7em 0; }
.elementor-widget-ue_markdown_pro .ue-md li+li{ margin-top:.25em; }

/* 引用 */
.elementor-widget-ue_markdown_pro .ue-md blockquote{
  margin:1rem 0; padding:.8rem 1rem;
  border-left:4px solid var(--md-border);
  background:var(--md-table-stripe);
  border-radius:0;
}

/* 画像（レスポンシブ） */
.elementor-widget-ue_markdown_pro .ue-md figure{ margin:1.25rem 0; text-align:center; }
.elementor-widget-ue_markdown_pro .ue-md figcaption{ font-size:.9em; color:var(--md-muted); opacity:.95; margin-top:.35rem; }
.elementor-widget-ue_markdown_pro .ue-md img{ display:block; height:auto; max-width:100%; border-radius:0; margin:0 auto; }
.elementor-widget-ue_markdown_pro .ue-md .align-left img{ margin-left:0; margin-right:auto; }
.elementor-widget-ue_markdown_pro .ue-md .align-center img{ margin:0 auto; }
.elementor-widget-ue_markdown_pro .ue-md .align-right img{ margin-left:auto; margin-right:0; }

/* インラインコード／ブロックコード（角丸0・控えめ） */
.elementor-widget-ue_markdown_pro .ue-md code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  background:var(--md-code-bg);
  color:var(--md-code-text);
  border:1px solid var(--md-code-border);
  border-radius:0;
  padding:.12rem .42rem;
}
.elementor-widget-ue_markdown_pro .ue-md pre{
  overflow:auto; padding:.95rem 1.1rem;
  background:var(--md-pre-bg);
  border:1px solid var(--md-pre-border);
  border-radius:0;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  color:var(--md-code-text);
}
.elementor-widget-ue_markdown_pro .ue-md pre code{ background:transparent; border:none; padding:0; }

/* ===== テーブル（控えめコントラスト＋角丸0） ===== */
.elementor-widget-ue_markdown_pro .ue-md table{
  width:100%;
  margin:1rem auto;
  border-collapse:separate; border-spacing:0;
  border:1px solid var(--md-table-border);
  background:var(--md-table-cell-bg);
  border-radius:0;
}
.elementor-widget-ue_markdown_pro .ue-md thead th{
  background:var(--md-table-head-bg);
  color:var(--md-text);
  font-weight:700;
  border-bottom:1px solid var(--md-table-border);
}
.elementor-widget-ue_markdown_pro .ue-md th,
.elementor-widget-ue_markdown_pro .ue-md td{
  border-bottom:1px solid var(--md-table-border);
  padding:.8rem 1rem; vertical-align:top;
}
.elementor-widget-ue_markdown_pro .ue-md tbody tr:nth-child(odd){ background:var(--md-table-stripe); }
.elementor-widget-ue_markdown_pro .ue-md tbody tr:last-child td{ border-bottom:none; }

/* ===== テーブル毎の幅・位置（wrapで制御） ===== */
.elementor-widget-ue_markdown_pro .ue-md .md-table-wrap{
  max-width: var(--md-table-max, 100%);
  margin: 1rem auto;
}
.elementor-widget-ue_markdown_pro .ue-md .md-table-wrap[data-align="left"]  { margin-left:0;   margin-right:auto; }
.elementor-widget-ue_markdown_pro .ue-md .md-table-wrap[data-align="center"]{ margin-left:auto; margin-right:auto; }
.elementor-widget-ue_markdown_pro .ue-md .md-table-wrap[data-align="right"] { margin-left:auto; margin-right:0; }
.elementor-widget-ue_markdown_pro .ue-md .md-table-wrap > table{ width:100%; }

/* モバイル：横スクロール */
@media (max-width:768px){
  .elementor-widget-ue_markdown_pro .ue-md table{
    display:block; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch;
  }
}

/* ===== 強制コントラスト（Cocoon等に確実に勝つ） ===== */
.elementor-widget-ue_markdown_pro .ue-md.ue-md--force table,
.elementor-widget-ue_markdown_pro .ue-md.ue-md--force th,
.elementor-widget-ue_markdown_pro .ue-md.ue-md--force td{
  border-color: var(--md-table-border) !important;
}
.elementor-widget-ue_markdown_pro .ue-md.ue-md--force thead th{
  background: var(--md-table-head-bg) !important;
  border-bottom-color: var(--md-table-border) !important;
}
.elementor-widget-ue_markdown_pro .ue-md.ue-md--force tbody tr:nth-child(odd){
  background: var(--md-table-stripe) !important;
}
.elementor-widget-ue_markdown_pro .ue-md.ue-md--force pre{
  background: var(--md-pre-bg) !important;
  border-color: var(--md-pre-border) !important;
  color: var(--md-code-text) !important;
}
.elementor-widget-ue_markdown_pro .ue-md.ue-md--force code{
  background: var(--md-code-bg) !important;
  border-color: var(--md-code-border) !important;
  color: var(--md-code-text) !important;
}
/* --- 画像の配置＆余白を確実に適用 --- */
.elementor-widget-ue_markdown_pro .ue-md img.md-left,
.elementor-widget-ue_markdown_pro .ue-md img.md-center,
.elementor-widget-ue_markdown_pro .ue-md img.md-right{
  display:block !important;   /* 親の text-align の影響を受けないようブロック化 */
}

/* 配置（左右） */
.elementor-widget-ue_markdown_pro .ue-md img.md-left  { margin-left:0 !important;   margin-right:auto !important; }
.elementor-widget-ue_markdown_pro .ue-md img.md-center{ margin-left:auto !important; margin-right:auto !important; }
.elementor-widget-ue_markdown_pro .ue-md img.md-right { margin-left:auto !important; margin-right:0 !important;   }

/* 余白（上下） */
.elementor-widget-ue_markdown_pro .ue-md img.md-space-none{ margin-top:0    !important; margin-bottom:0    !important; }
.elementor-widget-ue_markdown_pro .ue-md img.md-space-sm  { margin-top:.5rem!important; margin-bottom:.5rem!important; }
.elementor-widget-ue_markdown_pro .ue-md img.md-space-md  { margin-top:.9rem!important; margin-bottom:.9rem!important; }
.elementor-widget-ue_markdown_pro .ue-md img.md-space-lg  { margin-top:1.5rem!important; margin-bottom:1.5rem!important; }
