.trimmed-box {
  max-width: 80%;
  margin: 1rem auto;
  font-size: 1rem;
  line-height: 1.75;
  position: relative;
}
/* === PC用中央固定 === */
@media screen and (min-width: 768px) {
  .trimmed-box {
    max-width: 400px;
  }
}
.trimmed-text-wrapper {
  overflow: hidden;
  transition: max-height 0.6s ease;
  position: relative;
  max-height: 2em; /* 初期は2行相当 */
}
.trimmed-text {
  position: relative;
}
/* 三点リーダー表示 */
.ellipsis {
  position: absolute;
  top: 2em;
  right: -0.2em;
  padding: 0 0.6em;
  background: linear-gradient(to right, transparent, rgb(224, 233, 238) 10%);
  padding-left: 0.2em;
  font-weight: bold;
  pointer-events: none;
  transition: opacity 0.3s ease;
  opacity: 1;
}
/* 展開時には消す */
.trimmed-text-wrapper.expanded .ellipsis {
  opacity: 0;
}
/*続きを読むボタン*/
.toggle-trimmed {
  display: inline-block;
  width: 100%;
  margin-top: 0.8rem;
  padding: 1rem;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  transition: background-color 0.3s;
  border-radius: 5px;
  margin-bottom: 2em;
}
.department01 .toggle-trimmed {
  color: #00A0E9;
  background-color: #a7e3ffbd;
}
.department01 .toggle-trimmed:hover {
  background-color: #00A0E9;
}
.department02 .toggle-trimmed {
  color: #E5005A;
  background-color: #efb6cdc8;
}
.department02 .toggle-trimmed:hover {
  background-color: #E5005A;
}
.department03 .toggle-trimmed {
  color: #039C77;
  background-color: #aedacf;
}
.department03 .toggle-trimmed:hover {
  background-color: #039C77;
}
.toggle-trimmed:hover {
  color: #ffffff;
}

.toggle-trimmed {
  position: relative;
  padding-right: 2em; /* ← 右端に余白を作っておく */
}

.toggle-trimmed::after {
  content: "+";
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

.toggle-trimmed.expanded::after {
  content: "−";
}

.toggle-trimmed-aft::after {
  content: "〉";
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}