@charset "UTF-8";
/*
Theme Name: SWELL CHILD
Template: swell
Theme URI: https://swell-theme.com/
Description: SWELLの子テーマ
Version: 1.0.0
Author: LOOS WEB STUDIO
Author URI: https://loos-web-studio.com/
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =================================================================
   DESIGN TOKENS  ── style.css の :root をそのまま移植
   ================================================================= */
:root {
  /* Palette */
  --white: #FFFFFF;
  --paper: #FAF8F3;
  --ink: #0A0A0A;
  --ink-soft: #2A2A2A;
  --grey: #6B6B6B;
  --yellow: #E8A91A;
  --yellow-dark: #C99115;
  --cream: #FFF4D1;
  --line: #E5E2D9;
  --red: #C8362E;

  /* Type */
  --display: "Anton", "Bebas Neue", "Impact", sans-serif;
  --head-jp: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;
  --body: "IBM Plex Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  --mono: "JetBrains Mono", "Menlo", monospace;

  /* Layout */
  --max: 1200px;
  --gutter: 24px;
  --gutter-lg: 48px;

  /* Borders */
  --bd: 1px solid var(--ink);
  --bd-thick: 2px solid var(--ink);
  --bd-line: 1px solid var(--line);
}


/* =================================================================
   BRAND BASE  ── サイト全体に効かせるブランドの土台（最小限）
   SWELL の既存スタイルと喧嘩しないよう、要素セレクタは絞っています。
   ================================================================= */
body {
  font-family: var(--body);
  color: var(--ink);
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.02em;
}
:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }

/* 任意で使うユーティリティ */
.mono { font-family: var(--mono); font-feature-settings: normal; letter-spacing: 0; }
.display { font-family: var(--display); font-weight: 400; letter-spacing: 0.04em; }
.head-jp { font-family: var(--head-jp); }
.uppercase { text-transform: uppercase; }

/* フルワイドブロック内で “元サイトの1200px幅” を再現したいときに使う */
.container { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }

/* 任意のセクション区切り（SWELLの余白設定でも代用可） */
.section { padding: 96px 0; border-top: var(--bd); }
.section--paper { background: var(--paper); }
.section--ink { background: var(--ink); color: var(--white); border-top: none; }


/* =================================================================
   BUTTONS  ── .btn / .btn--primary など（追加CSSクラスで付与）
   ================================================================= */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 22px;
  font-family: var(--head-jp);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.1em;
  border: var(--bd-thick);
  background: var(--white);
  color: var(--ink);
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
  text-decoration: none;
  position: relative;
}
.btn:hover { background: var(--ink); color: var(--white); }
.btn--primary {
  background: var(--yellow);
  color: var(--ink);
  border-color: var(--ink);
  box-shadow: 4px 4px 0 var(--ink);
}
.btn--primary:hover {
  background: var(--yellow-dark);
  color: var(--ink);
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--ink);
}
.btn--dark { background: var(--ink); color: var(--white); }
.btn--dark:hover { background: var(--yellow); color: var(--ink); }
.btn--lg { padding: 18px 32px; font-size: 15px; }
.btn--block { width: 100%; }
.btn__arrow { font-family: var(--mono); font-size: 16px; transition: transform 0.2s ease; }
.btn:hover .btn__arrow { transform: translateX(4px); }


/* =================================================================
   SECTION EYEBROW / TITLE / LEAD  ── 全ページ共通の見出し装飾
   （ブログパーツ化して各ページに挿し込む想定）
   ================================================================= */
.section-eyebrow {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 32px;
  border-bottom: var(--bd);
  padding-bottom: 16px;
  position: relative;
  overflow: hidden;
}
.section-eyebrow__num {
  font-family: var(--display);
  font-size: 48px;
  line-height: 1;
  color: var(--ink);
}
.section-eyebrow__num--accent { color: var(--yellow-dark); }
.section-eyebrow__en {
  font-family: var(--display);
  font-size: 18px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.section-eyebrow__jp {
  margin-left: auto;
  font-family: var(--head-jp);
  font-weight: 700;
  font-size: 14px;
  color: var(--grey);
  letter-spacing: 0.16em;
}
/* スクロールで黄色いバーが伸びる演出（JSの .in 付与で発火） */
.section-eyebrow::after {
  content: "";
  position: absolute;
  left: 0; bottom: -1px;
  height: 2px; width: 0;
  background: var(--yellow);
  transition: width 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.section-eyebrow.in::after { width: 100%; }

.section-title {
  font-family: var(--head-jp);
  font-weight: 900;
  font-size: clamp(28px, 4vw, 44px);
  letter-spacing: 0.02em;
  line-height: 1.25;
  margin-bottom: 24px;
}
.section-lead {
  font-size: 16px;
  color: var(--ink-soft);
  max-width: 56ch;
  margin-bottom: 56px;
}


/* =================================================================
   PAGE HERO  ── 下層ページ共通の大見出し（フルワイド＋2カラムに付与）
   ================================================================= */
.page-hero {
  padding: 72px 0 64px;
  border-bottom: var(--bd);
  background: var(--paper);
}
.page-hero__grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: end;
}
.page-hero__en {
  font-family: var(--display);
  font-size: clamp(64px, 10vw, 128px);
  line-height: 0.95;
  letter-spacing: 0.02em;
  margin: 0;
}
.page-hero__en span { color: var(--yellow-dark); }
.page-hero__jp {
  font-family: var(--head-jp);
  font-weight: 900;
  font-size: 22px;
  margin: 8px 0;
}
.page-hero__lead { color: var(--ink-soft); font-size: 15px; max-width: 60ch; margin: 0; }
.page-hero__meta {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--grey);
  letter-spacing: 0.16em;
  text-align: right;
  border-left: var(--bd);
  padding-left: 24px;
}
.page-hero__meta strong { color: var(--ink); display: block; font-weight: 500; }


/* =================================================================
   TABLES  ── .tbl（テーブルブロックに付与）
   ================================================================= */
.tbl {
  width: 100%;
  border: var(--bd-thick);
  border-collapse: collapse;
  font-size: 14px;
}
.tbl th, .tbl td {
  padding: 18px 20px;
  border-bottom: var(--bd-line);
  border-right: var(--bd-line);
  text-align: left;
  vertical-align: top;
}
.tbl th {
  background: var(--ink);
  color: var(--white);
  font-family: var(--head-jp);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.08em;
}
.tbl td:last-child, .tbl th:last-child { border-right: none; }
.tbl tr:last-child td { border-bottom: none; }
.tbl tbody th {
  background: var(--paper);
  color: var(--ink);
  font-weight: 700;
  width: 28%;
}
.tbl .price { font-family: var(--mono); font-size: 16px; font-weight: 500; }
.tbl .price strong { font-size: 22px; color: var(--ink); font-weight: 500; }


/* =================================================================
   CTA STRIP  ── 各ページ末尾の黒帯CTA（フルワイドに付与）
   ================================================================= */
.cta-strip {
  background: var(--ink);
  color: var(--white);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
.cta-strip::before {
  content: "SUGUNORU";
  position: absolute;
  top: 50%; right: -100px;
  transform: translateY(-50%);
  font-family: var(--display);
  font-size: 280px;
  color: var(--ink-soft);
  letter-spacing: 0.04em;
  pointer-events: none;
  white-space: nowrap;
  animation: ctaDrift 18s ease-in-out infinite alternate;
}
@keyframes ctaDrift {
  from { transform: translateY(-50%) translateX(0); }
  to   { transform: translateY(-50%) translateX(-60px); }
}
.cta-strip__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 48px;
  align-items: center;
}
.cta-strip__title {
  font-family: var(--head-jp);
  font-weight: 900;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.3;
  margin-bottom: 16px;
}
.cta-strip__title em { font-style: normal; color: var(--yellow); }
.cta-strip__sub { color: rgba(255,255,255,0.7); font-size: 14px; margin-bottom: 32px; }
.cta-strip__buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.cta-strip__buttons .btn { color: var(--white); border-color: var(--white); background: transparent; }
.cta-strip__buttons .btn:hover { background: var(--white); color: var(--ink); }
.cta-strip__buttons .btn--primary { background: var(--yellow); color: var(--ink); border-color: var(--yellow); }
.cta-strip__buttons .btn--primary:hover { background: var(--yellow-dark); color: var(--ink); border-color: var(--yellow-dark); }


/* =================================================================
   SCROLL PROGRESS BAR  ── sugu.js が body に挿入
   ================================================================= */
.sugu-progress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0;
  background: var(--yellow);
  z-index: 200;
  pointer-events: none;
  transition: width 0.08s linear;
}


/* =================================================================
   LOADER  ── トラックが右 → 左へ走る初回ローダー
   （functions.php が wp_body_open で <div id="sugu-loader"> を出力）
   背景は白：添付PNGが白背景でも縁が出ないようにしています。
   ================================================================= */
#sugu-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: var(--white);
  display: grid;
  place-items: center;
  overflow: hidden;
  transition: opacity 0.45s ease, visibility 0.45s ease;
}
#sugu-loader.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
/* 2回目以降のページ遷移では、最初の描画前から非表示にしてちらつきを防ぐ */
html.sugu-loaded #sugu-loader { display: none !important; }

/* 背景：薄い製図グリッド（サイトのヒーロー等と同じモチーフ） */
#sugu-loader .sugu-loader__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: 0.5;
  pointer-events: none;
}

/* 路面：黄色い破線が左へ流れて疾走感を出す */
#sugu-loader .sugu-loader__road {
  position: absolute;
  left: 0; right: 0;
  bottom: 33%;
  height: 3px;
  background: repeating-linear-gradient(90deg,
    var(--yellow) 0 26px, transparent 26px 60px);
  opacity: 0.45;
  animation: suguRoad 0.45s linear infinite;
}
@keyframes suguRoad {
  to { background-position: -60px 0; }
}

/* トラック本体：右(118vw) → 左(-128vw) へ走り抜ける */
.sugu-loader__truck {
  position: relative;
  width: clamp(220px, 42vw, 460px);
  will-change: transform;
  /* 走る速さは「3s」を大きくするほどゆっくり */
  animation: suguDrive 3s linear forwards;
}
.sugu-loader__truck img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 18px 24px rgba(0,0,0,0.18));
  /* 上下のバウンド（エンジン・路面の揺れ） */
  animation: suguBob 0.38s ease-in-out infinite;
}
/* 走る距離。数値を小さくするほど中央寄りで短く、大きくするほど端へ */
@keyframes suguDrive {
  0%   { transform: translateX(45vw); }
  100% { transform: translateX(-45vw); }
}
@keyframes suguBob {
  0%, 100% { transform: translateY(0) rotate(-0.3deg); }
  50%      { transform: translateY(-5px) rotate(0.3deg); }
}

/* 下部コピー */
.sugu-loader__copy {
  position: absolute;
  left: 0; right: 0;
  bottom: 16%;
  text-align: center;
  font-family: var(--display);
  font-size: 13px;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: var(--grey);
  animation: suguCopyIn 0.8s 0.2s ease-out both;
}
@keyframes suguCopyIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* =================================================================
   RESPONSIVE  ── 本フェーズで定義したコンポーネントの折り返し
   ================================================================= */
@media (max-width: 960px) {
  .cta-strip__inner { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .section { padding: 64px 0; }
  .page-hero__grid { grid-template-columns: 1fr; }
  .page-hero__meta { text-align: left; border-left: none; border-top: var(--bd); padding: 16px 0 0; }
  .cta-strip::before { font-size: 160px; right: -40px; }
  .section-eyebrow__num { font-size: 36px; }
}
@media (max-width: 480px) {
  .tbl th, .tbl td { padding: 12px 14px; font-size: 13px; }
  .tbl tbody th { width: 40%; }
}


/* =================================================================
   REDUCED MOTION  ── アニメーションを抑制する設定の人への配慮
   ================================================================= */
@media (prefers-reduced-motion: reduce) {
  .sugu-loader__truck { animation: none; transform: translateX(0); }
  .sugu-loader__truck img { animation: none; }
  #sugu-loader .sugu-loader__road { animation: none; }
  .sugu-loader__copy { animation: none; }
  .cta-strip::before { animation: none; }
  .section-eyebrow::after { transition: none; }
}

/* #################################################################
   HOMEPAGE COMPONENTS（トップページ用・Phase 3で追加）
   ################################################################# */

/* ===== BLACK PLATE（ヒーローのナンバープレート風） ===== */
/* ---- Black plate (license plate) ----------------------------------------- */
.plate {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  background: var(--ink);
  color: var(--yellow);
  border: 4px solid var(--ink);
  outline: 2px solid var(--yellow);
  outline-offset: -10px;
  padding: 14px 22px;
  font-family: var(--display);
  letter-spacing: 0.08em;
  line-height: 1;
  position: relative;
  border-radius: 6px;
  animation: plateBreath 5s ease-in-out infinite;
}
@keyframes plateBreath {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
.plate__top {
  font-size: 14px;
  letter-spacing: 0.2em;
  margin-bottom: 4px;
  opacity: 0.85;
}
.plate__main {
  font-size: clamp(40px, 6vw, 64px);
  letter-spacing: 0.1em;
}
.plate__sub {
  font-size: 11px;
  margin-top: 6px;
  letter-spacing: 0.3em;
  opacity: 0.75;
}
.plate--lg { padding: 28px 40px; }
.plate--sm { padding: 8px 14px; }
.plate--sm .plate__main { font-size: 20px; }
.plate--sm .plate__top { font-size: 9px; margin-bottom: 2px; }

/* ===== MARQUEE（流れるテキスト帯） ===== */
/* ---- Marquee (editorial running text) -------------------------------- */
.marquee {
  background: var(--ink);
  color: var(--yellow);
  border-top: var(--bd-thick);
  border-bottom: var(--bd-thick);
  overflow: hidden;
  padding: 16px 0;
  position: relative;
}
.marquee__track {
  display: inline-flex;
  gap: 56px;
  white-space: nowrap;
  animation: marquee 38s linear infinite;
  font-family: var(--display);
  font-size: 28px;
  letter-spacing: 0.12em;
  line-height: 1;
  padding-left: 56px;
}
.marquee__track--rev { animation: marqueeRev 46s linear infinite; }
.marquee__item { display: inline-flex; align-items: center; gap: 56px; }
.marquee__item span { display: inline-block; }
.marquee__item .dot { width: 8px; height: 8px; background: var(--yellow); border-radius: 50%; }
.marquee__item .jp { font-family: var(--head-jp); font-weight: 900; font-size: 22px; letter-spacing: 0.08em; color: var(--cream); }
.marquee__item .mono { font-family: var(--mono); font-size: 16px; color: rgba(232,169,26,0.6); letter-spacing: 0.16em; }
@keyframes marquee {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-50%,0,0); }
}
@keyframes marqueeRev {
  from { transform: translate3d(-50%,0,0); }
  to   { transform: translate3d(0,0,0); }
}
.marquee--paper { background: var(--paper); color: var(--ink); border-color: var(--ink); }
.marquee--paper .marquee__track { color: var(--ink); }
.marquee--paper .marquee__item .jp { color: var(--ink-soft); }
.marquee--paper .marquee__item .mono { color: var(--grey); }
.marquee--paper .marquee__item .dot { background: var(--yellow-dark); }

