#portal-page-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 2.5em 15px
}

#portal-page-title-wrapper {
    background-color: #1eaa38
}

#portal-page-title h1 {
    color: #fff;
    font-size: 2em;
    line-height: 1.2;
    text-align: center
}

@media only screen and (max-width: 640px) {
    #portal-page-title h1 {
        font-size: 6vw
    }
}

#portal-page-title h1 span {
    font-size: 60%
}

.portal-about-01 {
    position: relative
}

.portal-about-01:after {
    background-image: url(/img/kfp/about/portal-about-01.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: 60%;
    height: 100%;
    z-index: 0
}

@media only screen and (max-width: 1000px) {
    .portal-about-01:after {
        width: 100%;
        height: 80%
    }
}

@media only screen and (max-width: 640px) {
    .portal-about-01:after {
        height: 60%
    }
}

.portal-about-01 .container {
    padding: 0;
    position: relative;
    z-index: 1
}

.portal-about-01 .text-box {
    background: -webkit-gradient(linear, left top, right top, color-stop(15%, rgba(255, 255, 255, 0)), color-stop(25%, rgb(255, 255, 255)));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 15%, rgb(255, 255, 255) 25%);
    margin: 0 0 0 auto;
    padding-top: 8em;
    padding-bottom: 8em;
    padding-left: 15%;
    width: 60%
}

@media only screen and (max-width: 1000px) {
    .portal-about-01 .text-box {
        background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, rgba(255, 255, 255, 0)), color-stop(50%, rgb(255, 255, 255)));
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 25%, rgb(255, 255, 255) 50%);
        margin: auto;
        padding: 40% 30px 4em;
        width: 100%
    }
}

@media only screen and (max-width: 640px) {
    .portal-about-01 .text-box {
        background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, rgba(255, 255, 255, 0)), color-stop(40%, rgb(255, 255, 255)));
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 25%, rgb(255, 255, 255) 40%);
        margin: auto;
        padding: 200px 15px 4em;
        width: 100%
    }
}

#mymainback #main_body .portal-about-01 h2 {
    color: #1eaa38;
    background-color: transparent;
}

@media only screen and (max-width: 1000px) {
    .portal-about-01 h2 {
        text-align: center
    }
}

@media only screen and (max-width: 640px) {
    .portal-about-01 h2 {
        font-size: 1.375em
    }
}

.portal-about-01 .lead {
    line-height: 2
}

.portal-about-02 {
    background-color: #ecf2e6
}

.portal-about-02 .container {
    padding: 4em 30px
}

@media only screen and (max-width: 640px) {
    .portal-about-02 .container {
        padding: 4em 15px
    }
}

#mymainback #main_body .portal-about-02 h2 {
    color: #1eaa38;
    text-align: center;
    background-color: transparent;
}

.portal-about-02 .lead {
    line-height: 2;
    margin-bottom: 3em;
    text-align: center
}

#mymainback #main_body .portal-about-02 h3 {
    border: none;
    margin-bottom: 1em;
    padding: 0;
}

@media only screen and (max-width: 640px) {
    .portal-about-02 .lead {
        margin-bottom: 2em;
        text-align: left
    }
}

.portal-about-02 .flex-contents {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media only screen and (max-width: 640px) {
    .portal-about-02 .flex-contents {
        display: block
    }
}

.portal-about-02 .text-box {
    width: 48%
}

.portal-about-02 .text-box h3 {
    font-size: 1.375em;
    font-weight: bold;
    margin-bottom: 1em
}

.portal-about-02 .text-box p {
    line-height: 2
}

@media only screen and (max-width: 640px) {
    .portal-about-02 .text-box {
        width: 100%
    }
}

.portal-about-02 .img-box {
    width: 48%
}

.portal-about-02 .img-box img {
    width: 100%
}

@media only screen and (max-width: 640px) {
    .portal-about-02 .img-box {
        width: 100%;
        margin-bottom: 2em
    }
}

.portal_about-promotion .container {
    padding-top: 6em;
}

@media only screen and (max-width: 640px) {
    .portal_about-promotion .container {
        padding-top: 3em;
    }
}

#mymainback #main_body .portal_about-promotion h2 {
    border-bottom: 1px solid #d3d3d3;
    color: #1eaa38;
    font-size: 1.625em;
    font-weight: bold;
    margin-bottom: 1.5em;
    padding-bottom: .5em;
    text-align: center;
    background-color: transparent;
}

.portal_about-promotion .lead {
    line-height: 2;
    text-align: center;
    width: 85%;
    margin: auto auto 3em
}

@media only screen and (max-width: 640px) {
    .portal_about-promotion .lead {
        text-align: left;
        width: 100%
    }
}


