
#footer {
	margin-top: -8px;
}

/* bg */
.bg {
	background: #fffc00;
	position: relative;
	min-width: 1200px;
	margin-top: -7px;
	padding: 8px 0;
}
.bg:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/pc/sagase/campaign_bg_1.png) repeat;
	background-position: 0;
	-webkit-animation: campaign_before 3.2s infinite forwards;
	animation: campaign_before 3.2s infinite forwards;
	overflow: hidden;
}
@-webkit-keyframes campaign_before {
	0% {
		background-position: 0px;
	}
	30% {
		background-position: 100px;
	}
	100% {
		background-position: 100px;
	}
}
@keyframes campaign_before {
	0% {
		background-position: 0px;
	}
	30% {
		background-position: 100px;
	}
	100% {
		background-position: 100px;
	}
}
.bg:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/pc/sagase/campaign_bg_2.png) repeat;
	background-position: 60px;
	-webkit-animation: campaign_after 3.2s infinite forwards;
	animation: campaign_after 3.2s infinite forwards;
	overflow: hidden;
}
@-webkit-keyframes campaign_after {
	0% {
		background-position: 160px;
	}
	30% {
		background-position: 60px;
	}
	100% {
		background-position: 60px;
	}
}
@keyframes campaign_after {
	0% {
		background-position: 160px;
	}
	30% {
		background-position: 60px;
	}
	100% {
		background-position: 60px;
	}
}
.bg .inner {
	position: relative;
	z-index: 1;
	overflow: hidden;
	width: 1200px;
	margin: 0px auto;
}

/* ttl_area */
.ttl_area {
	position: relative;
	z-index: 1;
	overflow: hidden;
	width: 1200px;
	height: 350px;
}
.ttl_area .ttl_area_img {
	position: absolute;
	top: 155px;
	left: 686px;
}
.ttl_area .ttl_area_ttl {
	position: absolute;
	top: 25px;
	left: 280px;
}
.ttl_area .ttl_area_txt {
	position: absolute;
	top: 261px;
	left: 296px;
}

/* form */
#form {
	margin-top: 69px;
	margin-bottom: 97px;
}
#form.shared {
	margin-top: 150px;
}
#form .form_area {
	width: 960px;
	margin: 0px auto;
	box-sizing: border-box;
	border-radius: 50px;
	background: #8fc43d;
	padding: 5px;
	border: 12px solid #fff;
	box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.16);
}
#form .form_area .inbox {
	box-sizing: border-box;
	border-radius: 36px;
	background: #ffffff;
	width: 100%;
	height: 100%;
	position: relative;
	text-align: center;
	padding: 1px;
	padding-bottom: 50px;
}
#form h2 {
	margin-top: -68px;
}
#form .txt {
	margin-top: 40px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}
#form.thanks .txt {
	margin-top: 45px;
}
#form .ttl_area_subttl_thanks_2 {
	margin-top: 45px;
}
#form .txt .attention {
	font-size: 16px;
	font-weight: normal;
	color: #e50012;
}
#form form {
	width: 800px;
	margin: 45px auto 0;
	text-align: left;
	color: #8fc43d;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}
#form table {
	width: 100%;
	table-layout: fixed;
	border-bottom: 3px solid #8fc43d;
}
#form table th {
	border-top: 3px solid #8fc43d;
	background: #fffc00;
	box-sizing: border-box;
	padding: 20px;
	width: 200px;
	font-weight: bold;
	vertical-align:top;
}
#form table .confirm th {
	padding: 10px 20px;
	line-height: 1.1;
}
#form table .confirm th .small {
	font-size: 16px;
}
#form table td {
	border-top: 3px solid #8fc43d;
	box-sizing: border-box;
	padding: 5px 10px;
	padding-right: 0;
}
#form.confirm table td {
	padding: 5px 20px;
}
input[type=text],
input[type=number],
input[type=tel] {
	display: inline-block;
	border: none;
	background: #eaf8d4;
	height: 48px;
	line-height: 48px;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	padding: 0 10px;
	font-size: 20px;
	font-weight: bold;
	color: #8fc43d;
	width: 100%;
}
select {
	display: inline-block;
	box-sizing: border-box;
	position: relative;
	border: 2px solid #8fc43d;
	background: transparent;
	width: 240px;
	height: 48px;
	line-height: 48px;
	text-align: center;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	color: #8fc43d;
	font-size: 20px;
	font-weight: bold;
	position: relative;
	z-index: 1;
	margin-top: 1px;
	padding: 0 12px;
	line-height: 1;
}
input.input_size_1 {width: 90px;}
input.input_size_2 {width: 120px;}
input.input_size_3 {width: 240px;}
input[type=radio] {
	display: none;
}
input[type=radio] + label {
	padding-left: 30px;
	margin-right: 38px;
	background: url(../img/pc/sagase/radio.png) no-repeat 0 50%;
}
input[type=radio]:checked + label {
	background: url(../img/pc/sagase/radio_on.png) no-repeat 0 50%;
}
#form select option:first-child {
	display: none;
}
#form .address_wrap {
	display: inline-block;
	position: relative;
}
#form .address_wrap:after {
	content: "";
	position: absolute;
	width: 0px;
	height: 0px;
	border: 6px solid transparent;
	border-top: 8px solid #8fc43d;
	top: 22px;
	right: 15px;
}
#form .box {
	margin-top: 8px;
}
#form .bottom_txt {
	margin-top: 45px;
	font-size: 16px;
	line-height: 24px;
	color: #000;
}
#form .btn_area {
	text-align: center;
	margin-top: 56px;
}
#form.thanks .btn_area {
	margin-top: 50px;
}
#form.thanks .btn_area a + br + a {
	margin-top: 26px;
}
#form .btn_area a {
	width: 400px;
	height: 82px;
	line-height: 82px;
	background: #ad0015;
	display: inline-block;
	color: #fff;
	border-radius: 10px;
	text-decoration: none;
	font-size: 24px;
	font-weight: bold;
}
#form.thanks .btn_area a {
	background: #74a922;
}
#form .btn_area a .inner {
	width: 100%;
	height: 82px;
	background: #e50012;
	display: block;
	position: relative;
	top: -6px;
	border-radius: 10px;
}
#form.thanks .btn_area a .inner {
	background: #8fc43d;
}
#form .btn_area a .inner:after {
	content: "";
	display: block;
	position: absolute;
	top: 33px;
	right: 23px;
	width: 12px;
	height: 12px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#form .btn_area a:hover {
	opacity: 1!important;
}
#form .btn_area a:hover .inner {
	top: -3px;
}
#form .btn_area a.back {
	width: 220px;
	height: 48px;
	line-height: 48px;
	background: #444444;
	font-size: 16px;
	margin-top: 25px;
	}
#form .btn_area a.back .inner {
	height: 48px;
	background: #666666;
}
#form .btn_area a.back .inner:after {
	top: 19px;
	right: auto;
	left: 19px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-135deg);
	width: 8px;
	height: 8px;
}

/* error-message */
#form .error-message {
	color: #e50012;
	margin-top: 5px;
	font-size: 16px;
	font-weight: normal;
}