/* ===== 固定ページ共通スタイル（page.php / body.page-template-default 使用ページ全体） =====
   対象: 会社概要(439) / 事業案内(440) / 事例紹介(441) / プライバシーポリシー(442) 等、
   page.php をデフォルトテンプレートとして使う固定ページ全般。
   .page-content-wrap は page.php のみが出力するクラスのため、
   body.page-template-default と併用することでスコープを二重に固定している。 */
body.page-template-default .page-content-wrap h2{
	font-size:clamp(18px,2.5vw,24px);
	font-weight:700;
	color:#333;
	margin:5rem 0 1.2rem;
	padding-left:14px;
	border-left:4px solid #761815;
}

/* 固定ページ内テーブル */
body.page-template-default .page-content-wrap table{
	width:100%;
	margin:0 0 1rem;
	border:1px solid #e0e0e0;
	border-collapse:collapse;
	border-radius:8px;
	overflow:hidden;
}
body.page-template-default .page-content-wrap table th,
body.page-template-default .page-content-wrap table td{
	padding:.9rem 1.2rem;
	border:none;
	border-bottom:1px solid #eee;
	font-size:14px;
	line-height:1.7;
	text-align:left;
	vertical-align:top;
	word-break:break-word;
}
body.page-template-default .page-content-wrap table tr:last-child th,
body.page-template-default .page-content-wrap table tr:last-child td{
	border-bottom:none;
}
body.page-template-default .page-content-wrap table th{
	background-color:#faf7f7;
	color:#761815;
	font-weight:700;
	width:180px;
	white-space:nowrap;
}
@media screen and (max-width:600px){
	body.page-template-default .page-content-wrap table th{
		width:auto;
		white-space:normal;
	}
}

/* 企業理念セクション等（本文ボックス＋署名） */
body.page-template-default .page-content-wrap table + h2 + p{
	background:#faf7f7;
	border-left:4px solid #761815;
	border-radius:8px;
	padding:1.2rem 1.5rem;
	margin:0 0 .8rem;
	font-size:14px;
	color:#555;
	line-height:1.9;
}
body.page-template-default .page-content-wrap table + h2 + p + p{
	font-size:13px;
	color:#761815;
	font-weight:600;
	margin:0 0 2rem;
}

/* ===== 項目22（2026-07-23）: 明確なclass指定によるスタイル =====
   上記の隣接セレクタ（table / table + h2 + p 等）は後方互換のため削除せず残す。
   新規・既存ページとも今後は下記の .jcc-info-table / .jcc-lead-box を使うこと。 */
body.page-template-default .page-content-wrap .jcc-info-table{
	width:100%;
	margin:0 0 1rem;
	border:1px solid #e0e0e0;
	border-collapse:collapse;
	border-radius:8px;
	overflow:hidden;
}
body.page-template-default .page-content-wrap .jcc-info-table th,
body.page-template-default .page-content-wrap .jcc-info-table td{
	padding:.9rem 1.2rem;
	border:none;
	border-bottom:1px solid #eee;
	font-size:14px;
	line-height:1.7;
	text-align:left;
	vertical-align:top;
	word-break:break-word;
}
body.page-template-default .page-content-wrap .jcc-info-table tr:last-child th,
body.page-template-default .page-content-wrap .jcc-info-table tr:last-child td{
	border-bottom:none;
}
body.page-template-default .page-content-wrap .jcc-info-table th{
	background-color:#faf7f7;
	color:#761815;
	font-weight:700;
	width:180px;
	white-space:nowrap;
}
@media screen and (max-width:600px){
	body.page-template-default .page-content-wrap .jcc-info-table th{
		width:auto;
		white-space:normal;
	}
}
body.page-template-default .page-content-wrap .jcc-lead-box{
	background:#faf7f7;
	border-left:4px solid #761815;
	border-radius:8px;
	padding:1.2rem 1.5rem;
	margin:0 0 .8rem;
	font-size:14px;
	color:#555;
	line-height:1.9;
}
body.page-template-default .page-content-wrap .jcc-lead-box + p{
	font-size:13px;
	color:#761815;
	font-weight:600;
	margin:0 0 2rem;
}

/* アクセスセクション（見出し・住所テキストの視認性向上） */
body.page-template-default .page-content-wrap p[style*="text-align:right"] + h2 + p{
	font-size:14px;
	font-weight:600;
	color:#333;
	letter-spacing:.02em;
	line-height:2;
}

/* 項目25（2026-07-23・会社概要439移行分）: 上記の隣接セレクタ
   （企業理念の署名段落 p[style*="text-align:right"] → h2 → アクセスの住所段落 p）は、
   H2見出し単位でACFセクション（別々の<section>）に分割すると兄弟関係が物理的に
   崩れるため機能しなくなる。post_content側の後方互換のため上記セレクタは残したまま、
   ACF側の新構造では住所段落に明示クラス .jcc-access-lead を付与し、
   同じ見た目を再現する。 */
