/* ===========================================================
   川崎エルムペットクリニック ─ 記事・一覧・固定ページ用
   style.css の :root 変数（--paper,--ink,--blue,--teal 等）を継承
   =========================================================== */

/* 共通ヘッダー帯 */
.archive-hero {
    background: var(--paper-deep);
    border-bottom: 1px solid var(--line);
    padding: 62px 0 54px;
}
.archive-hero .crumbs { font-size: .85rem; color: var(--ink-mute); margin-bottom: 16px; }
.archive-hero .crumbs a { color: var(--blue); }
.archive-hero .en { font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--blue); font-size: 1.3rem; }
.archive-hero h1 { font-family: 'Shippori Mincho', serif; font-weight: 700; color: var(--ink); font-size: clamp(26px,5vw,40px); margin-top: 4px; line-height: 1.4; }
.archive-hero p { margin-top: 14px; color: var(--ink-soft); max-width: 680px; }

/* 記事一覧 */
.post-list { padding: 70px 0 96px; }
.post-list-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.post-card { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: #fff; transition: box-shadow .25s ease, transform .25s ease; }
.post-card:hover { box-shadow: 0 16px 34px rgba(0,0,0,.07); transform: translateY(-3px); }
.post-card-thumb { aspect-ratio: 16/9; background: var(--paper-deep) center/cover; }
.post-card-body { padding: 22px 24px 26px; }
.post-card-meta { display: flex; gap: 12px; align-items: center; margin-bottom: 8px; }
.post-card-date { font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--ink-mute); }
.post-card-cat { font-size: .78rem; font-weight: 700; color: #fff; background: var(--blue); padding: 2px 10px; border-radius: 3px; }
.post-card-cat.case { background: var(--moss); }
.post-card-cat.tumor, .post-card-cat.regen { background: var(--terracotta); }
.post-card h2 { font-family: 'Shippori Mincho', serif; font-weight: 600; font-size: 1.2rem; color: var(--ink); line-height: 1.6; }
.post-card p { margin-top: 10px; font-size: .95rem; color: var(--ink-soft); }
@media (max-width: 720px) { .post-list-grid { grid-template-columns: 1fr; } }

.pagination { display: flex; justify-content: center; gap: 10px; margin-top: 50px; }
.pagination a, .pagination span { padding: 10px 16px; border: 1px solid var(--line); border-radius: 3px; color: var(--ink); font-weight: 600; }
.pagination .current { background: var(--ink); color: #fff; border-color: var(--ink); }

/* 単一記事 */
.post-single { padding: 64px 0 96px; }
.post-single .container-article { max-width: 800px; margin: 0 auto; padding: 0 28px; }
.post-single .post-meta { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.post-single .post-date { font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--ink-mute); }
.post-single .post-cat { font-size: .8rem; font-weight: 700; color: #fff; background: var(--blue); padding: 3px 12px; border-radius: 3px; }
.post-single h1.post-title { font-family: 'Shippori Mincho', serif; font-weight: 700; font-size: clamp(26px,5vw,40px); color: var(--ink); line-height: 1.45; margin-bottom: 26px; }
.post-thumb-main { border-radius: 6px; overflow: hidden; margin-bottom: 34px; }
.post-thumb-main img { width: 100%; display: block; }

.post-body { font-size: 1.06rem; line-height: 2.05; color: var(--ink-soft); }
.post-body > * + * { margin-top: 1.4em; }
.post-body h2 { font-family: 'Shippori Mincho', serif; font-weight: 600; font-size: 1.6rem; color: var(--ink); margin-top: 2em; padding-bottom: 10px; border-bottom: 2px solid var(--teal); }
.post-body h3 { font-family: 'Shippori Mincho', serif; font-weight: 600; font-size: 1.3rem; color: var(--ink); margin-top: 1.6em; }
.post-body a { color: var(--blue); text-decoration: underline; }
.post-body img { border-radius: 4px; height: auto; }
.post-body strong { color: var(--ink); font-weight: 700; }
.post-body blockquote { border-left: 3px solid var(--teal); padding: 6px 0 6px 22px; color: var(--ink-mute); }
.post-body ul, .post-body ol { padding-left: 1.4em; }
.post-body li { margin-top: .5em; }
.post-body iframe { max-width: 100%; }

/* 記事下ナビ */
.single-nav { max-width: 800px; margin: 56px auto 0; padding: 28px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; border-top: 1px solid var(--line); }
.single-nav a { color: var(--ink); font-weight: 600; }
.single-nav a:hover { color: var(--blue); }
.single-nav .prev { text-align: left; }
.single-nav .next { text-align: right; }
.single-nav .back { white-space: nowrap; border: 1.5px solid var(--ink); border-radius: 2px; padding: 12px 22px; }
.single-nav .back:hover { background: var(--ink); color: #fff; }

/* 固定ページ */
.page-content { padding: 64px 0 96px; }
.page-content .container-article { max-width: 800px; margin: 0 auto; padding: 0 28px; }
.page-content .page-body { font-size: 1.06rem; line-height: 2.05; color: var(--ink-soft); }
.page-content .page-body > * + * { margin-top: 1.3em; }
.page-content .page-body h2 { font-family: 'Shippori Mincho', serif; font-weight: 600; font-size: 1.5rem; color: var(--ink); margin-top: 1.8em; }
.page-content .page-body h3 { font-family: 'Shippori Mincho', serif; font-weight: 600; font-size: 1.2rem; color: var(--ink); margin-top: 1.4em; }
.page-content .page-body a { color: var(--blue); text-decoration: underline; }

/* ---------- 固定ページ：サブページ見出し（page-hero） ---------- */
.page-hero{ background:var(--paper-deep); border-bottom:1px solid var(--line); padding:62px 0 54px; }
.page-hero .en{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--blue); font-size:1.3rem; }
.page-hero h1{ font-family:'Shippori Mincho',serif; font-weight:700; color:var(--ink); font-size:clamp(28px,5vw,44px); margin-top:4px; }
.page-hero p{ margin-top:14px; color:var(--ink-soft); max-width:680px; }
.crumbs{ font-size:.85rem; color:var(--ink-mute); margin-bottom:18px; }
.crumbs a{ color:var(--blue); }

/* ---------- 固定ページ：スタッフ紹介（国立式レイアウト） ---------- */
    .staff-main { background: var(--paper); padding: 80px 0 100px; }
    .staff-inner { max-width: 1080px; margin: 0 auto; padding: 0 32px; }
    .staff-member { margin-bottom: 90px; }
    .staff-member:last-child { margin-bottom: 0; }
    .staff-top { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; margin-bottom: 36px; }
    .staff-member--rev .staff-photo { order: 2; }
    .staff-photo img { width: 100%; height: auto; display: block; border-radius: 8px; }
    .staff-role { display: block; font-size: 13px; letter-spacing: .12em; color: var(--ink-mute); margin-bottom: 12px; }
    .staff-name { font-family: 'Shippori Mincho', serif; font-weight: 600; font-size: clamp(26px,3.6vw,34px); color: var(--ink); letter-spacing: .05em; margin: 0 0 24px; }
    .staff-intro p { font-size: 15px; line-height: 2; color: var(--ink-soft); margin: 0 0 16px; }
    .staff-intro p:last-child { margin-bottom: 0; }
    .staff-meta { display: grid; grid-template-columns: 1.5fr 1fr; border-top: 1px solid var(--line); }
    .staff-profile { padding: 30px 36px 30px 0; }
    .staff-hobby { padding: 30px 0 30px 36px; border-left: 1px solid var(--line); }
    .staff-meta-label { display: block; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 16px; letter-spacing: .12em; color: var(--blue); margin-bottom: 14px; }
    .staff-profile ul, .staff-hobby ul { list-style: none; padding: 0; margin: 0; }
    .staff-profile li { font-size: 14px; line-height: 1.8; color: var(--ink-soft); margin-bottom: 9px; padding-left: 15px; position: relative; }
    .staff-profile li::before { content:""; position:absolute; left:0; top:11px; width:5px; height:5px; border-radius:50%; background:var(--blue); opacity:.6; }
    .staff-hobby li { font-size: 14px; line-height: 2; color: var(--ink-soft); padding-left: 16px; position: relative; }
    .staff-hobby li::before { content:"\30FB"; position:absolute; left:0; color:var(--blue); }
    @media (max-width: 820px) {
        .staff-main { padding: 56px 0 70px; }
        .staff-top { grid-template-columns: 1fr; gap: 26px; }
        .staff-member--rev .staff-photo { order: 0; }
        .staff-photo img { max-width: 420px; margin: 0 auto; }
        .staff-meta { grid-template-columns: 1fr; }
        .staff-profile { padding: 24px 0; }
        .staff-hobby { padding: 24px 0; border-left: none; border-top: 1px solid var(--line); }
    }

/* ---------- 固定ページ：ご予約・出勤スケジュール ---------- */
    .sched-wrap{ padding:84px 0 100px; }
    /* 予約方法 */
    .reserve-block{ margin-bottom:64px; }
    .reserve-head{ margin-bottom:28px; }
    .reserve-head .en{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--blue); font-size:1.2rem; }
    .reserve-head h2{ font-family:'Shippori Mincho',serif; font-weight:600; color:var(--ink); font-size:clamp(24px,4vw,34px); margin-top:2px; }
    .reserve-head p{ color:var(--ink-soft); margin-top:8px; }
    .reserve-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:740px; margin:0 auto; }
    .reserve-card{ display:flex; flex-direction:column; border:1px solid var(--line); border-radius:6px; padding:30px 26px; background:#fff; transition:box-shadow .25s ease, transform .25s ease; }
    .reserve-card:hover{ box-shadow:0 16px 34px rgba(0,0,0,.08); transform:translateY(-3px); }
    .reserve-card.primary{ border-top:4px solid var(--teal); }
    .reserve-card.line{ border-top:4px solid #22B94E; }
    .rc-no{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--blue); font-size:1.1rem; }
    .rc-ttl{ font-family:'Shippori Mincho',serif; font-weight:600; font-size:1.35rem; color:var(--ink); margin:6px 0 12px; display:flex; align-items:center; gap:10px; }
    .rc-ttl img{ width:24px; height:24px; }
    .rc-desc{ font-size:.96rem; color:var(--ink-soft); line-height:1.85; flex:1; }
    .rc-go{ margin-top:18px; font-weight:700; color:var(--teal); }
    .reserve-card.line .rc-go{ color:#1aa544; }
    .sched-sub{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--blue); font-size:1.2rem; margin-bottom:4px; }
    .sched-sub-ja{ font-family:'Shippori Mincho',serif; font-weight:600; color:var(--ink); font-size:clamp(22px,3.6vw,30px); margin-bottom:26px; }
    @media (max-width:760px){ .reserve-grid{ grid-template-columns:1fr; } }
    .sched-note{ background:var(--teal-soft); border:1px solid #bfe0e3; border-radius:6px; padding:22px 26px; margin-bottom:40px; }
    .sched-note strong{ color:var(--teal); }
    .sched-cal{ aspect-ratio:16/10; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--paper-deep); }
    .sched-cal iframe{ width:100%; height:100%; border:0; }
    .sched-cal-ph{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--ink-mute); text-align:center; padding:24px; }
    .sched-table{ width:100%; border-collapse:collapse; margin-top:40px; background:#fff; border:1px solid var(--line); }
    .sched-table th, .sched-table td{ border:1px solid var(--line); padding:14px 10px; text-align:center; font-size:1rem; }
    .sched-table thead th{ background:var(--ink); color:#fff; font-weight:600; }
    .sched-table tbody th{ background:var(--paper-deep); color:var(--ink); white-space:nowrap; text-align:left; padding-left:18px; }
    .sched-table .o{ color:var(--teal); font-weight:700; }
    .sched-table .x{ color:var(--ink-mute); }
    .legend{ margin-top:18px; color:var(--ink-mute); font-size:.92rem; }
    .sched-cta{ margin-top:44px; display:flex; flex-wrap:wrap; gap:14px; }
    @media (max-width:700px){ .sched-table th, .sched-table td{ padding:9px 5px; font-size:.82rem; } }
/* ---------- 固定ページ：トリミング ---------- */
    .trim-wrap{ padding:84px 0 100px; }
    .trim-intro{ max-width:820px; margin:0 auto 54px; }
    .trim-intro .lead{ font-family:'Shippori Mincho',serif; font-size:1.35rem; color:var(--ink); margin-bottom:18px; line-height:1.7; }
    .trim-intro p{ font-size:1.06rem; line-height:2; color:var(--ink-soft); margin-bottom:1em; }
    .trim-intro strong{ color:var(--teal); }
    .trim-sub{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--blue); font-size:1.2rem; margin-bottom:4px; text-align:center; }
    .trim-sub-ja{ font-family:'Shippori Mincho',serif; font-weight:600; color:var(--ink); font-size:clamp(22px,3.6vw,30px); text-align:center; margin-bottom:6px; }
    .trim-note-top{ text-align:center; color:var(--ink-mute); margin-bottom:32px; }
    .price-table{ width:100%; max-width:860px; margin:0 auto; border-collapse:collapse; background:#fff; border:1px solid var(--line); }
    .price-table caption{ caption-side:top; }
    .price-table th, .price-table td{ border:1px solid var(--line); padding:12px 14px; font-size:1rem; }
    .price-table thead th{ background:var(--ink); color:#fff; font-weight:600; }
    .price-table tbody th{ background:var(--paper-deep); color:var(--ink); text-align:left; white-space:nowrap; font-weight:500; }
    .price-table td{ text-align:right; color:var(--ink-soft); white-space:nowrap; }
    .price-table td.dash{ color:var(--ink-mute); text-align:center; }
    .price-table tbody tr:hover{ background:var(--paper-deep); }
    .trim-notes{ max-width:860px; margin:24px auto 0; color:var(--ink-mute); font-size:.95rem; line-height:1.95; }
    .trim-hotel{ max-width:860px; margin:40px auto 0; background:var(--teal-soft); border:1px solid #bfe0e3; border-radius:6px; padding:22px 26px; font-size:1.04rem; }
    .trim-hotel strong{ color:var(--teal); }
    .trim-cta{ max-width:860px; margin:46px auto 0; display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
    @media (max-width:680px){ .price-table th, .price-table td{ padding:9px 8px; font-size:.85rem; } }
/* ---------- トリミング：動画・オプション・インスタ ---------- */
    .trim-video{ max-width:820px; margin:0 auto 56px; border-radius:8px; overflow:hidden; aspect-ratio:16/9; background:var(--ink); border:1px solid var(--line); }
    .trim-video iframe{ width:100%; height:100%; border:0; display:block; }
    .trim-block-gap{ margin-top:64px; }
    .trim-options{ max-width:860px; margin:14px auto 0; border-top:1px solid var(--line); }
    .trim-options .row{ display:flex; justify-content:space-between; gap:16px; padding:13px 6px; border-bottom:1px solid var(--line); }
    .trim-options .row .nm{ color:var(--ink); }
    .trim-options .row .nm small{ color:var(--ink-mute); font-size:.82em; }
    .trim-options .row .pr{ color:var(--ink-soft); white-space:nowrap; font-weight:600; }
    .trim-ig{ margin-top:70px; }
/* ---------- トリミング：特別料金の強調・猫の注記 ---------- */
    .trim-special{ max-width:860px; margin:30px auto 0; background:var(--teal-soft); border:1px solid #bfe0e3; border-radius:8px; padding:26px 28px; }
    .trim-special .ts-head{ font-family:'Shippori Mincho',serif; font-weight:600; color:var(--teal); font-size:1.25rem; margin-bottom:16px; text-align:center; }
    .ts-row{ display:flex; align-items:baseline; justify-content:center; gap:16px; flex-wrap:wrap; padding:12px 0; border-top:1px solid #bfe0e3; }
    .ts-row:first-of-type{ border-top:none; }
    .ts-nm{ font-weight:700; color:var(--ink); min-width:170px; text-align:right; }
    .ts-old{ color:var(--ink-mute); text-decoration:line-through; font-size:.95rem; }
    .ts-new{ font-family:'Shippori Mincho',serif; font-weight:700; color:var(--terracotta); font-size:1.35rem; }
    @media(max-width:560px){ .ts-nm{ min-width:0; text-align:center; width:100%; } .ts-row{ gap:8px; padding:14px 0; } }
    .trim-catnote{ max-width:860px; margin:22px auto 0; border-left:3px solid var(--blue); background:var(--paper-deep); padding:16px 22px; color:var(--ink-soft); font-size:1.02rem; line-height:1.9; }
    .trim-catnote strong{ color:var(--blue-deep); }
/* ---------- トリミング：Pidi紹介ブロック ---------- */
    .trim-pidi{ max-width:860px; margin:26px auto 0; display:grid; grid-template-columns:.8fr 1.2fr; gap:0; align-items:stretch; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
    .trim-pidi .pidi-photo{ background:var(--paper-deep) center/cover; min-height:240px; }
    .trim-pidi .pidi-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
    .trim-pidi .pidi-text{ padding:26px 30px 28px; }
    .trim-pidi .pidi-en{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--gold); font-size:1.1rem; }
    .trim-pidi h3{ font-family:'Shippori Mincho',serif; font-weight:600; font-size:1.4rem; color:var(--ink); margin:2px 0 12px; }
    .trim-pidi p{ font-size:1.0rem; color:var(--ink-soft); line-height:1.95; margin-bottom:16px; }
    .trim-pidi .cta{ font-size:.95rem; padding:12px 22px; }
    @media(max-width:680px){ .trim-pidi{ grid-template-columns:1fr; } .trim-pidi .pidi-photo{ min-height:200px; aspect-ratio:16/10; } }
/* ---------- トリミング：Pidi紹介動画 ---------- */
    .pidi-movie{ max-width:860px; margin:24px auto 0; border-radius:8px; overflow:hidden; background:#000; border:1px solid var(--line); }
    .pidi-movie video{ width:100%; height:auto; display:block; }
    .pidi-movie-cap{ max-width:860px; margin:10px auto 0; text-align:center; color:var(--ink-mute); font-size:.88rem; }
/* ---------- 予約：初診の方へ（問診票・LINE強調） ---------- */
    .reserve-firsttime{ background:#fff8ec; border:1px solid #f0d9a8; border-left:5px solid var(--gold); border-radius:8px; padding:24px 28px; margin-bottom:28px; }
    .reserve-firsttime .rf-badge{ display:inline-block; background:var(--gold); color:#fff; font-weight:700; font-size:.85rem; letter-spacing:.05em; padding:4px 14px; border-radius:4px; margin-bottom:12px; }
    .reserve-firsttime .rf-lead{ font-family:'Shippori Mincho',serif; font-weight:600; color:var(--ink); font-size:1.2rem; margin-bottom:8px; }
    .reserve-firsttime p{ color:var(--ink-soft); line-height:1.95; margin-bottom:18px; }
    .reserve-firsttime strong{ color:var(--terracotta); }
    .rf-line{ display:inline-flex; align-items:center; gap:10px; background:#22B94E; color:#fff; font-weight:700; font-size:1rem; padding:14px 26px; border-radius:6px; transition:opacity .25s ease; }
    .rf-line:hover{ opacity:.92; }
    .rf-line img{ width:20px; height:20px; }
/* ---------- スタッフ：グループ病院 ---------- */
    .group-clinics{ background:var(--paper-deep); border-top:1px solid var(--line); padding:80px 0 90px; }
    .gc-head{ text-align:center; max-width:840px; margin:0 auto 48px; }
    .gc-head .en{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--blue); font-size:1.3rem; }
    .gc-head h2{ font-family:'Shippori Mincho',serif; font-weight:700; color:var(--ink); font-size:clamp(24px,4.4vw,36px); margin:4px 0 16px; }
    .gc-head p{ color:var(--ink-soft); line-height:2; }
    .gc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
    .gc-card{ background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; text-align:center; }
    .gc-card.is-current{ border:2px solid var(--teal); }
    .gc-photo{ aspect-ratio:1/1; background:var(--paper-deep) center/cover; }
    .gc-body{ padding:18px 16px 22px; }
    .gc-current-badge{ display:inline-block; font-size:.72rem; font-weight:700; color:#fff; background:var(--teal); padding:2px 10px; border-radius:3px; margin-bottom:8px; }
    .gc-clinic{ font-size:.86rem; color:var(--ink-mute); }
    .gc-name{ font-family:'Shippori Mincho',serif; font-weight:600; font-size:1.3rem; color:var(--ink); margin:4px 0 12px; }
    .gc-field{ display:inline-block; font-size:.85rem; font-weight:700; color:var(--teal); border:1px solid var(--teal); border-radius:3px; padding:4px 12px; }
    @media (max-width:820px){ .gc-grid{ grid-template-columns:repeat(2,1fr); } }
    @media (max-width:460px){ .gc-grid{ grid-template-columns:1fr; max-width:320px; margin:0 auto; } }

/* ---------- 記事内：埋め込みフライヤー・表・figure ---------- */
.bliss-embed{ width:100%; min-height:400px; border:0; display:block; }
.post-body figure{ margin:1.4em 0; text-align:center; }
.post-body figure img{ width:100%; border-radius:6px; }
.post-body figcaption{ font-size:.88rem; color:var(--ink-mute); margin-top:8px; }
.post-body table{ width:100%; border-collapse:collapse; margin:1.4em 0; font-size:.98rem; }
.post-body table th, .post-body table td{ border:1px solid var(--line); padding:10px 12px; text-align:left; }
.post-body table th{ background:var(--paper-deep); color:var(--ink); font-weight:600; }
.post-body table tr:first-child th, .post-body table tr:first-child td{ background:var(--ink); color:#fff; }
.post-body iframe{ max-width:100%; aspect-ratio:16/9; width:100%; height:auto; border:0; border-radius:6px; }
.post-body iframe.bliss-embed{ aspect-ratio:auto; border-radius:0; }
.post-body hr{ border:none; border-top:1px solid var(--line); margin:1.6em 0; }

/* ============================================================
   採用情報（page-recruit）
   ============================================================ */
.recruit-wrap{ padding:0 0 100px; }
.rec-section{ padding:64px 0; }
.rec-section + .rec-section{ border-top:1px solid var(--line-soft); }
.rec-head{ text-align:center; max-width:760px; margin:0 auto 40px; }
.rec-head .en{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--blue); font-size:1.3rem; }
.rec-head h2{ font-family:'Shippori Mincho',serif; font-weight:700; color:var(--ink); font-size:clamp(23px,4.2vw,34px); margin:4px 0 14px; }
.rec-head p{ color:var(--ink-soft); line-height:2; }

/* 募集職種キャッチ */
.rec-catch{ background:linear-gradient(135deg,#11808c,#1b5e7e); color:#fff; text-align:center; padding:56px 24px; }
.rec-catch .role{ display:inline-block; font-family:'Shippori Mincho',serif; font-weight:700; font-size:clamp(28px,6vw,46px); letter-spacing:.05em; }
.rec-catch .role small{ display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; opacity:.9; letter-spacing:.08em; margin-bottom:6px; }
.rec-catch .lede{ margin-top:18px; font-size:clamp(16px,2.4vw,20px); font-weight:500; line-height:1.9; }
.rec-catch .tags{ margin-top:22px; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.rec-catch .tags span{ font-size:.86rem; font-weight:500; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.4); border-radius:999px; padding:5px 16px; }

/* お祝い金バンド */
.rec-bonus{ background:var(--gold); color:#fff; text-align:center; padding:22px 24px; }
.rec-bonus strong{ font-family:'Shippori Mincho',serif; font-weight:700; font-size:clamp(18px,3.2vw,26px); }
.rec-bonus span{ display:block; font-size:.86rem; opacity:.92; margin-top:6px; }

/* 6つの魅力 */
.rec-points{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rec-point{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:30px 26px; }
.rec-point .no{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--blue); font-size:1.5rem; }
.rec-point h3{ font-family:'Shippori Mincho',serif; font-weight:700; color:var(--ink); font-size:1.22rem; margin:6px 0 12px; line-height:1.55; }
.rec-point p{ color:var(--ink-soft); font-size:.96rem; line-height:1.95; }
@media (max-width:880px){ .rec-points{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .rec-points{ grid-template-columns:1fr; } }

/* 1日の流れ */
.rec-flow{ background:var(--paper-deep); }
.rec-timeline{ max-width:620px; margin:0 auto; }
.rec-tl{ display:grid; grid-template-columns:96px 1fr; gap:20px; align-items:start; position:relative; padding-bottom:26px; }
.rec-tl:last-child{ padding-bottom:0; }
.rec-tl .time{ font-family:'Cormorant Garamond',serif; font-weight:500; font-size:1.5rem; color:var(--blue-deep); text-align:right; line-height:1.3; }
.rec-tl .dot{ position:absolute; left:106px; top:8px; width:11px; height:11px; border-radius:50%; background:var(--blue); }
.rec-tl::before{ content:""; position:absolute; left:111px; top:18px; bottom:-8px; width:1px; background:var(--line); }
.rec-tl:last-child::before{ display:none; }
.rec-tl .body{ padding-left:22px; }
.rec-tl .body strong{ display:block; color:var(--ink); font-weight:700; }
.rec-tl .body span{ color:var(--ink-mute); font-size:.92rem; }

/* 募集要項テーブル */
.rec-table{ max-width:820px; margin:0 auto; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.rec-table dl{ display:grid; grid-template-columns:200px 1fr; }
.rec-table dt{ background:var(--paper-deep); color:var(--ink); font-weight:700; padding:18px 22px; border-bottom:1px solid var(--line); font-size:.96rem; }
.rec-table dd{ padding:18px 22px; border-bottom:1px solid var(--line); color:var(--ink-soft); line-height:1.9; }
.rec-table dl:last-of-type dt, .rec-table dl:last-of-type dd{ border-bottom:none; }
.rec-table dd ul{ margin:0; padding-left:1.2em; }
.rec-table dd li{ margin:2px 0; }
@media (max-width:620px){
    .rec-table dl{ grid-template-columns:1fr; }
    .rec-table dt{ border-bottom:none; padding-bottom:8px; }
}

/* 応募の流れ */
.rec-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:880px; margin:0 auto; }
.rec-step{ text-align:center; background:#fff; border:1px solid var(--line); border-radius:10px; padding:26px 18px; position:relative; }
.rec-step .stp{ font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--blue); font-size:1.1rem; }
.rec-step h4{ font-family:'Shippori Mincho',serif; font-weight:700; color:var(--ink); font-size:1.05rem; margin:6px 0 8px; }
.rec-step p{ font-size:.88rem; color:var(--ink-mute); line-height:1.8; }
@media (max-width:780px){ .rec-steps{ grid-template-columns:1fr 1fr; } }

/* 応募CTA */
.rec-apply{ background:linear-gradient(135deg,#1b5e7e,#11808c); color:#fff; text-align:center; padding:64px 24px; }
.rec-apply h2{ font-family:'Shippori Mincho',serif; font-weight:700; font-size:clamp(22px,4vw,32px); margin-bottom:14px; }
.rec-apply p{ max-width:600px; margin:0 auto 28px; line-height:2; opacity:.96; }
.rec-apply .btns{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }
.rec-btn{ display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:1.08rem; padding:18px 40px; border-radius:8px; text-decoration:none; transition:transform .15s, box-shadow .15s; }
.rec-btn.primary{ background:#fff; color:var(--blue-deep); box-shadow:0 8px 24px rgba(0,0,0,.18); }
.rec-btn.primary:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.24); }
.rec-btn.ghost{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.7); }
.rec-btn.ghost:hover{ background:rgba(255,255,255,.12); }
.rec-apply .note{ margin-top:22px; font-size:.84rem; opacity:.82; }

/* ===== 予防医療ページ ===== */
.prev-wrap { padding: 72px 0 96px; }
.prev-intro { max-width: 820px; margin: 0 auto; text-align: center; color: var(--ink-soft); line-height: 2; }
.prev-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; max-width: 900px; margin: 0 auto; }
.prev-card { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: 10px; padding: 28px 16px; background: #fff; transition: box-shadow .25s ease, transform .25s ease; }
.prev-card:hover { box-shadow: 0 14px 30px rgba(0,0,0,.08); transform: translateY(-3px); }
.prev-card .no { font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--green); font-size: 1.05rem; }
.prev-card .nm { font-family: 'Shippori Mincho', serif; font-weight: 600; color: var(--ink); font-size: 1.1rem; line-height: 1.5; }
.prev-card .go { font-size: .76rem; color: var(--green); letter-spacing: .08em; margin-top: 2px; }
@media (max-width: 820px) { .prev-grid { grid-template-columns: repeat(2,1fr); } }
.prev-details { max-width: 820px; margin: 60px auto 0; }
.prev-block { padding: 30px 0; border-top: 1px solid var(--line); scroll-margin-top: 90px; }
.prev-block h2 { font-family: 'Shippori Mincho', serif; font-weight: 600; color: var(--ink); font-size: clamp(20px,3.4vw,26px); margin-bottom: 14px; display: flex; align-items: baseline; gap: 12px; }
.prev-block h2 .en { font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--green); font-size: 1rem; font-weight: 500; }
.prev-block p { color: var(--ink-soft); line-height: 2; }
.prev-cta { max-width: 820px; margin: 56px auto 0; text-align: center; }
.prev-cta p { color: var(--ink-soft); margin-bottom: 20px; line-height: 1.9; }
.prev-cta .cta { margin: 0 auto; }

/* ===== よくある質問ページ ===== */
.faq-wrap { padding: 72px 0 96px; }
.faq-list { max-width: 820px; margin: 0 auto; }
.faq-item { border: 1px solid var(--line); border-radius: 10px; background: #fff; margin-bottom: 14px; }
.faq-q { display: flex; gap: 12px; align-items: flex-start; padding: 20px 24px 10px; font-family: 'Shippori Mincho', serif; font-weight: 600; color: var(--ink); font-size: 1.08rem; line-height: 1.6; }
.faq-q .qmark { color: var(--teal); font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.4rem; line-height: 1; flex: 0 0 auto; }
.faq-a { display: flex; gap: 12px; padding: 0 24px 22px; color: var(--ink-soft); line-height: 1.95; }
.faq-a .amark { color: var(--green); font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.4rem; line-height: 1; flex: 0 0 auto; }
.faq-a strong { color: var(--teal); }
.visit-note { max-width: 820px; margin: 64px auto 0; scroll-margin-top: 90px; }
.visit-note .vn-head { font-family: 'Shippori Mincho', serif; font-weight: 600; color: var(--ink); font-size: clamp(20px,3.4vw,26px); margin-bottom: 18px; }
.vn-item { display: flex; gap: 14px; align-items: flex-start; padding: 18px 22px; border: 1px solid var(--line); border-left: 4px solid var(--teal); border-radius: 8px; background: #fff; margin-bottom: 12px; }
.vn-item .vn-ico { font-size: 1.5rem; line-height: 1.4; }
.vn-item .vn-ttl { font-family: 'Shippori Mincho', serif; font-weight: 600; color: var(--ink); display: block; margin-bottom: 2px; }
.vn-item p { color: var(--ink-soft); line-height: 1.9; font-size: .98rem; }
.vn-caution { margin-top: 14px; background: var(--teal-soft); border: 1px solid #bfe0e3; border-radius: 8px; padding: 18px 22px; color: var(--ink-soft); line-height: 1.95; font-size: .98rem; }

/* ============================================================
   ブログ記事 装飾パーツ（.post-body 内で使用）
   ── サイトのトーンに合わせた追加デコレーション ──
   WP編集画面で「カスタムHTML」ブロック、または段落/グループの
   「追加CSSクラス」に下記クラスを付けて使用する。
   ============================================================ */

/* --- リード文（書き出しの大きめ明朝） --- */
.post-body .lead { font-family:'Shippori Mincho',serif; font-size:1.2rem; line-height:1.95; color:var(--ink); }

/* --- 蛍光マーカー --- */
.post-body .marker      { background:linear-gradient(transparent 62%, #ffe6a3 62%); font-weight:700; padding:0 .1em; }
.post-body .marker-teal { background:linear-gradient(transparent 62%, #b8e4ec 62%); font-weight:700; padding:0 .1em; }
.post-body .marker-pink { background:linear-gradient(transparent 62%, #f6d2c8 62%); font-weight:700; padding:0 .1em; }

/* --- 見出しの装飾バリエーション（任意：h2/h3に class="deco"） --- */
.post-body h2.deco { display:flex; align-items:center; gap:12px; border-bottom:none; padding-bottom:0; }
.post-body h2.deco::before { content:''; flex:0 0 auto; width:6px; height:1.05em; border-radius:3px; background:var(--teal); }
.post-body h3.deco { padding-left:14px; border-left:4px solid var(--green); }

/* --- リスト：チェック / 足跡 --- */
.post-body ul.check { list-style:none; padding-left:0; }
.post-body ul.check > li { position:relative; padding-left:30px; margin-top:.6em; }
.post-body ul.check > li::before { content:''; position:absolute; left:2px; top:.3em; width:18px; height:18px; border-radius:50%; background:var(--green); }
.post-body ul.check > li::after  { content:''; position:absolute; left:8px; top:.5em; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.post-body ul.paw { list-style:none; padding-left:0; }
.post-body ul.paw > li { position:relative; padding-left:30px; margin-top:.6em; }
.post-body ul.paw > li::before { content:'🐾'; position:absolute; left:0; top:.05em; }

/* --- 番号付きステップ --- */
.post-body ol.steps { list-style:none; padding-left:0; counter-reset:step; }
.post-body ol.steps > li { position:relative; padding:6px 0 6px 54px; margin-top:1em; min-height:40px; }
.post-body ol.steps > li::before { counter-increment:step; content:counter(step); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%;
    background:var(--teal); color:#fff; font-family:'Cormorant Garamond',serif; font-weight:700; font-size:1.25rem; display:flex; align-items:center; justify-content:center; }

/* --- 汎用ボックス（callout） --- */
.post-body .box { border-radius:10px; padding:22px 24px; margin:1.7em 0; line-height:1.95; }
.post-body .box > :first-child { margin-top:0; }
.post-body .box > :last-child  { margin-bottom:0; }
.post-body .box-ttl { display:flex; align-items:center; gap:8px; font-family:'Shippori Mincho',serif; font-weight:700; font-size:1.08rem; margin-bottom:10px; }
.post-body .box.point   { background:var(--green-soft); border:1px solid #bfe0cd; }
.post-body .box.point   .box-ttl { color:var(--green); }
.post-body .box.point   .box-ttl::before { content:'✓'; }
.post-body .box.memo    { background:var(--teal-soft); border:1px solid #bfe0e3; }
.post-body .box.memo    .box-ttl { color:var(--teal); }
.post-body .box.memo    .box-ttl::before { content:'✎'; }
.post-body .box.caution { background:#fdeee9; border:1px solid #f0c9bd; }
.post-body .box.caution .box-ttl { color:var(--terracotta); }
.post-body .box.caution .box-ttl::before { content:'！'; }
.post-body .box.note    { background:var(--paper-deep); border:1px solid var(--line); border-left:4px solid var(--blue); }
.post-body .box.note    .box-ttl { color:var(--blue-deep); }
/* 獣医師からのひとこと（ブランド枠） */
.post-body .box.vet { background:#fff; border:1px solid var(--line); border-top:3px solid var(--teal); box-shadow:0 8px 22px rgba(0,0,0,.05); }
.post-body .box.vet .box-ttl { color:var(--teal); }
.post-body .box.vet .box-ttl::before { content:'🐾'; }

/* --- 引用ブロックの強化 --- */
.post-body blockquote { background:var(--paper-deep); border-left:4px solid var(--teal); border-radius:0 8px 8px 0; padding:16px 22px; margin:1.5em 0; color:var(--ink-soft); font-style:normal; }
.post-body blockquote > :first-child { margin-top:0; }

/* --- 関連リンク・内部リンクボックス --- */
.post-body .linkbox { display:flex; gap:14px; align-items:center; flex-wrap:wrap; border:1px solid var(--line); border-radius:10px; padding:16px 20px; margin:1.5em 0; background:#fff; transition:box-shadow .2s ease, transform .2s ease; }
.post-body .linkbox:hover { box-shadow:0 8px 20px rgba(0,0,0,.06); transform:translateY(-2px); }
.post-body .linkbox .lb-label { font-size:.76rem; font-weight:700; color:#fff; background:var(--blue); border-radius:3px; padding:3px 10px; white-space:nowrap; }
.post-body .linkbox a { font-family:'Shippori Mincho',serif; font-weight:600; color:var(--ink); text-decoration:none; }
.post-body .linkbox a:hover { color:var(--blue); }

/* --- 記事内ボタン（CTA） --- */
.post-body .btn-wrap { text-align:center; margin:1.8em 0; }
.post-body .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; font-weight:700; padding:15px 32px; border-radius:6px; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
.post-body .btn:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.14); }
.post-body .btn.primary { background:var(--teal); color:#fff; }
.post-body .btn.prevent { background:var(--green); color:#fff; }
.post-body .btn.line    { background:#22B94E; color:#fff; }
.post-body .btn.ghost   { background:#fff; color:var(--ink); border:1.5px solid var(--ink); }

/* --- 足跡の区切り線 --- */
.post-body hr.paw { border:none; text-align:center; margin:2.2em 0; }
.post-body hr.paw::before { content:'🐾　🐾　🐾'; color:var(--line-soft); letter-spacing:.25em; font-size:1rem; }

/* --- 表：ストライプ（table に class="striped"） --- */
.post-body table.striped tbody tr:nth-child(even) { background:var(--paper-deep); }

/* --- 小さい注釈 --- */
.post-body .note-sm { font-size:.88rem; color:var(--ink-mute); line-height:1.8; }

/* --- 画像2枚の横並び --- */
.post-body .img-pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:1.5em 0; }
.post-body .img-pair img { width:100%; border-radius:6px; margin:0; }
@media (max-width:560px){ .post-body .img-pair { grid-template-columns:1fr; } }

/* --- 標準リスト（class無し）の丸ポチも院テーマ色に --- */
.post-body > ul:not([class]) { list-style:none; padding-left:0; }
.post-body > ul:not([class]) > li { position:relative; padding-left:1.4em; margin-top:.5em; }
.post-body > ul:not([class]) > li::before { content:''; position:absolute; left:.2em; top:.78em; width:7px; height:7px; border-radius:50%; background:var(--teal); }
