@charset "UTF-8";
.p-index-section {
  position: relative;
}
@media screen and (min-width: 835px) {
  .p-index-section {
    margin-top: min(8.785vw, 132px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-section {
    margin-top: min(21.333vw, 88px);
  }
}
.p-index-lead {
  font-weight: 500;
  line-height: 2;
}
@media screen and (min-width: 835px) {
  .p-index-lead {
    font-size: clamp(11.9px, 1.025vw, 15.4px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-lead {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
  }
}
@media screen and (min-width: 835px) {
  .p-index-lead.--center {
    text-align: center;
  }
}
.p-index-title {
  color: #131313;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  position: relative;
}
@media screen and (min-width: 835px) {
  .p-index-title {
    font-size: clamp(30.6px, 2.635vw, 39.6px);
    margin-bottom: min(4.392vw, 66px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-title {
    font-size: clamp(23.8px, 7.467vw, 30.8px);
    margin-bottom: min(9.6vw, 39.6px);
  }
}
.p-index-title > small {
  color: #1593d6;
  font-family: "Inter", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: block;
  margin-bottom: 0.25em;
}
@media screen and (min-width: 835px) {
  .p-index-title > small {
    font-size: clamp(13.6px, 1.171vw, 17.6px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-title > small {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}
.p-index-title.--white {
  color: #ffffff;
}
.p-index-title.--white > small {
  color: #ffffff;
}
.p-index-title.--center {
  text-align: center;
}
@media screen and (min-width: 835px) {
  .p-index-title__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    margin-bottom: min(5.857vw, 88px);
  }
  .p-index-title__flex > * {
    margin: 0;
  }
}
@media screen and (max-width: 834px) {
  .p-index-title__flex {
    margin-bottom: min(10.667vw, 44px);
  }
}
@media screen and (min-width: 835px) {
  .p-index-title__flex .p-index-lead {
    margin-left: min(2.928vw, 44px);
    padding-bottom: 1em;
  }
}
@media screen and (min-width: 835px) {
  .p-index-title__button {
    margin-left: min(5.271vw, 79.2px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-title__button {
    margin-top: min(10.667vw, 44px);
  }
}
.p-index-kv {
  width: 100%;
  position: relative;
}
.p-index-kv__title {
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 835px) {
  .p-index-kv__title {
    width: 35.2855051245vw;
    bottom: min(5.857vw, 88px);
    left: min(14.641vw, 220px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-kv__title {
    width: min(66.667vw, 275px);
    bottom: min(14.667vw, 60.5px);
  }
}
@media screen and (max-width: 834px) and (min-width: 541px) {
  .p-index-kv__title {
    left: min(26.667vw, 110px);
  }
}
@media screen and (max-width: 540px) {
  .p-index-kv__title {
    left: min(14.667vw, 60.5px);
  }
}
.p-index-kv__image__slider {
  margin-right: 0;
  margin-left: auto;
  position: relative;
  overflow: hidden;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  z-index: 0;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: opacity;
}
.p-index-kv__image__slider.is-hide {
  opacity: 0;
}
@media screen and (min-width: 835px) {
  .p-index-kv__image__slider {
    width: calc(100% - min(8.785vw, 132px));
    height: min(57.101vw, 858px);
    max-height: calc(100svh - min(2.928vw, 44px));
    border-bottom-left-radius: min(7.321vw, 110px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-kv__image__slider {
    height: min(153.6vw, 633.6px);
    max-height: calc(100svh - min(5.333vw, 22px));
    border-bottom-left-radius: min(26.667vw, 110px);
  }
}
@media screen and (max-width: 834px) and (min-width: 541px) {
  .p-index-kv__image__slider {
    width: calc(100% - min(16vw, 66px));
  }
}
@media screen and (max-width: 540px) {
  .p-index-kv__image__slider {
    width: calc(100% - min(8vw, 33px));
  }
}
.p-index-kv__image__slider__slide {
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: clip-path, transform;
  image-rendering: auto;
  contain: style layout paint;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  clip-path: inset(0 0 0 0);
  -webkit-transition: clip-path 0.75s cubic-bezier(0, 0, 0.15, 0.99);
  transition: clip-path 0.75s cubic-bezier(0, 0, 0.15, 0.99);
}
.p-index-kv__image__slider__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  image-rendering: auto;
  overflow: hidden;
  display: block;
  will-change: transform;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.p-index-kv__image__slider__slide.is-next {
  clip-path: inset(0 0 0 100%);
  z-index: 0;
  contain: style layout paint;
}
.p-index-kv__image__slider__slide.is-next img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.p-index-kv__image__slider__slide.is-turn {
  clip-path: inset(0 100% 0 0);
  z-index: -1;
  contain: style layout paint;
}
.p-index-kv__image__slider__slide.is-turn img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.p-index-kv__image__slider__slide:not(.is-next):not(.is-turn) {
  z-index: 1;
}
.p-index-kv__scroll {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: absolute;
  bottom: 0;
  z-index: 1;
}
@media screen and (min-width: 835px) {
  .p-index-kv__scroll {
    height: min(40.996vw, 616px);
    left: min(3.514vw, 52.8px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-kv__scroll {
    height: min(112.533vw, 464.2px);
  }
}
@media screen and (max-width: 834px) and (min-width: 541px) {
  .p-index-kv__scroll {
    left: min(5.333vw, 22px);
  }
}
@media screen and (max-width: 540px) {
  .p-index-kv__scroll {
    left: min(2.133vw, 8.8px);
  }
}
.p-index-kv__scroll__text {
  color: #131313;
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: sideways;
  padding-left: 0.25em;
}
@media screen and (min-width: 835px) {
  .p-index-kv__scroll__text {
    font-size: min(1.098vw, 16.5px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-kv__scroll__text {
    font-size: min(2.667vw, 11px);
  }
}
.p-index-kv__scroll__line {
  width: 2px;
  background-color: #e6e6e6;
  border-radius: 8px;
  position: absolute;
  bottom: 0;
  left: auto;
  right: auto;
  overflow: hidden;
}
@media screen and (min-width: 835px) {
  .p-index-kv__scroll__line {
    height: min(8.053vw, 121px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-kv__scroll__line {
    height: min(29.333vw, 121px);
  }
}
.p-index-kv__scroll__line::after {
  content: "";
  width: 2px;
  background-color: #003ac1;
  border-radius: 8px;
  position: absolute;
  left: 0;
  -webkit-animation: scrolldown 2.5s ease-in-out infinite;
          animation: scrolldown 2.5s ease-in-out infinite;
}
@media screen and (min-width: 835px) {
  .p-index-kv__scroll__line::after {
    height: min(4.392vw, 66px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-kv__scroll__line::after {
    height: min(16vw, 66px);
  }
}
@-webkit-keyframes scrolldown {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
  }
}
@keyframes scrolldown {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
  }
}
.p-index-service__list {
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 835px) {
  .p-index-service__list {
    -ms-grid-columns: 1fr min(5.857vw, 88px) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: min(5.857vw, 88px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-service__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: min(10.667vw, 44px);
  }
}
.p-index-service__item {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 835px) {
  .p-index-service__item {
    border-radius: min(4.392vw, 66px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-service__item {
    border-radius: min(10.667vw, 44px);
  }
}
.p-index-service__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 0;
}
.p-index-service__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 835px) {
  .p-index-service__bg img {
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  }
}
.p-index-service__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
}
@media screen and (min-width: 835px) {
  .p-index-service__link {
    height: clamp(476px, 40.996vw, 616px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-service__link {
    height: clamp(326.4px, 102.4vw, 422.4px);
  }
}
.p-index-service__link::before, .p-index-service__link::after {
  content: "";
  position: absolute;
}
.p-index-service__link::before {
  width: 100%;
  height: 100%;
  background-color: #131313;
  opacity: 0.35;
  top: 0;
  left: 0;
  z-index: 1;
}
.p-index-service__link::after {
  aspect-ratio: 1/1;
  border-color: #ffffff;
  border-style: solid;
  border-radius: 50%;
  z-index: 2;
}
@media screen and (min-width: 835px) {
  .p-index-service__link::after {
    width: min(5.564vw, 83.6px);
    border-width: 2px;
    bottom: min(1.464vw, 22px);
    right: min(1.464vw, 22px);
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
  }
}
@media screen and (max-width: 834px) {
  .p-index-service__link::after {
    width: min(11.733vw, 48.4px);
    border-width: 1px;
    bottom: min(4.267vw, 17.6px);
    right: min(4.267vw, 17.6px);
  }
}
.p-index-service__link svg {
  fill: #ffffff;
  position: absolute;
  z-index: 3;
}
@media screen and (min-width: 835px) {
  .p-index-service__link svg {
    width: min(1.171vw, 17.6px);
    bottom: min(3.807vw, 57.2px);
    right: min(3.66vw, 55px);
    -webkit-transition: fill 0.4s ease;
    transition: fill 0.4s ease;
  }
}
@media screen and (max-width: 834px) {
  .p-index-service__link svg {
    width: min(2.4vw, 9.9px);
    bottom: min(9.067vw, 37.4px);
    right: min(8.8vw, 36.3px);
  }
}
@media (hover: hover) {
  .p-index-service__link:hover::after {
    background-color: #ffffff;
  }
  .p-index-service__link:hover svg {
    fill: #131313;
  }
  .p-index-service__link:hover .p-index-service__bg img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-index-service__inner {
  color: #ffffff;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 835px) {
  .p-index-service__inner {
    padding: 0 min(7.906vw, 118.8px) min(4.1vw, 61.6px) min(4.392vw, 66px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-service__inner {
    padding: 0 min(22.933vw, 94.6px) min(8.533vw, 35.2px) min(4vw, 16.5px);
  }
}
.p-index-service__title {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 835px) {
  .p-index-service__title {
    font-size: clamp(30.6px, 2.635vw, 39.6px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-service__title {
    font-size: clamp(23.8px, 7.467vw, 30.8px);
  }
}
.p-index-service__text {
  font-weight: 500;
  line-height: 2;
}
@media screen and (min-width: 835px) {
  .p-index-service__text {
    font-size: clamp(13.6px, 1.171vw, 17.6px);
    margin-top: min(4.392vw, 66px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-service__text {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
    margin-top: min(5.333vw, 22px);
  }
}
.p-index-product {
  background-color: #f5f7fa;
  margin-left: auto;
}
@media screen and (min-width: 835px) {
  .p-index-product {
    width: calc(100% - min(8.785vw, 132px));
    border-top-left-radius: min(7.321vw, 110px);
    border-bottom-left-radius: min(7.321vw, 110px);
    padding-block: min(7.321vw, 110px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-product {
    border-top-left-radius: min(13.333vw, 55px);
    border-bottom-left-radius: min(13.333vw, 55px);
    padding-block: min(16vw, 66px);
  }
}
@media screen and (max-width: 834px) and (min-width: 541px) {
  .p-index-product {
    width: calc(100% - min(16vw, 66px));
  }
}
@media screen and (max-width: 540px) {
  .p-index-product {
    width: calc(100% - min(8vw, 33px));
  }
}
.p-index-product__inner {
  margin-inline: auto;
}
@media screen and (min-width: 835px) {
  .p-index-product__inner {
    max-width: min(74.963vw, 1126.4px);
    padding: 0 min(7.321vw, 110px);
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }
}
@media screen and (max-width: 834px) {
  .p-index-product__inner {
    padding-left: min(4vw, 16.5px);
    padding-right: min(12vw, 49.5px);
  }
}
@media screen and (min-width: 835px) {
  .p-index-case {
    padding-block: min(7.321vw, 110px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-case {
    padding-top: min(19.2vw, 79.2px);
    padding-bottom: min(16vw, 66px);
  }
}
.p-index-case::before {
  content: "";
  height: 100%;
  background-color: #1593d6;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 835px) {
  .p-index-case::before {
    width: calc(100% - min(15.739vw, 236.5px));
    border-top-right-radius: min(7.321vw, 110px);
    border-bottom-right-radius: min(7.321vw, 110px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-case::before {
    border-top-right-radius: min(13.333vw, 55px);
    border-bottom-right-radius: min(13.333vw, 55px);
  }
}
@media screen and (max-width: 834px) and (min-width: 541px) {
  .p-index-case::before {
    width: calc(100% - min(16vw, 66px));
  }
}
@media screen and (max-width: 540px) {
  .p-index-case::before {
    width: calc(100% - min(8vw, 33px));
  }
}
.p-index-case::after {
  content: "";
  background-image: url("../img/index/case_illust.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  z-index: 0;
}
@media screen and (min-width: 835px) {
  .p-index-case::after {
    width: min(17.423vw, 261.8px);
    height: min(15.227vw, 228.8px);
    top: 0;
    right: min(5.857vw, 88px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-case::after {
    width: min(39.2vw, 161.7px);
    height: min(34.4vw, 141.9px);
    top: calc(min(6.4vw, 26.4px) * -1);
    right: min(7.467vw, 30.8px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-case__inner {
    padding-left: min(12vw, 49.5px);
    padding-right: min(12vw, 49.5px);
  }
}
.p-index-case__slider__container {
  margin-right: calc((100dvw - 100%) / 2 * -1);
}
.p-index-about {
  background-color: #003ac1;
  margin-inline: auto;
}
@media screen and (min-width: 835px) {
  .p-index-about {
    width: calc(100% - min(5.857vw, 88px));
    border-radius: min(7.321vw, 110px);
    padding-block: min(7.321vw, 110px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-about {
    width: 100%;
    border-radius: min(13.333vw, 55px);
    padding-top: min(26.667vw, 110px);
    padding-bottom: min(16vw, 66px);
  }
}
.p-index-about::before {
  content: "";
  background-image: url("../img/index/about_illust.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
}
@media screen and (min-width: 835px) {
  .p-index-about::before {
    width: min(16.105vw, 242px);
    height: min(18.448vw, 277.2px);
    top: calc(min(5.49vw, 82.5px) * -1);
    left: min(5.857vw, 88px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-about::before {
    width: min(37.867vw, 156.2px);
    height: min(43.467vw, 179.3px);
    top: calc(min(17.067vw, 70.4px) * -1);
    left: min(8vw, 33px);
  }
}
.p-index-about__list {
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 835px) {
  .p-index-about__list {
    -ms-grid-columns: 1fr min(4.392vw, 66px) 1fr min(4.392vw, 66px) 1fr;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: min(4.392vw, 66px);
       -moz-column-gap: min(4.392vw, 66px);
            column-gap: min(4.392vw, 66px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-about__list {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
    row-gap: min(8.533vw, 35.2px);
  }
}
.p-index-about__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 0;
}
.p-index-about__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 835px) {
  .p-index-about__bg img {
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  }
}
.p-index-about__link {
  display: block;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 835px) {
  .p-index-about__link {
    height: clamp(304.3px, 26.208vw, 393.8px);
    border-radius: min(4.392vw, 66px);
    padding-top: clamp(86.7px, 7.467vw, 112.2px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-about__link {
    height: clamp(286.45px, 89.867vw, 370.7px);
    border-radius: min(16vw, 66px);
    padding-top: clamp(86.7px, 27.2vw, 112.2px);
  }
}
.p-index-about__link::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #131313;
  opacity: 0.35;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (hover: hover) {
  .p-index-about__link:hover::after {
    background-color: #ffffff;
  }
  .p-index-about__link:hover svg {
    fill: #131313;
  }
  .p-index-about__link:hover .p-index-about__bg img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.p-index-about__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 835px) {
  .p-index-about__title {
    min-height: clamp(95.2px, 8.199vw, 123.2px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-about__title {
    min-height: clamp(86.7px, 27.2vw, 112.2px);
  }
}
.p-index-about__title > span {
  color: #ffffff;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.06em;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 835px) {
  .p-index-about__title > span {
    font-size: clamp(23.8px, 2.05vw, 30.8px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-about__title > span {
    font-size: clamp(20.4px, 6.4vw, 26.4px);
  }
}
.p-index-about__title > span > small {
  font-family: "Inter", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: block;
  margin-top: 0.25em;
}
@media screen and (min-width: 835px) {
  .p-index-about__title > span > small {
    font-size: clamp(13.6px, 1.171vw, 17.6px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-about__title > span > small {
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}
.p-index-about__button {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 835px) {
  .p-index-about__button {
    margin-top: clamp(51px, 4.392vw, 66px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-about__button {
    margin-top: clamp(47.6px, 14.933vw, 61.6px);
  }
}
.p-index-about__text {
  color: #ffffff;
  font-weight: 500;
  line-height: 2;
}
@media screen and (min-width: 835px) {
  .p-index-about__text {
    font-size: clamp(11.9px, 1.025vw, 15.4px);
    margin-top: min(1.464vw, 22px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-about__text {
    font-size: clamp(11.05px, 3.467vw, 14.3px);
    margin-top: min(5.333vw, 22px);
  }
}
.p-index-blog {
  width: 100%;
  background-color: #f5f7fa;
}
@media screen and (min-width: 835px) {
  .p-index-blog {
    padding-block: min(7.321vw, 110px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-blog {
    padding-top: min(44.8vw, 184.8px);
    padding-bottom: min(16vw, 66px);
  }
}
.p-index-blog::before, .p-index-blog::after {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
}
.p-index-blog::before {
  background-image: url("../img/index/blog_illust_01.svg");
}
@media screen and (min-width: 835px) {
  .p-index-blog::before {
    width: min(11.493vw, 172.7px);
    height: min(16.252vw, 244.2px);
    top: min(6.955vw, 104.5px);
    left: min(6.149vw, 92.4px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-blog::before {
    width: min(25.067vw, 103.4px);
    height: min(35.467vw, 146.3px);
    top: min(10.667vw, 44px);
    left: min(8vw, 33px);
  }
}
.p-index-blog::after {
  background-image: url("../img/index/blog_illust_02.svg");
}
@media screen and (min-width: 835px) {
  .p-index-blog::after {
    width: min(14.861vw, 223.3px);
    height: min(17.13vw, 257.4px);
    top: min(5.417vw, 81.4px);
    right: min(3.807vw, 57.2px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-blog::after {
    width: min(28vw, 115.5px);
    height: min(32.267vw, 133.1px);
    top: min(12.533vw, 51.7px);
    right: min(8vw, 33px);
  }
}
@media screen and (min-width: 835px) {
  .p-index-blog__category {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: min(2.05vw, 30.8px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-blog__category {
    margin-top: min(5.333vw, 22px);
  }
}
.p-index-blog__slider {
  position: relative;
}
@media screen and (min-width: 835px) {
  .p-index-blog__slider {
    margin-top: min(2.928vw, 44px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-blog__slider {
    margin-top: min(10.667vw, 44px);
  }
}
@media screen and (min-width: 835px) {
  .p-index-blog__slider .p-blog-slider__item {
    padding: 0 min(1.025vw, 15.4px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-blog__slider .p-blog-slider__item {
    padding: 0 min(1.867vw, 7.7px);
  }
}
@media screen and (min-width: 835px) {
  .p-index-blog__slider .p-blog-slider__item.swiper-slide-prev .p-blog-slider__item__inner, .p-index-blog__slider .p-blog-slider__item.swiper-slide-next .p-blog-slider__item__inner {
    translate: 0 min(4.392vw, 66px);
    padding-bottom: min(4.392vw, 66px);
  }
}
@media screen and (min-width: 835px) {
  .p-index-blog__slider .p-blog-slider__arrow {
    top: 8.0527086384vw;
  }
}
@media screen and (max-width: 834px) and (min-width: 541px) {
  .p-index-blog__slider .p-blog-slider__arrow {
    top: 15.625vw;
  }
}
@media screen and (max-width: 540px) {
  .p-index-blog__slider .p-blog-slider__arrow {
    top: 21.3333333333vw;
  }
}
@media screen and (min-width: 835px) {
  .p-index-blog__slider .p-blog-slider__arrow.--next {
    right: 5.5636896047vw;
  }
}
@media screen and (max-width: 834px) and (min-width: 541px) {
  .p-index-blog__slider .p-blog-slider__arrow.--next {
    right: 18.2291666667vw;
  }
}
@media screen and (max-width: 540px) {
  .p-index-blog__slider .p-blog-slider__arrow.--next {
    right: 2.1333333333vw;
  }
}
@media screen and (min-width: 835px) {
  .p-index-blog__slider .p-blog-slider__arrow.--prev {
    left: 5.5636896047vw;
  }
}
@media screen and (max-width: 834px) and (min-width: 541px) {
  .p-index-blog__slider .p-blog-slider__arrow.--prev {
    left: 18.2291666667vw;
  }
}
@media screen and (max-width: 540px) {
  .p-index-blog__slider .p-blog-slider__arrow.--prev {
    left: min(2.133vw, 8.8px);
  }
}
@media screen and (min-width: 835px) {
  .p-index-news__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-index-news__title {
  position: relative;
}
@media screen and (min-width: 835px) {
  .p-index-news__title {
    width: clamp(210.8px, 18.155vw, 272.8px);
    margin-right: min(8.638vw, 129.8px);
    padding-top: min(4.978vw, 74.8px);
  }
  .p-index-news__title .p-index-title {
    margin-bottom: 0;
  }
  .p-index-news__title .c-button {
    margin-top: min(2.928vw, 44px);
  }
}
.p-index-news__title::before {
  content: "";
  background-image: url("../img/index/news_illust.svg");
  background-position: center;
  background-size: contain;
  position: absolute;
}
@media screen and (min-width: 835px) {
  .p-index-news__title::before {
    width: min(13.909vw, 209px);
    height: min(18.009vw, 270.6px);
    bottom: 0;
    right: 0;
  }
}
@media screen and (max-width: 834px) {
  .p-index-news__title::before {
    width: min(27.733vw, 114.4px);
    height: min(35.733vw, 147.4px);
    top: calc(min(11.733vw, 48.4px) * -1);
    left: calc(min(8vw, 33px) * -1);
  }
}
.p-index-news__archive {
  position: relative;
}
@media screen and (min-width: 835px) {
  .p-index-news__archive {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-block: min(7.321vw, 110px);
    padding-left: min(7.321vw, 110px);
  }
  .p-index-news__archive::before {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #f5f7fa;
    border-top-left-radius: min(7.321vw, 110px);
    border-bottom-left-radius: min(7.321vw, 110px);
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 834px) {
  .p-index-news__archive {
    width: calc(100% + min(8vw, 33px));
    background-color: #f5f7fa;
    border-top-left-radius: min(13.333vw, 55px);
    border-bottom-left-radius: min(13.333vw, 55px);
    margin-top: min(14.933vw, 61.6px);
    padding: min(16vw, 66px) min(8vw, 33px) min(16vw, 66px) min(4vw, 16.5px);
  }
}
.p-index-news__archive__list {
  border-top: #e6e6e6 solid 1px;
}
.p-index-banner__list {
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 835px) {
  .p-index-banner__list {
    -ms-grid-columns: 1fr min(1.757vw, 26.4px) 1fr min(1.757vw, 26.4px) 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.757vw, 26.4px);
  }
}
@media screen and (max-width: 834px) {
  .p-index-banner__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: min(5.333vw, 22px);
  }
}
@media (hover: hover) {
  .p-index-banner__list a:hover {
    opacity: 0.75;
  }
}