@charset "UTF-8";

h5 {
  font-size: 1.2em;
  font-weight: bold;
  margin: .8em 0 0;
}

@media (max-width: 900px) {
  h5 {
    font-size: 1.1em;
  }
}
strong {
    font-weight: bold;
}

/* ################################### */

	/* common */

/* ################################### */
.width640 {
    width: 640px;
}
.alignleft {
	text-align: left!important;
}
.aligncenter {
	text-align: center;
}
.alignright {
	text-align: right;
}
.aligntop {
	vertical-align: top;
}
.mgn0 {
    margin: 0!important;
}
.mgnt08 {
	margin-top: 8px !important;
}
.mgnt20 {
	margin-top: 20px;
}
.mgnl00 {
	margin-left: 0!important;
}
.mgnl15 {
	margin-left: 15px;
}
.mgnl25 {
	margin-left: 25px;
}
.mgnl50 {
	margin-left: 50px;
}
.mgnr00 {
	margin-right: 0!important;
}

.mgnb1em {
	margin-bottom: 1em;
}
.mgnb00 {
	margin-bottom: 0 !important;
}
.mgnb05 {
	margin-bottom: 5px !important;
}
.mgnb10 {
	margin-bottom: 10px !important;
}
.mgnb20 {
	margin-bottom: 20px !important;
}
.mgnb25 {
	margin-bottom: 25px !important;
}
.mgnb30 {
	margin-bottom: 30px !important;
}
.indent10 {
	text-indent: -1em;
	padding-left: 1em;	
}
.indent15 {
	text-indent: -1.5em;
	padding-left: 1.5em;	
}
.indent20 {
	text-indent: -2em;
	padding-left: 2em;	
}
.indent50 {
	text-indent: -5em;
	padding-left: 5em;	
}
.pdnr00 {
	padding-right: 0!important;
}

.pdnl00 {
	padding-left: 0!important;
}
.pdnl10 {
	padding-left: 10px!important;
}
.pdnl20 {
	padding-left: 20px!important;
}
.pdnl25 {
	padding-left: 25px!important;
}
.pdnl30 {
	padding-left: 30px!important;
}
.floatR {
	float: right;
}
.floatL {
	float: left;
}
.rate05 {
	width: 5%!important;
}
.rate10 {
	width: 10%!important;
}
.rate15 {
	width: 15%!important;
}
.rate20 {
	width: 20%!important;
}

.rate30 {
	width: 30%!important;
}
.rate40 {
	width: 40%!important;
}
.rate50 {
	width: 50%!important;
}
.rate60 {
	width: 60%!important;
}
.rate70 {
	width: 70%!important;
}
.rate100 {
	width: 100%!important;
}

.bold {
	font-weight: bold;
}
.fs-normal {
	font-weight: normal!important;
}
.underline {
	text-decoration: underline;
}
.f-base {
	color: #2B498C;
}
.red {
	color: red!important;
}
.f-large {
	font-size: 120%;
}
.f-large110 {
	font-size: 110%;
}
.f-large140 {
	font-size: 140%!important;
}
.f-small80 {
	font-size: 80%!important;
}
.normal_tbl {
	width: 100%;
}
.normal_tbl td {
	border: 1px solid #000000;
	padding: 10px;
}

@media screen and (max-width: 640px){
    .privacy_process .normal_tbl td{
        padding: 10px 15px;
        width:100%;
        display: list-item;     /* リストに変換 */
        list-style:none;     /* リストに変換によるドットを非表示 */
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
}

.nowrap {
	white-space: nowrap;
}

.fs10 {
	font-size: 10px;
}
.fs12 {
	font-size: 12px;
}
.fs16 {
	font-size: 16px!important;
}

.fc_red {
    color: #BB271A;
}

main ul, 
main ol {
	padding-left: 30px;
}
main ul li {
	margin-bottom: 8px;
	list-style: square;
}
main ol li {
	margin-bottom: 8px;
	list-style: decimal;
}
main ol.lower-latin li {
	margin-bottom: 8px;
	list-style: lower-latin;
}
main ul li ul{
    margin-top: .5em;
}

main ul li ul li {
	margin-bottom: 8px;
	list-style: circle;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
.clear {
	clear: both;
}

/* ################################### */

	/* ヘッダー画像 */

/* ################################### */
#LowPageVisual.client {
    background-image: url(../img/client/main_visual.jpg);
    background-position: bottom;
}
#LowPageVisual.consulting {
    background-image: url(../img/consulting/main_visual.jpg);
    background-position: bottom;
}
#LowPageVisual.profile {
    background-image: url(../img/profile/main_visual.jpg);
    background-position: bottom;
}
#LowPageVisual.sitemap {
    background-image: url(../img/profile/main_visual.jpg);
    background-position: bottom;
}
#LowPageVisual.news {
    background-image: url(../img/profile/main_visual.jpg);
    background-position: bottom;
}


/* ################################### */

	/* human-resource */

