/* Solorise 法務ページ共通(terms.html / privacy.html / tokushoho.html)。色は site/style.css(Top)の変数に合わせる。 */
:root{--ink:#142a4b;--muted:#526178;--blue:#2254d9;--line:#dce3ef;--soft:#f1f6ff;--green:#087a49;--paper:#fff;--sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif}
*{box-sizing:border-box}
/* 共通メニュー(service-menu.css)はヘッダー固定を前提に scroll-padding を広げるが、このページのヘッダーは固定しないので戻す */
html,html:root{scroll-padding-top:20px!important}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.95 var(--sans);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}
a{color:var(--blue);text-underline-offset:4px;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid #d97706;outline-offset:4px}
h1,h2,h3,h4,p{margin:0}
h1{font:700 34px/1.5 var(--sans);letter-spacing:.01em}
h2{font-size:22px;line-height:1.6;font-weight:700}
h3{font-size:18px;line-height:1.7;font-weight:700}
h4{font-size:16px;line-height:1.8;font-weight:700}
p+p{margin-top:12px}
strong{font-weight:700}
ol,ul{padding-left:1.6em;margin:12px 0 0}
li+li{margin-top:10px}
li>ol,li>ul{margin-top:8px}
ul.items{list-style:none;padding-left:0}
ul.items>li{padding-left:2.6em;text-indent:-2.6em}
ul.items>li>.num{display:inline-block;min-width:2.6em;text-indent:0}
ul.items ul.items>li{padding-left:1.6em;text-indent:-1.6em}
ul.items ul.items>li>.num{min-width:1.6em}
.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px;z-index:200}.skip-link:focus{left:10px}
/* ヘッダー(共通メニューはヘッダーの下段に入る) */
/* position:relative は共通メニューの開閉パネル(absolute; top:100%)の基準にするため */
.legal-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.legal-header__inner{max-width:1040px;margin:auto;padding:22px 32px;display:flex;gap:20px;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);white-space:nowrap;font:700 22px/1.2 var(--sans)}
.brand img{width:36px;height:36px}
.brand small{font:500 10px/1.5 var(--sans);letter-spacing:.1em;color:var(--muted);margin-left:2px;align-self:flex-end;padding-bottom:3px}
.legal-nav{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;font-weight:700;justify-content:flex-end}
.legal-nav a{color:var(--muted);text-decoration:none}
.legal-nav a:hover{color:var(--blue);text-decoration:underline}
.legal-nav a[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--blue)}
/* 本文 */
.narrow{max-width:800px;margin:auto;padding:52px 32px 70px}
.eyebrow{color:var(--blue);font-size:10px;letter-spacing:.14em;margin-bottom:8px;font-weight:700}
.version{font-size:12px;color:var(--muted);margin-top:10px}
.narrow>p{margin-top:16px}
.narrow>.version{margin-top:10px}
.narrow>ul,.narrow>ol{margin-top:8px}
/* 目次 */
.contents{margin-top:30px;padding:22px 26px;border:1px solid var(--line);background:var(--soft);border-radius:8px}
.contents h2,.contents h3,.contents h4{font-size:16px;border:0;padding:0;margin:0}
.contents>ol,.contents>ul{columns:2;column-gap:30px;font-size:13px;margin-top:14px;padding-left:1.4em;list-style:none}
.contents li{break-inside:avoid;margin:0 0 7px;line-height:1.75}
.contents li ul,.contents li ol{list-style:none;padding-left:1em;margin-top:6px}
.contents li li{margin-bottom:6px}
.contents>ul>li{font-weight:700}
.contents li li{font-weight:400}
.contents a{text-decoration:none}
.contents a:hover{text-decoration:underline}
/* 条・章・節(section) */
section{scroll-margin-top:16px}
section.lv2{padding-top:44px}
section.lv2>h2{padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:16px}
section.lv3{padding-top:34px}
section.lv3>h3{padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:12px}
section.lv4{padding-top:28px}
section.lv4>h4{margin-bottom:10px}
section>p{margin-top:12px}
section>p:first-of-type{margin-top:0}
section.lv3>h3+.contents,section.lv2>h2+.contents{margin-top:16px}
/* 表(スマホでは横スクロール) */
.table-wrap{margin:16px 0 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:8px;background:#fff}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:13.5px;line-height:1.8}
th,td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
thead th{background:var(--soft);border-top:0;font-weight:700;white-space:nowrap}
tbody th{font-weight:600;width:11em;background:#fafcff}
tbody tr:first-child>*{border-top:0}
/* 末尾 */
.legal-end{border-top:1px solid var(--line);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}
.legal-links{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px}
.legal-links a[aria-current="page"]{display:none}
.legal-footer{max-width:1040px;padding:25px 32px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:6px 16px}
.legal-footer a{color:var(--muted);text-decoration:none}
.legal-footer a:hover{color:var(--blue);text-decoration:underline}
@media(max-width:640px){
body{font-size:14px;line-height:1.95}
.legal-header__inner{padding:16px 16px;gap:12px;flex-wrap:wrap}
.brand{font-size:20px;gap:8px}.brand img{width:30px;height:30px}
.legal-nav{font-size:11px;gap:4px 14px;justify-content:flex-start;width:100%}
.narrow{padding:34px 16px 48px}
h1{font-size:27px}h2{font-size:19px}h3{font-size:17px}h4{font-size:15px}
.version{font-size:11px}
.contents{padding:18px 16px}
.contents>ol,.contents>ul{columns:1;font-size:13px}
.contents li{margin-bottom:9px}
section.lv2{padding-top:36px}section.lv3{padding-top:28px}section.lv4{padding-top:24px}
ul.items>li{padding-left:2.2em;text-indent:-2.2em}
ul.items>li>.num{min-width:2.2em}
table{font-size:13px}th,td{padding:10px 12px}
tbody th{width:8em}
.legal-end{display:block}.legal-end>a{display:inline-block;margin-top:16px}
.legal-links{font-size:13px}
.legal-footer{padding:22px 16px;flex-wrap:wrap}
}
@media print{
body{background:#fff;color:#000;font-size:10pt}
.legal-header,.contents,.legal-links,.legal-footer,.legal-end>a,.skip-link{display:none}
.narrow{max-width:none;padding:0}
h1{font-size:21pt}
section.lv2{padding-top:18px}
h2,h3,h4{break-after:avoid}
li{orphans:2;widows:2}
a{color:inherit;text-decoration:none}
.table-wrap{border:0;overflow:visible}table{min-width:0}
}
li>p.items-after{margin:.5em 0 0}
p.items-after+ul.items{margin-top:.5em}
