.home_page .key {
  --height: 56vw;
  --min-height: 550px;
  --max-height: 960px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: min(10px, 1.4vw);
  background: url(../images/idx_mv01.jpg) no-repeat center/cover;
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 100%;
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding-top: 24em;
}
.home_page .key .key_text .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: 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;
}
.home_page .key .catch {
  margin: auto;
}
.home_page .key .catch h2,
.home_page .key .catch p {
  font-weight: 700;
  text-align: center;
}
.home_page .key .catch h2 {
  margin-bottom: 0;
  font-size: 4.2em;
  font-weight: bold;
  line-height: 1.5714;
  letter-spacing: 0.05em;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.85), 0 0 15px rgba(255, 255, 255, 0.85), 0 0 20px rgba(255, 255, 255, 0.85), 0 0 25px rgba(255, 255, 255, 0.85), 0 0 30px rgba(255, 255, 255, 0.85), 0 0 35px rgba(255, 255, 255, 0.85), 0 0 40px rgba(255, 255, 255, 0.85), 0 0 45px rgba(255, 255, 255, 0.85), 0 0 50px rgba(255, 255, 255, 0.85), 0 5px 40px rgba(255, 255, 255, 0.75), 0 5px 45px rgba(255, 255, 255, 0.75), 0 5px 50px rgba(255, 255, 255, 0.75), 0 5px 55px rgba(255, 255, 255, 0.75), 0 5px 60px rgba(255, 255, 255, 0.55);
  position: relative;
  z-index: 1;
}
.home_page .key .catch p {
  font-size: 16em;
  line-height: 0.9;
  letter-spacing: 0;
  --_space: 10;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(2%, #41c1c6), color-stop(50%, #a1ece5), color-stop(97%, #3fbd8d));
  background-image: linear-gradient(0deg, #41c1c6 2%, #a1ece5 50%, #3fbd8d 97%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 22px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 28px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 30px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 19px rgba(255, 255, 255, 0.8));
          filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 22px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 28px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 30px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 19px rgba(255, 255, 255, 0.8));
}
.home_page .key_inner {
  width: 100%;
}
.home_page .key_features {
  margin-top: 4.6em;
  width: 100%;
}
.home_page .key_features .k_it {
  max-width: 37.2em;
  width: calc(33.3333333333% - 2em);
  margin: 0 1em;
  border: 1px solid var(--main-color);
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3.1em 3.2em 3.7em 3.2em;
  height: 15.2em;
}
.home_page .key_features .k_it::before {
  content: "";
  position: absolute;
  inset: 0.5em;
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.1);
  z-index: -1;
}
.home_page .key_features .k_it:nth-child(1) .k_num {
  right: 0.0375em;
}
.home_page .key_features .k_it:nth-child(3) .k_img img {
  max-width: 7.7em;
  left: 0.2em;
  top: 0.4em;
}
.home_page .key_features .k_it:nth-child(3) .k_title {
  margin-left: 0.9em;
}
.home_page .key_features .k_num {
  position: absolute;
  bottom: 0.0625em;
  right: 0.125em;
  font-size: 8em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  color: #e6f6f4;
}
.home_page .key_features .k_title {
  font-size: 3em;
  line-height: 1.33333;
  font-weight: bold;
  margin-bottom: 0;
  margin-left: 0.73333333em;
  position: relative;
  z-index: 1;
}
.home_page .key_features .k_img img {
  max-width: 8.2em;
  width: 100%;
  position: relative;
  top: 0.3em;
}
.home_page .topic_path {
  display: none;
}

@media screen and (min-width: 1921px) {
  .home_page .key {
    --max-height: 1600px;
    --height: 50vw;
  }
}
@media only screen and (min-width: 1800px) and (max-width: 1920px) {
  .home_page .key {
    background-size: 1920px auto;
    -ms-interpolation-mode: nearest-neighbor;
        image-rendering: -webkit-optimize-contrast;
        image-rendering: pixelated;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.625em, 1vw, 1vh);
    --max-height: 100vh;
    background-position: left 28%;
  }
}
@media only screen and (max-width: 1300px) and (min-width: 769px) {
  .home_page .key {
    font-size: min(0.7vw, 0.8vh);
    --height: 49vw;
    --min-height: 380px;
  }
  .home_page .key .key_text {
    padding-top: 18em;
  }
}
.h3_tl {
  font-size: 42px;
  font-weight: 500;
  line-height: 1.66666667;
  letter-spacing: 0.1em;
}
.h3_tl::after {
  content: "";
  position: relative;
  display: block;
  width: 3.7380952381em;
  height: 6px;
  background: url(../images/ic_h3.svg) no-repeat center/contain;
  margin: 0.2619047619em auto 0;
}
.h3_tl .cl {
  color: var(--main-color);
}
.h3_tl .cl2 {
  color: #5d88b9;
  letter-spacing: 0.05em;
}
.h3_tl .tt {
  color: #fff;
  background-color: #5d88b9;
  font-size: 60px;
  line-height: 1;
  display: inline-block;
  padding: 0px 0.183333333em 0.1666666667em 0.1666666667em;
  margin-right: 0.1666666667em;
}
.h3_tl .tl_label {
  display: table;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(87, 177, 183)), to(rgb(129, 216, 208)));
  background-image: linear-gradient(90deg, rgb(87, 177, 183) 0%, rgb(129, 216, 208) 100%);
  text-align: center;
  padding: 7px 34px 9px;
  margin: 0 auto 16px;
  position: relative;
  border-radius: 50px;
}
.h3_tl .tl_label::before {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 0;
  right: 0;
  margin: auto;
  width: 18px;
  height: 17px;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(87, 177, 183)), to(rgb(129, 216, 208)));
  background-image: linear-gradient(90deg, rgb(87, 177, 183) 0%, rgb(129, 216, 208) 100%);
  clip-path: polygon(100% 0%, 0% 0%, 50% 100%);
}
.h3_tl .fz60 {
  font-size: 60px;
  line-height: 1;
}
.h3_tl.tl_sm {
  font-size: 36px;
}
.h3_tl.tl_sm::after {
  margin-top: 0.3055555556em;
  width: 4.3611111111em;
}
.h3_tl.tl_sm .cl {
  font-size: 60px;
}
.h3_tl.tl_center {
  text-align: center;
}
.h3_tl.tl_white {
  color: #ffffff;
}
.h3_tl.tl_white::after {
  background-image: url(../images/ic_h3_white.svg);
}

.wrap_tl {
  position: relative;
  padding-top: 34px;
}
.wrap_tl .tt_en {
  font-size: 120px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
}
.wrap_tl .h3_tl {
  position: relative;
  z-index: 1;
}
.wrap_tl .h3_tl::after {
  display: none;
}

