/* ----------------------------------------
	.visual_home
---------------------------------------- */
.visual_home {
  position: relative;
  margin: 0 auto;
  padding: 0 10px;
  width: 100%;
  text-align: center;
  padding-bottom: 40px;
}
@media (min-width: 321px) and (max-width: 480px) {
  .visual_home {
    padding-bottom: calc(40px + 90 * (100vw - 320px) / 160);
  }
}
@media (min-width: 481px) {
  .visual_home {
    padding-bottom: 130px;
  }
}
.visual_home:after {
  position: absolute;
  content: "";
  top: 230px;
  left: 0;
  display: block;
  width: 100%;
  height: 246px;
  background-image: url(../images/home/kv.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.visual_home .textWrap {
  position: relative;
  height: 326px;
}
.visual_home .textWrap p {
  display: inline-block;
  position: relative;
  padding-top: 2.5em;
  font-size: 1.7rem;
  text-align: left;
  line-height: 1.9;
  z-index: 2;
}

span.marker_pink {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  background: linear-gradient(transparent 60%, #fcbebe 60%);
  padding: 0 4.5px;
  margin: 0 3.5px;
  letter-spacing: 0rem;
  margin-top: 18px;
  margin-bottom: 30px;
  color: #6c3506;
}
span.tx_space {
  letter-spacing: -0.1rem;
}
span.tx_space2 {
  letter-spacing: -0.4rem;
}
span.tx_space3 {
  letter-spacing: -0.2rem;
}
span.tx_change {
  font-family: "Noto Sans JP", sans-serif;
}
span.tx_main {
  font-weight: 700;
  font-size: 18px;
}
span.tx_sub {
  font-size: 15px;
  letter-spacing: -0.08rem;
  display: inline-block;
  white-space: nowrap;
}
@media screen and (max-width: 364px) {
  span.tx_sub.indent01 {
    margin-left: 20px;
  }
}
@media screen and (max-width: 479px) {
  span.tx_sub.indent02 {
    margin-left: 20px;
  }
}
span.tx_sub.indent03 {
  margin-left: 20px;
}
@media screen and (max-width: 394px) {
  span.tx_sub.indent04 {
    margin-left: 20px;
  }
}
@media screen and (max-width: 373px) {
  span.tx_sub.indent05 {
    margin-left: 20px;
  }
}
@media screen and (max-width: 332px) {
  span.tx_sub.indent06 {
    margin-left: 20px;
  }
}
@media screen and (max-width: 455px) {
  span.tx_sub.indent07 {
    margin-left: 20px;
  }
}

#philosophy {
  position: relative;
  margin-top: 35px;
  padding-bottom: 0;
  overflow: hidden;
}
#philosophy .inner {
  position: relative;
  max-width: 380px;
  padding-top: 20px;
  padding-bottom: 77px;
  font-size: 1.5rem;
  line-height: 2;
  color: #000;
}
@media screen and (max-width: 380px) {
  #philosophy .inner {
    max-width: 300px;
  }
}
#philosophy span {
  letter-spacing: -0.8rem;
}
#philosophy .bg_bottom_wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 1;
}
#philosophy .bg_bottom_wrap .bg_bottom_img {
  width: 100%;
  height: auto;
  display: block;
}
#philosophy #bg_top {
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  background-image: url(../images/home/bg_01.png);
  height: 276px;
  top: 0px;
  left: 0;
  z-index: 1;
}

#goal .inner {
  text-align: center;
  line-height: 2.8rem;
}
#goal .inner p {
  font-weight: 700;
  letter-spacing: 0.05rem;
}
#goal .inner p.ttl_yellow {
  display: block;
  background-color: #ffdb4f;
  font-size: 18px;
  padding: 3px 0px;
  border-radius: 8px;
  text-align: center;
  max-width: 100px;
  margin: 25px auto 3px;
}

#support {
  background-image: url("../images/home/dotted.png");
  background-color: #d3c8b6;
}
#support .inner .tx_soil {
  font-weight: 700;
  font-size: 20px;
  text-align: center;
  margin: 5px 45px 25px 0px;
}
#support .inner .tx_soil span {
  font-size: 16px;
}
#support .inner .box_yellow {
  position: relative;
  background-color: #ffdb4f;
  border-radius: 20px;
  border: solid 3px #9e8475;
  text-align: center;
  padding: 5px 0 10px;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 20px;
}
#support .inner .box_yellow::before {
  position: absolute;
  content: url(../images/home/roots.png);
  width: 100px;
  height: 100px;
  top: -140px;
  left: -12px;
  z-index: -1;
}
#support .inner .box_yellow p {
  margin: 0px;
}
#support .inner .box_yellow img {
  vertical-align: sub;
}
#support .inner .box_yellow #roots1 {
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  width: 25%;
  background-image: url(../images/home/roots_1.png);
  height: 124px;
  top: -58px;
  right: 16px;
}
#support .inner .box_yellow .content_soil {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 360px;
  margin: 0 auto;
}
#support .inner .box_yellow .content_soil .item1, #support .inner .box_yellow .content_soil .item2 {
  width: 32%;
}
@media screen and (max-width: 380px) {
  #support .inner .box_yellow .content_soil .item1, #support .inner .box_yellow .content_soil .item2 {
    width: 100%;
  }
}
#support .inner .box_yellow .content_soil .item3 {
  width: 36%;
}
@media screen and (max-width: 380px) {
  #support .inner .box_yellow .content_soil .item3 {
    width: 100%;
  }
}
#support .inner .box_white {
  background-color: #fff;
  border-radius: 20px;
  border: solid 3px #9e8475;
  text-align: center;
  padding: 13px 19px 10px;
  font-size: 18px;
  font-weight: 700;
  text-align: left;
  margin: 10px 0;
  position: relative;
}
#support .inner .box_white::before {
  content: "";
  position: absolute;
  background: #9e8475;
  top: -60px;
  width: 10px;
  height: 100px;
  left: 32px;
  z-index: -1;
}
#support .inner .box_white h3 {
  font-weight: 900;
  font-size: 26px;
  margin-bottom: 13px;
  line-height: 1.7rem;
}
#support .inner .box_white h3.red {
  color: #f96262;
}
#support .inner .box_white h3.orange {
  color: #ff742e;
}
#support .inner .box_white h3.blue {
  color: #50a0b4;
}
#support .inner .box_white h3.green2 {
  color: #78b97f;
}
#support .inner .box_white h3.purple {
  color: #6b74a0;
}
#support .inner .box_white h3.purple2 {
  color: #b267b0;
}
#support .inner .box_white h3.yellow2 {
  color: #f39800;
}
#support .inner .box_white ul.disc {
  list-style-type: disc;
  color: #491b02;
}
#support .inner .box_white ul.disc li {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: -0.09rem;
}
#support .inner .box_white ul.disc li::before {
  color: #491b02;
  font-size: 0.8rem;
  left: 4px;
}

#volunteer {
  background-color: #ffdb4f;
}
#volunteer .inner .box_white2 {
  background-color: #fff;
  border-radius: 20px;
  padding: 0 5% 35px;
}
#volunteer .inner .box_white2 p {
  font-size: 15px;
  font-weight: 300;
  color: #000;
  line-height: 3.1rem;
}/*# sourceMappingURL=home.css.map */