@charset "UTF-8";
@import url(./css/notosansjapanese.css);
@import url(./css/font-awesome.css);


/*---------------------------------------
	contents_mainvisual PC版
---------------------------------------*/

.img_title {
	width: 100%;
	max-width: 1100px;
	height: auto;
	min-height: 160px;
	margin: 0 auto;
	text-align: center;
}

.img_title img {
	width: 100%;
	height: auto;
}


/*---------------------------------------
	main_visual
---------------------------------------*/

.main_visual {
	position: relative;
	z-index: 30;
}

.main_visual .mv_contents {
	display: inline-block;
	vertical-align: middle;
	width: 50%;
	height: 230px;
	cursor: pointer;
	overflow: hidden;
}
.main_visual .mv_contents .img_area,
.main_visual .mv_contents .txt_area {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 50%;
	height: 100%;
	overflow: hidden;
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.main_visual .mv_contents .img_area:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    transition: trans.tbform 0.3s ease;
}

.main_visual .mv_contents .txt_area {
	padding: 10px;
	position: relative;
	box-shadow: 0 0 8px 0 rgba(10,10,10,0.45) inset
}

.main_visual .mv_contents .txt_area .txt_box,
.main_visual .mv_contents .txt_area .icn_area {
	width: 100%;
	height: 100%;
}
.main_visual .mv_contents .txt_area .txt_box {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	background-color: #ffffff;
	padding: 20px 20px 65px;
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	transition: opacity 0.3s ease;
}
.main_visual .mv_contents:hover .txt_area .txt_box {
	opacity: 1;
}

