/* ============================================================
   株式会社経営支援｜Lightning 子テーマ メインスタイル
   front-page.php とセットで使用
   ============================================================ */

/* ===== Lightning 親テーマのデフォルトヘッダーを抑制 ===== */
.site-header-container,
#site-header,
#siteHeader,
.siteHeader,
.siteHeader_inner,
header.site-header,
header.siteHeader,
.lightning-headerTop,
.lightning-pageHeader,
.lightning-pageHeader-pageTitle,
.lightning-pageHeader-wrap,
.vk_pageHeader,
.wp-block-vk-blocks-pageheader,
body.keiei-shien-front .page-header,
body.keiei-shien-front .breadcrumb,
body.keiei-shien-front .breadcrumb-wrap,
body.keiei-shien-front nav[class*="breadcrumb"] { display:none !important; height:0 !important; padding:0 !important; margin:0 !important; }

/* メニュー文字色は親テーマ上書きから保護（強い特異性） */
body .ks-topnav,
body .ks-topnav *{ opacity:1 !important; visibility:visible !important; }
body .ks-topnav .ks-topnav__link,
body .ks-topnav .ks-topnav__link:link,
body .ks-topnav .ks-topnav__link:visited{
	color:#222 !important;
	-webkit-text-fill-color:#222 !important;
	text-shadow:none !important;
}
body .ks-topnav .ks-topnav__link--cta,
body .ks-topnav .ks-topnav__link--cta:link,
body .ks-topnav .ks-topnav__link--cta:visited{
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	background:#c69b3d !important;
}
body .ks-topnav .ks-topnav__brand-text{
	color:#084f66 !important;
	-webkit-text-fill-color:#084f66 !important;
}

/* ===== Top Navigation Bar（画面上部固定） ===== */
.ks-topnav{
	position:fixed !important;
	top:0; left:0; right:0;
	z-index:99990; /* WP管理バー(99999)の直下 */
	background:#ffffff !important;
	border-bottom:1px solid #e2e6ea;
	height:40px;
	box-shadow:0 1px 4px rgba(0,0,0,.06);
	font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","游ゴシック",Meiryo,sans-serif;
	margin:0 !important;
	padding:0 !important;
}
/* WordPress 管理バー表示時はその下に配置 */
body.admin-bar .ks-topnav{ top:32px }
@media screen and (max-width:782px){
	body.admin-bar .ks-topnav{ top:46px }
}
.ks-topnav *{box-sizing:border-box}
.ks-topnav a{text-decoration:none}
.ks-topnav__inner{
	max-width:1280px;
	margin:0 auto;
	height:100%;
	padding:0 18px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:14px;
}
.ks-topnav__brand{
	display:flex;
	align-items:center;
	flex-shrink:0;
	min-width:0;
	gap:8px;
}
.ks-topnav__logo{
	display:block;
	width:auto;
	max-height:30px;
}
.ks-topnav__brand-text{
	font-size:14.5px;
	font-weight:700;
	color:#084f66;
	letter-spacing:.05em;
	white-space:nowrap;
}

/* メニュー */
.ks-topnav__menu{
	display:flex;
	gap:2px;
	align-items:center;
}
.ks-topnav .ks-topnav__link{
	display:inline-flex;
	align-items:center;
	padding:4px 8px;
	font-size:12px;
	color:#222 !important;
	font-weight:600;
	letter-spacing:.02em;
	white-space:nowrap;
	line-height:1.3;
	border-bottom:2px solid transparent;
	background:transparent;
	transition:color .15s, border-color .15s, background .15s;
	text-decoration:none !important;
}
.ks-topnav .ks-topnav__link:hover,
.ks-topnav .ks-topnav__link:focus{
	color:#0b6e8c !important;
	border-bottom-color:#0b6e8c;
	text-decoration:none !important;
}
.ks-topnav .ks-topnav__link--cta{
	background:#c69b3d !important;
	color:#fff !important;
	padding:5px 11px;
	border-bottom:none;
	margin-left:4px;
}
.ks-topnav .ks-topnav__link--cta:hover,
.ks-topnav .ks-topnav__link--cta:focus{
	background:#a87f2a !important;
	color:#fff !important;
	border-bottom:none;
}

/* ハンバーガー（モバイル時のみ表示） */
.ks-topnav__toggle{
	display:none;
	background:transparent;
	border:0;
	padding:8px;
	cursor:pointer;
	width:44px;
	height:44px;
	position:relative;
}
.ks-topnav__toggle-bar{
	display:block;
	width:24px;
	height:2px;
	background:#222;
	margin:5px auto;
	transition:transform .2s, opacity .2s;
}
.ks-topnav__toggle[aria-expanded="true"] .ks-topnav__toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ks-topnav__toggle[aria-expanded="true"] .ks-topnav__toggle-bar:nth-child(2){opacity:0}
.ks-topnav__toggle[aria-expanded="true"] .ks-topnav__toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ボディ下方シフト（ナビ高さぶん） */
html{margin:0 !important;padding:0 !important}
body{margin:0 !important;padding-top:40px !important}
body.admin-bar{padding-top:72px !important} /* 40 + 32 */
@media screen and (max-width:782px){
	body.admin-bar{padding-top:86px !important} /* 40 + 46 */
}

/* レスポンシブ */
@media (max-width:1180px){
	.ks-topnav__link{padding:4px 6px;font-size:11.5px;letter-spacing:.01em}
	.ks-topnav__link--cta{padding:5px 10px}
}
@media (max-width:880px){
	.ks-topnav{height:40px}
	body{padding-top:40px !important}
	body.admin-bar{padding-top:72px !important} /* 40 + 32 */
	.ks-topnav__toggle{display:block;width:36px;height:36px;padding:5px}
	.ks-topnav__menu{
		position:fixed;
		top:40px;
		right:0;
		left:auto;
		width:min(280px, 80vw);
		background:#fff;
		border-left:1px solid #e2e6ea;
		border-bottom:1px solid #e2e6ea;
		box-shadow:-6px 6px 16px rgba(0,0,0,.12);
		z-index:99989;
		flex-direction:column;
		align-items:stretch;
		gap:0;
		padding:4px 0;
		max-height:calc(100vh - 40px);
		overflow-y:auto;
		transform:translateX(105%);
		opacity:0;
		pointer-events:none;
		transition:transform .25s ease, opacity .2s;
	}
	body.admin-bar .ks-topnav__menu{ top:72px; max-height:calc(100vh - 72px) }
	.ks-topnav__menu--open{
		transform:translateX(0);
		opacity:1;
		pointer-events:auto;
	}
	.ks-topnav .ks-topnav__link{
		padding:10px 18px !important;
		border-bottom:1px solid #f0f2f5;
		font-size:13.5px !important;
		line-height:1.4 !important;
	}
	.ks-topnav .ks-topnav__link:hover{
		border-bottom-color:#f0f2f5;
		background:#f6f8fa;
	}
	.ks-topnav .ks-topnav__link--cta{
		margin:6px 12px 4px !important;
		padding:8px 14px !important;
		text-align:center;
		justify-content:center;
		border-bottom:none;
	}
	.ks-topnav .ks-topnav__link--cta:hover{border-bottom:none}

	/* メニュー開閉時に背面の本文をクリックすると閉じるためのオーバーレイ */
	body.ks-topnav-open::before{
		content:"";
		position:fixed;
		top:40px; left:0; right:0; bottom:0;
		background:rgba(0,0,0,.25);
		z-index:99988;
	}
	body.ks-topnav-open.admin-bar::before{ top:72px }
}
@media screen and (max-width:782px){
	body.admin-bar .ks-topnav__menu{ top:86px } /* 40 + 46 */
}

/* スクロール対象アンカー先のオフセット調整（fixedナビにかぶらないように） */
.keiei-shien-front-wrap section[id]{scroll-margin-top:80px}

/* メニュー上下の余白除去（Lightning ラッパーの上下余白を抑制） */
body.keiei-shien-front .site-body,
body.keiei-shien-front main#main,
body.keiei-shien-front main.site-main,
body.keiei-shien-front .site-content,
body.keiei-shien-front .container,
body.keiei-shien-front .wrap,
body.keiei-shien-front #content,
body.keiei-shien-front #wrapper,
body.keiei-shien-front .site,
body.keiei-shien-front .site-content > div,
body.keiei-shien-front article,
body.keiei-shien-front .entry-header,
body.keiei-shien-front .entry-body,
body.keiei-shien-front .entry-content{
	margin-top:0 !important;
	padding-top:0 !important;
}
body.keiei-shien-front .keiei-shien-front-wrap{ margin-top:0 !important; padding-top:0 !important }
body.keiei-shien-front .ks-page-hero,
body.keiei-shien-front .ks-hero{ margin-top:0 !important }


