.home_page .key {
  --height: 56vw;
  --min-height: 550px;
  --max-height: 1060px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background: url(../images/idx_key_bg.jpg) no-repeat center left/cover;
  z-index: 1;
}
.home_page .key .br_vertical {
  display: none;
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 100%;
  max-width: 1600px;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
  opacity: 0;
}
.home_page .key .key_text {
  position: relative;
  font-size: 0.625em;
  overflow: hidden;
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
}
.home_page .key .key_text::before {
  content: "";
  position: absolute;
  top: -18.7em;
  left: 12.7em;
  bottom: 0;
  margin: auto;
  width: 107.9em;
  height: 61.7em;
  background: url(../images/idx_key_txt.png) no-repeat center/contain;
}
.home_page .key .key_text::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -1.5em;
  width: 100%;
  max-width: 102.4em;
  height: 100%;
  background: url(../images/idx_key_machine.png) no-repeat right bottom/contain;
  z-index: -1;
}
.home_page .key .key_text .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 9.2em;
}
.home_page .key .catch {
  margin-left: 10.4%;
  animation: fadeInDown 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.home_page .key .mv_tt01 {
  color: var(--main-color);
  font-size: 3em;
  font-weight: 600;
  background: url(../images/highlight.png) repeat-x bottom left/100% auto;
  display: table;
  line-height: 1.82;
  letter-spacing: 0.04em;
  transform: rotate(-4deg);
  margin-bottom: 0.9666666667em;
  margin-left: -0.4em;
  padding: 0 0.3666666667em 0 0.4em;
}
.home_page .key .mv_tt02 {
  font-size: 3.6em;
  line-height: 1.667;
  color: var(--clr1);
  font-weight: 400;
  margin-left: 0.0555555556em;
}
.home_page .key h2 {
  margin-left: -0.0833333333em;
  margin-bottom: 1.3833333333em;
  font-size: 6em;
  line-height: 1.5;
  letter-spacing: 0.09em;
  color: var(--main-color);
  font-weight: 600;
  transform: rotate(-4deg);
}
.home_page .topic_path {
  display: none;
}

@keyframes fadeInDown {
  0% {
    -webkit-transform: translate3d(0, 50%, 0);
    opacity: 0;
    transform: translate3d(0, 50%, 0);
  }
  to {
    -webkit-transform: translateZ(0);
    opacity: 1;
    transform: translateZ(0);
  }
}
@media only screen and (max-width: 1800px) and (min-width: 769px) {
  .home_page .key .key_text {
    font-size: min(0.625em, 1vmin);
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .home_page .key {
    --max-height: calc(100vh - 40px);
  }
  .home_page .key .key_text::before {
    top: -10.7em;
    left: 3.7em;
  }
  .home_page .key .key_text::after {
    right: 5.5em;
  }
  .home_page .key .key_text .item {
    padding-top: 14.2em;
  }
}
@media only screen and (max-width: 1760px) and (min-width: 1500px) {
  .home_page .key .catch {
    margin-left: 14.4%;
  }
  .home_page .key .key_text::before {
    left: 14.7em;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) and (max-height: 720px) and (orientation: landscape) {
  .home_page .key .key_text {
    font-size: min(0.625em, 1vmin);
  }
  .home_page .key .key_text::before {
    top: 2.3em;
    left: 20.7em;
  }
  .home_page .key .key_text::after {
    right: 11em;
  }
  .home_page .key .key_text .item {
    padding-top: 26.2em;
  }
  .home_page .key .catch {
    margin-left: 16.4%;
  }
  .home_page .key .mv_tt01 {
    font-size: 3.5em;
  }
}
@media only screen and (max-width: 1300px) and (min-width: 769px) {
  .home_page .key .key_text {
    font-size: min(0.9vmin, 0.55vw);
  }
  .home_page .key .key_text::before {
    left: 12.7em;
  }
  .home_page .key .key_text::after {
    max-width: 88.3em;
    right: -8.5em;
  }
  .home_page .key .catch {
    margin-left: 16.4%;
  }
  .home_page .key .mv_tt01 {
    font-size: 3.4em;
    margin-bottom: 0.6em;
  }
}
@media only screen and (max-width: 1000px) and (min-width: 769px) {
  .home_page .key .key_text::before {
    left: 7.7em;
  }
  .home_page .key .key_text::after {
    max-width: 110.3em;
    right: -83px;
  }
  .home_page .key .catch {
    margin-left: 14.4%;
  }
}
.tl_h3 {
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0.09em;
  color: var(--main-color);
  text-align: center;
  position: relative;
}
.tl_h3::before {
  content: "";
  position: relative;
  display: block;
  width: 27px;
  height: 28px;
  background: url(../images/ic_h3.svg) no-repeat center/contain;
  margin: 0 auto 4px;
}
.tl_h3 .en {
  display: block;
  text-transform: capitalize;
  color: var(--main-color);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: -1px;
}
.tl_h3.tl_white {
  color: #ffffff;
}
.tl_h3.tl_white::before {
  filter: brightness(0) invert(1);
}
.tl_h3.tl_white .en {
  color: #ffffff;
}

.idx01 {
  padding: 85px 0 71px;
  position: relative;
  z-index: 0;
}
.idx01::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 60px);
  background: url(../images/idx01_bg.jpg) no-repeat top left/cover;
  z-index: -1;
}
.idx01 .inner_max {
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
}
.idx01 .insta_title {
  color: var(--clr2);
  font-size: 16px;
  font-weight: 500;
  padding-left: 96px;
  position: relative;
  letter-spacing: 0;
  margin-top: 24px;
}
.idx01 .insta_title::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 20px;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: #ffffff url(../images/ic_insta.png) no-repeat center/100% auto;
  box-shadow: -2px 3.464px 40px 0px rgba(0, 0, 0, 0.1);
}
.idx01 .insta_title span {
  font-size: 32px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--clr1);
  display: block;
  margin-top: 3px;
}
.idx01 .btn_st01 {
  margin-left: 21px;
  margin-top: 61px;
}
.idx01 .btn_st01 a span {
  letter-spacing: 0.1em;
  padding: 6px 3px 10px 11px;
  margin-right: 12px;
}
.idx01 .block_insta {
  max-width: 1600px;
  width: 100%;
  margin-left: auto;
}

