@charset "utf-8";

/*----------------------------------------------------
 elements
----------------------------------------------------*/
body {
	background:fff;
	color:#222;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	width: 100%;
	font-size:14px;
	line-height:180%;
	-webkit-text-size-adjust: none; /* フォントサイズ自動調整 */
	margin:0px;
	}

a:link,
a:visited {
text-decoration: none;
color: #00499b;
}
a:hover,
a:active {
text-decoration: underline;
color: #00499b;
}

img{vertical-align: top;}
ol, ul {list-style:none;}
table{font-size:100%;}
img{border:0; width:100%;}

h1,h2,h3,h4,h5,h6,div,p,ul,ol,li,dl,dt,dd,form{
	padding:0px;
	margin:0px;
	font-size:1em;
	font-weight:normal;
	}
.ezrl a:hover img{
	opacity:0.7;
	filter:alpha(opacity=70);
	}
	
/*=============================
	Layout-Base
===============================*/
#pagetop {}
#head {}
#wrap-content {}
#wrap-foot {}

/* --------------------------------------------------- */
/* wrapper */
/* ---------------------------------------------------- */
#wrapper {
width: 100%;
position:relative;
}

/* ---------------------------------------------------- */
/* header */
/* ---------------------------------------------------- */
header {
position:relative;
width:100%;
text-align:center;
}
.head_box{
width:100%;
position: absolute;
top:0;
z-index:9999;
}
.h1box{
overflow:hidden;
position: relative;
height:60px;
}
	
.head_box h1{
position:absolute;
bottom:0;
right:0;
left:0;
}
.head_box h1 img{width:75px;}

.head_box .menu_btn{
position:fixed;
right:0;
top:0;
}
.head_box .menu_btn img{width:60px;}
	
#mainImg{position:relative;}
#mainImg img{width:100%}

/* ---------------------------------------------------- */
/* footer */
/* ---------------------------------------------------- */

footer{
margin-top:20px;
font-size:12px;
}

footer .pagetop a{
display:block;
background:#e7e7e7;
padding:15px 0;
}
footer .pagetop a img{
width:10px;
display:block;
margin:0 auto;
}

footer nav ul li{
width:50%;
float:left;
box-sizing:border-box;
border-right:1px solid #fff;
border-bottom:1px solid #fff;
}
footer nav ul li a{
background:url(../images/common/arw_02.jpg) no-repeat 95% 49%,#201e1e;
background-size:5px auto;
display:block;
padding:10px 10px 10px 15px;
}
footer nav ul li:nth-child(even){border-right:none;}
footer nav ul li a:link		{ color:#fff; text-decoration: none;}
footer nav ul li a:visited	{ color:#fff; text-decoration: none;}
footer nav ul li a:hover	{ color:#fff; text-decoration: none;}
footer nav ul li a:active	{ color:#fff; text-decoration: none;}

/* copy */

footer .copyright {
font-size:12px;
clear:both;
line-height:160%;
background:#fff;
color:#222;
text-align:center;
padding:10px;
}
footer .copyright a{
text-decoration: underline;
color:#222;
}

/* ---------------------------------------------------- */
/* content */
/* ---------------------------------------------------- */
.fLeft{float:left;}
.fRight{float:right;}

/* ---------------------------------------------------- */
/* form */
/* ---------------------------------------------------- */

@media only screen and (orientation : landscape) { /*横向き*/
}
@media only screen and (orientation : portrait) { /*縦向き*/
.pagenavi li:nth-child(9n) {
	clear:both;
}
}


/* ---------------------------------------------------- */
/* subcon */
/* ---------------------------------------------------- */

.contents{padding:0px 0px 0px 0px; background:#fff; color:#222;}
.contents p{}
.clear {clear:both;}

.contents ul.ulbox01{margin-left:22px;}
.contents ul.ulbox01 li{ list-style:disc;}
.ul01{padding:10px 0;}
.cen{text-align:center;}
	
em.clrred{
color:#990000;
font-style:normal;
}

/*=============================
	リスト
===============================*/

.ul01,.ol01 {
padding: 10px 0 10px 0;
margin: 0 auto;
}

/* ul
-------------------------*/	
.ul01 li {
font-size: 14px;
padding: 0;
list-style: disc outside;
}

/*=============================
	TopPage setting
===============================*/

#contents01{
background:url(../images/top/bg_01.jpg) no-repeat center;
background-size:cover;
padding:15px;
}
#contents01 div{background:#fff;}
#contents01 div h3{
background:#186dbd;
padding:20px 25% 15px 25%;
}
#contents01 div ul li a{
display:block;
padding:10px 20px;
text-decoration:none;
color:#222;
border-bottom:#222 dashed 1px;
line-height:140%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
#contents01 div ul li:last-child a{border-bottom:none;}
#contents01 div ul li a span{
display:block;
color:#186dbd;
}

#contents02{
background:url(../images/top/bg_02.jpg) no-repeat center;
padding:15px;
background-size:cover;
}
#contents02 div  ul li{
width:46%;
float:left;
margin-bottom:8%;
}
#contents02 div  ul li:nth-child(even){float: right;}
#contents02 div  ul li:nth-child(3){margin-bottom:0;}
#contents02 div  ul li:nth-child(4){margin-bottom:0;}

