@charset "UTF-8";
body.sub{
	background:url(../../img/sub/bk_title.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub_new{
	background:url(../../img/sub/bk_title02.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.about{
	background:url(../../img/sub/bk_title_about.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.products{
	background:url(../../img/sub/bk_title_products.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.service{
	background:url(../../img/sub/bk_title_service.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.recruit{
	background:url(../../img/sub/bk_title_recruit.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.privacy{
	background:url(../../img/sub/bk_title_privacy.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.contacts{
	background:url(../../img/sub/bk_title_contact.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.sitemap{
	background:url(../../img/sub/bk_title_sitemap.jpg) no-repeat #fff;
	background-size:100% auto;
}

@media screen and (max-width: 768px) {
body.sub{
	background:url(../../img/sub/bk_title_sp.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub_new{
	background:url(../../img/sub/bk_title02_sp.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.about{
	background:url(../../img/sub/bk_title_about_sp.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.products{
	background:url(../../img/sub/bk_title_products_sp.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.service{
	background:url(../../img/sub/bk_title_service_sp.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.recruit{
	background:url(../../img/sub/bk_title_recruit_sp.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.privacy{
	background:url(../../img/sub/bk_title_privacy_sp.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.contacts{
	background:url(../../img/sub/bk_title_contact_sp.jpg) no-repeat #fff;
	background-size:100% auto;
}
body.sub.sitemap{
	background:url(../../img/sub/bk_title_sitemap_sp.jpg) no-repeat #fff;
	background-size:100% auto;
}
}
.title{
	padding:90px 0;
	background: rgba(255,255,255,.3);
}
.title h2{
	font-family: 'Poppins', sans-serif;
	font-size:5.2rem;
	letter-spacing:20px;
	color:#000;
	text-shadow: 2px 2px 10px #fff;
}
.title h2 span{
	font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;	
	font-size: 3.5rem;
	display:block;
	font-weight:bold;
	color:#000;
	text-shadow: 2px 2px 10px #fff;
}
@media screen and (max-width: 768px) {
.title{
	padding:100px 0 50px 0;
}
.title h2{
	font-size:2.6rem;
	letter-spacing:10px;
}
.title h2 span{
	font-size: 1.7rem;
}
}
.path{
	background:#fff;
	padding:20px 0;
}
.path ul{
	list-style-type:none;
	text-align:left;
	max-width:1000px;
	margin:0 auto;
}
.path ul li{
	display:inline-block;
}
.path ul li a{
	text-decoration:none;
	font-size:1.4rem;
	color:#333;
}
.path ul li a:before{
	content:">";
	padding:0 10px;
}
.path ul li:first-child a:before{
	display:none;
}
@media screen and (max-width: 768px) {
.path{
	width:96%;
	padding:10px 2%;
}
}
/*about*/
.content.about,
.content.recruit{
	padding-top:30px;
	padding-bottom:30px;
	text-align:center;
}
.about .name{
	font-size:2.4rem;
	margin:0 0 0 0;
}
.about .add{
	font-size:1.4rem;
	margin:0 0 10px 0;
}
.about dl{
	font-weight:bold;
}
.about dl dt{
	position:relative;
  display: inline-block;
  margin-bottom:15px;
}
.about dl dt:before {
  content: '';
  position: absolute;
  bottom: -5px;
  display: inline-block;
  width: 34px;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5382a5;
}
.about dl dd{
	font-size:1.8rem;
	padding:0 0 10px 0;
	margin:0 0 20px 0;
}
.about .message-ttl{
	font-size: 20px;
	font-weight: bold;
}
.about .message-txt{
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
}
.about .message-txt p{
	font-size: 16px;
	line-height: 2.4;
}

@media screen and (max-width: 768px) {
.content.about,
.content.recruit{
	padding:10px 2% 20px 2%;
	text-align:center;
}
.about dl dd{
	font-size:1.6rem;
}
.map iframe{
	width:100%;
}

.spleft{
	text-align:left !important;
}
.content.about h3{
	margin-top:30px;
}
.about .message-txt p{
	font-size: 14px;
	line-height: 2.0;
}
}
.about.can h3{
	margin:40px 0 20px 0;
}
.about img.can{
	max-width:60%;
	height:auto;
}
.about p.flowttl{
	margin-top: 80px;
	font-weight: bold;
	font-size: 18px;
	text-align: center;
}

.about p.flow img{
	max-width:100%;
	height:auto;
}
@media screen and (max-width: 1024px) {
.about img.can,
.about .flow{
	max-width:100%;
	height:auto;
}
}
.about p.area{
	padding:0 0 20px 0;
	margin:0 0 20px 0;
	border-bottom:1px solid #ccc;
}
@media screen and (max-width: 768px) {

.about p.flowttl{
	margin-top: 40px;
	font-weight: bold;
	font-size: 16px;
	text-align: center;
}
}
/*services*/
.content.can{
	background:#f6f8fa;
}
.content.can p,
.content.work p{
	width:800px;
	margin-left:auto;
	margin-right:auto;
	text-align:left;
}
.content.can p.flow{
	text-align:center;
}
.content.can p.flow img{
	max-width:100%;
	height:auto;
}
/*recruit*/
.recruit dl{
}
.recruit dl dt{
	position:relative;
  display: inline-block;
  margin-bottom:15px;
	font-size:1.8rem;
	font-weight:bold;
}
.recruit dl dt:before {
  content: '';
  position: absolute;
  bottom: -5px;
  display: inline-block;
  width: 34px;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5382a5;
}
.recruit dl dd{
	font-size:1.8rem;
	padding:0 0 10px 0;
	margin:0 0 20px 0;
}
@media screen and (max-width: 768px) {
.recruit dl dt,
.recruit dl dd{
	font-size:1.6rem;
}
.recruit img{
	max-width:100%;
}
}
/*products*/
.products .listback{
	background:#eaf2fa;
}

.products h3{
	position:relative;
  display: inline-block;
  margin:20px 0 10px 0;
}
.products h3:before {
  content: '';
  position: absolute;
  bottom: -5px;
  display: inline-block;
  width: 200px;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5382a5;
}
.products a .block_products_list{
	color:#000;
	text-decoration:none;
}
.products .block_products_list{
	max-width:1000px;
	margin:0 auto 20px auto;
}
.products .block_products_list.mid{
	border-bottom:1px dotted #999;
}
.products .block_products_list h4{
	text-align:left;
	margin: 0 0 10px 0;
	color:#fff;
	background: #5382a5;
	padding:2px 0 2px 10px;
}
.products .block_products_list p{
	text-align:left;
	margin:0 0 20px 0;
}
.products .block_products_list .list_image{
	width:40%;
	float:left;
}
.products .block_products_list .list_image img{
	width:80%;
	height:auto;
	margin:0 auto 20px auto;
}
.products .block_products_list .list_image.height img{
	width:50%;
}
.products .block_products_list .list_image.height02 img{
	width:60%;
}
.products .block_products_list .list_txt{
	width:60%;
	float:right;
}
.products .block_products_list .list_txt .detail a{
	color: #5382a5;
	text-align:center;
	text-decoration:none;
	font-size:1.6rem;
	display:block;
	width:40%;
	margin:10px auto;
	border:2px solid #5382a5;
	padding:5px 0;
	border-radius:19px;
}
.products .block_products_list .list_txt .detail a:hover{
	color: #fff;
	border:2px solid #5382a5;
	background:#5382a5;
}
.products .block_products{
	max-width:1000px;
	margin:0 auto;
	border-bottom:1px solid #ccc;
	padding-bottom:30px;
}
.products .block_products p{
	text-align:left;
}
.products .proimage img{
	max-width:100%;
	height:auto;
	margin:20px auto;
}
.products .spec{
	width:48%;
	float:left;
}
.products .productsimage{
	width:48%;
	float:right;
}
.products .productsimage img{
	max-width:100%;
	height:auto;
	margin:20px 0;
	
}
.products .spec dl{
	width:100%;
	border-top:1px solid #ccc;
	display:flex;
	flex-wrap: wrap;
}
.products .spec dl dt{
	width:30%;
	border-bottom:1px solid #ccc;
	padding:10px 0;
	background:#eee;
}
.products .spec dl dd{	
	width:calc(70% - 10px);
	margin:0;	
	border-bottom:1px solid #ccc;
	padding:10px 0 10px 10px;
	text-align:left;
}
/*.products .spec dl dt:nth-of-type(even),
.products .spec dl dd:nth-of-type(even){
	background:#eee;
}*/
@media screen and (max-width: 768px) {
.products .block_products_list .list_txt .detail a{
	width:80%;
	font-size:1.4rem;
}
.products .block_products{
	max-width:100%;
	padding-bottom:20px;
	margin-bottom:20px;
}
.products h3:before {
  width: 100px;
}
.products .spec{
	width:100%;
	float:none;
}
.products .productsimage{
	width:100%;
	float:none;
}
.products .spec dl{
	font-size:1.3rem;
}
.products .block_products_list .list_image{
	width:100%;
	float:none;
}
.products .block_products_list .list_image img{
	width:50%;
	height:auto;
	margin:0 auto 20px auto;
}
.products .block_products_list .list_txt{
	width:100%;
	float:none;
}
.products .block_products_list p {
    margin: 0 0 10px 0;
}
}
/*sitemap*/
.content .privacy,
.content .sitemap{
	padding-top:30px;
	padding-bottom:30px;
	text-align:left;
	max-width: 800px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
.content .sitemap{
	padding-top:10px;
	padding-bottom:10px;
}
}

/*contact*/
.contactarea{
	width:70%;
	border:10px solid #cadff2;
	padding:10px 5%;
	margin:0 auto;
	text-align:center;
	font-size:2.0rem;
}
.txt_contact{
	text-align:center;
}
@media screen and (max-width: 768px) {
.txt_contact{
	text-align:left;
}
}
/*service new*/
.what_new{
	margin:0 auto;
	padding:70px 0 30px 0;
	text-align:center;
	position:relative;
	max-width:1100px;
}
.what_new h2{
	margin:40px 0 0 0;
	position:absolute;
	right:40px;
	top:60px;
}
.what_new img{
	margin:0 auto;
	max-width:100%;
}
.what_new p{
	font-size:2.6rem;
	font-weight:bold;
}
@media screen and (max-width: 845px) {
.what_new h2{
	right:0;
	font-size: 3.2rem;
}
}
@media screen and (max-width: 768px) {
.what_new{
	padding:20px 0 20px 0;
}
.what_new img{
	width:96%;
	height:auto;
}
.what_new h2{
	position:static;
	font-size: 2.1rem;
	margin: 20px 0;
}
.what_new p{
	font-size:1.8rem;
	text-align:left;
	line-height:1.4;
	color:#333;
	font-weight:normal;
}
.content.can p,
.content.work p{
	width:98%;
}
}
.block-works{
	padding: 0 0 40px 0;
	display: flex;
	gap: 5%;
	max-width: 800px;
	margin: 0 auto;
}
.block-works p{
	max-width: 100%;
}
.txt-works{
	order: 1;
	width: 55%;
}
.txt-works strong{
	font-size: 120%;
}
.img-works{
	order: 2;
	width: 40%;
	padding-top: 20px;
}
.img-works img{
	max-width: 100%;
	height: auto;
}
@media screen and (max-width: 768px) {
	.block-works{
		padding: 0 0 40px 0;
		flex-wrap: wrap;
	}
		.txt-works{
		order: 2;
		width: 100%;
	}
	.img-works{
		order: 1;
		width: 100%;
		padding-top: 0;
	}
	.img-works img{
		max-width: 80%;
		height: auto;
	}
}