@charset 'UTF-8';
/* ----------------------------------------------
　PC設定
------------------------------------------------*/
.p-recruit-detail
{
    margin-bottom: var(--m200);
}
.p-recruit-detail__main
{
    margin-bottom: var(--m80);
}
.p-recruit-detail__main-image
{
    overflow: hidden;

    max-width: 1000px;
    margin: 0 auto var(--m80);

    aspect-ratio: 100/54;
}
.p-recruit-detail__main-image img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-recruit-detail__main-text h1,
.p-recruit-detail__main-text h2,
.p-recruit-detail__main-text h3,
.p-recruit-detail__main-text h4,
.p-recruit-detail__main-text p
{
    font-size: inherit;
    font-weight: inherit;
    line-height: 2;

    color: inherit;
}
.p-recruit-detail__main-text b,
.p-recruit-detail__main-text strong
{
    font-size: inherit;

    color: inherit;
}
.p-recruit-detail__main-text p
{
    min-height: 1em;
}
.p-recruit-detail__main-text p:has(img)
{
    text-align: center;
}
.p-recruit-detail__main-text img
{
    max-width: 800px;
    margin: 1rem 0;
}
.p-recruit-detail__main-text a:has(img)
{
    display: block;

    max-width: -moz-fit-content;

    max-width: fit-content;
    margin: 0 auto;

    text-align: center;
}
.p-recruit-detail__date-text
{
    font-size: var(--fs14_16);
    font-weight: 500;

    text-align: right;
}
.p-recruit-detail__date-attention
{
    font-size: var(--fs14_16);
    font-weight: 500;

    text-align: right;
}
.p-recruit-detail__category-list
{
    display: flex;

    margin-bottom: var(--m16_25);

    flex-wrap: wrap;
    grid-gap: 12px;
}
.p-recruit-detail__category
{
    font-size: var(--fs14_16);
    font-weight: 500;
    line-height: 1;

    width: -moz-fit-content;

    width: fit-content;
    padding: 0;
    padding: 8px .75em;

    color: var(--main-col);
    border: 1px solid var(--main-col);
}
.p-recruit-detail__title
{
    font-size: var(--fs24_40);
    font-weight: bold;

    margin-bottom: var(--m40);
}

.p-overview
{
    border: 1px solid var(--main-col);
}
.p-overview:not(:last-of-type)
{
    margin-bottom: var(--m70);
}
.p-overview__title
{
    font-size: var(--fs18_30);
    font-weight: bold;

    padding: 0;
    padding: 7.5px 1em;

    text-align: center;

    color: var(--main-white);
    background-color: var(--main-col);
}
.p-overview__list
{
    width: 95%;
    max-width: 1000px;
    margin: var(--m90) auto;
}
.p-overview__box
{
    display: flex;

    flex-wrap: wrap;
}
.p-overview__box:not(:last-of-type)
{
    margin-bottom: var(--m40);
    padding-bottom: var(--m40);

    border-bottom: 1px solid var(--gray01);
}
.p-overview__dt
{
    font-size: var(--fs16_18);
    font-weight: 500;

    width: 30%;
    padding-left: 1em;
}
.p-overview__dd
{
    font-size: var(--fs14_18);
    font-weight: 500;

    width: 70%;
}
.p-overview__button
{
    width: 95%;
    max-width: 1000px;
    margin: 0 auto;
}
.p-overview__button-link
{
    font-size: var(--fs22_30);
    font-weight: bold;

    display: block;

    width: 100%;
    padding: .5em 1em;

    transition: all .5s;
    text-align: center;

    color: var(--main-white);
    background-color: var(--red01);
}
.p-overview:has(.p-overview__button)
{
    padding-bottom: var(--m60);
}
.p-overview:has(.p-overview__button) .p-overview__list
{
    margin-bottom: var(--m60);
}
.p-overview:has(.p-overview__button) .p-overview__box:last-of-type
{
    padding-bottom: var(--m40);

    border-bottom: 1px solid var(--gray01);
}

/* ----------------------------------------------
　PAD以下設定
------------------------------------------------*/
@media all and (min-width: 769px)
{
    .p-overview__button-link:hover
    {
        background-color: var(--main-col);
    }
}
/* ----------------------------------------------
　SP調整
------------------------------------------------*/
@media all and (max-width: 620px)
{
    .p-recruit-detail__date
    {
        margin-bottom: 16px;
    }
    .p-overview__dt
    {
        font-weight: bold;

        width: 100%;
        margin-bottom: .25em;
        padding-bottom: .25em;
        padding-left: 0;

        text-align: center;

        border-bottom: 1px dotted var(--gray01);
    }
    .p-overview__dd
    {
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
        padding: 0 .5em;
    }
}
