
.topdesc_sub_headline{
	font-weight: bold;
	font-size: 18px;
	margin: 10px 25px 0px 25px;
}
.top_desc p.topdesc_form{
	margin-top: 5px;
}
p.head_tel{
	margin-top: 8px;
	font-size: 20px;
	color: #5cad86;
	margin-bottom: 25px;
}
p.head_tel span{
	font-size: 14px;
	color: #242424;
	margin-top: 6px;
	display: block;
}
.head_tel a{
	font-size: 30px;
	color: #5cad86;
}
.ssl{
	font-weight: bold;
	font-size: 16px;
	width: 96%;
	margin: 30px auto;
}

.c_menu2 h3{
	font-size: 18px;
	font-weight: bold;
}


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

p.head_tel{
	font-size: 17px;
}
.head_tel a{
	display: block;
}
p.head_tel span{
	font-size: 13px;
	letter-spacing: 0.01em;
}
.ssl{
	font-size: 14px;
}

#menublock2{
	display: block;
}
.c_menu2{
	width: 100%;
}
.c_menu2 h3{
	font-size: 16px;
	font-weight: bold;
}
.menu_icon img{
	width: 20%;
}

}






/*---フォーム基本設定----------------------------------------------------------------------------*/


input[type='text'],input[type='email'],input[type="tel"]{
  max-width: 99%;
  padding: 10px;
  border-radius: 4px;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
	background-color: #fff;
	border: solid 1px #ddd;
	font-size: 16px;
	line-height: 1.3em;
}
textarea{
  width: 99%;
  height: 200px;
  padding: 10px;
  border-radius: 4px;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
	background-color: #fff;
	border: solid 1px #ddd;
	font-size: 16px;
	line-height: 1.3em;
}
input[type='radio']{
	margin-right:5px;
	position:relative;
	top:-1px;
}
button[type='submit'],
input[type='submit'],
input[type='button'].return{
  border: none;
  display: block;
  width: 100%;
  max-width: 220px;
  padding: 18px;
  border-radius: 4px;
  background-color: #ed832e;
  color: #fff;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
	font-size: 22px;
	line-height: 1em; 
	letter-spacing: 0.2em;
	text-indent: 10px;
	text-align: center;
	margin: 20px auto;
	transition: .5s;
	margin:  15px;
}
input[type='button'].return{

  background-color: #a9a9a9;
 }
 button[type='submit']:hover,
input[type='submit']:hover,
input[type='button'].return:hover{
	background-color: #5cad86;
}

/* 202405追記 */
#request_form input.send_btn[disabled] {
    background-color: #aaa;
    cursor: not-allowed;
}
input[type='text']::placeholder,
input[type='email']::placeholder,
input[type='tel']::placeholder,
textarea::placeholder {
	color: #c1c1c1;
}

/*--ラジオボタン --*/
.radio_button {
  display: none;
}

.radio_button + span {
  cursor: pointer;
  display: inline-block;
  margin: 12px 50px 0 0;
  padding: 0 0 0 2em;
  position: relative;
}

.radio_button + span::before {
  -webkit-transform: translateY(-50%);
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 50%;
  content: "";
  display: block;
  height: 16px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}

.radio_button + span::after {
  -webkit-transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.32);
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  height: 8px;
  left: 4px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease 0s;
  width: 8px;
}

.radio_button:checked + span::after {
  opacity: 1;
}

/*--プルダウン --*/
.select_down {
	overflow: hidden;
	width: 40%;
	text-align: center;
}
.col2 .select_down {
	margin-bottom: 10px;
}
.select_down select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.select_down select::-ms-expand {
    display: none;
}
.select_down.pulldowm {
	position: relative;
	border: 1px solid #ddd;
	border-radius: 2px;
	background: #ffffff;
	border-radius: 4px;
}
.select_down.pulldowm::before {
	position: absolute;
	top: 50%;
	right: 0.9em;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.select_down.pulldowm select {
	padding: 13px 38px 13px 10px;
	font-size: 15px;
	line-height: 1.3em;
	color: #666;
}
.select_down.pulldowm select.pl_select {
	color: #c1c1c1;
}
.form_flex{
	display: flex;
	align-items: center;
}

@media screen and (max-width:768px) {
.select_down {
	width: 60%;
}
}

/*--チェックボックス --*/
.checkbox-input{
	display: none;
}
.mwform-checkbox-field-text{
  padding-left: 30px;
  position:relative;
  margin-right: 20px;
  
}
.mwform-checkbox-field-text::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 4px;
}
.request_check .mwform-checkbox-field-text{
    padding-left: 35px;
	font-size: 20px;
}
.request_check .mwform-checkbox-field-text::before{
    width: 19px;
    height: 19px;
}
.checkbox-input:checked + .mwform-checkbox-field-text{
  color: #d01137;
}
.checkbox-input:checked + .mwform-checkbox-field-text::after{
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #d01137;
  border-right: 3px solid #d01137;
}
.request_check .checkbox-input:checked + .mwform-checkbox-field-text::after{
	width: 11px;
	height: 17px;
}

.mwform-checkbox-field label{
	
}

