@charset "UTF-8";
.mainvisual {
  position: relative;
  height: 50.781vw;
}
@media screen and (max-width: 767px) {
  .mainvisual {
    position: relative;
    height: 112.5vw;
  }
}

.key {
  position: relative;
  height: 50.781vw;
  box-sizing: border-box;
  overflow: hidden;
}
.key .cont {
  position: relative;
  width: 100%;
  height: 50.781vw;
}
.key .key_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 50.781vw;
}
.key .cont01 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  /*.key_logo {
    position: absolute;
    z-index: 5;
    top: 220px;
    left: 73.2656vw;
    background: url(/images/index/key_logo.webp) center/cover no-repeat;
    width:  260px; //20.3125vw;
    height: 243px; //18.9843vw;
  } */
}
.key .cont01:before {
  display: none;
}
.key .cont01 .key_bg {
  background: url(/images/index/key_bg01.webp) center/cover no-repeat;
}
.key .cont01 .key_text {
  position: relative;
  z-index: 5;
  padding-top: 1vw;
  padding-left: 8vw;
  padding-right: 0;
  text-align: center;
  max-width: 100%;
}
.key .cont01 .key_text img {
  width: 84.453vw;
}
.key .cont01 .web_reserve {
  position: absolute;
  z-index: 6;
  bottom: 15px;
  right: 15px;
  width: 150px;
  height: 150px;
}
.key .cont01 .web_reserve img {
  width: 84.453vw;
}
.key .cont02 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  /*.key_logo {
    position: absolute;
    z-index: 5;
    top: 85px;
    left: 47.4531vw;
    background: url(/images/index/key_logo.webp) center/cover no-repeat;
    width:  260px; //20.3125vw;
    height: 243px; //18.9843vw;
  } */
}
.key .cont02 .key_bg {
  background: url(/images/index/key_bg02.webp) center/cover no-repeat;
}
.key .cont02 .key_text {
  position: relative;
  z-index: 5;
  padding-top: 5vw;
  padding-left: 0vw;
  padding-right: 0vw;
  text-align: center;
  max-width: 100%;
}
.key .cont02 .key_text img {
  width: 62.369vw;
}
.key .cont02 .web_reserve {
  position: absolute;
  z-index: 6;
  bottom: 15px;
  right: 15px;
  width: 150px;
  height: 150px;
}
.key .cont02 .web_reserve img {
  width: 84.453vw;
}
.key .cont03 {
  position: relative;
  display: flex;
  justify-content: center;
  /*.key_logo {
    position: absolute;
    z-index: 5;
    top: 220px;
    left: 61.2656vw;
    background: url(/images/index/key_logo.webp) center/cover no-repeat;
    width:  260px; //20.3125vw;
    height: 243px; //18.9843vw;
  } */
}
.key .cont03 .key_bg {
  background: url(/images/index/key_bg03.webp) center/cover no-repeat;
}
.key .cont03 .key_text {
  position: relative;
  z-index: 5;
  padding-top: 8vw;
  padding-left: 0vw;
  padding-right: 6vw;
  text-align: center;
  max-width: 100%;
}
.key .cont03 .key_text img {
  width: 63.359vw;
}
.key .cont03 .web_reserve {
  position: absolute;
  z-index: 6;
  bottom: 15px;
  right: 15px;
  width: 150px;
  height: 150px;
}
.key .cont03 .web_reserve img {
  width: 84.453vw;
}
@media screen and (max-width: 1000px) and (min-width: 768px) {
  .key .key .cont01 .key_text {
    width: 80%;
  }
  .key .key .cont02 .key_text {
    width: 80%;
  }
  .key .key .cont03 .key_text {
    width: 80%;
    padding-right: 10.78vw;
  }
}
@media screen and (max-width: 767px) {
  .key {
    height: 112.5vw;
  }
  .key .cont {
    position: relative;
    width: 100%;
    height: 112.5vw;
  }
  .key .key_bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 112.5vw;
  }
  .key .cont01 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .key .cont01:before {
    display: none;
  }
  .key .cont01 .key_bg {
    background: url(/images/index/sp_key_bg01.webp) center/cover no-repeat;
  }
  .key .cont01 .key_text {
    position: relative;
    z-index: 5;
    text-align: center;
    padding-top: initial;
    padding-right: initial;
    bottom: -12vw;
    width: 90vw;
    height: 88.319vw;
    padding-top: 0;
  }
  .key .cont01 .key_text img {
    width: 100%;
  }
  .key .cont01 .web_reserve {
    position: absolute;
    z-index: 6;
    bottom: 15vw;
    right: 4vw;
    width: 22vw;
    height: 22vw;
  }
  .key .cont01 .web_reserve img {
    width: 22vw;
  }
  .key .cont02 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .key .cont02:before {
    display: none;
  }
  .key .cont02 .key_bg {
    background: url(/images/index/sp_key_bg02.webp) center/cover no-repeat;
  }
  .key .cont02 .key_text {
    position: relative;
    z-index: 5;
    text-align: center;
    padding-top: initial;
    padding-left: initial;
    bottom: -12vw;
    width: 94.5vw;
    height: 71.969vw;
    padding-top: initial;
    padding-left: initial;
  }
  .key .cont02 .key_text img {
    width: 100%;
  }
  .key .cont02 .web_reserve {
    position: absolute;
    z-index: 6;
    bottom: 15vw;
    right: initial;
    left: 2vw;
    width: 22vw;
    height: 22vw;
  }
  .key .cont02 .web_reserve img {
    width: 22vw;
  }
  .key .cont03 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    /*.key_logo {
      position: absolute;
      z-index: 5;
      top: 220px;
      left: 61.2656vw;
      background: url(/images/index/key_logo.webp) center/cover no-repeat;
      width:  40vw;
      height: 37.33vw;
    } */
  }
  .key .cont03:before {
    display: none;
  }
  .key .cont03 .key_bg {
    background: url(/images/index/sp_key_bg03.webp) center/cover no-repeat;
  }
  .key .cont03 .key_text {
    position: relative;
    z-index: 5;
    text-align: center;
    padding-right: initial;
    bottom: -12vw;
    width: 90vw;
    height: 118.55vw;
    padding-top: initial;
    padding-left: initial;
  }
  .key .cont03 .key_text img {
    width: 100%;
  }
  .key .cont03 .web_reserve {
    position: absolute;
    z-index: 6;
    bottom: 15vw;
    right: initial;
    left: 2vw;
    width: 22vw;
    height: 22vw;
  }
  .key .cont03 .web_reserve img {
    width: 22vw;
  }
}

.info_box {
  width: 1280px;
  max-width: 100%;
  margin: clamp(24px, 3.125vw, 40px) auto clamp(59px, 7.812vw, 100px);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  box-sizing: border-box;
}
.info_box .blog_sec {
  width: clamp(284px, 37.109vw, 475px);
  max-width: 45%;
  margin-right: 2em;
}
.info_box .blog_sec .blog_title_head {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-bottom: clamp(11px, 1.562vw, 20px);
}
.info_box .blog_sec .blog_title_head .image {
  margin-right: clamp(11px, 1.562vw, 20px);
}
.info_box .blog_sec .blog_title_head .title_text {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  color: #736357;
}
.info_box .blog_sec .blog_list {
  width: 100%;
}
.info_box .blog_sec .blog_list .blog_wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 1em clamp(5px, 0.781vw, 10px);
  border-bottom: 0.75px solid #998675;
  margin-bottom: clamp(5px, 0.781vw, 10px);
  box-sizing: border-box;
}
.info_box .blog_sec .blog_list .blog_wrap .blog_date {
  font-size: clamp(11px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  color: #998675;
  margin-right: 1.5em;
}
.info_box .blog_sec .blog_list .blog_wrap .blog_data {
  font-size: clamp(12px, 1.406vw, 18px);
  letter-spacing: 0.01em;
  color: #534741;
}
.info_box .blog_sec .more {
  font-size: clamp(9px, 1.25vw, 16px);
  text-align: right;
  letter-spacing: 0.01em;
  color: #534741;
}
.info_box .timetable_sec {
  width: clamp(360px, 46.875vw, 600px);
  max-width: 53%;
}
.info_box .timetable_sec img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .info_box {
    width: 100%;
    margin: initial;
    padding-top: 13.8vw;
    padding-bottom: 13.8vw;
    background-color: #f9f9f5;
    display: block;
    box-sizing: border-box;
  }
  .info_box .blog_sec {
    width: 93vw;
    max-width: 93%;
    margin: 0 auto 13.8vw;
  }
  .info_box .blog_sec .blog_title_head {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    margin-bottom: 5vw;
  }
  .info_box .blog_sec .blog_title_head .image {
    width: 16vw;
    margin-right: 5vw;
  }
  .info_box .blog_sec .blog_title_head .image img {
    width: 100%;
  }
  .info_box .blog_sec .blog_title_head .title_text {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    color: #736357;
  }
  .info_box .blog_sec .blog_list {
    width: 100%;
  }
  .info_box .blog_sec .blog_list .blog_wrap {
    padding: 0 1em 2.5vw;
    border-bottom: 0.75px solid #998675;
    margin-bottom: 2.5vw;
    box-sizing: border-box;
  }
  .info_box .blog_sec .blog_list .blog_wrap .blog_date {
    font-size: 3.25vw;
    letter-spacing: 0.1em;
    margin-right: 0.5em;
  }
  .info_box .blog_sec .blog_list .blog_wrap .blog_data {
    font-size: 3.75vw;
    letter-spacing: 0.01em;
  }
  .info_box .blog_sec .more {
    font-size: 4vw;
    letter-spacing: 0.01em;
  }
  .info_box .timetable_sec {
    width: 91.5vw;
    max-width: 100%;
    margin: 0 auto;
  }
  .info_box .timetable_sec img {
    width: 100%;
  }
}

