@charset "UTF-8";
/********** ALL **********/
body {
	font-family: "ＭＳ Ｐゴシック", "ＭＳ Ｐ明朝";
	background-color: transparent;
	background: url(../img/sfi_w02.gif);
	border-collapse: collapse;
}
a:link {
	color: #2f2f2f;
}
a:visited {
	color: #1111ff;
}

/********** 共通 **********/
.container {
	width: 810px;
	margin: 0 auto;
	background: #fff;
}
.container * {
	box-sizing: border-box;
}
.title {
	padding: 15px;
}
.title img {
	vertical-align: middle;
}
.box {
	display: flex;
}
.form_box {
	width: 590px;
	padding: 12px 10px;
	background: #fff;
	border-right: 1px dashed silver;
	vertical-align: top;
	color: #333;
	font-size: 81.3%;
	line-height: 1.8;
	letter-spacing: .1em;
}
.form_box h1 {
	margin: 0;
	padding: 5px 15px;
	color: #2f2f2f;
	font-size: 100%;
}
.form_box .main_text {
	margin: 20px 15px;
}
.form_box form {
	margin: 0 15px;
}
.form_box form dl {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	border-top: 1px solid #e3e9e9;
}
.form_box form dt {
	width: 100%;
	padding: 20px 10px 10px;
	font-weight: bold;
}
.form_box form dt .memo {
	display: inline-block;
	margin-top: 5px;
	font-size: 92.3%;
}
.form_box form dt .required {
	margin-left: 10px;
	padding: 5px 8px;
	background: #e2455a;
	border-radius: 3px;
	color: #fff;
	font-size: 85%;
}
.form_box form dd {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0 10px 20px;
	border-bottom: 1px solid #e3e9e9;
}
.form_box form dd p {
	margin: 0 0 10px;
}
.form_box form dd input[type="text"],
.form_box form dd input[type="tel"],
.form_box form dd input[type="number"],
.form_box form dd input[type="email"] {
	width: 100%;
	padding: 10px 15px;
	background: #f2f3f3;
	border: none;
	border-radius: 5px;
	font-size: 100%;
	letter-spacing: .1em;
}
.form_box form dd input[type="number"].number {
	width: 120px;
	margin-right: 10px;
}
.form_box form dd textarea {
	width: 100%;
	height: calc( 1.8em * 5 + 20px );
	padding: 10px 15px;
	background: #f2f3f3;
	border: none;
	border-radius: 5px;
	font-family: "ＭＳ Ｐゴシック", "ＭＳ Ｐ明朝";
	font-size: 100%;
	line-height: 1.8em;
	letter-spacing: .1em;
	vertical-align: middle;
}
.form_box form dd.check label {
	display: flex;
	align-items: center;
	margin-top: 3px;
}
.form_box form dd.check label input {
	display: flex;
	align-items: center;
	margin-right: 8px;
}
.form_box .policy_box {
	width: 525px;
	height: 140px;
	margin: 50px 10px 15px;
	padding: 15px;
	border: 1px solid #ccc;
	overflow-y: scroll;
}
.form_box .policy_box h2 {
	font-size: 100%;
	margin: 0 0 10px;
}
.form_box .policy_box ol {
	list-style: none;
	margin: 0;
	padding: 0;
}
.form_box .policy_box ol.main_list > li {
	margin: 10px 0 0;
	font-size: 92.3%;
	padding-left: 3em;
	text-indent: -3em;
}
.form_box .policy_box ol.sub_list > li {
	margin: 5px 0 0 3em;
}
.form_box .policy_box ul {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}
.form_box .policy_box ul li {
	font-size: 92.3%;
	margin: 10px 0 0;
}
.form_box form label.agree {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0 10px;
}
.form_box form label.agree input {
	display: flex;
	align-items: center;
	margin-right: 8px;
}
.form_box .btn_box {
	margin: 50px 0 150px;
	text-align: center;
}
.form_box .btn_box .btn_submit {
	position: relative;
	padding: 20px 70px 20px 40px;
	background: #469a46;
	border: none;
	border-radius: 5px;
	color: #fff;
	font-size: 107.7%;
	letter-spacing: .15em;
	opacity: .7;
	cursor: not-allowed;
	transition: all .3s;
}
.form_box .btn_box .btn_submit.active {
	opacity: 1;
	cursor: pointer;
}
.form_box .btn_box .btn_submit::after {
	content: '';
	position: absolute;
	top: calc(50% - 8px);
	right: 30px;
	width: 18px;
	height: 15px;
	background: url(../img/icon_arrow.png) center center / contain no-repeat;
	transition: right .3s;
}
.form_box .btn_box .btn_submit.active:hover {
	background: #218621;
}
.form_box .btn_box .btn_submit.active:hover::after {
	right: 20px;
}
.form_box .btn_pagetop {
	text-align: center;
}
.btn_home {
	text-align: center;
	padding: 15px;
}
.menu_box {
	width: 220px;
	border-collapse : collapse;
}
.menu_box p {
	margin: 0;
	font-size: 81.3%;
	line-height: 1.5;
}
.menu_box p.menu_oubo {
	color: #2e9851;
}
.menu_box p.menu_itaku {
	margin-top: 30px;
	color: #008fd5;
}
.menu_box ul {
	list-style-type: none;
	margin: 5px 0 0;
	padding: 0;
	color: #2f2f2f;
	font-size: 81.3%;
	line-height: 1.8;
}
.menu_box ul li {
	display: flex;
	padding: 3px;
}
.menu_box ul li span {
	display: inline-block;
	width: 27px;
}
.menu_box ul li a {
	display: inline-block;
	width: calc(100% - 27px);
	color: #2f2f2f;
}
.menu_box ul li a:visited {
	color: #1111ff;
}
.menu_box p.tel,
.menu_box p.fax {
	font-size: 100%;
}
.menu_box p.tel span {
	color: #ff0080;
	font-size: 112.5%;
}
.menu_box p.fax span {
	color: #8000ff;
	font-size: 112.5%;
}
.menu_box p.mail {
	margin: 5px 0 10px;
	font-size: 100%;
	line-height: 1.2;
}
.menu_box p.mail span {
	color: #ff6600;
	font-size: 73%;
}

