@charset "utf-8";

/* ===================================================================
SmartPhone CSS
ウィンドウ幅[0～640px]の場合に適用
=================================================================== */
@media screen and (max-width:640px) {

/* ===================================================================
各ページ共通
=================================================================== */

/*	body
--------------------------------------------------------------------*/
body {
font-size: 1.4rem;
overflow: hidden;
}

/*	header
--------------------------------------------------------------------*/
header {
width: 100%;
padding: 15px;
}

#header h1 {
max-width: 175px;
margin: 0 auto;
}

/*	main
--------------------------------------------------------------------*/
#main {
max-width: 100%;
margin-top: 0;
margin-bottom: 0;
}
/*	footer
--------------------------------------------------------------------*/
footer {
margin-bottom: 80px;
}

#footer .f_box {
margin: 10px auto;
}

#footer .f_box .f_logo h4,
#footer .f_box .f_logo p {
text-align: center;
}

#footer .f_box .f_logo img {
width: 113px;
margin: 0 auto;
}

/*	form
--------------------------------------------------------------------*/
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
select,
textarea {
font-size: 1.6rem;
border-radius: 0;
}

.sec_form dl {
display: block;
padding-bottom: 20px;
margin-bottom: 20px;
}

.frm_customer_info,
.frm_property_info {
border: none;
border-bottom: 1px solid #ccc;
}

.sec_form dt {
display: flex;
max-width: 100%;
border: none;
}

.sec_form dd {
max-width: 100%;
border: none;
}

/* ----- form checkbox start ----- */
.prt_checkbox label {
display: block;
width: 100%;
}

.prt_checkbox label:not(:nth-of-type(-n+3)) { padding: 0; }
.prt_checkbox label:not(:last-child) { padding-bottom: 25px; }
/* ----- form checkbox end ----- */

/* ----- form radio start ----- */
.prt_radio label {
width: 100%;
}

.prt_radio label:not(:nth-child(3n)),
.prt_radio label:not(:nth-of-type(-n+3)) { padding: 0; }
.prt_radio label:not(:last-child) { padding-bottom: 2px; }
/* ----- form radio end ----- */

/* ----- form button start ----- */
.btn_submit {
width: 96%;
}
/* ----- form button end ----- */

/* ----- form 必須or任意 icon start ----- */
.ico_or {
display: inline-block;
width: auto;
margin: 0;
}
/* ----- form 必須or任意 icon end ----- */

.sec_address .ttl_post_num {
display: block;
}

.pp_check {
max-width: 96%;
margin: 0 auto;
}

/* ===================================================================
nav_step
=================================================================== */
.nav_step {
font-size: 2.8vw;
}

.nav_step li:not(:first-child) {
padding-left: 30px;
}

/* ===================================================================
thanks_page
=================================================================== */
.thanks_page {
margin:0 10px 30px 10px;
padding: 25px 5px;
}

.thanks_page p {
font-size: 16px;
}

/* ----- form required number box start ----- */
.reqBox{
position:fixed;
top:inherit;
right:50%;
bottom: 0;
width: 300px;
margin: 0 -150px 10px 0; 
padding:5px 10px;
color: white;
text-align: center;
background-color: #262769;
border-radius: 5px;
z-index: 10;
}

.reqBox span {
  display:inline;
  margin-right: 5px;
}

.reqBox span:first-child {
  font-size: 12px;
}

.required_num{
font-size: 16px;
font-weight: bold;
}
/* ----- form required number box end ----- */

}
