/* Clinic template only. The existing .container (900px) is intentionally untouched. */
.recruit-clinic-page { --rc-width:1160px; --rc-gold:#dfb16d; --rc-ink:#393936; --rc-paper:#f5f4f1; --rc-header-offset:100px; color:var(--rc-ink); font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif; }
.recruit-clinic-page *, .recruit-clinic-page *::before, .recruit-clinic-page *::after { box-sizing:border-box; }
.recruit-clinic-page .rc-container,
.recruit-clinic-page .hero-container,
.recruit-clinic-page .breadcrumb-container { width:calc(100% - 48px); max-width:var(--rc-width); margin-left:auto; margin-right:auto; padding-left:0; padding-right:0; }
.recruit-clinic-page .page-hero { padding:76px 0 80px; text-align:left; }
.recruit-clinic-page .page-hero_label { font-size:100px; letter-spacing:0; margin:0 0 22px !important; }
.recruit-clinic-page .page-hero_title { font-size:28px; font-weight:400; letter-spacing:.12em; }
.recruit-clinic-page .breadcrumb-container { margin-top:28px; margin-bottom:50px; font-family:sans-serif; font-size:14px; }
.recruit-clinic-page .rc-container { padding-bottom:110px; }
.recruit-clinic-page .rc-container p,
.recruit-clinic-page .rc-container h2,
.recruit-clinic-page .rc-container h3,
.recruit-clinic-page .rc-container dl,
.recruit-clinic-page .rc-container dd { margin:0; }
.recruit-clinic-page .rc-container h2::before,
.recruit-clinic-page .rc-container h3::before { content:none; }
.recruit-clinic-page a { color:inherit; }
.recruit-clinic-page .rc-container img { display:block; max-width:100%; }
.recruit-clinic-page .rc-selector { display:grid; grid-template-columns:30% 1fr; align-items:center; gap:24px; padding:20px 7%; background:var(--rc-paper); }
.recruit-clinic-page .rc-selector label { text-align:center; font-size:23px; }
.recruit-clinic-page .rc-select-wrap { position:relative; }
.recruit-clinic-page .rc-select-wrap::after { content:""; position:absolute; right:18px; top:17px; width:12px; height:12px; border-right:2px solid var(--rc-gold); border-bottom:2px solid var(--rc-gold); transform:rotate(45deg); pointer-events:none; }
.recruit-clinic-page .rc-selector select { width:100%; appearance:none; border:1px solid var(--rc-gold); border-radius:0; background:#fff; color:var(--rc-ink); font:inherit; font-size:20px; padding:10px 44px 10px 32px; line-height:1.5; cursor:pointer; }
.recruit-clinic-page .rc-map { margin:0 0 80px; }
.recruit-clinic-page .rc-map img { width:100%; height:auto; }
.recruit-clinic-page .rc-clinic { border-top:3px solid var(--rc-gold); padding:48px 0 50px; scroll-margin-top:var(--rc-header-offset); }
.recruit-clinic-page .rc-clinic:last-child { border-bottom:3px solid var(--rc-gold); }
.recruit-clinic-page .rc-clinic-grid { display:grid; grid-template-columns:1.16fr 1fr; grid-template-areas:"heading website" "reception details"; gap:42px; align-items:start; }
.recruit-clinic-page .rc-clinic-heading { grid-area:heading; align-self:end; }
.recruit-clinic-page .rc-eyebrow { color:var(--rc-gold); font-size:20px; line-height:1.5; }
.recruit-clinic-page .rc-clinic-heading h2 { color:var(--rc-ink); font-size:28px; font-weight:600; line-height:1.65; padding:0; border:0; margin-top:12px; }
.recruit-clinic-page .rc-website { grid-area:website; align-self:end; display:flex; align-items:center; gap:24px; padding-bottom:8px; text-decoration:none; font-size:18px; white-space:nowrap; }
.recruit-clinic-page .rc-website::before { content:""; height:1px; background:var(--rc-gold); flex:1; }
.recruit-clinic-page .rc-website span[aria-hidden] { margin-left:-18px; font-family:sans-serif; }
.recruit-clinic-page .rc-reception { grid-area:reception; }
.recruit-clinic-page .rc-reception img { width:100%; height:auto; aspect-ratio:1.47; object-fit:cover; border-radius:4px; }
.recruit-clinic-page .rc-details { grid-area:details; }
.recruit-clinic-page .rc-director { display:flex; gap:24px; align-items:flex-start; margin-bottom:16px; }
.recruit-clinic-page .rc-director img { width:39%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:4px; }
.recruit-clinic-page .rc-director-label { color:var(--rc-gold); font-size:24px; line-height:1.6; }
.recruit-clinic-page .rc-director-name { margin-top:10px !important; font-size:27px; line-height:1.6; }
.recruit-clinic-page .rc-info { display:grid; gap:12px; font-size:14px; line-height:1.8; }
.recruit-clinic-page .rc-info > div { display:grid; grid-template-columns:34% 1fr; gap:12px; background:var(--rc-paper); padding:8px 14px; }
.recruit-clinic-page .rc-info dt { display:flex; align-items:center; gap:12px; font-weight:400; }
.recruit-clinic-page .rc-info dt > span { color:var(--rc-gold); font-size:20px; }
.recruit-clinic-page .rc-info dd > span { display:block; }
.recruit-clinic-page .rc-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:50px 0 !important; }
.recruit-clinic-page .rc-stat { display:grid; grid-template-columns:64px 1fr; grid-template-rows:auto auto; align-items:center; column-gap:12px; padding:16px 12px; border:1px solid var(--rc-gold); border-radius:2px; }
.recruit-clinic-page .rc-stat-icon { width:64px; height:64px; grid-row:1 / 3; fill:none; stroke:currentColor; stroke-width:1.3; color:#7bbd31; }
.recruit-clinic-page .rc-stat--hygienist .rc-stat-icon { color:#ff679c; }
.recruit-clinic-page .rc-stat--assistant .rc-stat-icon { color:#ff8c24; }
.recruit-clinic-page .rc-stat--chair .rc-stat-icon { color:#eeb044; }
.recruit-clinic-page .rc-stat--microscope .rc-stat-icon { color:#90908b; }
.recruit-clinic-page .rc-stat dt { font-size:19px; font-weight:400; white-space:nowrap; }
.recruit-clinic-page .rc-stat dd { line-height:1; font-size:19px; white-space:nowrap; }
.recruit-clinic-page .rc-stat dd > span { font-family:Georgia,"Times New Roman",serif; font-size:58px; margin-right:3px; }
.recruit-clinic-page .rc-tour { display:grid; grid-template-columns:.8fr 1.2fr; gap:42px; align-items:center; padding:18px 8%; background:var(--rc-paper); }
.recruit-clinic-page .rc-tour-copy h3 { font-size:28px; font-weight:500; line-height:1.6; margin:16px 0 10px; padding:0; border:0; }
.recruit-clinic-page .rc-tour-copy > p:last-child { color:#777; font-size:16px; }
.recruit-clinic-page .rc-tour-media { display:block; position:relative; overflow:hidden; border-radius:8px; }
.recruit-clinic-page .rc-tour-media img { width:100%; height:auto; aspect-ratio:3 / 1; object-fit:cover; }
.recruit-clinic-page .rc-play { display:grid; place-items:center; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:70px; height:70px; padding-left:5px; border:1px solid #fff; border-radius:50%; background:#ffffff55; color:#fff; font:32px sans-serif; }
.recruit-clinic-page .rc-tour-pending { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); background:#fffE; padding:4px 12px; font-size:13px; white-space:nowrap; }
.recruit-clinic-page a:hover { opacity:.75; }
.recruit-clinic-page :focus-visible { outline:3px solid #8d713e; outline-offset:5px; }
.recruit-clinic-page .rc-clinic:focus { outline:none; }
.recruit-clinic-page .rc-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (min-width:769px) and (max-width:1150px) {
 .recruit-clinic-page .rc-clinic-grid { column-gap:26px; }
 .recruit-clinic-page .rc-stat { grid-template-columns:44px 1fr; gap:6px; padding:12px 8px; }
 .recruit-clinic-page .rc-stat-icon { width:44px; height:44px; }
 .recruit-clinic-page .rc-stat dt { font-size:15px; }
 .recruit-clinic-page .rc-stat dd > span { font-size:44px; }
 .recruit-clinic-page .rc-director-name { font-size:23px; }
 .recruit-clinic-page .rc-tour { padding:20px 5%; }
}
@media (max-width:768px) {
 .recruit-clinic-page .rc-container,
 .recruit-clinic-page .hero-container,
 .recruit-clinic-page .breadcrumb-container { width:calc(100% - 40px); }
 .recruit-clinic-page .page-hero { padding:55px 0 45px; }
 .recruit-clinic-page .page-hero_label { font-size:56px; margin-bottom:14px !important; }
 .recruit-clinic-page .page-hero_title { font-size:20px; }
 .recruit-clinic-page .breadcrumb-container { font-size:12px; margin-top:22px; margin-bottom:32px; }
 .recruit-clinic-page .rc-selector { grid-template-columns:1fr; gap:12px; padding:20px 16px; }
 .recruit-clinic-page .rc-selector label { font-size:18px; }
 .recruit-clinic-page .rc-selector select { font-size:16px; padding-left:12px; }
 .recruit-clinic-page .rc-map { margin-bottom:40px; }
 .recruit-clinic-page .rc-clinic { padding:30px 0 36px; }
 .recruit-clinic-page .rc-clinic-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"heading" "reception" "website" "details"; gap:24px; }
 .recruit-clinic-page .rc-eyebrow { font-size:16px; }
 .recruit-clinic-page .rc-clinic-heading h2 { font-size:23px; margin-top:8px; }
 .recruit-clinic-page .rc-website { justify-self:stretch; justify-content:flex-end; font-size:16px; padding:0; gap:18px; min-height:44px; }
 .recruit-clinic-page .rc-website::before { max-width:130px; }
 .recruit-clinic-page .rc-website span[aria-hidden] { margin-left:-12px; }
 .recruit-clinic-page .rc-director { gap:22px; margin-bottom:24px; }
 .recruit-clinic-page .rc-director img { width:40%; max-width:180px; }
 .recruit-clinic-page .rc-director-label { font-size:20px; }
 .recruit-clinic-page .rc-director-name { font-size:24px; }
 .recruit-clinic-page .rc-info { gap:10px; font-size:13px; }
 .recruit-clinic-page .rc-info > div { grid-template-columns:90px minmax(0,1fr); padding:10px; gap:10px; }
 .recruit-clinic-page .rc-info dt { gap:6px; }
 .recruit-clinic-page .rc-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:30px 0 !important; }
 .recruit-clinic-page .rc-stat { grid-template-columns:44px minmax(0,1fr); column-gap:8px; padding:14px 10px; }
 .recruit-clinic-page .rc-stat-icon { width:44px; height:44px; }
 .recruit-clinic-page .rc-stat dt { font-size:16px; }
 .recruit-clinic-page .rc-stat dd { font-size:16px; }
 .recruit-clinic-page .rc-stat dd > span { font-size:44px; }
 .recruit-clinic-page .rc-tour { grid-template-columns:1fr; gap:20px; padding:24px 18px; }
 .recruit-clinic-page .rc-tour-copy h3 { font-size:24px; margin-top:10px; }
 .recruit-clinic-page .rc-tour-copy > p:last-child { font-size:14px; }
 .recruit-clinic-page .rc-tour-media img { aspect-ratio:2.3; }
 .recruit-clinic-page .rc-play { width:56px; height:56px; font-size:26px; }
 .recruit-clinic-page .rc-container { padding-bottom:60px; }
}
@media (prefers-reduced-motion:reduce) { .recruit-clinic-page * { scroll-behavior:auto !important; } }