.banner_box {
  margin-top: -40px;
}
.banner_box .info_text {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 80px;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: justify;
  color: #c55524;
}
@media screen and (max-width: 767px) {
  .banner_box {
    background-color: #f9f9f5;
    margin-top: -3vw;
    padding: 0vw 4.2vw 10vw;
  }
  .banner_box .info_text {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 4vw;
    letter-spacing: 0.01em;
    line-height: 1.6;
    text-align: justify;
  }
}

.sec01 {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto clamp(59px, 7.812vw, 100px);
}
.sec01 .upper {
  width: clamp(545px, 71.093vw, 910px);
  max-width: 100%;
  margin-bottom: clamp(59px, 7.812vw, 100px);
  margin: 0 auto;
}
.sec01 .upper .renewal01 {
  margin-bottom: clamp(53px, 7.031vw, 90px);
  position: relative;
}
.sec01 .upper .renewal01 img {
  width: 100%;
}
.sec01 .upper .renewal01::before {
  content: "";
  position: absolute;
  top: clamp(11px, 1.562vw, 20px);
  right: clamp(-70px, -5.468vw, -41px);
  background: url(/images/index/sec01_clinic_logo.webp) center/contain no-repeat;
  width: clamp(148px, 19.375vw, 248px);
  height: clamp(155px, 20.234vw, 259px);
}
.sec01 .upper .renewal01::after {
  content: "";
  position: absolute;
  top: clamp(123px, 16.093vw, 206px);
  right: clamp(20px, 2.734vw, 35px);
  background: url(/images/index/sec01_kazari01.webp) center/contain no-repeat;
  width: clamp(77px, 10.156vw, 130px);
  height: clamp(74px, 9.687vw, 124px);
}
.sec01 .middle {
  width: clamp(408px, 53.125vw, 680px);
  max-width: 100%;
  margin: 0 auto clamp(56px, 7.421vw, 95px);
  position: relative;
}
.sec01 .middle .event01 {
  text-align: center;
  margin: 0 auto clamp(11px, 1.562vw, 20px);
}
.sec01 .middle .event01 img {
  width: 100%;
}
.sec01 .middle .event02 {
  text-align: center;
  margin: 0 auto clamp(11px, 1.562vw, 20px);
}
.sec01 .middle .event02 img {
  width: 100%;
}
.sec01 .middle .text {
  width: clamp(408px, 53.125vw, 680px);
  max-width: 100%;
  margin: 0 auto clamp(56px, 7.421vw, 95px);
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.01em;
  line-height: 1.8;
}
.sec01 .middle .kazari02 {
  position: absolute;
  top: clamp(-30px, -2.343vw, -17px);
  left: clamp(-210px, -16.406vw, -125px);
  width: clamp(124px, 16.25vw, 208px);
  height: clamp(71px, 9.296vw, 119px);
}
.sec01 .middle .kazari03 {
  position: absolute;
  top: clamp(35px, 4.687vw, 60px);
  right: clamp(-230px, -17.968vw, -137px);
  width: clamp(124px, 16.25vw, 208px);
  height: clamp(71px, 9.296vw, 119px);
}
.sec01 .middle .kazari04 {
  position: absolute;
  top: clamp(65px, 8.593vw, 110px);
  left: clamp(-247px, -19.296vw, -148px);
  width: clamp(98px, 12.89vw, 165px);
  height: clamp(89px, 11.718vw, 150px);
}
.sec01 .middle .kazari05 {
  position: absolute;
  top: clamp(98px, 12.89vw, 165px);
  right: clamp(-270px, -21.093vw, -161px);
  width: clamp(226px, 29.453vw, 377px);
  height: clamp(112px, 14.687vw, 188px);
}
.sec01 .middle .kazari06 {
  position: absolute;
  top: clamp(178px, 23.281vw, 298px);
  left: clamp(-162px, -12.656vw, -97px);
  width: clamp(79px, 10.312vw, 132px);
  height: clamp(100px, 13.046vw, 167px);
}
.sec01 .middle .kazari07 {
  position: absolute;
  top: clamp(227px, 29.687vw, 380px);
  right: clamp(-226px, -17.656vw, -135px);
  width: clamp(98px, 12.812vw, 164px);
  height: clamp(64px, 8.359vw, 107px);
}
.sec01 .soudankai_box .title {
  font-size: clamp(19px, 2.343vw, 30px);
  text-align: center;
  color: #534741;
  margin-bottom: clamp(14px, 1.953vw, 25px);
}
.sec01 .soudankai_box .flexbox {
  margin-top: clamp(-40px, -3.125vw, -24px);
}
.sec01 .soudankai_box .flexbox .image01 {
  width: clamp(131px, 17.187vw, 220px);
}
.sec01 .soudankai_box .flexbox .image01 img {
  width: 100%;
}
.sec01 .soudankai_box .flexbox .list {
  width: clamp(229px, 29.843vw, 382px);
  max-width: 100%;
  padding: 0 20px;
}
.sec01 .soudankai_box .flexbox .list .text {
  font-size: clamp(15px, 1.875vw, 24px);
  letter-spacing: 0.1em;
  text-align: center;
  color: #534741;
  padding-bottom: clamp(5px, 0.781vw, 10px);
  border-bottom: 2px dashed #534741;
  margin-top: clamp(5px, 0.781vw, 10px);
}
.sec01 .soudankai_box .flexbox .image02 {
  width: clamp(98px, 12.89vw, 165px);
}
.sec01 .soudankai_box .flexbox .image02 img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sec01 {
    margin: 0 auto;
    margin-bottom: initial;
    padding-bottom: 13.8vw;
    background-color: #f9f9f5;
  }
  .sec01 .upper {
    width: 89.5vw;
    max-width: 100%;
    margin: 0 auto;
  }
  .sec01 .upper .renewal01 {
    margin-bottom: 4.2vw;
    position: relative;
    z-index: 3;
  }
  .sec01 .upper .renewal01 img {
    width: 100%;
  }
  .sec01 .upper .renewal01::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 12vw;
    right: -2.5vw;
    background: url(/images/index/sec01_clinic_logo.webp) center/contain no-repeat;
    width: 31vw;
    height: 32.342vw;
  }
  .sec01 .upper .renewal01::after {
    content: "";
    position: absolute;
    top: 29.5vw;
    right: -2vw;
    background: url(/images/index/sec01_kazari01.webp) center/contain no-repeat;
    width: 18.5vw;
    height: 17.658vw;
  }
  .sec01 .middle {
    width: 89.5vw;
    max-width: 100%;
    margin: 0 auto 37.5vw;
    position: relative;
  }
  .sec01 .middle .event01 {
    text-align: center;
    margin: 0 auto 4.2vw;
  }
  .sec01 .middle .event01 img {
    width: 100%;
  }
  .sec01 .middle .event02 {
    text-align: center;
    margin: 0 auto 30vw;
  }
  .sec01 .middle .event02 img {
    width: 100%;
  }
  .sec01 .middle .text {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 95px;
    box-sizing: border-box;
    font-size: 3.75vw;
    letter-spacing: 0.01em;
    line-height: 1.8;
  }
  .sec01 .middle .kazari02 {
    position: absolute;
    top: -5vw;
    left: -5vw;
    width: 23vw;
    height: 13.095vw;
  }
  .sec01 .middle .kazari02 img {
    width: 100%;
  }
  .sec01 .middle .kazari03 {
    position: absolute;
    top: 43vw;
    right: 1vw;
    width: 28.5vw;
    height: 16.226vw;
  }
  .sec01 .middle .kazari03 img {
    width: 100%;
  }
  .sec01 .middle .kazari04 {
    position: absolute;
    top: 125vw;
    left: 0vw;
    width: 21.5vw;
    height: 19.505vw;
  }
  .sec01 .middle .kazari04 img {
    width: 100%;
  }
  .sec01 .middle .kazari05 {
    position: absolute;
    top: 47.5vw;
    right: initial;
    left: 47%;
    transform: translateX(-50%);
    width: 54vw;
    height: 27.069vw;
  }
  .sec01 .middle .kazari05 img {
    width: 100%;
  }
  .sec01 .middle .kazari06 {
    position: absolute;
    top: 125vw;
    left: 45vw;
    width: 15vw;
    height: 18.975vw;
  }
  .sec01 .middle .kazari06 img {
    width: 100%;
  }
  .sec01 .middle .kazari07 {
    position: absolute;
    top: 125vw;
    left: 64.5vw;
    right: initial;
    width: 22.5vw;
    height: 14.672vw;
  }
  .sec01 .middle .kazari07 img {
    width: 100%;
  }
  .sec01 .soudankai_box .title_box {
    display: flex;
    align-items: center;
    margin-bottom: 4.2vw;
  }
  .sec01 .soudankai_box .title_box .image01 {
    width: 30vw;
    margin-right: 4vw;
  }
  .sec01 .soudankai_box .title_box .image01 img {
    width: 100%;
  }
  .sec01 .soudankai_box .title_box .title {
    font-size: 6vw;
    letter-spacing: 0.1em;
    line-height: 1.6;
    text-align: center;
    color: #534741;
    margin-bottom: initial;
  }
  .sec01 .soudankai_box .list {
    width: 100%;
    max-width: 100%;
    padding: 0 5.5vw;
    box-sizing: border-box;
  }
  .sec01 .soudankai_box .list .text {
    font-size: 5vw;
    letter-spacing: 0.1em;
    text-align: center;
    color: #534741;
    padding-bottom: 2.5vw;
    border-bottom: 0.5vw dashed #534741;
    margin-top: 2.5vw;
  }
  .sec01 .soudankai_box .image02 {
    width: 45vw;
    margin: 4.2vw auto 0;
  }
  .sec01 .soudankai_box .image02 img {
    width: 100%;
  }
}