.idx02 {
  background: url(../images/idx02_bg.jpg) no-repeat center/cover;
  padding: 109px 0 124px;
  color: #ffffff;
}
.idx02_title {
  position: relative;
  padding-top: 3.625em;
  padding-left: 5em;
}
.idx02 .txt_en {
  font-size: 9.375em;
  font-weight: 300;
  line-height: 0.5;
  letter-spacing: 0.11em;
  color: rgba(110, 191, 209, 0.5);
  margin-bottom: 0;
  text-transform: uppercase;
  position: absolute;
  left: -0.0266666667em;
  top: 0;
}
.idx02 h3 {
  font-size: 36px;
  line-height: 1.5;
  letter-spacing: 0;
}
.idx02 h3 .txt_line {
  padding: 0 0.1388888889em 0.2222222222em 0.0277777778em;
  position: relative;
  letter-spacing: 0.02em;
  top: -0.6111111111em;
}
.idx02 h3 .txt_line::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  border-bottom: 3px double #ffffff;
}
.idx02 h3 .txt_lg {
  font-size: 2em;
  font-weight: 500;
  line-height: 1;
  margin: 0 0.1111111111em 0 0.1527777778em;
  position: relative;
  top: -0.1111111111em;
  letter-spacing: 0.08em;
}
.idx02 .listcheck {
  margin-top: 21px;
}
.idx02 .listcheck li {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 300;
  position: relative;
  padding: 1.45em 0.25em 1.5em 1.9em;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.4);
}
.idx02 .listcheck li::before {
  content: "";
  position: absolute;
  top: 1.7em;
  left: 0.5em;
  width: 1.05em;
  height: 0.9em;
  background: url(../images/ic_checklist.svg) no-repeat center/contain;
}
.idx02 .trouble_img figure {
  margin-left: auto;
  margin-right: 1em;
  display: table;
}
.idx02 .trouble_img figure img {
  max-width: 35.125em;
}
.idx02 .bx_worries {
  background-color: #ffffff;
  margin-top: -10.625em;
  position: relative;
}
.idx02 .bx_worries::before {
  content: "";
  position: absolute;
  top: -0.6875em;
  right: -0.625em;
  width: 8.4375em;
  height: 8.3125em;
  background: url(../images/idx02_illus.svg) no-repeat center/contain;
}
.idx02 .bx_worries .worries_tl {
  color: #ffffff;
  background-color: #6ebfd1;
  padding: 0.375em 0.625em 0.375em;
}
.idx02 .bx_worries .worries_cont {
  padding: 2.0625em 0px 1.75em 1.5625em;
}
.idx02 .bx_worries .tt {
  position: relative;
  display: table;
  margin: 0 auto;
  padding: 0 1.2692307692em;
  letter-spacing: 0.1em;
  font-size: 1.625em;
  font-weight: 400;
}
.idx02 .bx_worries .tt::before, .idx02 .bx_worries .tt::after {
  content: "";
  position: absolute;
  top: 0.5384615385em;
  width: 0.6153846154em;
  height: 0.9615384615em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.idx02 .bx_worries .tt::before {
  left: 0;
  background-image: url(../images/idx02_tl01.svg);
}
.idx02 .bx_worries .tt::after {
  right: 0;
  background-image: url(../images/idx02_tl02.svg);
}
.idx02 .bx_worries .ct_tl {
  position: relative;
  padding-left: 3.6em;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 1.5;
  color: var(--clr1);
  letter-spacing: 0;
}
.idx02 .bx_worries .ct_tl::before {
  content: "";
  position: absolute;
  top: -0.55em;
  left: 0;
  width: 2.9em;
  height: 2.9em;
  background: url(../images/ic_logo.png) no-repeat center/contain;
}
.idx02 .bx_worries .ct_tl span {
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  color: var(--main-color);
  position: relative;
  padding-bottom: 0.1666666667em;
  padding-right: 0.1333333333em;
}
.idx02 .bx_worries .ct_tl span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--main-color);
}

