@charset "UTF-8";

:root {
  --color-black: #58585F;
  --color-white: #fff;
  --color-primary: #71B400;

  --color-grad: linear-gradient(45deg, rgba(244, 255, 85, 1) 0%, rgba(113, 180, 0, 1) 100%);

  --noto-sans: "Noto Sans JP", serif;
  --josefin: "Josefin Sans", sans-serif;
}


/*================================================
 *  message
 ================================================*/

.message_box {
  display: flex;
  align-items: start;
  justify-content: space-between;
}

.message_box img {
  width: 31rem;
}

.message_txt {
  width: 52rem;
}

.message_txt .co {
  display: flex;
  align-items: start;
  justify-content: start;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}

.message_txt .co a {
  font-size: 1.7rem;
  padding: 0.5rem 2rem;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  border-radius: 10000px;
  font-weight: 700;
}

.message_txt .co a:hover {
  opacity: 1;
  background: var(--color-primary);
  color: var(--color-white);
}


.message_txt h3 {
  font-size: 1.2rem;
  color: var(--color-primary);
  font-weight: 700;
  margin: 2rem 0;
}

.message_txt h3 span {
  font-size: 1.7rem;
  margin-left: 1rem;
}

.message_txt p {
  line-height: 2;
}

.message_txt .btnArea {
  margin-top: 4rem;
}

.message_txt .icon_arrow {
  background-image: url(../../images/about/icon_arrow.png);
  width: 1.2rem;
  height: 1.2rem;
  margin-left: 1rem;
  margin-top: -0.2rem;
}

.message_box audio {
  display: block;
  margin: 2rem auto 0;
  opacity: 0;
  transition: .4s;
  opacity: 0;
  pointer-events: none;
}

.message_box audio.showControls {
  opacity: 1;
  opacity: 1;
  pointer-events: fill;
}

@media screen and (max-width:767px) {
  .message_box {
    flex-wrap: wrap;
  }

  .message_box img {
    width: 100%;
    transition-delay: 0s;
  }

  .message_box:first-of-type img {
    transition-delay: .3s;
  }

  .message_txt {
    width: 100%;
    margin-top: 4rem;
    transition-delay: 0s;
  }


  .message_txt .co a {
    font-size: 2rem;
  }

  .message_txt h3 {
    font-size: 2rem;
  }

  .message_txt h3 span {
    font-size: 2.4rem;
  }
}

/*================================================
 *  philosophy
 ================================================*/
.philosophy_txt {
  text-align: center;
  color: var(--color-primary);
  font-size: 2.5rem;
  line-height: 2.4;
  font-weight: 500;
  letter-spacing: 0.2em;
}

@media screen and (max-width:767px) {
  .philosophy_txt {
    letter-spacing: 0.1em;
  }
}

/*================================================
 *  motto
 ================================================*/
#motto .philosophy_txt {
  letter-spacing: 0.5em;
  margin-bottom: 10rem;
}

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

/*================================================
 *  initiatives
 ================================================*/
#initiatives ul {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(3, 1fr);
}

#initiatives ul li {
  background: var(--color-white);
  padding: 2rem;
}

#initiatives ul li h3 {
  color: var(--color-primary);
  font-size: 1.7rem;
  font-weight: 700;
  font-feature-settings: "palt";
}

#initiatives ul li img {
  margin: 2rem 0;
}

@media screen and (max-width:767px) {
  #initiatives ul {
    gap: 4rem;
    grid-template-columns: repeat(1, 1fr);
  }

  #initiatives ul li {
    background: var(--color-white);
    padding: 4rem 2rem;
    transition-delay: 0s;
  }

  #initiatives ul li h3 {
    font-size: 3rem;
  }
}

/*================================================
 *  history
 ================================================*/
.history_list {
  display: flex;
  align-items: stretch;
  justify-content: start;
  flex-wrap: wrap;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.history_list dt {
  display: flex;
  justify-content: space-between;
  width: 18rem;
  padding-right: 4rem;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 1.5rem;
  padding: 1rem 4rem 1rem 1.5rem;
  border-top: 1px solid rgb(88 88 95 / 35%);
}

.history_list dt div:nth-of-type(2) {
  text-align: right;
}

.history_list dd {
  width: calc(100% - 18rem);
  padding: 1rem 0;
  font-size: 1.5rem;
  border-top: 1px solid rgb(88 88 95 / 35%);
  position: relative;
}

.history_list dt:last-of-type,
.history_list dd:last-of-type {
  border-bottom: 1px solid rgb(88 88 95 / 35%);
}

.history_img {
  position: absolute;
  width: 30rem;
  right: 2rem;
  top: -1.5rem;
}

.history_img h3 {
  font-size: 1.7rem;
  color: var(--color-primary);
  padding: 0rem 2rem;
  border: 1px solid;
  border-radius: 1000px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1rem;
  background: var(--color-white);
}

.history_img div {
  padding: 1rem;
  font-size: 1.3rem;
  border: 1px solid var(--color-primary);
  border-radius: 1rem;
  background: var(--color-white);
  position: relative;
  z-index: 1;
}

@media screen and (max-width:767px) {
  #history h2 {
    margin-bottom: 0;
  }

  .history_list dt {
    width: 22rem;
/*     font-size: 2rem; */
  }

  .history_list dd {
    width: calc(100% - 22rem);
/*     font-size: 2rem; */
  }

  .history_list .mt {
    margin-top: 28rem;
  }

  .history_list .mt02 {
    margin-top: 22rem;
  }

  .history_list .mt03 {
    margin-top: 24rem;
  }

  .history_img {
    position: absolute;
    width: 51rem;
    right: auto;
    top: -25.5rem;
    left: -45.5rem;
    transform: translateX(50%);
    display: flex;
    align-items: center;
    border: 1px solid var(--color-primary);
    padding: 1rem;
    background: var(--color-white);
    border-radius: 1rem;
  }

  .history_img h3 {
    padding: 0;
    margin-bottom: 0;
    border: none;
    text-align: center;
    font-size: 2rem;
  }

  .history_img div {
    width: 27rem;
    padding: 0;
    border: none;
    font-size: 1.6rem;
  }


  .history_img02 {
    top: -30rem;
  }

  .history_img03 {
    top: -21.5rem;
  }

  .history_img06 {
    top: -22rem;
  }
}

/*================================================
 *  
 ================================================*/


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

/*================================================
 *  
 ================================================*/


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

/*================================================
 *  
 ================================================*/


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

/*================================================
 *  
 ================================================*/


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

/*================================================
 *  
 ================================================*/


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

/*================================================
 *  
 ================================================*/


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

/*================================================
 *  
 ================================================*/


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