@charset "UTF-8";
/* CSS Document */

*{
	box-sizing: border-box;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
a{
	border: 0px;
}
body{
	margin: 0;
	padding: 0;
}

.inner{
position: relative;
width: 960px;
margin: 0 auto;
	overflow: hidden;
}
.text-center{
	text-align: center;
}
.text-right{
	text-align: right;
}
/*
------------------------------------------*/
.col2-1{
	float: left;
	width: 50%;
	padding-right: 10px;
}
.col2-2{
	float: right;
	width: 50%;
	padding-left: 10px;
}
/*
------------------------------------------*/
.col3-1{
	width: 33%;
	float: left;
	padding: 0 3% 0 0;
}
.col3-2{
	width: 33%;
	float: left;
	padding: 0 2%;
}
.col3-3{
	width: 33%;
	float: left;
}
/*
------------------------------------------*/
.gotop{
	position: fixed;
	bottom: 30px;
	right: 40px;
}
.gotop a{
	border:0px;
}
/*
------------------------------------------*/
#header{
	overflow: hidden;
}
#header h1{
	float: left;
	margin: 10px 0 0;
	padding: 0;
}
#header a:hover{
opacity: 0.6;
}
#gNav{
	float: right;
	margin: 40px 0 0;
}
#gNav ul{
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
#gNav ul li{
	float: left;
}
#gNav ul li a{
	display: block;
	color: #000;
	font-weight: 900;
	text-decoration: none;
	border-bottom: 3px solid #fff;
	margin: 0 24px;
}
#gNav ul li a:hover{
	border-bottom: 3px solid #2582CE;
	opacity: 0.9;
}
/*
------------------------------------------*/
#topimages{
	position: relative;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 460px;
}
.msg{
	width:960px;
	margin: 0 auto;
	padding-top: 80px;
	font-size: 28px;
	color:#fff;
	text-shadow: 1px 1px 0 #000;
}
.slider{
	position: absolute;
	width:100%;
	height: 460px;
	top:0;
	background-image: url(images/slide_top.jpg);
	background-repeat: no-repeat;
	background-position: 0 40%;
	background-attachment: scroll;
	background-size: cover;
	z-index: -1;
}
/*
------------------------------------------*/
.newsBox h2{
	font-size: 21px;
	padding-left: 20px;
	padding-bottom: 2px;
	border-bottom: 1px solid #000;
}
.newsBox h2 span{
	padding-left: 10px;
	font-size:14px;
	font-weight: normal;
	color: #f00;
}
.newsBox dl{
	padding: 0;
	margin: 0 0 0 20px;
	overflow: hidden;
	font-size: 14px;
  width: 450px;
}
.newsBox dt{
	float: left;
	clear: left;
	width:130px;
	margin-bottom: 5px;
}
.newsBox dd{
	width:auto;
	margin-bottom: 5px;
	margin-left: 130px;
}
.newsBox a{
	color: #000;
}
.newsBox a:hover{
	color: #000;
	text-decoration: none;
	opacity: 0.6;
}

/*
------------------------------------------*/
.infoBox h2{
	font-size: 21px;
	padding-left: 20px;
	padding-bottom: 2px;
	border-bottom: 1px solid #000;
}
.infoBox h2 span{
	padding-left: 10px;
	font-size:14px;
	font-weight: normal;
	color: #f00;
}
.infoBox h3{
	font-size: 14px;
	font-weight: 900;
	margin: 0;
	padding: 0;
}
.infoBox dl{
	padding: 0;
	margin: 0 0 0 20px;
	overflow: hidden;
	font-size: 14px;
}
.infoBox dt{
	float: left;
	clear: left;
	width:130px;
	margin-bottom: 5px;
}
.infoBox dd{
	width:auto;
	margin-bottom: 5px;
	margin-left: 130px;
}
.comInfo1{
	border-bottom: 1px dotted #333;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
.comInfo2{
	border-bottom: 1px dotted #333;
	margin-bottom: 0px;
	padding-bottom: 10px;
}
/*
------------------------------------------*/
#pagetitle{
	width: 100%;
	background-color: #2582CE;
	padding: 0;
	margin: 0;
}
#pagetitle h2{
	font-size: 28px;
	color: #fff;
	font-weight: 500;
}
/*
------------------------------------------*/
#breadcrumb{
	width: 100%;
	background-color: #fff;
	padding: 10px 0;
	margin: 0;
}
.bcNav{
	list-style-type: none;
	font-size: 12px;
}
.bcNav li{
	display: inline-block;
}
.bcNav li:after{
	padding-left: 3px;
	content: ">";
}
.bcNav li:last-child:after{
	padding-left: 0;
	content: "";
}

