/* ----------------------------------------------------------------------------
common
---------------------------------------------------------------------------- */
.f_all {
  background: #f6f6f6 url(/assets/images/investor-relations/bg.webp) 50% 0 no-repeat;
  background-size: contain;
}

.s_title a {
  color: #2a3432;
}
.s_links a {
  min-height: calc(1.4em + 40px);
}
.s_page--body .eir .s_eirList li + li,
.s_page--body .eir_controller_newstype  .s_eirTab li + li {
  margin-top: 0;
}
.eir .s_eirList {
  font-weight: 700;
}

.eir_controller_year {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
}
.s_eirSelect {
  padding: 15px 20px;
  background-image: url(/assets/images/common/icon_arrow_bottom_blue.svg);
  background-size: 24px;
  background-position: right 20px top 50%;
  border-radius: 10px;
}

.eir_controller_newstype .s_eirTab {
  padding-bottom: 0;
  border-bottom: none;
}
.eir_controller_newstype .s_eirTab li a {
  padding-top: 20px;
  padding-bottom: 20px;
  line-height: 1em;
}

.s_page--body {
  padding-bottom: 120px;
}

.s_eirList {
  font-weight: 700;
}
@media (992px <= width) {
  .s_eirList {
    font-size: 18px;
  }
}
@media (width < 992px) {
  .s_eirList_item-pdf .s_eirList_item_type::before {
    bottom: 50%;
    transform: translateY(50%);
  }
}

.s_page--body {
  padding-bottom: 20px;
}
@media (992px <= width) {
  .s_page--body {
    position: relative;
    padding-bottom: 120px;
  }
}





/* ----------------------------------------------------------------------------
株主・投資家情報
/investor-relations/
---------------------------------------------------------------------------- */
/* reset */
.s_eirModule_titleBox {
  width: 100%;
}



.investor-relations .s_frame + .s_frame {
  margin-top: 30px;
}
.investor-relations .s_page--body {
  padding-bottom: 120px;
}
.box_index {
  display: grid;
  gap: 40px;
  margin-bottom: 60px;
}
.box_index .ir_news {
  font-size: 18px;
}

.box_index .ir_news .s_title a {
  display: block;
  position: relative;
}
.box_index .ir_news .s_title a::before {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  content: '';
  border-radius: 10px;
  background-color: #225ca5;
  z-index: 2;
}
.box_index .ir_news .s_title a::after {
  display: block;
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 20px;
  height: 20px;
  content: '';
  background: url(/assets/images/common/icon_arrow_right_white.svg) no-repeat 50%/contain;
  z-index: 3;
}
/*
.box_index .ir_news .s_eirList li + li {
  margin-top: 0;
}
*/

.box_index .stock_prices {
  padding: 20px;
  background-image: url(/assets/images/investor-relations/bg_stock_prices.webp);
  background-size: cover;
  background-position: right bottom;
  background-repeat: no-repeat;
}
.box_index .stock_prices dt {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ffffff;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4em;
  color: #ffffff;
}
.box_index .stock_prices a {
  display: block;
  position: relative;
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.4em;
}
.box_index .stock_prices a::before {
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  width: 40px;
  height: 40px;
  content: '';
  border-radius: 10px;
  background-color: #225ca5;
  transform: translateY(-50%);
  z-index: 2;
}
.box_index .stock_prices a::after {
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  width: 20px;
  height: 20px;
  content: '';
  background: url(/assets/images/common/icon_arrow_right_white.svg) no-repeat 50%/contain;
  transform: translateY(-50%);
  z-index: 3;
}
.box_index .stock_prices a span {
  font-size: 16px;
}
.box_index .ir_data {
  padding: 20px;
  border: 1px solid #e0e0e0;
  font-weight: 700;
}
.box_index .ir_data h2 {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e0e0e0;
  font-size: 20px;
}
.box_index .ir_data .s_downloads--item + .s_downloads--item {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #e0e0e0;
}
.box_index .ir_data li + li {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #e0e0e0;
}
.box_index .ir_data a {
  display: block;
  position: relative;
  padding-right: 30px;
  color: #2a3432;
}
.box_index .ir_data a::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 20px;
  height: 20px;
  content: '';
  background: url(/assets/images/common/icon_arrow_right_blue.svg) no-repeat 50% / contain;
  transform: translateY(-50%);
}
.box_index .ir_data a[target*="blank"]::after {
  background-image: url(/assets/images/common/icon_external_blue.svg);
}
.box_index .ir_data a[href*=".pdf"]::after {
  background-image: url(/assets/images/common/icon_pdf_blue.svg);
}
@media (992px <= width) {
  .box_index {
    grid-template-columns: 1fr 360px;
    grid-template-rows: max-content 1fr;
  }
  .box_index .ir_news {
    grid-row: 1 / 3;
    grid-column: 1;
  }
  .box_index .stock_prices {
    grid-row: 1;
    grid-column: 2;
    padding: 30px;
  }
  .box_index .stock_prices a span {
    display: block;
  }
  .box_index .ir_data {
    grid-row: 2;
    grid-column: 2;
    padding: 30px;
  }
  .box_index .ir_data ul {
    font-size: 18px;
  }
  .box_index .ir_data a {
    padding-right: 34px;
  }
  .box_index .ir_data a::after {
    width: 24px;
    height: 24px;
  }
}
@media (width < 992px) {
  .box_index .stock_prices a span {
    display: inline-block;
    margin-left: 10px;
  }
}

