@charset "utf-8";

/* ---------------------------------
		input
------------------------------------*/
input,
textarea,
select {
    cursor: auto;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
input[type=number] {
	-moz-appearance: textfield;
}
button {
	font-family: inherit;
	cursor: pointer;
	border: 0;
	font-size: inherit;
	background-color: inherit;
}
input, select, textarea, button {

}
input[type="checkbox"] {
	filter: alpha(opacity=0);
	-moz-opacity:0;
	opacity:0;
	-webkit-appearance: none;
	appearance: none;
	position: absolute;
	width: auto;
	outline: none;
}
input[type="radio"] {
	filter: alpha(opacity=0);
	-moz-opacity:0;
	opacity:0;
	-webkit-appearance: none;
	appearance: none;
	position: absolute;
	width: auto;
}
select::-ms-expand {
	display: none;
}
::placeholder {
    color: #CCCCCC;
}

/* chrome オートコンプリートカラー対応 */
input:focus:-webkit-autofill {
    box-shadow: 0 0 0 1000px #fff inset;
}
input:-webkit-autofill {
    box-shadow: 0 0 0 1000px #fff inset;
}
input[type='submit']:hover,
button[type='submit']:hover {
    opacity: 0.7;
}


.inputText {
    width: 100%;
    border: 1px solid #D9D9D9;
    border-radius: 5px;
    padding: 10px 15px;
    font-size: 16px;
    line-height: 1.35;
    background-color: #FAFAFA;
}
.inputNumber {
    width: 100%;
    border: 1px solid #D9D9D9;
    border-radius: 5px;
    padding: 10px 15px;
    font-size: 16px;
    line-height: 1.35;
    background-color: #FAFAFA;
}
.inputTextArea {
    max-width: 100%;
    min-width: 100%;
    width: 100%;
    height: calc( 1.35em * 5 );
    border: 1px solid #D9D9D9;
    border-radius: 5px;
    padding: 10px 15px;
    font-size: 16px;
    line-height: 1.35;
    background-color: #FAFAFA;
}

/* .inputSelectWrap {
    position: relative;
    display: inline-block;
    width: auto;
}
.inputSelectWrap::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -3px;
    display: block;
    width: 10px;
    height: 6px;
    background-image: url("../images/wedge_down_blue.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 2;
    pointer-events: none;
} */
.inputSelect {
    width: 100%;
    background-color: #FAFAFA;
    border: 1px solid #D9D9D9;
    border-radius: 5px;
    padding: 10px 30px 10px 15px;
    font-size: 14px;
    line-height: 1.35;

    background-image: url("../images/wedge_down_blue.svg");
    background-repeat: no-repeat;
    background-position: calc(100% - 15px) center;
    background-size: 10px 6px;
}
.inputRadio {

}
.inputRadio + label {
    position: relative;
    /* display: inline-block; */
    display: block;
    margin-top: 10px;
	padding: 0 0 0 25px;
    font-size: 16px;
    line-height: 1.35;
	cursor: pointer;
}
.inputRadio + label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    height: 20px;
    width: 20px;
    border: 1px solid #D9D9D9;
    border-radius: 50%;
    background-color: #FAFAFA;
    box-sizing: border-box;
}
.inputRadio:checked + label {
    font-weight: 700;
    color: #004A8A;
}
.inputRadio:checked + label:after {
    content: "";
	position: absolute;
    height: 14px;
    width: 14px;
    left: 3px;
    top: 3px;
    border-radius: 50%;
    background-color: #004A8A;
}
.inputCheckbox {

}
.inputCheckbox + label {
    position: relative;
    /* display: inline-block; */
    display: block;
    margin-top: 10px;
	padding: 0 0 0 25px;
    font-size: 16px;
    line-height: 1.3em;
	cursor: pointer;
}
.inputCheckbox + label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    height: 20px;
    width: 20px;
    border-radius: 4px;
    border: 1px solid #D9D9D9;
    background-color: #FAFAFA;
    box-sizing: border-box;
}
.inputCheckbox:checked + label {
    font-weight: 700;
    color: #004A8A;
}
.inputCheckbox:checked + label::before {
    background-color: #004A8A;
}
.inputCheckbox:checked + label:after {
    content: "";
	position: absolute;
    height: 5px;
    width: 8px;
    left: 5px;
    top: 5px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.inputModalBtn {
    background-color: #FAFAFA;
    border: 1px solid #D9D9D9;
    border-radius: 5px;
    padding: 10px 15px;
    font-size: 14px;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;

    background-image: url("../images/icon_windows_line_blue.svg");
    background-repeat: no-repeat;
    background-position: calc(100% - 20px) center;
    background-size: 10px;
}
/* .inputModalBtn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -5px;
    display: block;
    width: 10px;
    height: 10px;

    z-index: 2;
    pointer-events: none;
} */

/* ---------------------------------
		form
------------------------------------*/
._fix {
    height: 100%;
    min-height: auto;
    overflow: hidden;
    position: fixed;
    width: 100%;
}

.formTable {
    display: none;
}
.formTable.is-show {
    display: block;
}
.formInfoWrap {
    margin-bottom: 20px;
    border-radius: 10px;
    border: 2px solid #004A8A;
    padding: 10px;
    text-align: center;
}
.formInfoWrap__red {
    border-color: #FF0000;
}
.formTableList {
    width: 100%;
}
.formTableList__topMargn {
    margin-top: 60px;
}
.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: 300px;
    border-top: 1px solid #D9D9D9;
    border-left: 1px solid #D9D9D9;
    padding: 19.5px;
    background-color: #EDF0F2;

    font-size: 16px;
    font-weight: 700;

    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;
}
.formTableTitle__noRightPadding {
    padding-right: 0;
}
.formTableTitleText {
    width: 200px;
}
.formTableTitle__noRightPadding .formTableTitleText {
    width: auto;
}
.require {
    display: block;
    border-radius: 10px;
    padding: 1px 8px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    background-color: #004A8A;
}
.formTableInput {
    position: relative;
    width: 800px;
    border-top: 1px solid #D9D9D9;
    border-left: 1px solid #D9D9D9;
    border-right: 1px solid #D9D9D9;
    padding: 9.5px 19px;

    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;
}
.formTableLine:last-child .formTableTitle,
.formTableLine:last-child .formTableInput {
    border-bottom: 1px solid #D9D9D9;
}
.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;
}
.formTableInputList__file {
    margin-top: 10px;
}
.formTableInputListItem {
    margin-right: 10px;
}
.formTableInputListItem:last-child {
    margin-right: 0;
}
.formTableInputListChoices {
    /* margin-top: -10px; */
    min-width: 20%;
}
.formTableInputListChoicesAuto {
    /* margin-top: -10px; */
    min-width: 25%;
    padding-right: 2.5%;
}
.formTableInputListChoices3column {
    /* margin-top: -10px; */
    width: 33%;
    padding-right: 0.5%;
}
.formTableInputListChoices3column:nth-child(3n) {
    padding-right: 0%;
}
.formTableInputListChoices4column {
    /* margin-top: -10px; */
    width: 25%;
    padding-right: 2.5%;
}
.inputModalBtn + .formTableInputList {
    width: 100%;
}
.inputModalBtn + .formTableInputList .formTableInputListChoices4column {
    margin-top: 0;
}

