@media screen and (min-width: 751px) {
    .sp {
        display: none !important;
    }
    .to-top:hover {
        background: #fff;
    }
    .to-top:hover::before {
        border-top: solid 2px #2c5cca;
        border-right: solid 2px #2c5cca;
    }
    .idx_ls_btn li a:hover {
        background: transparent !important;
        color: #032269;
    }
    .idx_ls_btn li a:hover:after {
        width: 100%;
        left: 0;
        background: #fff !important;
    }
    .idx_ls_info_service li a:hover::after {
        width: 100%;
        left: 0;
        background: #fff;
    }
    .idx_it_reason:hover,
    .mvs_bner_link:hover,
    .ft_btn_mail:hover,
    .ft_box_mail:hover,
    .idx_it_information:hover {
        transform: translateY(-5%);
        opacity: 0.8;
    }
    .ft_mn_box ul li a:hover,
    .navi_down_menu li a:hover,
    .idx_ls_news li a:hover {
        text-decoration: underline;
        color: #032269;
    }
    .idx_banner_reason:hover .bn_btn_reason::after {
        background-image: url(../images/idx_arr_yellow_reason.png);
        background-repeat: no-repeat;
        background-size: 17px;
        background-position: center;
    }
    .idx_banner_reason:hover .bn_btn_reason:before {
        width: 100%;
        left: 0;
        background: #fff;
    }
    .hd_mn li a:hover,
    .hd_mn li span:hover,
    .idx_ls_news li h3:hover {
        text-decoration: underline;
    }
    .idx_it_work {
        width: max-content;
    }
    .hd_bx_mail:hover,
    .idx_btn_scroll:hover,
    .idx_btn_scroll:hover::before,
    .idx_btn_scroll:hover span {
        opacity: 0.8;
    }
    .idx_info_work .slick-prev:hover {
        background: url(../images/idx_arr_lf_hv.png) no-repeat center;
        background-size: cover;
    }
    .idx_info_work .slick-next:hover {
        background: url(../images/idx_arr_rt_hv.png) no-repeat center;
        background-size: cover;
    }
    .idx_ls_btn li a:hover:before {
        background: url(../images/idx_arr_btn_hv.png) no-repeat center;
        background-size: cover;
    }
    .idx_ls_news li a:hover::before,
    .idx_it_work:hover,
    .navi_down_menu li a:hover::before {
        opacity: 0.8;
    }
    .box_banner_reason:hover {
        transform: translateY(-2%);
    }
    .idx_ls_btn li a:hover {
        background: none;
    }
    .idx_ls_btn li a:hover:after {
        width: 100%;
        left: 0;
        background: #032269;
    }
}


/* end screen-min:751px */

@media screen and (min-width: 1025px) {
    .idx_box_sub .ft_logo,
    .idx_box_sub .ft_txt,
    .idx_box_sub .hd_box_contact,
    .hd_box_mn .hd_box_phone {
        display: none;
    }
}

@media screen and (min-width: 751px) and (max-width: 1919px) {
    .idx_btn_scroll span::before {
        left: calc(50% - -2px);
    }
}

@media screen and (min-width: 751px) and (max-width: 1919px) {
    .idx_btn_scroll span::before {
        left: calc(50% - -2px);
    }
}

