/* On The Way — コンポーネントスタイル */

/* ============================================
   フォント品質改善 — 高品質タイポグラフィ
   ============================================ */

/* 本文: Noto Sans JP Regular 400（Light 300は安っぽくなりがち） */
body,
.article-body,
.entry-content {
  font-family: var(--ow-font-sans);
  font-weight: 400;
  font-size: 15px;
  line-height: 2.0;
  color: var(--ow-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
}

/* 見出し（h2）: Noto Serif JP で品格をプラス */
.entry-content h2.wp-block-heading,
.article-body h2.wp-block-heading {
  font-family: var(--ow-font-serif);
  font-weight: 500;
  letter-spacing: 0.04em;
}

/* 見出し（h3）: Noto Sans JP Medium */
.entry-content h3.wp-block-heading,
.article-body h3.wp-block-heading {
  font-family: var(--ow-font-sans);
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* キャッチコピー・リード文（20px以上のテキスト） */
.entry-content p[style*="font-size:20px"],
.entry-content p[style*="font-size: 20px"] {
  font-family: var(--ow-font-serif);
  font-feature-settings: "palt";
}

/* テーブル */
.wp-block-table {
  font-feature-settings: "palt";
}

.wp-block-table td,
.wp-block-table th {
  padding: 12px 16px;
  line-height: 1.8;
}

/* ============================================
   個別ページ・トップページ 全幅化
   ============================================ */
/* 全幅セクション: margin-left/rightネガティブで左右にはみ出す
   （left + widthだとサブピクセルずれが起きるのでmargin方式に変更） */
/* alignfullはWordPress標準で全幅処理されるため除外 */
.one-col .article-body > .wp-block-group:not(.alignfull),
.one-col .article-body > .wp-block-cover:not(.alignfull) {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw;
  width: 100vw;
}

/* 100vwによる水平スクロールバー防止 */
.l-contents {
  overflow-x: hidden;
}

/* NEWSページのarchive-headerも全幅 + 上の隙間を消す */
.blog .one-col .archive-header {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}

/* NEWSページの上部余白を完全に削除 */
.blog .l-content__inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* パンくずリスト: カバーブロックの下に移動された後のスタイル
   NEWSページ（l-content__main直下）と同じ左端位置に揃える */
.article-body > .breadcrumb {
  max-width: none;
  margin: 0;
  padding: 12px 0;
  font-size: 13px;
}

/* ============================================
   トップページ セクション全幅化
   ============================================ */
/* トップページ各セクションを全幅に拡張 */
.home .article-body > .wp-block-group.ow-section {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  max-width: 100vw;
}

/* ============================================
   CORE SERVICEカード — ダーク緑背景
   ============================================ */
.is-style-core-service-card {
  background: var(--ow-dark);
  border-radius: var(--ow-radius-lg);
  padding: 44px 40px;
}

.is-style-core-service-card h3 {
  font-family: var(--ow-font-serif);
  font-size: 26px;
  color: #F6F5F0;
}

.is-style-core-service-card p {
  color: #C5D4C0;
  line-height: 2.0;
}

/* ピル型タグ — 目立つ配色 */
.is-style-core-service-card .tag {
  display: inline-block;
  background: var(--ow-medium, #8BA38C);
  color: #FFFFFF;
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  margin: 4px 4px 4px 0;
}

/* ============================================
   サービスカード — 左ボーダー（緑）
   ============================================ */
.is-style-service-card {
  background: var(--ow-white);
  border-radius: var(--ow-radius-md);
  padding: 24px 28px;
  border-left: 3px solid var(--ow-primary);
  height: 100%;
  box-sizing: border-box;
}

/* ============================================
   サービスカード・アクセント — 左ボーダー（オレンジ: GUULY用）
   ============================================ */
.is-style-service-card-accent {
  background: var(--ow-white);
  border-radius: var(--ow-radius-md);
  padding: 24px 28px;
  border-left: 3px solid var(--ow-accent);
  height: 100%;
  box-sizing: border-box;
}

/* ============================================
   プロフィール引用帯 — ダーク緑背景 + Noto Serif JP
   ============================================ */
.is-style-profile-quote {
  background: var(--ow-dark);
  padding: 28px 36px;
}

.is-style-profile-quote p {
  font-family: var(--ow-font-serif);
  font-size: 20px;
  color: #F6F5F0;
  line-height: 1.8;
}

/* ============================================
   セクション（ウォームホワイト背景）
   ============================================ */
.is-style-section-warm {
  background: var(--ow-bg);
  padding: var(--ow-section-padding);
}

/* ============================================
   セクションラベル — 英字キャプション
   ============================================ */
.ow-section-label {
  font-family: var(--ow-font-sans);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--ow-medium);
}

/* 緑背景セクション内のラベル */
.has-dark-background .ow-section-label {
  color: #A8BAA5;
}

/* ============================================
   ヘッダー — ロゴとメニューを1行に統合
   ============================================ */
.l-header {
  display: flex;
  align-items: center;
  padding: 0 40px;
  background: var(--ow-dark);
}

/* ロゴ・メニュー個別の背景を無効化（.l-headerに統一） */
.l-header-default,
.header-menu-default.u-display-pc {
  background: transparent !important;
}

.l-header-default {
  flex-shrink: 0;
}

/* ロゴ部分のセンタリングを解除し、コンパクトに */
.l-header-default .l-content {
  width: auto;
  padding: 0;
}

.l-header-default .header-site-branding {
  text-align: left;
  padding: 6px 0;
}

/* メニューを右寄せ（flex:1で引き伸ばさない） */
.header-menu-default.u-display-pc {
  flex: 0 1 auto;
  margin-left: auto;
}

.header-menu-default .l-content {
  width: auto;
  max-width: none;
  padding: 0;
}

/* メニューリストを右寄せ */
.header-menu-default .menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
}

/* メニュー項目の間隔を狭める（スクロール時と統一） */
.header-menu-default .menu > li > a {
  padding-left: 18px !important;
  padding-right: 18px !important;
}


/* ============================================
   ヘッダー CTAボタン — 資料請求（四角・横並び）+ お問い合わせ（四角・アイコン）
   ============================================ */

/* 資料請求ボタン — アウトライン四角、アイコン+テキスト横並び1行 */
.ow-header-cta-primary > a {
  background: transparent !important;
  color: var(--ow-white, #FFFFFF) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 4px !important;
  padding: 5px 18px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px;
  transition: background 0.3s ease, border-color 0.3s ease;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.ow-header-cta-primary > a::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.ow-header-cta-primary > a:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
}

/* お問い合わせボタン — 資料請求と同じアウトライン四角、メールアイコン+テキスト */
.ow-header-cta-secondary > a {
  background: transparent !important;
  color: var(--ow-white, #FFFFFF) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 4px !important;
  padding: 5px 18px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px;
  transition: background 0.3s ease, border-color 0.3s ease;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.ow-header-cta-secondary > a::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.ow-header-cta-secondary > a:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
}

/* 旧contactリンクスタイル（フッター等で使用） */
.menu-item:not(.ow-header-cta-secondary) a[href*="contact"] {
  background: var(--ow-accent);
  color: var(--ow-white) !important;
  border-radius: var(--ow-radius-sm);
  padding: 8px 20px;
  transition: opacity 0.3s ease;
}

.menu-item:not(.ow-header-cta-secondary) a[href*="contact"]:hover {
  opacity: 0.85;
}

/* ============================================
   CTAセクション — ダーク緑背景
   ============================================ */
.ow-cta-section {
  background: var(--ow-dark);
  padding: var(--ow-section-padding);
}

.ow-cta-section h2,
.ow-cta-section p {
  color: #F6F5F0;
}

/* CTAボタン — バーントオレンジ */
.ow-cta-button {
  display: inline-block;
  background: var(--ow-accent);
  color: var(--ow-white);
  padding: 14px 40px;
  border-radius: var(--ow-radius-sm);
  font-weight: 500;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.ow-cta-button:hover {
  opacity: 0.85;
  color: var(--ow-white);
}

/* CTAアウトラインボタン */
.ow-cta-button--outline {
  background: transparent;
  border: 1px solid #A8BAA5;
  color: #A8BAA5;
}

.ow-cta-button--outline:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #A8BAA5;
}

/* ============================================
   CONTACTフォーム — CF7スタイリング
   ============================================ */
.ow-cf7-form {
  max-width: 560px;
  margin: 0 auto;
}

.ow-cf7-form .ow-form-lead {
  text-align: center;
  font-size: 14px;
  line-height: 2.0;
  color: var(--ow-text);
  margin-bottom: 40px;
}

.ow-cf7-form .ow-form-group {
  margin-bottom: 28px;
}

.ow-cf7-form .ow-form-label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--ow-text);
  margin-bottom: 4px;
}

/* CF7が生成するpタグの余白をリセット */
.ow-cf7-form .wpcf7-form-control-wrap {
  display: block;
}

.ow-cf7-form .ow-form-group p {
  margin: 0;
}

.ow-cf7-form .ow-required {
  color: #C04040;
  font-size: 13px;
  margin-left: 2px;
}

/* テキスト入力フィールド */
.ow-cf7-form input[type="text"],
.ow-cf7-form input[type="email"],
.ow-cf7-form input[type="tel"],
.ow-cf7-form textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--ow-light);
  border-radius: var(--ow-radius-sm);
  font-family: var(--ow-font-sans);
  font-size: 15px;
  font-weight: 400;
  color: var(--ow-text);
  background: var(--ow-white);
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.ow-cf7-form input[type="text"]:focus,
.ow-cf7-form input[type="email"]:focus,
.ow-cf7-form input[type="tel"]:focus,
.ow-cf7-form textarea:focus {
  outline: none;
  border-color: var(--ow-primary);
}

