@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
:root {
  --wrap: min(1350px, 100% - 32px);
  --text: #1f2937;
  --muted: #6b7280;
  --line: #e5e7eb;
  --brand: #ff7a1a;
  --brand-2: #fff6ee;
  --bg-soft: #f5f7f9;
  --radius: 16px;
}

/* === Page Layout === */
.single {
  background: var(--bg-soft);
  padding: 32px 16px;
  color: var(--text);
}
.single__wrap {
  max-width: var(--wrap);
  margin: 0 auto;
}
.single__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 1024px) {
  .single__layout {
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: start;
    -moz-column-gap: 32px;
         column-gap: 32px;
  }
}
.single__main, .single__sidebar {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.single__main {
  padding: 24px;
}
.single__sidebar {
  padding: 16px;
  position: sticky;
  top: 90px;
  /* ヘッダー高さ分 */
  align-self: start;
  /* 高さが短い場合でも上から固定される */
  height: -moz-fit-content;
  height: fit-content;
  /* 中身に応じて高さ調整 */
  height: fit-content;
}
.single__sidebar .sidebar__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 12px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 6px;
}

/* === Breadcrumbs === */
.breadcrumbs {
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 12px;
}
.breadcrumbs__list {
  display: flex;
  gap: 6px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.breadcrumbs__item:not(:last-child)::after {
  content: "›";
  margin-left: 6px;
}
.breadcrumbs__item[aria-current=page] {
  font-weight: 600;
  color: #111827;
}

/* === Article === */
.single-post__cats {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.single-post__cats .cat-badge {
  background: #111;
  color: #fff;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
}
.single-post__cats .single-post__date {
  font-size: 13px;
  color: var(--muted);
}
.single-post__title {
  font-size: clamp(24px, 3.4vw, 36px);
  margin: 0 0 12px;
}
.single-post__thumb-img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 12px;
}
.single-post__content {
  font-size: 17px;
  line-height: 1.8;
}

/* === Prose (本文) === */
.prose p {
  margin: 1.1em 0;
}
.prose h2,
.prose h3,
.prose h4 {
  line-height: 1.4;
  margin: 1.8em 0 0.8em;
  font-weight: 600;
  scroll-margin-top: 88px;
}
.prose h2 {
  font-size: clamp(18px, 2.6vw, 24px);
  background: #FFBD73;
  color: #fff;
  padding: 12px 16px;
  border-radius: 4px;
  position: relative;
  margin-bottom: 30px;
}
.prose h2::after {
  content: "";
  position: absolute;
  left: 20px;
  bottom: -10px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #FFBD73;
}
.prose h3 {
  font-size: clamp(18px, 2.2vw, 22spx);
  border-bottom: 2px solid var(--brand);
  padding-bottom: 6px;
  color: var(--text);
}
.prose h4 {
  font-size: clamp(16px, 1.9vw, 18px);
}
.prose ul,
.prose ol {
  margin: 0.8em 0;
  background: #fcfcfc;
  /* 灰色背景 */
  padding: 16px 20px;
  /* 内側余白 */
  border-radius: 6px;
  /* 角丸 */
}
.prose ul li {
  list-style: square;
  /* 四角の箇条書き */
  margin: 6px 0;
  /* 行間 */
  /* テキストとマークの余白 */
}
.prose li {
  margin: 0.4em 0;
}
.prose img {
  max-width: 100%;
  border-radius: 12px;
  margin: 1.2em auto;
  display: block;
}

/* === Tags === */
.single-post__tags {
  margin: 24px 0 8px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.single-post__tags a {
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
}

/* === Post Nav === */
.post-nav {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 24px 0 0;
}

.post-nav a {
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

/* === Sidebar Cards === */
/* === サムネイル調整 === */
.single-post__thumb {
  margin: 12px 0 20px;
  text-align: center;
}

.single-post__thumb-img {
  width: 100%;
  max-width: 800px;
  /* 横幅を制限 */
  height: auto;
  border-radius: 12px;
  margin: 0 auto;
  display: block;
}

/* === 見出しデザイン変更 === */
.prose h2 {
  font-size: clamp(22px, 2.6vw, 26px);
  background: #fff3e6;
  /* 薄オレンジ */
  color: #111;
  padding: 12px 16px;
  border-radius: 4px;
  position: relative;
  margin-bottom: 24px;
  /* 下に余白 */
}
.prose h2::after {
  content: "";
  position: absolute;
  left: 20px;
  bottom: -10px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #fff3e6;
  /* 吹き出しも薄オレンジ */
}
.prose h3 {
  font-size: clamp(18px, 2.2vw, 22px);
  border-bottom: 2px solid var(--brand);
  padding-bottom: 6px;
  margin-bottom: 16px;
}

/* ===== 記事のポイント ===== */
.points {
  margin: 32px 0;
  padding: 10px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.points__title {
  font-size: 1.25rem !important;
  font-weight: 700;
  margin-bottom: 16px;
  color: #333 !important;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 2px solid #ddd;
  padding-bottom: 6px;
  padding: 10px !important;
  margin: 0 !important;
  background: none !important;
  /* ← prose h2 の背景を打ち消し */
  border-radius: 0 !important;
  /* ← prose h2 の角丸も打ち消し */
  position: static !important;
  /* ← prose h2 の矢印も無効化 */
}
.points__title::before {
  content: "≡";
  font-size: 1rem;
  color: #666;
}
.points__list {
  margin: 0 !important;
  padding: 5px !important;
  list-style: none;
  counter-reset: point;
}
.points__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
  border-bottom: 1px dotted #bbb;
}
.points__list li:last-child {
  border-bottom: none;
}
.points__list li::before {
  counter-increment: point;
  content: counter(point);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  font-size: 0.9rem;
  font-weight: 700;
  border-radius: 4px;
  background: #b38b00;
  color: #fff;
  flex-shrink: 0;
}
.points__list li a {
  color: #1a0dab;
  /* リンクは青 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  text-underline-offset: 3px;
}
.points__list li a:hover {
  color: #d35400;
}

.toc {
  margin: 24px 0 28px;
  padding: 18px 18px 14px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  /* リスト全体 */
  /* 行の共通ルール */
  /* H2 行（上位） */
  /* H3 行（下位）— ここを“段差＆余白”で見やすく */
  /* 番号要素を安定させる（もし番号を挿入している場合） */
  /* モバイルでの読みやすさ微調整 */
}
.toc__title {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 10px;
  color: #111;
}
.toc__ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.toc__item {
  line-height: 1.65;
}
.toc__item a {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  text-decoration: none;
  color: #1a73e8;
  /* 目次リンクは青 */
  font-weight: 500;
  padding: 4px 2px;
  /* タップ領域を少し広げる */
  border-radius: 4px;
}
.toc__item a:hover {
  background: #f6f9fe;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.toc__item--l2 {
  margin: 10px 0 4px;
  /* 上にやや広めの余白 */
}
.toc__item--l2 a {
  font-size: 1rem;
}
.toc__item--l3 {
  position: relative;
  margin: 4px 0;
  /* 行間を控えめに */
  padding-left: 18px;
  /* テキスト左に余白を足す */
  margin-left: 16px;
  /* 行全体を段下げ（段差） */
  border-left: 2px solid #eef2f7;
  /* 左ガイド（薄いグレー） */
  /* H2→H3の直後は少し広めに間隔 */
  /* 連続したH3の塊も読みやすく */
  /* 小さな枝（–）で視線誘導 */
}
.toc__item--l3:first-of-type, .toc__item--l2 + .toc__item--l3 {
  margin-top: 6px;
}
.toc__item--l3 a {
  font-size: 0.95rem;
  padding-left: 6px;
  /* ガイド線とテキストの距離 */
}
.toc__item--l3::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 1.05em;
  /* 行の中央付近 */
  width: 10px;
  height: 1px;
  background: #e5e7eb;
}
.toc__num {
  font-variant-numeric: tabular-nums;
  color: #1a73e8;
  min-width: 28px;
  /* 1桁/2桁でも桁ズレしにくい */
}
.toc__txt {
  color: #1f2937;
}
@media (max-width: 480px) {
  .toc__item--l3 {
    margin-left: 12px;
    padding-left: 14px;
  }
}

/* ===== Sidebar: カテゴリから探す ===== */
.category-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: #fff;
  /* 子カテゴリ */
}
.category-card__head {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  background: #ffb066;
  color: #fff;
}
.category-card__icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  opacity: 0.95;
}
.category-card__titles {
  line-height: 1.2;
}
.category-card__title {
  font-size: 16px;
  font-weight: 800;
  margin: 0;
}
.category-card__sub {
  font-size: 12px;
  opacity: 0.95;
  margin: 2px 0 0;
}
.category-card__list, .category-card__children {
  list-style: none;
  margin: 0;
  padding: 0;
}
.category-card__item {
  border-top: 1px solid var(--line);
}
.category-card__item:first-child {
  border-top: none;
}
.category-card__item.is-current > a {
  background: var(--brand-2);
  box-shadow: inset 3px 0 0 var(--brand);
}
.category-card__link, .category-card__children a {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 8px;
  padding: 14px 14px;
  text-decoration: none;
  color: var(--text);
  transition: background 0.15s ease;
}
.category-card__link:hover, .category-card__children a:hover {
  background: #fff8f2;
}
.category-card__name {
  font-weight: 600;
}
.category-card__count {
  font-size: 12px;
  color: #6b7280;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  padding: 2px 6px;
  border-radius: 999px;
}
.category-card__chevron {
  font-size: 18px;
  color: #9ca3af;
}
.category-card__children {
  border-top: 1px dashed #eef0f4;
}
.category-card__children li a {
  padding: 12px 14px 12px 28px;
  grid-template-columns: 1fr auto auto;
}

