@charset "utf-8";
/* CSS Document */
.ir-sub-cont {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* table 共通 -------------------------------------*/
table {
  width: 100%;
}

.ir-table-cont tr {
  border-bottom: solid 1px #c0c0c0;
}

.ir-table-cont tr:last-child {
  border-bottom: none;
}

.ir-table-cont th {
  width: 250px;
  padding: 40px 0 40px 28px;
  font-weight: 400;
}

.ir-table-cont td {
  padding: 40px 28px;
}

/* ------------------------------------------------
   responsive  table共通
------------------------------------------------- */

/* 1439～960px ---------------------------------- */
@media screen and (max-width: 1439px) {
}

@media screen and (max-width: 1199px) {
}

/* 959～560px tab -------------------------------- */
@media screen and (max-width: 959px) {
}

@media screen and (max-width: 768px) {
  .ir-table-cont tr {
    display: flex;
    flex-direction: column;
    border-bottom: none;
  }

  .ir-table-cont th {
    width: 100%;
    padding: 10px;
    background-color: #f7f7f7;
    border-top: solid 1px #c1c0c0;
  }

  .ir-table-cont td {
    padding: 15px 10px 30px;
  }
}

/* 559px～ sp -------------------------------- */
@media screen and (max-width: 559px) {
}

/* ================= */
/*  　 　index　　　  */
/* ================= */
/* IR NEWS --------------------------------*/
#irnews .sub-container {
  padding-bottom: 0;
}

.ir-news.flex {
  justify-content: space-between;
}

.ir-news .button {
  margin-top: 60px;
}

.filters.flex {
  /* margin-top: 60px; */
  flex-wrap: wrap;
  flex-direction: column;
  width: 190px;
}

.filter-btn {
  position: relative;
  cursor: pointer;
  width: 100%;
  margin: 5px;
  padding: 10px 15px;
  color: #acadad;
  font-weight: 500;
  border-bottom: solid 2px #fff;
}

.filter-btn::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #acadad;
  border-bottom: 2px solid #acadad;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.filter-btn.active {
  border-bottom: solid 2px #008db7;
  color: #333;
}

.filter-btn.active::after {
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
}

.news-list {
  width: 75%;
  margin-top: -40px;
}

.news-item {
  padding: 40px 25px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 5px;
  list-style: none;
}

.news-item a:hover {
  color: #008db7;
  transition: 0.3s;
}

.news-item.last-visible {
  border-bottom: none;
}

.news-item.hidden {
  display: none;
}

.info1 .day {
  margin-right: 24px;
  color: #888;
  font-size: 14px;
}

.info1 .category {
  padding: 2px 10px;
  font-size: 12px;
}

.info2.flex {
  justify-content: space-between;
}

/* 最新IR資料・今後の予定 --------------------------------*/
.latest-container {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
}

.latest,
.schedule {
  padding: 60px 40px;
  background-color: #f7f7f7;
  border-radius: 20px;
}

.latest {
  width: 726px;
}

.schedule {
  width: 350px;
}

.ir-subhead {
  margin-bottom: 20px;
  padding-bottom: 5px;
  font-size: 2.2rem;
  font-weight: 500;
  border-bottom: solid 1px #ddd;
}

.latest-cont a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.latest-cont a:hover {
  opacity: 0.6;
  transition: 0.3s;
}

.latest-cont a .pdf {
  margin-left: 10px;
}

.latest-doc .day {
  font-size: 1.4rem;
  color: #898989;
}

/* IR CONTENT --------------------------------*/
.index-itemA {
  display: grid;
  grid-template-rows: repeat(2, 350px);
  grid-template-columns: repeat(6, 163px);
  gap: 24px;
}

.itemA {
  position: relative;
  border-radius: 20px;
  box-shadow: 2px 2px 4px #b7b7b7;
}

.itemA a {
  display: inline-block;
  padding: 20px;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
  color: #fff;
}

.itemA .flex {
  justify-content: right;
  align-items: center;
  align-self: center;
  width: 100%;
  height: 100%;
}

.itemA p {
  font-size: 2.4rem;
  font-weight: 500;
  text-align: right;
  line-height: 1.2;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}

.itemA .link-btn {
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
}

.itemA:hover .link-btn {
  background-color: #fff;
  transition: 0.3s;
}

