@charset "UTF-8";
/**
 * Swiper 8.3.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 26, 2022
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-next + .swiper-slide, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: auto;
  border-radius: 5px;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

.scroll-hint-shadow-wrap {
  position: relative;
}

.scroll-hint-shadow-wrap::after {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

.scroll-hint-shadow-wrap::before {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after,
.scroll-hint-shadow-wrap.is-right-scrollable::after {
  opacity: 1;
  visibility: visible;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before,
.scroll-hint-shadow-wrap.is-left-scrollable::before {
  opacity: 1;
  visibility: visible;
}

html {
  font-size: 62.5%;
}

@media (max-width: 1130px) {
  html {
    font-size: 0.8849557522vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 62.5%;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 2.6666666667vw;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #111111;
  background-color: #FFF9F3;
}

a,
button {
  transition: 0.3s;
}

a:hover,
button:hover {
  opacity: 0.7;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  a:hover,
  button:hover {
    opacity: 1;
  }
}
/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* ==============================================================
 * Kawaru Team LP — コンポーネント別スタイルシート
 * ページ上のセクション表示順に構成しています。
 *
 * 目次
 *   1.  デザイントークン（CSSカスタムプロパティ）
 *   2.  ヘッダー：PC表示 & モバイルドロワーメニュー (l-header)
 *   3.  共通レイアウト：コンテナ幅 (l-inner)
 *   4.  汎用コンポーネント：CTAバナー (c-cta-banner)
 *   5.  汎用コンポーネント：CTAボタン (c-cta-btn)
 *   6.  セクション：ヒーロー / ファーストビュー (p-hero)
 *   7.  導入企業ロゴスライダー (p-client-logos)
 *   8.  セクション：お悩み訴求 (p-problem)
 *   9.  セクション：Kawaru Teamとは (p-about)
 *   10.  セクション：Kawaru Teamが選ばれる理由 (p-reason)
 *   11.  セクション：研修前後の変化 Before/After (p-benefit)
 *   12.  セクション：研修内容 (p-training)
 *   13.  セクション：プロ人材紹介 (p-coach)
 *   14.  セクション：導入事例スライダー (p-case)
 *   15.  セクション：料金プラン (p-price-plan)
 *   16.  助成金訴求：バナー & 活用例 (p-price__grant-*)
 *   17.  セクション：サービス導入の流れ (p-flow)
 *   18.  セクション：よくある質問 (p-faq)
 *   19.  セクション：お問い合わせ・資料請求フォーム (p-contact)
 *   20.  フッター (l-footer)
 *   21. 表示切り替えユーティリティ (u-desktop / u-mobile)
 * ============================================================== */
/* ----- 1. デザイントークン ----- */
:root {
  /* Brand colors */
  --color-primary: #FC8319;
  --color-primary-hover: #F7750B;
  /* Text colors */
  --color-text: #111111;
  --color-text-secondary: #242428;
  --color-white: #fff;
  /* Font stacks */
  --font-jp: "Noto Sans JP", sans-serif;
  --font-en: "Inter", sans-serif;
}

.l-header {
  position: sticky;
  top: 22px;
  left: 0;
  width: 100%;
  z-index: 100;
  padding: 0 2rem;
}
.l-header__card {
  background-color: #FFFEFD;
  border-radius: 1rem;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
  padding: 1.4rem 2.8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 120rem;
  margin: 0 auto;
  position: relative;
  z-index: 101;
}
.l-header__logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.l-header__logo-img {
  height: 2.496rem;
  width: auto;
  object-fit: contain;
}
.l-header__nav {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-left: auto;
  margin-right: 3rem;
}
.l-header__nav-link {
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.2s;
}
.l-header__nav-link:hover {
  color: var(--color-primary);
}
.l-header__cta {
  display: flex;
  align-items: center;
  gap: 1.04rem;
}
.l-header__btn-request {
  background-color: var(--color-text);
  color: var(--color-white);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  padding: 1.2rem 2rem;
  border-radius: 0.5rem;
  text-decoration: none;
  transition: opacity 0.2s;
}
.l-header__btn-request:hover {
  opacity: 0.85;
}
.l-header__btn-contact {
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  padding: 1.2rem 2rem;
  border-radius: 0.5rem;
  text-decoration: none;
  transition: background-color 0.2s;
}
.l-header__btn-contact:hover {
  background-color: var(--color-primary-hover);
}
.l-header__drawer-btn {
  display: none;
  background-color: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  width: 4rem;
  height: 4rem;
  position: relative;
  z-index: 102;
  padding: 0;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.l-header__drawer-btn span {
  display: block;
  width: 2.2rem;
  height: 2px;
  background-color: var(--color-text);
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.l-header__drawer-btn.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.l-header__drawer-btn.is-active span:nth-child(2) {
  opacity: 0;
}
.l-header__drawer-btn.is-active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.l-header__drawer-btn.is-active span {
  background-color: var(--color-text);
}
.l-header__drawer {
  display: none;
}
.l-header__drawer-inner {
  width: 100%;
  height: 100%;
  padding: 9rem 2.4rem 4rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.l-header__drawer-nav, .l-header__drawer-cta {
  position: relative;
  z-index: 1;
}
.l-header__drawer-nav {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.l-header__drawer-link {
  display: block;
  background-color: transparent;
  border-bottom: 1px solid #f3f4f6;
  border-radius: 0;
  box-shadow: none;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-text);
  text-decoration: none;
  padding: 0 0 1.2rem;
}
.l-header__drawer-link::before {
  display: none;
}
.l-header__drawer-link:hover {
  color: var(--color-primary);
}
.l-header__drawer-cta {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-top: 2.4rem;
}
.l-header__drawer-btn-request, .l-header__drawer-btn-contact {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 1.4rem 0;
  border-radius: 0.8rem;
  text-decoration: none;
  box-shadow: none;
}
.l-header__drawer-btn-request {
  background-color: var(--color-text);
  color: var(--color-white);
}
.l-header__drawer-btn-contact {
  background-color: var(--color-primary);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .l-header__card {
    padding: 1.2rem 1.6rem;
  }
  .l-header__logo-img {
    height: 2.8rem;
  }
  .l-header__nav {
    display: none;
  }
  .l-header__cta {
    display: none;
  }
  .l-header__drawer-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
  }
  .l-header__drawer {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: rgba(255, 255, 255, 0.98);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .l-header__drawer.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

@media screen and (max-width: 767px) {
  body.is-drawer-open {
    overflow: hidden;
    overscroll-behavior: none;
  }
}
.l-inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-width: 960px;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
  /*再利用可能な CTAバナーコンポーネント*/
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

.p-flow .l-inner,
.p-reason .l-inner,
.p-hero .l-inner {
  max-width: 1130px;
}

.c-cta-banner {
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 4rem 0;
  position: relative;
  overflow: hidden;
}
.c-cta-banner__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
}
.c-cta-banner__title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-white);
  margin-bottom: 2rem;
  text-align: center;
  line-height: 1.6;
}
.c-cta-banner__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  width: 100%;
  max-width: 96rem;
  margin: 0 auto;
}
.c-cta-banner {
  /*再利用可能な 2大CVボタンコンポーネント*/
}
@media screen and (max-width: 767px) {
  .c-cta-banner__title {
    font-size: 2.2rem;
    margin-bottom: 2.4rem;
  }
  .c-cta-banner__grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
}

