/* ============================================================
   SRTコーポレーション 不動産販売サイト 記事共通スタイルシート
   ファイル名: rs-article.css
   カラー: #5da559（グリーン）/ #3d743a（ダーク）/ #f0f9ef（薄緑）
   ============================================================ */

.rs-article {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 1.9;
  color: #333;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.rs-article .rs-badge {
  display: inline-block;
  background: #5da559;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 3px 10px;
  border-radius: 4px;
  margin-right: 6px;
  margin-bottom: 10px;
}
.rs-article h1 {
  font-size: 28px;
  font-weight: bold;
  color: #222;
  border-bottom: 3px solid #5da559;
  padding-bottom: 12px;
  margin-bottom: 20px;
}
.rs-article .rs-author-card {
  background: #F0F7F2;
  border: 1px solid #c8e0c6;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 24px 0;
}
.rs-article .rs-author-top {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}
.rs-article .rs-author-logo {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: 4px;
  flex-shrink: 0;
}
.rs-article .rs-author-name {
  font-size: 14px;
  color: #5da559;
  font-weight: bold;
  margin-bottom: 8px;
  text-decoration: underline;
  display: inline-block;
}
.rs-article .rs-author-desc {
  font-size: 14px;
  color: #333;
  line-height: 1.8;
  margin: 0;
}
.rs-article .rs-author-btns {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  margin-top: 16px;
}
.rs-article .rs-btn {
  font-size: 13px;
  padding: 8px 0;
  border-radius: 4px;
  cursor: pointer;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  flex: 1;
  box-sizing: border-box;
}
.rs-article .rs-btn-white {
  background-color: #ffffff;
  color: #5da559;
  border: 1.5px solid #5da559;
  outline: none;
}
.rs-article .rs-btn-green {
  background-color: #e8792a;
  color: #ffffff;
  border: 1.5px solid #e8792a;
  outline: none;
}
.rs-article .rs-toc {
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 24px 0;
}
.rs-article .rs-toc-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  font-weight: bold;
  color: #222;
  font-size: 15px;
}
.rs-article .rs-toc-icon { color: #555; font-size: 18px; }
.rs-article .rs-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: toc-counter;
}
.rs-article .rs-toc-list li {
  counter-increment: toc-counter;
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid #ddd;
}
.rs-article .rs-toc-list li:last-child { border-bottom: none; }
.rs-article .rs-toc-list li::before {
  content: counter(toc-counter) ".";
  color: #5da559;
  font-weight: bold;
  font-size: 14px;
  min-width: 20px;
}
.rs-article .rs-toc-list a { color: #5da559; text-decoration: none; font-size: 14px; }
.rs-article .rs-toc-list a:hover { text-decoration: underline; }
.rs-article h2 {
  background: #5da559;
  color: #fff;
  padding: 10px 16px;
  font-size: 18px;
  font-weight: bold;
  border-radius: 4px;
  margin: 40px 0 16px;
}
.rs-article h3 {
  border-left: 4px solid #5da559;
  padding-left: 12px;
  color: #5da559;
  font-size: 16px;
  font-weight: bold;
  margin: 24px 0 8px;
}
.rs-article .rs-link { color: #1a9edb; text-decoration: underline; }
.rs-article .rs-link:hover { opacity: 0.8; }
.rs-article .rs-table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.rs-article .rs-table th {
  background: #5da559;
  color: #fff;
  font-weight: bold;
  padding: 10px 14px;
  text-align: left;
  border: 1px solid #ddd;
}
.rs-article .rs-table tr:nth-child(even) td { background: #f5f5f5; }
.rs-article .rs-table tr:nth-child(odd)  td { background: #fff; }
.rs-article .rs-table td { border: 1px solid #ddd; padding: 10px 14px; vertical-align: top; }
.rs-article .rs-point-box {
  background: #f0f9ef;
  border-left: 4px solid #5da559;
  border-radius: 0 6px 6px 0;
  padding: 14px 18px;
  margin: 16px 0;
}
.rs-article .rs-point-box .rs-box-label { font-weight: bold; color: #5da559; margin-bottom: 6px; font-size: 14px; }
.rs-article .rs-warning-box {
  background: #fff0f0;
  border-left: 4px solid #e05050;
  border-radius: 0 6px 6px 0;
  padding: 14px 18px;
  margin: 16px 0;
}
.rs-article .rs-warning-box .rs-box-label { font-weight: bold; color: #e05050; margin-bottom: 8px; }
.rs-article .rs-warning-box ul li { color: #555; }
.rs-article .rs-note-box {
  background: #f0f9ef;
  border-left: 4px solid #3d743a;
  border-radius: 0 6px 6px 0;
  padding: 12px 18px;
  margin: 12px 0;
  font-size: 14px;
  color: #666;
}
.rs-article .rs-faq-card { border: 1px solid #ddd; border-radius: 8px; margin-bottom: 16px; overflow: hidden; background: #fff; }
.rs-article .rs-faq-q { background: #f0f9ef; padding: 14px 20px; display: flex; align-items: flex-start; gap: 10px; }
.rs-article .rs-faq-q-label { color: #5da559; font-weight: bold; font-size: 15px; flex-shrink: 0; }
.rs-article .rs-faq-q-text  { font-weight: bold; color: #333; font-size: 15px; line-height: 1.6; }
.rs-article .rs-faq-a { background: #fff; padding: 14px 20px; display: flex; align-items: flex-start; gap: 10px; border-top: 1px solid #eee; }
.rs-article .rs-faq-a-label { color: #c0392b; font-weight: bold; font-size: 15px; flex-shrink: 0; }
.rs-article .rs-faq-a-text  { color: #444; font-size: 14px; line-height: 1.8; }
.rs-article .rs-case-card { background: #f7f7f7; border: 1px solid #ddd; border-radius: 8px; padding: 20px; margin: 16px 0; }
.rs-article .rs-case-card .rs-case-num { font-weight: bold; color: #5da559; }
.rs-article .rs-step-card { border: 1px solid #ddd; border-radius: 8px; padding: 16px 20px; margin-bottom: 12px; display: flex; align-items: flex-start; gap: 16px; }
.rs-article .rs-step-badge { background: #5da559; color: #fff; border-radius: 50%; width: 32px; height: 32px; min-width: 32px; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 14px; }
.rs-article .rs-step-content .rs-step-title { font-weight: bold; color: #333; margin-bottom: 4px; }
.rs-article .rs-step-content .rs-step-desc  { font-size: 14px; color: #555; line-height: 1.7; }
.rs-article .rs-comfort-box { background: #f0f9ef; border-left: 4px solid #5da559; border-radius: 0 6px 6px 0; padding: 14px 18px; margin: 16px 0; font-size: 15px; color: #333; }
.rs-article .rs-cta-box { border: 2px solid #5da559; border-radius: 10px; padding: 40px 32px; text-align: center; margin: 40px 0; background: #fff; }
.rs-article .rs-cta-sub   { font-size: 15px; color: #5da559; font-weight: bold; margin-bottom: 12px; }
.rs-article .rs-cta-main  { font-size: 26px; font-weight: bold; color: #3d743a; line-height: 1.6; margin-bottom: 20px; }
.rs-article .rs-cta-support { font-size: 16px; color: #444; margin-bottom: 28px; line-height: 1.9; }
.rs-article .rs-cta-btn { background: #e8792a; color: #fff; border: none; border-radius: 50px; padding: 18px 56px; font-size: 19px; font-weight: bold; cursor: pointer; text-decoration: none; display: inline-block; letter-spacing: 0.05em; }
.rs-article .rs-cta-btn:hover { opacity: 0.9; }
.rs-article .rs-cta-note { font-size: 13px; color: #888; margin-top: 14px; }