@charset "UTF-8";
/* ラップ
-----------------------------------*/
#wrapper {
  width: 100%;
}
@media screen and (min-width: 641px) {
  #wrapper {
    min-width: 1024px;
  }
}

.main_content {
  width: 100%;
}
.main_content * {
  font-family: "Noto Sans JP", sans-serif;
}
.main_content *, .main_content *:before, .main_content *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.main_content .en {
  font-family: "Montserrat", sans-serif;
}
.main_content .l_inner {
  width: 100%;
  max-width: clamp(900px, 81.0810810811vw, 1500px);
  margin: 0 auto;
}
.main_content .l_ttl {
  font-size: clamp(27px, 2.4324324324vw, 45px);
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1;
  text-align: center;
  margin: 0;
  position: relative;
}
.main_content .l_ttl span {
  position: relative;
  z-index: 2;
}
.main_content .l_ttl:after {
  content: "";
  width: 100%;
  height: clamp(94.5px, 8.5135135135vw, 157.5px);
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.main_content .l_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.main_content h2,
.main_content h3 {
  margin: 0;
}

@media screen and (max-width: 640px) {
  .main_content .l_inner {
    width: 100%;
  }
  .main_content .l_ttl {
    font-size: 6.4vw;
    line-height: 1.3333333333;
  }
  .main_content .l_ttl:after {
    height: 39.4666666667vw;
  }
}
#fixed_btn {
  position: fixed;
  bottom: 10%;
  right: 0;
  z-index: 100;
}
#fixed_btn a {
  width: 220px;
  height: 89px;
  color: #FFF;
  background: #2D832A;
  border: 3px solid #FFFFFF;
  border-right: none;
  border-radius: 60px 0 0 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 90px;
  position: relative;
}
#fixed_btn a:before {
  content: "";
  width: 43px;
  height: 38px;
  background: url(../images/medilia/cta_icon.svg) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 35px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
#fixed_btn a:hover {
  text-decoration: none;
  opacity: 0.8;
}
#fixed_btn a p {
  font-weight: 700;
  font-size: 22px;
  line-height: 1;
}
#fixed_btn a p span {
  font-size: 16px;
  font-weight: 700;
  display: block;
}

@media screen and (max-width: 640px) {
  #fixed_btn {
    bottom: 0;
  }
  #fixed_btn a {
    width: 33.3333333333vw;
    height: 12vw;
    border-width: 0.8vw;
    border-radius: 2.6666666667vw 0 0 0;
    padding-left: 14.9333333333vw;
  }
  #fixed_btn a:before {
    width: 7.7333333333vw;
    height: 6.6666666667vw;
    left: 5.3333333333vw;
  }
  #fixed_btn a p {
    font-size: 3.4666666667vw;
  }
  #fixed_btn a p span {
    font-size: 2.6666666667vw;
  }
}
#mv {
  background: url(../images/medilia/bg_mv_mark.png) center 15px no-repeat #F4F4F4;
  background-size: 104.2567567568vw auto;
  height: 53.5135135135vw;
  position: relative;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#mv.is-show {
  opacity: 1;
}
#mv .l_inner {
  position: relative;
}
#mv .mv_txt {
  padding-top: 9.7972972973vw;
}
#mv .mv_txt01 {
  font-weight: 700;
  font-size: 1.6216216216vw;
  letter-spacing: 0.07em;
}
#mv .mv_txt02 {
  color: #EC6E83;
  font-size: 1.5540540541vw;
  letter-spacing: 0.07em;
  line-height: 1.6956521739;
  font-weight: 600;
}
#mv .mv_txt02 span {
  font-weight: 200;
}
#mv .mv_txt03 {
  font-weight: 600;
  font-size: 1.0810810811vw;
  letter-spacing: 0.07em;
  line-height: 2;
}
#mv .mv_txt03 span {
  font-weight: 700;
  font-size: 1.6216216216vw;
}
#mv .mv_txt03 + .mv_txt03 {
  margin-top: -0.5em;
}
#mv .mv_txt04 {
  margin-top: 2.3648648649vw;
  margin-bottom: 2.3648648649vw;
  width: 31.6216216216vw;
  display: block;
}
#mv .mv_txt04 img {
  width: 100%;
  height: auto;
}
#mv .mv_txt05 {
  width: 19.7297297297vw;
  display: block;
}
#mv .mv_txt05 img {
  width: 100%;
  height: auto;
}
#mv .mv_txt06 {
  margin-top: 1.3513513514vw;
  width: 31.6891891892vw;
  display: block;
}
#mv .mv_txt06 img {
  width: 100%;
  height: auto;
}
#mv .mv_slide {
  position: absolute;
  width: 134.8648648649vw;
  top: 0;
  left: -9.4594594595vw;
  overflow: hidden;
  padding-top: 3.3783783784vw;
  padding-bottom: 2.7027027027vw;
}
#mv .mv_slide .swiper {
  overflow: initial;
  cursor: default !important;
}
#mv .mv_slide .swiper-slide {
  padding-left: 2.8378378378vw;
  padding-bottom: 2.8378378378vw;
  width: 43.2432432432vw;
  height: 45.4054054054vw;
  margin: 0 1.7567567568vw;
  -webkit-transform: translateY(-42.7027027027vw);
          transform: translateY(-42.7027027027vw);
  cursor: default;
}
#mv .mv_slide .swiper-slide-active .mv_slide_txt {
  opacity: 1;
}
#mv .mv_slide .swiper-slide-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
#mv .mv_slide .swiper-slide-next {
  -webkit-transform: translateY(-13.5135135135vw);
          transform: translateY(-13.5135135135vw);
}
#mv .mv_slide .mv_slidie_photo {
  width: 42.5675675676vw;
  height: auto;
}
#mv .mv_slide .mv_slide_txt {
  width: 19.1216216216vw;
  height: auto;
  position: absolute;
  bottom: -2.7027027027vw;
  left: 0;
  opacity: 0;
}

@media screen and (min-width: 641px) {
  #mv .mv_slide .swiper-slide {
    -webkit-transition: -webkit-transform 1s ease;
    transition: -webkit-transform 1s ease;
    transition: transform 1s ease;
    transition: transform 1s ease, -webkit-transform 1s ease;
  }
}
@media screen and (max-width: 640px) {
  #mv {
    background: url(../images/medilia/bg_mv_mark_sp.png) center 5.3333333333vw no-repeat #F4F4F4;
    background-size: 100% auto;
    height: auto;
  }
  #mv .mv_txt {
    padding: 5.3333333333vw 3.7333333333vw 0;
  }
  #mv .mv_txt01 {
    font-size: 4.2666666667vw;
    letter-spacing: 0.07em;
  }
  #mv .mv_txt02 {
    font-size: 3.7333333333vw;
    letter-spacing: 0.07em;
  }
  #mv .mv_txt02 span {
    font-size: 3.7333333333vw;
  }
  #mv .mv_txt03 {
    font-size: 3.2vw;
  }
  #mv .mv_txt04 {
    margin-top: 4.8vw;
    margin-bottom: 4.8vw;
    width: 80.5333333333vw;
  }
  #mv .mv_txt05 {
    width: 53.3333333333vw;
  }
  #mv .mv_txt06 {
    margin-top: 3.2vw;
    width: 65.8666666667vw;
  }
  #mv .mv_slide {
    position: static;
    width: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    padding-top: 10.1333333333vw;
    padding-bottom: 28.8vw;
  }
  #mv .mv_slide .swiper-slide {
    width: 83.7333333333vw;
    height: 89.3333333333vw;
    margin: 0 2.1333333333vw;
    padding: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  #mv .mv_slide .swiper-slide-next {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  #mv .mv_slide .mv_slidie_photo {
    width: 83.7333333333vw;
    height: auto;
  }
  #mv .mv_slide .mv_slide_txt {
    width: 36.2666666667vw;
    bottom: -16vw;
    left: 4vw;
  }
}
#problems {
  background: #F4F4F4;
  border-radius: 0 0 70px 70px;
  padding-top: clamp(135px, 12.1621621622vw, 225px);
  padding-bottom: 200px;
  position: relative;
}
#problems:after {
  content: "";
  width: clamp(221.25px, 19.9324324324vw, 368.75px);
  height: clamp(153.75px, 13.8513513514vw, 256.25px);
  background: url(../images/medilia/problems_arrow.svg) center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  bottom: clamp(-37.5px, -3.3783783784vw, -62.5px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#problems .l_ttl {
  margin-bottom: clamp(81px, 7.2972972973vw, 135px);
}
#problems .l_ttl:after {
  background: url(../images/medilia/bg_problems.svg) center center no-repeat;
  background-size: auto 100%;
}
#problems .problems_inner {
  margin-left: clamp(-15px, -1.3513513514vw, -25px);
}
#problems .problems_item {
  width: calc(20% - clamp(15px, 1.3513513514vw, 25px));
  margin-left: clamp(15px, 1.3513513514vw, 25px);
  position: relative;
  background: #fff;
  border-radius: 10px;
  padding-top: clamp(37.5px, 3.3783783784vw, 62.5px);
  padding-bottom: clamp(42px, 3.7837837838vw, 70px);
}
#problems .problems_item .ex_mark {
  width: clamp(61.5px, 5.5405405405vw, 102.5px);
  height: clamp(61.5px, 5.5405405405vw, 102.5px);
  border-radius: 50%;
  border: 10px solid #F4F4F4;
  background: #5EC6A7;
  color: #fff;
  font-size: clamp(27.75px, 2.5vw, 46.25px);
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#problems .problems_item .problems_item_icon {
  height: clamp(87px, 7.8378378378vw, 145px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#problems .problems_item .problems_item_txt {
  height: 116px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
#problems .problems_item .problems_item_txt p {
  letter-spacing: 0.1em;
  line-height: 1.7272727273;
  font-size: clamp(16.5px, 1.4864864865vw, 27.5px);
  font-weight: 600;
}
#problems .problems_item .problems_item_txt p span {
  font-size: clamp(21px, 1.8918918919vw, 35px);
  color: #EC6E83;
  border-bottom: 2px dotted #EC6E83;
}

