@charset "utf-8";
/***********************
全体
************************/
.page_lp{
	background: #ffffff;
}
.page_lp .contents_wrap{
	width: 80%;
	max-width: 1460px;
	margin: 0 auto;
}
.page_lp .contents_wrapper{
    margin-top: 68px;
}
.page_lp a{
    transition: all ease-in-out .3s;
}
.page_lp a:hover{
	opacity: 0.8;
}

/***色***/
.iot_solution_color{
	color: #23A2F9;
}
.iot_solution_bkcolor{
    background: #23A2F9;
}
.iot_solution_border_bottom_text{
	background: linear-gradient(
  transparent 60%,
  rgba(35, 162, 249, 0.38) 40%
);
}
.net_work_color{
	color: #FF5252;
}
.net_work_bkcolor{
	background: #FF5252;
}
.ai_color{
	color: #A473F0;
}
.ai_bkcolor{
	background: #A473F0;
}
.recruit_color{
	color: #7399F0;
}
.recruit_color02{
	color: #1E1D7D;
}
.recruit_bkcolor{
	background: #7399F0;
}

/***ボタン***/
.page_lp .more_btn_wrap{
	display: flex;
	justify-content: center;
}
.page_lp .more_btn{
    width: 340px;
    height: 60px;
    border-radius: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 3rem;
}

/***タイトル***/
.page_lp .lp_en_title01 {
    font-size: 3.8rem;
    font-weight: normal;
    text-align: center;
    margin-bottom: 20px;
    display: block;
}
.page_lp .lp_jp_m_title01 {
    text-align: center;
    font-size: 4rem;
    line-height: 1.4;
    margin-bottom: 0;
    display: flex;
    justify-content: center;
}
.page_lp .lp_jp_m_title02 {
    text-align: center;
    font-size: 5rem;
    line-height: 1.4;
    display: block;
}
.page_lp .lp_jp_m_title03 {
    text-align: center;
    font-size: 4.2rem;
    line-height: 1.4;
}
.contents_title_wrap{
	margin-bottom: 60px;
}

/***その他***/
.page_lp .pad_tb60{
	padding: 60px 0px;
}
.page_lp .pad_t60{
	padding: 60px 0px 0px;
}
.page_lp .pad_b60{
	padding: 0px 0px 60px;
}
.page_lp .pad_tb80{
	padding: 80px 0px;
}
.page_lp .pad_t80{
	padding: 80px 0px 0px;
}
.page_lp .pad_b80{
	padding: 0px 0px 80px;
}
.page_lp .pad_tb100{
	padding: 100px 0px;
}
.page_lp .pad_t100{
	padding: 100px 0px 0px;
}
.page_lp .pad_b100{
	padding: 0px 0px 100px;
}
.page_lp .mrg_b0{
	margin-bottom: 0px;
}
.page_lp .table01 > tbody > tr > th{
	color:#333333;
}

/***レスポンシブ***/
.sp_hidden_s{
	display: block;
}
.pc_hidden_s{
	display: none;
}
.sp_br{
		display: none;
	}

/***********************
ヘッダー
************************/
.page_lp header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
    background: #ffffff;
}
.page_lp .header::before{
	display: none;
}
.page_lp .headerInner{
    height: 100px;
    display: flex;
    align-items: center;
    padding: 0 40px;
}
.page_lp .headerInner .headerMenu {
	margin-top: 0;
	margin-right: 0px;
    }
.page_lp .headerInner .headerMenu .navbar-nav{
    display: flex;
    align-items: center;
}
.page_lp .headerInner .headerMenu .navbar-nav li{
    margin-right: 50px;
}
.page_lp .headerInner .headerMenu .navbar-nav li:last-child{
	margin-right: 0px;
}
.page_lp .headerInner .headerMenu .contact_btn img{
    width: 20px;
    margin-right: 5px;
    margin-top: 2px;
}
.page_lp .headerInner .headerMenu .contact_btn {
    background: #333333;
    color: #ffffff;
    display: flex;
    border-radius: 50px;
    align-items: center;
    justify-content: center;
    padding: 10px 30px;
}   

/***********************
メインビジュアル
************************/
#iot_solution #lp_mv{
    background: url(../images/iot_solution_mv_bk.jpg);
    background-size: cover;
    background-position: center;
    padding: 100px 0px;
}
#net_work #lp_mv{
    background: url(../images/net_work_mv_bk.jpg);
    background-size: cover;
    background-position: center;
    padding: 100px 0px;
}
#ai #lp_mv{
    background: url(../images/ai_mv_bk.jpg);
    background-size: cover;
    background-position: center;
    padding: 100px 0px;
}
.page_lp #lp_mv .flexbox {
    display: flex;
    justify-content: center;
}
.page_lp #lp_mv .flexbox .leftbox{
    width: calc(100% - 440px);
}
.page_lp #lp_mv .flexbox .leftbox .text01{
    color: #ffffff;
    font-size: 3rem;
}
.page_lp #lp_mv .flexbox .leftbox h2 {
    color: #ffffff;
    font-size: 5.4rem;
}
.page_lp #lp_mv .flexbox .rightbox{
    width: 440px;
}
.lp_mv_contact {
    width: 440px;
    background: #ffffff;
    border-radius: 33px;
    padding: 40px 5%;
}
#net_work #lp_mv .flexbox .leftbox .bottom_img img{
    margin-top: 40px;
	max-width: 560px;
}
#ai #lp_mv .flexbox .leftbox .bottom_img img{
    margin-top: 40px;
	max-width: 700px;
}