/* サイドバーのタイトル（既存）と余白の整合 */
.single__sidebar .sidebar__title {
  display: none;
}

/* カード本体：ラベルの高さ分を上側に確保して被り回避 */
:root {
  --rel-border: #ffe0bf;
  /* 枠の薄オレンジ */
  --rel-badge: #ffb066;
  /* バッジの薄オレンジ */
  --rel-shadow: rgba(255, 176, 102, .22);
  /* バッジの影 */
}

.related-orange {
  margin-top: 24px;
  /* グリッド親（カードを縦に並べる） */
  /* 1カード */
  /* 左上バッジ */
  /* レイアウト：左サムネ／右テキスト */
  /* サムネ */
  /* 右側テキスト */
}
.related-orange__title {
  margin-bottom: 30px;
}
.related-orange__grid {
  width: 80%;
  margin: 0 auto;
  /* 中央寄せ */
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 24px;
  /* カード間の余白 */
}
@media (max-width: 900px) {
  .related-orange__grid {
    width: 100%;
    row-gap: 18px;
  }
}
.related-orange__item {
  position: relative;
  background: #fff;
  border: 1.5px solid var(--rel-border);
  border-radius: 10px;
  padding: 30px;
  /* 上はラベル分ひろめ／右を少し広め */
  margin-top: 6px;
  /* ラベルのはみ出し分のクッション */
  transition: box-shadow 0.15s ease, transform 0.05s ease;
}
.related-orange__item:first-child {
  margin-top: 0;
}
.related-orange__item:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}
.related-orange__badge {
  position: absolute;
  top: -10px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  background: var(--rel-badge);
  color: #fff;
  font-weight: 700;
  font-size: 12.5px;
  border-radius: 6px;
  box-shadow: 0 2px 6px var(--rel-shadow);
  /* アイコン（SVG含む） */
}
.related-orange__badge svg,
.related-orange__badge .related-orange__icon {
  width: 16px;
  height: 16px;
}
.related-orange__link {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 16px;
  /* サムネ⇔本文 */
  align-items: center;
  text-decoration: none;
  color: inherit;
}
@media (max-width: 520px) {
  .related-orange__link {
    grid-template-columns: 120px 1fr;
    gap: 12px;
  }
}
.related-orange__thumbwrap {
  overflow: hidden;
  border-radius: 8px;
}
.related-orange__thumb {
  width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 4/3;
  background: #fafafa;
}
.related-orange__body {
  padding: 2px 0;
}
.related-orange__posttitle {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.55;
  font-weight: 800;
  color: #111;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.related-orange__excerpt {
  margin: 0;
  color: #555;
  font-size: 14px;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* =========================
   FAQ (dl / dt / dd) in article body
   ========================= */
.single-post__content.prose {
  /* dl 本体 */
  /* Q（dt） */
  /* A（dd） */
  /* 連続するdtが詰まるのを防ぐ */
  /* モバイル最適化 */
}
.single-post__content.prose dl {
  margin: 24px 0;
}
.single-post__content.prose dt {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  /* デフォルト余白を打消し */
  padding: 12px 14px;
  font-weight: 800;
  line-height: 1.5;
  color: var(--text);
  background: #fff7ed;
  /* 薄オレンジ */
  border: 1px solid #ffedd5;
  /* さらに薄い枠 */
  border-radius: 12px;
  position: relative;
}
.single-post__content.prose dt::before {
  content: "Q";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  font-size: 13px;
  font-weight: 800;
  color: #fff;
  background: var(--brand);
  /* 既存のブランド色 */
  border-radius: 999px;
  flex: 0 0 26px;
}
.single-post__content.prose dd {
  margin: 10px 0 22px;
  /* ペア間を広めに */
  padding: 14px 16px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  position: relative;
  /* 本文内の要素をスッキリ */
  /* prose 既定の灰背景をFAQ内では使わない */
}
.single-post__content.prose dd::before {
  content: "A";
  position: absolute;
  left: 14px;
  top: -12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  background: #111;
  /* 目立ちすぎない濃色 */
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
.single-post__content.prose dd p {
  margin: 0.8em 0;
}
.single-post__content.prose dd p:first-child {
  margin-top: 0;
}
.single-post__content.prose dd p:last-child {
  margin-bottom: 0;
}
.single-post__content.prose dd ul,
.single-post__content.prose dd ol {
  margin: 0.6em 0 0;
  padding: 0 0 0 1.2em;
  background: transparent;
}
.single-post__content.prose dd a {
  color: #1a73e8;
  text-underline-offset: 2px;
}
.single-post__content.prose dd a:hover {
  text-decoration: underline;
}
.single-post__content.prose dt + dt {
  margin-top: 18px;
}
@media (max-width: 480px) {
  .single-post__content.prose dt {
    padding: 11px 12px;
  }
  .single-post__content.prose dd {
    padding: 12px 12px 14px;
  }
}

/* =========================
   Mobile full-width article
   ========================= */
@media (max-width: 640px) {
  /* 画面いっぱいにする（外側余白を消す） */
  .single {
    padding: 0;
    background: #fff;
    /* 背景の段差をなくす */
  }
  .single__wrap {
    max-width: 100%;
    margin: 0;
  }
  /* カード感を外してフラットに */
  .single__main,
  .single__sidebar {
    border: none;
    border-radius: 0;
    padding: 0;
    /* 中の要素に個別で左右16pxを付ける */
  }
  /* パンくずは左右16pxの余白で揃える */
  .breadcrumbs {
    margin: 0;
    padding: 12px 16px 0;
  }
  /* アイキャッチは完全フル幅 */
  .single-post__thumb {
    margin: 0;
  }
  .single-post__thumb-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 0;
  }
  /* 見出しや本文は左右16pxの内側余白で読みやすく */
  .single-post__header,
  .single-post__content,
  .single-post__tags,
  .toc,
  .category-card,
  .related-orange {
    padding-left: 16px;
    padding-right: 16px;
  }
  /* 既存の .prose 直下に余白が無い場合の保険 */
  .single-post__content.prose {
    padding-left: 16px;
    padding-right: 16px;
  }
  /* 目次カードは上下マージンを詰めて横は16pxに */
  .toc {
    margin-left: 0;
    margin-right: 0;
  }
  /* サイドバーも1カラム下にフル幅で */
  .single__layout {
    grid-template-columns: 1fr;
    /* 念のため明示 */
  }
  .single__sidebar {
    position: static;
    top: auto;
    margin-top: 8px;
  }
  /* 関連記事：グリッドを100%幅・段差なしに */
  .related-orange__grid {
    width: 100%;
    margin: 0;
    row-gap: 18px;
  }
  /* FAQ（dl/dt/dd）がある場合の左右揃え */
  .single-post__content.prose dl {
    margin-left: 0;
    margin-right: 0;
  }
}
/* =========================
   Mobile: breadcrumbs wrap & spacing
   ========================= */
@media (max-width: 640px) {
  /* パンくず：折り返し許可 & 下に余白 */
  .breadcrumbs {
    /* 左右16pxは既存のレイアウトに合わせる */
    padding: 8px 16px 0;
    margin: 0 0 10px;
    /* ← ここでカテゴリ/日付との間に余白を作る */
    font-size: 13px;
    line-height: 1.5;
  }
  .breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    /* ← アイテム単位で改行 */
    -moz-column-gap: 6px;
         column-gap: 6px;
    /* 横間隔 */
    row-gap: 4px;
    /* 縦間隔（2行になった時の行間） */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .breadcrumbs__item {
    display: inline-flex;
    /* アイテムを1単位として折返しやすく */
    align-items: center;
    white-space: nowrap;
    /* 「ホーム」「ブログ」などの語内改行はしない */
  }
  .breadcrumbs__item:not(:last-child)::after {
    content: "›";
    margin-left: 6px;
  }
  /* 見出しブロック（カテゴリ・日付行）にも左右余白を揃えて、
   パンくずとの間隔をさらに安定させる */
  .single-post__header {
    padding: 0 16px;
  }
  /* カテゴリバッジと日付の行の読みやすさを少し改善 */
  .single-post__cats {
    margin-top: 6px;
    /* パンくずとの距離を確保 */
    gap: 12px;
    /* バッジと日付の間隔を少し広めに */
    flex-wrap: wrap;
    /* スマホで詰まる場合は折返し */
  }
  .single-post__date {
    margin-left: 2px;
    /* バッジ直後の微調整（任意） */
  }
}
/* =========================================
   Link styles — scope to article body only
   （関連記事・サイドバーには適用しない）
   ========================================= */
/* 本文のみ */
.single-post__content.prose {
  /* 外部リンクアイコン（本文のみ） */
  /* FAQ（dl）内のリンク強調も本文内のみに限定 */
}
.single-post__content.prose a {
  color: var(--brand);
  text-decoration: underline;
  text-decoration-thickness: 0.12em;
  text-underline-offset: 3px;
  font-weight: 600;
  transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.single-post__content.prose a:hover {
  color: color-mix(in oklab, var(--brand) 85%, #000);
  text-decoration-thickness: 0.16em;
}
.single-post__content.prose a:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--brand) 60%, #000);
  outline-offset: 2px;
  border-radius: 4px;
  text-decoration: none;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--brand) 18%, transparent);
}
.single-post__content.prose a:visited {
  color: color-mix(in oklab, var(--brand) 70%, #555);
}
.single-post__content.prose a.is-disabled {
  pointer-events: none;
  color: #9ca3af;
  text-decoration: none;
}
.single-post__content.prose a[href^=http]:not([href*="petring.jp"]):not(.no-ext) {
  position: relative;
  padding-right: 18px;
}
.single-post__content.prose a[href^=http]:not([href*="petring.jp"]):not(.no-ext)::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 0.25em;
  width: 12px;
  height: 12px;
  opacity: 0.85;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 13v6a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/><path d='M15 3h6v6'/><path d='M10 14 21 3'/></svg>") center/12px 12px no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 13v6a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/><path d='M15 3h6v6'/><path d='M10 14 21 3'/></svg>") center/12px 12px no-repeat;
}
.single-post__content.prose dl.faq a {
  color: color-mix(in oklab, var(--brand) 90%, #000);
  text-decoration: underline;
  text-decoration-style: solid;
  text-underline-offset: 2px;
  font-weight: 700;
}
.single-post__content.prose dl.faq a:hover {
  text-decoration-thickness: 0.18em;
}
.single-post__content.prose dl.faq a:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--brand) 55%, #000);
  outline-offset: 2px;
  border-radius: 4px;
}

/* =========================
   明示的に除外（安全網）
   ========================= */
/* 関連記事カード内の a は既存デザインを維持 */
.related-orange a,
.related-orange * a {
  color: inherit;
  text-decoration: none;
  outline: none;
  /* 外部アイコンも出さない */
}
.related-orange a::after,
.related-orange * a::after {
  content: none !important;
}

/* サイドバー・カテゴリカード内の a も既存維持 */
.single__sidebar a,
.category-card a,
.category-card * a {
  color: inherit;
  text-decoration: none;
  outline: none;
}
.single__sidebar a::after,
.category-card a::after,
.category-card * a::after {
  content: none !important;
}

/* 任意：個別に“本文でも装飾を外したい”場合は .no-link で無効化 */
.single-post__content.prose a.no-link {
  color: inherit !important;
  text-decoration: none !important;
  outline: none !important;
}
.single-post__content.prose a.no-link::after {
  content: none !important;
}/*# sourceMappingURL=single.css.map */