@media only screen and (max-width: 768px) {
    .home_page .key {
        --height: calc(100vh - 60px);
        --max-height: min(181.87vw, 750px);
        --min-height: 682px;
        font-size: 8px;
        background: url(../images/idx-bg-main-sp.jpg) no-repeat left center;
        background-size: cover;
    }
    .home_page .key .key_text .item {
        padding: 10px;
        height: calc(100vh - 60px);
        max-height: 156vw;
        min-height: 320px;
    }
    .home_page .key .inner {
        height: 100%;
    }
    .home_page .key .inner .catch {
        padding-top: 10em;
        padding-right: 3em;
		align-items:flex-start;
    }
    .home_page .key .inner .catch .title {
               font-size: min(5.47vw, 24px);
    }
    .home_page .key .inner .catch>p {
        font-size: min(2.73vw, 15px);
    }
    .home_page .key .idx-box-news {
        padding: 20px 12px 20px 20px;
        width: calc(100% - 20px);
        bottom: min(11.33vw, 95px);
        align-items: center;
        max-width: 500px;
    }
    .home_page .key .idx-box-news ul:before {
        height: 100%;
    }
    .home_page .key .idx-box-news ul li {
        margin-bottom: 18px;
    }
    .home_page .key .idx-box-news ul li a .date {
        font-size: 12px;
        margin-right: 7px;
    }
    .home_page .key .idx-box-news ul li a .title {
        font-size: 14px;
    }
    .home_page .key .idx-box-news .idx-btn {
        height: fit-content;
        padding: 0 10px;
    }
    .home_page .key .idx-box-news .idx-btn a {
        font-size: 14px;
        line-height: 1.3em;
        text-align: center;
    }
    .home_page .key .idx-box-news .idx-btn a .ico {
        margin-bottom: 5px;
    }
    .home_page .key .idx-box-news .idx-btn a .ico img {
        width: 18px;
        height: auto;
    }
    .home_page .idx-ttl-en {
        font-size: min(4.8vw, 21px);
    }
    .home_page h2 {
        font-size: min(5.87vw, 26px);
        letter-spacing: 0;
        line-height: 1.45em;
    }
    .home_page h3 {
        font-size: min(5.33vw, 23px);
    }
    .home_page .key .idx-btn-ai {
        display: none;
    }
    .iAbout {
        padding-top: 30px;
        padding-bottom: 60px;
        margin: 6px 0 0;
    }
    .iAbout .inner_big {
        padding: 0 20px;
    }
    .iAbout:before,
    .iAbout:after {
        height: 55px;
    }
    .iAbout:before {
        top: -38px;
        background: url(../images/idx-about-bg01-sp.png) no-repeat center;
        background-size: 100% auto;
    }
    .iAbout:after {
        bottom: -37px;
        background: url(../images/idx-about-bg02-sp.png) no-repeat center;
        background-size: 100% auto;
    }
    .iAbout-fx {
        flex-wrap: wrap;
        justify-content: center;
    }
    .iAbout-c {
        width: 100%;
        order: 3;
        margin: 0;
        margin-top: 16px;
    }
    .iAbout-c .idx-box-ttl {
        width: fit-content;
        margin: 0 auto 28px;
        padding: 0 min(2.67vw, 20px) 1.4em;
    }
    .iAbout-c .idx-box-ttl:before {
        bottom: -0.9em;
    }
    .iAbout-c .idx-box-ttl .idx-ttl-en {
        top: -17px;
        margin-bottom: -15px;
    }
    .iAbout-l {
        order: 1;
        height: auto;
        margin-right: 0;
    }
    .iAbout-l .img {
        width: min(40.8vw, 200px);
        right: 9px;
        margin-top: -32px;
    }
    .iAbout-l .img:before {
        content: "";
        position: absolute;
        left: -72px;
        top: 8px;
        background: url(../images/idx-about-img01-bg-sp.png) no-repeat center;
        background-size: contain;
        width: 279px;
        height: 225px;
        z-index: -1;
    }
    .iAbout-r {
        order: 2;
    }
    .iAbout-r .img02 {
        margin-top: 0;
        position: relative;
        right: -37px;
        z-index: 1;
        width: min(46.93vw, 220px);
    }
    .iAbout-r .img02:before {
        content: "";
        position: absolute;
        right: -78px;
        top: -27px;
        background: url(../images/idx-about-img02-bg-sp.png) no-repeat center;
        background-size: contain;
        width: 255px;
        height: 221px;
        z-index: -1;
    }
    .iAbout .txt {
        padding: 0 25px;
    }
    .iAbout .txt>p {
        line-height: 1.95em;
        letter-spacing: 0;
        font-size: 16px;
    }
    .iAbout .idx-btn a {
        min-width: 290px;
    }
    .iAbout .idx-btn a:before {
        right: 15px;
    }
    .iAbout-frame {
        margin-top: 80px;
        border-radius: 20px;
        width: calc(100% + 20px);
        position: relative;
        left: 50%;
        transform: translate(-50%);
        padding-bottom: 11px;
    }
    .iAbout-frame:before {
        border-radius: 20px;
    }
    .iAbout-frame:after {
        content: "";
        left: 10px;
        top: 15px;
        background: url(../images/idx-about-ico-bg-sp.svg) no-repeat center;
        background-size: cover;
        width: 100%;
        height: 100%;
        position: absolute;
        z-index: -2;
        border-radius: 20px;
    }
    .iAbout-frame h3 {
        text-align: center;
        width: calc(100% - 20px);
        top: -42px;
        margin: 0 auto -12px !important;
    }
    .iAbout-frame h3 span {
        border-radius: 42.5px;
        font-size: min(5.33vw, 23px);
        padding: 17px 10px;
        display: block;
        width: 100%;
        line-height: 1.25em;
    }
    .iAbout-frame ul {
        flex-wrap: wrap;
        max-width: 470px;
        margin: 0 auto;
    }
    .iAbout-frame ul li {
        width: 50%;
        max-width: min(40.53vw, 180px);
        margin-right: 10px;
        margin-bottom: 11px;
    }
    .iAbout-frame ul li:nth-child(2) a .ttl {
        margin-top: 7px;
    }
    .iAbout-frame ul li:nth-child(4) a .ttl,
    .iAbout-frame ul li:nth-child(5) a .ttl {
        margin-top: 8px;
    }
    .iAbout-frame ul li:nth-child(3) {
        margin-right: 0;
    }
    .iAbout-frame ul li:nth-child(3) a .ttl {
        margin-top: 7px;
    }
    .iAbout-frame ul li:first-child {
        margin: 0 min(26.67vw, 100px) 10px;
        width: 100%;
    }
    .iAbout-frame ul li a .ttl {
        font-size: min(3.35vw, 15px);
        margin-top: 13px;
        letter-spacing: 0;
        position: relative;
        padding-right: min(5.87vw, 22px);
        width: 100%;
    }
    .iAbout-frame ul li a .ttl:before {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto 0;
        width: 18px;
        height: 16px;
        background: url(../images/idx-ico-arr.svg) no-repeat center;
        background-size: 100% 100%;
    }
    .iAbout-frame ul li a .btn {
        display: none;
    }
    .iAbout-frame ul li a .btn img {
        width: 18px;
        height: auto;
    }
    .iCause {
        padding-top: 86px;
        padding-bottom: 114px;
        position: relative;
    }
    .iCause .inner_big {
        padding: 0 20px;
    }
    .iCause-c {
        width: 100%;
        margin: 0;
    }
    .iCause-c h3 {
        background: transparent;
        padding-bottom: 0;
        margin-bottom: 19px;
    }
    .iCause-c h3 .bor {
        display: block;
        text-align: center;
        width: fit-content;
        margin: 0 auto 7px;
        letter-spacing: 0;
        background: url(../images/idx-cause-hr-sp.svg) no-repeat bottom center;
        background-size: 100% 4px;
        padding-bottom: 7px;
    }
    .iCause-c h3 .bor:first-child {
        background: url(../images/idx-cause-hr-sp02.svg) no-repeat bottom center;
        background-size: 100% 4px;
    }
    .iCause-c h3 .bor:last-child {
        background: url(../images/idx-cause-hr-sp03.svg) no-repeat bottom center;
        background-size: 100% 4px;
    }
    .iCause-c-fx {
        flex-direction: column;
    }
    .iCause-c-fx .txt>p {
        font-size: 16px;
        letter-spacing: 0;
    }
    .iCause-c-fx .idx-btn {
        margin: 20px auto 0;
    }
    .iCause-c-fx .idx-btn a {
        min-width: 200px;
        margin: 0 auto;
        border-radius: 30px;
        padding-left: 25px;
    }
    .iCause-c-fx .idx-btn a:before {
        right: 11px;
    }
    .iCause-l {
        position: absolute;
        left: -13px;
        top: -50px;
        width: 95px;
        height: 100px;
        z-index: 1;
    }
    .iCause-r {
        position: absolute;
        right: 13px;
        top: -45px;
        width: 97px;
        height: 90px;
        z-index: 1;
    }
    .iCause .idx-box-ttl {
        width: fit-content;
        max-width: 100%;
        padding: 0 30px 19px;
        margin: 0 auto 28px;
    }
    .iCause .idx-box-ttl:before {
        bottom: -12px;
    }
    .iCause .idx-box-ttl .idx-ttl-en {
        top: -17px;
        margin-bottom: -16px;
    }
    .iCause-box {
        flex-direction: column;
        margin-top: 40px;
    }
    .iCause-item {
        padding: 23px min(5.33vw, 20px) 17px;
        margin: 0;
        margin-bottom: 25px;
        width: 100%;
        max-width: 500px;
    }
    .iCause-item:before {
        content: "";
        position: absolute;
        right: 13px;
        bottom: 15px;
        background: url(../images/idx-cause-ico03-sp.svg) no-repeat center;
        background-size: contain;
        width: 153px;
        height: 149px;
    }
    .iCause-item:first-child {
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
        padding-left: 0;
    }
    .iCause-item:last-child {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
        padding-right: 0;
        margin-left: auto;
    }
    .iCause-item:last-child:before {
        content: "";
        position: absolute;
        right: 8px;
        bottom: 26px;
        background: url(../images/idx-cause-ico04-sp.svg) no-repeat center;
        background-size: contain;
        width: 137px;
        height: 138px;
    }
    .iCause-item ul {
        margin-top: 15px;
    }
    .iCause-item ul li {
        font-size: 18px;
        padding-left: 12px;
        margin-bottom: 3px;
    }
    .iCause-item ul li:before {
        width: 7px;
        height: 7px;
    }
    .iCause-ttl a {
        padding-bottom: 15px;
    }
    .iCause-ttl a .ico {
        margin-bottom: 8px;
    }
    .iCause-ttl a .ico img {
        width: min(9.6vw, 36px);
    }
    .iCause-ttl a .ttl {
        line-height: 1.35em;
        font-size: min(5.1vw, 23px);
    }
    .iAccu {
        --mask: url(../images/idx-accu-mask-sp.png);
        padding-top: 70px;
        padding-bottom: 0;
    }
    .iAccu .bg {
        z-index: 0;
    }
    .iAccu .inner_big {
        padding: 0 20px;
    }
    .iAccu-fx {
        flex-direction: column;
    }
    .iAccu-r {
        order: 1;
        margin-right: -20px;
        margin-bottom: 36px;
    }
    .iAccu-r:before {
        right: -388px;
        top: -322px;
        width: 564px;
        height: 512px;
    }
    .iAccu-r .img {
        height: min(53.33vw, 300px);
    }
    .iAccu-r .img img {
        object-fit: cover;
        height: 100%;
        border-top-left-radius: 50px;
        border-bottom-left-radius: 20px;
        width: 100%;
    }
    .iAccu-l {
        width: 100%;
        margin: 0;
        order: 2;
    }
    .iAccu-l .txt {
        margin-bottom: 22px;
    }
    .iAccu-l .txt>p {
        letter-spacing: 0;
        font-size: 16px;
    }
    .iAccu-l .idx-btn a {
        min-width: 240px;
    }
    .iAccu-l .idx-btn a:before {
        right: 14px;
    }
    .iAccu .idx-box-ttl {
        padding-bottom: 19px;
        margin-bottom: 26px;
    }
    .iAccu .idx-box-ttl:before {
        bottom: -15px;
        border-left: 15px solid transparent;
        border-right: 15px solid transparent;
        border-top: 15px solid #b4e3ae;
    }
    .iAccu .idx-box-ttl .idx-ttl-en {
        top: -17px;
        margin-bottom: -17px;
    }
    .iAccu-pk {
        width: calc(100% + 20px);
        left: 50%;
        transform: translate(-50%);
        padding-bottom: 21px;
        max-width: 600px;
        margin: 32px 0;
        padding-left: 10px;
        padding-right: 10px;
    }
    .iAccu-pk:before {
        border-top-left-radius: 20px;
        border-top-right-radius: 100px;
    }
    .iAccu-pk:after {
        top: 15px;
        left: 15px;
        background: url(../images/idx-accu-bg-frame-sp.png) no-repeat center;
        background-size: 100% 100%;
        filter: brightness(0.7);
    }
    .iAccu-pk .ttl-pickup {
        right: -3px;
        top: -3px;
        width: 53px;
        height: 53px;
    }
    .iAccu-frame {
        padding-left: 15px;
        flex-direction: column;
        padding-right: 15px;
        border: 2px dotted var(--main-color);
        border-top-right-radius: 100px;
        background: transparent;
    }
    .iAccu-ttl {
        flex-direction: column;
        padding-bottom: 30px;
        background: url(../images/idx-ico-h3-sp.svg) no-repeat bottom center;
        background-size: 100% 5px;
        margin-bottom: 27px;
    }
    .iAccu-ttl h3 {
        margin-right: 0;
    }
    .iAccu-ttl h3 label {
        display: block;
        width: fit-content;
        position: relative;
        z-index: 1;
    }
    .iAccu-ttl h3 label:before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 1px;
        width: 100%;
        height: 7px;
        border-radius: 2px;
        background: #ffff00;
        z-index: -1;
    }
    .iAccu-ttl h3 span {
        padding-right: 0;
    }
    .iAccu-ttl h3 span:before {
        display: none;
    }
    .iAccu-ttl .idx-btn {
        margin-right: auto;
        margin-left: 0;
        margin-top: 20px;
    }
    .iAccu-ttl .idx-btn a {
        min-width: min(48.53vw, 182px);
        line-height: 1.35em;
    }
    .iAccu-ttl .idx-btn a:before {
        right: 13px;
    }
    .iAccu-cnt {
        padding-top: 7px;
    }
    .iAccu-cnt ul {
        flex-wrap: wrap;
        justify-content: center;
    }
    .iAccu-cnt ul li {
        max-width: min(37.87vw, 142px);
        width: calc(50% - 6px);
        margin-right: min(3.2vw, 12px);
        margin-bottom: 15px;
    }
    .iAccu-cnt ul li:nth-child(2n) {
        margin-right: 0;
    }
    .iAccu-cnt ul li:last-child {
        width: 100%;
        max-width: min(46.67vw, 175px);
    }
    .iAccu-cnt ul li:last-child .img {
        margin: 0 16px 4px;
    }
    .iAccu-cnt ul li:last-child .ttl {
        letter-spacing: -0.5px;
    }
    .iAccu-cnt ul li .img {
        margin-bottom: 4px;
    }
    .iAccu-cnt ul li .img img {
        height: 90px;
        object-fit: cover;
    }
    .iAccu-cnt ul li .ttl {
        font-size: min(3.6vw, 15px);
    }
    .iAccu-img {
        position: absolute;
        top: 21px;
        bottom: initial;
        right: -5px;
        width: min(36.8vw, 150px);
        height: min(37.87vw, 154px);
    }
    .iTreatment {
        margin-top: 44px;
        padding-bottom: 68px;
    }
    .iTreatment:after {
        content: "";
        position: absolute;
        left: -350px;
        bottom: -160px;
        background: url(../images/idx-treatment-ico-sp.svg) no-repeat center;
        background-size: contain;
        width: 564px;
        height: 512px;
        mix-blend-mode: multiply;
        z-index: -1;
    }
    .iTreatment:before {
        background: url(../images/idx-bg-treatment-sp.png) no-repeat top center;
        background-size: 100% auto;
        top: 0;
    }
    .iTreatment-ttl {
        padding-top: 0;
        margin-top: -4px;
    }
    .iTreatment-ttl span {
        font-size: min(5.33vw, 23px);
        padding: 0 0 0 10px;
    }
    .iTreatment-ttl span:before,
    .iTreatment-ttl span:after {
        width: min(8vw, 40px);
        height: 4px;
        background: url(../images/idx-treatment-hr-sp.svg) no-repeat center;
        background-size: cover;
    }
    .iTreatment-fx {
        padding: 0;
        margin-top: 40px;
        flex-direction: column;
    }
    .iTreatment-img {
        width: 100%;
        margin-right: 0;
        margin-left: -20px;
        width: calc(100% + 20px);
        margin-bottom: 37px;
        position: relative;
    }
    .iTreatment-img:before {
        content: "";
        position: absolute;
        right: -500px;
        bottom: -270px;
        background: url(../images/idx-treatment-ico-sp.svg) no-repeat center;
        background-size: contain;
        width: 564px;
        height: 512px;
        mix-blend-mode: color-dodge;
        z-index: -1;
        filter: brightness(0.6);
    }
    .iTreatment-img .img img {
        border-top-right-radius: 50px;
        border-bottom-right-radius: 20px;
        height: min(53.33vw, 300px);
        object-fit: cover;
        width: 100%;
    }
    .iTreatment-cnt .txt {
        margin-bottom: 22px;
    }
    .iTreatment-cnt .txt>p {
        font-size: 16px;
        letter-spacing: 0;
    }
    .iTreatment-cnt .idx-list-btn {
        justify-content: center;
    }
    .iTreatment-cnt .idx-list-btn li {
        margin-right: 10px;
    }
    .iTreatment-cnt .idx-list-btn li a {
        font-size: min(4.27vw, 16px);
        padding-left: min(6.67vw, 25px);
        border-radius: 30px;
        min-width: min(43.2vw, 200px);
        min-height: 60px;
        line-height: 1.3em;
    }
    .iTreatment-cnt .idx-list-btn li a:before {
        width: min(4.8vw, 18px);
        height: min(4.8vw, 18px);
        right: min(3.47vw, 13px);
    }
    .iTreatment .idx-box-ttl {
        right: 0;
        width: fit-content;
        padding: 0 40px 20px 30px;
    }
    .iTreatment .iAccu-pk {
        padding-bottom: 13px;
    }
    .iTreatment .iAccu-pk:after {
        filter: brightness(0.6);
    }
    .iTreatment .iAccu-frame {
        padding-bottom: 8px;
    }
    .iTreatment .iAccu-ttl {
        margin-bottom: 25px;
    }
    .iTreatment .iAccu-ttl .idx-btn a {
        min-width: 198px;
    }
    .iTreatment .iAccu-ttl h3 span {
        padding-bottom: 0;
        padding-right: 10px;
    }
    .iTreatment .iAccu-ttl h3 span:before {
        display: block;
        height: 7px;
        bottom: 2px;
    }
    .idx-btn a {
        min-height: 60px;
        font-size: min(4.27vw, 16px);
        padding-left: min(6.67vw, 25px);
    }
    .idx-btn a:before {
        width: min(4.8vw, 18px);
        height: min(4.8vw, 18px);
        right: min(3.47vw, 13px);
    }
    .iChild {
        padding-top: 237px;
    }
    .iChild .inner_sm {
        padding: 0 20px;
    }
    .iChild:before {
        content: "";
        position: absolute;
        left: calc(50% - 1px);
        transform: translate(-50%);
        top: 102px;
        background: url(../images/idx-child-bg-sp.png) no-repeat center;
        background-size: 100% auto;
        height: 100%;
        width: calc(100% + 2px);
        max-height: 772px;
        z-index: 0;
    }
    .iChild-frame {
        border-radius: 15px;
        padding: 0 20px 45px;
        max-width: 500px;
        margin: 0 auto;
    }
    .iChild-frame .idx-btn {
        bottom: -30px;
    }
    .iChild-frame .idx-btn a {
        min-width: 200px;
    }
    .iChild-frame h3 {
        width: auto;
        padding: 15px min(9.67vw, 40px);
        border-radius: 60px;
        top: -43px;
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: -31px;
        line-height: 1.35em;
    }
    .iChild-frame ul {
        flex-wrap: wrap;
    }
    .iChild-frame ul li {
        margin-right: min(2.5vw, 10px);
        width: calc(50% - min(1.33vw, 10px));
        margin-bottom: 10px;
    }
    .iChild-frame ul li:nth-child(2n) {
        margin-right: 0;
    }
    .iChild-frame ul li:nth-child(3n) {
        margin-right: min(2.5vw, 10px);
    }
    .iChild-frame ul li:last-child {
        margin-right: 0;
    }
    .iChild-frame ul li a {
        font-size: min(4.27vw, 18px);
        letter-spacing: 0;
        display: flex;
        align-items: center;
        height: 100%;
        background: url(../images/idx-hr-link-sp.svg) no-repeat bottom center;
        background-size: 100% min(0.53vw, 3px);
    }
    .iChild-frame ul li a:before {
        width: min(4.8vw, 18px);
        height: min(4.8vw, 18px);
        top: 0;
        bottom: 10px;
        margin: auto 0;
    }
    .iChild-frame02 {
        border-top-left-radius: 100px;
        margin-top: 100px;
        padding-top: 20px;
        padding-left: 20px;
    }
    .iChild-frame02:before {
        left: -382px;
        bottom: -320px;
        background: url(../images/idx-child-ico-sp.svg) no-repeat center;
        background-size: contain;
        width: 564px;
        height: 518px;
    }
    .iChild-frame02 .inner_big {
        padding-left: 0;
    }
    .iChild-fx {
        flex-direction: column;
    }
    .iChild-cnt {
        order: 2;
        margin-right: 0;
        margin-top: 30px;
    }
    .iChild-cnt h4 {
        font-size: min(5.33vw, 20px);
        text-align: center;
        background: transparent;
        line-height: 1.3em;
        padding-bottom: 0;
        margin-bottom: 21px;
    }
    .iChild-cnt h4 br {
        display: none;
    }
    .iChild-cnt h4 span {
        background: url(../images/idx-hr-child.svg) no-repeat left bottom;
        background-size: 100% 3px;
        padding-bottom: 12px;
        display: block;
        width: fit-content;
        margin: 0 auto 10px;
        line-height: 1em;
    }
    .iChild-cnt .txt {
        margin-bottom: 20px;
    }
    .iChild-cnt .txt>p {
        font-size: 16px;
        letter-spacing: 0;
    }
    .iChild-cnt .idx-list-btn {
        justify-content: center;
        max-width: 500px;
        margin: 0 auto;
        position: relative;
        left: -4px;
    }
    .iChild-cnt .idx-list-btn li {
        width: calc(50% - min(2.67vw, 10px));
        margin-right: min(2.67vw, 10px);
    }
    .iChild-cnt .idx-list-btn li:nth-child(2n) {
        margin-right: 0;
    }
    .iChild-frame .txt-vv {
        position: absolute;
        right: 1.5em;
        bottom: 0;
        font-weight: 500;
        font-size: 16px;
    }
    .iChild-cnt .idx-list-btn li a {
        min-width: min(43.2vw, 200px);
        min-height: 76px;
        border-radius: 60px;
        line-height: 1.3em;
    }
    .iChild-img {
        order: 1;
        margin-right: -10px;
    }
    .index0-bnr-fx .box-video video {
        position: relative;
        z-index: 1;
        width: 105%;
        height: 165%;
    }
    .iChild-img .img img {
        border-bottom-left-radius: 20px;
        height: min(53.33vw, 300px);
        width: 100%;
        object-fit: cover;
    }
    .idx_gallery {
        margin-top: 56px;
        height: 280px;
        --mask: url(../images/idx-gallary-mask-sp.png);
    }
    .idx_gallery img {
        height: 280px;
    }
    .iFeature-fx {
        flex-direction: column;
        padding: 50px 10px;
    }
    .iFeature-fx:before {
        left: initial;
        right: -197px;
        top: -22px;
        background: url(../images/idx-feature-ico01-sp.png) no-repeat center;
        background-size: contain;
        width: 478px;
        height: 263px;
		display:block
    }
	.bg-icon{
		display:none;
	}
    .iFeature-ttl {
        margin-bottom: 39px;
        margin-right: 0;
		position:relative;
    }
	.iFeature-ttl .ttl{
		display:flex;
	}
    .iFeature-ttl .idx-ttl-en {
        margin-bottom: 6px;
    }
    .iFeature-ttl h2 {
        margin-bottom: 0;
		margin:0 auto;
    }
    .iFeature-ttl h2 span {
        width: fit-content;
        margin-bottom: 5px;
    }
    .iFeature-cnt {
        margin-top: 0;
		max-width:100%;
		margin:0 auto;
    }
    .iFeature-cnt ul li {
        flex-direction: column;
        padding: 29px 19px 23px;
        margin-bottom: 30px;
    }
    .iFeature-cnt ul li:after {
        top: 10px;
        left: 10px;
        background: url(../images/idx-bg-feature-sp.svg) no-repeat center;
        background-size: cover;
    }
    .iFeature-cnt ul li .cnt {
        order: 2;
    }
    .iFeature-cnt ul li .cnt .stt {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .iFeature-cnt ul li .cnt .ttl {
        font-size: min(4.8vw, 22px);
        margin-bottom: 10px;
    }
    .iFeature-cnt ul li .cnt .txt>p {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 1.8em;
    }
    .iFeature-cnt ul li .img {
        width: 100%;
        margin: 0 auto 10px;
        order: 1;
        height: min(40vw, 220px);
    }
    .iFeature-cnt ul li .img img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    .iGreeting {
        background: url(../images/idx-greeting-bg-sp.png) no-repeat top center;
        background-size: 100% 100%;
        padding-top: min(45.87vw, 200px);
        margin-top: -10px;
        padding-bottom: min(40vw, 180px);
        min-height: auto;
    }
    .iGreeting .inner_big {
        padding: 0 20px;
    }
    .iGreeting-fx {
        flex-direction: column;
        padding: 0;
    }
    .iGreeting-fx:before {
        background: url(../images/idx-greeting-ico01-sp.png) no-repeat center;
        background-size: contain;
        width: 220px;
        height: 108px;
        top: -150px;
        right: -100px;
    }
    .iGreeting-cnt {
        padding-top: 89px;
        position: initial;
    }
    .iGreeting-cnt .idx-ttl-en {
        position: absolute;
        top: -72px;
        font-size: min(16.13vw, 80px);
        left: 0;
    }
    .iGreeting-cnt h2 {
        margin-bottom: 15px;
    }
    .iGreeting-cnt .txt>p {
        font-size: 16px;
        letter-spacing: 0;
    }
    .iGreeting-img {
        width: 100%;
        max-width: 470px;
        margin: 0 auto;
    }
    .iGreeting-img .box-img:after {
        content: "";
        position: absolute;
        right: 20px;
        top: 110px;
        background: url(../images/idx-greeting-bling-sp.svg) no-repeat center;
        background-size: contain;
        width: 34px;
        height: 38px;
    }
    .iGreeting-img .box-img:before {
        left: 50%;
        transform: translate(-50%);
        bottom: -34px;
        background: url(../images/idx-greeting-ico02-sp.png) no-repeat center;
        background-size: contain;
        width: min(185.6vw, 830px);
        height: min(85.87vw, 500px);
        z-index: -1;
    }
    .iGreeting-img .box-img .img01 {
        margin-left: auto;
        width: min(61.87vw, 300px);
    }
    .iGreeting-img .box-img .img02 {
        bottom: -52px;
        width: min(40.8vw, 220px);
        left: 0;
    }
    .iGreeting-img .box-img .box-name {
        position: absolute;
        right: 0;
        bottom: -53px;
        background: #fff;
        writing-mode: tb-rl;
        color: var(--main-color);
        border-radius: 5px;
        font-weight: 600;
        padding-right: 17px;
        padding-left: 11px;
        padding-bottom: 21px;
        padding-top: 23px;
    }
    .iGreeting-img .box-img .box-name .sub-name {
        font-size: 12px;
        margin-left: 7px;
    }
    .iGreeting-img .box-img .box-name .name {
        font-size: 20px;
    }
    .iGreeting-img .box-img .box-name .name .jp {
        font-size: 14px;
    }
    .iGreeting-img .box-img .box-name .name .en {
        font-size: 10px;
        display: block;
        text-align: right;
        margin-top: 40px;
    }
    .index0 {
        padding-top: 0;
    }
    .index0 .inner {
        padding: 0 20px;
    }
    .index0 .inner:before {
        display: none;
    }
    .index0-bnr {
        max-width: 500px;
        padding: 6px;
    }
    .index0-bnr:after {
        border: 6px solid #fff;
        border-radius: 10px;
    }
    .index0-bnr:before {
        right: 31px;
        top: -128px;
        background: url(../images/idx-ico-bnr-sp.png) no-repeat center;
        background-size: contain;
        width: 296px;
        height: 180px;
    }
    .index0-bnr-fx {
        flex-direction: column;
        background: #fff url(../images/index0-bg-bnr-sp.png) no-repeat top center;
        background-size: 100% auto;
    }
    .index0-bnr-fx:before {
        right: 28px;
        top: -11px;
        width: 22px;
        height: 15px;
        background: url(../images/idx-bnr-hand.png) no-repeat center;
        background-size: contain;
    }
    .index0-bnr-fx .box-video,
    .index0-bnr-fx .box-cnt {
        width: 100%;
    }
    .index0-bnr-fx .box-cnt {
        min-height: 166px;
    }
    .index0-bnr-fx .box-cnt img {
        width: 238px;
        height: auto;
    }
    .index0-bnr-fx .box-video {
        height: min(44.27vw, 275px);
        border-top-right-radius: 0;
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px;
    }
    .index0-bnr-fx .box-video .play-button img {
        width: 50px;
        height: auto;
    }
}

@media only screen and (min-width: 640px) and (max-width: 768px) {
    .home_page .key {
        font-size: 1.5vmin;
    }
    .home_page .key .inner .catch {
        padding-top: 9em;
        padding-right: 3em;
    }
}

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


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