.home_page {
  background-color: #fcfdf4;
}
.home_page .key {
  --height: 58vw;
  --min-height: 500px;
  --max-height: 1080px;
  position: relative;
  z-index: 1;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: min(0.55vw, 10px);
  background-size: cover;
}
.home_page .key .key_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding-top: calc(var(--wrapper));
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}
.home_page .key .key_text {
  position: relative;
  z-index: 2;
  padding-top: 13.5em;
  padding-left: 9em;
}
.home_page .key .key_text .inner {
  padding: 0;
}
.home_page .key .key_en {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0.34em;
  font-size: 16em;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.25;
  font-family: var(--f-en);
  color: #bec4aa;
  opacity: 0.2;
  text-transform: uppercase;
  white-space: nowrap;
}
.home_page .key h2 {
  margin-bottom: 0.43em;
  font-size: 6em;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 400;
  color: var(--clr2);
  font-family: var(--f-jp);
}
.home_page .key .ct_area p {
  letter-spacing: 0.05em;
  font-size: 3em;
  font-weight: 500;
  line-height: 2;
  color: var(--clr1);
  font-family: var(--f-jp);
}
.home_page .key .key_decor {
  position: absolute;
  z-index: 1;
  inset: 0;
}
.home_page .key .key_decor .item {
  position: absolute;
  background: no-repeat center/cover;
}
.home_page .key .key_decor .item01 {
  left: -1em;
  top: -2.9em;
  width: 90.4em;
  height: 37em;
  background-image: url(../images/key_decor01.png);
}
.home_page .key .key_decor .item02 {
  bottom: -4.6em;
  right: -20em;
  width: 46.3em;
  height: 29.9em;
  background-image: url(../images/key_decor02.png);
}
.home_page .topic_path {
  display: none;
}
.home_page h3 {
  position: relative;
  padding-top: 1.4688em;
  margin-bottom: 35px;
  font-family: var(--f-jp);
  font-size: calc(var(--ttl_size) + 2px);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  color: var(--main-color);
  background: url(../images/idx_h3_ico.png) no-repeat center top/3.7813em auto;
}
.home_page h3 .en {
  display: block;
  margin-bottom: -1px;
  font-size: 0.6875em;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #d0b7db;
}
.home_page h3.white {
  color: #fff;
  background-image: url(../images/idx_h3_ico_white.png);
}
.home_page h3.white .en {
  color: #fff;
}
.home_page h4 {
  line-height: 1.5;
  letter-spacing: 0.1em;
}

