/* プライバシーポリシー（/policy/）：番号つきの項目カード＋お問い合わせ窓口 */
.cd-policy { padding: 40px 16px 64px; background: #f7faf6; }
.cd-policy .inner { max-width: 880px; margin: 0 auto; }
.cd-policy__list { margin: 32px 0 0; padding: 0; list-style: none; counter-reset: none; }
.cd-policy__item {
  margin-top: 14px;
  padding: 22px 26px;
  background: #fff;
  border: 1px solid #e3e6e1;
  border-radius: 14px;
  text-align: left;
}
.cd-policy__item h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 10px;
  color: #1f2421;
  font: bold 19px/1.4 var(--cd-font, sans-serif);
}
.cd-policy__num {
  flex: none;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  background: #eaf6ef;
  border-radius: 10px;
  color: var(--cd-green-dark, #008756);
  font: bold 15px/1 "Arial Rounded MT Bold", var(--cd-font, sans-serif);
}
.cd-policy__body { padding-left: 48px; color: #333; font-size: 15px; line-height: 1.85; }
.cd-policy__body p + p { margin-top: 8px; }
.cd-policy__body ul { margin: 8px 0 0; padding: 0; list-style: none; }
.cd-policy__body li { position: relative; padding-left: 16px; }
.cd-policy__body li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .75em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cd-orange, #f7920e);
}
.cd-policy__body a { color: var(--cd-green-dark, #008756); text-decoration: underline; }
.cd-policy__contact {
  margin-top: 28px;
  padding: 22px 26px;
  background: var(--cd-green-dark, #008756);
  border-radius: 14px;
  color: #fff;
  text-align: left;
}
.cd-policy__contact-ttl { margin: 0 0 10px; font: bold 17px/1.4 var(--cd-font, sans-serif); }
.cd-policy__contact dl { margin: 0; }
.cd-policy__contact dl div { display: flex; gap: 16px; padding: 6px 0; border-top: 1px solid rgba(255, 255, 255, .2); font-size: 15px; }
.cd-policy__contact dt { flex: none; width: 5em; color: #cdeedd; }
.cd-policy__contact dd { margin: 0; font-weight: bold; }
.cd-policy__contact a { color: #fff; }

@media screen and (max-width: 768px) {
  .cd-policy { padding: 24px 12px 40px; }
  .cd-policy__list { margin-top: 20px; }
  .cd-policy__item { margin-top: 10px; padding: 16px; border-radius: 12px; }
  .cd-policy__item h2 { gap: 10px; font-size: 16px; }
  .cd-policy__num { width: 30px; height: 30px; font-size: 13px; border-radius: 8px; }
  .cd-policy__body { padding-left: 0; font-size: 14px; }
  .cd-policy__contact { padding: 16px; }
  .cd-policy__contact dl div { font-size: 14px; }
}
