/* ========== コラム共通スタイル ========== */
/* lightsuns-group.com/column/assets/column-style.css */

.shinozaki-article {
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  line-height: 1.9;
  word-break: break-word;
  overflow-wrap: break-word;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.shinozaki-article * { box-sizing: border-box; }

/* 冒頭ボックス */
.intro-box {
  background: #fff8f0 !important;
  border-left: 5px solid #f08724 !important;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 28px;
  font-size: 1em;
  color: #555 !important;
}
.intro-box p { margin: 8px 0 !important; }

/* H2見出し */
.shinozaki-article h2 {
  background: linear-gradient(135deg, #f08724, #f5a623) !important;
  color: #fff !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  font-size: 1.1em !important;
  margin-top: 40px !important;
  margin-bottom: 16px !important;
  line-height: 1.5 !important;
}

/* H3見出し */
.shinozaki-article h3 {
  border-left: 4px solid #f08724 !important;
  padding: 6px 12px !important;
  background: #fff8f0 !important;
  border-radius: 0 6px 6px 0 !important;
  font-size: 1em !important;
  margin-top: 24px !important;
  margin-bottom: 12px !important;
  color: #333 !important;
  line-height: 1.6 !important;
}

/* マーカー */
.marker {
  background: linear-gradient(transparent 60%, #ffe066 60%);
  font-weight: bold;
}

/* メリットリスト */
.merit-list { list-style: none !important; padding: 0 !important; margin: 16px 0 !important; }
.merit-list li {
  padding: 12px 12px 12px 40px;
  margin-bottom: 10px;
  background: #fff8f0;
  border-radius: 8px;
  font-size: 0.97em;
  line-height: 1.8;
  position: relative;
}
.merit-list li::before {
  content: "🌟";
  position: absolute;
  left: 10px;
  top: 12px;
}

/* ポイントカード */
.point-card {
  background: #fff;
  border: 1px solid #eee;
  border-top: 4px solid #f08724;
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.point-num {
  display: inline-block;
  background: #f08724;
  color: #fff;
  font-size: 0.8em;
  font-weight: bold;
  padding: 2px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
}
.point-title {
  font-weight: bold;
  font-size: 1em;
  color: #333;
  margin-bottom: 8px;
  display: block;
}
.point-text {
  font-size: 0.95em;
  color: #555;
  line-height: 1.8;
}

/* 注意ボックス */
.caution-box {
  background: #fffbe6;
  border-left: 5px solid #f5c200;
  border-radius: 8px;
  padding: 14px 16px;
  margin: 20px 0;
  font-size: 0.95em;
  color: #555;
  line-height: 1.8;
}

/* STEPリスト */
.step-list { list-style: none !important; padding: 0 !important; margin: 16px 0 !important; counter-reset: step-counter; }
.step-list li {
  counter-increment: step-counter;
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid #eee;
  border-left: 4px solid #f08724;
  border-radius: 8px;
  padding: 14px;
  line-height: 1.8;
}
.step-list li::before {
  content: "STEP " counter(step-counter);
  display: inline-block;
  background: #f08724;
  color: #fff;
  font-weight: bold;
  font-size: 0.8em;
  border-radius: 4px;
  padding: 2px 10px;
  margin-bottom: 8px;
}
.step-list li strong { display: block; margin-bottom: 4px; color: #333; }
.step-list li p { font-size: 0.93em; color: #555; margin: 0; }

/* テーブル */
.s-table { width: 100% !important; border-collapse: collapse !important; margin: 16px 0 !important; font-size: 0.9em; }
.s-table th {
  background: #f08724 !important;
  color: #fff !important;
  padding: 10px 12px !important;
  text-align: left !important;
}
.s-table td { padding: 10px 12px !important; border-bottom: 1px solid #eee !important; }
.s-table tr:nth-child(even) td { background: #fff8f0 !important; }

/* チェックリスト */
.check-list { list-style: none !important; padding: 0 !important; margin: 16px 0 !important; }
.check-list li {
  padding: 10px 12px 10px 36px;
  border-bottom: 1px dashed #eee;
  font-size: 0.97em;
  line-height: 1.8;
  position: relative;
}
.check-list li::before {
  content: "✅";
  position: absolute;
  left: 8px;
  top: 10px;
}

/* 誘導ボックス */
.lead-box {
  background: #fff8f0;
  border: 2px solid #f08724;
  border-radius: 12px;
  padding: 20px;
  margin: 32px 0 20px;
  text-align: center;
}
.lead-title {
  font-weight: bold;
  font-size: 1em;
  color: #f08724;
  margin-bottom: 10px;
  display: block;
}
.lead-text {
  font-size: 0.95em;
  color: #555;
  margin-bottom: 14px;
  line-height: 1.8;
  text-align: left;
}
.lead-link {
  display: inline-block;
  color: #f08724 !important;
  font-weight: bold;
  text-decoration: underline !important;
  font-size: 0.95em;
}

/* CTAボタン */
.cta-wrap { text-align: center; margin: 24px 0; }
.cta-btn {
  display: block !important;
  background: #f08724 !important;
  color: #fff !important;
  text-decoration: none !important;
  padding: 16px 20px !important;
  border-radius: 50px !important;
  font-size: 1em !important;
  font-weight: bold !important;
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 400px !important;
}
.cta-sub { font-size: 0.82em; color: #888; margin-top: 10px; text-align: center; }

/* レスポンシブ */
@media (max-width: 600px) {
  .shinozaki-article {
    padding: 0 20px !important;
    font-size: 0.97em;
  }
  .shinozaki-article h2 { font-size: 1em !important; padding: 10px 12px !important; }
  .point-card { padding: 12px; }
  .s-table { font-size: 0.82em; }
  .s-table th, .s-table td { padding: 8px 8px !important; }
  .s-table th, .s-table td { padding: 8px 10px !important; font-size: 0.85em; }
  .merit-list li { padding: 12px 12px 12px 38px; }
  .check-list li { padding: 10px 10px 10px 34px; }
  .step-list li { padding: 12px; }
  .intro-box { padding: 14px 16px; }
  .lead-box { padding: 16px; }
  .caution-box { padding: 12px 14px; }
  .cta-btn { font-size: 0.95em !important; padding: 14px 16px !important; }
}
