@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 129vw;
    --min-height: 520px;
    font-size: 8px;
    background-image: url(../images/idx_mv_sp.jpg);
  }
  .home_page .key .key_text {
    padding: 85px 10px 10px;
    font-size: min(8px, 1.3vw);
  }
  .home_page .key h2 {
    margin-bottom: 0.6em;
  }
  .home_page .key .catch {
    text-align: center;
    width: 100%;
  }
  .home_page .key .key_info {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: min(9px, 1.5vw);
  }
  .bnr_opening {
    font-size: min(7px, 1vw);
    right: 20px;
  }
}
@media only screen and (max-width: 639px) {
  .home_page .key .key_info .b_title {
    font-size: 2.2em;
  }
  .home_page .key .key_info .b_item {
    padding-top: 3.5em;
  }
  .home_page .key .key_info .b_item.it01 figure img {
    max-width: 4.5em;
  }
  .home_page .key .key_info .b_item.it02 figure img {
    max-width: 5.5em;
  }
}
@media only screen and (max-width: 430px) {
  .bnr_opening .openting_tl {
    font-size: 2.4em;
  }
}
@media only screen and (max-width: 350px) {
  .bnr_opening {
    top: 16em;
    font-size: min(7px, 1.2vw);
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    font-size: 1.4vmin;
  }
}
@media only screen and (max-width: 768px) {
  .h3_st01 h3 {
    font-size: 28px;
  }
  .h3_st01 h3::before {
    width: 65px;
    height: 65px;
    margin-bottom: 8px;
  }
  .h3_st01 .h_en {
    font-size: 16px;
    margin-top: 3px;
  }
  .idx01 {
    padding-bottom: 60px;
  }
  .idx01 h3 {
    font-size: 18px;
  }
  .idx01 .news_title {
    width: 80%;
    padding: 14px 10px 10px;
    top: -35px;
    border-radius: 15px 15px 0 0;
  }
  .idx01 .block_news {
    padding: 30px 0 0;
    margin-top: -20px;
    margin-bottom: 35px;
    border-radius: 15px;
  }
  .idx01 .tab_btn {
    max-width: 100%;
    width: 94%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
  }
  .idx01 .tab_btn .tab {
    width: calc(33.3333333333% - 0.6666666667em);
    margin: 0.333333333em;
    padding: 0.733333333em 0.53333333em 0.733333333em;
    font-size: min(15px, 4.3vw);
  }
  .idx01 .tab_content {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
  }
  .idx01 .tab_content > .content {
    border-radius: 15px;
  }
  .idx01 .tab_content > .content > div {
    padding: 0 5% 30px;
    border-radius: 15px;
  }
  .idx01 .btn_news {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .idx01 .btn_news a {
    padding-left: 30px;
  }
  .idx01 .btn_news a:before {
    width: 22px;
    height: 22px;
  }
  .idx01 .post_list {
    margin-top: 10px;
  }
  .idx01 .post_list a {
    padding: 12px 0px 12px;
  }
  .idx01 .post_list a::after {
    width: 18px;
    height: 18px;
  }
  .idx01 .post_list .title {
    padding-left: 3px;
    padding-right: 22px;
  }
  .idx01 .p_title {
    font-size: min(24px, 6vw);
    line-height: 1.62;
  }
  .idx01 .p_title .tt_bg {
    line-height: 2.2;
  }
  .idx02 {
    padding: 60px 0;
  }
  .idx02 .h3_st01 {
    padding-bottom: 17px;
    margin-bottom: 30px;
  }
  .idx02 .doctor_img {
    margin-bottom: 20px;
  }
  .idx02 .doctor_img img {
    border-radius: 20px;
  }
  .idx02 .doctor_name {
    bottom: 1.6em;
    left: 1.6em;
    font-size: min(8px, 2.4vw);
  }
  .idx03 {
    padding: 60px 0;
  }
  .idx03 .h3_st01 {
    margin-bottom: 20px;
  }
  .idx03 .tbl_info {
    border-spacing: 0 3px;
    margin-bottom: 20px;
  }
  .idx03 .tbl_info th {
    padding: 13px 15px 12px;
    width: 35%;
  }
  .idx03 .tbl_info td {
    padding: 12px 15px 12px;
  }
  .idx03 .b_right, .idx03 .tbl_info {
    max-width: 570px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx_map {
    height: 290px;
  }
  .idx04 {
    padding: 80px 0 60px;
    background-image: url(../images/idx04_bg_sp.jpg);
    background-color: #e0aa6a;
    background-position: top center;
  }
  .idx04 .h3_st01 {
    margin-top: -40px;
    margin-bottom: 20px;
  }
  .idx04 h4 {
    font-size: 22px;
    margin-bottom: 15px;
  }
  .idx04 .block_recruit {
    padding: 10px;
  }
  .idx04 .block_recruit .txt {
    padding: 0 10px;
  }
  .idx04 .contact_title {
    font-size: 19px;
    padding: 0 12px;
    margin-bottom: 10px;
  }
  .idx04 .contact_title::before, .idx04 .contact_title::after {
    height: 26px;
  }
  .idx04 .contact_title::before {
    left: 18px;
  }
  .idx04 .contact_title::after {
    right: 18px;
  }
  .idx04 .idx_contact {
    padding: 38px 25px 30px;
  }
  .idx04 .box_contact {
    margin-top: 35px;
    padding: 25px 7px 20px;
  }
  .idx04 .box_contact .bnr_it {
    margin: 5px;
    font-size: 8px;
    height: 8em;
    max-width: 246px;
  }
}
@media only screen and (max-width: 639px) {
  .idx04 .box_contact .bnr_it {
    width: 100%;
  }
}