.portal_about-promotion .flex-contents {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (max-width: 640px) {
    .portal_about-promotion .flex-contents {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

.portal_about-promotion a {
    border: 1px solid #d3d3d3;
    border-radius: 10px;
    display: block;
    margin: 0 1em 2rem;
    text-decoration: none;
    overflow: hidden;
    width: calc(33.3333333333% - 2em)
}

.portal_about-promotion a img {
    width: 100%
}

@media only screen and (max-width: 640px) {

    .portal_about-promotion a {
        width: calc(50% - 1em);
        margin: 0 .5em 1.25em
    }
}

/* ここまで　このサイトについて */

/* ここから　コンテンツ */

.portal_promotion-01 {
    position: relative
}

.portal_promotion-01:after {
    background-image: url(/img/kfp/pm/bg-portal.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 250px;
    z-index: 0
}

@media only screen and (max-width: 640px) {
    .portal_promotion-01:after {
        height: 200px
    }
}

.portal_promotion-01 .container {
    padding: 4em 30px;
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 640px) {
    .portal_promotion-01 .container {
        padding: 4em 15px
    }
}

.portal_promotion-01 .flex-contents {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%
}

.portal_promotion-01 .flex-contents .img-box {
    border: 1px solid #d3d3d3;
    border-radius: 10px;
    display: block;
    margin: 0 1em;
    text-decoration: none;
    overflow: hidden;
    width: calc(33.3333333333% - 2em)
}

.portal_promotion-01 .flex-contents img {
    width: 100%
}

@media only screen and (max-width: 1000px) {
    .portal_promotion-01 .flex-contents {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.portal_promotion-01 .flex-contents .img-box {
    width: calc(25% - 2em);
    margin: 0 1em 2rem
}

@media only screen and (max-width: 640px) {
    .portal_promotion-01 .flex-contents {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.portal_promotion-01 .flex-contents .img-box {
    width: calc(50% - 1em);
    margin: 0 .5em 1.25em
}

.portal_promotion-01 .lead {
    line-height: 2;
    margin-top: 3em;
    text-align: center
}

@media only screen and (max-width: 640px) {
    .portal_promotion-01 .lead {
        margin-top: 2em;
        text-align: left
    }
}

.portal_promotion-02 {
    background-color: #ecf2e6;
    position: relative
}

.portal_promotion-02:after {
    background-image: url(/img/kfp/pm/bg-portal_promotion.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 300px;
    z-index: 0
}

@media only screen and (max-width: 640px) {
    .portal_promotion-02:after {
        height: 120px
    }
}

.portal_promotion-02 .container {
    padding-top: 12em;
    padding-bottom: 4em
}

@media only screen and (max-width: 640px) {
    .portal_promotion-02 .container {
        padding-top: 6em
    }
}

.portal_promotion-02 .list-contents {
    background-color: #fff;
    border-radius: 10px;
    padding: 2em 3em;
    position: relative;
    width: 100%;
    z-index: 2
}

@media only screen and (max-width: 640px) {
    .portal_promotion-02 .list-contents {
        padding: 1em 1.5em
    }
}

.portal_promotion-02 .button-wrapper {
    margin: 3rem auto 2rem;
    max-width: 310px;
    width: 100%
}

@media only screen and (max-width: 640px) {
    .portal_promotion-02 .button-wrapper {
        max-width: 100%;
        margin: 3rem auto
    }
}

.portal_promotion-02 .flex-contents {
    border-bottom: 1px solid #d3d3d3;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.portal_promotion-02 .flex-contents.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.portal_promotion-02 .flex-contents.frail {
    padding-top: 2rem
}

@media only screen and (max-width: 1000px) {
    .portal_promotion-02 .flex-contents {
        padding: 2em 0
    }
}

@media only screen and (max-width: 640px) {
    .portal_promotion-02 .flex-contents {
        display: block;
        padding: 0 0 2.5em
    }
}

.portal_promotion-02 .flex-contents.frail {
    padding: 1.5rem 0 2.5em
}

.portal_promotion-02 .flex-contents.frail .text-box {
    margin-top: 1rem
}

.portal_promotion-02 .flex-contents .button-wrapper {
    max-width: 250px;
    margin: 0
}

@media only screen and (max-width: 640px) {
    .portal_promotion-02 .flex-contents .button-wrapper {
        max-width: 100%;
        width: 100%
    }
}

.portal_promotion-02 .text-box {
    width: 55%
}

#mymainback #main_body .portal_promotion-02 .text-box h2 {
    color: #1eaa38;
    font-size: 1.5em;
    line-height: 1.4;
    margin-bottom: .8em;
    padding-bottom: 10px;
    position: relative;
    background-color: transparent;
}

.portal_promotion-02 .text-box h2:after {
    background: linear-gradient(90deg, #1EAA38 0%, #1EAA38 100px, #D3D3D3 100px, #D3D3D3 100%);
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px
}

.portal_promotion-02 .text-box p {
    line-height: 2;
    margin-bottom: 3em
}

@media only screen and (max-width: 640px) {
    .portal_promotion-02 .text-box {
        width: 100%
    }

    .portal_promotion-02 .text-box h2 {
        font-size: 1.125em
    }

    .portal_promotion-02 .text-box p {
        margin-bottom: 2em
    }
}

.portal_promotion-02 .img-box {
    width: 40%
}

.portal_promotion-02 .img-box img {
    width: 100%
}

@media only screen and (max-width: 640px) {
    .portal_promotion-02 .img-box {
        width: 100%
    }
}

/* ここまで　コンテンツ */

/* ここから　健康ふくしまTV */

.portal-tv {
    position: relative
}

.portal-tv:after {
    background-image: url(/img/kfp/tv/portal-tv.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: 60%;
    height: 100%;
    z-index: 0
}

@media only screen and (max-width: 1000px) {
    .portal-tv:after {
        width: 100%;
        height: 80%
    }
}

@media only screen and (max-width: 640px) {
    .portal-tv:after {
        height: 60%
    }
}

.portal-tv .container {
    padding: 0;
    position: relative;
    z-index: 1
}

.portal-tv .text-box {
    background: -webkit-gradient(linear, left top, right top, color-stop(15%, rgba(255, 255, 255, 0)), color-stop(25%, rgb(255, 255, 255)));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 15%, rgb(255, 255, 255) 25%);
    margin: 0 0 0 auto;
    padding-top: 8em;
    padding-bottom: 8em;
    padding-left: 14%;
    width: 60%
}

@media only screen and (max-width: 1000px) {
    .portal-tv .text-box {
        background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(60%, rgb(255, 255, 255)));
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, rgb(255, 255, 255) 60%);
        margin: auto;
        padding: 50% 30px 4em;
        width: 100%
    }
}

@media only screen and (max-width: 640px) {
    .portal-tv .text-box {
        background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, rgba(255, 255, 255, 0)), color-stop(50%, rgb(255, 255, 255)));
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 40%, rgb(255, 255, 255) 50%);
        margin: auto;
        padding: 280px 15px 4em;
        width: 100%
    }
}

#mymainback #main_body .portal-tv h2 {
    color: #1eaa38;
    font-size: 1.625em;
    font-weight: bold;
    margin-bottom: 1.25em;
    text-align: left;
    background-color: transparent;
    padding: 0 1rem;
}

@media only screen and (max-width: 1000px) {
    #mymainback #main_body .portal-tv h2 {
        text-align: center
    }
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body .portal-tv h2 {
        font-size: 1.375em
    }
}

.portal-tv .lead {
    line-height: 2
}

.archive-post-tv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-top: 4em;
    padding-bottom: 2em
}

@media only screen and (max-width: 1000px) {
    .archive-post-tv {
        padding-top: 1em
    }
}

.archive-post-tv .post-tv {
    margin: 0 1em 2em;
    width: calc(33.3333333333% - 2em)
}

@media only screen and (max-width: 1000px) {
    .archive-post-tv .post-tv {
        width: calc(50% - 2em)
    }
}

@media only screen and (max-width: 640px) {
    .archive-post-tv .post-tv {
        margin: 0 auto 2em;
        width: 100%
    }
}

.archive-post-tv a {
    color: inherit;
    display: block;
    margin: auto;
    text-decoration: none
}

.archive-post-tv a:hover .img-box img {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
    transform: translate(-50%, -50%) scale(1.1);
    -webkit-transition-duration: 1s;
    transition-duration: 1s
}

.archive-post-tv .img-box {
    background-color: #ecf2e6;
    overflow: hidden;
    padding-top: 55%;
    position: relative;
    width: 100%
}

.archive-post-tv .img-box:after {
    background-image: url(/img/kfp/tv/icon-video.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 70px;
    height: 50px;
    z-index: 1
}

@media only screen and (max-width: 1000px) {
    .archive-post-tv .img-box {
        padding-top: 65%
    }
}

@media only screen and (max-width: 640px) {
    .archive-post-tv .img-box {
        padding-top: 55%
    }
}

.archive-post-tv .img-box img {
    width: 105%;
    height: auto;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
    vertical-align: middle;
    z-index: 1
}

@media only screen and (max-width: 1000px) {
    .archive-post-tv .img-box img {
        width: 120%
    }
}

@media only screen and (max-width: 640px) {
    .archive-post-tv .img-box img {
        width: 105%
    }
}

#mymainback #main_body .archive-post-tv .text-box h3 {
    color: #707070;
    line-height: 1.5;
    font-weight: bold;
    margin-top: 1em;
    margin-bottom: .5em;
    border: none;
    padding: 0;
}

@-webkit-keyframes modal-video {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes modal-video {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes modal-video-inner {
    from {
        -webkit-transform: translate(0, 100px);
        transform: translate(0, 100px)
    }

    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

@keyframes modal-video-inner {
    from {
        -webkit-transform: translate(0, 100px);
        transform: translate(0, 100px)
    }

    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

.modal-video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    z-index: 1000000;
    cursor: pointer;
    opacity: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-name: modal-video;
    animation-name: modal-video;
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out
}

.modal-video-close {
    opacity: 0
}

.modal-video-close .modal-video-movie-wrap {
    -webkit-transform: translate(0, 100px);
    transform: translate(0, 100px)
}

.modal-video-body {
    max-width: 940px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    display: table
}

.modal-video-inner {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 100%
}

.modal-video-movie-wrap {
    width: 100%;
    height: 0;
    position: relative;
    padding-bottom: 56.25%;
    background-color: #333;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-duration: .3s;
    animation-duration: .3s;
    -webkit-animation-name: modal-video-inner;
    animation-name: modal-video-inner;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out
}

.modal-video-movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.modal-video-close-btn {
    position: absolute;
    z-index: 2;
    top: -35px;
    right: -35px;
    display: inline-block;
    width: 35px;
    height: 35px;
    overflow: hidden;
    border: none;
    background: rgba(0, 0, 0, 0)
}

.modal-video-close-btn:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.modal-video-close-btn:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.modal-video-close-btn:before,
.modal-video-close-btn:after {
    content: "";
    position: absolute;
    height: 2px;
    width: 100%;
    top: 50%;
    left: 0;
    margin-top: -1px;
    background: #fff;
    border-radius: 5px;
    margin-top: -6px
}

.modal-video-movie-wrap {
    width: 90%;
    margin: auto
}

.modal-video-close-btn {
    right: 0px
}

/* もっと見るボタン */
.btn {
    border: 1px solid #1eaa38;
    cursor: pointer;
    display: flex;
    padding: 10px;
    margin: 0 auto;
    width: 100%;
    justify-content: center;
    color: #1eaa38;
}

.btn:hover {
    color: #fff;
    background-color: #1eaa38
}

/* ここまで　健康ふくしまTV */

/* ここから　フレイル予防 */

#mymainback #main_body .frail_lp .section-title {
    font-size: 2.5em;
    font-weight: bold;
    margin-bottom: 0;
    background-color: transparent;
    text-align: center;
    padding: 0;
}

.frail_lp .section-title-wrapper {
    margin-bottom: 2.5rem
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body .frail_lp .section-title {
        font-size: 2.1428571429em;
    }

    #mymainback #main_body .frail_lp .section-title-wrapper {
        margin-bottom: 1.5rem
    }
}

.frail_hero img {
    width: 100%;
    height: auto;
}

.frail_about {
    margin: 6rem auto
}

@media only screen and (max-width: 640px) {
    .frail_about {
        margin: 3rem auto
    }
}

.frail_about .text-box {
    margin-bottom: 3rem;
    text-align: center
}

@media only screen and (max-width: 640px) {
    .frail_about .text-box {
        margin-bottom: 2rem;
        text-align: left
    }
}

#mymainback #main_body .frail_about .text-box p {
    font-size: 1.125em;
    line-height: 2;
    padding: 0;
}

.frail_about .img-box {
    max-width: 700px;
    margin: auto
}

.frail_about .img-box img {
    width: 100%
}

.frail_check {
    background-color: #7d8bba;
    margin: 6rem auto;
    padding: 80px 15px 3rem;
    position: relative
}

@media only screen and (max-width: 640px) {
    .frail_check {
        margin: 4rem auto;
        padding: 35px 5px 2.5rem
    }
}

.frail_check:after {
    content: "";
    display: block;
    background-image: url(/img/kfp/frail/clip.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 350px;
    height: 108px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto
}

@media only screen and (max-width: 640px) {
    .frail_check:after {
        width: 180px;
        height: 56px
    }
}

.frail_check .container {
    background-color: #fff;
    border-radius: 10px;
    padding: 4rem 20px 3rem;
    width: 90%
}

@media only screen and (max-width: 640px) {
    .frail_check .container {
        padding-top: 3rem
    }
}

.frail_check .section-title-wrapper {
    margin-bottom: 3rem
}

@media only screen and (max-width: 640px) {
    .frail_check .section-title-wrapper {
        margin-bottom: 1.5rem
    }
}

.frail_check .flex-contents {
    /* width: 90%; */
    margin: auto;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.frail_check .flex-contents .text-box {
    width: 52%
}

.frail_check .flex-contents .text-box p {
    font-size: 1.125em;
    line-height: 2
}

.frail_check .flex-contents .img-box {
    width: 42%
}

.frail_check .flex-contents .img-box img {
    width: 100%
}

@media only screen and (max-width: 1000px) {
    .frail_check .flex-contents {
        width: 100%
    }
}

@media only screen and (max-width: 640px) {
    .frail_check .flex-contents {
        display: block
    }
}

.frail_check .flex-contents .text-box {
    width: 100%
}

.frail_check .flex-contents .img-box {
    width: 100%;
    margin-top: 1.5rem
}

#mymainback #main_body .frail_check .check_list_title {
    display: inline;
    font-size: 2em;
    font-weight: bold;
    padding-left: 80px;
    position: relative;
    border: none;
    margin: 0;
}

#mymainback #main_body .frail_check .check_list_title:after {
    content: "";
    display: block;
    background-image: url(/img/kfp/frail/icon-check.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 70px;
    height: 77px;
    position: absolute;
    top: 10px;
    bottom: 0;
    left: 0;
    margin: auto
}

.frail_check .check_list_title-wrapper {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 3rem auto 2.5rem;
    width: 100%
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body .frail_check .check_list_title {
        text-align: center;
        padding: 0;
    }

    #mymainback #main_body .frail_check .check_list_title:after {
        content: none
    }

    #mymainback #main_body .frail_check .check_list_title-wrapper {
        margin: 2.5rem auto .75rem
    }
}

