@media only screen and (max-width: 768px) {
    .home_page .key {
        --height: calc(100vh - 60px);
        --max-height: 156vw;
        --min-height: 320px;
        font-size: 8px;
    }
    .home_page .key .key_text .item {
        padding: 10px;
        height: calc(100vh - 60px);
        max-height: 156vw;
        min-height: 320px;
    }
    .home_page .key .sub-main-ttl {
        font-size: 18px;
    }
    .home_page .key .key-fx {
        flex-direction: column;
        position: relative;
    }
    .idx-list-story li:nth-child(-n+3) {
        position: initial;
        left: initial
    }
    .box-left .idx-list-contact li {
        margin: 0 auto 10px !important;
        width: 100%;
    }
    .box-left .idx-list-contact li {
        width: calc(100% / 2 - 10px);
    }
    .box-left {
        margin-right: 0;
    }
    .box-left,
    .box-right {
        width: 100%;
    }
    .idx-ct-address {
        font-size: 13px;
    }
    .idx-box-ct-add {
        margin-top: 50px;
    }
    .idx-fx-ct-line {
        flex-direction: column;
        max-width: 500px;
        margin: 0 auto;
    }
    .box-right .idx-btn-line a {
        padding: 12px 5px;
        min-width: 190px;
        font-size: 20px;
        min-height: 60px;
    }
    .box-right .idx-btn-line a .ico img {
        width: 20px;
        height: auto
    }
    .box-left .idx-list-contact li a {
        min-width: 100%;
    }
    .home_page .key .key-fx .key-right .img01 img {
        position: relative;
        top: 0;
        height: 100%;
        object-fit: cover;
        object-position: right;
    }
    .home_page .key .key-fx:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background: url(../images/idx-ico-main.png) no-repeat center;
        background-size: cover;
        width: 77.755em;
        height: 77.755em;
    }
    .home_page .key .key-fx .sub-main-ttl {
        text-align: center;
    }
    .home_page .key .key-fx .key-left {
        width: 100%;
        margin-left: 0;
    }
    .home_page .key .key-fx .key-left:before {
        display: none;
    }
    .home_page .key .key-fx .key-left .key-img01 {
        justify-content: space-between;
        margin-left: -170px;
    }
    .home_page .key .key-fx .key-left .key-img01 .img01 {
        width: 325px;
        height: 255px;
        top: 5.563em;
        left: 4.5em;
    }
    .home_page .key .key-fx .key-left .key-img01 .img02 {
        width: 190px;
        height: 150px;
        right: -30px;
        top: 13.125em;
    }
    .home_page .key .key-fx .key-right {
        margin-top: 0;
    }
    .home_page .key .key-fx .key-right:before {
        display: none;
    }
    .home_page .key .key-fx .key-right .img01 {
        width: 183px;
        height: 152px;
        left: 64%;
    }
    .home_page .key .key-fx .key-right .img-fx-right {
        justify-content: center;
    }
    .home_page .key .key-fx .key-right .img-fx-right .img02 {
        width: 100px;
        height: 106px;
        margin-top: -140px;
        left: -10.437em;
    }
    .home_page .key .key-fx .key-right .img-fx-right .img03 {
        width: 172px;
        height: 148px;
        right: 60px;
        top: 0;
        margin-top: -90px;
    }
    .home_page .key .key-txt {
        margin-top: -60px;
        left: 0;
    }
    .home_page .key .key-txt .img-txt {
        width: 90%;
        margin: 0 auto 10px;
        max-width: 500px;
    }
    .idx-news {
        position: relative;
        right: 0;
        left: 0;
        bottom: 0;
        font-size: min(3.8vw, 18px);
        margin: -20px auto 0;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
        width: fit-content;
        max-width: 90%;
    }
    .idx-news .ttl-news {
        width: 100%;
    }
    .idx-news .idx-list-news li a {
        text-decoration: none;
        color: var(--clr1);
        flex-direction: column;
        display: flex;
    }
}

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

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

