:root {
  --navy: #1c2a3a;
  --navy-2: #26384d;
  --navy-3: #34485f;
  --gold: #c9a070;
  --gold-bright: #d8b786;
  --gold-dark: #a47b4e;
  --trust: #1c2a3a;
  --ink: #1a1a1a;
  --muted: #777;
  --line: #ddd9d2;
  --bg: #f3f2ef;
  --card: #faf9f7;
  --soft: #e8e5df;
  --paper: #faf9f7;
  --cta: #f5f2eb;
  --cta-d: #eee9df;
  --cta-ink: #111;
  --btn: #4a4a4a;
}

body {
  color: var(--ink);
  background: var(--bg);
  font-family: "Noto Sans JP", "Hiragino Sans", system-ui, sans-serif;
}

.lp {
  background: var(--card);
  box-shadow: 0 0 36px rgba(17, 17, 17, 0.08);
}

h1,
h2 {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
}

.hero {
  color: #f5f2eb;
  background: var(--navy);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.hero::after {
  display: none;
}

.kicker {
  color: var(--gold-bright);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(216, 183, 134, 0.65);
  border-radius: 0;
  padding: 0 0 3px;
  font-family: Georgia, serif;
  font-style: italic;
  letter-spacing: 0.06em;
}

.sub {
  color: rgba(245, 242, 235, 0.72);
}

.cta {
  min-height: 48px;
  color: #fff;
  background: var(--btn);
  border: 1px solid var(--btn);
  border-radius: 0;
  box-shadow: none;
  font-size: 15px;
  letter-spacing: 0.04em;
}

.cta:hover {
  background: #333;
  border-color: #333;
  box-shadow: none;
}

.hero .cta,
.closing .cta,
.sticky .cta {
  color: var(--cta-ink);
  background: var(--cta);
  border-color: var(--cta);
}

.hero .cta:hover,
.closing .cta:hover,
.sticky .cta:hover {
  color: var(--cta-ink);
  background: #fff;
  border-color: #fff;
}

.badge {
  color: rgba(245, 242, 235, 0.78);
  background: transparent;
  border: 1px solid rgba(245, 242, 235, 0.25);
  border-radius: 0;
}

.badge i {
  color: var(--gold-bright);
}

.sticky {
  background: rgba(28, 42, 58, 0.96);
  border-top-color: rgba(201, 160, 112, 0.35);
  box-shadow: 0 -6px 18px rgba(17, 17, 17, 0.16);
}

.empathy {
  background: var(--paper);
}

.empathy h2 {
  color: var(--ink);
}

.ul li {
  border-color: var(--line);
}

.ul li i {
  color: var(--gold-dark);
}

.check-wrap {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}

.check-head {
  color: var(--ink);
  background: var(--soft);
  border-bottom: 1px solid var(--line);
}

.check-head h2 {
  color: var(--ink);
}

.check-head p {
  color: var(--muted);
}

.check {
  border-color: var(--line);
}

.box {
  border-color: #aaa;
  border-radius: 0;
}

.check:has(input:checked) .box {
  color: #fff;
  background: var(--btn);
  border-color: var(--btn);
  box-shadow: none;
}

.check:has(input:checked) .box i {
  color: #fff;
}

.check:has(input:checked) .qt {
  color: var(--ink);
}

#result {
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}

.result-top {
  color: var(--ink);
  background: var(--soft);
  border-bottom: 1px solid var(--line);
}

.result-body h3 {
  color: var(--ink);
}

.count-pill {
  color: var(--ink);
  background: rgba(201, 160, 112, 0.16);
  border: 0;
  border-left: 3px solid var(--gold);
  border-radius: 0;
}

.grid {
  gap: 10px;
}

.icard {
  background: var(--card);
  border-color: var(--line);
  border-radius: 0;
  box-shadow: none;
}

.icard .ico {
  color: var(--gold-bright);
  background: var(--navy);
  border-radius: 0;
}

.icard h3 {
  color: var(--ink);
}

.proof {
  background: var(--soft);
  border-left-color: var(--gold);
  border-radius: 0;
}

details {
  background: var(--card);
  border-color: var(--line);
  border-radius: 0;
}

details[open] {
  border-color: var(--black, #111);
}

summary {
  color: var(--ink);
}

summary::after {
  color: var(--gold-dark);
}

.closing {
  color: #fff;
  background: var(--navy);
}

.closing::before {
  display: none;
}

footer {
  color: rgba(245, 242, 235, 0.55);
  background: #111;
}

footer a {
  color: var(--gold-bright);
}

.note {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
  border-radius: 0;
}

@media (max-width: 420px) {
  .hero h1 {
    font-size: 23px;
  }
}
