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

/*----------------------------------------------------/

メインレイアウト 

/----------------------------------------------------*/
a:link   {color:#333333;text-decoration:none;transition: all ease 0.3s;} 
a:visited{color:#333333;text-decoration:none;transition: all ease 0.3s;} 
a:hover  {color:#333333;text-decoration:underline;transition: all ease 0.3s;}
a:active {color:#333333;text-decoration:underline;transition: all ease 0.3s;}

body{
	min-width:320px;
	font-family:"游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	letter-spacing:0.05em;
	color:#333333;
	-webkit-font-smoothing: antialiased; 
	-moz-osx-font-smoothing: grayscale;
}

img{
	  width:100%;
	  height: auto;
}

.wrapper{
	overflow: hidden;
}

/*Webフォント*/
@font-face{
	font-family: "mono";
	src: url("files/fonts/mono.woff") format('woff');
}
@font-face{
	font-family: "FAGGM";
	src: url("files/fonts/FAGGM.woff") format('woff');
}
.font-mono{
	font-family: "mono";
}
.fontHalyard{
	font-family: halyard-display, sans-serif;
	font-weight: 700;
	font-style: normal;
}

@media print, screen and (min-width: 768px) {/*768px以上のみの設定（PC・タブレット共通）*/
html{font-size:65%;}
body{font-size:13px;font-size:1.2rem;}	
.toggleBtn,.spNav,.spBr,.pcNone{display: none!important;}
/*======================================================

共通レイアウト

======================================================*/
.flBox{
	display: flex;
	flex-wrap: wrap;
}

.mainSection > .inner{
	max-width: 1600px;
	margin: auto;
	position: relative;
}

/* div.wrapper{
	background: #EAEAEA;
} */
.mainContentsWrap{
	background: #ababab;
}
#index .mainContentsWrap{
	padding-top: 250px;
	position: relative;
	top: -250px;
}
/*header*/
header{
	background: #fff;
}
.headerTop .inner{
	display: flex;
}
	.headerTop h1.mainCopy{
		font-size: 1.2rem;
		color: #fff;
		background-color: #000;
		padding: 0.75em 1em;
		flex: 1;
		position: relative;
	}
	.headerTop h1.mainCopy a img{
		width: 24px;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(-50%,-50%);
	}
	nav.topNav{
		min-width: 100px;
		display: flex;
	}

			div.headInsta {				
				padding: 0.75em 1em 0.5em 0;				
			}
			div.headInsta svg{
				fill: #fff;
				width: 23px;
			}

			nav.topNav a.topNavHome{
				font-weight: bold;
				padding: 0.75em 1em 0.75em 3.5em;
				position: relative;
			}
			nav.topNav a:hover{
				text-decoration: none;
				color: #01A0C6;
			}
				nav.topNav a:hover svg{
					fill: #01A0C6;
					transition: ease all 0.3s;
				}
				nav.topNav svg.homeIcon{
					width: 15px;
					position: absolute;
					left: 1.75em;
					margin-top: 1.5px;
					transition: ease all 0.3s;
				}
				nav.topNav svg.mainIcon{
					width: 16px;
					position: absolute;
					left: 1.75em;
					margin-top: 3.5px;
					transition: ease all 0.3s;
				}

/*glovalzNavigation*/
.gloNavWrap{
	padding: 0 10% 0 100px;
	align-items: center;
	position: relative;
	display: flex;
	justify-content: space-between;
}
/* .gloNavWrap h1.headerLogo{} */
.gloNavWrap h1.headerLogo img{
	max-width: 360px;
}
	.gloNavWrap nav.gloNav ul.flBox{
		align-items: center;
		font-size: 1.6rem;
		font-weight: bold;
		max-width: 100%;
	}
	.gloNavWrap nav.gloNav li.mainMenu{
		margin: 0 1.5em;
		padding: 50px 0;	
	}
		nav.gloNav li.mainMenu > a{
			text-decoration: none;
			position: relative;
			cursor: pointer;
		}
		nav.gloNav li.mainMenu > a:hover,
		nav.gloNav li.mainMenu > a.active{
			color: #01A0C6;
		}
		nav.gloNav li.mainMenu > a::before{
			left: 50%;
		}
		nav.gloNav li.mainMenu > a::after{
			right: 50%;
		}
		nav.gloNav li.mainMenu > a::before,
		nav.gloNav li.mainMenu > a::after{
			border-bottom: 3px solid #cdcdcd;
			bottom: -0.5em;
			content: "";
			display: block;
			position: absolute;
			transition: all .3s ease;
			width: 0;
		}
		nav.gloNav li.mainMenu > a:hover::before,
		nav.gloNav li.mainMenu > a:hover::after{
			width: 50%;
		}

/*glovalzNavigation-submenu*/
li.deployment .subMenu{
	position: absolute;
	top: 100px;
	left: 0;
	width: 100%;
	min-height: 200px;	
	opacity: 0;
	transition: ease all 0.3s;
}
li.deployment.active .subMenu{
	display: block!important;
	top: 127px;
	left: 0;
	background: rgba(0, 69, 85, 0.85);
	z-index: 100;
	opacity: 1;
	transition: ease all 0.5s;
}
/* li.deployment > a:active{
	pointer-events: none;
} */
li.deployment .subMenu ul.flBox{
		max-width: 600px;
		margin: 30px auto 0;
	}
		li.deployment .subMenu li{
			padding: 0 75px;
		}
			li.deployment .subMenu li a{
				text-decoration: none;
				color: #fff;
				display: block;
				position: relative;
			}
				li.deployment .subMenu li a p{
					font-size: 1.6rem;
					font-weight: bold;
					text-align: center;
				}
				li.deployment .subMenu li a p em{
					font-size: 2.24rem;
					font-weight: bold;
					display: block;
				}
		li.deployment .subMenu a:hover svg{
			fill: #fff;
			transition: ease all 0.3s;
		}
		li.deployment .subMenu a .iconProduct{
			position: absolute;
			top: 120%;
			left: 50%;
			width: 42.4px;
			fill: #32C2E5;
			transform: translate(-50%, 0);
		}
		li.deployment .subMenu a .iconConstruction{
			position: absolute;
			top: 120%;
			left: 50%;
			width: 64px;
			fill: #32C2E5;
			transform: translate(-50%, 0);
		}
		li.deployment .subMenu a .iconService{
			position: absolute;
			top: 130%;
			left: 50%;
			width: 64px;
			fill: #32C2E5;
			transform: translate(-50%, 0);
		}

/*topMainVisual*/
.topPage.flexslider{
	max-width: 1080px;
	margin: 0 180px;
	position: relative;
}
.topPage.flexslider .mainCopyWrap{
	position: absolute;
	bottom: 10%;
    right: -20%;
	z-index: 10;	
}
	.mainCopyWrap p:nth-of-type(1){
		font-size: 5.0rem;
		font-weight: bold;
		color: #000;
		display: inline-block;
		line-height: 2.0em;
		text-shadow: 2px 2px 3px rgba(255,255,255,0.7);
	}
		/* .mainCopyWrap p:nth-of-type(1)::before{
			content: "";
			display: block;
			border-top: 2px solid #fff;
			box-shadow: 0px 3px 6px #000;
			width: 100%;
		}
		.mainCopyWrap p:nth-of-type(1):after{
			content: "";
			display: block;
			border-bottom: 2px solid #fff;
			box-shadow: 0px 3px 6px #000;
			width: 100%;
		} */
	.mainCopyWrap p:nth-of-type(2){
		font-size: 2.0rem;
		font-weight: bold;
		color: #000;
		line-height: 2.0em;
		margin-top: 5px;
		text-shadow: 1px 1px 2px rgba(255,255,255,0.7);
	}

/*subMainVisual*/
.subPageMainVisual{
	text-align: center;
	position: relative;	
}
	.subPageMainVisual img{
		max-height: 330px;
		object-fit: cover;
		object-position: center;
	}
	.subPageMainVisual h1{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 5.0rem;
		font-weight: bold;
		color: #fff;
		text-shadow: 0px 3px 6px #00000080;
		display: inline-block;
		line-height: 2.0em;
	}
	.subPageMainVisual h1::before{
		content: "";
		display: block;
		border-top: 2px solid #fff;
		box-shadow: 0px 3px 6px #000;
		width: 100%;
	}
	.subPageMainVisual h1:after{
		content: "";
		display: block;
		border-bottom: 2px solid #fff;
		box-shadow: 0px 3px 6px #000;
		width: 100%;
	}
/*titles*/
.h1ContentsTitle{
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(0 ,-50%);
}
.h1ContentsTitle .jp{
	font-size: 2.8rem;
	font-weight: bold;
	color: #fff;
}
.h1ContentsTitle .en{
	font-size: 1.7rem;
	color: #01A0C6;
	font-family: "mono";
}
.h1ContentsTitle .en.yellow{
	color: #FFE558;
}

/*buttons*/
a span.linkArrow{		
	content: "";
	display: block;
	width: 30px;
	height: 6px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: skewX(45deg);
	transition: ease-in-out all 0.4s;
}
a span.linkArrow.red{		
	border-right: 1px solid #FF5353;
	border-bottom: 1px solid #FF5353;
}
a:hover span.linkArrow{
	width: 40px;		
	transition: ease-in-out all 0.4s;
}
a span.linkArrowPrev{		
	content: "";
	display: block;
	width: 30px;
	height: 6px;
	border-left: 1px solid #FF5353;
	border-bottom: 1px solid #FF5353;
	transform: skewX(-45deg);
	transition: ease-in-out all 0.4s;
}
a:hover span.linkArrowPrev{
	width: 40px;		
	transition: ease-in-out all 0.4s;
}

/*footer*/
footer{
	background: #000;
}
#index footer{
	margin-top: -250px;
}
a.pageTopBtn{
	display: block;
	position: relative;
	background: #004555;
	text-align: center;	
	padding: 60px 0 10px;
	text-decoration: none;
}
a.pageTopBtn:hover{
	opacity: 0.7;
}
	a.pageTopBtn em{
		font-size: 1.6rem;
		color: #fff;		
	}
	a.pageTopBtn .arrowMark{
		position: absolute;
		top: 25px;
		left: 50%;
		transform: translate(-50%, 0);
		width: 27px;
		height: auto;
		fill: #fff;
		transition: ease all 0.4s;
	}
	a.pageTopBtn:hover .arrowMark{
		position: absolute;
		top: 20px;
		transition: ease all 0.4s;
	}

footer{
	position: relative;
}

.footerContents{
	background: #fff;
}
.footerContents > article{
	max-width: 1080px;
	margin: auto;
	padding: 20px 0;
	justify-content: space-between;
	align-items: center;
	font-size: 1.4rem;
	line-height: 2.0em;
}
	.footerContents div{
		padding: 44px;
	}
	/* .footerContents .footerLogo{} */
		.footerContents .footerLogo img{
			width: 280px;
		}
	.footerContents .footerAddress{
		border-left: 1px solid #000;
		border-right: 1px solid #000;
	}
	.footerContents .footerAddress a{
		color: #003BFF;
		text-decoration: underline;
	}
	.footerContents .footerContact{
	}

.footerNav{
	padding: 80px 0 40px;
	justify-content: space-between;
	max-width: 1080px;
	margin: auto;
	position: relative;
}
.footerNav a{
	color: #fff;
}
.footerNav section h2{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 15px;
}
	.footerNav ul.navList h3{
		font-size: 1.4rem;
		font-weight: bold;
		margin-top: 0.75em;
		padding-left: 1em;
		position: relative;
	}
	.footerNav ul.navList h3::before{
		content: "";
		background: url(files/images/common/arrow_link.svg) no-repeat;
		background-size: contain;
		width: 5px;
		height: 9px;
		position: absolute;
		top: 10%;
		left: 0%;
		transform: translateY(50%);
	}
		.footerNav ul.navList ul{
			line-height: 2.0em;
		}
		.footerNav ul.navList ul li{
			line-height: 3.0em;
			text-indent: 1em;
		}
		.footerNav ul.navList ul li::before{
			content: "-";			
			color: #fff;
			padding-right: 0.5em;
		}

div.footerInsta{
	position: absolute;	
	top:35%;
	right:1em;	
}
div.footerInsta a img{
	width: 60px;
}

.copyRight{
	font-size: 1.2rem;
	text-align: center;
	color: #fff;
	padding-bottom: 20px;
	font-family: "mono";
}

.mailorderBannerWrap{
	max-width: 1080px;
	margin: 0 auto 60px;
	display: flex;
	gap:20px;
}

.mailorderBannerWrap a:nth-of-type(1) img{
	width: 223px;
}
.mailorderBannerWrap a:nth-of-type(2) img{
	width: 200px;
}

/*======================================================

TOP PAGE

======================================================*/
/* #topServiceArea */
#topServiceArea{
	background-color: #000;
	margin-top: 180px;
}

#topServiceArea .h1ContentsTitle{
	right: 5%;
}

#topServiceArea .serviceWrap{
	width: 80%;
	position: relative;
	top: -50px;
}
	#topServiceArea ul.serviceList{
	}
	#topServiceArea .serviceList li{
		flex-basis: 33.3333%;
		text-align: center;
		position: relative;
	}
	#topServiceArea .serviceList li::before{
		content: "";
		background-color: rgba(0, 0, 0, 0.6);
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		transition: ease-out all 0.3s;
	}
	#topServiceArea .serviceList li:hover::before{
		left: 100%;
		transition: ease-out all 0.5s;
	}
	#topServiceArea .serviceList li:nth-of-type(1){
		background: url(files/images/top/product_bg_photo.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;		
	}
	#topServiceArea .serviceList li:nth-of-type(2){
		background: url(files/images/top/construction_bg_photo.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;		
	}
	#topServiceArea .serviceList li:nth-of-type(3){
		background: url(files/images/top/service_bg_photo.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;	
	}

	#topServiceArea .serviceList li a{		
		color: #fff;
		text-decoration: none;
		display: block;
		position: relative;
		padding-bottom: calc(100% * 400 / 450);
	}
	#topServiceArea .serviceList li a svg{		
		fill: #fff;
		transform: translate(-50% , -50%);
		transition: ease all 0.3s;
	}
	#topServiceArea .serviceList li a:hover svg{		
		fill: #32C2E5;
		transition: ease all 0.3s;
	}
		#topServiceArea .serviceList li svg.iconProduct{		
			position: absolute;
			width: 16%;
			top: 55%;			
		}
		#topServiceArea .serviceList li svg.iconConstruction{		
			position: absolute;
			width: 20%;
			top: 55%;
		}
		#topServiceArea .serviceList li svg.iconService{		
			position: absolute;
			width: 20%;
			top: 55%;
		}
			#topServiceArea .serviceList li a p:nth-of-type(1){ 		
				font-size: 3.2rem;
				font-weight: bold;
				position: absolute;
				top: 17%;
				left: 50%;
				transform: translate(-50%, 0);
			}
			#topServiceArea .serviceList li a p:nth-of-type(2){		
				font-size: 2.0rem;
				font-weight: bold;
				position: absolute;
				bottom: 12%;
				left: 50%;
				transform: translate(-50%, 0);
			}
			#topServiceArea .serviceList li a span{		
				content: "";
				display: block;
				position: absolute;
				top: 84%;
				left: 75%;
				width: 30px;
				height: 6px;
				border-right: 2px solid #fff;
				border-bottom: 1px solid #fff;
				transform: skewX(45deg);
				transition: ease-in-out all 0.4s;
			}
			#topServiceArea .serviceList li a:hover span{
				width: 40px;		
				transition: ease-in-out all 0.4s;
			}

