@charset "UTF-8";




/* 中ページタイトル */
.page_title {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 230px;
  position: relative;
}

/* .page_title:before {
  content: "";
  position: absolute;
  display: block;
  background: #000;
  height: 10px;
  width: 100%;
  opacity: 0.6;
} */

.page_title.ttl_top {
  background-image: url(../image/ir/ttl_top@2x.png);
}

.page_title.ttl_news {
  background-image: url(../image/ir/ttl_news@2x.png);
}

.page_title.ttl_library {
  background-image: url(../image/ir/ttl_library@2x.png);
}

.page_title.ttl_highlight {
  background-image: url(../image/ir/ttl_highlight@2x.png);
}

.page_title.ttl_individual {
  background-image: url(../image/ir/ttl_individual@2x.png);
}

.page_title.ttl_investor {
  background-image: url(../image/ir/ttl_investor@2x.png);
}

.page_title.ttl_calendar {
  background-image: url(../image/ir/ttl_calendar@2x.png);
}

.page_title.ttl_notice {
  background-image: url(../image/ir/ttl_notice@2x.png);
}

.page_title.ttl_disclaimer {
  background-image: url(../image/ir/ttl_disclaimer@2x.png);
}

.page_title.ttl_faq {
  background-image: url(../image/ir/ttl_faq@2x.png);
}

.page_title.ttl_disclosure {
  background-image: url(../image/ir/ttl_disclosure@2x.png);
}
.page_title.ttl_sustainability {
  background-image: url(../image/ir/ttl_sustainability@2x.png);
}

@media screen and (min-width: 768px) {
  .page_title {
    height: 312px;
  }
}

.page_title h1 {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-bottom: 30px;
  margin-left: 20px;
}

@media screen and (min-width: 768px) {
  .page_title h1 {
    margin-left: 10px;
    margin-bottom: 70px;
  }
}

main h1 {
  color: #fff;
}

main h1::after {
  background-color: #fff;
}

main h1 span {
  color: #fff;
}

ul.breadcrumb li {
  color: #fff;
}

ul.breadcrumb li a {
  color: #fff;
}

ul.breadcrumb li a:after {
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}

/*----------
コンテンツ
----------*/
.grid-item .grid-item:first-child {
  padding-left: 0;
}

.grid-item .grid-item:last-child {
  padding-right: 0;
}

.grid-item > .l-grid {
  margin-bottom: 10px;
  padding: 0;
  overflow: visible;
}

/*--IRメニュー--*/
h2.ir_menu_h {
  position: relative;
  font-size: 22px;
  font-weight: bold;
  padding-bottom: 20px;
  margin-bottom: 15px;
}

h2.ir_menu_h::before {
  position: absolute;
  content: "";
  display: block;
  bottom: 0;
  left: 0;
  width: 53px;
  height: 1px;
  background-color: #888;
}

ul.ir_menu,
ul.ir_menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.ir_menu li {
  position: relative;
}

ul.ir_menu li > a::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #888;
  border-right: solid 1px #888;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 18px;
  margin-top: -4px;
}

ul.ir_menu li > a:hover::before,
ul.ir_menu li > span.active::before,
ul.ir_menu > li.active > a::before,
ul.ir_menu li.ir_menu-sub.active li.active a::before {
  border-top: solid 1px #e50020;
  border-right: solid 1px #e50020;
}

ul.ir_menu li.tab > a::before {
  background: url(../image/ir/icon_ir_menu_tab@2x.png);
  -ms-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  background-size: cover;
  width: 15px;
  height: 11px;
  border-top: none;
  border-right: none;
  top: 17px;
  right: 14px;
}

ul.ir_menu li.tab > a:hover::before {
  background: url(../image/ir/icon_ir_menu_tabhover@2x.png);
  background-size: cover;
}

ul.ir_menu li button{
  background: inherit;
  border: none;
}

ul.ir_menu li a,
ul.ir_menu li .ir_menu-sub__in {
  position: relative;
  display: block;
  padding: 5px 0;
  font-size: 15px;
  border-bottom: 1px solid #c8c9ca;
  cursor: pointer;
}

ul.ir_menu li a small {
  letter-spacing: -0.08em;
}

ul.ir_menu li:last-child a {
  border-bottom: none;
}

ul.ir_menu li .ir_menu-sub__in:hover,
ul.ir_menu > li.active > a,
ul.ir_menu li.ir_menu-sub.active .ir_menu-sub__in,
ul.ir_menu li.ir_menu-sub li.active a {
  color: #e50020;
}

