@charset "utf-8";


/* IR情報　TOP*/

.card-list.columns-3 .card-item-wrapper {
  width: calc((100% - 4rem) / 3);
}

@media (max-width: 991px) {
  .card-list.columns-2 .card-item-wrapper, .card-list.columns-3 .card-item-wrapper, .card-list.columns-4 .card-item-wrapper, .card-list.columns-5 .card-item-wrapper, .card-list.columns-6 .card-item-wrapper {
      width: 100%;
  }
}

.titlePage {
  position: relative;
  padding-left: 1.5rem;
  margin-left: 0.9rem;
}

.titlePage::before {
  content: url(../img/icon-arrow-green.svg);
  transform: scale(0.5);
  position: absolute;
  top: 0;
  left: 0;
  color: var(--bs-primary);
}

.titlePage a {
  color: var(--bs-black);
}

.iconMovie::before {
  font-family: "FontAwesome";
  content: "\f03d"; /* fa-video-camera */
  color: var(--bs-primary);
  margin-right: 6px;
}

.contentListFoot ul {
  list-style-type: none;
}

.contentListFoot li {
  position: relative;
  padding-left: 1.5rem;
}

.contentListFoot li::before {
  content: url(../img/icon-arrow-green.svg);
  transform: scale(0.5);
  position: absolute;
  top: 0;
  left: 0;
  color: var(--bs-primary);  
}

.contentListFoot li a {
  color: var(--bs-black)!important;
}
.contentList a {
  text-decoration: none!important;
  color: var(--bs-black)!important;
}

.contentList .titleCate {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--bs-primary);
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  background: var(--bs-secondary);
  border-bottom: 1px solid var(--bs-primary);
}

.contentList .titleCate:not(:first-child) {
  margin-top: 2rem!important;
}

.contentList .titleCateLink {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--bs-primary);
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  background: var(--bs-secondary);
  border-bottom: 1px solid var(--bs-primary);
  position: relative;
  transition: opacity 0.3s ease;
}

.contentList a:has(> .titleCateLink):not(:first-child) {
  display: block;
  margin-top: 2rem!important;
}

.contentList .titleCateLink::after {
  content: url(../img/icon-arrow-green.svg);
  transform: scale(0.5);
  position: absolute;
  right: 2rem;
}

.contentList .titleCateLink:hover {
  opacity: 0.7;
}
.box-border {
  border: 2px solid var(--bs-gray);
  padding: 1.5rem 1rem;
  margin-bottom: 2rem;
}



.box-border h3{
  font-size: 1.4rem;
  font-weight: 500;
  text-align:center;
  margin-bottom:1.5rem;
}

.box-border h3 span{
  display:inline-flex;
  align-items:center;
  gap:15px;
  font-size:1.4rem;
  font-weight:500;
}

.box-border h3 span::before,
.box-border h3 span::after{
  content:"";
  width:30px;
  height:2px;
  background:var(--bs-primary);
}

.box-border .btn {
  padding: 1.0rem 1.5rem 1.0rem !important;
  width: 90%!important;
  min-width: 230px;
}
.box-border .btn::after {
  top: 18px!important;
}

.box-border .btn.btn-primary::after {
  top: 16px!important;
}

#irIndex .btn-dl br {
  display: none;
}

@media (max-width: 1199px) {
  #irIndex .btn-dl br {
    display: block;
  }
}

.box-border .event-title {
  text-align: center;
  font-size: 1.1rem;
  color: var(--bs-primary);
  font-weight: 500;
  margin-top: 2rem;
}

.box-border .note {
  border: none!important;
  font-size: 0.875rem;
}
.btn-gradient::after {
  content: url(../img/icon-arrow-white.svg)!important;
  transform: scale(0.5) translateX(0)!important;
  transition: transform 0.3s ease!important;
}

#irIndex ul.list-materials {
  list-style-type: none;
  width: 90%;
  margin-left: 0;
}
#irIndex ul.list-materials li {
  padding: 0.5rem;
  border-bottom: 1px solid var(--bs-gray);
}

#irIndex ul.list-materials li a {
  position: relative;
  color: var(--bs-black);
  transition: opacity 0.3s ease;
  width: 100%;
  height: 100%;
}

#irIndex ul.list-materials li:hover {
  opacity: 0.7;
}

#irIndex ul.list-materials li a[target="_blank"]::after {
  content: url(../img/icon-pdf.png);
  position: absolute;
  right: 1rem;
}

.box-green {
  background: var(--bs-secondary);
  padding: 1.5rem 0.5rem 0.5rem;
}

.box-green h3 {
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}

/*  IRニュース　旧ircssからの抽出分　ここから  */
.newsIRProducts dl.dlNewsList{
  border-bottom: 1px dotted #666;
}


.newsIRProducts dl.dlNewsList:nth-child(1){
  border-top: 1px dotted #666;
}

#irIndex dl.dlNewsList dt{
    padding: 1.3em 0 1em 0.8em;
    width: 245px;
    flex-shrink: 0;
    margin-right: 10px;    
    /* float: left;
    clear: left;
    width: 22%; */
/*    border-bottom: 1px dotted #ccc; */
}

#irnews dl.dlNewsList dt{
    padding: 1.3em 0 1em 0.8em;
    float: left;
    clear: left;
    width: 28%;
