@charset "utf-8";
/* CSS Document */
/* img
--------------------------------------------------------- */
img.img-switch { /* smp-img-switch.js(PC・SPで画像切り替え) で仕様 */
	visibility: hidden;
}

/* PC SP 表示 非表示
--------------------------------------------------------- */
@media screen and (max-width: 640px) {
.spnone {
	display: none !important;
}
}
@media print, screen and (min-width: 641px) {
.pcnone {
	display: none !important;
}
}
/* PC SP 要素はあるけど見えない状態
--------------------------------------------------------- */
@media screen and (max-width: 640px) {
.sphidden {
	visibility: hidden !important;
}
}
@media print, screen and (min-width: 641px) {
.pchidden {
	visibility: hidden !important;
}
}
/* フォーム関連パーツ
--------------------------------------------------------- */
input[type="text"] {
	height: 2.5em;
	background: #eee;
	border: 1px solid #bebebe;
	font-size: 1em;
	text-indent: 0.7em;
}
input[type="text"]:focus {
	background: #edf4ff;
	border: 1px solid #4881d9;
}
textarea {
	background: #eee;
	border: 1px solid #bebebe;
	font-size: 1em;
	font-size: 1.15em;
}
textarea:focus {
	background: #edf4ff;
	border: 1px solid #4881d9;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 5px;
  background: #eee url(../images/form-arrow.png) no-repeat 100% 50%;
  background-size: 20px 7px;
  border: 1px solid #bebebe;
  height: 2.5em;
  font-size: 1em;
  text-indent: 0.3em;
  cursor: pointer;
}
select {
  text-indent: 0;
  padding-left: 5px;
  padding-right: 35px;
}
select::-ms-expand {
    display: none;
}
select:focus {
	border: 1px solid #4881d9;
	background: #edf4ff url(../images/form-arrow.png) no-repeat 100% 50%;
	background-size: 20px 7px;
}
@media screen and (max-width: 640px) {
input[type="text"], textarea, select {
	font-size: 1.25em;
}
}

/* pタグ
--------------------------------------------------------- */
main p {
	margin-top: 0.65em;
 }
main div > p:first-child,
main dt > p:first-child,
main dd > p:first-child,
main th > p:first-child,
main td > p:first-child {
	margin-top: 0;
}
/* table
--------------------------------------------------------- */
/*------ base ------- */
main table:not([class]),
#contact table {
	width: 100%;
	margin-top: 2em;
	font-size: 1.6rem;
	table-layout: fixed;
}
main *[class^="page-ttl-"] + table:not([class]) {
	margin-top: 0;
}
main table:not([class]) th,
main table:not([class]) td,
#contact table th,
#contact table td {
	border-bottom: #999 dotted 1px;
}
main table:not([class]) thead th,
#contact main table thead th {
	font-weight: bold;
	padding: 2em;
	text-align: center;
	color: #fff;
	background-color: #1b1b1b;
	border-bottom: none;
}
main table tbody,
#contact main table tbody {
	border-top: #999 dotted 1px;
}
main *[class^="page-ttl-"] + table:not([class]) tbody {
	border-top: none;
}
main table tbody th,
#contact main table tbody th {
	padding: 2em 0 2em 5em;
	vertical-align: middle;
	width: 25%;
	text-align: left;
}
#contact main table tbody th {
	width: 30%;
}
main table tbody td,
#contact main table tbody td {
	padding: 2em;
	vertical-align: top;
	text-align: left;
}
#contact main table tbody td {
	width: 70%;
}

