@charset "UTF-8";

.health-management {
  overflow: hidden;
  background-color: var(--black);
}

.health-management .inner-block {
  margin-right: auto;
  margin-left: auto;
}

.health-management .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

.hm-hero {
  position: relative;
  min-height: 570px;
  padding: 105px 0 110px;
}

.hm-hero__title {
  position: relative;
  z-index: 1;
  font-family: "Inter", sans-serif;
  font-size: clamp(5.5rem, 10.8vw, 10.75rem);
  font-weight: 900;
  line-height: .78;
  letter-spacing: -.055em;
}

.hm-hero__title span { display: block; }

.hm-hero__ja {
  margin-top: 42px;
  padding-left: 6px;
  font-size: 16px;
  font-weight: 700;
}

.hm-section { padding: 95px 0; }

.hm-statement {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 80px;
  align-items: start;
}

.hm-statement + .hm-statement { margin-top: 120px; }

.hm-side-title {
  border-top: 3px solid var(--green);
  padding-top: 24px;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: .04em;
}

.hm-copy p {
  font-size: 15px;
  font-weight: 700;
  line-height: 2.15;
}

.hm-copy p + p { margin-top: 18px; }
.hm-copy .hm-signature { margin-top: 36px; text-align: right; }

.hm-section-title {
  margin-bottom: 64px;
  color: var(--green);
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}

