@media (width < 770px) {
  .fb_box01 {
    flex-direction: column;
  }
}

#s1 {
  background: #e9f9f4;
  height: 534px;
  text-align: center;
  padding-top: 0;
}

#s1 div p {
  font-size: 0;
}

#s1 .top_main {
  background: url(../img/rmr_bg01.png) no-repeat center;
  width: 100%;
  height: 100%;
  background-size: cover;
}

@media (width < 770px) {
  #s1 .top_main {
    background-image: url(../img/res_rmr_bg01_02.png), url(../img/res_rmr_bg01.png);
    background-size: min(380px, 100%) auto, cover;
    background-repeat: no-repeat, no-repeat;
    background-position: left bottom,center top;
  }

  #s1 .top_main p {position: relative;}

  #s1 .top_main p::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;left: 0;
    background: url(../img/res_rmr_bg01_02.png) no-repeat left;
  }
}

#s2 {
  background: #00aa7c;
  color: #fff;
  text-align: center;
  padding: 65px 0 70px;
}

#s2.wht_rmc {
  background-image: url(../img/rmr_bg02.png);
  background-repeat: no-repeat;
  background-position: left 10% center;
}

#s2 h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 25px;
}

#s2 p {
  font-family: "Noto Sans JP";
  font-size: 2.1rem;
  font-weight: 500;
}

#s2 p span {
  color: #ffd510;
}

@media (width < 770px) {
  #s2 h2 {
    font-size: 3rem;
  }

  #s2 p {
    font-size: 1.8rem;
    text-align: left;
  }
}

#s3 {
  background: #e9f9f4;
  padding: 60px 0;
}

#s3 .point_box {
  width: 320px;
  height: 650px;
  padding-top: 15px;
  background: #fff;
  border-radius: 5px;
  text-align: center;
  box-shadow: 7px 7px 0px 0px rgba(157, 213, 196, 1);
}

#s3 .point_box p.point_num {
  font-family: "Noto Sans JP";
  font-size: 2.2rem;
  font-weight: bold;
}

#s3 .point_box .point_ttl {
  margin: 0 0 15px;
  height: 111px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#s3 .point_box .point_ttl h2 {
  font-size: 2.6rem;
  color: #00aa7c;
  line-height: 130%;
}

#s3 .point_box .point_txt_area {
  padding: 23px 20px 0;
}

#s3 .point_box .point_txt_area p {
  font-size: 1.7rem;
  text-align: left;
  line-height: 170%;
}

#s3 .point_box p.note {
  font-size: 1.5rem;
  text-align: right;
  padding-right: 20px;
}

@media (width < 770px) {
  #s3 .fb_box01 {
    gap: 50px;
  }

  #s3 .point_box {
    width: 100%;
    height: 100%;
    padding-bottom: 20px;
  }

  #s3 .point_box .point_ttl {
    height: auto;
    margin: 5px 0 15px;
  }
}

#s4 {
  margin-top: 90px;
}

#s4 h2 {
  font-size: 2.9rem;
  margin-bottom: 45px;
}

#s4 h2 span.note {
  font-size: 1.9rem;
  font-weight: normal;
  display: block;
  text-align: right;
}

#s4 h2:last-of-type {
  margin-bottom: 5px;
}

#s4 .note {
  text-align: right;
}

#s4 .fb_box01 {
  gap: 39px;
  margin-bottom: 90px;
}

#s4 h3 {
  font-size: 2.8rem;
  color: #00aa7c;
  margin-bottom: 15px;
}

#s4 .fb_box01 h3 span {
  margin-left: -14px;
}

#s4 .fb_box01 p {
  line-height: 190%;
}

#s4 .img_area {
  text-align: center;
  margin: 35px 0 90px;
}

@media (width < 770px)  {
  #s4 .fb_box01:nth-of-type(2) {
    flex-direction: column-reverse;
  }

  #s4 img,
  #s5 img {
    width: 100%;
  }

  #s4 h2 {
    font-size: 2.6rem;
  }

  #s4 h2:last-of-type {
    margin-bottom: 0;
  }

  #s4 .note {
    margin-bottom: 10px;
  }

  #s4 .btm_line {
    padding-left: 35px;
  }

  #s4 .btm_line::before {
    width: 20px;
    height: auto;
    top: 4%;
  }

  #s4 h3 {
    font-size: 2.3rem;
  }
}

@media (width >= 770px) {
  #s5 .sec_inner {
    padding: 0 75px;
  }
}

#s5 .c-bu {
  border: 4px dotted #a0a0a0;
  border-radius: 5px;
  padding: 25px 40px 30px;
  margin-top: 30px;
}

#s5 .c-bu p {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  font-family: 'Noto Sans JP';
  line-height: 160%;
}

#s5 .c-bu p span {
  color: #d65e05;
}

#s5 .c-bu_link {
  width: 100%;
  margin-top: 20px;
}

#s5 .c-bu_link a {
  font-size: 2.3rem;
  font-weight: bold;
  color: #fff;
  background: #2752ab;
  border-radius: 5px;
  padding: 18px 0;
  display: block;
  text-align: center;
  position: relative;
}

#s5 .c-bu_link a::after {
  position: absolute;
  content: '';
  width: 21px;
  height: 21px;
  right: 20px;
  top: 50%;
  transform: translateY(-40%);
  background: url(../img/link.png) no-repeat;
  background-size: contain;
}

#s5 .c-bu_link a:hover {
  background: #143375;
}

@media (width < 770px) {
  #s5 .c-bu {
    padding: 25px 20px 30px;
  }

  #s5 .c-bu p {
    font-size: 1.8rem;
    text-align: left;
  }

  #s5 .c-bu_link {
    height: auto;
  }

  #s5 .c-bu_link a {
    font-size: 2rem;
    line-height: inherit;
    padding: 18px 0 50px;
  }

  #s5 .c-bu_link a::after {
    width: 25px;
    height: 25px;
    transform: translateY(90%);
  }
}

#s6 {
  margin-bottom: 100px;
}