/* エンゲージメント・サーベイ（/engagement-survey）専用スタイル。
   レイアウトの土台は common.css に依存し、ここでは企画書の図解
   (1) 課題感／効果の2カラム (2) サービス・プロフィット・チェーンの循環
   (3) ESとCSの連関構造 (4) エンゲージメントを構成する要因（動機付け／衛生）
   (5) プロジェクト・フロー（調査概要＋ステップ） (6) 調査・分析フレーム
   (7) 調査結果の分析カード (8) 2種類の報告書 (9) スケジュール
   (10) 施策対応表 (11) エンゲージメント経営の実践 を補う。
   rem は common.css の独自設計により PC で約1px相当、SP は vw 基準で自動スケール。
   ブレークポイントは common.css に合わせて max-width: 860px。 */

/* 共通トーン（service_6.css / service_2.css と同じ体系。衛生要因用の緑を追加） */
:root {
	--hc-navy: #11589d;
	--hc-navy-d: #0d4478;
	--hc-blue: #5b9bd5;
	--hc-blue-l: #cddceb;
	--hc-blue-bg: #eef4f9;
	--hc-gray: #6b7280;
	--hc-line: #d5dee7;
	--hc-accent: #ef8b3c;
	--hc-accent-bg: #fbe4c8;
	--hc-accent-d: #8a5a1a;
	--hc-green: #7fa84b;
	--hc-green-bg: #eef3e3;
	--hc-green-d: #55702a;
}

/* ============================================================
   1. 課題感／サーベイの効果（2カラム）
   ============================================================ */
.c-es-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24rem;
	align-items: start;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.c-es-col {
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-radius: 8rem;
	overflow: hidden;
}
.c-es-col__head {
	color: #fff;
	font-size: 18rem;
	font-weight: bold;
	text-align: center;
	padding: 14rem 16rem;
}
.c-es-col__head.--issue {
	background: var(--hc-gray);
}
.c-es-col__head.--effect {
	background: var(--hc-navy);
}
.c-es-col__list {
	margin: 0;
	padding: 22rem 24rem 6rem;
	list-style: none;
	counter-reset: es-num;
}
.c-es-col__list li {
	position: relative;
	padding-left: 34rem;
	margin-bottom: 14rem;
	font-size: 14rem;
	line-height: 1.7;
	color: #333;
	counter-increment: es-num;
}
.c-es-col__list li::before {
	content: counter(es-num);
	position: absolute;
	left: 0;
	top: 1rem;
	width: 22rem;
	height: 22rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--hc-blue-l);
	color: var(--hc-navy);
	font-size: 12rem;
	font-weight: bold;
	border-radius: 50%;
}
.c-es-col__etc {
	padding: 4rem 24rem 22rem;
	font-size: 12rem;
	color: var(--hc-gray);
	line-height: 1.7;
}

/* ============================================================
   2. サービス・プロフィット・チェーンの循環
   ============================================================ */
.c-es-spc {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #333;
	margin-bottom: 48rem;
}
.c-es-spc__title {
	background: var(--hc-navy-d);
	color: #fff;
	font-size: 17rem;
	font-weight: bold;
	text-align: center;
	padding: 12rem;
	border-radius: 4rem;
	margin-bottom: 24rem;
	line-height: 1.5;
}
.c-es-spc__title span {
	font-size: 13rem;
	font-weight: normal;
	display: inline-block;
	margin-left: 6rem;
}
.c-es-spc__loop {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 22rem;
}
.c-es-spc__center {
	flex: 0 0 100%;
	text-align: center;
	background: var(--hc-blue-bg);
	border: 2rem solid var(--hc-navy);
	border-radius: 6rem;
	color: var(--hc-navy);
	font-size: 15rem;
	font-weight: bold;
	line-height: 1.5;
	padding: 12rem;
	margin-bottom: 4rem;
}
.c-es-spc__node {
	position: relative;
	flex: 1;
	min-width: 150rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-top: 4rem solid var(--hc-navy);
	border-radius: 4rem;
	padding: 30rem 10rem 14rem;
}
.c-es-spc__node-no {
	position: absolute;
	top: -14rem;
	left: 50%;
	transform: translateX(-50%);
	width: 28rem;
	height: 28rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--hc-navy);
	color: #fff;
	font-size: 14rem;
	font-weight: bold;
	font-family: "Oswald", sans-serif;
	border-radius: 50%;
}
.c-es-spc__node strong {
	font-size: 13rem;
	font-weight: bold;
	color: var(--hc-navy);
	line-height: 1.5;
	flex: 1;
}
.c-es-spc__node small {
	display: block;
	margin-top: 8rem;
	font-size: 11rem;
	color: var(--hc-gray);
	line-height: 1.5;
}
.c-es-spc__loop .c-es-spc__node:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -17rem;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 8rem solid transparent;
	border-bottom: 8rem solid transparent;
	border-left: 11rem solid var(--hc-navy);
	z-index: 2;
}
/* 好循環（⑤社内サービス→①エンゲージメント）を閉じる戻りループ */
.c-es-spc__return {
	position: relative;
	height: 44rem;
	margin: 8rem 10rem 0;
	border-left: 2rem solid var(--hc-navy);
	border-right: 2rem solid var(--hc-navy);
	border-bottom: 2rem solid var(--hc-navy);
	border-radius: 0 0 8rem 8rem;
}
/* 左端：①エンゲージメント向上へ戻る上向き矢印 */
.c-es-spc__return::before {
	content: "";
	position: absolute;
	top: -13rem;
	left: -9rem;
	width: 0;
	height: 0;
	border-left: 9rem solid transparent;
	border-right: 9rem solid transparent;
	border-bottom: 14rem solid var(--hc-navy);
}
.c-es-spc__return-label {
	position: absolute;
	left: 50%;
	bottom: -12rem;
	transform: translateX(-50%);
	background: #fff;
	padding: 0 16rem;
	font-size: 12rem;
	font-weight: bold;
	color: var(--hc-navy);
	line-height: 1.5;
	white-space: nowrap;
}
.c-es-spc__note {
	margin-top: 24rem;
	font-size: 12rem;
	color: var(--hc-gray);
	line-height: 1.7;
}

