/* =========================================================
   rwnormalife デザイン（JIN:R 子テーマ）
   - ベース：STORES（オフホワイト・大きな角丸・広い余白・ピル型ボタン）
   - 構成 ：DOD（英字ラベル見出し・写真主役のヒーロー・ベージュ）
   - 質感 ：hearts（丸ゴシック・淡い背景色）
   - 配色 ：オフホワイト + 淡いブルー

   JIN:R はカスタマイザーの設定を <style> でページに直接出力し、それがこのファイルより
   後に読み込まれる。同じ詳細度だと負けるため、各セレクタの先頭に #wrapper を付けている。
   JIN:R は html{font-size:62.5%}（1rem=10px）なので、サイズは px で指定する。
   ========================================================= */
:root {
  --rw-bg: #f7f5f0;
  --rw-surface: #fffefb;
  --rw-subtle: #efece5;
  --rw-beige: #f1ece2;
  --rw-text: #33332f;
  --rw-muted: #74726c;
  --rw-line: #e4e0d8;
  --rw-accent: #4d7297;       /* 文字・リンク用のくすみブルー */
  --rw-accent-soft: #a9c4de;  /* 見出しの線・点などの飾り */
  --rw-accent-fill: #dbe7f2;  /* ボタン・ロゴの塗り */
  --rw-accent-fill-hover: #c9dbec;
  --rw-on-accent: #2d4661;    /* 塗りの上の文字 */
  --rw-accent-tint: #edf3f8;  /* 見出し帯・プロフィール背景 */
  --rw-warm: #cf8a5c;
  --rw-marker: #f9e4d3;
  --rw-footer-bg: #ebe6dc;
  --rw-footer-text: #3a3935;

  --rw-r-m: 16px;
  --rw-r-l: 24px;
  --rw-r-xl: 32px;
  --rw-shadow-m: 0 2px 6px rgb(10 10 10 / 0.04), 0 12px 32px rgb(10 10 10 / 0.07);

  --rw-font-body: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Yu Gothic UI', 'Meiryo', sans-serif;
  --rw-font-head: 'Zen Maru Gothic', var(--rw-font-body);
  --rw-font-en: 'Barlow Condensed', 'Zen Maru Gothic', 'Arial Narrow', sans-serif;
  --rw-container: 1200px;
}

/* ===== ベース ===== */
html body:not(.wp-admin),
html body:not(.wp-admin) #wrapper {
  background: var(--rw-bg);
  color: var(--rw-text);
  font-family: var(--rw-font-body);
  -webkit-font-smoothing: antialiased;
}
#wrapper .ef { font-family: var(--rw-font-en); }
#wrapper .jinr-article a:not([class]),
#wrapper .o--widget-area a:not([class]) { color: var(--rw-accent); text-underline-offset: 3px; }

/* 本文エリアの白い枠をなくして背景になじませる */
#wrapper #mainContent,
#wrapper #mainContent #mainContentInner,
#wrapper #mainContent #jinrArticle,
#wrapper #mainContent #postContent {
  background: transparent;
  box-shadow: none;
  border: 0;
}

/* ===== ヘッダー（半透明・追従） ===== */
#wrapper #commonHeader,
#wrapper #commonHeader.d--commonheader-cover {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: rgb(247 245 240 / 0.88) !important;
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid var(--rw-line);
}
.admin-bar #wrapper #commonHeader { top: 32px; }
@media (max-width: 782px) { .admin-bar #wrapper #commonHeader { top: 46px; } }
#wrapper #commonHeader #commonHeaderInner { height: 72px; max-width: var(--rw-container); }
@media (max-width: 551px) { #wrapper #commonHeader #commonHeaderInner { height: 60px; } }

#wrapper #headerLogoLink {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--rw-text) !important;
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: 16.8px;
  letter-spacing: 0.02em;
  text-decoration: none;
}
/* ロゴマーク：プロフィールのイラスト（山とバイク）を角丸四角で */
#wrapper #headerLogoLink::before {
  content: '';
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--rw-accent-fill) url('../img/logo-mark.jpg') center / cover no-repeat;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.06);
}
@media (max-width: 551px) {
  #wrapper #headerLogoLink { font-size: 14.72px; gap: 10px; }
  #wrapper #headerLogoLink::before { width: 34px; height: 34px; border-radius: 10px; }
}

