@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}
#content {
	width: 100%;
}
#contents{
	width: 100%;
    padding: 0;
}
.l-main{
	width: 100%;
    padding: 0;
    background-color: #fff;
    overflow: hidden;
}
.l-main * {
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.mv {
	height: 350px;
}
.mv img{
	width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

[class*="contents--"] {
	padding-block: 70px;
}
.contents__inner {
	width: 1140px;
	margin: 0 auto;
}
.contents__title-box {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 30px;
}
.contents__title {
	color: #242424;
	text-align: center;
	font-size: 30px;
	font-weight: 500;
	line-height: 140%;
}
.contents__title span {
	color: #3E8DC8;
	font-size: 30px;
	font-weight: 500;
	line-height: 140%;
}
.contents__subtitle {
	color: #242424;
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	line-height: 150%;
	letter-spacing: 2.8px;
}

/*//////////////////// 飯塚市について ////////////////////*/
.contents--about {
	background-color: #f5f5f5;
}
	.contents--about .contents__title-box {
		margin-bottom: 0;
		align-items: flex-start;
	}
		.contents--about .contents__title,
		.contents--about .contents__subtitle {
			text-align: left;
		}
	.worries__contents {
		display: flex;
		align-items: center;
		gap: 50px;
	}
		.worries__left {
			display: flex;
			flex-direction: column;
			gap: 28px;
			width: 600px;
		}
			.worries__text-box {
				display: flex;
				flex-direction: column;
				gap: 10px;
			}
				.worries__text {
					color: #242424;
					font-size: 16px;
					font-weight: 400;
					line-height: 175%;
					letter-spacing: 0;
					margin: 0;
				}
		.worries__img {
			width: 490px;
			height: 337px;
			flex-shrink: 0;
		}
			.worries__img img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				display: block;
			}

/*////////////////////飯塚市の特色 ////////////////////*/
.contents--feature {
	background-color: #fff;
}
	.feature__list {
		display: flex;
		flex-direction: column;
		gap: 40px;
		list-style: none;
		margin: 0;
		padding: 0;
	}
		.feature__item {
			display: flex;
			align-items: center;
			gap: 50px;
			width: 1140px;
		}
		.feature__item:nth-child(2) {
			flex-direction: row-reverse;
		}
			.feature__img-box {
				display: flex;
				flex-direction: column;
				gap: 10px;
				width: 500px;
				flex-shrink: 0;
			}
				.feature__img {
					width: 500px;
					height: 300px;
				}
					.feature__img img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						display: block;
					}
				.feature__thumb-list {
					display: flex;
					gap: 10px;
					list-style: none;
					margin: 0;
					padding: 0;
				}
					.feature__thumb {
						width: 160px;
						height: 96px;
						flex-shrink: 0;
					}
						.feature__thumb img {
							width: 100%;
							height: 100%;
							object-fit: cover;
							display: block;
						}
			.feature__text-box {
				display: flex;
				flex-direction: column;
				gap: 14px;
				width: 590px;
				position: relative;
			}
				.feature__ttl {
					color: #3E8DC8;
					font-size: 20px;
					font-weight: 500;
					line-height: 150%;
					letter-spacing: 0;
					margin: 0;
				}
				.feature__movie {
					position: absolute;
					top: -22px;
					left: 190px;
					width: 87px;
					height: 67px;
				}
					.feature__movie img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						display: block;
					}
				.feature__line {
					width: 100px;
					height: 1px;
					background-color: #d9d9d9;
				}
				.feature__text {
					color: #242424;
					font-size: 16px;
					font-weight: 400;
					line-height: 175%;
					letter-spacing: 0;
					margin: 0;
				}
				.feature__btn {
					display: flex;
					align-items: center;
					justify-content: center;
					position: relative;
					box-sizing: border-box;
					width: 220px;
					min-height: 45px;
					border: 1px solid #3E8DC8;
					border-radius: 50px;
					background-color: #fff;
					color: #3E8DC8;
					font-size: 16px;
					font-weight: 700;
					line-height: 160%;
					letter-spacing: 0;
					text-align: center;
					text-decoration: none;
				}
					.feature__btn-icon {
						position: absolute;
						top: 16px;
						right: 15px;
						width: 10px;
						height: 10px;
						display: block;
					}
				.feature__btn:hover {
					background-color: #3e8dc8;
					color: #fff;
					opacity: 1;
				}
					.feature__btn:hover .feature__btn-icon {
						filter: brightness(0) invert(1);
					}

/*////////////////////　飯塚市のアクセス　////////////////////*/
.contents--access {
	position: relative;
	padding-block: 70px 140px;
}
	.contents--access .contents__inner {
		position: relative;
		z-index: 1;
	}
		.access__box {
			box-sizing: border-box;
			display: flex;
			flex-direction: column;
			gap: 30px;
			width: 761px;
			min-height: 547px;
			padding: 60px;
			background-color: #eef9ff;
		}
			.contents--access .contents__title-box {
				margin-bottom: 0;
				align-items: flex-start;
			}
				.contents--access .contents__title,
				.contents--access .contents__subtitle {
					text-align: left;
				}
			.access__text-box {
				display: flex;
				flex-direction: column;
				gap: 10px;
				width: 641px;
			}
				.access__text {
					color: #242424;
					font-size: 16px;
					font-weight: 400;
					line-height: 175%;
					letter-spacing: 0;
					margin: 0;
				}
	.access__img {
		position: absolute;
		top: 0;
		right: -8px;
		width: 829px;
		height: 547px;
	}
		.access__img img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: bottom;
			display: block;
		}

