@charset "UTF-8";

/*------------- CSS reset -------------------------------*/
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align:baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
article, header, footer, aside, figure, figcaption, nav, section { 
  display:block;
}
body {
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
ol, ul ,li{
  list-style: none;
  list-style-type: none;
}

/*------------- body ---------------------------------*/
body {
	font-size:14px;
	color: #000b00;	/*---濡羽色---*/
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height:1.6;
	background:#ffffff;	/*---白---*/
	animation: fadeIn 2s ease-in 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;

}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

/*------------- header -------------------------------*/
header {
	box-sizing:border-box;
	position:relative;
	width:100%;
	height:160px;
	color:#ffffff;	/*---白---*/
	background:#223a70;	/*---紺色---*/
	padding:5px 0px 0px 10px;
}
.shamei{
	float:left;
	margin:10px 0 0 0;
	width:50%;
	font-size:32px;
}
.summary {
	float:left;
	margin:30px 0 0 5px;
	font-size:12px;
}

/*------------- footer -------------------------------*/
footer {
	clear:both;
	box-sizing:border-box;
	width:100%;
	margin:0 auto;
}

.copyright {
	clear:both;
	padding:10px 0;
	font-size:8px;
	text-align:center;
	color:#ffffff;	/*---白---*/
	background:#223a70;	/*---紺色---*/
}

/*------------- nav ----------------------------------*/
nav {
	clear:both;
	width:100%;
	background:#ffffff;	/*---白---*/
	⁄zoom:1;
}
nav:after {
	content:'';
	display:block;
	clear:both;
}

/*------------- contents ------------------------------*/
.inner {
	position:relative;
	width:980px;
	margin:0 auto;
}

#contents {
	overflow:hidden;
	width:980px;
	margin:20px auto;
}

#main {
	box-sizing:border-box;
	overflow:hidden;
	float:left;
	width:74%;
}
#sub {
	box-sizing:border-box;
	overflow:hidden;
	float:right;
	width:22%;
}

/*------------- sub contents ------------------------------*/
.submenu li {
	margin:0;
	padding:0;
	list-style:none;
}
.submenu li a:before {
	content:"\0025a0";
	color:#000;
}
.submenu li a {
	display:block;
	padding:10px 2px;
	color:#000;
	border-bottom:1px dotted #ddd;
	text-decoration:none;
}
.submenu li a:hover {
	background:#eee;
}

/*------------- company -------------------------------*/
#main_company {
	margin:10px auto;
	box-sizing:border-box;
	overflow:hidden;
	width:80%;
}
.company td{
	color:#ffffff;	/*---白---*/
	background:#223a70;	/*---紺色---*/
}
.office td{
	color:#ffffff;	/*---白---*/
	background:#007bbb;	/*---紺碧---*/
}
#access {
	width:80%;
	margin:10px auto;

}
#gmap {
	margin:0 auto;
	width: 100%;
	height: 400px;
	border:1px solid #223a70;	/*---紺色---*/
}

/*------------- contractcase -------------------------------*/
#main_contractcase {
	margin:10px auto;
	box-sizing:border-box;
	overflow:hidden;
	width:80%;
}
#main_contractcase p{
	margin:0;
	padding:0 30px 0 30px;
}
#main_contractcase ul{
	overflow:hidden;
	padding:10px;
	border-top:2px solid #ec6800;	/*---人参色---*/
}
#main_contractcase ul:nth-of-type(1) {
	border-top:none;
}

#main_contractcase li{
	list-style:none;
	float:left;
	margin:0%;
}
#main_contractcase li:nth-child(2n+0) {
	padding:0 0 0 10px;
	width:60%;
}
#main_contractcase li:nth-child(2n+1) {
	width:40%;
}
#main_contractcase li span{
	font-size:18px;
}
#main_contractcase img {
	width:100%;
}
/*------------- vacant -------------------------------*/
#main_vacant {
	margin:10px auto;
	box-sizing:border-box;
	overflow:hidden;
	width:80%;
}
#main_vacant p{
	margin:0;
	padding:0 30px 0 30px;
}
#main_vacant ul{
	padding:0 30px 0 80px;
}
#main_vacant li{
	list-style-type: disc;
}

