/* ============================================================
   favorist.jp コラム／静的ページ 共通CSSセット 
   ------------------------------------------------------------
   ・col-hl        ：蛍光ペン風の強調
   ・keiko         ：上品な下線強調（淡いゴールド）
   ・col-leadline  ：章の導入文ボックス
   ・col-pointbox  ：ポイントまとめBOX
   ・col-itemlist  ：商品ブロックBOX
   ・gaibu-caption ：外部引用ブロック
   ・table-of-contents：目次
   ・col-table     ：表の見やすさ補正
   ・btn_category  ：ボタン風のカテゴリ誘導リンク
   ・es_parent/es_child：画像＋文章の2カラム（今回追加）
   ============================================================ */


/* ------------------------------------------------------------
   ① 蛍光ペン強調（col-hl）
   ------------------------------------------------------------ */
.col-hl {
  background: linear-gradient(transparent 60%, #fff59d 60%) !important;
  font-weight: 600;
  padding: 0 2px;
}


/* ------------------------------------------------------------
   ② 上品な下線強調（keiko）
   ※ thickness / color が他CSSに負けないよう最優先化
   ------------------------------------------------------------ */
.keiko {
  font-weight: 600 !important;

  /* 下線の見え方を最優先 */
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-decoration-thickness: .30em !important;
  text-underline-offset: .0em !important;
  text-decoration-color: rgba(255,210,90,.75) !important;

  /* 既存の設定も維持（保険） */
  text-decoration-skip-ink: none !important;
}


/* ------------------------------------------------------------
   ③ 導入文ボックス（col-leadline）
   ------------------------------------------------------------ */
.col-leadline {
  background: #f2f2f2 !important;
  padding: 14px 16px;
  border-left: 4px solid #d0d0d0 !important;
  border-radius: 6px;
  font-size: 16px !important;
  line-height: 1.85 !important;
  color: #333 !important;
  font-weight: bold;
}


/* ------------------------------------------------------------
   ④ ポイントbox（col-pointbox）
   ------------------------------------------------------------ */
.col-pointbox {
  background: #f8f8f8;
  padding: 20px;
  border-radius: 6px;
  border: 1px solid #e5e5e5;
}


/* ------------------------------------------------------------
   ⑤ 商品リンク一覧（col-itemlist）
   ------------------------------------------------------------ */
.col-itemlist {
  background: #eee;
  padding: 20px;
  border-radius: 6px;
}


/* ------------------------------------------------------------
   外部引用（gaibu-caption）
   ------------------------------------------------------------ */
.container-800px .gaibu-caption{
  background: #f6f6f6;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  padding: 16px;
  margin-top: 20px;
}

/* ★ 追加：gaibu-caption 内見出し（h4）を中央寄せ */
.container-800px .gaibu-caption h4{
  text-align: center !important;
}

/* （保険）h5なども使う場合があるので中央寄せにしたいなら一緒に */
.container-800px .gaibu-caption h5{
  text-align: center !important;
}

.container-800px .gaibu-caption-img{
  width: auto !important;
  max-width: 100% !important;
  height: auto;
  display: block;
  border-radius: 10px;
  margin-left: auto;
  margin-right: auto;
}

/* ★ 変更：出展テキストは右寄せ */
.container-800px .gaibu-caption-text{
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.8;
  color: #666;
  text-align: right !important;
}

.container-800px .gaibu-caption a{
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: .12em;
  text-underline-offset: .18em;
}


/* ------------------------------------------------------------
   目次（table-of-contents）
   ------------------------------------------------------------ */
.container-800px .table-of-contents{
  background: #fafafa;
  border: 1px solid #ededed;
  border-radius: 14px;
  padding: 18px;
  margin-top: 24px;
}

.container-800px .table-of-contents-headline{
  font-size: 16px;
  font-weight: 600;
}

.container-800px .table-of-contents-ul{
  margin: 12px 0 0;
  padding-left: 1.2em;
  line-height: 1.9;
}

.container-800px .table-of-contents-ul ul{
  margin-top: 8px;
  padding-left: 1.1em;
}

.container-800px .table-of-contents-list{
  margin: 6px 0;
}

.container-800px .table-of-contents a{
  text-decoration: none;
}

.container-800px .table-of-contents a:hover{
  text-decoration: underline;
  text-underline-offset: .2em;
}


/* ------------------------------------------------------------
   表（col-table）
   ------------------------------------------------------------ */
.container-800px .col-table{
  background: #fafafa;
  border: 1px solid #ededed;
  border-radius: 14px;
  padding: 12px;
  margin-top: 20px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.container-800px .col-table table{
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.container-800px .col-table th,
.container-800px .col-table td{
  border: 1px solid #e6e6e6;
  padding: 12px 10px;
  font-size: 14px;
  line-height: 1.8;
  vertical-align: top;
}

.container-800px .col-table th{
  background: linear-gradient(#fafafa, #f1f1f1);
  font-weight: 700;
}

.container-800px .col-table .col-table-key{
  background: #f7f7f7;
  font-weight: 700;
  white-space: nowrap;
}

.container-800px .col-table .col-table-img img{
  max-width: 180px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}


/* ============================================================
   ★ btn_category（B案） ：「絶対に反映される」最新版
   ============================================================ */

.container-800px .btn_category{
  margin: 14px 0 0;
}

/* ▼ セレクタを強くして反映保証 */
.container-800px .btn_category > a{
  display: block !important;
  position: relative !important;
  padding: 16px 48px 16px 16px !important;

  border-radius: 12px !important;
  border: 1px solid #d0d0d0 !important;
  background: linear-gradient(#ffffff, #DDD) !important;

  color: inherit !important;
  text-decoration: none !important;

  line-height: 1.65 !important;

  /* ボタン感（影＋軽い浮き） */
  box-shadow:
    0 1px 0 rgba(0,0,0,.05),
    0 8px 18px rgba(0,0,0,.05) !important;

  transition: all .15s ease !important;
}

/* ▼ 右矢印（常時表示） */
.container-800px .btn_category > a::after{
  content: "›" !important;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) !important;
  font-size: 22px;
  line-height: 1 !important;
  opacity: .7;
}

/* hover */
.container-800px .btn_category > a:hover{
  transform: translateY(-1px) !important;
  border-color: #c8c8c8 !important;
  background: linear-gradient(#ffffff, #ccc) !important;
  box-shadow:
    0 2px 0 rgba(0,0,0,.05),
    0 12px 22px rgba(0,0,0,.06) !important;
}

/* active */
.container-800px .btn_category > a:active{
  transform: translateY(0) !important;
  box-shadow:
    0 1px 0 rgba(0,0,0,.05),
    0 6px 14px rgba(0,0,0,.05) !important;
}

/* strong 強調 */
.container-800px .btn_category > a strong{
  font-weight: 700 !important;
}


/* ============================================================
   ★ es_parent / es_child（画像＋文章の2カラム）
   ------------------------------------------------------------
   目的：
   ・PC：左右2カラム（HTMLの順番どおりに左/右が決まる）
   ・SP：縦積み（画像が上/下もHTML順）
   ・画像は横幅いっぱい（ただし縦横比維持）
   ・余白と読みやすさを整える
   ============================================================ */

.container-800px .es_parent{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: flex-start !important;
  margin-top: 18px;
}

.container-800px .es_child{
  flex: 1 1 320px !important; /* 2カラムになりやすい基準 */
  min-width: 0;               /* 文字がはみ出す崩れ防止 */
}

/* 画像の見た目（丸み＋ブロック化） */
.container-800px .es_child img{
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 10px;
}

/* 旧HTMLの文章クラスが残っていても整うように（保険） */
.container-800px .es_sep_text,
.container-800px .tp_st_lea{
  line-height: 1.9;
}

/* スマホ：縦積み（読み順はHTML順のまま） */
@media (max-width: 767px){
  .container-800px .es_parent{
    flex-direction: column !important;
    gap: 12px !important;
  }
  .container-800px .es_child{
    flex: 1 1 auto !important;
  }
}

/* 箇条書き：読みやすく、コラムのトーンに合わせる */
.container-800px .col-bullets{
  margin: 10px 0 0;
  padding-left: 1.2em;
  line-height: 1.9;
}

.container-800px .col-bullets li{
  margin: 6px 0;
}

/* 商品一覧の補足（col-note） */
.container-800px .col-note{
  font-size: 14px;
  color: #666;
}

/* 目次やアンカーリンクで飛んだときに見出しが被らない保険（ヘッダー固定がある場合） */
.container-800px [id]{
  scroll-margin-top: 90px;
}

/* figure 余白を落ち着かせる */
.container-800px figure{
  margin: 0;
}
