@charset "utf-8";

/*---------------------------------------------------------------------- general --*/

footer {
	position: relative;
	padding: 30px 0;
	border-top: 1px solid #f0f0f0;
	border-bottom: 5px solid var(--theme);
}

footer > .frame {
	display: flex;
	justify-content: space-between;
}

.footer_left,
.footer_right {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border: 0px solid #ccc;
}

.footer_left {
	width: calc(100% - 220px);
}

@media (width <= 767px) {
	footer {
		padding: 30px 0 15px;
	}
}

@media (width <= 767px) {
	.footer {
		background: #15b2d1;
	}

	.footer_left {
		display: flex;
		justify-content: center;
		width: 100%;
	}
	
	address {
		text-align: center;
		color: #fff;
		font-size: 12px;
	}
	
	.copylight {
		display: block;
		margin-top: 30px;
	}
	
	.footer_right {
		display: none;
	}
}

/*---------------------------------------------------------------------- .go_top --*/

.go_top {
	position: fixed;
	right: 0;
	bottom: 0;
	width: 100px;
	aspect-ratio: 1 / 1;
	background: url(/asset/image/general/go_top_333.png?m=20000101) center / cover;
	opacity: 0.5;
	z-index: 100;
}

@media (width <= 1024px) {
	.go_top {
		display: none;
	}
}

@media (hover: hover) and (pointer: fine) {
	.go_top {
		transition: var(--transition);
	}

	.go_top:hover {
		background: url(/asset/image/general/go_top_fff.png?m=20000101) center / cover, var(--theme);
		opacity: 1;
	}
}

/*---------------------------------------------------------------------- .logo, .smart_logo --*/

footer .logo {
}

footer .logo img,
footer .smart_logo img {
	height: 50px;
}

footer .smart_logo {
	display: none;
}

@media (width <= 767px) {
	footer .logo {
		display: none;
	}
	
	footer .smart_logo {
		display: block;
	}
}

/*---------------------------------------------------------------------- .footer_menu_2 --*/

address {
	width: 100%;
	margin-top: 15px;
	font-size: 13px;
	line-height: 1.5em;
}

/*---------------------------------------------------------------------- .footer_menu --*/

.footer_menu {
	display: flex;
	flex-wrap: wrap;
	width: 150px;
}

.footer_menu li {
	width: 100%;
}

.footer_menu li:nth-of-type(n + 2) {
	margin-top: 3px;
}

.footer_menu li i::before {
	content: '\f105';
	margin-right: 5px;
}

.footer_menu a {
	padding: 4px 10px 3px;
	background: #f0f0f0;
	font-size: 12px;
}

@media (hover: hover) and (pointer: fine) {
	.footer_menu_group a:first-child::after {
		left: 0;
		bottom: 0;
	}

	.footer_menu_group a:first-child:hover::after {
		width: 100%;
	}
	
	.footer_menu_group a:nth-child(2)::after {
		left: 43px;
	}
	
	.footer_menu_group a:nth-child(2):hover::after {
		width: calc(100% - 43px);
	}

	.footer_menu_group a:nth-child(n + 3)::after {
		left: 37px;
	}
	
	.footer_menu_group a:nth-child(n + 3):hover::after {
		width: calc(100% - 37px);
	}
}
