.main_image {
  position: relative;
  height: 450px;
  padding-top: 195px;
  box-sizing: border-box;
  background: url(/images/medical/medical_key.webp) center top/cover no-repeat;
  overflow: hidden;
}
.main_image .inner {
  width: 1025px;
  max-width: 100%;
  padding: 0 20px;
  margin: 0 auto;
  box-sizing: border-box;
}
.main_image .text {
  position: relative;
  z-index: 5;
  padding-left: 0;
  font-family: "noto sans jp", sans-serif;
  font-size: 48px;
  letter-spacing: 0.2em;
  color: #fff;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.75);
}
.main_image .text:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -52px;
  bottom: -100%;
  transform: translateY(-50%);
  width: 305px;
  height: 36px;
  background: url(/images/common/arch.webp) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .main_image {
    position: relative;
    height: 80vw;
    padding-top: 45.3vw;
    box-sizing: border-box;
    background: url(/images/medical/medical_key.webp) right 40% top/cover no-repeat;
    overflow: hidden;
  }
  .main_image .inner {
    padding: 0 2.7vw;
  }
  .main_image .text {
    text-align: center;
    font-size: 5.8vw;
  }
  .main_image .text:before {
    left: 26vw;
    top: 12.3vw;
    width: 41.3vw;
    height: 21.3vw;
    background: url(/images/common/arch.webp) center/contain no-repeat;
  }
}

