@media only screen and (max-width: 768px) {
    .home_page .key {
        --height: calc(100vh - 60px);
        --max-height: 608px;
        --min-height: 608px;
        font-size: 8px;
    }
    .home_page .key .key_text .item {
        padding: 10px;
        height: calc(100vh - 60px);
        max-height: 608px;
        min-height: 608px;
    }
    .home_page .key .inner {
        flex-direction: column;
        max-width: 100%;
        height: 100%;
    }
    .home_page .key .catch {
        padding-top: min(23.2vw, 87px);
        padding-right: 0;
        text-align: center;
        position: relative;
        text-align: left;
    }
    .home_page .key .catch:before {
        content: "";
        position: absolute;
        right: -70px;
        top: -80px;
        background: url(../images/idx-main-ico-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 198px;
        height: 358px;
        z-index: -1;
    }
    .home_page .key .catch .title {
        font-size: min(6.67vw, 28px);
        margin-bottom: 20px;
		text-shadow:none;
    }
    .home_page .key .catch>p {
        font-size: min(3.73vw, 17px);
        color: #fff;
        position: relative;
        z-index: 2;
        font-weight: 500;text-shadow: rgb(0, 0, 0) 1px 0px 0px, rgb(0, 0, 0) 0.540302px 0.841471px 0px, rgb(0, 0, 0) -0.416147px 0.909297px 0px, rgb(0, 0, 0) -0.989992px 0.14112px 0px, rgb(0, 0, 0) -0.653644px -0.756802px 0px, rgb(0, 0, 0) 0.283662px -0.958924px 0px, rgb(0, 0, 0) 0.96017px -0.279415px 0px;
    }
    .home_page .key .box-img {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0 auto;
        width: 100%;
        height: min(99.73vw, 375px);
    }
    .home_page .key .box-img .img {
        height: 100%;
        width: 100%;
    }
    .home_page .key .box-img .img img {
        width: 100%;
        object-fit: cover;
        height: 100%;
    }
    .home_page .key .idx-scrol a {
        right: -5px;
        bottom: 16px;
        font-size: 13px;
        left: initial;
        color: #fff;
        padding-bottom: 56px;
    }
    .home_page .key .idx-scrol a:after {
        background: #fff;
        height: 50px;
    }
    .home_page .key .idx-box-news {
        left: 15px;
        width: calc(100% - 55px);
        bottom: 16px;
        transform: none;
        padding: 19px 15px 15px;
    }
    .home_page .key .idx-box-news>.ttl {
        font-size: 12.5px;
        top: 14px;
        left: 14px;
    }
    .home_page .key .idx-box-news ul li a .date {
        font-size: 12.5px;
        margin-bottom: 9px;
    }
    .home_page .key .idx-box-news ul li a .ttl {
        font-size: 14px;
    }
    .home_page .key .idx-box-news .idx-btn-news a {
        font-size: 13px;
        line-height: 1em;
        padding-bottom: 10px;
    }
    .home_page .key .idx-box-news .idx-btn-news a:before {
        top: initial;
        bottom: 15px;
    }
}

@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) {
    .idx-ttl-en {
        font-size: min(12vw, 52px);
    }
    .idx-ttl-en span {
        font-size: min(6.93vw, 33px);
    }
    .box-ttl {
        margin-bottom: 15px;
    }
    .box-ttl .idx-ttl-en02 {
        font-size: min(3.73vw, 17px);
        margin-bottom: 5px;
    }
    .box-ttl .idx-ttl-en02:before {
        width: 8px;
        height: 8px;
    }
    .box-ttl h2 {
        line-height: 1.7em;
        font-size: min(5.87vw, 26px);
    }
}

