@charset "UTF-8";
/* CSS Document */
.ir-simple-title {
	padding-bottom: 0.5625rem;
	padding-top: 8.3125rem;
	position: relative;
	text-align: center;
}

.ir-simple-title h1 {
	color: #f62837;
	font-size: 2.7rem;
	font-weight: 700;
}

.ir-simple {
  margin-bottom: 5rem;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

#content.ir-simple {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

@media screen and (max-width: 769px) {
.ir-simple-title {
	padding-bottom: 0.375rem;
	padding-top: 3.75rem;
}

.ir-simple-title h1 {
	font-size: 1.5rem;
}}

.ir-announcement {
  width: 70%;
  margin: 3rem auto 5rem auto; /* 上下の余白と中央寄せ */
}

.ir-announcement__block {
  margin-bottom: 2.5rem;
}

.ir-announcement h2 {
  font-size: 1.25rem;
  border-left: 4px solid #f62837;
  font-weight: 700;
  padding: 0.75rem 1rem;
  margin-bottom: 1.5rem;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  .ir-announcement {
    width: 100%;
    padding-inline: 1rem;
  }
}
/* 株式の状況 */
.stock-status {
  background: #fff;
  padding: clamp(16px, 2.5vw, 28px);
  color: #111;
  max-width: 70%;
}

.stock-status__grid {
  display: grid;
  margin: 0;
}

.stock-status__row {
  display: grid;
  grid-template-columns: 1fr minmax(40%, 420px);
  gap: 24px;
  align-items: center;
  padding: 18px clamp(8px, 2vw, 16px);
  border-top: 1px solid #eee;
}
.stock-status__row:first-child { border-top: none; }

/* 背景の淡いストライプ */
.stock-status__row:nth-child(odd) {
  background-color: #fafafa;
}

.stock-status dt {
  font-size: clamp(16px, 2.2vw, 18px);
}

.stock-status dd {
  justify-self: end;
font-size: clamp(15px, 2vw, 17px);
  font-variant-numeric: tabular-nums;
}

/* 下部フッター */
.stock-status__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 18px;
  margin-top: 12px;
  border-top: 1px dashed #ddd;
}

.stock-status__asof {
  margin: 0;
  color: #666;
  font-size: 14px;
}

.stock-status__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid #999;
  color: #333;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}
.stock-status__btn:hover {
  background: #f62837;
  color: #fff;
}
.stock-status__btn svg {
	display: block;
  color: currentColor; 
  transition: transform 0.2s ease, color 0.2s ease;
}

.stock-status__btn svg path {
  fill: currentColor;
  transition: fill 0.2s ease;
}

/* モバイル対応 */
@media (max-width: 640px) {
.stock-status {
  max-width: 100%;
}
  .stock-status__row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 14px 10px;
  }
  .stock-status dd { justify-self: start; }
  .stock-status__foot { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* 大株主リスト */
.major-shareholders {
  background: #fff;
  padding: clamp(16px, 2.5vw, 28px);
  color: #111;
  max-width: 70%;
}

.major-shareholders__list {
  display: grid;
  margin: 0;
}

.major-shareholders__row {
  display: grid;
  grid-template-columns: 1fr minmax(40%, 420px);
  gap: 24px;
  align-items: center;
  padding: 18px clamp(8px, 2vw, 16px);
  border-top: 1px solid #eee;
}
.major-shareholders__row:first-child { border-top: none; }

.major-shareholders__row:nth-child(odd) {
  background-color: #fafafa;
}

.major-shareholders dt {
  font-size: clamp(15px, 2vw, 17px);
  color: #333;
}

.major-shareholders dd {
  justify-self: end;
  text-align: right;
  font-size: clamp(14px, 1.8vw, 16px);
  color: #111;
}

.major-shareholders dd p {
  margin: 2px 0;
  font-variant-numeric: tabular-nums;
}

/* モバイル対応 */
@media (max-width: 640px) {
.major-shareholders {
  max-width: 100%;
}
  .major-shareholders__row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 14px 10px;
  }
  .major-shareholders dd {
    justify-self: start;
    text-align: left;
  }
}

/* 株式事務の概要 */
.stock-overview {
  background: #fff;
  padding: clamp(16px, 2.5vw, 28px);
  color: #111;
  max-width: 70%;
}

.stock-overview__grid {
  display: grid;
  margin: 0;
}

.stock-overview__row {
  display: grid;
  grid-template-columns: 1fr minmax(40%, 420px);
  gap: 24px;
  align-items: center;
  padding: 18px clamp(8px, 2vw, 16px);
  border-top: 1px solid #eee;
}
.stock-overview__row:first-child { border-top: none; }

.stock-overview__row:nth-child(odd) {
  background-color: #fafafa;
}

.stock-overview dt {
  font-size: clamp(15px, 2vw, 17px);
  color: #333;
  line-height: 1.6;
}

.stock-overview dd {
  justify-self: end;
  text-align: right;
  font-size: clamp(14px, 1.8vw, 16px);
  color: #111;
  line-height: 1.7;
}

.stock-overview dd p {
  margin: 2px 0;
  font-variant-numeric: tabular-nums;
}

.stock-overview a {
  color: #1d6cf0;
  text-decoration: underline;
  word-break: break-all;
}

/* モバイル対応 */
@media (max-width: 640px) {
  .stock-overview {
    max-width: 100%;
  }
  .stock-overview__row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 14px 10px;
  }
  .stock-overview dd {
    justify-self: start;
    text-align: left;
  }
}