/***********************
資料ダウンロードフォーム
************************/
.page_lp .lp_mv_contact .text01 {
    border: none;
    background: #EDEDED;
    height: 50px;
    width: 100%;
    border-radius: 3px;
    padding: 5px 20px;
}
.page_lp .lp_mv_contact .contact_contents .title{
    display: flex;
    align-items: center;
}
.page_lp .lp_mv_contact .contact_contents{
    margin-bottom: 20px;
}
.page_lp .lp_mv_contact .contact_contents .title_text{
    display: flex;
    align-items: center;
    margin-bottom: 5px;
	font-weight: bold;
}
.page_lp .lp_mv_contact .contact_contents .required{
    background: #FE0012;
    color: #ffffff;
    font-size: 1rem;
    padding: 2px 5px;
    margin-left: 5px;
}
.page_lp .lp_mv_contact .privacy_policy p{
    text-align: center;
	margin-bottom: 0px;
}
.page_lp .lp_mv_contact .privacy_policy .s_text{
    font-size: 1.2rem;
	margin-bottom: 10px;
}
.page_lp .lp_mv_contact .privacy_policy .s_text a{
    border-bottom:solid 1px;
}
.page_lp .lp_mv_contact .down_lord_btn_wrap .wpcf7-submit {
    background: #333333;
    width: 100%;
    height: 60px;
    color: #ffffff;
    border-radius: 60px;
    box-shadow: 2px 2px 4px gray;
    font-size: 2rem;
}
.page_lp .lp_mv_contact .down_lord_btn_wrap{
    position: relative;
	margin-top: 20px;
}
.page_lp .lp_mv_contact .down_lord_btn_wrap:hover{
	opacity: 0.8;
}
.page_lp .lp_mv_contact .down_lord_btn_wrap:before {
    content: '無料';
    width: 50px;
    height: 50px;
    background: #ffffff;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    margin-left: 7px;
    border-radius: 60px;
    text-align: center;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
}
.page_lp .lp_mv_contact .down_lord_btn_wrap:after {
    content: '';
    display: inline-block;
    width: 30px;
    height: 25px;
    background-image: url(../images/down_lord_icon.png);
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    margin-right: 26px;
}

/***********************
Point
************************/
.page_lp .point .point_item_wrap{
    display: flex;
    justify-content: space-between;
}
.page_lp .point .point_item_wrap .point_item{
    width: 32%;
}
.page_lp .point .point_item_wrap .point_item h4 {
    position: relative;
    color: #ffffff;
    text-align: center;
    padding: 10px;
    font-size: 2.1rem;
    line-height: 1.4;
}
#iot_solution.page_lp .point .point_item_wrap .point_item h4::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -17px;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 18px solid #23A2F9;
}
#net_work.page_lp .point .point_item_wrap .point_item h4::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -17px;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 18px solid #FF5252;
}
#ai.page_lp .point .point_item_wrap .point_item h4::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -17px;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 18px solid #A473F0;
}
.page_lp .point .point_item_wrap .point_item .image{
    display: flex;
    justify-content: center;
}
.page_lp .point .point_item_wrap .point_item .image img{
    height:200px;
    margin: 30px auto 20px auto;
}
.page_lp .point .point_item_wrap .point_item .point_text{
    padding: 0 20px 20px;
}

/***********************
CONTACT
************************/
#iot_solution .contact{
    background: rgb(35, 162, 249, 0.1);
}
#net_work .contact{
    background: rgb(255, 82, 82, 0.1);
}
#ai .contact{
    background: rgb(164, 115, 240, 0.1);
}
.page_lp .contact .flexbox{
    display: flex;
    justify-content: space-between;
}
.page_lp .contact .flexbox .leftbox{
	width: 46%;
}
.page_lp .contact .flexbox .leftbox .bottom_img {
    margin: 20px;
    width: 80%;
}
.page_lp .contact .flexbox .rightbox{
	width: 46%;
}

