/*!******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/swiper/swiper-bundle.min.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************/
/**
 * Swiper 8.4.5
 * 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: November 21, 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);
  -webkit-backface-visibility: hidden;
  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 {
  -webkit-margin-start: var(--swiper-centered-offset-before);
  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 {
  -webkit-margin-before: var(--swiper-centered-offset-before);
  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;
  -webkit-appearance: none;
  -moz-appearance: 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%;
  -o-object-fit: contain;
  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;
  -webkit-backface-visibility: hidden;
  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;
  -webkit-backface-visibility: hidden;
  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;
  -webkit-backface-visibility: hidden;
  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;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

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

.swiper-cards {
  overflow: visible;
}

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

/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/sass/index.scss ***!
  \********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}

.slick-prev:before {
  content: "←";
}

[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}

.slick-next:before {
  content: "→";
}

[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

/**
* Available vars:
* @var --viewport-from: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --viewport-to: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --font-size-from: <number> - Number in pixels without the unit. Required if `--font-size` and `--min-font-size` is not exist.
* @var --font-size-to: <number> - Number in pixels without the unit. Required if `--font-size` and `--max-font-size` is not exist.
* @var --max-font-size: <number> - Number in pixels without the unit. Optional.
* @var --min-font-size: <number> - Number in pixels without the unit. Optional.
* @var --viewport-unit-converter: 1vw | 1vh | 1vmin | 1vmax - Optional. Default: 1vw.
* @var --font-size: <length> | <percentage> | <absolute-size> | <relative-size> | Global values - Optional.
*/
* {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

/* main colors */
.button .arrow::before,
.button .arrow::after,
.typeBtn::after {
  content: "";
  -webkit-mask: url("../../images/common/link_arrow.svg");
  mask: url("../../images/common/link_arrow.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  aspect-ratio: 12/14;
}

.contactBtn::before {
  content: "";
  -webkit-mask: url("../../images/common/icon_fukidashi.svg");
  mask: url("../../images/common/icon_fukidashi.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  aspect-ratio: 1/1;
}

.wrap {
  overflow: hidden;
}

.fullwidth {
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  padding-left: calc((100vw - 100%) / 2);
  padding-right: calc((100vw - 100%) / 2);
}

.container-small,
.container-middle,
.container {
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
}

.fixPadding {
  padding-left: 50px;
  padding-right: 50px;
}

.container {
  max-width: 100%;
}

.container.padding-none,
.container .container-middle,
.container .container-small {
  padding-left: 0;
  padding-right: 0;
}

.container .container-middle {
  max-width: 1080px;
}

.container .container-small {
  max-width: 780px;
}

.container-middle {
  max-width: 100%;
}

:root {
  --color-primary: #003670;
  --color-secondary: #f7f1e8;
}

body {
  word-break: break-all;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
  color: #003670;
  line-height: 1.5;
  background: #fff;
  transition: background-color 0.5s ease-out;
  font-size: 0.875rem;
}

.dummyHeight {
  min-height: 200vh;
}

img,
svg {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

svg {
  max-width: 100%;
}

button {
  color: inherit;
  font-weight: normal;
  border: none;
  box-shadow: none;
  background: none;
}

button:hover {
  cursor: pointer;
}

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

a:hover {
  cursor: pointer !important;
  text-decoration: none;
}

ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

ul.disc {
  list-style-type: disc;
  padding-left: 1.5em;
  list-style-position: outside;
}

.tab-visible {
  display: none;
}

.tabyoko-visible {
  display: none;
}

.pc-visible {
  display: none;
}

.pcbig-visible {
  display: none;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.inline-block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

hr {
  margin: 3rem 0;
  border: none;
  height: 1px;
  width: 100%;
}

.hoverOpacity {
  transition: opacity 0.4s;
}

.hoverOpacity:hover {
  opacity: 0.6;
}

.bg-white {
  background: #fff;
}

.bg-primary {
  background: #003670;
  color: #fff;
}

.bg-beige {
  background: #2e2e2e;
}

.delay-1ms {
  animation-delay: 0.1s;
}

.delay-2ms {
  animation-delay: 0.2s;
}

.delay-3ms {
  animation-delay: 0.3s;
}

.delay-4ms {
  animation-delay: 0.4s;
}

.delay-5ms {
  animation-delay: 0.5s;
}

.delay-6ms {
  animation-delay: 0.6s;
}

.delay-7ms {
  animation-delay: 0.7s;
}

.delay-8ms {
  animation-delay: 0.8s;
}

.delay-9ms {
  animation-delay: 0.9s;
}

.delay-10ms {
  animation-delay: 1s;
}

.delay-11ms {
  animation-delay: 1.1s;
}

.delay-12ms {
  animation-delay: 1.2s;
}

.delay-13ms {
  animation-delay: 1.3s;
}

.delay-14ms {
  animation-delay: 1.4s;
}

.delay-15ms {
  animation-delay: 1.5s;
}

.delay-16ms {
  animation-delay: 1.6s;
}

.delay-17ms {
  animation-delay: 1.7s;
}

.delay-18ms {
  animation-delay: 1.8s;
}

.delay-19ms {
  animation-delay: 1.9s;
}

.delay-20ms {
  animation-delay: 2s;
}

.delay-21ms {
  animation-delay: 2.1s;
}

.delay-22ms {
  animation-delay: 2.2s;
}

.delay-23ms {
  animation-delay: 2.3s;
}

.delay-24ms {
  animation-delay: 2.4s;
}

.delay-25ms {
  animation-delay: 2.5s;
}

.delay-26ms {
  animation-delay: 2.6s;
}

.delay-27ms {
  animation-delay: 2.7s;
}

.delay-28ms {
  animation-delay: 2.8s;
}

.delay-29ms {
  animation-delay: 2.9s;
}

.delay-30ms {
  animation-delay: 3s;
}

.delay-31ms {
  animation-delay: 3.1s;
}

.delay-32ms {
  animation-delay: 3.2s;
}

.delay-33ms {
  animation-delay: 3.3s;
}

.delay-34ms {
  animation-delay: 3.4s;
}

.delay-35ms {
  animation-delay: 3.5s;
}

.delay-36ms {
  animation-delay: 3.6s;
}

.delay-37ms {
  animation-delay: 3.7s;
}

.delay-38ms {
  animation-delay: 3.8s;
}

.delay-39ms {
  animation-delay: 3.9s;
}

.delay-40ms {
  animation-delay: 4s;
}

.delay-41ms {
  animation-delay: 4.1s;
}

.delay-42ms {
  animation-delay: 4.2s;
}

.delay-43ms {
  animation-delay: 4.3s;
}

.delay-44ms {
  animation-delay: 4.4s;
}

.delay-45ms {
  animation-delay: 4.5s;
}

.delay-46ms {
  animation-delay: 4.6s;
}

.delay-47ms {
  animation-delay: 4.7s;
}

.delay-48ms {
  animation-delay: 4.8s;
}

.delay-49ms {
  animation-delay: 4.9s;
}

.delay-50ms {
  animation-delay: 5s;
}

.innerLink {
  color: #9a6e3b;
  text-decoration: underline;
}

.innerLink:hover {
  text-decoration: none;
}

.innerLink-blue {
  color: #003670;
}

.text-bold {
  font-weight: bold;
}

.text-note {
  font-size: 0.875em;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.sp-text-center {
  text-align: center !important;
}

.tab-text-center {
  text-align: left !important;
}

.tabyoko-text-center {
  text-align: left !important;
}

.pc-text-center {
  text-align: left !important;
}

.pcbig-text-center {
  text-align: left !important;
}

.tabless-text-center {
  text-align: center !important;
}

.tabyokoless-text-center {
  text-align: center !important;
}

.pcless-text-center {
  text-align: center !important;
}

.text-justify {
  text-align: justify;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.color-primary {
  color: #003670 !important;
}

.bg-primary {
  background: #003670;
}

.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.mte0 {
  margin-top: 0em !important;
}

.mbe0 {
  margin-bottom: 0em !important;
}

.mtr0 {
  margin-top: 0rem !important;
}

.mbr0 {
  margin-bottom: 0rem !important;
}

.mte5 {
  margin-top: 0.5em !important;
}

.mbe5 {
  margin-bottom: 0.5em !important;
}

.mtr5 {
  margin-top: 0.5rem !important;
}

.mbr5 {
  margin-bottom: 0.5rem !important;
}

.mte10 {
  margin-top: 1em !important;
}

.mbe10 {
  margin-bottom: 1em !important;
}

.mtr10 {
  margin-top: 1rem !important;
}

.mbr10 {
  margin-bottom: 1rem !important;
}

.mte15 {
  margin-top: 1.5em !important;
}

.mbe15 {
  margin-bottom: 1.5em !important;
}

.mtr15 {
  margin-top: 1.5rem !important;
}

.mbr15 {
  margin-bottom: 1.5rem !important;
}

.mte20 {
  margin-top: 2em !important;
}

.mbe20 {
  margin-bottom: 2em !important;
}

.mtr20 {
  margin-top: 2rem !important;
}

.mbr20 {
  margin-bottom: 2rem !important;
}

.mte25 {
  margin-top: 2.5em !important;
}

.mbe25 {
  margin-bottom: 2.5em !important;
}

.mtr25 {
  margin-top: 2.5rem !important;
}

.mbr25 {
  margin-bottom: 2.5rem !important;
}

.mte30 {
  margin-top: 3em !important;
}

.mbe30 {
  margin-bottom: 3em !important;
}

.mtr30 {
  margin-top: 3rem !important;
}

.mbr30 {
  margin-bottom: 3rem !important;
}

.mte35 {
  margin-top: 3.5em !important;
}

.mbe35 {
  margin-bottom: 3.5em !important;
}

.mtr35 {
  margin-top: 3.5rem !important;
}

.mbr35 {
  margin-bottom: 3.5rem !important;
}

.mte40 {
  margin-top: 4em !important;
}

.mbe40 {
  margin-bottom: 4em !important;
}

.mtr40 {
  margin-top: 4rem !important;
}

.mbr40 {
  margin-bottom: 4rem !important;
}

.mte45 {
  margin-top: 4.5em !important;
}

.mbe45 {
  margin-bottom: 4.5em !important;
}

.mtr45 {
  margin-top: 4.5rem !important;
}

.mbr45 {
  margin-bottom: 4.5rem !important;
}

.mte50 {
  margin-top: 5em !important;
}

.mbe50 {
  margin-bottom: 5em !important;
}

.mtr50 {
  margin-top: 5rem !important;
}

.mbr50 {
  margin-bottom: 5rem !important;
}

.mte55 {
  margin-top: 5.5em !important;
}

.mbe55 {
  margin-bottom: 5.5em !important;
}

.mtr55 {
  margin-top: 5.5rem !important;
}

.mbr55 {
  margin-bottom: 5.5rem !important;
}

.mte60 {
  margin-top: 6em !important;
}

.mbe60 {
  margin-bottom: 6em !important;
}

.mtr60 {
  margin-top: 6rem !important;
}

.mbr60 {
  margin-bottom: 6rem !important;
}

.mte65 {
  margin-top: 6.5em !important;
}

.mbe65 {
  margin-bottom: 6.5em !important;
}

.mtr65 {
  margin-top: 6.5rem !important;
}

.mbr65 {
  margin-bottom: 6.5rem !important;
}

.mte70 {
  margin-top: 7em !important;
}

.mbe70 {
  margin-bottom: 7em !important;
}

.mtr70 {
  margin-top: 7rem !important;
}

.mbr70 {
  margin-bottom: 7rem !important;
}

.mte75 {
  margin-top: 7.5em !important;
}

.mbe75 {
  margin-bottom: 7.5em !important;
}

.mtr75 {
  margin-top: 7.5rem !important;
}

.mbr75 {
  margin-bottom: 7.5rem !important;
}

.mte80 {
  margin-top: 8em !important;
}

.mbe80 {
  margin-bottom: 8em !important;
}

.mtr80 {
  margin-top: 8rem !important;
}

.mbr80 {
  margin-bottom: 8rem !important;
}

.mte85 {
  margin-top: 8.5em !important;
}

.mbe85 {
  margin-bottom: 8.5em !important;
}

.mtr85 {
  margin-top: 8.5rem !important;
}

.mbr85 {
  margin-bottom: 8.5rem !important;
}

.mte90 {
  margin-top: 9em !important;
}

.mbe90 {
  margin-bottom: 9em !important;
}

.mtr90 {
  margin-top: 9rem !important;
}

.mbr90 {
  margin-bottom: 9rem !important;
}

.mte95 {
  margin-top: 9.5em !important;
}

.mbe95 {
  margin-bottom: 9.5em !important;
}

.mtr95 {
  margin-top: 9.5rem !important;
}

.mbr95 {
  margin-bottom: 9.5rem !important;
}

.mte100 {
  margin-top: 10em !important;
}

.mbe100 {
  margin-bottom: 10em !important;
}

.mtr100 {
  margin-top: 10rem !important;
}

.mbr100 {
  margin-bottom: 10rem !important;
}

.row {
  display: flex;
}

.col {
  display: flex;
  flex-wrap: wrap;
}

.col>* {
  width: 100%;
}

.col>.sp-1 {
  width: 8.3333333333%;
}

.col>.offset-sp-1 {
  margin-left: 8.3333333333%;
}

.col>.sp-2 {
  width: 16.6666666667%;
}

.col>.offset-sp-2 {
  margin-left: 16.6666666667%;
}

.col>.sp-3 {
  width: 25%;
}

.col>.offset-sp-3 {
  margin-left: 25%;
}

.col>.sp-4 {
  width: 33.3333333333%;
}

.col>.offset-sp-4 {
  margin-left: 33.3333333333%;
}

.col>.sp-5 {
  width: 41.6666666667%;
}

.col>.offset-sp-5 {
  margin-left: 41.6666666667%;
}

.col>.sp-6 {
  width: 50%;
}

.col>.offset-sp-6 {
  margin-left: 50%;
}

.col>.sp-7 {
  width: 58.3333333333%;
}

.col>.offset-sp-7 {
  margin-left: 58.3333333333%;
}

.col>.sp-8 {
  width: 66.6666666667%;
}

.col>.offset-sp-8 {
  margin-left: 66.6666666667%;
}

.col>.sp-9 {
  width: 75%;
}

.col>.offset-sp-9 {
  margin-left: 75%;
}

.col>.sp-10 {
  width: 83.3333333333%;
}

.col>.offset-sp-10 {
  margin-left: 83.3333333333%;
}

.col>.sp-11 {
  width: 91.6666666667%;
}

.col>.offset-sp-11 {
  margin-left: 91.6666666667%;
}

.col>.sp-12 {
  width: 100%;
}

.col>.offset-sp-12 {
  margin-left: 100%;
}

.col.gutter-5 {
  width: calc(100% + 5px);
  margin-right: -5px;
}

.col.gutter-5>* {
  margin-right: 5px;
  margin-bottom: 5px;
  width: calc(100% - 5px);
}

.col.gutter-5>.sp-1 {
  width: calc(8.3333333333% - 5px);
}

.col.gutter-5>.sp-2 {
  width: calc(16.6666666667% - 5px);
}

.col.gutter-5>.sp-3 {
  width: calc(25% - 5px);
}

.col.gutter-5>.sp-4 {
  width: calc(33.3333333333% - 5px);
}

.col.gutter-5>.sp-5 {
  width: calc(41.6666666667% - 5px);
}

.col.gutter-5>.sp-6 {
  width: calc(50% - 5px);
}

.col.gutter-5>.sp-7 {
  width: calc(58.3333333333% - 5px);
}

.col.gutter-5>.sp-8 {
  width: calc(66.6666666667% - 5px);
}

.col.gutter-5>.sp-9 {
  width: calc(75% - 5px);
}

.col.gutter-5>.sp-10 {
  width: calc(83.3333333333% - 5px);
}

.col.gutter-5>.sp-11 {
  width: calc(91.6666666667% - 5px);
}

.col.gutter-5>.sp-12 {
  width: calc(100% - 5px);
}

.col.gutter-10 {
  width: calc(100% + 10px);
  margin-right: -10px;
}

.col.gutter-10>* {
  margin-right: 10px;
  margin-bottom: 10px;
  width: calc(100% - 10px);
}

.col.gutter-10>.sp-1 {
  width: calc(8.3333333333% - 10px);
}

.col.gutter-10>.sp-2 {
  width: calc(16.6666666667% - 10px);
}

.col.gutter-10>.sp-3 {
  width: calc(25% - 10px);
}

.col.gutter-10>.sp-4 {
  width: calc(33.3333333333% - 10px);
}

.col.gutter-10>.sp-5 {
  width: calc(41.6666666667% - 10px);
}

.col.gutter-10>.sp-6 {
  width: calc(50% - 10px);
}

.col.gutter-10>.sp-7 {
  width: calc(58.3333333333% - 10px);
}

.col.gutter-10>.sp-8 {
  width: calc(66.6666666667% - 10px);
}

.col.gutter-10>.sp-9 {
  width: calc(75% - 10px);
}

.col.gutter-10>.sp-10 {
  width: calc(83.3333333333% - 10px);
}

.col.gutter-10>.sp-11 {
  width: calc(91.6666666667% - 10px);
}

.col.gutter-10>.sp-12 {
  width: calc(100% - 10px);
}

.col.gutter-15 {
  width: calc(100% + 15px);
  margin-right: -15px;
}

.col.gutter-15>* {
  margin-right: 15px;
  margin-bottom: 15px;
  width: calc(100% - 15px);
}

.col.gutter-15>.sp-1 {
  width: calc(8.3333333333% - 15px);
}

.col.gutter-15>.sp-2 {
  width: calc(16.6666666667% - 15px);
}

.col.gutter-15>.sp-3 {
  width: calc(25% - 15px);
}

.col.gutter-15>.sp-4 {
  width: calc(33.3333333333% - 15px);
}

.col.gutter-15>.sp-5 {
  width: calc(41.6666666667% - 15px);
}

.col.gutter-15>.sp-6 {
  width: calc(50% - 15px);
}

.col.gutter-15>.sp-7 {
  width: calc(58.3333333333% - 15px);
}

.col.gutter-15>.sp-8 {
  width: calc(66.6666666667% - 15px);
}

.col.gutter-15>.sp-9 {
  width: calc(75% - 15px);
}

.col.gutter-15>.sp-10 {
  width: calc(83.3333333333% - 15px);
}

.col.gutter-15>.sp-11 {
  width: calc(91.6666666667% - 15px);
}

.col.gutter-15>.sp-12 {
  width: calc(100% - 15px);
}

.col.gutter-20 {
  width: calc(100% + 20px);
  margin-right: -20px;
}

.col.gutter-20>* {
  margin-right: 20px;
  margin-bottom: 20px;
  width: calc(100% - 20px);
}

.col.gutter-20>.sp-1 {
  width: calc(8.3333333333% - 20px);
}

.col.gutter-20>.sp-2 {
  width: calc(16.6666666667% - 20px);
}

.col.gutter-20>.sp-3 {
  width: calc(25% - 20px);
}

.col.gutter-20>.sp-4 {
  width: calc(33.3333333333% - 20px);
}

.col.gutter-20>.sp-5 {
  width: calc(41.6666666667% - 20px);
}

.col.gutter-20>.sp-6 {
  width: calc(50% - 20px);
}

.col.gutter-20>.sp-7 {
  width: calc(58.3333333333% - 20px);
}

.col.gutter-20>.sp-8 {
  width: calc(66.6666666667% - 20px);
}

.col.gutter-20>.sp-9 {
  width: calc(75% - 20px);
}

.col.gutter-20>.sp-10 {
  width: calc(83.3333333333% - 20px);
}

.col.gutter-20>.sp-11 {
  width: calc(91.6666666667% - 20px);
}

.col.gutter-20>.sp-12 {
  width: calc(100% - 20px);
}

.col.gutter-25 {
  width: calc(100% + 25px);
  margin-right: -25px;
}

.col.gutter-25>* {
  margin-right: 25px;
  margin-bottom: 25px;
  width: calc(100% - 25px);
}

.col.gutter-25>.sp-1 {
  width: calc(8.3333333333% - 25px);
}

.col.gutter-25>.sp-2 {
  width: calc(16.6666666667% - 25px);
}

.col.gutter-25>.sp-3 {
  width: calc(25% - 25px);
}

.col.gutter-25>.sp-4 {
  width: calc(33.3333333333% - 25px);
}

.col.gutter-25>.sp-5 {
  width: calc(41.6666666667% - 25px);
}

.col.gutter-25>.sp-6 {
  width: calc(50% - 25px);
}

.col.gutter-25>.sp-7 {
  width: calc(58.3333333333% - 25px);
}

.col.gutter-25>.sp-8 {
  width: calc(66.6666666667% - 25px);
}

.col.gutter-25>.sp-9 {
  width: calc(75% - 25px);
}

.col.gutter-25>.sp-10 {
  width: calc(83.3333333333% - 25px);
}

.col.gutter-25>.sp-11 {
  width: calc(91.6666666667% - 25px);
}

.col.gutter-25>.sp-12 {
  width: calc(100% - 25px);
}

.col.gutter-30 {
  width: calc(100% + 30px);
  margin-right: -30px;
}

.col.gutter-30>* {
  margin-right: 30px;
  margin-bottom: 30px;
  width: calc(100% - 30px);
}

.col.gutter-30>.sp-1 {
  width: calc(8.3333333333% - 30px);
}

.col.gutter-30>.sp-2 {
  width: calc(16.6666666667% - 30px);
}

.col.gutter-30>.sp-3 {
  width: calc(25% - 30px);
}

.col.gutter-30>.sp-4 {
  width: calc(33.3333333333% - 30px);
}

.col.gutter-30>.sp-5 {
  width: calc(41.6666666667% - 30px);
}

.col.gutter-30>.sp-6 {
  width: calc(50% - 30px);
}

.col.gutter-30>.sp-7 {
  width: calc(58.3333333333% - 30px);
}

.col.gutter-30>.sp-8 {
  width: calc(66.6666666667% - 30px);
}

.col.gutter-30>.sp-9 {
  width: calc(75% - 30px);
}

.col.gutter-30>.sp-10 {
  width: calc(83.3333333333% - 30px);
}

.col.gutter-30>.sp-11 {
  width: calc(91.6666666667% - 30px);
}

.col.gutter-30>.sp-12 {
  width: calc(100% - 30px);
}

.col.gutter-35 {
  width: calc(100% + 35px);
  margin-right: -35px;
}

.col.gutter-35>* {
  margin-right: 35px;
  margin-bottom: 35px;
  width: calc(100% - 35px);
}

.col.gutter-35>.sp-1 {
  width: calc(8.3333333333% - 35px);
}

.col.gutter-35>.sp-2 {
  width: calc(16.6666666667% - 35px);
}

.col.gutter-35>.sp-3 {
  width: calc(25% - 35px);
}

.col.gutter-35>.sp-4 {
  width: calc(33.3333333333% - 35px);
}

.col.gutter-35>.sp-5 {
  width: calc(41.6666666667% - 35px);
}

.col.gutter-35>.sp-6 {
  width: calc(50% - 35px);
}

.col.gutter-35>.sp-7 {
  width: calc(58.3333333333% - 35px);
}

.col.gutter-35>.sp-8 {
  width: calc(66.6666666667% - 35px);
}

.col.gutter-35>.sp-9 {
  width: calc(75% - 35px);
}

.col.gutter-35>.sp-10 {
  width: calc(83.3333333333% - 35px);
}

.col.gutter-35>.sp-11 {
  width: calc(91.6666666667% - 35px);
}

.col.gutter-35>.sp-12 {
  width: calc(100% - 35px);
}

.col.gutter-40 {
  width: calc(100% + 40px);
  margin-right: -40px;
}

.col.gutter-40>* {
  margin-right: 40px;
  margin-bottom: 40px;
  width: calc(100% - 40px);
}

.col.gutter-40>.sp-1 {
  width: calc(8.3333333333% - 40px);
}

.col.gutter-40>.sp-2 {
  width: calc(16.6666666667% - 40px);
}

.col.gutter-40>.sp-3 {
  width: calc(25% - 40px);
}

.col.gutter-40>.sp-4 {
  width: calc(33.3333333333% - 40px);
}

.col.gutter-40>.sp-5 {
  width: calc(41.6666666667% - 40px);
}

.col.gutter-40>.sp-6 {
  width: calc(50% - 40px);
}

.col.gutter-40>.sp-7 {
  width: calc(58.3333333333% - 40px);
}

.col.gutter-40>.sp-8 {
  width: calc(66.6666666667% - 40px);
}

.col.gutter-40>.sp-9 {
  width: calc(75% - 40px);
}

.col.gutter-40>.sp-10 {
  width: calc(83.3333333333% - 40px);
}

.col.gutter-40>.sp-11 {
  width: calc(91.6666666667% - 40px);
}

.col.gutter-40>.sp-12 {
  width: calc(100% - 40px);
}

.col.gutter-45 {
  width: calc(100% + 45px);
  margin-right: -45px;
}

.col.gutter-45>* {
  margin-right: 45px;
  margin-bottom: 45px;
  width: calc(100% - 45px);
}

.col.gutter-45>.sp-1 {
  width: calc(8.3333333333% - 45px);
}

.col.gutter-45>.sp-2 {
  width: calc(16.6666666667% - 45px);
}

.col.gutter-45>.sp-3 {
  width: calc(25% - 45px);
}

.col.gutter-45>.sp-4 {
  width: calc(33.3333333333% - 45px);
}

.col.gutter-45>.sp-5 {
  width: calc(41.6666666667% - 45px);
}

.col.gutter-45>.sp-6 {
  width: calc(50% - 45px);
}

.col.gutter-45>.sp-7 {
  width: calc(58.3333333333% - 45px);
}

.col.gutter-45>.sp-8 {
  width: calc(66.6666666667% - 45px);
}

.col.gutter-45>.sp-9 {
  width: calc(75% - 45px);
}

.col.gutter-45>.sp-10 {
  width: calc(83.3333333333% - 45px);
}

.col.gutter-45>.sp-11 {
  width: calc(91.6666666667% - 45px);
}

.col.gutter-45>.sp-12 {
  width: calc(100% - 45px);
}

.col.gutter-50 {
  width: calc(100% + 50px);
  margin-right: -50px;
}

.col.gutter-50>* {
  margin-right: 50px;
  margin-bottom: 50px;
  width: calc(100% - 50px);
}

.col.gutter-50>.sp-1 {
  width: calc(8.3333333333% - 50px);
}

.col.gutter-50>.sp-2 {
  width: calc(16.6666666667% - 50px);
}

.col.gutter-50>.sp-3 {
  width: calc(25% - 50px);
}

.col.gutter-50>.sp-4 {
  width: calc(33.3333333333% - 50px);
}

.col.gutter-50>.sp-5 {
  width: calc(41.6666666667% - 50px);
}

.col.gutter-50>.sp-6 {
  width: calc(50% - 50px);
}

.col.gutter-50>.sp-7 {
  width: calc(58.3333333333% - 50px);
}

.col.gutter-50>.sp-8 {
  width: calc(66.6666666667% - 50px);
}

.col.gutter-50>.sp-9 {
  width: calc(75% - 50px);
}

.col.gutter-50>.sp-10 {
  width: calc(83.3333333333% - 50px);
}

.col.gutter-50>.sp-11 {
  width: calc(91.6666666667% - 50px);
}

.col.gutter-50>.sp-12 {
  width: calc(100% - 50px);
}

.sort-vertical {
  flex-direction: column;
}

.sort-vertical-reverse {
  flex-direction: column-reverse;
}

.content-right {
  justify-content: flex-end;
}

.content-center {
  justify-content: center;
}

.content-between {
  justify-content: space-between;
}

.content-around {
  justify-content: space-around;
}

.content-top {
  align-items: flex-start;
}

.content-bottom {
  align-items: flex-end;
}

.content-middle {
  align-items: center;
}

.content-baseline {
  align-items: baseline;
}

/*フェードイン */
.fadein {
  opacity: 1;
  transform: translateY(0px);
  transition: all 1s;
}

[class*=fadeIn] {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-timing-function: ease-out;
}

[class*=fadeIn] {
  opacity: 0;
}

.animationLine {
  overflow: hidden;
  display: block;
}

.textUp {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-timing-function: cubic-bezier(0.275, 0, 0, 1);
}

@keyframes typinganime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn.is-animated {
  animation-name: fadeIn;
}

.fadeInUp.is-animated {
  animation-name: fadeInUp;
}

.fadeInLeft.is-animated {
  animation-name: fadeInLeft;
}

.fadeInRight.is-animated {
  animation-name: fadeInRight;
}

.fadeInDown.is-animated {
  animation-name: fadeInDown;
}

.is-animated .textUp {
  animation-name: textUp;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.fuwafuwa {
  animation: fuwafuwa 3s infinite ease-in-out 0.8s alternate;
  display: inline-block;
}

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }

  50% {
    transform: translate(0, -7px) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}

@keyframes textUp {
  from {
    transform: translateY(110%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes textDown {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(110%);
  }
}

@keyframes slideInUp {
  0% {
    transform: translateY(100%);
  }

  10% {
    opacity: 0.5;
    transform-origin: 50% 50%;
    transform: translateY(50%);
    transition: all 0.3s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  }

  100% {
    transform: translateY(0%);
  }
}

@keyframes slideInDown {
  0% {
    transform: translateY(-100%);
  }

  10% {
    opacity: 0.5;
    transform-origin: 50% 50%;
    transform: translateY(-50%);
    transition: all 0.3s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  }

  100% {
    transform: translateY(-5%);
  }
}

.delay-1ms {
  animation-delay: calc(1 / 10)s;
}

.delay-2ms {
  animation-delay: calc(2 / 10)s;
}

.delay-3ms {
  animation-delay: calc(3 / 10)s;
}

.delay-4ms {
  animation-delay: calc(4 / 10)s;
}

.delay-5ms {
  animation-delay: calc(5 / 10)s;
}

.delay-6ms {
  animation-delay: calc(6 / 10)s;
}

.delay-7ms {
  animation-delay: calc(7 / 10)s;
}

.delay-8ms {
  animation-delay: calc(8 / 10)s;
}

.delay-9ms {
  animation-delay: calc(9 / 10)s;
}

.delay-10ms {
  animation-delay: calc(10 / 10)s;
}

.delay-11ms {
  animation-delay: calc(11 / 10)s;
}

.delay-12ms {
  animation-delay: calc(12 / 10)s;
}

.delay-13ms {
  animation-delay: calc(13 / 10)s;
}

.delay-14ms {
  animation-delay: calc(14 / 10)s;
}

.delay-15ms {
  animation-delay: calc(15 / 10)s;
}

.delay-16ms {
  animation-delay: calc(16 / 10)s;
}

.delay-17ms {
  animation-delay: calc(17 / 10)s;
}

.delay-18ms {
  animation-delay: calc(18 / 10)s;
}

.delay-19ms {
  animation-delay: calc(19 / 10)s;
}

.delay-20ms {
  animation-delay: calc(20 / 10)s;
}

.button {
  display: inline-block;
  min-width: 186px;
  font-size: 1.125rem;
  padding: 10px 92px 12px 20px;
  border-radius: 35px;
  border: 1px solid #7a7a7a;
  color: #f2f2f2;
  transition: 0.3s cubic-bezier(0.43, 0.05, 0.17, 1);
  position: relative;
  z-index: 0;
  overflow: hidden;
  text-align: left;
}

.button::before {
  content: "";
  display: block;
  width: 120%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -10%;
  background-color: #9a6e3b;
  transform: skewX(-45deg) translateX(-100%);
  transition: 0.3s cubic-bezier(0.43, 0.05, 0.17, 1);
  z-index: -1;
}

.button:hover {
  border-color: #9a6e3b;
}

.button:hover::before {
  transform: skewX(-45deg) translateX(0);
}

.button .arrow {
  width: 24px;
  height: 24px;
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

.button .arrow::before,
.button .arrow::after {
  display: block;
  width: 24px;
  height: 24px;
  transition: 0.3s cubic-bezier(0.43, 0.05, 0.17, 1);
  position: absolute;
  top: 0;
  background-color: #f2f2f2;
}

.button .arrow::before {
  left: 0;
}

.button .arrow::after {
  left: -24px;
}

.button:hover .arrow::before,
.button:hover .arrow::after {
  transform: translateX(100%);
}

.button-big {
  min-width: 300px;
  border-radius: 38px;
  padding: 19px 20px 22px;
}

.button-black {
  background-color: #222;
  border-color: #222;
}

.button-black::before {
  background-color: #f2f2f2;
}

.button-black:hover {
  border-color: #f2f2f2;
  color: #9a6e3b;
}

.button-entry {
  font-family: sans-serif;
  border-radius: 60px;
  font-size: 2.25rem;
  line-height: 1;
  background: #f2f2f2;
  font-weight: 700;
  color: #222;
  padding: 30px 60px 30px 40px;
  width: 100%;
  min-width: 300px;
  max-width: 380px;
}

.button-entry:hover {
  color: #f2f2f2;
}

.button-entry .arrow {
  width: 36px;
  height: 36px;
  right: 36px;
}

.button-entry .arrow::before,
.button-entry .arrow::after {
  width: 36px;
  height: 36px;
}

.button-entry .arrow::before {
  background-color: #222;
}

.button-entry .arrow::after {
  left: -36px;
}

.button-black .arrow::after {
  background-color: #9a6e3b;
}

.more {
  display: inline-block;
  padding-bottom: 5px;
  background: linear-gradient(90deg, currentColor 33.3333333333%, transparent 0 66.6666666667%, currentColor 0) var(--d, 100%) 100%/300% 1px no-repeat;
}

.more:hover {
  --d: 0%;
  transition: 0.5s;
}

.in-information .more::after {
  background-color: #222;
}

.scrollText {
  display: flex;
  -webkit-mask-image: linear-gradient(to top, transparent 5%, black 100%);
  mask-image: linear-gradient(to top, transparent 5%, black 100%);
}

.scrollText li {
  white-space: nowrap;
  padding-right: 0.5em;
  font-size: 4.375rem;
  font-family: sans-serif;
  font-weight: 700;
  opacity: 0.05;
  line-height: 1;
}

.scrollText li:nth-child(odd) {
  animation: loop 100s -50s linear infinite;
}

.scrollText li:nth-child(even) {
  animation: loop2 100s linear infinite;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }

  to {
    transform: translateX(-200%);
  }
}

.typing_title {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  margin-bottom: 30px;
}

typewritten-text {
  white-space: nowrap;
}

.typewritten-text_character::after,
.typewritten-text_start::after {
  right: -0.7em;
  border-right: none !important;
  border-bottom: 2px solid #9a6e3b;
  top: auto;
  width: 0.5em;
  animation-duration: 1.5s;
}

.typeBtn {
  display: inline-block;
  position: relative;
  trnasition: 0.3s ease-out;
  padding: 5px 60px 5px 20px;
  border: 1px solid #003670;
  color: #003670;
  background: #fff;
  border-radius: 0 15px 15px 0;
  overflow: hidden;
  min-width: 240px;
}

.typeBtn::after {
  display: block;
  position: absolute;
  width: 12px;
  height: 14px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #003670;
  transition: 0.3s ease-out;
}

.typeBtn .ja {
  transition: 0.3s ease-out;
}

.typeBtn .en {
  position: absolute;
  color: #fff;
  z-index: 1;
  left: 20px;
  opacity: 0;
}

.typeBtn:hover {
  background: #9a6e3b;
  color: #fff;
  border-color: #9a6e3b;
}

.typeBtn:hover::after {
  background-color: #fff;
}

.typeBtn:hover .ja {
  opacity: 0;
}

.typeBtn:hover .en {
  opacity: 1;
  transition: 0.3s ease-out;
}

.typeBtn .typewritten-text_character::after,
.typeBtn .typewritten-text_start::after {
  border-color: #fff;
}

.commonText {
  line-height: 2;
}

.commonText+.commonText {
  margin-top: 1em;
}

.blankBtn {
  display: inline-block;
  border: 1px solid #003670;
  background: #fff;
  transition: 0.3s ease-out;
  padding: 0 20px 1px 20px;
  position: relative;
  text-decoration: none;
  border-radius: 20px;
}

.blankBtn i {
  width: 1.1em;
  height: 1.1em;
  background: url(../../images/common/icon_blank.svg) no-repeat center center;
  vertical-align: text-bottom;
  background-size: contain;
  display: inline-block;
  margin-right: 10px;
}

.blankBtn:hover {
  background: #9a6e3b;
  color: #fff;
  border-color: #9a6e3b;
}

.blankBtn-big {
  padding: 10px 20px;
  border-radius: 40px;
}

.blankBtn-none {
  pointer-events: none;
}

ol {
  line-height: 2;
  padding-left: 1.5em;
}

ol li+li {
  margin-top: 10px;
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.pagination .page-numbers {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 3px;
  transition: 0.3s ease-out;
  border: 1px solid #003670;
}

.pagination .page-numbers.current,
.pagination .page-numbers:hover {
  background: #003670;
  color: #fff;
}

ol.num_attr {
  list-style-type: none;
  padding-left: 0;
  font-weight: 300;
}

ol.num_attr li {
  position: relative;
  padding-left: 2.5em;
}

ol.num_attr li::before {
  content: attr(data-num);
  position: absolute;
  left: 0;
}

ul.list-circle li {
  position: relative;
  padding-left: 1.3em;
}

ul.list-circle li::before {
  content: "●";
  position: absolute;
  left: 0;
}

ul.circleList li {
  position: relative;
  padding-left: 1.3em;
}

ul.circleList li::before {
  content: "○";
  position: absolute;
  left: 0;
}

.siteHead {
  position: fixed;
  z-index: 89;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  transition: 0.5s ease-out;
}

.siteHead.visible {
  mix-blend-mode: normal;
  z-index: 101;
}

.siteHead_logo {
  margin: 0;
  padding: 0;
  line-height: 1;
  display: flex;
  gap: 15px;
  align-items: center;
  font-weight: normal;
  position: relative;
  z-index: 100;
}

.siteHead_logo a {
  display: inline-block;
}

.siteHead_logo_svg {
  width: 60px;
  height: 20px;
  fill: #003670;
  transition: fill 0.5s ease-out;
}

.siteHead_logo .text {
  font-family: "Zen Old Mincho", serif;
  font-size: 0.625rem;
  line-height: 1.2;
  white-space: nowrap;
  transition: color 0.5s ease-out;
}

.siteHead.in-firstView .gNav_toggle_bar {
  background-color: #fff;
}

.timer-zero .siteHead {
  transform: translateY(0);
}

.gNav {
  position: relative;
  z-index: 99;
}

.gNav_toggle {
  box-shadow: none;
  display: block;
  width: 42px;
  height: 42px;
  border: none;
  position: relative;
  z-index: 1001;
  background: transparent;
  color: #f2f2f2;
  transition: 0.3s linear;
  text-align: left;
  padding: 0;
  border-radius: 0;
}

.gNav_toggle_bar {
  height: 1px;
  background: #003670;
  display: block;
  position: absolute;
  transition: 0.3s linear;
  transition-property: transform, opacity, width;
  transform-origin: 100% 50%;
  right: 0;
  width: 30px;
}

.gNav_toggle_bar-top {
  top: 14px;
}

.gNav_toggle_bar-mid {
  top: 50%;
}

.gNav_toggle_bar-btm {
  bottom: 13px;
  transform: scaleX(0.7);
}

.gNav_toggle.is-active .gNav_toggle_bar {
  width: 34px;
  background-color: #003670 !important;
}

.gNav_toggle.is-active .gNav_toggle_bar-top {
  transform: translateY(-5px) rotate(-45deg);
}

.gNav_toggle.is-active .gNav_toggle_bar-mid {
  opacity: 0;
}

.gNav_toggle.is-active .gNav_toggle_bar-btm {
  transform: translateY(5px) rotate(45deg);
}

.gNav_title {
  font-family: sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  margin-bottom: 1em;
  color: #7A7A7A;
}

.gNav_column {
  display: flex;
  gap: 30px;
  width: 100%;
}

.gNav_list {
  display: flex;
  gap: 10px;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}

.gNav_list_item_sub li+li {
  margin-top: 5px;
}

.gNav_list_item-parent.is-active .gNav_list_item_link-parent::after {
  transform: translateY(-50%) rotate(180deg);
}

.gNav_list_item-contact {
  display: none;
}

.gNav_list_item_link {
  display: block;
  line-height: 1.4;
  transition: opacity 0.3s ease-out;
  font-size: 1.375rem;
  position: relative;
  overflow: hidden;
  letter-spacing: 1px;
  color: #003670;
}

.gNav_list_item_link-contact {
  display: none;
  transition: 0.3s ease-out;
}

.gNav_list_item_link-contact:hover {
  background-color: #003670;
  color: #fff;
}

.gNav_list-sub .gNav_list_item_link {
  font-size: 0.875rem;
}

.gNav_foot {
  padding-top: 50px;
  position: relative;
}

.gNav_foot_name {
  font-size: 0.875rem;
  font-family: "Zen Old Mincho", serif;
  padding-left: 1.8em;
}

.gNav_foot_tel {
  font-family: "Zen Old Mincho", serif;
  line-height: 1;
  letter-spacing: 2px;
  margin-top: 15px;
  display: block;
  text-align: center;
}

.gNav_foot_tel .num {
  font-size: 28px;
}

.gNav_foot_btn {
  text-align: center;
}

.gNav_foot_contact {
  display: inline-block;
  background: #fff;
  text-align: center;
  font-weight: bold;
  padding: 5px 30px;
  font-size: 18px;
  letter-spacing: 2px;
}

.gNav_foot_contact::after {
  content: "＞";
  display: inline-block;
  margin-left: 20px;
  font-weight: normal;
}

.gNav_foot_link {
  text-align: center;
  margin-bottom: 2em;
  font-weight: 300;
  white-space: nowrap;
}

.gNav_foot_link li+li {
  margin-top: 0.5em;
}

.fixed_contact {
  position: fixed;
  text-align: center;
  bottom: 20px;
  right: 20px;
  width: 100%;
  z-index: 99;
}

.contactBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background: #9a6e3b;
  color: #f2f2f2;
  width: 150px;
  line-height: 60px;
  text-align: center;
  font-weight: 700;
  border-radius: 30px;
  transition-property: background-color, color;
  transition: 0.3s ease-out;
  margin: 0 0 0 auto;
}

.contactBtn::before {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: #f2f2f2;
  transition: 0.3s ease-out;
}

.siteFoot {
  position: relative;
  background: #f7f1e8;
  padding: 50px 0;
}

.siteFoot_container {
  max-width: 500px;
  margin: 0 auto;
  position: relative;
  padding: 0 20px;
}

.siteFoot_logo {
  max-width: 100px;
}

.siteFoot_btm {
  margin-top: 50px;
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.siteFoot_btm_bnr {
  display: flex;
  gap: 20px;
  justify-content: center;
}

.siteFoot_contact_text {
  font-weight: 300;
  font-size: 0.875rem;
  margin-bottom: 10px;
}

.siteFoot_contact_cta_tel {
  font-family: "Zen Old Mincho", serif;
  line-height: 1;
  display: block;
}

.siteFoot_contact_cta_tel_name {
  font-size: 0.8125rem;
  margin-bottom: 5px;
}

.siteFoot_contact_cta_tel_link {
  letter-spacing: 2px;
}

.siteFoot_contact_cta_tel .num {
  font-size: 1.375rem;
}

.siteFoot_contact_cta_btn {
  text-align: center;
}

.siteFoot_contact_cta .gNav_foot_contact {
  background: transparent;
  border: 1px solid #003670;
}

.siteFoot_nav {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px 0;
}

.siteFoot_nav_sub {
  font-size: 0.875em;
  margin-top: 1em;
  font-weight: 300;
}

.siteFoot_nav_sub li+li {
  margin-top: 5px;
}

.siteFoot_subNav {
  font-size: 0.875em;
  margin-top: 2em;
  padding-top: 1.5em;
  border-top: 1px solid rgba(153, 175, 198, 0.5);
  display: flex;
  justify-content: center;
  gap: 10px 15px;
  flex-wrap: wrap;
  font-weight: 300;
}

.siteFoot_subNav li+li {
  padding-left: 15px;
  border-left: 1px solid #003670;
}

p.copyright {
  width: 100%;
  background: #003670;
  color: #fff;
  text-align: center;
  font-size: 0.75rem;
  padding: 10px 0;
  font-weight: bold;
}

.cookie-consent {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  position: fixed;
  bottom: 0;
  width: 100%;
  color: #222;
  background: rgba(255, 255, 255, 0.95);
  padding: 60px 5% 30px;
  box-sizing: border-box;
  z-index: 100;
  visibility: hidden;
  font-size: 13px;
  line-height: 1.8;
}

.cookie-consent.is-show {
  visibility: visible;
}

.cookie-consent a {
  color: #222 !important;
  text-decoration: underline;
}

.cookie-consent a:hover {
  text-decoration: none;
}

.cookie-agree {
  color: #fff;
  border: 1px solid #003670;
  background: #003670;
  font-size: 16px;
  padding: 10px 32px;
  border-radius: 0;
  line-height: 1.4;
  font-weight: 700;
  transition: 0.3s;
  white-space: nowrap;
}

.cookie-agree:hover {
  background: #fff;
  color: #003670;
}

.cookie-agree:hover {
  cursor: pointer;
}

/* パッと消える */
.cc-hide1 {
  display: none;
}

/* ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards;
}

.cookie-close {
  display: block;
  width: 24px;
  height: 24px;
  position: relative;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
}

.cookie-close::before,
.cookie-close::after {
  content: "";
  display: block;
  width: 33px;
  height: 2px;
  background: #222;
  position: absolute;
  left: 50%;
  top: calc(50% - 1px);
}

.cookie-close::before {
  transform: translateX(-50%) rotate(45deg);
}

.cookie-close::after {
  transform: translateX(-50%) rotate(-45deg);
}

@keyframes hide {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    visibility: hidden;
  }
}

/* メディアクエリ */
.indexSection_linkArea {
  margin-top: 30px;
}

.indexSection_copy {
  font-size: 1.5rem;
  font-weight: normal;
  margin-bottom: 1em;
  line-height: 1.6;
}

.index_service {
  background: #f7f1e8;
  min-height: 100vh;
  padding: 100px 0 50px;
}

.index_service_column_imgArea {
  position: relative;
  padding-bottom: 100px;
  z-index: 0;
}

.index_service_imgBg {
  position: absolute;
  left: -20px;
  bottom: 40px;
  z-index: -1;
  padding-right: 30px;
}

.index_service_img img {
  width: 100%;
}

.index_service_imgArea {
  position: relative;
  margin-top: 50px;
}

.index_service_imgArea_text {
  color: #e1d4c4;
  position: absolute;
  bottom: 50%;
  left: 0;
  z-index: 1;
  font-size: 6vw;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.3;
  letter-spacing: 1px;
}

.index_service_img-1 {
  margin-left: 20%;
  position: relative;
  margin-right: -20px;
  z-index: 1;
}

.index_service_img-1::after {
  content: "";
  display: block;
  width: calc(100% + 20px);
  border-radius: 20px 0 0 20px;
  background: #e1d4c4;
  mix-blend-mode: multiply;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateY(50%);
  height: 24px;
  transition: 0.7s ease-out 0.8s;
}

.index_service_img-2 {
  padding-right: 30%;
  margin-top: 20px;
  position: relative;
  z-index: 0;
}

.index_service_img_circle {
  position: absolute;
  opacity: 0;
  bottom: 0;
}

.index_service_img_circle img {
  width: 100%;
}

.index_service_img_circle-1 {
  left: 50%;
  width: 20%;
  translate: 0 50%;
  transition: 0.7s ease-out 0.8s;
}

.index_service_img_circle-2 {
  left: 30%;
  translate: 0 80%;
  transform: rotate(-60deg);
  width: 30%;
  transition: 1s ease-out 1s;
}

.is-animated .index_service_img_circle {
  opacity: 1;
}

.index_strength {
  background: #003670;
  color: #fff;
  padding: 50px 0 80px;
}

.index_strength_column {
  display: flex;
  gap: 50px;
  flex-direction: column;
}

.index_company {
  height: 100vw;
  position: relative;
}

.index_company::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  translate: 0 -50%;
  background: #fff;
  border-radius: 20px 0 0 20px;
  width: 90%;
  height: 40px;
  z-index: 0;
}

.index_company_img {
  width: 100%;
}

.index_company_img picture {
  width: 100%;
  height: 100%;
}

.index_company_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover";
}

.index_company_textArea {
  background: #003670;
  position: absolute;
  right: 0;
  top: -1px;
  padding: 30px 50px 40px;
  color: #fff;
  z-index: 1;
  border-radius: 70px 0 0 70px;
  min-width: 80%;
}

.index_company_textArea::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  translate: 0 -50%;
  background: #9a6e3b;
  border-radius: 20px 0 0 20px;
  width: 50%;
  height: 24px;
}

.index_company_textArea .typing_title {
  margin-bottom: 16px;
}

.index_company_logoArea {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.index_company_logo {
  font-weight: 400;
}

.index_company_logo .logo svg {
  fill: #fff;
}

.index_company_logo_en {
  font-size: 0.625rem;
  transform: scale(0.8);
  transform-origin: 0% 50%;
}

.index_company_logo_ja {
  font-size: 1.125rem;
}

.index_company_btn {
  position: absolute;
  bottom: 0;
  right: 20px;
  transform: translateY(50%);
}

.index_company_bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 80%;
}

.index_company_bottom_beige {
  position: relative;
  z-index: 0;
  height: 80px;
  border-radius: 0 40px 40px 0;
  background: #f7f1e8;
  width: 100%;
  left: 0;
  bottom: 0;
  transform: translateY(50%);
  z-index: 0;
}

.index_company_bottom::before,
.index_company_bottom::after {
  content: "";
  display: block;
  left: 0;
  z-index: 1;
  position: absolute;
}

.index_company_bottom::before {
  top: 0;
  transform: translateY(50%);
  background: #003670;
  width: 80%;
  border-radius: 0 30px 30px 0;
  height: 40px;
}

.index_company_bottom::after {
  bottom: 0;
  background: #9a6e3b;
  width: 60%;
  border-radius: 0 30px 30px 0;
  height: 16px;
}

.index_topics {
  padding: 50px 0;
  background: #f7f1e8;
  position: relative;
  z-index: 3;
}

.index_topics .container {
  position: relative;
}

.index_topics_btn {
  margin-top: 30px;
}

.index_topics_list {
  border-top: 1px solid #003670;
  width: 100%;
}

.index_topics_list_item {
  border-bottom: 1px solid #003670;
}

.index_topics_list_item_link {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 20px;
  align-items: center;
  gap: 10px 20px;
}

.index_topics_list_item_link-disabled {
  pointer-events: none;
}

.index_topics_list_item_link .date {
  font-size: 0.875em;
}

.index_topics_list_item_link .cate {
  background: #fff;
  font-size: 0.875em;
  padding: 2px 15px;
  text-align: center;
}

.index_sustainability {
  position: relative;
  padding: 80px 0 100px;
  background: #f7f1e8;
  z-index: 0;
}

.index_sustainability::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  background: url(../../images/common/curve_v.svg) no-repeat center top;
  background-size: cover;
}

.index_sustainability_column {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.index_recruit {
  padding: 70px 0 0;
  position: relative;
}

.index_recruit::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: rgb(0, 54, 112);
  background: linear-gradient(180deg, rgb(0, 54, 112) 0%, rgb(0, 54, 112) 65%, rgba(0, 54, 112, 0.6) 100%);
  background-size: 100% 100%;
  opacity: 0;
  transition: 1s ease-out;
}

.index_recruit_titleArea {
  opacity: 0;
  transition: opacity 0.8s ease-out 0.5s;
  position: relative;
  z-index: 1;
}

.index_recruit .typeBtn {
  margin-top: 10px;
}

.index_recruit_img01 {
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(-20%);
  width: 55%;
  overflow: hidden;
  border-radius: 30px 0 0 30px;
}

.index_recruit_copyArea {
  position: absolute;
  z-index: 1;
  top: 40%;
  right: 30px;
  opacity: 0;
  transition: opacity 0.8s ease-out 1s;
}

.index_recruit_copy {
  color: #fff;
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.3em;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.25rem;
}

.index_recruit_btmImg {
  margin-top: 50px;
  position: relative;
  width: 60%;
}

.index_recruit_img02 {
  padding-right: 30px;
  position: relative;
  z-index: 0;
}

.index_recruit_img02::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background: #9a6e3b;
  width: 80%;
  height: 80%;
  bottom: -5px;
  left: -5px;
  border-radius: 5px;
  max-width: 400px;
}

.index_recruit_img03 {
  margin-top: -30px;
  padding-left: 50%;
  position: relative;
  z-index: 1;
  transform: translateY(10px);
}

.index_recruit_img02 img,
.index_recruit_img03 img {
  border-radius: 10px;
}

.index_recruit_wave {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100px;
  z-index: -1;
}

.index_recruit_wave img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 0 0;
  object-position: 0 0;
}

.index_recruit.is-animated::before {
  opacity: 1;
}

.is-animated .index_recruit_titleArea {
  opacity: 1;
}

.is-animated .index_recruit_copyArea {
  opacity: 1;
}

.iCatch_textArea {
  position: relative;
  margin-bottom: 30px;
}

.iCatch_title {
  color: #9a6e3b;
  line-height: 1.25;
}

.iCatch_title .en,
.iCatch_title .ja {
  display: block;
  font-weight: 700;
}

.iCatch_title .en {
  font-family: sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
}

.iCatch_title .ja {
  font-size: 0.8125rem;
}

.iCatch_desc {
  font-size: 1.5rem;
  margin-top: 1em;
  font-weight: 300;
  opacity: 0;
  transform: translateY(20px);
  transition: 1s ease-out 0.6s;
}

.iCatch_img {
  padding: 30px 0 50px;
  overflow: hidden;
}

.iCatch_img img {
  width: 100%;
  transition: 2s ease-out;
}

.timer-zero .iCatchHead .animationLine .textUp {
  animation-name: textUp;
  animation-delay: 0.6s;
}

.timer-zero .iCatch_desc {
  opacity: 1;
  transform: translateY(0);
}

.timer-zero .iCatch_img img {
  transform: scale(1.1);
}

.pageWrap {
  padding-top: 82px;
}

.breadcrumb {
  padding: 0 20px;
  font-size: 0.625rem;
  margin-bottom: 50px;
}

.breadcrumb__list {
  display: flex;
  gap: 1em;
}

.breadcrumb__item+.breadcrumb__item::before {
  content: "―　";
}

.breadcrumb__item a:hover {
  text-decoration: underline;
}

.pageHead_column {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.pageHead_icatch {
  width: 100%;
  padding-top: 30px;
}

.pageHead_icatch img {
  width: 100%;
}

.page_title {
  line-height: 1.3;
  font-size: clamp(32px, 3.125vw, 60px);
  font-weight: 400;
  font-family: "Zen Old Mincho", serif;
}

.pageBody {
  background: #f7f1e8;
  padding-bottom: 1px;
  padding-top: 50px;
}

.pageBody-recruit {
  background: #fff;
}

.pageSection {
  padding: 50px 0;
}

.service_step_head {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  background: #fff;
  padding: 30px;
  display: flex;
  gap: 15px;
  flex-direction: column;
}

.service_step_head::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 10px solid #f7f1e8;
  border-left: 10px solid #f7f1e8;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.service_step_title {
  white-space: nowrap;
  font-size: clamp(18px, 1.5625vw, 30px);
  font-weight: 400;
  letter-spacing: 2px;
}

.service_step_desc {
  line-height: 1.8;
}

.service_step_list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 50px;
  margin-top: 30px;
}

.service_step_item_icon {
  text-align: center;
}

.service_step_item_title {
  color: #9a6e3b;
  margin-bottom: 0.5em;
  font-size: 1.25rem;
}

.service_step_item_text {
  line-height: 1.8;
}

.main_service {
  padding-top: 50px;
  margin-top: 50px;
  position: relative;
  padding-bottom: 50px;
}

.main_service::before {
  content: "";
  display: block;
  height: 2px;
  width: 50px;
  background: #9a6e3b;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.main_service_title {
  margin-bottom: 1em;
}

.main_service_column {
  display: flex;
  gap: 40px;
  flex-direction: column;
}

.main_service_column_textArea p {
  margin: 1em 0;
  line-height: 1.8;
}

.main_service_percent {
  margin-top: 50px;
}

.main_service_percent_title {
  margin-bottom: 1em;
}

.main_service_bottom {
  display: flex;
  flex-direction: column;
  gap: 50px;
  margin-top: 50px;
}

.main_service_box {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  line-height: 1.8;
}

.main_service_subTitle {
  font-size: 1.125rem;
  margin-bottom: 1em;
}

.main_service_graph {
  display: flex;
  font-size: 0.75rem;
  gap: 20px;
  margin-top: 30px;
  line-height: 1.8;
  justify-content: center;
}

.main_service_graph .graph {
  flex: 0 0 60%;
  width: 60%;
}

.main_service_graph .graph_list {
  line-height: 2;
}

.strength_top {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.strength_top_title {
  margin-bottom: 1em;
}

.strength_quality {
  background: #fff;
  border-radius: 30px 0 30px 0;
  margin: 80px 0;
  padding: 30px 20px;
}

.strength_quality_imgArea {
  margin-bottom: 50px;
}

.strength_quality_title {
  font-weight: 300;
  letter-spacing: 0.2em;
}

.strength_challengeTrust {
  position: relative;
  z-index: 0;
}

.strength_challengeTrust_title {
  margin-bottom: 1em;
}

.strength_challengeTrust_img {
  margin: 50px 0 -50px -20px;
  position: relative;
  z-index: 1;
}

.strength_challengeTrust_img img {
  border-radius: 0 0 100px 0;
  max-width: 400px;
}

.strength_trust {
  position: relative;
  padding: 100px 0 50px;
  z-index: 0;
  color: #fff;
}

.strength_trust::before {
  content: "";
  display: block;
  margin: 0 -20px;
  background: #003670;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
}

.strength_bottom img {
  width: 100%;
}

.company_about {
  display: flex;
  gap: 50px;
  flex-direction: column;
}

.company_about_textArea,
.company_about_img {
  flex: 1 1 0%;
}

.company_about_title {
  margin-bottom: 1em;
}

.philosophy_title {
  margin-bottom: 30px;
}

.philosophy_list {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.philosophy_list dt {
  white-space: nowrap;
  flex: 0 0 10em;
}

.philosophy_list dt:first-letter {
  color: #9a6e3b;
  font-weight: 700;
  font-size: 1.5em;
}

.philosophy_list dd {
  flex: 0 0 calc(100% - 12em);
}

.philosophy_plus {
  margin: 1em 0;
}

.overview_message {
  display: flex;
  flex-direction: column-reverse;
  gap: 50px;
  margin-bottom: 50px;
}

.overview_message_title {
  margin-bottom: 1.5em;
  font-family: "Zen Old Mincho", serif;
}

.overview_message_name {
  text-align: right;
  font-size: 1.25em;
  font-family: "Zen Old Mincho", serif;
  margin-top: 2em;
  line-height: 1.8;
}

.overview_column {
  padding: 30px 0;
}

.overview_column_title {
  white-space: nowrap;
  width: 8em;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 1em;
}

table.overview {
  border-spacing: 0;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 50px;
}

table.overview th,
table.overview td {
  font-weight: 400;
  text-align: left;
  vertical-align: top;
  line-height: 2;
}

table.overview th {
  white-space: nowrap;
}

table.overview th.whs-wrap {
  white-space: normal;
  font-size: 0.875em;
}

.company_link {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.company_link li .typeBtn {
  width: 100%;
}

.company_link-center {
  justify-content: center;
}

.overview_basic {
  font-size: 1.25em;
  font-family: "Zen Old Mincho", serif;
  line-height: 2;
}

.overview_basic p+p {
  margin-top: 1.5em;
}

table.history {
  border-top: 1px solid #6686a9;
  width: 100%;
  font-weight: 400;
  border-spacing: 0;
  border-collapse: collapse;
}

table.history tr:first-child th,
table.history tr:first-child td {
  padding-top: 30px;
}

table.history th,
table.history td {
  padding: 8px 0;
}

table.history th {
  font-weight: 400;
  text-align: right;
  white-space: nowrap;
  padding-right: 1em;
  vertical-align: top;
}

table.history th.year {
  padding-right: 0;
}

table.history th.month {
  padding-right: 2em;
}

.overview_organization {
  padding: 50px 30px;
  text-align: center;
  width: 100%;
  border: 1px solid #6686a9;
}

.overview_group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 0;
  justify-content: space-between;
}

.overview_group li {
  flex: 0 0 100%;
}

.overview_group li .blankBtn {
  width: 100%;
}

.overview_bsn {
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  width: 100%;
}

.overview_bsn li {
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  line-height: 2;
}

.overview_bsn li span.name {
  display: inline-block;
  width: 300px;
}

.overview_bsn .blankBtn {
  color: #003670;
}

.overview_bsn .blankBtn:hover {
  color: #fff;
}

.security_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 50px;
}

.security_list_item_title {
  font-weight: 400;
  margin-bottom: 1em;
  font-size: 1.125rem;
}

.security_list_item .commonText {
  font-weight: 400;
}

.security_list_item:last-child {
  text-align: right;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.health_column {
  display: flex;
  flex-direction: column;
  gap: 50px;
  margin-top: 50px;
}

.health_column_img {
  text-align: center;
}

.health .security_list_item:last-child {
  text-align: left;
  display: block;
}

.sus_desc {
  display: flex;
  gap: 15px;
  flex-direction: column;
  margin-bottom: 40px;
}

.sus_desc_title {
  white-space: nowrap;
  font-size: clamp(18px, 1.5625vw, 30px);
  font-weight: 400;
  letter-spacing: 2px;
}

.sus_desc_text {
  font-weight: 400;
  line-height: 1.8;
}

.sdgs_wrap {
  position: relative;
  z-index: 0;
  background: #fff;
}

.sdgs_wrap::before {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  background: #f7f1e8;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.sdgs_box {
  background: #fff;
  padding: 30px 20px;
}

.sdgs_title {
  text-align: center;
  margin-bottom: 30px;
}

.sdgs_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sdgs_list li {
  width: calc(33.33% - 6.6666666667px);
}

.sdgs_list li img {
  width: 100%;
}

.sdgs_main_title {
  margin-bottom: 30px;
}

.sdgs_main_grid {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.sdgs_main_item_icon {
  display: flex;
  gap: 20px;
}

.sdgs_main_item_icon li img {
  width: 100%;
}

.sdgs_main_item_title {
  font-size: 1.125rem;
  font-weight: 400;
}

.sdgs_main_item_text {
  line-height: 1.8;
}

.contactForm input[type=text],
.contactForm input[type=email],
.contactForm input[type=tel],
.contactForm select,
.contactForm textarea {
  max-width: 100%;
  background: #fff;
  border: 1px solid rgba(0, 54, 112, 0.3);
  border-radius: 5px;
  padding: 10px;
  line-height: 1.5;
  font-weight: 400;
}

.contactForm input[type=text]::-moz-placeholder,
.contactForm input[type=email]::-moz-placeholder,
.contactForm input[type=tel]::-moz-placeholder,
.contactForm select::-moz-placeholder,
.contactForm textarea::-moz-placeholder {
  color: #ccc;
}

.contactForm input[type=text]::placeholder,
.contactForm input[type=email]::placeholder,
.contactForm input[type=tel]::placeholder,
.contactForm select::placeholder,
.contactForm textarea::placeholder {
  color: #ccc;
}

.contactForm input[type=text],
.contactForm input[type=email],
.contactForm input[type=tel],
.contactForm textarea {
  width: 100%;
}

.contactForm .labelName {
  font-size: 0.875em;
  display: block;
  margin-bottom: 3px;
}

.contactForm .hissu {
  font-size: 12px;
  display: inline-block;
  padding: 0 10px;
  line-height: 1.4;
  background: #9a6e3b;
  color: #fff;
  margin-left: 10px;
  font-weight: 400;
}

.contactForm_privacy {
  margin: 20px 0 30px;
  font-weight: 700;
  line-height: 1.8;
}

.contactForm_privacy a {
  text-decoration: underline;
}

.contactForm_privacy a i {
  width: 1em;
  height: 1em;
  background: url(../../images/common/icon_blank.svg) no-repeat center center;
  vertical-align: middle;
  background-size: contain;
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
}

input[type=submit] {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  white-space: nowrap;
  border: none;
  background: #f2f2f2;
  color: #222;
  width: 100%;
  max-width: 380px;
  border-radius: 30px;
  height: 60px;
  padding: 0 30px;
  margin: 0 auto;
  font-weight: 700;
  font-size: 1.125em;
  transition-property: background-color, color, opacity;
  transition: 0.3s ease-out;
}

input[type=submit]:hover {
  color: #f2f2f2;
  background-color: #9a6e3b;
}

input[type=submit]:disabled {
  opacity: 0.5 !important;
  background: #f2f2f2 !important;
  color: #222 !important;
}

.wpcf7-spinner {
  display: block;
  margin: 10px auto;
}

.product_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px;
}

.product_list_item {
  flex: 0 0 100%;
}

.product_list_item_img {
  width: 100%;
}

.product_list_item_img img {
  width: 100%;
}

.product_list_item_name {
  font-weight: 700;
  font-size: 1.3125rem;
  margin: 0.8em 0;
}

.product_list_item_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

.product_list_item_table tr+tr th,
.product_list_item_table tr+tr td {
  border-top: 1px solid #C4C4C4;
}

.product_list_item_table th,
.product_list_item_table td {
  padding-top: 8px;
  padding-bottom: 8px;
  text-align: left;
  vertical-align: top;
  font-size: 0.875rem;
}

.product_list_item_table th {
  white-space: nowrap;
  padding-right: 2em;
  width: 163px;
}

.machine_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px;
}

.machine_list .product_list_item {
  flex: 0 0 100%;
}

.machine_other {
  margin-top: 50px;
  padding-top: 20px;
  border-top: 1px solid #F2F2F2;
}

.machine_other_title {
  font-size: 1.3125rem;
  margin-bottom: 1em;
}

.machine_other_table {
  font-size: 0.875em;
}

.machine_other_table th,
.machine_other_table td {
  padding-top: 5px;
  padding-bottom: 5px;
  vertical-align: top;
  text-align: left;
}

.machine_other_table th {
  padding-right: 4em;
  min-width: 150px;
}

.processing {
  position: relative;
}

.processing+.processing {
  padding-top: 40px;
  margin-top: 40px;
}

.processing+.processing::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #474747;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 2s cubic-bezier(0.43, 0.05, 0.17, 1), background-color 0.5s ease-out;
  transform-origin: 0% 50%;
  transform: scaleX(0);
  z-index: -1;
}

.processing.is-animated::before {
  transform: scaleX(1);
}

.processing_img {
  margin-bottom: 30px;
}

.processing_textArea {
  position: relative;
  display: flex;
  gap: 30px;
  flex-direction: column;
}

.processing_textArea::before {
  content: attr(data-num);
  display: inline-block;
  position: absolute;
  bottom: -0.2em;
  font-family: sans-serif;
  line-height: 1;
  font-size: 4.375rem;
  font-weight: 700;
  z-index: -1;
  background: linear-gradient(0deg, transparent, rgba(242, 242, 242, 0.05));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.processing_textArea p {
  line-height: 1.8;
}

.processing_title {
  font-size: 1.3125rem;
  font-weight: 700;
}

.about_business_column_imgArea {
  padding-left: 30%;
}

.about_business_column_textArea {
  margin-top: -20px;
}

.about_business_column_textArea p {
  line-height: 1.8;
}

.step {
  margin-top: 50px;
}

.step_item+.step_item {
  margin-top: 80px;
}

.step_item_num {
  font-family: sans-serif;
  font-weight: 700;
  font-size: 1rem;
}

.step_item_column {
  position: relative;
}

.step_item_column::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #F2F2F2;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 2s cubic-bezier(0.43, 0.05, 0.17, 1), background-color 0.5s ease-out;
  transform-origin: 0% 50%;
  transform: scaleX(0);
  z-index: 1;
}

.step_item_column_imgArea {
  padding-left: 30%;
}

.step_item_column_textArea {
  margin-top: -20px;
}

.step_item_column_textArea p {
  line-height: 1.8;
}

.step_item_title {
  font-size: 1.3125rem;
  font-weight: 700;
  margin-bottom: 1em;
}

.step_item.is-animated .step_item_column::before {
  transform: scaleX(1);
}

.about_company_column_textArea {
  padding-top: 30px;
}

.about_company_map {
  margin-bottom: 15px;
}

.company {
  margin-bottom: 50px;
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

.company th,
.company td {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #7A7A7A;
  vertical-align: top;
  text-align: left;
}

.company th {
  padding-right: 2em;
  white-space: nowrap;
  font-weight: 700;
}

.message_name {
  text-align: right;
  margin-top: 3em !important;
}

.message_name .job {
  display: inline-block;
  margin-right: 1em;
}

.message_name .name {
  font-size: 1.5em;
}

.personality_list {
  display: flex;
  flex-wrap: wrap;
}

.personality_list li {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 50px 0;
  font-weight: 700;
  font-size: 1.125em;
  line-height: 1.8;
  flex: 0 0 50%;
  border-top: 1px solid #f2f2f2;
}

.personality_list li:nth-of-type(1),
.personality_list li:nth-of-type(2) {
  border-top: none;
}

.recruit_flow {
  display: flex;
  flex-wrap: wrap;
  margin-right: -20px;
}

.recruit_flow li {
  flex: 0 0 calc(50% + 20px);
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background: url(../../images/recruit/flow_circle@2x.png) no-repeat center center;
  background-size: contain;
  aspect-ratio: 1/1;
  margin-left: -20px;
}

.recruit_flow li:nth-of-type(2) {
  animation-delay: 0.2s;
}

.recruit_flow li:nth-of-type(3) {
  animation-delay: 0.4s;
}

.recruit_flow li:nth-of-type(4) {
  animation-delay: 0.6s;
}

.recruit_flow li:nth-of-type(5) {
  animation-delay: 0.8s;
}

.recruit_flow li .num {
  font-size: 1rem;
  font-family: sans-serif;
  font-weight: 700;
  color: #9a6e3b;
  margin-bottom: 1em;
}

.recruit_flow li .text {
  display: flex;
  height: 3em;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.25em;
}

.recruit_outline {
  margin-bottom: 50px;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

.recruit_outline th,
.recruit_outline td {
  padding-top: 15px;
  padding-bottom: 15px;
  text-align: left;
  vertical-align: top;
}

.recruit_outline tr+tr th,
.recruit_outline tr+tr td {
  border-top: 1px solid #f2f2f2;
}

.recruit_outline th {
  white-space: nowrap;
  padding-right: 2em;
}

.nextContents {
  max-width: 1360px;
  margin: 0 auto;
}

.nextContents_bnr {
  position: relative;
  width: 100%;
  z-index: 0;
  display: block;
}

.nextContents_bnr_img {
  position: relative;
  z-index: -1;
  overflow: hidden;
}

.nextContents_bnr_textArea {
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 30px;
  top: 0;
  left: 0;
}

.nextContents_bnr_en {
  font-family: sans-serif;
  font-weight: 700;
  margin-bottom: 10px;
  font-size: 7.466666667vw;
}

.nextContents_bnr_text {
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.25;
}

.nextContents_bnr_btn {
  position: absolute;
  bottom: 30px;
  right: 30px;
}

.nextContents_bnr_btn .button {
  border-color: #f2f2f2 !important;
}

.nextContents_bnr_btn .button::before {
  background-color: #f2f2f2;
}

.nextContents_bnr_btn .button .arrow::after {
  background-color: #222;
}

.nextContents_bnr:hover .nextContents_bnr_img img {
  transform: scale(1.05);
}

.nextContents_bnr:hover .nextContents_bnr_btn .button {
  color: #222;
}

.nextContents_bnr:hover .nextContents_bnr_btn .button::before {
  transform: skewX(-45deg) translateX(0);
}

.nextContents_bnr:hover .nextContents_bnr_btn .button .arrow::before,
.nextContents_bnr:hover .nextContents_bnr_btn .button .arrow::after {
  transform: translateX(100%);
}

.tabs {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.tabs__list {
  display: flex;
  justify-content: center;
  margin-top: 50px;
  margin-bottom: 30px;
  flex-wrap: wrap;
  gap: 5px 0;
}

.tabs__list-topics {
  justify-content: flex-start;
}

.tabs__item {
  border: none;
  border-bottom: 4px solid transparent;
  cursor: pointer;
  margin-right: 10px;
  padding: 5px 5px 5px 0;
  text-align: center;
  transition: border-bottom-color 0.2s;
  position: relative;
  font-weight: 700;
  white-space: nowrap;
}

.tabs__item::before {
  display: inline-block;
  content: "●";
  transform: scale(0.7);
}

.tabs__item:hover,
.tabs__item--active {
  border-bottom-color: #003670;
}

.tabs__item:nth-of-type(2)::before {
  color: #4893ca;
}

.tabs__item:nth-of-type(2):hover,
.tabs__item:nth-of-type(2).tabs__item--active {
  border-bottom-color: #4893ca;
}

.tabs__item:nth-of-type(3)::before {
  color: #e5a538;
}

.tabs__item:nth-of-type(3):hover,
.tabs__item:nth-of-type(3).tabs__item--active {
  border-bottom-color: #e5a538;
}

.tabs__item:nth-of-type(4)::before {
  color: #ed7978;
}

.tabs__item:nth-of-type(4):hover,
.tabs__item:nth-of-type(4).tabs__item--active {
  border-bottom-color: #ed7978;
}

.tabs__item:nth-of-type(5)::before {
  color: #7fba4c;
}

.tabs__item:nth-of-type(5):hover,
.tabs__item:nth-of-type(5).tabs__item--active {
  border-bottom-color: #7fba4c;
}

.tabs__item:nth-of-type(6)::before {
  color: #82c1ea;
}

.tabs__item:nth-of-type(6):hover,
.tabs__item:nth-of-type(6).tabs__item--active {
  border-bottom-color: #82c1ea;
}

.tabs__item:nth-of-type(7)::before {
  color: #ea9876;
}

.tabs__item:nth-of-type(7):hover,
.tabs__item:nth-of-type(7).tabs__item--active {
  border-bottom-color: #ea9876;
}

.tabs__item:nth-of-type(8)::before {
  color: #6768ae;
}

.tabs__item:nth-of-type(8):hover,
.tabs__item:nth-of-type(8).tabs__item--active {
  border-bottom-color: #6768ae;
}

.tabs__content {
  margin: 0 -20px;
}

.tabs__pane {
  display: none;
  padding: 0 20px;
  overflow-x: auto;
}

.tabs__pane--active {
  display: block;
}

.case_list {
  border-spacing: 0;
  border-collapse: collapse;
  width: 728px;
}

.case_list th {
  background: #eff5f8;
  font-weight: 400;
  text-align: center;
  padding: 15px;
  border: 1px solid #003670;
  border-left: 2px solid #fff;
  border-right: 2px solid #fff;
  white-space: nowrap;
}

.case_list td {
  font-weight: 300;
  vertical-align: middle;
  padding: 15px 10px;
  border-top: 1px solid rgba(0, 54, 112, 0.6);
  border-bottom: 1px solid rgba(0, 54, 112, 0.6);
}

.case_list td:not(:nth-of-type(4)) {
  white-space: nowrap;
}

.case_list td:not(:nth-of-type(1)):not(:nth-of-type(4)) {
  text-align: center;
}

.news_list .index_information_list_item_link_date,
.news_list .index_information_list_item_link_title {
  line-height: 1.5;
}

.news_list .index_information_list_item_link_title {
  margin-top: 0;
}

.editor-recruit {
  line-height: 1.8;
  margin-bottom: 100px;
}

.editor {
  line-height: 1.8;
  min-height: 20vh;
  margin-bottom: 100px;
}

.editor h1,
.editor h2,
.editor h3,
.editor h4,
.editor h5,
.editor h6 {
  margin-top: 3em;
  margin-bottom: 1em;
  line-height: 1.3;
}

.editor h1:first-child,
.editor h2:first-child,
.editor h3:first-child,
.editor h4:first-child,
.editor h5:first-child,
.editor h6:first-child {
  margin-top: 0;
}

.editor h2 {
  font-size: 1.125rem;
  font-weight: 700;
}

.editor p+p {
  margin-top: 1.5em;
}

.single_meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1em;
}

.single_meta .cate {
  background: #fff;
  font-size: 0.875em;
  padding: 2px 15px;
  text-align: center;
}

.single_titleArea {
  padding-bottom: 10px;
  margin-bottom: 50px;
  border-bottom: 1px solid #ccc;
}

.single_date {
  font-family: sans-serif;
  font-weight: 700;
}

.single_title {
  font-weight: 700;
  font-size: 1.3125rem;
}

.single_pagination {
  display: flex;
  justify-content: space-between;
}

.firstView {
  width: 100%;
  height: 100vh;
  position: relative;
  z-index: 1;
}

.firstView_logo {
  font-family: "Zen Old Mincho", serif;
  color: #fff;
  position: absolute;
  top: 20px;
  left: 30px;
  z-index: 89;
}

.firstView_logo svg {
  fill: #fff;
}

.firstView_logo_en {
  font-size: 0.875rem;
  margin-top: 0.5em;
}

.firstView_logo_ja {
  font-size: 0.75rem;
}

.firstView_slider {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}

.firstView_slider::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(167, 170, 169, 0.4);
  mix-blend-mode: multiply;
  z-index: 1;
}

.firstView_slider .swiper,
.firstView_slider .swiper-wrapper,
.firstView_slider .swiper-slide,
.firstView_slider .slide,
.firstView_slider .slide-media,
.firstView_slider .slide-media picture,
.firstView_slider .slide-media img {
  width: 100%;
  height: 100%;
}

.firstView_slider .slide-media img {
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover";
}

.firstView_slider .swiper-slide-active .slide-media,
.firstView_slider .swiper-slide-duplicate-active .slide-media,
.firstView_slider .swiper-slide-prev .slide-media {
  animation: zoomUp 9s linear 0s normal both;
}

.firstView_copyArea {
  position: absolute;
  right: 20px;
  bottom: 50%;
  z-index: 1;
  transform: translateY(50%);
  padding-bottom: 120px;
  width: 8em;
  font-size: 1.5rem;
}

.firstView_copy {
  color: #fff;
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.3em;
  font-size: 1.5rem;
  font-family: "Zen Old Mincho", serif;
}

.firstView_scroll {
  display: inline-block;
  position: absolute;
  right: 10px;
  bottom: 0;
  z-index: 10;
  padding: 10px 10px 110px;
  overflow: hidden;
  color: #f2f2f2;
  font-size: 0.875rem;
  font-family: sans-serif;
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
  writing-mode: vertical-lr;
  letter-spacing: 0.1em;
  opacity: 0;
  transition: opacity 1.6s ease-out 2.6s;
}

.firstView_scroll::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #f2f2f2;
  animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}

.firstView_scroll.is-loaded {
  opacity: 1;
}

.firstView_leftBtm {
  position: absolute;
  left: 20px;
  bottom: 30px;
  color: #fff;
  z-index: 89;
  font-size: 0.75rem;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: "Zen Old Mincho", serif;
}

.firstView_leftBtm .typewritten-text_character::after,
.firstView_leftBtm .typewritten-text_start::after {
  border-color: #fff;
}

.firstView_leftBtm_anime {
  display: flex;
  gap: 10px;
  align-items: center;
}

.firstView_leftBtm_anime .scroll {
  width: 50px;
  height: 9px;
  position: relative;
}

.firstView_leftBtm_anime .scroll::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  background: rgba(255, 255, 255, 0.45);
}

.firstView_leftBtm_anime .scroll::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 2px solid #fff;
  position: absolute;
  left: 0;
  top: 0;
  animation: fvAnime 2s linear alternate-reverse infinite;
}

@keyframes fvAnime {
  0% {
    transform: translateX(0px);
  }

  100% {
    transform: translateX(41px);
  }
}

@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }

  35% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }

  35.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }

  70%,
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.1);
  }
}

