@charset "utf-8";

h1 {
    display: flex;
    align-items: center;
    flex-flow: column;
    justify-content: center;
    width: 100vw;
    height: 206px;
    margin: 0 calc(50% - 50vw);
    padding-top: 22px;
    text-align: center;
    color: #14146f;
    background-image: url(../../images/case/h1_bg.webp);
    background-repeat: no-repeat;
    background-position: top 58% center;
    background-size: 100%;
    text-shadow: 0 0 7px #fff;
    font-family: "Noto Serif JP", serif;
    font-size: 40px;
}

h1 span {
    width: 605px;
    margin-top: 10px;
    padding: 10px 22px 0;
    letter-spacing: .05em;
    border-top: 1px solid #14146f;
    font-size: 24px;
    font-weight: 300;
}

h3 {
    margin-bottom: 30px;
    padding: 3px 0 10px 22px;
    color: #0f3c57;
    border-bottom: 1px solid #231815;
    border-left: 10px solid #c6f2f4;
    font-family: "Noto Serif JP";
    font-size: 25px;
    font-weight: 600;
}

.case_block {
    box-shadow: 2px 3px 6px rgba(0, 0, 0, .16);
}

.case_title {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 45px;
    padding: 0 10px 0 18px;
    color: #fff;
    background: #7ec35a;
    font-size: 20px;
    font-weight: 500;
    line-height: 23px;
    ;
}

.case_title::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: -45px;
    width: 0;
    height: 0;
    border-top: 45px solid transparent;
    border-right: 0 solid transparent;
    border-bottom: 0 solid transparent;
    border-left: 45px solid #7ec35a;

    filter: drop-shadow(2px 3px 6px rgba(0, 0, 0, .16));
}

.case_title::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 23px;
    margin-right: 14px;
    vertical-align: bottom;
    background-image: url("../../images/case/icon_file.webp");
}

@media screen and (max-width: 1000px) and (min-width: 768px) {
    h1 {
        width: 100%;
        margin: 0;
    }
}

@media screen and (max-width: 767px) {
    h1 {
        height: auto;
        padding: 17px 16px;
        font-size: 22px;
    }

    h1 span {
        width: 100%;
        font-size: 13px;
    }

    h3 {
        margin-bottom: 15px;
        padding-left: 10px;
        border-left: 5px solid #c6f2f4;
        font-size: 17px;
    }

    .case_title {
        height: 41px;
        padding: 0 14px 0 16px;
        font-size: 18px;
    }

    .case_title::before {
        width: 25px;
        height: 20px;
    }

    .case_title::after {
        right: -26px;
        width: 0;
        height: 0;
        border-top: 41px solid transparent;
        border-left: 26px solid #7ec35a;
    }
}

/* ------------------------------
case_block_top
------------------------------ */
.case_block_top .case_detail {
    display: flex;
    align-items: flex-start;
    padding: 47px 60px 36px 40px;
    background: #f4faf0;
}

.hospital_name_block {
    padding: 16px 0 16px 20px;
    background-color: #fff;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
}

.left_block {
    display: flex;
    align-items: flex-start;
    width: 84%;
}

.hospital_text_block {
    width: 46.5%;
}

.hopital_img {
    width: 53.5%;
}

.hospital_text_block>p {
    padding: 16px 20px 0;
    font-size: 14px;
}

.hospital_name_block .hospital_name_sub {
    padding-bottom: 5px;
    border-bottom: 1px solid #707070;
    font-size: 15px;
}

.hospital_name_block .hospital_name {
    padding-bottom: 6px;
    font-size: 33px;
}

.hospital_name_block .hospital_name span {
    padding-left: 5px;
    font-size: 14px;
}

.hospital_name_block .hospital_place {
    font-size: 15px;
}

.hospital_person_block {
    width: 16%;
    margin-top: auto;
    padding-left: 4%;
    text-align: center;
}

.person_position {
    margin-bottom: 13px;
    font-size: 12px;
}