.sec01 {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto clamp(48px, 6.25vw, 80px);
  padding: clamp(96px, 12.5vw, 160px) 0 0;
  position: relative;
}
.sec01 .sec_titile {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: clamp(17px, 2.343vw, 30px);
  letter-spacing: 0.1em;
  color: #534740;
  margin-bottom: clamp(20px, 2.734vw, 35px);
  position: relative;
}
.sec01 .sec_titile::before {
  content: "";
  position: absolute;
  top: clamp(-120px, -9.375vw, -72px);
  left: 50%;
  transform: translateX(-50%);
  background: url(/images/medical/medical_p.webp) center/contain no-repeat;
  width: clamp(315px, 41.093vw, 526px);
  height: clamp(59px, 7.812vw, 100px);
}
.sec01 .maru01 {
  position: absolute;
  top: clamp(-120px, -5.375vw, -42px);
  left: 50%;
  transform: translateX(-50%);
  width: clamp(315px, 51.093vw, 637px);
  height: clamp(315px, 51.093vw, 637px);
  z-index: -2;
}
.sec01 .sec_subtitile {
  font-size: clamp(14px, 1.562vw, 20px);
  letter-spacing: 0.1em;
  text-align: center;
  color: #534740;
  margin-bottom: clamp(50px, 6.64vw, 85px);
}
.sec01 .kazari01 {
  position: absolute;
  z-index: -1;
  top: clamp(50px, 4.453vw, 185px);
  left: clamp(83px, 10.937vw, 140px);
  width: clamp(92px, 12.031vw, 154px);
  height: clamp(79px, 10.312vw, 132px);
}
.sec01 .kazari02 {
  position: absolute;
  z-index: -1;
  top: clamp(82px, 10.703vw, 137px);
  right: clamp(89px, 11.718vw, 150px);
  width: clamp(142px, 18.515vw, 237px);
  height: clamp(159px, 20.781vw, 266px);
}
.sec01 .kazari03 {
  position: absolute;
  z-index: -1;
  top: clamp(233px, 38.468vw, 500px);
  right: clamp(38px, 20vw, 255px);
  width: clamp(168px, 21.875vw, 280px);
  height: clamp(118px, 8.859vw, 331px);
}
.sec01 .btn_flex {
  width: clamp(576px, 75vw, 960px);
  margin: 0 auto 20px;
  display: flex;
  justify-content: flex-start;
  box-sizing: border-box;
}
.sec01 .btn_flex .link {
  width: clamp(128px, 16.718vw, 214px);
  height: clamp(35px, 4.687vw, 60px);
  box-sizing: border-box;
}
.sec01 .btn_flex .item {
  width: 100%;
  height: 100%;
  padding: clamp(5px, 0.781vw, 10px);
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  font-size: clamp(13px, 1.406vw, 18px);
  letter-spacing: 0.01em;
  line-height: 1.2;
  color: #fff;
  position: relative;
}
.sec01 .btn_flex .item::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(5px, 0.781vw, 10px);
  background: url(/images/index/sec06_arrow.webp) center/contain no-repeat;
  width: clamp(7px, 0.937vw, 12px);
  height: clamp(7px, 0.937vw, 12px);
}
.sec01 .btn_flex .link:not(:last-of-type) {
  margin-right: clamp(15px, 2.031vw, 26px);
}
.sec01 .btn_flex .p_item {
  background-color: #f18ea4;
}
.sec01 .btn_flex .o_item {
  background-color: #f9b168;
}
.sec01 .btn_flex .b_item {
  background-color: #75d0da;
}
.sec01 .btn_flex .g_item {
  background-color: #77bb8d;
}
.sec01 .medicalbox {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.sec01 .medicalbox .imagebox {
  width: 50%;
  min-width: 50%;
  max-width: 50%;
  box-sizing: border-box;
}
.sec01 .medicalbox .imagebox img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.sec01 .medicalbox .textbox {
  width: 50%;
  min-width: 50%;
  max-width: 50%;
  padding: clamp(24px, 3.125vw, 40px);
  box-sizing: border-box;
}
.sec01 .medicalbox .textbox .subtitle {
  font-size: clamp(14px, 1.875vw, 24px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(5px, 0.781vw, 10px);
}
.sec01 .medicalbox .textbox .title {
  font-size: clamp(20px, 2.656vw, 34px);
  letter-spacing: 0.1em;
  margin-bottom: clamp(20px, 2.734vw, 35px);
}
.sec01 .medicalbox .textbox .text {
  font-size: clamp(14px, 1.171vw, 15px);
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  margin-bottom: clamp(17px, 2.343vw, 30px);
}
.sec01 .medicalbox .textbox .flexbox {
  justify-content: flex-end;
}
.sec01 .medicalbox .textbox .flexbox .about_btn {
  min-width: clamp(107px, 14.062vw, 180px);
  min-height: clamp(26px, 3.515vw, 45px);
  padding: clamp(8px, 1.171vw, 15px) clamp(26px, 3.515vw, 45px) clamp(8px, 1.171vw, 15px) clamp(11px, 1.562vw, 20px);
  border-radius: initial;
  position: relative;
}
.sec01 .medicalbox .textbox .flexbox .about_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(5px, 0.781vw, 10px);
  background: url(/images/index/sec06_arrow.webp) center/contain no-repeat;
  width: clamp(7px, 0.937vw, 12px);
  height: clamp(7px, 0.937vw, 12px);
}
.sec01 .medicalbox .textbox .flexbox .link:not(:last-of-type) .about_btn {
  margin-right: 2em;
}
.sec01 .prevention_box {
  margin-top: clamp(86px, 11.328vw, 145px);
  margin-bottom: clamp(35px, 4.687vw, 60px);
  position: relative;
}
.sec01 .prevention_box::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: clamp(-13px, -1.015vw, -7px);
  right: clamp(24px, 3.125vw, 40px);
  background: url(/images/index/text_prevention.webp) center/contain no-repeat;
  width: clamp(202px, 26.406vw, 338px);
  height: clamp(17px, 2.343vw, 30px);
}
.sec01 .prevention_box .textbox {
  background: url(/images/index/prevention_bg_image.webp) center top/contain no-repeat;
  background-size: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.sec01 .ortho_box {
  flex-direction: row-reverse;
  margin-bottom: clamp(35px, 4.687vw, 60px);
  position: relative;
}
.sec01 .ortho_box::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: clamp(-13px, -1.015vw, -7px);
  left: clamp(24px, 3.125vw, 40px);
  background: url(/images/index/text_ortho.webp) center/contain no-repeat;
  width: clamp(117px, 15.312vw, 196px);
  height: clamp(17px, 2.343vw, 30px);
}
.sec01 .ortho_box .textbox {
  background: url(/images/index/ortho_bg_image.webp) center top/contain no-repeat;
  background-size: 100%;
}
.sec01 .prosthetics_box {
  position: relative;
}
.sec01 .prosthetics_box::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: clamp(-13px, -1.015vw, -7px);
  right: clamp(24px, 3.125vw, 40px);
  background: url(/images/index/text_prosthetics.webp) center/contain no-repeat;
  width: clamp(223px, 29.062vw, 372px);
  height: clamp(17px, 2.343vw, 30px);
}
.sec01 .prosthetics_box .textbox {
  background: url(/images/index/prosthetics_bg_image.webp) center top/contain no-repeat;
  background-size: 100%;
}
@media screen and (max-width: 767px) {
  .sec01 {
    width: 100%;
    max-width: 100%;
    margin: 30vw auto;
    padding: 22.5vw 0 0;
    position: relative;
  }
  .sec01 .sec_titile {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 6vw;
    letter-spacing: 0.1em;
    margin-bottom: 7.5vw;
    position: relative;
  }
  .sec01 .sec_titile::before {
    content: "";
    position: absolute;
    top: -19vw;
    left: 50%;
    transform: translateX(-50%);
    background: url(/images/index/text_medical_sp.webp) center/contain no-repeat;
    width: 72.5vw;
    height: 15.195vw;
  }
  .sec01 .sec_subtitile {
    font-size: 4vw;
    letter-spacing: 0.1em;
    margin-bottom: 8.5vw;
  }
  .sec01 .waku01 {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 44.5vw;
    height: 23vw;
  }
  .sec01 .waku01 img {
    width: 100%;
  }
  .sec01 .waku02 {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 28.5vw;
    height: 20.75vw;
  }
  .sec01 .waku02 img {
    width: 100%;
  }
  .sec01 .waku03 {
    position: absolute;
    z-index: -1;
    top: 163vw;
    left: 0;
    width: 25vw;
    height: 31.5vw;
  }
  .sec01 .waku03 img {
    width: 100%;
  }
  .sec01 .waku04 {
    position: absolute;
    z-index: -1;
    top: 169.5vw;
    right: 0;
    width: 40vw;
    height: 24.75vw;
  }
  .sec01 .waku04 img {
    width: 100%;
  }
  .sec01 .kazari01 {
    position: absolute;
    z-index: -1;
    top: 21.75vw;
    left: 0;
    width: 17vw;
    height: 14.569vw;
  }
  .sec01 .kazari01 img {
    width: 100%;
  }
  .sec01 .kazari02 {
    position: absolute;
    z-index: -1;
    top: 31vw;
    right: 4.25vw;
    width: 27.5vw;
    height: 33.865vw;
  }
  .sec01 .kazari02 img {
    width: 100%;
  }
  .sec01 .kazari03 {
    position: absolute;
    z-index: -1;
    top: 146.5vw;
    right: 7.875vw;
    width: 47.5vw;
    height: 19.8vw;
  }
  .sec01 .kazari03 img {
    width: 100%;
  }
  .sec01 .btn_flex {
    width: 95vw;
    margin: 0 auto 3vw;
    display: flex;
    justify-content: flex-start;
    box-sizing: border-box;
  }
  .sec01 .btn_flex .link {
    width: 45vw;
    height: 12.616vw;
    box-sizing: border-box;
  }
  .sec01 .btn_flex .item {
    width: 100%;
    height: 100%;
    padding: 2.5vw;
    font-size: 4vw;
    letter-spacing: 0.01em;
    position: relative;
  }
  .sec01 .btn_flex .item::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2.5vw;
    background: url(/images/index/sec06_arrow.webp) center/contain no-repeat;
    width: 3vw;
    height: 3vw;
  }
  .sec01 .btn_flex .link:not(:last-of-type) {
    margin-right: 4.2vw;
  }
  .sec01 .btn_flex .p_item {
    background-color: #f18ea4;
  }
  .sec01 .btn_flex .o_item {
    background-color: #f9b168;
  }
  .sec01 .btn_flex .b_item {
    background-color: #75d0da;
  }
  .sec01 .btn_flex .g_item {
    background-color: #77bb8d;
  }
  .sec01 .btn_flex:nth-of-type(3) {
    flex-wrap: wrap;
  }
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(1),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(2),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(3),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(4),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(5),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(6),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(7),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(8),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(9),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(10) {
    margin-bottom: 3vw;
  }
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(6),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(8),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(10),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(12),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(14),
  .sec01 .btn_flex:nth-of-type(3) .link:nth-of-type(16) {
    margin-right: initial;
  }
  .sec01 .medicalbox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .sec01 .medicalbox .imagebox {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .sec01 .medicalbox .imagebox img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .sec01 .medicalbox .textbox {
    width: 100%;
    height: initial;
    min-width: 100%;
    max-width: 100%;
    padding: 5.5vw 5.5vw 13.8vw;
    box-sizing: border-box;
  }
  .sec01 .medicalbox .textbox .subtitle {
    font-size: 4.5vw;
    letter-spacing: 0.1em;
    margin-bottom: 2.5vw;
  }
  .sec01 .medicalbox .textbox .title {
    font-size: 7.5vw;
    letter-spacing: 0.08em;
    margin-bottom: 6vw;
  }
  .sec01 .medicalbox .textbox .text {
    font-size: 3.75vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-bottom: 7.5vw;
  }
  .sec01 .medicalbox .textbox .flexbox {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .sec01 .medicalbox .textbox .flexbox .about_btn {
    width: 65vw;
    min-width: initial;
    min-height: 12.718vw;
    position: relative;
  }
  .sec01 .medicalbox .textbox .flexbox .about_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2.5vw;
    background: url(/images/index/sec06_arrow.webp) center/contain no-repeat;
    width: 3vw;
    height: 3vw;
  }
  .sec01 .medicalbox .textbox .flexbox .link:not(:last-of-type) .about_btn {
    margin-right: initial;
    margin-bottom: 4.2vw;
  }
  .sec01 .prevention_box {
    margin-top: 52.5vw;
    margin-bottom: 13.8vw;
    position: relative;
  }
  .sec01 .prevention_box::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: -3.75vw;
    right: 4vw;
    background: url(/images/index/text_prevention_sp.webp) center/contain no-repeat;
    width: 66vw;
    height: 5.699vw;
  }
  .sec01 .prevention_box .textbox {
    background: url(/images/index/prevention_bg_image_sp.webp) center/contain no-repeat;
    background-size: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .sec01 .ortho_box {
    margin-bottom: 13.8vw;
    position: relative;
  }
  .sec01 .ortho_box::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: -3.75vw;
    left: initial;
    right: 4vw;
    background: url(/images/index/text_ortho_sp.webp) center/contain no-repeat;
    width: 39vw;
    height: 5.964vw;
  }
  .sec01 .ortho_box .textbox {
    background: url(/images/index/ortho_bg_image_sp.webp) center/contain no-repeat;
    background-size: 100%;
  }
  .sec01 .ortho_box .list .item {
    width: initial;
  }
  .sec01 .ortho_box .list .item .item_image {
    width: initial;
  }
  .sec01 .prosthetics_box {
    position: relative;
  }
  .sec01 .prosthetics_box::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: -3.75vw;
    right: 4vw;
    background: url(/images/index/text_prosthetics_sp.webp) center/contain no-repeat;
    width: 71.5vw;
    height: 6.051vw;
  }
  .sec01 .prosthetics_box .textbox {
    background: url(/images/index/prosthetics_bg_image_sp.webp) center/contain no-repeat;
    background-size: 100%;
  }
}

