@media only screen and (max-width: 768px) {
    .home_page .key {
        --height: min(177.87vw, 750px);
        --max-height: min(177.87vw, 750px);
        --min-height: min(177.87vw, 750px);
        font-size: initial;
        overflow: initial;
    }
    .home_page .key .key_text .item {
        padding: 0;
    }
    .home_page .key .key_text .item .video video {
        width: 331%;
        height: 166%;
        position: relative;
    }
    .home_page .key .inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
    }
    .home_page .key .catch {
        padding: 10px min(5vw, 20px) 20px;
        width: auto;
        height: auto;
        left: 0;
        width: fit-content;
    }
    .home_page .key .catch .title {
        font-size: min(5.87vw, 24px);
    }
    .home_page .key .catch>p {
        font-size: min(3.6vw, 15px);
    }
    .home_page .key .idx-list-main {
        max-width: 100%;
        margin: min(16vw, 100px) auto 0;
    }
    .index0 .idx-box-news .list-news ul li a:before {
        width: 0.675em;
        height: 0.6125em;
    }
    .home_page .key .idx-list-main li {
        width: calc(33.3333333333% - 3px);
        margin-right: 5px;
        min-width: auto;
    }
    .home_page .key .idx-list-main li:last-child {
        margin-right: 0;
    }
    .home_page .key .idx-list-main li a {
        min-height: auto;
        border-radius: 10px;
        height: 100%;
        padding: 15px 0;
    }
    .home_page .key .idx-list-main li a .ttl {
        font-size: min(3.6vw, 18px);
        line-height: 1.5em;
    }
    .index0 .iMedical-frame.st02 .iMedical-frame-fx .box-cnt .idx-list-link li:last-child a {
        padding-right: 2em;
    }
    .index0 {
        font-size: initial;
        padding-top: 60px;
    }
    .index0:before {
        content: "";
        position: absolute;
        left: 50%;
        transform: translate(-50%);
        background: url(../images/idx-bg-key-sp.png) no-repeat top center;
        background-size: cover;
        width: 700px;
        height: 125px;
        top: 0;
        z-index: -1;
        display: none;
    }
    .index0:after {
        top: -110px;
        background: url(../images/idx-bg-sec01-sp-full.png) no-repeat top center;
        background-size: 100% auto;
        height: calc(100% + 110px);
        width: 768px;
    }
    .index0 .idx-box-news {
        padding: 20px;
        max-width: 100%;
        flex-direction: column;
    }
    .index0 .idx-box-news .box-ttl {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0 auto 20px;
        padding-top: 0;
        width: 100%;
    }
    .index0 .idx-box-news .box-ttl h2 {
        font-size: min(5.33vw, 22px);
        margin-bottom: 0;
    }
    .index0 .idx-box-news .list-news ul {
        height: 90px;
    }
    .index0 .idx-box-news .list-news ul li {
        padding: 2px 0;
    }
    .index0 .idx-box-news .list-news ul li a .date {
        font-size: 12px;
    }
    .index0 .idx-box-news .list-news ul li a .ttl {
        font-size: 15px;
        padding-left: 10px;
        margin-left: 10px;
    }
    .index0 .iReason .idx-list-link li a {
        font-size: 14px;
    }
    .index0 .idx-box-news .mCSB_inside>.mCSB_container {
        margin-right: 15px;
    }
    .index0 .inner {
        padding: 0 20px;
    }
    .index0 .iMedical-list-btn {
        max-width: 100%;
    }
    .idx-box-toggle .idx-cnt-toggle.active {
        display: block;
        border-top-right-radius: 0;
    }
    .index0 .iMedical {
        margin-top: 60px;
        padding: 0 10px;
    }
    .index0 .iMedical:before {
        top: -26px;
        width: 120px;
        height: 30px;
        background-size: contain;
    }
    .index0 .iMedical-box {
        padding: 20px min(3.33vw, 20px);
        border-radius: 15px;
    }
    .index0 .iMedical-box:before {
        top: -28px;
        width: 210px;
        height: 50px;
    }
    .index0 .iMedical-ttl .idx-ttl-en {
        margin-bottom: 0;
        font-size: 70px;
    }
    .index0 .iMedical-ttl h2 {
        font-size: 30px;
    }
    .index0 .iMedical-list-btn {
        flex-direction: column;
        margin-bottom: 20px;
    }
    .index0 .iMedical-list-btn li {
        width: 100%;
        margin: 0 auto 10px;
    }
    .index0 .iMedical-list-btn li:last-child {
        margin-bottom: 0;
    }
    .index0 .iMedical-list-btn li a {
        padding: 20px;
        min-height: auto;
    }
    .index0 .iMedical-list-btn li a .ttl {
        font-size: 18px;
    }
    .index0 .iMedical-frame {
        padding: 20px 10px !important;
        border-radius: 10px;
    }
    .index0 .iMedical-frame .ico-ttl {
        position: absolute;
        left: 0;
        top: 0;
        width: 90px;
        height: 90px;
        background: var(--clr2);
        text-align: center;
        border-top-left-radius: 10px;
        border-bottom-right-radius: 10px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding-top: 0.625em;
    }
    .index0 .iMedical-frame .ico-ttl .ico img {
        height: 40px !important;
        width: auto;
    }
    .index0 .iMedical-frame .ico-ttl .ttl {
        font-size: 12px;
        letter-spacing: 0;
    }
    .index0 .iMedical-frame .cnt-toggle.active {
        padding: 10px;
    }
    .index0 .iMedical-frame .cnt-toggle .txt-link {
        width: 100%;
        margin-right: 0 !important;
        padding: 3px 0;
    }
    .index0 .iMedical-frame .cnt-toggle .txt-link:nth-child(2n) {
        margin-right: 0 !important;
    }
    .index0 .iMedical-frame .cnt-toggle .txt-link a {
        font-size: 12px;
    }
    .index0 .iMedical-frame .idx-list-link {
        flex-direction: column;
    }
    .index0 .iMedical-frame .idx-list-link li {
        margin: 0 auto 15px;
        width: 100%;
    }
    .index0 .iMedical-frame .idx-list-link li:last-child {
        margin-bottom: 0;
    }
    .index0 .iMedical-frame .idx-list-link li a {
        font-size: 14px;
        padding-bottom: 5px;
    }
    .index0 .iMedical-frame .idx-list-toggle {
        border-radius: 10px;
    }
    .index0 .iMedical-frame .idx-list-toggle .item .ttl {
        min-height: 4.375em;
        background: var(--main-color);
        color: #fff;
        display: flex;
        align-items: center;
        margin-bottom: 0;
        padding-left: 7px;
        border-right: 1px solid rgba(255, 255, 255, 0.3);
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        position: relative;
        cursor: pointer;
        letter-spacing: 0;
        font-size: min(3.2vw, 12px);
        line-height: 1.5em;
        padding-right: min(4vw, 15px);
    }
    .index0 .iMedical-frame .idx-list-toggle .item .ttl:before {
        right: 5px;
    }
    .index0 .iMedical-frame-fx {
        flex-direction: column;
    }
    .index0 .iMedical-frame-fx .box-cnt {
        margin: 0 auto;
        padding: 20px 15px !important;
        max-width: 100%;
        order: 2;
        width: 100%;
        min-height: auto !important;
    }
    .index0 .iMedical-frame-fx .box-cnt .box-ttl {
        margin-bottom: 20px;
    }
    .index0 .iMedical-frame-fx .box-cnt .box-ttl h2 {
        font-size: min(6.93vw, 30px);
    }
    .index0 .iMedical-frame-fx .box-cnt .box-ttl .idx-ttl-en02 {
        font-size: min(4vw, 17px);
    }
    .index0 .iMedical-frame-fx .box-cnt .txt {
        margin-bottom: 20px !important;
    }
    .index0 .iMedical-frame-fx .box-cnt .txt>p {
        margin-bottom: 15px;
        font-size: 14px;
        letter-spacing: 0.1em !important;
    }
    .index0 .iMedical-frame-fx .box-img {
        margin: 0 auto 20px;
        width: 100%;
        order: 1;
    }
    .index0 .iMedical-frame-fx .box-img img {
        border-radius: 10px;
        width: 100%;
        height: min(53.33vw, 300px);
        object-fit: cover;
    }
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt {
        flex-direction: column;
        width: 100%;
        padding-top: 80px !important;
    }
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .box-ttl {
        margin-bottom: 20px;
        margin-right: 0;
        padding-top: 0;
    }
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .idx-list-btn.st02 li {
        width: calc(100% / 2 - 5px);
        margin-right: 10px !important;
        margin-bottom: 10px;
        max-width: 100%;
    }
    .idx-list-btn.st02 li a:before {
        right: 15px;
    }
    .idx-list-btn.st02 li a {
        padding-left: 1em;
        padding-right: 1.5em;
        letter-spacing: 0.01em;
    }
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .idx-list-btn.st02 li:nth-child(2n) {
        margin-right: 0 !important;
    }
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .idx-list-btn.st02 li:last-child {
        margin-bottom: 0 !important;
    }
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .idx-list-btn.st02 li a {
        font-size: 13px;
        min-height: 62px;
    }
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .idx-list-btn.st02 li a:before {
        right: 10px;
    }
    .index0 .iMedical .idx-list-btn {
        max-width: 100% !important;
        flex-direction: row;
        margin-bottom: 40px;
    }
    .index0 .iMedical .idx-list-btn li {
        width: calc(100% / 2 - 5px);
        margin-right: 10px !important;
        margin-bottom: 10px;
        max-width: 100%;
    }
    .index0 .iMedical .idx-list-btn li:nth-child(2n) {
        margin-right: 0 !important;
    }
    .index0 .iMedical .idx-list-btn li:last-child {
        margin-bottom: 0 !important;
    }
    .index0 .iReason {
        padding-top: 60px;
    }
    .index0 .iReason .iReason-ttl {
        margin-left: 0;
        margin-bottom: 20px;
    }
    .index0 .iReason .iReason-ttl h2 {
        font-size: min(6.4vw, 28px);
    }
    .index0 .iReason .iReason-ttl h2:before {
        content: "Reason";
        position: absolute;
        right: 0;
        top: -60px;
        font-size: 3.1818181818em;
        font-family: var(--f-en);
        color: rgba(255, 255, 255, 0.1);
        transform: rotate(5deg);
    }
    .index0 .iReason .iReason-ttl h2 img {
        height: min(13.33vw, 60px);
    }
    .index0 .iReason-box {
        padding: 60px 0 100px;
    }
    .index0 .iReason-slider {
        width: calc(100% - 20px);
    }
    .index0 .iReason-fx {
        flex-direction: column;
    }
    .index0 .iReason .slick-dots {
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        justify-content: flex-start;
        margin-left: min(29.33vw, 110px);
        bottom: -30px;
    }
    .index0 .iReason .slick-dots li {
        width: min(9.33vw, 45px);
        text-align: center;
    }
    .index0 .iReason .slick-dots li button {
        text-shadow: rgb(255, 255, 255) 1px 0px 0px, rgb(255, 255, 255) 0.540302px 0.841471px 0px, rgb(255, 255, 255) -0.416147px 0.909297px 0px, rgb(255, 255, 255) -0.989992px 0.14112px 0px, rgb(255, 255, 255) -0.653644px -0.756802px 0px, rgb(255, 255, 255) 0.283662px -0.958924px 0px, rgb(255, 255, 255) 0.96017px -0.279415px 0px;
    }
    .index0 .iReason .slick-arrow {
        width: min(12vw, 45px);
        height: min(12vw, 45px);
    }
    .index0 .iReason .slick-prev {
        left: 0;
        bottom: -50px;
    }
    .index0 .iReason .slick-next {
        left: min(14.67vw, 55px);
        bottom: -50px;
    }
    .index0 .iReason-cnt {
        padding: 20px !important;
        min-height: auto;
        padding-top: 30px !important;
        position: relative;
        order: 2;
    }
    .index0 .iReason-cnt .stt {
        font-size: 60px;
        left: 20px;
        top: -30px;
    }
    .index0 .iReason-cnt .ttl {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .index0 .iReason-cnt .txt {
        margin-bottom: 15px !important;
        padding-right: 0 !important;
    }
    .index0 .iReason-cnt .txt>p {
        font-size: 14px;
    }
    .index0 .iReason .box-img {
        order: 1;
    }
    .index0 .iReason .box-img .img img {
        width: 100%;
        height: min(53.33vw, 300px);
        object-fit: cover;
    }
    .index0 .iReason-img {
        left: 0;
    }
    .index0 .iReason-img .img {
        width: 70%;
    }
    .index0 .iReason .idx-reason-bnr img {
        width: auto;
        height: auto;
        max-width: 260px;
    }
    .iGreeting {
        padding: 40px 0 100px;
    }
    .iGreeting:before {
        content: "";
        position: absolute;
        left: 50%;
        transform: translate(-50%);
        width: 768px;
        background: url(../images/idx-greeting-bg-sp.png) no-repeat center;
        background-size: cover;
        height: 264px;
        bottom: 0;
    }
    .iGreeting .box-ttl:before {
        font-size: 70px;
        color: rgba(47, 156, 126, 0.1);
        top: 0px;
        right: 0;
        font-family: var(--f-en);
        left: 0;
        margin: 0 auto;
    }
    .iGreeting-fx {
        flex-direction: column;
    }
    .iGreeting-fx:before {
        right: -130px;
        top: -30px;
        background: url(../images/idx-greeting-ico01.svg) no-repeat center;
        background-size: 100% auto;
        width: 250px;
        height: 250px;
    }
    .iGreeting-fx:after {
        display: none;
    }
    .iGreeting-img {
        order: 2;
        margin-right: 0;
        margin-left: -20px;
        margin-top: 0;
        margin-bottom: 20px;
    }
    .iGreeting-img .box-img01 .img img {
        width: 100%;
        height: min(93.33vw, 350px);
        object-fit: cover;
    }
    .iGreeting-img .box-img01 .box-name {
        padding: 10px 20px;
        bottom: 60px;
    }
    .iGreeting-img .box-img02 {
        margin-right: -20px;
        margin-top: -55px;
    }
    .iGreeting-img .box-img02 .img img {
        width: min(64vw, 240px);
        height: auto;
    }
    .iGreeting-cnt {
        order: 1;
        padding: 20px;
    }
    .iGreeting-cnt .box-ttl {
        text-align: center;
    }
    .iGreeting-cnt .box-ttl .idx-ttl-en02 {
        margin-bottom: 0;
    }
    .iGreeting-cnt .box-ttl h2 {
        font-size: 40px;
    }
    .iGreeting-cnt h3 {
        text-align: center;
        margin-bottom: 20px;
        font-size: min(5.6vw, 23px);
    }
    .iGreeting-cnt h3 br {
        display: none;
    }
    .iGreeting-cnt .txt>p {
        font-size: 14px;
    }
    .iGreeting-cnt .idx-list-btn {
        justify-content: center;
        margin-left: 0;
    }
    .iGreeting-cnt .idx-list-btn li a {
        font-size: 14px;
        padding: 10px 30px 10px 15px;
        height: 100%;
    }
    .iGreeting-cnt .idx-list-btn li a:before {
        right: 10px;
    }
    .iBnr {
        padding: 20px 20px 120px;
        background: rgba(224, 241, 184, 0.6);
    }
    .iBnr-frame {
        padding: 20px;
    }
    .iBnr-fx {
        flex-direction: column;
        margin-bottom: 20px;
    }
    .iBnr-fx .item {
        margin: 0 auto 15px !important;
        width: fit-content;
        max-width: 100%;
    }
    .iBnr-fx .item:last-child {
        margin-bottom: 0 !important;
        margin-right: auto !important;
    }
    .idx_gallery {
        margin-top: -80px;
    }
    .idx_gallery .item img {
        width: 240px;
        height: auto;
    }
    .iBlog {
        padding: 60px 0;
    }
    .iBlog .inner_big {
        padding: 0 20px;
        max-width: 100%;
    }
    .iBlog-fx {
        flex-direction: column;
    }
    .iBlog-cnt {
        flex-direction: column;
        margin: 0 auto 40px !important;
        max-width: 100%;
    }
    .iBlog-cnt:last-child {
        margin-bottom: 0 !important;
    }
    .iBlog-ttl {
        display: flex;
        justify-content: space-between;
        position: relative;
        width: 100%;
        max-width: 100%;
        margin-top: 0;
        margin-right: 0;
        align-items: center;
        margin-bottom: 20px;
    }
    .iBlog-ttl .idx-ttl-en {
        position: absolute;
        top: -30px !important;
        left: 0 !important;
        font-size: 60px;
    }
    .iBlog-ttl h2 {
        margin-bottom: 0;
        margin-top: 0;
        font-size: 24px;
        flex-shrink: 0;
    }
    .idx-box-toggle {
        margin-top: 20px;
    }
    .idx-box-toggle .idx-btn-toggle {
        min-width: 100%;
        min-height: auto;
        border-radius: 10px;
        padding: 10px 20px 10px 15px;
        font-size: 14px;
    }
    .idx-box-toggle .idx-btn-toggle:before {
        right: 10px;
    }
    .idx-box-toggle .idx-cnt-toggle {
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px;
        padding: 15px;
        padding-top: 0;
    }
    .idx-box-toggle .idx-cnt-toggle02 {
        margin-top: 15px;
    }
    .idx-box-toggle .idx-cnt-toggle02 .idx-btn-toggle02 {
        font-size: 13px;
        padding: 5px 30px 5px 10px;
    }
    .idx-box-toggle .idx-cnt-toggle02 .idx-btn-toggle02:before {
        right: 10px;
    }
    .idx-box-toggle .idx-cnt-toggle02 .idx-list-link02 {
        padding: 0 10px;
    }
    .idx-box-toggle .idx-cnt-toggle02 .idx-list-link02 li {
        width: 100%;
        margin-right: 0 !important;
    }
    .idx-box-toggle .idx-cnt-toggle02 .idx-list-link02 li a {
        font-size: 13px;
        line-height: 1.5em;
    }
    .idx-box-toggle .idx-list-link02 li {
        width: 100%;
        margin: 0 auto 7px;
    }
    .idx-box-toggle .idx-list-link02 li a {
        font-size: 14px;
    }
    .idx-list-link li a {
        font-size: 14px;
    }
    .idx-btn-view a {
        font-size: min(3.2vw, 12px);
        min-height: min(10.67vw, 40px);
    }
    .idx-list-btn li a {
        min-height: 70px;
        font-size: 14px !important;
        padding: 10px 30px 10px 15px;
    }
    .idx-list-btn li a:before {
        right: 15px;
    }
    .index0 .iMedical-frame .idx-list-toggle .item {
        width: 50%;
    }
    .idx-list-toggle .item:nth-child(1),
    .idx-list-toggle .item:nth-child(2) {
        order: 1;
    }
    .idx-list-toggle .item:nth-child(3),
    .idx-list-toggle .item.i4 {
        order: 3
    }
    .idx-list-toggle .item.i5,
    .idx-list-toggle .item.i6 {
        order: 5
    }
    .idx-list-toggle #i1,
    .idx-list-toggle #i2 {
        order: 2;
    }
    .idx-list-toggle #i3,
    .idx-list-toggle #i4 {
        order: 4;
    }
    .idx-list-toggle #i5,
    .idx-list-toggle #i6 {
        order: 6;
    }
    .home_page .key .idx-list-main li a .ico img {
        width: min(2.6em, 24px);
        height: auto;
    }
}