/*    border-bottom: 1px dotted #ccc; */
}

#irnews dl.dlNewsList dt:nth-child(1), #irIndex dl.dlNewsList dt:nth-child(1){
/*     border-top: 1px dotted #ccc;*/
/*     border-top: 1px solid #ccc; */
}


#irIndex dl.dlNewsList dd{
    /* width: 78%; */
    position: relative;
    padding: 1.3em 0 1em 2em;
    flex-grow: 1;
}

#irnews dl.dlNewsList dd{
    width: 72%;
    position: relative;
    padding: 1.3em 0 1em 2.5em;
}


#irnews dl.dlNewsList dd:nth-child(2), #irIndex dl.dlNewsList dd:nth-child(2){
/*     border-top: 1px dotted #ccc;*/
/*     border-top: 1px solid #ccc; */
}


#irIndex dl.dlNewsList dd.withpdf:before{
    content: url(../img/icon_pdf.png);
    position: absolute;
    top: 30%;
    left: 16%;
}

#irnews dl.dlNewsList dd.withpdf:before{
    content: url(../img/icon_pdf.png);
    position: absolute;
    top: 30%;
    left: 23%;
}

#irnews dl.dlNewsList dt, #irnews dl.dlNewsList dd, #irIndex dl.dlNewsList dt, #irIndex dl.dlNewsList dd{
     margin-bottom: 5px; 
}

#irnews .listYear{
  padding: 5px 20px;
  background: #EEEEEE;
  margin-bottom: 20px;
}
@media screen and (min-width:315px) and ( max-width:479px) { 
  #irIndex dl.dlNewsList dt, #irnews dl.dlNewsList dt {
      width: 132px;
  }

  #irIndex dl.dlNewsList dt span.date, #irnews dl.dlNewsList dt span.date{
    padding-right: 0;
    font-size: 0.70rem;
  }

  #irIndex dl.dlNewsList dd.withpdf:before, #irnews dl.dlNewsList dd.withpdf:before {
      left: 25px;
  }

  #irIndex dl.dlNewsList dd, #irnews dl.dlNewsList dd {
      width: auto;
  }
}
@media screen and (min-width:480px) and ( max-width:600px) { 
  /*　画面サイズが480pxからはここを読み込む　*/
  #irIndex dl.dlNewsList dt, #irnews dl.dlNewsList dt {
    width: 253px;
  }

  #irIndex dl.dlNewsList dt span.date, #irnews dl.dlNewsList dt span.date{
    padding-right: 0;
  }

  #irIndex dl.dlNewsList dd.withpdf:before, #irnews dl.dlNewsList dd.withpdf:before {
    left: 147px;
  }

  #irIndex dl.dlNewsList dd, #irnews dl.dlNewsList dd {
    width: auto;
  }
}

@media screen and (min-width:600px) and ( max-width:960px) {
  /*　画面サイズが600pxから960pxまではここを読み込む　*/
#irIndex dl.dlNewsList dt, #irnews dl.dlNewsList dt {
  width: 163px;
}

#irIndex dl.dlNewsList dt span.date, #irnews dl.dlNewsList dt span.date{
  padding-right: 2px
  font-size: 0.8rem;
}

#irIndex dl.dlNewsList dt span.newsLabel, #irnews dl.dlNewsList dt span.newsLabel{
      width: 112px;
}

#irIndex dl.dlNewsList dd.withpdf:before, #irnews dl.dlNewsList dd.withpdf:before {
  left: 50px;
}

#irIndex dl.dlNewsList dd, #irnews dl.dlNewsList dd {
  width: auto;
}

}


@media screen and (min-width:960px) and ( max-width:1279px) {
  /*　画面サイズが960pxから1280pxまではここを読み込む　*/
#irIndex dl.dlNewsList dt, #irnews dl.dlNewsList dt {
    width: 164px;
}

#irIndex dl.dlNewsList dt span.date, #irnews dl.dlNewsList dt span.date{
  padding-right: 2px
}

#irIndex dl.dlNewsList dt span.newsLabel, #irnews dl.dlNewsList dt span.newsLabel{
      width: 110px;
}

#irIndex dl.dlNewsList dd.withpdf:before, #irnews dl.dlNewsList dd.withpdf:before {
    left: 50px;
}

#irIndex dl.dlNewsList dd, #irnews dl.dlNewsList dd {
    width: auto;
}

}


@media screen and (min-width:1280px) {
  /*　画面サイズが1280pxからはここを読み込む　*/

/* #irIndex dl.dlNewsList dt, #irnews dl.dlNewsList dt {
  width: 278px;
} */

#irIndex dl.dlNewsList dt span.date, #irnews dl.dlNewsList dt span.date{
  padding-right: 8px
}

#irIndex dl.dlNewsList dd.withpdf:before, #irnews dl.dlNewsList dd.withpdf:before {
    left: 157px;
}

#irIndex dl.dlNewsList dd, #irnews dl.dlNewsList dd {
    width: auto;
}

}


.dlNewsList a[target="_blank"]:after {
  content: none!important;
}

.dlNewsList dt {
  font-weight: 100!important;
}

