.privacy-page { max-width: 860px; padding-top: clamp(2.5rem, 6vw, 5rem); padding-bottom: 5rem; }
.privacy-intro h1 { font-size: clamp(2.7rem, 7vw, 4.6rem); line-height: 1.08; margin: .4rem 0 1.3rem; }
.privacy-intro .lead { max-width: 740px; font-size: clamp(1.1rem, 2.5vw, 1.3rem); }
.privacy-date { color: #5b6f65; font-size: .9rem; margin: 1.5rem 0; }
.privacy-contents { display: flex; flex-wrap: wrap; gap: .65rem 1.3rem; padding: 1.4rem 1.5rem; background: #eef5f1; border-radius: 12px; margin: 2rem 0 3rem; }
.privacy-contents a { color: #245f4d; font-size: .95rem; text-decoration: underline; text-underline-offset: .2em; }
.privacy-page section { margin: 0 0 2.8rem; scroll-margin-top: 12rem; }
.privacy-page h2 { font-size: clamp(1.65rem, 4vw, 2.1rem); line-height: 1.25; margin: 0 0 1rem; }
.privacy-page h3 { font-size: 1.15rem; line-height: 1.4; margin: 1.7rem 0 .6rem; }
.privacy-page p, .privacy-page address { font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.privacy-page p { margin: .75rem 0 1.1rem; }
.privacy-page address { font-style: normal; padding-left: 1rem; border-left: 3px solid #2f7a63; }
.privacy-page section a { color: #245f4d; text-decoration: underline; text-underline-offset: .18em; }
.privacy-page code { font-size: .92em; color: #245f4d; }
.privacy-page .privacy-closing { padding-top: 1.5rem; border-top: 1px solid #cadcd1; font-size: 1.1rem; }
@media (max-width: 580px) { .privacy-contents { display: grid; padding: 1.2rem; } .privacy-page section { scroll-margin-top: 15rem; } }
