@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 156vw;
    --min-height: 320px;
    font-size: 4px;
    background-position: top center;
  }
  .home_page .key .inner::before {
    font-size: 1.5em;
  }
  .home_page .key .inner {
    width: 92%;
  }
  .home_page .key .key_text .item::before, .home_page .key .key_text .item::after {
    font-size: 1.5em;
  }
  .home_page .key .key_text .item::before{width: calc(100% - 30em);}
  .home_page .key .key_text .item::after {
    background-position: top left, top right 0em;
    background-size: 1em auto;
    height: calc(100% - 19em);
  }
  .home_page .key .key_text .item {
    padding: 10px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-bottom: 10vh;
  }
  .home_page .key h2 {
    letter-spacing: 0.1em;
    margin-bottom: 0.2em;
    margin-left: 0;
  }
  .home_page .key .catch {
    margin-right: auto;
    padding: 5.8em 4em 5.7em 5.5em;
    text-align: center;
    font-size: min(8px, 1.39vw);
    background-image: url(../images/key_catch_bg.png);
    display: block;
    height: auto;
    max-width: 70em;
  }
   .slider_img{
    width: 100%;
    /* height: var(--max-height); */
    max-height: var(--max-height);
   }
    .slider_img .slick-track{
    height: 100%;
   }
   .slider_img .it_img{
      height: 100%;
      max-height: 100%;
   }
   .slider_img .s_img01, .slider_img .s_img04, .slider_img .s_img02, .slider_img .s_img03{
    width: calc(50% - 1px);
   }
   
   
  .slider_img .s4_bg01{background-position: left center;}
  .slider_img .s4_bg02{background-position: center;}
  .home_page .key .key_text::before{
    background-image:url(../images/idx_key_bf_sp.png);
    background-position: top center;
    width: 100%;
    height: 70%;
    top: unset;
    bottom: 0;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page {
    --min-height: 520px;
  }
  .home_page .key .key_text .item {
    padding-bottom: 14vh;
  }
  .home_page .key .key_text .catch{
    font-size: min(6px, 1.39vw);
  }
}
@media only screen and (max-width: 450px){
  .home_page .key .key_text::before{height: 88%;}
  .slider_img .s1_bg02{background-position: left 31% center;}
  .slider_img .s2_bg02{background-position: left 28% center;}
  .slider_img .s2_bg01{background-position: left 57% center;}
  .slider_img .s3_bg02{background-position: left 35% center;}
}
@media only screen and (max-width: 768px) {
  .h3_tl {
    font-size: 28px;
  }
  .h3_tl .en {
    font-size: 16px;
    margin-bottom: 0;
  }
  .fz18 p {
    font-size: 16px;
    line-height: 2;
  }
}
@media only screen and (max-width: 768px) {
  .idx01 {
    padding: 50px 0;
  }
  .idx01 h3 {
    text-align: center;
    padding-left: 0;
    padding-bottom: 10px;
    font-size: 26px;
    margin-bottom: 16px;
  }
  .idx01 h3::before {
    width: 70px;
    height: 2px;
    bottom: 0;
    top: unset;
    left: 0;
    right: 0;
    margin: auto;
  }
  .idx01 h3 .en {
    display: block;
    margin-left: 0;
    font-size: 14px;
    line-height: 1;
  }
  .idx01 .btn_news {
    margin: 25px auto 0;
    display: table;
  }
  .idx01 .btn_news a::after {
    mask-size: 1.7em auto;
    -webkit-mask-size: 1.7em auto;
  }
  .idx01 .box_news {
    margin-bottom: 30px;
    padding: 35px 5%;
  }
  .idx01 .box_news:last-child {
    margin-bottom: 0;
  }
  .idx01 .list_post .date {
    width: 100%;
  }
  .idx01 .list_post .title {
    width: 100%;
    padding-left: 0;
  }
  .idx01 .list_post a {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 10px 11px 10px;
  }
}
@media only screen and (max-width: 768px) {
  .idx02 {
    padding: 50px 0;
    background-size: 100% auto;
    background-color: #2f120c;
    background-position: top center;
  }
  .idx02 .h3_tl {
    margin-bottom: 20px;
  }
  .idx02 .b_info {
    display: table;
    margin: 0 auto 30px;
  }
  .idx02 .gr_btn {
    margin-top: 20px;
  }
  .idx02 .gr_btn .cm_btn {
    width: calc(50% - 10px);
    margin: 5px;
  }
  .idx02 .bnr_payment {
    height: auto;
    background-image: url(../images/idx02_payment_bg_sp.jpg);
    background-position: top center;
    background-size: 100% auto;
    background-color: #fff;
    font-size: min(14px, 3.2vw);
  }
  .idx02 .bnr_payment .flex {
    display: block;
  }
  .idx02 .bnr_payment .box_in {
    padding: 9.5em 2.375em 3.5em 2.375em;
  }
  .idx02 .bnr_payment .payment_tl {
    padding-right: 0;
    width: 100%;
    line-height: 2;
  }
  .idx02 .bnr_payment .payment_img {
    width: 80%;
    margin: 10px auto 0;
  }
  .idx_map {
    height: 299px;
    margin-top: 35px;
  }
}
@media only screen and (max-width: 500px) {
  .idx02 .b_address {
    margin-top: -18vw;
    margin-left: 24vw;
  }
  .idx02 .b_address dl {
    margin-bottom: 15px;
  }
  .idx02 .b_address dl dt {
    width: 48px;
  }
  .idx02 .b_address dl dd {
    width: calc(100% - 48px);
  }
  .idx02 .b_address dl .txt_tel {
    font-size: min(1.45em, 6.2vw);
  }
  .idx02 .bnr_payment {
    font-size: min(14px, 3.5vw);
  }
  .idx02 .bnr_payment .box_in {
    padding-top: 5.5em;
    padding-bottom: 3em;
    padding-left: 1.375em;
    padding-right: 1.375em;
  }
}
@media only screen and (max-width: 380px) {
  .idx02 .gr_btn .cm_btn{
    width: 100%;
    margin: 5px auto;
  }
}
@media only screen and (max-width: 350px) {
  .idx02 .gr_btn .cm_btn a {
    padding: 0.9444444444em 2em 0.8888888889em 0.5em;
  }
}
@media only screen and (max-width: 768px) {
  .idx03 {
    padding: 50px 0;
    background-image: url(../images/idx03_bg_sp.jpg);
    background-position: right top;
  }
  .idx03 .h3_tl {
    margin-bottom: 15px;
  }
  .idx03 .box_name {
    margin-top: 20px;
    max-width: 26.9375em;
    font-size: min(14px, 3.9vw);
  }
  .idx03 .box_name .pos {
    font-size: 1.1428571429em;
  }
  .idx03 .box_name .name {
    font-size: 1.7142857143em;
    letter-spacing: 0.05em;
  }
  .idx03 .box_name .name .en {
    font-size: 0.5em;
    letter-spacing: 0.05em;
    margin-left: 1em;
  }
  .idx03 .gr_btn {
    margin-top: 26px;
  }
  .idx03 .gr_btn .cm_btn {
    margin: 12px;
    width: calc(100% / 2 - 24px);
  }
}
@media only screen and (max-width: 550px) {
  .idx03 .gr_btn .cm_btn {
    margin: 8px;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .idx04 .idx_block.b_ortho {
    padding: 100px 0 50px;
    background-image: url(../images/idx04_ortho_bg_sp.jpg);
    background-position: top center;
    background-size: 100% auto;
    background-color: #e8d1bf;
  }
  .idx04 .idx_block.b_ortho .b_cont {
    padding-bottom: 0;
  }
  .idx04 .idx_block.b_ortho .txt_en {
    top: 0;
    left: 0;
  }
  .idx04 .idx_block.b_ortho .txt_en img {
    max-width: 25.1875em;
  }
  .idx04 .idx_block.b_implant {
    padding: 100px 0 50px;
    background-image: url(../images/idx04_implant_bg_sp.jpg);
    background-position: top center;
    background-size: 100% auto;
    background-color: #98c3e8;
  }
  .idx04 .idx_block.b_implant .txt_en {
    top: 0;
    left: 0;
  }
  .idx04 .idx_block.b_implant .txt_en img {
    max-width: 24.1875em;
  }
  .idx04 .idx_block.b_implant .gr_btn .cm_btn:first-child {
    max-width: 28.125em;
  }
  .idx04 .idx_block.b_surgery {
    padding: 100px 0 50px;
    background-image: url(../images/idx04_surgery_bg_sp.jpg);
    background-position: top center;
    background-size: 100% auto;
    background-color: #9c9dbe;
  }
  .idx04 .idx_block.b_surgery .txt_en {
    top: 0;
    left: 0;
  }
  .idx04 .idx_block.b_surgery .txt_en img {
    max-width: 28.1875em;
  }
  .idx04 .idx_block.b_disease {
    padding: 100px 0 50px;
    background-image: url(../images/idx04_disease_bg_sp.jpg);
    background-position: top right;
    background-size: 100% auto;
    background-color: #b2d1cf;
  }
  .idx04 .idx_block.b_disease .txt_en {
    top: 0;
    left: 0;
  }
  .idx04 .idx_block.b_disease .gr_btn .cm_btn {
    width: 100%;
  }
  .idx04 .idx_block .inner_max {
    padding: 0 30px 0 40px;
  }
  .idx04 .idx_block h4 {
    max-width: 320px;
    width: 100%;
    margin-left: -40px;
    font-size: min(24px, 6.5vw);
    width: calc(100% + 20px);
  }
  .idx04 .idx_block .link a {
    width: calc(100% + 40px);
    left: -40px;
  }
  .idx04 .idx_block .b_cont {
    width: 100%;
    max-width: 33.875em;
    padding: 0;
    border-radius: 0 0 12px 12px;
    margin: 0 auto;
  }
  .idx04 .idx_block .b_img {
    position: relative;
    width: 100%;
    max-height: 37em;
    height: 89vw;
  }
  .idx04 .idx_block .b_img::before {
    top: unset;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2.625em;
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
  }
  .idx04 .idx_block .b_img::after {
    width: 2.5em;
    height: 2.5em;
    right: 0;
    left: 0;
    top: unset;
    bottom: 3em;
  }
  .idx04 .idx_block .box_in {
    width: 100%;
    padding: 20px 20px 40px;
  }
  .idx04 .idx_block .txt_en {
    margin-bottom: 20px;
    width: 100%;
  }
  .idx04 .idx_block .txt_en img {
    font-size: min(14px, 2.8vw);
  }
  .idx04 .idx_block .gr_btn {
    width: calc(100% + 10px);
    margin-left: -10px;
  }
  .idx04 .idx_block .gr_btn .cm_btn {
    width: 100%;
    margin: 0.5em;
  }
  .idx04 .idx_block .gr_btn .cm_btn a {
    padding-left: 1em;
    padding-right: 1.7em;
  }
  .idx04 .idx_block .gr_btn .cm_btn a::after {
    mask-size: 1.12em;
    -webkit-mask-size: 1.12em;
  }
	.idx04_bnr{
		margin-top: 25px;
		position: relative;
		left: -10px;
		width: calc(100% + 10px);
	}
}
@media only screen and (max-width: 450px) {
  .idx04 .idx_block.b_disease .txt_en img {
    max-width: 32em;
    margin-left: -2em;
  }
}
@media only screen and (max-width: 768px) {
  .idx05 {
    padding: 50px 0;
    background-image: url(../images/idx05_bg_sp.jpg);
    background-position: top center;
    background-size: 100% auto;
    background-color: #f3f2ea;
  }
  .idx05 .h3_tl {
    margin-bottom: 15px;
  }
  .idx05 .block_treament .treatment_it {
    font-size: min(14px, 3vw);
    width: calc(50% - 0.7142857143em);
    margin: 0.3571428571em;
  }
  .idx05 .block_treament .treatment_it::after {
    width: 1.5em;
    height: 1.5em;
  }
}
@media only screen and (max-width: 450px) {
  .idx05 .block_treament .treatment_tl {
    letter-spacing: 0.05em;
    font-size: 1.3em;
  }
}
@media only screen and (max-width: 370px) {
  .idx05 .block_treament .treatment_tl {
    font-size: 1.3em;
  }
}
@media only screen and (max-width: 768px) {
  .idx06 {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .idx06::before {
    height: 80vw;
    background-position: left 35% center;
  }
  .idx06::after {
    height: calc(100% - 80vw);
  }
  .idx06 .h3_tl {
    margin-bottom: 25px;
  }
  .idx06 .block_feature h4 {
    font-size: min(26px, 5.5vw);
    letter-spacing: 0.05em;
    margin-bottom: 16px;
  }
  .idx06 .block_feature h4::after {
    margin-top: 0.5em;
  }
  .idx06 .block_feature .feature_it {
    max-width: 585px;
    width: 100%;
    margin: 0 auto 30px;
  }
  .idx06 .block_feature .feature_num {
    top: -3.846154em;
    font-size: min(11px, 2.3vw);
  }
  .idx06 .block_feature .feature_img {
    margin-bottom: 17px;
  }
  .idx06 .block_feature .feature_cont {
    padding-left: 115px;
  }
  .idx06 .block_feature .feature_cont p:not(.feature_num) {
    font-size: 16px;
    line-height: 2;
    padding-right: 0;
  }
}
@media only screen and (max-width: 450px) {
  .idx06 .block_feature .feature_cont {
    padding-left: 24vw;
  }
}
@media only screen and (max-width: 350px) {
  .idx06 .h3_tl {
    letter-spacing: 0.05em;
  }
}
@media only screen and (max-width: 768px) {
  .idx07 {
    background-image: url(../images/idx07_bg01_sp.jpg), url(../images/idx07_bg02_sp.jpg);
    background-position: top left, bottom right;
    background-size: 100% auto;
    padding: 41vw 0;
  }
  .idx07 .h3_tl {
    margin-bottom: 15px;
  }
  .idx07 .block_recruit {
    width: 100%;
    padding: 50px 20px;
  }
  .idx07 .block_recruit::before {
    clip-path: unset;
    width: calc(100% + 40px);
    left: -20px;
  }
  .idx07 .cm_btn {
    margin-top: 20px;
  }
  .idx_bnr {
    padding: 40px 0;
  }
  .idx_bnr .item {
    width: calc(50% - 10px);
  }
}