main .tables th {
    font-weight: bold;
    background: #F4F4F6;
    text-align: center;
}

main .tables caption {
    position: relative;
}

main .ttl_shisanh4 {
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    margin: 0 0 20px;
    padding-left: 30px;
}

body.form .list_h {
    display: flex;
    gap: 2em;
}

body.form .req {
    font-size: 1.3rem;
    color: #fff;
    background: #D6102A;
    padding: 2px 12px;
    margin: auto 1em;
    white-space: nownormal;
    float: right;
    white-space: nowrap;
}

body.form table.custom_info th {
    width: 40%;
    white-space: nowrap;
}
body.form table.custom_info input.zip {
    width: 5em;
    margin: 0 .5em;
}
body.form table.custom_info input.zip2 {
    width: 7em;
}
body.form table.custom_info input.tel {
    width: 7em;
    margin: 0 .5em;
}
body.form table.custom_info input.zip:first-of-type,
body.form table.custom_info input.tel:first-of-type {
    margin-left: 0;
}
body.form table.custom_info input.zip:last-of-type,
body.form table.custom_info input.tel:last-of-type {
    margin-right: 0;
}

/* チェックボックスデザイン */
body.form table.custom_info input[type="checkbox"] {
    cursor: pointer;
    padding-left: 30px; /*label手前にチェックボックス用の余白を開ける*/
    margin-left: 20px;
    vertical-align: middle;
    position: relative;
}
body.form table.custom_info input[type="checkbox"]::before,
body.form table.custom_info input[type="checkbox"]::after {
    content: "";
    display: block;
    position: absolute;
}
body.form table.custom_info input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #212529;
    width: 33px;
    height: 33px;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
body.form table.custom_info input[type="checkbox"]:checked::before {
    background-color: #017AC1;
    border-radius: 3px;
    border: 1px solid #017AC1;
}
body.form table.custom_info input[type="checkbox"]::after {
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    opacity: 0;
    height: 11px;
    width: 25px;
    transform: rotate(-45deg);
    top: calc(-50% + 5px);
    left: -6px;
}
html.iphone body.form table.custom_info input[type="checkbox"] {
    padding-left: 0;
}
html.iphone body.form table.custom_info input[type="checkbox"]::after {
    top: calc(-50% + 11px);
}
body.form table.custom_info input[type="checkbox"]:checked::after {
    opacity: 1;
}

/*業種・退職金テキスト*/
body.form table.custom_info input.othertext {
    display: inline-block;
    max-width: 100%;
    width: 15em;/*テキスト幅*/
    margin-left: 10px;/*左余白*/
    padding: 0.3em;/*要素余白*/
    border: 1px solid #999;/*枠線*/
    box-sizing: border-box;
    background-color: #fff;
    /*background: #f2f2f2;*/
}

/*常用従業員数*/
body.form table.custom_info input.JYUGYOUIN_SU {
    display: inline-block;
    max-width: 100%;
    width: 7em;/*テキスト幅*/
    margin-left: 10px;/*左余白*/
    padding: 0.5em;/*要素余白*/
    border: 1px solid #999;/*枠線*/
    box-sizing: border-box;
    background-color: #fff;
    /*background: #f2f2f2;*/
}

/*資本金・出資金*/
body.form table.custom_info input.SHIHON_KIN {
    display: inline-block;
    max-width: 100%;
    width: 7em;/*テキスト幅*/
    margin-left: 10px;/*左余白*/
    padding: 0.5em;/*要素余白*/
    border: 1px solid #999;/*枠線*/
    box-sizing: border-box;
    background-color: #fff;
    /*background: #f2f2f2;*/
}


/* チェックボックスデザイン */
body.form table.irai-table input[type="checkbox"] {
    cursor: pointer;
    padding-left: 30px; /*label手前にチェックボックス用の余白を開ける*/
    margin-left: 3px;
    vertical-align: middle;
    position: relative;
}
body.form table.irai-table input[type="checkbox"]::before,
body.form table.irai-table input[type="checkbox"]::after {
    content: "";
    display: block;
    position: absolute;
}
body.form table.irai-table input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #212529;
    width: 33px;
    height: 33px;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
