/* Page-owned document layout; the accepted shell remains intact. */
body[data-helper-page] > header.editorial-header {
  position: relative;
  inset: auto;
  width: min(1560px, calc(100% - 32px));
  margin-inline: auto;
  background: #f4f4f2;
}
.policy-main { width:100%; padding:clamp(40px,6vw,96px) 0 clamp(64px,8vw,128px); }
.policy-document { width:min(76ch,calc(100% - 40px)); max-width:1100px; margin-inline:auto; min-width:0; font-size:18px; line-height:1.75; }
.policy-document * { min-width:0; }
.policy-document h1 { margin:0 0 24px; color:#1a1a1a; font-size:clamp(36px,5vw,64px); line-height:1.12; letter-spacing:-.04em; overflow-wrap:break-word; }
.policy-document h2 { margin:0 0 20px; color:#1a1a1a; font-size:clamp(23px,2.2vw,30px); line-height:1.35; letter-spacing:-.025em; }
.policy-document p { margin:0 0 22px; max-width:100%; }
.policy-document a { color:#292929; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.policy-document a:hover { text-decoration-thickness:2px; }
.policy-document a:focus-visible, .policy-table-scroll:focus-visible { outline:3px solid #1a1a1a; outline-offset:4px; }
.policy-intro { padding-bottom:20px; }
.policy-date { font-size:14px; color:#5a5a5a; margin-bottom:20px; }
.policy-contents { border-block:1px solid #bcbcb6; padding-block:28px; margin-block:12px 48px; }
.policy-contents h2 { font-size:20px; margin-bottom:16px; }
.policy-contents ol { margin:0; padding-left:2em; }
.policy-contents li { padding-left:4px; margin:8px 0; }
.policy-contents a { display:inline-block; padding-block:4px; }
.policy-section { margin-top:44px; scroll-margin-top:24px; }
.policy-section ul { margin:0 0 24px; padding-left:1.5em; }
.policy-section li { margin-bottom:12px; }
.policy-table-scroll { width:100%; max-width:100%; min-width:0; overflow-x:auto; margin-block:24px; border:1px solid #bcbcb6; }
.policy-table-scroll table { border-collapse:collapse; width:100%; min-width:850px; font-size:15px; line-height:1.6; table-layout:fixed; }
.policy-table-scroll caption { text-align:left; padding:16px; color:#292929; font-weight:700; border-bottom:1px solid #bcbcb6; }
.policy-table-scroll th, .policy-table-scroll td { vertical-align:top; padding:16px 12px; text-align:left; border-bottom:1px solid #bcbcb6; overflow-wrap:anywhere; }
.policy-table-scroll th { color:#1a1a1a; background:#e5e5e0; font-weight:700; }
.policy-table-scroll th:first-child { width:22%; }
.policy-table-scroll th:nth-child(2) { width:15%; }
.policy-table-scroll th:nth-child(3) { width:18%; }
.policy-table-scroll th:nth-child(4) { width:15%; }
.policy-table-scroll th:nth-child(5) { width:20%; }
.policy-table-scroll th:nth-child(6) { width:10%; }
.policy-table-scroll tr:last-child td { border-bottom:0; }
.policy-table-hint { font-size:14px; }
.policy-contact { font-style:normal; overflow-wrap:anywhere; }
@media (max-width:600px) {
  .policy-document { width:calc(100% - 32px); font-size:16px; line-height:1.75; }
  .policy-contents { margin-bottom:36px; padding-block:20px; }
  .policy-section { margin-top:36px; }
  .policy-document h1 { letter-spacing:-.035em; }
}
