body.oda-cookie-policy-page > header { height: auto; max-height: none !important; min-height: 100px; }
.oda-policy { background: #f6f7fb; color: #242b3a; padding: 30px 0 72px; }
.oda-policy__wrap { width: min(1180px, calc(100% - 48px)); margin: auto; }
.oda-policy__breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; color: #637086; font-size: 13px; }
.oda-policy a { color: #2f42b4; text-underline-offset: 3px; }
.oda-policy__breadcrumb a { color: #637086; text-decoration: none; }
.oda-policy__hero { padding: 38px 0 42px; max-width: 800px; }
.oda-policy__eyebrow { color: #2f42b4; font-weight: 600; font-size: 11px; letter-spacing: .12em; }
.oda-policy__hero h1 { margin: 12px 0 16px; color: #182135; font-size: clamp(32px, 4.1vw, 48px); font-weight: 650; line-height: 1.15; letter-spacing: -.035em; text-align: left; }
.oda-policy__hero p { max-width: 640px; margin: 0 0 20px; color: #546176; font-size: 16px; line-height: 1.75; }
.oda-policy__date { display: inline-block; padding: 7px 12px; border: 1px solid #e2e6f0; border-radius: 7px; background: #fff; color: #58657b; font-size: 12px; }
.oda-policy__layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 32px; align-items: start; }
.oda-policy__toc { position: sticky; top: 112px; padding: 18px 0; }
.oda-policy__toc > span { display: block; padding: 0 14px 14px; color: #6a7689; font-size: 11px; font-weight: 600; letter-spacing: .1em; }
.oda-policy__toc a { display: block; padding: 11px 14px; border-radius: 8px; color: #4d5a70; font-size: 13px; line-height: 1.5; text-decoration: none; }
.oda-policy__toc a:hover, .oda-policy__toc a:focus-visible { background: #eaeefa; color: #2f42b4; }
.oda-policy__toc .oda-policy__privacy { margin-top: 18px; border-top: 1px solid #e0e5ef; border-radius: 0; padding-top: 20px; color: #2f42b4; }
.oda-policy__document { min-width: 0; padding: 6px 34px; background: #fff; border: 1px solid #e6e9f0; border-radius: 16px; }
.oda-policy__document section { padding: 29px 0; scroll-margin-top: 112px; }
.oda-policy__document section + section { border-top: 1px solid #e9ecf2; }
.oda-policy__document h2 { display: flex; align-items: baseline; gap: 13px; margin: 0 0 19px; color: #1e293b; font-size: 21px; font-weight: 600; line-height: 1.5; letter-spacing: -.02em; }
.oda-policy__document h2 > span { color: #98a3b6; font-size: 12px; font-weight: 500; letter-spacing: 0; }
.oda-policy__document p { margin: 0 0 16px; color: #465267; font-size: 14px; line-height: 1.85; }
.oda-policy__document p:last-child { margin-bottom: 0; }
.oda-policy__document strong { color: #253147; font-weight: 600; }
.oda-policy__purposes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 19px; padding: 0; list-style: none; }
.oda-policy__purposes li { padding: 16px; border: 1px solid #e8ebf2; border-radius: 9px; background: #fafbfe; }
.oda-policy__purposes strong { display: block; margin-bottom: 7px; font-size: 13px; }
.oda-policy__purposes p { font-size: 13px; line-height: 1.7; }
.oda-policy__table-wrap { margin: 20px 0; overflow: hidden; border: 1px solid #e6e9f0; border-radius: 10px; }
.oda-policy__table { width: 100%; border-collapse: collapse; text-align: left; }
.oda-policy__table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.oda-policy__table thead th { background: #f4f6fa; padding: 12px 14px; color: #4c5b71; font-size: 11px; font-weight: 600; }
.oda-policy__table tbody th, .oda-policy__table td { padding: 15px 14px; border-top: 1px solid #e8ebf2; vertical-align: top; color: #4d5a70; font-size: 12px; font-weight: 400; line-height: 1.7; }
.oda-policy__table tbody th { width: 33%; }
.oda-policy__table td:last-child { width: 27%; }
.oda-policy code { color: #37456d; font-size: 11px; overflow-wrap: anywhere; }
.oda-policy__table small { display: block; margin-top: 6px; color: #7a879a; font-size: 10px; }
.oda-policy__providers { display: grid; gap: 12px; margin: 20px 0; }
.oda-policy__providers > div { border-left: 2px solid #dce2f9; padding: 2px 0 2px 18px; }
.oda-policy__providers h3 { margin: 0 0 8px; color: #27334b; font-size: 14px; font-weight: 600; }
.oda-policy__providers p { font-size: 13px; margin-bottom: 8px; }
.oda-policy__providers a { display: inline-block; margin-right: 14px; font-size: 12px; }
.oda-policy__browser-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.oda-policy__browser-links a { border: 1px solid #e0e5ef; border-radius: 7px; padding: 8px 13px; font-size: 12px; text-decoration: none; background: #fff; }
.oda-policy__browser-links a:hover { background: #f4f6fb; }
.oda-policy__notice-info { margin-top: 24px; padding: 20px; border: 1px solid #e0e5f5; border-radius: 10px; background: #f7f9ff; }
.oda-policy__notice-info > strong { display: block; margin-bottom: 9px; font-size: 14px; }
.oda-policy__notice-info p { font-size: 13px; }
.oda-policy__notice-info button { padding: 0; border: 0; background: transparent; color: #2f42b4; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.oda-policy a:focus-visible, .oda-policy button:focus-visible { outline: 2px solid #2f42b4; outline-offset: 3px; }
@media (max-width: 991.98px) {
    .oda-policy__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .oda-policy__toc { position: static; display: flex; flex-wrap: wrap; gap: 4px 8px; padding: 16px; border: 1px solid #e6e9f0; border-radius: 12px; background: #fff; }
    .oda-policy__toc > span { flex-basis: 100%; padding: 0 8px 8px; }
    .oda-policy__toc a { padding: 6px 8px; font-size: 12px; }
    .oda-policy__toc .oda-policy__privacy { margin: 0; padding-top: 6px; border: 0; }
}
@media (max-width: 575.98px) {
    .oda-policy { padding: 22px 0 40px; }
    .oda-policy__wrap { width: calc(100% - 32px); }
    .oda-policy__hero { padding: 28px 0; }
    .oda-policy__hero p { font-size: 14px; }
    .oda-policy__document { padding: 0 19px; border-radius: 12px; }
    .oda-policy__document section { padding: 24px 0; scroll-margin-top: 90px; }
    .oda-policy__document h2 { gap: 10px; font-size: 19px; }
    .oda-policy__document p { font-size: 13px; line-height: 1.85; }
    .oda-policy__purposes { grid-template-columns: minmax(0, 1fr); }
    .oda-policy__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .oda-policy__table, .oda-policy__table tbody, .oda-policy__table tr, .oda-policy__table td, .oda-policy__table tbody th { display: block; width: auto; }
    .oda-policy__table tr + tr { border-top: 1px solid #dfe4ed; }
    .oda-policy__table tbody th { background: #f5f7fb; padding: 12px 14px; border: 0; }
    .oda-policy__table td, .oda-policy__table td:last-child { width: auto; padding: 9px 14px; border: 0; }
    .oda-policy__table td:last-child { padding-top: 0; padding-bottom: 14px; }
    .oda-policy__table td::before { content: attr(data-label) ': '; color: #2e3b50; font-weight: 600; }
    .oda-policy__notice-info { padding: 16px; }
}
@media print {
    .oda-policy__toc, .oda-policy__notice-info button { display: none; }
    .oda-policy__layout { display: block; }
    .oda-policy__document { border: 0; padding: 0; }
    .oda-policy { background: #fff; }
}