dl.dlNewsList dt span.newsLabel {
  font-size: 11px;
  font-size: 0.7rem;
  display: inline-block;
  letter-spacing: 1.4;
  background: #ccc;
  color: #fff;
  width: 8em;
  margin-right: 1em;
  padding: .2em .3em;
  text-align: center;
}

dl.dlNewsList dt span.label_01 {
  background: #3381b1;
}

dl.dlNewsList dt span.label_02 {
  background: #b16333;
}

dl.dlNewsList dt span.label_03 {
  background: #33b163;
}

.rankingNum{
  font-size: 1rem;
  color: #65CC33;
}

.rankingList a {
  font-size: 0.975rem !important;
  color: #333 !important;
}

/* IRニュース　旧ircssからの抽出分　ここまで */

/* IRニュース一覧（tmpl/ir/irnews.tpl → /ir/irnews.html）：日付・種別ラベル・タイトルを横並び、タイトルは黒
   （上記 #irnews の float・幅%指定や各画面幅の width 指定を、より詳細度の高い .page-irnews:is(#irnews, .page-irnews) で上書き） */
.page-irnews:is(#irnews, .page-irnews) .newsIRProducts dl.dlNewsList {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0;
}

.page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dt {
  float: none;
  flex-shrink: 0;
  width: auto;
  margin: 0;
  padding: 1em 0 1em 0.8em;
  white-space: nowrap;
}

.page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dt span.date {
  padding-right: 0.5em;
}

.page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dd {
  float: none;
  flex-grow: 1;
  width: auto;
  position: relative;
  margin: 0 0 0 0.5em;
  padding: 1em 0 1em 0;
}

/* PDFのときはタイトルの左にアイコン（/common/img/icon_pdf.png） */
.page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dd.withpdf {
  padding-left: 28px;
}

.page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dd.withpdf:before {
  content: url(../../img/icon_pdf.png);
  position: absolute;
  top: 1em;
  left: 0;
}

.page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dd a {
  color: var(--bs-black);
  text-decoration: none;
}

.page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dd a:hover {
  color: #14A83B;
  text-decoration: underline;
}

/* スマホ時は日付・種別の下にタイトル */
@media (max-width: 575.98px) {
  .page-irnews:is(#irnews, .page-irnews) .newsIRProducts dl.dlNewsList {
    flex-direction: column;
  }

  .page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dt {
    padding: 1em 0 0 0;
  }

  .page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dd {
    width: 100%;
    margin: 0;
    padding: 0.5em 0 1em 0;
  }

  .page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dd.withpdf {
    padding-left: 28px;
  }

  .page-irnews:is(#irnews, .page-irnews) dl.dlNewsList dd.withpdf:before {
    top: 0.5em;
  }
}

#ir-news .my-h2-block {
  margin-top: 0!important;
  padding-top: 0!important;
}

#ir-news h2 .link-title a {
  font-size: 1rem;
  position: relative;
  padding-right: 1rem;
}
#ir-news h2 .link-title a:hover {
  opacity: 0.7;
}

#ir-news h2 .link-title a:after {
  content: url(../img/icon-arrow-green.svg);
  transform: scale(0.5);
  position: absolute;
  top: 0;
  right: 0;
  color: var(--bs-primary);
}

#ir-news h2 .link-title a[target="_blank"]:after {
  content: url(../img/icon-arrow-green.svg);
  transform: scale(0.5);
  position: absolute;
  top: 0;
  right: 30px;
  color: var(--bs-primary);
}

#irIndex dl.dlNewsList {
  margin-bottom: 0;
  display: flex;
  align-items: flex-start;
}
#irIndex dl.dlNewsList:nth-child(1) {
  border-top: none!important;
}
#irIndex dl.dlNewsList dd a {
  color: var(--bs-black);
}

#irIndex dl.dlNewsList dd a:hover {
  text-decoration: underline;
}

#irIndex dl.dlNewsList dd.withpdf:before {
  content: url(../img/icon-pdf.png);
  position: absolute;
  top: 36%!important;
  left: 0px!important;
}

@media screen and (min-width: 575.98px) and (max-width: 1279px) {
  #irIndex dl.dlNewsList dt span {
    display: block;
  }
  #irIndex dl.dlNewsList dd.withpdf:before {
    /* left: 140px !important; */
    left: -17px !important;
  }
  #irIndex dl.dlNewsList dt {
    padding: 0.5rem 0;
  }
}

.rankingList {
  list-style-type: none;
  padding-left: 1rem;
}

#irIndex .rankingList {
  padding-left: 2rem;
}

#irIndex .rankingList li {
  margin-bottom: 0.3rem;
  padding-left: 0.8rem;
}
@media (max-width: 575.98px) {
  #irIndex dl.dlNewsList dt {
    padding: 0.2rem!important;
    width: 127px!important;
  }
  #irIndex dl.dlNewsList dd.withpdf:before {
    left: 11px !important;
  }
  #irIndex dl.dlNewsList dd {
    width: auto!important;
    /* margin-left: 6rem; */
    margin-left: -3rem;
  }
  .box-border .note {
    font-size: 0.8rem;
  }
  .box-border .btn {
    width: auto!important;
  }
}


/* 中長期経営方針*/
#plan-business h3 {
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  color: var(--title-color);
}