/* ============================================================
   3. ESとCSの連関構造
   ============================================================ */
.c-es-escs {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #333;
}
.c-es-escs__title {
	background: var(--hc-navy-d);
	color: #fff;
	font-size: 17rem;
	font-weight: bold;
	text-align: center;
	padding: 12rem;
	border-radius: 4rem;
	margin-bottom: 24rem;
}
.c-es-escs__diagram {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.c-es-escs__block {
	position: relative;
	border: 1rem solid var(--hc-line);
	border-radius: 8rem;
	padding: 18rem 20rem 20rem;
}
.c-es-escs__block.--cs {
	background: var(--hc-accent-bg);
}
.c-es-escs__block.--es {
	background: var(--hc-blue-bg);
}
.c-es-escs__label {
	display: inline-block;
	background: var(--hc-navy);
	color: #fff;
	font-size: 13rem;
	font-weight: bold;
	border-radius: 4rem;
	padding: 4rem 14rem;
	margin-bottom: 16rem;
}
/* CS構造：下位要因 → 総合顧客満足度 → ロイヤルティ（上方集約） */
.c-es-escs__cs-flow {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.c-es-escs__peak,
.c-es-escs__sum {
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
	border-radius: 4rem;
}
.c-es-escs__peak {
	background: var(--hc-accent);
	color: #fff;
	font-size: 14rem;
	padding: 11rem 28rem;
	min-width: 300rem;
}
.c-es-escs__sum {
	background: #fff;
	border: 2rem solid var(--hc-accent);
	color: var(--hc-accent-d);
	font-size: 14rem;
	padding: 11rem 28rem;
	min-width: 260rem;
}
.c-es-escs__sum.--es {
	border-color: var(--hc-navy);
	color: var(--hc-navy);
}
/* 上向き矢印（下位から上位への集約を示す） */
.c-es-escs__up {
	width: 0;
	height: 0;
	border-left: 9rem solid transparent;
	border-right: 9rem solid transparent;
	border-bottom: 12rem solid var(--hc-accent);
	margin: 9rem 0;
}
.c-es-escs__up.--es {
	border-bottom-color: var(--hc-navy);
}
.c-es-escs__cs-factors {
	display: flex;
	flex-wrap: wrap;
	gap: 10rem;
	justify-content: center;
	margin-top: 9rem;
}
.c-es-escs__cs-factors span {
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-radius: 4rem;
	font-size: 12rem;
	line-height: 1.4;
	padding: 9rem 12rem;
	color: #333;
}
.c-es-escs__cs-factors span.--pick {
	background: var(--hc-accent);
	border-color: var(--hc-accent);
	color: #fff;
	font-weight: bold;
}
/* 連関（CSとESを結ぶ双方向矢印） */
.c-es-escs__bridge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3rem;
	padding: 8rem 0;
}
.c-es-escs__bridge-arrow {
	font-size: 28rem;
	font-weight: bold;
	color: var(--hc-gray);
	line-height: 1;
}
.c-es-escs__bridge-text {
	background: var(--hc-gray);
	color: #fff;
	font-size: 12rem;
	font-weight: bold;
	border-radius: 4rem;
	padding: 3rem 16rem;
	letter-spacing: 2rem;
}
/* ES構造：3段の要因が総合ESへ集約 */
.c-es-escs__es-body {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.c-es-escs__tier {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 14rem;
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-radius: 6rem;
	padding: 12rem 16rem;
}
.c-es-escs__tier-label {
	flex: 0 0 auto;
	width: 190rem;
	font-size: 12rem;
	font-weight: bold;
	color: var(--hc-navy);
	line-height: 1.5;
}
.c-es-escs__tier-items {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 8rem;
}
.c-es-escs__tier-items span {
	background: var(--hc-blue-bg);
	border: 1rem solid var(--hc-blue-l);
	border-radius: 4rem;
	font-size: 12rem;
	line-height: 1.4;
	padding: 9rem 12rem;
	color: #333;
}

/* ============================================================
   4. エンゲージメントを構成する要因（動機付け／衛生）
   ============================================================ */
.c-es-factors {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #333;
}
.c-es-factors__center {
	max-width: 420rem;
	margin: 0 auto 28rem;
	text-align: center;
	background: var(--hc-navy);
	color: #fff;
	font-size: 20rem;
	font-weight: bold;
	border-radius: 50px;
	padding: 18rem 24rem;
}
.c-es-factors__group {
	border-radius: 8rem;
	padding: 20rem 22rem 22rem;
	margin-bottom: 22rem;
}
.c-es-factors__group.--motivator {
	background: var(--hc-accent-bg);
	border: 1rem solid var(--hc-accent);
}
.c-es-factors__group.--hygiene {
	background: var(--hc-green-bg);
	border: 1rem solid var(--hc-green);
	margin-bottom: 0;
}
.c-es-factors__group-head {
	font-size: 16rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 18rem;
	padding-left: 14rem;
	border-left: 6rem solid;
}
.c-es-factors__group.--motivator .c-es-factors__group-head {
	color: var(--hc-accent-d);
	border-color: var(--hc-accent);
}
.c-es-factors__group.--hygiene .c-es-factors__group-head {
	color: var(--hc-green-d);
	border-color: var(--hc-green);
}
.c-es-factors__group-head small {
	display: block;
	font-size: 12rem;
	font-weight: normal;
	color: var(--hc-gray);
	margin-top: 4rem;
	line-height: 1.6;
}
.c-es-factors__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170rem, 1fr));
	gap: 14rem;
}
.c-es-factors__item {
	background: #fff;
	border-radius: 6rem;
	padding: 14rem 16rem;
	text-align: center;
}
.c-es-factors__group.--motivator .c-es-factors__item {
	border: 1rem solid var(--hc-accent-bg);
}
.c-es-factors__group.--hygiene .c-es-factors__item {
	border: 1rem solid var(--hc-green-bg);
}
.c-es-factors__item strong {
	display: block;
	font-size: 15rem;
	font-weight: bold;
	color: #222;
	margin-bottom: 6rem;
}
.c-es-factors__item small {
	display: block;
	font-size: 11rem;
	color: var(--hc-gray);
	line-height: 1.5;
}