.idx03 {
  padding: 68px 0 84px;
  background-image: url(../images/idx03_bg01.png), url(../images/idx03_bg02.png);
  background-position: top left, bottom right -6px;
  background-repeat: no-repeat;
  background-size: auto;
}
.idx03 .tl_h3 {
  margin-bottom: 15px;
  z-index: 1;
}
.idx03 .tl_h3::after {
  content: "";
  position: relative;
  display: block;
  margin: -10px auto 0;
  width: 300px;
  height: 50px;
  background: url(../images/idx03_triangle.png) no-repeat center/contain;
}
.idx03 .block_parts {
  position: relative;
  max-width: 73.9375em;
  width: 100%;
  margin: 0 auto;
  z-index: 0;
}
.idx03 .block_parts::before, .idx03 .block_parts::after {
  content: "";
  position: absolute;
  top: -3.5625em;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  border-radius: 50%;
  z-index: -1;
}
.idx03 .block_parts::before {
  width: 41.25em;
  height: 41.25em;
  background-color: #f5f5f5;
}
.idx03 .block_parts::after {
  width: 40em;
  height: 40em;
  border: 1px solid #ffffff;
}
.idx03 .parts_img {
  position: absolute;
  top: 1.75em;
  left: 0;
  right: 0;
  width: 15.625em;
  height: 35.75em;
  margin: auto;
  z-index: 0;
}
.idx03 .parts_img::before {
  content: "";
  position: absolute;
  top: 1.4375em;
  bottom: 0;
  left: -8em;
  width: 31.625em;
  height: 31.625em;
  background: url(../images/idx03_illus.png) no-repeat center/contain;
  z-index: -1;
}
.idx03 .bx_point .point {
  position: absolute;
  width: 1.875em;
  height: 1.875em;
  background: url(../images/point.svg) no-repeat center/contain;
  z-index: 2;
  opacity: 0;
  transition: 0.3s all;
}
.idx03 .bx_point .point > a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  opacity: 0;
}
.idx03 .bx_point .point.active {
  opacity: 1;
}
.idx03 .bx_point .point.men {
  top: 2.5em;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 3;
}
.idx03 .bx_point .point.facial {
  top: 0.3125em;
  left: 0;
  right: 0;
  margin: auto;
  width: 3.75em;
  height: 3.75em;
}
.idx03 .bx_point .point.underarm {
  top: 9.3125em;
  left: 4.3125em;
}
.idx03 .bx_point .point.arm {
  top: 13.4375em;
  left: 1.8125em;
}
.idx03 .bx_point .point.back {
  top: 10.75em;
  left: 0;
  right: 0;
  width: 3.75em;
  height: 3.75em;
  margin: auto;
}
.idx03 .bx_point .point.vio {
  top: 16.5625em;
  left: 0;
  right: 0;
  margin: auto;
}
.idx03 .bx_point .point.leg {
  top: 22.8125em;
  right: 4.375em;
}
.idx03 .bx_point .point.full-body {
  bottom: 13.625em;
  left: 4.25em;
  width: 1.875em;
  height: 1.875em;
}
.idx03 .parts_cont {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.idx03 .parts_btn {
  width: 50%;
  margin-bottom: 2.375em;
}
.idx03 .parts_btn:nth-child(2n+2) a {
  margin-left: auto;
}
.idx03 .parts_btn:nth-child(3), .idx03 .parts_btn:nth-child(4) {
  margin-bottom: 9.375em;
}
.idx03 .parts_btn:nth-child(5) a {
  margin-left: 0.1363636364em;
}
.idx03 .parts_btn:nth-child(6) a {
  margin-right: 0.2272727273em;
}
.idx03 .parts_btn.st_l1 a {
  margin-left: 3.0454545455em;
}
.idx03 .parts_btn.st_r1 a {
  margin-right: 3.0454545455em;
}
.idx03 .parts_btn.st_l2 a {
  margin-left: 3.8181818182em;
}
.idx03 .parts_btn.st_r2 a {
  margin-right: 3.8636363636em;
}
.idx03 .parts_btn a {
  max-width: 12.7272727273em;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;
  position: relative;
  z-index: 0;
  font-size: 1.375em;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #ffffff;
  padding: 1.0454545455em 0.9090909091em 1.0454545455em;
  display: block;
  background: url(../images/ic_arrow02.svg) no-repeat right 0.6363636364em top calc(50% + 0.0454545455em)/1em auto;
  background-color: var(--clr2);
  transition: 0.3s all;
}
.idx03 .parts_btn a::before, .idx03 .parts_btn a::after {
  content: "";
  position: absolute;
  transition: 0.3s all;
}
.idx03 .parts_btn a::before {
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  right: 0;
  width: calc(100% - 0.4545454545em);
  height: calc(100% - 0.4545454545em);
  border: 1px solid #88cfdf;
  border-radius: 2px;
  z-index: -1;
}
.idx03 .parts_btn a::after {
  height: 1px;
  background-color: var(--main-color);
  opacity: 0;
  pointer-events: none;
}
.idx03 .parts_btn a .en {
  display: block;
  text-transform: uppercase;
  font-size: 0.5909090909em;
  font-weight: 300;
  margin-top: 0.0769230769em;
}
.idx03 .parts_btn a:hover {
  opacity: 1;
}
.idx03 .parts_btn.b_men a::after {
  bottom: 1.4545454545em;
  right: -10.8636363636em;
  width: 10.9090909091em;
  transform: rotate(7.3deg);
}
.idx03 .parts_btn.b_facial a::after {
  bottom: 1.9545454545em;
  left: -10.5em;
  width: 10.7727272727em;
  transform: rotate(-3deg);
}
.idx03 .parts_btn.b_body a::after {
  bottom: 6.6818181818em;
  right: -10.5em;
  width: 12.6363636364em;
  transform: rotate(-48deg);
}
.idx03 .parts_btn.b_underarm a::after {
  bottom: 2.1363636364em;
  right: -12.0454545455em;
  width: 12.0454545455em;
  transform: rotate(1deg);
}
.idx03 .parts_btn.b_arm a::after {
  bottom: 6.0909090909em;
  right: -11.5909090909em;
  width: 13.0909090909em;
  transform: rotate(-39deg);
}
.idx03 .parts_btn.b_back a::after {
  top: 3.1818181818em;
  left: -13.6363636364em;
  width: 13.7272727273em;
  transform: rotate(-8deg);
}
.idx03 .parts_btn.b_vio a::after {
  top: -0.5454545455em;
  left: -14.2272727273em;
  width: 14.8636363636em;
  transform: rotate(23deg);
}
.idx03 .parts_btn.b_leg a::after {
  top: -1.3636363636em;
  left: -9.6818181818em;
  width: 11.2727272727em;
  transform: rotate(42deg);
}

.idx04 {
  padding: 79px 0 90px;
  position: relative;
  z-index: 0;
  background-color: #6ebfd1;
  background-image: url(../images/idx04_bg.png), linear-gradient(45deg, rgba(110, 191, 209, 0.25) 20%, rgba(39, 100, 169, 0.3) 80%);
  background-position: top right -6px, center;
  background-repeat: no-repeat;
}
.idx04::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.idx04 h4 {
  font-size: 30px;
  font-weight: 500;
  color: #3070af;
  letter-spacing: 0;
  line-height: 1.5;
  position: relative;
  margin-bottom: 32px;
  margin-top: 10px;
}
.idx04 h4::after {
  content: "";
  position: relative;
  display: block;
  background-color: #3070af;
  height: 1px;
  width: 90px;
  margin-top: 13px;
  margin-left: 5px;
}
.idx04 .pickup_cont p {
  line-height: 1.875;
  letter-spacing: 0.03em;
}
.idx04 .btn_st02 {
  margin-top: 38px;
  margin-left: 5px;
}

.idx05 {
  position: relative;
  padding: 96px 0;
  z-index: 0;
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
}
.idx05::before {
  content: "";
  position: absolute;
  top: 90px;
  right: 0;
  max-width: 75em;
  width: 80%;
  height: 43.9375em;
  background: url(../images/idx05_bg.jpg) no-repeat center/cover;
  border-radius: 20px 0 0 20px;
  z-index: -1;
}
.idx05 .tl_h3 {
  max-width: 468px;
  width: 100%;
}
.idx05 .about_cont {
  max-width: 71em;
  width: 100%;
  margin-left: auto;
  margin-top: -0.75em;
  margin-right: -0.8125em;
}
.idx05 .about_cont .it {
  width: calc(25% - 1.5em);
  margin: 0 0.75em 0.0625em;
  height: 16.25em;
  max-width: 16.25em;
  background-color: var(--clr2);
  color: #ffffff;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 50%;
  padding: 0.6875em 0.625em 0.625em;
  transition: 0.3s all;
}
.idx05 .about_cont .it::after {
  content: "";
  position: absolute;
  bottom: 1.1875em;
  left: 0;
  right: 0;
  margin: auto;
  width: 1.375em;
  height: 0.875em;
  background: url(../images/ic_arrow02.svg) no-repeat center/contain;
}
.idx05 .about_cont .it a {
  border-radius: 50%;
}
.idx05 .about_cont .it img {
  max-width: 6.125em;
}
.idx05 .about_cont .it:nth-child(5) figure {
  top: -0.4375em;
  position: relative;
}
.idx05 .about_cont .about_ttl {
  font-size: 1.375em;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.36364;
  min-height: 3.2727272727em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.2727272727em;
}
.idx05 .about_cont .about_ttl.sm {
  font-size: 1.125em;
  line-height: 1.666667;
}

.idx06 {
  padding: 156px 0 89px;
}
.idx06 .tl_h3 {
  margin-bottom: 38px;
}
.idx06 .btn_st02 {
  margin: 40px auto 0;
}
.idx06 .block_flow {
  background-color: #ffffff;
  background-image: linear-gradient(45deg, rgba(212, 242, 157, 0.25) 20%, rgba(193, 240, 250, 0.25) 80%);
  padding: 63px 81px 81px;
  border-radius: 60px;
}
.idx06 .block_flow .flow_it {
  max-width: 280px;
  background-color: #ffffff;
  border-radius: 4px;
  box-shadow: -2px 3.464px 20px 0px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 0;
  padding: 0px 37px 25px 37px;
  display: flex;
  flex-direction: column;
}
.idx06 .block_flow .flow_it::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #adcfd7;
  z-index: -1;
}
.idx06 .block_flow .flow_it:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -45px;
  width: 36px;
  height: 35px;
  background: url(../images/flow_arrow.svg) no-repeat center/contain;
  filter: drop-shadow(-2px 3.464px 10px rgba(0, 0, 0, 0.1));
  margin: auto;
}
.idx06 .block_flow p {
  line-height: 1.875;
  letter-spacing: -0.2px;
}
.idx06 .block_flow .flow_txt {
  flex: 1 1 auto;
}
.idx06 .block_flow .flow_img {
  width: 120px;
  height: 120px;
  margin: 12px auto 0;
  background-color: #c5dde2;
  border-radius: 50%;
}
.idx06 .block_flow .flow_num {
  width: 50px;
  height: 60px;
  background-color: var(--clr2);
  color: #ffffff;
  border-radius: 6px;
  font-size: 12px;
  letter-spacing: 0.05em;
  text-align: center;
  margin: -7px auto 20px;
  padding: 4px 5px 10px;
}
.idx06 .block_flow .flow_num span {
  font-size: 30px;
  line-height: 0.5;
  display: block;
  margin-top: 2px;
}

