/* 採用案内 */
.rref-mobile-intro,
.rref-conditions,
.rref-page-nav,
.rref-application-group > h3,
.rref-session-mobile { display: none; }
.rref-category-jobs,
.rref-category-terms,
.rref-category-entry,
.rref-application-group,
.rref-session-desktop { display: contents; }

@media (max-width: 760px) {
    .r14-recruit.rref-hub .rref-desktop-intro,
    .r14-recruit.rref-hub .rref-full-terms-title,
    .r14-recruit.rref-hub .rref-full-terms,
    .r14-recruit.rref-hub .rref-full-terms-return,
    .rref-session-desktop { display: none; }
    .r14-recruit.rref-hub .rref-mobile-intro { display: block; font-size: 15px; line-height: 1.85; margin-top: 18px; }
    .r14-recruit.rref-hub .c-lead { padding: 32px 24px 0; }
    .r14-recruit.rref-hub .c-lead h1 { font-size: 28px; line-height: 1.5; }
    .r14-recruit.rref-hub .entries { display: grid; grid-template-columns: minmax(0,1fr); margin: 26px 0 0; gap: 0; background: transparent; border-top: 1px solid #c7d3dc; }
    .r14-recruit.rref-hub .entries a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 12px; min-height: 0; padding: 18px 0; border: 0; border-bottom: 1px solid #c7d3dc; border-radius: 0; background: transparent; color: #203746; box-shadow: none; transform: none; }
    .r14-recruit.rref-hub .entries a::before,
    .r14-recruit.rref-hub .entries a::after { display: none; }
    .r14-recruit.rref-hub .entries small { display: none; }
    .r14-recruit.rref-hub .entries strong { grid-column: 1; font-size: 19px; line-height: 1.5; margin: 0; color: inherit; }
    .r14-recruit.rref-hub .entries a > span { grid-column: 1; font-size: 13px; line-height: 1.7; color: #526673; }
    .r14-recruit.rref-hub .entries b { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; font-size: 12px; font-weight: 500; color: #245a82; }
    .r14-recruit.rref-hub .entries b i { margin-left: 4px; }
    .r14-recruit.rref-hub .entries .zr-phrase { font: inherit; letter-spacing: inherit; color: inherit; }
    .r14-recruit.rref-hub .c-panel { padding: 36px 24px 0; }
    .r14-recruit.rref-hub .c-panel > header { margin: 0 0 12px; }
    .r14-recruit.rref-hub .c-panel > header small,
    .r14-recruit.rref-hub .c-jobs article > div:first-child small { display: none; }
    .r14-recruit.rref-hub .c-panel > header h2 { font-size: 24px; margin: 0; }
    .r14-recruit.rref-hub .c-jobs article { padding: 20px 0; display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
    .r14-recruit.rref-hub .c-jobs h3 { font-size: 20px; margin: 0; line-height: 1.5; }
    .r14-recruit.rref-hub .r15-job-copy .zr-job-description { display: block; font-size: 14px; line-height: 1.8; }
    .r14-recruit.rref-hub .r15-job-copy p { font-size: 13px; line-height: 1.75; }
    .r14-recruit.rref-hub .r15-job-copy p + p { margin-top: 5px; }
    .r14-recruit.rref-hub .r15-job-copy .muted { color: #526673; }
    .r14-recruit.rref-hub .r15-detail-link { width: auto; min-height: 44px; justify-self: start; margin: 0; padding: 8px 0; font-size: 13px; }
    .r14-recruit.rref-hub .rref-conditions { display: block; margin: 0; padding: 32px 24px; background: #eef3f6; }
    .rref-conditions h2 { font-size: 24px; margin: 0 0 12px; }
    .rref-conditions dl { margin: 0; }
    .rref-conditions dl > div { padding: 14px 0; border-bottom: 1px solid #c7d3dc; }
    .rref-conditions dt { font-size: 14px; font-weight: 650; margin-bottom: 5px; }
    .rref-conditions dd { margin: 0; font-size: 14px; line-height: 1.8; }
    .rref-conditions > p { font-size: 13px; line-height: 1.8; margin: 18px 0 8px; }
    .rref-conditions nav { display: grid; }
    .rref-conditions nav a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 44px; padding: 10px 0; font-size: 14px; line-height: 1.7; color: #245a82; border-bottom: 1px solid #c7d3dc; }
    .r14-recruit.rref-hub .session { padding: 32px 24px; margin: 0; gap: 16px; }
    .r14-recruit.rref-hub .session h2 { font-size: 22px; line-height: 1.55; margin: 8px 0 12px; }
    .r14-recruit.rref-hub .session p { font-size: 14px; line-height: 1.8; }
    .r14-recruit.rref-hub .session a { min-height: 44px; }
    .r14-recruit.rref-hub .p-recruit-selection,
    .r14-recruit.rref-hub .p-recruit-faq { margin: 0; padding: 32px 24px; }
    .r14-recruit.rref-hub .p-recruit-selection header,
    .r14-recruit.rref-hub .p-recruit-faq header { margin-bottom: 18px; padding: 0; }
    .r14-recruit.rref-hub .p-recruit-selection h2,
    .r14-recruit.rref-hub .p-recruit-faq h2 { font-size: 24px; line-height: 1.5; }
    .r14-recruit.rref-hub .p-recruit-selection header > p:last-child { font-size: 14px; line-height: 1.8; }
    .r14-recruit.rref-hub .p-recruit-selection__steps { gap: 0; }
    .r14-recruit.rref-hub .p-recruit-selection__steps li { grid-template-columns: 24px minmax(0,1fr); column-gap: 12px; padding: 16px 0; }
    .r14-recruit.rref-hub .p-recruit-selection__steps li > span { font-size: 15px; line-height: 1.8; }
    .r14-recruit.rref-hub .p-recruit-selection__steps h3 { font-size: 17px; margin: 0 0 5px; }
    .r14-recruit.rref-hub .p-recruit-selection__steps p { font-size: 14px; line-height: 1.8; }
    .r14-recruit.rref-hub .p-recruit-selection__entry { margin-top: 14px; }
    .r14-recruit.rref-hub .p-recruit-faq__list { padding: 0 16px; }
    .r14-recruit.rref-hub .p-recruit-faq summary { min-height: 52px; font-size: 15px; line-height: 1.7; padding: 15px 28px 15px 0; }
    .r14-recruit.rref-hub .p-recruit-faq details p { font-size: 14px; line-height: 1.8; padding: 0 0 18px; }

    .r14-recruit.rref-detail .c-lead { padding: 28px 24px 24px; }
    .r14-recruit.rref-detail .c-lead h1 { font-size: 28px; line-height: 1.5; }
    .r14-recruit.rref-detail .c-panel { padding: 24px; }
    .r14-recruit.rref-detail .rref-page-nav { display: flex; flex-wrap: wrap; gap: 0 20px; padding: 0; margin: 0 0 12px; border-bottom: 1px solid #c7d3dc; }
    .r14-recruit.rref-detail > .rref-page-nav { margin: 0 24px; }
    .rref-page-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.7; color: #245a82; text-decoration: underline; text-underline-offset: 4px; }
    .r14-recruit.rref-detail .c-panel h2 { font-size: 22px; line-height: 1.5; margin: 26px 0 14px; scroll-margin-top: 96px; }
    .r14-recruit.rref-detail .c-panel > p,
    .r14-recruit.rref-detail .r15-detail-intro,
    .r14-recruit.rref-detail .c-panel li { font-size: 15px; line-height: 1.8; }
    .r14-recruit.rref-detail .terms { margin: 0; }
    .r14-recruit.rref-detail .terms > div { display: grid; grid-template-columns: minmax(0,1fr); padding: 14px 0; gap: 5px; }
    .r14-recruit.rref-detail .terms dt { font-size: 14px; font-weight: 650; line-height: 1.6; }
    .r14-recruit.rref-detail .terms dd { font-size: 14px; line-height: 1.8; margin: 0; }
    .r14-recruit.rref-detail .r15-entries { gap: 0; grid-template-columns: minmax(0,1fr); }
    .r14-recruit.rref-detail .r15-entries .r14-invert { min-height: 48px; padding: 14px 0; border: 0; border-bottom: 1px solid #c7d3dc; border-radius: 0; background: transparent; color: #245a82; box-shadow: none; font-size: 14px; line-height: 1.7; }
    .r14-recruit.rref-detail .r15-entries .r14-invert::before,
    .r14-recruit.rref-detail .r15-entries .r14-invert::after { display: none; }
    .r14-recruit.rref-category .c-panel { display: flex; flex-direction: column; }
    .r14-recruit.rref-category .c-panel > p { order: 0; }
    .r14-recruit.rref-category .rref-page-nav { order: 1; }
    .rref-category-terms { display: block; order: 2; }
    .rref-category-jobs { display: block; order: 3; }
    .rref-category-entry { display: block; order: 4; }
    .rref-application-group { display: block; padding: 8px 0 18px; }
    .rref-application-group > h3 { display: block; font-size: 16px; font-weight: 650; margin: 0 0 4px; line-height: 1.7; }
    .r14-recruit.rref-detail .rref-application-group .zr-application-job { display: none; }
    .r14-recruit.rref-detail .zr-application-label { display: block; }
    .r14-recruit.rref-detail .p-recruit-help { padding: 12px 24px 32px; margin: 0; }
    .r14-recruit.rref-detail .p-recruit-help a { font-size: 14px; min-height: 44px; line-height: 1.7; }

    .rref-session .zr-rec-subhero { padding: 28px 24px; }
    .rref-session .zr-rec-subhero h1 { font-size: 28px; line-height: 1.5; }
    .rref-session .zr-rec-subhero > p:last-child { font-size: 15px; line-height: 1.8; }
    .rref-session-mobile { display: block; padding: 0 24px 40px; color: #203746; }
    .rref-session-mobile h2 { font-size: 22px; line-height: 1.5; margin: 26px 0 14px; }
    .rref-session-mobile p { font-size: 14px; line-height: 1.85; margin: 0 0 18px; }
    .rref-session-mobile ol { padding-left: 1.5em; margin: 0 0 24px; }
    .rref-session-mobile li { font-size: 15px; line-height: 1.8; padding: 8px 0; border-bottom: 1px solid #c7d3dc; }
    .zr-recruit-detail.rref-session .rref-session-contact { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 14px 18px; margin-top: 24px; background: #245a82; color: #fff; font-size: 14px; line-height: 1.7; gap: 16px; }
}

.rref-question { min-width: 0; }
.p-recruit-faq details p a { text-decoration: underline; text-underline-offset: .2em; }

@media (max-width: 760px) {
    .r14-recruit.rref-hub .session .textlink { max-width: 100%; white-space: normal; gap: 12px; }
    .r14-recruit.rref-hub .session .textlink > [aria-hidden] { flex: none; }
}
