@charset "utf-8";
/*===================
footer
===================*/
footer {
  padding-top: 60px;
  position: relative;
  z-index: 2;
}
.footer_inner {
	width:90vw;
	max-width:950px;
	margin:0 auto;
}

.footer__nav {
	padding:25px 0;
	display:flex;
	flex-direction:column;
	gap:15px;
}
.footer__nav ul {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 0;
}
.footer__nav ul li a {
	line-height:1.2;
  padding:0 1.2em;
  position:relative;
}
.footer__nav ul li:not(:last-child) a::after {
  	content:"";
	display:block;
	width:1px;
	height:80%;
	background-color:#555;
	position:absolute;
	top:50%;
	right:0;
	transform:translateY(-50%);
}
.fnav_info {
  font-size:20px;
  border-top:1px solid #555555;
  border-bottom:1px solid #555555;
  padding:10px 5px;
  margin-bottom:10px;
}

.fnav_list {
  font-size:16px;
}

.fnav_list_content {
	display:flex;
	flex-direction:column;
	gap:15px;	
}
.fnav_list_btn {
	display:none;
	font-size: 14px;
        font-weight: bold;
        color: #fff;
        padding: 15px 20px;
        background-color: #3f64ab;
	position:relative;
}
.group_btn {
    width: 30px;
    height: 30px;
    padding: 0;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    right: 15px;
    z-index: 10;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.group_btn span {
    width: 20px;
    height: 3px;
    margin: 0 auto;
    background-color: #fff;
    position: absolute;
    left: 0;
    right: 0;
}
.group_btn span:nth-of-type(1) {
    top: 14px;
}
.group_btn span:nth-of-type(2) {
    top: 14px;
    -webkit-transform: translateY(0px) rotate(-90deg);
    transform: translateY(0px) rotate(-90deg);
}

.group_btn.active span:nth-of-type(1) {
    -webkit-transform: translateY(0px) rotate(-180deg);
    transform: translateY(0px) rotate(-180deg);
}
.group_btn.active span:nth-of-type(2) {
    -webkit-transform: translateY(0px) rotate(180deg);
    transform: translateY(0px) rotate(180deg);
}	    

#totop {
	margin:0 auto 6px;
	width:90px;
	height:75px;
	transition: transform 0.3s ease; 
}
#totop span {
	color:#a7944c;
	font-size:15px;
	letter-spacing:0.2em;
	text-align:center;
	display:block;
	padding-top:58px;
	position:relative;
}
#totop span::before {
	content:"";
	display:block;
	width:2px;
	height:49px;
	background-color:#a7944c;
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);
}
#totop:hover {
	transform: translateY(-7px); 	
}
/*#totop:hover span {
	text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
}
#totop:hover span::before {
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.16);
}*/


.footer__copy {
  padding:18px 10px;
  background-color:#a7944c;
}
.footer__copy p {
  color:#fff;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0.1em;
}


@media screen and (max-width: 1200px) {
.fnav_info {
  font-size:clamp(16px,1.66vw,20px);
}

.fnav_list {
  font-size:clamp(14px,1.33vw,16px);
}

}

@media screen and (max-width: 640px) {
.fnav_list_btn {
	display:block;
}
/*.group_btn {
	display:block;
}*/
.fnav_list_content {
	display:none;
}
.footer__nav {
	gap:0;
}
.fnav_list_wrap .footer__nav ul {
	gap:0;
}
.fnav_info {
	margin-bottom:0;
}
.footer__nav ul li:not(:last-child) a::after {
	display:none;
}
.fnav_list {
	display:flex;
	flex-direciton:column;
	flex-wrap:wrap;
	background-color: #5b86d8;
}
.fnav_list li {
	width:100%;
	border-top: 1px solid #e4e4e4;
}
.footer__nav ul.fnav_list li a {
        color: #fff;
        padding: 10px 20px;
}


}
@media screen and (max-width: 480px) {
	.fnav_info {
		padding: 25px 5px;
	}
}

@media screen and (max-width: 375px) {
}