/* ----- 応募フォーム ----- */
.form_box.oubo h1 {
	background: url(../img-naisyoku/bg006_04.gif);
}
.form_box form dt.half {
	width: 140px;
	padding: 20px 10px;
	border-bottom: 1px solid #e3e9e9;
}
.form_box form dt.add {
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	font-size: 0;
}
.form_box form dd.half {
	width: calc(100% - 140px);
	padding: 15px 10px;
}
.form_box form dd input.zipcode[type="text"] {
	width: 120px;
}
.form_box form dd input.address[type="text"] {
	margin-top: 10px;
	padding: 10px 10px 0;
	background: #fff;
	outline: none;
}
.address_error {
	color: #c00;
}
.form_box form dd .zip_search {
	display: inline-block;
	position: relative;
	margin-left: 10px;
	padding: 6px 40px 6px 15px;
	border: 1px solid #c00;
	border-radius: 5px;
	color: #c00;
	font-size: 92.3%;
	font-weight: bold;
	text-decoration: none;
	transition: background .3s;
}
.form_box form dd .zip_search:hover {
	background: #ffeeee;
}
.form_box form dd .zip_search::after {
	content: '';
	position: absolute;
	top: calc(50% - 7px);
	right: 15px;
	width: 12px;
	height: 12px;
	background: url(../img/icon_window.png) center center / contain no-repeat;
}
.form_box form dd.question {
display: flex;
align-items: center;
}
.form_box form dd.question label {
	display: flex;
	align-items: center;
	margin-right: 15px;
}
.form_box form dd.question label input {
	margin: 0 8px 0 4px;
	vertical-align: middle;
}

/* ----- 委託フォーム ----- */
.form_box.itaku h1 {
	background: url(../img-naisyoku/bg002_05.gif);
}
.form_box.itaku form dt {
	width: 150px;
	padding: 20px 10px;
	border-bottom: 1px solid #e3e9e9;
}
.form_box.itaku form dd {
	width: calc(100% - 150px);
	padding: 15px 10px;
}
.form_box form dd input[type="text"].other {
	margin-top: 10px;
}
.form_box form dd.select label {
	display: flex;
	align-items: center;
	margin-top: 3px;
}
.form_box form dd.select label input {
	margin: 0 8px 0 4px;
}
.form_box form dd input[type="number"].week {
	width: 100px;
	margin: 0 10px;
}
.form_box form dd.date span {
	position: relative;
}
.form_box form dd.date span::after {
	content: '';
	position: absolute;
	top: calc(50% - 10px);
	right: 10px;
	width: 18px;
	height: 18px;
	background: url(../img/icon_calendar.png) center center / contain no-repeat;
	pointer-events: none;
}
.form_box form dd.date input[type="text"] {
	width: 150px;
}
.form_box form dd.date p {
	margin: 10px 0 0;
}

td.ui-datepicker-week-end:first-child a.ui-state-default{
  background-color: #ffecec;
  color: #f00!important;
}
td.ui-datepicker-week-end:last-child a.ui-state-default{
  background-color: #eaeaff;
  color: #00f!important;
}
td.ui-datepicker-week-end a.ui-state-hover{
  opacity: 0.8;
}
td.ui-datepicker-week-end a.ui-state-highlight{
  background-color: #fffa90!important;
}

/* ----- 確認・完了画面 ----- */
.form_box form dl.check_list dt {
	width: 150px;
	padding: 10px;
	border-bottom: 1px solid #e3e9e9;
}
.form_box form dl.check_list dd {
	width: calc(100% - 150px);
	padding: 10px;
}
.form_box .btn_box .btn_back {
	margin-right: 20px;
	padding: 10px 15px;
	background: #ddd;
	border: none;
	border-radius: 5px;
	letter-spacing: .1em;
	cursor: pointer;
	transition: all .3s;
}
.form_box .btn_box .btn_back:hover {
	background: #ccc;
}
.form_box .btn_box .btn_submit2 {
	position: relative;
	padding: 20px 70px 20px 40px;
	background: #469a46;
	border: none;
	border-radius: 5px;
	color: #fff;
	font-size: 107.7%;
	letter-spacing: .15em;
	cursor: pointer;
	transition: all .3s;
}
.form_box .btn_box .btn_submit2:hover {
	background: #218621;
}
.form_box .btn_box .btn_submit2::after {
	content: '';
	position: absolute;
	top: calc(50% - 8px);
	right: 30px;
	width: 18px;
	height: 15px;
	background: url(../img/icon_arrow.png) center center / contain no-repeat;
	transition: right .3s;
}
.form_box .btn_box .btn_submit2:hover::after {
	right: 20px;
}