.ow-cf7-form textarea {
  min-height: 160px;
  resize: vertical;
}

.ow-cf7-form input::placeholder,
.ow-cf7-form textarea::placeholder {
  color: #B0B8B0;
  font-size: 14px;
}

/* チェックボックス（カテゴリー） */
.ow-cf7-form .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 4px;
}

.ow-cf7-form .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}

.ow-cf7-form .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--ow-text);
  cursor: pointer;
}

.ow-cf7-form .wpcf7-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--ow-primary);
  cursor: pointer;
}

/* プライバシーポリシー同意 */
.ow-cf7-form .ow-form-privacy {
  margin-top: 32px;
  margin-bottom: 32px;
}

.ow-cf7-form .ow-form-privacy .wpcf7-acceptance label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  cursor: pointer;
}

.ow-cf7-form .ow-form-privacy a {
  color: var(--ow-primary);
  text-decoration: underline;
}

/* 送信ボタン */
.ow-cf7-form .ow-form-submit {
  text-align: center;
}

.ow-cf7-form input[type="submit"] {
  display: inline-block;
  background: var(--ow-accent);
  color: var(--ow-white);
  border: none;
  padding: 16px 48px;
  border-radius: var(--ow-radius-sm);
  font-family: var(--ow-font-sans);
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.ow-cf7-form input[type="submit"]:hover {
  opacity: 0.85;
}

/* バリデーションエラー */
.ow-cf7-form .wpcf7-not-valid-tip {
  font-size: 13px;
  color: #C04040;
  margin-top: 4px;
}

/* ============================================
   コンテンツ幅の制御 — 左右マージン確保
   ============================================ */
/* セクション内のコンテンツ幅を制限（全幅背景は維持）
   トップページ: is-layout-flow のグループ（contentSize未設定）
   固定ページ: is-layout-constrained のグループ（contentSize設定済み） */

/* トップページのセクション（is-layout-flow）の子要素に幅制限
   固定ページ（l-content__main: 1180px）と同じコンテンツ幅に揃える
   セクション自体にpadding 56px があるため、子要素には追加paddingを付けない */
.article-body > .wp-block-group.is-layout-flow > * {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

/* ネストされたグループ: CTAセクション（ow-ctaクラス付き）は全幅 */
.article-body > .wp-block-group.is-layout-flow > .wp-block-group.ow-cta-section {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

/* NEWSの投稿一覧 */
.blog .wrapper-column {
  max-width: 860px;
  margin: 0 auto;
  padding: 48px 24px;
}

/* Googleカレンダープレースホルダー */
.ow-calendar-placeholder {
  margin-top: 16px;
}

/* ============================================
   NEWS（投稿一覧）ページ — 他ページとデザイン統一
   ============================================ */
/* ヘッダー帯を他ページのカバーブロックと統一 */
.blog .archive-header {
  background: var(--ow-dark);
  padding: 56px 24px;
  text-align: center;
  margin: 0;
}

.blog .archive-header .archive-title {
  color: #ffffff;
  font-size: 32px;
  font-weight: 500;
  font-family: var(--ow-font-sans);
  margin: 0;
}

.blog .archive-header .archive-title__sub {
  color: #A8BAA5;
  font-size: 14px;
  font-weight: 400;
  display: block;
  margin-top: 8px;
}

/* 投稿一覧エリア */
.blog .l-content__main .wrapper-column {
  max-width: 960px;
  margin: 0 auto;
  padding: 48px 0;
}

/* ============================================
   PAIN POINTS — こんなお悩みありませんか？
   ============================================ */

/* お悩みアイテム: チェックマーク付き */
.ow-painpoint-item {
  padding-left: 32px;
  position: relative;
}

.ow-painpoint-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: var(--ow-accent, #D4875C);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M8.5 13.3L5.2 10l-1.1 1.1 4.4 4.4 9.4-9.4-1.1-1.1z'/%3E%3C/svg%3E");
  background-size: 14px;
  background-position: center;
  background-repeat: no-repeat;
}

/* SP時は1カラム */
@media (max-width: 767px) {
  .ow-painpoints-grid {
    flex-direction: column;
  }
}

/* ============================================
   4-c: サービスカード hoverエフェクト
   ============================================ */
.is-style-service-card,
.is-style-service-card-accent,
.is-style-core-service-card {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.is-style-service-card:hover,
.is-style-service-card-accent:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
}

.is-style-core-service-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  transform: translateY(-4px);
}

/* ============================================
   4-b: REASONセクション アイコン
   ============================================ */

/* 提案で終わらない — 工具アイコン */
.ow-section--reason .wp-block-column:nth-child(1) .ow-numbering::before {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  background-color: var(--ow-primary, #506B52);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
}

/* 現場を知っている — ビルアイコン */
.ow-section--reason .wp-block-column:nth-child(2) .ow-numbering::before {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  background-color: var(--ow-primary, #506B52);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M3 21h18M9 8h1M9 12h1M9 16h1M14 8h1M14 12h1M14 16h1'/%3E%3Crect x='5' y='2' width='14' height='19' rx='1'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M3 21h18M9 8h1M9 12h1M9 16h1M14 8h1M14 12h1M14 16h1'/%3E%3Crect x='5' y='2' width='14' height='19' rx='1'/%3E%3C/svg%3E");
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
}

/* ITと経営の二刀流 — PCアイコン */
.ow-section--reason .wp-block-column:nth-child(3) .ow-numbering::before {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  background-color: var(--ow-primary, #506B52);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
}

/* ============================================
   4-d: スクロールアニメーション（現在無効化中）
   ============================================ */

/* 4-e (数字実績表示) と 4-f (資格バッジ) は不採用のため削除済み */

/* ============================================
   COLUMNページ — カード型レイアウト
   ============================================ */

/* グリッドレイアウト */
.ow-column-cards.wp-block-latest-posts {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  list-style: none;
  padding: 0;
}

/* 各カード */
.ow-column-cards.wp-block-latest-posts > li {
  background: var(--ow-white, #FFFFFF);
  border: 1px solid var(--ow-light, #C5D4C0);
  border-radius: var(--ow-radius-md, 10px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  display: flex;
  flex-direction: column;
}

.ow-column-cards.wp-block-latest-posts > li:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
}

/* アイキャッチ画像 */
.ow-column-cards .wp-block-latest-posts__featured-image {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.ow-column-cards .wp-block-latest-posts__featured-image a,
.ow-column-cards .wp-block-latest-posts__featured-image img {
  width: 100% !important;
  height: 180px;
  object-fit: cover;
  display: block;
}

/* カード内テキスト領域 */
.ow-column-cards .wp-block-latest-posts__post-title {
  display: block;
  padding: 20px 24px 0;
  font-family: var(--ow-font-sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--ow-text, #2C2E2A);
  text-decoration: none;
}

.ow-column-cards .wp-block-latest-posts__post-title:hover {
  color: var(--ow-primary, #506B52);
}

/* 日付 */
.ow-column-cards .wp-block-latest-posts__post-date {
  display: block;
  padding: 12px 24px 0;
  font-size: 12px;
  color: var(--ow-text-sub, #6B7C6C);
}

/* 抜粋 */
.ow-column-cards .wp-block-latest-posts__post-excerpt {
  padding: 8px 24px 24px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--ow-text-sub, #6B7C6C);
  flex-grow: 1;
}

/* 「続きを読む」リンク */
.ow-column-cards .wp-block-latest-posts__post-excerpt > a {
  display: inline-block;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--ow-accent, #D4875C);
  text-decoration: none;
}

.ow-column-cards .wp-block-latest-posts__post-excerpt > a:hover {
  text-decoration: underline;
}

/* SP: 1カラム */
@media (max-width: 767px) {
  .ow-column-cards.wp-block-latest-posts {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ow-column-cards .wp-block-latest-posts__featured-image img {
    height: 160px;
  }
}