/* ===== HERO ===== */
/* ---- Hero (index) --------------------------------------------------------- */
.hero {
  padding: 88px 0 96px;
  border-bottom: var(--bd);
  position: relative;
  overflow: hidden;
}
.hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}
.hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--grey);
  margin-bottom: 24px;
}
.hero__kicker::before {
  content: "";
  width: 32px; height: 2px;
  background: var(--yellow); display: inline-block;
}
.hero__title {
  font-family: var(--head-jp);
  font-weight: 900;
  font-size: clamp(40px, 7vw, 84px);
  line-height: 1.05;
  letter-spacing: 0.01em;
  margin-bottom: 12px;
}
.hero__title-mark {
  background: linear-gradient(transparent 62%, var(--yellow) 62% 92%, transparent 92%);
  padding: 0 4px;
}
.hero__en {
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 56px);
  letter-spacing: 0.06em;
  color: var(--ink);
  margin-bottom: 32px;
}
.hero__en span { color: var(--yellow-dark); }
.hero__lead {
  font-size: 17px;
  line-height: 1.9;
  color: var(--ink-soft);
  margin-bottom: 40px;
  max-width: 30em;
}
.hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__meta {
  margin-top: 48px;
  display: flex;
  gap: 32px;
  border-top: var(--bd);
  padding-top: 24px;
  font-size: 12px;
  font-family: var(--mono);
  color: var(--grey);
  letter-spacing: 0.08em;
}
.hero__meta strong { color: var(--ink); font-weight: 500; }

.hero__visual {
  position: relative;
  aspect-ratio: 4/5;
  background: var(--paper);
  border: var(--bd-thick);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.hero__visual::before {
  content: "";
  position: absolute;
  inset: 16px;
  border: 1px dashed var(--ink);
  opacity: 0.2;
  pointer-events: none;
}
.hero__visual-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 32px 32px;
  opacity: 0.6;
}
.hero__visual-label {
  position: absolute;
  top: 16px; left: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--grey);
}
.hero__visual-label--r { left: auto; right: 16px; }
.hero__visual-bottom {
  position: absolute;
  bottom: 16px; left: 16px; right: 16px;
  display: flex;
  justify-content: space-between;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--grey);
}
.hero__plate-wrap { position: relative; z-index: 1; }

/* ===== STATS（カウントアップ） ===== */
/* ---- Stats ---------------------------------------------------------------- */
.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: var(--bd);
  border-bottom: var(--bd);
}
.stat {
  padding: 48px 32px;
  border-right: var(--bd);
  position: relative;
}
.stat:last-child { border-right: none; }
.stat__num {
  font-family: var(--display);
  font-size: clamp(56px, 8vw, 96px);
  line-height: 1;
  letter-spacing: 0.02em;
}
.stat__num small { font-size: 0.4em; letter-spacing: 0.1em; color: var(--grey); }
.stat__num .stat__hl { color: var(--yellow-dark); }
.stat__label {
  margin-top: 16px;
  font-family: var(--head-jp);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.1em;
  color: var(--ink-soft);
}
.stat__note {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--grey);
  letter-spacing: 0.1em;
  margin-top: 8px;
}
.stat__index {
  position: absolute;
  top: 24px; right: 24px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--grey);
  letter-spacing: 0.16em;
}


/* ===== SERVICE TRIPLET ===== */
/* ---- Service triplet ----------------------------------------------------- */
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.service-card {
  border: var(--bd-thick);
  background: var(--white);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.2s ease;
}
.service-card:hover { transform: translateY(-4px); }
.service-card__head {
  background: var(--ink);
  color: var(--white);
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.service-card__num {
  font-family: var(--display);
  font-size: 32px;
  color: var(--yellow);
}
.service-card__tag {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  border: 1px solid var(--yellow);
  color: var(--yellow);
  padding: 4px 8px;
}
.service-card__body { padding: 28px; flex: 1; display: flex; flex-direction: column; }
.service-card__title { font-family: var(--head-jp); font-weight: 900; font-size: 24px; margin-bottom: 12px; }
.service-card__lead { color: var(--ink-soft); font-size: 14px; line-height: 1.8; margin-bottom: 20px; flex: 1; }
.service-card__price {
  font-family: var(--mono);
  font-size: 13px;
  border-top: var(--bd-line);
  padding-top: 16px;
  margin-bottom: 16px;
  color: var(--grey);
}
.service-card__price strong { color: var(--ink); font-size: 22px; font-weight: 500; }
.service-card__link {
  font-family: var(--head-jp);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.12em;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-top: var(--bd);
  padding: 16px 28px;
  background: var(--paper);
  margin: 0 -28px -28px;
  transition: background 0.18s ease;
}
.service-card__link:hover { background: var(--yellow); }
.service-card__link::after { content: "→"; font-family: var(--mono); }


/* ===== REASONS + FLOW ===== */
/* ---- Reasons (6 points) -------------------------------------------------- */
.reasons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: var(--bd);
  background: var(--ink);
  gap: 1px;
}
.reason {
  background: var(--white);
  padding: 40px 32px;
}
.reason__num {
  font-family: var(--display);
  font-size: 14px;
  letter-spacing: 0.2em;
  color: var(--yellow-dark);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.reason__num::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.reason__title {
  font-family: var(--head-jp);
  font-weight: 900;
  font-size: 22px;
  margin-bottom: 14px;
  line-height: 1.4;
}
.reason__body { font-size: 14px; line-height: 1.85; color: var(--ink-soft); }

/* ---- Flow ---------------------------------------------------------------- */
.flow { display: grid; gap: 0; border-top: var(--bd); }
.flow__step {
  display: grid;
  grid-template-columns: 100px 1fr 200px;
  gap: 40px;
  padding: 32px 0;
  border-bottom: var(--bd);
  align-items: start;
}
.flow__num {
  font-family: var(--display);
  font-size: 56px;
  line-height: 1;
  color: var(--ink);
  position: relative;
}
.flow__num::after {
  content: "STEP";
  position: absolute;
  top: -14px; left: 0;
  font-size: 10px;
  letter-spacing: 0.3em;
  color: var(--grey);
}
.flow__body h3 {
  font-family: var(--head-jp);
  font-size: 22px;
  margin-bottom: 8px;
}
.flow__body p { color: var(--ink-soft); font-size: 14px; margin: 0; }
.flow__meta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--grey);
  text-align: right;
  text-transform: uppercase;
}
.flow__meta strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
  margin-top: 4px;
}


/* ===== PRICE CARDS ===== */
/* ---- Price cards --------------------------------------------------------- */
.price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.price-card {
  border: var(--bd-thick);
  padding: 32px;
  background: var(--white);
  position: relative;
  display: flex; flex-direction: column;
}
.price-card--featured { background: var(--ink); color: var(--white); }
.price-card--featured .price-card__name,
.price-card--featured .price-card__note { color: var(--white); }
.price-card__tag {
  position: absolute; top: 0; right: 20px;
  transform: translateY(-50%);
  background: var(--yellow);
  color: var(--ink);
  font-family: var(--head-jp);
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 0.16em;
  padding: 6px 10px;
  border: var(--bd-thick);
}
.price-card__cat {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--grey);
  margin-bottom: 8px;
}
.price-card__name { font-family: var(--head-jp); font-weight: 900; font-size: 24px; margin-bottom: 24px; }
.price-card__price {
  font-family: var(--mono);
  font-size: 14px;
  border-top: var(--bd-line);
  border-bottom: var(--bd-line);
  padding: 20px 0;
  margin-bottom: 20px;
}
.price-card--featured .price-card__price { border-color: var(--ink-soft); }
.price-card__price strong { font-size: 40px; font-weight: 500; color: var(--ink); display: block; line-height: 1; margin-bottom: 4px; }
.price-card--featured .price-card__price strong { color: var(--yellow); }
.price-card ul { list-style: none; padding: 0; margin: 0 0 24px; flex: 1; }
.price-card li { padding: 8px 0; border-bottom: var(--bd-line); font-size: 13px; display: flex; gap: 8px; }
.price-card--featured li { border-color: var(--ink-soft); }
.price-card li::before { content: "▸"; color: var(--yellow-dark); }
.price-card--featured li::before { color: var(--yellow); }


/* ===== VOICE + NEWS ===== */
/* ---- Voice / testimonials ------------------------------------------------- */
.voice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.voice-card { border: var(--bd); padding: 32px; background: var(--white); }
.voice-card__quote { font-size: 15px; line-height: 1.8; margin-bottom: 24px; }
.voice-card__quote::before { content: "“"; font-family: var(--display); font-size: 56px; line-height: 0.4; color: var(--yellow); margin-right: 8px; vertical-align: -16px; }
.voice-card__person { display: flex; align-items: center; gap: 12px; border-top: var(--bd-line); padding-top: 16px; }
.voice-card__avatar {
  width: 44px; height: 44px;
  background: var(--ink);
  color: var(--yellow);
  font-family: var(--display);
  font-size: 18px;
  display: grid; place-items: center;
  border-radius: 50%;
  letter-spacing: 0;
}
.voice-card__meta { font-size: 12px; color: var(--grey); font-family: var(--mono); }
.voice-card__meta strong { display: block; color: var(--ink); font-family: var(--head-jp); font-size: 14px; font-weight: 700; letter-spacing: 0.02em; }

/* ---- News ---------------------------------------------------------------- */
.news-list { border-top: var(--bd); }
.news-item {
  display: grid;
  grid-template-columns: 140px 120px 1fr 32px;
  gap: 24px;
  align-items: center;
  padding: 20px 0;
  border-bottom: var(--bd-line);
  transition: background 0.15s ease;
}
.news-item:hover { background: var(--paper); }
.news-item__date { font-family: var(--mono); font-size: 12px; color: var(--grey); letter-spacing: 0.06em; }
.news-item__cat {
  font-family: var(--head-jp);
  font-size: 11px;
  letter-spacing: 0.16em;
  font-weight: 700;
  text-align: center;
  border: var(--bd);
  padding: 4px 8px;
}
.news-item__title { font-family: var(--head-jp); font-weight: 500; font-size: 15px; }
.news-item__arrow { font-family: var(--mono); color: var(--grey); }


/* ===== HOMEPAGE interactions & animations（散在装飾をまとめて） ===== */
.stat__num [data-count] { display: inline-block; min-width: 1ch; font-variant-numeric: tabular-nums; }

/* カードの工業的コーナーマーク（ホバー） */
.service-card, .price-card, .reason { position: relative; }
.service-card::after, .reason::after {
  content: ""; position: absolute; top: 0; right: 0;
  width: 0; height: 0;
  border-top: 24px solid var(--yellow);
  border-left: 24px solid transparent;
  opacity: 0; transform: translate(8px, -8px);
  transition: opacity 0.25s ease, transform 0.25s ease; pointer-events: none;
}
.service-card:hover::after, .reason:hover::after { opacity: 1; transform: translate(0, 0); }

/* 理由カード：ホバーで背景＋見出し下線 */
.reason { transition: background 0.25s ease; }
.reason:hover { background: var(--paper); }
.reason__title { position: relative; padding-bottom: 4px; }
.reason__title::after {
  content: ""; position: absolute; left: 0; bottom: 0;
  height: 2px; width: 0; background: var(--yellow-dark);
  transition: width 0.35s ease;
}
.reason:hover .reason__title::after { width: 40px; }

/* フローのホバー */
.flow__step { transition: background 0.25s ease, padding 0.25s ease; }
.flow__step:hover { background: var(--paper); padding-left: 12px; padding-right: 12px; }
.flow__step:hover .flow__num { color: var(--yellow-dark); }
.flow__num { transition: color 0.25s ease; }

/* お知らせの矢印スライド */
.news-item__arrow { transition: transform 0.25s ease, color 0.25s ease; }
.news-item:hover .news-item__arrow { transform: translateX(6px); color: var(--ink); }

/* ヒーロー：プレート背後の黄色い影が揺れる */
.hero__plate-wrap { display: inline-block; position: relative; z-index: 1; }
.hero__plate-wrap::before {
  content: ""; position: absolute;
  inset: 12px -12px -12px 12px;
  background: var(--yellow); z-index: -1; opacity: 0.18;
  animation: shadowDrift 6s ease-in-out infinite alternate;
}
@keyframes shadowDrift { from { transform: translate(0,0); } to { transform: translate(6px,6px); } }