.sec02 .menubox_left {
  margin-top: 250px;
  margin-bottom: 162px;
  position: relative;
}
.sec02 .menubox_left .flexbox {
  flex-direction: row-reverse;
  align-items: normal;
}
.sec02 .menubox_left .flexbox .imagebox {
  text-align: right;
}
.sec02 .menubox_left .flexbox .float01::before {
  content: "";
  position: absolute;
  right: 0px;
  top: -60px;
  width: 533px;
  height: 80px;
  max-width: 50%;
  background: url(/images/medical/child_float.webp) center/contain no-repeat;
}
.sec02 .menubox_left .flexbox .textbox {
  position: relative;
  line-height: 1.8;
}
.sec02 .menubox_left .flexbox .textbox .menu_title {
  font-size: 30px;
  color: #534741;
  margin-bottom: 47px;
}
.sec02 .menubox_left .flexbox .textbox .menu_title .menu_small {
  font-size: 16px;
  margin-bottom: 30px;
}
.sec02 .menubox_left .flexbox .textbox .circle01 {
  position: absolute;
  content: "";
  top: -170px;
  left: 0;
  width: 210px;
  height: 210px;
}
.sec02 .menubox_left .flexbox .textbox .circle01 .circle01_text {
  content: "";
  position: absolute;
  top: 80px;
  left: 0;
  width: 210px;
  height: auto;
  font-size: 30px;
  color: #534741;
  text-align: center;
  align-items: center;
}
.sec02 .menubox_left .flexbox .textbox .circle01 .circle01_text2 {
  content: "";
  position: absolute;
  top: 60px;
  left: 0;
  width: 210px;
  height: auto;
  font-size: 30px;
  color: #534741;
  text-align: center;
  align-items: center;
}
.sec02 .menubox_left .five-minits {
  flex-direction: row;
}
.sec02 .menubox_left .five-minits .imagebox {
  text-align: left;
}
.sec02 .back_left {
  position: absolute;
  width: 803px;
  height: 415px;
  top: -70px;
  left: -70px;
  z-index: -3;
}
@media screen and (max-width: 767px) {
  .sec02 .menubox_left {
    margin-bottom: 13.5vw;
    margin-top: 30vw;
  }
  .sec02 .menubox_left .flexbox .imagebox {
    text-align: center;
    margin-right: initial;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
  }
  .sec02 .menubox_left .flexbox .float01::before {
    right: -2vw;
    top: -9vw;
    width: 60vw;
    height: 12vw;
    max-width: 100%;
    background: url(/images/medical/child_float.webp) center/contain no-repeat;
  }
  .sec02 .menubox_left .flexbox .textbox {
    font-size: 4.3vw;
  }
  .sec02 .menubox_left .flexbox .textbox .menu_title {
    font-size: 5vw;
    margin-bottom: 5vw;
  }
  .sec02 .menubox_left .flexbox .textbox .menu_title .menu_small {
    font-size: 4vw;
    margin-bottom: 0;
  }
  .sec02 .menubox_left .flexbox .textbox .circle01 {
    width: 35vw;
    height: 35vw;
    top: -87vw;
  }
  .sec02 .menubox_left .flexbox .textbox .circle01 .circle01_text {
    font-size: 5vw;
    top: 14vw;
    left: 1.5vw;
    width: 32vw;
    height: 8vw;
    font-feature-settings: "palt";
  }
  .sec02 .menubox_left .flexbox .textbox .circle01 .circle01_text2 {
    font-size: 5vw;
    top: 10vw;
    left: 1.5vw;
    width: 32vw;
    height: 18vw;
    font-feature-settings: "palt";
  }
  .sec02 .menubox_left .flexbox .textbox .circle01 img {
    max-width: 100%;
    min-width: 100%;
  }
  .sec02 .menubox_left .back_left {
    width: 80vw;
    height: auto;
    top: -7vw;
  }
}
.sec02 .menubox_right {
  margin-top: 250px;
  margin-bottom: 162px;
  position: relative;
}
.sec02 .menubox_right .flexbox {
  align-items: normal;
}
.sec02 .menubox_right .flexbox .imagebox {
  text-align: left;
  margin-right: 10px;
}
.sec02 .menubox_right .flexbox .float02::before {
  content: "";
  position: absolute;
  left: 0px;
  top: -60px;
  width: 533px;
  height: 80px;
  max-width: 50%;
  background: url(/images/medical/perio_float.webp) center/contain no-repeat;
}
.sec02 .menubox_right .flexbox .textbox {
  position: relative;
  line-height: 1.8;
}
.sec02 .menubox_right .flexbox .textbox .circle02 {
  position: absolute;
  content: "";
  top: -170px;
  right: 0;
  width: 210px;
  height: 210px;
}
.sec02 .menubox_right .flexbox .textbox .circle02 .circle02_text {
  content: "";
  position: absolute;
  top: 80px;
  right: 0;
  width: 210px;
  height: auto;
  font-size: 30px;
  color: #534741;
  text-align: center;
  align-items: center;
}
.sec02 .menubox_right .flexbox .textbox .circle02 .circle02_text2 {
  content: "";
  position: absolute;
  top: 60px;
  right: 0;
  width: 210px;
  height: auto;
  font-size: 30px;
  color: #534741;
  text-align: center;
  align-items: center;
}
.sec02 .back_right {
  position: absolute;
  width: 803px;
  height: 415px;
  top: -70px;
  right: -70px;
  z-index: -3;
}
@media screen and (max-width: 767px) {
  .sec02 .menubox_right {
    margin-bottom: 13.5vw;
    margin-top: 30vw;
  }
  .sec02 .menubox_right .flexbox .imagebox {
    text-align: center;
    margin-right: initial;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
  }
  .sec02 .menubox_right .flexbox .float02::before {
    left: -2vw;
    top: -9vw;
    width: 60vw;
    height: 12vw;
    max-width: 100%;
    background: url(/images/medical/child_float.webp) center/contain no-repeat;
  }
  .sec02 .menubox_right .flexbox .textbox {
    font-size: 4vw;
  }
  .sec02 .menubox_right .flexbox .textbox .circle02 {
    width: 35vw;
    height: 35vw;
    top: -87vw;
  }
  .sec02 .menubox_right .flexbox .textbox .circle02 .circle02_text {
    font-size: 5vw;
    top: 14vw;
    left: 1.5vw;
    width: 32vw;
    height: 18vw;
    font-feature-settings: "palt";
  }
  .sec02 .menubox_right .flexbox .textbox .circle02 .circle02_text2 {
    font-size: 5vw;
    top: 10vw;
    left: 1.5vw;
    width: 32vw;
    height: 18vw;
    font-feature-settings: "palt";
  }
  .sec02 .menubox_right .flexbox .textbox .circle02 img {
    max-width: 100%;
    min-width: 100%;
  }
  .sec02 .menubox_right .back_right {
    width: 80vw;
    height: auto;
    top: -7vw;
    right: -20px;
  }
}
.sec02 .bottom_box {
  border: 1px solid #E39F7B;
  padding: 62px 78px 52px 78px;
  margin-bottom: 250px;
}
.sec02 .bottom_box .flexbox {
  flex-direction: row-reverse;
}
.sec02 .bottom_box .flexbox .textbox {
  margin-right: 80px;
}
.sec02 .bottom_box .flexbox .textbox .bottom_title {
  font-size: 30px;
  color: #534741;
  text-align: center;
  margin-bottom: 55px;
}
.sec02 .bottom_box .flexbox .imagebox {
  width: initial;
  min-width: auto;
  max-width: auto;
}
.sec02 .circle01, .sec02 .circle02 {
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .sec02 .bottom_box {
    padding: 5vw;
    margin-bottom: 10vw;
  }
  .sec02 .bottom_box .flexbox .textbox .bottom_title {
    font-size: 5vw;
    margin-bottom: 5vw;
  }
  .sec02 .bottom_box .flexbox .textbox .bottom_text {
    font-size: 4vw;
  }
  .sec02 .bottom_box .flexbox .imagebox {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
  }
  .sec02 .circle01, .sec02 .circle02 {
    z-index: 1;
  }
}
.sec02 .blue_bottom .bottom_box {
  border: 1px solid #0071BC;
  background-color: #fff;
  margin-top: 56px;
}
.sec02 .green_bottom .bottom_box {
  border: 1px solid #77BB8D;
  background-color: #fff;
  margin-top: 56px;
}
.sec02 .ortho_box {
  margin-top: 50px;
  margin-bottom: 350px;
}
.sec02 .ortho_box .list {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.sec02 .ortho_box .list .item {
  max-width: 45%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  align-items: center;
  width: 400px;
}
.sec02 .ortho_box .list .item:not(:last-of-type) {
  margin-right: 50px;
  margin-top: 80px;
}
.sec02 .ortho_box .list .item_title {
  font-size: 30px;
  color: #534741;
  text-align: center;
  margin-bottom: 30px;
}
.sec02 .ortho_box .list .item_image {
  width: 570px;
  max-width: 100%;
  margin: 0 auto 10px;
}
.sec02 .ortho_box .list .item_text {
  letter-spacing: initial;
  line-height: 1.8;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .sec02 .ortho_box {
    margin-bottom: 13.5vw;
    margin-top: 10vw;
  }
  .sec02 .ortho_box .list {
    display: block;
  }
  .sec02 .ortho_box .list .item:not(:last-of-type) {
    margin-right: initial;
    margin-top: initial;
  }
  .sec02 .ortho_box .list .item {
    max-width: 100%;
    width: 100%;
    text-align: center;
  }
  .sec02 .ortho_box .list .item_title {
    font-size: 5vw;
    margin-bottom: 5vw;
  }
  .sec02 .ortho_box .list .item_text {
    font-size: 4vw;
    margin-bottom: 10vw;
  }
  .sec02 .ortho_box .list .item_image {
    width: 100%;
    max-width: 80%;
  }
}
.sec02 .maintenance .bottom_box {
  background-color: #fff;
  border: 1px solid #0071BC;
  margin-top: 50px;
  margin-bottom: 50px;
}
.sec02 .maintenance .bottom_box .bottom_title {
  text-align: center;
  font-size: 30px;
  color: #534741;
  margin-bottom: 60px;
}
.sec02 .maintenance .bottom_box .flexbox {
  flex-direction: initial;
}
.sec02 .maintenance .bottom_box .flexbox .bottom_title {
  text-align: center;
}
.sec02 .maintenance .bottom_box .flexbox .listbox:first-of-type {
  margin-right: 88px;
}
.sec02 .maintenance .bottom_box .flexbox .listbox .item:not(:nth-last-child) {
  margin-bottom: 50px;
}
.sec02 .maintenance .bottom_box .flexbox .listbox .item {
  position: relative;
  border-bottom: 2px dashed #00A99d;
  padding-left: 4em;
  display: flex;
  align-items: center;
  padding-bottom: 10px;
  height: 45px;
  padding-top: 20px;
}
.sec02 .maintenance .bottom_box .flexbox .listbox .item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15;
  width: 39px;
  height: 45px;
  background: url(/images/medical/green_icon.webp) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .sec02 .maintenance .bottom_box .bottom_title {
    font-size: 5vw;
    margin-bottom: 5vw;
  }
  .sec02 .maintenance .bottom_box .flexbox .listbox:first-of-type {
    margin-right: initial;
  }
  .sec02 .maintenance .bottom_box .flexbox .listbox .item {
    font-size: 4vw;
    height: initial;
    margin-left: 2vw;
    padding-bottom: 5vw;
  }
  .sec02 .maintenance .bottom_box .flexbox .listbox .item::before {
    width: 13vw;
    height: 9vw;
  }
}
.sec02 .right02 {
  margin-bottom: 58px;
}
.sec02 .bottom_text {
  line-height: 1.8;
}
.sec02 .circle01, .sec02 .circle02 {
  line-height: initial;
}

.tyousei {
  overflow: hidden;
  width: 100%;
}/*# sourceMappingURL=medical_2.css.map */