@media (992px <= width) {
  .s_news a {
    grid-template-columns: 6em 1fr;
    gap: 10px;
    padding-left: 20px;
  }
  .s_news time {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
  }
  .s_news--item_label {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
  }
  .s_news--item_label span {
    width: 10em;
    font-size: 14px;
  }
  .s_news--item_text {
    grid-row: 2 / 3;
    grid-column: 1 / 3;
  }
}

.s_news a::after {
  width: 30px;
  height: 30px;
}





/* ----------------------------------------------------------------------------
株主還元
/investor-relations/shareholder-stock-Information/shareholder-return/
---------------------------------------------------------------------------- */
#shareholder-return table th {
  white-space: nowrap;
}
#shareholder-return table td:nth-of-type(n+2) {
  text-align: right;
  white-space: nowrap;
}





/* ----------------------------------------------------------------------------
株式基本情報
/investor-relations/shareholder-stock-information/stock-information/
---------------------------------------------------------------------------- */
#stock-information table th {
  white-space: nowrap;
}
#stock-information .box_scroll tbody td {
  text-align: right;
}





/* ----------------------------------------------------------------------------
説明会資料
/investor-relations/ir-library/presentation/
---------------------------------------------------------------------------- */
#presentation .s_eirHeading {
  margin-bottom: 30px;
  padding-bottom: 0;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.4em;
  color: #2a3432;
  border-bottom: none;
}
#presentation .s_eirHeading:after {
  display: none;
}
#presentation .s_eirQuarter {
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4em;
  color: #225ca5;
}





/* ----------------------------------------------------------------------------
ファクトシート
/investor-relations/ir-library/factsheet/
---------------------------------------------------------------------------- */
#factsheet .box_iframe {
  height: 3700px;
}
@media (576px <= width) {
  #factsheet .box_iframe {
    height: 3100px;
  }
}
@media (768px <= width) {
  #factsheet .box_iframe {
    height: 3020px;
  }
}
@media (992px <= width) {
  #factsheet .box_iframe {
    height: 2910px;
  }
}
@media (1130px <= width) {
  #factsheet .box_iframe {
    height: 1610px;
  }
}