@media only screen and (max-width: 640px) {
    .home_page .key {
        font-size: 1.5vmin;
    }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
    .home_page .key {
        font-size: 1.5vmin;
    }
}

@media only screen and (max-width: 768px) {
    .index07 {
        padding: 60px 0px 55px;
    }
    .index07 .content {
        flex-direction: column;
        align-items: center;
    }
    .index07 .content .box {
        margin-bottom: 5px;
        width: 100%;
        padding: 40px 5%;
        max-width: 680px;
    }
    .index07 .content .btn-group {
        max-width: 150px;
        width: 44%;
    }
    .index07 .content li {
        max-width: 100%;
    }
    .index07 .content li a {
        padding: 20px 0;
    }
    .index07 .content li a .date {
        width: 7em;
    }
    .index07 .content li a .title {
        width: calc(100% - 7em);
    }
}

@media only screen and (min-width: 639px) and (max-width: 768px) {
    .iBnr-fx {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .iBnr-fx .item {
        margin: 5px !important;
        width: calc(50% - 10px);
    }
    .iBnr-fx .item:last-child {
        margin: 5px !important;
    }
    .idx-list-btn,
    .index0 .iMedical-list-btn {
        flex-direction: row !important;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }
    .idx-list-btn li,
    .index0 .iMedical-list-btn li {
        width: calc(50% - 10px) !important;
        margin: 5px !important;
    }
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .idx-list-btn.st02 li,
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .idx-list-btn.st02 li:last-child {
        margin: 5px !important
    }
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .idx-list-btn.st02 li br,
    .index0 .iMedical-frame.st04 .iMedical-frame-fx .box-cnt .idx-list-btn.st02 li:last-child br {
        display: none !important;
    }
    .index0 .iMedical .idx-list-btn li {
        margin: 5px !important;
    }
    .index0 .iMedical .idx-list-btn li:last-child {
        margin: 5px !important;
    }
    .home_page .key .inner {
        padding-bottom: 20px;
    }
    .iGreeting-cnt .idx-list-btn li a br {
        display: none;
    }
}


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