/* ============================================================
   5. プロジェクト・フロー（調査概要＋ステップ）
   ============================================================ */
.c-es-flow {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #333;
}
.c-es-flow__overview {
	border: 1rem solid var(--hc-line);
	border-radius: 8rem;
	overflow: hidden;
	margin-bottom: 32rem;
}
.c-es-flow__overview-head {
	background: var(--hc-navy-d);
	color: #fff;
	font-size: 16rem;
	font-weight: bold;
	text-align: center;
	padding: 12rem;
}
.c-es-flow__overview-list {
	margin: 0;
	background: #fff;
}
.c-es-flow__overview-row {
	display: grid;
	grid-template-columns: 160rem 1fr;
	border-top: 1rem solid var(--hc-line);
}
.c-es-flow__overview-row:first-child {
	border-top: 0;
}
.c-es-flow__overview-row dt {
	background: var(--hc-blue-bg);
	color: var(--hc-navy);
	font-size: 14rem;
	font-weight: bold;
	padding: 14rem 16rem;
	display: flex;
	align-items: center;
}
.c-es-flow__overview-row dd {
	margin: 0;
	font-size: 13rem;
	line-height: 1.7;
	padding: 14rem 18rem;
	display: flex;
	align-items: center;
}
.c-es-flow__steps {
	display: flex;
	flex-direction: column;
	gap: 30rem;
}
.c-es-flow__step {
	position: relative;
	background: var(--hc-blue-bg);
	border: 1rem solid var(--hc-line);
	border-left: 6rem solid var(--hc-navy);
	border-radius: 6rem;
	padding: 20rem 24rem;
}
/* ステップ間の下向き矢印 */
.c-es-flow__steps .c-es-flow__step:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 40rem;
	bottom: -22rem;
	width: 0;
	height: 0;
	border-left: 9rem solid transparent;
	border-right: 9rem solid transparent;
	border-top: 13rem solid var(--hc-navy);
	z-index: 2;
}
.c-es-flow__step-head {
	display: flex;
	align-items: center;
	gap: 14rem;
	padding-bottom: 12rem;
	margin-bottom: 14rem;
	border-bottom: 1rem solid var(--hc-blue-l);
}
.c-es-flow__step-no {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 74rem;
	height: 28rem;
	padding: 0 12rem;
	background: var(--hc-navy);
	color: #fff;
	font-size: 13rem;
	font-weight: bold;
	font-family: "Oswald", sans-serif;
	border-radius: 50px;
	white-space: nowrap;
}
.c-es-flow__step-title {
	font-size: 17rem;
	font-weight: bold;
	color: #222;
	line-height: 1.5;
}
.c-es-flow__tasks {
	margin: 0;
	padding: 0;
	list-style: none;
}
.c-es-flow__tasks li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14rem;
	flex-wrap: wrap;
	padding: 10rem 0;
	border-top: 1rem dashed var(--hc-line);
}
.c-es-flow__tasks li:first-child {
	border-top: 0;
}
.c-es-flow__task-text {
	flex: 1;
	min-width: 200rem;
	font-size: 14rem;
	line-height: 1.7;
	color: #333;
}
.c-es-flow__task-owner {
	flex: 0 0 auto;
	background: #fff;
	border: 1rem solid var(--hc-navy);
	color: var(--hc-navy);
	font-size: 12rem;
	font-weight: bold;
	border-radius: 50px;
	padding: 4rem 14rem;
	white-space: nowrap;
}
.c-es-flow__note {
	margin-top: 22rem;
	font-size: 12rem;
	color: var(--hc-gray);
	line-height: 1.7;
}

