/* =========================================================
   出張ロードマップ　本文の書式（Markdown由来の要素など）
   ※ roadmap.css / roadmap-slide.css の後に読み込みます
   ========================================================= */

/* 太字・斜体・コード */
.rm-doc strong,
.rm-slide__body strong {
  font-weight: 700;
  color: var(--green-900);
}
.rm-doc em,
.rm-slide__body em { font-style: normal; color: var(--gold-700); }
.rm-doc code,
.rm-slide__body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.88em;
  padding: 1px 5px;
  border-radius: 5px;
  background: var(--green-50);
  border: 1px solid var(--line);
}

/* 区切り線 */
.rm-doc__hr {
  margin: 1.8em 0;
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line) 18%, var(--line) 82%, transparent);
}
.rm-slide__body .rm-doc__hr { margin: 1em 0; }

/* 箇条書き */
.rm-doc__li,
.rm-slide__body .rm-doc__li {
  position: relative;
  margin: 0 0 0.45em;
  padding-left: 1.35em;
  text-indent: 0;
}
.rm-doc__li::before {
  content: '';
  position: absolute;
  left: 0.35em;
  top: 0.82em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold-500);
}
.rm-doc__li.is-ordered { padding-left: 0.4em; }
.rm-doc__li.is-ordered::before { display: none; }

/* ※ ではじまる注記 */
.rm-doc__note-line {
  position: relative;
  margin: 0.6em 0 1em;
  padding: 10px 14px 10px 40px;
  border-radius: var(--radius-md);
  background: var(--gold-100);
  border: 1px solid rgba(183, 121, 0, 0.22);
  font-family: var(--font-sans);
  font-size: 0.86em;
  line-height: 1.85;
  color: #6a4708;
}
.rm-doc__note-line::before {
  content: '注';
  position: absolute;
  left: 12px;
  top: 11px;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--gold-500);
  color: #3a2500;
  font-size: 0.72em;
  font-weight: 800;
}
.rm-slide__body .rm-doc__note-line { font-size: 0.82em; }

/* 本文中の表 */
.rm-doc__tablewrap {
  margin: 1.4em 0;
  overflow-x: auto;
  border-radius: var(--radius-md);
  border: 1px solid var(--line);
}
.rm-doc__table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-family: var(--font-sans);
  font-size: 0.86rem;
  min-width: 320px;
}
.rm-doc__table th,
.rm-doc__table td {
  padding: 9px 12px;
  text-align: left;
  line-height: 1.75;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}
.rm-doc__table th {
  background: var(--green-800);
  color: var(--gold-100);
  font-weight: 700;
}
.rm-doc__table tr:last-child td { border-bottom: 0; }
.rm-doc__table tr:nth-child(even) td { background: var(--green-50); }
.rm-slide__body .rm-doc__tablewrap { margin: 0.8em 0; }
.rm-slide__body .rm-doc__table { font-size: 0.8rem; }

/* =========================================================
   スライドがはみ出さないようにする
   ========================================================= */
.rm-slide {
  overflow: hidden;
}
.rm-slide__body {
  overflow-y: auto;
  overscroll-behavior: contain;
  max-height: 100%;
  padding-right: 4px;
}
.rm-slide__body::-webkit-scrollbar { width: 6px; }
.rm-slide__body::-webkit-scrollbar-thumb {
  background: rgba(31, 91, 65, 0.2);
  border-radius: 99px;
}

/* 文字量に応じて段階的に小さくする（見切れ防止） */
.rm-slide__body[data-fit='m'] { font-size: 1rem; line-height: 1.9; }
.rm-slide__body[data-fit='s'] { font-size: 0.94rem; line-height: 1.82; }
.rm-slide__body[data-fit='xs'] { font-size: 0.88rem; line-height: 1.75; }

/* 長い語が枠を突き破らないように */
.rm-slide,
.rm-doc,
.rm-fig {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
.rm-fig__body strong,
.rm-fig__card strong,
.rm-fig__layer-head strong { overflow-wrap: anywhere; }

/* 図解の文字が詰まりすぎないように */
.rm-slide__figure .rm-fig {
  max-height: 100%;
  overflow-y: auto;
}

@media (max-width: 640px) {
  .rm-doc__note-line { padding-left: 36px; }
  .rm-doc__table { font-size: 0.8rem; }
}
