@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}


/* ============================================================
   deerchef 記事用パーツ
   原本: drafts/child-theme-style.css（変更したら両方そろえること）
   （2026-08-13 追加。トップページはページ本文内の <style> で
     同等の定義を自前で持っているため、ここは記事用）

   Cocoon の競合ルールは .article h4 / .entry-title,.article h2〜h6
   （詳細度 0,1,1）まで。ここは 0,2,0 以上で書いてあるので勝つ。
   #container h1〜h6 は @media print の内側なので画面には効かない。
   ============================================================ */

.dch-box,
.dch-caution,
.dch-back,
.dch-pr {
  --ink: #161D19;
  --ink2: #4C5C52;
  --ink3: #77877D;
  --surface: #F5F7F2;
  --line: #C8D0C5;
  --blaze: #D4520A;
  --blazeTxt: #A34209;
  --blazeDim: #F5E3D6;
  --fd: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Noto Serif JP", serif;
  --fb: "Yu Gothic UI", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, sans-serif;
  --fm: ui-monospace, "SF Mono", Consolas, "Courier New", monospace;
}

.dch-box *,
.dch-caution * { box-sizing: border-box; }

/* ---- 商品ボックス ---- */

.dch-box {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 3px;
  padding: 17px;
  margin: 28px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: var(--fb);
  color: var(--ink);
}

.dch-box .dch-tag {
  align-self: flex-start;
  font-family: var(--fm);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--blazeTxt);
  background: var(--blazeDim);
  border-radius: 2px;
  padding: 3px 8px;
  line-height: 1.6;
}

.dch-box h4 {
  font-family: var(--fd);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: .03em;
  line-height: 1.55;
  color: var(--ink);
  margin: 3px 0 0;
  padding: 0;
  border: none;
  background: none;
}

.dch-box p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.8;
  color: var(--ink2);
}

/* ---- 商品ボックスの写真（任意）----
   写真がある商品だけ .dch-main で包む。無い商品は従来どおりでよい。

   ※ Amazonの商品画像は使えない（2023-11-30 に画像リンク廃止。
      正規に使うには PA-API が要り、それは「180日以内に適格販売3件」が条件）。
      ここに入れるのは運営者が撮った写真か、楽天APIから取得したもの。 */

.dch-box .dch-main {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.dch-box .dch-img {
  flex: none;
  width: 110px;
  height: 110px;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: #fff;
  display: block;
  margin: 0;
}

.dch-box .dch-txt {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.dch-box .dch-txt h4 { margin-top: 0; }

/* ---- ストアボタン ---- */

.dch-box .dch-stores,
.dch-caution .dch-stores {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 7px;
  margin-top: 3px;
}

.dch-stores .dch-store {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: #fff;
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .12s, transform .12s;
}

/* .amz = Amazon / .pri = ボタンが1つだけのときの主ボタン（楽天のみ等） */
.dch-stores .dch-store.amz,
.dch-stores .dch-store.pri {
  background: var(--blaze);
  border-color: var(--blaze);
  color: #fff;
}

.dch-stores .dch-store:hover { border-color: var(--blaze); }
.dch-stores .dch-store:active { transform: translateY(1px); }
.dch-stores .dch-store:focus-visible {
  outline: 2px solid var(--blaze);
  outline-offset: 3px;
}

/* ---- 注意書きボックス ---- */

.dch-caution {
  background: #FBF0EA;
  border: 1px solid #E8C9B5;
  border-left: 3px solid var(--blaze);
  border-radius: 3px;
  padding: 15px 17px;
  margin: 28px 0;
  font-family: var(--fb);
}

.dch-caution p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.85;
  color: var(--ink2);
}

.dch-caution p + p { margin-top: 9px; }

.dch-caution strong {
  display: block;
  color: var(--blazeTxt);
  font-weight: 600;
  margin-bottom: 4px;
}

/* ---- PR表記（記事冒頭・景表法／ステマ規制）----
   アフィリリンクを含む記事には必ず入れる。省略しない。 */

.dch-pr {
  margin: 0 0 26px;
  padding: 10px 13px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 3px;
  font-family: var(--fb);
  font-size: 11.5px;
  line-height: 1.75;
  color: var(--ink3);
}

.dch-pr b {
  color: var(--blazeTxt);
  font-weight: 600;
}

/* ---- 記事末尾：ハブページへ戻る導線 ---- */

.dch-back {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 38px 0 0;
  padding: 16px 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 3px;
  font-family: var(--fb);
  color: var(--ink);
  text-decoration: none;
  transition: border-color .12s;
}

.dch-back:hover { border-color: var(--blaze); }
.dch-back:focus-visible {
  outline: 2px solid var(--blaze);
  outline-offset: 3px;
}

.dch-back .dch-bt {
  display: block;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.5;
}

.dch-back .dch-bs {
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  line-height: 1.65;
  color: var(--ink3);
}

.dch-back .dch-barw {
  flex: none;
  font-size: 15px;
  color: var(--blazeTxt);
}

/* ---- 狭い画面 ---- */

@media screen and (max-width: 480px) {
  .dch-box { padding: 15px; }
  .dch-caution { padding: 14px 15px; }
  .dch-box h4 { font-size: 15.5px; }
  .dch-back { padding: 14px 15px; }
  .dch-box .dch-main { gap: 11px; }
  .dch-box .dch-img { width: 84px; height: 84px; }
}

@media (prefers-reduced-motion: reduce) {
  .dch-stores .dch-store { transition: none; }
}