/* ################################### */
#human-resource main ul  {
	padding-left: 0;
}
#human-resource main ul li {
    list-style: none;
    margin-bottom: 0;
}
#human-resource main ul.disc li {
    list-style:disc;
    margin-bottom: 0;
}

#LowPage #LowPageWrap .WorkSearch .result.employee_color dl dt {
    background-color: #E1EFE3;
}

#LowPage #LowPageWrap .WorkSearch .result dl dt {
    width: 10em;
}
#LowPage #LowPageWrap .WorkSearch .result dl dd {
    width: calc(100% - 10em);
}
@media screen and (max-width: 800px) {
    #LowPage #LowPageWrap .WorkSearch .result dl dt {
        width: 100%;
    }
    #LowPage #LowPageWrap .WorkSearch .result dl dd {
        width: 100%;
    }
}


/* 求人検索詳細のタグ背景画像 */
#LowPage #LowPageWrap .WorkSearch .Tagarea li:before{
  content:none;
}



/* ################################### */

	/* 問い合わせ */

/* ################################### */
.result form input[type="submit"] {
    width: auto;
    margin: 20px 0 80px;
}
#LowPage #LowPageWrap .WorkSearch .Tagarea {
    justify-content: center;
}
.err_area {
    background-color: #ffe6e6;
    border: 1px solid #ff8080;
    margin-bottom: 20px;
    padding: 10px 15px;
    margin: 0 auto;
}
.err_area p {
    color: #f00;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
}
.err_area ul {
    list-style: outside none none;
    margin-bottom: 10px;
    margin-left: 1.5em;
}
.err_area li {
    line-height: 1.3;
    list-style: outside none disc;
}
@media screen and (max-width: 800px) {
    .HalfBox78 {
        width: 100%;
    }
}

form#mail_form select {
    width: 98%;
}
form#mail_form .HalfBox20 {
    width: 20% !important;
}
form#mail_form .HalfBox30 {
    width: 30% !important;
}
@media screen and (max-width: 800px) {
    form#mail_form .HalfBox30 {
        width: 46% !important;
    }
    form#mail_form .HalfBox20 {
        width: 30% !important;
    }
}

::placeholder {
    color: #999999;
}

/* ################################### */

	/* profile */

/* ################################### */



.companyprofile table {
	width: 100%;
	border-top: 1px solid #CCC;
	margin-bottom: 20px;
}

.companyprofile th,
.companyprofile td {
	text-align: left;
	padding: 10px 15px;
	border-bottom: 1px solid #CCC;
	vertical-align: top;
}

.companyprofile #contents p {
	font-weight: bold;
	margin: 0 0 10px;
}

.companyprofile td ul {
	padding-left: 30px;
}
.companyprofile td ul li {
	list-style: square;
	margin-bottom: 10px;
	font-weight: bold;
}

.companyprofile td ul li ul {
	padding: 0;
	margin: 5px 0;
}
.companyprofile td ul li ul li {
	list-style: none;
	font-weight: normal;
	margin-bottom: 5px;
}	


.companyprofile th {
	width: 20%;
	white-space: nowrap;
	background: #F5F5F5;
}

.partner dl {
	margin-bottom: 25px;
}

.partner dt {
	font-weight: bold;
	margin-bottom: 3px;
	font-size: 110%;
}
.partner dt span {
	font-weight: normal;
}	
/* 
.partner dt a {
	padding: 0 15px 0 0;
	background: url(../images/ico_blank.gif) no-repeat right center;
}
 */


.partner main dt a::after {
  font-family: 'Material Icons';
  content: '\e89e';
  font-size: 1em;
  margin-left: 4px;
}



.partner dd {
	margin-bottom: 10px;
	padding-bottom: 15px;
	border-bottom: 1px solid #CCC;
}

.accessmap table {
	border-collapse: collapse;
	margin-bottom: 15px;
}

.accessmap table th,
.accessmap table td {
	padding: 3px 10px 3px 0;
	text-align: left;
	line-height: 1.5;
	font-weight: normal;
	vertical-align: top;
}
.accessmap table th {
	width: 1%;
	white-space: nowrap;
}	

#profile #contents h6 {
	color: #2B498C;
	font-weight: bold;
	font-size: 1.0em;
}
.gmap-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 の場合 */
  overflow: hidden; /* はみ出た部分を隠す */
}

.gmap-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 98%;
  height: 100%;
  border: 0;
}


/* ################################### */

    /* clients */