/*------------- contact ------------------------------*/
#main_contact {
	box-sizing:border-box;
	float:right;
	overflow:hidden;
	width:74%;
}
#sub_contact {
	box-sizing:border-box;
	overflow:hidden;
	float:left;
	width:22%;
}
#sub_contact ul {
	margin:0 0 0 15px;
}
.contact_error {
	color:#ff0000;
}

/*------------- common -------------------------------*/
a {
	color:#19448e;	/*---瑠璃色---*/
	text-decoration:none;
}
a:hover {
	color:#9e3d3f;	/*---蘇芳---*/
	text-decoration:none;
}

h2 {
	margin-bottom:0.5em;
	padding:3px 0 0px 10px;
	font-size:18px;
	color:#333;
	border-top:3px solid #223a70;	/*---紺色---*/
	border-bottom:1px dotted #223a70;	/*---紺色---*/
}

h3 {
	margin-bottom:0.25em;
	padding:5px 10px;
	color:#ffffff;
	font-size:16px;
	background:#ec6800;	/*---人参色---*/
}

h4 {
	margin-bottom:0.25em;
	font-size:15px;
	color:#ec6800;	/*---人参色---*/
	border-bottom:3px solid #ec6800;	/*---人参色---*/
}

h5 {
	margin-bottom:0.25em;
	font-size:15px;
	color:#223a70;	/*---紺色---*/
	border-bottom:3px solid #223a70;	/*---紺色---*/
}

h6 {
	margin:10px 0 5px 0;
	padding:5px 10px;
	color:#fff;
	font-size:16px;
	background:#223a70;	/*---紺色---*/
}

p {
	margin:0 0 1em 0;
}

p.p1 {
	margin-bottom:0.25em;
	font-size:15px;
	color:#e72e32;	/*---KEIAI色---*/
	border-bottom:3px solid #e72e32;	/*---KEIAI色---*/
}

p.p2 {
	margin:10px 0 5px 0;
}

a:hover img { /*画像にマウスをのせた時半透明にする*/
	opacity: 0.7; /*要素の透明度*/
}

img {
	vertical-align:bottom;
}

table {
	width:100%;
	margin-bottom:1em;
	border-collapse:collapse;
	border:1px solid #dcdddd;	/*---白鼠---*/
	background:#fff;
}
th {
	padding:10px;
	text-align:center;
	vertical-align:middle;
	border:1px solid #dcdddd;	/*---白鼠---*/
	background:#eee;
}
td {
	padding:10px;
	text-align:left;
	border:1px solid #dcdddd;	/*---白鼠---*/
}

.info dt {
}
.info dd {
	padding-bottom:3px;
}
.info dd img {
	float:left;
	margin:0px 10px 0px 10px;
}

.col_four_one {
	overflow:hidden;
}

.col_four_one ul {
	overflow:hidden;
	margin:2% -2% 0 0;
}
.col_four_one li {
	list-style:none;
	float:left;
	width:22%;
	margin:0 2% 2% 0;
}
.col_four_one li img {
	width:100%;
	margin-bottom:2.5%;
}
.col_four_one a:hover {
	opacity:0.8;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}


.col_three_one {
	overflow:hidden;
}

