:root{color:#17312d;font-synthesis:none;background:#f3eee3;font-family:DM Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% 8%,#ee62521a,#0000 26rem),#f3eee3;min-width:320px;margin:0}a{color:inherit}button{font:inherit}.legal-shell{flex-direction:column;min-height:100vh;display:flex}.legal-header{border-bottom:1px solid #17312d1f;justify-content:space-between;align-items:center;width:min(1120px,100% - 48px);margin:0 auto;padding:24px 0;display:flex}.legal-brand{color:#17312d;flex-direction:column;gap:2px;text-decoration:none;display:flex}.legal-brand strong{letter-spacing:.18em;font-size:14px}.legal-brand small{letter-spacing:.2em;font-size:6px;font-weight:700}.legal-actions{align-items:center;gap:10px;display:flex}.legal-home,.language-button{cursor:pointer;background:#ffffff4d;border:1px solid #17312d26;border-radius:999px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:11px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.legal-main{flex:1;width:min(860px,100% - 40px);margin:0 auto;padding:clamp(58px,10vw,110px) 0 86px}.legal-kicker{color:#e4574c;letter-spacing:.24em;align-items:center;gap:13px;margin:0 0 22px;font-size:9px;font-weight:800;display:flex}.legal-kicker:before{content:"";background:currentColor;width:30px;height:1px}.legal-main h1{letter-spacing:.03em;max-width:760px;margin:0;font-family:Noto Sans JP,sans-serif;font-size:clamp(36px,6vw,68px);line-height:1.28}.legal-lead{color:#17312db8;text-wrap:pretty;width:100%;margin:28px 0 0;font-family:Noto Sans JP,sans-serif;font-size:15px;line-height:2}.legal-kicker+.legal-lead{margin-top:0}.legal-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:54px;display:grid}.legal-card,.policy-section{background:#ffffff61;border:1px solid #17312d1a;border-radius:18px;padding:28px}.legal-card span{color:#e4574c;letter-spacing:.18em;font-size:9px;font-weight:800}.legal-card h2,.policy-section h2{margin:10px 0;font-family:Noto Sans JP,sans-serif;font-size:18px}.legal-card p,.policy-section p{color:#17312db3;margin:0;font-family:Noto Sans JP,sans-serif;font-size:13px;line-height:1.9}.policy-list{gap:14px;margin-top:50px;display:grid}.policy-section{padding:26px 30px}.policy-section h2{margin-top:0}.policy-updated{color:#17312d85;margin:25px 0 0;font-size:11px}.contact-panel{color:#fffaf0;background:#123d35;border-radius:24px;gap:20px;margin-top:50px;padding:clamp(26px,5vw,45px);display:grid}.contact-address{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.contact-address span{color:#fffaf099;letter-spacing:.18em;font-size:9px;font-weight:800}.contact-address strong{font-size:clamp(18px,4vw,28px)}.contact-button{color:#17312d;background:#eef27c;border-radius:999px;justify-self:start;padding:14px 22px;font-size:12px;font-weight:800;text-decoration:none}.contact-help{margin-top:24px}.contact-notice{color:#17312d8c;margin-top:22px;font-family:Noto Sans JP,sans-serif;font-size:11px;line-height:1.8}.notfound-main{align-content:center;place-items:start;min-height:70vh;display:grid}.notfound-main .legal-home{color:#fffaf0;background:#123d35;align-items:center;margin-top:34px;display:inline-flex}.legal-footer{color:#17312d8c;letter-spacing:.12em;border-top:1px solid #17312d14;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:27px max(24px,50vw - 560px);font-size:8px;display:grid}.legal-footer nav{gap:18px;display:flex}.legal-footer nav a{text-decoration:none}.legal-footer>span{text-align:right}@media (width<=700px){.legal-header{width:calc(100% - 28px);padding:17px 0}.legal-header .legal-home{display:none}.legal-grid{grid-template-columns:1fr}.legal-footer{text-align:center;grid-template-columns:1fr}.legal-footer nav{flex-wrap:wrap;justify-content:center}.legal-footer>span{text-align:center}}
