.header {
  position: relative;
  width: 100%;
  height: 79px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.header .header_left {
  padding: 10px 0 0 20px;
}
.header .header_left .page_title {
  margin: 0.3em 0 5px;
  font-size: 18px;
  letter-spacing: 0.05em;
}
.header .header_left .clinic_name {
  width: 480px;
  margin-bottom: initial;
  position: relative;
  z-index: 5;
}
.header .header_left .text_iten {
  font-size: 18px;
  line-height: 1.3;
  color: #16216d;
  padding: 15px 30px;
  border-radius: 50px 50px 50px 50px;
  background-color: rgba(242, 242, 242, 0.6);
  position: relative;
  z-index: 5;
}
.header .header_left .text_iten span {
  font-size: 20px;
}
.header .header_right {
  padding-right: 80px;
  position: relative;
  z-index: 5;
  display: flex;
}
.header .header_right .menu_box {
  display: flex;
}
.header .header_right .menu_box .tel_btn {
  width: 200px;
}
.header .header_right .menu_box .reserve_btn {
  width: 200px;
}
.header .header_right .menu_box .please_btn {
  width: 150px;
}
.header .header_right .menu_box .recruit_btn {
  width: 120px;
}
@media screen and (max-width: 1129px) and (min-width: 980px) {
  .header .header_right .please_btn {
    display: none;
  }
}
@media screen and (max-width: 979px) and (min-width: 768px) {
  .header .header_right .please_btn, .header .header_right .reserve_btn {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header {
    display: block;
    width: 100%;
    padding: 0;
    height: 80px;
    box-sizing: border-box;
  }
  .header .header_left {
    padding: 10px 0 0 20px;
  }
  .header .header_left .page_title {
    margin: 0.3em 0 5px;
    font-size: 18px;
    letter-spacing: 0.05em;
  }
  .header .header_left .clinic_name {
    width: 56vw;
    margin-bottom: initial;
    position: relative;
    z-index: 5;
    top: -20px;
    left: -20px;
  }
  .header .header_left .text_iten {
    width: -moz-fit-content;
    width: fit-content;
    font-size: 3.75vw;
    line-height: 1.3;
    color: #16216d;
    padding: 2vw 6vw 2vw 2vw;
    border-radius: 0 50px 50px 0;
    position: relative;
    z-index: 5;
    top: -20px;
    left: -20px;
  }
  .header .header_left .text_iten span {
    font-size: 3.75vw;
  }
  .header .header_right {
    display: none;
  }
}

.mainvisual {
  position: relative;
  height: 900px;
}
.mainvisual .info_box {
  display: flex;
  bottom: 45px;
}
.mainvisual .blog_sec {
  position: absolute;
  z-index: 2;
  left: 0px;
  bottom: 44px;
  width: clamp(248px, 32.34375vw, 414px);
  padding: 50px 35px 50px 30px;
  box-sizing: border-box;
  border-radius: 0 100px 100px 0;
  background: rgba(242, 242, 242, 0.8);
}
.mainvisual .blog_sec .inner {
  padding: 0;
}
.mainvisual .blog_sec .flex {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.mainvisual .blog_sec .sec_title {
  font-size: clamp(12px, 1.5625vw, 20px);
  font-weight: 300;
  letter-spacing: 0.15em;
  color: #4d4d4d;
  margin-bottom: 20px;
}
.mainvisual .blog_sec .sec_title span {
  font-size: clamp(18px, 2.34375vw, 30px);
  color: #f7b52c;
}
.mainvisual .blog_sec .item {
  display: block;
}
.mainvisual .blog_sec .item a {
  color: #4d4d4d;
}
.mainvisual .blog_sec .item:not(:last-of-type) {
  padding-bottom: 10px;
  border-bottom: 1px solid #4d4d4d;
  margin-bottom: 15px;
}
.mainvisual .blog_sec .date {
  min-width: 90px;
  color: #4d4d4d;
}
.mainvisual .blog_sec .item_text {
  line-height: 1.5;
  color: #4d4d4d;
}
.mainvisual .blog_sec .more {
  text-align: right;
}
.mainvisual .blog_sec .more a {
  border-bottom: 1px solid #4d4d4d;
  font-size: 14px;
  color: #4d4d4d;
}
.mainvisual .timetable_wrap {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
}
.mainvisual .timetable_wrap .timetable {
  padding-top: 20px;
  margin-left: auto;
  padding-right: 20px;
  width: clamp(468px, 60.9375vw, 780px);
  height: clamp(130px, 16.875vw, 216px);
}
@media screen and (max-width: 767px) {
  .mainvisual {
    position: relative;
    height: 228vw;
  }
  .mainvisual::before {
    display: none;
  }
  .mainvisual .blog_sec {
    position: absolute;
    left: 0;
    bottom: 46vw;
    width: 92.3vw;
    padding: 4.7vw 13.8vw 4.7vw 4.7vw;
    box-sizing: border-box;
  }
  .mainvisual .blog_sec .flex {
    width: 100%;
    display: flex;
  }
  .mainvisual .blog_sec .sec_title {
    min-width: 3.7em;
    padding-right: initial;
    margin-bottom: initial;
    color: #4d4d4d;
    font-size: 4.4vw;
    display: block;
  }
  .mainvisual .blog_sec .sec_title span {
    font-size: 6vw;
    color: #f7b52c;
  }
  .mainvisual .blog_sec .list {
    padding-top: 2.7vw;
    padding-left: 0;
    margin-bottom: initial;
    border-left: initial;
    border-top: initial;
  }
  .mainvisual .blog_sec .item {
    display: flex;
    flex-direction: column;
  }
  .mainvisual .blog_sec .item a {
    display: flex;
    flex-direction: column;
    color: #fff;
  }
  .mainvisual .blog_sec .item:not(:last-of-type) {
    margin-bottom: 2.7vw;
  }
  .mainvisual .blog_sec .date {
    width: initial;
    margin-right: 0;
    font-size: 3.4vw;
    min-width: initial;
  }
  .mainvisual .blog_sec .item_text {
    width: initial;
    font-size: 3.4vw;
  }
  .mainvisual .blog_sec .more a {
    font-size: 3.2vw;
  }
  .mainvisual .timetable_wrap {
    width: 100%;
    max-width: 100%;
    margin: 47vw auto 0;
  }
  .mainvisual .timetable_wrap .timetable {
    padding-top: 5.33vw;
    margin-left: auto;
    padding-right: 5.33vw;
    width: 92vw;
    height: 36.8vw;
  }
  .mainvisual .timetable_wrap .timetable img {
    width: 100%;
  }
}

.key {
  position: relative;
  height: 601px;
  box-sizing: border-box;
  overflow: hidden;
}
.key .cont {
  position: relative;
  width: 100%;
  height: 601px;
}
.key .key_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 601px;
}
.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/key_bg01.webp) center/cover no-repeat;
}
.key .cont01 .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;
  height: 243px;
}
.key .cont01 .key_text {
  position: relative;
  z-index: 5;
  padding-top: 158px;
  padding-right: 12vw;
  text-align: center;
  max-width: 96%;
}
.key .cont02 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.key .cont02 .key_bg {
  background: url(/images/index/key_bg02.webp) center/cover no-repeat;
}
.key .cont02 .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;
  height: 243px;
}
.key .cont02 .key_text {
  position: relative;
  z-index: 5;
  padding-top: 55px;
  padding-left: 42vw;
  text-align: center;
  max-width: 90%;
}
.key .cont03 {
  position: relative;
  display: flex;
  justify-content: center;
}
.key .cont03 .key_bg {
  background: url(/images/index/key_bg03.webp) center/cover no-repeat;
}
.key .cont03 .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;
  height: 243px;
}
.key .cont03 .key_text {
  position: relative;
  z-index: 5;
  padding-top: 188px;
  padding-right: 25vw;
  text-align: center;
  max-width: 90%;
}
@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: 133.3vw;
  }
  .key .cont {
    position: relative;
    width: 100%;
    height: 160vw;
  }
  .key .key_bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 160vw;
  }
  .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_logo {
    position: absolute;
    z-index: 5;
    top: 220px;
    left: 73.2656vw;
    background: url(/images/index/key_logo.webp) center/cover no-repeat;
    width: 40vw;
    height: 37.33vw;
  }
  .key .cont01 .key_text {
    position: relative;
    z-index: 5;
    text-align: center;
    padding-top: initial;
    padding-right: initial;
    top: -14vw;
    width: 77.33vw;
    height: 62.66vw;
    padding-top: 0;
  }
  .key .cont01 .key_text img {
    width: 100%;
  }
  .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_logo {
    position: absolute;
    z-index: 5;
    top: 85px;
    left: 47.4531vw;
    background: url(/images/index/key_logo.webp) center/cover no-repeat;
    width: 40vw;
    height: 37.33vw;
  }
  .key .cont02 .key_text {
    position: relative;
    z-index: 5;
    text-align: center;
    padding-top: initial;
    padding-left: initial;
    top: -6vw;
    width: 82.66vw;
    height: 62.13vw;
    padding-top: initial;
    padding-left: initial;
  }
  .key .cont02 .key_text img {
    width: 100%;
  }
  .key .cont03 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .key .cont03:before {
    display: none;
  }
  .key .cont03 .key_bg {
    background: url(/images/index/sp_key_bg03.webp) center/cover no-repeat;
  }
  .key .cont03 .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 .key_text {
    position: relative;
    z-index: 5;
    text-align: center;
    padding-right: initial;
    top: -22vw;
    width: 81.06vw;
    height: 64.53vw;
    padding-top: initial;
    padding-left: initial;
  }
  .key .cont03 .key_text img {
    width: 100%;
  }
}