#plan-business h3::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 22px;
  margin-right: 8px;
  flex-shrink: 0;
  background-color: var(--title-color);
  clip-path: polygon(0% 0, 100% 0, -13% 100%, 0 100%);
}

#plan-business h3.tool {
  --title-color: var(--bs-primary);
}

#plan-business h3.injection {
  --title-color: #4494d0;
}

#plan-business h3.food {
  --title-color: var(--bs-orange);
}

#plan-business h3.etc {
  --title-color: var(--bs-gray-dark);
}
/* スマホ時は事業別の見出し（#plan-business h3）を H2（1.125rem）に合わせる */
@media (max-width: 991px) {
  #plan #plan-business h3 {
    font-size: 1.125rem !important;
  }
}

@media (max-width: 575.98px) {
  #plan .img-fluid.w90, #plan .img-fluid.w80 {
    width: 100%!important;
  }
}

/* 中長期経営方針（plan.html）：旧 style.css / style-renewal.css のクラスを補完 */
.page-plan img.w50 { width: 50% !important; }
.page-plan img.w80 { width: 80% !important; }
.page-plan img.w90 { width: 90% !important; }

.page-plan .designBox01 {
  background: #ebf1de;
  padding: 20px;
}

.page-plan ul.ico_check {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.page-plan ul.ico_check li {
  position: relative;
  padding: 0.5em 0.5em 0.5em 2em;
}

.page-plan ul.ico_check li:after,
.page-plan ul.ico_check li:before {
  content: '';
  display: block;
  position: absolute;
  top: 4px;
  left: 8px;
  height: 11px;
  width: 4px;
  background: #6C3;
  border-radius: 10px;
  transform: rotate(45deg);
  margin-top: 5px;
}

.page-plan ul.ico_check li:before {
  top: 8px;
  left: 3px;
  height: 8px;
  transform: rotate(-45deg);
}

/* /ir/ 配下：別タブで開くボタン（.btn-primary[target="_blank"]）の矢印を、通常のボタンと同じ位置・動きにする
   （common-5.css の a[target="_blank"]:after の width/height: 13px・margin-left: 5px が効いて、縮小した矢印が上にずれるのを解除） */
main .col-lg-9 a.btn-primary[target="_blank"]::after {
  width: auto;
  height: auto;
  margin: 0;
}

/* ホバー時：通常の .btn-primary は transform: translateX(20px) で右へ動く。
   別タブのボタンは common-5.css の .btn[target="_blank"]:hover::after { animation: arrow .5s; }（right を動かす）も重なり動く幅が変わるため、アニメーションを解除 */
main .col-lg-9 a.btn-primary[target="_blank"]:hover::after {
  animation: none;
}

/* 中長期経営方針（plan.html）：ボタン3つ（株主還元・配当／中期経営計画2つ）を半幅の列で同じ幅に揃える
   （btn-wide の左右 6.5rem の余白では半幅に収まらないため縮める） */
.page-plan .btn-pair .btn-wide {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}


/* IRライブラリ TOP */
#library-index .card-list {
  margin-top: 0!important;
}

#library-index .card-list .card-item-wrapper {
  margin-bottom: 0!important;
}

/* 事業報告書 */
#ir_report .flexBox .imgBox {
  margin-bottom: 1rem;
  text-align: center;
}
@media (max-width: 575.98px) {
  #dividend table.typeA col.w20, #dividend table.typeA col.w30, #dividend table.typeA col.w35 {
    width: 100%!important;
  }
}


/* 個人投資家　TOP*/
#private-index .image-main {
  text-align: center;
  margin-bottom: 0;
}

#private-index .image-main img {
  /* width: 90%; */
  transition: filter 0.2s ease;
}

#private-index .image-main:hover img {
  filter: brightness(1.08);
}

#private-index .bg-secondary {
  background-color: var(--bs-secondary)!important;
}

#private-index .bg-secondary .card-list {
  margin: 0.5rem;
}

#private-index .card-item-wrapper {
  margin-bottom: 0;
}

#private-index .card-item-wrapper .card-image img {
  width: 80%;
  padding-top: 1rem;
  display: inline;
}


/* よくあるご質問 旧ir.cssからの移植分 */

#faq h2.faqTop{
  background: url(/ir/img/pic_faq01.png) 0 15px no-repeat;
  padding-left: 25px;
  border:none;
  font-size: 1.4rem;
  padding-top: 8px;
  margin-left: 20px;
  margin-bottom: 1.5rem;
}

#faq h2.faqTop:after{
  border-bottom:none;
}

#faq h2.faqTop a{
  color: #333;
  text-decoration: underline;
}

#faq h2.faqTop a:hover{
  opacity: 0.5;
  transition-property: all;
  transition: 0.3s linear;
}

p.intro {
  font-size: 1.4rem;
  line-height: 1.7;
  font-weight: normal;
}

a.link:before, span.link:before {
  content: "\f061";
  font-family: FontAwesome;
  display: inline;
  color: #14A83B;
  padding-right: .5em;
}
#irIndex a.link:before, span.link:before {
  content: none;
}


/* メインコンテンツ内の最初のH2は上マージンなし */
main .col-lg-9 > .my-h2-block:first-child,
main .col-lg-9 > :first-child > .my-h2-block:first-child {
  margin-top: 0;
  padding-top: 0;
}