.itemA:hover .link-btn::before {
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  transition: 0.3s;
}

.item1 {
  grid-column-start: 1;
  grid-column-end: 4;
  background: url(../img2/ir/bg-item01.jpg) center no-repeat;
}

.item2 {
  grid-column-start: 4;
  grid-column-end: 7;
  background: url(../img2/ir/bg-item02.jpg) center no-repeat;
}

.item3 {
  grid-column-start: 1;
  grid-column-end: 3;
  background: url(../img2/ir/bg-item03.jpg) center no-repeat;
}

.item4 {
  grid-column-start: 3;
  grid-column-end: 5;
  background: url(../img2/ir/bg-item04.jpg) center no-repeat;
}

.item5 {
  grid-column-start: 5;
  grid-column-end: 7;
  background: url(../img2/ir/bg-item05.jpg) center no-repeat;
}

.itemA a:hover {
  backdrop-filter: blur(3px);
  transition: 0.3s;
  border-radius: 20px;
}

/* 下部 背景imgなし */
.index-itemB {
  display: grid;
  grid-template-columns: repeat(3, 350px);
  gap: 24px;
  margin-top: 80px;
}

.itemB {
  margin-bottom: 80px;
  border-bottom: solid 1px #c0c0c0;
}

.itemB a {
  display: inline-block;
  padding: 10px;
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

.itemB .flex {
  justify-content: space-between;
  align-items: center;
}

.itemB p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
}

.itemB .link-btn {
  display: block;
  float: right;
  background-color: #333;
}

.itemB:hover {
  border-bottom: solid 1px #008db7;
}

.itemB:hover .link-btn {
  background-color: #fff;
  border: solid 1px #333;
  transition: 0.3s;
}

.itemB:hover .link-btn::before {
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  transition: 0.3s;
}

/* ------------------------------------------------
   responsive  index
------------------------------------------------- */

/* 1439～960px ---------------------------------- */
@media screen and (max-width: 1439px) {
  /* IR NEWS */
  /* .ir-news {
    width: 80%;
    margin: 8% auto;
  } */
}

@media screen and (max-width: 1199px) {
  .news-list {
    margin-left: 30px;
  }

  .latest,
  .schedule {
    padding: 30px 35px;
  }

  .latest {
    width: 65%;
  }

  .schedule {
    width: 33%;
  }

  /* ir content */
  .index-grid-container {
    width: 100%;
  }

  .index-itemA {
    grid-template-columns: repeat(6, 14.5%);
    grid-template-rows: repeat(2, 250px);
  }

  .itemA p {
    font-size: 2rem;
  }

  .itemA .link-btn {
    margin-left: 10px;
  }

  .index-itemB {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 40px;
  }

  .itemB {
    margin-bottom: 40px;
  }

  .itemB p {
    font-size: 1.6rem;
  }
}

/* 959～560px tab -------------------------------- */
@media screen and (max-width: 959px) {
  /* IR NEWS -------------------------------------*/
  .ir-news.flex {
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    align-content: center;
  }

  .ir-news.flex .flex1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }

  .ir-news.flex .flex1 .sub-head-h3 {
    order: 1;
    margin-bottom: 0;
  }

  .ir-news.flex .flex1 .filters {
    order: 3;
    flex-direction: row;
    justify-content: center;
    gap: 0 10px;
    width: 100%;
    margin: 30px 0 40px;
  }

  .filter-btn {
    width: calc(90% / 5);
    padding: 10px;
    text-align: center;
    border-bottom: solid 1px #888;
    white-space: nowrap;
  }

  .filter-btn::after {
    display: none;
  }

  .ir-news.flex .flex1 .button {
    order: 2;
    margin-top: 0;
  }

  .news-list {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
  }

  .info2.flex {
    margin-top: 10px;
  }

  /* ir content ----------------------------*/
  .index-itemA,
  .index-itemB {
    gap: 20px;
  }

  .index-itemA {
    grid-template-rows: repeat(2, 200px);
  }

  .itemA a {
    padding: 15px;
  }

  .itemA p {
    font-size: 1.8rem;
  }

  .itemA .link-btn,
  .itemB .link-btn {
    width: 3rem;
    height: 3rem;
  }

  .itemA .link-btn::before,
  .itemB .link-btn::before {
    width: 0.7rem;
    height: 0.7rem;
  }
}