/***********************
What
************************/
.page_lp .doble_bk_box {
    padding: 5px 40px 15px 40px;
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 60px;
    margin-left: 8px;
}
.page_lp .doble_bk_box::before {
    background: #ffffff;
    position: absolute;
    top: -8px;
    left: -8px;
    width: 100%;
    height: 100%;
    content: '';
}
.page_lp .doble_bk_box h4{
    z-index: 1;
    text-align: center;
    width: 100%;
    font-size: 2.8rem;
    line-height: 1.6;
    font-weight: normal;
}
.page_lp .wh_list_item_wrap .wh_list_item{
    background: #ffffff;
    border-radius: 40px;
    padding: 30px 40px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
    margin-bottom: 40px;
}
.page_lp .wh_list_item_wrap .wh_list_item .title_box{
	display: flex;
	align-items: center;
}
.page_lp .wh_list_item_wrap .wh_list_item .title_box .number_box {
    width: 260px;
    height: 50px;
    font-size: 2.6rem;
    text-align: center;
    color: #ffffff;
    margin-right: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 60px;
}
.page_lp .wh_list_item_wrap .wh_list_item .title_box h5{
    font-size: 2.4rem;
    font-weight: normal;
}
.page_lp .wh_list_item_wrap .wh_list_item .info_text{
    margin: 10px 0px 20px;
    line-height: 1.5;
}
.page_lp .wh_list_item_wrap .wh_list_item .flow_area{
    display: flex;
    justify-content: space-between;
}
.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.sbox {
    width: 20%;
    border: solid 1px #B8B6B7;
    /* position: relative; */
    display: flex;
    flex-wrap: wrap;
}
.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.sbox p.title {
    background: #B8B6B7;
    text-align: center;
    margin: 0;
    height: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.sbox .image {
    padding: 10px 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
	height: 200px;
}
.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.bbox{
    width: 30%;
	border:solid 1px #2186BF;
}
.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.bbox p.title{
    background: #2186BF;
    text-align: center;
	margin:0;
	color: #ffffff;
    height: 34px;
}
.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.bbox .image {
    padding: 10px 10px;
    display: flex;    
	align-items: center;
    justify-content: center;
    flex: 1;
	height: 200px;
}
.page_lp .wh_list_item_wrap .wh_list_item .flow_area .dotarrow{
    display: flex;
    align-items: center;
    justify-content: center;
}
.page_lp .wh_list_item_wrap .wh_list_item .flexbox{
    display: flex;
    justify-content: space-between;
}
.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox {
    width: 50%;
    color: #ffffff;
    border-radius: 20px;
    padding: 25px;
}
.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox p.title_text{
    text-align: center;
    font-size: 1.8rem;
}
.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox ul{
	padding-left: 0;
	margin-bottom: 0px;
}
.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox ul li {
    list-style: none;
    font-size: 1.8rem;
}
.page_lp .wh_list_item_wrap .wh_list_item .flexbox .imagebox {
    width: 50%;
    padding-left: 40px;
    display: flex;
    justify-content: center;
}

/***********************
IOTソリューション開発
************************/
/***PROBLEM***/
#iot_solution .problem .problem_contents01{
    background: #F4F4F4;
    padding: 100px 0 50px;
	position: relative;
}
#iot_solution .problem .problem_contents01 .bottom_img{
    margin-top: 40px;
}
#iot_solution .problem .problem_contents01::after{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -68px; /* 三角をボックスの下に68px分はみ出させる。内側なら 0 に */
  width: 0;
  height: 0;
  border-left: 165px solid transparent; /* 330px の半分 */
  border-right: 165px solid transparent;
  border-top: 68px solid #F4F4F4;       /* 高さ 68px、色は親と合わせる */
}
#iot_solution .problem .problem_contents02{
    padding: 100px 0px 80px;
}

/***Point***/
#iot_solution .point .point_item_wrap .point_item{
	background: #E8F6FF;
}

/***What***/
#iot_solution .what .what_contents01{
    background: rgb(35,162,249,0.1);
    padding: 100px 0 50px;
	position: relative;
}

/***Flow***/
#iot_solution .flow{
    background: rgb(35,162,249,0.1);
	position: relative;
}
#iot_solution .flow .flow_item_wrap .flow_item{
    background: #23A2F9;
    padding: 20px 60px;
    border-radius: 50px;
    margin-bottom: 60px;
    position: relative;
}
#iot_solution .flow .flow_item_wrap .flow_item.arrow_down::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -39px;
    width: 0;
    height: 0;
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;
    border-top: 40px solid #23A2F9;
}
#iot_solution .flow .flow_item_wrap .flow_item .title{
    color: #ffffff;
    font-size: 3rem;
	margin-bottom: 0px;
}
#iot_solution .flow .flow_item_wrap .flow_item .flow_text{
    color: #ffffff;
	margin-bottom: 0px;
	font-size: 1.8rem;
}

/***FAQ***/
.page_lp .faq .faq_item_wrap .faq_item{
    background: #F4F4F4;
    padding: 20px;
    border-radius: 35px;
    margin-bottom: 20px;
}
.page_lp .faq .faq_item_wrap .faq_item .q_area {
    display: flex;
    align-items: center;
    margin-bottom: 15px;         
}
.page_lp .faq .faq_item_wrap .faq_item .q_area p.title {
    margin-bottom: 0px;
    font-size: 2.8rem;
    margin-left: 15px;
}
.page_lp .faq .faq_item_wrap .faq_item .q_area .q_icon{
    width: 60px;
    height: 60px;
    display: flex;
    background: #23A2F9;
    border-radius: 60px;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem;
    color: #ffffff;
}
.page_lp .faq .faq_item_wrap .faq_item .a_area{
	display: flex;
	align-items: center;
}
.page_lp .faq .faq_item_wrap .faq_item .a_area p.title {
    margin-bottom: 0px;
    font-size: 1.8rem;
    margin-left: 15px;
}
.page_lp .faq .faq_item_wrap .faq_item .a_area .a_icon{
    width: 60px;
    height: 60px;
    display: flex;
    background: #ffffff;
    border-radius: 60px;
	border: solid 1px #23A2F9;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem;
    color: #23A2F9;
}

/***********************
移動体通信ネットワーク開発
************************/
/***PRIDE OF STEP***/
#net_work .pride_of_step .pride_of_step_contents01{
    background: #F4F4F4;
    padding: 60px 0 50px;
	position: relative;
}
#net_work .pride_of_step .pride_of_step_contents01 .flexbox {
    display: flex;
    align-items: center;
}
#net_work .pride_of_step .pride_of_step_contents01 .flexbox .leftbox{
	width: 45%;
}
#net_work .pride_of_step .pride_of_step_contents01 .flexbox .rightbox {
    width: 55%;
    padding: 0 40px 0 0;
}
#net_work .pride_of_step .pride_of_step_contents01 .flexbox .rightbox h3 .lp_en_title01 {
    text-align: left;
    margin-bottom: 10px;
}
#net_work .pride_of_step .pride_of_step_contents01 .flexbox .rightbox h3 .lp_jp_m_title01 {
    text-align: left;
    margin-bottom: 40px;
}

/***What***/
#net_work .what{
    padding: 80px 0 40px;
}
#net_work .wh_list_item_wrap .wh_list_item .net_work_what01{
	max-height: 260px;
}
#net_work .wh_list_item_wrap .wh_list_item .net_work_what02{
    max-height: 260px;
}
#net_work .wh_list_item_wrap .wh_list_item .net_work_what03{
	max-height: 260px;
}

