.fadeup
{
    visibility: hidden;

    opacity: 0;

    translate: 0 30px;
}

@keyframes rotateX
{
    0%
    {
        transform: rotateX(0deg);
    }
    100%
    {
        transform: rotateX(360deg);
    }
}

.contact-top-text
{
    font-size: 16px;
    line-height: 2;

    position: relative;

    width: 90%;
    max-width: 1200px;
    margin: 0 auto 100px;
    margin-top: 150px;
    padding: 0 30px;
}
@media screen and (max-width: 768px)
{
    .contact-top-text
    {
        margin-top: 50px;
        padding: 0;
    }
}
.contact-top-text > h2
{
    font-size: 20px;
    line-height: 1;

    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    letter-spacing: .06em;

    color: var(--bc-blue);

    writing-mode: vertical-rl;
    align-items: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .contact-top-text > h2
    {
        position: static;

        margin-bottom: 20px;

        writing-mode: horizontal-tb;
    }
}
.contact-top-text > h2:before
{
    width: 1px;
    height: 60px;

    content: '';

    background: var(--bc-blue);
}
@media screen and (max-width: 768px)
{
    .contact-top-text > h2:before
    {
        width: 40px;
        height: 1px;
    }
}
.contact-top-text p
{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}
.contact-top-text.thanks
{
    text-align: center;
}
@media screen and (max-width: 768px)
{
    .contact-top-text.thanks
    {
        text-align: left;
    }
}
@media screen and (max-width: 768px)
{
    .contact-top-text
    {
        font-size: 14px;
        line-height: 1.75;

        margin-bottom: 50px;
    }
}
.contact-top-text a
{
    text-decoration: underline;

    color: #004db3;
}
@media (hover)
{
    .contact-top-text a:hover
    {
        text-decoration: none;
    }
}

.contact-form
{
    padding-bottom: 130px;
}
.contact-form__inner
{
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}
.contact-form__top
{
    display: flex;

    margin-bottom: 20px;

    align-items: flex-end;
    justify-content: flex-end;
}
@media screen and (max-width: 768px)
{
    .contact-form__top
    {
        margin-bottom: 20px;
    }
}
.contact-form__title
{
    font-size: 36px;

    color: #004db3;
}
@media screen and (max-width: 768px)
{
    .contact-form__title
    {
        font-size: 28px;
    }
}
.contact-form__annotation
{
    font-size: 14px;

    color: #004db3;
}
@media screen and (max-width: 768px)
{
    .contact-form__annotation
    {
        font-size: 12px;
    }
}

