@charset "utf-8";


/* 「健診はチャンスです」
-------------------------------------------*/
.chanceBl {
    padding: 55px 0 0;
}

.chanceBl .inner567 {
    padding-bottom: 80px;
}

.chanceBl .txt-normal-l {
    margin-top: 33px;
}

.chanceBl .txt-normal-l+.btn-lightgreen {
    margin: 58px auto 30px;
    ;
}

/* 「続きを読む」中身 */
.card__body {
    position: relative;
}

.card__text {
    display: -webkit-box;
    -webkit-line-clamp: 8
        /* 制限する行数 */
    ;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 未展開時の下部を白のグラデーションで隠すオーバーレイ */
.card__fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3em
        /* 画面に合わせて調整 */
    ;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    pointer-events: none;
}

/* チェックされているときに、行数を全面表示へ切替 */
#readmore:checked~.card__body .card__text {
    -webkit-line-clamp: 9999;
    /* 実質的に全行表示 */
}

/* チェックされているときはグラデーションを非表示 */
#readmore:checked~.card__body .card__fade {
    display: none;
}

/* ボタン風のラベル。デフォルトは "続きを読む"、チェック時は "閉じる" に切替 */
.readmore-btn {
    display: block;
    margin: 10px auto 0;
    width: fit-content;
    padding: .2em 1em .3em;
    border: 1px solid #00aaaa;
    color: #00aaaa;
    border-radius: 9999px;
    background: #fff;
    cursor: pointer;
    user-select: none;
    transition: all .5s;
}

.readmore-btn:hover {
    color: #fff;
    background: #00aaaa;
}

.readmore-btn:after {
    content: "続きを読む";
}

/* チェック状態でボタン文言を「閉じる」に切替え */
#readmore:checked~.readmore-btn:after {
    content: "閉じる";
}


@media screen and (max-width: 767px) {

    .chanceBl {
        padding: 23px 0 0;
    }

    .chanceBl .inner567 {
        padding-bottom: 60px;
    }

    .chanceBl .txt-normal-l {
        margin-top: 20px;
    }

    .chanceBl .txt-normal-l+.btn-lightgreen {
        margin: 40px auto 30px;
    }

    .readmore-btn:hover {
        color: #00aaaa;
        background: #fff;
    }

    .card__text {
        -webkit-line-clamp: 9
            /* 制限する行数 */
        ;
    }

}


/* 「生涯健康のガイドライン創り」
-------------------------------------------*/
.gideLineBl {
    padding: 3px 0 56px;
}

.gideLineBl .tit-l {
    font-size: 3.0rem;
}

.gideLineBl .second-tit.line-green_no-icon {
    margin-top: 67px;
}

.gideLineBl .subtit+.txt-normal-l {
    letter-spacing: -.03em;
    line-height: 1.75;
}

.policies-ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 45px auto 0;
}

.policies-ul li {
    width: 30.2%;
    margin-right: 4.7%;
    box-sizing: border-box;
    display: block;
    border-radius: 5px;
    border: 1px solid #d7d7d7;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
}

.policies-ul li:nth-child(3),
.policies-ul li:nth-child(5) {
    margin-right: 0;
}

.policies-ul li:nth-child(n+4) {
    margin-top: 6.6%;
}

.policies_flame {
    display: block;
    padding: 2em 1.8em 2.5em;
}

.policies_tit {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .05em;
    text-align: center;
    color: #00aaaa;
    word-break: keep-all;
}

.policies_imgwrap {
    height: min(calc((84 / 1200) * 100vw), 84px);
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 17px;
}

.policies-ul li:nth-child(1) .policies_imgwrap img {
    height: min(calc((58 / 1200)* 100vw), 58px);
}

.policies-ul li:nth-child(2) .policies_imgwrap img {
    height: min(calc((68 / 1200)* 100vw), 68px);
}

.policies-ul li:nth-child(3) .policies_imgwrap img {
    height: min(calc((83 / 1200)* 100vw), 83px);
}

.policies-ul li:nth-child(4) .policies_imgwrap img {
    height: min(calc((76 / 1200)* 100vw), 76px);
}

.policies-ul li:nth-child(5) .policies_imgwrap img {
    height: min(calc((84 / 1200)* 100vw), 84px);
}

.policies_desc {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.57;
    letter-spacing: 0;
    margin-top: 13px;
}

.logoArea {
    margin: 72px auto 0;
}

.logoArea .line_gray {
    margin-left: -1%;
}

