/*-----
Viewport
min 320px
max 1000px
-----*/
#wrapMain p {
  font-size: clamp(1.4rem, 1.212rem + 0.94vw, 1.8rem);
}

.mainvisual {
  text-align: center;
}
.mainvisual img {
  border-radius: 10px;
}

.maintext {
  padding: 4% 0;
  text-align: center;
  font-weight: bold;
  line-height: 200%;
}
@media screen and (max-width: 768px) {
  .maintext {
    text-align: left;
  }
}

.line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #edf350));
  background: linear-gradient(transparent 60%, #edf350 60%);
}

.text_box:not(:first-child) {
  margin-top: 20px;
}
.text_box {
  padding: 20px 30px;
  border: 3px solid #4caf4e;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .text_box {
    padding: 20px;
  }
}
.text_box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.text_box dl dt {
  width: 80px;
}
@media screen and (max-width: 768px) {
  .text_box dl dt {
    width: 60px;
  }
}
.text_box dl dd {
  padding-left: 20px;
  font-size: clamp(1.8rem, 1.424rem + 1.88vw, 2.6rem);
  color: #4caf4e;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .text_box dl dd {
    padding-left: 10px;
  }
}
.text_box p {
  margin-top: 20px;
}

.greetingbox {
  position: relative;
  margin-top: 40px;
}
.greetingbox .name {
  position: absolute;
  left: 50px;
  bottom: 107px;
  padding: 1%;
  font-size: clamp(1.4rem, 1.306rem + 0.47vw, 1.6rem) !important;
  background: #f8f7d3;
}
@media screen and (max-width: 768px) {
  .greetingbox .name {
    left: 18px;
    bottom: 53px;
  }
}

#wrapContents {
  padding: 0;
}