@charset "utf-8";
/* ------------------------------------------------------------------------------------
 健康経営への取り組み（page-health-management.php）
------------------------------------------------------------------------------------ */
.hm_serif, .hm_headline, .hm_page_header .catch { font-family:"Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif; }

/* page header */
#page_header.hm_page_header { height:420px; background-color:#333; }
.hm_page_header .catch { font-weight:600; letter-spacing:0.08em; text-shadow:0 2px 12px rgba(0,0,0,0.4); }

/* base */
#health_management { color:#222; font-size:15px; line-height:2; padding-bottom:100px; }
#health_management img { display:block; width:100%; height:100%; object-fit:cover; }
#health_management ul { list-style:none; margin:0; padding:0; }
#health_management p { margin:0; }
.hm_inner { width:1150px; max-width:calc(100% - 80px); margin:0 auto; }
.hm_section { padding:70px 0 0; }
.hm_headline { position:relative; font-size:32px; font-weight:600; line-height:1.5; letter-spacing:0.06em; padding-bottom:22px; margin:0 0 36px; }
.hm_headline:after { content:''; position:absolute; left:0; bottom:0; width:40px; height:2px; background:#222; }
.hm_sp { display:none; }

/* 健康経営宣言 */
.hm_declaration_inner { display:flex; align-items:center; justify-content:space-between; gap:60px; }
.hm_declaration_text { flex:1; padding-left:10px; }
.hm_declaration_date { font-family:"Noto Serif JP",serif; font-size:16px; font-weight:600; margin-bottom:12px !important; }
.hm_declaration_desc { font-size:15px; line-height:2; }
.hm_declaration_image { max-width:46%; flex-shrink:0; }
#health_management .hm_declaration_image img { width:auto; max-width:100%; height:auto; max-height:300px; object-fit:contain; }

/* 認定 */
.hm_certified_inner { display:flex; align-items:center; background:#f2f3f4; padding:40px 50px; box-sizing:border-box; }
.hm_certified_head { width:300px; flex-shrink:0; padding-right:40px; margin-right:40px; border-right:1px solid #bbb; }
.hm_certified_title { font-size:38px; font-weight:600; line-height:1.4; letter-spacing:0.06em; }
.hm_certified_year { position:relative; padding-left:56px; margin-top:8px !important; font-size:15px; letter-spacing:0.15em; }
.hm_certified_year:before { content:''; position:absolute; left:0; top:50%; width:40px; height:1px; background:#222; }
.hm_certified_desc { font-size:15px; line-height:1.9; color:#444; }

/* 健康経営優良法人認定制度とは */
.hm_about_desc p { font-size:15px; line-height:2; }
.hm_about_desc p + p { margin-top:1em !important; }
.hm_logo_list { display:grid; grid-template-columns:repeat(6, 1fr); gap:16px; margin-top:40px !important; }
.hm_logo_item { border:1px solid #e1e3e5; background:#fff; padding:16px 12px 12px; text-align:center; }
.hm_logo_image { height:110px; }
#health_management .hm_logo_image img { object-fit:contain; }
.hm_logo_year { margin-top:10px !important; font-size:13px; letter-spacing:0.1em; color:#555; line-height:1.4; }

/* 主な取り組み */
.hm_initiative_list { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.hm_initiative_item { display:flex; align-items:flex-start; gap:16px; padding:14px; border:1px solid #e1e3e5; background:#fff; }
.hm_initiative_item.is_wide { grid-column:1 / -1; align-items:center; }
.hm_initiative_image { width:42%; max-width:150px; flex-shrink:0; aspect-ratio:3 / 2; overflow:hidden; }
.hm_initiative_body { flex:1; }
.hm_initiative_title { font-size:16px; font-weight:600; line-height:1.5; margin:0 0 8px; }
.hm_initiative_text { font-size:13px; line-height:1.8; color:#555; }
.is_wide .hm_initiative_body { padding-left:14px; }

/* 健康経営戦略マップ */
.hm_map { padding-top:0; margin-top:70px; background:#f2f3f4; }
.hm_map .hm_inner { padding:50px 0 50px; }
.hm_map_desc { font-size:15px; line-height:2; }
.hm_map_button { margin-top:36px; text-align:center; }
.hm_map_button a { display:inline-flex; align-items:center; justify-content:center; position:relative; min-width:200px; height:52px; padding:0 50px; background:#222; color:#fff !important; font-size:15px; letter-spacing:0.08em; text-decoration:none; transition:background 0.3s ease; }
.hm_map_button a:hover { background:#555; }
.hm_map_button a:after { content:''; position:absolute; right:20px; top:50%; width:7px; height:7px; border-top:1px solid #fff; border-right:1px solid #fff; transform:translateY(-50%) rotate(45deg); }
.hm_pdf_icon { position:relative; display:inline-block; width:15px; height:19px; border:1px solid #fff; margin-right:14px; box-sizing:border-box; }
.hm_pdf_icon:before { content:'PDF'; position:absolute; left:-4px; bottom:2px; background:#222; font-size:7px; line-height:1; letter-spacing:0; padding:1px; }

/* editor content */
.hm_content .post_content { font-size:15px; }

/* ------------------------------------------------------------------------------------
 responsive
------------------------------------------------------------------------------------ */
@media screen and (max-width:1050px) {
  .hm_initiative_list { grid-template-columns:repeat(2, 1fr); }
  .hm_logo_list { grid-template-columns:repeat(3, 1fr); }
  .hm_certified_head { width:auto; }
}

@media screen and (max-width:800px) {
  #page_header.hm_page_header { height:260px; }
  .hm_pc { display:none; }
  .hm_sp { display:inline; }
  .hm_inner { max-width:calc(100% - 40px); }
  .hm_section { padding-top:50px; }
  .hm_headline { font-size:24px; padding-bottom:16px; margin-bottom:26px; }
  #health_management { font-size:14px; padding-bottom:60px; }

  .hm_declaration_inner { flex-direction:column; gap:28px; }
  .hm_declaration_text { padding-left:0; }
  .hm_declaration_image { max-width:100%; align-self:center; }
  .hm_declaration_desc { font-size:14px; }

  .hm_certified_inner { flex-direction:column; align-items:flex-start; padding:30px 24px; }
  .hm_certified_head { padding:0 0 18px; margin:0 0 18px; border-right:none; border-bottom:1px solid #bbb; width:100%; }
  .hm_certified_title { font-size:30px; }
  .hm_certified_desc { font-size:14px; }

  .hm_about_desc p { font-size:14px; }
  .hm_logo_list { gap:8px; margin-top:28px !important; }
  .hm_logo_item { padding:10px 6px 8px; }
  .hm_logo_image { height:70px; }
  .hm_initiative_list { grid-template-columns:1fr; gap:12px; }
  .hm_initiative_item.is_wide { align-items:flex-start; }
  .is_wide .hm_initiative_body { padding-left:0; }
  .hm_initiative_image { width:36%; }

  .hm_map { margin-top:50px; }
  .hm_map .hm_inner { padding:40px 0; }
  .hm_map_desc { font-size:14px; }
}
