@charset "UTF-8";
/* ==========================================================
   SBCグループポイントプログラム リニューアルのお知らせ
   /point/renewal-2027/ （2026年12月31日までの掲載予定）
   ========================================================== */
:root {
  --rn-gold: #bba171;
  --rn-gold-dk: #9a8150;
  --rn-gold-lt: #f3ede1;
  --rn-black: #000;
  --rn-dark: #1a1a1a;
  --rn-gray: #6b6b6b;
  --rn-gray-lt: #cacaca;
  --rn-bg: #f7f5f1;
  --rn-border: #e2ddd5;
  --rn-red: #c8102e;
  /* ステータス色（支給PSDの表の配色） */
  --rn-s: #a7a6c6;
  --rn-s-bg: #f4f4f7;
  --rn-lg: #e3c96f;
  --rn-lg-bg: #faf6e8;
  --rn-g: #c9a26b;
  --rn-g-bg: #f8f3ea;
  --rn-d: #5ccdf2;
  --rn-d-bg: #eef9fd;
  --rn-pd: #6b8dfc;
  --rn-pd-bg: #f1f2fd;
}

.rn-pc { display: inline; }
@media screen and (max-width: 767px) {
  .rn-pc { display: none; }
}

/* ---------- FV（写真なし版） ---------- */
.rn-fv {
  background: linear-gradient(160deg, #1a1a1a 0%, #2e2520 100%);
}
.rn-fv__inner {
  position: relative;
  overflow: hidden;
}
.rn-fv__inner::before,
.rn-fv__inner::after {
  content: "";
  position: absolute;
  left: 50%;
  width: min(980px, calc(100% - 32px));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, var(--rn-gold) 20%, var(--rn-gold) 80%, transparent);
  opacity: .6;
}
.rn-fv__inner::before { top: 28px; }
.rn-fv__inner::after { bottom: 28px; }
.rn-fv__content {
  position: static;
  padding: 88px 16px 76px;
  text-align: center;
}
.rn-fv .firstviewContent__Subtitle {
  font-family: "myriad-pro", "Noto Sans JP", sans-serif;
  letter-spacing: .25em;
}
.rn-fv__title {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
  margin-bottom: 24px;
}
.rn-fv__date {
  display: inline-block;
  margin: 0 0 28px;
  padding: 6px 48px 8px;
  border-top: 1px solid var(--rn-gold);
  border-bottom: 1px solid var(--rn-gold);
  color: var(--rn-gold);
  font-size: 34px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.3;
}
.rn-fv__date small {
  display: inline;
  font-size: 22px;
  margin: 0 2px;
}
.rn-fv__text {
  max-width: 900px;
  margin: 0 auto;
  font-size: 15px !important;
  line-height: 2;
  letter-spacing: .03em;
  color: rgba(255, 255, 255, .9) !important;
}
@media screen and (max-width: 767px) {
  .rn-fv__inner::before { top: 16px; }
  .rn-fv__inner::after { bottom: 16px; }
  .rn-fv__content { padding: 48px 20px 52px; }
  .rn-fv__title { font-size: 20px; letter-spacing: .02em; margin-bottom: 18px; }
  .rn-fv__date { font-size: 24px; padding: 4px 28px 6px; margin-bottom: 20px; }
  .rn-fv__date small { font-size: 16px; }
  .rn-fv__text { font-size: 13px !important; line-height: 1.9; text-align: left !important; }
}

/* ---------- 共通 ---------- */
.rn-main {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  color: var(--rn-dark);
  line-height: 1.7;
}
.rn-main *,
.rn-main *::before,
.rn-main *::after { box-sizing: border-box; }
.rn-main img { max-width: 100%; height: auto; vertical-align: bottom; }
:where(.rn-main) :where(p, dl, dd, ul, ol, h3) { margin: 0; padding: 0; }
:where(.rn-main) li { list-style: none; }
.rn-main small, .rn-fv small { display: inline; }
.rn-main em { font-style: normal; color: var(--rn-red); font-weight: 700; }

