/*=======================
  募集要項
==========================*/
.offering-section {
  padding: 100px 20px 0 20px;
}

.offering-flow-container {
  padding: 100px 20px 50px 20px;
}

.top-wrapper-title h2,
.offering-flow-wrapper-title h2 {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN",
    "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}

.offering-flow-wrapper-title {
  text-align: center;
}

.top-wrapper-title p {
  padding-left: 40px;
}

.offering-container-top-img {
  padding-top: 50px;
  width: 100%;
}

.offering-container-top-img img {
  object-fit: cover;
  width: 100%;
  aspect-ratio:  10 / 3;
  object-position: top;
}

.offering-text-container {
  padding-top: 50px;
  margin: 0 auto;
}

.offering-text-wrapper {
  display: flex;
  justify-content: center;
  padding: 20px;
}

.offering-text-title {
  width: 20%;
  text-align: center;
  font-size: 1.3rem;
  border-bottom: 3px solid #439247;
  padding: 20px;
}

.offering-text {
  width: 80%;
  text-align: left;
  font-size: 1.3rem;
  border-bottom: 1px solid #313131;
  padding: 20px 20px 20px 50px;
}

.offering-flow-text-container {
  padding-top: 50px;
}

.offering-flow-box-container{
  width: 100%;
  padding: 80px 0 30px 0;
}

.offering-flow-box {
  position: relative;
  max-width: 400px;
  margin: 1em auto;
  padding: 1em 1.5em;
  border: 2px solid #439247;
  border-radius: 3px;
  font-size: 1.3rem;
}

.offering-flow-box::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -1em;
  left: -1em;
  width: 2em;
  height: 2em;
  border-radius: 3px;
  background-color: #439247;
  color: #fff;
  font-weight: 600;
  content: attr(data-number);
}

.offering-flow-border-container {
  position: relative;
  height: 30px;
}

.offering-flow-border {
  padding-top: 30px;
  border-left: dashed #439247;
  position: absolute;
  left: 50%;
}

.entry-section-contain {
  display: flex;
  margin: 0 auto;
  padding: 0 30px;
}

.entry-form-container {
  width: 100%;
  margin: 0 auto;
}

.entry-form-title {
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
}

.entry-form {
  padding-top: 30px;
}

.entry-table {
  width: 100%;
  padding: 30px 0;
}

.entry-item,
.entry-body {
  padding: 20px;
  border: 2px solid #439247;
}

.entry-item {
  text-align: left; 
  width: 30%;
  background-color: #c4ecc6;
}

.entry-body {
  width: 70%; 
}

.form-text {
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  max-width: 400px;
}

.entry-sex + .entry-sex {
  margin-left: 10px;
}

.entry-sex-txt {
  margin-left: 5px;
}

.form-select {
  width: 180px;
  height: 40px;
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.form-textarea {
  width: 100%;
  padding: 10px;
  height: 200px;
  border-radius: 5px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.entry-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  margin:0 auto;
  padding: 1rem 2rem;
  overflow: hidden;
  border: 1px solid #fff;
  border-radius: 5px;
  background-color: #439247;
  color: #fff;
  font-size: 1rem;
}

.entry-button:hover {
  border: 2px solid #439247;
  background-color: fff;
  color: #439247;
}

textarea {
  resize: none;
}

.entry-button-area{
  margin: 0 auto;
  text-align: center;
}

/*=======================
  レスポンシブ
==========================*/
@media (max-width: 960px) {
  .offering-section {
    padding: 50px 20px 0 20px;
  }
  
  .offering-flow-container {
    padding: 50px 20px 30px 20px;
  }

  .offering-text-container {
    padding-top: 30px;
  }
  
  .offering-text-wrapper {
    padding: 10px;
  }

  .offering-text-title {
    padding: 10px;
    font-size: 1.2rem;
  }
  
  .offering-text {
    padding: 10px 10px 10px 30px;
    font-size: 1.2rem;
  }
  
  .offering-flow-text-container {
    padding-top: 30px;
  }

  .offering-flow-box-container {
    padding: 0px 0 30px 0;
  }

  .entry-section-contain {
    flex-direction:column;
    align-items:center;
    padding: 0 10px 50px 0;
  }

  .entry-form-container {
    width: 90%;
    padding-bottom: 50px;
  }
  
}

@media (max-width: 620px) {
  .offering-section {
    padding: 30px 10px 0 10px;
  }
  
  .offering-flow-container {
    padding: 30px 10px;
  }
  
  .offering-flow-text-container {
    padding-top: 20px;
  }

  .offering-text-title {
    font-size: 1rem;
  }

  .offering-text {
    font-size: 1rem;
  }

  .offering-flow-box-container {
    padding: 30px 10px 0 10px;
  }

  .entry-form-container {
    width: 100%;
    padding-bottom: 30px;
  }
  
  .entry-section-contain {
    flex-direction:column;
    align-items:center;
      padding: 0 10px 30px 0;
  }

}

@media (max-width: 480px) {
  .offering-text-title {
    padding: 5px;
    font-size: 0.8rem;
  }

  .offering-text {
    font-size: 0.8rem;
  }

}