/* ============================================
   privacy-policy.css
   プライバシーポリシーページ専用スタイル
   style.css の上書き禁止。このファイルに記述。
   ============================================ */

/* ============================================
   page.php 共通スタイル
   （style.css に未定義のため、ここで定義）
   ============================================ */

.page_gallery .c-kv__img-box,
.page_privacy-policy .c-kv__img-box {
  position: relative;
}
.page_gallery .c-kv__img-box::after,
.page_privacy-policy .c-kv__img-box::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}
.page_gallery .c-kv__title,
.page_privacy-policy .c-kv__title {
  z-index: 2;
}

.c-kv--no-img .c-kv__title-ja {
  color: #fff;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 768px) {
  .c-kv--no-img {
    padding: 40px 0 32px;
    min-height: 140px;
  }
}

/* コンテンツエリア (.page-content) */
.page-content {
  padding: 60px 0 80px;
}

@media screen and (max-width: 768px) {
  .page-content {
    padding: 40px 0 60px;
  }
}

/* ============================================
   ページ固有スタイル（プライバシーポリシー）
   ============================================ */

/* リード文 */
.policy-lead {
  font-size: 0.9375rem;
  line-height: 1.9;
  margin-bottom: 28px;
  color: var(--color-black-500, #333);
}

.policy-lead a {
  color: var(--color-green-500, #70868c);
  text-decoration: underline;
}

/* セクション見出し (h2) */
.policy-body h2 {
  font-family: var(--font-noto-sans);
  font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
  font-weight: 700;
  color: var(--color-black-500, #333);
  border-left: 3px solid var(--color-green-500, #70868c);
  padding: 3px 0 3px 12px;
  margin: 44px 0 16px;
  line-height: 1.5;
}

/* 最初の h2 は上マージン不要 */
.policy-body h2:first-of-type {
  margin-top: 0;
}

/* 本文段落 */
.policy-body p {
  font-size: 0.875rem;
  line-height: 1.9;
  margin-bottom: 16px;
  color: var(--color-black-500, #333);
}

.policy-body p:empty {
  display: none; /* HTMLに残っているコメント用 <p></p> を非表示 */
}

.policy-body p strong {
  font-weight: 700;
  color: var(--color-black-500, #333);
}

/* リンク */
.policy-body a {
  color: var(--color-green-500, #70868c);
  text-decoration: underline;
  word-break: break-all;
}

.policy-body a:hover {
  opacity: 0.75;
}

/* 箇条書きリスト (.policy-list) */
.policy-list {
  list-style: none;
  margin: 4px 0 20px;
  padding: 0;
}

.policy-list li {
  font-size: 0.875rem;
  line-height: 1.85;
  padding-left: 18px;
  position: relative;
  margin-bottom: 6px;
  color: var(--color-black-500, #333);
}

.policy-list li::before {
  content: '・';
  position: absolute;
  left: 0;
  color: var(--color-green-500, #70868c);
}

/* お問い合わせリスト (.contact-list) */
.contact-list {
  list-style: none;
  margin: 4px 0 20px;
  padding: 0;
}

.contact-list li {
  font-size: 0.875rem;
  line-height: 1.85;
  padding-left: 18px;
  position: relative;
  margin-bottom: 10px;
  color: var(--color-black-500, #333);
}

.contact-list li::before {
  content: '▸';
  position: absolute;
  left: 0;
  color: var(--color-green-500, #70868c);
  font-size: 0.75rem;
  top: 4px;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
  .policy-body h2 {
    font-size: 0.9375rem;
    margin: 36px 0 14px;
  }

  .policy-body p,
  .policy-list li,
  .contact-list li {
    font-size: 0.875rem;
  }
}

/* ============================================
   カスタマーハラスメントに対する基本方針
   ============================================ */
/* リード部分 */
.policy-body--harassment .policy-lead-wrap {
  margin-bottom: 2.4rem;
}
.policy-body--harassment h2.policy-lead-title {
  font-size: var(--text-2xl);
  font-weight: 700;
  text-align: center;
  border-left: none;
  padding: 0;
  margin: 0;
  line-height: 1.5;
}
.policy-body--harassment .policy-lead {
  margin-block: 1.6rem;
}
.policy-body--harassment .policy-lead-signature {
  font-size: 0.875rem;
  line-height: 1.8;
  text-align: right;
}
.policy-body--harassment .policy-lead-signature .policy-lead-signature-text {
  display: block;
}

/* カテゴリーリスト（a. b. c.） */
.policy-body--harassment .harassment-category-list {
  list-style: none;
  counter-reset: harassment-category;
  margin: 4px 0 20px;
  padding-left: 1.8em;
}

.policy-body--harassment .harassment-category-list > li {
  position: relative;
  counter-increment: harassment-category;
  font-size: 0.875rem;
  line-height: 1.85;
  color: var(--color-black-500, #333);
}

.policy-body--harassment .harassment-category-list > li::before {
  content: counter(harassment-category, lower-alpha) '.';
  position: absolute;
  left: -1.8em;
  color: var(--color-green-500, #70868c);
  font-weight: 700;
}

/* カテゴリータイトル */
.policy-body--harassment .harassment-category-title {
  margin-top: 16px;
  margin-bottom: 8px;
  font-weight: 700;
}

/* 詳細リスト（(i) (ii) (iii)） */
.policy-body--harassment .harassment-example-list {
  list-style: none;
  counter-reset: harassment-item;
  margin: 8px 0 0;
  padding-left: 3.2em;
}

.policy-body--harassment .harassment-example-list > li {
  position: relative;
  counter-increment: harassment-item;
  font-size: 0.875rem;
  line-height: 1.85;
  color: var(--color-black-500, #333);
}

.policy-body--harassment .harassment-example-list > li::before {
  content: '(' counter(harassment-item, lower-roman) ')';
  position: absolute;
  left: -3.2em;
  color: var(--color-green-500, #70868c);
}

.policy-body--harassment .harassment-example-list > li + li {
  margin-top: 6px;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
  .policy-body--harassment .policy-lead-wrap {
    margin-bottom: 2.4rem;
  }
  .policy-body--harassment .harassment-category-list {
    padding-left: 1.2em;
  }

  .policy-body--harassment .harassment-category-list > li::before {
    left: -1.2em;
  }
  .policy-body--harassment .harassment-category-list > li + li {
    margin-top: 20px;
  }

  .policy-body--harassment .harassment-example-list {
    padding-left: 2.4em;
  }

  .policy-body--harassment .harassment-example-list > li::before {
    left: -2.4em;
  }
}
