/**
 * 新卒採用エントリーページ専用スタイル
 * page-newgraduate-entry.php で使用
 */

/* エントリーフォームセクション */
.entry-form-section {
    margin-top: 13.020833333333334vw;
    margin-bottom: 6.25vw;
}

.section-title {
    font-size: 2.083333333333333vw;
    color: #625C8A;
    text-align: center;
}

.entry-form-wrapper {
    width: 72.8640625vw;
    margin: 0 auto;
    margin-top: 6.25vw;
    padding: 9.791666666666666vw 6.510416666666667vw 4.21875vw;
    border-radius: 1.9791666666666665vw;
    background-color: var(--color-white);
}

.contact__form {
    display: flex;
    flex-direction: column;
    gap: 2.546875vw;
}

.contact__fields {
    display: flex;
    align-items: flex-start;
    gap: 2.546875vw;
    height: 5.081770833333333vw;
}

.contact__label {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 32%;
    padding-top: 1.3625vw;
    font-size: max(1.25vw, 1rem);
    font-weight: bold;
    color: #625C8A;
}

.contact__required {
    display: inline-block;
    /* width: 3.8114583333333334vw; */
    padding: 0.5208333333333333vw 0.78125vw;
    border-radius: 0.625vw;
    background: radial-gradient(#F47E7F, #DC5E5F);
    font-size: max(1.0416666666666665vw, 1rem);
    color: var(--color-white);
    line-height: 1;
}

.wpcf7-form-control-wrap {
    display: inline-block;
    width: 68%;
    height: 100%;
}

.contact__input,
.contact__textarea {
    width: 100%;
    height: 100%;
    padding-left: 3.6458333333333335vw;
    font-size: max(1.0416666666666665vw, 1rem);
    color: #625C8A;
    border: 0.052083333333333336vw solid #707070;
    border-radius: 0.8333333333333334vw;
}

.contact__textarea {
    padding-top: 1.5625vw;
}

.contact__fields--textarea {
    height: initial;
}

.contact__fields--checkbox {
    align-items: center;
}

.contact__fields--checkbox .contact__label {
    padding-top: 0;
}

.contact__fields--checkbox .contact__input {
    padding-left: 0;
    font-size: max(1.0416666666666665vw, 1rem);
        border: none;
}

.contact__fields--checkbox .wpcf7-form-control-wrap {
    width: 100%;
}

.contact__fields--checkbox .contact__input-wrap {
    display: flex;
    flex-direction: column;
    width: 68%;
}

.contact__fields--checkbox .wpcf7-list-item {
    margin-left: 0;
}

.contact__input-offer {
    font-size: max(0.8333333333333334vw, 1rem);
    color: #625C8A;
}

.contact__submit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    margin: 0 auto;
    position: relative;
    text-align: center;
}

.contact__submit::before,
.contact__submit::after {
    content: "";
    position: absolute;
    right: 4.166666666666666vw;
    width: 1.083333vw;
    height: 0.15625vw;
    background-color: var(--color-white);
    border-radius: 50px;
}

.contact__submit::before {
    transform: translateY(-50%) rotate(45deg);
    top: 44%;
}
.contact__submit::after {
    transform: translate(0, -50%) rotate(-45deg);
    bottom: 44%;
}

.wpcf7-spinner {
    position: absolute;
    right: 0;
    transform: translateX(110%);
    margin: 0;
}