@media screen and (max-width: 768px) {
  /* ir index -----------------------------*/
  .ir-subhead {
    margin-bottom: 10px;
    font-size: 2rem;
    font-weight: 600;
  }

  .ir-news.flex .flex1 .dropdown-filters {
    position: relative;
    order: 3;
    width: 100%;
    margin: 20px auto 0;
    padding: 10px 15px;
    background-color: #f7f7f7;
    border-bottom: solid 1px #c1c0c0;
  }

  .dropdown-filters .news-filter {
    width: 100%;
    font-size: 1.6rem;
  }

  .dropdown-filters::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    background: #888;
    height: calc(tan(60deg) * 13px / 2);
    width: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: translateY(-50%);
  }

  .latest-container {
    flex-direction: column;
    gap: 24px;
    margin-top: 40px;
  }

  .latest {
    width: 100%;
  }

  .schedule {
    width: 100%;
  }

  /* ir content -------------------------*/
  .index-itemA,
  .index-itemB {
    gap: 15px;
  }

  .index-itemA {
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(4, 100px);
  }

  .itemA a {
    padding: 10px;
  }

  .itemA p {
    font-size: 1.6rem;
  }

  .item1 {
    grid-row-start: 1;
    grid-row-end: 3;
  }

  .item2 {
    grid-row-start: 1;
    grid-row-end: 3;
  }

  .item3 {
    grid-column-start: 1;
    grid-column-end: 4;
    grid-row-start: 3;
    grid-row-end: 5;
  }

  .item4 {
    grid-column-start: 4;
    grid-column-end: 7;
    grid-row-start: 3;
    grid-row-end: 4;
  }

  .item5 {
    grid-column-start: 4;
    grid-column-end: 7;
    grid-row-start: 4;
    grid-row-end: 5;
  }

  .index-itemB {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 40px;
  }

  .itemB {
    margin-bottom: 5px;
  }
}

/* 559px～ SP -------------------------------- */
@media screen and (max-width: 559px) {
  /* ir news */
  .ir-news.flex .flex1 .filters {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .news-list {
    margin-top: 10px;
  }

  .news-item {
    padding: 15px 10px;
  }

  .latest,
  .schedule {
    padding: 25px 20px;
  }

  .latest-cont a {
    margin-right: 8px;
  }

  /* ir content ----------------------------*/
  .index-itemA {
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(5, 160px);
  }

  .item1 {
    grid-column-start: 1;
    grid-column-end: 7;
    grid-row-start: 1;
    grid-row-end: 2;
  }

  .item2 {
    grid-column-start: 1;
    grid-column-end: 7;
    grid-row-start: 2;
    grid-row-end: 3;
  }

  .item3 {
    grid-column-start: 1;
    grid-column-end: 7;
    grid-row-start: 3;
    grid-row-end: 4;
    background-size: cover;
  }

  .item4 {
    grid-column-start: 1;
    grid-column-end: 7;
    grid-row-start: 4;
    grid-row-end: 5;
    background-size: cover;
  }

  .item5 {
    grid-column-start: 1;
    grid-column-end: 7;
    grid-row-start: 5;
    grid-row-end: 6;
    background-size: cover;
  }

  .index-itemB {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 40px;
  }
}

/* ================= */
/*  　　株式情報　　  */
/* ================= */
#stock-info .sub-container {
  padding-bottom: 0;
}

.stock-notes {
  margin-top: -80px;
  color: #acadad;
  float: right;
}

.share-holders .stock-notes {
  margin-top: -30px;
}

.stock-link {
  font-size: 1.6rem;
  color: #666;
}

.stock-link a:hover {
  color: #008db7;
  transition: 0.3s;
}

.attention {
  margin-top: 20px;
  padding: 20px 40px;
  color: #888;
  border: solid 1px #888;
}

.attention-ttl {
  font-size: 1.8rem;
}

.attention-txt {
  font-size: 1.4rem;
  text-align: justify;
}

.sub-head-h4 {
  margin-top: 100px;
  margin-bottom: 10px;
  font-size: 2.4rem;
  font-weight: 700;
}

