:root{--ink:#171512;--muted:#706b64;--line:#e9e5df;--soft:#faf8f5;--purple:#6f55dc;--purple-dark:#563fbd;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;--display:"Outfit",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}.privacy-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:8px max(24px,4vw);border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}.privacy-brand{display:block;width:100px}.privacy-brand img{display:block;width:100%}.privacy-actions,.privacy-languages{display:flex;align-items:center;gap:10px}.privacy-languages{padding:4px;border:1px solid var(--line);border-radius:999px}.privacy-languages button{border:0;border-radius:999px;background:transparent;padding:7px 12px;color:var(--muted);font-size:11px;cursor:pointer}.privacy-languages button.active{background:var(--purple);color:#fff}.privacy-actions>a{padding:9px 16px;border:1px solid var(--purple);border-radius:999px;color:var(--purple-dark);font-size:12px;font-weight:700}.privacy-main{width:min(100% - 36px,980px);margin:auto;padding:86px 0 120px}.policy[hidden]{display:none}.policy-hero{padding-bottom:50px;border-bottom:1px solid var(--line)}.policy-hero p{margin:0;color:var(--purple);font:700 11px var(--display);letter-spacing:.18em}.policy-hero h1{margin:12px 0 14px;font-family:var(--serif);font-size:clamp(38px,6vw,68px);font-weight:500;line-height:1.35}.policy-hero span{color:var(--muted);font-size:12px}.policy-lead{margin:46px 0 62px;padding:28px 30px;border-left:3px solid var(--purple);background:linear-gradient(120deg,#faf8f5,#fff);color:#4e4943;font-size:15px}.policy section{padding:35px 0;border-top:1px solid var(--line)}.policy section h2{display:flex;align-items:center;gap:15px;margin:0 0 18px;font-family:var(--serif);font-size:22px;font-weight:600}.policy section h2 b{color:var(--purple);font:700 11px var(--display);letter-spacing:.08em}.policy section p,.policy section li{color:#5f5a54;font-size:14px}.policy section ul{display:grid;gap:8px;margin:14px 0;padding-left:22px}.policy section a{color:var(--purple-dark);font-weight:600;text-decoration:underline;text-underline-offset:3px}.service-list{display:grid;gap:12px;margin-top:22px}.service-list p{display:grid;grid-template-columns:125px 1fr auto;align-items:center;gap:18px;margin:0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}.service-list strong{color:var(--ink)}.service-list span{font-size:13px}.service-list a{font-size:11px;white-space:nowrap}.policy-contact{margin-top:25px;padding:32px!important;border:0!important;border-radius:20px;background:#f4f0ff}.policy-contact p{margin:0}.privacy-footer{display:flex;align-items:center;justify-content:space-between;padding:38px max(24px,4vw);background:#171512;color:#fff}.privacy-footer img{width:145px}.privacy-footer p{margin:0;color:#918a82;font-size:11px}
@media(min-width:2000px){.privacy-header{min-height:92px;padding-left:max(5vw,calc((100% - 1900px)/2));padding-right:max(5vw,calc((100% - 1900px)/2))}.privacy-brand{width:125px}.privacy-actions>a,.privacy-languages button{font-size:14px}.privacy-main{width:1300px;padding:120px 0 160px}.policy-hero h1{font-size:82px}.policy-lead{font-size:19px}.policy section h2{font-size:28px}.policy section p,.policy section li{font-size:17px}.service-list p{grid-template-columns:170px 1fr auto;padding:24px 28px}.service-list span{font-size:16px}}
@media(max-width:700px){.privacy-header{align-items:flex-start;padding:12px 16px}.privacy-brand{width:82px}.privacy-actions{flex-direction:column;align-items:flex-end;gap:7px}.privacy-languages{gap:2px}.privacy-languages button{padding:6px 9px}.privacy-actions>a{padding:6px 11px;font-size:10px}.privacy-main{padding:55px 0 80px}.policy-hero{padding-bottom:34px}.policy-lead{margin:34px 0 46px;padding:22px 20px;font-size:13px}.policy section{padding:29px 0}.policy section h2{font-size:19px}.policy section p,.policy section li{font-size:13px}.service-list p{grid-template-columns:1fr;gap:6px;padding:17px}.service-list a{justify-self:start}.policy-contact{padding:24px!important}.privacy-footer{flex-direction:column;align-items:flex-start;gap:18px}.privacy-footer img{width:125px}}
