/* ============================================================
   privacy-policy.css - Taste of the Wild Japan
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;--gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;--be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;--td:#1e1a14;--tm:#5a5347;--tl:#8a8078;--fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px;--sp-7:112px}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;background:var(--ww);color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.875}
.pp-wrap{max-width:1100px;margin:0 auto;padding:var(--sp-5) var(--sp-5);display:grid;grid-template-columns:220px 1fr;gap:var(--sp-5);align-items:start}
.pp-toc{position:sticky;top:88px}
.pp-toc-title{font-size:12px;letter-spacing:0.2em;color:var(--tl);text-transform:uppercase;margin-bottom:var(--sp-1);padding-bottom:8px;border-bottom:1px solid var(--be3)}
.pp-toc ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.pp-toc a{display:block;padding:8px 12px;font-size:12px;color:var(--tm);text-decoration:none;border-left:2px solid transparent;transition:all 0.2s;line-height:1.5}
.pp-toc a:hover{color:var(--ac);border-left-color:var(--ac);background:var(--acl)}
.pp-toc a.active{color:var(--ac);border-left-color:var(--gold);font-weight:500}
.pp-updated{font-size:12px;color:var(--tl);letter-spacing:0.08em;margin-bottom:var(--sp-3);display:flex;align-items:center;gap:8px}
.pp-updated::before{content:'';width:16px;height:1px;background:var(--be3)}
.pp-section{margin-bottom:var(--sp-4);scroll-margin-top:96px}
.pp-section-num{font-size:12px;letter-spacing:0.22em;color:var(--gold);font-weight:500;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:8px}
.pp-section-num::before{content:'';width:20px;height:1px;background:var(--gold)}
.pp-section h2{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:var(--primary);font-weight:700;margin-bottom:var(--sp-1);padding-bottom:12px;border-bottom:1px solid var(--be3)}
.pp-section p{color:var(--tm);font-size:var(--fs-base);line-height:1.875;margin-bottom:16px}
.pp-section p:last-child{margin-bottom:0}
.pp-section ul{padding-left:var(--sp-2);color:var(--tm);font-size:var(--fs-base);line-height:1.875;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}
.pp-section strong{color:var(--td);font-weight:500}
.pp-section a{color:var(--ac);text-decoration:none;border-bottom:1px solid rgba(15,81,103,0.3)}
.pp-section a:hover{border-bottom-color:var(--ac)}
.pp-box{background:var(--cr);border:1px solid var(--be3);border-left:3px solid var(--gold);padding:var(--sp-2);margin:var(--sp-2) 0}
.pp-box p{margin-bottom:0}
.pp-contact-box{background:var(--primary);color:#fff;padding:var(--sp-3);margin-top:var(--sp-4);display:grid;grid-template-columns:1fr auto;gap:var(--sp-2);align-items:center}
.pp-contact-box h3{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:#fff;font-weight:700;margin-bottom:8px}
.pp-contact-box p{color:rgba(255,255,255,0.6);font-size:var(--fs-base);line-height:1.75;margin-bottom:0}
.pp-contact-btn{display:inline-block;background:var(--gold);color:#fff;padding:14px 32px;font-size:var(--fs-base);font-weight:500;letter-spacing:0.08em;text-decoration:none;white-space:nowrap;transition:all 0.25s;flex-shrink:0}
.pp-contact-btn:hover{background:var(--gold2);transform:translateY(-2px)}

@media(max-width:768px){
  .pp-wrap{grid-template-columns:1fr;padding:var(--sp-3) var(--sp-2)}
  .pp-toc{position:static;margin-bottom:var(--sp-2)}
  .pp-toc ul{flex-direction:row;flex-wrap:wrap;gap:4px}
  .pp-toc a{padding:5px 12px;border-left:none;border:1px solid var(--be3);font-size:11px}
  .pp-toc a.active{border-color:var(--gold)}
  .pp-contact-box{grid-template-columns:1fr;gap:var(--sp-1)}
}