@charset "utf-8";
html,
body {
	height: 100%;
	margin: 0;
}
a {
	color: #333;
    text-decoration: none;

	transition: 0.25s; /* all */

}
a:hover {
	color: #fff;
}
img {
	max-width: 100%;	
	height: auto;
	width /***/:auto; /* IE8のみ */
	vertical-align: bottom;

	transition: 0.25s; /* all */

}
/* body */

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #000;
	background-color: #fff;
}

/**//**//**//**//**//**//**/
/* レスポンシブ画面右余白バグ */
div.wrapper {
	overflow: hidden;
}
/**//**//**//**//**//**//**/

	/* リスト */
.bread_list {
	background-color: #eee;
	padding: 2%;
	font-size: 14px;
}
.bread_list li {
	display: inline;	
}
.bread_list li a:hover {
	color: #999;
}
.bread_list_home:before {
	content: url(../img/index_icon_house.gif);
}

/* ロゴ */
.logo {
	padding: 2%;
	background-color: #eee;
}
.logo img {
	width: 20%;
}
/*nav メニュー位置*/
nav {	
	width: 100%;	
	padding: 1% 0 1.5% 0; /* 左右設定× */
	text-align: center;
	font-size: 16px;
	color: #fff;
	background-color: #164088;
}
nav img {
	width: 9%;
}
	
nav ul  {
	overflow: hidden;
}

nav ul li {
	font-size: 18px;
	float:left;
	width: 16.6666%; /*x5では20%*/
	
}
nav ul li a {
	color: #ddd;
	width: 16.6666%; /*x5では20%*/
}
nav ul li.now a {
    color: #fff;
}
		/*吹き出し下三角*/
.now-fukidasi {
	width: 100%;
	background-color: #eee;
}
			/* bg-image+margin-left */
.now-fukidasi-in {	
	width: 20%;
	margin-left: 31.7%; /*x5では40%*/ /*値を変える*/
	height: 20px;
	background-image: url(../img/works/works_arrow.png);
	background-position: center center;
	background-size: 20px 20px;
	background-repeat: no-repeat;
}

/* maincontent */
.maincontent {
	width: 100%;
	margin-left: auto;
	margin-right: auto;	
	background-color: #f2f2f2;
}
/* あらゆる状況に対応 */
.maincontent h2.copyh2 {
	border-left: #000 20px double;	
	padding: 20px;
}
.maincontent h2.copyh2 img {
	max-height: 57px;
	max-width: 542px;
}
.maincontent p.copy {
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	line-height: 1.25;
	background-color: #164088;
	padding: 34px;
	color: #eee;
	border-left: #FFF 20px double;
}
/*＝＝＝＝＝＝＝ old 写真下h2 p ＝＝＝＝＝＝＝＝*/
	/* 紹介部分 */
.w-box-wrapper {
	width: 1320px;
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
	padding: 5% 0;
}

.w-box-wrapper p {
	text-align: left;
}	
.w-box {
	width: 380px;
	height: 380px;
	margin: 30px 30px;
	overflow: hidden;
	color: #eee;
	background-color: #fff;
	float: left;
}
.w-box h2 {
	font-size: 16px;
	font-weight: bolder;
	color: #000;
}
.w-box p {
	font-size: 14px;
	color: #000;
}
.w-box-r {
	line-height: 1.6;
	text-align: center;
}

/*＝＝＝＝＝＝＝＝＝＝*/
/* img x 3 + table */
		/* 1031 印刷設定 */

.w-box-wrapper {
	width: 100%; /*px→%*/
	overflow: hidden;
	margin-left: auto;
	margin-right: auto; 
	padding: 2.5% 0 5% 0;
}

.w-box-img3 {
	width: 90%;
	margin: 1.5% 5% 1.5% 5%;	
	overflow: hidden;
}