/* list
--------------------------------------------------------- */
main ol:not([class]),
main ul:not([class]),
main ol.u-roman {
	padding-left: 2em;
	margin-top: 0.85em;
}
main ul:not([class]) > li ul:not([class]) {
	margin-top: 0.6em;
}
main ul:not([class]) {
	padding-left: 0;
}
main ul:not([class]) > li {
	list-style: none;
	padding-left: 1.5em;
	position: relative;
}
main ul:not([class]) > li:before {
	position: absolute;
	content: "";
	display: block;
	width: 0.8em;
	height: 0.8em;
	line-height: 1.6;
	border-radius: 0.5em;
	top: 0.4em;
	left: 0.2em;
	background-color: #1b1b1b;
}
main ul:not([class]) > li ul:not([class]) > li:before {
	position: absolute;
	content: "";
	display: block;
	width: 0.5em;
	height: 0.5em;
	line-height: 1.6;
	border-radius: 0.3em;
	top: 0.6em;
	left: 0.5em;
	background-color: #1b1b1b;
}
main ul:not([class]) > li+ li,
main ol:not([class]) > li+ li,
main ol.u-roman > li+ li {
	margin-top: 0.6em;
}
main ul:not([class]) > li  ul:not([class]) > li + li {
	margin-top: 0.2em;
}
main ol:not([class]) > li {
	list-style: decimal;
}
main ol.u-roman > li {
	list-style: upper-roman;
}
main ul:not([class]) > li a[href$=".pdf"]:after,
main ol:not([class]) > li a[href$=".pdf"]:after,
main ol.u-roman > li a[href$=".pdf"]:after {
	content:"PDFファイル";
	display: inline-block;
	width: 13px;
	height: 1em;
	margin-left: 5px;
	background: url(../images/icon-pdf.png) no-repeat 0 50%;
	-webkit-background-size: 1em auto;
	background-size: 1em auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;	
}
main ul:not([class]) > li a[href^="http"]:after,
main ol:not([class]) > li a[href^="http"]:after,
main ol.u-roman > li a[href^="http"]:after {
	content:"外部リンク";
	display: inline-block;
	width: 13px;
	height: 1em;
	margin-left: 5px;
	background: url(../images/icon-outside-link.png) no-repeat 0 50%;
	-webkit-background-size: 1em auto;
	background-size: 1em auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;	
}
.info-list {
	width: 60em;
	margin: 0 auto;
}
.info-list li {
	border-bottom: 1px dotted #1b1b1b;
	margin-top:1.35em;
	padding-left: 2em;
	padding-bottom: 1em;
}
.info-list dl {
	display: table;
}
.info-list dt {
	display: table-cell;
	width: 11.4em;
}
.info-list dd {
	display: table-cell;
}
.info-list a[href$="pdf"]:after {
	font-family: FontAwesome;
    content: "\f1c1";
	margin-left: .5em;
	text-decoration: none;
	display: inline-block;
}
.info-list a[href^="http"]:after {
	font-family: FontAwesome;
    content: "\f08e";
	margin-left: .5em;
	text-decoration: none;
	display: inline-block;
}
ul.info-list li.new dd:after {
	content: "NEW";
	font-size: 1.0rem;
	background: #FF0000;
	color: #fff;
	padding: 2px 5px;
	display:inline-block;
	margin-left: .9em;
	position: absolute;
}

/* layout 2col
--------------------------------------------------------- */
.box-text {
	margin-top: 3em;
}
.box-text::after {
	content: "";
	display: block;
	clear: both;
}
.box-text img.imgleft {
	float: left;
	margin-right: 30px;
	margin-bottom: 20px;
	max-width: 370px;
	height: auto;
}
.box-text img.imgright {
	float: right;
	margin-left: 30px;
	margin-bottom: 20px;
	max-width: 370px;
	height: auto;
}
.box-text div.imgcenter {
	width: 600px;
	height: auto;
	margin: 0 auto;
}

.box-text img.imgborder {
	border: 1px solid #eee;
}

