/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
/* =========================================================
   pm-single-column: PHP テンプレート（Elementor 不要版）
   ========================================================= */

.pm-single-column {
    max-width: 820px;
    margin: 0 auto;
    padding: 24px 20px 80px;
}
.pm-single-breadcrumbs {
    font-size: 12px;
    color: #999;
    margin-bottom: 20px;
}
.pm-single-breadcrumbs a { color: #888; text-decoration: none; }
.pm-single-breadcrumbs a:hover { text-decoration: underline; }
.pm-single-breadcrumbs span { color: #555; }
.pm-single-thumb { margin-bottom: 32px; }
.pm-single-thumb__img { width: 100%; height: auto; border-radius: 8px; display: block; }
.pm-single-meta {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: 8px; margin-bottom: 16px;
}
.pm-single-meta__date { font-size: 12px; color: var(--muted, #6d737a); }
.pm-single-meta__cat {
    font-size: 11px; background: var(--soft, #eef0f2);
    padding: 3px 10px;
    text-decoration: none; color: var(--muted, #6d737a);
    transition: background .2s ease;
}
.pm-single-meta__cat:hover { background: var(--line, rgba(17,17,17,.12)); color: var(--ink); }
.pm-single-title {
    font-size: clamp(1.35rem, 3vw, 1.8rem);
    font-weight: 700; line-height: 1.5;
    margin: 0 0 32px; color: #1a1a1a;
}

/* CTA（後方互換：style.css後半の専用ブロックで上書き） */
/* .pm-single-cta の定義は後述のブロック（line ~900付近）に統合 */

/* 関連記事 */
.pm-single-related { margin-top: 56px; }
.pm-single-related__title {
    font-size: 1rem; font-weight: 700;
    margin-bottom: 20px; padding-bottom: 12px;
    border-bottom: 2px solid #eee;
}
.pm-single-related__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}
.pm-single-related__card {
    display: flex; flex-direction: column;
    border: 1px solid #eee; border-radius: 8px;
    overflow: hidden; text-decoration: none; color: inherit;
    transition: transform 0.2s, box-shadow 0.2s;
}
.pm-single-related__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}
.pm-single-related__thumb { height: 140px; overflow: hidden; }
.pm-single-related__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pm-single-related__thumb--noimg {
    background: #f0f0f0;
}
.pm-single-related__body { padding: 12px 14px; }
.pm-single-related__item-title {
    font-size: 0.85rem; font-weight: 600;
    line-height: 1.5; margin: 0 0 6px;
    display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
}
.pm-single-related__excerpt {
    font-size: 0.75rem; color: #888;
    margin: 0; line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
}

/* 前後ナビ */
.pm-single-nav {
    display: flex; justify-content: space-between;
    align-items: center; margin-top: 56px;
    padding-top: 28px; border-top: 1px solid #eee;
    gap: 16px; flex-wrap: wrap;
}
.pm-single-nav a { color: #333; text-decoration: none; font-size: 0.88rem; }
.pm-single-nav__back {
    background: #222; color: #fff !important;
    padding: 10px 24px; border-radius: 4px;
    transition: opacity 0.2s; white-space: nowrap;
}
.pm-single-nav__back:hover { opacity: 0.7; }
.pm-single-nav__prev, .pm-single-nav__next {
    flex: 1; min-width: 0;
}
.pm-single-nav__next { text-align: right; }

/* =========================================================
   Column記事 本文スタイル（.pm-single-content = .lig-content-inner）
   ========================================================= */

/* Column記事 本文見出し・画像 */
.lig-content-inner h2,
.pm-single-content h2 {
  font-size: 26px;
  line-height: 1.6;
  font-weight: 700;
  margin: 80px 0 20px;
  color: #222222;
  scroll-margin-top: 140px;
}

.lig-content-inner h3,
.pm-single-content h3 {
  font-size: 20px;
  line-height: 1.6;
  font-weight: 600;
  margin: 32px 0 12px;
  color: #333333;
  scroll-margin-top: 140px;
}
.lig-content-inner img,
.pm-single-content img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin-top: 30px;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .lig-content-inner img { border-radius: 5px; }
}

/* アイキャッチ画像（AI着用イメージ）左右余白なく全幅表示 */
.single-column .post-thumb-img-content img.wp-post-image,
.single-column .post-thumb img.wp-post-image {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}

/* ── 目次（開閉式）── */
.pm-toc {
  border: 1px solid rgba(17,17,17,.12);
  border-radius: 10px;
  margin: 48px 0 40px;
  overflow: hidden;
}
.pm-toc__toggle {
  width: 100%;
  background: #f6f7f8;
  border: none;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  color: #111;
  text-align: left;
  font-family: inherit;
}
.pm-toc__toggle:hover { background: #eef0f2; }
.pm-toc__label { flex: 1; }
.pm-toc__chevron {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: #555;
  transition: transform .28s ease;
}
.pm-toc__toggle[aria-expanded="false"] .pm-toc__chevron {
  transform: rotate(-90deg);
}
.pm-toc__body {
  padding: 14px 20px 20px;
}
#toc-list {
  padding-left: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
#toc-list li {
  list-style: none !important;
  font-size: 14px;
  line-height: 1.85;
  margin-bottom: 2px;
}
#toc-list .toc-h2 {
  font-weight: 700;
  font-size: 14px;
  margin-top: 10px;
}
#toc-list .toc-h2:first-child { margin-top: 0; }
#toc-list .toc-h3 {
  padding-left: 18px;
  font-size: 13px !important;
  opacity: 0.72;
}
#toc-list a {
  color: #111;
  text-decoration: none;
}
#toc-list a:hover {
  color: #555;
  text-decoration: none;
}
/* Columnアーカイブ カードホバー */
.jet-listing-grid__item {
  transition: transform .3s ease;
}
.jet-listing-grid__item:hover {
  transform: translateY(-6px);
}
.jet-listing-grid__item img {
  transition: transform .4s ease;
}
.jet-listing-grid__item:hover img {
  transform: scale(1.03);
}
/* 特集カード */
.pm-featured {
  position: relative;
  background: #ffffff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important;
  overflow: hidden !important;
  transition: all 0.3s ease;
}
.pm-featured::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 10px;
  background: linear-gradient(90deg, #f08a24 0%, #f6b26b 100%);
}
.pm-featured > .e-con-inner,
.pm-featured > .elementor-element,
.pm-featured > .elementor-widget-wrap,
.pm-featured .elementor-widget-container,
.pm-featured .e-child { background: transparent !important; }
.pm-featured:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

