@charset "utf-8";

/* ===================================================
   RECRUIT 詳細ページ（各店舗の募集要項）
   ---------------------------------------------------
   共通レイアウト（#header / #pole_area / main.second_page /
   .page_title）はテーマの style.css をそのまま使用。
=================================================== */


/* ---------------------------------------------------
   ページ全体の枠
   余白は他の下層ページ（PRICE / ABOUT など）と同じ
   テーマ標準値に揃える
   テーマの main:not(#top_page, #about2_page) が付ける
   右下の黒枠（10px）はこのページでは使わない
--------------------------------------------------- */
main#recruit_detail_page {
    padding: 120px 0 0 100px;
    border-right: 0;
    border-bottom: 0;
}


/* ---------------------------------------------------
   コンテンツ全体のラッパー
--------------------------------------------------- */
#recruit_detail_page .recruit-inner {
    width: 1301px;
    max-width: 100%;
    /* main の padding はテーマ標準値（下0）で固定のため、
       ページ下の余白はコンテンツ側の margin で確保する */
    margin: 0 auto 100px;
}

/* 1301px が収まらなくなったら左右に余白（1301 + 左padding100 = 1401px） */
@media only screen and (max-width: 1400px) {
    #recruit_detail_page .recruit-inner {
        padding-right: 3%;
        padding-left: 3%;
    }
}


/* ---------------------------------------------------
   ページ見出しまわり
--------------------------------------------------- */
main#recruit_detail_page .page_title {
    margin-bottom: 50px;
}

#recruit_detail_page .recruit-lead {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 50px;
    font-size: 16px;
}

#recruit_detail_page .recruit-lead-en {
    font-family: "kepler-3-display-variable", serif;
    font-variation-settings: 'opsz' 18, 'wdth' 110, 'wght' 500;
}

#recruit_detail_page .recruit-detail-title {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho Pro", "Hiragino Mincho ProN", serif;
    font-weight: 600;
    font-size: 30px;
    line-height: 1.3;
    margin-bottom: 40px;
}


/* ---------------------------------------------------
   募集要項カード
--------------------------------------------------- */
#recruit_detail_page .recruit-detail-card {
    background: #fff;
    padding: 65px 100px;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho Pro", "Hiragino Mincho ProN", serif;
}

/* テーマの .second_page dl / dt / dd（width:200px 等）を打ち消す */
#recruit_detail_page .recruit-detail-list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 10px;
    width: 100%;
    margin: 0 0 35px;
    font-size: 18px;
}

#recruit_detail_page .recruit-detail-row {
    display: flex;
    align-items: flex-start;
    width: 100%;
    font-size: 18px;
}

/* 見出し列は固定幅。内容列を可変にして、幅が狭くなっても両者が接触しないようにする */
#recruit_detail_page .recruit-detail-row dt {
    width: 167px; /* カード内側1100px − 内容933px */
    flex-shrink: 0;
    padding-right: 20px;
    white-space: nowrap;
    font-weight: 600;
    line-height: 3.2;
}

#recruit_detail_page .recruit-detail-row dd {
    flex: 1;
    min-width: 0;
    width: auto;
    line-height: 3.2;
}

/* 内容が複数行になる項目は行間を詰める */
#recruit_detail_page .recruit-detail-row-multiline dt,
#recruit_detail_page .recruit-detail-row-multiline dd {
    line-height: 2;
}

#recruit_detail_page .recruit-detail-row dd ol {
    list-style: decimal;
    padding-left: 27px;
}


/* ---------------------------------------------------
   応募するボタン
--------------------------------------------------- */
#recruit_detail_page .btn-wrap {
    display: flex;
    justify-content: center;
}

#recruit_detail_page .apply-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 295px;
    height: 66px;
    background: #000;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
}



/* ===================================================
   タブレット
   カードの左右パディング100pxが効きすぎるので縮める
=================================================== */
@media only screen and (max-width: 1100px) {

    #recruit_detail_page .recruit-detail-card {
        padding: 50px 40px;
    }

    #recruit_detail_page .recruit-detail-row dt {
        width: 140px;
    }
}


/* ===================================================
   SP
=================================================== */
@media only screen and (max-width: 767px) {

    /* 他の下層ページと同じテーマ標準値に揃える
       （PC側の指定を打ち消すため、SPでも明示的に指定する） */
    main#recruit_detail_page {
        padding: 100px 0 0 50px;
    }

    #recruit_detail_page .recruit-inner {
        width: auto;
        margin: 0 0 100px;
        padding-right: 20px;
        padding-left: 0;
    }

    main#recruit_detail_page .page_title {
        margin-bottom: 51px;
    }

    #recruit_detail_page .recruit-lead {
        margin-bottom: 40px;
    }

    #recruit_detail_page .recruit-detail-title {
        font-size: 22px;
        margin-bottom: 40px;
    }

    #recruit_detail_page .recruit-detail-card {
        padding: 45px 30px;
    }

    #recruit_detail_page .recruit-detail-list {
        gap: 30px;
        margin-bottom: 30px;
    }

    #recruit_detail_page .recruit-detail-row {
        flex-direction: column;
        gap: 15px;
        font-size: 16px;
    }

    /* 縦積みになるので列幅の指定を解除する */
    #recruit_detail_page .recruit-detail-row dt,
    #recruit_detail_page .recruit-detail-row-multiline dt {
        width: auto;
        padding-right: 0;
        line-height: 1;
    }

    #recruit_detail_page .recruit-detail-row dd,
    #recruit_detail_page .recruit-detail-row-multiline dd {
        flex: none;
        width: 100%;
        line-height: 1.7;
    }

    #recruit_detail_page .recruit-detail-row dd ol {
        padding-left: 24px;
    }

    #recruit_detail_page .apply-button {
        width: 100%;
        height: 60px;
        font-size: 18px;
    }

}