/***Point***/
#net_work.page_lp .point .point_item_wrap .point_item {
    background: #ffffff;
}
#net_work .point {
    background: rgb(255, 82, 82, 0.1);
    position: relative;
}

/***********************
AI開発支援事業
************************/
/***PROBLEM***/
#ai .problem .problem_contents01{
    background: #F4F4F4;
    padding: 100px 0 50px;
	position: relative;
}
#ai .problem .problem_contents01 .flexbox {
    display: flex;
    align-items: center;
}
#ai .problem .problem_contents01 .flexbox .leftbox{
	width: 45%;
}
#ai .problem .problem_contents01 .flexbox .rightbox {
    width: 55%;
    padding: 0 40px 0 0;
}
#ai .problem .problem_contents01 .flexbox .rightbox h3 .lp_en_title01 {
    text-align: left;
    margin-bottom: 10px;
}
#ai .problem .problem_contents01 .flexbox .rightbox h3 .lp_jp_m_title01 {
    text-align: left;
    margin-bottom: 40px;
}
#ai .problem .problem_contents01 .flexbox .rightbox .problem_info{
    background: #ffffff;
    padding: 10px 20px;
    border-radius: 80px;
    line-height: 1.4;
    font-size: 2rem;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
    margin-bottom: 30px;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox {
    width: 380px;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .flexbox .imagebox{
	width: calc(100% - 380px);
}

/***What***/
#ai .what{
    padding: 80px 0 40px;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .title_box{
    margin-bottom: 30px;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .title_box h5 {
    line-height: 1.6;
    font-size: 2.8rem;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .title_box h5 .s_text{
    color: #333333;
    display: block;
    font-size: 2.1rem;
}
#ai .wh_list_item_wrap .wh_list_item .ai_what01{
	max-height: 260px;
}
#ai .wh_list_item_wrap .wh_list_item .ai_what02{
    max-height: 260px;
}
#ai .wh_list_item_wrap .wh_list_item .ai_what03{
	max-height: 260px;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox .right_text{
    font-size: 1.8rem;
    line-height: 1.8;
}

/***Point***/
#ai.page_lp .point .point_item_wrap .point_item {
    background: #ffffff;
}
#ai .point {
    background: rgb(164, 115, 240, 0.1);
    position: relative;
}

/***********************
採用情報LP
************************/
#recruit .entry_btn {
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: #ffffff;
    background: #021C93;
    border-radius: 300px;
    text-align: center;
    line-height: 1.6;
    position: fixed;
    bottom: 0;
    right: 0;
    margin-bottom: 200px;
    margin-right: 20px;
    z-index: 9;
}

/***MESSAGE***/
.gra_text01{
background: linear-gradient(90deg, #0037f0 0%, #009eff 50%, #00d8ff 100%);
color: transparent;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
text-fill-color: transparent;
letter-spacing: 3px;
}
#recruit #message_contents_area {
    background: url(../images/recruit_top_bk.jpg);
    background-size: cover;
    background-position: top center;
    padding: 80px 0px 120px;
}
#recruit #message_contents_area .flexbox{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#recruit #message_contents_area .flexbox .leftbox{
	width: 48%;
}
#recruit #message_contents_area .flexbox .leftbox h2{
	margin-bottom: 30px;
}
#recruit #message_contents_area .flexbox .leftbox h2 .gra_text01.text01{
    display: block;
    font-size: 6rem;
    font-weight: bold;
    margin-bottom: 10px;
}
#recruit #message_contents_area .flexbox .leftbox h2 .gra_text01.text02{
    display: block;
    font-size: 8rem;
    font-weight: bold;
    margin-bottom: 10px;
}
#recruit #message_contents_area .flexbox .leftbox h2 .gra_text01.text02 .s_text{
    font-size: 6rem;
    font-weight: bold;	
}
#recruit #message_contents_area .flexbox .rightbox{
	width: 48%;
}
#recruit #message_contents_area .message_box{
    width: 76vw;
    aspect-ratio: 2 / 1.732;
    background: rgba(255, 255, 255, .5);
    -webkit-clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 140px auto 0;
    padding: 40px 0px;
	display: flex;
}
#recruit #message_contents_area .message_box h3 {
    font-size: 10rem;
    text-align: center;
    display: inline-block;
    letter-spacing: 7px;
    font-weight: bold;
    margin-bottom: 25px;
}
#recruit #message_contents_area .message_box p.mes_text {
    text-align: center;
    margin-bottom: 30px;
    font-size: 2rem;
    color: #001C93;
}
#recruit #message_contents_area .message_box .mes_btn{
    background: #ffffff;
    width: 600px;
    display: flex;
    justify-content: center;
    height: 46px;
    align-items: center;
    border-radius: 46px;
    border: solid 3px #021C93;
    font-size: 2.1rem;
    color: #021C93;
    position: relative;
	margin: 0 auto;
}
#recruit #message_contents_area .message_box .mes_btn .arrow{
    position: absolute;
    right: 0;
    margin-right: 30px;
}