/* button
--------------------------------------------------------- */
a[class^="button01"], *[class^="button01"] {
	display: block;
	background-color: #0081a6;
	color: #fff;
	font-size: 2.4rem;
	padding: 35px;
	max-width: 530px;
	text-align: center;
	text-decoration: none;
	margin: 1.3em auto 0;
}
a[class^="button01"]:hover,
a[class^="button01"]:active,
a[class^="button01"]:focus,
a[class^="button01"].hover,
*[class^="button01"]:hover,
*[class^="button01"]:active,
*[class^="button01"]:focus,
*[class^="button01"].hover {
	background-color: #4ca7c1;
}
a[class^="button02"], *[class^="button02"] {
	display: block;
	background-color: #fff;
	border: 1px #1b1b1b solid;
	color: #1b1b1b;
	font-size: 2.4rem;
	padding: 34px;
	max-width: 530px;
	text-align: center;
	text-decoration: none;
	margin: 1.3em auto 0;
}
a[class^="button02"]:hover,
a[class^="button02"]:active,
a[class^="button02"]:focus,
a[class^="button02"].hover,
*[class^="button02"]:hover,
*[class^="button02"]:active,
*[class^="button02"]:focus,
*[class^="button02"].hover {
	color: #fff;
	background-color: #1b1b1b;
}
a[class^="button03"], *[class^="button03"] {
	display: block;
	background-color: #fff;
	border: 1px #959595 solid;
	color: #959595;
	font-size: 2.4rem;
	padding: 34px;
	max-width: 530px;
	text-align: center;
	text-decoration: none;
	margin: 1.3em auto 0;
}
a[class^="button03"]:hover,
a[class^="button03"]:active,
a[class^="button03"]:focus,
a[class^="button03"].hover,
*[class^="button03"]:hover,
*[class^="button03"]:active,
*[class^="button03"]:focus,
*[class^="button03"].hover {
	color: #fff;
	background-color: #959595;
}
a[class^="button0"][class*="mini"], *[class^="button0"][class*="mini"] {
	max-width: 240px;
	font-size: 1.4rem;
	padding: 15px;
}
/* ggmap
--------------------------------------------------------- */
.ggmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 350px;
    padding-top: 30px;
    position: relative;
}