/* グローバルメニュー：ラベルを <span class="rw-en">TRAVEL</span>お出かけ にすると英日2段になる */
#wrapper #globalMenuList .menu-item a {
  color: var(--rw-text);
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: 11.52px;
  line-height: 1.4;
  text-align: center;
  border-radius: 12px;
  transition: background 0.2s ease;
}
#wrapper #globalMenuList .menu-item a:hover { background: var(--rw-subtle); color: var(--rw-text); }
#wrapper #globalMenuList > li a::after { background-color: var(--rw-accent-soft); }
#wrapper #globalMenuList .rw-en {
  display: block;
  font-family: var(--rw-font-en);
  font-weight: 600;
  font-size: 15.68px;
  letter-spacing: 0.06em;
  line-height: 1.3;
}
#wrapper #globalMenuList .current-menu-item .rw-en,
#wrapper #globalMenuList .current-post-ancestor .rw-en { color: var(--rw-accent); }

#wrapper #headerSearch .a--search-icon,
#wrapper #headerSearch .a--search-icon i,
#wrapper #headerSearch .a--search-label,
#wrapper .c--menu-trigger .a--menu-label { color: var(--rw-text); }
#wrapper .c--menu-trigger .a--menu-bar,
#wrapper .c--menu-trigger .a--menu-bar::before,
#wrapper .c--menu-trigger .a--menu-bar::after { background-color: var(--rw-text); }

/* ハンバーガーメニューの中身 */
#wrapper .o--hamburger-menu-container { background: var(--rw-bg); }
#wrapper .o--hamburger-menu-container a,
#wrapper .o--hamburger-menu .a--hamburger-menu-title { color: var(--rw-text); }

/* ===== ヒーロー（メインビジュアル：静止画） ===== */
#wrapper #commonHeader + .o--jinr-mainvisual.o--jinr-stillimage,
#wrapper .o--jinr-mainvisual.o--jinr-stillimage {
  width: min(100% - 32px, var(--rw-container)) !important;
  max-width: none !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  border-radius: var(--rw-r-xl);
  overflow: hidden;
  position: relative;
  z-index: 1;
  isolation: isolate;
}
#wrapper .o--jinr-stillimage .c--stillimage {
  min-height: 0; /* 旧版 style.css の min-height:72vh を打ち消す */
  border-radius: var(--rw-r-xl);
}
#wrapper .o--jinr-stillimage .a--stillimage {
  height: clamp(360px, 48vw, 600px);
  max-height: none;
  background-position: center;
}
#wrapper .o--jinr-stillimage .a--stillimage-overlay {
  display: block;
  z-index: 1;
  opacity: 1;
  /* 中央の文字が読めるよう全体を少し暗く（中心ほど濃く） */
  background:
    radial-gradient(ellipse at center, rgb(0 0 0 / 0.30) 0%, rgb(0 0 0 / 0.12) 70%),
    rgb(0 0 0 / 0.12);
}
/* コピーは写真の中央に中央ぞろえ */
#wrapper .o--jinr-stillimage .c--stillimage-contents {
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  width: min(88%, 920px);
  max-width: none;
  transform: translate(-50%, -50%);
  padding: 0 !important;
  z-index: 2;
  text-align: center;
}
#wrapper .o--jinr-stillimage .a--stillimage-maincopy {
  color: #fff;
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: clamp(26px, 3.6vw, 46px);
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  word-break: auto-phrase;
  text-shadow: 0 2px 18px rgb(0 0 0 / 0.45);
}
#wrapper .o--jinr-stillimage .a--stillimage-subcopy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #fff;
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: clamp(14px, 1.5vw, 18px);
  line-height: 1.7;
  letter-spacing: 0.08em;
  text-align: center;
  word-break: auto-phrase;
  margin-top: 18px;
  padding: 0;
  text-shadow: 0 2px 12px rgb(0 0 0 / 0.45);
}
#wrapper .o--jinr-stillimage .a--stillimage-subcopy::before,
#wrapper .o--jinr-stillimage .a--stillimage-subcopy::after {
  content: '';
  flex: none;
  width: 32px;
  height: 1px;
  background: rgb(255 255 255 / 0.75);
}
@media (max-width: 551px) {
  #wrapper .o--jinr-mainvisual.o--jinr-stillimage,
  #wrapper .o--jinr-stillimage .c--stillimage { border-radius: var(--rw-r-l); }
  #wrapper .o--jinr-stillimage .a--stillimage { height: calc((100vw - 32px) * 1.15); }
  #wrapper .o--jinr-stillimage .c--stillimage-contents { width: 90%; }
  #wrapper .o--jinr-stillimage .a--stillimage-maincopy { font-size: 23px; line-height: 1.55; }
  #wrapper .o--jinr-stillimage .a--stillimage-subcopy { font-size: 13px; letter-spacing: 0.04em; }
  #wrapper .o--jinr-stillimage .a--stillimage-subcopy::before,
  #wrapper .o--jinr-stillimage .a--stillimage-subcopy::after { display: none; }
}

