:root{--blue:#174a86;--pale:#edf6ff;--sky:#cfe8ff;--text:#111;--line:#777;--link:#0000cc}
*{box-sizing:border-box}
html{background:var(--sky)}
body{width:min(920px,calc(100% - 20px));margin:10px auto;color:var(--text);background:#fff;border:1px solid var(--line);font-family:"MS PGothic","Yu Gothic",sans-serif;font-size:15px;line-height:1.65}
a{color:var(--link)}a:visited{color:#660099}a:hover{color:#c00}
header{padding:10px 14px 7px;border-bottom:4px double var(--blue)}
header h1{margin:0;color:#173d73;font-family:serif;font-size:clamp(24px,5vw,38px);letter-spacing:.04em}
header p{margin:2px 0}
.language-switch{margin:6px 0 0;text-align:right;font-size:13px}
.language-switch strong{color:#173d73}
.layout{display:grid;grid-template-columns:210px 1fr}
nav{padding:14px;background:var(--pale);border-right:1px solid var(--line)}
nav h2{margin:0 0 6px;font-size:16px}nav ul{margin:0;padding-left:18px}nav li{margin:5px 0}
main{min-width:0;padding:14px 18px 28px}
section{margin:0 0 24px}
h2{margin:0 0 9px;padding:2px 7px;color:#fff;background:var(--blue);font-size:18px}
h3{margin:14px 0 5px;font-size:16px}p{margin:5px 0 10px}ul{padding-left:1.4em}
table{width:100%;border-collapse:collapse}th,td{padding:7px 8px;border:1px solid #888;text-align:left;vertical-align:top}th{width:10em;background:#eef5ff}
.notice{padding:10px;border:1px solid #888;background:#fffbe6}.small{font-size:13px}.new{color:#c40000;font-weight:bold}
.legal-meta{padding:9px 11px;border:1px solid #888;background:#f7fbff;font-size:13px}
.legal-meta p{margin:2px 0}
.legal-toc{padding:10px 12px;border:1px solid #888;background:#fffbe6}
.legal-toc ol{margin:4px 0;padding-left:1.7em;columns:2;column-gap:28px}
.legal-toc li{break-inside:avoid;margin:3px 0}
.legal-document section{scroll-margin-top:12px}
.legal-document h2{margin-top:25px}
.legal-document h3{padding-bottom:2px;border-bottom:1px dotted #888}
.legal-document li{margin:4px 0}
.legal-document .service-list li{margin:8px 0}
.legal-contact{padding:10px;border:1px solid #888;background:#f7fbff}
.button{display:inline-block;padding:8px 14px;border:2px outset #ddd;background:#f5f5f5;color:#000;text-decoration:none;font-weight:bold}.button:active{border-style:inset}
footer{padding:8px 14px;border-top:1px solid var(--line);background:var(--pale);text-align:center;font-size:12px}
@media(max-width:650px){body{width:calc(100% - 10px);margin:5px}.layout{grid-template-columns:1fr}nav{border-right:0;border-bottom:1px solid var(--line)}nav ul{columns:2}main{padding:12px}th{width:7em}.legal-toc ol{columns:1}}