.bcNav a{
	color:#000;
	text-decoration: none;
}
.bcNav a:hover{
	color:#999;
}
/*
------------------------------------------*/
.rows1{
	margin-bottom: 100px;
}
.rows2{
	margin-bottom: 60px;
}
h3.gTitle{
font-size:24px;
	font-weight: normal;
	border: 1px solid #111;
	padding: 6px 12px;
}
.gcont1{
	width:900px;
	margin: 0 auto;
	clear: both;
	overflow: hidden;
}
/*会社概要
------------------------------------------*/
.gaiyoTbl{
	width:90%;
	margin: 4em auto 0;
	padding: 0;
	border-collapse: collapse;
}
.gaiyoTbl th{
	text-align: right;
	width:25%;
	padding: 1em 5em 1em 0;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	vertical-align: top;
}
.gaiyoTbl td{
	text-align: left;
	width:75%;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	padding: 1em 0;
}
.gaiyoTbl td u{
	font-weight: bold;
	font-size: 1.2em;
	text-decoration: none;
}

.shozai{
	padding: 0;
	margin: 0;
	overflow: hidden;
}
.shozai dt{
	width:6em;
	line-height: 1.5;
	float: left;
	clear: left;
}
.shozai dd{
	margin-left: 8em;
	line-height: 1.5;
	padding-bottom: 1em;
}
.shozai dd:last-child{
	padding-bottom: 0;
}

.yakuin{
	padding: 0;
	margin: 0;
	overflow: hidden;
}
.yakuin dt{
	width: 8em;
	text-align: right;
	float: left;
	clear: left;
	white-space: nowrap;
}
.yakuin dd{
	margin-left: 8em;
	padding-bottom: 0.6em;
}
.yakuin dd:last-child{
	padding-bottom: 0;
}

.gaiyoList1{
	margin: 0 0 0 1em;
	padding: 0;
}

