/* Xu Laboratory | Publication database. Load after common.css/top.css. */
.xu-pub,.xu-pub-detail{--pub-navy:#173c50;--pub-teal:#168b91;--pub-ink:#263b48;--pub-muted:#617784;--pub-line:#d9e7eb;--pub-pale:#f3f8f9;color:var(--pub-ink);font-family:'Noto Sans JP',sans-serif;overflow-wrap:anywhere}
.xu-pub *, .xu-pub-detail *{box-sizing:border-box}
.xu-pub a,.xu-pub-detail a{color:#126f80;text-decoration:none}
.xu-pub a:hover,.xu-pub-detail a:hover{text-decoration:underline}
.xu-pub .pub-container,.xu-pub-detail .pub-container{max-width:1100px;margin:0 auto;padding:0 24px}
.xu-pub .pub-hero,.xu-pub-detail .pub-hero{background:linear-gradient(108deg,#173c50 0%,#19617a 65%,#16939a 100%);padding:48px 0 42px;color:white}
.xu-pub .pub-hero h1,.xu-pub-detail .pub-hero h1{font-size:clamp(28px,4.6vw,42px);line-height:1.3;color:#fff;position:static;transform:none;text-align:left;margin:0 0 10px;padding:0;font-weight:700}
.xu-pub .pub-hero p,.xu-pub-detail .pub-hero p{font-size:15px;line-height:1.8;color:#deecf3;margin:0}
.xu-pub .pub-breadcrumb,.xu-pub-detail .pub-breadcrumb{margin:18px 0 24px;color:var(--pub-muted);font-size:13px}
.xu-pub .pub-breadcrumb a,.xu-pub-detail .pub-breadcrumb a{color:var(--pub-teal)}
.xu-pub .pub-intro{max-width:900px;margin-bottom:24px;font-size:15px;line-height:1.9}
.xu-pub .pub-menu{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 27px}
.xu-pub .pub-menu a{display:inline-flex;align-items:center;border:1px solid var(--pub-line);background:var(--pub-pale);border-radius:100px;padding:10px 16px;font-size:13px;font-weight:700}
.xu-pub .pub-menu a:hover{background:#deeff1;text-decoration:none}
.xu-pub .pub-era{margin:44px 0 16px;padding-bottom:12px;border-bottom:3px solid var(--pub-teal)}
.xu-pub .pub-era h2{font-size:clamp(24px,3vw,30px);line-height:1.5;margin:0;color:var(--pub-navy);padding:0;text-align:left}
.xu-pub .pub-era p{font-size:13px;color:var(--pub-muted);margin:5px 0 0;line-height:1.8}
.xu-pub .pub-stat-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.xu-pub .pub-stat{padding:16px 10px;border:1px solid var(--pub-line);border-radius:12px;text-align:center;background:#f7fbfc}
.xu-pub .pub-stat strong{display:block;font:700 25px/1.2 Roboto,sans-serif;color:var(--pub-navy)}
.xu-pub .pub-stat span{display:block;margin-top:8px;color:var(--pub-muted);font-size:12px}
.xu-pub .pub-section{margin:34px 0 46px;scroll-margin-top:160px}
.xu-pub .pub-section h3{font-size:21px;line-height:1.5;color:var(--pub-navy);margin:0 0 18px;padding:0 0 10px;border-bottom:1px solid var(--pub-line);text-align:left;font-weight:700}
.xu-pub .pub-count{font-size:12px;color:var(--pub-muted);font-weight:400;margin-left:9px}
.xu-pub .pub-year{border:1px solid var(--pub-line);border-radius:10px;margin:10px 0;overflow:hidden;background:#fff}
.xu-pub .pub-year>summary{cursor:pointer;padding:13px 18px;font-weight:700;font-size:16px;background:#eaf5f6;color:var(--pub-navy);list-style:revert;}
.xu-pub .pub-year>summary:hover{background:#ddedf0}
.xu-pub .pub-year[open]>summary{border-bottom:1px solid var(--pub-line)}
.xu-pub .pub-year-body{padding:4px 18px 8px}
.xu-pub .pub-record{border-bottom:1px solid #e5eef0;padding:15px 0}
.xu-pub .pub-record:last-child{border-bottom:0}
.xu-pub .pub-record-title{font-size:15px;line-height:1.7;color:var(--pub-ink);font-weight:700;margin:0 0 6px}
.xu-pub .pub-record-title a{font-weight:700;color:var(--pub-navy)}
.xu-pub .pub-meta{font-size:12px;line-height:1.8;color:var(--pub-muted);margin:3px 0 0;overflow-wrap:anywhere}
.xu-pub .pub-badge{display:inline-block;background:#e8f3f4;color:#12687a;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:700;margin:0 8px 5px 0}
.xu-pub .pub-button-link{display:inline-block;border:1px solid #93c8ca;border-radius:6px;padding:5px 10px;margin:8px 0 0;font-size:12px;background:white}
.xu-pub .pub-archive-intro{font-size:14px;line-height:1.9;color:var(--pub-muted)}
.xu-pub .pub-archive-intro strong{color:var(--pub-navy)}
.xu-pub .pub-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0 48px}
.xu-pub .pub-profile{border:1px solid var(--pub-line);border-radius:12px;padding:19px;background:var(--pub-pale)}
.xu-pub .pub-profile strong{color:var(--pub-navy);font-size:16px}
.xu-pub .pub-profile-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.xu-pub .pub-profile-links a{border-radius:6px;padding:7px 10px;background:white;border:1px solid var(--pub-line);font-size:12px}
.xu-pub .pub-revision-note{padding:15px 19px;border-left:3px solid var(--pub-teal);background:var(--pub-pale);font-size:13px;line-height:1.85;margin:25px 0 40px}
.xu-pub-detail .pub-content{max-width:900px;margin:auto;padding:8px 24px 70px}
.xu-pub-detail .topics_news,.xu-pub-detail .article{margin:0;padding:0}
.xu-pub-detail .topics_news__main{border:1px solid var(--pub-line);border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(25,65,80,.07);padding:clamp(20px,4vw,38px)}
.xu-pub-detail .top_img img{max-width:100%;width:auto;height:auto;max-height:430px;object-fit:contain;display:block;margin:0 auto 20px}
.xu-pub-detail .news_detail__date{font-size:13px;margin:0 0 12px;color:var(--pub-teal);text-align:left}
.xu-pub-detail .title-h2{font-size:clamp(21px,3vw,29px);line-height:1.5;max-height:none;overflow:visible;display:block;position:static;text-align:left;padding:0;margin:0 0 22px;color:var(--pub-navy);overflow-wrap:anywhere}
.xu-pub-detail .article_detail{margin:0;font-size:15px;line-height:1.95;color:var(--pub-ink)}
.xu-pub-detail .article_detail p{font-size:15px;line-height:1.95;margin:0 0 12px}
.xu-pub-detail .article_detail img{max-width:100%;height:auto}
.xu-pub-detail .pub-back{margin:30px auto 0;text-align:center}
.xu-pub-detail .pub-back a{display:inline-block;border:1px solid var(--pub-teal);border-radius:7px;padding:12px 24px;font-weight:700}
@media(max-width:767px){.xu-pub .pub-container,.xu-pub-detail .pub-container{padding:0 16px}.xu-pub .pub-hero,.xu-pub-detail .pub-hero{padding:30px 0}.xu-pub .pub-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.xu-pub .pub-year-body{padding:2px 12px}.xu-pub .pub-year>summary{padding:12px 14px}.xu-pub .pub-profiles{grid-template-columns:1fr}.xu-pub .pub-hero h1,.xu-pub-detail .pub-hero h1{font-size:27px}.xu-pub-detail .pub-content{padding:4px 16px 45px}.xu-pub .pub-section{scroll-margin-top:140px}}
@media(prefers-reduced-motion:reduce){.xu-pub *,.xu-pub-detail *{scroll-behavior:auto!important;transition:none!important}}