.frail_check .check_list {
    width: 100%;
    margin: auto
}

.frail_check .check_item {
    border-bottom: 1px dotted #999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem 0
}

.frail_check .check_item .no {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    background-color: #f8d0d3;
    border-radius: 8px;
    border: 1px solid #f8d0d3;
    font-size: 1.125em;
    width: 65px;
    height: 55px
}

@media only screen and (max-width: 1000px) {
    .frail_check .check_item .no {
        margin-bottom: .75rem;
        height: 40px
    }
}

.frail_check .check_item .cat {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #f8d0d3;
    font-size: 1em;
    width: 100px;
    height: 55px;
    margin-left: 10px
}

.frail_check .check_item .cat span {
    font-size: 80%
}

@media only screen and (max-width: 1000px) {
    .frail_check .check_item .cat {
        margin: 0 20% .75rem 10px;
        height: 40px
    }
}

@media only screen and (max-width: 640px) {
    .frail_check .check_item .cat {
        margin: 0 0 .75rem 10px
    }
}

.frail_check .check_item .text {
    font-size: 1.125em;
    margin: 0 10px;
    width: calc(100% - 425px)
}

@media only screen and (max-width: 1000px) {
    .frail_check .check_item .text {
        margin: 0 10px 0 0;
        width: calc(100% - 200px)
    }
}

@media only screen and (max-width: 640px) {
    .frail_check .check_item .text {
        width: 100%;
        margin: .75rem 0 1.25rem
    }
}

div#main_body .frail_check .check_item .choices {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 228px;
    margin: 0;
}

div#main_body .frail_check .check_item .choices li {
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border-radius: 8px;
    font-size: 0.9375em;
    width: 109px;
    height: 55px
}

div#main_body .frail_check .check_item .choices li span {
    font-size: 80%
}

div#main_body .frail_check .check_item .choices li:nth-child(1) {
    border: 1px solid #f19ca6
}

div#main_body .frail_check .check_item .choices li:nth-child(1).select {
    background-color: #f19ca6;
    color: #fff
}

div#main_body .frail_check .check_item .choices li:nth-child(2) {
    border: 1px solid #7d8bab
}

div#main_body .frail_check .check_item .choices li:nth-child(2).select {
    background-color: #7d8bab;
    color: #fff
}

@media only screen and (max-width: 1000px) {
    div#main_body .frail_check .check_item .choices li {
        height: 50px
    }
}

@media only screen and (max-width: 640px) {
    div#main_body .frail_check .check_item .choices li {
        height: 40px
    }
}

.frail_prevention {
    margin: 6rem auto
}

@media only screen and (max-width: 640px) {
    .frail_prevention {
        margin: 3rem auto
    }
}

#mymainback #main_body .frail_prevention .lead {
    font-size: 1.125em;
    line-height: 2;
    margin: 3rem auto;
    text-align: center;
    padding: 0;
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body .frail_prevention .lead {
        margin: 1.5rem auto;
        text-align: left;
    }
}

div#main_body .frail_prevention ol {
    font-size: 1.25em;
    max-width: 620px;
    margin: auto;
    list-style: none;
}

.frail_prevention ol li {
    margin-bottom: .5em;
    padding-left: 1em;
    text-indent: -1em
}

.frail_prevention ol li:nth-child(1) span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #C3CBDB));
    background: linear-gradient(transparent 60%, #C3CBDB 60%)
}

.frail_prevention ol li:nth-child(2) span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #FFF8B0));
    background: linear-gradient(transparent 60%, #FFF8B0 60%)
}

.frail_prevention ol li:nth-child(3) span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #F8D0D3));
    background: linear-gradient(transparent 60%, #F8D0D3 60%)
}

.frail_prevention ol li:nth-child(4) span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #d2e6b4));
    background: linear-gradient(transparent 60%, #d2e6b4 60%)
}

.frail_prevention .flex-contents {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.frail_prevention .flex-contents a {
    color: inherit;
    display: block;
    width: 46%;
    margin: 0 2%;
    text-decoration: none
}

.frail_prevention .flex-contents a img {
    width: 100%
}

#mymainback #main_body .frail_prevention .flex-contents a p {
    font-size: 1.25em;
    margin-top: .75rem;
    text-align: center;
    padding: 0;
}

@media only screen and (max-width: 640px) {
    .frail_prevention .flex-contents a {
        width: 100%;
        margin: 0
    }

    .frail_prevention .flex-contents a:last-child {
        margin: 2rem 0 0
    }
}


.frail_point {
    background-color: #f19ca6;
    margin: 6rem auto 0px;
}

@media only screen and (max-width: 640px) {
    .frail_point {
        margin: 3rem auto
    }
}

.frail_point .container {
    padding-top: 2rem;
    padding-bottom: 2rem
}

@media only screen and (max-width: 640px) {
    .frail_point .container {
        padding-top: 4rem
    }
}

.frail_point .section-title {
    color: #003b82
}

.frail_point .section-title span {
    font-size: 150%;
    padding: 0 5px
}

.frail_point .section-title-wrapper {
    margin-bottom: 3rem
}