.c-cta-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3rem;
  border-radius: 1rem;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}
.c-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.c-cta-btn--white {
  background-color: var(--color-white);
  border: 3px solid #2AB320;
  color: var(--color-text);
}
.c-cta-btn--yellow {
  background-color: #2AB320;
  color: var(--color-text);
}
.c-cta-btn {
  /*お問い合わせはこちら のテキストを白にする*/
}
.c-cta-btn--yellow .c-cta-btn__text {
  color: #ffffff;
}
.c-cta-btn__left {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.c-cta-btn__badge {
  background-color: var(--color-white);
  color: #2AB320;
  border: 1px solid #2AB320;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.4rem 1rem;
  border-radius: 0.5rem;
  white-space: nowrap;
  line-height: 1.6;
}
.c-cta-btn--white .c-cta-btn__badge {
  background-color: #2AB320;
  color: var(--color-white);
}
.c-cta-btn__text {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1;
}
.c-cta-btn__arrow {
  width: 2.2rem;
  height: 2.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.c-cta-btn__arrow img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-cta-btn {
  /*矢印を白にする（画像が黒系の場合に反転）*/
}
.c-cta-btn--yellow .c-cta-btn__arrow img {
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 767px) {
  .c-cta-btn__text {
    font-size: 1.5rem;
  }
}

.p-hero {
  background-color: #FFF9F3;
  padding: 7.2rem 0 4rem;
  overflow: hidden;
}
.p-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5.9rem;
  align-items: center;
}
.p-hero__badge-top {
  display: inline-block;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.4rem 1.6rem;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  line-height: 1.6;
  letter-spacing: 4%;
}
.p-hero__title {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-text);
  margin-bottom: 1.4rem;
}
.p-hero__title .u-highlight {
  color: var(--color-primary);
  font-size: 4.8rem;
  font-weight: 700;
}
.p-hero__title .u-highlight--black {
  color: var(--color-text);
  font-size: 4rem;
}
.p-hero__title .u-purple {
  color: var(--color-primary);
  font-size: 4.8rem;
  font-weight: 700;
}
.p-hero__desc {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 4.7rem;
  max-width: 49rem;
}
.p-hero__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 49rem;
}
.p-hero__metric-card {
  background-color: var(--color-primary);
  color: var(--color-white);
  border-radius: 0.8rem;
  padding: 2.9rem 1.2rem 1.9rem;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-hero__metric-icon {
  position: absolute;
  top: -2.7rem;
  left: 50%;
  transform: translateX(-50%);
  width: 4.5rem;
  height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
}
.p-hero__metric-value {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.2;
}
.p-hero__metric-value strong {
  font-size: 3.6rem;
}
.p-hero__metric-value span:last-child {
  font-size: 2rem;
}
.p-hero__metric-value span.-f28 {
  font-size: 2.8rem;
}
.p-hero {
  /*右側イラスト*/
}
.p-hero__visual {
  width: 48rem;
  max-width: 100%;
  margin: 0 auto;
}
.p-hero__visual img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-hero {
    padding: 4.6rem 0 3.6rem;
  }
  .p-hero__grid {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
  .p-hero__badge-top {
    font-size: 1.3rem;
    padding: 0.4rem 1.2rem;
    margin-bottom: 1.2rem;
    border-radius: 0.6rem;
  }
  .p-hero__title {
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
  }
  .p-hero__title .u-highlight {
    font-size: 3.2rem;
  }
  .p-hero__title .u-purple {
    font-size: 3.2rem;
  }
  .p-hero__desc {
    font-size: 1.4rem;
    line-height: 1.65;
    margin-bottom: 3.2rem;
  }
  .p-hero__metrics {
    width: 100%;
    max-width: 100%;
    gap: 0.8rem;
  }
  .p-hero__metric-card {
    padding: 2.2rem 0.4rem 1.2rem;
    border-radius: 0.6rem;
  }
  .p-hero__metric-icon {
    top: -2rem;
    width: 3.8rem;
    height: 3.8rem;
  }
  .p-hero__metric-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .p-hero__metric-value strong {
    font-size: 2.4rem;
  }
  .p-hero__metric-value span.-f28 {
    font-size: 1.8rem;
  }
  .p-hero__metric-value span:last-child {
    font-size: 1.1rem;
  }
  .p-hero__metric-value {
    font-size: 1.2rem;
    line-height: 1.3;
  }
  .p-hero__visual {
    width: 100%;
    max-width: 34rem;
  }
}

.p-client-logos {
  background-color: var(--color-white);
  padding: 6.24rem 0 6.24rem;
  overflow: hidden;
}
.p-client-logos__title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 2.3rem;
  line-height: 1.6;
}
.p-client-logos__slider {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.p-client-logos__slider::before, .p-client-logos__slider::after {
  content: "";
  position: absolute;
  top: 0;
  width: 8rem;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.p-client-logos__slider::before {
  left: 0;
  background: linear-gradient(to right, var(--color-white) 0%, rgba(255, 255, 255, 0) 100%);
}
.p-client-logos__slider::after {
  right: 0;
  background: linear-gradient(to left, var(--color-white) 0%, rgba(255, 255, 255, 0) 100%);
}
.p-client-logos__track {
  display: flex;
  align-items: center;
  gap: 2.3rem;
  width: max-content;
  animation: marquee 50s linear infinite;
}
.p-client-logos__item {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22.3rem;
  padding: 0 1.2rem;
}
.p-client-logos__item img {
  max-height: 100%;
  width: auto;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-client-logos {
    padding: 3.6rem 0 4.4rem;
  }
  .p-client-logos__title {
    font-size: 1.6rem;
    margin-bottom: 2.4rem;
    letter-spacing: -0.02em;
    font-feature-settings: "palt";
  }
  .p-client-logos__slider::before, .p-client-logos__slider::after {
    width: 2.4rem;
  }
  .p-client-logos__track {
    gap: 1.5rem;
  }
  .p-client-logos__item {
    width: 14.6rem;
    height: auto;
    padding: 0;
  }
  .p-client-logos__item img {
    width: 100%;
    height: auto;
  }
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.p-problem {
  background-color: #E8E8E8;
  padding: 8.32rem 0;
}
.p-problem__header {
  text-align: center;
  margin-bottom: 4rem;
}
.p-problem__title {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: 1rem;
  letter-spacing: 0;
}
.p-problem__title .u-purple {
  color: var(--color-primary);
}
.p-problem__subtitle {
  font-size: 1.6rem;
  color: var(--color-text);
  font-weight: 400;
}
.p-problem__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  max-width: 96rem;
  margin: 0 auto;
}
.p-problem__card {
  background-color: var(--color-white);
  border: 2px solid var(--color-text);
  border-radius: 1rem;
  padding: 3rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-problem__tag {
  display: inline-block;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.4rem;
  font-weight: 400;
  padding: 0.3rem 2rem;
  border-radius: 2rem;
  white-space: nowrap;
  margin-bottom: 1rem;
  line-height: 1.6;
}
.p-problem__card-title {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--color-text);
  text-align: center;
  line-height: 1.6;
  margin-bottom: 2rem;
  min-height: 5.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-problem__img-wrapper {
  text-align: center;
  margin-bottom: 2rem;
  width: 100%;
}
.p-problem__img-wrapper img {
  max-height: 16rem;
  width: auto;
  margin: 0 auto;
}
.p-problem__text {
  font-size: 1.6rem;
  color: var(--color-text);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-problem {
    padding: 5rem 0;
  }
  .p-problem__header {
    margin-bottom: 3.2rem;
  }
  .p-problem__title {
    font-size: 2.4rem;
  }
  .p-problem__subtitle {
    font-size: 1.3rem;
  }
  .p-problem__grid {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
  .p-problem__card-title {
    font-size: 1.8rem;
    min-height: auto;
  }
}

.p-about {
  background-color: var(--color-white);
  padding: 10rem 0;
}
.p-about__header {
  text-align: center;
  margin-bottom: 4rem;
}
.p-about__title {
  display: inline-flex;
  align-items: end;
  justify-content: center;
  gap: 0.5rem;
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 1.6rem;
  line-height: 1.6;
}
.p-about__title .u-purple {
  color: var(--color-primary);
}
.p-about__title svg {
  height: 3.6rem;
  width: auto;
}
.p-about {
  /*About セクションのロゴ横幅（デスクトップ）*/
}
.p-about__title img {
  width: 477px;
  max-width: 100%;
  height: auto;
}
.p-about__desc {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.6;
}
.p-about__diagram-wrapper {
  margin: 4rem 0 7rem;
  text-align: center;
}
.p-about__diagram-wrapper img {
  width: 100%;
  max-width: 96rem;
  height: auto;
  margin: 0 auto;
}
.p-about__diagram-sp {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
  max-width: 36rem;
  margin: 0 auto;
}
.p-about__diagram-sp img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-about {
    padding: 5rem 0;
  }
  .p-about__title {
    font-size: 1.8rem;
  }
  .p-about__title img {
    width: 293px;
  }
  .p-about__title svg {
    height: 2.4rem;
  }
  .p-about__desc {
    font-size: 1.5rem;
  }
}

.p-reason {
  background-color: #FFDEC0;
  padding: 8rem 0;
}
.p-reason__header {
  text-align: center;
  margin-bottom: 4rem;
}
.p-reason__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-text);
}
.p-reason__list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  max-width: 108rem;
  margin: 0 auto;
}
.p-reason__card {
  background-color: var(--color-white);
  border: 2px solid var(--color-text);
  border-radius: 1rem;
  padding: 4rem 6rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5.6rem;
  align-items: center;
}
.p-reason__card--featured {
  display: block;
}
.p-reason__lead {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 6rem;
  align-items: center;
}
.p-reason__card--reverse {
  grid-template-areas: "img text";
}
.p-reason__card--reverse .p-reason__content {
  grid-area: text;
}
.p-reason__card--reverse .p-reason__img-wrapper {
  grid-area: img;
}
.p-reason__content {
  width: 100%;
  min-width: 0;
}
.p-reason__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.6rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 700;
  padding: 0.3rem 2rem;
  border-radius: 10rem;
  margin-bottom: 1.4rem;
}
.p-reason__card-title {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.5;
  margin-bottom: 2.8rem;
  white-space: nowrap;
}
.p-reason__text {
  font-size: 1.6rem;
  color: var(--color-text-secondary);
  line-height: 2;
}
.p-reason__img-wrapper {
  width: 100%;
  margin: 0 auto;
  max-width: 48rem;
}
.p-reason__img-wrapper img {
  width: 100%;
  aspect-ratio: 8/5;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 1.2rem;
}
.p-reason__flow {
  margin-top: 3rem;
}
.p-reason__flow-callout {
  position: relative;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 2rem;
  padding: 1.6rem 3.2rem;
  border-radius: 10rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.p-reason__flow-callout::after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 1rem 0.8rem 0 0.8rem;
  border-color: var(--color-primary) transparent transparent transparent;
}
.p-reason__flow-body {
  display: block;
}
.p-reason__flow-side {
  display: none;
}
.p-reason__flow-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.6rem;
  margin-bottom: 1.6rem;
}
.p-reason__flow-item {
  min-width: 0;
  border: 1px solid var(--color-text);
  border-radius: 1.04rem;
  background-color: var(--color-white);
  padding: 3rem 1.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.p-reason__flow-item--highlight {
  background-color: #FDEDE0;
}
.p-reason__flow-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8.8rem;
  margin-bottom: 1.456rem;
  padding: 0.416rem 2.08rem 0.312rem;
  border-radius: 10.4rem;
  background-color: #5E5E5E;
  color: var(--color-white);
  font-family: var(--font-en);
  font-size: 1.248rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.p-reason__flow-step--accent {
  background-color: var(--color-primary);
}
.p-reason__flow-item-title {
  min-height: 5.4rem;
  display: flex;
  align-items: center;
  color: var(--color-text);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-reason__flow-text {
  width: 100%;
  margin-top: 2rem;
  color: var(--color-text-secondary);
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
}
.p-reason__flow-compare {
  display: flex;
  overflow: hidden;
}
.p-reason__flow-compare-before, .p-reason__flow-compare-after {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 1.5rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
}
.p-reason__flow-compare-before {
  position: relative;
  flex: 0 0 40%;
  background-color: #E5E5E5;
  color: var(--color-text);
  clip-path: polygon(0 0, 100% 0, calc(100% - 2.4rem) 100%, 0 100%);
  z-index: 1;
}
.p-reason__flow-compare-after {
  flex: 1;
  margin-left: -4.8rem;
  padding-left: 6.4rem;
  background-color: var(--color-primary);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .p-reason {
    padding: 5rem 0;
  }
  .p-reason__header {
    margin-bottom: 3.2rem;
  }
  .p-reason__title {
    font-size: 2.4rem;
  }
  .p-reason__list {
    gap: 2.4rem;
  }
  .p-reason__card {
    grid-template-columns: 1fr;
    grid-template-areas: none !important;
    padding: 2.4rem;
    gap: 2rem;
    align-items: stretch;
  }
  .p-reason__lead {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .p-reason__card .p-reason__content {
    grid-area: auto !important;
  }
  .p-reason__card .p-reason__img-wrapper {
    grid-area: auto !important;
  }
  .p-reason__card-title {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
  .p-reason__flow {
    margin-top: 3.2rem;
  }
  .p-reason__flow-callout {
    width: 100%;
    margin: 0 auto 2.4rem;
    padding: 1.4rem 2rem;
  }
  .p-reason__flow-body {
    display: flex;
    align-items: stretch;
    gap: 1rem;
  }
  .p-reason__flow-side {
    display: flex;
    flex-direction: column;
    flex: 0 0 3.2rem;
    width: 3.2rem;
    overflow: hidden;
  }
  .p-reason__flow-side-before, .p-reason__flow-side-after {
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    padding: 1.2rem 0.4rem;
  }
  .p-reason__flow-side-before {
    position: relative;
    flex: 2;
    background-color: #E5E5E5;
    color: var(--color-text);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 2.4rem));
    z-index: 1;
  }
  .p-reason__flow-side-after {
    flex: 3;
    margin-top: -2.4rem;
    padding-top: 3.6rem;
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .p-reason__flow-side-after-brand {
    display: inline-block;
    vertical-align: middle;
    font-size: 20px;
    letter-spacing: normal;
    margin-bottom: 0.6rem;
    transform: translateX(2px);
  }
  .p-reason__flow-list {
    flex: 1;
    min-width: 0;
    grid-template-columns: 1fr;
    gap: 1.6rem;
    margin: 0;
  }
  .p-reason__flow-item {
    padding: 2.4rem 2rem;
  }
  .p-reason__flow-item-title {
    min-height: 0;
  }
  .p-reason__flow-text {
    margin-top: 1.2rem;
    font-size: 1.4rem;
  }
  .p-reason__flow-compare {
    display: none;
  }
}

.p-benefit {
  background-color: var(--color-white);
  padding: 10rem 0;
}
.p-benefit__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 4rem;
  line-height: 1.5;
}
.p-benefit__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  max-width: 960px;
  margin: 0 auto;
}
.p-benefit__card {
  width: 100%;
  background-color: var(--color-white);
  border: 2px solid var(--color-text);
  border-radius: 1.4rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.p-benefit__card-header {
  background-color: var(--color-text);
  padding: 3rem 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}
.p-benefit__metric {
  color: var(--color-white);
  font-size: 1.8rem;
  font-weight: 700;
  white-space: nowrap;
}
.p-benefit__period {
  background-color: var(--color-white);
  color: var(--color-text);
  font-size: 1.8rem;
  font-weight: 700;
  padding: 0.4rem 1.2rem;
  border-radius: 0.2rem;
  line-height: 1.2;
  white-space: nowrap;
}
.p-benefit__card-body {
  padding: 2.4rem 2rem 3rem;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.p-benefit__card-catch {
  color: var(--color-text);
  font-size: 2.4rem;
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: 1.6;
  margin-bottom: 2.4rem;
}
.p-benefit__card-catch span {
  color: var(--color-primary);
  font-weight: 700;
}
.p-benefit__divider {
  position: relative;
  text-align: center;
  margin-bottom: 2.4rem;
}
.p-benefit__divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-text);
  z-index: 1;
}
.p-benefit__divider span {
  position: relative;
  z-index: 2;
  display: inline-block;
  background-color: var(--color-text);
  color: var(--color-white);
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.6rem 1.4rem;
  line-height: 1.2;
}
.p-benefit__graph-box {
  max-width: 320px;
  width: 100%;
  margin: 0 auto;
}
.p-benefit__graph-box img {
  width: 100%;
  height: auto;
  display: block;
}
.p-benefit__note {
  max-width: 960px;
  margin: 3.2rem auto 0;
  color: #4D4D4D;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-benefit {
    padding: 5rem 0;
  }
  .p-benefit__title {
    font-size: 2.4rem;
    margin-bottom: 3.2rem;
    text-align: center;
  }
  .p-benefit__grid {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
  .p-benefit__card-header {
    padding: 2rem;
    gap: 1.4rem;
  }
  .p-benefit__metric {
    font-size: 1.6rem;
  }
  .p-benefit__period {
    font-size: 1.5rem;
    padding: 0.5rem 1.2rem;
  }
  .p-benefit__card-body {
    padding: 2.4rem 2rem;
  }
  .p-benefit__card-catch {
    font-size: 1.8rem;
    min-height: auto;
    margin-bottom: 2rem;
  }
  .p-benefit__divider {
    margin-bottom: 2rem;
  }
  .p-benefit__divider span {
    font-size: 1.4rem;
  }
  .p-benefit__note {
    margin-top: 2.4rem;
    font-size: 1.3rem;
  }
}

.p-training {
  background-color: var(--color-white);
  padding: 0 0 10rem;
}
.p-training__title {
  color: var(--color-text);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 6rem;
  text-align: center;
}
.p-training__feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 50px;
  align-items: flex-start;
}
.p-training__media {
  width: 100%;
  aspect-ratio: 1.6/1;
  border-radius: 1rem;
  overflow: hidden;
}
.p-training__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-training__content {
  min-width: 0;
}
.p-training__badge {
  display: inline-block;
  color: var(--color-white);
  background-color: var(--color-primary);
  border-radius: 10rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0.6rem 2.4rem;
  margin-bottom: 2rem;
}
.p-training__feature-title {
  color: var(--color-text-secondary);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.55;
  margin-bottom: 2.8rem;
}
.p-training__feature-title span {
  color: var(--color-primary);
}
.p-training__text {
  color: var(--color-text-secondary);
  font-size: 1.6rem;
  line-height: 2.05;
}
.p-training__department-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.2rem 2.8rem;
  margin-top: 2.08rem;
}
.p-training__department-card {
  display: grid;
  grid-template-columns: 5.6rem minmax(0, 1fr);
  align-items: center;
  gap: 1.6rem;
  background-color: var(--color-white);
  border-radius: 0.8rem;
  box-shadow: 0 0.8rem 2.8rem rgba(0, 0, 0, 0.08);
  padding: 20px;
}
.p-training__department-icon {
  display: block;
  width: 5.6rem;
  height: 5.6rem;
}
.p-training__department-body {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  min-width: 0;
}
.p-training__department-title {
  color: var(--color-text-secondary);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-training__department-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-training__department-list li {
  color: var(--color-text-secondary);
  font-size: 12px;
  line-height: 1.8;
  position: relative;
  padding-left: 1.4rem;
}
.p-training__department-list li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.p-training__feature--secondary {
  margin-top: 4.16rem;
}
@media screen and (max-width: 1023px) {
  .p-training__department-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.p-coach {
  background-color: #E7E7E7;
  padding: 8rem 0;
}
.p-coach__header {
  text-align: center;
  margin-bottom: 4rem;
}
.p-coach__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 2rem;
}
.p-coach__subtitle {
  font-size: 1.5rem;
  color: var(--color-text);
  line-height: 1.75;
  max-width: 82rem;
  margin: 0 auto;
}
.p-coach__slider-wrapper {
  position: relative;
  max-width: 96rem;
  width: 100%;
  margin: 0 auto 4rem;
}
.p-coach__swiper {
  width: 100%;
  padding-bottom: 0;
  cursor: grab;
  position: relative;
}
.p-coach__swiper:active {
  cursor: grabbing;
}
.p-coach__swiper .scroll-hint-icon {
  z-index: 30;
}
.p-coach__card {
  width: 30rem;
  height: 76.8rem;
  background-color: var(--color-white);
  border: 2px solid var(--color-text);
  border-radius: 1.6rem;
  padding: 2.4rem;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  box-shadow: none !important;
}
.p-coach__img-wrapper {
  width: 100%;
  height: 22rem;
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 2rem;
  background-color: #f3f4f6;
}
.p-coach__img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.p-coach__catch {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.45;
  margin-bottom: 0.8rem;
  min-height: 5.2rem;
  display: flex;
  align-items: center;
}
.p-coach__name {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-text);
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: solid 1px #DDDDDD;
}
.p-coach__bio {
  font-size: 1.6rem;
  color: var(--color-text);
  line-height: 2;
}
.p-coach__arrow {
  position: absolute;
  top: 41%;
  transform: translateY(-50%);
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  background-color: var(--color-white);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  color: var(--color-primary);
  transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}
