@media only screen and (max-width: 768px) {
    .home_page .key {
        --height: calc(100vh - 60px);
        --max-height: 156vw;
        --min-height: 320px;
        width: calc(100% - 20px);
        margin: 10px auto 0;
    }
    .home_page .key .key_text {
        background: url(../images/idx-mask-main-sp.png) no-repeat center;
        background-size: 100% 100%;
    }
    .home_page .key .key_text .img img {
        object-position: top;
    }
    .home_page .key .idx-scroll {
        font-size: min(3.07vw, 13px);
        height: 3.5em;
    }
    .home_page .key .idx-scroll .ico img {
        height: 12px;
        width: 7px;
        object-fit: contain;
    }
    .home_page .key .catch .title,
    .home_page .key .catch>p {
        position: relative;
        z-index: 1;
        font-weight: 500;
    }
    .iMedical-box .ttl:before {
        background: url(../images/idx-medical-bg-ttl-sp.svg) repeat center;
        background-size: cover;
        top: 5px;
        left: 5px;
    }
    .home_page .key .catch .title {
        font-size: min(8.53vw, 35px);
    }
    .home_page .key .catch>p {
        font-size: min(4.27vw, 18px);
        letter-spacing: 0;
    }
    .home_page .key .idx-box-tbl {
        display: none;
    }
    .home_page .key .idx-box-news {
        left: 0;
        right: 0;
        margin: 0 auto;
        bottom: 5.35em;
        width: calc(100% - 20px);
        max-width: 500px;
    }
    .home_page .key .idx-box-news>.ttl {
        margin-bottom: 1px;
        font-size: 18px;
    }
    .home_page .key .idx-box-news .idx-btn {
        position: absolute;
        top: -3px;
        right: 0;
    }
    .home_page .key .idx-box-news .idx-btn a {
        background: #fff;
        min-width: 115px;
        min-height: 30px;
        font-size: 13px;
    }
    .iCardi-fx:before {
        display: block;
        width: 115px;
        height: 88px;
        right: -60px;
    }
    .home_page .key .idx-box-news .bg-news {
        padding: 11px 20px;
    }
    .home_page .key .idx-box-news .bg-news ul {
        margin-right: 0;
    }
    .home_page .key .idx-box-news .bg-news ul li a .date {
        font-size: 10px;
        margin-right: 0.8em;
    }
    .home_page .idx-ttl-en {
        font-size: 1.15em;
        margin-bottom: 0.1em;
    }
    .home_page h2 {
        font-size: min(8vw, 34px);
    }
    .home_page h3 {
        font-size: 16px;
    }
    .idx-box-news {
        flex-direction: column;
    }
    .iNews {
        padding-top: 40px;
        padding-bottom: 45px;
    }
    .idx-box-news .box-ttl {
        margin: 0 auto 15px;
        text-align: center;
        width: 100%;
        max-width: 170px;
    }
    .idx-box-news .bg-news {
        width: 100%;
        margin: 0;
    }
    .home_page h3 span {
        font-size: min(6.4vw, 27px);
        padding: 0 2px 3px;
        letter-spacing: 0;
        top: 0;
    }
    .home_page h3 span:before {
        background: url(../images/idx-medical-hr-sp.png) repeat-x left bottom;
        background-size: contain;
        width: 100%;
        height: 4px;
    }
    .iMedical {
        margin-top: 5.2em;
        --height-bg: min(11.73vw, 88px);
        padding-bottom: 4.0625em;
    }
    .iMedical-cnt {
        padding: 45px 17px 12px 20px;
    }
    .iMedical-box {
        min-width: 100%;
        border-radius: 15px;
        margin: 0 auto 40px !important;
    }
    .iMedical-box .ttl {
        border-radius: 7px;
        top: -1em;
        left: -0.5em;
        writing-mode: initial;
        font-size: 20px;
        min-width: 151px;
        min-height: 46px;
        padding: 0;
        letter-spacing: 0;
        text-align: center;
    }
    .iMedical-box:last-child .iMedical-cnt {
        padding-left: 20px;
        padding-top: 47px;
        padding-bottom: 25px;
    }
    .iMedical-box:last-child .iMedical-cnt .iMedical-list-fx {
        margin-bottom: 13px;
    }
    .iMedical-box:last-child .iMedical-cnt .iMedical-list-fx .iMedical-list:first-child {
        margin-right: 14px;
        flex-shrink: 0;
    }
    .iMedical-box:last-child .iMedical-cnt .iMedical-list-fx .iMedical-list:last-child li:last-child br {
        display: none;
    }
    .iMedical-box:last-child .iMedical-cnt .iMedical-list-fx .iMedical-list li {
        margin-bottom: 5px;
        line-height: 1.3em;
    }
    .iMedical-box:last-child .iMedical-cnt .iMedical-list-fx .iMedical-list li span {
        font-size: 12px;
    }
    .iMedical-ttl02 {
        font-size: min(4.8vw, 21px);
        padding-left: min(4.53vw, 17px);
    }
    .iMedical-ttl02:before {
        left: 0;
        width: 12px;
        height: 12px;
    }
    .iMedical-fx {
        flex-direction: column;
        padding: 0 0px 0 10px;
        margin: 3.4em auto 9.3em;
        max-width: 500px;
    }
    .iMedical-fx .iMedical-list:first-child {
        margin-right: 1.65em;
    }
    .iMedical-fx .iMedical-list li {
        padding-left: 14px;
        letter-spacing: -1px;
        margin-bottom: 2px;
    }
    .iMedical-fx .iMedical-list li:before {
        top: 7px;
    }
    .iMedical-fx .iMedical-list-fx {
        margin-bottom: 6px;
    }
    .iMedical-fx .iMedical-list-fx:last-child .iMedical-list:first-child {
        margin-right: 44px;
    }
    .iMedical-fx .iMedical-list-fx:last-child .iMedical-list:first-child li {
        line-height: 1.3em;
        margin-bottom: 4px;
    }
    .iMedical-fx .iMedical-list-fx:last-child .iMedical-list:last-child li {
        line-height: 1.3em;
    }
    .iMedical-bg:before {
        content: "";
        position: absolute;
        left: 50%;
        transform: translate(-50%);
        background: url(../images/idx-bg-medical-sp.png) no-repeat center;
        background-size: 100% auto;
        width: calc(100% + 20px);
        height: min(11.73vw, 88px);
        z-index: -1;
    }
    .iMedical-bg:after {
        top: calc(var(--height-bg) - 4px);
    }
    .iMedical-bg h3 span:last-child {
        margin-top: 8px;
        display: inline-flex;
    }
    .iMedical-ttl {
        margin-bottom: -2em;
    }
    .iMedical-ttl:before {
        background: url(../images/idx-medical-ico01-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: min(76.27vw, 350px);
        height: min(20.8vw, 140px);
        top: 7px;
        left: -10px;
    }
    .idx-btn02 {
        width: auto;
        margin: 0 auto;
        text-align: center;
    }
    .idx-btn02 a {
        min-width: 230px;
        min-height: 54px;
        font-size: min(4.27vw, 16px);
    }
    .iCardi {
        max-width: max-content;
        width: calc(100% + 20px);
        border-radius: 0;
        position: relative;
        padding-bottom: 30px;
        border-bottom-left-radius: 10px;
    }
    .iCardi-fx02 {
        flex-direction: column;
        padding: 22px 20px 41px;
        margin-top: 65px;
    }
    .iCardi-fx02:after {
        bottom: -12px;
        width: 24px;
        height: 56px;
    }
    .iCardi-fx02:before {
        content: "";
        position: absolute;
        left: 0;
        top: -2px;
        background: url(../images/idx-cardi-bg-sp.png) no-repeat center;
        background-size: 100% auto;
        width: min(60.27vw, 320px);
        height: min(39.73vw, 210px);
        z-index: -1;
    }
    .iCardi-fx02 h3 {
        font-size: min(5.33vw, 24px);
        letter-spacing: -1px;
    }
    .iCardi-fx02 h3 span {
        font-size: min(5.33vw, 24px);
    }
    .iCardi-right .idx-list-btn {
        max-width: 310px;
        margin: 0 auto;
    }
    .iCardi-left {
        margin-right: 0;
    }
    .iCardi-left h3 {
        background-size: 200% 10px;
    }
    .iCardi-left .iMedical-list-fx {
        flex-direction: column;
        margin-bottom: 17px;
    }
    .iCardi-left .iMedical-list-fx .iMedical-list {
        margin: 0 !important;
    }
    .iCardi-left .iMedical-list-fx .iMedical-list li {
        margin-bottom: 6px;
    }
    .iCardi-left .iMedical-list-fx .iMedical-list li:before {
        width: 7px;
        height: 7px;
        top: 7px;
    }
    .iCardi-fx {
        padding-right: 26px;
    }
    .iCardi-fx .img {
        margin-left: -30px;
        margin-right: 20px;
    }
    .iCardi-fx .img:before {
        right: -48px;
        top: -45px;
        width: min(35.47vw, 180px);
        height: min(26.67vw, 150px);
    }
    .iCardi-fx .img img {
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
        height: min(53.33vw, 320px);
        object-fit: cover;
    }
    .iCardi-ttl {
        position: relative;
        z-index: 1;
        padding-top: 17px;
    }
    .iCardi .idx-ttl-en {
        font-size: min(3.73vw, 17px);
    }
    .iCardi h2 {
        font-size: min(7.2vw, 30px);
        margin-bottom: 0;
        margin-right: 3px;
    }
    .iCardi-ttl02 {
        font-size: min(4.8vw, 21px);
        max-width: min(93.33vw, 400px);
        margin: 0 auto 1.5em;
    }
    .iCardi-bg02 {
        width: calc(100% - 20px);
        border-top-left-radius: 20px;
        padding-top: 54px;
        margin-left: auto;
        margin-right: 0;
        padding-bottom: 22px;
        border-bottom-left-radius: 15px;
        border-bottom-right-radius: 0;
        border-top-right-radius: 0;
    }
    .iCardi-fx03 {
        flex-direction: column;
        padding-left: 20px;
    }
    .iCardi-img {
        order: 1;
        height: min(62.4vw, 340px);
        width: min(84vw, 450px);
        margin-right: 0;
        --mask: url(../images/idx-cardi-mask-sp.svg);
        -webkit-mask-size: 100% 100%;
        margin-left: auto;
    }
    .iCardi-img img {
        height: 100%;
        width: 100%;
    }
    .iCardi-cnt {
        order: 2;
        margin-right: 0;
        padding-top: 0;
        padding-right: 15px;
        max-width: 100%;
    }
    .iCardi-cnt h4 {
        font-size: min(5.33vw, 24px);
        line-height: 1.5em;
        margin-bottom: 6px;
    }
    .iCardi-cnt h4 span {
        font-size: min(5.33vw, 24px);
        letter-spacing: -0.5px;
    }
    .iCardi-cnt .txt {
        font-size: 15px;
        line-height: 1.8em;
    }
    .iCardi-list {
        margin-top: 25px;
        margin-right: 0px;
    }
    .iCardi-list li {
        width: 50%;
        max-width: min(37.87vw, 150px);
        margin-right: 10px;
        margin-bottom: 8px;
    }
    .iCardi-list li:before {
        left: 5px;
        top: 5px;
        background: url(../images/idx-cardi-bg-list-sp.svg) no-repeat center;
        background-size: cover;
    }
    .iCardi-list li:nth-child(2n) {
        margin-right: 0;
    }
    .iCardi-list li:nth-child(3n) {
        margin-right: 10px;
    }
    .iCardi-list li:nth-child(6) {
        margin-right: 0;
    }
    .iCardi-list li:nth-child(6) a {
        padding-top: 10px;
    }
    .iCardi-list li:nth-child(5) a .ttl {
        margin-bottom: 5px;
        letter-spacing: -0.5px;
    }
    .iCardi-list li:nth-child(5) a .txt {
        letter-spacing: -1px;
    }
    .iCardi-list li:nth-child(7) a .ttl {
        margin-bottom: 5px;
    }
    .iCardi-list li:last-child a {
        padding-top: 20px;
    }
    .iCardi-list li:last-child a .txt {
        letter-spacing: -0.5px;
    }
    .iCardi-list li a {
        border: 1px solid var(--main-color);
        min-height: auto;
        border-radius: 7px;
        padding-top: 13px;
        padding-bottom: 10px;
        height: 100%;
    }
    .iCardi-list li a:before {
        content: "";
        position: absolute;
        right: -1px;
        bottom: -1px;
        background: url(../images/idx-cardi-arr-link-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: min(3.47vw, 16px);
        height: min(3.47vw, 16px);
    }
    .iCardi-list li a .ttl {
        margin-bottom: 10px;
        font-size: min(4.27vw, 16px);
    }
    .iCardi-list li a .txt {
        line-height: 1.5em;
        font-size: 14px;
        padding: 0 4px 0 13px;
        letter-spacing: 0;
    }
    .idx-list-btn li {
        max-width: 153px;
    }
    .idx-list-btn li a {
        min-width: 100%;
        text-align: left;
        line-height: 1.2em;
    }
    .iInternal {
        max-width: max-content;
        margin: 12.15em auto 0;
        border-radius: 3.125em;
        margin-left: -20px;
        padding-left: 20px;
        margin-right: 0;
        padding-bottom: 22px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    .iInternal:before {
        content: "";
        position: absolute;
        left: -45px;
        top: 65px;
        background: url(../images/idx-internal-ico02-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 129px;
        height: 120px;
    }
    .iInternal .iCardi-fx {
        padding-left: 0;
        padding-right: 0;
        padding-left: 2px;
    }
    .iInternal .iCardi-fx .iCardi-ttl {
        padding-top: 20px;
    }
    .iInternal .iCardi-fx .iCardi-ttl h2 {
        font-size: min(7.2vw, 30px);
        margin-right: 2px;
    }
    .iInternal .iCardi-fx .iCardi-ttl .idx-ttl-en {
        font-size: min(3.73vw, 17px);
    }
    .iInternal .iCardi-fx .img {
        margin-left: 25px;
        margin-right: -40px;
    }
    .iInternal .iCardi-fx .img img {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
    }
    .iInternal .iCardi-fx .img:before {
        top: -42px;
        left: -11px;
        width: 90px;
        height: 126px;
    }
    .iInternal .iCardi-list {
        max-width: 355px;
        margin: 96px auto 0;
        position: relative;
        left: -10px;
    }
    .iInternal .iCardi-list li {
        width: calc(50% - 5px);
        margin-right: 10px;
        max-width: 153px;
        min-height: 63px;
        margin-bottom: 10px;
    }
    .iInternal .iCardi-list li:nth-child(2n) {
        margin-right: 0;
    }
    .iInternal .iCardi-list li a {
        min-width: 100%;
        min-height: 100%;
        padding-top: 5px;
    }
    .idx_gallery {
        margin-bottom: -1.625em;
        top: -1.625em;
        padding-top: 34px;
    }
    .idx_gallery:before {
        content: "";
        position: absolute;
        left: 71%;
        transform: translate(-50%);
        background: url(../images/idx-gallary-ico01-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 433px;
        height: 176px;
        bottom: -104px;
    }
    .idx_gallery .item:nth-child(odd) {
        margin-top: 60px;
    }
    .idx_gallery .item:nth-child(odd) img {
        width: 200px;
        height: 200px;
    }
    .idx_gallery .item img {
        border-radius: 15px;
    }
    .idx_gallery .item:nth-child(even) {
        margin-top: 0;
    }
    .idx_gallery .item:nth-child(even) img {
        width: 311px;
        height: 220px;
    }
    .iPSM {
        max-width: max-content;
        margin: 0;
        background: #fff;
        border-radius: 3.125em;
        position: relative;
        padding-bottom: 30px;
        margin-top: 171px;
        width: calc(100% + 20px);
        border-bottom-left-radius: 15px;
        border-bottom-right-radius: 0;
    }
    .iPSM:before {
        display: none;
    }
    .iPSM h2 {
        font-size: min(7.2vw, 30px);
    }
    .iPSM .iCardi-fx {
        padding-right: 25px;
    }
    .iPSM .iCardi-fx:after {
        content: "";
        position: absolute;
        right: -37px;
        top: -109px;
        background: url(../images/idx-psm-ico02-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 90px;
        height: 107px;
    }
    .iPSM .iCardi-fx .img {
        margin-right: 26px;
    }
    .iPSM .iCardi-fx .img:before {
        top: initial;
        bottom: -14px;
        background: url(../images/idx-psm-ico01-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 231px;
        height: 131px;
        right: -108px;
    }
    .iPSM .iCardi-fx .iCardi-ttl {
        padding-top: 18px;
    }
    .iPSM .iCardi-fx .iCardi-ttl .idx-ttl-en {
        font-size: min(3.73vw, 17px);
    }
    .iPSM .iCardi-fx .iCardi-ttl h2 {
        margin-right: 6px;
        line-height: 1.3em;
    }
    .iPSM-fx {
        flex-direction: column;
        margin-top: min(16.8vw, 80px);
    }
    .iPSM-left {
        margin-right: 15px;
        max-width: 100%;
    }
    .iPSM-left h3 {
        font-size: min(5.33vw, 24px);
        line-height: 1.15em;
    }
    .iPSM-left h3 span {
        font-size: min(5.33vw, 24px);
    }
    .iPSM-left .txt {
        margin-bottom: 20px;
    }
    .iPSM-left .idx-list-btn {
        display: flex;
        justify-content: center;
    }
    .iPSM-left .idx-list-btn li {
        width: 50%;
        max-width: 153px !important;
        margin: 0;
        margin-right: 12px;
    }
    .iPSM-left .idx-list-btn li:nth-child(2n) {
        margin-right: 0;
    }
    .iPSM-left .idx-list-btn li a {
        min-width: 100%;
    }
    .iPSM-right {
        margin-top: 40px;
        border-radius: 15px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        padding: 25px min(5.6vw, 21px) 6px;
    }
    .iPSM-right .idx-fx-ttl {
        padding-left: 8px;
        flex-direction: column;
        margin-bottom: 28px;
    }
    .iPSM-right .idx-fx-ttl .idx-btn02 {
        margin-right: auto;
        text-align: left;
        margin-left: -6px;
        margin-top: 0.7em;
    }
    .iPSM-right .idx-fx-ttl .idx-btn02 a {
        min-width: 168px;
    }
    .iPSM-right .iMedical-ttl02 {
        letter-spacing: -1px;
        margin-right: 0;
    }
    .iPSM-right .iMedical-ttl02:before {
        top: 6px;
        margin: 0;
        left: -7px;
        width: 15px;
        height: 15px;
    }
    .iPSM-right .iMedical-ttl02 br {
        display: none;
    }
    .iPSM-right .idx-list-link {
        flex-direction: column;
    }
    .iPSM-right .idx-list-link li {
        width: 100% !important;
        margin: 0 !important;
        margin-bottom: 9.2px !important;
    }
    .iPSM-right .idx-list-link li:nth-child(1) {
        order: 1;
    }
    .iPSM-right .idx-list-link li:nth-child(3) {
        order: 2;
    }
    .iPSM-right .idx-list-link li:nth-child(5) {
        order: 3;
    }
    .iPSM-right .idx-list-link li:nth-child(7) {
        order: 4;
    }
    .iPSM-right .idx-list-link li:nth-child(9) {
        order: 5;
    }
    .iPSM-right .idx-list-link li:nth-child(11) {
        order: 6;
    }
    .iPSM-right .idx-list-link li:nth-child(13) {
        order: 7;
    }
    .iPSM-right .idx-list-link li:nth-child(2) {
        order: 8;
    }
    .iPSM-right .idx-list-link li:nth-child(4) {
        order: 9;
    }
    .iPSM-right .idx-list-link li:nth-child(6) {
        order: 10;
    }
    .iPSM-right .idx-list-link li:nth-child(8) {
        order: 11;
    }
    .iPSM-right .idx-list-link li:nth-child(10) {
        order: 12;
    }
    .iPSM-right .idx-list-link li:nth-child(12) {
        order: 13;
    }
    .iPSM-right .idx-list-link li:nth-child(14) {
        order: 14;
    }
    .iPSM-right .idx-list-link li:nth-child(14) a {
        background: transparent !important;
    }
    .iPSM-right .idx-list-link li a {
        width: 100%;
        font-size: min(4.27vw, 16px);
        padding-bottom: 14px;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        letter-spacing: -0.5px;
        background: url(../images/idx-hr-sp.png) repeat-x bottom left;
    }
    .iPSM-right .idx-list-link li a:before {
        width: 7px;
        height: 7px;
        top: 8px;
    }
    .iPSM-right .idx-list-link li a:after {
        right: 0;
        top: 5px;
    }
    .iPSM-right .idx-list-link li a span {
        display: inline-block;
        margin-left: 3px;
    }
    .iPSM-right .idx-list-link li a br {
        display: none;
    }
    .iPSM-right .idx-list-link li:nth-child(13) a,
    .iPSM-right .idx-list-link li:nth-child(14) a {
        background-size: 100% 4px;
        background: url(../images/idx-hr-sp.png) repeat-x bottom left;
    }
    .iReason {
        background: #fbf7f3;
        padding-top: 6.67vw;
        padding-bottom: 20px;
    }
    .iReason-box-ttl {
        padding-left: 20px;
        margin-bottom: 43px;
    }
    .iReason-box-ttl .idx-ttl-en {
        margin-bottom: 6px;
    }
    .iReason-box-ttl h2 span {
        font-size: 40px;
    }
    .iReason-fx {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
        flex-direction: column;
        z-index: 2;
    }
    .iReason-fx:before {
        left: 0;
        bottom: 0;
        width: calc(100% - 6.8em);
        height: 64.5%;
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
        z-index: -1;
    }
    .iReason-fx .img {
        margin-right: 0;
        padding-right: 50px;
    }
    .iReason-fx .img:before {
        top: min(-12.8vw, -60px);
        background: url(../images/idx-reason-ico01-sp.png) no-repeat center;
        background-size: contain;
        width: min(26.67vw, 150px);
        height: min(34.4vw, 180px);
        right: 0;
        left: initial;
        z-index: 1;
    }
    .iReason-fx .img img {
        height: min(48vw, 250px);
        object-fit: cover;
    }
    .iReason-fx.iReason-fx04 {
        margin-top: min(19.73vw, 90px);
        padding-bottom: 19px;
    }
    .iReason-fx.iReason-fx04:before {
        left: initial;
        right: 0;
        bottom: 0;
        width: calc(100% - 6.8em);
        height: 64.5%;
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
        z-index: -1;
    }
    .iReason-fx.iReason-fx04 .img {
        padding-right: 0;
        padding-left: 50px;
        width: fit-content;
        margin-left: auto;
    }
    .iReason-fx.iReason-fx04 .img:before {
        position: absolute;
        left: 0;
        top: -5.33vw;
        width: min(26.67vw, 150px);
        height: min(26.67vw, 150px);
        margin-right: 0;
        border-radius: 15px;
    }
    .iReason-fx.iReason-fx04 h3 {
        width: fit-content;
        margin-left: auto;
        letter-spacing: 0.03em;
    }
    .iReason-fx.iReason-fx04 .iReason-stt {
        text-align: right;
        padding-right: 10px;
    }
    .iReason-fx.iReason-fx04 .iReason-cnt {
        padding-top: 0;
        margin-top: -38px;
    }
    .iReason-fx.iReason-fx04 .iReason-cnt:before {
        width: 131px;
        height: 99px;
        right: initial;
        top: 13px;
        left: -7px;
    }
    .iReason-fx.iReason-fx04 .iReason-cnt .txt {
        padding-left: 20px;
    }
    .iReason-fx.iReason-fx03 {
        padding: 0 20px;
        margin-top: min(12.8vw, 70px);
    }
    .iReason-fx.iReason-fx03:before {
        left: 0;
        right: initial;
        top: 148px;
        width: 75%;
        height: 67%;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 1.875em;
        border-top-left-radius: 0;
    }
    .iReason-fx.iReason-fx03 .img {
        order: 1;
        margin-left: 0;
        position: relative;
    }
    .iReason-fx.iReason-fx03 .img:after {
        content: "";
        position: absolute;
        right: 0;
        top: -5.33vw;
        background: url(../images/idx-reason-ico04-sp.png) no-repeat center;
        background-size: 100% auto;
        width: min(26.67vw, 150px);
        height: min(26.67vw, 150px);
        border-radius: 15px;
    }
    .iReason-fx.iReason-fx03 .iReason-cnt {
        order: 2;
    }
    .iReason-fx.iReason-fx03 .iReason-cnt:before {
        background: url(../images/idx-reason-ico05-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 82px;
        height: 102px;
        top: -20px;
        right: 18px;
    }
    .iReason-fx.iReason-fx03.iReason-fx05 {
        margin-top: 6px;
    }
    .iReason-fx.iReason-fx03.iReason-fx05 .img:after {
        background: url(../images/idx-reason-ico09-sp.svg) no-repeat center;
        background-size: contain;
        width: 40px;
        height: 40px;
        bottom: 4px;
        right: -20px;
        top: initial;
    }
    .iReason-fx.iReason-fx03.iReason-fx05 .img:before {
        content: "";
        position: absolute;
        right: 0;
        top: -5.33vw;
        background: url(../images/idx-reason-ico08-sp.png) no-repeat center;
        background-size: contain;
        width: min(26.67vw, 150px);
        height: min(26.67vw, 150px);
        display: block;
    }
    .iReason-fx.iReason-fx03.iReason-fx05 .iReason-cnt:before {
        background: url(../images/idx-reason-ico07-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 81px;
        height: 114px;
        top: 9px;
        right: 78px;
    }
    .iReason-cnt {
        padding-top: 0;
        margin-top: -30px;
        position: relative;
        z-index: 2;
    }
    .iReason-cnt:before {
        background: url(../images/idx-reason-ico02-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 73px;
        height: 97px;
        top: 23px;
        right: 24px;
    }
    .iReason-cnt h3 {
        font-size: 24px;
        line-height: 1.25em;
        margin-bottom: 10px;
    }
    .iReason-stt {
        font-size: 60px;
        padding-left: 10px;
        margin-bottom: 4px;
    }
    .iReason-fx02 {
        margin-top: 50px;
        flex-direction: column;
    }
    .iReason-fx02 .iReason-box {
        padding-left: 40px;
        padding-bottom: 26px;
        max-width: 100%;
    }
    .iReason-fx02 .iReason-box:before {
        left: initial;
        right: 0;
        top: 45px;
        width: 75%;
        height: 85%;
        border-bottom-right-radius: 0;
        border-top-right-radius: 0;
    }
    .iReason-fx02 .iReason-box:after {
        content: "";
        position: absolute;
        left: -66px;
        top: -127px;
        background: url(../images/idx-reason-ico03-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 205px;
        height: 134px;
        z-index: -1;
    }
    .iReason-fx02 .iReason-box:last-child {
        padding-left: 0;
        left: 0;
        margin-top: 46px;
        margin-right: 20px;
        padding-bottom: 26px;
    }
    .iReason-fx02 .iReason-box:last-child:before {
        left: 0;
        right: initial;
        top: 45px;
        width: 79%;
        height: 85%;
        border-bottom-left-radius: 0;
        border-top-right-radius: 1.875em;
        border-bottom-right-radius: 1.875em;
    }
    .iReason-fx02 .iReason-box:last-child:after {
        top: initial;
        bottom: -94px;
        left: initial;
        right: -74px;
        background: url(../images/idx-reason-ico03-sp02.svg) no-repeat center;
        background-size: contain;
        z-index: -2;
    }
    .iReason-fx02 .iReason-box:last-child .iReason-fx-sp {
        justify-content: flex-start;
    }
    .iReason-fx02 .iReason-box:last-child .iReason-fx-sp .box-ttl {
        order: 2;
        position: relative;
    }
    .iReason-fx02 .iReason-box:last-child .iReason-fx-sp .box-ttl:before {
        content: "";
        position: absolute;
        right: 0;
        top: -32px;
        background: url(../images/idx-reason-ico10-sp.svg) no-repeat center;
        background-size: contain;
        width: 111px;
        height: 86px;
    }
    .iReason-fx02 .iReason-box:last-child .iReason-fx-sp .img {
        order: 1;
        margin-left: 0;
        margin-right: 21px;
    }
    .iReason-fx02 .iReason-box:last-child .iReason-fx-sp .img:before {
        display: none;
    }
    .iReason-fx02 .iReason-box:last-child .iReason-fx-sp .img img {
        border-top-right-radius: 15px;
        border-bottom-right-radius: 15px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
    .iReason-fx02 .iReason-box:last-child .txt {
        padding-left: 20px;
    }
    .iReason-fx02 .iReason-box .iReason-fx-sp {
        display: flex;
        margin-bottom: 10px;
        justify-content: flex-end;
    }
    .iReason-fx02 .iReason-box .iReason-fx-sp .box-ttl {
        flex-shrink: 0;
        padding-top: 50px;
        order: 1;
        margin-bottom: 0;
    }
    .iReason-fx02 .iReason-box .iReason-fx-sp .box-ttl h3 {
        font-size: 24px;
        line-height: 1.3em;
        margin-bottom: 0;
    }
    .iReason-fx02 .iReason-box .iReason-fx-sp .box-ttl .iReason-stt {
        text-align: left;
        padding-left: 0;
    }
    .iReason-fx02 .iReason-box .iReason-fx-sp .img {
        margin-right: 0;
        margin-left: 53px;
        order: 2;
    }
    .iReason-fx02 .iReason-box .iReason-fx-sp .img:before {
        right: initial;
        left: -72px;
        top: 15px;
        bottom: initial;
        width: 66px;
        height: 86px;
    }
    .iReason-fx02 .iReason-box .iReason-fx-sp .img img {
        height: min(44.27vw, 200px);
        width: auto;
        border-radius: 0;
        border-top-left-radius: 15px;
        border-bottom-left-radius: 15px;
        object-fit: cover;
    }
    .iReason-fx02 .iReason-box .txt {
        padding-right: 15px;
        font-size: 15px;
        line-height: 1.8em;
        max-width: 500px;
        margin-left: auto;
    }
    .iReason-fx02 .iReason-box:last-child .txt {
        max-width: 500px;
        margin-left: 0;
        margin-right: auto;
    }
    .iReason .iCardi-list {
        flex-wrap: wrap;
        z-index: 2;
        margin-top: -80px;
        top: 0;
    }
    .iReason .iCardi-list li {
        width: 50%;
        max-width: 163px;
        margin-right: 10px;
        margin-bottom: 12px;
    }
    .iReason .iCardi-list li:nth-child(2n) {
        margin-right: 0;
    }
    .iReason .iCardi-list li a {
        width: 100%;
        padding-top: 10px;
    }
    .iGreeting {
        padding-top: 10.67vw;
    }
    .iGreeting:before {
        content: "";
        position: absolute;
        left: 50%;
        transform: translate(-50%);
        top: 56px;
        background: url(../images/idx-greeting-bg-sp.svg) no-repeat top center;
        background-size: cover;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .iGreeting .iGreeting-cnt {
        order: 2;
        margin-right: 0;
        max-width: 100%;
        padding-top: 9px;
    }
    .iGreeting .iGreeting-cnt h3 {
        line-height: 1.5em;
        font-size: min(7.47vw, 32px);
        margin-bottom: 14px;
    }
    .iGreeting .iGreeting-cnt .txt>p {
        font-size: 16px;
        letter-spacing: -0.5px;
        line-height: 2.15em;
    }
    .iGreeting .iGreeting-cnt .box-name {
        margin-top: 18px;
    }
    .iGreeting .iGreeting-cnt .box-name .sub-name {
        font-size: min(3.2vw, 15px);
    }
    .iGreeting .iGreeting-cnt .box-name .name {
        font-size: min(3.2vw, 15px);
    }
    .iGreeting .iGreeting-cnt .box-name .name .jp {
        font-size: min(5.87vw, 25px);
    }
    .iGreeting .iGreeting-cnt .idx-list-btn {
        margin-top: 40px;
        justify-content: center;
    }
    .iGreeting .iGreeting-cnt .idx-list-btn li {
        max-width: 163px !important;
        margin: 0;
        margin-right: 10px;
    }
    .iGreeting .iGreeting-cnt .idx-list-btn li:nth-child(2n) {
        margin-right: 0;
    }
    .iGreeting .iGreeting-cnt .idx-list-btn li a {
        width: 100%;
        min-width: 100% !important;
    }
    .iGreeting-fx {
        flex-direction: column;
        padding: 0;
        padding-top: 24px;
    }
    .iGreeting-img {
        order: 1;
        margin-top: 0;
        max-width: 600px;
        left: 50%;
        transform: translate(-50%);
    }
    .iGreeting-img:before {
        content: "";
        position: absolute;
        left: -58px;
        top: -48px;
        background: url(../images/idx-greeting-ico02-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 161px;
        height: 103px;
        z-index: -1;
    }
    .iGreeting-img:after {
        content: "";
        position: absolute;
        left: 62%;
        bottom: 9px;
        background: url(../images/idx-greeting-ico03-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 111px;
        height: 125px;
        z-index: -1;
    }
    .iGreeting-img .img {
        width: min(81.6vw, 420px);
        height: min(78.67vw, 400px);
        margin-left: -30px;
        -webkit-mask-size: contain;
    }
    .iGreeting-img .img02 {
        width: min(28.53vw, 207px);
        height: min(26.67vw, 190px);
        -webkit-mask-size: contain;
        left: initial;
        top: 6.93vw;
        right: 0;
    }
    .iGreeting-img .img03 {
        width: min(27.47vw, 203px);
        height: min(26.67vw, 200px);
        -webkit-mask-size: contain;
        right: 13px;
        top: -22.4vw;
    }
    .iGreeting h2 {
        padding-left: 0;
        font-size: min(10.13vw, 42px);
        position: relative;
        z-index: 2;
    }
    .iGreeting .idx-ttl-en {
        font-size: min(3.73vw, 17px);
        padding-left: 0;
        position: relative;
        z-index: 2;
    }
    .iRecruit {
        padding-top: 50px;
    }
    .iRecruit .inner_big {
        padding: 0;
    }
    .iRecruit .inner_big:before {
        left: initial;
        right: -68px;
        top: -6.05em;
        background: url(../images/idx-recruit-ico-sp.svg) no-repeat center;
        background-size: 100% auto;
        width: 176px;
        height: 102px;
    }
    .iRecruit-fx {
        flex-direction: column;
        padding: 0;
    }
    .iRecruit-cnt {
        padding: 0 20px;
        max-width: 100%;
    }
    .iRecruit-ttl h2 {
        font-size: min(6.4vw, 27px);
        letter-spacing: 0.05em;
    }
    .iRecruit-ttl-fx {
        margin-bottom: 23px;
    }
    .iRecruit-ttl-fx .idx-btn a {
        min-width: 115px;
        min-height: 30px;
        font-size: 13px;
        padding-left: 13px;
    }
    .iRecruit-img {
        margin-top: 50px;
        border-top-left-radius: 40px;
        border-top-right-radius: 40px;
        padding-left: 21px;
        padding-top: 37px;
        width: 100%;
        padding-bottom: 50px;
        background-size: cover;
        height: auto;
        background: url(../images/idx-greeting-bg-sp.jpg) no-repeat top center;
        background-size: cover;
    }
    .iRecruit-img h2 {
        font-size: min(10.13vw, 42px);
    }
    .iRecruit-img .idx-ttl-en {
        font-size: min(3.73vw, 16px);
        background: url(../images/idx-hr-en.svg) no-repeat left bottom;
        background-size: 120% 4px;
        padding-right: 20px;
    }
    .iRecruit-img h3 {
        font-size: min(5.33vw, 23px);
        margin-top: 25px;
        line-height: 1.5em;
    }
    .iRecruit-img .txt {
        margin-bottom: 17px;
        max-width: min(64vw, 440px);
        font-size: 15px;
    }
    .iRecruit-img .idx-btn02 {
        text-align: left;
    }
    .idx-list-column li {
        padding-bottom: 23px;
        background: url(../images/idx-hr-column.svg) no-repeat bottom center;
        background-size: 100% 5px;
        margin-bottom: 17px;
    }
    .idx-list-column li a .img {
        width: 110px;
        height: 110px;
        margin-right: 17px;
    }
    .idx-list-column li a .img img {
        height: 100%;
        width: auto;
        object-fit: cover;
    }
    .idx-list-column li a .cnt {
        padding-top: 13px;
    }
    .idx-list-column li a .cnt .date {
        font-size: 10px;
    }
    .idx-list-column li a .cnt .ttl {
        font-size: 16px;
    }
    .idx-list-column li a .cnt .desc {
        font-size: 13px;
    }
}

@media only screen and (min-width: 319px) and (max-width: 374px) {
    .iReason .iCardi-list li {
        width: 50%;
        max-width: 133px;
        margin-right: 10px;
        margin-bottom: 12px;
    }
    .iReason-fx.iReason-fx03.iReason-fx05 .iReason-cnt:before {
        width: 71px;
        height: 104px;
        top: 19px;
        right: 28px;
    }
    .iPSM-right .idx-list-link li a:before {
        top: 3px;
    }
    .iPSM-left .idx-list-btn li {
        max-width: 128px !important;
        margin-right: 10px;
    }
    .iMedical-ttl02 {
        font-size: min(4.7vw, 21px);
        padding-left: min(4.53vw, 17px);
    }
    .iPSM-right .iMedical-ttl02:before {
        top: 5px;
        left: -5px;
        width: 13px;
        height: 13px;
    }
    .iInternal .iCardi-list li {
        max-width: 123px;
        min-height: 53px;
    }
    .iMedical-fx .iMedical-list-fx {
        margin-bottom: 6px;
        flex-direction: column;
    }
    .iMedical-fx .iMedical-list-fx ul {
        margin: 0 !important;
        width: 100%;
    }
    .home_page h3 span {
        font-size: min(5.4vw, 27px);
        top: 0;
    }
}

@media only screen and (min-width: 529px) and (max-width: 768px) {
    .iCardi-list li {
        width: 33.3333333333%;
        max-width: 142px;
        margin: 5px !important;
    }
    .home_page .key .idx-box-news {
        bottom: 7.35em;
    }
    .idx_gallery:before {
        left: 51%;
    }
}

@media only screen and (min-width: 639px) and (max-width: 768px) {
    .iGreeting-img:after {
        left: 52%;
    }
    .iInternal .iCardi-list {
        max-width: 100%;
        margin: 96px auto 0;
        position: relative;
    }
    .iInternal .iCardi-list li {
        max-width: 132px;
        min-height: 52px;
    }
}


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