body.form table.irai-table input[type="checkbox"]:checked::before {
    background-color: #017AC1;
    border-radius: 3px;
    border: 1px solid #017AC1;
}
body.form table.irai-table input[type="checkbox"]::after {
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    opacity: 0;
    height: 11px;
    width: 25px;
    transform: rotate(-45deg);
    top: calc(-50% + 5px);
    left: -6px;
}
html.iphone body.form table.irai-table input[type="checkbox"] {
    padding-left: 0;
}
html.iphone body.form table.irai-table input[type="checkbox"]::after {
    top: calc(-50% + 11px);
}
body.form table.irai-table input[type="checkbox"]:checked::after {
    opacity: 1;
}

/*相談希望日*/
body.form table.kobetu_soudan input.monthday {
    display: inline-block;
    max-width: 100%;
    width: 3em;/*テキスト幅*/
    margin-left: 10px;/*左余白*/
    padding: 0.5em;/*要素余白*/
    border: 1px solid #999;/*枠線*/
    box-sizing: border-box;
    background-color: #fff;
    /*background: #f2f2f2;*/
}

body.form table.custom_info {
    width: 100%;
}

body.form table.kobetu_soudan th {
    width: 100%;
    text-align: left;
}


@media screen and (max-width: 769px) {
    body.form table.custom_info {
        width: 100%;
    }
    body.form table.custom_info input.longtext {
        ord-wrap: break-word;
        word-break: break-all; 
        overflow: hidden;
    }
    body.form table.custom_info td {
        ord-wrap: break-word;
        word-break: break-all; 
        overflow: hidden;
    }
  }























body.form table input,
body.form table textarea,
body.form table select {
    padding: 10px;
    border: solid 1px #A6A9AC;
    border-radius: 3px;
}
body.form table input[type="text"],
body.form table textarea {
    width: 100%;
}
body.form table input[type="text"].panfu_nums {
    width: auto;
    padding: 6px;
}

body.form table label + input {
    margin-left: 1em;
}


body.form table.goiken th {
    width: 33%;
    text-align: left;
}



body.form table.goiken2 th.tb2-col0 {
    width: 1%;
}
body.form table.goiken2 th.tb2-col1 {
    width: 22%;
}
body.form table.goiken2 th.tb2-col2 {
    width: 42%;
}
body.form table.goiken2 th.tb2-h2col {
    width: 62%;
}

body.form table.shisan th {
    background: #F4F4F6;
}

body.form table.shisan th.tb2-col0 {
    width: 1%;
}
body.form table.shisan th.tb2-col1 {
    width: 22% !important;
    text-align: center !important;
}
body.form table.shisan th.tb2-col2 {
    width: 40% !important;
    text-align: center !important;
}
body.form table.shisan th.tb2-col3 {
    width: 35% !important;
    text-align: center !important;
}
body.form table.shisan th.tb2-h2col {
    width: 62% !important;
}

body.form table.shisan td.tb-rec {
    background:#FFFFFF !important;
    text-align:center;
}
body.form table.shisan td.btn-rec {
    text-align:center !important;
    background:#FFFFFF !important;
}

body.form table.goiken th p {
    font-weight: normal;
    /* text-align: left;
    width: fit-content;
    margin: 5px auto 0; */
}
body.form table.goiken2 th p {
    font-weight: normal;
    /* text-align: left;
    width: fit-content;
    margin: 5px auto 0; */
}
body.form table.yubin th {
    width: 40%;
    white-space: nowrap;
}
body.form table.yubin input.zip {
    width: 5em;
    margin: 0 .5em;
}
body.form table.yubin input.zip2 {
    width: 7em;
}
body.form table.yubin input.tel {
    width: 7em;
    margin: 0 .5em;
}
body.form table.yubin input.zip:first-of-type,
body.form table.yubin input.tel:first-of-type {
    margin-left: 0;
}
body.form table.yubin input.zip:last-of-type,
body.form table.yubin input.tel:last-of-type {
    margin-right: 0;
}
body.form table.inquiry,
body.form table.inquiry td {
    border: 0;
}
body.form table.inquiry td {
    width: 33%;
    padding: 5px 10px;
}
body.form table.inquiry td label{
    margin-left: .5em;
}


@media only screen and (max-width: 768px) {
    body.form .list_h {
        flex-direction: column;
        gap: .3em;
    }
    body.form .req {
        font-size: 1.2rem;
        padding: 5px 10px;
        margin-left: 1em;
    }
    body.form p .req {
        margin-left: .5em;
    }
    body.form input,
    body.form select {
        padding: 5px;
    }

    body.form table.yubin input.zip {
        width: 4em;
    }
    body.form table.yubin input.zip2 {
        width: 6em;
    }
    body.form table.yubin input.tel {
        width: 4.5em;
    }
}