/* #topNewsArea */
#topNewsArea{
	background-color: #004555;
	position: relative;
	margin-top: 160px;
	min-height: 500px;
}
#topNewsArea .h1ContentsTitle{
	left: 5%;
}
	#topNewsArea .newsWrap{
		padding-right: 100px;
		padding-left: 300px;
		position: relative;
		top: -50px;
	}
		#topNewsArea ul.newsList{
			background: #fff;
			padding: 60px 50px;
			box-shadow: 0px 3px 6px #00000029;
		}
			#topNewsArea ul.newsList li{
				padding: 1.5em 1em;
				border-bottom: 1px solid #CBCBCB;				
				transition: ease all 0.3s;
			}
			#topNewsArea ul.newsList li:hover{
				background: #e9e9e9;
				transition: ease all 0.3s;
			}
			#topNewsArea ul.newsList li a{
				text-decoration: none;
				align-items: center;
				position: relative;
			}
				#topNewsArea ul.newsList li p.date{
					font-size: 1.2rem;
					flex-basis: 13%;
				}
				#topNewsArea ul.newsList li p.category{
					width: 100px;
					text-align: center;
					margin-top: 10px;
				}
				#topNewsArea ul.newsList li p.category span{
					font-size: 1.0rem;
					font-weight: bold;
					color: #fff;
					display: block;			
					padding: 0.25em 0.5em;
				}
					ul.newsList li p.category.news span{
						background-color: #01A0C6;
					}
					ul.newsList li p.category.blog span{
						background-color: #000;
					}
				#topNewsArea ul.newsList li h2{
					font-size: 1.4rem;
					flex-basis: 65%;
					margin-left: 40px;
				}
				#topNewsArea ul.newsList .linkArrow{
					position: absolute;
					top: 50%;
					left: 95%;
				}
	
	#topNewsArea .archiveLink{
		max-width: 1600px;
		margin: 0 auto;
		padding-right: 200px;
		padding-left: 300px;
		padding-bottom: 50px;
		text-align: right;
	}
		.archiveLink a{
			color: #fff;
			font-weight: bold;
			font-size: 2.0rem;
			text-decoration: none;
			position: relative;
		}
		.archiveLink a span.linkArrow{
			position: absolute;
			top: 50%;
			left: 110%;
		}

/* #topWorksArea */
#topWorksArea{
	background-color: #00ADB4;
	position: relative;
	margin-top: 160px;
	min-height: 430px;
}
#topWorksArea .h1ContentsTitle{
	right: 5%;
}

#topWorksArea .archiveLink{
	position: absolute;
	bottom: 7%;
	left: 10%;
}
	#topWorksArea .worksWrap{
		padding-right: 300px;
		padding-left: 100px;
		padding-bottom: 100px;
		position: relative;
		top: -50px;
	}
		ul.topWorksList{
			background: #fff;
			padding: 60px 50px;
			box-shadow: 0px 3px 6px #00000029;
			position: relative;
		}
			ul.topWorksList .slick-slide{
				padding: 15px;
			}
				ul.topWorksList a{
					display: block;
					text-decoration: none;
					background: #e9e9e9;
				}				
				ul.topWorksList a:hover{
					background: #afafaf;
				}				
					ul.topWorksList a div.image{
						overflow: hidden;
						position: relative;
					}
					ul.topWorksList a div.image::after{
						content: "";
						position: absolute;
						display: block;
						top: 0;
						left: 0;
						width: 100%;
						height: 100%;
						background: #000;
						opacity: 0;
						transition: ease-out all 0.3s;
					}
					ul.topWorksList a:hover div.image::after{
						opacity: 0.6;
						transition: ease-out all 0.3s;
					}

						ul.topWorksList a div.image img{		
							transition: ease all 0.3s;
						}
						ul.topWorksList a:hover div.image img{
							transform: scale(1.1,1.1);
							transition: ease all 0.3s;
						}

					ul.topWorksList a .meta{
						padding: 15px 15px 50px 15px;
						position: relative;
					}
						ul.topWorksList a .meta h2{
							font-weight: bold;
							font-size: 1.4rem;
						}
						ul.topWorksList a .meta .linkArrow{
							position: absolute;
							left: 80%;
							bottom: 15px;
						}
button.slick-arrow{
	position: absolute;
	top: 50%;
	text-indent: -9999px;
	border: none;
	cursor: pointer;
}
button.slick-arrow.slickPrev{
	left: 0;
	width: 44px;
	height: 44px;
	background: url(files/images/top/btn_prev.png);
	background-size: cover;
}
button.slick-arrow.slickNext{
	right: 0;
	width: 44px;
	height: 44px;
	background: url(files/images/top/btn_next.png);
	background-size: cover;
}

/* topRectuitArea */
#topRectuitArea{
	margin-top: 80px;
	background: url(files/images/top/recruit_bg_photo.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding: 160px 0 80px;
	position: relative;
}
#topRectuitArea::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	background: rgba(30, 101, 118, 0.6)
}
	#topRectuitArea .h1ContentsTitle{
		position: static;
	}

	#topRectuitArea .bannerWrap{
		max-width: 1080px;
		margin: 60px auto 0;
		justify-content: space-between;
		position: relative;
		z-index: 10;
		transition: ease all 0.3s;
	}
	
		#topRectuitArea .bannerWrap li{
			display: block;
			position: relative;
			overflow: hidden;
		}
			#topRectuitArea .bannerWrap a{
				display: block;
				overflow: hidden;
			}
			#topRectuitArea .bannerWrap img{ 
				transition: ease all 0.3s;
			}
			#topRectuitArea .bannerWrap li:hover img{ 
				transform: scale(1.1, 1.1);
				transition: ease all 0.3s;
			}
	
	#topRectuitArea .contactWrap{
		max-width: 900px;
		margin: 60px auto 0;
		position: relative;
		z-index: 10;
	}

		#topRectuitArea .contactWrap li::before{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #fff;
			opacity: 0;
			transition: ease all 0.3s;
		}
		#topRectuitArea .contactWrap li:hover::before{
			opacity: 0.6;
			transition: ease all 0.3s;
		}

		#topRectuitArea .contactWrap li:nth-of-type(1){
			background: #01A0C6;
			flex-basis: 50%;
			transform: skew(-30deg);
		}
			#topRectuitArea .contactWrap li:nth-of-type(1) p:nth-of-type(1){
				font-size: 1.4rem;
				font-weight: bold;
			}
			#topRectuitArea .contactWrap li:nth-of-type(1) p:nth-of-type(2){
				font-size: 3.7rem;
				margin-top: 20px;
			}

		#topRectuitArea .contactWrap li:nth-of-type(2){
			background: #FF4E00;
			flex-basis: 50%;
			position: relative;
			font-size: 2.6rem;			
			transform: skew(-30deg);
		}
			#topRectuitArea .contactWrap li a{
				color: #fff;
				display: block;
				text-decoration: none;
				text-align: center;
				transform: skew(30deg);
				padding: 50px 0;
			}
			
				#topRectuitArea .contactWrap li:nth-of-type(2) em{		
					font-weight: bold;
					position: absolute;
					top: 100%;
					left: 40%;
					transform: translate(-50%, 0);
					width: 100%;
				}
				#topRectuitArea .contactWrap li:nth-of-type(2) .mainIcon{
					fill: #fff;
					width: 48px;
					height: auto;
					position: absolute;
					left: 40%;
					transform: translate(-50%, 0);
				}

/*======================================================

business-product（事業内容ー製品）

======================================================*/
/* 共通レイアウト */
.businessPageHead{
	background: #000;
	text-align: center;
	color: #fff;
	
	padding: 45px 0 100px;
}
	.businessPageHead h2{
		font-size: 3.2rem;
		font-weight: bold;
		text-align: center;
	}
	.businessPageHead h2 svg.iconProduct{
		margin: auto;
		width: 53px;
		fill: #32C2E5;
		display: block;
		margin-bottom: 20px;
	}
	.businessPageHead h2 svg.iconConstruction{
		margin: auto;
		width: 80px;
		fill: #32C2E5;
		display: block;
		margin-bottom: 20px;
	}
	.businessPageHead h2 svg.iconService{
		margin: auto;
		width: 80px;
		fill: #32C2E5;
		display: block;
		margin-bottom: 20px;
	}

	.businessPageHead .pageMainCopy{
		font-size: 1.6rem;
		margin-top: 40px;
		line-height: 2.6em;
	}

/* ナビゲーション */
#motionArea2,
#motionArea3{
	display: none;
}
#constructionWrap{
	margin-top: 70px;
}
.bisinessWrap nav{
	max-width: 1080px;
	margin: auto;
	position: relative;
	top: -70px;
}
	.bisinessWrap nav ul{
		text-align: center;
		flex-wrap: nowrap;		
	}
		.bisinessWrap nav ul li{
			height: 100%;			
			flex-basis: 33.3333%;			
			transition: all ease 0.3s;
		}
		.bisinessWrap nav ul li:not(:nth-last-of-type(1)){
			border-right: 1px solid #EAEAEA;	
		}
		.bisinessWrap nav ul li:hover{			
			transition: all ease 0.3s;
		}
			.bisinessWrap nav ul li a{
				display: block;
				background: #fff;
				padding: 50px 0;
				font-weight: bold;
				color: #01A0C6;
				font-size: 1.6rem;
				text-decoration: none;
				cursor: pointer;
			}
			.bisinessWrap nav ul li a.active,
			.bisinessWrap nav ul li a.hover{
				background: #EAEAEA;
			}

/* 事業リスト */
.businessContents{
	max-width: 1080px;
	margin: auto;
}
	section.bisinessList{
		flex-basis: 31.5%;
		margin-bottom: 40px;
	}
	section.bisinessList:not(:nth-of-type(3n)){
		margin-right: 2.75%;
	}
	section.bisinessList div.meta{
		background: #fff;
		width: 90%;
		margin: auto;
		position: relative;
		top: -30px;
		padding: 25px;
		box-sizing: border-box;
		box-shadow: 0px 3px 6px #00000029;
	}
	section.bisinessList div.meta h1{
		font-size: 1.6rem;
		font-weight: bold;
		margin-bottom: 1em;
	}
	section.bisinessList div.meta p{
		font-size: 1.4rem;
	}