@media screen and (min-width: 751px) and (max-width: 1440px) {
    .idx_btn_scroll span::before {
        left: calc(50% - -1px);
    }
    .hd_containter {
        justify-content: space-between;
        padding: 0 0 0 10px;
    }
    .hd_box_mn {
        margin-right: auto;
    }
    .idx_h1 {
        font-size: 9px;
        left: 10px;
    }
    .hd_bx_mail .hd_txt {
        font-size: 16px;
    }
    .hd_bx_mail .hd_ttl {
        font-size: 12px;
        margin-bottom: 10px;
    }
    .hd_box_phone {
        width: 200px;
    }
    .hd_box_phone .hd_nb {
        font-size: 20px;
        background-size: 20px;
        background-position: 20px 7px;
    }
    .hd_row_txt .hd_txt {
        width: 54px;
    }
    .hd_mn li {
        margin-right: 15px;
    }
    .navi_down_menu {
        min-width: 260px;
        padding: 15px;
    }
    .navi_ttl {
        font-size: 14px;
    }
    .navi_down_menu ul {
        margin-bottom: 20px;
    }
    .navi_down_menu li a {
        font-size: 12px;
    }
    .mvs_bner_link {
        bottom: 30px;
        right: 10px;
    }
    .mvs_bner_link img {
        width: 240px;
    }
    .to-top {
        width: 60px;
        height: 60px;
        bottom: 60px;
    }
    .to-top:before {
        left: 24px;
        top: 26px;
    }
    .idx_info_work .slick-prev {
        width: 32px;
        height: 62px;
        left: -40px;
    }
    .idx_info_work .slick-next {
        width: 32px;
        height: 62px;
        right: -40px;
    }
    .idx_ls_mvs li p {
        width: 100vw;
    }
    .idx_ls_mvs li:nth-of-type(2) div,
    .idx_ls_mvs li:nth-of-type(3) div,
    .idx_ls_mvs li:nth-of-type(1) div {
        height: 100vh;
    }
    .idx_ls_mvs {
        max-width: 100%;
    }
    #silde_mvs {
        height: 100vh;
    }
    .idx_mvs {
        height: 100vh;
        padding: 0;
        display: flex;
        align-items: center;
    }
    .idx_h2 span {
        margin-bottom: 5px;
    }
    .idx_des_h2 {
        font-size: 18px;
        padding: 10px 20px;
    }
    .idx_h2 {
        font-size: 42px;
        width: 750px;
        margin-bottom: 10px;
    }
    .idx_des_h2 {
        font-size: 16px;
        padding: 6px 10px;
        margin-bottom: 10px;
    }
    .idx_btn_scroll {
        font-size: 10px;
        bottom: 7px;
    }
    .idx_btn_scroll::before {
        width: 12px;
        height: 19px;
        top: -24px;
    }
    .idx_btn_scroll span {
        top: -86px;
        height: 50px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1280px) {
    .hd_logo {
        width: 300px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1200px) {
    .hd_logo {
        width: 200px;
    }
    .hd_mn li a,
    .hd_mn li span {
        font-size: 12px;
    }
    .hd_box_mn {
        margin: 0 auto;
    }
    .hd_mn li {
        margin-right: 10px;
    }
    .hd_mn {
        margin-right: -30px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1024px) {
    .idx_btn_scroll span::before {
        left: calc(50% - -2px);
    }
    .hd_containter {
        background: #fff;
        padding: 10px 10px;
        z-index: 2150;
    }
    .idx_h1 {
        display: none;
    }
    .hd_logo,
    .hd_img_logo {
        padding: 0;
        position: relative;
        z-index: 1100;
    }
    .hd_img_logo.cus01 {
        display: none;
    }
    .hd_img_logo.cus02 {
        display: block;
    }
    .hd_box_mn {
        position: fixed;
        z-index: 1000;
        right: -120%;
        width: calc(100% + 1px);
        max-width: calc(100% + 1px);
        top: 65px;
        height: 150vh;
        overflow: auto;
        transition: all 0.3s ease-in;
        background: #EAEFFA;
        flex-direction: column;
        margin: 0;
        padding: 0px 15px 50px;
    }
    .idx_box_sub {
        overflow: auto;
        height: 90vh;
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .hd_mn {
        flex-direction: column;
        width: 100%;
        margin-bottom: 30px;
        height: auto;
    }
    .hd_mn li {
        width: 100%;
        height: auto;
        margin: 0 0;
        border-bottom: 1px solid #000;
    }
    .hd_mn li:first-child {
        border-top: 1px solid #333;
    }
    .hd_mn li a,
    .hd_mn li span {
        color: #032269;
        font-size: 16px;
        padding: 15px 0 15px 5px;
        display: block;
        width: 100%;
        pointer-events: all;
    }
    .hd_mn li :last-child {
        border-bottom: none;
    }
    .hd_box_mn .ft_logo {
        margin: 0 auto 20px;
    }
    .hd_box_mn .ft_txt {
        text-align: center;
        margin-bottom: 20px;
    }
    .hd_box_contact {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    #header .ft_btn_mail {
        width: 290px;
        margin: 0 auto 20px;
        padding: 23px 0 22px;
        border-radius: 45px;
        background-size: auto;
        background-position: 0;
        background-image: none;
    }
    #header .ft_btn_mail span {
        display: inline-block;
        position: relative;
        padding-left: 30px;
        line-height: 1.2em;
    }
    #header .ft_btn_mail span::before {
        position: absolute;
        content: '';
        background: url(../images/idx_mail_ft.png) no-repeat center;
        background-size: cover;
        width: 20px;
        height: 17px;
        top: 54%;
        left: 0;
        transform: translateY(-50%);
    }
    #menu-toggle {
        display: block;
        width: 47px;
        height: 47px;
    }
    #menu-toggle span:nth-child(1) {
        top: 16px;
    }
    #menu-toggle span:nth-child(2),
    #menu-toggle span:nth-child(3) {
        top: 23px;
    }
    #menu-toggle span:nth-child(4) {
        top: 30px;
    }
    .hd_bx_contact {
        display: none;
    }
    .open-nav .hd_box_mn {
        right: -1px;
    }
    .hd_mn li a,
    .hd_mn li span {
        color: #032269;
        font-size: 16px;
        padding: 15px 0 15px 5px;
        display: block;
        width: 100%;
        pointer-events: all;
    }
    .hd_click::before {
        position: absolute;
        content: "";
        display: block;
        background-color: #032269;
        top: 0;
        bottom: 0;
        right: 0;
        width: 2px;
        height: 16px;
        margin: auto 27px auto 0;
    }
    .hd_click::after {
        content: "";
        display: block;
        background-color: #032269;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: 16px;
        height: 2px;
        margin: auto 20px auto 0;
    }
    .navi_down_menu {
        position: unset;
        top: 0;
        left: 0;
        transform: none;
        min-width: 100%;
        display: none;
        padding: 15px;
        box-sizing: border-box;
        flex-direction: column;
        padding-bottom: 0;
    }
    .navi_down_menu li a {
        padding-left: 30px;
        font-size: 14px !important;
    }
    .navi_down_menu li a::before {
        position: absolute;
        content: '';
        background: url(../images/idx_icon_mn.png) no-repeat center;
        background-size: cover;
        width: 17px;
        height: 17px;
        top: 20px;
        left: 0;
        display: inline-block;
    }
    .hd_mn li:nth-of-type(2) .navi_down_menu li:last-child {
        border-bottom: 1px solid #000;
    }
    .hd_click {
        position: relative;
        display: block;
    }
    .hd_click.open-dropdown::before {
        display: none;
    }
    .hd_mn li a:hover,
    .hd_mn li span:hover,
    .idx_ls_news li h3:hover {
        text-decoration: none;
    }
    #header .ft_btn_mail {
        width: 290px;
        margin: 0 auto 20px;
        padding: 23px 0 22px;
        border-radius: 45px;
        background-size: auto;
        background-position: 0;
        background-image: none;
    }
    .hd_box_contact {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .ft_btn_mail {
        width: 290px;
        margin: 0 auto 20px;
        padding: 23px 0 22px;
        border-radius: 45px;
        background-size: auto;
        background-position: 0;
        background-image: none;
    }
    .hd_box_contact.sp {
        display: block !important;
    }
    .hd_box_mn .hd_box_phone {
        margin: 0 auto 20px;
        padding-top: 0;
        background: #EAEFFA !important;
    }
    .under .hd_box_mn .hd_box_phone {
        background: #EAEFFA;
    }
}