/* ################################### */
.clients main ul {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.clients main ul li {
    display: block;
    width: 48%;
}
@media screen and (max-width: 640px){
    .clients main ul li {
        width: 100%;
    }
}


@media screen and (max-width: 640px){

    /* ################################### */

        /* profile */

    /* ################################### */



    .companyprofile table {
        width: 100%;
        border-top: 1px solid #CCC;
        margin-bottom: 20px;
    }

    .companyprofile th,
    .companyprofile td {
        text-align: left;
        padding: 10px 15px;
        border-bottom: 1px solid #CCC;
        vertical-align: top;
    }

    .companyprofile #contents p {
        font-weight: bold;
        margin: 0 0 10px;
    }

    .companyprofile td ul {
        padding-left: 30px;
    }
    .companyprofile td ul li {
        list-style: square;
        margin-bottom: 10px;
        font-weight: bold;
    }

    .companyprofile td ul li ul {
        padding: 0;
        margin: 5px 0;
    }
    .companyprofile td ul li ul li {
        list-style: none;
        font-weight: normal;
        margin-bottom: 5px;
    }	


    .companyprofile th {
        width: 20%;
        white-space: nowrap;
        background: #F5F5F5;
    }
    .partner dl {
        margin-bottom: 25px;
    }

    .partner dt {
        font-weight: bold;
        margin-bottom: 3px;
        font-size: 110%;
    }
    .partner dt span {
        font-weight: normal;
    }	

    .partner dd {
        margin-bottom: 10px;
        padding-bottom: 15px;
        border-bottom: 1px solid #CCC;
    }

    .accessmap table {
        border-collapse: collapse;
        margin-bottom: 15px;
    }

    .accessmap table th,
    .accessmap table td {
        padding: 3px 10px 3px 0;
        text-align: left;
        line-height: 1.5;
        font-weight: normal;
        vertical-align: top;
    }
    .accessmap table th {
        width: 1%;
        white-space: nowrap;
    }	

    #profile #contents h6 {
        color: #2B498C;
        font-weight: bold;
        font-size: 1.0em;
    }

}

/* ################################### */

    /* contact */

/* ################################### */
form#mail_form textarea {
    width: 100%;
    height: 8em;
    padding: 4px 1em;
    border: 1px solid #cccccc;
    border-radius: 3px;
    background: #fafafa;
    -webkit-appearance: none;
    font-size: 100%;
    font-family: inherit;
}
form#mail_form input[type="submit"] {
    width: 340px;
    padding: 15px 40px;
    margin: 40px;
    font-size: 1.2em;
    background-color: #005bac;
    color: #fff;
    border-style: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    transition: .2s;
}
form#mail_form input[type="submit"]:hover {
    cursor: pointer;
    background: #1c427f;
    border-style: none;
}


/* ################################### */

    /* News */

/* ################################### */
#TopNews .NewsBox.category {
    overflow-y: visible;
    height: auto;
    border: none;
}
/* ################################### */

    /* お役立ち情報（コラム） */

/* ################################### */
.column_img {
    width: 150px;
}
.column_summary {
    width: calc(100% - 180px);
}



area {
  cursor: pointer;
}

/* ################################### */

	/* support */

/* ################################### */
/* 
#human-resource #contents dl,
#support #contents dl{
	margin-bottom: 25px;
}

#human-resource #contents dt,
#support #contents dt{
	font-weight: bold;
	margin-bottom: 3px;
	font-size: 110%;
}
#human-resource #contents dt span,
#support #contents dt span{
	font-weight: normal;
}	

#human-resource #contents dt a ,
#support #contents dt a {
	padding: 0 15px 0 0;
}

#human-resource #contents dd,
#support #contents dd{
	margin-bottom: 10px;
	padding-bottom: 15px;
	border-bottom: 1px solid #CCC;
}

 */
.welfare_box {
    width: 720px;
}

.welfare_tbl {
	margin-bottom: 5px;
}
.welfare_tbl td {
	border: 1px solid #000000;
	text-align: center;
	vertical-align: top;
	padding: 5px;
}
.welfare_tbl td:first-of-type {
	white-space: nowrap;
}
.welfare_balloon_box {
	float: right;
	margin-top: 5px;
	margin-right: 100px;
}

.welfare_balloon {
 	position: relative;
	display: inline-block;
 	margin: 0;
	padding: 7px 20px;
	min-width: 120px;
 	max-width: 100%;
 	color: #fff;
	font-size: 16px;
	background: #F15A24;
    border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;   /* Firefox用 */
}

.welfare_balloon:before{
	content: "";
	position: absolute;
	top: 50%;
	left: -30px;
 	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #F15A24;
}

.welfare_balloon p {
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 1.1;
}
.welfare_balloon p span {
	font-size: 140%;
	font-weight: bold;
}

@media screen and (max-width: 640px){
    .welfare_box {
        width: 100%;
    }

    .welfare_tbl {
        clear: both;
        width: 100%;
    }
    .welfare_balloon_box {
        margin-right: 0;
    }
    .welfare_balloon {
        margin-bottom: 20px;
    }
    .welfare_balloon:before{
        content: "";
        position: absolute;
        top: 114%;
        left: 50%;
        margin-left: -15px;
        border: 15px solid transparent;
        border-top: 15px solid #F15A24;
    }
}

/* ################################### */

    /* コンサルタント */

/* ################################### */
/* 
@media screen and (max-width: 640px){
    #LowPage .Detail a::before {
        top: calc(80% - 1px);
    }
    #LowPage .Detail a::after {
        top: calc(80% - 0px);
    }
}
 */
/* ################################### */

    /* スタッフ専用ページ */

/* ################################### */
#human-resource main .Staff ul li {
    list-style: disc;
    margin-left: 1em;
}