:root {
  --pr-canvas: #fff6f0;
  --pr-ink: #241a15;
  --pr-muted: #9c8a80;
  --pr-accent: #ff6b4a;
  --pr-accent-dark: #e85a3a;
  --pr-accent-ink: #ffffff;
  --pr-tint: #ffded7;
  --pr-line: #f1e2d8;
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

html {
  position: relative;
  min-height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  background-color: var(--pr-canvas);
  color: var(--pr-ink);
}

a {
  color: var(--pr-accent-dark);
}

/* ヘッダー・ナビゲーション */
.pr-header {
  border-bottom: 1px solid var(--pr-line);
  background-color: #fff;
  box-shadow: 0 0.25rem 0.75rem rgba(36, 26, 21, 0.05);
}

.pr-nav {
  max-width: 960px;
  margin: 0 auto;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
}

.pr-nav__brand {
  font-size: 1.25rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--pr-ink);
  white-space: nowrap;
}

.pr-nav__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pr-nav__links a {
  text-decoration: none;
  color: var(--pr-ink);
}

.pr-nav__links a:hover {
  color: var(--pr-accent-dark);
}

/* メインコンテンツ幅 */
.pr-container {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1rem;
}

main {
  flex: 1;
  padding-bottom: 1rem;
}

/* フッター */
.pr-footer {
  border-top: 1px solid var(--pr-line);
  color: var(--pr-muted);
  text-align: center;
  line-height: 60px;
}

.pr-text-danger {
  color: var(--pr-accent-dark);
}

/* Hero (索引ページ) */
.pr-hero {
  padding: 3rem 1rem 2.5rem;
  text-align: center;
}

.pr-hero__logo {
  margin: 0 0 2rem;
  font-size: 2.75rem;
  font-weight: 700;
  color: var(--pr-ink);
}

.pr-hero__links {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.pr-hero__link {
  display: inline-block;
  min-width: 12rem;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.15s ease;
}

.pr-hero__link:hover {
  opacity: 0.85;
}

.pr-hero__link--primary {
  background-color: var(--pr-accent);
  color: var(--pr-accent-ink);
}

.pr-hero__link--secondary {
  background-color: var(--pr-tint);
  color: var(--pr-ink);
}

/* 利用規約・プライバシーポリシー */
.pr-doc {
  max-width: 42rem;
  margin: 0 auto;
  padding: 2rem 0 3rem;
}

.pr-doc__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pr-muted);
}

.pr-doc__title {
  margin: 0 0 1.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 3px solid var(--pr-accent);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--pr-ink);
}

.pr-doc__section h2 {
  margin: 1.75rem 0 0.5rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--pr-ink);
}

.pr-doc__section p {
  margin: 0;
  line-height: 1.9;
  color: var(--pr-ink);
}
.pr-doc__section p + p,
.pr-doc__section ul + p {
  margin-top: 0.5rem;
}

.pr-doc__section ul {
  margin: 0.5rem 0 0;
  padding-left: 1.5rem;
  line-height: 1.9;
  color: var(--pr-ink);
}

/* .pr-doc__section p の margin: 0 より優先させるため、セクションの中の指定にする */
.pr-doc__section .pr-doc__enacted {
  margin-top: 1.5rem;
  text-align: right;
}