.sec02 {
  width: 100%;
  max-width: 1280px;
  height: clamp(154px, 20.078vw, 257px);
  margin: 0 auto clamp(59px, 7.812vw, 100px);
}
.sec02 .recruit_banner {
  width: 100%;
}
.sec02 .recruit_banner img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sec02 {
    max-width: 100%;
    height: 80.5vw;
    margin: 0 auto 0;
    align-items: flex-start;
  }
  .sec02 .recruit_banner {
    width: 100%;
  }
  .sec02 .recruit_banner img {
    width: 100%;
  }
}

.sec03 {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto clamp(59px, 7.812vw, 100px);
  padding: clamp(77px, 10.156vw, 130px) 0 clamp(48px, 6.25vw, 80px);
  position: relative;
}
.sec03 .title {
  width: clamp(563px, 73.437vw, 940px);
  max-width: 100%;
  margin: 0 auto;
  padding-left: clamp(59px, 7.812vw, 100px);
  font-size: clamp(20px, 2.656vw, 34px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(32px, 4.296vw, 55px);
  position: relative;
}
.sec03 .title::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(-85px, -6.64vw, -50px);
  left: clamp(-70px, -5.468vw, -41px);
  background: url(/images/index/sec03_title_bg_image.webp) center/contain no-repeat;
  width: clamp(196px, 25.468vw, 326px);
  height: clamp(196px, 25.468vw, 326px);
}
.sec03 .text {
  width: clamp(563px, 73.437vw, 940px);
  max-width: 100%;
  margin: 0 auto;
  padding-left: clamp(59px, 7.812vw, 100px);
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.01em;
  line-height: 1.8;
  text-align: justify;
}
.sec03 .kazari01 {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: clamp(127px, 16.562vw, 212px);
  height: clamp(127px, 16.562vw, 212px);
}
.sec03 .kazari02 {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(24px, 3.125vw, 40px);
  left: clamp(340px, 44.375vw, 568px);
  width: clamp(70px, 9.062vw, 116px);
  height: clamp(70px, 9.062vw, 116px);
}
.sec03 .kazari03 {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(59px, 7.812vw, 100px);
  left: clamp(432px, 56.25vw, 720px);
  width: clamp(102px, 13.281vw, 170px);
  height: clamp(102px, 13.281vw, 170px);
}
.sec03 .kazari04 {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(11px, 1.562vw, 20px);
  left: clamp(568px, 73.984vw, 947px);
  width: clamp(131px, 17.031vw, 218px);
  height: clamp(131px, 17.031vw, 218px);
}
@media screen and (max-width: 767px) {
  .sec03 {
    overflow: hidden;
    width: 100%;
    margin: 0 auto 13.8vw;
    padding: 67vw 4.5vw 13.8vw;
    background-color: #f9f9f5;
    box-sizing: border-box;
    position: relative;
  }
  .sec03 .title {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: initial;
    font-size: 6vw;
    letter-spacing: 0.1em;
    margin-bottom: 4.2vw;
    position: relative;
    z-index: 2;
  }
  .sec03 .title::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -25.5vw;
    left: 0vw;
    background: url(/images/index/sec03_title_bg_image.webp) center/contain no-repeat;
    width: 52.202vw;
    height: 52.202vw;
  }
  .sec03 .text {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: initial;
    font-size: 3.75vw;
    letter-spacing: 0.01em;
    line-height: 1.8;
  }
  .sec03 .kazari01 {
    content: "";
    position: absolute;
    z-index: 2;
    top: 5vw;
    left: -5vw;
    width: 34vw;
    height: 34vw;
  }
  .sec03 .kazari02 {
    content: "";
    position: absolute;
    z-index: 2;
    top: 9.5vw;
    left: 45vw;
    width: 22.5vw;
    height: 22.5vw;
  }
  .sec03 .kazari03 {
    content: "";
    position: absolute;
    z-index: 2;
    top: 34vw;
    left: 21vw;
    width: 27.5vw;
    height: 27.5vw;
  }
  .sec03 .kazari04 {
    content: "";
    position: absolute;
    z-index: 2;
    top: 40vw;
    left: 62vw;
    width: 35vw;
    height: 35vw;
  }
}