.formTableInputListChoices:last-child {
    margin-right: 0;
}
.formTableInputFull {
    width: 100%;
}
.formTableInputList__file .formTableInputFull:nth-child(n+2) {
    margin-top: 10px;
    border-top: 1px solid #D9D9D9;
    padding-top: 10px;
}
.formPrivacyBlock {
    margin-top: 60px;
}
.formPrivacyWrap {
    margin-top: 30px;
}
.formPrivacyWrap .inputCheckbox + label {
    display: inline-block;
}
.formBtnListWrap {
    margin-top: 60px;
}
.formBtnListWrap .btn:nth-child(n+2) {
    margin-left: 40px;
}

.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;
}

.inputFileBoxTitle {
    /* margin-bottom: 10px; */
    width: 100%;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}

.uploadFile {
	display: none;
}
.resumeUploadLabel {
    margin-right: 20px;
    display: inline-block;
    border: 1px solid #004A8A;
    border-radius: 5px;
    padding: 10px 15px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    background-color: #004A8A;
    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: #D9D9D9;
}

.formError {
    width: 100%;
    display: block;
    font-weight: 700;
    color: #ff0000;
}
.formNote {
    width: 100%;
    display: block;
}
.formNote.small {
    font-size: 12px;
}
.formUnit {
    height: 100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.formUnitText {
    font-size: 16px;
}

.formUnitText.small {
    font-size: 14px;
}
.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;
}