/***introduce***/
#recruit .introduce .introduce_item_box .flexbox{
    display: flex;
}
#recruit .introduce .introduce_item_box .flexbox .leftbox {
    width: 50%;
    border-right: solid 2px #021C93;
    position: relative;
    padding: 40px 40px 40px 0;
}
#recruit .introduce .introduce_item_box .flexbox .leftbox:after {
    width: 32px;
    height: 32px;
    content: "";
    border-radius: 42px;
    background: #021C93;
    position: absolute;
    right: 0;
    margin-right: -16px;
    top: 50%;
    transform: translateY(-50%);
}
#recruit .introduce .introduce_item_box .flexbox .rightbox{
    width: 50%;
    padding: 40px 0px 40px 40px;
}
#recruit .introduce .introduce_item_box .flexbox h4.intro_title{
    font-size: 2.8rem;
    color: #001C93;
    font-weight: normal;
    line-height: 1.4;
    margin-bottom: 20px;
}
#recruit .introduce .introduce_item_box .flexbox .intro_text{
    width: 70%;
}
#recruit .introduce .introduce_item_box .introduce_btn{
    background: #ffffff;
    width: 100%;
    display: flex;
    justify-content: center;
    height: 46px;
    align-items: center;
    border-radius: 46px;
    border: solid 3px #021C93;
    font-size: 2.1rem;
    color: #021C93;
    position: relative;
	margin: 30px auto 0 auto;
}
#recruit .introduce .introduce_item_box .introduce_btn .arrow{
    position: absolute;
    right: 0;
    margin-right: 30px;
}

/***feature***/
#recruit .featureSec .featureContents {
    padding: 6rem 3rem 0rem;
    border-radius: 3rem;
}
#recruit .featureSec .featureFlex {
    background-color: #F1F2F3;
    background-image: url(../images/recruit_feature_bk.png);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: cover;
    padding: 40px 60px;
}

#recruit #company{
	padding-top: 100px;
	margin-top: -100px;
}

#recruit .recruit_info_table_wrap{
    margin-bottom: 80px;
}
#recruit .recruit_btn_area .flexbox{
    margin-bottom: 60px;
    display: flex;
    justify-content: center;
}
#recruit .recruit_btn_area .flexbox .rectuit_btn01{
    display: inline-block;
    width: 100%;
    max-width: 38rem;
    text-align: center;
    background-color: #201F88;
    color: #fff;
    position: relative;
    z-index: 1;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    padding: 1.5rem 1rem;
    margin: 0 auto 3rem;
    border: none;
    border-radius: 10rem;
}
#recruit .recruit_btn_area .flexbox .rectuit_btn02{
    display: inline-block;
    width: 100%;
    max-width: 38rem;
    text-align: center;
    background-color: #0681cf;
    color: #fff;
    position: relative;
    z-index: 1;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    padding: 1.5rem 1rem;
    margin: 0 auto 3rem;
    border: none;
    border-radius: 10rem;
}
#recruit .recruit_stitle{
    font-size: 3rem;
    border-left: solid 5px #1E1D7D;
    padding-left: 10px;
    margin-bottom: 30px;
    color: #1E1D7D;
}
#recruit .internship_area .top_info{
    text-align: center;
    font-size: 1.8rem;
    line-height: 2.4;
    margin-bottom: 25px;
}
#recruit .recruit_link_mynavi2027{
    margin-bottom: 60px;
    display: block;
    text-align: center;
    color: #021C93;
	word-wrap: break-word;
}
#recruit .internship_area .flexbox{
    display: block;
    justify-content: space-between;
	margin-bottom: 40px;
}
#recruit .internship_area .flexbox .leftbox{
    width: 100%;
}
#recruit .internship_area .flexbox .rightbox{
    width: 100%;
}
#recruit .internship_area .flexbox .leftbox .item_box h5 {
    font-size: 3rem;
    margin-bottom: 20px;
    font-weight: bold;
    color: #1E1D7D;
    text-align: center;
    border-bottom: solid 2px;
    padding-bottom: 10px;
}
#recruit .recruit_number_info .flexbox{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#recruit .internship_area .internship_area_itembox_flex{
	display: flex;
	justify-content: space-between;
}
#recruit .internship_area .internship_area_itembox_flex .item_box{
	width: 31%;
    border: solid 2px #1E1D7D;
    margin-bottom: 40px;
    padding: 25px;
}
#recruit .internship_area .internship_area_itembox_flex .item_box .title{
    font-size: 1.8rem;
    font-weight: bold;
}
#recruit .recruit_number_info .flexbox .number_itembox{
	width: 48%;
	margin-bottom: 30px;
}
#mid_career,#new_graduate{
	margin-top: -100px;
	padding-top: 100px;
}

/***Work***/
.lp_works_contents{
	margin-bottom: 50px;
}
.lp_works_contents .flexbox{
	display: flex;
	justify-content: space-between;
}
.lp_works_contents .flexbox .leftbox{
	width: 48%;
}
.lp_works_contents .flexbox .leftbox img{
    border-radius: 30px;
}
.lp_works_contents .flexbox .rightbox{
	width: 48%;
}
.lp_works_contents .flexbox .rightbox h4{
    font-size: 3rem;
    /* text-align: center; */
    line-height: 1.8;
    color: #06054E;
    margin-bottom: 40px;
    font-weight: bold;
}


/*****************************

レスポンシブ

******************************/
@media screen and (max-width: 1480px) {
#recruit #message_contents_area .message_box h3 {
    font-size: 8rem;
	}
#recruit #message_contents_area .message_box .mes_btn {
    width: 300px;
}
#recruit #message_contents_area .message_box p.mes_text {
    margin-bottom: 20px;
    font-size: 1.8rem;
	}
}
@media screen and (max-width: 1380px) {
.page_lp .contents_wrap {
    width: 94%;
}
}
@media screen and (max-width: 1180px){
.page_lp #lp_mv .flexbox .leftbox h2 {
    font-size: 4.4rem;
}
.page_lp #lp_mv .flexbox .leftbox .text01 {
    font-size: 2.4rem;
}
.page_lp #lp_mv .flexbox .leftbox .text01 {
    font-size: 2.1rem;
}
.page_lp .headerInner .headerMenu .navbar-nav li {
    margin-right: 25px;
}
#recruit #message_contents_area .flexbox .leftbox {
    width: 56%;
}
#recruit #message_contents_area .flexbox .leftbox h2 .gra_text01.text01 {
    font-size: 5rem;
	}