/* 事業リスト */
.flowArea{
	background-color: #004555;
    position: relative;
    margin-top: 160px;
    min-height: 430px;
}
.flowArea .h1ContentsTitle {
    left: 5%;
}
	.flowWrap{
		padding-right: 50px;
		padding-left: 350px;
		position: relative;
		top: -50px;
	}
		ul.flowList{
			background: #fff;
			padding: 40px 50px 60px 50px;
			box-shadow: 0px 3px 6px #00000029;
		}
			ul.flowList li{
				display: flex;
				padding: 60px 0;
			}
			ul.flowList li:not(:nth-last-of-type(1)){
				border-bottom: 1px solid #CDCDCD;
				position: relative;
			}
			ul.flowList li:not(:nth-last-of-type(1))::before,
			ul.flowList li:not(:nth-last-of-type(1))::after{
				content: "";
				position: absolute;
				top: 100%;
				left: 50%;
				transform: translateX(-50%);
			}
			ul.flowList li:not(:nth-last-of-type(1))::before{
				border: 18px solid transparent;
				border-top: 23px solid #CDCDCD;
			}
			ul.flowList li:not(:nth-last-of-type(1))::after{
				border: 20px solid transparent;
				border-top: 25px solid #fff;
				margin-top: -4px;
			}
				ul.flowList .stepTitle{
					color: #01A0C6;
					font-size: 2.8rem;
					font-weight: bold;
				}
				ul.flowList .stepContents{
					margin-left: 50px;		
				}
				ul.flowList .stepContents h2{
					font-size: 1.7em;
					font-weight: bold;
					letter-spacing: 0;		
				}
				ul.flowList .stepContents p{
					font-size: 1.4rem;
					margin-top: 1.5em;		
				}

/*======================================================

company（会社情報）

======================================================*/
.rightTitle .h1ContentsTitle{
	right: 6%;
}

.rightTitle .contentsWrap {
    padding-left: 200px;
    padding-right: 450px;
    position: relative;
}
.leftTitle .h1ContentsTitle{
	left: 6%;
}
.leftTitle .contentsWrap {
    padding-right: 200px;
    padding-left: 450px;
    position: relative;
}

/* Greeting */
#greetingArea{
	background-color: #000;
	position: relative;
	margin-top: 180px;
}
	#greetingArea .contentsWrap{
		top: -80px	
	}
		div.greetingInner{
			background: #fff;
			padding: 60px 50px;
			box-shadow: 0px 3px 6px #00000029;
		}
			div.greetingInner figure{
				position: relative;
			}
				div.greetingInner figure .chairmanName{
					position: absolute;
					top: 85%;
					right: -10px;
					background: #01A0C6;
					color: #fff;
					padding: 20px 30px;
				}
					div.greetingInner figure .chairmanName p:nth-of-type(1){
						font-size: 1.6rem;
					}
					div.greetingInner figure .chairmanName p:nth-of-type(2){
						font-size: 2.8rem;
						font-family: "FAGGM";
						margin-top: 0.5em;
					}
				div.greetingInner img{
					max-height: 550px;
					object-fit: cover;
					object-position: center;
				}
			.greetingTxt{
				font-size: 1.4rem;
				line-height: 2.8em;
				margin-top: 80px;
			}

/* Company Profile */
#profilegArea{
	background-color: #004555;
	position: relative;
	padding: 150px 0 100px;
}
	ul.profifleList{
		background: #fff;
		padding: 60px 50px 60px 100px;
		box-shadow: 0px 3px 6px #00000029;
	}
	ul.profifleList > li{
		display: flex;
		font-size: 1.4rem;
		line-height: 2.0em;
		padding: 1.5em 1em;
		border-top: 1px solid #CDCDCD;
	}
	ul.profifleList > li:nth-last-of-type(1){
		border-bottom: 1px solid #CDCDCD;
	}
		ul.profifleList > li h3{
			font-weight: bold;
			flex-basis: 20%;
		}
		ul.profifleList > li > p{
			flex-basis: 80%;
			padding-left: 1em;
		}
		ul.profifleList > li ul.businessList{
			flex-basis: 80%;
		}
			ul.profifleList > li ul.businessList li{
				padding-bottom: 1.5em;
				padding-left: 1em;
				padding-right: 1em;
			}
			ul.profifleList > li ul.businessList li:not(:nth-of-type(1)){
				border-top: 1px solid #CDCDCD;
				padding-top: 1.5em;
			}
			ul.profifleList > li ul.businessList h4{
				font-weight: bold;
				margin-bottom: 1em;
			}

/* Company History */
#historyArea{
	background-color: #00ADB4;
	position: relative;
	padding: 150px 0 100px;
}
	ul.hostoryList{
		background: #fff;
		padding: 60px 50px;
		box-shadow: 0px 3px 6px #00000029;
	}
		ul.hostoryList li{
			display: flex;
			font-size: 1.4rem;
			padding: 1.5em 1em;
			border-bottom: 1px solid #CDCDCD;
		}
		ul.hostoryList li p:nth-of-type(1){
			font-weight: bold;
			flex-basis: 20%;
		}

/* Handling manufacturer */
#makerArea{
	background-color: #01A0C6;
	position: relative;
	padding: 150px 0 100px;
}
	ul.makerList{
		background: #fff;
		padding: 60px 50px;
		box-shadow: 0px 3px 6px #00000029;
		text-align: center;
	}
		ul.makerList li{
			display: flex;
			font-size: 1.4rem;
			padding: 1.5em 1em;
			border-bottom: 1px solid #CDCDCD;			
		}
		ul.makerList li:nth-of-type(1){	
			display: block;	
		}
			ul.makerList li p{
				text-align: center;
				flex-basis: 33.3333%;
			}

/* Access */
#accessArea{
	background: #fff;
	padding: 150px 0 100px;
}
	#accessArea .h1ContentsTitle{
		position: static;
	}
	#accessArea .h1ContentsTitle .jp{
		color: #000;
	}

	.mapWrap{
		position: relative;
		padding-bottom: 40%;
		overflow: hidden;
		margin-top: 60px;
	}
		.mapWrap iframe{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}
.mapLink{	
	font-size: 1.4rem;
	font-weight: bold;
	text-align: right;
	padding: 30px;
}
	.mapLink a{
		color: #01A0C6;
		position: relative;
	}
	.mapLink svg.pinIcon{
		width: 25px;
		fill: #D10000;
		position: absolute;
		top: -12px;
		left: -40px;
	}

.howToAccess{
	max-width: 1080px;
	margin: auto;
}
	.howToAccess li{
		font-size: 1.4rem;
		padding: 1.5em 1em;
		border-bottom: 1px solid #CDCDCD;
	}
	.howToAccess li::before{
		content: "●";
		color: #D10000;
		padding-right: 1em;
	}

/*======================================================

works-archive（導入事例）

======================================================*/
.worksArchiveWrap{
	padding: 100px 0;
}

.categoryListWrap h2.widgettitle{
	display: none!important;
}
select#custom-post-type-categories-dropdown-2{
	display: block;
	width: 1080px;
	margin: 80px auto;
	position: relative;
    padding: 0 20px;
    font-size: 2.0rem;
	font-weight: bold;
    line-height: 50px;
    background-color: #fff!important;
    cursor: pointer;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(./files/images/common/arrow_down.svg);
	background-position: 97% 50%;
    background-repeat: no-repeat;
    background-size: 25px auto;
    height: 80px;
	/* transform: rotate(180deg); */
}

.resultBox{
	display: table;
	margin: auto;
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	border: 2px solid #000000;
	padding: 25px 50px;
}

.worksListWrap{
	width: 1080px;
	margin: 80px auto 20px;
}
	.worksListWrap section{
		flex-basis: 31%;
		background-color: #fff;
		box-shadow: 0px 3px 6px #00000029;
		margin-bottom: 60px;
		padding-bottom: 20px;	
	}
	.worksListWrap section:not(:nth-of-type(3n)){
		margin-right: 3.5%;
	}
		.worksListWrap section a{			
			text-decoration: none;
		}
			.worksListWrap section a figure{			
				overflow: hidden;
			}
			.worksListWrap section a figure img{			
				transition: ease all 0.3s;
			}
			.worksListWrap section a:hover figure img{			
				transform: scale(1.1,1.1);
				transition: ease all 0.3s;
			}
			.worksListWrap section a .meta{
				padding: 15px 30px;
				position: relative;
			}
				.worksListWrap section a .meta h1{
					font-size: 2.0rem;
					font-weight: bold;
				}
				.worksListWrap section a .meta h2{
					color: #01A0C6;
					font-size: 1.6rem;
					font-weight: bold;
					margin-top: 10px;
					margin-bottom: 15px;
				}
				.worksListWrap section a .meta .linkArrow{
					position: absolute;
					bottom: 0%;
					left: 80%;
				}

.wp-pagenavi{
	display: table;
	margin: auto;
	font-size: 1.8rem;
}
	.wp-pagenavi a, .wp-pagenavi span {
		text-decoration: none;
		border: 1px solid #BFBFBF;
		padding: 3px 5px;
		margin: 2px;
	}

	.wp-pagenavi span.pages, .wp-pagenavi span.current, .wp-pagenavi a.page, .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink, .wp-pagenavi .extend, .wp-pagenavi .last {
		color: #000;
		background: #fff;
		border: solid 1px #000!important;
		padding: 6px 11px 6px 11px;
		margin-right: 14px;
		text-decoration: none;
	}
	.wp-pagenavi span.current,
	.wp-pagenavi a:hover{
		background: #000;
		color: #fff;
	}

/*======================================================

works-single（導入事例）

======================================================*/
.worksSingleWrap{
	padding: 100px 0;
}

.worksHead{
	text-align: center;
	margin: 0 0 60px;
}	
	.worksHead h2{
		font-size: 3.0rem;
		font-weight: bold;
	}	
	.worksHead h3{
		font-size: 2.0rem;
		font-weight: bold;
		color: #01A0C6;
		margin: 40px auto 0;
		padding: 30px 25px;
		border: 2px solid #01A0C6;
		background-color: #fff;
		display: table;
	}	

.worksPhotosWrap{
	background: #000;
	padding: 100px 0 100px;
	margin-top: 100px;
}
	ul.worksPhotosList{
		max-width: 1080px;
		margin: auto;
	}
		ul.worksPhotosList li{
			flex-basis: 31.0%;
			margin-bottom: 40px;
		}
		ul.worksPhotosList li:not(:nth-of-type(3n)){
			margin-right: 3.5%;
		}
		ul.worksPhotosList li img{
			object-fit: cover;
			object-position: center;
			height: 230px;
		}
	.worksPhotosWrap p{
		color: #fff;
		font-size: 1.2rem;
		font-weight: bold;
		position: relative;
		margin: 0 auto 40px;
		display: table;
	}
		.worksPhotosWrap p svg{
			fill-rule:evenodd;
			clip-rule:evenodd;
			fill:#fff;
			width: 20px;
			position: absolute;
			top: 0;
			left: -35px;
		}

.worksTxtWrap{
	font-size: 1.6rem;
	line-height: 2.0em;
	max-width: 1080px;
	margin: auto;
	background-color: #fff;
	box-shadow: 0px 3px 6px #00000029;
	padding: 45px;
	position: relative;
	top: -50px;
}

.archivePrevBtn{
	margin-top: 80px;
	text-align: center;
}
.archivePrevBtn a{
	position: relative;
	text-decoration: none;
}
.archivePrevBtn a .linkArrowPrev{
	position: absolute;
	right: 120%;
    top: 30%;
}

/*======================================================

recruit（採用情報）

======================================================*/
.recruitPageHead{
	background-color: #32C2E5;
	text-align: center;
	padding: 50px 0 100px;
}
.recruitPageHead.conditions figure{
	width: 410px;
	margin: 0 auto;
}

.recruitPageHead .pageMainCopy{
	max-width: 900px;
	margin: 50px auto 0;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2.0em;
	color: #fff;
}

.recrutiWrap nav{
	max-width: 1080px;
    margin: auto;
    position: relative;
    top: -70px;
}
	.recrutiWrap nav ul{
		text-align: center;
		display: table;
		width: 100%;	
	}
		.recrutiWrap nav ul li{
			width: 50%;			
			display: table-cell;
			vertical-align: middle;
			transition: all ease 0.3s;
		}
		.recrutiWrap nav ul li:nth-of-type(1){
			background: #004555;
		}
		.recrutiWrap nav ul li:nth-of-type(2){
			background: #000;
		}
		.recrutiWrap nav ul li:hover:nth-of-type(1){
			background: #007691;
			transition: all ease 0.3s;
		}
		.recrutiWrap nav ul li:hover:nth-of-type(2){
			background: rgb(68, 68, 68);
			transition: all ease 0.3s;
		}
			.recrutiWrap nav ul li a{
				width: 100%;
				padding: 45px 0;
				color: #fff;
				font-weight: bold;
				font-size: 1.8rem;
				text-decoration: none;
				display: block;
			}
			
