@charset "UTF-8";
/* 健康経営ページ専用スタイル（.kk 配下のみに適用） */

/* ---- テンプレート共通部（privacy.php と同じ） ---- */
.header_in{ border-bottom:1px solid #fff; height:82px; width:100%; position:relative; z-index:2; background:#14a957; }
body, #WRAPPER{ display:flex; flex-direction:column; min-height:100vh; }
main{ background:#fff; }
footer{ margin-top:auto; }
@media screen and (max-width:768px){ .header_in{ height:62px; } }

/* ---- 基本 ---- */
.kk{
	--kk-green:#14a957; --kk-green-d:#0e7f41; --kk-green-l:#e8f6ee;
	--kk-teal:#9dd8d8; --kk-ink:#222; --kk-sub:#666; --kk-line:#d6d6d6;
	--kk-bad:#c2185b; --kk-bad-l:#fbeef3; --kk-good-l:#eaf2fb; --kk-good:#1f3f8f;
	color:var(--kk-ink); line-height:1.85; padding:0 1em 5em; max-width:1080px; margin:0 auto;
}
.kk *{ box-sizing:border-box; }
.kk p{ margin:0 0 1em; }
.kk img{ max-width:100%; height:auto; display:block; }

/* ---- タイトル ---- */
.kk-hero{ padding:3.5em 0 2.5em; border-bottom:4px solid var(--kk-green); margin-bottom:1em; }
.kk-hero-en{ color:var(--kk-green); font-weight:bold; letter-spacing:.12em; font-size:.85em; margin:0 0 .3em !important; }
.kk-hero-title{ font-size:2.6em; line-height:1.2; margin:0 0 .2em; font-weight:bold; }
.kk-hero-sub{ font-size:1.25em; font-weight:bold; margin:0 0 1.5em !important; }
.kk-toc{ display:flex; flex-wrap:wrap; gap:.5em; }
.kk-toc a{ display:inline-block; padding:.35em .9em; border:1px solid var(--kk-green); border-radius:999px; color:var(--kk-green-d); text-decoration:none; font-size:.85em; line-height:1.4; }
.kk-toc a:hover{ background:var(--kk-green); color:#fff; }

/* ---- セクション見出し ---- */
.kk-sec{ padding-top:3.5em; scroll-margin-top:100px; }
.kk-h{ display:flex; align-items:baseline; flex-wrap:wrap; gap:.2em 1em; font-size:1.55em; line-height:1.4; margin:0 0 1.2em; padding-left:.7em; border-left:6px solid var(--kk-green); }
.kk-h small{ font-size:.5em; color:var(--kk-green); letter-spacing:.1em; font-weight:bold; }
.kk-text{ max-width:820px; }
.kk-meta{ color:var(--kk-sub); font-size:.9em; }
.kk-note{ font-size:.8em; color:var(--kk-sub); line-height:1.6; margin:.4em 0 0 !important; }
.kk-na{ color:#aaa; }

/* ---- 健康宣言 ---- */
.kk-declaration{ background:var(--kk-green-l); border-radius:10px; padding:2em 2.2em; font-size:1.1em; }
.kk-signer{ text-align:right; font-weight:bold; margin:1em 0 0 !important; }

/* ---- 取組内容 ---- */
.kk-acts{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, 1fr); gap:1em; }
.kk-act{ border:1px solid var(--kk-line); border-radius:8px; padding:1.2em 1.4em; }
.kk-act p{ margin:0 !important; }
.kk-act-title{ display:flex; align-items:center; gap:.6em; font-size:1.1em; margin:0 0 .5em; }
.kk-num{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:1.8em; height:1.8em; border-radius:50%; background:var(--kk-green); color:#fff; font-size:.85em; }
.kk-list{ margin:.4em 0 0; padding-left:1.2em; }
.kk-list li{ list-style:disc; margin:.15em 0; }

/* ---- 推進体制・戦略マップ（画像） ---- */
.kk-figure{ margin:0; }
.kk-figure a{ display:block; border:1px solid var(--kk-line); border-radius:8px; overflow:hidden; background:#f8f8f8; }
.kk-figure img{ width:100%; }
.kk-figure-structure{ max-width:900px; margin:0 auto; }

/* ---- 表（共通） ---- */
.kk-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.kk-table{ width:100%; border-collapse:collapse; font-size:.92em; line-height:1.55; background:#fff; }
.kk-table th, .kk-table td{ border:1px solid #bbb; padding:.65em .8em; vertical-align:middle; }
.kk-table thead th{ background:var(--kk-teal); text-align:center; }
.kk-table thead th small{ display:block; font-size:.75em; font-weight:normal; }
.kk-table tbody th{ text-align:left; font-weight:bold; background:#fafafa; white-space:nowrap;}
.kk-table tbody th small{ display:block; font-weight:normal; font-size:.8em; color:var(--kk-sub); }
.kk-table td{ text-align:center; white-space:nowrap; }

.kk-goals td{ white-space:normal; }
.kk-goals td:nth-child(4){ text-align:left; min-width:260px; }
.kk-goals .kk-year{ text-align:center; font-size:1.2em; letter-spacing:.15em; }
.kk-goals .kk-issue{ font-weight:bold; }
.kk-goals small{ display:block; }
.kk-big{ display:block; font-size:1.5em; }
.kk-badge{ display:inline-block; font-size:.75em; font-weight:bold; border-radius:4px; padding:.1em .6em; background:#eee; margin-top:.3em; }
.kk-badge-up{ background:#ffc6c6; }

.kk-ind th:first-child{ min-width:260px; }
.kk-ind .kk-target{ font-weight:bold; }
.kk-asof{ text-align:right; }

/* ---- 資料（PDF） ---- */
.kk-docs{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, 1fr); gap:1em; }
.kk-doc{ display:flex; gap:1em; align-items:flex-start; height:100%; border:1px solid var(--kk-line); border-radius:8px; padding:1.2em 1.4em; color:var(--kk-ink); text-decoration:none; transition:border-color .2s, box-shadow .2s; }
.kk-doc:hover{ border-color:var(--kk-green); box-shadow:0 2px 10px rgba(20,169,87,.15); }
.kk-doc-icon{ flex:none; width:3.2em; height:3.2em; display:flex; align-items:center; justify-content:center; background:#d93a3a; color:#fff; font-weight:bold; font-size:.85em; border-radius:6px; }
.kk-doc-body{ display:flex; flex-direction:column; gap:.3em; line-height:1.6; }
.kk-doc-body strong{ color:var(--kk-green-d); font-size:1.05em; }
.kk-doc:hover .kk-doc-body strong{ text-decoration:underline; }
.kk-doc-desc{ font-size:.88em; }
.kk-doc-meta{ font-size:.8em; color:var(--kk-sub); }
#documents .kk-note{ margin-top:1em !important; }

/* ---- スマホ ---- */
@media screen and (max-width:768px){
	.kk{ font-size:15px; }
	.kk-hero-title{ font-size:2em; }
	.kk-acts, .kk-docs{ grid-template-columns:1fr; }
	.kk-ind th:first-child{ min-width:150px; }
	.kk-goals td:nth-child(4){ min-width:200px; }
	.kk-declaration{ padding:1.4em; font-size:1em; }
}