.idx07 {
  padding: 90px 0 70px;
  background: url(../images/idx07_bg.jpg) no-repeat center/cover;
}
.idx07 .tl_h3 {
  margin-bottom: 25px;
}
.idx07 .block_beauty .beauty_img {
  position: relative;
}
.idx07 .block_beauty .beauty_img::before {
  content: "";
  position: absolute;
  width: 13.0625em;
  height: 18.5em;
  background: url(../images/idx07_illus.svg) no-repeat center/contain;
  bottom: -1.125em;
  left: -1.5625em;
}
.idx07 .block_beauty .beauty_img .logo_circle {
  width: 10.5em;
  height: 10.5625em;
  background: url(../images/idx07_circle.png) no-repeat center/contain;
  top: -5.1875em;
  left: -5.25em;
  position: absolute;
}
.idx07 .block_beauty .beauty_img .logo_circle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/idx07_circle_txt.png) no-repeat center/contain;
  animation: rotate 8.5s linear infinite both;
}
.idx07 .block_beauty .beauty_cont p {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.03em;
}
.idx07 .btn_st02 {
  margin: 41px auto 0;
}
.idx07 .idx_bnr {
  margin-top: 61px;
}
.idx07 .idx_bnr .bnr {
  position: relative;
  background-color: #2764a9;
  background-image: linear-gradient(45deg, rgba(39, 100, 169, 0.5) 20%, rgba(110, 191, 209, 0.5) 80%);
  max-width: 565px;
  width: calc(50% - 2.5em);
  height: 10em;
  margin: 1.25em;
  z-index: 0;
  transition: 0.3s all;
}
.idx07 .idx_bnr .bnr::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 23.5625em;
  height: 10em;
  background: url(../images/bnr_bf.png) no-repeat center/contain;
  transition: 0.3s all;
}
.idx07 .idx_bnr .bnr .box_in {
  width: 100%;
  height: 100%;
  padding: 0.6875em 1.25em 1.25em 2.875em;
  display: flex;
  align-items: center;
}
.idx07 .idx_bnr .bnr .box_in::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.1875em;
  background: #ffffff url(../images/bnr_arrow.svg) no-repeat center/100% auto;
  width: 2.5em;
  height: 2.5em;
  border-radius: 50%;
  margin: auto;
  transition: 0.3s all;
}
.idx07 .idx_bnr .bnr .bnr_tl {
  font-size: 1.375em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #ffffff;
  position: relative;
}
.idx07 .idx_bnr .bnr .bnr_tl .en {
  font-size: 2.7272727273em;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  display: block;
  letter-spacing: 0.1em;
}
.idx07 .idx_bnr .bnr .bnr_tl::before {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.idx07 .idx_bnr .bnr .bnr_img {
  position: absolute;
  top: 0;
  right: 0;
  width: 20.5625em;
  height: 100%;
  mask-image: url(../images/bnr_mask.png);
  -webkit-mask-image: url(../images/bnr_mask.png);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center right;
  -webkit-mask-position: center right;
  z-index: -1;
}
.idx07 .idx_bnr .bnr.bnr_fee .bnr_tl::before {
  top: -1.0454545455em;
  left: -1.4090909091em;
  width: 3.7272727273em;
  height: 3.9090909091em;
  background-image: url(../images/bnr_fee_ic.svg);
}
.idx07 .idx_bnr .bnr.bnr_faq .box_in {
  padding-left: 2.625em;
}
.idx07 .idx_bnr .bnr.bnr_faq .bnr_tl {
  letter-spacing: 0;
}
.idx07 .idx_bnr .bnr.bnr_faq .bnr_tl::before {
  top: -1.1363636364em;
  left: -1.5em;
  width: 4.3636363636em;
  height: 4.1363636364em;
  background-image: url(../images/bnr_faq_ic.svg);
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.idx08 {
  position: relative;
  padding: 83px 0 0;
  z-index: 0;
}
.idx08 .tl_h3 {
  margin-bottom: 65px;
}
.idx08 h4 {
  font-size: 1.625em;
  font-weight: 500;
  letter-spacing: 0.085em;
  margin-bottom: 0.3846153846em;
}
.idx08 p {
  font-size: 1.0625em;
  line-height: 1.8;
  color: #343434;
  letter-spacing: 0.035em;
}
.idx08 .txt_en {
  position: absolute;
  top: 1.9375em;
  left: 0.01em;
  z-index: -1;
  white-space: nowrap;
  width: fit-content;
  display: flex;
  --offset: 100vw;
  --move-initial: calc(-50% + var(--offset));
  --move-final: calc(-100% + var(--offset));
  -webkit-transform: translate3d(var(--move-initial), 0, 0);
  transform: translate3d(var(--move-initial), 0, 0);
  -webkit-animation: marquee 80s linear infinite;
  animation: marquee 80s linear infinite;
  -webkit-animation-play-state: running;
  animation-play-state: running;
  -webkit-transition: transform 0.1s;
  transition: transform 0.1s;
}
.idx08 .txt_en p {
  text-transform: uppercase;
  color: rgba(170, 170, 170, 0.1);
  font-size: 18.75em;
  font-weight: 300;
  letter-spacing: 0.01em;
  line-height: 1;
  margin: 0 0.1em;
}
.idx08 .btn_st01 {
  margin-top: -0.1875em;
  margin-left: 0.125em;
}
.idx08 .btn_st01 a::after {
  width: 3.0625em;
  height: 3.0625em;
  top: -0.0625em;
  background-size: 0.5em auto;
}
.idx08 .btn_st01 a span {
  margin-right: 0.8125em;
  padding: 0.5em 0.75em 0.625em 1em;
}
.idx08 .feature_img {
  min-height: 33.75em;
  margin: 0px auto;
  overflow: unset;
}
.idx08 .feature_img .swiper-wrapper {
  align-items: flex-end;
  min-height: 33.75em;
}
.idx08 .feature_img .swiper-slide {
  width: 12.5em;
  height: 15.625em;
  margin-right: 0.5em;
  will-change: width, height, margin;
  transition: width 0.7s ease, height 0.7s ease, margin 0.35s ease;
  transform-origin: bottom left;
  color: white;
  position: relative;
  border-radius: 4px;
  overflow: hidden;
}
.idx08 .feature_img .swiper-slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.idx08 .feature_img .swiper-slide.swiper-slide-active {
  width: 27em;
  height: 33.75em;
}
.idx08 .s_swiper {
  max-width: 80em;
  width: 100%;
  margin: 0 auto;
  min-height: 33.75em;
  position: relative;
}
.idx08 .b_wrap {
  min-height: 33.75em;
}
.idx08 .swiper_arrows {
  position: absolute;
  top: -3.5em;
  right: 0;
  z-index: 2;
  gap: 0.5625em;
}
.idx08 #prevSlideBtn, .idx08 #nextSlideBtn {
  width: 3.75em;
  height: 3.75em;
  border-radius: 50%;
  background-color: #f5f5f5;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transform: unset;
  top: 0;
  transition: all 0.3s;
  margin-top: 0;
  cursor: pointer;
}
.idx08 #prevSlideBtn::after, .idx08 #nextSlideBtn::after {
  display: none;
}
.idx08 #prevSlideBtn:hover, .idx08 #nextSlideBtn:hover {
  background-color: #dddddd;
}
.idx08 #prevSlideBtn {
  right: 4.375em;
  left: unset;
  background-image: url(../images/arrows_prev.svg);
}
.idx08 #nextSlideBtn {
  right: 0.0625em;
  background-image: url(../images/arrows_next.svg);
}
.idx08 .feature_cont {
  width: calc(100% - 29.875em);
  margin-left: auto;
  padding-top: 2.8em;
  position: absolute;
  right: 0;
  top: -40px;
}
.idx08 .feature_cont .swiper-pagination {
  top: 0.125em;
  bottom: unset;
  left: -0.125em;
  display: flex;
  justify-content: flex-start;
}
.idx08 .feature_cont .swiper-pagination span {
  width: 2.3571428571em;
  height: 2.3571428571em;
  margin: 0 0.2142857143em;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  line-height: 1;
  border: 1px solid var(--clr2);
  color: var(--clr2);
  font-size: 0.875em;
  cursor: pointer;
  letter-spacing: 0em;
  padding-bottom: 0.0714285714em;
  transition: all 0.3s;
  background-color: transparent;
  opacity: 1;
}
.idx08 .feature_cont .swiper-pagination span.active, .idx08 .feature_cont .swiper-pagination span:hover {
  background-color: var(--clr2);
  color: #ffffff;
  font-weight: 300;
}
.idx08 .feature_cont .it {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: 0.3s all;
}
.idx08 .feature_cont .it h4, .idx08 .feature_cont .it p, .idx08 .feature_cont .it .btn_st01 {
  transform: scale(0);
}
.idx08 .feature_cont .it.active {
  position: relative;
  opacity: 1;
}
.idx08 .feature_cont .it.active h4, .idx08 .feature_cont .it.active p, .idx08 .feature_cont .it.active .btn_st01 {
  transform: scale(1);
}

