/* ============================================================
   足柄びより 記事共通スタイル v5
   ============================================================
   バージョン: v5.0.0
   フィックス日: 2026-03-24
   適用: サイト全体（head内で読み込み）

   変更履歴:
   - v1.0〜v3.0: 記事埋め込み方式
   - v4.0: CLS改善（Core Web Vitals対策）
   - v5.0: head読み込み方式に移行
     - 公開済み3記事のインラインスタイルを全てCSS化
     - PracticalInfoBox: display:flex レイアウト完全定義
     - Tip/Blockquote: テーマ上書き（REHUB ::before/::after 無効化）
     - CTA Affiliate Box: 完全クラス化
     - Warning/Hint Box: 完全クラス化
     - テーブル: 完全クラス化
     - Google Maps: 完全クラス化
     - コースセクション: テーマカラー変数化
     - 全コンポーネントで !important によるテーマ上書き
   運用ルール:
   - デザイン変更時は v6.css を新規作成（v5削除禁止）
   - wp-ingest.js はCSSクラスのみのHTML出力に統一
   ============================================================ */

/* === CLS改善: フォント読み込み最適化 === */
@font-face { font-family: 'Noto Sans JP'; font-display: swap !important; src: local('Noto Sans JP'); }
@font-face { font-family: 'Noto Serif JP'; font-display: swap !important; src: local('Noto Serif JP'); }

/* === CLS改善: EWWW Image Optimizer対策 === */
.wp-block-image { min-height: 200px !important; contain: layout style !important; }
.wp-block-image img { display: block !important; visibility: visible !important; }
.wp-block-image img[data-src],
.wp-block-image img.ewww-lazy-load,
.wp-block-image img.lazyload { min-height: 200px !important; }

/* === CLS改善: 画像 === */
.entry-content img, .post-content img, article img {
  max-width: 100% !important; height: auto !important; display: block !important;
}
figure.wp-block-image { contain: layout style !important; overflow: hidden !important; }
figure.wp-block-image.size-large { aspect-ratio: 16 / 10; max-width: 100%; }
figure.wp-block-image.size-large img { width: 100% !important; height: auto !important; object-fit: cover !important; }

/* === CLS改善: iframe === */
iframe[src*="google.com/maps"] {
  aspect-ratio: 16 / 9 !important; width: 100% !important;
  height: auto !important; min-height: 400px !important;
}

/* ============================================================
   ベーススタイル
   ============================================================ */
.entry-content, .post-content, article, .single-content {
  font-size: 16px !important; line-height: 1.8 !important; color: #333 !important;
}
.entry-content p, .post-content p, article p {
  font-size: 16px !important; line-height: 1.8 !important; margin: 0.8em 0 !important;
}
.entry-content li, .post-content li, article li {
  font-size: 15px !important; line-height: 1.8 !important;
}

/* リンク */
.entry-content a:not([rel*="sponsored"]):not(.related-link-card):not(.cta-booking-button),
.post-content a:not([rel*="sponsored"]):not(.related-link-card):not(.cta-booking-button),
article a:not([rel*="sponsored"]):not(.related-link-card):not(.cta-booking-button) {
  color: #1A6B5A !important;
}

/* ============================================================
   見出し
   ============================================================ */
