@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Roboto:400,700&display=swap&subset=japanese');
*{
	margin: 0;
	padding: 0;
	list-style: none;
	font-weight: normal;
}
.clearfix{
	zoom:100%;
	min-hight:0px;
}
.clearfix:after{
	content:"";
	display:block;
	clear: both;
}
body{
	font-family: 'Noto Sans JP', sans-serif;
	overflow-x: hidden;
	color: #1a1a1a;
}
img{
	vertical-align: top;
	/*max-width: 100%;*/
	height: auto;
	line-height: 1.0;
}
a{
	text-decoration: none;
	color: #1a1a1a;
}
a:hover{
	text-decoration: none;
	color: #e60020;
}
a img{
	vertical-align: top;
	border: none;
}
.caution{
	color: #f00;
	font-weight: bold;
	margin: 0 0 1rem;
}
.en{
	font-family: 'Roboto', sans-serif;
}
.color0{
	background: #ffaa00; }
.color1{
	background: #aaff00;
	color: #1a1a1a !important; }
.color2{
	background: #00aaff; }
.color3{
	background: #ffff00;
	color: #1a1a1a !important; }

@media screen and (min-width:980px){
html{
	font-size: 15px;
}
/* ------------------------------------------------------------
    ヘッダー部分
------------------------------------------------------------ */
header{
	width: 100%;
	height: 80px;
	padding: 0 30px;
	display:-webkit-flex;
	display:flex;
	-webkit-align-items: center;
	align-items: center;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99; }
	header.fixed{
		background: rgba(0,0,0,0.22); }
	header .logo{
		height: 22px; }
		header .logo img{
			height: 22px; }
	header .btnMenu{
		display: none; }
	header #gnav{
		margin-left: auto; }
		header #gnav .btnClose{
			display: none; }
		header #gnav ul{
			display:-webkit-flex;
			display:flex; }
			header #gnav ul li:not(.contact){
				margin-right: 40px; }
			header #gnav ul li a{
				color: #fff;
				line-height: 35px;
				display: block; }
				header #gnav ul li:not(.contact) a{
					text-shadow: 0 0 5px #000;
					position: relative; }
					header #gnav ul li:not(.contact) a:after{
						background: #fff;
						content: "";
						width: 0;
						height: 1px;
						display: block;
						position: absolute;
						bottom: 0;
						left: 0;
						-webkit-transition: all .3s ease-out;
						-moz-transition: all .3s ease-out;
						transition: all .3s ease-out; }
					header #gnav ul li:not(.contact) a:hover:after{
						width: 100%; }
			header #gnav ul li.contact a{
				background: #e60020;
				display: block;
				padding: 0 10px;
				-webkit-transition: all .3s ease-out;
				-moz-transition: all .3s ease-out;
				transition: all .3s ease-out; }
			header #gnav ul li.contact a:hover{
				background: #fff;
				color: #e60020; }
	header .sp_only {
		display: none !important;
	}