div.conditionsWrap{
	background-color: #004555;
	margin-top: 100px;
}
	div.conditionsWrap .mainSection,
	div.recruitFaqWrap .mainSection,
	div.newsArichiveWrap .mainSection,
	div.contactWrap .mainSection,div.pageAreaWrap{
		max-width: 1080px;
		margin: auto;
		background-color: #fff;
		box-shadow: 0px 3px 6px #00000029;
		top: -70px;
		padding: 60px;
		box-sizing: border-box;
		position: relative;
	}
	div.contactWrap .mainSection{
		max-width: 1080px;
		margin: 250px auto 0;
		background-color: #fff;
		box-shadow: 0px 3px 6px #00000029;
		padding: 60px;
		box-sizing: border-box;
	}

	div.conditionsWrap .mainSection .h1TitleWrap,
	div.recruitFaqWrap .mainSection .h1TitleWrap,
	div.newsArichiveWrap .mainSection .h1TitleWrap,
	div.contactWrap .mainSection .h1TitleWrap{
		flex-basis: 25%;
	}
		div.conditionsWrap .mainSection .h1TitleWrap h1,
		div.recruitFaqWrap .mainSection .h1TitleWrap h1,
		div.newsArichiveWrap .mainSection .h1TitleWrap h1,
		div.contactWrap .mainSection .h1TitleWrap h1{
			top: 120px;
		}
			div.conditionsWrap .mainSection .h1TitleWrap h1 .jp,
			div.recruitFaqWrap .mainSection .h1TitleWrap h1 .jp,
			div.newsArichiveWrap .mainSection .h1TitleWrap h1 .jp,
			div.contactWrap .mainSection .h1TitleWrap h1 .jp{
				font-size: 2.4rem;
				color: #000;
			}
			div.conditionsWrap .mainSection .h1TitleWrap h1 .en,
			div.recruitFaqWrap .mainSection .h1TitleWrap h1 .en,
			div.newsArichiveWrap .mainSection .h1TitleWrap h1 .en,
			div.contactWrap .mainSection .h1TitleWrap h1 .en{
				font-size: 1.4rem;
				margin-top: 0.5em;
			}
	div.conditionsWrap div.conditionsSecWrap,
	div.recruitFaqWrap .mainSection ul,
	div.newsArichiveWrap .mainSection ul,
	.formWrap{
		flex-basis: 70%;
		margin-left: 5%;
	}
		div.conditionsWrap .mainSection ul li{
			display: flex;
			border-bottom: 1px solid #CDCDCD;
			font-size: 1.4rem;
    		line-height: 2.0em;
			padding: 1.5em 1em;
		}
		div.conditionsWrap .conditionsSecWrap h2{
			font-size: 1.8rem;
			font-weight: bold;
			padding: 1.5em 0 1.5em 0;			
		}
		div.conditionsWrap .conditionsSecWrap h2::before{
			content: "■";
			color: #004555;
			margin-right: 0.5em;
		}
		div.conditionsWrap .mainSection ul li:nth-of-type(1){
			border-top: 1px solid #CDCDCD;
		}
		div.conditionsWrap .mainSection ul li p:nth-of-type(1){
			font-weight: bold;
			flex-basis: 30%;
		}
		div.conditionsWrap .mainSection ul li p:nth-of-type(2){
			flex-basis: 67%;
			margin-left: 3%;
		}


		.font16{
			font-size: 16px;
		}
/*======================================================

recruit（採用情報よくあるご質問）

======================================================*/
div.recruitFaqWrap{
	background-color: #000;
	margin-top: 100px;
}

	div.recruitFaqWrap .mainSection ul li{
		border-bottom: 1px solid #CDCDCD;
		font-size: 1.4rem;
		line-height: 2.0em;
		padding: 1.5em 1em;
	}
		div.recruitFaqWrap li .question{
			position: relative;
			padding-left: 3.5em;
			cursor: pointer;
		}
		div.recruitFaqWrap li .question::after{
			content: "Q";
			font-family: "mono";
			position: absolute;
			top: 0;
			left: 0;
			width: 36px;
			height: 36px;
			background-color: #004488;
			color: #fff;
			text-align: center;
		}
			div.recruitFaqWrap li .question svg.arrowMark{
				fill: #004488;
				width: 20px;
				position: absolute;
				top: 36%;
				right: 3%;
				transform: rotate(180deg);
				transition: ease all 0.3s;
			}
			div.recruitFaqWrap li .question.open svg.arrowMark{
				transform: rotate(0deg);
				transition: ease all 0.3s;
			}
		div.recruitFaqWrap li .answer{
			background: #EAEAEA;
			padding: 20px 30px;
			margin-top: 30px;
			display: none;
		}

/* .entryContactArea */
.entryContactArea{
	background: url(files/images/top/recruit_bg_photo.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding: 160px 0 80px;
	position: relative;
}
.entryContactArea::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	background: rgba(30, 101, 118, 0.6)
}
	.entryContactArea .h1ContentsTitle{
		position: static;
	}
	
	.entryContactArea .contactWrap{
		max-width: 700px;
		margin: 40px auto 0;
		position: relative;
		z-index: 10;
	}

		.entryContactArea .contactWrap li::before{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #fff;
			opacity: 0;
			transition: ease all 0.3s;
		}
		.entryContactArea  .contactWrap li:hover::before{
			opacity: 0.6;
			transition: ease all 0.3s;
		}

		.entryContactArea .contactWrap li{
			background: #FF4E00;			
			transform: skew(-30deg);
		}
			.entryContactArea .contactWrap li a{
				color: #fff;
				display: block;
				text-decoration: none;
				text-align: center;
				transform: skew(30deg);
				padding: 30px 0;
			}
			
				.entryContactArea .contactWrap p{
					font-size: 1.6rem;
					font-weight: bold;
					margin-bottom: 25px;
				}		
				.entryContactArea .contactWrap li .mainIcon{
					fill: #fff;
					width: 49px;					
					height: auto;
					margin: auto;
					display: block;
					margin-bottom: 25px;
				}		
				.entryContactArea .contactWrap li em{		
					font-size: 2.6rem;
					font-weight: bold;
					width: 100%;					
				}

/*======================================================

contact（お問い合わせ）

======================================================*/
article.contactPageHead{
	background-color: #004555;
	margin-top: 100px;
	padding: 50px 0 150px;
	text-align: center;
	position: relative;
}
.contactPageHead figure{
	width: 190px;
	margin: 0 auto;
}

.contactPageHead .pageMainCopy{
	max-width: 900px;
	margin: 50px auto 0;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2.0em;
	color: #fff;
}

	.contactPageHead .telBox{
		width: 470px;
		margin: auto;
		background: #01A0C6;
		transform: skew(-30deg) translateX(-50%);
		position: absolute;
		top: 80%;
		left: 50%;
	}
		.contactPageHead .telBox a{
			display: block;
			color: #fff;
			transform: skew(30deg);
			padding: 50px 0;
			text-decoration: none;
			pointer-events: none;
		}
			.contactPageHead .telBox a p:nth-of-type(1){
				font-size: 1.4rem;
				font-weight: bold;
				margin-bottom: 20px;
			}
			.contactPageHead .telBox a p:nth-of-type(2){
				font-family: "mono";
				font-size: 3.7rem;
			}

.conditionsWrap.contactWrap{
	background-color: rgba(0, 0, 0, 0);
	margin-bottom: 160px;
}

.conditionsWrap.contactWrap .mainSection{
	top: 80px;
}

.contactMark{
	font-size: 1.4rem;
	color: #fff;
	padding: 0.25em 0.5em;
	margin-left: 1em;
}
	.contactMark.required{
		background-color: #FF5353;
	}
	.contactMark.any{
		background-color: #32C2E5;
	}
.formWrap dl{
	border-bottom: 1px solid #CDCDCD;
    font-size: 1.4rem;
    line-height: 2.0em;
    padding: 1.5em 1em;
}
.formWrap dl:nth-of-type(1){
	border-top: 1px solid #CDCDCD;
}
	.formWrap dl dt{
		font-weight: bold;
	}
	.formWrap dl dd{
		margin-top: 15px;
	}
	div.radioWrap .wpcf7-radio {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
		div.radioWrap .wpcf7-radio .wpcf7-list-item {
			display: block;
			margin-right: 2em;
		}
	dd .kanaWrap{
		display: flex;
		align-items: center;
		font-size: 2.0rem;
		font-weight: bold;
	}

	input[type="checkbox"], input[type="radio"] {
		vertical-align: -0.2em;
		margin-right: 0.5em;
		transform: scale(1.2);
	}
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 100%;
		padding: 1.5em;
		box-sizing: border-box;
		border: none;
		background: #EAEAEA;
		font-size: 1.4rem;
	}

	span.wpcf7-list-item{
		padding-top: 1em;
		padding-right: 1em;
	}

	.submitButton{
		text-align: center;
	}
	.wpcf7-submit{
		width: 370px;
		font-size: 1.8rem;
		padding: 0.75em 0;
		background-color: #004488;
		border: none;
		color: #fff;
	}
	.wpcf7-not-valid-tip{
		font-size: 1.4rem!important;
		margin-top: 0.75em;
	}
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output,
	.wpcf7 form.payment-required .wpcf7-response-output {
		margin-top: 0px;
		background-color: #fff;
		font-size: 1.8rem;
		font-weight: bold;
		text-align: center;
	}
	.wpcf7 form.sent .wpcf7-response-output{
		background-color: #fff;
		font-size: 1.8rem;
		font-weight: bold;
		text-align: center;
	}

