/* NIKORI：明るい白に、ピンク・オレンジ・青緑のポップな差し色。こわくない、にこっとする歯医者さん */
:root {
  --bg: #fffdfb;
  --surface: #ffffff;
  --surface-2: #fff4f2;
  --ink: #3a2e33;
  --muted: #8f8088;
  --line: #f3e6e8;
  --accent: #ff5c8a;      /* ピンク */
  --accent-ink: #ffffff;
  --hot: #ff7a1a;
  --ok: #18b6b0;
  --badge: #ff7a1a;
  --pmark: linear-gradient(135deg, #ff5c8a, #ff9a1f);
  --side-dark: #3a2e33;
  --side-ink: #3a2e33;
  --side-pill: #ffffff;
  --human-bg: #fff2f6;
  --human-line: #ffb3c8;
  --human-node: #ffd1de;
  --bar-ink: #ffd1de;
  --radius: 20px;
  --font: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  --font-head: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif;
  /* 白地に、色とりどりの丸と、ピンク→オレンジの帯 */
  --side:
    linear-gradient(135deg, #ff5c8a, #ff9a1f) 0 0 / 100% 8px no-repeat,
    radial-gradient(circle at 20% 18%, rgba(255, 92, 138, .18) 0 26px, transparent 27px),
    radial-gradient(circle at 86% 38%, rgba(24, 182, 176, .16) 0 34px, transparent 35px),
    radial-gradient(circle at 12% 70%, rgba(255, 154, 31, .18) 0 30px, transparent 31px),
    radial-gradient(circle at 80% 88%, rgba(91, 141, 239, .14) 0 24px, transparent 25px),
    #ffffff;
}
body.resident { background: radial-gradient(40% 30% at 95% 0%, rgba(255, 154, 31, .12), transparent 70%), radial-gradient(40% 40% at 70% 100%, rgba(24, 182, 176, .08), transparent 70%), var(--bg); background-attachment: fixed; }
.r-side { box-shadow: 0 0 0 1px #f3e6e8, 0 24px 50px -20px rgba(255, 92, 138, .35); }
.r-ptag { border: 0; background: linear-gradient(135deg, #ff5c8a, #ff9a1f); color: #fff; font-weight: 800; letter-spacing: .1em; }
.r-menu a.on { background: linear-gradient(135deg, #fff0f4, #fff5ea); color: #e2336a; box-shadow: inset 3px 0 0 #ff5c8a, 0 8px 18px -10px rgba(255, 92, 138, .5); }
.r-menu a:hover { background: #fff4f2; }
.r-pill { box-shadow: 0 0 0 1px #f3e6e8, 0 6px 14px -8px rgba(255, 92, 138, .4); }
.r-pill.dark { background: linear-gradient(135deg, #18b6b0, #5b8def); color: #fff; }
.r-head h1 { font-weight: 800; }
.r-head h1::after { content: ""; display: block; width: 64px; height: 6px; margin-top: 6px; border-radius: 99px; background: linear-gradient(90deg, #ff5c8a, #ff9a1f, #18b6b0); }
.r-btn.primary { background: linear-gradient(135deg, #ff5c8a, #ff7a1a); }
.r-card h3 .ic, .r-note .ic { color: #ff7a1a; }
.r-kic { background: linear-gradient(135deg, #fff0f4, #fff5ea); color: #ff5c8a; }
.r-chat-head { background: linear-gradient(135deg, #ff5c8a, #ff9a1f); color: #fff; }
.r-chat-head b { color: #fff; }
