@charset "UTF-8";

/* ======================================================= */
/* 文字色と文字の大きさ（新ユーティリティクラス　20251019ChatGPT） */
/* ======================================================= */
/* ▼ここから：文章用ベース */
:root{
  --c-text:#222;
  --c-sub:#555;
  --c-key:#0b5cab;        /* 見出しや強調トーン */
  --c-warm:#8a4b2a;       /* “あたたかみ”の差し色（任意） */
  --c-link:#0b5cab;
  --c-link-visited:#6a2fb5;
  --c-line:#dfe3eb;
  --c-bg-note:#fff8e7;    /* ノート枠の背景 */
  --c-bg-warn:#fff0f0;    /* 注意枠の背景 */
}

/* 本文ブロック（ページの本文に付与） */
.prose{
  font-size: clamp(15px, 1.6vw, 17px);
  line-height : 1.8;
  color: var(--c-text);
}
.prose p{
	margin: .8em 0;
}
.prose > *:first-child{
	margin-top: 0;
}
.prose > *:last-child{
	margin-bottom: 0;
}

/* 見出し（本文内） */
.prose h2{
	font-size: clamp(20px, 2.2vw, 24px); margin : 1.6em 0px 0.2em; color: var(--c-key);
  color : maroon;
}
.prose h3{
	font-size: clamp(18px, 2vw, 20px);  margin : 1em 0px 0.5em; color: var(--c-key);
}

/* リンク */
.prose a{
	color: var(--c-link); font-weight: 600; text-decoration: underline;
}
.prose a:visited{ color: var(--c-link-visited); }

/* リスト */
.prose ul, .prose ol{
	margin: .8em 0 .8em 1.3em;
}
.prose li{
	margin: .3em 0;
}
/* ▲ここまで：文章用ベース */

/* ▼ここから：段落トーン & サイズ */
.prose .lead{
	font-size: clamp(17px, 1.9vw, 19px); line-height: 1.9; font-weight: 600;
}
.prose .small{
	font-size: .92em; color: var(--c-sub);
}
.prose .muted{ color: var(--c-sub); }

/* 強調（意味＋見た目の両立） */
.prose strong{
	font-weight: 700;
}
.prose em{
	font-style: normal; background: linear-gradient(transparent 70%, rgba(255,230,0,.6) 0);
}

/* 暖色の強調（BtoC向けの“あたたかみ”） */
.prose .warm{
	color: var(--c-warm); font-weight: 700;
}

/* 注意・補足のインライン強調 */
.prose .badge{
  display: inline-block; padding: .1em .5em; border-radius: 4px;
  font-weight: 700; line-height: 1.6; border:1px solid var(--c-line);
}
.prose .badge-note{ background: var(--c-bg-note); }
.prose .badge-warn{
	background: var(--c-bg-warn); color: #b00020;
}
/* ▲ここまで：段落トーン & サイズ */
/* ▼ここから：情報ボックス */
.prose .note-box,
.prose .warn-box{
  margin: 1em 0; padding: .9em 1em; border-radius: 8px; border:1px solid var(--c-line);
}
.prose .note-box{ background: var(--c-bg-note); }
.prose .warn-box{ background: var(--c-bg-warn); }

.prose .note-box > *:first-child,
.prose .warn-box > *:first-child{
	margin-top: 0;
}
.prose .note-box > *:last-child,
.prose .warn-box > *:last-child{
	margin-bottom: 0;
}
/* ▲ここまで：情報ボックス */
/* ▼ここから：最小の色強調（旧 .RED-B の代替） */
.prose .em-red{
	color: #c00000; font-weight: 800;
}
.prose .em-key{
	color: var(--c-key); font-weight: 700;
}
/* ▲ここまで：最小の色強調 */


/* =======================================================
   文字装飾ユーティリティ（近代版）
   目的：旧 .RED-B / .NAVY-B / .F12... 等の整理統合
   ======================================================= */

/* --- 強調色（意味別） --- */
.text-red      { color: #c00000; font-weight: 700; } /* 警告・重要 */
.text-green    { color: #006400; font-weight: 700; } /* OK・安全 */
.text-blue     { color: #0040cc; font-weight: 700; } /* 情報・リンク調 */
.text-navy     { color: #001b44; font-weight: 700; } /* 落ち着き */
.text-purple   { color: #660066; font-weight: 700; } /* 補助・参考 */
.text-pink     { color: #e4007f; font-weight: 700; } /* 柔らか・POP */
.text-hup      { color: #0b63ce; font-weight: 700; } /* 保育園料金表上段の色 */
.text-hlow     { color: #e74c3c; font-weight: 700; } /* 保育園料金表下段の色 */


/* --- 装飾バリエーション --- */
.text-bold     { font-weight: 700; }
.text-underline{ text-decoration: underline; }
.text-center   { text-align: center; display: block; }

/* --- インラインバッジ（段落中の強調） --- */
.badge-note {
  display: inline-block;
  background: #fff8e7;
  border: 1px solid #e0d5c0;
  border-radius: 4px;
  padding: 0 .4em;
  font-size: 0.9em;
  color: #704214;
}
.badge-warn {
  display: inline-block;
  background: #fff0f0;
  border: 1px solid #e4b0b0;
  border-radius: 4px;
  padding: 0 .4em;
  font-size: 0.9em;
  color: #b00020;
}

/* --- 段落トーン --- */
.text-muted { color: #666; }
.text-small { font-size: 0.9em; color: #555; }
.text-lead  { font-size: 1.1em; font-weight: 600; line-height: 1.8; }

/* --- strong/em の見た目を微調整（全体統一） --- */
strong { font-weight: 700; }
em     { font-style: normal; background: linear-gradient(transparent 70%, rgba(255,230,0,.6) 0); }
