@charset "utf-8";

input,
textarea,
select,
button {font-family: inherit;}
input, button { outline: 0;}
label, button { cursor:pointer;}

/*IEとFirefoxでselectの矢印を消すとき*/
select { text-indent: 0.01px; text-overflow: ''; cursor:pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
select::-ms-expand { display: none;}

/* Firefox */
input::-moz-focus-inner, button::-moz-focus-inner { border: 0;}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
border-radius: 0;
-webkit-appearance: button;
appearance: button;
border: none;
box-sizing: border-box;
cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}
/*select { border: solid 1px #D6D6D6; padding:0.6em; padding-right: 30px; min-width:60px; position:relative; background:url(../img/common/icon_select.svg) no-repeat right 5px center #fff; background-size:16px 16px; font-size:1.3rem;}*/

::-webkit-input-placeholder {color:#8F8F8F;}
:-ms-input-placeholder {color:#8F8F8F;}
::placeholder{color:#8F8F8F;}

/*パーキングのtable*/
table.parking_table {
    width: 100%;
    margin-bottom: 50px;
}
table.parking_table tr{
    border: 3px solid #f9f9f9;
}
table.parking_table tr span{
    display: block;
    padding: 12px 20px 12px;
}
table.parking_table th {
    width: 25%;
    background: #f1f1f1;
    text-align: center;
    vertical-align: middle;
}

/*ラジオボタン*/
input[type="radio"] {display: none;border: 0;margin: 0;}
.radio label {display: block;position: relative;padding-left: 24px;margin-bottom: 0.4em;}
.radio label:before,
.radio label:after {
  content: "";
  position: absolute;
  font-size: 0;
  display: inline-block;
  border-radius: 50%;
  transition: transform .2s ease;
}
.radio label:before {
  top: 4px;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #999;
}
.radio label:after {
  top: 8px;
  left: 4px;
  width: 10px;
  height: 10px;
  background-color: transparent;
  transform: scale(0);
}
.radio input[type="radio"]:checked + label:after {
  background-color: #A9233F;
  transform: scale(1);
}

/*チェックボックス*/
input[type="checkbox"] {margin: 0;display: none;}
.checkbox label {display: block;position: relative; padding: 6px 0 6px 25px;}
.checkbox label:before,
.checkbox label:after {
  content: "";
  position: absolute;
  display: inline-block;
  transition: transform .2s ease;
}
.checkbox label:before {
  top: 10px;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #999;
  border-radius: 3px;
}
.checkbox label:after {
  top: 11px;
  left: 5px;
  width: 6px;
  height: 16px;
  margin-top: -5.5px;
  border-right: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-radius: 1.5px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: border-bottom-color,border-right-color .2s ease;
}

.checkbox input[type="checkbox"]:checked + label:after {
  border-color: #A9233F;
}

.nowrap { display: inline-block; white-space: nowrap; text-indent: 0;}
.kome { padding-left: 1em; text-indent: -1em; }
#con04 .c_width * { box-sizing: border-box; }
#con04 .c_width p { margin: 0;}
#con04 .c_width { max-width: 900px;}

#con04 .hissu { display: inline-block; background:#A9233F; color: #fff; font-size: 0.75rem; line-height: 1.0; padding: 4px 0.9em; margin: 0 5px; vertical-align: middle; font-weight: normal !important;}

#con04 table { width: 100%; border: none; border-spacing: 0; border-collapse:collapse; margin: 18px auto 50px;}
#con04 tr { border: #f9f9f9 2px solid;}
#con04 th, #con04 td { }
#con04 th { background: #f1f1f1; vertical-align: middle; font-size: 0.9375rem; padding: 15px 20px; padding-right: 6em; width: 18em; text-align: left; position: relative;}
#con04 th .hissu { margin-left: auto; position: absolute; right: 12px; top: 50%; transform: translate( 0%, -50%);}
#con04 td { padding: 20px 20px; vertical-align: middle;}
#con04 td.error { background: #FCE8E6;}
#con04 td p.top { margin-top: 10px;}
#con04 td .kome { margin-top: 5px; margin-bottom: 0; line-height: 1.5; font-size: 0.8125rem; color: rgba(0,0,0, 0.7);}
#con04 td .kome:first-of-type { margin-top: 1.1em;}
#con04 td .kome:last-child { margin-bottom: -8px;}
#con04 td .ex { margin: 1em 0 1.5em 1em; font-size: 0.875rem; line-height: 1.7; }

#con04 .c_width li { list-style: none;}

input:not([type="submit"]):not([type="button"]) { border: rgba(0,0,0, 0.2) 1px solid; background:#E5E5E5; width: 100%; padding: 8px 10px; font-size: inherit;}
select { font-size: inherit; padding: 6px 10px; padding-right: 40px; width: 40%; border: rgba(0,0,0, 0.2) 1px solid; background:url("../img/select.svg") no-repeat right center #fff; background-size: 34px 30px;}
textarea { width: 100%; height: 8.6em; padding: 10px; font-size: inherit; line-height: 1.6;}


.yubin { width: 10em; margin-bottom: 18px !important; white-space: nowrap;}
.kakunin .yubin { margin-bottom: 0.5em !important;}
input.year:not([type="submit"]):not([type="button"]) { width: 7em; margin-right: 5px;}
input.num:not([type="submit"]):not([type="button"]) { width: 3.6em; margin-right: 5px;}
.kikkakeTD label:last-of-type { display: inline-block; padding-right: 0.7em; }
.kikkakeTD input:not([type="submit"]):not([type="button"]) { width: auto; }

.contact_btn ul { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; max-width: 660px; margin: 0 auto;}
.contact_btn .send1 li { width: 76%; max-width: 320px; }
.contact_btn .send2 li { width: 47%;}
.contact_btn .send2 li:first-child { margin-right: 3.5%;}
.contact_btn input { background: #222; color: #fff; padding: 0.8em; border-radius: 2px; width: 100%; font-size: 1.125rem; letter-spacing: 1px;}
.contact_btn .back input { background: rgba(0,0,0, 0.4);}
.contact_btn input:hover { opacity: 0.8;}

.err { color:#CC1D41; font-size: 0.875rem; margin-top: 5px; font-weight: bold;}
td .err:first-of-type { margin-top: 1.2em;}

table:not(.kakunin) td br.kakunin { display: none; }

#complete {}
#complete .message { font-size: 1.625rem; font-weight: bold; margin-bottom: 0.9em !important; line-height: 1.4;}
#complete p { line-height: 1.8; font-size: 1.0625rem;}
#complete p.kome { font-size: 0.9375rem;}


@media screen and (max-width: 500px) {
    #con04 .topTxt { font-size: 0.875rem; }
    #con04 th .hissu { right: 8px;}
    #con04 table { margin: 18px auto 30px; display: block; border-bottom: #F1F1F1 2px solid;}
    #con04 tbody,#con04 tr,#con04 th,#con04 td { display: block; width: 100%;}
    #con04 tr { border: none;}
    #con04 th { padding: 10px 0.8em; padding-right: 6em; }
    #con04 td { padding: 18px 0.8em 30px; border-left: #F1F1F1 1px solid; border-right: #F1F1F1 1px solid;}
    select { width: 100%;}
    #con04 td .ex { margin: 1em 0 1.5em 0; }
    input.year:not([type="submit"]):not([type="button"]) { width: 5em; margin-right: 3px; padding-left: 5px; padding-right: 5px;}
    input.num:not([type="submit"]):not([type="button"]) { width: 3em; margin-right: 3px; padding-left: 5px; padding-right: 5px;}
    .contact_btn input { padding: 0.6em;}
    
    
}