#recruit #message_contents_area .flexbox .leftbox h2 .gra_text01.text02 {
    font-size: 7rem;
	}
#recruit #message_contents_area .flexbox .leftbox h2 .gra_text01.text02 .s_text {
    font-size: 5rem;
	}
#ai .header_logo{
    width: 300px;
}
#iot_solution .header_logo{
    width: 480px;
}
}
@media screen and (max-width: 980px) {
.page_lp .headerInner {
    padding: 0 15px;
}
.page_lp .headerInner .headerMenu .navbar-nav li {
        margin-right: 15px;
    }    
.page_lp .headerInner .headerMenu .contact_btn {
    padding: 10px 10px;
}
.page_lp #lp_mv .flexbox {
    display: block;
}
.page_lp #lp_mv .flexbox .leftbox {
    width: 100%;
}
.page_lp #lp_mv .flexbox .bottom_img{
    text-align: center;
}
.page_lp #lp_mv .flexbox .rightbox {
    width: 100%;
}
.lp_mv_contact {
    width: 100%;
	}
#ai .problem .problem_contents01 .flexbox {
    display: block;
}
#ai .problem .problem_contents01 .flexbox .leftbox {
    width: 100%;
}
#ai .problem .problem_contents01 .flexbox .rightbox {
    width: 100%;
    padding: 0 0px 0 0;
}
.page_lp .point .point_item_wrap {
    display: block;
	}
.page_lp .point .point_item_wrap .point_item .image img {
    width: auto;
    margin: 30px auto 20px auto;
}
.page_lp .point .point_item_wrap .point_item {
    width: 100%;
	margin-bottom: 40px;
}
.page_lp .contact .flexbox {
    display: block;
}
.page_lp .contact .flexbox .leftbox {
    width: 100%;
    text-align: center;
}
.page_lp .contact .flexbox .leftbox .bottom_img {
    margin: 20px auto;
    width: 300px;
    margin-bottom: 40px;
}
.page_lp .contact .flexbox .rightbox {
    width: 100%;
}
#recruit #message_contents_area .flexbox .leftbox h2 .gra_text01.text01 {
        font-size: 4rem;
    }  
#recruit #message_contents_area .flexbox .leftbox h2 .gra_text01.text02 {
        font-size: 6rem;
    }    
#recruit #message_contents_area .flexbox .leftbox h2 .gra_text01.text02 .s_text {
        font-size: 4rem;
    }    
#recruit #message_contents_area .message_box {
    width: 100%;
	}
#recruit #message_contents_area .message_box h3 {
        font-size: 7rem;
    }    
#recruit #message_contents_area .message_box p.mes_text {
        margin-bottom: 15px;
        font-size: 1.6rem;
    }
#recruit .entry_btn {
    width: 145px;
    height: 145px;
	}
#iot_solution .header_logo {
        width: 434px;
    }
.lp_works_contents .flexbox {
    display: block;
}
.lp_works_contents .flexbox .leftbox {
    width: 100%;
    margin-bottom: 20px;
}
.lp_works_contents .flexbox .rightbox {
    width: 100%;
}
.lp_works_contents .flexbox .rightbox h4 {
    font-size: 2rem;
    margin-bottom: 10px;
}
#recruit .internship_area .flexbox .leftbox .item_box h5 {
    font-size: 2.1rem;
	}
#recruit .internship_area .internship_area_itembox_flex .item_box .title {
    font-size: 1.6rem;
}
#recruit .internship_area .internship_area_itembox_flex {
    display: block;
	}
}
@media screen and (max-width: 768px) {
/***レスポンシブ***/
.sp_hidden_s{
	display: none;
}
.pc_hidden_s{
	display: block;
}
.sp_br{
		display: block;
	}	
.page_lp .lp_jp_m_title03 {
    font-size: 3rem;
}	
.page_lp .lp_jp_m_title02 {
    font-size: 3rem;
	font-weight: bold;
	}
.page_lp .lp_en_title01 {
    font-size: 2.6rem;
	font-weight: bold;
	}
#headerNavbar .container-fluid .navbar-collapse > .navbar-nav {
    background-color: #fff;
    padding: 20px 0px 20px;
}
.page_lp .headerInner .headerMenu .navbar-nav li {
        margin-right: 0px;
        width: 100%;
        padding: 10px 20px;
        border-bottom: solid 1px #cccccc;
    } 
.page_lp .headerInner .headerMenu .navbar-nav li:last-child {
    margin-right: 0px;
    padding: 20px 20px;
	border-bottom: none;
}
.page_lp .pad_tb60 {
    padding: 50px 0px 0;
}
.page_lp .contents_wrapper {
    margin-top: 55px;
}
.page_lp .headerInner {
    height: 55px;
}
.page_lp .wh_list_item_wrap .wh_list_item .flexbox {
    display: block;
}
.page_lp .wh_list_item_wrap .wh_list_item .title_box {
    display: block;
    margin-bottom: 20px;
}
.page_lp .doble_bk_box h4 {
    font-size: 1.8rem;
	}
.page_lp .doble_bk_box {
    padding: 5px 20px 15px 20px;
	}