.privacyWrap{
	background-color: #FFE5E5;
	margin-top: 60px;
	max-height: 270px;
	overflow-y: scroll;
	padding: 50px 140px 0;
}
	.privacyWrap h3{
		font-weight: bold;
		font-size: 1.6rem;
		text-align: center;
	}
	.privacyWrap > div{
		font-size: 1.4rem;
		margin: 50px 0 30px;
	}
	.privacyWrap .privacySec{
		margin-bottom: 40px;
		font-size: 1.6rem;
	}
		.privacyWrap .privacySec h4{
			font-weight: bold;
			margin-bottom: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(1) h4::before{
			content: "1.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(2) h4::before{
			content: "2.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(3) h4::before{
			content: "3.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(4) h4::before{
			content: "4.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(5) h4::before{
			content: "5.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(6) h4::before{
			content: "6.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(7) h4::before{
			content: "7.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(8) h4::before{
			content: "8.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec div{
			line-height: 1.8em;
		}
		.privacyWrap .privacySec div ul{
			margin-top: 15px;
		}
		.privacyWrap .privacySec div ul li::before{
			content: "・";
		}
		.privacyAgreeBtn {
			display: table;
			margin: 50px auto;
			font-size: 1.4rem;
		}

/*======================================================

news（お知らせ）

======================================================*/
/* archive */
div.newsArichiveWrap {
    margin-top: 180px;
	padding-bottom: 100px;
}
	div.newsArichiveWrap ul.newsList li{
		padding: 1.5em 1em;
		border-bottom: 1px solid #CBCBCB;				
		transition: ease all 0.3s;
	}
	div.newsArichiveWrap ul.newsList li:hover{
		background: #e9e9e9;
		transition: ease all 0.3s;
	}
	div.newsArichiveWrap ul.newsList li a{
		text-decoration: none;
		align-items: center;
		position: relative;
	}
		div.newsArichiveWrap ul.newsList li p.date{
			font-size: 1.2rem;
			flex-basis: 13%;
		}
		div.newsArichiveWrap ul.newsList li p.category{
			width: 100px;
			text-align: center;
			margin-top: 10px;
		}
		div.newsArichiveWrap ul.newsList li p.category span{
			font-size: 1.0rem;
			font-weight: bold;
			color: #fff;
			display: block;			
			padding: 0.25em 0.5em;
		}
		div.newsArichiveWrap ul.newsList li h2{
			font-size: 1.4rem;
			flex-basis: 65%;
			margin-left: 40px;
		}
		div.newsArichiveWrap ul.newsList .linkArrow{
			position: absolute;
			top: 50%;
			left: 95%;
		}

/* single */
/* section.newsContentsWrap .meta{}	*/
	section.newsContentsWrap .meta h2{
		font-size: 1.6rem;
		font-weight: bold;
		border-bottom: 1px solid #CBCBCB;
		padding-bottom: 15px;
	}			
	section.newsContentsWrap .meta .date{
		font-size: 1.0rem;
		padding-top: 15px;
	}
	section.newsContentsWrap .contentsWrap{
		font-size: 1.4rem;
		margin-top: 60px;
		line-height: 2.4em;
	}			
	section.newsContentsWrap .contentsWrap p{
		margin-bottom: 1em;
	}
	
nav.pageNav{
	margin-top: 100px;
}
.pageNavWrap{
	max-width: 800px;
	margin: auto;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
	.pageNavWrap > div{
		flex-basis: 33.333%;
		text-align: center;
	}
		.pageNavWrap > div a{
			text-decoration: none;
			font-size: 1.6rem;
			position: relative;
		}
		.pageNavWrap span.linkArrowPrev{
			position: absolute;
			right: 120%;
    		top: 30%;
		}
		.pageNavWrap span.linkArrow{
			position: absolute;
			left: 120%;
    		top: 30%;
		}

	.archiveLinkBtn svg{
		width: 40px;
		transition: ease all 0.3s;
		fill: #cdcdcd;
	}
	.archiveLinkBtn a:hover svg{
		fill: #EAEAEA;
		transition: ease all 0.3s;
	}

/*======================================================

page.php（固定ページ）

======================================================*/

section.pageTemplate {
	margin-top: 180px;
	background-color: #004555;
}

section.pageTemplate .contentsWrap{
	top: -80px;
	padding-right: 200px;
    padding-left: 200px;
    position: relative;
}

div.pageInner{
	background: #fff;
	padding: 60px 50px;
	box-shadow: 0px 3px 6px #00000029;
}

section.pageTemplate .contentsWrap h1{
	font-size: 2.8rem;
	font-weight: bold;
	padding: 0.2em 2em;
	text-align: center;
	position: relative;
}

section.pageTemplate .contentsWrap h1::after{
	content: "";
	position: absolute;
	background-color: #01A0C6;
	width: 30%;
	height: 1px;
	top:100%;
	left:50%;
	transform: translate(-50%,-50%);
}

section.pageTemplate .contentsWrap h2{
	font-size: 1.6rem;
	font-weight: bold;
	color: #01A0C6;
	margin-bottom: 3em;
	text-align: center;
}

section.pageTemplate .contentsWrap{
	font-size: 1.4rem;
	margin-top: 60px;
	line-height: 2.4em;
}
section.pageTemplate .contentsWrap p,
section.pageTemplate .contentsWrap ul{
	margin-bottom: 1em;
}

section.pageTemplate .contentsWrap h3{
	margin: 30px 0 30px;
	padding: 0.4em 0.5em;
	background: #f4f4f4;
	border-left: solid 5px #01A0C6;
	border-bottom: solid 3px #d7d7d7;
	font-size:1.5rem;
	font-weight: bold;
}

section.pageTemplate .contentsWrap h4{
	margin: 30px 0 15px;
	border-bottom: dashed 2px #01A0C6;
	font-size:1.5rem;
	font-weight: bold;
	display: inline;
	padding:0 1em;
}

section.pageTemplate .contentsWrap ul li{
	list-style-type: disc;
	margin-left: 2em;
}

}



@media only screen and (max-width : 767px) {/*767px以下のみの設定（スマホのみ）*/
html { font-size: calc(100vw / 32) }/*フォントサイズを10pxに指定*/
.spBr{display: block;}
.spNone,.topNav{display: none;} 
/*======================================================

共通レイアウト

======================================================*/
/* .flBox{
	display: flex;
	flex-wrap: wrap;
} */

.mainSection > .inner{
	overflow: hidden;
}

div.wrapper{
	background: #EAEAEA;
}
/*header*/
header{
	background: #fff;
}

/* .headerTop{} */
	.headerTop > .inner{
		font-size: 1.0rem;
		color: #fff;
		background-color: #000;
		padding: 0.75em 1em;
	}
	.headerTop .mainCopy a{
		display: none;
	}

/*glovalzNavigation*/
/*============
.toggleBtn
=============*/
.toggleBtn{
	position: absolute;
	top: 0;
	right: 0;
	/* transform: translate(0,-50%); */
	width: 65px;
	height: 65px;
	background: #fff;
	transition: all .5s;
	cursor: pointer;
	z-index: 100;
}
.toggleBtn::after {
	content: "MENU";
	display: inline-block;
	position: absolute;
	top: 45px;
	left: 50%;
	transform: translate(-50%, 0);
	font-weight: 700;
	font-size: 0.8rem;
	color: #01A0C6;
}
  .open .toggleBtn::after {
	  content: "CLOSE";
  }
  .toggleBtn span {
	display: block;
	position: absolute;
	width: 40px;
	height: 4px;
	background: #01A0C6;
	transition: all .5s;
  }
  .toggleBtn span:nth-child(1) {
	top: 20%;
	left: 50%;
	margin-left: -20px;
  }
  .toggleBtn span:nth-child(2) {
	top: 37.5%;
	left: 50%;
	margin-left: -20px;
  }
  .toggleBtn span:nth-child(3) {
	top: 55%;
	left: 50%;
	margin-left: -20px;
  }
  .open .toggleBtn span {
	 background: #01A0C6;
  }
  .open .toggleBtn span:nth-child(1) {
	-webkit-transform: translateY(10px) rotate(-315deg);
	transform: translateY(10px) rotate(-315deg);
	top: 10px;
	left: 32.5px;
  }
  .open .toggleBtn span:nth-child(2) {
	opacity: 0;
  }
  .open .toggleBtn span:nth-child(3) {
	-webkit-transform: translateY(-10px) rotate(315deg);
	transform: translateY(-10px) rotate(315deg);
	top: 30px;
	left: 32.5px;
  }
	/* .gloNavWrap{} */
	.gloNavWrap .headerLogo{
		padding: 15px 15px 25px 15px;
		max-width: 65%;
	}
		.gloNavWrap nav.gloNav{
			position: absolute;
			z-index: 9999;
			top: 110px;
			left: -100%;
			width: 100%;
			height: 100vh;			
			background: #fff;
			transition: all ease-in 0.3s;
			font-family: "MidashiGoPro";
			padding: 10px 10px 30px;
			overflow-x: hidden;
			box-sizing: border-box;
		}
		.gloNavWrap.open nav.gloNav{
			top: 90px;
			left: 0;
			height: 100vh;
			transition: all ease-out 0.3s;
			overflow-y: scroll;
			padding-top: 30px;
		}
		/* .gloNavWrap nav.gloNav{} */
		/* .gloNavWrap nav.gloNav ul.flBox{} */
			.gloNavWrap nav.gloNav li.mainMenu{
				font-size: 1.6rem;
				font-weight: bold;
				letter-spacing: 0.2em;
				border-bottom: 1px solid #004555;
				position: relative;		
			}
			.gloNavWrap nav.gloNav li.mainMenu::after{
				content: "";
				display: block;
				width: 30px;
				height: 6px;
				border-right: 2px solid #FF5353;
				border-bottom: 1px solid #FF5353;
				transform: skewX(45deg);
				position: absolute;
				top: 50%;
				left: 85%;
				transition: ease-in-out all 0.4s;	
			}
			.gloNavWrap nav.gloNav li.deployment::after{
				border: none!important;
			}
				nav.gloNav li.mainMenu a.menuBtn{
					text-indent: 1em;
					padding: 0.85em 0;
					display: block;					
					text-decoration: none;
					position: relative;
				}
				a.menuBtn .deploymentMark{
					position: absolute;
					top: 50%;
					left: 85%;					
					display: block;
					background: #FF5353;
					width: 30px;
					height: 1px;
				}
				a.menuBtn .deploymentMark::before{
					content: "";
					position: absolute;
					top: -15px;
					left: 50%;
					transition: translate(-50%, 0);
					width: 1px;
					height: 30px;
					border-left: 1px solid #FF5353;
					transition: all ease 0.5s;
				}
				.menuBtn.open .deploymentMark::before{
					opacity: none;
					-webkit-transform: translateY(90px) rotate(-315deg);
					transform: translateY(0px) rotate(-90deg);
					transition: all ease 0.5s;
				}

/*glovalzNavigation-submenu*/
.subMenu{
	background-color: #004555;
	padding: 15px;
}
li.deployment .subMenu{
	display: none;
}
	li.deployment .subMenu ul.flBox{
	}
		li.deployment .subMenu li{
			line-height: 4.5em;
		}
			li.deployment .subMenu li a{
				text-decoration: none;
				display: block;
				position: relative;
			}
				li.deployment .subMenu li a p{
					font-size: 1.4rem;
					font-weight: bold;
					display: block;
					color: #fff;
					padding-left: 3.5em;
				}
				li.deployment .subMenu li a p em{
					font-weight: bold;
				}
				li.deployment .subMenu li a p em::after{
					content: ".";
				}
		li.deployment .subMenu a .iconProduct{
			position: absolute;
			top: 50%;
			left: 1%;
			width: 9%;
			fill: #32C2E5;
			transform: translate(0, -50%);
		}
		li.deployment .subMenu a .iconConstruction{
			position: absolute;
			top: 50%;
			left: 0;
			width: 10.4%;
			fill: #32C2E5;
			transform: translate(0, -50%);
		}
		li.deployment .subMenu a .iconService{
			position: absolute;
			top: 50%;
			left: 0;
			width: 10.4%;
			fill: #32C2E5;
			transform: translate(0, -50%);
		}

/*glovalzNavigation-spNav*/
.spNav li{
	border: 1px solid #004555;
	margin-top: 20px;
}

	.spNav li a{
		display: block;
		position: relative;
		font-size: 1.4rem;
		font-weight: bold;
		padding: 1em 0 1em 4.5em;
		text-decoration: none;
	}
		.spNav li a svg{
			position: absolute;
			top: 50%;
			left: 5%;
			transform: translate(0, -50%);
		}
		.spNav li a svg.homeIcon{
			width: 7%;
			left: 6%;
		}
		.spNav li a svg.mainIcon{
			width: 8%;
		}

.spInsta {
	width: 40px;
    margin: 1em 0 0 auto;
}

.closeBtn{
	background: #1C1F21;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    padding: 1.5em;
    margin-top: 15px;
}

/*topMainVisual*/
.topPage.flexslider{
	text-align: center;
}
		.topPage.flexslider img{
			object-fit: cover;
			min-height: 330px;
		}
		.flex-direction-nav{
			display: none!important;
		}
.topPage.flexslider .mainCopyWrap{
	position: absolute;
	top: 65%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	width: 100%;
}
	.mainCopyWrap p:nth-of-type(1){
		font-size: 2.0rem;
		color: #000;
		display: inline-block;
		line-height: 2.0em;
		letter-spacing: 0.08em;
		text-shadow: 2px 2px 2px rgba(255,255,255,0.7);
	}
		/* .mainCopyWrap p:nth-of-type(1)::before{
			content: "";
			display: block;
			border-top: 2px solid #000;
			width: 100%;
		}
		.mainCopyWrap p:nth-of-type(1):after{
			content: "";
			display: block;
			border-bottom: 2px solid #000;
			width: 100%;
		} */
	.mainCopyWrap p:nth-of-type(2){
		font-size: 1.2rem;
		font-weight: bold;
		color: #000;
		line-height: 2.0em;
		margin-top: 40px;
		text-shadow: 1px 1px 2px rgba(255,255,255,0.7);
	}

/*subMainVisual*/
.subPageMainVisual{
	text-align: center;
	position: relative;	
}
	.subPageMainVisual img{
		max-height: 330px;
		object-fit: cover;
		object-position: center;
	}
	.subPageMainVisual h1{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 2.0rem;
		font-weight: bold;
		color: #fff;
		display: inline-block;
		line-height: 2.0em;
	}
	.subPageMainVisual h1::before{
		content: "";
		display: block;
		border-top: 2px solid #fff;
		box-shadow: 0px 3px 6px #000;
		width: 100%;
	}
	.subPageMainVisual h1:after{
		content: "";
		display: block;
		border-bottom: 2px solid #fff;
		box-shadow: 0px 3px 6px #000;
		width: 100%;
	}

/*titles*/
.h1ContentsTitle{
	text-align: center;
	margin-bottom: 20px;
}
.h1ContentsTitle .jp{
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
}
.h1ContentsTitle .en{
	font-size: 1.2rem;
	color: #01A0C6;
	font-family: "mono";
}
.h1ContentsTitle .en.yellow{
	color: #FFE558;
}

/*buttons*/
a span.linkArrow{		
	content: "";
	display: block;
	width: 25px;
	height: 6px;
	border-right: 2px solid #fff;
	border-bottom: 1px solid #fff;
	transform: skewX(45deg);
	transition: ease-in-out all 0.4s;
}
a span.linkArrow.red{		
	border-right: 2px solid #FF5353;
	border-bottom: 1px solid #FF5353;
}
a:hover span.linkArrow{
	width: 30px;		
	transition: ease-in-out all 0.4s;
}
a span.linkArrowPrev{		
	content: "";
	display: block;
	width: 25px;
	height: 6px;
	border-left: 2px solid #FF5353;
	border-bottom: 1px solid #FF5353;
	transform: skewX(-45deg);
	transition: ease-in-out all 0.4s;
}
a:hover span.linkArrowPrev{
	width: 30px;		
	transition: ease-in-out all 0.4s;
}

/*footer*/
footer{
	background: #fff;
}
a.pageTopBtn{
	display: block;
	position: relative;
	background: #004555;
	text-align: center;	
	padding: 44px 0 15px;
	text-decoration: none;
}
a.pageTopBtn:hover{
	opacity: 0.7;
}
	a.pageTopBtn em{
		font-size: 1.4rem;
		color: #fff;		
	}
	a.pageTopBtn .arrowMark{
		position: absolute;
		top: 25px;
		left: 50%;
		transform: translate(-50%, 0);
		width: 23px;
		height: auto;
		fill: #fff;
		transition: ease all 0.4s;
	}
	a.pageTopBtn:hover .arrowMark{
		position: absolute;
		top: 20px;
		transition: ease all 0.4s;
	}

.footerContents{
	background: #fff;
}
.footerContents > article{
	margin: auto;
	justify-content: space-between;
	align-items: center;
	font-size: 1.2rem;
	line-height: 2.0em;
}
	.footerContents div{
		padding: 0 20px 20px;
	}
	.footerContents .footerLogo{
		max-width: 70%;
		margin: auto;
		margin: 30px auto 0;
	}
		/* .footerContents .footerLogo img{} */
	.footerContents .footerAddress{
		border-bottom: 1px solid #000;
	}
	.footerContents .footerAddress a{
		color: #003BFF;
		text-decoration: underline;
	}
	.footerContents .footerContact{
		padding-top: 20px;
	}

.footerNav{
	display: none!important;
}

div.footerInsta{
	width: 45px;
	margin: 20px auto 30px;
}

.copyRight{
	background-color: black;
	font-size: 0.8rem;
	text-align: center;
	color: #fff;
	padding: 15px 0;
	font-family: "mono";
}

.mailorderBannerWrap{
	text-align: center;
}

.mailorderBannerWrap a:nth-of-type(1) img{
	width: 223px;
	max-width: 90%;
	margin-bottom: 20px;
}
.mailorderBannerWrap a:nth-of-type(2) img{
	width:223px;
	max-width: 90%;
	margin-bottom: 20px;
}

/*======================================================

TOP PAGE

======================================================*/
/* #topServiceArea */
#topServiceArea{
	background-color: #000;
	padding: 20px 10px;
}

.h1TitleWrap{
	overflow: hidden;
}
#topServiceArea .h1ContentsTitle {
	float: right;
    padding-right: 20px;
}