body.form .submit_btn {
    color: #fff;
    border-radius: 3px;
    border: solid 1px #017AC1;
    background: #017AC1;
    outline: none;
    padding: 15px 30px;
    transition: 0.1s;
    width: 200px;
}
body.form .add_btn { 
    color: #fff;
    border-radius: 3px;
    border: solid 1px #017AC1;
    background: #017AC1;
    outline: none;
    padding: 15px 30px;
    transition: 0.1s;
    width: 200px;
}
body.form .reset_btn {
    border-radius: 3px;
    border: solid 1px #333333;
    background: #fff;
    outline: none;
    padding: 15px 30px;
    transition: 0.1s;
    width: 200px;
}
body.form .btn_wrapper {
    display: flex;
    justify-content: center;
    gap: 20px;
}
main input.btn:focus {
    box-shadow: 0 0 3px #000;
}
@media only screen and (max-width: 768px) {
    body.form .btn_wrapper {
        flex-direction: column;
        align-items: center;
    }
}

body.form .tables.shisan th {
    background-color: #F4F4F6 !important;
    /* text-align:center !important; */
}

/* 退職金試算入力／確認画面 チェックボックス */
body.form table.shisan td.checkbox {
    background-color: #FFFFFF !important;
    text-align: center !important;
    width: 5% !important;
}
body.form table.shisan th:first-of-type,
body.form table.shisan td:first-of-type {
    width: 172px;
}
body.form table.shisan th:not(:first-of-type),
body.form table.shisan td:not(:first-of-type) {
    width: auto;
}

body.form .seikyu_detail_wrapper {
    display: flex;
    justify-content: space-between;
    padding: 15px;
    gap: 30px;
    align-items: center;
}

body.form .seikyu_detail_wrapper label {
    /* margin-bottom: 40px; */
    font-size: 1.7rem;
}
body.form .seikyu_detail_wrapper input {
    width: auto;
}
body.form .seikyu_detail_wrapper.pdf_1 .text_box > label {
    margin-bottom: 2em;
}
body.form .seikyu_detail_wrapper .label_box {
    display: none;
}
body.form .seikyu_detail_wrapper .image_box {
    width: 155px;
    flex: 0 0 155px;
}
body.form .seikyu_detail_wrapper .image_box_sp {
    display: none;
}
body.form .seikyu_detail_wrapper .image_box img {
    width: 100%;
    margin-bottom: 12px;
}

body.form .seikyu_detail_wrapper .contents_target {
    margin-bottom: 1em;
    align-items: center;
}
body.form .seikyu_detail_wrapper .contents_target p {
    font-weight: normal !important;
    font-size: 1.6rem;
    margin-right: 1em;
}
@media all and (-ms-high-contrast: none) {
    /* body.form .seikyu_detail_wrapper {
        max-width: 676px;
    } */
    body.form table.shisan th:not(:first-of-type),
    body.form table.shisan td:not(:first-of-type) {
        max-width: 707px;
    }
    body.form .seikyu_detail_wrapper .image_box {
        margin-left: 30px;
    }
}


