/****************************** mobile,cpmmon ******************************/

.footer {
  color: #fff;
  font-weight: 600;
  padding-top: 50px;
  /* padding-bottom: 50px; */
  background: var(--general);
  z-index: 0;
  position: relative;
}
.footer a {
  color: #fff;
}
/* top */
.footer .top {
  margin-bottom: 50px;
}
.footer .logo {
  width: 100px;
  margin-bottom: 20px;
}
.footer .logo img {
  /* filter: var(--svg_white); */
}
.footer .top a {
  font-size: 1.2rem;
  font-weight: 500;
}
/* middle */
.footer .middle {
  padding-bottom: 70px;
}
.footer .middle nav {
  font-size: 1.6rem;
  font-weight: 500;
}
.footer .middle li:not(:last-child) {
  margin-bottom: 20px;
}
/* bottom */
.footer .bottom {
  border-top: 1px solid var(--line_dark_gray)
}
/* コピーライト */
.copy_right {
  width: 100%;
  font-size: 1.4rem;
  padding-top: 30px;
  padding-bottom: 80px;
  font-weight: 500;
}

/* --------------------
 スクロールアロー
-------------------- */
.f_page_top {
	position: absolute;
	bottom: 200px;
	right: 0px;
	z-index: 0;
}
.f_page_top .arrow {
  font-weight: 500;
  font-size: 1.2rem;
  display: inline-block;
  transform: rotate(90deg);
	color: #fff;
}
.f_page_top .line {
	position: absolute;
	bottom: 53px;
	right: 32px;
	height: 100px;
	overflow: hidden;
}
.f_page_top .line .solid {
	display: block;
	height: 100%;
	border-left: 1px solid #fff;
	animation: f_scroll 2.5s infinite;
	animation-timing-function: ease-out;
	box-sizing: border-box;
}
.f_page_top .line .transparent {
	display: block;
	height: 100%;
	border-left: 1px solid var(--line_dark_gray);
	box-sizing: border-box;
	/* transform: translateY(-100%); */
}
@keyframes f_scroll {
	0% {
		transform: translateY(0%);
	} 30% {
		transform: translateY(-100%);
	} 100% {
		transform: translateY(-200%);
	}
}

/****************************** tablet ******************************/
@media (min-width: 600px){
}

/****************************** tablet Pro ******************************/
@media (min-width: 1025px){

  .footer {
    padding-top: 120px;
  }
  .footer .inner {
    display: flex;
    justify-content: space-between;
  }

  .footer nav ul {
    display: flex;
    justify-content: flex-end;
  }
  .footer nav ul li:not(:first-child) {
    margin-left: 25px;
  }

  /* top */
  .footer .top {
    margin-bottom: 70px;
  }
  .footer .logo {
    width: 110px;
    margin-bottom: 0px;
  }
  /* middle */
  .footer .middle {
    padding-bottom: 0px;
  }
  /* bottom */
  .footer .bottom {
    display: flex;
    justify-content: space-between;
  }
  /* コピーライト */
  .copy_right {
    padding-top: 40px;
    padding-bottom: 120px;
  }

}