@media only screen and (min-width: 769px) {
  .b_grid {
    display: -ms-grid;
    display: grid;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .b_grid .column-star1 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1/span 3;
  }
  .b_grid .column-star2 {
    -ms-grid-column: 2;
        grid-column-start: 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1/span 3;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .h3_tl {
    font-size: min(36px, 4vw);
  }
  .h3_tl .tt {
    font-size: 1.25em;
  }
  .h3_tl .fz60 {
    font-size: 1.25em;
  }
  .h3_tl .tl_label {
    font-size: 22px;
    padding: 9px 34px 11px;
    margin-bottom: 12px;
  }
  .h3_tl.tl_sm {
    font-size: min(32px, 3.8vw);
  }
  .h3_tl.tl_sm .cl {
    font-size: 1.40625em;
  }
  .wrap_tl {
    padding-top: 2.4vw;
  }
  .wrap_tl .tt_en {
    font-size: min(100px, 10vw);
  }
}
.idx01 {
  padding: 79px 0px 122px;
  position: relative;
  z-index: 0;
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
}
.idx01::before, .idx01::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.idx01::before {
  bottom: 0;
  left: 50%;
  right: 50%;
  margin: 0 -50vw;
  width: 100vw;
  height: 480px;
  background-image: url(../images/idx01_bg.jpg), linear-gradient(-45deg, rgb(239, 241, 241) 0%, rgb(233, 241, 248) 100%);
  background-position: center right, center;
  background-repeat: no-repeat;
  background-size: cover;
}
.idx01::after {
  background: url(../images/ic_logo.png) no-repeat center/contain;
  width: 26.2em;
  height: 14.8em;
  top: 18.4em;
  left: 1.6em;
  opacity: 0.05;
  font-size: 10px;
}
.idx01 .h3_tl {
  margin-bottom: 55px;
  line-height: 1.88;
}
.idx01 .h3_tl::after {
  display: none;
}
.idx01 p {
  font-weight: 500;
  margin-bottom: 0;
}
.idx01 .listcheck {
  margin-top: 15px;
  margin-bottom: 31px;
}
.idx01 .listcheck li {
  position: relative;
  font-weight: 500;
  line-height: 2;
  padding-left: 2.3333333333em;
  padding-top: 0.66666667em;
  padding-bottom: 0.61111111em;
  border-bottom: 1px solid #d9d9d9;
}
.idx01 .listcheck li::before {
  content: "";
  position: absolute;
  top: 1.16666667em;
  left: 0.3888888889em;
  width: 1.3888888889em;
  height: 1.111111111em;
  background: url(../images/ic_check.svg) no-repeat center/contain;
}
.idx01 .b_img {
  position: relative;
  z-index: 0;
}
.idx01 .b_img::before {
  content: "";
  position: absolute;
  bottom: -35px;
  right: -35px;
  width: 100%;
  height: 100%;
  background-color: rgba(129, 216, 207, 0.75);
  z-index: -1;
}
.idx01 .b_cont > p {
  padding-left: 4px;
}

@media only screen and (min-width: 769px) {
  .idx01 .h3_tl {
    margin-right: -140px;
    position: relative;
    z-index: 1;
  }
  .idx01 .h3_tl .tt {
    position: relative;
    top: 7px;
  }
  .idx01 .b_img {
    margin-right: -80px;
    margin-top: 57px;
  }
  .idx01 .b_grid {
    -ms-grid-columns: 48% 50%;
    grid-template-columns: 48% 50%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1500px) {
  .idx01::before {
    max-height: 480px;
    height: 33vw;
  }
  .idx01::after {
    font-size: min(9px, 0.7vw);
  }
  .idx01 .b_grid {
    padding-right: 25px;
  }
  .idx01 .b_img {
    margin-right: 0;
  }
  .idx01 .b_img::before {
    right: -25px;
    bottom: -25px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx01 {
    padding: 65px 0 80px;
  }
  .idx01::before {
    height: 46vw;
  }
  .idx01::after {
    top: 30.4em;
  }
  .idx01 .b_grid {
    -ms-grid-columns: 54% 44%;
    grid-template-columns: 54% 44%;
  }
  .idx01 .h3_tl {
    letter-spacing: 0;
    margin-bottom: 25px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1000px) {
  .idx01::before {
    max-height: 540px;
    height: 88vw;
  }
}
.idx02 {
  padding: 73px 0 93px;
}
.idx02 .inner_max {
  max-width: 1740px;
}
.idx02 .h3_tl {
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 65px;
}
.idx02 .h3_tl span {
  letter-spacing: 0.1em;
}
.idx02 .block_feature {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 10px;
}
.idx02 .block_feature p {
  font-size: 1.8em;
}
.idx02 .block_feature .item {
  position: relative;
}
.idx02 .block_feature .item01::before {
  content: "";
  position: absolute;
  content: "";
  position: absolute;
  top: 6em;
  right: -19.7em;
  width: 30em;
  height: 21.7em;
  background: url(../images/idx02_img01_bf.png) no-repeat center/contain;
  z-index: 2;
}
.idx02 .block_feature .item01::after {
  content: "";
  position: absolute;
  top: 0;
  right: -72.3em;
  background: url(../images/idx02_img_af01.jpg) no-repeat center/contain;
  width: 80.2em;
  height: 40.1em;
}
.idx02 .block_feature .item02::after {
  content: "";
  position: absolute;
  top: 0;
  left: -72.4em;
  background: url(../images/idx02_img_af01.jpg) no-repeat center/contain;
  width: 80.2em;
  height: 40.1em;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.idx02 .block_feature .item02 .f_img::before {
  left: -3.5em;
}
.idx02 .block_feature .f_img {
  position: relative;
  z-index: 0;
}
.idx02 .block_feature .f_img::before {
  content: "";
  position: absolute;
  top: 3.4em;
  left: 3.5em;
  width: 100%;
  height: 100%;
  background-color: rgba(87, 177, 183, 0.2);
  z-index: -1;
}
.idx02 .block_feature .f_point {
  font-size: 3em;
  font-weight: 400;
  color: #81d8d0;
  border-bottom: 1px solid #333333;
  text-transform: uppercase;
  text-align: center;
  padding-bottom: 0.5666666667em;
  margin-bottom: 0.6666666667em;
}
.idx02 .block_feature .f_point span {
  font-size: 2em;
  line-height: 1;
  letter-spacing: 0.1em;
  position: relative;
  top: 0.2em;
  padding-left: 0.1166666667em;
}
.idx02 .block_feature h4 {
  font-size: 3em;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--main-color);
  text-align: center;
  margin-bottom: 0.6em;
}

@media only screen and (min-width: 769px) {
  .idx02 .block_feature .item:not(.it_st01) {
    width: calc((100% - 20em) / 3);
    margin-right: 10em;
  }
  .idx02 .block_feature .item:not(.it_st01):last-child {
    margin-right: 0;
  }
  .idx02 .block_feature .item:not(.it_st01) .f_cont {
    width: 100%;
    max-width: 41.7em;
    margin: 6.5em auto 0;
  }
  .idx02 .block_feature .item:not(.it_st01) h4 {
    margin-bottom: 0.466666667em;
  }
  .idx02 .block_feature .item.item01 {
    margin-bottom: 9em;
  }
  .idx02 .block_feature .item.item02 {
    margin-bottom: 6.6em;
  }
  .idx02 .block_feature .it_st01 {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 50% 50%;
    grid-template-columns: 50% 50%;
    max-width: 1440px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx02 .block_feature .it_st01 .f_point {
    margin-top: 2.5em;
    margin-bottom: 1.06666667em;
  }
  .idx02 .block_feature .it_st01 .f_cont, .idx02 .block_feature .it_st01 .f_point {
    position: relative;
    z-index: 1;
  }
  .idx02 .block_feature .it_st01 .f_cont * {
    max-width: 500px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx02 .block_feature .it_st01 .f_img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1/span 3;
  }
  .idx02 .block_feature .it_st01.it_left .f_img {
    -ms-grid-column: 1;
        grid-column-start: 1;
  }
  .idx02 .block_feature .it_st01.it_left .f_cont {
    margin-left: -4em;
    padding-right: 4em;
  }
  .idx02 .block_feature .it_st01.it_left .f_point {
    margin-left: -1.333333333em;
    padding-right: 0.933333333em;
    padding-bottom: 0.6em;
  }
  .idx02 .block_feature .it_st01.it_right h4 {
    margin-bottom: 0.4666666667em;
  }
  .idx02 .block_feature .it_st01.it_right .f_img {
    -ms-grid-column: 2;
        grid-column-start: 2;
  }
  .idx02 .block_feature .it_st01.it_right .f_cont, .idx02 .block_feature .it_st01.it_right .f_point {
    max-width: 720px;
  }
  .idx02 .block_feature .it_st01.it_right .f_cont {
    right: -4em;
  }
  .idx02 .block_feature .it_st01.it_right .f_point {
    right: -1.3333333333em;
    padding-left: 0.933333333em;
    padding-bottom: 0.5666666667em;
    margin-top: 2.633333333em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1800px) {
  .idx02 .block_feature .item01:before {
    right: -1em;
    max-width: 30em;
    width: 14%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx02 .block_feature {
    padding-right: 35px;
  }
  .idx02 .block_feature .it_st01 {
    margin-right: -35px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx02 .h3_tl {
    margin-bottom: 40px;
  }
  .idx02 .block_feature {
    padding-right: 20px;
  }
  .idx02 .block_feature h4 {
    font-size: 2.4em;
  }
  .idx02 .block_feature .f_point {
    font-size: 2.4em;
  }
  .idx02 .block_feature .f_img:before {
    top: 2em;
    left: 2em;
  }
  .idx02 .block_feature .item:not(.it_st01) {
    width: calc((100% - 10em) / 3);
    margin-right: 5em;
  }
  .idx02 .block_feature .item:not(.it_st01) .f_cont {
    margin-top: 4em;
  }
  .idx02 .block_feature .item.item01 {
    margin-bottom: 5em;
  }
  .idx02 .block_feature .item.item01::before {
    top: 1em;
  }
  .idx02 .block_feature .item.item02 {
    margin-bottom: 7em;
  }
  .idx02 .block_feature .item.item02 .f_img::before {
    left: -2em;
  }
  .idx02 .block_feature .it_st01 {
    margin-right: -20px;
  }
  .idx02 .block_feature .it_st01.it_left .f_cont, .idx02 .block_feature .it_st01.it_left .f_point {
    padding-right: 0;
    padding-left: 3%;
  }
  .idx02 .block_feature .it_st01.it_right .f_cont, .idx02 .block_feature .it_st01.it_right .f_point {
    padding-right: 8%;
    padding-left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx02 .block_feature {
    font-size: min(10px, 1vw);
  }
  .idx02 .block_feature .item:not(.it_st01) h4 {
    letter-spacing: 0em;
  }
  .idx02 .block_feature .item.item01::before {
    top: -2.7em;
  }
  .idx02 .block_feature .it_st01 .f_point {
    margin-top: 0.3636363636em;
    margin-bottom: 0.6818181818em;
  }
  .idx02 .block_feature .it_st01.it_left {
    -ms-grid-columns: 40% 60%;
    grid-template-columns: 40% 60%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .idx02 .block_feature .it_st01.it_left .f_point {
    padding-bottom: 0.4545454545em;
  }
  .idx02 .block_feature .it_st01.it_left .f_point, .idx02 .block_feature .it_st01.it_left .f_cont {
    padding-left: 15%;
    padding-right: 8%;
    left: 0;
  }
  .idx02 .block_feature .it_st01.it_left .f_point {
    margin-left: -1.363636364em;
  }
  .idx02 .block_feature .it_st01.it_left .f_cont {
    margin-left: -3em;
  }
  .idx02 .block_feature .it_st01.it_right {
    -ms-grid-columns: 60% 40%;
    grid-template-columns: 60% 40%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .idx02 .block_feature .it_st01.it_right .f_point {
    margin-top: 0.3636363636em;
    margin-right: -1.363636364em;
  }
  .idx02 .block_feature .it_st01.it_right .f_cont {
    margin-right: -3em;
  }
  .idx02 .block_feature .it_st01.it_right .f_point, .idx02 .block_feature .it_st01.it_right .f_cont {
    padding-left: 0;
    padding-right: 15%;
    right: 0;
  }
}
.block_contact {
  gap: 0 4em;
  font-size: 10px;
}
.block_contact .btn_it {
  max-width: 400px;
  width: calc(50% - 4em);
  height: 11em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1em;
  position: relative;
}
.block_contact .btn_it span {
  display: table;
  color: #ffffff;
}
.block_contact .btn_it a {
  width: 100%;
  height: 100%;
}
.block_contact .tt_ic {
  position: relative;
}
.block_contact .tt_ic::before {
  content: "";
  position: absolute;
  top: 0.22222222em;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.block_contact .btn_tel {
  background-color: #5d88b9;
  text-align: center;
}
.block_contact .btn_tel .tt_note {
  font-size: 2em;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 0.4em;
}
.block_contact .btn_tel .tt_ic {
  font-size: 3.6em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-left: 1.361111111em;
}
.block_contact .btn_tel .tt_ic::before {
  top: 0.22222222em;
  left: 0.305555556em;
  width: 0.722222222em;
  height: 0.722222222em;
  background-image: url(../images/ic_tel02.svg);
}
.block_contact .btn_booking {
  background-color: #45688e;
  padding-bottom: 1.2em;
}
.block_contact .btn_booking .tt_ic {
  font-size: 2.4em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 3.4583333333em;
}
.block_contact .btn_booking .tt_ic::before {
  width: 2.5833333333em;
  height: 1.5em;
  top: 0.7916666667em;
  left: -0.5833333em;
  background-image: url(../images/ic_booking.svg);
}

.idx03 {
  padding: 107px 0 125px;
  background: url(../images/idx03_bg.jpg) no-repeat center/cover;
}
.idx03 .h3_tl {
  text-align: center;
  margin-bottom: 44px;
}
.idx03 .h3_tl::after {
  margin-top: 19px;
}
.idx03 .t_center {
  max-width: 826px;
  width: 100%;
  margin: 0 auto;
}
.idx03 .t_center p {
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  color: #ffffff;
}
.idx03 .block_contact {
  margin-top: 39px;
}

@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .block_contact {
    font-size: min(10px, 1.1vw);
  }
  .idx03 {
    padding: 80px 0;
  }
  .idx03 .h3_tl {
    margin-bottom: 25px;
  }
  .idx03 .h3_tl::after {
    margin-top: 10px;
  }
  .idx03 .t_center p {
    font-size: 18px;
  }
  .idx03 .block_contact {
    margin-top: 35px;
  }
}
.idx04 {
  padding: 89px 0 65px;
  background-image: linear-gradient(45deg, rgba(239, 241, 241, 0.5) 0%, rgba(233, 241, 248, 0.5) 100%);
}
.idx04 .h3_tl {
  position: relative;
  margin-bottom: 30px;
}
.idx04 .h3_tl .cl {
  line-height: 1;
  font-size: 60px;
}
.idx04 .h3_tl::before {
  content: "";
  position: absolute;
  top: -0.1904761905em;
  right: 0.5476190476em;
  background: url(../images/idx04_tl_bf.png) no-repeat center/contain;
  width: 6.7619047619em;
  height: 4.5238095238em;
}
.idx04 .h3_tl::after {
  display: none;
}
.idx04 h4 {
  text-align: center;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 0;
  margin-bottom: 3.0666666667em;
  line-height: 1.85;
}
.idx04 h4::before {
  content: "";
  position: absolute;
  width: 20.4em;
  height: 3.8666666667em;
  bottom: -1.4em;
  left: 0;
  right: 0;
  margin: auto;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(129, 216, 208)), color-stop(49%, rgba(255, 255, 255, 0)));
  background-image: linear-gradient(0deg, rgb(129, 216, 208) 0%, rgba(255, 255, 255, 0) 49%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  z-index: -1;
}
.idx04 h4 .cl {
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--main-color);
}
.idx04 .icl_cont p {
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
}
.idx04 .icl_img {
  margin-right: -50px;
}
.idx04 .icl_bx {
  -webkit-box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.08);
          box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.08);
  background-color: #ffffff;
  padding: 75px 74px 85px;
  margin-top: -47px;
  margin-bottom: 68px;
}
.idx04 .icl_list {
  font-size: 10px;
}
.idx04 .icl_list picture {
  background-color: #f1f1f1;
  width: round(12.6em, 1px);
  height: round(12.6em, 1px);
  border-radius: 50%;
}
.idx04 .icl_list .icl_title {
  font-size: 2.2em;
  font-weight: 500;
  letter-spacing: 0;
  width: calc(100% - 5.727272727em);
  line-height: 1.63636;
  padding-left: 0.7272727273em;
}
.idx04 .icl_list .icl_item {
  max-width: 41em;
  background-color: #ffffff;
  border-top: 2px solid #57b1b7;
  border-bottom: 2px solid #57b1b7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.5em;
  padding: 2.4em 0 2.6em 1.4em;
  -webkit-box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.08);
          box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.08);
  position: relative;
}

@media only screen and (min-width: 769px) {
  .idx04 .h3_tl {
    padding-top: 2.190476em;
  }
  .idx04 .block_icl {
    -ms-grid-columns: 50% 46%;
    grid-template-columns: 50% 46%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    z-index: 1;
  }
  .idx04 .icl_cont, .idx04 .h3_tl {
    max-width: 568px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx04 .icl_list .icl_item {
    width: calc((100% - 5em) / 3);
    margin-right: 2.5em;
    overflow: hidden;
    position: relative;
    z-index: 0;
  }
  .idx04 .icl_list .icl_item:nth-child(3n+3) {
    margin-right: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx04 .h3_tl .cl {
    font-size: 1.25em;
  }
  .idx04 h4 {
    font-size: 24px;
    line-height: 1.5;
  }
  .idx04 h4 .cl {
    font-size: 30px;
  }
  .idx04 .icl_cont p {
    font-size: 18px;
  }
  .idx04 .icl_img {
    margin-right: -20px;
  }
  .idx04 .icl_bx, .idx04 .block_icl {
    width: calc(100% - 40px);
    margin-left: auto;
    margin-right: auto;
  }
  .idx04 .icl_bx {
    padding: 70px 4%;
  }
  .idx04 .icl_list {
    font-size: min(10px, 0.8vw);
  }
  .idx04 .icl_list picture {
    width: round(10.6em, 1px);
    height: round(10.6em, 1px);
  }
  .idx04 .icl_list .icl_title {
    width: calc(100% - 3.727273em);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx04 .h3_tl {
    padding-top: 0.2em;
  }
  .idx04 .h3_tl::before {
    top: -1.190476em;
    font-size: 0.8em;
  }
  .idx04 h4 {
    margin-bottom: 2.7em;
  }
  .idx04 .icl_bx {
    margin-top: -2vw;
  }
  .idx04 .icl_cont p {
    letter-spacing: 0.05em;
  }
  .idx04 .block_icl {
    -ms-grid-columns: 52% 46%;
    grid-template-columns: 52% 46%;
  }
  .idx04 .icl_list .icl_title {
    font-size: 2.1em;
  }
}
.idx05 {
  padding: 67px 0 54px;
}
.idx05 .h3_tl {
  margin-bottom: 6px;
}
.idx05 .inner_max {
  max-width: 1920px;
  padding: 0;
}
.idx05 .block_feature .feature_item {
  margin-bottom: 37px;
}
.idx05 .block_feature .feature_img {
  position: relative;
  font-size: 10px;
}
.idx05 .block_feature .feature_img::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  --f-mask2: url(../images/idx05_mask02.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;
  mask-image: var(--f-mask2);
  -webkit-mask-image: var(--f-mask2);
  background-color: #81d8d0;
}
.idx05 .block_feature .feature_img picture {
  width: 95.25em;
  height: 54.3em;
  --f-mask: url(../images/idx05_mask01.svg);
  mask-image: var(--f-mask);
  -webkit-mask-image: var(--f-mask);
  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;
}
.idx05 .block_feature .feature_img.mask01 {
  padding-top: 6.68em;
}
.idx05 .block_feature .feature_img.mask01::before {
  top: -3.2em;
}
.idx05 .block_feature .feature_img.mask02 {
  padding-bottom: 6.6em;
}
.idx05 .block_feature .feature_img.mask02::before {
  bottom: -3.4em;
}
.idx05 .block_feature .feature_cont {
  padding: 0 40px;
  margin-top: -116px;
}
.idx05 .block_feature .box_in {
  max-width: 600px;
  width: 100%;
  background: url(../images/idx05_it_bg.jpg) no-repeat center/cover;
  position: relative;
  -webkit-box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.08);
          box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.08);
  padding: 28px 50px 35px;
  z-index: 0;
  text-align: center;
  min-height: 340px;
}
.idx05 .block_feature .box_in::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid #e7eeed;
  z-index: -1;
}
.idx05 .block_feature .txt_sm {
  font-size: 14px;
  position: relative;
  top: -2px;
}
.idx05 .block_feature h4 {
  font-size: 30px;
  font-weight: 500;
  color: var(--main-color);
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}
.idx05 .block_feature h4::before {
  content: "";
  position: relative;
  display: block;
  background: url(../images/idx05_it_illus.svg) no-repeat center/contain;
  width: 6.233333333em;
  height: 1.4em;
  margin: 0 auto 0.23333333em;
}
.idx05 .block_feature .feature_point {
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: -7.6em;
  left: 1em;
  font-size: 10px;
}
.idx05 .block_feature .feature_point .t01 {
  background-color: #81d8d0;
  padding: 0.1111111em 0.555555556em 0.2222222222em 0.666666667em;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
  margin-right: -1.9444444em;
  position: relative;
  top: 0.83333333em;
  font-size: 1.8em;
}
.idx05 .block_feature .feature_point .t02 {
  font-size: 12em;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.005em;
  color: #81d8d0;
}

@media only screen and (min-width: 769px) {
  .idx05 .block_feature .feature_item {
    width: 50%;
  }
  .idx05 .block_feature .feature_item:nth-child(2n+1) .box_in {
    margin-left: auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1800px) {
  .idx05 .block_feature .feature_img {
    font-size: min(10px, 0.55vw);
  }
  .idx05 .block_feature .feature_img picture {
    width: 96em;
    height: 54.8em;
  }
  .idx05 .block_feature .feature_img.mask01 {
    padding-top: 6.45em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx05 .block_feature .feature_item:nth-child(2n+1) .feature_cont {
    padding-right: 20px;
  }
  .idx05 .block_feature .feature_item:nth-child(2n+2) .feature_cont {
    padding-left: 20px;
  }
  .idx05 .block_feature h4 {
    font-size: 2.4em;
    margin-bottom: 0.4166666667em;
  }
  .idx05 .block_feature .box_in {
    min-height: 30.5em;
    padding: 28px 5%;
  }
  .idx05 .block_feature .box_in::before {
    inset: 1em;
  }
  .idx05 .block_feature .feature_cont {
    margin-top: -11em;
    font-size: min(10px, 1vw);
  }
  .idx05 .block_feature p {
    font-size: 1.6em;
  }
  .idx05 .block_feature .txt_sm {
    font-size: 1.4em;
  }
  .idx05 .block_feature .feature_point {
    font-size: 1em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx05 .block_feature .feature_cont {
    margin-top: -8em;
  }
  .idx05 .block_feature p {
    font-size: 1.8em;
  }
  .idx05 .block_feature .txt_sm {
    font-size: 1.5em;
    letter-spacing: 0;
  }
}
.tbl_feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 27px;
  font-size: 10px;
  margin-top: 3px;
}
.tbl_feature > div {
  width: 33.33%;
  border: 1px solid var(--clr1);
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.tbl_feature .col1 {
  background-color: #ededed;
  width: 28.1%;
}
.tbl_feature .col2 {
  background-color: #eefdfc;
  z-index: 1;
  width: 35.8%;
}
.tbl_feature .col2::before {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  right: -2px;
  width: calc(100% + 6px);
  height: calc(100% + 4px);
  border: 3px solid #489499;
  z-index: -1;
}
.tbl_feature .col2 .row.th {
  background-color: var(--main-color);
  min-height: 9.9em;
}
.tbl_feature .col2 .row.th .tb_tt {
  color: #fff;
  font-size: 4.8em;
}
.tbl_feature .col3 {
  background-color: #fff;
  width: 36.1%;
}
.tbl_feature .col3 .th {
  background-color: #5d88b9;
}
.tbl_feature .col3 .th .tb_tt {
  color: #fff;
}
.tbl_feature .col3 .row {
  padding-left: 2.7em;
}
.tbl_feature .col3 .ic.cir {
  width: 3em;
}
.tbl_feature .col3 .ic.ic_w {
  width: 2.8em;
}
.tbl_feature .row {
  min-height: 9.9em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 0.5em 2.3em;
}
.tbl_feature .row:not(:last-child) {
  border-bottom: 1px solid var(--clr1);
}
.tbl_feature .row.td {
  min-height: 11.9em;
}
.tbl_feature .row.td_last {
  height: 11.8em;
}
.tbl_feature .row.th {
  min-height: 7.9em;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 0.1em;
}
.tbl_feature .row.th .tb_tt {
  font-size: 3em;
  font-weight: bold;
  line-height: 1.4;
}
.tbl_feature .gr_txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.tbl_feature .gr_txt .ic {
  max-width: 7.2em;
}
.tbl_feature .gr_txt .ic.cir {
  max-width: 3em;
}
.tbl_feature .gr_txt p {
  font-weight: 500;
  font-size: 1.8em;
}
.tbl_feature .gr_txt .tt01 {
  font-size: 2.2em;
  line-height: 1.5;
  margin-bottom: 0;
}
.tbl_feature .gr_txt .tt02 {
  font-size: 1.6em;
  line-height: 1.625;
}
.tbl_feature .gr_txt .tb_tt {
  margin-left: 1.4em;
}
.tbl_feature .gr_txt .lg {
  font-size: 1.6666666667em;
  font-weight: bold;
}

.tbl_note {
  font-size: 12px;
  color: #64b1b8;
}

.idx06 {
  padding: 91px 0 77px;
  background-image: linear-gradient(45deg, rgba(239, 241, 241, 0.5) 0%, rgba(233, 241, 248, 0.5) 100%);
}
.idx06 .h3_tl {
  margin-bottom: 37px;
}
.idx06 .h3_tl::after {
  margin-top: 0.4523809524em;
}
.idx06 .t_center {
  font-weight: 500;
}
.idx06 .b_txt {
  margin-bottom: 30px;
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .tbl_feature {
    font-size: min(10px, 0.8vw);
  }
  .tbl_feature .row {
    padding: 0.5em 1.5em;
  }
  .tbl_feature .col3 .row {
    padding-left: 1.7em;
  }
  .idx06 .h3_tl {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx06 .b_txt p {
    letter-spacing: 0.05em;
  }
}
.idx07 {
  padding: 82px 0 73px;
}
.idx07 .h3_tl {
  margin-bottom: 44px;
}
.idx07 .h3_tl::after {
  margin-top: 0.4523809524em;
}
.idx07 .t_center {
  font-weight: 500;
}

@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx07 .t_center {
    letter-spacing: 0.05em;
  }
}
.idx08 {
  padding: 91px 0 62px;
  background-image: linear-gradient(45deg, rgba(239, 241, 241, 0.5) 0%, rgba(233, 241, 248, 0.5) 100%);
}
.idx08 .h3_tl {
  margin-bottom: 37px;
}
.idx08 .h3_tl::after {
  margin-top: 0.4523809524em;
}
.idx08 .h3_tl .tl_label {
  max-width: 300px;
  width: 100%;
}
.idx08 h4 {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 56px;
}
.idx08 h4::before, .idx08 h4::after {
  content: "";
  position: relative;
  display: block;
  background-color: #234872;
  height: 2px;
  width: 50%;
  top: 2px;
}
.idx08 h4 span {
  padding: 0 35px;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}
.idx08 .box_txt p {
  font-weight: 500;
}
.idx08 .chart {
  margin-top: 34px;
}
.idx08 .box_h4 {
  margin-top: 77px;
}
.idx08 .tbl_feature .col1 {
  background-color: #fff;
}
.idx08 .tbl_feature .gr_txt {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx08 .h3_tl {
    margin-bottom: 25px;
  }
  .idx08 h4 {
    font-size: 26px;
    letter-spacing: 0.05em;
    margin-bottom: 25px;
  }
  .idx08 h4 span {
    padding: 0 10px;
  }
  .idx08 .chart {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.idx09 {
  padding: 48px 0 89px;
  background: url(../images/idx09_bg.jpg) no-repeat center/cover;
}
.idx09 .wrap_tl {
  margin-bottom: 43px;
}
.idx09 .wrap_tl .tt_en {
  color: rgba(87, 177, 183, 0.2);
}
.idx09 .block_case {
  font-size: 10px;
}
.idx09 .block_case .item {
  padding: 8.8em 4em 8.8em 3.8em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.idx09 .block_case .item.it01 {
  background-color: #f2f6fb;
  --cl_bg: #6888bd;
}
.idx09 .block_case .item.it02 {
  background-color: #e1e8f2;
  --cl_bg: #5d88b9;
  padding-left: 4em;
  padding-right: 3.8em;
}

.TabContainer .TabContent .content > div.tab_ct02 .block_case .item.it01{
  background-color: #fef1f6;
  --cl_bg: #f0356b;
}
.TabContainer .TabContent .content > div.tab_ct02 .block_case .item.it02{
  background-color: #f9eaf0;
  --cl_bg: #f0356b;
}
.TabContainer .TabContent .content > div.tab_ct01 .block_case .item.it02{--cl_bg: #223f72;}
.TabContainer .TabContent .content > div.tab_ct02 .block_case .item.it02{--cl_bg: #c7215a;}
.idx09 .block_case .item.it02 .case_bx1 {
  padding-top: 2.1em;
}
.idx09 .block_case .item.it02 .case_bx1 picture {
  top: 0.3em;
}
.idx09 .block_case .item.it02 .case_bx2 {
  padding-top: 3.2em;
}
.idx09 .block_case .item.it02 .case_bx2 .case_tl {
  margin-bottom: 2.4em;
}
.idx09 .block_case p {
  line-height: 1.8;
  font-size: 1.8em;
  font-weight: 500;
}
.idx09 .block_case .tt_lg {
  font-size: 2em;
  font-weight: bold;
  color: var(--cl_bg);
  line-height: 1;
  letter-spacing: 0;
  margin-right: 0.277777778em;
}
.idx09 .block_case .case_tl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.9em;
}
.idx09 .block_case .case_tl .tt {
  color: var(--cl_bg);
  font-weight: 500;
  line-height: 1.4;
}
.idx09 .block_case .case_bx1, .idx09 .block_case .case_bx2 {
  background-color: #fff;
  max-width: 26em;
  text-align: center;
}
.idx09 .block_case .case_bx1 {
  padding: 2em 2em 1.6em;
}
.idx09 .block_case .case_bx1.bor {
  border: 2px solid var(--cl_bg);
}
.idx09 .block_case .case_bx1 .tt {
  font-size: 3em;
}
.idx09 .block_case .case_bx1 picture {
  width: 6.6em;
  height: 6.6em;
  background-color: var(--cl_bg);
  border-radius: 50%;
  margin-right: 1.6em;
  position: relative;
  top: 0.2em;
}
.idx09 .block_case .case_bx2 {
  padding: 3.3em 3em 1.7em;
}
.idx09 .block_case .case_bx2 .case_tl {
  border-bottom: 1px solid var(--cl_bg);
  padding-bottom: 2em;
  margin-bottom: 2.1em;
}
.idx09 .block_case .case_bx2 picture {
  max-width: 3.6em;
  margin-right: 1.4em;
}
.idx09 .block_case .case_bx2 .tt {
  font-size: 2.2em;
}
.idx09 .block_case .case_bx2 p {
  line-height: 1.667;
  font-weight: 500;
}

@media only screen and (min-width: 769px) {
  .idx09 .block_case .item {
    width: 50%;
  }
  .idx09 .block_case .item > div {
    width: calc(50% - 2em);
    margin: 0 1em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx09 .wrap_tl {
    margin-bottom: 0;
  }
  .idx09 .block_case {
    font-size: min(10px, 0.8vw);
  }
  .idx09 .block_case .item {
    padding: 6.8em 3em 6.8em 3.8em;
  }
  .idx09 .block_case .item.it02 {
    padding-left: 3em;
    padding-right: 3.8em;
  }
  .idx09 .block_case .case_bx1 {
    padding: 2em 1em 1.6em;
  }
  .idx09 .block_case .case_bx2 {
    padding: 3em 1em 1.7em;
  }
}
.idx10 {
  padding: 91px 0 90px;
  background-image: linear-gradient(160deg, rgb(239, 241, 241) 0%, rgb(233, 241, 248) 100%);
}
.idx10 .b_wrap {
  background-color: #fff;
  max-width: 1380px;
  width: 100%;
  margin: 41px auto 0;
  padding: 50px 0;
}
.idx10 .h3_tl {
  margin-bottom: 37px;
}
.idx10 .h3_tl::after {
  margin-top: 0.4523809524em;
}
.idx10 .h3_tl .tl_label {
  padding: 4px 34px 12px;
  max-width: 300px;
  width: 100%;
  letter-spacing: 0.1em;
}
.idx10 .box_txt p {
  font-weight: 500;
}
.idx10 .block_flow {
  position: relative;
  height: 57em;
  overflow: hidden;
  padding: 0 50px;
  font-size: 10px;
}
.idx10 .block_flow:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% + 2em);
  height: 17.5em;
  background: url(../images/idx10_flow_bf.png) no-repeat center top/130em auto;
  z-index: 1;
}
.idx10 .block_flow.active {
  height: auto;
}
.idx10 .block_flow.active::before {
  display: none;
}
.idx10 .block_flow .item {
  background-color: #f5f8fa;
  padding: 9.9em 2em 3em;
  text-align: center;
  position: relative;
}
.idx10 .block_flow .item.it01 {
  --clr: #81d8d0;
}
.idx10 .block_flow .item.it02 {
  --clr: #7acbcb;
}
.idx10 .block_flow .item.it03 {
  --clr: #72bec6;
}
.idx10 .block_flow .item.it04 {
  --clr: #6bb0c0;
}
.idx10 .block_flow .item.it05 {
  --clr: #64a2ba;
}
.idx10 .block_flow .item.it06 {
  --clr: #5d88b9;
}
.idx10 .block_flow p {
  line-height: 2;
  font-size: 1.8em;
}
.idx10 .block_flow .flow_img {
  max-width: 16em;
  margin: 0 auto 2.4em;
}
.idx10 .block_flow .flow_num {
  position: absolute;
  top: 0.916666667em;
  left: 0.833333333em;
  width: 100%;
  height: 2.416666667em;
  text-align: center;
  font-size: 2.4em;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
  mask-image: url(../images/idx10_point_mask.svg);
  -webkit-mask-image: url(../images/idx10_point_mask.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;
  background-color: var(--clr);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 0.0416666667em;
}
.idx10 .block_flow h4 {
  font-size: 3em;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--clr);
  margin-bottom: 0.5em;
}
.idx10 .block_flow h4::after {
  content: "";
  position: relative;
  display: block;
  margin: 0.5em auto 0;
  width: 1.9666666667em;
  height: 0.2333333em;
  mask-image: url(../images/idx10_tl_bf.svg);
  -webkit-mask-image: url(../images/idx10_tl_bf.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;
  background-color: var(--clr);
}
.idx10 .btn_more {
  background-color: #57b2b7;
  width: round(7em, 1px);
  height: round(7em, 1px);
  border-radius: 50%;
  position: absolute;
  bottom: 1.1em;
  left: 0;
  right: 0;
  margin: auto;
  cursor: pointer;
  z-index: 2;
}
.idx10 .btn_more::before, .idx10 .btn_more::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: #fff;
  margin: auto;
}
.idx10 .btn_more::before {
  width: 2.5em;
  height: 1px;
}
.idx10 .btn_more::after {
  width: 1px;
  height: 2.5em;
}
.idx10 .flow_note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #eefdfc;
  padding: 1.9em 2em 1.9em 3.5em;
  border: 1px solid #cff3f0;
  width: calc(100% - 100px);
  margin: 0 auto;
  font-size: 10px;
}
.idx10 .flow_note .b_ic {
  width: round(12em, 1px);
  height: round(12em, 1px);
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(87, 177, 183)), to(rgb(129, 216, 208)));
  background-image: linear-gradient(90deg, rgb(87, 177, 183) 0%, rgb(129, 216, 208) 100%);
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 3.6em;
  padding-bottom: 0.3em;
}
.idx10 .flow_note .b_ic p {
  font-size: 2.4em;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
}
.idx10 .flow_note .b_ic p::before {
  content: "";
  position: relative;
  display: block;
  margin: 0 auto 8px;
  width: 1.7083333333em;
  height: 1.666666667em;
  background: url(../images/idx10_ic_note.svg) no-repeat center/contain;
}
.idx10 .flow_note .b_tt {
  max-width: calc(100% - 15.6em);
}
.idx10 .flow_note .b_tt p {
  font-size: 2em;
  line-height: 2;
  font-weight: 500;
}

@media only screen and (min-width: 769px) {
  .idx10 .block_flow .item {
    width: calc((100% - 5em) / 3);
    margin-right: 2.5em;
    margin-bottom: 2.5em;
  }
  .idx10 .block_flow .item:nth-child(3n+3) {
    margin-right: 0;
  }
  .idx10 .btn_more:hover {
    background-color: #19a0a7;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx10 .b_wrap {
    margin-top: 25px;
    -webkit-padding-after: 5% 0;
            padding-block-end: 5% 0;
  }
  .idx10 .h3_tl {
    margin-bottom: 25px;
  }
  .idx10 .block_flow {
    padding: 0 3.8%;
    font-size: min(10px, 0.9vw);
  }
  .idx10 .block_flow p {
    letter-spacing: 0.05em;
  }
  .idx10 .flow_note {
    font-size: min(10px, 0.9vw);
    width: 92.4%;
  }
  .idx10 .flow_note .b_ic {
    margin-right: 1.5em;
  }
  .idx10 .flow_note .b_tt {
    max-width: calc(100% - 13.5em);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx10 .block_flow p {
    font-size: 2em;
  }
}
.idx11 {
  padding: 60px 0 101px;
  background: url(../images/idx11_bg.jpg) no-repeat center/cover;
}
.idx11 .wrap_tl {
  margin-bottom: 48px;
}
.idx11 .wrap_tl .h3_tl {
  margin-bottom: 0;
}
.idx11 .wrap_tl .tt_en {
  color: rgba(255, 255, 255, 0.2);
}
.idx11 h4 {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 1.21875em;
  line-height: 1.5;
  margin-bottom: 0.96875em;
}
.idx11 h4::before {
  content: "";
  position: absolute;
  top: 0.59375em;
  left: 0.0625em;
  width: round(0.53125em, 1px);
  height: round(0.53125em, 1px);
  border-radius: 50%;
  background-color: var(--clr1);
}
.idx11 .tbl_costs {
  font-size: 10px;
}
.idx11 .tbl_costs th, .idx11 .tbl_costs td {
  border: 1px solid var(--clr1);
  font-weight: 500;
}
.idx11 .tbl_costs th {
  background-color: var(--main-color);
  font-size: 2.4em;
  color: #fff;
  width: 33.33%;
  padding: 0.875em 0.4166666667em;
}
.idx11 .tbl_costs td {
  background-color: #fff;
  padding: 0.833333333em 2.055555556em 1em;
  font-size: 1.8em;
}
.idx11 .tbl_costs td p {
  margin-bottom: 0;
  line-height: 1.6;
}
.idx11 .tbl_costs td p:not(:last-child) {
  margin-bottom: 3px;
}
.idx11 .tbl_costs td.w_td {
  width: 33.33%;
}
.idx11 .tbl_costs tr:last-child td {
  padding-bottom: 0.88888889em;
}
.idx11 .tbl_costs .fz24 {
  font-size: 1.333333333em;
}
.idx11 .tbl_costs .cl_b {
  font-size: 1.6666666667em;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.idx11 .tbl_costs .cl_b.lt {
  letter-spacing: 0.05em;
}
.idx11 .tbl_costs .tt_lg{
  font-size: 1.333333333em;
  letter-spacing: 0.05em;
}
.idx11 .tbl_costs .tb_arr {
  position: relative;
  padding-left: 1.7916666667em;
  color: #f0356b;
  font-size: 1.333333333em;
}
.idx11 .tbl_costs .tb_arr::before {
  content: "";
  position: absolute;
  top: 0.833333333em;
  left: 0.33333333em;
  background: url(../images/idx11_arr.svg) no-repeat center/contain;
  width: 0.9166666667em;
  height: 0.5416666667em;
}
.idx11 .tbl_costs .tb_arr .cl_lg {
  font-size: 1.75em;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
}
.idx11 .box_h4 {
  margin-bottom: 41px;
}
.idx11 .b_surgery {
  margin-top: 73px;
  position: relative;
  z-index: 1;
  margin-bottom: 3.9em;
  font-size: 10px;
}
.idx11 .b_surgery::after {
  content: "";
  position: absolute;
  bottom: -7em;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../images/b_surgery_bf.png) no-repeat center/contain;
  width: 73.3em;
  height: 16.2em;
  z-index: -1;
}
.idx11 .b_surgery .surgery_txt {
  font-size: 3.2em;
  font-weight: bold;
  line-height: 1.125;
  text-align: center;
  margin: 0 auto;
  display: table;
  position: relative;
  padding: 0 2.1875em;
}
.idx11 .b_surgery .surgery_txt::before, .idx11 .b_surgery .surgery_txt::after {
  content: "";
  position: absolute;
  top: -0.78125em;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.65625em;
  height: 3.96875em;
}
.idx11 .b_surgery .surgery_txt::before {
  left: 0;
  background-image: url(../images/idx11_illus01.svg);
}
.idx11 .b_surgery .surgery_txt::after {
  right: 0.40625em;
  background-image: url(../images/idx11_illus02.svg);
}
.idx11 .b_surgery .surgery_txt .tt {
  font-size: 1.875em;
  line-height: 1;
  color: #f47497;
}
.idx11 .b_treatment {
  background: url(../images/idx11_box_bg.jpg) no-repeat center/cover;
  position: relative;
  z-index: 0;
  padding: 44px 40px 40px;
}
.idx11 .b_treatment::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  z-index: -1;
}
.idx11 .b_treatment p {
  font-weight: 400;
  text-align: center;
  color: #fff;
}
.idx11 .b_treatment .treatment_tt {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 14px;
}

@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx11 h4 {
    font-size: 26px;
  }
  .idx11 .tbl_costs {
    font-size: min(10px, 0.9vw);
  }
  .idx11 .b_surgery {
    font-size: min(10px, 1.15vw);
  }
  .idx11 .b_treatment .treatment_tt {
    font-size: 24px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx11 .tbl_costs th {
    width: 26%;
  }
  .idx11 .tbl_costs td {
    padding: 0.833333333em 1.055556em 1em;
  }
}
.block_faq .item {
  background-color: #fff;
  margin-bottom: 6px;
}
.block_faq .item:last-child {
  margin-bottom: 0;
}
.block_faq .ic_plus {
  width: 25px;
  height: 25px;
  position: absolute;
  top: 0;
  bottom: -1px;
  right: 17px;
  margin: auto;
}
.block_faq .ic_plus::before, .block_faq .ic_plus::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-color: var(--main-color);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.block_faq .ic_plus:before {
  width: 100%;
  height: 1px;
}
.block_faq .ic_plus::after {
  width: 1px;
  height: 100%;
}
.block_faq .accBtn.rotate .ic_plus::after {
  opacity: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.block_faq .b_question, .block_faq .b_answer {
  position: relative;
  padding-left: 70px;
}
.block_faq .b_question::before, .block_faq .b_answer::before {
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  left: 24px;
}
.block_faq .b_question {
  padding-top: 27px;
  padding-bottom: 28px;
  padding-right: 40px;
  cursor: pointer;
}
.block_faq .b_question::before {
  content: "Q";
  color: var(--main-color);
  top: 23px;
}
.block_faq .b_question .tt {
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 0;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.block_faq .b_answer {
  margin-top: -4px;
  padding-right: 70px;
  padding-bottom: 24px;
}
.block_faq .b_answer::before {
  content: "A";
  color: var(--clr2);
  top: 1px;
}
.block_faq .b_answer p {
  font-size: 16px;
  line-height: 1.875;
}

.idx12 {
  padding: 91px 0;
  background: url(../images/idx12_bg.jpg) no-repeat center/cover;
}
.idx12 .wrap_tl .h3_tl {
  font-weight: bold;
  display: table;
  position: relative;
  line-height: 1.4285;
  letter-spacing: 0.1em;
}
.idx12 .wrap_tl .h3_tl::before {
  content: "";
  position: absolute;
  top: -0.619047619em;
  right: -1.3095238095em;
  background: url(../images/idx12_bf.svg) no-repeat center/contain;
  width: 1.0714285714em;
  height: 0.9523809524em;
}
.idx12 .wrap_tl .t_en {
  font-weight: 400;
  text-transform: uppercase;
  color: #fff;
  margin-top: 16px;
  margin-left: 4px;
}

@media only screen and (min-width: 769px) {
  .block_faq .item:nth-child(1) .b_question {
    padding-bottom: 27px;
  }
  .block_faq .b_question:hover {
    color: var(--main-color);
  }
  .idx12 .wrap_tl {
    width: 30%;
    margin-top: -25px;
    margin-left: 7px;
  }
  .idx12 .block_faq {
    width: 65%;
    max-width: 800px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .block_faq .item:nth-child(1) .b_question {
    padding-bottom: 22px;
  }
  .block_faq .b_question, .block_faq .b_answer {
    padding-left: 48px;
  }
  .block_faq .b_question::before, .block_faq .b_answer::before {
    font-size: 28px;
    left: 15px;
  }
  .block_faq .ic_plus {
    width: 18px;
    height: 18px;
    right: 12px;
  }
  .block_faq .b_question {
    padding-top: 22px;
    padding-bottom: 22px;
    padding-right: 35px;
  }
  .block_faq .b_question::before {
    top: 17px;
  }
  .block_faq .b_answer {
    padding-right: 35px;
  }
  .block_faq .b_answer p {
    font-size: 14px;
  }
  .idx12 .block_faq {
    width: 70%;
    max-width: 865px;
  }
  .idx12 .inner_big > .fblock {
    padding-right: 45px;
    padding-left: 45px;
  }
  .idx12 .wrap_tl {
    margin-left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx12 .wrap_tl {
    width: 31%;
  }
  .idx12 .wrap_tl .h3_tl::before {
    right: -1em;
  }
  .idx12 .block_faq {
    width: 65%;
  }
}
.idx13 {
  padding: 80px 0 89px;
  background: url(../images/idx13_bg.jpg) no-repeat center/cover;
}
.idx13 .h3_tl {
  margin-bottom: 60px;
}
.idx13 .h3_tl::after {
  margin-top: 0.4523809524em;
}
.idx13 .h3_tl .tl_label {
  max-width: 148px;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .idx13 .col {
    width: 49%;
    max-width: 620px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx13 .h3_tl {
    margin-bottom: 25px;
  }
  .idx13 .inner_big > .fblock {
    padding: 0 5%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1000px) {
  .idx13 .inner_big > .block {
    padding: 0;
  }
}
.idx14 {
  padding: 57px 0 90px;
  position: relative;
  z-index: 0;
}
.idx14::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: url(../images/idx14_bf.svg) no-repeat center/contain;
  width: 47em;
  height: 20.1em;
  z-index: -1;
  margin: auto;
  font-size: 10px;
}
.idx14 .h3_tl {
  margin-bottom: 45px;
}
.idx14 .block_blog .item {
  padding: 2.5em 2.4em 7.2em;
  border: 1px solid var(--clr1);
  position: relative;
  font-size: 10px;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.idx14 .block_blog .thumb {
  max-width: 12em;
  width: 50%;
  height: 12em;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  position: relative;
  background-color: #ededed;
}
.idx14 .block_blog .thumb img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.idx14 .block_blog .b_tl {
  width: 50%;
  padding-right: 1em;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.idx14 .block_blog .date {
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1;
  color: #8b8b8b;
  margin-top: 0.5714285714em;
  margin-bottom: 0.6428571429em;
}
.idx14 .block_blog .title {
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.875;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.idx14 .block_blog .box_in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
}
.idx14 .block_blog .btn_blog {
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 15.9em;
  width: 100%;
}
.idx14 .block_blog .btn_blog a {
  display: block;
  width: 100%;
  background-color: var(--clr1);
  color: #fff;
  text-decoration: none;
  font-size: 1.6em;
  font-weight: 500;
  line-height: 1;
  padding: 0.5625em 0.4375em 0.625em 0.625em;
  text-align: center;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.idx14 .block_blog .btn_blog a::after {
  content: "";
  position: absolute;
  top: 0.125em;
  bottom: 0;
  right: 0.4375em;
  background: url(../images/ic_arr.svg) no-repeat center/contain;
  width: 1em;
  height: 0.8125em;
  margin: auto;
}

@media only screen and (min-width: 769px) {
  .idx14 .block_blog .item {
    width: calc((100% - 6em) / 4);
    margin-right: 2em;
  }
  .idx14 .block_blog .item:nth-child(4n+4) {
    margin-right: 0;
  }
  .idx14 .block_blog .item:hover {
    border-color: #4a688f;
  }
  .idx14 .block_blog .item:hover .btn_blog a {
    background-color: #4a688f;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx14 {
    padding: 45px 0 70px;
  }
  .idx14::before {
    font-size: min(8px, 0.9vw);
  }
  .idx14 .h3_tl {
    margin-bottom: 25px;
  }
  .idx14 .block_blog .item {
    font-size: min(10px, 0.9vw);
    padding: 1.5em 1.4em 6.2em;
  }
  .idx14 .block_blog .thumb {
    max-height: 12em;
    height: 10vw;
  }
}
.idx15 {
  padding: 150px 0 109px;
  background: url(../images/idx15_bg.jpg) no-repeat center/cover;
  position: relative;
  z-index: 0;
}
.idx15::before, .idx15::after {
  content: "";
  position: absolute;
  top: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 40em;
  height: 40em;
  font-size: 10px;
  z-index: -1;
}
.idx15::before {
  left: 0;
  background-image: url(../images/idx15_bf.svg);
}
.idx15::after {
  right: 0;
  background-image: url(../images/idx15_at.svg);
}
.idx15 .h3_tl {
  font-weight: bold;
  color: var(--main-color);
  letter-spacing: 0.05em;
}
.idx15 .h3_tl::after {
  display: none;
}
.idx15 .sub_tl {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: -2px;
}
.idx15 .block_info {
  background-color: #fff;
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding: 58px 60px 65px;
}
.idx15 .b_tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 53px;
  font-size: 10px;
}
.idx15 .b_tag .it {
  max-width: 40em;
  width: calc(50% - 4.2em);
  margin: 0 2.1em;
  background-color: #ededed;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
  padding: 1.7em 2em 1.9em;
}
.idx15 .b_tag .it p {
  font-size: 2.4em;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
}
.idx15 .b_contact {
  border: 1px solid var(--clr1);
  padding: 49px 25px;
  margin-top: 72px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  max-width: 941px;
  width: 100%;
}
.idx15 h4 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  position: absolute;
  top: -21px;
  left: 0;
  right: 0;
  margin: auto;
  display: table;
  padding: 0px 21px 0 22px;
}
.idx15 h4 span {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.583333333em, #cff3f0), color-stop(0.75em, rgb(255, 255, 255)));
  background-image: linear-gradient(0deg, #cff3f0 0.583333333em, rgb(255, 255, 255) 0.75em);
  letter-spacing: 0.1em;
  padding-bottom: 1px;
}

@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .idx15 {
    padding: 90px 0;
  }
  .idx15::before, .idx15::after {
    font-size: min(8px, 0.9vw);
  }
  .idx15 .sub_tl {
    font-size: 24px;
  }
  .idx15 h4 {
    font-size: 20px;
  }
  .idx15 .b_tag {
    font-size: min(8px, 0.9vw);
    margin-top: 35px;
  }
  .idx15 .b_contact {
    padding: 35px 24px;
    margin-top: 55px;
  }
  .idx15 .block_contact {
    font-size: min(10px, 0.9vw);
  }
}
.idx16 {
  padding: 111px 0 0;
}

@media only screen and (min-width: 769px) {
  .idx16 .col_left {
    width: 50%;
  }
  .idx16 .col_left > div {
    max-width: 585px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx16 .col_right {
    width: 50%;
  }
  .idx16 .col_right > div {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px), (min-width: 769px) and (max-height: 650px) {
  .idx16 .inner_big {
    max-width: 1200px;
  }
  .idx16 .col_right {
    width: 43.5%;
    max-width: 480px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .idx16 {
    padding-top: 80px;
  }
  .idx16 .col_right {
    width: 45%;
  }
}