.p-coach__arrow:hover {
  opacity: 0.9;
  transform: translateY(-50%) scale(1.05);
  background-color: #FFF5F0;
}
.p-coach__arrow svg {
  width: 2.496rem;
  height: 2.496rem;
}
.p-coach__arrow--prev {
  left: -5%;
}
.p-coach__arrow--next {
  right: -5%;
}
.p-coach__skills-header {
  text-align: center;
  margin-top: 8.32rem;
}
.p-coach__skills-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-coach {
    padding: 5rem 0;
  }
  .p-coach__header {
    margin-bottom: 3.2rem;
  }
  .p-coach__skills-header {
    margin-top: 0;
  }
  .p-coach__title {
    font-size: 2.4rem;
  }
  .p-coach__subtitle {
    font-size: 1.3rem;
  }
  .p-coach__slider-wrapper {
    margin-bottom: 4rem;
    padding: 0 1rem;
  }
  .p-coach__swiper {
    padding-bottom: 4rem;
  }
  .p-coach__card {
    width: 100%;
    height: auto;
  }
  .p-coach__img-wrapper {
    height: auto;
    aspect-ratio: 4/3;
  }
  .p-coach__catch {
    min-height: auto;
  }
  .p-coach__skills-title {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  .p-coach__swiper .scroll-hint-icon {
    display: none !important;
  }
}