/* よくあるご質問 Q・A アイコンの文字を背景の上下左右中央に配置 */
#faq_01 dl.answer dt:before,
#faq_01 dl.answer dd:before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-family: Questrial, sans-serif;
  width: 1.4em;
  height: 1.4em;
}

/* A は字形の関係で上寄りに見えるため少し下げる */
#faq_01 dl.answer dd:before {
  padding-top: 0.1em;
}

/* テーブル（my-custom-table）の th・td を左寄せにする */
.my-custom-table.table-left th,
.my-custom-table.table-left td {
  text-align: left;
}

/* メインコンテンツ内の最初のテーブルは上マージンなし */
main .col-lg-9 > .my-table-block:first-child > .my-custom-table,
main .col-lg-9 > :first-child > .my-table-block:first-child > .my-custom-table {
  margin-top: 0;
}

/* テーブル（my-custom-table）の列幅・右寄せ指定 */
.my-custom-table col.w20 { width: 20%; }
.my-custom-table col.w25 { width: 25%; }
.my-custom-table col.w30 { width: 30%; }
.my-custom-table col.w35 { width: 35%; }
.my-custom-table col.w60 { width: 60%; }

/* colgroup で列幅を指定したテーブルは th の固定幅（30%）を解除 */
.my-custom-table:has(colgroup) th {
  width: auto;
}

.my-custom-table.table-left td.t_r {
  text-align: right;
}

.my-custom-table .v_m {
  vertical-align: middle;
}

/* スマホ時はテーブル（my-custom-table）の th・td を縦積みにする */
@media (max-width: 575.98px) {
  .my-custom-table.table-left,
  .my-custom-table.table-left tbody,
  .my-custom-table.table-left tr,
  .my-custom-table.table-left th,
  .my-custom-table.table-left td {
    display: block;
    width: 100%;
  }
}

/* 見出し（H2）内の補足テキスト */
.sub-title {
  font-size: 1.2rem;
}

@media (max-width: 991px) {
  .sub-title {
    font-size: 0.875rem;
  }
}

/* 段落内の矢印付きリンク（a.link）は下線なし */
article .container p a.link {
  text-decoration: none;
}

/* 株主還元・配当（旧 style.css のクラスを補完） */
#dividend img.rimg {
  max-width: 100%;
  height: auto;
}

#dividend .t_c {
  text-align: center;
}

#dividend p.t_r {
  text-align: right;
}

#dividend .mt40 {
  margin-top: 40px;
}

#dividend .rpd30 {
  padding-right: 30px;
}

/* 配当金・自己株式取得の表：th・td すべて中央寄せ */
#dividend .table-dividend th,
#dividend .table-dividend td {
  text-align: center;
}

/* テーブル（my-custom-table）の列幅 w70 */
.my-custom-table col.w70 { width: 70%; }

/* PDFリンクのアイコン（旧 style.css の .pdf を補完） */
a.pdf {
  background: url(../../img/icon_pdf.png) 15px 0px no-repeat;
  padding-left: 40px;
  min-height: 22px;
  display: inline-block;
  color: #333;
}

a.pdf:hover {
  color: #14A83B;
  text-decoration: underline;
}

/* IRトップ「最新IR資料」は右側アイコンのみのため、上記 a.pdf の装飾を解除 */
#irIndex ul.list-materials li a.pdf {
  background: none;
  padding-left: 0;
  min-height: 0;
  display: block;
}

#irIndex ul.list-materials li a.pdf:hover {
  color: var(--bs-black);
  text-decoration: none;
}

/* PDFリンクには別窓アイコン（common-5.css の a[target="_blank"]:after）を付けない */
a.pdf::after,
a[href*=".pdf"]::after {
  content: none;
}

/* 株主総会（旧 style.css のクラスを補完） */
#meeting .lpd15 {
  padding-left: 15px;
}

/* アナリスト・カバレッジ：テーブル（typeB）を従来のデザインで表示（旧 style-renewal.css のクラスを補完） */
#analyst table.typeB {
  border-collapse: collapse;
  text-align: left;
  line-height: 1.5;
  width: 100%;
}

#analyst table.typeB th,
#analyst table.typeB td {
  padding: 1em;
  vertical-align: top;
}

#analyst table.typeB td {
  border-bottom: 1px solid #999;
  font-weight: normal;
}

#analyst table.typeB .bold {
  font-weight: bold;
}

#analyst .keyColor {
  color: #14A83B;
}

#analyst col.w50 {
  width: 50%;
}

#analyst .ulStyle01 {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

#analyst .lpd20 {
  padding-left: 20px;
}

#analyst .mt10 {
  margin-top: 10px;
}

#analyst .mb20 { margin-bottom: 20px; }
#analyst .mb30 { margin-bottom: 30px; }
#analyst .mb40 { margin-bottom: 40px; }

/* テーブル（my-custom-table）の th のみ中央寄せ */
.my-custom-table.th-center th {
  text-align: center;
}

/* IRカレンダー（旧 style-renewal.css のクラスを補完） */
#schedule img.rimg {
  max-width: 100%;
  height: auto;
}

#schedule .mb30 { margin-bottom: 30px; }