.recruitWrap {
  padding-top: 82px;
}

.recruitHead {
  background: url(../../images/recruit/fv_bg.jpg) no-repeat center bottom;
  background-size: cover;
  padding-top: 20px;
  padding-bottom: 100px;
}

.recruitHead_column {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.recruitHead_column_textArea {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.recruitHead_column_img-1 {
  padding-left: 20%;
}

.recruitHead_column_img-1 img {
  border-radius: 30px 0 0 30px;
}

.recruitHead_column_img-2 {
  position: relative;
}

.recruitHead_column_img-2 .img02 {
  margin-left: 20px;
  padding-right: 30px;
  position: relative;
  z-index: 0;
}

.recruitHead_column_img-2 .img02::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background: #e5b125;
  width: 80%;
  height: 80%;
  bottom: -5px;
  left: -5px;
  border-radius: 5px;
}

.recruitHead_column_img-2 .img03 {
  margin-top: -30px;
  padding-left: 50%;
  position: relative;
  z-index: 1;
  transform: translateY(10px);
}

.recruitHead_column_img-2 .img02,
.recruitHead_column_img-2 .img03 {
  display: block;
}

.recruitHead_column_img-2 .img02 img,
.recruitHead_column_img-2 .img03 img {
  border-radius: 10px;
}

.recruit_title {
  margin-bottom: 50px;
}

.recruit_title .ja,
.recruit_title .en {
  display: block;
  text-align: center;
}

.recruit_title .ja {
  font-size: clamp(24px, 3.125vw, 60px);
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}

.recruit_copy {
  font-size: 18px;
  font-family: "Zen Old Mincho", serif;
  line-height: 2;
}

.recruit_news {
  background: #fff;
  padding: 10px 0;
}

.recruit_news_column {
  display: flex;
  flex-direction: column;
}

.recruit_news_column_newsArea .index_topics_list_item_link {
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  white-space: nowrap;
  letter-spacing: 0.05em;
}

.recruit_news_column_newsArea .index_topics_list_item_link .cate,
.recruit_news_column_newsArea .index_topics_list_item_link .title {
  font-weight: 700;
}

.recruit_news_column_newsArea .index_topics_list_item_link .cate {
  background: #fbf3de;
}

.recruit_about {
  font-size: 16px;
  line-height: 2;
  text-align: center;
  padding-bottom: 50px;
}

.recruit_about_bg {
  position: relative;
  padding-bottom: 100px;
}

.recruit_about_bg-bird {
  margin-bottom: 20px;
  text-align: left;
}

.recruit_about_bg-business {
  text-align: right;
  margin: 30px 0 30px auto;
  width: 40%;
}

.recruit_about_bg-desk {
  margin-top: 20px;
  text-align: left;
}

.recruit_about_title {
  margin-bottom: 2em;
  font-weight: normal;
}

.recruit_about_title span {
  display: inline-block;
  padding: 0 1em;
  background: url(../../images/recruit/about_line.svg) no-repeat center bottom;
  background-size: contain;
  padding-bottom: 10px;
}

.recruit_interview {
  position: relative;
  background: #fff;
  padding: 50px 0;
}

.recruit_interview::before {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  position: absolute;
  top: -100px;
  left: 0;
  background: #fff;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(255, 255, 255) 100%);
}

.recruit_interview_title {
  text-align: center;
  margin-bottom: 50px;
  margin-top: 30px;
}

.recruit_interview_list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 50px;
}

