@charset "utf-8";

/* ===================================================================
footer
=================================================================== */
.footer {
	position: relative;
}

/* footer01
--------------------*/
.footer #footer01 {
	padding: 85px 0 30px;
	background: #fff;
}

.footer .ft-necessary {
	width: 750px;
	margin: 0 auto 90px;
}

.footer .ft-necessary-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer .ft-necessary-wrap:first-child {	
	margin: 0 auto 70px;
}

.footer .ft-necessary-inner {
	position: relative;
	padding: 0 0 0 35px;

}

.footer .ft-necessary-inner h2 {
	display: inline-block;
	border-bottom: 1px solid #e50012;
	text-align: center;
	font-size: 20px;
	color: #e50012;
}

.footer .ft-necessary-inner h2::before {
	content: "";
	position: absolute;
    top: 50%;
	left: 0;
    transform: translate(0, -50%);
    width: 26px;
    height: 26px;
	background: url("../../images/footer/footer_catch.png") 50% 50% / contain no-repeat, transparent
}


.footer .ft-necessary-wrap ul {
	display: flex;
	justify-content: space-between;
	width: 100%;
	
}

.footer .ft-necessary-wrap li {
	margin: 0 auto;
}

.footer .footer-nav-icon {
    position: relative;
    padding: 100px 0 0;
	width: 200px;
	color: #e50012;
	font-weight: bold;
    text-align: center;
	white-space: nowrap;
	transition: all .3s ease-out 0s;
}

.footer .footer-nav-icon:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	width: 200px;
	height: 78px;
	transition: all .3s ease-out 0s;
}

.footer .footer_bus:before {
	background: url(../../images/footer/footer_bus.png) 50% 50% / contain no-repeat, transparent;
}

.footer .footer_car:before {
	background: url(../../images/footer/footer_car.png) 50% 50% / contain no-repeat, transparent;
}

.footer .footer_jr:before {
	background: url(../../images/footer/footer_jr.png) 50% 50% / contain no-repeat, transparent;
}

.footer .footer_bus:hover:before {
	background: url(../../images/footer/footer_bus_hover.png) 50% 50% / contain no-repeat, transparent;
}

.footer .footer_car:hover:before {
	background: url(../../images/footer/footer_car_hover.png) 50% 50% / contain no-repeat, transparent;
}

.footer .footer_jr:hover:before {
	background: url(../../images/footer/footer_jr_hover.png) 50% 50% / contain no-repeat, transparent;
}


/* footer02
--------------------*/
.footer .ft-banner {
	display: flex;
	justify-content: center;
	align-items: center;
}
.footer .ft-banner-wrap {
	margin: 0 10px;
}

.footer .ft-tel {
	margin: 40px 0;
}

.footer .ft-botann {
	margin: 0 0 35px;
}

.footer .ft-botann ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer .ft-botann li {
	display: flex;
    justify-content: center;
    align-items: center;
	width: 190px;
	height: 35px;
	border-radius: 17px;
	background: #c5c5c5;
}

.footer .ft-botann a {
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
}

.footer .ft-img {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 0 0 35px;
}

.footer .ft-img-wrap:first-child {
	margin: 0 25px 0 0;
}

/* footer03
--------------------*/
.footer #footer03 {
	background: url(/ski/images/footer/footer03_back.png) 50% 50% / cover no-repeat;
	padding: 55px 0 50px;
}

.footer .ft-company-info {
	display: flex;
	align-items: flex-end;
}

.footer .ft-company-log {
	width: 160px;
	margin: 0 40px 0 0;
}

.footer .ft-company-tel {
	width: 295px;
	margin: 0 40px 0 0;
}

.footer .ft-tlife-log {
	width: 225px;
}

.footer .ft-company-details {
	display: flex;
	margin: 50px 0 0;  
}

.footer .ft-company-link {
	width: 600px;
}

.footer .ft-company-link ul {
	display: flex;
	justify-content: space-between;
}

.footer .ft-company-link a {
	color: #fff;
}

.footer .ft-company-sns {
	margin: 0 0 0 60px;
}

.footer .ft-company-sns ul {
	display: flex;
}

.footer .ft-company-sns li {
	margin: 0 20px 0 0;
}

.footer .ft-company-sns li:last-child {
	margin: 0;
}

/* pagetop
--------------------*/
#pagetop {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 350px;
	right: 85px;
	width: 80px;
	height: 80px;
	background: #e50012;
	border-radius: 50%;
}