/* IRカレンダー：表内リンクは黒、ホバーで緑＋下線 */
#schedule .my-custom-table a {
  color: #333;
  text-decoration: none;
}

#schedule .my-custom-table a:hover {
  color: #14A83B;
  text-decoration: underline;
}

/* テーブル（my-custom-table）の列幅 w40 */
.my-custom-table col.w40 { width: 40%; }

/* 電子公告（旧 style-renewal.css のクラスを補完） */
#ir-f .mb30 { margin-bottom: 30px; }

/* 電子公告：表内リンクは黒、ホバーで緑＋下線（PDFリンクと同じ） */
#ir-f .my-custom-table a {
  color: #333;
  text-decoration: none;
}

#ir-f .my-custom-table a:hover {
  color: #14A83B;
  text-decoration: underline;
}

/* お問合わせについて（旧 style-renewal.css のクラスを補完） */
#inquiry .mb30 { margin-bottom: 30px; }
#inquiry .t_c { text-align: center; }
#inquiry .t_l { text-align: left; }

#inquiry ul.circleFill,
#inquiry ul.ico_check {
  list-style: none;
  padding-left: 0;
}

#inquiry ul.circleFill li {
  position: relative;
  margin-left: 40px;
  padding: 0.5em 0.5em 0.5em 2em;
}

#inquiry ul.circleFill li:before {
  position: absolute;
  content: " ";
  display: inline-block;
  background: #14A83B;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  margin-left: -40px;
}

#inquiry ul.ico_check li {
  position: relative;
  padding: 0.5em 0.5em 0.5em 2em;
}

#inquiry ul.ico_check li:after,
#inquiry ul.ico_check li:before {
  content: '';
  display: block;
  position: absolute;
  top: 4px;
  left: 8px;
  height: 11px;
  width: 4px;
  background: #6C3;
  border-radius: 10px;
  transform: rotate(45deg);
  margin-top: 5px;
}

#inquiry ul.ico_check li:before {
  top: 8px;
  left: 3px;
  height: 8px;
  transform: rotate(-45deg);
}

#inquiry .designBox01 {
  background: #ebf1de;
  padding: 20px;
}

#inquiry .flexBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}

#inquiry .flexBox.type2 div {
  padding: 0 20px;
}

@media (min-width: 940px) {
  #inquiry .flexBox {
    flex-direction: row;
  }
}

#inquiry .square_btn {
  display: inline-block;
  padding: 1em 2em;
}

/* 決算短信・決算説明資料（library/results.html） */
#ir_note .my-custom-table.mb40 { margin-bottom: 40px; }

/* 旧 ir.css の開閉パネル内テーブル指定（幅92%・左右1%、!important）を解除 */
#ir_note #panel_backnum .my-custom-table {
  width: 100% !important;
  margin: 1rem 0 30px !important;
}

#ir_note #panel_backnum .my-custom-table.mb40 {
  margin-bottom: 40px !important;
}

/* 旧 ir.css の開閉見出しリンク（2rem 固定）を H2 の文字サイズに合わせる */
#ir_note #panel_backnum h2.my-h2-text a.panel {
  font-size: inherit !important;
}

/* 決算短信・決算説明資料（library/results.html）のみ：開閉パネルのH2ブロックは上マージンなし・下マージン1rem・上下パディング1rem（ページ先頭のH2は除く） */
.page-results #panel_backnum .my-h2-block {
  margin-top: 0;
  margin-bottom: 1rem;
  padding: 1rem 0;
}

/* 決算短信・決算説明資料（library/results.html）・IRイベント（library/ir-event.html）のみ：テーブルは背景色・罫線なし、パディング 0.5rem 2rem */
.page-results .my-custom-table th,
.page-results .my-custom-table td,
.page-ir-event .my-custom-table th,
.page-ir-event .my-custom-table td {
  background: transparent;
  border: none;
  padding: 0.5rem 2rem;
}

/* 決算短信・決算説明資料（library/results.html）・IRイベント（library/ir-event.html）のみ：スマホ時は th・td の左右パディングなし */
@media (max-width: 575.98px) {
  .page-results .my-custom-table th,
  .page-results .my-custom-table td,
  .page-ir-event .my-custom-table th,
  .page-ir-event .my-custom-table td {
    padding-left: 0;
    padding-right: 0;
  }
}

/* 決算短信・決算説明資料（library/results.html）・IRイベント（library/ir-event.html）のみ：th は太字にしない */
.page-results .my-custom-table th,
.page-ir-event .my-custom-table th {
  font-weight: normal;
}

/* 決算短信・決算説明資料（library/results.html）・IRイベント（library/ir-event.html）のみ：ログミーFinance 等のリンク（a.blank.noicon）は黒・外部リンクアイコンなし */
.page-results a.blank.noicon,
.page-ir-event a.blank.noicon {
  color: #000 !important;
}

.page-results a.blank.noicon:before,
.page-ir-event a.blank.noicon:before {
  content: none;
  padding-right: 0;
}

/* 同上：ホバー時は PDF リンクと同じ緑（上記 color:#000!important を上書きするため !important） */
.page-results a.blank.noicon:hover,
.page-ir-event a.blank.noicon:hover {
  color: #14A83B !important;
  text-decoration: underline;
}