.recruit_interview_list_item {
  display: block;
}

.recruit_interview_list_item_copy {
  font-family: "Zen Old Mincho", serif;
  line-height: 1.8;
  font-weight: normal;
  font-size: 1.125rem;
  position: relative;
  padding: 10px 0 20px 20px;
  font-feature-settings: "palt";
}

.recruit_interview_list_item_copy .line {
  position: absolute;
  bottom: 0;
  left: 20px;
  width: 80px;
  height: 2px;
  display: inline-block;
}

.recruit_interview_list_item_infoArea {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-left: 20px;
  margin-top: 10px;
}

.recruit_interview_list_item_infoArea .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s ease-out;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #003670;
}

.recruit_interview_list_item:hover .arrow {
  background: #fbf3de;
}

.recruit_interview_list_item_info .year {
  font-weight: 300;
  margin-bottom: 5px;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.recruit_town {
  background: #fff;
  position: relative;
}

.recruit_town_bg {
  position: relative;
  z-index: 0;
  width: 100%;
  padding-top: 64%;
}

.recruit_town_bg img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover";
}

.recruit_town .container-middle {
  position: relative;
}

.recruit_town_textArea {
  position: relative;
  z-index: 1;
  padding: 20px;
  background: #fff;
}

.recruit_town_textArea p {
  font-weight: 400;
  line-height: 2.2;
  margin-bottom: 1em;
}

