@media only screen and (max-width:768px) {
    .home_page .key {
        --height: calc(100vh - 60px);
        --max-height: 170vw;
        --min-height: 450px;
    }

    .home_page .key .key_text {
        font-size: min(8px, 1.3vmin)
    }

    .home_page .key .key_text .item {
        padding: 10px
    }

    .home_page .key .key_video:before {
        background-color: rgba(0, 0, 0, 0.3)
    }
}

@media only screen and (max-width:768px) and (max-aspect-ratio:32/25) {
    .home_page .key .key_text {
        font-size: min(8px, 1.5vmin)
    }

    .home_page .key .key_text h2 {
        margin-bottom: 0.2em;
        font-size: 5.5em
    }
}

@media only screen and (max-width:768px) {
    .wrap_title {
        text-align: center
    }

    .wrap_title h3 {
        font-size: min(26px, 7vw)
    }

    .wrap_title .en {
        font-size: 18px;
        margin-bottom: 0
    }

    .wrap_title.st01 .tl_en {
        display: table;
        margin-left: auto;
        margin-right: auto
    }

    .wrap_title.st01 h3 {
        font-size: min(26px, 7vw);
        margin-bottom: 5px
    }

    .wrap_title.st02 .en {
        margin-bottom: 0
    }

    .wrap_title.st02 h3 span {
        padding: 0 0.3em;
        letter-spacing: 0
    }

    .idx01 {
        padding: 55px 0 45px
    }

    .idx01 .wrap_title {
        padding-top: 35px;
        padding-left: 0;
        margin-top: 0;
        margin-bottom: 25px
    }

    .idx01 .wrap_title:before {
        top: 0;
        left: 0;
        right: 0;
        margin: auto
    }

    .idx01 .wrap_title h3 {
        font-size: 30px
    }

    .idx01 .wrap_title .en {
        margin-bottom: 0
    }

    .idx01 h4 {
        font-size: 22px;
        margin-bottom: 15px;
        margin-left: auto;
        margin-right: auto;
        display: table
    }

    .idx01 .block_news {
        padding: 35px 5%
    }

    .idx01 .tab_news {
        margin-bottom: 15px;
        justify-content: center
    }

    .idx01 .tab_news .tab_it .tt {
        font-size: min(16px, 4.5vw);
        padding: 0.375em 0.625em 0.4375em
    }

    .idx01 .list_post a {
        flex-wrap: wrap;
        --w: 105px;
        padding: 11px 24px 11px 10px
    }

    .idx01 .list_post a:after {
        width: 12px;
        height: 10px
    }

    .idx01 .list_post a .cate {
        width: 85px;
        font-size: 12px
    }

    .idx01 .list_post a .title {
        width: 100%;
        padding-left: 0
    }

    .idx01 .btn-group {
        margin-top: 40px
    }

    .idx01 .btn-group .btn {
        margin: 10px auto
    }

    .idx02 {
        padding: 55px 0;
        background-image: url(../images/idx02_bg_sp.jpg);
        background-position: top center;
        background-size: 768px auto;
        background-color: #238fcd
    }

    .idx02:before {
        top: 10px;
        font-size: min(8px, 1.5vw);
        animation-duration: 25s
    }

    .idx02 .wrap_title {
        margin-bottom: 15px
    }

    .idx02 .idx_logo {
        max-width: 380px;
        width: 90%;
        margin: 0 auto 10px
    }

    .idx02 .block_clinic {
        width: 100%;
        display: block
    }

    .idx02 .b_ct {
        padding-left: 0
    }

    .idx02 .time_sheet {
        margin-right: auto;
        margin-top: 20px
    }

    .idx02 .box_payment {
        padding: 30px 5%
    }

    .idx02 .box_payment p {
        font-size: 14px
    }

    .idx02 .list_payment {
        margin-top: 15px
    }

    .idx02 .list_payment .it img {
        max-height: 70px;
        height: 10vw
    }

    .idx02 .col_img,
    .idx02 .col_info {
        max-width: 600px;
        width: 100%;
        margin-left: auto;
        margin-right: auto
    }

    .idx02 .col_img {
        margin-top: min(60px, 12vw)
    }

    .idx02 .col_img figure {
        font-size: min(8px, 1.6vw);
        padding: 0 2%
    }

    .idx02 .col_img figure:before {
        left: -0.8em
    }

    .idx02 .btn {
        margin-top: 25px
    }

    .idx_bnr {
        padding: 40px 0 40px
    }
    .idx_bnr .inner_max{
        padding: 0 10px;
    }
    .idx_bnr .flex-center {
        margin: 0 -3px
    }
    .idx_bnr .bnr_it {
        width: calc(50% - 6px);
        margin: 3px
    }

    .idx03:before {
        top: 0
    }

    .idx03:after {
        background-size: 240% auto;
        background-position: top 14% left 38%
    }

    .idx03 .inner_full {
        padding-top: 55px;
        padding-bottom: 55px
    }

    .idx03 .wrap_title {
        margin-bottom: 10px
    }

    .idx03 .wrap_title h3 {
        font-size: 36px
    }

    .idx03 .wrap_title .tl_en {
        display: table
    }

    .idx03 .greeting_img {
        font-size: min(8px, 1.35vw);
        margin-bottom: 20px
    }

    .idx03 .btn-group {
        margin-top: 25px;
        justify-content: center
    }

    .idx03 .btn-group .btn {
        width: calc((100% - 10px) / 2);
        margin-right: 10px
    }

    .idx04 {
        background-image: url(../images/idx04_bg01_sp.png), url(../images/idx04_bg02_sp.png);
        background-size: 90% auto, 100% auto;
        background-position: top right, bottom left
    }

    .idx04 .wrap_title {
        position: relative;
        padding-top: 90px;
        margin-bottom: 10px
    }

    .idx04 .wrap_title:before {
        font-size: 5px
    }

    .idx04 .block_endoscopy {
        padding: 50px 7% 50px
    }

    .idx04 .btn {
        margin-top: 25px
    }

    .tab_treatment .TabPager>div {
        font-size: min(10px, 2vw);
        width: calc(50% - 1em);
        margin: 0 0.5em;
        padding: 1.5em 1em 1.6em;
        border-radius: 10px 10px 0 0
    }

    .tab_treatment .TabPager>div:before {
        font-size: 1.2em
    }

    .tab_treatment .TabPager>div .tt {
        font-size: 2.4em
    }

    .tab_treatment .TabPager>div .tt .en {
        font-size: 0.5833333333em
    }

    .tab_treatment .TabContent .content>div {
        padding: 35px 5%;
        border-radius: 20px
    }

    .idx05 {
        padding: 50px 0 55px
    }

    .idx05 .wrap_title {
        margin-bottom: 25px
    }

    .idx05 h4 {
        font-size: 26px;
        margin-bottom: 15px;
        text-align: center
    }

    .idx05 .b_img {
        display: table;
        margin: 0 auto 25px
    }

    .idx05 .bnr_senmon {
        margin: 30px auto 0
    }

    .idx05 .b_treatment {
        margin-top: 30px
    }

    .idx05 .b_treatment .treatment_it {
        width: calc((100% - 1em) / 2);
        margin-right: 1em;
        margin-bottom: 1em;
        font-size: min(8px, 1.6vw);
        padding: 1em;
        min-height: 12em
    }

    .idx05 .b_treatment .treatment_it:last-child,
    .idx05 .b_treatment .treatment_it:nth-child(2n+2) {
        margin-right: 0
    }

    .idx05 .b_treatment figure {
        max-width: 6.5em
    }

    .idx05 .b_treatment .treatment_tl {
        width: calc(100% - 6.5em);
        padding-left: 1.4em
    }

    .idx05 .b_treatment .treatment_tl .en {
        letter-spacing: 0.05em
    }

    .idx06 {
        padding-top: 50px
    }

    .idx06 .wrap_title {
        margin-bottom: 10px
    }

    .idx06 .block_lifestyle {
        padding: min(300px, 47vw) 0 min(88px, 20vw);
        border-radius: 30px;
        background-image: url(../images/idx06_box_bg1_sp.png), url(../images/idx06_box_bg_sp.jpg);
        background-position: top right, bottom left;
        background-size: 100% auto, cover
    }

    .idx06 .box_in {
        padding: 0;
        margin: 0 auto
    }

    .idx06 .list_btn {
        max-width: 590px;
        margin-left: auto;
        margin-right: auto;
        font-size: min(8px, 1.39vw)
    }

    .idx06 .list_btn .item {
        width: calc(33.3333333333% - 1em);
        margin: 0.5em
    }

    .idx06 .list_btn .item a:before {
        inset: 0.5em
    }

    .idx07 {
        padding: 55px 0;
        background-size: 150% auto
    }

    .idx07:before {
        background-size: 1920px auto;
        background-position: bottom center
    }

    .idx07 .concerns_img {
        display: table;
        margin: 0 auto 25px
    }

    .idx07 .btn {
        margin: 25px auto 0;
        max-width: 300px
    }

    .idx08 {
        padding: 55px 0
    }

    .idx08_bg {
        top: 15%;
        max-height: 385px;
        height: 62vw
    }

    .idx08 .wrap_title {
        margin-bottom: min(45px, 8vw);
        position: relative;
        z-index: 1
    }

    .idx08 .block_result {
        padding-bottom: 0
    }

    .idx08 .block_result:before {
        top: -40px
    }

    .idx08 .result_img {
        display: flex;
        justify-content: space-between;
        max-width: 580px;
        width: 100%;
        margin-left: auto;
        margin-right: auto
    }

    .idx08 .result_img .img01,
    .idx08 .result_img .img02 {
        position: relative;
        width: calc(50% - 5px)
    }

    .idx08 .result_img .img02:before {
        font-size: min(8px, 1vw)
    }

    .idx08 .result_cont {
        padding-top: min(52px, 10vw)
    }

    .idx08 .btn {
        margin-top: 25px
    }

    .idx09 {
        padding: 0 0 55px
    }

    .idx09:before {
        font-size: min(8px, 1.2vw);
        left: -1.7em;
        bottom: 2.2em
    }

    .idx09 .label {
        font-size: min(8px, 1.1vw)
    }

    .idx09 .care_img {
        display: table;
        margin: 0 auto 25px
    }

    .idx09 .care_img:before {
        right: -2em;
        font-size: min(8px, 1vw)
    }

    .idx09 .btn-group {
        margin-top: 25px;
        margin-left: auto;
        margin-right: auto
    }

    .idx09 .btn-group .btn:nth-child(3) {
        max-width: 100%
    }

    .idx10 {
        padding: 50px 0 45px;
        background-image: url(../images/idx10_bg_sp.jpg)
    }

    .idx10 .wrap_title {
        margin-bottom: 25px
    }

    .idx10 .wrap_title:after {
        bottom: -25px;
        left: 0;
        font-size: 6px;
        display: block;
        position: relative;
        margin: auto
    }

    .idx10 .wrap_title h3 .tl_num {
        font-size: 70px
    }

    .idx10 .wrap_title h3 .tl_lg {
        font-size: 36px
    }

    .idx10 .accContainer {
        margin-bottom: 15px
    }

    .idx10 .btn_it {
        font-size: min(8.333333px, 2vw);
        margin-bottom: 0
    }

    .idx10 .btn_it .btn_num {
        font-size: 5em;
        padding-left: 0
    }

    .idx10 .btn_it .btn_tt {
        padding: 0.7em 1.416667em 0.7em 3.5em;
        margin-bottom: 0
    }

    .idx10 .btn_it.rotate .ic_plus:after {
        opacity: 0;
        transform: rotate(45deg)
    }

    .idx10 .ic_plus {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
        margin: auto;
        width: 12px;
        height: 12px
    }

    .idx10 .ic_plus:after,
    .idx10 .ic_plus:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        background-color: var(--main-color);
        transition: 0.3s all
    }

    .idx10 .ic_plus:before {
        width: 100%;
        height: 2px
    }

    .idx10 .ic_plus:after {
        height: 100%;
        width: 2px
    }

    .idx10 .feature_content {
        margin-top: 20px
    }

    .idx10 .feature_content .b_content {
        margin-top: -2em;
        min-height: auto;
        width: 95%;
        padding: 3.8em 2.7em 3.5em
    }

    .idx10 .feature_content .txt_num {
        font-size: 9em
    }

    .idx10 .feature_content h4 {
        font-size: 22px
    }

    .idx10 .feature_content p {
        font-size: 16px
    }

    .idx10 .btn {
        margin-top: 3em
    }

    .idx11 {
        padding: 55px 0
    }

    .idx11 .wrap_title {
        margin-bottom: min(50px, 12vw);
        margin-top: 0
    }

    .idx11 .txt_recruit {
        top: 0.7em;
        left: 0;
        right: 0;
        text-align: center;
        font-size: min(105px, 17vw)
    }

    .idx11 .btn {
        margin: 25px auto 0
    }

    .idx11 .recruit_img {
        display: table;
        font-size: min(8px, 1.3vw);
        margin: 0 auto 20px
    }

    .idx11 .recruit_cont {
        margin: 0 auto
    }

    .idx11 .recruit_cont:before {
        font-size: min(5px, 1vw)
    }
}

