/* ------------------------------ footer */
footer {
  position: relative;
  text-align: center;
  background-color: #000;
  padding: 50px 0px 50px 0px;
  z-index: 7;
}
footer nav {
  width: 50%;
  margin: 0px auto 40px auto;
}
footer nav ul li a p {
  color: #FFF;
}
footer p.copy {
  color: #FFF;
  font-size: 0.625em
}
@media screen and (max-width: 1018px) {
  footer nav {
    width: 87%;
  }
}
@media screen and (max-width: 600px) {
  footer nav ul.sp-f-start {
    justify-content: flex-start;
  }
  footer nav ul li:not(:last-child) {
    margin: 0px 10px 10px 0px;
  }
}


footer .button{
	width: 50px;
	height: 50px;
	position: fixed;
	right: 30px;
	bottom: 36px;
	font-size: 1.5em;
	color: #FFF;
	background: rgb(36 97 168 / 85%);
  border-radius: 50%;
	padding: auto;
	transition: .3s;
	opacity: 0;
	visibility: hidden;
	cursor: pointer;
	text-align: center;
  opacity: 0;
  visibility: hidden;
	padding: 2px 4px;
}
/*このクラスが付与されると表示する*/
footer .active{
  opacity: 1;
  visibility: visible;
}
footer .pagetop{
	display: none;
	position: fixed;
	right: 15px;
	bottom: 60px;
}
footer .arrow{
  position: relative;
  display: inline-block;
}
footer .arrow::before,
footer .arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
footer .conf::before{
  top: 0px;
  left: -10px;
  width: 22px;
  height: 4px;
  background: #FFF;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
footer .conf::after{
  top: -12px;
  left: -6px;
  width: 14px;
  height: 14px;
  border-top: 4px solid #FFF;
  border-right: 4px solid #FFF;
  -webkit-transform: rotate(316deg);
  transform: rotate(316deg);
}