body.form .seikyu_app_box {
    margin: 20px 0 0;
    width: 100%;
    border: 1px solid #A6A9AC;
    padding: 16px 14px;;
}
body.form .seikyu_app_box.is-check {
    border-color: #017AC1;
    background-color: #017AC120;
}
body.form .seikyu_app_box + .seikyu_app_box {
    margin-top: 10px;
}
body.form .seikyu_app_box input[type=text] {
    width: 4em;
    padding: 5px 10px;
    margin: 0 .5em;
}
body.form .seikyu_app_box input[type=text]:disabled {
    background-color: #ddd;
}
body.form .seikyu_app_box label {
    font-size: 1.5rem;
    display: inline-block;
}
body.form .seikyu_app_box p {
    margin: .7em 0 0 25px;
    font-size: 1.3rem;
}
@media only screen and (max-width: 768px) {
    body.form table.shisan th,
    body.form table.shisan td {
        font-size: 1.3rem;
    }
    body.form table.shisan th:first-of-type,
    body.form table.shisan td:first-of-type {
        width: 86px;
    }
    body.form .seikyu_detail_wrapper {
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding: 5px;
    }
    body.form .seikyu_detail_wrapper.pdf_1 .label_box {
        order: 1;
        display: block;
        font-size: 1.5rem;
        font-weight: bold;
        align-self: flex-start;
    }
    body.form .seikyu_detail_wrapper.pdf_1 .text_box {
        order: 3;
        align-self: flex-start;
    }
    body.form .seikyu_detail_wrapper.pdf_1 .text_box .text {
        margin-top: 0.5em;
    }
    body.form .seikyu_detail_wrapper.pdf_1 .text_box label,
    body.form .seikyu_detail_wrapper.pdf_1 .text_box label + br {
        display: none;
    }
    body.form .seikyu_detail_wrapper.pdf_1 .image_box {
        display: block;
        order: 2;
        width: 100%;
        font-size: 1.4rem;
    }
    body.form .seikyu_detail_wrapper.pdf_1 .image_box img {
        width: 155px;
        display: block;
        margin: 0 auto 1em;
    }


    body.form .seikyu_detail_wrapper .text_box label {
        margin-bottom: 0;
    }
    body.form .seikyu_detail_wrapper .text_box label + br {
        display: none;
    }
    body.form .seikyu_detail_wrapper .image_box {
        display: none;
    }
    body.form .seikyu_detail_wrapper .image_box_sp {
        display: block;
    }
    body.form .seikyu_detail_wrapper .image_box_sp img {
        width: 138px;
        margin: 1em auto;
        display: block;
    }
    body.form .seikyu_detail_wrapper .contents_target {
        display: flex;
    }
    body.form .seikyu_detail_wrapper .contents_target p {
        font-size: 1.3rem;
    }
    body.form .seikyu_detail_wrapper .contents_target ul li {
        margin-top: 0;
        font-size: 1.2rem;
    }
}




/* チェックボックスデザイン */
body.form table.shisan input[type="checkbox"] {
    cursor: pointer;
    padding-left: 30px; /*label手前にチェックボックス用の余白を開ける*/
    vertical-align: middle;
    position: relative;
}
body.form table.shisan input[type="checkbox"]::before,
body.form table.shisan input[type="checkbox"]::after {
    content: "";
    display: block;
    position: absolute;
}
body.form table.shisan input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #212529;
    width: 33px;
    height: 33px;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
body.form table.shisan input[type="checkbox"]:checked::before {
    background-color: #017AC1;
    border-radius: 3px;
    border: 1px solid #017AC1;
}
body.form table.shisan input[type="checkbox"]::after {
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    opacity: 0;
    height: 11px;
    width: 25px;
    transform: rotate(-45deg);
    top: calc(-50% + 5px);
    left: -6px;
}
html.iphone body.form table.shisan input[type="checkbox"] {
    padding-left: 0;
}
html.iphone body.form table.shisan input[type="checkbox"]::after {
    top: calc(-50% + 11px);
}
body.form table.shisan input[type="checkbox"]:checked::after {
    opacity: 1;
}


body.form table.goiken th {
    background-color: #F4F4F6;
    width: 30% !important;
}

@media only screen and (max-width: 768px) {
    body.form table.goiken th {
        background-color: #F4F4F6;
        width: 100% !important;
    }
}
  
body.form table.goiken2 th {
    background-color: #F4F4F6;
    text-align: left;
}
body.form table.shisan th {
    background-color: #F4F4F6;
    text-align: left;
}
body.form table.goiken td {
    background-color: #fff;
}
body.form table.goiken2 td {
    background-color: #fff;
}
body.form table.shisan td.shisanchk-body {
    background-color: #FFFFFF !important;
}
body.form table.shisan td.shisanchk-bodyc {
    background-color: #FFFFFF !important;
    text-align: center !important;
}
td.shisan-bodyc {
    background-color: #FFFFFF !important;
    text-align: center;
}

@media only screen and (max-width: 768px) {
    body.form table.goiken th,
    body.form table.goiken td {
        display: block;
        width: 100%;
        max-width: unset;
        padding: 15px;
    }
    body.form table.inquiry td {
        display: block;
        width: 100%;
        max-width: unset;
        padding: 0.2em 1em;
    }
}
@media only screen and (max-width: 768px) {
    body.form table.goiken2 th,
    body.form table.goiken2 td {
        display: block;
        width: 100%;
        max-width: unset;
        padding: 15px;
    }
    body.form table.inquiry td {
        display: block;
        width: 100%;
        max-width: unset;
        padding: 0.2em 1em;
    }
}

