/* ===========================
   ALL IN HOLDINGS — privacy.css
   プライバシーポリシーページ専用スタイル
   =========================== */

/* ===== ヘッダー (常に白) ===== */
.header.is-scrolled {
  background: var(--white);
  box-shadow: 0 2px 20px rgba(59,77,98,0.08);
}


/* ===== HERO ===== */
.pp-hero {
  position: relative;
  min-height: 40vh;
  display: flex;
  align-items: center;
  background: #ffffff;
  overflow: hidden;
}
.pp-hero__bg { position: absolute; inset: 0; }
.pp-hero__bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(59,77,98,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59,77,98,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
}
.pp-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin: 0 auto;
  padding: 120px 24px 60px;
}
.pp-hero__accent {
  width: 32px;
  height: 1px;
  background: var(--accent);
  margin-bottom: 20px;
  opacity: 0.7;
}
.pp-hero__label {
  font-family: var(--font-en);
  font-size: 0.8rem;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.65em;
  color: var(--accent);
  margin-bottom: 24px;
}
.pp-hero__title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.08em;
  background: linear-gradient(to bottom, #0D0D0D 0%, #6B4F1A 55%, #C9A235 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}


/* ===== BODY ===== */
.pp-body {
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 40px;
}

.pp-body__intro {
  font-size: 0.92rem;
  color: var(--text-sub);
  line-height: 2.1;
  letter-spacing: 0.02em;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(59,77,98,0.08);
}


/* ===== ARTICLE ===== */
.pp-article {
  padding: 40px 0;
  border-bottom: 1px solid rgba(59,77,98,0.08);
}
.pp-article:last-child {
  border-bottom: none;
}

.pp-article__title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--text);
  margin-bottom: 20px;
  padding-left: 16px;
  position: relative;
}
.pp-article__title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  background: var(--accent);
}

.pp-article__text {
  font-size: 0.88rem;
  color: var(--text-sub);
  line-height: 2;
  letter-spacing: 0.02em;
  margin-bottom: 16px;
}
.pp-article__text:last-child {
  margin-bottom: 0;
}

.pp-article__list {
  list-style: none;
  counter-reset: pp-counter;
  padding-left: 0;
  margin-top: 8px;
}
.pp-article__list > li {
  position: relative;
  padding-left: 32px;
  font-size: 0.88rem;
  color: var(--text-sub);
  line-height: 2;
  letter-spacing: 0.02em;
  margin-bottom: 8px;
  counter-increment: pp-counter;
}
.pp-article__list > li::before {
  content: counter(pp-counter) ".";
  position: absolute;
  left: 0;
  font-weight: 600;
  color: var(--accent);
  font-size: 0.82rem;
  font-family: var(--font-en);
}
.pp-article__list > li:last-child {
  margin-bottom: 0;
}

.pp-article__sublist {
  list-style: none;
  margin-top: 8px;
  padding-left: 8px;
}
.pp-article__sublist > li {
  position: relative;
  padding-left: 16px;
  font-size: 0.85rem;
  color: var(--text-sub);
  line-height: 2;
  margin-bottom: 4px;
}
.pp-article__sublist > li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.9em;
  width: 6px;
  height: 1px;
  background: var(--accent-light);
}

.pp-article__contact {
  margin-top: 20px;
}
.pp-article__contact p {
  font-size: 0.88rem;
  color: var(--text-sub);
  line-height: 2;
  letter-spacing: 0.02em;
  text-decoration: none;
}


/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .pp-hero { min-height: auto; }
  .pp-hero__inner { padding: 100px 20px 48px; }
  .pp-hero__label { font-size: 0.65rem; letter-spacing: 0.4em; margin-bottom: 16px; }
  .pp-hero__title { font-size: clamp(1.4rem, 5vw, 1.8rem); }

  .pp-body { padding-bottom: 20px; }
  .pp-body__intro { font-size: 0.85rem; padding-bottom: 32px; }

  .pp-article { padding: 28px 0; }
  .pp-article__title { font-size: 1rem; }
  .pp-article__text { font-size: 0.84rem; }
  .pp-article__list > li { font-size: 0.84rem; padding-left: 28px; }
  .pp-article__sublist > li { font-size: 0.82rem; }
  .pp-article__contact { padding: 20px 20px; }
}

@media (max-width: 480px) {
  .pp-hero__inner { padding: 88px 16px 40px; }
  .pp-hero__title { font-size: clamp(1.2rem, 5vw, 1.6rem); }

  .pp-article { padding: 24px 0; }
  .pp-article__title { font-size: 0.95rem; padding-left: 14px; }
  .pp-article__text { font-size: 0.82rem; }
  .pp-article__list > li { font-size: 0.82rem; padding-left: 24px; }
  .pp-article__sublist > li { font-size: 0.8rem; }
}
