@media only screen and (max-width: 768px) {
    .home_page .key {
        --height: calc(100vh - 60px);
        --max-height: min(177.87vw, 700px);
        --min-height: min(177.87vw, 700px);
        font-size: 8px;
    }
    .home_page .key .key_text .item {
        padding: 0;
        height: 100%;
        display: flex;
        align-items: flex-start;
    }
	.iImg .ttl-bnr{
		font-size:1.25em;
	}
    .home_page .key .s1 {
        background-image: url(../images/idx-main-img01-sp.jpg);
    }
    .home_page .key .slick-initialized .s2 {
        background-image: url(../images/idx-main-img02-sp.jpg);
        background-position: center;
    }
    .iInpection-cnt .txt>p {
        font-size: 14px;
    }
    .home_page .key .slick-initialized .s3 {
        background-image: url(../images/idx-main-img03-sp.jpg);
        background-position: center;
    }
	    .home_page .key .slick-initialized .s4 {
        background-image: url(../images/idx-main-img04-sp.jpg);
        background-position: center;
    }
	    .home_page .key .slick-initialized .s5 {
        background-image: url(../images/idx-main-img05-sp.jpg);
        background-position: center;
    }
	    .home_page .key .slick-initialized .s6 {
        background-image: url(../images/idx-main-img06-sp.jpg);
        background-position: center;
    }
    .home_page .key .catch {
        padding: 0;
    }
    .home_page .key .catch .title {
        font-size: min(6.93vw, 30px);
        margin-bottom: 13px;
    }
    .home_page .key .catch .title span {
        padding: 0.1em 0.5em 0.3em 0.5em;
        letter-spacing: 0;
    }
    .home_page .key .catch .title span.last {
        margin-top: 0.25em;
    }
    .home_page .key .catch .sub-ttl {
        font-size: min(3.73vw, 16px);
        letter-spacing: 0.1em;
        padding-left: 1.4em;
        padding-right: 1.4em;
    }
    .home_page .key .inner_big {
        padding-top: 130px;
    }
    .home_page h2 {
        font-size: min(14.67vw, 65px);
    }
    .home_page .idx-ttl-jp {
        font-size: min(7.47vw, 32px);
    }
    .home_page .key .idx-scroll a {
        left: initial;
        right: 12px;
        bottom: 61px;
    }
    .mCSB_scrollTools .mCSB_draggerRail,
    .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
        width: 4px;
    }
    .mCSB_scrollTools .mCSB_dragger {
        min-height: 33px !important;
        max-height: 33px !important;
    }
    .iNews-list ul {
        height: 220px;
    }
    .iNews {
        padding-bottom: 20px;
    }
    .iNews-fx {
        flex-direction: column;
        max-width: 100%;
        padding: 9px;
    }
    .iNews-ttl {
        margin-right: 0;
        padding-top: 4px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .iNews-ttl h2 {
        font-size: min(6.67vw, 30px);
    }
    .iNews-list {
        margin-top: 17px;
    }
    .iNews-list ul li {
        margin-right: 4px;
    }
    .iNews-list ul li:not(:first-child) a {
        padding-top: 19px;
    }
    .iNews-list ul li a {
        align-items: flex-start;
        flex-direction: column;
        padding: 0 0 19px;
    }
    .iNews-list ul li a:before {
        top: initial;
        right: 0;
        bottom: 25px;
        width: 12px;
        height: 7px;
    }
    .iNews-list ul li a .date {
        font-size: 12px;
        margin-bottom: 2px;
    }
    .iNews-list ul li a .title {
        font-size: 14px;
        padding-right: 20px;
    }
    .idx-btn-more a {
        font-size: 16px;
    }
    .idx-btn-more a:after {
        margin-left: 10px;
    }
    .iMedical {
        padding-top: 4px;
        padding-bottom: 164px;
    }
    .iMedical:before {
        height: 60%;
    }
    .iMedical .inner_big {
        padding: 0 20px;
    }
    .iMedical-list {
        flex-direction: column;
        max-width: 100%;
        margin: 33px auto 0;
    }
    .iMedical .toggle-cnt {
        margin-right: 0;
        margin-top: 15px;
    }
    .iMedical-box {
        width: 100%;
        margin: 0 auto 30px !important;
        padding-bottom: 30px !important;
        clip-path: polygon(6% 0, 100% 0, 100% 94%, 94% 100%, 0 100%, 0 6%) !important;
    }
    .iMedical-box .img {
        clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%, 0 10%) !important;
    }
    .iMedical-box:last-child {
        padding-bottom: 1px;
        margin-bottom: 0 !important;
    }
    .iMedical-box:last-child .iMedical-sub-ttl {
        padding-left: 20px;
        letter-spacing: 0.1em;
        padding-right: 18px;
    }
    .iMedical-box:last-child .iMedical-sub-ttl .ico {
        margin-top: -32px;
        margin-right: 8px;
    }
    .iMedical-ttl {
        padding-left: 0;
    }
    .iMedical-ttl:before,
    .iMedical-ttl:after {
        width: 422px;
        height: 257px;
    }
    .iMedical-ttl:before {
        left: -356px;
        top: -92px;
    }
    .iMedical-ttl:after {
        right: -358px;
        top: -92px;
    }
    .iMedical-ttl h2 {
        margin-bottom: -2px;
    }
    .iMedical-sub-ttl {
        min-width: 160px;
        min-height: 50px;
        font-size: min(5.87vw, 22px);
        margin-top: -35px;
        padding-top: 1px;
        border-top-left-radius: 18px;
        border-bottom-right-radius: 18px;
        padding-left: 20px;
    }
    .iMedical-sub-ttl .ico {
        margin-top: -32px;
        top: 0;
        margin-right: 18px;
    }
    .iMedical-sub-ttl .ico img {
        height: 70px;
        width: auto;
    }
    .iMedical-cnt {
        position: relative;
        padding: 8px 20px 0;
    }
    .iMedical-link-ttl {
        position: absolute;
        top: -180px;
        right: 17px;
        font-size: 16px;
        letter-spacing: 0.06em;
    }
    .iMedical .idx-btn-link {
        margin-right: 0;
    }
    .iInpection {
        font-size: initial;
        padding-bottom: 50px;
        position: relative;
        z-index: 2;
    }
    .iInpection:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0 auto;
        width: 100%;
        height: 100px;
        clip-path: polygon(100% 0, 100% 70.5%, 92% 100%, 0 100%, 0 0);
        background: #fff;
        z-index: -1;
    }
    .iInpection-box {
        margin-top: -94px;
        margin-left: 20px;
        padding-right: 0;
        padding-top: 43px;
        padding-left: 20px;
        padding-bottom: 29px;
        clip-path: polygon(8.5% 0, 100% 0, 100% 91%, 91% 100%, 0 100%, 0 5%);
    }
    .iInpection-box .inner_big {
        padding: 0;
    }
    .iInpection-fx {
        flex-direction: column;
        padding-right: min(10.67vw, 40px);
    }
    .iInpection-fx:before {
        right: 0;
        top: -44px;
        background: url(../images/idx-inpection-ico03-sp.png) no-repeat center;
        background-size: cover;
        width: min(70.4vw, 364px);
        height: min(44.53vw, 200px);
    }
    .iInpection-cnt {
        position: relative;
        z-index: 1;
        margin: 0 auto;
        max-width: 100%;
    }
    .iInpection-cnt h2 {
        font-size: min(4.8vw, 22px);
    }
    .iInpection-cnt h3 {
        font-size: min(7.47vw, 32px);
        margin-top: 0;
        letter-spacing: 0.1em;
        margin-bottom: 12px;
    }
    .iInpection .img {
        margin-top: 0;
        margin-left: 0;
        margin-right: min(10.67vw, 40px);
    }
    .iInpection .img img {
        height: min(48vw, 250px);
        width: 100%;
        object-fit: cover;
    }
    .iInpection-list {
        justify-content: center;
    }
    .iInpection-list li {
        margin-right: 8px;
    }
    .iInpection-list li a {
        padding-top: 12px;
        min-width: min(37.87vw, 142px);
        min-height: min(30.67vw, 115px);
        padding-bottom: 12px;
    }
    .iInpection-list li a .ico {
        margin-bottom: min(2.67vw, 10px);
    }
    .iInpection-list li a .ico img {
        width: min(14.93vw, 56px) !important;
        height: auto;
    }
    .iInpection-list li a .ttl {
        font-size: min(3.73vw, 14px);
    }
    .iInpection-list li a .ttl img {
        width: 12px;
        height: auto;
    }
    .iGastro {
        background-size: 100% 100%;
        padding-top: 58px;
        background: url(../images/idx-gastro-bg-sp.jpg) no-repeat center;
        background-size: cover;
        margin-top: -30px;
    }
    .iGastro:before {
        background: rgb(66, 62, 62);
    }
    .iGastro:after {
        background: url(../images/idx-gastro-bg03-sp.png) no-repeat center;
        background-size: cover;
    }
    .iGastro:before,
    .iGastro:after {
        background-size: cover;
    }
    .iGastro .inner_big {
        padding: 0;
    }
    .iGastro-fx {
        flex-direction: column;
        padding: 20px 20px 0;
    }
    .iGastro-link {
        width: calc(100% + 20px);
        position: relative;
        padding: 26px 20px 36px;
        margin-top: 23px;
        clip-path: polygon(5.5% 0, 100% 0, 100% 91%, 100% 100%, 0 100%, 0 5%);
    }
    .iGastro-cnt {
        margin-right: 0;
        width: 100%;
    }
    .iGastro-cnt h3 {
        display: block;
        padding-left: 35px;
        margin-bottom: 28px;
        line-height: 1.1em;
        letter-spacing: 0.1em;
        font-size: min(7.47vw, 32px);
    }
    .iGastro-cnt h3:before {
        position: absolute;
        width: 22px;
        height: 24px;
        top: 3px;
    }
    .iGastro-cnt h3 span {
        display: block;
        margin-left: 0;
        font-size: min(6.67vw, 27px);
    }
    .iGastro-cnt h4 {
        font-size: min(5.33vw, 23px);
        margin-bottom: 6px;
        letter-spacing: 0.1em;
    }
    .iGastro-cnt .txt>p {
        line-height: 2.25em;
    }
    .iGastro .idx-btn-link li {
        max-width: 100%;
    }
    .idx-list-link02 li {
        margin-right: min(2.67vw, 10px);
        width: calc(50% - min(1.33vw, 5px));
    }
    .idx-list-link02 li:nth-child(2) a {
        letter-spacing: -1.5px;
    }
    .idx-list-link02 li a {
        font-size: min(3.73vw, 14px);
        padding-bottom: min(3.3vw, 14px);
        letter-spacing: -0.5px;
    }
    .idx-list-link02 li a .ico {
        margin-right: min(1.87vw, 7px);
    }
    .idx-list-link02 li a:before {
        width: min(3.2vw, 12px);
        height: min(1.87vw, 7px);
        right: 0;
        top: -10px;
    }
    .idx_gallery {
        padding: 11px 0 29px;
    }
    .idx_gallery .item.item01 img,
    .idx_gallery .item.item03 img,
    .idx_gallery .item.item05 img {
        width: 213px;
        height: auto;
    }
    .idx_gallery .item.item02 img,
    .idx_gallery .item.item04 img,.idx_gallery .item.item06 img {
        width: 170px;
        height: auto;
    }
    .iFeature {
        padding-bottom: 30px;
        clip-path: polygon(8% 0, 92% 0, 100% 1.2%, 100% 100%, 0 100%, 0 1.2%);
    }
    .iFeature .inner_big {
        padding: 0 20px;
    }
    .iFeature-ttl {
        margin-bottom: 35px;
    }
    .iFeature-ttl h2 {
        margin-bottom: 3px;
    }
    .iFeature-ttl h3 {
        font-size: min(7.47vw, 32px);
        line-height: 1.25em;
    }
    .iFeature-ttl h3 label {
        display: block;
    }
    .iFeature-ttl h3 span {
        font-size: min(11.2vw, 46px);
    }
    .iFeature-cnt {
        padding-top: 9px;
    }
    .iFeature-cnt .box-ttl .stt {
        font-size: 10px;
        text-align: left;
        letter-spacing: 0.08em;
        margin-right: 18px;
    }
    .iFeature-cnt .box-ttl .stt span {
        font-size: 53px;
        letter-spacing: 0 !important;
        display: block;
    }
    .iFeature-cnt .cnt {
        position: relative;
        z-index: 1;
    }
    .iFeature-cnt .cnt h4 {
        font-size: min(5.33vw, 24px);
        line-height: 1.45em;
        margin-bottom: 8px;
        letter-spacing: 0.1em;
        font-weight: 500;
    }
    .iFeature-cnt .cnt .txt>p {
        line-height: 2.25em;
    }
    .iFeature-list {
        flex-direction: column;
        max-width: 500px;
        margin: 0 auto;
    }
    .iFeature-list li {
        width: 100%;
        max-width: 100%;
        margin: 0 auto 33px !important;
    }
    .iFeature-list li .img img {
        height: min(53.33vw, 300px);
        width: 100%;
        object-fit: cover;
    }
    .iFeature-list li .img:before {
        width: 245px;
        height: 178px;
        right: -20px;
        bottom: -45px;
    }
    .iFeature-list li:nth-child(2n) .img:before {
        bottom: -45px;
    }
    .iFeature-ico li.ico01 {
        top: 0px;
        left: -110px;
        width: fit-content;
        width: 304px;
    }
    .iFeature-ico li.ico03 {
        top: 20.8%;
        bottom: initial;
        margin: initial;
        left: 0;
        height: fit-content;
        width: 86px;
        height: 218px;
    }
    .iFeature-ico li.ico04 {
        top: -16em;
        bottom: 0;
        margin: auto 0;
        right: 0;
        height: fit-content;
        width: 89px;
        height: 260px;
    }
    .iFeature-ico li.ico05 {
        bottom: 0;
        right: -84px;
        width: 186px;
        height: 74px;
    }
    .iFeature-ico li.ico06 {
        width: 86px;
        height: 218px;
        bottom: 26.34%;
        left: 0;
    }
    .iFeature-ico li.ico02 {
        top: 5.95%;
        right: 0;
        width: fit-content;
        width: 89px;
        height: 260px;
    }
    .iGreeting {
        padding-top: 70px;
        padding-bottom: 36px;
    }
    .iGreeting-fx {
        flex-direction: column;
    }
    .iGreeting-fx:before {
        left: 11px;
        top: -51px;
        background: url(../images/idx-greeting-ico01.svg) no-repeat center;
        background-size: contain;
        width: 81px;
        height: 130px;
        z-index: 1;
    }
    .iGreeting-fx:after {
        display: none;
    }
    .iGreeting .img02 {
        order: 1;
        position: relative;
    }
    .iGreeting .img02:before {
        content: "";
        position: absolute;
        right: -35px;
        bottom: -42px;
        background: url(../images/idx-greeting-ico02.svg) no-repeat center;
        background-size: contain;
        width: 125px;
        height: 123px;
    }
    .iGreeting .img02 img {
        width: 100%;
        height: min(66.67vw, 450px);
        object-fit: cover;
        object-position: top;
    }
    .iGreeting .img01 {
        order: 3;
        position: absolute;
        right: -10px;
        bottom: 55px;
        width: min(43.2vw, 200px);
        height: min(34.13vw, 160px);
    }
    .iGreeting .img01 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .iGreeting-cnt {
        order: 2;
        margin: 0;
        padding: 22px 10px;
    }
    .iGreeting-cnt h2 {
        font-size: min(4.8vw, 22px);
    }
    .iGreeting-cnt h3 {
        font-size: min(7vw, 32px);
        letter-spacing: 0.1em;
        margin-bottom: 14px;
    }
    .iGreeting-cnt .txt {
        padding-left: 0;
        margin-bottom: 16px;
    }
    .iGreeting-cnt .txt>p {
        line-height: 2.25em;
    }
    .iGreeting-cnt .box-name .sub-name,
    .iGreeting-cnt .box-name .sub-name-en {
        font-size: 12px;
    }
    .iGreeting-cnt .box-name .name {
        font-size: 24px;
        margin-top: 12px;
    }
    .iGreeting-cnt .box-name .name span {
        font-size: 12px;
        margin-right: 10px;
    }
    .iGreeting .idx-btn-link li {
        width: calc(50% - 6px);
        margin-right: 11px;
        max-width: 100%;
    }
    .iGreeting .idx-btn-link li:nth-child(2n) {
        margin-right: 0;
    }
    .iRecruit {
        padding-top: 44px;
    }
    .iRecruit .inner_big {
        padding: 0 20px;
    }
    .iRecruit-fx {
        flex-direction: column;
    }
    .iRecruit .iColumn {
        width: 100%;
        padding: 0 0 40px;
        border-right: 0;
        position: relative;
    }
    .iRecruit .iColumn:before {
        content: "";
        position: absolute;
        left: 50%;
        transform: translate(-50%);
        bottom: 0;
        width: 100vw;
        height: 1px;
        background: #c6c5c5;
    }
    .iRecruit .iColumn-ttl h2 {
        font-size: min(4.8vw, 22px);
        margin-bottom: 3px;
    }
    .iRecruit .iColumn-ttl .idx-ttl-jp {
        font-size: min(5.87vw, 26px);
    }
    .iRecruit .iColumn-ttl-fx {
        margin-bottom: 22px;
    }
    .iRecruit .iColumn-list {
        padding-left: 0;
    }
    .iRecruit .iColumn-list li {
        margin-bottom: 20px;
    }
    .iRecruit .iColumn-list li a .img {
        width: 150px;
        height: 100px;
    }
    .iRecruit .iColumn-list li a .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .iRecruit .iColumn-list li a .cnt {
        margin-left: 15px;
        padding-top: 8px;
    }
    .iRecruit .iColumn-list li a .cnt .date {
        margin-bottom: 8px;
        font-size: 12px;
    }
    .iRecruit .iColumn-list li a .cnt .ttl {
        font-size: 17px;
    }
    .iRecruit .iColumn-list li a .cnt .txt {
        margin-top: 8px;
        line-height: 1.5em;
    }
    .iRecruit-box {
        width: 100%;
        padding: 0;
        padding-top: 36px;
    }
    .iRecruit-box .img {
        margin-bottom: 1.65em;
    }
    .iRecruit-box .img img {
        height: min(45.33vw, 340px);
        width: 100%;
        object-fit: cover;
        object-position: top;
    }
    .iRecruit-box .txt>p {
        line-height: 2.25em;
    }
    .iRecruit-ttl-fx {
        margin-bottom: 23px;
    }
    .iRecruit-ttl h2 {
        font-size: min(4.8vw, 22px);
    }
    .iRecruit-ttl .idx-ttl-jp {
        font-size: min(5.87vw, 26px);
    }
    .iRecruit .idx-btn-link {
        margin-bottom: 3px;
    }
    .iRecruit .idx-btn-link li {
        max-width: min(37.87vw, 142px);
    }
    .iRecruit .idx-btn-link li a {
        padding-left: 12px;
        min-width: min(37.87vw, 142px);
        min-height: 47px;
    }
    .iRecruit .idx-btn-link li a:before {
        right: 15px;
    }
	.iImg-fx{
		flex-direction:column;
	}
	.iImg-fx .bnr{
		margin:0 auto 20px;
	}
}

@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) {
    .index0 {
        padding: 60px 0px 60px;
        background-color: #000;
    }
    .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);
    }
}


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