.ggmap iframe,
.ggmap object,
.ggmap embed  {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
/* .youtube
--------------------------------------------------------- */
.youtube {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* scroll
--------------------------------------------------------- */
.scroll {
    overflow-x: auto !important;
	overflow-y: hidden;
	margin-bottom: 1.5em;
}
.scroll::-webkit-scrollbar{ /* スクロールバー本体 */
	width: 15px;
	height: 15px;
	background: #ccc;
}
.scroll::-webkit-scrollbar:horizontal{ /* 横方向のスクロールバー本体 */
	width: 12px;
	height: 12px;
	background: #ccc;
}
.scroll::-webkit-scrollbar-thumb{ /* スクロールバーの動く部分 */
	background: #999;
	border: #666 solid 1px;
	border-radius: 0;
}
.scroll::-webkit-scrollbar-thumb:horizontal{ /* 横方向のスクロールバーの動く部分 */
	background: #999;
	border: #666 solid 1px;
	border-radius: 0;
}
.scroll::-webkit-scrollbar-track-piece:start{ /* スクロールバーの動く部分の前 */
	background: #ccc;
}
.scroll::-webkit-scrollbar-track-piece:end{ /* スクロールバーの動く部分の後ろ */
	background: #ccc;
}
.scroll::-webkit-scrollbar-corner{ /* スクロールバー角 */
	background: transparent;
}

.scroll > * {
    margin: 0 !important;
}
/* =========================================================
 page common mod
========================================================= */
/* mod-photoBody
--------------------------------------------------------- */
.mod-photoBody img {
	max-width: 100%;
	height: auto;
}
.mod-photoBody > img {
	display: block;
	margin: 0 auto;
}
/* mod-textBody
--------------------------------------------------------- */
.mod-textBody p {
	margin: 0.5em 0;
	line-height: 1.6;
}
.mod-textBody > p:first-child {
	margin-top: 0;
}
.mod-textBody p:empty {
	height: 1em;
}
/* title
--------------------------------------------------------- */
/*------ pagetitle ------- */
.pagetitle {
	margin-top: 4em;
}
.pagetitle .title {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGP明朝B", serif;
	font-feature-settings : "pkna";
}
.pagetitle .title .en {
	display: block;
	text-align: center;
	line-height: 1.2;
	font-size: 7.2rem;
}
.pagetitle .title .jp {
	display: block;
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
}
.pagetitle .lead {
	text-align: center;
	margin-top: 0.5em;
}
.pagetitle .lead p {
	font-size: 1.4rem;
	margin-top: 0;
}
.pagetitle a {
	text-decoration: none;
	color: #1b1b1b;
	display: block;
}
.pagetitle .title a .en::after {
	font-family: FontAwesome;
	content: "\f138";
	display: inline-block;
	font-size: 2.0rem;
	margin-left: 1em;
}
.pagetitle a:hover,
.pagetitle a:active,
.pagetitle a:focus,
.pagetitle a.hover {
	opacity: 0.7;
}
/*------ pagetitle-mini ------- */
.pagetitle-mini {
	margin-top: 3.5em;
}
.pagetitle-mini .title {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGP明朝B", serif;
	font-feature-settings : "pkna";
	text-align: center;
	font-size: 4.8rem;
	letter-spacing: 0.3em;
	line-height: 1.2;
	font-weight: bold;
}
.pagetitle-mini .lead {
	text-align: center;
	margin-top: 0.7em;
}
.pagetitle-mini .lead p {
	font-size: 1.4rem;
	margin-top: 0;
}
/*------ page-ttl-01 ------- */
.page-ttl-01 {
	font-size: 3.2rem;
	margin-top: 2em;
	border-bottom: solid 2px #77bcd0;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGP明朝B", serif;
	font-feature-settings : "pkna";
	font-weight: bold;
	padding-left: .92em;
}
/*------ page-ttl-02 ------- */
.page-ttl-02 {
	font-size: 2.15rem;
	margin-top: 1.5em;
	position: relative;
	padding-left: 1.2em;
}
.page-ttl-02:before {
	position: absolute;
	content: '';
	top: .4em;
	left: 0;
	width: .75em;
	height: .75em;
	background-color: #000;
}

/*------ page-ttl-03 ------- */
.page-ttl-03 {
	font-size: 1.8rem;
	margin-top: 2.05em;
}
/*------ page-ttl-design01 ------- */
.page-ttl-design01  {
	margin-top: 2em;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGP明朝B", serif;
	font-feature-settings : "pkna";
	font-weight: bold;
}
.page-ttl-design01 span.en {
	font-size: 3.6rem;
}
.page-ttl-design01 span.ja {
	font-size: 1.4rem;
	margin-left: 1em;
}
.page-ttl-design01 a {
	display: inline-block;
	text-decoration: none;
	color: #1b1b1b;
}
.page-ttl-design01 a:hover,
.page-ttl-design01 a:active,
.page-ttl-design01 a:focus,
.page-ttl-design01 a.hover {
	opacity: 0.7;
}
.page-ttl-design01 a::after {
    font-family: FontAwesome;
    content: "\f138";
    display: inline-block;
    font-size: 2.0rem;
    margin-left: 1em;
}
/*------ page-ttl-design02 ------- */
.page-ttl-design02  {
	margin-top: 1em;
	font-size: 2.4rem;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGP明朝B", serif;
	font-feature-settings : "pkna";
	font-weight: bold;
}
/* .mod-business-menu-box 　／　home  business
--------------------------------------------------------- */
ul.mod-business-menu-box {
	margin-top:3.15em;
	display: flex;
	flex-wrap: wrap;
	width:  100%;
}
ul.mod-business-menu-box > li {
	margin-left: 30px;
    display: block;
    width: 370px;
}
ul.mod-business-menu-box > li:nth-child(3n+1) {
    margin-left: 0px;
}
ul.mod-business-menu-box > li:nth-child(n+4) {
    margin-top: 30px;
}
ul.mod-business-menu-box > li a {
	display: block;
	text-decoration: none;
}
ul.mod-business-menu-box > li a dl {
	position: relative;
}
ul.mod-business-menu-box > li a dt.title {
	position: absolute;
	text-decoration: none;
	color: #fff;
	font-size: 1.6rem;
	padding: 8px;
	letter-spacing: 0.05em;
	width: 18em;
	text-align: center; 
	top: 218px;
	right: -9px;
	box-shadow: 0px 5px 3px rgba(0,0,0,0.2);
	transition: 0.3s linear;
	z-index: 1;
	background-color: #1b1b1b;
}
ul.mod-business-menu-box > li a dd.photo {
    width: 370px;
    height: 278px;
	overflow: hidden;
	transition: 0.3s linear;
}
ul.mod-business-menu-box > li a dd.photo img {
	width: 370px;
	height: auto;
}
ul.mod-business-menu-box > li a dd.text {
	margin-top: 0.5em;
	color: #1b1b1b;
}
ul.mod-business-menu-box > li a:hover dt.title,
ul.mod-business-menu-box > li a:active dt.title,
ul.mod-business-menu-box > li a:focus dt.title,
ul.mod-business-menu-box > li a.hover dt.title {
	    background-color:#0081a6;
}
ul.mod-business-menu-box > li a:hover dd.photo,
ul.mod-business-menu-box > li a:active dd.photo,
ul.mod-business-menu-box > li a:focus dd.photo,
ul.mod-business-menu-box > li a.hover dd.photo {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}
/* .mod-box-productdetailList 施工事例詳細記事リスト
--------------------------------------------------------- */
 .mod-box-productdetailList {
	background-color: #7fc0d2;
	margin-top: 9em;
}
.mod-box-productdetailList .productdetailList-inner {
	width: 1200px;
	padding: 30px 15px 50px;
	margin-left: auto;
	margin-right: auto;
}
.mod-box-productdetailList .productdetailList-inner > *:first-child {
	margin-top: 0;
}
/* .mod-productSlider / 施工事例のslider
--------------------------------------------------------- */
.mod-productSlider {
	width: 100%;
	margin-top: 1.5em;
}
.mod-productSlider .sliderItem {
	padding: 0 15px 5px;
}
/* .mod-curd-project / 施工事例　カード型デザイン
--------------------------------------------------------- */
.mod-curd-project {
	background-color: #fff;
	box-shadow: 2px 2px 3px 1px rgba(0 ,0, 0, 0.2);
}
.mod-curd-project a {
	display: block;
	text-decoration: none;
	color: #1b1b1b;
	transition: 0.3s linear;
}
.mod-curd-project a:hover,
.mod-curd-project a:active,
.mod-curd-project a:focus,
.mod-curd-project a.hover {
	opacity: 0.7;
}
.mod-curd-project .photo {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 75% 0 0;
}
.mod-curd-project .photo-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:  #eee;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mod-curd-project .photo-inner img {
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
}

.mod-curd-project .contents {
	padding: 20px;;
	position: relative;
}

.mod-curd-project .contents p.date {
	font-size: 1.6rem;
}
.mod-curd-project .contents p.cat {
	position: absolute;
	top: 0;
	right: 0;
}
.mod-curd-project .contents p.cat span {
	position: absolute;
	background-color: #0081a6;
	color: #fff;
	top: -1.8em;
	right: 0;
	padding: .21em 0;
	width: 15.5em;
	text-align: center;
	letter-spacing: 0.05em;
	font-size: 1.6rem;
}
.mod-curd-project .contents p.cat span:before{
	display: block;
	content: ' ';
	width: 0;
	height: 0;
	overflow: hidden;
	position: absolute;
	right: 99.9%;
	top: 0;
	border: 0 solid transparent;
	border-width: 0 .8em 2em 0;
	border-right-color:#0081a6;
}

.mod-curd-project .contents p {
	position: relative;
}

.mod-curd-project .contents p.title {
	font-size: 2.0rem;
	font-weight: bolder;
	margin-top: 0;
	line-height: 1.1;
}
/*//.mod-curd-project.new .contents p.title:after {
//	content: "NEW";
//	font-size: 1.0rem;
//	background: #FF0000;
//	color: #fff;
//	padding: 2px 5px;
//	display:inline-block;
//	position: absolute;
//	top: .6em;
//	margin-left:.5em;
//}*/
.mod-curd-project.new .contents p.date:after {
	content: "NEW";
	font-size: 1.0rem;
	background: #FF0000;
	color: #fff;
	padding: 2px 5px;
	display:inline-block;
	position: absolute;
	top: 0em;
	margin-left:.8em;
}

.mod-curd-project .contents dd {
	margin-top: 0.8em;
}
.mod-curd-project .contents dd p {
	line-height: 1.4;
	margin-top: 0;
}
/* .mod-box-projectCategoryList / 施工事例のカテゴリー一覧
--------------------------------------------------------- */
.mod-box-projectCategoryList {
	background-color: #eee;
	width: 100%;
	padding: 15px 0;
	margin-top: 4em;
}
.mod-box-projectCategoryList ul.list {
	width: 1200px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
	display: flex;
	justify-content: center;
}
.mod-box-projectCategoryList ul.list > li {
	margin: 0 15px;
	text-align: center;
}
.mod-box-projectCategoryList ul.list > li a {
	display: block;
	transition: 0.3s linear;
	text-decoration: none;
}
.mod-box-projectCategoryList ul.list > li a:hover,
.mod-box-projectCategoryList ul.list > li a:active,
.mod-box-projectCategoryList ul.list > li a:focus,
.mod-box-projectCategoryList ul.list > li a.hover,
.mod-box-projectCategoryList ul.list > li.current a {
	opacity: 0.7;
}
.mod-box-projectCategoryList ul.list > li a:hover dl,
.mod-box-projectCategoryList ul.list > li a:active dl,
.mod-box-projectCategoryList ul.list > li a:focus dl,
.mod-box-projectCategoryList ul.list > li a.hover dl,
.mod-box-projectCategoryList ul.list > li.current a dl {
	background-color:#0081a6;
}
.mod-box-projectCategoryList ul.list > li dl {
	width: 8.929em;
	height: 9.286em;
	background: #5c5c5c;
	padding-top:2em;
	display: -webkit-flex;
    display:flex;
    -webkit-flex-direction:column;
    flex-direction:column;
}
.mod-box-projectCategoryList ul.list > li dd {
	order: 1;
}
.mod-box-projectCategoryList ul.list > li dt{
	margin-top: .5em;
	color: #fff;
	letter-spacing: 0.1em;
	font-size: 1.6rem;
	order: 2;
}

/* =========================================================
 #home ホーム
========================================================= */
/* home-slider
--------------------------------------------------------- */
#home .home-slider {
	margin-bottom: 10em;
}
#home .home-slider img {
	width: 100%;
	height: auto;
}
#home .home-slider a {
	display: block;
}
#home .home-slider a:hover img,
#home .home-slider a:active img,
#home .home-slider a:focus img,
#home .home-slider a.hover img {
	opacity: 0.7;
}
/* home-project
--------------------------------------------------------- */
#home .home-project{
	background: url(../images/project/projcet-cover.jpg) no-repeat;
	background-size: cover;
	margin-top: 12.8em;
	padding: .2em 0 5.2em;
}
/* =========================================================
 #business index  事業紹介インデックスページ
========================================================= */
/* =========================================================
 #business bizCategory 事業紹介カテゴリーページ
========================================================= */
/* .mod-box-productdetai 事例詳細記事リスト
--------------------------------------------------------- */
 .mod-box-productdetail {
	background: #7fc0d2;
	background-size: cover;
	margin-top: 12.8em;
	padding: .2em 0 1.8em;
}
/* =========================================================
 #hproject index  施工事例インデックスページ
========================================================= */
/* .project-box-subpageList 事例詳細記事リスト
--------------------------------------------------------- */
#project.index  .project-box-subpageList ul.list {
	margin-top: 3em;
	display: flex;
	flex-wrap: wrap;
	width:  100%;
}
#project.index  .project-box-subpageList ul.list > li {
	width: calc((100% - 60px) / 3);
	margin-left: 30px;
}
#project.index  .project-box-subpageList ul.list > li:nth-child(3n+1) {
    margin-left: 0;
}
#project.index  .project-box-subpageList ul.list > li:nth-child(n+4) {
    margin-top: 30px;
}
#project.index  .project-box-subpageList .more {
	margin-top: 2.5em;
}
#project .linkLayout {
    background-color: rgba(0, 129, 166, 0.1);
    margin-top: 3em;
    border-radius: 10px;
    display: inline-block;
    padding: 20px 30px;
    min-width: 500px;
}
#project .linkLayout > .linkLayout__link {
    margin-top: 0;    
}