/*
.sec01 {
  margin-bottom: 100px;
  background-color: #fcf4ed;
  padding: 95px 0;
  .event_box {
    width: 1095px;
    max-width: 90%;
    margin: 0 auto 125px;

    .event_title {
      padding-left: 80px;
      width: clamp(521px, 65.156vw, 834px);  //834px;
      max-width: 80%;
      margin: 0 auto 30px;
    }
    .text01 {
      padding-left: 90px;
      width: clamp(353px, 44.140vw, 565px);  //565px;
      max-width: 80%;
      margin: 0 auto 20px;
      font-size: 16px;
      letter-spacing: .01em;
      line-height: 1.8;
      color: #4d4d4d;
    }
    position: relative;
    .kazari01 {
      position: absolute;
      z-index: 3;
      top:     52px;
      left:       0;
      width:  clamp(94px, 11.718vw, 150px);  //150px;
      height: clamp(95px, 11.875vw, 152px);  //152px;
    }
    .kazari02 {
      position: absolute;
      top:    220px;
      right:      0;
      width:  clamp(102px, 40.75vw, 163px); //163px;
      height: clamp(128px, 16.015vw, 205px); //205px;
    }
    .kazari03 {
      position: absolute;
      z-index: 2;
      top:    183px;
      left:       0;
      width:  clamp(177px, 22.10vw, 283px);  //283px;
      height: clamp(172px, 21.48vw, 275px);  //275px;
    }
    .kazari04 {
      position: absolute;
      top:    446px;
      left:     60%;
      transform: translateX(-50%);
      width:  clamp(450px, 56.25vw, 720px);  //720px;
      height: clamp(17px,  2.109vw,  27px);  // 27px;
    }
  }

  .soudan_box {
    .title {
      padding-right: 100px;
      width:  clamp(506px, 63.281vw, 810px);  //810px;
      height: clamp( 90px, 11.328vw, 145px);  //145px;
      margin: 0 auto 25px;
    }
    .days {
      padding-right: 100px;
      width:  clamp(430px, 53.828vw, 689px);  //698px;
      height: clamp( 31px,  3.906vw,  50px);  //50px;
      margin: 0 auto 15px;
    }
    .textbox {
      padding-right: 100px;
      width: clamp(506px,  63.0281vw, 810px);  //810px;
      max-width: 90%;
      margin: 0 auto;
      position: relative;
      .text01 {
        width: 100%;
        font-size: 16px;
        letter-spacing: .01em;
        line-height: 1.8;
        text-align: justify;
        margin: 0 auto;
      }
      .soudan_kazari01 {
        position: absolute;
        bottom: -10px;
        right:  -55px;

        width:  clamp(96px,  12.031vw, 154px);   //154px;
        height: clamp(113px , 14.14vw, 181px);  //181px;
      }
    }
  }



  @media screen and (max-width: 767px) {
    margin-bottom: 13.8vw;
    padding: 12.25vw 0;
    .event_box {
      width: 100%;
      max-width: 100%;
      margin: 0 auto 18.5vw;

      .event_title {
        padding-left: initial;
        width: 95vw;
        max-width: 95%;
        margin: 0 auto 4.2vw;
        img {
          width: 100%;
        }
      }
      .text01 {
        padding-left: initial;
        width: 100%;
        max-width: 100%;
        margin: 0 auto 4.2vw;
        padding: 0 5.5vw;
        font-size: 3.75vw;
        text-align: justify;
        box-sizing: border-box;
      }
      position: relative;
      .kazari01 {
        display: none;
      }
      .kazari02 {
        position: absolute;
        top:  82.25vw;
        right:    7vw;
        width:  12.5vw;
        height: 14.457vw;
      }
      .kazari03 {
        display: none;
      }
      .kazari04 {
        position: absolute;
        top:    90vw;
        left:    5vw;
        transform: initial;
        width:  75.25vw;
        height:  4.36vw;
      }




    }

    .soudan_box {
      .title {
        padding-right: initial;
        width: 89.457vw;
        height: 17.09vw;
        margin: 0 auto 3vw;
      }
      .days {
        padding-right: initial;
        width: 100vw;
        height: 34.442vw;
        margin: 0 auto 4vw;
      }
      .textbox {
        padding-right: initial;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 5.5vw;
        position: relative;
        .text01 {
          font-size: 3.75vw;
        }
        .soudan_kazari01 {
          display: none;
        }
      }
    }
  }
} */
/*.top_timetable {
  padding-top: 100px;
  margin-bottom: 100px;

  .timetable {
    width: 780px;
    max-width: 100%;
    margin: 0 auto;
    img {
      width: 100%;
    }
  }

  @media screen and (max-width: 767px) {
    padding-top: 20.7vw;
    margin-bottom: 13.8vw;

    .timetable {
      width: 90.75vw;
      margin: 0 auto;
      img {
        width: 100%;
      }
    }
  }
} */
.recruit_dh_banner {
  width: clamp(436px, 56.875vw, 728px);
  margin: 80px auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .recruit_dh_banner {
    width: 80%;
    margin: 10vw auto;
    padding-bottom: 13.8vw;
  }
}

.lipart_banner {
  position: relative;
  z-index: 3;
  width: clamp(436px, 56.875vw, 728px);
  margin: -80px auto 80px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lipart_banner {
    width: 80%;
    margin: -13.8vw auto 0;
    padding-bottom: 13.8vw;
  }
}