.main_visual .mv_contents:hover .img_area:before {
    -moz-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

.main_visual .mv_contents .txt_area .txt_box .txt_title {
	color: #ffffff;
	font-size: 24px;
	padding-bottom: 20px;
}
.main_visual .mv_contents .txt_area .txt_box .txt {
	color: #ffffff;
	text-align: left;
	word-wrap: break-word;
}
.main_visual .mv_contents .btn_area {
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	margin: auto;
}

.main_visual .mv_contents .btn_area .btn_text {	color: #005599;}
.main_visual .mv_contents .btn_area:hover .btn_text {	color: #ffffff;}

.main_visual .mv_contents .txt_area .icn_area {
	position: relative;
	border: 1px solid #ffffff;
}

.main_visual .mv_contents .txt_area .icn_area {
}

.main_visual .mv_contents .txt_area .icn_area:before {
	content: "";
	display: block;
	width: 100px;
	height: 100px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: url(./img/bussiness_icn_sprite.png) no-repeat;
}

.main_visual .mv_contents .txt_area .icn_area:after {
	content: "";
	position: absolute;
	right: 3px;
	bottom: 3px;
	border: 6px solid;
	border-color: transparent #ffffff #ffffff transparent;
}

.main_visual .mv_contents .txt_area .btn_area:hover {	background-color: #5a98ff; 	border-color: #5a98ff;}

/* システム開発 */
.main_visual .mv_contents.system,
.main_visual .mv_contents.system .txt_area .txt_box {	background-color: #3dabde;}
.main_visual .mv_contents.system .txt_area .icn_area {	border-color: #7affff;}
.main_visual .mv_contents.system .txt_area .icn_area:before {
    width: 142px;
    height: 120px;
	background-position: 0 0;
}
.main_visual .mv_contents.system .txt_area .icn_area:after {
	border-color: transparent #7affff #7affff transparent;
}
.main_visual .mv_contents.system .img_area:before {	background-image: url(./img/mvimg_system.png);}

.main_visual .mv_contents.system .btn_area {	border-color: #7affff;}
.main_visual .mv_contents.system .btn_text {	color: #7affff;}
.main_visual .mv_contents.system .btn_area .btn_text:before {    border-left-color: #7affff;}

/* アウトソーシング */
.main_visual .mv_contents.outsourcing,
.main_visual .mv_contents.outsourcing .txt_area .txt_box {	background-color: #37bfc4;}
.main_visual .mv_contents.outsourcing .txt_area .icn_area {	border-color: #6effff;}
.main_visual .mv_contents.outsourcing .txt_area .icn_area:before {
	width: 142px;
	height: 100px;
	background-position: -200px 0;
}
.main_visual .mv_contents.outsourcing .txt_area .icn_area:after {
	border-color: transparent #6effff #6effff transparent;
}
.main_visual .mv_contents.outsourcing .img_area:before {	background-image: url(./img/mvimg_outsourcing.png);}

.main_visual .mv_contents.outsourcing .btn_area {	border-color: #6effff;}
.main_visual .mv_contents.outsourcing .btn_text {	color: #6effff;}
.main_visual .mv_contents.outsourcing .btn_area .btn_text:before {    border-left-color: #6effff;}

/* インフラソリューション */
.main_visual .mv_contents.inflasolution,
.main_visual .mv_contents.inflasolution .txt_area .txt_box {	background-color: #7067ea;}
.main_visual .mv_contents.inflasolution .txt_area .icn_area {	border-color: #ffffb2;}
.main_visual .mv_contents.inflasolution .txt_area .icn_area:before {
    background-position: 0 -150px;
    width: 144px;
    height: 106px;
}
.main_visual .mv_contents.inflasolution .txt_area .icn_area:after {
	border-color: transparent #e0ceff #e0ceff transparent;
}
.main_visual .mv_contents.inflasolution .img_area:before {	background-image: url(./img/mvimg_inflasolution.png);}

.main_visual .mv_contents.inflasolution .btn_area {	border-color: #ffffb2;}
.main_visual .mv_contents.inflasolution .btn_text {	color: #ffffb2;}
.main_visual .mv_contents.inflasolution .btn_area .btn_text:before {    border-left-color: #ffffb2;}

/* ハードウェア */
.main_visual .mv_contents.hardware,
.main_visual .mv_contents.hardware .txt_area .txt_box {	background-color: #2d77ff;}
.main_visual .mv_contents.hardware .txt_area .icn_area {	border-color: #5aeeff;}
.main_visual .mv_contents.hardware .txt_area .icn_area:before {
    background-position: -200px -150px;
    width: 170px;
    height: 115px;
}
.main_visual .mv_contents.hardware .txt_area .icn_area:after {
	border-color: transparent #5aeeff #5aeeff transparent;
}
.main_visual .mv_contents.hardware .img_area:before {	background-image: url(./img/mvimg_hardware.png);}

.main_visual .mv_contents.hardware .btn_area {	border-color: #5aeeff;}
.main_visual .mv_contents.hardware .btn_text {	color: #5aeeff;}
.main_visual .mv_contents.hardware .btn_area .btn_text:before {    border-left-color: #5aeeff;}

/* 工事 */
.main_visual .mv_contents.multi_media,
.main_visual .mv_contents.multi_media .txt_area .txt_box {	background-color: #a3db59;}
.main_visual .mv_contents.multi_media .txt_area .icn_area {	border-color: #5aeeff;}
.main_visual .mv_contents.multi_media .txt_area .icn_area:before {
    width: 160px;
    height: 107px;
	background-position: 0 -300px;
}
.main_visual .mv_contents.multi_media .txt_area .icn_area:after {
	border-color: transparent #ffffb2 #ffffb2 transparent;
}
.main_visual .mv_contents.multi_media .img_area:before {	background-image: url(./img/mvimg_multi_media.png);}

.main_visual .mv_contents.multi_media .btn_area {	border-color: #ffffff;}
.main_visual .mv_contents.multi_media .btn_text {	color: #ffffff;}
.main_visual .mv_contents.multi_media .btn_area .btn_text:before {    border-left-color: #ffffff;}

/* 電子出版 */
.main_visual .mv_contents.electronic_publishing,
.main_visual .mv_contents.electronic_publishing .txt_area .txt_box {	background-color: #46d68a;}
.main_visual .mv_contents.electronic_publishing .txt_area .icn_area {	border-color: #8cffff;}
.main_visual .mv_contents.electronic_publishing .txt_area .icn_area:before {
    width: 154px;
    height: 120px;
	background-position: -200px -300px;
}

.main_visual .mv_contents.electronic_publishing .txt_area .icn_area:after {
	border-color: transparent #8cffff #8cffff transparent;
}
.main_visual .mv_contents.electronic_publishing .img_area:before {	background-image: url(./img/mvimg_electronic_publishing.png);}

.main_visual .mv_contents.electronic_publishing .btn_area {	border-color: #8cffff;}
.main_visual .mv_contents.electronic_publishing .btn_text {	color: #8cffff;}
.main_visual .mv_contents.electronic_publishing .btn_area .btn_text:before {    border-left-color: #8cffff;}




/*---------------------------------------
	contents_mainvisual-company PC版 1100px以上のディスプレイ
---------------------------------------*/
@media screen and (min-width:1100px) {
	/*　画面サイズが1100px以上はここを読み込む　*/
}

/*---------------------------------------
	contents PC版
---------------------------------------*/
.main_contents .section_area {
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	margin: -100px 0 50px 0;
	padding: 180px 10px 0 10px;
	overflow-x: hidden;
}
.text_border {
	font-weight: bold;
	font-size: 49px;
}

.main_contents .news {
	margin-top: 100px;
	padding: 30px 10px;
}

.main_contents .access {
	padding: 100px 20px 20px 20px;
}


.container h2 {
	text-align: center;
	margin-bottom: 30px;
}

.main_title {
	font-size: 40px;
	font-weight: 100;
	line-height: 50px;
	color: #a58004;
	text-transform: capitalize;
}

.sub_title {
	font-size: 16px;
	font-weight: 100;
	color: #777777;
}

h2 .sub_title {	margin-top: 6px;	letter-spacing: 2px;}

h2 .sub_title:before, .sub_title:after{
	content: "-";
	margin: 0 4px;
}

.section_wrap {
	padding: 40px;
	position: relative;
}

/*---------------------------------------
	contents
---------------------------------------*/

.section_wrap {
	background-color: #ffffff;
	border-radius: 4px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	box-shadow: 0 0 3px #dddddd;
}

strong {	font-size: 18px;	font-weight: bold;}
.text_left {	margin: 8px 0;	text-align: left;}
.text_right {	margin: 8px 0;	text-align: right;}
.text_center {	margin: 8px 0;	text-align: center;}
.caution {	color: #9d0000;}
.caution.info_title:before {	background-color: #9d0000;}

/*	メールフォーム	*/
.tbform {
	/*max-width: 450px;*/
	width: 100%;
	margin: 0 auto;
}
.tbform label {	cursor: pointer;}
.tbform br{ display: none;}
.tbform label,
.tbform textarea {
	width: 100%;
	display: block;
	margin: 10px 0;
	border-radius: 4px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	overflow: hidden;
}

.tbform textarea {
	padding: 20px;
	height: 100px;
	max-width: 100%;
}

.tbform label:not([for="submit"]):not([for="agree"]) {
	height: 40px;
	background-color: #005599;
}

.tbform label:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0;
	height: 100%;
}

.tbform label:not([for="submit"]):not([for="agree"]) .label_text,
.tbform label input[type=text] {
	display: inline-block;
	vertical-align: middle;
}

.tbform label:not([for="submit"]):not([for="agree"]) .label_text {
	color: #ffffff;
	text-align: center;
	width: 200px;
}

.tbform label input[type=text] {
	width: 250px;
	padding: 0 6px;
	height: 100%;
}

.tbform label input[type=text],
.tbform textarea {
	outline: none;
	border: none;
	background-color: #eeeeee;
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
.tbform label input[type=text]:focus,
.tbform textarea:focus {
	border-left: 1px solid #ededed;
	border-right: 1px solid #ededed;
	border-top: 1px solid #ededed;
	background-color: #ffffff;
}

.tbform textarea:focus {
	padding: 19px;
}

.tbform label:not([for="submit"]):not([for="agree"]),
.tbform textarea {
	border-bottom: 5px solid #005599;
	position: relative;
}
.tbform label[for=free] { height: auto !important;}
/* agree */
.tbform label[for=agree] {
	text-align: center;
}
.tbform label[for=agree] .label_text {	margin-left: 20px;}

.partner label.check_agree label,
.partner label.check_agree{ 
	background: none !important;
	border-bottom-width: 1px !important;
	box-sizing: border-box;
	width: auto !important;
	height: auto !important;
}
.partner label.check_agree label{ border-bottom: none !important; }
/* submit */
.tbform label[for=submit] {
	display: block;
	width: 300px;
	height: 56px;
	margin: 0 auto;
	border-radius: 4px;
	font-size: 18px;
	font-weight: lighter;
	position: relative;
	box-sizing: border-box;
	transition: all 0.3s ease;
	border: solid 1px #005599;
	cursor: pointer;
	text-align: center;
}

.tbform label[for=submit]:hover {	background-color: #5293ff;	border-color: #5293ff;}
.tbform label[for=submit]:active {	background-color: #00d6ff;	border-color: #00d6ff;}
.tbform label[for=submit]:hover .label_text {	color: #ffffff;}

.tbform label[for=submit]:hover .label_text:before {border-left-color: #ffffff;}

.tbform label[for=submit] .label_text {
	color: #005599;
	font-weight: 100;
	transition: color 0.3s ease;
}

.tbform label[for=submit] .label_text:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-width: 4px 6px;
    border-color: transparent transparent transparent #5293ff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 40px;
    transition: border-color 0.3s ease;
}

/* .tbform input[type=submit] {	display: none;} */

input[type="submit"][disabled],
input:hover[type="submit"][disabled]{
	cursor:not-allowed;
	color: #aaaaaa;
	border: solid 1px #aaaaaa;
	background: #eeeeee;
}

/* h3 */

.section_wrap h3 {
	font-size: 26px;
	font-weight: lighter;
	margin-bottom: 40px;
	padding: 20px 50px;
	color: #777777;
	position: relative;
	border-bottom: 2px solid #cccccc;
}

.section_wrap h3::after {
	position: absolute;
	bottom: -2px;
	left: 0;
	z-index: 2;
	content: '';
	width: 180px;
	height: 2px;
	background-color: #a58400;
}

/* article h4 */
.article_wrap {	position: relative;	padding: 20px;}

h4 + .article_wrap {	padding: 0 20px 20px;}

.section_wrap h4 {
	font-size: 20px;
	font-weight: lighter;
	color: #444444;
	line-height: 50px;
	position: relative;
	border-left: solid 16px #5293ff;
	border-bottom: solid 1px #AAAAAA;
	margin: 20px 0;
}

.section_wrap h4::before {
	display: inline-block;
	content: "";
	width: 20px;
	height: auto;
}

.section_wrap h4::after {
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	border-style: solid;
	border-width: 4px 6px;
	border-color: transparent transparent transparent #5293ff;	
}

/* block_wrap h5 */
.block_wrap {	position: relative;	padding: 10px 20px 20px;}

h5 + .block_wrap {	padding: 0 20px 20px;}

.section_wrap h5::before {
	display: inline-block;
	content: "";
	width: 15px;
	height: auto;
}

.section_wrap h5 {
	font-size: 18px;
	font-weight: lighter;
	color: #444444;
	background-color: #f7f7f7;
	line-height: 40px;
	position: relative;
	border-left: solid 8px #5293ff;
	margin: 10px 0;
}

.section_wrap h5::after {
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	left: 0px;
	top: 15px;
	border-style: solid;
	border-width: 4px 6px;
	border-color: transparent transparent transparent #5293ff;
}

/* box_wrap h6 */
.box_wrap {	position: relative;	padding: 10px;}

h6 + .box_wrap {	padding: 0 10px 10px;}

.section_wrap h6 {
	color: #ffffff;
	height: 24px;
	line-height: 24px;
	font-size: 16px;
	font-weight: normal;
	background-color: #5293ff;
	border-radius: 5px;
	display: inline-block;
	vertical-align: middle;
	margin: 10px 0;
} 

.section_wrap h6 .title_text {
	display: inline-block;
	position: relative;
	padding: 0 10px 0 30px;
}

.section_wrap h6 .title_text::before {
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-width: 4px 6px;
	border-color: transparent transparent transparent #A4FFFF;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
}

/* list,table etc */

.group_list {
	display: flex;
	margin-top: 20px;
}

.group_list + .group_list {
	margin-top: 50px;
}

.group_list .list_title {
	text-align: center;
	padding: 0 30px;
	font-size: 24px;
	font-weight: lighter;
	color: #a58400;
	background-color: #FFFFFF;
	display: inline-block;
	position: absolute;
	top: -15px;
	left: 20px;
}

.group_list dl {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	border: solid 1px #cccccc;
	background-color: #ffffff;
	display: inline-flex;
	min-width: 220px;
}

.group_list dl + dl {
	margin-left: 20px;
}
.list_text{
	padding: 40px 30px 30px;
	line-height: 1.8em;
}

.list_text span {
	display:inline-block;
	width: 100%;
}

.group_list.column01 dl span {	width: 25%;}
.group_list.column02 dl span {	width: 50%;}

.group_list dl .sports span {
	width: 100%;
}

.group_list dl .logistics span {
	width: 70%;
}

.group_list dl .siler span {
	width: 33%;
    padding-left: 3px;
}
.group_list dl .siler span a {
	padding: 0;
}
.group_list dl .other span:nth-child(odd) {
	font-size: 15px;
	letter-spacing: 5px;
}

ul li:before{
	content: '';
	width: 16px;
	height: 4px;
	display: inline-block;
	background: #999999;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

ul li {
	font-size: 14px;
	line-height: 30px;
	list-style: none;
	padding-left: 26px;
	position: relative;
}

ol {
	counter-reset:sample;
}



.number_list li{
	font-size: 14px;
	line-height: 24px;
	list-style: none;
	position: relative;
	padding-left: 42px;
	margin-bottom: 10px;
}

.number_list li:before{
	counter-increment:sample;
	content:counter(sample);
	color: #FFFFFF;
	width: 24px;
	height: 24px;
	line-height: 24px;
	text-align: center;
	background: #5293ff;
	border-radius: 5px;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.number_list li:after{
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	left: 23px;
	top: 0;
	bottom: 0;
	margin: auto;
	border-style: solid;
	border-width: 4px 6px;
	border-color: transparent transparent transparent #5293ff;
}

.info_title:before{
	content: '';
	width: 10px;
	height: 10px;
	display: inline-block;
	margin: 2px 0 0 0;
	background: #999999;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
}

.info_title{
	font-size: 12px;
	color: #888888;
	margin-bottom: 10px;
	position: relative;
	padding-left: 20px;
}

.info_wrap{
	font-size: 16px;
	/*margin: 10px;*/
	padding: 20px;
	color: #888888;
	background-color: #FAFAFA;
	border: 1px solid #E5E5E5;
	display: inline-block;
	/*line-height: 30px;*/
}

.info_list i {
	margin-right: 10px;
}

.info_list{
	list-style: none;
	line-height: 30px;
}

.section_wrap table {
	width: 100%;
	margin: 0 auto;
}


.section_wrap th,.section_wrap td {	vertical-align: middle;}

.section_wrap th {
	font-size: 18px;
	color: #FFFFFF;
	width: 200px;
	height: 50px;
	background-color: #5090F9;
	font-weight: lighter;
	text-align: center;
}

.section_wrap tr:nth-child(2n) th {
	background-color: #5293ff;
}

.section_wrap td {
	height: 50px;
	padding: 15px 30px;
	background-color: #f9f9f9;
	box-sizing: border-box;
}

.section_wrap tr:nth-child(2n) td {
	background-color: #FFFFFF;
}

.high_chara {
	text-align: center;
	font-size: 18px;
	font-weight: normal;
	max-width: 960px;
	height: auto;
	border: solid 3px #005599;
	padding: 10px 20px;
}

.float_left {	float: left;}
.float_right {	float: right;}

/*---------------------------------------
	button style
---------------------------------------*/

.container a {
	color: #005599;
	padding: 10px;
	transition: color 0.3s ease;
}
a.type02 {	text-decoration: underline;	color: #777777;}
a:hover:not(.btn_area):not(.link_area):hover {	color: #5293ff;}
a:hover:not(.btn_area):not(.link_area).type02:hover {	text-decoration: none;	color: #777777;}

a.btn_area,a.link_area {text-decoration: none;}

/* btn_area */
a.btn_area {
	display: inline-block;
	vertical-align: middle;
	height: 56px;
	border-radius: 4px;
	padding: 0 40px 0 70px;
	font-size: 18px;
	font-weight: lighter;
	position: relative;
	box-sizing: border-box;
	transition: all 0.3s ease;
}

a.btn_area .btn_text {	font-weight: 100;}

a.btn_area.type01 {	border: solid 1px #005599;}

a.btn_area.type02 {
	border-color: #5293ff;
	color: #ffffff;
	background-color: #5293ff;
}

a.btn_area:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0;
	height: 100%;
}

.btn_text:before,.btn_text:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	margin: auto;
	border-style: solid;
	border-width: 4px 6px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 40px;
	transition: border-color 0.3s ease;
}

a.btn_area.type01 .btn_text:before,a.link_area .btn_text:before {	border-color: transparent transparent transparent #5293ff;}
a.btn_area.type02 .btn_text:before {	border-color: transparent transparent transparent #a4ffff;}

a.btn_area:hover {	color: #ffffff;	background-color: #005599;}
a.btn_area:hover .btn_text:before {	border-color: transparent transparent transparent #ffffff;}

a.btn_area:active {	background-color: #00d6ff;	border-color: #00d6ff;}

/* link_area */
a.link_area {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	font-weight: lighter;
}

a.link_area.type01 {
	padding: 10px 10px 10px 40px;
	font-size: 18px;
}
a.link_area.type02 {
	padding: 0 10px 0 24px;
	font-size: 12px;
}
a.link_area.type02 .btn_text {	color: #005599;}
a.link_area .btn_text:before {
	left: 10px;
}

.btn_text:after {
	opacity: 0;
	border-width: 2px 3px;
	left: 11px;
	border-color: transparent transparent transparent #ffffff;
	transition: opacity 0.3s ease;
}

a.link_area:hover {	text-decoration: underline;}
a.link_area:hover .btn_text:after	{	opacity: 1;}

a.btn_area + a.btn_area {	margin-left: 40px;}
a.link_area + a.link_area {	margin-left: 20px;}


/*---------------------------------------
	各コンテンツごとstyle
---------------------------------------*/

.section_area .section_wrap + .float_left {	margin-left: 20px;}

/*---------------------------------------
	top
---------------------------------------*/

.section_area.news {
	position: relative;
	height: 280px;
}

.section_area.news .section_wrap {
	height: 100%;
	position: absolute;
	top: 0;
	padding: 0;
}

.section_area.news .section_wrap.news_title {
	height: 150px;
}

.section_area.news .section_wrap.news_list {
	height: auto;
}

.section_area.news .section_wrap:first-child {
	width: 250px;
	background-color: #005599;
}
.section_area.news .section_wrap:last-child {
	left: 270px;
	right: 0;
}

.section_area.news .section_wrap h2 {
/*	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;*/
	margin-top: 30px;
/*	margin: auto;
    width: 200px;
    height: 140px;*/
}
.section_area.news .section_wrap h2 .main_title {	color: #ffffff;}
.section_area.news .section_wrap h2 .sub_title {	color: #5293ff;}
.section_area.news .section_wrap a.btn_area {
	margin-top: 30px;
	height: 36px;
}

.section_area.news .section_wrap ul {
	/*position: relative;
	height: 100%;*/
}

.section_area.news .section_wrap li {
  border-bottom: 1px #cccccc solid;
	background: none;
	position: relative;
	padding: 0;
}
.section_area.news .section_wrap li:before { background: none; }
.section_area.news .section_wrap li a{
	display: block;
	padding: 8px 20px 8px 170px;
	line-height: 1.7;
	transition: all 0.3s ease;
}
.section_area.news .section_wrap li em{
	width: 130px;
	margin-left: -130px;
	display: inline-block;
	color: #444;
	font-style: normal;
	vertical-align: middle;
}

.section_area.news .section_wrap li:first-child em:before {
	content: "new";
	color: #ffffff;
    height: 22px;
	padding: 2px 7px;
	vertical-align: middle;
	line-height: 20px;
	background-color: #003349;
	position: absolute;
	left: 120px;
    top: 7px;
    bottom: 0;
    margin: 0;
	border-radius: 1px;
}
.section_area.news .section_wrap li span {
	display: inline-block; 
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 100%;
	padding: 0;
	vertical-align: middle;	
}
.section_area.news .section_wrap li a:hover {
	background-color: #ededed;
}


.menu_post{ 
	position: relative;
	margin: 40px 0;
	text-align: center;
	min-height: 50px;
}
.menu_post li{ padding-left: 0;}
.menu_post li:before{
	background: none;
	
}
.menu_post .prev a,
.menu_post .next a{
	width: 42px;
	height: 42px;
	background: url(./img/arrow01.png) no-repeat center #005599;
	background-size: 12px;
	float: left;
	display: block;
	padding: 0;
}
.menu_post .next a{
	background-image: url(./img/arrow02.png);
	float: right;
}
.menu_post .tolist{
	position: absolute; 
	top: 50%;
	left: 50%; 
	transform: translate(-50%,-50%);	
}
.menu_post .tolist a{
	background: #005599;
	color: #FFF;
	padding: 8px 15px;
	min-width: 130px;
	display: inline-block;
	text-align: center;
	text-indent: inherit;
}
.menu_post .tolist a:hover{ background-color: #6EACCA; transform:none; color: #FFF !important;}
.menu_post a{
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.menu_post a:hover{
	opacity: 0.6;
}

#the_content p{ margin-bottom: 20px; }

/* access */

.section_area.access .section_wrap.map,
.section_area.access .section_wrap.access {
	display: inline-block;
	vertical-align: middle;
	width: 50%;
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.section_area.access .section_wrap.map {
	width: 47%;
	margin-right: 30px;
	padding: 10px;
}

.section_area.access .section_wrap.access {	
	padding: 0;
	position: absolute;
	right: 0;
}

.section_area.access .section_wrap.access .main_title {
	padding: 0 40px;
	font-size: 24px;
	line-height: 60px;
	border-bottom: 1px solid #cccccc;
}

.section_area.access .section_wrap.access .article_wrap {
	margin: 20px 0;
	font-size: 20px;
}

.section_area.access .section_wrap.access .article_wrap i,
.section_area.access .section_wrap.access .article_wrap p {
	display: inline-block;
	vertical-align: middle;
}

.address + i,
.address + i + p {	padding-top: 40px;}
.address .small {
	display: block;
	font-size: 13px;
}

.section_area.access .section_wrap.access .article_wrap i {
	font-size: 50px;
	height: 60px;
	line-height: 60px;
	vertical-align: middle;
	margin: 0 20px;
	color: #005599;
}

.access .container {
	margin-bottom: 50px;
}

/*---------------------------------------
	company
---------------------------------------*/
/* Corporate Philosophy 企業理念 */
/*	.corporate_philosophy {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
*/

	.corporate_philosophy_text{
		padding-top:20px;
    	margin: auto;
		box-shadow: none;
		text-align:center;
	}

	.corporate_philosophy {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
    	width: 65%;
    	margin: auto;
		box-shadow: none;
	}

	.corporate_philosophy .article_text {
		height: 200px;
	}

	.corporate_philosophy .cp_box {
		width: 50%;
		height: auto;
		margin:auto;
	}

	.corporate_philosophy .appreciate {
		background-image: url(./img/bg-appreciate.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center;
	}

	.corporate_philosophy .modesty {
		background-image: url(./img/bg-modesty.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center;
	}

	.corporate_philosophy .integrity {
		background-image: url(./img/bg-integrity.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center;
	}

	.corporate_philosophy .enthusiasm {
		background-image: url(./img/bg-enthusiasm.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center;
	}

	.corporate_philosophy p {
	    line-height: 30px;
	    font-size: 13px;
	}

	/* massage 代表者挨拶 */
	.main_contents .section_area.message .article_text {
		line-height: 2.4em;
	}

	.section_area.message .section_wrap. {	padding: 70px;}

	.float_img {
		float: right;
		margin-left: 20px;
		display: block;
  		height: auto;
		width: 500px;
	}

	.form_item {
		border: none;
		width: 54.9%;
		height: 40px;
		font-size: 12px;
    	color: #777777;
	}

	.company_pro table td {
		line-height: 20px;
	}

	/*enkaku*/
	.history_list {
		overflow:hidden;
	}
	.history_list dl {
		width: 100%;
	}
	.history_list_title {
		width: 20%;
		position: relative;
		padding:0 0 10px 20px;
		float: left;
		clear: left;
		font-size: 24px;
		box-sizing: border-box; 
		margin: 0;
	}
	.history_list_title span {
		font-size: 18px;
	}
	.history_list_text {
		width: 80%;
 		padding: 8px 4px 30px 80px;
		margin: 0 0 0 21%;
		position: relative;
	}
	.history_list_text:before {
		content: '';
		width: 25px;
		height: 25px;
		position: absolute;
		background: #a58400;
		top: 50%;
		left: 10px;
		margin-top: -20px;
		border-radius: 50%;
		display: block;
	}
	.history_list_text:after {
		content: '';
		width: 5px;
		height: 100%;
		position: absolute;
		background: #a58400;
		top: 50%;
		left: 16px;
		margin: 0 4px;
		padding-top: 20%;
		display: block;
	}
	.history_list_text span {
		width:100px;
		height:100px;
		position: relative;
	}

/*---------------------------------------
	service
---------------------------------------*/
	.service .section_wrap .group_list dl {
		width: 360px;
	}
	.service .section_wrap .group_list dl .list_text .short_text {
		padding-top: 10px;
	}

	.service_menu {
		padding-left: 170px;
		height: 80px;
	}
	.service_menu::before {
		content: "";
		display: block;
		width: 140px;
		height: 120px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background: url(./img/bussiness_icn_sprite.png) no-repeat;
		background-size: 300px auto;
	}

	.service_title {
		margin: 5% 0 5% 32%;
		font-size: 50px;
		color: #8e7c03;
	}

	.service_title p {
		position: relative;
		left: 0px;
	}

	.service_title span {
		font-size: 12px;
		color: #8f8f8f;
		position: absolute;
		top: 90px;
	}

	.sysdeve::before {
		background-position: 30px 20px;
		background-size: 315px;
	}

	.out::before {
		background-position: -120px 30px;
	}

	.service .section_wrap .group_list dl .infra {
		padding-right: 15px;
		padding-left: 160px;
		padding-top: 50px;
	}
	.infra::before {
		background-position: 30px -90px;
		top: 13px;
	}

	.hard::before {
		background-position: -138px -90px;
	}

	.mulch::before {
		background-position: 10px -195px;
	}

	.e_shinbun::before {
		background-position: -130px -200px;
	}

	.system_menu .section_wrap::before {
		content: "";
		display: block;
		width: 220px;
		height: 200px;
		background: url(./img/bussiness_icn_sprite.png) no-repeat;
		background-size: 600px auto;
		position: relative;
	}

	.system_menu .section_wrap .section_wrap_block {
		position: absolute;
		left: 265px;
		top: 30px;
		padding: 40px;
	}

	.system_developer .section_wrap::before {
		background-position: 5px 0px;
	}

	.outsourcing .section_wrap::before {
		background-position: -297px 20px;
	}

	.infrasolution .section_wrap::before {
		background-position: 0px -220px;
	}

	.hardware .section_wrap::before {
		width: 300px;
		background-size: 500px auto;
		background-position: -250px -170px;
	}

	.mulch_media .section_wrap::before {
		background-size: 530px auto;
		background-position: 0px -390px;
	}

	.electronic_publishing .section_wrap::before {
		background-size: 500px auto;
		background-position: -240px -360px;
	}



	dt.service_list_title {
		font-size: 14px;
		line-height: 20px;
		padding-top: 5px;
		padding-bottom: 5px;
		padding-left: 26px;
		position: relative;
	}
	dt.service_list_title:before {
		content: '';
		width: 16px;
		height: 4px;
		display: inline-block;
		background: #999999;
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	dd.service_list_text {
		padding-left: 26px;
		font-size: 14px;
		line-height: 20px;
		margin-bottom: 5px;
	}
	.system_menu ul li {
		line-height: 20px;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	
	.section_wrap .h4_text {
		padding: 0 10px 20px 20px;
	}
	.wrap_text + h5 {
		margin-top: 20px;
	}

	.wrap_img img {
		box-shadow: 0px 0px 1px 1px rgba(0,0,0,0.2);
		margin-bottom: 10px;
	}
	.wrap_img a {
		padding: 0 20px 10px 0;
	} 
	.captionarea_img figure {
		display: inline-block;
		margin: 10px 20px 0 0;
	}
	.captionarea_img figure img {
		display: block;
		box-shadow: 0px 0px 1px 1px rgba(0,0,0,0.2);
	}
	.captionarea_img figcaption.img_caption {
		text-align: center;
		padding-top: 10px;
	}
	.captionarea_img figcaption.img_caption:before {
		content: "-";
    	margin: 0 4px;
    }
    .captionarea_img figcaption.img_caption:after {
		content: "-";
		margin: 0 4px;
    }
/*20170613追記*/
.ec_link {
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 50%;
}

.ec_link img{
	margin-bottom: 30px;
}

/*追記終了*/


/*---------------------------------------
	partner
	---------------------------------------*/
	.partner .wrap_text {
		padding-left: 20px;
		line-height: 2em;
	}

	.partner .info_wrap {
        margin-top: 20px;
		margin-left: 20px;
		letter-spacing: 3px;
	}

	.partner .info_title {
		margin-left: 20px;
		margin-top: 10px;
	}

	.partner .info_title::before {
		background-color: #ff0000;
	}

	.partner .info_title {
		padding-left: 20px;
		position: relative;
		letter-spacing: 2px;
		color: #ff0000;
	}

	.partner .box_wrap {
		margin-top: 30px;
		text-align: center;
	}

	.partner .tbform {
		margin-top: 50px;
		-moz-margin-top: 50px;
	}

	.partner label:not([for="submit"]):not([for="agree"]) .label_text {
		width: 20%;
	}

	.partner .tbform input[type=text]{
		width: 80%;
	}
	.partner .tbform textarea{
		display: inline-block;
		width: 100%;
		height: 6em;
		margin: 0;
		vertical-align: middle;
		border-radius: : 0;
	}
	.partner .form_item {
		position: absolute;
		width: 89.4%;
	}

	.partner .scroll{
		overflow: auto;
		word-wrap: normal;
		height: 190px;
        line-height: 2em;
		margin: 1.5em 0;
		padding: 10px;
		border: solid 1px #bbb;
	}

	.partner .check_agree {
	    color: #005599;
		border: solid 1px #005599;
		display: inline-block;
		vertical-align: middle;
		border-radius: 4px;
		padding: 10px 20px;
		font-size: 18px;
		font-weight: lighter;
	}

	.partner .agree {
		-webkit-transform: scale(2.0);
		transform: scale(2.0);
		margin-right: 1.5em;
		margin-top: -1px;
	}

	.partner .btn_area {
		width: 300px;
	}

	.partner .erorr{
		color: red;
		font-weight: bold;
	}

	.partner .submit {
		width: 300px;
		height: 56px;
		border-radius: 4px;
		font-size: 18px;
		color: #005599;
		box-sizing: border-box;
		transition: all 0.3s ease;
		border: solid 1px #005599;
		cursor: pointer;
		background: rgba(0, 0, 0, 0);
	}
	.partner .submit:hover {
		    background-color: #5293ff;
   			border-color: #5293ff;
   			color: #FFFFFF;
   	}

/*---------------------------------------
	recruit
	---------------------------------------*/
	.section_wrap .newgraduait {
		display: block;
		height: 120px;
		padding: 0;
		margin-bottom: 90px;
	}

	.section_wrap .newgraduait img {
		width: 100%;
		height: auto;
	}

	.recruit .section_wrap .wrap_text {
		line-height: 25px;
		margin-bottom: 20px;
	}

	.recruit .section_wrap li {
		list-style: none;
		line-height: 40px;
	}

	.recruit .section_wrap ul li:before {
		display: none;
	}

	.privacy .section_wrap .h3_text,
	.privacy .section_wrap .h4_text {
		line-height: 25px;
		margin-bottom: 40px;
	}

	.privacy .section_wrap .left {
		line-height: 10px;
		margin-top: 20px;
	}

	.privacy .section_wrap .info_title {
		margin-top: 40px;
	}

	/* new banar */
	.banar_wrap{
		width: 680px;
		height: 130px;
		margin: 0 auto;
		display: flex;
		display: -webkit-flex;
		justify-content: center;
		-webkit-justify-content: center;
	}

	.container .banar_wrap_child{
		padding:0px 10px;
		transform:scale(0.8);
		transform-origin: right;
	}

	.container .banar_child a:last-child{
		padding:0px 10px 50px;
	}


	.banar_p, .banar_img{
		background-color: #1B294F;
		background-repeat: no-repeat;
		width: 340px;
		height: 130px;
		text-align: center;
	}
	.banar_img {
		background-color: silver;
	}

	.banar_p p{
		color: #FFFFFF;
		padding: 10px 60px 0 0;
		position: relative;		
	}

	.banar_p p::after {
	    content: "";
	    position: absolute;
	    top: 50%;
	    right: 50px;
	    width: 35px;
	    height: 35px;
	    margin: -10px 0 0 0;
	    border-top: solid 2px rgb(175, 175, 175);
	    border-right: solid 2px rgb(175, 175, 175);
	    -webkit-transform: rotate(45deg);
	    transform: rotate(45deg);
	}

	.p_main{
	    font-size: 35px;
	    line-height: 100px;
	}

	.p_main_child{
		font-size:25px;
		line-height:110px;
	}

	.p_sub{
		font-size: 20px;
	}

	.new_graduait .banar_img{
		background-image: url(./img/newgraduation.png);
	}

	.intern .banar_img{
		background-image: url(./img/intern.png);
		background-size:cover;
	}

	.mid_career .banar_img{
		background-image: url(./img/mid_career.png);
	}

	.handicapped .banar_img{
		background-image: url(./img/handicapped.png);
	}
    .recruit .from_btn {
    display: block;
    margin: 15px 0;
    padding: 30px;
    border-radius: 20px;
    border: 3px solid #5090f9;
    background-color: #ffffff;
    text-align: center;
    font-size: 2.2em;
    }
/*---------------------------------------
	privacy
	---------------------------------------*/

	dl.pmark {
		width: 500px;
		float: left;
		clear: left;
	}
	dt.pmark_title {
		width: 20%;
		float: left;
		clear: left;
	}
	dd.pmark_text {
		width: 80%;
		margin-left: 20%;
	}
	dd.pmark_text:before {
		content: "：";
		padding-right: 10px;
	}

	#policy_list {
		padding-left: 20px;
	}
	#policy_list li {
		counter-increment: policy;
		padding-left:1em;
		text-indent:-2.5em;
	}
	#policy_list li:before {
		content: "（" counter(policy) "）";
	}

	.privacy .section_wrap .h3_text,
	.privacy .section_wrap .h4_text {
		line-height: 23px;
		margin-bottom: 40px;
	}
	.privacy .section_wrap .h3_text li {
		padding-bottom: 10px;
	}
	.privacy .section_wrap .h4_text p {
	margin-bottom: 5px;
	}
	.privacy .section_wrap .left p {
		line-height: 15px;
		margin-top: 20px;
	}

	.privacy .section_wrap .info_title {
		margin-top: 40px;
	}
	li.number i.fa-fw,
	li.address i.fa-fw {
		padding-right: 10px;
	}


/*WebServis&support*/
/*20170609*/
.ec_icon {
	margin-left: auto;
	margin-right: auto;
	background-repeat: no-repeat;
	height: auto;
	width: 100%;
	max-width: 100%;
}
.ec_icon li    {
	width: 25%;
	max-width: 25%;
	float: left;
	margin-bottom: 20px;
	padding-left: 0px;
	padding-right: 0px;
}
/*0614*/
.ec_icon_sp ul li .ec_img {
	width: 0px;
}
/**/
.support li:before    {
	border: none;
	width: 0px;
	height: 0px;
}
.ec_flow {
	margin-left: auto;
	margin-right: auto;
	background-repeat: no-repeat;
	height: auto;
	width: 60%;
}
.ec_flow_sp {
	width: 0%;
}
.ec_flow2 {
	margin-left: auto;
	margin-right: auto;
	background-repeat: no-repeat;
	height: auto;
	width: 90%;
}
.ec_flow2_sp {
	width: 0%;
}
.ec_img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
/*20170609 end*/


/*---------------------------------------
	SP版
	---------------------------------------*/
@media screen and (max-width:750px) {

	/*---------------------------------------
		header SP版
	---------------------------------------*/
	.header_pc_wrap {	display: none;}
	.header_sp_wrap {	display: block;}

	/*---------------------------------------
		contents_mainvisual SP版
	---------------------------------------*/
	.container {
		margin: 50px 0 auto;
	}

	.img_title img {
		display: none;
	}

	.img_news {
		background-image: url(./img/sp_title_company.png);
		background-size: 100% 100%;	
	}

	.img_company {
		background-image: url(./img/sp_title_company.png);
		background-size: 100% 100%;
	}

	.img_service {
		background-image: url(./img/sp_title_service.png);
		background-size: 100% 100%;
	}

	.img_partner {
		background-image: url(./img/sp_title_partner.png);
		background-size: 100% 100%;
	}

	.img_recruit {
		background-image: url(./img/sp_title_recruit.png);
		background-size: 100% 100%;
	}

	.img_privacy {
		background-image: url(./img/sp_title_privacy.png);
		background-size: 100% 100%;
	}
	
	.img_inquiry {
		background-image: url(./img/sp_title_inquiry.png);
		background-size: 100% 100%;
	}

	.img_snsguideline {
		background-image: url(./img/sp_title_snsguideline.png);
		background-size: 100% 100%;
	}

	.chart .section_wrap img {
		display: none;
	}

	.chart .section_wrap {
		content: "";
		height: 460px;
		background-image: url(./img/img_chart_sp.png);
		background-size: 100% auto;
		background-repeat: no-repeat;
	}

	@media screen and (orientation: landscape) {
		.chart .section_wrap {
			height: 870px;
		}
	}

	/* submit */
	.tbform label[for=submit] {
		width: auto;
	}

	/*---------------------------------------
		contents SP版
	---------------------------------------*/
	.main_contents .section_area .section_wrap .wrap_text {
		padding-left: 0;
	}

	.container h2 {
		width: 100%;
	}

	.main_title { 
		font-size: 40px;
	}

	.section_wrap {	padding: 20px;}

	.section_wrap h3 {	padding: 20px 0;	margin-bottom: 30px;}
	.section_wrap h3::after {	width: 70px;}

	.section_wrap h4 {margin-bottom: 10px;}

	.group_list {	display: block;}
	.group_list + .group_list {	margin-top: 20px;}
	.group_list dl + dl {	
		margin: 20px 0;
		width: 100%;
	}
	.group_list .list_title {
		left: 40px;
		right: 40px;
	}

	.group_list dl .list_text {	padding: 26px 10px 10px;}
	.group_list dl .list_text span {
        width: 100%;
        padding-bottom: 5px;
    }
    
	.section_wrap tbody ,.section_wrap tr,
	.section_wrap th ,.section_wrap td {
		display: block;
	}

	.section_wrap th,.section_wrap td {	width: 100%;}
	.section_wrap td { height: auto;}
	.section_wrap th:before,.section_wrap td:before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		height: 100%;
		width: 0;
	}

	.high_chara { height: auto;}

	a.btn_area {
		display: block;
		width: 100%;
		margin: 10px 0;
	}

	a.btn_area + a.btn_area {	margin-left: 0;}

	/*---------------------------------------
		main_visual SP版
	---------------------------------------*/
	.main_visual {
		margin-top: 50px;
	}

	.main_visual .mv_contents {	width: 100%;}

	.main_visual .mv_contents:nth-of-type(2) .img_area,
	.main_visual .mv_contents:nth-of-type(3) .txt_area,
	.main_visual .mv_contents:nth-of-type(6) .img_area {
		left: 50%;
	}
	.main_visual .mv_contents:nth-of-type(2) .txt_area,
	.main_visual .mv_contents:nth-of-type(3) .img_area,
	.main_visual .mv_contents:nth-of-type(6) .txt_area {
		left: -50%;
	}

	.main_visual .mv_contents .txt_area .txt_box {
		opacity: 1;
		background: transparent!important;
		height: 0;
		top: initial;
		bottom: 0;
	}

	.main_visual .mv_contents .txt_area .txt_box h2.txt_title {	
		padding-bottom: 10px;
		font-size: 13px;
	}

	.main_visual .mv_contents .txt_area .txt_box .txt {
		display: none;
	}

	.main_visual .mv_contents .txt_area .txt_box .btn_area {
        height: 230px;
        border: none;
        font-size: 0;
        padding: 0;
        bottom: 0;
        top: -150px;
        left: 0;
        right: 0;

    }
    .btn_text:before {
        content: none;
    }
	
	.main_visual .mv_contents .txt_area .icn_area:before {
		height: 60px!important;
		background-size: 200px auto!important;
		bottom: 30px;
	}

	.main_visual .mv_contents.system .txt_area .icn_area:before {	width: 70px;}
	.main_visual .mv_contents.outsourcing .txt_area .icn_area:before {
		width: 71px;
		background-position: -100px 0;
	}
	.main_visual .mv_contents.inflasolution .txt_area .icn_area:before {
		width: 72px;
		background-position: 0 -75px;
	}
	.main_visual .mv_contents.hardware .txt_area .icn_area:before {
		width: 85px;
		background-position: -100px -75px;
	}
	.main_visual .mv_contents.multi_media .txt_area .icn_area:before {
		width: 80px;
		background-position: 0px -150px;
	}
	.main_visual .mv_contents.electronic_publishing .txt_area .icn_area:before {
		width: 78px;
		background-position: -100px -150px;
	}

	/* お知らせ */

	.section_area.news {	height: auto;}
	.section_area.news .section_wrap:first-child {
		background-color: transparent;
		box-shadow: none;
		width: 100%;
	}
	.section_area.news .section_wrap h2 {	width: 100%;	position: relative;}
	.section_area.news .section_wrap h2 .main_title {	color: #a58004;}
	.section_area.news .section_wrap h2 .sub_title {	color: #777777;}
	.section_area.news .section_wrap h2 .btn_area.type02 {
		position: absolute;
		width: 200px;
		right: 0;
		top: 330px;
	}

	.section_area.news .section_wrap dt {	padding-left: 20px;}
	.section_area.news .section_wrap dd {
		display: block;
		padding-left: 150px;
		padding-right: 20px;
	}
	.section_area.news .section_wrap dd.new:before {
		left: 108px;
	}

	.section_area.access .section_wrap.map {
		margin-right: 0;
	}

	.main_contents .section_area .container .map {
		width: 100%;
	}

	.main_contents .section_area .container .access {
		width: 100%;
	}

	.section_wrap.access {
		margin-top: 20px;
	}

	.tbform label:not([for="submit"]):not([for="agree"]) .label_text {	width: 50%;}

	.tbform label input[type=text] {	width: 50%;}

	/*---------------------------------------
		各コンテンツstyle SP版
	---------------------------------------*/
	/* top */
	.main_contents .section_area .container .section_wrap {
		position: relative;
		top: initial;
		left: initial;
		right: initial;
		bottom: initial;
		/*width: 100%;*/
	}


	.section_wrap.access .article_wrap p {
		font-size: 14px;
		width: 77%;
	}
	.section_wrap.access .article_wrap p .small {
		font-size: 10px;
	}

	.section_area.access .section_wrap.access .article_wrap i {
		font-size: 40px;
		margin: 0 7px;
	}

	/*---------------------------------------
		news
	---------------------------------------*/
	.main_contents .news {
		margin-top: 0px;
		padding: 0px 10px;
	}

	/*---------------------------------------
		company SP版
	---------------------------------------*/
	/* Corporate Philosophy 企業理念 */
	.corporate_philosophy {
		display: flex;
		/* flex-direction:column; */
    	width: 95%;
    	margin: auto;
	}

	.corporate_philosophy .cp_box {
		width: 100%;
		padding: 0px;
	}

	.corporate_philosophy .article_text {
		width: auto;
	}
	
	/* message */
	.float_img {
		width: 100%;
		height: auto;
		margin-bottom: 10px;
	}

	.section_area.message .section_wrap .article_text {
		line-height: 2.5em;
	}

	/* 会社概要 */
	.customer .group_list .list_title{
		font-size: 4.5vw; 
	}

	/*沿革*/
	.history_list_title {
		widt: 100%;
		float: none;
		width: auto;
		margin: 0 0 0 5px;
	}
	.history_list_text {
		width: 90%;
		margin: 0 0 10px 20px;
 		padding: 5px 15px 10px 5px;
	}
	.history_list_text:before {
		content: '';
		width: 25px;
		height: 25px;
		position: absolute;
		background: #a58400;
		top: -2px;
		left: -30px;
		margin-top: 4px;
		border-radius: 50%;
		display: block;
	}
	.history_list_text:after {
		content: '';
		position: absolute;
		background: #a58400;
		top: 10px;
		left: -20px;
		margin: 0;
		padding-top: 30%;
		display: block;
	}

	/*---------------------------------------
		service SP版
	---------------------------------------*/
	.service .section_wrap .wrap_text {
		line-height: 25px;
		font-size: 14px;
	}

	.service .section_wrap .service_title {
		margin: auto 0;
	}

	.service .section_wrap .group_list dl {
		width: 100%;
		height: 200px;
	}

	.service .section_wrap .group_list dl .list_text {
		padding: 50px 5px 50px 150px;
		font-size: 0.9rem !important;
		/*display: inline; */
	}

	.service .section_wrap .group_list dl .list_text .long_text {
	}

	.system_menu .section_wrap .section_wrap_block {
		position: relative;
		left: 0;
		top: 0;
		padding: 0;
	}

	.system_menu .section_wrap .article_wrap {
		padding: 0 20px 20px 0;
	}

	.sysdeve::before {
		background-size: 360px auto;
		background-position: 15px 0px;
		height: 110px;
		width: 150px;
		margin: auto 0;
	}

	.out::before {
		background-size: 360px auto;
		background-position: -170px 0px;
		height: 90px;
		width: 150px;
		margin: auto 0;
	}

	.infra::before {
		background-size: 360px auto;
		background-position: 10px -132px;
		height: 100px;
		width: 150px;
		top: 20px;
		margin: auto 0;
	}

	.service .section_wrap .group_list dl .hard {
		padding-left: 165px;
	}
	.hard::before {
		background-size: 340px auto;
		background-position: -167px -125px;
		height: 100px;
		width: 150px;
		margin: auto 0;
	}

	.service .section_wrap .group_list dl .mulch {
		padding-left: 165px;
	}
	.mulch::before {
		background-size: 360px auto;
		background-position: 1px -270px;
		height: 100px;
		width: 150px;
		margin: auto 0;
	}

	.service .section_wrap .group_list dl .e_shinbun {
		padding-top: 45px;
		padding-left: 165px;
	}
	.e_shinbun::before {
		background-size: 355px auto;
		background-position: -172px -270px;
		height: 105px;
		width: 150px;
		margin: auto 0;
	}

	.system_menu .section_wrap::before {
		width: 300px;
		height: 180px;
		background-size: 540px auto;
	}

	.system_developer .section_wrap::before {
		background-position: 0px 0px;
		width: 190px;
		margin: 0 auto;
	}

	.outsourcing .section_wrap::before {
	    background-size: 540px;
	    background-position: -270px 0px;
	    width: 190px;
	    margin: 0 auto;
	}

	.infrasolution .section_wrap::before {
		background-position: 0px -220px;
	}

	.hardware .section_wrap::before {
	    width: 215px;
	    height: 147px;
	    background-size: 500px;
	    background-position: -250px -185px;
	    margin: 0 auto;
	}

	.mulch_media .section_wrap::before {
	    background-size: 520px;
	    background-position: 0px -390px;
	    width: 190px;
	    height: 140px;
	    margin: 0 auto;
	}

	.electronic_publishing .section_wrap::before {
	    background-size: 500px;
	    background-position: -250px -376px;
	    width: 200px;
	    height: 150px;
	    margin: 0 auto;
	}
    .captionarea_img figure {
        margin: 10px auto;
    }
	.system_menu .section_wrap  h4 {
        text-indent: -20px;
        padding-left: 20px;
    }
	.system_menu .section_wrap h5 {
        text-indent: -15px;
        padding-left: 15px;
    }
	.system_menu h5 + .block_wrap {
        padding: 0 5px;
    }
	.system_menu .article_wrap  .wrap_text {
        padding: 0 5px;
    }
	
	dt.service_list_title {
		line-height: 20px;
	}
	.wrap_img,
	.captionarea_img {
        text-align: center;
	}
	
	/*20170613追記*/
.ec_link {
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 90%;
}
/*追記終了*/

	/*---------------------------------------
		partner SP版
	---------------------------------------*/
	.partner label:not([for="submit"]):not([for="agree"]) .label_text {
		width: 40%;
	}

	.partner .tbform input[type=text]{
		width: 60%;
	}
	.partner .tbform textarea{
		width: 60%;
	}


	.partner .form_item {
		width: 60%;
		font-size: 12px;
	}

	.partner .scroll {
		font-size: 12px;
		-moz-font-size: 12px;
		-webkit-font-size: 12px;
		letter-spacing:1px;
		line-height: 190%;
	}

	.partner .info_wrap {
		margin-left: 0;
    	padding: 0 20px;
	}

	.partner .submit {
		width: 100%;
	}
	/*---------------------------------------
		recruit SP版
	---------------------------------------*/
	.section_wrap .newgraduait {
		width: 100%;
		height: 260px;
		margin: 20px auto;
		text-align: center;
		background-image: url(./img/bnr_sp.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
	}

	.section_wrap .newgraduait img {
	  display: none;
	}

	.recruit .section_wrap .wrap_text {
		line-height: 25px;
		font-size: 14px;
	}

	.recruit .section_wrap td {
		font-size: 12px;
		min-height: 50px;
	}

	/* new banar */
	.banar_wrap{
		height: 260px;
		width: 290px;
		-webkit-flex-direction: column-reverse; 
		flex-direction: column-reverse;
	}

	.banar_wrap_child{
		height:200px;

	}

	.banar_p, .banar_img{
		width: 290px;
		height: 120px;
	}
	.banar_p_child, .banar_img_child{
		height: 100px;
	}

	.p_main_child{
		line-height:80px;
	}

    .recruit .from_btn {
        padding: 15px;
        font-size: 1.2em;
    }
	/*---------------------------------------
		privacy SP版
	---------------------------------------*/

	dl.pmark {
		width: 100%;
		float: none;
		margin-bottom: 10px;
	}
	dt.pmark_title {
		width: 18%;
	}
	dd.pmark_text {
		margin-left: 45px;
		padding-right: 10px;
	}
	dd.pmark_text:before {
		padding-right: 5px;
	}
	.text_fold {
		padding-left: 25px;
		text-indent: -6%;
	}

	.privacy .section_wrap h4 {
		line-height: 30px;
		padding-left: 3em;
		text-indent: -1.8em;
		padding-bottom: 5px;
	}
	.privacy .section_wrap h4:before {
		width: 0;
	}
	.privacy .section_wrap .h4_text {
		padding-left: 15px;
	}
	.privacy .section_wrap #policy_list {
		padding-left: 15px;
	}
	.info_wrap span {
		/*display: inline;*/
	}
	li.address {
/*		text-indent: -8%;
		padding-left: 46px;*/
	}
	li.address i.fa-fw {
		width: 10px;
		margin-right: 16px;
		padding-right: 0;
	}


	/*---------------------------------------
		WebServis&support
	---------------------------------------*/
.ec_icon {

	background-repeat: no-repeat;
	height: auto;
	width: 100%;
	max-width: 100%;
}
		.ec_icon ul li .ec_img {
	width: 0%;
}
	.ec_icon_sp ul li .ec_img {
	width: 45%;
	max-width: 45%;
	height: auto;
		float: left;
		margin-left: auto;
		margin-right: auto;
}
.ec_flow {
	display: none;
}
.ec_flow2 {
	display: none;
}
.ec_flow_sp {
	margin-left: auto;
	margin-right: auto;
	background-repeat: no-repeat;
	height: auto;
	width: 90%;
}
.ec_flow2_sp {
	margin-left: auto;
	margin-right: auto;
	background-repeat: no-repeat;
	height: auto;
	width: 90%;
}
	#ec_text {
		clear: both;
	}

}

/*---------------------------------------
	タブレット
---------------------------------------*/

@media screen and (min-width: 750px) and (max-width: 1100px) {
	.main_visual .mv_contents .txt_area .txt_box .btn_text:before {
		left: 10%;
	}
	.main_visual .mv_contents .txt_area .txt_box a.btn_area {
		padding: 0 0 0 10%;
	}
	/*---------------------------------------
		service タブレット版
	---------------------------------------*/
	.list_text{
		padding: 30px 10px 30px 20px;
	}

	.service_menu {
		padding-left: 155px;
	}
	.service .section_wrap .group_list dl .infra {
		padding-top: 25px;
	}
	.service .section_wrap .group_list dl .mulch {
		padding-top: 40px;
	}

	.service .section_wrap .group_list dl  .e_shinbun {
		padding-top: 40px;
	}

}

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

* PAGETOP

*******************************************************************************/
.pagetop a {
    width: 100%;
    height: 30px;
    display: block;
    background-color: #FFF;
    text-align: center;
    padding-top: 20px;
    -webkit-transition: all .2s ease-out 0s;
    transition: all .2s ease-out 0s;
}
.pagetop a:hover {
    background-color: #E7ECF1;
}
.pagetop a img {
    width: 16px;
    height: 9px;
}


.fb_wrap {
    max-width: 500px;
    margin: 0 auto;
    padding: 30px 0;
}
.page {
    min-height: 500px;
}
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
  width: 100% !important;
}

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

* newslist

*******************************************************************************/
#newslist{ height: auto;}
#newslist .section_wrap{
	position: static;
	
}
#newslist .section_wrap li span{
	display: block;
}
#newslist .section_wrap li a{
	padding-left: 30px;
}
#newslist .section_wrap li em{
	margin-left: 0px;
	display: block;	
}

.thankyou{ text-align: center; }
.thankyou img{	
	margin-bottom: 20px;
}
.thankyou p{
	font-size: 160%;
	font-weight: bold;
	margin-bottom: 20px;
}
.thankyou span{
	display: block;
	font-size: 80%;
	color: #999;
	border-top: 1px solid #ccc;
	padding-top: 20px;
}


/* added 111921 Sitemap page */
.sitemap_list{
	width: 100%;
	margin-top: 40px;
	overflow: hidden;
}
.sitemap_list .parent{
	height: auto;
}
.sitemap_list > li {
	margin: 0 3.462% 18px 0;
	float: left;
	width: 22.385%;
}
.sitemap_list li{
	padding: 0;
	text-align: left;
	line-height: initial;
}
.sitemap_list li::before{
	display: none;
}
.sitemap_list > li:nth-child(3){
	height: 175px;
}
.sitemap_list > li:nth-child(4n),
.sitemap_list > li:nth-child(5n),
.sitemap_list > li:nth-child(6n),
.sitemap_list > li:nth-child(7n),
.sitemap_list > li:nth-child(8n){
	margin-right: 0;
}
.sitemap_list > li:nth-child(8n){
	float: right;
}
.sitemap_list li .tit_links {
	display: block;
	padding: 0 3px 7px;
	color: #333;
	font-weight: 500;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	border-bottom: 1px solid #2f6ea1;
	margin-bottom: 3px;
	transition: all ease .3s;
	position: relative;
}
.sitemap_list li .tit_links::after{
	content: '';
	display: block;
	border-bottom: 1px solid #5293ff;
	width: 0;
	position: absolute;
	left: 0;
	-webkit-transition: 1s ease;
	transition: 1s ease;
	bottom: -1px;
}
.sitemap_list li .tit_links::after:hover {
	width: 100%;
}
.sitemap_list li .tit_links:hover::after {
	width: 100%;
}
.sitemap_list .sub_links {
	padding: 10px;
}
.sitemap_list .sub_links li {
	padding-left: 15px;
	margin-bottom: 2px;
	background: url(./img/common/arrow02.png) no-repeat center left / 5px;
}
.sitemap_list .sub_links li a {
	color: #333;
	font-size: 14px;
	transition: color .3s ease;
	-webkit-transition: color .3s ease;
	-moz-transition: color .3s ease;
	-ms-transition: color .3s ease;
	-o-transition: color .3s ease;
	padding: 5px 0;
	display: table;
}
.sitemap_list .sub_links li a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 640px) {
	.sitemap_list > li {
		margin: 0 0 18px 0;
		float: none;
		width: 100%;
	}
}