/* ============================================================
   6. 調査・分析フレーム
   ============================================================ */
.c-es-frame {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #333;
	background: #f0f0f0;
	border-radius: 8rem;
	padding: 24rem;
}
.c-es-frame__title {
	background: var(--hc-navy-d);
	color: #fff;
	font-size: 16rem;
	font-weight: bold;
	text-align: center;
	padding: 10rem;
	border-radius: 4rem;
	margin-bottom: 18rem;
}
.c-es-frame__layer {
	border-radius: 6rem;
	padding: 16rem 18rem;
}
.c-es-frame__layer.--seg {
	background: var(--hc-blue-bg);
	border: 1rem solid var(--hc-blue-l);
}
.c-es-frame__layer.--core {
	background: var(--hc-accent-bg);
	border: 1rem solid var(--hc-accent);
}
.c-es-frame__layer-head {
	font-size: 14rem;
	font-weight: bold;
	color: var(--hc-navy);
	margin-bottom: 12rem;
	line-height: 1.5;
}
.c-es-frame__layer.--core .c-es-frame__layer-head {
	color: var(--hc-accent-d);
}
.c-es-frame__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10rem;
}
.c-es-frame__tags span {
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-radius: 4rem;
	font-size: 13rem;
	font-weight: bold;
	padding: 8rem 22rem;
	color: #333;
}
.c-es-frame__cross {
	display: block;
	text-align: center;
	font-size: 12rem;
	font-weight: bold;
	color: var(--hc-gray);
	padding: 8rem 0;
	position: relative;
}
.c-es-frame__cross::before {
	content: "▼";
	display: block;
	color: var(--hc-navy);
	font-size: 12rem;
	margin-bottom: 2rem;
}
/* 職場意識構造の把握（問1→問2〜問10の単回帰分析線を含むインラインSVG） */
.c-es-frame__coresvg {
	display: block;
	width: 100%;
	height: auto;
}
.c-es-frame__foot {
	margin-top: 18rem;
	font-size: 12rem;
	color: var(--hc-gray);
	line-height: 1.7;
}

/* ============================================================
   7. 調査結果の分析（3カード）
   ============================================================ */
.c-es-analysis {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
	align-items: stretch;
}
.c-es-analysis__card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-top: 4rem solid var(--hc-navy);
	border-radius: 8rem;
	padding: 24rem 22rem 22rem;
}
.c-es-analysis__phase {
	align-self: flex-start;
	background: var(--hc-blue-bg);
	color: var(--hc-navy);
	font-size: 12rem;
	font-weight: bold;
	border-radius: 50px;
	padding: 5rem 14rem;
	margin-bottom: 14rem;
}
.c-es-analysis__title {
	font-size: 17rem;
	font-weight: bold;
	color: var(--hc-navy);
	line-height: 1.5;
	margin-bottom: 12rem;
}
.c-es-analysis__text {
	font-size: 14rem;
	line-height: 1.8;
	color: #444;
	flex: 1;
}
.c-es-analysis__output {
	margin-top: 16rem;
	background: var(--hc-accent-bg);
	color: var(--hc-accent-d);
	font-size: 12rem;
	font-weight: bold;
	text-align: center;
	border-radius: 4rem;
	padding: 10rem 12rem;
	line-height: 1.5;
}