.gaiyoList2{
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.gaiyoList3{
	margin: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
}
.gaiyoList3 dt{
	padding-right: 2em;
	text-align: right;
	float: left;
	clear: left;
}
.comImg{
	margin: 3em auto 3em;
}

/*沿革
------------------------------------------*/
.enkakuTbl{
	width:90%;
	margin: 4em auto 0;
	padding: 0;
	border-collapse: collapse;
}
.enkakuTbl th{
	text-align: right;
	width:25%;
	padding-right: 5em;
	line-height: 3em;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
}
.enkakuTbl td{
	text-align: left;
	width:75%;
	line-height: 3em;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
}
/* 事業概要
------------------------------------------*/
.workNav{
	overflow: hidden;
	width: 885px;
	margin: 0 auto;
}
.workNav ul{
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.workNav ul li{
	float: left;
	height: 171px;
	line-height: 0;
	padding: 0;
	margin:0 10px 0 0;
	background-color: #333;
}
.workNav ul li:last-child{
	margin-right: 0;
}
.workNav a:hover{
	opacity: 0.5;

}
/*
------------------------------------------*/
.contactTel{
	overflow: hidden;
	margin: 2em 0;
}
.contactTel h4{
	font-weight: normal;
	color:#ED1C24;
	font-size: 14px;
	margin: 0;
	padding: 10px 0 0;
}
.contactTel p{
	font-size:32px;
	font-weight: 900;
		margin: 0;
	padding: 0;
}
.contactTel strong{
	color:#0071BC;
}
.contactTelEtc{
	clear: both;
}
.contactForm h4{

	font-weight: normal;
	color:#ED1C24;
	font-size: 18px;
	padding: 30px 0 0;
margin-bottom: 2em;
}
.ico_box1{
	float: left;
	margin-right: 20px;
}
.ico_box3{
	float: left;
	margin-right: 20px;

}
.contactForm,
form{
	clear: both;
}


/*
------------------------------------------*/
.primaryTbl {
    margin: 60px auto 30px;
    border-top: 1px solid #dfdfdf;
    border-bottom: 1px solid #dfdfdf;
	width: 90%;
	border-collapse: collapse;
}
.primaryTbl th{
	text-align: left;
	vertical-align: text-top;
	padding:1em;
	border-bottom: 1px solid #dfdfdf;
}
.primaryTbl th p{
	margin: 0;
	padding: 0;
}
.primaryTbl td{
	text-align: left;
	padding:1em;
	border-bottom: 1px solid #dfdfdf;
}
.inputRule{
	font-weight: normal;
	font-size:0.8em;
	margin: 0;
	padding: 0;
}

.sizeL{
	font-size:1em;
	padding: 0.8em;
	width:100%;
}
.sizeM{
	font-size:1em;
	padding: 0.8em;
	width:50%;
}
.sizeMax{
	font-size:1em;
	padding: 0.8em;
	width:100%;
	border: 1px solid #ccc;
}

/*
------------------------------------------*/
.contact_caution {
    width: 100%;
    padding: 20px 60px;
    background-color: #FDFDFD;
    border-color: #e6e6e6;
    border-width: 1px;
    border-style: solid;
	margin: 0 auto;
}
  .contact_caution h4 {
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    border-bottom: 1px dotted #E6E6E6;
    padding-bottom: 20px;
    margin-bottom: 20px; }
.contact_caution h5 {
    font-size: 13px;
    line-height: 1.3;
    font-weight: bold; }
  .contact_caution p {
    font-size: 12px;
    line-height: 1.3; }
    .contact_caution p + .contact_caution h5 {
      padding-top: 20px; }
  .contact_caution ol {
    font-size: 12px;
    xline-height: 1.3; }
  .contact_caution li {
    line-height: 1.6; }
/*ボタン
------------------------------------------*/
.btn{
	font-size: 18px;
	padding: 1em;
	border-radius: 6px;
}
.submit{
	background-color: #ED1C24;
color:#fff;
}
.submit:hover{
	opacity: 0.8;
}

/*
------------------------------------------*/
#footInfo{
	width: 100%;
	background-color: #D9F5FF;
margin: 40px 0 0;
padding: 35px 0;
}
#footInfo h2{
	margin: 0;
	padding: 0 0 0.6em;
	font-size: 21px;
}
#footInfo h3{
	margin: 0;
	padding: 0 0 0.6em;
	font-size: 18px;
}
#footInfo p{
	margin: 0;
	padding: 0;
	font-size: 16px;
}
#footInfo .phone{
	font-size: 28px;
	letter-spacing: -1px;
	font-weight: 900;
	text-align: center;
}
#footInfo .phone img{
	margin-right: 3px;
}
#footInfo a:hover{
	opacity: 0.8;
}
/*
------------------------------------------*/
#footer{
	width: 100%;
	background-color: #2582CE;
	padding: 20px 0;
	margin: 0;
}

.fNav{
	list-style-type: none;
	overflow: hidden;
	float: left;
	margin: 1rem 0 0;
	padding: 0;
}
.fNav li{
	display: inline-block;
	padding-right: 16px;
	margin: 0;
}
.fNav li a{
	color: #000;
	text-decoration: none;
}
.fNav li a:hover{
	color: #fff;
	text-decoration: underline;
}
.fCopy{
	float: right;
	font-size: 14px;
	padding: 0;
	margin: 1rem 0 0;
}
.proName{
	font-size: 1.2em;
}

.imgLeftBox{
	float: right;
	margin-left: 1em;
}

.newslist iframe {
    border: 0px solid #fff;
    overflow: auto;
    height: auto;
	width: 100%;
}
.required span {
	color: #FF0000;
	font-size: small;
}
.error {
	color: #FF0000;
	font-weight: 900;
	font-size: 1.1rem;
}
.cation {
	color: #FF0000;
	font-size: 0.825rem;
}
.contact-msg1 {
	font-size: 1.2rem;
	font-weight: 900;
}

.resMap{
	width: 100%;
	min-height: 300px;
	height: auto;
}

.msgBox {
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 7px;
}
.msgBox h2{
	margin-top: 0;
	font-size: 1.2rem;
	text-align: center;
}
.msgBox p{
	font-size: 0.825rem;
	margin-bottom: 0;
}


@media screen and (max-width:834px){
		.inner{
		width: 96%;
	}
	
	.resImg{
		width:100%;
		height: auto;
	}

#gNav ul li a {
margin: 0 12px;
}
	.gcont1 {
width: 96%;
}
	.gaiyoTbl,
	.enkakuTbl{
width: 100%;
}
	.workNav {
width: 96%;
	}
	.workNav ul{
		width: 100%;
		display: flex;
		flex-direction:row column;
		justify-content:center;
	}