.frail_point .flex-contents {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media only screen and (max-width: 640px) {
    .frail_point .flex-contents {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.frail_point .point {
    width: 23.5%;
    margin: 0 2% 3rem 0;
    text-align: center;
    position: relative
}

@media only screen and (max-width: 1000px) {
    .frail_point .point {
        width: 48%
    }
}

@media only screen and (max-width: 640px) {
    .frail_point .point {
        width: calc(320px - 2%);
        margin: 0 1% 3rem
    }
}

.frail_point .point .cat {
    width: 180px;
    position: absolute;
    top: -1rem;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto
}

#mymainback #main_body .frail_point .point .cat h3 {
    background-color: #fff57f;
    border-radius: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 2em;
    font-weight: bold;
    padding: .5rem 1rem;
    line-height: 1;
    width: 100%;
    border: none;
}

#mymainback #main_body .frail_point .point p {
    background-color: #fff;
    border-radius: 10px;
    font-size: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 2rem 1rem 1rem;
    widows: 100%;
    min-height: 200px;
}

@media only screen and (max-width: 1000px) {
    .frail_point .point p {
        font-size: 1.125em
    }
}

@media only screen and (max-width: 640px) {
    .frail_point .point p {
        font-size: 1.25em
    }
}

.frail_point :nth-child(4) {
    margin: 0 0 3rem
}

/* ここまで　フレイル予防 */

/* ここから　健民検定 */

#kentei-header {
    background-color: #fff;
    padding: 1.5em 15px;
    position: relative
}

#kentei-header-logo {
    max-width: 300px;
    margin: auto
}

@media only screen and (max-width: 640px) {
    #kentei-header-logo {
        width: 80%
    }
}

#kentei-header-logo img {
    width: 100%
}

.kentei-hero img {
    width: 100%
}

.kentei-about .container {
    max-width: 800px;
    padding-top: 4em;
    padding-bottom: 4em
}

@media only screen and (max-width: 640px) {
    .kentei-about .container {
        padding-top: 2em;
        padding-bottom: 2em
    }
}

#mymainback #main_body .kentei-about h2 {
    width: 80%;
    max-width: 400px;
    margin: 0px auto 24px;
    padding: 0;
    background-color: transparent;
}

.kentei-about h2 img {
    width: 100%
}

#mymainback #main_body .kentei-about h3 {
    margin: 0 auto 24px;
    border: none;
    padding: 0;
}

.kentei-about h3 img {
    width: 100%
}

#mymainback #main_body .kentei-about p {
    text-align: center;
    padding: 0;
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body .kentei-about p {
        text-align: left
    }
}

.kentei-about .button {
    background-color: #1eaa39;
    border-radius: 50px;
    border: 2px solid #1eaa39;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    font-size: 1.25em;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    max-width: 300px;
    margin: 2em auto 0;
    padding: 1em .5em;
    -webkit-transition: background .3s, color .3s;
    transition: background .3s, color .3s
}

.kentei-about .button:hover {
    background-color: #fff;
    color: #1eaa39
}

@media only screen and (max-width: 640px) {
    .kentei-about .button {
        font-size: 1.1428571429em
    }
}

#kentei-question {
    background-color: #e1eecd;
    padding: 1em 15px 4em;
    position: relative
}

#kentei-question .question-wrapper {
    border-radius: 20px;
    border: 4px solid #1eaa39;
    background-color: #fff;
    max-width: 1000px;
    margin: auto;
    padding: 3em 2em
}

@media only screen and (max-width: 640px) {
    #kentei-question .question-wrapper {
        padding: 1.5em 1em
    }
}

#kentei-question dl {
    border-top: 1px solid #b3b3b3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 2.5em 0
}

#kentei-question dl:first-child {
    border: none;
    padding-top: 0
}

#kentei-question dl:last-child {
    border-bottom: 1px solid #b3b3b3
}

@media only screen and (max-width: 640px) {
    #kentei-question dl {
        display: block;
        padding: 2em 0
    }
}

#kentei-question dl dt {
    background-color: #1eaa39;
    border-radius: 8px;
    color: #fff;
    font-size: 1.375em;
    padding: .25em .5em;
    text-align: center;
    width: 80px
}

@media only screen and (max-width: 640px) {
    #kentei-question dl dt {
        margin-bottom: .5em
    }
}

#kentei-question dl dd {
    width: calc(100% - 80px);
    padding-left: 1.5em
}

@media only screen and (max-width: 640px) {
    #kentei-question dl dd {
        width: 100%;
        padding-left: 0
    }
}

#kentei-question dl dd .text {
    font-size: 1.25em
}

#kentei-question dl dd .choicebtn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

#kentei-question dl dd .choices input[type=radio] {
    display: none
}

#kentei-question dl dd .choices input[type=radio]:checked+label {
    background-color: #24b332;
    color: #fff
}

#kentei-question dl dd .choices .label {
    cursor: pointer;
    background-color: #fff;
    color: #1eaa39;
    border-radius: 8px;
    border: 2px solid #1eaa39;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.25em;
    text-align: left;
    text-decoration: none;
    margin: 1em 1em 0 0;
    padding: .5em;
    -webkit-transition: background .3s, color .3s;
    transition: background .3s, color .3s
}

#kentei-question dl dd .choices .label:hover {
    background-color: #1eaa39;
    color: #fff
}

#kentei-question input[type=button] {
    -webkit-appearance: none;
    border-radius: 0;
    outline: none;
    background: #f29600;
    color: #fff;
    border-radius: 50px;
    border: 2px solid #f29600;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.125em;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    margin: 1em 1em 0 0;
    padding: 1em .5em;
    -webkit-transition: background .3s, color .3s;
    transition: background .3s, color .3s;
    width: 100%;
    max-width: 300px;
    margin: 2em auto 0;
    cursor: pointer;
}

#kentei-question input[type=button]:disabled {
    border: 2px solid #cdcdcd;
    background: #cdcdcd;
    color: #fff
}

#kentei-question input[type=button]:disabled:hover {
    border: 2px solid #cdcdcd;
    background: #cdcdcd;
    color: #fff
}

#kentei-question input[type=button]:hover {
    background: #fff;
    color: #f29600
}

#kentei-question .check-counter {
    position: sticky;
    top: 2rem;
    background-color: #fff000;
    width: 170px;
    text-align: center;
    padding: 1.2em .5em;
    margin: 1em -40px 1em auto;
    z-index: 2;
}

@media only screen and (max-width: 640px) {
    #kentei-question .check-counter {
        top: 0;
        width: 90%;
        padding: .75em .5em;
        margin: 1em auto 1.5em
    }
}

#mymainback #main_body #kentei-question .check-counter p {
    font-weight: 700;
    font-size: 1.5em;
    padding: 0;
}

#kentei-question .check-counter p .count {
    font-weight: bold;
    font-size: 120%
}

.kentei-result {
    display: none;
    padding: 8em 0px 6em
}

.kentei-result .container {
    max-width: 920px;
    padding: 0
}

.kentei-result .result-board-wrapper {
    background-color: #1eaa39;
    border-radius: 20px;
    padding: 2.5em 2em 4em;
    position: relative
}

@media only screen and (max-width: 640px) {
    .kentei-result .result-board-wrapper {
        padding: 2.5em 1em 2em
    }
}

.kentei-result .result-board-wrapper:after {
    background-image: url(/img/kfp/kentei/icon-result-board.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom center;
    content: "";
    display: block;
    width: 400px;
    height: 138px;
    position: absolute;
    top: -86px;
    left: 0;
    right: 0;
    margin: auto
}

@media only screen and (max-width: 640px) {
    .kentei-result .result-board-wrapper:after {
        width: 80%
    }
}

.kentei-result .result-board-wrapper .button {
    background-color: #f29600;
    border-radius: 50px;
    border: 2px solid #f29600;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    font-size: 1.25em;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    max-width: 300px;
    margin: 2em auto 0;
    padding: 1em .5em;
    -webkit-transition: background .3s, color .3s;
    transition: background .3s, color .3s
}

.kentei-result .result-board-wrapper .button:hover {
    background-color: #fff;
    color: #f29600
}

@media only screen and (max-width: 640px) {
    .kentei-result .result-board-wrapper .button {
        font-size: 1.1428571429em
    }
}

.kentei-result .result-board {
    background-color: #fff8b0;
    border-radius: 20px;
    padding: 4em 2em
}

@media only screen and (max-width: 640px) {
    .kentei-result .result-board {
        padding: 2em 1em
    }
}

#mymainback #main_body .kentei-result .result-board .text {
    color: #ed1c24;
    font-size: 2.5em;
    font-weight: bold;
    text-align: center;
    margin-bottom: .25em;
    padding: 0;
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body .kentei-result .result-board .text {
        font-size: 2.1428571429em
    }
}

