/* 方針ページと方針リンクの補足。既存 styles.css の後に読み込む。 */
.policy-navigation { margin-block: 0 28px; font-size: 14px; line-height: 1.8; letter-spacing: normal; }
.policy-navigation ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; padding: 0; margin: 0; list-style: none; }
.policy-navigation li { max-width: 100%; }
.policy-navigation a, .policy-recruit-link a { display: inline-block; padding-block: 6px; color: inherit; text-decoration: underline; text-underline-offset: .3em; overflow-wrap: anywhere; }
.policy-navigation a:hover, .policy-recruit-link a:hover { opacity: .75; }
.policy-navigation a:focus-visible, .policy-recruit-link a:focus-visible, .p-policy a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.policy-navigation--top { position: relative; z-index: 3; width: 100%; margin-block: 22px 0; }
.policy-navigation--top ul { justify-content: flex-start; }
.policy-recruit-link { margin-block: 18px 0; font-size: 14px; line-height: 1.8; text-align: right; }
.p-policy .policy-title { max-width: 28em; font-size: clamp(26px, 3.2vw, 44px); font-weight: 600; line-height: 1.6; letter-spacing: .03em; overflow-wrap: anywhere; }
.p-policy .policy-body { white-space: pre-line; overflow-wrap: anywhere; font-size: clamp(16px, 1.2vw, 18px); line-height: 2; letter-spacing: .03em; }
@media (max-width: 600px) {
  .policy-navigation ul { flex-direction: column; gap: 2px; }
  .policy-navigation--top { margin-block-start: 18px; }
  .policy-navigation--top a { padding-block: 3px; }
  .policy-recruit-link { text-align: left; }
}

/* PDF方針の案内 */
.policy-pdf { font-size: clamp(16px, 1.2vw, 18px); line-height: 2; overflow-wrap: anywhere; }
.policy-pdf-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 32px; }
.policy-pdf a.policy-pdf-open { display: inline-block; max-width: 100%; box-sizing: border-box; padding: 18px 28px; border: 1px solid currentColor; border-radius: 6px; color: inherit; text-decoration: none; line-height: 1.7; }
.policy-pdf-note { display: block; margin-top: 6px; font-size: 14px; }
.policy-pdf a.policy-pdf-download { color: inherit; text-decoration: underline; text-underline-offset: .3em; padding-block: 6px; }
.policy-pdf a:hover { opacity: .75; }
@media (max-width: 600px) { .policy-pdf a.policy-pdf-open { width: 100%; padding: 18px; text-align: center; } }
