.health-management__diagram{
    list-style: none;
    max-width: var(--maxw-narrow);
    margin-inline: auto;
}
.health-management__strategy-map-table-wrapper{
    margin-top: var(--space-stack-xl);
}
@media screen and (min-width: 768px) {
    .health-management__strategy-map-table-wrapper{
        margin-top: var(--space-stack-lg);
    }
}
/* 推進体制の見出し・本文：SPのみ左寄せ（PCは中央揃えのまま） */
@media screen and (max-width: 767.98px) {
    .health-management__structure-text{
        text-align: left;
    }
    .health-management__certification-heading{
        text-align: center;
    }
    .health-management__certification-logo-wrapper{
        padding: 32rem;
    }
}
.health-management__diagram-step{
    text-align: center;
    background-color: var(--color-snow);
    padding: 16rem 20rem;
    border-radius: 12rem;
}
/* サイト内共通の矢印アイコンを流用（元画像は右向き）。SP/PCは縦積みなので下向きに回転 */
.health-management__diagram-arrow{
    width: 18rem;
    height: 8rem;
    background-image: url(../../img/icons/icon-arrow-right-black.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: rotate(90deg);
    align-self: center;
}
.health-management__table{
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: left;
}
.health-management__table-row{
    border-bottom: 1rem solid var(--color-fogstone);
    width: 100%;
    background-color: var(--color-mint);
}
.health-management__table-row:last-of-type{
    border-bottom: none;
}
.health-management__table-row--sub{
    background-color: var(--color-snow);
}
.health-management__table-heading{
    padding: 20rem 15rem;
    width: 25%;
}
.health-management__table-cell{
    padding: 20rem 15rem;
    vertical-align: middle;
}
.health-management__table-cell--category{
    text-align: center;
}

/* SP: テーブルをカード状に縦積みし、各セルに項目名を自動表示 */
.health-management__table thead{
    display: none;
}
.health-management__table,
.health-management__table tbody,
.health-management__table-row,
.health-management__table-cell{
    display: block;
    width: 100%;
}
.health-management__table-row{
    padding: 20rem 15rem;
}
.health-management__table-cell{
    padding: 10rem 0;
}
.health-management__table-cell::before{
    content: attr(data-label);
    display: block;
    font-size: var(--font-size-base);
    font-weight: var(--common-weight-lg);
    color: var(--color-raven);
    margin-bottom: 4rem;
}
.health-management__table-cell--category{
    padding: 10rem 15rem;
    background-color: var(--color-mint);
}
.health-management__intro-item{
    background-color: var(--color-snow);
    border-radius: 12rem;
    overflow: hidden;
    gap: 20rem;
}
.health-management__intro-image{
    border-radius: 12rem;
}
.health-management__intro-content{
    padding: 0 20rem calc(20rem + var(--space-stack-xs));
}
.health-management__intro-title{
    color: var(--color-forest);
}
/* liのマーカーをボックス内側に収め、左右のはみ出しを防ぐ */
.health-management__intro-list{
    list-style: none;
    padding-inline: 0;
}
.health-management__intro-list strong{
    font: var(--font-base);
    font-weight: var(--common-weight-lg);
}
.health-management__certification-item{
    display: flex;
    align-items: center;
    gap: 16rem;
    background-color: var(--color-snow);
    border-radius: 12rem;
    padding: 14rem 24rem;
}
.health-management__certification-year{
    flex-shrink: 0;
}
.health-management__certification-name{
    flex: 1 1 0%;
}
.health-management__certification-check{
    width: 16rem;
    height: 16rem;
    background-image: url(../../img/icons/icon-check-mark.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
}
.health-management__certification-logo{
    border-radius: 12rem;
    border: 1px solid var(--color-cloud);
    background-color: var(--color-snow);
}

@media screen and (min-width: 768px) {
    /* PC: テーブル表示に戻す */
    .health-management__table thead{
        display: table-header-group;
    }
    .health-management__table{
        display: table;
        table-layout: fixed;
    }
    .health-management__table tbody{
        display: table-row-group;
    }
    .health-management__table-row{
        display: table-row;
        padding: 0;
    }
    .health-management__table-heading{
        padding: 20rem 25rem;
    }
    .health-management__table-cell{
        display: table-cell;
        width: auto;
        padding: 20rem 25rem;
    }
    .health-management__table-cell--category{
        padding: 20rem 25rem;
        background-color: transparent;
    }
    .health-management__table-cell::before{
        content: none;
    }

    .health-management__diagram--narrow .health-management__diagram-step{
        padding: 16rem 50rem;
    }

    /* 認定実績：年度リストと認定ロゴ枠を左右分割（ロゴ側に明示的な幅を指定） */
    .health-management__certification-list{
        flex: 1 1 0%;
    }
    .health-management__certification-logo-wrapper{
        flex: 0 0 200rem;
    }
}

/* 戦略マップ：4ブロック横並びは960px〜（l-gridのPC3列化と同じ基準）。
   768pxだと4列に対して幅が足りず窮屈に見えるため、通常のPC判定より広い基準にしている */
@media screen and (min-width: 960px) {
    .health-management__diagram:not(.health-management__diagram--narrow){
        width: 100%;
        max-width: var(--maxw-content);
        flex-direction: row;
        align-items: stretch;
        gap: var(--space-stack-xxs);
    }
    .health-management__diagram:not(.health-management__diagram--narrow) .health-management__diagram-step{
        flex: 1 1 0%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }
    .health-management__diagram:not(.health-management__diagram--narrow) .health-management__diagram-arrow{
        flex: 0 0 auto;
        transform: rotate(0deg);
    }
}
