/* ==========================================================================
Sustainability Common Base (All Pages)
========================================================================== */
main {
 margin-bottom: 60px;
}

main section {
 margin-top: 60px;
}

main section:first-child,
main section.section_mt0 {
 margin-top: 0;
}

main h2 {
 font-size: 2.6rem;
 padding-bottom: 40px;
 text-align: center;
}

main h3 {
 font-size: 2rem;
 padding-bottom: 20px;
 text-align: center;
}

@media screen and (max-width: 1023px) {
 main {
  margin-bottom: 0;
 }

 main section {
  margin-top: 60px;
 }

 main h2 {
  font-size: 2rem;
  padding-bottom: 25px;
 }

 main h3 {
  font-size: 1.8rem;
  padding-bottom: 12px;
 }
}

/* ==========================================================================
Components: 人的資本経営 (Human Capital Management)
========================================================================== */
.sustainability_policy_list {
 list-style: none;
 margin: 0;
 padding: 0;
}

.sustainability_policy_list li {
 align-items: flex-start;
 display: flex;
 margin-bottom: 32px;
 position: relative;
}

.sustainability_policy_list li::before {
 background-image: url("/assets/sustainability/images/index/beyond-concept-icon.svg");
 background-position: center top;
 background-repeat: no-repeat;
 background-size: contain;
 content: "";
 display: inline-block;
 flex-shrink: 0;
 height: 48px;
 margin-right: 20px;
 width: 48px;
}

.sustainability_policy_list h4 {
 font-size: 2rem;
 font-weight: bold;
 margin: 0 0 8px 0;
}

.sustainability_policy_list p {
 line-height: 1.6;
 margin: 0;
}

.sustainability_funwork h2 {
 padding-bottom: 30px;
 text-align: center;
}

.sustainability_funwork h2 img {
 height: auto;
 object-fit: contain;
 vertical-align: bottom;
 width: clamp(140px, 13.5vw, 172.6px);
}

.sustainability_funwork_lead {
 font-size: 1.8rem;
 font-weight: bold;
 line-height: 1.6;
 margin-bottom: 40px;
 text-align: center;
}

.table_spframe {
 display: block;
 margin-bottom: 30px;
 width: 100%;
}

main.worklifebalance.top .table_spframe {
 margin: 40px 0 100px;
}

.cont_table.healthcare_table01 {
 border-collapse: collapse;
 width: 100%;
}

.cont_table.healthcare_table01 th,
.cont_table.healthcare_table01 td {
 border: 1px solid #fff;
 box-sizing: border-box;
 font-size: 1.4rem;
 padding: 15px 20px;
 vertical-align: middle;
}

.cont_table.healthcare_table01 thead th,
.cont_table.healthcare_table01 td {
 text-align: center;
}

.cont_table.healthcare_table01 th {
 background-color: #0050a0;
 color: #fff;
 font-weight: bold;
 white-space: nowrap;
}

.cont_table.healthcare_table01 tbody th {
 text-align: left;
 width: 220px;
}

.cont_table.healthcare_table01 td {
 background-color: #f3f6f8;
 color: #333;
 font-weight: bold;
}

.cont_table.healthcare_table01 td.font_blue {
 background-color: #d9e7ff;
 color: #0050a0;
}

.cont_table.healthcare_table01 td ul {
 list-style: none;
 margin: 0;
 padding: 0;
}

.cont_table.left td {
 background-color: #f3f6f8;
 color: #333;
 font-weight: normal;
 text-align: left;
}

.sustainability_funwork dl.blue {
 background-color: #0050a0;
 box-sizing: border-box;
 color: #fff;
 display: block;
 margin-bottom: 20px;
 padding: 40px 20px;
 text-align: center;
 width: 100%;
}

.sustainability_funwork dl.blue dt {
 font-size: 2.4rem;
 font-weight: bold;
 line-height: 1.3;
 margin-bottom: 16px;
}

.sustainability_funwork dl.blue dd {
 font-size: 1.6rem;
 font-weight: bold;
 line-height: 1.6;
}

main section.sustainability_toplink {
 margin-top: 120px;
}

.sustainability_indexlist {
 display: flex;
 flex-wrap: wrap;
 gap: 40px 32px;
 list-style: none;
 margin: 0;
 padding: 0;
}

.sustainability_indexlist li {
 margin: 0;
 width: calc(33.333% - 22px);
}

.sustainability_indexlist li a {
 display: block;
 text-decoration: none;
}