@media only screen and (max-width: 768px) {
    .home_page h3 {
        margin-bottom: 30px;
        font-size: calc(var(--ttl_size) - 2px);
    }
    .home_page h2 {
        font-size: min(10.4vw, 45px);
    }
    .home_page .idx-ttl-jp.sp {
        display: flex !important;
    }
    .home_page .idx-ttl-jp.sp:before {
        width: 30px;
    }
    .home_page .idx-ttl-jp.pc {
        display: none !important;
    }
}

@media only screen and (max-width: 768px) {
    .index03 h2 {
        font-size: 22px;
    }
    .index03 h2 span:before,
    .index03 h2 span:after {
        top: 1px;
    }
    .home_page .idx-ttl-jp:before {
        width: 2em;
    }
    .index0 {
        padding: 60px 0px 35px;
        background: url(../images/idx-bg-message-sp.png) no-repeat top center;
        background-size: cover;
    }
    .index0 .index0-fx {
        flex-direction: column;
        padding: 0;
    }
    .index0 .index0-fx .box-right {
        order: 1;
        width: 100%;
        right: 0;
        margin-top: 0;
    }
    .idx-list-story li .img .img-name .name {
        font-size: 18px;
    }
    .index0 .index0-fx .box-right .box-img {
        position: absolute;
        z-index: 1;
        width: min(66.133vw, 330px);
        height: 64vw;
        right: -125px;
        top: -2vw;
    }
    .index0-fx .box-right .idx-fx-img .box-img02 .bg {
        bottom: -0.3625em;
        right: 0.325em;
    }
    .index0-fx .box-right .idx-fx-img .box-img03 .bg {
        bottom: -0.325em;
        right: -0.3em;
    }
    .index05 .idx-fx-contact .box-img02 .img01 .bg-img {
        left: 0.375em;
        bottom: -0.325em;
    }
    .index05 .idx-fx-contact .box-img01 .img02 .bg-img {
        left: -0.325em;
        bottom: -0.325em;
    }
    .index0 .index0-fx .box-right .idx-fx-img .box-img02 {
        position: relative;
        z-index: 1;
        margin-top: -20px;
        left: -50px;
        width: min(40.533vw, 230px);
        height: auto;
        order: 2;
    }
    .index0 .index0-fx .box-right .idx-fx-img .box-img03 {
        width: min(33.067vw, 200px);
        height: auto;
        order: 1;
        top: -2.25em;
    }
    .index0 .index0-fx .box-left {
        order: 2;
        width: 100%;
        max-width: 100%;
        padding-top: 2em;
    }
    .index0 .index0-fx .box-left .idx-info-name .name {
        font-size: 1.56em;
    }
    .index02 {
        padding: 45px 0 100px;
    }
    .index02:before {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 95%);
    }
    .index02:after {
        font-size: min(16.533vw, 70px);
    }
    .index02 .idx-box-h2 {
        padding-right: 0;
    }
    .index02 .idx-box-h2:before {
        right: -60px;
        top: -21.333vw;
        background: url(../images/idx-bg-ttl-story.png) no-repeat center;
        background-size: contain;
        width: min(73.6vw, 350px);
        height: min(58.133vw, 300px);
        z-index: -1;
    }
    .index02 .idx-box-h2 h2 {
        font-size: min(9.333vw, 45px);
    }
    .index02 .idx-box-h2 .idx-ttl-jp {
        font-size: 10px;
    }
    .index02 .idx-box-h2 .idx-ttl-jp:before {
        width: 20px;
    }
    .index03 h2 span:before,
    .index03 h2 span:after {
        width: 20px;
    }
    .index03 h2 span:before {
        margin-right: 10px;
    }
    .index03 h2 span:after {
        margin-left: 10px;
    }
    .index03 .idx-list-job {
        flex-wrap: wrap;
        max-width: 500px;
        margin: 30px auto 0;
    }
    .index03 .idx-list-job li {
        width: calc(50% - 9px);
        margin-right: 18px;
        margin-bottom: 15px;
    }
    .index03 .idx-list-job li:nth-child(2n) {
        margin-right: 0;
    }
    .index03 .idx-list-job li .img {
        margin-bottom: 10px;
    }
    .index04 .idx-fx-ideal .box-img .idx-list-ideal li .img {
        height: auto
    }
    .index03 .idx-list-job li .img .sub-img {
        font-size: 16px;
        bottom: 10px;
        padding: 0 5px;
    }
    .index03 .idx-list-job li .img .sub-img:after {
        width: 11px;
        height: 11px;
        top: -0.225em;
    }
    .index03 .idx-list-job li .ttl {
        font-size: 13px;
    }
    .index04 {
        margin-top: 2em;
        padding-top: 6.25em;
        padding-bottom: 40px;
        border-bottom-left-radius: 40px;
        border-bottom-right-radius: 40px;
        position: relative;
        z-index: 1;
    }
    .index04 .idx-ttl-jp {
        margin-bottom: 10px;
    }
    .index04 .idx-fx-ideal {
        flex-direction: column;
        right: 0;
        width: calc(100% + 20px);
    }
    .index04 .idx-fx-ideal:before {
        right: 0;
        top: 1.875em;
        width: 100%;
        height: 100%;
    }
    .index04 .idx-fx-ideal:after {
        right: 0px;
        bottom: -27px;
        width: 14em;
        height: 14em;
        opacity: 0.6;
    }
    .index04 .idx-fx-ideal .box-cnt {
        width: 100%;
        margin-right: 0;
        padding-left: 20px;
    }
    .index04 .idx-fx-ideal .box-cnt h3 {
        font-size: min(4.8vw, 21px);
    }
    .index04 .idx-fx-ideal .box-img {
        width: 100%;
        padding: 0 min(5.333vw, 20px);
    }
    .index04 .idx-fx-ideal .box-img .idx-list-ideal {
        flex-direction: column;
        max-width: 500px;
        margin: 0 auto;
    }
    .index04 .idx-fx-ideal .box-img .idx-list-ideal li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
        max-width: 100%;
        border-radius: 10px;
        overflow: hidden;
    }
    .index04 .idx-fx-ideal .box-img .idx-list-ideal li .img img {
        width: 100%;
        min-height: 100px;
        object-fit: cover;
    }
    .index04 .idx-fx-ideal .box-img .idx-list-ideal li .img .ttl-img {
        text-align: left;
        left: min(6vw, 30px);
        right: initial;
        top: 0;
        font-size: min(4.8vw, 20px);
    }
    .index04 .idx-fx-ideal .box-img .idx-list-ideal li .img .sub-img {
        bottom: 10px;
        right: min(4vw, 10px);
        font-size: 0.875em;
        min-width: min(22.667vw, 85px);
    }
    .index04 .idx-box-occup {
        margin: 70px auto 0;
    }
    .index04 .idx-box-occup .idx-fx-tab {
        flex-direction: column;
    }
    .index04 .idx-box-occup .idx-fx-tab .box-img {
        width: 100%;
        flex-shrink: 0;
        margin-right: 0;
        margin-top: 0;
        text-align: center;
        margin-bottom: 20px;
    }
    .index04 .idx-box-occup .idx-ttl-jp {
        margin-bottom: 20px;
    }
    .TabContainer .TabPager {
        margin-bottom: 1.25em;
    }
    .TabContainer .TabPager li {
        padding: 0.1em 0.5em;
    }
    .TabContainer .TabPager li.active:before {
        bottom: -0.51em;
        border-left: 0.55em solid transparent;
        border-right: 0.55em solid transparent;
        border-top: 0.55em solid var(--clr2);
    }
    .TabContainer .TabPager li p {
        line-height: 1.5em;
    }
    .index05 .idx-fx-contact {
        display: flex;
        flex-direction: column;
        position: relative;
    }
    .index05 .idx-fx-contact .box-img01 {
        order: 2;
        position: absolute;
        left: 0;
        bottom: -110px;
    }
    .index05 .idx-fx-contact .box-img01 .img01 {
        display: none;
    }
    .index05 .idx-fx-contact .box-img01 .img02 {
        width: 178px;
        height: 156px;
        left: -2.25em;
        top: -11.0625em;
    }
    .index05 .idx-fx-contact .box-img02 {
        order: 3;
        position: absolute;
        right: -110px;
        bottom: -20px;
        z-index: 0;
    }
    .index05 .idx-fx-contact .box-img02 .img01 {
        width: 228px;
        height: 226px;
    }
    .index05 .idx-fx-contact .box-cnt {
        order: 1;
        width: 100%;
        margin-top: 10px;
        margin-left: 0;
    }
    .index05 .idx-fx-contact .box-cnt .txt {
        margin-bottom: 210px;
    }
    .index05 .idx-fx-contact .box-cnt .idx-btn-entry {
        max-width: 500px;
        margin: 0 auto;
    }
    .index05 .idx-fx-contact .box-cnt .idx-btn-entry a {
        min-height: 100px;
        font-size: 44px;
        padding: 0 30px 0 10px;
    }
    .index05 .idx-fx-contact .box-cnt .idx-btn-entry a:before {
        right: 15px;
    }
    .index05 .idx-fx-contact .box-cnt .idx-btn-entry a .ico img {
        width: 54px;
    }
    .idx-list-contact {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        max-width: 500px;
        margin: 30px auto 0;
    }
    .idx-list-contact li {
        width: calc(50% - 10px);
        margin-right: 10px;
        min-width: 162px;
        margin-bottom: 10px;
    }
    .idx-list-contact li a {
        font-size: 14px;
    }
    .box-left .idx-list-contact li:first-child a {
        font-size: 21px !important;
    }
    .idx-list-contact li:first-child {
        margin-right: 10px;
        margin-left: 0;
        flex-shrink: 0;
        min-width: auto;
    }
    .idx-list-contact li:first-child a {
        font-size: 16px;
    }
    .idx-list-contact li:last-child {
        margin-right: 0;
    }
    .idx-list-contact li a {
        font-size: 13px !important;
        min-height: 50px;
        text-align: left;
        line-height: 1.4em;
        max-width: 100%;
    }
    .idx-list-contact li a .ico {
        margin-right: 5px;
        width: 14px;
        position: relative;
        top: 2px;
        height: auto
    }
    .idx-list-contact li a .ico img {
        font-size: 0.5vw;
    }
    .idx-list-contact li a .ico-arr {
        right: 8px;
    }
    .idx-list-contact li a .ico-arr img {
        width: 11px;
        height: 11px;
    }
    .idx-story-fx {
        overflow-y: hidden;
        overflow-x: scroll;
        padding: 10px 0;
    }
    .idx-story-scroll {
        min-width: 2240px;
        display: flex;
    }
    .idx-story-scroll .idx-list-story {
        max-width: 100%;
        margin: 0;
        display: flex;
        flex-direction: row;
    }
    .idx-story-scroll .idx-list-story li {
        max-width: 300px;
        margin: 0 10px;
    }
    .idx-list-story {
        display: flex;
        max-width: 500px;
        margin: 0 auto 0;
        flex-direction: column;
    }
    .idx-list-story li {
        margin-right: 0;
        max-width: 100%;
        margin-top: 0 !important;
        margin-bottom: 30px;
    }
    .idx-list-story li:last-child {
        margin-bottom: 0;
    }
    .idx-list-story li .img img {
        width: 100%;
    }
    .idx-list-story li .img .img-name {
        text-align: left;
        bottom: 10px;
        left: 20px;
    }
    .idx-list-story li .img .img-stt {
        bottom: 10px;
        right: 10px;
        font-size: 1.8em;
    }
    .idx-list-btn {
        flex-wrap: wrap;
    }
    .idx-list-btn li {
        width: calc(50% - 5px) !important;
        margin-right: 10px !important;
        margin-bottom: 10px !important;
    }
    .idx-list-btn li:nth-child(2n) {
        margin-right: 0 !important;
    }
    .index0-fx .box-left .idx-info-name .sub-name {
        margin-bottom: 0.575em;
    }
    .index03 {
        padding: 0;
    }
    .idx-list-btn li a {
        min-height: 50px;
        min-width: 100%;
        border: 1px solid #C6D1DD;
        line-height: 1.4em;
    }
    .idx-btn a:before {
        right: 0.75em;
        width: 0.7625em;
        height: 0.7625em;
    }
    .index07 {
        padding: 60px 0px 55px;
    }
    .index07 .content {
        flex-direction: column;
        align-items: center;
    }
    .index07 .content .box {
        margin-bottom: 5px;
        width: 100%;
        padding: 40px 5%;
        max-width: 680px;
    }
    .index07 .content .btn-group {
        max-width: 150px;
        width: 44%;
    }
    .index07 .content li {
        max-width: 100%;
    }
    .index07 .content li a {
        padding: 20px 0;
    }
    .index07 .content li a .date {
        width: 7em;
    }
    .index07 .content li a .title {
        width: calc(100% - 7em);
    }
    .idx-news .idx-list-news li a .ttl {
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

@media only screen and (min-width: 639px) and (max-width: 768px) {
    .index05 .idx-fx-contact .box-cnt .txt {
        margin-bottom: 90px;
    }
}

@media only screen and (max-width: 530px) {
    .index05 .idx-fx-contact .box-cnt .txt {
        margin-bottom: 210px;
    }
}

@media only screen and (max-width: 425px) {
    .box-left .idx-list-contact {
        flex-direction: column;
    }
    .box-left .idx-list-contact li {
        width: 100%;
        margin: 0 auto 10px !important;
    }
    .box-left .idx-list-contact li:last-child {
        margin-bottom: 0 !important;
    }
    .box-left .idx-list-contact li a .ico {
        width: 20px;
        height: auto;
        top: 1px;
    }
}

@media only screen and (max-width: 375px) {
    .index05 .idx-fx-contact .box-cnt .txt {
        margin-bottom: 210px;
    }
}

@media only screen and (min-width: 425px) and (max-width: 768px) {
    .TabContainer .TabPager li .title br.sp {
        display: none !important;
    }
}

@media only screen and (min-width: 1px) and (max-width: 360px) {
    .index04 .idx-box-occup .idx-fx-tab .box-cnt .idx-list-btn li a {
        font-size: 0.7em;
    }
    .idx-list-contact li {
        margin-right: 0 !important;
        min-width: 162px;
        margin-bottom: 10px;
        margin-left: 0 !important;
    }
    .fixed_banner ul li a {
        font-size: 10px;
    }
    .index05 .idx-fx-contact .box-cnt .txt {
        margin-bottom: 210px;
        font-size: 14px;
    }
    .index05 .idx-fx-contact .box-img02 {
        right: -150px;
    }
    .index05 .idx-fx-contact .box-img01 {
        left: -20px;
    }
    .index03 .idx-list-job li .img .sub-img {
        font-size: 15px;
    }
    .index0 .index0-fx .box-right .box-img {
        top: -1vw;
    }
    .idx-list-contact li {
        /* width: 100% !important; */
        margin-right: 0 !important;
        min-width: 205px;
        margin-bottom: 10px;
        margin-left: 0 !important;
    }
    .idx-list-contact li {
        min-width: 100% !important;
    }
}


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