@charset "UTF-8";
:root {
  --container-size-sm: 720px;
  --container-size-md: 1024px;
  --container-size-lg: 1240px;
  --container-padding: 20px;
  --leading-trim: calc((1em - 1lh) / 2);
  --color-black: #000;
  --color-black-rgb: 0 0 0;
  --color-white: #fff;
  --color-white-rgb: 255 255 255;
  --color-base: #222;
  --color-base-rgb: 34 34 34;
  --color-primary: #06B6D4;
  --color-primary-rgb: 6 182 212;
  --color-error: #ff0000;
  --color-error-rgb: 255 0 0;
  --color-gray-50: #f9fafb;
  --color-gray-50-rgb: 249 250 251;
  --color-gray-100: #f3f4f6;
  --color-gray-100-rgb: 243 244 246;
  --color-gray-200: #e5e7eb;
  --color-gray-200-rgb: 229 231 235;
  --color-gray-300: #d1d5db;
  --color-gray-300-rgb: 209 213 219;
  --color-gray-400: #9ca3af;
  --color-gray-400-rgb: 156 163 175;
  --color-gray-500: #6b7280;
  --color-gray-500-rgb: 107 114 128;
  --color-gray-600: #4b5563;
  --color-gray-600-rgb: 75 85 99;
  --color-gray-700: #374151;
  --color-gray-700-rgb: 55 65 81;
  --color-gray-800: #1f2937;
  --color-gray-800-rgb: 31 41 55;
  --color-gray-900: #111827;
  --color-gray-900-rgb: 17 24 39;
  --color-gray-950: #030712;
  --color-gray-950-rgb: 3 7 18;
  --leading-none: 1;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 32px;
  --text-4xl: 36px;
  --text-5xl: 48px;
  --text-6xl: 60px;
  --text-7xl: 72px;
  --font-thin: 100;
  --font-extra-light: 200;
  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semi-bold: 600;
  --font-bold: 700;
  --font-extra-bold: 800;
  --font-black: 900;
  --font-extra-black: 950;
  --font-base: "游ゴシック体", yugothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --font-mincho: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  --font-noto: "Noto Sans JP", "游ゴシック体", yugothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --font-alphameric: "Montserrat", "Noto Sans JP", "游ゴシック体", yugothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --transition-duration-short: 0.2s;
  --transition-duration: 0.4s;
  --transition-ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
  --transition-ease-out-quad: cubic-bezier(0.11, 0, 0.5, 0);
  --transition-ease-in-out-quad: cubic-bezier(0.11, 0, 0.5, 0);
}

.section-fv {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding: 490px 0 200px;
}
@media (max-width: 767.98px) {
  .section-fv {
    padding: 295px 0 50px;
  }
}

.section-fv .section-fv-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  border-bottom-left-radius: 1200px 400px;
  border-bottom-right-radius: 1200px 400px;
  right: -10vw;
  left: -10vw;
}
@media (min-width: 1440px) {
  .section-fv .section-fv-bg {
    border-bottom-left-radius: 1200px 320px;
    border-bottom-right-radius: 1200px 320px;
  }
}

.section-fv .section-fv-bg::before {
  display: block;
  content: "";
  position: absolute;
  z-index: 2;
  background-color: rgb(var(--color-gray-2-rgb)/0.4);
  mix-blend-mode: multiply;
  border-bottom-left-radius: 1200px 400px;
  border-bottom-right-radius: 1200px 400px;
  right: -10vw;
  left: -10vw;
  inset: 0;
}
@media (min-width: 1440px) {
  .section-fv .section-fv-bg::before {
    border-bottom-left-radius: 1200px 320px;
    border-bottom-right-radius: 1200px 320px;
  }
}

.section-fv-content {
  position: relative;
  z-index: 2;
  padding-inline: var(--container-padding);
  padding-left: 10%;
}
@media (max-width: 767.98px) {
  .section-fv-content {
    padding-inline: var(--container-padding);
  }
}