.w-box {
	float: left;
	width: 26%;/* 1=400px(w350+m50) */
	height: auto;
	margin-right: 6%; /*px→%*/
	overflow: hidden;
	color: #eee;
	background-color: #fff;
}
.w-box-last {
	margin-right: 0%;
}
/* table .works-description */
.w-box-wrapper table {
	width: 90%; /*px→%*/
	margin-left: auto;
	margin-right: auto;
}
div.table-area {
	clear: both;
	padding-top: 2.5%;
}
.w-box-wrapper table th {
	width: 325px;
	height: 55px;

	font-weight: bold;
	font-size: 18px;
	text-align: center;
	vertical-align: middle;
	border: #777 1px solid;
	background-color: #ededf0;
}
.w-box-wrapper table td {
	font-size: 17px;
	vertical-align: middle; /* inline,table = vertical-align */
	line-height: 2;
	padding: 16px 26px;
	border: #777 1px solid;
}
.w-box-wrapper table th.th-top-border-t-none {
	border-top: none;
}
.w-box-wrapper table td.td-top-border-t-none {
	border-top: none;
}



/* 文章長文化 p利用 */
.w-box-wrapper table td p {
	padding: 6px 16px;
}

/* hr style */
hr.hr-style {
	margin-top: 1%;
	border: 0;
	height: 1px;
	background-image: linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image: -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image: -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
	background-image: -ms-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,0.75), rgba(255,255,255,0));
}

/* background */
.bg-area {
	padding: 4% 0;
	background-color: #164088;	
	border-right: #FFF 20px double;	border-left: #FFF 20px double;
}

/* フッター */
footer {
	clear: both;
	overflow: hidden;
	padding: 1.5% 0 1% 0;
	text-align: center;
	font-size: 14px;
	background-color: #eee;
}
footer p.personal {
	text-align: center;
}
footer .footer-copy-box {
	text-align: center;
	padding-top: 15px;
}
footer .copy {
	padding-bottom: 5px;
}
/* 上へ戻る */

footer #pageTop {
	clear: both;
	text-align: right;	
	padding: 0;
	font-size: 14px;
}
		/*i display:block--- p 下へ*/
footer #pageTop i {
	display: block;
	text-align: center; 
}
/**//**//**/
	/* 追加分　トップへ戻るボタンが下へ(Y)px移動すると固定で現れる */
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
#pageTop a {
  display: block;
  z-index: 999;
}
/**//**//**/

/*nav メニュー位置*/
footer .footer-nav {
	width: 750px;
	padding: 15px 0px 20px 0px;
	font-size: 16px;
	background-color: rgba(0,0,0,0.0);
	margin-left: auto;
	margin-right: auto;	
}
footer .footer-nav ul  {
	overflow: hidden;
}

footer .footer-nav ul li {
	float:left;
	width: 125px;
}
footer .footer-nav ul li a {
	display: block;
	width: 125px;	
	overflow: hidden;
}
footer a {	
	color: #000;
}
footer a:hover {
	color: #999;
}
/* 連絡先 */
address {
	font-style: normal;
}

