@charset "utf-8";

#main_img {
    background-color: var(--color_gray3);
}

#main_img::after {
    content: "";
    display: block;
    aspect-ratio: 750/500;
    width: 100%;
    background-image: url(../img/k_h_mv01.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

#main_img .area h1.title_d {
    padding: 40px 0 40px 0;
}

#main_img .area .img {
    display: none;
}

article dl.recruit {
    display: flex;
    flex-wrap: wrap;
    row-gap: calc(40px + 1px + 40px);
}

article dl.recruit>.block {
    width: 100%;
    position: relative;
}

article dl.recruit>.block:nth-of-type(n+2)::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(-40px - 1px);
    left: 0;
    width: 100%;
    height: 1px;
    border-top: var(--base_border);
}

article dl.recruit>.block>* {
    width: calc(335 / 375* 100%);
    max-width: 1200px;
    margin: 0 auto 0 auto;
}

article dl.recruit>.block>dt {
    font-weight: normal;
    font-size: 2.2rem;
    line-height: 1;
}

article dl.recruit>.block.type2>dt {
    font-size: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
}

article dl.recruit>.block.type2>dt:before {
    content: "";
    display: block;
    height: 1em;
    width: 4px;
    margin-top: 0.3em;
    background-color: var(--color_chuden1);
}

article dl.recruit>.block.type2>dt span {
    line-height: 1.6;
    width: calc(100% - (4px + 20px));
}

article dl.recruit>.block>dd {
    margin-top: 40px;
}

article dl.schedule {
    display: flex;
    flex-wrap: wrap;
    row-gap: 10px;
    width: 100%;
}

article dl.schedule>.block {
    width: 100%;
}

article dl.schedule>.block:after {
    content: "";
    display: block;
    aspect-ratio: 150/21.5757885;
    width: 100%;
    max-width: 150px;
    background-color: var(--color_gray3);
    margin: 0px auto 0 auto;
    clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
}

article dl.schedule>.block>dt {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 50px;
    font-size: 1.6rem;
    background-color: var(--color_gray3);
    border: 2px solid var(--color_gray3);
}
article dl.schedule>.block:has(dd)>dt {
    border-bottom: none;
}

article dl.schedule>.block>dd {
    padding: 20px 0 20px 0;
    font-size: 1.3rem;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border: 2px solid var(--color_gray3);
    border-top: none;
}

article dl.schedule>.block>dd>* {
    text-align: center;
}

article dl.schedule>.block>dd>.full {
    width: 100%;
}

article dl.schedule>.block>dd>.full>* {
    margin: 0 auto 0 auto;
}

article dl.schedule>.block>dd>.full>ul.atte {
    display: table;
}

article dl.schedule>.block:nth-last-child(1)::after {
    display: none;
}

article dl.schedule>.block:nth-last-child(1)>dt {
    background-color: #FDEADF;
    border-color: #FDEADF;
    height: 58px;
}

article .link {
    max-width: 520px;
    margin: 0 auto 0 auto;
}

article .link a {
    max-width: none;
}

article .link ul.atte {
    margin-top: 15px;
}

article table {
    display: table;
    width: 100%;
    border-collapse: collapse;
}

article table caption {
    text-align: left;
    line-height: 1.3;
    margin-bottom: 20px;
}

article table tr>* {
    width: calc(100% / 3);
    font-weight: normal;
    text-align: center;
    padding: 0.5em;
    border: var(--base_border);
}

article table tr>th {
    background-color: var(--color_gray3);
}

article .entry {
    margin-top: 40px;
    padding: 30px 0 30px 0;
    background-color: var(--color_o1);
    color: #FFFFFF;
}

article .entry .area {
    max-width: 335px;
}

article .entry ul.atte {
    margin-top: 10px;
}

@media only screen and (min-width:768px) {
    #main_img {
        height: 600px;
    }

    #main_img::after {
        display: none;
    }

    #main_img .area {
        height: 390px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }

    #main_img .area h1.title_d {
        padding: 0;
        width: calc( (1200 - 450)/1200 * 100% );
    }

    #main_img .area .img {
        display: block;
        margin-bottom: auto;
        width: calc(450/1200 * 100%);
    }

    article dl.recruit {
        row-gap: calc(60px + 1px + 60px);
    }

    article dl.recruit>.block:nth-of-type(n+2)::before {
        top: calc(-60px - 1px);
    }

    article dl.recruit>.block>* {
        width: calc(1100 / 1200* 100%);
        max-width: 1100px;
    }

    article dl.recruit>.block>dt {
        font-size: 2.8rem;
    }

    article dl.recruit>.block>dd {
        margin-top: 60px;
    }
    article dl.recruit>.block.type2>dd {
        margin-top: 40px;
    }
    article dl.schedule {
        row-gap: 20px;
        width: calc(980/1100 * 100%);
        margin: 0 auto 0 auto;
    }

    article dl.schedule>.block>dt {
        font-size: 2.0rem;
    }

    article dl.schedule>.block>dd {
        font-size: 1.6rem;
        padding: 20px 0 20px 0;
    }

    article .link ul.atte {
        margin-top: 20px;
    }

    article dl.recruit>.block.type2>dt span {
        font-size: 1.8rem;
    }

    article .table {
        width: calc(980/1100 * 100%);
        margin: 0 auto 0 auto;
    }

    article .entry {
        margin-top: 60px;
    }
    article .entry .area {
        max-width: 520px;
    }
}