#section-fv-slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
#section-fv-slider :is(.splide__track, .splide__list, .splide__slide) {
  height: 100%;
}
#section-fv-slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-left-radius: 1200px 400px;
  border-bottom-right-radius: 1200px 400px;
  right: -10vw;
  left: -10vw;
  inset: 0;
}
@media (min-width: 1440px) {
  #section-fv-slider img {
    border-bottom-left-radius: 1200px 320px;
    border-bottom-right-radius: 1200px 320px;
  }
}

@media (max-width: 767.98px) {
  .section-fv-title {
    width: min(360px, 100%);
  }
}

.section-fv-text {
  margin-top: 30px;
}

.section-about {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-top: -150px;
  padding: 320px 0 270px;
  background-color: var(--color-gray-1);
}
@media (max-width: 767.98px) {
  .section-about {
    padding: 240px 0 235px;
  }
}

.section-about-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  border-bottom-left-radius: 1200px 400px;
  border-bottom-right-radius: 1200px 400px;
  right: -10vw;
  left: -10vw;
}
@media (min-width: 1440px) {
  .section-about-bg {
    border-bottom-left-radius: 1200px 320px;
    border-bottom-right-radius: 1200px 320px;
  }
}
.section-about-bg::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: var(--color-gray-1);
}
.section-about-bg::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 984px;
  height: 815px;
  z-index: 2;
  background: url(../img/top/about_img_pc.png) no-repeat left center;
}
@media (max-width: 1439.98px) {
  .section-about-bg::after {
    width: 1440px;
    left: 50%;
    transform: translateX(-50%);
  }
}

.section-about-bg + * {
  position: relative;
  z-index: 2;
}

.section-about-title {
  flex: 1;
}

.section-about-content {
  width: min(550px, 45.8333333%);
}
@media (max-width: 767.98px) {
  .section-about-content {
    width: 100%;
  }
}

.section-business {
  position: relative;
  margin-top: -160px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .section-business {
    padding-top: 220px;
  }
}

.section-business-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  border-top-left-radius: 1200px 320px;
  border-top-right-radius: 1200px 320px;
  right: -10vw;
  left: -10vw;
}
.section-business-bg::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: var(--color-white);
}

.section-business-bg + * {
  position: relative;
  z-index: 2;
}

.section-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 50px;
  margin-bottom: 80px;
}
@media (max-width: 767.98px) {
  .section-header {
    gap: 40px;
    margin-bottom: 40px;
  }
}
.section-header .vertical-title {
  margin-bottom: 0;
}

.section-news {
  background-color: var(--color-gray-1);
}

.section-news-inner {
  display: flex;
  gap: 13.3333333%;
}

@media (min-width: 768px) {
  .section-news-primary .section-news-title {
    margin-bottom: 0;
  }
}

.section-news-secondary {
  flex: 1;
}

@media (max-width: 767.98px) {
  #slider-column {
    display: flex;
    flex-direction: column;
  }
}
@media (scripting: none) {
  #slider-column {
    visibility: visible;
  }
  #slider-column .slider-inner {
    margin-right: 0 !important;
  }
}
@media (scripting: none) and (max-width: 1023.98px) {
  #slider-column .slider-inner {
    margin-inline: 0 !important;
  }
}
@media (scripting: none) {
  #slider-column .splide__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}

#slider-column .splide__arrows {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (max-width: 767.98px) {
  #slider-column .splide__arrows {
    order: 1;
    justify-content: flex-end;
    gap: 5px;
  }
}

#slider-column .splide__arrow {
  position: static;
  transform: initial;
  opacity: 1;
  width: auto;
  height: auto;
}
#slider-column .splide__arrow.splide__arrow--prev {
  rotate: 180deg;
}

#slider-column .slider-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 50px;
}
@media (max-width: 767.98px) {
  #slider-column .slider-top {
    display: contents;
  }
}

#slider-column .slider-top .btn-wrapper {
  margin: 0;
}
@media (max-width: 767.98px) {
  #slider-column .slider-top .btn-wrapper {
    order: 3;
  }
}

#slider-column .slider-inner {
  margin-right: calc(50% - 50vw);
}
@media (max-width: 1023.98px) {
  #slider-column .slider-inner {
    margin: 40px calc(50% - 50vw) 50px;
    order: 2;
  }
}

.section-business-header-text {
  display: grid;
  gap: 2em;
}