/* ============================================================
   8. 報告書の作成（2カード）
   ============================================================ */
.c-es-report {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
	align-items: start;
}
.c-es-report__card {
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-radius: 8rem;
	padding: 24rem;
}
/* 報告書イメージ（レポート風モック図） */
.c-es-report__preview {
	margin-bottom: 20rem;
}
.c-es-report__preview svg {
	display: block;
	width: 100%;
	height: auto;
}
.c-es-report__head {
	display: flex;
	align-items: center;
	gap: 14rem;
	padding-bottom: 14rem;
	margin-bottom: 16rem;
	border-bottom: 1rem solid var(--hc-blue-l);
}
.c-es-report__no {
	flex: 0 0 auto;
	width: 40rem;
	height: 40rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--hc-navy);
	color: #fff;
	font-size: 18rem;
	font-weight: bold;
	border-radius: 50%;
}
.c-es-report__title {
	font-size: 17rem;
	font-weight: bold;
	color: #222;
	line-height: 1.5;
}
.c-es-report__lead {
	font-size: 13rem;
	color: var(--hc-gray);
	line-height: 1.7;
	margin-bottom: 16rem;
}
.c-es-report__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.c-es-report__list li {
	position: relative;
	padding-left: 20rem;
	margin-bottom: 10rem;
	font-size: 14rem;
	line-height: 1.7;
	color: #333;
}
.c-es-report__list li:last-child {
	margin-bottom: 0;
}
.c-es-report__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9rem;
	width: 8rem;
	height: 8rem;
	border-radius: 50%;
	background: var(--hc-navy);
}

/* ============================================================
   9. プロジェクト・スケジュール
   ============================================================ */
.c-es-schedule {
	display: flex;
	align-items: stretch;
	gap: 24rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.c-es-schedule__phase {
	position: relative;
	flex: 1;
	background: var(--hc-blue-bg);
	border: 1rem solid var(--hc-line);
	border-top: 4rem solid var(--hc-navy);
	border-radius: 6rem;
	padding: 18rem 16rem;
}
.c-es-schedule__phase.--after {
	background: #fff;
	border-top-color: var(--hc-accent);
	border-style: dashed;
}
/* フェーズ間の矢印 */
.c-es-schedule .c-es-schedule__phase:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -18rem;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 8rem solid transparent;
	border-bottom: 8rem solid transparent;
	border-left: 12rem solid var(--hc-navy);
	z-index: 2;
}
.c-es-schedule__phase-head {
	text-align: center;
	padding-bottom: 12rem;
	margin-bottom: 14rem;
	border-bottom: 1rem solid var(--hc-blue-l);
}
.c-es-schedule__phase-name {
	display: block;
	font-size: 15rem;
	font-weight: bold;
	color: var(--hc-navy);
	line-height: 1.5;
}
.c-es-schedule__phase.--after .c-es-schedule__phase-name {
	color: var(--hc-accent-d);
}
.c-es-schedule__phase-term {
	display: inline-block;
	margin-top: 8rem;
	font-size: 11rem;
	font-weight: bold;
	color: #fff;
	background: var(--hc-navy);
	border-radius: 50px;
	padding: 3rem 14rem;
}
.c-es-schedule__phase.--after .c-es-schedule__phase-term {
	background: var(--hc-accent);
}
.c-es-schedule__tasks {
	margin: 0;
	padding: 0;
	list-style: none;
}
.c-es-schedule__tasks li {
	position: relative;
	padding-left: 16rem;
	margin-bottom: 10rem;
	font-size: 13rem;
	line-height: 1.6;
	color: #333;
}
.c-es-schedule__tasks li:last-child {
	margin-bottom: 0;
}
.c-es-schedule__tasks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8rem;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	background: var(--hc-navy);
}
.c-es-schedule__milestones {
	margin-top: 26rem;
	background: var(--hc-navy);
	color: #fff;
	font-size: 13rem;
	font-weight: bold;
	text-align: center;
	border-radius: 6rem;
	padding: 14rem 18rem;
	line-height: 1.7;
}

/* ============================================================
   10. 施策対応表（想定事項 → 施策課題）
   ============================================================ */
