@charset "UTF-8";
/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */
@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 {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit;
}

.simplebar-mask {
  direction: inherit;
  position: absolute;
  overflow: hidden;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 0;
}

.simplebar-offset {
  direction: inherit !important;
  box-sizing: inherit !important;
  resize: none !important;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

.simplebar-content-wrapper {
  direction: inherit;
  box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.simplebar-content:after,
.simplebar-content:before {
  content: " ";
  display: table;
}

.simplebar-placeholder {
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  box-sizing: inherit !important;
  height: 100%;
  width: 100%;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  flex-grow: inherit;
  flex-shrink: 0;
  flex-basis: 0;
}

.simplebar-height-auto-observer {
  box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1000%;
  width: 1000%;
  min-height: 1px;
  min-width: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  left: 0;
  right: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  position: absolute;
  content: "";
  background: #000;
  border-radius: 7px;
  left: 2px;
  right: 2px;
  opacity: 0;
  transition: opacity 0.2s linear;
}

.simplebar-scrollbar.simplebar-visible:before {
  opacity: 0.5;
  transition: opacity 0s linear;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px;
}

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  height: 100%;
  left: 2px;
  right: 2px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  right: auto;
  left: 0;
  top: 2px;
  height: 7px;
  min-height: 0;
  min-width: 10px;
  width: auto;
}

[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.hs-dummy-scrollbar-size {
  direction: rtl;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  height: 500px;
  width: 500px;
  overflow-y: hidden;
  overflow-x: scroll;
}

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar__elem::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

.simplebar__elem .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: 0;
  height: 6px;
}
.simplebar__elem .simplebar-scrollbar::before {
  background: #000;
  border-radius: 3px;
  height: 6px !important;
  margin-top: 0;
  left: 0;
  right: 0;
}
.simplebar__elem .simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}
.simplebar__elem .simplebar-track {
  background: #dcdcdc;
  height: 6px !important;
  border-radius: 3px;
}

@media screen and (min-width:1441px) {
  /* 1441px以上 */
}
@media screen and (max-width: 1260px) {
  /* 1260px以下 */
}
@media screen and (min-width:1122px) {
  /* 1122px以上 */
}
@media screen and (max-width: 1121px) {
  /* 11221x以下 */
}
@media screen and (max-width: 950px) {
  /* 950px以下 */
}
@media screen and (max-width: 767px) {
  /* 767px以下 */
}
@media screen and (max-width: 460px) {
  /* 460px以下 */
}
@media screen and (max-width: 375px) {
  /* 375px以下 */
}
@media (any-hover:hover) {
  /* hover action */
}
/* root
----------------------------------------------- */
:root {
  --color-key-blue: #373582;
  --color-key-link: #ff5c00;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-offWhite: #f6f6f6;
  --color-blueGray: #605f82;
  --color-support: #51579b;
  --color-total: #2c7e99;
  --color-achieve: #2a65a2;
  --color-text-base: #222;
  --content-base: 1040px;
  --content-base-padding: 22.5px;
}

html {
  background-color: var(--color-offWhite);
}

body {
  font-family: "Noto Sans JP";
  background-image: none;
}

/* pc/sp
-------------------------------------------- */
.-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .-pc {
    display: none;
  }
  .-sp {
    display: block;
  }
}
/* indicate
----------------------------------------------- */
.js-indicate-ready {
  opacity: 0;
  transform: translateY(40px);
  transition-property: opacity, transform;
}
.js-indicate-start {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 1s;
}

/* keyframes
----------------------------------------------- */
@keyframes fadeleft {
  0% {
    opacity: 0;
    right: 50%;
  }
  100% {
    opacity: 1;
    right: 0;
  }
}
/* -----------------------------------------------
  l-wrapper
----------------------------------------------- */
.l-wrapper {
  position: relative;
}
.l-wrapper__outer {
  width: calc(100% - var(--content-base-padding) * 2);
  margin-inline: auto;
}
.l-wrapper__inner {
  max-width: var(--content-base);
  margin-inline: auto;
}
.l-wrapper__wide {
  max-width: 1304px;
  margin-inline: auto;
}
.l-wrapper__over {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

/* -----------------------------------------------
  l-header
----------------------------------------------- */
#header.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  overflow: visible;
  z-index: 999;
}
#header.l-header .l-header__inner {
  padding-left: 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}
#header.l-header .l-header__logo {
  display: flex;
  align-items: flex-end;
  gap: 25px;
}
#header.l-header .l-header__logo .header-logo-area .header-logo {
  width: 218px;
  height: auto;
  margin-top: 0;
  margin-left: 0;
  float: none;
}
#header.l-header .l-header__logo__label {
  color: var(--color-key-blue);
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.6;
}
#header.l-header .header-navs {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}
#header.l-header .header-upper {
  height: auto;
  margin-right: -15px;
  background-color: rgba(96, 95, 130, 0.1);
  display: flex;
  align-items: center;
  transform: skewX(-19deg);
}
#header.l-header .header-subnav {
  padding-right: 25px;
  padding-left: 45px;
}
#header.l-header .header-subnav ul {
  display: flex;
  align-items: center;
  gap: 25px;
}
#header.l-header .header-subnav ul li {
  padding: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
}
#header.l-header .header-subnav ul li::after {
  content: none;
}
#header.l-header .header-subnav ul li a {
  color: var(--color-text-base);
}
#header.l-header .header-search {
  position: relative;
  max-width: none;
  width: 350px;
  height: 41px;
  margin: 0;
  padding: 0;
  background-color: var(--color-white);
  float: none;
}
#header.l-header .header-search::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-key-blue);
  content: "";
}
#header.l-header .header-search .searchbox {
  max-width: none;
  width: 100%;
}
#header.l-header .header-search .searchbox input[type=text] {
  width: calc(100% - 20px);
  height: 41px;
  margin-left: auto;
  padding-right: 60px;
  color: var(--color-text-base);
  background-color: var(--color-white);
  border: none;
}
#header.l-header .header-search .searchbox input[type=text]::placeholder {
  color: rgba(96, 95, 130, 0.3); /* 文字色を赤に設定 */
}
#header.l-header .header-search .searchbox .l-header__search {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 41px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#header.l-header .header-search .searchbox .l-header__search input[type=submit] {
  top: auto;
  right: auto;
  width: 100%;
  height: 100%;
  background-image: none;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  transform: skewX(-19deg);
}
#header.l-header .header-search .searchbox .l-header__search::after {
  position: relative;
  right: 2px;
  width: 15px;
  height: 15px;
  background-repeat: no-repeat;
  background-image: url(../../images/re/icon_search.svg);
  background-position: center center;
  background-size: 15px auto;
  content: "";
}
#header.l-header .header-lower {
  height: auto;
  margin-left: auto;
  transform: none;
}
#header.l-header .header-lower > ul {
  padding-right: 40px;
  transform: none;
  display: flex;
  align-items: center;
  gap: 28px;
}
#header.l-header .header-lower > ul > li {
  min-height: 63px;
  padding-top: 18px;
  padding-bottom: 20px;
  padding-left: 0;
  font-size: 15.5px;
  font-weight: 500;
  letter-spacing: normal;
  line-height: 1.6;
}
#header.l-header .header-lower > ul > li.-current > a, #header.l-header .header-lower > ul > li.-current > span {
  color: #4048b3;
}
#header.l-header .l-header__drop {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
#header.l-header .l-header__drop > .l-header__drop__label .-icon {
  position: relative;
  width: 14px;
  height: 14px;
  margin-top: -4px;
  margin-left: 6px;
  background-color: rgba(96, 95, 130, 0.1);
  display: inline-block;
  vertical-align: middle;
}
#header.l-header .l-header__drop > .l-header__drop__label .-icon::before, #header.l-header .l-header__drop > .l-header__drop__label .-icon::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: var(--color-text-base);
  transition: opacity 0.3s;
  content: "";
}
#header.l-header .l-header__drop > .l-header__drop__label .-icon::before {
  width: 8px;
  height: 1.5px;
}
#header.l-header .l-header__drop > .l-header__drop__label .-icon::after {
  width: 1.5px;
  height: 8px;
}
#header.l-header .l-header__drop__nav {
  position: absolute;
  top: 63px;
  left: -45px;
  width: 330px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s, height 0.3s;
}
#header.l-header .l-header__drop__nav__item {
  position: relative;
  padding: 0;
  display: block;
}
#header.l-header .l-header__drop__nav__item::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(96, 95, 130, 0.15);
  z-index: 1;
  content: "";
}
#header.l-header .l-header__drop__nav__item::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(55, 53, 130, 0.06);
  pointer-events: none;
  opacity: 0;
  content: "";
}
#header.l-header .l-header__drop__nav__item a {
  position: relative;
  min-height: 60px;
  padding: 4px 55px 4px 50px;
  color: var(--color-text-base);
  font-size: 15.5px;
  font-weight: 500;
  letter-spacing: normal;
  background-color: var(--color-offWhite);
  display: flex;
  align-items: center;
}
#header.l-header .l-header__drop__nav__item a::after {
  position: absolute;
  right: 20px;
  top: calc(50% - 5px);
  width: 23px;
  height: 6px;
  background-image: url(../../images/common/arrow.svg);
  background-size: 23px auto;
  background-repeat: no-repeat;
  display: block;
  content: "";
}
#header.l-header .l-header__drop__nav__item.-sub {
  position: relative;
}
#header.l-header .l-header__drop__nav__item.-sub::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(96, 95, 130, 0.15);
  z-index: 1;
  content: "";
}
#header.l-header .l-header__drop__nav__item.-sub:nth-child(1)::before {
  content: none;
}
#header.l-header .l-header__drop__nav__item.-sub a {
  min-height: 54px;
  color: var(--color-text-base);
  font-size: 14px;
  background: none;
  background-color: var(--color-offWhite);
}
#header.l-header .l-header__drop__nav__item.-sub a::before {
  margin-right: 1em;
  content: "-";
}
#header.l-header .l-header__drop__nav__item.-sub a::after {
  right: 26px;
  top: calc(50% - 4px);
  width: 17px;
  height: 5px;
  background-image: url(../../images/common/arrow.svg);
  background-size: 17px auto;
}
#header.l-header .l-header__drop__nav__item.-current::after {
  opacity: 1;
}
#header.l-header .l-header__drop.js-megamenu.is-active > .l-header__drop__label .-icon::after {
  opacity: 0;
}
#header.l-header .l-header__drop.js-megamenu.is-active .l-header__drop__nav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
#header.l-header .l-header__foot {
  display: none;
}

@media (any-hover:hover) {
  #header.l-header .header-subnav ul li a {
    transition: opacity 0.3s;
  }
  #header.l-header .header-subnav ul li a:hover {
    opacity: 0.5;
  }
  #header.l-header .l-header__drop__nav__item {
    position: relative;
  }
  #header.l-header .l-header__drop__nav__item::after {
    transition: all 0.3s;
  }
  #header.l-header .l-header__drop__nav__item:hover::after {
    opacity: 1;
  }
}
@media screen and (min-width:1122px) {
  #header.sticky.l-header .l-header__logo {
    position: fixed;
    top: 20px;
    gap: 15px;
    z-index: 9999;
  }
  #header.sticky.l-header .l-header__logo .header-logo-area {
    position: relative;
    height: auto;
  }
  #header.sticky.l-header .l-header__logo .header-logo-area .header-logo {
    width: 132px;
  }
  #header.sticky.l-header .l-header__logo__label {
    font-size: 13px;
  }
  #header.sticky.l-header .header-navs {
    height: 67px;
  }
  #header.sticky.l-header .header-navs:before {
    background-color: var(--color-offWhite);
    height: 67px;
  }
  #header.sticky.l-header .header-upper {
    display: none;
  }
  #header.sticky.l-header .header-lower {
    right: 0;
    overflow: visible;
  }
  #header.sticky.l-header .header-lower > ul > li {
    padding-top: 20px;
  }
  #header.sticky.l-header .l-header__drop.js-megamenu.is-active .l-header__drop__nav {
    top: 67px;
  }
}
@media screen and (max-width: 1260px) {
  #header.l-header .l-header__inner {
    gap: 10px;
  }
  #header.l-header .l-header__logo {
    flex-direction: column;
    align-items: center;
    gap: 4.5px;
  }
  #header.l-header .header-search {
    width: 240px;
  }
  #header.sticky.l-header .l-header__logo {
    top: 10px;
    gap: 5px;
  }
  #header.sticky.l-header .l-header__logo .header-logo-area .header-logo {
    width: 132px;
  }
  #header.sticky.l-header .l-header__logo__label {
    font-size: 11px;
  }
}
@media screen and (max-width: 1121px) {
  #header.l-header .l-header__logo {
    position: fixed;
    top: 20px;
    left: 17px;
    z-index: 9999;
  }
  #header.l-header .l-header__logo .header-logo-area {
    position: relative;
    height: auto;
  }
  #header.l-header .l-header__logo .header-logo-area .header-logo {
    width: 139px;
  }
  #header.l-header .l-header__logo__label {
    display: none;
  }
  #header.l-header .header-navs {
    position: fixed;
    top: 70px;
    left: 0;
    width: 100%;
    min-height: auto;
    height: calc(var(--vh, 1vh) * 100 - 70px);
    padding-right: 0;
    padding-left: 0;
    background-color: var(--color-offWhite);
    display: none;
  }
  #header.l-header .header-upper {
    width: 100%;
    margin-right: 0;
    padding-top: 56px;
    padding-right: 22px;
    padding-left: 22px;
    background-color: transparent;
    display: block;
    transform: none;
  }
  #header.l-header .header-subnav {
    padding-right: 0;
    padding-left: 0;
  }
  #header.l-header .header-subnav ul {
    display: block;
  }
  #header.l-header .header-subnav ul li {
    font-size: 15px;
    border-bottom: solid 1px rgba(96, 95, 130, 0.2);
  }
  #header.l-header .header-subnav ul li:nth-of-type(4) {
    display: none;
  }
  #header.l-header .header-subnav ul li a {
    padding-top: 14px;
    padding-bottom: 14px;
    padding-left: 10px;
  }
  #header.l-header .header-subnav ul li a::after {
    right: 10px;
    width: 23px;
    height: 6px;
  }
  #header.l-header .header-lower {
    width: 100%;
    height: auto;
    margin-left: auto;
    padding-right: 22px;
    padding-left: 22px;
    padding-bottom: 74px;
    transform: none;
  }
  #header.l-header .header-lower > ul {
    padding-right: 0;
    display: block;
  }
  #header.l-header .header-lower > ul > li {
    min-height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 15px;
    border-bottom: solid 1px rgba(96, 95, 130, 0.2);
  }
  #header.l-header .header-lower > ul > li > a, #header.l-header .header-lower > ul > li > span {
    width: 100%;
    padding-top: 14px;
    padding-bottom: 14px;
    padding-left: 10px;
    color: var(--color-text-base);
    display: block;
  }
  #header.l-header .header-lower > ul > li > a::after, #header.l-header .header-lower > ul > li > span::after {
    right: 10px;
    width: 23px;
    height: 6px;
  }
  #header.l-header .sp-header-menu .sp-eng-btn span {
    font-weight: 500;
  }
  #header.l-header .l-header__drop {
    display: block;
  }
  #header.l-header .l-header__drop > .l-header__drop__label::after {
    content: none;
  }
  #header.l-header .l-header__drop > .l-header__drop__label .-icon {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    width: 15px;
    height: 15px;
    margin: auto;
    background-color: transparent;
  }
  #header.l-header .l-header__drop > .l-header__drop__label .-icon::before, #header.l-header .l-header__drop > .l-header__drop__label .-icon::after {
    background-color: var(--color-key-link);
  }
  #header.l-header .l-header__drop > .l-header__drop__label .-icon::before {
    width: 100%;
    height: 1.5px;
  }
  #header.l-header .l-header__drop > .l-header__drop__label .-icon::after {
    width: 1.5px;
    height: 100%;
  }
  #header.l-header .l-header__drop__nav {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: 0px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    overflow: hidden;
  }
  #header.l-header .l-header__drop__nav__menu {
    padding-bottom: 20px;
    padding-left: 10px;
  }
  #header.l-header .l-header__drop__nav__item {
    min-height: 35px;
    border-bottom: none;
  }
  #header.l-header .l-header__drop__nav__item::before {
    content: none;
  }
  #header.l-header .l-header__drop__nav__item::after {
    content: none;
  }
  #header.l-header .l-header__drop__nav__item a {
    min-height: auto;
    padding: 0;
    color: var(--color-text-base);
    font-size: 14px;
    line-height: 2.5;
    background: none;
    background-color: transparent;
    display: inline;
  }
  #header.l-header .l-header__drop__nav__item a::before {
    margin-right: 1em;
    content: "-";
  }
  #header.l-header .l-header__drop__nav__item a::after {
    position: relative;
    top: auto;
    right: auto;
    margin-top: -4px;
    margin-left: 10px;
    display: inline-block;
    vertical-align: middle;
  }
  #header.l-header .l-header__drop__nav__item.-sub::before {
    content: none;
  }
  #header.l-header .l-header__drop__nav__item.-sub a {
    display: inline;
  }
  #header.l-header .l-header__drop__nav__item.-sub a::after {
    top: auto;
    right: auto;
  }
  #header.l-header .l-header__drop.is-open .-icon::after {
    opacity: 0;
  }
  #header.l-header .l-header__foot {
    position: relative;
    width: 100%;
    margin-top: auto;
    text-align: center;
    display: block;
  }
  #header.l-header .l-header__foot__base {
    width: 100%;
    height: 80px;
    margin-top: -27px;
    background: linear-gradient(90deg, #373582 0%, #23216e 100%);
    display: block;
  }
  #header.l-header .l-header__foot img {
    position: relative;
    width: 255px;
    height: auto;
    z-index: 1;
  }
  #header.l-header .sp-eng-btn {
    font-size: 15px;
    font-weight: 500;
    background-color: rgba(96, 95, 130, 0.1);
  }
  #header.l-header .sp-search-btn {
    background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  }
  #header.l-header .sp-search-btn::before {
    content: none;
  }
  #header.l-header .sp-search-btn::after {
    top: calc(50% - 12px);
    left: calc(50% - 12px);
    width: 24px;
    height: 24px;
    background-color: transparent;
    transform: skewX(19deg);
  }
  #header.l-header .sp-header-search {
    left: 0;
    height: calc(var(--vh, 1vh) * 100 - 70px);
    background-color: var(--color-white);
    overflow-y: auto;
    animation: header-fadein 0.3s ease;
  }
  #header.l-header .sp-header-search .l-header__spsearch {
    position: relative;
  }
  #header.l-header .sp-header-search .l-header__spsearch::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(55, 53, 130, 0.06);
    pointer-events: none;
    content: "";
  }
  #header.l-header .sp-header-search .l-header__spsearch__inner {
    height: 100%;
    padding: 30px 15px 0;
    display: flex;
    flex-direction: column;
  }
  #header.l-header .sp-header-search .l-header__spsearch__close {
    position: relative;
    width: 26px;
    height: 16px;
    margin-left: auto;
  }
  #header.l-header .sp-header-search .l-header__spsearch__close::before, #header.l-header .sp-header-search .l-header__spsearch__close::after {
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: var(--color-text-base);
    display: inline-block;
    content: "";
  }
  #header.l-header .sp-header-search .l-header__spsearch__close::before {
    top: 0;
    transform: translateY(7.5px) rotate(-30deg);
  }
  #header.l-header .sp-header-search .l-header__spsearch__close::after {
    bottom: 0;
    transform: translateY(-7.5px) rotate(30deg);
  }
  #header.l-header .sp-header-search .l-header__spsearch__head {
    width: 100%;
    padding: 0 10px;
  }
  #header.l-header .sp-header-search .l-header__spsearch__body {
    width: 100%;
    margin-top: 30px;
    padding-bottom: 77px;
  }
  #header.l-header .sp-header-search .l-header__spsearch__foot {
    position: relative;
    width: calc(100% + 30px);
    height: 246px;
    margin-left: -15px;
    margin-top: auto;
    text-align: center;
  }
  #header.l-header .sp-header-search .l-header__spsearch__foot .u-anime__search {
    width: 193px;
    height: 193px;
    margin-inline: auto;
    z-index: 1;
  }
  #header.l-header .sp-header-search .l-header__spsearch__foot .u-anime__search .u-anime__img {
    animation: anime-search-header-sp 2s steps(2) infinite;
  }
  #header.l-header .sp-header-search .l-header__spsearch__foot__base {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  }
  #header.l-header .sp-header-search .l-header__spsearch__title {
    margin-top: 82px;
    font-size: 27px;
    font-weight: 500;
    letter-spacing: normal;
    line-height: 1.4;
    text-align: center;
  }
  #header.l-header .sp-header-search .l-header__spsearch__summary {
    margin-top: 20px;
    font-size: 13px;
    letter-spacing: normal;
    line-height: 1.6;
  }
  #header.l-header .open.header-navs {
    display: flex;
    flex-direction: column;
    animation: header-fadein 0.3s ease;
  }
  #header.l-header.open {
    position: relative;
    padding-bottom: 0;
  }
  #header.l-header.open .sp-menu-btn .menuicon::before, #header.l-header.open .sp-menu-btn .menuicon::after {
    height: 1px;
  }
  #header.l-header.open .sp-menu-btn .menuicon::before {
    transform: rotate(100deg);
  }
  #header.l-header.open .sp-menu-btn .menuicon::after {
    transform: rotate(-10deg);
  }
  #header.l-header.open .header-lower ul li:nth-of-type(2) .l-header__drop__label {
    position: relative;
    transition: all 0.3s;
    animation: fadeleft 0.4s ease;
    animation-duration: 0.9s;
  }
  #header.sticky.l-header .l-header__logo {
    top: 20px;
  }
  #header.sticky.l-header .l-header__logo .header-logo-area .header-logo {
    width: 139px;
  }
}
@keyframes header-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* -----------------------------------------------
  c-bnr