/* =========================================================
 #company index  会社概要インデックスページ
========================================================= */
/* .mod-list-anchor アンカーリスト
--------------------------------------------------------- */
ul.mod-list-anchor{
	font-size: 1.8rem;
}
ul.mod-list-anchor li{
 	position: relative;
	display: inline-block;
	color:#000;
	padding-left:1em;
	margin:0 .5em;
}
ul.mod-list-anchor li:before{
	content: "";
	position: absolute;
	border-top: 6px solid #0081a6;
	border-right: 5px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 5px solid transparent;
	top: .6em;
	left: .2em;
}
ul.mod-list-anchor li a{
	color:#000;
	text-decoration: none;
}

/* gmap グーグルマップ
--------------------------------------------------------- */
.gmap{
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.gmap iframe, .gmap object, .gmap embed{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/* =========================================================
 #Recruit index  採用情報インデックスページ
========================================================= */
/* .mod-list-anchor 募集職種のタブ
--------------------------------------------------------- */

#recruit.index ul.recruit-work-tab {
	display: flex;
	margin-top:3.5em;
	justify-content: space-around;
}

#recruit.index ul.recruit-work-tab > li {
	text-align: center;
	display: flex;
	color: #0081a6;
	width: 100%;
	background-color: #cce6ed;
	cursor: pointer;
	flex: 1;
	font-size: 1.8rem;
	transition: .3s linear;
	vertical-align: middle;
	align-items: center;
	justify-content: center;
	padding: 10px;
	line-height: 1.3;
	border-left: 1px #fff solid;
	border-right: 1px #fff solid;
}

