/* ============================================================
   アンバサダーMe ─ 規約・法務ページ共通スタイル
   ============================================================ */
:root{
  --color-text:#171329;
  --color-text-secondary:#625d72;
  --line:#ece6f4;
  --pink:#ed2499;
  --purple:#8637f4;
  --gradient-main:linear-gradient(110deg,#ed2499 0%,#a832e9 48%,#4169ff 100%);
  --jp:"Noto Sans JP",sans-serif;
  --mincho:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --en:"Cormorant Garamond",serif;
  --container:900px;
  --header-h:72px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:#fff; color:var(--color-text);
  font-family:var(--jp); font-size:15px; line-height:2;
  -webkit-font-smoothing:antialiased;
}
img{ display:block; max-width:100%; }
a{ color:inherit; }
.wrap{ max-width:var(--container); margin-inline:auto; padding-inline:24px; }

/* header */
.lheader{
  position:sticky; top:0; z-index:50; height:var(--header-h);
  display:flex; align-items:center;
  background:rgba(255,255,255,.94); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.lheader__inner{ width:100%; max-width:1240px; margin-inline:auto; padding-inline:24px; display:flex; align-items:center; gap:20px; }
.lheader__logo img{ height:34px; width:auto; }
.lheader__back{ margin-left:auto; font-size:13px; color:var(--color-text-secondary); text-decoration:none; }
.lheader__back:hover{ color:var(--color-text); }

/* hero */
.lhero{
  padding:64px 0 48px; text-align:center;
  background:linear-gradient(160deg,#fdf6fc 0%,#f8f2fd 55%,#fbf8ff 100%);
  border-bottom:1px solid var(--line);
}
.lhero__en{
  display:block; font-family:var(--en); font-style:italic; font-size:34px; line-height:1.2; margin:0 0 6px;
  background:var(--gradient-main); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.lhero__jp{ margin:0; font-family:var(--mincho); font-size:clamp(24px,3vw,32px); font-weight:700; letter-spacing:.02em; }

/* body */
.lbody{ padding:56px 0 88px; }
.lbody h2{
  margin:48px 0 16px; padding-left:14px; font-family:var(--mincho);
  font-size:19px; font-weight:700; letter-spacing:.02em; border-left:4px solid;
  border-image:var(--gradient-main) 1;
}
.lbody h2:first-child{ margin-top:0; }
.lbody h3{ margin:28px 0 10px; font-size:15.5px; font-weight:700; }
.lbody p{ margin:0 0 16px; font-size:14.5px; color:#3d3752; }
.lbody ul,.lbody ol{ margin:0 0 18px; padding-left:1.4em; }
.lbody li{ margin-bottom:6px; font-size:14.5px; color:#3d3752; }
.lbody small{ display:block; font-size:12.5px; color:var(--color-text-secondary); }

/* 表 */
.ltable{ width:100%; border-collapse:collapse; margin:0 0 24px; }
.ltable th,.ltable td{ padding:16px 18px; border-bottom:1px solid var(--line); font-size:14.5px; text-align:left; vertical-align:top; }
.ltable th{ width:30%; background:#fbf8fd; font-weight:700; white-space:nowrap; }
.ltable td{ color:#3d3752; }
@media (max-width:640px){
  .ltable th,.ltable td{ display:block; width:100%; }
  .ltable th{ border-bottom:0; padding-bottom:6px; }
  .ltable td{ padding-top:0; }
}

/* 補足ボックス */
.lnote{
  margin:0 0 26px; padding:18px 20px; border-radius:12px;
  background:linear-gradient(120deg,#fdeff8,#f3ecff); border:1px solid #f0dcf3;
  font-size:13.5px; line-height:1.95; color:#6e3a7d;
}
.ltodo{
  margin:0 0 26px; padding:18px 20px; border-radius:12px;
  background:#fff8e8; border:1px solid #f2e0b6; font-size:13.5px; line-height:1.95; color:#7a5a1e;
}
.ltodo b{ color:#8a5b00; }
.req{ color:#c0392b; font-weight:700; }

.lupdated{ margin-top:48px; padding-top:20px; border-top:1px solid var(--line); font-size:13px; color:var(--color-text-secondary); }

/* footer */
.lfooter{ padding:40px 0 46px; background:#fdfbff; border-top:1px solid var(--line); }
.lfooter__nav{ display:flex; flex-wrap:wrap; gap:18px; justify-content:center; margin:0 0 18px; }
.lfooter__nav a{ font-size:13px; color:var(--color-text-secondary); text-decoration:none; }
.lfooter__nav a:hover{ color:var(--color-text); }
.lfooter__copy{ margin:0; text-align:center; font-family:var(--en); font-style:italic; font-size:12.5px; color:var(--color-text-secondary); }
