@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

@font-face {
	font-family: 'Noto Sans JP';
	src: url(/fonts/NotoSansJP-Medium.ttf);
	font-weight: 500;
	font-display: swap;
}
@font-face {
	font-family: 'Noto Sans JP';
	src: url(/fonts/NotoSansJP-Bold.ttf);
	font-weight: 700;
	font-display: swap;
}
@font-face {
	font-family: 'Zen Maru Gothic';
	src: url(/fonts/ZenMaruGothic-Bold.ttf);
	font-weight: 700;
	font-display: swap;
}

/* =====================================
リセット
==================================== */
.l-main *{
	font-family: "Noto Sans JP", sans-serif;
}
.l-main figure{
	margin: 0;
}
.l-main figure img{
	display: block;
}

.l-main{
	width: auto;
	padding: 0;
	background-color: #fff;
	overflow: hidden;
}

#contents{
	width: auto;
	padding: 0;
}

/* =====================================
共通
==================================== */

[class*="section__wrapper--"]{
	padding-block: 92px;
}

[class*="section__inner--"]{
	width: 1140px;
	margin: auto;
}

[class*="ttl__box--"]{
	text-align: center;
}

[class*="section__ttl--"]{
	color: #333;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 42px;
	font-weight: 700;
	line-height: 1.5;
}

[class*="section__sub-ttl--"]{
	color: #EB8030;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
}

.l-main a:hover,
.l-main button:hover{
	opacity: 1;
}

.main__img{
	width: 100%;
	height: 100%;
	margin: 0 auto;
}

