/*-------------------- common --------------------*/

.idx_h2_tit{
    position: relative;
    background: -webkit-linear-gradient(left, rgba(69, 147, 208,1) 0%, rgba(69, 147, 208,0) 100%);
    background: linear-gradient(to right, rgba(69, 147, 208,1) 0%, rgba(69, 147, 208,0) 100%);
}

.idx_h2_tit:before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    right: 100%;
    background-color: #4593d0;

}

.idx_h2_tit h2{
    font-size: 4.5rem;
    font-weight: bold;
    color: #ffffff;
    padding: 38px 0 32px;
    line-height: 1;
}

.idx_inner_1000{
    width: 1000px;
    margin: 0 auto;
}
/*-------------------- mv --------------------*/

.idx_mv_box{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 550px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.idx_mv_txt{
    font-size: 0;
    display: inline-block;
}

.idx_mv_txt b{
    display: none;
    /*font-family:*/
    /*        "Helvetica Neue",*/
    /*        Helvetica,*/
    /*        "游ゴシック",*/
    /*        YuGothic,*/
    /*        "ヒラギノ角ゴ Pro",*/
    /*        "Hiragino Kaku Gothic Pro",*/
    /*        "メイリオ",*/
    /*        Meiryo,*/
    /*        sans-serif;*/
    font-size: 6rem;
    font-weight: bold;
    color: #fff;
    letter-spacing: -1px;
}

.idx_mv_tbox{
    display: inline-block;
    margin: 0 10px;
}

.idx_about_bg{
    background: url("../img/idx_about_cirle.png") no-repeat top -350px left -500px #fff;
}

.idx_about_box{
    padding:70px 70px 60px 70px;
    position: relative;
	overflow: hidden;
}

.idx_about_box .tu{
	position: absolute;
	right: -12%;
	bottom: -5%;
	width: 60%;
}
.idx_about_box .tu img{
	width: 100%;
	/* max-width: 678px; */
	display: inline-block;
	vertical-align: middle;
}


/*-------------------- about --------------------*/
.idx_about_inner{
	position: relative;
	z-index: 1;
}
.idx_about{
    background-color: #fff;
    margin-bottom: 100px;
}
.iai_tbox .p1{
    font-size: 3rem;
    font-weight: bold;
}
.iai_tbox .p2{
    font-size: 5rem;
    font-weight: bold;
	color: #91bd6d;
	margin: 5px 0;
}
.iai_tbox .p3{
    font-size: 2rem;
}
.iai_tbox a{
	text-align: center;
	text-decoration: none;
	background-color: #ed6c00;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	width: 260px;
	padding: 12px 0;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	margin-top: 25px;
}
.iai_tbox a::after{
	content: "";
	height: 9px;
	width: 14px;
	background: url(../img/idx_about_icon.png) no-repeat center;
	position: absolute;
	right: 20px;
    top: 50%;
    transform: translateY(-50%);
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.iai_tbox a:hover::after{
	right: 10px;
}
.iai_ibox{
    position: relative;
    z-index: 8;
    margin-top: 10px;
    flex: none;
}

.iai_img{
    max-width: 100%;
    display: block;
}


.iai_bg{
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9;
}


img.iai_sp{
    display: none;
}

/*-------------------- business --------------------*/

.idx_business{
    margin-bottom: 100px;
}

.idx_business h2{
    background: url("../img/idx_business_tit.png") no-repeat right center;
}

.idx_bwork{
    padding-top: 70px;
}

.idx_bwork>ul li{
    float: left;
    width: 400px;
    position: relative;
}

.idx_bwork>ul li img{
    display: block;
    max-width: 100%;
}

.idx_business_num{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 30px;
    height: 30px;
    background-color: #000;
    font-family: 'HelveticaNeueLTStd-Lt';
    font-size: 2rem;
    color: #ffffff;
    line-height: 1;
    padding-top: 7px;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.idx_business_hover{
    display: flex;
    display: -webkit-flex;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9;
    background-color: rgba(34, 34, 34,0.35);
    text-align: center;
    font-weight: bold;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    opacity: 1;
}

.idx_business_hover_hide,
.idx_business_hover_show{
    display: flex;
    display: -webkit-flex;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9;
    text-align: center;
    font-weight: bold;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    opacity: 1;
    padding: 0 10px;
}

.idx_business_hover_hide{
    font-size: 1.8rem;
    background-color: rgba(0, 0, 0, 0.35);
}

.idx_business_hover_show{
    opacity: 0;
    font-weight: bold;
    color: #222222;
    background-color: rgba(255, 255, 255, 0.85);
}

.idx_business_hover_show .idx_business_hstit{
    font-size: 2.6rem;
    line-height: 1.5;
}

.idx_business_hover_show .idx_business_hstxt{
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.6;
    margin-top: 22px;
}

.idx_bwork>ul{
    margin-top: 33px;
}

.idx_bbox{
    padding-top: 80px;
}
.idx_bwork>ul,
.idx_bmarket>ul{
    margin-left: auto;
    margin-right: auto;
}

.idx_bwork>ul li:hover .idx_business_hover_hide,
.idx_bmarket>ul li:hover:not(.idx_business_hover_none) .idx_business_hover_hide{
    opacity: 0;
}

.idx_bwork>ul li:hover .idx_business_hover_show,
.idx_bmarket>ul li:hover .idx_business_hover_show{
    opacity: 1;
}

.idx_bwork>ul li:hover .idx_business_num,
.idx_bmarket>ul li:hover:not(.idx_business_hover_none) .idx_business_num{
    opacity: 0;
}

.idx_bwork_tit{
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    padding: 40px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.idx_business_tbox{
    padding: 0 10px;
}
.idx_business_tbox>h3{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 5px;
}
.idx_business_tbox>h3 .s01{
    font-size: min(8vw, 55px);
    line-height: 1;
    color: #fff;
    text-align: center;
    word-break: break-word;
}
.idx_business_tbox>h3 .s01>b{
    font-size: min(7vw, 50px);
}
.idx_business_tbox>h3 .s02{
    font-size: min(5.5vw, 32px);
    color: #fff;
    text-align: center;
}


.idx_business_tbox p{
    font-size: 3.2rem;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
}

.idx_bwork_mt18{
    margin-top: 18px;
}

.idx_business_tbox img{
    display: block;
    margin: 0 auto;
    max-width: 100%;
}

.idx_bwork_mt10{
    margin-top: 10px;
}

.idx_bmarket>ul{
    margin-top: 33px;
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
}

.idx_bmarket>ul li{
    position: relative;
    width: 300px;
}

.idx_bmarket>ul li img{
    display: block;
    max-width: 100%;
}

.idx_bimg_sp{
    display: none !important;
}

/*-------------------- service --------------------*/

.idx_service{
    background-color: #fff;
    overflow: hidden;
    padding: 100px 0;
}

#swiper01{
    position: relative;
    left: calc((100% - 1200px)/2);
    overflow: hidden;
    margin: 70px 0 20px;
}

#swiper01 .swiper-slide{
    width: 317px !important;
}

#swiper01 .swiper-slide a:hover{
    opacity: 0.8;
}


.is_img{
    display: block;
    max-width: 100%;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid #004da0;
}

.is_box{
    display: block;
    color: #004da0;
    text-decoration: none;
}

.is_txt{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.66;
    margin-top: 24px;
}

.swiper01_btnbox{
    margin: auto 0 auto auto;
    width: 100px;
    height: 40px;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    justify-content: space-between;
}

.swiper01_btnbox>div{
    width: 40px;
    height: 40px;
    background-color: rgba(254,254,254,0.3);
    background-position: center center;
    background-repeat: no-repeat;
    cursor: pointer;
}

.swiper01_btnbox>div:hover{
    opacity: 0.8;
}

.swiper01_btnbox .swiper01-button-next{
    background-image: url("../img/idx_service_arrow_next.png");
}

.swiper01_btnbox .swiper01-button-prev{
    background-image: url("../img/idx_service_arrow_prev.png");
}


.swiper01_btnbox .swiper01-button-next,
.swiper01_btnbox .swiper01-button-prev{
    background-color: #ed6c00;
}

/*-------------------- performance --------------------*/

.idx_performance{
    padding: 100px 0;
}

.idx_performance_swiper{
    padding: 70px 100px 0;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.idx_performance_swiper .swiper-slide{
    cursor : pointer;
}

.idx_performance_swiper .swiper-slide .ip_ss_ibox{
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    background-color: #ffffff;
}

.idx_performance_swiper .swiper-slide .ip_ss_ibox::before{
    content: '';
    position: absolute;
    right: 15px;
    bottom: 15px;
    width: 34px;
    height: 34px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: url('../img/idx_magnifier01.png') no-repeat center center rgba(20,24,27,0.55);
    z-index: 1;
}


.ip_ss_tit{
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 5px;
}

.idx_performance_swiper #swiper02{
    overflow: hidden;
}

.ip_ss_box{
    position: relative;
}

.ip_ss_template{
    display: block;
    max-width: 100%;
}

.ip_ss_img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}