.page_lp .wh_list_item_wrap .wh_list_item .title_box h5 {
    font-size: 1.8rem;
    font-weight: bold;
}
.page_lp .faq .faq_item_wrap .faq_item .q_area .q_icon {
    width: 34px;
    height: 34px;
    font-size: 2.1rem;
}
.page_lp .faq .faq_item_wrap .faq_item .q_area p.title {
    font-size: 1.8rem;
    margin-left: 10px;
}
.page_lp .faq .faq_item_wrap .faq_item {
    padding: 15px;
    border-radius: 30px;
	}
.page_lp .faq .faq_item_wrap .faq_item .a_area p.title {
    margin-bottom: 0px;
    font-size: 1.4rem;
    margin-left: 10px;
}
.page_lp .faq .faq_item_wrap .faq_item .a_area p.title {
    margin-bottom: 0px;
    font-size: 1.4rem;
    margin-left: 10px;
    width: calc(100% - 40px);
}
.page_lp .faq .faq_item_wrap .faq_item .a_area .a_icon {
    width: 34px;
    height: 34px;
    font-size: 2.1rem;
	}
.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox ul li {
    list-style: none;
    font-size: 1.5rem;
}
.page_lp .pad_tb80 {
    padding: 50px 0px 10px;
}
.page_lp .pad_tb100 {
    padding: 50px 0px;
}
#ai #lp_mv {
    padding: 60px 0px;
}
#ai #lp_mv .flexbox .leftbox .bottom_img img {
    margin-top: 0px;
    max-width: 100%;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox {
    width: 100%;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .flexbox .imagebox {
    width: 100%;
    margin-top: 20px;
    padding-left: 0;
}
#iot_solution #lp_mv {
    padding: 60px 0px;
}
#iot_solution .problem .problem_contents01 {
    padding: 50px 0 50px;
}
#iot_solution .what .what_contents01 {
    padding: 50px 0 20px;
}
#iot_solution.page_lp .wh_list_item_wrap .wh_list_item .title_box {
        margin-bottom: 10px;
    }
#iot_solution.page_lp .wh_list_item_wrap .wh_list_item .flow_area {
    display: block;
    justify-content: space-between;
}
#iot_solution.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.sbox {
    width: 100%;
	}
#iot_solution.page_lp .wh_list_item_wrap .wh_list_item .flow_area .dotarrow img{
    transform: rotate(90deg);
}
#iot_solution.page_lp .wh_list_item_wrap .wh_list_item .flow_area .dotarrow {
    height: 50px;
}
#iot_solution.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.bbox {
    width: 100%;
}
#iot_solution.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.bbox .image {
    height: auto;
}
#iot_solution.page_lp .wh_list_item_wrap .wh_list_item .flow_area .flow_item.sbox .image {
    height: auto;
}
#iot_solution .flow .flow_item_wrap .flow_item .title {
        font-size: 2rem;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 10px;
    }    
#iot_solution .flow .flow_item_wrap .flow_item .flow_text {
    font-size: 1.6rem;
}
#iot_solution .flow .flow_item_wrap .flow_item {
    padding: 20px 20px;
    border-radius: 25px;
    margin-bottom: 50px;
	}
#iot_solution .flow .flow_item_wrap .flow_item.arrow_down::after {
    bottom: -30px;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 45px solid #23A2F9;
	}
#net_work #lp_mv {
    padding: 60px 0px;
}
#net_work .pride_of_step .pride_of_step_contents01 .flexbox {
    padding: 0px 20px;
}
#net_work .pride_of_step .pride_of_step_contents01 .flexbox .leftbox {
    width: 100%;
}
#net_work .pride_of_step .pride_of_step_contents01 .flexbox .rightbox {
    width: 100%;
    padding: 0 0px 0 0;
}
#net_work .pride_of_step .pride_of_step_contents01 .flexbox .rightbox h3 .lp_jp_m_title01 {
    text-align: left;
    margin-bottom: 20px;
    justify-content: flex-start;
	font-size: 3rem;
}
#net_work .what {
    padding: 40px 0 10px;
}
#net_work.page_lp .wh_list_item_wrap .wh_list_item .flexbox .imagebox {
    width: 290px;
    padding-left: 0px;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}
#net_work.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox {
    width: 100%;
    color: #ffffff;
    border-radius: 20px;
    padding: 15px;
    margin-bottom: 20px;
}
#recruit .entry_btn {
        width: 110px;
        height: 110px;
        font-size: 1.6rem;
        letter-spacing: -1px;
        margin-bottom: 60px;
    }
#recruit .introduce .introduce_item_box .flexbox {
    display: flex;
    padding-left: 25px;
    border-left: solid 3px #021C93;
	position: relative;
	flex-wrap: wrap;
}
#recruit .introduce .introduce_item_box .flexbox:after {
        width: 20px;
        height: 20px;
        content: "";
        border-radius: 42px;
        background: #021C93;
        position: absolute;
        left: 0;
        margin-left: -11px;
        top: 0;
        transform: translateY(-50%);
    }    
#recruit .introduce .introduce_item_box .flexbox h4.intro_title {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 5px;
}
#recruit .introduce .introduce_item_box .flexbox .leftbox {
    width: 100%;
    border-right: none;
    padding: 40px 0px 40px 0;
}
#recruit .introduce .introduce_item_box .flexbox .rightbox {
    width: 100%;
    padding: 40px 0px 40px 0px;
	}
#recruit .introduce .introduce_item_box .flexbox .imagearea{
	order: 1;
	padding: 0;
}
#recruit .introduce .introduce_item_box .flexbox .textarea{
	order: 2;
    padding: 15px 0 50px;
}
#recruit .introduce .introduce_item_box .flexbox .leftbox:after{
		display: none;
	}