.holders-table-cont {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.holders-table-cont .holders-top {
  border-bottom: none;
}

.holders-top th {
  padding: 10px 28px;
  background-color: #f7f7f7;
  font-weight: 500;
}

.holders-table-cont td.name {
  width: 600px;
  padding: 25px 0 25px 28px;
}

.number,
.ratio {
  width: 250px;
  padding: 25px 28px;
  text-align: right;
}

.notes li {
  font-size: 1.2rem;
  color: #acadad;
}

.type-of-owner .flex {
  margin: 60px auto;
  justify-content: center;
  align-items: center;
}

/* 円グラフ */
.donut-chart-box {
  width: 450px;
  height: 450px;
}

.donut-marks {
  width: 25%;
  height: 300px;
  margin-left: 120px;
}

.donut-marks tr {
  border-bottom: none;
  align-items: center;
}

.donut-marks th,
.donut-marks td {
  padding: 0;
  line-height: 1.2;
}

.donut-marks th {
  width: auto;
}

.donut-marks td {
  text-align: right;
}

.marks-color {
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 10px;
  vertical-align: middle;
}

.color01 {
  background-color: #b1e2f7;
}

.color02 {
  background-color: #66cceb;
}

.color03 {
  background-color: #008bb5;
}

.color04 {
  background-color: #00486e;
}

.color05 {
  background-color: #00365a;
}

.color06 {
  background-color: #001130;
}

/* ------------------------------------------------
   responsive  株式情報
------------------------------------------------- */
/* 1439～960px ---------------------------------- */
@media screen and (max-width: 1439px) {
}

@media screen and (max-width: 1199px) {
  .sub-head-h4 {
    font-size: 2rem;
  }

  .attention {
    padding: 20px;
  }

  .type-of-owner .flex {
    justify-content: space-around;
  }

  .donut-chart-box {
    width: 50%;
    height: 50%;
  }
  .donut-marks {
    width: auto;
    margin-left: 0;
  }

  .donut-marks td {
    padding-left: 30px;
    text-align: right;
  }
}

/* 959～560px tab -------------------------------- */
@media screen and (max-width: 959px) {
  .sub-head-h4 {
    margin-top: 60px;
  }

  .holders-top th {
    padding: 15px 7px;
    font-size: 1.4rem;
  }

  .number,
  .ratio {
    width: 25%;
    padding: 15px 7px 15px 0;
  }

  .holders-table-cont td.name {
    padding: 15px 0 15px 10px;
  }
}

@media screen and (max-width: 768px) {
  .stock-notes {
    margin-top: -50px;
  }

  .sub-head-h4 {
    margin-top: 40px;
    font-size: 1.8rem;
  }
}

/* 559px～ SP -------------------------------- */
@media screen and (max-width: 559px) {
  .share-holders .scroll-wrap {
    overflow-x: scroll;
    white-space: nowrap;
  }

  .holders-table-cont th {
    padding: 15px;
  }

  .holders-table-cont td.name {
    padding-right: 20px;
  }

  .number,
  .ratio {
    width: 30%;
    padding-left: 10px;
  }

  .type-of-owner .sub-head-h4 {
    margin-top: 60px;
  }

  .type-of-owner .flex {
    flex-direction: column;
    justify-content: center;
    align-content: flex-start;
    margin-top: 30px;
    margin-bottom: 0;
  }

  .donut-chart-box {
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .donut-marks {
    margin-top: 20px;
  }

  .notes li {
    padding-left: 1em;
    text-indent: -1em;
  }
}

/* =========================== */
/*  　 株主総会・IRカレンダー　  */
/* =========================== */
.meeting-head {
  display: inline-block;
  margin-bottom: 30px;
  font-size: 2.4rem;
  line-height: 1.6;
}

.ir-sub-intro {
  margin-bottom: 120px;
}

.meeting-intro-txt {
  margin-bottom: 50px;
  text-align: justify;
}

.mark {
  color: #008db7;
}

.mark:hover {
  text-decoration: underline;
}

.ir-sub-ttlbox {
  border-bottom: solid 1px #333;
}

.ir-sub-ttl {
  display: inline;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 2;
}

.meeting .ir-sub-ttl.ac-parent {
  font-size: 2rem;
}

.sche-notes {
  display: inline-block;
  margin-top: 8px;
  margin-bottom: 24px;
  color: #acadaa;
  font-weight: 400;
  font-size: 1.2rem;
  text-indent: -1em;
  padding-left: 1em;
}

.ir-sub-ttlbox .sche-notes {
  margin-bottom: 0;
}

.ir-sub-table tr {
  border-bottom: solid 1px #c1c0c0;
}

.ir-sub-table tr:last-child {
  border-bottom: none;
}

.ir-sub-table th {
  width: 250px;
  padding: 40px 28px;
}

.ir-sub-table td {
  padding: 40px 28px 40px 0;
}

.meet-doc a {
  display: flex;
  align-items: center;
}

.meet-doc a:hover {
  color: #008db7;
  transition: 0.3s;
}

.video iframe {
  width: 400px;
  height: 250px;
}

/* archive */
.archive {
  margin-top: 70px;
}

.archive .ir-sub-cont {
  padding-bottom: 30px;
}

.archive .meet-doc:last-child {
  padding-bottom: 50px;
}

.ir-sub-ttl.ac-parent {
  display: block;
  width: 100%;
  border-bottom: solid 1px #333;
}

.ac-parent {
  position: relative;
  cursor: pointer;
  transition: 0.3s;
}

.ac-parent:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  /*横線*/
  width: 23px;
  height: 1px;
  background: #333;
}

.ac-parent:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 19px;
  transform: translateY(-50%);
  transition: all 0.3s;
  /*縦線*/
  width: 1px;
  height: 23px;
  background: #333;
}