@media screen and (max-width: 750px) {
    #wrapper {
        min-width: 100%;
    }
    img {
        max-width: 100%;
    }
    .inner {
        width: 100%;
        padding: 0 15px;
    }
    .pc {
        display: none !important;
    }
    #menu-toggle {
        display: block;
        width: 47px;
        height: 47px;
    }
    .hd_box_mn {
        position: fixed;
        z-index: 1000;
        right: -120%;
        width: calc(100% + 1px);
        max-width: calc(100% + 1px);
        top: 65px;
        height: 95vh;
        overflow: auto;
        transition: all 0.3s ease-in;
        background: #EAEFFA;
        flex-direction: column;
        margin: 0;
        padding: 0px 15px 50px;
    }
    .open-nav .hd_box_mn {
        right: -1px;
    }
    .hd_mn {
        flex-direction: column;
        width: 100%;
        margin-bottom: 30px;
        height: auto;
    }
    .hd_mn li:first-child {
        border-top: 1px solid #333;
    }
    .hd_mn li {
        width: 100%;
        height: auto;
        margin: 0 0;
        border-bottom: 1px solid #000;
    }
    .hd_mn li a,
    .hd_mn li span {
        color: #032269;
        font-size: 16px;
        padding: 15px 0 15px 5px;
        display: block;
        width: 100%;
        pointer-events: all;
    }
    .hd_click {
        position: relative;
        display: block;
    }
    .hd_click::before {
        position: absolute;
        content: "";
        display: block;
        background-color: #032269;
        top: 0;
        bottom: 0;
        right: 0;
        width: 2px;
        height: 16px;
        margin: auto 27px auto 0;
    }
    .hd_click::after {
        content: "";
        display: block;
        background-color: #032269;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: 16px;
        height: 2px;
        margin: auto 20px auto 0;
    }
    .hd_bx_contact {
        display: none;
    }
    .hd_containter {
        background: #fff;
        padding: 10px 10px;
        z-index: 2150;
    }
    .idx_h1 {
        display: none;
    }
    .hd_logo,
    .hd_img_logo {
        padding: 0;
        position: relative;
        z-index: 1100;
    }
    .idx_h2 {
        font-size: min(5vh, 36px) !important;
        margin-bottom: 20px;
    }
    .idx_h2 span {
        display: block;
        margin-bottom: 5px;
    }
    .idx_mvs {
        max-width: 100%;
        width: 100%;
        /* height: calc(95vh - 73px); */
        height: 100vh !important;
        position: relative;
        padding: 0 0;
        margin: 66px auto 50px;
        display: flex;
        align-items: center;
    }
    #menu-toggle span:nth-child(1) {
        top: 16px;
    }
    #menu-toggle span:nth-child(2),
    #menu-toggle span:nth-child(3) {
        top: 23px;
    }
    #menu-toggle span:nth-child(4) {
        top: 30px;
    }
    #silde_mvs .slick-slide img {
        height: auto;
        width: 100%;
    }
    .idx_h4 {
        font-size: 20px;
        padding-right: 3%;
        margin-right: 3%;
        padding-bottom: 0;
        display: flex;
        align-items: center;
    }
    .idx_des_h2 {
        font-size: 16px;
        padding: 4px 8px;
        margin-bottom: 10px;
    }
    .idx_des_mvs {
        font-size: min(3vh, 14px);
    }
    .idx_ls_news li {
        padding-top: 0;
        width: 100%;
        flex-wrap: wrap;
    }
    .idx_ls_news li::before {
        top: 50%;
        transform: translateY(-50%);
    }
    .idx_ls_news li::after {
        top: 50%;
        transform: translateY(-50%);
    }
    .idx_ls_news li {
        width: 80%;
        margin-top: 5px;
    }
    .idx_ls_news li a,
    .idx_ls_news li h3 {
        width: 100%;
    }
    .idx_h3 {
        font-size: 34px;
        margin-bottom: 10px;
        padding-left: 0;
        text-align: center;
    }
    .idx_topic_work li {
        padding-left: 30px;
        margin-right: 20px;
        font-size: 14px;
        width: auto;
        margin: 0 auto;
    }
    .idx_topic_work li:nth-of-type(1)::before {
        width: 16px;
        height: 14px;
        top: 5px;
        left: 0px;
    }
    .idx_topic_work,
    .idx_service .idx_topic_work,
    .idx_information .idx_topic_work {
        flex-direction: column;
        justify-content: center;
        margin-bottom: 10px;
        padding-left: 0;
    }
    .idx_box_news {
        width: 100%;
        max-width: 520px;
        margin: 0 auto 50px;
    }
    .idx_ls_news {
        width: 83%;
    }
    .idx_ls_news li span {
        font-size: 14px;
    }
    .mvs_bner_link {
        bottom: 0;
        right: 0;
        transform: none;
        width: 220px;
        position: unset;
        margin: 0 auto 50px;
    }
    .idx_h2 .idx_cus01 {
        margin-left: 0;
    }
    .idx_ls_mvs {
        left: 0;
        transform: none;
        max-width: 100%;
        width: 100%;
    }
    .idx_ls_mvs li:nth-of-type(1) div,
    .idx_ls_mvs li:nth-of-type(2) div,
    .idx_ls_mvs li:nth-of-type(3) div {
        width: 100%;
        /* height: calc(95vh - 73px); */
        height: 100vh !important;
    }
    .to-top {
        width: 50px;
        height: 50px;
        bottom: 90px;
        right: 10px;
    }
    .to-top:before {
        width: 11px;
        height: 11px;
        left: 19px;
        top: 21px;
    }
    .idx_info_work {
        width: 340px;
        margin: 0 auto 50px;
    }
    .idx_info_work .slick-prev {
        width: 36px;
        height: 46px;
        left: -47px;
    }
    .idx_info_work .slick-next {
        width: 36px;
        height: 46px;
        right: -47px;
    }
    .idx_box_work {
        margin-bottom: 70px;
    }
    .idx_reasoon,
    .idx_service {
        padding-top: 0;
        margin-bottom: 70px;
    }
    .idx_h5 {
        font-size: 24px;
        margin-bottom: 20px;
        text-align: center;
    }
    .idx_h5 span {
        margin-bottom: 5px;
    }
    .idx_txt_reason {
        margin-bottom: 100px;
    }
    .idx_ls_info_reason {
        padding-left: 30px;
        margin-bottom: 0;
        flex-direction: column;
    }
    .idx_it_reason {
        width: 100%;
        max-width: 360px;
        max-height: max-content;
        padding: 0 20px 30px;
        margin: 0 auto 100px;
    }
    .idx_it_reason:not(:last-child) {
        margin-right: auto;
    }
    .it_ttl_reason {
        font-size: 22px;
    }
    .it_nb_reason {
        font-size: 54px;
        top: -60px;
        right: 10px;
    }
    .idx_ls_info_reason .idx_it_reason:nth-child(3n+3),
    .idx_ls_info_reason .idx_it_reason:nth-child(3n+5) {
        margin-top: auto;
        margin-right: auto;
    }
    .idx_ls_info_reason .idx_it_reason:nth-child(3n+2),
    .idx_ls_info_reason .idx_it_reason:nth-child(3n+4) {
        margin-top: auto;
    }
    .box_banner_reason {
        padding: 35px 15px;
    }
    .idx_reasoon .idx_ls_btn {
        margin-bottom: 160px;
    }
    .img_bn_reason {
        top: -140px;
        right: 0;
        width: 320px;
        margin: 0;
    }
    .banner_resson_content {
        width: 100%;
    }
    .ttl_bn_reason {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .des_bn_reason {
        font-size: 13px;
    }
    .idx_service .idx_txt_reason,
    .idx_information .idx_txt_reason {
        width: 100%;
        margin: 0 auto 20px;
        font-size: 14px;
    }
    .idx_ls_info_service li {
        margin: 0 auto 30px !important;
    }
    .idx_ls_info_service li a {
        min-height: 60px;
        font-size: 16px;
    }
    .idx_service .idx_ls_btn li a {
        width: 340px;
        max-width: 90%;
        margin: 0 auto;
        font-size: 14px;
    }
    .idx_ls_btn li a::before {
        width: 25px;
        height: 8px;
        right: 15px;
    }
    .idx_ls_info_information {
        flex-direction: column;
        margin-bottom: 30px;
    }
    .idx_information {
        margin-bottom: 40px;
    }
    .idx_it_information,
    .idx_it_information:nth-child(n+3) {
        width: 100%;
        margin-bottom: 15px;
    }
    .box_info_information {
        width: 100%;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        flex-direction: unset;
        margin: 0 auto;
    }
    .idx_support_area {
        flex-direction: column-reverse;
        margin-bottom: 0;
        padding-top: 40px;
    }
    .idx_box_support {
        width: 100%;
        padding: 0;
    }
    .ttl_info_support {
        font-size: 18px;
        width: 360px;
        padding: 2px 0;
        margin: 0 auto 30px;
    }
    .txt_info_support {
        padding-left: 0;
        max-width: 100%;
        width: 440px;
        margin: 0 auto 30px;
    }
    .idx_box_support .idx_ls_btn {
        justify-content: center;
        margin: 0 auto 50px;
    }
    .txt_info_support.cus01 {
        padding-left: 0;
    }
    .idx_map_support_area {
        margin: 0 auto 30px;
        padding-top: 0;
    }
    .idx_box_company {
        width: 100%;
        padding-top: 0;
    }
    .idx_img_company {
        width: auto;
        position: unset;
    }
    .idx_company .idx_h3 {
        text-align: center;
    }
    .idx_topic_work li {
        margin: 0 auto 10px;
        text-align: center;
    }
    .idx_box_company::before {
        display: none;
    }
    .txt_info_company {
        padding: 0;
    }
    .idx_box_company .idx_ls_btn {
        padding: 0;
        justify-content: center;
        flex-direction: column;
    }
    .idx_company .idx_ls_btn li a,
    .idx_box_company .idx_ls_btn li:nth-of-type(3) a {
        width: 320px;
    }
    .idx_company .idx_ls_btn li,
    .idx_box_company .idx_ls_btn li:nth-of-type(3) {
        margin: 0 auto 30px;
    }
    .idx_company {
        margin-bottom: 100px;
    }
    .ft_container_contact {
        flex-direction: column;
        padding: 0;
        max-width: 400px;
        margin: 0 auto;
    }
    .ft_contact_l {
        width: 100%;
        margin-bottom: 30px;
    }
    .ft_contact {
        height: auto;
        padding: 50px 0;
        background: url(../images/idx_ft_bg_sp.png) no-repeat center;
        background-size: cover;
    }
    .ft_contact_r {
        width: 100%;
        padding: 0;
    }
    .ft_contact_l .idx_topic_work li {
        margin: 0 auto;
    }
    .ft_contact_l .txt_info_contact {
        width: 100%;
    }
    .ft_box_phone {
        width: 100%;
        margin: 0 auto 30px;
    }
    .ft_phone_nb {
        font-size: 36px;
        background-size: 24px;
        background-repeat: no-repeat;
        background-position: 0px center;
        width: max-content;
        padding-left: 35px;
        margin: 0 auto 10px;
    }
    .ft_phone_txt:nth-child(2) {
        margin-left: 0;
    }
    .ft_contact_l .idx_h3 {
        text-align: center;
    }
    .ft_phone_txt .ft_phone_des:nth-child(2),
    .ft_phone_txt .ft_phone_des:nth-child(1) {
        font-size: 14px;
    }
    .ft_box_mail {
        width: 100%;
        height: 70px;
        padding: 0;
        margin: 0 auto;
        align-items: center;
        justify-content: center;
    }
    .ft_mail_small {
        font-size: 16px;
        padding-left: 0;
    }
    .ft_mail_big {
        font-size: 16px;
        padding-left: 15px;
    }
    .ft_box_mn_info {
        width: max-content;
        margin: 0 auto;
    }
    .ft_mn_box {
        display: none;
    }
    #footer .ft_btn_mail {
        display: none;
    }
    .ft_box_menu {
        padding: 50px 0;
    }
    .ft_txt {
        margin-bottom: 0;
    }
    .ft_logo {
        margin-bottom: 20px;
    }
    .navi_down_menu {
        position: unset;
        top: 0;
        left: 0;
        transform: none;
        min-width: 100%;
        display: none;
        padding: 15px;
        box-sizing: border-box;
        flex-direction: column;
        padding-bottom: 0;
    }
    .navi_down_menu ul {
        margin-bottom: 15px;
    }
    .hd_mn li:nth-of-type(2) .navi_down_menu li:last-child {
        border-bottom: 1px solid #000;
    }
    .navi_down_menu li::before,
    .navi_down_menu li::after {
        display: none;
    }
    .navi_down_menu li a {
        padding-left: 30px;
        font-size: 14px !important;
    }
    .open-nav {
        overflow: hidden;
    }
    .idx_banner_reason::before {
        width: 120%;
        height: 1236px;
        top: -679px;
        background-position-x: -850px;
    }
    .idx_information::before {
        width: 120%;
        height: 98%;
        top: 65px;
    }
    .idx_reasoon::after {
        width: 120%;
        height: 936px;
        bottom: 617px;
        left: -20px;
    }
    .idx_reasoon::before {
        width: 120%;
        height: 624px;
        top: -150px;
        right: -20px;
    }
    .idx_box_work::before {
        width: 120%;
        height: 740px;
        top: 15px;
    }
    .idx_company .idx_topic_work li {
        margin: 0 auto;
        text-align: center;
    }
    .hd_img_logo.cus02 {
        display: block;
    }
    .hd_img_logo.cus01 {
        display: none;
    }
    .idx_btn_scroll {
        font-size: 10px;
        bottom: 7px;
    }
    .idx_btn_scroll::before {
        width: 10px;
        height: 17px;
        top: -20px;
    }
    .idx_btn_scroll span {
        top: -50px;
        height: 20px;
    }
    .hd_click.open-dropdown::before {
        display: none;
    }
    .open-nav #header {
        background: #fff;
        z-index: 2110;
    }
    .it_img_work {
        width: 100%;
    }
    .idx_it_information {
        max-width: 400px;
        margin: 0 auto 15px;
        flex-direction: column;
        padding: 15px;
    }
    .it_img_information {
        width: 100%;
        height: 260px;
        margin: 0 auto 15px;
    }
    .navi_down_menu li a::before {
        position: absolute;
        content: '';
        background: url(../images/idx_icon_mn.png) no-repeat center;
        background-size: cover;
        width: 17px;
        height: 17px;
        top: 20px;
        left: 0;
        display: inline-block;
    }
    .ft_contact_l::before {
        display: none;
    }
    .ft_mail_big::before {
        width: 21px;
        height: 16px;
        top: 8px;
        left: -15px;
    }
    .ft_mn_box::before,
    .ft_mn_box:nth-of-type(3)::before,
    .ft_mn_box:last-child::before {
        display: none;
    }
    .ft_mail_small::before {
        width: 14px;
        height: 12px;
        right: calc(50% - 87px);
    }
    .ft_mail_small::after {
        width: 14px;
        height: 12px;
    }
    .hd_box_contact {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    #header .ft_box_mail {
        max-width: 290px;
        margin: 0 auto;
    }
    #header .hd_box_contact.sp {
        margin-bottom: 80px;
    }
    #header .ft_btn_mail {
        width: 290px;
        margin: 0 auto;
        padding: 23px 0 22px;
        border-radius: 45px;
        background-size: auto;
        background-position: 0;
        background-image: none;
    }
    #header .ft_btn_mail span {
        display: inline-block;
        position: relative;
        padding-left: 30px;
        line-height: 1.2em;
    }
    #header .ft_btn_mail span::before {
        position: absolute;
        content: '';
        background: url(../images/idx_mail_ft.png) no-repeat center;
        background-size: cover;
        width: 20px;
        height: 17px;
        top: 54%;
        left: 0;
        transform: translateY(-50%);
    }
    .mvs_content {
        margin-top: -40px;
    }
    .idx_ls_info_service {
        max-width: 640px;
        margin: 0 auto 40px;
    }
    .idx_reasoon .idx_topic_work,
    .idx_box_support .idx_topic_work {
        margin-bottom: 20px;
    }
    .ft_contact_l .idx_topic_work {
        margin-bottom: 20px;
    }
    .navi_ttl,
    #header.show .navi_down_menu ul li a {
        font-size: 15px;
    }
    .ttl_it_des {
        width: 100%;
    }
    .ttl_it_date,
    .ttl_it_infformation {
        margin-bottom: 15px;
        width: 50%;
        margin: 0 0 10px;
        text-align: center;
    }
    .ttl_it_infformation {
        padding: 8px 10px;
    }
    .fx_box_contact {
        width: 100%;
        position: fixed;
        bottom: 0;
        transform: translateY(100%);
        transition: all .3s linear;
        display: flex;
        justify-content: space-between;
        z-index: 50;
    }
    .fx_box_contact.fixed {
        transform: translateY(0%);
    }
    .fx_box_contact .fx_btn {
        width: 50%;
        background: #ff9505;
        color: #fff;
        font-size: 14px;
        text-shadow: 1px 0px 2px rgb(0 0 0 / 28%);
        height: 80px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        flex-direction: column;
    }
    .fx_box_contact .fx_btn .fx_box_txt {
        display: inline-block;
        position: relative;
        padding-left: 25px;
        margin-bottom: 5px;
    }
    .fx_box_contact .fx_btn:nth-of-type(1) .fx_box_txt::before {
        position: absolute;
        content: '';
        background: url(../images/idx_phone_white.png) no-repeat center;
        background-size: cover;
        width: 18px;
        height: 18px;
        top: 2px;
        left: 0;
    }
    .fx_box_contact .fx_btn:nth-of-type(2) span::before {
        position: absolute;
        content: '';
        background: url(../images/idx_mail_ft.png) no-repeat center;
        background-size: cover;
        width: 20px;
        height: 14px;
        top: 4px;
        left: 0;
    }
    #footer address {
        line-height: 1.5em;
        margin-bottom: 80px;
    }
    .idx_ls_news li a::before {
        width: 17px;
        height: 18px;
        top: 1px;
    }
    .fx_box_contact .fx_btn:nth-of-type(2) {
        background: #032269;
    }
    .ft_phone_nb::before {
        width: 22px;
        height: 22px;
        top: 10px;
        left: 0;
    }
    .idx_box_sub {
        overflow: auto;
        height: auto;
        width: 100%;
        display: flex;
        flex-direction: column;
        padding-bottom: 50px;
    }
    .idx_information .idx_topic_work {
        margin-bottom: 0 !important;
    }
    .idx_company .idx_topic_work {
        margin-bottom: 20px;
    }
    .idx_banner_reason a {
        height: 100%;
        top: 0;
    }
    .hd_mn li :last-child {
        border-bottom: none;
    }
    .idx_information .idx_txt_reason {
        margin-bottom: 25px !important;
    }
    .hd_box_mn .ft_logo {
        margin: 0 auto 20px;
    }
    .hd_box_mn .ft_txt {
        text-align: center;
        margin-bottom: 20px;
    }
    .fx_box_contact .fx_box_col {
        display: flex;
        flex-direction: column;
        padding: 0;
    }
    .fx_box_contact .fx_box_col .fx_box_contact .fx_btn span {
        padding: 0;
    }
    .fx_box_contact .fx_box_col .fx_box_contact .fx_btn span {
        padding: 0;
    }
    .fx_box_col .hd_row_txt {
        padding: 0;
    }
    .fx_box_col .hd_row_txt:last-child {
        margin-right: 0;
    }
    .fx_box_col .hd_row_txt .hd_txt {
        color: #fff;
        border: 1px solid #fff;
    }
    .fx_box_col .hd_row_txt .hd_des {
        color: #fff;
    }
    .fx_box_contact .fx_btn:nth-of-type(1) .fx_box_txt {
        font-size: 16px;
    }
    .hd_box_mn .hd_box_phone {
        margin: 0 auto 20px;
        padding-top: 0;
        background: #EAEFFA !important;
    }
    .idx_ls_btn li a {
        min-width: 290px;
    }
    .idx_ls_mvs li:nth-of-type(1) div, .idx_ls_mvs li:nth-of-type(2) div,.idx_ls_mvs li:nth-of-type(3) div {
        background: url(../images/mvs_img_02_sp.webp) no-repeat center;
        background-size: cover;
    }

    .idx_it_work {
        width: 100%;
        max-width: 260px;
    }
}