.swiper02_btnbox{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.swiper02_btnbox>div {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 39px;
    height: 59px;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 1;
}

.swiper02_btnbox .swiper02-button-next{
    background-image: url("../img/idx_performance_arrow_next.png");
    right: 0;
}

.swiper02_btnbox .swiper02-button-prev{
    background-image: url("../img/idx_performance_arrow_prev.png");
    left: 0;
}
.idx_performance_btn{
    text-align: center;
}

.idx_performance_btn a{
    display: inline-block;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.1;
    color: #222222;
    text-decoration: none;
    background-color: #ffffff;
    width: 345px;
    padding: 20px 20px 17px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
}

.idx_performance_btn a:hover{
    opacity: 0.8;
}

/*-------------------- major --------------------*/

.idx_major{
    background-color: #fff;
    overflow: hidden;
    padding: 100px 0;
}

.idx_major_list img{
    display: block;
    max-width: 100%;
}

.idx_major_list{
    margin-top: 70px;
    overflow: hidden;
}

.idx_major_list li{
    float: left;
    width: 307px;
    margin-right: 39px;
    margin-bottom: 35px;
    border: 2px solid #004da0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.idx_major_list li:nth-of-type(3n){
    margin-right: 0;
}

.idx_recruit_inner{
    background: url("../img/idx_recruit_cirle.png") no-repeat right -367px top -500px #ffffff;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
}

.iri_sp{
    display: none;
}

.iri_tbox,
.iri_ibox{
    width: 50%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.iri_ibox{
    padding-left: 5px;
}

.iri_ibinner{
    padding: 14px 88px 19px 0;
    font-size: 0;
    text-align: right;
    background: url("../img/idx_recruit_tit.png") no-repeat right 7px center/100% auto;
}
.idx_company-profile .idx_recruit_inner{
	background: url("../img/idx_company-profile-tit.png") no-repeat right 7px center/95% auto, url("../img/idx_recruit_cirle.png") no-repeat right -367px top -500px #ffffff;
}
.idx_company-profile .idx_recruit_inner .iri_ibinner{
	background: none;
}
.iri_tbox{
    padding-left: 100px;
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    justify-content: start;
    align-items: center;
}

.iri_tbox h2 {
    font-size: 4.5rem;
    font-weight: bold;
    color: #004da0;
    line-height: 1;
    margin: 12px 28px 12px 0;
}

.iri_tbox a{
    margin: 12px 30px 12px 0;
    flex: 0 0 262px;
    font-size: 2rem;
    line-height: 1.1;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    background: url("../img/idx_recruit_arrow.png") no-repeat right 26px center #ed6c00;
    padding: 19px 0 16px;
}

.iri_tbox a:hover{
    background-position: right 20px center;
}

.idx_recruit{
    padding: 100px 0;
}

/*-------------------- contact --------------------*/

.idx_contact{
    background-color: #fff;
}

.idx_contact_inner{
    background-color: #ffffff;
    padding: 100px 0;
}

.idx_contact_tit img{
    display: block;
    margin: 0 auto;
}

.idx_contact_img{
    font-size: 0;
    text-align: right;
}

.idx_contact_img img{
    display: inline-block;
}

.idx_contact_form{
    padding: 50px 60px;
    background-color: #ededed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.idx_contact_txt{
    margin-top: 40px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
    color: #3c3a4a;
}

.idx_contact_txt a{
    color: #3c3a4a;
    text-decoration: none;
}

.idx_contact_time{
    padding-left: 22px;
}
.idx_company-profile{
    margin: 100px 0 0;
}

.idx_pop_up{
    display: none;
}

.idx_pop_up img{
    max-width: 100%;
}

.idx_pop_up_inner{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-color: rgba(20,24,27,0.8);
    z-index: 9999;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: flex-start;

}

.idx_pop_up_ipos{
    width: 100%;
    height: 100%;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    overflow-x: hidden;
    overflow-y: auto;
}

.idx_pop_up_ibox{
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    max-width: 80vw;
}

.idx_pop_up_ipos.alc{
    align-items: center;
}

.idx_pop_close{
    position: absolute;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.55);
}

.idx_pop_close::before,
.idx_pop_close::after{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-color: #373737;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.idx_pop_close::before{
    width: 44px;
    height: 1px;
}

.idx_pop_close::after{
    width: 1px;
    height: 44px;
}

.overflow_hidden{
    overflow: hidden;
}

@media only screen and (max-width: 1300px) {
    /*-------------------- common --------------------*/
    .idx_inner_1000{
        width: 90%;
    }
    /*-------------------- mv --------------------*/

    .idx_mv_box {
        height: 500px;
        padding-top: 0;
    }

    /*-------------------- about --------------------*/
    .iai_bg {
        width: 500px;
    }

    /*-------------------- business --------------------*/

    .idx_business h2 {
        background: url(../img/idx_business_tit.png) no-repeat right center/500px auto;
    }

    .idx_bwork>ul li {
        width: 33.33%;
    }


    .idx_bmarket>ul li {
        width: 25%;
        max-width: 300px;
    }

    /*-------------------- service --------------------*/

    #swiper01 {
        left: 5%;
    }


    /*-------------------- major --------------------*/
    .idx_major_list li{
        width: 31%;
        margin-right: 3.5%;
    }

    /*-------------------- performance --------------------*/

    .idx_performance_swiper{
        padding: 70px 5% 0;
    }

    .swiper02_btnbox>div{
        width: 30px;
        background-size: 30px auto;
    }

    /*-------------------- recruit --------------------*/

    .iri_tbox{
        padding-left: 5%;
    }

}
@media only screen and (max-width: 1279px) {
	.idx_about_bg{
	    background: url("../img/idx_about_cirle.png") no-repeat left -600px top -350px #fff;
	}
	.iai_tbox .p3{
		width: 50%;
	}
}
@media only screen and (max-width: 1150px) {
	.idx_about_box .tu{
		/* bottom: 5%; */
	}
}
@media only screen and (max-width: 1024px) {
	.idx_about_br{
	    display: none;
	}
    .idx_business_hover{
        opacity: 1;
    }
	.idx_about_box .tu{
		right: -10%;
		bottom: -5%;
		width: 55%;
	}

    .idx_bwork>ul li .idx_business_hover_hide,
    .idx_bmarket>ul li:not(.idx_business_hover_none) .idx_business_hover_hide{
        opacity: 0;
    }

    .idx_bwork>ul li .idx_business_hover_show,
    .idx_bmarket>ul li .idx_business_hover_show{
        opacity: 1;
    }

    .idx_bwork>ul li .idx_business_num,
    .idx_bmarket>ul li .idx_business_num{
        opacity: 0;
    }

    .idx_business_hover_show .idx_business_hstit{
        font-size: 2.2rem;
    }

    .idx_business_hover_show .idx_business_hstxt {
        font-size: 1.6rem;
        margin-top: 20px;
    }

    .idx_bwork>ul li{
        width: calc((100% - 6px)/3);
        margin: 1px;
    }

    .idx_bmarket>ul li{
        width: calc((100% - 8px)/4);
        margin: 1px;
    }

    .idx_bwork{
        padding-top: 60px;
    }
    .idx_bbox{
        padding-top: 60px;
    }

    .idx_service{
        padding: 80px 0;
    }

    .idx_performance{
        padding: 80px 0;
    }
    .idx_performance_swiper{
        padding: 60px 5% 0;
    }
    #swiper01{
        margin: 60px 0 15px;
    }

    .idx_major{
        padding: 80px 0;
    }
    .idx_major_list{
        margin-top: 60px;
    }

    .idx_recruit{
        padding: 80px 0;
    }

    .idx_contact_inner{
        padding: 80px 0;
    }

}
@media only screen and (max-width: 1023px) {
    /*-------------------- common --------------------*/
    .idx_h2_tit h2{
        font-size: 3.5rem;
        padding: 30px 0 27px;
    }

    /*-------------------- mv --------------------*/
    .idx_mv_box {
        height: 450px;
    }
    .idx_mv_txt b{
        font-size: 5rem;
    }

    /*-------------------- about --------------------*/

    .idx_about_box {
        padding: 60px 20px 60px 50px;
    }
	.iai_tbox a{
		font-size: 1.8rem;
	}
    .iai_tbox .p1{
        font-size: 2.4rem;
    }
	.iai_tbox .p2{
		font-size: 4.5rem;
	}
	.iai_tbox .p3{
		font-size: 1.8rem;
	}
    .iai_ibox {
        flex: 0 0 260px;
    }

    .iai_bg {
        width: 420px;
    }

    /*-------------------- business --------------------*/

    .idx_business h2 {
        background: url(../img/idx_business_tit.png) no-repeat right center/420px auto;
    }

    .idx_business_tbox p {
        font-size: 2.8rem;
    }

    .idx_business_tbox img{
        width: 500px;
    }

    .idx_bwork_tit{
        padding: 20px;
    }

    .idx_business_num{
        font-size: 1.8rem;
    }

    .idx_bwork_mt18{
        margin-top: 15px;
    }

    .idx_bwork>ul {
        margin-top: 33px;
        max-width: 804px;
    }

    .idx_bwork>ul li {
        width: calc((100% - 4px)/2);
        margin: 1px;
    }

    .idx_bmarket>ul {
        margin-top: 33px;
        max-width: 604px;
    }

    .idx_bmarket>ul li {
        width: calc((100% - 4px)/2);
        margin: 1px;
    }

    /*-------------------- service --------------------*/

    #swiper01 .swiper-slide {
        width: 280px !important;
    }

    .is_txt{
        font-size: 1.6rem;
        margin-top: 20px;
    }

    .swiper02_btnbox>div {
        width: 25px;
        background-size: 25px auto;
    }

    .idx_performance_btn a {
        font-size: 1.8rem;
        width: 300px;
        padding: 18px 20px 15px;
    }

    /*-------------------- major --------------------*/

    .idx_major_list li {
        width: 32%;
        margin-right: 2%;
    }

    .idx_major_list li {
        margin-bottom: 20px;
    }

    /*-------------------- contact --------------------*/

    .idx_contact_tit img{
        width: 300px;
    }

    .idx_contact_img img{
        width: 200px;
    }

    .iri_tbox h2{
        font-size: 3.5rem;
    }

    .iri_tbox a {
        flex: 0 0 240px;
        font-size: 1.8rem;
    }

    .iri_ibinner {
        padding: 14px 50px 19px 0;
    }

    .idx_contact_form{
        padding: 40px 30px;
    }

    .idx_contact_txt{
        font-size: 1.8rem;
        margin-top: 30px;
    }
	.idx_company-profile{
	    margin: 60px 0 0;
	}

    .idx_pop_close{
        top: 2vw;
        right: 2vw;
        width: 5vw;
        height: 5vw;
    }

    .idx_pop_close::before{
        width: calc(5vw - 2px);
        height: 1px;
    }

    .idx_pop_close::after{
        width: 1px;
        height: calc(5vw - 2px);
    }

    /*-------------------- performance --------------------*/

    .ip_ss_tit{
        font-size: 1.6rem;
        margin-bottom: 3px;
    }

    .idx_performance_swiper .swiper-slide .ip_ss_ibox::before {
        right: 8px;
        bottom: 8px;
        width: 26px;
        height: 26px;
        background-size: 14px auto;
    }
}
@media only screen and (max-width: 768px) {
	.idx_about_bg{
	    background: url("../img/idx_about_cirle.png") no-repeat left -600px top -350px #fff;
	}

    .idx_about{
        margin-bottom: 80px;
    }

    .idx_bwork{
        padding-top: 50px;
    }
    .idx_bbox{
        padding-top: 50px;
    }

    .idx_business{
        margin-bottom: 80px;
    }

    .idx_service{
        padding: 60px 0;
    }

    .idx_performance{
        padding: 60px 0;
    }
    .idx_performance_swiper{
        padding: 50px 2.5% 0;
    }

    #swiper01{
        margin: 50px 0 10px;
    }

    .idx_major{
        padding: 60px 0;
    }

    .idx_recruit{
        padding: 60px 0;
    }

    .idx_contact_inner{
        padding: 60px 0;
    }

}
@media only screen and (max-width: 767px) {
    /*-------------------- common --------------------*/
    .idx_h2_tit h2 {
        font-size: 3rem;
        padding: 25px 0 22px;
    }

    .idx_inner_1000{
        width: 95%;
    }
    /*-------------------- mv --------------------*/
    .idx_mv_box {
        height: 430px;
    }

    .idx_mv_txt b {
        font-size: 4.5rem;
    }

    .idx_mv_br{
        display: block;
    }

    /*-------------------- about --------------------*/
	.idx_about_box .tu{
		position: relative;
		width: 100%;
		bottom: 0;
		right: -5%;
	}
	.iai_tbox .p3{
		width: 100%;
	}
    .idx_about_box {
        padding: 50px 20px 50px 40px;
    }
	.idx_about_inner .iai_tbox{
		width: 100%;
	}

    .iai_ibox {
        flex: none;
        width: 100%;
        margin-top: 30px;
        padding-top: 20px;
    }

    .iai_img{
        margin: 0 auto;
        width: 280px;
    }


    .iai_tbox .p1{
        font-size: 2.2rem;
    }
	.iai_tbox .p2{
		font-size: 3.5rem;
	}
    .iai_pc{
        display: none;
    }

    img.iai_sp{
        display: block;
        width: 350px;
    }

    .idx_bwork>ul {
        margin-top: 33px;
    }

    .idx_bmarket>ul{
        flex-wrap: wrap;
        justify-content: center;
    }

    .idx_about_bg {
        background: url(../img/idx_about_cirle.png) no-repeat top -248px left -330px/1000px auto #ffffff;
    }

    /*-------------------- business --------------------*/

    .idx_bwork_tit {
        width: 100% !important;
        padding: 42px 0 37px;
    }

    .idx_business h2 {
        background: url(../img/idx_business_tit.png) no-repeat right center/350px auto;
    }

    .idx_bimg_pc{
        display: none !important;
    }

    .idx_bimg_sp{
        display: block !important;
    }

    .idx_business_tbox p {
        font-size: 2.4rem;
    }

    .idx_business_tbox img{
        width: 400px;
    }

    .idx_business_hover_show .idx_business_hstit {
        font-size: 1.8rem;
    }

    .idx_business_hover_show .idx_business_hstxt {
        font-size: 1.4rem;
        margin-top: 15px;
    }

    .idx_business_hover_show br{
        display: none;
    }

    /*-------------------- service --------------------*/

    #swiper01 .swiper-slide {
        width: 240px !important;
    }

    .swiper01_btnbox{
        width: 80px;
    }

    .swiper01_btnbox>div {
        width: 34px;
        height: 34px;
    }

    /*-------------------- performance --------------------*/

    .swiper02_btnbox>div {
        padding: 5px;
        width: 18px;
        background-size: 18px auto;
        background-color: rgba(20,24,27,0.3);
    }

    .idx_performance_swiper .swiper-slide .ip_ss_ibox{
        padding: 5px;
    }

    .idx_performance_btn a {
        font-size: 1.6rem;
        width: 200px;
        padding: 15px 20px 12px;
    }

    /*-------------------- major --------------------*/

    .idx_recruit_inner {
        flex-direction: column;
        padding: 40px 0 40px;
        background: url("../img/idx_recruit_cirle.png") no-repeat right -400px top -500px/1200px #ffffff;
    }

    .iri_tbox, .iri_ibox{
        width: 100%;
    }

    .iri_ibinner {
        padding: 0;
        background: url("../img/idx_recruit_tit.png") no-repeat right 7px top 30px/400px auto;
        text-align: center;
    }

    .iri_tbox{
        justify-content: center;
    }

    .iri_ibox{
        padding-left: 0;
        margin-top: 30px;
    }

    .iri_tbox h2 {
        font-size: 3rem;
    }

    .iri_tbox a {
        flex: 0 0 200px;
    }

    /*-------------------- about --------------------*/

    .idx_contact_tit img {
        width: 260px;
    }

    .idx_contact_img img {
        width: 170px;
    }

    .idx_contact_txt{
        font-size: 1.6rem;
    }

    .idx_contact_form {
        padding: 40px 20px;
    }

    /*-------------------- recruit --------------------*/

    .iri_tbox a {
         padding: 17px 0 14px;
    }
	.idx_company-profile{
        margin: 40px 0 0;
    }
}

