@charset "utf-8";
.pagination {
	display: flex;
	justify-content: center;
	padding-top: 75px;
	position: relative;
	z-index: 999;
}
	.pagination span,
	.pagination a {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		text-align: center;
		line-height: 40px;
		margin-left: 8px;
		margin-right: 8px;
	}
	.pagination span {
		background-color: #2789CB;
		color: #333;
		font-weight: 600;
	}
	.pagination span.page-numbers.current {
	    color: #fff;
	}
	.pagination span.page-numbers.dots {
		background-color: #EEEEEE;
		background-color: transparent;
		color: #2789CB;
		font-size: 30px;
	}
	.pagination a {
		background-color: #EEEEEE;
		transition: .3s;
		font-weight: 400;
	}
	.pagination a.page-numbers:hover {
	background-color: #2789CB;
	color: #fff;
	font-weight: 600;
	transition: .3s;
	text-decoration: none;
}
	.pagination a.prev,
	.pagination a.next {
		background-color: initial;
		color: transparent;
		position: relative;
		transition: .3s;
	}
		.pagination a.prev:before,
		.pagination a.next:before {
			content: "";
			position: absolute;
			top: 14px;
			background-repeat: no-repeat;
			width: 7px;
			height: 12px;
			display: block!important;
		}
		.pagination a.prev:before {
			background-image: url(../img/pc/arrow_l.svg);
			left: 17px;
		}
		.pagination a.next:before {
			background-image: url(../img/pc/arrow_r.svg);
			right: 17px;
		}
		.pagination a.prev:hover,
		.pagination a.next:hover {
			background-color: transparent;
			transition: .3s;
		}
	/*.pagination a + a {
		margin-left: 16px;
	}*/

/*============
  施工事例
============*/
#case {
	position: relative;
}

/*== #case_topArea ==*/
#case_topArea {
	margin-top: 60px;
	margin-bottom: 50px;
}
	#case_topArea .txt_tips {
		margin-top: 35px;
	}

/*== #case_box 一覧ページ==*/
#case_box {
	background-color: #F8F8F8;
	padding-top: 160px;
	padding-bottom: 160px;
	position: relative;
}
	#case_box:before {
		content: "";
		position: absolute;
		top: -200px;
		left: 50%;
		transform: translateX(-50%);
		background-image: url(../img/pc/case_study.svg);
		background-repeat: no-repeat;
		background-size: contain;
		height: 260px;
		max-width: 1330px;
		width: 100%;
		z-index: -999;
	}
	#case_box .wave_inner:after {
			bottom: -60px;
	}
		#case_box .content {
			max-width: 1000px;
			margin: 0 auto;
			position: relative;
		}
			
			#case_box .content ul {
				flex-wrap: wrap;
				/*justify-content: space-between;*/
			}
				#case_box .content ul .case_list {
					max-width: 320px;
					width: 32%;
					margin-bottom: 65px;
					margin-left: 2%;
				}
				#case_box .content ul .case_list:nth-child(3n+1) {
					margin-left: 0;
				}
					#case_box .content ul .case_list a:hover {
						color: #2789CB;
					}
						#case_box .content ul .case_list .img_box {
							width: 100%;
							height: 207px;
							background-color: #666;
							overflow: hidden;
						}
						#case_box .content ul .case_list .list_txt {
							margin-top: 30px;
							font-size: 16px;
							font-weight: 600;
						}
		#case_box .pagination {
			padding-top: 70px;
		}

/*== #case_box　詳細ページ ==*/

