/* IRライブラリー: 年度 → 決算期 */
.ws-irlib{display:grid;gap:18px;max-width:1080px}
.ws-irlib__tabs,.ws-irlib__chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ws-irlib__tabs-label,.ws-irlib__chips-label{flex:none;min-width:3.2em;color:#5b7482;font:700 11px/1.4 Lato,sans-serif;letter-spacing:.12em}
.ws-irlib__tab,.ws-irlib__chip{appearance:none;cursor:pointer;font:inherit;color:#0d2b3a;background:#fff;border:1px solid var(--ws-ds-card-border,#d7e5ed);transition:background .15s,border-color .15s,color .15s}
.ws-irlib__tab{display:inline-flex;align-items:baseline;gap:8px;padding:10px 18px;border-radius:8px;font-size:15px;font-weight:700}
.ws-irlib__chip{display:inline-flex;align-items:baseline;gap:6px;padding:6px 14px;border-radius:999px;font-size:13px}
.ws-irlib__tab small,.ws-irlib__chip small{font-size:11px;font-weight:400;color:#5b7482}
.ws-irlib__tab:hover,.ws-irlib__chip:hover{border-color:#42c6f2;background:#eef9fd}
.ws-irlib__tab.is-active{background:#0a3046;border-color:#0a3046;color:#fff}
.ws-irlib__chip.is-active{background:#158fc5;border-color:#158fc5;color:#fff}
.ws-irlib__tab.is-active small,.ws-irlib__chip.is-active small{color:inherit;opacity:.85}
.ws-irlib__tab:focus-visible,.ws-irlib__chip:focus-visible,.ws-irlib__pdf:focus-visible{outline:2px solid #158fc5;outline-offset:2px}
.ws-irlib__group h3{margin:10px 0 8px;padding-left:10px;border-left:3px solid #42c6f2;font-size:15px;line-height:1.4;color:#0a3046}
.ws-irlib__list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--ws-ds-card-border,#d7e5ed);border-radius:var(--ws-ds-card-radius,8px);overflow:hidden}
.ws-irlib__row{display:grid;grid-template-columns:7.5em minmax(0,1fr) auto;align-items:center;gap:6px 18px;padding:14px 18px;border-top:1px solid #e6eff4}
.ws-irlib__row:first-child{border-top:0}
.ws-irlib__row time{color:#5b7482;font:500 13px/1.6 Lato,sans-serif;font-variant-numeric:tabular-nums}
.ws-irlib__title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:14px;line-height:1.7;color:#0d2b3a}
.ws-irlib__cat{flex:none;padding:1px 9px;border-radius:999px;background:#eef9fd;color:#158fc5;font-size:11px;font-weight:700}
.ws-irlib__cat.is-period{background:#f1f5f7;color:#5b7482}
.ws-irlib__pdf{flex:none;padding:5px 14px;border:1px solid #158fc5;border-radius:6px;color:#158fc5;font:700 12px/1.6 Lato,sans-serif;text-decoration:none;white-space:nowrap}
.ws-irlib__pdf:hover{background:#158fc5;color:#fff}
.ws-irlib__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ws-irlib__note{margin:0;color:#5b7482;font-size:12px;line-height:1.8}
.ws-irlib__note a{color:#158fc5}
.ws-irlib__tablewrap{overflow-x:auto;border:1px solid var(--ws-ds-card-border,#d7e5ed);border-radius:var(--ws-ds-card-radius,8px);background:#fff}
.ws-irlib__table{width:100%;min-width:620px;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.ws-irlib__table caption{padding:12px 18px;text-align:left;color:#5b7482;font-size:12px}
.ws-irlib__table th,.ws-irlib__table td{padding:12px 18px;border-top:1px solid #e6eff4;text-align:right}
.ws-irlib__table thead th{background:#eef9fd;color:#0a3046;font-size:12px}
.ws-irlib__table tbody th{text-align:left;font-weight:700;color:#0a3046}
.ws-irlib__table td.is-neg{color:#b3261e}
.ws-irlib__dl{margin:0;background:#fff;border:1px solid var(--ws-ds-card-border,#d7e5ed);border-radius:var(--ws-ds-card-radius,8px)}
.ws-irlib__dl>div{display:grid;grid-template-columns:12em minmax(0,1fr);gap:6px 18px;padding:14px 18px;border-top:1px solid #e6eff4}
.ws-irlib__dl>div:first-child{border-top:0}
.ws-irlib__dl dt{color:#5b7482;font-size:13px;font-weight:700}
.ws-irlib__dl dd{margin:0;font-size:14px;line-height:1.8}
.ws-irlib__empty{padding:32px 24px;background:#fff;border:1px dashed #b7c9d2;border-radius:var(--ws-ds-card-radius,8px);text-align:center;color:#0d2b3a}
.ws-irlib__empty p{margin:8px 0 0;color:#5b7482;font-size:13px}
@media(max-width:680px){
  .ws-irlib__row{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}
  .ws-irlib__row time{grid-column:1/-1}
  .ws-irlib__dl>div{grid-template-columns:1fr}
  .ws-irlib__tab{padding:9px 14px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){.ws-irlib__tab,.ws-irlib__chip{transition:none}}

/* 本文ページ */
.ws-irlib__doc{max-width:860px;padding:28px 32px;background:#fff;border:1px solid var(--ws-ds-card-border,#d7e5ed);border-radius:var(--ws-ds-card-radius,8px)}
.ws-irlib__doc h3{margin:28px 0 10px;padding-left:10px;border-left:3px solid #42c6f2;font-size:17px;line-height:1.5;color:#0a3046}
.ws-irlib__doc>h3:first-child{margin-top:0}
.ws-irlib__doc p{margin:0 0 12px;font-size:14px;line-height:2;color:#0d2b3a}
.ws-irlib__doc .ws-irlib__list{margin:0 0 8px}
.ws-irlib__sign{margin-top:20px!important;text-align:right;color:#5b7482!important}
.ws-irlib__sign strong{color:#0d2b3a;font-size:16px}
.ws-irlib__faq{margin:0}
.ws-irlib__faq>div{padding:14px 0;border-top:1px solid #e6eff4}
.ws-irlib__faq>div:first-child{border-top:0;padding-top:0}
.ws-irlib__faq dt{position:relative;padding-left:28px;font-size:15px;font-weight:700;color:#0a3046;line-height:1.7}
.ws-irlib__faq dt::before{content:"Q";position:absolute;left:0;color:#158fc5;font:900 15px/1.7 Lato,sans-serif}
.ws-irlib__faq dd{margin:6px 0 0;padding-left:28px;font-size:14px;line-height:1.9;color:#0d2b3a}
.ws-irlib__faq a{color:#158fc5}
@media(max-width:680px){.ws-irlib__doc{padding:20px 18px}}

/* IRトップ: 基本情報（コンパクト） */

.ws-irlib__panel{margin-top:6px}
.ws-irlib__panel .ws-irlib__doc{max-width:none}
#ir-info .ws-irlib__chips{gap:8px}

/* IRニュース: もっと見る */
.ws-irlib__more{margin:0;text-align:center}
.ws-irlib__morebtn{appearance:none;cursor:pointer;padding:10px 26px;border:1px solid #158fc5;border-radius:999px;background:#fff;color:#158fc5;font:700 14px/1.6 inherit;font-family:inherit;transition:background .15s,color .15s}
.ws-irlib__morebtn small{margin-left:6px;font-size:12px;font-weight:400;color:#5b7482}
.ws-irlib__morebtn:hover{background:#158fc5;color:#fff}
.ws-irlib__morebtn:hover small{color:inherit}
.ws-irlib__morebtn:focus-visible{outline:2px solid #158fc5;outline-offset:2px}

/* 株式情報: 外部リンク */
.ws-irlib__subhead{margin:22px 0 10px;padding-left:10px;border-left:3px solid #42c6f2;font-size:15px;line-height:1.5;color:#0a3046}
.ws-irlib__ext{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.ws-irlib__ext a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:12px 16px;background:#fff;border:1px solid var(--ws-ds-card-border,#d7e5ed);border-radius:var(--ws-ds-card-radius,8px);text-decoration:none;color:#0d2b3a;transition:border-color .15s,background .15s}
.ws-irlib__ext a:hover{border-color:#42c6f2;background:#eef9fd}
.ws-irlib__ext a:focus-visible{outline:2px solid #158fc5;outline-offset:2px}
.ws-irlib__ext small{grid-column:1;color:#158fc5;font:700 11px/1.4 Lato,sans-serif;letter-spacing:.1em}
.ws-irlib__ext strong{grid-column:1;font-size:14px}
.ws-irlib__ext span{grid-row:1/3;grid-column:2;color:#158fc5;font-size:18px}

/* 株主・投資家の皆様へ: 代表の写真 */
.ws-irlib__msg{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:8px 40px;align-items:start}
.ws-irlib__portrait{margin:0;position:sticky;top:110px}
.ws-irlib__portrait img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:50% 20%;border-radius:var(--ws-ds-card-radius,8px);background:#eef2f4}
@media(max-width:820px){
  .ws-irlib__msg{grid-template-columns:1fr}
  .ws-irlib__portrait{position:static;order:-1;max-width:240px}
}

/* IRトップ: 余白を詰めて、ライブラリーを早く見せる */
.ws-subpage-latest.page-ir:not(.ws-detail-page)>section.section-pad{padding-top:clamp(28px,3vw,44px)}
body.page-ir .sec-head.left{margin-bottom:22px}
body.page-ir .sec-head.left .sec-title{font-size:clamp(28px,2.6vw,34px)}

/* B-07 IRカレンダー（四半期ごとの月表示。予定のある月を強調） */
.ws-irlib__cal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ws-irlib__cal-q{background:#fff;border:1px solid var(--ws-ds-card-border,#d7e5ed);border-radius:var(--ws-ds-card-radius,8px);overflow:hidden}
.ws-irlib__cal-q h4{margin:0;padding:10px 12px;border-bottom:1px solid var(--ws-ds-card-border,#d7e5ed);background:#f5f9fb;color:#0a3046;font-size:14px;font-weight:700;text-align:center}
.ws-irlib__cal-q ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}
.ws-irlib__cal-q li{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:96px;padding:14px 4px;border-left:1px solid var(--ws-ds-card-border,#d7e5ed);color:#0a3046;text-align:center}
.ws-irlib__cal-q li:first-child{border-left:0}
.ws-irlib__cal-m{font-size:15px;font-weight:700}
.ws-irlib__cal-q li.is-event .ws-irlib__cal-m{display:grid;place-items:center;min-width:44px;height:44px;border-radius:50%;background:#42c6f2;color:#fff}
.ws-irlib__cal-e{font-size:12px;line-height:1.5;font-weight:700;color:#0a3046}
@media(max-width:900px){.ws-irlib__cal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ws-irlib__cal{grid-template-columns:1fr}}