.kentei-result .result-board .kentei-score-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    text-align: center;
    margin-bottom: 2em
}

.kentei-result .result-board dt {
    font-size: 3.125em;
    border-bottom: 4px solid
}

.kentei-result .result-board dt span {
    font-size: 150%;
    font-weight: bold
}

@media only screen and (max-width: 640px) {
    .kentei-result .result-board dt {
        font-size: 6vw
    }
}

.kentei-result .result-board dd {
    font-size: 2.5em
}

.kentei-result .result-board dd span {
    font-size: 120%;
    padding: 0 .25em
}

@media only screen and (max-width: 640px) {
    .kentei-result .result-board dd {
        font-size: 6vw
    }
}

.kentei-result .result-board .flex-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width: 640px) {
    .kentei-result .result-board .flex-box {
        display: block
    }
}

.kentei-result .result-board .img-box {
    width: 40%
}

.kentei-result .result-board .img-box img {
    width: 100%
}

@media only screen and (max-width: 640px) {
    .kentei-result .result-board .img-box {
        max-width: 180px;
        width: 80%;
        margin: auto auto 1em
    }
}

.kentei-result .result-board .text-box {
    width: 60%;
    padding-left: 3em
}

@media only screen and (max-width: 640px) {
    .kentei-result .result-board .text-box {
        width: 100%;
        padding-left: 0
    }
}

#mymainback #main_body .kentei-result .result-board .comment01 {
    font-size: 2.25em;
    font-weight: bold;
    text-align: center;
    padding: 0;
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body .kentei-result .result-board .comment01 {
        font-size: 7vw
    }
}

#mymainback #main_body .kentei-result .result-board .comment02 {
    font-size: 1.25em;
    margin-top: 1em;
    padding: 0;
}

.kentei-result #commentary {
    display: none
}

.kentei-result .commentary-list {
    border-radius: 20px;
    border: 4px solid #1eaa39;
    background-color: #fff;
    max-width: 830px;
    margin: 6em auto 0;
    padding: 3em 2em
}

@media only screen and (max-width: 640px) {
    .kentei-result .commentary-list {
        margin: 3em auto 0;
        padding: 1.5em 1em
    }
}

.kentei-result .commentary {
    border-top: 1px solid #b3b3b3;
    padding: 2.5em 0
}

.kentei-result .commentary:first-child {
    border: none;
    padding-top: 0
}

.kentei-result .commentary:last-child {
    border-bottom: 1px solid #b3b3b3
}

@media only screen and (max-width: 640px) {
    .kentei-result .commentary {
        padding: 2em 0
    }
}

.kentei-result .commentary .selsct_anser-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 1em
}

@media only screen and (max-width: 640px) {
    .kentei-result .commentary .selsct_anser-wrapper {
        display: block
    }
}

.kentei-result .commentary .selsct_anser-wrapper dt {
    background-color: #1eaa39;
    border-radius: 8px;
    color: #fff;
    font-size: 1.375em;
    padding: .25em .5em;
    text-align: center;
    width: 80px
}

@media only screen and (max-width: 640px) {
    .kentei-result .commentary .selsct_anser-wrapper dt {
        margin-bottom: .5em
    }
}

.kentei-result .commentary .selsct_anser-wrapper dd {
    width: calc(100% - 80px);
    padding-left: 1.5em
}

@media only screen and (max-width: 640px) {
    .kentei-result .commentary .selsct_anser-wrapper dd {
        width: 100%;
        padding-left: 0
    }
}

.kentei-result .commentary .selsct_anser-wrapper dd .text {
    font-size: 1.25em
}

.kentei-result .commentary .selsct_anser-wrapper dd .selsct_anser {
    display: inline-block;
    font-weight: bold
}

.kentei-result .commentary .selsct_anser-wrapper dd .correct {
    color: #ed1c24
}

.kentei-result .commentary .selsct_anser-wrapper dd .incorrect {
    color: #0071bc
}

.kentei-result .commentary .anser-wrapper dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 1em
}

.kentei-result .commentary .anser-wrapper dl dt {
    background-color: #f29600;
    border-radius: 8px;
    color: #fff;
    font-size: 1.5em;
    padding: .25em .5em;
    text-align: center;
    width: 80px
}

.kentei-result .commentary .anser-wrapper dl dd {
    width: calc(100% - 80px);
    padding-left: 1.5em
}

.kentei-result .commentary .anser-wrapper dl dd .text {
    font-size: 1.25em
}

.kentei-result .commentary .anser-wrapper .commentary-text {
    color: #f29600;
    font-size: 1.125em
}

/* ここまで　健民検定 */

/* ここから　じぶん体調チェック */

#portal-page-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 2.5em 15px
}

#portal-page-title-wrapper {
    background-color: #1eaa38
}

#portal-page-title h1 {
    color: #fff;
    font-size: 2em;
    line-height: 1.2;
    text-align: center
}

@media only screen and (max-width: 640px) {
    #portal-page-title h1 {
        font-size: 6vw
    }
}

#normal-header {
    background-color: #fff;
    padding: 1.5em 15px;
    position: relative
}

@media only screen and (max-width: 1000px) {
    #normal-header.no-logo {
        display: none
    }
}

#portal-page-title.health-check {
    padding: 0
}

#portal-page-title.health-check h1 img {
    width: 100%
}

#portal-health-check-01 .container {
    padding: 12rem 0 6rem;
    width: 90%
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-01 .container {
        padding: 8rem 0 4rem
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-01 .container {
        padding: 6rem 0 3rem
    }
}

#portal-health-check-01 .headline {
    text-align: center
}

#mymainback #main_body #portal-health-check-01 .headline .title {
    font-size: 2em;
    color: #5bb431;
    font-weight: 700;
    padding: 0;
    background-color: transparent;
}

@media only screen and (max-width: 1000px) {
    #mymainback #main_body #portal-health-check-01 .headline .title {
        font-size: 1.8em
    }
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body #portal-health-check-01 .headline .title {
        font-size: 1.5em
    }
}

#portal-health-check-01 .headline .title .item01 {
    display: inline-block;
    width: 53px;
    height: 80px;
    background-image: url(/img/kfp/hc/item01.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: -22px;
    margin: auto 20px auto 0
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-01 .headline .title .item01 {
        width: 40px;
        height: 60px;
        vertical-align: -15px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-01 .headline .title .item01 {
        display: block;
        width: 100%;
        height: 40px;
        vertical-align: middle;
        margin: 0 auto 10px
    }
}

#portal-health-check-01 .text-box {
    width: 100%;
    /* max-width: 780px; */
    margin: 3rem auto 0
}

@media only screen and (max-width: 640px) {
    #portal-health-check-01 .text-box {
        margin: 2rem auto 0
    }
}

#portal-health-check-01 .text-box p {
    text-align: center;
    font-size: 1.4em;
    line-height: 1.8;
    letter-spacing: .15rem
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-01 .text-box p {
        font-size: 1.2em
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-01 .text-box p {
        text-align: left;
        font-size: 1.1em
    }
}

#portal-health-check-02 .container {
    padding: 6rem 0;
    width: 90%;
    max-width: 1280px
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-02 .container {
        padding: 4rem 0;
        width: 95%
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 .container {
        padding: 3rem 0;
        width: 100%
    }
}

#portal-health-check-02 #check {
    width: 100%;
    max-width: 980px;
    margin: -8rem auto 0;
    background-color: #5bb431;
    border-radius: 30px;
    padding: 50px 30px 30px 30px;
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-02 #check {
        margin: -5rem auto 0;
        border-radius: 20px;
        padding: 30px 20px 20px 20px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check {
        margin: 0 auto 0;
        border-radius: 10px;
        padding: 20px 10px 10px 10px
    }
}

#portal-health-check-02 #check .item02 {
    display: block;
    width: 100%;
    height: 142px;
    background-image: url(/img/kfp/hc/item02.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -70px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 2
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-02 #check .item02 {
        height: 100px;
        top: -50px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check .item02 {
        height: 71px;
        top: -35px
    }
}

