.legal-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.legal-intro{background:var(--home-sky);padding-block:40px}.legal-page h1{font-size:36px}.legal-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:48px;align-items:start;padding-block:56px 64px}.legal-contents{position:sticky;top:calc(var(--site-header-height) + 24px);max-height:calc(100dvh - var(--site-header-height) - 48px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.legal-contents::-webkit-scrollbar{display:none}.legal-contents-english{color:var(--home-blue);font-size:22px;font-weight:700;line-height:1.6}.legal-contents-heading{display:flex;justify-content:space-between;gap:8px;padding-block:16px;align-items:baseline}.legal-page .legal-contents-heading h2{font:700 14px/1.6 Noto Sans JP Variable,sans-serif}.legal-contents-hint{display:none;font-size:13px;color:var(--home-muted);white-space:nowrap}.legal-contents ol{list-style:none;margin:0;padding:0}.legal-contents li{border-bottom:1px solid var(--home-border)}.legal-contents li a{position:relative;isolation:isolate;display:grid;grid-template-columns:20px minmax(0,1fr);gap:16px;padding:24px 16px;color:var(--home-muted);font-size:14px;line-height:1.85}.legal-contents li a:before{content:"";position:absolute;z-index:-1;inset:8px 4px;border-radius:8px;background:var(--home-sky);opacity:0}.legal-contents-number{position:relative;align-self:start;font-size:13px;line-height:1.7;color:var(--home-blue);opacity:.7}.legal-contents a[aria-current=location] .legal-contents-number{opacity:1}.legal-contents a[aria-current=location] .legal-contents-number:after{content:"";position:absolute;left:0;bottom:-5px;width:16px;height:3px;border-radius:999px;background:var(--home-yellow);transform:rotate(-7deg)}.legal-contents li a:hover,.legal-contents li a[aria-current=location]{color:var(--home-blue)}.legal-contents li a:hover:before,.legal-contents li a[aria-current=location]:before{opacity:1}.legal-section-progress{position:absolute;left:4px;right:4px;bottom:8px;height:4px;border-radius:0 0 8px 8px;overflow:hidden;background:var(--home-border)}.legal-section-progress>span{display:block;width:100%;height:100%;background:var(--home-blue);transform-origin:left}.legal-reading{display:flex;flex-direction:column;gap:16px;padding-top:24px;font-size:13px;line-height:1.7;color:var(--home-muted)}.legal-reading a{color:var(--home-blue)}.legal-article{display:flex;flex-direction:column;gap:24px;min-width:0}.legal-card,.legal-contact{padding:32px;border-radius:24px;min-width:0}.legal-card{border:1px solid var(--home-border);scroll-margin-top:calc(var(--site-header-height) + 24px)}.legal-page .legal-card h2,.legal-page .legal-contact h2{font:700 22px/1.6 Noto Sans JP Variable,sans-serif}.legal-bullets,.legal-definitions,.legal-section-heading{display:flex;flex-direction:column;gap:8px}.legal-bullets{margin:0;padding-left:20px;list-style:disc}.legal-bullets li::marker{color:var(--home-blue)}.legal-established{text-align:right;font-size:13px;line-height:1.7;color:var(--home-muted)}.legal-row{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:24px;padding-block:16px;border-bottom:1px solid var(--home-border)}.legal-row dt{color:var(--home-blue);font-size:14px;line-height:1.6;font-weight:700}.legal-row dd{white-space:pre-line;overflow-wrap:anywhere;min-width:0}.legal-reading a:hover,.legal-row a:hover{text-decoration:underline}.legal-note{border-radius:16px;padding:16px;font-size:13px;line-height:1.7}.legal-contact,.legal-note{background:var(--home-sky)}.legal-contact .home-button{width:280px;max-width:100%;min-height:56px;height:auto;font-size:14px;padding-block:16px}@media(min-width:761px)and (max-width:1100px){.legal-layout{grid-template-columns:200px minmax(0,1fr);gap:32px}.legal-row{grid-template-columns:140px minmax(0,1fr);gap:16px}.legal-card,.legal-contact{padding:24px}}@media(max-width:760px){.legal-intro{padding-block:32px}.legal-page h1{font-size:27px}.legal-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:32px 40px}.legal-contents{position:static;max-height:none;overflow:visible;padding:16px;border:1px solid var(--home-border);border-radius:16px}.legal-contents-english,.legal-reading{display:none}.legal-contents-hint{display:inline}.legal-card,.legal-contact{padding:24px}.legal-row{grid-template-columns:minmax(0,1fr);gap:8px}.legal-contact .home-button{width:100%}.legal-page .legal-contact h2{font-size:clamp(18px,5.64vw,22px)}}@media(max-width:359px){.legal-contents-heading{flex-wrap:wrap}}