/*//////////////////// 飯塚市在住の方の声 ////////////////////*/

.contents--voice {
	background-color: #f5f5f5;
}
	.voice__list {
		display: flex;
		align-items: stretch;
		gap: 40px;
		margin: 0;
		padding: 0;
		list-style: none;
	}
		.voice__item {
			box-sizing: border-box;
			display: flex;
			flex-direction: column;
			gap: 12px;
			width: 550px;
			min-height: 310px;
			padding: 20px 30px;
			background-color: #fff;
		}
			.voice__ttl-box {
				display: flex;
				align-items: center;
				gap: 20px;
			}
				.voice__icon {
					width: 80px;
					height: 80px;
					flex-shrink: 0;
				}
					.voice__icon img {
						width: 100%;
						height: 100%;
						display: block;
					}
				.voice__ttl {
					margin: 0;
					color: #242424;
					font-size: 20px;
					font-weight: 500;
					line-height: 150%;
					letter-spacing: 0;
				}
			.voice__text {
				width: 490px;
				margin: 0;
				color: #242424;
				font-size: 16px;
				font-weight: 400;
				line-height: 175%;
				letter-spacing: 0;
			}
				.voice__link {
					color: #3e8dc8;
					text-decoration: underline;
				}

/*//////////////////// まとめ  ////////////////////*/
.contents--summary {
	background-image: url('../images/bg_summary.webp');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
	.contents--summary .contents__title,
	.contents--summary .contents__subtitle {
		color: #fff;
	}
	.summary__box {
		display: flex;
		flex-direction: column;
		gap: 16px;
		width: 1140px;
	}
		.summary__ttl {
			color: #fff;
			font-size: 20px;
			font-weight: 500;
			line-height: 150%;
			letter-spacing: 0;
			text-align: center;
			margin: 0;
		}
		.summary__text {
			color: #fff;
			font-size: 16px;
			font-weight: 400;
			line-height: 175%;
			letter-spacing: 0;
			text-align: center;
			margin: 0;
		}

/*//////////////////// Rent ////////////////////*/
.contents--rent {
	background-color: #fff;
}
	.contents--rent .contents__title-box {
		margin-bottom: 30px;
	}
	.rent__slider {
		width: 1140px;
		margin: 0 auto;
	}
		.rent__list {
			margin: 0;
			padding: 0;
		}
			.rent__item {
				box-sizing: border-box;
				width: 267px;
				height: 327px;
				border: 1px solid #d9d9d9;
				background-color: #fff;
			}
				.rent__item a {
					display: flex;
					flex-direction: column;
					align-items: center;
					gap: 8px;
					height: 100%;
					text-decoration: none;
					color: inherit;
				}
				.rent__img {
					position: relative;
					width: 266px;
					height: 200px;
					overflow: hidden;
				}
					.rent__img img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						display: block;
					}
					.rent__item a:hover .rent__img img {
						transform: scale(1.08);
						transition: 0.4s;
					}
					.rent__favorite {
						position: absolute;
						top: 7px;
						right: 7px;
						width: 44px;
						height: 44px;
						padding: 0;
						border: none;
						background: url(../images/icon_favorite.webp) no-repeat center / cover;
						cursor: pointer;
					}
					.rent__favorite.is-checked {
						background-image: url(../images/icon_favorite_on.webp);
					}
					.rent__new {
						position: absolute;
						top: 5px;
						left: 5px;
						display: flex;
						align-items: center;
						justify-content: center;
						width: 54px;
						height: 27px;
						margin: 0;
						background-color: #fff;
						color: #3e8dc8;
						font-size: 16px;
						font-weight: 700;
						line-height: 1;
					}
				.rent__body {
					box-sizing: border-box;
					width: 238px;
				}
					.rent__ttl {
						overflow: hidden;
						margin: 0;
						color: #242424;
						font-size: 16px;
						font-weight: 700;
						line-height: 160%;
						letter-spacing: 0;
						white-space: nowrap;
						text-overflow: ellipsis;
					}
					.rent__info {
						display: flex;
						align-items: flex-end;
						gap: 16px;
					}
						.rent__price {
							margin: 0;
							color: #242424;
							font-size: 14px;
							font-weight: 700;
							line-height: 150%;
							letter-spacing: 0;
							white-space: nowrap;
						}
							.rent__price .price {
								margin-right: 5px;
								color: #e80a02;
								font-size: 26px;
								font-weight: 500;
								line-height: 1;
							}
						.rent__madori {
							margin: 0;
							color: #242424;
							font-size: 14px;
							font-weight: 700;
							line-height: 150%;
							letter-spacing: 0;
							white-space: nowrap;
						}
					.rent__address,
					.rent__traffic {
						overflow: hidden;
						margin: 0;
						color: #242424;
						font-size: 14px;
						font-weight: 400;
						line-height: 150%;
						letter-spacing: 0;
						white-space: nowrap;
						text-overflow: ellipsis;
					}
					.rent__address {
						margin-top: 2px;
					}
	.rent__pager {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14px;
		margin-top: 23px;
	}
		.contents--rent .swiper-button-prev,
		.contents--rent .swiper-button-next {
			position: static;
			width: 30px;
			height: 30px;
			margin: 0;
			z-index: 1;
		}
		.contents--rent .swiper-button-prev::after,
		.contents--rent .swiper-button-next::after {
			content: "";
			width: 30px;
			height: 30px;
			background: url(../images/icon_swiper_arrow.webp) no-repeat center / cover;
		}
		.contents--rent .swiper-button-prev::after {
			transform: rotate(180deg);
		}
		.contents--rent .swiper-pagination {
			position: static;
			width: auto;
			z-index: 1;
		}
		.contents--rent .swiper-pagination-bullet {
			width: 8px;
			height: 8px;
			margin: 0 6px !important;;
			background-color: #cbcbcb;
			opacity: 1;
		}
		.contents--rent .swiper-pagination-bullet-active {
			background-color: #3e8dc8;
		}
	.rent__btn {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 220px;
		height: 45px;
		margin: 20px auto 0;
		border: 1px solid #3e8dc8;
		border-radius: 50px;
		background-color: #3e8dc8;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		line-height: 160%;
		letter-spacing: 0;
		text-align: center;
		text-decoration: none;
	}
		.rent__btn::after {
			content: "";
			position: absolute;
			top: 18px;
			right: 14px;
			width: 6px;
			height: 6px;
			border-top: 1px solid #fff;
			border-right: 1px solid #fff;
			transform: rotate(45deg);
		}
	.rent__btn:hover {
		background-color: #fff;
		color: #3e8dc8;
		opacity: 1;
	}
		.rent__btn:hover::after {
			border-color: #3e8dc8;
		}
	.rent__slider.is-no-swiper .rent__list {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		gap: 20px;
	}
	.rent__slider.is-no-swiper .rent__pager {
		display: none;
	}