.sustainability_indexlist li figure {
 aspect-ratio: 16 / 10;
 margin: 0;
 overflow: hidden;
 padding: 0;
}

.sustainability_indexlist li img {
 display: block;
 height: 100%;
 object-fit: cover;
 width: 100%;
}

.sustainability_indexlist .sustainability_indexlist_read h2 {
 color: #0050a0;
 font-size: 1.8rem;
 font-weight: bold;
 margin: 0;
 padding: 15px 0 0 0;
 text-align: center;
}

@media screen and (min-width: 1024px) {
 .sustainability_framework figure {
  margin: auto;
  width: 80%;
 }
}

@media screen and (max-width: 1023px) {
 .sustainability_policy_list li {
  align-items: center;
  flex-direction: column;
  text-align: center;
 }

 .sustainability_policy_list li::before {
  margin-bottom: 15px;
  margin-right: 0;
 }

 .sustainability_funwork_lead {
  font-size: 1.6rem;
  margin-bottom: 30px;
  text-align: left;
 }

 .table_spframe {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
 }

 .cont_table.healthcare_table01 {
  min-width: 800px;
 }

 .cont_table.healthcare_table01 tbody th {
  width: 160px;
 }

 .sustainability_funwork dl.blue {
  padding: 30px 20px;
 }

 .sustainability_funwork dl.blue dt {
  font-size: 1.8rem;
 }

 .sustainability_funwork dl.blue dd {
  font-size: 1.4rem;
  text-align: left;
 }

 .sustainability_funwork dl.blue dd br {
  display: none;
 }

 main section.sustainability_toplink {
  margin-top: 80px;
 }

 .sustainability_indexlist {
  gap: 30px;
 }

 .sustainability_indexlist li {
  width: 100%;
 }

 .sustainability_indexlist li+li {
  margin-top: 0;
 }

 .sustainability_indexlist li a {
  align-items: flex-start;
  display: flex;
  gap: 15px;
 }

 .sustainability_indexlist li figure {
  aspect-ratio: 4 / 3;
  flex-shrink: 0;
 }

 .sustainability_indexlist .sustainability_indexlist_read {
  flex-grow: 1;
 }

 .sustainability_indexlist .sustainability_indexlist_read h2 {
  font-size: 1.6rem;
  padding: 0;
  text-align: left;
 }
}

/* ==========================================================================
Components: 人事制度 (Personnel System)
========================================================================== */
.sustainability_concept {
 margin-top: 0;
}

.sustainability_concept h2 {
 padding-bottom: 15px;
}

.concept_sub {
 font-size: 2rem;
 font-weight: bold;
 line-height: 1.4;
 margin: 0 0 50px 0;
 text-align: center;
}

.concept_sub em {
 color: #0050a0;
 font-style: normal;
}

.personnel_concept_list {
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
 justify-content: center;
 list-style: none;
 margin: 0 auto;
 max-width: 800px;
 padding: 0;
}

.personnel_concept_list li {
 align-items: center;
 background-color: #f3f6f8;
 border-radius: 4px;
 box-sizing: border-box;
 display: flex;
 flex-direction: column;
 padding: 48px 24px 24px;
 position: relative;
 text-align: center;
 width: calc(33.333% - 13.4px);
}

.personnel_concept_list li::before {
 background-image: url("/assets/sustainability/images/index/beyond-concept-icon.svg");
 background-position: center top;
 background-repeat: no-repeat;
 background-size: contain;
 content: "";
 display: block;
 height: 48px;
 left: 50%;
 position: absolute;
 top: -24px;
 transform: translateX(-50%);
 width: 48px;
 z-index: 1;
}

.concept_box {
 flex-grow: 1;
 width: 100%;
}

.concept_box h4 {
 color: #0050a0;
 font-size: 1.8rem;
 font-weight: bold;
 line-height: 1.4;
 margin: 0 0 10px 0;
 min-height: 5rem;
}

.concept_box p {
 color: #333;
 font-size: 1.4rem;
 line-height: 1.6;
 margin: 0;
 padding: 0 8px;
 text-align: left;
}

.section_read {
 font-size: 1.8rem;
 line-height: 1.6;
 margin: 0 auto 40px;
 max-width: 800px;
}

.careerpath_image {
 margin: 0 auto;
 max-width: 800px;
 padding: 0;
 text-align: center;
}

.careerpath_image img {
 border: 1px solid #d4e0eb;
 box-sizing: border-box;
 height: auto;
 max-width: 100%;
}

