@charset "utf-8";

.footer__top-cnt {
	background: #F7F7F7;
	padding: 80px 0;
}
	.footer__top-inner {
		width: 1140px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
		.footer__top-left {
			width: 525px;
		}
			.footer__company-ttl {
				font-size: 25px;
				font-weight: bold;
				color: #333333;
				padding-left: 36px;
				margin-bottom: 28px;
				letter-spacing: 0.1em;
				position: relative;
			}
				.footer__company-ttl::before {
					content: '';
					background: url(/images/top/icon_shop-ttl.png) no-repeat center;
					background-size: contain;
					display: block;
					width: 30px;
					height: 24px;
					position: absolute;
					top: 8px;
					left: 0;
				}
			.shop__item {
				width: 525px;
				display: flex;
				justify-content: flex-start;
			}
			.shop__item:not(:last-child) {
				margin-bottom: 20px;
			}
				.shop__img {
					width: 190px;
					height: 150px;
					border-radius: 10px;
					overflow: hidden;
					margin-right: 20px;
				}
					.shop__img img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
				.shop__date {
					width: 315px;
					padding-top: 10px;
				}
					.shop__ttl-wrap {
						display: flex;
						justify-content: space-between;
						align-items: center;
					}
						.shop__name {
							font-size: 20px;
							font-weight: bold;
							color: #E27EA4;
						}
						.shop__map {
							display: flex;
							justify-content: flex-start;
							align-items: center;
							width: 82px;
							height: 29px;
							background: #fff;
							border-radius: 50px;
							padding-left: 32px;
							color: #E27EA4;
							font-size: 16px;
							font-weight: 500;
							position: relative;
						}
							.shop__map::before {
								content: '';
								background: url(/images/top/img_shop-map.png) no-repeat center;
								background-size: contain;
								display: block;
								width: 12px;
								height: 17px;
								position: absolute;
								top: 6px;
								left: 14px;
							}
					.shop__text {
						font-size: 16px;
					}
		.footer__top-right {
			width: 491px;
		}
			.footer__ttl {
				padding-bottom: 17px;
				border-bottom: 1px solid #E27EA4;
			}
				.ttl__top {
					font-size: 30px;
					font-weight: bold;
					letter-spacing: 0.06em;
				}
				.ttl__bottom {
					font-size: 30px;
					font-weight: bold;
					letter-spacing: 0.07em;
				}
					.ttl__bottom .big {
						font-size: 40px;
						font-weight: bold;
						line-height: 1.3;
						letter-spacing: 0.1em;
					}
			.contents__link-list {
				display: flex;
				flex-wrap: wrap;
				gap: 10px;
				margin-top: 30px;
			}
				.contents__item a {
					display: flex;
					justify-content: flex-start;
					align-items: center;
					width: 240px;
					height: 54px;
					background: #fff;
					border-radius: 10px;
					font-size: 20px;
					font-weight: 500;
					color: #4B4B4B;
					padding-left: 20px;
					position: relative;
				}
					.contents__item a::before {
						content: '';
						background: url(/images/top/img_contents-arrow.png) no-repeat center;
						background-size: contain;
						display: block;
						width: 8px;
						height: 13px;
						position: absolute;
						top: 50%;
						right: 19px;
						transform: translateY(-50%);
					}
			.template__link-list {
				display: flex;
				flex-wrap: wrap;
				gap: 8px 32px;
				margin-top: 32px;
			}
				.template__item {
					width: 208px;
				}
					.template__item a {
						font-size: 16px;
						font-weight: 500;
						padding-left: 27px;
						position: relative;
					}
						.template__item a::before {
							content: '';
							background: #E27EA4;
							border-radius: 50px;
							display: block;
							width: 8px;
							height: 8px;
							position: absolute;
							top: 8px;
							left: 9px;
						}

.footer__bottom-cnt {
    background: #fff;
    padding: 80px 0 57px;
}
	.footer__bottom-inner {
		width: 1140px;
		margin: 0 auto;
		padding: 0 0 0;
	}
		.footer__search-wrap {
			display: flex;
			justify-content: space-between;
		}
			.footer__search-left {
				width: 550px;
			}
				.footer__search-ttl {
					font-size: 20px;
					font-weight: 500;
					color: #333333;
					margin-bottom: 19px;
				}
				.left__search-list {
					display: flex;
					flex-wrap: wrap;
					gap: 10px;
				}
					.left__link a {
						display: flex;
						justify-content: flex-start;
						align-items: center;
						width: 130px;
						height: 36px;
						background: #F7F7F7;
						border-radius: 5px;
						font-size: 16px;
						font-weight: 500;
						color: #4B4B4B;
						padding-left: 20px;
						position: relative;
					}
						.left__link a::before {
							content: '';
							background: url(/images/top/img_left-arrow.png) no-repeat center;
							background-size: contain;
							display: block;
							width: 6px;
							height: 11px;
							position: absolute;
							top: 50%;
							right: 16px;
							transform: translateY(-50%);
						}
			.footer__search-rihgt {
				width: 545px;
			}
				.right__search-list {
					display: flex;
					flex-wrap: wrap;
					gap: 10px;
				}
					.right__link a {
						display: flex;
						justify-content: center;
						align-items: center;
						width: fit-content;
						height: 36px;
						border: 1px solid #E27EA4;
						border-radius: 50px;
						padding: 0 19px 0;
						font-size: 16px;
						font-weight: 500;
						color: #E27EA4;
					}
	.footer__text-wrap {
		margin-top: 38px;
	}
		.bottom__ttl {
			font-size: 20px;
			font-weight: 500;
			display: flex;
			justify-content: flex-start;
			align-items: flex-end;
			line-height: 1;
			margin-bottom: 24px;
		}
			.bottom__ttl span {
				margin-left: 3px;
			}
		.footer__text {
			font-size: 16px;
			font-weight: 500;
			color: #1F2024;
			line-height: 1.74;
		}
	.copyright {
		background-image: linear-gradient(90deg, rgba(243, 114, 163, 1), rgba(245, 208, 85, 1));
		padding: 15px 0 15px;
		font-size: 14px;
		text-align: center;
		color: #fff;
	}

.float__list {
	position: fixed;
    top: 240px;
    right: 0;
	z-index: 2;
}
	.float__item:not(:last-child) {
		margin-bottom: 10px;
	}