/* ------------------------------------------------------------
    フッター部分
------------------------------------------------------------ */
.contactArea{
	background: #e60020;
	padding: 80px 0;
	position: relative;
	z-index: 0;
	color: #fff;
	text-align: center; }
	.contactArea:before{
		content: "";
		border-top: 5vh solid #fff;
		border-left: 100vw solid transparent;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1; }
	.contactArea .heading:after{
		background: #fff; }
	.contactArea .btnMore a{
		color: #fff;
		border: #fff solid 2px; }
		.contactArea .btnMore a:hover{
			background: #fff;
			color: #e60020; }
	.contactArea .tel span{
		font-size: 3rem;
		line-height: 45px;
		font-weight: bold;
		letter-spacing: 0.25rem; }
	.contactArea .tel:before{
		background: url(../images/common/icon_tel.png) center;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		content: "";
		width: 45px;
		height: 45px;
		display: inline-block;
		vertical-align: top;
		margin: 0 20px 0 0; }
	.contactArea .time{
		margin: 15px 0 0;
		font-size: 1.4rem; }
	.contactArea .holiday{
		margin: 15px 0 0;
		font-size: 1.4rem; }

/* ------------------------------------------------------------
    フッター部分
------------------------------------------------------------ */
footer{
	padding: 80px 0 0;
	position: relative; }
	footer .information{
		display:-webkit-flex;
		display:flex;
		 -webkit-justify-content: center;
		 justify-content: center;
		 -webkit-align-items: center;
		 align-items: center; }
		footer .information dl{
			margin: 0 0 0 40px;
			line-height: 1.0; }
		footer .information dl dt{
			font-size: 1.4rem;
			font-weight: bold;
			margin: 0 0 20px; }
		footer .information dl dd:not(:last-of-type){
			margin: 0 0 15px; }
	footer nav ul{
		margin: 40px 0 0;
		display:-webkit-flex;
		display:flex;
		 -webkit-justify-content: center;
		 justify-content: center; }
		footer nav ul li:not(:last-of-type){
			margin-right: 40px; }
	footer .sns{
		display:-webkit-flex;
		display:flex;
		position: absolute;
		right: 30px;
		bottom: 15px; }
		footer .sns li{
			width: 20px; }
			footer .sns li:not(:last-of-type){
				margin-right: 20px; }
	footer small{
		background: #e60020;
		display: block;
		margin: 80px 0 0;
		padding: 0 30px;
		font-size: 1rem;
		color: #fff;
		line-height: 50px; }

/* ------------------------------------------------------------
    コンテンツ部分
------------------------------------------------------------ */
main{
	letter-spacing: 0.1rem; }

/* ------------------------------------------------------------
    共有クラス部分
------------------------------------------------------------ */
.pagetitle{
	width: 100%;
	height: 400px;
	position: relative;
	display: table;
	z-index: 0; }
	.pagetitle:before{
		content: "";
		background: rgba(0,0,0,0.3);
		width: 100%;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: -1; }
	.pagetitle:after{
		content: "";
		border-bottom: 5vh solid #fff;
		border-left: 100vw solid transparent;
		position: absolute;
		bottom: 0;
		left: 0; }
	.pagetitle hgroup{
		display: table-cell;
		line-height: 1.0;
		color: #fff;
		text-shadow: 0 0 5px #000;
		text-align: center;
		vertical-align: middle; }
		.pagetitle hgroup h1{
			font-size: 3rem;
			margin: 0 0 30px;
			padding: 0 0 35px;
			position: relative; }
			.pagetitle hgroup h1:after{
				content: "";
				background: #fff;
				width: 180px;
				height: 5px;
				margin: auto;
				display: block;
				position: absolute;
				right: 0;
				left: 0;
				bottom: 0; }
		.pagetitle hgroup small{
			display: block;
			font-size: 2rem; }
.heading{
	margin: 0 0 60px;
	padding: 0 0 33px;
	font-size: 2rem;
	line-height: 1.0;
	letter-spacing: 0.25rem;
	text-align: center;
	position: relative; }
	.heading:after{
		content: "";
		background: #e60020;
		width: 90px;
		height: 3px;
		margin: auto;
		display: block;
		position: absolute;
		right: 0;
		left: 0;
		bottom: 0; }
.btnMore{
	width: 340px;
	margin: 60px auto 0; }
	.btnMore a{
		width: auto;
		display: block;
		padding: 15px 0;
		color: #e60020;
		font-size: 1rem;
		text-align: center;
		line-height: 1.0;
		border-radius: 50px;
		border: #e60020 solid 2px;
		-webkit-transition: all .3s ease-out;
		-moz-transition: all .3s ease-out;
		transition: all .3s ease-out; }
		.btnMore a:hover{
			background: #e60020;
			color: #fff; }
.btnList{
	margin: 60px auto 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center; }
	.btnList li{
		width: 340px; }
		.btnList li.prev,
		.btnList li.next{
			width: 170px; }
		.btnList li:not(:first-of-type){
			margin-left: 40px; }
		.btnList li a{
			width: auto;
			display: block;
			padding: 15px 0;
			color: #e60020;
			font-size: 1rem;
			text-align: center;
			line-height: 1.0;
			border-radius: 50px;
			border: #e60020 solid 2px;
			-webkit-transition: all .3s ease-out;
			-moz-transition: all .3s ease-out;
			transition: all .3s ease-out; }
			.btnList li a:hover{
				background: #e60020;
				color: #fff; }
.pager ul{
	margin: 0 0 80px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center; }
	.pager ul li:not(:last-of-type){
		margin-right: 20px; }
		.pager ul li span,
		.pager ul li a{
			display: block;
			padding: 0 10px;
			line-height: 35px; }
		.pager ul li a{
			background: #eee;
			color: #1a1a1a; }
			.pager ul li a:hover,
			.pager ul .active{
				background: #e60020;
				color: #fff; }
.table{
	max-width: 1020px;
	margin: 0 auto;
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	border-bottom: #ddd solid 1px; }
	.table > dt{
		background: #f5f5f5;
		width: 30%;
		padding: 40px;
		border-top: #ddd solid 1px;
		/*border-left: #ddd solid 1px;*/
		box-sizing: border-box; }
	.table > dd{
		width: 70%;
		padding: 40px;
		border-top: #ddd solid 1px;
		/*border-left: #ddd solid 1px;*/
		box-sizing: border-box; }
		.table > dd dt:not(:first-of-type){
			margin: 30px 0 0; }
	.table > dd a{
		text-decoration: none;
		color: #33a0b8;	}
	.table > dd a:hover{
		text-decoration: none;
		color: #1FA19B;	}
/**　追加テールブルリスト　**/
	.table > dd .businesslist{
				margin: 0 auto; }
	.table > dd .businesslist li{
				padding: 0 0 0 20px;
				position: relative;
				list-style: none; }
	.table > dd .businesslist li:before{
				content: "・";
				position: absolute;
				top: 0;
				left: 0; }
	.table > dd .businesslist li:not(:last-of-type){
				margin: 0 0 5px; }
	.table > dd .timelist{
				margin: 0 auto; }
	.table > dd .timelist li{
				padding: 0 0 0 10px;
				position: relative;
				list-style: none; }
	.table > dd .timelist li:before{
				content: " ";
				position: absolute;
				top: 0;
				left: 0; }
	.table > dd .timelist li:not(:last-of-type){
				margin: 0 0 5px; }
	.table > dd .welfarelist{
				margin: 0 auto; }
	.table > dd .welfarelist li{
				padding: 0 0 0 20px;
				position: relative;
				list-style-type: none!important; }
	.table > dd .welfarelist li:before{
				font-family: "Font Awesome 5 Free";
				content: "\f005";
				font-weight: 400;
				position: absolute;
				left: 0;
				top: 0.25em;
				color: #494949; }
	.table > dd .welfarelist li:not(:last-of-type){
				margin: 0 0 5px; }
	.table > dd .welfare2list{
				margin: 0 auto; }
	.table > dd .welfare2list li{
				padding: 0 0 0 20px;
				position: relative;
				list-style-type: none!important; }
	.table > dd .welfare2list li:before{
				font-family: "Font Awesome 5 Free";
				content: "\f005";
				font-weight: 900;
				position: absolute;
				left: 0;
				top: 0.25em;
				color: #494949; }
	.table > dd .welfare2list li:not(:last-of-type){
				margin: 0 0 5px; }

/* ------------------------------------------------------------
    トップページ部分
------------------------------------------------------------ */
.mainimage{
	background: url(../images/mainimage.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	width: 100%;
	height: 100vh;
	position: relative;
	display: table;
	z-index: 0; }
	.mainimage:after{
		content: "";
		border-bottom: 5vh solid #fff;
		border-left: 100vw solid transparent;
		position: absolute;
		bottom: 0;
		left: 0; }
	.mainimage hgroup{
		display: table-cell;
		vertical-align: middle;
		line-height: 1.4;
		text-align: center;
		color: #fff;
		text-shadow: 0 0 5px #000; }
		.mainimage hgroup h2{
			font-size: 3rem;
			margin: 0 0 30px;
			padding: 0 0 35px;
			position: relative; }
			.mainimage hgroup h2:after{
				content: "";
				background: #fff;
				width: 180px;
				height: 5px;
				margin: auto;
				display: block;
				position: absolute;
				right: 0;
				left: 0;
				bottom: 0; }
		.mainimage hgroup h3{
			font-size: 2rem; }
		.mainimage .swiper-slide{
			width: 100%;
			height: 100vh;
			position: absolute;
			top: 0;
			left: 0;
			overflow: hidden;
			z-index: -1; }
			.mainimage .swiper-slide:after{
				content: "";
				background: rgba(0,0,0,0.3);
				width: 100%;
				display: block;
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				z-index: 10; }
			.mainimage .swiper-slide li{
				background: #fff;
				width: 100%;
				height: 100vh;
				position: absolute;
				top: 0;
				left: 0; }
				.mainimage .swiper-slide li img{
					width: 100%;
					position: absolute;
					margin: auto;
					top: 0;
					bottom: 0;
					left: 0;
					right: 0; }
				.mainimage .swiper-slide li.active{
					z-index:9; }
				.mainimage .swiper-slide li.last-active{
					z-index:8; }
.aboutTop{
	padding: 80px 0;
	position: relative; }
	.aboutTop:after{
		content: "";
		border-right: 100vw solid transparent;
		border-bottom: 5vh solid #f5f5f5;
		position: absolute;
		bottom: 0;
		left: 0; }
	.aboutTop p{
		width: 1020px;
		font-size: 1.4rem;
		line-height: 2.0;
		text-align: center;
		margin: 0 auto; }
.serviceTop{
	background: #f5f5f5;
	padding: 80px 0;
	position: relative;
	z-index: 0; }
	.serviceTop:before{
		content: "";
		background: #ebebeb;
		width: 100%;
		height: 327.5px;
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: -1; }
	.serviceTop:after{
		content: "";
		border-bottom: 5vh solid #fff;
		border-left: 100vw solid transparent;
		position: absolute;
		bottom: 0;
		left: 0; }
	.serviceTop .servicelist{
		width: 1020px;
		margin: 0 auto;
		display:-webkit-flex;
		display:flex; }
		.serviceTop .servicelist li{
			width: 330px;
			height: 495px;
			/*display: table;*/
			box-shadow: 0 10px 20px 0 rgba(0,0,0,0.1);
			position: relative;
			overflow: hidden; }
			.serviceTop .servicelist li:not(:first-of-type){
				margin-left: auto; }
			.serviceTop .servicelist li:before{
				content: "";
				position: absolute;
				display: block;
				width: 100%;
				height: 100%;
				top: 0;
				-webkit-transition: all .3s ease-out;
				-moz-transition: all .3s ease-out;
				transition: all .3s ease-out;
				z-index: -1; }
				.serviceTop .servicelist li:nth-of-type(1):before{
					background: url(../images/top/bg_service01.jpg) center;
					background-size: cover;
					-webkit-background-size: cover;
					-moz-background-size: cover; }
				.serviceTop .servicelist li:nth-of-type(2):before{
					background: url(../images/top/bg_service02.jpg) center;
					background-size: cover;
					-webkit-background-size: cover;
					-moz-background-size: cover; }
				.serviceTop .servicelist li:nth-of-type(3):before{
					background: url(../images/top/bg_service03.jpg) center;
					background-size: cover;
					-webkit-background-size: cover;
					-moz-background-size: cover; }
				.serviceTop .servicelist li:hover:before{
					-moz-transform: scale(1.2);
					-webkit-transform: scale(1.2);
					transform: scale(1.2); }
			.serviceTop .servicelist li a{
				background: rgba(0,0,0,0.22);
				display: table;
				height: 100%;
				color: #fff;
				text-shadow: 0 0 5px #000; }
				.serviceTop .servicelist li a div{
					display: table-cell;
					vertical-align: middle; }
				.serviceTop .servicelist li a h3{
					margin: 0 0 30px;
					font-size: 2rem;
					text-align: center; }
				.serviceTop .servicelist li a p{
					margin: 0 30px; }
.menuTop{
	padding: 80px 0;
	position: relative;
	z-index: 1; }
	.menuTop:before{
		content: "";
		background: #f5f5f5;
		width: 100%;
		display: block;
		position: absolute;
		top: 368px;
		bottom: 0;
		left: 0;
		z-index: -1; }
	.menuTop:after{
		content: "";
		border-left: 100vw solid transparent;
		border-top: 5vh solid #f5f5f5;
		position: absolute;
		bottom: -5vh;
		left: 0;
		z-index: -1; }
	.menulist{
		width: 1020px;
		margin: 0 auto;
		display:-webkit-flex;
		display:flex; }
		.menulist li{
			background: #fff;
			width: 330px;
			padding: 0 0 30px;
			box-shadow: 0 10px 20px 0 rgba(0,0,0,0.1);
			position: relative; }
			.menulist li:not(:nth-of-type(3n+1)){
				margin-left: auto; }
			.menulist li a{
				color: #1a1a1a; }
				.menulist li a figure{
					height: 330px;
					margin: 0 0 30px;
					position: relative;
					overflow: hidden; }
					.menulist li a figure:after{
						background: rgba(0,0,0,0.22);
						content: "";
						width: 100%;
						height: 100%;
						display: block;
						position: absolute;
						top: 0;
						left: 0; }
					.menulist li a figure div{
						position: absolute;
						display: block;
						width: 100%;
						height: 100%;
						top: 0;
						-webkit-transition: all .3s ease-out;
						-moz-transition: all .3s ease-out;
						transition: all .3s ease-out; }
				.menulist li a:hover figure div{
					-moz-transform: scale(1.2);
					-webkit-transform: scale(1.2);
					transform: scale(1.2); }
				.menulist li a .tag{
					background: #e60020;
					min-width: 110px;
					line-height: 40px;
					font-size: 1.2rem;
					padding: 0 20px;
					color: #fff;
					text-align: center;
					position: absolute;
					top: 275px;
					left: -10px; }
				.menulist li a .time{
					line-height: 40px;
					color: #fff;
					position: absolute;
					top: 275px;
					right: 30px;
					text-shadow: 0 0 5px #000; }
				.menulist li a .tag:before{
					content: "";
					border-left: 10px solid transparent;
					border-bottom: 10px solid #e60020;
					position: absolute;
					bottom: 40px;
					left: 0; }
				.menulist li a h3{
					margin: 0 0 30px;
					font-size: 1.4rem;
					text-align: center; }
				.menulist li a p{
					margin: 0 30px; }
.recruitTop{
	background: url(../images/top/bg_recruit.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	padding: 80px 0;
	position: relative;
	z-index: 0;
	color: #fff; }
	.recruitTop:before{
		content: "";
		background: rgba(230,0,32,0.22);
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -1; }
	.recruitTop:after{
		content: "";
		border-bottom: 5vh solid #fff;
		border-left: 100vw solid transparent;
		position: absolute;
		bottom: 0;
		left: 0; }
	.recruitTop .heading:after{
		background: #fff; }
	.recruitTop .heading{
		text-shadow: 0 0 5px #000; }
	.recruitTop p{
		width: 1020px;
		font-size: 1.4rem;
		line-height: 2.0;
		text-align: center;
		margin: 0 auto;
		text-shadow: 0 0 5px #000; }
	.recruitTop .btnMore a{
		color: #fff;
		border: #fff solid 2px; }
		.recruitTop .btnMore a:hover{
			border: #e60020 solid 2px; }
.newsTop{
	padding: 80px 0;
	position: relative;
	z-index: 0; }
	.newslist{
		width: 1020px;
		margin: 0 auto;
		border-top: #ddd solid 1px; }
		.newslist li a{
			padding: 40px 40px 40px 0;
			display: block;
			color: #1a1a1a;
			border-bottom: #ddd solid 1px;
			position: relative; }
			.newslist li a:after{
				content: "";
				width: 10px;
				height: 10px;
				display: block;
				border-top: #ddd solid 2px;
				border-right: #ddd solid 2px;
				position: absolute;
				top: 0;
				right: 20px;
				bottom: 0;
				margin: auto;
				-webkit-transform: rotate(45deg);
				-ms-transform: rotate(45deg);
				transform: rotate(45deg);
				-webkit-transition: all .3s ease-out;
				-moz-transition: all .3s ease-out;
				transition: all .3s ease-out; }
			.newslist li:hover a:after{
				border-top: #e60020 solid 2px;
				border-right: #e60020 solid 2px;
				right: 0; }
			.newslist li a dl{
				display: -webkit-flex;
				display: flex;
				-webkit-align-items: center;
				align-items: center; }
				.newslist li a dl dd{
					white-space: nowrap; }
				.newslist li a dl dd{
					margin-left: 40px; }
				.newslist li a dl dd.label{
					width: 120px;
					color: #fff;
					text-align: center;
					line-height: 35px;
 					border-radius: 35px; }

/* ------------------------------------------------------------
    新着情報部分
------------------------------------------------------------*/
.news .pagetitle{
	background: url(../images/news/ttl_news.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover; }
.news .newslist{
	margin: 80px auto; }
.news .entries{
	padding: 80px 0; }
	.news .entries .deta{
		width: 1020px;
		margin: 0 auto 30px;
		text-align: right; }
	.news .entries .commentArea h2 {
	  padding: 0.1em 0.5em;/*上下 左右の余白*/
	  color: #1a1a1a;/*文字色*/
	  background: transparent;/*背景透明に*/
	  border-left: solid 5px #E60020;/*左線*/
	  margin-bottom: 1rem;
	}
	.news .entries .commentArea p a{
			color: #33a0b8; }
	.news .entries .commentArea p a:hover{
			text-decoration: none;
			color: #e60020; }
	.news .entries .commentArea strong{
		font-weight: bold; }
	.news .entries .commentArea{
			width: 1020px;
			margin: 0 auto;
			line-height: 1.8; }
	.news .entries .commentArea img{
		max-width: 100%; }

/* ------------------------------------------------------------
    事業内容部分
------------------------------------------------------------ */
.service .pagetitle{
	background: url(../images/service/ttl_service.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover; }
.service .type{
	padding: 80px 0; }
	.service .type:nth-of-type(2n){
		background: #f5f5f5;
		position: relative; }
		.service .type:nth-of-type(2n):before{
			content: "";
			border-top: 5vh solid #fff;
			border-left: 100vw solid transparent;
			position: absolute;
			top: 0;
			left: 0; }
		.service .type:nth-of-type(2n):after{
			content: "";
			border-bottom: 5vh solid #fff;
			border-left: 100vw solid transparent;
			position: absolute;
			bottom: 0;
			left: 0; }
	.service .type p{
		max-width: 1020px;
		margin: 0 auto;
		font-size: 1.4rem;
		line-height: 2.0; }
	.service .servicelist{
		max-width: 1020px;
		margin: 60px auto 0; }
		.service .servicelist li{
			display:-webkit-flex;
			display: flex;
			-webkit-align-items: center;
			align-items: center; }
			.service .servicelist li:not(:last-of-type){
				margin-bottom: 40px; }
			.service .servicelist li figure{
				width: 32%;
				border: #ddd solid 1px;
				box-shadow: 0 10px 20px 0 rgba(0,0,0,0.1); }
				.service .servicelist li figure img{
					max-width: 100%; }
			.service .servicelist li .commentArea{
				width: 64%;
				margin-left: auto; }
			.service .servicelist li .commentArea dt{
				font-size: 1.4rem;
				font-weight: bold;
				margin: 0 0 30px;
				position: relative; }

/* ------------------------------------------------------------
    施工事例部分
------------------------------------------------------------ */
.menu .pagetitle{
	background: url(../images/menu/ttl_menu.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover; }
.menu .menulist{
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	margin: 80px auto; }
	.menu .menulist li:not(:first-of-type):not(:nth-of-type(2)):not(:nth-of-type(3)){
		margin-top: 60px; }
.menu .entries{
	padding: 80px 0;
	position: relative; }
	.menu .entries .tag{
		background: #e60020;
		width: 20vw;
		display: inline-block;
		line-height: 40px;
		font-size: 1.2rem;
		text-align: center;
		margin: 0 auto;
		padding: 0 20px;
		color: #fff;
		border-radius: 40px;
		position: absolute;
		top: -30px;
		right: 0;
		left: 0; }
.menu .entries .imageslider{
	background: #f5f5f5;
	margin: 0 auto 60px;
	padding: 30px 0; }
	.menu .entries .imageslider .slideframe{
		width: 1020px;
		margin: 0 auto 30px;
		overflow: hidden;
		position: relative; }
		.menu .entries .imageslider .slideframe .slide{
			display: -webkit-flex;
			display: flex; }
			.menu .entries .imageslider .slideframe .slide li{
				width: 1020px;
				text-align: center; }
				.menu .entries .imageslider .slideframe .slide li img{
					max-width: 100%; }
		.menu .entries .imageslider .slideframe nav{
			width: 1000px;
			height: 20px;
			position: absolute;
			margin: auto;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0; }
			.menu .entries .imageslider .slideframe nav ul{
				display: -webkit-flex;
				display: flex; }
				.menu .entries .imageslider .slideframe nav ul li{
					width: 20px; }
					.menu .entries .imageslider .slideframe nav ul li.next{
						margin-left: auto; }
					.menu .entries .imageslider .slideframe nav ul li a{
						width: 20px;
						height: 20px;
						display: block;
						position: relative; }
						.menu .entries .imageslider .slideframe nav ul li.prev a:before{
							content: "";
							width: 10px;
							height: 10px;
							display: block;
							border-bottom: #e60020 solid 2px;
							border-left: #e60020 solid 2px;
							position: absolute;
							top: 0;
							left: 0;
							bottom: 0;
							margin: auto;
							-webkit-transform: rotate(45deg);
							-ms-transform: rotate(45deg);
							transform: rotate(45deg); }
						.menu .entries .imageslider .slideframe nav ul li.next a:before{
							content: "";
							width: 10px;
							height: 10px;
							display: block;
							border-top: #e60020 solid 2px;
							border-right: #e60020 solid 2px;
							position: absolute;
							top: 0;
							right: 0;
							bottom: 0;
							margin: auto;
							-webkit-transform: rotate(45deg);
							-ms-transform: rotate(45deg);
							transform: rotate(45deg); }
	.menu .entries .imageslider nav ol{
		width: 1020px;
		margin: 0 auto;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center; }
	.menu .entries .imageslider nav ol li{
		cursor: pointer;
		width: 19%;
		box-shadow: 0 10px 20px 0 rgba(0,0,0,0.1); }
	.menu .entries .imageslider nav ol li:not(:first-of-type){
		margin-left: auto; }
	.menu .entries .imageslider nav ol li img{
		max-width: 100%; }
	.menu .entries .commentArea{
		width: 1020px;
		line-height: 1.8;
		margin: 0 auto; }
		.menu .entries .commentArea h1,
		.menu .entries .commentArea h2,
		.menu .entries .commentArea h3,
		.menu .entries .commentArea h4,
		.menu .entries .commentArea h6{
		  padding: 0.5em;/*文字周りの余白*/
		  color: #494949;/*文字色*/
		  /*background: #ffe8ee;/*背景色*/
		  border-left: solid 5px #E60020;/*左線（実線 太さ 色）*/
		  	font-size: 1.2rem;
			font-weight: bold;
			margin: 0 0 1rem;
		}
		.menu .entries .commentArea h5{
			border-bottom: dashed 2px #F5CD25;
			width: 30%;
			color: #494949;
			font-size: 1.2rem;
			font-weight: bold;
			margin: 0 0 1rem;
			}
		.menu .entries .commentArea p + p{
			margin-top: 1rem; }
		.menu .entries .commentArea p + h1,
		.menu .entries .commentArea p + h2,
		.menu .entries .commentArea p + h3,
		.menu .entries .commentArea p + h4,
		.menu .entries .commentArea p + h5,
		.menu .entries .commentArea p + h6{
			margin-top: 2rem; }
	.menu .entries .commentArea .pointbox {
	    position: relative;
	    margin: 2em 0;
	    padding: 0.5em 1em;
	    border: solid 3px #F5CD25;
	    border-radius: 8px;
	}
	.menu .entries .commentArea .pointbox .box-title {
	    position: absolute;
	    display: inline-block;
	    top: -13px;
	    left: 10px;
	    padding: 0 9px;
	    line-height: 1;
	    font-size: 19px;
	    background: #FFF;
	    color: #F5CD25;
	    font-weight: bold;
	}
	.menu .entries .commentArea .pointbox p {
	    margin: 0; 
	    padding: 0;
	}
	/*===テーブル===*/
	.menu .entries .commentArea table {
		border-collapse: collapse;
		margin: 0 auto;
		padding: 0;
		width: 100%;
		table-layout: fixed;
}

	.menu .entries .commentArea table tr {
		background-color: #fff;
		border: 1px solid #ddd;
		padding: .35em;
		font-family: 'Roboto', sans-serif;
		}
	.menu .entries .commentArea table th,
	.menu .entries .commentArea table td {
		padding: 1em 10px 1em 1em;
		border-right: 1px solid #ddd;
}
	.menu .entries .commentArea table th {
  /*font-size: .85em;*/
}
	.menu .entries .commentArea table thead tr{
		background-color: #eee;
}
	.menu .entries .commentArea .txt{
		text-align: left;
		font-size: .85em;
}
	.menu .entries .commentArea .price{
		font-family: 'Roboto', sans-serif;
		text-align: right;
}
	.menu .entries .commentArea .price2{
		font-family: 'Roboto', sans-serif;
		text-align: right;
		font-weight: bold;
}
	@media screen and (max-width: 600px) {
  	.menu .entries .commentArea table {
		border: 0;
		width:100%
}
  	.menu .entries .commentArea table th{
		background-color: #eee;
		display: block;
		border-right: none;
}
  	.menu .entries .commentArea table thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
}
  
  	.menu .entries .commentArea table tr {
		display: block;
		margin-bottom: .625em;
}
  
  	.menu .entries .commentArea table td {
		border-bottom: 1px solid #ddd;
		display: block;
		font-size: .8em;
		text-align: right;
		position: relative;
		padding: .625em .625em .625em 4em;
		border-right: none;
}
  
  	.menu .entries .commentArea table td::before {
		content: attr(data-label);
		font-weight: bold;
		position: absolute;
		left: 10px;
}
  
  	.menu .entries .commentArea table td:last-child {
		border-bottom: 0;
	}
}

/* ------------------------------------------------------------
    会社案内部分
------------------------------------------------------------ */
.about .pagetitle{
	background: url(../images/about/ttl_about.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover; }
.about .message{
	padding: 80px 0; }
.about .message .inner{
	max-width: 1020px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex; }
	.about .message .inner figure{
		width: 495px;
		margin-right: auto; }
	.about .message .inner .commentArea{
		width: 495px;
		padding: 30px 0 0; }
		.about .message .inner .commentArea p:not(:firast-of-type){
			margin: 1rem 0 0; }
		.about .message .inner .commentArea .name{
			margin: 30px 0 0;
			text-align: right; }			
.about .information{
	padding: 80px 0;
	position: relative; }
	.about .information:after{
		content: "";
		border-right: 100vw solid transparent;
		border-bottom: 5vh solid #f5f5f5;
		position: absolute;
		bottom: 0;
		left: 0; }
.about .access{
	background: #f5f5f5;
	padding: 80px 0;
	position: relative; }
	.about .access:after{
		content: "";
		border-bottom: 5vh solid #fff;
		border-left: 100vw solid transparent;
		position: absolute;
		bottom: 0;
		left: 0; }
	.about .access .map{
		max-width: 1020px;
		margin: 0 auto 30px; }
	.about .access .map2{
		max-width: 1020px;
		margin: 60px auto 30px; }
	.about .access dl{
		max-width: 1020px;
		margin: 0 auto;
		padding: 0 0 0 50%;
		line-height: 1.0; }
		.about .access dl dt{
			font-size: 1.4rem;
			font-weight: bold;
			margin: 0 0 20px; }
		.about .access dl dd:not(:last-of-type){
			margin: 0 0 15px; }

.about .history{
	padding: 80px 0; }

/* ------------------------------------------------------------
    採用情報部分
------------------------------------------------------------ */
.recruit .pagetitle{
	background: url(../images/recruit/ttl_recruit.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover; }
.recruit .requirementslist > li{
	padding: 80px 0; }
	.recruit .requirementslist > li .inner{
		max-width: 1020px;
		margin: 0 auto 40px;
		display: -webkit-flex;
		display: flex; }
		.recruit .requirementslist > li .inner figure{
			width: 50%; }
		.recruit .requirementslist > li .inner figure img{
			width: 100%;
		}
		.recruit .requirementslist > li .inner .commentArea{
			background: #f5f5f5;
			width: 50%;
			padding: 30px;
			box-sizing: border-box; }
			.recruit .requirementslist > li .inner .commentArea p:not(:first-of-type){
				margin: 1rem 0 0; }

/* ------------------------------------------------------------
    FAQ部分
------------------------------------------------------------ */
.faq .pagetitle{
	background: url(../images/faq/ttl_faq.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover; }
.faq .faqlist{
	padding: 80px 0; }
	.faq .faqlist p{
		max-width: 1020px;
		margin: 0 auto;
		font-size: 1.4rem;
		line-height: 2.0; }
	.faq .faqlist dl{
		max-width: 1020px;
		margin: 60px auto 0; }
		.faq .faqlist dl dt{
			font-size: 1.2rem;
			font-weight: bold;
			margin: 0 0 20px;
			padding: 0 0 0 70px;
			position: relative; }
			.faq .faqlist dl dt:before{
				width: 60px;
				content: "Q";
				background: #e60020;
				padding: 5px 0;
				color: #fff;
				display: inline-block;
				font-family: 'Roboto', sans-serif;
				text-align: center;
				border-radius: 30px;
				position: absolute;
				top: 0;
				left: 0; }
		.faq .faqlist dl dd{
			background: #f5f5f5;
			padding: 30px 30px 30px 105px;
			position: relative; }
			.faq .faqlist dl dd:before{
				width: 60px;
				content: "A";
				background: #000;
				padding: 5px 0;
				color: #fff;
				display: inline-block;
				font-family: 'Roboto', sans-serif;
				text-align: center;
				border-radius: 30px;
				position: absolute;
				top: 30px;
				left: 30px; }
			.faq .faqlist dl dd:not(:last-of-type){
				margin-bottom: 40px; }

/* ------------------------------------------------------------
    FAQ2部分
------------------------------------------------------------ */
.faq2 .pagetitle{
	background: url(../images/faq/ttl_faq2.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover; }
.faq2 .faqlist{
	padding: 80px 0; }
	.faq2 .faqlist p{
		max-width: 1020px;
		margin: 0 auto;
		font-size: 1.4rem;
		line-height: 2.0; }
	.faq2 .faqlist dl{
		max-width: 1020px;
		margin: 60px auto 0; }
		.faq2 .faqlist dl dt{
			font-size: 1.2rem;
			font-weight: bold;
			margin: 0 0 20px;
			padding: 0 0 0 70px;
			position: relative; }
			.faq2 .faqlist dl dt:before{
				width: 60px;
				content: "Q";
				background: #e60020;
				padding: 5px 0;
				color: #fff;
				display: inline-block;
				font-family: 'Roboto', sans-serif;
				text-align: center;
				border-radius: 30px;
				position: absolute;
				top: 0;
				left: 0; }
		.faq2 .faqlist dl dd{
			background: #f5f5f5;
			padding: 30px 30px 30px 70px;   /*105px*/
			position: relative; }
			/*.faq2 .faqlist dl dd:before{
				width: 60px;
				content: "A";
				background: #000;
				padding: 5px 0;
				color: #fff;
				display: inline-block;
				font-family: 'Roboto', sans-serif;
				text-align: center;
				border-radius: 30px;
				position: absolute;
				top: 30px;
				left: 30px; }*/
			.faq2 .faqlist dl dd:not(:last-of-type){
				margin-bottom: 40px; }

/* ------------------------------------------------------------
    お問合せ部分
------------------------------------------------------------ */
.contact .pagetitle{
	background: url(../images/contact/ttl_contact.jpg) center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover; }
.contact .mailform{
	padding: 80px 0; }
	.contact .mailform p{
		max-width: 1020px;
		line-height: 1.8;
		margin: 0 auto 40px; }
	.contact .mailform .telArea{
		max-width: 1020px;
		margin: 0 auto 40px;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		border: #ddd solid 1px;
		box-sizing: border-box; }
		.contact .mailform .telArea dt{
			background: #f5f5f5;
			width: 50%;
			padding: 30px;
			font-size: 1.4rem;
			font-weight: bold;
			box-sizing: border-box; }
			.contact .mailform .telArea dt small{
				font-size: 1rem;
				margin: 20px 0 0;
				display: block; }
		.contact .mailform .telArea dd{
			width: 50%;
			padding: 30px;
			box-sizing: border-box; }
			.contact .mailform .telArea dd span{
				font-size: 3.0rem;
				font-weight: bold;
				letter-spacing: 0.25rem; }
/** テーブル **/
.contact .table2{
	max-width: 1020px;
	margin: 0 auto;
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	border-bottom: #ddd solid 1px; }
	.contact .table2 > dt{
		background: #f5f5f5;
		width: 30%;
		padding: 40px;
		border-top: #ddd solid 1px;
		box-sizing: border-box; }
	.contact .table2 > dd{
		width: 70%;
		padding: 40px;
		border-top: #ddd solid 1px;
		box-sizing: border-box; }
	.contact .table2 > dd dt:not(:first-of-type){
		margin: 30px 0 0; }
	.contact .mailform form dl dt.must:after {
		background: #000;
		content: "必須";
		margin: 0 0 0 10px;
		display: inline-block;
		padding: 5px 15px;
		font-size: 0.8rem;
		color: #fff;
		border-radius: 15px; }
	.contact .mailform form dd input[type="text"]{
		width: 100%;
		padding: 10px;
		border: #ddd solid 1px;
		box-sizing: border-box; }
	.contact .mailform form dd ul{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap; }
	.contact .mailform form dd ul li:not(:last-of-type){
		margin-right: 20px; }
	.contact .mailform form dd textarea{
		width: 100%;
		height: 20rem;
		padding: 10px;
		border: #ddd solid 1px;
		box-sizing: border-box; }
.btnSubmit{
	margin: 60px 0 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center; }
	.btnSubmit li:not(:last-of-type){
		margin-right: 20px; }
	.btnSubmit li input[type="submit"]{
		width: 340px;
		cursor: pointer;
		padding: 15px 0;
		text-align: center;
		font-size: 1rem;
		line-height: 1.0;
		border-radius: 50px; }
	.btnSubmit li .submit{
		background: #25C04A;
		color: #fff;
		font-weight: bold;
		border: #25C04A solid 2px; }
	.btnSubmit li .send{
		background: #25C04A;
		color: #fff;
		font-weight: bold;
		border: #25C04A solid 2px; }
	.btnSubmit li .back{
		background: #9D9D9D;
		color: #fff;
		font-weight: bold;
		border: #9D9D9D solid 2px; }
	.btnSubmit li input[type="submit"]:hover{
		opacity: 0.7; }
			
}