.hm-section-lead {
  margin-top: -44px;
  margin-bottom: 65px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

.hm-target-lead p + p { margin-top: 8px; }

.hm-visual-title {
  margin-bottom: 45px;
  color: var(--green);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

.hm-organization {
  position: relative;
  max-width: 1120px;
  margin: 0 auto 120px;
  padding: 50px 35px;
}

.hm-organization::before {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 0;
  width: 100vw;
  height: 100%;
  background: url("../../img/corp/health-management/bg_able.png") no-repeat center/cover;
  transform: translateX(-50%);
  content: "";
}

.hm-organization__chart {
  display: grid;
  position: relative;
  z-index: 1;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.hm-organization__partners { display: grid; gap: 12px; }

.hm-organization__partners li,
.hm-org-box {
  position: relative;
  border: 2px solid rgba(255,255,255,.72);
  padding: 17px 12px;
  color: #fff;
  background: var(--black);
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}

.hm-organization__partners li { padding: 15px 12px; }

.hm-organization__partners li::after {
  position: absolute;
  left: 100%;
  top: 50%;
  width: 82px;
  height: 2px;
  background: rgba(255,255,255,.7);
  content: "";
}

.hm-organization__partners .hm-org-partner--employee::after {
  top: 50%;
  width: 82px;
}

.hm-organization__core { display: grid; gap: 28px; }
.hm-org-box strong,
.hm-org-box small { display: block; }
.hm-org-box small { margin-top: 8px; font-size: 13px; line-height: 1.65; }

.hm-org-box--chief::after,
.hm-org-box--team::after {
  position: absolute;
  left: 50%;
  top: 100%;
  width: 2px;
  height: 30px;
  background: rgba(255,255,255,.7);
  content: "";
}

.hm-org-box--team {
  display: flex;
  min-height: 315px;
  border-color: #fff;
  padding: 35px 14px;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(115deg, #c05dee, #2155fa);
}

.hm-org-box--ambassador::before {
  position: absolute;
  right: 100%;
  top: 50%;
  width: 82px;
  height: 2px;
  background: rgba(255,255,255,.7);
  content: "";
}

.hm-org-box--ambassador > small {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.hm-org-box--ambassador > small::before {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  background: url("../../img/corp/health-management/ico_check.svg") no-repeat center/contain;
  content: "";
}

.hm-ambassador-people {
  display: grid;
  grid-template-columns: repeat(3, 32px);
  gap: 9px;
  justify-content: center;
  margin: 20px 0;
}

.hm-ambassador-people i {
  position: relative;
  height: 38px;
  border-radius: 3px;
  background: #eee;
}

.hm-ambassador-people i::before,
.hm-ambassador-people i::after { position: absolute; left: 50%; border-radius: 50%; transform: translateX(-50%); content: ""; }
.hm-ambassador-people i::before { top: 5px; width: 10px; height: 10px; background: #8254ee; }
.hm-ambassador-people i::after { bottom: 4px; width: 21px; height: 15px; background: linear-gradient(#8254ee, #db5ec7); }

.hm-strategy {
  position: relative;
  max-width: 1300px;
  margin: 0 auto;
  padding: 36px 36px 72px;
  background: #393a3b;
}

.hm-strategy__top {
  display: grid;
  grid-template-columns: 1.05fr 2.45fr 1.45fr;
  gap: 30px;
  align-items: stretch;
}

.hm-strategy-card {
  position: relative;
  padding: 14px;
  color: #171719;
  background: #fff;
}

.hm-strategy-card h3 {
  margin-bottom: 14px;
  border-radius: 3px;
  padding: 7px 10px;
  color: #fff;
  background: #bd57ed;
  font-size: clamp(16px, 1.1vw, 18px);
  font-weight: 700;
  text-align: center;
}

.hm-strategy-card h4 { min-height: 48px; margin-bottom: 10px; font-size: 14px; font-weight: 700; line-height: 1.45; }
.hm-strategy-card--effects h4,
.hm-strategy-card--culture h4 { text-align: center; }
.hm-strategy-card--culture h4 { color: #fff; }
.hm-strategy-card li { position: relative; padding-left: 15px; font-size: 14px; line-height: 1.5; }
.hm-strategy-card li + li { margin-top: 6px; }
.hm-strategy-card li::before { position: absolute; left: 0; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: #c35eed; content: ""; }
.hm-strategy-card p { color: #171719; font-size: 13px; line-height: 1.65; }

.hm-strategy-sublist { margin-top: 4px; }
.hm-strategy-card .hm-strategy-sublist li { padding-left: 11px; font-size: 13px; }
.hm-strategy-card .hm-strategy-sublist li::before { width: 5px; height: 1px; border-radius: 0; background: #202124; }

.hm-strategy-card__columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; align-items: stretch; }
.hm-strategy-card__columns > div { display: flex; min-width: 0; flex-direction: column; padding: 0; background: transparent; }
.hm-strategy-card__columns > div > ul { height: 100%; padding: 12px 10px; background: #f5e8fa; }
.hm-strategy-card--effects,
.hm-strategy-card--culture { display: flex; flex-direction: column; }
.hm-strategy-card--effects .hm-strategy-card__columns,
.hm-strategy-card--culture .hm-strategy-card__columns { flex: 1; }

.hm-strategy-card--investment::after,
.hm-strategy-card--effects::after {
  position: absolute;
  left: calc(100% + 8px);
  top: 43%;
  width: 0;
  height: 0;
  border-top: 22px solid transparent;
  border-bottom: 22px solid transparent;
  border-left: 14px solid var(--green);
  content: "";
  z-index: 2;
}

.hm-strategy__goals { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.hm-strategy__bottom { display: grid; grid-template-columns: 1.05fr 2.45fr 1.45fr; gap: 30px; align-items: start; margin-top: 30px; }
.hm-strategy-card--issues,
.hm-strategy-card--culture { border: 3px solid #7ba0ff; background: #668df4; }
.hm-strategy-card--culture { grid-column: 2; }
.hm-strategy-card--issues { min-height: 300px; }
.hm-strategy-card--issues h3,
.hm-strategy-card--culture h3 { background: transparent; }
.hm-strategy-card--issues li { border-radius: 3px; padding: 10px; background: #edf2ff; font-size: 15px; font-weight: 700; text-align: center; }
.hm-strategy-card--issues li::before { display: none; }
.hm-strategy-card--culture .hm-strategy-card__columns > div > ul { background: #fff; }

.hm-strategy-card--issues::before {
  display: none;
}

.hm-strategy-card--issues::after {
  position: absolute;
  left: calc(50% - 30px);
  bottom: calc(100% + 10px);
  width: 0;
  height: 0;
  border-right: 30px solid transparent;
  border-bottom: 15px solid var(--green);
  border-left: 30px solid transparent;
  content: "";
}

.hm-strategy-flow__cycle {
  position: absolute;
  right: 22.5%;
  bottom: 90px;
  left: 23%;
  height: 303px;
  border-right: 4px solid var(--green);
  border-bottom: 4px solid var(--green);
}

.hm-strategy-flow__cycle::before {
  position: absolute;
  left: -16px;
  bottom: -13px;
  width: 0;
  height: 0;
  border-top: 11px solid transparent;
  border-right: 16px solid var(--green);
  border-bottom: 11px solid transparent;
  content: "";
}

.hm-strategy-flow__cycle::after {
  position: absolute;
  right: -13px;
  top: -16px;
  width: 0;
  height: 0;
  border-right: 11px solid transparent;
  border-bottom: 16px solid var(--green);
  border-left: 11px solid transparent;
  content: "";
}

.hm-table-wrap {
  max-width: 1160px;
  margin: 0 auto;
  overflow-x: auto;
  outline: none;
}

.hm-table-wrap:focus-visible { box-shadow: 0 0 0 3px var(--green); }

.hm-target-table {
  width: 100%;
  min-width: 900px;
  color: #202124;
  background: #fff;
  font-size: clamp(13px, 1.15vw, 16px);
}

.hm-target-table th,
.hm-target-table td { border: 1px solid #3f4041; padding: 12px 14px; text-align: center; }
.hm-target-table thead th {
  padding-right: 8px;
  padding-left: 8px;
  color: #fff;
  background: #6c6d6e;
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 700;
  white-space: nowrap;
}
.hm-target-table thead th:nth-last-child(-n+3) { background: #bd57ed; }
.hm-target-table tbody th[scope="rowgroup"] { width: 90px; vertical-align: middle; }
.hm-target-table tbody th[scope="row"] { min-width: 220px; text-align: left; }
.hm-target-table tbody td:nth-last-child(-n+3) { color: #202124; background: #f4e4fa; font-weight: 400; }
.hm-target-table tbody .hm-target-actual:empty { background: #fcf7ff; }
.hm-target-table tbody .hm-target-actual:not(:empty) { background: #fff; }
.hm-target-table sup { margin-left: 3px; color: #777; font-size: 9px; }

.hm-target-notes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  gap: 3px 50px;
  max-width: 1160px;
  margin: 18px auto 0;
  font-size: 12px;
  line-height: 1.45;
}

.hm-issue-list { max-width: 1140px; margin: 0 auto; }

.hm-issue-list li {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: center;
  min-height: 90px;
  padding: 20px 26px;
  background: #393a3b;
}

.hm-issue-list li + li { margin-top: 12px; }

.hm-issue-list span {
  border-radius: 30px;
  padding: 7px 12px;
  color: #222324;
  background: var(--green);
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  text-align: center;
}

.hm-issue-list strong { font-size: 18px; line-height: 1.55; }

.hm-issue-list em {
  padding: 16px;
  color: #fff;
  background: linear-gradient(90deg, #ea58c1, #1950f8);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  text-align: center;
}

.hm-action-group {
  display: grid;
  grid-template-columns: 265px minmax(0, 1fr);
  column-gap: 75px;
}

.hm-action-group + .hm-action-group { margin-top: 90px; }

.hm-action-category {
  grid-column: 1;
  padding-top: 8px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.55;
}

.hm-action-category::after {
  display: block;
  width: 56px;
  height: 4px;
  margin-top: 25px;
  background: linear-gradient(90deg, #ea58c1 0 50%, #1950f8 50%);
  content: "";
}

.hm-action {
  grid-column: 2;
  padding: 8px 0 70px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.hm-action + .hm-action { padding-top: 62px; }
.hm-action-category + .hm-action { grid-row: 1; }

.hm-action h4 {
  margin-bottom: 32px;
  font-size: 20px;
  font-weight: 700;
}

.hm-action h4 span {
  display: inline-block;
  min-width: 54px;
  margin-right: 10px;
  color: var(--green);
  font-size: 24px;
}

.hm-action li {
  position: relative;
  margin-left: 64px;
  padding-left: 28px;
  font-size: 15px;
  font-weight: 700;
  line-height: 2;
}

.hm-action li::before {
  position: absolute;
  left: 0;
  top: 9px;
  width: 14px;
  height: 14px;
  background: url("../../img/corp/health-management/ico_check.svg") no-repeat center/contain;
  content: "";
}

.hm-action-media {
  margin-top: 55px;
}

.hm-action-media--split {
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  gap: 55px;
  align-items: start;
}

.hm-action-media--single { width: 245px; }

.hm-action-media img { max-height: 330px; object-fit: contain; }
.hm-action-media .hm-action-image--wide { width: 100%; max-height: none; }
.hm-action-media .hm-action-image--compact { width: 100%; max-width: 480px; max-height: none; }
.hm-action-media figure { margin: 0; text-align: center; }
.hm-action-media figcaption { margin-top: 12px; font-size: 13px; font-weight: 700; }

.hm-donut {
  display: flex;
  position: relative;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background: conic-gradient(from 0deg, #c665fa 0%, #184cf8 calc(var(--value) * 1%), #3a3b3d calc(var(--value) * 1%) 100%);
}

.hm-donut::before {
  position: absolute;
  width: 125px;
  height: 125px;
  border-radius: 50%;
  background: var(--black);
  content: "";
}

.hm-donut b { position: relative; font-size: 39px; line-height: 1; }
.hm-donut small { font-size: 20px; }
.hm-donut > span { position: absolute; top: calc(100% + 16px); width: 240px; font-size: 13px; font-weight: 700; text-align: center; }
.hm-donut > span small { display: block; margin-top: 5px; color: #aaa; font-size: 11px; }

.hm-learning {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  align-items: start;
  border: 10px solid #fff;
  color: #17202b;
  background: #fff;
}

.hm-learning__column { --learning-color: #244fb4; --learning-bg: #f1f4fb; background: var(--learning-bg); }
.hm-learning__column--employee { --learning-color: #20aa60; --learning-bg: #eef8f2; }
.hm-learning__column--women { --learning-color: #e34379; --learning-bg: #fff1f5; }

.hm-learning h5 {
  padding: 8px 6px;
  color: #fff;
  background: var(--learning-color);
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

.hm-learning__part { padding: 12px; border-bottom: 2px solid var(--learning-color); }
.hm-learning__part:last-child { border-bottom: 0; }
.hm-learning h6 { margin-bottom: 8px; color: var(--learning-color); font-size: 14px; font-weight: 700; }
.hm-learning h6 small { font-size: 11px; }
.hm-learning .hm-learning__part li { margin-left: 0; padding-left: 12px; font-size: 10px; font-weight: 500; line-height: 1.45; }
.hm-learning .hm-learning__part li + li { margin-top: 2px; }
.hm-learning .hm-learning__part li::before { top: .55em; width: 6px; height: 6px; border-radius: 50%; background: var(--learning-color); }

.hm-resource-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 85px;
  align-items: center;
}

.hm-resource-row--report {
  width: 100%;
  max-width: 1160px;
  margin-right: auto;
  margin-left: auto;
}

.hm-resource-copy p { font-size: 14px; font-weight: 500; line-height: 2; }
.hm-resource-copy p + p { margin-top: 4px; }
.hm-resource-copy h3 { margin-bottom: 30px; font-size: 28px; font-weight: 700; }

.hm-download {
  display: flex;
  min-height: 220px;
  padding: 25px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 22px;
  color: #fff;
  background: #111213;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.hm-download__name {
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
}

a.hm-download {
  transition: border-color .3s ease, color .3s ease;
}

a.hm-download:hover {
  color: var(--green);
}

.hm-download__icon {
  display: flex;
  width: 46px;
  height: 56px;
  border: 2px solid #777;
  border-radius: 4px;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 11px;
}

.hm-other { padding-bottom: 170px; }
.hm-partnership-logo { display: block; width: 350px; margin: 0 auto 75px; }
.hm-resource-row--kurumin { margin-top: 55px; border-top: 1px solid rgba(255, 255, 255, .16); padding-top: 55px; }
.hm-kurumin-logo { display: block; width: 240px; max-width: 100%; margin: 0 auto; }

@media only screen and (max-width: 900px) {
  .hm-statement { grid-template-columns: 260px minmax(0, 1fr); gap: 45px; }
  .hm-side-title { font-size: 26px; }
  .hm-organization__chart { gap: 45px; }
  .hm-organization__partners li::after,
  .hm-org-box--ambassador::before { width: 47px; }
  .hm-strategy__top { grid-template-columns: 1fr; }
  .hm-strategy-card--investment::after,
  .hm-strategy-card--effects::after {
    left: 50%;
    top: calc(100% + 5px);
    border-top: 14px solid var(--green);
    border-right: 22px solid transparent;
    border-bottom: 0;
    border-left: 22px solid transparent;
    transform: translateX(-50%);
  }
  .hm-strategy__bottom { grid-template-columns: 1fr; }
  .hm-strategy-flow { display: none; }
  .hm-strategy-card--issues { min-height: 0; }
  .hm-strategy-card--issues::after { display: none; }
  .hm-issue-list li { grid-template-columns: 80px minmax(0, 1fr) 260px; }
  .hm-action-group { grid-template-columns: 210px minmax(0, 1fr); gap: 35px; }
}

@media only screen and (max-width: 750px) {
  .hm-hero { min-height: 430px; padding: 85px 0 75px; }
  .hm-hero__title { font-size: clamp(4rem, 18vw, 6.2rem); line-height: .85; }
  .hm-hero__ja { margin-top: 32px; font-size: 13px; }
  .hm-section { padding: 65px 0; }
  .hm-statement { display: block; }
  .hm-statement + .hm-statement { margin-top: 85px; }
  .hm-side-title { margin-bottom: 35px; padding-top: 18px; font-size: 24px; }
  .hm-copy p { font-size: 13px; line-height: 2; }
  .hm-section-title { margin-bottom: 42px; font-size: 20px; }
  .hm-section-lead { margin-top: -30px; margin-bottom: 40px; font-size: 12px; }
  .hm-target-lead br { display: none; }
  .hm-visual-title { margin-bottom: 32px; font-size: 17px; }
  .hm-organization { margin-bottom: 75px; padding: 32px 20px; }
  .hm-organization::before { background-size: auto 100%; }
  .hm-organization__chart { grid-template-columns: 1fr; gap: 34px; }
  .hm-organization__partners { order: 2; }
  .hm-organization__core { order: 1; }
  .hm-org-box--ambassador { order: 3; }
  .hm-organization__partners li,
  .hm-org-box { padding: 14px 10px; font-size: 14px; }
  .hm-organization__partners li::after,
  .hm-organization__partners li::before,
  .hm-org-box--ambassador::before { display: none; }
  .hm-org-box--chief::after,
  .hm-org-box--team::after { height: 30px; }
  .hm-org-box--team { padding: 28px 12px; }
  .hm-org-box--team { min-height: 0; }
  .hm-strategy { padding: 18px; }
  .hm-strategy-card__columns { grid-template-columns: 1fr; }
  .hm-strategy-card h4 { min-height: 0; }
  .hm-strategy__goals { grid-template-columns: 1fr; }
  .hm-strategy__bottom { grid-template-columns: 1fr; }
  .hm-strategy-card--culture { grid-column: 1; }
  .hm-strategy-flow { display: none; }
  .hm-strategy-card--issues::before,
  .hm-strategy-card--issues::after { display: none; }
  .hm-target-notes { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; gap: 5px; font-size: 12px; }
  .hm-target-table th,
  .hm-target-table td { padding: 10px 12px; }
  .hm-issue-list li { display: flex; min-height: 0; padding: 18px; flex-wrap: wrap; gap: 12px; }
  .hm-issue-list span { width: 74px; }
  .hm-issue-list strong { width: calc(100% - 86px); font-size: 14px; }
  .hm-issue-list em { width: 100%; font-size: 12px; }
  .hm-action-group { display: block; }
  .hm-action-group + .hm-action-group { margin-top: 75px; }
  .hm-action-category { margin-bottom: 45px; font-size: 20px; }
  .hm-action { padding-bottom: 55px; }
  .hm-action + .hm-action { padding-top: 50px; }
  .hm-action h4 { font-size: 17px; line-height: 1.6; }
  .hm-action h4 span { min-width: 42px; font-size: 20px; }
  .hm-action li { font-size: 13px; }
  .hm-action > ul > li { margin-left: 48px; font-size: 14px; }
  .hm-action-media--split { display: flex; flex-direction: column; gap: 65px; }
  .hm-action-media img { width: 100%; max-height: none; }
  .hm-learning { grid-template-columns: 1fr; width: 100%; }
  .hm-resource-row { grid-template-columns: 1fr; gap: 40px; }
  .hm-resource-copy p { font-size: 13px; }
  .hm-resource-copy h3 { font-size: 22px; }
  .hm-download { min-height: 180px; }
  .hm-partnership-logo { width: 260px; margin-bottom: 45px; }
  .hm-resource-row--kurumin { margin-top: 38px; padding-top: 37px; }
  .hm-kurumin-logo { width: 220px; }
  .hm-other { padding-bottom: 100px; }
}
