form dl{
    width:90%;
    min-width:310px;
    max-width: 650px;
    border:1px solid gray;
    margin:10px auto;
    display:flex;
    flex-wrap:wrap;
}

form dt,
form dd{
    padding:1em;
    border-bottom:1px dashed #a5b1b9;
}
form dt{
    width:30%;
    min-width:140px;
    background:#cae9fd;
    flex-grow:1;
}

form dd{
    width:70%;
    min-width:300px;
    margin:0;
    flex-grow:1;
}
form dd>input,
form textarea{
    width:80%;
    min-width:170px;
}
 
.treatment{
    background:#fbdde2;
}
.caution2{
    text-align:center;
}


#check_btn_area{
    position: relative;
    display:block;
    margin:auto;
    width: 270px;
    padding:1em;
    font-size:16px;
    font-weight:bold;
    border: 3px solid #3388dd;
    background:none;
    color:#3388dd;
    transition: .6s;
}

#check_btn_area::after {
    position: absolute;
    top: 50%;
    right:20px;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

#check_btn_area:hover{
    background-color: #3388dd;
    color: #ffffff;
}
#check_btn_area:hover::after{
      color: #ffffff;
}

/*住宅ローン用*/

  /* 初期状態では非表示 */
    .for_housing,
	.for_housing +dd {
        display: none;
    }

        /* 住宅ローンのチェックボックスが選択された場合に表示 */
    dd:has(#shiryou1:checked)~.for_housing {
        display: block;
    }

dt span.red{
    display:inline-block;
    margin-left:1em;
}

#form_table dt{
    background:#e0e2e3;
}


.container {
  margin-top: 5%;
  margin-left: 5%;
}

.err{
    color:red;
    font-weight:bold;
    display:block
}

/*チェックボックス*/

.checkbox-group .checkbox_design {
  position: relative;
  cursor: pointer;
}

.checkbox-group .checkbox_design input {
  position: absolute;
  opacity:0;
  /*transform: translate(-2%, -50%);*/
  height: 20px;
  width: 200px;
  z-index:99;
}

.checkbox-group .checkbox_design span {
  position: absolute;
  top: 30%;
  left: 4px;
  /*transform: translate(-50%, -50%);*/
  height: 20px;
  width: 20px;
  border: 2px solid #0d0d0d;
  transition: border-color 0.3s;
}

.checkbox-group .checkbox_design input:checked ~ span::after {
  content: "";
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 7px;
  height: 15px;
  border: solid #005aff;
  border-width: 0 3px 3px 0;
  transition: transform 0.3s;
}

.checkbox-group .checkbox_design input:checked ~ span {
  border-color: #005aff;
}

.checkbox-group .checkbox_title{
    transform: translate(30px, 0px);
    width:90%;
    margin-bottom:0;
}

.checkbox-group .clarify{
    font-size:small;
    padding-left:30px;
    margin-top:0;
    
}


.telnum{
    font-size: 1.5em;
}
.telbox{
	border:1px solid #999191;
	display:flex;
	flex-wrap: wrap;
}

.telbox>dt,
.telbox>dd{
	padding:5px;
}

.telbox>dt{
	text-align:center;
	width:40%;
	background-color:#edf2ff;
}

.telbox>dd{
	margin:0;
	width:60%;
}

.telbox>dt:first-child{
	border-right:1px solid #999191;
	border-bottom:1px solid #999191;
}

.telbox>dd:nth-child(2){
	border-bottom:1px solid #999191;
}

.telbox>dt:nth-child(3){
	border-right:1px solid #999191;
}