@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 135vw;
    --min-height: 320px;
    font-size: min(8px, 1.3vmin);
  }
  .home_page .key h2 {
    font-size: 2.5em;
    letter-spacing: 0;
  }
  .home_page .key p {
    font-size: 16px;
    line-height: 1.8;
  }
  .home_page .key::before {
    bottom: -50px;
  }
  .home_page .key .inner::before {
    font-size: 5px;
    left: 20px;
    bottom: 0;
  }
  .home_page .key .key_text .item {
    padding: 10px;
  }
}
@media only screen and (max-width: 768px) and (max-aspect-ratio: 768/600) {
  .home_page .key {
    font-size: 1vmin;
  }
}
@media only screen and (max-width: 768px) {
  .home_page .idx-title {
    font-size: 8px;
  }
  .home_page .idx-title h3 {
    font-size: 26px;
  }
  .home_page .idx-title .sm {
    padding-top: 0;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key p {
    font-size: 16px;
  }
  .home_page .key .key_text .item {
    padding-bottom: 50px;
  }
  .header_top::before {
    top: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .idx-news {
    padding: 20px 0px 0;
  }
  .idx-news .box {
    padding-top: 60px;
    padding-bottom: 30px;
  }
  .idx-news .idx-title {
    padding-left: 0;
  }
  .idx-news .idx-title h3 {
    font-size: 24px;
  }
  .idx-news .inner_big {
    width: calc(100% - 40px);
    padding-left: 30px;
    padding-right: 30px;
  }
  .idx-news .inner_big::before {
    top: unset;
    left: unset;
    inset: 10px;
    width: unset;
    height: unset;
  }
  .idx-news .content li {
    max-width: 100%;
  }
  .idx-news .content li a {
    padding: 15px 0;
  }
  .idx-news .content li a::after {
    right: 10px;
  }
  .idx-news .content li a .date {
    width: 7em;
  }
  .idx-news .content li a .title {
    width: calc(100% - 7em);
  }
  .idx-news .news-btn {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    display: table;
  }
  .idx01 {
    padding-top: 60px;
    padding-bottom: 140px;
  }
  .idx01 .inner_big {
    padding-top: 30px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 50px;
  }
  .idx01 .inner_big::before {
    right: 0;
    bottom: -80px;
    font-size: 6px;
  }
  .idx02 {
    padding: 50px 0 0;
  }
  .idx02::before {
    top: -190px;
    height: calc(100% + 190px);
    -webkit-mask-size: 220% 100%;
            mask-size: 220% 100%;
  }
  .idx02 .idx-title {
    padding-top: 5px;
  }
  .idx02 .idx-title::after {
    font-size: min(5.5em, 6vw);
    width: 100%;
  }
  .idx02 .inner_big {
    padding-left: 15px;
    padding-right: 15px;
  }
  .idx02-list {
    --widthUl: 80px;
    margin-bottom: 0;
  }
  .idx02-content {
    padding: 40px 15px;
    display: block;
    -webkit-box-shadow: rgba(149, 157, 165, 0.2) 0px 0 24px;
            box-shadow: rgba(149, 157, 165, 0.2) 0px 0 24px;
  }
  .idx02-left, .idx02-right {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx02-logo {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .idx02 .time_sheet {
    font-size: min(14px, 3.2vw);
  }
  .idx02 .btn-group {
    margin-top: 20px;
  }
  .idx02-right {
    margin-top: 20px;
  }
  .idx03 {
    padding-bottom: 60px;
    padding-top: 60px;
  }
  .idx03 .idx-title .sm {
    font-size: 16px;
    margin-bottom: 0;
  }
  .idx03 .idx-title h3 {
    font-size: 30px;
  }
  .idx03::before {
    top: auto;
    bottom: 40em;
    right: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-size: min(4px, 1vw);
  }
  .idx03 .inner_big::before {
    display: none;
    font-size: min(6px, 1vw);
    top: -26em;
    right: 20px;
  }
  .idx03-doctor {
    position: relative;
    top: 0;
    left: auto;
    -webkit-transform: unset;
            transform: unset;
    margin-left: auto;
    margin-right: auto;
    font-size: min(5.5px, 1vw);
    margin-top: 30px;
  }
  .idx03-doctor .name {
    top: 5em;
    font-size: min(7px, 1.4vw);
    left: -1em;
  }
  .idx03-content {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx03-box {
    margin-top: 40px;
  }
  .idx03 .btn-group {
    margin-top: 20px;
  }
  .idx03 .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .idx04 {
    padding-top: 60px;
    --itemWidth: min(35em, 65vw);
    --sideX: var(--scale) translateX(-3.5em);
    padding-bottom: 60px;
  }
  .idx04 .item {
    margin-right: 2.5em;
  }
  .idx04 .idx-title h3 {
    letter-spacing: 0;
  }
  .idx04 .inner_big {
    width: calc(100% - 40px);
  }
  .idx04::before {
    height: 50%;
  }
  .idx04 .slick-arrow {
    width: 40px;
    height: 40px;
  }
}
@media only screen and (max-width: 768px) and (min-width: 639px) {
  .idx04 .slick-arrow {
    top: 40%;
  }
}
@media only screen and (max-width: 768px) {
  .idx04 .step {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 5px;
  }
  .idx04-content {
    padding-left: 55px;
    padding-right: 20px;
  }
  .idx04 .ttl {
    font-size: 22px;
    letter-spacing: 0;
  }
  .idx04 .btn-group {
    margin-top: 30px;
  }
  .idx05 {
    padding-top: 140px;
    padding-bottom: 40px;
  }
  .idx05 .idx-title h3 {
    letter-spacing: 0;
  }
  .idx05 .idx-title h3 span {
    display: block;
  }
  .idx05-title {
    font-size: 6.5px;
  }
  .idx05-ct {
    padding-top: 60px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 100px;
  }
  .idx05-ct::before {
    font-size: 6.5px;
  }
  .idx05 .btn-group {
    margin-top: 20px;
    position: relative;
    z-index: 2;
  }
  .idx05-top::before, .idx05-top::after {
    font-size: 6px;
  }
  .idx05-top::before {
    left: 0;
    top: -100px;
  }
  .idx05-top::after {
    right: 0;
    bottom: 0;
    font-size: 4px;
  }
  .idx05-grImg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    gap: 10px;
    margin-top: 20px;
  }
  .idx05-grImg .img {
    width: 49%;
  }
  .idx05-grImg .img img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .idx05-grImg .img01 {
    height: 100%;
    margin-left: 0;
    margin-right: auto;
  }
  .idx05-grImg .img02 {
    position: absolute;
    top: 0;
    right: 0;
    height: 48%;
  }
  .idx05-grImg .img03 {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 48%;
  }
  .idx05-box {
    margin-top: 20px;
  }
  .idx05 .btn-group {
    margin-top: 20px;
  }
  .idx05 .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .idx05-tabs {
    margin-top: 100px;
  }
  .idx05-content {
    padding: 40px 20px;
    display: block;
  }
  .idx05-info {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx05-img {
    width: 100%;
  }
  .idx05-ttl {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 24px;
  }
  .idx05-ttl .ic {
    width: 55px;
  }
  .idx05-ttl .txt {
    padding-left: 15px;
    margin-bottom: 20px;
    margin-bottom: 0;
  }
  .idx05 .box-txt {
    margin-top: 20px;
  }
  .idx-banner .banner {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: min(320px, 33vw);
  }
  .idx-banner .banner:last-child {
    margin-bottom: 0;
  }
  .idx-banner .bn-title {
    font-size: min(8px, 1.5vw);
  }
  .idx-banner .bn-title::before {
    right: calc(50% - 38vw);
    width: 4.9em;
    height: 4.9em;
  }
  .idx06 {
    padding-top: 210px;
    background-size: 100% auto;
    background-position: top center;
  }
  .idx06-title {
    top: -35em;
    font-size: 4.5px;
    left: 0;
  }
  .idx06-content {
    padding: 60px 30px;
  }
  .idx06-content::before {
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
  }
  .idx06 .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .idx06 .flex > div {
    margin-left: auto;
    margin-right: auto;
  }
  .idx06-img, .idx06-box {
    width: 100%;
  }
  .idx06-box {
    margin-top: 20px;
  }
  .idx06-content::after {
    font-size: 6px;
    top: auto;
    bottom: -13em;
  }
  .idx06 .btn-group {
    margin-top: 20px;
  }
  .idx06 .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .idx07 {
    padding: 60px 0;
  }
  .idx07 .inner_big {
    padding-left: 15px;
    padding-right: 15px;
  }
  .idx07 .idx-title h3 {
    letter-spacing: 0.05em;
  }
  .idx07-top {
    margin-top: 30px;
  }
  .idx07-left {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx07-left h4 {
    margin-bottom: 30px;
    font-size: 24px;
    text-align: center;
  }
  .idx07 .btn-group {
    margin-top: 20px;
  }
  .idx07 .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .idx07-img {
    height: auto;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 350px;
  }
  .idx07 .box-txt {
    margin-top: 20px;
  }
  .idx07-grBtn {
    padding: 40px 10px;
    margin-top: 30px;
    border-radius: 20px;
  }
  .idx07-grBtn::before {
    border-radius: 20px;
    inset: 5px;
  }
  .idx07-flex {
    gap: 10px;
  }
  .idx07-bn {
    width: calc(50% - 5px);
  }
  .idx07-bn a {
    min-height: 60px;
    font-size: min(8px, 1.52vw);
    padding-left: 10px;
  }
  .idx07-bn a .txt::before {
    margin-right: 1.2em;
  }
  .idx07-bn a .jp {
    font-size: 1.6em;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .idx07-bn a .sm {
    font-size: 1.2em;
  }
  .idx08 {
    padding: 60px 0 40px;
  }
  .idx08 .idx-title::after {
    font-size: 50%;
  }
  .idx08 .flex {
    gap: 20px;
  }
  .idx08-img {
    width: 100px;
    height: 100px;
  }
  .idx08-img img {
    width: 70%;
  }
  .idx08-title {
    font-size: min(8px, 1.8vw);
    margin-bottom: 15px;
  }
  .idx08-title .jp {
    letter-spacing: 0;
    font-size: 2.5em;
  }
  .idx08-title .sm {
    letter-spacing: 0;
    margin-top: 8px;
  }
  .idx09 {
    padding: 60px 0;
  }
  .idx09 .inner_big::after {
    display: none;
  }
  .idx09 .idx-title h3 {
    letter-spacing: 0.05em;
  }
  .idx09-btn {
    font-size: 8px;
    padding-right: 20px;
    padding-top: 10px;
    padding-bottom: 12px;
    padding-left: 20px;
  }
  .idx09-btn .num {
    padding-right: 0;
    margin-right: 0;
    line-height: unset;
  }
  .idx09-btn .num::before {
    display: none;
    top: -4px;
    height: calc(100% + 8px);
  }
  .idx09-btn .txt {
    width: calc(100% - 60px);
    line-height: 1.4;
    font-size: 2.2em;
    letter-spacing: 0;
    position: relative;
    padding-left: 15px;
    margin-left: 15px;
  }
  .idx09-btn .txt::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 1px;
    background-color: #fff;
  }
}
@media only screen and (max-width: 639px) {
  .idx08 .flex {
    gap: 10px;
  }
  .idx08 .item {
    width: calc(50% - 5px);
  }
}
@media only screen and (max-width: 374px) {
  .idx07-grBtn {
    margin-top: 30px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .idx07-bn {
    width: 100%;
  }
  .idx07-bn a {
    font-size: 8px;
  }
  .idx08 .item {
    width: 100%;
  }
  .idx08-title {
    font-size: 8px;
  }
}
@media only screen and (max-width: 639px) {
  .idx04 {
    --scale: 1;
    --sideX: var(--scale) translateX(0);
  }
  .idx04 .item {
    margin-right: 1.5em;
  }
}
@media only screen and (max-width: 400px) and (min-width: 374px) {
  .idx07-bn a {
    font-size: 7px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .idx07-bn a .txt {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
  .idx07-bn a .txt::before {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 2.5em;
    height: 2.5em;
  }
  .idx07-bn a .jp {
    padding-right: 0;
    font-size: 2em;
  }
  .idx07-bn a .jp::after {
    -webkit-transform: unset;
            transform: unset;
    bottom: 0;
    top: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .idx07-bn a .sm {
    padding-top: 0;
  }
}
/*# sourceMappingURL=index_sp.css.map */