----------------------------------------------- */
.main .c-bnr__slider__wrapper {
  align-items: stretch;
}
.main .c-bnr__slider__ctrl {
  position: relative;
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.main .c-bnr__slider__ctrl .swiper-button-prev,
.main .c-bnr__slider__ctrl .swiper-button-next {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  width: 46px;
  height: 46px;
  margin-top: 0;
  background-color: rgba(96, 95, 130, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.main .c-bnr__slider__ctrl .swiper-button-prev::after,
.main .c-bnr__slider__ctrl .swiper-button-next::after {
  width: 15px;
  height: 8px;
  background-repeat: no-repeat;
  background-size: 15px auto;
  background-position: center;
  content: "";
}
.main .c-bnr__slider__ctrl .swiper-button-prev::after {
  background-image: url(../../images/re/icon_prev.svg);
}
.main .c-bnr__slider__ctrl .swiper-button-next::after {
  background-image: url(../../images/re/icon_next.svg);
}
.main .c-bnr__slider__ctrl .swiper-pagination {
  position: relative;
  bottom: auto;
  top: auto;
  width: auto;
  display: flex;
  align-items: center;
}
.main .c-bnr__slider__ctrl .swiper-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 5px;
  background-color: rgba(96, 95, 130, 0.15);
  border-radius: 50%;
  opacity: 1;
}
.main .c-bnr__slider__ctrl .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--color-text-base);
  opacity: 1;
}
.main .c-bnr__item {
  height: auto;
  opacity: 0.5;
}
.main .c-bnr__item__inner {
  height: 100%;
  padding: min(40px, 2.7777777778vw);
  color: initial;
  text-decoration: none;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  display: block;
}
.main .c-bnr__item__row {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.main .c-bnr__item__head {
  width: 50%;
  height: 100%;
  padding: min(28px, 2.7777777778vw) min(40px, 2.7777777778vw) min(30px, 2.7777777778vw);
  background-color: var(--color-white);
  order: 2;
}
.main .c-bnr__item__head__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.main .c-bnr__item__body {
  width: 50%;
  padding: 0 20px;
  order: 1;
}
.main .c-bnr__item__body__img {
  max-width: 350px;
  width: 100%;
  height: auto;
  margin-inline: auto;
}
.main .c-bnr__item__body__img > * {
  width: 100% !important;
}
.main .c-bnr__item__title {
  width: 100%;
  color: var(--color-white);
  font-size: 33px;
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: normal;
  line-height: 1.6;
}
.main .c-bnr__item__title__label {
  padding: 3px 10px;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
}
.main .c-bnr__item__summary {
  margin-top: 18px;
  padding-bottom: 15px;
  font-size: 16px;
  font-feature-settings: "palt";
  letter-spacing: normal;
  line-height: 1.6;
}
.main .c-bnr__item__link {
  margin: auto 0 0;
  text-align: right;
}
.main .c-bnr__item__link .u-link {
  text-decoration: underline;
}
.main .c-bnr__item.swiper-slide-active {
  opacity: 1;
}

@media (any-hover:hover) {
  .main .c-bnr__slider__ctrl .swiper-button-prev,
  .main .c-bnr__slider__ctrl .swiper-button-next {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  .main .c-bnr__slider__ctrl .swiper-button-prev::after,
  .main .c-bnr__slider__ctrl .swiper-button-next::after {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: background-image;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  .main .c-bnr__slider__ctrl .swiper-button-prev:hover,
  .main .c-bnr__slider__ctrl .swiper-button-next:hover {
    background-color: #23216e;
  }
  .main .c-bnr__slider__ctrl .swiper-button-prev:hover::after {
    background-image: url(../../images/re/icon_prev-w.svg);
  }
  .main .c-bnr__slider__ctrl .swiper-button-next:hover::after {
    background-image: url(../../images/re/icon_next-w.svg);
  }
  .main .c-bnr__item__inner .u-link::after {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  html:not(.sp) .main .c-bnr__item__inner:hover {
    color: var(--color-text-base);
  }
  html:not(.sp) .main .c-bnr__item__inner:hover .u-link::after {
    transform: translateX(3px);
  }
}
@media screen and (max-width: 767px) {
  .main .c-bnr__slider__wrapper {
    align-items: flex-start;
  }
  .main .c-bnr__slider__ctrl {
    gap: 17px;
  }
  .main .c-bnr__slider__ctrl .swiper-button-prev,
  .main .c-bnr__slider__ctrl .swiper-button-next {
    width: 42px;
    height: 42px;
  }
  .main .c-bnr__item {
    opacity: 1;
  }
  .main .c-bnr__item__inner {
    padding: 21px 22.5px 18px;
  }
  .main .c-bnr__item__row {
    flex-direction: column;
  }
  .main .c-bnr__item__head {
    width: 100%;
    padding: 23px 18px 25px;
    order: 1;
  }
  .main .c-bnr__item__body {
    width: 100%;
    margin-top: 18px;
    padding: 0;
    order: 2;
  }
  .main .c-bnr__item__title {
    font-size: 25px;
  }
  .main .c-bnr__item__title__label {
    padding: 1px 8px;
  }
  .main .c-bnr__item__summary {
    font-size: 15px;
  }
}
/* -----------------------------------------------
  c-case
----------------------------------------------- */
.main .c-case__body {
  margin-top: 40px;
}
.main .c-case__body .c-case__list {
  margin-top: 13px;
  padding: 0 20px 25px;
  columns: 7;
}
.main .c-case__body .c-case__list > li {
  font-feature-settings: "palt";
}
.main .c-case__body .c-case__list > li:nth-child(47) {
  padding-left: 0;
  order: 42;
}
.main .c-case__body .c-case__list > li:nth-child(47)::before {
  content: none;
}
.main .c-case__heading {
  font-size: 23px;
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: normal;
  line-height: 1.6;
  text-align: center;
}
.main .c-case__heading span {
  color: var(--color-key-blue);
}
.main .c-case__row {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}
.main .c-case__item {
  width: 64px;
  text-align: center;
}
.main .c-case__item__pict {
  width: 100%;
  height: 64px;
  background-color: rgba(55, 53, 130, 0.06);
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}
.main .c-case__item__pict.-machine {
  background-image: url(../../images/re/pict_machine.svg);
  background-size: 24px auto;
}
.main .c-case__item__pict.-iron {
  background-image: url(../../images/re/pict_iron.svg);
  background-size: 30px auto;
}
.main .c-case__item__pict.-paper {
  background-image: url(../../images/re/pict_paper.svg);
  background-size: 26px auto;
}
.main .c-case__item__pict.-mobility {
  background-image: url(../../images/re/pict_mobility.svg);
  background-size: 34px auto;
}
.main .c-case__item__pict.-building {
  background-image: url(../../images/re/pict_building.svg);
  background-size: 28px auto;
}
.main .c-case__item__pict.-semiconductor {
  background-image: url(../../images/re/pict_semiconductor.svg);
  background-size: 28px auto;
}
.main .c-case__item__pict.-medical {
  background-image: url(../../images/re/pict_medical.svg);
  background-size: 30px auto;
}
.main .c-case__item__pict.-food {
  background-image: url(../../images/re/pict_food.svg);
  background-size: 22px auto;
}
.main .c-case__item__pict.-aviation {
  background-image: url(../../images/re/pict_aviation.svg);
  background-size: 32px auto;
}
.main .c-case__item__pict.-logistics {
  background-image: url(../../images/re/pict_logistics.svg);
  background-size: 32px auto;
}
.main .c-case__item__pict.-apparel {
  background-image: url(../../images/re/pict_apparel.svg);
  background-size: 28px auto;
}
.main .c-case__item__label {
  margin-top: 5px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: normal;
  line-height: 1.6;
}
.main .c-case__title {
  position: relative;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.6;
  text-align: center;
}
.main .c-case__title::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: rgba(96, 95, 130, 0.2);
  content: "";
}
.main .c-case__title span {
  position: relative;
  padding: 0 20px;
  background-color: #ebeaef;
}
.main .c-case__list {
  margin-bottom: 0;
}
.main .c-case__list > li {
  position: relative;
  margin-bottom: 0;
  padding-left: 10px;
  font-size: 11px;
  font-feature-settings: "palt";
  line-height: 1.8;
}
.main .c-case__list > li::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 5px;
  height: 5px;
  margin: 0;
  background-color: rgba(96, 95, 130, 0.15);
  border-radius: 50%;
  content: "";
}
.main .c-case__btn {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .main .c-case__body {
    margin-top: 30px;
  }
  .main .c-case__body .c-case__list {
    margin-top: 14px;
    padding: 0 0 25px;
    columns: 3;
  }
  .main .c-case__heading {
    font-size: 17px;
  }
  .main .c-case__row {
    margin-top: 22px;
    gap: 7px;
  }
  .main .c-case__item {
    width: 48px;
  }
  .main .c-case__item__pict {
    height: 48px;
  }
  .main .c-case__item__pict.-machine {
    background-size: 17px auto;
  }
  .main .c-case__item__pict.-iron {
    background-size: 22px auto;
  }
  .main .c-case__item__pict.-paper {
    background-size: 19px auto;
  }
  .main .c-case__item__pict.-mobility {
    background-size: 25px auto;
  }
  .main .c-case__item__pict.-building {
    background-size: 20px auto;
  }
  .main .c-case__item__pict.-semiconductor {
    background-size: 20px auto;
  }
  .main .c-case__item__pict.-medical {
    background-size: 22px auto;
  }
  .main .c-case__item__pict.-food {
    background-size: 16px auto;
  }
  .main .c-case__item__pict.-aviation {
    background-size: 23px auto;
  }
  .main .c-case__item__pict.-logistics {
    background-size: 23px auto;
  }
  .main .c-case__item__pict.-apparel {
    background-size: 21px auto;
  }
  .main .c-case__item__label {
    margin-top: 3px;
    font-size: 10.5px;
  }
  .main .c-case__title::before {
    top: auto;
    bottom: 12px;
  }
  .main .c-case__title span {
    padding: 0;
    display: inline-block;
  }
  .main .c-case__list {
    margin-bottom: 0;
  }
  .main .c-case__list > li {
    margin-left: 0;
    padding-left: 5px;
    font-size: 10px;
  }
  .main .c-case__list > li::before {
    top: 7px;
    width: 3px;
    height: 3px;
  }
  .main .c-case__btn {
    margin-top: 10px;
  }
}
/* -----------------------------------------------
  c-search
----------------------------------------------- */
.l-wrapper .c-search__page {
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
}
.l-wrapper .c-search__page .c-search {
  padding-top: 28px;
  padding-bottom: 45px;
  color: var(--color-white);
  background-color: transparent;
}
.l-wrapper .c-search__page .c-search__head__row {
  align-items: center;
}
.l-wrapper .c-search__page .c-search__head__txt {
  width: calc(100% - 244px);
}
.l-wrapper .c-search__page .c-search__head__pict {
  width: 244px;
  margin-top: 0;
}
.l-wrapper .c-search__page .c-search__btn {
  margin-top: 25px;
}
.l-wrapper .c-search {
  padding-bottom: 65px;
  background-color: rgba(55, 53, 130, 0.06);
}
.l-wrapper .c-search__head__row {
  display: flex;
  align-items: flex-end;
}
.l-wrapper .c-search__head__txt {
  width: calc(100% - 258px);
  padding-right: 24px;
}
.l-wrapper .c-search__head__txt .u-heading__sub {
  margin-bottom: 7px;
}
.l-wrapper .c-search__head__pict {
  margin-top: -45px;
}
.l-wrapper .c-search__body {
  padding-top: 45px;
}
.l-wrapper .c-search__heading {
  font-family: "Noto Sans JP";
  font-size: 37px;
  font-weight: 500;
  line-height: 1.4;
}
.l-wrapper .c-search__point {
  margin-top: 17px;
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  display: flex;
  align-items: center;
  gap: 10px;
}
.l-wrapper .c-search__point::before {
  width: 10px;
  height: 10px;
  background-color: var(--color-key-link);
  border-radius: 50%;
  content: "";
}
.l-wrapper .c-search__summary {
  margin-top: 15px;
  margin-bottom: 0;
  font-size: 16px;
  font-feature-settings: "palt";
  line-height: 1.6;
}
.l-wrapper .c-search__box {
  width: 100%;
  height: 170px;
  margin-top: 50px;
  padding: 12px 15px;
  background-color: var(--color-white);
}
.l-wrapper .c-search__box__inner {
  height: 136px;
  padding: 22px 20px 22px 0;
}
.l-wrapper .c-search__box__row {
  padding-left: 40px;
  display: flex;
}
.l-wrapper .c-search__box__head {
  width: 229px;
}
.l-wrapper .c-search__box__head__label {
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}
.l-wrapper .c-search__box__body {
  width: calc(100% - 229px);
  padding-left: 40px;
  border-left: solid 1px rgba(96, 95, 130, 0.2);
}
.l-wrapper .c-search__box__body ul {
  margin-bottom: 0;
}
.l-wrapper .c-search__box__body ul li {
  position: relative;
  margin-bottom: 0;
  padding: 0 0 0 1em;
  font-size: 14px;
  font-feature-settings: "palt";
  line-height: 1.6;
}
.l-wrapper .c-search__box__body ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  margin: 0;
  background-color: transparent;
  border-radius: 0;
  content: "・";
}
.l-wrapper .c-search__box__body ul li + li {
  margin-top: 5px;
}
.l-wrapper .c-search__box__inner {
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
.l-wrapper .c-search__box__inner ::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
.l-wrapper .c-search__box__inner .simplebar-scrollbar::before {
  width: 3px;
  right: 0;
  left: 0;
  background: var(--color-key-blue);
  border-radius: 0;
}
.l-wrapper .c-search__box__inner .simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}
.l-wrapper .c-search__box__inner .simplebar-track {
  background: rgba(55, 53, 130, 0.06);
  width: 3px;
}
.l-wrapper .c-search__label {
  margin-top: 20px;
  margin-bottom: 0;
  color: var(--color-blueGray);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}
.l-wrapper .c-search__label span {
  position: relative;
  width: 14px;
  height: 14px;
  margin-top: -2px;
  margin-right: 6px;
  background-image: url(../../images/re/icon_i.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 1.5px auto;
  border: solid 1px var(--color-blueGray);
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-form-area {
  padding: 0;
  background-color: transparent;
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-form {
  margin-bottom: 0;
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-form-container {
  max-width: 100%;
  padding: 0;
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-input-wrap {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  border-bottom: solid 1px var(--color-key-blue);
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-input-area::before {
  display: none;
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-input-area textarea {
  padding: 15px 40px 19px;
  font-size: 16px;
  font-weight: 400;
  font-feature-settings: "palt";
  line-height: 1.6;
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-input-area textarea::placeholder {
  color: rgba(96, 95, 130, 0.3);
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-input-area button {
  display: none;
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-button {
  width: 60px;
  min-height: 60px;
  font-size: 0;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-wrapper .c-search__content .cogmo-main .cgm-search-button::before {
  position: relative;
  width: 22px;
  height: 22px;
  margin-right: 0;
  background-repeat: no-repeat;
  background-image: url(../../images/re/icon_search.svg);
  background-position: center center;
  background-size: 22px auto;
  content: "";
}
.l-wrapper .c-search__content .cogmo-main .cgm-filter-group {
  margin: 20px 0 0;
}
.l-wrapper .c-search__content .cogmo-main .cgm-filter-group-label {
  margin: 0;
  line-height: 1.75;
}
.l-wrapper .c-search__content .cogmo-main .cgm-radio-filter,
.l-wrapper .c-search__content .cogmo-main .cgm-checkbox-filter {
  margin: 0 15px 0 0;
  padding-left: 22px;
  line-height: 1.6;
}
.l-wrapper .c-search__content .cogmo-main .cgm-radio-filter label::before,
.l-wrapper .c-search__content .cogmo-main .cgm-checkbox-filter label::before {
  bottom: 0;
  width: 18px;
  height: 18px;
  margin: auto;
  background-color: var(--color-white);
  border: 1.3px solid var(--color-key-blue);
  border-radius: 50%;
}
.l-wrapper .c-search__content .cogmo-main .cgm-radio-filter label::after,
.l-wrapper .c-search__content .cogmo-main .cgm-checkbox-filter label::after {
  top: 0;
  left: 6px;
  bottom: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  background: none;
  background-color: var(--color-key-blue);
  border-radius: 50%;
}
.l-wrapper .c-search__foot {
  padding: 45px 0;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
}
.l-wrapper .c-search__btns {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-form-area {
  padding: 0;
  background-color: var(--color-white);
  display: block;
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-inner {
  max-width: 100%;
  width: 100%;
  padding-right: 0;
  padding-left: 0;
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-form {
  margin-bottom: 0;
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-input-wrap {
  margin-top: 0;
  border: 0;
  border-radius: 0;
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-input-area::before {
  display: none;
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-input-area textarea {
  padding: 12px 20px 10px;
  color: var(--color-text-base);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  transform: skewX(19deg);
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-input-area textarea::placeholder {
  color: rgba(96, 95, 130, 0.3);
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-input-area button {
  display: none;
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-button {
  width: 50px;
  min-height: 41px;
  font-size: 0;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-wrapper .c-search__header #cogmo-search-form1.cogmo-main .cgm-search-button::before {
  position: relative;
  right: 2px;
  width: 15px;
  height: 15px;
  margin-right: 0;
  background-repeat: no-repeat;
  background-image: url(../../images/re/icon_search.svg);
  background-position: center center;
  background-size: 15px auto;
  transform: skewX(19deg);
  content: "";
}
.l-wrapper .c-search__container {
  margin-bottom: 80px;
  background-color: var(--color-offWhite);
}
.l-wrapper .c-search__container .c-search {
  padding-top: 60px;
  padding-bottom: 90px;
}
.l-wrapper .c-search__container .c-search__title {
  font-size: 37px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.l-wrapper .c-search__container .c-search__label {
  margin-top: 23px;
}
.l-wrapper .c-search__container .c-search__content .cogmo-main .cgm-filter-group {
  margin-top: 30px;
  justify-content: center;
}
.l-wrapper .c-search__container .c-search__content .cogmo-main .cgm-filter-group > form {
  flex: none;
}

@media screen and (max-width: 767px) {
  .l-wrapper .c-search__page .c-search {
    padding-top: 45px;
    padding-bottom: 55px;
  }
  .l-wrapper .c-search__page .c-search__head__txt {
    width: 100%;
  }
  .l-wrapper .c-search__page .c-search__head__pict {
    width: 100px;
  }
  .l-wrapper .c-search__page .c-search__summary {
    margin-bottom: 0;
  }
  .l-wrapper .c-search__page .c-search__btn {
    margin-top: 15px;
  }
  .l-wrapper .c-search {
    position: relative;
    padding-top: 47px;
    padding-bottom: 40px;
  }
  .l-wrapper .c-search__head__row {
    display: block;
  }
  .l-wrapper .c-search__head__txt {
    width: 100%;
    padding-right: 0;
  }
  .l-wrapper .c-search__head__txt .u-heading__sub {
    margin-bottom: 12px;
  }
  .l-wrapper .c-search__head__pict > * {
    position: absolute;
    top: -37px;
    right: 22px;
    width: 100px !important;
    margin-top: 0;
  }
  .l-wrapper .c-search__body {
    padding-top: 20px;
  }
  .l-wrapper .c-search__heading {
    margin-top: 12px;
    font-size: 26px;
  }
  .l-wrapper .c-search__point {
    margin-top: 15px;
    font-size: 15px;
    gap: 7px;
  }
  .l-wrapper .c-search__point::before {
    width: 7px;
    height: 7px;
  }
  .l-wrapper .c-search__summary {
    margin-top: 13px;
    margin-bottom: 45px;
    font-size: 15px;
  }
  .l-wrapper .c-search__box {
    height: 270px;
    margin-top: 30px;
    padding: 20px 15px;
  }
  .l-wrapper .c-search__box__inner {
    height: 230px;
    padding: 0 20px 0 0;
  }
  .l-wrapper .c-search__box__row {
    padding-left: 0;
    display: block;
  }
  .l-wrapper .c-search__box__head {
    width: 100%;
    padding-bottom: 10px;
    border-bottom: solid 1px rgba(96, 95, 130, 0.2);
  }
  .l-wrapper .c-search__box__head__label {
    font-size: 12px;
  }
  .l-wrapper .c-search__box__body {
    width: 100%;
    padding-top: 15px;
    padding-left: 0;
    border-left: 0;
  }
  .l-wrapper .c-search__box__body ul li {
    font-size: 12px;
  }
  .l-wrapper .c-search__label {
    position: relative;
    padding-left: 14px;
    font-size: 11px;
    text-align: left;
  }
  .l-wrapper .c-search__label span {
    position: absolute;
    top: 3px;
    left: 0;
    width: 10px;
    height: 10px;
    margin-top: 0;
    margin-right: 0;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-search-form-container {
    position: relative;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-search-input-wrap {
    display: block;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-search-input-area {
    width: calc(100% - 42px);
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-search-input-area textarea {
    height: 100px;
    padding: 11px 20px 14px;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-filter-group {
    margin: 0;
    padding: 20px 20px 0;
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-filter-group > form {
    flex: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 7px 9px;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-filter-group .cgm-radio-filter,
  .l-wrapper .c-search__content .cogmo-main .cgm-filter-group .cgm-checkbox-filter {
    margin: 0;
    padding-left: 16px;
    font-size: 13px;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-filter-group .cgm-radio-filter label::before,
  .l-wrapper .c-search__content .cogmo-main .cgm-filter-group .cgm-checkbox-filter label::before {
    width: 13px;
    height: 13px;
    border: 1px solid var(--color-key-blue);
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-filter-group .cgm-radio-filter label::after,
  .l-wrapper .c-search__content .cogmo-main .cgm-filter-group .cgm-checkbox-filter label::after {
    left: 4.5px;
    width: 4px;
    height: 4px;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-filter-group-label {
    width: auto;
    font-size: 13px;
    line-height: 1.6;
    flex-shrink: 0;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-search-button-area {
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 100px;
    margin: 0;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-search-button {
    width: 42px;
    min-height: 100px;
    border-radius: 0;
  }
  .l-wrapper .c-search__content .cogmo-main .cgm-search-button::before {
    width: 15px;
    height: 15px;
    background-size: 15px auto;
  }
  .l-wrapper .c-search__foot {
    padding: 30px 15px;
  }
  .l-wrapper .c-search__foot .l-wrapper__outer {
    width: 100%;
  }
  .l-wrapper .c-search__btns {
    align-items: center;
    flex-direction: column;
  }
  .l-wrapper .c-search__btns .u-btn {
    min-height: 53px;
    font-size: 15px;
  }
  .l-wrapper .l-header__spsearch__body .c-search__content .cogmo-main .cgm-search-input-area textarea {
    height: 50px;
    padding: 11px 20px 12px;
  }
  .l-wrapper .l-header__spsearch__body .c-search__content .cogmo-main .cgm-filter-group {
    padding-top: 30px;
  }
  .l-wrapper .l-header__spsearch__body .c-search__content .cogmo-main .cgm-search-button-area {
    width: 42px;
    height: 50px;
  }
  .l-wrapper .l-header__spsearch__body .c-search__content .cogmo-main .cgm-search-button {
    width: 42px;
    min-height: 50px;
  }
  .l-wrapper .c-search__container {
    margin-bottom: 40px;
  }
  .l-wrapper .c-search__container .c-search {
    padding-top: 40px;
    padding-bottom: 45px;
  }
  .l-wrapper .c-search__container .c-search__title {
    font-size: 27px;
  }
  .l-wrapper .c-search__container .c-search__label {
    margin-top: 20px;
  }
  .l-wrapper .c-search__container .c-search__content .cogmo-main .cgm-filter-group {
    margin-top: 0;
  }
  .l-wrapper .c-search__container .c-search__content .cogmo-main .cgm-filter-group > form {
    flex: auto;
  }
  .l-wrapper .c-search__container .c-search__content .cogmo-main .cgm-search-input-area textarea {
    height: 70px;
    padding: 11px 15px 12px;
  }
  .l-wrapper .c-search__container .c-search__content .cogmo-main .cgm-search-button-area {
    height: 70px;
  }
  .l-wrapper .c-search__container .c-search__content .cogmo-main .cgm-search-button {
    min-height: 70px;
  }
}
/* -----------------------------------------------
  c-support
----------------------------------------------- */
.main .c-support__container .c-support {
  padding-top: 55px;
  padding-bottom: 65px;
  background-color: rgba(55, 53, 130, 0.06);
}
.main .c-support__container .c-support__sub {
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}
.main .c-support__container .c-support__heading {
  margin-top: 5px;
  font-size: 33px;
  font-weight: 600;
}
.main .c-support__container .c-support__item {
  min-height: 203px;
}
.main .c-support__container .c-support__item__inner {
  padding: 15px 50px 30px;
}
.main .c-support {
  padding-top: 100px;
  padding-bottom: 110px;
  background-color: var(--color-white);
}
.main .c-support__body {
  margin-top: 45px;
}
.main .c-support__heading {
  font-size: 37px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.main .c-support__row {
  display: flex;
  gap: 30px;
}
.main .c-support__item {
  width: calc(33.3333333333% - 30px + 10px);
  min-height: 304px;
}
.main .c-support__item__inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 15px 40px 53px;
  color: var(--color-text-base);
  text-decoration: none;
  display: block;
  overflow: hidden;
}
.main .c-support__item__head {
  text-align: center;
}
.main .c-support__item__head img {
  width: 108px;
}
.main .c-support__item__body {
  margin-top: 10.5px;
}
.main .c-support__item__heading {
  font-size: 21px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
.main .c-support__item__label {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.6;
}
.main .c-support__item__link {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 61px;
  height: 50px;
  background-color: var(--color-offWhite);
  transform: skewX(-19deg);
  transform-origin: bottom right;
}
.main .c-support__item__link span {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: skewX(19deg);
  transform-origin: bottom right;
}
.main .c-support__item__link span::after {
  width: 23px;
  height: 6px;
  margin-left: 10px;
  background-image: url(../../images/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: 23px auto;
  display: inline-block;
  vertical-align: middle;
  content: "";
}
.main .c-support__item.-support {
  border-top: solid 5px var(--color-support);
}
.main .c-support__item.-support .c-support__item__inner {
  background-color: rgba(81, 87, 155, 0.12);
}
.main .c-support__item.-achieve {
  border-top: solid 5px var(--color-achieve);
}
.main .c-support__item.-achieve .c-support__item__inner {
  background-color: rgba(42, 101, 162, 0.12);
}
.main .c-support__item.-total {
  border-top: solid 5px var(--color-total);
}
.main .c-support__item.-total .c-support__item__inner {
  background-color: rgba(44, 126, 153, 0.12);
}
.main .c-support__item.-current {
  opacity: 0.5;
  pointer-events: none;
}

@media (any-hover:hover) {
  html:not(.sp) .main .c-support__item__inner::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(34, 34, 34, 0.5);
    opacity: 0;
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    z-index: 1;
    content: "";
  }
  html:not(.sp) .main .c-support__item__inner .c-support__item__link span::after {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  html:not(.sp) .main .c-support__item__inner:hover {
    color: var(--color-text-base);
  }
  html:not(.sp) .main .c-support__item__inner:hover::before {
    opacity: 1;
  }
  html:not(.sp) .main .c-support__item__inner:hover .c-support__item__link span::after {
    transform: translateX(3px);
  }
}
.main .conversion-area + .c-support .c-support__row {
  gap: 27px;
}
.main .conversion-area + .c-support .c-support__item {
  width: calc(33.3333333333% - 27px + 9px);
}

@media screen and (max-width: 767px) {
  .main .c-support__container .c-support {
    padding-top: 45px;
    padding-bottom: 70px;
  }
  .main .c-support__container .c-support__sub {
    font-size: 14px;
  }
  .main .c-support__container .c-support__heading {
    margin-top: 6px;
    font-size: 24px;
  }
  .main .c-support__container .c-support__item {
    min-height: 152px;
  }
  .main .c-support__container .c-support__item__inner {
    padding: 15px 50px 20px;
  }
  .main .c-support {
    padding-top: 45px;
    padding-bottom: 50px;
  }
  .main .c-support__body {
    margin-top: 30px;
  }
  .main .c-support__heading {
    font-size: 24px;
  }
  .main .c-support__row {
    flex-direction: column;
    gap: 20px;
  }
  .main .c-support__item {
    width: 100%;
    min-height: 246px;
  }
  .main .c-support__item__inner {
    padding: 15px 26px 39px;
  }
  .main .c-support__item__head img {
    width: 82px;
  }
  .main .c-support__item__body {
    margin-top: 7px;
  }
  .main .c-support__item__heading {
    font-size: 19px;
  }
  .main .c-support__item__label {
    margin-top: 7px;
  }
  .main .c-support__item__link {
    width: 47px;
    height: 39px;
  }
  .main .c-support__item__link span::after {
    width: 18px;
    height: 5px;
    margin-left: 10px;
    background-size: 18px auto;
  }
  .main .c-support__item.-support {
    border-top: solid 4px var(--color-support);
  }
  .main .c-support__item.-achieve {
    border-top: solid 4px var(--color-achieve);
  }
  .main .c-support__item.-total {
    border-top: solid 4px var(--color-total);
  }
  .main .conversion-area + .c-support .c-support__row {
    gap: 20px;
  }
  .main .conversion-area + .c-support .c-support__item {
    width: 100%;
  }
}
/* -----------------------------------------------
  c-technology
----------------------------------------------- */
.main .c-technology__head {
  display: flex;
  align-items: flex-end;
}
.main .c-technology__head__txt {
  width: calc(100% - 330px);
  padding-right: 20px;
}
.main .c-technology__head .u-heading__sub {
  margin-bottom: 7px;
}
.main .c-technology__body {
  margin-top: 43px;
}
.main .c-technology__body .col-set {
  width: 100%;
  gap: 25px;
}
.main .c-technology__body .col-set .col1-3 {
  width: calc(33.3333333333% - 25px + 8.3333333333px);
  margin: 0;
}
.main .c-technology__body .col-set.top-techpress-panels .txt {
  padding: 18px 0 0;
}
.main .c-technology__body .col-set.top-techpress-panels .txt__head {
  margin-bottom: 13px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.main .c-technology__body .col-set.top-techpress-panels .txt__head .date {
  margin-bottom: 0;
  font-size: 15px;
  font-weight: 400;
}
.main .c-technology__body .col-set.top-techpress-panels .txt__head .u-tag {
  margin-top: 0;
}
.main .c-technology__body .col-set.top-techpress-panels .txt p:not(.link-icon):not(.link-arrow) {
  margin-top: 0;
  margin-bottom: 0;
  color: var(--color-text-base);
  font-size: 16px;
  font-weight: 400;
  font-feature-settings: "palt";
  letter-spacing: normal;
  line-height: 1.6;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.main .c-technology__heading {
  margin-bottom: 17px;
  font-family: "Noto Sans JP";
  font-size: 37px;
  font-weight: 500;
  line-height: 1.4;
}
.main .c-technology__summary {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.6;
}

@media (any-hover:hover) {
  html:not(.sp) .main .c-technology__body .col-set.top-techpress-panels .panel-vertical:hover {
    background-color: transparent;
  }
}
@media screen and (max-width: 767px) {
  .main .c-technology {
    position: relative;
    padding-bottom: 100px;
  }
  .main .c-technology__head {
    display: block;
  }
  .main .c-technology__head__txt {
    width: 100%;
    padding-right: 0;
  }
  .main .c-technology__head .u-heading__sub {
    margin-bottom: 12px;
  }
  .main .c-technology__head .u-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: auto;
    margin: auto;
  }
  .main .c-technology__body {
    margin-top: 30px;
  }
  .main .c-technology__body .col-set {
    flex-direction: column;
    gap: 30px;
  }
  .main .c-technology__body .col-set .col1-3 {
    width: 100%;
  }
  .main .c-technology__body .col-set .col1-3 > a {
    display: flex;
    gap: 21px;
  }
  .main .c-technology__body .col-set.top-techpress-panels .img {
    width: 100px;
  }
  .main .c-technology__body .col-set.top-techpress-panels .txt {
    width: calc(100% - 100px);
    padding: 0;
  }
  .main .c-technology__body .col-set.top-techpress-panels .txt__head {
    margin-bottom: 10px;
    justify-content: space-between;
    gap: 10px;
  }
  .main .c-technology__body .col-set.top-techpress-panels .txt__head .date {
    font-size: 14px;
  }
  .main .c-technology__body .col-set.top-techpress-panels .txt__head .u-tag {
    margin-top: 0;
  }
  .main .c-technology__body .col-set.top-techpress-panels .txt p:not(.link-icon):not(.link-arrow) {
    font-size: 15px;
  }
  .main .c-technology__heading {
    margin-bottom: 12px;
    font-size: 26px;
  }
  .main .c-technology__summary {
    font-size: 15px;
  }
}
/* -----------------------------------------------
  c-img
----------------------------------------------- */
.main .c-img__column {
  position: relative;
  min-height: 352px;
}
.main .c-img__column__container {
  margin-top: 70px;
}
.main .c-img__column + .c-img__column {
  margin-top: 50px;
}
.main .c-img__column::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 86.1111111111vw;
  height: 100%;
  background-color: var(--color-white);
  content: "";
}
.main .c-img__column__content {
  position: relative;
  width: 50%;
  padding-top: 85px;
  padding-right: min(48px, 3.3333333333vw);
  padding-bottom: 86px;
}
.main .c-img__column__img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50%;
  height: calc(100% - 40px);
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
}
.main .c-img__column__img__pict {
  position: absolute;
  top: -69px;
  right: 0;
  left: 0;
  max-width: 360px;
  width: 75%;
  height: 100%;
  margin: auto;
}
.main .c-img__column__heading {
  position: relative;
  padding-left: 15px;
  color: var(--color-key-blue);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.4;
  display: flex;
  gap: 15px;
}
.main .c-img__column__heading::before {
  position: absolute;
  top: 5.5px;
  left: 0;
  width: 1px;
  height: 30px;
  background-color: var(--color-key-blue);
  content: "";
}
.main .c-img__column__heading span {
  padding-top: 7px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  flex-shrink: 0;
}
.main .c-img__column__list {
  margin-top: 25px;
  margin-bottom: 0;
}
.main .c-img__column__list > li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 0;
  font-size: 15px;
  font-weight: 500;
  font-feature-settings: "palt";
  line-height: 1.6;
}
.main .c-img__column__list > li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  margin: 0;
  color: var(--color-key-blue);
  font-size: 16.5px;
  display: inline-block;
  vertical-align: middle;
  background-color: transparent;
  border-radius: 0;
  content: "・";
}
.main .c-img__column__list > li + li {
  margin-top: 5px;
}
.main .c-img__column:nth-child(even)::before {
  right: 0;
  left: auto;
}
.main .c-img__column:nth-child(even) .c-img__column__content {
  margin-left: auto;
  padding-right: 0;
  padding-left: min(48px, 3.3333333333vw);
}
.main .c-img__column:nth-child(even) .c-img__column__img {
  right: auto;
  left: 0;
}
.main .c-img__column.-support .c-img__column__heading {
  color: var(--color-support);
}
.main .c-img__column.-support .c-img__column__heading::before {
  background-color: var(--color-support);
}
.main .c-img__column.-support .c-img__column__list > li::before {
  color: var(--color-support);
}
.main .c-img__column.-total .c-img__column__heading {
  color: var(--color-total);
}
.main .c-img__column.-total .c-img__column__heading::before {
  background-color: var(--color-total);
}
.main .c-img__column.-total .c-img__column__list > li::before {
  color: var(--color-total);
}
.main .c-img__column.-achieve .c-img__column__heading {
  color: var(--color-achieve);
}
.main .c-img__column.-achieve .c-img__column__heading::before {
  background-color: var(--color-achieve);
}
.main .c-img__column.-achieve .c-img__column__list > li::before {
  color: var(--color-achieve);
}
.main .c-img__pictbox__set {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.main .c-img__pictbox__set .c-img__pictbox__item {
  width: calc(33.3333333333% - 15px + 5px);
}
.main .c-img__pictbox__inner {
  max-width: 1206px;
  margin-inline: auto;
}
.main .c-img__pictbox__item {
  min-height: 359px;
  background: linear-gradient(90deg, #23216e 0%, #373582 100%);
}
.main .c-img__pictbox__item__head {
  position: relative;
  height: 151px;
}
.main .c-img__pictbox__item__body {
  padding: 0 min(35px, 2.4305555556vw) 35px;
}
.main .c-img__pictbox__item__pict {
  position: relative;
}
.main .c-img__pictbox__item__pict img {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
}
.main .c-img__pictbox__item__title {
  color: var(--color-white);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.6;
  text-align: center;
}
.main .c-img__pictbox__item__summary {
  margin-top: 15px;
  margin-bottom: 0;
  color: var(--color-white);
  font-size: 15px;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
  line-height: 1.6;
}
.main .c-img__pictbox__item.-sales .c-img__pictbox__item__pict img {
  top: -3px;
  width: 164px;
}
.main .c-img__pictbox__item.-salesengineer .c-img__pictbox__item__pict img {
  top: -3px;
  width: 130px;
}
.main .c-img__pictbox__item.-design .c-img__pictbox__item__pict img {
  top: 6px;
  width: 120px;
}
.main .c-img__pictbox__item.-supply .c-img__pictbox__item__pict img {
  top: 14px;
  width: 124px;
}
.main .c-img__pictbox__item.-technical .c-img__pictbox__item__pict img {
  top: 26px;
  width: 144px;
}
.main .c-img__pictbox__item.-stock .c-img__pictbox__item__pict img {
  top: 17px;
  width: 160px;
}

@media screen and (max-width: 767px) {
  .main .c-img__column {
    width: calc(100% - var(--content-base-padding) * 2);
    min-height: auto;
    margin-inline: auto;
    padding-bottom: 30px;
    background-color: var(--color-white);
  }
  .main .c-img__column__container {
    margin-top: 45px;
  }
  .main .c-img__column + .c-img__column {
    margin-top: 30px;
  }
  .main .c-img__column::before {
    content: none;
  }
  .main .c-img__column .l-wrapper__outer {
    width: 100%;
  }
  .main .c-img__column__content {
    width: 100%;
    padding-top: 35px;
    padding-right: 25px;
    padding-bottom: 46px;
    padding-left: 25px;
  }
  .main .c-img__column__img {
    position: relative;
    right: -22.5px;
    width: calc(100% + 2.5px);
    height: 170px;
  }
  .main .c-img__column__img__pict {
    position: relative;
    top: -36px;
    max-width: 100%;
    width: 200px;
    height: auto;
  }
  .main .c-img__column__heading {
    padding-left: 12px;
    font-size: 23px;
    gap: 12px;
  }
  .main .c-img__column__heading::before {
    top: 4px;
  }
  .main .c-img__column__heading span {
    font-size: 14px;
  }
  .main .c-img__column__list > li {
    font-size: 14px;
  }
  .main .c-img__column__list > li::before {
    font-size: 15.5px;
  }
  .main .c-img__column__list > li + li {
    margin-top: 0;
  }
  .main .c-img__column:nth-child(even) .c-img__column__content {
    padding-top: 35px;
    padding-right: 25px;
    padding-bottom: 46px;
    padding-left: 25px;
  }
  .main .c-img__column:nth-child(even) .c-img__column__img {
    left: -22.5px;
  }
  .main .c-img__pictbox__set {
    flex-direction: column;
  }
  .main .c-img__pictbox__set .c-img__pictbox__item {
    width: 100%;
  }
  .main .c-img__pictbox__item {
    min-height: 309px;
  }
  .main .c-img__pictbox__item__head {
    height: 130px;
  }
  .main .c-img__pictbox__item__body {
    padding: 0 20px 35px;
  }
  .main .c-img__pictbox__item__title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
  }
  .main .c-img__pictbox__item__summary {
    margin-top: 18px;
  }
  .main .c-img__pictbox__item.-sales .c-img__pictbox__item__pict img {
    top: -1.5px;
    width: 138px;
  }
  .main .c-img__pictbox__item.-salesengineer .c-img__pictbox__item__pict img {
    top: -1.5px;
    width: 110px;
  }
  .main .c-img__pictbox__item.-design .c-img__pictbox__item__pict img {
    top: 5.5px;
    width: 101px;
  }
  .main .c-img__pictbox__item.-supply .c-img__pictbox__item__pict img {
    top: 9.5px;
    width: 105px;
  }
  .main .c-img__pictbox__item.-technical .c-img__pictbox__item__pict img {
    top: 24.5px;
    width: 122px;
  }
  .main .c-img__pictbox__item.-stock .c-img__pictbox__item__pict img {
    top: 14.5px;
    width: 135px;
  }
}
/* -----------------------------------------------
  c-point
----------------------------------------------- */
.main .c-point__boxset {
  position: relative;
  margin-top: 45px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.main .c-point__box {
  width: calc(50% - 10px + 5px);
  background-color: var(--color-white);
}
.main .c-point__box.-full {
  position: relative;
  width: 100%;
}
.main .c-point__box__body {
  padding: 25px min(49px, 3.4027777778vw) 40px;
}
.main .c-point__box__links {
  position: relative;
  width: 100%;
  min-height: 96px;
  padding: 8px 80px;
  color: initial;
  text-decoration: none;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.main .c-point__box__links__title {
  position: relative;
  color: var(--color-white);
  font-size: 25px;
  font-weight: 500;
  line-height: 1.4;
}
.main .c-point__box__links__label {
  position: relative;
  margin-top: 4px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.3);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}
.main .c-point__box__links__icon {
  position: absolute;
  top: 0;
  right: 24px;
  bottom: 0;
  width: 48px;
  height: 48px;
  margin: auto;
  background-color: var(--color-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .c-point__box__links__icon::after {
  width: 23px;
  height: 6px;
  margin-top: -2px;
  background-image: url(../../images/common/arrow.svg);
  background-size: 23px auto;
  background-repeat: no-repeat;
  display: block;
  content: "";
}
.main .c-point__box__title {
  color: var(--color-key-blue);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}
.main .c-point__box__row {
  margin-top: 25px;
  display: flex;
  gap: 15px;
}
.main .c-point__box__row.-col3 .c-point__box__col {
  width: calc(33.3333333333% - 15px + 5px);
}
.main .c-point__box__col {
  width: calc(50% - 15px + 7.5px);
}
.main .c-point__box__item {
  height: 100%;
  padding: 13px 8px 35px;
  background-color: var(--color-offWhite);
  border-top: solid 4px var(--color-key-blue);
}
.main .c-point__box__item__num {
  margin-bottom: 0;
  color: var(--color-key-blue);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.main .c-point__box__item__title {
  margin-top: 15px;
  color: var(--color-key-blue);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
.main .c-point__box__item__label {
  margin-top: 20px;
  margin-bottom: 0;
  font-size: 13.5px;
  line-height: 1.6;
  text-align: center;
}
.main .c-point__box__circle {
  position: absolute;
  right: 0;
  bottom: -33px;
  left: 0;
  width: 66px;
  height: 66px;
  padding-bottom: 3px;
  margin: auto;
  color: var(--color-key-blue);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  background-color: #ebeaef;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}
.main .c-point__box.-support .c-point__box__links {
  background: linear-gradient(90deg, #51579b 0%, #3d4387 100%);
}
.main .c-point__box.-support .c-point__box__title,
.main .c-point__box.-support .c-point__box__item__num,
.main .c-point__box.-support .c-point__box__item__title {
  color: var(--color-support);
}
.main .c-point__box.-support .c-point__box__item {
  border-top: solid 4px var(--color-support);
}
.main .c-point__box.-total .c-point__box__links {
  background: linear-gradient(90deg, #2c7e99 0%, #186a85 100%);
}
.main .c-point__box.-total .c-point__box__title,
.main .c-point__box.-total .c-point__box__item__num,
.main .c-point__box.-total .c-point__box__item__title {
  color: var(--color-total);
}
.main .c-point__box.-total .c-point__box__item {
  border-top: solid 4px var(--color-total);
}
.main .c-point__box.-achieve .c-point__box__links {
  background: linear-gradient(90deg, #2a65a2 0%, #16518e 100%);
}
.main .c-point__box.-achieve .c-point__box__title,
.main .c-point__box.-achieve .c-point__box__item__num,
.main .c-point__box.-achieve .c-point__box__item__title {
  color: var(--color-achieve);
}
.main .c-point__box.-achieve .c-point__box__item {
  border-top: solid 4px var(--color-achieve);
}

@media (any-hover:hover) {
  .main .c-point__box a.c-point__box__links::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-black);
    display: block;
    opacity: 0;
    will-change: opacity;
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    content: "";
  }
  .main .c-point__box a.c-point__box__links__icon::after {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  .main .c-point__box a.c-point__box__links:hover::before {
    opacity: 0.5;
  }
  .main .c-point__box a.c-point__box__links:hover .c-point__box__links__icon::after {
    transform: translateX(3px);
  }
}
@media screen and (max-width: 767px) {
  .main .c-point__boxset {
    width: calc(100% + 45px);
    margin-top: 35px;
    margin-left: -22.5px;
    flex-direction: column;
    gap: 30px;
  }
  .main .c-point__box {
    width: 100%;
  }
  .main .c-point__box__body {
    padding: 25px 22.5px 40px;
  }
  .main .c-point__box__links {
    min-height: 80px;
    padding: 4px 60px;
  }
  .main .c-point__box__links__title {
    font-size: 22px;
  }
  .main .c-point__box__links__label {
    margin-top: 2px;
    font-size: 12px;
  }
  .main .c-point__box__links__icon {
    right: 22px;
    width: 34px;
    height: 34px;
  }
  .main .c-point__box__links__icon::after {
    width: 16px;
    margin-top: 0;
    background-size: 16px auto;
  }
  .main .c-point__box__title {
    font-size: 17px;
  }
  .main .c-point__box__row {
    flex-direction: column;
    gap: 10px;
  }
  .main .c-point__box__row.-col3 .c-point__box__col {
    width: 100%;
  }
  .main .c-point__box__col {
    width: 100%;
  }
  .main .c-point__box__item {
    min-height: 156px;
    padding: 10px 14px 30px;
    border-top: solid 3px var(--color-key-blue);
    background-color: var(--color-offWhite);
  }
  .main .c-point__box__item__num {
    font-size: 17px;
  }
  .main .c-point__box__item__title {
    margin-top: 10px;
    font-size: 20px;
  }
  .main .c-point__box__item__label {
    margin-top: 15px;
    font-size: 12.5px;
  }
  .main .c-point__box__circle {
    display: none;
  }
  .main .c-point__box.-support .c-point__box__item {
    border-top: solid 3px var(--color-support);
  }
  .main .c-point__box.-total .c-point__box__item {
    border-top: solid 3px var(--color-total);
  }
  .main .c-point__box.-achieve .c-point__box__item {
    border-top: solid 3px var(--color-achieve);
  }
}
/* -----------------------------------------------
  c-movie
----------------------------------------------- */
.main .c-movie {
  padding: 55px 0;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
}
.main .c-movie__inner {
  max-width: 1340px;
  margin-inline: auto;
}
.main .c-movie__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.main .c-movie__head {
  width: 26.8656716418%;
  padding-left: min(67px, 5%);
}
.main .c-movie__body {
  width: 67.1641791045%;
}
.main .c-movie__heading {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.3);
  font-size: 67px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.4;
}
.main .c-movie__title {
  margin-top: 10px;
  color: var(--color-white);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.6;
}
.main .c-movie__summary {
  margin-top: 35px;
  margin-bottom: 0;
  color: var(--color-white);
  font-size: 15px;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .main .c-movie {
    padding: 50px 0 0;
  }
  .main .c-movie__row {
    flex-direction: column;
    gap: 55px;
  }
  .main .c-movie__head {
    width: 100%;
    padding-left: 0;
    padding-bottom: 0;
  }
  .main .c-movie__body {
    width: 100%;
  }
  .main .c-movie__heading {
    font-size: 58px;
  }
  .main .c-movie__title {
    margin-top: 5px;
    font-size: 20px;
  }
  .main .c-movie__summary {
    margin-top: 25px;
  }
}
/* -----------------------------------------------
  c-totheworld
----------------------------------------------- */
.main .c-totheworld {
  min-height: 514px;
  padding-top: 127px;
  padding-bottom: 135px;
  background-image: url(../../images/re/bg_totheworld.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
}
.main .c-totheworld__inner {
  max-width: 1136px;
  margin-inline: auto;
}
.main .c-totheworld__heading {
  margin-bottom: 30px;
  font-size: 37px;
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
  line-height: 1.6;
}
.main .c-totheworld__heading span {
  margin-right: 8px;
  padding: 0 8px 5px;
  color: var(--color-white);
  font-size: 46px;
  font-weight: 500;
  line-height: 1.4;
  background-color: var(--color-key-blue);
}
.main .c-totheworld__title {
  font-size: 26px;
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
  line-height: 1.4;
}
.main .c-totheworld__note {
  margin-top: 40px;
  margin-bottom: 0;
  font-size: 14px;
  letter-spacing: 0.01em;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .main .c-totheworld {
    min-height: 352px;
    padding-top: 90px;
    padding-bottom: 90px;
    background-image: url(../../images/re/bg_totheworld_sp.svg);
    background-position: right center;
  }
  .main .c-totheworld__heading {
    margin-bottom: 20px;
    font-size: 25px;
  }
  .main .c-totheworld__heading span {
    margin-right: 6px;
    padding: 0 6px 3px;
    font-size: 31px;
  }
  .main .c-totheworld__title {
    font-size: 18px;
    letter-spacing: normal;
  }
  .main .c-totheworld__note {
    margin-top: 25px;
    font-size: 10px;
    letter-spacing: normal;
  }
}
/* -----------------------------------------------
  c-outro
----------------------------------------------- */
.main .c-outro {
  position: relative;
  padding: 178px 0;
  background-image: url(../../images/re/bg_outro.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.main .c-outro__content {
  position: relative;
}
.main .c-outro__heading {
  margin-bottom: 40px;
  color: var(--color-white);
  font-size: 37px;
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  line-height: 1.4;
  text-align: center;
}
.main .c-outro__summary {
  margin-bottom: 0;
  color: var(--color-white);
  font-size: 18px;
  font-weight: 400;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .main .c-outro {
    padding: 122px 0;
    background-image: url(../../images/re/bg_outro_sp.png);
  }
  .main .c-outro__heading {
    margin-bottom: 20px;
    font-size: 26px;
  }
  .main .c-outro__summary {
    font-size: 15px;
  }
}
/* -----------------------------------------------
  p-page
----------------------------------------------- */
.p-page.-white {
  background-color: var(--color-white);
}
.p-page.-white .main main.col3-4 {
  margin-bottom: 0;
}
.p-page #headingarea {
  margin-top: 104px;
}
.p-page #headingarea.addlead {
  padding-right: 0;
}
.p-page #headingarea.-pict {
  position: relative;
  min-height: 440px;
  height: auto;
  padding-right: 15px;
  padding-bottom: 0;
  padding-left: 15px;
  display: flex;
}
.p-page #headingarea.-pict::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 20%;
  height: 100%;
  background-color: #373582;
  content: "";
}
.p-page #headingarea.-pict.headvisual .headvisual-visualarea {
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(37.5vw + 151.492px);
  width: 62.5vw;
  height: 100%;
  background: linear-gradient(270deg, #373582 0%, #23216e 100%);
}
.p-page #headingarea.-pict .headingarea-inner {
  position: relative;
  left: auto;
  max-width: 1128px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-direction: column;
}
.p-page #headingarea.-pict .headingarea-inner .subtitle {
  margin-bottom: 30px;
}
.p-page #headingarea.-pict .p-page__heading__pict {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.p-page #headingarea.-pict .p-page__heading__pict__inner {
  width: 76.2411347518%;
  aspect-ratio: 43/40;
}
.p-page #headingarea.-pict .p-page__heading__content {
  position: relative;
  margin-top: auto;
}
.p-page #headingarea.-pict .p-page__heading__content::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background-color: var(--color-white);
  content: "";
}
.p-page #headingarea.-pict .p-page__heading__content__outer {
  padding: 0 30px;
}
.p-page #headingarea.-pict .p-page__heading__content__inner {
  max-width: 1128px;
  margin-inline: auto;
}
.p-page #headingarea.-pict .p-page__heading__content__box {
  position: relative;
  width: 48.128342246%;
  padding-top: 35px;
  padding-right: 30px;
  padding-bottom: 45px;
}
.p-page #headingarea.-pict .p-page__heading__title {
  margin-bottom: 10px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.6;
}
.p-page #headingarea.-pict .p-page__heading__summary {
  font-size: 14px;
  line-height: 2;
}
.p-page #headingarea.-pict.-img h1 {
  margin-top: 100px;
}
.p-page--lower .main {
  padding-bottom: 100px;
  background-color: var(--color-white);
}
.p-page__intro {
  padding: 55px 0 65px;
}
.p-page__intro__message {
  margin-bottom: 0;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}
.p-page__intro.-slash {
  position: relative;
  margin-top: 80px;
  padding: 25px 0 30px;
}
.p-page__intro.-slash::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(55, 53, 130, 0.06);
  transform: skewX(-19deg);
  transform-origin: bottom left;
  content: "";
}
.main .p-page__base__container {
  padding-top: 55px;
  padding-bottom: 65px;
  background-color: rgba(55, 53, 130, 0.06);
}
.main .p-page__base__row {
  margin-top: 30px;
  display: flex;
  gap: 25px;
}
.main .p-page__base__item {
  width: calc(33.3333333333% - 25px + 8.3333333333px);
  padding-bottom: 20px;
  border-bottom: solid 1px rgba(96, 95, 130, 0.3);
}
.main .p-page__base__item__label {
  margin-top: 15px;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}
.main .p-page__base__case {
  margin-top: 70px;
  padding-top: 55px;
  padding-bottom: 65px;
  background-color: rgba(55, 53, 130, 0.06);
}
.main .p-page__base__case .c-case__heading {
  font-size: 22px;
}
.main .p-page__base__case .c-case__list {
  padding-bottom: 0;
}
.main .p-page__base__case .c-case__item__pict {
  background-color: var(--color-white);
}
.main .p-page__base.-bg-blue {
  padding-top: 55px;
  padding-bottom: 65px;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
}
.main .p-page__base.-bg-blue .u-heading__section {
  color: var(--color-white);
}
.p-page__technology {
  padding-top: 63px;
  padding-bottom: 75px;
}
.p-page__technology .c-technology .c-technology__body .panel-vertical {
  background-color: transparent;
}
.p-page__technology .c-technology .c-technology__body .col-set.top-techpress-panels .txt p.date {
  text-decoration: none;
}
.p-page__technology.-case {
  padding-top: 54px;
  padding-bottom: 75px;
}
.p-page__technology.-case .panel-vertical {
  background-color: transparent;
}
.p-page__technology.-case .c-technology__heading {
  margin-bottom: 0;
}

@media screen and (max-width: 1121px) {
  .p-page #headingarea {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-page #headingarea.-pict {
    min-height: 510px;
    padding-right: 22px;
    padding-left: 22px;
    display: flex;
  }
  .p-page #headingarea.-pict::before {
    content: none;
  }
  .p-page #headingarea.-pict h1 {
    font-size: 32px;
    line-height: 1.3;
  }
  .p-page #headingarea.-pict.headvisual .headvisual-visualarea {
    margin-left: calc(37.8666666667vw + 175.593px);
    width: 62.1333333333vw;
    background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  }
  .p-page #headingarea.-pict .headingarea-inner {
    padding-top: 40px;
  }
  .p-page #headingarea.-pict .headingarea-inner .subtitle {
    margin-bottom: 40px;
    padding-top: 5px;
  }
  .p-page #headingarea.-pict .p-page__heading__pict {
    top: 0;
    right: -8px;
    width: 46.4vw;
    align-items: flex-start;
    z-index: 1;
  }
  .p-page #headingarea.-pict .p-page__heading__pict__inner {
    width: 100%;
    aspect-ratio: 87/71;
  }
  .p-page #headingarea.-pict .p-page__heading__content {
    width: calc(100% + 44px);
    margin-left: -22px;
  }
  .p-page #headingarea.-pict .p-page__heading__content::before {
    content: none;
  }
  .p-page #headingarea.-pict .p-page__heading__content__outer {
    padding: 0;
  }
  .p-page #headingarea.-pict .p-page__heading__content__box {
    width: calc(100% - 45px);
    padding: 25px 22px 30px;
    background-color: var(--color-white);
  }
  .p-page #headingarea.-pict .p-page__heading__title {
    margin-bottom: 13px;
    font-size: 17px;
  }
  .p-page #headingarea.-pict .p-page__heading__summary {
    line-height: 1.8;
  }
  .p-page #headingarea.-pict.-img h1 {
    margin-top: 66px;
  }
  .p-page__intro {
    padding: 45px 0 55px;
  }
  .p-page__intro__message {
    font-size: 14px;
  }
  .p-page__intro.-slash {
    margin-top: 50px;
    padding: 15px 0 20px;
  }
  .main .p-page__base__container {
    padding-top: 45px;
    padding-bottom: 55px;
  }
  .main .p-page__base__row {
    flex-direction: column;
    gap: 15px;
  }
  .main .p-page__base__item {
    max-width: 330px;
    width: 100%;
    margin-inline: auto;
    padding-bottom: 16px;
    display: flex;
    align-items: center;
  }
  .main .p-page__base__item__pict {
    flex-shrink: 0;
  }
  .main .p-page__base__item__label {
    width: calc(100% - 66px);
    margin-top: 0;
    padding-left: 20px;
    font-size: 15px;
    text-align: left;
  }
  .main .p-page__base__case {
    margin-top: 45px;
    padding-top: 45px;
    padding-bottom: 55px;
  }
  .main .p-page__base__case .c-case__heading {
    font-size: 21px;
  }
  .main .p-page__base.-bg-blue {
    padding-top: 45px;
    padding-bottom: 55px;
  }
  .p-page__technology {
    padding-top: 45px;
    padding-bottom: 55px;
  }
  .p-page__technology.-case {
    padding-top: 45px;
    padding-bottom: 55px;
  }
}
@media screen and (max-width: 460px) {
  .p-page #headingarea.-pict .p-page__heading__pict {
    top: 68px;
  }
}
/* -----------------------------------------------
  p-products
----------------------------------------------- */
.p-products--index #headingarea .visual {
  background-image: url(../../images/re/products/bg_heading.jpg);
}

@media screen and (max-width: 767px) {
  .p-products--index #headingarea .visual {
    background-image: url(../../images/re/products/bg_heading_sp.jpg);
  }
}
/* -----------------------------------------------
  p-support
----------------------------------------------- */
/* -----------------------------------------------
  p-strength
----------------------------------------------- */
.main .p-strength--index__solution {
  margin-top: 45px;
}
.main .p-strength--index__solution__row {
  display: flex;
  justify-content: space-between;
  gap: 37px;
}
.main .p-strength--index__solution__head {
  width: 44.5192307692%;
}
.main .p-strength--index__solution__head .u-heading__sub {
  margin-bottom: 12px;
}
.main .p-strength--index__solution__body {
  width: 51.9230769231%;
  padding-top: 38px;
}
.main .p-strength--index__solution__title {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.4;
}
.main .p-strength--index__solution__gear {
  position: relative;
  width: 100%;
  height: 0;
  margin-top: 26px;
  padding-top: 63.4989%;
}
.main .p-strength--index__solution__gear__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main .p-strength--index__solution__gear__item {
  position: absolute;
}
.main .p-strength--index__solution__gear__item__pict {
  position: absolute;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
.main .p-strength--index__solution__gear__item__txt {
  position: absolute;
}
.main .p-strength--index__solution__gear__item__main {
  margin-bottom: 8px;
  font-size: clamp(13px, 1.1111111111vw, 16px);
  font-weight: 500;
  line-height: 1.6;
}
.main .p-strength--index__solution__gear__item__sub {
  margin-bottom: 0;
  font-size: clamp(12px, 1.0416666667vw, 15px);
  font-weight: 500;
  line-height: 1.6;
}
.main .p-strength--index__solution__gear__item.-support {
  top: 53px;
  left: 0;
  width: 42.7645788337%;
  aspect-ratio: 99/98;
}
.main .p-strength--index__solution__gear__item.-support .p-strength--index__solution__gear__item__pict {
  top: 0;
  right: 0;
  width: 75.7575757576%;
  background-image: url(../../images/re/top/bg_solution_01.svg);
}
.main .p-strength--index__solution__gear__item.-support .p-strength--index__solution__gear__item__txt {
  bottom: 0;
  left: 0;
}
.main .p-strength--index__solution__gear__item.-support .p-strength--index__solution__gear__item__sub {
  color: var(--color-support);
}
.main .p-strength--index__solution__gear__item.-total {
  top: 0;
  right: 8px;
  width: 57.8833693305%;
  aspect-ratio: 134/75;
}
.main .p-strength--index__solution__gear__item.-total .p-strength--index__solution__gear__item__pict {
  top: 0;
  left: 0;
  width: 55.9701492537%;
  background-image: url(../../images/re/top/bg_solution_02.svg);
}
.main .p-strength--index__solution__gear__item.-total .p-strength--index__solution__gear__item__txt {
  right: 0;
  bottom: 20px;
}
.main .p-strength--index__solution__gear__item.-total .p-strength--index__solution__gear__item__sub {
  color: var(--color-total);
}
.main .p-strength--index__solution__gear__item.-achieve {
  right: 0;
  bottom: 0;
  width: 65.4427645788%;
  aspect-ratio: 101/50;
}
.main .p-strength--index__solution__gear__item.-achieve .p-strength--index__solution__gear__item__pict {
  top: 0;
  left: 0;
  width: 49.504950495%;
  background-image: url(../../images/re/top/bg_solution_03.svg);
}
.main .p-strength--index__solution__gear__item.-achieve .p-strength--index__solution__gear__item__txt {
  right: 0;
  bottom: 0;
  width: 50.495049505%;
}
.main .p-strength--index__solution__gear__item.-achieve .p-strength--index__solution__gear__item__sub {
  color: var(--color-achieve);
}
.main .p-strength--index__solution__voice {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.main .p-strength--index__solution__voice__pict {
  width: 40px;
  height: 29px;
  margin: auto;
  background-image: url(../../images/re/icon_after.svg);
  background-repeat: no-repeat;
  background-size: 40px auto;
  background-position: center center;
}
.main .p-strength--index__solution__voice__item {
  min-height: 163px;
  background-color: var(--color-white);
  display: flex;
}
.main .p-strength--index__solution__voice__item__head {
  width: 84px;
  background-color: rgba(96, 95, 130, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .p-strength--index__solution__voice__item__body {
  width: calc(100% - 84px);
  padding: 30px 20px 33px;
}
.main .p-strength--index__solution__voice__item__label {
  margin-bottom: 0;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.6;
}
.main .p-strength--index__solution__voice__item__list {
  margin-bottom: 0;
}
.main .p-strength--index__solution__voice__item__list > li {
  position: relative;
  margin-bottom: 0;
  padding-left: 16px;
  font-size: 14px;
  font-feature-settings: "palt";
  line-height: 1.8;
}
.main .p-strength--index__solution__voice__item__list > li::before {
  position: absolute;
  top: 7.5px;
  left: 0;
  margin: 0;
  background-color: transparent;
  content: "";
}
.main .p-strength--index__solution__voice__item.-before .p-strength--index__solution__voice__item__list > li::before {
  width: 9px;
  height: 9px;
  margin-top: 1px;
  background-image: url(../../images/re/icon_x.svg);
  background-repeat: no-repeat;
  background-size: 9px auto;
  background-position: center center;
}
.main .p-strength--index__solution__voice__item.-after .p-strength--index__solution__voice__item__head {
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
}
.main .p-strength--index__solution__voice__item.-after .p-strength--index__solution__voice__item__label {
  color: var(--color-white);
}
.main .p-strength--index__solution__voice__item.-after .p-strength--index__solution__voice__item__list > li::before {
  width: 9px;
  height: 9px;
  margin-top: 1px;
  border: solid 2px var(--color-key-blue);
  border-radius: 50%;
}
.main .p-strength--index__solution__label {
  margin-top: 40px;
  color: var(--color-key-blue);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}
.main .p-strength--index__7 {
  margin-top: 65px;
  padding-top: 55px;
  background-color: rgba(55, 53, 130, 0.06);
}
.main .p-strength--index__7 .u-heading__sub + .u-heading__section {
  margin-top: -15px;
}
.main .p-strength--index__7 .u-heading__sub + .u-heading__section + .-lead {
  margin-top: 7px;
}
.main .p-strength--index__7__plus {
  padding: 30px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .p-strength--index__7__plus span {
  position: relative;
  width: 30px;
  height: 30px;
}
.main .p-strength--index__7__plus span::before, .main .p-strength--index__7__plus span::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: var(--color-text-base);
  content: "";
}
.main .p-strength--index__7__plus span::before {
  width: 100%;
  height: 4px;
}
.main .p-strength--index__7__plus span::after {
  width: 4px;
  height: 100%;
}
.main .p-strength--index__support {
  position: relative;
  padding-top: 55px;
}
.main .p-strength--index__support__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main .p-strength--index__support__bg::before, .main .p-strength--index__support__bg::after {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  content: "";
}
.main .p-strength--index__support__bg::before {
  left: 0;
  background-color: var(--color-white);
}
.main .p-strength--index__support__bg::after {
  right: 0;
  background-color: var(--color-offWhite);
}
.main .p-strength--index__support__content {
  position: relative;
}
.main .p-strength--index__support__heading {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
.main .p-strength--index__support__row {
  display: flex;
}
.main .p-strength--index__support__col {
  width: 50%;
  padding: 34px min(48px, 3.3333333333vw) 50px;
}
.main .p-strength--index__support__col.-global .p-strength--index__support__item {
  aspect-ratio: 208/105;
  background-image: url(../../images/re/strength/map_global.svg);
  align-items: center;
}
.main .p-strength--index__support__col.-global .p-strength--index__support__item__row {
  gap: min(48px, 3.3333333333vw);
}
.main .p-strength--index__support__col.-global__label {
  margin-top: 11px;
}
.main .p-strength--index__support__col.-japan .p-strength--index__support__item {
  width: 86.5384615385%;
  aspect-ratio: 12/7;
  margin-inline: auto;
  flex-direction: column;
  background-image: url(../../images/re/strength/map_japan.svg);
  align-items: flex-start;
}
.main .p-strength--index__support__col.-japan .p-strength--index__support__item__row {
  gap: 10px;
}
.main .p-strength--index__support__col.-japan .p-strength--index__support__item__label {
  flex-shrink: 0;
}
.main .p-strength--index__support__item {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: flex;
  justify-content: center;
}
.main .p-strength--index__support__item__title {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  display: flex;
  align-items: center;
  gap: 10px;
}
.main .p-strength--index__support__item__title::before {
  width: 10px;
  height: 10px;
  background-color: var(--color-key-link);
  border-radius: 50%;
  flex-shrink: 0;
  content: "";
}
.main .p-strength--index__support__item__row {
  display: flex;
  align-items: center;
}
.main .p-strength--index__support__item__label {
  margin-bottom: 0;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.6;
}
.main .p-strength--index__support__item__label span {
  margin-right: 7px;
  color: var(--color-key-blue);
  font-size: 60px;
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 1.2;
}
.main .p-strength--index__support__item__tags__row {
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.main .p-strength--index__support__item__tags__row.-column {
  flex-direction: column;
}
.main .p-strength--index__support__item__tags__row .u-basetag {
  margin-bottom: 0;
}
.main .p-strength--index__support__item__plus {
  position: relative;
  width: 17px;
  height: 17px;
}
.main .p-strength--index__support__item__plus::before, .main .p-strength--index__support__item__plus::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: var(--color-text-base);
  content: "";
}
.main .p-strength--index__support__item__plus::before {
  width: 100%;
  height: 3px;
}
.main .p-strength--index__support__item__plus::after {
  width: 3px;
  height: 100%;
}
.main .p-strength--index__support__item__summary {
  margin-bottom: 0;
  font-size: 15px;
  font-feature-settings: "palt";
  line-height: 1.6;
}
.main .p-strength--index__numbers {
  padding-top: 57px;
  padding-bottom: 67px;
  background-color: rgba(55, 53, 130, 0.06);
}
.main .p-strength--index__numbers__row {
  margin-top: 43px;
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}
.main .p-strength--index__numbers__item {
  width: calc(33.3333333333% - 25px + 8.3333333333px);
  background-color: var(--color-white);
}
.main .p-strength--index__numbers__item__head {
  position: relative;
  min-height: 54px;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .p-strength--index__numbers__item__head::after {
  position: absolute;
  right: 0;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 6px 8px 0px 8px;
  content: "";
}
.main .p-strength--index__numbers__item__body {
  padding: 16px min(35px, 2.4305555556vw) 30px;
}
.main .p-strength--index__numbers__item__title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}
.main .p-strength--index__numbers__item__value {
  margin-bottom: 0;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
.main .p-strength--index__numbers__item__value span.-num {
  margin-right: 3px;
  color: var(--color-key-blue);
  font-size: 60px;
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 1.2;
}
.main .p-strength--index__numbers__item__summary {
  margin-top: 10px;
  margin-bottom: 0;
  line-height: 1.6;
}
.main .p-strength--index__numbers__item__row {
  display: flex;
  justify-content: center;
}
.main .p-strength--index__numbers__item__row .p-strength--index__numbers__item__value {
  text-align: left;
  display: flex;
  align-items: center;
}
.main .p-strength--index__numbers__item__row .p-strength--index__numbers__item__value span.-label {
  margin-top: 10px;
  font-size: 18px;
  line-height: 1;
}
.main .p-strength--index__numbers__item .-slash {
  font-size: 60px;
  font-weight: 200;
  line-height: 1.2;
}
.main .p-strength--index__numbers__item:nth-child(odd) .p-strength--index__numbers__item__head {
  background-color: rgba(55, 53, 130, 0.2);
}
.main .p-strength--index__numbers__item:nth-child(odd) .p-strength--index__numbers__item__head::after {
  border-color: rgba(55, 53, 130, 0.2) transparent transparent transparent;
}
.main .p-strength--index__numbers__item:nth-child(odd) .p-strength--index__numbers__item__title {
  color: var(--color-key-blue);
}
.main .p-strength--index__numbers__item:nth-child(even) .p-strength--index__numbers__item__head {
  background-color: var(--color-blueGray);
}
.main .p-strength--index__numbers__item:nth-child(even) .p-strength--index__numbers__item__head::after {
  border-color: var(--color-blueGray) transparent transparent transparent;
}
.main .p-strength--index__numbers__item:nth-child(even) .p-strength--index__numbers__item__title {
  color: var(--color-white);
}
.main .p-strength--knowledge__intro {
  margin-top: 54px;
}
.main .p-strength--knowledge__intro__label {
  margin-bottom: 0;
  font-size: 23px;
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  line-height: 1.6;
  text-align: center;
}
.main .p-strength--knowledge__intro__label.-l {
  margin-top: 10px;
  font-size: 24px;
  line-height: 1.8;
}
.main .p-strength--knowledge__intro__label.-l .u-marker {
  padding-right: 15px;
  padding-left: 15px;
}
.main .p-strength--knowledge__intro__label.-l .u-marker .u-marker {
  padding-right: 0;
  padding-left: 0;
  background: none;
}
.main .p-strength--knowledge__intro__arrow {
  width: 40px;
  height: 29px;
  margin: 20px auto;
  background-image: url(../../images/re/icon_after.svg);
  background-repeat: no-repeat;
  background-size: 40px auto;
  background-position: center center;
}
.main .p-strength--knowledge__intro__box {
  margin-top: 26px;
}
.main .p-strength--knowledge__intro__box__head {
  width: 100%;
  height: 41px;
  padding: 2px 4px 3px;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .p-strength--knowledge__intro__box__label {
  color: var(--color-white);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
.main .p-strength--knowledge__intro__box__row {
  display: flex;
}
.main .p-strength--knowledge__intro__box__col:nth-child(1) {
  width: 42.6923076923%;
}
.main .p-strength--knowledge__intro__box__col:nth-child(1) .p-strength--knowledge__intro__box__item__col {
  width: 33.3333%;
  background-color: var(--color-white);
}
.main .p-strength--knowledge__intro__box__col:nth-child(1) .p-strength--knowledge__intro__box__item__num {
  color: var(--color-support);
}
.main .p-strength--knowledge__intro__box__col:nth-child(1) .p-strength--knowledge__intro__box__item__type {
  background: linear-gradient(90deg, #51579b 0%, #3d4387 100%);
}
.main .p-strength--knowledge__intro__box__col:nth-child(2) {
  width: 28.6538461538%;
}
.main .p-strength--knowledge__intro__box__col:nth-child(2) .p-strength--knowledge__intro__box__item__col {
  width: 50%;
  background-color: var(--color-white);
}
.main .p-strength--knowledge__intro__box__col:nth-child(2) .p-strength--knowledge__intro__box__item__num {
  color: var(--color-achieve);
}
.main .p-strength--knowledge__intro__box__col:nth-child(2) .p-strength--knowledge__intro__box__item__label {
  color: var(--color-achieve);
}
.main .p-strength--knowledge__intro__box__col:nth-child(2) .p-strength--knowledge__intro__box__item__type {
  background: linear-gradient(90deg, #2a65a2 0%, #16518e 100%);
}
.main .p-strength--knowledge__intro__box__col:nth-child(3) {
  width: 28.6538461538%;
}
.main .p-strength--knowledge__intro__box__col:nth-child(3) .p-strength--knowledge__intro__box__item__col {
  width: 50%;
  background-color: var(--color-white);
}
.main .p-strength--knowledge__intro__box__col:nth-child(3) .p-strength--knowledge__intro__box__item__num {
  color: var(--color-total);
}
.main .p-strength--knowledge__intro__box__col:nth-child(3) .p-strength--knowledge__intro__box__item__type {
  background: linear-gradient(90deg, #2c7e99 0%, #186a85 100%);
}
.main .p-strength--knowledge__intro__box__item__row {
  display: flex;
}
.main .p-strength--knowledge__intro__box__item__col {
  min-height: 135px;
  padding: 10px 2px 2px;
  border-right: solid 1px rgba(96, 95, 130, 0.15);
}
.main .p-strength--knowledge__intro__box__item__num {
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
.main .p-strength--knowledge__intro__box__item__label {
  margin-top: 5px;
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}
.main .p-strength--knowledge__intro__box__item__type {
  width: 100%;
  height: 41px;
  padding: 2px 4px 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .p-strength--knowledge__optimal {
  margin-top: 62px;
  padding-top: 55px;
  padding-bottom: 93px;
  background-color: rgba(55, 53, 130, 0.06);
}
.main .p-strength--knowledge__optimal .u-heading__section span {
  color: var(--color-achieve);
}
.main .p-strength--knowledge__optimal__content {
  margin-top: 65px;
}
.main .p-strength--knowledge__optimal .c-case {
  margin-top: 55px;
}
.main .p-strength--knowledge__optimal .c-case__heading {
  font-size: 24px;
}
.main .p-strength--knowledge__optimal .c-case__item__pict {
  background-color: var(--color-white);
}
.main .p-strength--knowledge__optimal__links {
  margin-top: 65px;
}

.p-strength--total-proposal .p-strength--knowledge__optimal .u-heading__section span {
  color: var(--color-total);
}
.p-strength--total-proposal .p-strength--knowledge__intro__box__col:nth-child(3) .p-strength--knowledge__intro__box__item__col {
  background-color: rgba(42, 101, 162, 0.06);
}

.p-strength--total-support .p-strength--knowledge__optimal .u-heading__section span {
  color: var(--color-support);
}
.p-strength--total-support .p-strength--knowledge__intro__box__col:nth-child(1) .p-strength--knowledge__intro__box__item__col {
  background-color: rgba(42, 101, 162, 0.06);
}

.p-strength.p-strength--knowledge .p-strength--knowledge__intro__box__col:nth-child(2) .p-strength--knowledge__intro__box__item__col {
  background-color: rgba(42, 101, 162, 0.06);
}

@media screen and (max-width: 767px) {
  .p-strength--knowledge #headingarea h1 {
    margin-top: 40px;
  }
  .main .p-strength--index__solution__row {
    flex-direction: column;
    gap: 40px;
  }
  .main .p-strength--index__solution__head {
    width: 100%;
  }
  .main .p-strength--index__solution__body {
    width: 100%;
    padding-top: 0;
  }
  .main .p-strength--index__solution__gear {
    width: 330px;
    height: 207px;
    margin-top: 20px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 0;
  }
  .main .p-strength--index__solution__gear__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .main .p-strength--index__solution__gear__item__pict {
    width: 104px;
    height: 104px;
  }
  .main .p-strength--index__solution__gear__item__main {
    margin-bottom: 5px;
    font-size: 13px;
  }
  .main .p-strength--index__solution__gear__item__sub {
    font-size: 12px;
  }
  .main .p-strength--index__solution__gear__item.-support {
    top: 37px;
    width: 140px;
    height: 153px;
  }
  .main .p-strength--index__solution__gear__item.-support .p-strength--index__solution__gear__item__pict {
    width: 104px;
  }
  .main .p-strength--index__solution__gear__item.-total {
    right: 0;
    width: 198px;
    height: 104px;
  }
  .main .p-strength--index__solution__gear__item.-total .p-strength--index__solution__gear__item__pict {
    width: 104px;
  }
  .main .p-strength--index__solution__gear__item.-achieve {
    width: 202x;
    height: 107px;
  }
  .main .p-strength--index__solution__gear__item.-achieve .p-strength--index__solution__gear__item__pict {
    bottom: 3px;
    width: 104px;
  }
  .main .p-strength--index__solution__gear__item.-achieve .p-strength--index__solution__gear__item__txt {
    right: 15px;
    width: 84px;
  }
  .main .p-strength--index__solution__voice {
    gap: 12px;
  }
  .main .p-strength--index__solution__voice__pict {
    width: 31px;
    height: 22px;
    background-size: 31px auto;
  }
  .main .p-strength--index__solution__voice__item {
    min-height: 177px;
    flex-direction: column;
  }
  .main .p-strength--index__solution__voice__item__head {
    width: 100%;
    padding: 7px 15px;
  }
  .main .p-strength--index__solution__voice__item__body {
    width: 100%;
    padding: 20px 15px 25px;
  }
  .main .p-strength--index__solution__voice__item__list > li {
    padding-left: 15px;
    font-size: 13px;
  }
  .main .p-strength--index__solution__label {
    margin-top: 30px;
    font-size: 15px;
  }
  .main .p-strength--index__7 {
    margin-top: 45px;
    padding-top: 45px;
  }
  .main .p-strength--index__7 .u-heading__sub + .u-heading__section {
    margin-top: -10px;
  }
  .main .p-strength--index__7 .u-heading__sub + .u-heading__section + .-lead {
    margin-top: 6px;
  }
  .main .p-strength--index__7__plus {
    padding: 20px 0;
  }
  .main .p-strength--index__support {
    padding-top: 35px;
    background-color: var(--color-offWhite);
  }
  .main .p-strength--index__support__bg {
    display: none;
  }
  .main .p-strength--index__support__body {
    margin-top: 30px;
  }
  .main .p-strength--index__support__heading {
    font-size: 17px;
    line-height: 1.6;
  }
  .main .p-strength--index__support__row {
    flex-direction: column;
  }
  .main .p-strength--index__support__col {
    width: 100%;
    min-height: 230px;
    padding: 30px 22.5px;
  }
  .main .p-strength--index__support__col.-global {
    background-color: var(--color-white);
  }
  .main .p-strength--index__support__col.-global .p-strength--index__support__item {
    justify-content: flex-start;
    aspect-ratio: 335/169;
  }
  .main .p-strength--index__support__col.-global .p-strength--index__support__item__row {
    gap: 18px;
  }
  .main .p-strength--index__support__col.-global__label {
    margin-top: 9px;
  }
  .main .p-strength--index__support__col.-japan .p-strength--index__support__item {
    position: relative;
    width: 100%;
    aspect-ratio: 335/169;
    align-items: center;
  }
  .main .p-strength--index__support__col.-japan .p-strength--index__support__item .p-strength--index__support__item__title {
    width: 100%;
  }
  .main .p-strength--index__support__col.-japan .p-strength--index__support__item__row {
    gap: 10px;
  }
  .main .p-strength--index__support__col.-japan .p-strength--index__support__item__row > .p-strength--index__support__item__col {
    padding-bottom: 45px;
  }
  .main .p-strength--index__support__col.-japan .p-strength--index__support__item__row > .p-strength--index__support__item__col:first-child {
    position: relative;
  }
  .main .p-strength--index__support__item__title {
    font-size: 14px;
    gap: 7px;
  }
  .main .p-strength--index__support__item__title::before {
    width: 7px;
    height: 7px;
  }
  .main .p-strength--index__support__item__label {
    margin-bottom: 0;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.6;
  }
  .main .p-strength--index__support__item__label span {
    margin-right: 4px;
    font-size: 43px;
  }
  .main .p-strength--index__support__item__tags {
    position: absolute;
    bottom: 0;
    left: -38px;
    width: 152px;
  }
  .main .p-strength--index__support__item__tags__row {
    align-items: center;
    gap: 4px;
  }
  .main .p-strength--index__support__item__tags__row.-column {
    gap: 3px;
  }
  .main .p-strength--index__support__item__summary {
    font-size: 11px;
  }
  .main .p-strength--index__numbers {
    padding-top: 45px;
    padding-bottom: 55px;
  }
  .main .p-strength--index__numbers__row {
    margin-top: 30px;
    flex-direction: column;
    gap: 20px;
  }
  .main .p-strength--index__numbers__item {
    width: 100%;
  }
  .main .p-strength--index__numbers__item__head {
    min-height: 40px;
  }
  .main .p-strength--index__numbers__item__body {
    padding: 13px 25px 25px;
  }
  .main .p-strength--index__numbers__item__title {
    font-size: 14.5px;
    font-weight: 500;
  }
  .main .p-strength--index__numbers__item__value {
    font-size: 17px;
  }
  .main .p-strength--index__numbers__item__value span.-num {
    font-size: 45px;
  }
  .main .p-strength--index__numbers__item__summary {
    margin-top: 0;
    font-size: 13px;
    line-height: 1.8;
  }
  .main .p-strength--index__numbers__item__row .p-strength--index__numbers__item__value span.-label {
    font-size: 15px;
  }
  .main .p-strength--index__numbers__item .-slash {
    margin: 0 2px;
    font-size: 40px;
  }
  .main .p-strength--knowledge__intro {
    margin-top: 45px;
  }
  .main .p-strength--knowledge__intro__label {
    font-size: 14.5px;
  }
  .main .p-strength--knowledge__intro__label.-l {
    margin-top: 15px;
    font-size: 17px;
    line-height: 2;
  }
  .main .p-strength--knowledge__intro__label.-l .u-marker {
    padding-right: 0;
    padding-left: 0;
    background: none;
  }
  .main .p-strength--knowledge__intro__label.-l .u-marker .u-marker {
    padding-right: 18px;
    padding-left: 18px;
    background: linear-gradient(transparent 60%, rgba(96, 95, 130, 0.15) 0%);
  }
  .main .p-strength--knowledge__intro__arrow {
    width: 31px;
    height: 22px;
    margin: 15px auto;
    background-size: 31px auto;
  }
  .main .p-strength--knowledge__intro__box {
    margin-top: 25px;
  }
  .main .p-strength--knowledge__intro__box__head {
    height: 29px;
  }
  .main .p-strength--knowledge__intro__box__label {
    font-size: 12px;
  }
  .main .p-strength--knowledge__intro__box__row {
    flex-wrap: wrap;
  }
  .main .p-strength--knowledge__intro__box__col:nth-child(1) {
    width: 100%;
    margin-bottom: 15px;
  }
  .main .p-strength--knowledge__intro__box__col:nth-child(2) {
    width: 50%;
  }
  .main .p-strength--knowledge__intro__box__col:nth-child(2) .p-strength--knowledge__intro__box__item__label {
    font-size: 12px;
  }
  .main .p-strength--knowledge__intro__box__col:nth-child(3) {
    width: 50%;
  }
  .main .p-strength--knowledge__intro__box__col:nth-child(3) .p-strength--knowledge__intro__box__item__label {
    font-size: 12px;
  }
  .main .p-strength--knowledge__intro__box__item {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .main .p-strength--knowledge__intro__box__item__row {
    height: calc(100% - 29px);
  }
  .main .p-strength--knowledge__intro__box__item__col {
    position: relative;
    min-height: 100px;
    padding: 8px;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .main .p-strength--knowledge__intro__box__item__num {
    font-size: 12px;
  }
  .main .p-strength--knowledge__intro__box__item__label {
    margin-top: 0;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
  }
  .main .p-strength--knowledge__intro__box__item__type {
    height: 29px;
  }
  .main .p-strength--knowledge__optimal {
    margin-top: 55px;
    padding-top: 45px;
    padding-bottom: 55px;
  }
  .main .p-strength--knowledge__optimal__content {
    margin-top: 25px;
  }
  .main .p-strength--knowledge__optimal .c-case {
    margin-top: 45px;
  }
  .main .p-strength--knowledge__optimal .c-case__heading {
    font-size: 21px;
  }
  .main .p-strength--knowledge__optimal__links {
    margin-top: 55px;
  }
}
/* -----------------------------------------------
  p-company
----------------------------------------------- */
.main .p-company--recruit__who {
  margin-top: 80px;
}
.main .p-company--recruit__who__content {
  margin-top: 70px;
  padding: 50px 0;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
}
.main .p-company--recruit__who__content__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.main .p-company--recruit__who__content__head {
  width: 50%;
}
.main .p-company--recruit__who__content__head img {
  width: 100%;
}
.main .p-company--recruit__who__content__body {
  width: 43.2692307692%;
}
.main .p-company--recruit__who__content__title {
  color: var(--color-white);
  font-size: 24px;
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
  line-height: 1.4;
}
.main .p-company--recruit__who__content__summary {
  margin-top: 20px;
  margin-bottom: 0;
  color: var(--color-white);
  font-size: 15px;
  letter-spacing: 0.01em;
  line-height: 1.6;
}
.main .p-company--recruit__who__content__link {
  margin-top: 4px;
  margin-bottom: 0;
  text-align: right;
}
.main .p-company--recruit__job.p-page__base {
  padding-bottom: 0;
}
.main .p-company--recruit__job .c-img__pictbox__container {
  margin-top: 45px;
  margin-bottom: 70px;
}
.main .p-company--recruit__work {
  padding-top: 55px;
  padding-bottom: 65px;
  background-color: rgba(55, 53, 130, 0.06);
}
.main .p-company--recruit__work__btn {
  margin-top: 45px;
}
.main .p-company--recruit__links {
  padding: 47px 0 73px;
  background-color: rgba(246, 246, 246, 0.06);
}

.p-company--recruit #headingarea.-pict.-img .headvisual-visualarea .visual {
  background-image: url(../../images/re/company/recruit/bg_mv.jpg);
}

@media screen and (max-width: 767px) {
  .main .p-company--recruit__who {
    margin-top: 45px;
  }
  .main .p-company--recruit__who__content {
    margin-top: 35px;
    padding: 22px 0 45px;
  }
  .main .p-company--recruit__who__content__row {
    flex-direction: column;
    gap: 35px;
  }
  .main .p-company--recruit__who__content__head {
    width: 100%;
  }
  .main .p-company--recruit__who__content__body {
    width: 100%;
  }
  .main .p-company--recruit__who__content__title {
    font-size: 20px;
  }
  .main .p-company--recruit__who__content__summary {
    margin-top: 18px;
  }
  .main .p-company--recruit__who__content__link {
    margin-top: 15px;
  }
  .main .p-company--recruit__job .c-img__pictbox__container {
    margin-top: 30px;
    margin-bottom: 55px;
  }
  .main .p-company--recruit__work {
    padding-bottom: 55px;
  }
  .main .p-company--recruit__work__btn {
    margin-top: 40px;
  }
  .main .p-company--recruit__links {
    padding: 55px 0;
  }
  .p-company--recruit #headingarea.-pict.-img .headvisual-visualarea .visual {
    background-image: url(../../images/re/company/recruit/bg_mv_sp.jpg);
  }
}
/* -----------------------------------------------
  p-search
----------------------------------------------- */
.p-search .main {
  margin-top: 104px;
}
.p-search .main .cogmo-main {
  margin-top: 27px;
}
.p-search .main .cgm-search-form-area {
  background-color: transparent;
}
.p-search .main .cgm-gpt-result-area {
  background-color: rgba(55, 53, 130, 0.06);
  border-color: rgba(55, 53, 130, 0.06);
}
.p-search .main .cgm-gpt-result-title {
  color: var(--color-white);
  background-color: var(--color-key-blue);
  border: 0;
}
.p-search .main .cgm-gpt-result-body {
  margin-top: 16px;
  color: var(--color-text-base);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}
.p-search .main .cgm-gpt-copy-button {
  background-color: var(--color-key-blue);
  border: solid 1px var(--color-key-blue);
  cursor: pointer;
}
.p-search .main .cgm-gpt-copy-button span {
  background: url(../../images/re/icon_window.svg) no-repeat center center/12px 15px;
}
.p-search .main .cgm-gpt-caution {
  margin-top: 7px;
  color: var(--color-text-base);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}
.p-search .main .cgm-search-input-wrap {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  border-bottom: solid 1px var(--color-key-blue);
}
.p-search .main .cgm-search-input-area::before {
  display: none;
}
.p-search .main .cgm-search-input-area textarea {
  padding: 15px 40px 19px;
  font-size: 16px;
  font-weight: 400;
  font-feature-settings: "palt";
  line-height: 1.6;
}
.p-search .main .cgm-search-input-area textarea::placeholder {
  color: rgba(96, 95, 130, 0.3);
}
.p-search .main .cgm-search-input-area button {
  display: none;
}
.p-search .main .cgm-search-result-title a {
  overflow-wrap: break-word;
}
.p-search .main .cgm-search-button {
  width: 60px;
  min-height: 60px;
  font-size: 0;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-search .main .cgm-search-button::before {
  position: relative;
  width: 22px;
  height: 22px;
  margin-right: 0;
  background-repeat: no-repeat;
  background-image: url(../../images/re/icon_search.svg);
  background-position: center center;
  background-size: 22px auto;
  content: "";
}
.p-search .main .cgm-search-result-item .cgm-search-result-thumbnail {
  display: none;
}
.p-search .main .cgm-search-result-body {
  background-color: var(--color-white);
}

@media screen and (max-width: 1121px) {
  .p-search #headingarea {
    margin-top: 0;
  }
  .p-search .main {
    margin-top: 70px;
  }
}
@media screen and (max-width: 767px) {
  .p-search .main .cgm-search-form-area {
    position: relative;
    padding: 0;
  }
  .p-search .main .cgm-search-inner {
    padding: 0;
  }
  .p-search .main .cgm-search-input-area {
    width: calc(100% - 42px);
  }
  .p-search .main .cgm-search-input-area textarea {
    height: 60px;
    padding: 11px 60px 14px 20px;
  }
  .p-search .main .cgm-search-button-area {
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 60px;
    margin: 0;
  }
  .p-search .main .cgm-search-button {
    width: 42px;
    min-height: 60px;
    border-radius: 0;
  }
  .p-search .main .cgm-search-button::before {
    width: 15px;
    height: 15px;
    background-size: 15px auto;
  }
}
/* -----------------------------------------------
  u-mask
----------------------------------------------- */
.u-mask {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 104px);
  background-color: rgba(11, 29, 71, 0.3);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  z-index: 20;
}
.u-mask.is-visible {
  opacity: 1;
  visibility: visible;
}

.l-header.sticky + .u-mask {
  height: calc(100% - 67px);
}

@media screen and (max-width: 1121px) {
  .u-mask {
    display: none;
  }
}
/* -----------------------------------------------
  u-marker
----------------------------------------------- */
.u-marker {
  background: linear-gradient(transparent 60%, rgba(96, 95, 130, 0.15) 0%);
}

/* -----------------------------------------------
  u-list
----------------------------------------------- */
.main .u-list > li {
  position: relative;
  margin-bottom: 0;
  padding-left: 27px;
  color: var(--color-key-blue);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.6;
  font-feature-settings: "palt";
}
.main .u-list > li + li {
  margin-top: 5px;
}
.main .u-list > li::before {
  position: absolute;
  top: 7.7px;
  left: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  background-color: var(--color-key-blue);
  background-image: url(../../images/re/icon_check.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 8.5px auto;
  border-radius: 50%;
  content: "";
}

@media screen and (max-width: 767px) {
  .main .u-list > li {
    padding-left: 22px;
    font-size: 16px;
  }
  .main .u-list > li::before {
    top: 4.8px;
    width: 16px;
    height: 16px;
    background-size: 7.5px auto;
  }
}
/* -----------------------------------------------
  u-link
----------------------------------------------- */
.main .u-link {
  color: var(--color-text-base);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: normal;
  line-height: 1.6;
  text-underline-offset: 5px;
}
.main .u-link::after {
  width: 23px;
  height: 6px;
  margin-top: -4px;
  margin-left: 10px;
  background-image: url(../../images/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: 23px auto;
  display: inline-block;
  vertical-align: middle;
  content: "";
}
.main .u-link.-white {
  color: var(--color-white);
}
.main .u-link__full__inner {
  position: relative;
  color: initial;
  text-decoration: none;
  display: block;
}
.main .u-link__full__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
}
.main .u-link__full__bg__col {
  position: relative;
  width: 50%;
}
.main .u-link__full__bg__col::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-black);
  display: block;
  transition: opacity 0.2s linear;
  opacity: 0;
  will-change: opacity;
  content: "";
}
.main .u-link__full__bg__col:nth-child(1) {
  background: linear-gradient(-270deg, #2c2b39 0%, #0e0d1b 155.17%);
  transform: skewX(-19deg);
  transform-origin: bottom left;
  z-index: 1;
}
.main .u-link__full__bg__col:nth-child(2) {
  background-image: url(../../images/re/img_technical.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.main .u-link__full__content {
  position: relative;
  width: 50%;
  min-height: 337px;
  padding: 55px 0 65px;
  z-index: 2;
}
.main .u-link__full__content .u-heading__sub {
  margin-bottom: 7px;
  color: var(--color-white);
}
.main .u-link__full__content .u-heading__sub span {
  background-color: rgba(255, 255, 255, 0.15);
}
.main .u-link__full__content .u-heading__sub span::before {
  background-color: var(--color-white);
}
.main .u-link__full__content .u-link {
  text-decoration: underline;
}
.main .u-link__full__heading {
  margin-bottom: 17px;
  color: var(--color-white);
  font-family: "Noto Sans JP";
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
}
.main .u-link__full__summary {
  margin-bottom: 25px;
  color: var(--color-white);
  font-size: 16px;
  line-height: 1.6;
}
.main .u-link__full__img {
  display: none;
}
.main .u-link__full.-bg-white .u-link__full__bg__col:nth-child(1) {
  background: var(--color-white);
}
.main .u-link__full.-bg-white .u-link__full__content .u-heading__sub {
  color: var(--color-key-blue);
}
.main .u-link__full.-bg-white .u-link__full__content .u-heading__sub span {
  background-color: rgba(96, 95, 130, 0.15);
}
.main .u-link__full.-bg-white .u-link__full__content .u-heading__sub span::before {
  background-color: var(--color-key-blue);
}
.main .u-link__full.-bg-white .u-link__full__heading {
  color: var(--color-text-base);
}
.main .u-link__full.-bg-white .u-link__full__summary {
  color: var(--color-text-base);
}
.main .u-link__full.-recruit .u-link__full__bg__col:nth-child(2) {
  background-image: url(../../images/re/img_recruit.jpg);
}
.main .u-link__img2txt__row {
  display: flex;
  gap: 20px;
}
.main .u-link__img2txt__row .u-link__img2txt__item {
  width: calc(50% - 20px + 10px);
}
.main .u-link__img2txt__row + .-full {
  margin-top: 20px;
}
.main .u-link__img2txt__item {
  width: 100%;
  background-color: var(--color-white);
}
.main .u-link__img2txt__item__inner {
  width: 100%;
  height: 100%;
  color: var(--color-text-base);
  text-decoration: none;
  display: flex;
}
.main .u-link__img2txt__item__row {
  width: 100%;
  display: flex;
  align-items: center;
}
.main .u-link__img2txt__item__head {
  position: relative;
  width: 125px;
  height: 100%;
  overflow: hidden;
}
.main .u-link__img2txt__item__head figure,
.main .u-link__img2txt__item__head picture {
  position: relative;
  height: 100%;
  margin-bottom: 0;
  display: block;
}
.main .u-link__img2txt__item__head figure img,
.main .u-link__img2txt__item__head picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main .u-link__img2txt__item__body {
  width: calc(100% - 125px);
  height: 100%;
  padding: 30px 24px 30px 23px;
  display: flex;
  align-items: center;
}
.main .u-link__img2txt__item__body .u-link {
  font-size: 17px;
  font-weight: 600;
}
.main .u-link__img2txt__item__label {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 13px;
  line-height: 1.6;
}
.main .u-link__img2txt__item__content {
  position: relative;
  width: 50%;
  margin-left: auto;
  padding-top: 52px;
  padding-right: min(97px, 9.3269230769%);
  padding-bottom: 52px;
  padding-left: min(72px, 6.9230769231%);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  z-index: 1;
}
.main .u-link__img2txt__item__content__inner {
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.main .u-link__img2txt__item__content .u-link {
  font-size: 20px;
  font-weight: 600;
}
.main .u-link__img2txt__item__content .u-link__img2txt__item__label {
  font-size: 15px;
}
.main .u-link__img2txt__item.-full .u-link__img2txt__item__inner {
  min-height: 212px;
}
.main .u-link__img2txt__item.-full .u-link__img2txt__item__head {
  width: 49.0384615385%;
}
.main .u-link__img2txt__item.-full .u-link__img2txt__item__body {
  width: 50.9615384615%;
  padding-right: min(97.5px, 9.375%);
  padding-left: min(81.5px, 7.8365384615%);
}
.main .u-link__img2txt__item.-full .u-link__img2txt__item__body .u-link {
  font-size: 20px;
}
.main .u-link__img2txt__item.-full .u-link__img2txt__item__label {
  margin-top: 14px;
  font-size: 15px;
}

@media (any-hover:hover) {
  .main a.u-link::after {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  html:not(.sp) .main a.u-link:hover {
    text-decoration: underline;
  }
  html:not(.sp) .main a.u-link:hover::after {
    transform: translateX(3px);
  }
  html:not(.sp) .main a.u-link:hover.-white {
    color: var(--color-white);
  }
  .main .u-link__full {
    overflow: hidden;
  }
  .main .u-link__full__bg::before {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  .main .u-link__full__bg__col::after {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  .main .u-link__full__bg__col:nth-child(2) {
    transition: transform 0.2s ease-out;
    will-change: transform;
  }
  .main .u-link__full .u-link::after {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  .main .u-link__full__inner:hover .u-link__full__bg::before {
    opacity: 0.5;
  }
  .main .u-link__full__inner:hover .u-link__full__bg__col::after {
    opacity: 0.5;
  }
  .main .u-link__full__inner:hover .u-link__full__bg__col:nth-child(2) {
    transform: scale(1.1, 1.1);
  }
  .main .u-link__full__inner:hover .u-link::after {
    transform: translateX(3px);
  }
  .main .u-link__img2txt__item__head::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-black);
    display: block;
    transition: opacity 0.2s linear;
    opacity: 0;
    will-change: opacity;
    content: "";
  }
  .main .u-link__img2txt__item__head img {
    transition: transform 0.2s ease-out;
    will-change: transform;
  }
  .main .u-link__img2txt__item .u-link::after {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: transform;
  }
  html:not(.sp) .main .u-link__img2txt__item__inner:hover {
    color: var(--color-text-base);
  }
  html:not(.sp) .main .u-link__img2txt__item__inner:hover .u-link__img2txt__item__head::after {
    opacity: 0.5;
  }
  html:not(.sp) .main .u-link__img2txt__item__inner:hover .u-link__img2txt__item__head img {
    transform: scale(1.1, 1.1);
  }
  html:not(.sp) .main .u-link__img2txt__item__inner:hover .u-link::after {
    transform: translateX(5px);
  }
}
@media screen and (max-width: 1260px) {
  .main .u-link__full__bg {
    background-color: #2c2b39;
  }
  .main .u-link__full__bg::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-black);
    display: block;
    transition: opacity 0.2s linear;
    opacity: 0;
    will-change: opacity;
    z-index: 2;
    content: "";
  }
  .main .u-link__full__bg__col::after {
    content: none;
  }
  .main .u-link__full.-bg-white .u-link__full__bg {
    background-color: var(--color-white);
  }
}
@media screen and (max-width: 767px) {
  .main .u-link__full__inner {
    background: linear-gradient(-270deg, #2c2b39 0%, #0e0d1b 180.45%);
  }
  .main .u-link__full .l-wrapper__outer {
    width: 100%;
  }
  .main .u-link__full__bg {
    display: none;
  }
  .main .u-link__full__content {
    width: 100%;
    min-height: auto;
    padding: 45px 22.5px 60px;
  }
  .main .u-link__full__content .u-heading__sub {
    margin-bottom: 12px;
  }
  .main .u-link__full__heading {
    margin-bottom: 15px;
    font-size: 23px;
  }
  .main .u-link__full__summary {
    margin-bottom: 15px;
    font-size: 15px;
  }
  .main .u-link__full__img {
    display: block;
    transform: skewX(-19deg);
    transform-origin: bottom left;
    overflow: hidden;
  }
  .main .u-link__full__img span {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 46.1333333333%;
    background-image: url(../../images/re/img_technical_sp.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transform: skewX(19deg);
    transform-origin: bottom left;
    display: block;
  }
  .main .u-link__full.-recruit .u-link__full__inner {
    background: var(--color-offWhite);
  }
  .main .u-link__full.-recruit .u-link__full__img span {
    background-image: url(../../images/re/img_recruit_sp.jpg);
  }
  .main .u-link__img2txt__row {
    flex-direction: column;
    gap: 25px;
  }
  .main .u-link__img2txt__row .u-link__img2txt__item {
    width: 100%;
  }
  .main .u-link__img2txt__row + .-full {
    margin-top: 25px;
  }
  .main .u-link__img2txt__item__inner {
    min-height: 125px;
  }
  .main .u-link__img2txt__item__head {
    width: 95px;
  }
  .main .u-link__img2txt__item__body {
    width: calc(100% - 95px);
    height: 100%;
    padding: 22px 16px 27px 17px;
  }
  .main .u-link__img2txt__item__body .u-link {
    font-size: 15px;
    font-weight: 6500;
  }
  .main .u-link__img2txt__item__label {
    margin-top: 4px;
    font-size: 10px;
  }
  .main .u-link__img2txt__item__content {
    width: 65.4545454545%;
    padding-top: 22px;
    padding-right: 16px;
    padding-bottom: 26px;
    padding-left: 0;
  }
  .main .u-link__img2txt__item__content .u-link {
    font-size: 15px;
    font-weight: 500;
  }
  .main .u-link__img2txt__item__content .u-link__img2txt__item__label {
    font-size: 10px;
  }
  .main .u-link__img2txt__item.-full .u-link__img2txt__item__inner {
    min-height: 125px;
  }
  .main .u-link__img2txt__item.-full .u-link__img2txt__item__head {
    width: 95px;
  }
  .main .u-link__img2txt__item.-full .u-link__img2txt__item__body {
    width: calc(100% - 95px);
    padding: 22px 16px 27px 17px;
  }
  .main .u-link__img2txt__item.-full .u-link__img2txt__item__body .u-link {
    font-size: 15px;
  }
  .main .u-link__img2txt__item.-full .u-link__img2txt__item__label {
    margin-top: 4px;
    font-size: 10px;
  }
}
/* -----------------------------------------------
  u-btn
----------------------------------------------- */
.main .u-btn__set {
  display: flex;
}
.main .u-btn__set.-col3 {
  gap: 25px;
}
.main .u-btn__set.-col3 .u-bth {
  width: calc(33.3333333333% - 25px + 8.3333333333px);
}
.main .u-btn__set.-wrap {
  flex-wrap: wrap;
}
.main .u-btn {
  position: relative;
  width: 330px;
  min-height: 60px;
  height: 100%;
  padding: 2px 53px 4px 50px;
  color: var(--color-white);
  font-size: 16px;
  font-weight: 500;
  font-feature-settings: "palt";
  line-height: 1.6;
  text-decoration: none;
  background: linear-gradient(90deg, #373582 0%, #23216e 100%);
  display: flex;
  align-items: center;
}
.main .u-btn::after {
  position: absolute;
  right: 20px;
  top: calc(50% - 5px);
  width: 23px;
  height: 6px;
  background-image: url(../../images/common/arrow.svg);
  background-size: 23px auto;
  background-repeat: no-repeat;
  display: block;
  content: "";
}
.main .u-btn.-center {
  margin-inline: auto;
}
.main .u-btn.-white {
  color: var(--color-text-base);
  background: none;
  background-color: var(--color-white);
}
.main .u-btn.-l {
  max-width: 500px;
  width: 100%;
}
.main .u-btn.-dot {
  padding-left: 53px;
  font-size: 18px;
  justify-content: center;
}
.main .u-btn.-dot::before {
  width: 10px;
  height: 10px;
  margin-right: 10px;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  content: "";
}
.main .u-btn.-dot--green::before {
  background-color: #26b80f;
}
.main .u-btn.-dot--red::before {
  background-color: #b80f0f;
}

@media (any-hover:hover) {
  .main .u-btn {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: color;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  }
  .main .u-btn::after {
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: transform;
  }
  html:not(.sp) .main .u-btn:hover {
    color: var(--color-white);
  }
  html:not(.sp) .main .u-btn:hover::after {
    transform: translateX(5px);
  }
  html:not(.sp) .main .u-btn:hover.-white {
    color: var(--color-text-base);
  }
}
@media screen and (max-width: 767px) {
  .main .u-btn__set {
    align-items: center;
    flex-direction: column;
  }
  .main .u-btn__set.-col3 {
    gap: 20px;
  }
  .main .u-btn__set.-col3 .u-bth {
    width: 330px;
  }
  .main .u-btn.-dot {
    font-size: 16px;
  }
  .main .u-btn.-dot::before {
    width: 7px;
    height: 7px;
    margin-right: 7px;
  }
}
/* -----------------------------------------------
  u-heading
----------------------------------------------- */
.main .u-heading__sub {
  margin-bottom: 0;
  color: var(--color-key-blue);
  font-size: 12px;
  line-height: 1.6;
  display: flex;
  align-items: center;
  gap: 8px;
}
.main .u-heading__sub span {
  position: relative;
  width: 15px;
  height: 15px;
  background-color: rgba(96, 95, 130, 0.15);
  border-radius: 50%;
}
.main .u-heading__sub span::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  height: 3px;
  margin: auto;
  background-color: var(--color-key-blue);
  border-radius: 50%;
  content: "";
}
.main .u-heading__sub.-center {
  justify-content: center;
}
.main .u-heading__sub.-white {
  color: var(--color-white);
}
.main .u-heading__sub.-white span {
  background-color: rgba(255, 255, 255, 0.15);
}
.main .u-heading__sub.-white span::before {
  background-color: var(--color-white);
}
.main .u-heading__sub + .u-heading__section {
  margin-top: 7px;
}
.main .u-heading__section {
  font-size: 37px;
  font-weight: 500;
  font-feature-settings: "palt";
  line-height: 1.4;
}
.main .u-heading__section span.-l {
  color: var(--color-key-blue);
  font-size: 60px;
}
.main .u-heading__section span.-support {
  color: var(--color-support);
}
.main .u-heading__section span.-total {
  color: var(--color-total);
}
.main .u-heading__section span.-achieve {
  color: var(--color-achieve);
}
.main .u-heading__section span.-blue {
  color: var(--color-key-blue);
}
.main .u-heading__section.-center {
  text-align: center;
}
.main .u-heading__section + p.-lead {
  margin-top: 17px;
  margin-bottom: 0;
  line-height: 1.6;
  text-align: center;
}
.main .u-heading__section.-s {
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  .main .u-heading__sub + .u-heading__section {
    margin-top: 12px;
  }
  .main .u-heading__section {
    font-size: 26px;
  }
  .main .u-heading__section span.-l {
    font-size: 42px;
  }
  .main .u-heading__section + p.-lead {
    margin-top: 12px;
    font-size: 15px;
  }
  .main .u-heading__section.-s {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
  }
}
/* -----------------------------------------------
  u-tag
----------------------------------------------- */
.main .u-tag {
  min-width: 100px;
  min-height: 25px;
  padding: 2px 4px;
  color: var(--color-white);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: normal;
  line-height: 1.6;
  background-color: #2c2b39;
  border-radius: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .u-basetag {
  min-width: 44px;
  min-height: 20px;
  padding: 0 10px;
  color: var(--color-white);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: normal;
  line-height: 1.6;
  background-color: var(--color-key-blue);
  border-radius: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .main .u-basetag {
    min-width: 32px;
    min-height: 16px;
    padding: 0 7.5px;
    font-size: 10px;
  }
}
/* -----------------------------------------------
  u-pict
----------------------------------------------- */
.main .u-pict {
  position: relative;
  width: 64px;
  height: 64px;
  background-color: var(--color-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main .u-pict::before {
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
}
.main .u-pict.-center {
  margin-inline: auto;
}
.main .u-pict.-time::before {
  position: absolute;
  top: 19px;
  right: 11px;
  width: 33px;
  height: 26px;
  background-image: url(../../images/re/pict_time.svg);
  background-size: 33px auto;
}
.main .u-pict.-notime::before {
  position: absolute;
  top: 17px;
  right: 13px;
  width: 32px;
  height: 29px;
  background-image: url(../../images/re/pict_notime.svg);
  background-size: 32px auto;
}
.main .u-pict.-human::before {
  position: absolute;
  top: 18px;
  right: 15px;
  width: 31px;
  height: 29px;
  background-image: url(../../images/re/pict_human.svg);
  background-size: 31px auto;
}
.main .u-pict.-noengineer::before {
  position: absolute;
  top: 19px;
  right: 11px;
  width: 30px;
  height: 28px;
  background-image: url(../../images/re/pict_noengineer.svg);
  background-size: 30px auto;
}
.main .u-pict.-building::before {
  position: absolute;
  top: 18px;
  right: 14px;
  width: 30px;
  height: 28px;
  background-image: url(../../images/re/pict_structure.svg);
  background-size: 30px auto;
}
.main .u-pict.-light::before {
  width: 24px;
  height: 38px;
  background-image: url(../../images/re/pict_light.svg);
  background-size: 24px auto;
}
.main .u-pict.-global::before {
  width: 35px;
  height: 36px;
  background-image: url(../../images/re/pict_global.svg);
  background-size: 35px auto;
}
.main .u-pict.-graph::before {
  width: 33px;
  height: 30px;
  background-image: url(../../images/re/pict_graph.svg);
  background-size: 33px auto;
}
.main .u-pict.-plan::before {
  width: 24px;
  height: 24px;
  background-image: url(../../images/re/pict_plan.svg);
  background-size: 24px auto;
}

/* -----------------------------------------------
  u-anime
----------------------------------------------- */
.l-wrapper .u-anime__search {
  position: relative;
  width: 258px;
  height: 258px;
}
.l-wrapper .u-anime__bnr {
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-wrapper .u-anime__search {
    width: 100px;
    height: 100px;
  }
}
/* -----------------------------------------------
  u-video
----------------------------------------------- */
.main .u-video {
  position: relative;
  width: 100%;
  padding-top: 56.2222%;
}
.main .u-video__elem {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (any-hover:hover) {
  .main .u-video::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-black);
    display: block;
    opacity: 0;
    will-change: opacity;
    transition-delay: 0s;
    transition-duration: 0.3s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    pointer-events: none;
    z-index: 1;
    content: "";
  }
  .main .u-video:hover::before {
    opacity: 0.5;
  }
}
@media screen and (max-width: 767px) {
  .main .u-video {
    width: calc(100% + 45px);
    margin-left: -22.5px;
  }
  .main .u-video__play {
    width: 55px;
    height: 55px;
    background-size: 55px auto;
  }
}

/*# sourceMappingURL=style.css.map */
