/* Reference UI, composed per portal rather than a generic landing-page template. */
body[data-vertical="kaigo"] { --field:#2d842e; --field-bg:#f0f7ec; }
body[data-vertical="ryoiku"] { --field:#c52a67; --field-bg:#fff3f7; }
body[data-vertical="taxi"] { --field:#8e681f; --field-bg:#faf5e9; }
body[data-vertical="concept-cafe"] { --field:#d40958; --field-bg:#fff1f7; }
.platform-header { position:relative; z-index:20; width:100%; min-height:0; background:#fff; }
.platform-header-inner { width:min(1280px,calc(100% - 48px)); margin:auto; min-height:64px; display:flex; align-items:center; gap:24px; }
.platform-brand { display:flex; align-items:center; gap:16px; flex-shrink:0; color:#101929; text-decoration:none; }
.platform-brand:hover { text-decoration:none; }
.platform-brand strong { font-size:1.8rem; letter-spacing:-.065em; line-height:1; white-space:nowrap; }
.platform-brand em { color:var(--field); font-style:normal; }
.platform-brand > span { font-size:.74rem; font-weight:700; white-space:nowrap; }
.platform-navigation { display:flex; align-items:center; gap:20px; margin-left:auto; }
.platform-navigation a { font-size:.7rem; color:#17212b; font-weight:600; white-space:nowrap; min-height:44px; display:flex; align-items:center; }
.platform-account { display:flex; gap:8px; align-items:center; flex-shrink:0; }
.platform-account a { min-height:40px; display:flex; gap:6px; align-items:center; border:1px solid #e2e2e8; border-radius:999px; padding:8px 14px; font-size:.68rem; white-space:nowrap; color:#17212b; }
.ui-icon { width:22px; height:22px; flex-shrink:0; display:inline-block; vertical-align:middle; }
.platform-account .ui-icon { width:17px; height:17px; }
.platform-account .platform-register { background:var(--field); color:#fff; border-color:var(--field); padding-inline:20px; }
.platform-menu { display:none; }
main:has(> .reference-hero) { padding-top:0; }
.reference-hero.photo-hero { height:clamp(420px,35.8vw,530px); overflow:hidden; border-radius:0; }
.reference-hero .photo-hero-image { object-position:center 8%; }
.reference-hero .photo-hero-shade { background:linear-gradient(90deg,#fffffff5,#ffffffd9 27%,#ffffff58 43%,transparent 61%); }
.reference-hero .photo-hero-copy { width:min(1280px,calc(100% - 80px)); display:block; padding-top:42px; height:100%; }
.reference-hero .photo-hero-copy > * { max-width:50%; }
.reference-hero h1 { font-size:clamp(2rem,3.5vw,3.65rem); line-height:1.32; margin:0 0 14px; letter-spacing:-.035em; }
.reference-hero .photo-kicker { margin:0 0 14px; font-size:.76rem; letter-spacing:.035em; color:#26343a; font-weight:500; }
.reference-hero .photo-lead { font-size:.84rem; line-height:1.9; }
.reference-hero .photo-script { right:5%; top:36px; bottom:auto; font-size:1.65rem; font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif; max-width:29%; line-height:1.8; font-weight:500; text-align:center; text-shadow:0 1px 8px #0006; }
.hero-search-stack { position:absolute; z-index:4; left:max(40px,calc((100% - 1280px)/2)); bottom:28px; width:53%; max-width:690px; }
.search-mode-tabs.region-tablist { display:flex; padding:0; margin:0 0 -1px 12px; gap:0; overflow:visible; width:max-content; max-width:100%; background:#fff; border-radius:24px 24px 0 0; }
.search-mode-tabs.region-tablist button { font-size:.73rem; border:0; border-radius:0; background:transparent; flex:0 1 auto; padding:10px 16px; display:flex; gap:8px; align-items:center; min-height:40px; }
.search-mode-tabs.region-tablist button:first-child { border-radius:24px 0 0 0; }
.search-mode-tabs.region-tablist button:last-child { border-radius:0 24px 0 0; }
.search-mode-tabs .ui-icon { width:17px; height:17px; }
.search-mode-tabs.region-tablist button[aria-selected="true"] { background:#fff; color:var(--field); font-weight:700; box-shadow:inset 0 -2px var(--field); }
.hero-search-panel.region-panel { padding:0; }
.hero-search-form { display:flex; align-items:center; padding:9px 10px 9px 22px; gap:10px; border:1px solid #efedf1; border-radius:999px; background:#fff; box-shadow:0 3px 12px #26343a0a; }
.hero-search-form input { min-width:0; flex:1; width:0; border:0; outline-offset:0; box-shadow:none; background:#fff; min-height:40px; padding:0; font-size:.78rem; }
.hero-search-form > select { flex:0 1 150px; max-width:40%; border:0; border-right:1px solid #ddd; border-radius:0; background:white; padding:0 5px; font-size:.72rem; }
.hero-search-form > button { border:0; background:var(--field); color:#fff; border-radius:999px; min-height:44px; min-width:54px; display:flex; justify-content:center; align-items:center; gap:10px; padding:10px 20px; font:inherit; font-size:.75rem; cursor:pointer; }
.hero-search-form > button > span { display:none; }
.hero-popular { display:flex; gap:7px; margin-top:10px; flex-wrap:wrap; }
.hero-popular a { border-radius:999px; padding:4px 13px; border:1px solid #dddde3; background:#fffffff2; color:#273341; font-size:.63rem; min-height:28px; display:flex; align-items:center; }
.hero-inline-ai { position:absolute; z-index:4; right:max(28px,calc((100% - 1280px)/2)); bottom:28px; width:36%; max-width:490px; min-height:90px; display:flex; align-items:center; gap:18px; padding:10px 16px; border-radius:999px; background:linear-gradient(105deg,var(--field),color-mix(in srgb,var(--field) 84%,#111)); border:3px solid #ffffffdf; box-shadow:0 0 0 1px #fff8,0 4px 16px #0002; color:#fff; }
.hero-inline-ai:hover { color:#fff; text-decoration:none; filter:brightness(.95); }
.hero-inline-ai .match-orb { width:62px; height:62px; flex-basis:62px; font-size:1.8rem; }
.hero-inline-ai strong { display:block; font-size:1.3rem; }
.hero-inline-ai small { display:block; font-size:.74rem; }
.hero-inline-ai > b { display:grid; place-items:center; width:36px; height:36px; margin-left:auto; flex-shrink:0; border-radius:50%; background:#fff; color:var(--field); }
.hero-inline-ai > b .ui-icon { width:20px; height:20px; }
.reference-hero .photo-caption { bottom:5px; font-size:.5rem; padding:1px 5px; }
.reference-match.hero-match { padding:14px 0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #eee; gap:20px; }
.reference-match > span { font-size:.84rem; font-weight:600; color:#273341; }
.reference-match .hero-match-button { min-height:50px; padding:12px 26px; border-radius:999px; gap:16px; box-shadow:none; width:min(490px,48%); justify-content:center; }
.reference-match .hero-match-button strong { font-size:1.1rem; }
.reference-match .hero-match-button small { margin:0; font-size:.66rem; }
.reference-match .ui-icon { margin-left:auto; width:20px; height:20px; }
.platform-stats { display:grid; grid-template-columns:repeat(4,1fr); padding:22px 0; margin-bottom:10px; }
.platform-stats > div { display:flex; align-items:center; justify-content:center; gap:18px; border-right:1px solid #e4e4e8; }
.platform-stats > div:last-child { border:0; }
.platform-stats .ui-icon { width:34px; height:34px; color:var(--field); }
.platform-stats small { display:block; font-size:.65rem; color:#273341; }
.platform-stats strong { color:var(--field); font-family:Georgia,"Yu Mincho",serif; font-size:1.8rem; font-weight:500; }
.platform-stats b { font-weight:400; font-size:.7rem; margin-left:5px; }
.reference-categories.category-section { margin:12px 0 28px; }
.reference-categories .section-heading { margin-bottom:14px; }
.reference-categories .section-heading h2 { font-size:1.5rem; }
.text-link .ui-icon { width:18px; height:18px; margin-left:8px; }
.reference-categories .category-cards { grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.reference-categories .category-card { height:clamp(170px,17vw,220px); min-height:0; border-radius:8px; }
.card-scene { position:absolute; inset:0; background-image:var(--sheet); background-size:calc(var(--panels)*100%) 100%; background-position:var(--position) center; }
.reference-categories .category-card > span { left:16px; bottom:15px; right:34px; }
.reference-categories .category-card strong { font-size:1.06rem; line-height:1.45; }
.reference-categories .category-card small { display:block; font-size:.66rem; letter-spacing:0; line-height:1.6; margin-top:8px; }
.reference-categories .category-card > b { bottom:18px; width:30px; height:30px; }
.reference-categories .category-card b .ui-icon { width:17px; height:17px; }
.reference-ai-strip { padding:24px 26px; margin:28px 0; display:flex; gap:25px; align-items:center; background:linear-gradient(100deg,#e9f7fb,var(--field-bg),#fff9e9); border-radius:10px; }
.ai-strip-copy { flex:1.2; }
.ai-strip-copy h2 { font-size:1.45rem; line-height:1.5; margin:0 0 12px; }
.ai-strip-copy p { font-size:.74rem; line-height:1.8; margin:0; }
.reference-ai-strip ol { display:flex; flex:1.7; gap:20px; padding:0; list-style:none; text-align:center; margin:0; }
.reference-ai-strip li { position:relative; flex:1; }
.reference-ai-strip li:not(:last-child)::after { content:'›'; position:absolute; right:-16px; top:46px; font-size:1.4rem; color:#b3bbbd; }
.reference-ai-strip li > span { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 6px; background:#fff; border-radius:50%; color:var(--field); }
.reference-ai-strip li:nth-child(2) > span { color:#dc4473; }
.reference-ai-strip li:nth-child(3) > span { color:#259fd0; }
.reference-ai-strip li .ui-icon { width:30px; height:30px; }
.reference-ai-strip li > small { font-size:.57rem; color:var(--field); }
.reference-ai-strip li strong { display:block; font-size:.66rem; line-height:1.5; }
.reference-ai-strip > a { flex:0 0 180px; display:flex; gap:14px; align-items:center; font-size:.81rem; padding:15px 18px; }
.reference-topics { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:24px 0 36px; }
.topic-card { position:relative; height:260px; color:white; border-radius:14px; overflow:hidden; }
.topic-card::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 25%,#0009); }
.topic-card > span { position:absolute; z-index:1; left:24px; bottom:20px; right:48px; }
.topic-card > span > small { font-size:.57rem; color:#f4d87d; letter-spacing:.1em; }
.topic-card > span > strong { font-size:1.65rem; line-height:1.4; display:block; }
.topic-card > span > p { font-size:.73rem; line-height:1.8; margin:10px 0 0; }
.topic-card > b { position:absolute; z-index:1; right:18px; bottom:20px; background:white; color:#17212b; border-radius:50%; width:40px; height:40px; display:grid; place-items:center; }
.topic-card > b .ui-icon { width:20px; }
.topic-card:hover { color:#fff; text-decoration:none; }
.taxi-topics { grid-template-columns:1.75fr 1fr 1fr; gap:16px; }
.taxi-topics .topic-card { border-radius:10px; }
.taxi-topics .topic-card:first-child strong { font-family:"Yu Mincho",serif; font-size:2.1rem; }
.taxi-topics .topic-card:not(:first-child) strong { font-size:1.22rem; }
.reference-jobs { margin:30px 0 38px; }
.reference-jobs .section-heading { gap:24px; align-items:center; }
.reference-jobs h2 { font-size:1.5rem; flex-shrink:0; }
.job-filter-tabs { display:flex; gap:0; flex:1; overflow:auto; padding:4px 0; }
.job-filter-tabs a { border:1px solid #e4e4e9; padding:7px 16px; font-size:.63rem; min-height:34px; display:flex; align-items:center; justify-content:center; white-space:nowrap; }
.job-filter-tabs a:first-child { border-radius:999px 0 0 999px; }
.job-filter-tabs a:last-child { border-radius:0 999px 999px 0; }
.job-filter-tabs [aria-current] { background:var(--field); color:#fff; border-color:var(--field); }
.reference-jobs-empty { border:1px solid #eee; background:linear-gradient(110deg,#fff,var(--field-bg)); border-radius:12px; padding:24px; display:flex; align-items:center; gap:20px; }
.reference-jobs-empty > .ui-icon { width:44px; height:44px; color:var(--field); }
.reference-jobs-empty h3 { font-size:1.02rem; margin:0 0 7px; }
.reference-jobs-empty p { font-size:.78rem; color:#596773; margin:0; }
.reference-jobs-empty > a { margin-left:auto; font-size:.77rem; color:var(--field); }
.design-benefits { margin:44px 0; }
.design-benefits h2 { margin:12px 0 26px; font-size:1.6rem; }
.design-benefits h2 em { font-size:1.2em; }
.design-benefits > div { gap:18px; }
.design-benefits article { padding-inline:12px; }
.design-benefits h3 { font-size:.87rem; }
.design-benefits p { font-size:.7rem; }
.benefit-icon { background:transparent; margin-bottom:14px; width:48px; height:48px; font-size:2rem; }
.region-section { margin:34px 0; }
.reference-closing { display:grid; grid-template-columns:1.1fr 1fr; gap:24px; margin:40px 0; }
.reference-closing > div { position:relative; height:270px; border-radius:16px; overflow:hidden; }
.reference-closing img { width:100%; height:100%; object-fit:cover; object-position:right 30%; }
.reference-closing > div::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#fffffff0,transparent); }
.reference-closing > div > span { position:absolute; z-index:1; left:28px; top:24px; }
.reference-closing h2 { font-family:"Yu Mincho",serif; font-size:1.6rem; line-height:1.6; }
.reference-closing a { color:var(--field); font-size:.78rem; }
.reference-closing article { background:#fff; border:1px solid #eee; border-radius:16px; padding:24px 32px; }
.reference-closing article h2 { font-family:inherit; font-size:1.2rem; margin-top:10px; }
.reference-closing article a { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #eee; padding:10px 0; }
.therapy-quick-links { display:flex; padding:20px 0; margin:10px 0; gap:0; }
.therapy-quick-links > a { background:white; flex:1; border-right:1px solid #e5e5e9; display:flex; flex-direction:column; align-items:center; padding:12px; min-height:105px; color:#26343a; }
.therapy-quick-links > a:first-child { border-radius:16px 0 0 16px; }
.therapy-quick-links > a:nth-child(5) { border-radius:0 16px 16px 0; border:0; }
.therapy-quick-links .ui-icon { width:35px; height:35px; color:#3ba997; margin-bottom:10px; }
.therapy-quick-links > a:nth-child(2) .ui-icon { color:#ed9c60; }
.therapy-quick-links > a:nth-child(3) .ui-icon { color:#5bb8d7; }
.therapy-quick-links > a:nth-child(4) .ui-icon { color:#d85890; }
.therapy-quick-links > a:nth-child(5) .ui-icon { color:#d38b39; }
.therapy-quick-links strong { font-size:.85rem; }
.therapy-quick-links small { font-size:.7rem; }
.therapy-quick-links > span { flex:1.2; text-align:center; font-family:"Yu Mincho",serif; font-size:.87rem; align-self:center; line-height:2; }
body[data-vertical="ryoiku"] .reference-hero { height:clamp(490px,43vw,590px); border-bottom-right-radius:90px; }
body[data-vertical="ryoiku"] .reference-hero h1 { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(2rem,3.6vw,3.5rem); line-height:1.46; font-weight:500; }
body[data-vertical="ryoiku"] .reference-hero .photo-script { top:190px; font-family:Georgia,serif; font-size:2rem; }
body[data-vertical="ryoiku"] .hero-inline-ai { min-height:72px; max-width:400px; }
body[data-vertical="taxi"] .reference-hero .photo-hero-shade { background:linear-gradient(90deg,#030912d9,#030912a3 34%,transparent 64%); }
body[data-vertical="taxi"] .reference-hero h1 { color:white; font-family:"Yu Mincho",serif; font-weight:500; }
body[data-vertical="taxi"] .reference-hero h1 em { color:white; }
body[data-vertical="taxi"] .reference-hero .photo-kicker,body[data-vertical="taxi"] .reference-hero .photo-lead { color:white; }
body[data-vertical="taxi"] .hero-popular a { background:#07111fa3; border-color:#ffffff5e; color:white; }
body[data-vertical="taxi"] .reference-hero .photo-script { color:#e6c777; }
body[data-vertical="taxi"] .hero-inline-ai { border:2px solid #ffffffb0; }
.taxi-ai-strip { background:white; padding:0; align-items:stretch; gap:30px; border:1px solid #eee; overflow:hidden; }
.taxi-ai-strip > img { width:27%; object-fit:cover; }
.taxi-ai-strip .ai-strip-copy { padding-block:28px; flex:1; }
.taxi-ai-strip .ai-strip-copy h2 { font-family:"Yu Mincho",serif; font-size:1.4rem; }
.taxi-ai-strip ol { display:none; }
.taxi-ai-strip > a { margin:30px 20px 30px 0; align-self:center; }
body[data-vertical="concept-cafe"] .reference-hero h1 { font-family:"Yu Mincho",serif; font-size:clamp(2rem,3vw,3.3rem); line-height:1.35; }
body[data-vertical="concept-cafe"] .reference-hero .photo-kicker { color:var(--field); font-family:"Yu Mincho",serif; font-style:italic; font-size:1.3rem; }
body[data-vertical="concept-cafe"] .reference-ai-strip { background:linear-gradient(100deg,#fff1f7,#fff6fa); }
body[data-vertical="concept-cafe"] .reference-hero .photo-script { color:#862c50; text-shadow:none; }
body[data-vertical="concept-cafe"] .hero-search-form > button > span { display:inline; }
body[data-vertical="concept-cafe"] .hero-inline-ai { border-radius:24px; }
.upcoming-fields { display:flex; align-items:center; gap:20px; margin:36px 0 20px; padding:28px; background:#f4f7f5; border-radius:20px; }
.upcoming-fields > div { flex:1; }
.upcoming-fields h2 { font-size:1.1rem; }
.upcoming-fields article { display:flex; gap:14px; align-items:center; padding:18px; border:1px solid #dde4df; border-radius:14px; background:white; min-width:210px; }
.upcoming-fields .ui-icon { color:#5a7268; width:32px; height:32px; }
.upcoming-fields strong { display:block; font-size:.89rem; }
.upcoming-fields small { display:block; font-size:.7rem; color:#708077; }
@media(max-width:1150px) { .platform-navigation { gap:12px; } .platform-header-inner { gap:16px; } .platform-account > a:first-child { display:none; } .platform-brand > span { font-size:.63rem; } .platform-brand strong { font-size:1.5rem; } .reference-hero .photo-hero-copy { padding-top:32px; } .reference-hero h1 { font-size:2.5rem; } .hero-search-stack { width:55%; left:30px; } .hero-inline-ai { width:36%; gap:10px; right:20px; } .hero-inline-ai strong { font-size:1.03rem; } .hero-inline-ai small { font-size:.6rem; } .hero-inline-ai .match-orb { flex-basis:48px; width:48px; height:48px; font-size:1.5rem; } .reference-ai-strip { gap:16px; padding:20px; } .ai-strip-copy h2 { font-size:1.2rem; } .reference-ai-strip > a { flex-basis:145px; font-size:.7rem; } .reference-ai-strip ol { gap:15px; } .job-filter-tabs a { padding-inline:10px; } }
@media(max-width:900px) { .platform-navigation { display:none; } .platform-account { margin-left:auto; } .platform-menu { display:block; position:relative; } .platform-menu summary { cursor:pointer; font-size:.74rem; list-style:none; padding:10px; border:1px solid #ddd; border-radius:999px; } .platform-menu nav { position:absolute; top:48px; right:0; width:210px; padding:16px; background:#fff; border:1px solid #ddd; box-shadow:0 12px 28px #17212b22; border-radius:14px; display:grid; z-index:50; } .platform-menu a { padding:10px; font-size:.8rem; } .reference-hero .photo-hero-copy > * { max-width:59%; } .reference-hero h1 { font-size:2.1rem; } .hero-inline-ai { width:35%; min-height:76px; } .hero-inline-ai .match-orb { display:none; } .search-mode-tabs.region-tablist button { font-size:.65rem; padding:10px; } .reference-categories .category-card small { font-size:.56rem; } .reference-categories .category-card strong { font-size:.9rem; } .reference-ai-strip { flex-wrap:wrap; } .reference-ai-strip > a { flex-basis:100%; justify-content:center; } .reference-jobs .section-heading { flex-wrap:wrap; } .job-filter-tabs { order:3; flex-basis:100%; } }
@media(max-width:700px) {
 .platform-header-inner { width:calc(100% - 24px); min-height:58px; gap:10px; }
 .platform-brand { gap:0; display:block; }
 .platform-brand strong { font-size:1.25rem; }
 .platform-brand > span { display:block; margin-top:3px; font-size:.5rem; }
 .platform-account a:not(.platform-register) { display:none; }
 .platform-account .platform-register { font-size:.7rem; padding:8px 10px; min-height:44px; display:inline-flex; align-items:center; }
 .platform-menu summary { padding:8px 12px; font-size:.7rem; min-height:44px; display:inline-flex; align-items:center; }
 .reference-hero.photo-hero,body[data-vertical="ryoiku"] .reference-hero { height:490px; border-bottom-right-radius:28px; }
 .reference-hero .photo-hero-image { object-position:73% top; }
 .reference-hero .photo-hero-shade { background:linear-gradient(0deg,#fffffff8 4%,#ffffffef 30%,#ffffff9c 52%,transparent 76%); }
 .reference-hero .photo-hero-copy { width:calc(100% - 32px); padding:0; height:auto; top:220px; bottom:auto; display:block; }
 .reference-hero .photo-hero-copy > * { max-width:100%; }
 .reference-hero .photo-kicker { font-size:.56rem; margin-bottom:8px; }
 .reference-hero h1,body[data-vertical="ryoiku"] .reference-hero h1,body[data-vertical="concept-cafe"] .reference-hero h1 { font-size:1.6rem; line-height:1.35; margin-bottom:8px; }
 .reference-hero .photo-lead { font-size:.62rem; line-height:1.7; }
 .reference-hero .photo-script,.hero-inline-ai { display:none; }
 .hero-search-stack { left:16px; width:calc(100% - 32px); max-width:none; bottom:18px; }
 .search-mode-tabs.region-tablist { margin-left:6px; }
 .search-mode-tabs.region-tablist button { padding:7px 10px; font-size:.59rem; min-height:34px; gap:5px; }
 .search-mode-tabs .ui-icon { width:14px; height:14px; }
 .hero-search-form { padding:6px 7px 6px 13px; gap:8px; }
 .hero-search-form > .ui-icon { width:17px; height:17px; }
 .hero-search-form input { font-size:.63rem; min-height:34px; }
 .hero-search-form > button { min-width:40px; min-height:40px; padding:8px 12px; }
 .hero-search-form > button .ui-icon { width:18px; }
 .hero-search-form > button > span,body[data-vertical="concept-cafe"] .hero-search-form > button > span { display:none; }
 .hero-search-form > select { min-height:34px; font-size:.6rem; }
 .hero-popular { gap:5px; margin-top:7px; flex-wrap:nowrap; overflow:auto; padding-bottom:2px; }
 .hero-popular a { flex-shrink:0; font-size:.51rem; padding:4px 9px; min-height:24px; }
 .reference-match.hero-match { gap:0; padding:12px 0; }
 .reference-match > span { display:none; }
 .reference-match .hero-match-button { width:100%; min-height:54px; padding:13px 22px; }
 .reference-match .hero-match-button strong { font-size:1.05rem; }
 .platform-stats { padding:14px 0; grid-template-columns:repeat(2,1fr); gap:18px 0; margin:0; }
 .platform-stats > div { gap:10px; }
 .platform-stats > div:nth-child(2) { border:0; }
 .platform-stats .ui-icon { width:27px; height:27px; }
 .platform-stats small { font-size:.57rem; }
 .platform-stats strong { font-size:1.3rem; }
 .platform-stats b { font-size:.58rem; }
 .reference-categories.category-section { margin:18px 0 24px; }
 .reference-categories .section-heading h2 { font-size:1.15rem; }
 .reference-categories .category-cards { display:flex; gap:12px; }
 .reference-categories .category-card { height:196px; flex-basis:45%; }
 .reference-categories .category-card strong { font-size:.9rem; }
 .reference-categories .category-card small { font-size:.61rem; }
 .reference-ai-strip { padding:22px 18px; gap:20px; margin:26px 0; }
 .ai-strip-copy { flex-basis:100%; text-align:center; }
 .ai-strip-copy h2 { font-size:1.2rem; }
 .reference-ai-strip ol { flex-basis:100%; }
 .reference-ai-strip > a { border-radius:999px; min-height:52px; }
 .reference-topics,.taxi-topics { display:flex; overflow:auto; gap:14px; scroll-snap-type:x proximity; padding-bottom:12px; margin:20px 0 30px; }
 .topic-card { flex:0 0 76%; height:240px; scroll-snap-align:start; }
 .topic-card > span > strong,.taxi-topics .topic-card:first-child strong { font-size:1.7rem; }
 .reference-jobs .section-heading h2 { font-size:1.2rem; }
 .reference-jobs-empty { padding:20px; gap:12px; flex-wrap:wrap; }
 .reference-jobs-empty > .ui-icon { width:32px; height:32px; }
 .reference-jobs-empty > div { flex:1; }
 .reference-jobs-empty h3 { font-size:.84rem; }
 .reference-jobs-empty p { font-size:.66rem; }
 .reference-jobs-empty > a { margin:0 0 0 44px; font-size:.7rem; }
 .therapy-quick-links { padding:14px 0; flex-wrap:wrap; border-radius:14px; background:#fff; box-shadow:0 3px 22px #1521310b; margin:16px 0; }
 .therapy-quick-links > a { flex-basis:20%; min-height:82px; padding:8px 3px; }
 .therapy-quick-links strong { font-size:.66rem; }
 .therapy-quick-links small { font-size:.52rem; }
 .therapy-quick-links .ui-icon { width:25px; height:25px; }
 .therapy-quick-links > span { display:none; }
 body[data-vertical="taxi"] .reference-hero .photo-hero-shade { background:linear-gradient(0deg,#020712f8,#020712cc 43%,transparent 77%); }
 body[data-vertical="concept-cafe"] .reference-hero .photo-kicker { font-size:.75rem; }
 .taxi-ai-strip { display:block; padding:0; }
 .taxi-ai-strip > img { width:100%; height:160px; object-position:70% 30%; }
 .taxi-ai-strip .ai-strip-copy { padding:22px; }
 .taxi-ai-strip > a { margin:0 22px 22px; display:flex; }
 .reference-closing { grid-template-columns:1fr; gap:18px; }
 .reference-closing > div { height:240px; }
 .reference-closing article { padding:24px; }
 .reference-closing h2 { font-size:1.35rem; }
 .upcoming-fields { display:grid; grid-template-columns:1fr 1fr; padding:18px; gap:12px; }
 .upcoming-fields > div { grid-column:1/-1; }
 .upcoming-fields article { min-width:0; padding:14px 10px; gap:8px; }
 .upcoming-fields strong { font-size:.7rem; }
 .upcoming-fields .ui-icon { width:25px; height:25px; }
}
@media(max-width:700px) and (max-height:740px) { .reference-hero.photo-hero,body[data-vertical="ryoiku"] .reference-hero { height:450px; } .reference-hero .photo-hero-copy { top:180px; } }
@media(max-width:360px) { .reference-hero h1,body[data-vertical="ryoiku"] .reference-hero h1,body[data-vertical="concept-cafe"] .reference-hero h1 { font-size:1.4rem; } .search-mode-tabs.region-tablist button { font-size:.53rem; padding-inline:8px; } .reference-hero .photo-hero-copy { top:165px; } }
@media(prefers-reduced-motion:reduce) { .category-card img { transition:none; } }
/* CSP forbids inline style attributes, so the sprite sheet and panel are selected with data attributes */
.card-scene { background-size:calc(var(--panels,5)*100%) auto; background-position:var(--position,0%) 25%; background-repeat:no-repeat; }
.card-scene[data-sheet="kaigo"] { background-image:url(/photos/cards/kaigo.jpg); }
.card-scene[data-sheet="ryoiku"] { background-image:url(/photos/cards/ryoiku.jpg); }
.card-scene[data-sheet="taxi"] { background-image:url(/photos/cards/taxi.jpg); }
.card-scene[data-sheet="concept-cafe"] { background-image:url(/photos/cards/concept-cafe.jpg); }
.card-scene[data-n="5"] { --panels:5; }
.card-scene[data-n="3"] { --panels:3; }
.card-scene[data-n="5"][data-i="0"] { --position:0%; }
.card-scene[data-n="5"][data-i="1"] { --position:25%; }
.card-scene[data-n="5"][data-i="2"] { --position:50%; }
.card-scene[data-n="5"][data-i="3"] { --position:75%; }
.card-scene[data-n="5"][data-i="4"] { --position:100%; }
.card-scene[data-n="3"][data-i="0"] { --position:0%; }
.card-scene[data-n="3"][data-i="1"] { --position:50%; }
.card-scene[data-n="3"][data-i="2"] { --position:100%; }
.taxi-topics .topic-card:first-child .card-scene { background-position:0% 76%; }
.taxi-topics .topic-card:nth-child(3) .card-scene { background-position:100% 70%; }
.results-search { display:grid; grid-template-columns:1.3fr 1fr 1fr auto; gap:16px; align-items:end; padding:24px; border:1px solid #eee; border-radius:16px; background:#fff; }
.results-search label { display:grid; gap:8px; font-size:.8rem; }
.results-search input,.results-search select { width:100%; min-width:0; padding:10px 14px; }
.results-count { margin:28px 0; font-size:.9rem; }
.results-count strong { color:var(--field); font-size:1.5rem; }
@media(max-width:700px) { .results-search { grid-template-columns:1fr; padding:20px; } }

/* ---- Featured jobs: one compact card style for every portal (reference: 4-up cards, photo on top) ---- */
.reference-jobs .card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:18px 0 0; }
.reference-jobs .job-card, .reference-jobs .job-row { position:relative; display:flex; flex-direction:column; margin:0; padding:0; overflow:hidden; background:#fff; border:1px solid #e6ebea; border-radius:12px; box-shadow:0 1px 2px rgb(20 40 50 / 4%); transition:transform .25s ease, box-shadow .25s ease; }
.reference-jobs .job-card:hover, .reference-jobs .job-row:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgb(20 40 50 / 12%); }
.reference-jobs .job-card-photo, .reference-jobs .job-thumb { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; margin:0; border-radius:0; }
.reference-jobs .job-card-photo img { width:100%; height:100%; object-fit:cover; }
.reference-jobs .job-card-body, .reference-jobs .job-row-top { padding:12px 14px 4px; display:flex; flex-direction:column; gap:4px; }
.reference-jobs .job-row-top { gap:6px; }
.reference-jobs .job-card h3, .reference-jobs .job-row h3 { font-size:.82rem; line-height:1.5; margin:0; letter-spacing:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.reference-jobs .job-card h3 a, .reference-jobs .job-row h3 a { text-decoration:none; color:var(--ink); }
.reference-jobs .job-card h3 a::after, .reference-jobs .job-row h3 a::after { content:""; position:absolute; inset:0; }
.reference-jobs .job-card-area, .reference-jobs .job-card-employer, .reference-jobs .job-employer, .reference-jobs .job-location { font-size:.66rem; color:#6a7782; margin:0; line-height:1.5; }
.reference-jobs .job-card-pay, .reference-jobs .job-salary { font-size:.86rem; font-weight:700; color:var(--field); margin:2px 0 0; }
.reference-jobs .job-card-body { padding-bottom:14px; }
.reference-jobs .job-meta { display:flex; flex-wrap:wrap; gap:5px; padding:4px 14px 14px; margin:0; }
.reference-jobs .job-meta > * { font-size:.6rem; padding:3px 8px; border:1px solid #dfe6e5; border-radius:4px; background:#fafcfb; color:#52606a; }
.reference-jobs .job-row > a:last-child, .reference-jobs .job-row .text-link { display:none; }
.reference-jobs .data-label { position:absolute; top:8px; left:8px; z-index:2; background:rgb(255 255 255 / 92%); color:#8a5a00; font-size:.58rem; font-weight:700; padding:3px 8px; border-radius:999px; }
.reference-jobs .sample-badge { position:absolute; top:8px; left:8px; z-index:2; font-size:.58rem; }
.job-filter-tabs a { text-decoration:none; color:var(--ink); background:#fff; }
.job-filter-tabs [aria-current] { color:#fff; }
.text-link { text-decoration:none; }
@media(max-width:1000px) { .reference-jobs .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .reference-jobs .card-grid { gap:10px; } .reference-jobs .job-card-body, .reference-jobs .job-row-top { padding:10px 10px 4px; } .reference-jobs .job-meta { padding:4px 10px 12px; } }

/* ---- Legibility floor: nothing in the reference-style sections below ~11.5px ---- */
.platform-stats small, .therapy-quick-links small { font-size:.74rem; }
.platform-stats b { font-size:.78rem; }
.reference-categories .category-card small, .topic-card p, .topic-card small { font-size:.76rem; }
.job-filter-tabs a { font-size:.74rem; }
.reference-jobs .job-card-area, .reference-jobs .job-card-employer, .reference-jobs .job-employer, .reference-jobs .job-location { font-size:.74rem; }
.reference-jobs .job-card h3, .reference-jobs .job-row h3 { font-size:.9rem; }
.reference-jobs .job-meta > * { font-size:.68rem; }
.reference-jobs .data-label, .reference-jobs .sample-badge { font-size:.66rem; }
.reference-ai-strip li small { font-size:.7rem; }
.hero-search-stack a { font-size:.74rem; }
html .platform-header a,.care-page .hero-inline-ai,.care-page .reference-ai-strip a,.care-page .job-filter-tabs a,.care-page .hero-popular a { text-decoration:none; }
.care-page .hero-search-form input,html[data-ui="2"] .care-page .hero-search-form input { border:0; box-shadow:none; padding:0; background:#fff; }
.care-page .hero-search-form select,html[data-ui="2"] .care-page .hero-search-form select { border:0; border-right:1px solid #eee; border-radius:0; background:#fff; }
body[data-vertical="taxi"] .reference-hero .photo-hero-image { object-position:center 70%; }

/* ---- Phone hero: headline (up to 3 lines) + lead must clear the search stack ---- */
@media(max-width:700px) {
  .reference-hero.photo-hero, body[data-vertical="ryoiku"] .reference-hero { height:590px; }
  .reference-hero .photo-hero-copy, .reference-hero .photo-hero-copy { top:150px; }
  .reference-hero .photo-hero-image { object-position:62% 18%; }
  .reference-hero .photo-lead { font-size:.74rem; }
  .reference-hero .photo-kicker { font-size:.74rem; }
}
@media(max-width:700px) and (max-height:740px) { .reference-hero.photo-hero, body[data-vertical="ryoiku"] .reference-hero { height:580px; } .reference-hero .photo-hero-copy { top:140px; } }
@media(max-width:700px) {
  .reference-hero.photo-hero, body[data-vertical="ryoiku"] .reference-hero { height:640px; }
  .reference-hero .photo-hero-copy { top:268px; }
  .reference-hero .photo-hero-image { object-position:60% 0%; }
  .reference-hero .photo-hero-shade { background:linear-gradient(0deg,rgb(255 255 255 / 96%) 0,rgb(255 255 255 / 88%) 44%,transparent 66%); }
  body[data-vertical="taxi"] .reference-hero .photo-hero-shade { background:linear-gradient(0deg,#020712 0,#020712ee 46%,transparent 68%); }
  body[data-vertical="concept-cafe"] .reference-hero .photo-hero-shade { background:linear-gradient(0deg,rgb(255 247 250 / 97%) 0,rgb(255 247 250 / 90%) 46%,transparent 68%); }
}
@media(max-width:700px) and (max-height:740px) { .reference-hero.photo-hero, body[data-vertical="ryoiku"] .reference-hero { height:640px; } .reference-hero .photo-hero-copy { top:268px; } }

/* Every control that still reads the legacy red tokens follows the portal colour instead */
body[data-vertical] { --brand:var(--field); --ai:var(--field); --accent:var(--field); --accent-dark:color-mix(in srgb,var(--field) 82%,#000); }
body[data-vertical] .primary, body[data-vertical] .button-primary { background:var(--field); border-color:var(--field); }
body[data-vertical] .primary:hover, body[data-vertical] .button-primary:hover { background:var(--accent-dark); border-color:var(--accent-dark); }
body[data-vertical] .progress-track > *, html[data-ui="2"] body[data-vertical] .progress-track > * { background:var(--field); }
body[data-vertical] .ai-option:has(input:checked), body[data-vertical] .choice-row:has(input:checked) { border-color:var(--field); background:var(--field-bg); }
body[data-vertical] input, body[data-vertical] select, body[data-vertical] textarea { accent-color:var(--field); }
body[data-vertical] .ai-top { background:var(--field); }
body[data-vertical] .ai-top:hover { background:var(--accent-dark); }
body[data-vertical="nursery"] {--field:#b94e49;--field-bg:#fff2ec}
body[data-vertical="hospitality"] {--field:#843945;--field-bg:#fbf0ee}
body[data-vertical="construction"] {--field:#a84d17;--field-bg:#fff4e9}
.new-preview-label {display:inline-block;font-size:.6rem;letter-spacing:.13em;color:var(--field);border:1px solid currentColor;border-radius:20px;padding:4px 12px;margin-bottom:10px}
.new-header-state {margin-left:auto;color:var(--field);background:var(--field-bg);border-radius:30px;padding:10px 18px;font-size:.7rem;text-decoration:none}
.new-role-section {margin:34px 0}.new-role-grid {display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.new-role-grid article {border:1px solid #e7e6e5;padding:24px 16px;border-radius:16px;background:linear-gradient(145deg,#fff,var(--field-bg));position:relative}.new-role-grid .ui-icon {width:36px;height:36px;color:var(--field);margin-bottom:15px}.new-role-grid small {float:right;color:var(--field);font:italic 22px Georgia}.new-role-grid h3 {font-size:1rem;margin:0 0 12px}.new-role-grid p {font-size:.7rem;line-height:1.9;color:#5c6066;margin:0}
.new-editorial {display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:22px;background:var(--field-bg);margin:40px 0}.new-editorial img {width:100%;height:370px;object-fit:cover;object-position:70% center}.new-editorial>div {padding:36px}.new-editorial h2 {font:600 1.8rem/1.6 "Yu Mincho",serif}.new-editorial p {font-size:.85rem;line-height:2}.new-editorial ul {list-style:none;padding:0;display:grid;gap:14px;font-size:.85rem}.new-editorial li {display:flex;align-items:center;gap:10px}.new-editorial .ui-icon {color:var(--field)}
.new-preparing {display:flex;align-items:center;gap:24px;padding:28px;border-radius:20px;background:var(--field-bg);margin:32px 0}.new-preparing h2 {font-size:1.2rem}.new-preparing p {font-size:.8rem}.new-preparing a {margin-left:auto;white-space:nowrap;color:var(--field);font-size:.8rem}.new-preparing .match-orb {flex-shrink:0}
.new-fields-gateway {margin:40px 0 20px}.new-fields-gateway>div:last-child {display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.new-fields-gateway a {display:flex;align-items:center;gap:18px;padding:24px;background:white;border:1px solid #e5e5e8;border-radius:16px;color:#17212b;text-decoration:none;box-shadow:0 5px 20px #17212b08}.new-fields-gateway a>.ui-icon:first-child {width:38px;height:38px;color:var(--new-color)}.new-fields-gateway a>.ui-icon:last-child {margin-left:auto}.new-fields-gateway strong,.new-fields-gateway small {display:block}.new-fields-gateway small {font-size:.75rem;color:#616572;margin-top:6px}.new-fields-gateway a:hover {border-color:var(--new-color);transform:translateY(-2px)}
@media(max-width:700px){.new-role-grid {grid-template-columns:repeat(2,1fr)}.new-role-grid article:last-child {grid-column:1/-1}.new-editorial {grid-template-columns:1fr}.new-editorial img {height:230px}.new-editorial>div {padding:24px}.new-editorial h2 {font-size:1.4rem}.new-preparing {flex-wrap:wrap;padding:24px}.new-preparing .match-orb {display:none}.new-preparing a {margin:0}.new-fields-gateway>div:last-child {grid-template-columns:1fr}.new-header-state {padding:8px 12px;font-size:.65rem}.new-preview-label {margin-bottom:6px}.new-fields-gateway .section-heading {display:block}}
@media(max-height:600px) and (max-width:700px){.reference-hero.photo-hero {height:410px}.reference-hero .photo-hero-copy {padding-top:0;top:145px}.reference-hero h1 {font-size:1.5rem}.reference-hero .photo-kicker {margin-bottom:5px}.new-preview-label {display:none}}
@media(min-width:701px){body:is([data-vertical="nursery"],[data-vertical="hospitality"],[data-vertical="construction"]) .reference-hero .photo-hero-copy {padding-top:22px}}
body:is([data-vertical="nursery"],[data-vertical="hospitality"],[data-vertical="construction"]) .hero-search-form button:disabled {background:var(--field);color:white;border:0;border-radius:999px;opacity:.65;min-width:54px;min-height:44px;padding:10px 16px}
body[data-vertical="hospitality"] .reference-hero h1 {font-family:"Yu Mincho","Hiragino Mincho ProN",serif}
@media(max-height:600px) and (max-width:700px){.reference-hero .photo-hero-copy {top:110px}.reference-hero h1 {font-size:1.35rem;line-height:1.3}.reference-hero .photo-lead {font-size:.72rem;line-height:1.6}}
@media(max-height:600px) and (max-width:700px){body[data-vertical="ryoiku"] .reference-hero {height:410px}body[data-vertical="ryoiku"] .reference-hero .photo-hero-copy {top:95px}body[data-vertical="ryoiku"] .reference-hero h1 {font-size:1.25rem;line-height:1.25}}
@media(min-height:601px) and (max-height:740px) and (max-width:700px){.reference-hero.photo-hero,body[data-vertical="ryoiku"] .reference-hero {height:490px}.reference-hero .photo-hero-copy {top:165px}.reference-hero h1,body[data-vertical="ryoiku"] .reference-hero h1,body[data-vertical="concept-cafe"] .reference-hero h1 {font-size:1.5rem}.new-preview-label {display:none}}
@media(min-height:601px) and (max-height:740px) and (max-width:700px){body[data-vertical="ryoiku"] .reference-hero .photo-hero-copy {top:150px}}
.coming-soon-fields {margin:60px 0 28px}.coming-soon-fields .section-heading {align-items:end;margin-bottom:26px}.coming-soon-fields .section-heading>p {max-width:330px;color:#61706b;font-size:.84rem;line-height:1.9}.coming-soon-grid {display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.coming-soon-card {grid-column:span 2;border:1px solid #e0e8e4;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 8px 30px #17212b06}.coming-soon-card:nth-last-child(-n+2) {grid-column:span 3}.coming-soon-photo {position:relative;overflow:hidden}.coming-soon-photo img {width:100%;height:245px;object-fit:cover;object-position:75% 0%;display:block}.coming-soon-photo>span {position:absolute;left:18px;top:18px;border:1px solid #ffffffb3;background:#ffffffed;color:#435d50;font-size:.65rem;font-weight:700;letter-spacing:.16em;padding:8px 12px;border-radius:999px;backdrop-filter:blur(10px)}.coming-soon-copy {display:flex;flex-wrap:wrap;align-items:start;gap:14px;padding:24px}.coming-soon-copy>.ui-icon {color:#50705b;width:28px;height:28px;margin-top:3px}.coming-soon-copy>div {flex:1}.coming-soon-copy h3 {margin:0 0 8px;font-size:1.1rem;line-height:1.4}.coming-soon-copy p {font-size:.75rem;line-height:1.8;color:#5d6963;margin:0 0 12px}.coming-soon-copy small {font-size:.65rem;color:#566860;letter-spacing:.05em}.coming-soon-copy a {flex:0 0 100%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e4eae6;padding-top:14px;color:#37674e;font-size:.72rem;text-decoration:none}.coming-soon-copy a .ui-icon {width:18px;height:18px}.coming-soon-copy a:hover {text-decoration:underline}
@media(max-width:1000px){.coming-soon-grid {grid-template-columns:repeat(2,1fr);gap:18px}.coming-soon-card,.coming-soon-card:nth-last-child(-n+2) {grid-column:auto}.coming-soon-card:last-child {grid-column:1/-1}}
@media(max-width:600px){.coming-soon-grid {grid-template-columns:1fr}.coming-soon-card:last-child {grid-column:auto}.coming-soon-photo img {height:auto;aspect-ratio:16/10}.coming-soon-copy {padding:20px}.coming-soon-fields {margin-top:40px}.coming-soon-fields .section-heading {display:block}.coming-soon-fields .section-heading h2 {font-size:1.5rem}}
.global-gateway {width:min(1280px,calc(100% - 64px));margin:60px auto}.global-field-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.global-field-card {display:block;overflow:hidden;border:1px solid #dfe7e2;border-radius:20px;background:#fff;color:#17212f;text-decoration:none;box-shadow:0 8px 24px #182f2207}.global-field-card>div {position:relative}.global-field-card img {width:100%;height:240px;display:block;object-fit:cover;object-position:75% top}.global-field-card>div>span {position:absolute;left:16px;top:16px;background:#fffffff0;padding:7px 12px;border-radius:20px;font-size:.58rem;letter-spacing:.12em;color:#365344}.global-field-card article {padding:22px}.global-field-card article>.ui-icon {color:#326944;float:left;margin-right:12px}.global-field-card h3 {font-size:1.1rem;margin:0 0 14px}.global-field-card p {font-size:.74rem;line-height:1.9;min-height:4em;color:#58675e}.global-field-card small {display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e6ece8;padding-top:14px;color:#326944}.global-field-card:hover {border-color:#6a9177}.global-field-card small .ui-icon {width:18px;height:18px}.global-gateway-actions {display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 0 10px}.global-gateway-actions a {color:#326944;font-size:.8rem}.global-caption {font-size:.65rem;color:#68756d}.global-page {--field:#326944;padding-bottom:40px}.global-page .global-gateway {width:100%;margin:40px 0}.global-page .primary {background:#326944;color:white}.global-language {display:flex;justify-content:flex-end;gap:20px;padding:15px 0;font-size:.8rem}.global-hero {display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#f3f7f4;border-radius:24px;overflow:hidden;margin:20px 0 36px}.global-hero>div {padding:40px}.global-hero h1 {font-size:clamp(1.7rem,2.6vw,2.9rem);line-height:1.5;margin:14px 0}.global-hero em {font-style:normal;color:#326944}.global-hero p {font-size:.9rem;line-height:2}.global-hero img {width:100%;height:440px;object-fit:cover;object-position:75% top}.global-check-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0}.global-check-grid article {padding:28px;border:1px solid #e1e8e3;border-radius:18px}.global-check-grid small {font:italic 28px Georgia;color:#326944}.global-check-grid h2 {font-size:1.15rem}.global-check-grid p,.global-residence p {font-size:.85rem;line-height:2}.global-preparing {margin:32px 0;padding:28px;background:#f3f7f4;border-radius:18px;border-left:3px solid #6a9277}.global-preparing h2 {font-size:1.15rem}.global-preparing p {font-size:.8rem;line-height:1.95}.global-preparing small {font-size:.7rem}.global-source-list {padding:24px 0;display:grid;gap:14px}.global-source-list h2 {font-size:1.1rem}.global-source-list a {color:#326944;font-size:.82rem}.global-source-list small {color:#657368;font-size:.7rem}.global-status {display:inline-block;font-size:.75rem;color:#326944;background:#fff;padding:10px 18px;border-radius:24px}.global-inline-fields {display:flex;flex-wrap:wrap;gap:16px}.global-inline-fields a {border:1px solid #d5e3d9;border-radius:12px;padding:12px;color:#326944;font-size:.8rem}.global-residence .region-panel {padding:24px;background:#f9fbf9;border-radius:18px}.global-gateway .section-heading>p {max-width:360px;font-size:.85rem;line-height:1.9;color:#56675c}
@media(max-width:800px){.global-field-grid,.global-check-grid {grid-template-columns:1fr}.global-gateway {width:calc(100% - 32px);margin:40px auto}.global-gateway .section-heading {display:block}.global-gateway .section-heading h2 {font-size:1.5rem}.global-field-card img {height:auto;aspect-ratio:16/10}.global-field-card p {min-height:0}.global-hero {grid-template-columns:1fr}.global-hero>div {padding:24px}.global-hero img {height:280px}.global-preparing {padding:22px}.global-gateway-actions {display:grid;gap:18px}}

.listing-priority{display:inline-block;font-size:12px;color:#5a512b;background:#faf6e6;border:1px solid #e6dcae;border-radius:5px;padding:3px 7px;margin-bottom:8px}

/* ---- Operator page, tokushoho, contact: same tokens as the rest of the site ---- */
.company-page { max-width:820px; margin:0 auto; padding:8px 0 72px; }
.company-page .page-head h1 { font-size:clamp(1.8rem,3.4vw,2.5rem); }
.company-section { margin:48px 0 0; }
.company-section h2 { font-size:1.35rem; margin:0 0 16px; }
.company-section p, .company-page > p { color:#46566a; font-size:1.02rem; }
.company-dl { margin:0; background:#fff; border:1px solid #e3e9ef; border-radius:16px; box-shadow:0 1px 2px rgb(20 36 58 / 5%),0 8px 24px rgb(20 36 58 / 6%); overflow:hidden; }
.company-dl > div { display:grid; grid-template-columns:200px 1fr; gap:16px; padding:20px 26px; border-top:1px solid #e3e9ef; }
.company-dl > div:first-child { border-top:0; }
.company-dl dt { font-weight:800; color:var(--ink); }
.company-dl dd { margin:0; color:var(--ink); overflow-wrap:anywhere; }
.company-note { display:block; margin-top:4px; font-size:.85rem; color:#5c6b7d; }
.company-pending { color:#66758a; }
.company-list { margin:0; padding-left:1.2em; }
.company-links { padding-left:1.2em; }
.company-banner { background:var(--field-bg,#f1f8ef); border:1px solid #d8e6da; border-radius:12px; padding:16px 20px; margin:0 0 24px; color:var(--ink); }
.company-banner.is-error { background:#fff3f2; border-color:#f0c9c6; }
.contact-form { display:grid; gap:20px; margin-top:24px; }
.contact-field { display:grid; gap:6px; }
.contact-field label { font-weight:700; }
.contact-field small { color:#5c6b7d; }
.contact-field input, .contact-field select, .contact-field textarea { width:100%; padding:13px 14px; border:1px solid #81909c; border-radius:12px; font:inherit; background:#fff; }
.contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-form .primary { justify-self:start; min-height:52px; padding:0 32px; border-radius:999px; border:0; cursor:pointer; font-weight:800; }
.footer-operator { margin:6px 0 0; font-weight:700; }
.footer-copy { display:block; margin-top:6px; }
@media(max-width:640px) { .company-dl > div { grid-template-columns:1fr; gap:4px; padding:16px 18px; } }

/* Footer: fields in preparation + clearly clickable info links */
.footer-title { margin:20px 0 8px; font-weight:800; color:#fff; }
.footer-soon ul { list-style:none; margin:0 0 8px; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 28px; }
.footer-soon li { display:grid; gap:2px; }
.footer-soon li > a, .footer-soon li > span { font-weight:700; color:#fff; }
.footer-soon li > a { text-decoration:underline; text-underline-offset:3px; }
.footer-soon small { color:rgb(255 255 255 / 72%); font-size:.86rem; line-height:1.6; }
.site-footer a { text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgb(255 255 255 / 40%); }
.site-footer a:hover { text-decoration-color:#fff; }
@media(max-width:900px) { .footer-soon ul { grid-template-columns:1fr 1fr; } }
@media(max-width:560px) { .footer-soon ul { grid-template-columns:1fr; } }

/* Legal documents, required-items block, report link */
.legal-doc { max-width:820px; margin:0 auto; padding:8px 0 72px; line-height:1.9; color:#2a3646; }
.legal-meta { color:#5b6b7e; font-size:.95rem; }
.legal-toc { background:#f5f8fb; border:1px solid #e3e9ef; border-radius:14px; padding:12px 20px; margin:16px 0 28px; }
.legal-toc ol { margin:0; padding-left:1.4em; columns:2; column-gap:32px; }
.legal-toc a { color:inherit; }
.legal-section { margin:34px 0; scroll-margin-top:84px; }
.legal-section h2 { font-size:1.3rem; margin:0 0 10px; }
.legal-section p, .legal-section li { font-size:1.02rem; }
.legal-section li { margin:4px 0; }
.legal-callout { border-left:5px solid #c2410c; background:#fff7ed; padding:12px 16px; border-radius:8px; font-weight:700; }
.legal-table-wrap { overflow-x:auto; margin:12px 0; }
.legal-table { border-collapse:collapse; width:100%; min-width:520px; font-size:.97rem; }
.legal-table th, .legal-table td { border:1px solid #d9e1ea; padding:8px 10px; text-align:left; vertical-align:top; }
.legal-table thead th { background:#f1f5f9; }
.required-items { margin:24px 0; padding:16px 20px; border:1px solid #d9e1ea; border-radius:14px; background:#fff; }
.required-items dl { display:grid; grid-template-columns:max-content 1fr; gap:6px 18px; margin:8px 0; }
.required-items dt { font-weight:700; }
.required-items dd { margin:0; }
.report-link { margin-top:8px; font-size:.95rem; }
@media (max-width:640px){ .legal-toc ol { columns:1; } .required-items dl { grid-template-columns:1fr; } }

/* Audience channels shared pieces (65+ / foreign applicants): card badges and the block on every job detail page. */
.au-badges,.au-detail{--au-ink:#14243a;--au-muted:#44556a;--au-accent:#2f6b4f;--au-line:#d3e0d6;--au-soft:#f5f8f5}
.au-detail--foreign{--au-accent:#24509a;--au-line:#d5dfec;--au-soft:#f4f7fb}
/* badges: shared by every job card */
.au-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px;padding:0}
.au-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:750;line-height:1.5;border:1px solid}
.au-badge--senior{background:#eef4ef;border-color:#b9d3c1;color:#25573f}
.au-badge--foreign{background:#edf2f9;border-color:#bccce6;color:#1b3f7c}
/* job detail block (lives inside the ordinary job page) */
.au-detail{margin:28px 0;padding:24px 26px;border:1px solid var(--au-line);border-radius:20px;background:var(--au-soft);color:var(--au-ink)}
.au-detail h2{font-size:20px;margin:0 0 8px}
.au-detail p{margin:6px 0}
.au-detail .au-law{margin:12px 0}
.au-detail dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:12px 0 0}
.au-detail dt{font-weight:700;color:var(--au-muted);background:none;border:0;padding:0;margin:0}
.au-detail dd{margin:0;background:none;border:0;padding:0}
@media(max-width:640px){.au-detail dl{grid-template-columns:1fr;gap:2px}.au-detail dd{margin-bottom:10px}}
.listing-priority.listing-showcase{color:#3d4a59;background:#eef2f6;border-color:#c9d3de}
