@charset "utf-8";
/* ==========================================================
   ▼ 求人ポスター（poster.html）
   A4（縦 210×297mm）のポスター。店頭や事務所に貼るので、職種・勤務地・給与を遠くから読める大きさにする。
   大きさは mm で決め、画面では js/poster.js が幅に合わせて縮めて（zoom）見せる。印刷は原寸
   色はサイトと同じ（ティール・マスカット・金）
   ========================================================== */

.posterPage{
    width: min(1060px, 100%);
    margin: 0 auto;
    padding: 2rem 1rem 3rem;
}
.posterToolbar{
    margin-bottom: 1.5rem;
}
.posterViewport{
    display: flex;
    justify-content: center;
    width: 100%;
    overflow: hidden;
}

/* ---------- ポスター本体 ---------- */
.poster{
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    width: 210mm;
    height: 297mm;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 24px var(--shadowStrong);
    color: var(--textMain);
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}
.poster > .jobListEmpty{
    margin: auto;
    font-size: 6mm;
}

/* 上の帯：雇用形態（正社員募集など）だけ */
.posterBand{
    display: flex;
    flex-shrink: 0;
    align-items: center;
    height: 36mm;
    padding: 0 14mm;
    background: linear-gradient(135deg, var(--mainFrom), var(--mainTo));
    color: var(--textOnAccent);
}
.posterBandText{
    font-size: 16mm;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
}
/* 帯の下の線（ヘッダー下の線と同じ ティール→マスカット→金）は、本文の上の枠線で引く */
.posterBody{
    flex: 1;
    padding: 11mm 14mm 0;
    border-top: 2.5mm solid transparent;
    border-image: var(--gradientLine) 1;
}

/* 呼びかけ（帯の下。1行目は特徴に合わせた呼びかけ、2行目は正社員になる道） */
.posterCall{
    margin-bottom: 7mm;
    padding-bottom: 6mm;
    border-bottom: 0.6mm dashed var(--muscat);
}
.posterCallMain{
    font-size: 8.5mm;
    font-weight: 700;
    line-height: 1.4;
}
.posterCallSub{
    margin-top: 1.5mm;
    color: var(--accent);
    font-size: 6.5mm;
    font-weight: 700;
    line-height: 1.4;
}

/* 職種（いちばん大きく） */
.posterCategory{
    color: var(--accent);
    font-size: 15mm;
    font-weight: 700;
    line-height: 1.2;
}
.posterCategory.isSize1{
    font-size: 12mm;
}
.posterCategory.isSize2{
    font-size: 9.5mm;
}
/* 求人タイトル */
.posterTitle{
    margin-top: 4mm;
    font-size: 8.5mm;
    font-weight: 700;
    line-height: 1.4;
}
.posterTitle.isSize1{
    font-size: 7mm;
}
.posterTitle.isSize2{
    font-size: 5.8mm;
}

/* 勤務地・給与（大きく。ラベルはティールの札） */
.posterInfo{
    margin-top: 8mm;
}
.posterInfoRow{
    display: grid;
    grid-template-columns: 30mm minmax(0, 1fr);
    align-items: center;
    gap: 6mm;
    padding: 5mm 0;
    border-top: 0.6mm solid var(--muscat);
}
.posterInfoRow:last-child{
    border-bottom: 0.6mm solid var(--muscat);
}
.posterInfoRow dt{
    padding: 2mm 0;
    border-radius: 2mm;
    background: var(--accent);
    color: var(--textOnAccent);
    font-size: 7mm;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.1em;
}
.posterInfoRow dd{
    font-size: 13mm;
    font-weight: 700;
    line-height: 1.25;
}
.posterInfoRow dd.isSize1{
    font-size: 10.5mm;
}
.posterInfoRow dd.isSize2{
    font-size: 8.5mm;
}
/* 給与は金のマーカーを引く */
.posterInfoRow:nth-child(2) dd{
    justify-self: start;
    background: linear-gradient(transparent 68%, rgba(247, 183, 49, 0.5) 68%);
}

/* 特徴（人気のものから最大6つ） */
.posterTags{
    display: flex;
    flex-wrap: wrap;
    gap: 3mm;
    margin-top: 8mm;
}
.posterTags li{
    padding: 1.8mm 5mm;
    border: 0.5mm solid var(--accent);
    border-radius: 20mm;
    color: var(--accent);
    font-size: 5.5mm;
    font-weight: 700;
    line-height: 1.3;
}
.posterCompany{
    margin-top: 8mm;
    font-size: 6.5mm;
    font-weight: 700;
}

/* 下：QRコードと案内 */
.posterFoot{
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 8mm;
    padding: 9mm 14mm;
    background: var(--muscatSoft);
}
.posterQr{
    flex-shrink: 0;
    width: 46mm;
    height: 46mm;
    padding: 1.5mm;
    background: #fff;
}
.posterQr svg{
    display: block;
    width: 100%;
    height: 100%;
}
.posterFootLead{
    font-size: 7.5mm;
    font-weight: 700;
    line-height: 1.5;
}
.posterFootSite{
    margin-top: 4mm;
    color: var(--textSub);
    font-size: 4.6mm;
    line-height: 1.6;
}
.posterFootSite strong{
    color: var(--accent);
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 8mm;
    font-weight: 800;
}

/* ---------- 印刷：ポスターだけを A4 の原寸で刷る ---------- */
@media print{
    @page{
        size: A4 portrait;
        margin: 0;
    }
    body{
        padding: 0;
        background: #fff;
    }
    body > *:not(main),
    .posterToolbar{
        display: none !important;
    }
    .posterPage,
    .posterViewport{
        width: auto;
        margin: 0;
        padding: 0;
    }
    .poster{
        zoom: 1 !important;
        box-shadow: none;
    }
}
