@charset "utf-8";

#footer{
	width:100%;
	.bnr {
		display:grid;
		max-width:300px;
		margin:30px auto 45px;
		text-align:center;
		box-shadow:3px 3px 6px rgba(0,0,0,.1);
		border:1px solid #cccccc;
		padding:8px 20px 15px;
		span {
			padding-left:1.5em;
		}
	}
	.footer_inner{
		width:calc(100% - 60px);
		max-width:1200px;
		margin:0 auto;
		padding: 1em 0;
		border-top: #000000 solid 1px;
		border-bottom: #000000 solid 1px;
		display:grid;
		grid-template-columns:repeat(4,auto);
		grid-column-gap: 3em;
		p{
			font-size: 1.8rem;
			font-family: 'Lato', sans-serif;
			font-weight: 600;
			border-bottom: solid #000000 1px;
			padding-bottom: 0.75em;
		}
		ul{
			padding: 1em;
			li{
				line-height: 1.8;
				font-size: 1.5rem;
				&:not(:last-child) {
					margin-bottom: 0.5em;
				}
			}
		}
		.fmenu_inner{
			display:grid;
			grid-template-columns:repeat(2,auto);
			justify-content:space-between;
		}
	}
	.under_inner{
		width:calc(100% - 60px);
		max-width:1200px;
		margin:0 auto;
		height: auto;
		padding: 1.25em 0 3em;
		display:grid;
		grid-template-columns:repeat(2,auto);
		justify-content: space-between;
		.undermenu{
			font-size: 1.4rem;
			display: grid;
			grid-template-columns:repeat(3,auto);
			grid-column-gap: 2em;
		}
		.copy{
			font-size: 1.3rem;
		}
	}
	a {
		&.nolink {
			pointer-events: none;
			opacity: .66;
		}
	}
}

@media screen and (max-width:1200px){
	#footer {
		.footer_inner {
			grid-column-gap: 2.5em;
			p{
				font-size: 1.6rem;
			}
			ul{
				padding: 1em 0.5em;
				li{
					font-size: 1.4rem;
					&:not(:last-child){
						margin-bottom: 0.3em;
					}
				}
			}
			.fmenu_inner{
				display:grid;
				grid-template-columns:repeat(2,auto);
			}
		}
		.under_inner{
			padding: 1em 0 2em;
			.undermenu{
				font-size: 1.3rem;
			}
			.copy{
				font-size: 1.2rem;
			}
		}
	}
}

@media screen and (max-width:1024px){
	#footer{
		.footer_inner{
			grid-column-gap: 2em;
			p{
				font-size: 1.6rem;
			}
			ul{
				padding: 1em 0.2em;
				li{
					font-size: 1.4rem;
					&:not(:last-child){
						margin-bottom: 0.3em;
					}
				}
			}
			.fmenu_inner{
				grid-template-columns:auto;
				ul:first-child {
					padding-bottom:0;
				}
				ul:last-child {
					padding-top:0;
				}
			}
		}
		.under_inner{
			padding: 1em 0 50px;
			.undermenu{
				font-size: 1.3rem;
			}
			.copy{
				font-size: 1.2rem;
			}
		}
	}
}

@media screen and (max-width:768px){
	#footer{
		border-top: #000000 solid 1px;
		.footer_inner{
			display: none;
		}
		.under_inner{
			grid-template-columns: auto;
			justify-content: center;
			padding: 1.25em 0;
			.undermenu{
				font-size: min(3.6vw,1.4rem);
				margin-bottom: 0;
			}
			.copy{
				padding-top:1.75em;
				font-size: 1.2rem;
				justify-self: center;
			}
		}
	}
}