/* LP（static/ のデザイン）とトンマナを合わせた下層ページ共通スタイル：/about/ /terms/ /thanks/ */
:root {
  --plum: #7a3b58; --plum-deep: #4f2337; --peach: #fbe6da; --peach-deep: #f3c9b0;
  --cream: #fffaf5; --ink: #3c2b30; --ink-soft: #8a767b; --coral: #e2836a;
  --gold: #cda45e; --gold-deep: #a97f3c; --white: #ffffff;
  --maxw: 1080px;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: "Noto Sans JP", sans-serif; line-height: 1.85; font-size: 15.5px; }
a { color: var(--plum); }
.round { font-family: "Zen Maru Gothic", sans-serif; }

header.site { position: sticky; top: 0; z-index: 50; background: rgba(255, 250, 245, .92); backdrop-filter: blur(6px); border-bottom: 1px solid rgba(79, 35, 55, .06); }
.site-inner { max-width: var(--maxw); margin: 0 auto; padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.logo { font-family: "Zen Maru Gothic", sans-serif; font-weight: 900; font-size: 18px; color: var(--plum-deep); text-decoration: none; white-space: nowrap; }
.logo span { color: var(--coral); font-size: 12px; font-weight: 500; }
.logo-home { color: inherit; text-decoration: none; }
.logo .crumb { margin-left: 6px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 22px; border-radius: 999px; font-weight: 700; font-size: 14px; text-decoration: none; white-space: nowrap; }
.btn-primary { background: linear-gradient(135deg, var(--coral), #d6684f); color: #fff; box-shadow: 0 8px 20px rgba(194, 90, 63, .3); }
.btn-gold { background: linear-gradient(135deg, #e7c883, var(--gold-deep)); color: #3c2b1c; box-shadow: 0 8px 20px rgba(169, 127, 60, .3); }
.site .btn { padding: 9px 16px; font-size: 13px; }
@media (max-width: 480px) { .site .btn { padding: 8px 12px; font-size: 12px; } .logo .crumb { display: none; } }

main.page { max-width: 760px; margin: 0 auto; padding: 48px 24px 72px; }
.kicker { display: inline-block; color: var(--coral); font-weight: 700; font-size: 13px; margin-bottom: 6px; }
main.page h1 { font-family: "Zen Maru Gothic", sans-serif; font-weight: 900; color: var(--plum-deep); font-size: 28px; line-height: 1.5; margin: 0 0 24px; }
main.page h2 { font-family: "Zen Maru Gothic", sans-serif; color: var(--plum-deep); font-size: 18px; margin: 40px 0 12px; padding-bottom: 6px; border-bottom: 2px solid var(--peach); }
.card { background: var(--white); border-radius: 20px; padding: 28px; box-shadow: 0 10px 28px rgba(122, 59, 88, .08); }
@media (max-width: 480px) { main.page { padding: 32px 16px 56px; } main.page h1 { font-size: 23px; } .card { padding: 20px; } }
main.page ol, main.page ul { padding-left: 1.4em; }
main.page li { margin: 4px 0; }
main.page table { border-collapse: collapse; margin: 8px 0; }
main.page th, main.page td { border: 1px solid var(--peach-deep); padding: 6px 12px; text-align: left; }
main.page dl { display: grid; grid-template-columns: max-content 1fr; gap: 10px 24px; margin: 0; }
main.page dt { color: var(--ink-soft); font-weight: 700; }
main.page dd { margin: 0; }
@media (max-width: 480px) { main.page dl { grid-template-columns: 1fr; gap: 2px; } main.page dd { margin-bottom: 12px; } }
.meta { color: var(--ink-soft); font-size: 14px; }

footer.sub { background: linear-gradient(160deg, var(--plum-deep), var(--plum) 75%); color: #e6cfd9; padding: 48px 24px 28px; text-align: center; }
footer.sub .foot-title { font-family: "Zen Maru Gothic", sans-serif; color: #fff; font-size: 19px; margin: 0 0 18px; }
footer.sub .foot-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 28px; }
footer.sub .legal-links { font-size: 12px; border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 18px; max-width: var(--maxw); margin: 0 auto; }
footer.sub .legal-links a { color: #e6cfd9; }
footer.sub .copy { font-size: 11px; color: #b79aa5; margin-top: 8px; }
