/* 天界の金運鑑定 — 共通スタイル */
:root {
  --bg: #faf7f0;
  --ink: #3a3330;
  --primary: #5b4a8a;   /* 紫峰の紫 */
  --primary-dark: #453770;
  --gold: #b8963e;
  --gold-light: #d9c48a;
  --card: #ffffff;
  --line-green: #06c755;
  --muted: #7a716b;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  background: var(--bg);
  color: var(--ink);
  line-height: 1.9;
  font-size: 17px;
}

.wrap { max-width: 760px; margin: 0 auto; padding: 0 20px; }

/* ヘッダー */
header {
  background: linear-gradient(160deg, var(--primary-dark), var(--primary));
  color: #fff;
  padding: 14px 0;
}
header .wrap { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.site-title { font-size: 1.15rem; font-weight: 700; letter-spacing: .06em; }
.site-title a { color: #fff; text-decoration: none; }
nav a {
  color: #e9e4f5;
  text-decoration: none;
  font-size: .82rem;
  margin-left: 14px;
}
nav a:hover { color: var(--gold-light); }

/* ヒーロー */
.hero {
  background: linear-gradient(160deg, var(--primary-dark), var(--primary));
  color: #fff;
  text-align: center;
  padding: 56px 20px 64px;
}
.hero h1 {
  font-size: 1.9rem;
  letter-spacing: .12em;
  margin-bottom: 18px;
  font-weight: 700;
}
.hero p { max-width: 560px; margin: 0 auto 10px; color: #efeaf8; font-size: .98rem; }
.hero .accent { color: var(--gold-light); }

/* セクション */
main { padding: 48px 0 64px; }
section { margin-bottom: 52px; }
h2 {
  font-size: 1.35rem;
  color: var(--primary-dark);
  letter-spacing: .1em;
  border-bottom: 2px solid var(--gold);
  padding-bottom: 8px;
  margin-bottom: 22px;
}
h3 { font-size: 1.05rem; color: var(--primary-dark); margin: 22px 0 8px; }
p { margin-bottom: 14px; }
ul, ol { margin: 0 0 14px 1.4em; }
li { margin-bottom: 6px; }

.card {
  background: var(--card);
  border: 1px solid #eee5d8;
  border-radius: 10px;
  padding: 24px 26px;
  margin-bottom: 18px;
}

/* 手順 */
.steps { counter-reset: step; list-style: none; margin-left: 0; }
.steps li {
  position: relative;
  padding-left: 52px;
  margin-bottom: 18px;
}
.steps li::before {
  counter-increment: step;
  content: counter(step);
  position: absolute;
  left: 0; top: 2px;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-family: sans-serif;
}

/* テーブル（会社概要・特商法） */
table.info { width: 100%; border-collapse: collapse; background: var(--card); }
table.info th, table.info td {
  border: 1px solid #e5dccb;
  padding: 13px 16px;
  text-align: left;
  vertical-align: top;
  font-size: .95rem;
}
table.info th {
  background: #f3eee2;
  width: 32%;
  font-weight: 600;
  color: var(--primary-dark);
}
@media (max-width: 560px) {
  table.info th, table.info td { display: block; width: 100%; border-top: none; }
  table.info tr th { border-top: 1px solid #e5dccb; }
}

/* CTA */
.cta { text-align: center; margin: 36px 0; }
.btn-line {
  display: inline-block;
  background: var(--line-green);
  color: #fff;
  text-decoration: none;
  font-family: sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 16px 44px;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(6,199,85,.35);
}
.btn-line:hover { opacity: .9; }
.cta .note { font-size: .8rem; color: var(--muted); margin-top: 10px; }

/* 注意書き */
.disclaimer {
  font-size: .82rem;
  color: var(--muted);
  background: #f3eee2;
  border-radius: 8px;
  padding: 14px 18px;
}

/* フッター */
footer {
  background: var(--primary-dark);
  color: #cfc7e2;
  padding: 28px 0 34px;
  font-size: .82rem;
  text-align: center;
}
footer a { color: #e9e4f5; text-decoration: none; margin: 0 10px; }
footer a:hover { color: var(--gold-light); }
footer .copy { margin-top: 14px; color: #a89dc6; }