.main-form
{
    padding: 80px;

    background: #f0f3f7;
}
@media screen and (max-width: 768px)
{
    .main-form
    {
        padding: 30px;
    }
}
.main-form__list
{
    display: flex;
    flex-direction: column;

    padding: 0 80px;

    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .main-form__list
    {
        padding: 0;

        gap: 20px;
    }
}
.main-form__item .wpcf7-not-valid-tip
{
    font-size: 14px;

    margin-top: 10px;
}
.main-form__item-title
{
    font-size: 18px;

    margin-bottom: 15px;
}
@media screen and (max-width: 768px)
{
    .main-form__item-title
    {
        font-size: 16px;

        margin-bottom: 5px;
    }
}
.main-form__item-title i
{
    color: #004db3;
}
.main-form__item-title span
{
    font-size: 14px;
}
.main-form__item-input span
{
    display: block;

    width: 100%;
}
.main-form__item-input span input,
.main-form__item-input span textarea
{
    font-size: 16px;

    display: block;

    width: 100%;
    padding: 10px;

    border: solid 1px #d7dade;
}
.main-form__item-input span input
{
    height: 50px;
}
.main-form__item-input span textarea
{
    min-height: 240px;

    resize: vertical;
}
.main-form__item-radio .wpcf7-radio
{
    display: flex;

    gap: 20px;
    flex-wrap: wrap;
}
.main-form__item-radio .wpcf7-list-item
{
    margin: 0;
}
.main-form__item-radio .wpcf7-list-item-label
{
    font-size: 16px;
}
.main-form__accept
{
    display: flex;

    margin: 40px 0 35px;

    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .main-form__accept
    {
        margin: 20px 0;
    }
}
.main-form__accept span label
{
    display: flex;

    align-items: center;
    gap: 15px;
}
.main-form__accept span label input
{
    position: relative;

    width: 24px;
    height: 24px;

    border: 1px solid #d7dade;
    background: #fff;

            -moz-appearance: none;

                 appearance: none;
    -webkit-appearance: none;
}
@media screen and (max-width: 768px)
{
    .main-form__accept span label input
    {
        width: 20px;
        height: 20px;
    }
}
.main-form__accept span label input:checked
{
    background: #fff;
}
.main-form__accept span label input:checked::after
{
    position: absolute;
    top: 1px;
    left: 6px;

    width: 10px;
    height: auto;

    content: '';
    transform: rotate(45deg);

    border-right: 3px solid #0034cc;
    border-bottom: 4px solid #04c;

    aspect-ratio: 14/24;
}
@media screen and (max-width: 768px)
{
    .main-form__accept span label input:checked::after
    {
        width: 8px;

        border-right: 2px solid #0034cc;
        border-bottom: 3px solid #04c;
    }
}
.main-form__accept span label span,
.main-form__accept span label a
{
    font-size: 18px;

    color: #004db3;
}
@media screen and (max-width: 768px)
{
    .main-form__accept span label span,
    .main-form__accept span label a
    {
        font-size: 14px;
    }
}
.main-form__accept span label a
{
    text-decoration: underline;
}
.main-form__privacy
{
    overflow-y: auto;

    height: 300px;
    margin-top: 80px;
    margin-bottom: 40px;
    padding: 40px;

    border: solid 1px #d7dade;

    scrollbar-width: 8px;
    scrollbar-color: rgba(0, 0, 0, .1);
}
@media screen and (max-width: 768px)
{
    .main-form__privacy
    {
        scrollbar-width: 6px;
    }
}
@media screen and (max-width: 768px)
{
    .main-form__privacy
    {
        height: 250px;
        margin-top: 60px;
        margin-bottom: 30px;
        padding: 20px;
    }
}
.main-form__privacy::-webkit-scrollbar
{
    width: 8px;
}
@media screen and (max-width: 768px)
{
    .main-form__privacy::-webkit-scrollbar
    {
        width: 6px;
    }
}
.main-form__privacy::-webkit-scrollbar-track
{
    background-color: inherit;
}
.main-form__privacy::-webkit-scrollbar-thumb
{
    border-radius: 9999px;
    background-color: rgba(0, 0, 0, .1);
}
.main-form__privacy-text
{
    font-size: 14px;
    line-height: 1.85;
}
.main-form__privacy-text span
{
    font-size: 16px;
}
.main-form__button
{
    position: relative;

    display: flex;

    width: -moz-fit-content;

    width: fit-content;
    margin: 0 auto;

    cursor: pointer;

    justify-content: center;
    align-items: center;
}
@media (hover)
{
    .main-form__button:hover::after
    {
        background-color: #fff;
    }
    .main-form__button:hover input[type=submit],
    .main-form__button:hover a
    {
        color: #fff;
        background: #0034cc;
    }
}
.main-form__button::after
{
    position: absolute;
    top: 50%;
    right: 30px;

    width: 12px;
    height: auto;

    content: '';
    transition: background .3s;
    pointer-events: none;

    background-color: #0034cc;

    translate: 0 -50%;
    aspect-ratio: 12/16;
    rotate: -90deg;
    -webkit-mask-image: url(/_kyokko-wp-files/wp-content/themes/kyokko/recruit/contact/img/arrow.png);
            mask-image: url(/_kyokko-wp-files/wp-content/themes/kyokko/recruit/contact/img/arrow.png);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
}
.main-form__button .wpcf7-spinner
{
    display: none;
}
.main-form__button input[type=submit],
.main-form__button a
{
    font-size: 18px;

    display: flex;

    width: 260px;
    height: 56px;

    transition: color .3s, background .3s;
    letter-spacing: .06em;

    color: #004db3;
    border: solid 1px #004db3;
    border-radius: 9999px;
    background: rgba(255, 255, 255, .2);

    justify-content: center;
    align-items: center;
}

.wpcf7-response-output
{
    font-size: 14px;

    padding: 0 !important;

    text-align: center;

    color: red;
    border: none !important;
}

footer
{
    margin-top: 20px;
}

.breadcrumbs_area
{
    padding: 0 50px;
}
@media screen and (max-width: 768px)
{
    .breadcrumbs_area
    {
        padding: 0 5%;
    }
}
.breadcrumbs_area nav ol
{
    display: flex;

    align-items: center;
    gap: 15px;
}
.breadcrumbs_area nav ol li
{
    font-size: 14px;
    line-height: 1;

    display: flex;

    letter-spacing: 0;

    color: #8a9099;

    align-items: center;
    gap: 15px;
}
.breadcrumbs_area nav ol li:not(:last-child):after
{
    content: '>';
}
.breadcrumbs_area nav ol li a
{
    color: #8a9099;
}
/*# sourceMappingURL=style.css.map */
