.health-management-top {
  width: 100%;
  position: relative;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  isolation: isolate;
  text-align: left;
  font-size: 6.4vw;
  color: #1a1c21;
  font-family: 'Noto Sans JP';
}

.health-management-main-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16vw 0vw 0vw;
  z-index: 0;
}

.health-management-main {
  width: 100vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 9.6vw;
}

.sustainability-tab-inner {
  align-self: stretch;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 10.667vw 6.4vw;
  box-sizing: border-box;
  min-height: 40vw;
}

.sustainability-title-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.sustainability-title {
  align-self: stretch;
  position: relative;
  letter-spacing: 0.04em;
  font-weight: 900;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.company-profile {
  position: relative;
  font-size: 3.2vw;
  font-weight: 600;
  font-family: Inter;
  background: linear-gradient(267.36deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sustainability-tab {
  align-self: stretch;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: center;
  font-size: 3.733vw;
}

.tab-frame {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  font-size: 4vw;
  color: #fff;
}

.tab1 {
  height: 15.467vw;
  flex: 1;
  background-color: #f2f2f2;
  border-bottom: 0.267vw solid #e3e3e3;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5.333vw 4.267vw;
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  gap: 10px;
  min-width: 32vw;
  color: #1a1c21;
}

.active-tab {
  height: 20vw;
  width: 73.333vw;
  position: absolute;
  margin: 0 !important;
  top: 0vw;
  left: 0vw;
  background-color: #0288d1;
  z-index: 0;
  flex-shrink: 0;
}

.b {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.tab2 {
  flex: 1;
  background-color: #f2f2f2;
  border-right: 0.267vw solid #e3e3e3;
  border-bottom: 0.267vw solid #e3e3e3;
  border-left: 0.267vw solid #e3e3e3;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5.333vw 4.267vw;
  position: relative;
  isolation: isolate;
  gap: 10px;
  min-width: 32vw;
  cursor: pointer;
  font-size: 3.733vw;
  color: #1a1c21;
}

.deactive-tab {
  height: 21.333vw;
  width: 0vw;
  position: absolute;
  margin: 0 !important;
  top: 0vw;
  left: 0vw;
  background-color: #0288d1;
  z-index: 0;
  flex-shrink: 0;
}

.tab-container {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.tab-container2 {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.tab3 {
  flex: 1;
  background-color: #f2f2f2;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5.333vw 4.267vw 5.333vw 5.067vw;
  position: relative;
  isolation: isolate;
  gap: 10px;
  min-width: 32vw;
  min-height: 18vw;
  cursor: pointer;
  color: #1a1c21;
}

.tab4 {
  flex: 1;
  background-color: #f2f2f2;
  border-right: 0.267vw solid #e3e3e3;
  border-bottom: 0.267vw solid #e3e3e3;
  border-left: 0.267vw solid #e3e3e3;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5.333vw 4.267vw;
  position: relative;
  isolation: isolate;
  gap: 10px;
  min-width: 32vw;
  cursor: pointer;
  color: #1a1c21;
}

.tab5 {
  width: 50.267vw;
  background-color: #f2f2f2;
  border-right: 0.267vw solid #e3e3e3;
  border-bottom: 0.267vw solid #e3e3e3;
  border-left: 0.267vw solid #e3e3e3;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5.333vw 4.267vw;
  position: relative;
  isolation: isolate;
  gap: 10px;
  min-width: 32vw;
  cursor: pointer;
  color: #1a1c21;
}

.tab3 {
  color: #f2f2f2;
}

.health-management-top .pc-contents {
  display: flex !important;
}

.health-management-top .tab-frame {
  flex-wrap: wrap;
}

.health-management-top .tab1,
.health-management-top .tab2,
.health-management-top .tab4,
.health-management-top .tab5 {
  flex: 0 0 50%;
  width: 50%;
  min-width: 0;
  min-height: 18vw;
  padding: 5.333vw 4.267vw;
  box-sizing: border-box;
}

.health-management-top .tab5 {
  width: 50%;
}

.health-management-top .active-tab {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.health-management-top .deactive-tab {
  display: none;
}

.breadcrumbs-frame {
  align-self: stretch;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 6.4vw;
  gap: 12px;
  font-size: 2.667vw;
}

.breadcrumbs-top {
  position: relative;
  cursor: pointer;
}

.bread-next-icon {
  width: 1.6vw;
  position: relative;
  max-height: 100%;
}

.breadcrumbs-text {
  position: relative;
}

.breadcrumbs-current {
  position: relative;
  color: #6b7075;
}

.health-management-main-inner {
  align-self: stretch;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 21.333vw 6.4vw;
  font-size: 4vw;
  color: #000;
}

.content-card-frame {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  max-width: 100%;
}

.content-title-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 6.4vw;
  color: #1a1c21;
}

.content-title-wrapper {
  align-self: stretch;
  border-left: 1.067vw solid #0288d1;
  display: flex;
  align-items: flex-start;
  padding: 0vw 0vw 0vw 4.267vw;
}

.content-description-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.content-description-wrapper {
  width: 100%;
  display: flex;
  align-items: flex-start;
  max-width: 100%;
}

.post-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: right;
}

.description,
.polka-dot-description,
.polka-dot-description2 {
  flex: 1;
  position: relative;
  line-height: 180%;
}

.title {
  flex: 1;
  position: relative;
  line-height: 180%;
  font-size: 6.8vw;
}

.health-management-card-inner {
  align-self: stretch;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 21.333vw 6.4vw;
}

.card-description-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 50px;
  font-size: 4vw;
  color: #000;
}

.description2 {
  align-self: stretch;
  flex: 1;
  position: relative;
  line-height: 180%;
}

.white-500-icon-parent {
  align-self: stretch;
  height: 31.227vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.white-500-icon {
  align-self: stretch;
  flex: 1;
  position: relative;
  border-radius: 4.267vw;
  overflow: hidden;
  max-height: 100%;
  object-fit: contain;
  padding-top: 20vw;
  width: 84vw;
}

.card-wrapper {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
}

.health-management-system-icon {
  align-self: stretch;
  max-width: 100%;
  overflow: hidden;
  max-height: 100%;
  object-fit: cover;
}

.content-card-frame2 {
  align-self: stretch;
  background-color: #edf5f8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0vw 0vw 21.333vw;
  font-size: 4.267vw;
}

.content-card-container {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 21.333vw 6.4vw 0vw;
  font-size: 6.4vw;
}

.content-card-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  font-size: 4vw;
  color: #0288d1;
}

.content-card-wrapper {
  border-radius: 2.133vw;
  background-color: #0288d1;
  display: flex;
  align-items: flex-start;
  padding: 2.133vw 4.267vw;
  font-size: 4.267vw;
  color: #fff;
}

.polka-dot-description {
  position: relative;
  line-height: 180%;
}

.description3 {
  align-self: stretch;
  position: relative;
  line-height: 180%;
  color: #000;
}

.polka-dot-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.polka-dot-container,
.improved-product-container {
  width: 100%;
  border-radius: 2.133vw;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 6.4vw;
  box-sizing: border-box;
  max-width: 100%;
}

.polka-dot-parent {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  max-width: 100%;
}

.polka-dot-title-parent {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.polka-dot-child-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  text-align: left;
  color: #1a1c21;
}

.polka-dot-child {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.polka-dot-icon {
  height: 7.733vw;
  width: 2.133vw;
}

.improved-product-frame,
.improved-product-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 8px;
  max-width: 100%;
}

.improved-product-container {
  position: relative;
  top: 7vw;
}

.internal-initiatives-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 21.333vw 6.4vw;
  color: #fff;
}

.internal-initiatives-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  max-width: 100%;
}

.internal-initiatives-title-parent {
  border-radius: 2.133vw;
  background-color: #0288d1;
  display: flex;
  align-items: flex-start;
  padding: 2.133vw 4.267vw;
}

.regular-checkup-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 4.8vw;
  color: #000;
  padding-top: 10vw;
}

.regular-checkup-container {
  align-self: stretch;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0vw 0vw 6.4vw;
  gap: 24px;
}

.regular-checkup-icon {
  width: 88.067vw;
  position: relative;
  max-height: 100%;
  object-fit: cover;
  flex-shrink: 0;
}

.regular-checkup-title-parent {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  padding: 0vw 4.267vw;
  flex-shrink: 0;
}

.regular-checkup-content-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-shrink: 0;
  font-size: 3.733vw;
  color: #0288d1;
}

