@charset "utf-8";
.cate2 iframe {
  width: 100%;
height: clamp(300px, 30vw, 400px);
}
.cate1 {
  position: relative;
  overflow: hidden;
}
.cate1 .boxwrap {
  gap: clamp(20px, 5vw, 40px);
}
.cate1 .rightbox {
  position: relative;
  display: flex;
  flex: 0 0 clamp(280px, 35vw, 480px);
  gap: 24px;
  z-index: 0;
}
.cate1 .rightbox::after {
  content: "";
  position: absolute;
  top: clamp(-600px, -35vw, -420px);
  right: clamp(-180px, -10vw, -60px);
  width: clamp(500px, 38vw, 640px);
  aspect-ratio: 575 / 876;
  background: url("https://saikienkahonten.co.jp/system_panel/uploads/images/company1.png") no-repeat center / contain;
  pointer-events: none;
  z-index: -1; /* ★背面に敷く */
}
.cate1 .txtbox {
  flex: 1 1 auto; /* 残り全部 */
  min-width: 0; /* はみ出し防止（超重要） */
}
.cate1 .rightbox .titlebox1 {
  margin-top: -200px;
}
.cate1 .imgbox {
  width: 100%; /* 親に合わせて伸縮 */
  max-width: 280px; /* 最大サイズ（任意） */
  aspect-ratio: 280 / 363; /* ← 比率固定 */
  background: rgba(255, 255, 255, .12);
  overflow: hidden;
}
.cate1 .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* 署名：見本っぽく下中央に寄せる */
.cate1 .txtbox .name {
  text-align: right;
  letter-spacing: .12em;
}
.cate1 .txtbox .name span {
  font-size: 24px;
  margin-left: 8px;
}
@media (max-width:1080px) {
  .cate1 .boxwrap {
    display: flex; /* 念のため */
    flex-direction: column; /* ← 縦並び */
    gap: 40px;
  }
  /* 右ブロックを幅100%に */
  .cate1 .rightbox {
    flex: none;
    justify-content: center; /* 中央寄せ（好み） */
  }
  /* 文章も幅100% */
  .cate1 .txtbox {
    width: 100%;
  }
}
.history_b {
  width: 100%;
}
.history_b .boxwrap {
  display: grid;
  grid-template-columns: 18px 170px 260px 1fr; /* 線 / 日付 / 文 / 画像 */
  column-gap: clamp(18px, 3vw, 40px);
  align-items: start;
  padding: clamp(10px, 4vw, 20px) 0;
  position: relative;
  width: 100%;
  max-width: 1000px;
}
.history_b .boxwrap::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 32px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #76767B;
  transform: translateX(-50%);
  z-index: 1;
}
.history_b .boxwrap::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 0;
  bottom: 2px; /* ← 下に伸ばす */
  width: 0;
  border-left: 2px dotted rgba(0, 0, 0, .35); /* ← ドット線 */
  z-index: 0;
}
/* 日付（枠付き） */
.history_b .yearwrap {
  grid-column: 2;
}
.history_b .yearwrap .year {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid rgba(0, 0, 0, .25);
  font-size: 14px;
  letter-spacing: .08em;
  margin: 0;
}
/* テキスト */
.history_b .txtbox {
  grid-column: 3;
  max-width: 520px;
}
.history_b .txtbox h3 {
  margin: 0 0 14px;
  color: #111;
  letter-spacing: .08em;
}
.history_b .txtbox p {
  margin: 0;
  color: rgba(0, 0, 0, .75);
  line-height: 2.2;
}
.history_b .imgbox {
  grid-column: 4;
  width: 100%;
}
.history_b .imgbox img {
  width: 100%;
  aspect-ratio: 570 / 380; /* ← これが欲しい */
  object-fit: cover;
  display: block;
}
/* ========== responsive ========== */
@media (max-width: 900px) {
  .history_b .boxwrap {
    grid-template-columns: 18px 150px 1fr; /* 画像を下へ */
    row-gap: 20px;
  }
  .history_b .imgbox {
    grid-column: 2 / -1;
    justify-content: flex-start;
  }
}
@media (max-width: 600px) {
  .history_b .boxwrap {
    grid-template-columns: 14px 1fr; /* 日付と文を縦寄せ */
    column-gap: 14px;
  }
  .history_b .yearwrap {
    grid-column: 2;
  }
  .history_b .txtbox {
    grid-column: 2;
  }
  .history_b .imgbox {
    grid-column: 2;
  }
  .history_b .boxwrap::before {
    left: 7px;
  }
  .history_b .boxwrap::after {
    left: 7px;
  }
}
.company_a .company-wrap .item {
  background: #fff;
}
.company_a .company-wrap .item h3 {
  justify-content: center;
  padding: 30px 0;
  min-width: 120px;
  width: 30%;
}
.company_a .company-wrap .item {
  padding: 0px 20px;
}
.company_a .company-wrap .item > div {
  width: 70%;
  padding-left: clamp(16px, 5vw, 80px);
}
@media screen and (max-width: 576px) {
  .company_a .company-wrap .item > div {
    width: 100%;
    padding-left: 0px;
  }
  .company_a .company-wrap .item h3 {
    width: 100%;
    padding: 20px 0 6px;
    justify-content: flex-start;
  }
}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px) {}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px) {}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px) {}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px) {}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px) {}