@media screen and (max-width: 640px) {
    .idx_ls_info_service {
        max-width: 100%;
        margin: 0 auto 30px;
    }
}

@media screen and (max-width: 560px) {
    .idx_box_news {
        max-width: 100%;
    }
    .idx_ls_news li {
        width: 100%;
    }
    .ttl_bn_reason {
        font-size: 20px;
        z-index: 0;
    }
    .img_bn_reason {
        top: -86px;
        width: 230px;
    }
    .bn_btn_reason {
        width: 40px;
        height: 40px;
        top: auto;
        right: 0;
        bottom: -20px;
    }
    .bn_btn_reason::after {
        width: 12px;
        height: 22px;
        top: 9px;
        left: 14px;
    }
    .des_bn_reason {
        padding-right: 40px;
    }
    .idx_it_information {
        max-width: 384px;
    }
}

@media screen and (max-width: 475px) {
    .sp475 {
        display: inherit;
    }

    .idx_h4 {
        font-size: 18px;
    }
    .idx_mvs {
        height: calc(95vh - 73px);
    }
    .idx_ls_mvs li:nth-of-type(1) div,
    .idx_ls_mvs li:nth-of-type(2) div,
    .idx_ls_mvs li:nth-of-type(3) div {
        height: calc(95vh - 73px);
    }
    .idx_h5 {
        font-size: 18px;
    }
    .it_img_reason {
        margin: -20px 0px 15px -20px;
    }
    .idx_info_work {
        width: 320px;
        margin: 0 auto 30px;
    }
    .idx_it_work {
        margin: 0 15px;
    }
    .idx_info_work .slick-prev {
        width: 36px;
        height: 36px;
        left: -25px;
    }
    .idx_info_work .slick-next {
        width: 36px;
        height: 36px;
        right: -25px;
    }
    .idx_it_work {
        min-height: 270px;
    }
    .it_ttl_reason {
        font-size: 20px;
    }
    .idx_it_reason {
        padding: 0 10px 10px;
        max-width: 300px;
    }
    .idx_it_reason::before {
        width: 226px;
        height: 198px;
        top: -30px;
        left: -20px;
    }
    .it_nb_reason {
        font-size: 44px;
        top: -52px;
    }
    .idx_it_reason:last-child {
        margin-bottom: 50px;
    }
    .idx_company .idx_h3 {
        font-size: 26px;
    }
    .idx_box_company {
        width: 100%;
    }
    .idx_box_work::before {
        height: 650px;
    }
    .idx_reasoon::before {
        height: 434px;
        top: -200px;
    }
    .idx_reasoon::after {
        height: 626px;
    }
    .idx_information::before {
        height: 100%;
    }
    .idx_ls_info_reason {
        padding-left: 20px;
    }
}

