@charset "utf-8";
/* ---------------------------------
		form
------------------------------------*/
/* form top */
.formTopText {
    padding-bottom: 30px;
}

/* job info */
.jobInfoWrap {
    margin-bottom: 50px;
    border-radius: 10px;
}
.jobInfoMainTitle {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 15px 40px;
    background-color: #1860AC;
}
.jobInfoMainTitleText {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.01em;
    color: #FFF;
}
.jobInfoDesc {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 20px 40px;
}
.jobInfoTitle {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.44;
    letter-spacing: 0.01em;
}
.jobInfoDetalisList {
    margin-top: 10px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.jobInfoDate {
    margin-right: 15px;
}
.jobInfoDate:last-child {
    margin-right: 0;
}
.jobInfoDateText {
    font-size: 14px;
    font-weight: 500;
    color: #BABABA;
    letter-spacing: 0.01em;
}

/* info box */
.formTableBox {

}
.formInfoWrap {
    margin-bottom: 20px;
    border: 2px solid #144B82;
    padding: 10px;
    text-align: center;
}
.formInfoWrap__red {
    border-color: #FF0000;
}
.formInfoText {
    color: #144B82;
}
.formInfoText__error {
    font-weight: 700;
    color: #FF0000;
}

/* form table */
.formTable {
    width: 100%;
}
.formTableLine {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.formTableTitle {
    position: relative;
    width: 320px;
    border-top: 1px solid #DEDEDE;
    border-left: 1px solid #DEDEDE;
    padding: 27.5px 7.5px 27.5px 15px;
    background-color: #EEF5F9;

    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: start;
	align-content: flex-start;
}
.formTableTitleText {
    width: 245px;
    font-weight: 700;
}
.formTableTitleText__full {
    width: 100%;
}
.require {
    display: block;
    min-width: 50px;
    border-radius: 5px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: center;
    color: #fff;
    background-color: #EB0404;
}
.formTableInput {
    position: relative;
    width: calc(100% - 320px);
    border-top: 1px solid #DEDEDE;
    border-left: 1px solid #DEDEDE;
    border-right: 1px solid #DEDEDE;
    padding: 15px 30px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: center;
    align-content: center;
}
.formTableLine:last-child .formTableTitle,
.formTableLine:last-child .formTableInput {
    border-bottom: 1px solid #DEDEDE;
}
.formTableInputList {
    width: 100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.formTableInputList__choices {
    margin-top: -10px;
}
.formTableInputListItem {
    margin-right: 10px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.formTableInputListItem:last-child {
    margin-right: 0;
}
.formTableInputListItemChoices {
    margin-top: 10px;
    min-width: 25%;
    line-height: 1;
    margin-left: 5px;
}

.inputModalBtn + .formTableInputList {
    width: 100%;
}

.formTableInputFull {
    width: 100%;
}
.formTableInputFull:nth-child(n+2) {
    margin-top: 10px;
}

.inputFileBox {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.uploadFile {
	display: none;
}
.resumeUploadLabel {
    margin-right: 20px;
    display: inline-block;
    border: 1px solid #144B82;
    border-radius: 5px;
    padding: 10px 15px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    background-color: #144B82;
    color: #fff;
    text-align: center;
    cursor: pointer;
	/* background-color: #D8D8D8;
	border: 1px solid #F8F8F8;
	border-radius: 8px;
	width: 160px;
	line-height: 50px;
	padding: 0 0 0 20px;
	margin-right: 10px;
	cursor: pointer; */
}
.resumeUploadFileName {
    margin-right: 20px;
    margin-top: 10px;
    max-width: 400px;
}
.attachDeleteWrap {
    margin-top: 10px;
}
.attachDeleteBtn {
	color: #000;
	font-size: 0.8em;
    font-weight: 700;
	padding: 2px 10px;
	border-radius: 3px;
	background-color: #DEDEDE;
    cursor: pointer;
}

.formUnit {
    margin-left: 10px;
}

.formErrorText {
    width: 100%;
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #ff0000;
}
.formNoteText {
    margin-top: 10px;
    width: 100%;
    display: block;
    font-size: 14px;
}
.formNoteText + .formNoteText {
    margin-top: 0;
}
.formNoteText.small {
    font-size: 12px;
}
.formUnitText {

}
.formUnitText.small {
    font-size: 14px;
}

.inputWidthAuto {
    width: auto;
}
.inputWidth80 {
    width: 80px;
}
.inputWidth120 {
    min-width: 120px;
    width: auto;
}
.inputWidth160 {
    min-width: 160px;
    width: auto;
}
.inputWidth240 {
    min-width: 240px;
    width: auto;
}
.inputWidth380 {
    min-width: 380px;
    width: auto;
}

.no-display {
    display: none !important;
}

.formPrivacyBlock {
    margin-top: 60px;
}
.formPrivacyTitle {
    margin-bottom: 15px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-align: left;
}
.formPrivacyWrap {
    margin-top: 30px;
}
.formPrivacyWrap .inputCheckbox + label {
    display: inline-block;
}
.formBtnListWrap {
    margin-top: 60px;
}

.inputModalBtn {
    width: 160px;
    border: 1px solid #DEDEDE;
    padding: 12px 10px;
    font-size: 14px;
    line-height: 1.42;
    text-align: left;
    cursor: pointer;

    background-image: url("../images/icon_windows_blue_white.svg");
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
    background-size: 10px auto;
}

/*----------------------------------------
        privacy box
----------------------------------------*/
.formScrollBox {
    counter-reset: num-title-cnt;
    margin-top: 15px;
    padding: 20px;
    max-height: 20em;
    overflow-y: auto;
    text-align: left;
    border: 1px solid #DEDEDE;
    background-color: #FFF;
}
.formScrollBox .tosPremise {
    padding-top: 0.5em;
    font-size: 12px;
    line-height: 1.69;
}
.formScrollBox .tosTable {
    margin-top: 1em;
}
.formScrollBox .tosSubTitle01 {
    margin-top: 1em;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.44;
    color: #144B82;
}
.formScrollBox .tosSubTitle01:first-of-type{
    margin-top: 0;
}
.formScrollBox .tosSubTitle02 {
    margin-top: 1em;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.44;
    color: #144B82;
}
.formScrollBox .tosText01{
    padding-top: 1em;
    font-size: 12px;
    line-height: 1.64;
}
.formScrollBox .tosText02 {
    font-size: 12px;
    line-height: 1.64;
}
.formScrollBox .tosNumList01 {
    padding-top: 1em;
}
.formScrollBox .numCountListItem {
    margin-top: 0.5em;
}
.formScrollBox .numCountListItem:first-child {
    margin-top: 0;
}
.formScrollBox .tosNumList02 {
    padding-top: 1em;
}
.formScrollBox .numList02Item {
    margin-top: 0.5em;
}
.formScrollBox .numList02Item:first-child {
    margin-top: 0;
}
.formScrollBox .numCountListItem > .tosNumList01,
.formScrollBox .numCountListItem > .tosNumList02,
.formScrollBox .numList02Item > .tosNumList01,
.formScrollBox .numList02Item > .tosNumList02 {
    padding-top: 0.5em;
}

/*----------------------------------------
  画面の横幅が560pxまで
----------------------------------------*/
@media (max-width: 560px) {
    /* ---------------------------------
            form
    ------------------------------------*/
    /* form top */
    .formTopText {
        padding-bottom: 5.35vw;
    }

    /* job info */
    .jobInfoWrap {
        margin-bottom: 5.35vw;
        border-radius: 1.78vw;
    }
    .jobInfoMainTitle {
        border-top-left-radius: 1.78vw;
        border-top-right-radius: 1.78vw;
        padding: 2.67vw 3.57vw;
    }
    .jobInfoMainTitleText {
        font-size: 5vw;
    }
    .jobInfoDesc {
        border-bottom-left-radius: 1.78vw;
        border-bottom-right-radius: 1.78vw;
        padding: 3.57vw;
    }
    .jobInfoTitle {
        font-size: 26x;
    }
    .jobInfoDetalisList {
        margin-top: 3.57vw;
    }
    .jobInfoDate {
        margin-right: 2.67vw;
    }
    .jobInfoDate:last-child {
        margin-right: 0;
    }
    .jobInfoDateText {
        font-size: 2.85vw;
    }

    /* info box */
    .formInfoWrap {
        margin-bottom: 5.35vw;
        border: 0.35vw solid #144B82;
        padding: 3.57vw;
    }
    .formInfoWrap__red {
        border-color: #FF0000;
    }
    .formInfoText {
        color: #144B82;
    }
    .formInfoText__error {
        color: #FF0000;
    }

    /* form table */
    .formTableLine {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .formTableLine:last-child .formTableTitle {
        border-bottom: none;
    }
    .formTableLine:last-child .formTableInput {
        border-bottom: 0.17vw solid #DEDEDE;
    }
    .formTableTitle {
        width: 100%;
        border-top: 0.17vw solid #DEDEDE;
        border-left: 0.17vw solid #DEDEDE;
        border-right: 0.17vw solid #DEDEDE;
        padding: 2.67vw 3.57vw;
    }
    .formTableTitle__noRightPadding {
        padding-right: 0;
    }
    .formTableTitleText {
        width: 67.85vw;
        line-height: 1.45;
    }
    .formTableTitleText__full {
        width: 100%;
    }
    .require {
        min-width: 12.5vw;
        border-radius: 0.89vw;
        padding: 0.89vw 1.78vw;
        font-size: 2.85vw;
    }
    .formTableInput {
        width: 100%;
        border-top: 0.17vw solid #DEDEDE;
        border-left: 0.17vw solid #DEDEDE;
        border-right: 0.17vw solid #DEDEDE;
        padding: 3.57vw;
    }

    .formTableInputList__choices {
        margin-top: -3.57vw;
    }
    .formTableInputListItem {
        margin-right: 1.78vw;
    }
    .formTableInputListItem:last-child {
        margin-right: 0;
    }
    .formTableInputListItemChoices {
        margin-top: 3.57vw;
        min-width: 50%;
    }

    .inputModalBtn + .formTableInputList {
        width: 100%;
    }

    .formTableInputFull {
        width: 100%;
    }
    .formTableInputFull:nth-child(n+2) {
        margin-top: 3.57vw;
    }

    .resumeUploadLabel {
        margin-right: 3.57vw;
        border: 0.17vw solid #144B82;
        border-radius: 0.89vw;
        padding: 2.67vw;
        font-size: 3.92vw;
    }
    .resumeUploadFileName {
        margin-right: 0;
        margin-top: 1.78vw;
        max-width: auto;
        max-width: inherit;
        max-width: 100%;
        width: 100%;
    }
    .attachDeleteWrap {
        margin-top: 1.78vw;
    }
    .attachDeleteBtn {
        font-size: 0.8em;
        padding: 0.53vw 1.78vw;
        border-radius: 0.89vw;
    }

    .formUnit {
        margin-left: 1.78vw;
    }

    .formErrorText {
        font-size: 3.57vw;
        line-height: 1.45;
    }
    .formNoteText {
        margin-top: 1.78vw;
        font-size: 3.57vw;
        line-height: 1.45;
    }
    .formNoteText + .formNoteText {
        margin-top: 0;
    }
    .formNote.small {
        font-size: 3.21vw;
    }

    .inputWidthAuto {
        width: auto;
    }
    .inputWidth80 {
        width: 17.85vw;
    }
    .inputWidth120 {
        min-width: 26.78vw;
        width: auto;
    }
    .inputWidth160 {
        min-width: 53.57vw;
        width: auto;
    }
    .inputWidth240 {
        min-width: 60.71vw;
        width: auto;
    }
    .inputWidth380 {
        min-width: 67.85vw;
        width: auto;
    }

    .formPrivacyBlock {
        margin-top: 8.92vw;
    }
    .formPrivacyTitle {
        margin-bottom: 3.57vw;
        font-size: 5.17vw;
        line-height: 1.44;
        letter-spacing: 0;
    }
    .formPrivacyWrap {
        margin-top: 7.14vw;
    }
    .formPrivacyWrap .inputCheckbox + label {
        display: inline-block;
    }
    .formBtnListWrap {
        margin-top: 7.14vw;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: center;
        flex-direction: column-reverse;
    }
    .formBtnListWrap .btn {
        padding: 4.46vw 3.57vw;
    }
    .formBtnListWrap .btn__return {
        width: 80.35vw;
        height: 16vw;
        padding: 2.67vw 3.57vw;

    }
    .formBtnListWrap .btn__send {
        width: 80.35vw;
        height: 16vw;
    }
    .inputModalBtn {
        min-width: 53.57vw;
        border: 0.17vw solid #DEDEDE;
        padding: 2.67vw;
        font-size: 3.92vw;
        line-height: 1.45;
    
        background-position: calc(100% - 2.67vw) center;
        background-size: 2.85vw auto;
    }

    /*----------------------------------------
            privacy box
    ----------------------------------------*/
    .formScrollBox {
        margin-top: 2.67vw;
        padding: 3.57vw;
        max-height: 20em;
        border: 0.17vw solid #DEDEDE;
    }
    .formScrollBox .tosPremise {
        padding-top: 0.5em;
        font-size: 3vw;
        line-height: 1.69;
    }
    .formScrollBox .tosSubTitle01 {
        font-size: 3.21vw;
        line-height: 1.45;
    }
    .formScrollBox .tosSubTitle01:first-of-type{
        margin-top: 0;
    }
    .formScrollBox .tosSubTitle02 {
        font-size: 3.21vw;
        line-height: 1.45;
    }
    .formScrollBox .tosText01{
        font-size: 3.21vw;
        line-height: 1.45;
    }
    .formScrollBox .tosText02 {
        font-size: 3.21vw;
        line-height: 1.45;
    }
}