@media screen and (max-width: 640px) {
  #problems {
    border-radius: 0 0 8vw 8vw;
    padding-top: 12.8vw;
    padding-bottom: 34.1333333333vw;
  }
  #problems:after {
    width: 44.2666666667vw;
    height: 36.8vw;
    background: url(../images/medilia/problems_arrow_sp.svg) center center no-repeat;
    background-size: 100% auto;
    bottom: -6.6666666667vw;
  }
  #problems .l_ttl {
    margin-bottom: 12.8vw;
  }
  #problems .l_ttl:after {
    background: url(../images/medilia/bg_problems_sp.svg) center center no-repeat;
    background-size: auto 100%;
  }
  #problems .problems_inner {
    padding: 0 4vw;
    margin-left: 0;
    margin-top: 9.3333333333vw;
  }
  #problems .problems_item {
    width: calc(50% - 1.7333333333vw);
    margin-top: 9.3333333333vw;
    margin-left: 0;
    border-radius: 2.1333333333vw;
    padding-top: 5.6vw;
    padding-bottom: 5.3333333333vw;
  }
  #problems .problems_item:nth-of-type(2n) {
    margin-left: auto;
  }
  #problems .problems_item .ex_mark {
    width: 13.8666666667vw;
    height: 13.8666666667vw;
    border: 1.7333333333vw solid #F4F4F4;
    font-size: 6.1333333333vw;
  }
  #problems .problems_item .problems_item_icon {
    height: 27.2vw;
  }
  #problems .problems_item .problems_item_icon img {
    height: auto;
  }
  #problems .problems_item .problems_item_icon .problems_icon01 {
    width: 16.2666666667vw;
  }
  #problems .problems_item .problems_item_icon .problems_icon02 {
    width: 17.0666666667vw;
  }
  #problems .problems_item .problems_item_icon .problems_icon03 {
    width: 18.6666666667vw;
  }
  #problems .problems_item .problems_item_icon .problems_icon04 {
    width: 20.2666666667vw;
  }
  #problems .problems_item .problems_item_icon .problems_icon05 {
    width: 17.0666666667vw;
  }
  #problems .problems_item .problems_item_txt {
    height: 18.1333333333vw;
  }
  #problems .problems_item .problems_item_txt p {
    letter-spacing: 0.08em;
    font-size: 4vw;
  }
  #problems .problems_item .problems_item_txt p span {
    font-size: 4.8vw;
  }
  #problems .problems_item:last-of-type {
    margin-left: auto;
    margin-right: auto;
  }
}
#solve {
  padding-top: 130px;
  padding-bottom: 100px;
}
#solve .solve_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#solve h2 {
  font-size: clamp(31.5px, 2.8378378378vw, 52.5px);
  letter-spacing: 0.05em;
  font-weight: 800;
  margin-bottom: clamp(60px, 5.4054054054vw, 100px);
  text-align: center;
}
#solve h2 img {
  width: clamp(282.75px, 25.472972973vw, 471.25px);
  height: auto;
  margin-right: clamp(15px, 1.3513513514vw, 25px);
}
#solve .solve_txt {
  width: clamp(435px, 39.1891891892vw, 725px);
  padding-top: clamp(15px, 1.3513513514vw, 25px);
}
#solve .solve_txt h3 {
  font-size: clamp(24px, 2.1621621622vw, 40px);
  font-weight: 700;
  line-height: 1.65625;
  letter-spacing: 0.09em;
  margin-bottom: clamp(22.5px, 2.027027027vw, 37.5px);
}
#solve .solve_txt h3 span {
  color: #EC6E83;
  border-bottom: 2px dotted #EC6E83;
}
#solve .solve_txt p {
  font-size: clamp(13.5px, 1.2162162162vw, 22.5px);
  line-height: 2.2222222222;
  letter-spacing: 0.05em;
  font-weight: 700;
}
#solve .solve_pic {
  width: clamp(450px, 40.5405405405vw, 750px);
  margin-left: auto;
}
#solve .solve_pic img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 640px) {
  #solve {
    padding: 17.8666666667vw 4vw 17.3333333333vw;
  }
  #solve h2 {
    font-size: 6.4vw;
    margin-bottom: 12.2666666667vw;
  }
  #solve h2 img {
    width: 57.8666666667vw;
    height: auto;
    margin-right: auto;
    margin-left: auto;
  }
  #solve .solve_txt {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    padding-top: 9.6vw;
  }
  #solve .solve_txt h3 {
    font-size: 5.3333333333vw;
    line-height: 1.55;
    margin-bottom: 5.3333333333vw;
  }
  #solve .solve_txt p {
    font-size: 3.7333333333vw;
    line-height: 2;
  }
  #solve .solve_pic {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 81.8666666667vw;
    margin-left: auto;
    margin-right: auto;
  }
}
#reason {
  border-radius: 70px;
  background: #9ADAC7;
  padding-top: clamp(90px, 8.1081081081vw, 150px);
  padding-bottom: clamp(67.5px, 6.0810810811vw, 112.5px);
  position: relative;
  z-index: 2;
  margin-bottom: clamp(210px, 18.9189189189vw, 350px);
}
#reason:before {
  content: "";
  width: 100%;
  height: clamp(94.5px, 8.5135135135vw, 157.5px);
  position: absolute;
  z-index: 1;
  background: url(../images/medilia/bg_reason.svg) center center no-repeat;
  background-size: auto 100%;
  left: 0;
  top: clamp(58.5px, 5.2702702703vw, 97.5px);
}
#reason:after {
  content: "";
  width: clamp(1099.5px, 99.0540540541vw, 1832.5px);
  height: clamp(415.5px, 37.4324324324vw, 692.5px);
  background: url(../images/medilia/bg_reason_mark.png) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  z-index: 1;
  bottom: clamp(96px, 8.6486486486vw, 160px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  pointer-events: none;
}
#reason .l_ttl {
  color: #fff;
  line-height: 1.7222222222;
  margin-bottom: clamp(67.5px, 6.0810810811vw, 112.5px);
}
#reason .reason_inner {
  margin-left: clamp(-33.75px, -3.0405405405vw, -56.25px);
}
#reason .reason_item {
  width: calc(33.333% - clamp(33.75px, 3.0405405405vw, 56.25px));
  margin-left: clamp(33.75px, 3.0405405405vw, 56.25px);
  position: relative;
}
#reason .reason_item .reason_circle {
  position: absolute;
  background: #fff;
  border: 3px solid #98D5C3;
  border-radius: 50%;
  width: clamp(87px, 7.8378378378vw, 145px);
  height: clamp(87px, 7.8378378378vw, 145px);
  font-size: clamp(11.25px, 1.0135135135vw, 18.75px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: clamp(-27px, -2.4324324324vw, -45px);
  left: clamp(-18px, -1.6216216216vw, -30px);
  z-index: 3;
}
#reason .reason_item .reason_circle span {
  display: block;
  color: #EC6E83;
  font-size: clamp(21px, 1.8918918919vw, 35px);
  font-weight: 800;
  letter-spacing: 0.12em;
  margin-bottom: clamp(4.5px, 0.4054054054vw, 7.5px);
}
#reason .reason_item .reason_photo {
  position: relative;
  z-index: 2;
  width: clamp(270px, 24.3243243243vw, 450px);
}
#reason .reason_item .reason_photo img {
  width: 100%;
  height: auto;
  border-radius: clamp(7.5px, 0.6756756757vw, 12.5px);
}
#reason .reason_item .reason_ttl {
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-top: clamp(-37.5px, -3.3783783784vw, -62.5px);
  width: clamp(262.5px, 23.6486486486vw, 437.5px);
  height: clamp(112.5px, 10.1351351351vw, 187.5px);
  color: #fff;
  background: #F090A1;
  border-radius: 10px;
  padding-top: clamp(48.75px, 4.3918918919vw, 81.25px);
  letter-spacing: 0.13em;
  font-size: clamp(21px, 1.8918918919vw, 35px);
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
#reason .reason_item .reason_ttl span {
  font-size: clamp(12px, 1.0810810811vw, 20px);
  font-weight: 500;
  display: block;
  margin-bottom: clamp(9px, 0.8108108108vw, 15px);
}
#reason .reason_item p {
  font-weight: 400;
  padding-top: clamp(18.75px, 1.6891891892vw, 31.25px);
  font-size: clamp(12px, 1.0810810811vw, 20px);
  line-height: 2;
  letter-spacing: 0.05em;
  color: #222222;
}

