@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =========================================================
   記事装飾用CSS（.kc-deco スコープ）
   色テーマ：コーラル×クリーム（“かわいい”軽車向け）
   ========================================================= */
.kc-deco {
  --kc-accent: #ee6e58;
  --kc-accent-d: #d6573f;
  --kc-accent-bg: #fff5f2;
  --kc-amber: #f3a536;
  --kc-amber-bg: #fff8ec;
  --kc-good: #36a577;
  --kc-good-bg: #edf9f3;
  --kc-caution: #e2574b;
  --kc-caution-bg: #fdecea;
  --kc-ink: #3a3a3a;
  color: var(--kc-ink);
  line-height: 1.95;
}
.kc-deco p { margin: 1em 0; }

/* 見出し h2 */
.kc-deco h2 {
  position: relative;
  margin: 2.4em 0 1em;
  padding: .7em .8em .7em 1em;
  font-size: 1.32em;
  font-weight: 700;
  line-height: 1.55;
  color: var(--kc-accent-d);
  background: linear-gradient(180deg, #fff 0%, var(--kc-accent-bg) 100%);
  border-left: 7px solid var(--kc-accent);
  border-bottom: 1px solid #f1c9bf;
  border-radius: 8px;
}

/* 見出し h3 */
.kc-deco h3 {
  position: relative;
  margin: 2em 0 .8em;
  padding: .2em 0 .5em 1em;
  font-size: 1.14em;
  font-weight: 700;
  color: var(--kc-ink);
  border-bottom: 2px dashed #f1c0b5;
}
.kc-deco h3::before {
  content: "";
  position: absolute;
  left: 0; top: .35em;
  width: 6px; height: 1.05em;
  background: var(--kc-accent);
  border-radius: 3px;
}

/* マーカーハイライト */
.kc-marker {
  background: linear-gradient(transparent 62%, #ffe39a 62%);
  font-weight: 700;
  padding: 0 .05em;
}
.kc-strong { color: var(--kc-accent-d); font-weight: 700; }

/* リード文ボックス */
.kc-deco .kc-lead {
  margin: 0 0 1.6em;
  padding: 1.1em 1.2em;
  background: var(--kc-accent-bg);
  border-radius: 12px;
  border: 1px solid #f4cabf;
  font-size: 1.02em;
}

/* 汎用ボックス */
.kc-box {
  position: relative;
  margin: 1.6em 0;
  padding: 1.5em 1.2em 1.2em;
  background: var(--kc-amber-bg);
  border: 2px solid var(--kc-amber);
  border-radius: 12px;
}
.kc-box__title {
  position: absolute;
  top: -.9em; left: 1em;
  padding: .15em .9em;
  font-size: .82em;
  font-weight: 700;
  color: #fff;
  background: var(--kc-amber);
  border-radius: 999px;
}
.kc-box p:first-of-type, .kc-box ul:first-of-type { margin-top: 0; }
.kc-box p:last-child, .kc-box ul:last-child { margin-bottom: 0; }

/* ポジティブ（向いている人） */
.kc-box.is-good { background: var(--kc-good-bg); border-color: var(--kc-good); }
.kc-box.is-good .kc-box__title { background: var(--kc-good); }

/* カウション（避けたい人・注意） */
.kc-box.is-caution { background: var(--kc-caution-bg); border-color: var(--kc-caution); }
.kc-box.is-caution .kc-box__title { background: var(--kc-caution); }

/* ボックス内リストのアイコン */
.kc-box.is-good ul { list-style: none; padding-left: 0; }
.kc-box.is-good li { position: relative; padding-left: 1.6em; margin: .4em 0; }
.kc-box.is-good li::before { content: "\2714"; position: absolute; left: 0; color: var(--kc-good); font-weight: 700; }
.kc-box.is-caution ul { list-style: none; padding-left: 0; }
.kc-box.is-caution li { position: relative; padding-left: 1.6em; margin: .4em 0; }
.kc-box.is-caution li::before { content: "\2716"; position: absolute; left: 0; color: var(--kc-caution); font-weight: 700; }

/* 口コミ（voice）引用 */
.kc-deco blockquote.wp-block-quote {
  position: relative;
  margin: 1.6em 0;
  padding: 1.4em 1.2em 1.2em 1.3em;
  background: #faf7f5;
  border: none;
  border-left: 5px solid var(--kc-accent);
  border-radius: 0 12px 12px 0;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.kc-deco blockquote.wp-block-quote::before {
  content: "\201C";
  position: absolute;
  top: -.1em; left: .2em;
  font-size: 2.4em;
  color: #f1c0b5;
  font-family: Georgia, serif;
}
.kc-deco blockquote.wp-block-quote ul { margin: 0; }
.kc-deco blockquote.wp-block-quote li { margin: .5em 0; }

/* テーブル */
.kc-deco .wp-block-table table { border-collapse: collapse; width: 100%; }
.kc-deco .wp-block-table th,
.kc-deco .wp-block-table td { border: 1px solid #ecd5cd; padding: .7em .9em; }
.kc-deco .wp-block-table tr td:first-child {
  background: var(--kc-accent-bg);
  font-weight: 700;
  color: var(--kc-accent-d);
  white-space: nowrap;
}
.kc-deco .wp-block-table tr:nth-child(even) td { background: #fcfbfa; }

/* FAQの質問 h3（Q.） */
.kc-deco h3.kc-q {
  background: var(--kc-accent-bg);
  border-bottom: none;
  border-radius: 8px;
  padding: .6em .8em .6em 1em;
}
.kc-deco h3.kc-q::before { top: .6em; }

/* CTAボタン */
.kc-cta { text-align: center; margin: 2em 0 1em; }
.kc-cta a {
  display: inline-block;
  padding: .9em 2em;
  font-weight: 700;
  color: #fff !important;
  text-decoration: none;
  background: linear-gradient(135deg, var(--kc-accent) 0%, var(--kc-accent-d) 100%);
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(214,87,63,.35);
  transition: transform .15s ease, box-shadow .15s ease;
}
.kc-cta a:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(214,87,63,.45); }

/* スマホ調整 */
@media (max-width: 600px) {
  .kc-deco h2 { font-size: 1.18em; }
  .kc-deco h3 { font-size: 1.06em; }
  .kc-deco .wp-block-table th,
  .kc-deco .wp-block-table td { padding: .55em .6em; }
}