.sec04 {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto clamp(59px, 7.812vw, 100px);
}
.sec04 .sec_head {
  height: clamp(203px, 26.562vw, 340px);
  padding: clamp(41px, 5.468vw, 70px) clamp(24px, 3.125vw, 40px);
  position: relative;
}
.sec04 .sec_head::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  background: url(/images/index/sec04_head_bg_image.webp) center top/contain no-repeat;
  width: 100%;
  height: 51.484vw;
}
.sec04 .sec_head::after {
  content: "";
  position: absolute;
  top: clamp(-25px, -1.953vw, -14px);
  left: clamp(24px, 3.125vw, 40px);
  background: url(/images/index/text_feature.webp) center/contain no-repeat;
  width: clamp(229px, 29.843vw, 382px);
  height: clamp(29px, 3.906vw, 50px);
}
.sec04 .sec_head .sec_title {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  font-size: clamp(22px, 2.968vw, 38px);
  letter-spacing: 0.1em;
  line-height: 1.7;
  text-align: center;
  position: relative;
}
.sec04 .sec_head .sec_title::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: clamp(29px, 3.906vw, 50px);
  left: 50%;
  transform: translateX(-50%);
  background: url(/images/index/sec04_title_kazari01.webp) center/contain no-repeat;
  width: clamp(292px, 38.125vw, 488px);
  height: clamp(15px, 2.054vw, 26.3px);
}
.sec04 .sec_head .g_text {
  color: #00a99d;
}
.sec04 .sec_head .p_title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 55px;
  letter-spacing: 0.05;
  color: #ff9594;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
}
.sec04 .textbox {
  width: initial;
  min-width: 50%;
  max-width: 50%;
}
.sec04 .imagebox {
  width: clamp(299px, 39.062vw, 500px);
  min-width: initial;
  max-width: 50%;
}
.sec04 .cont_title {
  letter-spacing: 0.05em;
}
.sec04 .cont_text {
  font-size: clamp(14px, 1.171vw, 15px);
}
.sec04 .cont01 {
  display: block;
  margin-bottom: clamp(106px, 13.906vw, 178px);
}
.sec04 .cont01 .upper_box {
  display: flex;
  margin-bottom: clamp(48px, 6.25vw, 80px);
}
.sec04 .cont01 .upper_box .textbox {
  margin-right: clamp(29px, 3.906vw, 50px);
  position: relative;
}
.sec04 .cont01 .upper_box .textbox::before {
  content: "";
  position: absolute;
  top: clamp(-60px, -4.687vw, -35px);
  left: clamp(-30px, -2.343vw, -17px);
  background: url(/images/index/point01.webp) center/contain no-repeat;
  width: clamp(103px, 13.515vw, 173px);
  height: clamp(80px, 10.546vw, 135px);
}
.sec04 .cont01 .upper_box .dot_text {
  background-image: radial-gradient(circle at center, #dd868f 20%, transparent 20%); /* 点の色とサイズ調整 */
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 1.04em 1em;
  padding-top: 0.7em;
}
.sec04 .cont01 .upper_box .imagebox {
  position: relative;
}
.sec04 .cont01 .upper_box .imagebox::before {
  content: "";
  position: absolute;
  top: clamp(-20px, -1.562vw, -11px);
  left: 64%;
  transform: translateX(-50%);
  background: url(/images/index/text_cure_care.webp) center/contain no-repeat;
  width: clamp(212px, 27.656vw, 354px);
  height: clamp(24px, 3.125vw, 40px);
}
.sec04 .cont01 .lower_box .flexbox_ad {
  display: flex;
}
.sec04 .cont01 .lower_box .child {
  margin-right: clamp(14px, 1.953vw, 25px);
  box-sizing: border-box;
  background-color: #e8beb7;
  border-radius: 30px;
  padding: clamp(17px, 2.343vw, 30px) clamp(11px, 1.562vw, 20px);
  display: flex;
  flex-direction: column;
  position: relative;
}
.sec04 .cont01 .lower_box .child .title {
  height: 2.5em;
  font-size: clamp(17px, 2.343vw, 30px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(17px, 2.343vw, 30px);
}
.sec04 .cont01 .lower_box .child .text {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.01em;
  line-height: 1.8;
  text-align: justify;
  margin-bottom: clamp(11px, 1.562vw, 20px);
  flex-grow: 1;
  height: 7em;
}
.sec04 .cont01 .lower_box .child .flexbox .about_btn {
  min-width: 180px;
  height: 3em;
  background-color: #f9f9f5;
  padding: 10px 35px 10px 10px;
  color: #754c27;
  position: relative;
}
.sec04 .cont01 .lower_box .child .flexbox .about_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  background: url(/images/index/sec04_child_arrow.webp) center/contain no-repeat;
  width: 12px;
  height: 12px;
}
.sec04 .cont01 .lower_box .child .flexbox .link:not(:last-of-type) .about_btn {
  margin-right: 1em;
}
.sec04 .cont01 .lower_box .child .child_kazari01 {
  position: absolute;
  top: clamp(-50px, -3.906vw, -29px);
  right: clamp(24px, 3.125vw, 40px);
  width: clamp(81px, 10.625vw, 136px);
  height: clamp(76px, 9.921vw, 127px);
}
.sec04 .cont01 .lower_box .adult {
  box-sizing: border-box;
  background-color: #b1dad5;
  border-radius: 30px;
  padding: clamp(17px, 2.343vw, 30px) clamp(11px, 1.562vw, 20px);
  display: flex;
  flex-direction: column;
  position: relative;
}
.sec04 .cont01 .lower_box .adult .title {
  height: 2.5em;
  font-size: clamp(17px, 2.343vw, 30px);
  letter-spacing: 0.1em;
  line-height: 1.3;
  margin-bottom: clamp(17px, 2.343vw, 30px);
}
.sec04 .cont01 .lower_box .adult .text {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.01em;
  line-height: 1.8;
  margin-bottom: clamp(11px, 1.562vw, 20px);
  flex-grow: 1;
  height: 7em;
}
.sec04 .cont01 .lower_box .adult .for_adult {
  width: 48%;
  margin-right: clamp(24px, 3.125vw, 40px);
}
.sec04 .cont01 .lower_box .adult .for_losttooth {
  width: 48%;
}
.sec04 .cont01 .lower_box .adult .flexbox .about_btn {
  min-width: 180px;
  height: 3em;
  line-height: 1.1;
  text-align: center;
  background-color: #f9f9f5;
  padding: 10px 35px 10px 10px;
  color: #754c27;
  position: relative;
}
.sec04 .cont01 .lower_box .adult .flexbox .about_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  background: url(/images/index/sec04_adult_arrow.webp) center/contain no-repeat;
  width: 12px;
  height: 12px;
}
.sec04 .cont01 .lower_box .adult .flexbox .link:not(:last-of-type) .about_btn {
  margin-right: 1em;
}
.sec04 .cont01 .lower_box .adult .adult_kazari01 {
  position: absolute;
  top: clamp(-20px, -1.562vw, -11px);
  left: clamp(123px, 16.093vw, 206px);
  width: clamp(83px, 10.937vw, 140px);
  height: clamp(82px, 10.781vw, 138px);
}
.sec04 .cont01 .lower_box .adult .adult_kazari02 {
  position: absolute;
  top: clamp(-40px, -3.125vw, -24px);
  right: clamp(17px, 2.343vw, 30px);
  width: clamp(94px, 12.343vw, 158px);
  height: clamp(93px, 12.187vw, 156px);
}
.sec04 .cont02 {
  flex-direction: row-reverse;
  margin-bottom: clamp(88px, 11.484vw, 147px);
}
.sec04 .cont02 .textbox {
  margin-left: clamp(29px, 3.906vw, 50px);
  position: relative;
}
.sec04 .cont02 .textbox::before {
  content: "";
  position: absolute;
  top: clamp(-60px, -4.687vw, -35px);
  left: clamp(-30px, -2.343vw, -17px);
  background: url(/images/index/point02.webp) center/contain no-repeat;
  width: clamp(112px, 14.609vw, 187px);
  height: clamp(80px, 10.546vw, 135px);
}
.sec04 .cont02 .textbox::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(-235px, -18.359vw, -140px);
  right: clamp(-30px, -2.343vw, -17px);
  background: url(/images/index/point02_image02.webp) center/contain no-repeat;
  width: clamp(398px, 51.953vw, 665px);
  height: clamp(274px, 35.703vw, 457px);
}
.sec04 .cont02 .textbox .cont_title {
  position: relative;
}
.sec04 .cont02 .textbox .cont_title::after {
  content: "";
  position: absolute;
  top: clamp(17px, 2.343vw, 30px);
  left: clamp(17px, 2.343vw, 30px);
  background: url(/images/index/point02_image03.webp) center/contain no-repeat;
  width: clamp(172px, 22.5vw, 288px);
  height: clamp(44px, 5.859vw, 75px);
}
.sec04 .cont02 .imagebox {
  position: relative;
}
.sec04 .cont02 .imagebox::before {
  content: "";
  position: absolute;
  top: clamp(-87px, -6.796vw, -52px);
  left: clamp(-30px, -2.343vw, -17px);
  background: url(/images/index/point02_image01.webp) center/contain no-repeat;
  width: clamp(184px, 23.984vw, 307px);
  height: clamp(184px, 23.984vw, 307px);
}
.sec04 .cont03 {
  margin-bottom: clamp(88px, 11.484vw, 147px);
}
.sec04 .cont03 .textbox {
  margin-right: clamp(29px, 3.906vw, 50px);
  position: relative;
}
.sec04 .cont03 .textbox .cont_text {
  margin-bottom: clamp(17px, 2.343vw, 30px);
}
.sec04 .cont03 .textbox::before {
  content: "";
  position: absolute;
  top: clamp(-60px, -4.687vw, -35px);
  left: clamp(-30px, -2.343vw, -17px);
  background: url(/images/index/point03.webp) center/contain no-repeat;
  width: clamp(103px, 13.515vw, 173px);
  height: clamp(80px, 10.546vw, 135px);
}
.sec04 .cont03 .imagebox {
  position: relative;
}
.sec04 .cont03 .imagebox::before {
  content: "";
  position: absolute;
  top: clamp(-45px, -3.515vw, -26px);
  left: 56%;
  transform: translateX(-50%);
  background: url(/images/index/point03_image01.webp) center/contain no-repeat;
  width: clamp(308px, 40.156vw, 514px);
  height: clamp(243px, 31.718vw, 406px);
}
.sec04 .cont03 .flexbox {
  justify-content: center;
}
.sec04 .cont03 .link_btn {
  padding-right: clamp(35px, 4.687vw, 60px);
  font-size: clamp(14px, 1.406vw, 18px);
  letter-spacing: 0.2em;
  color: #313f5e;
  position: relative;
}
.sec04 .cont03 .link_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: url(/images/index/sec04_blue_arrow.webp) center/contain no-repeat;
  width: clamp(27px, 3.593vw, 46px);
  height: clamp(27px, 3.593vw, 46px);
}
.sec04 .cont04 {
  flex-direction: row-reverse;
}
.sec04 .cont04 .textbox {
  margin-left: clamp(29px, 3.906vw, 50px);
  position: relative;
}
.sec04 .cont04 .textbox::before {
  content: "";
  position: absolute;
  top: clamp(-60px, -4.687vw, -35px);
  left: clamp(-30px, -2.343vw, -17px);
  background: url(/images/index/point04.webp) center/contain no-repeat;
  width: clamp(115px, 15vw, 192px);
  height: clamp(80px, 10.546vw, 135px);
}
.sec04 .cont04 .imagebox {
  position: relative;
}
.sec04 .cont04 .imagebox::before {
  content: "";
  position: absolute;
  top: clamp(-30px, -2.343vw, -17px);
  left: clamp(-90px, -7.031vw, -53px);
  background: url(/images/index/point04_image01.webp) center/contain no-repeat;
  width: clamp(293px, 38.203vw, 489px);
  height: clamp(33px, 4.375vw, 56px);
}
.sec04 .p_text {
  color: #ff9594;
}
.sec04 .pu_text {
  color: #b0729d;
}
.sec04 .b_text {
  color: #0071bc;
}
.sec04 .o_text {
  color: #ec9149;
}
@media screen and (max-width: 1074px) and (min-width: 768px) {
  .sec04 .cont01 .lower_box .flexbox_ad {
    display: block;
  }
  .sec04 .cont01 .lower_box .child {
    width: 491px;
    margin: 0 auto 40px;
    margin-right: auto;
    padding: 20px;
  }
  .sec04 .cont01 .lower_box .adult {
    width: 773px;
    max-width: 95%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .sec04 {
    overflow: hidden;
    padding-top: 5vw;
    width: 100%;
    margin: 0 auto 13.8vw;
  }
  .sec04 .sec_head {
    height: 58vw;
    padding: 21.25vw 5.5vw 0;
    position: relative;
  }
  .sec04 .sec_head::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    background: url(/images/index/sec04_head_bg_image_sp.webp) center top/contain no-repeat;
    width: 100vw;
    height: 58vw;
  }
  .sec04 .sec_head::after {
    content: "";
    position: absolute;
    top: -4.5vw;
    left: initial;
    right: 4vw;
    background: url(/images/index/text_feature_sp.webp) center/contain no-repeat;
    width: 60.5vw;
    height: 9.348vw;
  }
  .sec04 .sec_head .sec_title {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    font-size: 6vw;
    letter-spacing: 0.1em;
    line-height: 1.7;
    text-align: right;
    position: relative;
  }
  .sec04 .sec_head .sec_title::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 8vw;
    left: 40%;
    transform: translateX(-50%);
    background: url(/images/index/sec04_title_kazari01_sp.webp) center/contain no-repeat;
    width: 73.5vw;
    height: 3.963vw;
  }
  .sec04 .sec_head .g_text {
    color: #00a99d;
  }
  .sec04 .sec_head .p_title {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 8vw;
    letter-spacing: 0.05;
    color: #ff9594;
    text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  }
  .sec04 .textbox {
    width: initial;
    min-width: 100%;
    max-width: 100%;
  }
  .sec04 .textbox .cont_title {
    padding-left: 5.5vw;
    font-size: 6vw;
    letter-spacing: 0.1em;
    text-align: left;
  }
  .sec04 .textbox .cont_text {
    font-size: 4vw;
    padding: 0 5.5vw;
  }
  .sec04 .imagebox {
    width: 100vw;
    min-width: initial;
    max-width: 100%;
  }
  .sec04 .cont01 {
    display: block;
    margin-bottom: 20.7vw;
  }
  .sec04 .cont01 .upper_box {
    display: flex;
    margin-bottom: 13.8vw;
  }
  .sec04 .cont01 .upper_box .textbox {
    margin-right: initial;
    position: relative;
  }
  .sec04 .cont01 .upper_box .textbox .cont_title {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    padding-right: 4vw;
    margin-bottom: 7.2vw;
  }
  .sec04 .cont01 .upper_box .textbox::before {
    content: "";
    position: absolute;
    top: -5.5vw;
    left: 5.5vw;
    background: url(/images/index/point01.webp) center/contain no-repeat;
    width: 28vw;
    height: 21.797vw;
  }
  .sec04 .cont01 .upper_box .imagebox {
    position: relative;
  }
  .sec04 .cont01 .upper_box .imagebox::before {
    content: "";
    position: absolute;
    top: -3.75vw;
    left: 64%;
    transform: translateX(-50%);
    background: url(/images/index/text_cure_care_sp.webp) center/contain no-repeat;
    width: 68.5vw;
    height: 7.658vw;
  }
  .sec04 .cont01 .lower_box .flexbox_ad {
    display: block;
  }
  .sec04 .cont01 .lower_box .child {
    margin-right: initial;
    margin: 0 3.5vw 13.8vw;
    box-sizing: border-box;
    background-color: #e8beb7;
    border-radius: 7.5vw;
    padding: 7.5vw 5.5vw;
    display: flex;
    flex-direction: column;
    position: relative;
  }
  .sec04 .cont01 .lower_box .child .title {
    height: initial;
    font-size: 6vw;
    letter-spacing: 0.1em;
    margin-bottom: 6.25vw;
  }
  .sec04 .cont01 .lower_box .child .text {
    font-size: 3.75vw;
    letter-spacing: 0.01em;
    line-height: 1.8;
    flex-grow: 1;
    height: 7em;
  }
  .sec04 .cont01 .lower_box .child .flexbox {
    display: flex;
    justify-content: center;
  }
  .sec04 .cont01 .lower_box .child .flexbox .about_btn {
    min-width: 39.657vw;
    height: 3em;
    background-color: #f9f9f5;
    padding: 2.5vw 8.75vw 2.5vw 2.5vw;
    position: relative;
  }
  .sec04 .cont01 .lower_box .child .flexbox .about_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2.5vw;
    background: url(/images/index/sec04_child_arrow.webp) center/contain no-repeat;
    width: 3vw;
    height: 3vw;
  }
  .sec04 .cont01 .lower_box .child .flexbox .link:not(:last-of-type) .about_btn {
    margin-right: 0.8em;
  }
  .sec04 .cont01 .lower_box .child .child_kazari01 {
    position: absolute;
    top: -12.5vw;
    right: 10vw;
    width: 34vw;
    height: 31.75vw;
  }
  .sec04 .cont01 .lower_box .child .child_kazari01 img {
    width: 100%;
  }
  .sec04 .cont01 .lower_box .adult {
    margin: 0 3.5vw;
    box-sizing: border-box;
    background-color: #b1dad5;
    border-radius: 7.5vw;
    padding: 7.5vw 5.5vw;
    display: flex;
    flex-direction: column;
    position: relative;
  }
  .sec04 .cont01 .lower_box .adult .title {
    height: initial;
    font-size: 6vw;
    letter-spacing: 0.1em;
    line-height: 1.3;
    margin-bottom: 8.25vw;
  }
  .sec04 .cont01 .lower_box .adult .text {
    font-size: 3.75vw;
    letter-spacing: 0.01em;
    line-height: 1.8;
    margin-bottom: initial;
    flex-grow: 1;
    height: initial;
  }
  .sec04 .cont01 .lower_box .adult .for_adult {
    width: 100%;
    margin-right: initial;
    margin-bottom: 13.8vw;
  }
  .sec04 .cont01 .lower_box .adult .for_losttooth {
    width: 100%;
    margin-bottom: 8.75vw;
  }
  .sec04 .cont01 .lower_box .adult .flexbox .about_btn {
    min-width: 53.5vw;
    height: 3em;
    line-height: 1.1;
    text-align: center;
    background-color: #f9f9f5;
    padding: 2.5vw 8.75vw 2.5vw 2.5vw;
    position: relative;
  }
  .sec04 .cont01 .lower_box .adult .flexbox .about_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2.5vw;
    background: url(/images/index/sec04_adult_arrow.webp) center/contain no-repeat;
    width: 3vw;
    height: 3vw;
  }
  .sec04 .cont01 .lower_box .adult .flexbox .link:not(:last-of-type) .about_btn {
    margin-right: initial;
    margin-bottom: 2.4vw;
  }
  .sec04 .cont01 .lower_box .adult .adult_kazari01 {
    position: absolute;
    top: -7vw;
    left: initial;
    right: 7vw;
    width: 27.5vw;
    height: 27.031vw;
  }
  .sec04 .cont01 .lower_box .adult .adult_kazari01 img {
    width: 100%;
  }
  .sec04 .cont01 .lower_box .adult .adult_kazari02 {
    position: absolute;
    top: 46vw;
    right: 7vw;
    width: 25vw;
    height: 24.702vw;
  }
  .sec04 .cont01 .lower_box .adult .adult_kazari02 img {
    width: 100%;
  }
  .sec04 .cont02 {
    margin-bottom: 13.8vw;
  }
  .sec04 .cont02 .textbox {
    margin-left: initial;
    position: relative;
  }
  .sec04 .cont02 .textbox::before {
    content: "";
    position: absolute;
    top: -1.5vw;
    left: 5.5vw;
    background: url(/images/index/point02_sp.webp) center/contain no-repeat;
    width: 30.5vw;
    height: 21.932vw;
  }
  .sec04 .cont02 .textbox::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -32vw;
    right: 0;
    background: url(/images/index/point02_image02.webp) center/contain no-repeat;
    width: 100vw;
    height: 67.5vw;
  }
  .sec04 .cont02 .textbox .cont_title {
    margin-bottom: 5vw;
    position: relative;
  }
  .sec04 .cont02 .textbox .cont_title::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 11vw;
    left: 34vw;
    background: url(/images/index/point02_image03_sp.webp) center/contain no-repeat;
    width: 57.5vw;
    height: 14.845vw;
  }
  .sec04 .cont02 .imagebox {
    position: relative;
  }
  .sec04 .cont02 .imagebox::before {
    content: "";
    position: absolute;
    top: initial;
    bottom: -5vw;
    left: 2vw;
    background: url(/images/index/point02_image01.webp) center/contain no-repeat;
    width: 42.953vw;
    height: 42.953vw;
  }
  .sec04 .cont03 {
    margin-bottom: 13.8vw;
  }
  .sec04 .cont03 .textbox {
    margin-right: initial;
    position: relative;
  }
  .sec04 .cont03 .textbox .cont_text {
    margin-bottom: 7.5vw;
  }
  .sec04 .cont03 .textbox::before {
    content: "";
    position: absolute;
    top: -2vw;
    left: 5.5vw;
    background: url(/images/index/point03_sp.webp) center/contain no-repeat;
    width: 30.5vw;
    height: 22.154vw;
  }
  .sec04 .cont03 .imagebox {
    position: relative;
  }
  .sec04 .cont03 .imagebox::before {
    content: "";
    position: absolute;
    top: -9vw;
    left: 50%;
    transform: translateX(-50%);
    background: url(/images/index/point03_image01_sp.webp) center/contain no-repeat;
    width: 95.5vw;
    height: 78.397vw;
  }
  .sec04 .cont03 .flexbox {
    justify-content: center;
  }
  .sec04 .cont03 .link_btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding-right: 15vw;
    font-size: 4vw;
    letter-spacing: 0.2em;
    color: #313f5e;
    position: relative;
  }
  .sec04 .cont03 .link_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: url(/images/index/sec04_blue_arrow.webp) center/contain no-repeat;
    width: 10vw;
    height: 10vw;
  }
  .sec04 .cont04 .textbox {
    margin-left: initial;
    position: relative;
  }
  .sec04 .cont04 .textbox .cont_title {
    margin-bottom: 10.2vw;
  }
  .sec04 .cont04 .textbox::before {
    content: "";
    position: absolute;
    top: -1.5vw;
    left: 5.5vw;
    background: url(/images/index/point04_sp.webp) center/contain no-repeat;
    width: 31.5vw;
    height: 22.07vw;
  }
  .sec04 .cont04 .imagebox {
    position: relative;
  }
  .sec04 .cont04 .imagebox::before {
    content: "";
    position: absolute;
    top: -7vw;
    left: 1vw;
    background: url(/images/index/point04_image01_sp.webp) center/contain no-repeat;
    width: 95vw;
    height: 13.76vw;
  }
}

