@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh - 0px);
    --max-height: 162vw;
    --min-height: 320px;
    font-size: 8px;
  }
  .home_page .key .key_text .item {
    padding: 10px;
  }
  .home_page .key .key_text .catch {
    width: auto;
    display: table;
  }
  .home_page .key .key_text h2,
  .home_page .key .key_text p {
    display: table;
  }
  .home_page .key .key_text h2 span,
  .home_page .key .key_text p span {
    display: table;
  }
  .home_page .key .key_text .scroll {
    font-size: min(9px, 1.2em);
  }
}
@media only screen and (max-width: 640px) {
  .home_page .key {
    font-size: 1.6vmin;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    font-size: 1.5vmin;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page .key .s1 {
    background-image: url(../images/idx_mv01_sp.jpg);
  }
  .home_page .key .swiper-container-initialized .s2 {
    background-image: url(../images/idx_mv02_sp.jpg);
  }
  .home_page .key .swiper-container-initialized .s3 {
    background-image: url(../images/idx_mv03_sp.jpg);
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    margin-bottom: 30px;
    text-align: center;
  }
  .home_page h3 .en {
    font-size: 2.5em;
  }
  .home_page h3.big .en {
    font-size: 2.5em;
  }
  .home_page h3.sm .en {
    font-size: 2em;
  }
  .home_page h3.sm .jp {
    font-size: 18px;
  }
}
@media only screen and (max-width: 768px) {
  .idx_news {
    padding: 60px 0px 55px;
  }
  .idx_news h3 {
    margin-bottom: 10px;
  }
  .idx_news .content {
    flex-direction: column;
    align-items: center;
  }
  .idx_news .content .box {
    position: relative;
    width: 100%;
    max-width: 680px;
  }
  .idx_news .content .box:last-child {
    margin-top: 25px;
    padding-top: 25px;
  }
  .idx_news .content .box:last-child::after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    left: 0;
    top: 0;
    height: 0;
    width: 100%;
    border-bottom: 1px solid #ababab;
    max-height: 260px;
  }
  .idx_news .content .btn-group {
    display: table;
    margin: 20px auto 0px;
  }
  .idx_news .content .btn-group .btn.style01.en.md {
    margin: 0px auto;
  }
  .idx_news .content li {
    max-width: 100%;
  }
  .idx_news .content li a {
    padding: 20px 0;
  }
  .idx_news .content li a .date {
    width: 7em;
  }
  .idx_news .content li a .title {
    width: calc(100% - 7em);
  }
  .idx_clinic {
    padding: 60px 0px;
  }
  .idx_clinic .top_img {
    margin: 0px auto;
    aspect-ratio: 597/562;
    width: 597px;
    max-width: calc(100% - 40px);
  }
  .idx_clinic .row {
    max-width: 597px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx_clinic .ft_logo {
    max-width: 20em;
    margin: 0em auto 2em;
  }
  .idx_clinic .box_img {
    margin: 0px auto;
    max-width: 100%;
  }
  .idx_clinic .bottom_img {
    margin: 0px auto;
    max-width: calc(100% - 40px);
  }
  .idx_clinic .box_left {
    width: 100%;
    padding: 40px 20px 20px;
    max-width: 464px;
    margin: 0px auto;
  }
  .idx_clinic .btn-group {
    justify-content: center;
    padding: 10px 10px 0;
  }
  .idx_clinic .btn-group .btn {
    margin: 10px 10px 0px;
    min-width: 9.8333em;
  }
  .idx_map {
    margin-top: 35px;
  }
  .idx_message {
    padding: 0px 0px 60px;
  }
  .idx_message .box_img {
    position: relative;
    display: table;
    margin: 0px auto 20px;
  }
  .idx_message .box_img .name {
    top: auto;
    bottom: 5em;
    right: 0px;
  }
  .idx_message .btn-group {
    justify-content: center;
  }
  .idx_message .btn-group .btn {
    margin: 10px 10px 0px;
  }
  .idx_feature {
    padding: 60px 0px;
  }
  .idx_feature .box {
    margin: 0px auto 40px;
  }
  .idx_feature .btn-group .btn.style01 {
    margin-top: 0px;
  }
  .idx_pickup {
    padding: 60px 0px;
  }
  .idx_pickup h3.big {
    margin-bottom: 30px;
  }
  .idx_pickup .r1_1 {
    padding-top: 20px;
  }
  .idx_pickup .r1_1 .box_left {
    margin-top: 20px;
  }
  .idx_pickup .r1,
  .idx_pickup .r2 {
    padding: 40px 20px;
  }
  .idx_pickup .r1_1,
  .idx_pickup .r2 {
    justify-content: center;
  }
  .idx_pickup .r1_1 .tt,
  .idx_pickup .r2 .tt {
    text-align: center;
  }
  .idx_pickup .r1_1 picture,
  .idx_pickup .r2 picture {
    display: table;
    margin: 0px auto 20px;
  }
  .idx_pickup .r1_2 .boxes {
    gap: 0;
    font-size: min(1em, (100vw - 60px) / 38);
  }
  .idx_pickup .r1_2 .box {
    margin: 0.5em;
    max-width: calc(50% - 0.5em);
  }
  .idx_pickup .r1_2 .box a {
    padding: 2.6em 0em 0.5em;
    max-width: 100%;
  }
  .idx_pickup .r1_2 .box .title {
    margin-bottom: 0.8em;
    letter-spacing: -0.05em;
  }
  .idx_pickup .r1_2 .box .text {
    padding: 0px 0.5em;
  }
  .idx_pickup .btn-group {
    margin: 20px auto 0;
    justify-content: center;
  }
  .idx_pickup .btn-group .btn.style01 {
    margin: 0.5em 1em;
  }
  .idx_menu {
    padding: 60px 0px;
  }
  .idx_menu .box {
    max-width: calc(50% - 0.9375em);
  }
  .idx_menu .row {
    font-size: min(1em, (100vw - 40px) / 31);
  }
  .idx_medical {
    padding: 60px 20px;
  }
  .idx_medical::before {
    left: 0;
    width: 100%;
    background-image: url(../images/medical_bg_sp.jpg);
  }
  .idx_medical .txt {
    margin-top: 20px;
    max-width: 100%;
  }
  .idx_medical .btn-group {
    display: table;
    margin: 20px auto 0;
  }
  .TabContainer .TabPager.st1 > div::before {
    --w:11px;
  }
}
@media only screen and (max-width: 430px) {
  .idx_message .btn-group {
    margin-top: 20px;
    flex-direction: column;
    align-items: center;
  }
  .idx_message .btn-group .btn {
    margin: 5px;
  }
  .idx_message .name p {
    font-size: 1.1em;
  }
  .idx_pickup .r1 .TabPager {
    font-size: min(1em, 3vw);
  }
  .idx_pickup .r1_2 .box .text {
    font-size: min(11px, 1.3em);
  }
  .idx_feature .box_img .point {
    font-size: min(1em, 3vw);
  }
  .idx_menu .text {
    font-size: max(1em, 12px);
  }
  .idx_menu .text span {
    display: inline-block;
  }
  .home_page h3.big {
    font-size: min(24px, 7vw);
  }
  .idx_medical h3.big {
    font-size: min(24px, 5.5vw);
  }
  .idx_medical h3.big .jp span {
    display: inline-block;
  }
  .idx_pickup .btn-group {
    flex-direction: column;
    align-items: center;
  }
  .idx_clinic .box_img .btn-group {
    flex-direction: column;
    align-items: center;
  }
  .idx_pickup .btn-group .btn.style01 a {
    width: 10.8333em;
  }
}
@media only screen and (max-width: 374px) {
  .idx_clinic ul li {
    --w:5.5em;
    font-size: 13px;
  }
  .idx_feature .title {
    font-size: 1.35em;
  }
}