/*----------------------------------------
        modal
----------------------------------------*/
.modalBoxBg {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 30;
    /* background-color: rgba(52, 52, 52, 0.94); */
    background-color: #003C71;
}
.modalBoxBg.is-show {
    display: block;
}
.modalBoxWrap {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 35;
    top: 0;
    left: 0;
}
.modalBoxWrap.is-show {
    display: block;
}
.modalBox {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    width: 100%;
    height: 100%;
}
.modalBoxInnerWrap {
    width: 896px;
    position: relative;
    max-height: 90%;
    padding: 18px;
    overflow-y: scroll;
}
.modalBoxClose {
    content: "";
    display: block;
    position: absolute;
    /* top: -18px;
    right: -18px; */
    top: 0;
    right: 0;
    width: 18px;
    height: 18px;
    background-image: url("../images/btn_spmenu_close.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.modalBoxInner {
    width: 860px;
    position: relative;
    max-height: 90%;
    border-radius: 8px;
    padding: 35px;
    overflow-y: scroll;
    background-color: #fff;
}
.modalBoxInnerWrap::-webkit-scrollbar,
.modalBoxInner::-webkit-scrollbar {
    display: none;
}
.modalBoxHeader {

}
.modalBoxTitle {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.44;
    letter-spacing: 0;
}
.modalBoxTitle02 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.05em;
}
.modalBoxBody {
    margin-top: 60px;
}
.modalBoxSelectWrap {
    margin-top: 60px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.modalBoxText01 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.86;
    letter-spacing: 0;
}

.modalBoxSelectTitle {
    margin-right: 40px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.86;
    letter-spacing: 0;
}
.modalBoxSelectError {
    width: 100%;
}
.modalBoxFooter {
    margin-top: 60px;
}
.modalBoxFooter .btn:nth-child(n+2) {
    margin-left: 20px;
}

