@charset "UTF-8";

.cm-head {
    background: url('../img/common/cm-head-recruit.jpg')no-repeat;
    background-size: 100%;
    background-attachment: fixed;
}

.contact-step {
    margin-bottom: 20px;
}
.contact-step:after {
    display: block;
    clear: both;
    content: '';
}

.contact-step li {
    position: relative;
    float: left;
    width: 32.666%;
    height: 40px;
    margin-right: 1%;
    padding: 0 5px;
    background-color: #ccc;
    color: #939393;
    font-weight: 700;
    text-align: center;
    line-height: 40px;
}
.contact-step li.active {
    color: #ffffff;
    background-color: #555555;
}
.contact-step li.active:before {
    border-top: 20px solid #555;
    border-bottom: 20px solid #555;
}
.contact-step li.active:after {
        border-left-color: #555;
}
.contact-step li:first-of-type:before {
    border: 0;
}
.contact-step li:last-of-type {
    margin-right: 0;
}
.contact-step li:last-of-type:after {
    border: 0;
}
.contact-step li:before, .contact-step li:after {
    position: absolute;
    top: 0;
    width: 0;
    height: 0;
    content: '';
}
.contact-step li:before {
    left: 0;
    border-top: 20px solid #ccc;
    border-right: 0 solid #ccc;
    border-bottom: 20px solid #ccc;
    border-left: 10px solid #fff;
}
.contact-step li:after {
    left: 100%;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 10px solid #ccc;
    z-index: 1;
}

.call-container {
    border: 1px solid #939393;
    text-align: center;
}
.call-container dt {
    padding: 7px;
    background-color: #939393;
    color: #ffffff;
    font-size: 18px;
}
.call-container a {
    display: block;
    color: #171717;
    font-size: 46px;
    text-decoration: none;
}
.call-container a i {
    color: #939393;
}

.domain {
    padding: 20px;
    border: 1px solid #272727;
    background-color: #f5fdff;
    color: #272727;
}

form {
    padding: 50px 0 0px 0;
    border-top: 1px dotted #939393;
}

.mailbox {
    width: 100%;
    max-width: 680px;
    margin: 0 auto 50px auto;
}
.mailbox dl {
    width: 100%;
    margin-bottom: 20px;
}
/*
.mailbox dl dt:before {
    color: #272727;
    content: '■';
}
*/
.mailbox dl dt span {
    font-size: 1rem;
    font-weight: normal;
    background-color: #788a8f;
    color: #fff;
    padding: 3px 6px;
    border-radius: 4px;
    margin-right: 10px;
}

.attention {
    text-align: center;
}
.attention span {
    color: #f00;
}

.action-btn{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
}
.action-btn .send_btn {
    max-width: none;
}
.action-btn .return_btn {
    margin-right: 10%;
}

button[type="submit"] {
    padding: 5px 30px;
    border: 1px solid;
    color: #ffffff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

button[name="confirm"] {
    border-color: #272727;
    background-color: #272727;
}
button[name="confirm"] span {
    border-color: #ffffff;
}
button[name="confirm"]:hover {
    background-color: #ffffff;
    color: #272727;
}
button[name="confirm"]:hover span {
    border-color: #272727;
}
button[name="back"] {
    background-color: #939393;
    border-color: #939393;
}
button[name="back"]:hover {
    background-color: #ffffff;
    color: #939393;
}

input, textarea{
    width: 100%;
    padding: 10px;
    border: 1px solid #272727;
    background-color: #f9f9f9;
}


.radio-input + span {
    padding-left: 25px;
    position: relative;
    margin-right: 20px;
    transition: font-weight .6s, color .6s;
    display: flex
;
    display: -webkit-flex;
}

.radio-input + span::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #002538;
    border-radius: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.radio-input {
    display: none;
}

.radio-input:checked + span {
    color: #002538;
    font-weight: bold;
}

.radio-input + span {
    padding-left: 25px;
    position: relative;
    margin-right: 20px;
    transition: font-weight .6s, color .6s;
    display: flex
;
    display: -webkit-flex;
}

.radio-input:checked + span::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 4px;
    width: 8px;
    height: 8px;
    background: #002538;
    border-radius: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.mailbox dt{
    margin-bottom: 7px;
}



.form--entry .form__table dl.user-birthday dd .user-birthday-obj {
    position: relative;
    width: 31.5%;
    border-radius: 4px;
}

.form--entry .form__table dl.user-birthday dd .user-birthday-obj:before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 15px;
    width: 10px;
    height: 7px;
    z-index: 1;
    padding: 0;
    content: '';
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #333;
    pointer-events: none;
}