.sec02 {
  margin-bottom: 100px;
}
.sec02 .concept {
  margin-left: clamp(20px, 11.328vw, 145px);
  width: 417px;
  height: 64px;
}
.sec02 .title {
  margin-left: clamp(20px, 11.328vw, 145px);
  margin-bottom: 140px;
  margin-top: 40px;
  font-size: 36px;
  letter-spacing: 0.2em;
  line-height: 1.6;
  color: #002d51;
}
.sec02 .title .t_green {
  font-size: 48px;
  letter-spacing: 0.15em;
  color: #0dac67;
}
.sec02 .title .t_red {
  font-size: 48px;
  letter-spacing: 0.15em;
  color: #da464d;
}
.sec02 .title .t_gradation {
  font-size: 48px;
  font-weight: bold;
  -webkit-background-clip: text;
  color: transparent;
  background-image: linear-gradient(180deg, rgb(29, 163, 137), rgb(247, 209, 55) 90%);
  display: inline-block;
}
.sec02 .sec_bg {
  position: absolute;
  z-index: -1;
  top: 45px;
  right: 0;
  width: 686px;
  height: 452px;
}
.sec02 .text {
  width: 980px;
  max-width: 100%;
  margin: 0 auto;
  font-size: 16px;
  letter-spacing: 0.01em;
  line-height: 1.8;
}
.sec02 .clinic_logo {
  position: absolute;
  z-index: -1;
  bottom: 0px;
  right: 20px;
  width: 255px;
  height: 238px;
}
@media screen and (max-width: 767px) {
  .sec02 {
    margin-bottom: 13.8vw;
    margin-top: 48vw;
  }
  .sec02 .inner {
    padding: 0 5.5vw;
  }
  .sec02 .concept {
    margin-left: 4vw;
    width: 59.5vw;
    height: 9.06vw;
  }
  .sec02 .title {
    margin-left: initial;
    margin-bottom: initial;
    margin-top: initial;
    margin: 10vw auto 10vw;
    text-align: center;
    font-size: 6vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
  }
  .sec02 .title .t_green {
    font-size: 8vw;
  }
  .sec02 .title .t_red {
    font-size: 8vw;
    letter-spacing: 0.15em;
  }
  .sec02 .title .t_gradation {
    font-size: 8vw;
  }
  .sec02 .sec_bg {
    position: absolute;
    z-index: -1;
    top: -48vw;
    right: 0;
    width: 84.5vw;
    height: 61vw;
  }
  .sec02 .sec_bg img {
    width: 100%;
  }
  .sec02 .text {
    width: 100%;
    max-width: 100%;
    font-size: 3.75vw;
  }
  .sec02 .clinic_logo {
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: 4vw;
    width: 45vw;
    height: 42.07vw;
  }
  .sec02 .clinic_logo img {
    width: 100%;
  }
}