#recruit.index ul.recruit-work-tab > li:nth-child(-n+1) {
	margin-left: 0;
}
#recruit.index ul.recruit-work-tab > li:hover,
#recruit.index ul.recruit-work-tab > li:active,
#recruit.index ul.recruit-work-tab > li:focus,
#recruit.index ul.recruit-work-tab > li.is-active {
	background: #0081a6;
	box-sizing: border-box;
	color: #fff;
}
#recruit.index ul.recruit-work-box {

}
#recruit.index .recruit-contact {
	text-align: center;
	font-size: 3.0rem;
	padding-top: 1.733em;
	
}
#recruit.index .recruit-contact dl {
	border-top: 4px solid #0081a6;
	border-bottom: 4px solid #0081a6;
	width: 24.333em;
	text-align: center;
	margin: 0 auto;
}
#recruit.index .recruit-contact dt {
	margin-top: .5em;
	font-weight: bold;
}
#recruit.index .recruit-contact dd {
	font-size: 1.6em;
	color:#0081a6;
	font-weight: bold;	
}

#recruit.index .recruit-contact dd:before {
	font-family: FontAwesome;
    content: "\f095";
	margin-right: .3em;
}

li.recruit-work-Panel a[href^="http"]:after {
	font-family: FontAwesome;
	content: "\f08e";
	margin-left: .5em;
}

.baseUl{
	margin-bottom: 0.8em;
	margin-top: 0.8em;
}
.baseUl li{

}
.baseUl li + li{
	margin-top: 0.2em;
}






/* =========================================================
 #contact   お問い合わせ
========================================================= */
#contact .question {
}
#contact .question .question-inner {
	display: flex;
	padding-right: 10px;
}
#contact .question .question-inner .icon {
	order: 1;
	width: 50px;
}
#contact .question .question-inner .icon img {
	vertical-align: top;
}
#contact .question .question-inner .text {
	order: 0;
	padding-right: 10px;
	width: calc(100% - 50px);
}
#contact .contact-flow {
	text-align: center;
	margin: 40px 0 30px;
}
#contact .contact-box-complete {
	margin-top: 60px;
}
#contact .contact-box-complete .title {
	text-align: center;
	font-size: 3.0rem;
}
#contact .contact-box-complete .text {
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: center;
}
#alphaform div.error::before {
    font-family: FontAwesome;
    content: "\f071";
    font-size: 1.2em;
    line-height: 1.0;
    padding-left: 3px;
    padding-right: 8px;
	display: inline-block;
}