.form--entry .form__table dl dd select {
    background-color: transparent;
    border: 1px solid #272727;
    color: inherit;
    height: 50px;
    width: 100%;
    padding: 0 15px;
    font-size: 1rem;
    color: #666;
    text-overflow: ellipsis;
    box-shadow: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    position: relative;
    cursor: pointer;
    background-color: #f9f9f9;
}

.user-birthday dd{
    width: 100%;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: space-between;
    -webkit-justify-content: space-between;
}

.error-message{
    padding: 0px 0px 20px 0px;
    color: #b53f3f;
    width: 100%;
    max-width: 680px;
    margin: 0 auto 0px auto;
}

@charset "UTF-8";

.cm-type-list {
    margin-bottom: 120px;
}

.cm-subsection:last-of-type {
    margin-bottom: 60px;
}

.job-description dl {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dotted #939393;
}
.job-description dl:last-of-type {
    margin-bottom: 0;
}
.job-description dl dt {
    margin-bottom: 10px;
}
.job-description dl dt:before {
    content: '■';
}

.recruit-list {
    margin: 15px 0 10px;
}
.recruit-list li {
/*    display: inline-block;*/
}
.recruit-list li:after {
/*    content: ' /';*/
}
.recruit-list li:last-of-type:after {
    content: '';
}
.recruit-list li span {
    padding-left: 5px;
}

.job-description dl dd > dl.recruit-inner-dl {
    border-bottom: 0;
    margin: 15px 0 0;
    padding-bottom: 0;
}
.job-description dl dd > dl.recruit-inner-dl dt {
    margin-bottom: 0;
}
.job-description dl dd > dl.recruit-inner-dl dd {
    text-indent: 16px;
}
.job-description dl dd > dl.recruit-inner-dl dt:before {
    content: '';
}

.call-container {
    border: 1px solid #939393;
    text-align: center;
}
.call-container dt {
    padding: 7px;
    background-color: #939393;
    color: #ffffff;
    font-size: 18px;
}
.call-container a {
    display: block;
    color: #171717;
    font-size: 46px;
    text-decoration: none;
}
.call-container a i {
    color: #939393;
}
.domain {
    margin-top: 30px;
    padding: 20px;
    border: 1px solid #20a0ca;
    background-color: #f5fdff;
    color: #20a0ca;
}


/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
/*Responsive*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
@media screen and (max-width: 1024px) {
    .call-container a {
        font-size: 38px;
    }

    form {
        padding: 30px 0 0 0;
        border-bottom: 0;
    }
}

@media screen and (max-width: 768px) {
    .call-container dt {
        font-size: 16px;
    }
    .call-container a {
        font-size: 32px;
    }
}

@media screen and (max-width: 450px) {
    .call-container dt {
        font-size: 14px;
    }
    .call-container dd {
        padding: 7px;
    }
    .call-container a {
        font-size: 20px;
    }

    .action-btn .return_btn {
        width: 30%;
        padding: 10px;
        font-size: 14px;
    }
    .action-btn .send_btn {
        font-size: 14px;
    }
}

@media screen and (max-width: 320px) {
    .action-btn .return_btn {
        margin-right: 5%;
        padding: 5px;
        font-size: 14px;
    }
    .action-btn .send_btn{
        font-size: 14px;
    }
}