#topServiceArea .serviceWrap{
}
	/* #topServiceArea .serviceList{} */
	#topServiceArea .serviceList li{
		text-align: center;
		position: relative;
	}
	#topServiceArea .serviceList li::before{
		content: "";
		background-color: rgba(0, 0, 0, 0.6);
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		transition: ease-out all 0.3s;
	}
	#topServiceArea .serviceList li:hover::before{
		left: 100%;
		transition: ease-out all 0.5s;
	}
	#topServiceArea .serviceList li:nth-of-type(1){
		background: url(files/images/top/product_bg_photo.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;		
	}
	#topServiceArea .serviceList li:nth-of-type(2){
		background: url(files/images/top/construction_bg_photo.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;		
	}
	#topServiceArea .serviceList li:nth-of-type(3){
		background: url(files/images/top/service_bg_photo.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;	
	}

	#topServiceArea .serviceList li a{		
		color: #fff;
		text-decoration: none;
		display: block;
		position: relative;
		padding-bottom: calc(100% * 400 / 450);
	}
	#topServiceArea .serviceList li a svg{		
		fill: #32C2E5;
		transform: translate(-50% , -50%);
	}
		#topServiceArea .serviceList li svg.iconProduct{		
			position: absolute;
			width: 20%;
			top: 55%;			
		}
		#topServiceArea .serviceList li svg.iconConstruction{		
			position: absolute;
			width: 25%;
			top: 55%;
		}
		#topServiceArea .serviceList li svg.iconService{		
			position: absolute;
			width: 25%;
			top: 55%;
		}
			#topServiceArea .serviceList li a p:nth-of-type(1){ 		
				font-size: 3.0rem;
				font-weight: bold;
				position: absolute;
				top: 10%;
				left: 50%;
				transform: translate(-50%, 0);
			}
			#topServiceArea .serviceList li a p:nth-of-type(2){		
				font-size: 2.0rem;
				font-weight: bold;
				position: absolute;
				bottom: 5%;
				left: 50%;
				transform: translate(-50%, 0);
			}
			#topServiceArea .serviceList li a span{		
				content: "";
				display: block;
				position: absolute;
				top: 90%;
				left: 80%;
				width: 30px;
				height: 6px;
				border-right: 2px solid #fff;
				border-bottom: 1px solid #fff;
				transform: skewX(45deg);
				bottom: 30%;
				transition: ease-in-out all 0.4s;
			}
			#topServiceArea .serviceList li a:hover span{
				width: 40px;		
				transition: ease-in-out all 0.4s;
			}

/* #topNewsArea */
#topNewsArea{
	background-color: #004555;
	padding: 20px 10px;
}
#topNewsArea .h1ContentsTitle{
	float: left;
	padding-left: 20px;
}
	#topNewsArea .newsWrap{
	}
		#topNewsArea ul.newsList{
			background: #fff;
			padding: 20px 15px;
			box-shadow: 0px 3px 6px #00000029;
		}
			#topNewsArea ul.newsList li{
				padding: 1.5em 1em;
				border-bottom: 1px solid #CBCBCB;				
			}
			#topNewsArea ul.newsList li a{
				text-decoration: none;
				position: relative;
				display: block;
			}
				#topNewsArea ul.newsList li .newsMeta{
					display: flex;
					flex-wrap: wrap;
				}
				#topNewsArea ul.newsList li p.date{
					font-size: 1.2rem;
				}
				#topNewsArea ul.newsList li p.category{
					text-align: center;
					margin-left: 10px;
				}
				#topNewsArea ul.newsList li p.category span{
					font-size: 1.0rem;
					font-weight: bold;
					color: #fff;
					display: block;			
					padding: 0.25em 0.5em;
				}
					ul.newsList li p.category.news span{
						background-color: #01A0C6;
					}
					ul.newsList li p.category.blog span{
						background-color: #000;
					}
				#topNewsArea ul.newsList li h2{
					font-size: 1.4rem;
					margin: 15px 40px 0 0;
				}
				#topNewsArea ul.newsList .linkArrow{
					position: absolute;
					bottom: 0%;
					left: 90%;
				}
	
	#topNewsArea .archiveLink{
		text-align: center;
		padding: 30px 0 20px 0;
	}
		.archiveLink a{
			color: #fff;
			font-weight: bold;
			font-size: 1.4rem;
			text-decoration: none;
			position: relative;
		}
		.archiveLink a span.linkArrow{
			position: absolute;
			top: 50%;
			left: 110%;
		}

/* #topWorksArea */
#topWorksArea{
	background-color: #00ADB4;
	padding: 20px 0;
}
#topWorksArea .h1ContentsTitle{
}

#topWorksArea .archiveLink{
	text-align: center;
	padding: 0px 0 20px 0;
}
	#topWorksArea .worksWrap{
		margin-bottom: 30px;
	}
		ul.topWorksList{
			position: relative;
			
		}
			ul.topWorksList .slick-slide{
				padding: 15px;
			}
				ul.topWorksList a{
					display: block;
					text-decoration: none;
					background: #fff;
				}				
				ul.topWorksList a:hover{
					background: #dadada;
				}				
					ul.topWorksList a div.image{
						overflow: hidden;
						position: relative;
					}
					ul.topWorksList a div.image::after{
						content: "";
						position: absolute;
						display: block;
						top: 0;
						left: 0;
						width: 100%;
						height: 100%;
						background: #000;
						opacity: 0;
						transition: ease-out all 0.3s;
					}
					ul.topWorksList a:hover div.image::after{
						opacity: 0.6;
						transition: ease-out all 0.3s;
					}

						ul.topWorksList a div.image img{		
							transition: ease all 0.3s;
						}
						ul.topWorksList a:hover div.image img{
							transform: scale(1.1,1.1);
							transition: ease all 0.3s;
						}

					ul.topWorksList a .meta{
						padding: 15px 15px 50px 15px;
						position: relative;
					}
						ul.topWorksList a .meta h2{
							font-weight: bold;
							font-size: 1.4rem;
						}
						ul.topWorksList a .meta .linkArrow{
							position: absolute;
							left: 80%;
							bottom: 15px;
						}
button.slick-arrow{
	position: absolute;
	top: 45%;
	text-indent: -9999px;
	border: none;
	cursor: pointer;
}
button.slick-arrow.slickPrev{
	left: 0;
	width: 44px;
	height: 44px;
	background: url(files/images/top/btn_prev.png);
	background-size: cover;
	z-index: 100;
}
button.slick-arrow.slickNext{
	right: 0;
	width: 44px;
	height: 44px;
	background: url(files/images/top/btn_next.png);
	background-size: cover;
	z-index: 100;
}

/* topRectuitArea */
#topRectuitArea{
	background: url(files/images/top/recruit_bg_photo.jpg);
	background-repeat: no-repeat;
	background-size: auto,cover;
	padding: 30px 0 40px;
	position: relative;
}
#topRectuitArea::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	background: rgba(30, 101, 118, 0.6)
}
	#topRectuitArea .h1ContentsTitle{
		position: relative;
		z-index: 100;
	}

	#topRectuitArea .bannerWrap{
		margin: 30px auto 0;
		justify-content: space-between;
		position: relative;
		z-index: 10;
		transition: ease all 0.3s;
		padding: 0 20px;
	}
	
		#topRectuitArea .bannerWrap li{
			overflow: hidden;
			margin-bottom: 20px;
		}
			#topRectuitArea .bannerWrap a{
				display: block;
				overflow: hidden;
			}
			#topRectuitArea .bannerWrap img{ 
				transition: ease all 0.3s;
			}
			#topRectuitArea .bannerWrap li:hover img{ 
				transform: scale(1.1, 1.1);
				transition: ease all 0.3s;
			}
	
	#topRectuitArea .contactWrap{
		margin: 30px auto 0;
		position: relative;
		z-index: 10;
	}

		#topRectuitArea .contactWrap li{
			width: 85%;
    		margin: 0 auto;
		}
		#topRectuitArea .contactWrap li::before{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #fff;
			opacity: 0;
			transition: ease all 0.3s;
		}
		#topRectuitArea .contactWrap li:hover::before{
			opacity: 0.6;
			transition: ease all 0.3s;
		}

		#topRectuitArea .contactWrap li:nth-of-type(1){
			background: #01A0C6;
			transform: skew(-20deg);			
		}
			#topRectuitArea .contactWrap li:nth-of-type(1) p:nth-of-type(1){
				font-size: 1.0rem;
				font-weight: bold;
			}
			#topRectuitArea .contactWrap li:nth-of-type(1) p:nth-of-type(2){
				font-size: 2.5rem;
				margin-top: 20px;
			}

		#topRectuitArea .contactWrap li:nth-of-type(2){
			background: #FF4E00;
			position: relative;
			font-size: 2.0rem;			
			transform: skew(-20deg);
		}
			#topRectuitArea .contactWrap li a{
				color: #fff;
				display: block;
				text-decoration: none;
				text-align: center;
				transform: skew(20deg);
				padding: 20px;
			}
			
				#topRectuitArea .contactWrap li:nth-of-type(2) em{		
					font-weight: bold;
					top: 100%;
					left: 40%;
					transform: translate(-50%, 0);
					width: 100%;
				}
				#topRectuitArea .contactWrap li:nth-of-type(2) .mainIcon{
					fill: #fff;
					width: 40px;
					height: auto;
					margin: 0 auto 15px;
					padding-left: 20px;
					transform: translate(-50%, 0);
					display: block;
				}
/*======================================================

business-product（事業内容ー製品）

======================================================*/
/* 共通レイアウト */
.businessPageHead{
	background: #000;
	text-align: center;
	color: #fff;	
	padding: 45px 10px 50px;
}
	.businessPageHead h2{
		font-size: 2.0rem;
		font-weight: bold;
		text-align: center;
	}
	.businessPageHead h2 svg.iconProduct{
		margin: auto;
		width: 15%;
		fill: #32C2E5;
		display: block;
		margin-bottom: 20px;
	}
	.businessPageHead h2 svg.iconConstruction{
		margin: auto;
		width: 19%;
		fill: #32C2E5;
		display: block;
		margin-bottom: 20px;
	}
	.businessPageHead h2 svg.iconService{
		margin: auto;
		width: 20%;
		fill: #32C2E5;
		display: block;
		margin-bottom: 20px;
	}

	.businessPageHead .pageMainCopy{
		font-size: 1.2rem;
		margin-top: 40px;
		line-height: 2.6em;
	}

/* ナビゲーション */
#motionArea2,
#motionArea3{
	display: none;
}
#constructionWrap{
	margin-top: 35px;
}
.bisinessWrap nav{
	margin-bottom: 60px;
}
	.bisinessWrap nav ul{
		display: flex;
		justify-content: space-between;
		text-align: center;	
	}
		.bisinessWrap nav ul li{			
			width: 33.333%;
			display: flex;
			align-items: center;
			text-align: center;
			background: #fff;		
			transition: all ease 0.3s;
		}
		.bisinessWrap nav ul li:hover{
				background: #EAEAEA;
		}
		.bisinessWrap nav ul li:not(:nth-last-of-type(1)){
			border-right: 1px solid #EAEAEA;	
		}
		.bisinessWrap nav ul li:hover{			
			transition: all ease 0.3s;
		}
			.bisinessWrap nav ul li a{
				display: block;
				width: 100%;
				padding: 25px 0;
				/* background: #fff; */
				font-weight: bold;
				color: #01A0C6;
				font-size: 1.0rem;
				text-decoration: none;
				cursor: pointer;
			}