/* ===== 代表メッセージ（はじめに） ===== */
.ks-message-card{
	background:#fff;
	border:1px solid #e2e6ea;
	border-left:5px solid #0b6e8c;
	padding:48px 56px;
	max-width:880px;
	margin:0 auto;
	box-shadow:0 2px 10px rgba(0,0,0,.04);
}
.ks-prose--message p{
	margin:0 0 16px;
	font-size:15.5px;
	line-height:2;
	color:#222;
}
.ks-prose--message p:last-of-type{ margin-bottom:0 }
.ks-prose--message strong{ color:#084f66 }
.ks-message-card__sign{
	margin:32px 0 0;
	text-align:right;
	font-size:14px;
	color:#555;
	line-height:1.8;
}
.ks-message-card__sign-name{
	display:inline-block;
	margin-top:4px;
	font-size:16px;
	font-weight:700;
	color:#222;
	letter-spacing:.06em;
}
@media (max-width:680px){
	.ks-message-card{ padding:28px 22px }
	.ks-prose--message p{ font-size:14.5px; line-height:1.95 }
}

/* ===== AI時代の価値の再定義 ===== */
.ks-ai-value-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:22px;
	margin:32px 0;
}
@media (max-width:780px){ .ks-ai-value-grid{ grid-template-columns:1fr } }
.ks-ai-value-col{
	background:#fff;
	border:1px solid #e2e6ea;
	padding:30px 28px;
	position:relative;
}
.ks-ai-value-col__head{
	display:inline-block;
	padding:6px 18px;
	font-size:14px;
	letter-spacing:.18em;
	font-weight:700;
	color:#fff;
	margin-bottom:14px;
}
.ks-ai-value-col--ai .ks-ai-value-col__head{ background:#6c7a89 }
.ks-ai-value-col--human .ks-ai-value-col__head{ background:#0b6e8c }
.ks-ai-value-col__role{
	font-size:14.5px;
	color:#084f66;
	font-weight:700;
	margin:0 0 14px;
	line-height:1.6;
}
.ks-ai-value-col ul{
	list-style:none;
	margin:0;
	padding:0;
}
.ks-ai-value-col ul li{
	position:relative;
	padding-left:22px;
	margin-bottom:10px;
	font-size:14.5px;
	color:#222;
	line-height:1.7;
}
.ks-ai-value-col ul li::before{
	content:"";
	position:absolute;
	left:0; top:.65em;
	width:10px; height:2px;
	background:#c69b3d;
}

.ks-prose__h3{
	font-size:19px;
	color:#084f66;
	font-weight:700;
	margin:28px 0 14px;
	letter-spacing:.04em;
	border-left:4px solid #c69b3d;
	padding-left:14px;
	line-height:1.5;
}

.ks-reproducibility{
	background:#fff;
	border:2px solid #0b6e8c;
	padding:28px 32px;
	margin:28px 0;
}
.ks-reproducibility__title{
	font-size:18px;
	color:#084f66;
	font-weight:700;
	margin:0 0 10px;
	text-align:center;
}
.ks-reproducibility__lead{
	text-align:center;
	color:#555;
	font-size:14px;
	margin:0 0 18px;
}
.ks-reproducibility__list{
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:14px;
}
@media (max-width:780px){ .ks-reproducibility__list{ grid-template-columns:1fr } }
.ks-reproducibility__list li{
	background:#f6f8fa;
	padding:16px 14px;
	text-align:center;
	font-size:14px;
	color:#222;
	border-left:3px solid #c69b3d;
	line-height:1.55;
}


:root{
	--ks-key:#0b6e8c;
	--ks-key-dark:#084f66;
	--ks-key-light:#e6f1f5;
	--ks-accent:#c69b3d;
	--ks-text:#222;
	--ks-text-soft:#555;
	--ks-line:#e2e6ea;
	--ks-bg:#ffffff;
	--ks-bg-soft:#f6f8fa;
}

/* トップページ用 全幅レイアウト調整（Lightning コンテナを解除） */
body.keiei-shien-front #main,
body.keiei-shien-front #main > .container,
body.keiei-shien-front .site-content,
body.keiei-shien-front .site-content > .container,
body.keiei-shien-front article,
body.keiei-shien-front .entry-body,
body.keiei-shien-front .entry-content {
	max-width:none !important;
	width:auto !important;
	padding:0 !important;
	margin:0 !important;
}
body.keiei-shien-front .entry-header,
body.keiei-shien-front .entry-footer,
body.keiei-shien-front .breadcrumb,
body.keiei-shien-front .post-meta,
body.keiei-shien-front .pagination,
body.keiei-shien-front .related-posts,
body.keiei-shien-front #sidebar,
body.keiei-shien-front .sidebar { display:none !important; }

.keiei-shien-front-wrap{
	font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","游ゴシック",Meiryo,sans-serif;
	color:var(--ks-text);line-height:1.85;
	background:var(--ks-bg);
}
.keiei-shien-front-wrap *{box-sizing:border-box}
.keiei-shien-front-wrap a{color:var(--ks-key);text-decoration:none}
.keiei-shien-front-wrap a:hover{text-decoration:underline}
.ks-container{max-width:1100px;margin:0 auto;padding:0 24px}

/* ===== Hero（明るい画像 × 赤系トーンで温かく華やかに） ===== */
.ks-hero{position:relative;min-height:580px;display:flex;align-items:center;background:#1f0810;overflow:hidden;border-bottom:5px solid #c53030;box-shadow:0 0 30px rgba(180,40,40,.45) inset}
/* 画像は暗くしない：明るく・彩度高めで華やかに */
.ks-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(1.1) contrast(1.1) saturate(1.35)}
/* オーバーレイ：左側を暗くしつつ、赤いグラデを加える */
.ks-hero__overlay{
	position:absolute;inset:0;
	background:
		radial-gradient(ellipse 60% 100% at left center, rgba(40,0,5,.6) 0%, rgba(40,0,5,.3) 40%, rgba(40,0,5,0) 75%),
		radial-gradient(circle at 90% 10%, rgba(255,150,120,.32) 0%, transparent 38%),
		radial-gradient(circle at 10% 90%, rgba(220,80,80,.28) 0%, transparent 38%);
}
/* 赤・オレンジの粒子（はっきり光るスパークル） */
.ks-hero::before{
	content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
	background-image:
		radial-gradient(3px 3px at 8% 18%, rgba(255,180,140,1), transparent 70%),
		radial-gradient(4px 4px at 22% 75%, rgba(255,140,100,1), transparent 70%),
		radial-gradient(5px 5px at 68% 12%, rgba(255,200,160,1), transparent 75%),
		radial-gradient(3px 3px at 80% 50%, rgba(255,150,110,1), transparent 70%),
		radial-gradient(4px 4px at 42% 88%, rgba(255,170,130,1), transparent 75%),
		radial-gradient(2px 2px at 52% 28%, rgba(255,240,230,1), transparent 60%),
		radial-gradient(2px 2px at 88% 78%, rgba(255,240,230,.9), transparent 60%),
		radial-gradient(3px 3px at 32% 38%, rgba(255,140,110,1), transparent 70%),
		radial-gradient(3px 3px at 95% 30%, rgba(255,180,140,1), transparent 70%),
		radial-gradient(3px 3px at 5% 50%, rgba(255,150,110,1), transparent 70%),
		radial-gradient(2px 2px at 65% 65%, rgba(255,240,230,.9), transparent 60%),
		radial-gradient(4px 4px at 28% 8%, rgba(255,200,160,1), transparent 75%);
	animation:ksHeroSparkle 2.5s ease-in-out infinite alternate;
	filter:drop-shadow(0 0 6px rgba(255,140,110,.9));
}
@keyframes ksHeroSparkle{
	0%   {opacity:.5;transform:scale(.95)}
	50%  {opacity:1;transform:scale(1.1)}
	100% {opacity:.6;transform:scale(1)}
}
.ks-hero::after{
	content:"";position:absolute;bottom:0;left:0;right:0;height:5px;z-index:5;
	background:linear-gradient(90deg, transparent 0%, rgba(197,48,48,1) 20%, rgba(255,180,140,1) 50%, rgba(197,48,48,1) 80%, transparent 100%);
	box-shadow:0 0 25px rgba(255,140,110,.9), 0 0 45px rgba(197,48,48,.7);
}
.ks-hero__inner{position:relative;z-index:3;color:#fff;padding:90px 24px;width:100%;max-width:1100px;margin:0 auto}
.ks-hero__tag{display:inline-block;padding:7px 20px;background:rgba(0,0,0,.55);border-left:3px solid var(--ks-accent);font-size:13px;letter-spacing:.1em;margin-bottom:24px;color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 16px rgba(0,0,0,.4)}
/* タイトル：強い文字影で読みやすく */
.ks-hero__title{
	font-size:clamp(28px,4.4vw,48px);
	font-weight:700;
	line-height:1.45;
	margin:0 0 22px;
	letter-spacing:.04em;
	color:#fff;
	text-shadow:
		0 0 24px rgba(0,0,0,.95),
		0 0 12px rgba(0,0,0,1),
		0 3px 6px rgba(0,0,0,.85),
		1px 2px 4px rgba(0,0,0,.95);
}
.ks-hero__title .accent{color:#f5d68a;text-shadow:0 0 18px rgba(0,0,0,.85),0 3px 6px rgba(0,0,0,.9),0 0 32px rgba(198,155,61,.5)}
/* サブテキスト：背景にうっすら黒のレイヤー＋強い影 */
.ks-hero__sub{
	font-size:clamp(14px,1.5vw,17px);
	max-width:720px;
	line-height:1.95;
	margin:0 0 32px;
	color:#fff;
	text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.85);
}
.ks-hero__actions{display:flex;gap:14px;flex-wrap:wrap}

.ks-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;font-weight:700;font-size:15px;letter-spacing:.05em;border:2px solid transparent;transition:all .2s;cursor:pointer;line-height:1}
.ks-btn--lg{padding:18px 38px;font-size:16px}
.ks-btn--primary{background:var(--ks-accent);color:#fff !important;border-color:var(--ks-accent)}
.ks-btn--primary:hover{background:#a87f2a;border-color:#a87f2a;text-decoration:none}
.ks-btn--ghost{background:transparent;color:#fff !important;border-color:#fff}
.ks-btn--ghost:hover{background:#fff;color:var(--ks-key-dark) !important;text-decoration:none}
.ks-btn--solid{background:var(--ks-key);color:#fff !important;border-color:var(--ks-key)}
.ks-btn--solid:hover{background:var(--ks-key-dark);border-color:var(--ks-key-dark);text-decoration:none}
.ks-btn--outline{background:#fff;color:var(--ks-key) !important;border-color:var(--ks-key)}
.ks-btn--outline:hover{background:var(--ks-key);color:#fff !important;text-decoration:none}
.ks-btn__arrow{font-size:18px;line-height:1;font-weight:400;transition:transform .2s}
.ks-btn:hover .ks-btn__arrow{transform:translateX(3px)}
.ks-section__action{text-align:center;margin-top:40px}

/* ===== セクション共通 ===== */
.ks-section{padding:80px 0}
.ks-section--soft{background:var(--ks-bg-soft)}
.ks-section--key{background:var(--ks-key-light)}
.ks-sec-head{text-align:center;margin-bottom:50px}
.ks-sec-head__en{display:block;font-size:13px;letter-spacing:.3em;color:var(--ks-key);font-weight:700;margin-bottom:8px;font-family:"Times New Roman",serif}
.ks-sec-head__ja{font-size:clamp(22px,2.8vw,30px);font-weight:700;color:var(--ks-text);margin:0 0 12px;letter-spacing:.04em}
.ks-sec-head__ja::after{content:"";display:block;width:40px;height:3px;background:var(--ks-accent);margin:14px auto 0}
.ks-sec-head__lead{color:var(--ks-text-soft);font-size:15px;max-width:640px;margin:0 auto;text-align:left;line-height:1.9}

/* ===== 経営理念 ===== */
.ks-philosophy{padding:40px 0 70px;background:linear-gradient(180deg,#fff 0%,var(--ks-bg-soft) 100%)}
.ks-philosophy__inner{background:#fff;border:1px solid var(--ks-line);padding:70px 60px;position:relative;text-align:center}
.ks-philosophy__inner::before,.ks-philosophy__inner::after{content:"";position:absolute;width:30px;height:30px;border-color:var(--ks-key)}
.ks-philosophy__inner::before{top:14px;left:14px;border-top:2px solid;border-left:2px solid}
.ks-philosophy__inner::after{bottom:14px;right:14px;border-bottom:2px solid;border-right:2px solid}
.ks-philosophy__label{display:inline-block;padding:6px 22px;background:var(--ks-key);color:#fff;font-size:13px;letter-spacing:.25em;font-weight:700;margin-bottom:28px}
.ks-philosophy__title{font-size:clamp(22px,3vw,32px);font-weight:700;color:var(--ks-key-dark);line-height:1.6;margin:0 0 32px;letter-spacing:.06em}
.ks-philosophy__body{font-size:16px;color:var(--ks-text);line-height:2.1;max-width:680px;margin:0 auto}
.ks-philosophy__body p{margin:0 0 12px}
.ks-philosophy__body p:last-child{margin-bottom:0}

/* ===== ビジョン ===== */
.ks-vision-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media(max-width:780px){.ks-vision-grid{grid-template-columns:1fr}}
.ks-vision__card{background:#fff;padding:32px 28px;border-top:3px solid var(--ks-key);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ks-vision__card h3{font-size:17px;color:var(--ks-key-dark);margin:0 0 14px;display:flex;align-items:center;gap:12px}
.ks-vision__num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--ks-key);color:#fff;font-family:serif;font-size:18px;font-weight:700;flex-shrink:0}
.ks-vision__card p{margin:0;font-size:14.5px;color:var(--ks-text-soft);line-height:1.95}

.ks-mission-band{background:var(--ks-key-dark);color:#fff;padding:54px 40px;text-align:center;margin-top:48px;position:relative}
.ks-mission-band__label{font-size:12px;letter-spacing:.3em;color:var(--ks-accent);margin-bottom:18px;font-family:"Times New Roman",serif}
.ks-mission-band__quote{font-size:clamp(20px,2.8vw,28px);font-weight:700;margin:0 0 22px;line-height:1.6;color:#fff}
.ks-mission-band__desc{font-size:15px;opacity:.95;line-height:2;max-width:720px;margin:0 auto;color:#fff}

/* ===== Issues ===== */
.ks-issues__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media(max-width:880px){.ks-issues__grid{grid-template-columns:1fr}}
.ks-issue{background:#fff;padding:28px 24px;border:1px solid var(--ks-line);border-top:4px solid #c0392b}
.ks-issue h4{color:#c0392b;font-size:16px;margin:0 0 14px;font-weight:700}
.ks-issue ul{margin:0;padding-left:1.2em;color:var(--ks-text-soft);font-size:14px}
.ks-issue li{margin-bottom:6px}
.ks-issues__concl{margin-top:40px;text-align:center;font-size:17px;font-weight:700;color:var(--ks-key-dark);padding:22px;background:#fff;border:1px solid var(--ks-line);border-left:5px solid var(--ks-accent)}

/* ===== Service ===== */
.ks-service__intro{background:#fff;padding:44px;margin-bottom:40px;text-align:center;border:1px solid var(--ks-line)}
.ks-service__intro h3{font-size:20px;color:var(--ks-key-dark);margin:0 0 18px}
.ks-service__list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:780px;margin:24px auto 0;text-align:left;list-style:none;padding:0}
@media(max-width:680px){.ks-service__list{grid-template-columns:1fr}}
.ks-service__list li{padding:10px 16px;background:var(--ks-bg-soft);border-left:3px solid var(--ks-key);font-size:14px}
.ks-service__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:780px){.ks-service__grid{grid-template-columns:1fr}}
.ks-service__card{background:#fff;padding:36px 32px;border:1px solid var(--ks-line);border-top:4px solid var(--ks-key)}
.ks-service__tag{display:inline-block;padding:4px 14px;background:var(--ks-key);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:14px}
.ks-service__card h3{font-size:19px;color:var(--ks-key-dark);margin:0 0 14px}
.ks-service__card p{margin:0 0 12px;font-size:14px;color:var(--ks-text-soft);line-height:1.95}
.ks-service__action{margin-top:18px}

/* ===== AI ===== */
.ks-ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
@media(max-width:680px){.ks-ai-grid{grid-template-columns:1fr}}
.ks-ai-col{background:#fff;padding:32px 28px;border:1px solid var(--ks-line);border-top:4px solid var(--ks-key)}
.ks-ai-col--ai{border-top-color:#5e35b1}
.ks-ai-col h4{margin:0 0 16px;font-size:16px;color:var(--ks-key-dark)}
.ks-ai-col--ai h4{color:#5e35b1}
.ks-ai-col ul{margin:0;padding-left:1.2em;font-size:14px;color:var(--ks-text-soft)}
.ks-ai-col li{margin-bottom:6px}
.ks-ai-quote{margin-top:28px;text-align:center;padding:22px;background:#fff;border:1px solid var(--ks-line);border-left:5px solid var(--ks-key)}
.ks-ai-quote p{margin:0;font-size:16px;font-weight:700;color:var(--ks-key-dark)}

/* ===== Reasons ===== */
.ks-reasons__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:980px){.ks-reasons__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ks-reasons__grid{grid-template-columns:1fr}}
.ks-reason{background:#fff;padding:30px 22px;text-align:center;border:1px solid var(--ks-line)}
.ks-reason__icon{width:60px;height:60px;background:var(--ks-key);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;margin:0 auto 16px;font-family:"Times New Roman",serif}
.ks-reason h4{font-size:15px;color:var(--ks-key-dark);margin:0 0 10px}
.ks-reason p{font-size:13.5px;color:var(--ks-text-soft);margin:0;line-height:1.85}

.ks-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
@media(max-width:780px){.ks-stats{grid-template-columns:repeat(2,1fr)}}
.ks-stat{background:#fff;padding:28px 18px;text-align:center;border:1px solid var(--ks-line);border-bottom:3px solid var(--ks-accent)}
.ks-stat__num{font-size:38px;font-weight:700;color:var(--ks-key);line-height:1;font-family:"Times New Roman",serif}
.ks-stat__num small{font-size:16px}
.ks-stat__label{font-size:12px;color:var(--ks-text-soft);margin-top:8px}

/* ===== Cases ===== */
.ks-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:780px){.ks-case-grid{grid-template-columns:1fr}}
.ks-case{background:#fff;padding:30px;border:1px solid var(--ks-line);border-left:4px solid var(--ks-accent)}
.ks-case__tag{display:inline-block;padding:3px 12px;background:var(--ks-key-light);color:var(--ks-key-dark);font-size:12px;font-weight:700;margin-bottom:12px}
.ks-case h4{font-size:16px;color:var(--ks-key-dark);margin:0 0 12px}
.ks-case p{font-size:14px;color:var(--ks-text-soft);margin:0;line-height:1.95}

/* ===== Company ===== */
.ks-company-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:start}
@media(max-width:780px){.ks-company-grid{grid-template-columns:1fr}}
.ks-company__table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ks-line)}
.ks-company__table th,.ks-company__table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--ks-line);font-size:14px;vertical-align:top}
.ks-company__table th{width:32%;background:var(--ks-bg-soft);color:var(--ks-key-dark);font-weight:700}
.ks-company__table tr:last-child th,.ks-company__table tr:last-child td{border-bottom:none}
.ks-center-info{background:#fff;padding:30px;border:1px solid var(--ks-line);border-top:4px solid var(--ks-key)}
.ks-center-info h4{font-size:16px;color:var(--ks-key-dark);margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--ks-line)}
.ks-center-info ul{margin:0;padding:0;list-style:none}
.ks-center-info li{padding:6px 0;font-size:13.5px;color:var(--ks-text-soft);display:flex;gap:8px}
.ks-center-info li::before{content:"■";color:var(--ks-key);flex-shrink:0;font-size:10px;margin-top:5px}

.ks-philosophy__action{margin-top:32px;text-align:center}

/* ============================================================
   詳細ページ共通（page-philosophy / page-company / page-ai-era）
   ============================================================ */

/* Page Hero（小さめのヒーロー） */
.ks-page-hero{position:relative;min-height:280px;display:flex;align-items:center;background:#0a3a4a;overflow:hidden;color:#fff}
.ks-page-hero__overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(8,79,102,.92) 0%,rgba(11,110,140,.78) 100%)}
.ks-page-hero--philosophy .ks-page-hero__overlay{background:linear-gradient(110deg,rgba(8,79,102,.92) 0%,rgba(11,110,140,.7) 100%)}
.ks-page-hero--company .ks-page-hero__overlay{background:linear-gradient(110deg,rgba(26,39,48,.92) 0%,rgba(8,79,102,.78) 100%)}
.ks-page-hero--ai .ks-page-hero__overlay{background:linear-gradient(110deg,rgba(94,53,177,.86) 0%,rgba(8,79,102,.82) 100%)}
.ks-page-hero--service .ks-page-hero__overlay{background:linear-gradient(110deg,rgba(8,79,102,.92) 0%,rgba(198,155,61,.55) 100%)}
.ks-page-hero--recruit .ks-page-hero__overlay{background:linear-gradient(110deg,rgba(11,110,140,.92) 0%,rgba(198,155,61,.55) 100%)}
.ks-page-hero__inner{position:relative;z-index:2;padding:60px 24px;width:100%}
.ks-page-hero__en{display:inline-block;font-size:13px;letter-spacing:.3em;color:var(--ks-accent);font-weight:700;margin-bottom:10px;font-family:"Times New Roman",serif}
.ks-page-hero__title{font-size:clamp(28px,4vw,42px);font-weight:700;line-height:1.4;margin:0 0 16px;letter-spacing:.05em;color:#fff}
.ks-page-hero__lead{font-size:15px;max-width:820px;line-height:1.95;margin:0 auto;color:#fff;opacity:.95;text-align:left !important}

/* prose（記事本文） */
.ks-prose{max-width:820px;margin:0 auto;font-size:15.5px;line-height:2.1;color:var(--ks-text)}
.ks-prose p{margin:0 0 18px}
.ks-prose strong{color:var(--ks-key-dark)}
.ks-prose em{font-style:normal;color:var(--ks-key);font-weight:700}
.ks-prose--center{text-align:center}

/* callout */
.ks-callout{background:#fff;border:1px solid var(--ks-line);border-left:5px solid var(--ks-accent);padding:24px 28px;margin:32px auto 0;max-width:880px}
.ks-callout--center{text-align:center;border-left:none;border-top:4px solid var(--ks-key)}
.ks-callout--accent{border-left:none;border-top:4px solid var(--ks-accent);background:var(--ks-key-light);text-align:center}
.ks-callout p{margin:0;font-size:15px;line-height:1.95;color:var(--ks-text)}

/* philosophy のページ用調整 */
.ks-philosophy__inner--page{padding:50px 40px;text-align:center}
.ks-philosophy__inner--page .ks-philosophy__body{font-size:15px;line-height:2;max-width:720px}
.ks-mission-band--page{margin-top:0;margin-bottom:30px}

/* 行動指針10 */
.ks-code-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:30px;max-width:900px;margin-left:auto;margin-right:auto}
/* v3.1.5：数字と文字の間を詰め＋見出し列を広げて改行防止 */
.ks-code{background:#fff;border:1px solid var(--ks-line);padding:22px 24px;display:grid;grid-template-columns:48px 320px 1fr;gap:6px 12px;align-items:center}
.ks-code__num{font-size:32px;font-weight:700;color:var(--ks-key);font-family:"Times New Roman",serif;line-height:1}
.ks-code h3{font-size:16px;color:var(--ks-key-dark);margin:0;border-left:3px solid var(--ks-key);padding-left:10px;line-height:1.45;letter-spacing:-0.01em;white-space:nowrap}
.ks-code p{margin:0;font-size:14px;color:var(--ks-text-soft);line-height:1.85}
@media(max-width:780px){
.ks-code{grid-template-columns:44px 1fr;padding:18px 18px;gap:6px 10px;align-items:start}
.ks-code__num{font-size:28px}
.ks-code h3{grid-column:2/3;white-space:normal}
.ks-code p{grid-column:2/3}
}

/* 目指す会社の姿 */
.ks-aspire-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
@media(max-width:680px){.ks-aspire-grid{grid-template-columns:1fr}}
.ks-aspire{background:var(--ks-bg-soft);padding:28px 22px;text-align:center;border-top:3px solid var(--ks-key)}
.ks-aspire__icon{width:48px;height:48px;margin:0 auto 14px;background:var(--ks-key);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;font-family:serif}
.ks-aspire p{margin:0;font-size:14px;color:var(--ks-text);line-height:1.85}
.ks-aspire-note{text-align:center;margin:24px 0 0;color:var(--ks-text-soft);font-size:14px}

/* ===== ks-aspire-grid 強化版（採用情報「大切にしている価値観」用） ===== */
.ks-aspire-grid--rich{
	grid-template-columns:repeat(3,1fr);
	gap:28px;
	margin:40px 0 12px;
}
.ks-aspire-grid--rich .ks-aspire{
	position:relative;
	background:#fff;
	padding:42px 26px 32px;
	border:none;
	border-top:none;
	border-radius:12px;
	box-shadow:0 8px 28px rgba(8,79,102,.10);
	overflow:hidden;
	transition:transform .25s ease,box-shadow .25s ease;
}
.ks-aspire-grid--rich .ks-aspire::before{
	content:"";
	position:absolute;left:0;top:0;right:0;height:6px;
	background:linear-gradient(90deg,var(--ks-key) 0%,var(--ks-accent,#C53030) 100%);
}
.ks-aspire-grid--rich .ks-aspire:hover{
	transform:translateY(-6px);
	box-shadow:0 14px 36px rgba(8,79,102,.18);
}
.ks-aspire-grid--rich .ks-aspire__icon{
	width:76px;height:76px;
	margin:6px auto 22px;
	background:linear-gradient(135deg,var(--ks-key) 0%,#3b88b8 100%);
	color:#fff;
	border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	font-size:36px;
	font-family:"Times New Roman",serif;
	box-shadow:0 6px 16px rgba(8,79,102,.28);
}
.ks-aspire-grid--rich .ks-aspire p{
	font-size:16px;
	line-height:1.85;
	color:var(--ks-text);
	font-weight:500;
	margin:0;
}
/* カラーバリエーション：3色ローテーション */
.ks-aspire-grid--rich .ks-aspire--c1::before{background:linear-gradient(90deg,#C53030 0%,#E85A4A 100%)}
.ks-aspire-grid--rich .ks-aspire--c1 .ks-aspire__icon{background:linear-gradient(135deg,#C53030 0%,#E85A4A 100%);box-shadow:0 6px 16px rgba(197,48,48,.32)}
.ks-aspire-grid--rich .ks-aspire--c2::before{background:linear-gradient(90deg,#2E5C8A 0%,#3b88b8 100%)}
.ks-aspire-grid--rich .ks-aspire--c2 .ks-aspire__icon{background:linear-gradient(135deg,#2E5C8A 0%,#3b88b8 100%)}
.ks-aspire-grid--rich .ks-aspire--c3::before{background:linear-gradient(90deg,#5A8A6B 0%,#7BAE89 100%)}
.ks-aspire-grid--rich .ks-aspire--c3 .ks-aspire__icon{background:linear-gradient(135deg,#5A8A6B 0%,#7BAE89 100%);box-shadow:0 6px 16px rgba(90,138,107,.32)}

/* ===== さらにビジュアル強化（watermark数字／VALUE ラベル／アイコンリング／装飾線） ===== */
.ks-aspire-grid--rich{position:relative;padding:30px 0 24px}
.ks-aspire-grid--rich::before{
	content:"";position:absolute;inset:-40px -20px;z-index:-1;
	background-image:
		radial-gradient(circle at 12% 30%, rgba(46,92,138,.06) 0%, transparent 35%),
		radial-gradient(circle at 88% 70%, rgba(197,48,48,.05) 0%, transparent 35%);
	pointer-events:none;
}
.ks-aspire-grid--rich .ks-aspire{
	padding:62px 28px 46px;
}
/* 巨大な番号 watermark（カード右下） */
.ks-aspire-grid--rich .ks-aspire::after{
	position:absolute;bottom:-36px;right:-12px;
	font-family:Georgia,"Times New Roman",serif;
	font-size:220px;font-weight:900;line-height:1;
	font-style:italic;
	pointer-events:none;z-index:0;
}
.ks-aspire-grid--rich .ks-aspire--c1::after{content:"01";color:rgba(197,48,48,.08)}
.ks-aspire-grid--rich .ks-aspire--c2::after{content:"02";color:rgba(46,92,138,.08)}
.ks-aspire-grid--rich .ks-aspire--c3::after{content:"03";color:rgba(90,138,107,.10)}
/* 上部の小さい「VALUE」ラベル */
.ks-aspire-grid--rich .ks-aspire .ks-aspire__icon{
	margin:8px auto 28px;
	width:96px;height:96px;
	font-size:46px;
	position:relative;z-index:1;
}
.ks-aspire-grid--rich .ks-aspire .ks-aspire__icon::before{
	content:"";position:absolute;inset:-10px;
	border:2px solid currentColor;border-radius:50%;
	opacity:.22;pointer-events:none;
}
/* VALUE 01 / 02 / 03 のラベル（カード上部、アイコン上） */
.ks-aspire-grid--rich .ks-aspire > p::before{display:none}
.ks-aspire-grid--rich .ks-aspire{display:flex;flex-direction:column;align-items:center}
.ks-aspire-grid--rich .ks-aspire--c1{}
.ks-aspire-grid--rich .ks-aspire--c1 > .ks-aspire__icon::after,
.ks-aspire-grid--rich .ks-aspire--c2 > .ks-aspire__icon::after,
.ks-aspire-grid--rich .ks-aspire--c3 > .ks-aspire__icon::after{display:none}
/* 本文：太く・大きく */
.ks-aspire-grid--rich .ks-aspire p{
	font-size:16.5px;font-weight:600;line-height:1.85;
	color:var(--ks-key-dark,#1F3F61);
	position:relative;z-index:1;margin:0;
}
/* 本文下の色付き装飾線 */
.ks-aspire-grid--rich .ks-aspire p::after{
	content:"";display:block;width:44px;height:3px;
	margin:22px auto 0;border-radius:2px;
}
.ks-aspire-grid--rich .ks-aspire--c1 p::after{background:linear-gradient(90deg,#C53030,#E85A4A)}
.ks-aspire-grid--rich .ks-aspire--c2 p::after{background:linear-gradient(90deg,#2E5C8A,#3b88b8)}
.ks-aspire-grid--rich .ks-aspire--c3 p::after{background:linear-gradient(90deg,#5A8A6B,#7BAE89)}
/* ホバーをさらに強調 */
.ks-aspire-grid--rich .ks-aspire:hover{transform:translateY(-8px) scale(1.02)}
.ks-aspire-grid--rich .ks-aspire:hover::after{opacity:1.2}
.ks-aspire-grid--rich .ks-aspire:hover .ks-aspire__icon::before{opacity:.4}

@media(max-width:880px){.ks-aspire-grid--rich{grid-template-columns:1fr;gap:18px}}
@media(max-width:680px){
	.ks-aspire-grid--rich .ks-aspire{padding:48px 22px 36px}
	.ks-aspire-grid--rich .ks-aspire__icon{width:78px;height:78px;font-size:36px}
	.ks-aspire-grid--rich .ks-aspire::after{font-size:160px;bottom:-28px}
}

/* 10年ビジョン statement */
.ks-vision-statement{background:#fff;border:1px solid var(--ks-line);border-top:4px solid var(--ks-key);padding:32px 36px;margin:30px 0;max-width:880px;margin-left:auto;margin-right:auto}
.ks-vision-statement p{margin:0 0 10px;font-size:16px;line-height:1.95;color:var(--ks-text)}
.ks-vision-statement strong{color:var(--ks-key-dark)}
.ks-vision-statement em{font-style:normal;color:var(--ks-key);font-weight:700}
.ks-vision-statement__sub{font-size:14px !important;color:var(--ks-text-soft) !important}

/* checklist */
.ks-checklist{max-width:760px;margin:24px auto 0;padding:0;list-style:none}
.ks-checklist li{padding:12px 16px 12px 44px;background:#fff;border:1px solid var(--ks-line);margin-bottom:8px;font-size:14.5px;color:var(--ks-text);position:relative}
.ks-checklist li::before{content:"✓";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;background:var(--ks-key);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}

/* 代表メッセージ */
.ks-message{display:grid;grid-template-columns:1fr;gap:24px;max-width:840px;margin:0 auto;background:#fff;padding:48px 40px;border:1px solid var(--ks-line);border-top:4px solid var(--ks-key)}
.ks-message__sign{text-align:right;border-top:1px solid var(--ks-line);padding-top:20px}
.ks-message__sign-title{font-size:13px;color:var(--ks-text-soft);margin:0 0 4px}
.ks-message__sign-name{font-size:18px;font-weight:700;color:var(--ks-text);margin:0;font-family:"Yu Mincho","游明朝",serif;letter-spacing:.1em}

/* 沿革タイムライン */
.ks-timeline{
	list-style:none !important;
	padding:0 !important;
	margin:30px auto 0 !important;
	max-width:860px;
	position:relative !important;
}
/* 縦線：年号列の少し右に */
.ks-timeline::before{
	content:"" !important;
	position:absolute !important;
	left:106px !important;
	top:8px;
	bottom:8px;
	width:2px !important;
	background:var(--ks-line) !important;
	z-index:0 !important;
}
.ks-timeline__item{
	position:relative !important;
	padding:0 0 32px 140px !important;
	display:block !important;
	margin:0 !important;
}
.ks-timeline__item:last-child{padding-bottom:0 !important}
/* 年号領域：幅80px、右寄せ。右端は80px */
.ks-timeline__year{
	position:absolute !important;
	left:0 !important;
	top:2px !important;
	width:80px !important;
	max-width:80px !important;
	text-align:right !important;
	color:var(--ks-key) !important;
	font-weight:700 !important;
	font-family:"Times New Roman",serif !important;
	font-size:22px !important;
	line-height:1.2 !important;
	letter-spacing:.03em !important;
	z-index:2 !important;
	background:transparent !important;
	padding:0 !important;
	margin:0 !important;
	white-space:nowrap !important;
}
/* 丸印：左100px〜114px（縦線107中心に揃う）。年号領域(0-80)とは20pxの余白 */
.ks-timeline__item::after{
	content:"" !important;
	position:absolute !important;
	left:100px !important;
	top:8px !important;
	width:14px !important;
	height:14px !important;
	background:var(--ks-key) !important;
	border-radius:50% !important;
	border:3px solid #fff !important;
	box-shadow:0 0 0 1px var(--ks-line) !important;
	z-index:1 !important;
}
.ks-timeline__item--current::after{background:var(--ks-accent) !important}
.ks-timeline__body{
	background:#fff !important;
	border:1px solid var(--ks-line) !important;
	padding:18px 22px !important;
	border-left:3px solid var(--ks-key) !important;
}
.ks-timeline__item--current .ks-timeline__body{border-left-color:var(--ks-accent) !important}
.ks-timeline__body{text-align:left !important}
.ks-timeline__body h3{font-size:15.5px;color:var(--ks-key-dark);margin:0 0 8px;text-align:left !important}
.ks-timeline__body p{margin:0;font-size:13.5px;color:var(--ks-text-soft);line-height:1.85;text-align:left !important}
.ks-timeline__item{text-align:left}

@media (max-width:680px){
	.ks-timeline::before{left:68px !important}
	.ks-timeline__item{padding-left:96px !important}
	.ks-timeline__year{width:50px !important;font-size:18px !important}
	.ks-timeline__item::after{left:62px !important}
}

/* 認定・表彰 */
.ks-awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
@media(max-width:780px){.ks-awards-grid{grid-template-columns:1fr}}
.ks-award{background:#fff;border:1px solid var(--ks-line);padding:28px 24px;text-align:center;border-top:4px solid var(--ks-accent)}
.ks-award__badge{width:54px;height:54px;background:var(--ks-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;font-family:serif;margin:0 auto 14px;border-radius:50%}
.ks-award h3{font-size:15px;color:var(--ks-key-dark);margin:0 0 8px}
.ks-award p{margin:0;font-size:13px;color:var(--ks-text-soft);line-height:1.7}

/* センター体制（4カード） */
.ks-center-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}
@media(max-width:680px){.ks-center-grid{grid-template-columns:1fr}}
.ks-center-card{background:#fff;border:1px solid var(--ks-line);border-top:3px solid var(--ks-key);padding:24px 26px}
.ks-center-card h3{font-size:15px;color:var(--ks-key-dark);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--ks-line)}
.ks-center-card ul{margin:0;padding:0;list-style:none}
.ks-center-card li{padding:6px 0 6px 18px;font-size:13.5px;color:var(--ks-text-soft);line-height:1.7;position:relative}
.ks-center-card li::before{content:"●";position:absolute;left:0;top:7px;color:var(--ks-key);font-size:8px}

/* アクセス */
.ks-access{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;background:#fff;border:1px solid var(--ks-line);padding:32px 36px;align-items:center}
@media(max-width:780px){.ks-access{grid-template-columns:1fr}}
.ks-access__info h3{font-size:16px;color:var(--ks-key-dark);margin:0 0 14px}
.ks-access__info p{margin:0 0 8px;font-size:14px;color:var(--ks-text);line-height:1.85}
.ks-access__map{text-align:center}
@media(max-width:780px){.ks-access__map{text-align:left}}

/* AIページ - 課題と結果 */
.ks-cause-effect{display:grid;grid-template-columns:1fr 60px 1fr;gap:20px;align-items:start;margin-top:30px}
@media(max-width:780px){.ks-cause-effect{grid-template-columns:1fr}}
.ks-cause-effect__col{background:#fff;border:1px solid var(--ks-line);padding:28px 26px;border-top:4px solid var(--ks-key)}
.ks-cause-effect__col h3{font-size:15px;color:var(--ks-key-dark);margin:0 0 14px}
.ks-cause-effect__arrow{font-size:36px;color:var(--ks-key);text-align:center;align-self:center;font-weight:700}
@media(max-width:780px){.ks-cause-effect__arrow{transform:rotate(90deg);margin:0 auto}}

.ks-bullet-list{margin:0;padding:0;list-style:none}
.ks-bullet-list li{padding:8px 0 8px 22px;font-size:14px;color:var(--ks-text-soft);line-height:1.85;position:relative;border-bottom:1px dashed var(--ks-line)}
.ks-bullet-list li:last-child{border-bottom:none}
.ks-bullet-list li::before{content:"■";position:absolute;left:0;top:11px;color:var(--ks-key);font-size:9px}
.ks-bullet-list--danger li::before{color:#c0392b}

/* 防げる離脱 */
.ks-dropout-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
@media(max-width:680px){.ks-dropout-grid{grid-template-columns:1fr}}
.ks-dropout{background:#fff;border:1px solid var(--ks-line);padding:30px 28px;border-top:4px solid #999}
.ks-dropout--cant{border-top-color:#999}
.ks-dropout--can{border-top-color:var(--ks-accent)}
.ks-dropout h3{font-size:16px;color:var(--ks-key-dark);margin:0 0 16px}
.ks-dropout--cant h3{color:#777}
.ks-dropout ul{margin:0 0 16px;padding-left:1.2em;font-size:14px;color:var(--ks-text-soft)}
.ks-dropout li{margin-bottom:6px}
.ks-dropout__note{margin:0;font-size:13px;color:var(--ks-text-soft);line-height:1.85;padding-top:12px;border-top:1px dashed var(--ks-line)}

/* 兆候・判断 */
.ks-signs-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;position:relative}
@media(max-width:680px){.ks-signs-grid{grid-template-columns:1fr}}
.ks-signs__col{background:#fff;border:1px solid var(--ks-line);padding:28px 26px;border-top:4px solid var(--ks-key)}
.ks-signs__col:nth-child(2){border-top-color:var(--ks-accent)}
.ks-signs__col h3{font-size:15px;color:var(--ks-key-dark);margin:0 0 14px}
.ks-signs__col ul{margin:0;padding-left:1.2em;font-size:14px;color:var(--ks-text-soft)}
.ks-signs__col li{margin-bottom:7px}

/* フェーズ別フォロー */
.ks-phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;position:relative}
@media(max-width:780px){.ks-phase-grid{grid-template-columns:1fr}}
.ks-phase{background:#fff;border:1px solid var(--ks-line);padding:30px 26px;text-align:center;position:relative}
.ks-phase__num{width:46px;height:46px;background:var(--ks-key);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;font-family:"Times New Roman",serif;margin:0 auto 14px;border-radius:50%}
.ks-phase h3{font-size:16px;color:var(--ks-key-dark);margin:0 0 16px}
.ks-phase ul{margin:0;padding:0;list-style:none;text-align:left}
.ks-phase li{padding:8px 0 8px 18px;font-size:13.5px;color:var(--ks-text-soft);position:relative;border-bottom:1px dashed var(--ks-line)}
.ks-phase li:last-child{border-bottom:none}
.ks-phase li::before{content:"▸";position:absolute;left:0;top:8px;color:var(--ks-key)}

/* まとめフロー */
.ks-summary-flow{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr;gap:14px;margin-top:30px;align-items:stretch}
@media(max-width:780px){.ks-summary-flow{grid-template-columns:1fr}}
.ks-summary-flow__col{background:#fff;border:1px solid var(--ks-line);padding:24px 22px;display:flex;flex-direction:column}
.ks-summary-flow__head{padding:8px 14px;color:#fff;font-weight:700;text-align:center;font-size:13px;letter-spacing:.1em;margin:-24px -22px 16px;background:var(--ks-key)}
.ks-summary-flow__head--ai{background:#5e35b1}
.ks-summary-flow__head--center{background:var(--ks-key)}
.ks-summary-flow__head--result{background:var(--ks-accent)}
.ks-summary-flow__col ul{margin:0;padding-left:1.2em;font-size:13.5px;color:var(--ks-text-soft);list-style:square}
.ks-summary-flow__col li{margin-bottom:6px}
.ks-summary-flow__plus,
.ks-summary-flow__arrow{align-self:center;font-size:24px;font-weight:700;color:var(--ks-key);text-align:center}
@media(max-width:780px){.ks-summary-flow__plus,.ks-summary-flow__arrow{transform:rotate(90deg);margin:8px auto}}

/* ===== Recruit ===== */
.ks-recruit{background:#fff;padding:70px 0;border-top:1px solid var(--ks-line);border-bottom:1px solid var(--ks-line)}
.ks-recruit__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.ks-recruit__copy{flex:1;min-width:280px}
.ks-recruit__en{display:block;font-size:13px;letter-spacing:.3em;color:var(--ks-key);font-weight:700;margin-bottom:4px;font-family:"Times New Roman",serif}
.ks-recruit__title{font-size:clamp(22px,2.6vw,28px);font-weight:700;color:var(--ks-text);margin:0 0 14px;letter-spacing:.04em}
.ks-recruit__lead{font-size:14.5px;color:var(--ks-text-soft);margin:0;line-height:1.95}
.ks-recruit__action{flex-shrink:0}
@media(max-width:680px){.ks-recruit__action{width:100%}.ks-recruit__action .ks-btn{width:100%;justify-content:center}}

/* ===== CTA ===== */
.ks-cta{background:var(--ks-key-dark);color:#fff;text-align:center;padding:64px 24px}
.ks-cta h2{font-size:clamp(22px,3vw,30px);margin:0 0 16px;line-height:1.5;letter-spacing:.04em;color:#fff}
.ks-cta p{font-size:15px;opacity:.9;margin:0 auto 28px;max-width:680px;color:#fff}
.ks-cta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}


/* ===== 採用情報ページ：働く環境 ===== */
.ks-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.ks-feature-grid--2col{grid-template-columns:repeat(2,1fr);gap:24px;max-width:880px;margin-left:auto;margin-right:auto}
.ks-feature-grid--2col-force{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:24px !important;max-width:880px !important;margin:24px auto !important}
@media (max-width:720px){.ks-feature-grid--2col-force{grid-template-columns:1fr !important}}
@media (max-width:780px){.ks-feature-grid,.ks-feature-grid--2col{grid-template-columns:1fr}}
.ks-feature{background:#fff;padding:24px 22px;border:1px solid var(--ks-line);border-top:3px solid var(--ks-key);box-shadow:0 1px 4px rgba(0,0,0,.03)}
.ks-feature h3{font-size:16px;color:var(--ks-key-dark);margin:0 0 10px;font-weight:700;letter-spacing:.04em}
.ks-feature p{margin:0;font-size:14px;color:var(--ks-text-soft);line-height:1.85}

/* ===== 採用情報ページ：募集職種 ===== */
.ks-jobs{display:flex;flex-direction:column;gap:18px;max-width:880px;margin:0 auto}
.ks-job{background:#fff;border:1px solid var(--ks-line);padding:28px 30px;border-left:4px solid var(--ks-accent)}
.ks-job__tag{display:inline-block;padding:4px 14px;background:var(--ks-key);color:#fff;font-size:12px;letter-spacing:.12em;font-weight:700;margin-bottom:12px}
.ks-job h3{font-size:19px;color:var(--ks-text);margin:0 0 16px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.ks-job__meta{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;margin:0;font-size:14px;line-height:1.7}
.ks-job__meta dt{font-weight:700;color:var(--ks-key-dark);padding-top:2px}
.ks-job__meta dd{margin:0;color:var(--ks-text);padding-top:2px}
@media (max-width:680px){
	.ks-job{padding:22px 20px}
	.ks-job__meta{grid-template-columns:1fr;gap:2px}
	.ks-job__meta dt{padding-top:8px;font-size:12.5px;color:var(--ks-key)}
	.ks-job__meta dt:first-of-type{padding-top:0}
}

/* ===== 募集職種：左に正方形イメージ枠を追加（--with-image 修飾） ===== */
.ks-job--with-image{
	display:grid;
	grid-template-columns:200px 1fr;
	grid-template-areas:
		"img tag"
		"img title"
		"img meta";
	column-gap:28px;
	row-gap:10px;
	align-items:start;
}
.ks-job--with-image .ks-job__image{grid-area:img;align-self:start}
.ks-job--with-image .ks-job__tag{grid-area:tag;margin-bottom:0}
.ks-job--with-image > h3{grid-area:title;margin:4px 0 6px}
.ks-job--with-image .ks-job__meta{grid-area:meta}
.ks-job--with-image .ks-job__image{
	margin:0;
	width:200px;
	aspect-ratio:1 / 1;
	border-radius:10px;
	overflow:hidden;
	background:linear-gradient(135deg,#eef3f7 0%,#dee6ec 100%);
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 4px 14px rgba(8,79,102,.10);
}
.ks-job--with-image .ks-job__image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.ks-job__image-placeholder{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	gap:8px;
	color:#9aa7b3;
	font-size:12.5px;
	letter-spacing:.06em;
	line-height:1.5;
}
.ks-job__image-placeholder-icon{
	font-size:42px;
	line-height:1;
	opacity:.55;
	color:#7d8b97;
}
@media (max-width:680px){
	.ks-job--with-image{
		grid-template-columns:1fr;
		grid-template-areas:
			"img"
			"tag"
			"title"
			"meta";
		row-gap:12px;
	}
	.ks-job--with-image .ks-job__image{
		width:160px;
		margin:0 auto;
	}
}

/* ===== 採用情報ページ：応募の流れ ===== */
.ks-flow{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;max-width:760px;margin:0 auto;counter-reset:flow-step}
.ks-flow__step{display:flex;gap:24px;background:#fff;border:1px solid var(--ks-line);padding:24px 28px;align-items:flex-start;position:relative}
.ks-flow__num{flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:var(--ks-key);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.05em;font-family:"Times New Roman",serif}
.ks-flow__body{flex:1;min-width:0}
.ks-flow__body h3{font-size:17px;color:var(--ks-key-dark);margin:0 0 8px;font-weight:700;letter-spacing:.04em}
.ks-flow__body p{margin:0;font-size:14.5px;color:var(--ks-text-soft);line-height:1.85}

/* ===== サービスページ：強み4カード ===== */
.ks-reasons__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
@media (max-width:880px){.ks-reasons__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.ks-reasons__grid{grid-template-columns:1fr}}
.ks-reason{background:#fff;border:1px solid var(--ks-line);padding:24px 22px;text-align:center;border-top:3px solid var(--ks-key)}
.ks-reason__icon{width:56px;height:56px;background:var(--ks-key-light);color:var(--ks-key-dark);border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;font-family:"Times New Roman",serif;letter-spacing:.04em}
.ks-reason h4{font-size:15px;color:var(--ks-text);margin:0 0 8px;font-weight:700;letter-spacing:.04em}
.ks-reason p{margin:0;font-size:13.5px;color:var(--ks-text-soft);line-height:1.85}

/* ===== 選ばれる4つの理由：リッチ版（4色循環＋watermark） ===== */
.ks-reasons__grid--rich{
	grid-template-columns:repeat(4,1fr);
	gap:24px;
	margin:40px 0 16px;
	position:relative;
	padding:30px 0 24px;
}
.ks-reasons__grid--rich::before{
	content:"";position:absolute;inset:-30px -20px;z-index:-1;
	background-image:
		radial-gradient(circle at 20% 30%, rgba(46,92,138,.06) 0%, transparent 35%),
		radial-gradient(circle at 80% 70%, rgba(197,48,48,.05) 0%, transparent 35%);
	pointer-events:none;
}
.ks-reasons__grid--rich .ks-reason{
	position:relative;
	background:#fff;
	padding:60px 24px 36px;
	border:none;
	border-top:none;
	border-radius:14px;
	box-shadow:0 8px 28px rgba(8,79,102,.10);
	overflow:hidden;
	transition:transform .25s ease,box-shadow .25s ease;
	text-align:center;
}
.ks-reasons__grid--rich .ks-reason:hover{
	transform:translateY(-8px) scale(1.02);
	box-shadow:0 16px 40px rgba(8,79,102,.20);
}
/* 上部のグラデーションバー（c1〜c4で色違い） */
.ks-reasons__grid--rich .ks-reason::before{
	content:"";position:absolute;left:0;top:0;right:0;height:8px;
}
/* 巨大 watermark 番号 01〜04 */
.ks-reasons__grid--rich .ks-reason::after{
	position:absolute;bottom:-44px;right:-14px;
	font-family:Georgia,"Times New Roman",serif;
	font-size:200px;font-weight:900;line-height:1;font-style:italic;
	pointer-events:none;z-index:0;
}
.ks-reasons__grid--rich .ks-reason--c1::after{content:"01";color:rgba(197,48,48,.10)}
.ks-reasons__grid--rich .ks-reason--c2::after{content:"02";color:rgba(46,92,138,.10)}
.ks-reasons__grid--rich .ks-reason--c3::after{content:"03";color:rgba(90,138,107,.12)}
.ks-reasons__grid--rich .ks-reason--c4::after{content:"04";color:rgba(198,155,61,.14)}
/* アイコン：大きく、円形、グラデーション、リング */
.ks-reasons__grid--rich .ks-reason__icon{
	width:88px;height:88px;
	margin:8px auto 24px;
	border-radius:50%;
	background:#2E5C8A;
	color:#fff;
	font-size:26px;font-weight:900;
	font-family:"Times New Roman",serif;
	letter-spacing:.04em;
	display:flex;align-items:center;justify-content:center;
	position:relative;z-index:1;
}
.ks-reasons__grid--rich .ks-reason__icon::before{
	content:"";position:absolute;inset:-10px;
	border:2px solid currentColor;border-radius:50%;
	opacity:.22;pointer-events:none;
}
/* 4色バリエーション */
.ks-reasons__grid--rich .ks-reason--c1::before{background:linear-gradient(90deg,#C53030,#E85A4A)}
.ks-reasons__grid--rich .ks-reason--c1 .ks-reason__icon{background:linear-gradient(135deg,#C53030 0%,#E85A4A 100%);box-shadow:0 6px 18px rgba(197,48,48,.32)}
.ks-reasons__grid--rich .ks-reason--c2::before{background:linear-gradient(90deg,#2E5C8A,#3b88b8)}
.ks-reasons__grid--rich .ks-reason--c2 .ks-reason__icon{background:linear-gradient(135deg,#2E5C8A 0%,#3b88b8 100%);box-shadow:0 6px 18px rgba(46,92,138,.32)}
.ks-reasons__grid--rich .ks-reason--c3::before{background:linear-gradient(90deg,#5A8A6B,#7BAE89)}
.ks-reasons__grid--rich .ks-reason--c3 .ks-reason__icon{background:linear-gradient(135deg,#5A8A6B 0%,#7BAE89 100%);box-shadow:0 6px 18px rgba(90,138,107,.32)}
.ks-reasons__grid--rich .ks-reason--c4::before{background:linear-gradient(90deg,#C69B3D,#E8C896)}
.ks-reasons__grid--rich .ks-reason--c4 .ks-reason__icon{background:linear-gradient(135deg,#C69B3D 0%,#E8C896 100%);box-shadow:0 6px 18px rgba(198,155,61,.34);color:#fff}
/* 見出し：大きく・色付き・下に装飾線 */
.ks-reasons__grid--rich .ks-reason h4{
	font-size:17px;font-weight:700;
	color:var(--ks-key-dark,#1F3F61);
	margin:0 0 14px;
	position:relative;z-index:1;
	letter-spacing:.04em;line-height:1.5;
}
.ks-reasons__grid--rich .ks-reason h4::after{
	content:"";display:block;
	width:38px;height:3px;
	margin:12px auto 0;border-radius:2px;
}
.ks-reasons__grid--rich .ks-reason--c1 h4::after{background:linear-gradient(90deg,#C53030,#E85A4A)}
.ks-reasons__grid--rich .ks-reason--c2 h4::after{background:linear-gradient(90deg,#2E5C8A,#3b88b8)}
.ks-reasons__grid--rich .ks-reason--c3 h4::after{background:linear-gradient(90deg,#5A8A6B,#7BAE89)}
.ks-reasons__grid--rich .ks-reason--c4 h4::after{background:linear-gradient(90deg,#C69B3D,#E8C896)}
/* 本文 */
.ks-reasons__grid--rich .ks-reason p{
	font-size:14px;
	color:var(--ks-text,#1A2332);
	line-height:1.85;font-weight:500;
	margin:0;
	position:relative;z-index:1;
}

@media (max-width:980px){.ks-reasons__grid--rich{grid-template-columns:repeat(2,1fr);gap:20px}}
@media (max-width:520px){
	.ks-reasons__grid--rich{grid-template-columns:1fr;gap:16px}
	.ks-reasons__grid--rich .ks-reason{padding:50px 22px 30px}
	.ks-reasons__grid--rich .ks-reason__icon{width:74px;height:74px;font-size:22px}
	.ks-reasons__grid--rich .ks-reason::after{font-size:160px;bottom:-30px}
}

.ks-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px;padding-top:30px;border-top:1px solid var(--ks-line)}
@media (max-width:680px){.ks-stats{grid-template-columns:repeat(2,1fr)}}
.ks-stat{text-align:center}
.ks-stat__num{font-size:34px;font-weight:700;color:var(--ks-key-dark);letter-spacing:.04em;font-family:"Times New Roman",serif;line-height:1.2}
.ks-stat__num small{font-size:14px;font-weight:400;color:var(--ks-text);margin-left:2px}
.ks-stat__label{font-size:13px;color:var(--ks-text-soft);margin-top:4px;letter-spacing:.04em}

/* ===== サービスカード共通（front-page と共有） ===== */
.ks-service__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:20px}
@media (max-width:780px){.ks-service__grid{grid-template-columns:1fr}}
.ks-service__card{background:#fff;padding:32px 30px;border:1px solid var(--ks-line);border-top:3px solid var(--ks-key)}
.ks-service__tag{display:inline-block;padding:5px 16px;background:var(--ks-key);color:#fff;font-size:12px;letter-spacing:.14em;font-weight:700;margin-bottom:14px}
.ks-service__card h3{font-size:19px;color:var(--ks-text);margin:0 0 14px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.ks-service__card p{margin:0 0 10px;font-size:14.5px;color:var(--ks-text-soft);line-height:1.85}
.ks-service__action{margin-top:18px}


/* ===== 採用CXページ：業務スコープ表 ===== */
.ks-scope-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch;max-width:980px;margin:0 auto}
@media (max-width:780px){.ks-scope-grid{grid-template-columns:1fr;gap:12px}}
.ks-scope-col{background:#fff;border:1px solid var(--ks-line);padding:24px 22px}
.ks-scope-col h3{font-size:16px;color:var(--ks-key-dark);margin:0 0 12px;font-weight:700;letter-spacing:.04em;border-bottom:2px solid var(--ks-key);padding-bottom:10px}
.ks-scope-col h3 span{font-size:12px;color:var(--ks-text-soft);font-weight:400;display:block;margin-top:3px;letter-spacing:.02em}
.ks-scope-col ul{list-style:none;padding:0;margin:0}
.ks-scope-col ul li{padding:5px 0 5px 16px;font-size:14px;color:var(--ks-text);line-height:1.7;position:relative}
.ks-scope-col ul li::before{content:"";position:absolute;left:0;top:.85em;width:6px;height:6px;background:var(--ks-accent);border-radius:50%}
.ks-scope-col--ours{background:#f4f9fc;border-color:var(--ks-key)}
.ks-scope-arrow{display:flex;align-items:center;justify-content:center;font-size:36px;color:var(--ks-key);font-weight:700;padding:0 10px}
@media (max-width:780px){.ks-scope-arrow{padding:0;transform:rotate(90deg)}}

/* ===== 採用CXページ：応募後プロセスの可視化（左揃え横棒グラフ） ===== */
.ks-funnel-wrap{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start;max-width:1020px;margin:0 auto}
@media (max-width:780px){.ks-funnel-wrap{grid-template-columns:1fr;gap:20px}}

.ks-funnel{display:flex;flex-direction:column;gap:10px;padding:8px 0;width:100%}
.ks-funnel__row{display:flex;align-items:center;gap:14px}
.ks-funnel__name{
	flex:0 0 120px;
	font-size:14px;
	color:#222;
	font-weight:600;
	letter-spacing:.02em;
	text-align:right;
	line-height:1.4;
}
.ks-funnel__track{
	flex:1;
	height:32px;
	background:#f0f4f7;
	border:1px solid #e2e6ea;
	position:relative;
	overflow:hidden;
}
.ks-funnel__bar{
	height:100%;
	background:linear-gradient(90deg, var(--ks-key) 0%, var(--ks-key-dark) 100%);
	display:flex;
	align-items:center;
	justify-content:flex-end;
	padding-right:10px;
	color:#fff;
	min-width:36px;
}
.ks-funnel__bar--accent{
	background:linear-gradient(90deg, var(--ks-accent) 0%, #a87f2a 100%);
}
.ks-funnel__value{
	font-family:"Times New Roman",serif;
	font-size:14px;
	font-weight:700;
	letter-spacing:.05em;
	line-height:1;
}

@media (max-width:520px){
	.ks-funnel__row{gap:8px}
	.ks-funnel__name{flex:0 0 88px;font-size:12.5px}
	.ks-funnel__track{height:28px}
	.ks-funnel__value{font-size:13px}
}

.ks-funnel-notes{background:#fff;border:1px solid var(--ks-line);padding:18px 18px;font-size:13px;line-height:1.85;color:var(--ks-text)}
.ks-funnel-notes p{margin:0 0 10px}
.ks-funnel-notes p:last-child{margin-bottom:0}
.ks-funnel-notes__small{color:var(--ks-text-soft);font-size:11.5px !important}

/* ===== 採用CXページ：問題列挙リスト ===== */
.ks-bullet-list{list-style:none;padding:0;margin:18px auto;max-width:680px}
.ks-bullet-list li{padding:8px 0 8px 24px;font-size:14.5px;color:var(--ks-text);line-height:1.85;position:relative;border-bottom:1px dashed var(--ks-line)}
.ks-bullet-list li:last-child{border-bottom:0}
.ks-bullet-list li::before{content:"";position:absolute;left:4px;top:1em;width:10px;height:2px;background:var(--ks-accent)}
.ks-bullet-list--issues{background:#fff5f0;border-left:4px solid #d9534f;padding:14px 20px 14px 20px;margin:24px auto}
.ks-bullet-list--issues li{border-bottom-color:#f3d5cc}
.ks-bullet-list--issues li::before{background:#d9534f}
.ks-bullet-list--danger li{color:#c0392b}
.ks-bullet-list--danger li::before{background:#c0392b}

/* ===== 採用CXページ：事例グリッド ===== */
.ks-case-grid{display:grid;grid-template-columns:1fr;gap:18px;max-width:780px;margin:0 auto}
.ks-case{background:#fff;border:1px solid var(--ks-line);padding:24px 26px;border-left:4px solid var(--ks-accent)}
.ks-case__tag{display:inline-block;padding:3px 12px;background:var(--ks-key);color:#fff;font-size:12px;letter-spacing:.12em;font-weight:700;margin-bottom:10px}
.ks-case h4{font-size:17px;color:var(--ks-text);margin:0 0 8px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.ks-case p{margin:0;font-size:14px;color:var(--ks-text-soft);line-height:1.85}


/* ===== ユーザーサポートページ：サポート可能な領域 ===== */
.ks-coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
@media (max-width:880px){.ks-coverage-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.ks-coverage-grid{grid-template-columns:1fr}}
.ks-coverage{
	background:#fff;
	border:1px solid var(--ks-line);
	border-left:3px solid var(--ks-accent);
	padding:24px 22px;
	display:grid;
	grid-template-columns:46px 1fr;
	grid-template-areas:
		"icon title"
		"icon desc";
	column-gap:14px;
	row-gap:8px;
	align-items:start;
}
.ks-coverage__icon{
	grid-area:icon;
	width:46px;
	height:46px;
	background:var(--ks-key);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:14px;
	font-weight:700;
	font-family:"Times New Roman",serif;
	letter-spacing:.04em;
	border-radius:50%;
	align-self:start;
}
.ks-coverage h3{
	grid-area:title;
	font-size:15px;
	color:var(--ks-key-dark);
	margin:0;
	font-weight:700;
	letter-spacing:.04em;
	line-height:1.4;
	align-self:center;
}
.ks-coverage p{
	grid-area:desc;
	margin:0;
	font-size:13.5px;
	color:var(--ks-text-soft);
	line-height:1.85;
}

/* USER SUPPORT 用ヒーロー色 */
.ks-page-hero--support .ks-page-hero__overlay{
	background:linear-gradient(110deg, rgba(8,79,102,.92) 0%, rgba(11,110,140,.78) 100%);
}


/* ===== お問い合わせページ ===== */

/* CONTACT 用ヒーロー色 */
.ks-page-hero--contact .ks-page-hero__overlay{
	background:linear-gradient(110deg, rgba(8,79,102,.92) 0%, rgba(11,110,140,.78) 100%);
}

/* お問い合わせ情報（電話・メール） */
.ks-contact-info{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px;
	max-width:860px;
	margin:0 auto;
}
@media (max-width:680px){.ks-contact-info{grid-template-columns:1fr}}
.ks-contact-info__item{
	background:#fff;
	border:1px solid var(--ks-line);
	border-top:3px solid var(--ks-key);
	padding:28px 26px;
	text-align:center;
}
.ks-contact-info__label{
	font-size:12px;
	color:var(--ks-text-soft);
	letter-spacing:.2em;
	font-weight:700;
	margin-bottom:10px;
}
.ks-contact-info__value{
	font-size:24px;
	font-weight:700;
	color:var(--ks-key-dark);
	letter-spacing:.04em;
	margin-bottom:8px;
	font-family:"Times New Roman",serif;
}
.ks-contact-info__value a{color:var(--ks-key-dark);text-decoration:none}
.ks-contact-info__value a:hover{color:var(--ks-key)}
.ks-contact-info__note{
	font-size:12.5px;
	color:var(--ks-text-soft);
	letter-spacing:.04em;
}

/* お問い合わせフォーム本体 */
.ks-contact-form{
	max-width:780px;
	margin:0 auto;
	background:#fff;
	padding:40px 44px;
	border:1px solid var(--ks-line);
}
@media (max-width:680px){.ks-contact-form{padding:24px 18px}}

/* CF7 のラベル＝項目グループのスタイリング */
.ks-contact-form .wpcf7-form > p,
.ks-contact-form .wpcf7-form > label{
	display:block;
	margin:0 0 22px;
}
.ks-contact-form label{
	display:block;
	font-size:14.5px;
	font-weight:700;
	color:var(--ks-text);
	letter-spacing:.04em;
	margin-bottom:8px;
}
.ks-contact-form .ks-required,
.ks-contact-form .wpcf7-required{
	display:inline-block;
	margin-left:8px;
	padding:2px 10px;
	background:#d9534f;
	color:#fff !important;
	font-size:11px;
	font-weight:700;
	letter-spacing:.06em;
	border-radius:2px;
	vertical-align:middle;
}

/* 入力フォーム要素 */
.ks-contact-form input[type="text"],
.ks-contact-form input[type="email"],
.ks-contact-form input[type="tel"],
.ks-contact-form input[type="number"],
.ks-contact-form input[type="url"],
.ks-contact-form textarea,
.ks-contact-form select{
	width:100% !important;
	box-sizing:border-box;
	padding:12px 14px;
	font-size:14.5px;
	border:1px solid #ced4da;
	background:#fff;
	color:var(--ks-text);
	font-family:inherit;
	line-height:1.6;
	transition:border-color .15s, box-shadow .15s;
}
.ks-contact-form input:focus,
.ks-contact-form textarea:focus,
.ks-contact-form select:focus{
	outline:none;
	border-color:var(--ks-key);
	box-shadow:0 0 0 3px rgba(11,110,140,.12);
}
.ks-contact-form textarea{
	min-height:160px;
	resize:vertical;
}

/* ラジオボタン・チェックボックス */
.ks-contact-form .wpcf7-list-item{
	display:inline-block;
	margin:0 18px 8px 0;
	font-weight:400;
	font-size:14px;
}
.ks-contact-form .wpcf7-list-item-label{
	margin-left:6px;
}
.ks-contact-form input[type="radio"],
.ks-contact-form input[type="checkbox"]{
	width:auto !important;
	margin:0;
	vertical-align:middle;
}

/* 個人情報の取扱についての枠 */
.ks-form-privacy{
	margin:28px 0 20px;
	padding:22px 24px;
	background:#f6f8fa;
	border-left:3px solid var(--ks-key);
}
.ks-form-privacy h3{
	font-size:15px;
	font-weight:700;
	color:var(--ks-key-dark);
	margin:0 0 10px;
	text-align:center;
	letter-spacing:.04em;
}
.ks-form-privacy p{
	margin:0;
	font-size:13.5px;
	line-height:1.85;
	color:var(--ks-text);
}
.ks-form-privacy a{color:var(--ks-key);font-weight:700}

/* 同意チェックボックス */
.ks-contact-form .wpcf7-acceptance,
.ks-contact-form .ks-form-agree{
	text-align:center;
	margin:18px 0 24px;
	font-size:14px;
	font-weight:600;
}
.ks-contact-form .wpcf7-acceptance .wpcf7-list-item{
	display:inline-block;
	margin:0;
}

/* 送信ボタン */
.ks-contact-form input[type="submit"],
.ks-contact-form button[type="submit"],
.ks-contact-form .wpcf7-submit{
	display:block;
	margin:30px auto 0;
	padding:14px 60px;
	background:#a94442 !important;
	color:#fff !important;
	border:0;
	font-size:15px;
	font-weight:700;
	letter-spacing:.1em;
	cursor:pointer;
	transition:background .15s;
	min-width:200px;
}
.ks-contact-form input[type="submit"]:hover,
.ks-contact-form button[type="submit"]:hover,
.ks-contact-form .wpcf7-submit:hover{
	background:#8c3735 !important;
}

/* CF7 メッセージ・エラー */
.ks-contact-form .wpcf7-response-output{
	border:2px solid #b08a45 !important;
	background:#fff8e5;
	padding:12px 18px;
	margin:24px 0 0;
	font-size:13.5px;
}
.ks-contact-form .wpcf7-not-valid-tip{
	color:#d9534f !important;
	font-size:12.5px;
	margin-top:4px;
	display:block;
}
.ks-contact-form .wpcf7-form.invalid .wpcf7-response-output{
	border-color:#d9534f !important;
	background:#fff5f0;
}


/* ===== プライバシーポリシーページ ===== */

/* PRIVACY 用ヒーロー色 */
.ks-page-hero--privacy .ks-page-hero__overlay{
	background:linear-gradient(110deg, rgba(8,79,102,.92) 0%, rgba(11,110,140,.7) 100%);
}

.ks-privacy{
	max-width:880px;
	margin:0 auto;
	font-size:14.5px;
	line-height:1.95;
	color:var(--ks-text);
}
.ks-privacy > p{
	margin:0 0 16px;
}
.ks-privacy__list{
	counter-reset:item;
	list-style:none;
	padding:0;
	margin:24px 0 0;
}
.ks-privacy__list > li{
	position:relative;
	padding:24px 28px 24px 64px;
	background:#fff;
	border:1px solid var(--ks-line);
	border-left:3px solid var(--ks-key);
	margin-bottom:14px;
	counter-increment:item;
}
.ks-privacy__list > li::before{
	content:counter(item, decimal);
	position:absolute;
	top:24px;
	left:18px;
	width:34px;
	height:34px;
	background:var(--ks-key);
	color:#fff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:14px;
	font-weight:700;
	font-family:"Times New Roman",serif;
	line-height:1;
}
.ks-privacy__list h3{
	font-size:16px;
	color:var(--ks-key-dark);
	margin:0 0 12px;
	font-weight:700;
	letter-spacing:.04em;
	line-height:1.5;
}
.ks-privacy__list h4{
	font-size:14.5px;
	color:var(--ks-key-dark);
	margin:14px 0 6px;
	font-weight:700;
	letter-spacing:.03em;
}
.ks-privacy__list p{
	margin:0 0 10px;
	font-size:14px;
	line-height:1.9;
}
.ks-privacy__list p:last-child{margin-bottom:0}
.ks-privacy__sublist{
	margin:8px 0 12px 24px;
	padding:0;
	list-style:decimal inside;
}
.ks-privacy__sublist li{
	margin-bottom:4px;
	font-size:14px;
	line-height:1.85;
}

.ks-privacy__sign{
	text-align:right;
	margin:28px 0 32px;
	padding:18px 22px;
	background:var(--ks-bg-soft);
	border-left:3px solid var(--ks-key);
	font-size:14px;
	line-height:1.85;
}

.ks-privacy__contact{
	background:#fff;
	border:1px solid var(--ks-line);
	border-left:3px solid var(--ks-accent);
	padding:18px 22px;
	margin:12px 0;
	font-size:14px;
	line-height:1.85;
}
.ks-privacy__contact h3{
	font-size:14.5px;
	color:var(--ks-key-dark);
	margin:0 0 10px;
	font-weight:700;
	text-align:center;
}
.ks-privacy__contact small{
	font-size:12.5px;
	color:var(--ks-text-soft);
	display:inline-block;
	margin:2px 0;
}
.ks-privacy__contact a{color:var(--ks-key);font-weight:600}
.ks-privacy__contact--alt{border-left-color:var(--ks-key)}

@media (max-width:680px){
	.ks-privacy__list > li{padding:20px 18px 20px 54px}
	.ks-privacy__list > li::before{top:18px;left:14px;width:30px;height:30px;font-size:13px}
	.ks-privacy__list h3{font-size:15px}
}


/* ===== スマホ表示の左右余白縮小 ===== */
@media (max-width:680px){
	/* コンテナの左右パディングを縮小 */
	.ks-container{ padding:0 14px !important }

	/* 各ページのセクションパディングも縮小 */
	.ks-section{ padding:48px 0 !important }
	.ks-section--soft, .ks-section--key{ padding:48px 0 !important }

	/* 代表メッセージカードの内側パディングを縮小 */
	.ks-message-card{ padding:24px 16px !important }
	.ks-prose--message p{ font-size:14px; line-height:1.95 }

	/* 経営理念カードの内側パディングを縮小 */
	.ks-philosophy__inner{ padding:32px 18px !important }
	.ks-philosophy__inner--page{ padding:32px 18px !important }
	.ks-philosophy__inner::before,
	.ks-philosophy__inner::after{ width:18px !important; height:18px !important }
	.ks-philosophy__inner::before{ top:8px !important; left:8px !important }
	.ks-philosophy__inner::after{ bottom:8px !important; right:8px !important }
	.ks-philosophy__title{ font-size:clamp(18px,5.2vw,22px) !important; line-height:1.55 !important; margin:0 0 22px !important }
	.ks-philosophy__body{ font-size:14.5px !important; line-height:2 !important }
	.ks-philosophy__body p{ margin:0 0 12px !important }

	/* ミッションバンドの内側パディングを縮小 */
	.ks-mission-band{ padding:30px 18px !important }
	.ks-mission-band--page{ padding:30px 18px !important }
	.ks-mission-band__quote{ font-size:18px !important; line-height:1.65 !important }
	.ks-mission-band__desc{ font-size:14px !important; line-height:1.9 !important }

	/* prose（本文）の左右はゼロに */
	.ks-prose{ padding:0 !important; font-size:14.5px !important; line-height:1.95 !important }

	/* セクション見出しのリードを少し小さく */
	.ks-sec-head{ margin-bottom:28px !important }
	.ks-sec-head__ja{ font-size:clamp(20px,5vw,24px) !important }
	.ks-sec-head__lead{ font-size:13.5px !important; line-height:1.85 !important; padding:0 6px; text-align:left !important }

	/* ヒーローの内側パディングを縮小 */
	.ks-hero__inner{ padding:60px 14px !important }
	.ks-page-hero__inner{ padding:48px 14px !important }
	.ks-page-hero__title{ font-size:clamp(24px,6.5vw,32px) !important }

	/* CTAセクション */
	.ks-cta{ padding:40px 0 !important }
	.ks-cta h2{ font-size:clamp(20px,5vw,24px) !important }

	/* お知らせカード */
	.ks-news__item{ padding:18px 4px !important }
}

/* さらに狭い（420px以下）端末向けに微調整 */
@media (max-width:420px){
	.ks-container{ padding:0 10px !important }
	.ks-message-card{ padding:20px 12px !important }
	.ks-philosophy__inner{ padding:28px 14px !important }
	.ks-mission-band{ padding:24px 14px !important }
	.ks-prose--message p,
	.ks-prose p,
	.ks-philosophy__body p{ font-size:14px !important }
}


/* ===== トップページ お知らせセクション ===== */
.ks-news{ padding:48px 0 8px !important; background:#fff !important; margin:0 !important }
/* 左寄せのコンパクトな見出し */
.ks-news .ks-news__head{
	max-width:880px !important;
	margin:0 auto 8px !important;
	padding:0 8px 6px !important;
	display:flex !important;
	align-items:baseline !important;
	gap:14px !important;
	border-bottom:1px solid var(--ks-key) !important;
}
.ks-news .ks-news__head-en{
	font-size:11px !important;
	letter-spacing:.3em !important;
	color:var(--ks-key) !important;
	font-weight:700 !important;
	font-family:"Times New Roman",serif !important;
	margin:0 !important;
	line-height:1.2 !important;
}
.ks-news .ks-news__head-ja{
	font-size:17px !important;
	font-weight:700 !important;
	color:var(--ks-text) !important;
	letter-spacing:.05em !important;
	margin:0 !important;
	padding:0 !important;
	line-height:1.3 !important;
}
.ks-news .ks-news__head-ja::after{display:none !important}

/* リスト：bullet なし、デフォルト余白も無効化 */
.ks-news ul.ks-news__list,
.ks-news .ks-news__list{
	list-style:none !important;
	list-style-type:none !important;
	margin:0 auto !important;
	padding:0 !important;
	max-width:880px !important;
}
.ks-news .ks-news__list li{
	list-style:none !important;
	list-style-type:none !important;
	margin:0 !important;
	padding:0 !important;
}
.ks-news .ks-news__list li::before,
.ks-news .ks-news__list li::marker{ content:none !important; display:none !important }

.ks-news .ks-news__item{
	display:flex !important;
	gap:18px !important;
	padding:10px 8px !important;
	border-bottom:1px solid var(--ks-line) !important;
	align-items:flex-start !important;
	background:transparent !important;
}
.ks-news .ks-news__item:last-child{ border-bottom:none !important }

.ks-news .ks-news__meta{
	flex:0 0 130px !important;
	display:flex !important;
	flex-direction:column !important;
	gap:4px !important;
	align-items:flex-start !important;
	padding-top:2px !important;
	margin:0 !important;
}
.ks-news .ks-news__date{
	font-family:"Times New Roman",serif !important;
	font-size:14px !important;
	color:var(--ks-text-soft) !important;
	letter-spacing:.05em !important;
	font-weight:600 !important;
	line-height:1.3 !important;
	margin:0 !important;
}
.ks-news .ks-news__cat{
	display:inline-block !important;
	padding:1px 9px !important;
	background:#c0392b !important;
	color:#fff !important;
	font-size:10.5px !important;
	letter-spacing:.1em !important;
	font-weight:700 !important;
	line-height:1.5 !important;
	margin:0 !important;
}
.ks-news .ks-news__cat--info{ background:var(--ks-key) !important }

.ks-news .ks-news__body{ flex:1 !important; min-width:0 !important; margin:0 !important; padding:0 !important }
.ks-news .ks-news__title{
	font-size:15px !important;
	font-weight:700 !important;
	color:var(--ks-text) !important;
	margin:0 0 4px !important;
	padding:0 !important;
	line-height:1.45 !important;
	letter-spacing:.02em !important;
	border:none !important;
}
.ks-news .ks-news__title::after{ display:none !important }
.ks-news .ks-news__body p{
	margin:0 !important;
	padding:0 !important;
	font-size:13.5px !important;
	color:var(--ks-text-soft) !important;
	line-height:1.6 !important;
}
.ks-news .ks-news__body p + p{ margin-top:3px !important }

@media (max-width:680px){
	.ks-news{ padding:32px 0 6px !important }
	.ks-news .ks-news__head{ margin-bottom:6px !important; padding:0 4px 5px !important; gap:10px !important }
	.ks-news .ks-news__head-ja{ font-size:15.5px !important }
	.ks-news .ks-news__item{ flex-direction:column !important; gap:4px !important; padding:10px 4px !important }
	.ks-news .ks-news__meta{ flex-direction:row !important; align-items:center !important; flex:0 0 auto !important; gap:10px !important; padding-top:0 !important }
	.ks-news .ks-news__title{ font-size:14.5px !important }
	.ks-news .ks-news__body p{ font-size:13px !important; line-height:1.6 !important }
}


/* ===== 登録商標ページ ===== */

/* TRADEMARK 用ヒーロー色 */
.ks-page-hero--trademark .ks-page-hero__overlay{
	background:linear-gradient(110deg, rgba(8,79,102,.92) 0%, rgba(198,155,61,.6) 100%);
}

.ks-trademark-card{
	max-width:860px;
	margin:0 auto;
	background:#fff;
	border:1px solid var(--ks-line);
	padding:40px 48px;
}
/* 登録商標の注釈：中央寄せ・赤文字（旧サイトと同じ表現） */
.ks-trademark-card__note{
	font-size:14px;
	color:#c0392b;
	font-weight:600;
	margin:0 0 28px;
	padding:0;
	background:transparent;
	border:none;
	line-height:1.7;
	text-align:center;
}
/* 太字リード：左揃え */
.ks-trademark-card__lead{
	font-size:16.5px;
	font-weight:700;
	color:var(--ks-text);
	letter-spacing:.03em;
	line-height:1.75;
	margin:0 0 16px;
	text-align:left;
}
/* 登録商標カード内の本文：左揃え＆カード幅いっぱい */
.ks-trademark-card .ks-prose{
	max-width:none !important;
	margin:0 !important;
	text-align:left !important;
}
.ks-trademark-card .ks-prose p{
	margin:0 !important;
	padding:0 !important;
	font-size:15px !important;
	line-height:1.95 !important;
	color:var(--ks-text) !important;
	text-align:left !important;
}

@media (max-width:680px){
	.ks-trademark-card{ padding:28px 20px }
	.ks-trademark-card__note{ font-size:13px; margin-bottom:20px }
	.ks-trademark-card__lead{ font-size:15px; margin-bottom:10px }
	.ks-trademark-card .ks-prose p{ font-size:14.5px !important; line-height:1.85 !important }
}

/* 商標リンク（テキスト中のアクセント） */
.ks-trademark-link{
	color:inherit !important;
	text-decoration:none !important;
	border-bottom:1px dotted var(--ks-accent) !important;
	padding-bottom:1px;
	transition:color .15s, border-color .15s;
}
.ks-trademark-link:hover,
.ks-trademark-link:focus{
	color:var(--ks-accent) !important;
	border-bottom-color:var(--ks-accent) !important;
	text-decoration:none !important;
}
/* ヒーローや暗い背景内の商標リンクは白系を維持 */
.ks-hero .ks-trademark-link,
.ks-page-hero .ks-trademark-link{
	color:#fff !important;
	border-bottom-color:rgba(255,255,255,.5) !important;
}
.ks-hero .ks-trademark-link:hover,
.ks-page-hero .ks-trademark-link:hover{
	color:#f5d68a !important;
	border-bottom-color:#f5d68a !important;
}

/* スクロールターゲットがナビにかぶらないようにオフセット */
#sincerity, #r-agency{ scroll-margin-top:80px }


/* ===== フッター上部：登録商標表記＋認証マーク ===== */
.ks-footer-trademark{
	background:#fff;
	border-top:1px solid var(--ks-line);
	border-bottom:1px solid var(--ks-line);
	padding:28px 24px;
	margin:40px auto 0;
}
.ks-footer-trademark__inner{
	max-width:1100px;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:32px;
	flex-wrap:wrap;
}
.ks-footer-trademark__text{
	flex:1 1 auto;
	min-width:0;
}
.ks-footer-trademark__text p{
	margin:0 0 6px;
	font-size:14px;
	line-height:1.7;
	color:var(--ks-text);
}
.ks-footer-trademark__text p:last-child{margin-bottom:0}
.ks-footer-trademark__text small{
	font-size:12.5px;
	color:var(--ks-text-soft);
	margin-left:2px;
}
.ks-footer-trademark__marks{
	display:flex;
	align-items:center;
	gap:16px;
	flex-shrink:0;
}
.ks-footer-trademark__marks img{
	display:block;
	height:auto;
	max-height:92px;
}
.ks-footer-trademark__marks a{
	display:inline-flex;
	transition:opacity .2s;
}
.ks-footer-trademark__marks a:hover{opacity:.8}

@media (max-width:680px){
	.ks-footer-trademark{padding:20px 14px;margin-top:24px}
	.ks-footer-trademark__inner{flex-direction:column;align-items:flex-start;gap:18px}
	.ks-footer-trademark__text p{font-size:13px}
	.ks-footer-trademark__marks{align-self:center;gap:14px}
	.ks-footer-trademark__marks img{max-height:72px}
}


/* ============================================================
   2026 v2.8 構成 用追加スタイル
   ============================================================ */

/* ===== なぜ私たちなのか（実績カード） ===== */
.ks-section--whyus{padding:60px 0}
.ks-whyus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
@media (max-width:880px){.ks-whyus-grid{grid-template-columns:1fr}}
.ks-whyus__card{background:#fff;border:1px solid var(--ks-line);border-top:4px solid var(--ks-accent);padding:32px 28px;text-align:center}
.ks-whyus__num{font-family:"Times New Roman",serif;font-size:32px;color:var(--ks-key-dark);letter-spacing:.02em;margin-bottom:8px;line-height:1.2}
.ks-whyus__num strong{font-size:54px;color:var(--ks-accent);font-weight:700;display:inline-block;margin:0 2px}
.ks-whyus__title{font-size:17px;color:var(--ks-key-dark);margin:14px 0 12px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.ks-whyus__desc{font-size:14px;color:var(--ks-text-soft);line-height:1.9;margin:0}
.ks-whyus__note{font-size:11.5px;color:var(--ks-text-soft);margin-top:10px;font-style:italic}

/* ===== 採用のこんな課題（リスト） ===== */
.ks-issues-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:880px;margin:30px auto 24px}
@media (max-width:680px){.ks-issues-list{grid-template-columns:1fr}}
.ks-issue-item{display:flex;align-items:center;gap:16px;background:#fff;padding:18px 22px;border-left:4px solid var(--ks-accent)}
.ks-issue-item__icon{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--ks-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;font-family:serif}
.ks-issue-item__text{margin:0;font-size:15px;color:var(--ks-text);font-weight:600;letter-spacing:.02em}
.ks-issues-conclusion{text-align:center;font-size:15px;color:var(--ks-key-dark);font-weight:700;margin:24px 0 0;letter-spacing:.04em}

/* ===== 私たちの考え方（3ブロック） ===== */
.ks-section--approach{padding:80px 0}
.ks-approach-block{background:#fff;border:1px solid var(--ks-line);padding:36px 40px;margin-bottom:24px;max-width:880px;margin-left:auto;margin-right:auto}
.ks-approach-block:last-child{margin-bottom:0}
.ks-approach-block__label{display:inline-block;padding:5px 16px;background:var(--ks-key);color:#fff;font-size:12px;letter-spacing:.18em;font-weight:700;margin-bottom:14px}
.ks-approach-block__title{font-size:22px;color:var(--ks-key-dark);margin:0 0 14px;font-weight:700;letter-spacing:.04em;line-height:1.4}
.ks-approach-block__statement{font-size:16px;color:var(--ks-text);line-height:1.85;margin:0 0 10px;font-weight:600}
.ks-approach-block__desc{font-size:14.5px;color:var(--ks-text-soft);line-height:1.95;margin:0 0 8px}
.ks-approach-block__desc:last-of-type{margin-bottom:0}
.ks-approach-block__list{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.ks-approach-block__list li{padding:6px 14px;background:var(--ks-bg-soft);color:var(--ks-key-dark);font-size:13.5px;border-left:3px solid var(--ks-accent);font-weight:600}
.ks-approach-block__action{margin-top:18px}
@media (max-width:680px){.ks-approach-block{padding:24px 18px}.ks-approach-block__title{font-size:18px}}

/* ===== 情報収集中（プレースホルダ） ===== */
.ks-coming-soon{background:#fff;border:1px dashed var(--ks-line);padding:60px 24px;text-align:center;max-width:780px;margin:30px auto 0}
.ks-coming-soon__msg{font-size:18px;color:var(--ks-key-dark);font-weight:700;margin:0 0 8px;letter-spacing:.04em}
.ks-coming-soon__sub{font-size:14px;color:var(--ks-text-soft);margin:0}
.ks-coming-soon__action{margin-top:24px}

/* ===== サービスページ：3事業概要カード ===== */
.ks-svc-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
@media (max-width:880px){.ks-svc-overview{grid-template-columns:1fr}}
.ks-svc-overview__card{display:block;background:#fff;border:1px solid var(--ks-line);border-top:4px solid var(--ks-key);padding:30px 26px;text-decoration:none !important;color:var(--ks-text) !important;transition:transform .2s,box-shadow .2s}
.ks-svc-overview__card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.08)}
.ks-svc-overview__num{font-family:"Times New Roman",serif;font-size:22px;color:var(--ks-accent);font-weight:700;letter-spacing:.04em;margin-bottom:10px}
.ks-svc-overview__card h3{font-size:18px;color:var(--ks-key-dark);margin:0 0 8px;font-weight:700;letter-spacing:.04em}
.ks-svc-overview__card p{font-size:13.5px;color:var(--ks-text-soft);line-height:1.85;margin:0}

/* ===== サービスページ：各事業ブロック ===== */
.ks-svc-block{background:#fff;border:1px solid var(--ks-line);padding:32px 36px;margin-bottom:22px;max-width:960px;margin-left:auto;margin-right:auto}
.ks-svc-block:last-child{margin-bottom:0}
.ks-svc-block__title{font-size:20px;color:var(--ks-key-dark);margin:0 0 14px;font-weight:700;letter-spacing:.04em;border-left:4px solid var(--ks-accent);padding-left:14px}
.ks-svc-block__desc{font-size:15px;color:var(--ks-text);line-height:1.95;margin:0 0 18px}
.ks-svc-block__features{margin:0 0 18px;padding:0;list-style:none;display:block}
@media (max-width:680px){.ks-svc-block{padding:24px 20px}}
.ks-svc-block__features li{position:relative;padding:4px 0 4px 22px;font-size:14px;color:var(--ks-text);line-height:1.7}
.ks-svc-block__features li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:2px;background:var(--ks-accent)}

.ks-svc-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}
@media (max-width:780px){.ks-svc-list-grid{grid-template-columns:1fr}}
.ks-svc-list-item{background:var(--ks-bg-soft);padding:22px 24px;border-left:3px solid var(--ks-key)}
.ks-svc-list-item__num{font-family:"Times New Roman",serif;font-size:18px;color:var(--ks-accent);font-weight:700;margin-bottom:6px}
.ks-svc-list-item h4{font-size:16px;color:var(--ks-key-dark);margin:0 0 8px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.ks-svc-list-item p{font-size:13.5px;color:var(--ks-text-soft);line-height:1.85;margin:0}

/* ===== ソリューションカード ===== */
.ks-svc-solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
@media (max-width:880px){.ks-svc-solution-grid{grid-template-columns:1fr}}
.ks-svc-solution-card{background:#fff;border:1px solid var(--ks-line);padding:26px 24px;border-top:3px solid var(--ks-accent)}
.ks-svc-solution-card__tag{display:inline-block;padding:3px 10px;background:var(--ks-key);color:#fff;font-size:11px;letter-spacing:.12em;font-weight:700;margin-bottom:12px}
.ks-svc-solution-card h3{font-size:18px;color:var(--ks-key-dark);margin:0 0 10px;font-weight:700;letter-spacing:.04em}
.ks-svc-solution-card p{font-size:13.5px;color:var(--ks-text-soft);line-height:1.85;margin:0 0 6px}
.ks-svc-solution-card__note{font-size:11.5px !important;color:var(--ks-text-soft) !important;font-style:italic;margin-top:8px !important}

/* ===== About ページヒーロー色 ===== */
.ks-page-hero--about .ks-page-hero__overlay{background:linear-gradient(110deg,rgba(8,79,102,.92) 0%,rgba(11,110,140,.78) 100%)}
.ks-page-hero--cases .ks-page-hero__overlay{background:linear-gradient(110deg,rgba(11,110,140,.92) 0%,rgba(198,155,61,.5) 100%)}

/* ===== 会社概要テーブル（page-aboutで再利用） ===== */
.ks-company-grid{display:block;max-width:780px;margin:0 auto}
.ks-company__table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ks-line)}
.ks-company__table th,.ks-company__table td{padding:14px 18px;border-bottom:1px solid var(--ks-line);text-align:left;font-size:14px;line-height:1.8;vertical-align:top}
.ks-company__table th{background:var(--ks-bg-soft);color:var(--ks-key-dark);font-weight:700;width:160px;letter-spacing:.04em}
.ks-company__table tr:last-child th,.ks-company__table tr:last-child td{border-bottom:none}
@media (max-width:680px){.ks-company__table th,.ks-company__table td{display:block;width:100% !important;padding:10px 14px}.ks-company__table th{border-bottom:none;padding-bottom:4px}}


/* ============================================================
   2026 v2.8 ビジュアル強化（実績・数字・専門性）
   ============================================================ */

/* ===== WHY US：3つの巨大数字カード ===== */
.ks-section--whyus{padding:90px 0;background:linear-gradient(180deg,#fff 0%,var(--ks-bg-soft) 100%)}
.ks-bigstats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
@media (max-width:880px){.ks-bigstats{grid-template-columns:1fr;gap:18px}}

.ks-bigstat{background:#fff;border:1px solid var(--ks-line);padding:36px 28px 32px;text-align:center;position:relative;transition:transform .25s,box-shadow .25s}
.ks-bigstat:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(8,79,102,.1)}
.ks-bigstat--featured{background:linear-gradient(180deg,var(--ks-key-dark) 0%,var(--ks-key) 100%);border-color:var(--ks-key-dark);color:#fff;transform:translateY(-12px)}
@media (max-width:880px){.ks-bigstat--featured{transform:none}}
.ks-bigstat--featured *{color:#fff !important}
.ks-bigstat--featured .ks-bigstat__num{color:#f5d68a !important}

.ks-bigstat__top{display:inline-block;padding:4px 14px;background:var(--ks-bg-soft);color:var(--ks-key-dark);font-size:12px;letter-spacing:.16em;font-weight:700;margin-bottom:16px}
.ks-bigstat--featured .ks-bigstat__top{background:rgba(255,255,255,.18) !important;color:#fff !important}
.ks-bigstat__main{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-bottom:14px;line-height:1}
.ks-bigstat__num{font-family:"Times New Roman","Hiragino Mincho ProN","Yu Mincho",serif;font-size:88px;font-weight:700;color:var(--ks-accent);letter-spacing:-.02em;line-height:1;display:inline-block}
.ks-bigstat__unit{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:24px;font-weight:700;color:var(--ks-key-dark);letter-spacing:.04em}
.ks-bigstat--featured .ks-bigstat__unit{color:#fff !important}
.ks-bigstat__label{font-size:17px;color:var(--ks-key-dark);margin:0 0 12px;font-weight:700;letter-spacing:.05em;line-height:1.4}
.ks-bigstat__desc{font-size:13.5px;color:var(--ks-text-soft);line-height:1.85;margin:0 0 4px}
.ks-bigstat__note{font-size:11px !important;color:var(--ks-text-soft) !important;font-style:italic;margin-top:6px !important;opacity:.7}
@media (max-width:880px){.ks-bigstat__num{font-size:64px}.ks-bigstat__unit{font-size:20px}.ks-bigstat__label{font-size:15.5px}}

/* ===== STAT STRIP：横並びの補強データ ===== */
.ks-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;background:var(--ks-key-dark);padding:32px 20px;border-radius:0}
@media (max-width:880px){.ks-stat-strip{grid-template-columns:repeat(2,1fr);gap:20px 0;padding:28px 14px}}
@media (max-width:520px){.ks-stat-strip{grid-template-columns:1fr;gap:18px}}
.ks-stat-strip__item{text-align:center;padding:0 18px;border-right:1px solid rgba(255,255,255,.18)}
.ks-stat-strip__item:last-child{border-right:none}
@media (max-width:880px){.ks-stat-strip__item:nth-child(2n){border-right:none}.ks-stat-strip__item:nth-child(1),.ks-stat-strip__item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:18px}}
@media (max-width:520px){.ks-stat-strip__item{border-right:none !important;border-bottom:1px solid rgba(255,255,255,.18) !important;padding:0 0 14px !important}.ks-stat-strip__item:last-child{border-bottom:none !important;padding-bottom:0 !important}}
.ks-stat-strip__num{font-family:"Times New Roman",serif;font-size:42px;font-weight:700;color:#f5d68a;line-height:1;letter-spacing:.02em;margin-bottom:6px}
.ks-stat-strip__num small{font-size:16px;font-weight:400;color:#fff;margin-left:3px}
.ks-stat-strip__label{font-size:12.5px;color:#fff;line-height:1.65;letter-spacing:.05em;opacity:.95}

/* ===== 4つの専門性アピール ===== */
.ks-reasons-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
@media (max-width:880px){.ks-reasons-strip{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.ks-reasons-strip{grid-template-columns:1fr}}
.ks-reason-item{background:#fff;border:1px solid var(--ks-line);padding:24px 22px;text-align:center;border-top:3px solid var(--ks-accent);transition:transform .2s}
.ks-reason-item:hover{transform:translateY(-2px)}
.ks-reason-item__icon{width:48px;height:48px;border-radius:50%;background:var(--ks-key-light);color:var(--ks-key);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:18px;font-weight:700}
.ks-reason-item h4{font-size:15px;color:var(--ks-key-dark);margin:0 0 8px;font-weight:700;letter-spacing:.04em}
.ks-reason-item p{font-size:13px;color:var(--ks-text-soft);line-height:1.85;margin:0}

/* ===== 採用課題：旧スタイル上書き（5枚カード） ===== */
.ks-issues-list{display:grid;grid-template-columns:repeat(2,1fr) !important;gap:18px !important;max-width:980px !important;margin:36px auto 16px !important}
@media (max-width:680px){.ks-issues-list{grid-template-columns:1fr !important}}
.ks-issue-item{display:flex !important;align-items:flex-start !important;gap:18px !important;background:#fff !important;padding:24px 26px !important;border-left:4px solid var(--ks-accent) !important;border:1px solid var(--ks-line) !important;border-left-width:4px !important;border-left-color:var(--ks-accent) !important;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ks-issue-item--wide{grid-column:span 2}
@media (max-width:680px){.ks-issue-item--wide{grid-column:span 1}}
.ks-issue-item__icon{flex:0 0 44px !important;width:44px !important;height:44px !important;border-radius:50% !important;background:linear-gradient(135deg,#c0392b,#a94442) !important;color:#fff !important;display:flex !important;align-items:center !important;justify-content:center !important;font-family:"Times New Roman",serif !important;font-size:16px !important;font-weight:700 !important;letter-spacing:.02em !important}
.ks-issue-item__body{flex:1;min-width:0}
.ks-issue-item__body h3{font-size:16px;color:var(--ks-text);margin:0 0 6px;font-weight:700;letter-spacing:.04em;line-height:1.5}
.ks-issue-item__body p{font-size:13.5px;color:var(--ks-text-soft);line-height:1.85;margin:0}
.ks-issue-item__text{display:none !important}

.ks-issues-arrow{text-align:center;font-size:22px;color:var(--ks-key);margin:18px 0 6px;letter-spacing:.5em}
.ks-issues-conclusion{text-align:center;font-size:17px !important;color:var(--ks-text) !important;font-weight:700 !important;margin:8px 0 0 !important;letter-spacing:.04em;line-height:1.7}
.ks-issues-conclusion strong{color:#c0392b}

/* ===== 私たちの考え方：3カード並列 ===== */
.ks-section--approach{padding:90px 0;background:#fff}
.ks-approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:42px 0 0;max-width:1180px;margin-left:auto;margin-right:auto}
@media (max-width:880px){.ks-approach-grid{grid-template-columns:1fr;gap:18px}}

.ks-approach-card{background:#fff;border:1px solid var(--ks-line);padding:36px 30px 32px;position:relative;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.ks-approach-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(8,79,102,.1)}
.ks-approach-card--idea{border-top:5px solid var(--ks-key)}
.ks-approach-card--cx{border-top:5px solid var(--ks-accent);background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)}
.ks-approach-card--service{border-top:5px solid var(--ks-key-dark)}

.ks-approach-card__step{position:absolute;top:12px;right:18px;font-family:"Times New Roman",serif;font-size:42px;font-weight:700;color:var(--ks-bg-soft);line-height:1;letter-spacing:0}
.ks-approach-card--cx .ks-approach-card__step{color:rgba(198,155,61,.18)}

.ks-approach-card__label{display:inline-block;padding:5px 14px;background:var(--ks-bg-soft);color:var(--ks-key-dark);font-size:11.5px;letter-spacing:.16em;font-weight:700;margin-bottom:18px;align-self:flex-start;position:relative;z-index:2}
.ks-approach-card--cx .ks-approach-card__label{background:var(--ks-accent);color:#fff}

.ks-approach-card__title{font-size:21px;color:var(--ks-key-dark);margin:0 0 18px;font-weight:700;letter-spacing:.03em;line-height:1.4;min-height:96px;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end}
.ks-approach-card__title a{color:inherit}

.ks-approach-card__quote{font-size:14.5px;color:var(--ks-key-dark);font-weight:700;line-height:1.7;padding:14px 16px;background:var(--ks-bg-soft);border-left:3px solid var(--ks-accent);margin-bottom:16px;letter-spacing:.02em}
.ks-approach-card--cx .ks-approach-card__quote{background:rgba(255,255,255,.6);border-left-color:var(--ks-key)}

.ks-approach-card__desc{font-size:13.5px;color:var(--ks-text-soft);line-height:1.95;margin:0 0 8px;flex-grow:1}

.ks-approach-card__list{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.ks-approach-card__list li{padding:5px 12px;background:var(--ks-bg-soft);color:var(--ks-key-dark);font-size:12.5px;font-weight:600;letter-spacing:.04em;border:1px solid var(--ks-line)}

@media (max-width:880px){
	.ks-approach-card{padding:28px 22px 24px}
	.ks-approach-card__title{font-size:18.5px;min-height:auto}
	.ks-approach-card__step{font-size:34px;top:8px;right:14px}
}

.ks-section__action{display:flex;justify-content:center;gap:14px;margin-top:40px;flex-wrap:wrap}
@media (max-width:520px){.ks-section__action{flex-direction:column;align-items:stretch}}


/* ============================================================
   サブメニュー（ドロップダウン）
   ============================================================ */
.ks-topnav .ks-topnav__item{position:relative;display:inline-flex;align-items:center}
.ks-topnav .ks-topnav__caret{font-size:9px;margin-left:3px;opacity:.7;line-height:1}
.ks-topnav .ks-topnav__submenu-toggle{display:none;background:transparent;border:0;color:#222;cursor:pointer;padding:6px 10px;font-size:14px}

/* PC：hover でドロップダウン表示 */
.ks-topnav .ks-topnav__submenu{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	min-width:240px;
	background:#fff;
	border:1px solid #e2e6ea;
	border-top:3px solid var(--ks-accent);
	box-shadow:0 8px 24px rgba(0,0,0,.12);
	list-style:none;
	margin:0;
	padding:6px 0;
	z-index:99991;
}
.ks-topnav .ks-topnav__submenu li{margin:0;padding:0;list-style:none}
.ks-topnav .ks-topnav__submenu li::before,
.ks-topnav .ks-topnav__submenu li::marker{display:none !important;content:none !important}
.ks-topnav .ks-topnav__sublink{
	display:block !important;
	padding:9px 16px !important;
	font-size:12.5px !important;
	color:#222 !important;
	font-weight:500 !important;
	letter-spacing:.04em;
	text-decoration:none !important;
	border-bottom:1px solid #f0f2f5;
	white-space:nowrap;
	transition:background .15s,color .15s;
}
.ks-topnav .ks-topnav__submenu li:last-child .ks-topnav__sublink{border-bottom:none}
.ks-topnav .ks-topnav__sublink:hover,
.ks-topnav .ks-topnav__sublink:focus{
	background:var(--ks-bg-soft) !important;
	color:var(--ks-key) !important;
}

/* PC：hover で展開 */
@media (min-width:881px){
	.ks-topnav .ks-topnav__group:hover > .ks-topnav__submenu,
	.ks-topnav .ks-topnav__group:focus-within > .ks-topnav__submenu{display:block}
	.ks-topnav .ks-topnav__group:hover > .ks-topnav__link > .ks-topnav__caret{transform:rotate(180deg)}
}

/* モバイル：縦並び＋トグルボタンで開閉 */
@media (max-width:880px){
	.ks-topnav .ks-topnav__item{display:flex;flex-direction:column;align-items:stretch;width:100%;position:relative}
	.ks-topnav .ks-topnav__group{flex-wrap:wrap}
	.ks-topnav .ks-topnav__group > .ks-topnav__link{flex:1;display:inline-flex;align-items:center}
	.ks-topnav .ks-topnav__submenu-toggle{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:48px;height:42px;color:#222;border-left:1px solid #f0f2f5;background:transparent;font-size:14px;transition:transform .2s}
	.ks-topnav .ks-topnav__submenu-toggle[aria-expanded="true"]{transform:rotate(180deg)}
	.ks-topnav .ks-topnav__caret{display:none}
	.ks-topnav .ks-topnav__submenu{
		display:none;
		position:static;
		width:100%;
		min-width:0;
		box-shadow:none;
		border:none;
		border-top:1px solid #f0f2f5;
		background:#f8fafb;
		padding:0;
	}
	.ks-topnav .ks-topnav__submenu.is-open{display:block}
	.ks-topnav .ks-topnav__sublink{padding:11px 30px !important;font-size:12.5px !important;border-bottom:1px solid #ebeef1}
	.ks-topnav .ks-topnav__sublink::before{content:"└ ";color:var(--ks-text-soft);font-size:11px}
}


/* ============================================================
   関連ページリンク（コンテンツ内インラインリンクボックス）
   ============================================================ */
.ks-related-link{max-width:880px;margin:24px auto 0;padding:0 8px}
.ks-related-link__a{
	display:flex;
	align-items:center;
	gap:14px;
	padding:14px 20px;
	background:#fff;
	border:1px solid var(--ks-line);
	border-left:4px solid var(--ks-accent);
	text-decoration:none !important;
	color:var(--ks-text) !important;
	transition:background .15s,transform .15s,box-shadow .15s;
}
.ks-related-link__a:hover,
.ks-related-link__a:focus{
	background:var(--ks-bg-soft);
	transform:translateX(2px);
	box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.ks-related-link__label{
	flex:0 0 auto;
	padding:3px 10px;
	background:var(--ks-accent);
	color:#fff;
	font-size:11px;
	letter-spacing:.12em;
	font-weight:700;
	white-space:nowrap;
}
.ks-related-link__text{
	flex:1;
	font-size:14px;
	color:var(--ks-text);
	font-weight:600;
	letter-spacing:.04em;
	line-height:1.6;
}
.ks-related-link__arrow{
	flex:0 0 auto;
	font-size:20px;
	color:var(--ks-key);
	font-weight:700;
	transition:transform .2s;
}
.ks-related-link__a:hover .ks-related-link__arrow{transform:translateX(4px)}
@media (max-width:680px){
	.ks-related-link__a{flex-wrap:wrap;padding:12px 14px;gap:8px 10px}
	.ks-related-link__text{font-size:13px;flex:1 1 100%;order:2}
	.ks-related-link__label{order:1}
	.ks-related-link__arrow{order:3;font-size:18px}
}

/* トップページなどの「関連リンク横並び」 */
.ks-related-links{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:10px;
	max-width:880px;
	margin:32px auto 0;
}
@media (max-width:680px){.ks-related-links{grid-template-columns:1fr}}
.ks-related-link__a--mini{
	padding:10px 16px;
	font-size:13px;
	border-left:3px solid var(--ks-key);
}
.ks-related-link__a--mini .ks-related-link__text{font-size:13px}


/* ============================================================
   スマホメニュー：サブメニュー構造後の表示修復
   ============================================================ */
@media (max-width:880px){
	/* ハンバーガーボタンを確実に表示 */
	.ks-topnav .ks-topnav__toggle{
		display:flex !important;
		align-items:center;
		justify-content:center;
		width:38px !important;
		height:38px !important;
		padding:6px !important;
		flex-shrink:0;
		z-index:99992 !important;
	}

	/* メニューパネルが画面右からスライドして出るときの確実な可視化 */
	.ks-topnav .ks-topnav__menu{
		display:flex !important;
		flex-direction:column !important;
		align-items:stretch !important;
		padding:6px 0 12px !important;
		gap:0 !important;
	}

	/* メニュー項目ラッパー */
	.ks-topnav .ks-topnav__menu .ks-topnav__item{
		display:flex !important;
		flex-direction:column !important;
		align-items:stretch !important;
		width:100% !important;
		position:relative !important;
		border-bottom:1px solid #f0f2f5;
	}
	.ks-topnav .ks-topnav__menu .ks-topnav__item:last-child{border-bottom:none}

	/* リンク：横幅いっぱい・縦余白 */
	.ks-topnav .ks-topnav__menu .ks-topnav__link{
		display:flex !important;
		width:100%;
		padding:12px 48px 12px 20px !important;
		font-size:14px !important;
		line-height:1.4 !important;
		border-bottom:none !important;
		text-align:left;
		justify-content:flex-start;
	}

	/* CTA（お問い合わせ）：強調表示維持 */
	.ks-topnav .ks-topnav__menu .ks-topnav__link--cta{
		margin:10px 16px 4px !important;
		padding:10px 14px !important;
		text-align:center !important;
		justify-content:center !important;
		background:var(--ks-accent) !important;
		color:#fff !important;
		font-weight:700 !important;
	}

	/* サブメニュートグルボタン（右側 ▾） */
	.ks-topnav .ks-topnav__submenu-toggle{
		display:flex !important;
		position:absolute !important;
		top:0 !important;
		right:0 !important;
		width:44px !important;
		height:44px !important;
		align-items:center;
		justify-content:center;
		color:#222;
		border:0;
		border-left:1px solid #f0f2f5;
		background:transparent;
		font-size:14px;
		cursor:pointer;
		z-index:1;
	}
}


/* ============================================================
   ハンバーガーボタン：クリック確実化（z-index/pointer-events強制）
   ============================================================ */
.ks-topnav .ks-topnav__toggle,
.ks-topnav .ks-topnav__toggle * {
	pointer-events:auto !important;
	cursor:pointer;
}
.ks-topnav .ks-topnav__toggle {
	position:relative !important;
	z-index:99999 !important;
}
.ks-topnav .ks-topnav__toggle-bar {
	pointer-events:none;
}
@media (max-width:880px) {
	.ks-topnav .ks-topnav__toggle {
		display:flex !important;
		visibility:visible !important;
		opacity:1 !important;
	}
}


/* ============================================================
   ハンバーガーボタン 最終強化版（必ず見えてクリック可能）
   ============================================================ */
@media (max-width:880px) {
	/* ナビバー本体のレイアウトを再宣言 */
	.ks-topnav .ks-topnav__inner {
		display:flex !important;
		flex-direction:row !important;
		justify-content:space-between !important;
		align-items:center !important;
		padding:0 12px !important;
		gap:8px !important;
		height:40px !important;
	}
	/* ブランド（ロゴ）：左、可変幅 */
	.ks-topnav .ks-topnav__brand {
		flex:1 1 auto !important;
		min-width:0 !important;
		display:flex !important;
		align-items:center !important;
	}
	/* ハンバーガーボタン：右、固定 */
	.ks-topnav .ks-topnav__toggle {
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;
		flex-direction:column !important;
		flex:0 0 40px !important;
		width:40px !important;
		height:40px !important;
		padding:0 !important;
		margin:0 !important;
		background:transparent !important;
		border:0 !important;
		cursor:pointer !important;
		visibility:visible !important;
		opacity:1 !important;
		pointer-events:auto !important;
		position:relative !important;
		z-index:99999 !important;
		gap:5px !important;
	}
	/* ハンバーガー線 */
	.ks-topnav .ks-topnav__toggle-bar {
		display:block !important;
		width:24px !important;
		height:2.5px !important;
		background:#222 !important;
		margin:0 !important;
		border-radius:2px !important;
		transition:transform .2s, opacity .2s !important;
		pointer-events:none !important;
	}
	/* タップ時の視覚フィードバック */
	.ks-topnav .ks-topnav__toggle:active,
	.ks-topnav .ks-topnav__toggle:focus {
		background:rgba(11,110,140,.08) !important;
		outline:none !important;
	}
	/* 開いている時：×印に */
	.ks-topnav .ks-topnav__toggle[aria-expanded="true"] .ks-topnav__toggle-bar:nth-child(1) {
		transform:translateY(7px) rotate(45deg) !important;
	}
	.ks-topnav .ks-topnav__toggle[aria-expanded="true"] .ks-topnav__toggle-bar:nth-child(2) {
		opacity:0 !important;
	}
	.ks-topnav .ks-topnav__toggle[aria-expanded="true"] .ks-topnav__toggle-bar:nth-child(3) {
		transform:translateY(-8px) rotate(-45deg) !important;
	}
}


/* ============================================================
   ヒーロー内ボタンの視認性向上（「サービスを見る」など）
   ============================================================ */
.ks-hero .ks-btn--ghost{
	background:rgba(0,0,0,.55) !important;
	color:#fff !important;
	border:2px solid #fff !important;
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	box-shadow:0 4px 16px rgba(0,0,0,.5);
	text-shadow:0 1px 4px rgba(0,0,0,.85);
	font-weight:700;
}
.ks-hero .ks-btn--ghost:hover{
	background:#fff !important;
	color:#1f0810 !important;
	text-shadow:none;
	border-color:#fff !important;
}
.ks-hero .ks-btn--ghost .ks-btn__arrow{color:inherit}

/* CTA 主ボタン（無料相談）も影と境界を強化 */
.ks-hero .ks-btn--primary{
	box-shadow:0 6px 20px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.15) inset;
	text-shadow:0 1px 2px rgba(0,0,0,.3);
}


/* ============================================================
   管理画面で編集された本文（the_content）の表示スタイル
   ============================================================ */
.ks-page-content{
	max-width:880px;
	margin:0 auto;
	font-size:15.5px;
	line-height:1.95;
	color:var(--ks-text);
}
.ks-page-content h2{
	font-size:24px;
	color:var(--ks-key-dark);
	margin:32px 0 14px;
	font-weight:700;
	letter-spacing:.04em;
	border-bottom:2px solid var(--ks-accent);
	padding-bottom:8px;
}
.ks-page-content h3{
	font-size:19px;
	color:var(--ks-key-dark);
	margin:28px 0 12px;
	font-weight:700;
	letter-spacing:.03em;
	border-left:4px solid var(--ks-key);
	padding-left:12px;
}
.ks-page-content h4{
	font-size:16px;
	color:var(--ks-key-dark);
	margin:22px 0 10px;
	font-weight:700;
}
.ks-page-content p{margin:0 0 16px;line-height:1.95}
.ks-page-content ul,
.ks-page-content ol{margin:0 0 18px 28px;padding:0;line-height:1.9}
.ks-page-content li{margin:0 0 4px}
.ks-page-content strong{color:var(--ks-key-dark);font-weight:700}
.ks-page-content em{font-style:normal;color:var(--ks-key);font-weight:600}
.ks-page-content a{color:var(--ks-key);text-decoration:underline}
.ks-page-content a:hover{color:var(--ks-key-dark)}
.ks-page-content blockquote{
	background:var(--ks-bg-soft);
	border-left:4px solid var(--ks-accent);
	padding:14px 18px;
	margin:18px 0;
	font-size:14.5px;
	color:var(--ks-text-soft);
}
.ks-page-content table{
	width:100%;
	border-collapse:collapse;
	margin:18px 0;
	border:1px solid var(--ks-line);
	background:#fff;
}
.ks-page-content table th,
.ks-page-content table td{
	padding:12px 16px;
	border-bottom:1px solid var(--ks-line);
	text-align:left;
	font-size:14.5px;
}
.ks-page-content table th{
	background:var(--ks-bg-soft);
	color:var(--ks-key-dark);
	font-weight:700;
	width:170px;
}
.ks-page-content img{max-width:100%;height:auto;display:block;margin:18px auto}

@media (max-width:680px){
	.ks-page-content{font-size:14.5px}
	.ks-page-content h2{font-size:20px}
	.ks-page-content h3{font-size:17px}
	.ks-page-content table th{width:auto;display:block}
	.ks-page-content table td{display:block}
}


/* ============================================================
   セクション画像（SVGサンプル／後で写真に差し替え可）
   ============================================================ */
.ks-sec-image{
	margin:32px auto 24px;
	max-width:1100px;
	border-radius:10px;
	overflow:hidden;
	box-shadow:0 6px 24px rgba(8,79,102,.12);
	background:#f5f0e8;
}
/* 本文（the_content）内に自動挿入された画像専用：h2 直下に密着 */
.ks-page-content .ks-sec-image,
.ks-sec-image--in-content{
	margin:14px 0 30px;
	max-width:100%;
}
.ks-sec-image img{display:block;width:100%;height:auto}
.ks-sec-image--wide{max-width:1280px}
.ks-sec-image--narrow{max-width:760px}

/* ヒーロー画像（SVGをヒーロー背景として配置） */
.ks-page-hero[data-sample]{
	position:relative;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
}
.ks-page-hero[data-sample] .ks-page-hero__overlay{
	background:linear-gradient(110deg,rgba(8,79,102,.78) 0%,rgba(8,79,102,.45) 60%,rgba(11,110,140,.25) 100%);
}

/* 代表メッセージ／philosophy 用：縦長ポートレート横並び */
.ks-message-with-image{
	display:grid;
	grid-template-columns:280px 1fr;
	gap:36px;
	align-items:start;
	margin-top:20px;
}
.ks-message-with-image .ks-sec-image{
	margin:0;
	max-width:none;
}
@media (max-width:780px){
	.ks-message-with-image{grid-template-columns:1fr;gap:20px}
	.ks-message-with-image .ks-sec-image{max-width:260px;margin:0 auto}
}

@media (max-width:680px){
	.ks-sec-image{margin:20px auto 18px;border-radius:6px}
}

/* ============================================================
   2カラム split（左：画像、右：本文）
   ============================================================ */
.ks-split{
	display:grid;
	grid-template-columns:5fr 7fr;
	gap:48px;
	align-items:center;
	margin:36px 0 24px;
}
.ks-split--image-left{grid-template-columns:5fr 7fr}
.ks-split--image-right{grid-template-columns:7fr 5fr}
.ks-split--no-image{display:block;grid-template-columns:none}
.ks-split--image-right .ks-split__image{order:2}
.ks-split--image-right .ks-split__body{order:1}

.ks-split__image{
	margin:0;
	border-radius:10px;
	overflow:hidden;
	box-shadow:0 6px 24px rgba(8,79,102,.12);
	background:#f5f0e8;
	align-self:start;
	position:sticky;
	top:80px;
}
.ks-split__image img{display:block;width:100%;height:auto}
.ks-split__body{min-width:0}
.ks-split__body .ks-prose{margin:0}
.ks-split__body .ks-prose p{margin-bottom:1.1em}

@media (max-width:880px){
	.ks-split,.ks-split--image-left,.ks-split--image-right{grid-template-columns:1fr;gap:24px}
	.ks-split--image-right .ks-split__image{order:0}
	.ks-split--image-right .ks-split__body{order:0}
	.ks-split__image{position:static}
}


/* ============================================================
   採用CX簡易診断ページ（page-cx-check.php）
   ============================================================ */
.ks-cxc-form{max-width:880px;margin:36px auto 0}
.ks-cxc-cat{
	background:#fff;
	border-radius:14px;
	box-shadow:0 8px 24px rgba(8,79,102,.08);
	padding:28px 32px;
	margin-bottom:22px;
	border-top:6px solid var(--ks-key,#2E5C8A);
}
.ks-cxc-cat--c1{border-top-color:#C53030}
.ks-cxc-cat--c2{border-top-color:#2E5C8A}
.ks-cxc-cat--c3{border-top-color:#5A8A6B}
.ks-cxc-cat--c4{border-top-color:#C69B3D}
.ks-cxc-cat--c5{border-top-color:#7B549A}
.ks-cxc-cat__head{
	display:flex;align-items:center;gap:14px;
	margin-bottom:18px;padding-bottom:14px;
	border-bottom:1px solid #e5e7eb;
}
.ks-cxc-cat__num{
	display:inline-block;
	padding:5px 12px;
	background:#f3f4f6;color:#6B7280;
	border-radius:6px;
	font-size:12px;font-weight:700;letter-spacing:.08em;
}
.ks-cxc-cat--c1 .ks-cxc-cat__num{background:#fef0ee;color:#C53030}
.ks-cxc-cat--c2 .ks-cxc-cat__num{background:#eaf2fa;color:#2E5C8A}
.ks-cxc-cat--c3 .ks-cxc-cat__num{background:#eef5f0;color:#5A8A6B}
.ks-cxc-cat--c4 .ks-cxc-cat__num{background:#faf3e6;color:#C69B3D}
.ks-cxc-cat--c5 .ks-cxc-cat__num{background:#f0e9f5;color:#7B549A}
.ks-cxc-cat__title{
	margin:0;flex:1;
	font-size:20px;font-weight:700;color:#1F3F61;
}
.ks-cxc-cat__score{
	background:#f3f4f6;color:#374151;
	padding:6px 14px;border-radius:20px;
	font-size:14px;font-weight:700;font-family:Georgia,serif;
	min-width:64px;text-align:center;
	transition:background .25s,color .25s;
}
.ks-cxc-questions{
	list-style:none;margin:0;padding:0;
	display:grid;grid-template-columns:1fr;gap:6px;
}
.ks-cxc-check{
	display:flex;align-items:flex-start;gap:14px;
	padding:12px 14px;border-radius:8px;cursor:pointer;
	transition:background .2s;
}
.ks-cxc-check:hover{background:#f9fafb}
.ks-cxc-check input{position:absolute;opacity:0;width:0;height:0}
.ks-cxc-check__box{
	flex-shrink:0;
	width:24px;height:24px;
	border:2px solid #cbd5e1;border-radius:5px;
	background:#fff;
	display:flex;align-items:center;justify-content:center;
	transition:all .2s;
	margin-top:2px;
}
.ks-cxc-check__box::after{
	content:"";
	width:14px;height:14px;
	border-radius:2px;
	background:transparent;
	transition:all .15s;
}
.ks-cxc-check input:checked + .ks-cxc-check__box{
	border-color:#2E5C8A;background:#2E5C8A;
}
.ks-cxc-check input:checked + .ks-cxc-check__box::after{
	background:#fff;
	clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
	border-radius:0;
}
.ks-cxc-check__text{
	flex:1;
	font-size:15.5px;line-height:1.7;
	color:#1F3F61;
}
.ks-cxc-cat--c1 .ks-cxc-check input:checked + .ks-cxc-check__box{border-color:#C53030;background:#C53030}
.ks-cxc-cat--c2 .ks-cxc-check input:checked + .ks-cxc-check__box{border-color:#2E5C8A;background:#2E5C8A}
.ks-cxc-cat--c3 .ks-cxc-check input:checked + .ks-cxc-check__box{border-color:#5A8A6B;background:#5A8A6B}
.ks-cxc-cat--c4 .ks-cxc-check input:checked + .ks-cxc-check__box{border-color:#C69B3D;background:#C69B3D}
.ks-cxc-cat--c5 .ks-cxc-check input:checked + .ks-cxc-check__box{border-color:#7B549A;background:#7B549A}
.ks-cxc-action{text-align:center;margin:48px 0 24px}
.ks-cxc-action .ks-btn{font-size:18px;padding:18px 48px;min-width:340px}
.ks-cxc-action__note{font-size:13px;color:#6B7280;margin-top:14px}

/* 診断結果 */
.ks-cxc-result__card{
	background:#fff;
	border-radius:18px;
	box-shadow:0 12px 36px rgba(8,79,102,.14);
	padding:46px 48px;
	display:grid;grid-template-columns:1fr 1.6fr;gap:48px;
	margin:24px 0 32px;
	position:relative;overflow:hidden;
}
.ks-cxc-result__card::before{
	content:"";position:absolute;left:0;top:0;right:0;height:8px;
	background:linear-gradient(90deg,#C53030 0%,#2E5C8A 50%,#5A8A6B 100%);
}
.ks-cxc-result__score{text-align:center;border-right:1px solid #e5e7eb;padding-right:36px}
.ks-cxc-result__score-grade{
	font-family:Georgia,"Times New Roman",serif;
	font-size:120px;font-weight:900;line-height:1;
	color:#2E5C8A;
	margin-bottom:8px;
}
.ks-cxc-result__score-grade--s{color:#C69B3D}
.ks-cxc-result__score-grade--a{color:#2E5C8A}
.ks-cxc-result__score-grade--b{color:#5A8A6B}
.ks-cxc-result__score-grade--c{color:#C53030}
.ks-cxc-result__score-num{
	font-family:Georgia,serif;font-size:40px;font-weight:900;color:#1F3F61;
	line-height:1;margin-bottom:8px;
}
.ks-cxc-result__score-num small{font-size:18px;font-weight:500;color:#6B7280;margin-left:6px}
.ks-cxc-result__score-label{font-size:18px;color:#374151;font-weight:700}
.ks-cxc-result__type-lead{font-size:14px;color:#6B7280;letter-spacing:.1em;margin-bottom:6px}
.ks-cxc-result__type-name{
	font-size:38px;font-weight:900;color:#1F3F61;
	margin-bottom:18px;line-height:1.3;
}
.ks-cxc-result__type-desc{font-size:15px;line-height:1.85;color:#1A2332;margin:0}

.ks-cxc-result__summary{margin:36px 0 24px}
.ks-cxc-result__summary-title{font-size:18px;color:#1F3F61;margin:0 0 16px}
.ks-cxc-bars{display:grid;grid-template-columns:1fr;gap:14px}
.ks-cxc-bar{display:grid;grid-template-columns:180px 1fr 70px;gap:18px;align-items:center}
.ks-cxc-bar__label{font-size:14.5px;font-weight:600;color:#1F3F61}
.ks-cxc-bar__track{background:#e5e7eb;border-radius:6px;height:14px;overflow:hidden}
.ks-cxc-bar__fill{height:100%;border-radius:6px;transition:width .6s ease}
.ks-cxc-bar--c1 .ks-cxc-bar__fill{background:linear-gradient(90deg,#C53030,#E85A4A)}
.ks-cxc-bar--c2 .ks-cxc-bar__fill{background:linear-gradient(90deg,#2E5C8A,#3b88b8)}
.ks-cxc-bar--c3 .ks-cxc-bar__fill{background:linear-gradient(90deg,#5A8A6B,#7BAE89)}
.ks-cxc-bar--c4 .ks-cxc-bar__fill{background:linear-gradient(90deg,#C69B3D,#E8C896)}
.ks-cxc-bar--c5 .ks-cxc-bar__fill{background:linear-gradient(90deg,#7B549A,#9F7BBE)}
.ks-cxc-bar__val{font-family:Georgia,serif;font-size:15px;font-weight:700;color:#1F3F61;text-align:right}
.ks-cxc-result__overall{
	margin-top:18px;padding:18px;
	background:#fff;border-radius:10px;
	font-size:15px;color:#1F3F61;line-height:1.85;border-left:5px solid #2E5C8A;
}

.ks-cxc-result__cta{
	text-align:center;background:#fff;
	padding:42px 32px;border-radius:14px;
	box-shadow:0 10px 30px rgba(8,79,102,.12);
	margin-top:28px;
}
.ks-cxc-result__cta h3{font-size:22px;color:#1F3F61;margin:0 0 12px}
.ks-cxc-result__cta p{font-size:15px;line-height:1.85;color:#374151;margin:0 0 22px}
.ks-cxc-result__cta .ks-btn{padding:18px 36px;font-size:17px}
.ks-cxc-result__cta-sub{margin-top:18px}
.ks-cxc-result__cta-sub a{color:#2E5C8A;font-size:14px}

/* /contact/ ページに表示する診断結果引継ぎバナー */
.ks-cx-notice{
	max-width:880px;margin:24px auto;
	padding:18px 24px;border-radius:10px;
	background:linear-gradient(135deg,#fef0ee 0%,#fef8f0 100%);
	border-left:5px solid #C53030;
	color:#1F3F61;font-size:14.5px;line-height:1.7;
}

@media(max-width:880px){
	.ks-cxc-form{padding:0 4px}
	.ks-cxc-cat{padding:22px 18px}
	.ks-cxc-cat__head{flex-wrap:wrap;gap:8px}
	.ks-cxc-cat__title{font-size:17px;flex:1 1 100%;order:2}
	.ks-cxc-cat__num{order:1}
	.ks-cxc-cat__score{order:1;margin-left:auto}
	.ks-cxc-check__text{font-size:14.5px}
	.ks-cxc-result__card{grid-template-columns:1fr;gap:24px;padding:32px 24px}
	.ks-cxc-result__score{border-right:none;border-bottom:1px solid #e5e7eb;padding:0 0 24px}
	.ks-cxc-result__score-grade{font-size:96px}
	.ks-cxc-result__type-name{font-size:28px}
	.ks-cxc-bar{grid-template-columns:120px 1fr 60px;gap:10px}
	.ks-cxc-bar__label{font-size:13px}
	.ks-cxc-action .ks-btn{min-width:auto;width:100%;font-size:16px}
}


/* ===== 採用CX支援ページの「簡易診断」CTAバナー ===== */
.ks-cx-check-banner{
	margin:32px 0 12px;
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 8px 28px rgba(8,79,102,.16);
	background:linear-gradient(135deg,#2E5C8A 0%,#3b88b8 100%);
}
.ks-cx-check-banner__inner{
	padding:30px 36px;
	display:flex;align-items:center;justify-content:space-between;gap:24px;
	flex-wrap:wrap;color:#fff;
}
.ks-cx-check-banner__head{display:flex;align-items:center;gap:18px;flex:1;min-width:280px}
.ks-cx-check-banner__icon{
	flex-shrink:0;
	width:54px;height:54px;
	border-radius:50%;
	background:rgba(255,255,255,.2);
	display:flex;align-items:center;justify-content:center;
	font-size:30px;font-weight:900;color:#fff;
}
.ks-cx-check-banner h3{margin:0 0 6px;font-size:21px;color:#fff;letter-spacing:.04em}
.ks-cx-check-banner p{margin:0;font-size:14px;color:rgba(255,255,255,.92);line-height:1.7}
.ks-cx-check-banner .ks-btn{
	background:#fff !important;
	color:#1F3F61 !important;
	border:none !important;
	padding:14px 28px;
	font-weight:700;
}
.ks-cx-check-banner .ks-btn:hover{background:#fff8d6 !important}
@media(max-width:720px){
	.ks-cx-check-banner__inner{flex-direction:column;align-items:flex-start;padding:24px}
	.ks-cx-check-banner .ks-btn{width:100%;text-align:center}
}


/* ============================================================
   支援事例ページ（page-case-studies.php）：6件カード
   ============================================================ */
.ks-cases-grid{
	display:grid;grid-template-columns:1fr;gap:32px;
	margin:36px auto 12px;max-width:1080px;
}
.ks-case{
	position:relative;background:#fff;
	border-radius:16px;
	box-shadow:0 10px 32px rgba(8,79,102,.12);
	padding:48px 44px 40px;
	overflow:hidden;
	border-top:8px solid var(--ks-key,#2E5C8A);
}
.ks-case--c1{border-top-color:#C53030}
.ks-case--c2{border-top-color:#2E5C8A}
.ks-case--c3{border-top-color:#5A8A6B}
.ks-case--c4{border-top-color:#C69B3D}
.ks-case__num{
	position:absolute;top:18px;right:24px;
	font-family:Georgia,"Times New Roman",serif;
	font-size:96px;font-weight:900;font-style:italic;
	line-height:1;color:rgba(31,63,97,.07);
	pointer-events:none;
}
.ks-case--c1 .ks-case__num{color:rgba(197,48,48,.10)}
.ks-case--c2 .ks-case__num{color:rgba(46,92,138,.10)}
.ks-case--c3 .ks-case__num{color:rgba(90,138,107,.12)}
.ks-case--c4 .ks-case__num{color:rgba(198,155,61,.14)}
.ks-case__head{
	display:flex;align-items:center;gap:10px;
	margin-bottom:14px;
	flex-wrap:wrap;position:relative;z-index:1;
}
.ks-case__tag{
	display:inline-block;
	padding:5px 14px;
	background:linear-gradient(135deg,var(--ks-key,#2E5C8A) 0%,#3b88b8 100%);
	color:#fff;
	font-size:12px;font-weight:700;letter-spacing:.12em;
	border-radius:14px;
}
.ks-case--c1 .ks-case__tag{background:linear-gradient(135deg,#C53030,#E85A4A)}
.ks-case--c2 .ks-case__tag{background:linear-gradient(135deg,#2E5C8A,#3b88b8)}
.ks-case--c3 .ks-case__tag{background:linear-gradient(135deg,#5A8A6B,#7BAE89)}
.ks-case--c4 .ks-case__tag{background:linear-gradient(135deg,#C69B3D,#E8C896)}
.ks-case__cat{
	font-size:12.5px;color:#6B7280;
	border-left:3px solid #d1d5db;padding-left:10px;
}
.ks-case__title{
	font-size:23px;color:#1F3F61;
	margin:0 0 22px;font-weight:700;
	letter-spacing:.02em;line-height:1.55;
	position:relative;z-index:1;
	padding-right:96px;
}
.ks-case__metrics{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:14px;
	margin:0 0 28px;
	background:linear-gradient(135deg,#f3f6f8 0%,#fafbfc 100%);
	border-radius:10px;
	padding:22px 24px;
	border-left:4px solid var(--ks-key,#2E5C8A);
}
.ks-case--c1 .ks-case__metrics{border-left-color:#C53030}
.ks-case--c2 .ks-case__metrics{border-left-color:#2E5C8A}
.ks-case--c3 .ks-case__metrics{border-left-color:#5A8A6B}
.ks-case--c4 .ks-case__metrics{border-left-color:#C69B3D}
.ks-case__metric{text-align:center}
.ks-case__metric-num{
	display:block;
	font-family:Georgia,serif;
	font-size:32px;font-weight:900;
	color:#1F3F61;line-height:1.1;
	margin-bottom:4px;
}
.ks-case--c1 .ks-case__metric-num{color:#C53030}
.ks-case--c2 .ks-case__metric-num{color:#2E5C8A}
.ks-case--c3 .ks-case__metric-num{color:#5A8A6B}
.ks-case--c4 .ks-case__metric-num{color:#C69B3D}
.ks-case__metric-num small{
	font-size:14px;font-weight:700;
	margin-left:3px;
}
.ks-case__metric-label{
	display:block;
	font-size:11.5px;color:#6B7280;
	letter-spacing:.04em;line-height:1.55;
}
.ks-case__body{
	font-size:15px;line-height:1.95;
	color:#1A2332;
	position:relative;z-index:1;
}
.ks-case__body p{margin:0 0 1em}
.ks-case__body p:last-child{margin:0}
.ks-case__body strong{color:var(--ks-key-dark,#1F3F61);font-weight:700}

@media (max-width:880px){
	.ks-case{padding:36px 26px 30px}
	.ks-case__title{font-size:19px;padding-right:64px}
	.ks-case__num{font-size:72px;top:14px;right:18px}
	.ks-case__metrics{grid-template-columns:1fr;padding:18px 20px;gap:14px}
	.ks-case__metric{text-align:left;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline}
	.ks-case__metric-num{font-size:24px;margin:0}
	.ks-case__metric-label{padding-top:4px}
}


/* ============================================================
   トップページ「支援事例・お客様の声」：6件ミニカード
   ============================================================ */
.ks-mini-cases{
	display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
	margin:36px 0 8px;
}
.ks-mini-case{
	position:relative;display:block;
	background:#fff;
	padding:32px 26px 28px;
	border-radius:12px;
	box-shadow:0 6px 22px rgba(8,79,102,.10);
	text-decoration:none;color:inherit;
	overflow:hidden;
	transition:transform .25s ease,box-shadow .25s ease;
	border-top:6px solid var(--ks-key,#2E5C8A);
}
.ks-mini-case--c1{border-top-color:#C53030}
.ks-mini-case--c2{border-top-color:#2E5C8A}
.ks-mini-case--c3{border-top-color:#5A8A6B}
.ks-mini-case--c4{border-top-color:#C69B3D}
.ks-mini-case:hover{
	transform:translateY(-6px);
	box-shadow:0 14px 34px rgba(8,79,102,.20);
	text-decoration:none;
}
.ks-mini-case__num{
	position:absolute;top:12px;right:16px;
	font-family:Georgia,serif;font-style:italic;
	font-size:64px;font-weight:900;line-height:1;
	color:rgba(31,63,97,.07);
	pointer-events:none;
}
.ks-mini-case--c1 .ks-mini-case__num{color:rgba(197,48,48,.10)}
.ks-mini-case--c2 .ks-mini-case__num{color:rgba(46,92,138,.10)}
.ks-mini-case--c3 .ks-mini-case__num{color:rgba(90,138,107,.12)}
.ks-mini-case--c4 .ks-mini-case__num{color:rgba(198,155,61,.14)}
.ks-mini-case__tag{
	display:inline-block;
	font-size:11.5px;font-weight:700;letter-spacing:.06em;
	color:#6B7280;
	background:#f3f4f6;
	padding:4px 11px;border-radius:12px;
	margin-bottom:14px;
	position:relative;z-index:1;
}
.ks-mini-case--c1 .ks-mini-case__tag{background:#fef0ee;color:#C53030}
.ks-mini-case--c2 .ks-mini-case__tag{background:#eaf2fa;color:#2E5C8A}
.ks-mini-case--c3 .ks-mini-case__tag{background:#eef5f0;color:#5A8A6B}
.ks-mini-case--c4 .ks-mini-case__tag{background:#faf3e6;color:#9d7a2e}
.ks-mini-case__title{
	font-size:17px;color:#1F3F61;
	margin:0 0 16px;font-weight:700;
	line-height:1.55;letter-spacing:.02em;
	position:relative;z-index:1;
	padding-right:48px;min-height:54px;
}
.ks-mini-case__metric{
	background:linear-gradient(135deg,#f3f6f8 0%,#fafbfc 100%);
	border-left:4px solid var(--ks-key,#2E5C8A);
	border-radius:6px;
	padding:12px 14px;
	margin-bottom:14px;
	font-size:13px;color:#6B7280;
	position:relative;z-index:1;
	display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;
}
.ks-mini-case--c1 .ks-mini-case__metric{border-left-color:#C53030}
.ks-mini-case--c2 .ks-mini-case__metric{border-left-color:#2E5C8A}
.ks-mini-case--c3 .ks-mini-case__metric{border-left-color:#5A8A6B}
.ks-mini-case--c4 .ks-mini-case__metric{border-left-color:#C69B3D}
.ks-mini-case__metric strong{
	font-family:Georgia,serif;
	font-size:24px;font-weight:900;
	color:#1F3F61;line-height:1;
}
.ks-mini-case--c1 .ks-mini-case__metric strong{color:#C53030}
.ks-mini-case--c2 .ks-mini-case__metric strong{color:#2E5C8A}
.ks-mini-case--c3 .ks-mini-case__metric strong{color:#5A8A6B}
.ks-mini-case--c4 .ks-mini-case__metric strong{color:#C69B3D}
.ks-mini-case__metric small{
	font-family:Georgia,serif;font-size:13px;font-weight:700;
	color:inherit;margin-right:4px;
}
.ks-mini-case__metric span{font-size:12px}
.ks-mini-case__summary{
	font-size:13.5px;color:#374151;
	line-height:1.85;margin:0;
	position:relative;z-index:1;
}

.ks-section__action{text-align:center;margin:36px 0 8px}
.ks-cases-voice-note{
	text-align:center;color:#6B7280;
	font-size:13px;margin:18px 0 0;
}

@media (max-width:980px){.ks-mini-cases{grid-template-columns:repeat(2,1fr);gap:18px}}
@media (max-width:620px){
	.ks-mini-cases{grid-template-columns:1fr;gap:16px}
	.ks-mini-case{padding:26px 22px}
	.ks-mini-case__title{font-size:16px;min-height:auto;padding-right:40px}
	.ks-mini-case__num{font-size:48px;top:10px;right:14px}
}


/* ===== ソリューションカード：リンク化版（yagioffer） ===== */
.ks-svc-solution-card--link{
	display:block;
	text-decoration:none;color:inherit;
	transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
	position:relative;
}
.ks-svc-solution-card--link:hover{
	transform:translateY(-4px);
	box-shadow:0 14px 32px rgba(8,79,102,.18);
	border-top-color:#C53030;
	text-decoration:none;
}
.ks-svc-solution-card--link h3{
	display:flex;align-items:center;gap:6px;
}
.ks-svc-solution-card__ext{
	display:inline-block;
	font-size:14px;
	color:var(--ks-key,#2E5C8A);
	font-weight:400;
	transition:transform .2s ease;
	margin-left:2px;
}
.ks-svc-solution-card--link:hover .ks-svc-solution-card__ext{transform:translate(2px,-2px)}
.ks-svc-solution-card__cta{
	margin-top:14px !important;
	color:var(--ks-accent,#C53030) !important;
	font-weight:700;
	font-size:13.5px !important;
	letter-spacing:.04em;
	font-style:normal !important;
	display:inline-flex;align-items:center;gap:6px;
}
.ks-svc-solution-card__cta-arrow{
	font-family:Georgia,serif;
	font-size:18px;line-height:1;
	transition:transform .2s ease;
}
.ks-svc-solution-card--link:hover .ks-svc-solution-card__cta-arrow{transform:translateX(4px)}


/* ===== 本文内の外部リンク（yagioffer など） ===== */
.ks-page-content .ks-ext-link{
	color:var(--ks-accent,#C53030);
	text-decoration:none;
	font-weight:700;
	border-bottom:1px solid currentColor;
	transition:opacity .2s;
	display:inline-block;
}
.ks-page-content .ks-ext-link:hover{opacity:.72;text-decoration:none}
.ks-page-content .ks-ext-link strong{color:inherit;font-weight:700}
.ks-page-content .ks-ext-link__icon{
	display:inline-block;
	margin-left:4px;
	font-size:.9em;
	transition:transform .2s;
}
.ks-page-content .ks-ext-link:hover .ks-ext-link__icon{transform:translate(2px,-2px)}


/* ===== 採用情報：働き方の柔軟性バンド ===== */
.ks-flexibility-band{
	background:linear-gradient(135deg,#FFF8E1 0%,#FFE8C8 100%);
	border-left:6px solid #C69B3D;
	border-radius:12px;
	padding:28px 32px;
	margin:32px auto 28px;
	max-width:880px;
	box-shadow:0 6px 22px rgba(198,155,61,.18);
	text-align:left;
}
.ks-flexibility-band *{text-align:left}
.ks-flexibility-band__head{
	display:flex;align-items:center;gap:14px;margin-bottom:14px;
}
.ks-flexibility-band__icon{
	width:42px;height:42px;
	background:linear-gradient(135deg,#C69B3D,#E8C896);
	color:#fff;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	font-size:22px;flex-shrink:0;
}
.ks-flexibility-band h3{
	margin:0;font-size:19px;color:#7A5C18;
	font-weight:700;letter-spacing:.04em;
}
.ks-flexibility-band__list{
	list-style:none;margin:0;padding:0;
	display:grid;gap:10px;
}
.ks-flexibility-band__list li{
	position:relative;
	padding:10px 14px 10px 38px;
	background:rgba(255,255,255,.55);
	border-radius:8px;
	font-size:14.5px;line-height:1.85;
	color:#5A4310;
}
.ks-flexibility-band__list li::before{
	content:"♥";
	position:absolute;left:12px;top:10px;
	color:#C69B3D;font-size:16px;line-height:1.85;
}
.ks-flexibility-band__list strong{color:#7A5C18}

@media (max-width:680px){
	.ks-flexibility-band{padding:22px 20px;border-radius:8px}
	.ks-flexibility-band h3{font-size:17px}
	.ks-flexibility-band__list li{font-size:13.5px;padding:10px 12px 10px 32px}
}


/* ============================================================
   採用CXページ 採用ファネル：行レイアウト（クリーン版）
   ============================================================ */
.ks-funnel-clean{
	max-width:1020px;margin:32px auto 24px;
	background:#fff;border-radius:14px;
	box-shadow:0 8px 28px rgba(8,79,102,.12);
	padding:28px 32px;
}
.ks-funnel-clean__head{
	display:grid;
	grid-template-columns:140px 1fr 80px 200px;
	gap:18px;
	padding:0 0 12px;border-bottom:2px solid #2E5C8A;
	font-size:12px;font-weight:700;letter-spacing:.08em;
	color:#2E5C8A;
}
.ks-funnel-clean__head-track{padding-left:6px}
.ks-funnel-clean__head-pct{text-align:right}
.ks-funnel-clean__head-rate{text-align:right}
.ks-funnel-clean__row{
	display:grid;
	grid-template-columns:140px 1fr 80px 200px;
	gap:18px;
	align-items:center;
	padding:14px 0;
	border-bottom:1px solid #e5e7eb;
}
.ks-funnel-clean__row:last-of-type{border-bottom:none}
.ks-funnel-clean__name{
	font-weight:700;color:#1F3F61;
	font-size:14.5px;letter-spacing:.02em;
}
.ks-funnel-clean__track{
	background:#eef3f7;border-radius:6px;
	height:32px;position:relative;overflow:hidden;
}
.ks-funnel-clean__bar{
	background:linear-gradient(90deg,#2E5C8A 0%,#3b88b8 100%);
	height:100%;border-radius:6px;
	display:flex;align-items:center;justify-content:flex-end;
	padding-right:12px;
	color:#fff;font-weight:700;font-size:14px;
	min-width:60px;
	transition:width .5s ease;
}
.ks-funnel-clean__row:last-of-type .ks-funnel-clean__bar{
	background:linear-gradient(90deg,#C53030 0%,#E85A4A 100%);
}
.ks-funnel-clean__count{
	font-family:Georgia,serif;
	white-space:nowrap;
}
.ks-funnel-clean__count small{
	font-size:11px;margin-left:2px;font-family:initial;
	opacity:.85;
}
.ks-funnel-clean__pct{
	font-family:Georgia,serif;
	font-weight:700;font-size:16px;
	color:#1F3F61;text-align:right;
}
.ks-funnel-clean__rate{
	text-align:right;font-size:12.5px;color:#6B7280;
	line-height:1.5;
}
.ks-funnel-clean__rate-label{display:block;letter-spacing:.04em}
.ks-funnel-clean__rate-value{
	font-family:Georgia,serif;
	font-weight:700;font-size:18px;color:#C53030;
	display:block;
}
.ks-funnel-clean__notes{
	margin-top:20px;padding-top:16px;
	border-top:1px solid #e5e7eb;
	font-size:12.5px;line-height:1.85;color:#6B7280;
}
.ks-funnel-clean__notes p{margin:0 0 6px}
.ks-funnel-clean__notes p:last-child{margin:0}

@media (max-width:880px){
	.ks-funnel-clean{padding:22px 18px}
	.ks-funnel-clean__head{grid-template-columns:100px 1fr 60px 120px;gap:10px}
	.ks-funnel-clean__row{grid-template-columns:100px 1fr 60px 120px;gap:10px}
	.ks-funnel-clean__name{font-size:13px}
	.ks-funnel-clean__bar{font-size:12.5px;padding-right:8px}
	.ks-funnel-clean__pct{font-size:14px}
	.ks-funnel-clean__rate-label{font-size:11px}
	.ks-funnel-clean__rate-value{font-size:15px}
}
@media (max-width:620px){
	.ks-funnel-clean__head{display:none}
	.ks-funnel-clean__row{
		grid-template-columns:90px 1fr 60px;
		grid-template-rows:auto auto;
		gap:8px 10px;
	}
	.ks-funnel-clean__name{grid-row:1;grid-column:1}
	.ks-funnel-clean__track{grid-row:1;grid-column:2}
	.ks-funnel-clean__pct{grid-row:1;grid-column:3}
	.ks-funnel-clean__rate{grid-row:2;grid-column:1 / -1;text-align:left;padding-left:90px}
	.ks-funnel-clean__rate-label,.ks-funnel-clean__rate-value{display:inline-block;margin-right:8px}
}

/* ========================================
   採用CX簡易診断 v1.0（PA向け・仕様書準拠）
   ======================================== */
/* 対象範囲アナウンス */
.ks-cxq-scope{padding-top:36px;padding-bottom:0}
.ks-cxq-scope__box{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:980px;margin:0 auto}
@media(max-width:780px){.ks-cxq-scope__box{grid-template-columns:1fr}}
.ks-cxq-scope__pa,.ks-cxq-scope__seishain{background:#fff;border:1px solid #E8E6E0;border-radius:12px;padding:22px 22px;display:flex;gap:14px;align-items:flex-start}
.ks-cxq-scope__pa{background:#F4F8FC;border-color:#CCDEEF}
.ks-cxq-scope__seishain{background:#FCFAF5;border-color:#E8DCC2}
.ks-cxq-scope__icon{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#185FA5;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.ks-cxq-scope__icon--alt{background:#854F0B}
.ks-cxq-scope__title{font-size:15px;font-weight:700;margin-bottom:6px;color:#2C2C2A}
.ks-cxq-scope__body p{font-size:13.5px;line-height:1.75;color:#5F5E5A;margin:0 0 10px}
.ks-cxq-scope__list{font-size:13.5px;line-height:1.85;color:#2C2C2A;margin:6px 0 10px 20px;padding-left:0}
.ks-cxq-scope__list li{list-style:disc;margin:0 0 2px}
/* scope box 内専用 CTA：明色 tan 背景上でも一目で見えるよう
   濃いブラウン背景＋白文字＋ゴールドボーダー＋強いシャドウで、必ず浮かせる
   親テーマ干渉を避けるため !important で固定 */
.ks-cxq-scope__cta,
.ks-cxq-scope__cta:link,
.ks-cxq-scope__cta:visited{
	display:inline-flex !important;
	align-items:center;gap:8px;
	background:#2F1B05 !important;
	color:#FFFFFF !important;
	font-size:15px !important;
	font-weight:800 !important;
	padding:13px 26px !important;
	border-radius:8px !important;
	text-decoration:none !important;
	border:2px solid #C9A66B !important;
	box-shadow:0 3px 10px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,216,154,.18) !important;
	margin-top:10px;
	line-height:1.4;letter-spacing:.03em;
	transition:background .15s, box-shadow .15s, transform .08s, border-color .15s
}
.ks-cxq-scope__cta:hover,
.ks-cxq-scope__cta:focus{
	background:#3D2304 !important;
	color:#FFE9C7 !important;
	border-color:#FFD89A !important;
	box-shadow:0 5px 14px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,232,200,.35) !important;
	text-decoration:none !important
}
.ks-cxq-scope__cta:active{transform:translateY(1px)}
.ks-cxq-scope__cta span{
	font-weight:800 !important;
	font-size:16px !important;
	color:#FFD89A !important;
	margin-left:2px
}

/* 診断ツール */
.ks-cxq-tool-section{padding-top:36px}
.ks-cxq-tool{max-width:680px;margin:0 auto}
.ks-cxq-card{background:#fff;border:0.5px solid #E8E6E0;border-radius:14px;padding:28px 26px;margin-bottom:16px}
.ks-cxq-card.hidden{display:none}

/* 導入画面 */
.ks-cxq-intro__label{display:inline-block;font-size:11px;font-weight:600;color:#185FA5;background:#E6F1FB;padding:5px 12px;border-radius:20px;letter-spacing:.05em;margin-bottom:14px}
.ks-cxq-intro__title{font-size:22px;line-height:1.55;font-weight:700;color:#2C2C2A;margin:0 0 16px;text-align:center}
.ks-cxq-intro__lead{font-size:14.5px;line-height:1.85;color:#5F5E5A;text-align:center;margin:0 0 24px}
.ks-cxq-intro__features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 28px}
.ks-cxq-feat{background:#F9F8F5;border:1px solid #E8E6E0;border-radius:10px;padding:18px 12px;text-align:center}
.ks-cxq-feat__num{font-size:30px;font-weight:700;color:#185FA5;font-family:"Times New Roman",serif;line-height:1}
.ks-cxq-feat__num small{font-size:13px;font-weight:600;margin-left:3px;color:#5F5E5A;font-family:inherit}
.ks-cxq-feat__text{font-size:12.5px;color:#5F5E5A;margin-top:5px}
.ks-cxq-start{width:100%;display:flex;align-items:center;justify-content:center}
.ks-cxq-intro__note{font-size:11.5px;color:#888780;text-align:center;margin:12px 0 0}

/* 設問画面 */
.ks-cxq-prog{margin-bottom:22px}
.ks-cxq-prog__top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#5F5E5A;margin-bottom:8px}
.ks-cxq-prog__top span:last-child{font-weight:700;color:#185FA5}
.ks-cxq-prog__bar{height:6px;background:#EDEAE0;border-radius:3px;overflow:hidden}
.ks-cxq-prog__fill{height:100%;background:linear-gradient(90deg,#185FA5,#3B6D11);transition:width .35s ease;width:0%}
/* 設問エリア：はい・いいえ位置を安定させるため
   qtext と qnote の両方に固定の領域を確保する */
.ks-cxq-question{margin-bottom:14px;display:flex;flex-direction:column}
.ks-cxq-badge{display:inline-block;font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;background:#E6F1FB;color:#0C447C;margin-bottom:10px;align-self:flex-start}
.ks-cxq-qnum{font-size:11px;font-weight:600;color:#888780;letter-spacing:.08em;margin-bottom:5px}
/* qtext は短い設問でも一定の高さを確保。長い設問は自然に伸びる */
.ks-cxq-qtext{font-size:15.5px;font-weight:700;color:#2C2C2A;line-height:1.7;margin-bottom:10px;min-height:56px}
/* qnote は注記の有無で位置がブレないよう、領域を常時予約（visibility:hidden）*/
.ks-cxq-qnote{font-size:12.5px;color:#888780;background:#F9F8F5;border-left:3px solid #D3D1C7;padding:9px 12px;border-radius:2px;line-height:1.65;min-height:44px;box-sizing:border-box}
.ks-cxq-qnote.hidden{visibility:hidden}
@media(max-width:560px){.ks-cxq-qtext{min-height:84px}.ks-cxq-qnote{min-height:64px}}
.ks-cxq-answers{margin-top:0}
.ks-cxq-answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.ks-cxq-ans{padding:16px 12px;border:2px solid #D3D1C7;border-radius:10px;background:#fff;font-size:15px;font-weight:700;color:#2C2C2A;cursor:pointer;transition:all .15s ease;font-family:inherit}
.ks-cxq-ans:hover{border-color:#888780;background:#F9F8F5}
.ks-cxq-ans.selected-yes{background:#E6F1FB;border-color:#185FA5;color:#185FA5}
.ks-cxq-ans.selected-no{background:#FCEBEB;border-color:#A32D2D;color:#A32D2D}
.ks-cxq-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
.ks-cxq-navbtn{padding:9px 16px;border:1px solid #D3D1C7;border-radius:6px;background:#fff;font-size:13px;color:#5F5E5A;cursor:pointer;font-family:inherit}
.ks-cxq-navbtn:hover:not(:disabled){background:#F9F8F5}
.ks-cxq-navbtn:disabled{opacity:.4;cursor:not-allowed}
.ks-cxq-navbtn--next,.ks-cxq-navbtn--result{background:#185FA5;color:#fff;border-color:#185FA5;font-weight:600}
.ks-cxq-navbtn--next:hover,.ks-cxq-navbtn--result:hover{background:#0C447C}
.ks-cxq-navbtn.hidden{display:none}

/* 結果画面 */
.ks-cxq-result__head{text-align:center;margin-bottom:18px}
.ks-cxq-grade-badge{display:inline-block;padding:5px 22px;border-radius:24px;font-weight:700;font-size:14px;margin-bottom:14px;letter-spacing:.05em}
.ks-cxq-grade-score{font-size:40px;font-weight:700;color:#2C2C2A;font-family:"Times New Roman",serif;line-height:1;margin-bottom:6px}
.ks-cxq-grade-score small{font-size:15px;font-weight:600;color:#5F5E5A;margin-left:4px;font-family:inherit}
.ks-cxq-grade-name{font-size:17px;font-weight:700;color:#2C2C2A;margin-bottom:8px}
.ks-cxq-grade-desc{font-size:13.5px;line-height:1.8;color:#5F5E5A;max-width:520px;margin:0 auto}
.ks-cxq-divider{height:1px;background:#E8E6E0;margin:24px 0}
.ks-cxq-section-label{font-size:11px;font-weight:600;color:#888780;letter-spacing:.08em;margin-bottom:14px;text-transform:uppercase}
.ks-cxq-bars{display:flex;flex-direction:column;gap:12px}
.ks-cxq-bar{display:grid;grid-template-columns:160px 1fr 60px;gap:14px;align-items:center}
@media(max-width:560px){.ks-cxq-bar{grid-template-columns:130px 1fr 50px;gap:8px}}
.ks-cxq-bar__name{font-size:12.5px;color:#2C2C2A;font-weight:600}
.ks-cxq-bar__track{height:10px;background:#EDEAE0;border-radius:5px;overflow:hidden}
.ks-cxq-bar__fill{height:100%;width:0;border-radius:5px;transition:width .55s cubic-bezier(.2,.7,.3,1)}
.ks-cxq-bar__val{font-size:12.5px;font-weight:700;color:#5F5E5A;text-align:right}
.ks-cxq-type{text-align:center;margin-bottom:18px}
.ks-cxq-type__badge{display:inline-block;padding:5px 18px;border-radius:20px;font-weight:600;font-size:12px;margin-bottom:10px}
.ks-cxq-type__name{font-size:18px;font-weight:700;color:#2C2C2A;margin-bottom:8px}
.ks-cxq-type__desc{font-size:13.5px;line-height:1.8;color:#5F5E5A;max-width:520px;margin:0 auto}
.ks-cxq-weak-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}
.ks-cxq-weak-list li{background:#FCEBEB;border:1px solid #F0CCCC;border-radius:8px;padding:10px 14px;font-size:13px;color:#791F1F;line-height:1.7}
.ks-cxq-weak-list__num{display:inline-block;font-weight:700;background:#A32D2D;color:#fff;border-radius:4px;padding:1px 8px;margin-right:8px;font-size:11.5px}

/* 上段CTA：詳細診断・無料相談 */
.ks-cxq-cta-primary{background:#E6F1FB;border:1.5px solid #185FA5;border-radius:12px;padding:24px 22px;margin-top:18px}
.ks-cxq-cta-primary__title{font-size:16px;font-weight:700;color:#0C447C;margin-bottom:10px}
.ks-cxq-cta-primary__desc{font-size:13.5px;line-height:1.85;color:#2C2C2A;margin:0 0 16px}
.ks-cxq-cta-primary .ks-btn{width:100%;display:flex;align-items:center;justify-content:center}

/* 下段CTA：中途・新卒 */
.ks-cxq-cta-secondary{background:#F9F8F5;border:1px solid #D3D1C7;border-radius:12px;padding:22px 22px;margin-top:14px}
.ks-cxq-cta-secondary__label{display:inline-block;font-size:11px;font-weight:600;color:#5F5E5A;background:#fff;border:1px solid #D3D1C7;padding:3px 10px;border-radius:12px;margin-bottom:12px;letter-spacing:.05em}
.ks-cxq-cta-secondary__title{font-size:15px;font-weight:700;color:#2C2C2A;margin-bottom:10px;line-height:1.55}
.ks-cxq-cta-secondary__desc{font-size:13px;line-height:1.85;color:#5F5E5A;margin:0 0 14px}
.ks-cxq-cta-secondary .ks-btn{width:100%;display:flex;align-items:center;justify-content:center}

.ks-cxq-retry{width:100%;margin-top:18px;padding:11px;border:1px solid #D3D1C7;background:#fff;border-radius:8px;color:#5F5E5A;font-size:13px;cursor:pointer;font-family:inherit}
.ks-cxq-retry:hover{background:#F9F8F5}

/* 関連リンク */
.ks-cxq-related{max-width:680px;margin:32px auto 0;padding:18px 22px;background:#F9F8F5;border-radius:10px}
.ks-cxq-related h3{font-size:13px;font-weight:600;color:#888780;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}
.ks-cxq-related ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:18px}
.ks-cxq-related a{font-size:13.5px;color:#185FA5;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
.ks-cxq-related a:hover{border-bottom-color:#185FA5}

/* 中途・新卒採用CX相談バナー（他ページ用） */
.ks-mid-new-banner{background:#FCFAF5;border:1.5px solid #C9A66B;border-radius:12px;padding:20px 22px;margin:24px auto;max-width:880px;display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center}
@media(max-width:720px){.ks-mid-new-banner{grid-template-columns:1fr;text-align:center}}
.ks-mid-new-banner__icon{width:48px;height:48px;border-radius:50%;background:#854F0B;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;margin:0 auto}
.ks-mid-new-banner__title{font-size:14.5px;font-weight:700;color:#633806;margin:0 0 4px}
.ks-mid-new-banner__desc{font-size:12.5px;color:#5F5E5A;margin:0;line-height:1.7}
.ks-mid-new-banner .ks-btn{flex-shrink:0}

/* CX診断バナー：PAタグ＋中途・新卒の別ルート */
.ks-cx-check-banner__tag{display:inline-block;background:#185FA5;color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;margin-bottom:8px;letter-spacing:.04em}
.ks-cx-check-banner__alt{margin-top:16px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.35);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:center;text-align:center}
.ks-cx-check-banner__alt-label{font-size:12.5px;color:#FFFFFF !important;font-weight:600}
/* 中途・新卒導線リンク：紺背景上で確実に視認できるよう、ゴールド背景＋濃紺文字のボタン化 */
.ks-cx-check-banner__alt-link,
.ks-cx-check-banner__alt-link:link,
.ks-cx-check-banner__alt-link:visited{
	display:inline-flex !important;
	align-items:center;gap:4px;
	font-size:13.5px !important;
	font-weight:800 !important;
	color:#0C3251 !important;
	background:#FFD89A !important;
	padding:9px 18px !important;
	border-radius:6px !important;
	text-decoration:none !important;
	border:2px solid #FFE9C7 !important;
	box-shadow:0 2px 6px rgba(0,0,0,.18) !important;
	letter-spacing:.02em;line-height:1.4;
	transition:background .15s,color .15s,box-shadow .15s,transform .08s
}
.ks-cx-check-banner__alt-link:hover,
.ks-cx-check-banner__alt-link:focus{
	background:#FFFFFF !important;color:#0C3251 !important;
	border-color:#FFD89A !important;
	box-shadow:0 4px 10px rgba(0,0,0,.28) !important
}
.ks-cx-check-banner__alt-link:active{transform:translateY(1px)}
@media(max-width:600px){.ks-cx-check-banner__alt{flex-direction:column;gap:8px}}

/* ==========================================================
   理念ページ「経営理念に込めた想い」：左画像・右文章の回り込みレイアウト
   ========================================================== */
.ks-sec-image--philosophy-02{
	float:left !important;
	max-width:360px !important;
	width:38% !important;
	margin:6px 72px 28px 0 !important;
	border-radius:10px;
	overflow:hidden;
	box-shadow:0 6px 24px rgba(8,79,102,.12);
	background:#f5f0e8;
}
/* 画像直後のp/list が float に貼り付かないよう、左パディングで余白を再保証 */
.ks-page-content .ks-sec-image--philosophy-02 + p,
.ks-page-content .ks-sec-image--philosophy-02 ~ p,
.ks-page-content .ks-sec-image--philosophy-02 ~ ul,
.ks-page-content .ks-sec-image--philosophy-02 ~ ol{
	padding-left:8px
}
.ks-sec-image--philosophy-02 img{display:block;width:100%;height:auto;border-radius:10px}
/* 後続セクション（次の h2）でクリア */
.ks-page-content h2{clear:both}
/* スマホでは段組み解除して縦並びに */
@media(max-width:780px){
	.ks-sec-image--philosophy-02{float:none;width:100%;max-width:520px;margin:12px auto 18px;display:block}
}

/* ==========================================================
   全ページ末尾CTA内に差し込まれる「採用CX診断ストリップ」
   ========================================================== */
.ks-cta-cx-strip{
	margin-top:32px;
	padding-top:24px;
	border-top:1px dashed rgba(255,255,255,.25);
	color:#fff
}
.ks-cta-cx-strip__head{
	font-size:13px;font-weight:600;text-align:center;
	color:rgba(255,255,255,.9);letter-spacing:.04em;
	margin-bottom:14px
}
.ks-cta-cx-strip__cards{
	display:grid;grid-template-columns:1fr 1fr;gap:14px;
	max-width:880px;margin:0 auto
}
@media(max-width:720px){.ks-cta-cx-strip__cards{grid-template-columns:1fr}}
.ks-cta-cx-card{
	display:flex;flex-direction:column;gap:6px;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.22);
	border-radius:10px;padding:16px 18px;
	text-decoration:none;color:#fff;
	transition:background .15s,border-color .15s,transform .08s
}
.ks-cta-cx-card:hover,.ks-cta-cx-card:focus{
	background:rgba(255,255,255,.15);
	border-color:rgba(255,255,255,.45);
	text-decoration:none;color:#fff
}
.ks-cta-cx-card:active{transform:translateY(1px)}
.ks-cta-cx-card__tag{
	display:inline-block;align-self:flex-start;
	font-size:10.5px;font-weight:700;letter-spacing:.05em;
	padding:3px 9px;border-radius:10px;
	background:#FFD89A;color:#5A3508
}
.ks-cta-cx-card--pa .ks-cta-cx-card__tag{background:#A8D4FF;color:#0C447C}
.ks-cta-cx-card__title{font-size:14px;font-weight:700;line-height:1.5;color:#fff;margin-top:2px}
.ks-cta-cx-card__lead{font-size:12px;line-height:1.7;color:rgba(255,255,255,.85)}
.ks-cta-cx-card__cta{
	margin-top:6px;font-size:12.5px;font-weight:700;
	color:#FFD89A;align-self:flex-end
}
.ks-cta-cx-card--pa .ks-cta-cx-card__cta{color:#A8D4FF}

/* ==========================================================
   2026/6/26 トップ修正：診断ページへのCTA / 商標出願中 / 公式ロゴ
   ========================================================== */
/* 課題セクション直後のCTA */
.ks-issues-cta{max-width:780px;margin:32px auto 0;text-align:center}
.ks-issues-cta__btn{
	display:inline-flex;align-items:center;gap:14px;
	background:linear-gradient(180deg,#185FA5 0%,#0C447C 100%);
	color:#fff !important;
	font-weight:800;
	padding:18px 32px;border-radius:10px;
	text-decoration:none !important;
	box-shadow:0 4px 14px rgba(12,68,124,.28);
	border:2px solid #FFD89A;
	transition:transform .08s, box-shadow .15s, background .15s
}
.ks-issues-cta__btn:hover,.ks-issues-cta__btn:focus{
	background:linear-gradient(180deg,#0C447C 0%,#072F58 100%);
	box-shadow:0 6px 20px rgba(12,68,124,.42);
	text-decoration:none !important
}
.ks-issues-cta__btn:active{transform:translateY(1px)}
.ks-issues-cta__label{font-size:17px;letter-spacing:.02em}
.ks-issues-cta__meta{
	display:inline-block;
	font-size:12px;font-weight:700;color:#0C447C;
	background:#FFD89A;padding:4px 10px;border-radius:14px;
	margin-left:2px
}
.ks-issues-cta__arrow{font-size:22px;font-weight:700;color:#FFD89A;margin-left:2px}
.ks-issues-cta__note{
	font-size:12.5px;line-height:1.7;color:#5F5E5A;
	margin:14px auto 0;max-width:680px
}
@media(max-width:560px){
	.ks-issues-cta__btn{flex-direction:column;gap:8px;padding:16px 22px}
	.ks-issues-cta__label{font-size:15.5px}
	.ks-issues-cta__arrow{display:none}
}

/* 商標出願中 注記（採用CXコミュニケーション直後） */
.ks-tm-pending{
	display:inline-block;
	font-size:11px;font-weight:600;
	color:#5F5E5A;background:#F5F0E8;
	padding:2px 8px;border-radius:10px;
	margin-top:4px;letter-spacing:.02em;
	vertical-align:middle;
	border:1px solid #E8E0CC;
	align-self:flex-start
}

/* 公式ロゴ表示時はテキストの「経営支援」を非表示（ロゴ自体に文字が入っているため） */
.ks-topnav__brand--has-logo .ks-topnav__brand-text{display:none}
.ks-topnav__brand--has-logo .ks-topnav__logo{height:auto;max-height:34px;width:auto;display:block}
@media(max-width:780px){
	.ks-topnav__brand--has-logo .ks-topnav__logo{max-height:28px}
}

/* ==========================================================
   資料ダウンロード（B案：Download Monitor 連携テンプレ）
   ========================================================== */
.ks-resources-lead{max-width:880px;margin:0 auto;text-align:center}
.ks-resources-lead p{font-size:15px;line-height:1.9;color:#2C2C2A;margin:0 0 14px}
.ks-resources-lead__note{font-size:13.5px;color:#5F5E5A;background:#FDFAF3;border-left:3px solid #C9A66B;padding:14px 18px;text-align:left;max-width:680px;margin:18px auto 0}
.ks-resources-lead__note a{color:#185FA5;text-decoration:underline}

.ks-resources-placeholder{background:#fff;border:2px dashed #D3D1C7;border-radius:12px;padding:48px 32px;text-align:center;max-width:780px;margin:0 auto}
.ks-resources-placeholder p{font-size:15px;color:#5F5E5A;margin:0 0 12px}
.ks-resources-placeholder__note{font-size:13px;color:#888780;line-height:1.85}
.ks-resources-placeholder code{background:#F5F0E8;color:#854F0B;padding:3px 10px;border-radius:4px;font-size:12.5px;font-family:Menlo,Consolas,monospace}

/* Download Monitor のリスト出力に対するスタイル調整（ks-resources-list 内） */
.ks-resources-list .download_box,
.ks-resources-list .dlm-download{
	background:#fff;border:1px solid #E8E6E0;border-radius:10px;
	padding:20px 24px;margin:0 0 14px;
	display:flex;justify-content:space-between;align-items:center;gap:18px
}
.ks-resources-list .download_box a,
.ks-resources-list .dlm-download a.dlm-button{
	display:inline-flex;align-items:center;gap:6px;
	background:#185FA5;color:#fff;font-weight:700;
	padding:10px 20px;border-radius:6px;text-decoration:none;
	transition:background .15s
}
.ks-resources-list .download_box a:hover,
.ks-resources-list .dlm-download a.dlm-button:hover{background:#0C447C}
@media(max-width:600px){.ks-resources-list .download_box,.ks-resources-list .dlm-download{flex-direction:column;align-items:stretch;text-align:center}}

/* ==========================================================
   2026/6/28 docx：採用CXコミュニケーション体系セクション（CX支援ページ内）
   ========================================================== */
.ks-cxsys-section{background:#FBFAF6;border:1px solid #E8E0CC;border-radius:14px;padding:32px 28px;margin:36px auto;max-width:980px}
.ks-cxsys-section .ks-sec-head{margin-bottom:18px}
.ks-cxsys-lead{text-align:left !important}
.ks-cxsys-lead p{font-size:14.5px;line-height:1.9;color:#2C2C2A;margin:0 0 14px;text-align:left !important}
.ks-cxsys-tm-note{text-align:left !important}
.ks-cxsys-figure{margin:24px 0 28px;background:#fff;border-radius:10px;padding:18px;border:1px solid #E8E6E0;text-align:center}
.ks-cxsys-figure img{max-width:100%;height:auto;display:inline-block}
.ks-cxsys-layers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
@media(max-width:680px){.ks-cxsys-layers{grid-template-columns:1fr}}
.ks-cxsys-layer{padding:16px 18px;border-radius:8px;background:#fff;border-left:4px solid #185FA5}
.ks-cxsys-layer h3{font-size:14.5px;font-weight:700;color:#0C447C;margin:0 0 6px;line-height:1.5}
.ks-cxsys-layer p{font-size:12.5px;line-height:1.8;color:#5F5E5A;margin:0}
.ks-cxsys-layer--1{border-left-color:#185FA5}
.ks-cxsys-layer--2{border-left-color:#3B6D11}
.ks-cxsys-layer--3{border-left-color:#854F0B}
.ks-cxsys-layer--4{border-left-color:#A32D2D}
.ks-cxsys-tm-note{font-size:11.5px;color:#888780;line-height:1.85;margin-top:18px;padding-top:14px;border-top:1px dashed #D3D1C7}

/* ==========================================================
   2026/6/28 docx：ITサポートページ
   ========================================================== */
.ks-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px}
.ks-feature-grid--2col{grid-template-columns:repeat(2,1fr)}
@media(max-width:680px){.ks-feature-grid,.ks-feature-grid--2col{grid-template-columns:1fr}}
.ks-feature{background:#fff;border:1px solid #E8E6E0;border-radius:10px;padding:24px 22px;position:relative}
.ks-feature__num{font-size:32px;font-weight:700;color:#185FA5;font-family:"Times New Roman",serif;line-height:1;margin-bottom:10px}
.ks-feature h3{font-size:16px;color:#0C447C;margin:0 0 10px}
.ks-feature p{margin:0;font-size:13.5px;color:#5F5E5A;line-height:1.85}

/* ==========================================================
   2026/6/28 docx：ソリューションページ
   ========================================================== */
.ks-solution-list{display:flex;flex-direction:column;gap:18px;max-width:880px;margin:24px auto 0}
.ks-solution-card{background:#fff;border:1px solid #E8E6E0;border-radius:12px;padding:22px 26px;border-top:4px solid #C9A66B}
.ks-solution-card__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:10px}
.ks-solution-card__title{font-size:18px;font-weight:700;color:#0C447C;margin:0}
.ks-solution-card__tag{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px;background:#F5F0E8;color:#854F0B;letter-spacing:.04em}
.ks-solution-card__desc{font-size:13.5px;line-height:1.85;color:#2C2C2A;margin:0 0 12px}
.ks-solution-card__link{font-size:13px;font-weight:700;color:#185FA5;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
.ks-solution-card__link:hover{border-bottom-color:#185FA5}

/* ==========================================================
   2026/6/28 docx：人材育成ページ
   ========================================================== */
.ks-flow-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px;max-width:980px;margin-left:auto;margin-right:auto}
@media(max-width:680px){.ks-flow-grid{grid-template-columns:1fr}}
.ks-flow-item{background:#fff;border:1px solid #E8E6E0;border-radius:10px;padding:22px 24px;position:relative}
.ks-flow-item__step{display:inline-block;font-size:11.5px;font-weight:700;color:#fff;background:#185FA5;padding:3px 12px;border-radius:12px;letter-spacing:.06em;margin-bottom:12px}
.ks-flow-item h3{font-size:15.5px;color:#0C447C;margin:0 0 8px}
.ks-flow-item p{font-size:13.5px;line-height:1.85;color:#5F5E5A;margin:0}

.ks-skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px;max-width:980px;margin-left:auto;margin-right:auto}
@media(max-width:780px){.ks-skill-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.ks-skill-grid{grid-template-columns:1fr}}
.ks-skill-card{background:#fff;border:1px solid #E8E6E0;border-radius:8px;padding:18px 16px;text-align:center}
.ks-skill-card__rank{display:inline-block;font-size:13px;font-weight:700;background:#FFD89A;color:#5A3508;padding:4px 14px;border-radius:14px;margin-bottom:10px;letter-spacing:.05em}
.ks-skill-card p{font-size:12.5px;line-height:1.8;color:#5F5E5A;margin:0;text-align:left}

/* 資料DLページ：公開準備中カード */
.ks-resources-coming{max-width:680px;margin:0 auto}
.ks-resources-card{background:#fff;border:1px solid #E8E6E0;border-radius:12px;padding:28px 28px;border-top:4px solid #185FA5;position:relative}
.ks-resources-card__status{position:absolute;top:18px;right:18px;display:inline-block;font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px;background:#FDF3D6;color:#854F0B;letter-spacing:.05em}
.ks-resources-card__title{font-size:17px;font-weight:700;color:#0C447C;margin:0 0 14px;padding-right:120px;line-height:1.55}
.ks-resources-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.ks-resources-card__tag{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px;background:#F5F0E8;color:#5F5E5A}
.ks-resources-card__desc{font-size:13.5px;line-height:1.85;color:#2C2C2A;margin:0 0 18px}
.ks-resources-card__btn{display:block;width:100%;padding:14px;background:#185FA5;color:#fff;border:0;border-radius:8px;font-size:14.5px;font-weight:700;cursor:pointer}
.ks-resources-card__btn--disabled{background:#C8C5BC;color:#fff;cursor:not-allowed}
.ks-resources-coming__note{font-size:12px;color:#888780;text-align:center;margin:18px 0 0}

/* ==========================================================
   2026/6/28 docx：全ページ共通—説明文（本文）は左詰めで統一
   見出し（h2 / .ks-sec-head__en / .ks-sec-head__ja）は中央のまま、
   その下の説明 / リード / 注記 / プロセス段落 は左揃え
   ========================================================== */
.ks-prose:not(.ks-prose--center) p,
.ks-prose:not(.ks-prose--center){text-align:left !important}
.ks-prose--message p{text-align:left !important}
.ks-page-content p,
.ks-page-content ul,
.ks-page-content ol{text-align:left !important}

/* セクション内の段落・リスト全般を左揃え（見出し系は除く） */
.ks-section p:not(.ks-sec-head__lead):not(.ks-aspire-note):not(.ks-issues-conclusion):not(.ks-page-hero__lead){text-align:left}
.ks-section li{text-align:left}

/* 個別のリード／説明系を念のため左揃え固定 */
.ks-cxsys-lead,
.ks-cxsys-lead p,
.ks-cxsys-tm-note,
.ks-resources-lead p,
.ks-resources-lead__note,
.ks-resources-card__desc,
.ks-feature p,
.ks-flow-item p,
.ks-solution-card__desc,
.ks-skill-card p,
.ks-mini-case__summary,
.ks-issue-item__body p,
.ks-bigstat__desc,
.ks-stat-strip__desc,
.ks-approach-card__desc,
.ks-checklist li,
.ks-callout p,
.ks-message-with-image__body,
.ks-philosophy__body p,
.ks-job__body p,
.ks-job__meta dt,
.ks-job__meta dd{text-align:left !important}

/* 中央寄せが意図的な要素は中央のまま（保険） v3.1.4：__lead は左揃えに変更 */
.ks-sec-head,
.ks-sec-head__en,
.ks-sec-head__ja,
.ks-page-hero,
.ks-page-hero__inner,
.ks-page-hero__title,
.ks-cta,
.ks-cta h2,
.ks-prose--center,
.ks-prose--center p,
.ks-mission-band,
.ks-mission-band__quote{text-align:center}

/* ==========================================================
   2026/6/29 修正依頼：資料ダウンロードページの新カード
   ========================================================== */
.ks-resources-list{display:flex;flex-direction:column;gap:22px;max-width:920px;margin:0 auto}
.ks-resources-card{display:flex;gap:24px;background:#fff;border:1px solid #E8E6E0;border-radius:14px;padding:28px 30px;border-top:4px solid #185FA5;position:relative;box-shadow:0 1px 0 rgba(12,68,124,0.04)}
.ks-resources-card__no{flex:0 0 64px;font-family:"Inter","Helvetica Neue",sans-serif;font-size:34px;font-weight:800;color:#185FA5;line-height:1;letter-spacing:.02em;padding-top:4px}
.ks-resources-card__body{flex:1 1 auto;min-width:0}
.ks-resources-card__title{font-size:18px;font-weight:700;color:#0C447C;margin:0 0 12px;line-height:1.5;padding:0;text-align:left !important}
.ks-resources-card__desc{font-size:14px;line-height:1.85;color:#2C2C2A;margin:0 0 12px;text-align:left !important}
.ks-resources-card__target{font-size:13px;line-height:1.7;color:#3B3B38;margin:0 0 14px;padding:10px 14px;background:#F7F4ED;border-left:3px solid #C8A24A;border-radius:0 6px 6px 0;text-align:left !important}
.ks-resources-card__target strong{color:#854F0B;margin-right:6px}
.ks-resources-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.ks-resources-card__tag{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px;background:#F5F0E8;color:#5F5E5A;letter-spacing:.04em}
.ks-resources-card__actions{display:flex;flex-wrap:wrap;gap:10px}
.ks-resources-card__btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:#185FA5;color:#fff !important;border:0;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s}
.ks-resources-card__btn:hover{background:#0C447C;color:#fff !important}
.ks-resources-card__btn--disabled{background:#C8C5BC;color:#fff !important;cursor:not-allowed}
.ks-resources-card__btn .ks-btn__arrow{font-weight:400}

/* 資料請求フォーム導入 */
.ks-resources-form-intro{max-width:760px;margin:0 auto 28px;text-align:left}
.ks-resources-form-intro p{font-size:14.5px;line-height:1.9;color:#2C2C2A;margin:0 0 14px;text-align:left !important}
.ks-resources-form-fields{background:#F7F4ED;border:1px solid #E8E2D2;border-radius:10px;padding:18px 22px;margin:8px 0 16px}
.ks-resources-form-fields__title{font-size:14px;font-weight:700;color:#854F0B;margin:0 0 10px;text-align:left !important}
.ks-resources-form-fields__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.ks-resources-form-fields__list li{position:relative;padding-left:14px;font-size:13.5px;color:#2C2C2A}
.ks-resources-form-fields__list li::before{content:"•";position:absolute;left:0;top:0;color:#C8A24A;font-weight:700}
.ks-resources-form-note{font-size:13.5px !important;color:#5F5E5A;margin:6px 0 0 !important}

.ks-resources-form-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px}

/* スマホ */
@media (max-width:680px){
  .ks-resources-card{flex-direction:column;gap:14px;padding:22px 18px}
  .ks-resources-card__no{font-size:28px;flex:0 0 auto;padding-top:0}
  .ks-resources-card__title{font-size:16px}
  .ks-resources-card__btn{width:100%;justify-content:center}
}

/* ==========================================================
   2026/6/29：CookieYes 表示問題の暫定対応
   CookieYes が style="display:none" をインラインで付けてくるため、
   !important で打ち消して表示する。
   data-ks-hidden 属性が立っている要素はJS側で隠した状態を尊重する。
   ========================================================== */
.cky-consent-container:not([data-ks-hidden="1"]){
  display:block !important;
}
.cky-consent-container[data-ks-hidden="1"]{
  display:none !important;
}
.cky-modal[data-ks-hidden="1"],
.cky-overlay[data-ks-hidden="1"]{
  display:none !important;
}
/* CookieYes の左下/右下「再表示アイコン」を非表示
   （CookieYes のJSが動いていないため機能しない＝表示する意味がない） */
.cky-revisit-bottom-left,
.cky-revisit-bottom-right,
.cky-btn-revisit-wrapper{
  display:none !important;
}

/* v3.1.27：Cookie同意バナー全体を非表示
   当サイトではGoogle Analytics等の分析Cookieを使用しておらず、
   同意対象となるCookieが存在しないため、バナー自体を廃止。
   （フォーム入力補助・診断セッション管理などの必須Cookieはユーザー同意不要）

   CookieYesプラグイン自体はWordPress管理画面から後日 停止/削除可能。
   このCSSはプラグインが有効なままでも表示だけを止める安全網。 */
.cky-consent-container,
.cky-modal,
.cky-overlay,
.cky-notice,
.cky-consent-bar,
.cky-btn-customize,
[data-cky-tag="settings-button"]{
  display:none !important;
}

/* ==========================================================
   2026/6/29：資料請求フォーム（CF7埋め込み）スタイル
   ========================================================== */
.ks-resources-form-wrap{
  max-width:760px;margin:0 auto;background:#fff;border:1px solid #E8E6E0;
  border-radius:14px;padding:32px 36px;box-shadow:0 1px 0 rgba(12,68,124,0.04);
}
.ks-resources-form-wrap .wpcf7-form{margin:0}
.ks-resources-form-wrap .wpcf7-form p{margin:0 0 18px;text-align:left !important}
.ks-resources-form-wrap label{
  display:block;font-size:13.5px;font-weight:700;color:#0C447C;margin-bottom:6px;
  text-align:left !important;
}
/* テキスト系入力欄のみに枠線スタイルを当てる（チェックボックス／ラジオ／accept のラッパーには当てない） */
.ks-resources-form-wrap input[type="text"],
.ks-resources-form-wrap input[type="email"],
.ks-resources-form-wrap input[type="tel"],
.ks-resources-form-wrap input[type="url"],
.ks-resources-form-wrap input[type="number"],
.ks-resources-form-wrap input[type="date"],
.ks-resources-form-wrap textarea,
.ks-resources-form-wrap select{
  width:100%;padding:11px 14px;font-size:15px;border:1px solid #C8C5BC;
  border-radius:6px;background:#FCFAF5;font-family:inherit;
  box-sizing:border-box;
}
.ks-resources-form-wrap input[type="text"]:focus,
.ks-resources-form-wrap input[type="email"]:focus,
.ks-resources-form-wrap input[type="tel"]:focus,
.ks-resources-form-wrap input[type="url"]:focus,
.ks-resources-form-wrap input[type="number"]:focus,
.ks-resources-form-wrap input[type="date"]:focus,
.ks-resources-form-wrap textarea:focus,
.ks-resources-form-wrap select:focus{
  outline:none;border-color:#185FA5;background:#fff;
  box-shadow:0 0 0 3px rgba(24,95,165,0.1);
}
/* CF7 のチェックボックス／ラジオ／acceptance のラッパー span は枠線・背景を持たないこと */
.ks-resources-form-wrap .wpcf7-checkbox,
.ks-resources-form-wrap .wpcf7-radio,
.ks-resources-form-wrap .wpcf7-acceptance{
  display:block;border:0;background:transparent;padding:0;
}
.ks-resources-form-wrap .wpcf7-list-item{
  display:block;margin:0 0 8px 0 !important;text-align:left !important;
}
.ks-resources-form-wrap .wpcf7-list-item label{
  display:flex;align-items:flex-start;gap:8px;font-weight:400;color:#2C2C2A;
  cursor:pointer;padding:8px 10px;background:#F7F4ED;border-radius:6px;
  border:1px solid #E8E2D2;line-height:1.6;
}
.ks-resources-form-wrap .wpcf7-list-item label:hover{
  background:#F0EBE0;border-color:#C8A24A;
}
.ks-resources-form-wrap input[type="checkbox"],
.ks-resources-form-wrap input[type="radio"]{
  margin-top:3px;flex:0 0 auto;
}
.ks-resources-form-wrap .wpcf7-submit{
  display:inline-block;padding:14px 36px;background:#185FA5;color:#fff !important;
  border:0;border-radius:8px;font-size:15.5px;font-weight:700;cursor:pointer;
  letter-spacing:.04em;transition:background .15s;margin-top:8px;
}
.ks-resources-form-wrap .wpcf7-submit:hover{background:#0C447C}
.ks-resources-form-wrap .wpcf7-not-valid-tip{
  color:#B24437;font-size:12.5px;margin-top:4px;
}
.ks-resources-form-wrap .wpcf7-response-output{
  margin:16px 0 0 !important;padding:12px 16px !important;border-radius:6px;
  font-size:13.5px;text-align:left;border:2px solid #2D9B5C !important;
  background:#EAF6EE;color:#1C5B36;
}
.ks-resources-form-wrap .wpcf7 form.invalid .wpcf7-response-output,
.ks-resources-form-wrap .wpcf7 form.unaccepted .wpcf7-response-output{
  border-color:#B24437 !important;background:#FBEDEA;color:#7A1D14;
}
.ks-resources-form-wrap .ks-required{color:#B24437;margin-left:4px;font-weight:700}
.ks-resources-form-fallback{
  max-width:760px;margin:0 auto;padding:24px 28px;background:#FDF3D6;
  border:1px solid #F0D389;border-radius:10px;text-align:center;
}
.ks-resources-form-fallback p{margin:0 0 12px;text-align:left}

@media (max-width:680px){
  .ks-resources-form-wrap{padding:22px 18px;border-radius:10px}
}

/* ==========================================================
   2026/6/30：新人育成プログラム（人材育成ページ / 採用情報ページ 共通）
   ========================================================== */
.ks-onboarding-overview{max-width:820px;margin:0 auto 32px;text-align:center}
.ks-onboarding-overview img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 12px rgba(12,68,124,0.08)}
.ks-onboarding-grid{display:grid;gap:20px;grid-template-columns:repeat(2,1fr);max-width:1000px;margin:0 auto}
.ks-onboarding-step{background:#fff;border:1px solid #E8E6E0;border-radius:14px;padding:0 0 22px;
  border-top:5px solid #185FA5;position:relative;box-shadow:0 1px 0 rgba(12,68,124,0.04);overflow:hidden;display:flex;flex-direction:column}
.ks-onboarding-step__image{margin:0;background:#F7F4ED;height:180px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ks-onboarding-step__image img{width:100%;height:100%;object-fit:cover;display:block}
.ks-onboarding-step__body{padding:22px 26px 4px;flex:1 1 auto;position:relative}
.ks-onboarding-step--n1{border-top-color:#185FA5}
.ks-onboarding-step--n2{border-top-color:#2D9B5C}
.ks-onboarding-step--n3{border-top-color:#C8A24A}
.ks-onboarding-step--n4{border-top-color:#B24437}
.ks-onboarding-step__num{
  position:absolute;top:16px;right:20px;font-family:"Inter","Helvetica Neue",sans-serif;
  font-size:12px;font-weight:800;letter-spacing:.15em;color:#8A8880;opacity:.9;
}
.ks-onboarding-step__label{
  font-size:17px;font-weight:800;color:#0C447C;margin:0 0 14px;letter-spacing:.03em;
  text-align:left !important;
}
.ks-onboarding-step__points{list-style:none;padding:0;margin:0}
.ks-onboarding-step__points li{
  position:relative;padding:8px 0 8px 22px;font-size:14.5px;line-height:1.75;color:#2C2C2A;
  border-bottom:1px dashed #E8E6E0;text-align:left !important;
}
.ks-onboarding-step__points li:last-child{border-bottom:0}
.ks-onboarding-step__points li::before{
  content:"";position:absolute;left:0;top:15px;width:12px;height:12px;border-radius:50%;
  background:currentColor;opacity:.15;
}
.ks-onboarding-step--n1 .ks-onboarding-step__points li::before{color:#185FA5}
.ks-onboarding-step--n2 .ks-onboarding-step__points li::before{color:#2D9B5C}
.ks-onboarding-step--n3 .ks-onboarding-step__points li::before{color:#C8A24A}
.ks-onboarding-step--n4 .ks-onboarding-step__points li::before{color:#B24437}

/* 関連リンク（pill style）：人材育成ページ末尾 */
.ks-related-links--pill{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0}
.ks-related-links--pill .ks-related-link{
  display:inline-flex;background:#F7F4ED;border:1px solid #E8E2D2;padding:10px 18px;
  border-radius:999px;text-decoration:none;color:#0C447C;font-size:14px;font-weight:600;
  transition:background .15s;
}
.ks-related-links--pill .ks-related-link:hover{background:#F0EBE0}

@media (max-width:680px){
  .ks-onboarding-grid{grid-template-columns:1fr}
  .ks-onboarding-step{padding:20px 18px}
  .ks-onboarding-step__label{font-size:15.5px}
}

/* ==========================================================
   2026/6/30：資料DL⇄CX簡易診断の相互リンクバナー
   各サービスページから資料DLへのインラインリンク
   ========================================================== */
/* 資料DLページ内：CX簡易診断への案内バナー */
.ks-resources-cx-check-banner{
  display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;
  max-width:820px;margin:32px auto 0;padding:24px 28px;
  background:linear-gradient(120deg,#F7F4ED 0%,#FDF3D6 100%);
  border:1px solid #E8E2D2;border-radius:12px;
}
.ks-resources-cx-check-banner__body{flex:1 1 380px;text-align:left}
.ks-resources-cx-check-banner__lead{
  font-size:12.5px;color:#854F0B;font-weight:700;letter-spacing:.08em;margin:0 0 4px;
}
.ks-resources-cx-check-banner__title{
  font-size:19px;font-weight:800;color:#0C447C;margin:0 0 6px;letter-spacing:.02em;
}
.ks-resources-cx-check-banner__desc{
  font-size:13.5px;color:#3B3B38;margin:0;line-height:1.7;
}

/* CX簡易診断ページ内：資料DLへの案内バナー */
.ks-cxq-resources-banner{
  display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;
  max-width:820px;margin:32px auto 24px;padding:24px 28px;
  background:linear-gradient(120deg,#EEF3FA 0%,#DFE9F5 100%);
  border:1px solid #C7D6E8;border-radius:12px;
}
.ks-cxq-resources-banner__body{flex:1 1 380px;text-align:left}
.ks-cxq-resources-banner__lead{
  font-size:12.5px;color:#0C447C;font-weight:700;letter-spacing:.08em;margin:0 0 4px;
}
.ks-cxq-resources-banner__title{
  font-size:19px;font-weight:800;color:#0C447C;margin:0 0 6px;letter-spacing:.02em;
}
.ks-cxq-resources-banner__desc{
  font-size:13.5px;color:#3B3B38;margin:0;line-height:1.7;
}

/* 採用CX支援ページ内：資料DLへのインラインリンク */
.ks-cx-resource-inline{
  max-width:820px;margin:24px auto 0;padding:16px 20px;
  background:#F7F4ED;border-left:4px solid #C8A24A;border-radius:0 8px 8px 0;
}
.ks-cx-resource-inline p{
  margin:0;font-size:14.5px;line-height:1.85;color:#2C2C2A;text-align:left !important;
}
.ks-cx-resource-inline a{
  color:#185FA5;font-weight:700;text-decoration:underline;
}
.ks-cx-resource-inline a:hover{color:#0C447C}

@media (max-width:680px){
  .ks-resources-cx-check-banner,
  .ks-cxq-resources-banner{padding:20px 18px}
  .ks-resources-cx-check-banner__title,
  .ks-cxq-resources-banner__title{font-size:17px}
}

/* ==========================================================
   2026/7/3：資料DLカードのリード文（太字キャッチ）スタイル
   ========================================================== */
.ks-resources-card__lead{
  font-size:14.5px;font-weight:700;color:#0C447C;margin:0 0 12px;
  padding:8px 12px;background:linear-gradient(90deg,#FDF3D6 0%,#F7F4ED 100%);
  border-left:3px solid #C8A24A;border-radius:0 6px 6px 0;line-height:1.6;
  text-align:left !important;
}

/* ==========================================================
   2026/7/3 ver.1.71：資料カード PDF ダウンロードボタン
   ========================================================== */
.ks-resources-card__actions{margin-top:16px;text-align:left}
.ks-resources-card__actions .ks-btn{padding:12px 26px;font-weight:700}
.ks-resources-card__dl-icon{
  display:inline-block;margin-right:8px;font-size:15px;line-height:1;transform:translateY(1px);
}
.ks-resources-card__coming{
  display:inline-block;padding:10px 20px;background:#F0EBE0;color:#8A8880;
  border-radius:8px;font-size:13.5px;font-weight:600;
}

/* ==========================================================
   2026/7/3 ver.1.71：資料DL下の「次のステップ（2つの導線）」
   ========================================================== */
.ks-next-steps{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1000px;margin:0 auto;
}
.ks-next-step{
  background:#fff;border:1px solid #E8E6E0;border-radius:14px;padding:32px 32px 28px;
  border-top:5px solid #185FA5;box-shadow:0 1px 0 rgba(12,68,124,0.04);
  display:flex;flex-direction:column;
}
.ks-next-step--check{border-top-color:#185FA5}
.ks-next-step--contact{border-top-color:#C8A24A}
.ks-next-step__tag{
  font-size:11.5px;color:#0C447C;font-weight:800;letter-spacing:.12em;margin-bottom:8px;
  text-align:left !important;
}
.ks-next-step--contact .ks-next-step__tag{color:#854F0B}
.ks-next-step__title{
  font-size:22px;font-weight:800;color:#0C447C;margin:0 0 6px;letter-spacing:.02em;
  text-align:left !important;
}
.ks-next-step__lead{
  font-size:14px;color:#5F5E5A;margin:0 0 12px;font-weight:600;
  text-align:left !important;
}
.ks-next-step__desc{
  font-size:14px;color:#2C2C2A;line-height:1.85;margin:0 0 22px;flex:1 1 auto;
  text-align:left !important;
}
.ks-next-step .ks-btn{align-self:flex-start;padding:14px 26px;font-weight:700}

@media (max-width:768px){
  .ks-next-steps{grid-template-columns:1fr;gap:16px}
  .ks-next-step{padding:26px 22px 22px}
  .ks-next-step__title{font-size:19px}
  .ks-next-step .ks-btn{align-self:stretch;text-align:center;justify-content:center}
}

/* ==========================================================
   2026/7/4：お客様の声カード
   ========================================================== */
.ks-voices-grid{
  display:grid;gap:24px;
  grid-template-columns:repeat(2, 1fr);
  max-width:1100px;margin:32px auto 0;
}
.ks-voice{
  background:#fff;border:1px solid #E8E6E0;border-radius:14px;padding:28px 30px 24px;
  border-top:5px solid #185FA5;box-shadow:0 1px 0 rgba(12,68,124,0.04);position:relative;
  display:flex;flex-direction:column;
}
.ks-voice--c1{border-top-color:#185FA5}
.ks-voice--c2{border-top-color:#2D9B5C}
.ks-voice--c3{border-top-color:#C8A24A}
.ks-voice--c4{border-top-color:#B24437}
.ks-voice__quote-mark{
  position:absolute;top:12px;right:22px;font-family:Georgia,serif;font-size:64px;line-height:1;
  color:#0C447C;opacity:.12;font-weight:900;
}
.ks-voice__rating{
  font-size:15px;color:#C8A24A;letter-spacing:.15em;margin-bottom:14px;
  text-align:left !important;
}
.ks-voice__body{
  font-size:14.5px;line-height:1.95;color:#2C2C2A;margin-bottom:20px;flex:1 1 auto;
}
.ks-voice__body p{
  margin:0 0 10px;text-align:left !important;
}
.ks-voice__body p:last-child{margin-bottom:0}
.ks-voice__meta{
  border-top:1px dashed #E8E6E0;padding-top:14px;
}
.ks-voice__company{
  font-size:15px;font-weight:800;color:#0C447C;margin-bottom:4px;
  text-align:left !important;
}
.ks-voice__sub{
  font-size:12.5px;color:#5F5E5A;line-height:1.6;
  text-align:left !important;
}

@media (max-width:768px){
  .ks-voices-grid{grid-template-columns:1fr;gap:16px}
  .ks-voice{padding:24px 22px 20px}
}

/* お客様の声：タイトル */
.ks-voice__title{
  font-size:16.5px;font-weight:800;color:#0C447C;margin:0 0 10px;letter-spacing:.02em;
  line-height:1.55;padding-right:36px;text-align:left !important;
}

/* ==========================================================
   2026/7/4：資料DLバナー（WHYセクション内／ページ末尾）
   ========================================================== */
.ks-resource-dl-banner{
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
  background:linear-gradient(135deg,#F7F5EF 0%,#FFFFFF 55%);
  border:1px solid #E8E1CC;border-radius:16px;
  padding:26px 30px;margin:24px auto;
  max-width:960px;position:relative;overflow:hidden;
  box-shadow:0 3px 12px rgba(24,95,165,.06);
}
.ks-resource-dl-banner::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,#C8A24A 0%,#B08838 100%);
}
.ks-resource-dl-banner__body h3{
  margin:0 0 8px;font-size:20px;font-weight:800;color:#0C447C;letter-spacing:.02em;
  text-align:left !important;
}
.ks-resource-dl-banner__body p{
  margin:0;font-size:14.5px;line-height:1.75;color:#3F3E3B;
  text-align:left !important;
}
.ks-resource-dl-banner .ks-btn{
  white-space:nowrap;flex-shrink:0;
}
.ks-resource-dl-banner--foot{
  background:linear-gradient(135deg,#EEF3FA 0%,#FFFFFF 55%);
  border-color:#CDDBEB;
}
.ks-resource-dl-banner--foot::before{
  background:linear-gradient(180deg,#185FA5 0%,#0C447C 100%);
}
@media (max-width:768px){
  .ks-resource-dl-banner{grid-template-columns:1fr;gap:16px;padding:22px 22px 22px 26px}
  .ks-resource-dl-banner__body h3{font-size:18px}
  .ks-resource-dl-banner .ks-btn{width:100%;justify-content:center;text-align:center}
}

/* ==========================================================
   2026/7/4：ページ末CTAの追加リンク（ob_start で挿入）
   ========================================================== */
.ks-cta-augmented{
  /* 既存 .ks-cta__actions の .ks-btn を継承。装飾のみ微調整 */
  margin-left:0;
}
.ks-cta__actions{flex-wrap:wrap;justify-content:center;gap:12px}
@media (max-width:768px){
  .ks-cta__actions{flex-direction:column;align-items:stretch}
  .ks-cta__actions .ks-btn{width:100%;justify-content:center;text-align:center}
}

/* ==========================================================
   2026/7/4：関連ページのご案内 説明文
   ========================================================== */
.ks-cxq-related__desc{
  font-size:14px;line-height:1.75;color:#3F3E3B;margin:0 0 14px;
  text-align:left !important;
}

/* ==========================================================
   2026/7/4：支援事例／お客様の声 ロゴマーク
   ========================================================== */
.ks-case{position:relative}
.ks-case__logo{
  position:absolute;top:18px;right:22px;
  width:96px;height:56px;
  background:#fff;border:1px solid #E8E6E0;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  padding:6px;box-shadow:0 1px 3px rgba(0,0,0,.05);
  z-index:2;
}
.ks-case__logo img{
  max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;
}
.ks-case--has-logo .ks-case__num{
  /* ロゴがある場合は番号は左上に、色薄く */
  opacity:.35;
}
.ks-case--has-logo .ks-case__title{padding-right:110px}
.ks-case--has-logo .ks-case__head{padding-right:110px}
@media (max-width:768px){
  .ks-case__logo{width:76px;height:44px;top:14px;right:14px;padding:4px}
  .ks-case--has-logo .ks-case__title{padding-right:88px}
  .ks-case--has-logo .ks-case__head{padding-right:88px}
}

.ks-voice__logo{
  position:absolute;top:14px;right:22px;
  width:88px;height:48px;
  background:#fff;border:1px solid #E8E6E0;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  padding:5px;box-shadow:0 1px 3px rgba(0,0,0,.05);
  z-index:2;
}
.ks-voice__logo img{
  max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;
}
.ks-voice--has-logo .ks-voice__quote-mark{
  /* ロゴがある場合はquote-markを左に移動 */
  right:auto;left:22px;top:8px;font-size:52px;opacity:.10;
}
.ks-voice--has-logo .ks-voice__title{padding-right:104px}
@media (max-width:768px){
  .ks-voice__logo{width:72px;height:42px;top:12px;right:14px;padding:4px}
  .ks-voice--has-logo .ks-voice__title{padding-right:86px}
}

/* ==========================================================
   2026/7/15：取引先ロゴグリッド（支援事例ページ用）
   縦は固定、横はロゴの縦横比に応じて可変
   （flexbox で自然な幅を保ち、なるべく大きく表示）
   ========================================================== */
.ks-section--logos{background:#FAFAF7}
.ks-logo-group{margin:0 auto 42px;max-width:1100px}
.ks-logo-group:last-child{margin-bottom:12px}
.ks-logo-group__title{
  font-size:18px;font-weight:800;color:#0C447C;
  margin:0 0 6px;padding-bottom:8px;
  border-bottom:2px solid #E5DFC9;letter-spacing:.03em;
  text-align:left !important;
}
.ks-logo-group__desc{
  font-size:13.5px;line-height:1.7;color:#5F5E5A;
  margin:0 0 18px;text-align:left !important;
}

/* v3.0.0：Uniform Grid 方式（旧サイト踏襲）
   ・親：CSS Grid で全セル同一サイズ
   ・セル：固定aspect + 白背景・薄枠
   ・画像：object-fit:contain で縦横比を保ったまま最大化 */
.ks-logo-grid,
.ks-logo-grid--uniform{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(158px, 1fr)) !important;
  gap:12px !important;
  margin:0 auto !important;
  max-width:1100px !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  text-align:initial !important;
  font-size:inherit;
  line-height:inherit;
}
.ks-logo-cell{
  display:flex !important;
  box-sizing:border-box !important;
  width:auto !important;
  height:96px !important;
  padding:10px !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid #EAE7DE !important;
  border-radius:8px !important;
  box-shadow:0 1px 2px rgba(0,0,0,.03) !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ks-logo-cell:hover{
  transform:translateY(-2px);
  border-color:#C8A24A !important;
  box-shadow:0 4px 14px rgba(24,95,165,.09) !important;
}
.ks-logo-cell img{
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
  transition:filter .18s ease;
}
.ks-logo-cell a{
  display:flex !important;
  width:100% !important;
  height:100% !important;
  align-items:center !important;
  justify-content:center !important;
}
.ks-logo-note{
  font-size:12px;color:#8A8A85;text-align:center;margin-top:20px;line-height:1.6;
}

/* タブレット */
@media (max-width:900px){
  .ks-logo-grid,
  .ks-logo-grid--uniform{
    grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)) !important;
    gap:10px !important;
  }
  .ks-logo-cell{height:84px !important;padding:8px !important}
}

/* スマホ */
@media (max-width:540px){
  .ks-logo-grid,
  .ks-logo-grid--uniform{
    grid-template-columns:repeat(3, 1fr) !important;
    gap:8px !important;
  }
  .ks-logo-cell{
    height:64px !important;
    padding:6px !important;
    border-radius:6px !important;
  }
  .ks-logo-group{margin-bottom:32px}
  .ks-logo-group__title{font-size:16px}
  .ks-logo-group__desc{font-size:12.5px;margin-bottom:14px}
}

/* ==========================================================
   2026/7/15 追加：トップから支援事例ページのアンカー遷移対応
   ・固定ヘッダー分のスクロールオフセット
   ・URL に #case-XXX が入っていた事例をハイライト表示
   ========================================================== */
html{scroll-behavior:smooth}
.ks-case[id^="case-"]{scroll-margin-top:96px}
@media (max-width:768px){
  .ks-case[id^="case-"]{scroll-margin-top:64px}
}

/* :target で対象事例を一時的にハイライト */
.ks-case:target{
  animation:ks-case-highlight 2.4s ease-out;
  position:relative;
}
@keyframes ks-case-highlight{
  0%   { box-shadow:0 0 0 4px rgba(200,162,74,0.7), 0 8px 24px rgba(200,162,74,0.35); background:#FFFAE8 }
  40%  { box-shadow:0 0 0 4px rgba(200,162,74,0.5), 0 8px 24px rgba(200,162,74,0.25); background:#FFFBEC }
  100% { box-shadow:0 0 0 0 rgba(200,162,74,0);       background:transparent }
}

/* ==========================================================
   v3.0.0：ソリューション2ページ分割用スタイル
   ・採用CXソリューション：ks-svc-block / ks-cta-inline / ks-badge-free
   ・提携ソリューション：ks-partner-card / ks-partner-grid
   ========================================================== */
.ks-cta-inline{margin-top:16px}
.ks-badge-free{
  display:inline-block;background:#C8A24A;color:#fff;
  font-size:12px;font-weight:700;padding:2px 8px;border-radius:3px;
  vertical-align:middle;margin:0 2px;letter-spacing:.06em;
}
.ks-svc-block__note{
  font-size:13px;color:#5F5E5A;margin:8px 0 4px;line-height:1.7;
}
.ks-svc-block__subtitle{
  font-size:14px;font-weight:700;color:#0C447C;margin:14px 0 6px;
}
.ks-svc-block__subheader{
  font-size:15px;font-weight:700;color:var(--ks-key-dark);
  margin:16px 0 6px;padding-left:10px;
  border-left:3px solid var(--ks-accent);
}

/* 提携ソリューション：yagioffer をFEATURED枠で大きく */
.ks-partner-card{
  background:#fff;border:1px solid #E8E6E0;border-radius:12px;
  padding:26px 28px 22px;margin-bottom:24px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);position:relative;
}
.ks-partner-card--featured{
  background:linear-gradient(135deg,#FFFAE8 0%,#FFFFFF 60%);
  border:2px solid #C8A24A;
  padding:36px 40px 32px;
  box-shadow:0 6px 24px rgba(200,162,74,.15);
}
.ks-partner-card__badge{
  position:absolute;top:-14px;left:24px;
  background:#C8A24A;color:#fff;
  font-size:12px;font-weight:800;letter-spacing:.15em;
  padding:6px 14px;border-radius:20px;
  box-shadow:0 2px 8px rgba(200,162,74,.4);
}
.ks-partner-card__title-row{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;
  margin-bottom:14px;padding-bottom:12px;
  border-bottom:1px solid #EAE7DE;
}
.ks-partner-card__title{
  font-size:22px;font-weight:800;color:#0C447C;margin:0;line-height:1.35;
}
.ks-partner-card--featured .ks-partner-card__title{font-size:26px}
.ks-partner-card__subtitle{
  font-size:14px;color:#8A7D50;font-weight:700;
}
.ks-partner-card--featured .ks-partner-card__subtitle{
  font-size:16px;color:#B08838;
}
.ks-partner-card__desc{
  font-size:15px;line-height:1.85;color:#2C2C2A;margin-bottom:14px;
}
.ks-partner-card__body p{
  font-size:14.5px;line-height:1.85;color:#3F3E3B;margin:0 0 12px;
}
.ks-partner-card__features-title{
  font-size:14px;font-weight:700;color:#0C447C;
  margin:16px 0 8px;padding-top:12px;border-top:1px dashed #E8E6E0;
}
.ks-partner-card__features{margin:0 0 12px 24px;padding:0}
.ks-partner-card__features li{
  font-size:14px;line-height:1.85;color:#2C2C2A;
  list-style:disc;margin:0 0 2px;
}
.ks-partner-card__note{
  font-size:13.5px;line-height:1.75;color:#5F5E5A;
  margin:14px 0 4px;padding:12px 14px;
  background:#F7F5EF;border-left:3px solid #C8A24A;border-radius:4px;
}
.ks-partner-grid{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
  gap:18px;
}
.ks-partner-grid .ks-partner-card{margin-bottom:0}

@media (max-width:768px){
  .ks-partner-card{padding:20px 22px 18px}
  .ks-partner-card--featured{padding:26px 24px 22px}
  .ks-partner-card__title{font-size:19px}
  .ks-partner-card--featured .ks-partner-card__title{font-size:22px}
}


/* ============================================================
   Pマーク（プライバシーマーク） v3.0.5
   ============================================================ */
.ks-pmark{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  line-height:1.3;
}
.ks-pmark__link{
  display:inline-flex;
  transition:opacity .2s;
  text-decoration:none;
}
.ks-pmark__link:hover{opacity:.8}
.ks-pmark__img{
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
}
.ks-pmark__note{
  font-size:11px;
  color:var(--ks-text-soft);
  letter-spacing:.02em;
  text-align:center;
}

/* variant: footer 表示 */
.ks-pmark--footer .ks-pmark__img{
  max-height:88px;
  max-width:88px;
}
@media (max-width:680px){
  .ks-pmark--footer .ks-pmark__img{max-height:72px;max-width:72px}
}

/* variant: inline（本文中・カード内） */
.ks-pmark--inline .ks-pmark__img{
  max-height:120px;
  max-width:120px;
}

/* variant: large（プライバシーポリシー・独立セクション） */
.ks-pmark--large .ks-pmark__img{
  max-height:160px;
  max-width:160px;
}
.ks-pmark--large .ks-pmark__note{font-size:12px}

/* プライバシーポリシー冒頭のPマーク表示ブロック */
.ks-section--pmark{padding-top:40px;padding-bottom:0}
.ks-pmark-hero{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  max-width:820px;
  margin:0 auto;
  padding:22px 24px;
  background:#fff;
  border:1px solid var(--ks-line);
  border-radius:12px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.ks-pmark-hero__text{
  font-size:14.5px;
  line-height:1.75;
  color:var(--ks-text);
  margin:0;
  flex:1 1 auto;
}
@media (max-width:640px){
  .ks-pmark-hero{flex-direction:column;text-align:center;gap:16px;padding:20px 18px}
  .ks-pmark-hero__text{font-size:13.5px}
}

/* ============================================================
   フッター最下段：法令対応リンク＋コピーライト v3.0.8
   個情法「公表」要件（トップから1回の操作で到達可）対応
   ============================================================ */
.ks-footer-legal{
  background:#0f2b47;
  color:#e8edf3;
  padding:18px 24px 22px;
  margin:0;
}
.ks-footer-legal__inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.ks-footer-legal__links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:0 8px;
  font-size:13.5px;
  line-height:1.9;
}
.ks-footer-legal__links a{
  color:#ffffff;
  text-decoration:none;
  transition:opacity .2s;
  padding:2px 4px;
}
.ks-footer-legal__links a:hover,
.ks-footer-legal__links a:focus{
  opacity:.75;
  text-decoration:underline;
}
.ks-footer-legal__sep{
  color:#7a94b5;
  user-select:none;
}
.ks-footer-legal__copy{
  margin:2px 0 0;
  font-size:12px;
  color:#b6c3d5;
  letter-spacing:.02em;
  text-align:center;
}
@media (max-width:640px){
  .ks-footer-legal{padding:16px 14px 18px}
  .ks-footer-legal__links{font-size:13px;gap:0 4px}
  .ks-footer-legal__sep{font-size:11px}
  .ks-footer-legal__copy{font-size:11px}
}

/* プライバシーポリシー：セクションアンカーのスクロールオフセット
   固定ナビ高さぶんの上余白を確保 */
#basic-policy, #handling{ scroll-margin-top:80px }

/* v3.1.5：/registered-trademark/ 等の .ks-section 内 CTA ボタンを常時可視化
   （フィルタで自動追加される .ks-cta-augmented は ghost クラスで白背景では見えないため） */
.ks-section .ks-cta__actions .ks-btn--ghost,
.ks-section--soft .ks-cta__actions .ks-btn--ghost,
.ks-section .ks-cta-augmented,
.ks-section--soft .ks-cta-augmented{
  background:#ffffff !important;
  color:var(--ks-key-dark) !important;
  border:2px solid var(--ks-key) !important;
}
.ks-section .ks-cta__actions .ks-btn--ghost:hover,
.ks-section--soft .ks-cta__actions .ks-btn--ghost:hover,
.ks-section .ks-cta-augmented:hover,
.ks-section--soft .ks-cta-augmented:hover{
  background:var(--ks-key) !important;
  color:#ffffff !important;
}


/* 認定・表彰グリッド内のPマーク（会社概要ページ用）——バランス統一 */
.ks-awards-grid .ks-award{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
/* 3枚のバッジ／マークを同じ高さ・同じ余白で並べる */
.ks-awards-grid .ks-award__badge{
  width:72px;
  height:72px;
  font-size:26px;
  margin:0 auto 16px;
}
.ks-awards-grid .ks-pmark,
.ks-award--pmark .ks-pmark{
  height:72px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
}
.ks-awards-grid .ks-pmark__img,
.ks-award--pmark .ks-pmark__img{
  max-height:72px;
  max-width:72px;
  width:auto;
  height:auto;
}
.ks-awards-grid .ks-pmark__note,
.ks-award--pmark .ks-pmark__note{display:none}


/* ============================================================
   採用CX診断プロ 申込フォーム v3.0.9
   ============================================================ */
.ks-cx-pro-form{
  max-width:720px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--ks-line);
  border-radius:10px;
  padding:32px 32px 28px;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.ks-cx-pro-form .ks-form-row{margin-bottom:20px}
.ks-cx-pro-form .ks-form-row label{
  display:block;
  font-weight:600;
  color:var(--ks-key-dark);
  margin-bottom:6px;
  font-size:14.5px;
}
.ks-cx-pro-form .ks-required{
  display:inline-block;
  margin-left:6px;
  padding:1px 8px;
  background:#c0392b;
  color:#fff;
  font-size:11px;
  border-radius:3px;
  vertical-align:middle;
  font-weight:600;
}
.ks-cx-pro-form input[type=text],
.ks-cx-pro-form input[type=email],
.ks-cx-pro-form input[type=tel],
.ks-cx-pro-form select{
  width:100%;
  padding:10px 12px;
  border:1px solid #c9d3df;
  border-radius:6px;
  font-size:15px;
  background:#fafcfe;
  box-sizing:border-box;
  margin-top:4px;
}
.ks-cx-pro-form input:focus,
.ks-cx-pro-form select:focus{
  outline:none;
  border-color:var(--ks-key);
  background:#fff;
  box-shadow:0 0 0 3px rgba(10,74,138,.12);
}
.ks-cx-pro-form .ks-form-consent{
  margin:24px 0 20px;
  padding:16px 18px;
  background:#f5f8fc;
  border:1px solid var(--ks-line);
  border-radius:6px;
}
.ks-cx-pro-form .ks-form-consent__text{
  margin:0 0 12px;
  font-size:13px;
  line-height:1.75;
  color:var(--ks-text);
}
.ks-cx-pro-form .wpcf7-acceptance{display:block;text-align:center}
.ks-cx-pro-form .wpcf7-acceptance label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  font-size:14px;
  color:var(--ks-key-dark);
  font-weight:600;
}
.ks-cx-pro-form .wpcf7-acceptance input{width:18px;height:18px;margin:0}
.ks-cx-pro-form .ks-form-submit{
  text-align:center;
  margin-top:24px;
}
.ks-cx-pro-form input[type=submit].wpcf7-submit{
  background:var(--ks-key);
  color:#fff;
  border:none;
  padding:14px 40px;
  font-size:16px;
  font-weight:600;
  border-radius:6px;
  cursor:pointer;
  transition:background .2s, transform .1s;
  min-width:240px;
}
.ks-cx-pro-form input[type=submit].wpcf7-submit:hover{
  background:#083961;
  transform:translateY(-1px);
}
.ks-cx-pro-form input[type=submit].wpcf7-submit:disabled{
  background:#94a3b8;
  cursor:not-allowed;
  transform:none;
}
.ks-cx-pro-form .wpcf7-not-valid-tip{
  color:#c0392b;
  font-size:12.5px;
  margin-top:4px;
}
.ks-cx-pro-form .wpcf7-response-output{
  margin:20px 0 0;
  padding:12px 16px;
  border-radius:6px;
  font-size:14px;
}

@media (max-width:640px){
  .ks-cx-pro-form{padding:22px 18px 20px;border-radius:8px}
  .ks-cx-pro-form input[type=submit].wpcf7-submit{width:100%;min-width:0}
}

/* Page hero variant */
.ks-page-hero--cx-pro-apply{
  background:linear-gradient(135deg, #0a4a8a 0%, #1a6dc4 100%);
}

/* v3.0.14：申込ページ内の3項目箇条書きを本文と左端を揃える */
.ks-prose .ks-cx-pro-features{
  margin:16px 0 0;
  padding:0;
  list-style:none;
}
.ks-prose .ks-cx-pro-features li{
  padding:4px 0 4px 22px;
  position:relative;
  font-size:15px;
  line-height:1.9;
  color:var(--ks-text);
}
.ks-prose .ks-cx-pro-features li::before{
  content:"";
  position:absolute;
  left:0;
  top:.9em;
  width:10px;
  height:2px;
  background:var(--ks-accent);
}


/* ============================================================
   v3.1.0 修正D：価値の体系（/philosophy/#value-system）
   ============================================================ */
.ks-value-system__figure{
  margin:24px auto 32px;
  max-width:640px;
  text-align:center;
}
.ks-value-system__figure img{ max-width:100%; height:auto; display:block; margin:0 auto; }

.ks-value-layer{
  background:#fff;
  border:1px solid var(--ks-line);
  border-radius:10px;
  padding:24px 28px;
  margin:16px 0;
  position:relative;
}
.ks-value-layer__tag{
  display:inline-block;
  background:var(--ks-key);
  color:#fff;
  font-size:12px;
  font-weight:700;
  padding:3px 12px;
  border-radius:4px;
  letter-spacing:1px;
  margin-bottom:8px;
}
.ks-value-layer__title{
  font-size:22px;
  color:var(--ks-key-dark);
  margin:4px 0 12px;
  font-weight:700;
}
.ks-value-layer__note{
  font-size:12px;
  color:var(--ks-text-soft);
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed var(--ks-line);
}
.ks-value-layer--result{
  background:linear-gradient(135deg, #FFF7E0 0%, #FFFFFF 60%);
  border-color:#C89B3C;
}
.ks-value-layer--result .ks-value-layer__tag{ background:#C89B3C; }

@media (max-width:640px){
  .ks-value-layer{ padding:18px 20px; }
  .ks-value-layer__title{ font-size:19px; }
}

/* ============================================================
   v3.1.0 修正E：登録商標カード（法的告知）
   ============================================================ */
.ks-trademark-card__title{
  font-size:24px;
  color:var(--ks-key-dark);
  margin:0 0 6px;
  font-weight:700;
}
.ks-trademark-card__meta{
  font-size:14px;
  color:var(--ks-text-soft);
  margin:0 0 12px;
  padding-bottom:12px;
  border-bottom:1px dashed var(--ks-line);
}

/* ============================================================
   v3.1.0 関連リンク：目立たせバリアント
   ============================================================ */
.ks-related-link--prominent .ks-related-link__a{
  background:#E7F0FA;
  border:1px solid var(--ks-key);
  padding:16px 20px;
}
.ks-related-link--prominent .ks-related-link__label{ background:var(--ks-key); color:#fff; }

/* ============================================================
   v3.1.0 修正I-2：ITサポート説明カードの注釈
   ============================================================ */
.ks-feature__note{
  font-size:12.5px;
  color:var(--ks-text-soft);
  margin:8px 0 4px;
  line-height:1.6;
}

/* ============================================================
   v3.1.0 修正B-1：#message アンカーのスクロールオフセット
   ============================================================ */
#message{ display:block; position:relative; top:-80px; visibility:hidden; }
#value-system, #sincerity, #cx-communication, #r-agency{ scroll-margin-top:80px; }
