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

/*フッター*/

/*-----------------------*/
/* =============================
基礎 */
#footer {
	width: 100%;
	background-color: var(--color-base);
	margin-top: var(--section-gutter);
}
.footer__inner {
	padding-top: var(--section-inner-gutter);

	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);
	}
}



/* =============================
お問い合わせ */
.contact-button__wrapper {
	width: var(--flexible-width);
	margin-right: auto;
	margin-left: auto;
	margin-top: var(--gutter-md);

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 10px;
}
/* ------------------
ボタン */
.contact-button {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 0 1em;

	width: max(
		220px,
		calc(calc(100% / 2) - 10px)
	);
	padding-top: 1.5em;
	padding-bottom: 1.5em;
	padding-right: min(2.5vw, 1em);
	padding-left: calc(1em + 1em + calc(var(--txt-md) / 1.5));

	font-size: var(--txt-md);
	font-weight: 700;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.03em;
	line-height: 1.25;
	color: var(--color-main);
	background-color: var(--color-base);
	border: 2px solid var(--color-main);
}
.contact-button:nth-child(odd) {
	border-top-left-radius: calc(
		var(--txt-md) + 3em + 0.5em + 4px
	);
	border-bottom-left-radius: calc(
		var(--txt-md) + 3em + 0.5em + 4px
	);
}
.contact-button:nth-child(even) {
	border-top-right-radius: calc(
		var(--txt-md) + 3em + 0.5em + 4px
	);
	border-bottom-right-radius: calc(
		var(--txt-md) + 3em + 0.5em + 4px
	);
	background-color: var(--color-main-strong);
	color: var(--color-white);
	border-color: var(--color-main-strong);
}
.contact-button svg {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}
@media (max-width: 959px) {
	.contact-button__wrapper {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		border-radius: 0;
	}
	.contact-button {
		width: 100%;
		border-radius: calc(
			var(--txt-md) + 3em + 0.5em
		);
	}
}
@media (any-hover: hover) {
	.contact-button {
		-webkit-transition: border-color .2s var(--easeInOutCirc),
		background-color .2s var(--easeInSine),
		color .2s var(--easeInOutCirc);
		transition: border-color .2s var(--easeInOutCirc),
		background-color .2s var(--easeInSine),
		color .2s var(--easeInOutCirc);
	}
	.contact-button svg {
		-webkit-transition: stroke .2s var(--easeInOutCirc),
		-webkit-transform .2s var(--easeInOutCirc);
		transition: stroke .2s var(--easeInOutCirc),
		-webkit-transform .2s var(--easeInOutCirc);
		transition: stroke .2s var(--easeInOutCirc),
		transform .2s var(--easeInOutCirc);
		transition: stroke .2s var(--easeInOutCirc),
		transform .2s var(--easeInOutCirc),
		-webkit-transform .2s var(--easeInOutCirc);
	}
	.contact-button:hover,
	.contact-button:focus {
		border-color: var(--color-sub-soft);
		background-color: transparent;
		color: var(--color-white);
	}
	.contact-button:hover svg,
	.contact-button:focus svg {
		stroke: var(--color-sub-soft);
		-webkit-transform: translateX(4px);
		        transform: translateX(4px);
	}
}
/* -----------------
TEL */
.contact-tel__wrapper {
	width: var(--flexible-width);
	margin-left: auto;
	margin-right: auto;
	margin-top: var(--gutter-sm);

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.contact-tel__wrapper .tel {
	display: inline-block;
	font-family: var(--number);
	font-weight: 700;
	color: var(--color-white);
	line-height: 1.25;

	text-align: center;
	margin-right: auto;
	margin-left: auto;
}
.contact-tel__wrapper .unit {
	font-size: var(--txt-xxl);
}
.contact-tel__wrapper .number {
	font-size: var(--txt-7xl);
}
.contact-time {
	color: var(--color-white);
	font-size: var(--txt-sm);
	text-align: center;
}



/* =============================
ロゴ */
#footer-logo {
	width: 220px;
	max-width: 100%;
}
#footer-logo a {
	display: block;
}
#footer-logo img {
	width: 100%;
	height: auto;
}
/* =============================
住所 / 許可 */
.footer__addr {
	margin-top: 3em;
}
.footer__addr p {
	font-size: var(--txt-sm);
	line-height: 1.5;
	color: var(--color-bk);
	letter-spacing: normal;
}
/* =============================
サイトマップ */
#sitemap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 0.5em var(--gutter-var-reg);

	max-height: calc(4em + calc(0.5em * 8));
}
.sitemap__item a {
	font-size: var(--txt-xs);
	color: var(--color-bk);

	display: -webkit-inline-box;

	display: -ms-inline-flexbox;

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

	position: relative;
}
.sitemap__item .arrow {
	width: 0.7em;
	height: auto;

	stroke: var(--color-sub);
}
.sitemap__item a::before {
	content: "";
	display: inline-block;

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

	background-color: transparent;

	position: absolute;
	bottom: 0;
	right: 0;
}
@media (max-width: 959px) {
	#sitemap {
		max-height: none;
		gap: 0.7em var(--gutter-var-reg);
	}
}
@media(any-hover: hover) {
	.sitemap__item a {
		opacity: 0.8;
		-webkit-transition: opacity .2s var(--easeInSine);
		transition: opacity .2s var(--easeInSine);
	}
	.sitemap__item a::before {
		-webkit-transition: background-color .2s var(--easeInOutCirc);
		transition: background-color .2s var(--easeInOutCirc);
	}
	.sitemap__item a:hover::before {
		background-color: var(--color-bk);
	}
	.sitemap__item a:hover {
		opacity: 1;
	}
}
/* =============================
コピーライト */
#copyright {
	width: 100%;
	font-family: var(--alphabet);
	font-size: var(--txt-xxs);
	letter-spacing: normal;
	color: var(--color-bk);
	text-align: left;

	margin-top: var(--section-inner-gutter);
	padding-bottom: var(--gutter-md);
}
@media (max-width: 959px) {
	#copyright {
		margin-top: var(--gutter-xl);
	}
}