#contents03{
background:url(../images/top/bg_03.jpg) no-repeat center top,url(../images/top/bg_04.jpg) no-repeat center bottom;
padding:5px;
background-size:100% auto;
margin-top:10px;
}
#contents03 div{padding:32% 25px 15px 25px;}
#contents03 div h3{margin-bottom:10px;}
#contents03 div ul { margin-top:10px;}
#contents03 div ul li{margin-bottom:5px;}
#contents03 div ul li:nth-child(3){margin-bottom:0;}

#contents04{margin-top:25px;}
#contents04 h3{
width:60%;
margin:0 auto 15px;
}

#contents05{margin-top:25px;}
#contents05 h3{
width:60%;
margin:0 auto 15px;
}
#contents05 div{
background:#f1f1f0;
padding:15px;
}
#contents05 div table{
width:100%;
background:#fff;
}
#contents05 div table tr{border-bottom:1px solid #dbdbdb;}
#contents05 div table tr th{
width:130px;
text-align:center;
padding:10px 0;
vertical-align:middle;
}
#contents05 div table tr td{padding:10px 10px 10px 0;}

#contents06{margin-top:25px;}
#contents06 h3{
width:60%;
margin:0 auto 15px;
}
#contents06 div ul li{
padding:10px;
background:#186dbd;
}
#contents06 div ul li:nth-child(even){background:#6baf00;}
#contents06 div ul li dl{
display: flex;
align-items: center;
}
#contents06 div ul li dl dt{width:35%;}
#contents06 div ul li dl dd{
width:62%;
margin-left:3%;
color:#fff;
line-height:140%;
}
#contents06 div ul li dl dd span img{
display:block;
width:50%;
margin-bottom:5px;
margin-top:5px;
}

#contents07{ padding:20px 15px 0px 15px;}

#contents08{padding:10px 15px 20px 15px;}
#contents08 .contact_area{background:#003a7c;}
#contents08 .contact_area h3{
border-bottom:1px solid #fff;
padding:10px 15px;
}
#contents08 .contact_area h3 img{
display:block;
margin:0 auto;
}
#contents08 .contact_area ul{padding:0 15px;}
#contents08 .contact_area ul li{margin-top:10px;}
#contents08 .contact_area .contact_btn{margin-top:15px;}
#contents08 .contact_area .contact_btn img{
display:block;
margin:0 auto;
}

/*=============================
	SubPage setting
===============================*/

/* Bread_crumb_List */
.bread_crumb_list{
background:#e7e7e7;
padding:5px 5px;
}
.bread_crumb{
background:#fff;
padding:5px 5px;
}
.bread_crumb li {
display:inline;
font-size:13px;
}
.bread_crumb li:after {
content : '>>';
padding-left:5px;
}
.bread_crumb li:last-child:after { content : '';}
.bread_crumb li a { text-decoration:underline;}
.bread_crumb li a:hover{ text-decoration:none;}
.bread_crumb li.current { font-weight:bold;} 

.subcon {
text-align:left;
padding:0 10px 40px 10px;
}
.subcon h3{
font-family: "A-OTF A1明朝 Std";
margin:40px 0 10px 0px;
font-size:20px;
border-bottom:1px solid #222;
padding-bottom:10px;
}
.subcon h3:first-of-type{margin:30px 0 10px 0px;}

/*=============================
	sitemap
===============================*/
.sitemapList{margin-top:20px;}
.sitemapList li a{
padding:10px 0px 10px 20px;
background:url(../images/sitemap/arw01.gif) no-repeat 5px 48%;
border-bottom:solid 1px #201e1e;
font-size:14px;
display:block;
}

