/* Orange Job nationwide-friendly layer: evidence-rich, responsive and approachable. */
:root {
    --friendly-pink: #f22978;
    --friendly-coral: #ff674d;
    --friendly-yellow: #ffd33e;
    --friendly-mint: #54cdb7;
    --friendly-sky: #58bfe0;
    --friendly-cream: #fff9ed;
}

.home-news { color: #fff; background: linear-gradient(90deg,#3b1530,#6b1747); border-bottom: 3px solid var(--friendly-yellow); }
.home-news__inner { display: flex; min-height: 46px; align-items: center; gap: 18px; font-size: 14px; }
.home-news strong { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.home-news strong span { padding: 3px 7px; color: #55142f; background: var(--friendly-yellow); border-radius: 999px; font-size: 11px; }
.home-news a:not(.home-news__all) { overflow: hidden; flex: 1; text-overflow: ellipsis; white-space: nowrap; }
.home-news a span { color: var(--friendly-yellow); }
.home-news__all { min-height: 44px; display: inline-flex; align-items: center; font-weight: 900; }

.home-hero--friendly { min-height: 840px; padding-top: 62px; overflow: hidden; background: #fffaf1; }
.home-hero--friendly::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(255,250,241,.98) 0%,rgba(255,250,241,.9) 34%,rgba(255,250,241,.2) 62%,transparent 82%); pointer-events: none; }
.home-hero__art { position: absolute; inset: 0; z-index: 0; }
.home-hero__art img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-hero__art-note { display: none; }
.home-hero--friendly .home-hero__inner { position: relative; z-index: 2; display: block; }
.home-hero--friendly .home-hero__copy { max-width: 660px; }
.home-hero--friendly .home-kicker { display: inline-flex; width: auto; color: #fff; background: #46162f; border-color: var(--friendly-yellow); }
.home-hero--friendly .home-kicker span { color: #42152d; background: var(--friendly-yellow); }
.home-hero--friendly .home-hero__copy h1 { font-size: clamp(47px,5.6vw,76px); text-shadow: 0 3px 0 #fff; }
.home-hero--friendly .home-hero__income,
.home-hero--friendly .home-hero__action { display: block; width: max-content; max-width: 100%; margin-left: 0; white-space: nowrap; }
.home-hero__image-note { display: block; max-width: 540px; margin-top: 11px; color: #735c66; font-size: 14px; font-weight: 800; }
.home-hero--friendly .home-search-card { z-index: 4; }
.search-panel,.search-panel--compact { grid-template-columns: minmax(150px,1.1fr) minmax(110px,.7fr) minmax(130px,.85fr) minmax(420px,2.4fr) auto; }
.home-hero--friendly .search-panel { grid-template-columns: 1.15fr .75fr .95fr 2.8fr auto; }

.home-region-section { padding-top: 86px; background: #fff; }
.region-grid { display: grid; gap: 20px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.region-card { overflow: hidden; background: #fff; border: 2px solid #f0bfd0; border-radius: 22px; box-shadow: 0 8px 0 rgba(242,41,120,.08); }
.region-card picture,.region-card picture img { display: block; width: 100%; }
.region-card picture img { height: auto; aspect-ratio: 16/9; object-fit: cover; }
.region-card > div { padding: 17px 18px 19px; }
.region-card h3 { display: inline; margin-right: 8px; color: #46162f; font-size: 22px; }
.region-card strong { color: var(--friendly-pink); font-size: 14px; }
.region-card p { display: -webkit-box; min-height: 45px; overflow: hidden; margin: 8px 0 11px; color: #74616a; font-size: 14px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.region-card a,.region-card__soon { display: flex; min-height: 44px; align-items: center; justify-content: space-between; color: #a81454; font-size: 14px; font-weight: 950; }
.region-card.is-coming-soon { opacity: .68; filter: saturate(.55); }
.region-card.is-coming-soon .region-card__soon { color: #786972; }

.type-visual-grid { display: grid; gap: 17px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.type-visual-grid a { overflow: hidden; background: #fff; border: 2px solid #f0bfd0; border-radius: 19px; box-shadow: 0 7px 0 rgba(242,41,120,.08); transition: transform .18s ease, box-shadow .18s ease; }
.type-visual-grid a:hover { transform: translateY(-3px); box-shadow: 0 11px 0 rgba(242,41,120,.1); }
.type-visual-grid picture,.type-visual-grid img { display: block; width: 100%; }
.type-visual-grid img { height: auto; aspect-ratio: 16/9; object-fit: cover; }
.type-visual-grid a > span { display: flex; min-height: 59px; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 14px; }
.type-visual-grid strong { color: #46162f; font-size: 16px; }
.type-visual-grid small { color: var(--friendly-pink); font-size: 14px; font-weight: 900; }
.need-grid--friendly { margin-top: 29px; grid-template-columns: repeat(5,minmax(0,1fr)); }
.need-grid--friendly a { display: grid; min-height: 126px; align-content: center; gap: 3px; padding: 13px; text-align: center; }
.need-grid__emoji { display: grid!important; width: 54px!important; height: 54px!important; margin: 0 auto 7px!important; place-items: center; overflow: hidden; background: transparent!important; border-radius: 16px!important; }
.need-grid__emoji picture,.need-grid__emoji img { display: block; width: 100%; height: 100%; }
.need-grid__emoji img { object-fit: cover; }
.need-grid--friendly b { font-size: 14px; }
.need-grid--friendly small { color: #866c78; font-size: 12px; font-weight: 800; }

.beginner-hub-section { background: linear-gradient(135deg,#fff1f7,#fff8df 65%,#ebfff9); }
.beginner-hub { display: grid; align-items: center; gap: 70px; grid-template-columns: 1fr 1fr; }
.beginner-hub h2 { color: #46162f; font-size: clamp(31px,3.8vw,49px); }
.beginner-hub > div > p:not(.section-label) { font-size: 17px; }
.beginner-hub__actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 23px; }
.beginner-hub ol { margin: 0; padding: 18px 23px; background: #fff; border: 3px solid #f8abc6; border-radius: 28px; box-shadow: 10px 10px 0 rgba(88,191,224,.16); list-style: none; }
.beginner-hub li { display: grid; gap: 2px 14px; padding: 16px 4px; border-bottom: 1px dashed #e5bdca; grid-template-columns: 48px 1fr; }
.beginner-hub li:last-child { border-bottom: 0; }
.beginner-hub li span { display: grid; width: 44px; height: 44px; place-items: center; color: #fff; background: var(--friendly-pink); border-radius: 50%; font-weight: 950; grid-row: 1/3; }
.beginner-hub li:nth-child(2) span { background: var(--friendly-coral); }
.beginner-hub li:nth-child(3) span { color: #4a3520; background: var(--friendly-yellow); }
.beginner-hub li b { font-size: 17px; }
.beginner-hub li small { color: #806d75; font-size: 14px; }

.story-section { background: #fff; }
.story-empty { display: grid; align-items: center; gap: 20px; padding: 27px; background: #fff9f1; border: 2px dashed #eab6c8; border-radius: 22px; grid-template-columns: 62px 1fr auto; }
.story-empty > span { display: grid; width: 60px; height: 60px; place-items: center; color: #fff; background: linear-gradient(135deg,var(--friendly-pink),var(--friendly-coral)); border-radius: 50%; font-size: 27px; }
.story-empty h3 { margin: 0 0 4px; color: #46162f; font-size: 21px; }
.story-empty p { margin: 0; color: #745f69; }

.job-card { overflow: hidden; padding: 0; border-width: 2px; }
.job-card__visual { position: relative; display: block; overflow: hidden; background: #f7d9e5; }
.job-card__visual picture,.job-card__visual img { display: block; width: 100%; }
.job-card__visual img { height: auto; aspect-ratio: 16/9; object-fit: cover; transition: transform .25s ease; }
.job-card:hover .job-card__visual img { transform: scale(1.025); }
.job-card__visual-label,.job-card__pr,.job-card__visual-category { position: absolute; z-index: 2; padding: 4px 8px; color: #fff; background: rgba(57,16,41,.88); border-radius: 6px; font-size: 11px; font-weight: 900; }
.job-card__visual-label { right: 9px; bottom: 9px; }
.job-card__pr { top: 9px; left: 9px; color: #4c3420; background: var(--friendly-yellow); }
.job-card__visual-category { right: 9px; top: 9px; background: var(--friendly-pink); }
.job-card__body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 20px 22px 22px; }
.job-card__heading { grid-template-columns: minmax(0,1fr) 44px; }
.job-card__facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
.job-card__promotion { display: grid; gap: 2px; margin: 0 0 13px; padding: 10px 12px; color: #57243e; background: #fff6c5; border: 1px solid #f0ce3a; border-radius: 9px; }
.job-card__promotion span { font-size: 12px; }
.job-card__channel { margin: 10px 0 0; color: #8e2355; font-size: 14px; font-weight: 900; text-align: right; }
.job-card--promoted { border-color: #efb928; box-shadow: 0 8px 0 rgba(239,185,40,.14); }
.jobs-results .job-card__visual { height: clamp(250px,24vw,310px); max-height: none; }
.jobs-results .job-card__visual img { height: clamp(250px,24vw,310px); aspect-ratio: auto; }
.jobs-results .job-card__body { padding: 24px 25px 25px; }
.jobs-results .job-card__heading { grid-template-columns: minmax(0,1fr) 44px; }
.source-badge--business_verified { color: #0b735f; background: #ddfff7; }
.source-badge--orangejob_interviewed { color: #6b237d; background: #f5e5ff; }

.detail-top { padding-top: 30px; }
.detail-visual { position: relative; overflow: hidden; margin: 19px 0 22px; background: #f8dce8; border: 4px solid #fff; border-radius: 26px; box-shadow: 0 9px 0 rgba(242,41,120,.13); }
.detail-visual picture,.detail-visual img { display: block; width: 100%; }
.detail-visual img { height: clamp(360px,36vw,520px); max-height: none; aspect-ratio: auto; object-fit: cover; }
.detail-visual figcaption { position: absolute; right: 10px; bottom: 9px; max-width: calc(100% - 20px); padding: 5px 8px; color: #fff; background: rgba(47,17,36,.8); border-radius: 7px; font-size: 12px; }
.detail-heading { grid-template-columns: minmax(0,1fr) auto; }
.detail-heading__pay { display: flex; width: fit-content; min-width: 240px; align-items: baseline; gap: 13px; margin-top: 13px; padding: 10px 14px; color: #552039; background: #fff4b5; border: 1px solid #edcf48; border-radius: 10px; }
.detail-heading__pay span { color: #85204f; font-size: 13px; font-weight: 950; }
.detail-heading__pay strong { color: #c2185b; font-size: 23px; line-height: 1.25; }
.detail-logo { display: inline-flex; align-items: center; min-height: 80px; margin: 0 0 14px; padding: 8px 14px; background: #fff; border: 1px solid #eed5df; border-radius: 12px; }
.detail-logo img { display: block; width: auto; max-width: 220px; height: auto; max-height: 72px; object-fit: contain; }
.detail-gallery { margin-top: 28px; padding: 25px; background: #fff; border: 1px solid #efd3de; border-radius: 20px; }
.detail-gallery__grid { display: grid; gap: 13px; margin-top: 17px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.detail-gallery figure { overflow: hidden; margin: 0; border-radius: 12px; }
.detail-gallery picture,.detail-gallery img { display: block; width: 100%; }
.detail-gallery img { height: auto; aspect-ratio: 16/9; object-fit: cover; }
.detail-gallery figcaption { padding: 5px 2px; color: #79656f; font-size: 12px; }
.detail-mini-highlight { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 15px; padding: 15px 18px; color: #56213c; background: #fff4b5; border-radius: 12px; }
.detail-mini-highlight strong { color: #bd185a; font-size: 24px; }
.income-example-grid { display: grid; gap: 13px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.income-example-grid article { padding: 17px; background: #fff9e7; border: 1px solid #edd876; border-radius: 13px; }
.income-example-grid b,.income-example-grid strong { display: block; }
.income-example-grid strong { margin: 5px 0; color: #be175a; font-size: 25px; }
.work-flow { position: relative; margin: 0; padding: 0; list-style: none; }
.work-flow li { display: grid; gap: 15px; padding: 13px 0; border-bottom: 1px solid #ead9df; grid-template-columns: 88px 1fr; }
.work-flow time { color: #bc1d5b; font-weight: 950; }
.work-flow p { margin: 3px 0 0; }
.staff-message { margin: 0; padding: 22px; color: #553b49; background: #fff3f8; border-left: 5px solid var(--friendly-pink); border-radius: 0 14px 14px 0; font-size: 17px; }
.job-faq { display: grid; gap: 10px; }
.job-faq details { background: #fff; border: 1px solid #e7ced8; border-radius: 12px; }
.job-faq summary { min-height: 50px; padding: 13px 42px 13px 16px; cursor: pointer; font-weight: 900; }
.job-faq p { padding: 0 16px 16px; }
.apply-channel-list { display: grid; gap: 9px; }
.apply-channel--line { background: #06b900; border-color: #06b900; }
.apply-channel--phone { background: #1687d9; border-color: #1687d9; }
.apply-channel--email { background: #7e3eb5; border-color: #7e3eb5; }

.geography-hero { position: relative; overflow: hidden; min-height: 430px; background: #fff1f7; }
.geography-hero > picture { position: absolute; inset: 0; }
.geography-hero > picture::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(255,248,242,.98) 0%,rgba(255,248,242,.91) 45%,rgba(255,248,242,.22) 78%); content: ""; }
.geography-hero > picture img { width: 100%; height: 100%; object-fit: cover; }
.geography-hero__body { position: relative; z-index: 1; padding-top: 54px; padding-bottom: 54px; }
.geography-hero__body h1 { max-width: 720px; margin: 12px 0; color: #4b1731; font-size: clamp(36px,5vw,60px); line-height: 1.1; }
.geography-hero__body > p:not(.section-label) { max-width: 610px; font-size: 17px; }
.geography-hero__count { display: flex; align-items: baseline; gap: 8px; margin: 18px 0; color: #772049; }
.geography-hero__count strong { color: var(--friendly-pink); font-size: 42px; line-height: 1; }
.geography-hero__count span { font-weight: 900; }
.prefecture-link-grid { display: grid; gap: 11px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.prefecture-link-grid a { display: grid; align-items: center; min-height: 66px; padding: 10px 15px; color: #55223c; background: #fff; border: 2px solid #f0ccda; border-radius: 13px; grid-template-columns: 1fr auto auto; }
.prefecture-link-grid a:hover { border-color: var(--friendly-pink); transform: translateY(-2px); }
.prefecture-link-grid a span { margin-left: 8px; color: #c01c5b; font-size: 13px; font-weight: 900; }
.prefecture-link-grid a b { margin-left: 9px; color: var(--friendly-pink); }
.prefecture-link-grid a.is-coming-soon { color: #73666c; background: #faf7f8; border-style: dashed; }
.geography-notice { padding-top: 30px; }
.geography-jobs__more { display: flex; justify-content: center; margin-top: 28px; }
.diagnosis-hero { background: radial-gradient(circle at 84% 28%,#c9fff2 0 90px,transparent 91px),radial-gradient(circle at 76% 80%,#ffe65c 0 70px,transparent 71px),linear-gradient(135deg,#fff0f7,#fff8df 65%,#e9faff); }
.diagnosis-form { display: grid; gap: 20px; }
.diagnosis-form fieldset { margin: 0; padding: 24px; background: #fff; border: 2px solid #f0c7d7; border-radius: 20px; }
.diagnosis-form legend { display: flex; align-items: center; gap: 10px; padding: 0 8px; color: #4d1b34; font-size: 20px; font-weight: 950; }
.diagnosis-form legend > span { display: grid; width: 38px; height: 38px; place-items: center; color: #fff; background: var(--friendly-pink); border-radius: 50%; }
.diagnosis-options { display: grid; gap: 11px; margin-top: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.diagnosis-options label { position: relative; min-width: 0; cursor: pointer; }
.diagnosis-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.diagnosis-options label > span { display: flex; min-height: 86px; padding: 15px; background: #fff9f2; border: 2px solid #ecd6df; border-radius: 13px; flex-direction: column; justify-content: center; }
.diagnosis-options input:checked + span { background: #fff0f6; border-color: var(--friendly-pink); box-shadow: inset 0 0 0 2px #fff; }
.diagnosis-options input:focus-visible + span { outline: 3px solid #286bda; outline-offset: 3px; }
.diagnosis-options b { color: #552039; font-size: 16px; }
.diagnosis-options small { margin-top: 3px; color: #76646d; font-size: 13px; }
.diagnosis-select { display: grid; gap: 7px; margin-top: 8px; font-weight: 900; }
.diagnosis-select select { min-height: 50px; padding: 9px 13px; background: #fff; border: 2px solid #dcbcc9; border-radius: 10px; font: inherit; }
.diagnosis-submit { padding: 23px; text-align: center; background: #fff3b5; border-radius: 18px; }
.diagnosis-submit p { margin-top: 0; }
.contact-title-break { display: none; }

/* Screenshot polish: keep brand and compact controls optically consistent. */
.site-footer__logo { display: inline-flex; min-height: 0; align-items: center; margin-bottom: 18px; padding: 8px 12px; background: #fff; border: 1px solid rgba(255,255,255,.72); border-radius: 15px; box-shadow: 0 6px 0 rgba(0,0,0,.12); }
.site-footer__brand .site-footer__logo img { width: 175px; height: auto; margin: 0; }
.site-nav .nav-favorite b { box-sizing: border-box; display: inline-flex; width: 22px; min-width: 22px; height: 22px; align-items: center; justify-content: center; margin-left: 4px; padding: 1px 0 0; border-radius: 50%; font-family: Arial, sans-serif; font-size: 11px; font-variant-numeric: tabular-nums; line-height: 1; text-align: center; }

@media (min-width: 761px) {
    .home-hero--friendly { min-height: 760px; padding-top: 32px; }
    .home-hero--friendly .home-hero__copy h1 { font-size: clamp(44px,5vw,68px); line-height: 1.05; }
    .home-hero--friendly .home-search-card { bottom: auto; margin-top: 0; }
}

@media (min-width: 761px) and (max-height: 920px) {
    .home-hero--friendly { padding-top: 16px; }
    .home-hero--friendly .home-kicker { margin-bottom: 10px; padding: 5px 12px 5px 7px; font-size: 14px; }
    .home-hero--friendly .home-hero__copy h1 { margin-bottom: 12px; font-size: clamp(44px,4.5vw,60px); line-height: 1.03; }
    .home-hero--friendly .home-hero__copy > p:not(.home-kicker) { margin-bottom: 10px; font-size: 16px; line-height: 1.6; }
    .home-hero--friendly .home-proof,
    .home-hero--friendly .home-hero__image-note { display: none; }
    .home-hero--friendly .home-hero__art-note { position: absolute; z-index: 3; top: 16px; right: max(16px,calc((100vw - 1240px) / 2)); display: inline-flex; min-height: 28px; align-items: center; padding: 4px 9px; color: #fff; background: rgba(57,16,41,.82); border-radius: 999px; font-size: 12px; font-weight: 900; }
}

@media (max-width: 1080px) {
    .region-grid,.type-visual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .need-grid--friendly { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .home-hero--friendly .search-panel { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .home-hero--friendly .search-panel__advanced { grid-column: 1/-1; }
    .home-hero--friendly .search-panel__submit { grid-column: 3; }
}

@media (min-width: 1081px) {
    .search-panel--compact,
    .home-hero--friendly .search-panel { grid-template-columns: minmax(240px,1.45fr) minmax(135px,.7fr) minmax(180px,.85fr) minmax(190px,.9fr); }
    .search-panel--compact .search-panel__advanced,
    .home-hero--friendly .search-panel__advanced { grid-column: 1/-1; grid-row: 2; }
    .search-panel--compact .search-panel__submit,
    .home-hero--friendly .search-panel__submit { grid-column: 4; grid-row: 1; }
}

@media (min-width: 621px) and (max-width: 1050px) {
    .jobs-search-strip .search-panel,.search-panel--compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .search-panel--compact .search-panel__field--keyword,.search-panel--compact .search-panel__advanced,.search-panel--compact .search-panel__submit { grid-column: 1/-1; }
}

@media (max-width: 760px) {
    .home-news__inner { gap: 10px; }
    .home-news__all { display: none; }
    .home-hero--friendly { min-height: 0; padding: 0 0 24px; background: #fff9ee; }
    .home-hero--friendly::after { display: none; }
    .home-hero__art { position: relative; display: block; height: 188px; }
    .home-hero__art img { object-position: 69% center; }
    .home-hero__art-note { position: absolute; z-index: 3; top: 147px; right: 14px; display: inline-flex; min-height: 28px; align-items: center; padding: 4px 9px; color: #fff; background: rgba(57,16,41,.82); border-radius: 999px; font-size: 12px; font-weight: 900; }
    .home-hero--friendly .home-hero__inner { margin-top: -22px; padding-top: 0; }
    .home-hero--friendly .home-hero__copy { padding: 17px 15px 11px; background: rgba(255,250,241,.97); border: 2px solid #f7aac5; border-radius: 19px; box-shadow: 0 7px 0 rgba(242,41,120,.12); }
    .home-hero--friendly .home-hero__copy h1 { margin-bottom: 14px; font-size: clamp(34px,9.8vw,42px); line-height: 1.06; }
    .home-hero--friendly .home-hero__copy > p:not(.home-kicker) { margin-bottom: 14px; font-size: 15px; line-height: 1.65; }
    .home-hero--friendly .home-proof { display: grid; gap: 6px; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .home-hero--friendly .home-proof li { display: flex; min-height: 52px; align-items: center; padding: 5px 5px 5px 21px; font-size: 14px; line-height: 1.35; }
    .home-hero--friendly .home-proof li::before { top: 50%; left: 7px; transform: translateY(-50%); }
    .home-hero__image-note { display: none; }
    .home-hero--friendly .home-search-card { position: relative; bottom: auto; margin-top: 12px; }
    .home-search-card__head { display: flex; width: 100%; min-width: 0; align-items: flex-start; flex-direction: column; gap: 2px; overflow: visible; }
    .home-search-card__head > div { width: 100%; min-width: 0; }
    .home-search-card__head h2 { display: block; width: 100%; max-width: 100%; overflow: visible; font-size: clamp(19px,5.35vw,21px); letter-spacing: -.04em; line-height: 1.35; overflow-wrap: anywhere; text-wrap: balance; white-space: normal; }
    .home-search-card__head p { align-self: flex-end; margin-top: -2px; }
    .home-hero--friendly .search-panel { display: grid; grid-template-columns: 1fr; }
    .home-hero--friendly .search-panel__advanced,.home-hero--friendly .search-panel__submit { grid-column: auto; }
    .home-region-section { padding-top: 46px; }
    .region-grid,.type-visual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .region-card > div { padding: 12px; }
    .region-card h3 { font-size: 18px; }
    .region-card p { min-height: 0; -webkit-line-clamp: 1; }
    .need-grid--friendly { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .beginner-hub { gap: 27px; grid-template-columns: 1fr; }
    .story-empty { grid-template-columns: 52px 1fr; }
    .story-empty > span { width: 50px; height: 50px; }
    .story-empty .button { grid-column: 1/-1; }
    .job-card__body,.jobs-results .job-card__body { padding: 18px; }
    .jobs-results .job-card__visual { height: auto; max-height: none; }
    .jobs-results .job-card__visual img { height: auto; aspect-ratio: 16/9; }
    .jobs-results .job-card__heading { grid-template-columns: minmax(0,1fr) 44px; }
    .detail-visual { margin-top: 13px; border-width: 3px; border-radius: 18px; }
    .detail-visual img { height: auto; aspect-ratio: 16/9; }
    .detail-visual figcaption { position: static; max-width: none; color: #6f5a65; background: #fff; border-radius: 0; }
    .detail-gallery__grid,.income-example-grid { grid-template-columns: 1fr; }
    .geography-hero { min-height: 0; padding-top: 168px; }
    .geography-hero > picture { height: 188px; }
    .geography-hero > picture::after { background: linear-gradient(0deg,#fff8f2 0%,rgba(255,248,242,0) 70%); }
    .geography-hero__body { padding-top: 18px; padding-bottom: 36px; }
    .geography-hero__body h1 { font-size: 36px; }
    .prefecture-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .diagnosis-options { grid-template-columns: 1fr; }
    .diagnosis-form fieldset { padding: 19px 15px; }
}

@media (max-width: 620px) {
    .page-hero--jobs { padding: 12px 0 15px; }
    .page-hero--jobs .breadcrumbs { display: none; }
    .page-hero--jobs .page-hero__hot { margin: 0 0 2px; }
    .page-hero--jobs h1 { margin: 3px 0 0; font-size: 30px; }
    .jobs-search-strip { padding-block: 8px; }
    .jobs-section { padding-top: 24px; }
    .search-panel--compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .search-panel--compact .search-panel__field--keyword,.search-panel--compact .search-panel__advanced,.search-panel--compact .search-panel__submit { grid-column: 1/-1; }
    .search-panel--compact .search-panel__field--region,.search-panel--compact .search-panel__field--prefecture { padding-inline: 10px; }
    .jobs-results .job-card__facts { grid-template-columns: 1fr; }
    .jobs-results .job-card__facts > div { display: grid; align-items: start; grid-template-columns: 92px minmax(0,1fr); }
    .jobs-results .job-card__facts > div + div { border-top: 1px solid #efd5de; border-left: 0; }
    .jobs-results .job-card__facts dd { margin: 0; }
    .page-contact .business-form-hero h1 { font-size: 30px; line-height: 1.25; }
    .page-contact .contact-title-break { display: initial; }
    .page-jobs .page-hero:not(.page-hero--jobs) { padding-block: 42px; }
    .page-jobs .page-hero:not(.page-hero--jobs) .breadcrumbs { margin-bottom: 22px; }
    .quick-links { display: flex; flex-wrap: nowrap; gap: 7px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
    .quick-links::-webkit-scrollbar { display: none; }
    .quick-links > span { width: auto; flex: 0 0 auto; }
    .quick-links a { display: inline-flex; min-height: 44px; align-items: center; flex: 0 0 auto; padding: 7px 12px; }
    .mobile-nav a { position: relative; }
    .mobile-nav a b { top: 2px; left: calc(50% + 5px); box-sizing: border-box; display: inline-flex; width: 18px; min-width: 18px; height: 18px; align-items: center; justify-content: center; margin: 0; padding: 1px 0 0; border-radius: 50%; font-family: Arial, sans-serif; font-size: 9px; font-variant-numeric: tabular-nums; line-height: 1; text-align: center; }
}

@media (max-width: 420px) {
    .home-news strong { display: none; }
    .home-hero__art { height: 180px; }
    .home-hero__art-note { top: 139px; }
    .home-hero--friendly .home-kicker { font-size: 14px; }
    .region-grid,.type-visual-grid { gap: 10px; }
    .region-card { border-radius: 15px; }
    .region-card h3 { display: block; margin: 0; }
    .region-card p { display: none; }
    .region-card a,.region-card__soon { font-size: 12px; }
    .type-visual-grid a > span { align-items: start; flex-direction: column; }
    .type-visual-grid strong { font-size: 14px; }
    .prefecture-link-grid { grid-template-columns: 1fr; }
}