.modalBoxBody2 {
    margin-top: 30px;
}
.modalBoxFiled {
    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; */
    -webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.modalBoxFiledTitle {

}
.modalBoxFiledList {
    height: 100%;
    max-height: 50vh;
    min-height: 50vh;
}
.modalBoxFiledInner {
    height: 100%;
    border-radius: 8px;
    background-color: #F2F2F2;
    padding-right: 5px;
    overflow-y: scroll;
}

.tabListBlock {
    /* border-radius: 8px;
    padding: 25px 0 25px 25px;
    background-color: #F2F2F2; */
}
.tabPanelBlock {
    /* border-radius: 8px;
    padding: 25px 0 25px 25px;
    background-color: #F2F2F2; */
}
.tabListBlockLeft {
    width: 260px;
    /* width: 300px; */
}
.tabListBlockRight {
    width: 495px;
    /* width: 455px; */
}
.tabList {
    padding: 25px 0 25px 25px;
}
.tabListItem {
    position: relative;
    padding-right: 40px;
    font-size: 14px;
    line-height: 1.2em;
}
.tabListItem:nth-child(n+2) {
    margin-top: 15px;
}
.tabPanelItem {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.2em;
}
.tabListTabBtn {
}
.tabListTabBtn + label {
    display: block;
    cursor: pointer;
}
.tabListTabBtn + label.is-current {
    font-weight: 700;
    color: #004A8A;
}
.tabListItemSelect {
    position: absolute;
    top: 0;
    right: 0;
    border: 1px solid #333333;
    border-radius: 3px;
    padding: 2px 1px;
    font-size: 11px;
    line-height: 1;
    background-color: #fff;
}

.tabPanelInputCheckbox {
    font-family: "Noto Sans Japanese","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3","メイリオ",Meiryo,Arial,sans-serif;
}
.tabPanelInputCheckbox + label {
    position: relative;
    display: inline-block;
	padding: 0 0 0 30px;
	cursor: pointer;
}
.tabPanelInputCheckbox + label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.5px;
    display: block;
    height: 14px;
    width: 14px;
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #888888;
    box-sizing: border-box;
}
.tabPanelInputCheckbox:checked + label {
    font-weight: 700;
    color: #004A8A;
}
.tabPanelInputCheckbox:checked + label::before {
    background-color: #004A8A;
    border: 1px solid #004A8A;
}
.tabPanelInputCheckbox:checked + label:after {
    content: "";
    position: absolute;
    height: 3px;
    width: 6px;
    left: 3px;
    top: 4.5px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/*----------------------------------------
        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 #707070;
    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: #004A8A;
}
.formScrollBox .tosSubTitle01:first-of-type{
    margin-top: 0;
}
.formScrollBox .tosSubTitle02 {
    margin-top: 1em;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.44;
    color: #004A8A;
}
.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;
}

/*----------------------------------------
  画面の横幅が450pxまで
----------------------------------------*/
@media (max-width: 450px) {

    /* ---------------------------------
            input
    ------------------------------------*/
    .inputText {
        border: 0.25vw solid #D9D9D9;
        border-radius: 1.25vw;
        padding: 2.5vw 1.25vw;
        line-height: 1.25;
        font-size: 3.5vw;
    }
    .inputNumber {
        border: 0.25vw solid #D9D9D9;
        border-radius: 1.25vw;
        padding: 2.5vw 3.75vw;
        line-height: 1.25;
        font-size: 3.5vw;
    }
    .inputTextArea {
        height: calc( 1.35em * 5 );
        border: 0.25vw solid #D9D9D9;
        border-radius: 1.25vw;
        padding: 2.5vw 3.75vw;
        line-height: 1.25;
        font-size: 3.5vw;
    }

    .inputSelect {
        background-color: #FAFAFA;
        border: 0.25vw solid #D9D9D9;
        border-radius: 1.25vw;
        padding: 2.5vw 5vw 2.5vw 1.25vw;
        line-height: 1.25;
        font-size: 3.5vw;

        background-position: calc(100% - 1.25vw) center;
        background-size: 2vw 1.25vw;
    }
    .inputRadio {
    
    }
    .inputRadio + label {
        margin-top: 2.5vw;
        padding: 0 0 0 5vw;
        line-height: 1.25;
        font-size: 3.5vw;
    }
    .inputRadio + label::before {
        display: block;
        top: 0.5vw;
        height: 4vw;
        width: 4vw;
        border: 0.25vw solid #D9D9D9;
    }
    .inputRadio:checked + label:after {
        height: 2.5vw;
        width: 2.5vw;
        left: 0.75vw;
        top: 1.25vw;
    }
    .inputCheckbox {
    
    }
    .inputCheckbox + label {
        margin-top: 2.5vw;
        padding: 0 0 0 5vw;
        line-height: 1.25;
        font-size: 3.5vw;
    }
    .inputCheckbox + label::before {
        top: 0.5vw;
        height: 4vw;
        width: 4vw;
        border-radius: 1vw;
        border: 0.25vw solid #D9D9D9;
    }
    .inputCheckbox:checked + label:after {
        height: 1vw;
        width: 1.5vw;
        left: 1vw;
        top: 1.25vw;
        border-bottom: 0.75vw solid #fff;
        border-left: 0.75vw solid #fff;
    }

    /* ---------------------------------
            form
    ------------------------------------*/
    .formInfoWrap {
        margin-bottom: 5vw;
        border-radius: 2.5vw;
        border: 0.5vw solid #004A8A;
        padding: 2.5vw;
        text-align: center;
    }
    .formInfoWrap__red {
        border-color: #FF0000;
    }
    .formTableList__topMargn {
        margin-top: 15vw;
    }
    .formTableTitle {
        width: 25vw;
        border-top: 0.25vw solid #D9D9D9;
        border-left: 0.25vw solid #D9D9D9;
        padding: 2.37vw;

        font-size: 3.5vw;
        line-height: 1.25;

        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .formTableTitle__noRightPadding {
        padding-right: 0;
    }
    .formTableTitleText {
        width: 22.5vw;
    }
    .formTableTitle__noRightPadding .formTableTitleText {
        width: auto;
    }
    .require {
        border-radius: 2.25vw;
        padding: 0.25vw 2vw;
        font-size: 2.75vw;
    }
    .formTableInput {
        width: 65vw;
        border-top: 0.25vw solid #D9D9D9;
        border-left: 0.25vw solid #D9D9D9;
        border-right: 0.25vw solid #D9D9D9;
        padding: 1.25vw 2.37vw;
    }
    .formTableLine:last-child .formTableTitle,
    .formTableLine:last-child .formTableInput {
        border-bottom: 0.25vw solid #D9D9D9;
    }
    .formTableInputList__file {
        margin-right: 1.25vw;
    }
    .formTableInputList__choices {
        margin-top: -2.5vw;
    }
    .formTableInputListItem {
        margin-right: 1.25vw;
    }
    .formTableInputListItem:last-child {
        margin-right: 0;
    }
    .formTableInputListItem__towColumn {
        margin-right: 0;
    }
    .formTableInputListItem__towColumn:nth-child(n+2) {
        margin-top: 1.25vw;
    }
    .formTableInputListChoices {
        /* margin-top: -1.25vw; */
        min-width: 20%;
    }
    .formTableInputListChoicesAuto {
        /* margin-top: -2.5vw; */
        min-width: 33%;
        padding-right: 2.5%;
    }
    .formTableInputListChoices3column {
        /* margin-top: -10px; */
        width: auto;
        min-width: 50%;
        padding-right: 0;
    }
    .formTableInputListChoices3column:nth-child(3n) {
        padding-right: 0;
    }
    .formTableInputListChoices4column {
        /* margin-top: -1.25vw; */
        width: auto;
        padding-right: 2.5%;
    }

    .inputModalBtn {
        border: 0.25vw solid #D9D9D9;
        border-radius: 1.25vw;
        padding: 2.5vw 1.25vw;
        line-height: 1.25;
        font-size: 3.5vw;
        background-position: calc(100% - 5vw);
    }
    .inputModalBtn + .formTableInputList {
        width: 100%;
    }
    .inputModalBtn + .formTableInputList .formTableInputListChoices4column {
        margin-top: 0;
    }

    .formTableInputListChoices:last-child {
        margin-right: 0;
    }
    .formTableInputFull {
        width: 100%;
    }
    .formTableInputList__file .formTableInputFull:nth-child(n+2) {
        margin-top: 2.5vw;
        border-top: 0.25vw solid #D9D9D9;
        padding-top: 2.5vw;
    }
    .formPrivacyBlock {
        margin-top: 15vw;
    }
    .formPrivacyWrap {
        margin-top: 7.5vw;
    }
    .formBtnListWrap {
        margin-top: 15vw;
    }
    .formBtnListWrap .btn.btn__clear {
        min-width: 25vw;
    }
    .formBtnListWrap .btn {
        min-width: 50vw;
    }
    .formBtnListWrap .btn:nth-child(n+2) {
        margin-left: 5vw;
    }
    .inputFileBox {

    }
    
    .inputFileBoxTitle {
        /* margin-bottom: 2.22vw; */
        font-size: 3.33vw;
    }

    .uploadFile {

    }
    .resumeUploadLabel {
        margin-right: 1.25vw;
        border: 0.25vw solid #004A8A;
        border-radius: 1.25vw;
        padding: 2.37vw;
        font-size: 3vw;
    }
    .resumeUploadFileName {
        margin-right: 1.25vw;
        margin-top: 1.25vw;
        max-width: auto;
        max-width: 100%;
        max-width: inherit;
    }
    .attachDeleteWrap {
        margin-top: 0.625vw;
    }
    .attachDeleteBtn {
        font-size: 0.8em;
        padding: 0.5vw 2.5vw;
        border-radius: 0.75vw;
    }

    .formError {
        font-size: 3vw;
        letter-spacing: -0.05em;
    }
    .formNote {
        font-size: 3vw;
        letter-spacing: -0.05em;
    }
    .formNote.small {
        font-size: 2.75vw;
    }
    .formUnit {
        height: 100%;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .formUnit {

    }
    .formUnitText {
        font-size: 3vw;
    }
    .formUnitText.small {
        font-size: 2.5vw;
    }
    .inputWidth80 {
        max-width: 100%;
        width: 20vw;
    }
    .inputWidth120 {
        max-width: 100%;
        min-width: 19vw;
        width: auto;
    }
    .inputWidth160 {
        max-width: 100%;
        min-width: 27.5vw;
        width: 27.5vw;
    }
    .inputWidth240 {
        max-width: 100%;
        min-width: 58.75vw;
        width: 100%;
    }
    .inputWidth380 {
        min-width: 100%;
        width: auto;
    }

    /*----------------------------------------
            modal
    ----------------------------------------*/
    .modalBoxBg {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 30;
        background-color: #003C71;
    }
    .modalBoxBg.is-show {
        display: block;
    }
    .modalBoxWrap {
        display: none;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 35;
        top: 0;
        left: 0;
    }
    .modalBoxWrap.is-show {
        display: block;
    }
    .modalBox {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;

        width: 100%;
        height: 100%;
    }
    .modalBoxInnerWrap {
        width: 100%;
        position: relative;
        max-height: 100%;
        height: 100%;
        padding: 0;
        overflow-y: scroll;
        background-color: #fff;
    }
    .modalBoxClose {
        content: "";
        display: block;
        position: absolute;
        top: 6.25vw;
        right: 6.25vw;
        width: 4.5vw;
        height: 4.5vw;
        background-image: url("../images/btn_close_line_blue.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }
    .modalBoxInner {
        width: 90vw;
        margin: 0 auto;
        min-height: 90vw;
        border-radius: 2.5vw;
        padding: 9.125vw 4.375vw;
        border: 0.5vw solid #004A8A;
    }
    .modalBoxInnerWrap::-webkit-scrollbar,
    .modalBoxInner::-webkit-scrollbar {
        display: none;
    }
    .modalBoxHeader {
        background-color: #fff;
        padding: 5vw;
    }
    .modalBoxTitle {
        font-size: 6.25vw;
    }
    .modalBoxTitle02 {
        font-size: 5vw;
    }
    .modalBoxBody {
        margin-top: 8.75vw;
    }
    .modalBoxSelectWrap {
        margin-top: 8.75vw;
    }
    .modalBoxText01 {
        font-size: 5vw;
    }

    .modalBoxSelectTitle {
        margin-right: 40px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.86;
        letter-spacing: 0;
    }
    .modalBoxSelectError {
        width: 100%;
    }
    .modalBoxFooter {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        margin-top: 0;
        border-bottom: 0.25vw solid rgba(52, 52, 52, 0.94);
        padding: 5vw 0;
        background-color: #fff;
        z-index: 30;
    }
    .modalBoxFooter .btn {
        min-width: 50vw;
    }
    .modalBoxFooter .btn.btn__clear {
        min-width: 25vw;
    }
    .modalBoxFooter .btn:nth-child(n+2) {
        margin-left: 5vw;
    }

    .modalBoxBody2 {
        margin-top: 0;
        height: calc(100vh - 45vw);
        overflow-y: scroll;
        background-color: #003C71;
    }
    .mobile-safari .modalBoxBody2 {
        height: calc(100vh - 55vw);
    }
    .modalBoxFiled {
        display: block;
        height: 100%;
    }
    .modalBoxFiledTitle {

    }
    .modalBoxFiledList {
        max-width: initial;
        max-width: auto;
        max-height: initial;
        max-height: auto;
        height: 100%;
        padding: 5vw;
    }
    .modalBoxFiledInner {
        background-color: inherit;
        height: 100%;
        border-radius: 0;
        padding-right: 0;
        overflow-y: scroll;
    }
    .tabListBlock {
        width: 100%;
        height: 100%;
    }
    .tabPanelBlock {

    }
    .tabListBlockLeft {
        width: 100%
    }
    .tabListBlockRight {
        width: 100%
    }
    .spEntryOptionList {
        border-bottom: 0.25vw solid #C3C3C3;
    }
    .spEntryOptionListDt {
        width: 100%;
        background-color: inherit;

    }
    .spEntryOptionListDd {
        /* display: none; */
        background-color: #fff;
        padding: 0 5vw;
    }

    .tabList {
        padding: 0;
    }
    .tabListItem {
        padding-right: 0;
        font-size: 3.5vw;
    }
    .tabListItem:nth-child(n+2) {
        margin-top: 0;
    }
    .tabPanelItem {
        margin-top: 0;
        font-size: 3.5vw;
    }
    .tabListTabBtn {
    }
    .tabListTabBtn + label {
        position: relative;
        display: block;
        cursor: pointer;
        padding: 5vw 22vw 5vw 5vw;
        font-size: 4vw;
        font-weight: 700;
        background-color: #fff;
        background-image: url("../images/wedge_down_blue.svg");
        background-repeat: no-repeat;
        background-position: calc(100% - 5vw) center;
        background-size: 2.5vw 1.5vw;
        cursor: pointer;
    }
    .tabListTabBtn + label._contentToggleOpen {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    .tabListTabBtn + label.is-current {

    }
    .tabListItemSelect {
        position: absolute;
        top: 50%;
        right: 10vw;
        margin-top: -2vw;
        border: 0.25vw solid #333333;
        padding: 0.25vw;
        font-size: 3vw;
        color: #fff;
        line-height: 1;
        background-color: #004A8A;
    }
     .tabPanelInputCheckbox + label {
        padding: 5vw 0 5vw 6vw;
        line-height: 1.3em;
        width: 100%;
    }
    /* .tabPanelItem:nth-child(n+2) .tabPanelInputCheckbox + label {
        border-top: 0.25vw solid #C3C3C3;
    } */
    .tabPanelItem .tabPanelInputCheckbox + label {
        border-top: 0.25vw solid #C3C3C3;
    }
    .tabPanelInputCheckbox + label::before {
        height: 4vw;
        width: 4vw;
        /* top: 0.5vw; */
        top: 5.5vw;
        border-radius: 1vw;
        border: 0.25vw solid #D9D9D9;
    }
    .tabPanelInputCheckbox:checked + label {

    }
    .tabPanelInputCheckbox:checked + label::before {
        border: 0.25vw solid #004A8A;
    }
    .tabPanelInputCheckbox:checked + label:after {
        content: "";
        position: absolute;
        height: 0.75vw;
        width: 1.5vw;
        left: 0.9vw;
        top: 6.5vw;
        border-bottom: 0.75vw solid #F5F7F9;
        border-left: 0.75vw solid #F5F7F9;
    }

    /*----------------------------------------
            privacy box
    ----------------------------------------*/
    .formScrollBox {
        counter-reset: num-title-cnt;
        margin-top: 3.75vw;
        padding: 4vw;
        max-height: 20em;
        overflow-y: auto;
        text-align: left;
        border: 0.25vw solid #707070;
        background-color: #FFF;
    }
    .formScrollBox .tosPremise {
        padding-top: 0.5em;
        font-size: 3vw;
        line-height: 1.69;
    }
    .formScrollBox .tosTable {
        margin-top: 1em;
    }
    .formScrollBox .tosSubTitle01 {
        margin-top: 1em;
        font-size: 3vw;
        font-weight: 700;
        line-height: 1.44;
        color: #004A8A;
    }
    .formScrollBox .tosSubTitle01:first-of-type{
        margin-top: 0;
    }
    .formScrollBox .tosSubTitle02 {
        margin-top: 1em;
        font-size: 3vw;
        font-weight: 700;
        line-height: 1.44;
        color: #004A8A;
    }
    .formScrollBox .tosText01{
        padding-top: 1em;
        font-size: 3vw;
        line-height: 1.64;
    }
    .formScrollBox .tosText02 {
        font-size: 3vw;
        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;
    }
}