main {
  overflow: hidden;
}
.about-us.page-hero {
  background: var(--hero-bg) url('../img/page_hero_aboutus.png') center no-repeat;
}
.wrapper {
  width: var(--wrapper-width);
  margin: auto;
}
#mvv {
  padding-top: 5rem;
  padding-bottom: 6rem;
  color: var(--black);
}
.mvv-list:not(:last-child) {
  margin-bottom: 5rem;
}
.mvv-hd02 {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
.mvv-hd02::before {
  content: '';
  display: inline-block;
  width: 0.25rem;
  height: 1.25rem;
  background: var(--cpn-main);
  margin-right: 1rem;
}

.mvv-philosophy {
  font-size: 2rem;
  font-weight: bold;
  margin-left: 2.5rem;
}
.mvv-mission {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2;
  margin-left: 2.5rem;
}

.mvv-mission p::before,
.history-hd01 span::before {
  content: '';
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  background: var(--cpn-main);
  margin: 0.5rem;
  border-radius: 1px;
}
.mvv-value {
  margin-left: 2.5rem;
}

.mvv-value p {
  margin-bottom: 1rem;
}
.mvv-value-initial {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--cpn-main);
  margin-right: 1rem;
}
.mvv-value-en {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: bold;
  min-width: 15rem;
}
.mvv-value-text {
  font-weight: bold;
}

#history {
  padding: 5rem 0;
  background: var(--beige) no-repeat;
  background-image: url(../img/bg_pyramid.png);
  background-size: 100% calc(100% - 14rem);
  background-position: bottom;
}
.history-hd01 {
  width: 100%;
  display: flex;
  align-items: center;
  border-bottom: 2px dashed #90b44b;
  padding-bottom: 1rem;
  margin-bottom: 5rem;
}
.history-hd01 h1 {
  font-size: 2rem;
  font-weight: bold;
  color: var(--black);
  margin-bottom: 0;
  margin-right: 1rem;
}
.history-hd01 span {
  color: var(--cpn-main);
  font-size: 1.25rem;
  font-weight: bold;
}
.history-hd01 span::before {
  margin: 0.25rem;
}
.time-line {
  position: relative;
}

.time-line .arrow {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  /* height: calc(100% - 12.5rem); 202601改修での修正*/
  height: calc(100%);
  background: linear-gradient(180deg, rgba(242, 242, 242, 1) 0%, rgba(0, 147, 15, 1) 100%);
}
.time-line-list {
  display: flex;
  flex-direction: column;
}
.time-line-item {
  width: 50%;
  position: relative;
  display: flex;
  flex-direction: column;
  color: var(--black);
}
.time-line-item::after {
  content: '';
  display: block;
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.25rem;
  background: var(--cpn-main);
  top: 0;
}
.animated .time-line-year,
.animated .time-line-title,
.animated .time-line-text {
  animation: fade-in 1s 1s linear both;
}
.time-line-item:nth-child(odd) {
  align-items: end;
  padding-right: 2.5rem;
}
.time-line-item:nth-child(odd)::after {
  right: 0;
  transform: translateX(50%);
}
.time-line-item:nth-child(even) {
  padding-left: 2.5rem;
  margin-left: auto;
}