body.page-template-default .page-content-wrap .jcc-access-lead,
body.page-template-default .block .jcc-access-lead{
	font-size:14px;
	font-weight:600;
	color:#333;
	letter-spacing:.02em;
	line-height:2;
}

/* ===== 項目25（2026-07-23）: ACFフィールドグループ「【固定ページ】デフォルトテンプレート」
   （sub_con_block1セクション繰り返し）のマークアップに、上記 .page-content-wrap 側と
   同等のスタイルを追加。出力元: template-layout-common/layout-section.php
   （<section><div class="container container--1000"><h2><span>{title}</span></h2>…</section>）。
   page.php / template-pages/samplecode.php の両方が body.page-template-default を
   持つとは限らないため、混入防止のため body.page-template-default に加えて
   出力元が確実に <section> であることでスコープを絞っている。
   既存の .page-content-wrap 系ルールには一切手を加えていない（後方互換維持）。 */
body.page-template-default section h2{
	font-size:clamp(18px,2.5vw,24px);
	font-weight:700;
	color:#333;
	margin:5rem 0 1.2rem;
	padding-left:14px;
	border-left:4px solid #761815;
}
/* layout-section.php の構造上、block_h2 のタイトルがある場合 h2 は
   <div class="container container--1000"> の必ず最初の子要素になる。
   このテーマ共通の .container > :first-child{margin-top:0 !important;}（149-160行目、
   サイト全ページ対象・変更しない）が margin-top を打ち消してしまうため、
   post_content側の.page-content-wrap h2と同じ見た目にするにはこのセレクタのみ
   詳細度で上回る !important を明示的に指定して上書きする必要がある。
   スコープはbody.page-template-default配下の.container直下h2に限定しており、
   他ページの.container挙動には影響しない。 */
body.page-template-default .container > h2:first-child{
	margin-top:5rem !important;
}

/* 項目25（2026-07-23・追加分）: h2直後の最初の .block（template-layout-basic/layout-editor.php
   が出力する<div class="block">）が、グローバルな `.block{margin-top:50px}`（common.css内、
   本ルールより前方に定義）をそのまま受けてしまい、post_content側（h2の直後にh3/pが直接続く
   構造）よりも余白が広くなる差分を実測で確認したため、ここで打ち消す。
   margin-topを0にすると、.blockに border/padding が無いため内部の最初の子要素
   （h3のmargin-top:20px、またはpのmargin-top:32px）と隣接兄弟としてcollapseし、
   さらにh2のmargin-bottom(1.2rem=19.2px)ともcollapseするため、結果的に post_content側と
   同じ間隔（h2→h3:20px / h2→p:32px）に一致する。h2を伴わないセクション（h2非表示等）の
   .blockには影響しないよう `h2 + .block` の隣接セレクタでスコープを絞っている。 */
body.page-template-default section .container > h2 + .block{
	margin-top:0;
}

/* ACFセクションのwysiwyg本文（template-layout-basic/layout-editor.php が出力する
   .block）内でも .jcc-info-table / .jcc-lead-box を使えるようにする。
   既存ルール（body.page-template-default .page-content-wrap .jcc-info-table 等）は
   祖先に .page-content-wrap を要求する記述のため、.block配下にはそのままでは効かない。
   そのため同一装飾を .block 配下向けに複製している（.page-content-wrap 側は無変更）。 */
body.page-template-default .block .jcc-info-table{
	width:100%;
	margin:0 0 1rem;
	border:1px solid #e0e0e0;
	border-collapse:collapse;
	border-radius:8px;
	overflow:hidden;
}
body.page-template-default .block .jcc-info-table th,
body.page-template-default .block .jcc-info-table td{
	padding:.9rem 1.2rem;
	border:none;
	border-bottom:1px solid #eee;
	font-size:14px;
	line-height:1.7;
	text-align:left;
	vertical-align:top;
	word-break:break-word;
}
body.page-template-default .block .jcc-info-table tr:last-child th,
body.page-template-default .block .jcc-info-table tr:last-child td{
	border-bottom:none;
}
body.page-template-default .block .jcc-info-table th{
	background-color:#faf7f7;
	color:#761815;
	font-weight:700;
	width:180px;
	white-space:nowrap;
}
@media screen and (max-width:600px){
	body.page-template-default .block .jcc-info-table th{
		width:auto;
		white-space:normal;
	}
}
body.page-template-default .block .jcc-lead-box{
	background:#faf7f7;
	border-left:4px solid #761815;
	border-radius:8px;
	padding:1.2rem 1.5rem;
	margin:0 0 .8rem;
	font-size:14px;
	color:#555;
	line-height:1.9;
}
body.page-template-default .block .jcc-lead-box + p{
	font-size:13px;
	color:#761815;
	font-weight:600;
	margin:0 0 2rem;
}