.sustainability_careerownership {
 background-color: #f9f9fc;
 margin-top: 50px;
 padding-bottom: 50px;
 padding-top: 50px;
}

.ido_system_block {
 margin: 40px auto 0;
 max-width: 800px;
}

.ido_system_block h3 {
 font-size: 2.2rem;
 font-weight: bold;
 margin: 0 0 30px 0;
 text-align: center;
}

.ido_system_list {
 display: flex;
 gap: 20px;
 list-style: none;
 margin: 0;
 padding: 0;
}

.ido_system_list li {
 background-color: #fff;
 border: 1px solid #d4e0eb;
 box-sizing: border-box;
 margin: 0;
 padding: 30px;
 width: calc(50% - 10px);
}

.ido_system_list li h4 {
 color: #0050a0;
 font-size: 1.8rem;
 font-weight: bold;
 margin: 0 0 8px 0;
 text-align: center;
}

.ido_system_list li p {
 font-size: 1.4rem;
 line-height: 1.6;
 margin: 0;
 text-align: left;
}

.sustainability_rewardsystem {
 margin: 50px auto 0;
}

.rewardsystem_flex {
 display: flex;
 gap: 40px;
 margin: auto;
 max-width: 800px;
}

.rewardsystem_text {
 flex-grow: 1;
}

.rewardsystem_text p {
 line-height: 1.6;
 margin: 0;
}

.rewardsystem_image {
 flex-shrink: 0;
 margin: 0;
 padding: 0;
 width: 300px;
}

.rewardsystem_image img {
 height: auto;
 width: 100%;
}

@media screen and (max-width: 1023px) {
 .sustainability_personnel-system {
  margin: 0 20px;
 }

 .sustainability_concept h2 {
  padding-bottom: 0;
 }

 .concept_sub {
  font-size: 1.8rem;
  margin-bottom: 50px;
 }

 .personnel_concept_list {
  gap: 15px;
  max-width: none;
 }

 .personnel_concept_list li {
  margin-bottom: 20px;
  padding: 50px 24px 24px;
  width: 100%;
 }

 .personnel_concept_list li:last-child {
  margin-bottom: 0;
 }

 .personnel_concept_list li::before {
  margin: 0 auto 15px auto;
 }

 .concept_box p {
  text-align: left;
 }

 .concept_icon,
 .concept_icon_float {
  margin-bottom: 10px;
 }

 .concept_icon_float {
  margin-bottom: 15px;
 }

 .section_read {
  font-size: 1.6rem;
 }

 .sustainability_careerownership {
  margin-left: -20px;
  margin-right: -20px;
  padding-left: 20px;
  padding-right: 20px;
 }

 .sustainability_careerpath p,
 .sustainability_careerownership p {
  font-size: 1.4rem;
  margin-bottom: 30px;
  text-align: left;
 }

 .ido_system_block {
  margin-top: 30px;
  padding-top: 30px;
 }

 .ido_system_block h3 {
  font-size: 1.8rem;
  margin-bottom: 20px;
 }

 .ido_system_list {
  flex-direction: column;
  gap: 15px;
 }

 .ido_system_list li {
  padding: 20px;
  width: 100%;
 }

 .ido_system_list li h4 {
  font-size: 1.6rem;
 }

 .ido_system_list li p {
  text-align: left;
 }

 .sustainability_rewardsystem {
  margin-bottom: 30px;
 }

 .rewardsystem_flex {
  align-items: center;
  flex-direction: column;
  gap: 20px;
 }

 .rewardsystem_text {
  order: 1;
 }

 .rewardsystem_image {
  max-width: 400px;
  order: 2;
  width: 100%;
 }
}

/* ==========================================================================
Components: 人財開発・組織開発 (development)
========================================================================== */
.sustainability_development_intro {
 margin-top: 0;
}

.sustainability_development_policy figure,
.sustainability_development_system figure,
.sustainability_self_produce figure {
 margin: 0 auto;
 max-width: 800px;
}

.sustainability_development_policy figure img,
.sustainability_development_system figure img {
 border: 1px solid #d4e0eb;
}

.efforts_nav {
 background-color: #f8fafc;
 border-radius: 4px;
 box-sizing: border-box;
 display: flex;
 justify-content: space-between;
 list-style: none;
 margin: 0 auto 24px;
 max-width: 800px;
 overflow: hidden;
 padding: 0;
}