/* 縦線（after）だけ縦回転させる */
.ac-parent.open:after {
  top: 25%;
  transform: rotate(90deg);
  opacity: 0;
}

/* ============================== */
/*     決算短信・有価証券報告書     */
/* ============================== */
.related-list .ir-sub-cont:first-child {
  margin-bottom: 120px;
}

.list-container {
  display: flex;
  align-items: baseline;
  padding: 40px 28px;
  border-bottom: solid 1px #c1c0c0;
}

.list-container:last-child {
  border-bottom: none;
}

.list-container .quarter,
.list-container .day {
  width: 200px;
}

.list-doc {
  width: 100%;
}

.list-doc li {
  display: flex;
}

.list-doc li a {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.list-doc li:nth-child(2) {
  padding-top: 15px;
}

.list-doc a:hover {
  color: #008db7;
  transition: 0.3s;
}

.list-doc li a img {
  margin-left: 5px;
}

/* ==================== */
/*   　　電子公告　　    */
/* ==================== */
.notice-intro {
  text-align: justify;
  word-break: break-all;
}

.head-notice {
  margin-top: 100px;
  padding-bottom: 5px;
  font-size: 2.4rem;
  font-weight: 600;
  border-bottom: solid 1px #333;
}

.list-doc a {
  width: 100%;
}

.koukoku-flex {
  display: flex;
  justify-content: space-between;
  align-content: center;
}

.koukoku-flex .pdf {
  margin-left: 10px;
}

/* ------------------------------------------------
   responsive
   総会・IRカレンダー・短信・有報・電子公告
------------------------------------------------- */
/* 1439～960px ---------------------------------- */
@media screen and (max-width: 1439px) {
}

@media screen and (max-width: 1199px) {
  .ir-sub-ttl {
    font-size: 2rem;
  }

  .list-container {
    flex-wrap: wrap;
  }
}

/* 959～560px tab -------------------------------- */
@media screen and (max-width: 959px) {
  .related-list .ir-sub-cont:first-child {
    margin-bottom: 60px;
  }

  .list-container {
    padding: 20px 15px;
  }

  .list-container .day {
    width: 25%;
  }

  .list-doc li {
    line-height: 2;
  }

  .list-doc li a {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  .ir-sub-ttl,
  .ir-sub-ttl.ac-parent {
    font-size: 1.8rem;
  }

  .ir-sub-ttlbox .sche-notes {
    display: block;
    margin-top: 0;
    margin-bottom: 8px;
  }

  .list-container {
    flex-direction: column;
    padding: 0;
  }

  .list-container .day {
    width: 100%;
    padding: 10px;
    background-color: #f7f7f7;
  }

  .list-container .ttl {
    width: 100%;
    padding: 10px 10px 30px;
  }

  .archive .ir-sub-ttl {
    padding-bottom: 0;
  }

  .ir-sub-table tr {
    display: flex;
    flex-direction: column;
  }

  .ir-sub-table th {
    width: 100%;
    padding: 10px;
    background-color: #f7f7f7;
  }

  .ir-sub-table td {
    width: 100%;
    padding: 15px 10px;
  }

  .list-container .quarter {
    width: 100%;
    padding: 10px 10px 0;
    background-color: #f7f7f7;
    font-weight: 600;
  }

  .list-doc li .dayptn {
    padding-top: 0;
  }

  .invisible {
    display: none;
  }

  .list-doc {
    padding-bottom: 30px;
  }

  .list-doc li {
    flex-direction: column;
  }

  .list-doc li a {
    padding: 15px 10px 0;
  }

  .list-doc li:nth-child(2) a {
    padding-bottom: 0;
  }

  .meet-doc a {
    line-height: 2;
  }
}

/* 559px～ SP -------------------------------- */
@media screen and (max-width: 559px) {
  .ir-sub-intro {
    margin-bottom: 20%;
  }

  .video iframe {
    width: 100%;
  }

  /* archive */
  .archive {
    margin-top: 10%;
  }

  .ac-parent::before {
    right: 0;
    width: 18px;
  }

  .ac-parent::after {
    right: 9px;
    height: 18px;
  }

  .meet-doc {
    justify-content: space-between;
  }

  .meet-doc a {
    line-height: 1.6;
    padding-bottom: 10px;
    align-items: end;
  }

  .meet-doc a:last-child {
    padding-bottom: 0;
  }

  .koukoku .w1100 {
    padding-bottom: 18%;
  }

  .head-notice {
    margin-top: 20%;
  }

  .koukoku .list-container:last-child {
    padding-bottom: 0;
  }

  .meeting-head.calendar-ttl {
    margin-bottom: 0;
  }
}

/* =========================== */
/*   　　　業績ハイライト　　    */
/* =========================== */
.finance {
  position: relative;
}

.finance .stock-notes {
  position: absolute;
  top: 7%;
  right: 0;
}

.ir-finance-table {
  width: 100%;
  min-width: 780px;
}

.ir-finance-table th {
  width: 180px;
  padding: 20px 14px;
  border-right: solid 0.5px #c1c0c0;
  border-bottom: solid 0.5px #c1c0c0;
  background-color: #f7f7f7;
}

.ir-finance-table td {
  padding-right: 20px;
  border-right: solid 0.5px #c1c0c0;
  border-bottom: solid 0.5px #c1c0c0;
  text-align: right;
}

.ir-finance-table .forecast {
  border-right: none;
}

.ir-finance-table tr:last-child th,
.ir-finance-table tr:last-child td {
  border-bottom: none;
}

.finance-head th {
  line-height: 1.5;
  text-align: center;
}

.finance-head th:nth-child(5) {
  font-size: 1.8rem;
  font-weight: 500;
}

.finance-head .forecast {
  font-size: 1.4rem;
}

.current {
  color: #008db7;
  font-weight: 500;
  font-size: 1.8rem;
}

.forecast {
  color: #84afc0;
}

th.forecast {
  color: #333;
}

.finance-notes {
  margin-top: 20px;
}

/* 業績ハイライトグラフ */
#finance-graph .sub-container {
  margin-top: 60px;
}

.finance-graph-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 120px 0;
  width: 100%;
}

