@charset "UTF-8";

/***

お問い合わせ
contact

***/
.contact_bg1{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 50px;
	
	background: #f4f4f4;
}

.contents_title1{
	margin: 60px auto 25px;
	padding: 0;

	letter-spacing: 0;
	
}
@media print, screen and (min-width: 801px) {
.contents_title1{
	letter-spacing: 0.2em;
}
}

.contents_txt1 p{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0 0 35px;
	padding: 0;
	
	font-size: 3.4vw;
	line-height: 160%;
	color: #555;
	letter-spacing: 0.02em;
	text-align: justify;
}
@media print, screen and (min-width: 801px) {
.contents_txt1 p{
	font-size: 17px;
	line-height: 160%;
}
}




/***

お問い合わせ切り替えボタン

***/
.contact_flex1{
	clear:both;
	width:100%;
	height:auto;
	margin:0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
@media print, screen and (max-width: 800px) {
.contact_flex1{
	flex-wrap: wrap;
}
}
.radio_btn01{
	clear: both;
	width: calc( 48% - 35px );
/*	width: 48%;*/
	height: auto;
	margin: 0 0 15px;
	padding: 0;
	margin-left: 35px;
	position: relative;
	
	background: rgba(167,171,236,1.00);
}
.radio_btn01.fl01{
	width: calc( 45% - 35px );
}
.radio_btn01.fr01{
	width: calc( 51% - 35px );
}
@media print, screen and (max-width: 800px) {
.radio_btn01,
.radio_btn01.fl01,
.radio_btn01.fr01{
	width: 100%;
}
}


.radio-btns input[type=radio] {
/*  display: none;*/
}
.radio-btns input[type=radio] {
	position: absolute;
	content: '';
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #ccc;
	left: -35px;
	top: calc( 50% - 15px );
/*
	margin-left: -30px;
	padding-left: -30px;
*/
}
.radio-btns input[type=radio]::after {
  position: absolute;
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #004b28;
  left: 9px;
  top: 9px;
  opacity: 0;
  transition: .3s;
	left: -30px;
}

.radio-btns input[type=radio]:checked + .radio-btns input[type=radio]::after {
    opacity: 1;
}








.contact_btn1{
	width: 31.819%;
	max-width: 140px;
	height: auto;
	margin: 0;
	padding: 0;
}
@media print, screen and (min-width: 801px) {
.contact_btn1{
	width: 31.429%;
	max-width: 220px;
	height: auto;
	margin: 0;
	padding: 0;
}
}
.contact_btn1 a .contact_btn1_on{
	opacity: 0;
}
.contact_btn1 a:hover .contact_btn1_on{
	opacity: 1;
}












/***

お問い合わせ

***/
.table_box1{
	clear: both;
	width: calc( 100% - 2px );
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	
	border: 1px solid #ccc;
	border: none;
	border-collapse: collapse;
	
/*	background: rgba(240,173,174,0.5);*/
/*	background: #fff;*/
}

/*左*/
.top_box2_fl{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 0 5px;
	padding: 0;
	border: none;
	border-collapse: collapse;
	display: block;
}
/*右*/
.top_box2_fr{
	clear: both;
	width: calc( 100% - 2px );
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	border: none;
	border-collapse: collapse;
	display: block;
	
	margin: 0 0 30px;
	margin: 0 0 40px;
}






/*テキスト*/
.contact_txt1{
	width: auto;
	height: auto;

	font-weight: 400;
	font-size: 17px;
	font-size: 3.87vw;
	line-height: 130%;
	color: #727171;
	text-align: left;
	margin: 0;
	padding: 0;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	
/*	background: rgba(165,188,124,1.00);*/
}
.contact_txt1.fsize14{
	font-size: 3.2vw;
}
.contact_txt1 div.checked1{
/*
	padding: 0;
	margin: 0;
	background: #ab0d23;
	font-size: 11px;
	line-height: 101%;
	color: #fff;
	display:inline-table;
	vertical-align: middle;
	text-align: center;
	width: auto;
	height: auto;
*/
	margin: 0 0 0 10px;
}
.contact_txt1 div.checked1.m01{
	width: 90px;
	height: 20px;
}
.contact_txt1 div.checked1 p{
	padding: 2px 8px 3px;
	margin: 0;
	background: #ab0d23;
	font-size: 11px;
	line-height: 100.1%;
	color: #fff;
	display:table-cell;
	vertical-align: middle;
	text-align: center;
	width: 100%;
	height: 20px;
	position: relative;
	top: -2px;
	border-radius: 5px;
}
@media print, screen and (min-width: 801px) {
.contact_txt1 div.checked1 p{
	padding: 1px 8px 1px;
	margin: 0;
	background: #ab0d23;
	font-size: 11px;
	line-height: 101%;
	color: #fff;
	display:table-cell;
	vertical-align: middle;
	text-align: center;
	width: 100%;
	height: 20px;
	position: relative;
	top: 1px;
	left: -5px;
	border-radius: 5px;
}
}
.contact_txt1.lh130{
	line-height: 130%;
}
.contact_txt1 span.font13{
/*
	font-size: 2.2vw;
	line-height: 130%;
*/
}
@media print, screen and (min-width: 801px) {
.contact_txt1 span.font13{
	font-size: 13px;
}
}

.contact_txt1 label{
	width: 50%;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
/*	background: rgba(163,230,197,1.00);*/
}
.contact_txt1 label.w-100{
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
/*	background: rgba(250,227,150,1.00);*/
}

.contact_txt1 label.m01{
	margin: 15px 0 0;
}
/*
.contact_txt1 span{
	color: #900;	
}
*/
@media print, screen and (min-width: 801px) {
.contact_txt1.fsize14{
	font-size: 14px;
}
.contact_txt1{
	font-size: 17px;
}
.contact_txt1 label{
	width: 25%;
	height: auto;
	margin: 0;
	padding: 0;
	
/*	background: rgba(163,230,197,1.00);*/
}
.contact_txt1 label.m01{
	margin: 0;
}
.contact_txt1 label.m01.m02{
	margin: 15px 0 0;
}
}


.contact_txt1 label.w-50{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
.contact_txt1 label.w-50.m01{
	margin: 15px 0 0;
}
@media print, screen and (min-width: 801px) {
.contact_txt1 label.w-50{
	width: 50%;
	margin: 0 auto;
}
.contact_txt1 label.w-50.m01{
	margin: 0;
}
}


.contact_txt1.text01 label {
  width: 100%;
	height: auto;
	margin: 15px 0 0;
	padding: 0;
	
/*	background: rgba(183,128,177,1.00);*/
}
.contact_txt1.text01 label.m00 {
	margin: 0;
}

/*年齢*/
.ageflex1 {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: baseline;
}



.contact_txt1.text01 label span {
	position: relative;
	padding-left: 0;
	margin: 0 10px 0 0;
	display: inline-block;
	top: 1px;
}


/* テキスト1 */
.contact_txt1.text01 label input[type=text] {
	width: 100%;
	height: auto;
	padding: 8px 0;
	border: 1px solid #ccc;
}
@media print, screen and (min-width: 801px) {
.contact_txt1.text01 label input[type=text] {
	width: 100%;
}
}


.contact_txt1.text02{
	display: flex;
	align-items: center;
}
/* テキスト2 */
.contact_txt1.text02 label input[type=text] {
	width: 90%;
	height: auto;
	padding: 8px 0;
	border: 1px solid #ccc;
	vertical-align: middle;
	
/*	background: rgba(217,212,96,1.00);*/
	
}
@media print, screen and (min-width: 801px) {
.contact_txt1.text02 label input[type=text] {
	width: 90%;
}
}

/* テキスト3 */
/* 氏名,フリガナ,旧姓（必要な場合のみ） */
.contact_txt1.text03 label input[type=text] {
	width: calc( 100% - 2px );
	height: auto;
	padding: 18px 0;
/*	margin: 0 0 30px;*/
	border: 1px solid #ccc;
	
/*	background: rgba(54,212,189,1.00);*/
}
@media print, screen and (min-width: 801px) {
.contact_txt1.text03 label input[type=text] {
	width: calc( 100% - 2px );
}
}
/* テキスト4 */
/*現住所,在籍時住所（必要な場合のみ）*/
.contact_txt1.text04 label {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 15px 0 0;
}
.contact_txt1.text04 label input[type=text] {
	width: calc( 100% - 2px );
	height: auto;
	min-height: 50px;
	padding: 18px 0;
/*	margin: 0 0 30px;*/
	border: 1px solid #ccc;
/*	overflow-wrap: break-word;*/
/*
	overflow: auto;
	word-break: break-all;
*/
}
@media print, screen and (min-width: 801px) {
.contact_txt1.text04 label input[type=text] {
	
}
}
/* テキスト5 */
/*現住所,在籍時住所（必要な場合のみ）*/
.contact_txt1.text05 label textarea {
	width: calc( 100% - 2px );
	height: auto;
	height: 50px;
	padding: 18px 0;
/*	margin: 0 0 30px;*/
	border: 1px solid #ccc;
/*	overflow-wrap: break-word;*/
/*
	overflow: auto;
	word-break: break-all;
*/
}
@media print, screen and (min-width: 801px) {
.contact_txt1.text05 label textarea {
	
}
}




/* テキストエリア1 */
.contact_txt1.textarea01 label {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	
}

.contact_txt1.textarea01 textarea {
	width: calc( 100% - 2px );
	height: 200px;
	padding: 18px 0;
	margin: 0;
	border: 1px solid #ccc;
	
	 text-align: left; /* テキストを左揃え */
    vertical-align: top; /* 上揃え */
    padding: 10px; /* 内側の余白を設定 */
    line-height: 1.5; /* 行の高さを調整 */
}

.contact_txt1.textarea01 span.wpcf7-form-control-wrap{
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	
/*	background: rgba(238,160,162,1.00);*/
}




/* テキストエリア2 */
.contact_txt1.textarea02 textarea {
	width: 100%;
	height: 200px;
	padding: 10px 0;
	margin: 0;
/*	border: 50px solid #ccc;*/
	
	 text-align: left; /* テキストを左揃え */
    vertical-align: top; /* 上揃え */
    padding: 10px; /* 内側の余白を設定 */
    line-height: 1.5; /* 行の高さを調整 */
}
.contact_txt1.textarea02 {
/*	background: rgba(223,235,110,1.00);*/

}
@media print, screen and (min-width: 801px) {
.contact_txt1.textarea02 textarea {
	width: 100%;
	height: 200px;
	padding: 10px 0;
	margin: 0;
/*	border: 50px solid #ccc;*/
}
.contact_txt1.textarea02 textarea {
	height: 100px;
}
}
.contact_txt1.textarea02 span.wpcf7-form-control-wrap{
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	
/*	background: rgba(238,160,162,1.00);*/
}








/* TEL1*/
/* 氏名,フリガナ,旧姓（必要な場合のみ） */
.contact_txt1.tel01 label input[type=tel] {
	width: calc( 100% - 2px );
	height: auto;
	padding: 18px 0;
/*	margin: 0 0 30px;*/
	border: 1px solid #ccc;
}
@media print, screen and (min-width: 801px) {
.contact_txt1.tel01 label input[type=tel] {
/*	width: 54.5%;*/
}
}


/* 生年月日1*/
/* 生年月日,入社日,在籍期間（およその期間でもかまいません）*/
.contact_txt1.number01{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}
.contact_txt1.number01 label{
	width: calc( 30% - 2px );
	height: auto;
	padding: 0;
/*	margin: 0 0 30px;*/
	border: 1px solid #ccc;
}
.contact_txt1.number01 label.label00{
	border: 1px solid #fff;
}
.contact_txt1.number01 label input[type=text] {
	width: calc( 100% - 37px);
	height: auto;
	padding: 18px 0;
	margin: 0;
	border: none;
}
.contact_txt1.number01 label select {
	width: calc( 100% - 37px);
	height: auto;
	padding: 18px 0;
	margin: 0;
	border: none;
}
.contact_txt1.number01 span {
	position: relative;
	padding: 25px 6px 0 6px;
	vertical-align: bottom;
	float: right;

}

@media print, screen and (min-width: 801px) {
.contact_txt1.number01 label input[type=text] {
/*	width: 54.5%;*/
}
}



.contact_txt1.number01 label{
	width: calc( 30% - 2px );
	height: auto;
	padding: 0;
/*	margin: 0 0 30px;*/
	border: 1px solid #ccc;
}






/* 生年月日1*/
/* 生年月日,入社日,在籍期間（およその期間でもかまいません）*/
.contact_txt1.number02{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}
@media print, screen and (min-width: 801px) {
.contact_txt1.number02{
	width: 66%;
}
}
.contact_txt1.number02 label{
	width: calc( 47% - 2px );
	height: auto;
	padding: 0;
/*	margin: 0 0 30px;*/
	border: 1px solid #ccc;
}

.contact_txt1.number02 label input{
	width: calc( 100% - 37px);
	width: calc( 100% - 10px);
	height: auto;
	padding: 18px 5px;
	margin: 0;
	border: none;
}
.contact_txt1.number02 label select {
	width: calc( 100% - 37px);
	width: calc( 100% - 10px);
	height: auto;
	padding: 18px 5px;
	margin: 0;
	border: none;
}







/* 住所1*/
.contact_txt1.zip01{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}
.contact_txt1.zip01 label{
	width: calc( 30% - 2px );
	height: auto;
	padding: 0;
/*	margin: 0 0 30px;*/
/*	border: 1px solid #ccc;*/
}
.contact_txt1.zip01 label input[type=text] {
	width: 100%;
	height: auto;
	padding: 18px 0;
	margin: 0;
	border: none;
	border: 1px solid #ccc;
}


/*建物の築年数*/
.contact_txt1.select02 label select {
	width: 100%;
	height: auto;
	padding: 18px 0;
	margin: 0;
	border: none;
	border: 1px solid #ccc;
}

/*参加希望日*/
.contact_txt1.select02 label input {
	width: 100%;
	height: auto;
	padding: 18px 0;
	margin: 0;
	border: none;
	border: 1px solid #ccc;
}



/* Email */
/* メールアドレス*/
.contact_txt1.mail01 label input[type=email] {
	width: calc( 100% - 2px );
	height: auto;
	padding: 18px 0;
/*	margin: 0 0 30px;*/
	border: 1px solid #ccc;
}
@media print, screen and (min-width: 801px) {
.contact_txt1.mail01 label input[type=email] {
/*	width: 54.5%;*/
}
}


.contact_txt1.center01{
	width: 100%;
	text-align: center;
}




/* セレクト1*/
.contact_txt1.select01{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}
.contact_txt1.select01 label{
	width: calc( 30% - 2px );
	height: auto;
	padding: 0;
/*	margin: 0 0 30px;*/
/*	border: 1px solid #ccc;*/
/*	background: rgba(230,188,189,1.00);*/
}
.contact_txt1.select01 label select {
	width: 100%;
	height: auto;
	padding: 18px 0;
	margin: 0;
	border: none;
	border: 1px solid #ccc;
}






/***

同意ボタン

***/
.radio-btns.m01 label{
	width: auto;
	height: auto;
	margin: 0 auto;
/*
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
*/
	
/*	background: rgba(199,76,78,1.00);*/
}










/***

個人情報

***/
.contents_box1{
	clear: both;
	width: calc( 100% - 42px );
	height: 250px;
	margin: 0;
	padding: 15px 20px;
	border: 1px solid #ccc;
	
	overflow:inherit;
	overflow-y: scroll;
}
@media print, screen and (min-width: 801px) {
.contents_box1{
	height: 280px;
}
}



.contents_box1 p{
	clear: both;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	
	font-size: 3vw;
	line-height: 160%;
	color: #555;
	letter-spacing: 0.02em;
	text-align: justify;
}
@media print, screen and (min-width: 801px) {
.contents_box1 p{
	font-size: 14px;
	line-height: 160%;
}
}

.contents_box1 p.title17{
	font-size: 3.4vw;
	line-height: 130%;
	font-weight: bold;
}
@media print, screen and (min-width: 801px) {
.contents_box1 p.title17{
	font-size: 17px;
	line-height: 130%;
}
}



/***

送信ボタン

***/
.submit_btn{
	clear: both;
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0;
	text-align: center;
/*
	background:rgba(44,165,223,1.00);#2ca5df
	background:rgba(44,165,223,0.2);#2ca5df
*/
}
@media print, screen and (min-width: 801px) {
.submit_btn{
	width: 80%;
	max-width: 480px;
	height: 60px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
}




.submit_btn input.wpcf7-form-control{
	clear: both;
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0;
	border: none;
	
	font-weight: 400;
	font-size: 25px;
	font-size: 5.68vw;
	line-height: 101%;
	margin: 0;
	padding: 0;
	color: #fff;/*同意ボタンオン*/
	letter-spacing: 0.6em;
	letter-spacing: 0.02em;
	text-align: center;
	background:#006923;
/*	background: rgba(217,58,60,1.00);*/
	position: relative;
}
/*
.submit_btn_arrow1{
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	
	font-weight: 400;
	font-size: 9px;
	font-size: 2.05vw;
	line-height: 101%;
	margin: 0;
	padding: 0;
	color: #fff;同意ボタンオン
	
	position: absolute;
	top: 40%;
	right: 10%;
	z-index: 10;
}
*/
@media print, screen and (min-width: 801px) {
.submit_btn input.wpcf7-form-control{
	font-size: 25px;
	text-align: center;
}
}
.submit_btn input[type="submit"] {
	font-size: 16px; /* 文字サイズ */
	color: #fff; /* 文字色 */
	cursor: pointer; /* カーソルをポインターに変更 */
	text-align: center;
	vertical-align: middle;
	margin: 0 auto;
	width: auto;
	padding: 15px 30%;
	border-radius: 4px;
}







/*ボタンテキスト　*/
.contact_txt1-btn1{
	width: auto;
	height: auto;
	
	font-weight: 400;
	font-size: 17px;
	font-size: 3.87vw;
	line-height: 130%;
	color: #727171;
	text-align: left;
	margin: 0;
	padding: 0;
}
@media print, screen and (min-width: 801px) {
.contact_txt1-btn1{
	font-size: 17px;
}

}

.contact_txt1-btn1 label{
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;

}



/***

コンタクトフォーム7
未入力時に主力される文字の調整

***/
.wpcf7-not-valid-tip{
	font-family: "sans-serif" !important;
	font-size: 12px;
	line-height: 100.1%;
	letter-spacing: 0.02em;
	color: #900;
	position: absolute;
	top: 56px;
	left: 0;
	text-align: left;
	white-space: nowrap;
	
}
.radio-btns.calc3 .wpcf7-not-valid-tip{
	top: 0;	
}
@media print, screen and (max-width: 800px) {
.wpcf7-not-valid-tip{
	font-family: "sans-serif" !important;
	font-size: 2.4vw;
/*	white-space: nowrap;*/
	position: absolute;
	top: 3px;
}
.radio-btns.calc3 .wpcf7-not-valid-tip{
	top: -0.8em;	
}
.agew01 .wpcf7-not-valid-tip,
.agew02 .wpcf7-not-valid-tip,
.agew03 .wpcf7-not-valid-tip,
.agew04 .wpcf7-not-valid-tip,
.yubin_box1 .wpcf7-not-valid-tip,
.gakureki_box1 .wpcf7-not-valid-tip{
	top: 56px;
}
}
@media print, screen and (min-width: 801px) {
.textarea02 .wpcf7-not-valid-tip{
	top: calc( 100% + 3px );	
	
}
}

.blue_color{
	letter-spacing: 0.03em;
	line-height: 150%;
}
.blue_color a{
	text-decoration: underline;
	color: #006923;
}