.efforts_nav li {
 align-items: center;
 color: #475569;
 cursor: pointer;
 display: flex;
 flex: 1;
 font-size: 1.4rem;
 font-weight: bold;
 justify-content: center;
 padding: 20px 5px;
 position: relative;
 text-align: center;
 transition: all .3s;
}

.efforts_nav li.active {
 color: #001e43;
}

.efforts_nav li.active::after {
 background-color: #f9be02;
 bottom: 0;
 content: "";
 display: block;
 height: 4px;
 left: 0;
 position: absolute;
 width: 100%;
}

.efforts_item {
 align-items: flex-start;
 display: none;
 gap: 30px;
}

.efforts_item.is-active {
 animation: effortsFadeIn .6s ease forwards;
 display: flex;
}

@keyframes effortsFadeIn {
 from {
  opacity: 0;
  transform: translateY(10px);
 }

 to {
  opacity: 1;
  transform: translateY(0);
 }
}

.efforts_text {
 flex: 1;
}

.efforts_text h3 {
 border-left: 8px solid #f9be02;
 font-size: 2.3rem;
 line-height: 65px;
 margin-bottom: 24px;
 padding: 0 0 0 24px;
 text-align: left;
}

.efforts_text p {
 font-size: 1.8rem;
 font-weight: bold;
 margin-bottom: 30px;
}

.efforts_text ul {
 list-style: none;
 margin: 0;
 padding: 0;
}

.efforts_text ul li {
 font-size: 1.8rem;
 line-height: 1.6;
 margin-bottom: 8px;
 padding-left: 1.2em;
 position: relative;
}

.efforts_text ul li::before {
 content: "・";
 left: 0;
 position: absolute;
}

.efforts_image {
 flex-shrink: 0;
 margin: 0;
 width: 350px;
}

.efforts_image img {
 height: auto;
 width: 100%;
}

.efforts_contents {
 border: 1px solid #eee;
 border-radius: 10px;
 margin-bottom: 60px;
 padding: 40px;
}

main .sustainability_development_recruitment h3 {
 margin-bottom: 40px;
}

.recruitment_nav {
 display: flex;
 gap: 10px;
 justify-content: center;
 list-style: none;
 margin: 0 auto 10px;
 max-width: 900px;
 padding: 0;
}

.recruitment_nav li {
 background: #f4f7f9;
 border: 1px solid #e2e8f0;
 border-bottom: none;
 border-radius: 8px 8px 0 0;
 cursor: pointer;
 flex: 1;
 padding: 15px 5px;
 text-align: center;
 transition: all .3s;
}

.recruitment_nav li span {
 color: #475569;
 font-size: 1.4rem;
 font-weight: bold;
}

.recruitment_nav li.active {
 background: #fff;
 border-color: #0050a0;
 border-width: 1px 1px 0 1px;
 position: relative;
 z-index: 2;
}

.recruitment_nav li.active span {
 color: #0050a0;
}

.recruitment_contents {
 background: #fff;
 border: 1px solid #e2e8f0;
 border-radius: 0 0 8px 8px;
 border-top: 4px solid #0050a0;
 box-shadow: 0 4px 12px rgba(0, 0, 0, .03);
 margin-bottom: 60px;
 min-height: 250px;
 padding: 50px 40px;
}

.recruitment_item {
 display: none;
 opacity: 0;
}

.recruitment_item.is-active {
 animation: recruitmentFadeIn .5s ease forwards;
 display: block;
}

@keyframes recruitmentFadeIn {
 from {
  opacity: 0;
  transform: translateY(10px);
 }

 to {
  opacity: 1;
  transform: translateY(0);
 }
}

.recruitment_lead {
 color: #333;
 font-size: 1.8rem;
 font-weight: bold;
 margin-bottom: 40px;
 text-align: center;
}

.recruitment_list {
 list-style: none;
 margin: 0 auto;
 max-width: 600px;
 padding: 0;
}

.recruitment_list li {
 font-size: 1.6rem;
 font-weight: normal;
 line-height: 1.8;
 margin-bottom: 10px;
 padding-left: 1.5em;
 position: relative;
}

.recruitment_list li::before {
 content: "・";
 font-weight: bold;
 left: 0;
 position: absolute;
}

.recruitment_btn_wrap {
 display: flex;
 gap: 24px;
 justify-content: center;
 margin: 40px auto 60px;
 max-width: 800px;
}

.btn_recruitment {
 align-items: center;
 border-radius: 64px;
 box-sizing: border-box;
 display: flex;
 font-size: 1.6rem;
 font-weight: bold;
 height: 64px;
 justify-content: center;
 text-decoration: none;
 transition: all .3s ease;
 width: 300px;
}

