/* ========================================
   Privacy-2 Page Scoped Styles
======================================== */
.page-static-privacy-2 {

  /* ======================
     Table
  ====================== */

  .svc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin: 20px 0;
  }

  .svc-table th,
  .svc-table td {
    border: 1px solid #ddd;
    padding: 12px 10px;
    vertical-align: middle;
  }

  .svc-table thead th {
    background: #f5f5f5;
    font-weight: 700;
    text-align: left;
  }

  .svc-table .cell-center {
    text-align: center;
  }

  /* ======================
     i Button
  ====================== */

  .i-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid #111;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: .2s;
  }

  .i-btn:hover {
    background: #111;
    color: #fff;
  }

  /* ======================
     External Link Button
  ====================== */

  .link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 4px;
    border: 1px solid #111;
    text-decoration: none;
    font-size: 12px;
    transition: .2s;
  }

  .link-btn:hover {
    background: #111;
    color: #fff;
  }

  /* ======================
     Modal
  ====================== */

  .modal-toggle {
    display: none;
  }

  .modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
  }

  .modal-toggle:checked + .modal {
    display: flex;
  }

  .modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.6);
  }

  .modal__panel {
    position: relative;
    width: 90%;
    max-width: 640px;
    max-height: 85vh;
    background: #fff;
    overflow-y: auto;
    padding: 24px;
    z-index: 1;
  }

  .modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
  }

  .modal__title {
    font-size: 16px;
    font-weight: 700;
  }

  .modal__close {
    cursor: pointer;
    font-size: 18px;
  }

  /* ======================
     Modal Typography
  ====================== */

  .modal__body {
    font-size: 14px;
    line-height: 1.9;
    color: #333;
  }

  .modal__meta {
    margin: 0 0 16px;
    font-size: 13px;
    color: #666;
  }

  .modal__section-title:first-of-type {
    margin-top: 0;
  }

  .modal__text {
    margin: 0 0 14px;
    word-break: break-word;
  }

  .modal__list {
    margin: 0 0 14px;
    padding-left: 20px;
  }

  .modal__list li {
    margin-bottom: 6px;
  }

  .modal__footer {
    margin-top: 20px;
    text-align: center;
  }

  .modal__btn {
    display: inline-block;
    padding: 8px 18px;
    font-size: 13px;
    border: 1px solid #111;
    background: #111;
    color: #fff;
    cursor: pointer;
    transition: .2s;
  }

  .modal__btn:hover {
    background: #fff;
    color: #111;
  }

  /* ======================
     Responsive
  ====================== */

  @media (max-width: 768px) {

    .svc-table th,
    .svc-table td {
      font-size: 12px;
      padding: 8px;
    }

    .modal__panel {
      padding: 18px;
    }

    .modal__body {
      font-size: 13px;
    }

    .modal__section-title {
      font-size: 14px;
    }
  }

  .privacy-link a{
    display: block;
  }

}

/* ========================================
   Privacy-2 : Ordered List Numbering
======================================== */

.page-static-privacy-2 ol {
  counter-reset: privacy-ol;
  list-style: none;        /* デフォルト番号を無効化 */
  margin: 0 0 16px;
  padding: 0;
}

.page-static-privacy-2 ol > li {
  counter-increment: privacy-ol;
  position: relative;
  padding-left: 2.4em;     /* 番号分の余白 */
  margin-bottom: 10px;
  line-height: 1.9;
}

/* 番号本体 */
.page-static-privacy-2 ol > li::before {
  content: counter(privacy-ol) ".";
  position: absolute;
  left: 0;
  top: 0;
  color: #111;
  text-align: right;
  width: 1.8em;
}

/* li 内に p が入っているケース対策 */
.page-static-privacy-2 ol > li > p {
  margin: 0;
}

/* ========================================
   Privacy-2 : Unified Left Bar Headings
   (H2 - H6)
======================================== */

/* 共通見出しベース */
.page-static-privacy-2 .privacy-wrap h2,
.page-static-privacy-2 .privacy-wrap h3,
.page-static-privacy-2 .privacy-wrap h4,
.page-static-privacy-2 .privacy-wrap h5,
.page-static-privacy-2 .privacy-wrap h6{
  position: relative;
  padding-left: 18px;
  line-height: 1.45;
  font-weight: 800;
  color: #2c3a44;
}