.form_b .mwform-checkbox-field-text{
	font-weight: bold;
}
.lsp2 .mwform-checkbox-field-text{
	text-align: justify;
	width:130px;
	display: inline-block;
}


/*--iphone 送信ボタンリセット --*/
input[type="submit"]{
-webkit-appearance: none;
}

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

}

@media screen and (max-width:768px) {
input[type='text'],input[type='email'],input[type='tel']{
  width: 96%;
  padding: 13px 2%;
}
textarea{
  width: 96%;
  height: 250px;
  padding: 13px 2%;
}
input[type='radio']{
	margin-right:5px;
	top:1px;
}
button[type='submit'],
input[type='submit'],
input[type='button'].return{
  max-width: 170px;
  padding: 22px;
	font-size: 16px;
	line-height: 1em; 
	margin: 20px auto;
}

.request_check .mwform-checkbox-field-text{
	font-size: 16px;
}

}



/*--フォームスタイル-----*/

.form-box{
}
.form-box .h2{
	text-align: center;
	margin: 20px auto;
	color: #333;
	font-size: 30px;
}
.form-box .table{
	margin: 40px auto;
	border-top: solid 1px #ddd;
}
.form-box .table dl{
	display: flex;
	width: 100%;
	align-content: center;
	border-bottom: solid 1px #ddd;
}
.form-box .table dt{
	width: 27%;
	padding: 25px 3%;
	background-color: #f6f6f6;
	font-size: 18px;
	line-height: 1.5em;
}
.form-box .table dt small{
	position: relative;
	display: inline-block;
    background-color: #5cad86;
	color: #fff;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	font-size: 14px;
	line-height: 1em;
	padding: 4px 10px;
	margin-left: 6px;
	top: -1px;
}
.form-box .table dd{
	width: 61%;
	padding: 15px 3%;
	color: #404040;
}
.form-box .table dd.row2{
	display: flex;
	justify-content: space-between;
}
.form-box .table dd.row2 span{
	display: inline-block;
	width: 48%;
}
.form-box .table dd.row2 span input{
	display: inline-block;
	width: 12%;
	margin-left: 6px;
}
.form-box .table dd.col2{
}
.form-box .table dd.col2 span{
	display: block;
	margin-bottom: 10px;
}
.form-box .table dd.col2 span:last-child{
	margin-bottom: 0px;
}
.form-box .table dd.col2 span.postno input{
	width: 120px;
}
.form-box .table .submit-btn{
	margin: 20px auto;
	padding-bottom: 10px;
	display: flex;
	justify-content: center;
}

.form_tex{
	margin-bottom: 25px;
	margin-top: 5px;
}
.form_tex_att{
	color: #db0000;
}

.form_b{
	font-weight: bold;
}
.select_inline{
	display: inline-block;
	vertical-align: middle; 
}

.form_trigger{
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}
.form_trigger label{
	width: 35%;
	margin-right: 20px;
}
.form_trigger .checkbox-parts{
	display: flex;
	justify-content: space-between;
	margin-left: 10px;
}
.form_trigger .checkbox-parts span{
	margin-top: -2px;
}

.privacy_box{
	margin: 40px 0;
}
.privacy_check{
	background-color: #f6f6f6;
	text-align: center;
	padding: 15px 0;
	margin: 20px 0;
}
.request_check .privacy_check{
	padding: 20px 0;
}

.mw_wp_form .error{
	font-size: 16px;
	font-weight: bold;
}

.form_trigger_txt textarea {
    height: 120px;
}
.form_trigger_txt textarea::placeholder {
    font-size: 15px;
}


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

}

@media screen and (max-width:979px) {
.form-box .table dt small{
	padding: 4px 10px;
	margin-top: 5px;
}
}

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

.form-box .h2{
	margin: 16px auto;
	font-size: 22px;
}
.form-box .table{
	margin: 20px auto;
}
.form-box .table dl{
	display: block;
	width: 100%;
	margin: 15px 0;
}
.form-box .table dt{
	width: 94%;
	padding: 15px 3%;
	background-color: #eaedee;
	font-size: 16px;
	line-height: 1em;
}
.form-box .table dt small{
	font-size: 12px;
	line-height: 1em;
	top: -2px;
}
.form-box .table dd{
	width: 94%;
	padding: 15px 3%;
	font-size: 14px;
	line-height: 1em;
}
	
.form-box .table dd.row2{
	display: block;
}
.form-box .table dd.row2 span{
	width: 100%;
	margin-bottom: 6px;
}
.form-box .table dd.row2 span:last-child{
	margin-bottom: 0px;
}
.form-box .table dd.row2 span input{
	width: 70%;
}
.form-box .table dd.col2 span{
	margin-bottom: 6px;
}
.form-box .table .submit-btn{
	margin: 35px auto;
	padding-bottom: 1px;
	display: block;
}


.form_trigger{
	display: block;
	width: 100%;
}
.form_trigger label{
	margin: 25px 0 8px 0;
	display: block;
}
.form_trigger .checkbox-parts span{
	margin-top: 2px;
}
.mw_wp_form .error{
	font-size: 14px;
}
	
}