.col_three_one ul {
	overflow:hidden;
	margin:2% -2% 0 0;
}
.col_three_one li {
	list-style:none;
	float:left;
	width:31%;
	margin:0 2% 2% 0;
}
.col_three_one li img {
	width:100%;
	margin-bottom:2.5%;
}
.col_three_one a:hover {
	opacity:0.8;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

.col_two_one {
	overflow:hidden;
}

.col_two_one ul {
	overflow:hidden;
	margin:2% -2% 0 0;
}
.col_two_one li {
	list-style:none;
	float:left;
	width:18%;
	margin:0 2% 2% 0;
}
.col_two_one li:nth-child(5n+1) {
	clear:both;
}
.col_two_one li img {
	width:100%;
	margin-bottom:2.5%;
}
.col_two_one a:hover {
	opacity:0.8;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

#mainBanner{
clear:both;
line-height:0;
	background:#223a70;	/*---紺色---*/
}

#mainBanner .inner{position:relative;}

/*------------- form1 --------------------------------*/
#form1 {
    margin: 0 auto;
    width: 90%;
    padding: 1em;
    border: 1px solid #CCC;
    border-radius: 1em;
    background: #dcdddd;	/*---白鼠---*/
}
#form1 ul {
	padding:0;
	margin:0
}
#form1 ul li {
	list-style:none;
	margin:0px;
	padding:5px;
}
#form1 ul li span {
	width: 25%;
	margin:0px;
	display: inline-block;
	*display: inline
	*zoom: 1
}
#form1 ul li:after {
	content:".";
	display:block;
	height:0;
	visibility:hidden;
	clear:both;     /*←フロートをクリア*/
}
#form1 ul li label .txtfiled1 {
	width:30%;
	padding:3px 5px;
	margin:0px;
	color:#666;
	border: solid 1px #ccc;
}
#form1 ul li label .txtfiled2 {
	width:60%;
	padding:3px 5px;
	margin:0px;
	color:#666;
	border: solid 1px #ccc;
}
#form1 textarea {
    vertical-align:top;
    height:15em;
    resize:vertical;
}
#form1 ul li p {
	margin:5px 0 0 40px;
}
#form1 ul li p label {
	margin-right: 2em;
	display: block;
	float: left;
}
#form1 ul li p label input {
	margin-right:0.5em;
}
#form1 ul li p label:hover {
	background : #FFF;
	color: #096;
}
#form1 ul li p.check label {
	width: 9em;
}

/*------------- form2 --------------------------------*/
#form2 {
    margin: 0 auto;
    width: 90%;
    padding: 1em;
    border: 1px solid #CCC;
    border-radius: 1em;
    background: #dcdddd;	/*---白鼠---*/
}
#form2 ul {
	padding:0;
	margin:0
}
#form2 ul li {
	list-style:none;
	padding-bottom:5px;
}
#form2 ul.narrow li {
	list-style-type: none;
	padding-bottom:0px;
}
#form2 ul li span {
	width: 30%;
	margin:0px;
	display: inline-block;
	*display: inline
	*zoom: 1
}
#form2 ul li span.span1 {
	width: 18%;
	margin:0px;
	display: inline-block;
	*display: inline
	*zoom: 1
}

#form2 ul li:after {
	content:".";
	display:block;
	height:0;
	visibility:hidden;
	clear:both;     /*←フロートをクリア*/
}
#form2 ul li label .txtfiled1 {
	width:45%;
	padding:3px 5px;
	margin:0px;
	color:#666;
	border: solid 1px #ccc;
}
#form2 ul li label .txtfiled2 {
	width:18%;
	padding:3px 5px;
	margin:0px;
	color:#666;
	border: solid 1px #ccc;
}
#form2 textarea {
    vertical-align:top;
    height:15em;
    resize:vertical;
}
#form2 ul li p {
	margin:5px 0 0 40px;
}
#form2 ul li p label {
	margin-right: 2em;
	display: block;
	float: left;
}
#form2 ul li p label input {
	margin-right:0.5em;
}
#form2 ul li p label:hover {
	background : #FFF;
	color: #096;
}
#form2 ul li p.check label {
	width: 9em;
}
#form2 p.subtitle{
	font-size:16px;
	margin:20px 0;
	padding:10px 0;
}

/*------------- return top -------------------------------*/
.totop {
	position:fixed;
	bottom:15px;
	right:15px;
}
.totop a {
	display:block;
	text-decoration:none;
}
.totop img {
	background:#223a70;	/*---紺色---*/
}
.totop img:hover {
	background:#19448e;	/*---瑠璃紺---*/
}


/*================================================
 *  グローバルナビゲーション
 ================================================*/
@media print, screen and (min-width:768px) {
	nav {
		background:#223a70;	/*---紺色---*/
		z-index:3;
	}

	/* 共通 */
	nav ul {
		margin:0;
		padding:0;
	}

	nav ul li {
		position:relative;
		margin:0;
		padding:0;
		list-style:none;
	}

	nav ul li a {
		display:block;
		margin:0;
		padding:16px 0;
		background:#223a70;	/*---紺色---*/
		color:#fff;
		font-size:14px;
		line-height:1;
		text-decoration:none;
	}

	nav ul li:hover > a {
		color:#fff;
		background:#19448e;	/*---瑠璃紺---*/
	}

	nav ul.gnav > li {
		position:relative;
		width:14%;
		float:left;
		margin:0;
		padding:0;
		text-align:center;
		list-style:none;
	}

	nav ul.gnav > li:first-child {
		width:16%;
	}

	#spMenu {
		display:none;
	}

	.fixed {
		position:fixed;
		top:0;
		left:0;
	}
}