@media screen and (max-width: 640px) {
  #reason {
    border-radius: 8vw;
    padding-top: 22.4vw;
    padding-bottom: 17.0666666667vw;
    margin-bottom: 32vw;
  }
  #reason:before {
    height: 39.4666666667vw;
    background: url(../images/medilia/bg_reason_sp.svg) center center no-repeat;
    background-size: 100% auto;
    left: 0;
    top: 16.2666666667vw;
  }
  #reason:after {
    display: none;
  }
  #reason .l_ttl {
    margin-bottom: 17.3333333333vw;
  }
  #reason .reason_inner {
    margin-left: 0;
    margin-top: -16vw;
    padding: 0 4vw;
  }
  #reason .reason_item {
    width: 100%;
    margin-left: 0;
    margin-top: 16vw;
  }
  #reason .reason_item .reason_circle {
    width: 28.5333333333vw;
    height: 28.5333333333vw;
    font-size: 3.4666666667vw;
    top: -7.2vw;
    left: -2.1333333333vw;
  }
  #reason .reason_item .reason_circle span {
    font-size: 6.6666666667vw;
    margin-bottom: 1.6vw;
  }
  #reason .reason_item .reason_photo {
    width: 88vw;
  }
  #reason .reason_item .reason_photo img {
    border-radius: 2.1333333333vw;
  }
  #reason .reason_item .reason_ttl {
    margin-top: -13.3333333333vw;
    width: 85.3333333333vw;
    height: 36.5333333333vw;
    padding-top: 17.0666666667vw;
    font-size: 5.8666666667vw;
    border-radius: 2.1333333333vw;
  }
  #reason .reason_item .reason_ttl span {
    font-size: 3.7333333333vw;
    margin-bottom: 3.2vw;
  }
  #reason .reason_item p {
    font-size: 3.4666666667vw;
    line-height: 2;
  }
}
#achievement {
  background: #F4F4F4;
  padding-top: clamp(161.25px, 14.527027027vw, 268.75px);
  padding-bottom: clamp(240px, 21.6216216216vw, 400px);
  margin-top: clamp(-52.5px, -4.7297297297vw, -87.5px);
  position: relative;
  z-index: 1;
}
#achievement .l_ttl {
  margin-bottom: clamp(86.25px, 7.7702702703vw, 143.75px);
}
#achievement .l_ttl:after {
  background: url(../images/medilia/bg_achievement.svg) center center no-repeat;
  background-size: auto 100%;
}
#achievement .achievement_inner {
  margin-left: clamp(-30px, -2.7027027027vw, -50px);
  margin-top: clamp(-30px, -2.7027027027vw, -50px);
}
#achievement .achievement_item {
  width: calc(50% - clamp(30px, 2.7027027027vw, 50px));
  margin-left: clamp(30px, 2.7027027027vw, 50px);
  margin-top: clamp(30px, 2.7027027027vw, 50px);
  border-radius: 10px;
  background: #fff;
  padding: clamp(15px, 1.3513513514vw, 25px) clamp(30px, 2.7027027027vw, 50px) clamp(33.75px, 3.0405405405vw, 56.25px);
  text-align: center;
}
#achievement .achievement_item p {
  font-size: clamp(16.5px, 1.4864864865vw, 27.5px);
  letter-spacing: 0.05em;
  font-weight: 800;
  line-height: 1;
  padding-bottom: clamp(9.75px, 0.8783783784vw, 16.25px);
  border-bottom: 1px solid #E9E9E9;
  margin-bottom: clamp(15px, 1.3513513514vw, 25px);
}
#achievement .achievement_item img {
  height: auto;
}
#achievement .achievement_item .achievement_pic01 {
  width: clamp(323.25px, 29.1216216216vw, 538.75px);
}
#achievement .achievement_item .achievement_pic02 {
  width: clamp(348.75px, 31.4189189189vw, 581.25px);
}
#achievement .achievement_item .achievement_pic03 {
  width: clamp(323.25px, 29.1216216216vw, 538.75px);
}
#achievement .achievement_item .achievement_pic04 {
  width: clamp(317.25px, 28.5810810811vw, 528.75px);
}

@media screen and (max-width: 640px) {
  #achievement {
    padding-top: 41.3333333333vw;
    padding-bottom: 41.3333333333vw;
    margin-top: -18.6666666667vw;
    z-index: 1;
  }
  #achievement .l_ttl {
    margin-bottom: 20vw;
  }
  #achievement .l_ttl:after {
    background: url(../images/medilia/bg_achievement_sp.svg) center center no-repeat;
    background-size: 100% auto;
  }
  #achievement .achievement_inner {
    margin-left: 0;
    margin-top: -2.6666666667vw;
    padding: 0 4vw;
  }
  #achievement .achievement_item {
    width: 100%;
    margin-left: 0;
    margin-top: 2.6666666667vw;
    padding: 3.2vw 4vw 6.6666666667vw;
  }
  #achievement .achievement_item p {
    font-size: 3.7333333333vw;
    letter-spacing: 0.032em;
    padding-bottom: 2.4vw;
    margin-bottom: 4vw;
  }
  #achievement .achievement_item .achievement_pic01 {
    width: 77.8666666667vw;
  }
  #achievement .achievement_item .achievement_pic02 {
    width: 77.3333333333vw;
  }
  #achievement .achievement_item .achievement_pic03 {
    width: 77.8666666667vw;
  }
  #achievement .achievement_item .achievement_pic04 {
    width: 77.8666666667vw;
  }
}
.cta {
  width: 100%;
  max-width: clamp(1035px, 93.2432432432vw, 1725px);
  margin: 0 auto;
  border-radius: 30px;
  background: #F090A1;
  padding: 10px;
}
.cta .cta_ttl {
  padding: clamp(18.75px, 1.6891891892vw, 31.25px) 0;
  font-size: clamp(27px, 2.4324324324vw, 45px);
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
}
.cta .cta_ttl span {
  position: relative;
  padding-left: clamp(67.5px, 6.0810810811vw, 112.5px);
}
.cta .cta_ttl span:before {
  content: "";
  width: clamp(53.25px, 4.7972972973vw, 88.75px);
  height: clamp(46.5px, 4.1891891892vw, 77.5px);
  background: url(../images/medilia/cta_icon.svg) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.cta .cta_content {
  border-radius: 20px;
  background: #fff;
  padding: clamp(26.25px, 2.3648648649vw, 43.75px) 0 clamp(30px, 2.7027027027vw, 50px);
  text-align: center;
}
.cta .cta_content p {
  font-size: clamp(16.5px, 1.4864864865vw, 27.5px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #333333;
  margin-bottom: clamp(24.75px, 2.2297297297vw, 41.25px);
}
.cta .cta_content a {
  width: clamp(450px, 40.5405405405vw, 750px);
  height: clamp(60px, 5.4054054054vw, 100px);
  border-radius: clamp(30px, 2.7027027027vw, 50px);
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#309e2c), to(#287826));
  background: linear-gradient(to right, #309e2c 0%, #287826 100%);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}
.cta .cta_content a:hover {
  text-decoration: none;
  opacity: 0.8;
}
.cta .cta_content a > span {
  font-size: clamp(19.5px, 1.7567567568vw, 32.5px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
.cta .cta_content a .label {
  margin-left: clamp(7.5px, 0.6756756757vw, 12.5px);
  font-size: clamp(12px, 1.0810810811vw, 20px);
  font-weight: 600;
  border-radius: 4px;
  border: 1px solid #fff;
  display: inline-block;
  padding: 0 clamp(11.25px, 1.0135135135vw, 18.75px);
  position: relative;
  top: clamp(-3px, -0.2702702703vw, -5px);
}
.cta .cta_content a:after {
  content: "";
  width: clamp(8.25px, 0.7432432432vw, 13.75px);
  height: clamp(12px, 1.0810810811vw, 20px);
  background: url(../images/medilia/cta_arrow.svg) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: clamp(33.75px, 3.0405405405vw, 56.25px);
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 640px) {
  .cta {
    width: calc(100% - 8vw);
    border-radius: 5.3333333333vw;
    padding: 1.3333333333vw;
  }
  .cta .cta_ttl {
    padding: 5.3333333333vw 0;
    font-size: 5.8666666667vw;
  }
  .cta .cta_ttl span {
    padding-left: 12.8vw;
  }
  .cta .cta_ttl span:before {
    width: 10.6666666667vw;
    height: 10.4vw;
  }
  .cta .cta_content {
    border-radius: 4vw;
    padding: 7.2vw 2.6666666667vw 8vw;
  }
  .cta .cta_content p {
    font-size: 4vw;
    line-height: 1.8666666667;
    letter-spacing: 0;
    margin-bottom: 7.2vw;
  }
  .cta .cta_content a {
    width: 100%;
    height: 16vw;
    border-radius: 8vw;
  }
  .cta .cta_content a > span {
    font-size: 4.2666666667vw;
  }
  .cta .cta_content a .label {
    margin-left: 2.1333333333vw;
    font-size: 3.4666666667vw;
    padding: 0px 2.1333333333vw;
  }
  .cta .cta_content a:after {
    display: none;
  }
}
#cta01 {
  margin-top: clamp(-150px, -13.5135135135vw, -250px);
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 640px) {
  #cta01 {
    margin-top: -22.6666666667vw;
  }
}
#medilia_menu {
  padding-top: clamp(82.5px, 7.4324324324vw, 137.5px);
  padding-bottom: clamp(56.25px, 5.0675675676vw, 93.75px);
}
#medilia_menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-right: 1px solid rgba(167, 167, 167, 0.5);
}
#medilia_menu ul li {
  list-style: none;
  width: clamp(146.25px, 13.1756756757vw, 243.75px);
  border-left: 1px solid rgba(167, 167, 167, 0.5);
}
#medilia_menu ul li:first-child {
  width: clamp(170.25px, 15.3378378378vw, 283.75px);
}
#medilia_menu ul li a {
  display: block;
  position: relative;
  padding-top: clamp(15px, 1.3513513514vw, 25px);
  padding-bottom: clamp(45px, 4.0540540541vw, 75px);
  text-align: center;
}
#medilia_menu ul li a:after {
  content: "";
  width: clamp(22.5px, 2.027027027vw, 37.5px);
  height: clamp(22.5px, 2.027027027vw, 37.5px);
  background: url(../images/medilia/navi_arrow.svg) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  bottom: clamp(11.25px, 1.0135135135vw, 18.75px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#medilia_menu ul li a span {
  display: block;
  line-height: 1;
}
#medilia_menu ul li a .jp {
  font-size: clamp(15px, 1.3513513514vw, 25px);
  font-weight: 700;
  color: #222222;
}
#medilia_menu ul li a .en {
  font-weight: 500;
  margin-top: clamp(9px, 0.8108108108vw, 15px);
  color: #ACACAC;
  font-size: 12px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