.recruit_town_title {
  font-size: 1.5rem;
  font-weight: normal;
  margin-bottom: 1em;
}

.recruit_culture {
  background: #fff;
}

.recruit_culture_textArea {
  color: #fff;
  background: url(../../images/recruit/bunka_bg.svg) no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 250px 20px;
  height: 767px;
  aspect-ratio: 769/767;
}

.recruit_culture_textArea p {
  line-height: 2.2;
  margin-bottom: 1em;
}

.recruit_culture_imgArea {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: -160px;
  position: relative;
  z-index: 1;
}

.recruit_culture_img-1 {
  flex: 0 0 100%;
}

.recruit_culture_img-2,
.recruit_culture_img-3 {
  flex: 0 0 calc(50% - 10px);
}

.recruit_culture_img-2 {
  text-align: right;
}

.recruit_link_wrap {
  background: #fff;
  padding: 100px 0 50px;
}

.recruit_link {
  display: flex;
  gap: 50px;
  flex-direction: column;
}

.recruit_link_item p {
  margin-bottom: 2em;
  font-weight: 400;
  line-height: 2;
}

.recruit_link_title {
  font-size: 1.5rem;
  margin-bottom: 1em;
  font-weight: normal;
}

.recruit_entry {
  background: url(../../images/recruit/entry_bg@2x.jpg) no-repeat center top;
  background-size: auto 100%;
  padding: 100px 20px;
  text-align: center;
}

.recruit_entry_text {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.5rem;
  margin-bottom: 30px;
}

.recruit_entry-under {
  background: url(../../images/recruit/recruit_foot@2x.png) no-repeat left bottom;
  background-size: 100% auto;
  padding-top: 0 !important;
}

.entryBtn {
  display: inline-block;
  background: #e5b125;
  color: #fff;
  border: 2px solid #e5b125;
  text-shadow: 0 2px 4px rgba(183, 98, 4, 0.4);
  padding: 20px 30px;
  text-align: center;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.13);
  border-radius: 5px;
  font-size: 1.125rem;
  font-weight: 900;
  transition: 0.3s ease-out;
}

.pageHead_column-work .page_title {
  white-space: nowrap;
}

.workPage_title {
  font-size: 1.125rem;
  margin-bottom: 1em;
  font-family: "Zen Old Mincho", serif;
  font-weight: normal;
}

.works {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 30px;
}

.work {
  flex: 0 0 calc(50% - 15px);
}

.work h2.work_title {
  margin: 5px 0 1em;
  text-align: center;
  font-weight: 400;
  font-weight: normal;
  font-size: 1.125rem;
}

.faq {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #003670;
}

.faq_summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 15px;
  position: relative;
  font-size: 1rem;
}

.faq_summary::-webkit-details-marker {
  display: none;
}

.faq_summary::before {
  content: "Q";
  display: flex;
  width: 40px;
  height: 40px;
  font-size: 1.5rem;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: 50%;
  background: #f8ebc8;
}

.faq_summary .mark {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.faq_summary .mark::before,
.faq_summary .mark::after {
  display: block;
  width: 44px;
  height: 1px;
  content: "";
  background-color: #003670;
  position: absolute;
  top: 50%;
  right: 0;
}

.faq_summary .mark::before {
  transform: translateY(-50%);
}

.faq_summary .mark::after {
  transition: transform 0.5s;
  transform: translateY(-50%) rotate(-90deg);
}

.faq_content p {
  padding: 20px 0 0 55px;
  font-weight: 400;
  font-size: 1.125rem;
}

.faq[open]:not([data-accordion-before-close]) .mark::after {
  transform: translateY(-50%);
}

.selection_section:not(:first-child) {
  margin-top: 50px;
}

.selection_section_title {
  margin-bottom: 1em;
  font-size: 1.5rem;
  font-weight: normal;
}

.selection_box {
  border-radius: 10px;
  background: rgba(251, 243, 222, 0.85);
  padding: 20px;
}

.selection_box-white {
  background: rgba(255, 255, 255, 0.85);
}

.selection_step_column {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
}

.selection_step_column:not(:first-child) {
  margin-top: 20px;
}

.selection_step_column:not(:last-child) .selection_step_numArea::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 26px solid #fff;
  border-bottom: 26px solid transparent;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  position: absolute;
  bottom: -10px;
  left: 0;
  transform: translateY(110%);
}