/* スマホ時は H3 見出し（my-h3-block）が H2（1.125rem）より大きくならないよう 1.125rem にする */
@media (max-width: 991px) {
  h3.my-h3-block {
    font-size: 1.125rem;
  }
}

/* 統合レポート（library/integrated-report.html）のみ：最新版の th は太字にしない（th 内の h4 は見出しのまま、バックナンバーは他ページと同じ） */
.page-integrated-report #latest .my-custom-table th {
  font-weight: normal;
}

/* 統合レポート（library/integrated-report.html）のみ：分割版の th 内の章名（h4）とページ数 */
.page-integrated-report .my-custom-table th h4 {
  font-size: 120%;
  margin-bottom: 1rem;
}

.page-integrated-report .my-custom-table th h4 .small {
  font-size: 0.875rem;
}

/* 統合レポート（library/integrated-report.html）のみ：画像と表が縦積みになる幅（col-md 未満）では最新版の表紙画像を中央寄せ・横幅60% */
@media (max-width: 767.98px) {
  .page-integrated-report #latest .imgBox {
    text-align: center;
  }

  .page-integrated-report #latest .imgBox img {
    width: 60%;
  }
}

/* 事業報告書（library/business-report.html）のみ：画像と表が縦積みになる幅（col-md 未満）では表紙画像を中央寄せ（横幅はそのまま） */
@media (max-width: 767.98px) {
  .page-business-report #latest .imgBox {
    text-align: center;
  }
}

/* 事業報告書・統合レポート・有価証券報告書（library/business-report.html・integrated-report.html・securities-report.html）のみ：PDFリンクは td 内で左寄せ */
.page-business-report .my-custom-table td,
.page-integrated-report .my-custom-table td,
.page-securities-report .my-custom-table td {
  text-align: left;
}

/* 事業報告書・統合レポート・有価証券報告書（library/business-report.html・integrated-report.html・securities-report.html）のみ：
   スマホ時は全テーブルの th・td を横幅100%で縦積みにする（table-left 以外のテーブルも対象） */
@media (max-width: 575.98px) {
  .page-business-report .my-custom-table,
  .page-business-report .my-custom-table tbody,
  .page-business-report .my-custom-table tr,
  .page-business-report .my-custom-table th,
  .page-business-report .my-custom-table td,
  .page-integrated-report .my-custom-table,
  .page-integrated-report .my-custom-table tbody,
  .page-integrated-report .my-custom-table tr,
  .page-integrated-report .my-custom-table th,
  .page-integrated-report .my-custom-table td,
  .page-securities-report .my-custom-table,
  .page-securities-report .my-custom-table tbody,
  .page-securities-report .my-custom-table tr,
  .page-securities-report .my-custom-table th,
  .page-securities-report .my-custom-table td {
    display: block;
    width: 100%;
  }
}

/* /ir/ 配下：メインコンテンツ先頭のページ内リンク（pfv-info-block）は上マージンなし */
main .col-lg-9 > .pfv-info-block:first-child {
  margin-top: 0;
}

/* /ir/ 配下：ページ内リンクの矢印はリンクの縦中央に配置
   （blockparts.css は top: 1.6rem 固定のため、テキストが2行になったリンクだけ矢印が上に寄る） */
main .col-lg-9 .pfv-btn-list li a::after {
  top: 50%;
  transform: translateY(-50%);
  line-height: 0;
}

/* /ir/ 配下：スマホ時はページ内リンクを1行に1つずつ並べる
   （custom.css の .pfv-btn-list.no-icon li は flex: 0 0 50% で幅を決めているため、width ではなく flex で 100% に上書き。
     a の最小幅（blockparts.css 178px・custom.css 160px）を解除し、右端の矢印と重ならないよう右に余白、アイコンなしのため左余白を縮小） */
@media (max-width: 991px) {
  main .col-lg-9 .pfv-btn-list li {
    flex: 0 0 100%;
    width: 100%;
  }

  main .col-lg-9 .pfv-btn-list li a {
    min-width: 0;
    white-space: nowrap;
    padding: 1rem 2.25rem 1rem 1rem !important;
  }
}

/* セグメント情報（ir_section.html）・海外売上高（ir_oversea.html）：数値表
   （旧 ir.css の #ir_section / #ir_oversea table.typeA 向け指定を my-custom-table 用に置き換え） */
.page-ir-section .my-custom-table col.w5,
.page-ir-oversea .my-custom-table col.w5 { width: 5%; }
.page-ir-section .my-custom-table col.w10,
.page-ir-oversea .my-custom-table col.w10 { width: 10%; }
.page-ir-section .my-custom-table col.w14,
.page-ir-oversea .my-custom-table col.w14 { width: 14%; }
.page-ir-section .my-custom-table col.w15,
.page-ir-oversea .my-custom-table col.w15 { width: 15%; }

.page-ir-section .my-custom-table th,
.page-ir-section .my-custom-table td,
.page-ir-oversea .my-custom-table th,
.page-ir-oversea .my-custom-table td {
  text-align: center;
  vertical-align: middle;
}

.page-ir-section .my-custom-table th.t_l,
.page-ir-oversea .my-custom-table th.t_l {
  text-align: left;
}

