@charset "UTF-8";
* { box-sizing: border-box; }
body { margin: 0; color: #333; background: #fff; font-family: Meiryo, sans-serif; font-size: 16px; line-height: 1.8; }
a { color: #333; text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid #b00000; outline-offset: 3px; }
.policy-header { border-top: 6px solid #f00; border-bottom: 1px solid #e5e5e5; padding: 20px max(20px, calc((100% - 980px) / 2)); }
.policy-header a { display: inline-flex; min-height: 44px; align-items: center; max-width: 100%; }
.policy-header img { width: 340px; max-width: 100%; height: auto; }
.policy-main { width: min(100%, 860px); margin: 0 auto; padding: 24px 32px 48px; overflow-wrap: anywhere; }
.policy-main nav { font-size: 14px; margin-bottom: 24px; }
.policy-main nav a { display: inline-flex; align-items: center; min-height: 44px; }
h1 { font-size: 30px; line-height: 1.5; margin: 0 0 28px; padding-bottom: 20px; border-bottom: 3px solid #c00; }
h2 { margin: 40px 0 16px; font-size: 21px; line-height: 1.6; }
article p { margin: 0 0 20px; }
article ul, article ol { padding-left: 1.7em; margin: 0 0 20px; }
article li { margin-bottom: 8px; }
article hr { border: 0; border-top: 1px solid #ddd; margin: 32px 0 24px; }
.policy-back { margin: 36px 0 0; }
.policy-back a { display: inline-flex; align-items: center; min-height: 44px; }
.policy-footer { background: #f00; color: #fff; padding: 24px 20px 16px; text-align: center; }
.policy-footer ul { display: flex; justify-content: center; align-items: center; padding: 0; margin: 0; list-style: none; }
.policy-footer .btn_list { gap: 8px; }
.policy-footer .btn_list a { display: flex; min-height: 44px; align-items: center; }
.policy-footer img { display: block; max-width: 100%; height: auto; }
.policy-footer .sns_links { gap: 6px; margin-top: 4px; }
.policy-footer .sns_links a { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.policy-footer .sns_links img { width: 40px; height: 40px; }
.copyright { margin: 16px 0 0; font-size: 12px; }
@media (max-width: 600px) {
  .policy-header { padding: 16px 20px; }
  .policy-main { padding: 16px 20px 36px; }
  h1 { font-size: 25px; margin-bottom: 24px; }
  h2 { font-size: 19px; margin-top: 32px; }
}