/* ===== セクション見出し（デザインタイトル：英字 + 日本語） ===== */
#wrapper .b--jinr-h2rich {
  border: 0;
  padding: 0;
  margin-bottom: 28px;
  background: none;
}
#wrapper .b--jinr-h2rich .c--h2rich-contents {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 0;
}
#wrapper .b--jinr-h2rich.d--h2rich-center .c--h2rich-contents { align-items: center; }
#wrapper .b--jinr-h2rich .a--h2rich-maincopy {
  order: 1;
  margin: 0;
  padding: 0;
  color: var(--rw-text) !important; /* ブロック側で style="color:…" が付くため */
  font-family: var(--rw-font-en);
  font-weight: 600;
  font-size: clamp(38.4px, 6vw, 54.4px);
  line-height: 1;
  letter-spacing: 0.01em;
  background: none;
  border: 0;
}
#wrapper .b--jinr-h2rich .a--h2rich-subcopy {
  order: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rw-muted) !important;
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: 15.2px;
  letter-spacing: 0;
}
#wrapper .b--jinr-h2rich .a--h2rich-subcopy::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rw-accent-soft);
}
/* サブコピーのない見出し（カテゴリ名・ブログ概要など）は日本語見出しとして表示 */
#wrapper .b--jinr-h2rich:not(:has(.a--h2rich-subcopy)) .a--h2rich-maincopy {
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: clamp(24px, 3.4vw, 32px);
  letter-spacing: 0.02em;
}
#wrapper .b--jinr-h2rich .a--h2rich-maincopy::before,
#wrapper .b--jinr-h2rich .a--h2rich-maincopy::after,
#wrapper .a--h2rich-decoration-before,
#wrapper .a--h2rich-decoration-after { display: none; }