#medilia_menu ul li a:hover {
  text-decoration: none;
  opacity: 0.8;
}

@media screen and (max-width: 640px) {
  #medilia_menu {
    padding: 17.3333333333vw 4vw 16vw;
  }
  #medilia_menu ul {
    border: none;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: relative;
  }
  #medilia_menu ul:before {
    content: "";
    width: 100%;
    height: 1px;
    background: rgba(167, 167, 167, 0.5);
    position: absolute;
    top: 50%;
    left: 0;
  }
  #medilia_menu ul li {
    width: 33.333%;
    border-left: none;
    position: relative;
  }
  #medilia_menu ul li:first-child {
    width: 33.333%;
  }
  #medilia_menu ul li:nth-child(3n+2):before, #medilia_menu ul li:nth-child(3n+3):before {
    content: "";
    width: 1px;
    height: 100%;
    background: rgba(167, 167, 167, 0.5);
    position: absolute;
    top: 0;
    left: 0;
  }
  #medilia_menu ul li:nth-child(-n+3) {
    margin-bottom: 10.6666666667vw;
  }
  #medilia_menu ul li a {
    padding-top: 0;
    padding-bottom: 10.6666666667vw;
  }
  #medilia_menu ul li a:after {
    width: 6.4vw;
    height: 6.4vw;
    bottom: 0;
  }
  #medilia_menu ul li a .jp {
    font-size: 4vw;
    line-height: 1.4666666667;
    height: 11.7333333333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #medilia_menu ul li a .en {
    margin-top: 0.8vw;
    font-size: 2.1333333333vw;
  }
}
#features {
  border-radius: 70px;
  background: #9ADAC7;
  padding-top: clamp(108.75px, 9.7972972973vw, 181.25px);
  padding-bottom: clamp(101.25px, 9.1216216216vw, 168.75px);
  position: relative;
  z-index: 2;
}
#features:after {
  content: "";
  width: clamp(1155px, 104.0540540541vw, 1925px);
  height: clamp(1200px, 108.1081081081vw, 2000px);
  background: url(../images/medilia/bg_features_mark.png) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  z-index: 1;
  bottom: clamp(101.25px, 9.1216216216vw, 168.75px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  pointer-events: none;
}
#features .l_ttl {
  color: #fff;
  margin-bottom: clamp(87px, 7.8378378378vw, 145px);
}
#features .l_ttl:after {
  background: url(../images/medilia/bg_features.svg) center center no-repeat;
  background-size: auto 100%;
}
#features .features_item {
  position: relative;
  z-index: 2;
}
#features .features_item .features_photo {
  position: absolute;
  top: clamp(-24px, -2.1621621622vw, -40px);
  left: 0;
  width: clamp(335.25px, 30.2027027027vw, 558.75px);
}
#features .features_item .features_photo .features_tri {
  width: clamp(79.5px, 7.1621621622vw, 132.5px);
  height: clamp(79.5px, 7.1621621622vw, 132.5px);
  background: url(../images/medilia/features_tri.svg) 0 0 no-repeat;
  background-size: 100% auto;
  padding: clamp(13.5px, 1.2162162162vw, 22.5px) clamp(12px, 1.0810810811vw, 20px);
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(30px, 2.7027027027vw, 50px);
  font-weight: 600;
  letter-spacing: -0.05em;
  position: absolute;
  top: clamp(-5.25px, -0.472972973vw, -8.75px);
  left: clamp(-6px, -0.5405405405vw, -10px);
  line-height: 1;
}
#features .features_item .features_photo .features_tri.features_tri01 {
  padding-left: clamp(14.25px, 1.2837837838vw, 23.75px);
}
#features .features_item .features_photo img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
#features .features_item .features_txt {
  padding: clamp(37.5px, 3.3783783784vw, 62.5px) clamp(56.25px, 5.0675675676vw, 93.75px) clamp(37.5px, 3.3783783784vw, 62.5px) clamp(337.5px, 30.4054054054vw, 562.5px);
  width: clamp(843px, 75.9459459459vw, 1405px);
  margin-left: auto;
  background: #fff;
  border-radius: 10px;
}
#features .features_item .features_txt .features_ttl {
  font-size: clamp(21px, 1.8918918919vw, 35px);
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: clamp(22.5px, 2.027027027vw, 37.5px);
  padding-left: clamp(52.5px, 4.7297297297vw, 87.5px);
  position: relative;
}
#features .features_item .features_txt .features_ttl:before {
  content: "";
  width: clamp(41.25px, 3.7162162162vw, 68.75px);
  height: clamp(36px, 3.2432432432vw, 60px);
  background: url(../images/medilia/features_mark.svg) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}
#features .features_item .features_txt p {
  font-size: clamp(13.5px, 1.2162162162vw, 22.5px);
  line-height: 2;
  letter-spacing: 0.05em;
}
#features .features_item .features_txt p span {
  color: #EC6E83;
  font-weight: 700;
}
#features .features_item + .features_item {
  margin-top: clamp(47.25px, 4.2567567568vw, 78.75px);
}

@media screen and (max-width: 640px) {
  #features {
    border-radius: 8vw;
    padding-top: 24vw;
    padding-bottom: 24vw;
  }
  #features:after {
    display: none;
  }
  #features .l_ttl {
    margin-bottom: 21.3333333333vw;
  }
  #features .l_ttl:after {
    background: url(../images/medilia/bg_features_sp.svg) center center no-repeat;
    background-size: 100% auto;
  }
  #features .features_item {
    padding: 0;
    margin: 0 4vw;
    padding-top: 17.0666666667vw;
  }
  #features .features_item .features_photo {
    top: 0;
    width: calc(100% - 4vw);
  }
  #features .features_item .features_photo .features_tri {
    width: 16.5333333333vw;
    height: 16.5333333333vw;
    padding: 2.9333333333vw 3.2vw;
    font-size: 5.8666666667vw;
    top: -1.3333333333vw;
    left: -1.3333333333vw;
  }
  #features .features_item .features_photo .features_tri.features_tri01 {
    padding-left: 4vw;
  }
  #features .features_item .features_photo img {
    width: 100%;
    height: auto;
    border-radius: 2.6666666667vw;
  }
  #features .features_item .features_txt {
    padding: 48vw 4vw 10.6666666667vw 4vw;
    width: 88vw;
    border-radius: 2.1333333333vw;
  }
  #features .features_item .features_txt .features_ttl {
    font-size: 4.8vw;
    line-height: 1.3333333333;
    margin-bottom: 5.3333333333vw;
    padding-left: 13.3333333333vw;
  }
  #features .features_item .features_txt .features_ttl:before {
    width: 9.6vw;
    height: 8.2666666667vw;
  }
  #features .features_item .features_txt p {
    font-size: 3.7333333333vw;
    line-height: 2;
  }
  #features .features_item + .features_item {
    margin-top: 8.8vw;
  }
}
.bg_gray {
  background: #F4F4F4;
  margin-top: clamp(-52.5px, -4.7297297297vw, -87.5px);
  border-radius: 0 0 70px 70px;
}