ul.ir_menu li.ir_menu-sub .ir_menu-sub__in::before,
ul.ir_menu li.ir_menu-sub .ir_menu-sub__in::after {
  content: "";
  display: block;
  position: absolute;
  background: #888;
}

ul.ir_menu li.ir_menu-sub .ir_menu-sub__in::before {
  width: 9px;
  height: 1px;
  top: 17px;
  right: 16px;
}

ul.ir_menu li.ir_menu-sub .ir_menu-sub__in::after {
  width: 1px;
  height: 9px;
  top: 13px;
  right: 20px;
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
}

ul.ir_menu li.ir_menu-sub:hover > ul li::after {
  background: #888;
}

ul.ir_menu li.ir_menu-sub.open .ir_menu-sub__in::after {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  background: #888;
}

ul.ir_menu li.ir_menu-sub .ir_menu-sub__in:hover::before,
ul.ir_menu li.ir_menu-sub.active .ir_menu-sub__in::before,
ul.ir_menu li.ir_menu-sub .ir_menu-sub__in:hover::after,
ul.ir_menu li.ir_menu-sub.active .ir_menu-sub__in::after,
ul.ir_menu li.ir_menu-sub.active.open .ir_menu-sub__in::after {
  background: #e50020;
}

ul.ir_menu li.ir_menu-sub ul {
  display: none;
  list-style: none;
  padding: 0;
}

ul.ir_menu li.ir_menu-sub ul li a {
  padding: 7px 20px;
  font-size: 13px;
  border-bottom: 1px dashed #c8c9ca;
}

ul.ir_menu li.ir_menu-sub ul li:last-child a {
  border-bottom: 1px solid #c8c9ca;
}

ul.ir_menu li.ir_menu-sub ul li {
  position: relative;
}

ul.ir_menu li.ir_menu-sub ul li::before {
  position: absolute;
  content: "";
  top: 15px;
  left: 13px;
  /* 20190301 */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 3px solid transparent;
  border-left: 4px solid #333;
}

ul.ir_menu li.ir_menu-sub ul li:hover::before,
ul.ir_menu li.ir_menu-sub ul li.active::before {
  border-left: 4px solid #e50020;
}

ul.ir_menu li.ir_menu-sub.open ul {
  display: block;
}

ul.ir_menu li.ir_menu-sub li ul {
  margin-left: 1em;
}

ul.ir_menu li.letter-tight_20 {
  letter-spacing: -2px;
}

.ir_menu_banner {
  margin-top: 30px;
  transition: opacity .2s;
}

.ir_menu_banner:hover {
  opacity: 0.7;
}



/*--中タイトル--*/
.h-ir_in_title {
  font-size: 22px;
  border-bottom: 2px solid #231815;
  display: block;
  line-height: 1.4em;
  padding: 10px 0;
  margin: 0;
}

.h-ir_in_title span {
  float: right;
  font-size: 16px;
  font-weight: normal;
}

.h-ir_in_title span img {
  margin: 0 10px;
}

.h-ir_in_title span.rss {
  font-size: 16px;
  font-weight: bold;
}

/*--中タイトルのアコーディオン付き--*/
.h-ir_in_title.h-accordion {
  cursor: pointer;
}

.h-ir_in_title.h-accordion:hover {
  color: #e50020;
}

.h-ir_in_title.h-accordion::before,
.h-ir_in_title.h-accordion::after {
  content: "";
  display: block;
  position: absolute;
  background: #231815;
}

.h-ir_in_title.h-accordion::before {
  width: 16px;
  height: 2px;
  top: 22px;
  right: 0;
}

.h-ir_in_title.h-accordion::after {
  width: 2px;
  height: 16px;
  top: 15px;
  right: 7px;
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
}

.h-ir_in_title.h-accordion:hover::before,
.h-ir_in_title.h-accordion:hover::after {
  background: #e50020;
}

h2:has(.h-ir_in_title.h-accordion) + ul,
h2:has(.h-ir_in_title.h-accordion) + section.ir_event_h-accordion {
  display: none;
}

.h-ir_in_title.h-accordion.open::after {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

h2:has(.h-ir_in_title.h-accordion.open) + ul,
h2:has(.h-ir_in_title.h-accordion.open) + section.ir_event_h-accordion {
  display: block;
}

.h-ir_in_title.h-under_margin {
  margin-bottom: 40px;
}

.h-ir_in_title.h-under_margin2 {
  margin-bottom: 100px;
}

/*トップ*/
/*--メッセージバナー--*/
a.banner-ir_message {
  position: relative;
  display: grid;
  overflow: hidden;
  grid-template-rows: auto;
  grid-template-columns: auto;
  margin-bottom: 20px;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s;
}

a.banner-ir_message:hover {
  opacity: 0.7;
}

a.banner-ir_message img{
    grid-row: 1 / 2;
    grid-column: 1 / 2;
}

a.banner-ir_message .banner-ir_message_text-back {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
  align-self: center;
  justify-self: center;
  /* width: 36%; */
  height: 100%;
  position: relative;
  font-feature-settings: "palt";
}
a.banner-ir_message .banner-ir_message_text-back::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  background-color: #312000;
  z-index: 1;
}