/* ===== 記事カード（記事一覧ブロック・関連記事 共通） ===== */
#wrapper .b--jinr-postlist {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 28px;
  margin-bottom: 48px;
}
#wrapper .b--jinr-postlist.d--postlist-column4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; }
#wrapper .b--jinr-postlist .o--postlist-item {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
}
#wrapper .o--postlist-item {
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}
#wrapper .o--postlist-item .c--post-link {
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
  padding: 0;
  color: var(--rw-text);
  text-decoration: none;
  background: transparent;
  box-shadow: none;
  border: 0;
}
#wrapper .o--postlist-item .c--post-image {
  position: relative;
  flex: none;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 0;
  aspect-ratio: 16 / 9;
  border-radius: var(--rw-r-l);
  overflow: hidden;
  background: var(--rw-subtle);
}
#wrapper .o--postlist-item .c--post-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  transition: transform 0.5s ease;
}
#wrapper .o--postlist-item .c--post-link:hover .c--post-image img { transform: scale(1.05); }
#wrapper .o--postlist-item .c--post-contents {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: auto;
  padding: 0 4px;
  background: none;
}
#wrapper .o--postlist-item .c--post-meta {
  position: static;
  inset: auto;
  order: -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin: 0;
  color: var(--rw-muted);
  font-size: 12.48px;
}
#wrapper .o--postlist-item .a--post-title {
  margin: 0;
  color: var(--rw-text);
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: 16.32px;
  line-height: 1.6;
}
#wrapper .o--postlist-item .c--post-link:hover .a--post-title { color: var(--rw-accent) !important; }
#wrapper .o--postlist-item .a--post-date {
  color: var(--rw-muted);
  font-family: var(--rw-font-en);
  font-size: 14.4px;
  letter-spacing: 0.04em;
}
#wrapper .o--postlist-item .a--post-category {
  display: inline-flex;
  align-items: center;
  padding: 1px 10px;
  border-radius: 999px;
  background: var(--rw-accent-tint);
  color: var(--rw-accent);
  font-size: 11.52px;
  font-weight: 700;
  line-height: 1.9;
}
#wrapper .o--postlist-item .a--post-category::before,
#wrapper .o--postlist-item .a--post-category i { display: none; }

@media (max-width: 960px) {
  #wrapper .b--jinr-postlist,
  #wrapper .b--jinr-postlist.d--postlist-column4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* スマホは「写真左・文字右」のリスト */
@media (max-width: 640px) {
  #wrapper .b--jinr-postlist,
  #wrapper .b--jinr-postlist.d--postlist-column4 { grid-template-columns: 1fr; gap: 20px; }
  #wrapper .b--jinr-postlist .c--post-link { flex-direction: row; align-items: flex-start; gap: 14px; }
  #wrapper .b--jinr-postlist .c--post-image { flex: 0 0 42%; width: 42%; aspect-ratio: 4 / 3; border-radius: var(--rw-r-m); }
  #wrapper .b--jinr-postlist .c--post-contents { padding: 0; }
  #wrapper .b--jinr-postlist .a--post-title { font-size: 14.72px; line-height: 1.55; }
}

/* ===== トップページ：2カラム（新着 + プロフィール）を縦積みに ===== */
.home #wrapper #postContent > .wp-block-columns { display: block; }
.home #wrapper #postContent > .wp-block-columns > .wp-block-column { width: 100%; margin: 0 0 56px; }

/* ===== カテゴリタイル（リッチメニュー） ===== */
#wrapper .b--jinr-richmenu {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
#wrapper .b--jinr-richmenu .o--richmenu-item {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: var(--rw-r-l);
  overflow: hidden;
  background: var(--rw-surface);
  box-shadow: var(--rw-shadow-m);
  color: var(--rw-text);
  text-decoration: none;
  transition: transform 0.25s ease;
}
#wrapper .b--jinr-richmenu .o--richmenu-item:hover { transform: translateY(-4px); }
#wrapper .b--jinr-richmenu .o--richmenu-item-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  aspect-ratio: auto;
  background: none;
}
#wrapper .b--jinr-richmenu .o--richmenu-item-inner::before,
#wrapper .b--jinr-richmenu .o--richmenu-item-inner::after { display: none; }
#wrapper .b--jinr-richmenu .a--richmenu-image {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--rw-accent-tint);
}
#wrapper .b--jinr-richmenu .a--richmenu-image::before,
#wrapper .b--jinr-richmenu .a--richmenu-image::after { display: none; }
#wrapper .b--jinr-richmenu .a--richmenu-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  filter: none;
}
#wrapper .b--jinr-richmenu .c--richmenu-contents {
  position: static;
  transform: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: auto;
  padding: 16px 20px 20px;
  background: none;
  color: var(--rw-text);
  text-align: left;
}
#wrapper .b--jinr-richmenu .c--richmenu-contents::before {
  order: 0;
  color: var(--rw-accent);
  font-family: var(--rw-font-en);
  font-weight: 600;
  font-size: 14.4px;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