@media screen and (max-width: 425px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    button,
    textarea,
    select,
    p,
    blockquote,
    th,
    td,
    pre,
    address,
    li,
    dt,
    dd {
        font-size: 140%;
    }
    p {
        line-height: 1.8em;
    }
}

@media screen and (max-width: 414px) {
    .sp414 {
        display: inherit;
    }
    .idx_ls_news {
        width: 80%;
    }
    .ttl_info_support {
        width: 100%;
        margin: 0 auto 20px;
        font-size: 16px;
    }
    .ft_phone_txt {
        justify-content: flex-start;
        margin-bottom: 5px;
    }
    .ft_phone_txt .ft_phone_des:nth-child(2),
    .ft_phone_txt .ft_phone_des:nth-child(1) {
        font-size: 12px;
        width: 85px;
    }
    .ft_phone_nb {
        font-size: 30px;
    }
    .ft_phone_txt.cs_fs {
        flex-direction: column;
    }
    .idx_h3,
    .idx_topic_work,
    .idx_service .idx_topic_work,
    .idx_information .idx_topic_work,
    .idx_box_support .idx_topic_work,
    .idx_company .idx_ls_btn li,
    .idx_box_company .idx_ls_btn li:nth-of-type(3) {
        margin-bottom: 10px;
    }
    .idx_box_work,
    .idx_reasoon,
    .idx_service,
    .idx_company {
        margin-bottom: 50px;
    }
    .idx_reasoon .idx_topic_work,
    .idx_service .idx_txt_reason,
    .idx_information .idx_txt_reason,
    .idx_box_support .idx_ls_btn {
        margin-bottom: 10px;
    }
    .idx_txt_reason {
        margin-bottom: 80px;
    }
    .idx_reasoon .idx_ls_btn {
        margin-bottom: 120px;
    }
    .txt_info_support,
    .idx_ls_info_service {
        margin-bottom: 20px;
    }
    .idx_information {
        padding-top: 0;
        margin-bottom: 40px;
        padding-bottom: 10px;
    }
    .idx_information::before {
        top: 15px;
    }
    .idx_ls_info_information,
    .txt_info_company {
        margin-bottom: 30px;
    }
    .idx_support_area {
        padding-top: 10px;
        margin-bottom: 0;
    }
    .ft_box_menu {
        padding: 25px 0;
    }
    .idx_ls_info_service li {
        margin: 0 auto 15px !important;
    }
    .idx_btn_scroll {
        bottom: 5px;
    }
    .idx_btn_scroll::before {
        width: 10px;
        height: 16px;
        top: -20px;
    }
    .idx_btn_scroll span {
        top: -45px;
        height: 20px;
    }
    .idx_btn_scroll span::before {
        left: calc(50% - -2px);
    }
    .it_img_work {
        height: 170px;
    }
    .to-top {
        width: 40px;
        height: 40px;
    }
    .to-top:before {
        width: 11px;
        height: 11px;
        left: 13px;
        top: 16px;
    }
    .idx_ls_news li {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .idx_ls_news li span:nth-of-type(1) {
        order: 2;
    }
    .idx_ls_news li span:nth-of-type(2) {
        order: 1;
    }
    .idx_ls_news li {
        order: 3;
        width: 100%;
    }
    .ft_phone_nb::before {
        width: 20px;
        height: 20px;
        top: 9px;
    }
    .ft_box_mail {
        padding-left: 25px;
    }
    .idx_topic_work li {
        margin: 0 auto 5px;
    }
    .navi_down_menu li a::before {
        width: 14px;
        height: 14px;
        top: 21px;
    }
    .hd_img_logo.cus02 {
        width: 160px;
    }
    #menu-toggle {
        width: 39px;
        height: 39px;
        top: 8px;
    }
    #menu-toggle span:nth-child(1) {
        top: 13px;
    }
    #menu-toggle span:nth-child(2),
    #menu-toggle span:nth-child(3) {
        top: 19px;
    }
    #menu-toggle span:nth-child(4) {
        top: 25px;
    }
    .idx_mvs {
        height: calc(95vh - 59px);
        margin: 55px auto 50px;
    }
    .idx_ls_mvs li:nth-of-type(1) div,
    .idx_ls_mvs li:nth-of-type(2) div,
    .idx_ls_mvs li:nth-of-type(3) div {
        height: calc(95vh - 59px);
    }
    .hd_box_mn {
        top: 53px;
    }
}