@media screen and (max-width: 640px) {
  .bg_gray {
    margin-top: -18.6666666667vw;
    border-radius: 0 0 8vw 8vw;
  }
}
#case {
  padding-top: clamp(150px, 13.5135135135vw, 250px);
  padding-bottom: clamp(105px, 9.4594594595vw, 175px);
}
#case .l_flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: initial;
      flex-wrap: initial;
}
#case .case_head {
  width: 400px;
  color: #222222;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#case .case_head h2 {
  font-size: clamp(27px, 2.4324324324vw, 45px);
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1;
  margin-bottom: clamp(34.5px, 3.1081081081vw, 57.5px);
}
#case .case_head p {
  font-size: clamp(15px, 1.3513513514vw, 25px);
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: clamp(48.75px, 4.3918918919vw, 81.25px);
}
#case .case_head .case_btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#case .case_head .case_btn_wrap div {
  width: clamp(55.5px, 5vw, 92.5px);
  height: clamp(55.5px, 5vw, 92.5px);
  border-radius: 50%;
  cursor: pointer;
  background: url(../images/medilia/case_btn.svg) 0 0 no-repeat;
  background-size: 100% auto;
}
#case .case_head .case_btn_wrap div:hover {
  opacity: 0.8;
}
#case .case_head .case_btn_wrap .case_btn_prev {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  margin-right: clamp(18.75px, 1.6891891892vw, 31.25px);
}
#case .case_content {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  /*width:800px;*/
  margin-right: calc(50% - 50vw);
  overflow-x: hidden;
  padding: clamp(11.25px, 1.0135135135vw, 18.75px) 0 clamp(2.25px, 0.2027027027vw, 3.75px);
}
#case .case_content .swiper {
  overflow: visible;
}
#case .case_content .swiper-slide {
  width: clamp(285px, 25.6756756757vw, 475px);
  margin-right: clamp(30px, 2.7027027027vw, 50px);
  height: auto;
}
#case .case_content .case_item {
  -webkit-box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.06);
          box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.06);
  border-radius: 10px;
  height: 100%;
  background: #fff;
  max-width: 100%;
  word-wrap: break-word;
  word-break: break-word;
}
#case .case_content .case_item .case_item_head {
  border-radius: 10px 10px 0 0;
  position: relative;
  background: #8BA9D5;
  color: #fff;
  padding: clamp(9.75px, 0.8783783784vw, 16.25px) 0 clamp(9.75px, 0.8783783784vw, 16.25px) clamp(101.25px, 9.1216216216vw, 168.75px);
  font-size: clamp(15px, 1.3513513514vw, 25px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
#case .case_content .case_item .case_item_head img {
  position: absolute;
  width: clamp(63.75px, 5.7432432432vw, 106.25px);
  height: auto;
  left: clamp(22.5px, 2.027027027vw, 37.5px);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#case .case_content .case_item .case_item_content {
  border-radius: 0 0 10px 10px;
  padding: clamp(22.5px, 2.027027027vw, 37.5px) clamp(22.5px, 2.027027027vw, 37.5px) clamp(30px, 2.7027027027vw, 50px);
  color: #3D3D3D;
}
#case .case_content .case_item .case_item_content .case_dl01 {
  margin-bottom: clamp(11.25px, 1.0135135135vw, 18.75px);
}
#case .case_content .case_item .case_item_content .case_dl01 dt {
  color: #fff;
  background: #5EC6A7;
  width: clamp(52.5px, 4.7297297297vw, 87.5px);
  height: clamp(18px, 1.6216216216vw, 30px);
  border-radius: 12px;
  font-size: clamp(10.5px, 0.9459459459vw, 17.5px);
  font-weight: 500;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#case .case_content .case_item .case_item_content .case_dl01 dd {
  margin-top: clamp(5.25px, 0.472972973vw, 8.75px);
  font-size: clamp(12.75px, 1.1486486486vw, 21.25px);
  font-weight: 700;
  line-height: 1.6470588235;
  letter-spacing: 0.05em;
}
#case .case_content .case_item .case_item_content .case_dl02 {
  margin-bottom: clamp(15px, 1.3513513514vw, 25px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#case .case_content .case_item .case_item_content .case_dl02 dt {
  color: #fff;
  background: #EF90A0;
  width: clamp(106.5px, 9.5945945946vw, 177.5px);
  height: clamp(18px, 1.6216216216vw, 30px);
  border-radius: 12px;
  font-size: clamp(10.5px, 0.9459459459vw, 17.5px);
  font-weight: 500;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#case .case_content .case_item .case_item_content .case_dl02 dd {
  padding-left: clamp(10.5px, 0.9459459459vw, 17.5px);
  width: calc(100% - clamp(106.5px, 9.5945945946vw, 177.5px));
  font-size: clamp(11.25px, 1.0135135135vw, 18.75px);
  line-height: 1.8666666667;
  letter-spacing: 0.05em;
}
#case .case_content .case_item .case_item_content p {
  font-size: clamp(11.25px, 1.0135135135vw, 18.75px);
  letter-spacing: 0.05em;
  line-height: 1.8666666667;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}

