/* Selected refinements: one header, selective serif type, paper and bengara. */
@font-face{font-family:"Shippori Mincho B1";font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/shippori-mincho-b1-600.woff2') format('woff2')}
@font-face{font-family:"Lora";font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/lora-400.woff2') format('woff2')}
@font-face{font-family:"Lora";font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/lora-500.woff2') format('woff2')}
:root{--accent:#a8452b;--paper:#f6f3ee;--serif:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--number:"Lora",Georgia,serif}
html{scroll-padding-top:84px}
section[id],article[id],.record-section,.promise-block,details[id]{scroll-margin-top:16px}
.site-header.navigation-bar{display:block;width:100%;height:auto;min-height:0;padding:0;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:40}
.site-header .navigation-inner{min-height:76px;gap:24px;position:relative}
.site-header .navigation-brand{display:block;margin:0 auto 0 0;font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.5;letter-spacing:.14em}
.site-header .primary-links{gap:23px;font-size:14px;line-height:1.5}
.site-header .primary-links a{min-height:44px;border-bottom:1px solid transparent;transition:border-color .15s}
.site-header .primary-links a:hover,.site-header .primary-links a[aria-current]{border-color:var(--accent);text-decoration:none}
.site-header .navigation-contact{font-size:14px;padding:9px 18px;margin:0;min-height:44px}
.site-header .navigation-contact:hover{background:var(--accent)}
.navigation-toggle-icon{position:relative;display:block;width:20px;height:2px;background:currentColor}
.navigation-toggle-icon:before,.navigation-toggle-icon:after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor}
.navigation-toggle-icon:before{top:-6px}.navigation-toggle-icon:after{top:6px}
.is-open .navigation-toggle-icon{background:transparent}
.is-open .navigation-toggle-icon:before{top:0;transform:rotate(45deg)}
.is-open .navigation-toggle-icon:after{top:0;transform:rotate(-45deg)}
.site-header a:focus-visible,.site-header button:focus-visible,.news-list a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.hero-title,.profile-name,.footer-brand{font-family:var(--serif);font-weight:600}
.hero-title{line-height:1.48;letter-spacing:0}
.profile-name small{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,"Yu Gothic",sans-serif;font-weight:400}
.hero-credentials b{color:var(--accent)}
.record-band{background:var(--paper)}
.record-band .eyebrow{color:var(--accent)}
.record-count{border-left-color:#cfc6b8}
.rank-value strong,.record-count-value strong{font-family:var(--number);font-weight:400;letter-spacing:-.025em}
.rank-value strong{color:var(--accent)}
.program-limit-value strong{font-family:var(--number);font-weight:500;letter-spacing:-.025em}
.service-number{color:var(--accent)}
.text-link{border-bottom-color:var(--accent)}
.text-link:hover,.program-source:hover,.news-list a:hover{color:var(--accent)}
.contact-link:hover{background:var(--accent);border-color:var(--accent)}
.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.news-list li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:26px;align-items:baseline;border-bottom:1px solid var(--line);padding:22px 0}
.news-list time{font-size:13px;color:var(--muted);line-height:1.9;font-variant-numeric:tabular-nums;white-space:nowrap}
.news-list a{font-size:16px;line-height:1.9;text-decoration-thickness:1px;text-underline-offset:5px}
.news-list a:hover{text-decoration:underline}
@media(max-width:1150px){.site-header .navigation-inner{gap:20px}.site-header .primary-links{gap:16px;font-size:13px}.site-header .navigation-brand{font-size:23px}}
@media(max-width:960px){
 html{scroll-padding-top:76px}
 .site-header .navigation-inner{min-height:66px;flex-wrap:wrap;gap:0 12px}
 .site-header .navigation-brand{font-size:22px;letter-spacing:.1em;order:0}
 .site-header .navigation-contact{order:1;margin:0;padding:8px 13px;font-size:13px}
 .site-header .navigation-toggle{order:2;width:44px;height:44px;padding:12px;justify-content:center;flex:none}
 .site-header .primary-links{order:3;width:100%;gap:4px 20px;font-size:15px;padding-top:12px}
 .site-header:not(.is-enhanced){position:relative}
 .site-header.is-enhanced.is-open .primary-links{position:absolute;top:100%;left:0;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;padding:12px 18px 16px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 20px rgb(24 54 75 / 7%)}
 .site-header .primary-links a{border:0}
 .site-header .primary-links a:hover,.site-header .primary-links a[aria-current]{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--accent)}
}
@media(max-width:760px){
 .hero-title{line-height:1.6}
 .news-list li{grid-template-columns:1fr;gap:4px;padding:18px 0}
 .news-list a{font-size:15px}
 .news-list time{font-size:12px}
}
@media(max-width:360px){
 .site-header .navigation-inner{gap:0 7px}
 .site-header .navigation-brand{font-size:18px}
 .site-header .navigation-contact{font-size:12px;padding-inline:10px}
 .site-header .primary-links{font-size:14px}
}

/* Four service commitments; professional background belongs to the profile. */
.expertise-section .promise-block{margin-top:0;padding-top:0;border-top:0}
.expertise-section .promise-item:first-child{padding-top:0}
.profile-expertise{margin-top:48px}
.profile-expertise .expertise-item h3{font-size:19px}
@media(max-width:760px){.profile-expertise{margin-top:34px}.profile-expertise .expertise-item h3{font-size:19px}}

.reason-title-count{display:inline-block;white-space:nowrap}