.time-line-item:nth-child(even)::after {
  left: 0;
  transform: translateX(-50%);
}
.time-line-year {
  width: 7.5rem;
  background-color: var(--black);
  color: var(--white);
  text-align: center;
  border-radius: 1.25rem;
  margin-bottom: 1rem;
}
.time-line-title {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.time-line-item:nth-child(odd) .time-line-title {
  text-align: right;
}
.time-line-text {
  font-weight: 500;
  line-height: 2;
}
.time-line-img {
  position: absolute;
}
.animated .time-line-img {
  animation: fade-in 1s 2s linear both;
}
.time-line-img.front01 {
  width: 16rem;
  top: 100%;
}
.time-line-img.back {
  width: 7rem;
  bottom: -11rem;
}
.time-line-img.front02 {
  width: 10rem;
  top: 100%;
}
.time-line-item:nth-child(odd) .time-line-img.front01 {
  left: -5rem;
}
.time-line-item:nth-child(even) .time-line-img.front02 {
  right: -5rem;
}

.time-line-item:nth-child(odd) .time-line-img.back {
  /* left: -9rem; 202601改修時の変更*/
  left: 13rem;
}
.time-line-item:nth-child(even) .time-line-img.back {
  right: -9rem;
}
.time-line-item:nth-child(1)::after {
  background: #d0e4af;
}
.time-line-item:nth-child(2)::after {
  background: #c5dc99;
}
.time-line-item:nth-child(3)::after {
  background: #bbd582;
}
.time-line-item:nth-child(4)::after {
  background: #b0ce6b;
}
.time-line-item:nth-child(5)::after {
  background: #a4c755;
}
.time-line-item:nth-child(6)::after {
  background: #8bb554;
}
.time-line-item:nth-child(7)::after {
  background: #76ac51;
}
.time-line-item:nth-child(8)::after {
  background: #5ea250;
}
.time-line-item:nth-child(9)::after {
  background: #42994e;
}
.time-line-item:nth-child(n + 10)::after {
  background: #0b914c;
}
#message {
  padding: 5rem 0;
  color: var(--black);
}
#message .wrapper > * {
  margin-bottom: 3.75rem;
}
.message-hd01 {
  text-align: center;
}
.message-hd01 h1 {
  font-size: 2rem;
}
.animated h1 {
  animation: text-up 1s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.message-hd01-deco span {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 1px;
  background: var(--cpn-main);
  margin: 0.25rem;
}
.message-lead h2 {
  font-size: 1.25rem;
  line-height: 2;
}
.message-text {
  line-height: 2;
  font-weight: 500;
}
.message-text p {
  padding-bottom: 1.5rem;
}
.message-sign {
  display: flex;
  justify-content: end;
}
.message-sign-item {
  width: 18rem;
  margin-left: 2.5rem;
}
.message-sign-name {
  display: flex;
  align-items: flex-end;
}
.message-sign-name p {
  margin-right: 2rem;
}
.message-sign-name span {
  font-size: 0.75rem;
}
.message-sign-name span::first-letter {
  color: var(--cpn-main);
}
.message-sign-name .last-name {
  margin-left: 0.25rem;
}
.message-sign-position {
  font-size: 0.75rem;
}
.animated.message-img {
  animation: fade-in 1s 1s linear both;
}

@media only screen and (max-width: 1024px) {
  .about-us.page-hero {
    background-size: 80% auto;
  }
  .mvv-philosophy {
    font-size: 1.5rem;
  }
  .mvv-value-initial,
  .mvv-value-en {
    font-size: 2rem;
  }
  .mvv-value-text {
    width: 100%;
    display: inline-block;
    margin-top: 1rem;
  }
  .time-line .arrow {
    height: calc(100% - 14rem);
  }
  .time-line-item:nth-child(odd) .time-line-img.front {
    left: 0rem;
  }
  .time-line-item:nth-child(even) .time-line-img.front {
    right: 0rem;
  }

  .time-line-item:nth-child(odd) .time-line-img.back {
    left: -4rem;
  }
  .time-line-item:nth-child(even) .time-line-img.back {
    right: -4rem;
  }
}
@media only screen and (max-width: 599px) {
  .mvv-philosophy {
    font-size: 1.5rem;
  }
  .mvv-mission {
    font-size: 1.25rem;
  }
  .history-hd01 {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .time-line .arrow,
  .time-line-img {
    display: none;
  }
  .time-line .time-line-item {
    width: 100%;
    padding: 0;
    align-items: flex-start;
    margin-bottom: 4rem;
  }
  .time-line .time-line-item::after {
    left: 50%;
    transform: translate(-50%, -2rem);
    bottom: -100%;
  }
  .time-line .time-line-year {
    margin-inline: auto;
  }
  .time-line .time-line-item .time-line-title {
    text-align: left;
  }
  .message-text {
    font-size: 1rem;
  }
  .message-sign {
    flex-direction: column;
  }
  .message-sign-item {
    width: 20rem;
    margin: auto;
  }
  .message-sign-item:first-child {
    margin-bottom: 2rem;
  }
}
