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

/*フッター*/

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

会社概要誘導｜コンタクト

*/
.footer__contact-item {
	padding-block: 4.5em;
}
.footer__contact-item:nth-child(odd) {
	background-color: var(--color-primary);
}
.footer__contact-item:nth-child(even) {
	background-color: var(--color-secondary);
}
@media (min-width: 560px) {
	.footer__contact {
		display: grid;
	}
	.footer__contact-item {
		grid-area: 1 / 1 / -1 / -1;
	}
	.footer__contact-item:nth-child(odd) {
		-webkit-clip-path: polygon(0 0, calc(50% + 2vw) 0, calc(50% - 2vw) 100%, 0 100%);
		        clip-path: polygon(0 0, calc(50% + 2vw) 0, calc(50% - 2vw) 100%, 0 100%);
		padding-right: calc(50% + 2vw);
		padding-left: var(--head-match-space);
	}
	.footer__contact-item:nth-child(even) {
		padding-left: calc(calc(50% + 2vw) + var(--gutter-var-reg));
		padding-right: var(--gutter-var-lg);
	}
}
@media (max-width: 559px) {
	.footer__contact-item {
		padding-block: 4em;
		padding-inline: var(--gutter-var-lg);
	}
}
/* ------------
テキスト */
.footer__contact-heading ,
.footer__contact-label ,
.footer__contact-item .button--sm {
	color: var(--color-white);
}
.footer__contact-heading--en {
	font-size: var(--txt-5x);
	font-family: var(--alphabet);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: normal;
}
.footer__contact-heading--jp {
	font-size: var(--txt-reg);
	font-weight: 500;
}
.footer__contact-label {
	font-size: var(--txt-reg);
	line-height: 1.5;
	margin-top: 2.5em;
}
.footer__contact-item .button--sm {
	margin-top: 2.8em;
}
/* =============================

フッターインナー

*/
.footer__inner {
	padding-top: 4.5em;
}
/* =============================
ロゴ */
#footer-logo {
	width: 224px;
	max-width: 100%;
}
#footer-logo a {
	display: inline-block;
	width: 100%;
}
#footer-logo svg {
	width: 100%;
	height: auto;
}
@media (max-width: 559px) {
	#footer-logo {
		width: 168px;
	}
}
/* ================
住所 / site map */
.footer__bottom-section {
	border-top: 1px solid var(--color-primary-soft);
	margin-top: 1em;
	padding-top: 2em;

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 2.5em var(--gutter-var-xl);
}
/* -----------------------
住所 */
.footer-addr {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	width: max(
		calc(336rem / 16),
		calc(50% - var(--gutter-var-xl))
	);
	font-size: var(--txt-sm);
	line-height: 1.35;
}
/* =============================
サイトマップ */
#sitemap {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	width: 50%;
	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-xl);
}
@media (min-width: 960px) {
	#sitemap {
		max-height: calc(7em + calc(0.5em * 3));
	}
}
.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 0.5em;

	position: relative;
}
.sitemap__item svg {
	width: 1em;
	height: auto;
}
.sitemap__item a::before {
	content: "";
	display: inline-block;

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

	background-color: transparent;

	position: absolute;
	bottom: 0;
	left: 1.5em;
}
@media(any-hover: hover) {
	.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);
	}
}
/* =============================
コピーライト */
#copyright {
	font-family: var(--alphabet);
	font-size: var(--txt-xs);
	font-weight: 400;
	color: var(--color-bk);

	margin-top: 4.5em;
}