/* 英字ラベルはメニューの並び順で付ける（お出かけ / お得に生活 / 学習 / 体験談） */
#wrapper .b--jinr-richmenu .o--richmenu-item:nth-child(1) .c--richmenu-contents::before { content: 'TRAVEL'; }
#wrapper .b--jinr-richmenu .o--richmenu-item:nth-child(2) .c--richmenu-contents::before { content: 'MONEY'; }
#wrapper .b--jinr-richmenu .o--richmenu-item:nth-child(3) .c--richmenu-contents::before { content: 'STUDY'; }
#wrapper .b--jinr-richmenu .o--richmenu-item:nth-child(4) .c--richmenu-contents::before { content: 'EXPERIENCE'; }
#wrapper .b--jinr-richmenu .a--richmenu-text {
  order: 1;
  color: var(--rw-text);
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: 17.6px;
  line-height: 1.5;
  text-shadow: none;
}
#wrapper .b--jinr-richmenu .a--richmenu-subtext {
  order: 2;
  margin-top: 4px;
  color: var(--rw-muted);
  font-family: var(--rw-font-body);
  font-size: 13.12px;
  text-shadow: none;
}
@media (max-width: 960px) {
  #wrapper .b--jinr-richmenu { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  #wrapper .b--jinr-richmenu .c--richmenu-contents { padding: 12px 14px 16px; }
  #wrapper .b--jinr-richmenu .a--richmenu-text { font-size: 15.2px; }
}

/* ===== プロフィール（hearts 風の淡い背景） ===== */
/* 親テーマは style1 で中身を absolute 配置しているので、通常の流れに戻す */
#wrapper .b--jinr-profile.d--profile-style1,
#wrapper .b--jinr-profile.d--profile-author { display: block; }
#wrapper .b--jinr-profile .o--profile-contents {
  position: static;
  height: auto;
  width: auto;
  padding: 0 !important;
  text-align: left;
}
#wrapper .b--jinr-profile .a--profile-image { margin: 0; flex-shrink: 0; }
#wrapper .b--jinr-profile {
  padding: clamp(24px, 4vw, 40px);
  border: 0;
  border-radius: var(--rw-r-l);
  background: var(--rw-accent-tint);
  box-shadow: none;
}
#wrapper .b--jinr-profile .o--profile-contents {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0;
}
#wrapper .b--jinr-profile .a--profile-image,
#wrapper .b--jinr-profile .a--profile-image img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
}
#wrapper .b--jinr-profile .a--profile-name {
  color: var(--rw-text);
  font-family: var(--rw-font-head);
  font-size: 19.2px;
}
#wrapper .b--jinr-profile .a--profile-job:empty { display: none; }
#wrapper .b--jinr-profile .o--profile-contents { flex-wrap: wrap; }
#wrapper .b--jinr-profile .c--profile-meta { flex: 1 1 0; width: auto; min-width: 0; margin: 0; padding: 0; text-align: left; }
#wrapper .b--jinr-profile .a--profile-introduction {
  flex-basis: 100%;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  background: none;
  font-size: 14.72px;
  line-height: 1.9;
}
#wrapper .b--jinr-profile .a--profile-label {
  color: var(--rw-accent);
  font-family: var(--rw-font-en);
  font-weight: 600;
  font-size: 14.4px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
#wrapper .b--jinr-profile .a--profile-label::before { display: none; }

/* 記事下の「この記事を書いた人」ラベル */
#wrapper .jinr-profile-label {
  margin: 56px 0 12px;
  color: var(--rw-accent);
  font-family: var(--rw-font-en);
  font-weight: 600;
  letter-spacing: 0.12em;
}
#wrapper .jinr-profile-label::before { display: none; }
#wrapper .jinr-profile-label span { background: none; color: inherit; padding: 0; }