/* ----------------------------------------------------------------------------
株主・投資家の皆様へ
/investor-relations/to-our-shareholders-and-investors/
CFOメッセージ
/investor-relations/management-plan/cfo-message/
---------------------------------------------------------------------------- */
#to-our-shareholders-and-investors .s_page--body,
#cfo-message .s_page--body {
  margin-top: 25px;
  overflow-x: visible;
}
.s_message--title {
  display: flex;
  flex-direction: column-reverse;
  gap: 60px;
  margin-bottom: 60px;
}
.s_message--title figure {
  position: relative;
  width: 100%;
}
.s_message--title figure:after {
  display: block;
  position: absolute;
  left: -20px;
  bottom: -20px;
  width: 100%;
  height: 100%;
  content: '';
  background: url(/assets/images/common/bg_photo.webp) no-repeat 50%;
  background-size: cover;
}
.s_message--title figure img {
  position: relative;
  z-index: 2;
}
.s_message--title .title {
  width: 100%;
  color: #225ca5;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5em;
}
.date,
.position,
.name {
  font-weight: 700;
  color: #2a3432;
  line-height: 1em;
  text-align: right;
}
.date {
  margin-top: 60px;
  font-size: 16px;
}
.position {
  margin-top: 10px;
}
.name {
  margin-top: 10px;
  font-size: 20px;
}
@media (768px <= width) {
  .s_message--title {
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    margin-bottom: 100px;
  }
  .s_message--title figure {
    position: relative;
    width: 35vw;
    margin-top: -120px;
    margin-left: -40px;
  }
  .s_message--title .title {
    width: calc(100% - 35vw - 40px);
  }
}
@media (992px <= width) {
  .s_message--title .title {
    font-size: 35px;
  }
  .date {
    font-size: 18px;
  }
  .position {
    font-size: 20px;
  }
  .name {
    font-size: 30px;
  }
}
@media (1280px <= width) {
  .s_message--title figure {
    width: 510px;
  }
  .s_message--title .title {
    width: calc(100% - 460px);
  }
}
@media (1500px <= width) {
  .s_message--title figure {
    position: relative;
    margin-left: -130px;
  }
  .s_message--title figure:after {
    left: -40px;
    bottom: -40px;
  }
}





/* ----------------------------------------------------------------------------
IRよくあるご質問
/investor-relations/faq/
---------------------------------------------------------------------------- */
#faq .s_page--body .s_frame + .s_frame {
  margin-top: 40px;
}
#faq section .s_accordion--ttl.active {
  border-bottom: 1px dashed #e0e0e0;
}
#faq .s_page--body section a {
  color: #225ca5;
  text-decoration: underline;
}
#faq .s_page--body section a:hover,
#faq .s_page--body section a:active,
#faq .s_page--body section a:focus {
  text-decoration: none;
}
#faq section h3 {
  position: relative;
  padding-left: 40px;
  line-height: 1.4em;
}
#faq section .active h3 {
  font-size: 20px;
}
#faq section .s_accordion--content {
  position: relative;
  padding-left: 70px;
}
#faq section h3::before,
#faq section .s_accordion--content::before {
  position: absolute;
  font-size: 30px;
  font-family: Barlow,sans-serif;
  font-weight: 700;
  color: #225ca5;
}
#faq section h3::before {
  top: -2px;
  left: 0;
  content: 'Q.';
}
#faq section .s_accordion--content::before {
  top: 28px;
  left: 30px;
  content: 'A.';
}
@media (width < 992px) {
  #faq section h3,
  #faq section .active h3 {
    font-size: 16px;
    line-height: 1.4em;
  }
  #faq section .s_accordion--content {
    padding: 20px;
    padding-left: 60px;
    border: 1px solid #e0e0e0;
    border-top: none;
  }
  #faq section .s_accordion--content::before {
    top: 18px;
    left: 20px;
  }
}
@media (width < 768px) {
  #faq section h3 {
    padding-left: 30px;
  }
  #faq section .s_accordion--content {
    padding-left: 50px;
  }
  #faq section h3::before,
  #faq section .s_accordion--content::before {
    font-size: 24px;
  }
  #faq section h3::before {
    top: -3px;
  }
}





/* ----------------------------------------------------------------------------
個人投資家の皆様へ
/investor-relations/individual-investors/
---------------------------------------------------------------------------- */
#individual-investors .s_page--body .s_frame + .s_frame {
  margin-top: 40px;
}
#individual-investors .nav_select .s_select {
  display: block;
  width: auto;
}
#individual-investors .nav_select .s_eirHeading {
  display: none;
}
#individual-investors .nav_select .s_yearController {
  margin-bottom: 20px;
}