.contact__submit-btn {
    width: 27.949999999999996vw;
    padding: 1.953125vw 0;
    padding-left: 6.796874999999999vw;
    border: none;
    border-radius: 1.5104166666666667vw;
    font-size: max(2.083333333333333vw, 1rem);
    color: var(--color-white);
    background: radial-gradient(#9E95D9, #625C8A);
    text-align: left;
}

/* sp */
@media screen and (max-width: 768px) {
    .entry-form-section {
        margin-top: 88px;
        margin-bottom: 56px;
    }

    .section-title {
        font-size: 24px;
    }

    .entry-form-wrapper {
        width: 86%;
        margin-top: 30px;
        padding: 40px 20px;
        border-radius: 16px;
    }

    .contact__form {
        gap: 30px;
    }

    .contact__fields {
        flex-direction: column;
        gap: 8px;
        height: auto;
    }

    .contact__label {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        width: initial;
        padding-top: 0;
        font-size: 12px;
    }

    .contact__required {
        display: inline-block;
        width: 28px;
        padding: 3.2px 4px;
        border-radius: 4px;
        font-size: 9px;
    }

    .wpcf7-form-control-wrap {
        width: 90%;
        height: 30px;
        margin-left: calc(100% - 90%);
    }

    .contact__input,
    .contact__textarea {
        font-size: 12px;
        border-radius: 6px;
    }

    .contact__textarea {
        padding-top: 1.5625vw;
    }

    .contact__fields--textarea {
        height: initial;
    }

    .contact__fields--checkbox {
        align-items: flex-start;
    }

    .contact__fields--checkbox .contact__input {
        padding-left: 0;
        font-size: 12px;
        border: none;
    }

    .contact__fields--checkbox .wpcf7-form-control-wrap {
        width: initial;
        height: auto;
        margin: 0 auto;
    }

    .contact__fields--checkbox .contact__input-wrap {
        width: initial;
        margin: 0 auto;
    }

    .contact__fields--checkbox .wpcf7-list-item {
        margin-left: 0;
    }

    .contact__input-offer {
        font-size: 8px;
        text-align: center;
    }

    .contact__submit {
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        margin: 0 auto;
        position: relative;
        text-align: center;
    }

    .contact__submit::before,
    .contact__submit::after {
        content: "";
        position: absolute;
        right: 25px;
        width: 10px;
        height: 1px;
        border-radius: 50px;
    }

    .contact__submit::before {
        transform: translateY(-50%) rotate(45deg);
        top: 42%;
    }
    .contact__submit::after {
        transform: translate(0, -50%) rotate(-45deg);
        bottom: 42%;
    }

    .wpcf7-spinner {
        position: absolute;
        right: 0;
        transform: translateX(110%);
        margin: 0;
    }

    .contact__submit-btn {
        width: 172px;
        padding: 16px 0;
        padding-left: 45px;
        border: none;
        border-radius: 16px;
        font-size: 12px;
    }
}


/* ステップインジケーター */
/* .entry-steps-section {
    background: var(--color-background);
    padding: 30px 0 50px;
}

.steps-indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 800px;
    margin: 0 auto;
}

.step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.step-number {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #E0E0E0;
    color: #999999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    transition: all 0.3s ease;
}

.step-item.step-active .step-number {
    background: var(--color-secondary);
    color: var(--color-white);
}

.step-label {
    font-size: 14px;
    color: #999999;
    font-weight: 500;
    white-space: nowrap;
}

.step-item.step-active .step-label {
    color: var(--color-text);
    font-weight: bold;
}

.step-divider {
    width: 80px;
    height: 2px;
    background: #E0E0E0;
    margin: 0 20px;
    margin-bottom: 30px;
} */

/* エントリーフォームセクション */
.entry-form-section


/* .entry-form-wrapper input[type="text"],
.entry-form-wrapper input[type="email"],
.entry-form-wrapper input[type="tel"],
.entry-form-wrapper textarea {
    width: 100%;
    padding: 15px 20px;
    border: 2px solid #E0E0E0;
    border-radius: 8px;
    font-size: 15px;
    transition: all 0.3s ease;
    background: var(--color-white);
} */

/* .entry-form-wrapper input:focus,
.entry-form-wrapper textarea:focus {
    outline: none;
    border-color: var(--color-secondary);
} */

/* .entry-form-wrapper .required {
    background: #E74C3C;
    color: var(--color-white);
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 12px;
    margin-left: 8px;
    font-weight: bold;
} */