.btn_fresh {
 background-color: #0050a0;
 border: 2px solid #0050a0;
 color: #fff !important;
}

.btn_fresh:hover {
 background-color: #fff;
 color: #0050a0 !important;
}

.btn_career {
 background-color: #f9be02;
 border: 2px solid #f9be02;
 color: #001e43 !important;
}

.btn_career:hover {
 background-color: #fff;
 color: #f9be02 !important;
}

.alumni_box {
 background-color: #fff;
 border: 1px solid #e2e8f0;
 border-radius: 8px;
 box-shadow: 0 4px 20px rgba(0, 0, 0, .05);
 box-sizing: border-box;
 margin: 0 auto 40px;
 max-width: 900px;
 padding: 50px 60px;
}

.alumni_box h3 {
 font-size: 2.2rem;
 font-weight: bold;
 margin: 0 0 10px 0;
 padding: 0;
 text-align: center;
}

.alumni_box_ruby {
 color: #64748b;
 font-size: 1.3rem;
 line-height: 1.4;
 margin-bottom: 30px;
 text-align: center;
}

.alumni_box p {
 font-size: 1.5rem;
 line-height: 1.8;
 margin-bottom: 30px;
}

.alumni_value h4 {
 font-size: 1.6rem;
 font-weight: bold;
 margin-bottom: 15px;
}

.alumni_value ol {
 list-style: none;
 margin: 0;
 padding: 0;
}

.alumni_value ol li {
 font-size: 1.5rem;
 line-height: 1.8;
 margin-bottom: 12px;
}

.alumni_value ol li span {
 font-weight: bold;
}

.alumni_cta {
 text-align: center;
}

.alumni_cta p {
 font-size: 1.6rem;
 font-weight: bold;
 margin-bottom: 24px;
}

.alumni_cta .btn_recruitment {
 margin: 0 auto;
}

.sustainability_development_framework {
 margin: auto;
 max-width: 1120px;
}

@media screen and (max-width: 1023px) {
 .sustainability_development {
  margin: 0 20px;
 }

 .efforts_nav {
  border-radius: 2px;
  margin-bottom: 40px;
 }

 .efforts_nav li {
  font-size: 1.2rem;
  line-height: 1.3;
  min-height: 50px;
  padding: 15px 8px;
 }

 .efforts_nav li.active::after {
  height: 3px;
 }

 .efforts_item {
  gap: 0;
 }

 .efforts_item.is-active {
  flex-direction: column;
 }

 .efforts_image {
  margin: 20px auto 0;
  order: 2;
  width: 240px;
 }

 .efforts_text {
  order: 1;
 }

 .efforts_text h3 {
  border-width: 5px;
  font-size: 2rem;
  line-height: 30px;
  padding-left: 8px;
 }

 .efforts_text p,
 .efforts_text ul {
  margin-bottom: 16px;
 }

 .efforts_text p,
 .efforts_text ul li {
  font-size: 1.6rem;
 }

 .efforts_contents {
  border-radius: 5px;
  padding: 20px;
 }

 .recruitment_nav {
  flex-wrap: wrap;
  gap: 5px;
 }

 .recruitment_nav li {
  border-bottom: 1px solid #e2e8f0;
  border-radius: 4px;
  flex: none;
  padding: 10px 5px;
  width: calc(50% - 3px);
 }

 .recruitment_nav li.active {
  border-bottom: 1px solid #0050a0;
 }

 .recruitment_contents {
  margin-bottom: 30px;
  margin-top: 15px;
  padding: 30px 20px;
 }

 .recruitment_lead {
  font-size: 1.5rem;
  text-align: left;
 }

 .recruitment_list li {
  font-size: 1.4rem;
 }

 .recruitment_btn_wrap {
  align-items: center;
  flex-direction: column;
  gap: 16px;
  margin: 30px auto 50px;
 }

 .btn_recruitment {
  font-size: 1.5rem;
  height: 56px;
  max-width: 340px;
  width: 100%;
 }

 .alumni_box {
  padding: 30px 20px;
 }

 .alumni_box h3 {
  font-size: 1.8rem;
 }

 .alumni_box_ruby {
  font-size: 1.2rem;
  margin-bottom: 20px;
 }

 .alumni_box p,
 .alumni_value ol li {
  font-size: 1.4rem;
  text-align: left;
 }

 .alumni_cta p {
  font-size: 1.4rem;
 }
}