/*=============================
	contact
===============================*/
.defTable01{
font-size:14px;
border-collapse:collapse;
margin-top:15px;
width:100%;
}
.defTable01 tr:nth-child(odd){background:#e7e7e7;}
.defTable01 tr:nth-child(even){background:#fff;}
.defTable01 th{
font-weight:normal;
display:block;
padding:10px 10px 5px 10px;
}
.defTable01 td{
display:block;
padding:5px 10px 10px 10px;
}
table.defTable01 input {
width: 98%;
height: 30px;
margin-bottom:5px;
}
table.defTable01 input.tel {width: 25%;}
table.defTable01 textarea {
width: 98%;
resize: vertical;
text-align: left;
}
.btn_contact input[type="submit"] {
width: 200px;
height: 50px;
background: #186dbd;
border: none;
color: #fff;
cursor: pointer;
padding: 10px 0;
margin: 0 auto;
font-weight: bold;
font-size: 16px;
letter-spacing: 0.1em;
display: block;
}
.btn_contact input[type="submit"]::before, .btn_contact input[type="submit"]::after {
position: absolute;
z-index: -1;
display: block;
content: '';
}
.btn_contact input[type="submit"], .btn_contact input[type="submit"]::before, .btn_contact input[type="submit"]::after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all .3s;
transition: all .3s;
}
.btn_contact input[type="submit"]:hover {background: #222;}
table.defTable01 tr.cen_area{
background:none;
text-align:center;
}
table.defTable01 tr.cen_area td{padding-top:20px;}
.red{color:#c71509;}
.errBox {
font-size:14px;
line-height:200%;
color:#333333;
border:2px solid #c71509;
padding:10px;
width:90%;
margin:15px auto;
font-weight:bold;
}		

/*=============================
	company
===============================*/

.img_01{ margin-top:15px;}
.img_02{ margin-top:15px;}
.g_map{}
.g_map iframe{ width:100%;}

/*=============================
	case
===============================*/
.caseList li{
border:solid 1px #201e1e;
width:100%;
margin-top:15px;
background:#f5f7f8;
}

.caseList li dt{
font-size:16px;
font-family: "A-OTF A1明朝 Std";
background:#c9c9c9;
padding:10px 10px;
}

.caseList li dd.img{padding:10px;}
.caseList li dd.img span.cover {
display: inline-block;
background-color: #ccc;
background-position: center center;
background-repeat: no-repeat;
width: 100%;
height: 180px;
background-size: cover;
}

.caseList li dd.txt{
padding:10px 10px 10px 10px;
font-size:13px;
line-height:200%;
background:#fff;
margin:0px 10px 10px 10px;
}

/*=============================
	work
===============================*/
.workArea{
background:url(../images/work/bg_01.jpg) no-repeat center;
background-size:cover;
margin:20px -10px 0 -10px;
padding:10px;
}
.workArea .workArea_inner{
background-color: rgba(255,255,255,0.6);
padding:15px;
}
.subcon .workArea h3 {
font-family: "A-OTF A1明朝 Std";
font-size:20px;
text-align:center;
padding:0px 0px 0px 0px ;
margin:0px 0px 15px 0px;
border-bottom:none;
}
.workArea p{font-size:15px;}

.workList{}
.workList li{margin-top:10px;}

/*=============================
	staff
===============================*/

.staff_list .staff_inner{margin-bottom:20px;}
.staff_list .staff_inner div{margin:10px 0;}
.staff_list ul li{
color:#fff;
padding:15px;
background:#186dbd;
margin-bottom:10px;
}
.staff_list ul li:nth-child(even){background:#6baf00;}
.staff_list ul li dl dt{margin-bottom:10px;}


h4.h4_404{
font-family: "A-OTF A1明朝 Std";
margin:20px 0 10px 0px;
font-size:18px;
}

ul.infoList li a{
display:block;
padding:10px 10px 10px 20px;
text-decoration:none;
color:#222;
border-bottom:solid 1px #201e1e;
line-height:140%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
background:url(../images/sitemap/arw01.gif) no-repeat 5px 48%;
}
ul.infoList li a span{
display:block;
color:#186dbd;
}

.infoArea p.date {
text-align: right;
margin:10px 0;
color: #00499b;
}
.infoArea img{
width:100%;
height:auto;
margin:5px 0;
}


/* 詳細ページ SNSシェアボタン
------------------------------ */
.sns-sharerbtn-list {
	width:100%;
	margin:100px auto 10px;
	padding: 8px 0;
	text-align: center;
	border-top: 1px solid #cfcfcf;
	border-bottom: 1px solid #cfcfcf;
	background: #fff;
	clear: both;
}
.sns-sharerbtn-list li {
	margin: 0 4px;
	vertical-align: top;
	display: inline-block;
}


/* 詳細ページ 前後の記事へのリンク
------------------------------ */
.paginated-link {
	width:100%;
	margin:50px auto 70px;
	overflow: hidden;
}
.paginated-link li {
	width: 48%;
	padding: 0 5px;
	text-align: center;
	font-size: 13px;
	background: #186dbd;
	box-sizing: border-box;
}
.paginated-link li:hover{
	background: #186dbd;
}
.paginated-link li.prev-link {
	float: left;
}
.paginated-link li.next-link {
	float: right;
}
.paginated-link li a {
	height: 40px;
	line-height: 40px;
	display: block;
	overflow: hidden;
	color:#fff;
}

/* ページネーション
------------------------------ */
ul.pagenation {
	margin:20px 0 0;
	text-align: center;
	font-size: 0;
	letter-spacing: 0;
}
ul.pagenation li {
	width: 25px;
	margin: 0 3px;
	text-align: center;
	line-height: 30px;
	font-size: 13px;
	border: 1px solid #186dbd;
	vertical-align: top;
	display: inline-block;
	background:#fff;
}
ul.pagenation li.current {
	color: #fff;
	background: #186dbd;
}
ul.pagenation li.dot {
	width: 15px;
	margin: 0 1px;
	border: none;
}
ul.pagenation li a {
	text-decoration: none;
	display: block;
}
ul.pagenation li a:hover {
	text-decoration: underline;
}

.form-btn{
	text-align: center;
}

.g-recaptcha div {
  margin: 0 auto;
  margin-bottom: 20px;
  margin-top: 20px;
}