/* 事業リスト */
.businessContents{
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
	section.bisinessList{
		flex-basis: 50%;
		margin-bottom: 20px;
	}
	section.bisinessList div.meta{
		background: #fff;
		width: 90%;
		margin: auto;
		position: relative;
		top: -15px;
		padding: 15px;
		box-sizing: border-box;
		box-shadow: 0px 3px 6px #00000029;
	}
	section.bisinessList div.meta h1{
		font-size: 1.2rem;
		font-weight: bold;
		margin-bottom: 1em;
	}
	section.bisinessList div.meta p{
		font-size: 1.0rem;
	}

/* 事業リスト */
.flowArea{
	background-color: #004555;
	padding: 0 10px 60px;
}
.flowArea .h1ContentsTitle {
	margin: 30px 0;
}
	.flowWrap{
	}
		ul.flowList{
			background: #fff;
			padding: 10px 15px;
			box-shadow: 0px 3px 6px #00000029;
		}
			ul.flowList li{
				padding: 30px 0;
			}
			ul.flowList li:not(:nth-last-of-type(1)){
				border-bottom: 1px solid #CDCDCD;
				position: relative;
			}
			ul.flowList li:not(:nth-last-of-type(1))::before,
			ul.flowList li:not(:nth-last-of-type(1))::after{
				content: "";
				position: absolute;
				top: 100%;
				left: 50%;
				transform: translateX(-50%);
			}
			ul.flowList li:not(:nth-last-of-type(1))::before{
				border: 18px solid transparent;
				border-top: 23px solid #CDCDCD;
			}
			ul.flowList li:not(:nth-last-of-type(1))::after{
				border: 20px solid transparent;
				border-top: 25px solid #fff;
				margin-top: -4px;
			}
				ul.flowList .stepTitle{
					color: #01A0C6;
					font-size: 1.8rem;
					margin-bottom: 0.5em;
					font-weight: bold;
				}
				ul.flowList .stepContents{		
				}
				ul.flowList .stepContents h2{
					font-size: 1.4em;
					font-weight: bold;
					letter-spacing: 0;		
				}
				ul.flowList .stepContents p{
					font-size: 1.0rem;
					margin-top: 1.5em;		
				}

/*======================================================

company（会社情報）

======================================================*/
.rightTitle .h1ContentsTitle,
.leftTitle .h1ContentsTitle{
	/* right: 6%; */
	margin: 30px 0;
}

/* .rightTitle .contentsWrap {} */
/* .leftTitle .contentsWrap {} */

/* Greeting */
#greetingArea{
	background-color: #000;
	margin-top: 60px;
	padding: 0 10px 60px;
}
	/* #greetingArea .contentsWrap{} */
		div.greetingInner{
			background: #fff;
			padding: 30px 25px;
			box-shadow: 0px 3px 6px #00000029;
		}
			div.greetingInner figure{
				position: relative;
			}
				div.greetingInner figure .chairmanName{
					position: absolute;
					top: 85%;
					right: -10px;
					background: #01A0C6;
					color: #fff;
					padding: 10px 15px;
				}
					div.greetingInner figure .chairmanName p:nth-of-type(1){
						font-size: 1.2rem;
					}
					div.greetingInner figure .chairmanName p:nth-of-type(2){
						font-size: 2.0rem;
						font-family: "FAGGM";
						margin-top: 0.5em;
					}
				div.greetingInner img{
					max-height: 550px;
					object-fit: cover;
					object-position: center;
				}
			.greetingTxt{
				font-size: 1.1rem;
				line-height: 2.4em;
				margin-top: 80px;
			}

/* Company Profile */
#profilegArea{
	background-color: #004555;
	padding: 0 10px 60px;
}
	ul.profifleList{
		background: #fff;
		padding: 30px 25px;
		box-shadow: 0px 3px 6px #00000029;
	}
	ul.profifleList > li{
		font-size: 1.0rem;
		line-height: 2.0em;
		padding: 1.5em 1em;
		border-top: 1px solid #CDCDCD;
	}
	ul.profifleList > li:nth-last-of-type(1){
		border-bottom: 1px solid #CDCDCD;
	}
		ul.profifleList > li h3{
			font-weight: bold;
		}
		/* ul.profifleList > li > p{} */
		ul.profifleList > li ul.businessList{
			flex-basis: 80%;
		}
			ul.profifleList > li ul.businessList li{
				padding-bottom: 1.5em;
				padding-left: 1em;
				padding-right: 1em;
			}
			ul.profifleList > li ul.businessList li:not(:nth-of-type(1)){
				border-top: 1px solid #CDCDCD;
				padding-top: 1.5em;
			}
			ul.profifleList > li ul.businessList h4{
				font-weight: bold;
				margin: 1em 0;
			}

/* Company History */
#historyArea{
	background-color: #00ADB4;
	padding: 0 10px 60px;
}
	ul.hostoryList{
		background: #fff;
		padding: 30px 25px;
		box-shadow: 0px 3px 6px #00000029;
	}
		ul.hostoryList li{
			font-size: 1.0rem;
			padding: 1.5em 1em;
			border-bottom: 1px solid #CDCDCD;
		}
		ul.hostoryList li p:nth-of-type(1){
			font-weight: bold;
			margin-bottom: 10px;
		}

/* Handling manufacturer */
#makerArea{
	background-color: #01A0C6;
	padding: 0 10px 60px;
}
	ul.makerList{
		background: #fff;
		padding: 30px 25px;
		box-shadow: 0px 3px 6px #00000029;
		text-align: center;
	}
		ul.makerList li{
			display: flex;
			font-size: 1.0rem;
			padding: 1.5em 0em;
			border-bottom: 1px solid #CDCDCD;			
		}
		ul.makerList li:nth-of-type(1){	
			display: block;	
		}
			ul.makerList li p{
				flex-basis: 33.3333%;
			}

/* Access */
#accessArea{
	background: #fff;
	padding: 0 0 30px;
	overflow: hidden;
}
	#accessArea .h1ContentsTitle{
		margin: 30px 0;
	}
	#accessArea .h1ContentsTitle .jp{
		color: #000;
	}

	.mapWrap{
		position: relative;
		padding-bottom: 70%;
		overflow: hidden;
		margin-top: 30px;
	}
		.mapWrap iframe{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}
.mapLink{	
	font-size: 1.0rem;
	font-weight: bold;
	text-align: right;
	padding: 30px 10px 0 0;
}
	.mapLink a{
		color: #01A0C6;
		position: relative;
	}
	.mapLink svg.pinIcon{
		width: 15px;
		fill: #D10000;
		position: absolute;
		top: -7px;
    	left: -24px;
	}

.howToAccess{}
	.howToAccess li{
		font-size: 1.0rem;
		padding: 1.5em 1em;
	}
	.howToAccess li::before{
		content: "●";
		color: #D10000;
		padding-right: 0.5em;
	}

/*======================================================

works-archive（導入事例）

======================================================*/
.worksArchiveWrap{
	margin-bottom: 60px;
}

.categoryListWrap h2.widgettitle{
	display: none!important;
}
select#custom-post-type-categories-dropdown-2{
	display: block;
	margin: 40px auto;
	position: relative;
    padding: 0 25px;
    font-size: 1.2rem;
	font-weight: bold;
    line-height: 50px;
    background-color: #fff!important;
    cursor: pointer;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(./files/images/common/arrow_down.svg);
	background-position: 97% 50%;
    background-repeat: no-repeat;
    background-size: 15px auto;
    height: 80px;
	/* transform: rotate(180deg); */
}

.resultBox{
	display: table;
	margin: auto;
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	border: 2px solid #000000;
	padding: 15px 25px;
}

