.home_page .key {
  position: relative;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  z-index: 0;
}
.home_page .key::after {
  content: "";
  position: absolute;
  width: 100%;
  background: url(../images/idx_key_decor06.svg) repeat-x center/127.8em 20.8em;
}
.home_page .key_decor {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.home_page .key_decor .item {
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.home_page .key_decor .item1 {
  aspect-ratio: 240/204;
  background-image: url(../images/idx_key_decor01.png);
}
.home_page .key_decor .item3 {
  aspect-ratio: 906/903;
  background-image: url(../images/idx_key_decor03.png);
}
.home_page .key_decor .item4 {
  aspect-ratio: 274/336;
  background-image: url(../images/idx_key_decor04.png);
}
.home_page .key_decor .item5 {
  aspect-ratio: 210/280;
  background-image: url(../images/idx_key_decor05.png);
}
.home_page .key_text {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 100%;
}
.home_page .key_text::after {
  content: "";
  background: url("../images/idx_key_img.jpg") no-repeat center/cover;
}
.home_page .key .catch {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 0;
}
.home_page .key .catch::after {
  content: "";
  position: absolute;
  --mask: url(../images/idx_key_catch_mask.svg);
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: -1;
}
.home_page .key .catch .title {
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--main-color);
}
.home_page .key .catch .title .lt {
  letter-spacing: 0.1em;
}
.home_page .key .catch .desc {
  font-weight: 700;
  line-height: 1.5;
}
.home_page .key .catch .desc .lg {
  display: block;
  color: var(--main-color);
}
.home_page .key .time_sheet {
  position: relative;
  z-index: 2;
  margin-bottom: 3em;
}
.home_page .key .link {
  position: absolute;
  z-index: 1;
}
.home_page .key .link a {
  position: relative;
  width: 100%;
  height: 100%;
  border: 1px solid var(--clr-red2);
  border-radius: 999em;
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.1em;
  background-image: linear-gradient(180deg, #fa7800 15%, #fa5200 100%);
}
.home_page .key .link a::after {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  background: url("../images/ico_arrow03.png") no-repeat center/cover;
}
.home_page .key .btn_tel {
  position: relative;
  z-index: 2;
}
.home_page .key .btn_tel a {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 2.3077em;
  max-width: 12.3077em;
  border-radius: 999em;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .home_page .key {
    --height: 57vw;
    --min-height: 420px;
    --max-height: 720px;
    font-size: min(0.785vw, 10px);
  }
  .home_page .key::after {
    height: 21em;
    top: calc(100% - 10.5em);
  }
  .home_page .key_decor .item1 {
    width: 12em;
    top: 13.4em;
    left: 6.2em;
  }
  .home_page .key_decor .item2 {
    width: 20.1em;
    aspect-ratio: 404/352;
    top: 9em;
    right: -3.6em;
    background-image: url(../images/idx_key_decor02.png);
  }
  .home_page .key_decor .item3 {
    width: 21.7em;
    top: 39.6em;
    left: 58.2em;
  }
  .home_page .key_decor .item4 {
    width: 13.7em;
    top: 12.3em;
    left: 55em;
  }
  .home_page .key_decor .item5 {
    width: 10.5em;
    top: 30.3em;
    left: 65.6em;
  }
  .home_page .key_text {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    max-width: 128em;
    padding: var(--wrapper) min(7.8125vw, 100px) 25px;
  }
  .home_page .key_text::after {
    position: absolute;
    width: 48vw;
    height: 83.334%;
    max-height: 600px;
    bottom: -0.1em;
    left: calc(100% - 57.3em + 1.5em);
    border-top-left-radius: 6em;
  }
  .home_page .key .catch {
    width: 52.7em;
    aspect-ratio: 527/323;
  }
  .home_page .key .catch::after {
    width: 112%;
    max-width: 587px;
    aspect-ratio: 273/150;
  }
  .home_page .key .catch .title {
    padding-top: 0.4444em;
    font-size: 4.5em;
    line-height: 1.6666666667;
    margin-bottom: 0.2222em;
  }
  .home_page .key .catch .title .sm {
    font-size: 0.8em;
  }
  .home_page .key .catch .desc {
    font-size: 2.4em;
    letter-spacing: 0.1em;
  }
  .home_page .key .catch .desc .lg {
    font-size: 1.6em;
  }
  .home_page .key .link {
    font-size: max(7.75px, 1em);
    right: 10em;
    bottom: 25px;
    width: 25.2em;
    height: 6.1em;
  }
  .home_page .key .link a {
    font-size: 1.6em;
    padding: 0.3125em 1.25em 0.4375em;
  }
  .home_page .key .link a::after {
    width: round(1.25em, 1px);
    top: calc(50% - 0.625em);
    right: 0.9375em;
  }
  .home_page .key .btn_tel {
    max-width: 55.3em;
  }
  .home_page .key .btn_tel a {
    font-size: 2.6em;
  }
  .home_page .key .time_sheet {
    font-size: 1em;
    width: 55.3em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) and (max-height: 720px) {
  .home_page .key {
    --max-height: min(100vh, 720px);
  }
}
.home_page .topic_path {
  display: none;
}
.home_page .wrap_title .en {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  color: var(--clr1);
}
.home_page .wrap_title .en::before {
  content: "";
  position: absolute;
  border-radius: 2.5px;
  background-color: var(--clr2);
}
.home_page .wrap_title h2 {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5402631579;
  color: var(--main-color);
}
.home_page .wrap_title.t_center .en {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.home_page .wrap_title.t_center .en::after {
  content: "";
  position: absolute;
  border-radius: 2.5px;
  background-color: var(--clr2);
}
.home_page .wrap_title.t_center::after {
  margin-left: auto;
  margin-right: auto;
}
.home_page .wrap_title.t_underline {
  position: relative;
}
.home_page .wrap_title.t_underline::after {
  content: "";
  display: block;
  width: 52px;
  aspect-ratio: 52/2;
  background: url("../images/idx_title_decor.png") no-repeat center/52px 2px;
}
.home_page .wrap_title.white .en,
.home_page .wrap_title.white h2 {
  color: #fff;
}
.home_page .wrap_title.white .en::before {
  background-color: #fff;
}
.home_page .wrap_title.white.t_underline::after {
  background-image: url("../images/idx_title_decor_white.png");
}
@media only screen and (min-width: 769px) {
  .home_page .wrap_title .en {
    font-size: calc(var(--fs-base) + 2px);
    padding-left: 21px;
    margin-bottom: 7px;
  }
  .home_page .wrap_title .en::before {
    width: 0.3889em;
    height: 0.8333em;
    top: 0.1111em;
    left: 0.3333em;
  }
  .home_page .wrap_title h2 {
    font-size: calc(var(--ttl_size) + 10px);
  }
  .home_page .wrap_title.t_center .en {
    padding-right: 21px;
  }
  .home_page .wrap_title.t_center .en::after {
    width: 0.3889em;
    height: 0.8333em;
    top: 0.1111em;
    right: 0.3333em;
  }
  .home_page .wrap_title.t_underline::after {
    margin-top: 13px;
  }
}

section {
  background-size: cover;
  background-repeat: no-repeat;
}

.idx01 {
  position: relative;
  z-index: 0;
}
.idx01::after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  background: url("../images/idx01_decor06.svg") repeat-x left center/1278px 301px;
  z-index: -1;
}
.idx01 .wrap {
  position: relative;
  z-index: 0;
}
.idx01 .wrap::before, .idx01 .wrap::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: -1;
}
.idx01 .wrap::before {
  aspect-ratio: 1312/838;
  background-image: url(../images/idx01_decor01.png);
}
.idx01 .wrap::after {
  aspect-ratio: 2146/1138;
  background-image: url(../images/idx01_decor03.png);
}
.idx01 .idx_box {
  position: relative;
  background-color: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
}
.idx01 .idx_box::before {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  background: url("../images/idx01_decor02.png") no-repeat center/cover;
}
.idx01 .idx_box .box_ttl {
  position: relative;
  z-index: 0;
}
.idx01 .idx_box .box_ttl::before, .idx01 .idx_box .box_ttl::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: -1;
}
.idx01 .idx_box .box_ttl::before {
  aspect-ratio: 306/554;
  background-image: url(../images/idx01_decor05.png);
}
.idx01 .idx_box .box_ttl::after {
  aspect-ratio: 1/1;
  background-image: url(../images/idx01_decor04.png);
}
.idx01 .news ul {
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.idx01 .news ul::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.idx01 .news ul::-webkit-scrollbar-track {
  margin-top: 5px;
  border-radius: 2.5px;
  background: #d6d6e6;
}
.idx01 .news ul::-webkit-scrollbar-thumb {
  border-radius: 2.5px;
  background: var(--main-color);
}
.idx01 .news ul li:first-child a {
  padding-top: 0;
}
.idx01 .news ul li:first-child a .label_new {
  top: 0;
}
.idx01 .news ul li:not(:last-child) {
  border-bottom: 1px solid var(--clr-gray);
}
.idx01 .news ul li a {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  font-size: calc(var(--fs-base) - 2px);
  font-weight: 500;
  color: var(--clr1);
  letter-spacing: 0.1em;
  text-decoration: none;
}
.idx01 .news ul li a .date {
  font-size: 11px;
  line-height: 1;
}
.idx01 .news ul li a .title {
  max-width: 100%;
  display: inline-block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 2.5em;
}
.idx01 .news ul li a .label_new {
  position: absolute;
  top: 1.6667em;
  right: 0;
  background-color: var(--clr-red2);
  border-radius: 0.25em;
  padding: 0em 0.3333em 0.0833em;
  color: #fff;
  font-size: 0.8571em;
}
@media only screen and (min-width: 769px) {
  .idx01 {
    padding: 6.25em 0;
  }
  .idx01::after {
    height: 301px;
    bottom: -135px;
  }
  .idx01 .wrap::before, .idx01 .wrap::after {
    font-size: min(0.785vw, 10px);
  }
  .idx01 .wrap::before {
    width: 31.4em;
    top: -10.1em;
    left: -9.8em;
  }
  .idx01 .wrap::after {
    width: 51.5em;
    bottom: -8.9em;
    right: -13.1em;
  }
  .idx01 .wrap_title {
    margin-bottom: 13px;
  }
  .idx01 .idx_box {
    display: flex;
    justify-content: space-between;
    padding: 3.75em 4.0625em 3.75em 1.5625em;
    border-radius: 3.125em;
  }
  .idx01 .idx_box::before {
    font-size: min(0.785vw, 10px);
    width: 9.5em;
    top: -8.2em;
    right: 6em;
  }
  .idx01 .idx_box .box_ttl {
    width: 40%;
    max-width: 393px;
    padding-left: 19em;
    font-size: min(0.785vw, 10px);
  }
  .idx01 .idx_box .box_ttl::before {
    top: 0;
    left: 0;
    width: 15.3em;
  }
  .idx01 .idx_box .box_ttl::after {
    top: -2.6em;
    right: 0;
    width: 8.6em;
  }
  .idx01 .idx_box .box_ttl .btn-group {
    font-size: max(8.75px, 1em);
  }
  .idx01 .idx_box .box_news {
    width: 57%;
    max-width: 564px;
  }
  .idx01 .news ul {
    padding-right: 2em;
    max-height: 153px;
  }
  .idx01 .news ul li a {
    padding: 1.4286em 0.8571em;
  }
  .idx01 .news ul li a:hover {
    opacity: 1;
    color: var(--clr2);
  }
  .idx01 .news ul li a .date {
    letter-spacing: 0.1em;
    margin-right: 18px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx01 .wrap {
    padding: 0 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx01 {
    padding: 60px 0;
  }
  .idx01 .idx_box {
    border-radius: 25px;
    padding: 40px 20px;
  }
}

.idx02 {
  position: relative;
}
.idx02 .wrap_title::before {
  content: "";
  position: absolute;
  aspect-ratio: 242/294;
  background: url("../images/idx02_decor01.png") no-repeat center/cover;
}
.idx02 .idx_box {
  position: relative;
}
.idx02 .idx_box::after {
  content: "";
  position: absolute;
  aspect-ratio: 536/546;
  background: url("../images/idx02_decor03.png") no-repeat center/cover;
  z-index: 1;
}
.idx02 .idx_box .box_img {
  position: relative;
}
.idx02 .idx_box .box_img::after {
  content: "";
  position: absolute;
  aspect-ratio: 468/414;
  background: url("../images/idx02_decor02.png") no-repeat center/cover;
  z-index: 1;
}
.idx02 .idx_box .ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
}
.idx02 .idx_box .desc {
  line-height: 2;
}
@media only screen and (min-width: 769px) {
  .idx02 .wrap_title {
    margin-bottom: 2em;
  }
  .idx02 .wrap_title::before {
    font-size: min(0.785vw, 10px);
    width: 12.1em;
    top: -8.6em;
    right: 1.6em;
  }
  .idx02 .idx_box {
    display: flex;
    justify-content: space-between;
    padding-bottom: 7px;
  }
  .idx02 .idx_box::after {
    font-size: min(0.785vw, 10px);
    width: 26.8em;
    bottom: -6.3em;
    left: -1.6em;
  }
  .idx02 .idx_box .box_cont {
    width: 40%;
    max-width: 396px;
    padding-top: 26px;
  }
  .idx02 .idx_box .box_img {
    width: 58%;
    max-width: 620px;
  }
  .idx02 .idx_box .box_img::after {
    font-size: min(0.785vw, 10px);
    width: 23.4em;
    bottom: -9.6em;
    right: 2.3em;
  }
  .idx02 .idx_box picture {
    display: flex;
    justify-content: flex-start;
  }
  .idx02 .idx_box img {
    max-width: clamp(600px, 62vw, 720px);
    border-top-left-radius: 3.125em;
  }
  .idx02 .idx_box .ttl {
    font-size: clamp(20px, 2vw, 24.5px);
    line-height: 1.5893877551;
    margin-bottom: 0.9388em;
  }
  .idx02 .idx_box .desc {
    margin-bottom: 1em;
  }
}
@media only screen and (min-width: 1281px) {
  .idx02 .idx_box {
    padding-bottom: min(3.646vw, 70px);
  }
  .idx02 .idx_box img {
    border-top-right-radius: 3.125em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx02 .idx_box .img {
    border-top-left-radius: 25px;
  }
}

.idx03 {
  position: relative;
  z-index: 0;
}
.idx03::before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  background: url("../images/idx02_decor04.svg") no-repeat top center/100% auto;
  z-index: -1;
}
.idx03::after {
  content: "";
  position: absolute;
  bottom: 0;
  background: url("../images/idx03_decor.png") no-repeat top center/cover;
  z-index: -1;
}
.idx03 .sub_title {
  line-height: 2;
}
.idx03 .idx_list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.idx03 .idx_list::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: url("../images/idx03_ico_line.svg") repeat-x left center/cover;
}
.idx03 .idx_list .item {
  position: relative;
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.05));
  z-index: 0;
}
.idx03 .idx_list .item:has(.desc) {
  border-bottom-right-radius: 0;
}
.idx03 .idx_list .item::after {
  content: "";
  position: absolute;
  background: url("../images/idx03_item_decor.png") no-repeat center/cover;
  z-index: -1;
}
.idx03 .idx_list .item1 .ttl::before {
  background-image: url(../images/idx03_item1.png);
}
.idx03 .idx_list .item2 .ttl::before {
  background-image: url(../images/idx03_item2.png);
}
.idx03 .idx_list .item3 .ttl::before {
  background-image: url(../images/idx03_item3.png);
}
.idx03 .idx_list .item4 .ttl::before {
  background-image: url(../images/idx03_item4.png);
}
.idx03 .idx_list .item5 .ttl::before {
  background-image: url(../images/idx03_item5.png);
}
.idx03 .idx_list .item6 .ttl::before {
  background-image: url(../images/idx03_item6.png);
}
.idx03 .idx_list .item7 .ttl::before {
  background-image: url(../images/idx03_item7.png);
}
.idx03 .idx_list .item8 .ttl::before {
  background-image: url(../images/idx03_item8.png);
}
.idx03 .idx_list .item9 .ttl::before {
  background-image: url(../images/idx03_item9.png);
}
.idx03 .idx_list .ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
}
.idx03 .idx_list .ttl::before {
  flex-shrink: 0;
  content: "";
  display: block;
  aspect-ratio: 52/55;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx03 .idx_list .desc {
  font-size: calc(var(--fs-base) - 2px);
  font-weight: 400;
  line-height: 1.7857142857;
}
.idx03 .idx_list .btn {
  position: absolute;
}
.idx03 .idx_list .btn:has(span) {
  right: 0;
  bottom: 0;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  border-top-left-radius: 10px;
  background-color: #e0e0ec;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 9.25em;
  height: 3.25em;
  padding-right: 2.1667em;
}
.idx03 .idx_list .btn:has(span) > span::after {
  content: "";
  position: absolute;
  width: round(1.1667em, 1px);
  aspect-ratio: 1/1;
  top: calc(50% - 0.5833em);
  right: 1em;
  background: url("../images/ico_arrow05.png") no-repeat center/cover;
}
.idx03 .idx_list .btn:not(:has(span)) {
  background: url(../images/ico_arrow02.png) no-repeat center/cover;
}
.idx03 .idx_button .ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
.idx03 .idx_button .btn-group {
  display: flex;
}
@media only screen and (min-width: 769px) {
  .idx03 {
    margin-top: -29px;
    padding-bottom: 6.25em;
  }
  .idx03::before {
    height: calc(100% + clamp(98px, 7.65625vw, 147px));
    top: calc(clamp(98px, 7.65625vw, 147px) * -1);
  }
  .idx03::after {
    width: 1920px;
    left: calc(50% - 960px);
    aspect-ratio: 1920/843;
  }
  .idx03 .wrap_title {
    margin-bottom: 30px;
  }
  .idx03 .sub_title {
    text-align: center;
    margin-bottom: 1.9375em;
  }
  .idx03 .idx_list {
    font-size: min(0.875vw, 10px);
    gap: 2.6em 2.5em;
    padding-bottom: 4.5em;
    margin-bottom: 2.6em;
    justify-content: space-between;
  }
  .idx03 .idx_list .item {
    width: calc((100% - 5em) / 3);
    max-width: 299px;
    padding: 2em 2.1em 1.6em;
  }
  .idx03 .idx_list .item:has(.desc) {
    padding-bottom: 3.8em;
  }
  .idx03 .idx_list .item::after {
    width: 8.5em;
    aspect-ratio: 354/364;
    top: -0.9em;
    right: -1.2em;
  }
  .idx03 .idx_list .item:hover {
    background-color: #f1f1f6;
  }
  .idx03 .idx_list .ttl {
    font-size: 2.1em;
    line-height: 1.3619047619;
    margin-bottom: 0.3333em;
    align-items: center;
    display: flex;
  }
  .idx03 .idx_list .ttl::before {
    width: 2.4762em;
    margin-right: 0.7619em;
  }
  .idx03 .idx_list .desc {
    letter-spacing: 0.1em;
  }
  .idx03 .idx_list .btn:has(span) {
    font-size: max(10px, 1.2em);
  }
  .idx03 .idx_list .btn:not(:has(span)) {
    top: calc(50% - 1em);
    right: 1.5em;
    width: round(2em, 1px);
    height: round(2em, 1px);
  }
  .idx03 .idx_button .ttl {
    font-size: calc(var(--ttl_size) + 2px);
    margin-bottom: 0.8667em;
  }
  .idx03 .idx_button .btn-group {
    gap: 1.5em;
    justify-content: center;
  }
  .idx03 .idx_button .btn-group .btn {
    width: calc((100% - 6em) / 5);
    max-width: 177px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1279px) {
  .idx03::after {
    width: 150%;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx03 {
    padding-bottom: 60px;
  }
  .idx03 .inner_sm {
    padding: 0 40px;
  }
  .idx03::before {
    height: calc(100% + 60px);
    top: -60px;
  }
  .idx03 .idx_list .item {
    padding: 10px;
  }
}

.idx04 {
  position: relative;
  z-index: 0;
}
.idx04::before, .idx04::after {
  content: "";
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
.idx04::after {
  background: url(../images/idx04_decor02.png) repeat-x left center/1276px 213px;
}
.idx04 .idx_pickup {
  position: relative;
  counter-reset: pickup;
}
.idx04 .idx_pickup::before {
  content: "";
  position: absolute;
  aspect-ratio: 367/184;
  background: url("../images/idx04_decor01.png") no-repeat center/cover;
  z-index: 1;
}
.idx04 .box_pickup {
  position: relative;
  counter-increment: pickup;
  background-color: #edf3f9;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.05));
}
.idx04 .box_pickup01 .content::before, .idx04 .box_pickup01 .content::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
}
.idx04 .box_pickup01 .content::before {
  aspect-ratio: 1/1;
  background-image: url(../images/idx_pickup01_decor01.png);
}
.idx04 .box_pickup01 .content::after {
  aspect-ratio: 75/178;
  background-image: url(../images/idx_pickup01_decor02.png);
}
.idx04 .box_pickup01 .idx_list {
  position: relative;
}
.idx04 .box_pickup01 .idx_list::after {
  content: "";
  aspect-ratio: 167/191;
  background: url("../images/idx_pickup01_decor03.png") no-repeat center/cover;
}
.idx04 .box_pickup02::before, .idx04 .box_pickup02::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
}
.idx04 .box_pickup02::before {
  aspect-ratio: 61/132;
  background-image: url(../images/idx_pickup02_decor03.png);
}
.idx04 .box_pickup02::after {
  aspect-ratio: 59/122;
  background-image: url(../images/idx_pickup02_decor04.png);
}
.idx04 .box_pickup02 .content {
  position: relative;
}
.idx04 .box_pickup02 .content::before, .idx04 .box_pickup02 .content::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
}
.idx04 .box_pickup02 .content::before {
  aspect-ratio: 1/1;
  background-image: url("../images/idx_pickup02_decor01.png");
}
.idx04 .box_pickup02 .content::after {
  aspect-ratio: 1/1;
  background-image: url("../images/idx_pickup02_decor02.png");
}
.idx04 .box_pickup03 .idx_list {
  position: relative;
}
.idx04 .box_pickup03 .idx_list::after {
  content: "";
  aspect-ratio: 183/196;
  background-image: url(../images/idx_pickup03_decor02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx04 .box_pickup03 .content {
  position: relative;
}
.idx04 .box_pickup03 .content::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
  aspect-ratio: 269/153;
  background-image: url(../images/idx_pickup03_decor01.png);
}
.idx04 .wrap_title_pickup .en {
  background-color: var(--main-color);
  border-radius: 999em 999em 999em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  color: #fff;
}
.idx04 .wrap_title_pickup .en > span::after {
  position: relative;
  content: counter(pickup, decimal-leading-zero);
  display: block;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.idx04 .wrap_title_pickup h2 {
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx04 .wrap_title_pickup .desc {
  font-size: var(--fs-base);
  line-height: 2;
}
.idx04 .content {
  position: relative;
  background: url(../images/idx_pickup_decor.svg) no-repeat top center/100% auto;
}
.idx04 .content .ttl {
  color: var(--main-color);
  font-weight: 700;
  letter-spacing: 0.15em;
  text-align: center;
}
.idx04 .content .ttl .num {
  font-size: 1.3158em;
  color: var(--clr2);
  letter-spacing: 0.15em;
}
.idx04 .content .idx_list {
  display: flex;
  justify-content: center;
}
.idx04 .content .idx_list li {
  position: relative;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid var(--main-color);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.idx04 .content .idx_list li .tt {
  line-height: 1.4285714286;
  font-weight: 600;
  text-align: center;
  color: var(--main-color);
}
.idx04 .content .idx_list_point li .point {
  display: flex;
  align-items: center;
  width: 4.625em;
  height: 1.625em;
  border-radius: 0.2657em;
  background-color: var(--main-color);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  padding: 0.125em 0.1875em 0.25em;
}
.idx04 .content .idx_list_point li .point .num {
  position: relative;
  color: var(--main-color);
  font-weight: 500;
  letter-spacing: 0.1em;
  border-radius: 0.2657em;
  width: 1.3125em;
  height: 1.3125em;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 0.25em;
  padding-bottom: 0.125em;
  top: 0.0625em;
}
.idx04 .content .idx_list_check li::before {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  left: 0px;
  right: 0px;
  margin: 0 auto;
  background: url("../images/idx_pickup_io_check.png") no-repeat center/cover;
}
.idx04 .content .txt {
  font-size: var(--fs-base);
  line-height: 2;
  letter-spacing: 0;
}
.idx04 .content .btn-group {
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .idx04 {
    padding: 6.25em 0 46px;
  }
  .idx04::before {
    aspect-ratio: 128/287;
    height: 4000px;
    background: url("../images/idx_background03.jpg") no-repeat top center/auto 100%;
  }
  .idx04::after {
    height: 213px;
  }
  .idx04 .idx_pickup::before {
    font-size: min(0.785vw, 10px);
    width: 36.7em;
    bottom: calc(100% - 3.2em);
    left: calc(100% - 22.4em);
  }
  .idx04 .box_pickup {
    font-size: min(0.785vw, 10px);
    border-radius: 5em;
  }
  .idx04 .box_pickup:not(:last-child) {
    margin-bottom: 40px;
  }
  .idx04 .box_pickup01 .content::before {
    top: -3.4em;
    right: 2.9em;
    width: 22.2em;
  }
  .idx04 .box_pickup01 .content::after {
    left: 9.9em;
    bottom: 14.7em;
    width: 7.5em;
  }
  .idx04 .box_pickup01 .wrap_title_pickup .desc {
    max-width: 561px;
    letter-spacing: 0;
  }
  .idx04 .box_pickup01 .idx_list::after {
    position: absolute;
    width: 16.7em;
    bottom: -11.6em;
    right: -3.4em;
  }
  .idx04 .box_pickup02::before {
    bottom: 2.5em;
    right: 13.5em;
    width: 6.1em;
  }
  .idx04 .box_pickup02::after {
    right: 5.7em;
    bottom: 3em;
    width: 5.9em;
  }
  .idx04 .box_pickup02 .wrap_title_pickup {
    padding-top: 7.9em;
    margin-bottom: -5.5em;
  }
  .idx04 .box_pickup02 .wrap_title_pickup h2 {
    margin-bottom: 0.6579em;
  }
  .idx04 .box_pickup02 .content {
    padding-top: 11em;
  }
  .idx04 .box_pickup02 .content::before {
    width: 17.3em;
    top: -11.2em;
    right: 31.4em;
  }
  .idx04 .box_pickup02 .content::after {
    width: 25.2em;
    top: -9em;
    right: 3.4em;
  }
  .idx04 .box_pickup03 .idx_list::after {
    position: absolute;
    left: -0.8em;
    bottom: -10.1em;
    width: 18.3em;
  }
  .idx04 .box_pickup03 .content .ttl {
    margin-bottom: 0.6053em;
  }
  .idx04 .box_pickup03 .content::before {
    bottom: 4.5em;
    right: 5.1em;
    width: 26.9em;
  }
  .idx04 .wrap_title_pickup {
    display: grid;
    justify-content: space-between;
    grid-template-columns: max(110px, 13.2em) calc(100% - max(110px, 13.2em) - 5.6em);
    padding: 6.8em 8em 0;
    margin-bottom: -1.8em;
  }
  .idx04 .wrap_title_pickup .en {
    grid-column: 1/2;
    grid-row: 1/2 span;
    width: 7.7647em;
    height: 7.7647em;
    font-size: max(14px, 1.7em);
    margin-top: 0.7059em;
    margin-bottom: 0;
  }
  .idx04 .wrap_title_pickup .en > span {
    padding-bottom: 0.5882em;
  }
  .idx04 .wrap_title_pickup .en > span::after {
    font-size: 2.9412em;
    margin-top: 0.04em;
    left: 0.1em;
  }
  .idx04 .wrap_title_pickup h2 {
    grid-column: 2/3;
    font-size: calc(var(--ttl_size) + 10px);
    line-height: 1.5402631579;
    margin-bottom: 0.4211em;
  }
  .idx04 .wrap_title_pickup .desc {
    grid-column: 2/3;
    letter-spacing: 0.1em;
  }
  .idx04 .wrap_title_pickup:not(:has(.desc)) {
    align-items: center;
  }
  .idx04 .wrap_title_pickup:not(:has(.desc)) .en {
    margin-top: 0;
  }
  .idx04 .wrap_title_pickup:not(:has(.desc)) h2 {
    grid-row: 1/2 span;
  }
  .idx04 .content {
    padding: 5.9em 7em 8em;
    border-radius: 0 0 5em 5em;
  }
  .idx04 .content .ttl {
    font-size: calc(var(--ttl_size) + 10px);
    margin-bottom: 0.5789em;
  }
  .idx04 .content .idx_list {
    font-size: min(0.785vw, 10px);
    gap: 2.3em;
  }
  .idx04 .content .idx_list li .tt {
    font-size: 2.1em;
    letter-spacing: 0.1em;
  }
  .idx04 .content .idx_list_point {
    margin-bottom: 34px;
  }
  .idx04 .content .idx_list_point li {
    width: round(19em, 1px);
    height: round(19em, 1px);
    padding-top: 0.5em;
  }
  .idx04 .content .idx_list_point li .point {
    font-size: 1.6em;
    margin-bottom: 0.5625em;
  }
  .idx04 .content .idx_list_check {
    margin-bottom: 26px;
  }
  .idx04 .content .idx_list_check li {
    width: round(21.8em, 1px);
    height: round(21.8em, 1px);
    padding-top: 2.3em;
  }
  .idx04 .content .idx_list_check li::before {
    width: 3.1em;
    top: 2.3em;
  }
  .idx04 .content .idx_list_check li:nth-child(1), .idx04 .content .idx_list_check li:nth-child(2) {
    margin-top: 0.6em;
  }
  .idx04 .content .txt {
    margin-bottom: 1.75em;
    padding-left: 0.625em;
  }
  .idx04 .content .btn-group {
    font-size: max(8.75px, 1em);
    gap: 1.5em;
  }
}
@media only screen and (min-width: 1921px) {
  .idx04::before {
    background-size: 100% auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .idx_pickup {
    padding: 0 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx04 .wrap_title_pickup {
    padding: 40px 40px 20px;
  }
  .idx04 .content {
    padding: 40px 40px;
  }
  .idx04 .content .txt {
    padding-left: 0;
  }
}

.idx05 {
  position: relative;
  z-index: 0;
  background: url(../images/idx05_decor01.png) no-repeat top center/100% auto;
}
.idx05::after {
  content: "";
  position: absolute;
  bottom: 0;
  background: url(../images/idx05_decor02.png) no-repeat center/cover;
  z-index: -1;
}
.idx05 .wrap_title h2 {
  position: relative;
  z-index: 0;
}
.idx05 .wrap_title h2::before, .idx05 .wrap_title h2::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx05 .wrap_title h2::after {
  left: 0;
  aspect-ratio: 1/1;
  background: url("../images/idx05_title_decor.png") no-repeat center/cover;
  z-index: -1;
}
.idx05 .idx_box .box_cont {
  display: flex;
  flex-wrap: wrap;
  background-color: #f3f6fa;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.05));
}
.idx05 .idx_box .box_cont .item {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
}
.idx05 .idx_box .box_cont .item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 5px;
  background-color: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
  z-index: -1;
}
.idx05 .idx_box .box_cont .item::after {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  background: url("../images/ico_arrow02.png") no-repeat center/cover;
}
.idx05 .idx_box .box_cont .item .tt {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 0;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.idx05 .idx_box .box_cont .item .tt::before {
  flex-shrink: 0;
  content: "";
  display: block;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx05 .idx_box01 .wrap_title h2::before {
  aspect-ratio: 246/278;
  background-image: url(../images/idx05_title_decor01.png);
}
.idx05 .idx_box01 .box_cont .item1 .tt::before {
  background-image: url(../images/idx05_box1_item1.png);
}
.idx05 .idx_box01 .box_cont .item2 .tt::before {
  background-image: url(../images/idx05_box1_item2.png);
}
.idx05 .idx_box01 .box_cont .item3 .tt::before {
  background-image: url(../images/idx05_box1_item3.png);
}
.idx05 .idx_box01 .box_cont .item4 .tt::before {
  background-image: url(../images/idx05_box1_item4.png);
}
.idx05 .idx_box01 .box_cont .item5 .tt::before {
  background-image: url(../images/idx05_box1_item5.png);
}
.idx05 .idx_box01 .box_cont .item6 .tt::before {
  background-image: url(../images/idx05_box1_item6.png);
}
.idx05 .idx_box01 .box_cont .item7 .tt::before {
  background-image: url(../images/idx05_box1_item7.png);
}
.idx05 .idx_box01 .box_cont .item8 .tt::before {
  background-image: url(../images/idx05_box1_item8.png);
}
.idx05 .idx_box01 .box_cont .item9 .tt::before {
  background-image: url(../images/idx05_box1_item9.png);
}
.idx05 .idx_box02 .wrap_title h2::before {
  aspect-ratio: 203/242;
  background-image: url(../images/idx05_title_decor02.png);
}
.idx05 .idx_box02 .box_cont .item1 .tt::before {
  background-image: url(../images/idx05_box2_item1.png);
}
.idx05 .idx_box02 .box_cont .item2 .tt::before {
  background-image: url(../images/idx05_box2_item2.png);
}
.idx05 .idx_box02 .box_cont .item3 .tt::before {
  background-image: url(../images/idx05_box2_item3.png);
}
.idx05 .idx_box02 .box_cont .item4 .tt::before {
  background-image: url(../images/idx05_box2_item4.png);
}
.idx05 .idx_box02 .box_cont .item5 .tt::before {
  background-image: url(../images/idx05_box2_item5.png);
}
.idx05 .idx_box02 .box_cont .item6 .tt::before {
  background-image: url(../images/idx05_box2_item6.png);
}
.idx05 .idx_box02 .box_cont .item7 .tt::before {
  background-image: url(../images/idx05_box2_item7.png);
}
.idx05 .idx_box02 .box_cont .item8 .tt::before {
  background-image: url(../images/idx05_box2_item8.png);
}
.idx05 .idx_box02 .box_cont .item9 .tt::before {
  background-image: url(../images/idx05_box2_item9.png);
}
@media only screen and (min-width: 769px) {
  .idx05 {
    padding: 8.1875em 0 clamp(285px, 22.265625vw, 427px);
  }
  .idx05::after {
    width: 2100px;
    left: calc(50% - 1050px);
    aspect-ratio: 4200/3436;
  }
  .idx05 .wrap_title {
    padding-bottom: 2.1875em;
  }
  .idx05 .wrap_title h2 {
    padding-left: 1.5789em;
  }
  .idx05 .wrap_title h2::after {
    top: 0.0789em;
    width: 2.5em;
  }
  .idx05 .idx_box:not(:last-child) {
    margin-bottom: 53px;
  }
  .idx05 .idx_box .box_ttl {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }
  .idx05 .idx_box .box_img {
    width: 58%;
    max-width: 620px;
  }
  .idx05 .idx_box .box_img img {
    border-radius: 50px 50px 0 0;
  }
  .idx05 .idx_box .box_cont {
    font-size: min(0.875vw, 10px);
    gap: 2em;
    padding: 4em;
    border-radius: 10px;
  }
  .idx05 .idx_box .box_cont .item {
    width: calc((100% - 8em) / 5);
    min-height: 8em;
    padding: 0.5em 1.4em;
  }
  .idx05 .idx_box .box_cont .item::before {
    width: calc(100% - 0.7em);
  }
  .idx05 .idx_box .box_cont .item::after {
    width: round(2em, 1px);
    top: calc(50% - 0.9em);
    right: 0;
  }
  .idx05 .idx_box .box_cont .item .tt {
    font-size: 1.6em;
    line-height: 1.3125;
  }
  .idx05 .idx_box .box_cont .item .tt .sm {
    font-size: 0.7813em;
    letter-spacing: 0;
  }
  .idx05 .idx_box .box_cont .item .tt::before {
    width: 3.25em;
    margin-right: 0.4375em;
  }
  .idx05 .idx_box .box_cont .item:hover::before {
    background-color: #d1d1de;
  }
  .idx05 .idx_box01 .wrap_title h2::before {
    width: 6.4737em;
    bottom: calc(100% + 0.2632em);
    left: 1.9211em;
  }
  .idx05 .idx_box02 .wrap_title {
    padding-right: 4em;
  }
  .idx05 .idx_box02 .wrap_title h2::before {
    width: 5.3421em;
    bottom: calc(100% + 0.4737em);
    left: 2em;
  }
  .idx05 .idx_box02 .box_ttl {
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx05 .idx_box {
    padding: 0 20px;
  }
  .idx05 .idx_box .wrap_title h2::before {
    font-size: 0.875em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1279px) {
  .idx05::after {
    width: 1280px;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx05 .idx_box02 .wrap_title {
    padding-right: 10px;
  }
}

.idx06 {
  position: relative;
  background: url(../images/idx06_decor01.svg) no-repeat top center/100% auto;
  z-index: 0;
}
.idx06::after {
  content: "";
  position: absolute;
  bottom: 0;
  background-image: url(../images/idx06_decor02.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  z-index: -1;
}
.idx06 .wrap {
  position: relative;
}
.idx06 .wrap::before, .idx06 .wrap::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx06 .wrap::before {
  aspect-ratio: 536/546;
  background-image: url(../images/idx06_decor03.png);
}
.idx06 .wrap::after {
  aspect-ratio: 221/224;
  background-image: url(../images/idx06_decor04.png);
}
.idx06 .idx_slider .item {
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
}
.idx06 .idx_slider .item .img {
  position: relative;
}
.idx06 .idx_slider .item .img picture img {
  border-radius: 10px;
}
.idx06 .idx_slider .item .img .num {
  position: absolute;
  width: 9em;
  aspect-ratio: 225/208;
  background: url(../images/idx06_ico_feature.png) no-repeat center/cover;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  text-transform: capitalize;
  color: #fff;
  padding-top: 1.1667em;
}
.idx06 .idx_slider .item .img .num span {
  font-size: 2.5em;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.idx06 .idx_slider .item .ttl {
  position: relative;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.idx06 .idx_slider .item .ttl::after {
  content: "";
  position: absolute;
  width: 52px;
  height: 2px;
  bottom: 0px;
  left: 0px;
  background: url("../images/idx_title_decor.png") no-repeat center/52px 2px;
}
.idx06 .idx_slider .item .desc {
  font-size: var(--fs-base);
  line-height: 2;
  letter-spacing: 0.1em;
}
.idx06 .idx_slider_nav {
  display: flex;
  align-items: center;
  gap: 23px;
  margin-left: 11px;
}
.idx06 .idx_slider_nav .slider_arrows {
  display: flex;
  justify-content: space-between;
}
.idx06 .idx_slider_nav .slider_dots {
  width: 70%;
  max-width: 730px;
}
.idx06 .idx_slider_nav .slick-dots {
  display: flex !important;
  justify-content: center;
  position: relative;
  align-items: center;
  width: 100%;
  height: 5px;
}
.idx06 .idx_slider_nav .slick-dots li {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  background: #fff;
}
.idx06 .idx_slider_nav .slick-dots li.slick-active button {
  background: var(--clr2);
}
.idx06 .idx_slider_nav .slick-dots li:first-child {
  border-radius: 3px 0 0 3px;
}
.idx06 .idx_slider_nav .slick-dots li:last-child {
  border-radius: 0 3px 3px 0;
}
.idx06 .idx_slider_nav .slick-dots button {
  pointer-events: none;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 3px;
  overflow: hidden;
  cursor: pointer;
  background: #fff;
  color: transparent;
}
.idx06 .idx_slider_nav .slick-arrow {
  position: relative;
  transform: none;
  z-index: 1;
  transition: 0.3s all;
  border-radius: 50%;
  border: 1px solid #fff;
  background-color: var(--clr2);
}
.idx06 .idx_slider_nav .slick-arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
}
.idx06 .idx_slider_nav .slick-arrow.slick-prev::before {
  --mask: url(../images/ico_prev.png);
}
.idx06 .idx_slider_nav .slick-arrow.slick-next::before {
  --mask: url(../images/ico_next.png);
}
@media only screen and (min-width: 769px) {
  .idx06 {
    margin-top: calc(clamp(184px, 14.375vw, 350px) * -1);
    padding: 6.125em 0 18em;
  }
  .idx06::after {
    width: 1920px;
    left: calc(50% - 960px);
    aspect-ratio: 1920/847;
  }
  .idx06 .wrap::before, .idx06 .wrap::after {
    font-size: min(0.785vw, 10px);
  }
  .idx06 .wrap::before {
    top: -17.2em;
    left: 0.6em;
    width: 26.8em;
  }
  .idx06 .wrap::after {
    top: -8.9em;
    right: 4.8em;
    width: 22.1em;
  }
  .idx06 .wrap_title {
    margin-bottom: 3.875em;
  }
  .idx06 .wrap_title .en {
    margin-bottom: 0.6667em;
  }
  .idx06 .wrap_title h2 {
    line-height: 1.1706;
  }
  .idx06 .wrap_title h2 .num {
    color: var(--clr2);
    font-size: 1.3158em;
  }
  .idx06 .idx_slider {
    width: 100vw;
    margin-bottom: 44px;
  }
  .idx06 .idx_slider:not(.slick-slider) {
    display: flex;
    overflow: hidden;
  }
  .idx06 .idx_slider:not(.slick-slider) .item:not(:first-child) {
    display: none;
  }
  .idx06 .idx_slider .item {
    font-size: min(0.9vw, 10px);
    width: min(41.2vw, 527px);
    margin: 0 1.25em;
    padding: 4em 4em 3.2em 3.9em;
  }
  .idx06 .idx_slider .item .img {
    margin-bottom: 25px;
  }
  .idx06 .idx_slider .item .img .num {
    font-size: 1.2em;
    bottom: -1.25em;
    right: -1.5833em;
  }
  .idx06 .idx_slider .item .ttl {
    font-size: calc(var(--fs-base) + 4px);
    text-indent: 2px;
    padding-bottom: 0.9em;
    margin-bottom: 1em;
  }
  .idx06 .idx_slider_nav .slider_arrows {
    gap: 11px;
  }
  .idx06 .idx_slider_nav .slick-arrow {
    width: 38px;
    height: 38px;
  }
  .idx06 .idx_slider_nav .slick-arrow:hover {
    opacity: 1;
    background-color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1279px) {
  .idx06::after {
    width: 150%;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx06 {
    padding-bottom: 15em;
  }
  .idx06 .idx_slider_nav .slider_dots {
    width: 65%;
  }
}

.idx07 {
  position: relative;
}
.idx07 .content {
  position: relative;
  background-color: #fff;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.05));
  z-index: 2;
}
.idx07 .content::before, .idx07 .content::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx07 .content::before {
  aspect-ratio: 126/125;
  background-image: url(../images/idx07_decor01.png);
}
.idx07 .content::after {
  aspect-ratio: 752/710;
  background-image: url(../images/idx07_decor02.png);
}
.idx07 .idx_box {
  position: relative;
}
.idx07 .idx_box::after {
  content: "";
  position: absolute;
  aspect-ratio: 367/184;
  background: url("../images/idx07_decor03.png") no-repeat center/cover;
}
.idx07 .box_name {
  display: table;
  color: var(--main-color);
  margin-left: auto;
}
.idx07 .box_name .name {
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1;
  display: flex;
  align-items: center;
  margin-bottom: 4px;
}
.idx07 .box_name .name span {
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-right: 7px;
}
.idx07 .box_name .sub_name {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.idx07 .wrap_title {
  display: flex;
  align-items: center;
}
.idx07 .wrap_title::after {
  position: absolute;
  left: -1px;
  bottom: 0;
}
.idx07 .wrap_title .en {
  margin-bottom: 0;
}
.idx07 .ttl {
  font-weight: 500;
  color: var(--main-color);
  letter-spacing: 0.1em;
}
.idx07 .btn-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.idx07 .btn-group .btn.social-x {
  aspect-ratio: 1/1;
}
@media only screen and (min-width: 769px) {
  .idx07 {
    padding-bottom: 6.25em;
  }
  .idx07::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1810px;
    top: 0px;
    left: 0px;
    background: url("../images/idx_background02.jpg") no-repeat center/auto 100%;
    z-index: -1;
  }
  .idx07 .content {
    margin-top: calc(clamp(160px, 16.5vw, 207px) * -1);
    padding: 4.3125em 4.1875em 4.5625em;
    border-radius: 1.875em;
  }
  .idx07 .content::before, .idx07 .content::after {
    font-size: min(0.785vw, 10px);
  }
  .idx07 .content::before {
    top: -11em;
    right: 5.2em;
    width: 12.6em;
  }
  .idx07 .content::after {
    top: -7.7em;
    right: calc(50% - 12.7em);
    width: 18em;
  }
  .idx07 .idx_box::after {
    font-size: min(0.785vw, 10px);
    width: 36.7em;
    top: 100%;
    right: -19.6em;
  }
  .idx07 .box_name {
    margin-bottom: 1.9375em;
  }
  .idx07 .wrap_title {
    gap: 15px;
    padding-bottom: 15px;
    margin-bottom: 30px;
  }
  .idx07 .ttl {
    font-size: 1.5em;
    line-height: 1.625;
    margin-bottom: 0.9167em;
  }
  .idx07 .desc {
    margin-bottom: 1.9375em;
  }
  .idx07 .btn-group {
    gap: 1.5em;
  }
  .idx07 .btn-group .btn {
    max-width: 189.5px;
  }
  .idx07 .btn-group .btn.social-x {
    min-width: 6em;
    width: 6em;
  }
}
@media only screen and (min-width: 1921px) {
  .idx07::after {
    background-size: 100% auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx07 .inner {
    padding: 0 40px;
  }
  .idx07 .content {
    padding: 40px 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx07 .idx_box::after {
    right: -12.7389em;
  }
}

.idx_gallery {
  position: relative;
}
.idx_gallery .wrap {
  position: relative;
}
.idx_gallery .wrap::before, .idx_gallery .wrap::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx_gallery .wrap::after {
  aspect-ratio: 1/1;
  background-image: url(../images/idx_gallery_decor01.png);
  z-index: 1;
}
.idx_gallery .wrap::before {
  aspect-ratio: 1/1;
  background-image: url(../images/idx_gallery_decor02.png);
  z-index: 1;
}
.idx_gallery .list {
  position: relative;
  width: 100vw;
  left: calc(50% - 50vw);
  z-index: 1;
  display: flex;
}
@media only screen and (min-width: 769px) {
  .idx_gallery .wrap::before, .idx_gallery .wrap::after {
    font-size: min(0.785vw, 10px);
  }
  .idx_gallery .wrap::before {
    width: 16.3em;
    bottom: -6.8em;
    left: -3.7em;
  }
  .idx_gallery .wrap::after {
    width: 11.7em;
    top: -7.2em;
    right: -0.9em;
  }
  .idx_gallery .list picture {
    max-width: clamp(220px, 35vw, 426px);
    margin: 0 7.5px;
  }
  .idx_gallery .list picture img {
    border-radius: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_gallery .wrap::before {
    left: 40px;
  }
  .idx_gallery .wrap::after {
    right: 8em;
  }
}

.idx08 {
  position: relative;
}
.idx08::after {
  content: "";
  position: absolute;
  width: 100%;
  background: url("../images/idx08_decor03.png") repeat-x left center/1278px 125px;
  z-index: -1;
}
.idx08 .wrap {
  position: relative;
}
.idx08 .wrap::before {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  background: url("../images/idx08_decor01.png") no-repeat center/cover;
  z-index: 1;
}
.idx08 .wrap_title {
  display: flex;
  align-items: center;
}
.idx08 .wrap_title::after {
  position: absolute;
  bottom: 0;
  left: 0;
}
.idx08 .idx_box {
  position: relative;
  display: flex;
  z-index: 0;
}
.idx08 .idx_box::before {
  content: "";
  position: absolute;
  width: 100vw;
  bottom: 0px;
  background-color: var(--clr-red1);
  z-index: -1;
}
.idx08 .idx_box::after {
  content: "";
  position: absolute;
  aspect-ratio: 718/496;
  background: url("../images/idx08_decor02.png") no-repeat center/cover;
}
.idx08 .box_ttl {
  position: relative;
}
.idx08 .box_ttl .ttl,
.idx08 .box_ttl .desc {
  color: #fff;
}
.idx08 .box_ttl .ttl {
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.1em;
}
.idx08 .box_img {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 769px) {
  .idx08::after {
    height: 125px;
    top: calc(100% - 17px);
  }
  .idx08 .wrap::before {
    font-size: min(0.785vw, 10px);
    width: 16.4em;
    top: -6.3em;
    left: -9em;
  }
  .idx08 .wrap_title {
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: 30px;
  }
  .idx08 .wrap_title .en {
    margin-bottom: 3px;
  }
  .idx08 .idx_box {
    justify-content: space-between;
    padding: 5.5em 4.1875em 4.375em 0;
  }
  .idx08 .idx_box::before {
    height: calc(100% + min(21.8vw, 277px));
    right: 24px;
    border-radius: 20px;
  }
  .idx08 .idx_box::after {
    font-size: min(0.785vw, 10px);
    width: 35.9em;
    bottom: -9.6em;
    right: -12.3em;
  }
  .idx08 .box_ttl {
    width: 57%;
    max-width: 553px;
  }
  .idx08 .box_ttl .ttl {
    font-size: 1.5em;
    line-height: 1.625;
    margin-bottom: 0.9167em;
  }
  .idx08 .box_ttl .desc {
    margin-bottom: 0;
  }
  .idx08 .box_ttl .btn-group {
    position: absolute;
    top: 0.75em;
    right: 0;
    width: 35%;
    max-width: 189.5px;
  }
  .idx08 .box_ttl .btn-group .btn {
    max-width: 100%;
  }
  .idx08 .box_img {
    width: 39%;
    max-width: 393px;
    padding-top: 0.75em;
  }
  .idx08 .box_img picture img {
    border-radius: 10px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx08 .idx_box::after {
    right: -5em;
  }
  .idx08 .wrap::before {
    left: 0;
  }
}

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