@charset "UTF-8";
/* CSS Document */

@media screen and (min-width: 768px) {
	p img { margin-right: 5px; vertical-align: middle; }
	form table { margin-bottom: 40px; width: 100%; }
	form th { padding: 10px 15px; border: 1px solid #cccccc; background: #f0f0f0; vertical-align: middle; text-align: left; line-height: 1.4; }
	form td { padding: 10px 15px; border: 1px solid #cccccc; vertical-align: middle; text-align: left; line-height: 1.4; }
	form th img { margin-right:  8px; vertical-align: middle; }
	form td table { margin: 10px 0 0; }
	form td th { font-weight: normal; }
	form td p { margin-bottom: 7px; }
	form input { vertical-align: middle; }
	form input[type="text"], form input[type="tel"], form input[type="email"], form input[type="url"] { padding: 5px; border: 1px solid #a9a9a9; }
	form input[type="radio"] { margin-right: 5px; }
	form input[type="checkbox"] { margin-right: 5px; }
	form textarea { width: 100%; height: 70px; border: 1px solid #a9a9a9; }
	form label { margin-right: 10px; vertical-align: middle; }
	form label input { vertical-align: middle; }
	form td.answer { vertical-align: top; text-align: center; }
	form td span.w120 { float: left; width: 120px; }
	form td span.w160 { float: left; width: 160px; }
	form td span.w310 { float: left; width: 310px; }
	form th.question1 { width:80%; text-align:center; }
	form th.question2 { width:20%; text-align:center; }
	.questionTbl .w70per { width: 70%; text-align:center; }
	.questionTbl .w30per { width: 30%; text-align:center; }
	.questionTbl .overview { text-align:left; }
	form input.per100 { width: 100%; }
	form input.w320 { width: 320px; }
	form input.w175 { width: 175px; }
	form input.w60 { width: 60px; }
	form textarea.w660 { width: 660px; height: 8em; }
	form textarea.w790 { width: 790px; height: 8em; }
	form p.notice { text-align: center; }
	form p em { color: #ca3131; font-style: normal; }
	.error_box li { color: red; }
	main td small { font-size: 85%; }
	main h5 small { font-weight: normal; font-size: 85%; }
	div.btn { margin: 40px 0; text-align: center; }
	div.btn input#buttonConfirm { width: 260px; height: 63px; border: 0; background: url(/common/img/btn_confirm.png) no-repeat 0 0; cursor: pointer; }
	div.btn input#buttonPrivacyConfirm { width: 500px; height: 63px; border: 0; background: url(/common/img/btn_privacy_confirm.png) no-repeat 0 0; cursor: pointer; }
	div.btn #buttonBack { width: 260px; height: 63px; border: 0; background: url(/common/img/btn_back.png) no-repeat 0 0; cursor: pointer; }
	div.btn #buttonSend { width: 260px; height: 63px; border: 0; background: url(/common/img/btn_send2.png) no-repeat 0 0; cursor: pointer; }
	div.btn input#buttonPrev { width: 260px; height: 63px; border: 0; background: url(/common/img/btn_prev.png) no-repeat 0 0; cursor: pointer; }
	div.btn input#buttonNext { width: 260px; height: 63px; border: 0; background: url(/common/img/btn_next.png) no-repeat 0 0; cursor: pointer; }
	div.btn input#buttonPrivacyNext { width: 500px; height: 63px; border: 0; background: url(/common/img/btn_privacy_next.png) no-repeat 0 0; cursor: pointer; }
	section.done { text-align: center; padding: 45px; background: #dff6ff; }
	section.done p { line-height: 1.6; font-size: 115%; }
	section.done p.txt-large{margin: 1.5em 0;font-size: 171.5%;font-weight: bold;}
}

@media screen and (max-width: 767px) {
	p img[alt="必須"] { margin-right: 1vw; vertical-align: middle; width: 8vw; }
	form table { margin-bottom: 5vw; width: 100%; border-collapse: collapse; }
	form th,
	form td { padding: 2vw 3vw; border: 0.2vw solid #cccccc; text-align: left; line-height: 1.4; display: block; }
	form th { background: #f0f0f0; }
	form td { margin-top: -0.2vw; }
	form th img { margin-right: 1vw; vertical-align: middle; width: 8vw; }
	form td img { vertical-align: middle; }
	form thead th { text-align: center; }
	form input[type="text"], form input[type="tel"], form input[type="email"], form input[type="url"] { padding: 5px; border: 1px solid #a9a9a9;  }
	form input[type="radio"] { margin-right: 5px; }
	form input[type="checkbox"] { margin-right: 5px; }
	form textarea { width: 100%; height: 70px; border: 1px solid #a9a9a9; }
	form label { margin-right: 10px; vertical-align: middle; }
	form label input { vertical-align: middle; }
	form p em { color: #ca3131; font-style: normal; }
	main td small { font-size: 3vw; display: block; }
	main h5 small { font-weight: normal; font-size: 3vw; }
	div.btn { margin: 6vw 0; text-align: center; }
	div.btn input#buttonConfirm { width: 50vw; height: 13vw; border: 0; background: url(/common/img/btn_confirm.png) no-repeat 0 0 / 50vw auto; cursor: pointer; }
	div.btn input#buttonPrivacyConfirm { width: 280px; height: 63px; border: 0; background: url(/common/img/btn_privacy_confirm_sp.png) no-repeat 0 0; }
	div.btn #buttonBack { width: 50vw; height: 13vw; border: 0; background: url(/common/img/btn_back.png) no-repeat 0 0 / 50vw auto; cursor: pointer; }
	div.btn #buttonSend { width: 50vw; height: 13vw; border: 0; background: url(/common/img/btn_send2.png) no-repeat 0 0 / 50vw auto; cursor: pointer; }
	div.btn input#buttonPrev { width: 50vw; height: 13vw; border: 0; background: url(/common/img/btn_prev.png) no-repeat 0 0 / contain; cursor: pointer; }
	div.btn input#buttonNext { width: 50vw; height: 13vw; border: 0; background: url(/common/img/btn_next.png) no-repeat 0 0 / contain; cursor: pointer; }
	section.done { text-align: center; padding: 6vw 6vw 2vw; background: #dff6ff; }
	section.done p { line-height: 1.6; font-size: 4vw; }
}

.mgb_10{
  margin-bottom: 10px;
}
.bold{
  font-weight: bold;
}

.select_wrap{
  display: flex;
  align-items: center;
}
.select_wrap .select_item{
  margin-right: 5px;
}
.select_wrap .select_item:not(:first-child) {
  margin-left: 10px;
}
.select_item{
  position: relative;
}
.select_item::after{
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  right: 5px;
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid black;
  pointer-events: none;
}
.select_item select{
  width: 100%;
  padding: 5px 18px 5px 8px;
  border: 1px solid #a9a9a9;
}
@media screen and (min-width: 768px) {
  .select_item.w320{
    width: 320px;
  }
}



/* 追加 202220617 */
form table.join_tbl{
  margin-bottom: 0;
}
.join_tbl-block{
  margin-bottom: 40px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.join_tbl-block .tbl_question{
  display: flex;
}
.join_tbl-block .tbl_question > p{
  width: 80%;
  margin: 0;
  padding: 10px 15px;
}
.join_tbl-block .tbl_question > div{
  width: 20%;
  padding: 10px 15px;
  border-left: 1px solid #ccc;
  text-align: center;
}
.postscript_tbl{
  padding: 15px 15px 10px;
  border-top: 1px dashed #ccc;
}
.postscript_tbl table{
  margin-bottom: 0;
}


.add_tbl th{
  text-align: center;
  vertical-align: middle;
  font-size: 12px;
}
.add_tbl th,
.add_tbl td{
  padding: 5px 10px;
}
.head_item-01{
  width: 16%;
}
.head_item-02{
  width: 8%;
}
.head_item-03{
  width: 9%;
}
.head_item-04{
  width: 5%;
}
.head_item-05{
  width: 62%;
}
.head_item-06{
  width: 3%;
}
.head_item-07{
  width: 11%;
}
.head_item-08{
  width: 26%;
}
.head_item-09{
  width: 10%;
}
.head_item-10{
  width: 10%;
}

.add_tbl input{
  width: 100%;
}
.add_tbl label{
  display: flex;
  align-items: center;
}
.add_tbl .deadline_box{
  display: flex;
  align-items: center;
}
.add_tbl .deadline_box input.hasDatepicker{
  width: calc(50% - 10px);
}
.ui-datepicker select.ui-datepicker-year{
  background: url(/common/img/icon_arrow-btm.png) no-repeat right 7px center / 12px;
}
.add_tbl .deadline_box span{
  width: 15px;
  margin: 0 5px;
}

.add_wrap{
  display: flex;
  justify-content: flex-end;
  margin: 10px 0 0;
}
.add_wrap .add_btn{
  width: 100px;
  margin: 0;
  padding: 3px;
  background: #666;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  cursor: pointer;
}
.add_wrap .add_btn:hover{
  opacity: .7;
}

.join_tbl-block-confirm .tbl_question > p{
  width: 70%;
}
.join_tbl-block-confirm .tbl_question > div{
  width: 30%;
}
.note_txt{
  display: block;
  margin: 10px 0 0;
}
.note_txt + .note_txt{
  margin: 0;
}

@media screen and (max-width: 768px) {
  .join_tbl-block .tbl_question{
    display: block;
  }
  .join_tbl-block .tbl_question > p,
  .join_tbl-block .tbl_question > div{
    width: 100%;
    text-align: left;
    padding: 2vw 3vw;
  }
  .join_tbl-block .tbl_question > div{
    border: none;
    border-top: 1px solid #ccc;
  }
  .scroll_tbl_wrap{
    width: calc(84vw - 34px);
    overflow-y: scroll;
  }
  .scroll_tbl_wrap .add_tbl{
    width: 1000px;
  }
  .scroll_tbl_wrap .add_tbl th,
  .scroll_tbl_wrap .add_tbl td{
    display: table-cell;
  }
  
}


/*20241023電話番号案内追加*/
.request_tel{
 margin-bottom: 20px;
 padding: 10px 20px;
 background: #d1f7f1;
}

/*====================================
  お見積り注釈
====================================*/
.fc_red{
  color: #f00;
}
.mg_0{
  margin: 0;
}
.mgb_8{
  margin-bottom: 8px;
}
.formType01 + ul{
  margin-top: .5em;
}
.indentTxt{
  margin-left: 1em;
  text-indent: -1em;
}
