@charset "utf-8";

/*
	PC用スタイル大
*/
@media screen and (min-width: 769px) {

#footer-contact { display:block; height:420px; position:relative; overflow:hidden; color:#fff; }
#footer-contact:before { display:block; content:""; position:absolute; left:0; top:0; width:100%; height:100%; background:linear-gradient(90deg, rgba(0,58,155,1) 0%, rgba(11,43,96,1) 80%); transition:0.3s ease-in-out; }
#footer-contact:after { display:block; content:""; position:absolute; left:0; top:0; width:100%; height:100%; background:linear-gradient(90deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 80%); transition:0.3s ease-in-out; }
#footer-contact > .inner { max-width:1100px; margin:0 auto; text-align:center; z-index:2; position:relative; }
#footer-contact > .inner:after { display:block; content:""; position:absolute; right:32px; top:255px; background:url(../img/common/img_arrow01.png) no-repeat; background-size:cover; width:58.5px; height:9px; transition:0.2s ease-in-out; }
#footer-contact > .inner:before { display:block; content:""; position:absolute; right:0px; top:237px; width:45px; height:45px; border:1px solid #fff; border-radius:50px; opacity:0.3; transition:0.2s ease-in-out; }
#footer-contact h2 { padding:138px 0 0 0; }
#footer-contact h2 span:nth-child(1) { display:block; font-family:'Noto Serif JP'; font-weight:700; font-size:18px; margin-bottom:20px; }
#footer-contact h2 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:40px; margin-bottom:40px; }
#footer-contact p { letter-spacing:2px;}
#footer-contact:hover { text-decoration:none; }
#footer-contact:hover:after { opacity:0; }
#footer-contact:hover > .inner:after { right:22px; }
#footer-contact:hover > .inner:before { width:52px; height:52px; top:233px; opacity:1; border-color:#069BF8; }

#footer { padding:0; position:relative; box-sizing:content-box;  }
#footer ul li { list-style-type:none; }
#footer-inner { max-width:1100px; margin:0 auto; padding:80px 20px; box-sizing: content-box; position:relative; }
#footer-inner a { }
#footer .page-top { opacity:0; position:fixed; right:50px; bottom:50px; z-index:999; transition:0.3s ease-in-out; }
#footer .page-top.visible { opacity:1; }
#footer .page-top.end { opacity:0; }
#footer .page-top a { /* position:fixed; bottom:45px; margin-left:-80px; */ color:#23793a; background:url(../img/common/pagetop.png) no-repeat left center; background-size:	21px 134px; width:21px; height:134px; display:block; text-indent:-9999px; transition:0.3s ease-in-out; }
#footer .page-top a:hover { opacity:0.7; }
#footer .footer-gnav-wrapper { text-align:center; }
#footer .footer-gnav { display:flex; flex-wrap:nowrap; position:relative; }
#footer .footer-gnav .nav { text-align:left; padding:0 0; display:flex; padding:0 20px 0 0; box-sizing: content-box; }
#footer .footer-gnav .nav:nth-child(1) {  width:calc(270 / 1100 * 100%); }
#footer .footer-gnav .nav:nth-child(2) {  width:calc(250 / 1100 * 100%); }
#footer .footer-gnav .nav:nth-child(3) {  width:calc(250 / 1100 * 100%); padding:0; }
#footer .footer-gnav .nav ul { margin:0; }
#footer .footer-gnav li { font-weight:700; padding:0; position:relative; padding:0; margin:0 0 18px; line-height:140%; /* white-space:nowrap; */ }
#footer .footer-gnav li:last-child { margin-bottom:0; }
#footer .footer-gnav li.child { font-weight:400; }
#footer .footer-gnav li a { position:relative; }
#footer .footer-gnav li a:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#0F213F; transition:0.2s ease-in-out; }
#footer .footer-gnav li a:hover { text-decoration:none; }
#footer .footer-gnav li a:hover:before { width:100%; }
#footer .footer-gnav li a[target=_blank] { margin-right:35px; }
#footer .footer-gnav li a[target=_blank]:after { content:""; display:block; position:absolute; right:-35px; top:50%; transform:translateY(-50%); background:url(../img/common/ico_blank.png) no-repeat; background-size:cover; width:15px; height:15px; transition:0.3s ease-in-out; }
#footer .footer-gnav li a[target=_blank]:hover:after { background-image:url(../img/common/ico_blank_on.png); }
#footer .logo-group { display:block; position:relative; margin-bottom:50px; }
#footer .logo-group:hover { text-decoration:none; }
#footer .logo-group img { width:208px; }
#footer .sns { position:absolute; right:94px; top:180px; }
#footer .sns:before { content:"ゼンコーグループ公式SNS"; display:block; font-size:14px; font-weight:700; text-align:center; margin-bottom:12px; }
#footer .sns ul { display:block; text-align:center; margin-bottom:50px; }
#footer .sns li { display:inline-block; margin:0 18px 0; padding:0; }
#footer .sns li a { vertical-align:top; position:relative; display:inline-block; }
#footer .sns li a img { vertical-align:top; transition:opacity 0.3s ease-in-out; }
#footer .sns .facebook:after { content:"facebook"; display:block; font-size:12px; font-weight:400; text-align:center; margin-bottom:4px; }
#footer .sns .facebook a:hover img { opacity:0.7; }
#footer .sns .youtube:after { content:"Youtube"; display:block; font-size:12px; font-weight:400; text-align:center; margin-bottom:4px; }
#footer .sns .youtube a:hover img { opacity:0.7; }
#footer .copyright-group { background:linear-gradient(90deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 100%); }
#footer .copyright-group > .inner { max-width:1100px; margin:0 auto; padding:22px 20px; box-sizing: content-box; position:relative; }
#footer .utils { position:relative; }
#footer .utils ul { margin:0; }
#footer .utils li { display:inline; margin:0 50px 0 0; }
#footer .utils a { font-size:14px; color:#fff; position:relative; }
#footer .utils a:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#fff; transition:0.2s ease-in-out; }
#footer .utils a:hover { text-decoration:none; }
#footer .utils a:hover:before { width:100%; }
#footer .copyright { color:#fff; font-size:14px; position:absolute; right:20px; top:50%; transform:translateY(-50%); }	

#footer-banner { padding:100px 0 60px; position:relative; box-sizing:content-box;  background:#F5F3F0; }
#footer-banner > .inner { max-width:1100px; margin:0 auto; padding: 0 20px; box-sizing: content-box; position:relative; }
#footer-banner ul { display:flex; flex-wrap:nowrap; margin:0; padding:0; position:relative; }
#footer-banner ul:nth-child(1):before { content:"ゼンコーグループサイト"; display:block; font-weight:500; text-align:center; position:absolute; left:0; top:-30px; }
#footer-banner ul:nth-child(1) li { margin:0; padding:0; list-style-type:none; width:calc(250 / 1100 * 100%); margin-right:calc(20 / 1100 * 100%); }
#footer-banner ul:nth-child(1) li:last-child { margin-right:0; }
#footer-banner ul:nth-child(2) { position:absolute; right:20px; top:0; display:block; width:100%; }
#footer-banner ul:nth-child(2) li { position:absolute; margin:0; padding:0; list-style-type:none; width:calc(250 / 1100 * 100%); right:0; top:0; }
#footer-banner ul:nth-child(2) li:before { content:"協力行政書士法人"; display:block; font-weight:500; text-align:center; position:absolute; left:0; top:-30px; }
#footer-banner a { display:block; transition:opacity 0.3s ease-in-out;}
#footer-banner a:hover { opacity:0.7; }


body.contact #footer-contact { display:none; }
body.contact #footer { border-top:1px solid #E2E2E2; }

}