@media screen and (max-width: 640px) {
  #case {
    padding-top: 32vw;
    padding-bottom: 37.3333333333vw;
    position: relative;
  }
  #case .l_flex {
    display: block;
  }
  #case .case_head {
    width: 100%;
    padding: 0 4vw;
  }
  #case .case_head h2 {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
  #case .case_head p {
    font-size: 3.4666666667vw;
    margin-bottom: 13.3333333333vw;
  }
  #case .case_head .case_btn_wrap {
    position: absolute;
    bottom: 16vw;
    left: 0;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #case .case_head .case_btn_wrap div {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
  #case .case_head .case_btn_wrap .case_btn_prev {
    margin-right: 8vw;
  }
  #case .case_content {
    -webkit-box-flex: initial;
        -ms-flex-positive: initial;
            flex-grow: initial;
    width: 100%;
    margin-right: 0;
    padding: 2.4vw 4vw 2.4vw;
  }
  #case .case_content .swiper-slide {
    height: 120vw;
    margin-right: 5.3333333333vw;
    width: 100% !important;
    max-width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #case .case_content .case_item {
    border-radius: 2.1333333333vw;
  }
  #case .case_content .case_item .case_item_head {
    border-radius: 2.1333333333vw 2.1333333333vw 0 0;
    padding: 2.1333333333vw 0 2.1333333333vw 22.6666666667vw;
    font-size: 4.2666666667vw;
  }
  #case .case_content .case_item .case_item_head img {
    width: 14.4vw;
    left: 4vw;
  }
  #case .case_content .case_item .case_item_content {
    border-radius: 0 0 2.1333333333vw 2.1333333333vw;
    padding: 4.8vw 4vw 5.3333333333vw;
  }
  #case .case_content .case_item .case_item_content .case_dl01 {
    margin-bottom: 3.2vw;
  }
  #case .case_content .case_item .case_item_content .case_dl01 dt {
    width: 12vw;
    height: 4.2666666667vw;
    border-radius: 2.1333333333vw;
    font-size: 2.6666666667vw;
  }
  #case .case_content .case_item .case_item_content .case_dl01 dd {
    margin-top: 1.3333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.5714285714;
  }
  #case .case_content .case_item .case_item_content .case_dl02 {
    margin-bottom: 4vw;
  }
  #case .case_content .case_item .case_item_content .case_dl02 dt {
    width: 26.1333333333vw;
    height: 4.2666666667vw;
    border-radius: 2.1333333333vw;
    font-size: 2.6666666667vw;
  }
  #case .case_content .case_item .case_item_content .case_dl02 dd {
    width: calc(100% - 26.1333333333vw);
    font-size: 3.4666666667vw;
    line-height: 2.1538461538;
  }
  #case .case_content .case_item .case_item_content p {
    font-size: 3.2vw;
    line-height: 1.8333333333;
  }
}
#function {
  padding-top: clamp(108.75px, 9.7972972973vw, 181.25px);
  padding-bottom: clamp(90px, 8.1081081081vw, 150px);
}
#function .l_ttl {
  margin-bottom: clamp(60px, 5.4054054054vw, 100px);
}
#function .l_ttl:after {
  background: url(../images/medilia/bg_function.svg) 0 0 no-repeat;
  background-size: auto 100%;
}
#function .function_lead {
  font-size: clamp(15px, 1.3513513514vw, 25px);
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: clamp(52.5px, 4.7297297297vw, 87.5px);
  text-align: center;
}
#function .function_inner {
  margin-left: clamp(-24px, -2.1621621622vw, -40px);
  margin-top: clamp(-24px, -2.1621621622vw, -40px);
}
#function .function_inner dl {
  width: calc(25% - clamp(24px, 2.1621621622vw, 40px));
  margin-left: clamp(24px, 2.1621621622vw, 40px);
  margin-top: clamp(24px, 2.1621621622vw, 40px);
  background: #fff;
  border-radius: 10px;
  height: clamp(210px, 18.9189189189vw, 350px);
  padding-top: clamp(18px, 1.6216216216vw, 30px);
}
#function .function_inner dl dt {
  text-align: center;
  font-size: clamp(15px, 1.3513513514vw, 25px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.05em;
}
#function .function_inner dl dd .function_icon {
  height: clamp(97.5px, 8.7837837838vw, 162.5px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#function .function_inner dl dd .function_icon .function_icon07 {
  margin-left: clamp(4.5px, 0.4054054054vw, 7.5px);
}
#function .function_inner dl dd .function_icon .function_icon08 {
  margin-left: clamp(12.75px, 1.1486486486vw, 21.25px);
}
#function .function_inner dl dd p {
  color: #3D3D3D;
  font-size: clamp(11.25px, 1.0135135135vw, 18.75px);
  letter-spacing: 0.05em;
  line-height: 1.7333333333;
  padding: 0 clamp(18.75px, 1.6891891892vw, 31.25px);
}
#function .compare {
  padding-top: clamp(56.25px, 5.0675675676vw, 93.75px);
}
#function .compare h3 {
  font-size: clamp(18px, 1.6216216216vw, 30px);
  font-weight: 700;
  line-height: 1;
  margin-bottom: clamp(30px, 2.7027027027vw, 50px);
}
#function .compare .compare_tbl_wrap {
  position: relative;
}
#function .compare .compare_tbl_frame {
  position: absolute;
  bottom: clamp(-12.75px, -1.1486486486vw, -21.25px);
  left: clamp(213px, 19.1891891892vw, 355px);
  width: clamp(243.75px, 21.9594594595vw, 406.25px);
  height: calc(100% + clamp(25.5px, 2.2972972973vw, 42.5px));
  border-radius: 10px;
  border: 2px solid #5EC6A7;
  z-index: 2;
}
#function .compare .compare_tbl_frame:before, #function .compare .compare_tbl_frame:after {
  content: "";
  width: 100%;
  height: clamp(12.75px, 1.1486486486vw, 21.25px);
  background: #fff;
  position: absolute;
}
#function .compare .compare_tbl_frame:before {
  border-radius: 10px 10px 0 0;
  top: 0;
  left: 0;
}
#function .compare .compare_tbl_frame:after {
  border-radius: 0 0 10px 10px;
  bottom: 0;
  left: 0;
}
#function .compare .compare_tbl_frame .compare_tbl_frame_inner:before, #function .compare .compare_tbl_frame .compare_tbl_frame_inner:after {
  content: "";
  width: clamp(30px, 2.7027027027vw, 50px);
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
}
#function .compare .compare_tbl_frame .compare_tbl_frame_inner:before {
  left: 0;
  border-radius: 10px 0 0 10px;
}
#function .compare .compare_tbl_frame .compare_tbl_frame_inner:after {
  right: 0;
  border-radius: 0 10px 10px 0;
}
#function .compare .compare_tbl {
  width: 100%;
  position: relative;
  border-collapse: collapse;
}
#function .compare .compare_tbl th {
  background: #5EC6A7;
  color: #fff;
  font-size: clamp(15px, 1.3513513514vw, 25px);
  font-weight: 700;
  text-align: center;
  padding-top: clamp(15px, 1.3513513514vw, 25px);
  padding-bottom: clamp(15px, 1.3513513514vw, 25px);
}
#function .compare .compare_tbl th.thead01 {
  padding-left: clamp(37.5px, 3.3783783784vw, 62.5px);
  text-align: left;
  width: clamp(213px, 19.1891891892vw, 355px);
  border-radius: 10px 0 0 0;
}
#function .compare .compare_tbl th.thead02 {
  background: #fff;
  width: clamp(243.75px, 21.9594594595vw, 406.25px);
}
#function .compare .compare_tbl th.thead02 .logo {
  width: clamp(146.25px, 13.1756756757vw, 243.75px);
  height: auto;
}
#function .compare .compare_tbl th.thead03 {
  width: clamp(221.25px, 19.9324324324vw, 368.75px);
}
#function .compare .compare_tbl th.thead04 {
  width: clamp(222px, 20vw, 370px);
  border-radius: 0 10px 0 0;
}
#function .compare .compare_tbl th.th01 {
  background: #fff;
  color: #333333;
  font-size: clamp(11.25px, 1.0135135135vw, 18.75px);
  padding: 0;
  padding-left: clamp(37.5px, 3.3783783784vw, 62.5px);
  text-align: left;
  border-bottom: 1px solid #DFDFDF;
}
#function .compare .compare_tbl td {
  background: #FFF;
  border-bottom: 1px solid #DFDFDF;
  height: clamp(37.5px, 3.3783783784vw, 62.5px);
  text-align: center;
  vertical-align: middle;
}
#function .compare .compare_tbl td span {
  display: block;
  font-size: clamp(9.75px, 0.8783783784vw, 16.25px);
  color: #3D3D3D;
  padding-top: clamp(2.25px, 0.2027027027vw, 3.75px);
}
#function .compare .compare_tbl td .bold {
  font-weight: 700;
  font-size: clamp(11.25px, 1.0135135135vw, 18.75px);
}
#function .compare .compare_tbl tbody tr:last-of-type th, #function .compare .compare_tbl tbody tr:last-of-type td {
  border-bottom: none;
}
#function .compare .compare_tbl tbody tr:last-of-type th {
  border-radius: 0 0 0 10px;
}
#function .compare .compare_tbl tbody tr:last-of-type td:last-of-type {
  border-radius: 0 0 10px 0;
}

