/**
 * Manager総研 個人情報保護方針 — /media/privacy-policy — Phase 9-5O.3.
 *
 * Scoped narrowly to this one page's own classes (`.bl_m_pp*`, `.width-
 * narrow`) — confirmed via a live fetch of production's own CSS (the same
 * shared stylesheet this theme's other Production-drift fixes have used:
 * cdn.prod.website-files.com/.../kakeai-service-site.webflow.shared.
 * e002dc86b.min.css) and its own page-specific embed `<style>` block
 * (the list-marker `::before` rules, which live only in that embed, not
 * the linked stylesheet). `.bl_m_path`/`.bl_m_page_ttl` already exist in
 * assets/media/css/archive.css and single.css, but neither file loads on
 * this standalone page (archive.css is archive-only, single.css is
 * `is_singular('article')` only) — repeated here (byte-identical to
 * single.css's own copy) so this page is self-sufficient without pulling
 * in either unrelated stylesheet.
 *
 * Phase 9-5Q.1: `.ly_m_container`/`.ly_m_wrapper`'s own base rule was
 * missing from this list for the same reason — it only lives in archive.css/
 * top.css/single.css (byte-identical in each: max-width 1176px, margin 0
 * auto), none of which load here. Without it, `.width-narrow` (below) was
 * the only rule reaching `.ly_m_container`, leaving it with a max-width but
 * no centering margin — the left-aligned content Phase 9-5Q.1 reported.
 * Added here, byte-identical to the other three files' copy.
 */
.ly_m_wrapper {
  padding-left: 3%;
  padding-right: 3%;
}
.ly_m_container {
  width: 100%;
  max-width: 1176px;
  margin: 0 auto;
}
.bl_m_path {
  display: flex;
  flex-flow: wrap;
  column-gap: 1rem;
  row-gap: .5rem;
  justify-content: flex-start;
  align-items: center;
  padding-top: 1.375rem;
  padding-bottom: 2.5rem;
}
.bl_m_path_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: .4375rem;
  height: .75rem;
}
.bl_m_page_ttl {
  display: flex;
  flex-flow: column;
  column-gap: 1rem;
  row-gap: 1rem;
  padding-bottom: 4rem;
}
.width-narrow {
  max-width: 45rem;
}
.bl_m_pp {
  letter-spacing: .1em;
  font-size: .875rem;
  line-height: 2;
}
.bl_m_pp_sec {
  display: flex;
  flex-flow: column;
  row-gap: 3rem;
  padding-bottom: 3rem;
}
.bl_m_pp_chunk {
  display: flex;
  flex-flow: column;
  row-gap: 2rem;
}
.bl_m_pp_box {
  display: flex;
  flex-flow: column;
  row-gap: .5rem;
}
.bl_m_pp_box.is-info {
  padding-top: 1rem;
}
.bl_m_pp_box_ttl {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.75;
}
.bl_m_pp_chunk_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.66;
}
.bl_m_pp_block {
  display: flex;
  flex-flow: column;
  row-gap: 1.5rem;
}

/* ---- lettered list (a / b / c ...) ---- */
.bl_m_pp_list_alha {
  counter-reset: counter;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.bl_m_pp_list_alha_item {
  counter-increment: counter;
  padding-left: 1.75rem;
  position: relative;
}
.bl_m_pp_list_alha li::before {
  content: counter(counter, lower-alpha) " ) ";
  position: absolute;
  display: inline-block;
  left: 0;
}

/* ---- numbered list ---- */
.bl_m_pp_list_num {
  flex-flow: column;
  margin-bottom: 0;
  padding-left: 1.875rem;
  list-style-type: decimal;
}
.bl_m_pp_list_num.is-complex {
  display: flex;
  row-gap: 2rem;
}
.bl_m_pp_list_num.is-complex li::marker {
  font-weight: 600;
}
.bl_m_pp_list_num_item {
  counter-increment: circled;
  flex-flow: column;
  position: relative;
}

/* ---- bulleted (dot) list ---- */
.bl_m_pp_list_dot {
  margin-bottom: 0;
  padding-left: .75rem;
  font-weight: 400;
  list-style-type: disc;
}
.bl_m_pp_list_dot.is-nest {
  padding-top: 1rem;
}
.bl_m_pp_list_dot.is-nest-double {
  margin-left: 1.75rem;
  padding-top: 1rem;
}
.bl_m_pp_list_dot_item {
  padding-left: 1rem;
}

/* ---- dash ("ー") list ---- */
.bl_m_pp_list_dash {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.bl_m_pp_list_dash.is-nest {
  display: flex;
  flex-flow: column;
  row-gap: 1rem;
  padding-top: 1rem;
}
.bl_m_pp_list_dash_item {
  padding-left: 1.75rem;
  position: relative;
}
.bl_m_pp_list_dash li::before {
  content: "ー";
  position: absolute;
  left: 0;
}

/* ---- circled-number (①②③...) list — rendered via a literal entity span,
   not a CSS counter, matching production's own markup exactly ---- */
.bl_m_pp_list_circled {
  counter-reset: circled;
  display: flex;
  flex-flow: column;
  row-gap: 1rem;
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}
.bl_m_pp_list_circled.is-nest {
  padding-top: 1rem;
}
.bl_m_pp_list_circled.is-info {
  row-gap: 0;
}
.bl_m_pp_list_circled_item {
  counter-increment: circled;
  flex-flow: column;
  padding-left: 0;
  position: relative;
}
.bl_m_pp_list_circled_box {
  display: flex;
  column-gap: .75rem;
  row-gap: .75rem;
  justify-content: flex-start;
  align-items: flex-start;
}

/* ---- plain data table (安全管理措置) ---- */
.bl_pp_table th,
.bl_pp_table td {
  padding: .5rem;
}

@media screen and (max-width: 767px) {
  .bl_m_path {
    padding-top: 1rem;
    padding-bottom: 2rem;
  }
  .bl_m_path_icon {
    width: .375rem;
    min-width: .375rem;
    height: .375rem;
  }
}