#portal-health-check-02 #check .check-inner {
    width: 100%;
    margin: 0 auto;
    background-color: #fffbe1;
    border-radius: 20px;
    padding: 100px 50px
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-02 #check .check-inner {
        border-radius: 10px;
        padding: 70px 20px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check .check-inner {
        border-radius: 5px;
        padding: 40px 10px
    }
}

#portal-health-check-02 #check .enquete-list {
    padding-bottom: 5rem
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-02 #check .enquete-list {
        padding-bottom: 4rem
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check .enquete-list {
        padding-bottom: 2.5rem
    }
}

#portal-health-check-02 #check .enquete-question {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 3rem
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-02 #check .enquete-question {
        padding-bottom: 2rem
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check .enquete-question {
        display: block;
        padding-bottom: 1.5rem
    }
}

#portal-health-check-02 #check .enquete-question p.q {
    height: 100%;
    font-size: 2.25em;
    padding: 0 6px 4px;
    text-align: center;
    background-color: #fff000;
    color: #3c4348;
    margin: 0;
    border-radius: 5px
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check .enquete-question p.q {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-bottom: .5rem;
        border-radius: 2.5px
    }
}

#mymainback #main_body #portal-health-check-02 #check .enquete-question p.text {
    font-size: 2em;
    text-align: justify;
    width: 86%;
    padding: 0 2rem 0 0;
}

@media only screen and (max-width: 1000px) {
    #mymainback #main_body #portal-health-check-02 #check .enquete-question p.text {
        font-size: 1.8em;
        width: 84%
    }
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body #portal-health-check-02 #check .enquete-question p.text {
        font-size: 1.5em;
        width: 100%
    }
}

#portal-health-check-02 #check .enquete-answer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check .enquete-answer {
        display: block
    }
}

#portal-health-check-02 #check-counter {
    position: sticky;
    top: 6rem;
    background-color: #fff000;
    width: 170px;
    text-align: center;
    padding: 34px 0;
    margin-bottom: 0rem;
    margin-left: auto;
    z-index: 2;
    margin-right: -50px;
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-02 #check-counter {
        width: 140px;
        top: 3rem;
        padding: 20px 0
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check-counter {
        top: 0;
        width: 90%;
        margin: 0 auto 3rem;
        padding: 17px 0
    }
}

#mymainback #main_body #portal-health-check-02 #check-counter p {
    font-weight: 700;
    font-size: 1.3em;
    padding: 0;
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-02 #check-counter p {
        font-size: 1.2em
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check-counter p {
        font-size: 1.1em
    }
}

#portal-health-check-02 #check-counter p .count {
    font-weight: 700;
    font-size: 1.65em
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-02 #check-counter p .count {
        font-size: 1.45em
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-02 #check-counter p .count {
        font-size: 1.3em
    }
}

#portal-health-check-03 .container {
    width: 90%;
    max-width: 825px;
    padding-left: 0;
    padding-right: 0;
    opacity: 0;
    display: none
}

#portal-health-check-03 .result {
    background-color: #fff;
    padding: 100px 0;
    position: relative;
    -webkit-transition: .5s linear;
    transition: .5s linear
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result {
        padding: 50px 0
    }
}

#portal-health-check-03 .result-inner {
    width: 80%;
    margin: auto
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner {
        width: 90%
    }
}

#mymainback #main_body #portal-health-check-03 .result-inner .result-setup p {
    font-size: 2em;
    text-align: center;
    padding: 0;
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body #portal-health-check-03 .result-inner .result-setup p {
        font-size: 1.6em
    }
}

#portal-health-check-03 .result-inner .result-setup p .result-score {
    font-size: 1.5em;
    margin-left: .25em
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body #portal-health-check-03 .result-inner .result-setup p .result-score {
        font-size: 1.25em
    }
}

#portal-health-check-03 .result-inner .result-view {
    opacity: 0;
    display: none
}

#mymainback #main_body #portal-health-check-03 .result-inner .result-view>p:nth-child(1) {
    font-size: 1.75em;
    text-align: center;
    margin: 1rem 0 0;
    padding: 0;
}

#portal-health-check-03 .result-inner .result-view>p:nth-child(1) span {
    display: inline-block
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body #portal-health-check-03 .result-inner .result-view>p:nth-child(1) {
        font-size: 1.5em
    }
}

#portal-health-check-03 .result-inner .result-view .result-view-text-box {
    margin: .5rem auto 2rem
}

#mymainback #main_body #portal-health-check-03 .result-inner .result-view .result-view-text-box p {
    font-size: 2.875em;
    width: 100%;
    display: inline-block;
    text-align: center;
    border-radius: 50px;
    padding: 12px 0;
    letter-spacing: .1em;
    color: #fff;
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .result-inner .result-view .result-view-text-box p {
        font-size: 3em
    }
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body #portal-health-check-03 .result-inner .result-view .result-view-text-box p {
        font-size: 1.857em;
        padding: 24px 0;
        border-radius: 25px
    }
}

#portal-health-check-03 .result-inner .result-view .result-view-voice-text-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse;
    position: relative
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .result-inner .result-view .result-view-voice-text-box {
        display: block
    }
}

#portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .voice-box {
    max-width: 570px;
    background-color: #f2f2f2;
    border-radius: 50px;
    padding: 30px;
    margin-bottom: 55px;
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .voice-box {
        max-width: inherit;
        margin-bottom: 10px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .voice-box {
        border-radius: 25px;
        padding: 25px
    }
}

#portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .voice-box::before {
    content: "";
    position: absolute;
    width: 41px;
    height: 40px;
    bottom: -5px;
    left: 10px;
    background-image: url(/img/kfp/hc/item06.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .voice-box::before {
        bottom: -20px;
        left: 100px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .voice-box::before {
        left: 0;
        right: 70px;
        margin: auto
    }
}

#mymainback #main_body #portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .voice-box p {
    font-size: 1.5em;
    text-align: justify;
    padding: 0;
}

@media only screen and (max-width: 640px) {
    #mymainback #main_body #portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .voice-box p {
        font-size: 1.3em
    }
}

#portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .icon-box {
    position: absolute;
    width: 110px;
    bottom: 0;
    left: -25px
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .icon-box {
        position: static;
        display: block
    }
}

#portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .icon-box .icon {
    margin: 0;
    width: 100%
}

#portal-health-check-03 .result-inner .result-view .result-view-voice-text-box .icon-box .icon img {
    width: 100%
}

#portal-health-check-03 .result-inner .result-view .result-text-box {
    margin: 2rem auto
}

#mymainback #main_body #portal-health-check-03 .result-inner .result-view .result-text-box p:first-child {
    text-align: justify;
    font-size: 1.3em;
    padding: 0;
}

#mymainback #main_body #portal-health-check-03 .result-inner .result-view .result-text-box p:last-child {
    font-size: 1.15em;
    text-align: right;
    padding: 0;
}

#portal-health-check-03 .result-inner .enquete-commentary {
    margin-top: 4rem
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .enquete-commentary {
        margin-top: 2rem
    }
}

#portal-health-check-03 .result-inner .enquete-term {
    font-size: 1.65em;
    text-align: center;
    font-weight: 700;
    padding: 10px;
    background-color: #fff;
    color: #5bb431;
    border: 5px solid #5bb431;
    -webkit-transition: .3s ease;
    transition: .3s ease
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .result-inner .enquete-term {
        font-size: 1.45em;
        border-width: 4px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .enquete-term {
        font-size: 1.3em;
        border-width: 2px
    }
}

#portal-health-check-03 .result-inner .enquete-description {
    font-size: 1.3em;
    text-align: justify;
    border: 5px solid #5bb431;
    border-top: none;
    padding: 20px
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .result-inner .enquete-description {
        font-size: 1.2em;
        border-width: 4px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .enquete-description {
        font-size: 1.1em;
        padding: 30px 10px;
        border-width: 2px
    }
}

#mymainback #main_body #portal-health-check-03 .result-inner .enquete-description p {
    margin-bottom: 30px;
    padding: 0;
}

#portal-health-check-03 .result-inner .enquete-description p .q {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 100%;
    font-size: 1.65em;
    padding: 0 6px 4px;
    text-align: center;
    background-color: #fff000;
    color: #3c4348;
    margin: 0 0 10px;
    border-radius: 5px
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .enquete-description p .q {
        border-radius: 2.5px;
        margin-bottom: 5px
    }
}

