.home_page .key {
  position: relative;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  z-index: 1;
}
.home_page .key .wrap {
  position: relative;
  height: 100%;
  background: url(../images/idx_key.jpg) no-repeat center/cover;
}
.home_page .key .key_text {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
}
.home_page .key .catch .title,
.home_page .key .catch .desc {
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: 0 0 30px rgba(105, 186, 0, 0.8);
}
.home_page .key .catch .title {
  font-size: 5.8em;
  line-height: 1.5094339623;
}
.home_page .key .catch .desc {
  font-size: 1.8em;
  line-height: 1.6111111111;
}
.home_page .key .list {
  position: absolute;
  display: flex;
  gap: 1.5em;
}
.home_page .key .list .item {
  width: 10.9375em;
  height: 10.9375em;
  padding: 1.875em 1.25em;
  font-size: 1.6em;
  background: url(../images/idx_key_item_bg.png) no-repeat center/cover;
}
.home_page .key .list .item > span {
  display: block;
}
.home_page .key .list .item .tt,
.home_page .key .list .item .txt {
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  color: var(--main-color);
}
.home_page .key .list .item .tt {
  position: relative;
  margin-bottom: 0.6875em;
}
.home_page .key .list .item .tt::after {
  content: "";
  display: block;
  width: 5.25em;
  height: 2px;
  margin: 0 auto;
  margin-top: 0.5625em;
  background: url("../images/idx_key_item_line.png") no-repeat center/cover;
}
.home_page .key .list .item .txt {
  font-size: 0.875em;
  line-height: 1.7;
}
@media only screen and (min-width: 769px) {
  .home_page .key {
    --height: 50vw;
    --min-height: 420px;
    --max-height: 640px;
    font-size: min(0.845vw, 10px);
  }
  .home_page .key .wrap {
    width: 100%;
  }
  .home_page .key .wrap::before, .home_page .key .wrap::after {
    content: "";
    position: absolute;
    aspect-ratio: 1/1;
    height: 100%;
    top: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 1;
  }
  .home_page .key .wrap::before {
    left: 0;
    background-image: url(../images/idx_key_decor1.png);
  }
  .home_page .key .wrap::after {
    right: 0;
    background-image: url(../images/idx_key_decor2.png);
  }
  .home_page .key .key_text {
    align-items: center;
    justify-content: flex-end;
    padding: 0 8em;
    border-bottom: 3em solid var(--clr-bg2);
  }
  .home_page .key .catch {
    padding-bottom: 1.4em;
  }
  .home_page .key .catch .title {
    margin-bottom: 21px;
  }
  .home_page .key .list {
    bottom: 3em;
    left: 6em;
  }
}
@media only screen and (min-width: 1921px) {
  .home_page .key {
    --max-height: 35vw;
  }
  .home_page .key .key_text {
    border-bottom-width: min(1.6vw, 6.3em);
  }
}
.home_page .topic_path {
  display: none;
}
.home_page .wrap-title {
  position: relative;
  display: table;
}
.home_page .wrap-title::before {
  content: "";
  position: absolute;
  width: 3.9em;
  aspect-ratio: 39/26;
  top: 1em;
  left: 0;
  background: url("../images/idx_h2_decor.svg") no-repeat center/cover;
}
.home_page .wrap-title h2 {
  position: relative;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0.6667em 1.3333em;
  border-radius: 999em;
  color: var(--clr1);
  background-color: #fff;
  width: fit-content;
}
.home_page .wrap-title h2::before {
  content: "";
  position: absolute;
  width: 0.8333em;
  height: 0.6667em;
  top: calc(100% - 0.1667em);
  left: calc(50% - 0.3333em);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: inherit;
}
.home_page .wrap-title h2.clr2 {
  background-color: var(--clr-beige);
}
.home_page .wrap-title .en {
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
  color: var(--main-color);
}
.home_page .wrap-title.t-center {
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 769px) {
  .home_page .wrap-title {
    font-size: min(1vw, 0.625em);
    padding: 0 5em;
  }
  .home_page .wrap-title h2 {
    font-size: 1.2em;
    margin-left: 4.1667em;
    margin-bottom: -0.75em;
  }
  .home_page .wrap-title .en {
    font-size: 6.8em;
  }
}
.home_page .ttl_pickup {
  position: relative;
  display: table;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
}
.home_page .ttl_pickup::after {
  content: "";
  position: absolute;
  width: 1.9091em;
  aspect-ratio: 84/57;
  top: -0.0909em;
  right: 0;
  --mask: url("../images/idx_pickup_decor.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: var(--clr-beige2);
}
.home_page .ttl_pickup .tag {
  position: relative;
  font-size: 0.3636em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  background-color: var(--clr2);
  border-radius: 999em;
  width: 6.375em;
  min-height: 1.75em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.home_page .ttl_pickup .tag::after {
  content: "";
  position: absolute;
  width: 0.5625em;
  height: 0.5625em;
  top: calc(100% - 0.125em);
  left: calc(50% - 0.3125em);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: inherit;
}
.home_page .ttl_pickup .jp {
  display: block;
  width: fit-content;
  position: relative;
  line-height: 1.0909090909;
  z-index: 0;
}
.home_page .ttl_pickup .jp::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.2273em;
  bottom: -3px;
  left: 0px;
  border-radius: 5px;
  background-color: var(--clr-beige2);
  z-index: -1;
}
.home_page .ttl_pickup .jp .sm {
  font-size: 0.7955em;
}
.home_page .ttl_pickup.st2 {
  color: #fff;
}
.home_page .ttl_pickup.st2:after {
  background-image: url(../images/idx_pickup_decor2.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: unset;
}
.home_page .ttl_pickup.st2 .jp::after {
  background-color: unset;
  background: url(../images/idx_ttl_pickup_line.jpg) repeat-x top left/cover;
}
@media only screen and (min-width: 769px) {
  .home_page .ttl_pickup {
    padding-right: 2.1364em;
    margin-bottom: 0.8636em;
    font-size: calc(var(--ttl_size) + 1em);
  }
  .home_page .ttl_pickup .tag {
    margin-bottom: 0.75em;
    margin-left: 1.375em;
  }
}
.home_page .slick-arrow {
  font-size: 1em;
  border-radius: 50%;
  border: 1px solid var(--main-color);
  width: 5.6em;
  height: 5.6em;
  background-color: #fff;
  z-index: 2;
}
.home_page .slick-arrow::before {
  content: "";
  position: absolute;
  width: 1em;
  aspect-ratio: 42/78;
  inset: 0;
  margin: auto;
  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: var(--main-color);
}
.home_page .slick-arrow.slick-next::before {
  --mask: url(../images/ico_next.png);
}
.home_page .slick-arrow.slick-prev::before {
  --mask: url(../images/ico_prev.png);
}
@media only screen and (min-width: 769px) {
  .home_page .slick-arrow:hover {
    background-color: var(--main-color);
  }
  .home_page .slick-arrow:hover::before {
    background-color: #fff;
  }
}
.home_page .slider-nav {
  display: flex;
  align-items: center;
}
.home_page .slider-nav .slider-dot {
  position: relative;
}
.home_page .slider-nav .slider-dot .slick-dots {
  --total-item: 8;
  --size-item: 5.625em;
  display: flex !important;
  width: calc(var(--size-item) * var(--total-item));
  height: 3px;
  border-radius: 1.5px;
}
.home_page .slider-nav .slider-dot .slick-dots li {
  width: var(--size-item);
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.home_page .slider-nav .slider-dot .slick-dots li.slick-active button {
  background: var(--main-color);
}
.home_page .slider-nav .slider-dot .slick-dots button {
  width: 100%;
  height: 100%;
  border: 0;
  text-indent: -1000px;
  border-radius: 1.5px;
  background: var(--clr-bg2);
  overflow: hidden;
  cursor: pointer;
}
.home_page .slider-nav .slider-arrow {
  display: flex;
}
.home_page .slider-nav .slider-arrow .slick-arrow {
  position: relative;
}
.home_page .slider-nav .slider-arrow .slick-arrow.slick-disabled {
  pointer-events: none;
  border-color: var(--clr-gray2);
}
.home_page .slider-nav .slider-arrow .slick-arrow.slick-disabled::before {
  background-color: var(--clr-gray2);
}
@media only screen and (min-width: 769px) {
  .home_page .slider-nav {
    font-size: min(0.8vw, 10px);
    gap: 2.5em;
  }
  .home_page .slider-nav .slider-arrow {
    gap: 2em;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
}
.idx01 {
  background-color: var(--clr-bg2);
}
.idx01 .idx_slider {
  --size-item: 34.4em;
  --mx-item: 1.2em;
}
.idx01 .idx_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
}
.idx01 .idx_slider:not(.slick-slider) .item:not(:first-child) {
  display: none;
}
.idx01 .idx_slider .item {
  margin: 0 var(--mx-item);
  width: var(--size-item);
}
.idx01 .idx_slider .slick-arrow {
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
  .idx01 {
    padding: clamp(60px, 7.8vw, 93px) 0 calc(round(down, 15.625vw, 1px) + 69px);
  }
  .idx01 .wrap-title {
    margin-bottom: 42px;
  }
  .idx01 .idx_slider {
    font-size: min(0.78vw, 10px);
    --size-item: 34.4em;
    --mx-item: 1.2em;
  }
  .idx01 .idx_slider picture img {
    border-radius: 20px;
  }
  .idx01 .idx_slider .slick-next {
    right: calc(50% - (var(--size-item) + var(--mx-item) * 2) * 1.5 - 1.6em);
  }
  .idx01 .idx_slider .slick-prev {
    left: calc(50% - (var(--size-item) + var(--mx-item) * 2) * 1.5 - 1.6em);
  }
}
.idx02 {
  position: relative;
  background-color: #fff;
  z-index: 0;
}
.idx02::before, .idx02::after {
  content: "";
  position: absolute;
  width: 100vw;
  left: calc(50% - 50vw);
  z-index: -1;
}
.idx02::before {
  aspect-ratio: 128/20;
  top: calc(round(down, 15.625vw, 1px) * -1);
  background: url("../images/idx02_decor01.png") no-repeat center/cover;
}
.idx02::after {
  aspect-ratio: 1280/432;
  bottom: 0;
  max-height: 432px;
  background: url("../images/idx02_decor02.png") no-repeat center/cover;
}
.idx02 .wrap {
  width: calc(100% - 20px);
  max-width: 1150px;
  margin: 0 auto;
}
.idx02 .wrap-title::after {
  content: "";
  position: absolute;
  width: 10em;
  aspect-ratio: 100/114;
  background: url("../images/idx02_decor03.svg") no-repeat center/cover;
}
.idx02 .idx_box {
  display: flex;
}
.idx02 .idx_box .box_img {
  max-width: 236px;
}
.idx02 .idx_box .ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.7419354839;
  color: var(--main-color);
}
.idx02 .idx_box .txt p {
  line-height: 2.125;
  letter-spacing: 0.12em;
}
@media only screen and (min-width: 769px) {
  .idx02 {
    padding: 15px 0 clamp(80px, 10vw, 114px);
  }
  .idx02 .wrap {
    padding-left: 10px;
  }
  .idx02 .wrap-title {
    margin-left: 10px;
    margin-bottom: 73px;
  }
  .idx02 .wrap-title h2 {
    margin-bottom: -12px;
  }
  .idx02 .wrap-title::before {
    top: 0.8em;
  }
  .idx02 .wrap-title::after {
    bottom: -4.7em;
    left: calc(100% - 1em);
  }
  .idx02 .idx_box {
    justify-content: space-between;
  }
  .idx02 .idx_box .box_img {
    width: 23%;
  }
  .idx02 .idx_box .box_img02 {
    position: relative;
    top: -157px;
  }
  .idx02 .idx_box .box_cont {
    width: 48%;
    max-width: 520px;
    padding-top: 10px;
  }
  .idx02 .idx_box .ttl {
    font-size: min(2.34vw, 26px);
    margin-bottom: 29px;
  }
}
.idx03 {
  background-color: #fff;
  border: 1px solid var(--clr-gray2);
  border-left: 0;
  border-right: 0;
}
.idx03 .wrap {
  max-width: 1280px;
  margin: 0 auto;
}
.idx03 .idx_list {
  display: flex;
}
.idx03 .idx_list .item {
  position: relative;
  max-width: 426px;
  aspect-ratio: 1/1;
}
.idx03 .idx_list .item:not(:first-child)::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0px;
  left: 0px;
  background-color: var(--clr-gray2);
}
.idx03 .idx_list .item .txt {
  width: 100%;
  height: 100%;
}
.idx03 .idx_list .item .ttl {
  position: relative;
  font-size: 2.8em;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
  text-align: center;
  z-index: 2;
  transition: all 0.3s ease;
}
.idx03 .idx_list .item .img {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
}
.idx03 .idx_list .item .img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(179, 195, 189, 0.3);
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  transition: all 0.3s ease;
}
.idx03 .idx_list .item .img picture {
  transform: scale(0.5164319249);
  transition: all 0.3s ease;
  mask-position: center center;
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-image: url(../images/idx03_img_mask.png);
  -webkit-mask-image: url(../images/idx03_img_mask.png);
}
.idx03 .idx_list .item .img .tt {
  transform: scale(0.5164319249);
  position: absolute;
  width: 100%;
  aspect-ratio: 1/1;
  inset: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  font-family: var(--f-en);
  font-weight: 300;
  font-size: 4.8409090909em;
  letter-spacing: 0.05em;
  color: #fff;
  bottom: 4px;
}
.idx03 .idx_list .item .img .tt::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background: url("../images/idx03_item_border.png") no-repeat center/cover;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.idx03 .idx_list .item .img .tt::after {
  content: "";
  position: absolute;
  width: 0.56em;
  aspect-ratio: 14/82;
  bottom: calc(-50% + 2.64em);
  left: calc(50% - 0.28em);
  --mask: url("../images/idx03_item_arrow.png");
  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: var(--main-color);
  transition: all 0.3s ease;
}
@media only screen and (min-width: 769px) {
  .idx03 .idx_list {
    font-size: min(0.845vw, 10px);
  }
  .idx03 .idx_list .item {
    width: 33.33%;
  }
  .idx03 .idx_list .item .txt {
    padding: 2.6em;
  }
  .idx03 .idx_list .item:hover .ttl {
    color: #fff;
  }
  .idx03 .idx_list .item:hover .img::before {
    opacity: 1;
    visibility: visible;
  }
  .idx03 .idx_list .item:hover .img picture {
    transform: scale(1);
    mask-image: none;
    -webkit-mask-image: none;
  }
  .idx03 .idx_list .item:hover .img .tt::before {
    opacity: 1;
    visibility: visible;
  }
  .idx03 .idx_list .item:hover .img .tt::after {
    background-color: #fff;
  }
}
.idx04 {
  background-color: #fff;
}
.idx04 .wrap {
  position: relative;
  z-index: 0;
  width: calc(100% - 20px);
  max-width: 1180px;
  margin: 0 auto;
}
.idx04 .wrap::after {
  content: "";
  position: absolute;
  width: 100vw;
  left: 0px;
  border-radius: 30px 0 0 30px;
  background-color: var(--clr-bg1);
  z-index: -1;
}
.idx04 .box_ttl .desc p {
  letter-spacing: 0.12em;
}
.idx04 .box_cont {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.idx04 .box_cont .item {
  position: relative;
  max-width: 246px;
  min-height: 9.5em;
  background-color: #fff;
  border-radius: 10px;
}
.idx04 .box_cont .item .txt {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.idx04 .box_cont .item .txt::after {
  content: "";
  position: absolute;
  background: url("../images/ico_arrow.svg") no-repeat center/cover;
}
.idx04 .box_cont .item .tt {
  position: relative;
  line-height: 1.4;
  padding-left: 3.75em;
  font-size: 1.6em;
}
.idx04 .box_cont .item .tt::before {
  content: "";
  position: absolute;
  width: 2.9375em;
  height: 2.9375em;
  top: calc(50% - 1.5em);
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.idx04 .box_cont .item1 .tt::before {
  background-image: url(../images/idx04_item1.png);
}
.idx04 .box_cont .item2 .tt::before {
  background-image: url(../images/idx04_item2.png);
}
.idx04 .box_cont .item3 .tt::before {
  background-image: url(../images/idx04_item3.png);
}
.idx04 .box_cont .item4 .tt::before {
  background-image: url(../images/idx04_item4.png);
}
.idx04 .box_cont .item5 .tt::before {
  background-image: url(../images/idx04_item5.png);
}
.idx04 .box_cont .item6 .tt::before {
  background-image: url(../images/idx04_item6.png);
}
.idx04 .box_cont .item7 .tt::before {
  background-image: url(../images/idx04_item7.png);
}
.idx04 .box_cont .item8 .tt::before {
  background-image: url(../images/idx04_item8.png);
}
.idx04 .box_cont .item9 .tt::before {
  background-image: url(../images/idx04_item9.png);
}
.idx04 .box_cont .item10 .tt::before {
  background-image: url(../images/idx04_item10.png);
}
.idx04 .box_cont .item11 .tt::before {
  background-image: url(../images/idx04_item11.png);
}
.idx04 .box_cont .item12 .tt::before {
  background-image: url(../images/idx04_item12.png);
}
.idx04 .box_cont .item13 .tt::before {
  background-image: url(../images/idx04_item13.png);
}
.idx04 .box_cont .item14 .tt::before {
  background-image: url(../images/idx04_item14.png);
}
.idx04 .box_cont .item15 .tt::before {
  background-image: url(../images/idx04_item15.png);
}
.idx04 .box_cont .item16 .tt::before {
  background-image: url(../images/idx04_item16.png);
}
.idx04 .box_cont .item17 .tt::before {
  background-image: url(../images/idx04_item17.png);
}
.idx04 .box_cont .item18 .tt::before {
  background-image: url(../images/idx04_item18.png);
}
@media only screen and (min-width: 769px) {
  .idx04 {
    padding: clamp(80px, 10vw, 119px) 0 0;
  }
  .idx04 .wrap {
    padding: 0 20px calc(round(down, 15.625vw, 1px) - 17px);
  }
  .idx04 .wrap::after {
    height: calc(100% - clamp(45px, 5.85vw, 60px));
    top: clamp(45px, 5.85vw, 60px);
  }
  .idx04 .box_ttl {
    display: flex;
    margin-bottom: 3.875em;
  }
  .idx04 .box_ttl .desc {
    width: 50%;
    max-width: 540px;
    margin-top: -10px;
  }
  .idx04 .wrap-title {
    padding-right: 4.3em;
  }
  .idx04 .wrap-title h2 {
    margin-bottom: -12px;
  }
  .idx04 .box_cont {
    font-size: min(0.8vw, 10px);
    padding: 0 30px 0 50px;
    --gap: 2.5em;
    gap: 2em var(--gap);
  }
  .idx04 .box_cont .item {
    width: calc(25% - var(--gap) * 0.75);
  }
  .idx04 .box_cont .item .txt {
    padding: 1.5em 4.7em 1.5em 1.5em;
  }
  .idx04 .box_cont .item .txt::after {
    width: round(2.5em, 1px);
    height: round(2.5em, 1px);
    top: calc(50% - 1.3em);
    right: 2em;
  }
  .idx04 .box_cont .item:hover {
    background-color: var(--main-color);
  }
  .idx04 .box_cont .item:hover .tt {
    color: #fff;
  }
  .idx04 .box_cont .item:hover .tt::before {
    filter: brightness(0) invert(1);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx04 .box_cont {
    padding: 0 10px;
    --gap: 2em;
  }
}
.idx05 {
  position: relative;
  background-color: var(--clr-bg2);
}
.idx05::before {
  content: "";
  position: absolute;
  width: 100vw;
  aspect-ratio: 128/20;
  top: calc(round(down, 15.625vw, 1px) * -1);
  left: calc(50% - 50vw);
  background: url("../images/idx05_decor01.png") no-repeat center/cover;
}
.idx05::after {
  content: "";
  position: absolute;
  width: 6.0625em;
  aspect-ratio: 97/114;
  background: url("../images/idx05_decor02.png") no-repeat center/cover;
  mix-blend-mode: multiply;
}
.idx05 .idx_box {
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
}
.idx05 .idx_box .box_img {
  max-width: 468px;
}
.idx05 .idx_box .box_cont .desc p {
  letter-spacing: 0.14em;
}
.idx05 .idx_list {
  position: relative;
  background-color: var(--clr-bg1);
  border-radius: 15px;
  max-width: 1023px;
  margin: 0 auto;
  z-index: 1;
}
.idx05 .idx_list .wrap {
  display: flex;
  flex-wrap: wrap;
}
.idx05 .idx_list .wrap .item {
  max-width: 285px;
  margin-bottom: 0;
}
.idx05 .idx_list .wrap .item a {
  position: relative;
  display: block;
  width: 100%;
  min-height: 2.5em;
  text-decoration: none;
  color: var(--clr1);
  font-size: 1.6em;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding: 0.875em 1.875em 0.875em 0;
}
.idx05 .idx_list .wrap .item a .sm {
  font-size: 0.75em;
  letter-spacing: 0.1em;
}
.idx05 .idx_list .wrap .item a::after {
  content: "";
  position: absolute;
  width: round(1.5625em, 1px);
  height: round(1.5625em, 1px);
  top: 1.125em;
  right: 0.0625em;
  background: url("../images/ico_arrow2.svg") no-repeat center/cover;
}
.idx05 .idx_list .wrap .item a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background: url("../images/idx05_ico_line.png") no-repeat left center/cover;
}
.idx05 .idx_pickup {
  margin-top: calc(var(--mt-pickup) * -1);
  position: relative;
  display: flex;
  background-color: #fff;
}
.idx05 .idx_pickup::before {
  content: "";
  position: absolute;
  border: 2px dotted var(--main-color);
  border-radius: inherit;
}
.idx05 .idx_pickup .box_img {
  max-width: 580px;
  position: relative;
  flex-shrink: 0;
  z-index: 3;
}
.idx05 .idx_pickup .ttl {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6859259259;
  color: var(--main-color);
}
.idx05 .idx_pickup .desc p {
  letter-spacing: 0.15em;
}
.idx05 .idx_pickup .btn-group {
  display: flex;
}
@media only screen and (min-width: 769px) {
  .idx05 {
    padding: 33px 0 calc(round(down, 15.625vw, 1px) + 62px);
  }
  .idx05::after {
    top: calc(round(15.625vw, 0.0625em) * -1 - 1.875em);
    right: calc(50% - 25.25em);
  }
  .idx05 .wrap-title {
    margin-bottom: 35px;
  }
  .idx05 .wrap-title h2 {
    margin-bottom: -11px;
  }
  .idx05 .wrap-title .en {
    letter-spacing: 0.075em;
  }
  .idx05 .idx_box {
    justify-content: space-between;
    padding: 0 10px;
  }
  .idx05 .idx_box .box_img {
    position: relative;
    flex-shrink: 0;
    width: 48%;
  }
  .idx05 .idx_box .box_img picture {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: flex-end;
  }
  .idx05 .idx_box .box_img picture img {
    max-width: min(48.28125vw, 618px);
    border-radius: 0 30px 30px 0;
  }
  .idx05 .idx_box .box_cont {
    width: 51%;
    max-width: 494px;
    padding-top: 3.125em;
    padding-bottom: 3.125em;
  }
  .idx05 .idx_box .box_cont .desc {
    padding-left: 3.125em;
  }
  .idx05 .idx_list {
    font-size: min(0.9vw, 10px);
    padding: 2.4em 5em 4em;
    width: calc(100% - 60px);
  }
  .idx05 .idx_list .wrap {
    gap: 0 3.4em;
  }
  .idx05 .idx_list .wrap .item {
    width: calc((100% - 3.4em * 2) / 3);
  }
  .idx05 .idx_list .wrap .item a:hover {
    opacity: 1;
    color: var(--main-color);
  }
  .idx05 .idx_pickup {
    --mt-pickup: 6.25em;
    padding: calc(var(--mt-pickup) + 4.375em) 1.6875em 1.0625em 4.875em;
    border-radius: 35px;
    justify-content: space-between;
  }
  .idx05 .idx_pickup::before {
    inset: 13px;
  }
  .idx05 .idx_pickup .box_img {
    width: 54%;
    margin-top: -83px;
  }
  .idx05 .idx_pickup .box_cont {
    padding-left: 7px;
    width: 42%;
    max-width: 440px;
  }
  .idx05 .idx_pickup .ttl {
    font-size: calc(var(--ttl_size) - 1px);
    margin-bottom: 16px;
  }
  .idx05 .idx_pickup .desc {
    margin-bottom: 36px;
  }
  .idx05 .idx_pickup .btn-group {
    gap: 15px;
  }
  .idx05 .idx_pickup .btn-group .btn1 {
    width: 36%;
    max-width: 155px;
  }
  .idx05 .idx_pickup .btn-group .btn2 {
    width: 60%;
    max-width: 250px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx05 .idx_pickup {
    padding-left: 1.6875em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx05 .idx_pickup {
    padding-bottom: 4em;
  }
}
.idx06 {
  position: relative;
  background-color: #fff;
}
.idx06::before {
  content: "";
  position: absolute;
  width: 100vw;
  aspect-ratio: 128/20;
  left: calc(50% - 50vw);
  background: url("../images/idx06_decor.png") no-repeat center/cover;
}
.idx06 .idx_slider {
  position: relative;
  z-index: 0;
}
.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 {
  width: 30em;
  margin: 0 2em;
  padding-bottom: 1.4em;
  position: relative;
}
.idx06 .idx_slider .item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background: url("../images/idx06_item_line.png") no-repeat top left/cover;
}
.idx06 .idx_slider .item picture {
  position: relative;
  margin-bottom: 1.8em;
}
.idx06 .idx_slider .item picture::before {
  content: "";
  position: absolute;
  width: round(3.5em, 1px);
  height: round(3.5em, 1px);
  bottom: 0em;
  right: 0em;
  background: url("../images/ico_arrow3.svg") no-repeat center/cover;
}
.idx06 .idx_slider .item .ttl {
  font-size: 2em;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: center;
}
.idx06 .idx_pickup {
  margin-top: calc(var(--mt-pickup) * -1);
  padding: calc(var(--mt-pickup) + 72px) 0 round(down, 15.625vw, 1px);
  background: url(../images/idx06_pickup_bg.jpg) no-repeat top center/cover;
}
.idx06 .idx_pickup .wrap {
  display: flex;
}
.idx06 .idx_pickup .box_cont .desc p {
  color: #fff;
}
.idx06 .idx_pickup .box_img {
  position: relative;
  max-width: 578px;
}
@media only screen and (min-width: 769px) {
  .idx06::before {
    top: calc(round(15.625vw, 0.0625em) * -1 + 3.5625em);
  }
  .idx06 .box_ttl {
    display: flex;
  }
  .idx06 .wrap-title {
    flex-shrink: 0;
    margin-bottom: 7.5em;
    margin-right: 6.7em;
  }
  .idx06 .wrap-title::before {
    top: 15px;
  }
  .idx06 .wrap-title h2 {
    margin-bottom: -5px;
  }
  .idx06 .slider-nav {
    padding-bottom: 30px;
  }
  .idx06 .idx_slider {
    padding-left: 3.125em;
    padding-bottom: 3.125em;
    margin-left: 3.125em;
    width: 100vw;
  }
  .idx06 .idx_slider::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 14.4375em;
    bottom: 0;
    left: 0;
    border-radius: 30px 0 0 30px;
    background-color: var(--clr-bg1);
    z-index: -1;
  }
  .idx06 .idx_slider .item {
    font-size: min(1vw, 10px);
  }
  .idx06 .idx_slider .item:hover {
    color: var(--main-color);
  }
  .idx06 .idx_pickup {
    --mt-pickup: 116px;
    padding: calc(var(--mt-pickup) + 72px) 0 round(down, 15.625vw, 1px);
  }
  .idx06 .idx_pickup .wrap {
    justify-content: space-between;
  }
  .idx06 .idx_pickup .box_cont {
    padding-top: 47px;
    max-width: 440px;
  }
  .idx06 .idx_pickup .box_cont .desc {
    margin-bottom: 37px;
  }
  .idx06 .idx_pickup .box_img {
    flex-shrink: 0;
    width: 54%;
    right: -10px;
  }
  .idx06 .idx_pickup .ttl_pickup {
    padding-right: 0;
    margin-bottom: 41px;
  }
  .idx06 .idx_pickup .ttl_pickup::after {
    right: 106px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx06 .wrap-title {
    margin-right: 2em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .idx06::before {
    top: calc(round(15.625vw, 0.0625em) * -1);
  }
}
.idx07 {
  position: relative;
  background-color: #fff;
}
.idx07::before {
  content: "";
  position: absolute;
  width: 100vw;
  aspect-ratio: 128/20;
  left: calc(50% - 50vw);
  background: url("../images/idx07_decor.png") no-repeat center/cover;
}
.idx07 .idx_slider {
  position: relative;
  z-index: 0;
  counter-reset: item;
}
.idx07 .idx_slider:not(.slick-slider) {
  display: flex;
  overflow: hidden;
}
.idx07 .idx_slider:not(.slick-slider) .item:not(:first-child) {
  display: none;
}
.idx07 .idx_slider::after {
  content: "";
  position: absolute;
  height: 4.375em;
  bottom: calc(50% - 0.625em);
  right: 0;
  background-color: #d7e8cb;
  z-index: -1;
}
.idx07 .idx_slider .item {
  counter-increment: item;
  background-color: var(--clr-bg1);
  border-radius: 15px;
}
.idx07 .idx_slider .item .content {
  display: flex;
}
.idx07 .idx_slider .item .content picture {
  max-width: 436px;
}
.idx07 .idx_slider .item .content picture img {
  border-radius: 10px;
}
.idx07 .idx_slider .item .content .txt .ttl {
  position: relative;
  font-size: 3.1em;
  font-weight: 500;
  letter-spacing: 0.1em;
  width: fit-content;
  color: var(--main-color);
  padding-bottom: 0.2581em;
  margin-bottom: 0.4516em;
}
.idx07 .idx_slider .item .content .txt .ttl::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  bottom: 0px;
  left: 0px;
  background: url("../images/idx07_ttl_line.png") repeat-x center/6px 3px;
}
.idx07 .idx_slider .item .content .txt .ttl .num {
  position: relative;
  background-color: #fff;
  border-radius: 999em;
  font-size: 0.3871em;
  font-weight: 500;
  letter-spacing: 0.1em;
  width: 6.1667em;
  height: 2.3333em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 0.4167em;
  margin-bottom: -0.1667em;
}
.idx07 .idx_slider .item .content .txt .ttl .num::after {
  content: counter(item, decimal-leading-zero);
  display: inline-block;
}
.idx07 .idx_slider .item .content .txt .ttl .num::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: calc(100% - 2px);
  left: calc(50% - 5px);
  background-color: inherit;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.idx07 .idx_slider .item .content .txt .desc {
  font-size: 1.6em;
  font-weight: 400;
  letter-spacing: 0.13em;
}
@media only screen and (min-width: 769px) {
  .idx07 {
    padding: 38px 0;
  }
  .idx07::before {
    top: calc(round(15.625vw, 0.0625em) * -1 + 4.1875em);
  }
  .idx07 .wrap-title {
    margin-bottom: 6.4em;
    margin-right: 2.1em;
  }
  .idx07 .wrap-title::before {
    top: 8px;
  }
  .idx07 .wrap-title h2 {
    margin-bottom: -12px;
  }
  .idx07 .wrap-title .en {
    letter-spacing: 0.065em;
  }
  .idx07 .box_ttl {
    display: flex;
  }
  .idx07 .slider-nav {
    padding-bottom: 41px;
  }
  .idx07 .slider-nav .slider-dot .slick-dots {
    --total-item: 5;
    --size-item: 61px;
  }
  .idx07 .idx_slider {
    padding-bottom: 3.125em;
    width: 100vw;
    margin-left: 3.125em;
  }
  .idx07 .idx_slider::after {
    width: calc(100% - 9.125em);
    border-radius: 35px 0 0 35px;
  }
  .idx07 .idx_slider .item {
    font-size: min(0.845vw, 10px);
    width: 92.1em;
    margin: 0 3.4em;
    padding: 2.5em 3.5em 2.5em 2.5em;
  }
  .idx07 .idx_slider .item .content {
    align-items: center;
    justify-content: space-between;
  }
  .idx07 .idx_slider .item .content picture {
    flex-shrink: 0;
    width: 51%;
  }
  .idx07 .idx_slider .item .content .txt {
    width: 44%;
    max-width: 375px;
    padding-top: 1em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx07 .wrap-title {
    padding-right: 0;
  }
}
.idx08 {
  background-color: #fff;
  position: relative;
  z-index: 0;
}
.idx08 .block_feature {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}
.idx08 .block_feature::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  background: #f9f8f3;
  z-index: -1;
}
.idx08 .l_feature {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.idx08 .l_feature::before {
  content: "";
  position: absolute;
  background: url(../images/idx08_illus.svg) no-repeat center/contain;
  width: 6.0625em;
  aspect-ratio: 97/116;
  mix-blend-mode: multiply;
}
.idx08 .l_feature .item {
  background-color: #ffffff;
  border-radius: 10px;
}
.idx08 .l_feature h3 {
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
  line-height: 1.5;
  text-align: center;
}
.idx08 .l_feature p {
  letter-spacing: 0.1em;
}
.idx08 .l_feature .b_img {
  position: relative;
  margin-bottom: 22px;
}
.idx08 .l_feature .b_img img {
  border-radius: 10px;
}
.idx08 .l_feature .b_img .point {
  background-color: var(--main-color);
  font-size: 12px;
  color: #ffffff;
  line-height: 1;
  text-align: center;
  max-width: 95px;
  width: 100%;
  margin: 0 auto;
  border-radius: 50px;
  padding: 8px 10px;
  position: absolute;
  bottom: -14px;
  left: 0;
  right: 0;
}
.idx08 .l_feature .b_img .point::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  right: 0;
  margin: auto;
  width: 10px;
  height: 9px;
  background-color: var(--main-color);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media only screen and (min-width: 1921px) {
  .idx08 {
    padding-bottom: 10vw;
  }
  .idx08 .block_feature::before {
    height: calc(100% + 10vw);
  }
}
@media only screen and (min-width: 769px) {
  .idx08 {
    padding: 32px 0 0;
  }
  .idx08 .wrap-title {
    margin: 0 auto 60px;
  }
  .idx08 .block_feature {
    padding-bottom: calc(round(15.625vw, 0.0625em) + 2.6875em);
  }
  .idx08 .block_feature::before {
    top: 3.4375em;
    height: 100%;
    border-radius: 6.25em 6.25em 1.25em 1.25em;
  }
  .idx08 .l_feature {
    gap: 1.5625em;
  }
  .idx08 .l_feature::before {
    top: -11.1875em;
    left: 4.6875em;
  }
  .idx08 .l_feature .item {
    width: calc((100% - 3.125em) / 3);
    padding: 24px 25px 33px;
  }
  .idx08 .l_feature .item:nth-child(3n+3), .idx08 .l_feature .item:last-child {
    margin-right: 0;
  }
  .idx08 .l_feature h3 {
    font-size: 22px;
    margin-bottom: 15px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx08 .l_feature h3 {
    font-size: min(20px, 2.2vw);
  }
  .idx08 .l_feature .item {
    padding: 12px 15px 25px;
  }
}
.idx09 {
  position: relative;
  z-index: 0;
  background-color: #fff;
}
.idx09::before {
  content: "";
  position: absolute;
  width: 100vw;
  aspect-ratio: 128/20;
  left: calc(50% - 50vw);
  background: url("../images/idx09_decor.png") no-repeat center/cover;
}
.idx09 p {
  line-height: 2.125;
}
.idx09 .subcatch {
  font-weight: 500;
  color: var(--main-color);
  line-height: 1.74;
  letter-spacing: 0.1em;
}
.idx09 .btn-group {
  display: flex;
  flex-wrap: wrap;
}
.idx09 .block_greeting {
  position: relative;
  z-index: 1;
}
.idx09 .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: #ccc;
}
.idx09 .mask img {
  object-fit: cover;
  width: 102%;
  height: 100%;
  position: relative;
  left: 0;
  top: 0;
}
.idx09 .box_img {
  position: relative;
  font-size: 10px;
}
.idx09 .box_img .img_l {
  mask-image: url(../images/idx09_img_mask_l.svg);
  -webkit-mask-image: url(../images/idx09_img_mask_l.svg);
  width: 53.5em;
  height: 62.5em;
}
.idx09 .box_img .img_s {
  mask-image: url(../images/idx09_img_mask_s.svg);
  -webkit-mask-image: url(../images/idx09_img_mask_s.svg);
  width: 18.5em;
  height: 21.1em;
  position: absolute;
}
.idx09 .box_name {
  position: absolute;
  width: 16.2em;
  height: 19.2em;
  z-index: 1;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
}
.idx09 .box_name::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/idx09_name_bg.svg) no-repeat center/contain;
  z-index: -1;
}
.idx09 .box_name p {
  color: #ffffff;
  writing-mode: vertical-rl;
  font-weight: 500;
  line-height: 1;
}
.idx09 .box_name .pos {
  font-size: 1.2em;
  margin-left: 0.9166666667em;
}
.idx09 .box_name .name {
  font-size: 1.4em;
}
.idx09 .box_name .name span {
  font-size: 1.7142857143em;
  letter-spacing: 0.1em;
  margin-top: 0.5416666667em;
}
@media only screen and (min-width: 1921px) {
  .idx09::before {
    top: -10vw;
  }
  .idx09 .block_greeting {
    margin-top: -6vw;
  }
}
@media only screen and (min-width: 1281px) and (max-width: 1920px) {
  .idx09::before {
    top: -50px;
  }
}
@media only screen and (min-width: 769px) {
  .idx09 {
    padding: 0 0 25px;
  }
  .idx09::before {
    top: calc(round(15.625vw, 0.0625em) * -1 + 4.8125em);
  }
  .idx09 .wrap-title {
    margin-left: -5em;
    margin-bottom: 25px;
  }
  .idx09 .wrap-title h2 {
    margin-bottom: -11px;
  }
  .idx09 .subcatch {
    font-size: 31px;
    margin-bottom: 30px;
  }
  .idx09 .box_img {
    order: 2;
    width: 49%;
    right: -2.4em;
    top: -12.2em;
    align-self: flex-start;
  }
  .idx09 .box_img .img_s {
    top: -1.4em;
    left: -19.7em;
  }
  .idx09 .box_name {
    bottom: -5.4em;
    left: 5.6em;
    padding-top: 3.1em;
    padding-left: 0.3em;
  }
  .idx09 .box_cont {
    order: 1;
    width: 48%;
  }
  .idx09 .btn-group {
    margin-top: 38px;
  }
  .idx09 .btn-group .btn {
    margin-right: 15px;
    max-width: 180px;
    width: calc((100% - 15px) / 2);
  }
  .idx09 .btn-group .btn:last-child {
    margin-right: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx09 .wrap-title {
    margin-left: 0;
  }
  .idx09 .subcatch {
    font-size: 24px;
  }
  .idx09 .box_name {
    padding-top: 2em;
  }
  .idx09 .box_img {
    font-size: min(10px, 0.85vw);
  }
}
.idx_gallery {
  position: relative;
  z-index: 0;
  background-color: #ffffff;
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .img {
  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: #ccc;
  mask-image: url(../images/mask-square.svg);
  -webkit-mask-image: url(../images/mask-square.svg);
}
.idx_gallery .list .img img {
  object-fit: cover;
  height: 100%;
  position: relative;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 769px) {
  .idx_gallery {
    padding-bottom: 100px;
  }
  .idx_gallery .list .item2, .idx_gallery .list .item4 {
    margin-top: 70px;
  }
  .idx_gallery .list .img {
    margin: 0 25px;
    max-width: 345px;
  }
  .idx_gallery .list .img img {
    width: 102%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_gallery .list {
    display: flex;
  }
  .idx_gallery .list .item2, .idx_gallery .list .item4 {
    margin-top: 50px;
  }
  .idx_gallery .list .img {
    max-width: 220px;
    margin: 0 15px;
  }
}
/*# sourceMappingURL=index_pc.css.map */