/* ===== rirekisy 静的ページ（運営会社／利用規約／プライバシーポリシー／お問い合わせ） =====
   theme.css の配色トークン＋ダーク（<html data-theme>）に追従。SPA(app.css)とは独立。 */
*{box-sizing:border-box;}
body.static{margin:0;color:var(--ink);background:var(--mid-bg);line-height:1.8;-webkit-text-size-adjust:100%;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;}

/* --- ヘッダー（ブランドバー：白ロゴが映えるティール帯・両テーマ共通） --- */
.shead{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:12px 22px;box-shadow:var(--shadow);
  background:linear-gradient(100deg,#0e8ba0,#17b0c9);}
.shead__logo{display:inline-flex;flex:0 0 auto;}
.shead__logo img{height:34px;width:auto;display:block;}
.shead__nav{display:flex;gap:4px 16px;flex-wrap:wrap;margin-left:auto;}
.shead__nav a{color:#eaf8fb;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;padding:4px 2px;border-bottom:2px solid transparent;}
.shead__nav a:hover{border-bottom-color:#ffd21f;}
.shead__nav a[aria-current="page"]{color:#fff;border-bottom-color:#ffd21f;}
/* 認証ウィジェット（帯上：白系文字・共有 auth.js が中身を描画） */
.shead .authbar{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:700;}
.shead .authbar a{color:#eaf8fb;text-decoration:none;cursor:pointer;white-space:nowrap;}
.shead .authbar a:hover{text-decoration:underline;}
.shead .authbar__btn{border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.14);color:#fff;border-radius:7px;padding:5px 12px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;}
.shead .authbar__btn:hover{background:rgba(255,255,255,.26);}
.shead .authbar__email{color:#eaf8fb;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* テーマトグル（app.css と同デザインを独立定義：帯上なので枠は白系） */
.shead .theme-toggle{position:relative;width:46px;height:24px;border:1px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.18);border-radius:999px;cursor:pointer;padding:0;flex-shrink:0;}
.shead .theme-toggle__thumb{position:absolute;top:1px;left:1px;width:20px;height:20px;border-radius:50%;background:#ffd21f;
  display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;transition:transform .2s,background .2s;}
.shead .theme-toggle__thumb::before{content:"☀";}
[data-theme=dark] .shead .theme-toggle__thumb{transform:translateX(22px);background:#0e1418;}
[data-theme=dark] .shead .theme-toggle__thumb::before{content:"🌙";}

/* --- ドキュメント本体 --- */
.sdoc{padding:0 18px 56px;}
.sdoc__wrap{max-width:860px;margin:0 auto;}
.crumb{font-size:12.5px;color:var(--muted);padding:16px 2px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.crumb a{color:var(--teal-d);text-decoration:none;}
.crumb a:hover{text-decoration:underline;}
[data-theme=dark] .crumb a{color:var(--teal);}

.shero{margin:16px 0 22px;}
.shero h1{font-size:26px;margin:0;color:var(--ink);}

.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 26px;box-shadow:var(--shadow);}
[data-theme=dark] .card{background:#161d22;}
.updated{font-size:12px;color:var(--muted);margin:0 0 14px;}
.intro{font-size:14px;margin:0 0 26px;}
.section-h{font-size:18px;color:var(--ink);margin:36px 0 16px;}
.section-h:first-child{margin-top:0;}

/* 条文 */
.art{margin:0 0 24px;}
.art:last-child{margin-bottom:0;}
.art h2{font-size:15px;color:var(--ink);border-left:4px solid var(--teal);padding-left:12px;margin:0 0 11px;line-height:1.5;}
.art p{font-size:13.5px;margin:0 0 10px;}
.art p:last-child{margin-bottom:0;}
.list{margin:0 0 10px;padding-left:1.4em;}
.list li{font-size:13.5px;margin:0 0 7px;}
.list li:last-child{margin-bottom:0;}
.art a,.intro a{color:var(--teal-d);}
[data-theme=dark] .art a,[data-theme=dark] .intro a{color:var(--teal);}
.art strong{color:var(--teal-d);}
[data-theme=dark] .art strong{color:var(--teal);}

/* 会社概要テーブル */
.ctable{width:100%;border-collapse:collapse;font-size:13.5px;}
.ctable th,.ctable td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top;}
.ctable th{background:var(--field-bg);width:34%;white-space:nowrap;font-weight:700;color:var(--ink);}
.ctable td a{color:var(--teal-d);}
[data-theme=dark] .ctable td a{color:var(--teal);}
@media(max-width:560px){.ctable th{width:42%;white-space:normal;}}

/* 提供サービス */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;}
.svc{border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--field-bg);}
.svc__name{font-weight:800;font-size:15px;color:var(--ink);}
.svc__url{font-size:12px;margin:3px 0 9px;color:var(--muted);}
.svc__url a{color:var(--teal-d);}
[data-theme=dark] .svc__url a{color:var(--teal);}
.svc__desc{font-size:12.5px;color:var(--muted);line-height:1.75;}
.svc.is-self{border-color:var(--teal);box-shadow:0 0 0 2px rgba(23,176,201,.14);}

/* お問い合わせ窓口 */
.contact-row{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:14px;padding:15px 2px;border-bottom:1px solid var(--line);}
.contact-row:last-child{border-bottom:none;}
.contact-row .k{font-weight:800;min-width:130px;color:var(--ink);}
.contact-row .v{color:var(--ink);}
.mail{font-weight:800;font-size:17px;letter-spacing:.02em;}
.mail a{color:var(--teal-d);text-decoration:none;}
[data-theme=dark] .mail a{color:var(--teal);}
.note{font-size:12.5px;color:var(--muted);margin-top:18px;line-height:1.8;}

/* 戻るCTA */
.backhome{display:inline-block;margin-top:28px;background:var(--teal);color:#fff;text-decoration:none;
  padding:11px 22px;border-radius:9px;font-weight:800;font-size:14px;}
.backhome:active{transform:translateY(1px);}

/* --- フォーム部品（ログイン等・お問い合わせのフォーム化でも流用。app.css と同じ見た目に揃える） --- */
.field{display:flex;flex-direction:column;gap:6px;}
.field > label{font-size:13px;font-weight:700;color:var(--ink);}
.field input,.field select,.field textarea{
  width:100%;font-family:inherit;font-size:14.5px;line-height:1.5;color:var(--ink);
  background:var(--field-bg);border:1px solid var(--field-line);border-radius:11px;
  padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s;}
.field textarea{min-height:120px;resize:vertical;line-height:1.7;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.6;}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#b9c6cf;}
[data-theme=dark] .field input:hover,[data-theme=dark] .field select:hover,[data-theme=dark] .field textarea:hover{border-color:#46545e;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--teal);background:var(--card);box-shadow:0 0 0 3px rgba(23,176,201,.18);}

/* --- フッター（ダーク帯・両テーマ共通） --- */
.sfoot{background:#161d22;color:#9aa7b0;padding:26px 18px;}
.sfoot__wrap{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;}
.sfoot__links{display:flex;gap:10px 20px;flex-wrap:wrap;justify-content:center;}
.sfoot__links a{color:#cdd8de;text-decoration:none;font-size:13px;}
.sfoot__links a:hover{color:#fff;text-decoration:underline;}
.sfoot__copy{font-size:12px;color:#67727e;}
