@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
/* ===== PAGE: Privacy Policy ===== */
.p-privacy {
  color: #333;
  /* ── 目次（<details> 折りたたみ） ───────────────────────── */
  /* ── 本文（プローズ） ─────────────────────────────────── */
}
.p-privacy__container {
  max-width: 1200px;
  margin-inline: auto;
  padding: 0 1rem 4rem;
}
.p-privacy__header {
  margin-top: 40px;
  margin-bottom: 1.5rem;
}
.p-privacy__heading {
  font-weight: 800;
  letter-spacing: 0.02em;
  margin: 0 0 0.5rem 0;
  font-size: clamp(22px, 3.5vw, 28px);
}
.p-privacy__lead {
  color: #666;
  margin: 0;
  font-size: clamp(15px, 1.8vw, 18px);
}
.p-privacy__lead strong {
  color: #333;
}
.p-privacy__toc {
  border: 1px solid #ececec;
  border-radius: 12px;
  background: white;
  padding: 0;
  margin: 16px 0 24px;
  overflow: hidden;
}
.p-privacy__toc > summary {
  cursor: pointer;
  padding: 12px 16px;
  font-weight: 700;
  list-style: none;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  /* caret */
}
.p-privacy__toc > summary::-webkit-details-marker {
  display: none;
}
.p-privacy__toc > summary::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.2s ease;
}
.p-privacy__toc[open] > summary::after {
  transform: translateY(-50%) rotate(225deg);
}
.p-privacy__toc nav {
  padding: 12px 16px 16px;
  border-top: 1px solid #ececec;
}
.p-privacy__toc ul {
  margin: 0;
  padding-left: 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 6px 12px;
  list-style: disc;
}
.p-privacy__toc a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-privacy__toc a:hover {
  color: #FFBD73;
}
.p-privacy__toc a:focus-visible {
  outline: 2px solid #FFBD73;
  outline-offset: 2px;
  border-radius: 6px;
}
.p-privacy__article {
  background: white;
  border: 1px solid #ececec;
  border-radius: 14px;
  padding: clamp(16px, 2.5vw, 28px);
  line-height: 1.9;
  /* アンカーずれ対策（固定ヘッダーがある場合） */
  /* 定義リスト（会社情報） */
  /* 連絡先 */
}
.p-privacy__article :where(h3, h4)[id] {
  scroll-margin-top: 96px;
}
.p-privacy__article h3 {
  font-size: clamp(18px, 2.2vw, 20px);
  margin: 2rem 0 0.5rem;
  font-weight: 700;
  color: #333;
}
.p-privacy__article h4 {
  font-size: clamp(16px, 2vw, 18px);
  margin: 1.25rem 0 0.25rem;
  font-weight: 700;
  color: #333;
}
.p-privacy__article p,
.p-privacy__article li,
.p-privacy__article dd {
  color: #666;
  font-size: clamp(15px, 2vw, 16px);
}
.p-privacy__article em {
  font-style: normal;
  color: #333;
}
.p-privacy__article ul {
  padding-left: 1.25rem;
  margin: 0.25rem 0 1rem;
  list-style: disc;
}
.p-privacy__article ul ul {
  list-style: circle;
  margin-top: 0.25rem;
}
.p-privacy__article .p-privacy__dl {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 8px 16px;
  margin: 0.5rem 0 1rem;
}
.p-privacy__article .p-privacy__dl dt {
  font-weight: 700;
  color: #333;
}
.p-privacy__article .p-privacy__dl dd {
  margin: 0;
}
@media (max-width: 600px) {
  .p-privacy__article .p-privacy__dl {
    grid-template-columns: 1fr;
  }
}
.p-privacy__article .p-privacy__contact a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-privacy__article .p-privacy__contact a:hover {
  color: #FFBD73;
}
.p-privacy__article .p-privacy__contact a:focus-visible {
  outline: 2px solid #FFBD73;
  outline-offset: 2px;
  border-radius: 4px;
}
.p-privacy__article .p-privacy__effective {
  margin-top: 1rem;
  font-weight: 700;
  color: #333;
}

/* SR-only（プロジェクトに未定義なら置いてください） */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* —— ダークモード（任意） —— */
@media (prefers-color-scheme: dark) {
  .p-privacy__toc, .p-privacy__article {
    background: #333;
    border-color: rgba(255, 255, 255, 0.12);
  }
  .p-privacy__lead {
    color: rgba(255, 255, 255, 0.8);
  }
  .p-privacy__article p,
  .p-privacy__article li,
  .p-privacy__article dd {
    color: rgba(255, 255, 255, 0.85);
  }
  .p-privacy__article h3,
  .p-privacy__article h4,
  .p-privacy__article em,
  .p-privacy__article .p-privacy__effective {
    color: #fff;
  }
}
/* —— 印刷最適化 —— */
@media print {
  .company-hero {
    display: none !important;
  }
  .p-privacy__toc {
    display: none !important;
  }
  .p-privacy__container {
    padding: 0;
  }
  a {
    text-decoration: none;
    color: #000;
  }
}/*# sourceMappingURL=privacy.css.map */