.bg-stripe {
  background: url("/common/img/bg_strip.png");
  background-size: 96px 96px;
}

.bg-light-pink {
  background: #FDF3F6;
}

/*============================
#sec01
============================*/
section#sec01.sec {
  text-align: center;
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  section#sec01.sec {
    padding-bottom: 50px;
  }
}
section#sec01.sec .ttl1 {
  padding: 0.5em 0;
}
section#sec01.sec h3 {
  margin-bottom: 2em;
}
section#sec01.sec .flex {
  flex-direction: row-reverse;
}
section#sec01.sec .flex figure {
  flex: 0 0 32%;
}
section#sec01.sec .flex figure img {
  border-radius: 20px;
}
section#sec01.sec .flex p {
  flex: 0 0 60%;
  text-align: justify;
  margin: auto;
}

/*============================
#sec02
============================*/
section#sec02.sec {
  background: #FDF3F6;
}
section#sec02.sec .ttl1 {
  margin-top: calc(-100px - 0.8em);
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  section#sec02.sec .ttl1 {
    margin: 0;
  }
}
section#sec02.sec div.w960 div.flex {
  align-items: center;
}
section#sec02.sec div.w960 div.flex h3 {
  flex: 0 0 50%;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  section#sec02.sec div.w960 div.flex h3 {
    text-align: center;
  }
}
section#sec02.sec div.w960 div.flex figure {
  flex: 0 0 50%;
}
@media screen and (max-width: 767px) {
  section#sec02.sec div.w960 div.flex figure {
    margin-bottom: 30px;
  }
}
section#sec02.sec div.w960 div.flex figure img {
  border-radius: 20px;
}