:root{--ink:#15213c;--muted:#5d6a7e;--red:#d8193e;--red-dark:#b51131;--pale:#fff0f3;--line:#e4e8ef;--paper:#fff;--blue:#edf6fc;--radius:14px;color-scheme:light;font-family:"Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#f8fafc;color:var(--ink);font-size:16px;line-height:1.75;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}button{font:inherit;cursor:pointer;color:inherit}img,svg{max-width:100%}img{display:block;height:auto}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,3vw,40px);line-height:1.5;letter-spacing:.015em;margin-bottom:16px}h2{font-size:23px;line-height:1.5;margin-bottom:18px}h3{font-size:18px;line-height:1.6;margin-bottom:10px}p{margin-bottom:16px}[hidden]{display:none!important}:focus-visible{outline:3px solid #227fae;outline-offset:4px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;top:8px;left:8px;background:white;padding:12px;z-index:99}html{scroll-padding-top:84px}html:focus-within{scroll-behavior:smooth}
.site-header{background:#ffffffed;border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{max-width:1440px;margin:auto;min-height:78px;padding:12px 36px;display:flex;align-items:center;gap:24px}.brand{color:var(--red);font-weight:900;font-style:italic;font-size:32px;letter-spacing:-1.5px;white-space:nowrap;line-height:1.2}.brand-mark{font-style:normal;font-size:21px;letter-spacing:-4px;margin-right:9px}.brand-tagline{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:22px;max-width:185px;line-height:1.5}.site-nav{flex-shrink:0;display:flex;gap:32px;margin-left:auto;font-size:14px;font-weight:700;align-self:stretch;align-items:center}.site-nav a{white-space:nowrap;flex-shrink:0;padding:12px 0;border-bottom:3px solid transparent}.site-nav a[aria-current]{color:var(--red);border-color:var(--red)}.menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);border-radius:8px;background:white;padding:8px 12px;font-size:14px;font-weight:700}
.brand-hero{height:340px;background:#eff6fb;position:relative;overflow:hidden;border-bottom:1px solid #dce8ef}.hero-art{position:absolute;right:0;top:0;width: min(100%,1100px);height:100%;object-fit:cover;object-position:76% 5%}.brand-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f4f9fff5 0%,#f4f9ffdd 22%,#f4f9ff70 40%,transparent 60%)}.hero-inner{max-width:1368px;padding:62px 36px;margin:auto;position:relative;z-index:1;pointer-events:none}.eyebrow{font-size:11px;letter-spacing:.17em;color:var(--red);font-weight:800;margin-bottom:16px}.hero-title{font-size:clamp(30px,3.1vw,44px);font-weight:900;line-height:1.55;letter-spacing:.025em;max-width:560px;text-wrap:balance;margin-bottom:16px}.hero-description{font-size:16px;max-width:440px}.hero-compact{height:165px}.hero-compact .hero-inner{padding-top:30px}.hero-compact .hero-title{font-size:27px;max-width:700px;margin-bottom:6px}.hero-compact .hero-art{width:660px;object-position:75% 5%}.hero-compact .eyebrow{margin-bottom:8px}.hero-compact .hero-description{font-size:14px;max-width:560px}
.reading-layout{max-width:1440px;padding:32px 36px 70px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;align-items:start}.site-main{min-width:0}.site-sidebar{display:grid;gap:20px;padding-top:3px}.explore-block{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.explore-block h2{font-size:18px;margin-bottom:18px;padding-left:12px;border-left:4px solid var(--red)}.explore-block .section-heading{gap:8px;margin-bottom:14px}.explore-block .section-heading h2{margin-bottom:0}.explore-block .section-heading a{font-size:12px;white-space:nowrap}.explore-themes{display:flex;flex-wrap:wrap;gap:9px}.explore-themes>a{flex:0 0 auto;max-width:100%;background:var(--blue);border-radius:8px;padding:8px 11px;font-size:13px;color:#255674;display:flex;gap:8px;align-items:center}.explore-themes>a>span{min-width:0}.explore-themes small{font-size:10px;white-space:nowrap;color:#52768c}.explore-companies{display:grid}.explore-companies>a{display:grid;grid-template-columns:42px 1fr 8px;gap:7px;align-items:baseline;font-size:13px;padding:13px 0;border-bottom:1px solid var(--line)}.explore-companies>a:last-child{border:0;padding-bottom:0}.explore-companies .company-code{font-size:12px}.explore-companies>a>span:last-child{color:var(--red)}.x-card{background:linear-gradient(150deg,#fff,#fff5f7)}.x-card h2{border:0;padding:0;margin:10px 0;font-size:18px}.x-mark{font-size:28px;line-height:1}.x-card p{font-size:13px;color:var(--muted)}.x-link{background:var(--ink);color:white;padding:10px 13px;border-radius:9px;display:block;font-size:13px;text-align:center}.x-link:hover{color:white;background:var(--red-dark)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;font-size:12px;color:var(--muted);margin-bottom:22px;line-height:1.8}.breadcrumb a{color:var(--red)}.breadcrumb span:last-child{max-width:100%}.page-intro{margin-bottom:30px}.page-intro p{color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:18px;flex-wrap:wrap}.section-heading h2,.section-heading h3{margin-bottom:0}.section-heading h2:before,.company-history-heading>h2:before,.company-reading-heading>h2:before,.ratings-page .ratings-result-heading>h2:before,.ratings-page .ratings-company-chart>h2:before{content:"";display:inline-block;width:5px;height:22px;border-radius:3px;background:var(--red);margin-right:12px;vertical-align:-3px}.section-heading>a{font-size:13px;font-weight:700;color:var(--red)}.section-heading>span{font-size:13px}.web-section{margin-bottom:38px}.subtle,.summary-help,.featured-notice{font-size:12px;color:var(--muted);line-height:1.8}.company-code{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600}.editorial-label{background:var(--pale);color:var(--red);border:1px solid #f5cbd4;padding:3px 12px;border-radius:20px;font-size:12px}.surface{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.article-card{min-width:0;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .16s}.article-card:hover{box-shadow:0 6px 24px #2035560c}.card-image{display:block;aspect-ratio:16/9;background:#f1f4f7;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover}.thumbnail-fallback{height:100%;background:linear-gradient(140deg,#fff0f2,#f4f7fb);padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;overflow:hidden}.thumbnail-fallback>span{font-size:15px;color:var(--red);font-weight:900;font-style:italic}.thumbnail-fallback strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.65}.card-copy{padding:17px}.card-copy time{font-size:11px;color:var(--muted)}.card-copy h3{font-size:15px;line-height:1.8;margin:8px 0 10px}.card-summary{font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-company{font-size:11px;line-height:1.6;font-weight:700;margin:12px 0}.theme-pills{display:flex;flex-wrap:wrap;gap:7px}.theme-pills a{font-size:11px;padding:4px 9px;background:var(--blue);border-radius:20px;color:#286589;line-height:1.6}.featured-card{display:grid;grid-template-columns:38% minmax(0,1fr)}.featured-card .card-image{height:100%;aspect-ratio:auto;min-height:260px}.featured-card .card-copy{padding:26px}.featured-card .card-copy h3{font-size:23px;line-height:1.7}.featured-card .card-summary{font-size:14px;-webkit-line-clamp:4}.featured-card .thumbnail-fallback{padding:28px}.featured-card .thumbnail-fallback strong{font-size:22px;-webkit-line-clamp:5}.featured-notice{padding:12px 4px}.featured-ratings{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.featured-ratings .section-heading h2{font-size:19px}.discovery-footer{background:var(--pale);padding:28px;border-radius:var(--radius)}.discovery-footer h2{font-size:22px}.discovery-footer p{font-size:14px}.primary-link{display:inline-block;background:var(--red);color:white;border-radius:8px;padding:10px 18px;font-weight:700;font-size:14px}.primary-link:hover{background:var(--red-dark);color:white}
.company-header{margin-bottom:30px}.company-description{font-size:16px;line-height:1.9}.classifications{display:flex;gap:8px;flex-wrap:wrap}.classifications>span{background:white;border:1px solid var(--line);border-radius:20px;padding:4px 12px;font-size:12px}.article-entry{margin-top:20px;border:1px solid #f2c9d2;border-radius:10px;padding:14px 18px;background:#fff6f8;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:baseline}.article-entry>span{color:var(--red);font-size:12px;font-weight:800}.article-entry>a{font-size:14px;font-weight:700;line-height:1.7}.article-entry .entry-all{grid-column:2;font-size:12px;color:var(--red);font-weight:500}.target-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 10px}.target-card{background:linear-gradient(125deg,#fff1f4,#fff8f9);border:1px solid #fae0e6;border-radius:10px;padding:20px 12px;text-align:center;min-width:0}.target-card h3{font-size:12px;line-height:1.7;margin-bottom:7px}.target-card>strong{display:block;font-size:28px;line-height:1.4;font-variant-numeric:tabular-nums;font-weight:850}.target-card small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.summary-help{margin-bottom:24px}.rating-main{display:grid;gap:20px}.chart-panel{padding:22px}.chart-panel h3{font-size:18px}.unit-label{font-size:12px;color:var(--muted)}.target-chart{width:100%;height:auto;display:block;overflow:visible}.chart-scroll{min-width:0}.grid-line{stroke:#e4e9ef;stroke-width:1}.axis-label{font-size:12px;fill:#5d6a7e}.chart-point{cursor:help;stroke:white;stroke-width:1}.chart-point:focus{stroke:var(--ink);stroke-width:3;outline:0}.chart-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chart-legend button{background:white;border:1px solid var(--line);border-radius:6px;padding:6px 9px;font-size:11px;display:flex;align-items:center;gap:5px}.chart-legend button[aria-pressed="false"]{opacity:.45;background:#eee}.legend-color{width:8px;height:8px}.chart-help{font-size:11px;color:var(--muted);margin-top:12px;margin-bottom:0}.rating-section{margin-bottom:30px}.rating-row{padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.rating-row-heading{display:flex;gap:16px;align-items:baseline;margin-bottom:9px;flex-wrap:wrap}.rating-row-heading time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.rating-values{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;font-size:14px}.rating-values>div{display:flex;gap:12px;flex-wrap:wrap}.value-label{font-size:11px;color:var(--muted);min-width:48px}.value-arrow{color:#8c98a8;margin:0 5px}.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.pill{font-size:10px;line-height:1.6;border-radius:4px;background:#f0f2f6;color:#69768b;padding:3px 7px}.rating-upgrade,.target-raise{background:#fff0f3;color:#b42043}.rating-downgrade,.target-lower{background:#eff4ff;color:#365baa}.coverage{font-size:12px;color:var(--red);background:var(--pale);padding:3px 10px;border-radius:20px}.rating-list{position:relative}.rating-list.is-collapsed{overflow:hidden}.rating-list.is-collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:35px;background:linear-gradient(transparent,white);pointer-events:none}.expand-button{margin-top:18px;width:100%;padding:12px;border:1px solid #efc6cf;border-radius:8px;background:#fff7f9;color:var(--red-dark);font-size:13px;font-weight:700}.history-panel{margin-top:34px}.empty-state{grid-column:1/-1;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px;color:var(--muted);font-size:14px}.rating-empty{margin-top:18px;text-align:center;padding:36px}.rating-empty>span{display:block;color:#b7c7d5;font-size:28px}.rating-empty h3{font-size:17px;color:var(--ink)}.rating-empty p{margin-bottom:0}
.article-page{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:36px}.article-page h1{font-size:clamp(25px,2.6vw,36px);line-height:1.65}.article-dates{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.article-summary{font-size:17px;line-height:1.95;margin:24px 0 30px;padding-bottom:26px;border-bottom:1px solid var(--line);white-space:pre-line}.article-body{max-width:760px;margin:35px auto 0;font-size:17px;line-height:2.05}.article-body>p{margin-bottom:26px}.article-body h2{font-size:25px;line-height:1.7;border-left:5px solid var(--red);padding-left:14px;margin:46px 0 22px}.article-body h3{font-size:21px;margin:30px 0 18px}.article-body ul,.article-body ol{padding-left:1.6em;margin-bottom:26px}.article-body li+li{margin-top:8px}.article-body a{color:#267398;text-decoration:underline}.article-body blockquote{margin:24px 0;padding:18px 24px;border-left:4px solid #80b4d3;background:#f0f8fc;color:#304b65}.article-body blockquote p:last-child{margin:0}.article-body pre{overflow:auto;background:#f0f3f7;padding:18px;border-radius:8px;font-size:13px;line-height:1.8}.article-body table{display:block;overflow:auto;width:100%;border-collapse:collapse;font-size:14px;margin:24px 0}.article-body td,.article-body th{border:1px solid var(--line);padding:10px 14px}.article-body th{background:#f6f8fb}.article-body hr{border:0;border-top:1px solid var(--line);margin:36px 0}.preview-figure{width:70%;margin:28px auto}.preview-figure img{width:100%;height:auto;object-fit:contain;border:1px solid var(--line);border-radius:8px}.preview-figure figcaption{font-size:12px;line-height:1.8;color:var(--muted);margin-top:9px;text-align:left}.preview-caption,.preview-source{display:block}.gallery-hint{font-size:12px;color:var(--muted);margin-bottom:10px}.preview-gallery-block{margin:28px 0}.preview-gallery{display:flex;overflow-x:auto;gap:16px;padding-bottom:12px;scroll-snap-type:x proximity}.preview-gallery .preview-figure{flex:0 0 82%;max-width:620px;width:auto;margin:0;scroll-snap-align:start}.preview-gallery .preview-figure img{width:100%;height:auto}.admonition.note{border:1px solid #f0bac7;border-radius:10px;background:#fff6f8;padding:22px 24px;margin:28px 0;font-size:16px;line-height:1.95}.admonition-title{font-weight:800;color:var(--red-dark);margin:0 0 10px!important}.admonition.note>:last-child{margin-bottom:0}.article-company{border-top:1px solid var(--line);margin-top:42px;padding-top:26px}.article-company h2{font-size:18px}.article-company p{font-size:14px}.article-company a{display:block;color:var(--red);font-size:13px;margin:10px 0}.article-end-cta{margin:28px 0;padding:24px;border-radius:12px;background:#fff0f3;font-size:14px}.article-end-cta h2{font-size:20px}.article-end-cta a{color:var(--red);font-weight:700}
.site-footer{border-top:1px solid var(--line);background:white;text-align:center;padding:40px 24px}.site-footer .brand{font-size:28px}.site-footer p{font-size:12px;color:var(--muted);margin:12px 0}.site-footer nav{display:flex;justify-content:center;gap:24px;font-size:12px;flex-wrap:wrap}.site-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(390px,calc(100% - 24px));height:100dvh;max-height:100dvh;border:0;background:#f7f9fc;padding:22px;overflow-y:auto;overscroll-behavior:contain;box-shadow:-15px 0 50px #12213730;color:var(--ink)}.site-drawer::backdrop{background:#0c1c365f}.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.drawer-heading h2{font-size:17px;margin:0}.drawer-close{background:white;border:1px solid var(--line);border-radius:6px;padding:7px 10px;font-size:12px;white-space:nowrap}.drawer-nav{display:grid;margin-bottom:20px;gap:4px}.drawer-nav a{padding:12px;border-bottom:1px solid var(--line);font-weight:700;font-size:15px}.site-drawer .explore-block{margin-bottom:16px}
@media(min-width:1600px){.reading-layout{max-width:1560px;grid-template-columns:minmax(0,1fr) 310px}.rating-main{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.rating-main .rating-values{grid-template-columns:1fr}.header-inner{max-width:1560px}}
@media(max-width:1279px) and (min-width:1000px){.reading-layout{padding:28px 26px;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.brand-tagline{display:none}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-card .card-copy{padding:22px}.featured-card .card-copy h3{font-size:20px}}
@media(max-width:999px){.site-header{position:sticky;top:0}.header-inner{min-height:64px;padding:12px 20px;gap:12px}.brand{font-size:28px}.brand-tagline,.site-nav{display:none}.menu-toggle:not([hidden]){display:block}.reading-layout{display:block;padding:24px 22px 48px}.site-sidebar{margin-top:30px;grid-template-columns:repeat(2,minmax(0,1fr))}.js-navigation .site-sidebar{display:none}.hero-inner{padding-left:24px}.brand-hero{height:285px}.hero-title{font-size:32px;max-width:430px}.hero-art{width:850px;max-width:none}.hero-compact{height:150px}.hero-compact .hero-title{font-size:25px;max-width:460px}.hero-compact .hero-art{width:540px}.article-page{padding:30px}.article-grid{gap:16px}.target-card>strong{font-size:26px}}
@media(max-width:600px){body{font-size:15px}.header-inner{padding:11px 16px}.brand{font-size:26px}.brand-mark{font-size:17px}.menu-toggle{font-size:12px;padding:7px 10px}.brand-hero{height:280px}.hero-art{width:625px;right:-80px;object-position:center}.brand-hero:after{background:linear-gradient(90deg,#f5fafff5,#f5faffd9 30%,#f5faff5e 57%,transparent 85%)}.hero-inner{padding:28px 20px}.hero-title{font-size:24px;max-width:195px;line-height:1.55}.hero-description{font-size:12px;max-width:170px;line-height:1.9}.hero-inner .eyebrow{font-size:8px;max-width:175px;letter-spacing:.13em;margin-bottom:12px}.hero-compact{height:140px}.hero-compact .hero-inner{padding:25px 20px}.hero-compact .hero-title{font-size:20px;max-width:225px;line-height:1.6}.hero-compact .hero-description{display:none}.hero-compact .hero-art{width:350px;right:-75px}.reading-layout{padding:22px 16px 40px}.section-heading{gap:10px;margin-bottom:15px}.section-heading h2{font-size:19px}.section-heading>a{font-size:11px}.section-heading h2:before,.company-history-heading>h2:before,.company-reading-heading>h2:before,.ratings-page .ratings-result-heading>h2:before,.ratings-page .ratings-company-chart>h2:before{height:18px;width:4px;margin-right:8px;vertical-align:-2px}.web-section{margin-bottom:28px}.article-grid{grid-template-columns:1fr;gap:16px}.article-card .card-copy{padding:20px}.card-copy h3{font-size:18px;line-height:1.8}.card-summary{font-size:14px}.card-copy time,.card-company{font-size:12px}.theme-pills a{font-size:12px}.thumbnail-fallback{padding:25px}.thumbnail-fallback strong{font-size:22px}.featured-card{display:block}.featured-card .card-image{aspect-ratio:16/9;min-height:0}.featured-card .card-copy{padding:22px}.featured-card .card-copy h3{font-size:21px}.featured-card .thumbnail-fallback strong{font-size:21px;-webkit-line-clamp:3}.featured-ratings .section-heading h2{font-size:17px}.company-header h1{font-size:28px}.company-header .eyebrow{font-size:11px}.company-description{font-size:15px}.article-entry{display:block;padding:14px}.article-entry>span{display:block;margin-bottom:5px}.article-entry>a{display:block;font-size:13px}.article-entry .entry-all{margin-top:8px}.target-summary{gap:6px;margin-top:14px}.target-card{padding:14px 5px;border-radius:8px}.target-card h3{font-size:10px;line-height:1.7;min-height:34px;max-width:95px;margin:0 auto 7px}.target-card>strong{font-size:19px;letter-spacing:-.5px;white-space:nowrap}.target-card small{font-size:9px}.summary-help{font-size:11px;margin-bottom:18px}.surface{padding:18px 16px}.chart-panel h3{font-size:16px}.chart-scroll{overflow-x:auto;padding-bottom:4px}.target-chart{min-width:0}.chart-legend{gap:6px}.chart-legend button{font-size:11px;padding:6px 8px}.rating-values{grid-template-columns:1fr;font-size:13px;gap:5px}.rating-row-heading{gap:10px;font-size:14px}.rating-row{padding:16px 0}.pill{font-size:10px}.history-panel .section-heading h2{font-size:18px}.expand-button{font-size:12px;padding:12px 7px}.empty-state{padding:24px;font-size:14px}.article-page{padding:23px 19px;margin:0 -3px}.article-page h1{font-size:25px;line-height:1.65}.article-summary{font-size:16px;line-height:2}.article-body{font-size:16px;line-height:2}.article-body h2{font-size:21px;margin-top:34px;padding-left:10px}.article-body h3{font-size:18px}.preview-figure{width:100%;margin:24px 0}.preview-gallery .preview-figure{flex-basis:88%}.admonition.note{padding:18px 16px;font-size:15px}.article-body blockquote{padding:15px}.site-sidebar{grid-template-columns:1fr}.site-footer{padding:32px 20px}.site-footer nav{gap:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}



:root{--background:#faf8f3;--line:#e5e0d7;--blue:#f4f1e9}
body,.site-drawer{background:var(--background)}
.brand-hero{height:260px;background:var(--background);border-color:var(--line)}
.hero-art{width:min(100%,1200px);object-fit:cover;object-position:76% 5%}
.brand-hero:after{background:linear-gradient(90deg,#faf8f3 0%,#faf8f3ed 25%,#faf8f37a 46%,transparent 70%)}
.hero-inner{padding-top:40px;padding-bottom:30px}.hero-title{font-size:clamp(28px,3vw,40px)}
.hero-compact{height:140px}.hero-compact .hero-art{width:850px;object-position:76% 5%}
.header-inner{gap:18px}.site-nav{gap:22px}.brand-tagline{display:none}
.explore-themes>a,.theme-pills a{color:#63543e}.explore-themes small{color:#77694f}
.featured-overview.with-chart{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:22px;align-items:start}
.featured-overview.with-chart .featured-card{display:block}
.featured-overview.with-chart .card-image{height:auto;min-height:0;aspect-ratio:16/7}
.featured-overview.with-chart .card-copy{padding:18px 20px}
.featured-overview.with-chart .card-copy h3{font-size:21px;line-height:1.6}
.featured-overview.with-chart .card-summary{-webkit-line-clamp:3}
.featured-overview.with-chart .thumbnail-fallback{padding:15px 20px}
.featured-overview.with-chart .thumbnail-fallback strong{font-size:18px;-webkit-line-clamp:2}
.featured-company-name{font-size:18px;line-height:1.7;margin:0 0 12px}
.featured-chart{min-width:0}.featured-chart .chart-panel{padding:16px}.featured-chart .chart-panel h3{font-size:16px}
.chart-scroll{overflow-x:auto}.target-chart{min-width:0}
.chart-legend button{font-size:12px;min-height:34px;padding:6px 9px}
.chart-help,.chart-panel .subtle{font-size:12px}.axis-label{font-size:13px}
.ratings-link{display:inline-block;color:var(--red-dark);font-weight:700;font-size:14px;margin:12px 0}
.target-summary{margin:16px 0 8px}.target-card{padding:12px}.target-card>strong{font-size:27px}.summary-help{margin-bottom:18px}
.history-destination{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:30px}.history-destination h2{font-size:20px}.history-destination p{font-size:14px;color:var(--muted)}

.ratings-page .site-nav{gap:18px}
.ratings-intro h1{font-size:30px}.ratings-intro p{margin-bottom:10px}.ratings-intro .subtle{font-size:13px}
.ratings-filters{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:24px 0 14px}
.ratings-filters label{display:grid;gap:6px;font-size:14px;font-weight:700;flex:1 1 240px;min-width:0}
.ratings-filters select{font:inherit;font-weight:400;color:var(--ink);background:white;border:1px solid #c8c0b3;border-radius:6px;padding:10px;min-width:0;width:100%;max-width:100%}
.ratings-filters button{border:0;min-height:44px}.ratings-filters>a{font-size:14px;text-decoration:underline;padding:10px 0}
.ratings-selected{display:flex;flex-wrap:wrap;gap:10px}.ratings-selected a{background:white;border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:13px}
#ratings-status{font-variant-numeric:tabular-nums;font-size:14px;margin:16px 0 8px}
.ratings-table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}
.ratings-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.65;font-variant-numeric:tabular-nums}
.ratings-table th{background:#f2eee6;text-align:left;font-size:13px;padding:14px 12px}
.ratings-table td{padding:16px 12px;border-top:1px solid var(--line);vertical-align:top}
.ratings-table th:nth-child(1){width:11%}.ratings-table th:nth-child(2){width:19%}.ratings-table th:nth-child(3){width:17%}.ratings-table th:nth-child(4){width:15%}.ratings-table th:nth-child(5){width:21%}.ratings-table th:nth-child(6){width:17%}
.ratings-table td:first-child{white-space:nowrap}.ratings-table td>a{color:var(--red-dark)}
.ratings-table .pills{margin:0;gap:5px}.ratings-table .pill{font-size:11px}
.broker-cross-link{display:block;font-size:12px;margin-top:8px;line-height:1.6}
.ratings-table .value-arrow{margin:0 2px}
@media(min-width:1400px){.chart-panel:not(.featured-chart .chart-panel) .target-chart{max-height:340px}.featured-chart .target-chart{min-width:0}}
@media(min-width:1000px) and (max-width:1199px){.site-nav{gap:16px;font-size:13px}.ratings-page .header-inner{flex-wrap:wrap}.ratings-page .site-nav{margin-left:auto}}
@media(max-width:999px){.brand-hero{height:230px}.hero-inner{padding-top:28px}.hero-compact{height:140px}.featured-overview.with-chart{grid-template-columns:1fr}.featured-chart .target-chart{min-width:0}.ratings-page .menu-toggle{margin-left:auto}.ratings-page .ratings-table{min-width:0;width:100%;table-layout:fixed}}
@media(max-width:600px){.brand-hero{height:220px}.hero-art{width:625px;right:-80px}.brand-hero:after{background:linear-gradient(90deg,#faf8f3f5,#faf8f3dc 30%,#faf8f35e 57%,transparent 85%)}.hero-inner{padding:22px 20px}.hero-title{font-size:23px;max-width:195px}.hero-compact{height:130px}.hero-compact .hero-art{width:400px;right:-75px}.hero-compact .hero-title{font-size:20px}.featured-overview.with-chart .card-image{aspect-ratio:16/9}.featured-overview.with-chart .card-copy h3{font-size:21px}.target-card{padding:12px 5px}.target-card>strong{font-size:19px}.ratings-intro h1{font-size:25px}.ratings-filters{padding:16px;gap:12px}.ratings-filters label{flex-basis:100%}.ratings-filters button{font-size:14px}.ratings-table-wrap{border:0;background:none;overflow:visible}.ratings-page .ratings-table{min-width:0;display:block;table-layout:auto}.ratings-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.ratings-table tbody{display:block}.ratings-table tr{display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:12px;gap:10px}.ratings-table td{display:block;border:0;padding:0;min-width:0;font-size:14px}.ratings-table td:before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.ratings-table td:nth-child(2){grid-column:1/-1;grid-row:1}.ratings-table td:nth-child(4),.ratings-table td:nth-child(5),.ratings-table td:nth-child(6){grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px}.ratings-table .broker-cross-link{font-size:11px;margin-top:4px}.ratings-page .reading-layout{padding:20px 16px 40px}}
.target-chart.responsive-chart,.featured-chart .target-chart.responsive-chart{min-width:0;max-height:none;width:100%}.responsive-chart .axis-label{font-size:12px}

:root{--background:#f9f9f8;--line:#e5e3de;--blue:#EDF6FC}
body,.site-drawer{background:var(--background)}
.header-inner{gap:24px;flex-wrap:wrap}.header-brand{display:flex;align-items:center;gap:12px;min-width:0;white-space:normal;letter-spacing:0;font-style:normal;flex:0 1 auto}
.brand-face{display:block;flex:0 0 56px;width:56px;height:56px;border-radius:50%;border:1px solid #f0d8d9;background-image:url('/assets/brand/mentai-hero.png');background-repeat:no-repeat;background-size:205px 82px;background-position:71% 15%;background-color:white}
.brand-text{display:grid;gap:5px;min-width:0}.brand-name{font-size:22px;line-height:1.4;font-weight:800}.brand-subcopy{font-size:13px;color:var(--muted);font-weight:500;line-height:1.5}.site-nav{gap:20px}.ratings-page .site-nav{margin-left:auto}
.brand-hero,.hero-compact{height:auto;min-height:245px;background:var(--background);border-color:var(--line)}
.hero-art,.hero-compact .hero-art{width:min(100%,1150px);height:100%;max-width:none;right:0;object-fit:contain;object-position:right center}
.brand-hero:after{background:linear-gradient(90deg,#f9f9f8 0%,#f9f9f8f5 28%,#f9f9f8c9 43%,transparent 65%)}
.hero-inner,.hero-compact .hero-inner{padding:26px 36px;max-width:1440px}.hero-title,.hero-compact .hero-title{font-size:30px;max-width:540px;margin-bottom:12px}.hero-description,.hero-compact .hero-description{display:block;font-size:15px;line-height:1.9;max-width:570px;margin-bottom:0}.hero-inner .eyebrow{margin-bottom:10px}
.featured-section{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.featured-overview.with-chart{align-items:stretch;gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}
.featured-story,.featured-chart{min-width:0}.featured-story .article-card{border:0;border-radius:0;box-shadow:none;height:100%}.featured-overview.with-chart .card-copy{padding:16px 0 0}.featured-overview .card-summary,.featured-overview .thumbnail-fallback strong{display:block;overflow:visible;-webkit-line-clamp:unset}.featured-overview .card-image{border-radius:9px}
.featured-chart{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:24px}.featured-chart .chart-panel{border:0;border-radius:0;padding:0;background:none;flex:1}.featured-chart>.ratings-link{margin-bottom:0}.featured-company-name{margin:0 0 12px;font-size:18px;line-height:1.6}
.card-company{font-size:14px;font-weight:700}.card-company a{color:#245f83;text-decoration:underline;text-underline-offset:3px}.card-company a:after{content:' →'}.card-company a:hover{color:#174564}
.theme-pills a,.explore-themes>a{display:inline-flex;align-items:center;border-radius:8px;background:#EDF6FC;color:#245f83;border:1px solid #c8e1f2;font-size:14px;line-height:1.6;padding:8px 12px}.theme-pills a:hover,.theme-pills a:focus-visible,.explore-themes>a:hover,.explore-themes>a:focus-visible{background:#dceefb;border-color:#69a6ce;color:#174564}.explore-themes small{color:#416780;font-size:12px}
.summary-title{font-size:16px;margin:20px 0 10px}.target-summary{gap:0;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0 0 10px}.target-card{background:white;border:0;border-right:1px solid var(--line);border-radius:0;padding:16px 18px;text-align:left}.target-card:last-child{border-right:0}.target-card h3{font-size:14px;min-height:0;max-width:none;margin:0 0 7px}.target-card>strong{font-size:28px;line-height:1.35;white-space:normal;letter-spacing:0}.target-card .amount-unit{font-size:14px;font-weight:500;margin-left:5px}.target-card small{font-size:12px;margin-top:5px}.summary-help{font-size:13px}
.recent-history{margin-bottom:32px}.recent-history h2{font-size:21px}.company-history th:nth-child(1){width:16%}.company-history th:nth-child(2){width:20%}.company-history th:nth-child(3){width:19%}.company-history th:nth-child(4){width:25%}.company-history th:nth-child(5){width:20%}.company-history th,.company-history td{padding:13px 10px}.history-continuation{height:18px;background:linear-gradient(#eeeae5,transparent);margin:0 8px;pointer-events:none}.recent-history>.ratings-link{margin-top:14px}
.shared-x-block{background:white;border:1px solid #efc6cf;border-radius:12px;overflow:hidden;min-width:0;max-width:100%}.x-cta{padding:20px}.x-cta-heading{display:flex;align-items:center;gap:12px}.x-cta h2{font-size:18px;line-height:1.5;margin:0}.x-cta p{font-size:14px;line-height:1.8;margin:12px 0}.x-account{display:block;font-size:14px;font-weight:700;margin:8px 0 14px}.x-follow{display:block;background:var(--red);color:white;font-size:14px;font-weight:700;text-align:center;padding:11px;border-radius:7px}.x-follow:hover{background:var(--red-dark);color:white}
@media(min-width:1000px) and (max-width:1279px){.header-inner{padding:14px 26px;gap:12px}.brand-name{font-size:21px}.site-nav{gap:16px;font-size:13px}.brand-hero .hero-description{max-width:520px}.featured-section{padding:20px}.featured-chart{padding-left:18px}.featured-overview.with-chart{gap:18px}}
@media(max-width:999px){.header-inner{flex-wrap:nowrap;gap:12px}.header-brand{flex:1;gap:9px}.brand-face{flex-basis:48px;width:48px;height:48px;background-size:176px 70px}.brand-name{font-size:20px}.brand-subcopy{font-size:12px}.menu-toggle{flex-shrink:0}.featured-overview.with-chart{grid-template-columns:1fr}.featured-chart{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}.hero-inner,.hero-compact .hero-inner{padding:24px}.hero-title,.hero-compact .hero-title{max-width:450px}.hero-description,.hero-compact .hero-description{max-width:470px}.hero-art,.hero-compact .hero-art{width:100%;object-fit:contain;object-position:right center}.brand-hero:after{background:linear-gradient(90deg,#f9f9f8f5,#f9f9f8eb 35%,#f9f9f89e 60%,transparent)}.recent-history .ratings-table-wrap{overflow:auto}.company-history{min-width:0;width:100%;table-layout:fixed}}
@media(max-width:600px){.header-inner{padding:10px 12px;gap:8px;align-items:center}.brand-face{flex-basis:42px;width:42px;height:42px;background-size:154px 62px}.brand-name{font-size:17px;line-height:1.4}.brand-subcopy{font-size:11px;line-height:1.5}.brand-text{gap:3px}.menu-toggle{padding:8px 7px;font-size:12px}.brand-hero,.hero-compact{min-height:0}.hero-art,.hero-compact .hero-art{width:100%;height:auto;top:0;right:0;object-fit:contain}.brand-hero:after{background:linear-gradient(180deg,transparent 0,#f9f9f82b 80px,#f9f9f8 160px);pointer-events:none}.hero-inner,.hero-compact .hero-inner{padding:145px 20px 22px}.hero-title,.hero-compact .hero-title{font-size:24px;max-width:none;line-height:1.55;margin-bottom:10px}.hero-description,.hero-compact .hero-description{font-size:14px;max-width:none;line-height:1.9}.hero-inner .eyebrow{font-size:10px;max-width:none}.featured-section{padding:18px}.featured-overview.with-chart .card-copy{padding:16px 0 0}.featured-chart .chart-panel{padding:0}.target-summary{grid-template-columns:1fr}.target-card{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline;padding:12px 16px;border-right:0;border-bottom:1px solid var(--line)}.target-card:last-child{border-bottom:0}.target-card h3{font-size:14px;margin:0}.target-card>strong{font-size:26px}.target-card small{grid-column:1/-1;margin:0;font-size:12px}.summary-help{font-size:13px}.recent-history .ratings-table-wrap{overflow:visible}.company-history{min-width:0;display:block}.company-history tr{grid-template-columns:1fr 1fr}.company-history td:nth-child(2){grid-column:auto;grid-row:auto}.company-history td:nth-child(3),.company-history td:nth-child(4),.company-history td:nth-child(5){grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px}.recent-history h2{font-size:19px}.history-continuation{margin-top:-2px}.theme-pills a{font-size:14px;min-height:40px}.card-company{font-size:14px}}

.header-brand .brand-face{background:none;border:0;border-radius:0;flex:0 0 48px;width:48px;height:48px;object-fit:contain}
.header-inner{gap:16px;align-items:center}.header-company-search{position:relative;flex:1 1 230px;max-width:310px;margin-left:auto;font-size:13px;font-weight:600}.header-company-search>summary{cursor:pointer;list-style:none;color:#245f83;padding:8px;border:1px solid var(--line);border-radius:7px;background:white}.header-company-search[open]>summary{display:none}.header-company-search .company-search-status{position:absolute;background:white;top:100%;margin:0;z-index:32;font-size:12px;padding:0 8px;max-width:100%}.header-company-search .company-search-results:not([hidden])~.company-search-status{position:static;padding:4px 0;background:none}.company-search{position:relative;min-width:0}.company-search>label{display:block;font-size:13px;line-height:1.5;margin-bottom:5px}.company-search-controls{display:flex;gap:6px;align-items:center}.company-search-controls input{width:100%;min-width:0;font:inherit;font-weight:400;padding:9px 10px;border:1px solid #c8c0b3;border-radius:6px;background:white;color:var(--ink);height:43px}.company-search-clear{border:1px solid var(--line);border-radius:6px;background:white;padding:8px;font-size:12px;white-space:nowrap}.company-search-results{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #bdd7e8;border-radius:8px;box-shadow:0 8px 24px #16213b18;list-style:none;padding:4px;margin:4px 0;max-height:300px;overflow:auto;z-index:40}.company-search-results a,.company-search-results button{display:block;width:100%;text-align:left;border:0;background:white;border-radius:4px;padding:10px;font-size:14px;line-height:1.6;cursor:pointer;color:#245f83}.company-search-results [aria-selected="true"]>* ,.company-search-results a:hover,.company-search-results button:hover{background:#edf6fc;color:#174564}.company-search-status{font-size:12px;line-height:1.6;color:var(--muted);margin:5px 0 0;min-height:0}.ratings-filters>.company-search{flex:1 1 240px}.ratings-filters .company-search>label{font-size:14px}.ratings-filters .company-search-results{top:70px}.ratings-filters .company-search-controls button{min-height:43px;border:1px solid var(--line)}
.brand-hero,.hero-compact{min-height:230px}.hero-inner,.hero-compact .hero-inner{padding-top:22px;padding-bottom:22px}.hero-art,.hero-compact .hero-art{width:min(100%,1400px);right:clamp(0px,4vw,80px);object-fit:contain;object-position:center center}.brand-hero:after{background:linear-gradient(90deg,#f9f9f8 0%,#f9f9f8f0 25%,#f9f9f8b3 48%,transparent 72%)}.hero-description,.hero-compact .hero-description{max-width:none;font-size:15px;line-height:1.9}.hero-description>span{display:block}.hero-title,.hero-compact .hero-title{margin-bottom:8px}.hero-inner .eyebrow{margin-bottom:6px}
.section-icon{display:inline-block;width:20px;height:20px;flex:none;vertical-align:-3px;margin-right:8px;color:var(--red-dark)}.ratings-intro h1 .section-icon{width:25px;height:25px}.ratings-intro h1:before{content:"";display:inline-block;width:5px;height:25px;vertical-align:-2px;margin-right:10px;border-radius:3px;background:var(--red)}.ratings-table tr.date-start td{border-top:2px solid #c7c1b7;padding-top:19px}.ratings-table tr.date-start td:first-child time{font-weight:750}.ratings-table tr.date-start:first-child td{border-top:0}.no-rating-art{display:block;width:min(100%,340px);height:auto;object-fit:contain;margin:0 auto 20px}.under-cta{display:block;width:100%;height:auto;object-fit:contain;margin:0;padding:0 8px 8px}.shared-x-block .x-cta{padding-bottom:14px}
@media(min-width:1000px){.header-inner .site-nav{order:3;flex:1 1 100%;margin-left:60px;justify-content:flex-end;gap:28px}.header-inner .menu-toggle{order:4}.header-company-search label{font-size:12px}.header-company-search{align-self:center}.hero-description>span{white-space:nowrap}}
@media(min-width:1440px){.header-inner{padding-top:10px;padding-bottom:10px}.header-inner .site-nav{gap:30px}}
@media(max-width:999px){.header-company-search{flex:0 0 auto;margin-left:0}.header-company-search[open]{position:static}.header-company-search[open]>summary{display:block}.header-company-search>.company-search{position:absolute;top:100%;left:12px;right:12px;padding:14px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #15213c20;z-index:35}.header-company-search .company-search-status{position:static;padding:4px 0}.header-company-search .company-search-results{top:68px;left:14px;right:14px}.header-company-search>summary{font-size:12px;white-space:nowrap}.header-inner{gap:7px}.header-inner .brand-name{font-size:18px}.brand-hero .hero-art{right:0;width:100%;object-position:center}.hero-description>span{white-space:normal}.brand-hero:after{background:linear-gradient(90deg,#f9f9f8f2,#f9f9f8dd 40%,#f9f9f888 70%,transparent)}}
@media(max-width:600px){.header-brand .brand-face{width:42px;height:42px;flex-basis:42px}.header-brand{gap:5px}.header-inner .brand-name{font-size:16px}.header-inner .brand-subcopy{font-size:11px}.header-company-search>summary{padding:8px 5px}.menu-toggle{padding:8px 5px}.brand-hero,.hero-compact{min-height:0}.hero-art,.hero-compact .hero-art{width:100%;right:0;top:0;height:auto;object-fit:contain}.brand-hero:after{background:linear-gradient(180deg,transparent 0,#f9f9f82b 80px,#f9f9f8 160px)}.hero-inner,.hero-compact .hero-inner{padding:145px 20px 22px}.hero-description,.hero-compact .hero-description{font-size:14px;line-height:1.9}.hero-description>span+span{margin-top:3px}.ratings-filters>.company-search{flex-basis:100%}.ratings-table tr.date-start{border-top:2px solid #c7c1b7;margin-top:20px}.ratings-table tr.date-start:first-child{margin-top:0}.ratings-table tr.date-start td{border-top:0;padding-top:0}.ratings-table tr.date-start td:nth-child(n+4){border-top:1px solid var(--line);padding-top:8px}.section-icon{width:19px;height:19px}.no-rating-art{max-width:280px}}

.explore-block .section-heading h2:before{content:none}
.explore-search-hint{font-size:12px;color:var(--muted);line-height:1.7;margin:16px 0 0}
.explore-search-hint a{color:#245f83;text-decoration:underline}
.sidebar-search h2,.drawer-search h2{font-size:17px}
.sidebar-search .company-search-results,.drawer-search .company-search-results{position:static;margin:8px 0 0;max-height:260px}
.site-sidebar{align-self:start}
@media(min-width:1000px){
 .site-sidebar{position:sticky;top:18px;max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;padding:0 5px 3px 0}
 .header-inner,.ratings-page .header-inner{flex-wrap:nowrap;min-height:76px;padding:12px 26px;gap:20px}
 .header-brand{flex:0 1 auto;max-width:480px}
 .brand-name{font-size:20px}.brand-subcopy{font-size:12px}
 .header-inner .site-nav,.ratings-page .site-nav{order:0;flex:0 0 auto;margin-left:auto;gap:20px;justify-content:flex-end;font-size:14px}
 .header-inner .menu-toggle{order:0}
}
@media(min-width:1000px) and (max-width:1199px){
 .header-inner,.ratings-page .header-inner{gap:12px;padding:10px 20px}
 .brand-name{font-size:18px}.brand-subcopy{font-size:11px}
 .header-inner .site-nav,.ratings-page .site-nav{gap:12px;font-size:13px}
}
@media(max-width:999px){.site-sidebar{position:static;max-height:none;overflow:visible}.drawer-search{margin-top:16px}.header-inner{min-height:72px}.header-inner .brand-name{font-size:18px}}
@media(max-width:600px){.header-inner .brand-name{font-size:17px}.header-inner .brand-subcopy{font-size:11px}.header-brand .brand-face{width:44px;height:44px;flex-basis:44px}}
.hero-art-frame{position:absolute;inset:0;max-width:1440px;margin:auto;overflow:hidden;pointer-events:none}
.hero-art-frame .hero-art,.hero-compact .hero-art-frame .hero-art{position:absolute;inset:0 0 0 auto;width:100%;height:100%;max-width:none;object-fit:contain;object-position:right center;transform:none}
.brand-hero{min-height:0}.hero-inner{min-height:260px;display:flex;flex-direction:column;justify-content:center}
.hero-compact .hero-inner{min-height:220px}
.brand-hero:after{background:linear-gradient(90deg,#f9f9f8 0%,#f9f9f8ef 28%,#f9f9f8aa 48%,transparent 70%)}
@media(max-width:999px) and (min-width:601px){.hero-description>span{white-space:normal;max-width:78%}.hero-inner{min-height:250px}}
@media(max-width:600px){
 .hero-art-frame{height:150px;width:100%;inset:0 0 auto;margin:0}
 .hero-art-frame .hero-art,.hero-compact .hero-art-frame .hero-art{object-fit:contain;object-position:center top;height:150px;width:100%}
 .brand-hero:after{background:linear-gradient(180deg,transparent 0,#f9f9f822 90px,#f9f9f8 150px)}
 .hero-inner,.hero-compact .hero-inner{min-height:0;padding:145px 20px 22px}.hero-description>span{max-width:none}
}
.series-dim{opacity:.22}
.chart-panel{position:relative}.chart-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chart-controls button{background:white;border:1px solid #c9d8e1;border-radius:6px;padding:7px 12px;font-size:13px;color:#245f83;cursor:pointer}
.chart-legend button[aria-pressed="false"]{opacity:1;background:#f6f6f5;color:#66717a;border-style:dashed}
.chart-legend button[aria-pressed="false"] .legend-color{opacity:.35}
.chart-tooltip{position:absolute;z-index:5;pointer-events:none;background:white;border:1px solid #d6d9dc;box-shadow:0 5px 18px #1221371a;border-radius:9px;padding:11px 14px;max-width:calc(100% - 16px);min-width:140px;font-size:13px;line-height:1.6;color:var(--ink)}
.chart-tooltip>strong,.chart-tooltip>span,.chart-tooltip>b{display:block}.chart-tooltip>strong{font-size:14px}.chart-tooltip>span{font-size:12px;color:var(--muted);margin:2px 0 5px}.chart-tooltip>b{font-weight:650;font-variant-numeric:tabular-nums}
.ratings-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) minmax(130px,.7fr) minmax(180px,1fr);align-items:start;gap:16px}
.ratings-filters label,.ratings-filters .company-search>label{font-size:14px;line-height:21px;font-weight:700;margin:0 0 6px;display:block}
.ratings-filters select{display:block;margin-top:6px;height:44px;padding:8px 10px}
.ratings-filters .company-search-controls{height:44px}.ratings-filters .company-search-controls input{height:44px}
.ratings-filters .company-search-status{min-height:0;margin:5px 0 0}
.ratings-filters .company-search-results{top:70px}
.ratings-filter-actions{grid-column:1/-1;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.ratings-filter-actions>a{font-size:14px;text-decoration:underline}
.filter-help{grid-column:1/-1;font-size:12px;color:var(--muted);margin:0}
.ratings-company-chart{margin:28px 0 32px;max-width:100%;padding-top:20px;border-top:1px solid var(--line)}
.ratings-company-chart>h2{font-size:21px;margin-bottom:6px}
.ratings-company-chart .target-chart{max-height:none}
.ratings-history-title{margin:28px 0 16px;font-size:22px}.ratings-history-title small{font-weight:400;font-size:13px;color:var(--muted);margin-left:8px}
.article-company-inline{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;background:#f6f9fb;border-left:3px solid #80b4d3;padding:11px 14px;margin:16px 0;font-size:14px;line-height:1.7}
.article-company-inline a{color:#245f83;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.admonition-title:before{content:none}.admonition-title .note-icon{vertical-align:-4px;width:21px;height:21px}
@media(max-width:999px){.ratings-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ratings-filters{grid-template-columns:minmax(0,1fr)}.ratings-filter-actions{align-items:stretch;flex-direction:column;gap:12px}.ratings-filter-actions a{padding:6px 0}.site-footer .brand{white-space:normal;font-size:22px;line-height:1.5}.ratings-company-chart>h2{font-size:20px}}

/* Directory, compact exploration and readable records. */
.site-sidebar .explore-block{padding:14px 16px;margin-bottom:12px}
.site-sidebar .section-heading{gap:8px;flex-wrap:wrap;margin-bottom:8px}

.site-sidebar .explore-companies a{padding:7px 0}
.site-sidebar .explore-search-hint{margin:8px 0 0;font-size:13px}
.site-sidebar .company-search-status{font-size:12px;line-height:1.5;margin:4px 0 0}
.site-sidebar .x-cta{padding:16px}
.footer-disclaimer{max-width:1100px;margin:24px auto 0;font-size:12px;line-height:1.85;color:#62615e;text-align:left}
.footer-disclaimer p{margin:0 0 10px}
.article-summary{background:#faf6f2;border-left:4px solid var(--red);border-radius:6px;padding:20px 24px;margin:22px 0;color:inherit}
.article-summary h2{font-size:17px;margin:0 0 10px;display:flex;gap:8px;align-items:center}
.article-summary p{font-size:16px;line-height:1.9;margin:0;white-space:pre-line}
.companies-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;background:white;border:1px solid var(--line);border-radius:12px;padding:20px;align-items:start}
.companies-filters label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.companies-filters select{min-height:42px;max-width:100%;padding:8px;border:1px solid #d9d9d4;border-radius:6px;background:white;font:inherit}
.companies-filters .directory-check{flex-direction:row;align-items:center;min-height:40px}
.directory-check input{width:18px;height:18px;accent-color:var(--red)}
.directory-reset{min-height:40px;border:1px solid #d9d9d4;border-radius:6px;background:white;font:inherit;cursor:pointer}
.company-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.directory-company{display:flex;flex-direction:column;gap:5px;min-width:0;padding:16px 18px;background:white;border:1px solid #e0dfdb;border-radius:10px;color:inherit;text-decoration:none;line-height:1.6}
.directory-company strong{font-size:16px;color:#235471;overflow-wrap:anywhere}
.directory-company:hover,.directory-company:focus-visible{border-color:#669fbd;background:#f4faff;outline:2px solid transparent}
.directory-classification,.directory-counts{font-size:13px;color:#65625c}
.zero-count{color:#888;background-color:#f8f8f8}
.company-search-results .zero-count{opacity:.62}
@media(min-width:1000px){.site-nav{gap:13px}.site-nav a{font-size:13px}.header-inner{gap:20px}.site-sidebar .explore-block h2{font-size:16px}}
@media(max-width:999px){.companies-filters{grid-template-columns:1fr 1fr}.companies-filters>.company-search{grid-column:1/-1}}
@media(max-width:600px){
 .company-directory{grid-template-columns:1fr;gap:8px}.directory-company{padding:12px 14px;gap:3px}.directory-company strong{font-size:15px}.directory-classification,.directory-counts{font-size:12px}
 .companies-filters{gap:12px;padding:14px}.companies-filters label{font-size:13px}
 .home-page .article-card .card-summary,.home-page .article-card time,.home-page .article-card .theme-pills{display:none}
 .home-page .article-card .card-copy{padding:12px}.home-page .article-card h3{margin:0 0 8px}.home-page .article-card .card-company{margin:0}
 .article-summary{padding:16px;margin:18px 0}.article-summary p{font-size:15px}
 .ratings-page .ratings-table tbody tr{display:flex;flex-wrap:wrap;gap:5px 8px;padding:11px 12px;border-radius:0;background:white;align-items:baseline;margin:0;box-shadow:none}
 .ratings-page .ratings-table tbody tr.date-start{border-top:2px solid #c6c5c0;padding-top:15px}
 .ratings-page .ratings-table td{display:block;padding:0;min-width:0;border:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
 .ratings-page .ratings-table td:before{display:none}
 .ratings-page td[data-label="日付"]{order:1;flex:0 0 calc(18% - 8px);white-space:nowrap;font-size:12px}
 .ratings-page td[data-label="証券会社"]{order:2;flex:0 0 calc(28% - 8px)}
 .ratings-page td[data-label="企業"]{order:3;flex:0 0 54%}
 .ratings-page td[data-label="格付け"]{order:4;flex:0 1 auto;max-width:100%}
 .ratings-page td[data-label="目標株価"]{order:5;flex:0 1 auto;max-width:100%}
 .ratings-page td[data-label="目標株価"]:before{display:inline;content:'TP ';font-size:11px;color:#777}
 .ratings-page .rating-year,.ratings-page .broker-cross-link{display:none}
 .ratings-page td[data-label="変更区分"]{order:6;flex:0 1 auto}
 .ratings-page td[data-label="変更区分"] .pills{gap:3px;margin:0}
 .ratings-page td[data-label="変更区分"] .pill{font-size:10px;padding:0 3px;line-height:1.5}
 .ratings-page td[data-label="変更区分"] .rating-maintain,.ratings-page td[data-label="変更区分"] .target-maintain{display:none}
 .ratings-page .has-company-condition td[data-label="企業"]{display:none}
 .ratings-page .has-company-condition td[data-label="証券会社"]{flex-basis:82%}
 .footer-disclaimer{font-size:12px;padding:0 4px;line-height:1.8}
}

@media(max-width:767px){.home-page .article-card .card-summary,.home-page .article-card time,.home-page .article-card .theme-pills{display:none}}

/* Intrinsic sizes must never expand the page beyond its viewport. */
.reading-layout>* ,.site-main>* ,.rating-main>* ,.featured-overview>*{min-width:0;max-width:100%}
.chart-panel,.chart-scroll,.ratings-table-wrap,.recent-history,.company-directory,.companies-filters,.ratings-filters{min-width:0;max-width:100%}
.target-chart{display:block;width:100%;max-width:100%;min-width:0}
.companies-filters{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}
.companies-filters>*{min-width:0}.companies-filters select{width:100%}
.target-highest{border-left:3px solid #c82c49}.target-median{border-left:3px solid #8b9096}.target-lowest{border-left:3px solid #327fa9}
.site-sidebar{gap:12px}.site-sidebar .explore-block{margin-bottom:0}.sidebar-search h2{display:flex;gap:7px;align-items:center}
.footer-copyright{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin:20px auto 0}
@media(min-width:1000px){
 .header-inner .menu-toggle,.ratings-page .menu-toggle{display:none!important}

}
@media(max-width:999px){.companies-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .home-page .article-card .card-summary,.home-page .article-card time,.home-page .article-card .theme-pills{display:none!important}
 .article-summary{padding:14px 16px;margin:18px 0;white-space:normal}.article-summary p{line-height:1.8}
 .company-history{display:block;table-layout:auto}.company-history tbody{display:block;width:100%}
 .company-history tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;background:white;border-bottom:1px solid var(--line)}
 .company-history thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .company-history td{display:block;min-width:0;padding:0;border:0;font-size:13px;overflow-wrap:anywhere}
 .company-history td:nth-child(n+3){grid-column:1/-1}.company-history .broker-cross-link{font-size:12px}
}

.ratings-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
.ratings-trend-controls{grid-column:1/-1;min-width:0;margin:4px 0 0;padding:14px 16px;border:1px solid #e7ddd8;border-left:3px solid var(--red);border-radius:8px;background:#faf7f5}
.ratings-trend-controls legend{font-size:16px;font-weight:700;padding:0 6px;display:flex;align-items:center;gap:6px}
.ratings-trend-controls>p{font-size:13px;line-height:1.7;margin:0 0 12px}
.ratings-trend-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ratings-trend-controls .filter-help{margin:8px 0 0}
.ratings-trend-controls .trend-pending{margin:10px 0 0;font-weight:700;color:#654036}
.ratings-filters select:disabled{background:#f3f3f1;color:#646467;cursor:not-allowed}
.ratings-trend-results{margin:22px 0 28px;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0}
.ratings-trend-results h2{font-size:19px;display:flex;gap:8px;align-items:center;margin:0 0 12px}
.ratings-trend-results>p{font-size:13px;line-height:1.7;margin:8px 0}
.ratings-trend-companies{list-style:none;padding:0;margin:12px 0 0}
.ratings-trend-companies>li{padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:start}
.trend-company-name{font-size:15px;font-weight:700;color:#245f83;overflow-wrap:anywhere}
.trend-company-reason{grid-column:1/-1;font-size:13px;line-height:1.8;color:#654036}
.trend-company-history{font-size:13px;color:#245f83;white-space:nowrap}
.ratings-trend-companies a:hover{text-decoration:underline}
.ratings-trend-companies a:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.ratings-page .ratings-table{min-width:0;width:100%;table-layout:fixed}
.ratings-page .ratings-table th,.ratings-page .ratings-table td{overflow-wrap:anywhere}
@media(min-width:1000px){.ratings-page .site-sidebar{display:grid;grid-column:2;grid-row:1}}
@media(max-width:600px){.ratings-filters{grid-template-columns:minmax(0,1fr)}.ratings-trend-controls{padding:12px}.ratings-trend-inputs{grid-template-columns:1fr;gap:10px}.ratings-trend-results{padding:16px}.ratings-trend-companies>li{grid-template-columns:minmax(0,1fr)}.trend-company-reason{grid-row:2}.trend-company-history{grid-row:3}}

/* Publication metadata is independent from the interactive controls. */
.page-introduction,.company-introduction{font-size:15px;line-height:1.85;color:var(--muted,#58616a)}
.article-author{white-space:nowrap}
.article-cover{margin:1.2rem 0 1.8rem}
.article-cover img{display:block;max-width:100%;max-height:360px;width:auto;height:auto;margin:auto;object-fit:contain;border-radius:8px}
.pill.coverage-start,.ratings-table .pills .pill.coverage-start{background:#eaf6ed;color:#25613b;border:1px solid #c7e5ce}
@media(max-width:767px){.article-cover img{max-height:240px}.company-introduction{font-size:14px}}

/* Shared display details; publication metadata and chart domains are independent. */
.home-page .hero-description>span{white-space:normal}
.ratings-intro>p{color:#5d6a7e}
.rating-abbreviations{display:flex;flex-wrap:wrap;gap:0 5px;margin:2px 0 12px;font-size:12px;line-height:1.7;color:#5d6a7e}
.rating-abbreviations>span:not(:last-child):after{content:' ,'}
.ratings-table abbr[title]{text-decoration:none;cursor:help}
.ratings-page .ratings-table tr.rating-date-group{display:none}
.article-dates .article-author{font:inherit;color:inherit}
.site-footer .footer-brand{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;white-space:normal;letter-spacing:normal;font-style:normal;line-height:1.6}
.footer-brand-name{color:var(--red);font-size:22px;font-weight:800}
.footer-brand-copy{color:#5d6a7e;font-size:14px;font-weight:500}
.chart-axis-unit{display:block;margin:0 0 2px 16px;color:#5d6a7e;font-size:12px;line-height:1}
.theme-pills a,.explore-themes>a{font-size:14px;line-height:1.6;padding:8px 12px;min-height:40px}

@media(max-width:767px){
 .ratings-page .ratings-table,.ratings-page .ratings-table tbody{display:block;width:100%}
 .ratings-page .ratings-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .ratings-page .ratings-table tbody tr[data-history-row]{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:'company company broker' 'rating target changes';gap:5px 8px;align-items:baseline;padding:10px 12px;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:white;box-shadow:none}
 .ratings-page .ratings-table tbody tr[data-history-row] td{display:block;min-width:0;max-width:100%;margin:0;padding:0;border:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere;order:initial}
 .ratings-page .ratings-table td:before{display:none}
 .ratings-page .ratings-table tbody tr[data-history-row] td[data-label="日付"]{display:none}
 .ratings-page .ratings-table td[data-label="企業"]{grid-area:company;display:block}
 .ratings-page .ratings-table td[data-label="証券会社"]{grid-area:broker}
 .ratings-page .ratings-table td[data-label="格付け"]{grid-area:rating}
 .ratings-page .ratings-table td[data-label="目標株価"]{grid-area:target}
 .ratings-page .ratings-table td[data-label="目標株価"]:before{display:inline;content:'TP ';font-size:11px;color:#5d6a7e}
 .ratings-page .ratings-table td[data-label="変更区分"]{grid-area:changes}
 .ratings-page .ratings-table .broker-cross-link{display:none}
 .ratings-page .ratings-table .value-arrow{margin:0 2px}
 .ratings-page .ratings-table td[data-label="変更区分"] .pills{gap:3px;margin:0}
 .ratings-page .ratings-table td[data-label="変更区分"] .pill{font-size:10px;padding:0 3px;line-height:1.5}
 .ratings-page .ratings-table td[data-label="変更区分"] .rating-maintain,.ratings-page .ratings-table td[data-label="変更区分"] .target-maintain{display:none}
 .ratings-page .ratings-table tr.rating-date-group:not([hidden]){display:block;background:#f9f9f8;border:0;border-top:1px solid #d6dadd;margin:0;padding:9px 12px 5px;border-radius:0;box-shadow:none}
 .ratings-page .ratings-table tr.rating-date-group th{display:block;padding:0;border:0;color:#5d6a7e;font-size:12px;line-height:1.6;text-align:left;background:transparent;font-weight:600}
 .footer-brand-copy{font-size:13px}
}

/* Existing Rating categories are also conveyed in plain text, never by color alone. */
.home-latest-list .home-rating-row[data-change-kind="new"],
.ratings-page .ratings-table tbody tr[data-history-row][data-change-kind="new"],
.company-history tbody tr[data-history-row][data-change-kind="new"],
.home-latest-list .home-rating-row[data-change-kind="resume"],
.ratings-page .ratings-table tbody tr[data-history-row][data-change-kind="resume"],
.company-history tbody tr[data-history-row][data-change-kind="resume"]{background-color:#f3faf5}
.home-latest-list .home-rating-row[data-change-kind="upgrade"],
.ratings-page .ratings-table tbody tr[data-history-row][data-change-kind="upgrade"],
.company-history tbody tr[data-history-row][data-change-kind="upgrade"]{background-color:#fff7f8}
.home-latest-list .home-rating-row[data-change-kind="downgrade"],
.ratings-page .ratings-table tbody tr[data-history-row][data-change-kind="downgrade"],
.company-history tbody tr[data-history-row][data-change-kind="downgrade"]{background-color:#f5f8ff}
.home-latest-list .home-rating-row[data-change-kind="maintain"],
.ratings-page .ratings-table tbody tr[data-history-row][data-change-kind="maintain"],
.company-history tbody tr[data-history-row][data-change-kind="maintain"],
.home-latest-list .home-rating-row[data-change-kind="other"],
.ratings-page .ratings-table tbody tr[data-history-row][data-change-kind="other"],
.company-history tbody tr[data-history-row][data-change-kind="other"]{background-color:#fff}
.ratings-page .rating-change-text{font-size:12px;line-height:1.5;color:#5d6a7e;margin-left:4px}

.ratings-result-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'conditions conditions' 'title source' 'count count';gap:7px 16px;align-items:center;min-width:0}
.ratings-result-heading>h2{grid-area:title;margin:0;font-size:19px;display:flex;align-items:center;gap:8px;min-width:0}
.ratings-result-heading>.result-source{grid-area:source;justify-self:end;display:flex;align-items:center;gap:3px;margin:0;color:#5d6a7e;font-size:12px;font-weight:400;line-height:1.6;white-space:nowrap}
.result-source img{display:block;flex:0 0 22px;width:22px;height:22px;object-fit:contain;margin-right:3px}
.result-source-name{color:#536070;font-weight:600}.result-source-domain{color:#697587}
.ratings-result-heading>.result-conditions{grid-area:conditions;margin:0;font-size:13px;line-height:1.7;color:#5d6a7e;overflow-wrap:anywhere}
.ratings-result-heading>.result-conditions:empty{display:none}
.ratings-result-heading>.result-count,.ratings-result-heading>#ratings-status{grid-area:count;margin:0;font-size:13px;line-height:1.7;color:#5d6a7e;font-weight:400}
.ratings-history-heading{grid-template-areas:'title source' 'conditions conditions' 'count count';margin:26px 0 10px}
.company-broker-mobile{display:none}
.article-body .preview-figure{width:90%;margin-left:auto;margin-right:auto}
.article-body .preview-figure>a{display:block}
.article-body .preview-figure>a:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:8px}
.article-body .preview-figure img{display:block}
.article-body .preview-gallery .preview-figure{width:90%;flex:0 0 90%;max-width:none;margin-left:0;margin-right:0}
@media(max-width:767px){
 .ratings-result-heading{grid-template-columns:minmax(0,1fr);grid-template-areas:'title' 'source' 'conditions' 'count';gap:6px}
 .ratings-result-heading>.result-source{justify-self:start}
 .company-history .company-broker-desktop,.company-history .broker-cross-link{display:none}
 .company-history .company-broker-mobile{display:inline;font-weight:700;color:#245f83}
 .company-history .rating-year{display:inline}
 .company-history tbody tr[data-history-row]{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1fr);grid-template-areas:'date broker broker' 'rating target changes';gap:10px 8px;align-items:start}
 .company-history tbody tr[data-history-row]>td{grid-column:auto;grid-row:auto;padding:0;border:0;line-height:1.6;overflow-wrap:anywhere}
 .company-history tbody tr[data-history-row]>td:before{display:block;content:attr(data-label);font-size:11px;line-height:1.5;color:#5d6a7e;margin-bottom:3px}
 .company-history tbody tr[data-history-row]>td[data-label="日付"]{grid-area:date}
 .company-history tbody tr[data-history-row]>td[data-label="証券会社"]{grid-area:broker}
 .company-history tbody tr[data-history-row]>td[data-label="格付け"]{grid-area:rating}
 .company-history tbody tr[data-history-row]>td[data-label="目標株価"]{grid-area:target}
 .company-history tbody tr[data-history-row]>td[data-label="変更区分"]{grid-area:changes}
 .company-history tbody tr[data-history-row]>td[data-label="変更区分"]:before{display:none}
 .company-history td[data-label="変更区分"] .pills{margin:0;flex-wrap:wrap}
 .article-body .preview-figure{width:100%;margin-left:0;margin-right:0}
 .article-body .preview-gallery .preview-figure{width:100%;flex-basis:100%}
}

.ratings-page .ratings-table .rating-change-summary{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:100%}
.ratings-page .ratings-table .rating-change-summary .rating-change-text{margin:0;max-width:100%;overflow-wrap:anywhere}
.ratings-page .ratings-table .rating-change-summary>.pill{flex:0 0 auto}
.ratings-page .ratings-table .rating-broker-link{font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.ratings-page .ratings-table .rating-broker-link:hover{text-decoration:underline}
.ratings-page .ratings-table .rating-broker-link:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:767px){
 .ratings-page .ratings-table tbody tr[data-history-row]{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr) minmax(0,112px)}
 .ratings-page .ratings-table td[data-label="変更区分"] .rating-change-summary{flex-direction:row;align-items:center;flex-wrap:wrap;gap:3px}
}
@media(max-width:359px){
 .ratings-page .ratings-table tbody tr[data-history-row]{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr) minmax(0,90px)}
}

.ratings-table td[data-label="日付"]{white-space:nowrap}
.ratings-table td[data-label="日付"] time,.ratings-table tr.rating-date-group time{display:inline-block;min-width:10ch;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}
.ratings-page .ratings-table tr.rating-date-group>th{width:100%;min-width:10ch;white-space:nowrap}
.company-history .rating-broker-link{font-weight:700;color:#245f83;overflow-wrap:anywhere}
.company-history .rating-broker-link:hover{text-decoration:underline}
.company-history .rating-broker-link:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:767px){
 .recent-history .ratings-table-wrap{overflow:visible;border:1px solid var(--line);border-radius:10px;background:white}
 .company-history,.company-history tbody{display:block;width:100%;min-width:0}
 .company-history tbody tr[data-history-row]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-template-areas:'date broker' 'rating target' 'changes changes';gap:4px 10px;align-items:baseline;padding:8px 10px;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;min-width:0;max-width:100%}
 .company-history tbody tr[data-history-row]:last-child{border-bottom:0}
 .company-history tbody tr[data-history-row]>td{display:block;min-width:0;max-width:100%;padding:0;margin:0;border:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
 .company-history tbody tr[data-history-row]>td:before{display:none}
 .company-history tbody tr[data-history-row]>td[data-label="日付"]{grid-area:date;min-width:10ch;white-space:nowrap;font-size:12px}
 .company-history tbody tr[data-history-row]>td[data-label="証券会社"]{grid-area:broker;text-align:right}
 .company-history tbody tr[data-history-row]>td[data-label="格付け"]{grid-area:rating}
 .company-history tbody tr[data-history-row]>td[data-label="目標株価"]{grid-area:target}
 .company-history tbody tr[data-history-row]>td[data-label="目標株価"]:before{display:inline;content:'TP ';font-size:11px;color:#5d6a7e;margin:0}
 .company-history tbody tr[data-history-row]>td[data-label="変更区分"]{grid-area:changes}
 .company-history td[data-label="変更区分"] .pills{justify-content:flex-end;flex-wrap:wrap;gap:3px;margin:0}
 .company-history .value-arrow{margin:0 2px}
}

.ratings-result-heading>.history-company-context{grid-area:company;margin:0;min-width:0;font-size:14px;line-height:1.6;color:#39495a;overflow-wrap:anywhere}
.ratings-page .has-company-condition .ratings-history-heading{grid-template-areas:'title source' 'conditions conditions' 'count count'}
.ratings-page .has-company-condition .ratings-table [data-label="企業"]{display:none}
.ratings-page .has-company-condition .ratings-table th:nth-child(1){width:16%}
.ratings-page .has-company-condition .ratings-table th:nth-child(3){width:20%}
.ratings-page .has-company-condition .ratings-table th:nth-child(4){width:19%}
.ratings-page .has-company-condition .ratings-table th:nth-child(5){width:25%}
.ratings-page .has-company-condition .ratings-table th:nth-child(6){width:20%}
.ratings-page .has-company-condition .ratings-table .rating-broker-link{color:#245f83}
.company-history-heading{grid-template-areas:'title source' 'company count';margin-bottom:12px}
.company-history-heading>.result-count{justify-self:end;white-space:nowrap}
@media(max-width:767px){
 .ratings-history-heading,.ratings-page .has-company-condition .ratings-history-heading{grid-template-areas:'title' 'source' 'conditions' 'count'}
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-template-areas:'date broker' 'rating target' 'changes changes';gap:4px 10px;padding:8px 10px}
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]>td[data-label="日付"]{display:block;grid-area:date;min-width:10ch;white-space:nowrap;font-size:12px}
 .ratings-page .has-company-condition .ratings-table .rating-year{display:inline}
 .ratings-page .has-company-condition .ratings-table td[data-label="証券会社"]{text-align:right}
 .ratings-page .has-company-condition .ratings-table td[data-label="変更区分"] .rating-change-summary{justify-content:flex-end}
 .company-history-heading{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title count' 'company company' 'source source';gap:6px 10px}
}

.ratings-help{min-width:0;margin:8px 0;color:#5d6a7e;font-size:13px;line-height:1.7}
.ratings-help>summary{cursor:pointer;width:fit-content;max-width:100%;padding:3px 0;font-weight:600}
.ratings-help>summary:hover{color:var(--red-dark)}
.ratings-help>summary:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}
.ratings-help>p{font-size:inherit;line-height:inherit;margin:6px 0 8px}
.rating-abbreviations-help{margin:6px 0 10px}
.rating-abbreviations-help .rating-abbreviations{flex-direction:column;gap:2px}
.rating-abbreviations-help .rating-abbreviations>span:after{content:none}
@media(max-width:767px){
 /* Single-company histories retain the shared date/broker first line. */
 .company-history tbody tr[data-history-row],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]{grid-template-areas:'meta meta meta' 'rating target changes';gap:4px 4px;padding:8px 6px}
 /* Independent date/broker widths prevent a long broker from widening the change column. */
 .company-history tbody tr[data-history-row]>td[data-label="日付"],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]>td[data-label="日付"]{grid-area:meta;justify-self:start;width:10ch;min-width:10ch}
 .company-history tbody tr[data-history-row]>td[data-label="証券会社"],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]>td[data-label="証券会社"]{grid-area:meta;justify-self:end;width:calc(100% - 12ch);text-align:right}
 .company-history tbody tr[data-history-row]>td[data-label="格付け"],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]>td[data-label="格付け"]{grid-area:rating}
 .company-history tbody tr[data-history-row]>td[data-label="目標株価"],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]>td[data-label="目標株価"]{grid-area:target}
 .company-history tbody tr[data-history-row]>td[data-label="変更区分"],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]>td[data-label="変更区分"]{grid-area:changes}
 .company-history .value-arrow,
 .ratings-page .has-company-condition .ratings-table .value-arrow{margin:0}
 .company-history td[data-label="変更区分"] .pills,
 .ratings-page .has-company-condition .ratings-table td[data-label="変更区分"] .rating-change-summary{justify-content:flex-end;align-items:baseline;flex-wrap:wrap;gap:3px}
 .company-history td[data-label="変更区分"] .pill{padding-left:3px;padding-right:3px;max-width:100%;overflow-wrap:anywhere}
}

/* The closed disclosure shares one metadata row with the displayed-row count. */
.ratings-history-meta{grid-area:count;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;align-items:start;min-width:0}
.ratings-history-meta>.result-count{margin:0;padding:3px 0;color:#5d6a7e;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.ratings-history-meta>.rating-abbreviations-help{margin:0;min-width:0;max-width:100%;justify-self:end}
.ratings-history-meta>.rating-abbreviations-help>summary{margin-left:auto;white-space:nowrap}
.ratings-history-meta .rating-abbreviations{margin-bottom:6px;overflow-wrap:anywhere}
@media(max-width:767px){
 /* A viewport-sized first track fixes TP's left edge independently of each Rating value.
    The remaining tracks may wrap; the row keeps its font size and all data. */
 .company-history tbody tr[data-history-row],
 .ratings-page .ratings-table tbody tr[data-history-row],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]{grid-template-columns:clamp(84px,24vw,108px) minmax(0,1fr) fit-content(34%);column-gap:6px;padding-left:6px;padding-right:6px}
}

/* Public history links share one visual treatment in both table layouts. */
.ratings-table .rating-broker-link,
.company-history .rating-broker-link,
.ratings-page .ratings-table .rating-broker-link,
.ratings-page .has-company-condition .ratings-table .rating-broker-link{color:var(--red-dark);font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.ratings-table .rating-broker-link:hover,
.company-history .rating-broker-link:hover,
.ratings-page .ratings-table .rating-broker-link:hover,
.ratings-page .has-company-condition .ratings-table .rating-broker-link:hover{color:var(--red);text-decoration:underline}
.ratings-table .rating-broker-link:focus-visible{outline:2px solid var(--red);outline-offset:3px}
/* Desktop keeps the original inline TP values, with no extra visible label. */
.ratings-table .history-target-values{display:inline;font-variant-numeric:tabular-nums}
.ratings-table .history-target-label{display:none}
@media(max-width:767px){
 /* All record rows share fixed outer tracks, independent of text length or missing TP. */
 .company-history tbody tr[data-history-row],
 .ratings-page .ratings-table tbody tr[data-history-row],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]{grid-template-columns:clamp(84px,24vw,108px) minmax(0,1fr) clamp(96px,24vw,110px)}
 .company-history tbody tr[data-history-row],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]{grid-template-areas:'date date broker' 'rating target changes'}
 .company-history tbody tr[data-history-row]>td[data-label="日付"],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]>td[data-label="日付"]{grid-area:date}
 .company-history tbody tr[data-history-row]>td[data-label="証券会社"],
 .ratings-page .ratings-table tbody tr[data-history-row]>td[data-label="証券会社"],
 .ratings-page .has-company-condition .ratings-table tbody tr[data-history-row]>td[data-label="証券会社"]{grid-area:broker;justify-self:stretch;width:auto;min-width:0;text-align:left}
 .company-history td[data-label="変更区分"] .pills,
 .ratings-page .ratings-table td[data-label="変更区分"] .rating-change-summary,
 .ratings-page .has-company-condition .ratings-table td[data-label="変更区分"] .rating-change-summary{justify-content:flex-start;align-items:baseline;flex-wrap:wrap;text-align:left}
 /* Replace the old generated TP prefix with the explicit first subcolumn. */
 .company-history tbody tr[data-history-row]>td[data-label="目標株価"]:before,
 .ratings-page .ratings-table tbody tr[data-history-row]>td[data-label="目標株価"]:before{display:none;content:none}
 .ratings-table .history-target-values{display:grid;grid-template-columns:1.2em minmax(0,1fr) .9em minmax(0,1fr);column-gap:2px;align-items:baseline;width:100%;min-width:0;max-width:100%}
 .ratings-table .history-target-values>*{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
 .ratings-table .history-target-values>.history-target-label{display:block;color:#5d6a7e;font-size:11px;text-align:left;white-space:nowrap}
 .ratings-table .history-target-before{text-align:right}
 .ratings-table .history-target-values>.history-target-arrow{margin:0;text-align:center;white-space:nowrap}
 .ratings-table .history-target-after{text-align:left}
}

/* Featured above 600px shares one 16:9 frame and keeps the complete thumbnail visible.
   The <=600px presentation and ordinary article cards remain unchanged.
   Negating the existing max-width boundary also covers fractional viewport widths. */
@media not all and (max-width:600px){
 .home-page .featured-story .featured-card .card-image{position:relative;width:100%;height:auto;min-height:0;aspect-ratio:16/9;align-self:start}
 .home-page .featured-story .featured-card .card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
}

/* r53: raw TP and company events use separate presentation roles. */
.ca-marker{stroke:#697386;stroke-width:2;stroke-dasharray:5 4;cursor:help}
.ca-marker:focus{stroke:#25364d;stroke-width:4;outline:none}
.ca-marker-label{font-size:10px;fill:#475569;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.ca-chart-legend{font-size:.8rem;color:#475569;margin:.7rem 0;padding-left:1.2rem}
.chart-basis-help{font-size:.8rem;line-height:1.7;color:#64748b}
.ca-history-row{background:#f0f4f8}
.ca-history-row small{display:block;font-size:.75rem;line-height:1.7;color:#526071}
.ca-history-row .pill{margin-left:.7rem}
.target-split,.target-consolidation,.target-corporate_action_only{background:#e8edf7;color:#345073}
.target-review,.pill[data-tp-semantic="split"]{background:#fff3d4;color:#775919}
.current-targets{margin:1rem 0}
.current-targets summary{cursor:pointer;font-weight:600}
.current-target-table{width:100%;border-collapse:collapse;font-size:.86rem}
.current-target-table th,.current-target-table td{padding:.65rem;text-align:left;border-bottom:1px solid #e2e8f0}
.current-target-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:767px){.ratings-table .ca-history-row td[colspan]{grid-column:1/-1}}

@media(max-width:767px){
 .ratings-table tbody tr.ca-history-row{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:none;gap:8px;margin:0;padding:12px;background:#f0f4f8;border:0;border-bottom:1px solid #d7dfe9;border-radius:0}
 .ratings-table tbody tr.ca-history-row>td{display:block;grid-area:auto;grid-column:1/-1;grid-row:auto;min-width:0;padding:0;border:0;white-space:normal}
 .ratings-page .ratings-table tbody tr.ca-history-row>td[data-label="企業"]{grid-area:auto;grid-column:1/-1}
}

/* r54: Company chart basis switch. Preserve the complete r52/r53 stylesheet. */
.chart-canvas[hidden]{display:none!important}
.chart-mode-controls{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.chart-mode-controls button{font:inherit;font-size:14px;min-height:44px;padding:8px 16px;border:1px solid #728596;border-radius:7px;background:#fff;color:#245f83;cursor:pointer}
.chart-mode-controls button[aria-pressed="true"]{color:#fff;background:#245f83;border-color:#245f83;font-weight:700}
.chart-mode-controls button:focus-visible{outline:3px solid #b33346;outline-offset:3px}
.chart-mode-controls button:disabled{cursor:default}
.ca-marker-label{font-size:10px}
@media(max-width:600px){.chart-mode-controls{gap:6px}.chart-mode-controls button{flex:1;min-width:0;padding:8px}}

/* Selected-company CA cards keep the date first on narrow screens. */
@media(max-width:767px){.ratings-page .has-company-condition .ratings-table tbody tr.ca-history-row>td[data-label="日付"]{grid-area:auto;grid-column:1/-1;grid-row:1}.ratings-page .has-company-condition .ratings-table tbody tr.ca-history-row>td[colspan]{grid-area:auto;grid-column:1/-1;grid-row:2}}


.ratings-trend-controls{margin-top:2px;padding:10px 14px}
.ratings-trend-controls>p{font-size:13px;line-height:1.6;margin:0 0 8px}
.ratings-trend-inputs{grid-template-columns:minmax(0,1fr);max-width:320px;gap:8px}


.ratings-condition-group{grid-column:1/-1;min-width:0;border:0;padding:0;margin:0}
.ratings-condition-group>legend{font-size:14px;font-weight:700;padding:0;margin:0 0 8px;color:var(--ink)}
.ratings-common-inputs{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));align-items:start;gap:16px}
.ratings-history-inputs{max-width:320px}
.ratings-trend-controls .ratings-trend-scope{margin:10px 0 0;color:var(--muted);font-size:12px}
@media(max-width:700px){.ratings-common-inputs{grid-template-columns:minmax(0,1fr);gap:12px}.ratings-history-inputs{max-width:none}}


.company-chart-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.company-chart-heading>h3{flex:0 0 auto;max-width:100%;margin:0;line-height:1.6;overflow-wrap:anywhere}
.company-chart-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:max-content;max-width:100%;min-width:0;margin-left:auto}
.company-chart-tools .chart-controls{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.company-chart-tools .chart-legend{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin:0;max-width:100%}
.company-chart-tools button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.company-chart-tools .chart-legend button{min-height:36px;line-height:1.5;padding:6px 9px;text-align:left}
.company-chart-tools .legend-color{flex:0 0 8px}
.company-chart-tools button:focus-visible{outline:3px solid #b33346;outline-offset:2px}
.company-chart-panel .company-plot-period{font-size:13px;line-height:1.7;margin:0}
.company-chart-basis{font-size:13px;line-height:1.7;margin:10px 0 0;font-weight:600;color:#39495a}
.company-chart-panel .ratings-help{margin:6px 0 12px}
.home-chart-guide>summary,.company-chart-panel .ratings-help>summary,.company-summary-help>summary{min-height:36px;display:flex;align-items:center;list-style:none;gap:7px}
.home-chart-guide>summary::before,.company-chart-panel .ratings-help>summary::before,.company-summary-help>summary::before{content:'＋';font-weight:700}
.home-chart-guide[open]>summary::before,.company-chart-panel .ratings-help[open]>summary::before,.company-summary-help[open]>summary::before{content:'−'}
.home-chart-guide>summary::-webkit-details-marker,.company-chart-panel .ratings-help>summary::-webkit-details-marker,.company-summary-help>summary::-webkit-details-marker{display:none}
.company-summary-basis{font-size:13px;line-height:1.8;margin-bottom:0}
.company-summary-help{margin:4px 0 18px}
.company-history-heading{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title source';align-items:start}
.company-history-heading>h2{min-width:0;line-height:1.6;overflow-wrap:anywhere}
.recent-history>.company-filter-link{font-size:13px;font-weight:500;color:#5d6a7e;margin-top:12px}
@media(max-width:767px){
 .company-chart-heading{display:block}
 .company-chart-heading>h3{margin-bottom:12px}
 .company-chart-tools{width:100%;align-items:flex-start;margin-left:0}
 .company-chart-tools .chart-legend{justify-content:flex-start}
 .company-chart-tools button,.company-chart-tools .chart-legend button,.home-chart-guide>summary,.company-chart-panel .ratings-help>summary,.company-summary-help>summary{min-height:44px}
 .company-history-heading{grid-template-columns:minmax(0,1fr);grid-template-areas:'title' 'source';gap:8px}
}


.company-chart-panel .company-chart-heading{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 14px;margin-bottom:12px}
.company-chart-panel .company-chart-heading>h3{flex:1 1 180px;min-width:0;margin:0;line-height:1.6}
.company-chart-panel .company-chart-guide{flex:0 0 auto;margin:0;max-width:100%}
.company-chart-panel .company-chart-guide[open]{flex-basis:100%}
.company-chart-panel .company-chart-guide>summary{min-height:36px;width:max-content;max-width:100%;margin-left:auto;font-size:14px;white-space:nowrap}
.company-chart-guide-copy{padding:12px 16px;margin-top:6px;background:#f5f8fa;border:1px solid #dce3eb;border-radius:8px;font-size:14px;line-height:1.85}
.company-chart-guide-copy p{margin:0 0 8px}.company-chart-guide-copy p:last-child{margin-bottom:0}
.company-chart-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:12px}
.company-chart-meta .chart-mode-controls{margin:0;flex:0 0 auto}
.company-chart-meta .company-plot-period,.company-chart-meta .company-chart-basis{margin:0;font-size:13px;line-height:1.8}
.company-chart-meta .company-chart-basis{font-weight:600;color:#39495a}
.company-chart-panel .company-chart-tools{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;width:100%;max-width:100%;gap:8px 16px;margin:0 0 12px}
.company-chart-panel .company-chart-tools .chart-legend{flex:1 1 300px;justify-content:flex-start;gap:6px}
.company-chart-panel .company-chart-tools .chart-controls{flex:0 0 auto;margin-left:auto}
.company-chart-panel .chart-canvas{margin-top:0}
.company-comparison{margin:18px 0 24px}
.company-comparison>h2{font-size:18px;line-height:1.6;margin:0 0 14px}
.company-comparison .target-summary{border:0;border-radius:0;margin:0 0 10px}
.company-comparison .target-card{padding:10px 16px;background:transparent}
.company-comparison .target-card:first-child{padding-left:0}
.company-comparison .target-label{font-size:14px;font-weight:600;line-height:1.6;margin:0 0 7px}
.company-comparison .company-summary-basis{margin:0 0 10px;font-size:13px}
.company-comparison .current-targets{margin:0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:4px 0}
.company-comparison .current-targets>summary{min-height:44px;display:flex;align-items:center;font-size:14px;gap:8px;list-style:none;cursor:pointer}
.company-comparison .current-targets>summary::before{content:'＋'}.company-comparison .current-targets[open]>summary::before{content:'−'}
.company-comparison .current-targets>summary::-webkit-details-marker{display:none}
.company-comparison summary:focus-visible{outline:3px solid #b33346;outline-offset:2px}
.company-comparison .company-summary-help{margin:4px 0 0;font-size:14px;line-height:1.8}
.company-comparison .company-summary-help>summary{min-height:40px;font-size:14px}
.company-comparison .comparison-detail-note{margin:4px 0 10px;font-size:13px;line-height:1.8;color:#5d6a7e}
.company-comparison .current-target-table{table-layout:fixed;min-width:0;width:100%}
.company-comparison .current-target-table th,.company-comparison .current-target-table td{overflow-wrap:anywhere}
@media(max-width:767px){
 .company-chart-panel .company-chart-heading{gap:8px}
 .company-chart-panel .company-chart-heading>h3{flex-basis:160px;font-size:16px}
 .company-chart-panel .company-chart-guide>summary{min-height:44px}
 .company-chart-meta{gap:6px 12px}
 .company-chart-meta .chart-mode-controls{width:100%}
 .company-chart-meta .company-plot-period,.company-chart-meta .company-chart-basis{font-size:13px}
 .company-chart-panel .company-chart-tools{flex-direction:column;align-items:stretch}
 .company-chart-panel .company-chart-tools .chart-legend{flex:0 1 auto}
 .company-chart-panel .company-chart-tools .chart-controls{margin-left:0}
 .company-comparison>h2{font-size:17px}
 .company-comparison .target-card,.company-comparison .target-card:first-child{padding:12px 0}
 .company-comparison .target-label{margin:0}
 .company-comparison .current-target-table{font-size:13px}
 .company-comparison .current-target-table th,.company-comparison .current-target-table td{padding:10px 5px;line-height:1.65}
 .company-comparison .company-summary-help>summary{min-height:44px}
}


.company-chart-guide-copy h4{font-size:14px;line-height:1.85;margin:0;font-weight:700}
.company-chart-panel .company-chart-update-note{margin:0 0 12px;font-size:12px;line-height:1.8;color:#5d6a7e}
.company-comparison .target-card,.company-comparison .target-card:first-child{padding-left:20px;padding-right:12px}
.company-comparison .current-targets .comparison-close-label{display:none}
.company-comparison .current-targets[open] .comparison-open-label{display:none}
.company-comparison .current-targets[open] .comparison-close-label{display:inline}
@media(max-width:767px){
 .company-comparison .target-card,.company-comparison .target-card:first-child{padding-left:16px;padding-right:8px}
}

/* Company reading: parallel headings and aligned article / company columns. */
.company-reading-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:20px;row-gap:10px;align-items:start}
.company-latest-article,.company-related{min-width:0;display:grid;grid-row:span 2;grid-template-rows:subgrid}
.company-reading-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;min-width:0}
.company-reading-heading h2{margin:0;font-size:20px;line-height:1.7}
.company-reading-heading>a{font-size:12px;line-height:1.7;font-weight:700;color:var(--red);white-space:nowrap}
.company-related-card{min-width:0;align-self:start;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:white}
.company-reading .article-card{align-self:start;border:1px solid var(--line);border-radius:var(--radius)}
.company-related-classification{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;margin:0;padding:14px 16px 2px;color:var(--muted);font-size:12px;line-height:1.65}
.company-related-classification .company-sector-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;max-width:100%;padding:8px 14px;border:1px solid #c35a70;border-radius:999px;background:var(--pale);color:var(--red-dark);font-size:13px;font-weight:700;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.company-related-classification .company-sector-pill>span:first-child{min-width:0}
.company-related-classification .company-sector-arrow{flex:none;font-size:16px;line-height:1}
.company-related-classification .company-sector-pill:hover,.company-related-classification .company-sector-pill:focus-visible{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
.company-related-classification .company-sector-pill:focus-visible{outline:3px solid #227fae;outline-offset:3px}
.company-related-list{list-style:none;margin:0;padding:0}
.company-related-list>li+li{border-top:1px solid var(--line)}
.company-related-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;padding:12px 16px}
.company-related-name{display:flex;gap:10px;align-items:baseline;min-width:0}
.company-related-name .company-code{flex:none;font-size:13px}
.company-related-name strong{font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.company-related-date{display:block;font-size:13px;line-height:1.7;color:var(--muted)}
.company-related-date time{font-variant-numeric:tabular-nums;white-space:nowrap}
.company-related-arrow{grid-column:2;color:var(--red)}
.company-related-list a,.company-related-list a:hover{color:var(--ink)}
.company-related-list a:hover,.company-related-list a:focus-visible{background:#fff7f8}
.company-related-list>li:last-child>a{border-radius:0 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px)}
.company-related-list a:focus-visible,.company-articles-all:focus-visible{outline:3px solid var(--red);outline-offset:-3px;border-radius:4px}
.company-reading-peers-only,.company-reading-article-only{grid-template-columns:minmax(0,1fr)}
.company-reading-article-only .company-latest-article{max-width:360px}
@media(max-width:767px){
 .company-reading-layout{grid-template-columns:minmax(0,1fr);row-gap:18px}
 .company-latest-article,.company-related{grid-row:auto;grid-template-rows:auto auto;row-gap:8px}
 .company-reading-article-only .company-latest-article{max-width:none}
 .company-reading-heading h2{font-size:18px}
 .company-related-classification{padding:10px 14px 0;gap:4px 7px}
 .company-related-list a{padding:10px 14px;gap:2px 10px}
 .company-related-name{gap:8px}
}

/* Related Company events reuse the history meanings and raw values. */
.company-related-body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 20px;min-width:0}
.company-related-identity{flex:1 1 190px;min-width:0}
.company-related-event{flex:1.4 1 280px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(136px,1.25fr);gap:3px 12px;font-size:14px;line-height:1.7}
.company-related-event-top{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;gap:3px 12px;min-width:0}
.company-related-event-top>*{min-width:0;max-width:100%}
.company-related-broker{font-weight:600;overflow-wrap:anywhere}
.company-related-rating{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;gap:3px 12px;min-width:0}
.company-related-rating-values{min-width:0;overflow-wrap:anywhere}
.company-related-event .pills{margin:0;gap:3px}
.company-related-event .pill{font-size:11px;padding:1px 5px;max-width:100%;overflow-wrap:anywhere}
.company-related-target{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.company-related-target .history-target-label{display:none}
.company-related-event abbr[title]{text-decoration:none}
.company-related-target .history-target-values{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px}
.company-related-target .history-target-values>*{min-width:0;max-width:100%}
.company-related-target .history-target-arrow{margin:0}
.company-related-event .value-arrow{margin:0 3px}

/* Home discovery: columns stay inside main; the shared sidebar is unchanged. */
.home-rating-overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;align-items:start}
.home-rating-overview section{min-width:0}
.home-rating-heading h2{font-size:20px;line-height:1.55;margin:0 0 8px;padding-left:12px;border-left:4px solid var(--red)}
.home-rating-heading p{font-size:14px;color:var(--muted);margin:0 0 14px}
.home-rating-surface{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.home-latest-list,.home-concentrated-list{list-style:none;margin:0;padding:0}
.home-rating-surface li+li{border-top:1px solid var(--line)}
.home-rating-row{display:block;padding:12px 16px;color:var(--ink);font-size:15px;line-height:1.65}
.home-rating-row:hover,.home-rating-row:focus-visible{background:#fff7f8;color:var(--ink)}
.home-rating-row:focus-visible,.home-rating-more:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.home-rating-identity{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 9px;min-width:0}
.home-rating-identity .company-code{font-size:14px}
.home-rating-extra{color:var(--muted);font-size:14px}
.home-rating-event{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:space-between;gap:2px 14px;margin-top:3px;font-size:14px}
.home-rating-broker{min-width:0}
.home-rating-target{font-variant-numeric:tabular-nums}
.home-rating-meaning{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 12px;margin-top:3px;font-size:14px}
.home-rating-meaning .pills{display:flex;flex-wrap:wrap;gap:4px;margin:0}
.home-rating-meaning .pill{font-size:12px;padding:1px 7px;line-height:1.7}
.home-rating-values{display:flex;gap:5px;align-items:baseline;flex-wrap:wrap}
.home-concentrated-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 12px;margin-top:5px;font-size:14px}
.home-concentrated-meta>strong{color:var(--red)}
.home-concentrated-meta>span{color:var(--muted)}
.home-rating-asof{font-size:13px;color:var(--muted);padding:10px 16px;margin:0;border-top:1px solid var(--line)}
.home-rating-more{display:block;padding:12px 16px;border-top:1px solid var(--line);font-size:14px;font-weight:700;color:var(--red)}
.home-rating-empty{padding:18px 16px;font-size:14px;color:var(--muted)}
.home-chart-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-bottom:6px}
.home-chart-heading h3{flex:1 1 180px;margin:0;font-size:17px;line-height:1.6}
.home-chart-guide{flex:0 0 auto;margin:0}
.home-chart-guide summary{min-height:36px;font-size:14px;white-space:nowrap}
.home-chart-guide[open]{flex-basis:100%}
.home-chart-guide[open] summary{width:max-content;margin-left:auto}
.home-chart-guide p{font-size:14px;margin:6px 0 10px}
.home-chart-meta{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:13px;color:var(--muted);margin:0 0 8px}
.home-chart-panel .chart-canvas{margin-top:0}
@media(max-width:1050px){.home-rating-overview{gap:16px}.home-rating-row{padding:12px}.home-rating-heading h2{font-size:18px}}
@media(max-width:767px){.home-rating-overview{grid-template-columns:minmax(0,1fr);gap:26px}.home-rating-heading h2{font-size:20px}.home-rating-row{padding:12px 14px}.home-chart-guide summary{min-height:44px}.home-chart-heading h3{font-size:16px}}

.home-page .featured-chart{align-self:start}
.home-page .featured-chart .home-chart-panel{flex:0 0 auto}

@media(max-width:767px){.home-page .site-sidebar{display:grid;grid-template-columns:minmax(0,1fr)}}

.home-rating-heading .home-heading-phrase{display:inline-block}
.home-chart-guide{margin-left:auto}

/* Home latest: reuse the public Ratings rank, row palette and meaning macro. */
/* TOP columns reuse existing raw values and Ratings meaning colors. */
.home-latest{container-type:inline-size}
.home-latest-columns,.home-latest-list .home-rating-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr) minmax(0,1.15fr);gap:12px;padding:8px 12px;line-height:1.5}
.home-latest-columns{font-size:13px;font-weight:600;color:var(--ink);background:#f2eee6;border-bottom:1px solid var(--line)}
.home-latest-list .home-rating-identity,.home-latest-broker,.home-latest-values{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;max-width:100%}
.home-latest-list .home-rating-identity strong{font-size:15px;line-height:1.5}
.home-latest-broker,.home-latest-values{font-size:14px}
.home-latest-broker .pills{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 5px;margin:0;min-width:0}
.home-latest-broker .rating-change-text{color:var(--muted);font-size:13px;line-height:1.5}
.home-latest-broker .pill{font-size:12px;padding:1px 6px;line-height:1.5}
.home-latest-values .home-rating-values{gap:4px}
.home-latest-values .value-arrow{margin:0}
.home-latest-values abbr[title]{text-decoration:none}
.home-latest-values .history-target-values{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:0 4px;max-width:100%}
.home-latest-values .history-target-values>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.home-latest-values .history-target-label{color:var(--muted)}
.home-latest-list .home-rating-row:hover{box-shadow:inset 3px 0 0 var(--red)}
.home-latest-list .home-rating-row:hover .home-rating-identity strong{text-decoration:underline;text-underline-offset:3px}
.home-concentrated .home-rating-heading p{display:flex;flex-wrap:wrap;gap:2px 12px}
.home-rating-heading h2{display:flex;align-items:baseline;gap:8px}
.home-rating-heading .section-icon{flex:0 0 19px;width:19px;height:19px;align-self:flex-start;margin-top:6px;color:var(--red)}
.home-rating-heading h2>span{min-width:0}
.home-page .featured-overview.with-chart{align-items:start}
.home-page .featured-story .article-card{height:auto}
.home-page .featured-overview.with-chart .card-copy{padding-top:12px}
@container(max-width:560px){
 .home-latest-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:2px 10px}
 .home-latest-columns>span:first-child{grid-column:1/-1}
 .home-latest-list .home-rating-row{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:4px 10px}
 .home-latest-list .home-rating-identity{grid-column:1/-1;flex-direction:row;align-items:baseline;gap:3px 8px}
}
@container(max-width:340px){
 .home-latest-columns{display:flex;flex-wrap:wrap;gap:2px 12px}
 .home-latest-list .home-rating-row{grid-template-columns:minmax(0,1fr);gap:3px}
 .home-latest-broker{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:3px 10px}
 .home-latest-values{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:3px 10px}
}

/* Both rating and raw TP use the same label / before / arrow / after tracks. */
.home-latest-list{--home-value-tracks:1.4em minmax(0,4em) 1em minmax(0,1fr)}
.home-latest-values{display:flex;flex-direction:column;align-items:stretch;gap:3px;width:100%}
.home-latest-values .home-rating-values,.home-latest-values .history-target-values{display:grid;grid-template-columns:var(--home-value-tracks);gap:0 3px;width:100%;min-width:0;align-items:baseline}
.home-latest-values .home-rating-values::before{content:""}
.home-latest-values .home-rating-values>*,.home-latest-values .history-target-values>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.home-latest-values .home-rating-target{display:block;width:100%;min-width:0}
.home-latest-values .value-arrow,.home-latest-values .history-target-label{white-space:nowrap;overflow-wrap:normal}
.home-long-ratings{--home-value-tracks:1.4em minmax(0,1fr) 1em minmax(0,1.08fr)}
/* Full performance labels keep the same readable two-line value grid. */
.home-latest-long .home-latest-columns,.home-long-ratings .home-rating-row{grid-template-columns:minmax(0,1fr) minmax(0,.75fr) minmax(270px,1.15fr)}
@container(max-width:560px){
 .home-latest-long .home-latest-columns,.home-long-ratings .home-rating-row{grid-template-columns:minmax(0,1fr) 270px}
}
@container(max-width:460px){
 .home-latest-long .home-latest-columns{display:flex;flex-wrap:wrap;gap:2px 12px}
 .home-long-ratings .home-rating-row{grid-template-columns:minmax(0,1fr);gap:3px}
 .home-long-ratings .home-latest-broker{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:3px 10px}
}
.home-rating-heading .section-icon-flame{flex-basis:22px;width:22px;height:22px;margin-top:4px}
/* Desktop fills only the outer surfaces; records keep their intrinsic heights. */
@media(min-width:768px){
 .home-rating-overview{align-items:stretch}
 .home-rating-overview>section{display:flex;flex-direction:column}
 .home-rating-overview .home-rating-surface{display:flex;flex-direction:column;flex:1}
 .home-rating-overview .home-rating-more{margin-top:auto}
}

/* TOP hero: preserve the complete waterfront illustration and reduce copy spacing. */
.home-page .hero-inner{min-height:220px;padding:16px 36px}
.home-page .hero-eyebrow{max-width:58%;margin:0 0 6px;color:var(--muted);font-size:14px;font-weight:700;line-height:1.6}
.home-page .hero-title{width:58%;max-width:650px;margin:0 0 8px}
.home-page .hero-title>span{display:inline-block;white-space:nowrap}
.home-page .hero-description{width:58%;max-width:660px;margin:0;font-size:15px;line-height:1.9}
.home-page .hero-art-frame{inset:0;width:100%;max-width:1440px;margin:auto}
.home-page .hero-art-frame .hero-art{width:auto;max-width:46%;height:100%;object-fit:contain;object-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000);mask-image:linear-gradient(90deg,transparent,#000 18%,#000)}
.home-page .brand-hero:after{display:none}
@media(max-width:999px) and (min-width:601px){
 .home-page .hero-inner{padding:16px 24px}
 .home-page .hero-description{width:50%}
 .home-page .hero-art-frame .hero-art{max-width:48%}
}
@media(max-width:600px){
 .home-page .hero-art-frame{position:relative;inset:auto;width:100%;max-width:none;height:min(150px,40vw);margin:0}
 .home-page .hero-art-frame .hero-art{width:100%;max-width:none;height:100%;object-position:center center;-webkit-mask-image:none;mask-image:none}
 .home-page .brand-hero:after{display:none}
 .home-page .hero-inner{min-height:0;padding:12px 20px 16px}
 .home-page .hero-eyebrow{max-width:none;margin-bottom:4px;font-size:13px}
 .home-page .hero-title{width:100%;max-width:none}
 .home-page .hero-description{width:100%;max-width:none;font-size:14px;line-height:1.75}
}

/* Match the existing H2 bar gap inside flex-based result headings. */
.company-history-heading>h2:before,.ratings-page .ratings-result-heading>h2:before{flex:none;margin-right:4px}
@media(max-width:600px){
 .company-history-heading>h2:before,.ratings-page .ratings-result-heading>h2:before{margin-right:0}
}

/* Public sector filters and shared exploration links. */
#companies-selected:not(:empty){margin-top:16px}
.ratings-selected a{overflow-wrap:anywhere;min-width:0;max-width:100%}
.explore-ratings-link{display:flex;align-items:center;gap:10px;font-weight:700;min-height:36px}
.explore-ratings-link .section-icon{flex:none}
.explore-ratings-link:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:4px}
.x-cta p{font-size:13px;white-space:nowrap;margin-inline:-8px}

@media(max-width:360px){.x-cta p{font-size:12px;margin-inline:-15px}}

.explore-ratings-link .explore-link-end{display:inline-block}

/* Search conditions: two aligned field rows, with actions kept separate. */
.ratings-classification-inputs,.companies-primary-inputs,.companies-classification-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.ratings-classification-inputs,.companies-classification-inputs{margin-top:16px}
.ratings-common-inputs>*,.ratings-classification-inputs>*,.companies-primary-inputs>*,.companies-classification-inputs>*{min-width:0}
.companies-filters{display:block}
.companies-filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:16px}
.companies-filter-actions .directory-reset{margin-left:auto}
.ratings-sector-notice{font-size:14px;line-height:1.7;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}
.ratings-sector-notice button{font:inherit;color:var(--red);background:none;border:0;padding:4px 0;text-decoration:underline;cursor:pointer}
.ratings-sector-notice button:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}
@media(max-width:767px){
 .ratings-classification-inputs,.companies-primary-inputs,.companies-classification-inputs{grid-template-columns:minmax(0,1fr);gap:12px}
 .companies-filters label{font-size:14px}
 .companies-filter-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .companies-filter-actions .directory-reset{margin-left:0;width:100%}
}

.companies-filters .company-search>label{line-height:1.75;margin-bottom:6px}

.site-footer .footer-information-links{margin:14px 0 18px;gap:clamp(6px,2vw,20px);align-items:center;flex-wrap:wrap}
.footer-information-links a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.information-page{min-width:0}
.information-page h1{overflow-wrap:anywhere}
.information-body{overflow-wrap:anywhere}
.information-body>h2:first-child{margin-top:28px}
.information-brand-copy{color:var(--red-dark)}
.information-service-links{padding-left:1.5em}
.information-effective-date{color:var(--muted);font-size:14px}
.contact-privacy-notice{margin:28px 0;padding:20px 22px;background:#fff6f8;border:1px solid var(--line);border-radius:10px}
.contact-privacy-notice p:last-child{margin-bottom:0}
.contact-form{margin-top:28px;min-width:0}
.contact-form iframe{display:block;width:100%;max-width:100%;border:0}
.contact-form-fallback{font-size:14px}
@media(max-width:600px){.contact-privacy-notice{padding:16px}.information-page h1{font-size:24px}.information-body h2{font-size:20px}}

/* TOP mobile reuses the public Ratings row renderer; desktop stays unchanged. */
.home-mobile-ratings,.home-concentrated-preview{display:none}
@media(max-width:767px){
 .home-latest .home-latest-columns,.home-latest .home-latest-list{display:none}
 .home-mobile-ratings{display:block;container-type:inline-size}
 .home-mobile-ratings .ratings-table{margin:0;min-width:0;table-layout:fixed}
 .home-mobile-ratings .ratings-table td[data-label="企業"]{overflow-wrap:anywhere}
 .home-mobile-ratings .ratings-table .home-rating-extra{display:block;font-size:11px}
 .home-mobile-ratings .ratings-table .history-target-values>*{white-space:nowrap;overflow-wrap:normal}
 .home-mobile-ratings .ratings-table td[data-label="格付け"]{overflow-wrap:normal;word-break:normal}
 .home-mobile-ratings .ratings-table .history-target-values{grid-template-columns:1.2em minmax(0,1fr) .9em minmax(0,1fr)}
 .home-mobile-ratings .ratings-table tbody tr[data-home-wide-rating]{grid-template-areas:'company company broker' 'rating rating rating' 'target target changes'}
 .home-mobile-ratings .ratings-table td[data-label="変更区分"] .rating-change-summary{margin-left:0}
 .home-concentrated-list>li:nth-child(n+6):not(.home-concentrated-preview){display:none}
 .home-concentrated-list>.home-concentrated-preview{display:block}
 .home-mobile-table-preview,.home-concentrated-preview{max-height:42px;overflow:hidden;pointer-events:none;user-select:none;opacity:.55;mask-image:linear-gradient(to bottom,#000,transparent)}
 .home-latest>.home-rating-surface>.home-rating-more,.home-concentrated>.home-rating-surface>.home-rating-more{min-height:48px;display:flex;align-items:center;position:relative;background:#fff}
 @container(max-width:380px){
  .home-mobile-ratings .ratings-table tbody tr[data-history-row]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(84px,.9fr);grid-template-areas:'company company broker' 'rating rating changes' 'target target changes'}
  .home-mobile-ratings .ratings-table tbody tr[data-home-wide-rating]{grid-template-areas:'company company broker' 'rating rating rating' 'target target changes'}
 }
 .home-mobile-ratings .ratings-table tbody tr[data-home-wide-target]{grid-template-areas:'company company broker' 'rating rating rating' 'target target target' 'changes changes changes'}
 /* Compact article rows retain full link names while clamping mobile titles visually. */
 .home-page .article-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .home-page .article-card[data-source-section="top-latest"],.home-page .article-card[data-source-section="top-featured"]{display:grid;grid-template-columns:clamp(76px,24vw,104px) minmax(0,1fr);align-items:start;gap:12px;padding:10px}
 .home-page .article-card[data-source-section^="top-"] .card-image{position:relative;inset:auto;width:100%;height:auto;min-height:0;aspect-ratio:5/4;align-self:center;border-radius:9px}
 .home-page .article-card[data-source-section^="top-"] .card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
 .home-page .article-card[data-source-section^="top-"] .card-copy{padding:0;min-width:0}
 .home-page .article-card[data-source-section^="top-"] .card-copy h3{font-size:15px;line-height:1.6;margin:0 0 4px;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
 .home-page .article-card[data-source-section^="top-"] .card-summary{display:block!important;font-size:12px;line-height:1.6;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset}
 .home-page .article-card[data-source-section^="top-"] .card-company{font-size:11px;line-height:1.6;margin:4px 0 0}
 .home-page .article-card[data-source-section^="top-"] .thumbnail-fallback{height:100%;padding:8px;justify-content:center}
 .home-page .article-card[data-source-section^="top-"] .thumbnail-fallback strong{display:none}
 .home-page .article-card[data-source-section^="top-"] .thumbnail-fallback>span{font-size:12px}
}

/* Mobile tabs share the existing drawer; reserve their full safe-area footprint. */
.mobile-bottom-nav{display:none}
@media(max-width:767px){
 :root{--mobile-nav-size:66px;--mobile-nav-safe-bottom:env(safe-area-inset-bottom,0px)}
 html{scroll-padding-bottom:calc(var(--mobile-nav-size) + var(--mobile-nav-safe-bottom) + 12px)}
 #page-shell{padding-bottom:calc(var(--mobile-nav-size) + var(--mobile-nav-safe-bottom) + 12px)}
 .site-header{padding-top:env(safe-area-inset-top,0px)}
 .js-navigation .site-header .menu-toggle{display:none}
 .mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--mobile-nav-size) + var(--mobile-nav-safe-bottom));padding:6px max(4px,env(safe-area-inset-right,0px)) calc(6px + var(--mobile-nav-safe-bottom)) max(4px,env(safe-area-inset-left,0px));border-top:1px solid #e4e8efc9;border-radius:16px 16px 0 0;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -4px 18px #15213c0a}
 .mobile-tab{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:52px;padding:0 1px;border:0;border-radius:9px;background:none;font:inherit;font-size:11px;line-height:16px;font-weight:500;text-align:center;color:var(--muted);text-decoration:none;-webkit-tap-highlight-color:transparent}
 .mobile-tab-icon{display:flex;align-items:center;justify-content:center;width:36px;height:28px;border-radius:10px}
 .mobile-tab .section-icon{flex:none;width:22px;height:22px;margin:0;color:inherit}
 .mobile-tab-label{white-space:nowrap}
 .mobile-tab[aria-current],.mobile-tab[aria-expanded="true"]{color:var(--red);font-weight:700}
 .mobile-tab[aria-current] .mobile-tab-icon,.mobile-tab[aria-expanded="true"] .mobile-tab-icon{background:var(--pale)}
 .mobile-tab:focus-visible{outline:2px solid #227fae;outline-offset:-2px}
 .mobile-tab:active{background:var(--pale)}
 .mobile-tab:disabled{opacity:.6;cursor:default}
 .mobile-bottom-nav.is-editing{visibility:hidden;pointer-events:none}
 .site-drawer{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:359px){.mobile-tab{font-size:10px}}
@media(prefers-reduced-transparency:reduce){.mobile-bottom-nav{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}


/* TOP mobile: two reading rows with shared value starts and complete long values. */
@media(max-width:767px){
 .home-mobile-ratings .ratings-table tbody tr[data-home-rating-view]{grid-template-columns:repeat(24,minmax(0,1fr));grid-template-areas:none;gap:5px 0}
 .home-mobile-ratings .ratings-table tbody tr[data-home-rating-view]>td[data-label="企業"]{grid-area:1 / 1 / 2 / 17;padding-right:8px}
 .home-mobile-ratings .ratings-table tbody tr[data-home-rating-view]>td[data-label="証券会社"]{grid-area:1 / 17 / 2 / 25;padding-left:0}
 .home-mobile-ratings .ratings-table tbody tr[data-home-rating-view]>td[data-label="格付け"]{grid-area:2 / 1 / 3 / 9;padding-right:4px;display:flex;flex-wrap:wrap;gap:0 2px;align-items:baseline;overflow-wrap:anywhere}
 .home-mobile-ratings .ratings-table tbody tr[data-home-rating-view]>td[data-label="目標株価"]{grid-area:2 / 9 / 3 / 17;padding-right:6px}
 .home-mobile-ratings .ratings-table tbody tr[data-home-rating-view]>td[data-label="変更区分"]{grid-area:2 / 17 / 3 / 25}
 .home-mobile-ratings .ratings-table .history-target-values{display:flex;flex-wrap:wrap;gap:0 2px;align-items:baseline;width:auto}
 .home-mobile-ratings .ratings-table .history-target-values>.history-target-label{display:none}
 .home-mobile-ratings .ratings-table .history-target-values>*{max-width:100%;white-space:nowrap}
 .home-mobile-ratings .ratings-table .history-target-before{text-align:left}
 .home-mobile-ratings .ratings-table .value-arrow{margin:0}
 .home-mobile-ratings .ratings-table tbody tr[data-home-wide-rating]>td[data-label="格付け"]{grid-column:1 / 25}
 .home-mobile-ratings .ratings-table tbody tr[data-home-wide-rating]>td[data-label="目標株価"]{grid-area:3 / 1 / 4 / 17}
 .home-mobile-ratings .ratings-table tbody tr[data-home-wide-rating]>td[data-label="変更区分"]{grid-row:3 / 4}
 .home-mobile-ratings .ratings-table tbody tr[data-home-wide-target]>td[data-label="格付け"]{grid-column:1 / 25}
 .home-mobile-ratings .ratings-table tbody tr[data-home-wide-target]>td[data-label="目標株価"]{grid-area:3 / 1 / 4 / 25}
 .home-mobile-ratings .ratings-table tbody tr[data-home-wide-target]>td[data-label="変更区分"]{grid-area:4 / 17 / 5 / 25}
 .home-mobile-ratings .ratings-table td[data-label="変更区分"] .rating-change-summary>.pill{flex:0 1 auto;max-width:100%;white-space:normal;overflow-wrap:normal}
 .home-page .site-sidebar>.explore-block{display:none}
}


/* Themes: native horizontal browsing only on mobile; titles remain complete. */
@media(max-width:767px){
 .themes-breadcrumb{display:none}
 .themes-intro{margin-bottom:16px}
 .themes-intro .eyebrow{display:none}
 .themes-intro h1{font-size:24px;line-height:1.5;margin-bottom:6px}
 .themes-intro p:not(.eyebrow){font-size:13px;line-height:1.6;margin-bottom:0}
 [data-theme-section]{margin-bottom:12px}
 [data-theme-section]>.section-heading{gap:6px 12px;margin-bottom:8px}
 [data-theme-section]>.section-heading h2{font-size:19px;line-height:1.5}
 [data-theme-section]>.section-heading>span{font-size:12px}
 .theme-article-rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 12px)/1.5);gap:12px;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b9c7d5 transparent;padding-bottom:4px}
 .theme-article-rail:has(>.article-card:only-child){grid-auto-columns:100%}
 .theme-article-rail>.article-card{scroll-snap-align:start;scroll-margin:0}
 .theme-article-rail:focus-visible{outline-offset:2px}
 .theme-article-rail .card-copy{padding:10px}
 .theme-article-rail .card-copy time{display:block;font-size:11px;line-height:1.5}
 .theme-article-rail .card-copy h3{font-size:15px;line-height:1.5;margin:6px 0;overflow:visible;-webkit-line-clamp:unset}
 .theme-article-rail .card-summary{display:none}
 .theme-article-rail .card-company{font-size:12px;line-height:1.6;margin:6px 0}
 .theme-article-rail .theme-pills{gap:4px}
 .theme-article-rail .theme-pills a{font-size:12px;line-height:1.5;min-height:28px;padding:3px 6px}
 .theme-article-rail .thumbnail-fallback{padding:10px}
 .theme-article-rail .thumbnail-fallback>span{font-size:12px}
 .theme-article-rail .thumbnail-fallback strong{font-size:14px;line-height:1.5}
 [data-theme-section]>.theme-more{margin:4px 0 0}
 [data-theme-section]>.theme-more>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.6}
}

/* Featured article only: give the mobile thumbnail more room. */
@media(max-width:767px){
 .home-page .featured-story .article-card[data-source-section="top-featured"]{grid-template-columns:clamp(104px,34vw,144px) minmax(0,1fr)}
}
:is(.company-chart-panel,.home-chart-panel) .target-chart [data-chart-series] > polyline{stroke-width:1.5px}
:is(.company-chart-panel,.home-chart-panel) [data-chart-series].series-hover-active{opacity:1}
:is(.company-chart-panel,.home-chart-panel) [data-chart-series].series-hover-muted{opacity:.12}
:is(.company-chart-panel,.home-chart-panel) .target-chart [data-chart-series].series-hover-active > polyline{stroke-width:2.5px}
:is(.company-chart-panel,.home-chart-panel) [data-chart-series].series-hover-active > .chart-point:not(:focus){stroke-width:2px;paint-order:stroke}
:is(.company-chart-panel,.home-chart-panel) .chart-legend button.series-legend-active{opacity:1;background:#eef4f8;box-shadow:inset 0 0 0 2px var(--ink)}

.company-comparison .target-extrema-records{list-style:none;margin:10px 0 0;padding:0;font-size:12px;line-height:1.65;color:var(--ink);min-width:0}
.company-comparison .target-extrema-records>li{margin:0;padding:0;min-width:0}
.company-comparison .target-extrema-records>li+li{margin-top:8px}
.company-comparison .target-extrema-broker,.company-comparison .target-extrema-records time{display:block;max-width:100%;overflow-wrap:anywhere}
.company-comparison .target-extrema-records time{font-size:11px;line-height:1.65;color:var(--muted);font-variant-numeric:tabular-nums}

@media(max-width:767px){
.company-comparison .target-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.company-comparison .target-card,.company-comparison .target-card:first-child{display:block;padding:12px 8px;border-bottom:0;border-right:1px solid var(--line)}
.company-comparison .target-card:last-child{border-right:0}
.company-comparison .target-label{min-height:3.2em}
.company-comparison .target-card>strong{font-size:clamp(16px,4.7vw,22px);line-height:1.45}
.company-comparison .target-card .amount-unit{font-size:12px;margin-left:2px}
.company-comparison .target-extrema-records{margin-top:8px}
}

/* Company comparison row extrema; shared adjusted values, no all-equal coloring. */
.company-comparison .current-target-table .target-row-highest>td{background:#fff0f3}
.company-comparison .current-target-table .target-row-lowest>td{background:#edf5ff}

/* Keep prior-broker names together when space allows; reserve punctuation room. */
.home-page .home-highest-previous-brokers{display:inline-block;max-width:100%;padding-right:.5em;vertical-align:bottom;overflow-wrap:anywhere}

/* TEST: comparison header and extrema bands match existing history/summary. */
.company-comparison .current-target-table thead th{background:#f2eee6}
.company-comparison .current-target-table .target-row-highest>td:first-child{box-shadow:inset 3px 0 0 #c82c49}
.company-comparison .current-target-table .target-row-lowest>td:first-child{box-shadow:inset 3px 0 0 #327fa9}

/* Shared exploration links: one existing heading border, no duplicate bar. */
.explore-block h2.explore-link-heading{margin:0;padding-left:12px;border-left:4px solid var(--red)}
.explore-block h2.explore-link-heading:before{content:none}
.explore-link-heading .explore-ratings-link{min-height:44px;min-width:0}
.explore-link-heading .explore-ratings-link>span{min-width:0;overflow-wrap:anywhere}
.explore-link-heading .sector-heading-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;color:var(--red)}
.explore-link-heading .sector-heading-icon>svg{display:block;width:20px;height:20px}

/* Mobile navigation and drawer X CTA. */
.drawer-x-cta{margin-top:20px}
.drawer-x-cta .x-cta p{white-space:normal;margin-inline:0}
@media(max-width:767px){
 .mobile-tab[href="/ratings/"] .mobile-tab-label{white-space:normal;line-height:1.05;font-size:10px}
 .mobile-tab[href="/ratings/"] .mobile-tab-label>span{white-space:nowrap}
 .mobile-tab-icon .sector-heading-icon{display:inline-flex;align-items:center;justify-content:center}
}
