/* 玉章の公開ページ（トップ・規約・表記・ポリシー）の見た目。色は 資料/デザインの決まり.md の値。
   外のサーバーから何も読み込まない（書体も端末の書体を使う。見た人の情報をほかへ送らないため） */
:root{
  --bg:#F2ECDF; --surface:#FAF5EA; --ink:#2E2A38; --ink-soft:#625C6E; --line:#E3DBCC;
  --accent:#6B5B95; --seal:#B5473A; --on-seal:#FFFFFF;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#1C1B22; --surface:#26242D; --ink:#EDE6DA; --ink-soft:#B5AC9E; --line:#3A3742; --accent:#C89B5A;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#1C1B22; --surface:#26242D; --ink:#EDE6DA; --ink-soft:#B5AC9E; --line:#3A3742; --accent:#C89B5A;
  color-scheme:dark;
}
*{ box-sizing:border-box; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",system-ui,sans-serif;
  font-size:16px; line-height:1.85;
}
.wrap{ max-width:760px; margin:0 auto; padding:2rem 16px 3rem; }
header.site{ display:flex; align-items:center; gap:0.8rem; margin-bottom:1.6rem; }
.seal{
  display:inline-flex; flex-direction:column; align-items:center; justify-content:center;
  width:2.1rem; height:3.4rem; border-radius:5px; background:var(--seal); color:var(--on-seal);
  font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-weight:700; line-height:1.1; font-size:1rem;
}
header.site a{ color:inherit; text-decoration:none; }
.name{ font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:1.5rem; font-weight:700; line-height:1.3; }
.name small{ display:block; font-size:0.85rem; font-weight:400; color:var(--ink-soft); }
main{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.6rem 1.25rem; }
h1{ font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:1.45rem; line-height:1.5; margin:0 0 1rem; text-wrap:balance; }
h2{ font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:1.12rem; margin:2rem 0 0.6rem; padding-top:1rem; border-top:1px solid var(--line); }
h3{ font-size:1rem; margin:1.4rem 0 0.4rem; }
p, li{ overflow-wrap:anywhere; }
ol, ul{ padding-left:1.4em; }
a{ color:var(--accent); }
.note{ color:var(--ink-soft); font-size:0.9rem; }
.table-wrap{ overflow-x:auto; }
table{ width:100%; border-collapse:collapse; font-size:0.95rem; }
th, td{ text-align:left; vertical-align:top; padding:0.7rem 0.6rem; border-bottom:1px solid var(--line); }
th{ width:30%; min-width:7em; font-weight:700; }
.price{ font-size:1.05rem; font-weight:700; }
footer.site{ margin-top:1.6rem; font-size:0.88rem; color:var(--ink-soft); }
footer.site nav{ display:flex; flex-wrap:wrap; gap:0.4rem 1.2rem; margin-bottom:0.6rem; }
@media (max-width:480px){
  th, td{ display:block; width:auto; border-bottom:none; padding:0.35rem 0; }
  tr{ display:block; padding:0.6rem 0; border-bottom:1px solid var(--line); }
}