.worksListWrap{
	margin: 60px auto 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
	.worksListWrap section{
		flex-basis: 50%;
		background-color: #fff;
		box-shadow: 0px 3px 6px #00000029;
		margin-bottom: 30px;	
	}
		.worksListWrap section a{			
			text-decoration: none;
		}
			.worksListWrap section a figure{			
				overflow: hidden;
			}
			.worksListWrap section a figure img{			
				transition: ease all 0.3s;
			}
			.worksListWrap section a:hover figure img{			
				transform: scale(1.1,1.1);
				transition: ease all 0.3s;
			}
			.worksListWrap section a .meta{
				padding: 15px 15px 30px;
				position: relative;
			}
				.worksListWrap section a .meta h1{
					font-size: 1.2rem;
					font-weight: bold;
				}
				.worksListWrap section a .meta h2{
					color: #01A0C6;
					font-size: 1.0rem;
					font-weight: bold;
					margin-top: 10px;
				}
				.worksListWrap section a .meta .linkArrow{
					position: absolute;
					top: 80%;
					left: 75%;
				}

.wp-pagenavi{
	display: table;
	margin: auto;
	font-size: 1.2rem;
}
	.wp-pagenavi a, .wp-pagenavi span {
		text-decoration: none;
		border: 1px solid #BFBFBF;
		padding: 3px 5px;
		margin: 2px;
	}

	.wp-pagenavi span.pages, .wp-pagenavi span.current, .wp-pagenavi a.page, .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink, .wp-pagenavi .extend, .wp-pagenavi .last {
		color: #000;
		background: #fff;
		border: solid 1px #000!important;
		padding: 6px 11px 6px 11px;
		margin-right: 10px;
		text-decoration: none;
	}
	.wp-pagenavi span.current,
	.wp-pagenavi a:hover{
		background: #000;
		color: #fff;
	}

/*======================================================

works-single（導入事例）

======================================================*/
.worksSingleWrap{
	margin-bottom: 40px;
}

.worksHead{
	text-align: center;
	margin: 40px 0 30px;
}	
	.worksHead h2{
		font-size: 2.0rem;
		font-weight: bold;
	}	
	.worksHead h3{
		font-size: 1.2rem;
		font-weight: bold;
		color: #01A0C6;
		margin: 20px auto 0;
		padding: 15px 10px;
		border: 2px solid #01A0C6;
		background-color: #fff;
		display: table;
	}	

.worksPhotosWrap{
	background: #000;
	padding: 25px 0 15px;
	margin-top: 50px;
}
	.worksPhotosWrap ul{
		display: flex;
		flex-wrap: wrap;
	}
		.worksPhotosWrap ul li{
			flex-basis: 33.333%;
		}
		ul.worksPhotosList li img{
			object-fit: cover;
			object-position: center;
			height: 90px;
		}
	.worksPhotosWrap p{
		color: #fff;
		font-size: 1.0rem;
		font-weight: bold;
		margin: 20px auto 40px;
		display: table;
		position: relative;
		text-indent: 1.5em;
	}
		.worksPhotosWrap p svg{
			fill-rule:evenodd;
			clip-rule:evenodd;
			fill:#fff;
			width: 15px;
			position: absolute;
			top: 50%;
			left: -5px;
			transform: translateY(-50%);
		}

.worksTxtWrap{
	line-height: 2.0em;
	background-color: #fff;
	box-shadow: 0px 3px 6px #00000029;
	padding: 15px;
}

.archivePrevBtn{
	margin-top: 40px;
	text-align: center;
}
.archivePrevBtn a{
	position: relative;
	text-decoration: none;
}
.archivePrevBtn a .linkArrowPrev{
	position: absolute;
	right: 120%;
    top: 30%;
}

/*======================================================

recruit（採用情報）

======================================================*/
.recruitPageHead{
	background-color: #32C2E5;
	text-align: center;
	padding: 40px 10px 30px;
}
.recruitPageHead.conditions figure{
	width: 75%;
	margin: 0 auto;
}

.recruitPageHead .pageMainCopy{
	margin: 50px auto 0;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 2.0em;
	color: #fff;
}

/* .recrutiWrap nav{} */
	.recrutiWrap nav ul{
		text-align: center;
		display: table;
		width: 100%;	
	}
		.recrutiWrap nav ul li{
			width: 50%;			
			display: table-cell;
			vertical-align: middle;
			transition: all ease 0.3s;
		}
		.recrutiWrap nav ul li:nth-of-type(1){
			background: #004555;
		}
		.recrutiWrap nav ul li:nth-of-type(2){
			background: #000;
		}
		.recrutiWrap nav ul li:hover:nth-of-type(1){
			background: #007691;
			transition: all ease 0.3s;
		}
		.recrutiWrap nav ul li:hover:nth-of-type(2){
			background: rgb(68, 68, 68);
			transition: all ease 0.3s;
		}
			.recrutiWrap nav ul li a{
				width: 100%;
				color: #fff;
				font-weight: bold;
				font-size: 1.2rem;
				display: block;
				padding: 25px 0;
				text-decoration: none;
			}
			
div.conditionsWrap{
	background-color: #004555;
	margin-top: 60px;
}
	div.conditionsWrap .mainSection,
	div.recruitFaqWrap .mainSection,
	div.contactWrap .mainSection{
		background-color: #fff;
		box-shadow: 0px 3px 6px #00000029;
		padding: 20px;
		box-sizing: border-box;
	}

		div.conditionsWrap .mainSection .h1TitleWrap h1,
		div.recruitFaqWrap .mainSection .h1TitleWrap h1,
		div.newsArichiveWrap .mainSection .h1TitleWrap h1,
		div.contactWrap .mainSection .h1TitleWrap h1{
			margin: 30px 0;
		}
			div.conditionsWrap .mainSection .h1TitleWrap h1 .jp,
			div.recruitFaqWrap .mainSection .h1TitleWrap h1 .jp,
			div.newsArichiveWrap .mainSection .h1TitleWrap h1 .jp,
			div.contactWrap .mainSection .h1TitleWrap h1 .jp{
				font-size: 2.0rem;
				color: #000;
			}
			div.conditionsWrap .mainSection .h1TitleWrap h1 .en,
			div.recruitFaqWrap .mainSection .h1TitleWrap h1 .en,
			div.newsArichiveWrap .mainSection .h1TitleWrap h1 .en,
			div.contactWrap .mainSection .h1TitleWrap h1 .en{
				font-size: 1.2rem;
				margin-top: 0.5em;
			}
		div.conditionsWrap .mainSection ul li{
			border-bottom: 1px solid #CDCDCD;
			font-size: 1.0rem;
    		line-height: 2.0em;
			padding: 1.5em 1em;
		}
		div.conditionsWrap .conditionsSecWrap h2{
			font-size: 1.4rem;
			font-weight: bold;
			padding: 1.5em 0 1.5em 0;			
		}
		div.conditionsWrap .conditionsSecWrap h2::before{
			content: "■";
			color: #004555;
			margin-right: 0.5em;
		}
		div.conditionsWrap .mainSection ul li:nth-of-type(1){
			border-top: 1px solid #CDCDCD;
		}
		div.conditionsWrap .mainSection ul li p:nth-of-type(1){
			font-weight: bold;
		}

/*======================================================

recruit（採用情報よくあるご質問）

======================================================*/
div.recruitFaqWrap{
	background-color: #000;
	margin-top: 60px;
}

	div.recruitFaqWrap .mainSection ul li{
		border-bottom: 1px solid #CDCDCD;
		font-size: 1.2rem;
		line-height: 2.0em;
		padding: 1.5em 0em;
	}
		div.recruitFaqWrap li .question{
			position: relative;
			padding-right: 2.5em;
			padding-left: 3.5em;
			cursor: pointer;
		}
		div.recruitFaqWrap li .question::after{
			content: "Q";
			font-size: 1.4rem;
			font-family: "mono";
			font-weight: bold;
			position: absolute;
			top: 0;
			left: 0;
			width: 36px;
			height: 36px;
			background-color: #004488;
			color: #fff;
			text-align: center;
		}
			div.recruitFaqWrap li .question svg.arrowMark{
				fill: #004488;
				width: 20px;
				position: absolute;
				top: 36%;
				right: 3%;
				transform: rotate(180deg);
				transition: ease all 0.3s;
			}
			div.recruitFaqWrap li .question.open svg.arrowMark{
				transform: rotate(0deg);
				transition: ease all 0.3s;
			}
		div.recruitFaqWrap li .answer{
			background: #EAEAEA;
			padding: 10px 15px;
			margin-top: 20px;
			display: none;
		}

/* .entryContactArea */
.entryContactArea{
	background: url(files/images/top/recruit_bg_photo.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 0 80px;
	position: relative;
}
.entryContactArea::before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	background: rgba(30, 101, 118, 0.6)
}
	.entryContactArea .h1ContentsTitle{
		position: relative;
    	z-index: 100;
	}
	
	.entryContactArea .contactWrap{
		width: 85%;
		margin: 0 auto;
	}

		.entryContactArea .contactWrap li::before{
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #fff;
			opacity: 0;
			transition: ease all 0.3s;
		}
		.entryContactArea  .contactWrap li:hover::before{
			opacity: 0.6;
			transition: ease all 0.3s;
		}

		.entryContactArea .contactWrap li{
			background: #FF4E00;			
			transform: skew(-20deg);
		}
			.entryContactArea .contactWrap li a{
				color: #fff;
				display: block;
				text-decoration: none;
				text-align: center;
				transform: skew(20deg);
				padding: 20px 0;
			}
			
				.entryContactArea .contactWrap p{
					font-size: 1.0rem;
					font-weight: bold;
					margin-bottom: 25px;
				}		
				.entryContactArea .contactWrap li .mainIcon{
					fill: #fff;
					width: 40px;					
					height: auto;
					margin: auto;
					display: block;
					margin-bottom: 25px;
				}		
				.entryContactArea .contactWrap li em{		
					font-size: 2.0rem;
					font-weight: bold;
					width: 100%;					
				}

/*======================================================

contact（お問い合わせ）

======================================================*/
article.contactPageHead{
	background-color: #004555;
	margin-top: 60px;
	text-align: center;
	padding: 40px 10px 100px;
	position: relative;
}
.contactPageHead figure{
	width: 45%;
	margin: 0 auto;
}

.contactPageHead .pageMainCopy{
	margin: 30px auto 20px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 2.0em;
	color: #fff;
}

	.contactPageHead .telBox{
		width: 85%;
		margin: auto;
		background: #01A0C6;
		transform: skew(-20deg) translateX(-50%);
		position: absolute;
		bottom: -8%;
		left: 50%;
	}
		.contactPageHead .telBox a{
			display: block;
			color: #fff;
			transform: skew(20deg);
			padding: 25px 0;
			text-decoration: none;
			pointer-events: none;
		}
			.contactPageHead .telBox a p:nth-of-type(1){
				font-size: 1.2rem;
				font-weight: bold;
				margin-bottom: 20px;
			}
			.contactPageHead .telBox a p:nth-of-type(2){
				font-family: "mono";
				font-size: 2.5rem;
			}

.conditionsWrap.contactWrap{
	background-color: rgba(0, 0, 0, 0);
}

.conditionsWrap.contactWrap .mainSection{
	top: 80px;
}

.contactMark{
	font-size: 1.0rem;
	color: #fff;
	padding: 0.25em 0.5em;
	margin-left: 1em;
}
	.contactMark.required{
		background-color: #FF5353;
	}
	.contactMark.any{
		background-color: #32C2E5;
	}
.formWrap dl{
	border-bottom: 1px solid #CDCDCD;
    font-size: 1.2rem;
    line-height: 2.0em;
    padding: 1.5em 0;
}
.formWrap dl:nth-of-type(1){
	border-top: 1px solid #CDCDCD;
}
	.formWrap dl dt{
		font-weight: bold;
	}
	.formWrap dl dd{
		margin-top: 15px;
	}
	div.radioWrap .wpcf7-radio {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
		div.radioWrap .wpcf7-radio .wpcf7-list-item {
			display: block;
			margin-right: 2em;
		}
	dd .kanaWrap{
		display: flex;
		align-items: center;
		font-size: 2.0rem;
		font-weight: bold;
	}

	input[type="checkbox"], input[type="radio"] {
		vertical-align: -0.2em;
		margin-right: 1.0em;
		transform: scale(1.2);
	}
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 100%;
		padding:1em 1em;
		box-sizing: border-box;
		border: none;
		background: #EAEAEA;
		font-size: 1.0rem;
	}

	.submitButton {
		text-align: center;
	}
	.wpcf7-submit {
		width: 85%;
		margin: auto;
		font-size: 1.4rem;
		padding: 0.75em 0;
		background-color: #004488;
		border: none;
		color: #fff;
	}
	.wpcf7-not-valid-tip{
		font-size: 1.0rem!important;
		line-height: 1.2em;
    	margin-top: 0.8em;
	}

.privacyWrap{
	background-color: #FFE5E5;
	margin-top: 30px;
	max-height: 270px;
	overflow-y: scroll;
	padding: 30px 20px 0;
}
	.privacyWrap h3{
		font-weight: bold;
		font-size: 1.2rem;
		text-align: center;
	}
	.privacyWrap > div{
		font-size: 1.2rem;
		margin: 35px 0 30px;
	}
	.privacyWrap .privacySec{
		margin-bottom: 20px;
		font-size: 1.2rem;
	}
		.privacyWrap .privacySec h4{
			font-weight: bold;
			margin-bottom: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(1) h4::before{
			content: "1.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(2) h4::before{
			content: "2.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(3) h4::before{
			content: "3.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(4) h4::before{
			content: "4.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(5) h4::before{
			content: "5.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(6) h4::before{
			content: "6.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(7) h4::before{
			content: "7.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec:nth-of-type(8) h4::before{
			content: "8.";
			margin-right: 0.5em;
		}
		.privacyWrap .privacySec div{
			line-height: 1.8em;
		}
		.privacyWrap .privacySec div ul{
			margin-top: 12px;
		}
		.privacyWrap .privacySec div ul li::before{
			content: "・";
		}
		.privacyAgreeBtn {
			display: table;
			margin: 50px auto;
			font-size: 1.2rem;
		}
		
/*======================================================

news（お知らせ）

======================================================*/
/* archive */
div.newsArichiveWrap {
    margin-top: 60px;
	padding: 0 10px 50px;
}
	div.newsArichiveWrap .mainSection{
		background-color: #fff;
		box-shadow: 0px 3px 6px #00000029;
		padding: 20px 15px;
		box-sizing: border-box;
	}
		div.newsArichiveWrap ul.newsList li{
			padding: 1.5em 1em;
			border-bottom: 1px solid #CBCBCB;				
		}
		div.newsArichiveWrap ul.newsList li:hover{
			background: #e9e9e9;
		}
		div.newsArichiveWrap ul.newsList li a{
			text-decoration: none;
			position: relative;
			display: block;
		}
			div.newsArichiveWrap ul.newsList li .newsMeta{
				display: flex;
				flex-wrap: wrap;
			}
			div.newsArichiveWrap ul.newsList li p.date{
				font-size: 1.2rem;
			}
			div.newsArichiveWrap ul.newsList li p.category{
				margin-left: 10px;
			}
			div.newsArichiveWrap ul.newsList li p.category span{
				font-size: 1.0rem;
				font-weight: bold;
				color: #fff;
				display: block;			
				padding: 0.25em 0.5em;
			}
			div.newsArichiveWrap ul.newsList li h2{
				font-size: 1.4rem;
				margin: 15px 40px 0 0;
			}
			div.newsArichiveWrap ul.newsList .linkArrow{
				position: absolute;
				bottom: 0%;
				left: 90%;
			}
	div.newsArichiveWrap .wp-pagenavi{
		margin: 40px auto 0;
	}
/* single */
/* section.newsContentsWrap .meta{}	*/
section.newsContentsWrap .meta h2{
	font-size: 1.4rem;
	font-weight: bold;
	border-bottom: 1px solid #CBCBCB;
	padding-bottom: 15px;
}			
section.newsContentsWrap .meta .date{
	font-size: 1.0rem;
	padding-top: 15px;
}
section.newsContentsWrap .contentsWrap{
	font-size: 1.2rem;
	margin-top: 30px;
	line-height: 2.4em;
}			
section.newsContentsWrap .contentsWrap p{
	margin-bottom: 1em;
}

nav.pageNav{
margin-top: 40px;
}
.pageNavWrap{
display: flex;
flex-wrap: nowrap;
align-items: center;
}
.pageNavWrap > div{
	flex-basis: 33.333%;
	text-align: center;
}
	.pageNavWrap > div a{
		text-decoration: none;
		font-size: 1.2rem;
		position: relative;
	}
	.pageNavWrap span.linkArrowPrev{
		position: absolute;
		right: 120%;
		top: 30%;
	}
	.pageNavWrap span.linkArrow{
		position: absolute;
		left: 120%;
		top: 30%;
	}

.archiveLinkBtn svg{
	width: 30px;
	transition: ease all 0.3s;
	fill: #cdcdcd;
}
.archiveLinkBtn a:hover svg{
	fill: #EAEAEA;
	transition: ease all 0.3s;
}

/*======================================================

page.php（固定ページ）

======================================================*/

section.pageTemplate {
	margin-top: 60px;
	background-color: #004555;
	padding: 0 10px 60px;
}

/* section.pageTemplate .contentsWrap{
	top: -80px;
	padding-right: 200px;
    padding-left: 200px;
    position: relative;
} */

div.pageInner{
	background: #fff;
	padding: 30px 25px;
	box-shadow: 0px 3px 6px #00000029;
}

section.pageTemplate .contentsWrap h1{
	font-size: 2.0rem;
	font-weight: bold;
	padding: 0 0 0.2em;
	text-align: center;
	position: relative;
}

section.pageTemplate .contentsWrap h1::after{
	content: "";
	position: absolute;
	background-color: #01A0C6;
	width: 30%;
	height: 1px;
	top:100%;
	left:50%;
	transform: translate(-50%,-50%);
}

section.pageTemplate .contentsWrap h2{
	font-size: 1.4rem;
	font-weight: bold;
	color: #01A0C6;
	margin-bottom: 1.5em;
	text-align: center;
}

section.pageTemplate .contentsWrap{
	font-size: 1.1rem;
	margin-top: 60px;
	line-height: 2.4em;
}
section.pageTemplate .contentsWrap p,
section.pageTemplate .contentsWrap ul{
	margin-bottom: 1em;
}

section.pageTemplate .contentsWrap h3{
	margin: 30px 0 30px;
	padding: 0.4em 0.5em;
	background: #f4f4f4;
	border-left: solid 5px #01A0C6;
	border-bottom: solid 3px #d7d7d7;
	font-size:1.5rem;
	font-weight: bold;
}

section.pageTemplate .contentsWrap h4{
	margin: 30px 0 25px;
	border-bottom: dashed 2px #01A0C6;
	font-size: 1.2rem;
	font-weight: bold;
	display: inline;
	padding:0 1em 0.2em;
}

section.pageTemplate .contentsWrap ul li{
	list-style-type: disc;
	margin-left: 2em;
}


}

