.home_page .key {
  --height: 43vw;
  --min-height: 550px;
  --max-height: 820px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
  background-size: cover;
  overflow: hidden;
}
@media only screen and (min-width: 2000px) {
  .home_page .key {
    --max-height: 100vh;
  }
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  max-width: 1280px;
  width: 75%;
}
@media only screen and (min-width: 2000px) {
  .home_page .key .inner {
    max-width: unset;
    width: 65%;
  }
}
.home_page .key .mv_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
  flex-direction: column;
}
.home_page .key .s1 {
  background-image: url(../images/idx_key_bg1.jpg);
}
.home_page .key .slick-initialized .s2 {
  background-image: url(../images/idx_key_bg2.jpg);
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
}
.home_page .key .key_text .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: var(--radius);
}
.home_page .key .catch {
  padding-top: 8em;
}
.home_page .key h2,
.home_page .key p {
  font-family: var(--f-en);
  letter-spacing: 0.1em;
}
.home_page .key h2 {
  margin-bottom: 1em;
  font-size: 4.3em;
  line-height: 1.8604651163;
  position: relative;
}
.home_page .key h2 span {
  padding: 0.0698em 0.5116em 0.187em 0.5116em;
  background-color: #fff;
  box-shadow: 3.009px 3.993px 0px 0px rgb(0, 174, 239);
  box-decoration-break: clone;
  display: inline;
  border-radius: 10px;
  color: #185b74;
  font-weight: 700;
}
.home_page .key h2 span:first-child {
  position: relative;
}
.home_page .key h2 span:first-child::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx_key_h2_icon.png) no-repeat center/contain;
  width: 1.1163em;
  height: 1.047em;
  top: -0.52em;
  left: -0.3953em;
}
.home_page .key .s2 h2 span,
.home_page .key .s3 h2 span {
  padding-right: 0;
}
.home_page .key .jp {
  color: #185b74;
  line-height: 2.4;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 2em;
  margin-top: 17px;
}
.home_page .key .idx_key_list {
  margin-top: -1.2em;
  width: 42.9em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.home_page .key .idx_key_list .key_item {
  width: 22em;
  height: 22em;
  border-radius: 50%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 1.4em;
  cursor: pointer;
}
.home_page .key .idx_key_list .key_item p {
  color: #fff;
  text-align: center;
  line-height: 1;
  font-size: 2.4em;
  font-weight: 700;
  letter-spacing: 0.14em;
  font-family: var(--f-en);
}
.home_page .key .idx_key_list .key_item p .en {
  display: block;
  font-size: 0.6667em;
  letter-spacing: 0.05em;
  margin-bottom: 0.4375em;
}
.home_page .key .idx_key_list .key_item a {
  border-radius: 50%;
}
.home_page .key .idx_key_list .key_item a:hover {
  opacity: 1;
}
.home_page .key .idx_key_list .key_item::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx_key_arr02.png) no-repeat center/contain;
  width: 2.8em;
  height: 3.1em;
  left: calc(50% - 1.5em);
  bottom: 2.4em;
}
.home_page .key .idx_key_list .key_item:last-child {
  margin-left: -11px;
}
.home_page .key .idx_key_list .key_item:last-child::after {
  background-image: url(../images/idx_key_arr01.png);
}
@media only screen and (min-width: 769px) {
  .home_page .key .idx_key_list .key_item {
    transition: 0.3s all;
  }
  .home_page .key .idx_key_list .key_item:hover {
    opacity: 0.8;
  }
}
.home_page .key .idx_key_list .key_item1 {
  background: url(../images/idx_key_circle02.png) no-repeat top left/contain;
}
.home_page .key .idx_key_list .key_item2 {
  background: url(../images/idx_key_circle01.png) no-repeat top left/contain;
}
.home_page .key .idx_scroll {
  position: absolute;
  z-index: 1;
  bottom: -4.8em;
  left: calc(50% - 4.4em);
}
.home_page .key .idx_scroll a {
  width: 8.8em;
  height: 8.8em;
  border-radius: 50%;
  background-color: #fff;
  position: relative;
  display: flex;
  justify-content: center;
}
.home_page .key .idx_scroll a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx_key_scroll.png);
  background-color: var(--clr2);
  width: 1.6em;
  height: 0.9em;
  left: calc(50% - 0.8em);
  top: 2.5em;
}
.home_page .key .idx_scroll a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .home_page .key .idx_scroll a:hover {
    background-color: var(--main-color);
  }
  .home_page .key .idx_scroll a:hover::before {
    background-color: #fff;
  }
}
.home_page .topic_path {
  display: none;
}
.home_page .wrap_h3.t_center {
  display: table;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.home_page .wrap_h3.white * {
  color: #fff;
}
.home_page h3 {
  position: relative;
  color: var(--clr1);
  font-family: var(--f-en);
  font-size: calc(var(--ttl_size) + 12px);
  font-weight: 500;
  letter-spacing: 0em;
}
.home_page h3::after {
  content: "";
  display: block;
  margin: 0.325em auto 0;
  background: url(../images/h3_icon.png) no-repeat center/contain;
  width: 105px;
  height: 15px;
}
.home_page h3.white {
  color: #fff;
}
.home_page h3.white::after {
  background-image: url(../images/h3_icon_white.png);
}
.home_page h3.med {
  font-size: calc(var(--ttl_size) + 14px);
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .home_page h3 {
    letter-spacing: 0;
  }
}
.home_page .h_en {
  line-height: 1;
  font-family: var(--f-en);
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: calc(var(--ttl_size) - 4px);
  margin-bottom: 12px;
}
.home_page .h_en.white {
  color: #fff;
}
.home_page .h_en.clr2 {
  color: var(--clr2);
}
.home_page .h_en.med {
  font-size: calc(var(--ttl_size) - 3px);
}
.home_page .h_en::first-letter {
  text-transform: uppercase;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .home_page .h_en {
    letter-spacing: 0;
  }
}

@media only screen and (max-width: 1560px) and (min-width: 769px) and (max-height: 800px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.625em, 1.05vmin);
    --max-height: calc(100vh - var(--wrapper));
  }
}
@media only screen and (max-width: 1366px) and (min-width: 1281px) {
  .home_page .key {
    font-size: 1.25vmin;
    --min-height: 520px;
    --max-height: calc(100vh - var(--wrapper) - 20px);
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .home_page .key {
    font-size: 0.9vmin;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .home_page .key {
    font-size: 1vmin;
  }
  .home_page .key h2 span {
    letter-spacing: 0 !important;
    padding: 0.0698em 0.5em;
  }
  .home_page .key .jp {
    letter-spacing: 0;
  }
  .home_page .key .inner {
    width: 85%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 900px) and (orientation: landscape) and (max-height: 450px) {
  .home_page .key {
    font-size: 1.5vmin;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

.idx1 {
  padding: 80px 0 80px;
  background-image: url(../images/idx1_bg.jpg);
  background-size: 100%;
  background-position: bottom;
}
.idx1 .inner_big {
  position: relative;
}
.idx1 .inner_big::before, .idx1 .inner_big::after {
  font-size: min(1vw, 16px);
}
.idx1 .inner_big::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx_key_after.png) no-repeat center/contain;
  width: 28.9375em;
  height: 17.375em;
  top: -14.75em;
  right: -1.25em;
}
.idx1 .inner_big::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx1_icon.png) no-repeat center/contain;
  width: 11.0625em;
  height: 13.0625em;
  bottom: 7.3em;
  left: -13.75em;
}
.idx1 .fblock {
  align-items: flex-start;
}
.idx1 .idx1_box {
  background-color: #fff;
  --clr: var(--main-color);
  border: 1px solid var(--clr);
  border-radius: 20px;
  width: calc(50% - 30px);
  position: relative;
  padding-bottom: 59px;
  --w: 119px;
}
.idx1 .idx1_box:last-child {
  --clr: var(--clr2);
  margin-top: 60px;
}
.idx1 .idx1_box:last-child h3 {
  padding-top: 20px;
  padding-bottom: 26px;
}
.idx1 .idx1_box:last-child h3 .en {
  letter-spacing: 0.14em;
}
.idx1 h3 {
  writing-mode: vertical-rl;
  color: #fff;
  background-color: var(--clr);
  white-space: nowrap;
  border-radius: 17px 0px 20px 0px;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 17px 0 15px;
  letter-spacing: 0.12em;
  font-weight: 500;
  font-family: var(--f-en);
  font-size: 32px;
  line-height: 1;
  margin: 0;
}
.idx1 h3::after {
  display: none;
}
.idx1 h3 .en {
  font-weight: 700;
  letter-spacing: 0.18em;
  font-size: 20px;
  margin-top: 15px;
}
.idx1 .left {
  width: var(--w);
  position: relative;
}
.idx1 .right {
  margin-left: auto;
  width: calc(100% - var(--w));
  padding: 0 80px;
  padding-top: 50px;
}
.idx1 ul li a {
  text-decoration: none;
  border-bottom: 1px solid #c2c2c3;
  display: block;
  padding-bottom: 22px;
  position: relative;
  padding-top: 26px;
}
.idx1 ul li a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx1_news_arr.png);
  background-color: var(--clr);
  width: 0.375em;
  height: 0.625em;
  right: -0.125em;
  top: calc(50% - 6px);
}
.idx1 ul li a:hover {
  opacity: 1;
}
.idx1 ul li a span {
  display: block;
  letter-spacing: 0.1em;
  transition: 0.3s all;
}
.idx1 ul li a .date {
  font-weight: 500;
  color: var(--clr);
  line-height: 1;
  font-family: var(--f-en);
  margin-bottom: 11px;
}
.idx1 ul li a .title {
  color: var(--clr1);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .idx1 ul li a:hover {
    background-color: var(--clr);
  }
  .idx1 ul li a:hover .date,
  .idx1 ul li a:hover .title {
    color: #fff;
    padding-left: 5px;
  }
  .idx1 ul li a:hover::after {
    background-color: #fff;
    right: 5px;
  }
}
.idx1 .idx1_btn {
  margin: 22px auto 0;
  max-width: 30px;
  position: relative;
  left: -1px;
}
.idx1 .idx1_btn a {
  writing-mode: vertical-rl;
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--clr1);
  font-weight: 500;
  font-family: var(--f-notosans);
  font-size: 19px;
  width: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 36px;
  position: relative;
}
.idx1 .idx1_btn a::before, .idx1 .idx1_btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: calc(50% - 15px);
  width: 30px;
  height: 30px;
  bottom: 0;
}
.idx1 .idx1_btn a::before {
  border-radius: 50%;
  background-color: var(--clr);
}
.idx1 .idx1_btn a::after {
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx1_arr.png);
  background-color: #fff;
}
.idx1 .idx1_banner {
  border-radius: 30px;
  background: url(../images/idx1_banner.jpg) no-repeat top center/cover;
  box-shadow: 0px 5px 40px 0px rgba(80, 133, 160, 0.16);
  margin-top: 8em;
  padding-right: 5em;
  padding-left: 8.7em;
  padding-top: 5em;
  padding-bottom: 5em;
  font-size: 10px;
}
.idx1 .idx1_banner .ttl {
  font-family: var(--f-en);
  color: #fff;
  font-size: min(2.1vw, 2.7em);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.7777777778;
  padding-top: 0.2222em;
  margin: 0;
}
.idx1 .idx1_tel {
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.8);
  width: 29.9%;
  padding: 1em;
  position: relative;
}
.idx1 .idx1_tel .idx1_tel_bg {
  background: #fff url(../images/idx1_tel.jpg) no-repeat left center/auto 100%;
  padding-left: 9.2em;
  border-radius: 1em;
  text-align: center;
  padding-top: 1.9em;
  padding-bottom: 1.9em;
}
.idx1 .idx1_tel .ttl01 {
  line-height: 1;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 0.3333em;
  padding-left: 0.3em;
}
.idx1 .idx1_tel .ttl02 {
  color: var(--main-color);
  font-weight: 700;
  font-size: 2.8em;
  letter-spacing: 0.05em;
  line-height: 1;
  font-family: var(--f-en);
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx1 .inner_big::after {
    bottom: 36em;
    font-size: 0.5vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx1 .inner_big::before {
    right: 50px;
  }
  .idx1 .inner_big::after {
    bottom: 32.3em;
    left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx1 .inner_big::before {
    right: 40px;
  }
  .idx1 .inner_big::after {
    bottom: 32.3em;
    left: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx1 .inner_big::before {
    right: 80px;
  }
  .idx1 .idx1_banner {
    padding: 40px;
    align-items: center;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx1 .inner_big::after {
    font-size: min(0.5vw, 16px);
  }
  .idx1 .idx1_box {
    --w: 80px;
    padding-bottom: 20px;
  }
  .idx1 h3 {
    font-size: 24px;
  }
  .idx1 .right {
    padding: 20px;
  }
  .idx1 .idx1_banner {
    font-size: 10px;
    padding: 20px;
  }
  .idx1 .idx1_tel {
    border-radius: 10px;
    font-size: 6.5px;
  }
  .idx1 .idx1_btn a {
    font-size: 16px;
  }
}

.idx2 {
  padding: 115px 0 120px;
  background-image: url(../images/idx2_bg.jpg);
  background-position: top center;
  position: relative;
}
.idx2::before, .idx2::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: contain;
  top: 0;
  background-color: #fff;
  width: 9.25em;
  height: 8.25em;
}
.idx2::before {
  left: 0;
  mask-image: url(../images/idx2_left.png);
}
.idx2::after {
  mask-image: url(../images/idx2_right.png);
  right: 0;
}
@media only screen and (min-width: 2000px) {
  .idx2 {
    padding-bottom: 6.25vw;
  }
}
.idx2 .left {
  width: 48%;
}
.idx2 .right {
  width: 48%;
  max-width: 610px;
}
.idx2 .fblock {
  margin-top: 60px;
}
.idx2 .idx2_dl {
  margin-top: -11px;
}
.idx2 .idx2_dl dl {
  --w: 95px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 22px;
}
.idx2 .idx2_dl dl dt,
.idx2 .idx2_dl dl dd {
  font-size: 18px;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 2;
}
.idx2 .idx2_dl dl dt {
  width: var(--w);
}
.idx2 .idx2_dl dl dd {
  width: calc(100% - var(--w));
}
.idx2 .idx2_dl dl a {
  font-size: 30px;
  letter-spacing: 0.1em;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-family: var(--f-en);
  line-height: 0.9;
}
.idx2 .btn {
  margin: 33px 0 0 0;
}
.idx2 .idx2_map {
  margin-top: 73px;
}
.idx2 .idx2_map iframe {
  display: block;
  width: 100%;
  height: 320px;
  border-radius: 20px;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx2 .idx2_dl dl {
    --w: 80px;
  }
  .idx2 .idx2_dl dl dt,
  .idx2 .idx2_dl dl dd {
    font-size: 16px;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx2 {
    padding: 70px 0 120px;
  }
  .idx2 .idx2_map iframe {
    height: 299px;
  }
}

.idx3 {
  background-image: url(../images/idx3_bg.png);
  padding: 208px 0 120px;
  margin-top: -140px;
  position: relative;
}
@media only screen and (min-width: 2000px) {
  .idx3 {
    margin-top: -7.2916666667vw;
    padding: 10.8333333333vw 0 6.25vw;
  }
}
.idx3 .fblock {
  align-items: flex-start;
}
.idx3 .idx3_img {
  max-width: 720px;
  width: 50%;
  position: relative;
  z-index: 2;
}
.idx3 .idx3_img > div {
  position: relative;
}
.idx3 .idx3_txt {
  max-width: 890px;
  width: 61.8055555556%;
  background-color: #fff;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-left: -19.1011235955%;
  margin-top: 52px;
  padding: 0 11.2%;
  padding-bottom: 0.4em;
  position: relative;
  z-index: 1;
}
.idx3 .idx3_txt::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: url(../images/idx3_icon.png) no-repeat center/contain;
  width: 13.5em;
  height: 13.375em;
  top: 1.6em;
  right: 2.625em;
}
.idx3 .idx3_txt .ttl {
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 2.1111111111;
  margin: 48px 0 50px;
}
.idx3 .idx3_txt .btn {
  margin-top: 0;
  max-width: 346px;
  width: 100%;
}
.idx3 .idx3_txt .btn:not(:last-child) {
  margin-bottom: 21px;
}
.idx3 .img1 {
  margin-left: 32px;
}
.idx3 .img1 picture {
  position: relative;
}
.idx3 .img2 {
  display: table;
  margin-left: auto;
  margin-top: -179px;
  max-width: 450px;
  width: 63%;
}
@media only screen and (min-width: 1919px) {
  .idx3 .img2 {
    position: relative;
    left: 9px;
  }
}
.idx3 .img2 picture {
  position: relative;
}
.idx3 .img2 picture::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx3_img_icon.png) no-repeat center/contain;
  width: 11.0625em;
  height: 12.3125em;
  top: 4.25em;
  left: -7.25em;
}
.idx3 .idx3_name {
  position: absolute;
  font-size: 10px;
  top: 23.7em;
  left: 12em;
  display: flex;
}
.idx3 .idx3_name p {
  writing-mode: vertical-rl;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
}
.idx3 .idx3_name .en {
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  margin-top: 1.6667em;
  margin-right: 0.4444em;
}
.idx3 .idx3_name .jp {
  font-size: 3.6em;
  letter-spacing: 0;
  font-weight: 500;
  font-family: var(--f-en);
  display: flex;
}
.idx3 .idx3_name .jp span {
  letter-spacing: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.7778em;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: rgba(249, 164, 193, 0.78);
}
.idx3 .idx3_name .jp span:not(:first-child) {
  margin-top: -0.2222em;
}
.idx3 .idx3_name .jp span:nth-child(even) {
  background-color: rgba(247, 186, 207, 0.78);
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx3 .idx3_txt {
    padding: 0 14%;
  }
  .idx3 .idx3_txt .ttl {
    font-size: 16px;
    letter-spacing: 0;
    margin: 20px 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx3 {
    padding-bottom: 15vw;
  }
  .idx3 .idx3_name {
    font-size: 6px;
    top: 20em;
  }
  .idx3 .img1 {
    margin-left: 0;
  }
  .idx3 .img2 {
    margin-top: -140px;
    font-size: 10px;
  }
  .idx3 .idx3_txt {
    position: relative;
    z-index: 1;
    background: transparent;
    padding: 0 1% 0 14%;
  }
  .idx3 .idx3_txt::before {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    aspect-ratio: 1/1;
    background-color: #fff;
    inset: 0;
    z-index: -1;
    border-radius: 50%;
    transform: translateX(9%);
  }
  .idx3 .idx3_txt::after {
    font-size: 8px;
    top: 0;
    right: 0;
  }
  .idx3 .idx3_txt .ttl {
    font-size: 16px;
    letter-spacing: 0;
    margin: 1em 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx3 .idx3_txt::before {
    inset: -7em;
  }
}

.idx4 {
  background-image: url(../images/idx4_bg.png);
  padding: 118px 0 120px;
  margin-top: -101px;
  position: relative;
}
@media only screen and (min-width: 2000px) {
  .idx4 {
    padding: 6.1458333333vw 0 6.25vw;
    margin-top: -5.2604166667vw;
  }
}
.idx4 .inner_big {
  position: relative;
  z-index: 1;
}
.idx4 .inner_big::before, .idx4 .inner_big::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background-repeat: no-repeat;
  background-size: contain;
  font-size: 10px;
}
.idx4 .inner_big::before {
  background-image: url(../images/idx4_icon1.png);
  width: 5.7em;
  height: 5.7em;
  top: 6em;
  left: -2.7em;
}
.idx4 .inner_big::after {
  background-image: url(../images/idx4_icon2.png);
  top: 2.9em;
  right: -11.9em;
  width: 31.8em;
  height: 19em;
}
.idx4 .fblock {
  margin-top: 60px;
  align-items: flex-start;
}
.idx4 .idx4_img {
  background-repeat: no-repeat;
  background-size: 100%;
  background-color: #fff;
  background-image: url(../images/idx4_img_bottom.png), url(../images/idx4_img.jpg);
  background-position: bottom center, top center;
  border-radius: 40px;
  border: 1px solid var(--clr2);
  width: 50%;
  padding: 304px 50px 44px 46px;
  position: relative;
  z-index: 2;
}
.idx4 .idx4_img::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background-image: url(../images/idx4_icon3.png);
  bottom: -7.0625em;
  left: -12.5em;
  width: 9.875em;
  height: 8.8125em;
  background-repeat: no-repeat;
  background-size: contain;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx4 .idx4_img::after {
    font-size: 0.6vw;
  }
}
.idx4 .ttl01 {
  margin-bottom: 31px;
}
.idx4 .ttl01 span {
  background-color: var(--clr2);
  border-radius: 5px;
  box-decoration-break: clone;
  display: inline;
  line-height: 2.2727272727;
  font-size: 22px;
  color: #fff;
  padding: 3px 0px 9px 14px;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.idx4 .ttl01 span:last-child {
  padding-right: 17px;
}
.idx4 .idx4_btn {
  width: 50%;
  position: relative;
  z-index: 1;
  padding: 80px 62px 80px 58px;
  margin-top: 95px;
}
.idx4 .idx4_btn::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  border-radius: 40px 80px 80px 40px;
  background-color: #fff6f9;
  top: 0;
  right: 0;
  height: 100%;
  width: 150.783%;
}
.idx4 .idx4_btn .btn {
  width: 100%;
  max-width: 100%;
  margin: 0;
}
.idx4 .idx4_btn .btn:not(:last-child) {
  margin-bottom: 24px;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx4 .idx4_img::after {
    font-size: 0.6vw;
    left: 0;
    bottom: -15em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx4 {
    background-position: bottom right 50%;
  }
  .idx4 .inner_big::before, .idx4 .inner_big::after {
    font-size: 0.5vw;
  }
  .idx4 .inner_big::before {
    left: 10px;
  }
  .idx4 .inner_big::after {
    right: 10px;
  }
  .idx4 .idx4_img::after {
    left: 0;
    bottom: -13em;
  }
  .idx4 .idx4_btn::after {
    height: 110%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx4 {
    padding: 120px 0 80px;
    margin-top: -80px;
  }
  .idx4 .idx4_img {
    padding: 200px 14px 40px;
  }
  .idx4 .idx4_img .ttl01 {
    letter-spacing: 0;
    font-size: 14px;
  }
  .idx4 .idx4_img .ttl01 .jp {
    font-size: 16px;
    padding: 3px 5px 5px 5px;
  }
  .idx4 .idx4_btn {
    padding: 60px 40px;
  }
  .idx4 .idx4_btn::after {
    height: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx4 .idx4_btn .br375 {
    display: block !important;
  }
}

.idx5 {
  padding: 76px 0 120px;
  background-image: url(../images/idx5_bg.jpg);
}
.idx5 .inner_big {
  position: relative;
  z-index: 1;
}
.idx5 .inner_big::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background: url(../images/idx5_cloud.png) no-repeat center/contain;
  font-size: 10px;
  width: 69.6em;
  height: 14.1em;
  left: calc(50% - 34.6em);
  top: -2.3em;
}
.idx5 .idx5_inner {
  display: grid;
  grid-template-columns: 40% 55%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
}
.idx5 .idx5_inner .img {
  max-width: 440px;
  grid-row: 1/span 3;
}
.idx5 .idx5_inner .img img {
  border-radius: 20px;
}
@media only screen and (max-width: 1600px) {
  .idx5 .idx5_inner .img img {
    width: 100%;
  }
}
.idx5 .idx5_tab_list {
  display: flex;
  flex-wrap: wrap;
  max-width: 708px;
  margin: 60px auto 0;
  width: 78%;
  justify-content: space-between;
  position: relative;
  z-index: 4;
}
.idx5 .idx5_tab_list > div {
  cursor: pointer;
  border-radius: 20px 20px 0 0;
  width: calc(50% - 1px);
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/idx5_tab2.jpg);
  padding: 0;
  transition: 0.3s all;
}
.idx5 .idx5_tab_list > div:last-child {
  background-image: url(../images/idx5_tab1.jpg);
}
.idx5 .idx5_tab_list > div:last-child p::after {
  background-color: #fabbd0;
}
.idx5 .idx5_tab_list > div p {
  font-family: var(--f-en);
  border: 0 !important;
  line-height: 1;
  padding: 15px 0 18px;
  font-weight: 700;
  font-size: 24px;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 1;
}
.idx5 .idx5_tab_list > div p::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  top: 100%;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx5_tab_border.png);
  background-color: #48c5f3;
  width: 0.8334em;
  height: 1.25em;
  left: calc(50% - 0.4583em);
  opacity: 0;
}
.idx5 .idx5_tab_list > div p .en {
  font-size: 16px;
  display: block;
  letter-spacing: 0.05em;
  margin-bottom: 7px;
}
.idx5 .idx5_tab_list > div.active {
  background-color: var(--clr2);
}
.idx5 .idx5_tab_list > div.active p::after {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx5 .idx5_tab_list > div:not(.active):hover {
    opacity: 1;
    background: #82ca9c;
  }
}
.idx5 .TabContainer {
  padding-top: 44px;
}
.idx5 .TabContainer .TabPager {
  display: flex;
  max-width: 560px;
  margin: 0 auto;
  border-bottom: 1px solid #c4d1d8;
}
.idx5 .TabContainer .TabPager > div {
  width: 50%;
  cursor: pointer;
  padding: 0;
  margin: 0;
  background: transparent;
}
.idx5 .TabContainer .TabPager > div p {
  border: 0 !important;
  line-height: 1.5;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.1em;
  color: rgba(87, 101, 106, 0.5);
  text-align: center;
  padding: 0;
  padding-bottom: 0.7em;
  position: relative;
  width: 100%;
  transition: 0.3s all;
}
.idx5 .TabContainer .TabPager > div p::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  right: 0;
  bottom: -0.1em;
  height: 0.1em;
}
.idx5 .TabContainer .TabPager > div p::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx5_tab_icon2.png) no-repeat center/contain;
  height: 0.5em;
  width: 0.5em;
  left: calc(50% - 0.25em);
  top: calc(100% + 0.05em);
  opacity: 0;
}
.idx5 .TabContainer .TabPager > div.active p {
  color: var(--clr1);
}
.idx5 .TabContainer .TabPager > div.active p::before {
  background-color: var(--main-color);
}
.idx5 .TabContainer .TabPager > div.active p::after {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx5 .TabContainer .TabPager > div:not(.active):hover p {
    color: var(--main-color);
  }
}
.idx5 .TabContainer .TabContent .content {
  background: transparent;
}
.idx5 .idx5_tab {
  padding: 80px 0 60px;
}
.idx5 .idx5_tab .inner {
  max-width: 1160px;
}
.idx5 .idx5_tab .ttl01 {
  font-size: 30px;
  font-weight: 700;
  color: var(--clr);
  font-family: var(--f-en);
  line-height: 1.5;
  margin: -6px 0 30px 0px;
  letter-spacing: 0.14em;
  position: relative;
  z-index: 1;
  max-width: fit-content;
}
.idx5 .idx5_tab .ttl01::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background-color: #dbeff7;
  border-radius: 9.5px;
  height: 0.6333em;
  bottom: -0.0667em;
  left: -0.3333em;
  right: -0.3333em;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .idx5 .idx5_tab .ttl02 {
    font-size: 18px;
    line-height: 2.1111111111;
  }
}
@media only screen and (min-width: 769px) {
  .idx5 .tab2 {
    padding: 0 20px;
  }
}
.idx5 .tab2 .idx5_tab .ttl01::after {
  background-color: #faeff3;
}
.idx5 .bg {
  border-radius: 40px;
  margin-top: 39px;
  background: linear-gradient(to top, rgb(238, 244, 250) 0%, rgb(250, 250, 250) 100%);
  padding: 0 0 20px;
}
@media only screen and (min-width: 1919px) {
  .idx5 .btn-group {
    position: relative;
    left: -5px;
  }
  .idx5 .btn-group .btn:first-child a {
    padding-right: 60px;
  }
}
.idx5 .idx5_list {
  margin-top: 52px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: -10px;
  margin-right: -10px;
}
.idx5 .idx5_list > div {
  width: calc(33.3333333333% - 20px);
  margin: 0 10px;
  margin-bottom: 20px;
  position: relative;
  transition: 0.3s all;
  border-radius: 20px;
}
.idx5 .idx5_list > div a {
  z-index: 2;
}
.idx5 .idx5_list > div a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-image: url(../images/idx_arr.png);
  mask-repeat: no-repeat;
  background-color: var(--clr);
  mask-size: contain;
  width: 6px;
  height: 10px;
  top: calc(50% - 6px);
  right: 1.1875em;
}
@media only screen and (min-width: 769px) {
  .idx5 .idx5_list > div a:hover::after {
    background-color: #fff !important;
  }
}
.idx5 .idx5_list > div .ttl {
  transition: 0.3s all;
  width: 100%;
  min-height: 4.1em;
  font-size: 20px;
  letter-spacing: 0.1em;
  color: var(--clr1);
  text-decoration: none;
  border: 1px solid var(--clr);
  border-radius: 20px;
  position: relative;
  z-index: 1;
  background: var(--clr);
  display: flex;
  align-items: center;
  padding-left: 0.65em;
  padding-bottom: 0.1em;
  line-height: 1.3;
}
.idx5 .idx5_list > div .ttl::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background-color: #fff;
  inset: 0 0 2px 0;
  border-radius: 19px;
}
.idx5 .idx5_list > div .ttl::before {
  content: "";
  display: block;
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: 0.3s all;
  background-color: var(--clr);
  width: 2.5em;
  height: 2.5em;
  margin-right: 0.4em;
  position: relative;
  top: 0.05em;
}
@media only screen and (min-width: 769px) {
  .idx5 .idx5_list > div:hover {
    --clr: var(--main-color);
  }
  .idx5 .idx5_list > div:hover .ttl {
    color: #fff;
  }
  .idx5 .idx5_list > div:hover .ttl::after {
    background-color: var(--clr);
  }
  .idx5 .idx5_list > div:hover .ttl::before {
    background-color: #fff;
  }
}
.idx5 .idx5_list .icon1 .ttl::before {
  mask-image: url(../images/idx5_icon1.png);
}
.idx5 .idx5_list .icon2 .ttl::before {
  mask-image: url(../images/idx5_icon2.png);
}
.idx5 .idx5_list .icon3 .ttl::before {
  mask-image: url(../images/idx5_icon3.png);
}
.idx5 .idx5_list .icon4 .ttl::before {
  mask-image: url(../images/idx5_icon4.png);
}
.idx5 .idx5_list .icon5 .ttl::before {
  mask-image: url(../images/idx5_icon5.png);
}
.idx5 .idx5_list .icon6 .ttl::before {
  mask-image: url(../images/idx5_icon6.png);
}
.idx5 .idx5_list .icon7 .ttl::before {
  mask-image: url(../images/idx5_icon7.png);
}
.idx5 .idx5_list .icon8 .ttl::before {
  mask-image: url(../images/idx5_icon8.png);
}
.idx5 .idx5_list .icon9 .ttl::before {
  mask-image: url(../images/idx5_icon9.png);
}
.idx5 .idx5_list .icon10 .ttl::before {
  mask-image: url(../images/idx5_icon10.png);
}
.idx5 .idx5_list .icon11 .ttl::before {
  mask-image: url(../images/idx5_icon11.png);
}
.idx5 .idx5_list .icon12 .ttl::before {
  mask-image: url(../images/idx5_icon12.png);
}
.idx5 .idx5_list .icon13 .ttl::before {
  mask-image: url(../images/idx5_icon13.png);
}
.idx5 .idx5_list .icon14 .ttl::before {
  mask-image: url(../images/idx5_icon14.png);
}
.idx5 .idx5_list .icon15 .ttl::before {
  mask-image: url(../images/idx5_icon15.png);
}
.idx5 .idx5_list .icon16 .ttl::before {
  mask-image: url(../images/idx5_icon16.png);
}
.idx5 .idx5_list .icon17 .ttl::before {
  mask-image: url(../images/idx5_icon17.png);
}
.idx5 .idx5_list .iconnew1 .ttl::before {
  mask-image: url(../images/iconnew1.png);
}
.idx5 .idx5_list .iconnew2 .ttl::before {
  mask-image: url(../images/iconnew2.png);
}
.idx5 .idx5_list .iconnew3 .ttl::before {
  mask-image: url(../images/iconnew3.png);
}
.idx5 .idx5_list .iconnew4 .ttl::before {
  mask-image: url(../images/iconnew4.png);
}
.idx5 .idx5_list .iconnew5 .ttl::before {
  mask-image: url(../images/iconnew5.png);
}
.idx5 .idx5_list .iconnew6 .ttl::before {
  mask-image: url(../images/iconnew6.png);
}
.idx5 .idx5_list .icon4 .ttl {
  letter-spacing: 0.05em;
}
.idx5 .idx5_tab_small .inner {
  max-width: 1160px;
}
@media only screen and (min-width: 769px) {
  .idx5 .tab2 .idx5_list > div:hover {
    --clr: var(--clr2);
  }
  .idx5 .tab2 .idx5_list > div:hover .ttl {
    color: #fff;
  }
  .idx5 .tab2 .idx5_list > div:hover .ttl::after {
    background-color: var(--clr);
  }
  .idx5 .tab2 .idx5_list > div:hover .ttl::before {
    background-color: #fff;
  }
}
.idx5 .idx5_tab_list_content {
  background-color: #fff;
  border-radius: 80px;
  box-shadow: 0px 5px 38px 2px rgba(99, 112, 119, 0.05);
}
.idx5 .idx5_tab_list_content > div {
  --clr: var(--main-color);
}
.idx5 .idx5_tab_list_content > div:last-child {
  --clr: var(--clr2);
}
.idx5 .idx5_tab_list_content > div {
  display: none;
  padding: 0 40px;
}
.idx5 .idx5_tab_list_content > div.active {
  display: block;
}
@media only screen and (min-width: 1919px) {
  .idx5 .idx5_inner2 {
    grid-template-columns: 40% 59%;
  }
  .idx5 .idx5_inner2 .ttl01 {
    margin-bottom: 22px;
  }
  .idx5 .btn-group {
    margin: 30px 0 0 0;
    left: 3px;
    width: 673px;
  }
  .idx5 .btn-group .btn:first-child a {
    padding-right: 44px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx5 .idx5_tab .ttl01 {
    font-size: 26px;
    letter-spacing: 0;
  }
  .idx5 .idx5_tab .ttl02 {
    font-size: 16px;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx5 {
    padding: 80px 0;
  }
  .idx5 .idx5_tab {
    padding: 60px 0 40px;
  }
  .idx5 .idx5_tab_list_content > div {
    padding: 0;
  }
  .idx5 .tab1 .btn-group .btn {
    width: calc(50% - 5px);
  }
  .idx5 .tab1 .btn-group.col3 .btn {
    width: calc(50% - 5px);
  }
  .idx5 .tab1 .btn-group.col3 .btn:not(:last-child) {
    margin-bottom: 10px;
  }
  .idx5 .tab1 .btn-group.col3 .btn:last-child {
    margin-left: auto;
    margin-right: auto;
  }
  .idx5 .idx5_list {
    margin-left: -5px;
    margin-right: -5px;
  }
  .idx5 .idx5_list > div {
    width: calc(33.3333333333% - 10px);
    margin: 0 5px 10px;
  }
  .idx5 .idx5_list > div .ttl {
    letter-spacing: 0;
    font-size: 16px;
    line-height: 1.5;
    padding-right: 2em;
  }
  .idx5 .bg {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 20px);
  }
}

.idx6 {
  background-image: url(../images/idx6_bg.jpg);
  background-position: top right;
  padding: 116px 0 204px;
}
.idx6 .inner_big {
  position: relative;
  z-index: 1;
}
.idx6 .inner_big::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx6_icon.png) no-repeat center/contain;
  font-size: 10px;
  width: 15.1em;
  height: 19em;
  top: 2.4em;
  left: -9.2em;
}
.idx6 .TabContainer {
  padding-top: 60px;
  position: relative;
  z-index: 1;
}
.idx6 .TabContainer::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx6_box_icon.png) no-repeat center/contain;
  font-size: min(0.6vw, 10px);
  width: 15.1em;
  height: 14.9em;
  right: 3.3em;
  bottom: -0.3em;
  z-index: 2;
}
.idx6 .TabContainer .TabPager {
  max-width: 1062px;
  margin: 0 auto;
  width: 90%;
  justify-content: space-between;
  position: relative;
  z-index: 4;
}
.idx6 .TabContainer .TabPager > div {
  width: calc(50% - 1px);
  padding: 0;
  background-position: top center;
  background-size: cover;
  border-radius: 20px 20px 0 0;
  transition: 0.3s all;
  position: relative;
  z-index: 1;
}
.idx6 .TabContainer .TabPager > div::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  z-index: -1;
  border-radius: 20px 20px 0 0;
  background-size: cover;
  background-repeat: no-repeat;
}
.idx6 .TabContainer .TabPager > div p {
  color: #fff;
  border: 0 !important;
  padding: 0;
  line-height: 1.5;
  text-align: center;
  font-family: var(--f-en);
  font-weight: 700;
  font-size: 24px;
  padding: 0.625em 0 0.5417em;
  position: relative;
  z-index: 1;
}
.idx6 .TabContainer .TabPager > div p::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 100%;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx5_tab_border.png);
  background-color: #f6b983;
  width: 0.8334em;
  height: 1.25em;
  left: calc(50% - 0.4em);
  opacity: 0;
}
.idx6 .TabContainer .TabPager > div p .en {
  font-size: 0.6667em;
  letter-spacing: 0.05em;
  line-height: 1;
  display: block;
}
.idx6 .TabContainer .TabPager > div.active p::after {
  opacity: 1;
}
.idx6 .TabContainer .TabPager > div:first-child::after {
  background-image: url(../images/idx6_tab1.jpg);
}
.idx6 .TabContainer .TabPager > div:nth-child(2)::after {
  background-image: url(../images/idx6_tab2.jpg);
}
.idx6 .TabContainer .TabPager > div:nth-child(2) p::after {
  background-color: #61d7d2;
}
.idx6 .TabContainer .TabPager > div:last-child::after {
  background-image: url(../images/idx6_tab3.jpg);
}
.idx6 .TabContainer .TabPager > div:last-child p::after {
  background-color: #b6d78c;
}
@media only screen and (min-width: 769px) {
  .idx6 .TabContainer .TabPager > div:not(.active):hover {
    background: var(--main-color);
  }
  .idx6 .TabContainer .TabPager > div:not(.active):hover::after {
    opacity: 0;
  }
}
.idx6 .TabContainer .TabContent {
  box-shadow: 0px 5px 38px 2px rgba(99, 112, 119, 0.1);
  background-color: #fff;
  border-radius: 40px;
}
.idx6 .TabContainer .TabContent .content {
  background: transparent;
}
.idx6 .inner {
  max-width: 1280px;
}
.idx6 .idx6_tab {
  padding: 20px 0;
}
.idx6 .idx6_box {
  border-width: 2px;
  border-color: rgb(243, 157, 87);
  border-style: dotted;
  border-radius: 20px;
  padding: 58px 0;
}
.idx6 .idx6_inner {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 51% 43.6%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
  padding: 0 20px;
}
.idx6 .idx6_inner .img {
  max-width: 560px;
  grid-row: 1/span 3;
}
.idx6 .idx6_inner .img img {
  border-radius: 190px;
  border: 2px solid rgb(247, 230, 217);
}
.idx6 .idx6_inner .ttl01 {
  line-height: 1.5;
  letter-spacing: 0.14em;
  font-size: 30px;
  font-weight: 700;
  color: navajowhite;
  font-family: var(--f-en);
  margin: 0.9em 0 0.5667em;
  max-width: fit-content;
  position: relative;
}
.idx6 .idx6_inner .ttl01::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background-color: #f7e6d9;
  border-radius: 9.5px;
  height: 0.6333em;
  bottom: -0.0667em;
  left: -0.4667em;
  right: -0.3667em;
  z-index: -1;
}
.idx6 .idx6_inner .ttl02 {
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 769px) {
  .idx6 .idx6_inner .ttl02 {
    font-size: 18px;
    line-height: 2.1111111111;
  }
}
.idx6 .idx6_inner .btn {
  max-width: 392px;
  margin: 30px 0 0 -14px;
}
.idx6 .tab1 .ttl01 {
  color: #f39d57;
}
.idx6 .tab2 .img img {
  border-color: rgb(231, 241, 218);
}
.idx6 .tab2 .ttl01 {
  color: #99c861;
}
.idx6 .tab2 .ttl01::after {
  background-color: #e7f1da;
}
.idx6 .tab3 .ttl01 {
  color: #99c861;
}
.idx6 .tab3 .ttl01::after {
  background-color: #e7f1da;
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx6 .inner_big::before {
    left: 5px;
    font-size: min(0.6vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx6 .idx6_inner .ttl01 {
    letter-spacing: 0;
    font-size: 26px;
  }
  .idx6 .idx6_inner .ttl02 {
    font-size: 16px;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx6 {
    padding: 80px 0;
    background-size: 100%;
  }
}

.idx7 {
  background-image: url(../images/idx7_bg.png);
  background-position: top center;
  padding: 254px 0 327px;
  margin-top: -148px;
}
@media only screen and (min-width: 2000px) {
  .idx7 {
    padding: 13.2291666667vw 0 17.03125vw;
    margin-top: -7.7083333333vw;
  }
}
.idx7 .fblock {
  margin-top: 60px;
  align-items: flex-start;
}
.idx7 .idx7_img {
  position: relative;
  z-index: 1;
  width: 58.1944444444%;
}
.idx7 .idx7_img::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: 30px;
  left: -30px;
  width: 100%;
  height: 100%;
  background-color: var(--main-color);
  border-radius: 80px;
  z-index: -1;
}
.idx7 .idx7_img img {
  border-radius: 80px;
}
.idx7 .idx7_txt {
  background-color: #fff;
  width: 56.5972222222%;
  margin-left: -26.1349693252%;
  position: relative;
  z-index: 2;
  border-radius: 80px;
  margin-top: 91px;
  padding: 72px 20px 80px;
  position: relative;
  z-index: 1;
}
.idx7 .idx7_txt::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx7_icon.png) no-repeat center/contain;
  width: 22.2em;
  height: 22.2em;
  bottom: calc(100% + 5.5em);
  right: 14.9em;
  font-size: min(0.7vw, 10px);
}
.idx7 .idx7_txt::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  top: -20px;
  z-index: -1;
  left: 20px;
  width: 100.5%;
  height: 100.5%;
  border-width: 4px;
  border-color: rgb(249, 169, 196);
  border-style: dotted;
  border-radius: 80px;
}
.idx7 .idx7_txt .ttl01 {
  line-height: 1.5;
  text-align: center;
  font-weight: 700;
  font-size: 30px;
  font-family: var(--f-en);
  color: var(--clr2);
  position: relative;
  z-index: 1;
  max-width: fit-content;
  margin: 0 auto;
}
.idx7 .idx7_txt .ttl01::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background-color: #faeff3;
  border-radius: 9.5px;
  height: 0.6333em;
  bottom: -0.0667em;
  left: -0.3333em;
  right: -0.3333em;
  z-index: -1;
}
.idx7 .idx7_txt .txt {
  width: 82%;
  margin: 29px auto 30px;
}
.idx7 .idx7_txt .txt p {
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .idx7 .idx7_txt .txt p {
    font-size: 18px;
    line-height: 2.1111111111;
  }
  .idx7 .idx7_txt .txt p:not(:last-child) {
    margin-bottom: 10px;
  }
}
.idx7 .btn {
  max-width: 392px;
  margin: 0 auto;
}
.idx7 .btn a {
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx7 .idx7_img {
    margin-left: 30px;
  }
  .idx7 .idx7_txt {
    margin-right: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx7 .idx7_txt .ttl01 {
    letter-spacing: 0;
    font-size: 26px;
  }
  .idx7 .idx7_txt .txt p {
    letter-spacing: 0;
    font-size: 16px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx7 {
    padding: 150px 0;
    margin-top: 0;
    background-image: url(../images/idx7_bg_sp.png);
  }
  .idx7 .idx7_img {
    margin-left: 20px;
  }
  .idx7 .idx7_img::after {
    left: -20px;
    top: 20px;
  }
  .idx7 .idx7_txt .ttl01 {
    letter-spacing: 0;
    font-size: 26px;
  }
  .idx7 .idx7_txt .ttl01::after {
    display: none;
  }
  .idx7 .idx7_txt .ttl01 .jp {
    display: block;
    position: relative;
    z-index: 1;
  }
  .idx7 .idx7_txt .ttl01 .jp::after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    background-color: #faeff3;
    border-radius: 9.5px;
    height: 0.6333em;
    bottom: -0.0667em;
    left: -0.3333em;
    right: -0.3333em;
    z-index: -1;
  }
  .idx7 .idx7_txt .txt p {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx7 .btn {
    max-width: 320px;
  }
}

.idx8 {
  background-image: url(../images/idx8_bg.png);
  padding: 116px 0 120px;
  margin-top: -207px;
}
@media only screen and (min-width: 2000px) {
  .idx8 {
    padding-top: 6.0416666667vw;
    margin-top: -10.78125vw;
  }
}
.idx8 .inner_big {
  position: relative;
  z-index: 1;
}
.idx8 .inner_big::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx8_icon.png) no-repeat center/contain;
  font-size: min(1vw, 10px);
  width: 38.1em;
  height: 26.1em;
  top: -13.7em;
  left: -28.1em;
}
@media only screen and (min-width: 2000px) {
  .idx8 .inner_big::before {
    top: -9vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx8 .inner_big::before {
    font-size: 0.6vw;
    left: -10em;
  }
}
.idx8 .inner_big::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background: url(../images/idx8_icon2.png) no-repeat center/contain;
  font-size: min(1vw, 10px);
  width: 12.4em;
  height: 15.1em;
  bottom: -18.2em;
  right: -18.5em;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx8 .inner_big::after {
    font-size: 0.6vw;
    right: -10em;
  }
}
.idx8 .fblock {
  margin-top: 60px;
}
.idx8 .left {
  width: 45%;
  max-width: 572px;
  padding-top: 2px;
}
.idx8 .right {
  align-self: flex-start;
  width: 75%;
  margin-right: -25%;
}
.idx8 ul {
  counter-reset: count;
}
.idx8 ul li:not(:last-child) {
  margin-bottom: 24px;
}
.idx8 ul li .ttl {
  cursor: pointer;
  display: flex;
  height: 4.1em;
  align-items: center;
  color: var(--clr1);
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-size: 20px;
  background-color: var(--clr2);
  position: relative;
  z-index: 1;
  text-decoration: none;
  border-radius: 20px;
  border: 1px solid var(--clr2);
  padding-left: 1.35em;
  padding-bottom: 0.1em;
  transition: 0.3s all;
}
.idx8 ul li .ttl .num {
  color: var(--clr2);
  font-size: 1.5em;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-family: var(--f-en);
  margin-right: 0.4333em;
  transition: 0.3s all;
}
.idx8 ul li .ttl::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  border-radius: 19px;
  bottom: 2px;
  background-color: #fff;
  top: 0px;
  left: 0;
  right: 0;
}
.idx8 ul li .ttl::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-image: url(../images/idx_arr.png);
  mask-repeat: no-repeat;
  background-color: var(--clr2);
  mask-size: contain;
  width: 6px;
  height: 10px;
  top: calc(50% - 5px);
  right: 1.35em;
}
.idx8 ul li .ttl:hover {
  opacity: 1;
  color: var(--clr1);
}
@media only screen and (min-width: 769px) {
  .idx8 ul li .ttl:not(.active):hover {
    color: #fff;
  }
  .idx8 ul li .ttl:not(.active):hover .num {
    color: #fff;
  }
  .idx8 ul li .ttl:not(.active):hover::before {
    background: transparent;
  }
  .idx8 ul li .ttl:not(.active):hover::before {
    color: #fff;
  }
  .idx8 ul li .ttl:not(.active):hover::after {
    background-color: #fff;
  }
}
.idx8 ul li .ttl.active {
  height: 4em;
  color: #fff;
}
.idx8 ul li .ttl.active .num {
  color: #fff;
}
.idx8 ul li .ttl.active::before {
  background: transparent;
}
.idx8 ul li .ttl.active::before {
  color: #fff;
}
.idx8 ul li .ttl.active::after {
  background-color: #fff;
}
.idx8 .img img {
  box-shadow: 0px 0px 40px 0px rgba(179, 147, 158, 0.16);
  border-radius: 80px 0 0 80px;
}
.idx8 .btn {
  margin: 45px auto 0;
  max-width: 392px;
}
.idx8 .fblock .right {
  position: relative;
}
.idx8 .tab {
  display: none;
}
.idx8 .tab.active {
  display: block;
}
.idx8 .right .txt {
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 0 80px 0 80px;
  padding: 20px 40px 20px 76px;
  max-width: 640px;
  width: 80%;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.idx8 .right .txt .num {
  background: url(../images/idx8_num.png) no-repeat center/contain;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  top: 0.75em;
  right: 0.75em;
  font-family: var(--f-en);
  font-size: 40px;
  font-weight: 300;
  letter-spacing: 0;
  width: 2em;
  height: 2em;
  color: var(--clr2);
  padding-bottom: 0.1em;
  padding-left: 0.05em;
}
.idx8 .right .txt .ttl01 {
  line-height: 1.7142857143;
  font-family: var(--f-en);
  font-size: 28px;
  letter-spacing: 0.1em;
  color: var(--clr1);
  font-weight: 700;
  margin-bottom: 0.5em;
}
.idx8 .right .txt .ttl02 {
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  width: 84%;
}
.idx8 .right .btn {
  margin: 0 0 0 auto;
  max-width: 100%;
  width: 250px;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx8 .right {
    width: 63%;
    margin-right: -13%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx8 .inner_big::before {
    left: 0;
  }
  .idx8 .right {
    width: 56%;
    margin-right: -6%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx8 .inner_big::before {
    left: 10px;
  }
  .idx8 .inner_big::after {
    right: 10px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx8 .right {
    width: 54%;
    margin-right: -3%;
  }
  .idx8 ul li .ttl {
    letter-spacing: 0;
    font-size: 18px;
  }
  .idx8 .right {
    width: 53%;
    margin-right: -40px;
  }
  .idx8 .right .txt {
    height: 200px;
    padding: 0 40px;
  }
  .idx8 .right .txt .ttl01 {
    letter-spacing: 0;
    font-size: 20px;
  }
  .idx8 .right .txt .ttl02 {
    font-size: 16px;
    letter-spacing: 0;
    width: 90%;
  }
  .idx8 .right .txt .num {
    font-size: 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .idx8 .inner_big::before {
    left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx8 {
    margin-top: -80px;
    padding: 80px 0 80px;
  }
  .idx8 .inner_big::before {
    left: 10px;
  }
  .idx8 .inner_big::after {
    right: 10px;
    bottom: -22em;
  }
  .idx8 ul li .ttl {
    letter-spacing: 0;
    font-size: 16px;
  }
  .idx8 .right {
    width: 53%;
    margin-right: -20px;
  }
  .idx8 .right .txt {
    height: unset;
    min-height: 155px;
    padding: 30px 30px 30px;
  }
  .idx8 .right .txt .ttl01 {
    letter-spacing: 0;
    font-size: 16px;
  }
  .idx8 .right .txt .ttl02 {
    font-size: 14px;
    letter-spacing: 0;
    width: 100%;
  }
  .idx8 .right .txt .num {
    font-size: 25px;
    right: 1.5em;
    top: 0.5em;
  }
  .idx8 .right .btn {
    max-width: 200px;
  }
  .idx8 .img img {
    object-fit: cover;
    height: 60vw;
  }
}

.idx9 {
  padding: 120px 0 119px;
}
.idx9 .h_en {
  text-align: left;
}
.idx9 .inner_max {
  display: grid;
  grid-template-columns: 42% 50%;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
}
.idx9 .h_en {
  margin-bottom: 16px;
}
.idx9 .idx9_img {
  grid-row: 1/span 3;
  position: relative;
}
.idx9 .idx9_img img {
  border-radius: 40px;
}
.idx9 .idx9_h3 {
  margin: 59px 0 20px;
}
.idx9 h3 {
  font-size: min(6vw, var(--ttl_size) + 8px);
}
.idx9 h3::after {
  margin-left: 0;
  margin-top: 15px;
}
.idx9 .txt {
  padding: 26px 0;
  width: 90%;
}
.idx9 .txt p {
  font-size: 18px;
  line-height: 2.1111111111;
}
.idx9 .txt p:not(:last-child) {
  margin-bottom: 10px;
}
.idx9 .idx9_name {
  background: #fffcf7;
  position: absolute;
  bottom: -7.7em;
  right: -7.1em;
  border-radius: 24px;
  border: 1px solid var(--clr2);
  width: 35.4em;
  height: 23.1em;
  text-align: center;
  padding: 3.3em 0;
  font-size: min(1vw, 10px);
}
.idx9 .idx9_name picture {
  display: table;
  margin: 0 auto;
  max-width: 16.3em;
}
.idx9 .idx9_name picture img {
  width: 100%;
}
.idx9 .idx9_name .ttl {
  font-size: 2em;
  font-family: var(--f-en);
  color: #57656a;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-top: -0.2em;
}
.idx9 .idx9_name::after, .idx9 .idx9_name::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 3em;
  height: 3em;
  bottom: 0.9em;
  right: 0.9em;
}
.idx9 .idx9_name::before {
  border-radius: 50%;
  background-color: var(--clr2);
}
.idx9 .idx9_name::after {
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/idx9_arr.png);
  background-color: #fff;
}
.idx9 .idx9_video {
  margin: 111px 0 60px;
  position: relative;
  z-index: 1;
  padding: 60px 0 88px;
}
.idx9 .idx9_video::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  width: 1280px;
  max-width: calc(100% - 40px);
  border-radius: 40px;
  bottom: 0;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #e7f6fe;
}
.idx9 .slider iframe {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 101%;
  transform: translate(-50%, -50%);
}
.idx9 .slider .item {
  width: 37.5vw;
  transform: scale(0.76);
  transition: transform 0.35s ease;
}
.idx9 .slider .item .video {
  border-radius: 20px;
  border: 1px solid #fff;
  overflow: hidden;
  position: relative;
  padding-bottom: 56.25%;
}
.idx9 .slider .slick-center {
  transform: scale(1);
}
.idx9 .slider iframe {
  width: 100%;
  display: block;
  border-radius: 20px;
  border: 1px solid #fff;
}
.idx9 .slider .slick-slide {
  padding: 0 0px;
}
.idx9 .slider .slick-list {
  margin: 0;
  padding: 0 0;
  overflow: visible;
}
.idx9 .slider .slick-track {
  display: flex;
  align-items: center;
}
.idx9 .slider .slick-list {
  overflow: visible;
}
.idx9 .slider .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
}
.idx9 .slider .slick-arrow {
  width: 60px;
  height: 60px;
  background-color: #fff;
  border-radius: 50%;
  top: 50%;
  z-index: 2;
  box-shadow: 0px 3px 0px 0px rgb(249, 164, 193);
  transition: 0.3s all;
}
.idx9 .slider .slick-arrow::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: var(--main-color);
}

 .idx9 .slick-dots {
  position: absolute;
  bottom: -2.75em;
  left: 0;
  right: 0;
  display: flex !important;
  justify-content: center;
  gap: 1.25em;

}
 .idx9 .slick-dots .slick-active button {
  color: var(--main-color);
  cursor: default;
}
 .idx9 .slick-dots .slick-active button::before {
  background-color: #fff;
}
 .idx9 .slick-dots button {
  width: 2.1428em;
  height: 2.1428em;
  position: relative;
  z-index: 0;
  background: transparent;
  outline: none;
  border: none;
  cursor: pointer;
  font-size: 0.875em;
  color: var(--main-color);
  transition: all 0.3s ease;
 
}
 .idx9 .slick-dots button::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--main-color);
  transition: all 0.3s ease;
 border-radius: 50%;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .idx9 .slider .slick-arrow:hover {
    background-color: var(--clr2);
    box-shadow: none;
  }
  .idx9 .slider .slick-arrow:hover::after {
    background-color: #fff;
  }
   .idx9 .slick-dots li:hover button {
  color: var(--main-color);
  cursor: pointer;
}
 .idx9 .slick-dots  li:hover button::before {
  background-color: #fff;
}
}
.idx9 .slider .slick-prev {
  left: 29.5vw;
}
.idx9 .slider .slick-prev::after {
  mask-image: url(../images/idx9_arr_left.png);
}
@media only screen and (min-width: 2000px) {
  .idx9 .slider .slick-prev {
    left: 30.5vw;
  }
}
.idx9 .slider .slick-next {
  right: 29.5vw;
}
.idx9 .slider .slick-next::after {
  mask-image: url(../images/idx9_arr_right.png);
}
@media only screen and (min-width: 2000px) {
  .idx9 .slider .slick-next {
    right: 30.5vw;
  }
}
.idx9 .btn {
  max-width: 392px;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .idx9 .slider iframe {
    height: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .idx9 .slider .slick-arrow {
    width: 40px;
    height: 40px;
  }
  .idx9 .slider iframe {
    height: 101%;
    width: 102%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .idx9 .txt p {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx9 .idx9_video {
    margin: 60px 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx9 {
    padding: 80px 0;
  }
  .idx9 .idx9_name {
    bottom: -20px;
    right: -20px;
    font-size: 0.8vw;
  }
  .idx9 .idx9_name::before, .idx9 .idx9_name::after {
    bottom: 10px;
    right: 10px;
  }
  .idx9 .idx9_video {
    margin: 60px 0;
  }
  .idx9 .slider .item {
    width: 42.5vw;
  }
  .idx9 .slider .slick-arrow {
    width: 40px;
    height: 40px;
  }
  .idx9 .slider .slick-next {
    right: 25.5vw;
  }
  .idx9 .slider .slick-prev {
    left: 25.5vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .idx9 h3 {
    white-space: nowrap;
  }
}