.logoArea .line_gray img {
    transform: rotate(180deg);
}

.logoArea_lr {
    overflow: hidden;
    margin: 50px auto 0;
}

.logoArea_imgwrap {
    width: 45.5%;
    box-sizing: border-box;
    float: left;
    margin-right: 10%;
    margin-bottom: 4%;
}

.logoArea_txtwrap {
    box-sizing: border-box;
}

.logoArea_txtwrap .txt-normal-l {
    line-height: 2;
}


@media screen and (max-width: 767px) {
    .gideLineBl {
        padding: 3px 0 20px;
    }

    .gideLineBl .inner995 {
        padding: 0;
    }

    .gideLineBl .tit-l {
        font-size: 2rem;
        text-align: center;
    }

    .gideLineBl .second-tit.line-green_no-icon {
        margin-top: 40px;
    }

    .policies-ul {
        display: block;
        margin: 30px auto 0;
    }

    .policies-ul li {
        width: auto;
        margin-right: 0;
    }

    .policies-ul li+li,
    .policies-ul li:nth-child(n+4) {
        margin-top: 20px;
    }

    .policies_flame {
        padding: 1em 20px 1em;
    }

    .policies_tit {
        font-size: 1.5rem;
        letter-spacing: 0.15em;
    }

    .policies_desc {
        font-size: 1.2rem;
        letter-spacing: 0;
        margin-top: 12px;
    }

    .policies_imgwrap {
        height: auto;
        margin-top: 15px;
    }

    .policies-ul li:nth-child(1) .policies_imgwrap img {
        height: 45.5px;
    }

    .policies-ul li:nth-child(2) .policies_imgwrap img {
        height: 44px;
    }

    .policies-ul li:nth-child(3) .policies_imgwrap img {
        height: 44px;
    }

    .policies-ul li:nth-child(4) .policies_imgwrap img {
        height: 52.5px;
    }

    .policies-ul li:nth-child(5) .policies_imgwrap img {
        height: 52px;
    }

    .logoArea {
        margin: 40px auto 0;
    }

    .logoArea .line_gray {
        margin-top: 23px;
        width: 97.4%;
    }

    .logoArea .line_gray img {
        transform: rotate(0deg);
    }

    .logoArea .inner790,
    .logoArea .inner965 {
        padding: 0;
    }

    .logoArea_lr {
        margin: 30px auto 0;
    }

    .logoArea_imgwrap {
        width: auto;
        float: none;
        margin-right: 0;
        margin-bottom: 0;
    }

    .logoArea_txtwrap {
        margin-top: 10px;
    }

    .logoArea_txtwrap .txt-normal-l {
        font-size: 1.2rem;
        line-height: 1.75;
        letter-spacing: 0.05em;
    }

}


/* 「認定実績」
-------------------------------------------*/
.certificeResultsBl {
    padding: 101px 0 100px;
    background: linear-gradient(180deg, rgba(251, 251, 251, 1) 0%, rgba(236, 236, 236, 1) 100%);
}

.certificeResults_inner {
    background-color: #fff;
    border-radius: 5px;
    border: 1px solid #d7d7d7;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
    position: relative;
    padding: 4% 0 4%;
}

.certificeResults_inner::before {
    content: '';
    display: block;
    width: 16.5em;
    height: 1px;
    background: rgba(234, 234, 234, 1);
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    margin: auto;
}

.certificeResults_tit {
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.3em;
    color: #00aaaa;
    position: absolute;
    left: 0;
    right: 0;
    top: -0.85em;
}

.certificeResults_ul {
    display: flex;
    justify-content: center;
}

.certificeResults_ul li {
    width: calc(100% / 3);
    box-sizing: border-box;
    position: relative;
    padding: 1.3% 4.5% 1.5%;
    border-right: 1px solid #d7d7d7;
}

.certificeResults_ul li:nth-child(3) {
    border-right: none;
}

