@charset "UTF-8";

/* --------------------------------------------------------------------
　フッタ基本設定
-------------------------------------------------------------------- */
footer{
width:100%;
overflow:hidden;
}
@media screen and (max-width:768px){
	footer{
	margin-top:80px;
	}
}

/* --------------------------------------------------------------------
　サービス一覧設定
-------------------------------------------------------------------- */
footer > #footer-service-list{
margin:0 auto;
width:100%;
border-top:10px solid #f0f0f0;
border-bottom:10px solid #f0f0f0;
}
footer > #footer-service-list > ul{
max-width:1044px;
min-width:1044px;
width:100%;
display:flex;
flex-wrap:wrap;
align-items:stretch;
justify-content:center;
width:100%;
margin:0 auto;
padding:0 20px;
}
footer > #footer-service-list > ul > li{
width:25%;
padding:40px 20px;
line-height:1.3;
}
footer > #footer-service-list > ul > li{
border-left:2px solid #f0f0f0;
}
footer > #footer-service-list > ul > li:last-child{
border-right:2px solid #f0f0f0;
}
footer > #footer-service-list > ul > li > a > .title{
display:flex;
align-items:center;
letter-spacing:0;
}
footer > #footer-service-list > ul > li > a > .title > span{
font-size:50px;
margin-right:10px;
}
footer > #footer-service-list > ul > li > a > .title > p{
font-size:16px;
font-weight:600;
}
footer > #footer-service-list > ul > li > a > .ex{
margin:20px 0 0 0;
font-size:12px;
letter-spacing:0;
}
footer > #footer-service-list > ul > li > a > .link{
margin:20px 0 0 0;
font-size:12px;
text-decoration:underline;
}
@media screen and (max-width:768px){
	footer > #footer-service-list > ul{
	padding:0;
	min-width:unset;
	}
	footer > #footer-service-list > ul > li,
	footer > #footer-service-list > ul > li:first-child,
	footer > #footer-service-list > ul > li:last-child{
	width:50%;
	padding:20px;
	border-right:0;
	border-left:0;
	}
	footer > #footer-service-list > ul > li:nth-child(1),
	footer > #footer-service-list > ul > li:nth-child(2){
	border-bottom:2px solid #f0f0f0;
	}
	footer > #footer-service-list > ul > li:nth-child(even){
	border-left:2px solid #f0f0f0;
	}
	footer > #footer-service-list > ul > li > a > .title{
	display:block;
	}
	footer > #footer-service-list > ul > li > a > .title > span{
	margin:0 auto 20px auto;
	display:block;
	text-align:center;
	}
	footer > #footer-service-list > ul > li > a > .title > p{
	text-align:center;
	font-size:15px;
	}
	footer > #footer-service-list > ul > li > a > .ex{
	font-size:10px;
	}
	footer > #footer-service-list > ul > li > a > .link{
	text-align:center;
	}
}

/* --------------------------------------------------------------------
　フッタメニュー設定
-------------------------------------------------------------------- */
#footer-menu-wrap{
background:#545454;
}
#footer-menu-wrap > #main-menu-contents{
max-width:1024px;
min-width:1024px;
width:100%;
margin:auto;
padding:60px 20px;
display:grid;
grid-template-columns:calc(50% - 80px) repeat(2,25%);
align-items:flex-start;
gap:0 40px;
}
#footer-menu-wrap > #main-menu-contents > #footer-search-contents > form{
max-width:450px;
background:#888;
display:flex;
flex-wrap:wrap;
align-items:center;
padding:5px 10px;
border-radius:5px;
}
#footer-menu-wrap > #main-menu-contents > #footer-search-contents > form > ion-icon{
font-size:20px;
color:#fff;
margin:0 10px 0 0;
}
#footer-menu-wrap > #main-menu-contents > #footer-search-contents > form > input::placeholder{
color:#fff;
letter-spacing:0;
}
#footer-menu-wrap > #main-menu-contents > #footer-search-contents > form > input[type="text"]{
height:20px;
width:calc(100% - 30px);
}
#footer-menu-wrap > #main-menu-contents > ul{
display:flex;
flex-wrap:wrap;
}
#footer-menu-wrap > #main-menu-contents > ul > li{
width:calc(100% / 2);
margin-bottom:10px;
letter-spacing:0;
}
#footer-menu-wrap > #main-menu-contents > ul > li > a{
line-height:1.5;
font-size:12px;
display:block;
color:#fff;
}
#footer-menu-wrap > #main-menu-contents > ul > li.title{
width:100%;
font-size:11px;
color:#bfbfbf;
font-weight:600;
margin-bottom:15px;
}

#footer-menu-wrap > #sub-menu-contents{
border-top:1px solid #707070;
width:100%;
padding:15px 0;
}
#footer-menu-wrap > #sub-menu-contents > div{
max-width:1024px;
min-width:1024px;
width:100%;
margin:auto;
padding:0 20px;
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
}
#footer-menu-wrap > #sub-menu-contents > div > ul{
display:flex;
flex-wrap:wrap;
align-items:center;
}
#footer-menu-wrap > #sub-menu-contents > div > ul > li{
margin:0 15px 0 0;
}
#footer-menu-wrap > #sub-menu-contents > div > ul > li > a{
color:#cfcfcf;
font-size:11px;
letter-spacing:0;
}
#footer-menu-wrap > #sub-menu-contents > div > p{
color:#888;
font-size:10px;
letter-spacing:.02em;
display:flex;
flex-wrap:wrap;
}

@media screen and (max-width:768px){
	#footer-menu-wrap > #main-menu-contents{
	width:calc(100% - 40px);
	margin:auto;
	padding:40px 0;
	min-width:unset;
	grid-template-columns:1fr;
	}
	#footer-menu-wrap > #main-menu-contents > #footer-search-contents,
	#footer-menu-wrap > #main-menu-contents > #footer-search-contents > form{
	width:100%;
	}
	#footer-menu-wrap > #main-menu-contents > ul:nth-child(2),
	#footer-menu-wrap > #main-menu-contents > ul:nth-child(3){
	width:100%;
	margin:20px 0 0 0;
	}
	#footer-menu-wrap > #sub-menu-contents > div{
	padding:0;
	min-width:unset;
	}
	#footer-menu-wrap > #sub-menu-contents > div > ul{
	margin:auto;
	}
	#footer-menu-wrap > #sub-menu-contents > div > ul > li{
	margin:0 10px 0 0;
	}
	#footer-menu-wrap > #sub-menu-contents > div > ul > li > a{
	font-size:8px;
	}
	#footer-menu-wrap > #sub-menu-contents > div > p{
	text-align:center;
	margin:5px auto 0 auto;
	}
}