.sec03 {
  overflow: hidden;
  margin-bottom: 100px;
}
.sec03 .sec_header {
  width: 100%;
  margin-bottom: 80px;
}
.sec03 .sec_header .sec_title {
  width: 100%;
}
.sec03 .point_icon {
  width: 68px;
  min-width: 68px;
  margin-right: 20px;
}
.sec03 .point_title {
  font-size: 30px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: justify;
  color: #16216d;
}
.sec03 .point01 {
  margin-bottom: 70px;
  /*position: relative;
  &::before {
    content: "";
    position: absolute;
    z-index: 1;
    top:    53px;
    right: -52px;
    background: url(/images/index/sec03_bg.webp) center / contain no-repeat;
    width:  267px;
    height: 756px;
  } */
}
.sec03 .point01 .textbox {
  margin-right: 55px;
}
.sec03 .point01 .imagebox {
  position: relative;
}
.sec03 .point01 .imagebox .circle_text01 {
  position: absolute;
  bottom: 30px;
  left: 25px;
  border-radius: 50%;
  background-color: #f79362;
  width: clamp(125px, 15.625vw, 200px);
  height: clamp(125px, 15.625vw, 200px);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(12px, 1.25vw, 16px);
  letter-spacing: 0.03em;
  line-height: 1.8;
  text-align: center;
  color: #fff;
}
.sec03 .point01 .imagebox .circle_text01 .t_yellow {
  font-size: clamp(14px, 1.71vw, 22px);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #fff000;
}
.sec03 .point02 {
  margin-bottom: 70px;
  display: block;
}
.sec03 .point02 .upper_box {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row-reverse;
  margin-bottom: 70px;
}
.sec03 .point02 .upper_box .textbox {
  margin-left: 55px;
}
.sec03 .point02 .upper_box .imagebox {
  position: relative;
}
.sec03 .point02 .upper_box .imagebox .circle_text01 {
  position: absolute;
  top: 15px;
  left: clamp(100px, 14.4vw, 185px);
  width: clamp(230px, 28.125vw, 360px);
  height: 377px;
}
.sec03 .point02 .upper_box .imagebox point_text {
  margin-bottom: 50px;
}
.sec03 .point02 .gridbox {
  width: 1125px;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  -moz-column-gap: clamp(15px, 7.031vw, 90px);
       column-gap: clamp(15px, 7.031vw, 90px);
  grid-template-columns: repeat(3, 1fr);
}
.sec03 .point02 .gridbox .item {
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.sec03 .point02 .gridbox .item .item_subtitle {
  height: 2em;
  margin-bottom: 20px;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.4;
  color: #16216d;
}
.sec03 .point02 .gridbox .item .item_title {
  margin-bottom: 20px;
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-align: center;
  color: #16216d;
}
.sec03 .point02 .gridbox .item .item_image {
  width: 100%;
  margin: 0 auto 20px;
}
.sec03 .point02 .gridbox .item .item_text {
  margin-bottom: 20px;
  flex-grow: 1;
}
.sec03 .point02 .gridbox .item .about_btn {
  background-image: linear-gradient(90deg, rgba(179, 179, 179, 0.35), rgba(44, 166, 224, 0.35));
  position: relative;
}
.sec03 .point02 .gridbox .item .about_btn:before {
  right: -13px;
  background: url(/images/index/icon_btn_arrows_blue.webp) center/contain no-repeat;
  width: 26px;
  height: 26px;
}
.sec03 .point02 .gridbox .item .about_btn p {
  color: #3a6f90;
}
.sec03 .point02 .gridbox .item .about_btn a {
  color: #3a6f90;
}
.sec03 .point03 {
  margin-bottom: 70px;
  display: block;
}
.sec03 .point03 .upper_box {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 70px;
}
.sec03 .point03 .upper_box .textbox {
  margin-right: 55px;
  margin-bottom: 25px;
}
.sec03 .point03 .upper_box .point_text {
  margin-bottom: 20px;
}
.sec03 .point03 .upper_box .about_btn {
  background-image: linear-gradient(60deg, rgba(247, 147, 98, 0.7) 0%, rgba(247, 181, 44, 0.7) 60%);
  position: relative;
}
.sec03 .point03 .upper_box .about_btn:before {
  right: -13px;
  background: url(/images/index/icon_btn_arrows_orange.webp) center/contain no-repeat;
  width: 26px;
  height: 26px;
}
.sec03 .point03 .upper_box .about_btn p {
  color: #dd5829;
}
.sec03 .point03 .upper_box .about_btn a {
  color: #dd5829;
}
.sec03 .point03 .lower_box {
  margin-bottom: 180px;
  position: relative;
}
.sec03 .point03 .lower_box::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(247, 181, 44, 0.37);
  width: 100vw;
  height: 325px;
}
.sec03 .point03 .lower_box .image_box {
  width: 1075px;
  max-width: 100%;
  margin: 0 auto;
}
.sec03 .point03 .lower_box .image_box .list {
  width: 845px;
  max-width: 100%;
  display: flex;
}
.sec03 .point03 .lower_box .image_box .list .image:nth-of-type(1) {
  margin-right: 40px;
}
.sec03 .point03 .lower_box .image_box .list:nth-of-type(1) {
  margin-bottom: 45px;
}
.sec03 .point03 .lower_box .image_box .list:nth-of-type(2) {
  margin-left: auto;
}
.sec03 .point03 .lower_box .text_box {
  width: 1000px;
  max-width: 100%;
  position: absolute;
  top: 75%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sec03 .point03 .lower_box .text_box .list {
  width: 665px;
  max-width: 100%;
  display: flex;
}
.sec03 .point03 .lower_box .text_box .list .image:nth-of-type(1) {
  margin-right: 30px;
}
.sec03 .point03 .lower_box .text_box .list:nth-of-type(1) {
  margin-bottom: 120px;
}
.sec03 .point03 .lower_box .text_box .list:nth-of-type(2) {
  margin-left: auto;
}
.sec03 .point03 .lower_box .text_box .circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background-color: #FCF4ED;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.sec03 .point03 .lower_box .text_box .circle p {
  font-size: 16px;
  text-align: center;
  margin-bottom: 10px;
}
.sec03 .point03 .lower_box .text_box .circle .t_color {
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.01em;
  font-feature-settings: "palt";
}
.sec03 .point03 .lower_box .text_box .circle .t_small {
  font-size: 16px;
  font-weight: 600;
}
.sec03 .point03 .lower_box .text_box .circle:not(:last-of-type) {
  margin-right: 30px;
}
.sec03 .point03 .lower_box .text_box .circle01 {
  color: #DA464D;
  position: relative;
}
.sec03 .point03 .lower_box .text_box .circle01::before {
  content: "";
  position: absolute;
  top: 65px;
  left: -5px;
  background: url(/images/index/point03_kazari01.webp) center/contain no-repeat;
  width: 46px;
  height: 39px;
}
.sec03 .point03 .lower_box .text_box .circle02 {
  color: #F78012;
  position: relative;
}
.sec03 .point03 .lower_box .text_box .circle02::before {
  content: "";
  position: absolute;
  bottom: -10px;
  right: 25px;
  background: url(/images/index/point03_kazari02.webp) center/contain no-repeat;
  width: 50px;
  height: 55px;
}
.sec03 .point03 .lower_box .text_box .circle03 {
  color: #A67E34;
  position: relative;
}
.sec03 .point03 .lower_box .text_box .circle03::before {
  content: "";
  position: absolute;
  top: 30px;
  right: -20px;
  background: url(/images/index/point03_kazari03.webp) center/contain no-repeat;
  width: 50px;
  height: 49px;
}
.sec03 .point03 .lower_box .text_box .circle04 {
  color: #0071BC;
  position: relative;
}
.sec03 .point03 .lower_box .text_box .circle04::before {
  content: "";
  position: absolute;
  top: 15px;
  right: 0px;
  background: url(/images/index/point03_kazari04.webp) center/contain no-repeat;
  width: 44px;
  height: 63px;
}
.sec03 .point03 .lower_box .text_box .circle05 {
  color: #009245;
  position: relative;
}
.sec03 .point03 .lower_box .text_box .circle05::before {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 25px;
  background: url(/images/index/point03_kazari05.webp) center/contain no-repeat;
  width: 60px;
  height: 35px;
}
.sec03 .point04 {
  margin-bottom: 70px;
  display: block;
}
.sec03 .point04 .upper_box {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row-reverse;
  margin-bottom: 70px;
}
.sec03 .point04 .upper_box .textbox {
  margin-left: 55px;
}
.sec03 .point04 .gridbox {
  width: 1125px;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  row-gap: 40px;
  -moz-column-gap: clamp(15px, 4.2968vw, 55px);
       column-gap: clamp(15px, 4.2968vw, 55px);
  grid-template-columns: repeat(3, 1fr);
}
.sec03 .point04 .gridbox .item {
  width: 306px;
  max-width: 100%;
  min-height: 183px;
  display: flex;
  flex-direction: column;
  padding: 20px;
  background-color: #C9DFEC;
}
.sec03 .point04 .gridbox .item .item_subtitle {
  height: 2em;
  margin-bottom: 20px;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #333333;
}
.sec03 .point04 .gridbox .item .item_title {
  margin-top: auto;
  margin-bottom: 35px;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.15em;
  line-height: 1.2;
  text-align: center;
  color: #16216d;
}
.sec03 .point04 .gridbox .item {
  position: relative;
}
.sec03 .point04 .gridbox .item .item_image {
  position: absolute;
  z-index: 3;
  width: 100%;
}
.sec03 .point04 .gridbox .item .item_image img {
  width: 100%;
}
.sec03 .point04 .gridbox .item:nth-of-type(1) {
  position: relative;
}
.sec03 .point04 .gridbox .item:nth-of-type(1) .item_image {
  position: absolute;
  bottom: -20px;
  left: -28px;
  width: 100px;
  height: 67px;
}
.sec03 .point04 .gridbox .item:nth-of-type(2) {
  position: relative;
}
.sec03 .point04 .gridbox .item:nth-of-type(2) .item_image {
  position: absolute;
  bottom: 0px;
  right: 30px;
  width: 47px;
  height: 109px;
}
.sec03 .point04 .gridbox .item:nth-of-type(3) {
  position: relative;
}
.sec03 .point04 .gridbox .item:nth-of-type(3) .item_image {
  position: absolute;
  bottom: -10px;
  right: 5px;
  width: 110px;
  height: 77px;
}
.sec03 .point04 .gridbox .item:nth-of-type(4) {
  position: relative;
}
.sec03 .point04 .gridbox .item:nth-of-type(4) .item_image {
  position: absolute;
  bottom: -20px;
  left: 20px;
  width: 63px;
  height: 111px;
}
.sec03 .point04 .gridbox .item:nth-of-type(5) {
  position: relative;
}
.sec03 .point04 .gridbox .item:nth-of-type(5) .item_image {
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 135px;
  height: 176px;
}
.sec03 .point04 .gridbox .item:nth-of-type(6) {
  position: relative;
}
.sec03 .point04 .gridbox .item:nth-of-type(6) .item_image {
  position: absolute;
  top: 60px;
  right: -20px;
  width: 104px;
  height: 83px;
}
@media screen and (max-width: 1206px) and (min-width: 768px) {
  .sec03 .point04 .gridbox {
    width: 720px;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .sec03 {
    margin-bottom: 13.8vw;
  }
  .sec03 .sec_header {
    width: 100%;
    margin-bottom: 20vw;
  }
  .sec03 .sec_header .sec_title {
    width: 100%;
  }
  .sec03 .sec_header .sec_title img {
    width: 100%;
  }
  .sec03 .point {
    padding: 0 5.5vw;
  }
  .sec03 .point_icon {
    width: 12.5vw;
    min-width: 12.5vw;
    margin-right: 3.5vw;
  }
  .sec03 .point_title {
    font-size: 6vw;
  }
  .sec03 .point01 {
    margin-bottom: 17.5vw;
  }
  .sec03 .point01 .textbox {
    margin-right: initial;
  }
  .sec03 .point01 .imagebox {
    position: relative;
  }
  .sec03 .point01 .imagebox .circle_text01 {
    position: absolute;
    bottom: 1.5vw;
    left: 2.5vw;
    width: 36vw;
    height: 36vw;
    font-size: 2.88vw;
  }
  .sec03 .point01 .imagebox .circle_text01 .t_yellow {
    font-size: 3.86vw;
  }
  .sec03 .point02 {
    margin-bottom: 17.5vw;
    display: block;
  }
  .sec03 .point02 .upper_box {
    margin-bottom: 17.5vw;
  }
  .sec03 .point02 .upper_box .textbox {
    margin-left: initial;
  }
  .sec03 .point02 .upper_box .imagebox {
    position: relative;
  }
  .sec03 .point02 .upper_box .imagebox .circle_text01 {
    position: absolute;
    top: -2vw;
    left: 30vw;
    width: 62.5vw;
    height: 65.5vw;
  }
  .sec03 .point02 .gridbox {
    width: 100%;
    max-width: 100%;
    display: grid;
    -moz-column-gap: initial;
         column-gap: initial;
    row-gap: 10vw;
    grid-template-columns: repeat(1, 1fr);
  }
  .sec03 .point02 .gridbox .item {
    max-width: 100%;
  }
  .sec03 .point02 .gridbox .item .item_subtitle {
    height: initial;
    margin-bottom: 1.5vw;
    font-size: 4vw;
    text-align: center;
  }
  .sec03 .point02 .gridbox .item .item_title {
    margin-bottom: 4.2vw;
    font-size: 5.5vw;
    text-align: center;
  }
  .sec03 .point02 .gridbox .item .item_image {
    width: 100%;
    margin: 0 auto 4.2vw;
  }
  .sec03 .point02 .gridbox .item .item_image img {
    width: 100%;
  }
  .sec03 .point02 .gridbox .item .item_text {
    margin-bottom: 4.2vw;
  }
  .sec03 .point02 .gridbox .item .about_btn:before {
    right: -13px;
    background: url(/images/index/icon_btn_arrows_blue.webp) center/contain no-repeat;
    width: 6.93vw;
    height: 6.93vw;
  }
  .sec03 .point03 {
    margin-bottom: 17.5vw;
    display: block;
  }
  .sec03 .point03 .upper_box {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 17.5vw;
  }
  .sec03 .point03 .upper_box .textbox {
    margin-right: initial;
  }
  .sec03 .point03 .upper_box .point_title {
    letter-spacing: 0;
  }
  .sec03 .point03 .upper_box .point_text {
    margin-bottom: 4.2vw;
  }
  .sec03 .point03 .upper_box .about_btn:before {
    width: 6.93vw;
    height: 6.93vw;
  }
  .sec03 .point03 .lower_box {
    margin-bottom: 13.8vw;
    position: relative;
  }
  .sec03 .point03 .lower_box::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(247, 181, 44, 0.37);
    width: 100vw;
    height: 223vw;
  }
  .sec03 .point03 .lower_box .image_box {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  .sec03 .point03 .lower_box .image_box .list {
    width: 97vw;
    max-width: 100%;
    margin: 0 auto;
    display: block;
  }
  .sec03 .point03 .lower_box .image_box .list .image img {
    width: 100%;
  }
  .sec03 .point03 .lower_box .image_box .list .image:nth-of-type(1) {
    margin-right: initial;
  }
  .sec03 .point03 .lower_box .image_box .list .image:not(:last-of-type) {
    margin-bottom: 5vw;
  }
  .sec03 .point03 .lower_box .image_box .list:nth-of-type(1) {
    margin-bottom: initial;
  }
  .sec03 .point03 .lower_box .image_box .list:nth-of-type(2) {
    margin-left: initial;
  }
  .sec03 .point03 .lower_box .text_box {
    width: 100%;
    max-width: 100%;
    position: absolute;
    top: -13.5vw;
    left: 0;
    transform: initial;
  }
  .sec03 .point03 .lower_box .text_box .list {
    width: 665px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
  }
  .sec03 .point03 .lower_box .text_box .list .image:nth-of-type(1) {
    margin-right: initial;
  }
  .sec03 .point03 .lower_box .text_box .list:nth-of-type(1) {
    margin-bottom: initial;
  }
  .sec03 .point03 .lower_box .text_box .list:nth-of-type(2) {
    margin-left: initial;
  }
  .sec03 .point03 .lower_box .text_box .circle {
    width: 40vw;
    height: 40vw;
    border-radius: 50%;
    background-color: #FCF4ED;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .sec03 .point03 .lower_box .text_box .circle p {
    font-size: 3.25vw;
    text-align: center;
    margin-bottom: 2.5vw;
  }
  .sec03 .point03 .lower_box .text_box .circle .t_color {
    font-size: 4.5vw;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.01em;
    font-feature-settings: "palt";
  }
  .sec03 .point03 .lower_box .text_box .circle .t_small {
    font-size: 3.25vw;
    font-weight: 600;
  }
  .sec03 .point03 .lower_box .text_box .circle:not(:last-of-type) {
    margin-right: initial;
  }
  .sec03 .point03 .lower_box .text_box .circle01 {
    color: #DA464D;
    position: relative;
  }
  .sec03 .point03 .lower_box .text_box .circle01::before {
    content: "";
    position: absolute;
    top: 65px;
    left: -5px;
    background: url(/images/index/point03_kazari01.webp) center/contain no-repeat;
    width: 46px;
    height: 39px;
  }
  .sec03 .point03 .lower_box .text_box .circle02 {
    color: #F78012;
    position: absolute;
    top: 36vw;
    right: 0;
  }
  .sec03 .point03 .lower_box .text_box .circle02::before {
    content: "";
    position: absolute;
    bottom: -10px;
    right: 25px;
    background: url(/images/index/point03_kazari02.webp) center/contain no-repeat;
    width: 50px;
    height: 55px;
  }
  .sec03 .point03 .lower_box .text_box .circle03 {
    color: #A67E34;
    position: absolute;
    top: 90vw;
    right: 0;
  }
  .sec03 .point03 .lower_box .text_box .circle03::before {
    content: "";
    position: absolute;
    top: 30px;
    right: -20px;
    background: url(/images/index/point03_kazari03.webp) center/contain no-repeat;
    width: 50px;
    height: 49px;
  }
  .sec03 .point03 .lower_box .text_box .circle04 {
    color: #0071BC;
    position: absolute;
    top: 160vw;
    left: 0;
  }
  .sec03 .point03 .lower_box .text_box .circle04::before {
    content: "";
    position: absolute;
    top: 15px;
    right: 0px;
    background: url(/images/index/point03_kazari04.webp) center/contain no-repeat;
    width: 44px;
    height: 63px;
  }
  .sec03 .point03 .lower_box .text_box .circle05 {
    color: #009245;
    position: absolute;
    top: 225vw;
    right: 2vw;
  }
  .sec03 .point03 .lower_box .text_box .circle05::before {
    content: "";
    position: absolute;
    bottom: 10px;
    right: 25px;
    background: url(/images/index/point03_kazari05.webp) center/contain no-repeat;
    width: 60px;
    height: 35px;
  }
  .sec03 .point04 {
    margin-bottom: 17.5vw;
    display: block;
  }
  .sec03 .point04 .upper_box {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row-reverse;
    margin-bottom: 17.7vw;
  }
  .sec03 .point04 .upper_box .textbox {
    margin-left: initial;
  }
  .sec03 .point04 .gridbox {
    width: 100%;
    max-width: 100%;
    display: grid;
    row-gap: 6.5vw;
    -moz-column-gap: initial;
         column-gap: initial;
    grid-template-columns: repeat(1, 1fr);
  }
  .sec03 .point04 .gridbox .item {
    width: 76.5vw;
    max-width: 100%;
    min-height: 45.625vw;
    margin: 0 auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding: 5.5vw;
    background-color: #C9DFEC;
  }
  .sec03 .point04 .gridbox .item .item_subtitle {
    height: initial;
    margin-bottom: 5vw;
    font-size: 4.5vw;
    letter-spacing: 0.01em;
  }
  .sec03 .point04 .gridbox .item .item_title {
    margin-bottom: 11.25vw;
    font-size: 6vw;
    letter-spacing: 0.01em;
  }
  .sec03 .point04 .gridbox .item {
    position: relative;
  }
  .sec03 .point04 .gridbox .item .item_image {
    position: absolute;
    z-index: 3;
    width: 100%;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(1) {
    position: relative;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(1) .item_image {
    position: absolute;
    bottom: -5vw;
    left: -7.25vw;
    width: 25vw;
    height: 16.64vw;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(2) {
    position: relative;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(2) .item_image {
    position: absolute;
    bottom: 0;
    right: 6.5vw;
    width: 11.7vw;
    height: 27.284vw;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(3) {
    position: relative;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(3) .item_image {
    position: absolute;
    bottom: -2.75vw;
    right: 1.25vw;
    width: 27.5vw;
    height: 19.21vw;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(4) {
    position: relative;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(4) .item_image {
    position: absolute;
    bottom: -5vw;
    left: 4vw;
    width: 15.78vw;
    height: 27.75vw;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(5) {
    position: relative;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(5) .item_image {
    position: absolute;
    bottom: -5vw;
    right: -5vw;
    width: 33.64vw;
    height: 43.88vw;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(6) {
    position: relative;
  }
  .sec03 .point04 .gridbox .item:nth-of-type(6) .item_image {
    position: absolute;
    top: 11vw;
    right: -8.5vw;
    width: 27.5vw;
    height: 19.29vw;
  }
}

.sec04 {
  margin-bottom: 0;
  background: linear-gradient(180deg, rgba(247, 181, 44, 0.8) 0%, rgb(255, 255, 255) 100%);
  padding: 98px 0 145px;
  position: relative;
}
.sec04::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  background: url(/images/index/sec04_title_bg.webp) center/cover no-repeat;
  width: 488px;
  height: 416px;
}
.sec04 .sec_subtitle {
  font-size: 24px;
  letter-spacing: 0.15em;
  line-height: 1.8;
  text-align: center;
  color: #fff;
  margin-bottom: 50px;
}
.sec04 .sec_title {
  font-size: 48px;
  letter-spacing: 0.15em;
  line-height: 1.8;
  text-align: center;
  color: #fff;
  margin-bottom: 0px;
}
.sec04 .sec_title .t_small {
  font-size: 36px;
  color: #fff;
}
.sec04 .sec_e_title {
  font-size: 20px;
  text-align: center;
  color: #FFF000;
  margin-bottom: 80px;
}
.sec04 .item01 {
  width: 1125px;
  max-width: 100%;
  margin: 0 auto 45px;
  background-color: #f2f2f2;
  box-shadow: 0px 6px 8px 0px rgba(68, 68, 68, 0.26);
  box-sizing: border-box;
  padding: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
}
.sec04 .item01 .imagebox {
  width: 50%;
  max-width: 50%;
  min-width: 50%;
  margin-right: 35px;
}
.sec04 .item01 .imagebox img {
  width: 100%;
}
.sec04 .item01 .textbox {
  width: 50%;
  height: 100%;
  padding: 30px 30px 15px 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.sec04 .item01 .header_box {
  padding-bottom: 10px;
  border-bottom: 2px dashed #333631;
  margin-bottom: 15px;
}
.sec04 .item01 .title_box {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec04 .item01 .title_box .icon {
  width: 80px;
  margin-right: 20px;
}
.sec04 .item01 .title_box .icon img {
  width: 100%;
}
.sec04 .item01 .item_subtitle {
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-align: center;
  color: #4d4d4d;
  margin-bottom: 10px;
}
.sec04 .item01 .item_title {
  font-size: 24px;
  letter-spacing: 0.01em;
  line-height: 1.3;
  text-align: center;
  font-feature-settings: "palt";
  color: #333631;
  margin-bottom: 5px;
}
.sec04 .item01 .en-title {
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.2em;
  text-align: center;
  font-feature-settings: "palt";
  color: #f79362;
  margin-bottom: 5px;
}
.sec04 .item01 .item_text {
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  color: #4d4d4d;
  margin-bottom: 15px;
}
.sec04 .item01 .item_icon {
  text-align: right;
  margin-top: auto;
}
.sec04 .gridbox {
  width: 1125px;
  max-width: 100%;
  margin: 0 auto 45px;
  row-gap: 45px;
  -moz-column-gap: 45px;
       column-gap: 45px;
  grid-template-columns: repeat(2, 1fr);
}
.sec04 .gridbox .item {
  padding: 30px 30px 15px;
  background-color: #f2f2f2;
  box-shadow: 0px 6px 8px 0px rgba(68, 68, 68, 0.26);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.sec04 .gridbox .item .header_box {
  padding-bottom: 10px;
  border-bottom: 2px dashed #333631;
  margin-bottom: 15px;
}
.sec04 .gridbox .item .title_box {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec04 .gridbox .item .title_box .icon {
  width: 80px;
  margin-right: 20px;
}
.sec04 .gridbox .item .title_box .icon img {
  width: 100%;
}
.sec04 .gridbox .item .item_subtitle {
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-align: center;
  color: #4d4d4d;
  margin-bottom: 10px;
}
.sec04 .gridbox .item .item_title {
  font-size: 24px;
  letter-spacing: 0.01em;
  line-height: 1.3;
  text-align: center;
  font-feature-settings: "palt";
  color: #333631;
  margin-bottom: 5px;
}
.sec04 .gridbox .item .en-title {
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.2em;
  text-align: center;
  font-feature-settings: "palt";
  margin-bottom: 5px;
}
.sec04 .gridbox .item .item_text {
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  color: #4d4d4d;
  margin-bottom: 15px;
  flex-grow: 1;
}
.sec04 .gridbox .item .item_icon {
  text-align: right;
}
.sec04 .gridbox .item:nth-of-type(1) .en-title {
  color: #8cc63f;
}
.sec04 .gridbox .item:nth-of-type(2) .en-title {
  color: #f3b6d1;
}
.sec04 .gridbox .item:nth-of-type(3) .en-title {
  color: #f7b52c;
}
.sec04 .gridbox .item:nth-of-type(4) .en-title {
  color: #0dac67;
}
.sec04 .gridbox .item:nth-of-type(5) .en-title {
  color: #c2b6d1;
}
.sec04 .gridbox .item:nth-of-type(6) .en-title {
  color: #2ca6e0;
}
.sec04 .gridbox .item:nth-of-type(7) .en-title {
  color: #b3b3b3;
}
.sec04 .gridbox .item:nth-of-type(8) .en-title {
  color: #e2ab83;
}
.sec04 .gridbox .item:nth-of-type(9) .en-title {
  color: #b3b3b3;
}
.sec04 .gridbox .item:nth-of-type(10) .en-title {
  color: #a67e34;
}
.sec04 .item12 {
  width: 1125px;
  max-width: 100%;
  margin: 0 auto;
  padding: 30px 30px 15px;
  background-color: #f2f2f2;
  box-shadow: 0px 6px 8px 0px rgba(68, 68, 68, 0.26);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 45px;
  box-sizing: border-box;
}
.sec04 .item12 .imagebox {
  width: 34%;
  max-width: 34%;
  min-width: 34%;
  box-sizing: border-box;
}
.sec04 .item12 .textbox {
  width: 66%;
  margin-right: 35px;
  box-sizing: border-box;
}
.sec04 .item12 .header_box {
  padding-bottom: 10px;
  border-bottom: 2px dashed #333631;
  margin-bottom: 15px;
}
.sec04 .item12 .title_box {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec04 .item12 .title_box .icon {
  width: 80px;
  margin-right: 20px;
}
.sec04 .item12 .title_box .icon img {
  width: 100%;
}
.sec04 .item12 .item_subtitle {
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-align: center;
  color: #4d4d4d;
  margin-bottom: 10px;
}
.sec04 .item12 .item_title {
  font-size: 24px;
  letter-spacing: 0.01em;
  line-height: 1.3;
  text-align: center;
  font-feature-settings: "palt";
  color: #333631;
  margin-bottom: 5px;
}
.sec04 .item12 .en-title {
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.2em;
  text-align: center;
  font-feature-settings: "palt";
  color: #499250;
  margin-bottom: 5px;
}
.sec04 .item12 .item_text {
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  color: #4d4d4d;
  margin-bottom: 15px;
}
.sec04 .item12 .item_icon {
  text-align: right;
}
@media screen and (max-width: 999px) and (min-width: 768px) {
  .sec04 .gridbox {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
  .sec04 .gridbox .item {
    padding: 30px 10px 15px;
  }
  .sec04 .gridbox .item .item_subtitle {
    font-feature-settings: "palt";
    letter-spacing: 0.01em;
  }
  .sec04 .gridbox .item .item_title {
    font-feature-settings: "palt";
  }
}
@media screen and (max-width: 767px) {
  .sec04 {
    padding: 7.5vw 0 16.25vw;
  }
  .sec04 .sec_subtitle {
    font-size: 4vw;
    margin-bottom: 5vw;
  }
  .sec04 .sec_title {
    font-size: 6vw;
    margin-bottom: 0;
  }
  .sec04 .sec_title .t_small {
    font-size: 3.5vw;
  }
  .sec04 .sec_e_title {
    font-size: 3.75vw;
    margin-bottom: 8vw;
  }
  .sec04 .item01 {
    width: 90%;
    max-width: 90%;
    margin: 0 5.5vw 6.2vw;
    padding: 5.5vw;
    background-color: #f2f2f2;
    box-shadow: 0px 6px 8px 0px rgba(68, 68, 68, 0.26);
    box-sizing: border-box;
    padding: 0;
    display: block;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
  }
  .sec04 .item01 .imagebox {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    margin-right: ini1;
  }
  .sec04 .item01 .imagebox img {
    width: 100%;
  }
  .sec04 .item01 .textbox {
    width: 100%;
    height: 100%;
    padding: 5.5vw;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
  }
  .sec04 .item01 .header_box {
    padding-bottom: 2.6vw;
    border-bottom: 0.53vw dashed #333631;
    margin-bottom: 4vw;
  }
  .sec04 .item01 .title_box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sec04 .item01 .title_box .icon {
    width: 21.33vw;
    margin-right: 4vw;
  }
  .sec04 .item01 .item_subtitle {
    font-size: 4.2vw;
    letter-spacing: 0;
    margin-bottom: 2.6vw;
  }
  .sec04 .item01 .item_title {
    font-size: 4.8vw;
    letter-spacing: 0.01em;
    line-height: 1.3;
    text-align: center;
    font-feature-settings: "palt";
    color: #333631;
    margin-bottom: 1.3vw;
  }
  .sec04 .item01 .en-title {
    font-size: 5.3vw;
    font-weight: 300;
    letter-spacing: 0.1em;
    text-align: center;
    font-feature-settings: "palt";
    color: #f79362;
    margin-bottom: 1.3vw;
  }
  .sec04 .item01 .item_text {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
    margin-bottom: 3.75vw;
  }
  .sec04 .item01 .item_icon {
    text-align: right;
    margin-top: auto;
  }
  .sec04 .item01 .item_icon img {
    width: 10.66vw;
  }
  .sec04 .gridbox {
    width: 100%;
    max-width: 100%;
    padding: 0 5.5vw;
    display: grid;
    row-gap: 6.2vw;
    -moz-column-gap: initial;
         column-gap: initial;
    grid-template-columns: repeat(1, 1fr);
    box-sizing: border-box;
  }
  .sec04 .gridbox .item {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .sec04 .gridbox .item .item_image {
    width: 35vw;
    height: 35vw;
    margin: 0 auto 2.4vw;
  }
  .sec04 .gridbox .item .item_image img {
    width: 100%;
  }
  .sec04 .gridbox .item .header_box {
    padding-bottom: 2.6vw;
    border-bottom: 0.53vw dashed #333631;
    margin-bottom: 4vw;
  }
  .sec04 .gridbox .item .title_box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sec04 .gridbox .item .title_box .icon {
    width: 21.33vw;
    margin-right: 4vw;
  }
  .sec04 .gridbox .item .item_subtitle {
    font-size: 4.2vw;
    letter-spacing: 0;
    font-feature-settings: "palt";
    margin-bottom: 2.6vw;
  }
  .sec04 .gridbox .item .item_title {
    font-size: 4.25vw;
    letter-spacing: 0.015em;
  }
  .sec04 .gridbox .item .en-title {
    font-size: 5.3vw;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
    margin-bottom: 1.3vw;
  }
  .sec04 .gridbox .item .item_text {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
    margin-bottom: 3.75vw;
  }
  .sec04 .gridbox .item .item_icon img {
    width: 10.66vw;
  }
  .sec04 .item12 {
    width: 90%;
    max-width: 90%;
    margin: 0 5.5vw;
    padding: 5.5vw;
    background-color: #f2f2f2;
    box-shadow: 0px 6px 8px 0px rgba(68, 68, 68, 0.26);
    display: block;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 45px;
    box-sizing: border-box;
  }
  .sec04 .item12 .imagebox {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    box-sizing: border-box;
  }
  .sec04 .item12 .textbox {
    width: 100%;
    margin-right: initial;
    box-sizing: border-box;
  }
  .sec04 .item12 .header_box {
    padding-bottom: 2.6vw;
    border-bottom: 0.53vw dashed #333631;
    margin-bottom: 4vw;
  }
  .sec04 .item12 .title_box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sec04 .item12 .title_box .icon {
    width: 21.33vw;
    margin-right: 4vw;
  }
  .sec04 .item12 .item_subtitle {
    font-size: 4.2vw;
    letter-spacing: 0;
    margin-bottom: 2.6vw;
  }
  .sec04 .item12 .item_title {
    font-size: 4.8vw;
    letter-spacing: 0.01em;
    line-height: 1.3;
    text-align: center;
    font-feature-settings: "palt";
    color: #333631;
    margin-bottom: 1.3vw;
  }
  .sec04 .item12 .en-title {
    font-size: 5.3vw;
    font-weight: 300;
    letter-spacing: 0.1em;
    text-align: center;
    font-feature-settings: "palt";
    color: #499250;
    margin-bottom: 1.3vw;
  }
  .sec04 .item12 .item_text {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
    margin-bottom: 3.75vw;
  }
  .sec04 .item12 .item_icon {
    text-align: right;
  }
  .sec04 .item12 .item_icon img {
    width: 10.66vw;
  }
}

.sec05 {
  margin-bottom: 100px;
  position: relative;
}
.sec05::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  background: url(/images/index/sec05_bg_image01.webp) right top/cover no-repeat;
  width: 680px;
  height: 456px;
}
.sec05 .inner {
  width: 970px;
  max-width: 100%;
}
.sec05 .sec_subtitle {
  padding-top: 160px;
  font-size: 18px;
  letter-spacing: 0.1em;
  color: #16216D;
  margin-bottom: 85px;
  position: relative;
}
.sec05 .sec_subtitle::before {
  content: "";
  position: absolute;
  top: 75px;
  left: 0;
  background: url(/images/index/text_greeting.webp) center bottom/cover no-repeat;
  width: 440px;
  height: 64px;
}
.sec05 .sec_title {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 30px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #16216D;
  margin-bottom: 65px;
  position: relative;
}
.sec05 .sec_title::before {
  content: "";
  position: absolute;
  top: -24px;
  right: -55px;
  background: url(/images/index/sec05_title_kazari.webp) center/cover no-repeat;
  width: 143px;
  height: 67px;
}
.sec05 .cont01 {
  margin-bottom: 60px;
  position: relative;
}
.sec05 .cont01::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  background: url(/images/index/sec05_logo.webp) center/cover no-repeat;
  width: 240px;
  height: 225px;
}
.sec05 .textbox {
  width: 62%;
}
.sec05 .textbox .cont_text {
  padding-left: 0;
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.8;
  margin-bottom: 40px;
}
.sec05 .textbox .about_btn {
  color: #fff;
  background-image: linear-gradient(60deg, rgb(0, 97, 151) 0%, rgb(179, 179, 179) 60%);
  position: relative;
}
.sec05 .textbox .about_btn:before {
  right: -13px;
  background: url(/images/index/icon_doctor.webp) center/contain no-repeat;
  width: 26px;
  height: 26px;
}
.sec05 .imagebox {
  width: 38%;
  min-width: initial;
  max-width: initial;
  margin-right: 40px;
}
.sec05 .imagebox .kana {
  position: absolute;
}
.sec05 .imagebox .image {
  width: 100%;
  height: 100%;
  margin-bottom: 20px;
}
.sec05 .imagebox .image img {
  width: 100%;
}
.sec05 .imagebox .neme {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  color: #16216D;
}
.sec05 .imagebox .name .t_text {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.sec05 .imagebox .s_text {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.sec05 .career_box {
  border: 1px solid #16216D;
  padding: 25px;
}
.sec05 .career_box .box {
  display: flex;
  align-items: flex-start;
  margin-bottom: 30px;
}
.sec05 .career_box .box_title {
  width: 187px;
  max-width: 20%;
  height: 17px;
  border-left: 10px solid #16216D;
  padding-left: 15px;
  font-size: 16px;
  color: #16216D;
  display: flex;
  align-items: center;
}
.sec05 .career_box .item {
  display: flex;
  justify-content: flex-start;
}
.sec05 .career_box .item .date {
  width: 150px;
  max-width: 20%;
  padding-right: 60px;
  font-size: 15px;
  letter-spacing: 0.1em;
  color: #16216D;
}
.sec05 .career_box .item .data {
  width: 80%;
  max-width: 80%;
  font-size: 15px;
  letter-spacing: 0.1em;
  color: #16216D;
}
.sec05 .career_box .item:not(:last-of-type) {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .sec05 {
    margin-bottom: 13.8vw;
    position: relative;
  }
  .sec05::before {
    position: absolute;
    z-index: -1;
    background: url(/images/index/sec05_bg_image01_sp.webp) right top/cover no-repeat;
    width: 100vw;
    height: 68.2vw;
  }
  .sec05 .inner {
    width: 100%;
    max-width: 100%;
    padding: 0 5.5vw;
  }
  .sec05 .sec_subtitle {
    padding-top: 57.25vw;
    font-size: 3.75vw;
    margin-bottom: 4vw;
    position: relative;
  }
  .sec05 .sec_subtitle::before {
    content: "";
    position: absolute;
    top: 24vw;
    left: 0;
    background: url(/images/index/text_greeting_sp.webp) center bottom/cover no-repeat;
    width: 63.7vw;
    height: 9.06vw;
  }
  .sec05 .sec_title {
    width: -moz-fit-content;
    width: fit-content;
    font-size: 6vw;
    margin-bottom: 5.5vw;
    position: relative;
  }
  .sec05 .sec_title::before {
    content: "";
    position: absolute;
    top: 11vw;
    right: -10vw;
    width: 37.75vw;
    height: 17.32vw;
  }
  .sec05 .cont01 {
    margin-bottom: 60px;
  }
  .sec05 .cont01::after {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: initial;
    left: 50%;
    transform: translateX(-50%);
    background: url(/images/index/sec05_logo.webp) center/cover no-repeat;
    width: 60vw;
    height: 56.099vw;
  }
  .sec05 .textbox {
    width: 100%;
  }
  .sec05 .textbox .cont_text {
    padding-left: 0;
    font-size: 3.75vw;
  }
  .sec05 .textbox .about_btn:before {
    width: 6.93vw;
    height: 6.93vw;
  }
  .sec05 .imagebox {
    width: 100%;
    min-width: initial;
    max-width: initial;
  }
  .sec05 .imagebox .kana {
    display: none;
  }
  .sec05 .imagebox .image {
    padding-left: initial;
    width: 67.2vw;
    height: 55.06vw;
    margin-bottom: initial;
    margin: 0 auto 4.2vw;
  }
  .sec05 .imagebox .image img {
    width: 100%;
  }
  .sec05 .imagebox .neme {
    font-size: 4.5vw;
  }
  .sec05 .imagebox .name .s_text {
    font-size: 3.75vw;
  }
  .sec05 .career_box {
    max-width: 90%;
    margin-bottom: 12.25vw;
    padding: 5.5vw;
  }
  .sec05 .career_box .box {
    display: block;
    margin-bottom: 6.25vw;
  }
  .sec05 .career_box .box_title {
    width: 100%;
    max-width: 20%;
    height: 4.25vw;
    padding-left: 3.75vw;
    font-size: 4vw;
    display: flex;
    align-items: center;
    margin-bottom: 6.25vw;
  }
  .sec05 .career_box .item {
    display: block;
    justify-content: flex-start;
  }
  .sec05 .career_box .item .date {
    width: 100%;
    max-width: 100%;
    padding-right: initial;
    font-size: 3.75vw;
  }
  .sec05 .career_box .item .data {
    width: 100%;
    max-width: 100%;
    font-size: 3.75vw;
  }
  .sec05 .career_box .item:not(:last-of-type) {
    margin-bottom: 3vw;
  }
}

.sec06 {
  margin-bottom: 100px;
  background: radial-gradient(at 10% 20%, #F7B52C 0, transparent 65%), radial-gradient(at 90% 20%, #FCF4ED 0, transparent 60%), radial-gradient(at 90% 90%, rgba(243, 182, 209, 0.7) 0, transparent 70%), radial-gradient(at 20% 90%, #FEFEFD 0, transparent 60%);
  padding: 65px 50px;
  box-sizing: border-box;
  position: relative;
}
.sec06 .cont01 {
  box-sizing: border-box;
}
.sec06 .cont01 .textbox {
  margin-right: 20px;
  box-sizing: border-box;
}
.sec06 .cont01 .textbox .cont_title {
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  font-family: initial;
  font-size: clamp(23px, 2.968vw, 38px);
  letter-spacing: 0.1em;
  line-height: 1.7;
  position: relative;
}
.sec06 .cont01 .textbox .cont_title::before {
  content: "";
  position: absolute;
  top: -25px;
  left: -30px;
  background: url(/images/index/sec06_kazari01.webp) center/cover no-repeat;
  width: 40px;
  height: 50px;
}
.sec06 .cont01 .textbox .cont_text {
  font-size: 15px;
}
.sec06 .cont01 .textbox .box {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.sec06 .cont01 .textbox .box .textbox {
  margin-bottom: 30px;
  box-sizing: border-box;
}
.sec06 .cont01 .textbox .box .textbox .text01 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 3px;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0;
  text-align: center;
}
.sec06 .cont01 .textbox .box .textbox .text02 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 10px;
  font-size: 21px;
  letter-spacing: 0.1em;
  text-align: center;
  text-wrap: nowrap;
  color: #F79362;
}
.sec06 .cont01 .imagebox {
  width: 50%;
  position: relative;
  box-sizing: border-box;
}
.sec06 .cont01 .imagebox .cont_image {
  width: 100%;
  margin-bottom: 40px;
}
.sec06 .cont01 .imagebox .cont_image img {
  width: 100%;
}
.sec06 .cont01 .imagebox .recruit {
  position: absolute;
  bottom: -82px;
  right: 0;
}
@media screen and (max-width: 1114px) and (min-width: 768px) {
  .sec06 .cont01 .imagebox .recruit {
    position: initial;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .sec06 {
    margin: 0 5.5vw;
    margin-bottom: 20.7vw;
    background: radial-gradient(at 10% 20%, #F7B52C 0, transparent 65%), radial-gradient(at 90% 20%, #FCF4ED 0, transparent 60%), radial-gradient(at 90% 90%, rgba(243, 182, 209, 0.7) 0, transparent 70%), radial-gradient(at 20% 90%, #FEFEFD 0, transparent 60%);
    padding: 9.25vw 5.5vw;
  }
  .sec06 .cont01 {
    box-sizing: border-box;
  }
  .sec06 .cont01 .textbox {
    width: 100%;
    margin-right: initial;
    box-sizing: border-box;
  }
  .sec06 .cont01 .textbox .cont_title {
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    font-family: initial;
    font-size: 6vw;
    letter-spacing: 0.1em;
    line-height: 1.7;
    position: relative;
  }
  .sec06 .cont01 .textbox .cont_title::before {
    content: "";
    position: absolute;
    top: -25px;
    left: -30px;
    background: url(/images/index/sec06_kazari01.webp) center/cover no-repeat;
    width: 40px;
    height: 50px;
  }
  .sec06 .cont01 .textbox .cont_text {
    font-size: 3.75vw;
  }
  .sec06 .cont01 .textbox .box {
    width: 45%;
    margin-bottom: 13.8vw;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    flex-wrap: nowrap;
    box-sizing: border-box;
  }
  .sec06 .cont01 .textbox .box .textbox {
    margin-bottom: 4.2vw;
    box-sizing: border-box;
  }
  .sec06 .cont01 .textbox .box .textbox .text01 {
    margin: 0 auto 0.75vw;
    font-size: 4.5vw;
  }
  .sec06 .cont01 .textbox .box .textbox .text02 {
    margin: 0 auto 2.5vw;
    font-size: 3.75vw;
  }
  .sec06 .cont01 .textbox {
    position: relative;
  }
  .sec06 .cont01 .textbox .cont_image {
    position: absolute;
    top: 23.25vw;
    right: -10.8vw;
    width: 54vw;
    height: 50vw;
    margin-bottom: 4.2vw;
  }
  .sec06 .cont01 .textbox .cont_image img {
    width: 100%;
  }
  .sec06 .cont01 .textbox .cont_text {
    font-size: 3.75vw;
    margin-bottom: 36vw;
  }
  .sec06 .cont01 .imagebox {
    box-sizing: border-box;
  }
  .sec06 .cont01 .imagebox .cont_image {
    display: none;
  }
  .sec06 .cont01 .imagebox {
    position: relative;
  }
  .sec06 .cont01 .imagebox .recruit {
    position: absolute;
    bottom: -5vw;
    right: 0;
    width: 39.42vw;
    height: 39.42vw;
  }
}

.shisetsu_kijun {
  margin-bottom: 100px;
}
.shisetsu_kijun .title {
  font-size: 22px;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .shisetsu_kijun {
    margin-bottom: 13.8vw;
  }
  .shisetsu_kijun .title {
    font-size: 4.8vw;
    margin-bottom: 4.2vw;
  }
}/*# sourceMappingURL=style03.css.map */