#portal-health-check-03 .result-inner .enquete-description p .your-selected {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .enquete-description p .your-selected {
        display: block
    }
}

#portal-health-check-03 .result-inner .enquete-description p .your-selected .text {
    font-size: 1em;
    font-weight: 700;
    width: 135px
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .enquete-description p .your-selected .text {
        width: 100%
    }
}

#portal-health-check-03 .result-inner .enquete-description p .your-selected .selected-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 70%
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .enquete-description p .your-selected .selected-list {
        width: 100%;
        margin-bottom: 10px
    }
}

#portal-health-check-03 .result-inner .enquete-description p .your-selected .selected-list .list {
    display: block;
    width: 100%;
    font-size: 1.2em;
    margin-bottom: 10px
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .result-inner .enquete-description p .your-selected .selected-list .list {
        width: 50% !important
    }
}

#portal-health-check-03 .result-inner .enquete-description p .your-selected .selected-list .list>span {
    display: inline-block;
    width: 80px;
    text-align: center;
    color: #fff;
    font-size: .8em
}

#portal-health-check-03 .result-inner .enquete-description p:last-child {
    margin-bottom: 0
}

#portal-health-check-03 .result-inner .enquete-description p:nth-child(2) .your-selected .selected-list .list {
    width: 140px
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .result-inner .enquete-description p:nth-child(2) .your-selected .selected-list .list {
        width: 40%
    }
}

#portal-health-check-03 .result-inner .enquete-description p:nth-child(10) .your-selected .selected-list .list {
    width: 40%
}

#portal-health-check-03 .result .button-post-accordion:hover,
#portal-health-check-03 .result .button-post-accordion.open {
    background-color: #5bb431;
    color: #fff;
    -webkit-transition: .3s ease;
    transition: .3s ease
}

#portal-health-check-03 .result .button-post-accordion:hover::after,
#portal-health-check-03 .result .button-post-accordion.open::after {
    border-color: #fff
}

#portal-health-check-03 .line-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute
}

#portal-health-check-03 .line-box .line-r,
#portal-health-check-03 .line-box .line-g,
#portal-health-check-03 .line-box .line-b {
    width: 100%;
    height: 100%;
    will-change: transform;
    -webkit-transition: -webkit-transform 1s linear;
    transition: -webkit-transform 1s linear;
    transition: transform 1s linear;
    transition: transform 1s linear, -webkit-transform 1s linear
}

#portal-health-check-03 .line-box .line-r {
    background-color: #ec7980
}

#portal-health-check-03 .line-box .line-g {
    background-color: #5bb431
}

#portal-health-check-03 .line-box .line-b {
    background-color: #00adba
}

#portal-health-check-03 .line-box.top {
    top: 0;
    left: 0;
    width: calc(100% - 20px);
    height: 20px
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .line-box.top {
        width: calc(100% - 10px);
        height: 10px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .line-box.top {
        width: calc(100% - 5px);
        height: 5px
    }
}

#portal-health-check-03 .line-box.top .line-r {
    max-width: 35%;
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

#portal-health-check-03 .line-box.top .line-g {
    max-width: 65%;
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

#portal-health-check-03 .line-box.right {
    right: 0;
    top: 0;
    width: 20px;
    height: calc(100% - 20px + .1%);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .line-box.right {
        width: 10px;
        height: calc(100% - 10px + .1%)
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .line-box.right {
        width: 5px;
        height: calc(100% - 5px + .1%)
    }
}

#portal-health-check-03 .line-box.right .line-r {
    max-height: 33.333%;
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(0);
    transform: scaleY(0)
}

#portal-health-check-03 .line-box.right .line-g {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(0);
    transform: scaleY(0)
}

#portal-health-check-03 .line-box.right .line-b {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(0);
    transform: scaleY(0)
}

#portal-health-check-03 .line-box.bottom {
    bottom: 0;
    right: 0;
    width: calc(100% - 20px);
    height: 20px
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .line-box.bottom {
        width: calc(100% - 10px);
        height: 10px
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .line-box.bottom {
        width: calc(100% - 5px);
        height: 5px
    }
}

#portal-health-check-03 .line-box.bottom .line-g {
    max-width: 35%;
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

#portal-health-check-03 .line-box.bottom .line-b {
    max-width: 65%;
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
}

#portal-health-check-03 .line-box.left {
    left: 0;
    bottom: 0;
    width: 20px;
    height: calc(100% - 20px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column
}

@media only screen and (max-width: 1000px) {
    #portal-health-check-03 .line-box.left {
        width: 10px;
        height: calc(100% - 10px)
    }
}

@media only screen and (max-width: 640px) {
    #portal-health-check-03 .line-box.left {
        width: 5px;
        height: calc(100% - 5px)
    }
}

#portal-health-check-03 .line-box.left .line-r {
    max-height: 50%;
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(0);
    transform: scaleY(0)
}

#portal-health-check-03 .line-box.left .line-b {
    max-height: 50%;
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(0);
    transform: scaleY(0)
}

#check input[type=text],
#check input[type=email],
#check input[type=tel],
#check input[type=date],
#check textarea,
#check select,
#check input[type=file],
#check input[type=radio],
#check input[type=checkbox],
#check input[type=button],
#check input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

#check label {
    cursor: pointer;
    display: inline-block;
    width: 178px;
    margin: auto 12px;
    text-align: center
}

@media only screen and (max-width: 640px) {
    #check label {
        display: block;
        width: 100%;
        max-width: 280px;
        margin: 0 auto 24px
    }
}

#check input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: none;
    opacity: 0;
    width: 1px;
    position: absolute;
    height: 1px
}

#check input[type=radio]+span {
    position: relative;
    display: inline-block;
    width: 100%;
    vertical-align: middle;
    cursor: pointer;
    padding: 5px;
    font-weight: 400;
    font-size: 1.3em;
    background-color: #999;
    color: #fff;
    -webkit-transition: .3s ease;
    transition: .3s ease
}

#check input[type=radio].q-y+span:hover,
#check input[type=radio].q-y:checked+span {
    background-color: #ec7980
}

#check input[type=radio].q-n+span:hover,
#check input[type=radio].q-n:checked+span {
    background-color: #00adba
}

#check input[type=button] {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.75em;
    font-weight: 700;
    padding: 50px 0;
    border: none;
    -webkit-transition: .5s linear;
    transition: .5s linear
}

@media only screen and (max-width: 1000px) {
    #check input[type=button] {
        font-size: 1.5em;
        padding: 40px 0
    }
}

@media only screen and (max-width: 640px) {
    #check input[type=button] {
        font-size: 1.4em;
        padding: 30px 0
    }
}

#check input[type=button].result-btn {
    background-color: #fff000;
    cursor: pointer
}

#check input[type=button].result-btn:hover {
    -webkit-filter: brightness(1.2);
    filter: brightness(1.2);
    -webkit-transition: .5s linear;
    transition: .5s linear
}

@media only screen and (max-width: 640px) {
    #check input[type=button].result-btn:hover {
        -webkit-filter: brightness(1);
        filter: brightness(1)
    }
}

#check input[type=button].disabled {
    background-color: #999;
    color: #fff;
    pointer-events: none
}

.anchor {
    display: block;
    padding-top: 2rem;
    margin-top: -2rem
}

.button-post-accordion {
    cursor: pointer;
    padding-right: 50px !important;
    position: relative
}

.button-post-accordion:after {
    content: "";
    display: block;
    border-top: 2px solid #1eaa38;
    border-right: 2px solid #1eaa38;
    width: 12px;
    height: 12px;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 20px;
    margin: auto
}

#mymainback #main_body .wp-block-column h4.button-post-accordion::after {
    background-color: transparent;
    right: 15px;
    left: auto;
}

.button-post-accordion.open:after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

@media only screen and (max-width: 640px) {
    .button-post-accordion {
        padding-right: 28px !important
    }
}

.button-post-accordion:after {
    right: 10px
}

.post-accordion-contents {
    display: none;
    margin-bottom: 0
}

/* ここまで　じぶん体調チェック */

/* ここから　アルコール症スクリーニングテスト　AUDIT */

#audit_test .audit_list {
    list-style-type: none;
}

#audit_test .audit_list li {
    display: inline-block;
    margin: 5px 1em 5px 0 !important;
}

#audit_test .audit_list li label {
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0.5rem;
}

#check_note {
    display: none;
    color: red;
    font-weight: bold;
}