@media screen and (max-width: 1220px) {
		/* 画像・テーブル レスポンシブ　767px */
	.w-box-wrapper {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
	}
	.w-box {
    width: 28%; /* x3 */
    height: auto;
    margin: 2.666666666666667%;
    overflow: hidden;
	}
	.w-box-wrapper img {
    width: 100%;
	}
	.w-box-wrapper table {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
	}
	.w-box-wrapper table th {
    width: 30%;
	}
	.w-box-wrapper table td {
    width: 70%;
    line-height: 2.2;
    padding-left: 16px;
	padding-top: 3px;
	padding-bottom: 3px;
	padding: 16px 24px;
	}
}
@media screen and (max-width: 979px) {
    /* 979px above  */
}
@media screen and (max-width: 767px) {
    /* 767px above */
		/*img あらゆる状況に対応*/
	.maincontent h2.copyh2 img {
	max-height: 57px;
	max-width: 432px;
	}
			/*当社では--- ご相談ください*/
	.maincontent p.copy {
	font-size: 15px;
	line-height: 1.6;
	padding: 24px;
	}
	/* 縦=hr delete */
	hr.hr-style {
	display: none;
	}
	/* x3 pic resize */
	.w-box-wrapper {
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	}
	.w-box-wrapper img {
	width: 100%;
	}
	.w-box {
    width: 28%;
	height: auto;
    margin: 2.666666666666667%;
    overflow: hidden;
	}
		/* table width */
	.w-box-wrapper table {
	width: 90%;
    margin-left: auto;
    margin-right: auto;
	}
		/* width %  */
	.w-box-wrapper table th {
	width: 30%;
	line-height: 1.6;
	padding: 0 16px;
	}
	.w-box-wrapper table td {
	width: 70%;
    line-height: 1.85;
	padding-left: 16px;
	padding-top: 3px;
	padding-bottom: 3px;
	padding: 16px;
	}
	div.table-area {
    padding-bottom: 6.5%;
	}
	/* footer background */
	.bg-area {
	padding: 7.5% 0;
	}
		/* footer-nav 可変幅 */
	footer .footer-nav {
    width: 100%;
    padding: 0% 0% 2% 0%;
    margin-left: auto;
    margin-right: auto;
	}
	footer .footer-nav ul li {
    width: 16.666%;
	}
	footer .footer-nav ul li a {
    width: 100%;
	}
		/* footer-nav 可変幅 end */
}


@media screen and (max-width: 479px) {
	/* ! nav change */
		/*nav position */
	nav {	
	width: 100%;
	padding: 0;
	}
	nav img {
	width: 18%;
	}
	nav ul  {
	overflow: hidden;
	padding: 1.5% 0 2.5% 0;
	background-color: #164088;
	}
		/* TOP icon */
	nav h2 {
	padding: 2% 0 0 0;
	}
		/* li= float none */
	nav ul li {
	font-size: 18px;
	float: none;
	width: 100%;
	padding: 2.25% 0;
	}
	nav ul li a {
	width: 100%;
	}
		/* nav a:hover */
	nav ul li a:hover {
	border-bottom: #fff 1px solid;
	}
	nav ul li.now a:hover {
	border: none;
	color: #fff;
	}
	nav ul li.now a {
    color: #fff;
	}
		/* catch img あらゆる状況に対応 */
	.maincontent h2.copyh2 img {
    max-height: 50px;
    max-width: 295px;
	}
		/* 当社では p */
	.maincontent p.copy {
    margin-bottom: 0;
	line-height: 1.4;
	}
		/*吹き出し下三角-不可視*/
	.now-fukidasi {
	width: 0%;
	display: none;
	}
			/* bread_list */
	.bread_list {
	padding: 4% 0 4% 2%;
	}
	/* ロゴ */
	.logo {
	padding: 3.5%;
	}
	.logo img {
	width: 40%;
	margin-left: auto;
	margin-right: auto;
	}

	/* float null */
	.w-box {
	width: 80%; /*img size*/
	height: auto;
	padding: 0; margin: 0;
	overflow: hidden;
	float: none;

	margin-left: auto;
	margin-right: auto;
	margin-top: 6%;
	margin-bottom: 6%;
	}
	.w-box {
    width: 90%;
	}
		/* table 段 */
	table.infor-table {
	margin-left: auto;
	margin-right: auto;
	width: 90%;
	font-size: 16px;
	}
		/* important レスポンシブ table */
	.w-box-wrapper table th,
	.w-box-wrapper table td {
    width: 100%;
	display: block; /* important */
	border: #888 1px solid;
	border-bottom: none;
	padding: 0;
	}
		/* table 内説明 */
	.w-box-wrapper table th {
	padding: 16px 0;
	line-height: 3;
	}
	.w-box-wrapper table td {
	padding: 5% 0;
	line-height: 2.2;
	text-align: center;
	}
	.w-box-wrapper table td.td-bottom {
	border-bottom: #888 1px solid;
	}
	/* 縦レイアウトで線が消えるため */
	.w-box-wrapper table th.th-top-border-t-none {
	border-top: #888 1px solid;
	}
	.w-box-wrapper table td.td-top-border-t-none {
	border-top: #888 1px solid;
	}

	/* 文章長文化によりp利用 */
	.w-box-wrapper table td p {
	padding: 9px 16px;
	}
		/*nav メニュー位置*/
	footer .footer-nav {
	width: 100%;
	padding: 3% 0%;
	font-size: 19px;
	margin-left: auto;
	margin-right: auto;		
	}
	footer .footer-nav-t {
	overflow: hidden;
	width: 100%;
	text-align: center;
	}
		/* 段落 */
			/* x6 2culum 3paragraph */
	footer .footer-nav ul li {
	float: left;
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	}
	footer .footer-nav ul li a {
    width: 100%;
    padding: 5% 0; /* li a size */
	}
		/*  a:hover background-color 色変更 */
	footer .footer-nav ul li a:hover {
	color: #000; /* overwritten */
	background-color: #fff;
	}
		/*現ページを無視する設定*/
	footer .footer-nav ul li.now-footernav a {
	color: #000;
	}
	footer .footer-nav ul li.now-footernav a:hover {
	color: #000;
	background-color: #fff;
	}

			/*footer nav CSS3 矢印*/
	#css-arrow {
	position: relative;
	display: inline-block;
	padding: 0;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
	}
	#css-arrow::before,
	#css-arrow::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	}
	#css-arrow::before {
	left: 3px; left: 5px;
	width: 4px; width: 6px;
	height: 4px; height: 6px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	}
}

