/*==============================================================================
	header style
============================================================================= */
header { padding: 15px 0 17px; }
header .logo { width: 200px; margin: 0 18px 0 0; }
header .fs-14 { width: 350px; margin: 5px 0 0; line-height: 1.5; letter-spacing: .03em; }
header .tel-block { width: 362px; }
header .tel-block dt { box-sizing: border-box; width: 112px; padding: 3px 14px; background: #02a66e; color: #fff; text-align: center; }
header .tel-block dd { width: 240px; }
header .tel-block .roboto { line-height: 1; }
header .tel-block .time { padding: 0 0 0 80px; }

/*==============================================================================
	form.html .form style
============================================================================= */
.form-block { padding: 51px 40px 47px; background: #fff; }

/*form-item*/
.form-item { height: 40px; margin: 0 0 20px; }
.form-item dt { float: left; width: 198px; margin: 7px 19px 0 0; font-size: 14px; text-align: right; }
.form-item dt.no-require { padding: 0 68px 0 0; }
.form-item dt .txt { vertical-align: middle; }
.form-item dt .require { display: inline-block; width: 50px; height: 27px; margin: 0 0 0 20px; border-radius: 3px; background: #fd633e; color: #fff; font-size: 12px; text-align: center; vertical-align: middle; line-height: 27px; }
.form-item dd { position: relative; float: left; width: 660px; letter-spacing: -6px; }
.form-item dd p, .form-item dd div, .form-item dd span, .form-item dd li { letter-spacing: normal; }
.form-item dd input { width: 660px; padding: 0 10px 0; }
.form-item dd input, .form-item dd select { display: inline-block; height: 40px; border: #cacaca solid 1px; background: #fff; font-size: 14px; letter-spacing: normal; }
.form-item dd input.half-width { width: 320px; margin: 0 0 0 20px; }
.form-item dd input.half-width:first-child { margin: 0; }
.form-item dd.post-wrap input { width: 150px; }
.form-item dd.post-wrap .notes { position: absolute; bottom: 0; left: 160px; font-size: 12px; }
.form-item dd select { position: relative; left: -2px; width: 170px; padding-left: 6px; border: none; outline: none; }
.form-item dd .select-wrap { display: inline-block; box-sizing: border-box; position: relative; border: #cacaca solid 1px; vertical-align: middle; }
.form-item dd .select-wrap:after { position: absolute; top: 9px; right: 10px; width: 9px; height: 21px; background: url(../images/form_arrow.png) no-repeat; pointer-events: none; content: ""; }
.form-item dd .prefecture { overflow: hidden; width: 150px; height: 40px; }
.form-item.item-textarea { height: auto; }
.form-item dd textarea { display: block; width: 100%; max-width: 100%; min-height: 150px; padding: 10px; border: #cacaca solid 1px; box-sizing: border-box; }
.form-block .caution { margin: 40px 0; letter-spacing: .08em; }
.form-block .agreement-block { overflow: scroll; box-sizing: border-box; height: 191px; margin: 0 0 34px; padding: 20px 31px 10px; border: #cacaca solid 1px; letter-spacing: .06em; }
.form-block .agreement-block .bold { margin: 0 0 32px; }
.form-block .confirm-btn { width: 296px; margin: 0 auto; }
.form-block .page-back { margin: 50px 0 0; font-weight: bold; text-align: center; letter-spacing: .04em; }

/*check-block*/
.check-block h2 { margin: 42px 0 30px; padding: 6px 0 8px 10px; border-bottom: #02a66e solid 1px; border-left: #02a66e solid 2px; color: #02a66e; font-size: 16px; font-weight: bold; letter-spacing: .1em; }
.check-block .form-item dt { margin: 0 20px 0 0; }
.check-block .form-item dt.wide-width { width: 220px; margin: 0 20px 0 -22px; }
.check-block .form-item li { float: left; height: 27px; line-height: 28px; }
.check-block .form-item li .radiotxt { display: inline-block; box-sizing: border-box; width: 105px; height: 20px; padding: 0 0 0 30px; background: url(../images/form_img02.png) no-repeat; background-position: left top; font-size: 14px; line-height: 20px; cursor: pointer; }
input[type="radio"]:checked + .radiotxt { background-position: left bottom; }
.check-block .form-item li.part-contract .radiotxt { width: 200px; }
.check-block .form-item li .radiotxt .txt { position: relative; top: -.6rem; }

/*ie8*/
.ie8 .form-item dd input { line-height: 40px; }
.ie8 .form-item dd select { top: -10px; }
.ie8 .check-block .form-item dd span { position: relative; top: -3px; }
.ie8 .check-block .form-item dd input { display: inline-block!important; width: auto; height: 27px; line-height: 27px; border: none; vertical-align: middle; }
.ie8 .check-block .form-item li .radiotxt {display: inline-block; position: relative; top: 2px; height: 27px;padding: 0 0 0 30px; background: none; line-height: 27px; vertical-align: middle;}

/*==============================================================================
	confirm.html .confirm style
============================================================================= */
.main-conts .bg { padding: 42px 0 60px; background: #e7f4f0; }
.main-conts .fs-48 { margin: 0 0 25px; letter-spacing: .07em; }
.main-conts .flow { margin: 0 0 39px; }
.main-conts .area_name { text-align: center; margin: 0 0 3% 0; font-size: 1.3rem; font-weight: bold; color: #02a66e; border: 2px solid #02a66e;; padding: 1%; width: 35%; border-radius: 10px; }
.confirm-block { padding: 40px; background: #fff; }
.confirm-block .confirm-item { height: 59px; border-bottom: #cacaca solid 1px; font-size: 14px; letter-spacing: .06em; }
.confirm-block .confirm-item.item-textarea { height: auto; }
.confirm-item dt { float: left; width: 160px; margin: 0 100px 0 0; text-align: right; line-height: 59px; }
.confirm-item dd { float: left; width: 640px; line-height: 59px; }
.confirm-item.item-textarea dd { padding: 15px 0; line-height: 2.1; }
.confirm-block .caution { margin: 26px 0 28px; letter-spacing: .08em; }
.confirm-block .btn-block { width: 544px; margin: 0 auto; }
.confirm-block .revise-btn { margin: 13px 0 0; }

/*==============================================================================
	thanks.html .thanks style
============================================================================= */
.thanks-block { padding: 60px 0 68px; background: #fff; }
.thanks-block .txt { line-height: 1.8; letter-spacing: .07em; }
.thanks-block .txt + .txt { margin: 22px 0 0; }
.thanks-block .tel-num { margin: 27px 0; font-weight: bold; text-align: center; letter-spacing: .02em; }
.thanks-block .top-back { margin: 48px 0 0; font-weight: bold; text-align: center; letter-spacing: .04em; }

/*==============================================================================
	footer style
============================================================================= */
footer { height: 100px; background: #4f4f4f; }
footer .copyright-txt { color: #fff; line-height: 100px; letter-spacing: .05em; }

/*==============================================================================
	validation message
============================================================================= */
.error { background: #ffe8f7; }
.error-msg-balloon { margin-bottom: 0 !important; padding: 0 8px; background-color: #ff8080; color: #fff; font-size: 12px; text-align: center; letter-spacing: normal; }
.error-msg-balloon span:after, .error-msg-balloon span:before { position: absolute; top: 100%; left: 50%; width: 0; height: 0; border: solid transparent; pointer-events: none; content: ""; }
.error-msg-balloon span:after { margin-left: -10px; border-width: 10px; border-color: rgba(51, 51, 51, 0); border-top-color: #ff8080; }
.error-msg-balloon span:before { margin-left: -16px; border-width: 16px; border-color: rgba(0, 0, 0, 0); }
.small-block + .error-msg-balloon, .small-width + .error-msg-balloon { padding: 0 0 0 5px; }
.month .error-msg-balloon, .day .error-msg-balloon { width: 120%; }
.day .error-msg-balloon { margin: 0 0 0 30px; }
.day .error-msg-balloon span:before, .day .error-msg-balloon span:after { left: 20%; }

/*errmsg-box*/
.errmsg-box { margin: 0 0 1em; padding: 1em .5em 1em; color: #ff3e3e; font-size: 14px; background: #ffd0d0; }