#case_box .detail_area {
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
	z-index: 999;
}
	#case_box .detail_area .inner .img_box {
		max-width: 500px;
		width: 50%;
		height: 345px;
	}
	#case_box .detail_area .inner .right_box {
		max-width: 500px;
		width: 50%;
		padding-left: 4%;
		box-sizing: border-box;
	}
		#case_box .detail_area .inner .right_box .case_ttl {
			font-size: 32px;
			font-weight: 600;
			line-height: 1.3437;
			margin-top: 30px;
		}
			#case_box .detail_area .inner .right_box .case_ttl a {
				pointer-events: none;
			}
		#case_box .detail_area .inner .right_box .category {
			font-size: 12px;
			line-height: 1;
			min-height: 28px;
			display: inline-block;
			background-color: #2789CB;
			color: #fff;
			padding: 8px 20px;
			margin-top: 70px;
		}
			#case_box .detail_area .inner .right_box .category a {
				color: #fff;
			}
	#case_box .detail_area .case_txt {
		margin-top: 40px;
	}
	#case_box .detail_area .single_box {
		margin-top: 85px;
		justify-content: space-between;
		height: 30px;
	}
		#case_box .single_box .prev_next_list {
			position: relative;
		}
			#case_box .single_box .prev_next_list .prev {
				position: absolute;
				top: 0;
				left: 0;
			}
			#case_box .single_box .prev_next_list .next {
				position: absolute;
				top: 0;
				right: 0;
			}
			#case_box .single_box .prev_next_list .list_btn {
				position: absolute;
				top: 0;
				left: 50%;
				transform: translateX(-50%);
			}
				#case_box .detail_area .single_box .prev_next_list li a {
					text-decoration: underline;
				}
				#case_box .detail_area .single_box .prev_next_list .prev a {
					position: relative;
					padding-left: 18px;
				}
				#case_box .detail_area .single_box .prev_next_list .next a {
					position: relative;
					padding-right: 18px;
				}
					#case_box .detail_area .single_box .prev_next_list .prev a:before,
					#case_box .detail_area .single_box .prev_next_list .next a:after {
						content: "";
						position: absolute;
						background-repeat: no-repeat;
						width: 7px;
						height: 12px;
					}
					#case_box .detail_area .single_box .prev_next_list .prev a:before {
						top: 2px;
						left: 0;
						background-image: url(../img/pc/arrow_l.svg);
					}
					#case_box .detail_area .single_box .prev_next_list .next a:after {
						top: 2px;
						right: 0;
						background-image: url(../img/pc/arrow_r.svg);
					}
					#case_box .detail_area .single_box .prev_next_list li a:hover {
						color: #2789CB;
					}

#case_box .tips_menu li {
	position: relative;
	cursor: pointer;
	transition: .3s;
}
	#case_box .tips_menu li:after {
		content: "";
		position: absolute;
		top: 15px;
		right: 14px;
		background-image: url(../img/pc/arrow_b.svg);
		background-repeat: no-repeat;
		width: 13px;
		height: 10px;
	}
	#case_box .tips_menu li:hover {
		background-color: #2789CB;
		color: #fff;
		transition: .3s;
	}
	#case_box .tips_menu li:hover:after {
		background-image: url(../img/pc/arrow_b_w.svg);
		transition: .3s;
	}
		#case_box .tips_menu li:hover select {
			color: #fff;
			transition: .3s;
		}
			#case_box .tips_menu li:hover select option {
				color: #2789CB;
				transition: .3s;
			}


/*============
  ニュース
============*/
#news {
	position: relative;
}

/*== #news_topArea ==*/
#news_topArea {
	margin-top: 60px;
	margin-bottom: 80px;
}
	/*#news_topArea .tips_box .txt_tips {
		margin-bottom: 75px;
	}*/

/*== #news_box 一覧 ==*/
#news_archive {
	position: relative;
}

#news_box {
	background-color: #F8F8F8;
	padding-top: 160px;
	padding-bottom: 160px;
	position: relative;
}
	#news_box:before {
		content: "";
		position: absolute;
		top: -170px;
		left: 50%;
		transform: translateX(-50%);
		background-image: url(../img/pc/news.svg);
		background-repeat: no-repeat;
		background-size: contain;
		height: 260px;
		max-width: 610px;
		width: 100%;
		z-index: -999;
	}
	#news_box .content {
		max-width: 1000px;
		margin: 0 auto;
	}
		#news_box .content .news_archive {
			line-height: 1;
			border-bottom: 1px solid #B7B7B7;
			align-items: center;
		}
			#news_box .content .news_archive a {
				display: inline-block;
				width: 100%;
				padding-top: 25px;
				padding-bottom: 25px;
				transition: .3s;
				position: relative;
			}
			#news_box .content .news_archive:first-child a {
				padding-top: 0;
			}
				#news_box .content .news_archive a:after {
					content: "";
					position: absolute;
					top: 35px;
					right: 20px;
					background-image: url(../img/pc/arrow_r.svg);
					background-repeat: no-repeat;
					width: 7px;
					height: 12px;
				}
				#news_box .content .news_archive a:hover {
					transition: .3s;
					text-decoration: none;
				}
				#news_box .content .news_archive:first-child a:after {
					top: 15px;
				}
				#news_box .content .news_archive .category {
					margin-left: 20px;
					background-color: #2789CB;
					color: #fff;
					padding: 8px 20px;
					font-size: 12px;
					min-width: 88px;
					min-height: 28px;
					display: inline-block;
					vertical-align: middle;
				}
				#news_box .content .news_archive .news_date {
					font-size: 14px;
					margin-left: 20px;
					color: #B7B7B7;
				}
				#news_box .content .news_archive .news_title {
					display: inline-block;
					margin-left: 35px;
					color: #010101;
					width: 450px;
					overflow: hidden;
					white-space: nowrap;
					text-overflow: ellipsis;
					vertical-align: middle;
					font-size: 16px;
					font-weight: 600;
				}
					#news_box .content .news_archive a:hover .news_title {
						text-decoration: underline;
						color: #2789CB;
					}