@media screen and (max-width: 640px) {
  #function {
    padding-top: 21.3333333333vw;
    padding-bottom: 21.3333333333vw;
  }
  #function .l_ttl {
    margin-bottom: 16vw;
  }
  #function .l_ttl:after {
    background: url(../images/medilia/bg_function_sp.svg) 0 0 no-repeat;
    background-size: 100% auto;
  }
  #function .function_lead {
    font-size: 3.7333333333vw;
    margin-bottom: 10.6666666667vw;
  }
  #function .function_inner {
    margin-left: -3.2vw;
    margin-top: -3.2vw;
    padding: 0 4vw;
  }
  #function .function_inner dl {
    width: calc(50% - 3.2vw);
    margin-left: 3.2vw;
    margin-top: 3.2vw;
    border-radius: 2.1333333333vw;
    height: auto;
    padding-top: 4.8vw;
  }
  #function .function_inner dl dt {
    font-size: 4vw;
    letter-spacing: 0.08em;
  }
  #function .function_inner dl dd .function_icon {
    height: 24vw;
  }
  #function .function_inner dl dd .function_icon img {
    height: auto;
  }
  #function .function_inner dl dd .function_icon .function_icon01 {
    width: 16vw;
  }
  #function .function_inner dl dd .function_icon .function_icon02 {
    width: 10.9333333333vw;
  }
  #function .function_inner dl dd .function_icon .function_icon03 {
    width: 13.0666666667vw;
  }
  #function .function_inner dl dd .function_icon .function_icon04 {
    width: 12.5333333333vw;
  }
  #function .function_inner dl dd .function_icon .function_icon05 {
    width: 14.9333333333vw;
  }
  #function .function_inner dl dd .function_icon .function_icon06 {
    width: 12vw;
  }
  #function .function_inner dl dd .function_icon .function_icon07 {
    margin-left: 2.6666666667vw;
    width: 15.2vw;
  }
  #function .function_inner dl dd .function_icon .function_icon08 {
    width: 14.1333333333vw;
    margin-left: 3.4666666667vw;
  }
  #function .function_inner dl dd p {
    font-size: 3.4666666667vw;
    line-height: 1.6923076923;
    padding: 0 3.2vw 6.6666666667vw;
  }
  #function .compare {
    padding-top: 13.3333333333vw;
  }
  #function .compare h3 {
    padding-left: 4vw;
    font-size: 5.3333333333vw;
    margin-bottom: 8vw;
  }
  #function .compare .compare_tbl_wrap {
    padding-left: 4vw;
    padding-right: 4vw;
    padding-top: 3.2vw;
    padding-bottom: 3.2vw;
    overflow-x: scroll;
  }
  #function .compare .compare_tbl_frame {
    bottom: 0;
    left: 56.8vw;
    width: 56.2666666667vw;
    height: 100%;
  }
  #function .compare .compare_tbl_frame:before, #function .compare .compare_tbl_frame:after {
    height: 3.2vw;
  }
  #function .compare .compare_tbl_frame .compare_tbl_frame_inner:before, #function .compare .compare_tbl_frame .compare_tbl_frame_inner:after {
    width: 5.3333333333vw;
  }
  #function .compare .compare_tbl {
    width: 202.6666666667vw;
  }
  #function .compare .compare_tbl th {
    font-size: 4.2666666667vw;
    padding-top: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
  }
  #function .compare .compare_tbl th.thead01 {
    width: 52.8vw;
  }
  #function .compare .compare_tbl th.thead02 {
    width: 56.2666666667vw;
  }
  #function .compare .compare_tbl th.thead02 .logo {
    width: 34.9333333333vw;
  }
  #function .compare .compare_tbl th.thead03 {
    width: 46.9333333333vw;
  }
  #function .compare .compare_tbl th.thead04 {
    width: 46.6666666667vw;
  }
  #function .compare .compare_tbl th.th01 {
    font-size: 3.4666666667vw;
    padding-left: 5.3333333333vw;
  }
  #function .compare .compare_tbl td {
    height: 10.1333333333vw;
  }
  #function .compare .compare_tbl td img {
    width: 4vw;
    height: auto;
  }
  #function .compare .compare_tbl td .compare_icon04 {
    width: 2.9333333333vw;
  }
  #function .compare .compare_tbl td span {
    font-size: 2.9333333333vw;
    padding-top: 0.8vw;
  }
  #function .compare .compare_tbl td .bold {
    font-size: 3.7333333333vw;
    letter-spacing: 0;
  }
  #function .compare .compare_tbl td .small {
    font-size: 2.9333333333vw;
  }
}
#plan {
  padding-top: clamp(101.25px, 9.1216216216vw, 168.75px);
  padding-bottom: clamp(101.25px, 9.1216216216vw, 168.75px);
}
#plan .l_ttl {
  margin-bottom: clamp(101.25px, 9.1216216216vw, 168.75px);
}
#plan .l_ttl:after {
  background: url(../images/medilia/bg_plan.svg) 0 0 no-repeat;
  background-size: auto 100%;
}
#plan .plan_lead {
  font-size: clamp(15px, 1.3513513514vw, 25px);
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: clamp(52.5px, 4.7297297297vw, 87.5px);
  text-align: center;
}
#plan .plan_item .plan_item_ttl {
  width: clamp(268.5px, 24.1891891892vw, 447.5px);
  height: clamp(45px, 4.0540540541vw, 75px);
  margin-bottom: clamp(18px, 1.6216216216vw, 30px);
  position: relative;
  color: #fff;
  border-radius: 5px;
  font-size: clamp(16.5px, 1.4864864865vw, 27.5px);
  font-weight: 700;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#plan .plan_item .plan_item_ttl:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-bottom: 0;
}
#plan .plan_item .plan_item_ttl01 {
  background: #5EB1C6;
}
#plan .plan_item .plan_item_ttl01:after {
  border-top: 9px solid #5EB1C6;
}
#plan .plan_item .plan_item_ttl02 {
  background: #5EC6A7;
  margin-left: auto;
  margin-right: auto;
}
#plan .plan_item .plan_item_ttl02:after {
  border-top: 9px solid #5EC6A7;
}
#plan .plan_item .plan_item_ttl03 {
  background: #EF90A0;
  margin-left: auto;
}
#plan .plan_item .plan_item_ttl03:after {
  border-top: 9px solid #EF90A0;
}
#plan .plan_item p {
  font-size: clamp(15px, 1.3513513514vw, 25px);
  font-weight: 700;
  color: #3D3D3D;
  margin-bottom: clamp(22.5px, 2.027027027vw, 37.5px);
  text-align: center;
  width: clamp(268.5px, 24.1891891892vw, 447.5px);
  letter-spacing: 0.05em;
}
#plan .plan_item p span {
  font-size: clamp(10.5px, 0.9459459459vw, 17.5px);
}
#plan .plan_item ul li {
  position: relative;
  background-image: url(../images/medilia/icon_check.svg);
  background-position: clamp(14.25px, 1.2837837838vw, 23.75px) center;
  background-repeat: no-repeat;
  background-size: clamp(15.75px, 1.4189189189vw, 26.25px) auto;
  padding: clamp(7.5px, 0.6756756757vw, 12.5px) clamp(7.5px, 0.6756756757vw, 12.5px) clamp(7.5px, 0.6756756757vw, 12.5px) clamp(39.75px, 3.5810810811vw, 66.25px);
  font-size: clamp(12px, 1.0810810811vw, 20px);
  color: #333333;
  letter-spacing: 0.05em;
}
#plan .plan_item ul li.batu {
  background-image: url(../images/medilia/icon_batu.svg);
  background-position: clamp(15px, 1.3513513514vw, 25px) center;
  background-repeat: no-repeat;
  background-size: clamp(12.75px, 1.1486486486vw, 21.25px) auto;
  color: #C1C1C1;
}
#plan .plan_item ul li:nth-child(2n+1) {
  background-color: rgba(194, 194, 194, 0.12);
}
#plan .plan_item:first-of-type {
  width: clamp(292.5px, 26.3513513514vw, 487.5px);
}
#plan .plan_item:first-of-type ul li {
  border-radius: 5px 0 0 5px;
}
#plan .plan_item:nth-of-type(2) {
  width: clamp(315px, 28.3783783784vw, 525px);
}
#plan .plan_item:nth-of-type(2) ul li {
  background-position: clamp(30px, 2.7027027027vw, 50px) center;
  padding-left: clamp(54.75px, 4.9324324324vw, 91.25px);
}
#plan .plan_item:nth-of-type(2) ul li.batu {
  background-position: clamp(30.75px, 2.7702702703vw, 51.25px) center;
}
#plan .plan_item:nth-of-type(2) p {
  margin-left: auto;
  margin-right: auto;
}
#plan .plan_item:last-of-type {
  width: clamp(292.5px, 26.3513513514vw, 487.5px);
}
#plan .plan_item:last-of-type p {
  margin-left: auto;
}
#plan .plan_item:last-of-type ul li {
  border-radius: 0 5px 5px 0;
  background-position: clamp(30px, 2.7027027027vw, 50px) center;
  padding-left: clamp(54.75px, 4.9324324324vw, 91.25px);
}
#plan .plan_item:last-of-type ul li.batu {
  background-position: clamp(30.75px, 2.7702702703vw, 51.25px) center;
}
#plan .plan_item + .plan_item {
  border-left: 1px solid rgba(161, 161, 161, 0.35);
}

@media screen and (max-width: 640px) {
  #plan {
    padding-top: 24vw;
    padding-bottom: 20vw;
  }
  #plan .l_ttl {
    margin-bottom: 18.6666666667vw;
  }
  #plan .l_ttl:after {
    background: url(../images/medilia/bg_plan_sp.svg) 0 0 no-repeat;
    background-size: 100% auto;
  }
  #plan .plan_lead {
    font-size: 4vw;
    margin-bottom: 10.6666666667vw;
  }
  #plan .l_inner {
    overflow-x: scroll;
    padding-left: 4vw;
    padding-right: 4vw;
    padding-bottom: 2.6666666667vw;
  }
  #plan .plan_inner {
    width: 174.9333333333vw;
  }
  #plan .plan_item .plan_item_ttl {
    width: 52.2666666667vw;
    height: 9.3333333333vw;
    margin-bottom: 5.3333333333vw;
    border-radius: 1.0666666667vw;
    font-size: 4vw;
  }
  #plan .plan_item .plan_item_ttl:after {
    border-right: 0.8vw solid transparent;
    border-left: 0.8vw solid transparent;
  }
  #plan .plan_item .plan_item_ttl01:after {
    border-top: 1.6vw solid #5EB1C6;
  }
  #plan .plan_item .plan_item_ttl02:after {
    border-top: 1.6vw solid #5EC6A7;
  }
  #plan .plan_item .plan_item_ttl03:after {
    border-top: 1.6vw solid #EF90A0;
  }
  #plan .plan_item p {
    font-size: 3.7333333333vw;
    margin-bottom: 4.8vw;
    width: 52.2666666667vw;
  }
  #plan .plan_item p span {
    font-size: 2.9333333333vw;
    line-height: 1;
    display: block;
  }
  #plan .plan_item ul {
    margin-top: auto;
  }
  #plan .plan_item ul li {
    background-position: 2.9333333333vw center;
    background-size: 3.4666666667vw auto;
    padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 9.3333333333vw;
    font-size: 3.2vw;
    letter-spacing: 0;
  }
  #plan .plan_item ul li.batu {
    background-position: 3.2vw center;
    background-size: 2.9333333333vw auto;
  }
  #plan .plan_item:first-of-type {
    width: 56.8vw;
  }
  #plan .plan_item:first-of-type ul li {
    border-radius: 1.0666666667vw 0 0 1.0666666667vw;
  }
  #plan .plan_item:nth-of-type(2) {
    width: 60.8vw;
  }
  #plan .plan_item:nth-of-type(2) ul li {
    background-position: 5.0666666667vw center;
    padding-left: 11.7333333333vw;
  }
  #plan .plan_item:nth-of-type(2) ul li.batu {
    background-position: 5.3333333333vw center;
  }
  #plan .plan_item:last-of-type {
    width: 56.8vw;
  }
  #plan .plan_item:last-of-type .plan_item_ttl {
    margin-bottom: 4vw;
  }
  #plan .plan_item:last-of-type p {
    margin-bottom: 3.2vw;
  }
  #plan .plan_item:last-of-type ul li {
    border-radius: 0 1.0666666667vw 1.0666666667vw 0;
    background-position: 4vw center;
    padding-left: 10.6666666667vw;
  }
  #plan .plan_item:last-of-type ul li.batu {
    background-position: 4.2666666667vw center;
  }
}
#flow {
  background: #9ADAC7;
  border-radius: 70px;
  padding-top: clamp(105px, 9.4594594595vw, 175px);
  padding-bottom: clamp(288.75px, 26.0135135135vw, 481.25px);
  position: relative;
}
#flow:after {
  content: "";
  width: clamp(1133.25px, 102.0945945946vw, 1888.75px);
  height: clamp(400.5px, 36.0810810811vw, 667.5px);
  background: url(../images/medilia/bg_flow_mark.png) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  z-index: 1;
  bottom: clamp(213px, 19.1891891892vw, 355px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  pointer-events: none;
}
#flow .l_ttl {
  color: #fff;
  margin-bottom: clamp(60px, 5.4054054054vw, 100px);
}
#flow .l_ttl:after {
  background: url(../images/medilia/bg_flow.svg) 0 0 no-repeat;
  background-size: auto 100%;
}
#flow .flow_lead {
  font-size: clamp(15px, 1.3513513514vw, 25px);
  font-weight: 500;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
  margin-bottom: clamp(52.5px, 4.7297297297vw, 87.5px);
  position: relative;
  z-index: 3;
}
#flow .l_inner {
  max-width: clamp(990px, 89.1891891892vw, 1650px);
}
#flow ol {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: clamp(-22.5px, -2.027027027vw, -37.5px);
  padding: 0;
}
#flow ol li {
  width: calc(16.6666% - clamp(22.5px, 2.027027027vw, 37.5px));
  margin-left: clamp(22.5px, 2.027027027vw, 37.5px);
  border-radius: 10px;
  background: #fff;
  color: #3D3D3D;
  padding: clamp(15px, 1.3513513514vw, 25px) clamp(11.25px, 1.0135135135vw, 18.75px) clamp(22.5px, 2.027027027vw, 37.5px);
  position: relative;
}
#flow ol li:after {
  content: "";
  width: 0;
  height: 0;
  width: clamp(22.5px, 2.027027027vw, 37.5px);
  height: clamp(22.5px, 2.027027027vw, 37.5px);
  background: #3A8D74;
  clip-path: polygon(20% 15%, 20% 85%, 80% 50%);
  position: absolute;
  top: 50%;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
  right: 0;
}
#flow ol li:last-child:after {
  display: none;
}
#flow ol li .num {
  text-align: center;
  display: block;
  line-height: 1;
  color: #EF90A0;
  font-size: clamp(22.5px, 2.027027027vw, 37.5px);
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  padding-bottom: clamp(7.5px, 0.6756756757vw, 12.5px);
}
#flow ol li .num:after {
  content: "";
  width: clamp(25.5px, 2.2972972973vw, 42.5px);
  height: clamp(1.5px, 0.1351351351vw, 2.5px);
  background: #B7B7B7;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: clamp(-12.75px, -1.1486486486vw, -21.25px);
}
#flow ol li .flow_item_ttl {
  height: 100px;
  font-size: clamp(13.5px, 1.2162162162vw, 22.5px);
  line-height: 1.5555555556;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#flow ol li p {
  letter-spacing: 0.05em;
  font-size: clamp(10.5px, 0.9459459459vw, 17.5px);
  line-height: 1.7142857143;
}