.main__img img{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* =====================================
Cta
==================================== */
.cta__list{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 22px;
}
	[class*="cta__btn--"]{
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		gap: 10px;
		position: relative;
		width: 450px;
		height: 120px;
		padding: 10px 25px 10px 5px;
		border: 1px solid #fff;
		border-radius: 15px;
		text-decoration: none;
		transition: .4s;
	}
	.cta__btn--appraisal{
		background-color: #EB8030;
	}
	.cta__btn--consultation{
		background-color: #1EA6D0;
	}
	[class*="cta__btn--"]:hover{
		background-color: #fff;
		opacity: 1;
	}
	.cta__btn--appraisal:hover{
		border-color: #EB8030;
	}
	.cta__btn--consultation:hover{
		border-color: #1EA6D0;
	}
		.cta__icon{
			width: 52px;
			height: 52px;
			background-color: #fff;
			-webkit-mask-size: contain;
			mask-size: contain;
			-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
			-webkit-mask-position: center;
			mask-position: center;
			transition: background-color .4s;
		}
		.cta__btn--appraisal .cta__icon{
			-webkit-mask-image: url(../images/icon_satei.svg);
			mask-image: url(../images/icon_satei.svg);
		}
		.cta__btn--consultation .cta__icon{
			-webkit-mask-image: url(../images/icon_contact.svg);
			mask-image: url(../images/icon_contact.svg);
		}
		.cta__icon img{
			width: 100%;
			height: 100%;
			opacity: 0;
		}
		.cta__txt{
			color: #fff;
			font-family: "Noto Sans JP", sans-serif;
			font-size: 30px;
			font-weight: 700;
			line-height: 1.4;
			letter-spacing: 0;
			white-space: nowrap;
			transition: color .4s;
		}
		.cta__arrow{
			display: block;
			position: absolute;
			top: 50%;
			right: 24px;
			width: 23px;
			height: 23px;
			background-color: #fff;
			-webkit-mask-image: url(../images/icon_arrow.svg);
			mask-image: url(../images/icon_arrow.svg);
			-webkit-mask-size: contain;
			mask-size: contain;
			-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
			-webkit-mask-position: center;
			mask-position: center;
			transform: translateY(-50%);
			transition: background-color .4s;
		}
		.cta__arrow img{
			width: 100%;
			height: 100%;
			opacity: 0;
		}
		.cta__btn--appraisal:hover .cta__txt{
			color: #EB8030;
		}
		.cta__btn--appraisal:hover .cta__icon,
		.cta__btn--appraisal:hover .cta__arrow{
			background-color: #EB8030;
		}
		.cta__btn--consultation:hover .cta__txt{
			color: #1EA6D0;
		}
		.cta__btn--consultation:hover .cta__icon,
		.cta__btn--consultation:hover .cta__arrow{
			background-color: #1EA6D0;
		}

/* =====================================
Worries
==================================== */
.section__wrapper--worries,
.section__wrapper--customer,
.section__wrapper--faq{
	background-color: #FFF5EE;
}
	.section__inner--worries{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 40px;
	}
		.section__sub-ttl--worries{
			margin-bottom: -3px;
		}
		.worry__content{
			display: flex;
			flex-direction: column;
			align-items: center;
		}
			.worry__box{
				box-sizing: border-box;
				width: 1290px;
				padding: 50px 75px;
				background-color: #fff;
				border-radius: 20px;
			}
				.worry__canvas{
					position: relative;
					width: 1140px;
					height: 499px;
					overflow: hidden;
				}
					[class*="worry__item--"]{
						position: absolute;
					}
					.worry__item--01{
						top: 268px;
						left: 0;
					}
					.worry__item--02{
						top: 58px;
						left: 183px;
					}
					.worry__item--03{
						top: 58px;
						left: 737px;
					}
					.worry__item--04{
						top: 0;
						left: 460px;
					}
					.worry__item--05{
						top: 268px;
						left: 875px;
					}
						.worry__img{
							display: block;
						}
						.worry__txt{
							display: flex;
							align-items: center;
							justify-content: center;
							position: absolute;
							top: 0;
							left: 0;
							width: 220px;
							height: 220px;
							color: #333;
							font-size: 18px;
							font-weight: 500;
							line-height: 1.5;
							text-align: center;
						}
						.worry__item--05 .worry__txt{
							left: 45px;
						}
					.worry__illust{
						position: absolute;
						top: 245px;
						left: 390px;
						width: 362px;
						height: 254px;
						z-index: 1;
					}
			.worry__tail{
				width: 0;
				height: 0;
				border-top: 42px solid #fff;
				border-right: 50px solid transparent;
				border-left: 50px solid transparent;
			}
		.worry__callout{
			position: relative;
			width: 630px;
			text-align: center;
		}
			.worry__callout-deco{
				position: absolute;
				top: -4px;
				left: 243px;
				width: 98px;
				height: 98px;
			}
			.worry__callout-sub,
			.worry__callout-main{
				position: relative;
				color: #333;
				font-weight: 700;
				line-height: 1.7;
			}
			.worry__callout-sub{
				font-size: 42px;
				letter-spacing: 2.1px;
			}
				.worry__callout-em{
					color: #F24C05;
				}
				.worry__callout-em--lg{
					color: #F24C05;
					font-size: 52px;
					letter-spacing: 2.6px;
				}
			.worry__callout-main{
				font-size: 42px;
			}

/* =====================================
Reason
==================================== */
.section__inner--reason{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
	.section__sub-ttl--reason{
		margin-bottom: -3px;
	}
	.reason__list{
		display: flex;
		flex-direction: column;
		gap: 10px;
		width: 100%;
	}
		[class*="reason__item--"]{
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 40px;
			position: relative;
			width: 100%;
		}
		.reason__item--02{
			flex-direction: row-reverse;
		}
			.reason__deco{
				position: absolute;
				top: -63px;
				left: -66px;
				width: 172px;
				height: 172px;
			}
			.reason__item--02 .reason__deco{
				left: auto;
				right: -66px;
			}
			.reason__img{
				position: relative;
				z-index: 1;
				width: 390px;
				height: 293px;
				border-radius: 10px;
				overflow: hidden;
			}
			.reason__img img{
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
			.reason__body{
				display: flex;
				flex-direction: column;
				gap: 15px;
				width: 710px;
			}
				.reason__ttl{
					color: #333;
					font-size: 20px;
					font-weight: 700;
					line-height: 1.5;
				}
					.reason__ttl-em{
						color: #EB8030;
					}
				.reason__txt{
					color: #333;
					font-size: 16px;
					font-weight: 500;
					line-height: 1.7;
				}
	.reason__note{
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;
		width: 100%;
		padding: 60px 90px;
		background-color: #FFF5EE;
		border-radius: 20px;
	}
		.reason__note-ttl{
			color: #EB8030;
			font-size: 20px;
			font-weight: 700;
			line-height: 1.5;
			white-space: nowrap;
		}
		.reason__note-txt{
			color: #333;
			font-size: 16px;
			font-weight: 500;
			line-height: 1.7;
		}

/* =====================================
Customer
==================================== */
	.section__inner--customer,
	.section__inner--achievement{
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 40px;
	}
		.section__sub-ttl--customer,
		.section__sub-ttl--achievement,
		.section__sub-ttl--faq{
			margin-bottom: -3px;
		}
		.customer__content,
		.achievement__content{
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 30px;
			width: 100%;
			overflow: hidden;
		}
			.customer__slider{
				width: 697px;
				max-width: calc(100% - 40px);
				min-width: 0;
				margin: 0 auto;
				overflow: visible;
			}
			.achievement__slider{
				width: 100%;
				max-width: 100%;
				min-width: 0;
				margin: 0 auto;
				overflow: hidden;
			}
			.customer__list,
			.achievement__list{
				box-sizing: border-box;
				margin: 0;
				padding: 0;
				list-style: none;
			}
				.customer__item{
					box-sizing: border-box;
					display: flex;
					align-items: stretch;
					flex-shrink: 0;
					width: 100%;
					height: 250px;
					padding: 0;
					background-color: #fff;
					border-radius: 10px;
					transition: .4s;
				}
				.customer__item a{
					box-sizing: border-box;
					display: flex;
					align-items: center;
					gap: 30px;
					width: 100%;
					height: 100%;
					padding: 30px;
					text-decoration: none;
					transition: .4s;
				}
					.customer__info{
						display: flex;
						flex-direction: column;
						align-items: center;
						gap: 10px;
						flex-shrink: 0;
					}
						.customer__img{
							width: 160px;
							height: 160px;
							border-radius: 50%;
							overflow: hidden;
						}
						.customer__img img{
							width: 100%;
							height: 100%;
							object-fit: cover;
							transition: .4s;
						}
						.customer__item a:hover .customer__img img{
							transform: scale(1.05);
						}
						.customer__name{
							display: flex;
							align-items: flex-end;
							justify-content: center;
							gap: 6px;
							color: #103578;
							white-space: nowrap;
							font-size: 18px;
							font-weight: 500;
							line-height: 1.1;
						}
					.customer__comment{
						overflow: hidden;
						display: -webkit-box;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 7;
						flex: 1;
						min-width: 0;
						color: #333;
						font-size: 16px;
						font-weight: 500;
						line-height: 1.7;
					}
			[class*="__pager"]{
				display: flex;
				align-items: center;
				gap: 30px;
			}
				.js-swiper-prev,
				.js-swiper-next{
					display: flex;
					align-items: center;
					justify-content: center;
					width: 45px;
					height: 45px;
					padding: 0;
					border: 1px solid #EB8030;
					border-radius: 50%;
					background-color: #fff;
					cursor: pointer;
					flex-shrink: 0;
					transition: .4s;
				}
				.js-swiper-prev img,
				.js-swiper-next img{
					transition: .4s;
				}
				.js-swiper-prev:hover,
				.js-swiper-next:hover{
					background-color: #EB8030;
					opacity: 1;
				}
				.js-swiper-prev:hover img,
				.js-swiper-next:hover img{
					filter: brightness(0) invert(1);
				}
				.js-swiper-next img{
					transform: rotate(180deg);
				}
				.js-swiper-pagination{
					display: flex;
					align-items: center;
					gap: 10px;
					width: fit-content;
				}
					.js-swiper-pagination .swiper-pagination-bullet{
						width: 35px;
						height: 4px;
						margin: 0!important;
						border-radius: 4px;
						background-color: #E1E1E1;
						opacity: 1;
					}
					.js-swiper-pagination .swiper-pagination-bullet-active{
						background-color: #EB8030;
					}
			[class*="__more-btn"]{
				display: flex;
				align-items: center;
				justify-content: center;
				position: relative;
				width: 230px;
				height: 50px;
				border: 1px solid #EB8030;
				border-radius: 25px;
				background-color: #EB8030;
				color: #fff;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.7;
				text-decoration: none;
				transition: .4s;
			}
			[class*="__more-btn"]:hover{
				background-color: #fff;
				color: #EB8030;
				opacity: 1;
			}
				[class*="__more-arrow"]{
					display: block;
					position: absolute;
					top: 50%;
					right: 20px;
					width: 10px;
					height: 10px;
					background-color: #fff;
					-webkit-mask-image: url(../images/icon_arrow.svg);
					mask-image: url(../images/icon_arrow.svg);
					-webkit-mask-size: contain;
					mask-size: contain;
					-webkit-mask-repeat: no-repeat;
					mask-repeat: no-repeat;
					-webkit-mask-position: center;
					mask-position: center;
					transform: translateY(-50%);
					transition: background-color .4s;
				}
				[class*="__more-arrow"] img{
					width: 100%;
					height: 100%;
					opacity: 0;
				}
				[class*="__more-btn"]:hover [class*="__more-arrow"]{
					background-color: #EB8030;
				}

/* =====================================
Achievement
==================================== */
.achievement__item{
	width: 264px;
	height: 302px;
	flex-shrink: 0;
}
	.achievement__link{
		display: flex;
		flex-direction: column;
		text-decoration: none;
		transition: .4s;
		min-height: 302px;
	}
		.l-main .achievement__img{
			width: 264px;
			height: 181px;
			margin-bottom: 7px;
			border-radius: 10px;
			overflow: hidden;
		}
		.achievement__img img{
			width: 100%;
			height: 100%;
			object-fit: contain;
			background-color: #f5f5f5;
			transition: .4s;
		}
		.achievement__link:hover .achievement__img img{
			transform: scale(1.05);
		}
		.achievement__ttl{
			overflow: hidden;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			margin-bottom: 4px;
			color: #B14619;
			font-size: 16px;
			font-weight: 500;
			line-height: 1.5;
		}
		.achievement__txt{
			overflow: hidden;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			color: #333;
			font-size: 14px;
			font-weight: 400;
			line-height: 1.5;
		}
		.achievement__date{
			margin-top: 4px;
			color: #EB8030;
			font-size: 14px;
			font-weight: 400;
			line-height: 1.5;
			text-align: right;
		}

/* =====================================
Faq
==================================== */
.section__inner--faq{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 38px;
}
	.faq__list{
		display: flex;
		flex-direction: column;
		gap: 20px;
		width: 100%;
		margin: 0;
	}
		.faq__item{
			box-sizing: border-box;
			display: flex;
			flex-direction: column;
			gap: 5px;
			width: 100%;
			padding: 30px;
			background-color: #fff;
			border-radius: 20px;
		}
			.faq__q,
			.faq__a{
				display: flex;
				gap: 10px;
			}
			.faq__q{
				align-items: center;
			}
			.faq__a{
				align-items: flex-start;
				margin: 0;
			}
				[class*="faq__label--"]{
					box-sizing: border-box;
					display: flex;
					align-items: center;
					justify-content: center;
					flex-shrink: 0;
					width: 43px;
					height: 43px;
					border-radius: 5px;
					font-size: 20px;
					font-weight: 700;
					line-height: 1.5;
				}
				.faq__label--q{
					background-color: #EB8030;
					color: #fff;
					padding-top: 5px;
					align-items: flex-start;
				}
				.faq__label--a{
					margin-top: 10px;
					border: 2px solid #EB8030;
					background-color: #fff;
					color: #EB8030;
				}
				.faq__q-txt{
					color: #333;
					font-size: 20px;
					font-weight: 700;
					line-height: 1.5;
				}
				.faq__a-txt{
					padding-top: 13px;
					color: #333;
					font-size: 16px;
					font-weight: 500;
					line-height: 1.7;
				}

/* =====================================
Contact
==================================== */
.cnt__wrap--contact{
	padding-top: 92px;
	padding-bottom: 90px;
}
	.cnt__inner--contact{
		width: 1290px;
		margin: 0 auto;
		padding: 92px 0;
		border-radius: 20px;
		background: #0D6FB8;
	}
		.cnt__ttl--contact,
		.cnt__ttl--contact span{
			color: #fff;
			text-align: center;
		}
		.cnt__ttl--contact{
			font-family: "Zen Maru Gothic", sans-serif;
			font-size: 42px;
			font-weight: 700;
			line-height: 1.5;
		}
		.cnt__ttl--contact span{
			display: block;
			font-family: "Noto Sans JP", sans-serif;
			font-size: 16px;
			font-weight: 500;
			line-height: 1.7;
			margin-bottom: -3px;
		}
			.contact__list{
				display: flex;
				justify-content: center;
				gap: 22px;
				margin-top: 40px;
			}
				[class*="contact__item"]{
					box-sizing: border-box;
					position: relative;
					width: 342px;
					height: 211px;
					padding-top: 90px;
					border-radius: 8px;
					background: #fff;
				}
				[class*="contact__item"]::before{
					content: "";
					width: 40px;
					height: 40px;
					position: absolute;
					top: 30px;
					left: 0;
					right: 0;
					margin: 0 auto;
				}
				.contact__item--tel::before{
					background: url(/images/top/contact_tel-icn.svg) no-repeat center / contain;
				}
				.contact__item--line::before{
					background: url(/images/top/contact_line-icn.svg) no-repeat center / contain;
				}
				.contact__item--mail::before{
					background: url(/images/top/contact_mail-icn.svg) no-repeat center / contain;
				}
					.tel__num{
						color: #333;
						font-size: 36px;
						font-weight: 700;
						line-height: 1.4;
						text-align: center;
					}
					.company__time{
						display: flex;
						justify-content: center;
						flex-wrap: wrap;
						gap: 0 14px;
						margin-top: 9px;
					}
						.company__time-item{
							color: #333;
							font-size: 14px;
							font-weight: 400;
						}
					.contact__txt{
						color: #333;
						font-size: 18px;
						font-weight: 500;
						text-align: center;
					}
					.contact__bt{
						margin-top: 14px;
					}
					[class*="contact__bt-link"]{
						display: flex;
						align-items: center;
						justify-content: center;
						position: relative;
						width: 230px;
						height: 50px;
						margin: 0 auto;
						border-radius: 25px;
						color: #fff;
						font-size: 16px;
						font-weight: 500;
						line-height: 1.7;
						text-decoration: none;
					}
					.contact__bt-link--line{
						background: #0FA24B;
					}
					.contact__bt-link--mail{
						background: #1EA6D0;
					}
					[class*="contact__bt-link"]::after{
						content: "";
						position: absolute;
						top: 0;
						right: 18px;
						bottom: 0;
						width: 11px;
						height: 8px;
						margin: auto;
						background: url(/images/top/arrow_w.svg) no-repeat center / contain;
					}