/*== #news_box 詳細ページ ==*/
#news_box .inner {
	max-width: 1000px;
	margin: 0 auto;
}
#news_box .inner article {}
	#news_box .inner article .detail_area {}
	#news_box .inner article .detail_area time {
		font-size: 14px;
		color: #6E6E6E;
	}
	#news_box .inner article .detail_area .category {
		font-size: 12px;
		color: #fff;
		background-color: #2789CB;
		padding: 8px 20px;
		margin-left: 40px;
		line-height: 1;
		display: inline-block;
	}
	#news_box .inner article .news_ttl {
		font-size: 32px;
		font-weight: 600;
		line-height: 1.3437;
		margin-top: 35px;
	}
	#news_box .inner article .edit-area {
		margin-top: 45px;
	}
	#news_box .single_box {
		margin-top: 85px;
		height: 30px;
	}
		#news_box .single_box .prev_next_list {
			position: relative;
		}
			#news_box .single_box .prev_next_list .prev {
				position: absolute;
				top: 0;
				left: 0;
			}
			#news_box .single_box .prev_next_list .next {
				position: absolute;
				top: 0;
				right: 0;
			}
			#news_box .single_box .prev_next_list .list_btn {
				position: absolute;
				top: 0;
				left: 50%;
				transform: translateX(-50%);
			}
				#news_box .single_box .prev_next_list li a {
					text-decoration: underline;
				}
				#news_box .single_box .prev_next_list .prev a {
					position: relative;
					padding-left: 18px;
				}
				#news_box .single_box .prev_next_list .next a {
					position: relative;
					padding-right: 18px;
				}
					#news_box .single_box .prev_next_list .prev a:before,
					#news_box .single_box .prev_next_list .next a:after {
						content: "";
						position: absolute;
						background-repeat: no-repeat;
						width: 7px;
						height: 12px;
					}
					#news_box .single_box .prev_next_list .prev a:before {
						top: 2px;
						left: 0;
						background-image: url(../img/pc/arrow_l.svg);
					}
					#news_box .single_box .prev_next_list .next a:after {
						top: 2px;
						right: 0;
						background-image: url(../img/pc/arrow_r.svg);
					}
					#news_box .single_box .prev_next_list li a:hover {
						color: #2789CB;
					}

#news_box .tips_menu li {
	position: relative;
	cursor: pointer;
	transition: .3s;
}
	#news_box .tips_menu li:after {
		content: "";
		position: absolute;
		top: 15px;
		right: 20px;
		background-image: url(../img/pc/arrow_b.svg);
		background-repeat: no-repeat;
		width: 13px;
		height: 10px;
	}
	#news_box .tips_menu li:hover {
		background-color: #2789CB;
		color: #fff;
		transition: .3s;
	}
	#news_box .tips_menu li:hover:after {
		background-image: url(../img/pc/arrow_b_w.svg);
		transition: .3s;
	}
		#news_box .tips_menu li:hover select {
			color: #fff;
			transition: .3s;
		}
			#news_box .tips_menu li:hover select option {
				color: #2789CB;
				transition: .3s;
			}


/*============
  お問い合わせ
============*/
#contact {
	position: relative;
}
/*== #contact_topArea ==*/
#contact_topArea {
	margin-top: 60px;
	margin-bottom: 80px;
}
	#contact_topArea .txt_tips a {
		border-bottom: 1px solid #212121;
	}
		#contact_topArea .txt_tips a:hover {
			color: #2789CB;
			border-bottom: 1px solid #2789CB;
			text-decoration: none;
		}
		