.peron_icon {
    max-width: 100px;
    margin: auto;
    margin-bottom: 13px;
}

.person_name span {
    padding-left: 2px;
    font-size: 14px;
}

.person_name {
    font-family: "Noto Serif JP", serif;
    font-size: 18px;
    font-weight: 500;
}

@media screen and (max-width: 767px) {
    .case_block_top .case_detail {
        padding: 23px 32px 27px 32px;
    }

    .case_block_top .case_detail {
        flex-flow: column;
    }

    .left_block,
    .hospital_text_block,
    .hopital_img,
    .hospital_person_block {
        width: 100%;
    }

    .left_block {
        flex-flow: column-reverse;
    }

    .hospital_text_block>p {
        padding: 16px 0 20px;
        font-size: 13px;
        line-height: 160%;
    }

    .hospital_name_block {
        padding: 10px 0 10px 16px;
    }

    .hospital_name_block .hospital_name {
        padding-bottom: 3px;
        font-size: 28px;
    }

    .hospital_name_block .hospital_name_sub {
        font-size: 12px;
    }

    .hospital_name_block .hospital_name span {
        font-size: 13px;
    }

    .hospital_name_block .hospital_place {
        font-size: 14px;
    }

    .hospital_person_block {
        display: flex;
        align-items: center;
        padding-left: 0;
        text-align: left;
    }

    .peron_icon {
        margin-bottom: 0;
    }

    .person_position {
        margin-bottom: 8px;
        font-size: 15px;
    }

    .person_name {
        font-size: 21px;
    }
}

/* ------------------------------
case_block_top
------------------------------ */
.explanation_block {
    padding: 67px 60px 76px 60px;
}

.explanation_block p {
    line-height: 175%;
}

.explanation_block .copy_block {
    margin-bottom: 40px;
    padding: 13px 0 13px 30px;
    color: #0f3c57;
    border-left: 11px solid #c6f2f4;
    background-repeat: no-repeat;
    background-position: center right;
    background-size: contain;
    text-shadow: 0 0 6px #fff;
    font-family: "Noto Serif JP";
    font-size: 32px;
    font-weight: 600;
}

.explanation_detail {
    margin-top: 50px;
}

.explanation_detail>div+div {
    margin-top: 50px;
}

.explanation_detail .text_block.column02 {
    display: flex;
    align-items: flex-start;
}

.explanation_detail .text_block.column02 p {
    width: 48%;
}

.explanation_detail .text_block.column02 img {
    width: 47.5%;
    margin-top: -10px;
    margin-left: 20px;
}

@media screen and (max-width: 767px) {
    .lead_text {
        font-size: 13px;
    }

    .explanation_block {
        padding: 27px 28px 47px 28px;
    }

    .explanation_block .copy_block {
        width: calc(100% + 32px);
        margin-bottom: 26px;
        margin-left: -16px;
        padding-bottom: 42%;
        padding-left: 0;
        border: 0;
        background-position: bottom center;
        font-size: 22px;
    }

    .explanation_block .copy_block h2 {
        margin-left: 16px;
        padding-left: 10px;
        border-left: 9px solid #c6f2f4;
    }

    .explanation_detail,
    .explanation_detail>div+div {
        margin-top: 30px;
    }

    .explanation_detail .text_block.column02 {
        flex-flow: column;
    }

    .explanation_detail .text_block.column02 p,
    .explanation_detail .text_block.column02 img {
        width: 100%;
    }

    .explanation_detail .text_block.column02 img {
        margin-top: 23px;
        margin-left: 0;
    }
}


/* ------------------------------
case_btn_list
------------------------------ */
.case_btn_list {
    max-width: 500px;
    margin: 66px auto 0;
}

.case_btn_list a {
    display: block;
}

.case_btn_list li:not(:last-child) {
    margin-bottom: 35px;
}

@media screen and (max-width: 767px) {
    .case_btn_list {
        margin: 42px 16px 0;
    }

    .case_btn_list li:not(:last-child) {
        margin-bottom: 40px;
    }
}