/* ボタンフォーカスリング */
.elementor-button:focus,
.elementor-button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(27, 123, 129, 0.2) !important;
}

/* スマホ専用改行クラス */
.sp-only { display: none; }
@media (max-width: 767px) {
  .sp-only { display: inline; }
}
.pc-only { display: inline; }
@media (max-width: 767px) {
  .pc-only { display: none; }
}

/* ========================================
   ヘッダー — 親サイト(10027)デザイン統一
   ======================================== */

/* ロゴ上書き：CLANTE OUTLET → Fashion Media AI
   Chrome 94+ では img に content:url() が効かないため
   img を非表示にして親リンクに背景SVGで代替表示する
   :has() は Chrome105+ / Safari 15.4+ で対応 */

/* ── ヘッダーロゴ（黒版）── */
img.wp-image-1239 {
  display: none !important;
}
.elementor-widget-container:has(> a > img.wp-image-1239) a,
.elementor-widget-container:has(> img.wp-image-1239) {
  display: block !important;
  width: 200px !important;
  height: 56px !important;
  background: url('/fmai-assets/FashionMediaAI_logo_ol.svg') no-repeat left center / contain !important;
}

/* ── フッターロゴ（白版）── */
img.wp-image-1241 {
  display: none !important;
}
.elementor-widget-container:has(> a > img.wp-image-1241) a,
.elementor-widget-container:has(> img.wp-image-1241) {
  display: block !important;
  width: 200px !important;
  height: 56px !important;
  background: url('/fmai-assets/FashionMediaAI_logo_white.svg') no-repeat left center / contain !important;
}

/* フッターの旧ショップ名テキストを非表示 */
#jet-theme-core-footer .elementor-element-07f99bb {
  display: none !important;
}

/* ── ヘッダー：空の第1列・Instagram・カートを非表示 ── */
/* elementor-element-1b3e01f = 空カラム（ロゴを左端に詰めるため非表示） */
#jet-theme-core-header .elementor-element-1b3e01f,
#jet-theme-core-header .elementor-element-9f0e604,
#jet-theme-core-header .elementor-element-2409d14 {
  display: none !important;
}

