@charset "utf-8";



#service{
}

/* -----------------------------------------------------------
    無料相談お問い合わせ
-------------------------------------------------------------- */

.bg {
	/*background: var(--blue);*/
}

.area_form {
	padding: 80px 0 0;
}

.area_form .area_top {
	padding: 60px 0;
}

.area_form .area_top .txt {
	font-size: 2rem;
	color: #332C2C;
	text-align: center;
}

/*電話エリア*/
.tel-block {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 60px;
}

.tel-block .catch {
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.6;
	color: var(--navy);
	margin: 0 40px 0 0;
}

.tel-block .tel {
	color: var(--navy);
	opacity: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.tel-block .tel img {
	width: 40px;
	height: auto;
	vertical-align: middle;
	margin-right: 10px;
}
.tel-block .tel .num {
	font-size: 4rem;
	line-height: 1.6;
	color: var(--navy);
	font-weight: 700;
}
.tel-block .tel .hour {
	margin-left: 10px;
	font-size: 1.6rem;
}

@media screen and (max-width:768px){
	
	/*電話エリア*/
	.tel-block {
		display: block;
		margin: 15px 0 30px;
	}

	.tel-block .catch {
		font-size: 2rem;
		margin: 0 0 5px 0;
	}

	.tel-block .tel {
		flex-wrap: wrap;
		justify-content: flex-start;
		text-align: left;
		line-height: 1;
	}
	.tel-block .tel img {
		width: 36px;
		margin: 0 10px 0 0;
	}
	.tel-block .tel .num {
		font-size: 3.6rem;
	}
	.tel-block .tel .hour {
		margin-left: 0;
		font-size: 1.5rem;
		width: 100%;
	}
	
}


.area_form .box_form {
	width: 960px;
	margin: 0 auto 40px;
	padding: 70px 100px;
	border: 1px solid #E4E6E9;
	background: #fff;	
	box-sizing: border-box;
}

.area_form .box_form {
	font-size: 1.4rem;
	color: #332C2C;
	text-align: center;
	position: relative;
	top: -10px;
	left: -10px;
}

.area_form .bg_gray {
	width: 960px;
	margin: 0 auto;
	position: relative;
	left: 10px;
	background: #ECECF2;
}

.area_form .box_form .form_table {
	margin: 35px 0 0;
}

.area_form .box_form .mail-title {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
	color: var(--navy);
	margin: 0 0 30px 0;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
.area_form .box_form .mail-title img {
	width: 28px;
	height: auto;
	margin-right: 10px;
}

.area_form .box_form p.txt{
	line-height: 1.8;
}

.form_cautiion_txt{
	line-height: 1.7;
	color: #E94647;
	font-size: 1.4rem;
	margin: 5px 0 0;
}
.form_cautiion_txt.bot{
	margin: 30px 0 0;
}

@media screen and (max-width:768px){

	.form_cautiion_txt{
		margin: 5px 20px 0;
	}
	.form_cautiion_txt.bot{
		margin: 20px 20px 0;
	}
	
}


/* -----------------------------------------------------------
    テーブル
-------------------------------------------------------------- */


.form_table {
	border-top: 1px solid #D9DBE3;
	line-height:1.8;
	width: 100%;
}
/*
.form_table tr {
	border-bottom: 1px solid #D9DBE3;
}
*/

.form_table th {
	padding: 30px 0;
	width: 230px;
	text-align: left;
	vertical-align: middle;	
	box-sizing: border-box;
}

.form_table td {
	padding: 30px 0 30px 70px;
	text-align: left;
	border-bottom: 1px solid #D9DBE3;
}

.form_table th.vtop{
	vertical-align: top;
}

.form_table th .title {
	display: inline-block;
	font-size: 2rem;
	font-weight: bold;
	color: #332C2C;
}

.form_table th .notes {
	float: right;
	display: inline-block;
	padding: 7px 12px;
	margin: -5px 0 0;
	font-size: 1.4rem;
	color: #fff;
	background: #3F85C5;
}


/*		ご相談項目		*/
.form_table td.ask label {
	display: block;
	/*
	font-size: 1.6rem;
	color: #332C2C;
	*/
}

.form_table td.ask label.first {
	margin: 0 0 12px;
}

.form_table td.ask input[type="radio"] {
	vertical-align: 0;
}

.form_table td.ask .txt {
	margin: 30px 0 10px;
	color: #332C2C;
}

/*		住所		*/

.form_table td.add .zip {
	width: 250px;
}

.form_table td.add .select {
	margin: 15px 0;
}



/*table td.name input[type="text"] {
	width: 40%;
}*/



/* -----------------------------------------------------------
    2021.08フォーム改修版
-------------------------------------------------------------- */

.form_table.wide th {
	padding: 30px 0 0;
	width: auto;
	vertical-align: top;
	display: block;
	font-size: 2rem;
}
.form_table.wide td {
	position: relative;
	display: block;
	padding: 20px 0 30px;
}
.form_table.wide th .notes {
	float: none;
	margin: -5px 0 0 10px;
	padding: 2px 8px;
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff !important;
	background: #E94647;
}

.form_table .sub-txt {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	padding: 2px 0 5px 30px;
	color: #777;
}

.select_area [type="checkbox"],
.select_area [type="radio"]{
	-moz-transform: scale(1.4);
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
	vertical-align: top;
	margin: 11px 15px 0 0;
}
.select_area [type="checkbox"]:checked,
.select_area [type="radio"]:checked{
	color: #005FAF;
}
.select_area label{
	font-size: 1.8rem;
	font-weight: bold;
	vertical-align: middle;
}

form.cmxform label.error, label.error {
	/* remove the next line when you have trouble in IE6 with labels in list */
	color: #d10000;
	font-weight: bold;
	font-size: 1.6rem;
}
form.cmxform label {
	width: auto;
	display: block;
	float: none;
}

.form_table.wide input.error,
.form_table.wide select.error,
.form_table.wide textarea.error{ 
	border: 1px solid #d10000 !important;
	background-color: #FCF0F0;
}
.form_table.wide span.error{
	color: #d10000;
	font-weight: bold;
	font-size: 1.6rem;
}
.form_table.wide label.chk{
	/*
	position: relative;
	*/
	display: block;
	margin: 8px 0 0;
	vertical-align: middle;
}
.form_table.wide label.chk:hover{
	cursor: auto !important;
}
.form_table.wide span.success{
	/*
	background:url("/control/img/icon_success.svg") no-repeat left top / 19px auto;
	padding-left: 25px;
	*/
	/*
	background:url("/control/img/checked.gif") no-repeat 0px 0px;
	padding-left: 16px;
	*/
	/*
	display: inline-block;
	position: absolute;
	content: '';
	background-image: url(/control/img/icon_success.svg);
	background-repeat: no-repeat;
	width: 19px;
	height: 18px;
	right: -30px;
	top: 0;
	color: #fff;
	*/
}
.form_table.wide span.success::before{
	display: inline-block;
	position: absolute;
	content: '';
	background-image: url("../img/icon_success.svg");
	background-repeat: no-repeat;
	width: 19px;
	height: 18px;
	left: -30px;
	top: -28px;
}


/*Checkboxes styles*/
/*
input.syle_input[type="checkbox"],
input.syle_input[type="radio"]{
  display: none;
}

input.syle_input[type="checkbox"] + label,
input.syle_input[type="radio"] + label{
	display: block;
	position: relative;
	padding: 20px 0 20px 55px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
	color: #333;
	cursor: pointer;
	border: 1px #C2DAE4 solid;
	border-radius: 0;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	margin: 10px 0 0;
}
input.syle_input[type="checkbox"]:checked + label,
input.syle_input[type="radio"]:checked + label{
	background: #005FAF;
	color: #fff;
}

input.syle_input[type="checkbox"] + label:before,
input.syle_input[type="radio"] + label:before{
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  border: 2px solid #005FAF;
  border-radius: 50%;
  position: absolute;
  left: 18px;
  top: 22px;
  -webkit-transition: all 0.12s, border-color 0.08s;
  transition: all 0.12s, border-color 0.08s;
}

input.syle_input[type="checkbox"]:checked + label:before,
input.syle_input[type="radio"]:checked + label:before{
	border-color: #003D86;
	background: #003D86;
	opacity: 1;
	content: "\f00c";
	font-family: FontAwesome;
	color: #FFF840;
	font-size: 2.2rem;
	line-height: .6;
	font-weight: 500;
}
*/

/* -----------------------------------------------------------
    input
-------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"] {
	width: 500px;
	border: 1px solid #D9DBE3;
	-webkit-box-sizing: border-box;	
	-moz-box-sizing: border-box;	
	box-sizing: border-box;
	background: #f6f6f6;
}
input.s[type="text"],
input.s[type="email"],
input.s[type="tel"],
input[type="number"] {
	width: 200px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus{
	border: 1px solid #3F85C5;
}

input[type="text"],
input[type="tel"],
input[type="password"],
input[type="submit"],
input[type="email"],
input[type="number"]{
	padding: 18px;
	font-family: 'Lato',"Noto Sans JP","游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	-webkit-appearance: none;
	font-size: 17px;
}

select{
	width: 250px;
	padding: 18px;
	font-family: 'Lato',"Noto Sans JP","游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	border: 1px solid #D9DBE3;
	
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../img/icon_arrow01.png) #f6f6f6 no-repeat 95% 50%;
	
	font-size: 17px;
}

select option selected{
	color:#999;
}


select:hover {
	cursor: pointer;
}

select:focus{
	border: 1px solid #3F85C5;
}

input[type="radio"],
input[type="checkbox"] {
	vertical-align:-2px;
	margin-right:10px;
	font-family: 'Lato',"Noto Sans JP","游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

label:hover {
	cursor: pointer;
}

label.first {
	display: inline-block;
	margin: 0 40px 0 0;
}

textarea{
	width:98%;
	padding: 15px;
	font-size:1.6rem;
	font-family: 'Lato',"Noto Sans JP","游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	-webkit-box-sizing: border-box;	
	-moz-box-sizing: border-box;	
	box-sizing: border-box;
	border: 1px solid #D9DBE3;
	background: #f6f6f6;
}

textarea:focus {
	border: 1px solid #3F85C5;
}

.attachFile {
	display: none;
}

.attachFileButton {
	display: inline-block;
	border: 1px solid #ddd;
    padding: 10px;
    cursor: pointer;
    border-radius: 5px;
    color: #666;
    background: linear-gradient(to bottom,#fff 0,#f4f4f4 100%);
    box-shadow: inset 0px -1px 0px 0px rgba(0, 0, 0, 0.09);
}

.attachFileIcon {
    font-size: 12px;
    margin: 0 5px 0 5px;
    padding: 3px 20px;
    border-radius: 15px;
    background: #666;
    color: #fff;
    display: inline-block;
}

.attachFileIcon.select {
    background: #ff5050;
    color: #fff;
}

.attachFileFilename {
    display: inline-block;
	font-size: 12px;
}


/* -----------------------------------------------------------
    ボタン
-------------------------------------------------------------- */

.btn {
}

.btn.entry {
	text-align: center;
	margin:50px 0 0;
}


input[type="submit"] {
	display: block;
	width: 500px;
	padding: 25px 10px;
	font-size: 24px;
	font-weight: bold;
	margin: 0 auto;
	-webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
	
}

input[type="submit"]:hover {
	cursor: pointer;
}

.submit_blue {
	color: #fff;
	background: #3F85C5;
	border: 1px solid #3F85C5;
	box-shadow: 1px 1px 2px 1px #999;
    -moz-box-shadow: 1px 1px 2px 1px #999;
    -webkit-box-shadow: 1px 1px 2px 1px #999;
}

.submit_blue:hover {
	color: #fff;
	background: #6AA0D2;
	border: 1px solid #6AA0D2;
	box-shadow: 1px 1px 2px 1px #bbb;
    -moz-box-shadow: 1px 1px 2px 1px #bbb;
    -webkit-box-shadow: 1px 1px 2px 1px #bbb;
}

.submit_red {
	color: #fff;
	background: #E94647;
	border: 1px solid #E94647;
	border-radius: 100px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
}

.submit_red:hover {
	color: #fff;
	background: #ED6B6B;
	border: 1px solid #ED6B6B;
}

.submit_gold {
	color: #fff;
	background: #96896C;
	background: -moz-linear-gradient(top,#B4A992 0%,#96896C);
	background: -webkit-gradient(linear, left top, left bottom, from(#B4A992), to(#96896C));
	border: 1px solid #96896C;
	border-bottom: 2px solid #81775C;
}



/* -----------------------------------------------------------
    フォーム完了画面
-------------------------------------------------------------- */

.complete_contents {
	padding: 80px 0;
	line-height:1.8;
	border-bottom: 1px #ddd solid;
}

.complete_contents .bg-wrap {
	text-align: center;
}
.complete_contents dotlottie-player {
	width: 500px;
	height: auto;
	margin: 0 auto;
}
.complete_contents .title {
	margin: 0 0 20px;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
}

.complete_contents .txt{
	text-align:center;
	margin:0 0 30px 0;
}

.complete_contents .txt.image {
	margin: 60px 0 20px;
}
.complete_contents .txt.image img {
	width: 100px;
}

.complete_contents .txt .fa{
	color: var(--blue);
}

/*simulation*/
.simulation .complete_contents {
	padding: 0 0;
	border-bottom: none;
}
.simulation .complete_contents dotlottie-player {
	width: 400px;
}

@media screen and (max-width:768px){
		
	.complete_contents {
		padding: 30px 20px;
	}
	
	.complete_contents .bg-wrap {
	}
	.complete_contents dotlottie-player {
		width: 260px;
	}

	.complete_contents .txt{
		text-align:left;
		margin:0 0 20px 0;
	}
	
	.complete_contents .txt.image{
		text-align:center;
	}
	.complete_contents .txt.image img{
		width:100px;
		text-align:center;
	}

	.complete_contents .title {
		margin: 0 0 20px;
		font-size: 2rem;
		font-weight: bold;
		text-align: center;
	}
	
	.complete_contents .txt.image {
		margin: 40px 0 20px;
	}

	/*simulation*/
	.simulation .complete_contents {
		padding: 0;
	}
	.simulation .complete_contents dotlottie-player {
		width: 260px;
	}

	
}


/* -----------------------------------------------------------
    ビフォーアフターログイン画面
-------------------------------------------------------------- */

.alert {
	margin: 15px 0;
	color: #E94647;
	line-height: 1.5;
	text-align: center;
}

h1.title {
}

.box_area.login {
	width: 450px;
	margin: 40px auto 0 auto;
	background: #fff;
	border: none;
}

.box_area.login .title {
	text-align: center;
	margin: 0 0 40px;
}

.box_area.login .title img {
}

.box_area.login .input_area {
	margin: 20px 0 0;
}

.box_area.login .input_area .fa {
	display: inline-block;
	padding: 15px;
	font-size: 18px;
	width: 40px;
	color: #1D5C7D;
	-webkit-box-sizing: border-box;	
	-moz-box-sizing: border-box;	
	box-sizing: border-box;
}

.box_area.login .input_area input {
	width: 400px;
	-webkit-box-sizing: border-box;	
	-moz-box-sizing: border-box;	
	box-sizing: border-box;
}

.box_area.login .btn_login {
	width: 440px;
	margin: 30px auto 0;
}

.box_area.login .btn_login input {
	width: 100%;
	padding: 15px;
	font-size: 1.6rem;
}




/* -----------------------------------------------------------
    SP
-------------------------------------------------------------- */
@media screen and (max-width:768px){


	/* -----------------------------------------------------------
		フォーム
	-------------------------------------------------------------- */
		
	#service{
	}
	
	
/*	.area_title.ask {
		padding: 20px 0;
		text-align: center;
		color: #fff;
			
		height: auto;
		padding: 20px;
		background: url(../img/bg_blue01.jpg) repeat left top;
	
		-webkit-box-sizing: border-box;	
		-moz-box-sizing: border-box;	
		box-sizing: border-box;
	}
	
	.area_title.ask .icon {
		margin: 0 -5px 0 0;
		display:none;
	}
	
	.area_title.ask .lead {
		margin: 7px 0 0;
		display:none;
	}
	
	.area_title.ask .title_plan {
		margin: 0 0 0;
		font-size: 120%;
		font-weight: bold;
	}*/
	


	/* -----------------------------------------------------------
		無料相談お問い合わせ
	-------------------------------------------------------------- */
	
	.area_form {
		padding: 30px 0 0;
	}
	
	.area_form .area_top {
		padding: 25px 0;
	}
	
	.area_form .area_top .txt {
		font-size: 95%;
		color: #332C2C;
		text-align: left;
		line-height: 1.7;
	}
	
	.area_form .area_top .txt.mb30{
		margin: 0 0 10px 0 !important;
	}
	
	
	.area_form .box_form {
		width: 100%;
		margin: 0 auto 15px;
		padding: 0;
		border: none;
		background: none;
		
		-webkit-box-sizing: border-box;	
		-moz-box-sizing: border-box;	
		box-sizing: border-box;
	}
	
	.area_form .box_form {
		text-align: left;
		top: 0;
		left: 0;
	}
	
	.area_form .bg_gray {
		width: 100%;
		margin: 0 auto;
		left: 0;
		background: none;
	}
	
	
	.area_form .box_form .mail-title {
		font-size: 2rem;
		margin: 0 0 15px 0;
		padding: 15px 0 0 20px;
		justify-content: flex-start;
	}
	.area_form .box_form .mail-title img {
		width: 24px;
		margin: 0 10px 0 0;
	}
	
	
	.area_form .box_form .form_table {
		margin: 30px 0 0;
		background: #fff;
	}
	
	
	/* -----------------------------------------------------------
		テーブル
	-------------------------------------------------------------- */
	
	
	.form_table {
		border-top: 1px solid #D9DBE3;
	}
	
	.form_table tr {
		border-bottom: 1px solid #D9DBE3;
	}
	
	.form_table th {
		display: block;
		width: 100%;
		padding: 30px 15px 15px 15px;
	
		-webkit-box-sizing: border-box;	
		-moz-box-sizing: border-box;	
		box-sizing: border-box;
	}
	
	.form_table td {
		display: block;
		width: 100%;
		padding: 0 20px 30px;

		-webkit-box-sizing: border-box;	
		-moz-box-sizing: border-box;	
		box-sizing: border-box;
	}
	
	.form_table th.vtop{
	}
	
	.form_table th .title {
		display: inline-block;
		font-size: 18px;
	}
	
	.form_table th .notes {
		float: none;
		display: inline-block;
		padding: 7px 12px;
		margin: -5px 0 0 10px;
		font-size: 90%;
	}
	
	
	/*		改修追加分		*/
	.form_table.wide th {
		display: block;
		width: 100%;
		padding: 30px 15px 15px 15px;
	
		-webkit-box-sizing: border-box;	
		-moz-box-sizing: border-box;	
		box-sizing: border-box;
	}
	.form_table.wide td {
		position: relative;
		display: block;
		width: 100%;
		padding: 0 20px 30px;

		-webkit-box-sizing: border-box;	
		-moz-box-sizing: border-box;	
		box-sizing: border-box;
	}
	.form_table.wide span.success::before{
		left: auto;
		right: 25px;
		top: -40px;
	}
	.form_table .sub-txt {
	}
	
	
	
	/*		ご相談項目		*/
	.form_table td.ask label {
	}
	
	.form_table td.ask label.first {
		margin: 0 0 12px;
	}
	
	.form_table td.ask input[type="radio"] {
		vertical-align: 0;
	}
	
	.form_table td.ask .txt {
		margin: 30px 0 10px;
		color: #332C2C;
	}
	
	/*		住所		*/
	
	.form_table td.add .zip {
		width: 250px;
	}
	
	.form_table td.add .select {
		margin: 15px 0;
	}
	



	
	table td.base input[type="text"] { /*ベース*/
		width: 100%;
	}
	



	/*    input
	----------------------- */
	input[type="text"], input[type="tel"], input[type="password"],
	input[type="email"], input[type="number"],
	select, textarea {
		padding: 15px;
		background: #f6f6f6;
		
		width: 100%;
		-webkit-box-sizing: border-box;	
		-moz-box-sizing: border-box;	
		box-sizing: border-box;
		font-size: 1.6rem;
	}
	
	select{
		width: 100%;
		font-size: 1.6rem;

		-webkit-box-sizing: border-box;	
		-moz-box-sizing: border-box;	
		box-sizing: border-box;
	}

	input[type="radio"], input[type="checkbox"] {
	}


	/* -----------------------------------------------------------
		ボタン
	-------------------------------------------------------------- */
	
	.btn {
	}
	
	.btn.entry {
		margin: 25px 0 0;
		width: 100%;
	}
	
	
	input[type="submit"] {
		display: block;
		width: 100%;
		padding: 20px 10px;
		font-size: 1.8rem;
		
		-webkit-appearance: none;

		-webkit-box-sizing: border-box;	
		-moz-box-sizing: border-box;	
		box-sizing: border-box;
	}
	
	input[type="submit"]:hover {
		cursor: pointer;
	}
	
	.submit_red {
	}
	
	.submit_red:hover {
	}
	
	.submit_gold {
	}
	
	
	
	
	/* -----------------------------------------------------------
		ビフォーアフターログイン画面
	-------------------------------------------------------------- */
	.box_area.login {
		width: 100%;
		margin: 30px 0 0;
		padding: 10px 20px 30px 20px;
		border-top: 1px solid #D9DBE3;
		border-bottom: 1px solid #D9DBE3;
		box-sizing: border-box;
	}
	.box_area.login .input_area input{
		width: calc(100% - 48px);
	}
	.box_area.login .btn_login{
		width: 100%;
	}


}








