/* 採用ロゴ②。会社の仕事内容を読むための共通ブランド層。 */
:root{--brand-ink:#122e50;--brand-blue:#075fd5;--brand-blue-hover:#054cae;--brand-muted:#52647a;--brand-line:#d8e3ef;--brand-soft:#edf5ff;--brand-page:#f7faff;--brand-yellow:#f7bd27}
body.book{color:var(--brand-ink);background:var(--brand-page);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:15px;line-height:1.8}
.book .shell{max-width:1200px;width:calc(100% - 64px)}
.book .mast{padding:16px 0 18px;min-height:96px;border-bottom:1px solid var(--brand-line);gap:24px;background:#fff}
body.book:has(.mast){background-image:linear-gradient(#fff,#fff);background-size:100% 96px;background-repeat:no-repeat}
.book .logo{display:inline-flex;max-width:100%;min-height:52px;text-decoration:none;flex:none}
.book .logo img{display:block;width:304px;height:auto;max-width:100%;aspect-ratio:1871/416;object-fit:contain}
.brand-caption{font-size:12px;color:var(--brand-muted);letter-spacing:.05em;text-align:right}
.book .brand-home{background:#fff;padding:30px 40px 32px;margin-top:30px;border-radius:20px;position:relative;border:1px solid var(--brand-line)}
.book .brand-home::before{content:'';display:block;width:40px;height:5px;background:var(--brand-yellow);border-radius:3px;margin-bottom:20px}
.book .brand-home h1{font-size:clamp(28px,3.1vw,42px);line-height:1.55;letter-spacing:.025em;margin-bottom:12px;max-width:900px;font-weight:750}
.book .brand-home .lede{font-size:15px;color:var(--brand-muted);line-height:1.9;max-width:700px}
.book .brand-home .eyebrow{font-size:12px;color:var(--brand-blue);font-weight:650;margin-bottom:10px}
.book .area-home{padding-bottom:24px}.book .area-home>section:not(.intro){margin-top:28px;margin-bottom:24px}
.book .area-home h2{font-size:20px;letter-spacing:.015em;margin:0 0 14px;line-height:1.6}
.book .region-child{border-radius:14px;background:#fff;color:var(--brand-ink);border:1px solid var(--brand-line);padding:22px 24px;min-height:84px;transition:background-color 120ms,border-color 120ms;position:relative}
.book .region-child strong{font-size:20px;line-height:1.6}.book .region-child span{color:var(--brand-blue);font-size:13px;line-height:1.7}
.book .region-child:hover{background:var(--brand-soft);border-color:#8eb7eb}
.book .region-children>.region-child{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}
.book .region-children>.region-child span{color:#fff}.book .region-children>.region-child:hover{background:var(--brand-blue-hover);border-color:var(--brand-blue-hover)}
.book .area-feature{max-width:none}.book .area-feature>.region-child{border-left:4px solid var(--brand-yellow)}
.book .area-feature>p,.book .area-home>section>p{color:var(--brand-muted);font-size:14px;margin-top:12px}
.book .area-scope{font-size:12px;color:var(--brand-muted);border-left:2px solid #b6cde9;margin:20px 0;padding:2px 0 2px 14px;line-height:1.9}
.book .area-company-index{gap:12px 20px;margin:18px 0}.book .area-company-index li{border:1px solid var(--brand-line);background:#fff;border-radius:10px;padding:14px 18px}
.book .area-company-index a{font-size:14px;color:var(--brand-ink);font-weight:650;min-height:44px;text-decoration:none}.book .area-company-index a:hover{text-decoration:underline;color:var(--brand-blue)}
.book .area-company-index span{color:var(--brand-muted);font-size:12px}
.book .breadcrumbs{color:var(--brand-muted);padding-block:18px 4px;font-size:11px;line-height:1.9;margin-bottom:0}
.book .breadcrumbs a{color:var(--brand-blue)}
.book .intro{padding-top:22px;padding-bottom:14px}.book .town-heading h1{font-size:clamp(26px,3vw,36px);line-height:1.55;letter-spacing:.02em;color:var(--brand-ink)}
.book .town-title-line{align-items:center}.book .town-title-line .town-open{background:#fff;color:var(--brand-blue);border:1px solid #b5cdee;padding:10px 14px;font-weight:600}
.book .town-title-line .town-open:hover{background:var(--brand-soft)}
.book .stat-filters{gap:10px}.book .stat-filters a{border:1px solid var(--brand-line);background:#fff;color:var(--brand-ink);border-radius:12px;min-height:88px;padding:12px 14px}
.book .stat-filters a:hover{background:var(--brand-soft);border-color:#8eb7eb}.book .stat-filters a[aria-current=true]{background:var(--brand-soft);border-color:var(--brand-blue);color:var(--brand-blue)}
.book .stat-filters b{font-weight:750;color:var(--brand-blue);font-size:27px}.book .stat-filters span{font-size:11px;color:var(--brand-muted)}
.book .stat-summary,.book .stats-basis,.book .town-strip{color:var(--brand-muted)}
.book .book-controls{background:transparent;border:0;padding:0;margin-block:12px 22px}
.book .ui-disclosure,.book .town-switch,.book .filter-panel{background:var(--brand-soft);color:var(--brand-ink);border-radius:12px;border:1px solid var(--brand-line);margin-block:12px}
.book .ui-disclosure>summary,.book .town-switch>summary,.book .filter-panel>summary{font-size:13px;padding:13px 16px;min-height:50px;font-weight:650}
.book .ui-disclosure .ui-disclosure{background:#e3efff}
.book .filter-fields label{color:var(--brand-muted);font-size:12px}.book .filter-fields select,.book .sort-control select,.book .city-fields select{background:#fff;color:var(--brand-ink);border:1px solid #a6bad2;border-radius:8px;font-size:14px;min-height:46px}
.book .book-result-head{align-items:center;margin-bottom:14px}.book .book-result-head h2{color:var(--brand-ink)}
.book .sort-control{color:var(--brand-muted)}
.book .book-columns{padding-inline:20px;color:var(--brand-muted);border-bottom:0;font-size:11px}
.book .book-list{border:0}
.book .book-row{background:#fff;border:1px solid var(--brand-line);border-radius:14px;margin-bottom:14px;padding:22px 20px;align-items:center}
.book .book-row:hover{border-color:#a5bfdf}
.book .book-name{font-size:18px;letter-spacing:.015em;line-height:1.65;color:var(--brand-ink)}
.book .book-summary{color:var(--brand-ink);font-size:13px;line-height:1.8}.book .book-place,.book .discovery-label{color:var(--brand-muted)}
.book .discovery-line{color:var(--brand-ink);font-size:13px}
.book .no-preview{background:#f2f5f9;border-radius:8px;color:var(--brand-muted);padding:14px 10px}
.book .site-preview img{border-color:var(--brand-line);border-radius:6px;background:#f4f7fb}
.book .site-preview figcaption{color:var(--brand-muted)}
.book a.primary,.book .book-row-actions a.primary,.book .official-action a{background:var(--brand-blue);border:1px solid var(--brand-blue);color:#fff;border-radius:9px;min-height:46px;font-weight:600}
.book a.primary:hover,.book .book-row-actions a.primary:hover,.book .official-action a:hover{background:var(--brand-blue-hover);border-color:var(--brand-blue-hover);color:#fff}
.book .book-row-actions .map-action,.book .book-back,.book .map-close,.book .modal-close,.book .modal-company-nav button{background:#fff;border:1px solid #b5cdee;color:var(--brand-blue);border-radius:9px;min-height:44px}
.book .book-row-actions .map-action:hover,.book .map-close:hover,.book .modal-close:hover{background:var(--brand-soft);color:var(--brand-blue-hover)}
.book .company-dialog,.book .map-dialog,.book .image-lightbox{border-color:#b5cdee;color:var(--brand-ink);border-radius:16px}
.book .modal-toolbar,.book .map-toolbar{background:#f5f9ff;border-color:var(--brand-line)}
.book .modal-company-nav{background:#fff;border-color:var(--brand-line)}
.book .modal-company-nav button:disabled{color:#596a80;background:#f1f4f8;border-color:#d8e3ef}
.book .modal-position,.book .map-content .map-privacy,.book .map-content .map-load-note{color:var(--brand-muted)}
.book .company-heading{border-color:var(--brand-line)}.book .company-heading h1{color:var(--brand-ink);line-height:1.55}
.book .company-discovery{border-left:3px solid var(--brand-yellow);padding-left:18px;color:var(--brand-ink)}
.book .company-discovery h2{font-size:17px}.book .company-discovery p{font-size:15px;line-height:1.9}
.book .detail{padding-top:26px;padding-bottom:44px}.book .detail p{line-height:1.9}
.book .book-facts>div{border-color:var(--brand-line)}.book .book-facts dt,.book .section-note,.book .recent-evidence{color:var(--brand-muted)}
.book .themes span{background:var(--brand-soft);color:#31567f;border-radius:5px}
.book .preview-help>summary{background:var(--brand-soft);color:var(--brand-blue);border:1px solid #b5cdee}.book .preview-help>summary:hover{background:#dfedff}
.book .help-body{color:var(--brand-ink);border-color:#b5cdee}
.book .empty{background:#fff;border:1px dashed #a5bfdf;border-radius:14px;padding:24px;color:var(--brand-ink)}
.book .registry-list li{border-color:var(--brand-line)}.book .town-selection{background:var(--brand-soft);border-radius:12px}
.book .policy-page{max-width:860px;background:#fff;border:1px solid var(--brand-line);border-radius:16px;padding:32px 36px;margin-top:30px;margin-bottom:36px}
.book .policy-page h1{font-size:29px;line-height:1.6;margin:22px 0}.book .policy-page h2{font-size:19px;margin:30px 0 12px}.book .policy-page p{font-size:14px;line-height:2;margin-block:14px}.book .policy-page a{color:var(--brand-blue)}
.book .not-found{min-height:430px;padding-top:48px}.book .not-found h1{font-size:30px;line-height:1.6;margin:12px 0 24px}
.book footer.shell{color:var(--brand-muted);border-top:1px solid var(--brand-line);font-size:11px;padding-block:24px 32px;margin-top:28px}
.book footer a{color:var(--brand-muted);display:inline-block;min-height:32px;padding-block:6px}
.book a:focus-visible,.book button:focus-visible,.book summary:focus-visible,.book input:focus-visible,.book select:focus-visible,.book [tabindex]:focus-visible{outline:3px solid #075fd5;outline-offset:3px}
@media(min-width:851px){.book .book-row,.book .book-columns{grid-template-columns:160px minmax(0,1.3fr) minmax(0,1fr) 224px;gap:20px}.book .list-site .preview-pc{width:150px}}
@media(min-width:851px) and (max-width:1100px){.book .book-row,.book .book-columns{grid-template-columns:125px minmax(0,1.3fr) minmax(0,1fr) 206px;gap:14px}.book .list-site .preview-pc{width:120px}}
@media(max-width:850px){.book .shell{width:calc(100% - 36px)}.book .mast{min-height:88px;padding-block:14px}.book .logo img{width:260px}.brand-caption{display:none}.book .brand-home{padding:24px;margin-top:22px;border-radius:16px}.book .brand-home h1{font-size:30px;line-height:1.6}.book .brand-home .lede{font-size:14px}.book .area-home>section:not(.intro){margin-top:24px}.book .area-home h2{font-size:18px}.book .region-child{padding:18px 20px;min-height:82px}.book .region-child strong{font-size:19px}.book .area-company-index li{padding:12px 16px}.book .intro{padding-top:16px}.book .town-title-line{align-items:flex-start}.book .town-title-line .town-open{margin-bottom:16px}.book .stat-filters a{min-height:84px;padding:12px}.book .book-row{padding:18px 16px;grid-template-columns:100px minmax(0,1fr);gap:10px 14px}.book .list-site .preview-pc{width:100px}.book .book-name{font-size:17px}.book .book-row-actions{gap:10px;margin-top:8px}.book .book-row-actions a{font-size:12px;min-height:46px}.book .book-columns{display:none}.book .company-heading h1{font-size:25px}.book .policy-page{padding:24px 20px}.book .policy-page h1{font-size:25px}.book .breadcrumbs{font-size:10px}.book .company-discovery{padding-left:14px}}
@media(max-width:360px){.book .shell{width:calc(100% - 28px)}.book .logo img{width:250px}.book .brand-home{padding:20px}.book .brand-home h1{font-size:26px}.book .book-row{padding:16px 12px;grid-template-columns:82px minmax(0,1fr);gap:10px}.book .list-site .preview-pc{width:82px}.book .book-row-actions a{font-size:11px;padding-inline:7px}.book .company-dialog .detail{padding-inline:12px}.book .modal-toolbar{gap:6px}.book .modal-company-nav{gap:6px}.book .modal-company-nav button{font-size:10px;padding-inline:6px}}
@media(prefers-reduced-motion:reduce){.book *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* 語の途中を避けるroot見出しと、会社一覧へ早く届くSPの補助情報。 */
.book .brand-home h1>span{display:inline-block}
@media(max-width:850px){.book .stat-filters a{min-height:72px;padding:9px 12px;gap:0}.book .stat-filters b{font-size:24px}.book .town-title-line .town-open{margin-bottom:12px}.book .intro{padding-top:12px}}

.book .region-child span{display:inline-flex;align-items:center;gap:10px}.book .region-child span svg{width:20px;height:20px;flex:none}.book .stat-filters a>svg{width:18px;height:18px;color:var(--brand-blue);margin-bottom:2px}.book .book-back{display:inline-flex;gap:7px;align-items:center;padding:6px 10px;text-decoration:none}.book .book-back svg{width:17px;height:17px}.book footer a{min-height:44px}
@media(max-width:850px){.book .stat-filters a{position:relative;padding-right:28px}.book .stat-filters a>svg{position:absolute;right:9px;top:10px;width:15px;height:15px}.book .stat-filters span{font-size:10px}}
/* book.cssの旧:not(ID)セレクターを、対象限定で上書きする。 */
.book footer a,.book .book-back{min-height:44px!important}
.book .official-action a{min-height:46px!important}
