@media only screen and (min-width: 319px) and (max-width: 768px) {
    .home_page .key {
        padding-bottom: 0;
    }
    .home_page .key .idx-scroll {
        right: 0;
        bottom: 68px;
        padding-right: 19px;
        z-index: 3;
    }
    .home_page .key .idx-scroll a span {
        font-size: 13px;
    }
    .home_page .key .key-fx {
        margin-right: 0;
        flex-direction: column;
        z-index: 1;
    }
    .home_page .key .key-fx:before {
        display: none;
    }
    .home_page .key .key-fx:after {
        width: 282px;
        height: 262px;
        top: 190px;
        bottom: 0;
        left: 40px;
        right: 0;
        margin: auto;
        z-index: -1;
    }
    .home_page .key .key-fx .box-img01 {
        order: 2;
        right: 0;
        top: 0;
        -webkit-mask-image: url(../images/idx-main-mask02-sp.svg);
        mask-image: url(../images/idx-main-mask02-sp.svg);
        margin-top: -184px;
        margin-left: -314px;
        width: 318px;
        height: 330px;
    }
    .home_page .key .key-fx .box-img02 {
        order: 1;
        top: 0;
        left: 0;
        -webkit-mask-image: url(../images/idx-main-mask01-sp.svg);
        mask-image: url(../images/idx-main-mask01-sp.svg);
        width: 784px;
        height: 802px;
        margin-top: -282px;
        margin-right: -305px;
        position: relative;
    }
    .home_page .key .key-fx .box-img02 img {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 584px;
        height: 550px;
    }
    .home_page .key .key-fx .box-key-txt {
        position: absolute;
        left: 0;
        right: 0;
        top: 30px;
        bottom: 0;
        margin: auto;
        justify-content: center;
        align-items: center;
        z-index: 2;
    }
    .home_page .key .key-fx .box-key-txt .title span {
        padding: 0.7em 0.2em;
        font-size: 26px;
    }
    .home_page .key .key-fx .box-key-txt .title span span:first-child {
        margin-left: 0.35em;
    }
    .home_page .key .key-fx .box-key-txt .sub-ttl {
        font-size: 16px;
        margin-top: -25px;
    }
    .home_page .idx-ttl-en {
        margin-bottom: 5px;
        font-size: 16px;
        line-height: 1em;
    }
    .home_page h2 {
        line-height: 1.4em;
        padding-left: 5px;
        font-size: min(8vw, 33px);
        padding-bottom: 23px;
    }
    .home_page h3 {
        margin-bottom: 12px;
    }
    .home_page h3 span {
        font-size: min(5.333vw, 23px);
    }
    .index0 {
        padding: 90px 0 min(38.4vw, 180px);
        background: url(../images/idx-bg-section0-sp.png) no-repeat top center;
        background-size: cover;
        margin-top: -3.0625em;
    }
    .index0:before {
        bottom: -50px;
        width: 100%;
        height: 176px;
        background: url(../images/index02-bg-sp.png) center center/contain no-repeat;
    }
    .index0 .index0-fx {
        padding-left: 0;
        flex-direction: column;
    }
    .index0 .index0-fx .box-cnt {
        padding-top: 0;
        width: 100%;
    }
    .index0 .index0-fx .box-cnt:before,
    .index0 .index0-fx .box-cnt:after {
        display: none;
    }
    .index0 .index0-fx .box-cnt .txt {
        line-height: 2.05em;
        width: 100%;
        max-width: 100%;
        margin-bottom: 1.3em;
    }
    .index0 .index0-fx .box-cnt .idx-list-index0 {
        justify-content: center;
        width: fit-content;
        margin: 0 auto;
    }
    .index0 .index0-fx .box-cnt .idx-list-index0:before {
        background: url(../images/idx-message-ico05-sp.svg) no-repeat center;
        background-size: contain;
        width: min(91.2vw, 400px);
        height: min(61.867vw, 300px);
        left: -0.75em;
        bottom: -2.5375em;
    }
    .index0 .index0-fx .box-cnt .idx-list-index0 li {
        margin-right: 0.875em;
    }
    .index0 .index0-fx .box-cnt .idx-list-index0 li a {
        width: min(43.2vw, 200px);
        height: min(43.2vw, 200px);
        padding-top: 10px;
    }
    .index0 .index0-fx .box-cnt .idx-list-index0 li a:after {
        height: 2.975em;
    }
    .index0 .index0-fx .box-cnt .idx-list-index0 li a .ico img {
        height: min(17.067vw, 70px);
        width: auto;
    }
    .index0 .index0-fx .box-cnt .idx-list-index0 li a .ttl {
        font-size: min(4.8vw, 20px);
    }
    .index0 .index0-fx .box-cnt .idx-list-index0 li a .ico-arr {
        font-size: min(3.733vw, 15px);
        bottom: 0.9em;
        letter-spacing: 0;
    }
    .index0 .index0-fx .box-img .box-img02 {
        display: none;
    }
    .index0 .index0-fx .box-img .box-img01 {
        position: absolute;
        top: 7em;
        right: -90px;
        width: min(56.533vw, 280px);
        height: min(63.467vw, 300px);
    }
    .index0 .index0-fx .box-img .box-img01 .bg-img {
        left: -11.875em;
        right: 0;
        top: -2.4625em;
        width: min(30.933vw, 170px);
        height: min(17.6vw, 100px);
    }
    .index02 .idx-ttl-en {
        margin-top: -19px;
    }
    .index02 .idx-ttl-en.ico:before {
        content: "";
        position: absolute;
        left: -12.95em;
        right: 0;
        top: -2.95em;
        margin: 0 auto;
        background: url(../images/idx-howto-ico.svg) no-repeat center;
        background-size: contain;
        width: 3.5em;
        height: 3.5em;
        transform: rotate(-84deg);
    }
    .index02 .idx-bg-about {
        position: relative;
        width: calc(100% + 40px);
        left: 50%;
        transform: translate(-50%);
        padding-top: 24.8vw;
        padding-bottom: 27.067vw;
        background: transparent;
        margin-top: 3.125em;
    }
    .index02 .idx-bg-about:after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: cover;
        mask-size: cover;
        background-repeat: no-repeat;
        background-size: cover;
        -webkit-mask-image: url(../images/idx-bg-about-mask-sp.svg);
        mask-image: url(../images/idx-bg-about-mask-sp.svg);
        background: url(../images/idx-about-img-sp.jpg) no-repeat center;
        background-size: cover;
        /* mask-image: url(../images/idx-bg-about-mask-sp.svg);
        mask-repeat: no-repeat;
        -webkit-mask-repeat: no-repeat;
        mask-size: auto 100%;
        -webkit-mask-size: auto 100%;
        mask-position: center;
        -webkit-mask-position: center; */
    }
    .index02 .idx-bg-about:before {
        left: -16.5em;
        bottom: -15em;
        background: url(../images/idx-feature-circle01-sp.svg) no-repeat center;
        background-size: contain;
        width: 24.625em;
        height: 24.625em;
        z-index: 1;
    }
    .index02 .idx-bg-about h2 {
        margin-bottom: 0.5em;
    }
    .index02 .idx-bg-about .txt {
        margin-bottom: 1.625em;
    }
    .index02 .idx-bg-about .txt>p {
        line-height: 2.25em;
    }
    .index02 .idx-bg-about .idx-list-about {
        width: 100%;
        max-width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }
    .index02 .idx-bg-about .idx-list-about li {
        width: 50%;
        max-width: min(43.2vw, 250px);
        margin-right: 2.667vw;
        margin-bottom: 2.667vw;
        min-height: 70px;
    }
    .index02 .idx-bg-about .idx-list-about li:nth-child(2n) {
        margin-right: 0;
    }
    .index02 .idx-bg-about .idx-list-about li a {
        width: 100%;
        height: 100%;
        padding-left: 4vw !important;
    }
    .index02 .idx-bg-about .idx-list-about li a:before {
        right: 1.6vw;
        width: min(3.733vw, 14px);
        height: min(2.667vw, 10px);
    }
    .index02 .idx-bg-about .idx-list-about li a .ttl {
        font-size: min(4.267vw, 18px);
        letter-spacing: 0;
    }
    .index02 .idx-bg-about .idx-list-about li a .ico {
        margin-right: 1.867vw;
    }
    .index02 .idx-bg-about .idx-list-about li a .ico img {
        height: min(7.467vw, 34px);
        width: auto;
        object-fit: contain;
    }
    .index02 h2 {
        padding-left: 0;
        letter-spacing: 0;
        padding-bottom: 25px;
        margin-bottom: 23px;
    }
    .index02 .index02-fx {
        flex-direction: column;
    }
    .index02 .index02-fx .box-img {
        order: 1;
        position: relative;
        width: calc(100% + 20px);
    }
    .index02 .index02-fx .box-img .img {
        border-radius: 20px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .index02 .index02-fx .box-img .img img {
        height: min(40vw, 250px);
        width: 100%;
        object-fit: cover;
    }
    .index02 .index02-fx .box-cnt {
        order: 2;
        margin-right: 0;
        margin-top: 1.175em;
    }
    .index02 .index02-fx .box-cnt .index02-list-check li {
        align-items: flex-start;
    }
    .index02 .index02-fx .box-cnt .index02-list-check li:before {
        left: 0;
        top: 7px;
    }
    .index02-frame {
        margin-top: 27px;
        width: 100%;
        position: relative;
        width: calc(100% + 20px);
        left: -20px;
        border-radius: 20px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        padding-top: 30px;
        padding-bottom: 20px;
    }
    .index02-frame .index02-frame-fx {
        flex-direction: column;
        padding-right: 0;
    }
    .index02-frame .index02-frame-fx .box-cnt {
        margin-right: 0;
        width: 100%;
    }
    .index02-frame .index02-frame-fx .box-cnt .txt {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        padding: 0 20px;
    }
    .index02-frame .index02-frame-fx .box-cnt .txt>p {
        line-height: 2.25em;
        letter-spacing: 0.15em;
    }
    .index02-frame .index02-frame-fx .box-cnt .box-ttl {
        color: #fff;
        width: 22em;
        max-width: 292px;
        background: #E77E84;
        border-top-right-radius: 50px;
        border-bottom-right-radius: 50px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 6.1em;
        max-height: 100px;
        padding: 2.3625em 2.5em 0.9375em 3.275em;
        margin-left: -1.875em;
        margin-bottom: 0.85em;
    }
    .index02-frame .index02-frame-fx .box-cnt .box-ttl .idx-ttl-en {
        font-size: 13px;
        line-height: 1em;
    }
    .index02-frame .index02-frame-fx .box-cnt .box-ttl h3 {
        line-height: 1.3em;
        font-size: 25px;
        letter-spacing: 0.05em;
    }
    .index02-frame .index02-frame-fx .box-list {
        width: 100%;
        max-width: 100%;
        padding: 0 20px;
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link {
        flex-wrap: wrap;
        margin-top: 22px;
        justify-content: center;
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link li {
        width: 50%;
        max-width: 40.533vw;
        margin-right: 10px;
        margin-bottom: 10px;
        min-height: 70px;
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link li:nth-child(2n) {
        margin-right: 0;
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link li .img {
        height: 100%;
        width: 100%;
        display: block;
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link li .img img {
        height: 100%;
        width: 100%;
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link li a {
        height: 100%;
        width: 100%;
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link li a .ttl-img {
        font-size: min(4.267vw, 20px);
        text-align: center;
        line-height: 1.3em;
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link li a:after {
        right: 0.885em;
        width: 0.8em;
        height: 0.75em;
    }
    .index03 {
        padding-top: 90px;
        position: relative;
    }
    .index03:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        top: -3px;
        background: url(../images/idx-feature-ico-sp.svg) no-repeat center;
        background-size: contain;
        width: min(83.733vw, 500px);
        height: min(449.6vw, 1690px);
        min-width: 323px;
        min-height: 1730px;
        z-index: 3;
    }
    .index03 h2 {
        letter-spacing: 0;
    }
    .index03 .index03-fx {
        flex-direction: column;
        max-width: 500px;
        margin: 0 auto 0.25em;
    }
    .index03 .index03-fx:after {
        right: initial;
        left: 18.5em;
        top: 19.0625em;
        background: url(../images/idx-feature-circle02-sp.svg) no-repeat center;
        background-size: contain;
        width: 25em;
        max-width: 688px;
        height: 24.75em;
        max-height: 668px;
        z-index: 1;
    }
    .index03 .index03-fx.index03-fx02 {
        margin-bottom: 0;
        position: relative;
        z-index: 1;
    }
    .index03 .index03-fx.index03-fx02 .box-img {
        margin-left: -20px;
    }
    .index03 .index03-fx.index03-fx02 .box-img:before {
        display: none;
    }
    .index03 .index03-fx.index03-fx02 .box-img .img {
        border-top-right-radius: 30px;
        border-bottom-right-radius: 0;
    }
    .index03 .index03-fx.index03-fx02 .box-cnt {
        margin-left: 0;
        width: 100%;
        padding: 34px 0;
        margin-top: -30px;
        z-index: 2;
    }
    .index03 .index03-fx.index03-fx02 .box-cnt h3 {
        margin-left: 20px;
    }
    .index03 .index03-fx.index03-fx02 .box-cnt .stt {
        left: 0;
        margin-bottom: 2em;
        padding-left: 1em;
        padding-top: 0;
        padding-bottom: 0.7em;
        top: -3.4125em;
    }
    .index03 .index03-fx .box-cnt {
        order: 2;
        margin-top: -45px;
        padding: 30px 0;
        width: 100%;
        border-top-right-radius: 30px;
    }
    .index03 h2:after {
        left: 86.2%;
        top: -0.76em;
        width: 1.6875em;
        height: 1.8125em;
        max-width: 33px;
        max-height: 25px;
        display: none;
    }
    .index03 .index03-fx .box-cnt:before {
        display: none;
    }
    .index03 .index03-fx .box-cnt .stt {
        height: 5.5625em;
        width: 11.8em;
        max-width: 184px;
        font-size: 0.875em;
        left: -1.75em;
        top: -3.475em;
        padding-bottom: 0.5em;
        padding-right: 1em;
        padding-left: 1.5em;
    }
    .index03 .index03-fx .box-cnt .stt span {
        font-size: min(8.8vw, 33px);
        bottom: 3px;
    }
    .index03 .index03-fx .box-cnt h3 {
        font-size: min(5.333vw, 20px);
        padding: 6px 0.7em 6px 0.8em;
        margin-bottom: 20px;
    }
    .index03 .index03-fx .box-cnt .txt>p {
        line-height: 2.2em;
        font-size: 16px;
        letter-spacing: 0;
    }
    .index03 .index03-fx .box-img {
        order: 1;
        width: calc(100% + 20px);
    }
    .index03 .index03-fx .box-img .img {
        height: min(58.667vw, 250px);
        border-radius: 20px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .index03 .index03-fx .box-img .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .index03 .idx-fx-col {
        max-width: 500px;
        margin: 0 auto;
        flex-direction: column;
    }
    .index03 .idx-fx-col .index03-fx03 {
        width: 100%;
        max-width: 100%;
    }
    .index03 .idx-fx-col .index03-fx03:last-child {
        margin-top: 0.045em;
    }
    .index03 .idx-fx-col .index03-fx03:last-child .box-img {
        margin-left: -20px;
    }
    .index03 .idx-fx-col .index03-fx03:last-child .box-img:before {
        display: none;
    }
    .index03 .idx-fx-col .index03-fx03:last-child .box-img .img {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-top-right-radius: 30px;
    }
    .index03 .idx-fx-col .index03-fx03:last-child .box-cnt {
        margin-left: initial;
        border-top-right-radius: 0;
        border-top-left-radius: 30px;
    }
    .index03 .idx-fx-col .index03-fx03:last-child .box-cnt h3 {
        margin-left: 20px;
    }
    .index03 .idx-fx-col .index03-fx03:last-child .box-cnt .txt {
        padding: 0 0 0 20px;
    }
    .index03 .idx-fx-col .index03-fx03:last-child .box-cnt .stt {
        left: 0;
        padding-left: 0.5em;
        padding-top: 0.05em;
    }
    .index03 .idx-fx-col .index03-fx03 .box-img .img {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .index03 .idx-fx-col .index03-fx03 .box-cnt {
        width: 100%;
        margin-right: 0;
        margin-top: -2.1em;
        padding: 30px 0;
    }
    .index03 .idx-fx-col .index03-fx03 .box-cnt:after {
        background: url(../images/idx-feature-circle04-sp.svg) no-repeat center;
        background-size: contain;
        width: 13.25em;
        height: 12.8125em;
        left: -4.1875em;
        bottom: -4.125em;
    }
    .index03 .idx-fx-col .index03-fx03 .box-cnt .stt {
        left: -1.8em;
        padding-left: 1em;
        padding-top: 0.3em;
    }
    .index03 .idx-fx-col .index03-fx03 .box-cnt .stt span {
        bottom: 0.05em;
    }
    .idx_gallery {
        position: relative;
        z-index: 2;
        background: #FEF8F9;
        padding: 19px 0 70px;
        margin-bottom: 0;
        margin-top: 0;
    }
    .idx_gallery .list:before {
        left: 12em;
        right: 0;
        margin: 0 auto;
        top: -3.8125em;
        background: url(../images/idx-feature-circle05.svg) no-repeat center;
        background-size: contain;
        width: 21.4375em;
        height: 21.1875em;
    }
    .idx_gallery .list .item {
        width: min(51.2vw, 252px);
        height: min(42.667vw, 220px);
    }
    .index04 {
        background: #E8343D;
        background-size: cover;
        position: relative;
        overflow: hidden;
        height: auto;
        padding: 1.95em 0 6em;
        margin: -40px auto 0;
        z-index: 2;
        max-height: 100%;
    }
    .index04:before {
        content: "";
        position: absolute;
        left: -1.333vw;
        top: -0.533vw;
        background: url(../images/idx-bg-recruit-sp.png) no-repeat top left;
        background-size: contain;
        width: 100%;
        height: min(112.533vw, 550px);
    }
    .index04 .box-recruit {
        width: 100%;
        max-width: 100%;
        padding-right: 0;
        padding: 0 20px;
        margin-bottom: 21px;
    }
    .index04 .box-recruit h2 {
        font-size: 56px;
        text-align: right;
        right: 0;
        padding-bottom: 0;
        margin-bottom: 2px;
    }
    .index04 .box-recruit .idx-ttl-en {
        font-size: 20px;
        padding-right: 0;
        margin-bottom: 25px;
        margin-right: -0.05em;
    }
    .index04 .box-recruit .txt {
        width: 100%;
        max-width: 500px;
        margin-bottom: 23px;
        margin-right: -0.1em;
    }
    .index04 .box-recruit .txt>p {
        line-height: 2.2em;
        letter-spacing: 0.08em;
    }
    .index04 .box-interview {
        padding-left: 20px;
        padding-right: 20px;
        position: relative;
        z-index: 1;
    }
    .index04 .box-interview:before {
        top: -5px;
        background: url(../images/idx-bg-interview-sp.png) no-repeat center;
        background-size: 100% 100%;
        width: 100%;
        height: 90%;
        max-height: 100%;
        z-index: -1;
    }
    .index04 .box-interview h2 {
        font-size: 45px;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .index04 .box-interview .idx-ttl-en {
        font-size: 20px;
    }
    .index04 .box-interview .idx-list-btn {
        margin-right: 0;
        max-width: 100%;
        margin-top: 0;
        width: 100%;
        justify-content: center;
    }
    .index04 .box-interview .idx-list-btn li {
        margin-right: 10px;
    }
    .index04 .box-interview .idx-list-interview {
        flex-direction: column;
        max-width: 500px;
        margin: 2.25em auto 0;
    }
    .index04 .box-interview .idx-list-interview li {
        margin: 0 auto 2.15em !important;
        width: 100%;
    }
    .index04 .box-interview .idx-list-interview li .box-img {
        height: min(53.333vw, 250px);
    }
    .index04 .box-interview .idx-list-interview li .box-img img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        border-radius: 20px;
    }
    .index04 .box-interview .idx-list-interview li .box-img a {
        height: 100%;
    }
    .index04 .box-interview .idx-list-interview li .box-img a:before {
        left: 0.9375em;
        top: 0.9375em;
        background: url(../images/idx-bg-list-interview-sp.png) no-repeat center;
        background-size: cover;
        border-radius: 20px;
    }
    .index04 .box-interview .idx-list-interview li .box-img a picture {
        height: 100%;
    }
    .index04 .box-interview .idx-list-interview li .box-img a .sub-ttl {
        left: 1.075em;
        top: 0.7675em;
        font-size: 1.35em;
    }
    .index04 .box-interview .idx-list-interview li .box-img a .sub-link {
        height: 2.8625em;
        border-top-right-radius: 20px;
        border-bottom-left-radius: 20px;
    }
    .idx-list-btn {
        width: 100%;
        justify-content: center;
        max-width: 500px;
        margin: 0 auto;
    }
    .idx-list-btn li {
        width: 50%;
        margin-right: 10px;
        max-width: 162px;
        margin-bottom: 10px;
        min-height: 60px;
    }
    .idx-list-btn li a {
        width: 100%;
        height: 100%;
    }
    .idx-list-btn li a:before {
        right: 13px;
        width: 16px;
        height: 12px;
    }
    .index05 {
        background: url(../images/idx-bg-greeting-sp.png) no-repeat top center;
        background-size: cover;
        position: relative;
        margin-top: -2.5em;
        padding-top: 3.25em;
        z-index: 2;
    }
    .index05:before {
        content: "";
        position: absolute;
        left: min(12.8vw, 100px);
        right: 0;
        top: -1.5em;
        background: url(../images/idx-greeting-ico-sp.png) no-repeat center;
        background-size: contain;
        width: min(78.4vw, 622px);
        height: min(132.267vw, 506px);
    }
    .index05 .index05-fx {
        flex-direction: column;
        padding-right: 0;
        padding-left: 0;
        position: relative;
        max-width: 500px;
        margin: 0 auto;
    }
    .index05 .index05-fx .box-img {
        margin-left: min(-44.8vw, -168px);
        margin-right: 0;
        margin-top: 1.6em;
        width: min(104vw, 390px);
        margin-bottom: 3.1em;
    }
    .index05 .index05-fx .box-img:before {
        display: none;
    }
    .index05 .index05-fx .box-img .box-sub-img {
        position: absolute;
        right: -17.8125em;
        bottom: -1.1875em;
        width: 25.25em;
        height: 11em;
        background: url(../images/idx-greeting-bg01.svg) no-repeat center;
        background-size: 100% 100%;
        color: #fff;
        padding: 3.625em 1.875em 4.0625em 2.475em;
    }
    .index05 .index05-fx .box-img .box-sub-img .name {
        line-height: 1.7em;
    }
    .index05 .index05-fx .box-img .box-sub-img .name .jp {
        margin-right: 1em;
        margin-bottom: 0;
    }
    .index05 .index05-fx .box-img .box-sub-img .name .en {
        line-height: 1em;
        display: block;
        padding-left: 3em;
        font-size: 0.6em;
    }
    .index05 .index05-fx .box-cnt {
        position: initial;
    }
    .index05 .index05-fx .box-cnt:before {
        display: none;
    }
    .index05 .index05-fx .box-cnt h3 {
        margin-bottom: 1em;
    }
    .index05 .index05-fx .box-cnt .idx-list-btn {
        justify-content: center;
    }
    .index05 .index05-fx .box-cnt .idx-list-btn li {
        max-width: 162px;
        margin-right: 10px;
    }
    .index05 .index05-fx .box-cnt .txt>p {
        line-height: 2em;
        margin-bottom: 17px;
        text-align: left;
    }
}

@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 (min-width: 380px) and (max-width: 768px) {
    .index03:before {
        left: 0;
        right: 0;
        margin: 0 auto;
        top: 20px;
        width: min(83.733vw, 500px);
        height: min(449.6vw, 1690px);
        min-width: 383px;
        min-height: 1750px;
        z-index: 3;
    }
}

@media only screen and (min-width: 414px) and (max-width: 768px) {
    /* .index03:before {
        left: 0;
        right: 0;
        margin: 0 auto;
        top: 20px;
        width: min(83.733vw, 500px);
        height: min(449.6vw, 1690px);
        min-width: 483px;
        min-height: 1860px;
        z-index: 3;
    } */
}

@media only screen and (min-width: 425px) and (max-width: 768px) {
    .index0 .index0-fx .box-img .box-img01 {
        top: 3em;
        right: -50px;
    }
    .index02 .idx-bg-about {
        padding-top: 30.8vw;
        padding-bottom: 29.067vw;
    }
}

@media only screen and (min-width: 529px) and (max-width: 768px) {
    .home_page .key .key-fx .box-img02 {
        width: 844px;
        height: 862px;
        margin-top: -382px;
        margin-right: -435px;
    }
    .index05 .index05-fx .box-img {
        margin-left: min(-30.8vw, -168px);
    }
    .index02 .idx-bg-about:after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        background: url(../images/idx-about-img-sp.jpg) no-repeat center;
        background-size: cover;
        mask-image: url(../images/idx-bg-about-mask-sp02.svg);
        mask-repeat: no-repeat;
        -webkit-mask-repeat: no-repeat;
        mask-size: auto 100%;
        -webkit-mask-size: auto 100%;
        mask-position: center;
        -webkit-mask-position: center;
    }
    .index02 .idx-bg-about {
        padding-top: 18.8vw;
        padding-bottom: 16.067vw;
    }
    .index03:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        top: 26px;
        background: url(../images/idx-feature-ico-sp.svg) no-repeat center;
        background-size: contain;
        width: min(83.733vw, 600px);
        height: min(449.6vw, 1730px);
        min-width: 313px;
        min-height: 1710px;
        z-index: 3;
    }
    .index0 .index0-fx .box-cnt .txt {
        margin-bottom: 4.3em;
    }
    .index04:before {
        left: -2.333vw;
        top: -1.533vw;
    }
}

@media only screen and (max-width: 320px) {
    .index02 .idx-bg-about .idx-list-about li {
        max-width: min(42.2vw, 250px);
    }
    .home_page h2 {
        font-size: min(7vw, 33px);
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link li {
        max-width: 38.533vw;
    }
    .index02-frame .index02-frame-fx .box-list .index02-list-link li a:after {
        right: 0.485em;
        width: 0.6em;
        height: 0.55em;
    }
    .idx-list-btn li {
        max-width: 135px;
    }
    .idx-list-btn li a {
        font-size: 13px;
    }
    .index03:before {
        top: -79px;
        min-width: 293px;
        min-height: 1730px;
    }
    .index05 .index05-fx .box-cnt .idx-list-btn li {
        max-width: 135px;
        margin-right: 10px;
    }
    .index05 .index05-fx .box-cnt .idx-list-btn li a {
        font-size: 3.5vw;
    }
    .index05 .index05-fx .box-cnt .idx-list-btn li a:before {
        right: 0.5em;
    }
}


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