.sec05 {
  margin-bottom: clamp(59px, 7.812vw, 100px);
}
.sec05 .title {
  text-align: center;
  margin-bottom: clamp(5px, 0.781vw, 10px);
}
.sec05 .subtitle {
  font-size: clamp(14px, 1.875vw, 24px);
  letter-spacing: 0.1em;
  text-align: center;
  color: #ec9149;
  margin-bottom: clamp(24px, 3.125vw, 40px);
}
.sec05 .slider {
  width: 100%;
  margin-bottom: clamp(59px, 7.812vw, 100px);
  /*戻る、次へ矢印の位置*/
}
.sec05 .slider .slick-prev,
.sec05 .slider .slick-next {
  position: absolute; /*絶対配置にする*/
  z-index: 2;
  top: 40%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  border-top: 4px solid #534741; /*矢印の色*/
  border-right: 4px solid #534741; /*矢印の色*/
  height: 25px;
  width: 25px;
}
.sec05 .slider .slick-prev { /*戻る矢印の位置と形状*/
  left: 3%;
  transform: rotate(-135deg);
}
.sec05 .slider .slick-prev:before {
  display: none;
}
.sec05 .slider .slick-next { /*次へ矢印の位置と形状*/
  right: 3%;
  transform: rotate(45deg);
}
.sec05 .slider .slick-next:before {
  display: none;
}
.sec05 .slider .slide {
  width: clamp(300px, 39.062vw, 500px);
  margin-right: clamp(41px, 5.468vw, 70px);
}
.sec05 .slider .slide img {
  transform: scale(0.8);
  transition: transform 0.3s;
}
.sec05 .slider .slide.slick-center img {
  transform: scale(1);
}
.sec05 .environment {
  position: relative;
  z-index: 3;
  width: clamp(595px, 77.5vw, 992px);
  max-width: 100%;
  margin: clamp(-220px, -17.187vw, -131px) auto clamp(24px, 3.125vw, 40px);
}
.sec05 .environment img {
  width: 100%;
}
.sec05 .flexbox {
  justify-content: center;
}
.sec05 .link_btn {
  padding-right: clamp(35px, 4.687vw, 60px);
  font-size: clamp(14px, 1.406vw, 18px);
  letter-spacing: 0.2em;
  color: #ec9149;
  position: relative;
}
.sec05 .link_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: url(/images/index/sec05_arrow.webp) center/contain no-repeat;
  width: clamp(27px, 3.593vw, 46px);
  height: clamp(27px, 3.593vw, 46px);
}
@media screen and (max-width: 767px) {
  .sec05 {
    margin-bottom: 13.8vw;
  }
  .sec05 .title {
    width: 59vw;
    margin: 0 auto;
    margin-bottom: 2.5vw;
  }
  .sec05 .title img {
    width: 100%;
  }
  .sec05 .subtitle {
    font-size: 5vw;
    letter-spacing: 0.1em;
    margin-bottom: 6.25vw;
  }
  .sec05 .slider {
    width: 100%;
    margin-bottom: 100px;
    /*戻る、次へ矢印の位置*/
  }
  .sec05 .slider .slick-prev,
  .sec05 .slider .slick-next {
    position: absolute; /*絶対配置にする*/
    z-index: 2;
    top: 40%;
    cursor: pointer; /*マウスカーソルを指マークに*/
    outline: none; /*クリックをしたら出てくる枠線を消す*/
    border-top: 1vw solid #534741; /*矢印の色*/
    border-right: 1vw solid #534741; /*矢印の色*/
    height: 6.25vw;
    width: 6.25vw;
  }
  .sec05 .slider .slick-prev { /*戻る矢印の位置と形状*/
    left: 3%;
    transform: rotate(-135deg);
  }
  .sec05 .slider .slick-prev:before {
    display: none;
  }
  .sec05 .slider .slick-next { /*次へ矢印の位置と形状*/
    right: 3%;
    transform: rotate(45deg);
  }
  .sec05 .slider .slick-next:before {
    display: none;
  }
  .sec05 .slider .slide {
    width: 90vw;
    margin-right: 17.5vw;
  }
  .sec05 .slider .slide img {
    transform: scale(0.8);
    transition: transform 0.3s;
  }
  .sec05 .slider .slide.slick-center img {
    transform: scale(1);
  }
  .sec05 .environment {
    position: relative;
    z-index: 3;
    width: 87vw;
    max-width: 100%;
    margin: -31.25vw auto 8vw;
  }
  .sec05 .environment img {
    width: 100%;
  }
  .sec05 .flexbox {
    justify-content: center;
  }
  .sec05 .link_btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding-right: 15vw;
    font-size: 4vw;
    letter-spacing: 0.2em;
    position: relative;
  }
  .sec05 .link_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: url(/images/index/sec05_arrow.webp) center/contain no-repeat;
    width: 10vw;
    height: 10vw;
  }
}

