@charset "UTF-8";
footer#sitefoot {
	background-color: var(--footer-bg-color);
	padding: 6.5em 0 6em;
}
#sitefoot .controls {
	position: fixed;
	z-index: 1;
}
#sitefoot .pagetop {
	display: inline-block;
	position: fixed;
	z-index: 10;
	right: 0;
	padding-right: 2em;
	padding-bottom: 2.6em;
	/*bottom: 44px;*/ /* fallback for enviroment can't use calc & env function */
	/*bottom: calc(env(safe-area-inset-bottom) + 44px);*/
	bottom: 0;
	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 .lgm-wrap {	
	margin-bottom: 3.5em;
}

/**/
#sitefoot .menus {
	width: 42%;
}
	#sitefoot .menus .primary {
		width: 100%;
		justify-content: space-between;
	}
		#sitefoot .menus a {
			font-size: 15px;
			line-height: 1em;
			display: inline-block;
		}
		#sitefoot .menus a:hover {
			color: var(--cl-hover);
		}

/**/
#sitefoot a {
	transition: all 0.3s;
}
#sitefoot .contact_bt_group {
    margin-bottom: 54px;
}
	#sitefoot .contact_bt_group li {
		margin-bottom: 0;
	}
		#sitefoot .bt {
			display: inline-block;
			border-radius: 5em 5em 5em 0;
			font-family: var(--font-m1);
		}
#sitefoot .bt-contact {
	position: relative;
   	padding: 1.35em 2.2em 1.35em 3em;
	background-color: #FFFFFF;
	color: var(--ui-bt-base-bgcolor);
	font-size: 1.11em;
	font-weight: normal;
}
	#sitefoot .bt-contact::before {
		content: url("/share/im_clast/ui/i_mail.svg"); 
		position: absolute;
		width: 1em;
		height: 1em;
		display: inline-block;
		margin-right: 0.5em;
		line-height: 1;
		align-items: center;
		top: 50%;
		left: 1.5em;
		transform: translate(0, -50%); 
	}
	#sitefoot .bt-contact:hover {
		background-color: var(--ui-bt-base-hovercolor);
		color: #FFFFFF;
	}
#sitefoot .bt-tel {
	padding: 1.5em 2.2em 1.27em;
}
	#sitefoot .bt-tel > * {
		margin: 0;
		line-height: 1;
	}
	#sitefoot .bt-tel p {
		font-size: 1.6em;
		font-weight: 500;
		margin-bottom: 0.25em;
		letter-spacing: 0.061em;
	}
	#sitefoot .bt-tel small {
		font-size: 0.878em;
		font-family: var(--font-g1);
		letter-spacing: 0.1em;
	}
#sitefoot .cinfo {
    margin-bottom: 3.5em;
}
	#sitefoot .cinfo > * {
		font-size: 1em;
		margin: 0;
		line-height: 1.5;
		letter-spacing: 0.1em;
	}
	#sitefoot .cinfo .font_logo {
		font-weight: 700;
	}
	#sitefoot .cinfo address {
		font-size: 15px;
	}
	#sitefoot .cinfo .zipcode {
		font-size: 0.9em;
		line-height: 2;
	}
	#sitefoot small.font_logo {
		font-size: 13px;
		display: block;
		line-height: 1em;
	}
@media screen and (min-width: 841px) {
	#sitefoot .wide-bind {
		padding-left: 1.5em;
		padding-right: 1.5em;
	}
	#sitefoot .wide-bind.flexbox {
		display: flex;
		align-items: flex-end;
	}
		#sitefoot .elm {
			margin-right: 1.5em;
		}
			#sitefoot .contact_bt_group {
				display: flex;
				align-items: flex-end;
			}
		#sitefoot .bt-contact {
			margin-right: 1em;
		}
}
@media screen and (max-width: 840px) {
	#sitefoot .wide-bind.flexbox > * {
		width: 100%;
	}
	#sitefoot .elm {
		order: 2;
		margin-right: 0;
	}
		#sitefoot .contact_bt_group {
			flex-wrap: wrap;
			text-align: right;
		}
			#sitefoot  .contact_bt_group li {
				width: 100%;
			}
				#sitefoot .bt {
					border-radius: 5em 5em 0 5em;
				}
					#sitefoot .bt-contact {
						margin-bottom: 1.1em;
					}
	#sitefoot .menus {
		margin-bottom: 2.5em;
		order: 1;
	}
		#sitefoot .primary {
			flex-wrap: wrap;
		}
			#sitefoot .menus a {
				margin-bottom: 2em;
				width: 100%;
			}
}
@media screen and (max-width: 640px) {
	footer#sitefoot {
		padding: 3.5em 0 2.5em;
	}
	#sitefoot .lgm-wrap {
		margin-bottom: 3.25em;
	}
	#sitefoot .contact_bt_group {
		margin-bottom: 2.5em;
	}
	#sitefoot .bt {
		font-size: 14px;
	}
	#sitefoot .cinfo {
		margin-bottom: 1.15em;
	}
	#sitefoot small.font_logo {
		font-size: 11px;
	}
}
@media screen and (max-width: 320px) {
	#sitefoot .menus a {
		font-size: 4.4vw;
		margin-bottom: 2.1em;
	}
	#sitefoot .bt-contact {
		font-size: 4vw;
		padding: 1.3em 2em 1.3em 3.6em;
	}
		#sitefoot .bt-contact::before {
			left: 1.9em;
		}
	#sitefoot .bt-tel {
		padding: 1.2em 2em 0.75em;
	}
		#sitefoot .bt-tel p {
			font-size: 5.35vw;
		}
		#sitefoot .bt-tel small {
			font-size: 2.85vw;
		}
	#sitefoot .cinfo > *,
	#sitefoot .cinfo .zipcode,
	#sitefoot .cinfo address {
		font-size: 4.05vw;
	}
	#sitefoot small.font_logo {
		font-size: 2.2vw;
	}
}
