:root{--hoshinon-policy-header-offset:90px;--hoshinon-policy-anchor-gap:16px}@media (max-width:1024px){:root{--hoshinon-policy-header-offset:80px}}@media (max-width:768px){:root{--hoshinon-policy-header-offset:70px}}.hoshinon-policy-page-header{margin-bottom:clamp(40px, 6vw, 64px)}.hoshinon-policy-page-header :is(h1,h2){margin:0;font-weight:400;line-height:1.5;font-size:clamp(28px, 3.2vw, 40px);overflow-wrap:anywhere;word-break:normal}.hoshinon-policy{padding-block:clamp(40px, 7vw, 88px)}.hoshinon-policy-layout{display:grid;grid-template-columns:260px minmax(0, 1fr);gap:clamp(22px, 4vw, 64px);align-items:start}.hoshinon-policy-toc{position:sticky;top:calc(var(--hoshinon-policy-header-offset) + 0px);align-self:start;contain:layout style}.hoshinon-policy-toc-title{margin:0;font-size:clamp(16px, 1.25vw, 18px);line-height:1.35;letter-spacing:.01em;font-weight:600}.hoshinon-policy-toc-nav{display:flex;flex-direction:column;gap:8px;margin-top:12px}.hoshinon-policy-toc-link{line-height:1.65;text-decoration:none;opacity:.85}.hoshinon-policy-toc-link:hover{opacity:1;text-decoration:none}.hoshinon-policy-toc-note{margin-top:18px;line-height:1.6;opacity:.7;font-size:.95em}.hoshinon-policy-body{width:100%;max-width:100%}.hoshinon-policy-section{padding-block:clamp(18px, 2.8vw, 30px);scroll-margin-top:calc(var(--hoshinon-policy-header-offset) + var(--hoshinon-policy-anchor-gap))}.hoshinon-policy-section:first-child{padding-top:0}.hoshinon-policy-section+.hoshinon-policy-section{border-top:1px solid rgba(0,0,0,.08)}.hoshinon-policy-h3{margin:0 0 12px;font-size:clamp(16px, 1.25vw, 18px);line-height:1.35;letter-spacing:.01em}.hoshinon-policy-body p{margin:0 0 10px;line-height:1.95}.hoshinon-policy-body ul{margin:8px 0 0;padding-left:1.2em;line-height:1.95}.hoshinon-policy-body li{margin:4px 0}.hoshinon-policy-body a{text-decoration:underline;text-underline-offset:3px}.hoshinon-policy-body a:hover{opacity:.85}.hoshinon-policy-meta{margin-top:16px;line-height:1.85;opacity:.8}@media (max-width:820px){.hoshinon-policy-layout{grid-template-columns:1fr}.hoshinon-policy-toc{position:relative;top:auto}.hoshinon-policy-toc-nav{flex-direction:column;gap:8px}.hoshinon-policy-body{max-width:100%}}