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

/* ===== ヘッダー ===== */
.header.is-scrolled {
  background: rgba(255,255,255,0.82);
  box-shadow: 0 2px 20px rgba(40,46,54,0.10);
}


/* ===== HERO ===== */
.pp-hero {
  position: relative;
  min-height: 48vh;
  display: flex;
  align-items: flex-start;
  background: linear-gradient(150deg, #EEF1F4 0%, #E2E5E9 60%, #D0D5DB 100%);
  overflow: hidden;
}
.pp-hero__bg { position: absolute; inset: 0; }
.pp-hero__bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(43,46,51,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43,46,51,0.03) 1px, transparent 1px);
  background-size: 64px 64px;
}
.pp-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 170px 24px 64px;
}
.pp-hero__label {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  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__label-bar {
  display: block;
  width: 44px;
  height: 1px;
  background: linear-gradient(90deg, #B8BEC6, #1f3a5f);
}
.pp-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.1rem, 5vw, 3.8rem);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.06em;
  background: linear-gradient(135deg, #3C4046 0%, #5C636B 50%, #2B2E33 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: 1.02rem;
  color: var(--text-sub);
  line-height: 2.1;
  letter-spacing: 0.02em;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(43,46,51,0.08);
}


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

.pp-article__title {
  font-family: var(--font-display);
  font-size: 1.2rem;
  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.98rem;
  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.98rem;
  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.92rem;
  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.95rem;
  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: 42vh; }
  .pp-hero__inner { padding: 130px 20px 48px; }
  .pp-hero__label { font-size: 0.65rem; letter-spacing: 0.4em; margin-bottom: 16px; }
  .pp-hero__title { font-size: clamp(1.26rem, 3vw, 2.28rem); }

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

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

@media (max-width: 480px) {
  .pp-hero__inner { padding: 110px 16px 40px; }
  .pp-hero__title { font-size: clamp(1.26rem, 3vw, 2.28rem); }

  .pp-article { padding: 24px 0; }
  .pp-article__title { font-size: 1.02rem; padding-left: 14px; }
  .pp-article__text { font-size: 0.9rem; }
  .pp-article__list > li { font-size: 0.9rem; padding-left: 24px; }
  .pp-article__sublist > li { font-size: 0.88rem; }
}