.c-es-measures {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #333;
	border: 1rem solid var(--hc-line);
	border-radius: 8rem;
	overflow: hidden;
}
.c-es-measures__head {
	display: grid;
	grid-template-columns: 1fr 34rem 1.4fr;
	align-items: center;
	background: var(--hc-navy-d);
}
.c-es-measures__head-l,
.c-es-measures__head-r {
	color: #fff;
	font-size: 14rem;
	font-weight: bold;
	text-align: center;
	padding: 12rem 10rem;
	line-height: 1.4;
}
.c-es-measures__head-l {
	grid-column: 1 / 2;
}
.c-es-measures__head-r {
	grid-column: 3 / 4;
}
.c-es-measures__row {
	display: grid;
	grid-template-columns: 1fr 34rem 1.4fr;
	align-items: stretch;
	border-top: 1rem solid var(--hc-line);
	background: #fff;
}
.c-es-measures__issue,
.c-es-measures__action {
	font-size: 14rem;
	line-height: 1.6;
	padding: 16rem 18rem;
	display: flex;
	align-items: center;
}
.c-es-measures__issue {
	background: #f4f6f8;
	color: #333;
}
.c-es-measures__action {
	background: var(--hc-accent-bg);
	color: var(--hc-accent-d);
	font-weight: bold;
}
.c-es-measures__arrow {
	align-self: center;
	justify-self: center;
	width: 0;
	height: 0;
	border-top: 8rem solid transparent;
	border-bottom: 8rem solid transparent;
	border-left: 12rem solid var(--hc-navy);
}
.c-es-measures__merit {
	margin-top: 22rem;
	background: var(--hc-accent);
	color: #fff;
	font-size: 14rem;
	font-weight: bold;
	text-align: center;
	border-radius: 50px;
	padding: 14rem 24rem;
	line-height: 1.7;
}

/* ============================================================
   11. エンゲージメント経営の実践（階層図）
   ============================================================ */
.c-es-practice {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #333;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14rem;
}
/* 層をつなぐ上向き矢印（下から上へ積み上がる流れを示す） */
.c-es-practice__arrow {
	width: 0;
	height: 0;
	border-left: 16rem solid transparent;
	border-right: 16rem solid transparent;
	border-bottom: 15rem solid #aeb6bf;
}
/* ハード改革（サイクル＋組織図）／ソフト改革（ピラミッド）のインラインSVG */
.c-es-practice__diagram {
	display: block;
	width: 100%;
	height: auto;
	margin-top: 8rem;
}
.c-es-practice__vision {
	position: relative;
	max-width: 460rem;
	width: 100%;
	text-align: center;
	background: var(--hc-accent);
	color: #fff;
	font-size: 18rem;
	font-weight: bold;
	border-radius: 6rem;
	padding: 16rem 20rem;
	line-height: 1.5;
}
.c-es-practice__vision span {
	font-size: 13rem;
	font-weight: normal;
	display: inline-block;
	margin-left: 4rem;
}
.c-es-practice__reforms {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24rem;
	width: 100%;
}
.c-es-practice__reform {
	border-radius: 8rem;
	padding: 22rem 22rem 24rem;
}
.c-es-practice__reform.--hard {
	background: var(--hc-accent-bg);
	border: 1rem solid var(--hc-accent);
}
.c-es-practice__reform.--soft {
	background: var(--hc-blue-bg);
	border: 1rem solid var(--hc-blue);
}
.c-es-practice__reform-head {
	text-align: center;
	font-size: 16rem;
	font-weight: bold;
	color: #fff;
	border-radius: 4rem;
	padding: 10rem;
	margin-bottom: 12rem;
}
.c-es-practice__reform.--hard .c-es-practice__reform-head {
	background: var(--hc-accent-d);
}
.c-es-practice__reform.--soft .c-es-practice__reform-head {
	background: var(--hc-navy);
}
.c-es-practice__reform-sub {
	text-align: center;
	font-size: 14rem;
	font-weight: bold;
	color: #222;
	line-height: 1.6;
	margin-bottom: 16rem;
}
.c-es-practice__base {
	width: 100%;
	text-align: center;
	background: var(--hc-accent-bg);
	border: 2rem solid var(--hc-accent);
	border-radius: 6rem;
	font-size: 16rem;
	font-weight: bold;
	color: var(--hc-accent-d);
	padding: 16rem 20rem;
	line-height: 1.6;
}
.c-es-practice__base small {
	display: block;
	font-size: 13rem;
	font-weight: normal;
	color: #444;
	margin-top: 4rem;
}
.c-es-practice__foundation {
	width: 100%;
	max-width: 460rem;
	text-align: center;
	background: var(--hc-navy);
	color: #fff;
	font-size: 15rem;
	font-weight: bold;
	border-radius: 6rem;
	padding: 14rem 20rem;
}

/* ============================================================
   レスポンシブ（SP：max-width 860px）
   ============================================================ */