@media only screen and (max-width: 480px) {
    /*-------------------- common --------------------*/

    .idx_h2_tit h2 {
        font-size: 2.4rem;
        padding: 20px 0 17px;
    }

    .idx_inner_1000 {
        width: 100%;
    }

    /*-------------------- mv --------------------*/
    .idx_mv_box {
        height: 380px;
    }

    .idx_mv_txt b {
        font-size: 4rem;
    }

    .idx_mv_tbox {
        margin: 0 5px;
    }

    /*-------------------- about --------------------*/

    .idx_about_box {
        padding: 40px 20px 40px 30px;
    }

    .iai_tbox .p1{
        font-size: 2rem;
    }
	.iai_tbox .p2{
		font-size: 3rem;
	}
	.iai_tbox a{
		font-size: 1.4rem;
	}
    .iai_ibox {
        margin-top: 25px;
        padding-top: 10px;
    }

    img.iai_sp {
        width: 100%;
    }

    .iai_img {
        width: 220px;
    }

    .idx_about{
        margin-bottom: 60px;
    }

    .idx_about_bg {
        background: url(../img/idx_about_cirle.png) no-repeat top -212px left -310px/900px auto #ffffff;
    }

    /*-------------------- business --------------------*/

    .idx_business{
        margin-bottom: 60px;
    }

    .idx_business h2 {
        background: url(../img/idx_business_tit.png) no-repeat right center/80% auto;
    }

    .idx_business_num {
        font-size: 1.6rem;
    }

    .idx_business_hover_hide{
        font-size: 1.4rem;
    }

    .idx_bmarket>ul {
        margin-top: 25px;
    }

    .idx_business_tbox p {
        font-size: 2.2rem;
    }

    .idx_bwork_mt18 {
        margin-top: 12px;
    }

    .idx_bwork>ul {
        margin-top: 25px;
    }

    .idx_business_hover_show .idx_business_hstit{
        font-size: 1.6rem;
    }

    .idx_business_hover_show .idx_business_hstxt {
        font-size: 1.3rem;
        margin-top: 10px;
    }

    /*-------------------- service --------------------*/

    #swiper01{
        margin: 50px 0 5px;
    }

    #swiper01 .swiper-slide {
        width: 200px !important;
    }

    .is_txt {
        font-size: 1.4rem;
        margin-top: 15px;
    }

    .swiper01_btnbox>div {
        width: 30px;
        height: 30px;
    }

    .swiper01_btnbox div {
        background-size: 8px auto;
    }

    .swiper01_btnbox {
        width: 70px;
    }

    /*-------------------- performance --------------------*/

    .idx_performance_swiper{
        padding: 50px 0 0;
    }

    .swiper02_btnbox .swiper02-button-prev {
        left: -2.5%;
    }

    .swiper02_btnbox .swiper02-button-next {
        right: -2.5%;
    }

    .idx_performance_btn a {
        font-size: 1.4rem;
        width: 180px;
    }

    /*-------------------- major --------------------*/

    .idx_major_list{
        margin-top: 50px;
        text-align: center;
        font-size: 0;
    }

    .idx_major_list li {
        float: none;
        width: 49%;
        margin-right: 2% !important;
        margin-bottom: 15px;
        display: inline-block;
    }

    .idx_major_list li:nth-of-type(2n){
        margin-right: 0 !important;
    }

    /*-------------------- recruit --------------------*/

    .iri_tbox h2 {
        font-size: 2.4rem;
        margin: 10px 20px 10px 0;
    }

    .iri_tbox a {
        flex: 0 0 150px;
        font-size: 1.4rem;
        background: url("../img/idx_recruit_arrow.png") no-repeat right 15px center #ed6c00;
        background-size: 5px;
        padding: 12px 0 9px;
    }

    .idx_recruit_inner {
        flex-direction: column;
        padding: 30px 0 40px;
        background: url("../img/idx_recruit_cirle.png") no-repeat right -380px top -380px/1000px #ffffff;
    }

    .iri_ibinner {
        background: url("../img/idx_recruit_tit.png") no-repeat right 7px top 30px/80% auto;
    }

    /*-------------------- contact --------------------*/

    .idx_contact .idx_inner_1000 {
        width: 95%;
    }

    .idx_contact_tit img {
        width: 200px;
    }

    .idx_contact_img img {
        width: 120px;
    }

    .idx_contact_txt {
        font-size: 1.4rem;
        margin-top: 20px;
    }
	.idx_company-profile{
        margin: 30px 0 0;
    }
}

/*20211215*/
.mob_show{
    display: none;
}
@media only screen and (max-width: 767px) {
    .mob_show{
        display: block;
    }
    .pc_show{
        display: none;
    }
}