.sec06 {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto clamp(48px, 6.25vw, 80px);
  padding: clamp(96px, 12.5vw, 160px) 0 0;
  position: relative;
}
.sec06 .sec_titile {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: clamp(17px, 2.343vw, 30px);
  letter-spacing: 0.1em;
  color: #534740;
  margin-bottom: clamp(20px, 2.734vw, 35px);
  position: relative;
}
.sec06 .sec_titile::before {
  content: "";
  position: absolute;
  top: clamp(-120px, -9.375vw, -72px);
  left: 50%;
  transform: translateX(-50%);
  background: url(/images/index/text_medical.webp) center/contain no-repeat;
  width: clamp(315px, 41.093vw, 526px);
  height: clamp(59px, 7.812vw, 100px);
}
.sec06 .sec_subtitile {
  font-size: clamp(14px, 1.562vw, 20px);
  letter-spacing: 0.1em;
  text-align: center;
  color: #534740;
  margin-bottom: clamp(50px, 6.64vw, 85px);
}
.sec06 .waku01 {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: clamp(341px, 44.531vw, 570px);
  height: clamp(175px, 22.812vw, 292px);
}
.sec06 .waku02 {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: clamp(217px, 28.281vw, 362px);
  height: clamp(158px, 20.625vw, 264px);
}
.sec06 .waku03 {
  position: absolute;
  z-index: -1;
  top: clamp(205px, 26.718vw, 342px);
  left: 0;
  width: clamp(193px, 25.156vw, 322px);
  height: clamp(242px, 31.64vw, 405px);
}
.sec06 .waku04 {
  position: absolute;
  z-index: -1;
  top: clamp(254px, 33.125vw, 424px);
  right: 0;
  width: clamp(308px, 40.156vw, 514px);
  height: clamp(191px, 24.921vw, 319px);
}
.sec06 .kazari01 {
  position: absolute;
  z-index: -1;
  top: clamp(110px, 14.453vw, 185px);
  left: clamp(83px, 10.937vw, 140px);
  width: clamp(92px, 12.031vw, 154px);
  height: clamp(79px, 10.312vw, 132px);
}
.sec06 .kazari02 {
  position: absolute;
  z-index: -1;
  top: clamp(82px, 10.703vw, 137px);
  right: clamp(89px, 11.718vw, 150px);
  width: clamp(142px, 18.515vw, 237px);
  height: clamp(159px, 20.781vw, 266px);
}
.sec06 .kazari03 {
  position: absolute;
  z-index: -1;
  top: clamp(233px, 30.468vw, 390px);
  right: clamp(38px, 5vw, 64px);
  width: clamp(168px, 21.875vw, 280px);
  height: clamp(198px, 25.859vw, 331px);
}
.sec06 .btn_flex {
  width: clamp(576px, 75vw, 960px);
  margin: 0 auto 20px 80px;
  display: flex;
  justify-content: flex-start;
  box-sizing: border-box;
}
.sec06 .btn_flex .link {
  width: clamp(128px, 16.718vw, 214px);
  height: clamp(35px, 4.687vw, 60px);
  box-sizing: border-box;
}
.sec06 .btn_flex .item {
  width: 100%;
  height: 100%;
  padding: clamp(5px, 0.781vw, 10px);
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  font-size: clamp(13px, 1.406vw, 18px);
  letter-spacing: 0.01em;
  line-height: 1.2;
  color: #fff;
  position: relative;
}
.sec06 .btn_flex .item::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(5px, 0.781vw, 10px);
  background: url(/images/index/sec06_arrow.webp) center/contain no-repeat;
  width: clamp(7px, 0.937vw, 12px);
  height: clamp(7px, 0.937vw, 12px);
}
.sec06 .btn_flex .link:not(:last-of-type) {
  margin-right: clamp(15px, 2.031vw, 26px);
}
.sec06 .btn_flex .p_item {
  background-color: #f18ea4;
}
.sec06 .btn_flex .o_item {
  background-color: #f9b168;
}
.sec06 .btn_flex .b_item {
  background-color: #75d0da;
}
.sec06 .btn_flex .g_item {
  background-color: #77bb8d;
}
.sec06 .medicalbox {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.sec06 .medicalbox .imagebox {
  width: 50%;
  min-width: 50%;
  max-width: 50%;
  box-sizing: border-box;
}
.sec06 .medicalbox .imagebox img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.sec06 .medicalbox .textbox {
  width: 50%;
  min-width: 50%;
  max-width: 50%;
  padding: clamp(24px, 3.125vw, 40px);
  box-sizing: border-box;
}
.sec06 .medicalbox .textbox .subtitle {
  font-size: clamp(14px, 1.875vw, 24px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(5px, 0.781vw, 10px);
}
.sec06 .medicalbox .textbox .title {
  font-size: clamp(20px, 2.656vw, 34px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(20px, 2.734vw, 35px);
}
.sec06 .medicalbox .textbox .text {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  margin-bottom: clamp(17px, 2.343vw, 30px);
}
.sec06 .medicalbox .textbox .flexbox {
  justify-content: flex-end;
}
.sec06 .medicalbox .textbox .flexbox .about_btn {
  min-width: clamp(107px, 14.062vw, 180px);
  min-height: clamp(26px, 3.515vw, 45px);
  padding: clamp(8px, 1.171vw, 15px) clamp(26px, 3.515vw, 45px) clamp(8px, 1.171vw, 15px) clamp(11px, 1.562vw, 20px);
  border-radius: initial;
  position: relative;
}
.sec06 .medicalbox .textbox .flexbox .about_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(5px, 0.781vw, 10px);
  background: url(/images/index/sec06_arrow.webp) center/contain no-repeat;
  width: clamp(7px, 0.937vw, 12px);
  height: clamp(7px, 0.937vw, 12px);
}
.sec06 .medicalbox .textbox .flexbox .link:not(:last-of-type) .about_btn {
  margin-right: 2em;
}
.sec06 .prevention_box {
  margin-top: clamp(86px, 11.328vw, 145px);
  margin-bottom: clamp(35px, 4.687vw, 60px);
  position: relative;
}
.sec06 .prevention_box::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: clamp(-13px, -1.015vw, -7px);
  right: clamp(24px, 3.125vw, 40px);
  background: url(/images/index/text_prevention.webp) center/contain no-repeat;
  width: clamp(202px, 26.406vw, 338px);
  height: clamp(17px, 2.343vw, 30px);
}
.sec06 .prevention_box .textbox {
  background: url(/images/index/prevention_bg_image.webp) center top/contain no-repeat;
  background-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.sec06 .prevention_box .subtitle, .sec06 .prevention_box .title {
  color: #00a99d;
}
.sec06 .prevention_box .flexbox .about_btn {
  color: #fff;
  background-color: #00a99d;
}
.sec06 .ortho_box {
  flex-direction: row-reverse;
  margin-bottom: clamp(35px, 4.687vw, 60px);
  position: relative;
}
.sec06 .ortho_box::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: clamp(-13px, -1.015vw, -7px);
  left: clamp(24px, 3.125vw, 40px);
  background: url(/images/index/text_ortho.webp) center/contain no-repeat;
  width: clamp(117px, 15.312vw, 196px);
  height: clamp(17px, 2.343vw, 30px);
}
.sec06 .ortho_box .textbox {
  background: url(/images/index/ortho_bg_image.webp) center top/contain no-repeat;
  background-size: 100%;
}
.sec06 .ortho_box .subtitle, .sec06 .ortho_box .title {
  color: #428cb7;
}
.sec06 .ortho_box .flexbox .about_btn {
  color: #fff;
  background-color: #428cb7;
}
.sec06 .prosthetics_box {
  position: relative;
}
.sec06 .prosthetics_box::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: clamp(-13px, -1.015vw, -7px);
  right: clamp(24px, 3.125vw, 40px);
  background: url(/images/index/text_prosthetics.webp) center/contain no-repeat;
  width: clamp(223px, 29.062vw, 372px);
  height: clamp(17px, 2.343vw, 30px);
}
.sec06 .prosthetics_box .textbox {
  background: url(/images/index/prosthetics_bg_image.webp) center top/contain no-repeat;
  background-size: 100%;
}
.sec06 .prosthetics_box .subtitle, .sec06 .prosthetics_box .title {
  color: #b0729d;
}
.sec06 .prosthetics_box .flexbox .about_btn {
  color: #fff;
  background-color: #b0729d;
}
@media screen and (max-width: 767px) {
  .sec06 {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 13.8vw;
    padding: 22.5vw 0 0;
    position: relative;
  }
  .sec06 .sec_titile {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 6vw;
    letter-spacing: 0.1em;
    margin-bottom: 7.5vw;
    position: relative;
  }
  .sec06 .sec_titile::before {
    content: "";
    position: absolute;
    top: -19vw;
    left: 39%;
    transform: translateX(-50%);
    background: url(/images/index/text_medical_sp.webp) center/contain no-repeat;
    width: 72.5vw;
    height: 15.195vw;
  }
  .sec06 .sec_subtitile {
    font-size: 4vw;
    letter-spacing: 0.1em;
    margin-bottom: 8.5vw;
  }
  .sec06 .waku01 {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 44.5vw;
    height: 23vw;
  }
  .sec06 .waku01 img {
    width: 100%;
  }
  .sec06 .waku02 {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 28.5vw;
    height: 20.75vw;
  }
  .sec06 .waku02 img {
    width: 100%;
  }
  .sec06 .waku03 {
    position: absolute;
    z-index: -1;
    top: 163vw;
    left: 0;
    width: 25vw;
    height: 31.5vw;
  }
  .sec06 .waku03 img {
    width: 100%;
  }
  .sec06 .waku04 {
    position: absolute;
    z-index: -1;
    top: 169.5vw;
    right: 0;
    width: 40vw;
    height: 24.75vw;
  }
  .sec06 .waku04 img {
    width: 100%;
  }
  .sec06 .kazari01 {
    position: absolute;
    z-index: -1;
    top: 21.75vw;
    left: 7vw;
    width: 17vw;
    height: 14.569vw;
  }
  .sec06 .kazari01 img {
    width: 100%;
  }
  .sec06 .kazari02 {
    position: absolute;
    z-index: -1;
    top: 20vw;
    right: 4.25vw;
    width: 37.5vw;
    height: 43.865vw;
  }
  .sec06 .kazari02 img {
    width: 100%;
  }
  .sec06 .kazari03 {
    position: absolute;
    z-index: -1;
    top: 161.5vw;
    right: 7.875vw;
    width: 87.5vw;
    height: 29.8vw;
  }
  .sec06 .kazari03 img {
    width: 100%;
  }
  .sec06 .btn_flex {
    width: 95vw;
    margin: 0 auto 3vw;
    display: flex;
    justify-content: flex-start;
    box-sizing: border-box;
  }
  .sec06 .btn_flex .link {
    width: 45vw;
    height: 12.616vw;
    box-sizing: border-box;
  }
  .sec06 .btn_flex .item {
    width: 100%;
    height: 100%;
    padding: 2.5vw;
    font-size: 4vw;
    letter-spacing: 0.01em;
    position: relative;
  }
  .sec06 .btn_flex .item::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2.5vw;
    background: url(/images/index/sec06_arrow.webp) center/contain no-repeat;
    width: 3vw;
    height: 3vw;
  }
  .sec06 .btn_flex .link:not(:last-of-type) {
    margin-right: 2.2vw;
  }
  .sec06 .btn_flex .p_item {
    background-color: #f18ea4;
  }
  .sec06 .btn_flex .o_item {
    background-color: #f9b168;
  }
  .sec06 .btn_flex .b_item {
    background-color: #75d0da;
  }
  .sec06 .btn_flex .g_item {
    background-color: #77bb8d;
  }
  .sec06 .btn_flex:nth-of-type(1),
  .sec06 .btn_flex:nth-of-type(2),
  .sec06 .btn_flex:nth-of-type(4) {
    margin-right: 2vw;
  }
  .sec06 .btn_flex:nth-of-type(3) {
    flex-wrap: wrap;
  }
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(1),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(2),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(3),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(4),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(5),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(6),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(7),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(8),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(9),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(10) {
    margin-bottom: 3vw;
  }
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(6),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(8),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(10),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(12),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(14),
  .sec06 .btn_flex:nth-of-type(3) .link:nth-of-type(16) {
    margin-right: initial;
  }
  .sec06 .medicalbox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .sec06 .medicalbox .imagebox {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .sec06 .medicalbox .imagebox img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .sec06 .medicalbox .textbox {
    width: 100%;
    height: initial;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .sec06 .medicalbox .textbox .subtitle {
    font-size: 4.5vw;
    letter-spacing: 0.1em;
    margin-bottom: 2.5vw;
  }
  .sec06 .medicalbox .textbox .title {
    font-size: 7.5vw;
    letter-spacing: 0.08em;
    margin-bottom: 6vw;
  }
  .sec06 .medicalbox .textbox .text {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-bottom: 7.5vw;
  }
  .sec06 .medicalbox .textbox .flexbox {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .sec06 .medicalbox .textbox .flexbox .about_btn {
    width: 65vw;
    min-width: initial;
    min-height: 12.718vw;
    position: relative;
  }
  .sec06 .medicalbox .textbox .flexbox .about_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2.5vw;
    background: url(/images/index/sec06_arrow.webp) center/contain no-repeat;
    width: 3vw;
    height: 3vw;
  }
  .sec06 .medicalbox .textbox .flexbox .link:not(:last-of-type) .about_btn {
    margin-right: initial;
    margin-bottom: 4.2vw;
  }
  .sec06 .prevention_box {
    margin-top: 52.5vw;
    margin-bottom: 13.8vw;
    position: relative;
  }
  .sec06 .prevention_box::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: -3.75vw;
    right: 4vw;
    background: url(/images/index/text_prevention_sp.webp) center/contain no-repeat;
    width: 66vw;
    height: 5.699vw;
  }
  .sec06 .prevention_box .textbox {
    background: url(/images/index/prevention_bg_image_sp.webp) center/contain no-repeat;
    background-size: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .sec06 .ortho_box {
    margin-bottom: 13.8vw;
    position: relative;
  }
  .sec06 .ortho_box::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: -3.75vw;
    left: initial;
    right: 4vw;
    background: url(/images/index/text_ortho_sp.webp) center/contain no-repeat;
    width: 39vw;
    height: 5.964vw;
  }
  .sec06 .ortho_box .textbox {
    background: url(/images/index/ortho_bg_image_sp.webp) center/contain no-repeat;
    background-size: 100%;
  }
  .sec06 .prosthetics_box {
    position: relative;
  }
  .sec06 .prosthetics_box::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: -3.75vw;
    right: 4vw;
    background: url(/images/index/text_prosthetics_sp.webp) center/contain no-repeat;
    width: 71.5vw;
    height: 6.051vw;
  }
  .sec06 .prosthetics_box .textbox {
    background: url(/images/index/prosthetics_bg_image_sp.webp) center/contain no-repeat;
    background-size: 100%;
  }
}