/* お問い合わせ	 */
.section__wrapper--contact {
	padding-block: 70px;
    background-color: #3E8DC8;
}
.section__wrapper--contact .contents__title,
.section__wrapper--contact .contents__subtitle {
	color: #FFF;
}
.contact__box{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 11px;
	margin-top: 29px;
}
.section__wrapper--contact .contact__item--tel{
	width: 357px;
	padding: 17px 0 17px;
	background-color: transparent;
	border: 1px solid #fff;
}
.tel__number{
	position: relative;
	font-size: 46px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	padding-left: 38px;
}
.tel__number::before{
	position: absolute;
	content: "";
	background: url(../images/contact_tel.webp) no-repeat center / cover;
	width: 35px;
	height: 36px;
	top: 21px;
	left: 22px;
}
.detail__box{
	text-align: center;
}
[class*="detail__txt--"]{
	font-size: 14px;
	color: #fff;
}
[class*="contact__item--"]{
	width: 250px;
	background-color: #fff;
	padding: 20px;
}
[class*="contact__img--"]{
	width: 62px;
	margin: 0 auto;
}
.contact__img--mail{
	width: 58px;
}
[class*="contact__img--"] img{
	width: 100%;
}
.contact__btn{
	margin-top: 16px;
}
.contact__item--mail .contact__btn{
	margin-top: 19px;
}
[class*="btn__basic--"]{
	position: relative;
	width: 210px;
	height: 50px;
	background-color: #DC3E60;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	color: #fff;
}

.btn__basic--line{
	background-color: #48C330;
}

.btn__basic--mail{
	background-color: #3C56AD;
}

[class*="btn__basic--"]::before,
[class*="btn__basic--"]::after{
	position: absolute;
	content: "";
	background-color: #fff;
	width: 2px;
	height: 9px;
	transform: rotate(45deg);
	top: 24px;
	right: 16px;
}

.section__wrapper--contact [class*="btn__basic--"]::after{
	transform: rotate(-45deg);
	top: 19px;
	right: 16px;
}

[class*="btn__basic--"]:hover{
	background-color: #fff;
	color: #DC3E60;
	border: 1px solid #DC3E60;
	opacity: 1;
}

.btn__basic--line:hover{
	color: #48C330;
	border: 1px solid #48C330;
}

.btn__basic--mail:hover{
	color: #3C56AD;
	border: 1px solid #3C56AD;
}

[class*="btn__basic--"]:hover::before,
[class*="btn__basic--"]:hover::after{
	background-color: #DC3E60;
	opacity: 1;
}

.btn__basic--line:hover::before,
.btn__basic--line:hover::after{
	background-color: #48C330;
}

.btn__basic--mail:hover::before,
.btn__basic--mail:hover::after{
	background-color: #3C56AD;
}