.rn-sec { padding: 96px 0; }
.rn-sec--bg { background: var(--rn-bg); }
.rn-inner { max-width: 932px; margin: 0 auto; padding: 0 16px; }

.rn-ttl {
  margin: 0 0 32px;
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.4;
}
.rn-ttl::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  margin: 18px auto 0;
  background: var(--rn-gold);
}
.rn-ttl__en {
  display: block;
  margin-bottom: 6px;
  color: var(--rn-gold);
  font-family: "myriad-pro", "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .25em;
}
.rn-lead { margin-bottom: 40px; text-align: center; font-size: 15px; }
.rn-lead--left { text-align: left; }
.rn-lead strong { background: linear-gradient(transparent 60%, var(--rn-gold-lt) 60%); }
.rn-note { margin-top: 12px; font-size: 12px; color: var(--rn-gray); }
.rn-scroll-hint { display: none; margin-bottom: 8px; text-align: center; font-size: 11px; color: var(--rn-gray); }
.rn-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.rn-btn-wrap { margin-top: 56px; text-align: center; }
.rn-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 360px;
  min-height: 56px;
  padding: 12px 48px;
  border-radius: 999px;
  background: var(--rn-black);
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none !important;
  transition: opacity .3s;
}
.rn-btn::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid var(--rn-gold);
  border-right: 2px solid var(--rn-gold);
  transform: translateY(-50%) rotate(45deg);
}
.rn-btn:hover { opacity: .75; }

@media screen and (max-width: 767px) {
  .rn-sec { padding: 64px 0; }
  .rn-ttl { font-size: 22px; margin-bottom: 24px; }
  .rn-lead { font-size: 14px; margin-bottom: 28px; text-align: left; }
  .rn-scroll-hint { display: block; }
  .rn-btn-wrap { margin-top: 40px; }
  .rn-btn { min-width: 0; width: 100%; font-size: 14px; }
}

/* ---------- 主な3つの変更点 ---------- */
.rn-changes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rn-changes__item {
  position: relative;
  padding: 40px 24px 28px;
  border: 1px solid var(--rn-border);
  border-top: 3px solid var(--rn-gold);
  background: #fff;
  text-align: center;
}
.rn-changes__num {
  position: absolute;
  top: 14px;
  left: 16px;
  color: var(--rn-gold);
  font-family: "myriad-pro", "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .05em;
}
.rn-changes__icon { display: block; width: auto; height: 52px; margin: 0 auto 16px; object-fit: contain; }
.rn-changes__head { margin: 0 0 6px; font-size: 16px; font-weight: 700; }
.rn-changes__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--rn-border);
  font-weight: 700;
}
.rn-changes__arrow .-before { color: var(--rn-gray); font-size: 18px; }
.rn-changes__arrow .-before::after { content: "→"; margin-left: 10px; color: var(--rn-gold); }
.rn-changes__arrow .-after { color: var(--rn-gold-dk); font-size: 28px; line-height: 1.2; }
.rn-changes__text { text-align: left; font-size: 14px; }
.rn-changes__text strong { display: block; margin-bottom: 6px; color: var(--rn-red); }
.rn-changes__note { margin-top: 10px !important; padding-top: 10px !important; border-top: 1px dashed var(--rn-border); text-align: left; font-size: 12px; color: var(--rn-gray); line-height: 1.6; }
@media screen and (max-width: 767px) {
  .rn-changes { grid-template-columns: 1fr; gap: 16px; }
}

/* ---------- 新旧ポイントプログラム表 ---------- */
.rn-program { margin-bottom: 64px; }
.rn-program__period {
  display: table;
  margin: 0 auto 10px !important;
  padding: 3px 28px !important;
  border: 1px solid var(--rn-dark);
  font-size: 14px;
  font-weight: 700;
}
.rn-program__ttl { margin: 0 0 24px; text-align: center; font-size: 26px; font-weight: 700; }
.rn-program__ttl em { color: var(--rn-red); }
.rn-program__ttl small { margin-left: 10px; font-size: 16px; }

