/* =Reset default browser CSS
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
:focus {
	outline: 0;
}
body {
	background: #fff;
	line-height: 1;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption,th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a img {
	border: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
/* =Structure
----------------------------------------------- */
html {
	-webkit-text-size-adjust:none;
}
body {
	padding: 0;
}
body, input, textarea {
	color: #000000;
	font: 15px "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , sans-serif;
	font-weight: 300;
	line-height: 1.625;
}
/* Headings */
h1,h2,h3,h4,h5,h6 {
	clear: both;
}
h3 img,
h4 img {
	vertical-align: bottom;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.625em;
}
p {
	line-height: 1.667;
}
ul, ol {
	margin: 0;
}
ul {
	list-style: none;
}
ol {
	list-style-type: decimal;
}
ol ol {
	list-style: upper-alpha;
}
ol ol ol {
	list-style: lower-roman;
}
ol ol ol ol {
	list-style: lower-alpha;
}
ul ul, ol ol, ul ol, ol ul {
	margin-bottom: 0;
}
dl {
	margin: 0 1.625em;
}
dt {
	font-weight: bold;
}
dd {
	margin-bottom: 1.625em;
}
strong {
	font-weight: bold;
}
cite, em, i {
	font-style: italic;
}
blockquote {
	font-family: Georgia, "Bitstream Charter", serif;
	font-style: italic;
	font-weight: normal;
	margin: 0 3em;
}
blockquote em, blockquote i, blockquote cite {
	font-style: normal;
}
blockquote cite {
	color: #666;
	font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 300;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
pre {
	background: #f4f4f4;
	font: 13px "Courier 10 Pitch", Courier, monospace;
	line-height: 1.5;
	margin-bottom: 1.625em;
	overflow: auto;
	padding: 0.75em 1.625em;
}
code, kbd, samp, var {
	font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr, acronym, dfn {
	border-bottom: 1px dotted #666;
	cursor: help;
}
address {
	display: block;
	margin: 0 0 1.625em;
}
ins {
	background: #fff9c0;
	text-decoration: none;
}
sup,
sub {
	font-size: 10px;
	height: 0;
	line-height: 1;
	position: relative;
	vertical-align: baseline;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}
small {
	font-size: smaller;
}
/* Forms */
input[type=text],
input[type=password],
input[type=email],
input[type=url],
input[type=number],
textarea {
	background: #fafafa;
	-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.1);
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.1);
	box-shadow: inset 0 1px 1px rgba(0,0,0,0.1);
	border: 1px solid #ddd;
	color: #00;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=number]:focus,
textarea:focus {
	color: #373737;
}
textarea {
	padding-left: 3px;
	width: 98%;
}
input[type=text],
input[type=password],
input[type=email],
input[type=url],
input[type=number] {
	padding: 3px;
}
input#s {
	-moz-border-radius: 2px;
	border-radius: 2px;
	font-size: 12px;
	height: 1em;
	line-height: 1.2em;
	padding: 4px 10px 4px;
}
input#searchsubmit {
	display: none;
}
/* Links */
a {
	color: #000000;
	text-decoration: none;
}
a:focus,
a:active,
a:hover {
	text-decoration: underline;
}
/* Assistive text */
.assistive-text {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
}
#access a.assistive-text:focus {
	background: #eee;
	border-bottom: 1px solid #ddd;
	color: #1982d1;
	clip: auto !important;
	font-size: 12px;
	position: absolute;
	text-decoration: underline;
	top: 0;
	left: 7.6%;
}
/* =Common
----------------------------------------------- */
/*header&nav*/
#branding {
	position :relative;
	background-color: rgb(22,124,59);
}
#logo,
#gnav {
	width:960px;
	margin: 0 auto;
}
#logo {
	padding-top: 10px;
}
h1 {
	width: 216px;
}
#gnav {
	background: url("../images/line_header.gif") 0 0 repeat-x;
}
#gnav h3 {
	text-indent: -9999px;
}
#gnav .menu ul {
	display: block;
	height: 47px;
	padding: 10px 0 0;
}
#gnav .menu li {
	display: block;
	float: left;
	width: 192px;
	height: 47px;
}
#gnav .menu li a {
	overflow: hidden;
	text-indent: -9999px;
	display: block;
	width: 192px;
	height: 47px;
	background-image: url("../images/nav_off.gif");
}
#gnav .menu li.nav_company a {
	background-position: 0 0;
}
#gnav .menu li.nav_business a {
	background-position: -192px 0;
}
#gnav .menu li.nav_recruit a {
	background-position: -384px 0;
}
#gnav .menu li.nav_access a {
	background-position: -576px 0;
}
#gnav .menu li.nav_contact a {
	background-position: -768px 0;
}
#gnav .menu li a:hover,
#gnav .menu li.on a {
	background-image: url("../images/nav_on.gif");
}
/*breadcrumb*/
#breadcrumb {
	width: 960px;
	margin: 10px auto;
	padding-bottom: 5px;
	font-size: 80%;
}
#toppage #breadcrumb {
	display: none;
}
#breadcrumb a {
	margin-right: 0.5em;
	color: rgb(22,124,59);
	text-decoration: underline;
}
#breadcrumb a:hover {
	text-decoration: none;
}
#breadcrumb span {
	margin-left: 0.5em;
}
/* h2 */
h2 {
	margin-bottom: 30px;
	padding-left: 10px;
	border-left:7px solid rgb(22,124,59);
	font-size: 166.667%;
	font-weight: 600;
}
/*main*/
#main {
	width: 960px;
	margin: 0 auto;
}
/*footer*/
#footer {
	clear: both;
	margin: 50px auto 0;
	background-color: rgb(233,233,233);
}
#footer_nav,
#address {
	width: 960px;
	margin: 0 auto;
}
#footer_nav ul {
	text-align: center;
	padding: 30px 0;
}
#footer_nav li {
	display: inline;
}
#footer_nav a {
	margin-right: 2em;
	padding: 0 0 0 14px;
	background: rgb(233,233,233) url("../images/icon_nav_footer.gif") 0 0.1em no-repeat;
}
#footer_nav li:last-child a {
	margin-right: 0;
}
#address {
	position: relative;
	height: 110px;
}
#address p {
	line-height: 1.333;
	font-size: 106.667%;
	font-weight: 600;
}
#address .left {
	position: absolute;
	left: 100px;
	bottom: 30px;
}
#address .right {
	position: absolute;
	right: 125px;
	bottom: 30px;
	width: 254px;
}
#copyright {
	padding: 10px 0;
	color: #fff;
	font-size: 80%;
	text-align: center;
	background-color: rgb(22,124,59);
}
/* =Top
----------------------------------------------- */
/*slider*/
#toppage #slider {
	position: relative;
	max-width: 960px;
	margin: 0 auto 30px;
}
.swiper-container {
	overflow: visible;
	z-index: 1;
	width: 100%;
	height: 100%;
}
.swiper-container-fade .swiper-slide img {
	vertical-align: bottom;
}
.swiper-button-next,
.swiper-button-prev {
	overflow: visible;
	width: 23px;
	height: 47px;
}
.swiper-button-next, .swiper-container-rtl .swiper-button-next {
	right: 0;
	background: url("../images/btn_next.png") 0 0 no-repeat;
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-prev {
	left: 0px;
	background: url("../images/btn_prev.png") 0 0 no-repeat;
}
.swiper-container .catch-copy {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
}
/* banner */
#banner ul {
	display: block;
}
#banner li {
	display: block;
	float: left;
	width: 300px;
	height: 206px;
	padding-right: 30px;
}
#banner li.nav_architecture {
	padding-right: 0;
}
#banner li a {
	overflow: hidden;
	text-indent: -9999px;
	display: block;
	width: 300px;
	height: 206px;
}
#banner li.nav_network a {
	background: url("../images/top_info01_off.jpg") 0 0 no-repeat;
}
#banner li.nav_software a {
	background: url("../images/top_info02_off.jpg") 0 0 no-repeat;
}
#banner li.nav_architecture a {
	background: url("../images/top_info03_off.jpg") 0 0 no-repeat;
}
#banner li.nav_network a:hover {
	background: url("../images/top_info01_on.jpg") 0 0 no-repeat;
}
#banner li.nav_software a:hover {
	background: url("../images/top_info02_on.jpg") 0 0 no-repeat;
}
#banner li.nav_architecture a:hover {
	background: url("../images/top_info03_on.jpg") 0 0 no-repeat;
}
#aboutus {
	clear: both;
	padding-top:50px;
	text-align: center;
}
#main #aboutus h3 {
	text-indent: -9999px;
	display: block;
	width: 700px;
	height: 40px;
	margin: 0 auto;
	padding: 0;
	border-top: none;
	background: url("../images/ttl_top01.gif") 0 0 no-repeat;
}
#aboutus div {
	margin-top: 20px;
	font-size: 113.33%;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/* =company
----------------------------------------------- */
#main img {
vertical-align: bottom;
}
#main .sub {
	float: right;
	width: 220px;
}
#main .sub li {
	width: 220px;
	height: 40px;
	margin-bottom: 8px;
}
#main .sub a {
	display: block;
	width: 175px;
	height: 26px;
	padding: 7px 0 7px 45px;
	color: #fff;
	font-size: 106.667%;
	text-decoration: none;
	background: url("../images/re2_bg_menu_off.gif") 0 0 no-repeat;
}
#main .sub a:hover {
	background: url("../images/re2_bg_menu_on.gif") 0 0 no-repeat;
}
#main h3 {
	margin-top: 50px;
	padding: 8px 0;
	border-top: 1px solid rgb(22,124,59);
	color: rgb(22,124,59);
	font-size: 133.333%;
	font-weight: 600;
}
#main h4 {
	margin-top: 20px;
	padding: 8px 0;
	color: rgb(22,124,59);
	font-size: 111%;
	font-weight: 600;
}
#main p{
	text-indent: 1.5em;
}
#main table {
	width: 100%;
	font-size: 86.667%;
}
#main table th,
#main table td {
	padding: 10px 0;
	border-bottom: 1px solid #ffffff;
}
#main table th {
	width: 135px;
	vertical-align: top;
	color: #fff;
	background-color: rgb(22,124,59);
}
#main #summary table th {
	width: 170px;
	text-indent: 1.5em;
}
#main #history table th {
	width: 170px;
	text-indent: 1.5em;
}
#main #license table th {
	width: 170px;
}
#main #license table td {
}
#main table td {
	padding-left: 30px;
	background-color: rgb(235,235,235);
}
#main table dl {
	margin: 0;
}
#main table dt {
	clear: both;
	float: left;
	width: 10em;
	font-weight: normal;
}
#main table dd {
	float: left;
	margin: 0;
}
#main table ul.disc li {
	list-style-type: disc;
}
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: -50px;
  background-color: rgb(22, 124, 59);
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/* =business
----------------------------------------------- */
#business {
}
#business #introduction {
	margin: 50px 0;
}
#introduction h3 {
	margin-top: 0;
}
#introduction:after {
	display: block;
	clear: both;
	content: "";
}
#introduction div {
	width: 760px;
	margin: 0 auto;
}
#introduction div a {
	margin-right: 15px;
}
#introduction div a:hover {
	opacity: 0.5;
}
#main ul.square {
	margin: 15px 0 30px 180px;
	font-size: 93.333%;
}
#main ul.square li {
	padding-left: 15px;
	background: transparent url("../images/icon_business.gif") 0 0.4em no-repeat;
}
#main #client h3 {
	margin-bottom: 25px;
	padding: 0 0 0 15px;
	line-height: 32px;
	border-top: none;
	color: #fff;
	font-size: 106.667%;
	font-weight: normal;
	background: url("../images/bg_ttl_business.gif") 0 0 repeat-x;
}
#main #client p {
	margin-left: 50px;
	font-size: 93.333%;
}
/* =recruit
----------------------------------------------- */
#introduction div.desired {
	float: none;
	width: 100%;
	margin-bottom: 50px;
	background: url("../images/bg_recruit_main.jpg") left bottom no-repeat;
}
#introduction div.desired h3 {
	line-height: 32px;
	text-indent: 1em;
	color: #fff;
	font-size: 133.333%;
	background: url("../images/bg_ttl_recruit.gif") 0 0 repeat-x;
}
#introduction div.desired p {
	width: 620px;
	margin: 0 auto;
	padding: 10px 0;
	font-size: 106.667%;
}
#introduction div.desired ul {
	width: 580px;
	margin: 0 auto;
	padding: 20px 0 20px 40px;
	border: 2px solid rgb(202,202,202);
	background-color: #fff;
}
#introduction div.desired li {
	margin-bottom: 10px;
	padding: 0 0 0 25px;
	color: rgb(22,124,59);
	font-size: 120%;
	background: transparent url("../images/icon_recruit.gif") 0 0.1em no-repeat;
}
#recruit #main #detail table {
}
#recruit #main #detail table th {
	text-indent: 0;
	text-indent: 1.5em;
	width: 135px;
	text-align:justify;
}