.certificeResults_imgwrap {
    height: min(calc((123 / 1200)* 100vw), 123px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.certificeResults_imgwrap img {
    width: auto;
}

.certificeResults_ul li:nth-child(1) .certificeResults_imgwrap img {
    height: min(calc((111 / 1200) * 100vw), 111px);
}

.certificeResults_ul li:nth-child(2) .certificeResults_imgwrap img,
.certificeResults_ul li:nth-child(3) .certificeResults_imgwrap img {
    height: min(calc((123 / 1200)* 100vw), 123px);
}

.certificeResults_ul_tit {
    font-size: 1.6rem;
    line-height: 1.625;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.13em;
    color: #323232;
    margin-top: 1.4em;
    min-height: 3em;
    display: flex;
    justify-content: center;
    align-items: center;
    word-break: keep-all;
}

.certificeResults_desc {
    font-size: 1.4rem;
    line-height: 1.57;
    font-weight: 400;
    letter-spacing: 0.09em;
    margin-top: 11px;
}


@media screen and (max-width: 767px) {
    .certificeResultsBl {
        padding: 56px 0 50px;
    }

    .certificeResults_tit {
        font-size: 1.6rem;
        top: -0.8em;
    }

    .certificeResults_inner {
        padding: 10px 10px;
    }

    .certificeResults_ul {
        display: block;
    }

    .certificeResults_ul li {
        width: auto;
        padding: 25px 10px 28px;
        border-right: none;
        border-bottom: 1px solid #d7d7d7;
    }

    .certificeResults_ul li:nth-child(3) {
        border-bottom: none;
    }

    .certificeResults_imgwrap {
        height: auto;
    }

    .certificeResults_ul li:nth-child(1) .certificeResults_imgwrap img {
        height: 100px;
    }

    .certificeResults_ul li:nth-child(2) .certificeResults_imgwrap img {
        height: 100px;
    }

    .certificeResults_ul li:nth-child(3) .certificeResults_imgwrap img {
        height: 100px;
    }

    .certificeResults_ul li:nth-child(4) .certificeResults_imgwrap img {
        height: 125px;
    }

    .certificeResults_ul_tit {
        font-size: 1.6rem;
        line-height: 1.6;
        margin-top: 10px;
        min-height: inherit;
    }

    .certificeResults_desc {
        font-size: 1.1rem;
        line-height: 2;
        letter-spacing: 0.05em;
        margin-top: 10px;
    }

}


/* 「一般事業主行動計画」
-------------------------------------------*/
.actionPlan {
    padding: 81px 0 0;
}

.actionPlan_ul {
    margin: 28px auto 0;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.actionPlan_ul>li {
    margin: 10px 20px;
}

.actionPlan_ul>li .txt-link,
.actionPlan_ul>li .txt-link:link,
.actionPlan_ul>li .txt-link:visited {
    font-weight: 500;
}


@media screen and (max-width: 767px) {

    .actionPlan {
        padding: 40px 0 0;
    }

    .actionPlan_ul {
        margin: 8px auto 0;
    }

    .actionPlan_ul>li {
        margin: 10px;
    }
}


/* 「基本概要」
-------------------------------------------*/
.overviewBl {
    padding: 0 0 54px;
    margin-top: -24px;
}

.overview_inner {
    padding: 86px 0 24px;
}

.overview_table {
    width: 100%;
    box-sizing: border-box;
    border-collapse: collapse;
    margin-top: 34px;
}

.overview_table th,
.overview_table td {
    padding-top: 0.45em;
    padding-bottom: 0.45em;
}

.overview_table .people_tit {
    width: 10em;
    min-width: 10em;
    display: inline-block;
}

.overview_table th {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    border-right: 1px solid #d5d5d5;
    text-align: justify;
    text-align-last: justify;
    padding-right: 2.6em;
    width: 145px;
    min-width: 145px;
    box-sizing: border-box;
}

.overview_table td {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2.13;
    letter-spacing: .045em;
    padding-right: 0;
    padding-left: 2.2em;
    width: calc(100% - 145px);
    box-sizing: border-box;
}


@media screen and (max-width: 767px) {
    .overviewBl {
        padding: 0 0 35px;
    }

    .overview_inner {
        padding: 36px 0 30px;
    }

    .overview_table {
        margin-top: 13px;
    }

    .overview_table th,
    .overview_table td {
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }

    .overview_table th {
        font-size: 1.4rem;
        padding-right: 20px;
        padding-left: 23px;
        width: 140px;
        min-width: 140px;
    }

    .overview_table td {
        font-size: 1.3rem;
        line-height: 1.6;
        padding-right: 0;
        padding-left: 20px;
        width: calc(100% - 140px);
    }

    .overview_table .people_tit {
        width: auto;
        min-width: auto;
        display: inline;
    }

}


@media screen and (max-width: 350px) {
    .overview_table th {
        padding-left: 0;
        width: 120px;
        min-width: 120px;
    }
}