@charset "utf-8";
/* デスクトップレイアウト : 769 px ～最大 1232 px。モバイルレイアウトとタブレットレイアウトからスタイルを継承。 */
@media print, screen and (min-width: 768px) {

/*トップ
---------------------------------------------*/
#recruit { position: relative; padding: 150px 0 0; }

#recruit h3 {
font-size: 2.6rem;
line-height: 1;
text-align: center;
color: #086DB0;
margin: 0 0 60px;
}

#recruit .flex_wrap {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 60px;
}
#recruit .flex_wrap .box {
width: 48%;
padding: 30px;
border-radius: 10px;
box-sizing: border-box;
box-shadow: 0px 0px 15px rgba(8, 109, 176, 0.3);
}
#recruit .flex_wrap .box h4 { font-size: 1.8rem; color: #086DB0; margin: 0 0 10px; }
#recruit .flex_wrap .box .img { margin-bottom: 10px; }
#recruit .flex_wrap .box .img a { transition: .3s; }
#recruit .flex_wrap .box .img a:hover { opacity: .7; }

#recruit .flex_wrap ul.list1 { display: flex; margin-bottom: 10px; }
#recruit .flex_wrap ul.list1 li {
background: #086DB0;
padding: 3px 50px;
margin-right: 10px;
border-radius: 25rem;
color: #fff;
font-weight: 700;
}

#recruit .flex_wrap ul.list2 { display: flex; flex-wrap: wrap; margin-bottom: 10px; height: 60px; align-items: flex-start; }
#recruit .flex_wrap ul.list2 li {
color: #086DB0;
font-size: 1.3rem;
font-weight: 400;
border: 1px solid #086DB0;
border-radius: 25rem;
padding: 0px 15px;
margin: 0 5px 5px 0;
}

#recruit .flex_wrap ul.list3 { display: flex; flex-wrap: wrap; justify-content: space-between; }
#recruit .flex_wrap ul.list3 li {
width: 24%;
font-size: 1.3rem;
background: #F3F5F5;
padding: 2px 5px;
box-sizing: border-box;
text-align: center;
}


#recruit h5 {
position: relative;
font-size: 1.5rem;
font-weight: 700;
line-height: 1;
}
#recruit h5::before { content: '■'; color: #086DB0; }

#recruit h5 span {
display: block;
font-size: 0.9rem;
text-align: right;
margin-bottom: 5px;
}

#recruit table {
width: 100%;
border-top:1px solid #D5D5D5;
border-right:1px solid #D5D5D5;
}

#recruit table th {
background: #086DB0;
text-align: center;
line-height: 1;
color: #FFF;
padding:10px;
box-sizing: border-box;
border-bottom:1px solid #D5D5D5;
border-left:1px solid #D5D5D5;
}

#recruit table td {
padding:10px;
box-sizing: border-box;
border-bottom:1px solid #D5D5D5;
border-left:1px solid #D5D5D5;
vertical-align: middle;
line-height: 1.4;
text-align: right;
}
#recruit table td.left { width: 32%; text-align: left; }


}




/* モバイルレイアウト : 480 px およびそれ以下. */
/*sp*/
@media only screen and (max-width: 767px) {

/*トップ
---------------------------------------------*/
#recruit { position: relative; padding: 80px 0 0; }

#recruit h3 {
font-size: 2.2rem;
text-align: center;
color: #086DB0;
margin: 0 0 30px;
}

#recruit .flex_wrap { margin-bottom: 40px; }
#recruit .flex_wrap .box {
margin-bottom: 20px;
padding: 20px;
border-radius: 10px;
box-sizing: border-box;
box-shadow: 0px 0px 15px rgba(8, 109, 176, 0.3);
}
#recruit .flex_wrap .box:last-child { margin-bottom: 0; }
#recruit .flex_wrap .box h4 { font-size: 1.8rem; color: #086DB0; margin: 0 0 10px; }
#recruit .flex_wrap .box .img { margin-bottom: 10px; }
#recruit .flex_wrap .box .img a { transition: .3s; }
#recruit .flex_wrap .box .img a:hover { opacity: .7; }

#recruit .flex_wrap ul.list1 { display: flex; margin-bottom: 10px; }
#recruit .flex_wrap ul.list1 li {
background: #086DB0;
padding: 3px 40px;
margin-right: 10px;
border-radius: 25rem;
color: #fff;
font-weight: 700;
text-align: center;
}

#recruit .flex_wrap ul.list2 { display: flex; flex-wrap: wrap; margin-bottom: 10px; align-items: flex-start; }
#recruit .flex_wrap ul.list2 li {
color: #086DB0;
font-size: 1.3rem;
font-weight: 400;
border: 1px solid #086DB0;
border-radius: 25rem;
padding: 0px 10px;
margin: 0 5px 5px 0;
}

#recruit .flex_wrap ul.list3 { display: flex; flex-wrap: wrap; justify-content: space-between; }
#recruit .flex_wrap ul.list3 li {
width: 24%;
font-size: 1rem;
background: #F3F5F5;
padding: 2px 3px;
box-sizing: border-box;
text-align: center;
}


#recruit h5 {
position: relative;
font-size: 1.6rem;
font-weight: 700;
margin-bottom: 10px;
padding-left: 18px;
}
#recruit h5 span { font-size: 0.9rem; margin-left: 5px; display: inline-block; }
#recruit h5::before {
content: '■';
color: #086DB0;
position: absolute;
left: 0;
}

#recruit .table_scroll { overflow-x: scroll; scrollbar-width: thin; }
#recruit table {
width: 600px;
border-top:1px solid #D5D5D5;
border-right:1px solid #D5D5D5;
table-layout: fixed;
}
#recruit table th {
background: #086DB0;
font-size: 1.4rem;
text-align: center;
line-height: 1;
color: #FFF;
padding: 8px;
box-sizing: border-box;
border-bottom:1px solid #D5D5D5;
border-left:1px solid #D5D5D5;
}
#recruit table th:first-child { width: 140px; }
#recruit table td {
padding: 8px;
box-sizing: border-box;
border-bottom:1px solid #D5D5D5;
border-left:1px solid #D5D5D5;
vertical-align: middle;
font-size: 1.4rem;
line-height: 1.4;
text-align: right;
}
#recruit table td.left { width: 32%; text-align: left; }




}