/* ===== 背景ブロック（ブログ概要など）はベージュの角丸パネルに ===== */
#wrapper .b--jinr-background .o--background-container,
#wrapper .b--jinr-background .c--background-inner {
  border: 0;
  border-radius: var(--rw-r-l);
  box-shadow: none;
}
#wrapper .b--jinr-background .a--background-color { background: var(--rw-beige) !important; opacity: 1; border-radius: var(--rw-r-l); }
#wrapper .b--jinr-background .a--background-image { display: none; }

/* ===== 記事ページ ===== */
#wrapper #postHeader { margin-bottom: 8px; }
#wrapper #jinrPostMeta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: var(--rw-muted);
  font-size: 13.6px;
}
#wrapper #jinrPostMeta .c--jinr-post-date i,
#wrapper #jinrPostMeta .a--post-cat .jif { display: none; }
#wrapper #jinrPostMeta time { font-family: var(--rw-font-en); font-size: 16px; letter-spacing: 0.04em; }
#wrapper #mainContent .a--post-cat a {
  display: inline-flex;
  align-items: center;
  padding: 1px 12px;
  border-radius: 999px;
  background: var(--rw-accent-tint);
  color: var(--rw-accent);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.9;
  text-decoration: none;
}
#wrapper #jinrPostTitle {
  margin: 14px 0 28px;
  color: var(--rw-text);
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: clamp(25.6px, 4.2vw, 36.8px);
  line-height: 1.45;
  letter-spacing: 0.02em;
  word-break: auto-phrase;
}
#wrapper #jinrPostThumb,
#wrapper #jinrPostThumb img { border-radius: var(--rw-r-xl); overflow: hidden; }

#wrapper #postContent { font-size: 16.32px; line-height: 2.05; }
#wrapper #postContent strong { background: linear-gradient(transparent 60%, var(--rw-marker) 60%); }

/* 見出し共通：JIN:R が太さ 400・広めの字間に固定しているので上書き */
#wrapper #jinrArticle .jinr-heading,
#wrapper #jinrPostTitle,
#wrapper .o--postlist-item .a--post-title {
  font-weight: 700 !important;
  letter-spacing: 0.02em;
}

/* 見出し：H2 は淡いブルーの角丸ボックス + 左の短い線 */
#wrapper #jinrArticle h2.jinr-heading {
  position: relative;
  margin: 3.2em 0 1.1em;
  padding: 0.75em 1em 0.75em 1.35em;
  color: var(--rw-text);
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: 23.2px;
  line-height: 1.55;
  background: var(--rw-accent-tint);
  border: 0;
  border-radius: var(--rw-r-m);
  box-shadow: none;
}
#wrapper #jinrArticle h2.jinr-heading::before {
  content: '';
  position: absolute;
  left: 0.6em;
  top: 0.8em;
  bottom: 0.8em;
  width: 4px;
  height: auto;
  margin: 0;
  border: 0;
  border-width: 0;
  border-radius: 4px;
  background: var(--rw-accent-soft);
  transform: none;
}
#wrapper #jinrArticle h2.jinr-heading::after { content: none; display: none; }
@media (max-width: 551px) {
  #wrapper #jinrArticle h2.jinr-heading { font-size: 20px; }
  #wrapper #jinrArticle h3.jinr-heading { font-size: 18px; }
}

/* H3 はオレンジの丸 + 下線 */
#wrapper #jinrArticle h3.jinr-heading {
  position: relative;
  margin: 2.6em 0 0.9em;
  padding: 0 0 0.5em;
  color: var(--rw-text);
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: 19.52px;
  line-height: 1.6;
  background: none;
  border: 0;
  border-bottom: 2px solid var(--rw-line);
}
#wrapper #jinrArticle h3.jinr-heading::before {
  content: '';
  position: static;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
  border: 0;
  border-radius: 50%;
  background: var(--rw-warm);
  vertical-align: 0.12em;
  transform: none;
}
#wrapper #jinrArticle h3.jinr-heading::after { content: none; display: none; }