@media only screen and (min-width: 769px) {
  .home_page .key {
    --size-grow-right: 10em;
    --size-w-pic: 62%;
  }
  .home_page .key .key_text {
    top: 1.6em;
    margin-right: calc(var(--size-grow-right) * -1);
    width: calc(100% - var(--size-w-pic) + var(--size-grow-right));
  }
  .home_page .key .key_pic {
    position: relative;
    top: -1.5em;
    left: -2.8em;
    width: var(--size-w-pic);
    max-width: 116.6em;
  }
}
@media only screen and (min-width: 1921px) {
  .home_page .key .key_container {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .home_page .key .key_decor .item01 {
    width: 90em;
    height: 41em;
    font-size: 0.9em;
    background-position: right bottom;
  }
  .home_page .key .key_decor .item02 {
    font-size: 0.8em;
  }
}
@media only screen and (min-width: 1440px) and (max-width: 1560px) {
  .home_page .key {
    font-size: 0.5vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .home_page .key .key_decor .item01 {
    width: 93em;
  }
  .home_page .key .key_pic {
    max-width: 106em;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) and (max-height: 650px) and (orientation: landscape) {
  .home_page .key {
    --size-w-pic: 63%;
    --min-height: 590px;
    --max-height: calc(100vh + 10em);
    font-size: clamp(5px, 0.95vmin, 6px);
  }
  .home_page .key .key_decor .item01 {
    font-size: 8px;
  }
  .home_page .key .key_en {
    font-size: 18em;
    line-height: 1.2;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .home_page .key {
    font-size: 0.5vw;
  }
  .home_page .key .key_decor .item01 {
    font-size: 1em;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.home_page .idx_decor {
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.home_page .idx_decor .item {
  position: absolute;
  background: no-repeat center/cover;
}

.idx01 {
  padding: 94px 0 128px;
  position: relative;
  z-index: 2;
}
.idx01 .idx_decor {
  font-size: min(0.55vw, 10px);
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
.idx01 .idx_decor .item01 {
  z-index: -1;
  top: 197px;
  left: -18.2em;
  width: 118.3em;
  height: 104.2em;
  background-image: url(../images/idx01_decor01.png);
}
.idx01 .idx_decor .item02 {
  z-index: -2;
  top: 128px;
  right: -28.3em;
  width: 151.7em;
  height: 125.7em;
  background-image: url(../images/idx01_decor02.png);
}
.idx01 .idx_decor .item03 {
  z-index: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  height: 100%;
  background-position: center bottom 0;
  background-size: 100% auto;
  background-image: url(../images/idx01_decor_line.png);
}
.idx01 .idx_decor .item04 {
  z-index: 1;
  top: 75px;
  right: calc((100% - 1280px) / 2 - 3.1em);
  width: 14.4em;
  height: 9.4em;
  background-image: url(../images/idx01_decor04.png);
}
.idx01 .card_gr {
  --size-mg: 1.65em;
  font-size: min(0.8vw, 10px);
  align-items: flex-start;
}
.idx01 .card_gr .card {
  --cl-mode: var(--clr2);
  position: relative;
  z-index: 1;
  max-width: 372px;
}
.idx01 .card_gr .card .card_pic {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32.1em;
  height: 30.7em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.1em;
}
.idx01 .card_gr .card .card_pic .icon {
  position: relative;
  z-index: 1;
  width: 18.7em;
  height: 20.1em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.idx01 .card_gr .card .card_pic .bg_decor {
  position: absolute;
  z-index: -1;
  background: no-repeat center/cover;
}
.idx01 .card_gr .card .card_pic .arr {
  position: absolute;
  bottom: 2.8em;
  right: 4.7em;
  width: 3.6em;
  height: 3.6em;
  border-radius: 50%;
  background-image: -moz-linear-gradient(60deg, rgb(204, 183, 213) 0%, rgb(255, 232, 232) 100%);
  background-image: -webkit-linear-gradient(60deg, rgb(204, 183, 213) 0%, rgb(255, 232, 232) 100%);
  background-image: -ms-linear-gradient(60deg, rgb(204, 183, 213) 0%, rgb(255, 232, 232) 100%);
}
.idx01 .card_gr .card .card_pic .arr::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  margin: auto;
  width: 0.7em;
  height: 0.9em;
  font-size: 1em;
  background-color: white;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.idx01 .card_gr .card .ttl {
  margin-bottom: 0.6em;
  font-size: 2.2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.81818;
  color: var(--cl-mode);
  transition: var(--value-transition);
}
.idx01 .card_gr .card .ct_area {
  margin-bottom: 1.3em;
}
.idx01 .card_gr .card .ct_area p {
  font-size: 16px;
  line-height: 2;
}
@media only screen and (max-width: 1024px) {
  .idx01 .card_gr .card .ct_area p {
    font-size: 14px;
  }
}
.idx01 .card_gr .card .label_gr {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.idx01 .card_gr .card .label_gr .label {
  display: table;
  padding: 0.2308em 0.65em 0.2308em;
  margin-bottom: 0;
  min-width: 4em;
  min-height: 1.6923em;
  border: 1px solid white;
  border-radius: 4px;
  font-size: 1.3em;
  font-weight: 300;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1;
  color: white;
  background-color: var(--cl-mode);
  transition: var(--value-transition);
}
.idx01 .card_gr .card .label_gr .label.end {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 0.4em;
  min-width: auto;
  border: none;
  background-color: transparent;
  color: var(--clr1);
}
.idx01 .card_gr .c1 .icon {
  left: -1.6em;
  top: 1px;
}
.idx01 .card_gr .c1 .bg_decor {
  top: 0.1em;
  left: -1.6em;
  width: 32.1em;
  height: 30.7em;
}
.idx01 .card_gr .c2 .icon {
  top: 0.2em;
  left: -0.5em;
}
.idx01 .card_gr .c2 .bg_decor {
  left: -0.5em;
  top: 1em;
  width: 32em;
  height: 28.9em;
}
.idx01 .card_gr .c3 .icon {
  left: -1.6em;
  top: 0.2em;
}
.idx01 .card_gr .c3 .bg_decor {
  top: 2.3em;
  left: -1.6em;
  width: 32em;
  height: 26.3em;
}
@media only screen and (min-width: 769px) {
  .idx01 .card_gr .c4 .ttl {
    max-width: 369px;
  }
}
.idx01 .card_gr .c4 .icon {
  left: -0.5em;
  top: 0.1em;
}
.idx01 .card_gr .c4 .bg_decor {
  top: 1em;
  left: -0.5em;
  width: 32em;
  height: 28.9em;
}
.idx01 .card_gr .c5 .icon {
  left: -1.5em;
  top: 0.2em;
}
.idx01 .card_gr .c5 .bg_decor {
  top: 2.3em;
  left: -1.5em;
  width: 32em;
  height: 26.3em;
}
@media only screen and (min-width: 769px) {
  .idx01 .card_gr .c6 .ttl {
    max-width: 366px;
  }
}
.idx01 .card_gr .c6 .icon {
  top: 0.1em;
  left: -1.7em;
}
.idx01 .card_gr .c6 .bg_decor {
  top: 0.1em;
  left: -1.7em;
  width: 32.1em;
  height: 30.7em;
}
.idx01 .card_gr .c1 .card_pic .bg_decor {
  background-image: url(../images/idx01_card_decor01.png);
}
.idx01 .card_gr .c1 .icon {
  background-image: url(../images/idx01_card_ico01.png);
}
.idx01 .card_gr .c2 .card_pic .bg_decor {
  background-image: url(../images/idx01_card_decor02.png);
}
.idx01 .card_gr .c2 .icon {
  background-image: url(../images/idx01_card_ico02.png);
}
.idx01 .card_gr .c3 .card_pic .bg_decor {
  background-image: url(../images/idx01_card_decor03.png);
}
.idx01 .card_gr .c3 .icon {
  background-image: url(../images/idx01_card_ico03.png);
}
.idx01 .card_gr .c4 .card_pic .bg_decor {
  background-image: url(../images/idx01_card_decor04.png);
}
.idx01 .card_gr .c4 .icon {
  background-image: url(../images/idx01_card_ico04.png);
}
.idx01 .card_gr .c5 .card_pic .bg_decor {
  background-image: url(../images/idx01_card_decor05.png);
}
.idx01 .card_gr .c5 .icon {
  background-image: url(../images/idx01_card_ico05.png);
}
.idx01 .card_gr .c6 .card_pic .bg_decor {
  background-image: url(../images/idx01_card_decor06.png);
}
.idx01 .card_gr .c6 .icon {
  background-image: url(../images/idx01_card_ico06.png);
}
@media only screen and (min-width: 769px) {
  .idx01 .card_gr .card:hover {
    --cl-mode: #764789;
  }
}

@media only screen and (min-width: 769px) {
  .idx01 h3 {
    margin-bottom: 48px;
  }
  .idx01 .card_gr {
    --size-mg-top-bot: 2.35em;
    padding-left: 1.1em;
    margin-top: calc(var(--size-mg-top-bot) * -1);
    margin-bottom: calc(var(--size-mg-top-bot) * -1);
  }
  .idx01 .card_gr .card {
    margin-top: var(--size-mg-top-bot);
    margin-bottom: var(--size-mg-top-bot);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx01 .idx_decor .item04 {
    right: 10px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 {
    padding: 50px 0 50px;
  }
  .idx01 .card_gr {
    font-size: 0.78vw;
  }
}
.idx02 {
  position: relative;
  z-index: 1;
  padding: 66px 0 122px;
}
.idx02::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: -5px;
  top: -37%;
  width: 100vw;
  height: 150%;
  min-height: 1274px;
  background: url(../images/idx02_bg.png) no-repeat center/cover;
}
.idx02 .idx_box .box_ct .ct_area p {
  font-family: var(--f-jp);
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}
.idx02 .idx_box .btn-group {
  margin-top: 41px;
}

@media only screen and (min-width: 769px) {
  .idx02 h3 {
    margin-bottom: 37px;
    margin-left: -10px;
  }
  .idx02 .idx_box {
    --size-w-box-pic: 45.5%;
  }
  .idx02 .idx_box .ct_area {
    max-width: 679px;
  }
  .idx02 .idx_box .box_ct {
    padding-top: 22px;
    width: calc(100% - var(--size-w-box-pic));
  }
  .idx02 .idx_box .box_pic {
    width: var(--size-w-box-pic);
    max-width: 577px;
  }
  .idx02 .idx_box .btn-group {
    --size-mg: 1.5em;
  }
}
@media only screen and (min-width: 1281px) {
  .idx02 .idx_box .box_ct {
    position: relative;
    left: -6px;
  }
  .idx02 .idx_box .box_ct .ct_area {
    padding-left: 15px;
  }
  .idx02 .idx_box .btn-group {
    position: relative;
    left: -7px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx02 .idx_box {
    --size-w-box-pic: 43%;
  }
  .idx02 .idx_box .box_ct {
    padding-right: 30px;
  }
  .idx02 .idx_box .btn-group {
    --size-mg: 5px;
  }
  .idx02 .idx_box .btn-group .btn {
    min-width: auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx02 .idx_box .box_pic {
    display: none;
  }
  .idx02 .idx_box .box_ct {
    padding-right: 0;
    width: 100%;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx02 .idx_box .box_ct picture {
    display: block !important;
    margin-bottom: 30px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
}
.idx03 {
  position: relative;
  z-index: 2;
  padding-bottom: 88px;
  transition: var(--value-transition);
}
.idx03 .box_title {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  margin-bottom: 69px;
}
.idx03 .box_title h3 {
  padding-top: 2.5em;
  padding-left: 3.4em;
}
.idx03 .box_title h3::before {
  content: "3";
  position: absolute;
  left: 0.2em;
  top: 0.29em;
  font-size: 4.6875em;
  font-family: var(--f-en);
  letter-spacing: 0;
  font-weight: 500;
  line-height: 0.8;
  color: #e0cee8;
  text-transform: uppercase;
}
.idx03 .box_title h3 .en {
  margin-top: -0.3182em;
}
.idx03 .box_title .box_title_content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 1.5%;
  min-width: 20em;
  min-height: 6em;
  border-radius: 20px;
  font-size: 20px;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.8;
  color: var(--clr2);
  background-color: white;
}
.idx03 .box_title .box_title_content::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 1;
  right: -5.8em;
  bottom: -0.9em;
  width: 7.2em;
  height: 4.7em;
  background: url(../images/idx03_box_title_content_decor.png) no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx03 .box_title h3 {
    margin-left: -35px;
    margin-bottom: 0;
    text-align: left;
    background-position: left top 0.7em;
  }
  .idx03 .box_title .box_title_content {
    bottom: -0.5em;
    padding-left: 0.7em;
  }
}
.idx03 .card_gr {
  font-size: min(0.85vw, 10px);
  align-items: flex-start;
}
.idx03 .card_gr .card {
  --min-h-text: 48px;
  --min-h-icon: 21.4em;
  --cl-mode-text: #699856;
  --cl-mode-bg: #cae9be;
  --cl-mode-arr-bg: #9db794;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1em 3em 2em;
  max-width: 400px;
  min-height: 45em;
  border-radius: 20px;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  transition: var(--value-transition);
}
.idx03 .card_gr .card::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--cl-mode-bg);
  opacity: 0;
}
.idx03 .card_gr .card .card_ttl {
  margin-bottom: 2.6em;
  text-align: center;
}
.idx03 .card_gr .card .card_ttl .ttl {
  margin-bottom: 0.75em;
  font-size: 3em;
  letter-spacing: 0.05em;
  line-height: 1;
  color: var(--clr2);
}
.idx03 .card_gr .card .card_ttl .ttl .num {
  font-size: 1.6em;
  letter-spacing: 0.05em;
}
.idx03 .card_gr .card .card_ttl .txt_frame {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.1923em 0.3846em 0.1923em 0.3846em;
  margin-bottom: 0;
  min-width: 10em;
  min-height: 2.3846em;
  border-radius: 100px;
  font-size: 2.6em;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.5;
  background-color: white;
  color: var(--cl-mode-text);
}
.idx03 .card_gr .card .ct_area {
  padding-top: 0.5em;
  max-width: 289px;
  margin-left: auto;
  margin-right: auto;
  opacity: 0;
  transition: var(--value-transition);
}
.idx03 .card_gr .card .ct_area p {
  font-size: 16px;
}
@media only screen and (max-width: 1024px) {
  .idx03 .card_gr .card .ct_area p {
    font-size: 14px;
  }
}
.idx03 .card_gr .card .card_body {
  position: relative;
  z-index: 1;
  min-height: var(--min-h-icon);
  transition: var(--value-transition);
}
.idx03 .card_gr .card .card_body .card_icon {
  position: absolute;
  z-index: -1;
  top: 0;
  left: -0.5em;
  right: 0;
  margin: 0 auto;
  width: 20em;
  height: 21.4em;
  transform-origin: top center;
  background: no-repeat center/cover;
  opacity: 1;
  transition: var(--value-transition);
}
.idx03 .card_gr .card .card_arr {
  position: absolute;
  z-index: 1;
  right: 1.2em;
  bottom: 1.2em;
  width: 3.6em;
  height: 3.6em;
  border-radius: 50%;
  background-color: var(--cl-mode-arr-bg);
}
.idx03 .card_gr .card .card_arr::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  inset: 0;
  margin: auto;
  width: 0.7em;
  height: 0.9em;
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  background-color: white;
}
.idx03 .card_gr .c1 {
  background-image: url(../images/idx03_card_bg01.jpg);
}
.idx03 .card_gr .c1 .card_body .card_icon {
  background-image: url(../images/idx03_card_ico01.png);
}
.idx03 .card_gr .c2 {
  background-image: url(../images/idx03_card_bg02.jpg);
}
.idx03 .card_gr .c2 .card_body .card_icon {
  background-image: url(../images/idx03_card_ico02.png);
}
.idx03 .card_gr .c3 {
  background-image: url(../images/idx03_card_bg03.jpg);
}
.idx03 .card_gr .c3 .card_body .card_icon {
  background-image: url(../images/idx03_card_ico03.png);
}
.idx03 .card_gr .c2 {
  --cl-mode-arr-bg: #c5b36d;
}
.idx03 .card_gr .c3 {
  --cl-mode-arr-bg: #c199c0;
}
@media only screen and (min-width: 769px) {
  .idx03 .card_gr {
    --size-mg: 2em;
  }
  .idx03 .card_gr .c2 {
    --cl-mode-text: #bdb07a;
    --cl-mode-bg: #f7e9b0;
  }
  .idx03 .card_gr .c3 {
    --cl-mode-text: #a47fa3;
    --cl-mode-bg: #e5c7e4;
  }
  .idx03 .card_gr .card:hover {
    box-shadow: 0px 5px 40px 0px rgba(0, 0, 0, 0.2);
  }
  .idx03 .card_gr .card:hover::before {
    opacity: 1;
  }
  .idx03 .card_gr .card:hover .ct_area {
    position: relative;
    opacity: 1;
  }
  .idx03 .card_gr .card:hover .card_body {
    min-height: var(--min-h-text);
  }
  .idx03 .card_gr .card:hover .card_body .card_icon {
    opacity: 0;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx03 .box_title h3 {
    margin-left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx03 .box_title .box_title_content {
    font-size: 16px;
  }
}
.idx04 {
  padding: 63px 0 100px;
}
.idx04 .idx_box {
  padding: 75px 107px 80px;
}
.idx04 .idx_box picture {
  border-radius: 10px;
  overflow: hidden;
}
.idx04 .idx_box h4 {
  margin-bottom: 28px;
  font-size: calc(var(--ttl_size) - 4px);
  color: var(--clr2);
}
.idx04 .idx_box .btn-group {
  margin-top: 40px;
}
.idx04 .idx_box .box_ct {
  max-width: 563px;
}
.idx04 .idx_box.box_st02 {
  display: block;
}
.idx04 .idx_box.box_st02 .ct_area {
  margin-bottom: 24px;
}
.idx04 .idx_box.box_st02 .ct_footer {
  position: relative;
  z-index: 1;
}
.idx04 .idx_box.box_st02 picture {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.idx04 .idx_box.box_st02 .btn-group {
  position: absolute;
  right: 0;
  bottom: 0;
}

@media only screen and (min-width: 769px) {
  .idx04 {
    background-image: url(../images/idx04_bg.jpg);
  }
  .idx04 h3 {
    margin-bottom: 43px;
  }
  .idx04 .idx_box {
    --size-w-box-pic: 50%;
  }
  .idx04 .idx_box .box_pic {
    width: var(--size-w-box-pic);
    max-width: 600px;
  }
  .idx04 .idx_box .box_ct {
    padding-top: 10px;
    padding-left: 4px;
    width: calc(100% - var(--size-w-box-pic));
  }
  .idx04 .idx_box.box_st02 {
    padding-top: 41px;
  }
  .idx04 .idx_box.box_st02 .box_ct {
    width: 100%;
    max-width: 100%;
  }
  .idx04 .idx_box.box_st02 .btn-group {
    bottom: 30px;
    width: 100%;
  }
  .idx04 .idx_box.box_st02 .btn-group .btn {
    margin-left: auto;
    margin-right: 0;
  }
}
@media only screen and (min-width: 1281px) {
  .idx04 .idx_box.box_st02 picture {
    position: relative;
    left: -3px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx04 .idx_box:not(.box_st02) .box_ct {
    padding-right: 40px;
  }
  .idx04 .idx_box.box_st02 .btn-group {
    bottom: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx04 .idx_box {
    padding: 60px 50px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_box.box_st02 picture {
    padding-left: 2vw;
    padding-right: 2vw;
  }
  .idx04 .idx_box.box_st02 .btn-group {
    bottom: 0;
    font-size: 0.85vw;
  }
  .idx04 .idx_box.box_st02 .btn-group .btn {
    max-width: 22em;
    min-width: auto;
  }
}
.idx05 {
  position: relative;
  z-index: 1;
  padding: 102px 0 109px;
}
.idx05 .idx_decor .item01 {
  top: 1.5%;
  left: -7px;
  width: 100vw;
  height: 100%;
  background-image: url(../images/idx05_decor_line.png);
  background-size: 100% auto;
}
.idx05 .idx_box {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  font-size: min(0.8vw, 10px);
}
.idx05 .idx_box h3 {
  margin-bottom: 0;
  font-size: 3.2em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: white;
  background-image: url(../images/idx_h3_ico_white.png);
  background-size: 3.7813em auto;
}
.idx05 .idx_box h3 .en {
  color: white;
}
.idx05 .idx_box h4 {
  margin-bottom: 29px;
  font-size: calc(var(--ttl_size) - 4px);
  color: var(--clr2);
  letter-spacing: 0.1em;
}
.idx05 .idx_box .ct_area P {
  font-size: 16px;
}
@media only screen and (max-width: 1024px) {
  .idx05 .idx_box .ct_area P {
    font-size: 14px;
  }
}
.idx05 .idx_box .btn-group {
  margin-top: 41px;
  font-size: 10px;
}
.idx05 .idx_box .box_logo {
  display: table;
  margin-bottom: 30px;
  margin-left: 8px;
}
.idx05 .idx_box .box_pic_title::after,
.idx05 .idx_box .box_pic picture,
.idx05 .idx_box .box_ct::after {
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
}
.idx05 .idx_box .box_pic_title {
  position: absolute;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 1em 2em 3em;
  min-width: 36.1em;
  min-height: 31.9em;
}
.idx05 .idx_box .box_pic_title::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: -moz-linear-gradient(60deg, rgb(205, 180, 217) 0%, rgb(211, 218, 255) 100%);
  background-image: -webkit-linear-gradient(60deg, rgb(205, 180, 217) 0%, rgb(211, 218, 255) 100%);
  background-image: -ms-linear-gradient(60deg, rgb(205, 180, 217) 0%, rgb(211, 218, 255) 100%);
}
.idx05 .idx_box .box_pic {
  position: relative;
  z-index: 2;
  max-width: 64.1em;
}
.idx05 .idx_box .box_pic picture {
  display: table;
}
.idx05 .idx_box .box_ct {
  position: relative;
  z-index: 1;
}
.idx05 .idx_box .box_ct::after {
  --mask: url(../images/idx05_box_ct_mask.svg);
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: white;
}
.idx05 .idx_box:nth-of-type(2n + 1) .box_pic_title {
  --mask: url(../images/idx05_pic_title_odd_mask.svg);
  left: 7.56em;
  top: 0;
}
.idx05 .idx_box:nth-of-type(2n + 1) .box_pic {
  padding-top: 11.7em;
}
.idx05 .idx_box:nth-of-type(2n + 1) .box_pic picture {
  --mask: url(../images/idx05_picture_odd_mask.svg);
}
.idx05 .idx_box:nth-of-type(2n + 1) .box_ct {
  padding: 23em 12.5em 21em 4.5em;
}
.idx05 .box01 .box_ct::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 8.6em;
  right: 6.6em;
  width: 14.4em;
  height: 9.3em;
  background: url(../images/idx05_decor02.png) no-repeat center/cover;
}
.idx05 .idx_box:nth-of-type(2n) .box_pic_title {
  --mask: url(../images/idx05_pic_title_even_mask.svg);
  right: 0;
  top: 0;
  padding: 0 0.9em 2em 1em;
}
.idx05 .idx_box:nth-of-type(2n) .box_pic {
  padding-top: 11.8em;
  left: 2px;
}
.idx05 .idx_box:nth-of-type(2n) .box_pic picture {
  --mask: url(../images/idx05_picture_even_mask.svg);
}
.idx05 .idx_box:nth-of-type(2n) .box_ct {
  padding: 20.4em 3.7em 21.4em 15.9em;
}

@media only screen and (min-width: 769px) {
  .idx05 {
    background-image: url(../images/idx05_bg.jpg);
  }
  .idx05 .idx_box {
    --size-w-box-pic: 51%;
    justify-content: space-between;
    margin-bottom: 2.5em;
  }
  .idx05 .idx_box:last-child {
    margin-bottom: 0;
  }
  .idx05 .idx_box .box_pic {
    width: var(--size-w-box-pic);
  }
  .idx05 .idx_box .box_ct {
    width: calc(100% - var(--size-w-box-pic));
  }
  .idx05 .idx_box:nth-of-type(2n + 1) .box_pic {
    left: -2px;
  }
  .idx05 .idx_box:nth-of-type(2n + 1) .box_ct::after {
    right: -2px;
    width: calc(100% + 34.082em);
    mask-position: top right;
  }
  .idx05 .idx_box:nth-of-type(2n) {
    flex-direction: row-reverse;
  }
  .idx05 .idx_box:nth-of-type(2n) .box_ct::after {
    top: 1em;
    left: 0;
    width: calc(100% + 33.982em);
    mask-position: top left;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx05 .idx_box {
    --size-w-box-pic: 45%;
  }
  .idx05 .idx_box h4 {
    margin-bottom: 20px;
  }
  .idx05 .idx_box .btn-group {
    margin-top: 30px;
  }
  .idx05 .idx_box .box_ct::after {
    font-size: 2em;
  }
  .idx05 .idx_box:nth-of-type(2n + 1) .box_ct {
    padding-right: 8em;
  }
  .idx05 .idx_box:nth-of-type(2n) .box_ct {
    padding-left: 8em;
  }
  .idx05 .idx_box:nth-of-type(2n + 1) .box_ct::after {
    right: 0;
    width: calc(100% + 18em);
  }
  .idx05 .idx_box:nth-of-type(2n) .box_ct::after {
    left: 0;
    width: calc(100% + 18em);
  }
}
.idx06 {
  padding: 80px 0 93px;
  background-color: white;
}
.idx06 .card_gr {
  --size-radius-card: 20px;
  display: flex;
  align-items: flex-start;
  font-size: clamp(8px, 0.8vw, 10px);
}
.idx06 .card_gr .card {
  --cl-decor: #e5dde9;
  --cl-shadow: #a98fb5;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 5.2em;
  padding-bottom: 3em;
  margin-top: 4.1em;
  min-height: 55em;
}
.idx06 .card_gr .card::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--size-radius-card);
  background: no-repeat center/cover;
}
.idx06 .card_gr .card::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -2;
  left: calc(var(--size-radius-card) / 2 - 2px);
  top: calc(var(--size-radius-card) / 2 - 3px);
  width: 100%;
  height: 100%;
  border-radius: var(--size-radius-card);
  background-color: var(--cl-shadow);
  opacity: 0.3;
}
.idx06 .card_gr .card h4 {
  padding-top: 3.6538em;
  margin-bottom: 0.9231em;
  font-size: calc(var(--ttl_size) - 4px);
  line-height: 1.5;
  font-weight: 500;
  color: var(--clr2);
  letter-spacing: 0.1em;
  text-align: center;
  background: no-repeat center top/2.7308em auto;
}
.idx06 .card_gr .card .card_ct {
  margin-bottom: 39px;
}
.idx06 .card_gr .card .card_ct:last-child {
  margin-bottom: 0;
}
.idx06 .card_gr .card .card_ct p {
  font-size: 16px;
}
@media only screen and (max-width: 1024px) {
  .idx06 .card_gr .card .card_ct p {
    font-size: 14px;
  }
}
.idx06 .card_gr .card .card_banner {
  display: table;
}
.idx06 .card_gr .card .card_banner a {
  display: table;
  position: relative;
}
.idx06 .card_gr .card .card_banner a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-width: 1px;
  border-style: solid;
}
.idx06 .card_gr .card .card_banner.bd01 a::after {
  border-color: #e4a58e;
}
.idx06 .card_gr .card .card_banner.bd02 a::after {
  border-color: #e2d6b8;
}
.idx06 .card_gr .card .card_decor {
  position: absolute;
  z-index: -2;
  top: -3.8em;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 23em;
  height: 23em;
  border: 0.3em solid var(--cl-decor);
  border-radius: 115px 115px 0 0;
}
.idx06 .card_gr .card .card_decor::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  right: 0;
  top: -0.5em;
  margin: 0 auto;
  width: 0.9em;
  height: 0.9em;
  border-radius: 50%;
  background-color: var(--cl-decor);
}
.idx06 .card_gr .card.c1::before {
  background-image: url(../images/idx06_card_bg01.jpg);
}
.idx06 .card_gr .card.c1 h4 {
  background-image: url(../images/idx06_card_h4_ico01.png);
}
.idx06 .card_gr .card.c2 {
  --cl-decor: #dee9d9;
  --cl-shadow: #97b38c;
  z-index: 2;
}
.idx06 .card_gr .card.c2::before {
  background-image: url(../images/idx06_card_bg02.jpg);
}
.idx06 .card_gr .card.c2 h4 {
  background-image: url(../images/idx06_card_h4_ico02.png);
}
@media only screen and (min-width: 769px) {
  .idx06 .card_gr .card {
    --size-gr-card-left: 4em;
    width: calc(50% + var(--size-gr-card-left));
  }
  .idx06 .card_gr .card:nth-of-type(2n + 1) {
    margin-right: calc(var(--size-gr-card-left) * -1);
    padding-left: 8.2em;
    padding-right: 12.2em;
  }
  .idx06 .card_gr .card:nth-of-type(2n) {
    padding-left: 13.8em;
    padding-right: 10em;
    margin-top: 13.6em;
    margin-left: calc(var(--size-gr-card-left) * -1);
  }
  .idx06 .card_gr .card:nth-of-type(2n) .card_ct {
    padding-left: 0;
    margin-left: -1.1em;
    margin-right: -1em;
    margin-bottom: 4.1em;
  }
}

@media only screen and (min-width: 769px) {
  .idx06 h3 {
    margin-bottom: 20px;
  }
  .idx06 .card_gr .card .card_ct {
    padding-left: 5px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx06 .card_gr .card:nth-of-type(2n + 1) {
    padding-left: 3.2em;
    padding-right: 10.2em;
  }
  .idx06 .card_gr .card:nth-of-type(2n) {
    padding-left: 8em;
    padding-right: 7em;
  }
}
.idx07 {
  padding: 50px 0 38px;
}
.idx07 h3.layout_sp {
  display: none;
}
.idx07 h3.layout_pc {
  display: block;
}
.idx07 .idx_box_doctor {
  position: relative;
  z-index: 3;
  display: table;
  font-size: min(0.55vw, 10px);
}
.idx07 .idx_box_doctor::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: no-repeat center/cover;
}
.idx07 .idx_box_doctor .doctor_name {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 5.3em;
  min-height: 22em;
}
.idx07 .idx_box_doctor .doctor_name p {
  letter-spacing: 0.1em;
  line-height: 1;
  writing-mode: vertical-rl;
}
.idx07 .idx_box_doctor .doctor_name .position {
  padding-right: 0.3em;
  margin-bottom: 0.85em;
  font-size: 1.8em;
  letter-spacing: 0.1em;
}
.idx07 .idx_box_doctor .doctor_name .name .jp {
  font-size: 3em;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.idx07 .idx_box_doctor .doctor_name .name .name_en {
  display: block;
  margin-right: 0.65em;
  margin-top: 1px;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.idx07 .idx_box_doctor.doctor01 {
  max-width: 55.7em;
}
.idx07 .idx_box_doctor.doctor01::after {
  left: -0.9em;
  top: 1.2em;
  width: 57em;
  height: 53.7em;
  background-image: url(../images/idx_box_doctor_decor01.png);
}
.idx07 .idx_box_doctor.doctor01 .doctor_name {
  left: 3.2em;
  top: 3.3em;
}
.idx07 .idx_box_doctor.doctor02 {
  max-width: 59.5em;
  right: 0;
  top: 1.5em;
}
.idx07 .idx_box_doctor.doctor02::after {
  left: -1.1em;
  top: 5.8em;
  width: 59.2em;
  height: 49.5em;
  background-image: url(../images/idx_box_doctor_decor02.png);
}
.idx07 .idx_box_doctor.doctor02 .doctor_name {
  right: 6.3em;
  top: 7.6em;
}
.idx07 .box_ct {
  --size-grow-w-left: 27.7%;
  --size-grow-w-right: 31%;
  position: relative;
  z-index: 1;
  padding-top: 120px;
  padding-bottom: 130px;
}
.idx07 .box_ct::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: calc(var(--size-grow-w-left) * -1);
  top: 0;
  width: calc(100% + var(--size-grow-w-left) + var(--size-grow-w-right));
  max-width: 1096px;
  height: 100%;
  background: url(../images/idx07_box_ct_decor01.png) no-repeat center top/contain;
}
.idx07 .box_ct h3 {
  margin-bottom: 20px;
}
.idx07 .box_ct .btn-group {
  --size-mg: 15px;
  margin-top: 20px;
}

@media only screen and (min-width: 769px) {
  .idx07 .inner_max {
    max-width: 1910px;
    padding-left: 13px;
    padding-right: 13px;
  }
  .idx07 .idx07_catch {
    --size-w-doctor01: 30%;
    --size-mg-left-doctor01: 1.15%;
    --size-w-doctor02: 32%;
    align-items: flex-start;
  }
  .idx07 .idx07_catch .doctor01 {
    margin-top: 127px;
    width: var(--size-w-doctor01);
    margin-left: var(--size-mg-left-doctor01);
  }
  .idx07 .idx07_catch .doctor02 {
    margin-top: 89px;
    width: var(--size-w-doctor02);
  }
  .idx07 .idx07_catch .box_ct {
    padding-left: 42px;
    padding-right: 21px;
    width: calc(100% - var(--size-w-doctor01) - var(--size-w-doctor02) - var(--size-mg-left-doctor01));
  }
  .idx07 .idx07_catch .box_ct .ct_area {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .idx07 .idx_box_doctor.doctor01::after {
    left: 0;
  }
  .idx07 .idx_box_doctor.doctor02::after {
    width: 52.2em;
    height: 42.5em;
  }
  .idx07 .idx_box_doctor.doctor01::after {
    top: -2.5em;
  }
  .idx07 .idx_box_doctor.doctor02::after {
    top: 2.8em;
  }
  .idx07 .box_ct .btn-group {
    --size-mg: 5px;
  }
}
@media only screen and (min-width: 1280px) and (max-width: 1560px) {
  .idx07 .idx07_catch {
    --size-w-doctor01: 26%;
    --size-w-doctor02: 29%;
  }
  .idx07 .box_ct .btn-group {
    font-size: 8px;
  }
  .idx07 .idx07_catch .box_ct .ct_area {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 1170px) {
  .idx07 h3 {
    width: 100%;
    margin-bottom: 35px;
  }
  .idx07 h3.layout_pc {
    display: none;
  }
  .idx07 h3.layout_sp {
    display: block;
  }
  .idx07 .idx07_catch {
    --size-w-doctor01: calc(50% - 15px);
    --size-w-doctor02: calc(50% - 15px);
    justify-content: center;
  }
  .idx07 .idx07_catch .idx_box_doctor {
    font-size: 0.8vw;
    margin-top: 0;
  }
  .idx07 .idx07_catch .doctor01 {
    order: 1;
    padding-right: 15px;
    margin-left: 0;
  }
  .idx07 .idx07_catch .doctor01::after {
    top: -3em;
  }
  .idx07 .idx07_catch .doctor02 {
    top: 0;
    order: 2;
    padding-left: 15px;
    max-width: 57.7em;
  }
  .idx07 .idx07_catch .box_ct {
    order: 3;
    padding-top: 168px;
    padding-bottom: 161px;
    margin-top: -120px;
    width: 100%;
    max-width: 700px;
  }
}
.idx08 {
  padding: 75px 0 82px;
  background-color: white;
}
.idx08 h3 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  line-height: 1;
  padding-top: 27px;
  background-position: left 48.2% top;
}
.idx08 h3 .num {
  margin-left: 5px;
  margin-right: 5px;
  font-size: 4.6875em;
  font-family: var(--f-en);
  line-height: 0.6;
  text-transform: uppercase;
  color: #e0cee8;
}
.idx08 h3 .en {
  margin-bottom: 0.3em;
  margin-left: 0.15em;
  text-align: left;
}
.idx08 .feature_gr {
  counter-reset: idx_feature_counter;
}
.idx08 .feature_box {
  --size-padding-left-box-pic: 28px;
  --size-radius: 20px;
  max-width: 590px;
}
.idx08 .feature_box .box_pic {
  position: relative;
  z-index: 1;
  padding-left: var(--size-padding-left-box-pic);
}
.idx08 .feature_box .box_pic::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  left: 0;
  top: var(--size-padding-left-box-pic);
  width: calc(100% - var(--size-padding-left-box-pic));
  height: 100%;
  border-radius: var(--size-radius);
  background-color: #e0cee8;
  opacity: 0.5;
}
.idx08 .feature_box .box_pic img {
  border-radius: var(--size-radius);
}
.idx08 .feature_box .box_pic .point {
  position: absolute;
  top: calc(var(--size-padding-left-box-pic) + 1.4444em);
  left: -0.8em;
  font-size: 1.125em;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-family: var(--f-en);
  writing-mode: vertical-lr;
  line-height: 1;
  color: var(--main-color);
  text-transform: uppercase;
}
.idx08 .feature_box .box_pic .point::after {
  content: counter(idx_feature_counter, decimal-leading-zero);
  counter-increment: idx_feature_counter;
  margin-top: 0.4em;
}
.idx08 .feature_box .box_ct {
  position: relative;
  z-index: 2;
  margin-top: -110px;
  width: calc(100% - 40px);
  max-width: 530px;
  padding-top: 55px;
  padding-right: 40px;
  border-top-right-radius: var(--size-radius);
  background-color: white;
}
.idx08 .feature_box .box_ct h4 {
  margin-bottom: 19px;
  font-size: calc(var(--ttl_size) - 4px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--clr1);
}
.idx08 .feature_box .box_ct .btn-group {
  margin-top: 31px;
  margin-left: 6px;
}

@media only screen and (min-width: 769px) {
  .idx08 h3 {
    margin-bottom: 61px;
  }
  .idx08 .feature_box {
    width: calc(50% - 20px);
  }
  .idx08 .feature_box .ct_area {
    padding-right: 20px;
  }
  .idx08 .feature_box:nth-child(2n+1) {
    margin-bottom: 75px;
  }
  .idx08 .feature_box:nth-child(2n) {
    margin-top: 59px;
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx08 .feature_box {
    --size-padding-left-box-pic: 20px;
  }
  .idx08 .feature_box .box_ct {
    padding-top: 45px;
    padding-right: 20px;
  }
}
.idx09 {
  padding: 138px 0 173px;
}
.idx09 p,
.idx09 dl {
  color: white;
}
.idx09 .infor_box {
  margin-bottom: 36px;
}
.idx09 .idx_box .btn-group {
  margin-top: 30px;
}
.idx09 .idx_box .btn-group .btn {
  margin-left: auto;
  margin-right: auto;
}
.idx09 .idx_box .box_l,
.idx09 .idx_box .box_r {
  max-width: 565px;
}
.idx09 .idx_box .box_r {
  padding-top: 11px;
}

@media only screen and (min-width: 769px) {
  .idx09 {
    background-image: url(../images/idx09_bg.jpg);
  }
  .idx09 .inner_big {
    max-width: 1246px;
  }
  .idx09 .idx_box .box_l,
  .idx09 .idx_box .box_r {
    width: calc(50% - 15px);
  }
}
.idx_news {
  --size-w-box-left: 39%;
  padding: 90px 0px 91px;
}
.idx_news .box_left {
  width: var(--size-w-box-left);
}
.idx_news .box_left .btn-group {
  margin-top: 40px;
}
.idx_news .box_left .btn-group .btn {
  margin-left: auto;
  margin-right: auto;
  min-width: auto;
}
.idx_news .content {
  align-items: inherit;
}
.idx_news .content li {
  border-bottom: 1px solid #c8c8c8;
  width: auto;
}
.idx_news .content li a {
  position: relative;
  z-index: 1;
  display: flex;
  text-decoration: none;
  padding: 34px 40px 31px 40px;
  --w: 8.5em;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  white-space: nowrap;
  max-width: 100%;
  color: var(--clr1);
  background-color: white;
  transition: var(--value-transition);
}
.idx_news .content li a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  right: 1.375em;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 7px;
  height: 9px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .idx_news .content li a::after {
    transform: translateY(2px);
  }
}
.idx_news .content li a span {
  display: inline-block;
}
.idx_news .content li a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx_news .content li a:hover {
    background-color: #eff9eb;
  }
}
.idx_news .content li a .date {
  width: var(--w);
  transition: all 0.3s;
  font-weight: 500;
}
.idx_news .content li a .title {
  width: calc(100% - var(--w));
  position: relative;
  text-overflow: ellipsis;
  overflow: hidden;
}
.idx_news .content .news {
  position: relative;
}

@media only screen and (min-width: 769px) {
  .idx_news {
    --size-w-box-left: 33.2%;
  }
  .idx_news h3 {
    display: table;
    padding-top: 20px;
    padding-left: 33px;
    margin-bottom: 68px;
    text-align: left;
    background-size: 33px auto;
    background-position: left top;
    background-image: url(../images/idx_news_h3_ico.png);
  }
  .idx_news h3 .en {
    margin-bottom: -2px;
  }
  .idx_news .content {
    justify-content: flex-end;
  }
  .idx_news .box_left {
    padding-top: 4px;
  }
  .idx_news .box_left .btn-group {
    position: relative;
  }
  .idx_news .box_left .btn-group .btn {
    margin-left: 7.2%;
  }
  .idx_news .box {
    width: calc(100% - var(--size-w-box-left));
    max-width: 780px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .idx_news .content {
    justify-content: center;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_news {
    --size-w-box-left: 44%;
  }
  .idx_news .box_left {
    padding-right: 40px;
  }
  .idx_news .box_left .btn-group .btn {
    max-width: 250px;
  }
}
.idx_map {
  height: 360px;
}
.idx_map iframe {
  height: 100%;
}

@keyframes bounceMatrixSmooth {
  0% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  12% {
    transform: matrix(1.04, 0, 0, 0.96, 0, 0);
  }
  28% {
    transform: matrix(0.97, 0, 0, 1.03, 0, 0);
  }
  42% {
    transform: matrix(1.03, 0, 0, 0.98, 0, 0);
  }
  60% {
    transform: matrix(0.98, 0, 0, 1.02, 0, 0);
  }
  75% {
    transform: matrix(1.01, 0, 0, 0.99, 0, 0);
  }
  100% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
}
@keyframes scaleAndTallSoft {
  0% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  50% {
    transform: matrix(0.96, 0, 0, 1.04, 0, 0);
  }
  100% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
}
.home_page .key .key_decor .item02 {
  animation: bounceMatrixSmooth 8s cubic-bezier(0.26, 0.53, 0.74, 1.48) infinite;
  will-change: transform;
}

@media only screen and (min-width: 769px) and (min-width: 769px) {
  .idx01 .card:hover .bg_decor {
    animation: bounceMatrixSmooth 5s cubic-bezier(0.26, 0.53, 0.74, 1.48) infinite;
  }
}
@media only screen and (min-width: 769px) {
  .idx05 .idx_box .box_ct::after {
    animation: bounceMatrixSmooth 8s cubic-bezier(0.26, 0.53, 0.74, 1.48) infinite;
    will-change: transform;
  }
  .idx05 .idx_box:nth-child(2n) .box_ct::after {
    animation-delay: 1s;
  }
  .idx07 .box_ct::before {
    animation: bounceMatrixSmooth 5s cubic-bezier(0.26, 0.53, 0.74, 1.48) infinite;
    will-change: transform;
  }
  .idx07 .idx_box_doctor::after {
    animation: scaleAndTallSoft 5s cubic-bezier(0.26, 0.53, 0.74, 1.48) infinite;
    will-change: transform;
  }
}

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