@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.1
    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
*/

/* 固定ページ h2 マージンリセット（Extension の data-hdg-id 付きは除外） */
.page .post_content h2:not([data-hdg-id]),
.page .post_content h3:not([data-hdg-id]) {
	margin: 0;
}

/* SWELL の section_ttl ::after/::before リセットを解除（カスタムCSS側で装飾を定義） */
.post_content .is-style-section_ttl::after {
	content: "";
	border: none;
}
.post_content .is-style-section_ttl::before {
	content: none;
}

[data-block-link] {
	cursor: pointer;
}

/* SWELL 標準の .has-border/.has-background box_padding を UB でリセット
   Extension が spacingPadding で個別管理するため */
.wp-block-flavor-universal-block.has-border,
.wp-block-flavor-universal-block.has-background {
	padding: 0;
}

/* ===== investalk: 投稿カード ===== */
/*
 * 投稿リスト(loos/post-list = .p-postList)のカードを investalk.jp デザインに寄せる。
 * front(カテゴリー別ブロック/人気記事) と category アーカイブ 両方に適用される。
 * カテゴリ色は .c-postThumb__cat[data-cat-id] の term_id で全context横断的に当てる。
 */

/* --- カードリンク本体: 縦積み --- */
.p-postList .p-postList__link {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: #fff;
}

/* サムネを最上段、タイトル/日付ブロック(featured の c-postTitle)はサムネの下へ */
.p-postList .p-postList__thumb {
	order: 1;
}
.p-postList .c-postTitle {
	order: 2;
}
.p-postList .p-postList__body {
	order: 3;
}

/* --- サムネ: ほぼ正方形 + radius12 --- */
.p-postList .p-postList__thumb.c-postThumb {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 12px;
	overflow: visible; /* バッジをサムネ下端の外に出すため */
	margin: 0;
	background: #f2eee8;
}
.p-postList .c-postThumb__figure {
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
}
.p-postList .c-postThumb__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --- カテゴリバッジ: サムネ下のメタ行へ移動して investalk ピル化 --- */
/* SWELL は .c-postThumb__cat を absolute でサムネ右上に overlay する。
   それを解除し、サムネ直下に左寄せのピルとして再配置する。 */
.p-postList .c-postThumb__cat {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: auto;
	margin: 0;
	padding: 4px 11px;
	border-radius: 128px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	background: #9e9e9e; /* fallback。data-cat-id で上書き */
	white-space: nowrap;
}
/* SWELL の folder アイコンを消す */
.p-postList .c-postThumb__cat.icon-folder::before {
	content: none;
}

/* サムネ下にバッジ行ぶんのスペースを確保（バッジは絶対配置のため） */
.p-postList .p-postList__link {
	padding-bottom: 0;
}
.p-postList .p-postList__thumb.c-postThumb {
	margin-bottom: 34px; /* バッジ(高さ約26px) + gap 分 */
}

