.privacy-page header{
  color:var(--ink);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  box-shadow:0 1px 0 var(--line);
}
.privacy-page header .logo-white{opacity:0}
.privacy-page header .logo-black{opacity:1}
.privacy-page header .burger{color:var(--ink)}
.privacy-page .menu a[aria-current="page"],
.privacy-page .f-nav a[aria-current="page"]{color:var(--orange)}

.policy-hero{
  padding:clamp(150px,17vw,210px) 0 clamp(76px,9vw,110px);
  background:var(--ink);
  color:#fff;
  overflow:hidden;
}
.policy-hero .label{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--orange);
  font-family:var(--disp);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.policy-hero .label::before{content:"";width:28px;height:1px;background:var(--orange)}
.policy-hero h1{
  margin-top:20px;
  font-family:var(--jp);
  font-size:clamp(2.125rem,5vw,3.875rem);
  font-weight:800;
  line-height:1.4;
  letter-spacing:.02em;
}
.policy-hero p{
  max-width:620px;
  margin-top:24px;
  color:rgba(255,255,255,.72);
}

.policy-content{padding:clamp(76px,10vw,120px) 0}
.policy-intro{color:var(--ink-soft)}
.policy-intro p+p{margin-top:18px}
.policy-section{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:clamp(36px,6vw,72px);
  padding:clamp(62px,8vw,88px) 0;
  border-bottom:1px solid var(--line);
}
.policy-section:first-child{padding-top:0}
.policy-section:last-child{border-bottom:0;padding-bottom:0}
.section-heading .number{
  display:block;
  color:transparent;
  font-family:var(--disp);
  font-size:clamp(3.25rem,6vw,4.875rem);
  font-weight:800;
  line-height:1;
  -webkit-text-stroke:1.3px var(--orange);
  text-stroke:1.3px var(--orange);
}
.section-heading h2{
  margin-top:14px;
  color:var(--ink);
  font-family:var(--jp);
  font-size:clamp(1.375rem,2.6vw,1.875rem);
  font-weight:800;
  line-height:1.55;
}
.section-body{color:var(--ink-soft)}
.section-body > p+p{margin-top:22px}
.policy-list{list-style:none;counter-reset:policy;margin-top:34px;border-top:1px solid var(--line)}
.policy-list > li{position:relative;padding:24px 0 24px 54px;border-bottom:1px solid var(--line)}
.policy-list > li::before{
  counter-increment:policy;
  content:counter(policy,decimal-leading-zero);
  position:absolute;
  left:0;
  top:24px;
  color:var(--orange-deep);
  font-family:var(--disp);
  font-size:1rem;
  font-weight:700;
}
.policy-list h3{color:var(--ink);font-size:1rem;font-weight:800;line-height:1.6}
.policy-list p{margin-top:7px;line-height:1.9}
.detail-list{margin-top:12px;padding-left:1.4em;line-height:1.9}
.detail-list li+li{margin-top:5px}
.parenthesized-list{list-style:none;counter-reset:detail;padding-left:0}
.parenthesized-list > li{position:relative;padding-left:2.2em}
.parenthesized-list > li::before{counter-increment:detail;content:"(" counter(detail) ")";position:absolute;left:0}
.bullet-list{list-style:none;margin-top:8px;padding-left:0}
.bullet-list > li{position:relative;padding-left:1.2em}
.bullet-list > li::before{content:"・";position:absolute;left:0}
.analysis-item{margin-top:18px}
.analysis-item h4{color:var(--ink);font-size:.875rem;font-weight:700;line-height:1.7}
.analysis-item p+p{margin-top:12px}
.policy-link{color:var(--orange-deep);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.policy-signature{display:flex;justify-content:space-between;gap:32px;margin-top:38px;padding-top:28px;
  border-top:1px solid var(--line);color:var(--ink);font-size:.8125rem;line-height:1.9}
.policy-signature .representative{text-align:right;font-weight:700}
.handling-signature{justify-content:flex-start}
.privacy-contact{margin-top:34px;padding:26px 28px;background:var(--cream);border-left:3px solid var(--orange);
  border-radius:0 10px 10px 0;color:var(--ink-soft)}
.privacy-contact h3{color:var(--ink);font-size:1rem;font-weight:800}
.privacy-contact p{margin-top:10px;line-height:1.9}
.privacy-contact a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:4px}

@media(max-width:900px){
  .privacy-page .menu.open{top:82px}
  .policy-section{grid-template-columns:1fr;gap:28px}
  .section-heading{max-width:520px}
}
@media(max-width:540px){
  .policy-hero{padding-top:128px}
  .policy-content{padding-bottom:88px}
  .policy-section{padding:52px 0}
  .policy-list > li{padding-left:42px}
  .policy-signature{flex-direction:column;gap:20px}
  .policy-signature .representative{text-align:left}
  .privacy-contact{padding:22px 20px}
}