/* H4 はくすみブルーの文字だけ */
#wrapper #jinrArticle h4.jinr-heading {
  margin: 2em 0 0.7em;
  padding: 0;
  color: var(--rw-accent);
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: 17.28px;
  background: none;
  border: 0;
}
#wrapper #jinrArticle h4.jinr-heading::before,
#wrapper #jinrArticle h4.jinr-heading::after { content: none; display: none; }

/* 本文直下のリストは淡いグレーの角丸ボックス */
#wrapper #postContent > ul.jinr-list,
#wrapper #postContent > ol.jinr-list {
  padding: 1.1em 1.4em 1.1em 2.4em;
  border: 0;
  border-radius: var(--rw-r-m);
  background: var(--rw-subtle);
}

/* ボックス類は角丸をそろえる */
#wrapper #postContent .b--jinr-box,
#wrapper #postContent .b--jinr-iconbox > div { border-radius: var(--rw-r-m); }

/* 写真：角丸 + キャプションは写真の下に */
#wrapper #postContent .wp-block-image img,
#wrapper #postContent .wp-block-gallery img { border-radius: var(--rw-r-m); }
#wrapper #postContent .wp-block-gallery.has-nested-images {
  --wp--style--unstable-gallery-gap: 12px;
  gap: 12px;
  margin-bottom: 1.8em;
}
#wrapper #postContent .wp-block-gallery.has-nested-images figure.wp-block-image { flex-direction: column; }
#wrapper #postContent .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { display: none; }
#wrapper #postContent .wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
#wrapper #postContent .wp-block-image figcaption {
  position: static;
  max-height: none;
  margin: 0;
  padding: 0.6em 0 0;
  overflow: visible;
  color: var(--rw-muted);
  font-size: 13.76px;
  line-height: 1.6;
  text-align: left;
  text-shadow: none;
  background: none;
}

/* 目次（Rich Table of Contents） */
#wrapper #rtoc-mokuji-wrapper.rtoc-mokuji-content {
  margin: 0 0 48px;
  padding: 22px 28px;
  border: 0 !important;
  border-radius: var(--rw-r-l);
  background: var(--rw-subtle) !important;
  box-shadow: none;
}
#wrapper #rtoc-mokuji-wrapper #rtoc-mokuji-title {
  color: var(--rw-text);
  font-family: var(--rw-font-en);
  font-weight: 600;
  font-size: 17.6px;
  letter-spacing: 0.1em;
  text-align: left;
}
#wrapper #rtoc-mokuji-wrapper.rtoc-mokuji-content { width: auto; max-width: none; padding: 0 0 4px; }
@media (max-width: 551px) {
  #wrapper #rtoc-mokuji-wrapper #rtoc-mokuji-title { padding: 20px 18px 4px; }
  #wrapper #rtoc-mokuji-wrapper .rtoc-mokuji.level-1 { margin: 0 18px 20px; }
  #wrapper #rtoc-mokuji-wrapper .rtoc-mokuji.level-2 { padding-left: 24px; }
}
#wrapper #rtoc-mokuji-wrapper::before,
#wrapper #rtoc-mokuji-wrapper::after { display: none; }
#wrapper #rtoc-mokuji-wrapper .rtoc_open_close {
  padding: 4px 12px;
  border: 1px solid var(--rw-line);
  border-radius: 999px;
  background: var(--rw-surface);
  color: var(--rw-muted);
}
/* 番号とその横の縦線 */
#wrapper #rtoc-mokuji-wrapper .rtoc-mokuji.level-1 > .rtoc-item::before { color: var(--rw-accent); font-family: var(--rw-font-en); font-weight: 600; }
#wrapper #rtoc-mokuji-wrapper .rtoc-mokuji.level-1 > .rtoc-item::after { background: var(--rw-accent-soft); }
#wrapper #rtoc-mokuji-wrapper .rtoc-mokuji.level-2 > .rtoc-item::before { background: var(--rw-accent-soft); color: var(--rw-accent-soft); }
#wrapper #rtoc-mokuji-wrapper .rtoc-mokuji li > a { color: var(--rw-text); text-decoration: none; }
#wrapper #rtoc-mokuji-wrapper .rtoc-mokuji li > a:hover { color: var(--rw-accent); }
#wrapper #rtoc-mokuji-wrapper .rtoc-mokuji.level-2 li > a { color: var(--rw-muted); }