@media screen and (max-width: 860px) {
	/* 1. cols */
	.c-es-cols {
		grid-template-columns: 1fr;
		gap: 32rem;
	}
	.c-es-col__head {
		font-size: 28rem;
		padding: 18rem;
	}
	.c-es-col__list {
		padding: 28rem 28rem 8rem;
	}
	.c-es-col__list li {
		font-size: 24rem;
		padding-left: 48rem;
		margin-bottom: 18rem;
	}
	.c-es-col__list li::before {
		width: 34rem;
		height: 34rem;
		font-size: 20rem;
		top: 2rem;
	}
	.c-es-col__etc {
		font-size: 20rem;
		padding: 4rem 28rem 28rem;
	}

	/* 2. spc */
	.c-es-spc__title {
		font-size: 26rem;
	}
	.c-es-spc__title span {
		font-size: 20rem;
		display: block;
		margin-left: 0;
		margin-top: 4rem;
	}
	.c-es-spc__loop {
		flex-direction: column;
		gap: 40rem;
	}
	.c-es-spc__center {
		font-size: 24rem;
		padding: 18rem;
	}
	.c-es-spc__node {
		min-width: 0;
		padding: 34rem 20rem 20rem;
	}
	.c-es-spc__node-no {
		width: 38rem;
		height: 38rem;
		font-size: 22rem;
		top: -18rem;
	}
	.c-es-spc__node strong {
		font-size: 23rem;
	}
	.c-es-spc__node small {
		font-size: 19rem;
	}
	.c-es-spc__loop .c-es-spc__node:not(:last-child)::after {
		top: auto;
		right: 50%;
		bottom: -26rem;
		transform: translateX(50%);
		border-top: 12rem solid var(--hc-navy);
		border-left: 8rem solid transparent;
		border-right: 8rem solid transparent;
		border-bottom: 0;
	}
	.c-es-spc__return {
		height: auto;
		margin: 40rem 0 0;
		border: 1rem solid var(--hc-navy);
		border-radius: 8rem;
		background: var(--hc-blue-bg);
		padding: 22rem 18rem;
		text-align: center;
	}
	.c-es-spc__return::before {
		top: -26rem;
		left: 50%;
		transform: translateX(-50%);
		border-left: 12rem solid transparent;
		border-right: 12rem solid transparent;
		border-bottom: 16rem solid var(--hc-navy);
	}
	.c-es-spc__return-label {
		position: static;
		transform: none;
		display: block;
		background: transparent;
		padding: 0;
		font-size: 22rem;
		white-space: normal;
	}
	.c-es-spc__note {
		font-size: 19rem;
	}

	/* 3. escs */
	.c-es-escs__title {
		font-size: 26rem;
	}
	.c-es-escs__label {
		font-size: 22rem;
		padding: 6rem 18rem;
	}
	.c-es-escs__block {
		padding: 24rem 20rem;
	}
	.c-es-escs__peak,
	.c-es-escs__sum {
		font-size: 24rem;
		min-width: 0;
		width: 100%;
		padding: 16rem;
	}
	.c-es-escs__cs-factors {
		gap: 12rem;
	}
	.c-es-escs__cs-factors span {
		font-size: 20rem;
		padding: 12rem 14rem;
	}
	.c-es-escs__up {
		border-left-width: 12rem;
		border-right-width: 12rem;
		border-bottom-width: 16rem;
		margin: 12rem 0;
	}
	.c-es-escs__bridge-arrow {
		font-size: 40rem;
	}
	.c-es-escs__bridge-text {
		font-size: 20rem;
	}
	.c-es-escs__tier {
		flex-direction: column;
		align-items: stretch;
		gap: 12rem;
		padding: 18rem;
	}
	.c-es-escs__tier-label {
		width: auto;
		font-size: 22rem;
		color: #fff;
		background: var(--hc-navy);
		border-radius: 4rem;
		padding: 8rem 14rem;
		text-align: center;
	}
	.c-es-escs__tier-label br {
		display: none;
	}
	.c-es-escs__tier-items {
		gap: 12rem;
	}
	.c-es-escs__tier-items span {
		font-size: 20rem;
		padding: 12rem 14rem;
	}

	/* 4. factors */
	.c-es-factors__center {
		max-width: none;
		font-size: 28rem;
		padding: 22rem;
	}
	.c-es-factors__group-head {
		font-size: 25rem;
	}
	.c-es-factors__group-head small {
		font-size: 20rem;
	}
	.c-es-factors__items {
		grid-template-columns: 1fr 1fr;
		gap: 16rem;
	}
	.c-es-factors__item strong {
		font-size: 23rem;
	}
	.c-es-factors__item small {
		font-size: 18rem;
	}

	/* 5. flow */
	.c-es-flow__overview-head {
		font-size: 26rem;
	}
	.c-es-flow__overview-row {
		grid-template-columns: 1fr;
	}
	.c-es-flow__overview-row dt {
		font-size: 23rem;
		padding: 14rem 20rem;
	}
	.c-es-flow__overview-row dd {
		font-size: 21rem;
		padding: 16rem 20rem;
	}
	.c-es-flow__step {
		padding: 24rem;
	}
	.c-es-flow__steps .c-es-flow__step:not(:last-child)::after {
		left: 50%;
		transform: translateX(-50%);
		bottom: -22rem;
	}
	.c-es-flow__step-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 12rem;
	}
	.c-es-flow__step-no {
		font-size: 22rem;
		height: 40rem;
		min-width: 110rem;
	}
	.c-es-flow__step-title {
		font-size: 26rem;
	}
	.c-es-flow__task-text {
		min-width: 0;
		font-size: 23rem;
	}
	.c-es-flow__task-owner {
		font-size: 20rem;
	}
	.c-es-flow__note {
		font-size: 19rem;
	}

	/* 6. frame */
	.c-es-frame {
		padding: 24rem 18rem;
	}
	.c-es-frame__title {
		font-size: 25rem;
	}
	.c-es-frame__layer-head {
		font-size: 23rem;
	}
	.c-es-frame__tags span {
		font-size: 21rem;
	}
	.c-es-frame__cross {
		font-size: 20rem;
	}
	.c-es-frame__foot {
		font-size: 19rem;
	}

	/* 7. analysis */
	.c-es-analysis {
		grid-template-columns: 1fr;
		gap: 28rem;
	}
	.c-es-analysis__phase {
		font-size: 20rem;
	}
	.c-es-analysis__title {
		font-size: 27rem;
	}
	.c-es-analysis__text {
		font-size: 23rem;
	}
	.c-es-analysis__output {
		font-size: 20rem;
	}

	/* 8. report */
	.c-es-report {
		grid-template-columns: 1fr;
		gap: 28rem;
	}
	.c-es-report__no {
		width: 54rem;
		height: 54rem;
		font-size: 26rem;
	}
	.c-es-report__title {
		font-size: 26rem;
	}
	.c-es-report__lead {
		font-size: 21rem;
	}
	.c-es-report__list li {
		font-size: 23rem;
	}
	.c-es-report__list li::before {
		top: 12rem;
	}

	/* 9. schedule */
	.c-es-schedule {
		flex-direction: column;
		gap: 40rem;
	}
	.c-es-schedule__phase {
		padding: 24rem 22rem;
	}
	.c-es-schedule .c-es-schedule__phase:not(:last-child)::after {
		top: auto;
		right: 50%;
		bottom: -26rem;
		transform: translateX(50%);
		border-top: 12rem solid var(--hc-navy);
		border-left: 8rem solid transparent;
		border-right: 8rem solid transparent;
		border-bottom: 0;
	}
	.c-es-schedule__phase-name {
		font-size: 25rem;
	}
	.c-es-schedule__phase-term {
		font-size: 19rem;
	}
	.c-es-schedule__tasks li {
		font-size: 22rem;
	}
	.c-es-schedule__tasks li::before {
		top: 10rem;
	}
	.c-es-schedule__milestones {
		font-size: 21rem;
	}

	/* 10. measures */
	.c-es-measures__head {
		grid-template-columns: 1fr;
	}
	.c-es-measures__head-l,
	.c-es-measures__head-r {
		font-size: 22rem;
	}
	.c-es-measures__head-l {
		grid-column: auto;
	}
	.c-es-measures__head-r {
		display: none;
	}
	.c-es-measures__row {
		grid-template-columns: 1fr;
	}
	.c-es-measures__issue,
	.c-es-measures__action {
		font-size: 23rem;
		padding: 18rem 22rem;
	}
	.c-es-measures__arrow {
		justify-self: center;
		margin: 4rem 0;
		border-top: 12rem solid var(--hc-navy);
		border-left: 9rem solid transparent;
		border-right: 9rem solid transparent;
		border-bottom: 0;
	}
	.c-es-measures__merit {
		font-size: 22rem;
		border-radius: 16rem;
	}

	/* 11. practice */
	.c-es-practice {
		gap: 30rem;
	}
	.c-es-practice__vision {
		max-width: none;
		font-size: 27rem;
	}
	.c-es-practice__vision span {
		display: block;
		font-size: 20rem;
		margin-left: 0;
		margin-top: 4rem;
	}
	.c-es-practice__reforms {
		grid-template-columns: 1fr;
		gap: 28rem;
	}
	.c-es-practice__reform-head {
		font-size: 25rem;
	}
	.c-es-practice__reform-sub {
		font-size: 23rem;
	}
	.c-es-practice__base {
		font-size: 25rem;
	}
	.c-es-practice__base small {
		font-size: 20rem;
	}
	.c-es-practice__foundation {
		max-width: none;
		font-size: 24rem;
	}
}