.p-case {
  background-color: var(--color-white);
  padding: 8rem 0 10rem;
}
.p-case__header {
  text-align: center;
  margin-bottom: 4.8rem;
}
.p-case__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-text);
}
.p-case__slider-wrapper {
  position: relative;
  max-width: 96rem;
  width: 100%;
  margin: 0 auto;
}
.p-case__swiper {
  width: 100%;
  padding-bottom: 4rem;
}
.p-case__card {
  width: 100%;
  max-width: 96rem;
  margin: 0 auto;
  height: auto;
  background-color: var(--color-white);
  border: 1.5px solid var(--color-text);
  border-radius: 2rem;
  padding: 6rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.p-case__top-row {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.p-case__company {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-text);
}
.p-case__badge {
  background-color: var(--color-text);
  color: var(--color-white);
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0.4rem 2rem;
  border-radius: 100px;
}
.p-case__metric {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.6;
  margin-bottom: 0.4rem;
}
.p-case__catchphrase {
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.6;
  margin-bottom: 1.6rem;
}
.p-case__catchphrase .u-purple {
  color: var(--color-primary);
}
.p-case__content-grid {
  display: grid;
  grid-template-columns: 33rem 48rem;
  gap: 2.8rem;
  align-items: stretch;
}
.p-case__img-wrapper {
  width: 100%;
  max-width: 33rem;
  height: 100%;
  min-height: 24rem;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #f3f4f6;
}
.p-case__img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.p-case__details {
  width: 100%;
  max-width: 48rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.p-case__box {
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  background-color: var(--color-white);
}
.p-case__box-tag {
  width: 7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-white);
  flex-shrink: 0;
  padding: 1.2rem 0;
}
.p-case__box-tag--gray {
  background-color: #555555;
}
.p-case__box-tag--purple {
  background-color: var(--color-primary);
}
.p-case__box-content {
  padding: 2rem 2.5rem 2rem 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 1.4rem;
  color: var(--color-text);
  line-height: 1.75;
  font-family: var(--font-jp);
}
.p-case__bullets {
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-case__bullets li {
  font-size: 1.4rem;
  color: var(--color-text);
  line-height: 2;
  font-feature-settings: "palt";
}
.p-case__bullets li:last-child {
  margin-bottom: 0;
}
.p-case__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  background-color: #FFF1E8;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  color: var(--color-primary);
  transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}
.p-case__arrow:hover {
  opacity: 0.85;
  transform: translateY(-50%) scale(1.05);
  background-color: #FFE5D5;
}
.p-case__arrow svg {
  width: 2.2rem;
  height: 2.2rem;
}
.p-case__arrow--prev {
  left: -3%;
}
.p-case__arrow--next {
  right: -3%;
}
.p-case__pagination {
  bottom: 0 !important;
}
.p-case__pagination .swiper-pagination-bullet {
  background-color: #E5E7EB;
  opacity: 1;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  margin: 0 0.5rem !important;
  transition: background-color 0.3s ease;
}
.p-case__pagination .swiper-pagination-bullet-active {
  background-color: var(--color-primary);
  width: 1rem;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-case {
    padding: 5rem 0;
  }
  .p-case__header {
    margin-bottom: 3.2rem;
  }
  .p-case__title {
    font-size: 2.4rem;
  }
  .p-case__slider-wrapper {
    padding: 0 1rem;
  }
  .p-case__card {
    padding: 2.4rem 2rem;
    border-radius: 1.6rem;
  }
  .p-case__top-row {
    gap: 1rem;
    margin-bottom: 1.6rem;
  }
  .p-case__company {
    font-size: 1.6rem;
  }
  .p-case__badge {
    font-size: 1.2rem;
    padding: 0.3rem 1.2rem;
  }
  .p-case__metric {
    font-size: 1.8rem;
  }
  .p-case__catchphrase {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
  .p-case__content-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .p-case__img-wrapper {
    max-width: 100%;
    height: auto;
    aspect-ratio: 16/10;
    min-height: auto;
  }
  .p-case__details {
    max-width: 100%;
  }
  .p-case__box-tag {
    width: 6rem;
    font-size: 1.2rem;
  }
  .p-case__box-content {
    padding: 1.2rem 1.4rem;
  }
  .p-case__arrow {
    display: none;
  }
}

.p-price-plan {
  background-color: #EFEFEF;
  padding: 10.2rem 0 6.8rem;
}
.p-price-plan__header {
  text-align: center;
}
.p-price-plan__title {
  color: var(--color-text);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2.4rem;
}
.p-price-plan__subtitle {
  color: var(--color-text-secondary);
  font-size: 1.8rem;
  line-height: 2;
}
.p-price-plan__card {
  width: 100%;
  max-width: 350px;
  margin: 6rem auto 0;
  border-radius: 2.4rem;
  background: linear-gradient(135deg, #F77300 0%, #FF963B 100%);
  box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, 0.12);
  padding: 0 0.48rem 0.48rem;
}
.p-price-plan__card-name {
  color: var(--color-white);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  padding: 3.3rem 2rem 2.7rem;
}
.p-price-plan__card-body {
  background-color: var(--color-white);
  border-radius: 0 0 1.8rem 1.8rem;
  padding: 4.8rem 2.1rem 4rem;
}
.p-price-plan__card-price {
  color: var(--color-text);
  line-height: 1;
  text-align: center;
}
.p-price-plan__card-price strong {
  font-family: var(--font-en);
  font-size: 5.3rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.p-price-plan__card-price span {
  font-size: 1.6rem;
  font-weight: 700;
  margin-left: 0.4rem;
}
.p-price-plan__card-divider {
  border: 0;
  border-top: 1px solid #DDDDDD;
  margin: 3rem 0;
}
.p-price-plan__card-list {
  width: fit-content;
  list-style: none;
  margin: 0 auto;
  padding: 0;
}
.p-price-plan__card-list li {
  position: relative;
  color: var(--color-text);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 3.4rem;
}
.p-price-plan__card-list li:not(:last-child) {
  margin-bottom: 1.8rem;
}
.p-price-plan__card-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background-color: var(--color-primary);
}
.p-price-plan__card-list li::after {
  content: "";
  position: absolute;
  left: 0.6rem;
  top: 0.8rem;
  width: 0.8rem;
  height: 0.5rem;
  border-left: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
  transform: rotate(-45deg);
}
.p-price-plan .p-price__grant-banner {
  width: 100%;
  max-width: none;
  margin-top: 7rem;
}
.p-price-plan .p-price__grant-note {
  max-width: 72rem;
}
@media screen and (max-width: 767px) {
  .p-price-plan {
    padding: 5rem 0;
  }
  .p-price-plan__title {
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
  }
  .p-price-plan__subtitle {
    font-size: 1.5rem;
    line-height: 1.9;
    text-align: left;
  }
  .p-price-plan__subtitle br {
    display: none;
  }
  .p-price-plan__card {
    margin-top: 3.2rem;
  }
  .p-price-plan__card-name {
    font-size: 1.8rem;
  }
  .p-price-plan__card-body {
    padding: 3.2rem 2.8rem 3.6rem;
  }
  .p-price-plan__card-price strong {
    font-size: 4rem;
  }
}

.p-price__grant-examples {
  margin-top: 7rem;
}

.p-price__grant-examples-title {
  color: var(--color-text);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 4rem;
}

.p-price__grant-examples-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.2rem;
}

.p-price__grant-example {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-price__grant-example-card {
  width: 100%;
  border: 2px solid var(--color-text);
  border-radius: 1.4rem;
  background-color: var(--color-white);
  overflow: hidden;
}

.p-price__grant-example-name {
  background-color: var(--color-text);
  color: var(--color-white);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  padding: 1.8rem 1.6rem;
}

.p-price__grant-example-body {
  padding: 2.8rem 2.8rem 3.2rem;
}

.p-price__grant-example-row {
  color: var(--color-text-secondary);
  font-size: 1.8rem;
  line-height: 2.1;
}

.p-price__grant-example-row strong {
  font-weight: 700;
}

.p-price__grant-example-before {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2.2rem;
}

.p-price__grant-example-before-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #727272;
  color: var(--color-white);
  border-radius: 10rem;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.9rem 1.4rem;
  white-space: nowrap;
  letter-spacing: 0.05em;
}

.p-price__grant-example-before-amount {
  color: var(--color-text);
  font-size: 4rem;
  font-family: var(--font-en);
  font-weight: 700;
  line-height: 1;
}

.p-price__grant-example-before-amount span {
  font-size: 2.4rem;
  font-weight: 700;
  margin-left: 0.4rem;
}

.p-price__grant-example-arrow {
  width: 140px;
  height: 64px;
  margin: 0 0 0.8rem;
  background-color: var(--color-text);
  clip-path: polygon(22% 0, 78% 0, 78% 42%, 100% 42%, 50% 100%, 0 42%, 22% 42%);
}

.p-price__grant-example-after {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 1.28rem;
  border: 2px solid var(--color-text);
  border-radius: 1.4rem;
  background-color: var(--color-white);
  padding: 30px;
}

.p-price__grant-example-after-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #FEDA0F;
  color: var(--color-text);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  padding: 0.7rem 3.4rem 0.7rem 2.4rem;
  clip-path: polygon(0 0, 82% 0, 100% 50%, 82% 100%, 0 100%);
}