/* タグ */
#wrapper #postTagBox a {
  display: inline-block;
  margin: 0 6px 8px 0;
  padding: 4px 12px;
  border: 1px solid var(--rw-line);
  border-radius: 999px;
  background: var(--rw-surface);
  color: var(--rw-muted);
  font-size: 12.8px;
  text-decoration: none;
}
#wrapper #postTagBox a:hover { color: var(--rw-accent); border-color: var(--rw-accent-soft); }

/* シェアボタン：ピル型 */
#wrapper #snsShareBottom { background: none; border: 0; box-shadow: none; }
#wrapper #snsShareBottom #snsShareLabel {
  color: var(--rw-muted);
  font-family: var(--rw-font-en);
  font-weight: 600;
  letter-spacing: 0.1em;
}
#wrapper #snsShareBottom .c--sns-share-item { display: flex; flex-wrap: wrap; gap: 8px; }
#wrapper #snsShareBottom .c--sns-share-item a {
  flex: none;
  width: auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border: 1px solid var(--rw-line);
  border-radius: 999px;
  background: var(--rw-surface);
  color: var(--rw-text);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease;
}
#wrapper #snsShareBottom .c--sns-share-item a:hover { background: var(--rw-accent-fill); border-color: var(--rw-accent-fill); color: var(--rw-on-accent); }
#wrapper #snsShareBottom .c--sns-share-item a i,
#wrapper #snsShareBottom .c--sns-share-item a .a--sns-label { color: inherit !important; opacity: 1; }

/* ===== 関連記事（ベージュの帯） ===== */
#wrapper #jinrRelatedPost {
  margin-top: 64px;
  padding: 64px 0;
  background: var(--rw-beige);
}
#wrapper #jinrRelatedPost .c--relatedpost-headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-bottom: 28px;
  text-align: left;
}
#wrapper #jinrRelatedPost .a--relatedpost-maincopy {
  order: 1;
  color: var(--rw-text);
  font-family: var(--rw-font-en);
  font-weight: 600;
  font-size: clamp(38.4px, 6vw, 54.4px);
  line-height: 1;
}
#wrapper #jinrRelatedPost .a--relatedpost-subcopy {
  order: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rw-muted);
  font-family: var(--rw-font-head);
  font-weight: 700;
  font-size: 15.2px;
}
#wrapper #jinrRelatedPost .a--relatedpost-maincopy::before,
#wrapper #jinrRelatedPost .a--relatedpost-maincopy::after { display: none; }
#wrapper #jinrRelatedPost .a--relatedpost-subcopy::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rw-accent-soft);
}

/* ===== フッター ===== */
#wrapper #commonFooter {
  position: relative;
  overflow: hidden;
  padding-bottom: 28px;
  background: var(--rw-footer-bg);
  color: var(--rw-footer-text);
}
#wrapper #commonFooter #commonFooterSiteMenu a,
#wrapper #commonFooter .c--breadcrumb-item a,
#wrapper #commonFooter .c--breadcrumb-item,
#wrapper #commonFooter .a--breadcrumb-parts,
#wrapper #commonFooter #copyright,
#wrapper #commonFooter a { color: var(--rw-footer-text); }
#wrapper #footerMenuList a:hover { color: var(--rw-accent) !important; }
#wrapper #commonFooterInner::after {
  content: 'rwnormalife';
  display: block;
  margin-top: 40px;
  color: var(--rw-footer-text);
  font-family: var(--rw-font-en);
  font-weight: 700;
  font-size: clamp(64px, 15vw, 192px);
  line-height: 0.85;
  letter-spacing: -0.01em;
  white-space: nowrap;
  opacity: 0.08;
  pointer-events: none;
}
