@media only screen and (max-width:768px) {
    .home_page .key {
        --height: calc(100vh - 60px);
        --max-height: 138vw;
        --min-height: 520px
    }
    .home_page .key .key_text {
        font-size: min(6px, 1vw)
    }
    .home_page .key .key_text:after,
    .home_page .key .key_text:before {
        font-size: 0.7em
    }
    .home_page .key .key_text .item {
        padding: 0 20px 11vh
    }
    .home_page .key h2 {
        letter-spacing: 0.05em
    }
    .home_page .key h2 .tt_bg:last-child {
        margin-left: 0
    }
    .home_page .key .key_img {
        max-width: 147em;
        max-height: 98em;
        font-size: 0.8em
    }
    .home_page .key .catch {
        display: table;
        margin-left: auto;
        margin-right: auto;
        text-align: center
    }
}
@media only screen and (max-width:450px) {
    .home_page .key p {
        font-size: 3.5em
    }
    .home_page .key .key_img {
        max-width: 100%;
        max-height: 119em
    }
    .home_page .key .key_img .k_img.k_img01 {
        top: 6.1em;
        left: 10.8em
    }
    .home_page .key .key_img .k_img.k_img02 {
        bottom: 5.6em;
        left: 24.3em
    }
    .home_page .key .key_img .k_img.k_img03 {
        top: -3em;
        right: 0
    }
}
@media only screen and (max-width:768px) and (orientation:landscape) {
    .home_page .key {
        --min-height: 590px
    }
    .home_page .key .key_text .item {
        padding-bottom: 27vh
    }
}
@media only screen and (max-width:450px) {
    .home_page .key:before {
        bottom: -359px
    }
}
@media only screen and (max-width:768px) {
    .h3_st01 h3 {
        font-size: 28px
    }
    .h3_st01 h3:before {
        margin-bottom: 3px
    }
    .h3_st01 .h_en {
        font-size: 16px;
        margin-top: 0
    }
    .h3_st02 {
        justify-content: center
    }
    .h3_st02 h3 {
        font-size: 26px
    }
    .h3_st02 .h_en {
        font-size: 14px;
        padding-left: 14px;
        margin-left: 11px;
        margin-top: 6px
    }
    .h3_st02 .h_en:before {
        top: -5px
    }
    .txt_en {
        font-size: min(70px, 9.5vw);
        right: 0;
        text-align: center
    }
    .idx01 {
        padding: 50px 0px 70px
    }
    .idx01:before {
        background-image: url(../images/idx01_bg_sp.jpg);
        background-size: 100% auto;
        background-position: bottom center
    }
    .idx01 .h3_st01 {
        margin-bottom: 18px
    }
    .idx01 h4 {
        font-size: 22px;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        letter-spacing: 0.05em;
        padding: 1vw;
    }
    .idx01 .block_mediacal-care {
        border-radius: 15px;
        padding: 40px 4% 35px;
        margin-top: 45px
    }
    .idx01 .block_mediacal-care .care_img {
        margin: 2.5em auto 2.5em;
        width: 55em;
        height: 73.5em;
        font-size: min(10px, 1.3vw);
    }
    .idx01 .block_mediacal-care .gr_circle .item, .idx01 .block_mediacal-care .gr_bg .item {
        width: 30em;
        height: 23.4em;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it01, .idx01 .block_mediacal-care .gr_bg .item.it01 {
        bottom: 16em;
        left: -1em;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it02, .idx01 .block_mediacal-care .gr_bg .item.it02 {
        bottom: -2em;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it03, .idx01 .block_mediacal-care .gr_bg .item.it03 {
        bottom: 16em;
        right: -1em;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it01::after {
        transform: rotate(36deg);
        right: 9em;
        top: -13em;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it02::after {
        top: -25.9em;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it03::after {
        transform: rotate(-36deg);
        left: 9em;
        top: -13em;
    }
    /* .idx01 .block_mediacal-care .gr_circle .item, .idx01 .block_mediacal-care .gr_bg .item{
        width: 27em;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it01, .idx01 .block_mediacal-care .gr_bg .item.it01{
        top: 0;
        left: 0;
        bottom: unset;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it02, .idx01 .block_mediacal-care .gr_bg .item.it02{
        top: 0;
        bottom: unset;
        left: unset;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it03, .idx01 .block_mediacal-care .gr_bg .item.it03{
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it01::after {
        transform: rotate(165deg);
        right: 1.5em;
        top: 23em;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it02::after{
        transform: rotate(-158deg);
        left: 4.5em;
        right: unset;
        top: 23em;
    }
    .idx01 .block_mediacal-care .gr_circle .item.it03::after{
        transform: unset;
        left: 0;
        right: 0;
        top: -9.9em;
        margin: auto;
    }
    .idx01 .block_mediacal-care .b_logo{
        width: 43em;
        height: 26.7em;
    } */
    .idx01 .block_mediacal-care .b_care {
        margin: 0 auto
    }
    .idx01 .block_mediacal-care .b_content {
        padding: 0
    }
    .idx02 {
        padding-top: 10px
    }
    .idx02 .h3_st01 {
        margin-bottom: 30px
    }
    .idx02 .h3_st01:before {
        top: -46px;
        width: 240px;
        height: 173px
    }
    .idx02 .block_trouble {
        align-items: flex-start;
        font-size: min(8px, 1.2vw)
    }
    .idx02 .block_trouble .trouble_col {
        width: calc(50% - 0.5em);
        margin-top: 2.8em
    }
    .idx02 .trouble_img {
        position: relative;
        font-size: 0.9em
    }
    .idx02 .trouble_btn {
        display: block;
        max-width: 100%;
        margin-bottom: 1.5em
    }
    .idx02 .trouble_btn a {
        padding: 1.1111111111em 2.111111em 1.0555555556em 1.6666666667em;
        min-height: 4.7857142857em;
        display: flex;
        align-items: center
    }
    .idx02 .trouble_btn a:after {
        right: 0.666667em;
        aspect-ratio: 1/1
    }
    .idx03 {
        padding-bottom: 55px;
        padding-top: 60px;
        background-size: 45% auto
    }
    .idx03 .h3_st01 {
        margin-bottom: 25px
    }
    .idx03 .h4_tt {
        text-align: center;
        margin-top: 0
    }
    .idx03 .h4_tt h4 {
        font-size: 20px
    }
    .idx03 .h4_tt .h_en {
        margin-bottom: 2px
    }
    .idx03 .symptoms_img {
        margin: 0 auto 25px;
        display: table
    }
    .idx03 .btn_st01 {
        margin-top: 22px;
        margin-left: auto;
        margin-right: auto;
        max-width: 280px
    }
    .idx_wrap {
        margin-top: 65px
    }
    .idx_wrap .h3_st01 {
        margin-bottom: 30px;
        margin-top: 0
    }
    .block_treatment .txt_en {
        left: 0;
        letter-spacing: 0;
        top: -40px
    }
    .block_treatment .treatment_img {
        display: table;
        margin: 0 auto 20px;
        padding-top: 75px
    }
    .block_treatment .treatment_img:before {
        top: 0
    }
    .block_treatment .treatment_img img {
        border-radius: 20px
    }
    .block_treatment.box_right .treatment_img:before {
        max-height: 550px;
        height: 87vw;
        width: 115%;
        max-width: 500px;
        top: 0;
        right: -120px;
        border-top-left-radius: 20px
    }
    .block_treatment.box_left .treatment_img:before {
        max-height: 750px;
        height: 60vw;
        width: 90%;
        max-width: 660px;
        top: 0;
        left: -40px
    }
    .treatment_gr {
        justify-content: center;
        margin-top: 40px
    }
    .treatment_gr .treatment_btn {
        width: calc((100% - 4em) / 2);
        margin-right: 2em;
        margin-bottom: 2em;
        font-size: min(10px, 1.5vw)
    }
    .treatment_gr .treatment_btn:nth-child(3n+3) {
        margin-right: 2em
    }
    .treatment_gr .treatment_btn:last-child,
    .treatment_gr .treatment_btn:nth-child(2n+2) {
        margin-right: 0
    }
    .treatment_gr .treatment_btn .box_in {
        height: 15em
    }
    .idx04 {
        padding: 40px 0 55px
    }
    .idx04 .inner_max:after,
    .idx04 .inner_max:before {
        font-size: 0.8vw
    }
    .idx04 .h3_st01 {
        margin-bottom: 25px
    }
    .idx04 .b_wrapper {
        border-radius: 25px;
        padding: 35px 5%;
        width: 100%
    }
    .idx04 .block_diseases {
        margin-top: 20px
    }
    .idx04 .block_diseases .diseases_item {
        width: calc(50% - 1em);
        margin: 0.5em;
        font-size: min(10px, 1.5vw)
    }
    @supports (-webkit-touch-callout:none) {
        .idx04 .block_diseases h4 {}
        .idx04 .block_diseases h4 rt {
            line-height: 1;
            transform: translateY(0.4545454545em)
        }
        .idx04 .block_diseases h4 .tt_lg {
            line-height: 1;
            margin-bottom: 0
        }
        .idx04 .block_diseases h4 .tt_lg rt {
            transform: translateY(0.4545454545em)
        }
    }
    @media not all and (min-resolution:0.001dpcm) {
        @supports (-webkit-appearance:none) {
            .idx04 .block_diseases h4 {}
            .idx04 .block_diseases h4 rt {
                line-height: 1;
                transform: translateY(0.4545454545em)
            }
            .idx04 .block_diseases h4 .tt_lg {
                line-height: 1;
                margin-bottom: 0
            }
            .idx04 .block_diseases h4 .tt_lg rt {
                transform: translateY(0.4545454545em)
            }
        }
    }
    .idx04 .block_diseases h4 .tt_lg {
        font-size: 2em;
        margin-bottom: 0.2em;
        letter-spacing: 0
    }
    .idx04 .block_diseases h4 .tt_lg rt {
        font-size: 0.55em;
        margin-bottom: 0
    }
    .idx04 .block_diseases h4 .tt_sm {
        font-size: 1.6em;
        letter-spacing: 0;
        margin-top: 0
    }
    .idx04 .block_diseases h4 .tt_sm rt {
        font-size: 0.6875em
    }
    .idx04 .block_diseases .list li {
        font-size: 1.4em
    }
    .sec_treatment {
        padding: 55px 0;
    }
    .idx05 {
        padding: 2vw 0 60px
    }
    .idx05:after,
    .idx05:before {
        font-size: min(4px, 0.6vw)
    }
    .idx05 .h3_st01 {
        margin-bottom: 10px
    }
    .idx05 .sale-treatment_img {
        font-size: min(8px, 1.2vw);
        display: table;
        margin: 0 auto 0;
        top: 0
    }
    .idx05 .btn_st01 {
        margin: 20px auto 0;
        max-width: 280px
    }
    .idx05 .txt_en {
        text-align: center
    }
    .idx05 .txt_en.txt_top {
        left: 0;
        right: 0;
        top: -0.5857142857em
    }
    .idx05 .txt_en.txt_bottom {
        bottom: -71px;
        left: 0;
        right: 0
    }
    .idx06 {
        padding: 10vw 0 60px;
        background-color: #5F9F4B;
        background-image: url(../images/idx06_bg_sp01.png), url(../images/idx06_bg_sp02.png);
        background-size: 100% auto, 100% auto;
        background-position: top left, bottom right
    }
    .idx06 .block_feature .feature_it {
        max-width: 514px;
        margin: 0 auto
    }
    .idx06 .block_feature .feature_img {
        font-size: min(10px, 1.6vw)
    }
    .idx06 .block_feature .point {
        font-size: 6em
    }
    .idx06 .block_feature h4 {
        font-size: min(20px, 5.5vw)
    }
    .idx06 .block_feature .feature_cont {
        padding: 10px 10px 11px 10px
    }
    .idx06 .btn_st01 {
        margin-top: 25px;
        max-width: 280px
    }
    .idx07 {
        padding: 10vw 0 45px
    }
    .idx07 .h3_st01 {
        margin-top: 0;
        margin-bottom: 25px
    }
    .idx07 .block_treatment .txt_en {
        left: 0
    }
    .idx07 .box_name {
        font-size: min(10px, 1.8vw);
        bottom: -0.3em;
        left: 0.7em;
    }
    .idx07 .gr_btn {
        margin-top: 25px
    }
    .idx07 .gr_btn .btn_st01 {
        max-width: 280px;
        margin-bottom: 15px;
        margin-top: 15px
    }
    .idx08 {
        padding-top: 37vw;
        padding-bottom: 60px
    }
    .idx08:before {
        max-height: 400px;
        height: 60vw
    }
    .idx08 .h3_st01 {
        margin-bottom: 25px
    }
    .idx08 .h3_st01:before {
        top: -43px;
        width: 185px;
        height: 155px
    }
    .idx08 .block_information {
        width: calc(100% - 54px);
        padding: 12px 15px 15px;
        border-radius: 20px
    }
    .idx08 .block_information .inner {
        max-width: 600px;
        padding: 0
    }
    .idx08 .btn_st01 {
        max-width: 280px;
        margin: 30px auto 0
    }
    .idx08 .time_sheet {
        margin-top: 35px
    }
    .idx08 .block_news {
        margin-top: 40px
    }
    .idx08 .block_news:before {
        height: 1px;
        width: 100%;
        top: 30px
    }
    .idx08 .block_news .col01 {
        margin-bottom: 30px;
        padding-bottom: 30px
    }
    .idx08 .block_news .h3_st02 {
        margin-bottom: 17px
    }
    .idx08 .block_news .list_post li {
        margin-bottom: 7px
    }
    .idx08 .block_news .list_post a {
        padding: 14px 39px 14px 15px
    }
    .idx08 .block_news .list_post a:after {
        right: 15px;
        width: 20px;
        height: 20px
    }
    .idx08 .txt_info a {
        font-size: 17px;
    }
    .idx_map {
        border-radius: 20px;
        margin-top: 35px;
        height: 299px
    }
    .block_banner {
        padding: 45px 0
    }
    .block_banner .acc_banner {
        margin-bottom: 20px
    }
    .block_banner .acc_banner:last-child {
        margin-bottom: 0
    }
    .block_banner .acc_banner .banner_tl {
        min-height: 60px;
        padding: 10px 40px 10px 10px
    }
    .block_banner .acc_banner .banner_tl .tt {
        font-size: 18px
    }
    .block_banner .acc_banner .banner_tl .ic_plus {
        right: 15px;
        width: 20px;
        height: 20px
    }
    .block_banner .acc_banner .banner_tl .ic_plus:before {
        width: 10px
    }
    .block_banner .acc_banner .banner_tl .ic_plus:after {
        height: 10px
    }
    .block_banner .acc_banner .banner_cont {
        padding: 20px 20px 20px
    }
    .block_banner .acc_banner .flex .bn,
    .block_banner .acc_banner .flex .bn_link {
        width: calc((100% - 5px) / 2);
        margin-right: 5px;
        margin-bottom: 5px
    }
    .block_banner .acc_banner .bn_link {
        font-size: min(10px, 1.7vw)
    }
}
@media only screen and (max-width:430px) {
    .txt_en {
        font-size: 11vw
    }
    .idx01 .block_mediacal-care .care_img {
        margin-top: 1.5em
    }
    .idx01 .block_mediacal-care .gr p {
        font-size: 2.85em;
        letter-spacing: 0.025em
    }
    .idx01 .block_mediacal-care .gr .item.it01 p {
        padding-right: 1.1em
    }
    .idx01 .block_mediacal-care .gr .item.it02 p {
        padding-right: 1em
    }
    .idx01 .block_mediacal-care .gr .item.it03 p {
        padding-left: 1em
    }
    .idx01 .block_mediacal-care .b_logo {
        width: 37em;
    }
    .idx01 .block_mediacal-care .b_logo .txt_logo {
        font-size: 3em;
    }
    .idx01 .block_mediacal-care .gr_circle .item figure {
        font-size: 1.2em;
    }
    .idx01 .block_mediacal-care .gr_circle .item p {
        font-size: 2.6em;
        letter-spacing: 0.05em;
    }
    .idx01 .block_mediacal-care .gr_circle .item:nth-child(1) p, .idx01 .block_mediacal-care .gr_circle .item:nth-child(3) p {
        padding-bottom: 1em;
    }
    .idx02 .block_trouble {
        font-size: min(10px, 1.8vw)
    }
    .idx02 .trouble_img {
        font-size: 0.75em
    }
    .idx02 .trouble_btn a {
        padding: 0.5em 1.8em 0.5em 1.4em
    }
    .block_treatment .treatment_img {
        padding-top: 14vw
    }
    .treatment_gr .treatment_btn .box_in {
        padding: 3em 2.5em 3.5em
    }
    .treatment_gr .treatment_btn .box_in:before {
        font-size: 0.9em
    }
    .treatment_gr .treatment_btn .box_in:after {
        bottom: 1.8em;
        right: 1.8em;
        font-size: 1.3em
    }
    .treatment_gr .treatment_btn .box_in p {
        font-size: 1.2em
    }
    .treatment_gr .treatment_btn .box_in .en {
        margin-bottom: 0
    }
    .idx04 .block_diseases .diseases_item {
        font-size: min(10px, 1.9vw)
    }
    .idx04 .block_diseases .diseases_tl {
        padding: 3.5em 0.7em 1em
    }
    .idx04 .block_diseases h4 .tt_lg {
        font-size: 2.1em
    }
    .idx04 .block_diseases h4 .br_pc {
        display: block
    }
    .idx04 .block_diseases .diseases_list {
        padding: 1.5em 0.9em 1.5em;
        min-height: auto
    }
    .idx04 .block_diseases .diseases_list.min_h {
        min-height: 13.5em
    }
    .idx04 .block_diseases .list li:before {
        width: 5px;
        height: 5px;
        top: 0.5em
    }
    .idx04 .block_diseases .diseases_cont {
        padding: 1em 0.9em 1em
    }
    .idx05 {
        padding-bottom: 77px
    }
    .idx05 .txt_en.txt_bottom {
        bottom: -85px
    }
    .idx06,
    .idx07 {
        padding-top: 22vw
    }
}
@media only screen and (max-width:375px) {
    .idx08 .br_sp {
        display: none
    }
    .idx08 .txt_info .tt .br_auto {
        display: unset
    }
}
@media only screen and (max-width:370px) {
    .idx01 h4 {
        letter-spacing: 0;
        font-size: min(22px, 6vw)
    }
    .block_banner .acc_banner .flex .bn,
    .block_banner .acc_banner .flex .bn_link {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 10px
    }
    .block_banner .acc_banner .flex .bn:nth-child(2n+2),
    .block_banner .acc_banner .flex .bn_link:nth-child(2n+2) {
        margin-right: auto;
        margin-left: auto
    }
    .block_banner .acc_banner .bn_link {
        font-size: 10px
    }
}
/*# sourceMappingURL=index_sp.css.map */