@keyframes marquee {
  0% {
    transform: translate3d(var(--move-initial), 0, 0);
  }
  100% {
    transform: translate3d(var(--move-final), 0, 0);
  }
}
.idx09 {
  padding: 93px 0 39px;
  background: url(../images/idx09_bg.jpg) no-repeat center/cover;
}
.idx09 .block_greeting {
  background: url(../images/idx09_doctor.png) no-repeat top left/100% auto;
  position: relative;
  padding: 95px 40px 50px;
}
.idx09 .box_name {
  position: absolute;
  left: -35px;
  top: 438px;
  background-color: #ffffff;
  border-radius: 6px;
  text-align: center;
  max-width: 14.375em;
  width: 100%;
  padding: 1.4375em 1.25em 1.625em;
}
.idx09 .box_name p {
  line-height: 1;
}
.idx09 .box_name .pos {
  max-width: 11.5714285714em;
  font-size: 0.875em;
  font-weight: 500;
  border-bottom: 1px solid rgba(110, 191, 209, 0.5);
  padding-bottom: 0.5714285714em;
  margin-bottom: 0.6428571429em;
  margin-left: auto;
  margin-right: auto;
}
.idx09 .box_name .name {
  font-size: 1.625em;
}
.idx09 .box_name .name .en {
  color: var(--clr2);
  text-transform: uppercase;
  font-weight: 500;
  font-size: 12px;
  display: block;
  margin-top: 0.9166666667em;
  letter-spacing: 0.15em;
}
.idx09 .gr_btn {
  margin-top: 76px;
}