.graph-box {
  width: 44%;
  height: auto;
}

.graph-box .flex {
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 10px;
}

.graph-index {
  font-size: 2.2rem;
  font-weight: 600;
}

/* ===================== */
/*   　　　配当性向　　    */
/* ===================== */
.shareholder-return-policy {
  text-align: justify;
  word-break: break-all;
}

.sub-container.dividend-chart {
  margin-top: 0;
}

.dividend-table {
  width: 100%;
  min-width: 820px;
}

.dividend-table tr {
  border-bottom: solid 1px #c1c0c0;
}

.dividend-table th {
  padding: 20px 0 20px 15px;
  background-color: #f7f7f7;
}

.dividend-table-head th {
  padding: 20px 0;
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.2;
  border-right: solid 1px #c1c0c0;
}

.dividend-table th span {
  font-size: 1.2rem;
}

.dividend-table tr:last-child,
.dividend-table td:last-child,
.dividend-table-head th:last-child {
  border: none;
}

.dividend-table td {
  padding-right: 10px;
  text-align: right;
  border-right: solid 1px #c1c0c0;
}

.dividend-table .dotted-line {
  border-bottom: dashed 1px #c1c0c0;
}

.dividend-table .dash {
  border-right: solid 1px #c1c0c0;
}

.dividend-notes {
  margin-top: 20px;
  padding-left: 1em;
  text-indent: -1em;
  color: #acadad;
}

