@charset "UTF-8";
footer#sitefoot {
	text-align: left;
	padding: 5rem 0;
	padding-bottom: 7rem;
	margin-top: var(--share-space);
	color: #fff;
	background-color: var(--footer-bg-color);
	position: relative;
	z-index: 0;
}
	footer#sitefoot > .wide-bind {
		position: relative;
		z-index: 0;
	}
#sitefoot .shortcut {
	padding: 2.4em 0;
}
#sitefoot .shortcut a {
	display: inline-block;
	margin: 0 0.6em;
}
#sitefoot .shortcut a > img {
	width: auto;
	height: 2em;
}
#sitefoot .shortcut a:hover {
	opacity: 0.6;
}
#sitefoot .elm {
	text-align: center;
}
#sitefoot .lgm-wrap {
	text-align: left;
	padding: 0;
	position: absolute;
	z-index: 10;
	width: 15%;
}
#sitefoot a.lgm {
	height: auto;
	max-height: none;
	display: block;
}
#sitefoot a.lgm > img {
	width: 100%;
	height: auto;
	max-height: none;
}
#sitefoot .controls {
	position: fixed;
	z-index: 1;
}
@media only screen and (max-width: 640px) {
	footer#sitefoot {
		padding: 0 0;
		padding-bottom: 0rem;
		margin-top: var(--share-smp-space);
	}
	#sitefoot .lgm-wrap {
		padding: 0;
		position: static;
		width: 100%;
		margin-bottom: var(--share-smp-space);
	}
	#sitefoot a.lgm > img {
		width: 27vw;
	}
}

#sitefoot .pagetop {
	display: inline-block;
	position: fixed;
	z-index: 10;
	right: 0;
	padding-right: 1.4em;
	bottom: 44px; /* fallback for enviroment can't use calc & env function */
	bottom: calc(env(safe-area-inset-bottom) + 44px);
	opacity: 0.0;
	transform: translateY(-2em);
	transition: all 1s;
	transition-delay: inherit;
}
#sitefoot .pagetop > img {
	width: 2em;
	height: auto;
}
[data-ispagescrolled="true"] #sitefoot .pagetop {
	opacity: 1.0;
	transform: translateY(0em);
}

#sitefoot .menus {
	width: 66%;
	padding-left: 6rem;
	order: 2;
}
	#sitefoot .menus > nav {
		width: 50%;
	}
	#sitefoot .menus .cell {
		font-weight: 500;
		font-size: 1.0em;
		line-height: 1em;
		display: block;
		margin-bottom: 2rem;
		color: #fff;
		letter-spacing: 0.2em;
		text-shadow: 0 0 2px rgba(0, 0, 0, 0.22);
	}
	#sitefoot .menus a.cell:hover {
		color: var(--cl-light);
	}
		#sitefoot .menus .cell a.head {
			color: #fff;
		}
		#sitefoot .menus .cell a.head:hover {
			color: var(--cl-light);
		}
	#sitefoot .menus .cell:last-child {
		margin-bottom: 0;
	}
		#sitefoot .menus .cell i {
			font-size: 0.8em;
			line-height: 1em;
			display: block;
			margin-top: 0.8em;
			font-weight: 300;
			opacity: 0.7;
			letter-spacing: 0.1em;
		}
		#sitefoot .menus .cell > .childs {
			padding-left: 0rem;
			padding-top: 1.5rem;
		}
			#sitefoot .menus .cell > .childs > a {
				color: #fff;
				font-size: 0.8em;
				display: block;
				line-height: 1em;
				margin-bottom: 1.4em;
				letter-spacing: 0.12em;
			}
			#sitefoot .menus .cell > .childs > a:hover {
				color: var(--cl-light);
			}
				#sitefoot .menus .cell > .childs > a::before {
					content: "--";
					display: inline-block;
					vertical-align: top;
					padding-right: 0.6em;
					opacity: 0.5;
				}
			#sitefoot .menus .cell > .childs > a:last-child {
				margin-bottom: 0;
			}
@media only screen and (max-width: 640px) {
	#sitefoot .menus {
		width: 100%;
		padding-left: 0;
		order: 1;
		margin-bottom: var(--share-smp-space);
	}
}

#sitefoot .contacts {
	width: 34%;
	order: 1;
	padding-right: 0;
	padding-top: 7rem;
}
@media only screen and (max-width: 640px) {
	#sitefoot .contacts {
		width: 100%;
		order: 2;
		padding-top: 0;
	}
}
	#sitefoot .contacts address {
		font-weight: 400;
		font-size: 0.9em;
		letter-spacing: 0.06em;
		margin-bottom: 1rem;
	}
		#sitefoot .contacts address .zipcode {
			font-size: 1.0em;
			font-weight: 300;
			opacity: 0.8;
			margin-bottom: 0.5em;
		}
	#sitefoot .contacts .phone {
		display: block;
		font-size: 2.6em;
		line-height: 1em;
		color: #fff;
		font-weight: 300;
		margin-bottom: 1.2rem;
	}
		#sitefoot .contacts .phone::before {
			content: "TEL :";
			font-weight: 300;
			font-size: 0.56em;
			opacity: 0.7;
			display: inline-block;
			vertical-align: 0.2em;
			margin-right: 0.2em;
		}
	#sitefoot .contacts .primary {
		margin-bottom: 2rem;
	}
		#sitefoot .contacts .primary > a {
			display: block;
			padding: 1.5em 0;
			font-size: 0.90em;
			font-weight: 500;
			border-radius: 0.2em;
			line-height: 1em;
			letter-spacing: 0.4em;
			color: var(--footer-bg-color);
			background-color: rgba(255, 255, 255, 0.75);
			margin: 0.4em 0;
			text-align: center;
		}
		#sitefoot .contacts .primary > a:hover {
			background-color: #fff;
		}
	#sitefoot .contacts small {
		font-size: 0.6em;
		line-height: 1em;
		opacity: 0.5;
	}
	