/* 規約・ポリシー系ページ共通スタイル（HPと色・フォントを統一） */
:root{
  --cream:#FBF7EE; --cream-deep:#F3ECDC; --forest:#2E6B28; --forest-deep:#1F4A1C;
  --earth:#B07040; --ink:#2A2A2A; --ink-soft:#5A554B; --line:rgba(42,42,42,.12);
  --serif:"Noto Serif JP",serif; --sans:"Noto Sans JP",sans-serif; --mincho:"Shippori Mincho B1",serif;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--sans); font-weight:300; line-height:2; letter-spacing:.04em;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--forest); text-decoration:none;}
a:hover{text-decoration:underline;}

.legal-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px clamp(20px,5vw,48px); border-bottom:1px solid var(--line); background:rgba(251,247,238,.96);
  position:sticky; top:0; backdrop-filter:blur(8px);
}
.legal-brand{display:flex; align-items:center; gap:12px;}
.legal-brand img{width:40px; height:40px; border-radius:50%;}
.legal-brand b{font-family:var(--mincho); font-weight:600; font-size:16px; letter-spacing:.12em; color:var(--ink);}
.legal-back{font-size:13px; letter-spacing:.08em;}

.legal-main{max-width:760px; margin:0 auto; padding:clamp(32px,6vw,64px) clamp(20px,5vw,32px) 80px;}
.legal-main h1{
  font-family:var(--mincho); font-weight:700; font-size:clamp(24px,4vw,32px);
  letter-spacing:.06em; color:var(--forest-deep); margin:0 0 6px; line-height:1.5;
  word-break:keep-all; overflow-wrap:anywhere;
}
.legal-eyebrow{font-family:"Cormorant Garamond",serif; font-style:italic; color:var(--earth); letter-spacing:.16em; font-size:15px;}
.legal-updated{color:var(--ink-soft); font-size:13px; margin:0 0 36px;}
.legal-main h2{
  font-family:var(--serif); font-weight:600; font-size:18px; letter-spacing:.06em;
  color:var(--forest); margin:40px 0 12px; padding-bottom:8px; border-bottom:1px solid var(--line);
  word-break:keep-all; overflow-wrap:anywhere;
}
.legal-main p{margin:0 0 14px; color:var(--ink-soft); text-wrap:pretty;}
.legal-main ul,.legal-main ol{margin:0 0 14px; padding-left:1.4em; color:var(--ink-soft);}
.legal-main li{margin-bottom:8px;}
.legal-main strong{color:var(--ink); font-weight:500;}
.legal-lead{color:var(--ink); }
.legal-note{
  background:var(--cream-deep); border-left:3px solid var(--earth);
  padding:14px 18px; border-radius:0 8px 8px 0; margin:18px 0; font-size:14px;
}
.legal-contact{background:#fff; border:1px solid var(--line); border-radius:10px; padding:18px 20px; margin-top:8px;}

.legal-footer{
  border-top:1px solid var(--line); padding:28px clamp(20px,5vw,48px);
  display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; justify-content:center;
  font-size:13px; color:var(--ink-soft); text-align:center;
}
.legal-footer a{color:var(--ink-soft);}
.legal-footer .sep{opacity:.4;}