/* =access
----------------------------------------------- */
#access {
}
#access #introduction {
	margin-top: 0;
}
#access #introduction p {
	margin-bottom: 15px;
	font-size: 106.667%;
}

/* =contact
----------------------------------------------- */
#contact {
}
#info_form {
	font-size: 106.667%;
	background-color: rgb(242,242,242);
}
#info_form legend {
	padding: 20px 30px 20px 20px;
}
#info_form table {
	width: 75%;
	margin: 0px auto;
	padding: 20px 0 15px;
}
#info_form table th {
	text-indent: 3em;
	line-height: 34px;
	width: 30%;
	padding: 15px 0;
	border-bottom: none;
	color: #000;
	text-align: left;
	background-color: transparent;
}
#info_form table td {
	width: 58%;
	padding: 15px 0;
	border-bottom: none;
	background-color: transparent;
}
#info_form table td input,
#info_form table td textarea {
	width: 400px;
}
#info_form table td textarea {
	height: 12em;
}
#info_form th span {
	position: relative;
	top: -0.3em;
	color: rgb(229,0,18);
	font-size: 75.5%;
}
#info_form td p {
	font-size: 86.667%;
}
#info_form td p span {
	color: rgb(229,0,18);
}
#info_form .buttons {
	text-align: center;
}
#info_form .buttons button {
	cursor: pointer;
	text-indent: -9999px;
	width: 185px;
	height: 40px;
	margin: 0 auto 30px;
	padding: 0;
	background: transparent url("../images/btn_submit.gif") 0 0 no-repeat;
	border: none;
}