.workNav ul li {
float: none;
	height: inherit;
}
.workNav ul li img {
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
}
	
	
#footInfo h2,
#footInfo h3 {
font-size: 0.8rem;
}
#footInfo p{
font-size: 0.8rem;
}
	#footInfo .phone {
font-size: 1.1rem;
letter-spacing: -1px;
font-weight: 900;
text-align: left;
}
#footInfo .phone img {
vertical-align: text-bottom;
}
	#footInfo .col3-3 img{
		width:100%;
		height: auto;
	}
	
}


@media screen and (max-width:768px){
	
#gNav ul li a {
margin: 0 8px;
}
	
	.contactTel p {
font-size: 26px;
	}
.gaiyoTbl th {
    padding: 1em 1em 1em 0;
}
}





@media screen and (max-width:420px){
	.inner{
		width: 100%;
	}
	
	.resImg{
		width:100%;
		height: auto;
	}
	
	
#header h1 {
float: none;
margin: 30px auto 0;
	padding: 0 10%;
}
#gNav {
float: none;
margin: 20px 0;
}
#gNav ul{
	display: flex;
	flex-direction:row column;
	justify-content:center;
}
#gNav ul li{
	float: none;
	flex: auto;
	text-align: center;
}
#gNav ul li a {
margin: 0;
}

.msg {
width: 90%;
padding-top: 3rem;
font-size: 1.3rem;
color: #fff;
text-shadow: 1px 1px 0 #000;
}

.col2-1,.col2-2 {
float: none;
width: 100%;
padding: 0;
margin: 0 auto 1rem;
}
	.col3-1,.col3-2,.col3-3{
		width: 90%;
		float: none;
		margin: 0 auto 1rem;
		padding: 0;
		text-align: center;
	}
#footInfo {
width: 100%;
background-color: #D9F5FF;
margin: 2rem 0 0;
padding: 1rem 0 0;
}
.fNav{
	float: none;
		display: flex;
		flex-direction:row column;
		justify-content:center;
	}
 .fNav li{
		float: none;
	 display: block;
		flex: auto;
		text-align: center;
	 padding-right: 0;
	}
.fNav li a {
margin: 0;
}
.fCopy {
float: none;
    font-size: 0.8rem;
    padding: 2rem 4% 0;
    margin: 0;
}

	#pagetitle h2{
		padding-left: 1rem;
	}
	.bcNav{
		margin: 1rem;
		padding: 0;
		font-size: 1rem;
	}
	
	h3.gTitle {
		background-color: #78B0DE;
		font-size: 1.2rem;
}
	
	.workNav {
display: none;
}
	.gcont1 {
width: 90%;
margin: 0 auto;
}
	.imgLeftBox{
		float: none;
		margin: 0;
		padding: 0;
	}
	.gaiyoTbl {
width: 100%;
margin: 2em auto 0;
padding: 0;
border-collapse: collapse;
}
	.gaiyoTbl th{
			display: block;
		width: 100%;
		padding: 0.8rem 0;
		text-align: center;
	}
	.gaiyoTbl td{
		display: block;
		width: 100%;
		padding: 0.8rem 0;
	}
	.gaiyoList1 {
margin: 0 0 0 2rem;
padding: 0;
}
	.gaiyoList3 dt {
		font-weight: 900;
padding: 0;
text-align: left;
float: none;
clear: all;
}
	.gaiyoList3 dd{
		font-size: 0.85rem;
		text-align: left;
		float: none;
		padding: 0 0 1rem;
		margin: 0 0 0 1rem;
	}
	.enkakuTbl {
width: 100%;
margin: 1rem auto 0;
}
.enkakuTbl th {
text-align: left;
width: 30%;
padding: 0;
line-height: 2em;
}	
.enkakuTbl td {
text-align: left;
width: 70%;
line-height: 1.5em;
	padding: 0.5rem 0;
}
.rows1 {
margin-bottom: 3rem;
}
	
.primaryTbl {
margin: 1rem auto;
width: 100%;
}
	.primaryTbl th{
		display: block;
		width: 100%;
	}
	.primaryTbl td{
		display: block;
		width: 100%;
	}
.contact_caution {
width: 100%;
padding: 1rem 2rem 2rem;
background-color: #FDFDFD;
border-color: #e6e6e6;
border-width: 1px;
border-style: solid;
margin: 0 auto;
}
.contactForm h4 {
font-weight: normal;
color: #ED1C24;
font-size: 18px;
margin-bottom: 2em;
}
	.contact_caution h4{
		padding: 0;
		margin: 0;
	}
	.msgBox{
		margin: 3%;
	}
}
