@charset "UTF-8";
/* 数字で見るQuiet */
#data-sec {
    position: relative;
    padding-bottom: 0;
    margin-bottom: var(--space150);
}

.deco-type {
    display: block;
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: calc(var(--space150) * -50%);
    bottom: 0.1em;
    color: var(--light-grey);
    font-family: var(--en-font);
    font-weight: 500;
    font-size: 16.6vw;
    letter-spacing: 0;
    line-height: 0;
}

#data-sec .container {
    max-width: 1200px;
    padding: 0 75px;
}


/* 数字で見るQuiet */
.cont-body-block {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: space-between;
    column-gap: calc(var(--space40) * 0.6);
    row-gap: var(--space80);
    margin-top: var(--space100);
}

.card {
    height: 100%;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr;
    grid-template-areas: 
        "figure"
        "title"
        "text";
    gap: var(--space20);
    padding: 60px 20px 40px;
    position: relative;
    text-align: center;
}

.card-border-1 {
    border-width: 1px;
    border-style: solid;
    border-color: var(--card-color);
}

.card-border-1:nth-child(1) {
    --card-color: var(--medium-grey);
}
.card-border-1:nth-child(2) {
    --card-color: var(--secondary-color);
}
.card-border-1:nth-child(3) {
    --card-color: var(--medium-grey);
}
.card-border-1:nth-child(4) {
    --card-color: var(--secondary-color);
}
.card-border-1:nth-child(5) {
    --card-color: var(--medium-grey);
}
.card-border-1:nth-child(6) {
    --card-color: var(--secondary-color);
}
.card-border-1:nth-child(7) {
    --card-color: var(--medium-grey);
}
.card-border-1:nth-child(8) {
    --card-color: var(--secondary-color);
}

.card-border-1::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -0.52em;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--en-font);
    font-weight: 300;
    font-size: 3em;
    line-height: 1;
    color: var(--card-color);
}

.card-border-1:nth-child(1)::before {
    content: "01";
}
.card-border-1:nth-child(2)::before {
    content: "02";
}
.card-border-1:nth-child(3)::before {
    content: "03";
}
.card-border-1:nth-child(4)::before {
    content: "04";
}
.card-border-1:nth-child(5)::before {
    content: "05";
}
.card-border-1:nth-child(6)::before {
    content: "06";
}
.card-border-1:nth-child(7)::before {
    content: "07";
}
.card-border-1:nth-child(8)::before {
    content: "08";
}

.card-title {
    grid-area: title;
    font-size: var(--base-font18);
    text-align: center;
    line-height: 1.5;
}
.card-title .text-s-size {
    font-size: var(--base-font14);
}
.card-figure {
    grid-area: figure;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.card-figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}
.card-text {
    grid-area: text;
    font-size: var(--base-font15);
    line-height: 1.5;
    color: var(--dark-grey);
}

.num-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.js-num, 
.card-mark {
    font-size: 32px;
    font-weight: 500;
}

.ch3 {
    width: 3ch;
    display: inline-block;
    text-align: right;
}

.zero3 {
    position: relative;
}

.zero3::before {
    position: absolute;
    content: "0";
    right: 2ch;
    bottom: 0;
}

.flex {
    display: flex;
    justify-content: center;
    align-items: baseline;
}

.ml1ch {
    margin-left: 1ch;
    margin-right: 1ch;
}

.recruite-date {
    text-align: right;
    font-size: 12px;
    margin-top: 0.5em;
}

/* パンくず */
.breadcrumb {
    background: var(--light-grey);
}

@media screen and (max-width: 1366px) {
    #data-sec .container {
        padding: 0 5%;
    }
    /* 数字で見るQuiet */
    .cont-body-block {
        grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    }
}

@media screen and (max-width: 600px) {
    .deco-type {
        bottom: calc(var(--space150) * -0.4);
        /* bottom: -20em; */
    }
    .cont-body-block {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 10px;
        row-gap: 30px;
    }
    .card {
        gap: 0;
        padding: 40px 10px 16px;
    }
    .card-figure {
        aspect-ratio: 2 / 1;
    }
    .card-title {
        font-size: 15px;
        letter-spacing: 0.01em;
        margin-top: 0.2em;
    }
    .card-title .text-s-size {
        font-size: 12px;
        display: block;
    }
    .card-text {
        font-size: 13px;
    }
    .js-num {
        font-size: 18px;
    }
    .card-mark {
        font-size: 13px;
    }
}