@charset "utf-8";

.l__main {
	background: #fff;
}

.bg__gray {
	background: #F7F7F7;
	padding: 78px 0;
}
.contents__inner {
	width: 1140px;
	margin: 0 auto;
}
	.cnt__ttl {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		font-size: 40px;
		font-weight: bold;
		letter-spacing: 0.1em;
		position: relative;
	}
	.cnt__ttl span {
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 0.1em;
		color: #E27EA4;
		font-family: "Acme", sans-serif;
	}

.mv__text {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background: #fff;
    padding: 25px 0 19px;
    letter-spacing: 0.06em;
}
	.mv__text span {
		margin: -4px 20px 0 20px;
	}
.mv__img {
	display: flex;
    justify-content: center;
    align-items: center;
	overflow: hidden;
}
	.mv__img img {
		max-width: unset;
	}

.search__contents {
    padding: 59px 0 0;
}
	.search__wrap {
		display: flex;
		justify-content: space-between;
		margin-bottom: 49px;
	}
		.search__left {
			width: 570px;
		}
			.map__ttl {
				font-size: 30px;
				font-weight: bold;
				margin: 16px 0 18px 0;
				padding-left: 31px;
				position: relative;
			}
				.map__ttl::before {
					content: '';
					background: url(/images/top/img_areaclick.png) no-repeat center;
					background-size: contain;
					display: block;
					width: 16px;
					height: 32px;
					position: absolute;
					top: 4px;
					left: 8px;
				}
			.map__area:hover {
				opacity: 1;
			}
			.map__area:hover path {
				fill: #468A15;
			}
			.map__wrap text {
				pointer-events: none;
			}
		.search__right {
			width: 520px;
		}
			.bkn__num {
				font-size: 25px;
				font-weight: bold;
				display: flex;
				justify-content: flex-end;
				align-items: baseline;
				margin-bottom: 19px;
			}
				.bkn__num span {
					font-size: 40px;
					font-weight: bold;
					color: #F58DB4;
					margin-left: 15px;
				}
			.line__search {
				border: 1px solid #DDDDDD;
				border-radius: 10px;
				padding: 18px 30px 50px;
			}
				.line__ttl {
					font-size: 25px;
					font-weight: bold;
					padding-left: 34px;
					margin-bottom: 18px;
					position: relative;
				}
					.line__ttl::before {
						content: '';
						background: url(/images/top/icon_line-search.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 22px;
						height: 31px;
						position: absolute;
						top: 3px;
						left: -1px;
					}
				.line__list {
					display: flex;
					justify-content: space-between;
				}
					.line__name {
						display: flex;
						justify-content: flex-start;
						align-items: center;
						width: 140px;
						height: 39px;
						background: #F7F7F7;
						border-radius: 3px;
						font-size: 20px;
						font-weight: bold;
						color: #333333;
						padding: 0 0 0 20px;
						margin-bottom: 12px;
						box-sizing: border-box;
					}
					.line__text:not(:last-of-type) {
						margin-bottom: 8px;
					}
					.line__text a {
						font-size: 16px;
						margin-left: 17px;
						position: relative;
						display: flex;
						justify-content: flex-start;
						align-items: center;
						width: 107px;
					}
						.line__text a::before {
							content: '';
							background: url(/images/top/img_line-arrow.png) no-repeat center;
							background-size: contain;
							display: block;
							width: 7px;
							height: 14px;
							position: absolute;
							top: 6px;
							right: 1px;
						}
				.market__link,
				.school__link {
					display: flex;
					justify-content: flex-start;
					align-items: center;
					width: 520px;
					height: 82px;
					border: 1px solid #DDDDDD;
					border-radius: 10px;
					font-size: 25px;
					font-weight: bold;
					padding-left: 64px;
					margin-top: 20px;
					position: relative;
				}
					.market__link::before {
						content: '';
						background: url(/images/top/img_market-icon.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 22px;
						height: 31px;
						position: absolute;
						top: 24px;
						left: 29px;
					}
					.market__link::after {
						content: '';
						background: url(/images/top/img_market-arrow.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 17px;
						height: 9px;
						position: absolute;
						top: 36px;
						right: 24px;
					}
					.school__link::before {
						content: '';
						background: url(/images/top/img_school-icon.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 22px;
						height: 30px;
						position: absolute;
						top: 23px;
						left: 28px;
					}
					.school__link::after {
						content: '';
						background: url(/images/top/img_school-arrow.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 9px;
						height: 17px;
						position: absolute;
						top: 31px;
						right: 28px;
					}
	.business__wrap {
		position: relative;
		background: #F7F7F7;
		padding: 40px 0;
		width: 1140px;
		margin: 49px auto;	
	}
		.business__wrap::before {
			content: '';
			background-image: linear-gradient(90deg, rgba(243, 114, 163, 1), rgba(245, 208, 85, 1));
			display: block;
			width: 100%;
			height: 4px;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
		}
		.business__text {
			font-size: 30px;
			font-weight: bold;
			text-align: center;
			letter-spacing: 0.06em;
			margin-bottom: 25px;
		}
			.business__text span {
				color: #F58DB4;
				font-size: 30px;
				font-weight: bold;
			}
		.business__link-wrap {
			display: flex;
			justify-content: center;
			align-items: center;
		}
			[class*="business__btn"] {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				width: 455px;
				height: 72px;
				font-size: 20px;
				font-weight: bold;
				color: #fff;
				border-radius: 40px;
				position: relative;
			}
				[class*="business__btn"]::after {
					content: '';
					background: url(/images/top/icon_business-arrow.png) no-repeat center;
					background-size: contain;
					display: block;
					width: 35px;
					height: 35px;
					position: absolute;
					top: 18px;
					right: 20px;
				}
			.business__btn--left {
				background-image: linear-gradient(90deg, rgba(255, 146, 187, 1), rgba(235, 64, 129, 1));
				margin-right: 30px;
				padding-left: 135px;
			}
				.business__btn--left::before {
					content: '';
					background: url(/images/top/icon_business-shop.png) no-repeat center;
					background-size: contain;
					display: block;
					width: 25px;
					height: 20px;
					position: absolute;
					top: 28px;
					left: 100px;
				}
			.business__btn--right {
				background: #F2B749;
				padding-left: 123px;
			}
				.business__btn--right::before {
					content: '';
					background: url(/images/top/icon_business-mail.png) no-repeat center;
					background-size: contain;
					display: block;
					width: 25px;
					height: 20px;
					position: absolute;
					top: 28px;
					left: 90px;
				}

.kodawari__contents {
    padding: 78px 0 0;
}
	.kodawari__ttl::before {
		content: '';
		background: url(/images/top/bg_search.png) no-repeat center;
		background-size: contain;
		display: block;
		width: 154px;
		height: 50px;
		position: absolute;
		top: -13px;
		left: 296px;
	}
	.kodawari__list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 31px 0;
		margin-top: 39px;
	}
		.kodawari__text {
			font-size: 20px;
			font-weight: 500;
			margin-top: 5px;
			text-align: center;
		}

.news__contents {
	padding: 78px 0 0;
}
	.news__ttl::before {
		content: '';
		background: url(/images/top/bg_news.png) no-repeat center;
		background-size: contain;
		display: block;
		width: 135px;
		height: 51px;
		position: absolute;
		top: -13px;
		left: 384px;
	}
	.news__wrap {
		margin: 40px 0 0;
		max-height: 301px;
	}
		.news__box {
			background: #fff;
			border-radius: 10px;
			display: flex;
			justify-content: flex-start;
			align-items: center;
			padding: 28px 70px 32px 30px;
			width: 1110px;
		}
		.news__box:not(:last-of-type) {
			margin-bottom: 10px;
		}
			.news__day {
				font-size: 16px;
				color: #E27EA4;
				margin-right: 20px;
			}
			.news__text {
				font-size: 16px;
				border-left: 1px solid #E3E3E3;
				padding: 1px 0 1px 20px;
				line-height: 1.67;
			}
			.simplebar-track.simplebar-vertical {
				width: 6px;
				background: #E5E5E5;
				border-radius: 10px;
			}
			.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
				background: #E27EA4;
				border-radius: 10px;
				top: 0;
    			bottom: 0;
				left: 0;
				right: 0;
			}

.market__contents {
	padding: 78px 0;
}
	#link__market {
		padding-top: 140px;
		margin-top: -140px;
	}
	.market__ttl::before {
		content: '';
		background: url(/images/top/bg_market.png) no-repeat center;
		background-size: contain;
		display: block;
		width: 154px;
		height: 64px;
		position: absolute;
		top: -17px;
		left: 346px;
	}
	.market__wrap {
		width: 100%;
		border: 1px solid #DDDDDD;
		border-collapse: collapse;
		margin-top: 40px;
	}
		.market__table tr {
			border-bottom: 1px solid #DDDDDD;
		}
		.market__table thead th {
			width: 247px;
			background-color: #E27EA4;
			padding-top: 15px;
			color: #fff;
		}
		.market__table thead th:first-of-type {
			width: 149px;
		}
		.market__table th, .market__table td {
			height: 59px;
			border: 1px solid #DDDDDD;
			text-align: center;
		}
		.market__table th, .market__table th a {
			font-size: 20px;
			font-weight: 500;
			color: #000000;
		}
		.market__table tbody th {
			background-color: #F7F7F7;
		}
		.market__table th a, .market__table td a {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%;
			height: 100%;
		}
		.market__table td, .market__table td a {
			font-size: 25px;
			font-weight: 500;
			color: #000000;
		}
		.market__table td, .market__table td a
		> span {
			font-size: 20px;
			font-weight: 500;
			color: #000000;
		}

.new__contents {
	padding: 81px 0 0;
	overflow: hidden;
}
	.new__inner {
		position: relative;
		padding-bottom: 48px;
	}
		.new__ttl::before {
			content: '';
			background: url(/images/top/bg_new-ttl.png) no-repeat center;
			background-size: contain;
			display: block;
			width: 187px;
			height: 58px;
			position: absolute;
			top: -18px;
			left: 355px;
		}
		.slide__inner {
			margin: 39px 0 0;
		}
			.bkn__item a {
				background: #fff;
				padding: 10px 10px 21px;
				border-radius: 10px;
				display: block;
			}
				.bkn__img {
					width: 100%;
					height: 210px;
					border-radius: 10px;
					overflow: hidden;
					position: relative;
				}
					.bkn__img img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
					.favorite__icon {
						background: url(/images/top/img_favorite.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 30px;
						height: 25px;
						position: absolute;
						top: 14px;
						right: 14px;
					}
					.favorite__icon.is-checked {
						background: url(/images/top/img_favorite-on.png) no-repeat center;
						background-size: contain;
					}
				.bkn__data {
					padding: 8px 4px 0;
				}
					.bkn__ttl {
						font-size: 20px;
						font-weight: bold;
						overflow: hidden;
						text-overflow: ellipsis;
						white-space: nowrap;
					}
					.bkn__price {
						font-size: 16px;
						font-weight: bold;
					}
						.bkn__price span {
							font-size: 25px;
							font-weight: bold;
							color: #E27EA4;
							line-height: 1;
						}
					[class*="bkn__text"] {
						font-size: 16px;
						padding-left: 25px;
						margin-top: 3px;
						position: relative;
					}
					.bkn__text--madori::before {
						content: '';
						background: url(/images/top/icon_madori.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 18px;
						height: 18px;
						position: absolute;
						top: 2px;
						left: 1px;
					}
					.bkn__text--address::before {
						content: '';
						background: url(/images/top/icon_address.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 13px;
						height: 20px;
						position: absolute;
						top: 3px;
						left: 4px;
					}
					.bkn__text--line::before {
						content: '';
						background: url(/images/top/icon_line.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 20px;
						height: 18px;
						position: absolute;
						top: 4px;
						left: 0;
					}
					.new__contents .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
						bottom: 0;
					}
					.new__contents .swiper-pagination-bullet {
						width: 16px;
						height: 16px;
						opacity: 1;
						background: #fff;
						border: 1px solid #F2B749;
						margin: 0 10px !important;
					}
					.new__contents .swiper-pagination-bullet-active {
						background: #F2B749;
					}

.column__contents {
	padding: 78px 0 80px;
}
	.column__ttl::before {
		content: '';
		background: url(/images/top/bg_column.png) no-repeat center;
		background-size: contain;
		display: block;
		width: 206px;
		height: 66px;
		position: absolute;
		top: -18px;
		left: 268px;
	}
	.column__list {
		margin-top: 39px;
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
		.column__item a {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			width: 560px;
			padding: 10px 20px 10px 9px;
			border-radius: 10px;
			box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
		}
			.column__img {
				width: 190px;
				height: 140px;
				margin-right: 14px;
				border-radius: 10px;
				overflow: hidden;
			}
				.column__img img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			.column__right {
				width: 326px;
			}
				.column__item-ttl {
					font-size: 20px;
					font-weight: bold;
					overflow: hidden;
					display: -webkit-box;
					text-overflow: ellipsis;
					-webkit-box-orient: vertical;
					-webkit-line-clamp: 2;
				}
				.column__text {
					font-size: 16px;
					overflow: hidden;
					display: -webkit-box;
					text-overflow: ellipsis;
					-webkit-box-orient: vertical;
					-webkit-line-clamp: 2;
				}
	.column__more {
		display: flex;
		justify-content: center;
		align-items: center;
		background-image: linear-gradient(90deg, rgba(243, 114, 163, 1), rgba(245, 208, 85, 1));
		width: 360px;
		height: 72px;
		margin:  30px auto 0;
		border-radius: 40px;
		font-size: 20px;
		font-weight: 500;
		letter-spacing: 0.08em;
		color: #fff;
		position: relative;
	}
		.column__more::before {
			content: '';
			content: '';
			background: url(/images/top/icon_business-arrow.png) no-repeat center;
			background-size: contain;
			display: block;
			width: 35px;
			height: 35px;
			position: absolute;
			top: 19px;
			right: 21px;
		}

.ranking__contents {
	padding: 0 0 0;
}
	.ranking__ttl::before {
		content: '';
		background: url(/images/top/bg_ranking-ttl.png) no-repeat center;
		background-size: contain;
		display: block;
		width: 104px;
		height: 40px;
		position: absolute;
		top: -14px;
		left: 362px;
	}
	.ranking__list {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap: 30px;
		padding: 39px 0 0;
	}
	.ranking__item--01 {
		position: relative;
	}
		.ranking__item--01::before {
			content: '';
			background: url(/images/top/img_ranking01-decoration.png) no-repeat center;
			background-size: contain;
			display: block;
			width: 35px;
			height: 25px;
			position: absolute;
			top: -30px;
			left: 50%;
			transform: translateX(-50%);
		}
			[class*="ranking__item"] a {
				display: block;
				width: 360px;
				height: 105px;
				border: 2px solid #B7B7B7;
				border-radius: 10px;
				background: #fff;
				font-size: 30px;
				font-weight: bold;
				color: #333333;
				padding: 27px 0 27px 107px;
				position: relative;
			}
			.ranking__item--01 a {
				border: 2px solid #E8B543;
			}
			.ranking__item--02 a {
				border: 2px solid #939FB7;
			}
			.ranking__item--03 a {
				border: 2px solid #B1806A;
			}
				[class*="ranking__item"] a::before {
					content: '';
					display: block;
					width: 60px;
					height: 48px;
					position: absolute;
					top: 50%;
					left: 28px;
					transform: translateY(-50%);
				}
				.ranking__item--01 a::before {
					background: url(/images/top/img_ranking01.png) no-repeat center;
					background-size: contain;
				}
				.ranking__item--02 a::before {
					background: url(/images/top/img_ranking02.png) no-repeat center;
					background-size: contain;
				}
				.ranking__item--03 a::before {
					background: url(/images/top/img_ranking03.png) no-repeat center;
					background-size: contain;
				}
				.ranking__item--04 a::before {
					background: url(/images/top/img_ranking04.png) no-repeat center;
					background-size: contain;
				}
				.ranking__item--05 a::before {
					background: url(/images/top/img_ranking05.png) no-repeat center;
					background-size: contain;
				}
				[class*="ranking__item"] a::after {
					content: '';
					background: url(/images/top/img_ranking-arrow.png) no-repeat center;
					background-size: contain;
					display: block;
					width: 10px;
					height: 19px;
					position: absolute;
					top: 50%;
					right: 28px;
					transform: translateY(-50%);
				}
				.ranking__item--01 a::after {
					background: url(/images/top/img_ranking-arrow01.png) no-repeat center;
					background-size: contain;
				}
				.ranking__item--02 a::after {
					background: url(/images/top/img_ranking-arrow02.png) no-repeat center;
					background-size: contain;
				}
				.ranking__item--03 a::after {
					background: url(/images/top/img_ranking-arrow03.png) no-repeat center;
					background-size: contain;
				}

				.banner_contents {
					padding-top: 80px;
				}
				.banner_item:not(:last-child) {
					margin-bottom: 30px;
				}
.info__contents {
	padding: 80px 0 76px;
}
	.info__ttl::before {
		content: '';
		background: url(/images/top/bg_info-ttl.png) no-repeat center;
		background-size: contain;
		display: block;
		width: 167px;
		height: 55px;
		position: absolute;
		top: -18px;
		left: 339px;
	}
	.info__wrap {
		margin-top: 40px;
	}
		.info__box:not(:last-of-type) {
			margin-bottom: 40px;
		}
			.info__box-ttl {
				font-size: 25px;
				font-weight: bold;
				padding: 5px 0 7px 30px;
				letter-spacing: 0.06em;
				margin-bottom: 9px;
				position: relative;
			}
				.info__box-ttl::before {
					content: '';
					display: block;
					width: 6px;
					height: 100%;
					background: linear-gradient(to bottom, rgb(242, 114, 163), rgb(245, 208, 85));
					border-radius: 30px;
					position: absolute;
					top: 0;
					left: 0;
				}
			.info__text {
				font-size: 16px;
				font-weight: 500;
				line-height: 1.75;
			}