/* ==========================================================================
Components: 両立支援の取り組み (Healthcare Managemement)
========================================================================== */
main.worklifebalance {
 margin-bottom: 0;
 padding-bottom: 60px;
}

main.worklifebalance.top {
 padding-bottom: 0;
}

.worklifebalance_topread {
 margin-top: 0;
}

.worklifebalance_about_work-life-balance {
 background-color: #e2fafc;
 padding: 60px 0;
}

.worklifebalance_about_work-life-balance .worklifebalance_detail {
 margin: 0 auto;
 padding: 0 20px;
 width: 920px;
}

.worklifebalance_about_work-life-balance li {
 padding-top: 45px;
}

main section.worklifebalance_about_family-care,
main section.worklifebalance_about_work-life-balance {
 margin: 0;
}

main h2.armg_detail_title {
 padding: 0;
}

.worklifebalance_topread_nav_list {
 display: flex;
 gap: 15px;
 justify-content: space-between;
 list-style: none;
 margin-top: 40px;
 padding: 0;
}

.worklifebalance_topread_nav_list li {
 flex: 1;
 padding: 0;
}

.worklifebalance_topread_nav_list li a {
 aspect-ratio: 400 / 180;
 display: block;
 overflow: hidden;
 position: relative;
 text-decoration: none;
}

.worklifebalance_topread_nav_list li img {
 display: block;
 height: 100%;
 object-fit: cover;
 transition: transform .3s ease;
 width: 100%;
}

.worklifebalance_topread_nav_list li a:hover img {
 transform: scale(1.05);
}

.worklifebalance_topread_nav_list strong {
 color: #fff;
 font-size: 2rem;
 font-weight: bold;
 inset: auto;
 pointer-events: none;
 position: absolute;
 text-shadow: 0 0 8px rgba(0, 0, 0, .4);
 white-space: nowrap;
}

.worklifebalance_topread_nav_treatment strong {
 bottom: 18px !important;
 left: 15px !important;
}

.worklifebalance_topread_nav_list strong::after {
 background-color: #fff;
 content: "";
 display: block;
 height: 2px;
 margin-top: 4px;
 width: 100%;
}

@media screen and (min-width: 1024px) {
 .worklifebalance_about_work-life-balance ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
 }
}

.worklifebalance_about_work-life-balance li a {
 display: block;
 position: relative;
}

.worklifebalance_about_work-life-balance li strong {
 background-color: rgba(255, 255, 255, .75);
 border-radius: 20px 20px 0 0;
 font-size: 2.2rem;
 font-weight: bold;
 line-height: 1;
 padding: 20px;
 position: absolute;
 text-align: center;
 width: 100%;
 z-index: 2;
}

.worklifebalance_about_work-life-balance li img {
 border-radius: 20px;
}

@media screen and (max-width: 1023px) {
 .worklifebalance_about_work-life-balance {
  padding: 30px 0;
 }

 .worklifebalance_about_work-life-balance .worklifebalance_detail {
  width: 100%;
 }

 .worklifebalance .cont_txt {
  margin-bottom: 24px;
 }

 .worklifebalance_about_work-life-balance ul li+li,
 .worklifebalance_about_work-life-balance li {
  padding-top: 20px;
 }

 .worklifebalance_about_work-life-balance li strong {
  font-size: 1.6rem;
 }

 .worklifebalance_topread_nav_list {
  flex-direction: column;
  gap: 10px;
 }

 .worklifebalance_topread_nav_list li a {
  aspect-ratio: auto;
  height: 120px;
 }

 .armg_detail_title {
  font-size: 2rem;
 }
}

#return-to-work {
 margin-top: 60px;
}

/* --- Accordion --- */
.accordion_wrap {
 display: flex;
 flex-direction: column;
 gap: 15px;
 margin-bottom: 30px;
}

.accordion_item {
 border: 1px solid #0050a0;
 border-radius: 4px;
 overflow: hidden;
}

.accordion_title {
 align-items: center;
 background-color: #f3f6f8;
 color: #0050a0;
 cursor: pointer;
 display: flex;
 font-size: 1.8rem;
 font-weight: bold;
 justify-content: space-between;
 padding: 20px;
 position: relative;
 transition: background-color .3s, color .3s;
}

.accordion_title::-webkit-details-marker {
 display: none;
}

.accordion_title::after {
 border-bottom: 2px solid #0050a0;
 border-right: 2px solid #0050a0;
 content: "";
 display: block;
 height: 10px;
 transform: rotate(45deg);
 transition: transform .3s;
 width: 10px;
}