/* ── JSインジェクションで追加するナビゲーション ── */
#pm-header-nav {
  display: flex !important;
  align-items: center;
  gap: 26px;
  margin-left: auto;
  padding: 0 8px;
}
#pm-header-nav a {
  color: var(--ink, #111) !important;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none !important;
  letter-spacing: .04em;
  white-space: nowrap;
  transition: opacity .2s;
}
#pm-header-nav a:hover {
  opacity: 0.55;
}
#pm-header-nav .pm-nav-cta {
  background: var(--ink, #111) !important;
  color: #fff !important;
  padding: 9px 20px;
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .06em;
}
#pm-header-nav .pm-nav-cta:hover {
  background: #333 !important;
  opacity: 1;
}

/* ヘッダー全体 */
.site-header,
.elementor-location-header {
  background: #fff !important;
  border-bottom: 1px solid #EFE6DC;
  box-shadow: 0 1px 12px rgba(0,0,0,.05);
}

/* ロゴエリア */
.site-header .site-branding,
.elementor-widget-theme-site-logo {
  display: flex;
  align-items: center;
}

/* ナビゲーション — 全体 */
.elementor-nav-menu {
  display: flex;
  align-items: center;
  gap: 0;
}

/* ナビゲーション — 各リンク */
.elementor-nav-menu > li > a,
.elementor-nav-menu--main .elementor-item {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  color: #2C2C2A !important;
  padding: 8px 16px !important;
  position: relative;
  transition: color .2s ease !important;
  text-decoration: none !important;
}

/* ナビゲーション — ホバー時 */
.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item:focus,
.elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #1B7B81 !important;
}

/* ホバーアンダーライン */
.elementor-nav-menu--main .elementor-item::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 16px;
  right: 16px;
  height: 1px;
  background: #1B7B81;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.elementor-nav-menu--main .elementor-item:hover::after,
.elementor-nav-menu--main .elementor-item.elementor-item-active::after {
  transform: scaleX(1);
}

/* CTAボタン */
.elementor-location-header .elementor-button,
.elementor-location-header a.elementor-button {
  background: #E07449 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  padding: 11px 24px !important;
  border-radius: 999px !important;
  border: none !important;
  transition: background .2s ease, transform .15s ease !important;
  white-space: nowrap;
}
.elementor-location-header .elementor-button:hover,
.elementor-location-header a.elementor-button:hover {
  background: #c46839 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 1024px) {
  .elementor-nav-menu--main .elementor-item {
    padding: 8px 10px !important;
  }
}

/* =========================================================
   Design Tokens — 親サイト(10027)と統一
   ========================================================= */
:root {
  --ink:        #111111;
  --text:       #2f3337;
  --muted:      #6d737a;
  --paper:      #ffffff;
  --mist:       #f6f7f8;
  --soft:       #eef0f2;
  --charcoal:   #1f1f1f;
  --navy:       #061a39;
  --line:       rgba(17,17,17,.12);
  --line-strong:rgba(17,17,17,.20);
  --shadow:     0 22px 60px rgba(17,17,17,.10);
  --soft-shadow:0 12px 34px rgba(17,17,17,.06);
}

/* =========================================================
   TOP HERO (archive-column.php / メインアーカイブ用マストヘッド)
   ========================================================= */

/* -- 共通リセット -- */
.pm-top * { box-sizing: border-box; }
.pm-top a { text-decoration: none; color: inherit; }