/* --- タイトル --- */
.p-postList .p-postList__title,
.p-postList .c-postTitle__ttl {
	order: 2;
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	color: #363e39;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* --- 抜粋(出典/本文の代用)--- */
.p-postList .p-postList__excerpt {
	order: 3;
	margin: 0;
	font-size: 12px;
	line-height: 1.5;
	color: #8a8f8c;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* --- 日付 --- */
/* card 変種(.c-postTimes) と featured(.c-postTitle__date) の両方 */
.p-postList .p-postList__meta {
	order: 4;
	margin: 0;
}
.p-postList .c-postTimes,
.p-postList .c-postTitle__date {
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	color: #9e9e9e; /* fallback。data-cat-id で上書き */
}
.p-postList .c-postTimes__posted.icon-posted::before {
	content: none; /* 時計アイコンを消す */
}
/* featured の c-postTitle ラッパは縦積み・サムネ下 */
.p-postList .c-postTitle {
	display: flex;
	flex-direction: column-reverse; /* タイトル→日付 の順だが日付を下に */
	gap: 6px;
	margin: 0;
}

/* --- ホバー --- */
.p-postList .p-postList__link {
	transition: opacity 0.25s ease;
}
.p-postList .p-postList__link:hover {
	opacity: 0.82;
}

/* --- per-category 色: term_id で当てる(全context横断) --- */
/* バッジ背景 */
.p-postList .c-postThumb__cat[data-cat-id="2"] { background: #825f3e; } /* ir-paper */
.p-postList .c-postThumb__cat[data-cat-id="3"] { background: #1b849b; } /* corporate-basic-info */
.p-postList .c-postThumb__cat[data-cat-id="4"] { background: #1b9b6d; } /* invest-basis */
.p-postList .c-postThumb__cat[data-cat-id="5"] { background: #9e9e9e; } /* settlement-summary */
.p-postList .c-postThumb__cat[data-cat-id="6"] { background: #b5d5e5; } /* return */
.p-postList .c-postThumb__cat[data-cat-id="7"] { background: #9ddcbd; } /* strategy */
.p-postList .c-postThumb__cat[data-cat-id="8"] { background: #bfd2f1; } /* share-holder */
.p-postList .c-postThumb__cat[data-cat-id="9"] { background: #aedacd; } /* sustainability */

/* 日付の色は「そのカードのカテゴリ色」。バッジを持つ thumb の直後の body 内日付に当てる。
   :has() で thumb 内バッジの data-cat-id を見てカード全体へ伝播させる。 */
.p-postList__link:has(.c-postThumb__cat[data-cat-id="2"]) .c-postTimes,
.p-postList__link:has(.c-postThumb__cat[data-cat-id="2"]) .c-postTitle__date { color: #825f3e; }
.p-postList__link:has(.c-postThumb__cat[data-cat-id="3"]) .c-postTimes,
.p-postList__link:has(.c-postThumb__cat[data-cat-id="3"]) .c-postTitle__date { color: #1b849b; }
.p-postList__link:has(.c-postThumb__cat[data-cat-id="4"]) .c-postTimes,
.p-postList__link:has(.c-postThumb__cat[data-cat-id="4"]) .c-postTitle__date { color: #1b9b6d; }
.p-postList__link:has(.c-postThumb__cat[data-cat-id="5"]) .c-postTimes,
.p-postList__link:has(.c-postThumb__cat[data-cat-id="5"]) .c-postTitle__date { color: #9e9e9e; }
.p-postList__link:has(.c-postThumb__cat[data-cat-id="6"]) .c-postTimes,
.p-postList__link:has(.c-postThumb__cat[data-cat-id="6"]) .c-postTitle__date { color: #6fa8c4; } /* return: 淡水色は文字には濃いめ補正 */
.p-postList__link:has(.c-postThumb__cat[data-cat-id="7"]) .c-postTimes,
.p-postList__link:has(.c-postThumb__cat[data-cat-id="7"]) .c-postTitle__date { color: #4caa83; } /* strategy 補正 */
.p-postList__link:has(.c-postThumb__cat[data-cat-id="8"]) .c-postTimes,
.p-postList__link:has(.c-postThumb__cat[data-cat-id="8"]) .c-postTitle__date { color: #7d9bd6; } /* share-holder 補正 */
.p-postList__link:has(.c-postThumb__cat[data-cat-id="9"]) .c-postTimes,
.p-postList__link:has(.c-postThumb__cat[data-cat-id="9"]) .c-postTitle__date { color: #6cbfa6; } /* sustainability 補正 */
/* ===== /investalk: 投稿カード ===== */

/* ===== FVウォーターマークの折返し防止は【固定ページ個別CSSへ移行済み】（2026-06-15・B-3）=====
   旧CSS: .fv-watermark{white-space:nowrap} .fv-watermark p{white-space:nowrap}
   現: page_id=8 の swell_meta_css（design-data/8/swell-meta-css.css）。
   white-space は属性で表現不可だがトップFV限定の装飾のため、テーマ共通ではなく
   エディタで編集できる固定ページ個別CSSに置く方針。 */

/* ===== トップページ #content 上余白の除去は【SWELLカスタマイザー設定へ移行済み】（2026-06-15・B-4）=====
   旧CSS: #body_wrap.top.home #content { padding-top: 0 }（SWELL既定 .top #content{padding-top:4em} の打ち消し）
   現: SWELLカスタマイザー「トップページ > その他 > コンテンツ上の余白量 = なし」(loos_customizer.top_content_mt='0')。
   .top はフロントページ限定クラスのためトップ専用調整。カスタマイザーUIから変更可能でCSS不要。 */

/* ===== FV人物の前面重ね（z-index）は【ブロック属性へ移行済み】（2026-06-15・B-5）=====
   旧CSS: nth-of-type(1){position:relative;z-index:2} / nth-of-type(2){...z-index:1} / FV+__inner{overflow:visible}
   現: sections/01・02 tree.js の loos/full-wide に position拡張属性
       fullwidePositionType:'relative' + fullwidePositionZIndex:'2'(FV) / '1'(人気記事)。
   full-wide はデフォルトで position:relative・overflow:visible（override無しの他セクションで実測確認）のため、
   旧CSSの position:relative と overflow:visible は冗長。z-index指定だけで前面化が成立する。CSSは削除。 */

/* ===== 人気記事のベージュ帯は【ブロック属性へ移行済み】（2026-06-15・B-1）=====
   旧CSS: .swell-block-fullWide:nth-of-type(2) > __inner { padding-top:120px }
   現: sections/02 tree.js「中央寄せラッパー」universal-block の spacingPadding.top:120（ブロック属性）。
   人物装飾は同ラッパーの padding box 下端基準(bottom:-49)なので等価。CSSは削除。 */

/* ===== カテゴリー別の上ベージュ余白は【ブロック属性へ移行済み】（2026-06-15・B-2）=====
   旧CSS: .swell-block-fullWide:nth-of-type(3) > __inner { padding-top:160px }
   現: sections/03 tree.js「中央寄せラッパー」universal-block の spacingPadding.top:160（ブロック属性）。
   本セクションは絶対配置の装飾を持たない単純な縦積みのため __inner 上 padding と等価。CSSは削除。 */

/* ===== FVメインイラストの負の下マージン(SWELL !important打ち消し)は【固定ページ個別CSSへ移行済み】（2026-06-15・B-6）=====
   旧CSS: nth-of-type(1) figure[style*="margin-right:-117px"]{ margin-bottom:-90px !important }
   現: page_id=8 の swell_meta_css（design-data/8/swell-meta-css.css）。
   margin-bottom:-90px 自体はイラスト画像のブロック属性で指定済みだが、SWELL本体の
   .post_content > :last-child{margin-bottom:0 !important} がインライン値を打ち消すため !important で復活が必要。
   属性では !important を出せず純粋なテーマ既定打ち消しだが、トップFV限定のためエディタで編集できる
   固定ページ個別CSSに置く（B-3と同方針）。 */

/* ===== 人気記事パネルの右フルブリードは【固定ページ個別CSSへ移行済み】（2026-06-15・B-7）=====
   旧CSS: :has(>.recommend-panel){justify-content:flex-start} / .recommend-panel{width:calc((100vw+1160px)/2)!important; max-width:none!important; flex:none!important; padding-right:calc((100vw-1160px)/2)}
   現: page_id=8 の swell_meta_css（design-data/8/swell-meta-css.css）。
   ビューポート全幅breakoutは calc(100vw...) 必須で属性(固定px/%)では表現不可（sizeWidthはcalc式に単位付与で無効CSS化／属性は!important不可）。
   .recommend-panel はトップ人気記事パネル限定のため、エディタで編集できる固定ページ個別CSSに置く（B-3/B-6と同方針）。CSSは削除。 */

/* ===== contact: Snow Monkey Forms (page-id-131 / .smf-* スコープ) ===== */
/* live: investalk.jp/contact-personal に寄せる。入力=全幅/1px枠/角丸4px、ラベル=太字、必須*=赤、送信=ティール#247465全幅 */

/* SWELLの自動ページタイトルを非表示（ヒーローで見出しを表示するため） */
.page-id-131 .c-pageTitle { display: none; }

/* フォーム横幅: universal-block(max960)内で全幅に */
.page-id-131 .snow-monkey-form, .page-id-131 .smf-form { width: 100%; max-width: 100%; margin: 0 auto; }

/* 項目間の余白 */
.page-id-131 .smf-item { margin-bottom: 24px; }
.page-id-131 .smf-item:last-child { margin-bottom: 0; }

/* ラベル: 太字・濃色 */
.page-id-131 .smf-item__label { margin-bottom: 8px; }
.page-id-131 .smf-item__label__text { font-weight: 700; color: #333; font-size: 15px; }

/* 必須項目に赤* を付与（required フィールドは name で特定: fullname/furigana/email/message） */
.page-id-131 .smf-item:has(input[name="fullname"]) .smf-item__label__text::after,
.page-id-131 .smf-item:has(input[name="furigana"]) .smf-item__label__text::after,
.page-id-131 .smf-item:has(input[name="email"]) .smf-item__label__text::after,
.page-id-131 .smf-item:has(textarea[name="message"]) .smf-item__label__text::after {
  content: " *"; color: #e3342f; font-weight: 700;
}

/* 入力フィールド: 全幅・1px枠・角丸・padding */
.page-id-131 .smf-text-control__control,
.page-id-131 .smf-textarea-control__control,
.page-id-131 .smf-item input[type="text"],
.page-id-131 .smf-item input[type="email"],
.page-id-131 .smf-item input[type="tel"],
.page-id-131 .smf-item textarea {
  width: 100%;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 15px;
  background-color: #fff;
  box-sizing: border-box;
}
.page-id-131 .smf-item textarea { min-height: 200px; }

/* 入力フォーカス: ティール枠 */
.page-id-131 .smf-item input[type="text"]:focus,
.page-id-131 .smf-item input[type="email"]:focus,
.page-id-131 .smf-item input[type="tel"]:focus,
.page-id-131 .smf-item textarea:focus {
  border-color: #247465;
  outline: none;
}

/* プライバシー同意: 枠付きボックス・中央寄せ（contact-corporate と統一。live: 全幅 1px #ddd / radius 4px / padding） */
.page-id-131 .smf-item:has(input[name="privacy[]"]) .smf-item__col--label,
.page-id-131 .smf-item:has(input[name="privacy[]"]) .smf-item__label { display: none; }
.page-id-131 .smf-item:has(input[name="privacy[]"]) .smf-item__col--controls {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 18px 16px;
}
.page-id-131 .smf-checkboxes-control__control,
.page-id-131 .smf-checkbox-control {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.page-id-131 .smf-checkbox-control__label { font-size: 15px; color: #333; }

/* 同意ボックス ↔ 送信ボタンの間隔（くっつき防止。送信ボタンは .smf-action 内） */
.page-id-131 .smf-action { margin-top: 24px; }

/* 送信ボタン: ティール#247465・白文字・全幅・太字 */
.page-id-131 .smf-button-row__button,
.page-id-131 .smf-action .smf-button-row__button,
.page-id-131 .smf-item--button button[type="submit"],
.page-id-131 .smf-action button[type="submit"],
.page-id-131 .smf input[type="submit"] {
  background-color: #247465;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color .2s ease;
}
.page-id-131 .smf-button-row { text-align: center; margin-top: 8px; }
.page-id-131 .smf-button-row__button:hover,
.page-id-131 .smf-action button[type="submit"]:hover {
  background-color: #1d5e51;
  color: #fff;
}
/* ===== /contact: Snow Monkey Forms ===== */

/* 送信ボタン: 正しいクラス .smf-button-control__control を対象に、SMF既定の白グラデ背景画像を打ち消す */
.page-id-131 .smf-button-control__control,
.page-id-131 .smf-confirm-button-control__control,
.page-id-131 .smf-item--button .smf-button-control__control {
  background-color: #247465;
  background-image: none;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 4px;
  text-shadow: none;
  box-shadow: none;
  cursor: pointer;
  transition: background-color .2s ease;
}
.page-id-131 .smf-button-control__control:hover,
.page-id-131 .smf-confirm-button-control__control:hover {
  background-color: #1d5e51;
  background-image: none;
  color: #fff;
}
.page-id-131 .smf-button-row,
.page-id-131 .smf-item--button .smf-item__col { text-align: center; }
/* ===== /contact: 送信ボタン補正 ===== */


/* ===== contact-corporate（page 134 / .contact-corporate-form スコープ） ===== */
/* design: /tmp/cc_design.png（企業様向けお問い合わせ）に寄せる。
   ラベル=入力欄の上（積み上げ）/ 入力=全幅・1px枠・角丸4px / 必須*=赤 /
   プライバシー=枠付きボックス中央寄せ / 送信=紺#1E478A・全幅・白太字。
   ※テーマが page-id body class を出力しないため、フォームコンテナの
     className 'contact-corporate-form'（page 134 固有）でスコープする。 */
/* SWELLの自動ページタイトルを非表示（ヒーローのH1で見出しを表示するため）。
   page-id クラスは .wp-singular ラッパーに出力される（body直下ではない） */
.page-id-134 .c-pageTitle { display: none; }

.contact-corporate-form .smf-form,
.contact-corporate-form .snow-monkey-form { width: 100%; max-width: 100%; margin: 0 auto; }

/* 各フィールドの縦間隔のみ。SMF既定スタイル(business未使用)が native に
   「ラベル上＋入力全幅」を出すため、旧2カラム→縦積み変換CSSは不要なので撤去。 */
.contact-corporate-form .smf-item { margin-bottom: 24px; }
.contact-corporate-form .smf-item:last-child { margin-bottom: 0; }

/* ラベル: 太字・濃色・入力の上 */
.contact-corporate-form .smf-item__label { margin-bottom: 8px; }
.contact-corporate-form .smf-item__label__text {
  font-weight: 700;
  color: #363E39;
  font-size: 15px;
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
}

/* 必須項目に赤* を付与（required: 名前/ふりがな/メール/お問い合わせ内容） */
.contact-corporate-form .smf-item:has([data-validations*="required"]) .smf-item__label__text::after {
  content: " *";
  color: #e3342f;
  font-weight: 700;
}
/* プライバシー同意行は必須*を出さない（ラベル列自体を非表示にするため） */
.contact-corporate-form .smf-item:has(input[type="checkbox"]) .smf-item__label__text::after { content: none; }

/* 入力フィールド: 全幅・1px枠・角丸・padding・白地 */
.contact-corporate-form .smf-text-control__control,
.contact-corporate-form .smf-textarea-control__control,
.contact-corporate-form .smf-item input[type="text"],
.contact-corporate-form .smf-item input[type="email"],
.contact-corporate-form .smf-item input[type="tel"],
.contact-corporate-form .smf-item textarea {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 13px 16px;
  font-size: 15px;
  background-color: #fff;
  box-sizing: border-box;
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
}
.contact-corporate-form .smf-item textarea { min-height: 200px; resize: vertical; }
.contact-corporate-form .smf-item ::placeholder { color: #b3b3b3; }

/* 入力フォーカス: 紺枠 */
.contact-corporate-form .smf-item input[type="text"]:focus,
.contact-corporate-form .smf-item input[type="email"]:focus,
.contact-corporate-form .smf-item input[type="tel"]:focus,
.contact-corporate-form .smf-item textarea:focus {
  border-color: #1E478A;
  outline: none;
}

/* プライバシー同意: 枠付きボックス・中央寄せ・チェックボックス＋ラベル */
.contact-corporate-form .smf-item:has(input[type="checkbox"]) > .smf-item__col--label,
.contact-corporate-form .smf-item:has(input[type="checkbox"]) .smf-item__label { display: none; }
.contact-corporate-form .smf-item:has(input[type="checkbox"]) .smf-item__col--controls {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 18px 16px;
}
.contact-corporate-form .smf-checkboxes-control__control,
.contact-corporate-form .smf-checkbox-control {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.contact-corporate-form .smf-checkbox-control__label,
.contact-corporate-form .smf-checkboxes-control .smf-label {
  font-size: 15px;
  color: #363E39;
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
}

/* 送信ボタン「内容を確かめて送信する」: 紺#1E478A・全幅・白太字（SMF既定の白グラデ背景画像を打ち消す） */
.contact-corporate-form .smf-button-control__control,
.contact-corporate-form .smf-confirm-button-control__control,
.contact-corporate-form .smf-item--button .smf-button-control__control {
  background-color: #1E478A;
  background-image: none;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 4px;
  text-shadow: none;
  box-shadow: none;
  cursor: pointer;
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
  transition: background-color .2s ease;
}
.contact-corporate-form .smf-button-control__control:hover,
.contact-corporate-form .smf-confirm-button-control__control:hover {
  background-color: #18386e;
  background-image: none;
  color: #fff;
}
.contact-corporate-form .smf-button-control,
.contact-corporate-form .smf-action,
.contact-corporate-form .smf-item--button .smf-item__col { text-align: center; }
/* ===== /contact-corporate ===== */


/* ===== about（page 134→100）: ヒーローをヘッダー直下から開始 =====
   page 100 はフロントページではないため SWELL が自動ページタイトル(.c-pageTitle)と
   コンテンツ上余白(.l-content padding-top:64 / .post_content margin-top:64)を出力し、
   ヒーローがデザイン(investalk.jp/about: ヘッダー下〜H1 ≒ 157px ≒ S1 padding-top 150)より
   約266px下から始まる。page-id-100 スコープでタイトル非表示＋上余白除去し、
   ヒーロー自身の padding-top(150) だけで縦位置を成立させる。131/134 と同じ手法・同スコープ。 */
.page-id-100 .c-pageTitle { display: none; }
.page-id-100 .l-content.l-container { padding-top: 0; }
.page-id-100 .post_content { margin-top: 0; }

/* ===== voice（page 101）: ヒーローをヘッダー直下から開始 =====
   page 101 もフロントページではないため SWELL が自動コンテンツ上余白
   (.l-content padding-top:64 / .post_content margin-top:64) を出力し、ヒーローが
   デザイン(investalk.jp/voice: ヘッダー下〜H1 ≒ 98px)より約128px下から始まる。
   page-id-101 スコープで上余白を除去し、残りの上空きはヒーロー帯(Sec.01)の
   sizeHeight/イラストtopで詰める。100 と同じ手法・同スコープ。 */
.page-id-101 .l-content.l-container { padding-top: 0; }
.page-id-101 .post_content { margin-top: 0; }
/* ===== /about ヒーロー縦位置 ===== */


/* ===== カテゴリー別カード: メタ並びをデザイン準拠に（人気記事カードとは別レイアウト）=====
   デザイン(investalk.jp)のカテゴリー別カードは「サムネ →[バッジ＋日付(左寄せ)]→ タイトル → 企業名」で、
   ブロック頭の見出しピルは無い（カテゴリ識別は各カードのバッジ＋「○○について読む」リンクで表現）。
   人気記事(popular)カードは「企業名→タイトル→[バッジ＋日付フッター]」のままにするため .investalk-cards--category スコープ限定。
   .page .post_content プレフィックスで post-cards.css(詳細度0,2,0)より高くして確実に上書き（並行編集中の post-cards.css は触らない）。 */
.page .post_content .investalk-cards--category .investalk-cards__header { display: none; }
.page .post_content .investalk-cards--category .investalk-cards__body { display: flex; flex-direction: column; }
.page .post_content .investalk-cards--category .investalk-cards__footer { order: 1; margin: 0 0 6px; justify-content: flex-start; gap: 10px; }
.page .post_content .investalk-cards--category .investalk-cards__footer .investalk-cards__date { margin-left: 0; }
.page .post_content .investalk-cards--category .investalk-cards__title { order: 2; }
.page .post_content .investalk-cards--category .investalk-cards__company { order: 3; margin: 4px 0 0; }

/* featuredカード(大・先頭1件)のメタはサムネ画像の下部にオーバーレイ（白グラデで可読性確保）。
   デザイン(investalk.jp)では meta がサムネ下端に乗っている。リスト型(小カード)は対象外。 */
.page .post_content .investalk-cards--category .investalk-cards__card:not(.investalk-cards__card--list) .investalk-cards__link { position: relative; }
.page .post_content .investalk-cards--category .investalk-cards__card:not(.investalk-cards__card--list) .investalk-cards__body {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 64px 20px 20px;
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.92) 50%, #fff 100%);
  border-radius: 0 0 12px 12px;
}
/* ===== /カテゴリー別カード ===== */

/* voice ヒーロー人物イラスト: デザイン同様 scaleX(-1) で水平反転 */
.voice-hero-illo img, img.voice-hero-illo { transform: scaleX(-1); }

/* ===== voice（page 101）口コミカード: investalk.jp/voice に寄せる3点調整 ===== */
/* 1) 引用符マークを左寄せ（テーマ .wp-block-image{text-align:center} を上書き） */
.voice-quote.wp-block-image { text-align: left !important; }

/* 2) 吹き出しのしっぽ（カード下端・右中央寄り・下向き三角・カード白#fff）
   ライブ(investalk.jp/voice)実測: 三角はカード幅の約65%付近(右中央寄り)。
   三角幅40px(border-left/right 20px)・高さ20px(border-top)・カード下端から20pxはみ出す。 */
.voice-testimonial-card { position: relative; overflow: visible !important; }
.voice-testimonial-card::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 64%;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #ffffff;
}
/* ===== /voice 口コミカード ===== */

/* investalk: 固定ページの「パンくず」「SWELL自動タイトル(c-pageTitle)」を非表示。
   investalkデザインは固定ページにこれらが無く本文ヒーロー側にH1を持つため。
   - パンくず=display:none（schema/構造化データはDOM残しSEO配慮）
   - タイトル=page_title_pos'inner'のためフィルタ不可でdisplay:none（隠れ重複H1はGoogle許容）。'top'位置はfunctions.phpの swell_is_show_ttltop フィルタでカバー */
.page .p-breadcrumb,
.page .c-pageTitle { display: none; }

/* investalk: フッターは before_footer の共通パーツ(blog_parts)で全置換。SWELL既定フッター非表示 */
.l-footer { display: none; }
#before_footer_widget { margin-bottom: 0; }

/* investalk: 固定ページは末尾セクション(フルブリードCTA等)をフッター(before_footer)に密着。
   SWELL標準の「コンテンツ下マージン(.l-content margin-bottom:96px)」と
   「フッター上マージン(.w-beforeFooter margin-top:96px)」が相殺で96px残り、CTA下に白余白が出るため両方を0に。
   投稿記事(.single)は従来の余白を維持するため .page 限定。 */
.page .l-content.l-container { margin-bottom: 0; }
.page .w-beforeFooter { margin-top: 0; }

/* investalk: PCでもハンバーガーメニュー（本番 investalk.jp 準拠）。
   SWELLはハンバーガーボタン(.l-header__menuBtn.sp_)をSP専用にしているため、
   PC(≥960px)では横並びナビ(.l-header__gnav)を隠し、ハンバーガーを表示する。
   メニュー項目はドロワー(nav_sp_menu)に格納。 */
@media (min-width: 960px) {
  .l-header__gnav { display: none !important; }
  /* align-self:center: ヘッダー内側 align-items:stretch だとハンバーガー(低背)が上端に寄り
     ロゴ(伸びて中央)より上にずれる。縦中央寄せで揃える。 */
  .l-header__menuBtn { display: flex !important; align-items: center; align-self: center; }
  /* 追従ヘッダー(fixHeader)も横並びナビを隠す。ハンバーガーは子テーマ fix_header.php で追加済み */
  .l-fixHeader__gnav { display: none !important; }
  /* ドロワー(SP開閉メニュー)をPCでも開けるように。全画面オーバーレイで[data-spmenu=closed]のopacity:0で開閉制御される。
     背景はディムして「右からのモーダルドロワー」に見せる */
  .p-spMenu { display: block; background: rgba(0, 0, 0, 0.45); }
  /* PCではパネルを右の細い幅に（SP既定の88vwは広すぎるため）。右寄せ・閉時のtranslateX(88vw)で画面外へ退避 */
  .p-spMenu__inner { width: 400px; }
}

/* 追従ヘッダーのハンバーガー（子テーマ fix_header.php で追加）。右寄せで表示。SP/PC共通 */
.l-fixHeader__menuBtn { display: flex; align-items: center; margin-left: auto; }

/* 追従ヘッダーの内側は SWELL既定 .l-container(max-width 1296px・中央寄せ)のため、幅広画面で
   ロゴ/ハンバーガーが最上部ヘッダー(全幅・左右padding48)より内側に寄る。全幅化して位置を揃える。 */
.l-fixHeader__inner.l-container { max-width: 100%; }

/* 同様に、主ヘッダーの内側も SWELL既定で透過ヘッダー(トップ)は全幅・ソリッドヘッダー(下層)は
   .l-container(max1296・中央寄せ)になるため、下層ページでロゴ/ハンバーガーがトップより内側に寄る。
   下層も全幅化してトップ(ロゴ左端x48・ハンバーガー右端48)と位置を揃える。 */
.l-header__inner.l-container { max-width: 100%; }

/* 追従ヘッダーは固定表示なので常にソリッド白に。トップページは header_transparent(-transparent) を
   継承して透過になるが、スクロール時にコンテンツへ重なって読めなくなるため打ち消す。 */
.l-fixHeader.-transparent { background-color: #ffffff !important; }

/* ドロワー(開閉メニュー)はモーダル。SWELL既定では追従ヘッダー(.l-fixHeader)と同じ z-index:101 のため、
   スクロール後に開くと追従ヘッダーがドロワーの上に重なる。ドロワーを明確に前面へ。 */
.p-spMenu { z-index: 9999; }

/* investalk: 街並みシルエット(media94)はSVGがアスペクト比保持で中央レターボックスされ、
   SP幅(幅100%・高さ198px固定)で建物の下に白余白が出る（CTA下=フッターとの間など）。
   object-positionで建物を常に下端へ寄せて余白を解消。デスクトップ(≥960)は対象外で不変。
   ※flavor拡張のimgSizeHeightMobile:autoはSVGのアスペクト比崩れ(正方形化)で使えないためCSSで対応。 */
@media (max-width: 959px) {
  img.wp-image-94 { object-fit: contain; object-position: 50% 100%; }
}

/* ===== investalk: TB/SP ヘッダー崩れ修正（本番 investalk.jp 準拠）=====
   不具合: SWELLのSPヘッダーは .c-headLogo / .l-header__menuBtn / .l-header__customBtn の
   高さ・幅を全て --logo_size_sp(18px) に縛り、.l-header__inner の縦paddingが0のため
   ヘッダー全体が18pxに潰れる。さらに .c-headLogo__img{height:100%} が
   .c-headLogo(高さ18px)に対して解決されず（imgがinlineで高さチェーン破断）ロゴが0×0になる。
   目標(本番SP 390実測): ヘッダー高72px / 横padding20px / ロゴ134×18・左x20・縦中央 /
   ハンバーガー右(高さいっぱい・20px内側) / 検索ボタンは本番に無いので非表示。
   PC(≥960)は別media(min-width:960)で完成済みのため一切触らない。 */
@media (max-width: 959px) {
  /* (1) ヘッダー高さを logo_size から分離。inner に min-height + 縦中央 + 横padding20。
     SWELL既定 .l-header__inner{align-items:center;display:flex;padding:0} を上書き。
     横paddingは .l-header__logo{padding:0 2vw} があるが、本番は左右20px固定なので
     inner側で20px・logoラッパの2vvを0にして二重paddingを防ぐ。 */
  .l-header__inner {
    display: flex;
    align-items: center;
    min-height: 72px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .l-header__logo { padding: 0; }

  /* (2) ロゴimgの0×0修正。.c-headLogo の高さ縛り(--logo_size_sp=18px)はそのまま活かしつつ、
     img を block 化して明示高さ18pxを与える（height:100%は高さチェーン破断で0になるため）。
     width:auto は維持しSVGネイティブ比率(≈134×18)で表示。.c-headLogo の幅潰れも max-content で解消。
     ※-top/-common の display 出し分け（SWELLが [data-scrolled]/[data-spfix] で display:none を当てる）は
       より具体的なセレクタ + 後出しなのでこの block 指定では壊れない（実機確認済み）。 */
  .c-headLogo { width: -webkit-max-content; width: max-content; }
  /* SWELL の SP既定 .-img .c-headLogo__link{display:block;padding:10px 0}(詳細度0,2,0)を上書きするため
     親(.l-header__logo)を前置して詳細度を上げる。padding:10px が無いとロゴが縦中央でブレない。 */
  .l-header__logo .c-headLogo__link,
  .c-headLogo__link { display: flex; align-items: center; height: 100%; padding: 0; }
  .c-headLogo__img {
    display: block;
    height: var(--logo_size_sp, 18px);
    width: auto;
    max-width: none;
  }
  /* 注: -top/-common の非表示側には SWELL が [data-scrolled]/[data-spfix] 経由で
     display:none を当てており、その方が詳細度・後出しで上の block 指定に勝つため
     出し分けは維持される（透過/ソリッド両ページで実機確認済み）。 */

  /* (3) ハンバーガー: SWELL既定は --logo_size_sp(18px)固定で小さすぎる。
     本番(60×72)に寄せてタップ領域拡大。height=ヘッダー高72 / width=56・アイコン中央。
     右端からは inner の padding-right:20px で20px内側になる。 */
  .l-header__menuBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 72px;
    width: 56px;
  }

  /* (4) 検索ボタン(.l-header__customBtn): 本番SPヘッダーは「ロゴ＋ハンバーガーのみ」で
     検索ボタンが無い。ローカルは出力されているため SP/TB では非表示にして本番に合わせる。 */
  .l-header__customBtn { display: none; }
}
/* ===== /investalk: TB/SP ヘッダー崩れ修正 ===== */
