/* ===== beginner.css: 初めての方へ ===== */

.bg-page-title {
  padding: 24px 18px 20px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.bg-page-title-en { font-size: 11px; letter-spacing: 0.3em; color: #b82020; margin-bottom: 6px; }
.bg-page-title-ja { font-size: 24px; font-weight: bold; }
.bg-page-title-desc { font-size: 13px; color: rgba(255,255,255,0.5); margin-top: 8px; line-height: 1.7; }

.bg-section-label {
  padding: 24px 18px 12px;
  font-size: 11px; letter-spacing: 0.2em; color: #b82020; font-weight: bold;
}

/* ===== ステップ ===== */
.bg-steps { padding: 0 18px; }
.bg-step {
  display: flex; gap: 16px;
  padding-bottom: 28px; position: relative;
}
.bg-step:not(.last)::before {
  content: '';
  position: absolute; left: 19px; top: 44px; bottom: 0;
  width: 2px; background: rgba(184,32,32,0.3);
}
.bg-step-num {
  width: 40px; height: 40px; border-radius: 50%;
  background: #b82020;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: bold;
  flex-shrink: 0; position: relative; z-index: 1;
}
.bg-step-num.pre { background: #2a2a10; border: 2px solid #e8c85a; color: #e8c85a; }
.bg-step-body { flex: 1; padding-top: 8px; }
.bg-step-title { font-size: 16px; font-weight: bold; margin-bottom: 8px; }
.bg-step-desc { font-size: 14px; line-height: 1.85; color: rgba(255,255,255,0.65); }
.bg-step-desc strong { color: #fff; }

.bg-tip-box {
  margin-top: 10px;
  background: rgba(232,200,90,0.08);
  border: 1px solid rgba(232,200,90,0.25);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px; color: #e8c85a; line-height: 1.6;
}
.bg-register-btn {
  display: block; margin-top: 12px; padding: 13px;
  background: linear-gradient(135deg, #8a1818, #c82020);
  border-radius: 8px; text-align: center; text-decoration: none;
  color: #fff; font-size: 14px; font-weight: bold; letter-spacing: 0.05em;
}

/* ===== 会員規約 ===== */
.bg-kiyaku-section { margin: 8px 18px 0; }
.bg-kiyaku-box {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px 12px 0 0;
  padding: 18px;
  max-height: 280px;
  overflow-y: auto;
}
.bg-kiyaku-title {
  font-size: 13px; font-weight: bold;
  color: rgba(255,255,255,0.6); letter-spacing: 0.1em; margin-bottom: 12px;
}
.bg-kiyaku-text {
  font-size: 13px; line-height: 2; color: rgba(255,255,255,0.55);
}
.bg-kiyaku-text h4 {
  color: rgba(255,255,255,0.75); font-size: 13px; margin: 14px 0 4px;
}
.bg-kiyaku-agree {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-top: none;
  border-radius: 0 0 12px 12px;
  padding: 16px 18px 20px;
}
.bg-agree-check {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 14px; cursor: pointer; font-size: 14px; color: rgba(255,255,255,0.7);
}
.bg-agree-check input[type="checkbox"] {
  width: 20px; height: 20px; flex-shrink: 0; accent-color: #b82020;
}
.bg-agree-btn {
  display: block; width: 100%; padding: 16px;
  background: linear-gradient(135deg, #8a1818, #c82020);
  border-radius: 10px; text-align: center; text-decoration: none;
  color: #fff; font-size: 16px; font-weight: bold; letter-spacing: 0.08em;
  box-shadow: 0 4px 20px rgba(184,32,32,0.4);
  transition: opacity 0.15s;
}
.bg-agree-btn.disabled {
  background: #333; box-shadow: none; color: rgba(255,255,255,0.3);
  pointer-events: none;
}

/* ===== お問い合わせ ===== */
.bg-contact-section { margin: 24px 18px 32px; text-align: center; }
.bg-contact-desc { font-size: 13px; color: rgba(255,255,255,0.4); margin-bottom: 14px; }
.bg-contact-btns { display: flex; flex-direction: column; gap: 10px; }
.bg-tel-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px; background: linear-gradient(135deg, #8a1818, #c82020);
  border-radius: 10px; text-decoration: none; color: #fff;
  font-size: 15px; font-weight: bold;
}
.bg-tel-label { font-size: 11px; color: rgba(255,255,255,0.6); font-weight: normal; display: block; margin-bottom: 2px; }