#recruit .introduce .introduce_item_box .introduce_btn {
    font-size: 1.8rem;
	}
#recruit #message_contents_area .flexbox {
    display: block;
	}
#recruit #message_contents_area .flexbox .leftbox {
        width: 100%;
    }
#recruit #message_contents_area .flexbox .rightbox {
    width: 100%;
    margin-top: 20px;
}
#recruit #message_contents_area .message_box h3 {
        font-size: 4rem;
        letter-spacing: 3px;
    }
#recruit #message_contents_area .message_box .mes_btn {
        width: 260px;
        font-size: 1.8rem;
    }
#recruit #message_contents_area .message_box p.mes_text {
        margin-bottom: 15px;
        font-size: 1.5rem;
        line-height: 1.6;
    } 
#recruit #message_contents_area .message_box {
        width: 100%;
        margin: 40px 0px;
    }
#recruit #message_contents_area {
    padding: 80px 0px 20px;
}
#recruit .featureSec .featureFlex {
    padding: 30px 10px 0px 10px;
}
#recruit .featureSec .container{
    padding: 0;
}
#recruit .recruit_btn_area .flexbox {
    margin-bottom: 20px;
    display: block;
}
#recruit .internship_area .top_info {
    text-align: left;
    font-size: 1.5rem;
    line-height: 2;
    margin-bottom: 10px;
}
#recruit .internship_area .flexbox {
    display: block;
}
#recruit .internship_area .flexbox .leftbox {
    width: 100%;
    margin-bottom: 30px;
}
#recruit .recruit_stitle {
    font-size: 2.1rem;
    border-left: solid 3px #1E1D7D;
	}
#recruit .internship_area .flexbox .rightbox {
    width: 100%;
}
#recruit .recruit_info_table_wrap {
    margin-bottom: 30px;
}
#recruit .recruit_number_info .flexbox {
    display: block;
	}
#recruit .recruit_number_info .flexbox .number_itembox {
    width: 100%;
    margin-bottom: 30px;
}
#recruit .internship_area .internship_area_itembox_flex .item_box {
    width: 100%;
    margin-bottom: 30px;
    padding: 20px 20px 10px;
}
#recruit .internship_area .flexbox .leftbox .item_box h5 {
        font-size: 1.8rem;
    }
#recruit .recruit_link_mynavi2027{
        display: block;
        text-align: left;
        margin-bottom: 40px;
}
}
@media screen and (max-width: 580px) {
.contents_title_wrap {
    margin-bottom: 30px;
}
.page_lp .more_btn {
    height: 50px;
    font-size: 2.1rem;
}
.page_lp .pad_tb100 {
    padding: 50px 0px;
}
.page_lp .lp_jp_m_title02 {
    font-size: 2.4rem;
	}
.page_lp #lp_mv .flexbox .leftbox .text01 {
    font-size: 2rem;
    line-height: 1.6;
}
.page_lp #lp_mv .flexbox .leftbox h2 {
    font-size: 3.2rem;
}
.page_lp .lp_mv_contact .down_lord_btn_wrap .wpcf7-submit {
    font-size: 1.6rem;
}
.page_lp .lp_mv_contact .down_lord_btn_wrap:before {
    width: 45px;
    height: 45px;
	}
.page_lp .lp_mv_contact .down_lord_btn_wrap:after {
	width: 28px;
        height: 20px;
        margin-right: 15px;
}
.page_lp .lp_jp_m_title01 {
    font-size: 2.6rem;
	}
.page_lp .lp_en_title01 {
        font-size: 2.1rem;
    }
.page_lp .wh_list_item_wrap .wh_list_item {
    border-radius: 40px;
    padding: 30px 15px;
	}
.page_lp .wh_list_item_wrap .wh_list_item .title_box .number_box {
    width: 100%;
    height: 44px;
    font-size: 2rem;
	}
.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox {
    padding: 15px;
}
.page_lp .pad_tb80 {
    padding: 40px 0px;
}
.page_lp .point .point_item_wrap .point_item h4 {
    font-size: 1.8rem;
}
.page_lp .lp_jp_m_title03 {
        font-size: 2rem;
    }
#ai .problem .problem_contents01 {
    padding: 50px 0 20px;
}
#ai .problem .problem_contents01 .flexbox .rightbox h3 .lp_jp_m_title01 {
    margin-bottom: 20px;
}
#ai .problem .problem_contents01 .flexbox .rightbox .problem_info {
    font-size: 1.6rem;
	}
#ai .what {
    padding: 40px 0 10px;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .title_box h5 {
    line-height: 1.6;
    font-size: 2.1rem;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .title_box h5 .s_text {
    font-size: 1.8rem;
}
#ai.page_lp .wh_list_item_wrap .wh_list_item .flexbox .textbox .right_text {
    font-size: 1.6rem;
	margin-bottom: 0;
}
#iot_solution .problem .problem_contents02 {
    padding: 90px 0px 40px;
}
#recruit #message_contents_area .message_box p.mes_text {
        margin-bottom: 15px;
        font-size: 1.5rem;
        width: 220px;
        margin: 0 auto 10px;
        text-align: left;
    } 
#recruit .introduce .introduce_item_box .flexbox h4.intro_title {
        font-size: 1.8rem;
	}    
#recruit #message_contents_area .message_box .mes_btn .arrow {
    margin-right: 5px;
}
#recruit #message_contents_area .message_box .mes_btn {
        width: 170px;
        font-size: 1.6rem;
        border: 2px solid;
        margin-top: 20px;
    }
#recruit #message_contents_area .message_box p.mes_text br{
		display: none;
	}	
}