.sec07 {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto clamp(59px, 7.812vw, 100px);
  padding-top: clamp(120px, 15.625vw, 200px);
  position: relative;
}
.sec07::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  background: url(/images/index/sec07_bg_image.webp) center/contain no-repeat;
  width: clamp(376px, 48.984vw, 627px);
  height: clamp(274px, 35.703vw, 457px);
}
.sec07 .sec_titile {
  width: 1160px;
  max-width: 100%;
  margin: 0 auto;
  font-size: clamp(17px, 2.343vw, 30px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(35.9px, 4.687vw, 60px);
  position: relative;
}
.sec07 .sec_titile::before {
  content: "";
  position: absolute;
  top: clamp(-85px, -6.64vw, -50px);
  left: 0;
  background: url(/images/index/text_greeting.webp) center/contain no-repeat;
  width: clamp(307px, 40vw, 512px);
  height: clamp(41px, 5.39vw, 69px);
}
.sec07 .cont01 {
  align-items: center;
  position: relative;
  justify-content: center;
  margin-bottom: clamp(83px, 10.937vw, 140px);
  box-sizing: border-box;
}
.sec07 .cont01 .imagebox {
  max-width: initial;
  min-width: initial;
  position: absolute;
  z-index: -1;
  top: 0;
  left: clamp(19px, 2.5vw, 32px);
  width: clamp(237px, 30.937vw, 396px);
  height: clamp(242px, 31.562vw, 404px);
}
.sec07 .cont01 .imagebox .name {
  font-size: clamp(10px, 1.406vw, 18px);
  letter-spacing: 0.1em;
  text-align: center;
  color: #534740;
}
.sec07 .cont01 .imagebox .name span {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  color: #534740;
}
.sec07 .cont01 .imagebox .rubi {
  font-size: clamp(21px, 2.812vw, 36px);
  font-weight: 300;
  letter-spacing: 0.2em;
  text-align: center;
  color: rgba(255, 123, 121, 0.4);
}
.sec07 .cont01 .textbox {
  margin-left: auto;
  width: 70%;
  max-width: 70%;
  min-width: 70%;
}
.sec07 .cont01 .textbox .cont_title {
  font-size: clamp(19px, 2.5vw, 32px);
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #534740;
}
.sec07 .cont01 .textbox .cont_text {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  color: #333;
  margin-bottom: clamp(24px, 3.125vw, 40px);
}
.sec07 .cont01 .textbox .flexbox {
  justify-content: center;
}
.sec07 .cont01 .textbox .link_btn {
  padding-right: clamp(35px, 4.687vw, 60px);
  font-size: clamp(14px, 1.562vw, 20px);
  letter-spacing: 0.2em;
  color: #ffa2a1;
  position: relative;
}
.sec07 .cont01 .textbox .link_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: url(/images/index/sec07_arrow.webp) center/contain no-repeat;
  width: clamp(27px, 3.593vw, 46px);
  height: clamp(27px, 3.593vw, 46px);
}
.sec07 .career_box {
  width: 1090px;
  max-width: 96%;
  margin: 0 auto;
  padding: 30px 10px;
  border-top: 0.75px solid #dd868f;
  border-bottom: 0.75px solid #dd868f;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.sec07 .career_box .flexbox {
  width: 900px;
  max-width: 100%;
  margin: 0 auto;
  align-items: flex-start;
  box-sizing: border-box;
}
.sec07 .career_box .title {
  font-size: clamp(10px, 1.406vw, 18px);
  letter-spacing: 0.1em;
  color: #534740;
  margin-bottom: clamp(14px, 1.953vw, 25px);
}
.sec07 .career_box .career {
  margin-right: clamp(48px, 6.25vw, 80px);
}
.sec07 .career_box .career .item {
  display: flex;
  justify-content: flex-start;
  margin-bottom: clamp(11px, 1.562vw, 20px);
}
.sec07 .career_box .career .date {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  margin-right: 2em;
}
.sec07 .career_box .career .data {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.03em;
}
.sec07 .career_box .gakkai {
  margin-right: clamp(48px, 6.25vw, 80px);
}
.sec07 .career_box .gakkai .item {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(8px, 1.171vw, 15px);
}
.sec07 .career_box .licence .item {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(8px, 1.171vw, 15px);
}
@media screen and (max-width: 854px) and (min-width: 768px) {
  .sec07 .cont01 .textbox {
    margin-left: auto;
    width: 68%;
    max-width: 68%;
    min-width: 68%;
  }
}
@media screen and (max-width: 767px) {
  .sec07 {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 20.7vw;
    padding-top: 0;
    position: relative;
  }
  .sec07::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    background: url(/images/index/sec07_bg_image_sp.webp) center/contain no-repeat;
    width: 100%;
    height: 70.7vw;
  }
  .sec07 .sec_titile {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 20vw 5.5vw 0;
    font-size: 4.5vw;
    letter-spacing: 0.1em;
    margin-bottom: 20vw;
    box-sizing: border-box;
    position: relative;
  }
  .sec07 .sec_titile::before {
    content: "";
    position: absolute;
    top: 7vw;
    left: 6vw;
    background: url(/images/index/text_greeting_sp.webp) center/contain no-repeat;
    width: 69vw;
    height: 9.3vw;
  }
  .sec07 .cont01 {
    align-items: center;
    position: relative;
    justify-content: center;
    margin-bottom: 13.8vw;
    box-sizing: border-box;
  }
  .sec07 .cont01 .imagebox {
    max-width: initial;
    min-width: initial;
    position: initial;
    z-index: initial;
    top: initial;
    left: initial;
    width: 100%;
    height: 100%;
    position: relative;
  }
  .sec07 .cont01 .imagebox .cont_image {
    width: 67.5vw;
    margin: initial;
    margin-right: auto;
  }
  .sec07 .cont01 .imagebox .name {
    position: absolute;
    top: 47.5vw;
    right: 0;
    font-size: 4.5vw;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .sec07 .cont01 .imagebox .name span {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
  }
  .sec07 .cont01 .imagebox .rubi {
    position: absolute;
    top: 55vw;
    right: 0;
    font-size: 9vw;
    font-weight: 300;
    letter-spacing: 0.2em;
    text-align: center;
    color: rgba(255, 123, 121, 0.71);
  }
  .sec07 .cont01 .textbox {
    margin-left: initial;
    padding: 0 5.5vw;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .sec07 .cont01 .textbox .cont_title {
    font-size: 6vw;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-align: center;
  }
  .sec07 .cont01 .textbox .cont_text {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
    margin-bottom: 10vw;
  }
  .sec07 .cont01 .textbox .flexbox {
    justify-content: center;
  }
  .sec07 .cont01 .textbox .link_btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding-right: 15vw;
    font-size: 4vw;
    letter-spacing: 0.2em;
    color: #ffa2a1;
    position: relative;
  }
  .sec07 .cont01 .textbox .link_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: url(/images/index/sec07_arrow.webp) center/contain no-repeat;
    width: 10vw;
    height: 10vw;
  }
  .sec07 .career_box {
    width: initial;
    max-width: initial;
    margin: 0 5.5vw;
    padding: 7.5vw 5.5vw;
    border-top: 0.75px solid #dd868f;
    border-bottom: 0.75px solid #dd868f;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  .sec07 .career_box .flexbox {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    align-items: flex-start;
    box-sizing: border-box;
  }
  .sec07 .career_box .title {
    font-size: 4.5vw;
    letter-spacing: 0.1em;
    margin-bottom: 2vw;
  }
  .sec07 .career_box .career {
    margin-right: initial;
    margin-bottom: 6vw;
  }
  .sec07 .career_box .career .item {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 3.75vw;
  }
  .sec07 .career_box .career .date {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
  }
  .sec07 .career_box .career .data {
    font-size: 3.75vw;
    letter-spacing: 0.03em;
  }
  .sec07 .career_box .gakkai {
    margin-right: initial;
    margin-bottom: 6vw;
  }
  .sec07 .career_box .gakkai .item {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    margin-bottom: 3.75vw;
  }
  .sec07 .career_box .licence .item {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    margin-bottom: 3.75vw;
  }
}

