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

@media screen and (min-width: 768px) {
p img { margin-right: 5px; vertical-align: middle; }
main { font-size: 1.4rem; }
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 select { padding: 5px 30px 5px 5px; border: 1px solid #a9a9a9; background: url("../img/icon_arrrow_b.png") no-repeat 100% 50%; }
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.w60 { float: left; width: 60px; }
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.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 h5 small { font-weight: normal; }
div.btn { margin: 40px 0; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
div.btn >* { margin: 0 10px; }
div.btn input#buttonConfirm { width: 260px; height: 63px; border: 0; background: url(../img/btn_confirm.png) no-repeat 0 0; cursor: pointer; display: inline-block; }
div.btn input#buttonPrivacyConfirm { width: 500px; height: 63px; border: 0; background: url(../img/btn_privacy_confirm.png) no-repeat 0 0; cursor: pointer; display: inline-block; }
div.btn #buttonBack { width: 260px; height: 63px; border: 0; background: url(../img/btn_back.png) no-repeat 0 0; cursor: pointer; display: inline-block; text-indent:-9999px; }
div.btn #buttonSend { width: 260px; height: 63px; border: 0; background: url(../img/btn_send2.png) no-repeat 0 0; cursor: pointer;; display: inline-block; text-indent:-9999px; }
div.btn input#buttonPrev { width: 260px; height: 63px; border: 0; background: url(../img/btn_prev.png) no-repeat 0 0; cursor: pointer; }
div.btn input#buttonNext { width: 260px; height: 63px; border: 0; background: url(../img/btn_next.png) no-repeat 0 0; cursor: pointer; }
div.btn input#buttonPrivacyNext { width: 500px; height: 63px; border: 0; background: url(../img/btn_privacy_next.png) no-repeat 0 0; cursor: pointer; }
section.done { padding: 45px; background: #dfffdf; text-align: center; }
section.done p { line-height: 1.6; }
section.done p.txt-large{margin: 1.5em 0;font-weight: bold;font-size: 171.5%; }
}


@media screen and (max-width: 767px) {
p img[alt="必須"] { margin-right: 1vw; width: 8vw; vertical-align: middle; }
form table { margin-bottom: 5vw; width: 100%; border-collapse: collapse; }
form th,
form td { display: block; padding: 2vw 3vw; border: 0.2vw solid #cccccc; text-align: left; line-height: 1.4; }
form th { background: #f0f0f0; }
form td { margin-top: -0.2vw; }
form th img { margin-right: 1vw; width: 8vw; vertical-align: middle; }
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 input.w60 { width: 20vw; }
form textarea { width: 100%; height: 70px; border: 1px solid #a9a9a9; }
form select { padding: 5px 30px 5px 5px; border: 1px solid #a9a9a9; background: url("../img/icon_arrrow_b.png") no-repeat 100% 50%; }
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 { display: block; font-size: 3vw; }
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(../img/btn_confirm.png) no-repeat 0 0 / 50vw auto; cursor: pointer; }
div.btn input#buttonPrivacyConfirm { width: 50vw; height: 13vw; border: 0; background: url("../img/btn_privacy_confirm_sp.png") no-repeat 0 0 / 50vw auto; cursor: pointer; }
div.btn #buttonBack { width: 50vw; height: 13vw; border: 0; background: url(../img/btn_back.png) no-repeat 0 0 / 50vw auto; cursor: pointer; display: inline-block; text-indent:-9999px; }
div.btn #buttonSend { width: 50vw; height: 13vw; border: 0; background: url(../img/btn_send2.png) no-repeat 0 0 / 50vw auto; cursor: pointer; display: inline-block; text-indent:-9999px; }
div.btn input#buttonPrev { width: 50vw; height: 13vw; border: 0; background: url(../img/btn_prev.png) no-repeat 0 0 / contain; cursor: pointer; }
div.btn input#buttonNext { width: 50vw; height: 13vw; border: 0; background: url(../img/btn_next.png) no-repeat 0 0 / contain; cursor: pointer; }
div.btn input#buttonPrivacyNext { width: 50vw; height: 13vw; border: 0; background: url("../img/btn_privacy_next_sp.png") no-repeat 0 0 / contain; cursor: pointer; }
section.done { padding: 6vw 6vw 2vw; background: #dff6ff; text-align: center; }
section.done p { font-size: 4vw; line-height: 1.6; }
form .style10 th,
form .style10 td { display: table-cell; }
}

.fc_red { color: #f00; }
.mgb_10 { margin-bottom: 10px; }
.mgb_0 { margin-bottom: 0; }
.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 select{width: 100%; border: 1px solid #a9a9a9;}
@media screen and (min-width: 768px) {
  .select_item.w320{width: 320px;}
}

/* PDFダウンロードページ */
.pdfDlBox_item{text-align: center;}
.pdfDlBox .itemImg img{border: 1px solid #ccc;}
.pdfDlBox p{font-size: 16px;}
.pdfDlBtn{position: relative; display: flex; align-items: center; justify-content: center; width: 265px; margin: 0 auto; padding: 15px 28px 15px 72px; border-radius: 10px; background: #57b120; color: #fff; font-size: 18px; font-weight: bold; text-decoration: none;}
.pdfDlBtn::before{ content: ""; position: absolute; top: 50%; left: 16px; transform: translateY(-50%); display: block; width: 42px; height: 42px; background: url(/common/img/icon_pdf-w.png); background-size: contain;}


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

table + ul{
  margin-top: .5em;
}
.indentTxt{
  margin-left: 1em;
  text-indent: -1em;
}

.receptionStopNotice { background: #fff5f4; border: 1px solid #e4b7b7; border-left: 5px solid #b52e32; margin: 0 0 24px; padding: 20px 24px; }
.receptionStopNotice__label { background: #b52e32; color: #fff; display: inline-block; font-size: 1.2rem; font-weight: 700; line-height: 1.4; margin: 0 0 8px; padding: 3px 8px; }
.receptionStopNotice h2 { color: #7f1f28; font-size: 2rem; line-height: 1.4; margin: 0 0 10px; }
.receptionStopNotice__body { line-height: 1.8; margin: 0; }
form input:disabled,
form select:disabled,
form textarea:disabled,
form button:disabled { background: #e9e9e9; background-image: none; cursor: not-allowed; }

@media screen and (max-width: 767px) {
  .receptionStopNotice { border-left-width: 1vw; margin-bottom: 5vw; padding: 4vw; }
  .receptionStopNotice__label { font-size: 1.2rem; margin-bottom: 2vw; padding: 1vw 2vw; }
  .receptionStopNotice h2 { font-size: 4vw; margin-bottom: 2vw; }
}