@media screen and (max-width: 375px) {
    .sp375 {
        display: inherit;
    }
    .idx_info_work {
        width: 260px;
    }
    .it_txt {
        padding: 0 10px;
    }
    .ttl_it_des p {
        font-size: 12px;
    }
    .idx_topic_work li {
        padding-left: 10px;
        letter-spacing: 0.2em;
    }
    .idx_topic_work li:nth-of-type(1)::before {
        width: 16px;
        height: 12px;
        top: 4px;
        left: -12px;
    }
    .idx_company .idx_ls_btn li a,
    .idx_box_company .idx_ls_btn li:nth-of-type(3) a {
        width: 100%;
    }
    .txt_info_company {
        padding: 0;
    }
    .idx_h2 {
        font-size: 36px;
    }
    .ft_mail_big {
        font-size: 16px;
    }
    .ft_mail_big::before {
        width: 18px;
        height: 15px;
        top: 6px;
        left: -10px;
    }
    .navi_down_menu li a {
        padding-left: 25px;
    }
    .bn_btn_reason {
        width: 30px;
        height: 30px;
        right: 0;
        bottom: -20px;
    }
    .bn_btn_reason::after {
        width: 10px;
        height: 18px;
        top: 6px;
        left: 11px;
    }
    .ttl_bn_reason {
        margin-bottom: 10px;
    }
    .idx_company .idx_h3 {
        font-size: 22px;
    }
    .fx_box_contact .fx_btn {
        font-size: 12px;
    }
    .fx_box_contact .fx_btn .fx_box_txt {
        padding-left: 20px;
    }
    .fx_box_contact .fx_btn:nth-of-type(1) span::before {
        width: 15px;
        height: 15px;
    }
    .fx_box_contact .fx_btn:nth-of-type(2) span::before {
        width: 16px;
        height: 11px;
        top: 5px;
    }
    .idx_h4 {
        font-size: 16px;
    }
    .idx_ls_news li a {
        font-size: 14px;
    }
    .idx_ls_news li a::before {
        width: 16px;
        height: 16px;
        top: 0px;
    }
    .idx_btn_scroll span::before {
        left: calc(50% - -1px);
    }
    .ttl_it_infformation {
        padding: 8px 5px;
        font-size: 11px;
    }
    .idx_ls_news li {
        margin-right: 30px;
    }
    .fx_box_contact .fx_btn:nth-of-type(1) .fx_box_txt::before {
        width: 16px;
        height: 16px;
        top: 4px;
        left: -2px;
    }
    .open-nav .hd_box_mn {
        right: 0px;
    }
    .mvs_content {
        margin-top: 0px;
    }
}

