.form .checkbox { margin-right: 1.5em; }
.form .checkbox input[type="checkbox"] + span { margin-left: 0.5em; }
.form .checkbox-wrapper { display: inline-block; margin-right: 1em; }
.form .checkbox-wrapper .checkbox { margin-right: 0.5em; }
.form .radio { margin-right: 1.5em; }
.form .radio input[type="radio"] + span { margin-left: 0.5em; }
.form .radio-wrapper { display: inline-block; margin-right: 1em; }
.form .radio-wrapper .radio { margin-right: 0.5em; }
.form input[type="text"], .form input[type="date"], .form input[type="password"], .form select, .form textarea { border: solid 1px #fff; line-height: 1.5em; padding: 0.5em; border-radius: 4px; -webkit-appearance: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
.form textarea { margin-bottom: 0; resize: vertical; }
.form input[type="radio"], .form input[type="checkbox"] { position: relative; top: 2px; }
.form input[type="text"]:hover, .form input[type="password"]:hover, .form textarea:hover, .form select:hover { border: solid 1px #00a9ff; }
.form label { display: inline-block; }
.form .vertical label { display: block; }
.form .error { color: #f00; }
.form input[type="text"].error, .form input[type="password"].error, .form textarea.error, .form select.error { border: solid 1px #f00; background-color: #FEE; }
.form label.error { color: #f00; }
.form ul.error li { color: #f00; }
.form .readonly { color: #666; }
.form .btn { text-align: center; margin-top: 2em; }
.form .btn input { height: 3em; margin: 0; padding: 0; width: 10em; color: #fff; background-color: #002aa5; border-radius: 1.5em; border: none; transition: 0.3s background-color; }
.form .btn input:hover { background-color: #0064e6; }
.form .align_r { text-align: right; }
.form .mt2em { margin-top: 2em; }
.form .nowrap { display: inline-block; }

@media screen and (min-width: 768px), print { .form label { line-height: 34px; }
  .form .input-ss { width: 30%; }
  .form .input-s { width: 50%; }
  .form .input-m { width: 75%; }
  .form .input-l { width: 100%; }
  .form textarea { width: 100%; height: 8em; }
  .form ul.error { margin-top: 20px; } }
@media screen and (max-width: 767px) { .form input[type="text"], .form input[type="password"], .form select, .form textarea { font-size: 16px; }
  .form label { line-height: 26px; }
  .form .input-ss { width: 50%; }
  .form .input-s, .form .input-m, .form .input-l { width: 100%; }
  .form textarea { width: 100%; height: 8em; }
  .form ul.error { margin-top: 14px; } }
@media screen and (-webkit-min-device-pixel-ratio: 0) { ::i-block-chrome, .form input[type="radio"], ::i-block-chrome, .form input[type="checkbox"] { top: 0px; } }
_::-webkit-full-page-media, _:future, :root .form input[type="radio"], _::-webkit-full-page-media, _:future, :root .form input[type="checkbox"] { top: 0px; }

.sheet_box { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
.sheet_box a { display: flex; justify-content: center; align-items: center; font-weight: bold; color: #fff; background-color: #002aa5; transition: 0.3s background-color; text-decoration: none; }
.sheet_box a:hover { background-color: #0064e6; }

.trouble_link_txt { margin-bottom: 1em; }

.formT { width: 100%; }
.formT th { text-align: left; white-space: nowrap; font-weight: bold; }
.formT .form-item { position: relative; }
.formT .form-item::before { position: absolute; content: ""; width: 0.5em; height: 0.5em; left: -0.8em; background-color: #002aa5; border-radius: 0.6em; }
.formT .required { position: absolute; top: 50%; transform: translateY(-50%); display: block; background-color: #0064e6; color: #fff; padding: 0.1em 1em; }
.formT .input-name { display: flex; justify-content: space-between; }
.formT .input-name div { display: inline-block; width: calc( 50% - 0.5em ); }
.formT .input-date { display: flex; justify-content: flex-start; }
.formT .input-date div { display: inline-block; }
.formT .input-date div input { width: 2.5em; }
.formT .input-date div:first-child input { width: 4em; }
.formT .input-date div + div { margin-left: 0.75em; }
.formT .number_tr td .nameplate_box .nameplate_txt { line-height: 1.5; margin-top: 1em; }
.formT .number_tr td .nameplate_img img { width: 100%; height: auto; }
.formT .parts_tr .pdf_link { display: flex; justify-content: center; align-items: center; width: 200px; height: 2em; border-radius: 4px; background-color: #999; transition: 0.3s background-color; text-decoration: none; }
.formT .parts_tr .pdf_link p { color: #fff; }
.formT .parts_tr .pdf_link:hover { background-color: #666; }

@media screen and (min-width: 768px), print { .sheet_box { margin-bottom: 3em; padding-top: 3em; padding-bottom: 3em; }
  .sheet_box a { width: 300px; height: 60px; font-size: 18px; border-radius: 30px; }
  .formT { margin-top: 34px; }
  .formT th, .formT td { vertical-align: middle; height: auto; }
  .formT th { width: 22%; padding: 1em 1.5em; }
  .formT td { padding: 1em; }
  .formT .form-item { padding-right: 48px; }
  .formT .form-item::before { top: 9px; }
  .formT .required { right: 0px; font-size: 12px; line-height: 20px; border-radius: 13px; }
  .formT .input-name { width: 75%; }
  .formT .number_tr th { vertical-align: top; position: relative; top: 8px; }
  .formT .number_tr td { display: flex; justify-content: space-between; }
  .formT .number_tr td .nameplate_box .nameplate_txt { font-size: 14px; }
  .formT .number_tr td .nameplate_img { width: 40%; margin-left: 1em; }
  .formT .parts_tr .form-item { margin-top: -30px; } }
@media screen and (max-width: 1375px), print { .formT th { width: 25%; }
  .formT .number_tr td .nameplate_img { width: 60%; } }
@media screen and (max-width: 991px), print { .formT th { width: 32%; }
  .formT .number_tr td .nameplate_box .nameplate_txt { font-size: 12px; }
  .formT .number_tr td .nameplate_img { width: 80%; } }
@media screen and (max-width: 767px) { .sheet_box { flex-direction: column; margin-bottom: 2em; padding-top: 2em; padding-bottom: 2em; }
  .sheet_box a { margin-top: 1em; width: 100%; height: 50px; font-size: 16px; border-radius: 25px; }
  .formT { margin-top: 20px; }
  .formT th, .formT td { display: block; }
  .formT th { width: 100%; padding: 0.75em 1em 0.25em; }
  .formT td { padding: 0.5em 0em 1em; }
  .formT tr:last-child td { padding-bottom: 0; }
  .formT .form-item::before { top: 7px; }
  .formT .required { display: inline-block; margin-left: 1em; font-size: 10px; line-height: 16px; border-radius: 9px; padding-top: 2px; }
  .formT .input-name { width: 100%; }
  .formT .number_tr td { display: flex; flex-direction: column; align-items: center; }
  .formT .number_tr td .nameplate_box { width: 100%; }
  .formT .number_tr td .nameplate_img { margin-top: 0.5em; width: 80%; }
  .formT .parts_tr td { display: flex; flex-direction: column; align-items: center; }
  .formT .parts_tr td .pdf_link { margin-top: 1em; } }
