/* ==========================================================
   Letrit — Blue theme
   style.css の後に読み込み、色・形・装飾だけを上書きします。
   （HTMLの文章・構成・機能は style.css 版と同じ）
   ========================================================== */

:root {
  --navy: #0077C0;          /* 主色（ボタン・帯・見出しの帯など） */
  --navy-2: #0068A8;
  --ink: #003953;           /* 見出し・本文の濃色 */
  --text: #003953;
  --muted: #4A6B7C;
  --muted-2: #4A6B7C;
  --line: #D6E9F5;
  --soft: #EBF8FF;          /* 淡い水色の帯 */
  --ivory: #FFFFFF;
  --white: #FFFFFF;
  --gold: #0095DA;          /* アクセント（旧ゴールド） */
  --gold-text: #0077C0;
  --gold-icon: #0077C0;
  --gold-light: #BFE6FA;    /* 濃い背景の上のアクセント */
  --gold-grad: linear-gradient(90deg, #0077C0 0%, #575CFF 100%);
  --cream: #F4FAFE;
  --highlight: rgba(0, 149, 218, .2);
  --navy-text: #E3F2FB;
  --navy-text-2: #F0F8FD;
  --shadow: 0 4px 24px rgba(29, 131, 210, .16);
  --shadow-lg: 0 8px 36px rgba(29, 131, 210, .24);

  --grad: linear-gradient(90deg, #0077C0 0%, #575CFF 100%);
  --grad-diag: linear-gradient(135deg, #0077C0 0%, #575CFF 100%);
  --grad-text: linear-gradient(90deg, #0095DA 0%, #575CFF 100%);
  --blob-1: 62% 38% 46% 54% / 48% 56% 44% 52%;
  --blob-2: 52% 48% 44% 56% / 50% 44% 56% 50%;
  --blob-3: 46% 54% 42% 58% / 52% 46% 54% 48%;

  --font-sans: "Noto Sans JP", system-ui, sans-serif;
  --font-jp: "Noto Sans JP", system-ui, sans-serif;
  --font-serif: "Montserrat", "Noto Sans JP", system-ui, sans-serif;

  --radius-sm: 10px;
  --radius: 10px;
  --radius-lg: 10px;
}

body { background: #FFFFFF; color: var(--text); }
a:hover { color: #575CFF; }
:focus-visible { outline-color: #575CFF; }
.section, .section--white { background: #FFFFFF; }
.section--soft { background: var(--soft); }
.section--navy { background: var(--grad-diag); color: #FFFFFF; position: relative; overflow: hidden; }
.section--navy > .container { position: relative; z-index: 1; }
.section--navy::before {
  content: ""; position: absolute; right: -180px; top: -160px; width: 560px; height: 520px;
  border-radius: var(--blob-1); background: rgba(255, 255, 255, .08); pointer-events: none;
}

/* ---------- 見出し ---------- */
.eyebrow { font-family: var(--font-serif); color: var(--gold-text); letter-spacing: .12em; }
.section-head > div > .eyebrow::before, .hero__eyebrow::before { background: var(--grad); height: 2px; }
.h2, .hero__title, .page-hero__title, .media-row__title, .message__title { color: var(--ink); letter-spacing: .01em; }
.marker { background: linear-gradient(transparent 68%, rgba(0, 149, 218, .22) 68%); }
.title-en {
  font-weight: 800; letter-spacing: .02em;
  background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent;
  padding-bottom: .08em;
}
.title-en + .title-ja { color: var(--ink); font-size: 15px; }
.section--navy .title-en { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: #FFFFFF; }
.section--navy .title-en + .title-ja { color: #FFFFFF; }
.center-head h2 { color: var(--ink); }
.center-head h2::after { background: var(--grad); height: 3px; border-radius: 3px; }

/* ---------- ボタン ---------- */
.btn--primary { background: var(--grad); color: #FFFFFF; box-shadow: 0 8px 24px rgba(87, 92, 255, .24); }
.btn--primary:hover { background: var(--grad); color: #FFFFFF; filter: brightness(1.06); box-shadow: 0 10px 28px rgba(87, 92, 255, .32); }
.btn--gold { background: var(--grad); color: #FFFFFF; box-shadow: 0 8px 24px rgba(87, 92, 255, .28); }
.btn--gold:hover { color: #FFFFFF; filter: brightness(1.06); }
.btn--outline { background: #FFFFFF; border: 2px solid #0077C0; color: #0077C0; }
.btn--outline:hover { background: #F4FAFE; border-color: #0077C0; color: #0077C0; }
.btn--outline-navy { border: 2px solid #0077C0; color: #0077C0; }
.btn--outline-light, .btn--outline-gold { border: 2px solid #FFFFFF; color: #FFFFFF; }
.btn--outline-gold:hover, .btn--outline-light:hover { background: rgba(255, 255, 255, .12); color: #FFFFFF; }
.text-link { color: #0077C0; }

/* ---------- ヘッダー ---------- */
.site-header { background: rgba(255, 255, 255, .97); border-bottom: 0; box-shadow: 0 3px 20px rgba(39, 115, 174, .16); }
.site-header.is-scrolled { box-shadow: 0 3px 20px rgba(39, 115, 174, .22); }
.logo__img { display: block; height: 30px; width: auto; max-width: none; align-self: flex-start; object-fit: contain; }
.logo__text { gap: 4px; }
.logo__tag { font-size: 10px; font-weight: 700; color: #0077C0; }
.global-nav ul { font-weight: 700; }
.global-nav ul a { color: var(--ink); }
.global-nav ul a:hover, .global-nav ul a[aria-current="page"] { color: #0077C0; }
.site-footer .logo__img { height: 32px; }

/* ---------- ヒーロー：白地＋ブロブ型の写真 ---------- */
.hero { background: #FFFFFF; min-height: 0; display: block; position: relative; overflow: hidden; }
.hero::before {
  content: ""; position: absolute; right: -200px; top: -160px; width: 820px; height: 760px;
  border-radius: var(--blob-1); background: linear-gradient(140deg, #D3F0FF 0%, #E4E6FF 100%); pointer-events: none;
}
.hero::after {
  content: ""; position: absolute; left: -160px; bottom: -120px; width: 420px; height: 380px;
  border-radius: var(--blob-2); background: linear-gradient(160deg, #E6F7FF 0%, #EEF0FF 100%); pointer-events: none;
}
.hero__inner {
  position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 48px;
  padding: 72px max(24px, calc((100% - 1192px) / 2)) 120px; width: 100%;
}
.hero__body { flex: 1 1 540px; max-width: none; padding: 0; gap: 24px; }
.hero__eyebrow {
  font-weight: 800; font-size: 15px; letter-spacing: .16em;
  background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero__eyebrow::before { width: 32px; }
.hero__title { font-size: 46px; line-height: 1.45; font-weight: 900; }
.hero__title .marker { color: transparent; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; }
.hero__sub { color: var(--ink); font-size: 20px; }
.hero__lead { color: var(--muted); }
.hero__media { position: relative; inset: auto; width: auto; flex: 1 1 420px; min-width: 0; padding: 0; }
.hero__media::before { display: none; }
.hero__media::after {
  content: ""; position: absolute; right: 8%; bottom: 6%; width: 24px; height: 24px; border-radius: 50%;
  background: #0095DA; box-shadow: -380px -400px 0 -6px #575CFF;
}
.hero__media img { width: 100%; height: 520px; object-fit: cover; object-position: 60% center; border-radius: 58% 42% 52% 48% / 46% 54% 46% 54%; }
.check-list li::before, .checks li::before { border-color: #0095DA !important; }

/* ---------- サブページのヒーロー ---------- */
.page-hero { background: #F4FAFE; position: relative; overflow: hidden; }
.page-hero::before {
  content: ""; position: absolute; right: -180px; top: -200px; width: 680px; height: 620px;
  border-radius: var(--blob-1); background: linear-gradient(140deg, #D3F0FF 0%, #E4E6FF 100%); pointer-events: none;
}
.page-hero > * { position: relative; z-index: 1; }
.breadcrumb { background: #F4FAFE; position: relative; z-index: 1; }
.breadcrumb a { color: #0077C0; }
.page-hero__media img { border-radius: var(--blob-2); box-shadow: none; }

/* ---------- カード共通 ---------- */
.phase__card, .service-card, .case-card, .roadmap-card, .price-card, .diag-card, .flow-card, .step, .banner-link,
.faq__item, .worry-list li, .intro-box, .result-card, .worry-grid li, .assurance, .case-detail, .promise-card,
.side-card, .form, .profile-skills, .summary-box, .author-box, .table-wrap, .checklist, .post-card {
  background: #FFFFFF; border-color: transparent; border-radius: 10px; box-shadow: var(--shadow);
}
.service-card:hover, .case-card:hover, .post-card:hover { box-shadow: var(--shadow-lg); }
.phase__card--navy, .service-card--featured, .price-card--navy, .roadmap-card--navy {
  background: var(--grad-diag); border-color: transparent; box-shadow: var(--shadow-lg); color: #FFFFFF;
}
.phase__arrow span { background: var(--grad-diag); box-shadow: 0 6px 18px rgba(87, 92, 255, .3); }
.step__num { background: var(--grad-diag); color: #FFFFFF; }
.step__num--gold { background: var(--grad-diag); color: #FFFFFF; box-shadow: 0 0 0 4px #D3F0FF; }
.point__num, .principle__num { color: #0095DA; }
.roadmap-card { overflow: hidden; }
.roadmap-card::before { background: #EBF8FF; height: 6px; }
.roadmap-card--navy::before { background: rgba(255, 255, 255, .35); }
.roadmap-card__when { color: #0077C0; }
.roadmap-card--navy .roadmap-card__when, .roadmap-card--navy .h3, .roadmap-card--navy li { color: #FFFFFF; }
.badge { background: var(--grad); color: #FFFFFF; }
.badge--soft, .badge--cream { background: #EBF8FF; color: #0077C0; }
.diag-card small { color: #0077C0; font-weight: 700; }

/* 会社紹介ボックス */
.intro-box { border: 0; }
.intro-box__title { color: var(--ink); }
.intro-box__list { background: #F4FAFE; }
.intro-box__list strong { color: #0077C0; }
.intro-box__list li::before { color: #0095DA; }
.intro-box__media img { border-radius: var(--blob-3); }

/* 数字カード */
.result-card { border: 0; }
.result-card__head { background: var(--grad); }
.result-card__arrow { border-top-color: #0095DA; }
.result-card__arrow span { color: #FFFFFF; }
.result-card__num { color: transparent; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; }
.result-card__num small { color: var(--ink); -webkit-text-fill-color: var(--ink); }
.assurance { border: 0; }
.assurance__lead { color: var(--ink); }
.assurance__num { color: #0095DA; }

/* お悩み */
.worry-grid li { border: 0; }
.worry-grid li::before { border-color: #0095DA; }
.worry-answer { color: var(--ink); }

/* フォーミュラ */
.formula { background: #EBF8FF; }
.formula > span:first-child { background: #FFFFFF; box-shadow: var(--shadow); }
.formula .marker { background: var(--grad); color: #FFFFFF; border-radius: 9999px; }
.formula__op { color: #0077C0; }

/* 強み：ブロブ型の画像 */
.strength__row { border-top-color: var(--line); }
.strength__img img { border-radius: var(--blob-3); box-shadow: none; }
.strength__row:nth-child(even) .strength__img img { border-radius: var(--blob-2); }
.strength__num { color: transparent; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; font-weight: 800; }
.strength__catch { color: var(--ink); }
.strength__sub { color: #0077C0; }

/* 比較表 */
.compare thead th { background: #EBF8FF; color: var(--ink); }
.compare thead th.is-us { background: var(--grad); }
.compare thead th.is-us small { color: #FFFFFF; }
.compare tbody th { color: var(--ink); }
.compare tbody td { border-bottom-color: var(--line); }
.compare tbody td.is-us { background: #F4FAFE; border-left-color: #0095DA; border-right-color: #0095DA; color: var(--ink); }
.compare tbody tr:last-child td.is-us { border-bottom-color: #0095DA; }

/* 中間CTA */
.cta-band { background: var(--grad-diag); }
.cta-band::after { border: 0; background: rgba(255, 255, 255, .1); border-radius: var(--blob-1); }
.cta-band__top { background: rgba(255, 255, 255, .1); border-bottom-color: rgba(255, 255, 255, .2); }
.cta-band__top .badge { background: #FFFFFF; color: #0077C0; }
.cta-band__lead { color: #FFFFFF; }
.cta-tile { border-radius: 9999px; color: #0077C0; padding: 22px 26px 22px 36px; }
.cta-tile:hover { color: #0077C0; }
.cta-tile__icon { background: var(--grad-diag); }

/* サービス一覧 */
.service-tile { border-radius: 10px; color: var(--ink); box-shadow: 0 4px 20px rgba(0, 40, 90, .12); }
.service-tile:hover { color: #0077C0; }
.service-tile--main { outline: 3px solid #FFFFFF; outline-offset: -3px; box-shadow: 0 0 0 3px rgba(255, 255, 255, .45), 0 8px 26px rgba(0, 40, 90, .2); }
.section--navy .title-block p { color: #FFFFFF; }
.good-bad__card { border-radius: 10px; color: var(--text); box-shadow: 0 8px 30px rgba(0, 40, 90, .18); }
.good-bad__head, .good-bad__item { border-bottom-color: var(--line); }
.good-bad__head strong { color: var(--ink); }
.good-bad__item h4 { color: var(--ink); }

/* 事例 */
.case-detail { border: 0; }
.case-detail__head { background: var(--grad); }
.case-detail__catch em { color: #0077C0; }
.case-detail h4 { color: var(--ink); border-bottom-color: var(--line); }
.case-detail h4::after { background: var(--grad); }
.bars { border-bottom-color: #B9DCF2; }
.bars__bar { background: #D6E9F5; }
.bars__bar--after { background: var(--grad-diag); }
.bars__val { color: #0077C0; }
.works-list span { background: #EBF8FF; color: #0077C0; }
.case-card__result { color: #0077C0; }

.case-detail__img { display: block; width: 100%; height: 180px; object-fit: cover; object-position: center top; }

/* 制作実績ギャラリー */
.works-gallery { margin-top: 64px; }
.works-gallery__title {
  margin-bottom: 24px; text-align: center; font-weight: 700; font-size: 22px; color: var(--ink);
}
.works-gallery__title::after { content: ""; display: block; width: 44px; height: 3px; border-radius: 3px; background: var(--grad); margin: 12px auto 0; }
.works-gallery__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.works-gallery__list a { display: block; text-decoration: none; color: inherit; height: 100%; }
.works-gallery__list figure {
  margin: 0; height: 100%; background: #FFFFFF; border-radius: 10px; overflow: hidden; box-shadow: var(--shadow);
  transition: transform .2s, box-shadow .2s;
}
.works-gallery__list a:hover figure { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.works-gallery__list img { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; object-position: center top; }
.works-gallery__list figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 16px 20px 18px; font-weight: 700; color: var(--ink); }
.works-gallery__list figcaption span {
  font-size: 12px; font-weight: 700; color: #0077C0; background: #EBF8FF; border-radius: 9999px; padding: 2px 12px;
}
.case-card img { object-position: center top; }

/* マーキー */
.marquee { background: #FFFFFF; }
.marquee__track span { -webkit-text-stroke: 1px #0095DA; }
.marquee__track span:nth-child(odd) { color: #EBF8FF; -webkit-text-stroke: 1px #9CD3F0; }

/* お知らせ */
.news__list li a { border-bottom-color: var(--line); color: var(--ink); }
.news__list li:first-child a { border-top-color: var(--line); }
.news__list time { color: #0077C0; }
.news__list li a:hover { color: #0077C0; }

/* お約束 */
.promise-card { border: 0; }
.promise-card h3 { color: var(--ink); }
.promise-end p { color: var(--ink); }

/* 料金 */
.price-card { border: 0; }
.price-card__label { color: var(--muted); }
.price-card__price { color: var(--ink); }
.price-card--navy { box-shadow: 0 8px 36px rgba(87, 92, 255, .32); }
.price-card--navy .price-card__price, .price-card--navy .price-card__label, .price-card--navy .h3, .price-card--navy li { color: #FFFFFF; }
.price-card--navy .badge { background: #FFFFFF; color: #0077C0; }
.callout { background: #F4FAFE; border: 1px solid #B9DCF2; border-radius: 10px; }

/* テーブル */
.table-wrap { border: 0; }
.table caption { background: #F4FAFE; }
.table th, .table td { border-top-color: var(--line); }
.table--navy-head thead th { background: #003953; }
.table .is-featured { background: #F4FAFE; }
.table .is-featured td:first-child, .table .strong { color: #0077C0; }

/* FAQ */
.qa__q span, .qa__a span { border: 0; color: #FFFFFF; background: var(--grad-diag); font-weight: 700; }
.qa__a span { background: #EBF8FF; color: #0077C0; }
.qa__q p { background: #FFFFFF; color: var(--ink); box-shadow: var(--shadow); }
.qa__a p { background: #FFFFFF; border: 0; box-shadow: var(--shadow); }
.faq__q { color: var(--ink); }

/* コラム一覧 */
.post-card { overflow: hidden; }
.post-card__cat { border: 1px solid var(--ink); border-radius: 4px; color: var(--ink); background: #FFFFFF; }

/* お問い合わせボックス */
.contact { background: #FFFFFF; }
.contact__box { background: var(--grad-diag); border-radius: 20px; box-shadow: none; }
.contact__box::after { border-radius: var(--blob-1); background: rgba(255, 255, 255, .1); width: 420px; height: 400px; right: -120px; top: -140px; }
.contact__box::before {
  content: ""; position: absolute; left: -80px; bottom: -160px; width: 300px; height: 300px; z-index: 0;
  border-radius: var(--blob-2); background: rgba(255, 255, 255, .08); pointer-events: none;
}
.on-navy .eyebrow, .section--navy .eyebrow { color: #FFFFFF; }
.contact__box .btn--gold, .article-cta .btn--gold, .side-cta .btn--gold, .float-banner .btn--gold { background: #FFFFFF; color: #0077C0; box-shadow: none; }

/* フッター */
.site-footer { background: #0077C0; color: #FFFFFF; padding-top: 64px; }
.site-footer::before { display: none; }
.site-footer__about, .site-footer nav a { color: #FFFFFF; }
.site-footer nav strong { color: #FFFFFF; font-family: var(--font-serif); }
.site-footer nav a:hover { color: #FFFFFF; text-decoration: underline; }
.site-footer__copy { border-top-color: rgba(255, 255, 255, .35); color: #FFFFFF; }

/* 固定CTA */
.mobile-cta { background: rgba(255, 255, 255, .97); border-top: 0; box-shadow: 0 -4px 20px rgba(39, 115, 174, .18); }
.mobile-cta__main { background: var(--grad); color: #FFFFFF; border-radius: 9999px; }
.float-banner { background: var(--grad-diag); border: 0; box-shadow: 0 16px 40px rgba(87, 92, 255, .35); }
.float-banner p { color: #FFFFFF; }
.float-banner ul li::before { color: #FFFFFF; }

/* 会社概要 */
.message__photo img { border-radius: var(--blob-2); border: 0; box-shadow: none; }
.timeline li { border-left-color: #B9DCF2; }
.timeline li::before { border-color: #0095DA; }
.timeline__when { color: #0077C0; }
.timeline strong, .profile-skills dt, .company-table th { color: var(--ink); }
.company-table th { background: #F4FAFE; }

/* お問い合わせフォーム */
.side-card h2 { color: var(--ink); }
.side-steps li::before { background: var(--grad-diag); }
.side-checks li::before { border-color: #0095DA; }
.side-card[style*="--navy"] { background: var(--grad-diag) !important; }
.side-checks[style*="--ink: #FFFFFF"] li::before { border-color: #FFFFFF; }
.req { background: #575CFF; }
.opt { background: #EBF8FF; color: var(--muted); }
.input, .select, .textarea { background: #FFFFFF; border-color: #B9DCF2; color: var(--ink); }
.input:focus, .select:focus, .textarea:focus { border-color: #0077C0; box-shadow: 0 0 0 3px rgba(0, 119, 192, .16); }
.choice span { border-color: #B9DCF2; background: #FFFFFF; color: var(--ink); }
.choice input:checked + span { background: var(--grad); border-color: transparent; color: #FFFFFF; }
.agree input { accent-color: #0077C0; }
.privacy-box { background: #F4FAFE; }
.thanks__icon { background: var(--grad-diag); box-shadow: 0 10px 24px rgba(87, 92, 255, .3); }
.receipt { border-color: var(--line); }
.receipt strong { color: #0077C0; }

/* コラム記事 */
.article__title { color: var(--ink); }
.article__eyecatch { border-radius: 10px; box-shadow: none; }
.article__body h2 { background: #F4FAFE; color: var(--ink); border-left: 6px solid #0095DA; border-radius: 0 10px 10px 0; }
.article__body h2 .num { color: #0077C0; }
.article__body h3 { color: var(--ink); border-bottom-color: var(--line); }
.article__body h3::after { background: var(--grad); }
.article__body strong { background: linear-gradient(transparent 64%, rgba(0, 149, 218, .2) 64%); }
.article__body li::marker { color: #0095DA; }
.summary-box__title, .toc-box__title, .author-box strong { color: var(--ink); }
.summary-box li::before { border-color: #0095DA; }
.toc-box { background: #EBF8FF; }
.toc-box > ol > li > a::before { color: #0077C0; }
.toc-box a:hover, .article-side .toc-box a.is-current { color: #0077C0; }
.article-side .toc-box { border: 0; }
.point-box { background: #F4FAFE; border-color: #B9DCF2; border-radius: 10px; }
.point-box__label { background: var(--grad); color: #FFFFFF; }
.example-compare .is-bad { background: #F5F7F9; border-color: #E2E8F0; }
.example-compare .is-good { border-color: #0095DA; }
.example-compare .is-good b { color: #0077C0; }
.steps-mini li { border-color: var(--line); }
.steps-mini li::before { background: var(--grad); }
.checklist li { border-bottom-color: var(--line); }
.checklist li::before { border-color: #0095DA; }
.author-box img { box-shadow: 0 0 0 2px #9CD3F0; }
.article-cta, .side-cta { background: var(--grad-diag); color: #FFFFFF; border-radius: 20px; }
.side-cta { border-radius: 10px; }
.toc { background: #FFFFFF; }
.link-card { background: var(--grad-diag); border: 0; }
.rank--s { background: var(--grad-diag); }
.rank--a { background: #EBF8FF; color: #0077C0; }
.sources h2 { color: var(--ink); }

/* HTML内のアイコン（旧ゴールド・ネイビー）を青に */
svg[stroke="#B08D57"], svg[stroke="#8A6A04"], svg[stroke="#8F6F36"],
svg [stroke="#B08D57"], svg [stroke="#8A6A04"], svg [stroke="#8F6F36"] { stroke: #0095DA; }
svg[stroke="#122C43"], svg[stroke="#14273A"], svg [stroke="#122C43"], svg [stroke="#14273A"] { stroke: #003953; }
svg[stroke="#1C1A15"], svg [stroke="#1C1A15"] { stroke: #FFFFFF; }
svg[fill="#B08D57"], svg [fill="#B08D57"] { fill: #0095DA; }

/* ---------- スマホ ---------- */
@media (max-width: 768px) {
  .hero::before { width: 520px; height: 480px; right: -260px; top: -120px; }
  .hero::after { display: none; }
  .hero__inner { padding: 40px 24px 56px; gap: 32px; }
  .hero__eyebrow { font-size: 12px; }
  .hero__title { font-size: 28px; }
  .hero__sub { font-size: 17px; }
  .hero__media { flex: 1 1 100%; margin: 0; height: auto; }
  .hero__media img { height: 300px; border-radius: 58% 42% 52% 48% / 46% 54% 46% 54%; }
  .hero__media::after { display: none; }
  .logo__img { height: 24px; }
  .site-footer { padding-top: 48px; }
  .site-footer .logo__img { height: 26px; }
  .cta-tile { padding: 18px 20px 18px 26px; }
  .strength__img img { height: 220px; }
  .page-hero::before { width: 420px; height: 400px; right: -220px; top: -160px; }
}

/* ---------- コラムのカード（v1.3.7） ---------- */
.post-card { gap: 0; padding: 0; border-radius: 16px; overflow: hidden; height: 100%; transition: transform .25s ease, box-shadow .25s ease; }
.post-card:hover { transform: translateY(-4px); }
.post-card__thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--soft); }
.post-card__thumb img, .post-card img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .5s ease; }
.post-card:hover img { opacity: 1; transform: scale(1.04); }
.post-card__body { display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 22px 24px 24px; }
.post-card__meta { display: flex; align-items: center; gap: 12px; font-size: 12px; color: var(--muted-2); letter-spacing: .04em; }
.post-card__cat { border: 0; border-radius: 999px; padding: 4px 12px; background: var(--soft); color: var(--navy); font-size: 12px; font-weight: 700; line-height: 1.4; }
.post-card h3 { font-size: 17px; line-height: 1.7; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post-card__foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted-2); }
.post-card__more { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; color: var(--navy); transition: gap .2s ease; }
.post-card:hover .post-card__more { gap: 8px; }
@media (max-width: 768px) {
  .post-card__body { padding: 18px 20px 20px; }
  .post-card h3 { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .post-card, .post-card img, .post-card__more { transition: none; }
  .post-card:hover { transform: none; }
  .post-card:hover img { transform: none; }
}

/* ---------- フッター（v1.3.9） ---------- */
.site-footer .logo__img { height: 44px; }
.site-footer nav strong { font-size: 16px; letter-spacing: .14em; margin-bottom: 6px; }
.site-footer__copy { text-align: center; font-family: var(--font-serif); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 768px) {
  .site-footer .logo__img { height: 36px; }
  .site-footer nav strong { font-size: 15px; }
  .site-footer__copy { font-size: 11px; letter-spacing: .1em; }
}