@media only screen and (max-width:641px) {
    .idx08_bg {
        top: clamp(20px, 19%, 46vw);
        height: 60vw
    }
}

@media only screen and (max-width:639px) {
    .idx03 .btn-group .btn {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 7px;
        margin-bottom: 7px
    }

    .idx03 .btn-group .btn:last-child {
        margin-right: auto
    }
}

@media only screen and (max-width:450px) {
    .idx03 .greeting_img .doctor_img img {
        max-width: 49.2em
    }

    .idx03 .doctor_name {
        width: 19em;
        height: 19em;
        left: 2em;
        font-size: 1.3em
    }

    .idx03 .doctor_name .tt01 {
        padding-bottom: 0.6em;
        font-size: 1.9em
    }

    .idx05 .b_treatment .treatment_it {
        padding: 1em 0.5em 1em 1em
    }

    .idx05 .b_treatment .treatment_tl {
        padding-left: 1em
    }

    .idx05 .b_treatment .treatment_tl .en {
        font-size: 1.3em;
        letter-spacing: 0.02em
    }

    .idx06 .list_btn .item .tt01 {
        font-size: 1.44em
    }

    .idx06 .list_btn .item a:after {
        font-size: 1.2em
    }

    .idx08_bg {
        top: clamp(20px, 21%, 46vw)
    }

    .idx11 .txt_recruit {
        top: 1.3em
    }
}

@media only screen and (max-width:389px) {
    .idx09 .btn-group .btn {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        max-width: 300px
    }

    .idx09 .btn-group .btn:nth-child(2) {
        margin-right: auto
    }

    .idx09 .btn-group .btn:last-child {
        margin-right: auto;
        max-width: 100%
    }
}

@media only screen and (max-width:370px) {
    .idx05 .b_treatment .treatment_tl {
        padding-left: 0.5em
    }

    .idx05 .b_treatment .treatment_tl .ttl {
        letter-spacing: 0
    }
}

/*# sourceMappingURL=index_sp.css.map */