.selection_step_numArea {
  flex: 0 0 30px;
  position: relative;
}

.selection_step_num {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.5rem;
  line-height: 1;
  white-space: nowrap;
}

.selection_step_title {
  font-size: 1.125rem;
  flex: 1 1 0%;
  letter-spacing: 0.1em;
  line-height: 1.3;
  white-space: nowrap;
  font-weight: normal;
}

.selection_step_copy {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 1em;
}

.selection_step_textArea {
  flex: 1 1 0%;
}

.selection_step_link li {
  margin-top: 10px;
}

.selection_step_link a {
  display: flex;
  padding: 5px 15px;
  justify-content: space-between;
  align-items: center;
  gap: 0 20px;
  font-weight: 700;
  background: #fff;
  border: 1px solid #003670;
  width: 100%;
  max-width: 400px;
  border-radius: 30px;
  transition: 0.3s ease-out;
}

.selection_step_link a span {
  display: inline-block;
  width: 26px;
  height: 26px;
}

.selection_step_link a span img {
  vertical-align: top;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  font-family: "object-fit: contain";
}

.selection_step_link a:hover {
  background: #f7f1e8;
}

.selection_step_table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

.selection_step_table th,
.selection_step_table td {
  text-align: left;
  vertical-align: top;
  padding: 0;
}

.selection_step_table th {
  white-space: nowrap;
  padding-right: 1em;
}

.selection_case {
  display: flex;
  gap: 50px;
  flex-direction: column;
}

.selection_case .selection_step_title {
  text-align: center;
  margin-bottom: 1em;
}

.selection_case_list {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 0.75rem;
}

.selection_school_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 0.75rem;
}

.selection_school_list li {
  flex: 0 0 50%;
}

.benefits_section {
  padding: 50px 0;
}

.benefits_section-bg {
  background-image: linear-gradient(180deg, #fcf7e9, #faefd3);
}

.benefits_scroll_wrap {
  overflow: visible;
  margin-top: 30px;
}

.benefits_textArea {
  position: relative;
}

.benefits_textArea p {
  padding-top: 2em;
}

.benefits_list {
  display: flex;
  gap: 30px 0;
  flex-wrap: wrap;
  justify-content: space-between;
}

.benefits_list .selection_box {
  flex: 0 0 100%;
}

.benefits_list .selection_step_title {
  text-align: center;
  margin-bottom: 1em;
}

.evaluations {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 50px;
  margin-top: 50px;
}

.evaluation {
  display: flex;
  flex: 0 0 100%;
  gap: 20px;
}

.evaluation_img {
  flex: 0 0 150px;
}

.evaluation_title {
  font-size: 1.125rem;
  margin-bottom: 0.5em;
  font-weight: 700;
  line-height: 1.5;
}

.interview_head {
  position: relative;
  z-index: 1;
}

.interview_head_img {
  margin: 0 -20px;
}

.interview_copy {
  font-size: 1.25rem;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 2em;
}

.interview_title {
  font-size: 1.875rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.2em;
}

.interview_title .num {
  display: inline-block;
}

.interview_title .line {
  display: block;
  width: 80px;
  height: 2px;
  margin: 20px 0 30px;
}

.interview_title_en {
  font-size: 0.75rem;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.15em;
}

.interview_year {
  font-weight: 300;
  margin-top: 10px;
  letter-spacing: 0.1em;
}

.interview_bgArea {
  position: relative;
  z-index: 0;
}

.interview_bg {
  position: absolute;
  width: 100vw;
  height: calc(100% + 50px);
  top: 0;
  left: 0;
  opacity: 0.15;
  z-index: -1;
  transform: translateY(-180px);
}

.interview_section p {
  line-height: 2;
  font-weight: 400;
}

.interview_section-column {
  margin-bottom: 70px;
  display: flex;
  gap: 30px;
  flex-direction: column;
}

.interview_section_title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: 1.125rem;
  margin-bottom: 1em;
}

.interview_section_column {
  margin-top: 70px;
  display: flex;
  gap: 50px;
  flex-direction: column;
  margin-bottom: 30px;
  padding-bottom: 30px;
  position: relative;
}

.interview_section_column .line {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 80px;
  height: 2px;
  transform: translateX(-50%);
}

.interview_foot {
  display: flex;
  gap: 30px;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 100px;
}

.interview_foot_card {
  width: 100%;
  max-width: 390px;
  background: #f7f1e8;
}

.interview_foot_card_textArea {
  padding: 20px;
  position: relative;
}

.interview_foot_card_title {
  font-family: "Zen Old Mincho", serif;
  font-weight: normal;
  font-size: 1.125rem;
}

.interview_foot_card .line {
  width: 80px;
  height: 2px;
  margin: 20px 0;
}

.interview_foot_card_year {
  font-weight: 300;
  letter-spacing: 0.1em;
  font-size: 0.875em;
}

.interview_foot_card .arrow {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s ease-out;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #003670;
}

.interview_foot_card:hover .arrow {
  background: #fbf3de;
}

.cultures {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 50px;
}

.culture_card {
  flex: 0 0 100%;
  padding: 20px;
  border-radius: 5px;
  background: #fff;
}

.culture_card_title {
  text-align: center;
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 1em;
  letter-spacing: 0.14em;
}

.culture_card_img {
  text-align: center;
}

.culture_card_text {
  font-weight: 400;
  line-height: 2;
  margin-top: 2em;
}