/* -- Hero (compact masthead) -- */
.pm-top-hero {
  border-top: 2px solid var(--navy);
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--navy);
  padding: 40px 20px;
}
.pm-top-hero__inner {
  max-width: min(1160px, calc(100% - 44px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.pm-top-hero__left { flex: 1; min-width: 0; }
/* eyebrow：二重四角アイコン */
.pm-top-hero__eyebrow {
  display: inline-block;
  font-size: 11px; font-weight: 900; letter-spacing: .16em;
  color: var(--ink); margin: 0 0 10px; text-transform: uppercase;
}
.pm-top-hero__eyebrow::before {
  content: "";
  display: inline-block; width: 9px; height: 9px;
  margin-right: 9px;
  border: 1px solid currentColor;
  box-shadow: 5px -5px 0 #fff, 5px -5px 0 1px currentColor;
  vertical-align: 1px;
}
.pm-top-hero__title {
  font-size: clamp(26px, 3.2vw, 44px);
  font-weight: 700; line-height: 1.3;
  margin: 0 0 10px; color: var(--navy);
}
.pm-top-hero__sub {
  font-size: 14px; color: var(--muted); line-height: 1.72;
  margin: 0; max-width: 480px;
}
.pm-top-hero__btns {
  display: flex; gap: 12px; flex-wrap: wrap;
  flex-shrink: 0; align-items: center;
}
/* ボタン：clip-path 平行四辺形 */
.pm-top-hero__btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 11px 26px;
  font-size: 14px; font-weight: 600; line-height: 1.45;
  border: 1px solid var(--line-strong);
  clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
  transition: transform .24s ease, background .24s ease;
  cursor: pointer; white-space: nowrap;
}
.pm-top-hero__btn:hover { transform: translateY(-2px); }
.pm-top-hero__btn--primary {
  background: var(--navy); color: #fff !important;
  border-color: var(--navy);
}
.pm-top-hero__btn--primary:hover { background: var(--charcoal); color: #fff !important; }
.pm-top-hero__btn--secondary {
  background: #fff; color: var(--ink) !important;
}
@media (max-width: 700px) {
  .pm-top-hero__inner { flex-direction: column; align-items: flex-start; gap: 20px; }
}


/* =========================================================
   ARCHIVE PAGE (archive-column.php)
   ========================================================= */

.pm-archive * { box-sizing: border-box; }

/* -- ヘッダー：白地＋ネイビー文字 -- */
.pm-archive-header {
  position: relative; overflow: hidden;
  background: var(--mist);
  color: var(--navy); padding: 72px 20px 56px; text-align: center;
  border-bottom: 1px solid var(--line);
}
.pm-archive-header::before {
  content: "";
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(17,17,17,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,17,17,.035) 1px, transparent 1px);
  background-size: 88px 88px;
}
/* サンプルカテゴリはネイビー地 */
.pm-archive-header--sample {
  background: var(--navy); color: #fff; border-color: transparent;
}
.pm-archive-header--sample::before {
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 88px 88px;
}
.pm-archive-header__inner {
  position: relative; z-index: 1;
  max-width: min(800px, calc(100% - 44px)); margin: 0 auto;
}
/* eyebrow */
.pm-archive-header__eyebrow {
  display: inline-block;
  font-size: 11px; font-weight: 900; letter-spacing: .16em;
  margin: 0 0 16px; text-transform: uppercase;
}
.pm-archive-header__eyebrow::before {
  content: "";
  display: inline-block; width: 9px; height: 9px; margin-right: 9px;
  border: 1px solid currentColor;
  box-shadow: 5px -5px 0 var(--mist), 5px -5px 0 1px currentColor;
  vertical-align: 1px;
}
.pm-archive-header--sample .pm-archive-header__eyebrow::before {
  box-shadow: 5px -5px 0 var(--navy), 5px -5px 0 1px currentColor;
}
.pm-archive-header__title {
  font-size: clamp(24px, 3.5vw, 40px);
  font-weight: 700; margin: 0 0 14px; line-height: 1.35;
  color: inherit;
}
.pm-archive-header__desc {
  font-size: 16px; line-height: 1.78; margin: 0;
  opacity: 0.72;
  color: inherit;
}
/* サンプルヘッダーのテキストを確実に白に */
.pm-archive-header--sample .pm-archive-header__title,
.pm-archive-header--sample .pm-archive-header__desc,
.pm-archive-header--sample .pm-archive-header__eyebrow {
  color: #fff !important;
}
.pm-archive-header__note {
  display: inline-block; margin-top: 20px;
  border: 1px solid rgba(255,255,255,.3);
  padding: 7px 18px;
  font-size: 13px; font-weight: 600;
}


/* -- ボディ -- */
.pm-archive-body { padding: 56px 20px 88px; }
.pm-archive-body__inner {
  max-width: min(1160px, calc(100% - 44px)); margin: 0 auto;
}

/* -- グリッド -- */
.pm-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px) { .pm-archive-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (max-width: 600px) { .pm-archive-grid { grid-template-columns: 1fr; gap: 14px; } }

/* -- カード -- */
.pm-archive-card {
  display: flex; flex-direction: column;
  border: 1px solid var(--line); background: var(--paper); color: inherit !important;
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease;
}
.pm-archive-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.pm-archive-card--sample { border-color: var(--line); }
.pm-archive-card__thumb {
  height: 196px; overflow: hidden; position: relative;
  background: var(--mist);
}
.pm-archive-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pm-archive-card__nothumb { width: 100%; height: 100%; background: var(--soft); }
.pm-archive-card__body {
  padding: 18px 20px; display: flex; flex-direction: column; flex: 1;
}
.pm-archive-card__cats { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.pm-archive-card__cat {
  font-size: 11px; background: var(--soft); padding: 2px 8px; color: var(--muted);
}
.pm-archive-card__date { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.pm-archive-card__title {
  font-size: 15px; font-weight: 700; line-height: 1.55;
  margin: 0 0 8px; color: var(--navy);
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}
.pm-archive-card__excerpt {
  font-size: 13px; color: var(--muted); line-height: 1.72; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}

/* -- ページネーション -- */
.pm-archive-pagination { margin-top: 56px; text-align: center; }
.pm-archive-pagination .nav-links {
  display: flex; justify-content: center; gap: 6px; flex-wrap: wrap;
}
.pm-archive-pagination .page-numbers {
  display: inline-block; padding: 8px 14px;
  border: 1px solid var(--line-strong); text-decoration: none;
  color: var(--text); background: var(--paper);
  clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
  transition: background .2s ease, color .2s ease;
}
.pm-archive-pagination .page-numbers.current,
.pm-archive-pagination .page-numbers:hover {
  background: var(--navy); color: #fff !important; border-color: var(--navy);
}
.pm-archive-empty { color: var(--muted); font-size: 15px; padding: 72px 0; text-align: center; }

/* =========================================================
   AIサンプルバッジ（TOP / アーカイブ / 記事単体）
   ========================================================= */
.pm-sample-badge {
  position: absolute; top: 10px; left: 10px;
  background: rgba(6, 26, 57, 0.88);
  color: #fff; font-size: 11px; font-weight: 800;
  padding: 4px 12px;
  letter-spacing: .08em; text-transform: uppercase;
  backdrop-filter: blur(4px);
  pointer-events: none;
  clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}

/* 記事単体のサンプル告知バー */
.pm-single-sample-notice {
  background: var(--mist);
  border: 1px solid var(--line-strong);
  border-left: 3px solid var(--navy);
  color: var(--text);
  padding: 14px 18px;
  font-size: 14px;
  margin-bottom: 28px;
  line-height: 1.78;
}
.pm-single-sample-notice a {
  color: var(--navy); font-weight: 700; text-decoration: none;
  margin-left: 8px;
}
.pm-single-sample-notice a:hover { text-decoration: underline; }

/* =========================================================
   CTA ブロック（single-column.php）— 親サイトデザイン統一
   ========================================================= */
.pm-single-cta {
  background: var(--navy);
  color: #fff; padding: 28px 36px 32px; margin: 64px 0 0;
  position: relative; overflow: hidden;
}
.pm-single-cta::before {
  content: "";
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 88px 88px;
}
.pm-single-cta__heading {
  position: relative; z-index: 1;
  font-size: 18px; font-weight: 700;
  margin: 0 0 10px; line-height: 1.5; color: #fff;
}
.pm-single-cta__text {
  position: relative; z-index: 1;
  font-size: 14px; opacity: 0.82;
  margin: 0 0 20px; line-height: 1.78;
}
.pm-single-cta__btn {
  position: relative; z-index: 1;
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 11px 28px;
  font-size: 14px; font-weight: 600;
  background: #fff; color: var(--navy);
  border: 1px solid #fff;
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  transition: background .22s ease, transform .2s ease;
}
.pm-single-cta__btn:hover { background: var(--mist); transform: translateY(-2px); color: var(--navy); }

/* ================================================================
   フッター：Elementor フッターを非表示 → 本番サイトと統一デザイン
   ================================================================ */
#jet-theme-core-footer {
  display: none !important;
}

/* ── 新フッター（#pm-site-footer）── */
#pm-site-footer {
  background: #080808;
  color: rgba(255,255,255,.72);
}
#pm-site-footer .pm-footer-inner {
  width: min(1160px, calc(100% - 44px));
  margin: 0 auto;
  padding: 36px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}
#pm-site-footer .pm-footer-brand {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .06em;
  color: rgba(255,255,255,.72);
}
#pm-site-footer .pm-footer-nav {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
#pm-site-footer .pm-footer-nav a {
  color: rgba(255,255,255,.72) !important;
  font-size: 13px;
  text-decoration: none !important;
  transition: color .2s;
}
#pm-site-footer .pm-footer-nav a:hover {
  color: #fff !important;
}
.pm-footer-copy {
  width: min(1160px, calc(100% - 44px));
  margin: 0 auto;
  padding: 14px 0 22px;
  font-size: 12px;
  color: rgba(255,255,255,.38);
  border-top: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 600px) {
  #pm-site-footer .pm-footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 28px 0;
  }
  #pm-site-footer .pm-footer-nav { gap: 16px; }
}