/* ヒーロー：キッカーの線が伸びる */
.hero__kicker::before { animation: kickerDraw 1s 0.3s ease-out both; transform-origin: left center; }
@keyframes kickerDraw { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ヒーロー：見出しの黄色マーカーが伸びる */
.hero__title-mark {
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-image: linear-gradient(transparent 62%, var(--yellow) 62% 92%, transparent 92%);
  padding: 0 4px;
  animation: markIn 0.9s 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
@keyframes markIn { from { background-size: 0 100%; } to { background-size: 100% 100%; } }

/* ===== HERO VISUAL を WP向けに簡略化（子要素 .hero__visual-grid 不要） ===== */
.hero__visual {
  background-color: var(--paper);
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* ===== HOMEPAGE レスポンシブ ===== */
@media (max-width: 960px) {
  .hero__grid { grid-template-columns: 1fr; }
  .hero__visual { aspect-ratio: 16/10; }
  .service-grid, .reasons, .price-grid, .voice-grid { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: 1fr; }
  .stat { border-right: none; border-bottom: var(--bd); }
  .stat:last-child { border-bottom: none; }
  .flow__step { grid-template-columns: 60px 1fr; }
  .flow__num { font-size: 40px; }
  .flow__meta { grid-column: 2; text-align: left; }
}
@media (max-width: 768px) {
  .reasons, .price-grid, .service-grid, .voice-grid { grid-template-columns: 1fr; }
  .news-item { grid-template-columns: 100px 1fr; }
  .news-item__cat, .news-item__arrow { display: none; }
}
@media (max-width: 480px) {
  .hero { padding: 48px 0 64px; }
  .stat__num { font-size: 56px; }
}

/* ===== HOMEPAGE reduced-motion 追加 ===== */
@media (prefers-reduced-motion: reduce) {
  .plate { animation: none; }
  .marquee__track, .marquee__track--rev { animation: none !important; }
  .hero__plate-wrap::before,
  .hero__kicker::before,
  .hero__title-mark { animation: none; }
  .hero__title-mark { background-size: 100% 100%; }
}

/* #################################################################
   BUTTON BRIDGE（ボタンブロック用）
   SWELL／コアどちらの「ボタンブロック」でもOK。
   ブロックの「追加CSSクラス」に付ける:
     通常        →  sgnr-btn
     黄色(主役)  →  sgnr-btn sgnr-primary
     大きめ      →  sgnr-btn sgnr-lg
     枠線白(暗背景/CTA用) →  sgnr-btn sgnr-ghost
   ラッパーに付けると内側の<a>に効きます。
   ################################################################# */
.sgnr-btn a {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 22px; border-radius: 0;
  font-family: var(--head-jp); font-weight: 700; font-size: 14px; letter-spacing: 0.1em;
  border: var(--bd-thick); background: var(--white); color: var(--ink);
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.sgnr-btn a:hover { background: var(--ink); color: var(--white); }
.sgnr-btn.sgnr-primary a { background: var(--yellow); color: var(--ink); border-color: var(--ink); box-shadow: 4px 4px 0 var(--ink); }
.sgnr-btn.sgnr-primary a:hover { background: var(--yellow-dark); color: var(--ink); transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--ink); }
.sgnr-btn.sgnr-ghost a { background: transparent; color: var(--white); border-color: var(--white); }
.sgnr-btn.sgnr-ghost a:hover { background: var(--white); color: var(--ink); }
.sgnr-btn.sgnr-lg a { padding: 18px 32px; font-size: 15px; }

/* #################################################################
   HERO 微調整パッチ
   SWELLの見出し(H1)・本文色が勝ってしまう問題を、優先度を上げて上書き
   ################################################################# */
/* タイトルが小さくなる→SWELLのH1指定に負けているので強制的に大きく */
.hero .hero__title {
  font-family: var(--head-jp);
  font-weight: 900;
  font-size: clamp(40px, 7vw, 84px) !important;
  line-height: 1.05;
}
/* キッカー・メタを確実にグレー(#6B6B6B)に（SWELLの本文色が各段落に効くため） */
.hero .hero__kicker,
.hero .hero__meta,
.hero .hero__meta * {
  color: var(--grey);
}

/* #################################################################
   修正パッチ 2（紺帯・カード色・統計サイズ・余白・マーキー）
   ################################################################# */

/* ① セクション見出し：SWELLのH2装飾（紺色の帯）を無効化し、大きな黒文字に戻す */
.section-title {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-size: clamp(28px, 4vw, 44px) !important;
}
.section-title::before,
.section-title::after { display: none !important; }

/* ② サービスカード：本文を白地＋濃い文字に（¥価格が黒文字で見えなくなっていたため） */
.service-card { background: var(--white) !important; }
.service-card__body { background: var(--white); color: var(--ink); }
.service-card__title { color: var(--ink); }
.service-card__lead { color: var(--ink-soft); }

/* ③ 統計の数字：1/3カラムでも折り返さないサイズに調整 */
.stat__num { font-size: clamp(32px, 3.5vw, 52px); }
.stat { padding: 32px 24px; }

/* ④ コンテナ幅：ワイド画面の左右余白を少し詰める（1200〜1360でお好みに） */
.container { max-width: 1280px; }

/* ⑤ マーキー：1本目=黒地に黄／2本目=生成り地に黒（保険のCSS） */
.marquee { background: var(--ink) !important; }
.marquee--paper { background: var(--paper) !important; color: var(--ink) !important; }

/* #################################################################
   修正パッチ 3（統計の区切り線・理由グリッド・フローをリッチカラムで忠実再現）
   ################################################################# */

/* --- 統計：リッチカラム内でも縦の区切り線を出す（gap=0前提） --- */
.stat { border-right: var(--bd) !important; height: 100%; }
.marquee p { margin: 0 !important; }   /* マーキー帯の高さを詰める */

/* --- 理由：リッチカラムで枠線グリッドにする ---
   リッチカラムを包むグループに .reasons-wrap、各セルのグループに .reason（gap=0） */
.reasons { display: block; background: none; border: none; gap: 0; }  /* 旧グリッド指定を無効化 */
.reasons-wrap { border-top: var(--bd); border-left: var(--bd); }
.reason { border-right: var(--bd); border-bottom: var(--bd); height: 100%; }

/* --- フロー：リッチカラムで横3分割（旧グリッド指定を無効化） --- */
.flow { display: block; }
.flow__step { display: block; grid-template-columns: none; gap: 0; }  /* 付いていても無害化 */
.flow-row { border-bottom: var(--bd); padding: 28px 0; }
.flow-row:first-child { border-top: var(--bd); }
.flow__num { position: relative; padding-top: 4px; }

/* #################################################################
   修正パッチ 4（統計の数字を参考サイト同様に大きく・レスポンシブへ）
   ################################################################# */
.stat__num { font-size: clamp(40px, 6vw, 84px) !important; }
.stat__num small { font-size: 0.4em; color: var(--grey); letter-spacing: 0.1em; }

/* #################################################################
   修正パッチ 5（統計の数字を1行で折り返さない）
   ################################################################# */
.stat__num { white-space: nowrap; }

/* #################################################################
   修正パッチ 6（統計の数字/単位・SWELLグループ内flex・見出し余白）
   ################################################################# */

/* --- 統計：数字は72pxまで／単位(特小)は0.4em／数字に付いた特大は無効化 --- */
.stat__num { font-size: clamp(36px, 5vw, 72px) !important; }
.stat__num .u-fz-xl { font-size: 1em !important; }
.stat__num .u-fz-xs { font-size: 0.4em !important; color: var(--grey); }

/* --- SWELLはグループの子を __inner-container で包むため、flexはそこへ当てる --- */
/* セクション見出し：番号/EN/JP を横一列に */
.section-eyebrow > .wp-block-group__inner-container {
  display: flex !important; align-items: baseline; gap: 16px;
}
.section-eyebrow__jp { margin-left: auto; }

/* サービスカード：ヘッダーを左右に／本文を縦flex（リンクを全幅バーに） */
.service-card > .wp-block-group__inner-container {
  display: flex !important; flex-direction: column; height: 100%;
}
.service-card__head > .wp-block-group__inner-container {
  display: flex !important; align-items: center; justify-content: space-between;
}
.service-card__body > .wp-block-group__inner-container {
  display: flex !important; flex-direction: column; flex: 1;
}

/* --- 見出しブロックの余白（!importantを外し、SWELLのブロック余白設定で調整可能に） --- */
.section-eyebrow { margin-bottom: 32px; }
.section-title  { margin-bottom: 24px; }
.section-lead   { margin-bottom: 40px; }

/* #################################################################
   修正パッチ 7（見出しJPを右端へ・タイトル太字・SHORT右端・リンク最下部）
   ################################################################# */

/* 外側グループのflexを解除（内側inner-containerのflexが縮まないように） */
.section-eyebrow { display: block !important; }
.service-card__head { display: block !important; }

/* タイトルをしっかり太く（のっぺり対策。SWELL見出し太さに負けないよう） */
.section-title { font-weight: 900 !important; }

/* カード本文：リンクをカード最下部にぴたりと寄せる */
.service-card__body > .wp-block-group__inner-container { height: 100%; }
.service-card__link { margin-top: auto !important; }

/* #################################################################
   修正パッチ 8（カード黒ヘッダーの高さを圧縮）
   ################################################################# */
.service-card__head { padding: 16px 24px !important; }
.service-card__head > .wp-block-group__inner-container > * { margin: 0 !important; }

/* #################################################################
   修正パッチ 9（カード下端のリンクを最下部にぴったり付ける）
   ################################################################# */
.service-card__body { padding-bottom: 0 !important; }
.service-card__link { margin-bottom: 0 !important; }

/* #################################################################
   修正パッチ 10（ヒーローのメタ行：リッチカラムに hero__meta を付けても
   崩れないよう flex を外し、罫線・余白だけ効かせる）
   ################################################################# */
.hero__meta { display: block !important; }

/* #################################################################
   修正パッチ 11（理由タイトルのSWELL標準H3下線を消す／ホバー下線は維持）
   ################################################################# */
.reason__title { border: none !important; background: none !important; padding-bottom: 4px; }
.reason__title::before { content: none !important; }

/* #################################################################
   修正パッチ 12（フロー本文H3のSWELL標準下線を消す）
   ################################################################# */
.flow__body h3 { border: none !important; background: none !important; }
.flow__body h3::before { content: none !important; }

/* #################################################################
   修正パッチ 13（フロー：カラム幅をCSSで固定）
   SWELLリッチカラムは均等割りのため、UIではなくCSSで幅指定する。
   PC（960px〜）= 番号100px / 本文=可変 / 所要時間200px の横並び
   960px未満 = 縦積み（タブレット/スマホのカラム数設定に依存しない）
   ################################################################# */
@media (min-width: 960px) {
  .flow-row > .swell-block-columns__inner { flex-wrap: nowrap; }
  .flow-row > .swell-block-columns__inner > .swell-block-column { width: auto !important; }
  .flow-row > .swell-block-columns__inner > .swell-block-column:nth-child(1) { flex: 0 0 100px; }
  .flow-row > .swell-block-columns__inner > .swell-block-column:nth-child(2) { flex: 1 1 0%; }
  .flow-row > .swell-block-columns__inner > .swell-block-column.flow__meta { flex: 0 0 200px; }
}
@media (max-width: 959.98px) {
  .flow-row > .swell-block-columns__inner { margin-left: 0 !important; }
  .flow-row > .swell-block-columns__inner > .swell-block-column { width: 100% !important; margin-left: 0 !important; }
}

/* #################################################################
   修正パッチ 14（フロー：ステップのホバー演出）
   ホバーで中身が右へスライド＋番号が黄色に変化
   ################################################################# */
.flow-row > .swell-block-columns__inner { transition: transform 0.35s ease; }
.flow-row .flow__num { transition: color 0.35s ease; }
.flow-row:hover > .swell-block-columns__inner { transform: translateX(12px); }
.flow-row:hover .flow__num { color: var(--yellow-dark); }

/* #################################################################
   修正パッチ 15（Price：SWELL対応）
   ################################################################# */
/* 全幅ボタン：price-card内のボタンに「sgnr-btn sgnr-block」を付ける */
.sgnr-btn.sgnr-block { width: 100%; }
.sgnr-btn.sgnr-block a { display: flex; width: 100%; }

/* price-card：内側コンテナをflex縦並びにし、リストでボタンを下端へ＝3枚の高さ揃え */
.price-card { height: 100%; }
.price-card > .wp-block-group__inner-container {
  display: flex !important; flex-direction: column; height: 100%;
}

/* おすすめカードのカテゴリ文字を黄色に */
.price-card--featured .price-card__cat { color: var(--yellow); }

/* #################################################################
   修正パッチ 16（Price：カードのフロート演出）
   ホバーでカードが浮き上がる＋影（サービスカードと同系統）
   ################################################################# */
.price-card { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.price-card:hover { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(10, 10, 10, 0.16); }

/* #################################################################
   修正パッチ 17（Voice：SWELL対応）
   ################################################################# */
/* カード：内側コンテナをflex縦並びにして人物行を下端で揃える */
.voice-card { height: 100%; }
.voice-card > .wp-block-group__inner-container {
  display: flex !important; flex-direction: column; height: 100%;
}
.voice-card__quote { flex: 1; }

/* 人物行：内側コンテナをflex横並びに（アバター＋名前） */
.voice-card__person { display: block !important; }
.voice-card__person > .wp-block-group__inner-container {
  display: flex !important; align-items: center; gap: 12px;
}
.voice-card__avatar { flex-shrink: 0; }

/* #################################################################
   修正パッチ 18（CTA：SWELL対応）
   ################################################################# */
/* inner：内側コンテナをgrid（左=見出し＋サブ／右=ボタン）＋背景の巨大文字より前面へ */
.cta-strip__inner { display: block !important; position: relative; z-index: 1; }
.cta-strip__inner > .wp-block-group__inner-container {
  display: grid !important; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center;
}
@media (max-width: 768px) {
  .cta-strip__inner > .wp-block-group__inner-container { grid-template-columns: 1fr; gap: 32px; }
}
/* ボタン群：内側コンテナをflex横並びに */
.cta-strip__buttons { display: block !important; }
.cta-strip__buttons > .wp-block-group__inner-container {
  display: flex !important; gap: 12px; flex-wrap: wrap;
}
/* CTA見出し：SWELL標準H2の装飾を消して白文字に */
.cta-strip__title { background: none !important; border: none !important; padding: 0 !important; color: var(--white) !important; }
.cta-strip__title::before, .cta-strip__title::after { display: none !important; content: none !important; }

/* #################################################################
   修正パッチ 19（CTA：ブロックのインライン白背景に負けないよう黒を強制）
   ################################################################# */
.cta-strip { background-color: var(--ink) !important; }

/* #################################################################
   修正パッチ 20（CTA：見出しを大きく＋背景SUGUNORUを左へ速く）
   ################################################################# */
/* 見出しサイズをSWELL標準H2に負けないよう強制（参考と同じ） */
.cta-strip__title { font-size: clamp(28px, 4vw, 48px) !important; line-height: 1.3 !important; }

/* 背景SUGUNORU：左方向へ大きく・少し速く */
.cta-strip::before { animation: ctaDrift2 12s ease-in-out infinite alternate; }
@keyframes ctaDrift2 {
  from { transform: translateY(-50%) translateX(0); }
  to   { transform: translateY(-50%) translateX(-200px); }
}

/* #################################################################
   修正パッチ 21（ペーパー版マーキー：インライン黄色文字を濃色に上書き）
   1本目を複製してペーパー化しても文字が見えるように
   ################################################################# */
/* （無効化：エディタで「・」を金色にできるよう、文字色の強制を解除。
   span無し（プレーン文字）の本文は --paper の濃色を継承します） */

/* #################################################################
   修正パッチ 22（2本目マーキー：速度アップ 46s → 30s）
   ################################################################# */
.marquee__track--rev { animation: marqueeRev 30s linear infinite; }

/* #################################################################
   修正パッチ 23（2本目マーキー：プレーン文字の間隔を少し広げる）
   span区切りが無いため flex gap が効かない分を word-spacing で補う
   ################################################################# */
.marquee--paper .marquee__track { word-spacing: 0.25em; }

/* #################################################################
   修正パッチ 24（フロントページのみ：ページタイトル・パンくずを非表示）
   ※下層ページのタイトル/パンくずは残す（.home限定）
   ################################################################# */
.home .c-pageTitle,
.home .p-breadcrumb { display: none !important; }

/* #################################################################
   修正パッチ 25（ヘッダー：黒帯の除去 ＋ CTAボタンのスタイル）
   ################################################################# */

/* --- A. 空のヘッダーバー（黒帯）を非表示 --- */
.l-header__bar { display: none !important; }

/* --- B. グローバルナビ内のメニュー項目をCTAボタン化 --- */
/* ナビ項目とボタン群の間隔（最初のボタンだけ広めに） */
.c-gnav li.nav-btn { margin-left: .5rem; }
.c-gnav li.nav-btn--ace { margin-left: 1.5rem; }

/* ボタン共通形状 */
.c-gnav li.nav-btn > a {
	display: inline-flex !important;
	align-items: center;
	gap: .3em;
	padding: .62em 1.1em !important;
	border: 1.5px solid var(--ink);
	font-family: var(--head-jp);
	font-weight: 700;
	font-size: .9rem;
	line-height: 1;
	white-space: nowrap;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
/* SWELLのホバー下線を無効化 */
.c-gnav li.nav-btn > a::after { content: none !important; display: none !important; }

/* 白地＋枠線（資料DL / ACE AUTO） */
.c-gnav li.nav-btn--dl > a,
.c-gnav li.nav-btn--ace > a {
	background: transparent;
	color: var(--ink);
}
.c-gnav li.nav-btn--dl > a:hover,
.c-gnav li.nav-btn--ace > a:hover {
	background: var(--ink);
	color: var(--white);
}

/* 黄色塗り（今すぐ問い合わせ＝メインCTA） */
.c-gnav li.nav-btn--cta > a {
	background: var(--yellow);
	border-color: var(--yellow);
	color: var(--ink);
}
.c-gnav li.nav-btn--cta > a:hover {
	background: var(--yellow-dark);
	border-color: var(--yellow-dark);
	color: var(--ink);
}

/* #################################################################
   修正パッチ 26（ヘッダー仕上げ：ロゴ「● SUGUNORU」/ ナビ強調 / ACE AUTO控えめ化）
   ################################################################# */

/* --- ① ロゴ「スグノル ● SUGUNORU」--- */
.c-headLogo { display: flex; align-items: center; }
.c-headLogo__link {
	display: inline-flex;
	align-items: center;
	font-family: var(--head-jp);
	font-weight: 800;
	color: var(--ink) !important;
	letter-spacing: .01em;
}
/* スグノルの直後に金色ドット */
.c-headLogo__link::after {
	content: "\25CF";              /* ● */
	color: var(--yellow);
	font-size: .42em;
	margin: 0 .12em 0 .5em;
}
/* リンクの後ろに小さなSUGUNORU（グレー・等幅・字間広め） */
.c-headLogo::after {
	content: "SUGUNORU";
	font-family: var(--mono);
	font-size: .62rem;
	font-weight: 600;
	letter-spacing: .22em;
	color: var(--grey);
	margin-left: .12em;
}

/* --- ② グローバルナビ（ボタン以外）を黒く太く --- */
.c-gnav > li:not(.nav-btn) > a {
	color: var(--ink);
	font-family: var(--head-jp);
	font-weight: 700;
}

/* --- ③ ACE AUTO を控えめに（薄グレー枠＋グレー等幅文字） --- */
.c-gnav li.nav-btn--ace > a {
	border-color: var(--line);
	color: var(--grey);
	font-family: var(--mono);
	font-weight: 600;
	font-size: .74rem;
	letter-spacing: .08em;
}
.c-gnav li.nav-btn--ace > a:hover {
	background: transparent;
	border-color: var(--grey);
	color: var(--ink);
}

/* --- ④ 今すぐ問い合わせ をヒーローの黄色ボタンと同じ「黒枠＋黒オフセット影」に --- */
.c-gnav li.nav-btn--cta > a {
	border-color: var(--ink);
	box-shadow: 4px 4px 0 var(--ink);
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.c-gnav li.nav-btn--cta > a:hover {
	background: var(--yellow-dark);
	border-color: var(--ink);
	color: var(--ink);
	transform: translate(-2px,-2px);
	box-shadow: 6px 6px 0 var(--ink);
}

/* #################################################################
   修正パッチ 27（A:PCナビをセンター寄せ ／ B:スマホメニューをブランド化）
   ################################################################# */

/* ============ A. PCナビをセンター寄せ（ロゴ左 / ナビ中央 / ボタン右） ============ */
.l-header__gnav { flex: 1; }
.c-gnav { width: 100%; flex: 1; }
/* 最初のナビ項目の前に余白＝ナビ群を中央へ */
.c-gnav > li:first-child { margin-left: auto; }
/* 最初のボタンの前に余白＝ボタン群を右端へ（結果ナビが中央寄りに） */
.c-gnav li.nav-btn--ace { margin-left: auto; }

/* ============ B. スマホメニュー（ハンバーガー）をブランド仕様に ============ */
/* ドロワー背景を生成り（paper）に */
.p-spMenu__inner { background: var(--paper); }

/* 「MENU」見出し：紺色→黒地＋白文字＋等幅＋黄色アクセント */
.p-spMenu .c-widget__title.-spmenu {
	background: var(--ink) !important;
	color: var(--white) !important;
	font-family: var(--mono);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .25em;
	padding: .9em 1.1em !important;
	border-left: 4px solid var(--yellow);
}

/* リスト項目：ブランドフォント＋黒文字＋ホバーで薄黄＆少し右へ */
.p-spMenu .c-spnav a {
	font-family: var(--head-jp);
	font-weight: 600;
	color: var(--ink);
	border-bottom: 1px solid var(--line) !important;
	padding: .95em .6em !important;
	transition: background-color .15s ease, padding-left .15s ease;
}
.p-spMenu .c-spnav a:hover {
	background: var(--cream) !important;
	padding-left: 1.1em !important;
}
/* 標準の「>」矢印を消す */
.p-spMenu .c-spnav a::before { content: none !important; display: none !important; }

/* ACE AUTO 行は控えめ（等幅・グレー） */
.p-spMenu .c-spnav li.nav-btn--ace a {
	font-family: var(--mono);
	color: var(--grey);
	font-size: .9em;
	letter-spacing: .05em;
}
/* 今すぐ問い合わせ 行は黄色で目立たせる（メインCTA） */
.p-spMenu .c-spnav li.nav-btn--cta a {
	background: var(--yellow);
	font-weight: 700;
	border-bottom-color: var(--yellow) !important;
}
.p-spMenu .c-spnav li.nav-btn--cta a:hover {
	background: var(--yellow-dark) !important;
	padding-left: .6em !important;
}

/* #################################################################
   修正パッチ 28（フッター：黒地ブランド仕様 / 3カラム / プレート風コピー）
   ################################################################# */

/* --- 全体を黒地に --- */
.l-footer { background: var(--ink); color: #ABA89F; }
.l-footer__widgetArea { padding-top: 66px; padding-bottom: 50px; }
.l-footer a { color: inherit; }

/* --- 3カラムのグリッド（1列目を広く） --- */
.w-footer.-col3 {
	display: grid !important;
	grid-template-columns: 1.6fr 1fr 1fr;
	gap: 52px;
	align-items: start;
}
.w-footer__box { width: auto !important; margin: 0 !important; padding: 0 !important; }
@media (max-width: 768px) {
	.w-footer.-col3 { grid-template-columns: 1fr; gap: 36px; }
}

/* ====== 1列目（テキストウィジェット）：順番で装飾 ====== */
/* ① ブランド「スグノル」＋黄色ドット */
.l-footer .textwidget p:nth-of-type(1) {
	font-family: var(--head-jp);
	font-weight: 800;
	font-size: 22px;
	color: var(--white);
	margin-bottom: 16px;
}
.l-footer .textwidget p:nth-of-type(1)::after {
	content: "\25CF";
	color: var(--yellow);
	font-size: .46em;
	margin-left: .45em;
	vertical-align: middle;
}
/* ② 説明文 */
.l-footer .textwidget p:nth-of-type(2) {
	font-size: 13px;
	line-height: 1.95;
	color: #918E85;
	margin-bottom: 22px;
	max-width: 30em;
}
/* ③ 会社情報 */
.l-footer .textwidget p:nth-of-type(3) {
	font-size: 13px;
	line-height: 2.0;
	color: #C2BFB6;
	margin-bottom: 18px;
}
/* ④ ACE AUTO 公式サイトリンク */
.l-footer .textwidget p:nth-of-type(4) { font-size: 12px; letter-spacing: .03em; }
.l-footer .textwidget p:nth-of-type(4) a {
	color: var(--yellow);
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}
.l-footer .textwidget p:nth-of-type(4) a:hover { color: var(--white); }

/* ====== 2・3列目（ナビメニュー） ====== */
/* 見出し：白＋下線、SWELLの装飾線（::before）を除去 */
.l-footer .c-widget__title.-footer {
	color: var(--white) !important;
	font-family: var(--head-jp);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .04em;
	margin-bottom: 16px;
	padding-bottom: 13px;
	border-bottom: 1px solid rgba(255,255,255,.14);
	background: none !important;
	overflow: visible;
}
.l-footer .c-widget__title.-footer::before { content: none !important; display: none !important; }
/* EN副題（列ごとに付与） */
.w-footer__box:nth-child(2) .c-widget__title.-footer::after,
.w-footer__box:nth-child(3) .c-widget__title.-footer::after {
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .15em;
	color: var(--yellow);
	margin-left: .7em;
	vertical-align: middle;
}
.w-footer__box:nth-child(2) .c-widget__title.-footer::after { content: "SERVICE"; }
.w-footer__box:nth-child(3) .c-widget__title.-footer::after { content: "SUPPORT"; }

/* リスト項目：グレー→ホバー白、「>」矢印は黄色 */
.l-footer .c-listMenu li a {
	color: #A4A198 !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
	font-size: 13.5px;
	font-weight: 500;
	transition: color .15s ease, padding-left .15s ease;
}
.l-footer .c-listMenu li a:hover {
	color: var(--white) !important;
	background: none !important;
	padding-left: 1.4em !important;
}
.l-footer .c-listMenu li a::before { color: var(--yellow) !important; }

/* ====== 下部バー（プレート風・左右2分割） ====== */
.l-footer__foot {
	background: #060606;
	border-top: 1px solid rgba(255,255,255,.10);
	padding: 18px 0;
}
.l-footer__foot .l-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.l-footer__foot .copyright {
	margin: 0;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .08em;
	color: #807D76;
	text-align: left;
}
.l-footer__foot .l-container::after {
	content: "WAKAYAMA \00B7 JAPAN \00B7 \8ED5 480 \3059 99-99";
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .08em;
	color: #807D76;
}

/* #################################################################
   修正パッチ 29（フッター微調整：EN副題を同行に / 運営リンク枠囲み / コピー黄色）
   ################################################################# */

/* --- ② SERVICE / SUPPORT を日本語の隣（同じ行）に --- */
.l-footer .c-widget__title.-footer { white-space: nowrap; }
.w-footer__box:nth-child(2) .c-widget__title.-footer::after,
.w-footer__box:nth-child(3) .c-widget__title.-footer::after {
	display: inline-block;
	vertical-align: baseline;
}

/* --- ③ 運営：ACE AUTO 公式サイト を枠囲みボタンに --- */
.l-footer .textwidget p:nth-of-type(4) a {
	display: inline-block;
	border: 1px solid rgba(255,255,255,.35);
	padding: 9px 16px;
	color: #DBD7CE;
	font-size: 11.5px;
	letter-spacing: .04em;
}
.l-footer .textwidget p:nth-of-type(4) a:hover {
	border-color: var(--yellow);
	color: var(--yellow);
	background: rgba(232,169,26,.08);
}

/* --- ④ 下部バー（コピーライト＋プレート文字）を黄色（金）に --- */
.l-footer__foot .copyright,
.l-footer__foot .l-container::after { color: var(--yellow) !important; }

/* #################################################################
   修正パッチ 30（お問い合わせフォーム CF7：ブランド仕様）
   ################################################################# */

/* フォーム全体を中央寄せ・適度な幅に */
.wpcf7 .wpcf7-form { max-width: 760px; margin-inline: auto; }

/* 2カラムグリッド */
.cf7-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px 24px;
	margin-bottom: 28px;
}
.cf7-field { display: flex; flex-direction: column; gap: 7px; margin: 0; }
.cf7-field.cf7-full { grid-column: 1 / -1; }
.cf7-field br { display: none; }
@media (max-width: 600px) {
	.cf7-grid { grid-template-columns: 1fr; gap: 18px; }
}

/* ラベル＋必須/任意バッジ */
.cf7-field label {
	font-family: var(--head-jp);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--ink);
}
.cf7-req { color: var(--red);  font-family: var(--mono); font-size: 10px; margin-left: 6px; }
.cf7-opt { color: var(--grey); font-family: var(--mono); font-size: 10px; margin-left: 6px; }

/* 入力欄 */
.cf7-field .wpcf7-form-control-wrap { display: block; width: 100%; }
.cf7-field input.wpcf7-form-control,
.cf7-field select.wpcf7-form-control,
.cf7-field textarea.wpcf7-form-control {
	width: 100%;
	font-family: var(--body);
	font-size: 16px;
	color: var(--ink);
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 0;
	padding: 12px 14px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.cf7-field input.wpcf7-form-control:focus,
.cf7-field select.wpcf7-form-control:focus,
.cf7-field textarea.wpcf7-form-control:focus {
	outline: none;
	border-color: var(--ink);
	box-shadow: 0 0 0 3px rgba(232,169,26,.18);
}
.cf7-field textarea.wpcf7-form-control { min-height: 150px; resize: vertical; }

/* 送信ボタン（ヒーローと同じ黄色＋黒枠＋黒オフセット影） */
.cf7-submit-wrap { text-align: center; margin-top: 8px; }
.cf7-submit-wrap input.wpcf7-submit {
	font-family: var(--head-jp);
	font-weight: 700;
	font-size: 16px;
	color: var(--ink);
	background: var(--yellow);
	border: 2px solid var(--ink);
	border-radius: 0;
	padding: 15px 50px;
	box-shadow: 4px 4px 0 var(--ink);
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.cf7-submit-wrap input.wpcf7-submit:hover {
	background: var(--yellow-dark);
	transform: translate(-2px,-2px);
	box-shadow: 6px 6px 0 var(--ink);
}

/* バリデーション・レスポンス表示 */
.cf7-field input.wpcf7-not-valid,
.cf7-field select.wpcf7-not-valid,
.cf7-field textarea.wpcf7-not-valid { border-color: var(--red); }
.wpcf7-not-valid-tip { color: var(--red); font-family: var(--mono); font-size: 12px; margin-top: 5px; }
.wpcf7 .wpcf7-response-output {
	border-radius: 0;
	border-width: 1px;
	margin: 18px 0 0;
	padding: 12px 16px;
	font-size: 13px;
}

/* #################################################################
   修正パッチ 31（CF7：プライバシーポリシー同意チェックの装飾）
   ################################################################# */
.cf7-consent {
	max-width: 760px;
	margin: 4px auto 26px;
	text-align: center;
}
.cf7-consent .wpcf7-list-item { margin: 0; }
.cf7-consent label {
	font-family: var(--head-jp);
	font-size: 13px;
	font-weight: 600;
	color: var(--ink);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.cf7-consent input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--yellow); }
.cf7-consent a { color: var(--ink); border-bottom: 1px solid var(--yellow); }
.cf7-consent a:hover { color: var(--yellow-dark); }
.cf7-consent__note {
	display: block;
	font-size: 11px;
	color: var(--grey);
	margin-top: 7px;
}

/* #################################################################
   修正パッチ 32（お問い合わせ：送信下の余白 / CONTACTヒーロー / 連絡先カード）
   ################################################################# */

/* --- 下層ページ下部の余白を確保（フッターとの間／トップページは除外） --- */
.page:not(.home) .l-mainContent__inner { padding-bottom: 80px; }

/* --- お問い合わせページのSWELL標準タイトルを非表示（独自ヒーローを使うため） --- */
/* ※ページIDが違う場合は教えてください */
.page-id-357 .c-pageTitle { display: none !important; }

/* ====== CONTACTヒーロー ====== */
.contact-hero { margin: 8px 0 44px; }
.contact-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: .15em;
	color: var(--grey);
	margin: 0 0 14px;
}
.contact-hero__eyebrow::before {
	content: "";
	width: 34px; height: 2px;
	background: var(--yellow);
}
.contact-hero__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(56px, 9vw, 104px);
	line-height: .95;
	letter-spacing: .01em;
	color: var(--ink);
	margin: 0 0 10px;
}
.contact-hero__title::after {
	content: "";
	display: inline-block;
	width: .13em; height: .13em;
	background: var(--yellow);
	margin-left: .1em;
	vertical-align: baseline;
}
.contact-hero__jp {
	font-family: var(--head-jp);
	font-weight: 800;
	font-size: 22px;
	color: var(--ink);
	margin: 0 0 16px;
}
.contact-hero__lead {
	font-size: 14px;
	line-height: 1.95;
	color: var(--ink-soft);
	max-width: 40em;
	margin: 0;
}

/* ====== 連絡先カード（3枚／リッチカラム） ====== */
.contact-cards { margin-bottom: 52px; }
.contact-card {
	height: 100%;
	border: 1.5px solid var(--ink);
}
.contact-card > .wp-block-group__inner-container {
	height: 100%;
	padding: 28px 26px;
}
.contact-card__label {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .12em;
	color: var(--grey);
	margin: 0 0 16px !important;
}
.contact-card__value {
	font-family: var(--head-jp);
	font-weight: 800;
	font-size: 23px;
	color: var(--ink);
	margin: 0 0 10px !important;
	word-break: break-all;
}
.contact-card__note {
	font-size: 12px;
	color: var(--grey);
	margin: 0 !important;
}

/* #################################################################
   修正パッチ 33（本文幅の調整 / フォーム枠囲み / プライバシーページ装飾）
   ################################################################# */

/* --- ② お問い合わせの本文幅をヘッダーに合わせて広げる（左右余白を詰める） --- */
.page-id-357 .l-article { max-width: var(--container_size, 1120px); }

/* --- ③ フォームを枠で囲う（FORMヘッダー付き） --- */
.contact-formbox {
	border: 1.5px solid var(--ink);
	padding: 44px 48px;
	margin-top: 8px;
}
.contact-formbox .wpcf7-form { max-width: 100%; }   /* 枠内いっぱいに */
.contact-formbox__title {
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-family: var(--head-jp);
	font-weight: 700;
	font-size: 15px;
	color: var(--ink);
	padding-bottom: 16px;
	margin: 0 0 32px !important;
	border-bottom: 1px solid var(--line);
}
.contact-formbox__title::before {
	content: "FORM";
	font-family: var(--display);
	font-weight: 400;
	font-size: 30px;
	line-height: 1;
	color: var(--yellow);
}
.contact-formbox__title::after {
	content: "REQUIRED *";
	margin-left: auto;
	align-self: center;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: .12em;
	color: var(--grey);
}
@media (max-width: 600px) {
	.contact-formbox { padding: 26px 18px; }
}

/* --- ① プライバシーポリシー等テキストページの装飾 --- */
.page-id-360 .l-article { max-width: 820px; }
.page-id-360 .post_content h3 {
	font-family: var(--head-jp);
	font-weight: 700;
	font-size: 18px;
	color: var(--ink);
	margin: 2.4em 0 .7em;
	padding: 0 0 0 14px;
	background: none !important;
	border: none !important;
	border-left: 4px solid var(--yellow) !important;
}
.page-id-360 .post_content h3::before,
.page-id-360 .post_content h3::after { content: none !important; display: none !important; }
.page-id-360 .post_content p {
	font-size: 14.5px;
	line-height: 1.95;
	color: var(--ink-soft);
	margin: 0 0 1em;
}
.page-id-360 .post_content ul { padding-left: 1.4em; margin: 0 0 1.3em; }
.page-id-360 .post_content li {
	font-size: 14.5px;
	line-height: 1.9;
	color: var(--ink-soft);
	margin-bottom: .35em;
}

/* #################################################################
   修正パッチ 34（CONTACT見出し拡大 / カード値Anton化 / パンくず統一）
   ################################################################# */

/* --- ③ ヒーロー・カードの文字を参考サイズに（SWELLの.post_content指定に勝たせる） --- */
.contact-hero__title { font-size: clamp(60px, 10vw, 112px) !important; line-height: .9 !important; }
.contact-hero__jp   { font-size: 24px !important; font-weight: 800 !important; }
.contact-hero__lead { font-size: 15px !important; }
.contact-card__label { font-size: 11px !important; }
/* カード値：Antonで大きく・目立たせる（参考に合わせる） */
.contact-card__value {
	font-family: var(--display) !important;
	font-weight: 400 !important;
	font-size: 26px !important;
	letter-spacing: .04em !important;
}
.contact-card__note { font-size: 12px !important; }

/* --- ④ パンくずを参考デザイン（mono・"/"区切り・ホームアイコンなし）に全ページ統一 --- */
.p-breadcrumb { background: var(--paper) !important; }
.p-breadcrumb__text {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--grey);
}
.p-breadcrumb a.p-breadcrumb__text { color: var(--ink-soft); }
.p-breadcrumb a.p-breadcrumb__text:hover { color: var(--ink); }
/* ホームアイコンを消す */
.p-breadcrumb .icon-home::before { content: none !important; }
.p-breadcrumb .__home { gap: 0; }
/* 区切り（SWELL独自の三角クリップ）を "/" に置換 */
.p-breadcrumb__item:not(:last-child)::after {
	-webkit-clip-path: none !important;
	clip-path: none !important;
	background: none !important;
	content: "/" !important;
	width: auto !important;
	height: auto !important;
	color: var(--grey);
	opacity: .5;
	margin: 0 9px !important;
}

/* #################################################################
   修正パッチ 35（背景色ユーティリティクラス）
   フルワイド等のグループの「追加CSSクラス」に付けて背景色を変更
   ################################################################# */

/* --- 背景色（ドット無し・スペース区切りで付与） --- */
.bg-white  { background-color: var(--white)  !important; }
.bg-paper  { background-color: var(--paper)  !important; }   /* 生成り（やや暖色の白） */
.bg-cream  { background-color: var(--cream)  !important; }   /* クリーム（黄み） */
.bg-yellow { background-color: var(--yellow) !important; }
.bg-ink    { background-color: var(--ink)    !important; }   /* 黒（文字は自動で明色化） */

/* 黒背景のときは内部の文字を明るく */
.bg-ink :is(h1,h2,h3,h4,h5,h6,p,li,figcaption) { color: var(--paper) !important; }
.bg-ink a { color: var(--yellow) !important; }

/* --- 上下余白ヘルパー（色帯に余白が欲しいとき bg-○○ と併用） --- */
.sec-pad { padding-top: clamp(56px, 8vw, 96px) !important; padding-bottom: clamp(56px, 8vw, 96px) !important; }

/* #################################################################
   修正パッチ 36（料金ページ①：共通ヒーロー / セクション見出し / 短期料金表）
   page-hero・sec-eyebrow・sec-title は下層ページ共通で再利用
   ################################################################# */

/* ===== 下層ページ共通ヒーロー（page-hero） ===== */
.page-hero { background: var(--paper); padding: clamp(44px,6vw,84px) 0 clamp(36px,4vw,60px); }
.page-hero__eyebrow {
	display: flex; align-items: center; gap: 14px;
	font-family: var(--mono); font-size: 12px; letter-spacing: .18em; color: var(--grey);
	margin: 0 0 18px !important;
}
.page-hero__eyebrow::before { content: ""; width: 32px; height: 1px; background: var(--yellow); flex: none; }
.page-hero__en {
	font-family: var(--display) !important; font-weight: 400 !important;
	font-size: clamp(56px,9.5vw,108px) !important; line-height: .9 !important;
	color: var(--ink); margin: 0 0 16px !important;
}
.page-hero__en::after { content: ""; display: inline-block; width: .26em; height: .26em; background: var(--yellow); margin-left: .1em; }
.page-hero__jp { font-family: var(--head-jp) !important; font-weight: 800 !important; font-size: 22px !important; color: var(--ink); margin: 0 0 14px !important; }
.page-hero__lead { font-size: 15px !important; line-height: 1.85 !important; color: var(--ink-soft); max-width: 60ch; margin: 0 0 20px !important; }
.page-hero__meta { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; color: var(--grey); margin: 0 !important; padding-top: 16px; border-top: 1px solid var(--line); }
.page-hero__meta strong { color: var(--ink); font-weight: 500; }

/* ===== セクション見出し（番号 / EN / JP）共通 ===== */
.sec-eyebrow { margin-bottom: 14px; }
.sec-eyebrow > .wp-block-group__inner-container { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.sec-eyebrow__num { font-family: var(--display) !important; font-weight: 400 !important; font-size: 36px !important; line-height: 1 !important; color: var(--yellow-dark); margin: 0 !important; }
.sec-eyebrow__en { font-family: var(--mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); margin: 0 !important; }
.sec-eyebrow__jp { font-family: var(--head-jp); font-weight: 700; font-size: 13px; color: var(--ink-soft); margin: 0 !important; }
.sec-title {
	font-family: var(--head-jp) !important; font-weight: 900 !important;
	font-size: clamp(24px,3.2vw,32px) !important; line-height: 1.35 !important;
	color: var(--ink); margin: 0 0 32px !important;
	background: none !important; border: none !important; padding: 0 !important;
}
.sec-title::before, .sec-title::after { content: none !important; display: none !important; }

/* ===== 短期レンタル料金表（price-table：テーブルブロックに付与） ===== */
.price-table table { width: 100%; border-collapse: collapse; margin: 0; }
.price-table thead th {
	font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
	color: var(--grey); font-weight: 500; text-align: left;
	padding: 0 16px 12px; border-bottom: 2px solid var(--ink); background: none;
}
.price-table tbody td {
	padding: 16px; border: none; border-bottom: 1px solid var(--line);
	color: var(--ink-soft); vertical-align: top; line-height: 1.7; font-size: 14px;
}
.price-table tbody td:first-child { font-family: var(--head-jp); font-weight: 700; color: var(--ink); white-space: nowrap; }
.price-table tbody td:nth-child(2) { font-family: var(--display); font-weight: 400; font-size: 20px; color: var(--ink); letter-spacing: .02em; white-space: nowrap; }
.price-table tbody tr:last-child td { border-bottom: none; }

/* #################################################################
   修正パッチ 37（タイトル欄の空白除去 / リード幅 / 黒ヘッダー / eyebrow下線・右寄せ / price調整）
   ################################################################# */

/* --- ① タイトル欄の空白バンドを除去（.l-content の上余白。トップ＋ヒーロー使用ページ） --- */
.home .l-content,
.page-id-357 .l-content,
.page-id-387 .l-content { padding-top: 0 !important; }

/* price ページ：デフォルトタイトル非表示＋本文幅をヘッダー幅に */
.page-id-387 .c-pageTitle { display: none !important; }
.page-id-387 .l-article { max-width: var(--container_size, 1120px); }

/* --- ② ヒーローのリード幅を広げ、変な改行を防ぐ --- */
.page-hero__lead { max-width: 44em !important; }

/* --- ③ 短期料金表のヘッダーを黒背景・白文字に（参考に合わせる） --- */
.price-table thead th {
	background: var(--ink) !important;
	color: var(--white) !important;
	font-family: var(--head-jp) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 15px 18px !important;
	border-bottom: none !important;
}

/* --- ③ セクション見出し eyebrow に下線＋JPラベル右寄せ（参考に合わせる） --- */
.sec-eyebrow { margin-bottom: 28px !important; }
.sec-eyebrow > .wp-block-group__inner-container { padding-bottom: 16px; border-bottom: 2px solid var(--ink); }
.sec-eyebrow__jp { margin-left: auto !important; }

/* #################################################################
   修正パッチ 38（見出し白飛び修正：SWELLのh2デザイン color:#fff を無効化 ＋ タイトル拡大）
   ################################################################# */
/* SWELLの .post_content h2 デザイン（背景＋白文字）に色で負けていた → 強制で黒に */
.sec-title {
	color: var(--ink) !important;
	font-size: clamp(28px, 4vw, 44px) !important;   /* 参考に合わせて拡大（最大44px） */
}
/* ヒーロー見出しも念のため色を固定（他ページでの白飛び予防） */
.page-hero__en { color: var(--ink) !important; }
.page-hero__jp { color: var(--ink) !important; }

/* #################################################################
   修正パッチ 39（料金表・セクション見出しを参考CSS(.tbl/.section-eyebrow)に正確化
   ＋ 残りの白バンド除去：.post_content の上余白）
   ################################################################# */

/* --- 残りの白バンド：.post_content の上余白(4em)を除去 --- */
.home .post_content,
.page-id-357 .post_content,
.page-id-387 .post_content { margin-top: 0 !important; }

/* --- セクション見出し eyebrow（参考の正確な値に：01=48px黒 / EN=Anton18px） --- */
.sec-eyebrow__num {
	font-family: var(--display) !important; font-weight: 400 !important;
	font-size: clamp(36px, 6vw, 48px) !important; line-height: 1 !important;
	color: var(--ink) !important;
}
.sec-eyebrow__en {
	font-family: var(--display) !important; font-weight: 400 !important;
	font-size: 18px !important; letter-spacing: .18em !important;
	text-transform: uppercase !important; color: var(--ink-soft) !important;
}
.sec-eyebrow__jp {
	font-family: var(--head-jp) !important; font-weight: 700 !important;
	font-size: 14px !important; letter-spacing: .16em !important; color: var(--grey) !important;
	margin-left: auto !important;
}

/* --- 料金表 .price-table（参考 .tbl に合わせる：2px枠・縦罫・1列目生成り・価格mono） --- */
.price-table table { width: 100%; border-collapse: collapse; border: 2px solid var(--ink) !important; font-size: 14px; }
.price-table th, .price-table td {
	padding: 18px 20px !important; text-align: left; vertical-align: top;
	border-bottom: 1px solid var(--line) !important; border-right: 1px solid var(--line) !important;
}
.price-table th:last-child, .price-table td:last-child { border-right: none !important; }
.price-table tbody tr:last-child td, .price-table tbody tr:last-child th { border-bottom: none !important; }
/* ヘッダー行：黒背景・白文字 */
.price-table thead th {
	background: var(--ink) !important; color: var(--white) !important;
	font-family: var(--head-jp) !important; font-weight: 700 !important;
	font-size: 13px !important; letter-spacing: .08em !important; text-transform: none !important;
	border-right-color: rgba(255,255,255,.18) !important;
}
.price-table thead th:last-child { border-right: none !important; }
/* 1列目（期間）：生成り背景・太字・幅26% */
.price-table tbody td:first-child {
	background: var(--paper) !important; color: var(--ink) !important;
	font-family: var(--head-jp) !important; font-weight: 700 !important;
	width: 26%; white-space: nowrap;
}
/* 料金列：mono。太字にした¥は大きく(22px) */
.price-table tbody td:nth-child(2) {
	font-family: var(--mono) !important; font-size: 16px !important; font-weight: 500 !important;
	color: var(--ink) !important; letter-spacing: 0 !important; white-space: nowrap;
}
.price-table tbody td:nth-child(2) strong { font-size: 22px !important; font-weight: 500 !important; color: var(--ink) !important; }
/* 備考列：広め・読みやすく */
.price-table tbody td:last-child { color: var(--ink-soft) !important; line-height: 1.7; }

/* #################################################################
   修正パッチ 40（料金ページ②：長期リース料金カード3枚）
   ################################################################# */
/* カード本体（リッチカラム内のグループに price-card を付与） */
.price-card {
	border: 2px solid var(--ink);
	background: var(--white);
	padding: 32px;
	position: relative;
	height: 100%;
}
.price-card > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.price-card--featured { background: var(--ink) !important; }

/* POPULAR タグ（強調カードのみ） */
.price-card__tag {
	position: absolute; top: 0; right: 20px; transform: translateY(-50%);
	background: var(--yellow); color: var(--ink);
	font-family: var(--head-jp); font-weight: 700; font-size: 11px; letter-spacing: .1em;
	padding: 4px 12px; margin: 0 !important;
}
/* カテゴリ（LEASE A / STANDARD） */
.price-card__cat {
	font-family: var(--mono) !important; font-size: 11px !important; letter-spacing: .2em !important;
	color: var(--grey) !important; margin: 0 0 8px !important;
}
.price-card--featured .price-card__cat { color: var(--yellow) !important; }
/* 車種名 */
.price-card__name {
	font-family: var(--head-jp) !important; font-weight: 900 !important; font-size: 24px !important;
	color: var(--ink) !important; margin: 0 0 24px !important;
	background: none !important; border: none !important; padding: 0 !important;
}
.price-card__name::before, .price-card__name::after { content: none !important; }
.price-card--featured .price-card__name { color: var(--white) !important; }
/* 価格（mono・¥は太字で40px） */
.price-card__price {
	font-family: var(--mono) !important; font-size: 14px !important; color: var(--ink-soft) !important;
	border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
	padding: 20px 0; margin: 0 0 20px !important;
}
.price-card__price strong { font-size: 40px !important; font-weight: 500 !important; color: var(--ink) !important; display: block; line-height: 1; margin-bottom: 4px; }
.price-card--featured .price-card__price { border-color: var(--ink-soft) !important; color: rgba(255,255,255,.7) !important; }
.price-card--featured .price-card__price strong { color: var(--yellow) !important; }
/* 特徴リスト（▸付き） */
.price-card ul { list-style: none !important; padding: 0 !important; margin: 0 !important; flex: 1; }
.price-card li {
	padding: 8px 0; border-bottom: 1px solid var(--line);
	font-size: 13px; color: var(--ink-soft); display: flex; gap: 8px;
}
.price-card li::before { content: "▸"; color: var(--yellow-dark); flex: none; }
.price-card--featured li { border-color: var(--ink-soft) !important; color: rgba(255,255,255,.85) !important; }
.price-card--featured li::before { color: var(--yellow) !important; }

/* #################################################################
   修正パッチ 41（セクション間の横区切り線）
   sec-pad セクションが連続する境目に自動で1本の横線
   ################################################################# */
.sec-pad + .sec-pad { border-top: 1px solid var(--line); }

/* #################################################################
   修正パッチ 42（料金ページ③：オプションサービス 4ボックス／2×2）
   ################################################################# */
.opt-card {
	border: 2px solid var(--ink);
	background: var(--white);
	padding: 28px;
	height: 100%;
}
.opt-card > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.opt-card__label {
	font-family: var(--mono) !important; font-size: 11px !important; letter-spacing: .2em !important;
	color: var(--yellow-dark) !important; margin: 0 0 12px !important;
}
.opt-card__name {
	font-family: var(--head-jp) !important; font-weight: 800 !important; font-size: 18px !important;
	color: var(--ink) !important; margin: 0 0 10px !important;
	background: none !important; border: none !important; padding: 0 !important;
}
.opt-card__name::before, .opt-card__name::after { content: none !important; }
.opt-card__desc {
	font-size: 14px !important; line-height: 1.8 !important; color: var(--ink-soft) !important;
	margin: 0 0 18px !important; flex: 1;
}
.opt-card__fee {
	font-family: var(--mono) !important; font-size: 12px !important; color: var(--grey) !important;
	border-top: 1px solid var(--line); padding-top: 14px !important; margin: 0 !important;
}
.opt-card__fee strong { font-size: 18px !important; font-weight: 500 !important; color: var(--ink) !important; }

/* #################################################################
   修正パッチ 41（セクション間の区切り線 / オプション / 注意事項）
   ################################################################# */

/* --- セクション間の横一直線（連続するセクションの境界に） --- */
.sec-pad + .sec-pad { border-top: 2px solid var(--ink); }

/* --- オプション opt-card（2列グリッド／リッチカラム内のグループに付与） --- */
.opt-card {
	border: 1px solid var(--line);
	border-top: 3px solid var(--ink);
	background: var(--white);
	padding: 28px 30px;
	height: 100%;
}
.opt-card > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.opt-card__num  { font-family: var(--mono) !important; font-size: 11px !important; letter-spacing: .2em !important; color: var(--yellow-dark) !important; margin: 0 0 12px !important; }
.opt-card__name { font-family: var(--head-jp) !important; font-weight: 800 !important; font-size: 17px !important; color: var(--ink) !important; margin: 0 0 10px !important; background: none !important; border: none !important; padding: 0 !important; }
.opt-card__name::before, .opt-card__name::after { content: none !important; }
.opt-card__desc { font-size: 13.5px !important; line-height: 1.8 !important; color: var(--ink-soft) !important; margin: 0 0 18px !important; flex: 1; }
.opt-card__fee  { font-family: var(--mono) !important; font-size: 12px !important; color: var(--grey) !important; margin: 0 !important; padding-top: 14px; border-top: 1px solid var(--line); }
.opt-card__fee strong { font-family: var(--head-jp) !important; font-size: 18px !important; font-weight: 800 !important; color: var(--ink) !important; margin-left: 6px; }

/* --- 注意事項 note-item（積み上げ・上罫線で区切り） --- */
.note-item { border-top: 1px solid var(--line); padding-top: 20px; margin: 0 !important; }
.note-item__num  { font-family: var(--display) !important; font-weight: 400 !important; font-size: 20px !important; letter-spacing: .04em !important; color: var(--yellow-dark) !important; margin: 0 0 4px !important; }
.note-item__name { font-family: var(--head-jp) !important; font-weight: 800 !important; font-size: 15px !important; color: var(--ink) !important; margin: 0 0 6px !important; background: none !important; border: none !important; padding: 0 !important; }
.note-item__name::before, .note-item__name::after { content: none !important; }
.note-item__desc { font-size: 13.5px !important; line-height: 1.8 !important; color: var(--ink-soft) !important; margin: 0 !important; }

/* #################################################################
   修正パッチ 42（オプションを2列グリッド化 / 注意事項を番号左・内容右に）
   ################################################################# */

/* --- オプション：4枚を囲むグループ opt-grid に付与で2列に --- */
.opt-grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	align-items: stretch;
}
@media (max-width: 768px) {
	.opt-grid > .wp-block-group__inner-container { grid-template-columns: 1fr; }
}

/* --- 注意事項：番号を左・名前と説明を右のグリッドに --- */
.note-item > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 64px 1fr;
	column-gap: 22px;
	align-items: start;
}
.note-item__num  { grid-column: 1; grid-row: 1 / span 2; }
.note-item__name { grid-column: 2; grid-row: 1; }
.note-item__desc { grid-column: 2; grid-row: 2; }
@media (max-width: 600px) {
	.note-item > .wp-block-group__inner-container { grid-template-columns: 48px 1fr; column-gap: 14px; }
}

/* #################################################################
   修正パッチ 43（長期リース諸条件テーブル / 注意事項拡大 / CTA仕上げ）
   ################################################################# */

/* --- ① 長期リース諸条件テーブル cond-table（ヘッダー無し2列） --- */
.cond-label { font-family: var(--mono) !important; font-size: 12px !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--grey) !important; margin: 40px 0 14px !important; }
.cond-table table { width: 100%; border-collapse: collapse; border: 2px solid var(--ink) !important; }
.cond-table th, .cond-table td {
	padding: 15px 20px !important; border: none !important;
	border-bottom: 1px solid var(--line) !important; border-right: 1px solid var(--line) !important;
	text-align: left; vertical-align: top; font-size: 15px !important; line-height: 1.6 !important; color: var(--ink-soft) !important;
}
.cond-table th:last-child, .cond-table td:last-child { border-right: none !important; }
.cond-table tbody tr:last-child td { border-bottom: none !important; }
.cond-table tbody td:first-child { background: var(--paper) !important; font-family: var(--head-jp) !important; font-weight: 700 !important; color: var(--ink) !important; width: 40%; }
.cond-table tbody td:nth-child(2) { font-family: var(--mono) !important; color: var(--ink) !important; }

/* --- ② 注意事項の文字を少し大きく --- */
.note-item__name { font-size: 16px !important; }
.note-item__desc { font-size: 14.5px !important; }

/* --- ③ CTA 仕上げ --- */
.cta-strip { padding: clamp(48px,7vw,72px) clamp(28px,5vw,56px) !important; }
.cta-strip > .wp-block-group__inner-container,
.cta-strip > .swell-block-fullWide__inner { max-width: var(--container_size, 1120px) !important; margin-inline: auto !important; }
.cta-strip__title { font-family: var(--head-jp) !important; font-weight: 900 !important; font-size: clamp(24px,3.4vw,38px) !important; line-height: 1.35 !important; margin: 0 0 14px !important; background: none !important; border: none !important; padding: 0 !important; }
.cta-strip__title::before, .cta-strip__title::after { content: none !important; }
.cta-strip__title strong, .cta-strip__title em { color: var(--yellow) !important; font-style: normal !important; font-weight: inherit !important; }   /* 「無料」を黄色に */
.cta-strip__sub { font-size: 14px !important; line-height: 1.8 !important; margin: 0 0 28px !important; }
/* ボタン（ゴーストの白四角を解消） */
.cta-strip__buttons { display: flex !important; flex-wrap: wrap; gap: 12px !important; }
.cta-strip__buttons .swell-block-button__link {
	display: inline-flex !important; align-items: center; justify-content: center;
	padding: 15px 30px !important; font-family: var(--head-jp) !important; font-weight: 700 !important;
	font-size: 15px !important; border-radius: 0 !important; box-shadow: none !important;
}
.cta-strip__buttons .sgnr-primary .swell-block-button__link { background: var(--yellow) !important; color: var(--ink) !important; border: 2px solid var(--yellow) !important; }
.cta-strip__buttons .sgnr-ghost .swell-block-button__link { background: transparent !important; color: var(--white) !important; border: 2px solid rgba(255,255,255,.5) !important; }
.cta-strip__buttons .sgnr-ghost .swell-block-button__link:hover { background: rgba(255,255,255,.12) !important; border-color: var(--white) !important; }

/* --- price ページ：CTA下の白余白を除去（フッターまで） --- */
.page-id-387 .post_content { margin-bottom: 0 !important; }
.page-id-387 .l-mainContent__inner { padding-bottom: 0 !important; }
.page-id-387 .l-content { margin-bottom: 0 !important; }

/* #################################################################
   修正パッチ 44（オプション浮き上がり / 番号拡大 / CTA幅=フッター / ボタン入れ子リンク白枠除去）
   ################################################################# */

/* --- ① オプション枠：ホバーで浮き上がる --- */
.opt-card { transition: transform .2s ease, box-shadow .2s ease; }
.opt-card:hover { transform: translateY(-5px); box-shadow: 6px 6px 0 var(--ink); }

/* --- ② セクション番号（01–04）を大きく --- */
.sec-eyebrow__num { font-size: clamp(44px, 7vw, 62px) !important; line-height: 1 !important; }

/* --- ③ CTAコンテンツ幅をフッター（.l-container）と完全一致 --- */
.cta-strip { padding-left: 0 !important; padding-right: 0 !important; }
.cta-strip > .swell-block-fullWide__inner {
	max-width: calc(var(--container_size, 1200px) + var(--swl-pad_container, 0px) * 2) !important;
	margin-inline: auto !important;
	padding-left: var(--swl-pad_container, 0) !important;
	padding-right: var(--swl-pad_container, 0) !important;
}

/* --- ④ CTAボタン内の入れ子<a>（白枠）を無効化 --- */
.cta-strip__buttons .swell-block-button__link a { all: unset !important; cursor: pointer; color: inherit !important; }

/* #################################################################
   修正パッチ 45（サービス /service/ = page-id-473）
   A:タイトル消去＋パンくず密着  B:CTA仕上げ  C:プラン比較表  D:名義スキーム05のレスポンシブ
   ################################################################# */

/* --- A. サブページ共通処理（料金387と同じ）：タイトル消去・上下の白余白除去・本文幅 --- */
.page-id-473 .c-pageTitle { display: none !important; }
.page-id-473 .l-content { padding-top: 0 !important; margin-bottom: 0 !important; }
.page-id-473 .post_content { margin-top: 0 !important; margin-bottom: 0 !important; }
.page-id-473 .l-mainContent__inner { padding-bottom: 0 !important; }
.page-id-473 .l-article { max-width: var(--container_size, 1120px); }

/* --- B. CTA：サブ文の暗いインライン色を参考どおり明るいグレーへ（黒地で可読に） --- */
.cta-strip__sub,
.cta-strip__sub .swl-inline-color { color: rgba(255,255,255,0.7) !important; }

/* --- C. プラン比較表 .compare-table（参考 .tbl の thead版。SWELLは本文セル全てtd・1列目=td:first-child） --- */
.compare-table { display: block; overflow-x: auto; }                /* スマホは横スクロール */
.compare-table table { width: 100%; min-width: 640px; border-collapse: collapse; border: 2px solid var(--ink) !important; font-size: 14px; }
.compare-table th, .compare-table td {
	padding: 16px 18px !important; text-align: left; vertical-align: top;
	border-bottom: 1px solid var(--line) !important; border-right: 1px solid var(--line) !important;
}
.compare-table th:last-child, .compare-table td:last-child { border-right: none !important; }
.compare-table tbody tr:last-child td { border-bottom: none !important; }
.compare-table thead th {                                            /* ヘッダー行：黒地・白文字 */
	background: var(--ink) !important; color: var(--white) !important;
	font-family: var(--head-jp) !important; font-weight: 700 !important;
	font-size: 13px !important; letter-spacing: .08em !important;
	border-right-color: rgba(255,255,255,.18) !important;
}
.compare-table thead th:last-child { border-right: none !important; }
.compare-table tbody td:first-child {                                /* 1列目（項目名）：生成り・太字・幅28% */
	background: var(--paper) !important; color: var(--ink) !important;
	font-family: var(--head-jp) !important; font-weight: 700 !important;
	width: 28%; white-space: nowrap;
}

/* --- D. 05 名義スキーム：カード2枚のグリッドをスマホで1列に --- */
@media (max-width: 782px) {
	.scheme-grid { grid-template-columns: 1fr !important; padding: 20px !important; gap: 20px !important; }
}


/* #################################################################
   修正パッチ 46（全ページ共通：フルワイドCTA直前ブロックの下余白2emを除去＝CTA上の白帯を解消）
   ################################################################# */
.post_content > *:has(+ .cta-strip) { margin-bottom: 0 !important; }

/* #################################################################
   修正パッチ 47（ご利用の流れ /flow/ = page-id-518）
   サブページ共通処理（タイトル消去・パンくず密着・本文幅・CTA下密着）＋ 再利用ボックス .callout
   ################################################################# */
.page-id-518 .c-pageTitle { display: none !important; }
.page-id-518 .l-content { padding-top: 0 !important; margin-bottom: 0 !important; }
.page-id-518 .post_content { margin-top: 0 !important; margin-bottom: 0 !important; }
.page-id-518 .l-mainContent__inner { padding-bottom: 0 !important; }
.page-id-518 .l-article { max-width: var(--container_size, 1120px); }

/* 補足ボックス（生成り地・左に黄太線）。07の「💡急ぎの方へ」やFAQ等で使い回し */
.callout { background: var(--cream); border-left: 4px solid var(--yellow-dark); padding: 24px; font-size: 14px; line-height: 1.9; }
.callout strong { font-family: var(--head-jp); }

/* #################################################################
   修正パッチ 48（CTA上の隙間を確実に解消）
   CTA直前ブロックの下余白(padding+margin)を除去。入れ子・クラス問わず効く。
   ※パッチ46は 05 が bg-paper 帯にネストしていたため不一致だった
   ################################################################# */
*:has(+ .cta-strip) { padding-bottom: 0 !important; margin-bottom: 0 !important; }

/* #################################################################
   修正パッチ 49（ご利用の流れ /flow/ = page-id-518 のFAQ誘導セクション）
   ① CTA直前でも下に余白を残す（パッチ48の padding-bottom:0 をこのセクションだけ上書き）
   ② 単独ボタンを中央寄せ
   ################################################################# */
.page-id-518 .sec-pad:has(+ .cta-strip) { padding-bottom: clamp(56px, 8vw, 96px) !important; }
.page-id-518 .sec-pad:has(+ .cta-strip) .swell-block-button { text-align: center !important; }


/* #################################################################
   修正パッチ 50（車両 /fleet/ = page-id-538）
   A:サブページ共通処理  B:車両カード一覧（参考fleet準拠）＋画像/CTA/バッジ
   ################################################################# */

/* A. サブページ共通 */
.page-id-538 .c-pageTitle { display: none !important; }
.page-id-538 .l-content { padding-top: 0 !important; margin-bottom: 0 !important; }
.page-id-538 .post_content { margin-top: 0 !important; margin-bottom: 0 !important; }
.page-id-538 .l-mainContent__inner { padding-bottom: 0 !important; }
.page-id-538 .l-article { max-width: var(--container_size, 1120px); }

/* B. 車両カード */
.fleet-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 32px; }
.fleet-filters button { background: var(--white); border: var(--bd); padding: 10px 16px; font-family: var(--head-jp); font-size: 13px; font-weight: 500; letter-spacing: .08em; cursor: pointer; transition: background .15s ease, color .15s ease; }
.fleet-filters button.active, .fleet-filters button:hover { background: var(--ink); color: var(--white); }

