/* Shared finish for the eight approved service pages only. */
body.detail-page-shell,body.detail-page-shell #main,
body.detail-page-shell #main :is(h1,h2,h3,h4,p,li,summary,a,span,strong,button){font-family:Arial,'Noto Sans JP Variable',sans-serif}
body.detail-page-shell{background:#f1f2f3;color:#17394f}
body.detail-page-shell .detail-shell-header,body.detail-page-shell .detail-shell-header.is-scrolled{background:#fffffffa;box-shadow:0 1px 0 #d8e5ed,0 8px 24px #143c5307}
body.detail-page-shell .detail-shell-header .detail-shell-brand,body.detail-page-shell .detail-shell-header .detail-shell-brand>b{color:#000}
body.detail-page-shell .detail-shell-header .detail-shell-mark img{filter:brightness(0)}
body.detail-page-shell .detail-shell-nav a{color:#14324a}
body.detail-page-shell .detail-shell-nav a:hover{color:#087bc5}
body.detail-page-shell .detail-shell-cta{border-radius:28px;background:#ed3282;color:#fff;font-family:inherit;min-height:46px;padding-inline:18px}
body.detail-page-shell .detail-shell-cta--recruit{background:#087bc5}
body.detail-page-shell .detail-shell-menu-toggle{background:#203f50;color:#fff;border-radius:50%;width:50px;height:50px;padding:5px 0}
body.detail-page-shell .detail-shell-menu-toggle i{width:22px;margin:3px auto}
body.detail-page-shell .detail-shell-menu-toggle>span{font-size:8px;line-height:1}
body.detail-page-shell .detail-shell-menu .detail-shell-brand{color:#000}
body.detail-page-shell .detail-shell-menu .detail-shell-mark img{filter:brightness(0)}
body.detail-page-shell .detail-shell-footer{background:#101d2c}
body.detail-page-shell .detail-shell-footer .detail-shell-brand{color:#fff}
body.detail-page-shell .detail-shell-footer .detail-shell-mark img{filter:none}
body.detail-page-shell .detail-shell-footer-description,body.detail-page-shell .detail-shell-company{color:#b9cbd8;font-size:15px;line-height:1.9}
body.detail-page-shell .detail-shell-footer-nav a{min-height:38px;display:flex;align-items:center;font-size:13px;letter-spacing:.05em}
#main.search-page-v110,#main.cn121-service{padding-top:32px}
#main.cn121-service .cn121-wrap{width:min(1200px,88%)}
#main .cn121-breadcrumb{margin-bottom:24px}
#main .breadcrumbs{margin:0;padding:0;border:0}
#main .breadcrumbs ol{align-items:center;gap:6px 14px;line-height:1.7;font-size:12px}
#main .s110-crumb{font-size:11px;line-height:1.7;padding:0 0 24px}
#main .s110-hero,#main.cn121-service .cn121-hero{min-width:0}
#main .s110-hero-copy,#main .cn121-hero-copy{min-width:0}
#main .s110-jump a{font-size:15px;line-height:1.5;gap:12px;min-height:64px;padding:16px}
#main.search-page-v110 .cn121-related .services-list a,#main.cn121-service .cn121-related .services-list a{font-size:15px;line-height:1.7;min-height:64px;align-items:center;padding:16px 18px}
#main .s110-faq-section summary{min-height:60px;line-height:1.7;padding-block:17px;font-size:17px}
#main .s110-faq-section details>p{font-size:16px;line-height:1.9}
/* Prevent decorative shadows from squeezing or clipping the actual flow copy. */
#main #search-process .cn119-copy{min-width:0}
#main #search-process .cn119-copy h3{text-wrap:balance;overflow-wrap:normal;word-break:normal}
#main #search-process .cn119-copy p{text-wrap:pretty}
@media(min-width:1200px) and (max-width:1350px){body.detail-page-shell .detail-shell-header{gap:12px;padding-inline:20px}body.detail-page-shell .detail-shell-nav{gap:9px}body.detail-page-shell .detail-shell-nav a{font-size:10px;letter-spacing:.025em}body.detail-page-shell .detail-shell-tools{gap:6px}body.detail-page-shell .detail-shell-cta{min-width:74px;padding-inline:12px}}
@media(min-width:701px) and (max-width:1199px){
#main.search-page-v110 .s110-hero,#main.cn121-service .cn121-hero{display:grid;grid-template-columns:1fr;gap:32px;padding:34px}
#main.search-page-v110 .s110-hero h1,#main.cn121-service .cn121-hero h1{font-size:46px}
#main .s110-hero-copy>p,#main .cn121-hero-copy>p{max-width:36em}
#main.search-page-v110 .s110-hero-visual,#main.cn121-service .cn121-hero-art{width:100%;height:auto;min-height:0;aspect-ratio:3/2;border-radius:85px 12px 12px 12px}
#main.search-page-v110 .s110-hero-visual picture,#main.cn121-service .cn121-hero-art picture{display:block;width:100%;height:100%}
#main.search-page-v110 .s110-hero-visual img,#main.cn121-service .cn121-hero-art img{width:100%;height:100%;object-fit:contain;object-position:center}
#main #search-process .cn119-copy{min-height:0;padding:26px}
#main #search-process .cn119-copy h3{font-size:23px;line-height:1.6}
#main #search-process .cn119-copy p{font-size:16px;line-height:1.85}
}
@media(max-width:767px){
body.detail-page-shell .detail-shell-header{gap:4px;padding-inline:8px}
body.detail-page-shell .detail-shell-tools{gap:4px}
body.detail-page-shell .detail-shell-cta{padding-inline:10px;min-width:66px;font-size:10px;min-height:44px}
body.detail-page-shell .detail-shell-menu-toggle{width:44px;height:44px}
body.detail-page-shell .detail-shell-header .detail-shell-brand{font-size:12px}
body.detail-page-shell .detail-shell-footer-top{gap:28px}
body.detail-page-shell .detail-shell-footer-nav a{min-height:42px;font-size:13px}
body.detail-page-shell .detail-shell-footer-bottom{padding-right:0;gap:8px}
}
@media(max-width:700px){
#main.search-page-v110,#main.cn121-service{padding-top:24px}
#main.cn121-service .cn121-hero h1{font-size:clamp(27px,7.2vw,42px);line-height:1.35;letter-spacing:-.04em}
#main.cn121-service .cn121-hero-copy .cn122-hero-lead{font-size:26px;line-height:1.65}
#main .s110-jump a{font-size:14px;min-height:62px;padding:14px 12px}
#main .s110-jump span{font-size:17px}
#main .cn117-briefs,#main #search-process .cn119-flow{gap:24px}
#main .s110-faq-section summary{font-size:16px;min-height:60px}
#main .s110-faq-section details>p{font-size:15px}
}
body.detail-page-shell #main.cn121-service .cn121-hero h1{font-family:Arial,'Noto Sans JP Variable',sans-serif}
@media(max-width:700px){
#main.cn121-service .cn121-wrap{width:calc(100% - 40px)}
#main.cn121-service .cn121-hero{width:calc(100% - 24px)}
}
body.detail-page-shell .detail-shell-menu-sheet{background:#f8fbfd;color:#14324a}
body.detail-page-shell .detail-shell-menu nav a{color:#14324a;border-color:#c7d8e3}
body.detail-page-shell .detail-shell-menu-close{color:#14324a;border-color:#b8cedc;background:#fff}
#main #search-process .cn119-step:after{right:36px}
#main :is(section[id],details[id]){scroll-margin-top:90px}