#mymainback #main_body #audit_test_check {
    cursor: pointer;
    /* display: block; */
    width: 200px;
    margin: 1.5rem auto 1rem !important;
    background-color: #32373c;
    border-radius: 1.55em;
    color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5rem 0;
}

#audit_test_check.disabled {
    opacity: .4;
    pointer-events: none;
}

#audit_result_text {
    font-weight: bold;
}

#audit_result_text.stage01 {
    color: #0066c0;
}

#audit_result_text.stage02 {
    color: #F2B50E;
}

#audit_result_text.stage03 {
    color: red;
}

#audit_result {
    display: none;
}

#audit_result .wp-block-pullquote {
    padding: 0 0 1em;
}

#audit_result blockquote {
    background-color: #fff;
    border: 5px solid #ecf2e6;
    padding: 2rem;
}

#mymainback #main_body #audit_result blockquote p {
    font-size: 1.75rem;
    padding: 0;
}

/* ここまで　アルコール症スクリーニングテスト　AUDIT */

/* ここから　大・小メニュー　リスト */

#main_body .info_list_wrap .info_list.info_list_date ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#main_body .info_list_wrap .info_list.info_list_date ul li {
    display: flex;
    flex-direction: column;
    border-bottom: solid 1px #ededed;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

#main_body .info_list_wrap .info_list.info_list_date ul li:last-child {
    margin-bottom: 0;
}

#main_body .info_list_wrap .info_list.info_list_date ul li span.article_title {
    padding: 1rem;
}

#main_body .info_list_wrap .info_list.info_list_date ul li span.article_title a {
    text-decoration: none;
    color: #333;
    font-size: 1.25rem;
    font-weight: bold;
}

#main_body .info_list_wrap .info_list.info_list_date ul li span.article_title a:hover {
    color: #1DAA37;
}


#main_body .info_list_wrap2 .info_list2 ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#main_body .info_list_wrap2 .info_list2 ul li {
    margin-bottom: 10px;
}

#main_body .info_list_wrap2 .info_list2 ul li span.article_title a {
    display: block;
    background-color: #d0e6a1;
    padding: 1rem;
    text-decoration: none;
    color: #333;
    font-size: 1.25rem;
    font-weight: bold;
    border-left: solid 12px #95c331;
    border-bottom: solid 3px #e5f2c7;
}

#main_body .info_list_wrap2 .info_list2 ul li span.article_title a:hover {
    background-color: #fbc677;
    border-left-color: #f19100;
    border-bottom-color: #fee7c4;
    color: #333;
}

/* ここまで　大・小メニュー　リスト */

/* ここから　健康づくりピックアップ情報　カテゴリ一覧 */

#portal_kenkoinfo_list {
    position: relative
}

#portal_kenkoinfo_list:after {
    background-image: url(../images/portal/bg-portal.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 250px;
    z-index: 0
}

@media only screen and (max-width: 640px) {
    #portal_kenkoinfo_list:after {
        height: 200px
    }
}

#portal_kenkoinfo_list .kenkoinfo_list-about {
    position: relative;
    z-index: 1
}

#portal_kenkoinfo_list .kenkoinfo_list-about .container {
    padding-top: 4em;
    padding-bottom: 2em
}

@media only screen and (max-width: 640px) {
    #portal_kenkoinfo_list .kenkoinfo_list-about .container {
        padding-top: 3em;
        padding-bottom: 1em
    }
}

#portal_kenkoinfo_list h2 {
    font-size: 1.625em;
    font-weight: bold;
    margin-bottom: 1em;
    text-align: center;
    padding-bottom: 20px;
    position: relative
}

#portal_kenkoinfo_list h2:after {
    background-color: #1eaa38;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 120px;
    height: 2px;
    z-index: 0
}

@media only screen and (max-width: 640px) {
    #portal_kenkoinfo_list h2 {
        font-size: 1.375em
    }

    #portal_kenkoinfo_list h2:after {
        width: 60px
    }
}

#portal_kenkoinfo_list .lead {
    line-height: 2;
    text-align: center
}

@media only screen and (max-width: 640px) {
    #portal_kenkoinfo_list .lead {
        text-align: left
    }
}

#portal_kenkoinfo_list .list-cat {
    position: relative;
    z-index: 1
}

#portal_kenkoinfo_list .list-cat .container {
    padding-top: 2em;
    padding-bottom: 4em
}

@media only screen and (max-width: 640px) {
    #portal_kenkoinfo_list .list-cat .container {
        padding: 2em 10px
    }
}

#portal_kenkoinfo_list .list-cat .flex-contents {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 1.5em;
    width: 100%
}

#portal_kenkoinfo_list .list-cat a {
    background-color: #fff;
    border: 1px solid #d3d3d3;
    border-radius: 10px;
    color: inherit;
    display: block;
    margin: 0 1em 1.5em;
    padding: 1em 5px;
    text-decoration: none;
    overflow: hidden;
    width: calc(33.3333333333% - 2em)
}

#portal_kenkoinfo_list .list-cat a img {
    display: block;
    margin: auto;
    max-width: 200px;
    width: 80%
}

#portal_kenkoinfo_list .list-cat a:hover {
    border: 1px solid #1eaa38
}

@media only screen and (max-width: 1000px) {
    #portal_kenkoinfo_list .list-cat a {
        margin: 0 .5em 1.5em;
        width: calc(33.3333333333% - 1em)
    }
}

@media only screen and (max-width: 640px) {
    #portal_kenkoinfo_list .list-cat a {
        margin: 0 .2em 1.5em;
        width: calc(50% - .4em)
    }
}

#portal_kenkoinfo_list .list-cat .title {
    font-weight: bold;
    margin-top: .5em;
    text-align: center;
    display: block;
}

@media only screen and (max-width: 1000px) {
    #portal_kenkoinfo_list .list-cat .title {
        font-size: 1.8vw
    }
}

@media only screen and (max-width: 640px) {
    #portal_kenkoinfo_list .list-cat .title {
        font-size: 3.5vw
    }
}

/* ここまで　健康づくりピックアップ情報　カテゴリ一覧 */



/* 追記2025年4月23日: YouTube動画のモーダル表示 */
.ytModal {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    margin-bottom: 20px;
    min-height: 180px;
    /* 読み込み中の高さを確保（任意） */
    align-items: flex-start;
    /* 上揃え */
}

/* 各動画アイテム（ボタン+タイトル）のコンテナ */
.video-item {
    width: 240px;
    text-align: center;
}

.modal-button {
    width: 100%;
    height: 135px;
    background-color: #eee;
    /* サムネイル読み込み前の背景色 */
    background-size: cover;
    background-position: center;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    display: block;
    text-decoration: none;
    transition: transform 0.2s ease, background-image 0.5s ease;
    /* 背景画像のトランジション追加 */
    margin-bottom: 8px;
}

.modal-button:hover {
    transform: scale(1.03);
}

.modal-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 1;
    transition: background-color 0.2s ease;
    opacity: 0;
    /* 初期状態では非表示 */
    pointer-events: none;
    /* クリックを妨げない */
}

/* サムネイル読み込み後にオーバーレイ表示 */
.modal-button.has-thumbnail::before {
    opacity: 1;
}

.modal-button:hover::before {
    background-color: rgba(0, 0, 0, 0);
}

.video-title {
    font-weight: bold;
    font-size: 14px;
    margin: 0;
    padding: 0 5px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-height: calc(1.3em * 2);
    min-height: calc(1.3em * 2);
    color: #555;
    /* 初期色 */
    text-align: left;
}

/* ローディング表示 */
.video-title.is-loading {
    opacity: 0.6;
    color: #999;
}

/* エラー表示 */
.ytModal-error {
    color: red;
    width: 100%;
}

@media (max-width: 767px) {

    /* 767px以下の画面幅に適用 */
    .ytModal {
        flex-direction: column;
        /* アイテムを縦に並べる */
        align-items: center;
        /* アイテムを中央揃え */
        gap: 20px;
        /* 縦方向の隙間を調整 */
    }

    .video-item {
        width: 90%;
        /* 画面幅に対して少し余裕を持たせる */
        max-width: 300px;
        /* 最大幅を設定（任意、デザインに応じて調整） */
        /* text-align: center; は継承される */
    }

    /* ボタンの高さをアスペクト比で維持（任意） */
    .modal-button {
        height: auto;
        /* 高さを自動に */
        aspect-ratio: 16 / 9;
        /* アスペクト比を維持 */
    }

}