a.banner-ir_message .banner-ir_message_text-back article {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  position: relative;
  z-index: 2;
}

a.banner-ir_message .banner-ir_message_text-back article .arrow {
  position: absolute;
  width: 40px;
  height: 1px;
  background-color: #fff;
  bottom: 7%;
  left: 50%;
  transform: translateX(-50%);
}
a.banner-ir_message .banner-ir_message_text-back article .arrow::after{
  content: "";
  position: absolute;
  right: -1px;
  bottom: 0;
  width: 1px;
  height: 12px;
  background-color: #fff;
  rotate: -55deg;
  transform-origin: bottom;
}

@media screen and (max-width: 768px) {
  a.banner-ir_message .banner-ir_message_text-back article .arrow {
    width: 25px;
    left: auto;
    right: 5%;
  }
  a.banner-ir_message .banner-ir_message_text-back article .arrow::after{
    height: 8px;
  }
}

a.banner-ir_message .banner-ir_message_text-back article .message_inner {

}

a.banner-ir_message .banner-ir_message_text-back article h2 {
  position: relative;
  color: #fff;
  font-size: 22px;
  padding-bottom: 10px;
  margin-bottom: 10px;
  text-align: center;
  letter-spacing: 0.1em;
}


a.banner-ir_message .banner-ir_message_text-back article h2::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: #fff;
}

a.banner-ir_message .banner-ir_message_text-back article p {
  color: #fff;
  font-size: 15px;
  margin-bottom: 0;
  letter-spacing: 0.05em;
}

