@charset "UTF-8";

body {
	background: url(../images/main_bg.jpg) no-repeat center top;
	background-attachment: fixed;
	background-size: cover;
}

header {
	margin-top: 120px;
	margin-bottom: 80px;
	padding: 30px 0 50px;
}
header.fixed {
	width: 100%;
	margin-top: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
}
header.white {
	transition: all .5s;
	background: #FFF;
}
header #logos {
	width: 810px;
	text-align: left;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
	z-index: -1;
}
header #logos h1 {
	margin-right: 60px;
}
header #logos ul {
	margin-bottom: 15px;
}
header #logos ul li {
	margin: 0 10px;
	display: inline-block;
}

footer {
	color: #FFF;
	background: #686767;
	padding: 70px 0 45px;
	position: relative;
}
footer::before,
footer::after {
	content: " ";
	width: 100%;
	height: 4px;
	background: url(../images/footer_s_01.png) repeat-x;
	position: absolute;
	left: 0;
}
footer::before { top: 18px; }
footer::after { bottom: 18px; }

footer .row {
	width: 900px;
	text-align: left;
	margin: 0 auto;
	display: flex;
	align-items: center;
}
footer .row .logo {
	width: 185px;
	margin: 0 80px 0 0;
}
footer .row .text a {
	color: #FFF;
	text-decoration: none;
}
footer .row .text a:hover {
	text-decoration: underline;
}
footer .row .text .title {
	margin: 0 0 5px;
}
footer .row .text > div {
	font-size: .875rem;
	display: flex;
}
footer .row .text > div > div {
	margin-right: 80px;
}
footer .row .text > div > div p {
	margin: 0 0 2px;
}
footer .row .text > div > div .level2::before {
	content: "└ ";
}
footer .copyright {
	margin: 40px 0 0 0;
}


.bnrs {
	width: 810px;
	text-align: left;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

#company {
	color: #FFF;
	background: rgba(128,128,128,.82);
	margin: 150px 0 0 0;
	padding: 120px 0;
}
#company h2 {
	margin: 0 0 110px;
}
#company dl {
	width: 640px;
	text-align: left;
	margin: 0 auto 80px;
}
#company dl dt {
	width: 4em;
	text-align: right;
	float: left;
}
#company dl dd {
	margin: 0 0 2.5em;
	padding: 0 0 0 6em;
}
#company dl dd.margin {
	margin-bottom: 1em;
}
#company dl dd ul.shops li {
	margin: 0 0 1em;
}

#contact {
	color: #FFF;
	background: rgba(128,128,128,.82);
	margin: 0;
	padding: 120px 0;
}
#contact h2 {
	text-align: center;
	margin: 0 0 30px;
}
#contact .subtit {
	text-align: center;
	margin: 0 0 80px;
}
#contact .form {
	width: 800px;
	text-align: left;
	margin: 0 auto;
}
#contact .form dt {
	width: 220px;
	text-align: right;
	padding: 15px 80px 10px 0;;
	float: left;
	position: relative;
}
#contact .form dt.required::after {
	content: "※必須";
	font-size: .75rem;
	position: absolute;
	top: 17px;
	right: 0;
}
#contact .form dd {
	min-height: calc(2em + 20px);
	padding: 10px 0 10px 250px;
}
#contact .form dd.pad {
	padding-top: 15px;
	padding-bottom: 15px;
}
#contact .form dd #zipbtn a {
	color: #FFF;
	text-decoration: none;
	background: #c1c1c1;
	margin: 0 0 0 1em;
	padding: 3px .5em;
	display: inline-block;
}
#contact .form .agree {
	text-align: center;
	margin: 20px 0 0;
}
#contact .form .submitBtn {
	margin: 40px 0 0 0;
}
#contact .form input[type="submit"] {
	color: #FFF;
	font-size: 1.25rem;
	background: #5B5B5B;
	padding: 10px 2em;
}

#contact .privacy {
	width: 810px;
	text-align: left;
	margin: 120px auto 100px;
}
#contact .privacy .honbun {
	font-size: .9375rem;
}
#contact .privacy .honbun .midashi {
	margin-top: 1.5em;
}