/*--完了画面-----*/



.form-box .table .mw_wp_form_confirm dt small{
	display: none;
}

.mw_wp_form_confirm .form_trigger br,.mw_wp_form_confirm .form_tex,.mw_wp_form_confirm .form_tex_att,.mw_wp_form_confirm .privacy_box{
	display:none;
}
.form-box .table .mw_wp_form_confirm dd {
	padding-top: 25px ;
	padding-bottom: 25px ;
	font-size: 17px;
}

.mw_wp_form_confirm .select_down {
	width: auto;
	text-align: left;
	display: inline-block;
}
.mw_wp_form_confirm .col2 .select_down {
	margin-bottom: 0px;
}
.mw_wp_form_confirm .select_down select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.select_down select::-ms-expand {
    display: none;
}
.mw_wp_form_confirm .select_down.pulldowm {
	border: none;
}
.mw_wp_form_confirm .select_down.pulldowm::before {
	display: none;
}
.select_down.pulldowm select {
	padding: 13px 38px 13px 10px;
	font-size: 15px;
	line-height: 1.3em;
	color: #666;
}

.mw_wp_form_confirm .col2 {
	display: flex;
}
.mw_wp_form_confirm .form_trigger{
	margin-bottom: 0px;
}


.thanks{
	margin-bottom: 250px;
}

@media screen and (max-width:765px) {
.thanks{
	margin-bottom: 80px;
}
}


/*--202405追加_資料請求ページ改修-----*/
.request_block #contents_title {
    padding: 20px 0 30px 0;
}
.request_block .top_desc {
	margin-top: 5px;
	margin-bottom: 0px;
}
.request_block .ssl {
    margin: 20px auto;
}
/* 電話番号ボタン */
.request_block .topdesc_sub_headline {
    text-align: center;
}
.request_block .request_tel_btn {
	margin: 5px auto 20px auto;
    text-align: center;
}
.request_block a.tel {
	font-size: 26px;
    font-weight: bold;
    color: #fff;
    background-color: #ed832e;
    border-radius: 5px;
    display: block;
	margin: auto;
    padding: 10px 0px 5px 25px;
	width: 400px;
    text-align:center;
    background-image: url(../img/form/icon_tel.png);
	background-size: 30px auto;
	background-repeat: no-repeat;
	background-position: 25px center;
	white-space: nowrap;
}
.request_block a.tel:hover {
    background-color: #f39448;
}
.request_block a.tel span {
    font-size: 14px;
}
@media screen and (max-width:640px) {
.request_block #contents_title {
	margin-bottom: 20px;
	padding: 30px 0 0px 0;
	line-height: 170%;
    margin-top: -5px;
}
.request_block p {
    margin: 12px 25px;
}
.request_block .ssl {
    margin: 10px auto;
}
.request_block .topdesc_sub_headline {
	font-size: 16px;
}
.request_block a.tel {
    font-size: 20px;
	padding: 9px 0 10px 20px;
	line-height: 100%;
    width: 300px;
	background-size: 25px auto;
}
.request_block a.tel span {
    font-size: 13px;
}
}

/* 資料請求ステップの追加 */
.request_flow {
    display: flex;
    justify-content: center;
    border-top: 1px solid #ddd;
	padding-top: 35px;
}
.request_flow_in_arrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 15px;
    border-color: transparent transparent transparent #666666;
    margin: auto 20px;
}
.request_flow_box {
    border: 1px solid #ddd;
    padding: 10px 0px;
    width: 25%;
    font-size: 16px;
    color: #c1c1c1;
    text-align: center;
}
.request_flow_currently {
    background-color: #5CAD86;
    color: #fff;
}
@media screen and (max-width:767px) {
.request_flow {
    padding: 25px 0 5px 0;
}
}
@media screen and (max-width:640px) {
.request_flow {
    padding: 20px 0 5px 0;
}
.request_flow_box {
	padding: 8px 0px;
    font-size: 15px;
}
.request_flow_in_arrow {
    border-width: 7px 0 7px 12px;
    margin: auto 10px;
}
}

/* 完了画面 */
.request_thanks_block{
	margin-bottom: 260px;
}

@media screen and (max-width:765px) {
.request_thanks_block{
	margin-bottom: 100px;
}
}


/*--20240930追加_資料請求フォーム：リアルタイム入力チェックおよび背景色の変更-----*/
.error-pink {
    background: #faeeee;
}
.error-real {
	font-weight: bold;
	font-size : 93%;
	color : #B70000;
	display : block;
}

/* 20241225 バリデーション */
form#mail_form #request_form span#name,
form#mail_form #request_form span#read,
form#mail_form #request_form span#age_va,
form#mail_form #request_form span#postno,
form#mail_form #request_form span#addres,
form#mail_form #request_form span#addr_va,
form#mail_form #request_form span#email,
form#mail_form #request_form span#email_2,
form#mail_form #request_form span#phone1_va,
form#mail_form #request_form span#phone2_va,
form#mail_form #request_form span#phone3_va,
form#mail_form #request_form span.error {
    display: block;
    font-size: 14px;
    color: #ff0000;
}