.p-price__grant-example-after-amount {
  color: var(--color-primary);
  font-family: var(--font-en);
  font-size: 72px;
  font-weight: 700;
  line-height: 1;
}

.p-price__grant-example-after-amount span {
  font-size: 24px;
  font-weight: 700;
  margin-left: 0.2rem;
}

@media screen and (max-width: 767px) {
  .p-price__grant-examples-grid {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-training {
    padding: 5rem 0;
  }
  .p-training__title {
    font-size: 2.4rem;
    margin-bottom: 3.2rem;
  }
  .p-training__feature {
    grid-template-columns: 1fr;
    gap: 2.8rem;
  }
  .p-training__media {
    border-radius: 0.8rem;
  }
  .p-training__badge {
    font-size: 1.4rem;
    margin-bottom: 1.6rem;
    padding: 0.6rem 1.8rem;
  }
  .p-training__feature-title {
    font-size: 2.4rem;
    line-height: 1.55;
    margin-bottom: 2rem;
  }
  .p-training__text {
    font-size: 1.5rem;
    line-height: 2;
  }
  .p-training__department-grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    margin-top: 4rem;
  }
  .p-training__department-card {
    grid-template-columns: 4.8rem minmax(0, 1fr);
    gap: 1.6rem;
    min-height: auto;
    padding: 20px;
  }
  .p-training__department-icon {
    width: 4.8rem;
    height: 4.8rem;
  }
  .p-training__department-body {
    gap: 1rem;
  }
  .p-training__department-title {
    font-size: 1.6rem;
  }
  .p-training__department-list li {
    font-size: 1.4rem;
  }
  .p-training__feature--secondary {
    margin-top: 5rem;
  }
  .p-price__grant-examples {
    margin-top: 4.8rem;
  }
  .p-price__grant-examples-title {
    font-size: 2rem;
    margin-bottom: 2.4rem;
  }
  .p-price__grant-examples-grid {
    gap: 3.2rem;
  }
  .p-price__grant-example-name {
    font-size: 1.7rem;
    padding: 1.6rem;
  }
  .p-price__grant-example-body {
    padding: 2.4rem 2rem 2.8rem;
  }
  .p-price__grant-example-row {
    font-size: 1.5rem;
    line-height: 1.9;
  }
  .p-price__grant-example-before {
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.6rem;
  }
  .p-price__grant-example-before-amount {
    font-size: 2.8rem;
  }
  .p-price__grant-example-arrow {
    width: 5.6rem;
    height: 3.6rem;
    margin-bottom: 1.6rem;
  }
  .p-price__grant-example-after {
    max-width: 100%;
    gap: 1.2rem;
    padding: 1.6rem 2rem;
  }
  .p-price__grant-example-after-label {
    flex-shrink: 0;
    font-size: 1.3rem;
    padding: 0.8rem 1.2rem;
    padding-right: 1.8rem;
  }
  .p-price__grant-example-after-amount {
    font-size: 4rem;
    white-space: nowrap;
  }
}
.p-price__grant-banner {
  background-color: #FFF6F0;
  border: 2px solid var(--color-text);
  border-radius: 1rem;
  padding: 5rem 1.4rem 4rem;
  max-width: 96rem;
  margin: 0 auto;
  display: flex;
  align-items: end;
  justify-content: space-between;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-price__grant-banner {
    flex-direction: column;
    padding: 2.8rem 2rem;
    gap: 2rem;
  }
}
.p-price__grant-img-sp {
  width: 100%;
  max-width: 36rem;
  height: auto;
  margin: 0 auto;
  display: block;
}