.rn-table {
  width: 100%;
  min-width: 860px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
  text-align: center;
  table-layout: fixed;
}
.rn-table th,
.rn-table td { padding: 14px 6px; border-bottom: 1px dashed var(--rn-gray-lt); vertical-align: middle; text-align: center; }
.rn-table tbody th { width: 130px; background: #fff; font-weight: 700; border-left: 2px solid var(--rn-dark); }
.rn-table tbody tr:last-child th,
.rn-table tbody tr:last-child td { border-bottom: 2px solid var(--rn-dark); }
.rn-table tbody td:last-child { border-right: 2px solid var(--rn-dark); }
.rn-table tbody td { border-left: 1px solid var(--rn-gray-lt); }
.rn-table__badges td { position: relative; padding: 0 0 10px; border: 0; }
.rn-table__badges img { display: block; width: 60px; margin: 0 auto; }
.rn-table__head th {
  padding: 16px 6px;
  border-top: 2px solid var(--rn-dark);
  border-bottom: 0;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
}
.rn-table__head th:first-child { width: 130px; border-left: 2px solid var(--rn-dark); background: #fff; color: var(--rn-dark); }
.rn-table__head th:last-child { border-right: 2px solid var(--rn-dark); }
.rn-table__head th:not(:first-child) { border-left: 1px solid rgba(255,255,255,.6); }
.rn-table .-s { --c: var(--rn-s); --cb: var(--rn-s-bg); }
.rn-table .-lg { --c: var(--rn-lg); --cb: var(--rn-lg-bg); }
.rn-table .-g { --c: var(--rn-g); --cb: var(--rn-g-bg); }
.rn-table .-d { --c: var(--rn-d); --cb: var(--rn-d-bg); }
.rn-table .-pd { --c: var(--rn-pd); --cb: var(--rn-pd-bg); }
.rn-table__head th[class] { background: var(--c); }
.rn-table--new tbody td[class] { background: var(--cb); }
.rn-table--new .rn-big { color: color-mix(in srgb, var(--c) 78%, #000); font-size: 20px; font-weight: 700; }
.rn-table--new td em { color: var(--rn-red); }
.rn-table sup { font-size: 9px; font-weight: 400; }
.rn-table .rn-list { text-align: left; padding-left: 12px; font-size: 13px; }
.rn-new {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 1px 10px;
  border-radius: 999px;
  background: var(--rn-red);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.rn-table--new thead tr.rn-table__badges td { padding-top: 26px; }

.rn-table--current { min-width: 680px; }
.rn-table--current tbody th { width: 180px; }
.rn-table--current .rn-table__head th:first-child { width: 180px; }
.rn-table--current .-gold { color: var(--rn-gold-dk); font-size: 24px; font-weight: 700; }
.rn-table--current .-gold small { font-size: 13px; margin-left: 2px; }

.rn-box {
  margin-top: 24px;
  padding: 20px 16px;
  background: #fff;
  border: 1px solid var(--rn-border);
  text-align: center;
  font-size: 14px;
}
.rn-box__strong { margin-bottom: 6px !important; color: var(--rn-red); font-size: 16px; font-weight: 700; }

.rn-notes {
  display: grid;
  grid-template-columns: 3.2em 1fr;
  gap: 6px 4px;
  margin-top: 24px !important;
  font-size: 12px;
  color: var(--rn-gray);
}
.rn-notes dt { font-weight: 400; }

@media screen and (max-width: 767px) {
  .rn-program { margin-bottom: 48px; }
  .rn-program__ttl { font-size: 20px; }
  .rn-program__ttl small { font-size: 13px; }
  .rn-table { font-size: 12px; }
  .rn-table--new .rn-big { font-size: 16px; }
  .rn-box { text-align: left; font-size: 13px; }
  .rn-box__strong { font-size: 14px; }
}

/* ---------- ステータス保証 ---------- */
.rn-guarantee { padding: 48px 40px; background: #fff; border: 1px solid var(--rn-border); }
.rn-guarantee__ttl { margin: 0 0 32px; text-align: center; font-size: 20px; font-weight: 700; line-height: 1.6; }
.rn-guarantee__map {
  display: grid;
  grid-template-columns: 1fr 80px 1fr;
  max-width: 640px;
  margin: 0 auto 40px;
}
.rn-guarantee__head {
  margin-bottom: 16px !important;
  padding: 10px !important;
  background: var(--rn-gold-lt);
  text-align: center;
  font-weight: 700;
}
.rn-guarantee__head small { display: block; font-size: 12px; font-weight: 400; }
.rn-guarantee__col li {
  margin-bottom: 12px;
  padding: 10px;
  border-radius: 999px;
  color: #fff;
  text-align: center;
  font-weight: 700;
}
.rn-guarantee__col li.-d { background: var(--rn-d); }
.rn-guarantee__col li.-g { background: var(--rn-g); }
.rn-guarantee__col li.-s { background: var(--rn-s); }
.rn-guarantee__arrows { display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 12px; gap: 12px; }
.rn-guarantee__arrows span { position: relative; height: 44px; }
.rn-guarantee__arrows span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 14px;
  right: 18px;
  height: 2px;
  background: var(--rn-gold);
}
.rn-guarantee__arrows span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--rn-gold);
  border-right: 2px solid var(--rn-gold);
  transform: translateY(-50%) rotate(45deg);
}
.rn-points dt {
  position: relative;
  margin-top: 20px;
  padding-left: 16px;
  font-weight: 700;
}
.rn-points dt:first-child { margin-top: 0; }
.rn-points dt::before {
  content: "";
  position: absolute;
  top: .25em;
  left: 0;
  width: 4px;
  height: 1.2em;
  background: var(--rn-gold);
}
.rn-points dd { padding-left: 16px; font-size: 14px; }
#assessment .rn-points { margin-top: 48px; }
@media screen and (max-width: 767px) {
  .rn-guarantee { padding: 32px 16px; }
  .rn-guarantee__ttl { font-size: 16px; text-align: left; }
  .rn-guarantee__map { grid-template-columns: 1fr 36px 1fr; font-size: 13px; }
  .rn-guarantee__head { display: flex; flex-direction: column; justify-content: center; height: 96px; font-size: 13px; line-height: 1.4; }
  .rn-guarantee__head small { font-size: 11px; }
  .rn-guarantee__arrows span::before { left: 4px; right: 8px; }
  .rn-guarantee__arrows span::after { right: 6px; }
}

/* ---------- ステータスの決まり方（年次フロー） ---------- */
.rn-flow {
  position: relative;
  min-width: 860px;
  padding: 0 0 8px;
}
.rn-flow__years,
.rn-flow__row { display: grid; grid-template-columns: 160px repeat(3, 1fr); gap: 0 28px; align-items: stretch; }
.rn-flow__years { margin-bottom: 12px; text-align: center; font-weight: 700; font-size: 18px; }
.rn-flow__years small { display: block; font-size: 12px; color: var(--rn-gold-dk); }
.rn-flow__years span { align-self: end; }
.rn-flow__row { margin-bottom: 14px; }
.rn-flow__label {
  padding: 10px 8px !important;
  border: 1px solid var(--rn-border);
  background: #fff;
  font-weight: 700;
  font-size: 14px;
  text-align: center;
  line-height: 1.4;
}
.rn-flow__label small { display: block; font-size: 11px; font-weight: 400; color: var(--rn-gray); }
.rn-flow__cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px !important;
  border: 1px solid var(--rn-gold);
  background: #fff;
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
}
.rn-flow__cell strong { display: block; font-size: 14px; color: var(--rn-gold-dk); }
.rn-flow__cell.-dark { background: var(--rn-dark); border-color: var(--rn-dark); color: #fff; font-weight: 700; font-size: 13px; }
.rn-flow__cell.-wide { grid-column: 2 / 5; }
.rn-flow__cell.-up { border: 2px solid var(--rn-red); color: var(--rn-red); font-weight: 700; font-size: 14px; }
.rn-flow__cell.-up::after { content: " ▲"; }
.rn-flow__cell.-empty { border: 0; background: none; }
.rn-flow__cell.-down { border: 2px solid var(--rn-dark); font-weight: 700; font-size: 14px; }
.rn-flow__cell.-down::after { content: " ▼"; }
.rn-flow__review {
  position: absolute;
  top: 18px;
  padding: 2px 8px !important;
  border: 1px solid var(--rn-dark);
  border-radius: 6px;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  transform: translateX(-50%);
}
/* 列境界：label160 + gap28 + 1列 = (100% - 160 - 84) / 3 */
.rn-flow__review--1 { left: calc(160px + 28px + (100% - 244px) / 3 + 14px); }
.rn-flow__review--2 { left: calc(160px + 56px + (100% - 244px) / 3 * 2 + 14px); }

/* ---------- 例：Aさまのタイムライン ---------- */
.rn-example { margin-top: 56px; padding: 32px 24px; border: 2px solid var(--rn-dark); background: #fff; }
.rn-example__ttl { margin-bottom: 20px !important; text-align: center; font-weight: 700; font-size: 16px; }
.rn-example__ttl span { display: inline-block; margin-left: 12px; padding: 2px 12px; border-radius: 999px; background: var(--rn-bg); font-size: 13px; }
.rn-timeline { position: relative; min-width: 820px; --mw: calc(100% / 24); }
.rn-timeline__years { display: grid; grid-template-columns: 1fr 1fr; background: var(--rn-lg-bg); font-size: 13px; }
.rn-timeline__years span { padding: 6px 12px; border-left: 2px solid var(--rn-dark); }
.rn-timeline__years span:first-child { border-left: 0; }
.rn-timeline__years b { margin-right: 10px; padding: 0 8px; background: #fff; }
.rn-timeline__months { display: grid; grid-template-columns: repeat(24, 1fr); padding: 8px 0 !important; font-size: 11px; text-align: center; color: var(--rn-gray); }
.rn-timeline__visits { position: relative; height: 26px; }
.rn-timeline__visits span {
  position: absolute;
  top: 6px;
  left: calc(var(--mw) * (var(--m) - 1) + var(--mw) / 2);
  width: 12px;
  height: 12px;
  margin-left: -6px;
  border-radius: 50%;
  background: var(--rn-lg);
  background: color-mix(in srgb, var(--rn-lg) 80%, #000);
}
.rn-timeline__up { position: absolute; top: 2px; left: calc(var(--mw) * 6); font-size: 12px; color: var(--rn-red) !important; }
.rn-timeline__keep { position: absolute; top: 2px; left: calc(50% + 12px); font-size: 12px; color: var(--rn-red) !important; }
.rn-timeline__callout {
  display: inline-block;
  margin: 2px 0 6px calc(var(--mw) * 3) !important;
  padding: 4px 10px !important;
  border: 1px solid var(--rn-red);
  color: var(--rn-red);
  font-size: 11px;
  line-height: 1.4;
  text-align: center;
}
.rn-timeline__legend { margin-bottom: 8px !important; font-size: 11px; color: var(--rn-gray); }
.rn-timeline__bars { display: grid; grid-template-columns: 5.5fr 6.5fr 12fr; border: 1px solid var(--rn-border); }
.rn-timeline__bars p { display: flex; align-items: center; gap: 8px; padding: 8px 10px !important; font-weight: 700; font-size: 13px; }
.rn-timeline__bars p + p { border-left: 1px solid var(--rn-border); }
.rn-timeline__bars p.-lg { background: var(--rn-lg-bg); }
.rn-timeline__bars p.-g1, .rn-timeline__bars p.-g2 { background: var(--rn-g-bg); }
.rn-timeline__bars p.-g2 { border-left: 2px solid var(--rn-dark); }
.rn-timeline__bars img { width: 30px; }
.rn-timeline__bars small { display: block; font-size: 11px; font-weight: 400; color: var(--rn-gray); }
.rn-timeline__periods { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-top: 10px; font-size: 12px; text-align: center; }
.rn-timeline__periods span { padding: 4px; background: var(--rn-bg); }
.rn-timeline__periods b { padding: 2px 8px; border: 1px solid var(--rn-dark); border-radius: 6px; font-size: 11px; line-height: 1.3; }
.rn-example__summary { margin-top: 20px !important; padding: 16px !important; background: var(--rn-lg-bg); text-align: center; font-weight: 700; font-size: 15px; }
@media screen and (max-width: 767px) {
  .rn-example { padding: 24px 12px; }
  .rn-example__ttl { font-size: 14px; }
  .rn-example__ttl span { display: table; margin: 8px auto 0; }
  .rn-example__summary { text-align: left; font-size: 13px; }
}

/* ---------- お誕生日ポイント ---------- */
.rn-bday { min-width: 820px; background: #fff; border: 1px solid var(--rn-border); }
.rn-bday__head { display: grid; grid-template-columns: 25% 75%; }
.rn-bday__head p { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; padding: 14px 8px !important; font-weight: 700; font-size: 14px; line-height: 1.4; }
.rn-bday__head p span { white-space: nowrap; padding: 4px 10px; background: #fff; border-radius: 4px; font-size: 11px; font-weight: 400; }
.rn-bday__head .-old { background: var(--rn-gray-lt); }
.rn-bday__head .-new { background: var(--rn-gold); color: #fff; }
.rn-bday__head .-new span { color: var(--rn-gold-dk); }
.rn-bday__months { display: grid; grid-template-columns: repeat(4, 1fr); padding: 8px 0 !important; font-size: 12px; text-align: center; color: var(--rn-gray); background: linear-gradient(90deg, #f2f2f2 25%, var(--rn-lg-bg) 25%); }
.rn-bday__rows { position: relative; padding: 8px 0 16px; background: linear-gradient(90deg, #f7f7f7 25%, #fdfaf3 25%); }
.rn-bday__row { position: relative; height: 96px; }
.rn-bday__row.-old { --c: #555; }
.rn-bday__row.-border { --c: var(--rn-red); }
.rn-bday__row.-new { --c: var(--rn-gold-dk); }
.rn-bday__line {
  position: absolute;
  top: 14px;
  left: var(--from);
  width: calc(var(--to) - var(--from));
  padding-bottom: 4px;
  border-bottom: 2px solid var(--c);
  color: var(--c);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.rn-bday__from,
.rn-bday__to {
  position: absolute;
  top: 44px;
  transform: translateX(-50%);
  color: var(--c);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}
.rn-bday__from { left: var(--from); }
.rn-bday__to { left: var(--to); }
.rn-bday__from::before,
.rn-bday__to::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 50%;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  border: 2px solid var(--c);
  border-radius: 50%;
  background: #fff;
}
.rn-bday__to::before { background: var(--c); }
.rn-bday__box { margin: 0 16px; padding: 16px !important; background: #fff; border: 1px solid var(--rn-border); text-align: center; font-size: 13px; }
.rn-bday__strong { font-size: 16px; font-weight: 700; }
.rn-bday__note { padding: 12px 16px 16px !important; font-size: 11px; color: var(--rn-gray); text-align: center; }

/* ---------- よくある質問 ---------- */
.rn-faq dt {
  position: relative;
  margin-top: 16px;
  padding: 16px 16px 16px 56px;
  background: var(--rn-dark);
  color: #fff;
  font-weight: 700;
}
.rn-faq dt:first-child { margin-top: 0; }
.rn-faq dd {
  position: relative;
  padding: 16px 16px 20px 56px !important;
  border: 1px solid var(--rn-border);
  border-top: 0;
  background: #fff;
  font-size: 14px;
}
.rn-faq dt::before,
.rn-faq dd::before {
  position: absolute;
  top: 13px;
  left: 16px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-family: "myriad-pro", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 28px;
  text-align: center;
}
.rn-faq dt::before { content: "Q"; background: var(--rn-gold); color: #fff; }
.rn-faq dd::before { content: "A"; border: 1px solid var(--rn-gold); color: var(--rn-gold-dk); line-height: 26px; }
@media screen and (max-width: 767px) {
  .rn-faq dt { padding: 14px 12px 14px 50px; font-size: 14px; }
  .rn-faq dd { padding: 14px 12px 16px 50px !important; font-size: 13px; }
  .rn-faq dt::before, .rn-faq dd::before { left: 12px; }
}