/*== #contact_box ==*/
#contact_box {
	background: #F8F8F8;
	position: relative;
}
	#contact_box:before {
		content: "";
		position: absolute;
		top: -200px;
		left: 50%;
		transform: translateX(-50%);
		background-image: url(../img/pc/contact.svg);
		background-repeat: no-repeat;
		background-size: contain;
		height: 260px;
		max-width: 992px;
		width: 100%;
		z-index: -999;
	}
	#contact_box .form {
		padding-top: 80px;
		padding-bottom: 150px;
		max-width: 640px;
		margin: 0 auto;
	}
		#contact_box .form_step {
			padding-bottom: 60px;
			text-align: center;
		}
		#contact_box .form_step span {
			width: 64px;
			height: 64px;
			border-radius: 64px;
			display: inline-block;
			background-color: #fff;
			line-height: 64px;
			font-size: 14px;
			letter-spacing: 1px;
		}
		#contact_box .form_step span.mark {
			background-color: #2789CB;
			color: #fff;
		}
		#contact_box .form_step span + span {
			margin-left: 65px;
		}
			#contact_box .form_step span:nth-child(1),
			#contact_box .form_step span:nth-child(2) {
				position: relative;
			}
			#contact_box .form_step span:nth-child(1):before,
			#contact_box .form_step span:nth-child(2):before {
				position: absolute;
				content: "";
				top: 27px;
				right: -34px;
				background-image: url(../img/pc/arrow_r_g.svg);
				background-repeat: no-repeat;
				width: 7px;
				height: 12px;
			}
		#contact_box .form .mt_box {
			margin-top: 40px;
		}
		#contact_box .form label {
			font-weight: bold;
		}
		#contact_box .form .required,
		#contact_box .form .any {
			font-size: 12px;
			background-color: #fff;
			padding: 5px 10px;
			margin-right: 10px;
			border-radius: 2px;
		}
		#contact_box .form .required {
			color: #FF387D;
		}
		#contact_box .form .any {
			color: #6E6E6E;
		}
		#contact_box .form .address .yubin_txt {
			color: #2789CB;
			margin-left: 25px;
			padding-bottom: 1px;
			border-bottom: 1px solid #2789CB;
			font-size: 14px;
		}
		#contact_box .form .subject {
			position: relative;
		}
			#contact_box .form .subject:after {
				content: "";
				position: absolute;
				bottom: 21px;
				right: 20px;
				background-image: url(../img/pc/arrow_b.svg);
				background-repeat: no-repeat;
				width: 12px;
				height: 7px;
			}
			#contact_box .form input {
				border-radius: 6px;
				margin-top: 10px;
				height: 48px;
				font-size: 16px;
				padding-left: 15px;
				background-color: #fff;
			}
			#contact_box .form select {
				margin-top: 12px;
				height: 48px;
				padding-left: 12px;
				border-radius: 6px;
				background-color: #fff;
			}
			#contact_box .form textarea {
				margin-top: 12px;
				padding-left: 12px;
				border-radius: 6px;
				background-color: #fff;
			}
				#contact_box .form input.p-postal-code {
					width: 60px;
					padding-left: 12px;
				}
				#contact_box .form input.p-postal-code-02 {
					width: 70px;
					padding-left: 14px;
				}
				#contact_box .form input.p-extended-address,
				#contact_box .form input.p-locality {
					margin-top: 15px;
				}
				#contact_box .form input:focus-visible,
				#contact_box .form select:focus-visible,
				#contact_box .form textarea:focus-visible {
					outline: none;
					/*border: 1px solid #DE0000;*/
					border: 2px solid #ddd;
				}
				#contact_box .form input.wpcf7c-conf,
				#contact_box .form select.wpcf7c-conf,
				#contact_box .form textarea.wpcf7c-conf {
					/*background-color: rgb(232, 240, 254) !important;*/
				}
				#contact_box .form .btn_l {
					max-width: 400px;
					height: auto;
					margin-top: 70px;
				}
					#contact_box .form .btn_l div {
						position: relative;
					}
					#contact_box .form .btn_l .submit {}
					#contact_box .form .btn_l .confirm {}
					#contact_box .form .btn_l .back {
						margin-top: 47px;
						/*background-color: #666;*/
						/*border: none;*/
					}
						#contact_box .form .btn_l input {
							width: 100%;
							height: 60px;
							line-height: 60px;
							border: 1px solid #2789CB;
							border-radius: 50px;
							background-color: #fff;
							text-align: center;
							position: relative;
							max-width: 400px;
							cursor: pointer;
							padding: 0;
							transition: .3s;
							margin-top: 0;
							letter-spacing: 1px;
							font-weight: 600;
						}
							#contact_box .form .btn_l div {
								position: relative;
								transition: .3s;
							}
							#contact_box .form .btn_l div:after {
								content: "";
								position: absolute;
								top: 23px;
								right: 40px;
								background-image: url(../img/pc/arrow_r.svg);
								background-repeat: no-repeat;
								background-size: contain;
								width: 7px;
								height: 12px;
							}
							#contact_box .form .btn_l .back:after {
								background-image: url(../img/pc/arrow_r_w.svg);
							}
								#contact_box .form .btn_l div:hover:after {
									background-image: url(../img/pc/arrow_r_w.svg);
									transition: .3s;
								}
							#contact_box .form .btn_l input[type="button"] {
								-webkit-appearance: none;
								background-color: #666;
								border: none;
								color: #fff;
							}
								#contact_box .form .btn_l input:hover {
									background-color: #2789CB;
									color: #fff;
									transition: .3s;
								}
								#contact_box .form .btn_l .back input:hover {
									background-color: #666;
									/*border: none;*/
									opacity: .8;
								}
	#contact_box .form .wpcf7-not-valid-tip {
		font-size: 12px;
		text-align: right;
	}
	#contact_box .form .wpcf7-not-valid {
	    border: 1px solid #DE0000;
	}