.p-price__grant-badge {
  position: absolute;
  top: -1.8rem;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 2rem;
  font-weight: 500;
  padding: 0.4rem 2rem;
  border-radius: 10rem;
  white-space: nowrap;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .p-price__grant-badge {
    font-size: 1.4rem;
    padding: 0.4rem 2.4rem;
    top: -1.5rem;
  }
}
.p-price__grant-illu {
  height: 16rem;
  width: auto;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .p-price__grant-illu {
    height: 12rem;
  }
}
.p-price__grant-illu--left {
  height: 18rem;
  margin-right: 1.6rem;
}

@media screen and (max-width: 767px) {
  .p-price__grant-illu--left {
    margin-right: 0;
  }
}
.p-price__grant-illu--right {
  margin-left: 1.6rem;
}

@media screen and (max-width: 767px) {
  .p-price__grant-illu--right {
    margin-left: 0;
    order: 3;
  }
}
.p-price__grant-content {
  flex: 1;
  text-align: center;
}

.p-price__grant-head {
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 0.8rem;
}

@media screen and (max-width: 767px) {
  .p-price__grant-head {
    font-size: 1.8rem;
  }
}
.p-price__grant-main {
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 1.6rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .p-price__grant-main {
    font-size: 1.8rem;
  }
}
.p-price__grant-highlight {
  background-color: #FEDA0F;
  color: var(--color-text);
  font-weight: 700;
  line-height: 1;
  padding: 0.208rem 0.416rem;
  margin: 0 0.208rem;
  display: inline-block;
  letter-spacing: 5%;
}