@media screen and (max-width: 320px) {
	/* catch copy */
	.maincontent h2.copyh2 {
    border-left: #000 17px double;
    padding: 15px;
	}
	.maincontent h2.copyh2 img {
	width: 100%;
    max-height: 40px;
    max-width: 320px;
	}
		/* 当社では p */
	.maincontent p.copy {
	font-size: 14px;
	font-weight: normal;
    line-height: 1.4;
	padding: 19px;
	}
	div.table-area {
    padding-bottom: 10%;
	}
	.w-box-wrapper table th {
	font-size: 16px;
	padding: 10px 0;
	}

	.w-box-wrapper table td {
	font-size: 14px;
    line-height: 2.4;
	text-align: center;
	}
}

	/* 印刷設定 */
@media print {
	/* print ブレークポイント */
	.page-break-point {
	page-break-before: always;
	}
		/*ページを切り替えるとtopがないため*/
	.w-box-wrapper table th.th-top-border-t-none {
	border-top: 1px solid #777;
	}
	.w-box-wrapper table td.td-top-border-t-none {
	border-top: 1px solid #777;
	}

	.mainVisual-cover-box {
	display: none;
	}
	.bread_list {
	display: none;
	}
	/* ロゴ */
	.logo {
	background-color: #fff;
	}
	/* あらゆる状況に対応 */
	.maincontent h2.copyh2 {
	border-left: #000 20px double;	
	padding: 15px;
	}
	.maincontent h2.copyh2 img {
	max-height: 40px;
	max-width: 500px;
	}
	.maincontent p.copy {
	font-size: 16px;
	line-height: 1.1;
	background-color: #164088;
	padding: 20px;
	color: #eee;
	border-left: #FFF 20px double;
	}
	/*上写真x3*/
	.w-box-img3 {
	display: none;
	}
	.w-box-wrapper {
	background: #fff;
	}
		/* table .works-description */
	.w-box-wrapper table {
	width: 95%; /*px→%*/
	}
	div.table-area {
	padding-top: 16px;
	}
	.w-box-wrapper table th {
	width: 190px;
	height: auto;
	padding: 8px;

	font-weight: normal;
	font-size: 11px;
	text-align: center;
	}
	.w-box-wrapper table td {
	font-size: 11px;
	padding: 8px;
	}
		/* background area */
	.bg-area {
	display: none;
	}
	footer {
	display: none;
	}
}