/*================================================
 *  タブレット向けデザイン
 ================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
@media screen and (max-width:979px) {
	.inner {
		width:100%;
	}

	#contents {
		box-sizing:border-box;
		width:100%;
		padding:0 10px;
	}

	footer {
		width:100%;
	}
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:767px) {
	.lock {
		overflow:hidden;
	}

	header {
		z-index:2;
		box-sizing:border-box;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		padding:15px 10px;
	}
	.shamei{
		margin:0;
		font-size:24px;
		}
	.summary {
		position:relative;
		top:auto;
		right:auto;
		margin-top:15px;
	}

	#main {
		float:none;
		width:100%;
	}
	#main_company {
		width:100%;
	}
	#sub {
		float:none;
		width:100%;
	}

	nav {
		background:#710000;
	}
	nav ul {
		margin:0;
		padding:0;
		}

	nav .inner > ul {
		z-index:2;
		overflow:auto;
		position:fixed;
		top:53px;
		right:0;
		width:100%;
		height:88%;
		height:-webkit-calc(100% - 53px);
		height:calc(100% - 53px);
	}
	nav li {
		position:relative;
		width:100%;
		float:none;
		margin:0;
		text-align:left;
		list-style:none;
		border-bottom:1px solid #8c0e0e;
		background:#9b0f0f;
	}

	nav li:first-child {
		border-top:0;
	}
	nav li:last-child {
		border-bottom:0;
	}

	nav li a {
		display:block;
		padding:10px 30px;
		color:#fff;
		text-decoration:none;
		background:#9b0f0f;
	}
	nav li a:hover {
		color:#fff;
		background:#710000;
	}
	nav ul ul {
		display:none;
		position:relative;
	}
	nav li li a {
		box-sizing:border-box;
		width:100%;
		padding:10px 30px 10px 50px;
		text-align:left;
	}

	nav li li li a {
		padding:10px 30px 10px 70px;
	}

	.active > a:before {
		margin-top:0;
	}
	.active > a:after {
		margin-top:5px;
	}

	.gnav {
		display:none;
	}

	#spMenu {
		display:block;
		z-index:2;
		position:fixed;
		top:10px;
		right:10px;
	}
	#spMenu:hover {
		cursor:pointer;
	}

	#navBtn {
		display:inline-block;
		position:relative;
		width:30px;
		height:30px;
		border-radius:5%;
		background:#007bbb;	/*---紺碧---*/
	}
	#navBtnIcon {
		display:block;
		position:absolute;
		top:50%;
		left:50%;
		width:14px;
		height:2px;
		margin:-1px 0 0 -7px;
		background:#dcdddd;	/*---白鼠---*/
		transition:.2s;
	}
	#navBtnIcon:before,
	#navBtnIcon:after {
		display:block;
		content:'';
		position:absolute;
		top:50%;
		left:0;
		width:14px;
		height:2px;
		background:#dcdddd;	/*---白鼠---*/
		transition:0.3s;
	}
	#navBtnIcon:before {
		margin-top:-6px;
	}
	#navBtnIcon:after {
		margin-top:4px;
	}
	#navBtn .close {
		background:transparent;
	}
	#navBtn .close:before,
	#navBtn .close:after {
		margin-top:0;
	}
	#navBtn .close:before {
		transform:rotate(-45deg);
		-webkit-transform:rotate(-45deg);
	}
	#navBtn .close:after {
		transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
	}
	.col_three_one ul {
		margin-right:0;
	}
	.col_three_one li {
		width:100%;
	}
	.col_three_one li:nth-child(2n+1) {
		clear:both;
	}

	.col_two_one ul {
		margin-right:0;
	}
	.col_two_one li {
		width:48%;
	}
	.col_two_one li:nth-child(2n+1) {
		clear:both;
	}
}