.accordion_item[open] .accordion_title {
 background-color: #d9e7ff;
 border-bottom: 1px solid #0050a0;
}

.accordion_item[open] .accordion_title::after {
 transform: translateY(4px) rotate(-135deg);
}

.accordion_item .table_spframe {
 margin-bottom: 0;
}

/* --- Tables --- */
.cont_table.healthcare_table02 {
 border-collapse: collapse;
 margin: 0;
 width: 100%;
}

@media screen and (min-width: 1024px) {
 .cont_table.healthcare_table02 tr {
  border-top: none;
 }

 .cont_table.healthcare_table02 tr:last-child {
  border-bottom: none;
 }
}

.cont_table.healthcare_table02 th,
.cont_table.healthcare_table02 td {
 border: 1px solid #fff;
 box-sizing: border-box;
 font-size: 1.4rem;
 padding: 15px 20px;
 vertical-align: middle;
}

.cont_table.healthcare_table02 thead th,
.cont_table.healthcare_table02 tbody th.cont_table_item {
 background-color: #0050a0;
 color: #fff;
 font-weight: bold;
 text-align: center;
}

.cont_table.healthcare_table02 tbody th.cont_table_item {
 width: 280px;
}

.cont_table.healthcare_table02 tr.category_row th {
 background-color: #d9e7ff;
 color: #0050a0;
 font-weight: bold;
 text-align: center;
}

.cont_table.healthcare_table02 td {
 background-color: #f3f6f8;
 color: #333;
 font-weight: normal;
 text-align: left;
}

.cont_table.healthcare_table02 tbody tr:not(.category_row):nth-of-type(odd) td {
 background-color: #fff;
}

@media screen and (max-width: 1023px) {
 .cont_table.healthcare_table02 {
  min-width: 800px;
 }

 .cont_table.healthcare_table02 tbody th.cont_table_item {
  width: 200px;
 }
}

.cont_table.support_grid_table {
 border-collapse: collapse;
 width: 100%;
}

.cont_table.support_grid_table th,
.cont_table.support_grid_table td {
 border: 1px solid #fff;
 box-sizing: border-box;
 padding: 20px;
 vertical-align: middle;
}

.cont_table.support_grid_table th.support_header {
 background-color: #0050a0;
 color: #fff;
 font-weight: bold;
 text-align: left;
 width: 250px;
}

.cont_table.support_grid_table td.support_content {
 background-color: #f3f6f8;
 color: #333;
 font-weight: normal;
 line-height: 1.6;
 text-align: left;
}

.cont_table.support_grid_table td.support_logo {
 background-color: #f3f6f8;
 text-align: center;
 width: 250px;
}

.cont_table.support_grid_table td.support_logo img {
 display: block;
 height: auto;
 margin: 0 auto;
 max-width: 180px;
 width: 100%;
}

@media screen and (max-width: 1023px) {

 .cont_table.support_grid_table,
 .cont_table.support_grid_table tbody,
 .cont_table.support_grid_table tr,
 .cont_table.support_grid_table th,
 .cont_table.support_grid_table td {
  box-sizing: border-box;
  display: block;
  width: 100% !important;
 }

 .cont_table.support_grid_table tr:last-child {
  margin-bottom: 0;
 }

 .cont_table.support_grid_table th.support_header {
  border: 1px solid #fff;
  border-bottom: none;
 }

 .cont_table.support_grid_table td.support_content {
  border: 1px solid #fff;
  border-bottom: none;
 }

 .cont_table.support_grid_table td.support_logo {
  border: 1px solid #fff;
  padding: 15px 20px;
 }
}

/* ==========================================================================
Components: アドバンテッジリスクマネジメントグループのDE&I ( DEI)
========================================================================== */
.diversity-equity-inclusion_topread {
 margin: 0;
}

.diversity-equity-inclusion_topread_intro {
 align-items: flex-start;
 display: flex;
 flex-direction: row-reverse;
 gap: 40px;
 margin-top: 50px;
}

.diversity-equity-inclusion_topread_intro figure {
 flex-shrink: 0;
}

.diversity-equity-inclusion_topread_intro figure img {
 height: auto;
 max-width: 100%;
}

.diversity-equity-inclusion_topread_intro_read ul {
 list-style: none;
 margin: 16px 0 16px 25px;
 padding: 0;
}

.diversity-equity-inclusion_topread_intro_read ul li {
 line-height: 1.6;
 margin-bottom: 8px;
 position: relative;
}