/* セグメント情報・海外売上高：表の上部（年度見出し行）の th 背景色 */
.page-ir-section .my-custom-table tr:first-child th,
.page-ir-oversea .my-custom-table tr:first-child th {
  background-color: #ceefbd;
}

/* 合計行の上は二重線、区切り行の下は太線 */
.page-ir-section .my-custom-table .d-line,
.page-ir-oversea .my-custom-table .d-line {
  border-top: 3px double #999;
}

.page-ir-section .my-custom-table .b-line,
.page-ir-oversea .my-custom-table .b-line {
  border-bottom: 2px solid #999;
}

/* スマホ時は表を横スクロール（blockparts.css の .horizontal-scroll は991px以下で有効） */
@media (max-width: 991px) {
  .page-ir-section .horizontal-scroll .my-custom-table,
  .page-ir-oversea .horizontal-scroll .my-custom-table {
    min-width: 700px;
  }
}

/* 海外売上高（ir_oversea.html）：旧 ir.css の海外売上比率グラフ下の余白（#ir_oversea img.pic_ir_oversea02 の 60px）は不要なので解除 */
body#ir_oversea img.pic_ir_oversea02 {
  margin-bottom: 0;
}

/* セグメント情報・海外売上高：2カラム内の H3 は上マージンなし */
.page-ir-section .row h3.my-h3-block,
.page-ir-oversea .row h3.my-h3-block {
  margin-top: 0;
}

/* 業績ハイライト（ir_financial.html）：旧 style.css / style-renewal.css のクラスを補完 */
.page-ir-financial .designBox01 {
  background: #ebf1de;
  padding: 20px;
}

.page-ir-financial .designBox01 h4 {
  font-size: 1.2rem;
}

/* 業績ハイライト（ir_financial.html）：csv/Excel データのリンクは黒、ホバー時は PDF リンクと同じ緑＋下線 */
.page-ir-financial a.excel {
  color: #000;
  text-decoration: none;
}

.page-ir-financial a.excel:hover {
  color: #14A83B;
  text-decoration: underline;
}

.page-ir-financial .t_c { text-align: center; }
.page-ir-financial .font_s { font-size: 0.8rem; }

/* 業績ハイライト（ir_financial.html）：スマホ時は配当（DOE）のグラフ・表を横幅100%に
   （旧 ir.css の #irp-graph-doe > div { padding-left: 20%!important; } を解除） */
@media (max-width: 991px) {
  .page-ir-financial #irp-graph-doe > div {
    padding-left: 0 !important;
  }
}

/* 業績ハイライト（ir_financial.html）：PCで2カラム横並びのとき、左右の表の高さを揃える
   （列を縦方向の flex にし、表の囲み・表を列の残りの高さいっぱいまで伸ばす） */
@media (min-width: 1200px) {
  .page-ir-financial .row > .col-xl-6 {
    display: flex;
    flex-direction: column;
  }

  .page-ir-financial .row > .col-xl-6 > .table-category-lineup2 {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
  }

  .page-ir-financial .row > .col-xl-6 > .table-category-lineup2 table {
    flex: 1 1 auto;
    height: 100%;
  }
}

/* 業績ハイライト（ir_financial.html）：IRPOCKET の style_r201909.css にある
   @media (min-width: 1400px) { #irp-chart-graph-ex2roa { margin-top: 37px; } } を打ち消す */
.page-ir-financial #irp-chart-graph-ex2roa {
  margin-top: 0;
}

/* 業績ハイライト（ir_financial.html）：スマホ時の配当（DOE）の表
   IRPOCKET の表は th を使わず全て td（行 tr.r1〜、列 td.c1〜）で生成される
   1行目（tr.r1）のセルは折り返さない／2行目以降の一番左（td.c1：期末配当など）は2文字ずつで折り返す（期末／配当） */
@media (max-width: 991px) {
  .page-ir-financial #irp-highlight-table-ex2doe tr.r1 td {
    white-space: nowrap !important;
  }

  .page-ir-financial #irp-highlight-table-ex2doe tr:not(.r1) td.c1 {
    width: calc(2em + 4px) !important;
    min-width: 0 !important;
    white-space: normal !important;
    word-break: break-all;
  }
}

/* 業績ハイライト（ir_financial.html）：2カラム内の H3 は上マージンなし */
.page-ir-financial h3.my-h3-block {
  margin-top: 0;
}

/* 業績ハイライト（ir_financial.html）：キャッシュ・フローの表（営業CF・投資CF・財務CF・フリーCF）の H3 は下マージン1rem
   （旧 ir.css の .boxCashflow h3 { margin-bottom: 0; } を上書き） */
.page-ir-financial .boxCashflow h3.my-h3-block {
  margin-bottom: 1rem;
}

/* 業績ハイライト（ir_financial.html）：グラフ上の単位表記は左右両端に配置（旧 ir.css の padding-left 固定値による位置合わせを解除） */
.page-ir-financial .spM2 {
  display: flex;
  justify-content: space-between;
}

.page-ir-financial .spM2 span {
  padding-left: 0;
}

/* IRイベント（library/ir-event.html）のみ：PDFアイコンを左端に寄せる */
.page-ir-event a.pdf {
  background: url(../../img/icon_pdf.png) 0px 0px no-repeat;
  padding-left: 25px;
}