@media screen and (max-width: 767px) {
  .p-price__grant-highlight {
    font-size: 3rem;
  }
}
.p-price__grant-f50 {
  font-size: 5rem;
  font-family: var(--font-en);
}

.p-price__grant-note {
  font-size: 1.4rem;
  color: #4D4D4D;
  line-height: 1.6;
  max-width: 66rem;
  margin: 0 auto;
  text-align: left;
}

.p-flow {
  background-color: var(--color-white);
  padding: 10rem 0;
}
.p-flow__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 4.8rem;
  letter-spacing: -0.01em;
}
.p-flow__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2.08rem;
}
.p-flow__card {
  background-color: var(--color-white);
  border: 1px solid var(--color-text);
  border-radius: 1rem;
  padding: 3rem 1.6rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
  /*PC表示時: カード間の横方向の破線コネクタ*/
}
.p-flow__card:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -2.1rem;
  width: 2.1rem;
  height: 0;
  border-top: 1.5px dashed var(--color-text);
  transform: translateY(-50%);
  z-index: 1;
}
.p-flow__step-pill {
  display: inline-block;
  color: var(--color-white);
  font-size: 1.3rem;
  font-weight: 800;
  padding: 0.4rem 2rem;
  border-radius: 2rem;
  margin-bottom: 1.6rem;
  letter-spacing: 0.05em;
  font-family: var(--font-en);
}
.p-flow__step-pill--1 {
  background-color: #FFB574;
}
.p-flow__step-pill--2 {
  background-color: #FFAA5F;
}
.p-flow__step-pill--3 {
  background-color: #FF9639;
}
.p-flow__step-pill--4 {
  background-color: var(--color-primary);
}
.p-flow__step-pill--5 {
  background-color: var(--color-primary);
}
.p-flow__card-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.6;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-flow__icon-wrapper {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.6rem;
  color: var(--color-text);
}
.p-flow__icon-wrapper svg, .p-flow__icon-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-flow__text {
  font-size: 1.4rem;
  color: var(--color-text-secondary);
  line-height: 1.65;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-flow {
    padding: 5rem 0;
  }
  .p-flow__title {
    font-size: 2.4rem;
    margin-bottom: 3.6rem;
  }
  .p-flow__grid {
    grid-template-columns: 1fr;
    gap: 3.2rem;
    max-width: 44rem;
    margin: 0 auto;
  }
  .p-flow__card:not(:last-child)::after {
    top: auto;
    bottom: -3.2rem;
    left: 50%;
    right: auto;
    width: 0;
    height: 3.2rem;
    border-top: none;
    border-left: 1.5px dashed #262626;
    transform: translateX(-50%);
  }
  .p-flow__card-title {
    font-size: 1.8rem;
    min-height: auto;
  }
  .p-flow__text {
    font-size: 1.4rem;
  }
}