@media (min-width: 600px) {
  .container-middle {
    width: 100%;
    max-width: calc(1080px + 40px);
    margin: 0 auto;
  }

  .container-small {
    width: 100%;
    max-width: calc(780px + 40px);
    margin: 0 auto;
  }

  .sp-visible {
    display: none;
  }

  .tab-visible {
    display: block;
  }

  .tab-none {
    display: none;
  }

  .sp-text-center {
    text-align: left !important;
  }

  .tab-text-center {
    text-align: center !important;
  }

  .col>.tab-1 {
    width: 8.3333333333%;
  }

  .col>.offset-tab-1 {
    margin-left: 8.3333333333%;
  }

  .col>.tab-2 {
    width: 16.6666666667%;
  }

  .col>.offset-tab-2 {
    margin-left: 16.6666666667%;
  }

  .col>.tab-3 {
    width: 25%;
  }

  .col>.offset-tab-3 {
    margin-left: 25%;
  }

  .col>.tab-4 {
    width: 33.3333333333%;
  }

  .col>.offset-tab-4 {
    margin-left: 33.3333333333%;
  }

  .col>.tab-5 {
    width: 41.6666666667%;
  }

  .col>.offset-tab-5 {
    margin-left: 41.6666666667%;
  }

  .col>.tab-6 {
    width: 50%;
  }

  .col>.offset-tab-6 {
    margin-left: 50%;
  }

  .col>.tab-7 {
    width: 58.3333333333%;
  }

  .col>.offset-tab-7 {
    margin-left: 58.3333333333%;
  }

  .col>.tab-8 {
    width: 66.6666666667%;
  }

  .col>.offset-tab-8 {
    margin-left: 66.6666666667%;
  }

  .col>.tab-9 {
    width: 75%;
  }

  .col>.offset-tab-9 {
    margin-left: 75%;
  }

  .col>.tab-10 {
    width: 83.3333333333%;
  }

  .col>.offset-tab-10 {
    margin-left: 83.3333333333%;
  }

  .col>.tab-11 {
    width: 91.6666666667%;
  }

  .col>.offset-tab-11 {
    margin-left: 91.6666666667%;
  }

  .col>.tab-12 {
    width: 100%;
  }

  .col>.offset-tab-12 {
    margin-left: 100%;
  }

  .col.gutter-5>.tab-1 {
    width: calc(8.3333333333% - 5px);
  }

  .col.gutter-5>.tab-2 {
    width: calc(16.6666666667% - 5px);
  }

  .col.gutter-5>.tab-3 {
    width: calc(25% - 5px);
  }

  .col.gutter-5>.tab-4 {
    width: calc(33.3333333333% - 5px);
  }

  .col.gutter-5>.tab-5 {
    width: calc(41.6666666667% - 5px);
  }

  .col.gutter-5>.tab-6 {
    width: calc(50% - 5px);
  }

  .col.gutter-5>.tab-7 {
    width: calc(58.3333333333% - 5px);
  }

  .col.gutter-5>.tab-8 {
    width: calc(66.6666666667% - 5px);
  }

  .col.gutter-5>.tab-9 {
    width: calc(75% - 5px);
  }

  .col.gutter-5>.tab-10 {
    width: calc(83.3333333333% - 5px);
  }

  .col.gutter-5>.tab-11 {
    width: calc(91.6666666667% - 5px);
  }

  .col.gutter-5>.tab-12 {
    width: calc(100% - 5px);
  }

  .col.gutter-10>.tab-1 {
    width: calc(8.3333333333% - 10px);
  }

  .col.gutter-10>.tab-2 {
    width: calc(16.6666666667% - 10px);
  }

  .col.gutter-10>.tab-3 {
    width: calc(25% - 10px);
  }

  .col.gutter-10>.tab-4 {
    width: calc(33.3333333333% - 10px);
  }

  .col.gutter-10>.tab-5 {
    width: calc(41.6666666667% - 10px);
  }

  .col.gutter-10>.tab-6 {
    width: calc(50% - 10px);
  }

  .col.gutter-10>.tab-7 {
    width: calc(58.3333333333% - 10px);
  }

  .col.gutter-10>.tab-8 {
    width: calc(66.6666666667% - 10px);
  }

  .col.gutter-10>.tab-9 {
    width: calc(75% - 10px);
  }

  .col.gutter-10>.tab-10 {
    width: calc(83.3333333333% - 10px);
  }

  .col.gutter-10>.tab-11 {
    width: calc(91.6666666667% - 10px);
  }

  .col.gutter-10>.tab-12 {
    width: calc(100% - 10px);
  }

  .col.gutter-15>.tab-1 {
    width: calc(8.3333333333% - 15px);
  }

  .col.gutter-15>.tab-2 {
    width: calc(16.6666666667% - 15px);
  }

  .col.gutter-15>.tab-3 {
    width: calc(25% - 15px);
  }

  .col.gutter-15>.tab-4 {
    width: calc(33.3333333333% - 15px);
  }

  .col.gutter-15>.tab-5 {
    width: calc(41.6666666667% - 15px);
  }

  .col.gutter-15>.tab-6 {
    width: calc(50% - 15px);
  }

  .col.gutter-15>.tab-7 {
    width: calc(58.3333333333% - 15px);
  }

  .col.gutter-15>.tab-8 {
    width: calc(66.6666666667% - 15px);
  }

  .col.gutter-15>.tab-9 {
    width: calc(75% - 15px);
  }

  .col.gutter-15>.tab-10 {
    width: calc(83.3333333333% - 15px);
  }

  .col.gutter-15>.tab-11 {
    width: calc(91.6666666667% - 15px);
  }

  .col.gutter-15>.tab-12 {
    width: calc(100% - 15px);
  }

  .col.gutter-20>.tab-1 {
    width: calc(8.3333333333% - 20px);
  }

  .col.gutter-20>.tab-2 {
    width: calc(16.6666666667% - 20px);
  }

  .col.gutter-20>.tab-3 {
    width: calc(25% - 20px);
  }

  .col.gutter-20>.tab-4 {
    width: calc(33.3333333333% - 20px);
  }

  .col.gutter-20>.tab-5 {
    width: calc(41.6666666667% - 20px);
  }

  .col.gutter-20>.tab-6 {
    width: calc(50% - 20px);
  }

  .col.gutter-20>.tab-7 {
    width: calc(58.3333333333% - 20px);
  }

  .col.gutter-20>.tab-8 {
    width: calc(66.6666666667% - 20px);
  }

  .col.gutter-20>.tab-9 {
    width: calc(75% - 20px);
  }

  .col.gutter-20>.tab-10 {
    width: calc(83.3333333333% - 20px);
  }

  .col.gutter-20>.tab-11 {
    width: calc(91.6666666667% - 20px);
  }

  .col.gutter-20>.tab-12 {
    width: calc(100% - 20px);
  }

  .col.gutter-25>.tab-1 {
    width: calc(8.3333333333% - 25px);
  }

  .col.gutter-25>.tab-2 {
    width: calc(16.6666666667% - 25px);
  }

  .col.gutter-25>.tab-3 {
    width: calc(25% - 25px);
  }

  .col.gutter-25>.tab-4 {
    width: calc(33.3333333333% - 25px);
  }

  .col.gutter-25>.tab-5 {
    width: calc(41.6666666667% - 25px);
  }

  .col.gutter-25>.tab-6 {
    width: calc(50% - 25px);
  }

  .col.gutter-25>.tab-7 {
    width: calc(58.3333333333% - 25px);
  }

  .col.gutter-25>.tab-8 {
    width: calc(66.6666666667% - 25px);
  }

  .col.gutter-25>.tab-9 {
    width: calc(75% - 25px);
  }

  .col.gutter-25>.tab-10 {
    width: calc(83.3333333333% - 25px);
  }

  .col.gutter-25>.tab-11 {
    width: calc(91.6666666667% - 25px);
  }

  .col.gutter-25>.tab-12 {
    width: calc(100% - 25px);
  }

  .col.gutter-30>.tab-1 {
    width: calc(8.3333333333% - 30px);
  }

  .col.gutter-30>.tab-2 {
    width: calc(16.6666666667% - 30px);
  }

  .col.gutter-30>.tab-3 {
    width: calc(25% - 30px);
  }

  .col.gutter-30>.tab-4 {
    width: calc(33.3333333333% - 30px);
  }

  .col.gutter-30>.tab-5 {
    width: calc(41.6666666667% - 30px);
  }

  .col.gutter-30>.tab-6 {
    width: calc(50% - 30px);
  }

  .col.gutter-30>.tab-7 {
    width: calc(58.3333333333% - 30px);
  }

  .col.gutter-30>.tab-8 {
    width: calc(66.6666666667% - 30px);
  }

  .col.gutter-30>.tab-9 {
    width: calc(75% - 30px);
  }

  .col.gutter-30>.tab-10 {
    width: calc(83.3333333333% - 30px);
  }

  .col.gutter-30>.tab-11 {
    width: calc(91.6666666667% - 30px);
  }

  .col.gutter-30>.tab-12 {
    width: calc(100% - 30px);
  }

  .col.gutter-35>.tab-1 {
    width: calc(8.3333333333% - 35px);
  }

  .col.gutter-35>.tab-2 {
    width: calc(16.6666666667% - 35px);
  }

  .col.gutter-35>.tab-3 {
    width: calc(25% - 35px);
  }

  .col.gutter-35>.tab-4 {
    width: calc(33.3333333333% - 35px);
  }

  .col.gutter-35>.tab-5 {
    width: calc(41.6666666667% - 35px);
  }

  .col.gutter-35>.tab-6 {
    width: calc(50% - 35px);
  }

  .col.gutter-35>.tab-7 {
    width: calc(58.3333333333% - 35px);
  }

  .col.gutter-35>.tab-8 {
    width: calc(66.6666666667% - 35px);
  }

  .col.gutter-35>.tab-9 {
    width: calc(75% - 35px);
  }

  .col.gutter-35>.tab-10 {
    width: calc(83.3333333333% - 35px);
  }

  .col.gutter-35>.tab-11 {
    width: calc(91.6666666667% - 35px);
  }

  .col.gutter-35>.tab-12 {
    width: calc(100% - 35px);
  }

  .col.gutter-40>.tab-1 {
    width: calc(8.3333333333% - 40px);
  }

  .col.gutter-40>.tab-2 {
    width: calc(16.6666666667% - 40px);
  }

  .col.gutter-40>.tab-3 {
    width: calc(25% - 40px);
  }

  .col.gutter-40>.tab-4 {
    width: calc(33.3333333333% - 40px);
  }

  .col.gutter-40>.tab-5 {
    width: calc(41.6666666667% - 40px);
  }

  .col.gutter-40>.tab-6 {
    width: calc(50% - 40px);
  }

  .col.gutter-40>.tab-7 {
    width: calc(58.3333333333% - 40px);
  }

  .col.gutter-40>.tab-8 {
    width: calc(66.6666666667% - 40px);
  }

  .col.gutter-40>.tab-9 {
    width: calc(75% - 40px);
  }

  .col.gutter-40>.tab-10 {
    width: calc(83.3333333333% - 40px);
  }

  .col.gutter-40>.tab-11 {
    width: calc(91.6666666667% - 40px);
  }

  .col.gutter-40>.tab-12 {
    width: calc(100% - 40px);
  }

  .col.gutter-45>.tab-1 {
    width: calc(8.3333333333% - 45px);
  }

  .col.gutter-45>.tab-2 {
    width: calc(16.6666666667% - 45px);
  }

  .col.gutter-45>.tab-3 {
    width: calc(25% - 45px);
  }

  .col.gutter-45>.tab-4 {
    width: calc(33.3333333333% - 45px);
  }

  .col.gutter-45>.tab-5 {
    width: calc(41.6666666667% - 45px);
  }

  .col.gutter-45>.tab-6 {
    width: calc(50% - 45px);
  }

  .col.gutter-45>.tab-7 {
    width: calc(58.3333333333% - 45px);
  }

  .col.gutter-45>.tab-8 {
    width: calc(66.6666666667% - 45px);
  }

  .col.gutter-45>.tab-9 {
    width: calc(75% - 45px);
  }

  .col.gutter-45>.tab-10 {
    width: calc(83.3333333333% - 45px);
  }

  .col.gutter-45>.tab-11 {
    width: calc(91.6666666667% - 45px);
  }

  .col.gutter-45>.tab-12 {
    width: calc(100% - 45px);
  }

  .col.gutter-50>.tab-1 {
    width: calc(8.3333333333% - 50px);
  }

  .col.gutter-50>.tab-2 {
    width: calc(16.6666666667% - 50px);
  }

  .col.gutter-50>.tab-3 {
    width: calc(25% - 50px);
  }

  .col.gutter-50>.tab-4 {
    width: calc(33.3333333333% - 50px);
  }

  .col.gutter-50>.tab-5 {
    width: calc(41.6666666667% - 50px);
  }

  .col.gutter-50>.tab-6 {
    width: calc(50% - 50px);
  }

  .col.gutter-50>.tab-7 {
    width: calc(58.3333333333% - 50px);
  }

  .col.gutter-50>.tab-8 {
    width: calc(66.6666666667% - 50px);
  }

  .col.gutter-50>.tab-9 {
    width: calc(75% - 50px);
  }

  .col.gutter-50>.tab-10 {
    width: calc(83.3333333333% - 50px);
  }

  .col.gutter-50>.tab-11 {
    width: calc(91.6666666667% - 50px);
  }

  .col.gutter-50>.tab-12 {
    width: calc(100% - 50px);
  }

  .typing_title {
    font-size: 0.875rem;
  }

  .siteHead {
    padding: 30px;
  }

  .cookie-consent {
    padding: 30px 5%;
  }

  .index_service_img-1::after {
    height: 56px;
    border-radius: 30px 0 0 30px;
    width: calc(100% + 30px);
  }

  .index_company {
    height: auto;
  }

  .index_company_logoArea {
    gap: 10px;
  }

  .index_company_logo {
    display: flex;
    gap: 10px;
    align-items: center;
  }

  .index_topics_column {
    display: flex;
    gap: 50px;
  }

  .index_topics_column_titleArea {
    flex: 0 0 250px;
    width: 250px;
    padding-bottom: 60px;
  }

  .index_topics_column_listArea {
    flex: 1 1 auto;
  }

  .index_topics_btn {
    position: absolute;
    left: 20px;
    bottom: 0;
  }

  .index_topics_list_item_link {
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .index_sustainability_column {
    flex-direction: row;
  }

  .index_sustainability_column_titleArea {
    flex: 0 0 50%;
  }

  .index_sustainability_column_textArea {
    flex: 0 0 50%;
  }

  .index_sustainability .typing_title {
    margin-bottom: 50px;
  }

  .pageWrap {
    padding-top: 102px;
  }

  .breadcrumb {
    padding: 0 30px;
    font-size: 0.75rem;
  }

  .pageHead_column {
    gap: 50px;
    flex-direction: row;
    justify-content: space-between;
  }

  .service_step_head {
    padding: 50px 50px 80px;
  }

  .service_step_head::before {
    border-width: 30px;
  }

  .service_step_list {
    margin-top: -40px;
    flex-direction: row;
  }

  .service_step_item {
    flex: 1 1 0%;
  }

  .service_step_item_icon img {
    max-width: 60%;
  }

  .service_step_item_title {
    text-align: center;
  }

  .main_service::before {
    width: 76px;
  }

  .main_service_box {
    border-radius: 30px;
    padding: 30px;
  }

  .strength_quality_imgArea {
    display: flex;
    flex-direction: row-reverse;
    gap: 50px;
  }

  .strength_quality_title {
    writing-mode: vertical-rl;
    letter-spacing: 0.1em;
    line-height: 1.7;
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(30px, 1.979166667vw, 38px);
  }

  .company_about {
    flex-direction: row;
  }

  .philosophy_list dd::before {
    content: "―　";
  }

  .overview_column {
    display: flex;
    gap: 50px;
    padding: 50px 0;
  }

  .overview_column_textArea {
    flex: 1 1 0%;
  }

  table.overview th,
  table.overview td {
    border-top: 1px solid #6686a9;
    border-bottom: 1px solid #6686a9;
    padding: 30px 0;
  }

  table.overview td {
    padding-left: 6em;
  }

  .wpcf7 table.overview th {
    width: 12em;
  }

  .company_link li {
    flex: 0 0 40%;
  }

  .overview_organization {
    padding: 100px;
  }

  .overview_group li {
    flex: 0 0 48%;
  }

  .security_list {
    gap: 80px 50px;
  }

  .security_list_item {
    flex: 0 0 calc(50% - 25px);
  }

  .security_list-full .security_list_item {
    flex: 0 0 100%;
  }

  .sdgs_list li {
    width: calc(25% - 7.5px);
  }

  .sdgs_main_grid {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 80px 50px;
  }

  .sdgs_main_item {
    width: calc(50% - 25px);
  }

  .sdgs_main_item_icon li {
    width: 36%;
  }

  .product_list {
    justify-content: flex-start;
  }

  .product_list_item {
    flex: 0 0 calc(50% - 25px);
  }

  .machine_list {
    justify-content: flex-start;
  }

  .machine_list .product_list_item {
    flex: 0 0 calc(50% - 25px);
  }

  .machine_other {
    margin-top: 80px;
    display: flex;
    gap: 100px;
  }

  .machine_other_titleArea {
    flex: 0 0 180px;
  }

  .machine_other_tableArea {
    flex: 1 1 auto;
  }

  .processing+.processing::before {
    margin-bottom: 0;
  }

  .processing_textArea {
    flex-direction: row;
  }

  .processing_textArea::before {
    font-size: 8.75rem;
  }

  .processing_titleArea {
    flex: 0 0 300px;
  }

  .step_item_column::before {
    margin-bottom: 0;
  }

  .recruit_flow li {
    flex: 0 0 calc(25% + 20px);
  }

  .nextContents_bnr_img::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(20deg, #F76B13 0%, #2E2E2E 40%, #F76B13 100%);
    mix-blend-mode: multiply;
    opacity: 0.8;
  }

  .nextContents_bnr_en {
    font-size: min(4.8vw, 24px);
  }

  .nextContents_bnr_text {
    font-size: min(4.685212299vw, 64px);
  }

  .recruitWrap {
    padding-top: 102px;
  }

  .recruitHead_column {
    flex-direction: row-reverse;
    justify-content: center;
  }

  .recruitHead_column_textArea {
    flex: 0 0 400px;
  }

  .recruitHead_column_img-1 {
    flex: 1 1 0%;
    padding-left: 0;
  }

  .recruitHead_column_img-2 {
    flex: 1 1 0%;
    margin-top: 200px;
  }

  .recruit_copy {
    font-size: 18px;
  }

  .recruit_news_column {
    flex-direction: row;
    align-items: center;
  }

  .recruit_news_column_newsArea {
    flex: 1 1 0%;
    padding-left: 2em;
    margin-left: 2em;
    border-left: 1px solid #003670;
  }

  .recruit_about_bg-business {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin: 0;
    width: auto;
  }

  .recruit_about_bg-business+section {
    margin-top: 100px;
  }

  .recruit_interview_title {
    margin-top: 100px;
  }

  .recruit_interview_list {
    flex-direction: row;
    gap: 0 50px;
  }

  .recruit_interview_list_item {
    flex: 0 0 calc(50% - 25px);
  }

  .recruit_interview_list_item:nth-of-type(odd) {
    margin-top: -50px;
  }

  .recruit_interview_list_item:nth-of-type(even) {
    padding-top: min(15.7vw, 170px);
  }

  .recruit_interview_list_item_copy {
    font-size: min(1.944444444vw, 21px);
  }

  .recruit_interview_list_item_infoArea {
    margin-top: 0;
  }

  .recruit_culture_textArea {
    width: 100%;
    margin: 0;
    max-width: 769px;
    padding: 0 160px;
    height: auto;
    min-height: 0;
  }

  .recruit_culture_img-1 {
    flex: 0 0 calc(50% - 15px);
  }

  .recruit_culture_img-2,
  .recruit_culture_img-3 {
    flex: 0 0 calc(25% - 15px);
  }

  .recruit_link {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .recruit_link_item {
    flex: 0 0 calc(50% - 25px);
  }

  .pageHead_column_titleArea {
    flex: 0 0 430px;
  }

  .work {
    flex: 0 0 calc(33.3333% - 20px);
  }

  .work h2.work_title,
  .work p.work_text {
    padding: 0 5px;
  }

  .selection_step_title {
    flex: 0 0 6em;
  }

  .selection_case {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }

  .selection_case .selection_box {
    flex: 0 0 48%;
  }

  .benefits_list .selection_box {
    flex: 0 0 48%;
  }

  .evaluation {
    flex: 0 0 calc(50% - 15px);
  }

  .interview_section-column {
    flex-direction: row;
    gap: 50px;
    margin-bottom: 100px;
  }

  .interview_section-column:nth-of-type(even) {
    flex-direction: row-reverse;
  }

  .interview_section_img {
    flex: 0 0 300px;
  }

  .interview_section_textArea {
    flex: 1 1 0%;
  }

  .interview_section_column {
    justify-content: space-between;
    flex-direction: row;
    margin-bottom: 50px;
    padding-bottom: 50px;
  }

  .interview_foot_card {
    width: calc(50% - 15px);
  }

  .cultures {
    gap: 50px;
  }

  .culture_card {
    flex: 0 0 calc(50% - 25px);
    padding: 30px;
  }
}

@media (min-width: 600px) and (min-width: 1200px) {
  .breadcrumb {
    padding: 0 60px;
  }

  .philosophy_list dd::before {
    content: "――　";
  }

  .interview_section-column {
    margin-bottom: 150px;
  }

  .cultures {
    gap: 100px;
    margin-top: 100px;
  }

  .culture_card {
    flex: 0 0 calc(50% - 50px);
    padding: 50px;
  }
}

@media (min-width: 600px) and (min-width: 950px) {
  .siteHead {
    z-index: 89;
    width: 100%;
    padding: 0 30px;
    background: rgba(255, 255, 255, 0.95);
  }

  .pageWrap {
    padding-top: 100px;
  }

  .pageHead_column {
    justify-content: flex-start;
  }

  .service_step_head {
    flex-direction: row;
    gap: 50px;
    padding: 50px 80px 80px;
  }

  .service_step_item_title {
    font-size: 2.25rem;
    letter-spacing: 2px;
  }

  .main_service_box {
    flex: 1 1 0%;
    padding: 50px;
    border-radius: 50px;
  }

  .company_about {
    gap: 80px;
  }

  .overview_column {
    padding: 80px 0;
  }

  .overview_column_title {
    font-size: 1.75rem;
  }

  .wpcf7 table.overview th {
    width: 17em;
  }

  .company_link li {
    flex: 0 0 35%;
  }

  .security_list {
    gap: 80px;
  }

  .security_list_item {
    flex: 0 0 calc(50% - 40px);
  }

  .security_list-full .security_list_item {
    flex: 0 0 100%;
  }

  .sdgs_list li {
    width: calc(16.6666666667% - 16.6666666667px);
  }

  .product_list {
    gap: 48px;
  }

  .product_list_item {
    flex: 0 0 calc(33.333% - 32px);
  }

  .machine_list .product_list_item {
    flex: 0 0 calc(50% - 25px);
  }

  .processing_textArea {
    gap: 50px;
  }

  .personality_list li {
    flex: 0 0 33.33%;
  }

  .nextContents_bnr_en {
    font-size: min(1.756954612vw, 24px);
  }

  .recruitWrap {
    padding-top: 66px;
  }

  .recruit_copy {
    font-size: 24px;
  }

  .recruit_interview_list {
    gap: 0 100px;
  }

  .recruit_interview_list_item {
    flex: 0 0 calc(50% - 50px);
  }

  .recruit_culture_textArea {
    width: 769px;
    height: 767px;
    padding: 0 200px;
    margin-left: auto;
  }

  .recruit_culture_img-1 {
    flex: 0 0 min(45%, 40vw);
    width: min(45%, 40vw);
    padding-left: 4.7vw;
    transform: translateY(-100%);
  }

  .recruit_link {
    gap: 50px 45px;
  }

  .recruit_link_item {
    flex: 0 0 calc(33% - 30px);
  }

  .work {
    flex: 0 0 calc(33.3333% - 36px);
  }

  .selection_step_title {
    line-height: 1.7;
    font-size: 1.5rem;
  }

  .benefits_list .selection_box {
    flex: 0 0 32%;
  }

  .interview_section_img {
    flex: 0 1 500px;
  }

  .interview_section_textArea {
    flex: 0 0 420px;
  }

  .interview_section_column {
    margin-bottom: 100px;
    padding-bottom: 100px;
    gap: 100px;
  }

  .interview_foot {
    margin-bottom: 150px;
    gap: 0;
    justify-content: space-between;
  }

  .interview_foot_card {
    width: 33%;
  }

  .culture_card_text {
    font-size: 1.125rem;
  }
}

@media (min-width: 600px) and (min-width: 950px) and (min-width: 1200px) {
  .siteHead {
    padding: 0 60px;
  }

  .pageHead_column {
    gap: 100px;
    align-items: center;
  }
}

@media (min-width: 600px) and (min-width: 950px) and (min-width: 1600px) {
  .recruit_culture_img-1 {
    flex: 0 0 45%;
    width: 45%;
  }
}

@media (min-width: 950px) {
  .container {
    width: 100%;
    max-width: calc(1200px + 40px);
  }

  .container.padding-none {
    max-width: 1200px;
  }

  body {
    font-size: 1rem;
  }

  .tabyoko-visible {
    display: block;
  }

  .tabyoko-none {
    display: none;
  }

  .tabyoko-text-center {
    text-align: center !important;
  }

  .tabless-text-center {
    text-align: left !important;
  }

  .col>.tabyoko-1 {
    width: 8.3333333333%;
  }

  .col>.offset-tabyoko-1 {
    margin-left: 8.3333333333%;
  }

  .col>.tabyoko-2 {
    width: 16.6666666667%;
  }

  .col>.offset-tabyoko-2 {
    margin-left: 16.6666666667%;
  }

  .col>.tabyoko-3 {
    width: 25%;
  }

  .col>.offset-tabyoko-3 {
    margin-left: 25%;
  }

  .col>.tabyoko-4 {
    width: 33.3333333333%;
  }

  .col>.offset-tabyoko-4 {
    margin-left: 33.3333333333%;
  }

  .col>.tabyoko-5 {
    width: 41.6666666667%;
  }

  .col>.offset-tabyoko-5 {
    margin-left: 41.6666666667%;
  }

  .col>.tabyoko-6 {
    width: 50%;
  }

  .col>.offset-tabyoko-6 {
    margin-left: 50%;
  }

  .col>.tabyoko-7 {
    width: 58.3333333333%;
  }

  .col>.offset-tabyoko-7 {
    margin-left: 58.3333333333%;
  }

  .col>.tabyoko-8 {
    width: 66.6666666667%;
  }

  .col>.offset-tabyoko-8 {
    margin-left: 66.6666666667%;
  }

  .col>.tabyoko-9 {
    width: 75%;
  }

  .col>.offset-tabyoko-9 {
    margin-left: 75%;
  }

  .col>.tabyoko-10 {
    width: 83.3333333333%;
  }

  .col>.offset-tabyoko-10 {
    margin-left: 83.3333333333%;
  }

  .col>.tabyoko-11 {
    width: 91.6666666667%;
  }

  .col>.offset-tabyoko-11 {
    margin-left: 91.6666666667%;
  }

  .col>.tabyoko-12 {
    width: 100%;
  }

  .col>.offset-tabyoko-12 {
    margin-left: 100%;
  }

  .col.gutter-5>.tabyoko-1 {
    width: calc(8.3333333333% - 5px);
  }

  .col.gutter-5>.tabyoko-2 {
    width: calc(16.6666666667% - 5px);
  }

  .col.gutter-5>.tabyoko-3 {
    width: calc(25% - 5px);
  }

  .col.gutter-5>.tabyoko-4 {
    width: calc(33.3333333333% - 5px);
  }

  .col.gutter-5>.tabyoko-5 {
    width: calc(41.6666666667% - 5px);
  }

  .col.gutter-5>.tabyoko-6 {
    width: calc(50% - 5px);
  }

  .col.gutter-5>.tabyoko-7 {
    width: calc(58.3333333333% - 5px);
  }

  .col.gutter-5>.tabyoko-8 {
    width: calc(66.6666666667% - 5px);
  }

  .col.gutter-5>.tabyoko-9 {
    width: calc(75% - 5px);
  }

  .col.gutter-5>.tabyoko-10 {
    width: calc(83.3333333333% - 5px);
  }

  .col.gutter-5>.tabyoko-11 {
    width: calc(91.6666666667% - 5px);
  }

  .col.gutter-5>.tabyoko-12 {
    width: calc(100% - 5px);
  }

  .col.gutter-10>.tabyoko-1 {
    width: calc(8.3333333333% - 10px);
  }

  .col.gutter-10>.tabyoko-2 {
    width: calc(16.6666666667% - 10px);
  }

  .col.gutter-10>.tabyoko-3 {
    width: calc(25% - 10px);
  }

  .col.gutter-10>.tabyoko-4 {
    width: calc(33.3333333333% - 10px);
  }

  .col.gutter-10>.tabyoko-5 {
    width: calc(41.6666666667% - 10px);
  }

  .col.gutter-10>.tabyoko-6 {
    width: calc(50% - 10px);
  }

  .col.gutter-10>.tabyoko-7 {
    width: calc(58.3333333333% - 10px);
  }

  .col.gutter-10>.tabyoko-8 {
    width: calc(66.6666666667% - 10px);
  }

  .col.gutter-10>.tabyoko-9 {
    width: calc(75% - 10px);
  }

  .col.gutter-10>.tabyoko-10 {
    width: calc(83.3333333333% - 10px);
  }

  .col.gutter-10>.tabyoko-11 {
    width: calc(91.6666666667% - 10px);
  }

  .col.gutter-10>.tabyoko-12 {
    width: calc(100% - 10px);
  }

  .col.gutter-15>.tabyoko-1 {
    width: calc(8.3333333333% - 15px);
  }

  .col.gutter-15>.tabyoko-2 {
    width: calc(16.6666666667% - 15px);
  }

  .col.gutter-15>.tabyoko-3 {
    width: calc(25% - 15px);
  }

  .col.gutter-15>.tabyoko-4 {
    width: calc(33.3333333333% - 15px);
  }

  .col.gutter-15>.tabyoko-5 {
    width: calc(41.6666666667% - 15px);
  }

  .col.gutter-15>.tabyoko-6 {
    width: calc(50% - 15px);
  }

  .col.gutter-15>.tabyoko-7 {
    width: calc(58.3333333333% - 15px);
  }

  .col.gutter-15>.tabyoko-8 {
    width: calc(66.6666666667% - 15px);
  }

  .col.gutter-15>.tabyoko-9 {
    width: calc(75% - 15px);
  }

  .col.gutter-15>.tabyoko-10 {
    width: calc(83.3333333333% - 15px);
  }

  .col.gutter-15>.tabyoko-11 {
    width: calc(91.6666666667% - 15px);
  }

  .col.gutter-15>.tabyoko-12 {
    width: calc(100% - 15px);
  }

  .col.gutter-20>.tabyoko-1 {
    width: calc(8.3333333333% - 20px);
  }

  .col.gutter-20>.tabyoko-2 {
    width: calc(16.6666666667% - 20px);
  }

  .col.gutter-20>.tabyoko-3 {
    width: calc(25% - 20px);
  }

  .col.gutter-20>.tabyoko-4 {
    width: calc(33.3333333333% - 20px);
  }

  .col.gutter-20>.tabyoko-5 {
    width: calc(41.6666666667% - 20px);
  }

  .col.gutter-20>.tabyoko-6 {
    width: calc(50% - 20px);
  }

  .col.gutter-20>.tabyoko-7 {
    width: calc(58.3333333333% - 20px);
  }

  .col.gutter-20>.tabyoko-8 {
    width: calc(66.6666666667% - 20px);
  }

  .col.gutter-20>.tabyoko-9 {
    width: calc(75% - 20px);
  }

  .col.gutter-20>.tabyoko-10 {
    width: calc(83.3333333333% - 20px);
  }

  .col.gutter-20>.tabyoko-11 {
    width: calc(91.6666666667% - 20px);
  }

  .col.gutter-20>.tabyoko-12 {
    width: calc(100% - 20px);
  }

  .col.gutter-25>.tabyoko-1 {
    width: calc(8.3333333333% - 25px);
  }

  .col.gutter-25>.tabyoko-2 {
    width: calc(16.6666666667% - 25px);
  }

  .col.gutter-25>.tabyoko-3 {
    width: calc(25% - 25px);
  }

  .col.gutter-25>.tabyoko-4 {
    width: calc(33.3333333333% - 25px);
  }

  .col.gutter-25>.tabyoko-5 {
    width: calc(41.6666666667% - 25px);
  }

  .col.gutter-25>.tabyoko-6 {
    width: calc(50% - 25px);
  }

  .col.gutter-25>.tabyoko-7 {
    width: calc(58.3333333333% - 25px);
  }

  .col.gutter-25>.tabyoko-8 {
    width: calc(66.6666666667% - 25px);
  }

  .col.gutter-25>.tabyoko-9 {
    width: calc(75% - 25px);
  }

  .col.gutter-25>.tabyoko-10 {
    width: calc(83.3333333333% - 25px);
  }

  .col.gutter-25>.tabyoko-11 {
    width: calc(91.6666666667% - 25px);
  }

  .col.gutter-25>.tabyoko-12 {
    width: calc(100% - 25px);
  }

  .col.gutter-30>.tabyoko-1 {
    width: calc(8.3333333333% - 30px);
  }

  .col.gutter-30>.tabyoko-2 {
    width: calc(16.6666666667% - 30px);
  }

  .col.gutter-30>.tabyoko-3 {
    width: calc(25% - 30px);
  }

  .col.gutter-30>.tabyoko-4 {
    width: calc(33.3333333333% - 30px);
  }

  .col.gutter-30>.tabyoko-5 {
    width: calc(41.6666666667% - 30px);
  }

  .col.gutter-30>.tabyoko-6 {
    width: calc(50% - 30px);
  }

  .col.gutter-30>.tabyoko-7 {
    width: calc(58.3333333333% - 30px);
  }

  .col.gutter-30>.tabyoko-8 {
    width: calc(66.6666666667% - 30px);
  }

  .col.gutter-30>.tabyoko-9 {
    width: calc(75% - 30px);
  }

  .col.gutter-30>.tabyoko-10 {
    width: calc(83.3333333333% - 30px);
  }

  .col.gutter-30>.tabyoko-11 {
    width: calc(91.6666666667% - 30px);
  }

  .col.gutter-30>.tabyoko-12 {
    width: calc(100% - 30px);
  }

  .col.gutter-35>.tabyoko-1 {
    width: calc(8.3333333333% - 35px);
  }

  .col.gutter-35>.tabyoko-2 {
    width: calc(16.6666666667% - 35px);
  }

  .col.gutter-35>.tabyoko-3 {
    width: calc(25% - 35px);
  }

  .col.gutter-35>.tabyoko-4 {
    width: calc(33.3333333333% - 35px);
  }

  .col.gutter-35>.tabyoko-5 {
    width: calc(41.6666666667% - 35px);
  }

  .col.gutter-35>.tabyoko-6 {
    width: calc(50% - 35px);
  }

  .col.gutter-35>.tabyoko-7 {
    width: calc(58.3333333333% - 35px);
  }

  .col.gutter-35>.tabyoko-8 {
    width: calc(66.6666666667% - 35px);
  }

  .col.gutter-35>.tabyoko-9 {
    width: calc(75% - 35px);
  }

  .col.gutter-35>.tabyoko-10 {
    width: calc(83.3333333333% - 35px);
  }

  .col.gutter-35>.tabyoko-11 {
    width: calc(91.6666666667% - 35px);
  }

  .col.gutter-35>.tabyoko-12 {
    width: calc(100% - 35px);
  }

  .col.gutter-40>.tabyoko-1 {
    width: calc(8.3333333333% - 40px);
  }

  .col.gutter-40>.tabyoko-2 {
    width: calc(16.6666666667% - 40px);
  }

  .col.gutter-40>.tabyoko-3 {
    width: calc(25% - 40px);
  }

  .col.gutter-40>.tabyoko-4 {
    width: calc(33.3333333333% - 40px);
  }

  .col.gutter-40>.tabyoko-5 {
    width: calc(41.6666666667% - 40px);
  }

  .col.gutter-40>.tabyoko-6 {
    width: calc(50% - 40px);
  }

  .col.gutter-40>.tabyoko-7 {
    width: calc(58.3333333333% - 40px);
  }

  .col.gutter-40>.tabyoko-8 {
    width: calc(66.6666666667% - 40px);
  }

  .col.gutter-40>.tabyoko-9 {
    width: calc(75% - 40px);
  }

  .col.gutter-40>.tabyoko-10 {
    width: calc(83.3333333333% - 40px);
  }

  .col.gutter-40>.tabyoko-11 {
    width: calc(91.6666666667% - 40px);
  }

  .col.gutter-40>.tabyoko-12 {
    width: calc(100% - 40px);
  }

  .col.gutter-45>.tabyoko-1 {
    width: calc(8.3333333333% - 45px);
  }

  .col.gutter-45>.tabyoko-2 {
    width: calc(16.6666666667% - 45px);
  }

  .col.gutter-45>.tabyoko-3 {
    width: calc(25% - 45px);
  }

  .col.gutter-45>.tabyoko-4 {
    width: calc(33.3333333333% - 45px);
  }

  .col.gutter-45>.tabyoko-5 {
    width: calc(41.6666666667% - 45px);
  }

  .col.gutter-45>.tabyoko-6 {
    width: calc(50% - 45px);
  }

  .col.gutter-45>.tabyoko-7 {
    width: calc(58.3333333333% - 45px);
  }

  .col.gutter-45>.tabyoko-8 {
    width: calc(66.6666666667% - 45px);
  }

  .col.gutter-45>.tabyoko-9 {
    width: calc(75% - 45px);
  }

  .col.gutter-45>.tabyoko-10 {
    width: calc(83.3333333333% - 45px);
  }

  .col.gutter-45>.tabyoko-11 {
    width: calc(91.6666666667% - 45px);
  }

  .col.gutter-45>.tabyoko-12 {
    width: calc(100% - 45px);
  }

  .col.gutter-50>.tabyoko-1 {
    width: calc(8.3333333333% - 50px);
  }

  .col.gutter-50>.tabyoko-2 {
    width: calc(16.6666666667% - 50px);
  }

  .col.gutter-50>.tabyoko-3 {
    width: calc(25% - 50px);
  }

  .col.gutter-50>.tabyoko-4 {
    width: calc(33.3333333333% - 50px);
  }

  .col.gutter-50>.tabyoko-5 {
    width: calc(41.6666666667% - 50px);
  }

  .col.gutter-50>.tabyoko-6 {
    width: calc(50% - 50px);
  }

  .col.gutter-50>.tabyoko-7 {
    width: calc(58.3333333333% - 50px);
  }

  .col.gutter-50>.tabyoko-8 {
    width: calc(66.6666666667% - 50px);
  }

  .col.gutter-50>.tabyoko-9 {
    width: calc(75% - 50px);
  }

  .col.gutter-50>.tabyoko-10 {
    width: calc(83.3333333333% - 50px);
  }

  .col.gutter-50>.tabyoko-11 {
    width: calc(91.6666666667% - 50px);
  }

  .col.gutter-50>.tabyoko-12 {
    width: calc(100% - 50px);
  }

  .sort-reverse {
    flex-flow: row-reverse wrap-reverse;
  }

  .fadein {
    opacity: 0;
    transform: translateY(20px);
  }

  .scrollText li {
    font-size: 10vw;
    flex: 0 0 auto;
    width: auto;
  }

  .scrollText li:nth-child(odd) {
    animation: loop 200s -100s linear infinite;
  }

  .scrollText li:nth-child(even) {
    animation: loop2 200s linear infinite;
  }

  .siteHead:not(.in-firstView) {
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.16);
  }

  .siteHead.in-firstView {
    transform: translateY(-100%);
  }

  .siteHead_logo .text {
    font-size: 0.75rem;
  }

  .gNav_toggle {
    display: none;
  }

  .gNav_title {
    display: none;
  }

  .gNav_column {
    flex-direction: column;
    width: auto;
  }

  .gNav_container .gNav_list-sub {
    display: none;
  }

  .gNav_list {
    flex-direction: row;
    gap: 1em;
    width: auto;
  }

  .gNav_list_item {
    padding: 20px 0;
    display: flex;
    align-items: center;
  }

  .gNav_list_item_sub {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    bottom: 0;
    padding: 20px;
    background: rgba(255, 255, 255, 0.95);
    transform: translateY(95%);
    transition: 0.3s ease-out;
    font-size: 0.875rem;
  }

  .gNav_list_item_sub li:first-child {
    display: none;
  }

  .gNav_list_item_sub a {
    display: block;
  }

  .gNav_list_item_sub a:hover {
    text-decoration: underline;
  }

  .gNav_list_item_sub a.gNav_list_item_sub_entry {
    background: #003670;
    color: #e5b125;
    display: inline-block;
    padding: 5px 15px;
    font-weight: 700;
    margin-top: 10px;
    line-height: 1;
    transition: 0.3s ease-out;
  }

  .gNav_list_item_sub a.gNav_list_item_sub_entry:hover {
    opacity: 0.5;
    text-decoration: none;
  }

  .gNav_list_item-parent:hover .gNav_list_item_sub {
    transform: translateY(100%);
    opacity: 1;
    visibility: visible;
  }

  .gNav_list_item-parent:hover .gNav_list_item_link::after {
    transform: scaleX(1);
    transform-origin: 0 50%;
  }

  .gNav_list_item-contact {
    display: block;
    padding-bottom: 22px;
  }

  .gNav_list_item_link {
    font-size: 0.875rem;
  }

  .gNav_list_item_link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    transition: transform 0.3s cubic-bezier(0.43, 0.05, 0.17, 1);
    transform: scaleX(0);
    transform-origin: 100% 50%;
    width: 100%;
    height: 1px;
    background: #9a6e3b;
  }

  .gNav_list_item_link .text {
    display: inline-block;
    transition: 0.3s cubic-bezier(0.43, 0.05, 0.17, 1);
    padding-bottom: 2px;
  }

  .gNav_list_item_link:hover::after {
    transform: scaleX(1);
    transform-origin: 0 50%;
  }

  .gNav_list_item_link-contact {
    display: inline-block;
    padding: 0px 10px;
    font-size: 0.75rem;
    line-height: 16px;
    border: 1px solid #003670;
    white-space: nowrap;
  }

  .gNav_list-sub .gNav_list_item_link {
    font-size: 1rem;
  }

  .gNav_foot {
    display: none;
  }

  .fixed_contact {
    bottom: auto;
    top: 0;
    right: 0;
    width: 180px;
  }

  .contactBtn {
    border-radius: 0;
    line-height: 70px;
    width: 180px;
    margin: 0;
  }

  .contactBtn:hover {
    background: #f2f2f2;
    color: #9a6e3b;
  }

  .contactBtn:hover::before {
    background: #9a6e3b;
  }

  .siteFoot {
    padding: 60px 0;
  }

  .siteFoot_container {
    max-width: 1200px;
  }

  .siteFoot_top {
    display: flex;
    justify-content: space-between;
    padding-right: 60px;
    gap: 60px;
  }

  .siteFoot_top_sitemap {
    flex: 1 1 0;
  }

  .siteFoot_btm {
    flex-direction: row;
    align-items: flex-end;
  }

  .siteFoot_btm_bnr {
    justify-content: flex-end;
  }

  .siteFoot_contact_text {
    font-size: 1.25rem;
    flex: 0 0 100%;
  }

  .siteFoot_contact_cta {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0 30px;
  }

  .siteFoot_contact_cta_tel_link {
    pointer-events: none;
  }

  .siteFoot_nav {
    margin-top: 0;
    justify-content: space-around;
  }

  .indexSection_copy {
    font-size: 1.75rem;
    letter-spacing: 1px;
  }

  .index_service_column {
    display: flex;
  }

  .index_service_column_imgArea {
    flex: 0 0 50%;
    width: 50%;
    padding-bottom: 14vw;
    padding-bottom: min(14vw, 270px);
  }

  .index_service_column_textArea {
    flex: 0 0 50%;
    width: 50%;
    padding-left: 50px;
  }

  .index_service_imgBg {
    width: 40vw;
    max-width: 760px;
    padding-right: 0;
  }

  .index_service_imgArea {
    display: flex;
    gap: 40px;
    flex-direction: row-reverse;
    align-items: flex-end;
    margin-right: -200px;
    margin-top: 0;
  }

  .index_service_imgArea_text {
    font-size: 2.291666667vw;
    bottom: 40px;
    left: 0;
  }

  .index_service_img-1 {
    margin-left: 0;
    width: 44.571428571%;
    margin-right: 0;
    margin-bottom: 170px;
  }

  .index_service_img-2 {
    margin-top: 0;
    padding-right: 0;
    width: 37.428571429%;
  }

  .index_strength {
    padding: 80px 0 100px;
  }

  .index_strength .typing_title {
    margin-bottom: 50px;
  }

  .index_strength_column {
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
  }

  .index_strength_column_textArea {
    width: 40.5%;
    flex: 0 0 40.5%;
  }

  .index_company::before {
    width: 65%;
  }

  .index_company_textArea {
    width: 53%;
    padding: 30px 50px 40px 100px;
    border-radius: 80px 0 0 80px;
    min-width: 0;
  }

  .index_company_logo_ja {
    font-size: 1.5rem;
  }

  .index_company_bottom {
    width: 40%;
  }

  .index_company_bottom_beige {
    height: 11.458333333vw;
    border-radius: 0 6vw 6vw 0;
  }

  .index_company_bottom::before {
    transform: translateY(40%);
    height: 6.25vw;
    border-radius: 0 4vw 4vw 0;
  }

  .index_company_bottom::after {
    height: 1.5625vw;
    border-radius: 0 1vw 1vw 0;
  }

  .index_topics {
    padding: 80px 0;
  }

  .index_sustainability {
    padding-bottom: 200px;
    padding-top: 150px;
  }

  .index_sustainability::before {
    background-image: url(../../images/common/curve.svg);
  }

  .index_recruit {
    padding: 70px 0 100px;
  }

  .index_recruit_titleArea {
    padding-right: 100px;
    display: inline-block;
  }

  .index_recruit .typeBtn {
    margin-top: 0;
    position: absolute;
    bottom: 0;
    right: 0;
  }

  .index_recruit_img01 {
    width: 45%;
    border-radius: 50px 0 0 50px;
  }

  .index_recruit_copyArea {
    top: 50%;
    right: auto;
    left: 67%;
    transform: none;
  }

  .index_recruit_copy {
    font-size: 1.5rem;
  }

  .index_recruit_copy {
    font-size: 1.875rem;
  }

  .index_recruit_btmImg {
    width: calc(50% + 150px);
    margin-left: -150px;
  }

  .index_recruit_img02::before {
    bottom: -20px;
    left: -20px;
    border-radius: 10px;
  }

  .index_recruit_img03 {
    margin-top: -200px;
    text-align: right;
    transform: none;
  }

  .index_recruit_wave {
    width: 1500px;
    height: 250px;
  }

  .iCatch_textArea {
    margin-bottom: 80px;
  }

  .iCatch_title {
    position: absolute;
    top: 18px;
    left: 0;
  }

  .iCatch_desc {
    margin-top: 0;
    font-size: 4rem;
    text-indent: 3em;
    line-height: 1.25;
  }

  .iCatch_img {
    padding-top: 80px;
    padding-bottom: 200px;
  }

  .pageHead_icatch {
    padding-top: 100px;
  }

  .page_copy {
    font-size: 1.25rem;
  }

  .pageBody {
    padding-top: 80px;
  }

  .pageSection {
    padding: 80px 0;
  }

  .pageSection-qualifications {
    padding-top: 200px;
  }

  .main_service {
    padding-top: 80px;
    margin-top: 80px;
    padding-bottom: 100px;
  }

  .main_service_column {
    flex-direction: row;
    gap: 80px;
  }

  .main_service_column_textArea {
    flex: 0 0 50%;
  }

  .main_service_column_img {
    width: calc(50% - 80px);
  }

  .main_service_bottom {
    flex-direction: row;
    gap: 30px;
    margin-top: 80px;
  }

  .main_service_subTitle {
    font-size: 1.5rem;
  }

  .main_service_graph {
    font-size: 0.875rem;
  }

  .strength_top {
    flex-direction: row;
    gap: 80px;
    align-items: flex-end;
  }

  .strength_top_textArea {
    flex: 0 0 55%;
  }

  .strength_top_img {
    flex: 1 1 0%;
    margin-right: calc(50% - 50vw);
    margin-top: -130px;
  }

  .strength_quality {
    border-radius: 200px 0 200px 0;
    padding: 60px 150px;
  }

  .strength_challengeTrust {
    margin-bottom: -100px;
  }

  .strength_challengeTrust_img {
    position: absolute;
    left: 0;
    width: 33.333333333vw;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 0 0 calc(50% - 50vw);
  }

  .strength_challengeTrust_img img {
    border-radius: 0 0 150px 0;
    max-width: 100%;
  }

  .strength_challenge {
    padding-right: 50px;
    padding-left: 35vw;
    padding-bottom: 100px;
  }

  .strength_trust {
    padding-right: 50px;
    padding-left: 35vw;
  }

  .strength_trust::before {
    margin: 0;
  }

  .philosophy_list dt {
    letter-spacing: 1px;
  }

  .overview_message {
    flex-direction: row-reverse;
    gap: 80px;
    margin-bottom: 80px;
  }

  .overview_message_textArea {
    flex: 0 0 630px;
  }

  .overview_message_img {
    flex: 1 1 0%;
    text-align: right;
    margin-left: calc(50% - 50vw);
  }

  .overview_message_title {
    font-size: 2.25rem;
  }

  .overview_basic {
    max-width: 640px;
  }

  .overview_bsn li {
    padding: 30px 0;
  }

  .security_list_item_title {
    font-size: 1.5rem;
  }

  .health_column {
    flex-direction: row;
    gap: 100px;
    justify-content: space-between;
  }

  .health_column_img {
    text-align: right;
    flex: 0 0 45%;
  }

  .sus_desc {
    flex-direction: row;
    gap: 50px;
  }

  .sdgs_box {
    padding: 50px;
  }

  .sdgs_title {
    margin-bottom: 50px;
  }

  .sdgs_list {
    gap: 20px;
  }

  .sdgs_main_title {
    margin-bottom: 50px;
  }

  .sdgs_main_item_title {
    font-size: 1.5rem;
    margin: 1em 0 1em;
  }

  .contactForm input[type=text],
  .contactForm input[type=email],
  .contactForm input[type=tel],
  .contactForm select,
  .contactForm textarea {
    padding: 15px;
  }

  .processing+.processing {
    padding-top: 60px;
    margin-top: 60px;
  }

  .processing_textArea p {
    line-height: 2;
  }

  .about_business_column {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 100px;
  }

  .about_business_column_imgArea {
    padding-left: 0;
  }

  .about_business_column_textArea {
    margin-top: 0;
    padding-top: 80px;
    flex: 0 0 486px;
  }

  .about_business_column_textArea p {
    line-height: 2;
  }

  .step {
    margin-top: 100px;
  }

  .step_item+.step_item {
    margin-top: 100px;
  }

  .step_item_num {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    margin-bottom: 0;
  }

  .step_item_column {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 100px;
  }

  .step_item_column_imgArea {
    padding-left: 0;
    flex: 0 1 305px;
  }

  .step_item_column_textArea {
    margin-top: 0;
    padding-top: 50px;
    flex: 0 0 486px;
  }

  .step_item_column_textArea p {
    line-height: 2;
  }

  .about_company_column {
    display: flex;
    gap: 50px;
    flex-direction: row;
    justify-content: flex-start;
  }

  .about_company_column_mapArea {
    flex: 1 1 auto;
  }

  .about_company_column_textArea {
    padding-top: 80px;
    flex: 0 0 486px;
  }

  .company {
    margin-bottom: 0;
  }

  .company th,
  .company td {
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .personality_list li:nth-of-type(3) {
    border-top: none;
  }

  .personality_list li:not(:nth-of-type(3n + 1)) {
    border-left: 1px solid #f2f2f2;
  }

  .recruit_outline {
    margin-bottom: 100px;
  }

  .recruit_outline th,
  .recruit_outline td {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .recruit_outline th {
    width: 10em;
  }

  .nextContents {
    padding: 0 30px;
  }

  .nextContents_bnr_img img {
    transition: transform 0.3s ease-out;
  }

  .tabs__list {
    justify-content: space-between;
  }

  .tabs__list-topics {
    justify-content: flex-start;
    gap: 5px 20px;
  }

  .tabs__content {
    margin: 0;
  }

  .tabs__pane {
    padding: 0;
  }

  .case_list {
    width: 100%;
  }

  .editor-recruit {
    line-height: 2;
    margin-bottom: 200px;
  }

  .editor {
    line-height: 2;
    margin-bottom: 200px;
  }

  .editor h2 {
    font-size: 1.5rem;
  }

  .firstView_logo_en {
    font-size: 1rem;
  }

  .firstView_logo_ja {
    font-size: 0.875rem;
  }

  .firstView_slider {
    flex-direction: row;
  }

  .firstView_slider_left,
  .firstView_slider_right {
    flex: 0 0 50%;
    width: 50%;
  }

  .firstView_copyArea {
    right: 30px;
  }

  .firstView_copy {
    font-size: 1.5rem;
  }

  .firstView_scroll {
    padding-bottom: 160px;
    font-size: 1.125rem;
    right: 40px;
  }

  .firstView_scroll::after {
    height: 150px;
  }

  .firstView_nav {
    position: absolute;
    right: 0;
    bottom: -1px;
    background: #f7f1e8;
    z-index: 89;
    padding: 0 30px;
    border-radius: 20px 0 0 0;
  }

  .recruitHead {
    padding-top: 34px;
    padding-bottom: 100px;
  }

  .recruitHead_column_img-1 img {
    border-radius: 50px 0 0 50px;
  }

  .recruitHead_column_img-2 .img02 {
    margin-left: 100px;
    padding-right: 70px;
  }

  .recruitHead_column_img-2 .img02::before {
    bottom: -10px;
    left: -10px;
    border-radius: 10px;
  }

  .recruitHead_column_img-2 .img03 {
    margin-top: 0;
    transform: translateY(-50%);
    text-align: right;
    padding-left: 60%;
  }

  .recruit_about {
    font-size: 24px;
  }

  .recruit_about_bg-bird {
    position: absolute;
    left: 0;
    top: 0;
  }

  .recruit_about_bg-desk {
    position: absolute;
    left: 0;
    bottom: 0;
  }

  .recruit_interview {
    padding: 100px 0;
  }

  .recruit_town_bg {
    padding-top: 0;
    height: 1100px;
  }

  .recruit_town_bg img {
    position: static;
  }

  .recruit_town_textArea {
    position: absolute;
    top: 0;
    left: 50px;
    width: 455px;
    padding: 30px 30px;
  }

  .recruit_town_title {
    font-size: 1.875rem;
  }

  .recruit_town_link {
    position: absolute;
    bottom: 0;
    transform: translateY(50%);
  }

  .recruit_culture_imgArea {
    align-items: flex-start;
  }

  .recruit_culture_img-1 img {
    border-radius: 0 0 6vw 0;
  }

  .recruit_culture_img-2 img {
    width: 60%;
  }

  .recruit_link_wrap {
    padding: 0 0 100px;
  }

  .recruit_link_title {
    font-size: 1.875rem;
  }

  .recruit_entry {
    padding: 200px 20px;
    background-size: cover;
  }

  .recruit_entry_text {
    font-size: 2.625rem;
  }

  .recruit_entry-under {
    background-size: 80% auto;
  }

  .entryBtn {
    font-size: 1.5rem;
  }

  .entryBtn:hover {
    color: #e5b125;
    background-color: #fff;
    text-shadow: 0 2px 4px rgba(183, 98, 4, 0);
  }

  .pageHead_column-work {
    justify-content: space-between;
    align-items: flex-start;
  }

  .workPage_title {
    font-size: 1.875rem;
  }

  .works {
    gap: 60px 54px;
  }

  .work h2.work_title {
    font-size: 1.5rem;
  }

  .faq_summary {
    font-size: 1.25rem;
    gap: 30px;
    cursor: pointer;
  }

  .faq_summary::before {
    width: 66px;
    height: 66px;
    font-size: 2rem;
    padding-bottom: 10px;
  }

  .faq_content p {
    font-size: 1.375rem;
    padding-left: 96px;
  }

  .selection_section:not(:first-child) {
    margin-top: 100px;
  }

  .selection_section_title {
    font-size: 2.25rem;
  }

  .selection_box {
    padding: 40px;
  }

  .selection_step_column:not(:first-child) {
    margin-top: 30px;
  }

  .selection_step_column:not(:last-child) .selection_step_numArea::after {
    border-top-width: 35px;
    border-left-width: 20px;
    border-right-width: 20px;
    left: 3px;
    transform: translateY(150%);
  }

  .selection_step_numArea {
    flex: 0 0 80px;
  }

  .selection_step_num {
    font-size: 2.5rem;
  }

  .selection_step_copy {
    font-size: 1.25rem;
  }

  .selection_step_link a {
    font-size: 1.125rem;
    padding: 3px 30px;
  }

  .selection_case_list {
    font-size: 0.9375rem;
  }

  .selection_school_list {
    font-size: 0.9375rem;
  }

  .benefits_section {
    padding: 100px 0;
  }

  .benefits_textArea {
    max-width: 510px;
  }

  .evaluations {
    margin-bottom: 100px;
    margin-top: 80px;
  }

  .interview_head_img {
    position: absolute;
    margin: 0;
    top: 0;
    left: 50%;
    z-index: -1;
    width: min(850px, 50vw);
  }

  .interview_copy {
    font-size: 2.25rem;
    padding-top: 2em;
    letter-spacing: 0.1em;
  }

  .interview_title {
    font-size: 3.125rem;
    letter-spacing: 0.3em;
  }

  .interview_title .num {
    font-size: 10px;
  }

  .interview_title_en {
    font-size: 0.9375rem;
  }

  .interview_bg {
    height: 100%;
    width: calc(50vw + 500px);
    transform: translateY(-228px);
  }

  .interview_section_title {
    font-size: 1.5rem;
  }

  .culture_card_title {
    font-size: 1.5rem;
  }
}

@media (min-width: 950px) and (min-width: 1200px) {
  .gNav_list {
    gap: 2em;
  }

  .gNav_list_item_link-contact {
    letter-spacing: 1px;
    padding: 0 20px;
  }

  .siteFoot_logo {
    width: auto;
    max-width: 120px;
  }

  .index_service_imgBg {
    left: -200px;
  }

  .index_service_imgArea {
    margin-top: -100px;
  }

  .index_company_btn {
    right: auto;
    left: 50%;
  }

  .index_recruit_copy {
    font-size: 1.875rem;
  }

  .index_recruit_copy {
    line-height: 2;
    letter-spacing: 3px;
  }

  .pageSection {
    padding: 100px 0;
  }

  .pageSection-qualifications {
    padding-top: 200px;
  }

  .philosophy_list {
    font-size: 20px;
  }

  .sus_desc {
    gap: 100px;
  }

  .about_business_column {
    justify-content: flex-end;
    gap: 200px;
  }

  .about_business_column_imgArea {
    margin-right: -200px;
  }

  .firstView_copyArea {
    right: 60px;
    font-size: 1.875rem;
  }

  .firstView_copy {
    font-size: 1.875rem;
  }

  .firstView_nav {
    padding: 0 60px;
  }

  .recruit_town_textArea {
    left: calc(50% - 540px);
  }

  .selection_case_list {
    font-size: 1rem;
  }

  .selection_school_list {
    font-size: 1rem;
  }
}

@media (min-width: 950px) and (min-width: 1200px) and (min-width: 1600px) {
  .gNav_list_item_link-contact {
    font-size: 0.875rem;
    line-height: 26px;
    letter-spacing: 2px;
  }

  .index_service_imgBg {
    left: -360px;
    left: max(-18.75vw, -360px);
  }

  .index_service_imgArea {
    margin-top: -150px;
  }
}

@media (min-width: 950px) and (min-width: 1600px) {
  .gNav_list_item_link {
    font-size: 1rem;
  }

  .indexSection_copy {
    font-size: 2.125rem;
  }

  .index_service {
    padding: 150px 0 80px;
  }

  .strength_challenge {
    padding-left: 400px;
  }

  .strength_trust {
    padding-left: 400px;
  }
}

@media (min-width: 1200px) {
  .fixPadding {
    padding-left: 20px;
    padding-right: 20px;
  }

  .pc-visible {
    display: block;
  }

  .pc-none {
    display: none;
  }

  .pc-text-center {
    text-align: center !important;
  }

  .tabyokoless-text-center {
    text-align: left !important;
  }

  .col>.pc-1 {
    width: 8.3333333333%;
  }

  .col>.offset-pc-1 {
    margin-left: 8.3333333333%;
  }

  .col>.pc-2 {
    width: 16.6666666667%;
  }

  .col>.offset-pc-2 {
    margin-left: 16.6666666667%;
  }

  .col>.pc-3 {
    width: 25%;
  }

  .col>.offset-pc-3 {
    margin-left: 25%;
  }

  .col>.pc-4 {
    width: 33.3333333333%;
  }

  .col>.offset-pc-4 {
    margin-left: 33.3333333333%;
  }

  .col>.pc-5 {
    width: 41.6666666667%;
  }

  .col>.offset-pc-5 {
    margin-left: 41.6666666667%;
  }

  .col>.pc-6 {
    width: 50%;
  }

  .col>.offset-pc-6 {
    margin-left: 50%;
  }

  .col>.pc-7 {
    width: 58.3333333333%;
  }

  .col>.offset-pc-7 {
    margin-left: 58.3333333333%;
  }

  .col>.pc-8 {
    width: 66.6666666667%;
  }

  .col>.offset-pc-8 {
    margin-left: 66.6666666667%;
  }

  .col>.pc-9 {
    width: 75%;
  }

  .col>.offset-pc-9 {
    margin-left: 75%;
  }

  .col>.pc-10 {
    width: 83.3333333333%;
  }

  .col>.offset-pc-10 {
    margin-left: 83.3333333333%;
  }

  .col>.pc-11 {
    width: 91.6666666667%;
  }

  .col>.offset-pc-11 {
    margin-left: 91.6666666667%;
  }

  .col>.pc-12 {
    width: 100%;
  }

  .col>.offset-pc-12 {
    margin-left: 100%;
  }

  .col.gutter-5>.pc-1 {
    width: calc(8.3333333333% - 5px);
  }

  .col.gutter-5>.pc-2 {
    width: calc(16.6666666667% - 5px);
  }

  .col.gutter-5>.pc-3 {
    width: calc(25% - 5px);
  }

  .col.gutter-5>.pc-4 {
    width: calc(33.3333333333% - 5px);
  }

  .col.gutter-5>.pc-5 {
    width: calc(41.6666666667% - 5px);
  }

  .col.gutter-5>.pc-6 {
    width: calc(50% - 5px);
  }

  .col.gutter-5>.pc-7 {
    width: calc(58.3333333333% - 5px);
  }

  .col.gutter-5>.pc-8 {
    width: calc(66.6666666667% - 5px);
  }

  .col.gutter-5>.pc-9 {
    width: calc(75% - 5px);
  }

  .col.gutter-5>.pc-10 {
    width: calc(83.3333333333% - 5px);
  }

  .col.gutter-5>.pc-11 {
    width: calc(91.6666666667% - 5px);
  }

  .col.gutter-5>.pc-12 {
    width: calc(100% - 5px);
  }

  .col.gutter-10>.pc-1 {
    width: calc(8.3333333333% - 10px);
  }

  .col.gutter-10>.pc-2 {
    width: calc(16.6666666667% - 10px);
  }

  .col.gutter-10>.pc-3 {
    width: calc(25% - 10px);
  }

  .col.gutter-10>.pc-4 {
    width: calc(33.3333333333% - 10px);
  }

  .col.gutter-10>.pc-5 {
    width: calc(41.6666666667% - 10px);
  }

  .col.gutter-10>.pc-6 {
    width: calc(50% - 10px);
  }

  .col.gutter-10>.pc-7 {
    width: calc(58.3333333333% - 10px);
  }

  .col.gutter-10>.pc-8 {
    width: calc(66.6666666667% - 10px);
  }

  .col.gutter-10>.pc-9 {
    width: calc(75% - 10px);
  }

  .col.gutter-10>.pc-10 {
    width: calc(83.3333333333% - 10px);
  }

  .col.gutter-10>.pc-11 {
    width: calc(91.6666666667% - 10px);
  }

  .col.gutter-10>.pc-12 {
    width: calc(100% - 10px);
  }

  .col.gutter-15>.pc-1 {
    width: calc(8.3333333333% - 15px);
  }

  .col.gutter-15>.pc-2 {
    width: calc(16.6666666667% - 15px);
  }

  .col.gutter-15>.pc-3 {
    width: calc(25% - 15px);
  }

  .col.gutter-15>.pc-4 {
    width: calc(33.3333333333% - 15px);
  }

  .col.gutter-15>.pc-5 {
    width: calc(41.6666666667% - 15px);
  }

  .col.gutter-15>.pc-6 {
    width: calc(50% - 15px);
  }

  .col.gutter-15>.pc-7 {
    width: calc(58.3333333333% - 15px);
  }

  .col.gutter-15>.pc-8 {
    width: calc(66.6666666667% - 15px);
  }

  .col.gutter-15>.pc-9 {
    width: calc(75% - 15px);
  }

  .col.gutter-15>.pc-10 {
    width: calc(83.3333333333% - 15px);
  }

  .col.gutter-15>.pc-11 {
    width: calc(91.6666666667% - 15px);
  }

  .col.gutter-15>.pc-12 {
    width: calc(100% - 15px);
  }

  .col.gutter-20>.pc-1 {
    width: calc(8.3333333333% - 20px);
  }

  .col.gutter-20>.pc-2 {
    width: calc(16.6666666667% - 20px);
  }

  .col.gutter-20>.pc-3 {
    width: calc(25% - 20px);
  }

  .col.gutter-20>.pc-4 {
    width: calc(33.3333333333% - 20px);
  }

  .col.gutter-20>.pc-5 {
    width: calc(41.6666666667% - 20px);
  }

  .col.gutter-20>.pc-6 {
    width: calc(50% - 20px);
  }

  .col.gutter-20>.pc-7 {
    width: calc(58.3333333333% - 20px);
  }

  .col.gutter-20>.pc-8 {
    width: calc(66.6666666667% - 20px);
  }

  .col.gutter-20>.pc-9 {
    width: calc(75% - 20px);
  }

  .col.gutter-20>.pc-10 {
    width: calc(83.3333333333% - 20px);
  }

  .col.gutter-20>.pc-11 {
    width: calc(91.6666666667% - 20px);
  }

  .col.gutter-20>.pc-12 {
    width: calc(100% - 20px);
  }

  .col.gutter-25>.pc-1 {
    width: calc(8.3333333333% - 25px);
  }

  .col.gutter-25>.pc-2 {
    width: calc(16.6666666667% - 25px);
  }

  .col.gutter-25>.pc-3 {
    width: calc(25% - 25px);
  }

  .col.gutter-25>.pc-4 {
    width: calc(33.3333333333% - 25px);
  }

  .col.gutter-25>.pc-5 {
    width: calc(41.6666666667% - 25px);
  }

  .col.gutter-25>.pc-6 {
    width: calc(50% - 25px);
  }

  .col.gutter-25>.pc-7 {
    width: calc(58.3333333333% - 25px);
  }

  .col.gutter-25>.pc-8 {
    width: calc(66.6666666667% - 25px);
  }

  .col.gutter-25>.pc-9 {
    width: calc(75% - 25px);
  }

  .col.gutter-25>.pc-10 {
    width: calc(83.3333333333% - 25px);
  }

  .col.gutter-25>.pc-11 {
    width: calc(91.6666666667% - 25px);
  }

  .col.gutter-25>.pc-12 {
    width: calc(100% - 25px);
  }

  .col.gutter-30>.pc-1 {
    width: calc(8.3333333333% - 30px);
  }

  .col.gutter-30>.pc-2 {
    width: calc(16.6666666667% - 30px);
  }

  .col.gutter-30>.pc-3 {
    width: calc(25% - 30px);
  }

  .col.gutter-30>.pc-4 {
    width: calc(33.3333333333% - 30px);
  }

  .col.gutter-30>.pc-5 {
    width: calc(41.6666666667% - 30px);
  }

  .col.gutter-30>.pc-6 {
    width: calc(50% - 30px);
  }

  .col.gutter-30>.pc-7 {
    width: calc(58.3333333333% - 30px);
  }

  .col.gutter-30>.pc-8 {
    width: calc(66.6666666667% - 30px);
  }

  .col.gutter-30>.pc-9 {
    width: calc(75% - 30px);
  }

  .col.gutter-30>.pc-10 {
    width: calc(83.3333333333% - 30px);
  }

  .col.gutter-30>.pc-11 {
    width: calc(91.6666666667% - 30px);
  }

  .col.gutter-30>.pc-12 {
    width: calc(100% - 30px);
  }

  .col.gutter-35>.pc-1 {
    width: calc(8.3333333333% - 35px);
  }

  .col.gutter-35>.pc-2 {
    width: calc(16.6666666667% - 35px);
  }

  .col.gutter-35>.pc-3 {
    width: calc(25% - 35px);
  }

  .col.gutter-35>.pc-4 {
    width: calc(33.3333333333% - 35px);
  }

  .col.gutter-35>.pc-5 {
    width: calc(41.6666666667% - 35px);
  }

  .col.gutter-35>.pc-6 {
    width: calc(50% - 35px);
  }

  .col.gutter-35>.pc-7 {
    width: calc(58.3333333333% - 35px);
  }

  .col.gutter-35>.pc-8 {
    width: calc(66.6666666667% - 35px);
  }

  .col.gutter-35>.pc-9 {
    width: calc(75% - 35px);
  }

  .col.gutter-35>.pc-10 {
    width: calc(83.3333333333% - 35px);
  }

  .col.gutter-35>.pc-11 {
    width: calc(91.6666666667% - 35px);
  }

  .col.gutter-35>.pc-12 {
    width: calc(100% - 35px);
  }

  .col.gutter-40>.pc-1 {
    width: calc(8.3333333333% - 40px);
  }

  .col.gutter-40>.pc-2 {
    width: calc(16.6666666667% - 40px);
  }

  .col.gutter-40>.pc-3 {
    width: calc(25% - 40px);
  }

  .col.gutter-40>.pc-4 {
    width: calc(33.3333333333% - 40px);
  }

  .col.gutter-40>.pc-5 {
    width: calc(41.6666666667% - 40px);
  }

  .col.gutter-40>.pc-6 {
    width: calc(50% - 40px);
  }

  .col.gutter-40>.pc-7 {
    width: calc(58.3333333333% - 40px);
  }

  .col.gutter-40>.pc-8 {
    width: calc(66.6666666667% - 40px);
  }

  .col.gutter-40>.pc-9 {
    width: calc(75% - 40px);
  }

  .col.gutter-40>.pc-10 {
    width: calc(83.3333333333% - 40px);
  }

  .col.gutter-40>.pc-11 {
    width: calc(91.6666666667% - 40px);
  }

  .col.gutter-40>.pc-12 {
    width: calc(100% - 40px);
  }

  .col.gutter-45>.pc-1 {
    width: calc(8.3333333333% - 45px);
  }

  .col.gutter-45>.pc-2 {
    width: calc(16.6666666667% - 45px);
  }

  .col.gutter-45>.pc-3 {
    width: calc(25% - 45px);
  }

  .col.gutter-45>.pc-4 {
    width: calc(33.3333333333% - 45px);
  }

  .col.gutter-45>.pc-5 {
    width: calc(41.6666666667% - 45px);
  }

  .col.gutter-45>.pc-6 {
    width: calc(50% - 45px);
  }

  .col.gutter-45>.pc-7 {
    width: calc(58.3333333333% - 45px);
  }

  .col.gutter-45>.pc-8 {
    width: calc(66.6666666667% - 45px);
  }

  .col.gutter-45>.pc-9 {
    width: calc(75% - 45px);
  }

  .col.gutter-45>.pc-10 {
    width: calc(83.3333333333% - 45px);
  }

  .col.gutter-45>.pc-11 {
    width: calc(91.6666666667% - 45px);
  }

  .col.gutter-45>.pc-12 {
    width: calc(100% - 45px);
  }

  .col.gutter-50>.pc-1 {
    width: calc(8.3333333333% - 50px);
  }

  .col.gutter-50>.pc-2 {
    width: calc(16.6666666667% - 50px);
  }

  .col.gutter-50>.pc-3 {
    width: calc(25% - 50px);
  }

  .col.gutter-50>.pc-4 {
    width: calc(33.3333333333% - 50px);
  }

  .col.gutter-50>.pc-5 {
    width: calc(41.6666666667% - 50px);
  }

  .col.gutter-50>.pc-6 {
    width: calc(50% - 50px);
  }

  .col.gutter-50>.pc-7 {
    width: calc(58.3333333333% - 50px);
  }

  .col.gutter-50>.pc-8 {
    width: calc(66.6666666667% - 50px);
  }

  .col.gutter-50>.pc-9 {
    width: calc(75% - 50px);
  }

  .col.gutter-50>.pc-10 {
    width: calc(83.3333333333% - 50px);
  }

  .col.gutter-50>.pc-11 {
    width: calc(91.6666666667% - 50px);
  }

  .col.gutter-50>.pc-12 {
    width: calc(100% - 50px);
  }

  .typeBtn {
    letter-spacing: 1px;
  }

  .siteFoot_contact_cta_tel .num {
    font-size: 1.875rem;
  }

  .index_strength_column_imgArea {
    margin-right: calc(50% - 50vw);
    flex: 1 1 auto;
  }

  .case_list td:nth-of-type(4) {
    padding: 15px 30px;
  }

  .firstView_logo {
    left: 60px;
    top: 90px;
  }

  .firstView_leftBtm {
    left: 60px;
  }

  .benefits_textArea p {
    position: absolute;
    bottom: 0;
    transform: translateY(100%);
  }

  .evaluation_title {
    font-size: 1.375rem;
  }

  .interview_bgArea {
    padding-top: 200px;
  }

  .interview_foot_card_textArea {
    padding: 20px 24px 30px;
  }

  .interview_foot_card_title {
    font-size: 1.1875rem;
  }
}

@media (min-width: 1600px) {
  .pcbig-visible {
    display: block;
  }

  .pcbig-none {
    display: none;
  }

  .pcbig-text-center {
    text-align: center !important;
  }

  .pcless-text-center {
    text-align: left !important;
  }

  .recruit_culture_img-3 {
    transform: translateY(-80%);
  }
}

@media (max-width: 1199px) {
  .evaluation_img {
    flex: 0 0 100px;
  }
}

@media (max-width: 949px) {
  .siteHead.in-firstView .siteHead_logo .siteHead_logo_svg {
    fill: #fff;
  }

  .siteHead.in-firstView .siteHead_logo .text {
    color: #fff;
  }

  .siteHead.in-firstView.is-open .siteHead_logo .siteHead_logo_svg {
    fill: #003670;
  }

  .siteHead.in-firstView.is-open .siteHead_logo .text {
    color: #003670;
  }

  .gNav_overlay {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    transition: all 0.3s linear;
    overflow-y: auto;
    background: #f7f1e8;
    display: flex;
    align-items: center;
    flex-direction: column;
  }

  .gNav_overlay.is-open {
    visibility: visible;
    opacity: 1;
  }

  .gNav_container {
    padding: 80px 20px 50px;
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: auto;
  }

  .gNav_list {
    border-bottom: 1px solid rgba(153, 175, 198, 0.5);
    gap: 0;
  }

  .gNav_list_item {
    border-top: 1px solid rgba(153, 175, 198, 0.5);
  }

  .gNav_list_item_sub {
    margin-top: 1em;
    text-align: center;
    font-weight: 300;
    height: 0;
    padding: 0;
    overflow: hidden;
    transition: 0.5s;
    margin: 0;
  }

  .gNav_list_item_sub li:last-child {
    padding-bottom: 1em;
  }

  .gNav_list_item_link {
    font-family: "Zen Old Mincho", serif;
    text-align: center;
    padding: 10px 0;
  }

  .gNav_list_item_link-parent {
    position: relative;
    pointer-events: none;
  }

  .gNav_list_item_link-parent::after {
    content: "";
    display: block;
    width: 20px;
    height: 11px;
    background: url(../../images/common/menu_arrow.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    transition: 0.3s ease-out;
  }

  .fixed_contact.is-contact {
    display: none;
  }

  .siteFoot_btm_bnr li:first-child {
    flex: 0 0 33%;
    text-align: right;
  }

  .siteFoot_contact {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .siteFoot_contact_cta_tel {
    margin-bottom: 30px;
  }

  .siteFoot_navArea {
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px 30px;
    justify-content: center;
  }

  .siteFoot_nav>li {
    flex: 0 0 50%;
  }

  .siteFoot_nav-company,
  .siteFoot_nav-recruit {
    order: 1;
  }

  .siteFoot_right {
    width: 55%;
    padding: 50px 0 30px 20px;
  }

  .personality_list li:nth-of-type(even) {
    border-left: 1px solid #f2f2f2;
  }

  .nextContents_bnr_img {
    aspect-ratio: 1300/600;
    width: 100%;
  }

  .nextContents_bnr_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
  }

  .tabs {
    font-size: 0.875em;
  }

  .case_list td:nth-of-type(1) {
    width: 10em;
    white-space: normal;
  }

  .case_list td:nth-of-type(4) {
    width: 20em;
  }

  .firstView_logo {
    display: none;
  }

  .firstView_slider_left,
  .firstView_slider_right {
    height: 50%;
  }

  .firstView_nav {
    display: none;
  }

  .interview_title .num {
    transform: scale(0.7);
    transform-origin: 0% 50%;
  }
}

@media (max-width: 949px) and (max-width: 599px) {
  .nextContents_bnr_img {
    aspect-ratio: 390/250;
  }
}

@media screen and (max-width: 600px) {
  .cookie-consent {
    flex-direction: column;
    align-items: center;
  }

  .cookie-text {
    margin-bottom: 1em;
  }
}

@media (max-width: 599px) {
  .sp-none {
    display: none;
  }

  .cookie-close {
    position: absolute;
    top: 20px;
    right: 20px;
  }

  .index_company_img {
    height: 100%;
  }

  .index_topics_list_item_link .title {
    width: 100%;
    flex: 0 0 100%;
  }

  .index_recruit_title {
    max-width: 270px;
  }

  .index_recruit .typeBtn {
    min-width: 0;
  }

  .pageHead .typing_title {
    margin-bottom: 10px;
  }

  .pageHead_icatch img {
    height: 240px;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
  }

  .page_copy br {
    display: none;
  }

  .service_step_item {
    display: flex;
    gap: 30px;
  }

  .service_step_item_icon {
    width: 25%;
    flex: 0 0 25%;
  }

  .strength_quality_title {
    margin-bottom: 30px;
    font-size: 1.25rem;
  }

  .strength_bottom {
    height: 300px;
  }

  .strength_bottom img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
  }

  .philosophy_list dd {
    font-size: 0.75rem;
    min-height: 2.5em;
  }

  table.overview {
    border-bottom: 1px solid #6686a9;
  }

  table.overview th,
  table.overview td {
    display: block;
  }

  table.overview th {
    margin-bottom: 0.5em;
    border-top: 1px solid #6686a9;
    padding-top: 1em;
    font-weight: 400;
  }

  table.overview td {
    padding-bottom: 1em;
  }

  .sdgs_box {
    margin-left: -20px;
    margin-right: -20px;
    padding-bottom: 50px;
  }

  .recruit_flow li {
    margin-top: -20px;
  }

  .recruit_flow li:nth-of-type(1),
  .recruit_flow li:nth-of-type(2) {
    margin-top: 0;
  }

  .nextContents_bnr_textArea {
    position: relative;
    margin-top: -50px;
  }

  .nextContents_bnr_btn {
    position: static;
    bottom: auto;
    right: auto;
    margin-top: 30px;
  }

  .recruit_culture_textArea {
    padding: 0;
    position: relative;
    z-index: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .recruit_culture_textArea>div {
    padding: 0 20px;
    margin: 0 auto;
    max-width: 100vw;
  }

  .work p.work_text {
    font-size: 0.75rem;
  }

  .faq_summary .mark {
    transform: translateY(-50%) scale(0.6);
  }

  .selection_step_textArea {
    flex: 0 0 100%;
    padding-left: 40px;
  }

  .selection_step_table th,
  .selection_step_table td {
    display: block;
  }

  .selection_step_table td {
    margin-bottom: 1em;
  }

  .benefits_scroll {
    margin: 0 -20px;
    padding: 0 20px 20px;
    width: calc(100% + 40px);
    overflow-x: scroll;
  }

  .benefits_scroll img {
    max-width: none;
    width: auto;
    height: 80vh;
  }
}

@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;
  }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/@auroratide/typewritten-text/lib/style.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
typewritten-text {
  /* Prevent double-copying */
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

typewritten-text-mirror {
  -webkit-user-select: text;
  -moz-user-select: text;
  user-select: text;
}

.typewritten-text_character {
  color: transparent;
}

.typewritten-text_word {
  white-space: nowrap;
}

.typewritten-text_character,
.typewritten-text_start {
  position: relative;
}

.typewritten-text_character.typewritten-text_revealed {
  color: inherit;
}

.typewritten-text_character::after,
.typewritten-text_start::after {
  box-sizing: border-box;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -0.5ch;
  border-right: var(--typewritten-text_cursor-width, 0.125em) var(--typewritten-text_cursor-style, solid) var(--typewritten-text_cursor-color, currentColor);
  animation: typewritten-text_blink var(--typewriten-text_cursor-interval, 700ms) infinite steps(1);
  visibility: hidden;
}

.typewritten-text_start::after {
  right: 0;
}

.typewritten-text_current.typewritten-text_character::after,
.typewritten-text_current.typewritten-text_start::after {
  visibility: visible;
}

@keyframes typewritten-text_blink {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion) {

  .typewritten-text_character::after,
  .typewritten-text_start::after {
    animation: none;
  }
}

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

.contact_policy_area {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  max-height: 200px;
  overflow-y: scroll;
  border: 1px solid rgba(0, 54, 112, 0.3);
  padding: 15px;
}

.contact_policy_area p {
  margin: 0 0 0 0;
}

.contact_policy_area__ttl {
  font-weight: bold;
  font-size: 18px;
}

@media (max-width: 949px) {
  .contact_policy_area__ttl {
    font-weight: bold;
    font-size: 16px;
  }
}