.fleet-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 960px) { .fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .fleet-grid { grid-template-columns: 1fr; } }

.fleet-card { border: var(--bd-thick); background: var(--white); display: flex; flex-direction: column; transition: transform .2s ease; }
.fleet-card:hover { transform: translateY(-4px); }
.fleet-card__img { aspect-ratio: 4/3; background: var(--paper); border-bottom: var(--bd-thick); position: relative; overflow: hidden; display: grid; place-items: center; }
.fleet-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fleet-card__img::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 24px 24px; opacity: .5; }
.fleet-card__img-mark { position: relative; width: 70%; height: 50%; background: var(--ink); border-radius: 8px 8px 4px 4px; }
.fleet-card__img-mark::before { content: ""; position: absolute; bottom: -10%; left: 8%; right: 8%; height: 18%; background: var(--paper); border: var(--bd-thick); border-radius: 2px; }
.fleet-card__img-mark::after { content: ""; position: absolute; bottom: -32%; left: 14%; width: 18%; height: 18%; background: var(--ink-soft); border: 3px solid var(--paper); border-radius: 50%; }
.fleet-card__img-mark .wheel-r { position: absolute; bottom: -32%; right: 14%; width: 18%; height: 18%; background: var(--ink-soft); border: 3px solid var(--paper); border-radius: 50%; }
.fleet-card__plate { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); background: var(--ink); color: var(--yellow); font-family: var(--display); font-size: 11px; padding: 4px 10px; letter-spacing: .15em; border-radius: 3px; border: 1px solid var(--yellow); z-index: 2; }
.fleet-card__cold { position: absolute; top: 12px; left: 12px; background: #2b6cb0; color: #fff; font-family: var(--mono); font-size: 11px; letter-spacing: .1em; padding: 4px 8px; border-radius: 3px; z-index: 2; }
.fleet-card__avail { position: absolute; top: 12px; right: 12px; font-family: var(--head-jp); font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 3px; z-index: 2; }
.fleet-card__avail.is-ok  { background: #e7f4ea; color: #1f7a3d; border: 1px solid #1f7a3d; }
.fleet-card__avail.is-out { background: rgba(0,0,0,.06); color: var(--grey); border: 1px solid var(--line); }
.fleet-card__avail.is-ask { background: var(--cream); color: var(--yellow-dark); border: 1px solid var(--yellow-dark); }
.fleet-card__body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.fleet-card__cat { font-family: var(--mono); font-size: 10px; letter-spacing: .2em; color: var(--yellow-dark); margin-bottom: 6px; }
.fleet-card__name { font-family: var(--head-jp); font-weight: 900; font-size: 20px; margin: 0 0 12px; color: var(--ink) !important; background: none !important; border: none !important; padding: 0 !important; }
.fleet-card__name::before, .fleet-card__name::after { content: none !important; display: none !important; }
.fleet-card__specs { list-style: none !important; padding: 0 !important; margin: 0 0 20px !important; font-size: 12px; font-family: var(--mono); color: var(--grey); }
.fleet-card__specs li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: var(--bd-line); }
.fleet-card__specs li:last-child { border-bottom: none; }
.fleet-card__specs strong { color: var(--ink); font-weight: 500; text-align: right; }
.fleet-card__price { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 16px; }
.fleet-card__price-num { font-family: var(--mono); font-size: 22px; font-weight: 500; }
.fleet-card__price-unit { font-family: var(--mono); font-size: 11px; color: var(--grey); }
.fleet-card__cta { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 18px; border: var(--bd-thick); background: var(--white); color: var(--ink); font-family: var(--head-jp); font-weight: 700; font-size: 13px; letter-spacing: .05em; text-decoration: none; transition: background .18s ease, color .18s ease; }
.fleet-card__cta:hover { background: var(--ink); color: var(--white); }

/* #################################################################
   修正パッチ 51
   A: fleet カード内の余白を詰める（SWELLのh3/p/ulマージンを打ち消し）
   B: FAQ /faq/ = page-id-544 サブページ共通処理
   C: FAQ アコーディオン（参考faq準拠・<details>でJS不要）
   ################################################################# */

/* A. fleet カードの詰め */
.fleet-card__cat   { margin: 0 0 6px  !important; }
.fleet-card__name  { margin: 0 0 12px !important; }
.fleet-card__specs { margin: 0 0 20px !important; }
.fleet-card__price { margin: 0 0 16px !important; }

/* B. FAQ サブページ共通 */
.page-id-544 .c-pageTitle { display: none !important; }
.page-id-544 .l-content { padding-top: 0 !important; margin-bottom: 0 !important; }
.page-id-544 .post_content { margin-top: 0 !important; margin-bottom: 0 !important; }
.page-id-544 .l-mainContent__inner { padding-bottom: 0 !important; }
.page-id-544 .l-article { max-width: var(--container_size, 1120px); }

/* C. FAQ アコーディオン */
.faq-cat { margin-bottom: 56px; }
.faq-cat__head { display: flex; align-items: baseline; gap: 16px; border-bottom: var(--bd); padding-bottom: 12px; margin-bottom: 24px; }
.faq-cat__num { font-family: var(--display); font-size: 32px; color: var(--yellow-dark); line-height: 1; }
.faq-cat__title { font-family: var(--head-jp); font-weight: 900; font-size: 20px; margin: 0 !important; color: var(--ink) !important; background: none !important; border: none !important; padding: 0 !important; }
.faq-cat__title::before, .faq-cat__title::after { content: none !important; }
.faq-cat__en { margin-left: auto; font-family: var(--mono); font-size: 11px; letter-spacing: .2em; color: var(--grey); }
.faq-item { border-bottom: var(--bd-line); }
.faq-item summary { display: grid; grid-template-columns: 32px 1fr 32px; gap: 16px; padding: 20px 0; cursor: pointer; list-style: none; align-items: start; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item__q-mark { font-family: var(--display); font-size: 22px; color: var(--yellow-dark); line-height: 1; }
.faq-item__q { font-family: var(--head-jp); font-weight: 700; font-size: 15px; line-height: 1.6; }
.faq-item__toggle { width: 24px; height: 24px; border: var(--bd); display: grid; place-items: center; position: relative; margin-top: 2px; }
.faq-item__toggle::before, .faq-item__toggle::after { content: ""; position: absolute; background: var(--ink); }
.faq-item__toggle::before { width: 12px; height: 1px; }
.faq-item__toggle::after { width: 1px; height: 12px; transition: transform .2s ease; }
.faq-item[open] .faq-item__toggle::after { transform: scaleY(0); }   /* 開くと ＋ → － */
.faq-item__a { padding: 0 0 24px 48px; font-size: 14px; line-height: 1.9; color: var(--ink-soft); }
.faq-item__a a { color: var(--yellow-dark); border-bottom: 1px solid currentColor; }

/* #################################################################
   修正パッチ 52（FAQ末尾の問い合わせ誘導ボックス .faq-more）
   ################################################################# */
.faq-more { background: var(--ink); border: 2px solid var(--yellow); padding: clamp(28px, 5vw, 48px); margin-top: 8px; }
.faq-more__title { font-family: var(--head-jp); font-weight: 900; font-size: clamp(20px, 3vw, 26px); line-height: 1.4; color: var(--white) !important; background: none !important; border: none !important; padding: 0 !important; margin: 0 0 12px !important; }
.faq-more__title::before, .faq-more__title::after { content: none !important; }
.faq-more__title em { font-style: normal; color: var(--yellow); }
.faq-more__sub { color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.9; margin: 0 0 24px; }
.faq-more__btn { display: inline-flex; align-items: center; gap: 8px; background: var(--yellow); color: var(--ink); padding: 16px 26px; font-family: var(--head-jp); font-weight: 700; font-size: 14px; letter-spacing: .05em; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.faq-more__btn:hover { background: var(--yellow-dark); transform: translateY(-2px); }

/* #################################################################
   修正パッチ 53（会社情報 /about/ = page-id-602）
   A:サブページ共通  B:事業内容カード  C:代表者  D:地図枠
   ################################################################# */
.page-id-602 .c-pageTitle { display: none !important; }
.page-id-602 .l-content { padding-top: 0 !important; margin-bottom: 0 !important; }
.page-id-602 .post_content { margin-top: 0 !important; margin-bottom: 0 !important; }
.page-id-602 .l-mainContent__inner { padding-bottom: 0 !important; }
.page-id-602 .l-article { max-width: var(--container_size, 1120px); }

/* B. 事業内容カード（1枚＝1グループ） */
.biz-card { border: var(--bd-thick); background: var(--white); padding: 28px; height: 100%; }
.biz-card__label { font-family: var(--mono); font-size: 11px; letter-spacing: .2em; color: var(--yellow-dark); margin: 0 0 10px; }
.biz-card__title { font-family: var(--head-jp); font-weight: 900; font-size: 18px; margin: 0 0 10px !important; color: var(--ink) !important; background: none !important; border: none !important; padding: 0 !important; }
.biz-card__title::before, .biz-card__title::after { content: none !important; }
.biz-card__desc { font-size: 14px; line-height: 1.8; color: var(--ink-soft); margin: 0; }

/* C. 代表者あいさつ */
.company-bio__name { font-family: var(--head-jp); font-weight: 900; font-size: 20px; margin: 0 0 4px !important; color: var(--ink) !important; background: none !important; border: none !important; padding: 0 !important; }
.company-bio__name::before, .company-bio__name::after { content: none !important; }
.company-bio__role { font-family: var(--mono); font-size: 11px; letter-spacing: .18em; color: var(--grey); margin: 0 0 20px; }
.company-bio__text { font-size: 15px; line-height: 1.9; color: var(--ink-soft); }

/* D. 地図（16:9・太枠） */
.about-map { position: relative; width: 100%; aspect-ratio: 16/9; border: var(--bd-thick); overflow: hidden; }
.about-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* #################################################################
   修正パッチ 54（ブログ一覧 /blog/）クエリループをカード化
   ※クエリループ本体に 追加CSSクラス「sgnr-blog」を付ける前提
   ################################################################# */
/* グリッド */
.sgnr-blog .wp-block-post-template { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 32px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
@media (max-width: 768px){ .sgnr-blog .wp-block-post-template { grid-template-columns: 1fr; } }

/* カード */
.sgnr-blog .wp-block-post { display: flex; flex-direction: column; background: var(--white); border: var(--bd); margin: 0 !important; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.sgnr-blog .wp-block-post:hover { transform: translateY(-3px); box-shadow: 6px 6px 0 var(--ink); }

/* アイキャッチ（フルブリード） */
.sgnr-blog .wp-block-post-featured-image { margin: 0 !important; aspect-ratio: 16/10; background: var(--ink); overflow: hidden; border-bottom: var(--bd); }
.sgnr-blog .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 本文側 */
.sgnr-blog .post-card__body { padding: 22px; }
.sgnr-blog .post-card__meta { display: flex; gap: 12px; align-items: center; margin-bottom: 10px; }
.sgnr-blog .post-card__meta .wp-block-post-date,
.sgnr-blog .post-card__meta .wp-block-post-terms { margin: 0 !important; font-family: var(--mono); font-size: 11px; letter-spacing: .1em; }
.sgnr-blog .post-card__meta .wp-block-post-date { color: var(--grey); }
.sgnr-blog .post-card__meta .wp-block-post-terms { color: var(--yellow-dark); }
.sgnr-blog .post-card__meta .wp-block-post-terms a { color: inherit !important; text-decoration: none; }
.sgnr-blog .wp-block-post-title { font-family: var(--head-jp) !important; font-weight: 700 !important; font-size: 18px !important; line-height: 1.5 !important; margin: 0 0 10px !important; color: var(--ink) !important; background: none !important; border: none !important; padding: 0 !important; }
.sgnr-blog .wp-block-post-title::before, .sgnr-blog .wp-block-post-title::after { content: none !important; }
.sgnr-blog .wp-block-post-title a { color: inherit !important; text-decoration: none; }
.sgnr-blog .wp-block-post-title a:hover { color: var(--yellow-dark) !important; }
.sgnr-blog .wp-block-post-excerpt { margin: 0 !important; }
.sgnr-blog .wp-block-post-excerpt p { font-size: 13px; line-height: 1.7; color: var(--ink-soft); margin: 0 !important; }
.sgnr-blog .wp-block-post-excerpt__more-text { display: none !important; }

/* ページネーション */
.sgnr-blog .wp-block-query-pagination { margin-top: 40px !important; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.sgnr-blog .wp-block-query-pagination a,
.sgnr-blog .wp-block-query-pagination .wp-block-query-pagination-numbers .current { font-family: var(--mono); font-size: 13px; padding: 8px 14px; border: var(--bd); color: var(--ink) !important; text-decoration: none; }
.sgnr-blog .wp-block-query-pagination .current { background: var(--ink); color: var(--white) !important; }

/* #################################################################
   修正パッチ 55（ブログ /blog/ = page-id-549）
   前提：投稿リストの追加CSSクラスを sgnr-blog に修正（全角句点を削除）
   ################################################################# */

/* A. ページタイトル非表示・余白詰め */
.page-id-549 .c-pageTitle { display: none !important; }
.page-id-549 .l-content { padding-top: 0 !important; margin-bottom: 0 !important; }
.page-id-549 .post_content { margin-top: 0 !important; margin-bottom: 0 !important; }
.page-id-549 .l-mainContent__inner { padding-bottom: 0 !important; }


/* B. SWELL投稿リスト → スグノルのカードに上書き */
.sgnr-blog .p-postList.-type-card { gap: 32px !important; }
.sgnr-blog .p-postList__item { margin: 0 !important; }
.sgnr-blog .p-postList__link { display: flex; flex-direction: column; height: 100%; background: var(--white); border: var(--bd); transition: transform .2s ease, box-shadow .2s ease; }
.sgnr-blog .p-postList__link:hover { transform: translateY(-3px); box-shadow: 6px 6px 0 var(--ink); }

/* サムネ＋カテゴリバッジ */
.sgnr-blog .p-postList__thumb { aspect-ratio: 16/10; border-bottom: var(--bd); border-radius: 0 !important; overflow: hidden; }
.sgnr-blog .c-postThumb__img { width: 100%; height: 100%; object-fit: cover; }
.sgnr-blog .c-postThumb__cat { inset: 12px auto auto 12px !important; background: var(--yellow) !important; color: var(--ink) !important; font-family: var(--head-jp) !important; font-weight: 700 !important; font-size: 11px !important; letter-spacing: .04em; padding: 4px 10px !important; border-radius: 0 !important; }
.sgnr-blog .c-postThumb__cat::before { display: none !important; } /* フォルダアイコン非表示 */

/* 本文 */
.sgnr-blog .p-postList__body { padding: 22px !important; }
.sgnr-blog .p-postList__title { font-family: var(--head-jp) !important; font-weight: 700 !important; font-size: 18px !important; line-height: 1.5 !important; color: var(--ink) !important; margin: 0 0 10px !important; background: none !important; border: none !important; padding: 0 !important; }
.sgnr-blog .p-postList__title::before, .sgnr-blog .p-postList__title::after { content: none !important; }
.sgnr-blog .p-postList__meta { margin: 0 !important; }
.sgnr-blog .p-postList__times, .sgnr-blog .c-postTimes__posted { font-family: var(--mono) !important; font-size: 11px !important; letter-spacing: .1em; color: var(--grey) !important; }

/* #################################################################
   修正パッチ 58（ブログ /blog/ を参考サイトに1:1で寄せる）
   ※投稿リストは [sgnr_blog] ショートコードで出力。patch 55〜57の
     SWELL投稿リスト／旧サイドバー向けは空振りになるが残してOK
   ################################################################# */
.sgnr-blogwrap .blog-layout { display: grid; grid-template-columns: 1fr 280px; gap: 56px; max-width: var(--container_size, 1200px); margin: 0 auto; }
.sgnr-blogwrap .blog-tabs { display: flex; gap: 4px; border-bottom: var(--bd); margin-bottom: 32px; flex-wrap: wrap; }
.sgnr-blogwrap .blog-tabs button { background: none; border: none; padding: 12px 16px; font-family: var(--head-jp); font-weight: 500; font-size: 13px; letter-spacing: .06em; color: var(--grey); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .15s ease; }
.sgnr-blogwrap .blog-tabs button.active, .sgnr-blogwrap .blog-tabs button:hover { color: var(--ink); border-bottom-color: var(--yellow); }

.sgnr-blogwrap .blog-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.sgnr-blogwrap .post-card { display: flex; flex-direction: column; background: var(--white); border: var(--bd); text-decoration: none; color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.sgnr-blogwrap .post-card:hover { transform: translateY(-3px); box-shadow: 6px 6px 0 var(--ink); }
.sgnr-blogwrap .post-card__thumb { position: relative; aspect-ratio: 16/10; background: var(--ink); color: var(--yellow); display: grid; place-items: center; overflow: hidden; border-bottom: var(--bd); }
.sgnr-blogwrap .post-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sgnr-blogwrap .post-card__thumb-tag { position: absolute; top: 14px; left: 14px; z-index: 2; background: var(--yellow); color: var(--ink); font-family: var(--head-jp); font-weight: 700; font-size: 11px; letter-spacing: .04em; padding: 4px 10px; }
.sgnr-blogwrap .post-card__thumb-num { font-family: var(--display); font-size: 88px; line-height: 1; letter-spacing: .04em; }
.sgnr-blogwrap .post-card__thumb-en { position: absolute; bottom: 14px; right: 14px; font-family: var(--mono); font-size: 10px; letter-spacing: .2em; color: rgba(232,169,26,.6); }
.sgnr-blogwrap .post-card__body { padding: 22px; }
.sgnr-blogwrap .post-card__meta { display: flex; gap: 12px; font-family: var(--mono); font-size: 11px; color: var(--grey); letter-spacing: .1em; margin-bottom: 10px; }
.sgnr-blogwrap .post-card__title { font-family: var(--head-jp); font-weight: 700; font-size: 18px; line-height: 1.5; margin: 0 0 10px; color: var(--ink); }
.sgnr-blogwrap .post-card__excerpt { font-size: 13px; line-height: 1.7; color: var(--ink-soft); margin: 0; }

/* サイドバー */
.sgnr-blogwrap .blog-sidebar > div { border: var(--bd); padding: 24px; margin-bottom: 24px; background: var(--white); }
.sgnr-blogwrap .blog-sidebar > div:last-child { margin-bottom: 0; }
.sgnr-blogwrap .blog-sidebar h4 { display: flex; align-items: baseline; font-family: var(--head-jp); font-size: 14px; letter-spacing: .06em; color: var(--ink); margin: 0 0 16px; padding: 0 0 12px; border-bottom: var(--bd-line); }
.sgnr-blogwrap .blog-sidebar h4 .en { margin-left: auto; font-family: var(--display); font-size: 11px; letter-spacing: .2em; color: var(--grey); font-weight: 400; }
.sgnr-blogwrap .cat-list, .sgnr-blogwrap .popular-list { list-style: none; margin: 0; padding: 0; }
.sgnr-blogwrap .cat-list li { display: flex; justify-content: space-between; align-items: center; border-bottom: var(--bd-line); }
.sgnr-blogwrap .cat-list li:last-child { border-bottom: none; }
.sgnr-blogwrap .cat-list a { font-family: var(--head-jp); font-size: 13px; color: var(--ink-soft); padding: 10px 0; text-decoration: none; }
.sgnr-blogwrap .cat-list a:hover { color: var(--yellow-dark); }
.sgnr-blogwrap .cat-list .count { font-family: var(--mono); font-size: 11px; color: var(--grey); }
.sgnr-blogwrap .popular-list li { display: grid; grid-template-columns: auto 1fr; gap: 10px; padding: 10px 0; border-bottom: var(--bd-line); }
.sgnr-blogwrap .popular-list li:last-child { border-bottom: none; }
.sgnr-blogwrap .popular-list__num { font-family: var(--display); font-size: 14px; color: var(--yellow-dark); }
.sgnr-blogwrap .popular-list a { font-family: var(--head-jp); font-size: 13px; line-height: 1.5; color: var(--ink-soft); text-decoration: none; }
.sgnr-blogwrap .popular-list a:hover { color: var(--yellow-dark); }
.sgnr-blogwrap .tags { display: flex; flex-wrap: wrap; gap: 8px; }
.sgnr-blogwrap .tags .tag { font-family: var(--mono); font-size: 11px; color: var(--ink-soft); border: var(--bd-line); padding: 5px 10px; text-decoration: none; transition: all .15s ease; }
.sgnr-blogwrap .tags .tag:hover { border-color: var(--ink); color: var(--ink); }

@media (max-width: 900px){ .sgnr-blogwrap .blog-layout { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 600px){ .sgnr-blogwrap .blog-grid { grid-template-columns: 1fr; } }

/* #################################################################
   修正パッチ 59（ブログ /blog/ をもっと広く・ゆったりに）
   ################################################################# */

/* 全体：本文カラムとサイドバーの間隔を広げる */
.sgnr-blogwrap .blog-layout { gap: 72px !important; }

/* カード同士の間隔を広げる */
.sgnr-blogwrap .blog-grid { gap: 44px !important; }

/* カード内側をゆったり */
.sgnr-blogwrap .post-card__body { padding: 28px !important; }
.sgnr-blogwrap .post-card__meta { margin-bottom: 14px !important; }
.sgnr-blogwrap .post-card__title { font-size: 19px !important; line-height: 1.6 !important; margin: 0 0 14px !important; }
.sgnr-blogwrap .post-card__excerpt { line-height: 1.9 !important; }

/* タブと一覧の間隔 */
.sgnr-blogwrap .blog-tabs { margin-bottom: 44px !important; padding-bottom: 4px; }

/* ---- サイドバー：文字詰まりの解消 ---- */
/* ボックス内側を広く */
.sgnr-blogwrap .blog-sidebar > div { padding: 28px !important; margin-bottom: 28px !important; }

/* 見出しと中身の間隔 */
.sgnr-blogwrap .blog-sidebar h4 { margin: 0 0 20px !important; padding-bottom: 14px !important; }

/* カテゴリ：行間を広げる */
.sgnr-blogwrap .cat-list a { padding: 13px 0 !important; }

/* 人気記事：番号と本文の余白・行間 */
.sgnr-blogwrap .popular-list li { gap: 14px !important; padding: 14px 0 !important; }
.sgnr-blogwrap .popular-list__num { font-size: 16px !important; }
.sgnr-blogwrap .popular-list a { line-height: 1.7 !important; }

/* タグ：ピルの間隔と余白 */
.sgnr-blogwrap .tags { gap: 10px !important; }
.sgnr-blogwrap .tags .tag { padding: 7px 12px !important; }

/* #############################################################
   修正パッチ 60（ブログ /blog/ 幅を広げて参考のゆったり感に）
   ############################################################# */
/* ① 主因の修正：本文カラムをコンテナ幅まで広げる（他ページと同じ指定） */
.page-id-549 .l-article { max-width: var(--container_size, 1120px); }

/* ② patch59で広げ過ぎた間隔を参考値へ戻す（カード幅を確保するため） */
.sgnr-blogwrap .blog-layout { gap: 56px !important; }
.sgnr-blogwrap .blog-grid { gap: 32px !important; }

/* ③ カード内を参考の比率に。タイトルは2行・抜粋は3行で固定 */
.sgnr-blogwrap .post-card__body { padding: 24px !important; }
.sgnr-blogwrap .post-card__meta { margin-bottom: 12px !important; }
.sgnr-blogwrap .post-card__title { font-size: 18px !important; line-height: 1.55 !important; margin: 0 0 12px !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sgnr-blogwrap .post-card__excerpt { line-height: 1.8 !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* #############################################################
   修正パッチ 61（ブログ サイドバー：見出しの下線を削除）
   ############################################################# */
.sgnr-blogwrap .blog-sidebar h4 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 18px !important;
}
.sgnr-blogwrap .blog-sidebar h4::before,
.sgnr-blogwrap .blog-sidebar h4::after {
  border: none !important;
}

/* #############################################################
   修正パッチ 62（ブログ サイドバー：見出し左の縦線を削除）
   ############################################################# */
.sgnr-blogwrap .blog-sidebar h4 {
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  padding-left: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
.sgnr-blogwrap .blog-sidebar h4::before {
  display: none !important;
  content: none !important;
}

/* #################################################################
   修正パッチ 63（車両一覧 /fleet/ ページ送りボタン）
   ################################################################# */
.sgnr-fleet .fleet-pager { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 44px; }
.sgnr-fleet .fleet-pager__btn { min-width: 44px; height: 44px; padding: 0 12px; background: var(--white); border: var(--bd); font-family: var(--mono); font-size: 14px; color: var(--ink); cursor: pointer; transition: background .15s ease, color .15s ease; }
.sgnr-fleet .fleet-pager__btn.active { background: var(--ink); color: var(--white); }
.sgnr-fleet .fleet-pager__btn:hover:not(:disabled):not(.active) { background: var(--paper); }
.sgnr-fleet .fleet-pager__btn:disabled { opacity: .35; cursor: default; }

/* #################################################################
   修正パッチ 65（トップ 06：ブログカード）
   ################################################################# */
.sgnr-blogcards .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 900px){ .sgnr-blogcards .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .sgnr-blogcards .blog-grid { grid-template-columns: 1fr; } }

.sgnr-blogcards .post-card { display: flex; flex-direction: column; background: var(--white); border: var(--bd); text-decoration: none; color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.sgnr-blogcards .post-card:hover { transform: translateY(-3px); box-shadow: 6px 6px 0 var(--ink); }
.sgnr-blogcards .post-card__thumb { position: relative; aspect-ratio: 16/10; background: var(--ink); color: var(--yellow); display: grid; place-items: center; overflow: hidden; border-bottom: var(--bd); }
.sgnr-blogcards .post-card__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sgnr-blogcards .post-card__thumb-tag { position: absolute; top: 14px; left: 14px; z-index: 2; background: var(--yellow); color: var(--ink); font-family: var(--head-jp); font-weight: 700; font-size: 11px; letter-spacing: .04em; padding: 4px 10px; }
.sgnr-blogcards .post-card__thumb-num { font-family: var(--display); font-size: 88px; line-height: 1; }
.sgnr-blogcards .post-card__thumb-en { position: absolute; bottom: 14px; right: 14px; font-family: var(--mono); font-size: 10px; letter-spacing: .2em; color: rgba(232,169,26,.6); }
.sgnr-blogcards .post-card__body { padding: 24px; }
.sgnr-blogcards .post-card__meta { display: flex; gap: 12px; font-family: var(--mono); font-size: 11px; color: var(--grey); letter-spacing: .1em; margin-bottom: 12px; }
.sgnr-blogcards .post-card__title { font-family: var(--head-jp); font-weight: 700; font-size: 18px; line-height: 1.55; margin: 0 0 12px; color: var(--ink) !important; background: none !important; border: none !important; padding: 0 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sgnr-blogcards .post-card__title::before, .sgnr-blogcards .post-card__title::after { content: none !important; }
.sgnr-blogcards .post-card__excerpt { font-size: 13px; line-height: 1.8; color: var(--ink-soft); margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sgnr-blogcards__more { text-align: center; margin-top: 36px; }

/* #################################################################
   修正パッチ 66（<a>自体に付けた .sgnr-btn をボタン化）
   ※ショートコード出力の <a class="sgnr-btn ..."> 用
   ################################################################# */
a.sgnr-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 28px; border: var(--bd-thick); background: var(--white); color: var(--ink);
  font-family: var(--head-jp); font-weight: 700; font-size: 14px; letter-spacing: .05em;
  text-decoration: none; transition: background .18s ease, color .18s ease; cursor: pointer;
}
a.sgnr-btn:hover { background: var(--ink); color: var(--white); }

/* 黄色（primary） */
a.sgnr-btn.sgnr-primary { background: var(--yellow); border-color: var(--yellow); color: var(--ink); }
a.sgnr-btn.sgnr-primary:hover { background: var(--yellow-dark); border-color: var(--yellow-dark); color: var(--ink); }

/* 白枠（ghost）＝既定と同じだが明示 */
a.sgnr-btn.sgnr-ghost { background: var(--white); color: var(--ink); }
a.sgnr-btn.sgnr-ghost:hover { background: var(--ink); color: var(--white); }

/* 大きめ（lg） */
a.sgnr-btn.sgnr-lg { padding: 16px 36px; font-size: 15px; }

/* #################################################################
   修正パッチ 67（トップ05：車両「すべて見る」ボタンを中央下へ）
   ################################################################# */
.sgnr-veh-home { display: block; }
.sgnr-veh-home__more {
  display: block;
  grid-column: 1 / -1;   /* 万一グリッド内に入っても全幅で中央に */
  text-align: center;
  margin-top: 36px;
}

/* #################################################################
   修正パッチ 68（セクション背景色・全幅帯）
   グループの追加CSSクラスに bg-paper / bg-ink を付けて使う
   ################################################################# */
.bg-paper { background: var(--paper); }
.bg-ink { background: var(--ink); }
.bg-ink, .bg-ink :is(h1,h2,h3,p,span,li) { color: var(--white); }

/* 背景色付きセクションを画面端まで伸ばしたい場合に付ける（任意） */
.sec-bleed { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-left: max(24px, calc(50vw - var(--container_size,1120px)/2)); padding-right: max(24px, calc(50vw - var(--container_size,1120px)/2)); }

/* #################################################################
   修正パッチ 69（ブログ /blog/ 下部の余白を復活）
   ################################################################# */
.page-id-549 .l-mainContent__inner { padding-bottom: 80px !important; }

/* #################################################################
   修正パッチ 70（単一記事ページ single を全記事まとめて統一）
   .single 起点なので、今後追加する記事にも自動で適用される
   ################################################################# */

/* 読みやすい記事幅に */
.single .l-mainContent.l-article { max-width: 820px; margin-left: auto; margin-right: auto; }

/* 記事タイトル帯 */
.single .p-articleHead.c-postTitle { border-bottom: var(--bd-thick); padding-bottom: 22px; margin-bottom: 40px; }
.single .c-postTitle__ttl { font-family: var(--head-jp) !important; font-weight: 900 !important; font-size: clamp(24px, 4.2vw, 34px) !important; line-height: 1.45 !important; color: var(--ink) !important; letter-spacing: .01em; background: none !important; }
.single .c-postTitle__date, .single .c-postTitle .c-postTimes, .single .c-postTitle time { font-family: var(--mono) !important; font-size: 12px !important; color: var(--grey) !important; letter-spacing: .08em; }
.single .c-postThumb { border: var(--bd); }

/* 本文タイポグラフィ */
.single .post_content { font-family: var(--body); font-size: 16px; line-height: 1.9; color: var(--ink-soft); }
.single .post_content > * { margin-bottom: 1.5em !important; }
.single .post_content strong { font-weight: 700; color: var(--ink); }
.single .post_content a:not(.sgnr-btn) { color: var(--yellow-dark); text-decoration: underline; text-underline-offset: 2px; }
.single .post_content a:not(.sgnr-btn):hover { color: var(--ink); }

/* 見出し（SWELLの帯を打ち消してサイトのテイストに） */
.single .post_content h2 { font-family: var(--head-jp) !important; font-weight: 900 !important; font-size: 22px !important; line-height: 1.5 !important; color: var(--ink) !important; background: none !important; border: none !important; border-left: 5px solid var(--yellow) !important; padding: 2px 0 2px 16px !important; margin: 2.6em 0 1em !important; }
.single .post_content h2::before, .single .post_content h2::after { content: none !important; display: none !important; }
.single .post_content h3 { font-family: var(--head-jp) !important; font-weight: 700 !important; font-size: 18px !important; line-height: 1.6 !important; color: var(--ink) !important; background: none !important; border: none !important; border-bottom: var(--bd-line) !important; padding: 0 0 8px !important; margin: 2.2em 0 .8em !important; }
.single .post_content h3::before, .single .post_content h3::after { content: none !important; display: none !important; }

/* リスト */
.single .post_content ul, .single .post_content ol { padding-left: 1.3em; margin-bottom: 1.5em; }
.single .post_content li { margin-bottom: .5em; line-height: 1.8; }
.single .post_content ul { padding-left: 0; }
.single .post_content ul > li { list-style: none; position: relative; padding-left: 1.3em; }
.single .post_content ul > li::before { content: ""; position: absolute; left: 0; top: .65em; width: 7px; height: 7px; background: var(--yellow); }

/* 表（サイトの表デザインに統一） */
.single .post_content table { width: 100%; border-collapse: collapse; border: var(--bd); font-size: 14px; margin-bottom: 1.5em; }
.single .post_content th, .single .post_content td { border: var(--bd-line); padding: 12px 14px; text-align: left; vertical-align: top; }
.single .post_content thead th { background: var(--ink); color: var(--white); font-family: var(--head-jp); font-weight: 700; }
.single .post_content tbody th { background: var(--paper); color: var(--ink); font-weight: 700; }

/* 引用 */
.single .post_content blockquote { border-left: 4px solid var(--line); padding: 4px 0 4px 20px; color: var(--grey); margin: 1.5em 0; }