#btn1_submit:disabled {
    opacity: .5;
}
#btn2_submit:disabled {
    opacity: .5;
}
#btn_submit:disabled {
    opacity: .5;
}
.error_place {
    display: block;
    color: #D6102A;
    /* padding-left: .5em; */
    line-height: 1;
    padding-top: .1em;
}
.error_place_box {
    display: none;
}
input[type=text].error,
input[type=email].error,
textarea.error {
	color: #630015;
	border-color: #c20c33;
	background-color: #ffd9e188;
}

body.form table.kobetu_soudan input[type=text].error{
	color: #630015;
	border-color: #c20c33;
	background-color: #ffd9e188;
}

.seikyu_nums_display-- {
    display: none;
}
.seikyu_nums_display_empty-- {
    display: inline !important;
}


html.gecko body.form table.shisan input[type="checkbox"] {
    padding-left: 0;
    width: 33px;
    height: 33px;
}
@media all and (-ms-high-contrast: none) {
    body.form table.shisan input[type="checkbox"] {
        padding-left: 0;
        width: 33px;
        height: 33px;
    }
}

/*body.form table.application-table th {
    width: 40%;
    white-space: nowrap;
}*/

/* チェックボックスデザイン */
body.form table.application-table input[type="checkbox"] {
    cursor: pointer;
    padding-left: 30px; /*label手前にチェックボックス用の余白を開ける*/
    margin-left: 20px;
    vertical-align: middle;
    position: relative;
}
body.form table.application-table input[type="checkbox"]::before,
body.form table.application-table input[type="checkbox"]::after {
    content: "";
    display: block;
    position: absolute;
}
body.form table.application-table input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #212529;
    width: 33px;
    height: 33px;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
body.form table.application-table input[type="checkbox"]:checked::before {
    background-color: #017AC1;
    border-radius: 3px;
    border: 1px solid #017AC1;
}
body.form table.application-table input[type="checkbox"]::after {
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    opacity: 0;
    height: 11px;
    width: 25px;
    transform: rotate(-45deg);
    top: calc(-50% + 5px);
    left: -6px;
}
html.iphone body.form table.application-table input[type="checkbox"] {
    padding-left: 0;
}
html.iphone body.form table.application-table input[type="checkbox"]::after {
    top: calc(-50% + 11px);
}
body.form table.application-table input[type="checkbox"]:checked::after {
    opacity: 1;
}

/* チェックボックスデザイン */
body.form table.syrvey-table input[type="checkbox"] {
    cursor: pointer;
    padding-left: 30px; /*label手前にチェックボックス用の余白を開ける*/
    margin-left: 20px;
    vertical-align: middle;
    position: relative;
}
body.form table.syrvey-table input[type="checkbox"]::before,
body.form table.syrvey-table input[type="checkbox"]::after {
    content: "";
    display: block;
    position: absolute;
}
body.form table.syrvey-table input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #212529;
    width: 33px;
    height: 33px;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
body.form table.syrvey-table input[type="checkbox"]:checked::before {
    background-color: #017AC1;
    border-radius: 3px;
    border: 1px solid #017AC1;
}
body.form table.syrvey-table input[type="checkbox"]::after {
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    opacity: 0;
    height: 11px;
    width: 25px;
    transform: rotate(-45deg);
    top: calc(-50% + 5px);
    left: -6px;
}
html.iphone body.form table.syrvey-table input[type="checkbox"] {
    padding-left: 0;
}
html.iphone body.form table.syrvey-table input[type="checkbox"]::after {
    top: calc(-50% + 11px);
}
body.form table.syrvey-table input[type="checkbox"]:checked::after {
    opacity: 1;
}

body.form .application-submit {
    color: #fff;
    border-radius: 3px;
    border: solid 1px #017AC1;
    background: #017AC1;
    outline: none;
    padding: 15px 30px;
    transition: 0.1s;
    width: 200px;
}

body.form .applicationkakunin-submit {
    color: #fff;
    border-radius: 3px;
    border: solid 1px #017AC1;
    background: #017AC1;
    outline: none;
    padding: 15px 30px;
    transition: 0.1s;
    width: 200px;
}

body.form table.applicationsubmit-table {
    margin:auto;
}

body.form .othertext {
    width: 150px;
}

body.form .applicationkakunin-submit {
    color: #fff;
    border-radius: 3px;
    border: solid 1px #017AC1;
    background: #017AC1;
    outline: none;
    padding: 15px 30px;
    transition: 0.1s;
    width: 200px;
}

body.form table.applicationsubmit-table {
    margin:auto;
}