@media only screen and (max-width: 768px) {
    .index0 {padding-top:380px;
    }
    .index0:before {
        background-size: cover;
        height: 88.25em;
    }
    .index0 .inner_big {
        padding: 0 min(5.33vw, 20px);
    }
    .index0 .inner_big:before {
        width: min(69.33vw, 320px);
        height: min(75.2vw, 340px);
        background: url(../images/idx-concern-ico01-sp.svg) no-repeat center;
        background-size: 100% auto;
        top: -107px;
        left: -162px;
    }
    .index0 .idx-ttl-en {
        margin-right: 0;
    }
    .index0 .idx-fx-concern {
        padding: 0;
        flex-direction: column;
        margin-top: -30px;
    }
    .index0 .idx-fx-concern .img {
        order: 1;
        margin-right: 0;
        height: min(58.67vw, 350px);
        margin-left: -20px;
    }
    .index0 .idx-fx-concern .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .index0 .idx-fx-concern .box-cnt {
        order: 2;
        padding-top: 40px;
    }
    .index0 .idx-fx-concern .box-cnt .txt>p {
        line-height: 2em;
        font-size: min(4.27vw, 14px);
        letter-spacing: 0;
    }
	.iDevice-fx .box-cnt .txt>p br{
		   display:none;
	}
    .index0-frame {
        padding: 5px 5px 6px;
    }
    .index0-frame-bg {
        padding-bottom: 30px;
    }
    .index0-frame .idx-list-btn {
        width: calc(100% - 20px);
        margin: 0 auto;
    }
    .index0-frame .idx-list-btn li {
        max-width: min(36.13vw, 150px);
        width: calc(50% - 5px);
        margin-right: 10px;
    }
    .index0-frame .idx-list-btn li:nth-child(2n) {
        margin-right: 0;
    }
    .index0-frame .idx-list-btn li a {
        min-width: auto;
        width: 100%;
    }
    .index0-frame-fx {
        flex-direction: column;
        padding: 31px min(5.33vw, 20px) 13px;
    }
    .index0-frame-fx .item-cnt:before {
        width: min(21.6vw, 101px);
        height: min(28vw, 126px);
        top: -8px;
        right: -10px;
        bottom: initial;
    }
    .index0-frame-fx .item-cnt:first-child {
        padding-right: 0;
        margin-right: 0;
        border-right: 0;
        border-bottom: 1px solid #e6dedf;
        padding-bottom: 28px;
        margin-bottom: 25px;
    }
    .index0-frame-fx .item-cnt:last-child .ttl-liner {
        margin-bottom: 15px;
    }
    .index0-frame-fx .item-cnt:last-child:before {
        width: min(22.93vw, 106px);
        height: min(28.27vw, 126px);
        right: -8px;
        top: -5px;
    }
    .index0-frame-fx .item-cnt .img {
        margin-bottom: 17px;
        height: min(45.33vw, 250px);
    }
    .index0-frame-fx .item-cnt .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .idx-btn a {
        font-size: min(3.73vw, 15px);
        min-height: 60px;
        line-height: 1.3em;
        padding-left: 20px;
        letter-spacing: 0;
    }
    .idx-btn a:before {
        right: 15px;
        width: 10px;
        height: 5px;
    }
    .idx-list-link li {
        font-size: min(4vw, 16px);
		max-width:400px;
    }
    .idx-list-link li:before {
        width: 8px;
        top: 7.5px;
        height: 8px;
    }
    .ttl-liner {
        text-align: left;
        margin-bottom: 18px;
        line-height: 0.5em;
    }
    .ttl-liner span {
        line-height: 1.4em;
        font-size: min(5.87vw, 26px);
        background: linear-gradient(to bottom, transparent calc(100% - 8px), #f6e4e4 calc(100% - 8px), #f6e4e4 100%);
    }
    .iDevice {
        background: url(../images/idx-device-bg-sp.jpg) no-repeat top center;
        background-size: cover;
        min-height: 54.625em;
        clip-path: polygon(0 0, 100% 5.7%, 100% 100%, 0 93.15%);
        margin-top: -188px;
        padding-bottom: 110px;
        position: relative;
        padding-top: 165px;
        z-index: 1;
    }
    .iDevice .inner_big {
        padding: 0 20px;
    }
    .iDevice-fx {
        padding: 0;
        flex-direction: column;
    }
    .iDevice-fx .box-cnt {
        padding-right: 0;
        display: contents;
        visibility: visible !important;
        animation-name: fadeInUp !important;
    }
    .iDevice-fx .box-cnt .box-ttl {
        order: 1;
        margin-bottom: 24px;
    }
    .iDevice-fx .box-cnt .box-ttl h2 {
        font-size: min(7.47vw, 32px);
        margin-bottom: -1px;
    }
    .iDevice-fx .box-cnt .box-ttl .idx-ttl-en02 {
        font-size: min(4.27vw, 20px);
    }
    .iDevice-fx .img {
        order: 2;
        height: min(54.67vw, 255px);
        margin-bottom: 23px;
    }
    .iDevice-fx .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .iDevice-fx .txt {
        order: 3;
        font-size: min(4.27vw, 16px);
    }
    .iColonic {
        padding-top: 70px;
    }
    .iColonic:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        bottom: 100px;
        width: 100%;
        height: 45%;
        background: url(../images/idx-bg-point-sp.png) no-repeat top center;
        background-size: cover;
    }
    .iColonic .inner_big {
        padding: 0 min(5.33vw, 20px);
    }
    .iColonic .inner_big:after {
        content: "";
        position: absolute;
        left: initial;
        right: -43px;
        bottom: -71px;
        background: url(../images/idx-colonic-ico04-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 206px;
        height: 132px;
        z-index: 2;
    }
    .iColonic .inner_big:before {
        content: "";
        position: absolute;
        left: -81px;
        top: -153px;
        background: url(../images/idx-colonic-ico01-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: min(89.6vw, 370px);
        height: min(58.13vw, 250px);
    }
    .iColonic .idx-ttl-en {
        margin-left: 0;
    }
    .iColonic-fx {
        padding: 0;
        flex-direction: column;
    }
    .iColonic-fx .img {
        order: 1;
        margin-top: -29px;
        height: min(58.67vw, 300px);
        margin-right: -20px;
        width: calc(100% + 20px);
    }
    .iColonic-fx .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .iColonic-fx .box-cnt {
        padding-right: 0;
        order: 2;
    }
    .iColonic-fx .box-cnt .box-ttl {
        margin-bottom: 11px;
    }
    .iColonic-fx .box-cnt .box-ttl h2 {
        font-size: 28px;
        margin-top: -3px;
    }
    .iColonic-fx .box-cnt .txt {
        margin-bottom: 22px;
    }
    .iColonic-fx .box-cnt .txt>p {
        font-size: min(4.27vw, 14px);
        letter-spacing: 0;
    }
    .iColonic-frame {
        margin-top: 40px;
        padding: min(1.33vw, 5px);
    }
    .iColonic-frame02 {
        padding: 36px min(5.33vw, 20px) 31px;
    }
    .iColonic-frame02 .ttl-liner {
        text-align: center;
    }
    .iColonic-frame02 .ttl-liner span {
        letter-spacing: -0.5px;
    }
    .iColonic-frame-fx {
        padding: 0;
    }
    .iColonic-frame-fx .cnt {
        width: 100%;
    }
    .iColonic-frame-fx .cnt .ttl {
        font-size: min(4.8vw, 21px);
        line-height: 1.5em;
        background: url(../images/idx-ico-hr-ttl-sp.svg) no-repeat bottom center;
        background-size: 186px 2px;
        padding-bottom: 14px;
        margin-bottom: 7px;
    }
    .iColonic-frame-fx .cnt .txt>p {
        font-size: min(4.27vw, 16px);
        line-height: 2em;
    }
    .iColonic-frame-fx .img01,
    .iColonic-frame-fx .img02 {
        position: absolute;
        top: 0;
    }
    .iColonic-frame-fx .img01 img,
    .iColonic-frame-fx .img02 img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .iColonic-frame-fx .img02 {
        width: min(20.53vw, 100px);
        height: min(24.27vw, 114px);
        right: -13px;
        margin-top: 0;
        top: 105px;
    }
    .iColonic-frame-fx .img01 {
        width: min(21.33vw, 100px);
        height: min(28.27vw, 126px);
        left: -13px;
        top: 142px;
    }
    .idx-list-btn {
        max-width: min(89.33vw, 360px);
        margin: 0 auto;
    }
    .idx-list-btn li {
        width: calc(50% - 5px);
        margin-right: 10px;
        max-width: min(43.33vw, 190px);
        margin-bottom: 10px;
    }
    .idx-list-btn li:nth-child(2n) {
        margin-right: 0;
    }
    .idx-list-btn li a {
        min-width: auto;
        width: 100%;
    }
    .iPoint {
        padding-top: 57px;
        padding-bottom: 70px;
        background: #fff;
    }
    .iPoint:before {
        height: 145%;
        display: none;
    }
    .iPoint .inner_big {
        padding: 0 min(5.33vw, 20px);
    }
    .iPoint-fx {
        padding: 0;
        flex-direction: column;
    }
    .iPoint-fx:before {
        display: none;
    }
    .iPoint-fx .box-cnt {
        margin-right: 0;
        padding-top: 0;
        width: 100%;
        display: contents;
        visibility: visible !important;
        animation-name: fadeInUp !important;
    }
    .iPoint-fx .box-cnt:before {
        content: "";
        position: absolute;
        right: initial;
        left: -137px;
        bottom: -94px;
        background: url(../images/idx-point-ico01-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 251px;
        height: 270px;
    }
    .iPoint-fx .box-cnt .box-ttl {
        margin-bottom: 20px;
        order: 1;
    }
	.iPoint-fx .box-cnt .box-ttl h2{
font-size:24px;}
    .iPoint-fx .box-cnt .box-ttl .idx-ttl-en02 {
        font-size: 16px;
    }
    .iPoint-fx .box-cnt .box-ttl .idx-ttl-en02:before {
        width: 8px;
        height: 8px;
        top: 3px;
    }
    .iPoint-fx .box-cnt .idx-link-tab {
        display: flex;
        flex-wrap: wrap;
        order: 2;
        margin-bottom: 25px;
    }
    .iPoint-fx .box-cnt .idx-link-tab .item-btn {
        width: 50%;
        border-right: 1px solid #e6dedf;
        padding: 10px min(2.4vw, 9px) !important;
        display: flex;
    }
    .iPoint-fx .box-cnt .idx-link-tab .item-btn:nth-child(2n) {
        border-right: 0;
    }
    .iPoint-fx .box-cnt .idx-link-tab .item-btn.active {
        background: url(../images/idx-bg-tab.svg) no-repeat left center;
        background-size: cover;
    }
    .iPoint-fx .box-cnt .idx-link-tab .item-btn:nth-child(2) .ttl {
        letter-spacing: -0.5px;
    }
    .iPoint-fx .box-cnt .idx-link-tab .item-btn .stt {
        font-size: min(5.07vw, 19px);
        top: -0.2em;
        position: relative;
        margin-right: min(1.87vw, 7px);
    }
    .iPoint-fx .box-cnt .idx-link-tab .item-btn .ttl {
                line-height: 1.6em;
        font-size: min(4vw, 14px);
    }
    .iPoint-fx .box-cnt .idx-btn {
        order: 4;
        max-width: min(51.33vw, 220px);
        margin: 0 auto;
        width: 100%;
        margin-top: 60px;
    }
    .iPoint-fx .box-cnt .idx-btn a {
        min-width: auto;
        width: 100%;
    }
    .iPoint-fx .box-item {
        margin-left: auto;
        margin-right: auto;
        order: 3;
        margin-top: 0;
        width: 100%;
    }
    .iPoint-fx .box-item .bg {
        height: 410px;
        top: 30px;
        min-height: auto;
    }
    .iPoint-fx .box-item .bg:before {
        top: -20px;
    }
    .iPoint-fx .box-item .bg:after {
        top: -10px;
    }
    .iPoint-fx .box-item .item-cnt {
        height: 410px;
		top:0 !important;
    }
	.iPoint-fx .box-item .item-cnt[data-tab="1"].active:before{
		display:none;
	}
    .iPoint-fx .box-item .item-cnt .stt {
        font-size: 22px;
        line-height: 0.5em;
        margin-bottom: 12px;
    }
    .iPoint-fx .box-item .item-cnt .img {
        height: 210px;
        width: 312px;
        margin: 0 auto 14px;
    }
    .iPoint-fx .box-item .item-cnt .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .iPoint-fx .box-item .item-cnt .txt {
        padding: 0 20px;
    }
    .iPoint-fx .box-item .item-cnt .txt>p {
        font-size: 16px;
    }
    .iTreatment {
               padding-top: 100px;
        padding-bottom: 70px;
        margin-top: -50px;
    }
    .iTreatment .inner_sm {
        padding: 0;
    }
    .iTreatment:before {
        top: 0;
        height: 100%;
        background: url(../images/idx-treatment-bg-sp.jpg) no-repeat top center;
        background-size: cover;
    }
    .iTreatment .box-ttl {
        padding: 0 20px;
    }
    .iTreatment .box-ttl h2 {
        font-size: min(7.47vw, 32px);
    }
    .iTreatment .box-ttl .idx-ttl-en02 {
        font-size: min(4.27vw, 18px);
        line-height: 1.5em;
        padding-left: 0;
    }
    .iTreatment .box-ttl .idx-ttl-en02:before {
        width: 8px;
        height: 8px;
        top: 0;
    }
    .iTreatment .idx-btn {
        max-width: min(51.33vw, 220px);
        width: 100%;
    }
    .iTreatment .idx-btn a {
        min-width: auto;
        width: 100%;
        min-height: 60px;
    }
    .iTreatment-list {
        flex-wrap: wrap;
        margin-left: 20px;
        margin-bottom: 7px;
    }
    .iTreatment-list li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
        max-width: 100%;
        display: flex;
        border-top-left-radius: 81px;
        border-bottom-left-radius: 81px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        padding-left: min(6.13vw, 23px);
        padding-top: 12px;
        padding-bottom: 15px;
    }
    .iTreatment-list li:before {
        content: "";
        position: absolute;
        top: min(19.73vw, 74px);
        left: 7px;
        background: url(../images/idx-treatment-hr-sp.svg) no-repeat center;
        background-size: 100% 100%;
        width: 8px;
        height: min(47.47vw, 178px);
        z-index: 1;
    }
    .iTreatment-list li:nth-child(2n) {
        margin-right: 0;
    }
    .iTreatment-list li:not(:first-child) {
        padding-bottom: 18px;
    }
    .iTreatment-list li:not(:first-child) .box-cnt .ttl {
        margin-top: 10px;
        margin-bottom: 13px;
    }
    .iTreatment-list li .ico {
        width: min(31.33vw, 130px);
        height: min(31.33vw, 130px);
        border-radius: 50%;
        flex-shrink: 0;
        margin-right: 17px;
        margin-top: 8px;
        margin-left: 0;
    }
    .iTreatment-list li .ico img {
        width: min(13.87vw, 62px);
        height: auto;
    }
    .iTreatment-list li .box-cnt .ttl {
        display: flex;
        text-align: left;
        font-size: min(4.27vw, 20px);
        background: url(../images/idx-treatment-ttl-hr-sp.svg) no-repeat left bottom;
        background-size: 100% min(0.53vw, 3px);
        padding-bottom: 7px;
        margin-bottom: 7px;
    }
    .iTreatment-list li .box-cnt .ttl span {
        flex-shrink: 0;
        font-size: min(4.27vw, 20px);
        margin-right: 8px;
    }
    .iTreatment-list li .txt {
        padding: 0;
    }
    .iTreatment-list li .txt>p {
        font-size: min(3.73vw, 15px);
    }
    .iFeatures {
        padding-bottom: 9px;
        padding-top: 62px;
    }
    .iFeatures:before {
        height: min(155.2vw, 582px);
    }
    .iFeatures .inner_sm {
        padding: 0 20px;
    }
    .iFeatures .inner_sm:before {
        content: "";
        position: absolute;
        right: -136px;
        bottom: -160px;
        background: url(../images/idx-features-ico-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 258px;
        height: 424px;
        z-index: 1;
        mix-blend-mode: multiply;
    }
    .iFeatures-ttl-fx .box-ttl h2 {
        font-size: min(6.93vw, 30px);
    }
    .iFeatures-ttl-fx .box-ttl .idx-ttl-en02 {
        font-size: min(3.73vw, 16px);
    }
    .iFeatures-nav {
        display: flex;
        margin-bottom: 1.6875em;
        position: relative;
        width: 100%;
        justify-content: center;
        margin: 46px auto 0;
    }
    .iFeatures-counter {
        font-size: 18px;
        color: var(--clr1);
        top: -10px;
        right: 0;
        left: 0;
        margin: 0 auto;
        text-align: center;
    }
    .iFeatures .slick-prev {
        left: -50px;
    }
    .iFeatures .slick-next {
        right: 50px;
    }
    .iFeatures .idx-btn {
        max-width: min(51.33vw, 220px);
        width: 100%;
        margin-top: 15px;
    }
    .iFeatures .idx-btn a {
        min-width: auto;
        width: 100%;
    }
    .iFeatures-slider .item-slider {
        flex-direction: column;
        width: min(84vw, 350px);
        padding: 30px 30px 20px;
        margin-right: 20px;
    }
    .iFeatures-slider .item-slider .img {
        margin-right: 0;
        height: min(53.33vw, 250px);
    }
    .iFeatures-slider .item-slider .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .iFeatures-slider .item-slider .box-cnt {
        padding-top: 12px;
    }
    .iFeatures-slider .item-slider .box-cnt .stt {
        font-size: min(5.87vw, 24px);
        right: 7px;
        top: -10px;
    }
    .iFeatures-slider .item-slider .box-cnt .ttl {
        font-size: min(5.33vw, 23px);
        background: url(../images/idx-ico-hr-ttl-sp.svg) no-repeat bottom center;
        background-size: 100% 2px;
        padding-bottom: 11px;
        margin-bottom: 12px;
    }
    .iFeatures-slider .item-slider .box-cnt .txt>p {
        font-size: min(4.27vw, 16px);
    }
}

@media only screen and (min-width: 414px) and (max-width: 768px) {
    .home_page .key .box-img {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0 auto;
        width: 100%;
        height: min(99.73vw, 360px);
    }
}

@media only screen and (min-width: 639px) and (max-width: 768px) {
    .home_page .key .box-img {
        height: min(99.73vw, 360px);
    }
    .iPoint-fx .box-item .item-cnt .img {
        height: 250px;
        width: 380px;
        margin: 0 auto 14px;
    }
}


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