@media screen and (max-width: 320px) {
    .sp320 {
        display: inherit;
    }
    .idx_it_reason::before {
        width: 226px;
        height: 180px;
        top: -31px;
        left: -11px;
    }
    .it_img_reason {
        margin: -25px -5px 15px -15px;
    }
    .it_nb_reason {
        font-size: 36px;
        top: -46px;
    }
    .des_bn_reason {
        width: 100%;
        padding: 0;
    }
    .idx_btn_scroll span::before {
        left: calc(50% - -2px);
    }
    .txt_info_support,
    .idx_information .idx_txt_reason {
        font-size: 13px;
    }
    .idx_ls_info_reason {
        padding-left: 11px;
    }
}
/* @media screen and (max-height: 750px) {
    .idx_mvs {
        height: calc(160vh - 73px);
    }
    .idx_ls_mvs li:nth-of-type(1) p,
    .idx_ls_mvs li:nth-of-type(2) p,
    .idx_ls_mvs li:nth-of-type(3) p {
        height: calc(160vh - 73px);
    }
} */
@media screen and (max-height: 600px) {
    .idx_mvs {
        height: calc(160vh - 73px);
        /* height: 100vh; */
    }
    .idx_ls_mvs li:nth-of-type(1) div,
    .idx_ls_mvs li:nth-of-type(2) div,
    .idx_ls_mvs li:nth-of-type(3) div {
        height: calc(160vh - 73px);
        /* height: 100vh; */
    }
    .idx_h2 {
        font-size: 26px;
    }
    .mvs_content {
        margin-top: -50px;
    }
}