.footer #pagetop a {
	display: block;
	width: 100%;
	height: 100%;
}

.footer .pagetop-wrap {
	width: 62px;
	margin: 20px auto;
}


/* footer04
--------------------*/
.footer #footer04 {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	background: #e50012;
}

.footer #footer04 small {
	text-align: center;
	color: #fff;
	font-size: 14px;
}


@media screen and (max-width: 1000px) {
	/* footer01
	--------------------*/
	.footer #footer01 {
		padding: 30px 0 25px;
	}
	
	.footer .ft-necessary  {
		width: 100%;
		margin: 0px 0 50px;
	}
	
	.footer .ft-necessary-wrap .ft-necessary-img {
		width: 27px;
		height: 27px;
	}
	
	.footer .ft-necessary-wrap h2 {
		margin: 0px 0 0 7px;
		font-size: 16px;
	}
	
	.footer .ft-necessary-wrap:first-child {
		justify-content: flex-start;
		margin: 0px 0 30px;
	}
	
	.footer .ft-necessary-inner {
		padding: 0 0 0 25px;
	}
	
	.footer .ft-necessary-wrap ul {
		width: 100%;
		justify-content: center;
	}
	
	.footer .ft-necessary-wrap li {
		margin: 0 0 0 50px;
	}
	
	.footer .ft-necessary-wrap li:first-child {
		margin: 0;
	}
	
	.footer .footer-nav-icon {
		width: 100%;
		padding: 70px 0 0;
		font-size: 12px;
	}
	
	.footer .footer_bus:before {
		width: 60px;
		height: 60px;
		background: url(../../images/footer/footer_bus_sp.png) 50% 50% / contain no-repeat, transparent;
	}

	.footer .footer_car:before {
		width: 60px;
		height: 60px;
		background: url(../../images/footer/footer_car_sp.png) 50% 50% / contain no-repeat, transparent;
	}

	.footer .footer_jr:before {
		width: 60px;
		height: 60px;
		background: url(../../images/footer/footer_jr_sp.png) 50% 50% / contain no-repeat, transparent;
	}

	
	/* footer02
	--------------------*/
	.footer .ft-banner-wrap01,
	.footer .ft-banner-wrap02,
	.footer .ft-banner-wrap03 {
		margin: 0 5px 0 0;
	}
	
	.footer .ft-tel {
		margin: 20px 0;
	}
	
	.footer .ft-botann ul {
		justify-content: center;
		flex-wrap: wrap;
	}
	
	.footer .ft-botann li {
		width: 160px;
		margin: 0 auto 15px;
	}
	
	.footer .ft-botann {
		margin: 0;
	}
	
	.footer .ft-img {
		justify-content: center;
		margin: 10px 0 30px;
	}
	
	.footer .ft-img-wrap:first-child {
		width: 220px;
	}
	
	.footer .ft-img-wrap:last-child {
		width: 35px;
	}
	
	.footer .ft-img-wrap:first-child {
		margin: 0px 15px 0 0;
	}
	
	/* footer03
	--------------------*/
	.footer #footer03 {
		background: url(/ski/images/footer/footer03_back_sp.png) 50% 50%/ cover no-repeat;
		padding: 20px 0 0;
	}
	
	.footer .ft-company-log {
		width: 100px;
		margin: 0 15px 0 0;
	}
	
	.footer .ft-company-tel {
		width: 220px;
		margin: 0 15px 0 0;
	}
	
	.footer .ft-tlife-log {
		width: 120px;
	}
	
	.footer .ft-company-details {
		flex-wrap: wrap;	
		margin: 20px 0 0;
	}
	
	.footer .ft-company-link {
		width: 100%;
		margin: 0;	
	}
	
	.footer .ft-company-link ul {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	
	.footer .ft-company-link li {
		margin: 0 12px 10px 0;
		font-size: 11px;
	}
	
	.footer .ft-company-sns {
		margin: 10px auto 15px 0;
	}
	
	.footer .ft-company-sns li {
		margin: 0 10px 0 0;
		width: 35px;
	}
	
	/* pagetop
	--------------------*/
	.footer #pagetop {
		bottom: 70px;
		right: 20px;
		width: 65px;
		height: 65px;
	}
	
	.footer .pagetop-wrap {
		width: 53px;
		margin: 15px auto;
	}
	
	/* footer04
	--------------------*/
	.footer #footer04 {
		height: 60px;
	}
	
	.footer #footer04 small {
		font-size: 10px;
	}
}