/*--アイコン付きバナー--*/
a.ir_banner {
  position: relative;
  display: block;
  background: #eeeeef;
  padding: 7px 10px;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

a.ir_banner.banner2{
  display: flex;
  align-items: center;
  height: 79px;
}

a.ir_banner.banner2 span{
  font-size: 12px;
  line-height: 1.2;
}

a.ir_banner.banner2 img{
    width: 130px;
}

a.ir_banner:hover {
  background: #e50020;
  color: #fff;
}

a.ir_banner img {
  width: 65px;
  margin-right: 10px;
}


a.ir_banner span {
  font-size: 11px;
  padding-left: 10px;
}

a.ir_banner::after {
  position: absolute;
  content: "";
  vertical-align: middle;
  top: 50%;
  right: 19px;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #231815;
  border-right: 1px solid #231815;
  -webkit-transform: rotate(45deg);
  /* 20190301 */
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

a.ir_banner:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

a.ir_banner.tab::after {
  display: inline-block;
  content: "";
  border: none;
  -webkit-transform: none;
  /* 20190301 */
  -ms-transform: none;
  transform: none;
  background-image: url(../image/ir/icon_tab@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  right: 12px;
  width: 27px;
  height: 23px;
  margin-top: -10px;
}

a.ir_banner.tab:hover::after {
  background-image: url(../image/ir/icon_tabhover@2x.png);
  background-size: contain;
}

/*--ニュース上お知らせ用、dl--*/
.grid-item article.announcement {
  width: 100%;
  padding: 30px 40px 20px;
  margin: 50px auto 30px;
  background-color: #f7f7f7;
}

.grid-item article.announcement h3 {
  padding: 2px 0 2px 8px;
  border-left: 2px solid #e50020;
  font-size: 17px;
  line-height: 1.3em;
  color: #231815;
  margin-bottom: 1.5rem;
}

dl.announcement_list {
  margin-bottom: 0;
}

dl.announcement_list dt {
  width: 13%;
}

.grid-item article.announcement a {
  text-decoration: underline;
}

.grid-item article.announcement a:hover {
  text-decoration: none;
}

.grid-item article.announcement a:after {
  content: "";
  background: url(../image/ir/icon_ir_menu_tab@2x.png) no-repeat top center /
    cover;
  width: 15px;
  height: 11px;
  top: 0;
  right: -3px;
  position: relative;
  display: inline-block;
}

article.announcement a:hover:after {
  background-image: url(../image/ir/icon_ir_menu_tabhover@2x.png);
}

@media screen and (max-width: 768px) {
  .grid-item article.announcement {
    margin-bottom: 30px;
    padding: 25px 25px 0;
    width: 100%;
  }

  main article.announcement .h_black-big {
    font-size: 17px;
  }

  main dl.announcement_list dt {
    width: 100%;
  }

  main dl.announcement_list dd {
    width: 100%;
  }
}

/*--ニュース用、dl--*/
dl.ir_list {
  display: flex;
  flex-wrap: wrap;
}

dl.ir_list a {
  display: flex;
  /* 20190301 */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /*flex-wrap: wrap;*/
  flex-direction: row;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #231815;
  min-height: 80px;
  width: 100%;
}

dl.ir_list dt {
  width: 40%;
}

dl.ir_list dd {
  position: relative;
  width: 60%;
  margin-bottom: 0;
  line-height: 1.5em;
  padding-right: 31px;
}

dl.ir_list dt span {
  display: inline-block;
}

/*ニュース用のアイコン*/
dl.ir_list dt span.ir_list-icon {
  display: inline-block;
  width: 80px;
  border-radius: 7px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  line-height: 22px;
  padding: 2px 5px 0;
  margin-right: 15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

dl.ir_list dt span.ir_list-icon.icon-news {
  background: #888888;
}

dl.ir_list dt span.ir_list-icon.icon-ir {
  background: #1d2087;
}

dl.ir_list dt span.ir_list-icon.icon-imp {
  background: #e50020;
}

/*ライブラリー用のアイコン*/
dl.ir_list dt span.ir_list-icon.ir_list-icon-library {
  width: 110px;
}

.icon-library01 {
  background: #e50020;
}

.icon-library02 {
  background: #1d2087;
}

.icon-library03 {
  background: #00a199;
}

.icon-library04 {
  background: #888888;
}

/*日付*/
dl.ir_list dt span.ir_list-date {
  font-weight: bold;
}

/*pdf等の画像アイコン*/
dl.ir_list a.icon dd::after {
  position: absolute;
  content: "";
  background-size: contain;
  vertical-align: middle;
  top: 50%;
  right: 0;
  margin-top: -11px;
  width: 27px;
  height: 23px;
}

dl.ir_list a.icon.icon_pdf dd::after {
  background-image: url(../image/ir/icon_pdf@2x.png);
}

dl.ir_list a.icon.icon_csv dd::after {
  background-image: url(../image/ir/icon_csv@2x.png);
}

dl.ir_list a.icon.icon_xls dd::after {
  background-image: url(../image/ir/icon_xls@2x.png);
}

dl.ir_list a.icon.icon_movie dd::after {
  background-image: url(../image/ir/icon_movie@2x.png);
}

/*IE用ハック*/
_:-ms-input-placeholder,
:root dl.ir_list dt span.ir_list-icon {
  padding-top: 5px;
}

_:-ms-input-placeholder,
:root dl.ir_list dd {
  padding-top: 2px;
}

/*電子広告用追加*/
dl.ir_notice_list dt {
  width: 20%;
}

dl.ir_notice_list dd {
  width: 80%;
  font-size: 15px;
}

.ir_notice_list {
  list-style: circle;
  padding-left: 15px;
}

.ir_notice_list_item {
  margin-bottom: 15px;
}

.ir_notice_list_item a {
  border-bottom: 1px dotted #231815;
  padding-bottom: 10px;
}

.ir_notice_list_item a .ir_list-name {
  margin-right: 15px;
}

.ir_notice_list_item a .pdf_icon {
  margin-left: 15px;
}

.article_notice {
  margin: 45px 0;
}

.article_notice_p{
  margin-bottom: 3.7rem;
}

.notice_link {
  color: #0066c0;
  text-decoration: underline;
}

.notice_link:hover {
  color: #0066c0;
  opacity: 0.7;
  text-decoration: none;
}

/*中間サイズ用*/
@media screen and (max-width: 880px) {
  dl.ir_list dt {
    width: 45%;
  }

  dl.ir_list dd {
    width: 55%;
  }
}

/*--リスト--*/
ul.ir_list {
  padding: 0;
}

ul.ir_list li {
  list-style: none;
  padding: 20px 0;
  border-bottom: 1px solid #231815;
}

ul.ir_list li a {
  position: relative;
  display: block;
  font-weight: bold;
  font-size: 16px;
}

/*pdf等の画像アイコン*/
ul.ir_list li.icon a::after {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  top: 50%;
  right: 10px;
  margin-top: -11px;
  width: 27px;
  height: 23px;
}

ul.ir_list li.icon.icon_pdf a::after {
  background-image: url(../image/ir/icon_pdf@2x.png);
}

ul.ir_list li.icon.icon_csv a::after {
  background-image: url(../image/ir/icon_csv@2x.png);
}

ul.ir_list li.icon.icon_xls a::after {
  background-image: url(../image/ir/icon_xls@2x.png);
}

ul.ir_list li.icon.icon_movie a::after {
  background-image: url(../image/ir/icon_movie@2x.png);
}

/*IRカレンダー用追加*/
ul.ir_event_list li {
}

ul.ir_event_list li dl,
ul.ir_event_list li dl dd {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  ul.ir_event_list li dt {
    width: 35%;
  }

  ul.ir_event_list li dd {
    width: 63%;
  }
}

ul.ir_event_list li dl:after {
  content: " ";
  clear: both;
  display: block;
}

/*--Acrobat--*/
article.info_acrobat {
  padding: 20px;
  display: flex;
  /*display:-webkit-box;*/
  display: -ms-flexbox;
  -ms-justify-content: center;
  justify-content: center;
  align-items: center;
  background-color: #eeeeef;
  margin-bottom: 30px;
}

article.info_acrobat a {
  margin-right: 20px;
}

article.info_acrobat p {
  font-size: 12.5px;
  margin-bottom: 0;
  line-height: 1.4em;
}

/*--ボタン--*/
.btn_space {
  padding: 10px 0;
}

.btn_space .link_btn {
  margin-bottom: 30px;
}

.link_btn.btn_douwnload {
  position: relative;
  padding-left: 10px;
  padding-right: 35px;
}

.link_btn.btn_douwnload::after {
  position: absolute;
  content: "";
  background: url(../image/ir/icon_download@2x.png) no-repeat 0 0;
  background-size: cover;
  height: 16px;
  width: 18px;
  margin-top: -9px;
  top: 50%;
  right: 30px;
}

.link_btn.btn_douwnload:hover::after {
  position: absolute;
  content: "";
  background: url(../image/ir/icon_downloadhover@2x.png) no-repeat 0 0;
  background-size: cover;
  height: 16px;
  width: 18px;
  margin-top: -9px;
  top: 50%;
  right: 30px;
}

/*IE用ハック*/
_:-ms-input-placeholder,
:root .btn-big {
  padding-top: 16px;
}

/*--ソート用アコーディオン--*/
ul.aircodion_sort_list {
  position: relative;
  padding: 0;
  margin: 15px 0;
  list-style: none;
  z-index: 1;
}

ul.aircodion_sort_list li .h-aircodion button{
  position: relative;
  font-size: 15px;
  color: #231815;
  background: #eeeeef;
  padding: 10px 15px;
  margin: 0;
  cursor: pointer;
}

ul.aircodion_sort_list li .h-aircodion button::before,
ul.aircodion_sort_list li .h-aircodion button::after {
  content: "";
  display: block;
  position: absolute;
  background: #888;
}

ul.aircodion_sort_list li .h-aircodion button::before {
  width: 9px;
  height: 1px;
  top: 23px;
  right: 16px;
}

ul.aircodion_sort_list li .h-aircodion button::after {
  width: 1px;
  height: 9px;
  top: 19px;
  right: 20px;
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
}

ul.aircodion_sort_list li .h-aircodion.open button {
  color: #fff;
  background: #e50020;
}

ul.aircodion_sort_list li .h-aircodion.open button::before {
  background: #fff;
}

ul.aircodion_sort_list li .h-aircodion.open button::after {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  background: #fff;
}

ul.aircodion_sort_list ul {
  display: none;
  position: absolute;
  top: 47px;
  left: 0;
  width: 100%;
  height: 100%;
  list-style: none;
  padding: 0;
  background: #fff;
}

ul.aircodion_sort_list ul li {
  background: #fff;
  padding-bottom: 2px;
}

ul.aircodion_sort_list ul li a {
  display: block;
  list-style: none;
  position: relative;
  font-size: 15px;
  color: #231815;
  background: #eeeeef;
  padding: 10px 15px;
  margin-bottom: 2px;
}

ul.aircodion_sort_list ul li a::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #888;
  border-right: solid 1px #888;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 18px;
  margin-top: -4px;
}

ul.aircodion_sort_list ul li a:hover {
  color: #e50020;
}

ul.aircodion_sort_list ul li a:hover::before {
  border-top: solid 1px #e50020;
  border-right: solid 1px #e50020;
}

ul.aircodion_sort_list li .h-aircodion.open + ul {
  display: block;
}

/*--ニュース記事ページ--*/
.grid-item.bar {
  position: relative;
}

.grid-item.bar::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: 50%;
  background: #ccc;
}

.h-news_title {
  font-size: 22px;
  margin-bottom: 50px;
}

.h-news_title span.ir_news-date {
  font-size: 15px;
  font-weight: normal;
  display: block;
  margin-bottom: 45px;
}

.h-news_title span.ir_news-date span.ir_news-icon {
  float: right;
  display: inline-block;
  width: 80px;
  border-radius: 7px;
  text-align: center;
  color: #fff;
  line-height: 1em;
  padding: 5px;
  margin-right: 15px;
}

.h-news_title span.ir_news-date span.ir_news-icon.icon-news {
  background: #888888;
}

.h-news_title span.ir_news-date span.ir_news-icon.icon-ir {
  background: #1d2087;
}

.h-news_title span.ir_news-date span.ir_news-icon.icon-imp {
  background: #c30d23;
}

.h-news_in_title {
  line-height: 1.2em;
  font-size: 18px;
  color: #231815;
  border-left: solid 5px #e50020;
  padding-left: 10px;
  margin-bottom: 20px;
}

.h-news_in_title.h-small {
  font-size: 15px;
}

p.note {
  font-size: 13px;
}

.news_in p,
.news_in image {
  margin-bottom: 30px;
}

/*--ハイライトのみの設定--*/
.highlight article {
  margin: 20px 0;
}

/*--株主・投資家情報のリスト--*/
ul.investor_link_list {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.investor_link_list a {
  position: relative;
  display: block;
  border-bottom: 1px solid #888;
  font-size: 15px;
  padding: 30px 0;
}

ul.investor_link_list a h3 {
  font-size: 22px;
  color: #231815;
}

ul.investor_link_list a:hover {
  color: #231815;
}

ul.investor_link_list a:hover h3 {
  color: #e50020;
}

ul.investor_link_list a::before {
  content: "";
  width: 10px;
  height: 10px;
  border: 0px;
  border-top: solid 1px #231815;
  border-right: solid 1px #231815;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 18px;
  margin-top: -4px;
}

ul.investor_link_list a:hover::before {
  border-top: solid 1px #e50020;
  border-right: solid 1px #e50020;
}

/*--IRカレンダー--*/
div.ir_calender {
  /* 20190301 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
}

div.ir_calender article:first-child {
  margin-right: 5px;
}

div.ir_calender article:last-child {
  margin-left: 5px;
}

div.ir_calender article {
  width: 50%;
}

div.ir_calender article h3 {
  font-size: 18px;
  background-color: #3e3a39;
  color: #fff;
  text-align: center;
  line-height: 1em;
  padding: 10px 0;
  margin-bottom: 4px;
}

div.ir_calender ul {
  /* 20190301 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  padding: 0;
}

div.ir_calender ul li {
  position: relative;
  width: 32%;
}

main div.calendar_list h3 {
  margin-bottom: 0;
}

main div.calendar_list .h_underbar {
  border-bottom: 2px solid #231815;
}

div.ir_calender ul li h4 {
  text-align: center;
  font-size: 18px;
  color: #fff;
  background-color: #dbdcdc;
  padding: 20px 0;
  margin-bottom: 0;
}

div.ir_calender ul li:first-child {
  margin-right: 2%;
}

div.ir_calender ul li:last-child {
  margin-left: 2%;
}

div.ir_calender ul li.active h4 {
  background-color: #e50020;
}

div.ir_calender ul li.active_bar h4::after {
  position: absolute;
  content: "";
  bottom: -20px;
  left: 50%;
  background-color: #e50020;
  width: 2px;
  height: 20px;
}

div.ir_calender ul li.active_bar_2 h4::after {
  height: 45px;
  bottom: -45px;
}

div.ir_calender ul li.active span {
  margin-top: 22px;
  font-size: 18px;
  font-weight: bold;
  display: block;
  text-align: center;
  overflow: visible;
  white-space: nowrap;
}

div.ir_calender ul li.active span.calender-text02 {
  margin-left: -0.25em;
}

div.ir_calender ul li.active span.calender-text03 {
  margin-left: -1.5em;
}

@media screen and (max-width: 900px) {
  div.ir_calender ul li.active span.calender-text02 {
    margin-left: -0.75em;
  }

  div.ir_calender ul li.active span.calender-text03 {
    margin-left: -2em;
  }
}

div.ir_calender ul li.active_bar_2 span {
  margin-top: 47px;
}

/*--よくある質問用のページ内リンク--*/
ul.pagelink_list {
  display: -webkit-flex;
  display: flex;
  /*-webkit-justify-content: space-between;
  justify-content: space-between;*/
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin-top: 20px;
}

ul.pagelink_list li {
  width: 24%;
}

ul.pagelink_list li:last-child {
  margin-right: 0;
}

ul.pagelink_list li a {
  display: block;
  position: relative;
  font-size: 15px;
  color: #231815;
  background: #eeeeef;
  padding: 10px;
  margin: 0;
  font-weight: bold;
}

ul.pagelink_list li a::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #231815;
  border-right: solid 1px #231815;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 50%;
  right: 13px;
  margin-top: -4px;
}

ul.pagelink_list li a:hover {
  background: #e50020;
  color: #fff;
}

ul.pagelink_list li a:hover::before {
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}

/*--よくある質問--*/
.grid-item > .l-grid.l-grid-faqpagalink {
  margin-bottom: 5px;
}

div.faq_list {
  margin-bottom: 40px;
}

main div.faq_list .h_black-big {
  padding-bottom: 0px;
}

main div.faq_list .h_underbar {
  border-bottom: 2px solid #231815;
}

div.faq_list article {
  padding: 24px 0;
  border-bottom: 1px solid #9e9e9f;
}

div.faq_list article h3 {
  font-size: 18px;
  font-weight: bold;
  color: #231815;
  padding-left: 35px;
  line-height: 1.4;
  margin-bottom: 0.9rem;
}

div.faq_list article h3::before {
  position: absolute;
  content: "Q.";
  left: 0;
}

div.faq_list article p {
  position: relative;
  padding-left: 25px;
  font-size: 15px;
  margin: 0;
  line-height: 1.4;
}

div.faq_list article p::before {
  position: absolute;
  content: "A.";
  left: 0;
}

div.faq_list article a {
  color: #0066c0;
  text-decoration: underline;
}

div.faq_list article a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*--免責事項、ディスクロージャー・ポリシー--*/
div.disclaimer article,
div.disclosure article {
  display: block;
  overflow: hidden;
  margin: 45px 0;
}

/*--株主基本情報--*/
table.ir_basic th {
  background: #f7f7f7;
}

table.ir_basic th,
table.ir_basic td {
  padding: 15px;
  border: 1px solid #888;
}

table.ir_basic th {
  width: 25%;
}

table.ir_basic td {
  width: 75%;
}


table.ir_basic a {
  color: #0066c0;
  text-decoration: underline;
}

table.ir_basic a:hover {
  color: #0066c0;
  opacity: 0.7;
  text-decoration: none;
}


/*--株主優待--*/
table.ir_treat{
  width:auto;
  table-layout: fixed;
  text-align: center;
  margin-bottom: 1rem;
}

table.ir_treat th{
  background: #f7f7f7;
}

table.ir_treat th,
table.ir_treat td {
  padding: 15px;
  border: 1px solid #888;
}

.h_treat{
  margin-top: 1rem;
  margin-bottom: 1rem;
  background: #dbdcdc;
  border-radius: 6px;
  display: inline-block;
  line-height: 1.4;
  padding: 0.357em 1em;
  font-size: 13px;
}

.head_treat{
  margin-top: 30px;
}

/*--タブレット用--*/
@media screen and (max-width: 1099px) and (min-width:767px){

}

/*--スマホ用--*/
@media screen and (max-width: 767px) {
  /*--グリッドの設定--*/
  .grid-item .grid-item {
    padding: 0;
  }

  .grid-item > .l-grid {
    margin-bottom: 10px;
  }

  /*--中見出し--*/
  .h-ir_in_title {
    padding: 5px 0;
    overflow: hidden;
  }

  .h-ir_in_title span {
    font-size: 12px;
    padding: 0;
  }

  .h-ir_in_title.h-accordion::before {
    top: 15px;
  }

  .h-ir_in_title.h-accordion::after {
    top: 8px;
  }

  .h-ir_in_title.h-under_margin {
    margin-bottom: 20px;
  }

  .h-ir_in_title.h-under_margin2 {
    margin-bottom: 35px;
  }

  /*--メッセージバナー--*/
  a.banner-ir_message .banner-ir_message_text-back article h2 {
    font-size: 16px;
  }

  a.banner-ir_message .banner-ir_message_text-back article p {
    font-size: 12px;
    line-height: 1.5em;
  }

  a.banner-ir_message .banner-ir_message_text-back article h2::before{
    content: none;
  }

  a.ir_banner {
    margin-bottom: 10px;
    font-size: 14px;
  }
  a.ir_banner.sp-mb0 {
    margin-bottom: 0px;
  }

  
  a.ir_banner.banner2{
    height: auto;
    min-height: 54px;
  }
  
  a.ir_banner.banner2 span{
    font-size: 11px;
  }
  
  a.ir_banner.banner2 img{
      width: 70px;
      margin-right: 0;
  }

  a.ir_banner img {
    width: 40px;
  }

  a.ir_sile_banner {
    margin-top: 20px;
    display: block;
  }

  /*--ニュース用、dl--*/
  dl.ir_list dt,
  dl.ir_list dd {
    width: 100%;
    padding: 0;
  }

  dl.ir_list dt {
    border: none;
    padding-top: 10px;
    padding-bottom: 8px;
  }

  dl.ir_list dd {
    position: initial;
    padding-bottom: 10px;
    padding-right: 40px;
  }

  dl.ir_list a {
    position: relative;
    padding: 9px 0;
  }

  dl.ir_list dt span.ir_list-date {
    padding: 0;
  }

  /*--株主・投資家情報のリスト--*/
  ul.investor_link_list a {
    padding: 20px 40px 20px 0;
  }

  article.info_acrobat {
    display: block;
  }

  article.info_acrobat img {
    margin-bottom: 10px;
  }

  /*--ソート用アコーディオン--*/
  ul.aircodion_sort_list {
    margin: 10px 0 0;
  }

  ul.aircodion_sort_list li .h-aircodion button {
    padding: 16px 15px;
  }

  ul.aircodion_sort_list li .h-aircodion button::before {
    top: 25px;
  }

  ul.aircodion_sort_list li .h-aircodion button::after {
    top: 21px;
  }

  ul.aircodion_sort_list li .h-aircodion.open + ul {
    position: relative;
    top: 0;
  }

  /*--IRカレンダー--*/
  div.ir_calender {
    display: block;
  }

  div.ir_calender article {
    width: 100%;
  }

  div.ir_calender ul li h4 {
    font-size: 14px;
  }

  div.ir_calender ul li.active span {
    font-size: 13px;
    padding-left: 0;
    margin-left: 0;
    text-align: center;
  }

  div.ir_calender ul li.active span.calender-text02 {
    margin-left: 0;
  }

  div.ir_calender ul li.active span.calender-text03 {
    margin-left: -0.25em;
  }

  div.ir_calender article:first-child,
  div.ir_calender article:last-child {
    margin: 0;
  }

  /*--よくある質問用のページ内リンク--*/
  ul.pagelink_list li a {
    font-size: 14px;
    padding: 10px 5px 15px;
    text-align: center;
  }

  ul.pagelink_list li a::before {
    right: auto;
    top: auto;
    bottom: 12px;
    left: 50%;
    margin-left: -3px;
  }

  a.ir_banner::after {
    right: 22px;
  }

  a.ir_banner.tab::after {
    width: 21px;
    height: 21px;
    right: 15px;
  }

  /*--株主基本情報--*/
  table.ir_basic {
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-word;
    border-bottom: 1px solid #888;
  }

  table.ir_basic th,
  table.ir_basic td {
    display: block;
    width: 100%;
    padding: 10px;
  }

  table.ir_basic th,
  table.ir_basic td {
    border-bottom: hidden;
  }

  ul.ir_event_list li span.ir_list-date {
    width: 25%;
  }

  ul.ir_event_list li span.ir_list-text {
    width: 75%;
  }
  /*--配当情報--*/
  .article_notice_p{
    margin-bottom: 2rem;
  }

  /*--ディスクロージャー・ポリシー--*/
}

/*--SE用--*/
@media screen and (max-width: 320px) {
  a.banner-ir_message .banner-ir_message_text-back article h2 {
    font-size: 14px;
  }

  a.banner-ir_message .banner-ir_message_text-back article p {
    font-size: 11px;
    line-height: 1.5em;
  }
}

@media screen and (min-width: 768px) and (max-width: 900px) {

  a.ir_banner {
    font-size: 13px;
  }
  a.ir_banner.banner2{
    height: 54px;
  }

  a.ir_banner img {
    width: 40px;
  }

  a.ir_banner.banner2 img{
    width: 50px;
  }
  a.ir_banner span{
    font-size: 10px;
  }
  a.ir_banner.banner2 span{
    font-size: 11px;
  }

  a.ir_banner.tab span {
    letter-spacing: 0.05em;
    padding-left: 3px;
  }

  ul.ir_menu li a,
  ul.ir_menu li span {
    font-size: 13px;
  }

  ul.ir_menu li.tab > a::before {
    top: 15px;
    right: 13px;
  }

  ul.ir_menu li small {
    font-size: 70%;
  }
}

@media screen and (min-width: 900px) and (max-width: 1100px) {
  a.ir_banner.banner2 img{
    width: 82px;
  }
}