.idx10 {
  padding: 100px 0 0;
  background: url(../images/idx10_bg.png) no-repeat top -8px right;
}
.idx10 .inner_max {
  max-width: 1780px;
}
.idx10 .idx_logo {
  margin-bottom: 13px;
  margin-left: 2px;
  display: table;
}
.idx10 .idx_logo a:hover {
  opacity: 1;
}
.idx10 .btn_st02 {
  margin-top: 47px;
  max-width: 539px;
}
.idx10 .btn_st02 a {
  max-width: 300px;
  margin: auto;
}
.idx10 .box_add {
  padding-left: 76px;
  margin-bottom: 26px;
}
.idx10 .des {
  display: flex;
  line-height: 1.625;
  margin-bottom: 16px;
}
.idx10 .des span {
  margin-right: 10px;
  margin-top: -2px;
}
.idx10 .block_clinic {
  margin-bottom: 138px;
}
.idx10 .txt_en {
  position: absolute;
  top: -4.125em;
  left: 3.1875em;
  white-space: nowrap;
  width: 56.125em;
}
.idx10 .clinic_img {
  position: relative;
  font-size: min(16px, 0.88vw);
}
.idx10 .clinic_img img {
  border-radius: 10px;
}
.idx10 .clinic_img .pic_sm {
  max-width: 640px;
  width: 85%;
  margin-left: auto;
  margin-top: -6.875em;
  display: flex;
  align-items: flex-end;
}
.idx10 .clinic_img .pic_sm .img03 {
  margin-left: 2.3125em;
  margin-bottom: -3.9375em;
}
.idx10 .clinic_img .txt_en img {
  border-radius: 0;
  max-width: 56.125em;
}

.idx_map {
  height: 450px;
}
.idx_map iframe {
  height: 100%;
}

