:root{--legal-blue:#1555e8;--legal-ink:#14284b;--legal-paper:#fffef9;--legal-cream:#fff8df;--legal-line:#ccd7ea;--legal-muted:#5b6b84}
.jpl-ja{display:none!important}html[lang=ja] .jpl-ko{display:none!important}html[lang=ja] .jpl-ja{display:revert!important}
body[data-jpl-theme=mascot]:has(.jpl-page){overflow-x:clip;background:radial-gradient(circle at 1px 1px,#173d7d12 1px,transparent 0) 0 0/18px 18px,linear-gradient(180deg,#f3f7ff 0,#fffdf6 420px,#fffdf8 100%);color:var(--legal-ink)}
body[data-jpl-theme=mascot]:has(.jpl-page)::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 72%,#1555e808 72% 73%,transparent 73%);z-index:-1}
.jpl-reading-progress{position:fixed;z-index:1000;top:0;left:0;width:100%;height:4px;background:#dbe4f3}.jpl-reading-progress>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#1555e8,#54a0ff);transition:width .12s linear}
.jpl-page{max-width:1360px;padding:150px clamp(20px,4vw,58px) 110px}.jpl-page-intro{position:relative;overflow:hidden;min-height:315px;padding:clamp(34px,5vw,68px);border:3px solid var(--legal-ink);border-radius:20px;background:linear-gradient(135deg,#ffffffee,#fff9e8f5),radial-gradient(circle at 82% 22%,#1555e829 0 105px,transparent 106px);box-shadow:12px 12px 0 var(--legal-ink)}
.jpl-page-intro::before{content:"POLICY DOCUMENT";position:absolute;right:-42px;top:45px;transform:rotate(8deg);padding:10px 58px;background:var(--legal-blue);color:#fff;font:900 12px/1 Arial,sans-serif;letter-spacing:.2em;box-shadow:0 3px 0 var(--legal-ink)}.jpl-page-intro::after{content:"JP";position:absolute;right:58px;bottom:-42px;color:#1555e80d;font:900 190px/1 Arial,sans-serif;letter-spacing:-.12em}
.jpl-page-intro>p:first-child{display:inline-flex;align-items:center;gap:10px;margin:0;padding:7px 12px;border:2px solid var(--legal-ink);background:#fff;color:var(--legal-blue);font-size:12px;box-shadow:4px 4px 0 var(--legal-ink)}.jpl-page-intro>p:first-child::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--legal-blue)}
.jpl-page-intro h1{position:relative;z-index:1;max-width:780px;margin:34px 0 20px;font-size:clamp(42px,7vw,86px);line-height:.98;letter-spacing:-.065em}.jpl-page-intro>p:not(:first-child){position:relative;z-index:1;max-width:670px;margin:0;color:#344968;font-size:clamp(17px,2vw,22px);line-height:1.65}.jpl-page-intro>small{position:relative;z-index:1;display:block;margin-top:30px;color:var(--legal-muted);font-size:14px;font-weight:700}
.jpl-toc a:focus-visible,.jpl-policy-nav a:focus-visible{outline:3px solid #6fa2ff;outline-offset:3px}
.jpl-policy-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0 34px}.jpl-policy-nav a{position:relative;display:flex;align-items:center;min-height:68px;padding:14px 48px 14px 18px;border:2px solid var(--legal-ink);border-radius:12px;background:#fff;color:var(--legal-ink);font-size:15px;font-weight:800;box-shadow:5px 5px 0 #b8c7df;transition:transform .15s,box-shadow .15s}.jpl-policy-nav a::after{content:"↗";position:absolute;right:17px;font-size:20px;color:var(--legal-blue)}.jpl-policy-nav a:hover{transform:translateY(-2px);box-shadow:7px 7px 0 #9fb7dd;text-decoration:none}.jpl-policy-nav a[aria-current=page]{background:var(--legal-blue);color:#fff;box-shadow:5px 5px 0 var(--legal-ink)}.jpl-policy-nav a[aria-current=page]::after{content:"●";color:#fff;font-size:12px}
.jpl-policy-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);align-items:start;gap:30px}.jpl-toc{position:sticky;top:130px;padding:22px;border:2px solid var(--legal-ink);border-radius:14px;background:var(--legal-cream);box-shadow:6px 6px 0 var(--legal-ink)}.jpl-toc-label{display:block;margin-bottom:7px;color:var(--legal-blue);font:900 11px/1.4 Arial,sans-serif;letter-spacing:.16em}.jpl-toc h2{margin:0 0 18px;font-size:22px;line-height:1.25}.jpl-toc nav{display:flex;flex-direction:column;gap:5px}.jpl-toc a{display:block;padding:9px 10px;border-left:3px solid transparent;border-radius:0 7px 7px 0;color:#53627a;font-size:14px;line-height:1.4;text-decoration:none;transition:.15s}.jpl-toc a:hover,.jpl-toc a.is-active{border-left-color:var(--legal-blue);background:#fff;color:var(--legal-ink);font-weight:800}
.jpl-policy-copy{min-width:0;padding:clamp(26px,4vw,52px);border:2px solid var(--legal-ink);border-radius:18px;background:var(--legal-paper);box-shadow:8px 8px 0 #d5dfef}.jpl-policy-copy *{min-width:0}.jpl-policy-copy>div>section{position:relative;margin:0;padding:38px 0;border-top:1px solid var(--legal-line);scroll-margin-top:125px}.jpl-policy-copy>div>section:first-child{padding-top:0;border-top:0}.jpl-policy-copy>div>section:last-child{padding-bottom:0}.jpl-policy-copy h2{display:flex;align-items:flex-start;gap:12px;margin:0 0 19px;color:var(--legal-ink);font-size:clamp(22px,2.5vw,30px);line-height:1.35;letter-spacing:-.035em;overflow-wrap:anywhere}.jpl-policy-copy h2::before{content:"";flex:0 0 8px;width:8px;height:31px;margin-top:3px;border-radius:4px;background:var(--legal-blue);box-shadow:3px 0 0 #b8d1ff}.jpl-policy-copy p,.jpl-policy-copy li{color:#2d3f5d;font-size:17px;line-height:1.95;letter-spacing:-.008em;word-break:normal;overflow-wrap:anywhere}.jpl-policy-copy p{margin:13px 0}.jpl-policy-copy ul{margin:18px 0;padding:20px 24px 20px 46px;border:1px solid #d6dfed;border-radius:12px;background:#f7f9fd}.jpl-policy-copy li{margin:9px 0;padding-left:4px}.jpl-policy-copy li::marker{color:var(--legal-blue)}.jpl-policy-copy .notice{margin:22px 0 0;padding:18px 20px;border:1px solid #9ebef2;border-left:6px solid var(--legal-blue);border-radius:8px;background:#edf4ff;color:#18345f;font-size:16px;line-height:1.8}.jpl-policy-copy .date{display:inline-block;margin-top:24px;padding:8px 12px;border-radius:6px;background:#eaf1fd;color:#34527f;font-size:13px;font-weight:800}
.jpl-policy-end{margin:34px 0 0;padding:26px 30px;border:2px solid var(--legal-ink);border-radius:14px;background:linear-gradient(135deg,#eef5ff,#fff7d8);color:var(--legal-ink);font-size:15px;line-height:1.7;box-shadow:6px 6px 0 var(--legal-ink)}.jpl-policy-end a{display:inline-flex;margin-left:14px;padding:9px 14px;border-radius:7px;background:var(--legal-blue);color:#fff;text-decoration:none;font-weight:800}
@media(max-width:900px){.jpl-page{padding-top:132px}.jpl-page-intro{min-height:0;box-shadow:7px 7px 0 var(--legal-ink)}.jpl-page-intro::before{right:-65px;top:28px}.jpl-policy-nav{grid-template-columns:1fr}.jpl-policy-layout{grid-template-columns:1fr}.jpl-toc{position:relative;top:auto;box-shadow:5px 5px 0 var(--legal-ink)}.jpl-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.jpl-policy-copy{box-shadow:5px 5px 0 #d5dfef}}
@media(min-width:901px) and (max-width:1500px){body:has(.jpl-page) .jph-connection-copy-hint{left:auto;right:0;top:calc(100% + 7px);transform:translateY(-3px)}body:has(.jpl-page) .jph-connection[data-state=ready]:hover .jph-connection-copy-hint,body:has(.jpl-page) .jph-connection[data-state=ready]:focus-visible .jph-connection-copy-hint{transform:translateY(0)}}
@media(max-width:600px){body:has(.jpl-page) .header .jph-connection{display:none!important}.jpl-page{padding:116px 16px 72px}.jpl-page-intro{padding:30px 22px;border-radius:14px}.jpl-page-intro::after{right:12px;font-size:125px}.jpl-page-intro h1{margin-top:28px;font-size:42px}.jpl-page-intro>p:not(:first-child){font-size:16px}.jpl-page-intro>small{font-size:12px}.jpl-policy-nav a{min-height:58px;font-size:14px}.jpl-toc{padding:18px}.jpl-toc nav{grid-template-columns:1fr}.jpl-policy-copy{padding:26px 20px}.jpl-policy-copy>div>section{padding:30px 0}.jpl-policy-copy h2{font-size:22px}.jpl-policy-copy p,.jpl-policy-copy li{font-size:16px;line-height:1.85}.jpl-policy-copy ul{padding:16px 18px 16px 34px}.jpl-policy-end{padding:22px 20px}.jpl-policy-end a{display:flex;justify-content:center;margin:16px 0 0}body:has(.jpl-page) .jpl-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}body:has(.jpl-page) .jpl-company{grid-column:1/-1;max-width:100%}body:has(.jpl-page) .jpl-footer-logo{display:block;max-width:190px}body:has(.jpl-page) .jpl-footer-logo img{display:block;width:100%;height:auto}}
@media(prefers-reduced-motion:reduce){.jpl-reading-progress>span,.jpl-policy-nav a,.jpl-toc a{transition:none}}