.p-faq {
  background-color: var(--color-white);
  padding: 0 8rem 10rem;
}
.p-faq__title {
  font-size: 3.2rem;
  font-weight: 800;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 4rem;
  line-height: 1.6;
}
.p-faq__list {
  max-width: 98rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.p-faq__item {
  border-bottom: 1px solid #e5e7eb;
  padding: 2.4rem 0;
}
.p-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-text);
  cursor: pointer;
  user-select: none;
  padding: 0.4rem 0;
}
.p-faq__icon {
  width: 2.8rem;
  height: 2.8rem;
  background-color: var(--color-text);
  color: var(--color-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}
.p-faq__icon::after {
  content: "＋";
  font-size: 1.4rem;
  font-weight: 700;
}
.p-faq__answer {
  display: none;
  padding-top: 1.6rem;
  padding-bottom: 0.8rem;
  padding-right: 4rem;
  font-size: 1.5rem;
  color: #4b5563;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .p-faq {
    padding: 5rem 0;
  }
  .p-faq__title {
    font-size: 2.4rem;
    margin-bottom: 3.2rem;
  }
  .p-faq__question {
    font-size: 1.5rem;
  }
  .p-faq__answer {
    font-size: 1.4rem;
    padding-right: 0;
  }
}

.is-open .p-faq__icon::after {
  content: "✕";
  font-size: 1.4rem;
  font-weight: 700;
}

.p-contact {
  background-color: var(--color-primary);
  padding: 8rem 0;
}
.p-contact__header {
  text-align: center;
  margin-bottom: 4rem;
}
.p-contact__title {
  font-size: 3.2rem;
  font-weight: 500;
  color: var(--color-white);
  line-height: 1.6;
}
.p-contact__subtitle {
  font-size: 1.4rem;
  margin-top: 3rem;
  color: var(--color-white);
  line-height: 2;
}
.p-contact__card-wrapper {
  max-width: 84rem;
  margin: 0 auto;
}
.p-contact__tab-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
}
.p-contact__tab-btn {
  background-color: #2AB320;
  color: var(--color-white);
  font-size: 1.8rem;
  font-weight: 600;
  padding: 1.8rem 2.4rem;
  text-align: center;
  border-radius: 1.6rem 1.6rem 0 0;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}
.p-contact__tab-btn:hover {
  background-color: #239A1B;
}
.p-contact__tab-btn.is-active {
  background-color: #f3f4f6;
  color: var(--color-text);
}
.p-contact__form-card {
  background-color: #f3f4f6;
  border-radius: 0 0 1.6rem 1.6rem;
  padding: 4.8rem;
  font-size: 1.6rem;
}
.p-contact__tab-content {
  display: none;
}
.p-contact__tab-content.is-active {
  display: block;
}
.p-contact__form-title {
  font-size: 2rem;
  font-weight: 600;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 3rem;
}
.p-contact__field {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.p-contact__field:not(:first-child) {
  margin-top: 3rem;
}
.p-contact__label {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: 0.4rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.p-contact__label .u-required {
  color: #ef4444;
  font-weight: 700;
}
.p-contact__input, .p-contact__textarea {
  width: 100%;
  padding: 1.2rem 1.6rem;
  border: 1px solid #d1d5db;
  border-radius: 0.8rem;
  font-size: 1.4rem;
  background-color: var(--color-white);
  color: var(--color-text);
  transition: border-color 0.2s;
}
.p-contact__input:focus, .p-contact__textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(245, 138, 53, 0.1);
}
.p-contact__input::placeholder, .p-contact__textarea::placeholder {
  color: #9ca3af;
}
.p-contact__textarea {
  min-height: 14rem;
  resize: vertical;
}
.p-contact__privacy {
  text-align: center;
  margin-top: 1.6rem;
}
.p-contact__privacy-text {
  font-size: 1.2rem;
  color: #6b7280;
  margin-bottom: 1.2rem;
}
.p-contact__privacy-text a {
  color: var(--color-text);
  text-decoration: underline;
}
.p-contact__privacy-text a:hover {
  color: var(--color-primary);
}
.p-contact__privacy-agree {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--color-text);
  cursor: pointer;
}
.p-contact__privacy-agree input[type=checkbox] {
  accent-color: var(--color-primary);
  width: 1.8rem;
  height: 1.8rem;
}
.p-contact__privacy-agree .u-required {
  color: #ef4444;
}
.p-contact__submit-btn {
  width: 100%;
  background-color: #2AB320;
  color: var(--color-white);
  font-size: 2.08rem;
  font-weight: 700;
  padding: 1.6rem;
  border-radius: 0.52rem;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.1s;
  margin-top: 3.12rem;
}
.p-contact__submit-btn:hover {
  background-color: var(--color-primary-hover);
}
.p-contact {
  /*Contact Form 7：ラジオボタンの自由記述欄（その他）のスタイル調整*/
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding: 5rem 0;
  }
  .p-contact__title {
    font-size: 2.4rem;
  }
  .p-contact__subtitle {
    font-size: 1.3rem;
  }
  .p-contact__tab-btn {
    font-size: 1.5rem;
    padding: 1.4rem 1.6rem;
  }
  .p-contact__form-card {
    padding: 2.8rem 1.8rem;
  }
  .p-contact__form-title {
    font-size: 1.7rem;
    margin-bottom: 2.4rem;
  }
}

.wpcf7-radio {
  display: flex;
  flex-direction: column;
  gap: 1.04rem;
}

.wpcf7-list-item {
  display: block;
  margin: 0;
}

.wpcf7-list-item.has-free-text {
  display: flex;
  align-items: center;
}

.wpcf7-free-text {
  flex: 1;
  width: auto;
  margin-top: 0;
  margin-left: 1.56rem;
  padding: 0.52rem 0.78rem;
  border: 1px solid #ccc;
  border-radius: 0.39rem;
  box-sizing: border-box;
}

.l-footer {
  background-color: #121212;
  color: var(--color-white);
  padding: 6rem 0 3.2rem;
}
.l-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.l-footer__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
}
.l-footer__logo {
  display: inline-block;
  text-decoration: none;
}
.l-footer__logo-img {
  width: 24.9rem;
  height: auto;
  display: block;
}
.l-footer__nav-group {
  display: flex;
  gap: 6rem;
}
.l-footer__nav-col {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.l-footer__nav-link {
  color: #e4e4e7;
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s;
}
.l-footer__nav-link:hover {
  color: var(--color-white);
  text-decoration: underline;
}
.l-footer__nav-link--privacy {
  margin-top: 0.8rem;
  color: #a1a1aa;
  font-size: 1.3rem;
}
.l-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 2.4rem;
}
.l-footer__copyright {
  font-size: 1.2rem;
  color: #a1a1aa;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .l-footer__content {
    flex-direction: column;
    gap: 3.2rem;
  }
  .l-footer__logo-img {
    width: 18rem;
  }
  .l-footer__nav-group {
    gap: 4rem;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  .u-desktop {
    display: none;
  }
}
.u-mobile {
  display: none;
}

@media screen and (max-width: 767px) {
  .u-mobile {
    display: block;
  }
}