@charset "UTF-8";
/*------------------------*/

/*フッター*/

/*-----------------------*/
/* =============================
基礎 */
#footer {
	margin-top: var(--section-gutter);
	padding-top: var(--section-inner-gutter);
	padding-bottom: var(--gutter-md);

	background-color: var(--color-main-thin);
}
.footer__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 3.5em var(--gutter-var-md);
}
.footer__desc {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	width: max(
		calc(330rem / 16),
		calc(100% - calc(400rem / 16) - var(--gutter-var-md))
	);
	max-width: 100%;
}
#sitemap {
	width: calc(400rem / 16);
	max-width: 100%;
}
@media (max-width: 559px) {
	.footer__inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 3em var(--gutter-var-md);
	}
}
/* =============================
ロゴ */
#footer-logo {
	/* min: 180px, max: 280px */
	width: clamp(11.25rem, calc(8.75rem + 12.5vw), 17.5rem);
	max-width: 100%;
}
#footer-logo a {
	display: inline-block;
	width: 100%;
}
#footer-logo img {
	width: 100%;
	height: auto;
}
/* =============================
住所 */
.footer__addr {
	font-size: var(--txt-sm);
	line-height: 1.5;
	margin-top: 2em;
}
@media (max-width: 559px) {
	.footer__addr {
		margin-top: 1em;
	}
}
/* =============================
サイトマップ */
#sitemap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 1em var(--gutter-var-reg);

	height: calc(calc(var(--txt-xs) * 4) + 5.5em);
}
@media (max-width: 559px) {
	#sitemap {
		height: auto;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 1em var(--gutter-var-reg);
	}
}
.sitemap__item a {
	font-size: var(--txt-xs);
	line-height: 1;
	color: var(--color-main-soft);

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0.3em;

	position: relative;
}
.sitemap__item a::before {
	content: "";
	display: inline-block;

	width: calc(100% - 0.3em - 0.7em);
	height: 1px;

	background-color: var(--color-main-soft);
	-webkit-transform: scaleX(0);
	        transform: scaleX(0);
	-webkit-transform-origin: right bottom;
	        transform-origin: right bottom;

	position: absolute;
	bottom: -2px;
	left: calc(0.7em + 0.3em);
}
.sitemap__item .arrow {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 0.7em;
	height: auto;

	stroke: currentColor;
	stroke-width: 2;
	margin-top: -0.15em;
}
@media(any-hover: hover) {
	.sitemap__item a::before {
		-webkit-transition: -webkit-transform .18s var(--easeInQuad);
		transition: -webkit-transform .18s var(--easeInQuad);
		transition: transform .18s var(--easeInQuad);
		transition: transform .18s var(--easeInQuad), -webkit-transform .18s var(--easeInQuad);
	}
	.sitemap__item a:hover::before {
		-webkit-transform: scaleX(1);
		        transform: scaleX(1);
		-webkit-transform-origin: left top;
		        transform-origin: left top;
	}
}
/* =============================
コピーライト */
#copyright {
	width: 100%;
	font-size: var(--txt-xs);
	color: var(--color-bk);
	margin-top: 3.5em;
}
@media (max-width: 559px) {
	#copyright {
		font-size: var(--txt-xxs);
		margin-top: 0;
	}
}