/*
	PC用スタイル小
*/
@media screen and (min-width: 769px) and (max-width: 1099px) {
	

#footer .sns { right:3%; }


}




/*
	SP用スタイル
*/
@media screen and (max-width: 768px) {
	
#footer-contact { display:block; height:285px; position:relative; overflow:hidden; color:#fff; }
#footer-contact:before { display:block; content:""; position:absolute; left:0; top:0; width:100%; height:100%; background:linear-gradient(90deg, rgba(0,58,155,1) 0%, rgba(11,43,96,1) 100%); transition:0.3s ease-in-out; }
#footer-contact:after { display:block; content:""; position:absolute; left:0; top:0; width:100%; height:100%; background:linear-gradient(90deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 100%); transition:0.3s ease-in-out; }
#footer-contact > .inner { max-width:1100px; margin:0 auto; text-align:center; z-index:2; position:relative; }
#footer-contact > .inner:after { display:block; content:""; position:absolute; left:calc(50% - 18px); transform:translateX(-50%); top:208px; background:url(../img/common/img_arrow01.png) no-repeat; background-size:cover; width:58.5px; height:9px; transition:0.2s ease-in-out; }
#footer-contact > .inner:before { display:block; content:""; position:absolute;  left:calc(50% + 18px); transform:translateX(-50%); top:190px; width:45px; height:45px; border:1px solid #fff; border-radius:50px; opacity:0.3; transition:0.2s ease-in-out; }
#footer-contact h2 { padding:50px 0 0 0; }
#footer-contact h2 span:nth-child(1) { display:block; font-family:'Noto Serif JP'; font-weight:700; font-size:18px; margin-bottom:20px; }
#footer-contact h2 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:30px; margin-bottom:30px; }
#footer-contact p { letter-spacing:2px;}
#footer-contact:hover { text-decoration:none; }
#footer-contact:hover:after { opacity:0; }
#footer-contact:hover > .inner:after { left:calc(50% - 8px); }
#footer-contact:hover > .inner:before { width:52px; height:52px; top:186px; opacity:1; border-color:#069BF8; }

#footer { padding:0; position:relative; box-sizing:content-box;  }
#footer ul li { list-style-type:none; }
#footer-inner { max-width:1100px; margin:0 auto; padding:40px 20px; box-sizing: content-box; position:relative; }
#footer-inner a { }
#footer .page-top { opacity:0; position:fixed; right:10px; bottom:20px; z-index:999; transition:0.3s ease-in-out; }
#footer .page-top.visible { opacity:1; }
#footer .page-top.end { opacity:0; }
#footer .page-top a { /* position:fixed; bottom:45px; margin-left:-80px; */ color:#23793a; background:url(../img/common/pagetop.png) no-repeat left center; background-size:	21px 134px; width:21px; height:134px; display:block; text-indent:-9999px; transition:0.3s ease-in-out; }
#footer .page-top a:hover { opacity:0.7; }
#footer .footer-gnav-wrapper { text-align:center; }
#footer .footer-gnav { display:none; }
#footer .logo-group { display:block; text-align:center; position:relative; margin-bottom:40px; }
#footer .logo-group:hover { text-decoration:none; }
#footer .logo-group img { width:150px; }
#footer .sns { }
#footer .sns:before { content:"ゼンコーグループ公式SNS"; display:block; font-size:14px; font-weight:700; text-align:center; margin-bottom:12px; }
#footer .sns ul { display:block; text-align:center; margin-bottom:0px; }
#footer .sns li { display:inline-block; margin:0 18px 0; padding:0; }
#footer .sns li a { vertical-align:top; position:relative; display:inline-block; }
#footer .sns li a img { vertical-align:top; transition:opacity 0.3s ease-in-out; }
#footer .sns .facebook:after { content:"facebook"; display:block; font-size:12px; font-weight:400; text-align:center; margin-bottom:4px; }
#footer .sns .facebook a:hover img { opacity:0.7; }
#footer .sns .youtube:after { content:"Youtube"; display:block; font-size:12px; font-weight:400; text-align:center; margin-bottom:4px; }
#footer .sns .youtube a:hover img { opacity:0.7; }
#footer .copyright-group { background:linear-gradient(90deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 100%); }
#footer .copyright-group > .inner { max-width:1100px; margin:0 auto; padding:35px 20px; box-sizing: content-box; position:relative; }
#footer .utils { position:relative; }
#footer .utils ul { margin:0; white-space:nowrap;  }
#footer .utils li { display:inline; margin:0 50px 0 0; white-space:nowrap;  }
#footer .utils a { font-size:14px; color:#fff; position:relative; white-space:nowrap; }
#footer .utils a:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#fff; transition:0.2s ease-in-out; }
#footer .utils a:hover { text-decoration:none; }
#footer .utils a:hover:before { width:100%; }
#footer .copyright { color:#fff; font-size:10px; margin-top:30px; }	

#footer-banner { padding:80px 0 50px; position:relative; box-sizing:content-box;  background:#F5F3F0; }
#footer-banner > .inner { max-width:1100px; margin:0 auto; padding: 0 20px; box-sizing: content-box; position:relative; }
#footer-banner ul:nth-child(1) { display:flex; flex-wrap:wrap; width:340px; margin:0 auto; padding:0; position:relative; }
#footer-banner ul:nth-child(1):before { content:"ゼンコーグループサイト"; display:block; font-size:14px; font-weight:500; text-align:center; position:absolute; left:50%; transform:translateX(-50%); top:-35px; white-space:nowrap; }
#footer-banner ul:nth-child(1) li { margin:0; padding:0; list-style-type:none; width:156px; margin-right:28px; margin-bottom:20px; }
#footer-banner ul:nth-child(1) li:nth-child(2n) { margin-right:0; }
#footer-banner ul:nth-child(2) { text-align:center; margin:65px 0 0; position:relative; }
#footer-banner ul:nth-child(2) li { display:inline-block; list-style-type:none; width:156px; position:relative; margin:0;  }
#footer-banner ul:nth-child(2):before { content:"協力行政書士法人"; display:block; font-size:14px; font-weight:500; text-align:center; position:absolute; left:50%; transform:translateX(-50%); top:-35px; white-space:nowrap; }
#footer-banner a { display:block; transition:opacity 0.3s ease-in-out;}
#footer-banner a:hover { opacity:0.7; }


body.contact #footer-contact { display:none; }
body.contact #footer { border-top:1px solid #E2E2E2; }

	
}
