/* プライバシーポリシー: responsive layout on fluid.css. Figma 15:91 is the visual reference. */

.pv-hero .f-hero-copy{max-width:660px}
.pv-dates{font:400 var(--fs-xs)/1.7 "Noto Sans JP",sans-serif;color:var(--muted)}

.pv-body-sec{padding-top:calc(var(--section-y) * .6)}
.pv-body{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:clamp(32px,4vw,72px);align-items:start}

/* Table of contents: sticky list on desktop, compact collapsible (<details>) below 1024px.
   Two <nav class="pv-toc"> variants are rendered and only one is ever displayed per breakpoint,
   which sidesteps <details> open/closed state having to change across a resize. */
.pv-toc{min-width:0}
.pv-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.pv-toc a{display:flex;align-items:center;min-height:32px;padding-block:4px;font:400 var(--fs-sm)/1.7 "Noto Sans JP",sans-serif;color:#03284c}

.pv-toc-desktop{position:sticky;top:calc(72px + 28px);background:var(--band);border-radius:6px;padding:20px 22px}
.pv-toc-mobile{display:none}

.pv-policy{display:flex;flex-direction:column;gap:clamp(28px,3vw,40px);min-width:0;max-width:40em}
.pv-item{display:flex;flex-direction:column;gap:12px;scroll-margin-top:calc(72px + 24px)}
.pv-item h2{font:700 clamp(18px,.85rem + .4vw,22px)/1.5 "Noto Serif JP",serif;color:#03284c}
.pv-text{display:flex;flex-direction:column;gap:22px;font:400 var(--fs-body)/1.9 "Noto Serif JP",serif;color:#3f454d;overflow-wrap:anywhere}
.pv-list{list-style:none;margin:0;padding:0}
.pv-list li{padding-left:1em;text-indent:-1em}
.pv-list li:before{content:"・"}
.pv-text a{color:inherit;text-decoration:underline;text-underline-offset:3px}

@media(max-width:959px){
 .pv-item{scroll-margin-top:calc(64px + 20px)}
}

@media(max-width:1023px){
 .pv-body{grid-template-columns:1fr}
 .pv-toc-desktop{display:none}
 .pv-toc-mobile{display:block;margin-bottom:8px}
 .pv-toc-mobile details{background:var(--band);border-radius:6px;padding:0 18px}
 .pv-toc-mobile summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:14px 0;cursor:pointer;list-style:none;font:700 15px/1.6 "Noto Sans JP",sans-serif;color:var(--navy)}
 .pv-toc-mobile summary::-webkit-details-marker{display:none}
 .pv-toc-mobile summary:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}
 .pv-toc-mobile ol{padding-bottom:18px}
 .pv-toc-icon{position:relative;flex:none;width:12px;height:12px}
 .pv-toc-icon:before,.pv-toc-icon:after{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:currentColor}
 .pv-toc-icon:after{transform:rotate(90deg);transition:transform .2s}
 .pv-toc-mobile details[open] .pv-toc-icon:after{transform:rotate(0)}
 .pv-policy{max-width:none}
}

@media(max-width:767px){
 .pv-hero .f-hero-copy{max-width:none}
 .pv-body-sec{padding-top:8px}
 .pv-body{gap:32px}
 .pv-policy{gap:32px}
 .pv-item{gap:10px}
 .pv-text{gap:16px}
}
