@charset "UTF-8";
/* ======================================================
   Privacy Policy（プライバシーポリシー）
   ※ base.css 読み込み前提
   ====================================================== */

/* ページ全体 */
body.privacy {
  background: #f3f5f9;
}

/* タイトル（ヒーロー） */
.page-hero {
  text-align: center;
  padding: 60px 0 32px;
}
.page-hero h1 {
  font-family: 'Shippori Mincho', serif !important; /* ★強制的に明朝 */
  font-weight: 700;
  font-size: clamp(28px, 3vw, 36px);
  color: var(--c-deep);
  display: inline-block;
  margin: 0 0 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid #c4a63c;
}

/* コンテンツ白枠 */
.privacy-box,
.legal {
  background: #fff;
  max-width: 860px;
  margin: 0 auto 80px;
  padding: 40px 36px;
  border-radius: 12px;
  box-shadow: var(--shadow-card);
}

/* 見出し（h2） */
.privacy-box h2,
.legal h2 {
  font-family: var(--ff-sans); /* Noto Sans JP */
  font-size: 18px;
  font-weight: 700;
  margin: 32px 0 16px;
  padding-bottom: 6px;
  border-bottom: 1px dashed #ccc;
  color: var(--c-deep);
}

/* 最初のh2だけ帯 */
.privacy-box h2.first,
.legal h2.first {
  background: #e8ebf0;
  padding: 12px 16px;
  border-radius: 6px;
  border-bottom: none;
  margin-top: 0;
}

/* 本文 */
.privacy-box p,
.legal p {
  line-height: 1.9;
  margin: 12px 0;
}

/* リスト */
.privacy-box ul,
.privacy-box ol,
.legal ul,
.legal ol {
  margin: 8px 0 12px 1.4em;
  padding: 0;
}
.privacy-box li,
.legal li {
  margin: .4em 0;
  line-height: 1.8;
}

/* 表（事業者情報・窓口など） */
.privacy-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 18px;
  font-size: 0.95rem;
  table-layout: fixed;
  background: #fff;
  border: 1px solid var(--c-line);
  border-radius: 8px;
  overflow: hidden;
}
.privacy-table th,
.privacy-table td {
  border-bottom: 1px solid var(--c-line);
  padding: 14px 16px;
  vertical-align: top;
  word-break: break-word;
}
.privacy-table th {
  width: 28%;
  min-width: 160px;
  background: var(--c-company-head, #d9e1ed);
  color: var(--c-deep);
  text-align: left;
  font-weight: 700;
}
.privacy-table tr:last-child th,
.privacy-table tr:last-child td { border-bottom: none; }

/* 注意書き・補足 */
.privacy-note {
  background: #fff7ed;
  border-left: 4px solid #fdba74;
  color: #6b7280;
  padding: 10px 12px;
  border-radius: 6px;
  margin-top: 12px;
  font-size: 0.95rem;
}

/* モバイル対応 */
@media (max-width: 768px) {
  .privacy-box, .legal {
    padding: 28px 20px;
    margin-bottom: 56px;
  }
  .privacy-table,
  .privacy-table thead,
  .privacy-table tbody,
  .privacy-table tr,
  .privacy-table th,
  .privacy-table td {
    display: block;
    width: 100%;
  }
  .privacy-table tr + tr { border-top: 1px solid var(--c-line); }
  .privacy-table th {
    background: #f3f5f9;
    border: none;
    padding: 12px 14px 8px;
  }
  .privacy-table td {
    border: none;
    padding: 0 14px 14px;
  }
}