.idx11 {
  padding: 115px 0 114px;
  background: url(../images/idx11_bg.jpg) no-repeat center/cover;
}
.idx11 .tl_h3 {
  font-size: 20px;
  margin-top: 28px;
  margin-left: -6px;
}
.idx11 .tl_h3::before {
  margin-bottom: 6px;
}
.idx11 .tl_h3 .en {
  font-size: 60px;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--main-color);
}
.idx11 .btn_st02 {
  margin: 30px auto 0;
}
.idx11 .list_post li {
  border-bottom: 1px solid #e2e2e2;
  width: 100%;
}
.idx11 .list_post li:first-child {
  border-top: 1px solid #e2e2e2;
}
.idx11 .list_post a {
  display: flex;
  text-decoration: none;
  padding: 31px 61px 34px 8px;
  --w: 7.4em;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  white-space: nowrap;
  width: 100%;
  color: var(--clr1);
  position: relative;
}
.idx11 .list_post a:after {
  content: "";
  position: absolute;
  top: 0px;
  bottom: 0;
  right: 3px;
  margin: auto;
  mask-image: url(../images/ic_arrow.svg);
  -webkit-mask-image: url(../images/ic_arrow.svg);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  width: 8px;
  height: 14px;
  background-color: var(--clr2);
  transition: 0.3s all;
}
.idx11 .list_post a span {
  display: inline-block;
}
.idx11 .list_post a .date {
  width: var(--w);
  transition: all 0.3s;
  color: #517f89;
}
.idx11 .list_post a .title {
  max-width: calc(100% - var(--w));
  position: relative;
  padding-right: 1.5em;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media only screen and (min-width: 769px) {
  .tl_h3.tl_left {
    text-align: left;
    display: flex;
    align-items: flex-end;
  }
  .tl_h3.tl_left::before {
    position: absolute;
    margin: 0;
    top: -16px;
    left: 16px;
  }
  .tl_h3.tl_left .en {
    margin-bottom: 4px;
    margin-left: 19px;
  }
  .idx01 .insta_title {
    align-self: flex-end;
  }
  .idx01 .block_insta {
    display: grid;
    grid-template-columns: 21% 77.6%;
    justify-content: space-between;
  }
  .idx01 .block_insta .insta_cont {
    grid-row: 1/span 2;
    grid-column-start: 2;
    margin: 0 -7px;
  }
  .idx01 .block_insta .insta_cont .it {
    width: calc(25% - 14px);
    margin: 7px;
  }
  .idx02 .block_trouble .trouble_img {
    width: 50%;
    max-width: 40em;
    order: 2;
    align-self: flex-start;
    margin-top: -8.5em;
    font-size: min(16px, 1.1vw);
  }
  .idx02 .block_trouble .trouble_cont {
    width: 48%;
    max-width: 600px;
    order: 1;
  }
  .idx03 .parts_btn a:hover, .idx03 .parts_btn.active a {
    background-color: var(--main-color);
  }
  .idx03 .parts_btn a:hover::before, .idx03 .parts_btn.active a::before {
    border-color: #3776bc;
  }
  .idx03 .parts_btn a:hover::after, .idx03 .parts_btn.active a::after {
    opacity: 1;
  }
  .idx04 .tl_h3 {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 425px;
    width: 29%;
    padding-left: 80px;
    letter-spacing: 0;
  }
  .idx04 .block_pickup {
    display: grid;
    grid-template-columns: 50% 50%;
    justify-content: space-between;
  }
  .idx04 .block_pickup .pickup_img {
    grid-row: 1/span 3;
  }
  .idx04 .block_pickup .pickup_cont, .idx04 .block_pickup h4 {
    padding-left: 65px;
  }
  .idx04 .TabContainer .TabContent .content:not(.ac) {
    height: 560px;
  }
  .idx05::before {
    font-size: min(16px, 0.91vw);
  }
  .idx05 .about_cont, .idx05 .about_img {
    font-size: min(16px, 0.91vw);
  }
  .idx05 .about_img {
    max-width: 56.25em;
    width: 70%;
    position: absolute;
    top: 247px;
    left: 0;
  }
  .idx05 .about_img img {
    border-radius: 0 20px 20px 0;
  }
  .idx05 .about_cont .it:hover {
    background-color: var(--main-color);
  }
  .idx05 .about_cont .it:nth-child(1) {
    margin-left: 0.9375em;
  }
  .idx05 .about_cont .it:nth-child(3) {
    margin-right: 0.9375em;
  }
  .idx06 .block_flow .flow_it {
    width: calc((100% - 159px) / 4);
    margin-right: 53px;
  }
  .idx06 .block_flow .flow_it:last-child {
    margin-right: 0;
  }
  .idx07 .block_beauty {
    display: grid;
    grid-template-columns: 50% 50%;
    justify-content: space-between;
    align-items: flex-start;
  }
  .idx07 .block_beauty .beauty_img {
    grid-row: 1/span 3;
  }
  .idx07 .block_beauty .beauty_cont {
    padding-left: 70px;
    padding-right: 77px;
  }
  .idx07 .idx_bnr .bnr::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #79bfd2;
    opacity: 0;
    transition: 0.3s all;
  }
  .idx07 .idx_bnr .bnr:hover {
    background-image: linear-gradient(45deg, rgb(39, 100, 169) 20%, rgb(110, 191, 209) 80%);
  }
  .idx07 .idx_bnr .bnr:hover::after {
    opacity: 0.2;
  }
  .idx07 .idx_bnr .bnr:hover .box_in:after {
    right: 1.5em;
  }
  .idx08 .b_wrap {
    font-size: min(16px, 0.88vw);
  }
  .idx08 .feature_cont .it.active h4 {
    animation: fadeInRight 0.5s linear alternate;
  }
  .idx08 .feature_cont .it.active p {
    animation: fadeInRight 0.8s linear alternate;
  }
  .idx08 .feature_cont .it.active .btn_st01 {
    animation: fadeInRight 1s linear alternate;
  }
  .idx09 .tl_h3 {
    margin-left: auto;
    margin-bottom: 24px;
    max-width: 720px;
    width: 50%;
    padding-left: 40px;
  }
  .idx09 .greeting_cont {
    max-width: 720px;
    width: 50%;
    padding: 0 40px;
    margin-left: auto;
  }
  .idx09 .greeting_cont > p {
    max-width: 575px;
    letter-spacing: 0.1em;
    font-size: 15px;
    line-height: 2;
    margin-left: -1px;
  }
  .idx09 .gr_btn .btn_st02 {
    width: calc(50% - 38px);
  }
  .idx10 .block_clinic > div {
    width: 50%;
  }
  .idx10 .clinic_img {
    order: 1;
  }
  .idx10 .clinic_cont {
    padding-left: 69px;
    padding-top: 61px;
    order: 2;
  }
  .idx10 .time_sheet {
    max-width: 545px;
    width: 100%;
  }
  .idx11 .block_news {
    display: grid;
    grid-template-columns: 35.7% 58.5%;
  }
  .idx11 .block_news .list_post {
    grid-row: 1/span 3;
    grid-column-start: 2;
  }
  .idx11 .block_news .list_post a:hover {
    color: var(--clr2);
    opacity: 1;
    background-color: #f0f7f9;
  }
  .idx11 .block_news .list_post a:hover::after {
    right: 10px;
  }
  .idx11 .block_news .list_post a:hover .date {
    color: var(--clr2);
  }
  .idx11 .btn_st02 a {
    margin-left: -6px;
  }
}
@media only screen and (max-width: 1600px) and (min-width: 769px) {
  .idx07 .block_beauty {
    padding-left: 65px;
  }
  .idx07 .block_beauty .beauty_img {
    font-size: min(16px, 0.88vw);
  }
  .idx07 .idx_bnr {
    font-size: min(16px, 1.3vw);
  }
  .idx08 .txt_en {
    font-size: min(16px, 0.88vw);
  }
}
@media only screen and (max-width: 1500px) and (min-width: 769px) {
  .idx01 .block_insta {
    grid-template-columns: 22% 73.6%;
  }
  .idx01 .btn_st01 {
    margin-top: 36px;
  }
  .idx08 .s_swiper {
    max-width: 76em;
  }
  .idx08 .btn_st01 {
    margin-top: 0.8125em;
  }
  .idx08 p {
    font-size: 1em;
    margin-bottom: 0;
  }
  .idx08 .swiper_arrows {
    top: -1.0625em;
  }
  .idx08 .feature_cont {
    top: -1em;
  }
  .idx09 .box_name {
    left: -10px;
  }
  .idx10 .clinic_img .pic_sm {
    padding-right: 2em;
  }
}
@media only screen and (max-width: 1400px) and (min-width: 769px) {
  .idx04 .tl_h3 {
    padding-left: 0;
  }
  .idx08 .b_wrap {
    font-size: min(16px, 1.1vw);
  }
  .idx08 .feature_cont .swiper-pagination span {
    padding-bottom: 0;
  }
  .idx09 .tl_h3 {
    width: 55%;
    max-width: 650px;
  }
  .idx09 .block_greeting {
    max-width: 1220px;
    width: 100%;
    margin: 0 auto;
  }
  .idx09 .greeting_cont {
    width: 55%;
    max-width: 650px;
    padding-right: 20px;
  }
  .idx09 .greeting_cont > p {
    width: 100%;
  }
  .idx09 .box_name {
    top: 380px;
  }
}
@media only screen and (max-width: 1300px) and (min-width: 769px) {
  .tl_h3 {
    font-size: 30px;
  }
  .tl_h3 .en {
    font-size: 20px;
  }
  .idx01 {
    padding: 60px 0 46px;
  }
  .idx01 .insta_title {
    font-size: 14px;
    margin-top: 10px;
  }
  .idx01 .insta_title span {
    font-size: 28px;
  }
  .idx02 .txt_en {
    font-size: min(150px, 15vw);
  }
  .idx02 h3 {
    font-size: 30px;
  }
  .idx02 .listcheck li {
    font-size: 18px;
    padding: 1em 0.25em 1.1em 1.9em;
  }
  .idx02 .listcheck li::before {
    top: 1.3em;
  }
  .idx03 {
    background-size: 34% auto;
  }
  .idx04 {
    background-size: 34% auto, auto;
  }
  .idx04 h4 {
    font-size: 24px;
    margin-bottom: 15px;
  }
  .idx04 h4::after {
    margin-top: 8px;
  }
  .idx04 .btn_st02 {
    margin-top: 20px;
  }
  .idx05 .about_img {
    top: 205px;
  }
  .idx06 {
    padding-top: 80px;
  }
  .idx07 .block_beauty .beauty_cont {
    padding-left: 30px;
    padding-right: 30px;
  }
  .idx07 .block_beauty .beauty_cont p {
    font-size: 16px;
  }
  .idx07 .idx_bnr {
    margin-top: 40px;
  }
  .idx08 .tl_h3 {
    margin-bottom: 22px;
  }
  .idx08 .feature_cont .swiper-pagination {
    font-size: 1vw;
  }
  .idx08 .feature_cont .swiper-pagination span {
    padding-bottom: 0;
  }
  .idx09 .tl_h3, .idx09 .greeting_cont {
    width: 60%;
  }
  .idx09 .box_name {
    top: 28vw;
  }
  .idx09 .gr_btn {
    margin-top: 50px;
  }
  .idx10 {
    background-size: 34% auto;
    background-position: top -6px right;
  }
  .idx10 .clinic_cont {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 20px;
  }
  .idx11 {
    padding: 80px 0;
  }
  .idx11 .tl_h3 {
    font-size: 18px;
  }
  .idx11 .tl_h3 .en {
    font-size: 48px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx01 .insta_title {
    align-self: flex-end;
  }
  .idx01 .block_insta {
    grid-template-columns: 285px calc(100% - 315px);
  }
  .idx01 .block_insta .insta_cont {
    grid-row: 1/span 2;
    max-width: 610px;
  }
  .idx01 .block_insta .insta_cont .it {
    width: calc(50% - 14px);
  }
  .idx02 .block_trouble .trouble_img {
    margin-top: 0;
  }
  .idx03 .block_parts {
    font-size: min(16px, 1.26vw);
  }
  .idx04 .block_pickup .pickup_cont, .idx04 .block_pickup h4 {
    padding-left: 35px;
  }
  .idx05::before {
    width: 61.9375em;
    height: 50.9375em;
  }
  .idx05 .tl_h3 {
    max-width: 330px;
  }
  .idx06 .tl_h3 {
    margin-bottom: 25px;
  }
  .idx06 .btn_st02 {
    margin-top: 30px;
  }
  .idx06 .block_flow {
    padding: 50px 30px 55px;
  }
  .idx06 .block_flow .flow_it {
    padding: 0px 15px 25px 15px;
    width: calc((100% - 90px) / 4);
    margin-right: 30px;
  }
  .idx06 .block_flow .flow_it:not(:last-child)::after {
    right: -31px;
    width: 26px;
    height: 25px;
  }
  .idx06 .block_flow .flow_img {
    width: 85px;
    height: 85px;
  }
  .idx07 .tl_h3 {
    margin-bottom: 8px;
  }
  .idx07 .block_beauty {
    padding-left: 40px;
  }
  .idx07 .btn_st02 {
    margin-top: 25px;
  }
  .idx08 h4 {
    font-size: 1.55em;
    letter-spacing: 0.01em;
  }
  .idx08 .b_wrap {
    font-size: min(14px, 1.4vw);
  }
  .idx08 .s_swiper {
    max-width: 67em;
  }
  .idx08 .swiper_arrows {
    right: 36px;
  }
  .idx08 .feature_cont {
    top: -0.5em;
    padding-left: 0;
    padding-top: 2.9em;
    width: calc(100% - 25.875em);
    right: 36px;
  }
  .idx08 .feature_cont .swiper-pagination {
    font-size: 1.2vw;
  }
  .idx08 .feature_img .swiper-slide.swiper-slide-active {
    width: 20em;
    height: 26.75em;
  }
  .idx09 .tl_h3 {
    margin-bottom: 12px;
  }
  .idx09 .block_greeting {
    padding-top: 50px;
  }
  .idx09 .greeting_cont {
    padding: 0 0 0 40px;
  }
  .idx09 .gr_btn {
    margin-top: 35px;
  }
  .idx09 .box_name {
    top: 30vw;
  }
  .idx10 .des {
    letter-spacing: 0.02em;
  }
  .idx10 .des span {
    margin-right: 3px;
  }
  .idx10 .box_add {
    padding-left: 5vw;
  }
  .idx10 .time_sheet th:first-child, .idx10 .time_sheet td:first-child {
    padding-left: 0.1em;
  }
  .idx10 .block_clinic {
    margin-bottom: 60px;
  }
  .idx10 .btn_st02 {
    margin-top: 30px;
  }
  .idx10 .btn_st02 a {
    max-width: 250px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1000px) {
  .idx08 .tl_h3 {
    margin-bottom: 92px;
  }
  .idx08 h4 {
    font-size: 1.825em;
  }
  .idx08 .txt_en {
    top: 8.9375em;
  }
  .idx08 p {
    font-size: 1.2em;
    letter-spacing: 0.01em;
  }
  .idx08 .swiper_arrows {
    top: -7.875em;
  }
  .idx08 .feature_cont {
    top: -66px;
  }
  .idx08 .feature_cont .swiper-pagination {
    top: -0.5em;
  }
  .idx08 .feature_cont .swiper-pagination span {
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1.2em;
  }
  .idx09 .box_name {
    top: 25vw;
  }
  .idx11 .tl_h3 {
    margin-top: 0;
  }
  .idx11 .list_post {
    padding-left: 30px;
  }
  .idx11 .list_post a {
    padding: 20px 40px 22px 8px;
  }
  .idx11 .list_post a .title {
    padding-right: 0;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  50% {
    opacity: 0.5;
    transform: translateX(25px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*# sourceMappingURL=index_pc.css.map */