.diversity-equity-inclusion_topread_read ul li {
 margin-bottom: 8px;
}

@media screen and (max-width: 768px) {
 .diversity-equity-inclusion_topread_intro {
  flex-direction: column;
  gap: 20px;
 }
}

@media screen and (min-width: 1024px) {
 main h2.diversity-equity-inclusion {
  padding-bottom: 80px;
 }

 .diversity-equity-inclusion_topread_toptext {
  margin-top: 60px;
 }

 .diversity-equity-inclusion_about_hgroup h2 {
  padding-bottom: 30px;
 }

 .diversity-equity-inclusion_about_hgroup p {
  padding: 0;
 }

 .diversity-equity-inclusion_about_detail {
  padding-bottom: 100px;
 }

 .diversity-equity-inclusion_about_figure_head {
  padding: 30px 0;
 }

 .diversity-equity-inclusion_about_figure_body dt {
  min-height: initial;
 }

 .diversity-equity-inclusion_about_figure_body dd {
  padding: 16px;
 }

 .diversity-equity-inclusion_about_figure_body dd span {
  margin-bottom: 8px;
 }

 .diversity-equity-inclusion_about_figure_body .diversity-equity-inclusion_about_figure_body_box {
  padding-bottom: 0;
  width: calc(33% - 16px);
 }

 .diversity-equity-inclusion_topread_read {
  padding-top: 0;
 }

 .diversity-equity-inclusion_topread_column {
  align-items: start;
  column-gap: 40px;
  display: grid;
  grid-template-columns: 1fr 440px;
 }

 .diversity-equity-inclusion_topread_column figure img {
  height: auto;
  width: 100%;
 }

 .diversity-equity-inclusion_topread_column_read {
  display: contents;
 }

 .diversity-equity-inclusion_topread_column_read h3 {
  grid-column: 1 / -1;
  grid-row: 1;
 }

 .diversity-equity-inclusion_topread_column_read>p:first-of-type {
  grid-column: 1 / 2;
  grid-row: 2;
  margin-bottom: 20px;
 }

 .diversity-equity-inclusion_topread_column figure {
  grid-column: 2 / 3;
  grid-row: 2 / 4;
  margin: 0;
 }

 .diversity-equity-inclusion_topread_column:nth-of-type(3) .diversity-equity-inclusion_topread_column_read>p:first-of-type {
  grid-column: 1 / -1;
 }

 .diversity-equity-inclusion_topread_column:nth-of-type(3) figure {
  grid-row: 3 / 5;
 }

 .diversity-equity-inclusion_topread_column_read ul {
  grid-column: 1 / 2;
  grid-row: 3;
 }

 .diversity-equity-inclusion_topread_column_read ul~p {
  grid-column: 1 / 2;
  grid-row: 4;
 }
}

@media screen and (max-width: 1023px) {
 main.worklifebalance .diversity-equity-inclusion_topread_detail {
  padding-bottom: 0;
 }

 .diversity-equity-inclusion_about_hgroup h2 {
  padding-bottom: 20px;
 }

 main h2.diversity-equity-inclusion {
  padding-bottom: 0;
 }

 .diversity-equity-inclusion_about_hgroup p {
  padding: 0;
 }

 .diversity-equity-inclusion_about_figure_body .diversity-equity-inclusion_about_figure_body_box:last-child {
  padding-bottom: 0;
 }

 .diversity-equity-inclusion_topread_sectiontitle {
  padding-bottom: 0;
 }

 .diversity-equity-inclusion_topread_column figure {
  margin: 0 0 20px 0;
  width: 100%;
 }

 .diversity-equity-inclusion_topread_column figure img {
  height: auto;
  width: 100%;
 }
}

/* === Animation Override === */
.efforts_item.is-active,
.recruitment_item.is-active {
 animation: fadeInSoft .8s ease forwards;
}

@keyframes fadeInSoft {
 0% {
  opacity: 0;
 }

 100% {
  opacity: 1;
 }
}

/* === 黄色いラインのフェードイン上書き === */
.efforts_nav li::after {
 background-color: #f9be02;
 bottom: 0;
 content: "";
 display: block;
 height: 4px;
 left: 0;
 opacity: 0;
 position: absolute;
 transition: opacity .3s ease;
 width: 100%;
}

.efforts_nav li.active::after {
 opacity: 1;
}

@media screen and (max-width: 1023px) {
 .efforts_nav li::after {
  height: 3px;
 }
}