.sec08 {
  width: 100%;
  max-width: 1280px;
  height: 432px;
  margin: 0 auto 100px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
}
.sec08 .imagebox {
  min-width: initial;
  max-width: initial;
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  background: url(/images/index/sec08_image01.webp) left top/contain no-repeat;
  width: clamp(449px, 58.515vw, 749px);
  height: clamp(204px, 26.64vw, 341px);
}
.sec08 .text_image {
  position: absolute;
  top: clamp(14px, 1.953vw, 25px);
  left: clamp(14px, 1.953vw, 25px);
  width: clamp(280px, 36.562vw, 468px);
  height: clamp(26px, 3.515vw, 45px);
}
.sec08 .textbox {
  margin-left: auto;
  position: relative;
  z-index: 3;
  width: clamp(408px, 53.125vw, 680px);
  padding: 35px 20px 35px 50px;
  background-color: rgba(57, 150, 117, 0.3);
  box-sizing: border-box;
  position: relative;
}
.sec08 .textbox .title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(20.4px, 2.656vw, 34px);
  letter-spacing: 0.15em;
  color: #754c27;
}
.sec08 .textbox .kind {
  margin-left: auto;
  font-size: clamp(13px, 1.796vw, 23px);
  text-align: right;
  color: #00a99d;
  margin-bottom: clamp(5px, 0.781vw, 10px);
}
.sec08 .textbox .text {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  margin-bottom: clamp(24px, 3.125vw, 40px);
}
.sec08 .textbox .link {
  position: absolute;
  bottom: clamp(-55px, -4.296vw, -32px);
  right: clamp(17px, 2.343vw, 30px);
  width: clamp(90px, 11.718vw, 150px);
  height: clamp(90px, 11.718vw, 150px);
}
@media screen and (max-width: 767px) {
  .sec08 {
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin: 0 auto 13.8vw;
    padding-top: 28vw;
    display: block;
    position: relative;
  }
  .sec08 .imagebox {
    min-width: initial;
    max-width: initial;
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(/images/index/sec08_image01_sp.webp) center/contain no-repeat;
    width: 90vw;
    height: 35.5vw;
  }
  .sec08 .text_image {
    position: absolute;
    top: -4vw;
    left: -2vw;
    width: 75vw;
    height: 7.102vw;
  }
  .sec08 .textbox {
    margin-left: auto;
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 10vw 5.5vw 5.5vw;
    box-sizing: border-box;
    position: relative;
  }
  .sec08 .textbox .title {
    font-size: 6vw;
    letter-spacing: 0.04em;
    margin-bottom: 4.2vw;
  }
  .sec08 .textbox .kind {
    margin-left: initial;
    font-size: 4.5vw;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 4.2vw;
  }
  .sec08 .textbox .text {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-bottom: 10vw;
  }
  .sec08 .textbox .link {
    position: absolute;
    bottom: -13.75vw;
    right: 5.5vw;
    width: 30vw;
    height: 30vw;
  }
}/*# sourceMappingURL=style01.css.map */