/* 共通バー */
.page-static-privacy-2 .privacy-wrap h2::before,
.page-static-privacy-2 .privacy-wrap h3::before,
.page-static-privacy-2 .privacy-wrap h4::before,
.page-static-privacy-2 .privacy-wrap h5::before,
.page-static-privacy-2 .privacy-wrap h6::before{
  content: "";
  position: absolute;
  left: 0;
  top: .25em;
  border-radius: 2px;
}

/* ----- 階層ごとの調整 ----- */

/* h2：最上位 */
.page-static-privacy-2 .privacy-wrap h2{
  font-size: 22px;
  margin: 46px 0 16px;
}
.page-static-privacy-2 .privacy-wrap h2::before{
  width: 4px;
  height: 1.2em;
  background: #1b78c5;
}

/* h3：中項目 */
.page-static-privacy-2 .privacy-wrap h3{
  font-size: 19px;
  margin: 28px 0 12px;
}
.page-static-privacy-2 .privacy-wrap h3::before{
  width: 3px;
  height: 1.1em;
  background: #2c3a44;
  opacity: .8;
}

/* h4：小項目 */
.page-static-privacy-2 .privacy-wrap h4{
  font-size: 17px;
  margin: 22px 0 10px;
}
.page-static-privacy-2 .privacy-wrap h4::before{
  width: 3px;
  height: 1em;
  background: #2c3a44;
  opacity: .65;
}

/* h5：さらに小階層（本文以上を維持） */
.page-static-privacy-2 .privacy-wrap h5{
  font-size: 16px;
  margin: 18px 0 8px;
}
.page-static-privacy-2 .privacy-wrap h5::before{
  width: 2px;
  height: .95em;
  background: #2c3a44;
  opacity: .55;
}

/* h6：最小階層（本文以上） */
.page-static-privacy-2 .privacy-wrap h6{
  font-size: 16px;
  margin: 16px 0 6px;
}
.page-static-privacy-2 .privacy-wrap h6::before{
  width: 2px;
  height: .9em;
  background: #2c3a44;
  opacity: .45;
}

/* 見出し直後の本文間隔を自然に */
.page-static-privacy-2 .privacy-wrap h2 + p,
.page-static-privacy-2 .privacy-wrap h3 + p,
.page-static-privacy-2 .privacy-wrap h4 + p,
.page-static-privacy-2 .privacy-wrap h5 + p,
.page-static-privacy-2 .privacy-wrap h6 + p{
  margin-top: 6px;
}

/* SP調整 */
@media (max-width: 768px){

  .page-static-privacy-2 .privacy-wrap h2{
    font-size: 19px;
    margin: 34px 0 14px;
  }

  .page-static-privacy-2 .privacy-wrap h3{
    font-size: 17px;
  }

  .page-static-privacy-2 .privacy-wrap h4{
    font-size: 16px;
  }

  .page-static-privacy-2 .privacy-wrap h5,
  .page-static-privacy-2 .privacy-wrap h6{
    font-size: 15px;
  }

}

/* ========================================
   Privacy-2 : UL Bullet Styling
======================================== */

.page-static-privacy-2 ul{
  list-style: none;           /* デフォルトの黒丸を無効化 */
  margin: 12px 0 18px;
  padding: 0;
}

.page-static-privacy-2 ul > li{
  position: relative;
  padding-left: 1.4em;        /* ・分の余白 */
  margin-bottom: 6px;
  line-height: 1.9;
}

/* 「・」を付与 */
.page-static-privacy-2 ul > li::before{
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: #2c3a44;
  font-weight: 600;
}

/* li内にpがある場合の崩れ防止 */
.page-static-privacy-2 ul > li > p{
  margin: 0;
}

/* ========================================
   Privacy-2 : Prevent URL Overflow (SP)
======================================== */

.page-static-privacy-2 .privacy-wrap a{
  overflow-wrap: anywhere;   /* これが一番効く：どこでも折り返す */
  word-break: break-word;    /* 互換用 */
}

/* 念のため本文全体もはみ出し対策 */
.page-static-privacy-2 .privacy-wrap{
  overflow-wrap: anywhere;
}

.privacy-wrap .signature{
    margin-top: 0 !important;
    text-align: right;
}

.privacy-wrap .date{
    margin-top: 40px;
    text-align: right;
}