@charset "utf-8";
/* CSS Document */
/* head img--------------------------------------------------------------*/
h2.hd-top > .title {
    background: #ddf8f2;
}
h2.hd-top {
    background: url("/assets/images/recruitment/img-head.png") no-repeat;
    background-size: cover;
}
@media (max-width: 1024px) {
    h2.hd-top {
        background: none;
        padding: 1.5rem 0;
        background-color: #ddf8f2;
    }
}
/* area --------------------------------------------------------------*/
.area {
    background-color: #ddf8f2;
}
/* --------------------------------------------------------------*/
.parent {
    display: grid;
    grid-template-areas:
        ". area-01 area-01 area-01"
        ". area-01 area-01 area-01"
        ". area-01-box area-01-box ."
        "area-02 area-02 area-02 ."
        "area-02 area-02 area-02 ."
        ". area-02-box area-02-box .";

    grid-template-columns: 10% 40% 40% 10%;
    grid-template-rows: repeat(4, 1fr);
    gap: 0px;
}

.area-01,
.area-02 {
    width: 100%;
    aspect-ratio: 141 / 49;
}

.area-01 {
    position: relative;
    background-size: cover;
    grid-area: area-01;
    grid-column-start: 2;
    margin: 5rem 0;
}

.area-01 .btn::after {
    content: "";
    display: inline-block;
    background: url("/assets/images/recruitment/icon-link.svg");
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    line-height: 1.2;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border: none;
}

.area-01 .btn:hover::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    line-height: 1.2;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border: none;
}

.area-02 {
    grid-area: area-02;
    position: relative;
    background-size: cover;
    grid-row-start: 3;
    margin: 5rem 0;
}
.area-01-box {
    position: absolute;
    bottom: -60px;
    left: 0;
    background: #fff;
    width: 90%;
    padding: 3%; /* パディングを相対単位で設定 */
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.area-02-box {
    position: absolute;
    bottom: -60px;
    right: 0%;
    background: #fff;
    width: 90%;
    padding: 3%; /* パディングを相対単位で設定 */
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.area-01-box h3,
.area-02-box h3 {
    font-size: 2rem;
    width: 10rem;
}
.area-01-box p,
.area-02-box p {
    margin-left: auto;
}
@media (max-width: 1024px) {
    .parent {
        display: block;
    }

    .area-01,
    .area-02 {
        width: 100%;
        background-size: 100%;
        aspect-ratio: 141 / 49;
    }
    .area-01-box,
    .area-02-box {
        width: 100%;
        top: 100%;
        left: 0;
        right: 0;
        display: block;
        text-align: center;
        height: fit-content;
        position: unset;
    }
    .area-01-box h3,
    .area-02-box h3 {
        margin: 1rem auto;
        font-size: 1.5rem;
    }
    .area-01-box p,
    .area-02-box p {
        margin-left: auto;
        margin-right: auto;
    }
}