.entry-content h2, .post-content h2, article h2 {
  font-size: 1.5em !important; color: #1A6B5A !important;
  border-bottom: 2px solid #1A6B5A !important;
  border-left: 4px solid #1A6B5A !important;
  padding: 0.4em 0 0.3em 0.75em !important;
  margin: 2em 0 0.75em !important;
  background: linear-gradient(to right, #f0f7f5, transparent) !important;
  min-height: 1.5em !important;
}
.entry-content h3, .post-content h3, article h3 {
  font-size: 1.2em !important; color: #333 !important;
  margin: 1.5em 0 0.5em !important;
  padding-left: 0.75em !important;
  border-left: 3px solid #2D9B83 !important;
}

/* ============================================================
   PR開示バナー (.pr-disclosure)
   ============================================================ */
.pr-disclosure {
  background: #f8f8f8 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  margin: 1rem 0 !important;
  font-size: 0.8rem !important;
  color: #6B7280 !important;
  line-height: 1.7 !important;
}

/* ============================================================
   PracticalInfoBox（施設情報カード）
   公開済み記事のインラインスタイルを完全にCSS化
   ============================================================ */
.practical-info-box {
  border: 1px solid #e0e8e6 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 1.5rem 0 !important;
  background: #fff !important;
  padding: 0 !important;
}
.practical-info-box__header {
  background: #1A6B5A !important;
  padding: 12px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}
.practical-info-box__header-icon {
  font-size: 18px !important;
}
.practical-info-box__header-name {
  color: #fff !important;
  font-weight: bold !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
}
/* h4ヘッダー（wp-ingest.js互換） */
.practical-info-box h4 {
  background: #1A6B5A !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  font-size: 1rem !important;
  border-radius: 0 !important;
  border: none !important;
}
.practical-info-box__body {
  padding: 16px 20px !important;
}
.practical-info-box__row {
  display: flex !important;
  gap: 16px !important;
  padding: 10px 0 !important;
  line-height: 1.7 !important;
}
.practical-info-box__row + .practical-info-box__row {
  border-top: 1px solid #f0f0f0 !important;
}
.practical-info-box__label {
  flex-shrink: 0 !important;
  width: 80px !important;
  font-size: 0.8rem !important;
  font-weight: bold !important;
  color: #1A6B5A !important;
}
.practical-info-box__value {
  flex: 1 !important;
  font-size: 0.9rem !important;
  color: #333 !important;
}
/* info-grid / info-label 互換（wp-ingest.js旧形式） */
.practical-info-box .info-grid {
  padding: 16px 20px !important;
  font-size: 0.9rem !important;
  line-height: 1.7 !important;
}
.practical-info-box .info-label {
  font-size: 0.85rem !important;
  font-weight: bold !important;
  color: #1A6B5A !important;
  flex-shrink: 0 !important;
  width: 80px !important;
}

/* ============================================================
   ヒント/チップボックス (.tip-box)
   REHUBテーマの blockquote::before/::after を上書き
   ============================================================ */
.tip-box {
  border-left: 3px solid #2D9B83 !important;
  padding: 1rem 1.25rem !important;
  margin: 1.5rem 0 !important;
  background: #f7fafa !important;
  border-radius: 0 !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
  font-style: normal !important;
  quotes: none !important;
  position: relative !important;
}
/* REHUBテーマの "" を完全無効化 */
.tip-box::before,
.tip-box::after {
  content: none !important;
  display: none !important;
}
.tip-box p {
  margin: 0 0 0.25rem 0 !important;
  line-height: 1.8 !important;
  font-size: 0.9rem !important;
}
.tip-box p:last-child {
  margin-bottom: 0 !important;
}
/* 旧blockquote互換（既存記事） */
blockquote.wp-block-quote {
  border-left: 3px solid #2D9B83 !important;
  padding: 1rem 1.25rem !important;
  margin: 1.5rem 0 !important;
  background: #f7fafa !important;
  font-size: 15px !important;
}

/* ============================================================
   警告/ヒントボックス (.warning-hint-box)
   ============================================================ */
.warning-hint-box {
  background: #fefce8 !important;
  border: 1px solid #fde68a !important;
  border-radius: 12px !important;
  padding: 1.25rem 1.5rem !important;
  margin: 1.5rem 0 !important;
  line-height: 1.8 !important;
}
.warning-hint-box p {
  margin: 0 0 0.75rem 0 !important;
  line-height: 1.8 !important;
  font-size: 0.9rem !important;
}
.warning-hint-box p:last-child {
  margin-bottom: 0 !important;
}
/* 安全注意ボックス互換 */
div[style*="FFF3E0"], div[style*="FEF3C7"] {
  font-size: 0.9rem !important; line-height: 1.8 !important;
}

/* ============================================================
   テーブル (.ashigara-table)
   ============================================================ */
.table-scroll-wrapper {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  margin: 1.5rem 0 !important;
}
.ashigara-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.9rem !important;
  line-height: 1.7 !important;
  min-width: 500px !important;
}
.ashigara-table th {
  background: #1A6B5A !important;
  color: #fff !important;
  padding: 0.75rem 1rem !important;
  text-align: left !important;
  white-space: nowrap !important;
  font-size: 0.9rem !important;
}
.ashigara-table td {
  padding: 0.75rem 1rem !important;
  border-bottom: 1px solid #e5e7eb !important;
  vertical-align: top !important;
}
.ashigara-table tr:nth-child(odd) { background: #fff !important; }
.ashigara-table tr:nth-child(even) { background: #f7fafa !important; }
/* 旧インライン互換 */
.table-responsive table, div[style*="overflow-x"] table {
  font-size: 0.9rem !important; line-height: 1.7 !important;
}
.table-responsive th, div[style*="overflow-x"] th {
  background: #1A6B5A !important; color: #fff !important;
  padding: 0.75rem 1rem !important; white-space: nowrap !important; font-size: 0.9rem !important;
}
.table-responsive td, div[style*="overflow-x"] td {
  padding: 0.75rem 1rem !important; font-size: 0.9rem !important; vertical-align: top !important;
}

/* ============================================================
   CTAアフィリエイトボックス (.cta-affiliate-box)
   ============================================================ */
.cta-affiliate-box {
  margin: 1.5rem 0 !important;
  padding: 24px !important;
  background: #FFF8F3 !important;
  border: 1px solid #F0CDB0 !important;
  border-radius: 12px !important;
}
.cta-affiliate-box--centered {
  text-align: center !important;
}
.cta-affiliate-box__title {
  margin: 0 0 0.75rem 0 !important;
  font-weight: bold !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
}
.cta-affiliate-box__title--centered {
  margin: 0 0 16px !important;
  font-weight: bold !important;
  font-size: 0.95rem !important;
  color: #D4652B !important;
}
.cta-affiliate-box__desc {
  margin: 0 0 0.75rem 0 !important;
  line-height: 1.8 !important;
  font-size: 0.9rem !important;
}
.cta-affiliate-box__buttons {
  text-align: center !important;
}
.cta-affiliate-box__btn-row {
  text-align: center !important;
  margin: 0.75rem 0 !important;
}
.cta-affiliate-box__sub {
  margin: 4px 0 0 !important;
  font-size: 0.75rem !important;
  color: #9CA3AF !important;
}
/* CTAボタン共通 */
a[rel*="sponsored"],
.cta-booking-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  background: #E67635 !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  box-shadow: 0 3px 10px rgba(230,118,53,0.3) !important;
  min-height: 48px !important;
  transition: all 0.25s ease !important;
}
a[rel*="sponsored"]:hover,
.cta-booking-button:hover {
  background: #D4652B !important;
  box-shadow: 0 5px 15px rgba(230,118,53,0.4) !important;
  transform: translateY(-1px) !important;
}
.cta-booking-sub {
  margin: 4px 0 0 !important;
  font-size: 0.75rem !important;
  color: #9CA3AF !important;
}

/* ============================================================
   Google Maps (.map-embed)
   ============================================================ */
.map-embed {
  max-width: 800px !important;
  margin: 1.5em auto !important;
}
.map-embed__title {
  margin: 0 0 0.5em !important;
  color: #1A6B5A !important;
  font-size: 0.95em !important;
}
.map-embed__container {
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid #dee2e6 !important;
}
.map-embed__container iframe {
  border: 0 !important;
  display: block !important;
  width: 100% !important;
}
.map-embed__caption {
  font-size: 0.8em !important;
  color: #888 !important;
  margin: 0.5em 0 0 !important;
}

/* ============================================================
   目次（ToC）
   ============================================================ */
.toc-container {
  background: #f7fafa !important;
  border: 1px solid #e0e8e6 !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin: 1.5em 0 2em !important;
}
.toc-container .toc-title {
  font-size: 1rem !important; font-weight: bold !important; color: #1A6B5A !important;
  margin: 0 0 12px !important; padding-bottom: 8px !important;
  border-bottom: 1px solid #e0e8e6 !important;
}
.toc-container ol {
  margin: 0 !important; padding-left: 1.5em !important;
  list-style: none !important; counter-reset: toc !important;
}
.toc-container li {
  margin: 6px 0 !important; font-size: 0.9rem !important;
  line-height: 1.6 !important; counter-increment: toc !important;
}
.toc-container li::before {
  content: counter(toc) ". " !important; color: #1A6B5A !important; font-weight: bold !important;
}
.toc-container a { color: #555 !important; text-decoration: none !important; }
.toc-container a:hover { color: #1A6B5A !important; text-decoration: underline !important; }

/* ============================================================
   FAQ（カード型）
   ============================================================ */
.faq-section { margin: 1.5em 0 !important; }
.faq-item {
  margin-bottom: 12px !important;
  border: 1px solid #e0e8e6 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
.faq-question {
  background: #f7fafa !important;
  padding: 14px 16px !important;
  font-weight: bold !important;
  font-size: 0.95rem !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin: 0 !important;
}
.faq-question .q-badge {
  background: #1A6B5A !important; color: #fff !important;
  border-radius: 50% !important;
  min-width: 26px !important; height: 26px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 0.8rem !important; flex-shrink: 0 !important;
}
.faq-answer {
  padding: 14px 16px 14px 52px !important;
  font-size: 0.9rem !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

/* ============================================================
   スクロールヒント
   ============================================================ */
.scroll-hint {
  display: flex !important; align-items: center !important; justify-content: flex-end !important;
  gap: 6px !important; font-size: 0.8rem !important; color: #999 !important;
  margin-top: 6px !important; padding-right: 4px !important;
}

/* ============================================================
   インフォグラフィック
   ============================================================ */
.infographic-container { margin: 1.5em auto !important; max-width: 800px !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
.infographic-container svg { max-width: 100% !important; height: auto !important; }
.infographic-container__inner { min-width: 600px !important; }
.infographic-container__attr {
  text-align: right !important; font-size: 0.7em !important;
  color: #bbb !important; margin: 0.2em 0 0 !important;
}

/* ============================================================
   コースセクション（JP-12等）
   ============================================================ */
.course-section {
  border: 1px solid #e0e8e6 !important; border-radius: 12px !important;
  margin: 2rem 0 !important; padding: 0 24px 24px !important;
  overflow: hidden !important; background: #fff !important;
}
.course-section--a { border-left: 4px solid #1A6B5A !important; }
.course-section--b { border-left: 4px solid #2D7D9A !important; }
.course-section--c { border-left: 4px solid #8B6914 !important; }
.course-section .course-card { margin: 0 -24px !important; }
.course-section .course-info-box {
  margin: 1.5rem 0 0 0 !important; border-left: none !important;
  border-radius: 8px !important; border: 1px solid #e0e8e6 !important;
}
.course-section .timeline { margin: 1.5rem 0 !important; }
.course-section .faq-section { margin: 1.5rem 0 !important; }
.course-section .related-link-card { margin: 0.75rem 0 !important; }
.course-section blockquote,
.course-section .tip-box { margin: 1.5rem 0 !important; }

/* コースセクションヘッダー */
.course-section-header {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 1.5rem 0 0.5rem !important; padding: 10px 0 !important;
}
.course-section-header--a { border-bottom: 2px solid #1A6B5A !important; }
.course-section-header--b { border-bottom: 2px solid #2D7D9A !important; }
.course-section-header--c { border-bottom: 2px solid #8B6914 !important; }
.course-section-header__icon { font-size: 16px !important; }
.course-section-header__text--a { font-weight: bold !important; font-size: 0.95rem !important; color: #1A6B5A !important; }
.course-section-header__text--b { font-weight: bold !important; font-size: 0.95rem !important; color: #2D7D9A !important; }
.course-section-header__text--c { font-weight: bold !important; font-size: 0.95rem !important; color: #8B6914 !important; }

/* コースカード */
.course-card { overflow: hidden !important; margin: 0 !important; background: #fff !important; }
:not(.course-section) > .course-card {
  border: 1px solid #e0e8e6 !important; border-radius: 12px !important;
  margin: 1.5em 0 2em !important;
}
.course-header {
  padding: 14px 20px !important; font-weight: bold !important;
  font-size: 1.05rem !important; color: #fff !important;
}
.course-header.theme-a { background: #1A6B5A !important; }
.course-header.theme-b { background: #2D7D9A !important; }
.course-header.theme-c { background: #8B6914 !important; }
.course-body { padding: 16px 20px !important; }
.course-meta {
  display: flex !important; flex-wrap: wrap !important;
  gap: 8px !important; margin-bottom: 12px !important;
}
.tag {
  display: inline-block !important; padding: 3px 10px !important;
  border-radius: 20px !important; font-size: 0.8rem !important; font-weight: 500 !important;
}
.tag-theme { background: #e8f5e9 !important; color: #2e7d32 !important; }
.tag-difficulty { background: #fff3e0 !important; color: #e65100 !important; }
.tag-season { background: #fce4ec !important; color: #c62828 !important; }

/* コースハイライトボックス */
.course-highlight-box { border-radius: 0 8px 8px 0 !important; padding: 16px 20px !important; margin: 16px 0 !important; }
.course-highlight-box--a { background: #f0f7f5 !important; border-left: 4px solid #1A6B5A !important; }
.course-highlight-box--b { background: #eef5f8 !important; border-left: 4px solid #2D7D9A !important; }
.course-highlight-box--c { background: #faf6ee !important; border-left: 4px solid #8B6914 !important; }
.course-highlight-box__title--a { font-weight: bold !important; font-size: 15px !important; color: #1A6B5A !important; margin-bottom: 10px !important; }
.course-highlight-box__title--b { font-weight: bold !important; font-size: 15px !important; color: #2D7D9A !important; margin-bottom: 10px !important; }
.course-highlight-box__title--c { font-weight: bold !important; font-size: 15px !important; color: #8B6914 !important; margin-bottom: 10px !important; }
.course-highlight-box ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.course-highlight-box li {
  padding: 6px 0 6px 28px !important; position: relative !important;
  line-height: 1.7 !important; font-size: 14px !important; color: #333 !important;
}
.course-highlight-box--a li::before { content: '✓' !important; position: absolute !important; left: 0 !important; color: #1A6B5A !important; font-weight: bold !important; }
.course-highlight-box--b li::before { content: '✓' !important; position: absolute !important; left: 0 !important; color: #2D7D9A !important; font-weight: bold !important; }
.course-highlight-box--c li::before { content: '✓' !important; position: absolute !important; left: 0 !important; color: #8B6914 !important; font-weight: bold !important; }

/* タイムライン */
.timeline { list-style: none !important; padding: 0 !important; margin: 16px 0 0 !important; position: relative !important; }
.timeline::before {
  content: '' !important; position: absolute !important; left: 118px !important;
  top: 8px !important; bottom: 8px !important; width: 2px !important; background: #e0e8e6 !important;
}
.timeline li {
  display: flex !important; align-items: flex-start !important;
  padding: 10px 0 !important; position: relative !important;
  font-size: 0.9rem !important; line-height: 1.6 !important;
}
.tl-time {
  min-width: 100px !important; flex-shrink: 0 !important; font-weight: bold !important;
  color: #1A6B5A !important; font-size: 0.85rem !important;
  padding-top: 2px !important; text-align: right !important; padding-right: 14px !important;
}
.tl-dot {
  width: 12px !important; height: 12px !important; border-radius: 50% !important;
  background: #1A6B5A !important; border: 2px solid #fff !important;
  box-shadow: 0 0 0 2px #1A6B5A !important;
  margin: 5px 14px 0 0 !important; flex-shrink: 0 !important; z-index: 1 !important;
}
.dot-b { background: #2D7D9A !important; box-shadow: 0 0 0 2px #2D7D9A !important; }
.dot-c { background: #8B6914 !important; box-shadow: 0 0 0 2px #8B6914 !important; }
.tl-content { flex: 1 !important; padding-top: 1px !important; }
.tl-action { display: block !important; font-weight: bold !important; color: #333 !important; }
.tl-detail { display: block !important; font-size: 0.8rem !important; color: #888 !important; margin-top: 3px !important; }

/* コース実用情報ボックス */
.course-info-box {
  margin: 1.5rem 0 0 0 !important; background: #fafcfb !important;
  border-top: 1px solid #e0e8e6 !important; overflow: hidden !important;
}
.course-info-box__header {
  display: flex !important; align-items: center !important; gap: 8px !important;
  padding: 14px 28px !important; font-weight: bold !important; font-size: 0.95rem !important;
  border-bottom: 1px solid #e0e8e6 !important; background: #f5f9f8 !important;
}
.course-info-box > div:last-child { padding: 16px 28px !important; }

/* セクション見出し（アイコン付き） */
.section-heading-icon {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin: 24px 0 12px !important; padding: 10px 16px !important;
  background: #F7FAFA !important; border-left: 4px solid #1A6B5A !important;
  border-radius: 0 6px 6px 0 !important;
}
.section-heading-icon__icon { font-size: 16px !important; }
.section-heading-icon__text { font-weight: bold !important; font-size: 1rem !important; color: #1A6B5A !important; }

/* ============================================================
   旅の計画に カード
   ============================================================ */
.travel-plan-card {
  margin: 2rem 0 !important; border: 1px solid #e0e8e6 !important;
  border-radius: 12px !important; overflow: hidden !important; background: #fff !important;
}
.travel-plan-card__header {
  background: linear-gradient(135deg, #1A6B5A, #2D9B83) !important;
  padding: 14px 20px !important; display: flex !important;
  align-items: center !important; gap: 10px !important;
}
.travel-plan-card__header-icon { font-size: 22px !important; }
.travel-plan-card__header-title {
  margin: 0 !important; color: #fff !important; font-size: 1rem !important;
  font-weight: bold !important; line-height: 1.3 !important; display: inline !important;
}
.travel-plan-card__header-sub {
  margin: 0 0 0 0.5em !important; color: rgba(255,255,255,0.85) !important;
  font-size: 0.85rem !important; font-weight: bold !important;
  line-height: 1.3 !important; display: inline !important;
}
.travel-plan-card__body { padding: 16px 20px !important; }

/* 関連記事リンクカード */
.related-link-card {
  display: flex !important; align-items: center !important; gap: 14px !important;
  padding: 0 !important; margin: 0.75rem 0 !important;
  background: #fff !important; border: 1px solid #e0e8e6 !important;
  border-radius: 8px !important; text-decoration: none !important;
  color: #333 !important; font-size: 0.9rem !important;
  line-height: 1.5 !important; min-height: 80px !important;
  overflow: hidden !important; transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}
.related-link-card:hover {
  border-color: #2D9B83 !important;
  box-shadow: 0 2px 8px rgba(26,107,90,0.12) !important;
}
.related-link-card__thumb {
  flex-shrink: 0 !important; width: 120px !important; height: 80px !important;
  object-fit: cover !important; display: block !important;
  background: linear-gradient(135deg, #e8f0ee, #d4e4df) !important;
  aspect-ratio: 3 / 2 !important;
}
.related-link-card__body {
  flex: 1 !important; padding: 10px 14px 10px 0 !important;
  display: flex !important; align-items: center !important; gap: 8px !important;
}
.related-link-card__title {
  flex: 1 !important; font-weight: bold !important; font-size: 0.9rem !important;
  color: #333 !important; line-height: 1.5 !important;
}
.related-link-card__arrow { color: #2D9B83 !important; font-size: 18px !important; flex-shrink: 0 !important; }

/* リンクリスト */
.link-list { list-style: none !important; padding: 0 !important; margin: 1rem 0 !important; }
.link-list li {
  padding: 0.5rem 0 !important; border-bottom: 1px solid #f0f0f0 !important; line-height: 1.7 !important;
}

/* 画像プレースホルダー */
.photo-placeholder {
  display: none !important; margin: 1rem 0 !important;
  border-radius: 8px !important; overflow: hidden !important;
}
.photo-placeholder img { width: 100% !important; height: auto !important; display: block !important; object-fit: cover !important; }

/* ============================================================
   モバイル対応
   ============================================================ */
@media (max-width: 768px) {
  .entry-content, .post-content, article, .single-content { font-size: 15px !important; }
  /* PracticalInfoBox: 1カラム */
  .practical-info-box__row { flex-direction: column !important; gap: 2px !important; }
  .practical-info-box__label { width: auto !important; }
  .practical-info-box .info-grid { display: block !important; }
  .practical-info-box .info-label { width: auto !important; margin-bottom: 2px !important; }
  /* TOC */
  .toc-container { padding: 16px !important; }
  /* FAQ */
  .faq-answer { padding-left: 16px !important; }
  /* コース */
  .course-meta { gap: 6px !important; }
  .tag { font-size: 0.75rem !important; padding: 2px 8px !important; }
  .timeline::before { left: 90px !important; }
  .tl-time { min-width: 76px !important; font-size: 0.78rem !important; padding-right: 10px !important; }
  /* 旅の計画に */
  .travel-plan-card__body { padding: 12px 16px !important; }
  .related-link-card__thumb { width: 90px !important; height: 68px !important; }
  .related-link-card__title { font-size: 0.85rem !important; }
  .related-link-card__body { padding: 8px 10px 8px 0 !important; }
  .cta-booking-button, a[rel*="sponsored"] { padding: 12px 20px !important; font-size: 0.9rem !important; }
  /* CLS */
  .wp-block-image { min-height: 150px !important; }
  figure.wp-block-image.size-large { aspect-ratio: 16 / 10; }
  iframe[src*="google.com/maps"] { min-height: 300px !important; }
}