@media screen and (max-width: 640px) {
  #flow {
    border-radius: 8vw;
    padding-top: 26.6666666667vw;
    padding-bottom: 52.2666666667vw;
  }
  #flow:after {
    display: none;
  }
  #flow .l_ttl {
    margin-bottom: 14.6666666667vw;
  }
  #flow .l_ttl:after {
    background: url(../images/medilia/bg_flow_sp.svg) 0 0 no-repeat;
    background-size: 100% auto;
  }
  #flow .flow_lead {
    font-size: 4vw;
    margin-bottom: 10.6666666667vw;
  }
  #flow ol {
    margin-left: 0;
    margin-top: -10.1333333333vw;
    padding: 0 4vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #flow ol li {
    width: 100%;
    margin-left: 0;
    margin-top: 10.1333333333vw;
    border-radius: 2.1333333333vw;
    padding: 5.3333333333vw 4vw 6.4vw 4vw;
    position: relative;
  }
  #flow ol li:after {
    content: "";
    width: 10.1333333333vw;
    height: 10.1333333333vw;
    clip-path: polygon(25% 30%, 50% 75%, 75% 30%);
    top: auto;
    bottom: 0;
    -webkit-transform: translate(50%, 100%);
            transform: translate(50%, 100%);
    right: 50%;
  }
  #flow ol li .num {
    position: absolute;
    top: 4.8vw;
    left: 4vw;
    font-size: 6.9333333333vw;
    padding-bottom: 0;
  }
  #flow ol li .num:after {
    width: 1px;
    height: 5.8666666667vw;
    bottom: 0.5333333333vw;
    left: 13.3333333333vw;
    margin-left: 0;
  }
  #flow ol li .flow_item_ttl {
    height: auto;
    display: block;
    text-align: left;
    font-size: 4vw;
    letter-spacing: 0.08em;
    padding-left: 16vw;
    color: #000000;
  }
  #flow ol li p {
    padding-top: 3.2vw;
    font-size: 3.4666666667vw;
    line-height: 1.6923076923;
  }
}
#cta03 {
  margin-top: clamp(-187.5px, -16.8918918919vw, -312.5px);
  position: relative;
  z-index: 4;
}

@media screen and (max-width: 640px) {
  #cta03 {
    margin-top: -33.6vw;
  }
}
.bg_gray02 {
  background: #F4F4F4;
  border-radius: 70px 70px 0 0;
}

@media screen and (max-width: 640px) {
  .bg_gray02 {
    border-radius: 0;
  }
}
#faq {
  padding-top: clamp(97.5px, 8.7837837838vw, 162.5px);
  padding-bottom: clamp(225px, 20.2702702703vw, 375px);
  position: relative;
  z-index: 1;
}
#faq .l_ttl {
  margin-bottom: clamp(97.5px, 8.7837837838vw, 162.5px);
}
#faq .l_ttl:after {
  height: clamp(114.75px, 10.3378378378vw, 191.25px);
  background: url(../images/medilia/bg_faq.svg) center center no-repeat;
  background-size: auto 100%;
}
#faq .faq_inner {
  width: clamp(675px, 60.8108108108vw, 1125px);
  margin: 0 auto;
}
#faq .faq_item {
  border-bottom: 1px solid #CBCBCB;
  padding: clamp(26.25px, 2.3648648649vw, 43.75px) 0;
  color: #3D3D3D;
}
#faq .faq_item:first-child {
  padding-top: 0;
}
#faq .faq_item dt {
  position: relative;
  padding-left: clamp(43.5px, 3.9189189189vw, 72.5px);
  letter-spacing: 0.05em;
  font-size: clamp(16.5px, 1.4864864865vw, 27.5px);
  font-weight: 700;
  line-height: 1.6363636364;
  margin-bottom: clamp(7.5px, 0.6756756757vw, 12.5px);
}
#faq .faq_item dt .icon_q {
  letter-spacing: 0;
  color: #5EC6A7;
  font-size: clamp(22.5px, 2.027027027vw, 37.5px);
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: clamp(3px, 0.2702702703vw, 5px);
  left: clamp(7.5px, 0.6756756757vw, 12.5px);
}
#faq .faq_item dd {
  position: relative;
  padding-left: clamp(43.5px, 3.9189189189vw, 72.5px);
  font-size: clamp(13.5px, 1.2162162162vw, 22.5px);
  line-height: 2;
  letter-spacing: 0.05em;
}
#faq .faq_item dd .icon_a {
  letter-spacing: 0;
  color: #F18C9D;
  font-size: clamp(22.5px, 2.027027027vw, 37.5px);
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: clamp(3px, 0.2702702703vw, 5px);
  left: clamp(7.5px, 0.6756756757vw, 12.5px);
}

@media screen and (max-width: 640px) {
  #faq {
    padding-top: 29.3333333333vw;
    padding-bottom: 61.3333333333vw;
  }
  #faq .l_ttl {
    margin-bottom: 18.6666666667vw;
  }
  #faq .l_ttl:after {
    height: 39.4666666667vw;
    background: url(../images/medilia/bg_faq_sp.svg) center center no-repeat;
    background-size: auto 100%;
  }
  #faq .faq_inner {
    width: 100%;
    padding: 0 4vw;
  }
  #faq .faq_item {
    padding: 6.4vw 0;
  }
  #faq .faq_item dt {
    padding-left: 9.6vw;
    font-size: 4vw;
    line-height: 1.4666666667;
    margin-bottom: 3.7333333333vw;
  }
  #faq .faq_item dt .icon_q {
    top: -0.5333333333vw;
    left: 0;
    font-size: 8vw;
  }
  #faq .faq_item dd {
    padding-left: 9.6vw;
    font-size: 3.4666666667vw;
    line-height: 1.6923076923;
  }
  #faq .faq_item dd .icon_a {
    top: 0;
    left: 0;
    font-size: 8vw;
  }
}
#cta04 {
  margin-top: -200px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 640px) {
  #cta04 {
    margin-top: -40.5333333333vw;
  }
}
@media screen and (min-width: 641px) {
  .js-scrollable {
    overflow: initial !important;
  }
}
.scroll-hint-icon-wrap {
  z-index: 10;
}

@media screen and (max-width: 640px) {
  .scroll-hint-icon-wrap .scroll-hint-icon {
    width: 104px;
    height: 100px;
    background: rgba(0, 0, 0, 0.57);
    border-radius: 10px;
  }
  .scroll-hint-icon-wrap .scroll-hint-icon:before {
    background: url(../images/medilia/scroll_hint_b.svg) 0 0 no-repeat;
    background-size: 100% auto;
    width: 35px;
    height: 41px;
  }
  .scroll-hint-icon-wrap .scroll-hint-icon:after {
    background: url(../images/medilia/scroll_hint_a.svg) 0 0 no-repeat;
    background-size: 100% auto;
    width: 64px;
    height: 18px;
    margin-left: -32px;
  }
  .scroll-hint-icon-wrap .scroll-hint-icon .scroll-hint-text {
    font-size: 12px;
    font-weight: 700;
  }
}