@media (max-width: 320px) {
	#contact_box .form_step span,
	#thanks_box .form_step span {
		width: 50px;
		height: 50px;
		line-height: 50px;
		font-size: 12px;
	}
		#contact_box .form_step span:nth-child(1):before,
		#thanks_box .form_step span:nth-child(1):before,
		#contact_box .form_step span:nth-child(2):before,
		#thanks_box .form_step span:nth-child(2):before {
			top: 19px;
			right: -26px;
		}
}

/*============
  サンクスページ
============*/
/*== #contact_topArea ==*/
#contact_topArea.thanks {
	margin-bottom: 200px;
}
/*== #thanks_box ==*/
#thanks_box {
	padding-top: 90px;
	padding-bottom: 150px;
	background: #F8F8F8;
	position: relative;
}
	#thanks_box:before {
		content: "";
		position: absolute;
		top: -280px;
		left: 50%;
		transform: translateX(-50%);
		background-image: url(../img/pc/contact.png);
		background-repeat: no-repeat;
		background-size: contain;
		height: 415px;
		max-width: 992px;
		width: 51.6667%;
		z-index: -999;
	}
	#thanks_box .form_step {
		padding-bottom: 60px;
		text-align: center;
	}
	#thanks_box .form_step span {
		width: 64px;
		height: 64px;
		border-radius: 64px;
		display: inline-block;
		background-color: #fff;
		line-height: 64px;
		font-size: 14px;
		letter-spacing: 1px;
	}
	#thanks_box .form_step span.mark {
		background-color: #2789CB;
		color: #fff;
	}
	#thanks_box .form_step span + span {
		margin-left: 65px;
	}
		#thanks_box .form_step span:nth-child(1),
		#thanks_box .form_step span:nth-child(2) {
			position: relative;
		}
		#thanks_box .form_step span:nth-child(1):before,
		#thanks_box .form_step span:nth-child(2):before {
			position: absolute;
			content: "";
			top: 27px;
			right: -34px;
			background-image: url(../img/pc/arrow_r_g.svg);
			background-repeat: no-repeat;
			width: 7px;
			height: 12px;
		}

	#thanks_box .txt_box {
		text-align: center;
	}
		#thanks_box .txt_box .txt_01 {
			font-size: 28px;
		}
		#thanks_box .txt_box .txt_02 {
			margin-top: 20px;
		}
		#thanks_box .txt_box .notes{
			margin-top: 20px;
		}
		#thanks_box .txt_box .btn_l {
			margin-top: 80px;
		}