.regular-checkup-content-container {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.regular-checkup-content-wrapper {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0vw 4.267vw;
}

.regular-checkup-content-title-parent {
  border-bottom: 0.267vw solid #0288d1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0vw 2.133vw;
}

.regular-checkup-description-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 4vw;
  color: #000;
}

.regular-checkup-description-wrapper {
  align-self: stretch;
  border-radius: 2.133vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0vw 4.267vw;
}

.card-title-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.vdt-card-description,
.health-management-attempt-title {
  align-self: stretch;
  position: relative;
  line-height: 180%;
}

.regular-checkup-description-wrapper2 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0vw 4.267vw;
}

.health-data-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0vw 4.267vw;
  gap: 8px;
  flex-shrink: 0;
  font-size: 3.2vw;
}

.health-data-icon {
  align-self: stretch;
  position: relative;
  max-width: 100%;
  overflow: hidden;
  max-height: 100%;
  object-fit: cover;
}

.health-data-title {
  position: relative;
  line-height: 180%;
}

.mental-health-care-icon-parent {
  align-self: stretch;
  height: 62.4vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.mental-health-care-icon {
  width: 89.2vw;
  height: 66.4vw;
  position: relative;
  object-fit: contain;
}

.mental-health-care-title {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  padding: 0vw 4.267vw;
}

.mental-health-care-frame {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.polka-dot-frame2 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  color: #1a1c21;
}

.polka-dot-wrapper2 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.polka-dot-child2 {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.polka-dot-icon2 {
  height: 7.733vw;
  width: 2.133vw;
}

.caution {
  align-self: stretch;
  position: relative;
  font-size: 3.2vw;
  line-height: 180%;
  color: #000;
}

.relaxation-frame {
  align-self: stretch;
  border-radius: 2.4vw;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0vw 0vw 6.4vw;
}

.relaxation-container {
  align-self: stretch;
  border-radius: 4.267vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.relaxation-icon {
  width: 100%;
  height: 62.4vw;
  position: relative;
  object-fit: contain;
}

.relaxation-title-parent {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 0vw 4.267vw;
}

.relaxation-title {
  position: relative;
  line-height: 180%;
}

.relaxation-content {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  padding: 0vw 4.267vw;
  font-size: 4vw;
}

.button-secondary {
  width: 80vw;
  border-radius: 26.667vw;
  background-color: #fff;
  border: 2px solid #a0d8ec;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0vw 7.467vw;
  position: relative;
  isolation: isolate;
  gap: 10px;
  color: #0288d1;
  font-family: Inter;
  top: 20vw;
}

.button-txt {
  position: relative;
  letter-spacing: 0.12em;
  line-height: 14.933vw;
  font-weight: 800;
  z-index: 0;
  flex-shrink: 0;
  font-family: "Noto Sans JP";
}

.adobe-pdf-icon3 {
  font-size: 1vw;
}

.next-blue-icon {
  height: 4.267vw;
  width: 4.267vw;
  position: absolute;
  margin: 0 !important;
  top: 5.6vw;
  left: 70.4vw;
  z-index: 1;
  flex-shrink: 0;
}

.health-mesures-connection-frame {
  align-self: stretch;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 21.333vw 6.4vw;
  gap: 16px;
}

.adobe-pdf-icon4{
  width: 4vw;
  height: 4vw;
  position: relative;
  top: 1.5vw;
  left: 1.5vw;
}

.regular-checkup-container {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  border-radius: 2vw;
}

.health-mesures-connection-wrapper {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 4vw;
  color: #000;
}

.health-mesures-connection-adobe-frame {
  align-self: stretch;
  border-bottom: 0.267vw solid #dbdee3;
  display: flex;
  align-items: center;
  padding: 6.4vw 4.267vw;
  gap: 16px;
  font-size: 4.267vw;
}

.pdf-next-blue-icon {
  width: 2.133vw;
  position: relative;
  max-height: 100%;
}

.adobe-pdf-title {
  position: relative;
  line-height: 150%;
}

.adobe-pdf-icon {
  width: 4.267vw;
  position: relative;
  max-height: 100%;
  object-fit: cover;
}

.health-management-attempt-frame {
  align-self: stretch;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 21.333vw 6.4vw;
  gap: 48px;
}

.health-management-attempt-wrapper {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  font-size: 4.8vw;
}

.health-management-attempt-title-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.health-management-attempt-title-description {
  align-self: stretch;
  position: relative;
  font-size: 4vw;
  line-height: 180%;
}

.mental-health-care-list {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 4vw;
}

.health-management-attempt-pdf-parent {
  align-self: stretch;
  border-bottom: 0.267vw solid #dbdee3;
  display: flex;
  align-items: flex-start;
  padding: 6.4vw 0vw;
  gap: 10px;
  width: 85vw;
}

.adobe-pdf-icon2 {
  height: 7.2vw;
  width: 2.133vw;
}

.adobe-pdf-icon-parent {
  height: 7.2vw;
  display: flex;
  align-items: center;
}

.adobe-pdf-icon3 {
  position: relative;
  object-fit: cover;
  top: 0vw;
  left: 16vw;
  width: 4vw;
}

.adobe-pdf-title2{
  font-size: 4vw;
}

.adobe-reader-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 16px;
  font-size: 3.2vw;
  color: #6b7075;
}

.span {
  text-decoration: underline;
}

.mask-icon-frame{
  position: relative;
  overflow: hidden;
  border-radius: 1.111vw;
}

.mask-icon {
  width: 100%;
  height: 61.485vw;
  top: 35vw;
  left: 68vw;
  position: absolute;
  filter: blur(200px);
  border-radius: 50%;
  background-color: #b6fed7;
  transform:  rotate(167.6deg);
  transform-origin: 0 0;
  mix-blend-mode: hard-light;
}

.mask-icon2{
  width: 100%;
  height: 61.485vw;
  position: absolute;
  top: 15vw;
  right: 10vw;
  filter: blur(200px);
  border-radius: 50%;
  background-color: #BCD9D1;
  transform: rotate(210.6deg);
  transform-origin: 0 0;
  mix-blend-mode: hard-light;
}

.button-secondary {
  margin-top: 2.083vw;
  display: inline-flex;
  align-items: center;
  gap: 1.667vw;
  padding: 0 4.167vw;
  height: 10vw;
  min-width: 46.667vw;
  border-radius: 20.833vw;
  border: 0.278vw solid;
  background-color: #fff;
  box-shadow: 0 1.389vw 2.778vw rgba(2, 136, 209, 0.12);
  font-size: 3.611vw;
}


.button-secondary {
  border-radius: 5.208vw;
  background-color: #fff;
  border: 2px solid;
  border-image: linear-gradient(269.19deg, #a0d8ec, #0288d1 28.04%, #004fc5);
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 1vw 1.042vw;
  min-width: 30.625vw;
  text-align: center;
  font-size: 2.833vw;
}

.button-secondary {
  margin-top: 2.083vw;
  display: inline-flex;
  align-items: center;
  gap: 1.667vw;
 
  height: 15vw;
  min-width: 46.667vw;
  padding: 0 4.167vw;
 
  border-radius: 20.833vw;          /* 角丸そのまま */
  border: 0.578vw solid transparent; /* “枠線幅”だけ確保 */
 
  /* 中は白、枠だけグラデ */
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(269.19deg, #a0d8ec, #0288d1 28.04%, #004fc5) border-box;
 
  box-shadow: 0 1.389vw 2.778vw rgba(2, 136, 209, 0.12);
}

.button-secondary .button-txt{
  font-size: 4vw;
}


.frame-parent12 .button-secondary .icnext16px-icon2 {
  width: 3.333vw;
  height: 3.333vw;
  margin: 0;
}

.frame-parent12 .button-secondary {
  width: 50vw;
  transform: scale(1.5);
}

.news-parent-wrapper .button-secondary{
  width: 50vw;
  transform: scale(1.5);
  transform-origin: center;
  position: relative;
  left: 15vw;
}

.adobe-reader {
  color: #005bac;
}

.pdf-link{
  display: flex;
  gap: 16px;
  overflow: visible;
}

.adobe-acrobat-reader-icon {
  width: 42.133vw;
  position: relative;
  max-height: 100%;
  object-fit: cover;
  cursor: pointer;
}
