@charset "utf-8";
@import url("root.css");

/***************************************
---------------- FOOTER ----------------
***************************************/

footer {
    background:var(--base-color04);
    position: relative;
	

}


footer h1{
	display: block;
	width: 94%;
	max-width: 350px;
	margin: 0 auto 0;
	text-align: left;
	margin-bottom: 1rem;
}	
footer .shop_name h1 img{
	display: block;
	width: 100%;
	max-width: 283px;
	height: auto;
	margin: 0 auto 0;
}
footer .shop_name h1 span{
	display: block;
	font-size: 1.125rem!important ;
	font-weight: 700;
	border-top: 1px solid;
	padding: 10px 0px 30px;
}
@media screen and (max-width: 1024px) {
footer {
	padding-bottom: 80px;

}
}
@media screen and (max-width: 599px) {
footer {
	padding-bottom: 60px;

}

	
footer .container {
		padding-bottom: 0;
	}
}


/*--------------------------------------------------*/
.ft_left {
  width: calc(100% / 3);
  margin-left: 2%;
}

.ft_right {
  width: 60%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-left: auto;
  margin-right: 0%;
}

.ft_left ul {
  margin-top: 0px;
  padding-bottom: 30px;
}

.ft_right ul {
  width: 25%;
}

.ft_right ul.parent02 {
  width: 36%
}

.ft_right ul.parent03::before {
  content: "";
  display: block;
  height: 1.05rem;
  margin-bottom: 20px;
}

.ft_left ul li:not(:first-of-type), .ft_right ul li:not(:first-of-type) {
  margin-top: 15px;
  line-height: 1.0;
}

.ft_left ul li a, .ft_right ul li a {
  color: var(--base-color02);
  font-size: 1rem;
  line-height: 1.0;
}

.ft_left ul li a:hover, .ft_right ul li a:hover {
  text-decoration: underline;
}

footer .arrow::before {
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  content: "\f0a9";
  font-weight: 600;
  margin-right: 7px;
  color: var(--base-color01);
  font-size: 1rem;
}

footer .lower {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

footer .lower::before {
  content: "└";
  display: block;
  margin-right: 2px;
  margin-left: 0px;
}

@media screen and (max-width: 1024px) {
  .ft_left, .ft_right {
    width: 100%;
    margin: 0;
  }
  .ft_left {
    padding-bottom: 0px;
    margin-bottom: 0;
  }
  .ft_right ul {
    width: 100%
  }

  .ft_right {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: auto;
    margin-right: 0%;
  }
	.ft_right ul.parent01.sp {
	display: flex !important;
	flex-flow: row wrap;
    width: 100%;
	border-top: 1px solid var(--base-color01);
	border-bottom: 1px solid var(--base-color01);
	padding: 0rem 0 1rem;
  }
	.ft_right ul.parent01.sp li {
		width: 32% !important;
	}
	
	
  .ft_right ul.parent02 {
    width: 36%
  }
	.ft_right ul.parent03 {
    width: 48%
  }
  .ft_right ul.parent03::before {
    content: "";
    display: block;
    height: 2.5rem;
    margin-bottom: 20px;
  }
  .ft_left ul li:not(:first-of-type), .ft_right ul li {
    margin-top: 15px;
    line-height: 1.0;
  }
  .ft_left ul li a, .ft_right ul li a {
    font-size: 1.0625rem;
    line-height: 160%;
  }
  .ft_right ul li.lower a {
    line-height: 120%;
	font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
	.ft_right ul.parent01.sp li {
		width: 54% !important;
	}
	.ft_right ul.parent01.sp li:nth-child(even) {
		width: 40% !important;
	}
}
@media screen and (max-width: 599px) {
  .ft_right ul {
    width: 100%;
  }
  .ft_right ul.parent02 {
    width: 48%
  }
  .ft_right ul.parent03 {
    width: 48%
  }
}
/*--------------------------------------------------*/
footer .pc {
	display: none !important;
}
footer .sp {
	display: block !important;
}
@media screen and (min-width: 1025px) {
footer .pc {
	display: block !important;
}
footer .sp {
	display: none !important;
}
}

/*--------------------------------------------------*/
.copyright {
  font-size: 1rem;
  width: 100%;
  margin-top: 50px;
  text-align: center;
  color: var(--base-color03);
  background: var(--base-color01);
  padding: 20px;
  border-top: 3px solid var(--base-color01);
}

@media screen and (max-width: 1024px) {
  .copyright {
    font-size: 1rem;
    width: 100%;
    margin-top: 50px;
    text-align: center;
    color: var(--base-color01);
    background: var(--base-color03);
    padding: 10px;
    border-top: 3px solid var(--base-color01);
  }
}
/*--------------------------------------------------*/
#page_top a {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  bottom: 100px;
  color: var(--base-color03);
  text-align: center;
  background: var(--base-color01);
  width: 64px;
  height: 64px;
  border-radius: 5px 0 0 5px;
  /*box-shadow: 0px 0px 0px 2px var(--sub-color02);*/
}

#page_top a::before {
  display: block;
  font-family: "Font Awesome 5 Free";
  content: "\f139";
  font-weight: 600;
  margin-bottom: 5px;
  margin-top: -5px;
}

#page_top a span {
  font-size: .875rem;
  font-weight: normal;
  line-height: 1.0;
}

@media only screen and (max-width:1024px) {
#page_top {
  display: none;
}
}

#page_top a span {
  font-size: .75rem;
  font-weight: bold;
  line-height: 1.0;
}