/* 配当金推移グラフ */
.dividend-chart .flex {
  margin-top: 100px;
  align-items: baseline;
}

.dividend-chart-head {
  margin-right: 30px;
  font-size: 2.4rem;
  font-weight: 600;
}

.chart-container {
  position: relative;
  height: 600px;
  min-height: 600px;
}

.dividend-chart-box {
  margin-top: 40px;
}

/* ------------------------------------------------
   responsive  業績ハイライト・配当性向
------------------------------------------------- */
/* 1439～960px ---------------------------------- */
@media screen and (max-width: 1439px) {
}

@media screen and (max-width: 1199px) {
  #finance .w1100 {
    padding-bottom: 100px;
  }

  #finance-graph .w1100 {
    margin-top: 0;
  }

  .ir-finance-table th {
    width: 200px;
    padding: 15px 10px;
    line-height: 1.5;
  }

  .finance-head th:nth-child(5) {
    font-size: 1.6rem;
  }

  .finance-head .forecast {
    font-size: 1.3rem;
  }
}

/* 959～560px tab -------------------------------- */
@media screen and (max-width: 959px) {
  .dividend-chart .scroll-wrap,
  .finance-chart .scroll-wrap {
    overflow-x: scroll;
    white-space: nowrap;
  }

  .ir-finance-table th {
    padding: 10px;
  }

  .finance-graph-container {
    gap: 80px 0;
  }

  .finance-head th {
    font-size: 1.4rem;
  }

  .dividend-table th.fixed {
    width: 125px;
  }

  .fixed {
    position: sticky;
    left: 0;
  }

  .fixed02 {
    position: sticky;
    left: 125px;
  }
}

@media screen and (max-width: 768px) {
  .finance .stock-notes {
    top: 4%;
  }

  .graph-box {
    width: 46%;
  }
}

/* 559px～ SP -------------------------------- */
@media screen and (max-width: 559px) {
  .ir-finance-table {
    border-collapse: separate;
    border-spacing: 0;
  }

  .chart-container {
    height: 350px;
    min-height: 350px;
  }

  .finance-graph-container {
    flex-direction: column;
    gap: 60px 0;
  }

  .graph-box {
    width: 100%;
  }

  .dividend-table {
    table-layout: fixed;
    width: 100%;
  }

  .dividend-table th.fixed {
    width: 140px;
    font-size: 1.5rem;
    padding-left: 10px;
  }

  .dividend-table th.fixed02 {
    width: 70px;
    padding-left: 0;
  }

  .fixed02 {
    left: 70px;
  }

  .dividend-chart .flex {
    margin-top: 20%;
  }

  .dividend-chart-box {
    margin-top: 10px;
  }
}

/* ===================== */
/*   財務ファクトシート   */
/* ===================== */
.factsheet-list .ir-sub-cont {
  margin-bottom: 80px;
}

.factsheet-list .ir-sub-cont:last-child {
  margin-bottom: 0;
}

.sheet-container {
  margin-top: 40px;
}

.sheet-container .list-container {
  width: 100%;
  padding: 0 20px 24px 5px;
  border-bottom: none;
}

.sheet-container .list-container a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.sheet-container li img {
  display: inline-block;
}

.excel {
  width: 23px;
}

.sheet-container .list-container a:hover {
  color: #008db7;
  transition: 0.3s;
}

/* ------------------------------------------------
   responsive  財務ファクトシート
------------------------------------------------- */
/* 1439～960px ---------------------------------- */
@media screen and (max-width: 1439px) {
}

@media screen and (max-width: 1199px) {
  .sheet-container {
    margin-top: 20px;
  }
}

/* 959～560px tab -------------------------------- */
@media screen and (max-width: 959px) {
}

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

/* 559px～ SP -------------------------------- */
@media screen and (max-width: 559px) {
  .sheet-container {
    margin-top: 15px;
  }

  .sheet-container .list-container {
    padding: 0 0 15px;
  }

  .factsheet-list .ir-sub-cont {
    margin-bottom: 10%;
  }
}
