:root {

	--color--black: #333333;
	--color--white: #F8F8F8;
	--color--light-gray: #cccccc;
	--color--gray: #999999;
	--color--dark-gray: #666666;
	--color--input-gray: #F6F6F6;
	--color--red: #CC0000;
	--color--notes_red: #DA4453;
	--color--green: #69b5b7;
	--color--pink: #e7918d;
	--color--link_blue: #36bbb1;
}
._inter {
	font-family: "Inter", sans-serif;
}

:where(#footer) *, :where(#footer) *::before, :where(#footer) *::after { box-sizing: border-box; }
:where(#footer) ul, :where(#footer) ol { padding: 0; margin: 0; list-style: none; }
:where(#footer) li, :where(#footer) p, :where(#footer) dl, :where(#footer) dd, :where(#footer) figure { margin: 0; }
:where(#footer) a { outline: none; text-decoration: none; color: inherit; }
:where(#footer) img, :where(#footer) svg, :where(#footer) video { display: block; width: 100%; height: auto; vertical-align: bottom; }
:where(#footer) svg { overflow: visible; }
:where(#footer) button { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: none; border-radius: 0; font: inherit; outline: none; cursor: pointer; }

#footer {
	width: 100%;
	height: auto;
	padding: 40px 0;
	background-color: #F6F6F6;
}
.footer__inner {
		width: 90%;
		max-width: 725px;
		height: auto;
		margin: 0 auto;
}
.footer__features {
			width: 100%;
			height: auto;
			margin: 0 auto 48px;
}
.footer__features__list {
				display: grid;
				grid-template-columns: repeat(4, 1fr);
				gap: 15px;
				width: 100%;
				height: auto;
}
.footer__features__list__item {
					width: 100%;
					height: auto;
}
.footer__features__list__item__link {
						display: block;
						width: 100%;
						height: auto;
						padding: 21px 0 0;
						aspect-ratio: 1 / 1;
						background-color: #ffffff;
}
.footer__features__list__item__link__icon {
							display: block;
							width: calc((52 / 170) * 100%);
							height: auto;
							margin: 0 auto 12px;
}
.footer__features__list__item__link__icon svg {
								width: 100%;
								height: auto;
								fill: #646464;
}
.footer__features__list__item__link__text {
							width: 100%;
							height: auto;
}
.footer__features__list__item__link__text dt {
								width: 100%;
								height: auto;
								margin: 0 auto 6px;
								font-size: 14px;
								font-weight: 500;
								line-height: 1.4;
								letter-spacing: 0em;
								text-align: center;
								color: var(--color--black);
}
.footer__features__list__item__link__text dd {
								width: 100%;
								height: auto;
								font-size: 12px;
								font-weight: 300;
								line-height: 1.6;
								letter-spacing: 0em;
								text-align: center;
								color: var(--color--black);
}
@media (any-hover: hover) {
	.footer__features__list__item__link {
						transition: .4s;
						opacity: 1;
	}
	.footer__features__list__item__link:hover {
						opacity: 0.6;
	}
}
.footer__menu {
			width: 100%;
			height: auto;
			margin: 0 auto 40px;
}
.footer__menu_list {
				width: 100%;
				height: auto;
				border-top: 1px solid #DFDFDF;
}
.footer__menu_list__item {
					width: 100%;
					height: auto;
					border-bottom: 1px solid #DFDFDF;
					font-size: 14px;
					font-weight: 400;
					line-height: 1;
					letter-spacing: 0.05em;
}
.footer__menu_list__item__link {
						display: block;
						width: 100%;
						height: auto;
						padding: 20px 0;
						color: var(--color--black);
						position: relative;
						cursor: pointer;
}
.footer__menu_list__item__link::before,
						.footer__menu_list__item__link::after {
							content: "";
							display: block;
							border-radius: 9999px;
							background-color: var(--color--gray);
							position: absolute;
							top: 50%;
							transform: translateY(-50%);
							transition: .3s;
}
.footer__menu_list__item__link::before {
							width: 15px;
							height: 1px;
							right: 0;
}
.footer__menu_list__item__link::after {
							width: 1px;
							height: 15px;
							right: 7px;
}
.footer__menu_list__item__link._active::after {
							transform: translateY(-50%) rotate(90deg);
}
.footer__menu_list__item__link > svg {
							width: 8px;
							height: auto;
							fill: var(--color--gray);
							position: absolute;
							top: 50%;
							right: 3px;
							transform: translateY(-50%);
}
.foooter__sub_menu_list_wrap {
						display: none;
						width: 100%;
						height: auto;
						padding: 8px 0 20px 0;
}
.foooter__sub_menu_list {
							display: flex;
							flex-direction: column;
							gap: 18px;
							width: 100%;
							height: auto;
							padding: 0 0 0 12px;
}
.foooter__sub_menu_list__item {
								width: 100%;
								height: auto;
								font-size: 13px;
								font-weight: 400;
								line-height: 1.4;
								letter-spacing: 0.05em;
}
.foooter__sub_menu_list__item__link {
									display: flex;
									justify-content: flex-start;
									align-items: center;
									gap: 4px;
									width: 100%;
									height: auto;
									color: var(--color--black);
}
.foooter__sub_menu_list__item__link svg {
										width: 4px;
										height: auto;
										fill: var(--color--dark-gray);
}
@media (any-hover: hover) {
	.foooter__sub_menu_list__item__link {
									transition: .4s;
									opacity: 1;
	}
	.foooter__sub_menu_list__item__link:hover {
									opacity: 0.6;
	}
}
.footer__info_menu {
			width: 100%;
			height: auto;
			padding: 0 0 40px;
			margin: 0 auto 40px;
			border-bottom: solid 1px #DFDFDF;
}
.footer__info_menu_list {
				display: grid;
				justify-content: space-between;
				grid-template-columns: max-content max-content max-content;
				grid-template-rows: auto auto;
				row-gap: 16px;
				width: 100%;
				height: auto;
}
.footer__info_menu_list__item {
					width: 100%;
					height: auto;
					font-size: 12px;
					font-weight: 300;
					line-height: 1.4;
					letter-spacing: 0.05em;
}
.footer__info_menu_list__item__link {
						display: flex;
						justify-content: flex-start;
						align-items: center;
						gap: 4px;
						color: var(--color--black);
}
.footer__info_menu_list__item__link svg {
							width: 4px;
							height: auto;
							fill: #ADADAD;
}
@media (any-hover: hover) {
	.footer__info_menu_list__item__link {
						transition: .4s;
						opacity: 1;
	}
	.footer__info_menu_list__item__link:hover {
						opacity: 0.6;
	}
}
.footer__shop {
			width: 100%;
			height: auto;
			padding: 0 0 40px;
			margin: 0 auto 40px;
			border-bottom: solid 1px #DFDFDF;
}
.footer__shop__heading {
				width: 100%;
				height: auto;
				margin: 0 auto 12px;
				font-size: 18px;
				font-weight: 300;
				line-height: 1.5;
				letter-spacing: 0.1em;
				color: var(--color--black);
}
.footer__shop_list {
				display: flex;
				justify-content: flex-start;
				align-items: flex-start;
				flex-wrap: wrap;
				width: 100%;
				height: auto;
}
.footer__shop_list__item {
					width: 150px;
					height: auto;
}
.footer__shop_list__item__link {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 100%;
						height: 50px;
						background-color: #ffffff;
}
.footer__shop_list__item__link._loft img {
							width: 40px;
}
@media (any-hover: hover) {
	.footer__shop_list__item__link {
						transition: .4s;
						opacity: 1;
	}
	.footer__shop_list__item__link:hover {
						opacity: 0.6;
	}
}
.footer__contact {
			width: 100%;
			height: auto;
}
.footer__contact_list {
				display: flex;
				flex-direction: column;
				justify-content: flex-start;
				align-items: flex-start;
				gap: 28px;
				width: 100%;
				height: auto;
}
.footer__contact_list__item {
					width: 100%;
					height: auto;
}
.footer__contact__info {
						width: 100%;
						height: auto;
}
.footer__contact__info__main {
							display: flex;
							justify-content: flex-start;
							align-items: center;
							gap: 4px;
							width: 100%;
							height: auto;
							margin: 0 auto 10px;
}
.footer__contact__info__main__icon {
								width: 18px;
								height: auto;
}
.footer__contact__info__main__icon svg {
									width: 100%;
									height: auto;
									fill: var(--color--black);
}
.footer__contact__info__main__text {
								width: auto;
								height: auto;
								font-size: 19px;
								font-weight: 300;
								line-height: 1;
								letter-spacing: 0.05em;
}
.footer__contact__info__main__text__link {
									color: var(--color--black);
}
.footer__contact__info__text {
							width: 100%;
							height: auto;
							font-size: 10px;
							font-weight: 300;
							line-height: 1;
							letter-spacing: 0.05em;
							color: var(--color--black);
}
.footer__bottom {
			width: 100%;
			height: auto;
			margin: 48px auto 0;
}
.footer__logo {
				width: 107px;
				height: auto;
				margin: 0 auto 10px;
}
.footer__copyright {
				width: 100%;
				height: auto;
				font-size: 10px;
				font-weight: 400;
				line-height: 1;
				letter-spacing: 0em;
				text-align: center;
				color: #BBBBBB;
}
@media all and (max-width: 768px) {
	#footer {
	padding: 52px 0 30px;
	}
	.footer__inner {
		width: calc((397 / 440) * 100%);
		max-width: initial;
	}
	.footer__features {
			max-width: 420px;
	}
	.footer__features__list {
				grid-template-columns: repeat(2, 1fr);
	}
	.footer__features__list__item__link {
						padding: 20px 0 0;
	}
	.foooter__sub_menu_list {
	}
	.footer__info_menu_list {
				grid-template-columns: repeat(2, 1fr);
				row-gap: 18px;
	}
	.footer__shop_list__item {
					width: 200px;
	}
	.footer__shop_list__item__link {
						height: 50px;
	}
	.footer__shop_list__item__link._loft img {
							width: 40px;
	}
}
