@charset "UTF-8";
html {
  font-size: 0.78125vw;
  scroll-behavior: smooth;
  background-color: #f6f8f9;
}
@media screen and (max-width: 800px) {
  html {
    font-size: 2.6666666667vw;
    scroll-padding: 4rem;
  }
}

body {
  font-size: 1.6rem;
  color: #242422;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  body {
    letter-spacing: 0;
  }
}
body.recruit-site {
  font-family: "Murecho", sans-serif;
  color: #444;
  letter-spacing: 0;
}

img {
  width: 100%;
  height: auto;
}

.fixed-bg {
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
}

.bg-image2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  z-index: -1;
  background-color: #f6f8f9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.bg-image2 img {
  width: 100%;
  height: auto;
}

.bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  z-index: -1;
  overflow-x: hidden;
  background-color: #f6f8f9;
}

.bg-image svg {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  aspect-ratio: 1800/771.3;
  opacity: 0;
}

.bg-image canvas {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  pointer-events: none;
}

#dotCanvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  transform: none;
  pointer-events: none;
  z-index: 10;
  opacity: 0;
}

@media screen and (max-height: 42.85vw) {
  .bg-image svg {
    height: auto;
    width: 100%;
  }
  .bg-image canvas {
    height: auto;
    width: 100%;
  }
}
/* svg */
.bg-svg-1,
.bg-svg-2,
.bg-svg-3,
.bg-svg-4,
.bg-svg-5,
.bg-svg-6,
.bg-svg-7 {
  fill: none;
}

.bg-svg-8 {
  mix-blend-mode: color-burn;
}

.bg-svg-8,
.bg-svg-9 {
  opacity: 0.2;
}

.bg-svg-10 {
  mix-blend-mode: color-dodge;
}

.bg-svg-10,
.bg-svg-11 {
  opacity: 0.19;
}

.bg-svg-12 {
  isolation: isolate;
}

.bg-svg-2 {
  stroke: #32446b;
  stroke-width: 1.03px;
}

.bg-svg-2,
.bg-svg-3,
.bg-svg-4,
.bg-svg-5,
.bg-svg-6,
.bg-svg-7 {
  stroke-miterlimit: 10;
}

.bg-svg-13 {
  opacity: 0.4;
}

.bg-svg-14 {
  opacity: 0.08;
}

.bg-svg-3 {
  stroke: gray;
  stroke-width: 0.69px;
}

.bg-svg-4 {
  stroke: #495363;
  stroke-width: 0.78px;
}

.bg-svg-5 {
  stroke: #b7b9bc;
  stroke-width: 0.55px;
}

.bg-svg-6 {
  stroke: #2c3b4f;
  stroke-width: 0.81px;
}

.bg-svg-7 {
  stroke: #354054;
  stroke-width: 0.7px;
}

.bg-svg-15 {
  clip-path: url(#clippath);
}

.bg-svg-9,
.bg-svg-11 {
  mix-blend-mode: screen;
}

.bg-svg-16 {
  mix-blend-mode: darken;
  opacity: 0;
}

.bg-image svg path {
  transform-origin: center center;
  transform: scale(1, 1);
  /* animation: movePath 30s linear infinite; */
  /* stroke: red; */
  will-change: transform;
}

@keyframes movePath {
  0% {
    transform: scale(1, 1);
  }
  25% {
    transform: scale(1, 1.1);
  }
  50% {
    transform: scale(1, 1);
  }
  75% {
    transform: scale(1, 0.9);
  }
  100% {
    transform: scale(1, 1);
  }
}
#frontLineCanvas {
  opacity: 0.2;
}

.l-header {
  position: fixed;
  width: 100%;
  padding: 0 4rem;
  background-color: rgba(246, 248, 249, 0.64);
  backdrop-filter: blur(8rem);
  left: 0;
  top: 0;
  font-size: 1.4rem;
  z-index: 9999;
}
@media screen and (max-width: 800px) {
  .l-header {
    padding: 0.9rem 1.6rem;
  }
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.l-header__logo {
  width: 13.5rem;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 800px) {
  .l-header__logo {
    width: 11.8rem;
  }
}
.l-header__logo a {
  transition: opacity 0.2s ease;
}
.l-header__logo a:hover {
  opacity: 0.8;
}
.l-header__ham {
  display: none;
}
@media screen and (max-width: 800px) {
  .l-header__ham {
    display: block;
    width: 3.2rem;
    height: 3rem;
    position: relative;
    z-index: 10;
  }
}
.l-header__ham-line {
  position: absolute;
  width: 2.4rem;
  height: 0.2rem;
  border-radius: 0.2rem;
  background-color: #10386f;
  top: 50%;
  right: 0.4rem;
  transition: width 0.2s 0.4s ease, margin-top 0.2s 0.2s ease, transform 0.4s ease;
}
.l-header__ham-line:first-child {
  width: 1.4rem;
  margin-top: -0.6rem;
}
.l-header__ham-line:last-child {
  width: 1.8rem;
  margin-top: 0.6rem;
}
.l-header__ham.is-open .l-header__ham-line {
  transition: width 0.2s ease, margin-top 0.2s 0.2s ease, transform 0.4s 0.4s ease;
}
.l-header__ham.is-open .l-header__ham-line:first-child {
  width: 2.4rem;
  margin-top: 0;
  transform: rotate(45deg);
}
.l-header__ham.is-open .l-header__ham-line:nth-child(2) {
  width: 0rem;
}
.l-header__ham.is-open .l-header__ham-line:last-child {
  width: 2.4rem;
  margin-top: 0;
  transform: rotate(-45deg);
}
@media screen and (max-width: 800px) {
  .l-header__nav {
    position: absolute;
    width: 100%;
    height: 100svh;
    left: 0;
    top: 0;
    z-index: 9;
    overflow-y: scroll;
    padding: 10.4rem 1.6rem 4rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  .l-header__nav::before {
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100lvh;
    background-color: rgba(246, 248, 249, 0.96);
    z-index: -1;
  }
  .l-header__nav.is-open {
    opacity: 1;
    visibility: visible;
  }
}
.l-header__nav .sp-menu {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease;
}

.l-footer {
  margin-top: 16rem;
  background-color: #10386f;
  padding: 1.6rem 0 2.4rem;
  color: #f6f8f9;
}
@media screen and (max-width: 800px) {
  .l-footer {
    margin-top: 9.6rem;
    padding: 0 1.6rem 1.6rem;
  }
}
.l-footer a {
  transition: opacity 0.2s ease;
}
.l-footer a:hover {
  opacity: 0.8;
}
.l-footer__inner {
  position: relative;
  padding-left: 26.8rem;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 3.2rem 0;
}
@media screen and (max-width: 800px) {
  .l-footer__inner {
    padding-left: 0;
    flex-direction: column;
    gap: 4rem;
  }
}
.l-footer__logo {
  width: 15.4rem;
  position: absolute;
  left: 0;
  top: 2.4rem;
}
@media screen and (max-width: 800px) {
  .l-footer__logo {
    width: 12.2rem;
    position: static;
  }
}
@media screen and (min-width: 801px) {
  .l-footer .footer-sublist {
    margin-top: 2.4rem;
  }
}
.l-footer .footer-bnr {
  display: flex;
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .l-footer .footer-bnr {
    justify-content: center;
    gap: 2.4rem;
  }
}
.l-footer .footer-bnr__item {
  width: 22.2rem;
}
@media screen and (max-width: 800px) {
  .l-footer .footer-bnr__item {
    width: 13.9rem;
  }
}
@media screen and (max-width: 800px) {
  .l-footer__sub {
    display: flex;
    justify-content: space-between;
  }
}
.l-footer__copy {
  text-align: center;
  margin-top: 2.4rem;
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .l-footer__copy {
    margin-top: 6.4rem;
  }
}
.l-footer__copy small {
  font-size: 1.2rem;
}
@media screen and (max-width: 800px) {
  .l-footer__copy small {
    font-size: 1rem;
  }
}

.sub-page__main {
  padding-top: 10.4rem;
}
@media screen and (max-width: 800px) {
  .sub-page__main {
    padding-top: 5.6rem;
  }
}
.sub-page__main__inner {
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .sub-page__main__inner {
    padding: 0 1.6rem;
  }
}
.sub-page__main .breadcrumbs-area {
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .sub-page__main .breadcrumbs-area {
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .sub-page__main .title1::before {
    font-size: 3.2rem;
    line-height: 1.2;
    margin-bottom: 0.4rem;
    font-weight: 400;
  }
}
@media screen and (max-width: 800px) {
  .sub-page--product .title1 {
    max-width: 22rem;
  }
}
.sub-page--product .sub-page__title.title4 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .sub-page--product .sub-page__title.title4 {
    margin-bottom: 3.2rem;
  }
}
.sub-page--recruit .sub-page__main {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .sub-page--recruit .sub-page__main {
    margin-bottom: 4.8rem;
  }
}
.sub-page--recruit .breadcrumbs {
  color: #479ac1;
}
.sub-page--recruit .breadcrumbs > span span:first-child {
  display: none;
}
.sub-page--recruit .breadcrumbs > span span:nth-child(2)::before {
  display: none;
}
.sub-page--recruit .recruit-title1::before {
  margin-bottom: 2.4rem;
  font-weight: normal;
}
@media screen and (max-width: 800px) {
  .sub-page--recruit .recruit-title1::before {
    margin-bottom: 0.4rem;
  }
}

.breadcrumbs {
  font-size: 1.4rem;
  color: #10386f;
}
@media screen and (max-width: 800px) {
  .breadcrumbs {
    font-size: 1.3rem;
  }
}
.breadcrumbs > span {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.2rem;
}
@media screen and (max-width: 800px) {
  .breadcrumbs > span {
    gap: 0.4rem 0.8rem;
  }
}
.breadcrumbs > span span:not(:first-child) {
  display: flex;
  gap: 1.2rem;
}
.breadcrumbs > span span:not(:first-child)::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-top: 0.2rem solid #242422;
  border-right: 0.2rem solid #242422;
  transform: rotate(45deg);
  margin-top: 0.8rem;
  flex-shrink: 0;
}
.breadcrumbs a {
  color: #242422;
}

.sub-business-page {
  padding-top: 5.8rem;
}
@media screen and (max-width: 800px) {
  .sub-business-page {
    padding-top: 4.8rem;
  }
}
.sub-business-page .breadcrumbs {
  color: #9aabc2;
  margin-bottom: 10rem;
}
@media screen and (max-width: 800px) {
  .sub-business-page .breadcrumbs {
    margin-bottom: 40rem;
  }
}
.sub-business-page .breadcrumbs > span span:not(:first-child)::before {
  border-top: 0.2rem solid #f6f8f9;
  border-right: 0.2rem solid #f6f8f9;
}
.sub-business-page .breadcrumbs a {
  color: #f6f8f9;
}
.sub-business-page__main {
  min-height: calc(100vh - 6.4rem);
  color: #f6f8f9;
  position: relative;
}
.sub-business-page__main::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(16, 56, 111, 0.32);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .sub-business-page__main::before {
    height: 56rem;
  }
}
.sub-business-page__main::after {
  content: "";
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}
@media screen and (max-width: 800px) {
  .sub-business-page__main::after {
    height: 56rem;
  }
}
.sub-business-page__main .en {
  font-size: 6.4rem;
  color: rgba(246, 248, 249, 0.48);
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  z-index: 2;
}
@media screen and (max-width: 800px) {
  .sub-business-page__main .en {
    font-size: 2.2rem;
    bottom: unset;
    top: 53rem;
    line-height: 1;
  }
}
.sub-business-page__main__inner {
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
  padding: 4rem 0 15rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 800px) {
  .sub-business-page__main__inner {
    padding: 0.8rem 1.6rem 0;
  }
}
.sub-business-page__title1 {
  font-size: 6.4rem;
  font-weight: 500;
  color: #f6f8f9;
  text-shadow: 0.2rem 0.4rem 0.1rem rgba(0, 0, 0, 0.4);
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 1.2;
  letter-spacing: 0.1em;
  position: absolute;
  right: 6rem;
  top: 6.4rem;
  word-break: keep-all;
}
@media screen and (max-width: 800px) {
  .sub-business-page__title1 {
    text-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.4);
    font-size: 4rem;
    right: 1.6rem;
    top: 4rem;
  }
}
.sub-business-page__title2 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.4;
  text-shadow: 0.2rem 0.4rem 0.1rem rgba(0, 0, 0, 0.4);
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 800px) {
  .sub-business-page__title2 {
    text-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.4);
    font-size: 2.4rem;
    line-height: 1.2;
    margin-bottom: 12.8rem;
  }
}
.sub-business-page__text {
  max-width: 56rem;
  min-height: 26rem;
  text-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .sub-business-page__text {
    text-shadow: unset;
    color: #242422;
    letter-spacing: 0;
    min-height: unset;
  }
}

.sub-content {
  display: flex;
}
@media screen and (max-width: 800px) {
  .sub-content {
    display: block;
  }
}
@media screen and (min-width: 801px) {
  .sub-content__side {
    width: 16rem;
    flex-shrink: 0;
    padding-left: 1.2rem;
  }
}
@media screen and (max-width: 800px) {
  .sub-content__side {
    padding-top: 4.8rem;
    position: sticky;
    top: 0;
    z-index: 999;
  }
}
@media screen and (min-width: 801px) {
  .sub-content__side .side-nav {
    padding-top: 16rem;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    z-index: 999;
  }
  .sub-content__side .side-nav__link {
    color: #9aabc2;
    display: flex;
    align-items: center;
    gap: 0.8rem;
  }
  .sub-content__side .side-nav__link::before {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    background-color: #9aabc2;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .sub-content__side .side-nav__item.is-current .side-nav__link {
    color: #242422;
  }
  .sub-content__side .side-nav__item.is-current .side-nav__link::before {
    background-color: #10386f;
  }
}
@media screen and (max-width: 800px) {
  .sub-content__side .side-nav {
    background-color: #10386f;
    display: flex;
    gap: 4rem;
    overflow-x: scroll;
    color: #f6f8f9;
    padding: 1.2rem 2.4rem;
  }
  .sub-content__side .side-nav__item {
    flex-shrink: 0;
  }
}
.sub-content + .inner {
  margin-top: 16rem;
}
@media screen and (max-width: 800px) {
  .sub-content + .inner {
    margin-top: 8rem;
  }
}

.l-recruit-header {
  position: fixed;
  width: 100%;
  padding: 0 4rem;
  background-color: rgba(246, 248, 249, 0.64);
  backdrop-filter: blur(8rem);
  left: 0;
  top: 0;
  font-size: 1.4rem;
  z-index: 9999;
  color: #3e3e3e;
}
@media screen and (max-width: 800px) {
  .l-recruit-header {
    padding: 0.9rem 1.6rem;
  }
}
.l-recruit-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.l-recruit-header__logo {
  width: 24.6rem;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 800px) {
  .l-recruit-header__logo {
    width: 18.5rem;
  }
}
.l-recruit-header__logo a {
  transition: opacity 0.2s ease;
}
@media screen and (min-width: 801px) {
  .l-recruit-header__logo a:hover {
    opacity: 0.8;
  }
}
.l-recruit-header__ham {
  display: none;
}
@media screen and (max-width: 800px) {
  .l-recruit-header__ham {
    display: block;
    width: 3.2rem;
    height: 3rem;
    position: relative;
    z-index: 10;
  }
}
.l-recruit-header__ham-line {
  position: absolute;
  width: 2.4rem;
  height: 0.2rem;
  border-radius: 0.2rem;
  background-color: #10386f;
  top: 20%;
  left: 0.4rem;
  transition: width 0.2s 0.4s ease, margin-top 0.2s 0.2s ease, transform 0.4s ease;
}
.l-recruit-header__ham-line:nth-child(2) {
  width: 1.8rem;
  margin-top: 0.6rem;
}
.l-recruit-header__ham-text {
  display: block;
  width: 100%;
  height: 1em;
  line-height: 1;
  font-size: 1rem;
  position: absolute;
  text-align: center;
  bottom: 10%;
  left: 0;
  color: #10386f;
  overflow: hidden;
}
.l-recruit-header__ham-text__menu, .l-recruit-header__ham-text__close {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.l-recruit-header__ham-text__menu {
  transition: transform 0.4s 0.4s ease;
}
.l-recruit-header__ham-text__close {
  transform: translateY(100%);
  transition: transform 0.4s ease;
}
.l-recruit-header__ham.is-open .l-recruit-header__ham-line {
  transition: width 0.2s ease, margin-top 0.2s 0.2s ease, transform 0.4s 0.4s ease;
}
.l-recruit-header__ham.is-open .l-recruit-header__ham-line:first-child {
  width: 2.4rem;
  margin-top: 0.3rem;
  transform: rotate(25deg);
}
.l-recruit-header__ham.is-open .l-recruit-header__ham-line:nth-child(2) {
  width: 2.4rem;
  margin-top: 0.3rem;
  transform: rotate(-25deg);
}
.l-recruit-header__ham.is-open .l-recruit-header__ham-text__menu {
  transform: translateY(100%);
  transition: transform 0.4s ease;
}
.l-recruit-header__ham.is-open .l-recruit-header__ham-text__close {
  transform: translateY(0);
  transition: transform 0.4s 0.4s ease;
}
@media screen and (max-width: 800px) {
  .l-recruit-header__nav {
    position: absolute;
    width: 100%;
    height: 100svh;
    left: 0;
    top: 0;
    z-index: 9;
    overflow-y: scroll;
    padding: 10.4rem 1.6rem 4rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  .l-recruit-header__nav::before {
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100lvh;
    background-color: rgba(246, 248, 249, 0.96);
    z-index: -1;
  }
  .l-recruit-header__nav.is-open {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 801px) {
  .l-recruit-header__nav .sp-menu {
    position: absolute;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  .l-recruit-header__nav .sp-menu .sub-list {
    padding: 0;
    gap: 0;
  }
  .l-recruit-header__nav .sp-menu .sub-list__item {
    margin-top: 0.1rem;
  }
  .l-recruit-header__nav .sp-menu .sub-list__link {
    background-color: rgba(246, 248, 249, 0.8);
    text-align: center;
    font-weight: 500;
    padding: 1.2rem;
    transition: background-color 0.2s ease, color 0.2s ease;
  }
}
@media screen and (max-width: 800px) {
  .l-recruit-header__nav .sp-menu {
    height: 0;
    overflow: hidden;
    transition: height 0.4s ease;
  }
  .l-recruit-header__nav .sp-menu .sub-list {
    padding: 1.6rem 0 0;
  }
  .l-recruit-header__nav .sp-menu .sub-list__link {
    padding: 0.4rem 1.4rem;
  }
}
.l-recruit-header .nav-list a {
  color: #3e3e3e;
}
@media screen and (min-width: 801px) {
  .l-recruit-header .nav-list a:hover {
    background-color: #479ac1;
    color: #f6f8f9;
  }
}
.l-recruit-header .nav-list__item--btn {
  position: relative;
}
.l-recruit-header .nav-list__item--btn::after {
  content: "";
  width: 0.1rem;
  min-width: 1px;
  height: 0rem;
  background-color: #479ac1;
  transition: height 0.4s ease;
  position: absolute;
  left: 50%;
  top: 4.8rem;
}
@media screen and (min-width: 801px) {
  .l-recruit-header .nav-list__item--btn:hover::after {
    height: 1.2rem;
  }
  .l-recruit-header .nav-list__item--btn:hover .sp-menu {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (max-width: 800px) {
  .l-recruit-header .nav-list__item .nav-list__link-text {
    display: block;
    font-size: 1.2rem;
  }
  .l-recruit-header .nav-list__item .nav-list__link-text::before {
    content: attr(data-en);
    background: #479ac1;
    background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 2rem;
    margin-right: 1.6rem;
    line-height: 1.4;
    font-family: "Poppins", sans-serif;
  }
}
.l-recruit-header .nav-list__btn {
  font-weight: 500;
  font-size: 1.4rem;
  padding: 2rem 2.4rem;
  line-height: 1.4;
  position: relative;
  cursor: default;
}
@media screen and (max-width: 800px) {
  .l-recruit-header .nav-list__btn {
    padding: 0.8rem 0;
  }
}
.l-recruit-header .nav-list__entry {
  padding-left: 1.6rem;
}
@media screen and (max-width: 800px) {
  .l-recruit-header .nav-list__entry {
    padding-left: 0;
  }
}
.l-recruit-header .nav-list__entry .btn-recruit1 {
  width: 12.9rem;
  height: 3.9rem;
  font-size: 1.4rem;
}
@media screen and (max-width: 800px) {
  .l-recruit-header .nav-list__entry .btn-recruit1 {
    margin: 0 auto;
  }
}
@media screen and (max-width: 800px) {
  .l-recruit-header .nav-list__item:not(:has(.nav-list__btn))::after {
    background: #479ac1;
    background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  }
}
@media screen and (max-width: 800px) {
  .l-recruit-header .nav-list__link {
    padding: 0.8rem 0;
  }
  .l-recruit-header .nav-list__btn__item::before,
  .l-recruit-header .nav-list__btn__item::after {
    background: #479ac1;
    background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  }
  .l-recruit-header .nav-list__link[target=_blank]::after {
    background-image: url("../img/recruit/common/icon_blank-gradation.svg");
  }
}

.l-recruit-footer {
  margin-top: 16rem;
  background-color: #fff;
  padding-top: 4rem;
  box-shadow: inset 0.1rem 0.2rem 0.1rem 0 rgba(119, 119, 119, 0.16);
}
@media screen and (max-width: 800px) {
  .l-recruit-footer {
    margin-top: 9.6rem;
    font-size: 1.4rem;
    padding-top: 2.4rem;
  }
}
.l-recruit-footer a {
  transition: opacity 0.2s ease;
}
.l-recruit-footer a:hover {
  opacity: 0.8;
}
.l-recruit-footer__inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .l-recruit-footer__inner {
    flex-direction: column;
    gap: 4rem;
    align-items: center;
  }
}
.l-recruit-footer__logo {
  width: 30.8rem;
}
@media screen and (max-width: 800px) {
  .l-recruit-footer__logo {
    width: 24.6rem;
  }
}
.l-recruit-footer__nav {
  display: flex;
  gap: 6.4rem;
}
@media screen and (max-width: 800px) {
  .l-recruit-footer__nav {
    width: 100%;
    flex-direction: column;
    gap: 4rem;
  }
}
.l-recruit-footer__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 2.4rem 6.4rem;
  height: 14rem;
  line-height: 1.6;
  font-weight: 500;
  min-width: 43rem;
}
@media screen and (max-width: 800px) {
  .l-recruit-footer__list {
    gap: 3.2rem 4rem;
    height: calc(22rem + 3px);
    min-width: auto;
  }
}
.l-recruit-footer__list a {
  transition: color 0.2s ease;
}
.l-recruit-footer__list a:hover {
  color: #479ac1;
  opacity: 1;
}
.l-recruit-footer__list__link {
  color: #3e3e3e;
}
@media screen and (max-width: 800px) {
  .l-recruit-footer__list__link {
    border-bottom: 1px solid #3e3e3e;
    display: block;
    padding-bottom: 0.8rem;
  }
}
@media screen and (min-width: 801px) {
  .l-recruit-footer__list__link:hover {
    color: #479ac1;
  }
}
.l-recruit-footer__list__link[target=_blank] {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.l-recruit-footer__list__link[target=_blank] svg {
  width: 1.2rem;
  height: 1.3rem;
  flex-shrink: 0;
}
.l-recruit-footer__list__link[target=_blank] svg .rect {
  transition: fill 0.2s ease, stroke 0.2s ease;
}
.l-recruit-footer__list__link[target=_blank]:hover svg .rect1 {
  fill: #479ac1;
  stroke: #479ac1;
}
.l-recruit-footer__list__link[target=_blank]:hover svg .rect2 {
  stroke: #479ac1;
}
@media screen and (max-width: 800px) {
  .l-recruit-footer__list__text {
    border-bottom: 1px solid #3e3e3e;
    display: block;
    padding-bottom: 0.8rem;
  }
}
.l-recruit-footer__sublist {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 1.6rem;
}
@media screen and (min-width: 801px) {
  .l-recruit-footer__sublist {
    padding-left: 1.6rem;
  }
}
.l-recruit-footer__sublist__link {
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media screen and (min-width: 801px) {
  .l-recruit-footer__sublist__link::before {
    content: "";
    width: 0.8rem;
    height: 0.1rem;
    min-height: 1px;
    background-color: #3e3e3e;
    transition: background-color 0.2s ease;
  }
}
.l-recruit-footer__sublist__link:hover {
  color: #479ac1;
}
.l-recruit-footer__sublist__link:hover::before {
  background-color: #479ac1;
}
.l-recruit-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .l-recruit-footer__contact {
    flex-direction: row;
    justify-content: center;
    gap: 2.4rem;
  }
  .l-recruit-footer__contact .btn-recruit1 {
    font-size: 1.4rem;
    width: 13.6rem;
    height: 3.6rem;
  }
}
.l-recruit-footer__copy {
  text-align: center;
  margin-top: 8rem;
  line-height: 1.4;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  padding: 0.8rem;
}
@media screen and (max-width: 800px) {
  .l-recruit-footer__copy {
    margin-top: 6.4rem;
    padding: 0.4rem;
  }
}
.l-recruit-footer__copy small {
  font-size: 1.2rem;
  font-weight: 500;
  color: #f6f8f9;
}
@media screen and (max-width: 800px) {
  .l-recruit-footer__copy small {
    font-size: 1rem;
  }
}

.l-recruit-main {
  position: relative;
}
.l-recruit-main .recruit-bg {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
.l-recruit-main .recruit-bg__img {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 100lvh;
  background: url("../img/recruit/common/bg.png") no-repeat center center/cover;
  z-index: -1;
}

.title1 {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .title1 {
    font-size: 1.4rem;
  }
}
.title1__text {
  font-size: 1.6rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  line-height: 1.2;
}
.title1::before {
  content: attr(data-en);
  display: block;
  width: fit-content;
  font-size: 4.8rem;
  font-weight: bold;
  font-family: "Libre Baskerville", serif;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 800px) {
  .title1::before {
    font-size: 2.8rem;
    margin-bottom: 0;
  }
}
.title1--center .title1__text {
  justify-content: center;
}
.title1--center::before {
  margin-left: auto;
  margin-right: auto;
}
.title1--white {
  color: #f6f8f9;
}
.title1--white::before {
  color: #f6f8f9;
  background: unset;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
}
.title1--white .title1__text::before {
  background: #f6f8f9;
}

.title2 {
  font-size: 3.2rem;
  line-height: 2.25;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .title2 {
    font-size: 2.4rem;
    line-height: 1.4;
  }
}
.title2--white {
  color: #f6f8f9;
}

.title3 {
  font-size: 2.4rem;
  color: #10386f;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .title3 {
    font-size: 2rem;
    line-height: 1.4;
  }
}

.title4 {
  font-size: 3.2rem;
  text-align: center;
  color: #10386f;
  font-weight: 500;
  line-height: 1.4;
}
.title4::after {
  content: attr(data-en);
  font-family: "Libre Baskerville", serif;
  font-weight: bold;
  display: block;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.24;
  font-size: 2.4rem;
}
@media screen and (max-width: 800px) {
  .title4::after {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 800px) {
  .title4 {
    font-size: 2.4rem;
  }
}

.title5 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-weight: 500;
  font-size: 2.4rem;
}
@media screen and (max-width: 800px) {
  .title5 {
    flex-direction: column;
    font-size: 0.8rem;
    font-size: 1.8rem;
  }
}
.title5::before {
  content: "";
  width: 2.4rem;
  height: 2.1rem;
  background: url(../img/common/icon_title.svg) no-repeat center center/100%;
}
@media screen and (max-width: 800px) {
  .title5::before {
    width: 1.8rem;
    height: 1.6rem;
  }
}

.title6 {
  width: fit-content;
  font-size: 2rem;
  font-weight: 500;
  color: #10386f;
  padding: 0 4.8rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .title6 {
    font-size: 1.8rem;
    padding: 0;
  }
}
@media screen and (min-width: 801px) {
  .title6::before, .title6::after {
    content: "";
    width: 3.2rem;
    height: 1px;
    background-color: #10386f;
    position: absolute;
    top: 50%;
  }
  .title6::before {
    left: 0;
  }
  .title6::after {
    right: 0;
  }
}
.title6--center {
  margin-left: auto;
  margin-right: auto;
}

.recruit-title1 {
  color: #3e3e3e;
}
.recruit-title1::before {
  content: attr(data-en);
  font-size: 6.4rem;
  font-weight: 600;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: fit-content;
  display: block;
  line-height: 1;
  font-family: "Poppins", sans-serif;
  padding-bottom: 0.8rem;
}
@media screen and (max-width: 800px) {
  .recruit-title1::before {
    font-size: 3.2rem;
  }
}
.recruit-title1__text {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .recruit-title1__text {
    font-size: 1.6rem;
  }
}
.recruit-title1--center {
  text-align: center;
}
.recruit-title1--center::before {
  margin-left: auto;
  margin-right: auto;
}
.recruit-title1--right {
  text-align: right;
}
.recruit-title1--right::before {
  margin-left: auto;
  margin-right: 0;
}
.recruit-title1--white {
  color: #f6f8f9;
  text-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.24);
}
.recruit-title1--white::before {
  color: #f6f8f9;
  background: unset;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
}

.recruit-title2 {
  font-size: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
}
@media screen and (max-width: 800px) {
  .recruit-title2 {
    font-size: 2rem;
    gap: 0.8rem;
  }
}
.recruit-title2::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 0.4rem;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  transform: rotate(-45deg);
  margin-top: 0.2rem;
}
@media screen and (max-width: 800px) {
  .recruit-title2::before {
    width: 1.2rem;
    height: 1.2rem;
  }
}

.btn-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #10386f;
  width: 4.8rem;
  height: 4.8rem;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .btn-arrow {
    width: 3.6rem;
    height: 3.6rem;
  }
}
.btn-arrow img {
  width: 2.4rem;
  height: 2.4rem;
}
@media screen and (max-width: 800px) {
  .btn-arrow img {
    width: 1.8rem;
    height: 1.8rem;
  }
}

@media screen and (min-width: 801px) {
  a:hover .btn-arrow img {
    animation: arrowUp 0.4s ease forwards;
  }
}

@keyframes arrowUp {
  0% {
    transform: translate(0, 0);
  }
  49% {
    transform: translate(100%, -100%);
  }
  50% {
    transform: translate(-100%, 100%);
  }
  100% {
    transform: translate(0, 0);
  }
}
.btn1 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24rem;
  height: 4.7rem;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  border-radius: 0.2rem;
  color: #f6f8f9;
  box-shadow: 0.1rem 0.2rem 0.2rem rgba(0, 0, 0, 0.24);
  position: relative;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .btn1 {
    height: 4rem;
  }
}
.btn1::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.2rem solid #f6f8f9;
  border-right: 0.2rem solid #f6f8f9;
  position: absolute;
  right: 1.6rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.2s ease;
}
@media screen and (min-width: 801px) {
  .btn1:hover {
    background: #10386f;
    background: linear-gradient(90deg, rgb(40, 76, 141) 0%, rgb(23, 126, 153) 50%, rgb(16, 56, 111) 100%);
  }
}
.btn1--white {
  background: transparent;
  color: #f6f8f9;
  border: 0.1rem solid #f6f8f9;
  box-shadow: none;
  transition: background-color 0.2s ease;
}
@media screen and (min-width: 801px) {
  .btn1--white:hover {
    background: #f6f8f9;
  }
  .btn1--white:hover p {
    background: #10386f;
    background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .btn1--white:hover::after {
    border-color: #10386f;
  }
}
.btn1--back::after {
  border-top: unset;
  border-right: unset;
  border-bottom: 0.2rem solid #f6f8f9;
  border-left: 0.2rem solid #f6f8f9;
  right: unset;
  left: 1.6rem;
}

.btn-input {
  position: relative;
  width: fit-content;
}
.btn-input .wpcf7-spinner {
  display: none;
}
.btn-input__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24rem;
  height: 4.7rem;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  border-radius: 0.2rem;
  color: #f6f8f9;
  box-shadow: 0.1rem 0.2rem 0.2rem rgba(0, 0, 0, 0.24);
  position: relative;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .btn-input__btn {
    height: 4rem;
  }
}
.btn-input::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.2rem solid #f6f8f9;
  border-right: 0.2rem solid #f6f8f9;
  position: absolute;
  right: 1.6rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.2s ease;
}
@media screen and (min-width: 801px) {
  .btn-input:hover {
    background: #10386f;
    background: linear-gradient(90deg, rgb(40, 76, 141) 0%, rgb(23, 126, 153) 50%, rgb(16, 56, 111) 100%);
  }
}
.btn-input--white {
  background: transparent;
  color: #f6f8f9;
  border: 0.1rem solid #f6f8f9;
  box-shadow: none;
  transition: background-color 0.2s ease;
}
@media screen and (min-width: 801px) {
  .btn-input--white:hover {
    background: #f6f8f9;
  }
  .btn-input--white:hover p {
    background: #10386f;
    background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .btn-input--white:hover::after {
    border-color: #10386f;
  }
}
.btn-input--back::after {
  border-top: unset;
  border-right: unset;
  border-bottom: 0.2rem solid #f6f8f9;
  border-left: 0.2rem solid #f6f8f9;
  right: unset;
  left: 1.6rem;
}

.btn2 {
  display: block;
  border-radius: 0.2rem;
  overflow: hidden;
  box-shadow: 0.1rem 0.2rem 0.2rem rgba(0, 0, 0, 0.24);
  position: relative;
}
@media screen and (max-width: 800px) {
  .btn2 {
    border-radius: 0.4rem;
  }
}
.btn2__img img {
  transform: scale(1.01);
  transition: transform 0.4s ease;
}
.btn2__text {
  position: absolute;
  width: 100%;
  height: 110%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f6f8f9;
  padding: 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  z-index: 1;
  left: 0;
  top: 0;
  padding-bottom: 10%;
  text-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.4);
  transform: translateY(100%);
}
.btn2__text::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  opacity: 0.8;
}
.btn2__text::after {
  content: "";
  width: 4rem;
  height: 4rem;
  background-image: url("../img/common/icon_blank-white.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2rem;
  background-color: #10386f;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@media screen and (min-width: 801px) {
  .btn2:hover .btn2__img img {
    transform: scale(1.1);
  }
  .btn2:hover .btn2__text {
    animation: bound 0.2s linear forwards;
  }
}

@keyframes bound {
  0% {
    transform: translateY(100%);
  }
  85% {
    transform: translateY(-3%);
  }
  100% {
    transform: translateY(0);
  }
}
.btn-insta {
  display: flex;
  align-items: center;
  width: fit-content;
  gap: 0.8rem;
  padding: 0.8rem 1.6rem;
  border-radius: 0.2rem;
  box-shadow: inset 0.1rem 0.1rem 0.2rem rgba(119, 119, 119, 0.24);
  background-color: #fff;
  font-weight: normal;
}
@media screen and (max-width: 800px) {
  .btn-insta {
    padding: 0.4rem 1.6rem;
  }
}
.btn-insta img {
  width: 2.4rem;
}
@media screen and (max-width: 800px) {
  .btn-insta img {
    width: 1.8rem;
  }
}

.btn3 {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #10386f;
  color: #f6f8f9;
  width: 13.8rem;
  height: 3.9rem;
  gap: 0.8rem;
  border-radius: 0.2rem;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 800px) {
  .btn3 {
    width: 13.3rem;
    height: 3.1rem;
  }
}
.btn3__text {
  font-size: 1.6rem;
  font-weight: 500;
}
.btn3__icon img {
  display: block;
}
.btn3--pdf .btn3__icon {
  width: 2rem;
}
.btn3--login .btn3__icon {
  width: 1.7rem;
}
@media screen and (min-width: 801px) {
  .btn3:hover {
    opacity: 0.7;
  }
}

.btn4 {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f6f8f9 !important;
  border-radius: 0.2rem;
  font-size: 1.6rem;
  font-weight: 500;
  width: 16rem;
  height: 3.9rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-color: #f19fc4;
  margin-top: 2.4rem;
  transition: opacity 0.2s ease;
}
.btn4--green {
  background-color: #89c360;
}
@media screen and (max-width: 800px) {
  .btn4 {
    margin-top: 1.6rem;
  }
}
.btn4__icon {
  width: 1.2rem;
  position: absolute;
  right: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
}
.btn4__icon img {
  display: block;
}
@media screen and (min-width: 801px) {
  .btn4:hover {
    opacity: 0.7;
  }
}

.btn-recruit {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 800px) {
  .btn-recruit {
    flex-direction: column;
    gap: 3.2rem;
    padding: 7rem 3rem;
  }
}
.btn-recruit .title1 {
  text-shadow: 0.1rem 0.1rem 0.2rem rgba(0, 0, 0, 0.32);
}
.btn-recruit__title {
  font-size: 4rem;
  font-weight: bold;
  color: #f6f8f9;
  text-shadow: 0.1rem 0.1rem 0.2rem rgba(0, 0, 0, 0.32);
}
.btn-recruit .btn-arrow {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.btn-recruit::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  opacity: 0.56;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 800px) {
  .btn-recruit::before {
    display: none;
  }
}
@media screen and (min-width: 801px) {
  .btn-recruit:hover::before {
    opacity: 0.1;
  }
}

.btn-fcontact {
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  width: 22.8rem;
  height: 5.6rem;
  border-radius: 0.2rem;
  color: #f6f8f9;
  font-size: 2rem;
  font-weight: bold;
  box-shadow: 0.1rem 0.2rem 0.2rem 0 rgba(0, 0, 0, 0.24);
}
@media screen and (max-width: 800px) {
  .btn-fcontact {
    font-size: 1.6rem;
    width: 18.8rem;
    height: 4rem;
  }
}
.btn-fcontact img {
  width: 2.4rem;
  flex-shrink: 0;
}
@media screen and (min-width: 801px) {
  .btn-fcontact:hover {
    background: #10386f;
    background: linear-gradient(90deg, rgb(40, 76, 141) 0%, rgb(23, 126, 153) 50%, rgb(16, 56, 111) 100%);
    opacity: 1 !important;
  }
}

.btn-finstagram {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  width: fit-content;
  height: 2.8rem;
  border-radius: 0.2rem;
  border: 0.1rem solid #f6f8f9;
  padding: 0 0.8rem;
  background-color: transparent;
  transition: background-color 0.2s ease !important;
}
@media screen and (max-width: 800px) {
  .btn-finstagram {
    font-size: 1.2rem;
  }
}
.btn-finstagram img {
  display: block;
  width: 1.6rem;
}
@media screen and (min-width: 801px) {
  .btn-finstagram:hover {
    opacity: 1 !important;
    background-color: rgba(246, 248, 249, 0.2);
  }
}

.btn-cv {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28.8rem;
  height: 6.4rem;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  border-radius: 0.2rem;
  color: #f6f8f9;
  box-shadow: 0.1rem 0.2rem 0.2rem rgba(0, 0, 0, 0.24);
  position: relative;
}
.btn-cv p {
  transition: font-size 0.2s ease;
  font-size: 1.6rem !important;
}
@media screen and (max-width: 800px) {
  .btn-cv {
    height: 4rem;
  }
}
@media screen and (min-width: 801px) {
  .btn-cv:hover {
    background: #10386f;
    background: linear-gradient(90deg, rgb(40, 76, 141) 0%, rgb(23, 126, 153) 50%, rgb(16, 56, 111) 100%);
  }
  .btn-cv:hover p {
    font-size: 1.8rem !important;
  }
}

.btn-recruit1 {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f6f8f9 !important;
  border-radius: 0.2rem;
  font-size: 1.6rem;
  font-weight: 500;
  width: 16rem;
  height: 4.3rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .btn-recruit1 {
    height: 3.9rem;
  }
}
.btn-recruit1::before, .btn-recruit1::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  transition: opacity 0.4s ease;
}
.btn-recruit1::before {
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  z-index: -2;
}
.btn-recruit1::after {
  background: #479ac1;
  background: linear-gradient(70deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 24%, rgb(16, 56, 111) 88%);
  opacity: 0;
  z-index: -1;
}
@media screen and (min-width: 801px) {
  .btn-recruit1:hover::after {
    opacity: 1;
  }
}
.btn-recruit1 .btn-recruit-arrow {
  display: block;
  width: 1.5rem;
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 800px) {
  .btn-recruit1 .btn-recruit-arrow {
    right: 0.8rem;
  }
}
.btn-recruit1 .btn-recruit-arrow img {
  display: block;
}
.btn-recruit1--blue {
  background: #10386f;
  transition: opacity 0.2s ease;
}
.btn-recruit1--blue::before, .btn-recruit1--blue::after {
  display: none;
}
@media screen and (max-width: 800px) {
  .btn-recruit1--blue:hover {
    opacity: 0.7;
  }
}
.btn-recruit1--white {
  border: 1px solid #f6f8f9;
}
.btn-recruit1--white::before, .btn-recruit1--white::after {
  display: none;
}
.btn-recruit1--back {
  width: 26.4rem;
}
.btn-recruit1--back .btn-recruit-arrow {
  right: unset;
  left: 2.4rem;
}

.btn-input-recruit {
  position: relative;
  display: block;
  width: fit-content;
  border-radius: 0.2rem;
  overflow: hidden;
  margin: 3.2rem auto 0;
}
.btn-input-recruit .wpcf7-spinner {
  display: none;
}
.btn-input-recruit__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f6f8f9 !important;
  font-size: 1.6rem;
  font-weight: 500;
  width: 24rem;
  height: 4.3rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .btn-input-recruit__btn {
    height: 3.9rem;
  }
}
.btn-input-recruit::before, .btn-input-recruit::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  transition: opacity 0.4s ease;
}
.btn-input-recruit::before {
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  z-index: -2;
}
.btn-input-recruit::after {
  background: #479ac1;
  background: linear-gradient(70deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 24%, rgb(16, 56, 111) 88%);
  opacity: 0;
  z-index: -1;
}
@media screen and (min-width: 801px) {
  .btn-input-recruit:hover::after {
    opacity: 1;
  }
}
.btn-input-recruit .btn-recruit-arrow {
  display: block;
  width: 1.5rem;
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 800px) {
  .btn-input-recruit .btn-recruit-arrow {
    right: 0.8rem;
  }
}
.btn-input-recruit .btn-recruit-arrow img {
  display: block;
}
.btn-input-recruit--blue {
  background: #10386f;
  transition: opacity 0.2s ease;
}
.btn-input-recruit--blue::before, .btn-input-recruit--blue::after {
  display: none;
}
@media screen and (max-width: 800px) {
  .btn-input-recruit--blue:hover {
    opacity: 0.7;
  }
}
.btn-input-recruit--white {
  border: 1px solid #f6f8f9;
}
.btn-input-recruit--white::before, .btn-input-recruit--white::after {
  display: none;
}
.btn-input-recruit--back .btn-input-recruit {
  width: 26.4rem;
}
.btn-input-recruit--back .btn-recruit-arrow {
  right: unset;
  left: 2.4rem;
}

.btn-recruit2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32rem;
  height: 6.7rem;
  box-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.24);
  border-radius: 0.2rem;
  background-color: #f6f8f9;
  font-size: 2.4rem;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 800px) {
  .btn-recruit2 {
    width: 24rem;
    height: 4.8rem;
    font-size: 2rem;
  }
}
.btn-recruit2__text {
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: transform 0.2s ease;
}
.btn-recruit2 .btn-recruit-arrow {
  display: flex;
  align-items: center;
  position: absolute;
  right: 2.2rem;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 800px) {
  .btn-recruit2 .btn-recruit-arrow {
    right: 1.6rem;
  }
}
.btn-recruit2 .btn-recruit-arrow img {
  width: 1.6rem;
  transition: transform 0.2s ease;
}
@media screen and (min-width: 801px) {
  .btn-recruit2:hover .btn-recruit2__text {
    transform: scale(1.1);
  }
  .btn-recruit2:hover .btn-recruit-arrow img {
    transform: scale(1.1);
    transform: translateX(0.5rem);
  }
}

.btn-search {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12rem;
  height: 4rem;
  border-radius: 0.2rem;
  background-color: #10386f;
  color: #f6f8f9;
  font-size: 1.8rem;
  font-weight: 500;
  transition: opacity 0.2s ease;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .btn-search {
    width: 9.6rem;
    height: 3.2rem;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 801px) {
  .btn-search:hover {
    opacity: 0.7;
  }
}

.btn-product {
  display: block;
  border-radius: 0.2rem;
  overflow: hidden;
  box-shadow: 0.1rem 0.2rem 0.2rem rgba(0, 0, 0, 0.24);
  height: 100%;
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 800px) {
  .btn-product {
    border-radius: 0.4rem;
  }
}
.btn-product__img {
  overflow: hidden;
  position: relative;
}
.btn-product__img img {
  transform: scale(1.01);
  transition: transform 0.4s ease;
}
.btn-product__label {
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #10386f;
  color: #f6f8f9;
  font-size: 1.4rem;
  padding: 0.1rem 0.8rem;
}
.btn-product__text {
  padding: 1.2rem 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.btn-product__title {
  font-size: 1.8rem;
  font-weight: 500;
  color: #10386f;
}
.btn-product__overlay {
  position: absolute;
  width: 100%;
  height: 110%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f6f8f9;
  padding: 1.6rem;
  font-size: 2rem;
  font-weight: 500;
  z-index: 1;
  left: 0;
  top: 0;
  padding-bottom: 10%;
  text-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.4);
  transform: translateY(100%);
}
.btn-product__overlay::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  opacity: 0.8;
}
.btn-product__overlay::after {
  content: "";
  width: 4rem;
  height: 4rem;
  background-image: url("../img/common/icon_blank-white.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2rem;
  background-color: #10386f;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@media screen and (min-width: 801px) {
  .btn-product:hover .btn-product__img img {
    transform: scale(1.1);
  }
  .btn-product:hover .btn-product__overlay {
    animation: bound 0.2s linear forwards;
  }
}

.btn-tel {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.2rem;
  background-color: #10386f;
  color: #f6f8f9;
  max-width: 36.6rem;
  height: 7.8rem;
  font-weight: 500;
}
@media screen and (min-width: 801px) {
  .btn-tel {
    pointer-events: none;
  }
}
@media screen and (max-width: 800px) {
  .btn-tel {
    height: 6.5rem;
    padding-left: 0.5rem;
  }
}
.btn-tel__icon {
  width: 3.2rem;
  margin-right: 0.8rem;
}
@media screen and (max-width: 800px) {
  .btn-tel__icon {
    width: 2.8rem;
  }
}
.btn-tel__icon img {
  display: block;
}
.btn-tel__num {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .btn-tel__num {
    font-size: 2.8rem;
  }
}
.btn-tel__text {
  margin-top: 1rem;
}

.btn-pdf {
  display: flex;
  align-items: center;
  width: fit-content;
  gap: 0.8rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid #10386f;
  transition: opacity 0.2s ease;
}
.btn-pdf__icon {
  display: block;
  width: 1.8rem;
}
.btn-pdf__icon img {
  display: block;
}
.btn-pdf:hover {
  opacity: 0.7;
}
@media screen and (max-width: 800px) {
  .btn-pdf--small {
    font-size: 1.3rem;
  }
  .btn-pdf--small .btn-pdf__icon {
    font-size: 1.6rem;
  }
}

.nav-list {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 800px) {
  .nav-list {
    flex-direction: column;
    gap: 2.4rem;
    align-items: unset;
  }
  .nav-list__item {
    position: relative;
  }
  .nav-list__item:not(:has(.nav-list__btn))::after {
    content: "";
    width: 100%;
    height: 0.1rem;
    min-height: 1px;
    background: #10386f;
    background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 0.4;
  }
}
.nav-list__link {
  display: block;
  color: #10386f;
  padding: 2rem 2.4rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-weight: 500;
  transition: background-color 0.2s ease, color 0.2s ease;
}
@media screen and (max-width: 800px) {
  .nav-list__link {
    width: 100%;
    padding: 1rem 0;
  }
}
.nav-list__link[target=_blank] {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media screen and (max-width: 800px) {
  .nav-list__link[target=_blank] {
    justify-content: space-between;
  }
}
.nav-list__link[target=_blank]::after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background-image: url("../img/common/icon_blank.svg");
  background-size: cover;
}
@media screen and (min-width: 801px) {
  .nav-list__link[target=_blank]:hover::after {
    background-image: url("../img/common/icon_blank-white.svg");
  }
}
@media screen and (min-width: 801px) {
  .nav-list__link:hover {
    background-color: #10386f;
    color: #f6f8f9;
  }
}
@media screen and (max-width: 800px) {
  .nav-list__btn {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .nav-list__btn::after {
    content: "";
    width: 100%;
    height: 0.1rem;
    min-height: 1px;
    background: #10386f;
    background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 0.4;
  }
  .nav-list__btn__item {
    position: relative;
    width: 3.2rem;
    height: 3.2rem;
    flex-shrink: 0;
    cursor: pointer;
  }
  .nav-list__btn__item::before, .nav-list__btn__item::after {
    content: "";
    width: 1.6rem;
    height: 0.2rem;
    background: #10386f;
    background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
    position: absolute;
    left: 50%;
    top: 50%;
    transition: transform 0.4s ease;
  }
  .nav-list__btn__item::before {
    transform: translate(-50%, -50%) rotate(-90deg);
  }
  .nav-list__btn__item::after {
    transform: translate(-50%, -50%) rotate(-180deg);
  }
}
.nav-list__btn.is-open .nav-list__btn__item::before, .nav-list__btn.is-open .nav-list__btn__item::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.sub-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding-top: 0.4rem;
  padding-bottom: 2.4rem;
}
.sub-list__link {
  display: block;
  padding: 0.8rem 1.6rem;
  font-weight: 400;
  color: #10386f;
}

.business-list {
  display: flex;
  gap: 0.8rem;
}
@media screen and (max-width: 800px) {
  .business-list {
    flex-direction: column;
  }
}
.business-list__item {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  flex: 1;
  transition: flex 0.3s ease;
}
.business-list__item:first-child {
  background-image: url("../img/top/img_business1.jpg");
}
@media screen and (max-width: 800px) {
  .business-list__item:first-child {
    background-image: url("../img/top/img_business1_sp.jpg");
  }
}
.business-list__item:nth-child(2) {
  background-image: url("../img/top/img_business2.jpg");
}
@media screen and (max-width: 800px) {
  .business-list__item:nth-child(2) {
    background-image: url("../img/top/img_business2_sp.jpg");
  }
}
.business-list__item:nth-child(3) {
  background-image: url("../img/top/img_business3.jpg");
}
@media screen and (max-width: 800px) {
  .business-list__item:nth-child(3) {
    background-image: url("../img/top/img_business3_sp.jpg");
  }
}
.business-list__item:last-child {
  background-image: url("../img/top/img_business4.jpg");
}
@media screen and (max-width: 800px) {
  .business-list__item:last-child {
    background-image: url("../img/top/img_business4_sp.jpg");
  }
}
@media screen and (min-width: 801px) {
  .business-list__item:hover {
    flex: 2;
  }
}
.business-list__link {
  display: flex;
  height: 48rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .business-list__link {
    height: 16.2rem;
  }
}
.business-list__link .btn-arrow {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.business-list__link-text {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  background-color: rgba(16, 56, 111, 0.8);
  color: #f6f8f9;
  padding: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 500;
  backdrop-filter: blur(0.8rem);
  text-align: center;
}
@media screen and (max-width: 800px) {
  .business-list__link-text {
    font-size: 1.8rem;
    padding: 0.4rem 1.6rem;
    text-align: left;
  }
}

.news-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.news-list__item {
  border-bottom: 0.1rem solid rgba(16, 56, 111, 0.4);
}
.news-list__link {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  height: 7.4rem;
  padding: 0 4rem 0 1.6rem;
  font-weight: normal;
  line-height: 1.6;
  position: relative;
  background-color: rgba(246, 248, 249, 0.4);
  transition: background-color 0.4s ease;
}
@media screen and (max-width: 800px) {
  .news-list__link {
    flex-direction: column;
    gap: 0.8rem;
    padding: 1.6rem 0.8rem;
    height: auto;
    align-items: flex-start;
  }
}
.news-list__link::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-top: 0.1rem solid #10386f;
  border-right: 0.1rem solid #10386f;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 800px) {
  .news-list__link::after {
    display: none;
  }
}
.news-list__link::before {
  content: "";
  width: 0;
  height: 0.1rem;
  position: absolute;
  left: 0;
  bottom: -0.1rem;
  background-color: #10386f;
  transition: width 0.4s ease;
}
@media screen and (min-width: 801px) {
  .news-list__link:hover {
    background-color: #f6f8f9;
  }
  .news-list__link:hover::before {
    width: 100%;
  }
}
.news-list__link[target=_blank] .news-list__title::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-image: url("../img/common/icon_blank.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 0.5em;
}
.news-list__link[target=_blank][href$=".pdf"] .news-list__title::after {
  background-image: url("../img/common/icon_pdf-line.svg");
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  background-size: contain;
  background-repeat: no-repeat;
  top: 0.2rem;
}
@media screen and (max-width: 800px) {
  .news-list__link[target=_blank][href$=".pdf"] .news-list__title::after {
    width: 1.4rem;
    height: 1.4rem;
    top: 0.1rem;
  }
}
.news-list div.news-list__link {
  cursor: default;
}
.news-list div.news-list__link::before, .news-list div.news-list__link::after {
  display: none;
}
.news-list div.news-list__link:hover {
  background-color: rgba(246, 248, 249, 0.4);
}
.news-list__date {
  color: #10386f;
  flex-shrink: 0;
}

.footer-list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0 4rem;
  height: 20rem;
  font-weight: bold;
  width: 70.4rem;
}
@media screen and (max-width: 800px) {
  .footer-list {
    height: 35rem;
    width: 100%;
  }
}
.footer-list__item {
  margin-top: 2.4rem;
}
@media screen and (max-width: 800px) {
  .footer-list__item {
    width: calc(50% - 2rem);
    margin-top: 3.2rem;
  }
}
.footer-list__link {
  font-size: 1.4rem;
}
@media screen and (max-width: 800px) {
  .footer-list__link {
    border-bottom: 0.1rem solid #f6f8f9;
    display: block;
    padding-bottom: 0.8rem;
  }
}
.footer-list__sub {
  margin-top: 1.6rem;
  font-size: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding-left: 1.6rem;
}
@media screen and (max-width: 800px) {
  .footer-list__sub {
    padding-left: 0;
    letter-spacing: 0;
  }
}
.footer-list__sub__link {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media screen and (min-width: 801px) {
  .footer-list__sub__link::before {
    content: "";
    width: 0.8rem;
    height: 0.1rem;
    background-color: #f6f8f9;
    flex-shrink: 0;
  }
}

.footer-sublist {
  font-size: 1.2rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.8rem;
  font-weight: bold;
}
.footer-sublist__item:first-child {
  margin-bottom: 0.8rem;
}
.footer-sublist__item:last-child {
  margin-top: 0.8rem;
}

.list-circle__item {
  font-size: 2rem;
  padding-left: 2.4rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .list-circle__item {
    font-size: 1.6rem;
    padding-left: 1.6rem;
  }
}
.list-circle__item::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background-color: #f6f8f9;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 800px) {
  .list-circle__item::before {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.list-circle__item span {
  font-size: 1.6rem;
}
@media screen and (max-width: 800px) {
  .list-circle__item span {
    font-size: 1.2rem;
  }
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  font-size: 1.2rem;
}
.tag-list__item {
  padding: 0.2rem 0.4rem;
  position: relative;
  z-index: 1;
}
.tag-list__item::before {
  content: "";
  position: absolute;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  left: 0;
  top: 0;
}
.tag-list__item::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  background-color: #fff;
  left: 1px;
  top: 1px;
}

.list-square {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.list-square__item {
  padding-left: 1.8rem;
  position: relative;
}
.list-square__item::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-radius: 0.2rem;
  background-color: #10386f;
  position: absolute;
  left: 0;
  top: 0.8rem;
}
.list-square__item a {
  color: #10386f;
  text-decoration: underline;
  transition: opacity 0.3s;
}
@media screen and (min-width: 801px) {
  .list-square__item a:hover {
    opacity: 0.7;
  }
}

.list-dot {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.list-dot__item {
  padding-left: 1.6rem;
  position: relative;
}
.list-dot__item::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background-color: #10386f;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 1rem;
}
@media screen and (max-width: 800px) {
  .list-dot__item::before {
    top: 0.8rem;
  }
}

.list-num {
  counter-reset: list-num;
}
.list-num__item {
  padding-left: 1.2em;
  position: relative;
}
.list-num__item::before {
  content: counter(list-num) ".";
  counter-increment: list-num;
  position: absolute;
  left: 0;
  top: 0;
}

.col3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 3rem;
}

.col4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .col4 {
    grid-template-columns: 1fr;
  }
}

.box1 {
  border-radius: 0.4rem;
  box-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.24);
  overflow: hidden;
}

.support-box {
  background-color: #f6f8f9;
}
.support-box h3 {
  color: #10386f;
}
@media screen and (max-width: 800px) {
  .support-box {
    max-width: 22.8rem;
    margin: 0 auto;
  }
}
.support-box p {
  padding: 0 1.6rem 3rem;
  margin-top: 1.6rem;
}
@media screen and (max-width: 800px) {
  .support-box p {
    font-size: 1.4rem;
    padding: 0 1.6rem 1.6rem;
    margin-top: 0.8rem;
  }
}
.support-box:has(p) h3 {
  margin-top: 1.6rem;
}
@media screen and (max-width: 800px) {
  .support-box:has(p) h3 {
    margin-top: 0.8rem;
  }
}

.loading {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  width: 100%;
  height: 100%;
  background-color: #f6f8f9;
  transition: opacity 1s, visibility 1s;
}
.loading.loaded {
  opacity: 0;
  visibility: hidden;
}
.loading__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3.2rem;
}
.loading__img {
  width: 11rem;
}
.loading__img img {
  width: 100%;
}
.loading__circles {
  display: flex;
  justify-content: center;
  gap: 1.4rem;
}
.loading__circle {
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #10386f;
}
.loading__circle:nth-child(3n-1) {
  background-color: #177e99;
}
.loading__circle:nth-child(3n) {
  background-color: #284c8d;
}

.fv {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 0 3.4rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .fv {
    padding: 0;
    justify-content: center;
  }
}
.fv__video {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
.fv__video::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  opacity: 0.2;
  z-index: 1;
}
.fv__video__inner {
  min-width: 100vw;
  min-height: 100vh;
  aspect-ratio: 16/9;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}
.fv__video__inner iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fv__catch {
  color: rgba(246, 248, 249, 0.88);
  color: #f6f8f9;
}
@media screen and (max-width: 800px) {
  .fv__catch {
    text-align: center;
  }
}
.fv__catch__en {
  font-size: 9.6rem;
  line-height: 1.16;
  letter-spacing: -0.02em;
  text-shadow: 0 0.2rem 0.3rem rgba(51, 51, 51, 0.24);
}
@media screen and (max-width: 800px) {
  .fv__catch__en {
    font-size: 4.8rem;
    margin-bottom: 0.8rem;
    padding-left: 0;
  }
}
.fv__catch__ja {
  font-size: 3.2rem;
  letter-spacing: 0;
  text-shadow: 0 0.2rem 0.3rem rgba(51, 51, 51, 0.24);
  display: block;
}
@media screen and (max-width: 800px) {
  .fv__catch__ja {
    font-size: 2.4rem;
  }
}

.top-business {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .top-business {
    padding: 4.8rem 1.6rem 0;
  }
}
.top-business .title1 {
  margin-bottom: 3.2rem;
}
.top-business .title1 + p {
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .top-business .title1 + p {
    text-align: left;
    margin-bottom: 2.4rem;
  }
}
.top-business .btn1 {
  margin: 6.4rem auto 0;
}
@media screen and (max-width: 800px) {
  .top-business .btn1 {
    margin-top: 3.2rem;
  }
}

.top-product {
  padding: 19rem 0 20rem;
  min-height: 48.8rem;
}
@media screen and (max-width: 800px) {
  .top-product {
    padding: 8rem 0;
    min-height: unset;
  }
}
.top-product .inner {
  position: relative;
}
.top-product .title1 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .top-product .title1 {
    margin-bottom: 3.2rem;
  }
}
@media screen and (min-width: 801px) {
  .top-product__slider {
    position: absolute;
    width: 64.8rem;
    right: 0;
    top: 0;
    overflow: unset;
  }
  .top-product__slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
  }
}
@media screen and (max-width: 800px) {
  .top-product__slider {
    width: calc(100% + 3.2rem);
    margin: 0 -1.6rem 2.4rem;
    padding: 3px 1.6rem;
  }
}
.top-product__content {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
@media screen and (max-width: 800px) {
  .top-product__content {
    flex-direction: column-reverse;
    gap: 2.4rem;
  }
}
.top-product__text {
  max-width: 80rem;
  margin: 0 auto;
}
.top-product .btn1 {
  margin: 6.4rem auto 0;
}
@media screen and (max-width: 800px) {
  .top-product .btn1 {
    margin-top: 3.2rem;
  }
}

.top-commitment {
  padding: 24rem 0;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  color: #f6f8f9;
}
@media screen and (max-width: 800px) {
  .top-commitment {
    padding: 6.4rem 0;
  }
}
.top-commitment__inner {
  width: 80rem;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .top-commitment__inner {
    width: 34.3rem;
  }
}
.top-commitment .title1 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 800px) {
  .top-commitment .title1 {
    margin-bottom: 3.2rem;
  }
  .top-commitment .title1::before {
    margin-left: auto;
    margin-right: auto;
  }
  .top-commitment .title1__text {
    justify-content: center;
  }
}
.top-commitment .title2 {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .top-commitment .title2 {
    margin-bottom: 3.2rem;
    text-align: center;
  }
}
.top-commitment__text {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  font-size: 2rem;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .top-commitment__text {
    font-size: 1.6rem;
    gap: 2.4rem;
  }
}
.top-commitment .btn1 {
  margin-top: 6.4rem;
}
@media screen and (max-width: 800px) {
  .top-commitment .btn1 {
    margin: 4rem auto 0;
  }
}

.top-sustainability {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .top-sustainability {
    padding-top: 8rem;
  }
}
.top-sustainability .title1 {
  margin-bottom: 3.2rem;
}
.top-sustainability .title1 + p {
  max-width: 80rem;
  margin: 0 auto 4rem;
}
@media screen and (max-width: 800px) {
  .top-sustainability .title1 + p {
    margin-bottom: 2.4rem;
  }
}
.top-sustainability__flex {
  display: flex;
  gap: 2.4rem;
}
@media screen and (max-width: 800px) {
  .top-sustainability__flex {
    flex-direction: column;
  }
}
.top-sustainability .btn1 {
  margin: 4.8rem auto 0;
}
@media screen and (max-width: 800px) {
  .top-sustainability .btn1 {
    margin-top: 3.2rem;
  }
}

.insta-area__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem;
}
@media screen and (max-width: 800px) {
  .insta-area__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.3rem;
  }
}
.insta-area__item a {
  display: block;
  overflow: hidden;
  border-radius: 0.4rem;
  box-shadow: 0.1rem 0.2rem 0.4rem rgba(0, 0, 0, 0.16);
  transition: box-shadow 0.4s ease;
}
.insta-area__item a img {
  transform: scale(1.01);
  transition: transform 0.4s ease;
  aspect-ratio: 1/1;
  object-fit: cover;
}
@media screen and (min-width: 801px) {
  .insta-area__item a:hover {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.16);
  }
  .insta-area__item a:hover img {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 800px) {
  .insta-area__item:nth-child(3) {
    display: none;
  }
}
.insta-area__item:nth-child(4), .insta-area__item:nth-child(5) {
  display: none;
}
.insta-area .btn-insta {
  margin-top: 2.4rem;
}
@media screen and (max-width: 800px) {
  .insta-area .btn-insta {
    margin: 1.6rem auto 0;
  }
}

.electronic-service {
  width: 44rem;
  flex-shrink: 0;
  border-radius: 0.4rem;
  border: 0.1rem solid #10386f;
  padding: 3.6rem 2.4rem 4.2rem;
  background-color: rgba(255, 255, 255, 0.24);
  backdrop-filter: blur(5px);
}
@media screen and (max-width: 800px) {
  .electronic-service {
    width: 100%;
    padding: 2.4rem 1.6rem;
  }
}
.electronic-service .title3 {
  margin-bottom: 2.6rem;
}
@media screen and (max-width: 800px) {
  .electronic-service .title3 {
    margin-bottom: 1.6rem;
  }
}
.electronic-service__list {
  display: flex;
  justify-content: center;
  gap: 3.2rem;
  margin-top: 3.2rem;
}
@media screen and (max-width: 800px) {
  .electronic-service__list {
    gap: 1.6rem;
    margin-top: 2.4rem;
  }
}

.top-recruit {
  margin-top: 16.4rem;
}
@media screen and (max-width: 800px) {
  .top-recruit {
    margin-top: 8.5rem;
  }
}
@media screen and (min-width: 801px) {
  .top-recruit__box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr 1fr;
    background: url("../img/top/bg_recruit.jpg") no-repeat center center/cover;
    grid-template-areas: "A B B" "A C D";
  }
}
@media screen and (max-width: 800px) {
  .top-recruit__box {
    background: url("../img/top/bg_recruit_sp.jpg") no-repeat center center/cover;
  }
}
.top-recruit__box__item {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .top-recruit__box__item {
    display: none;
  }
}
@media screen and (min-width: 801px) {
  .top-recruit__box__item--index {
    grid-area: B;
    border-bottom: 0.4rem solid #f6f8f9;
  }
}
@media screen and (max-width: 800px) {
  .top-recruit__box__item--index {
    display: block;
  }
}
.top-recruit__box__item--greeting {
  grid-area: A;
  border-right: 0.4rem solid #f6f8f9;
}
@media screen and (min-width: 801px) {
  .top-recruit__box__item--greeting {
    color: #f6f8f9;
  }
  .top-recruit__box__item--greeting::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #10386f;
    background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0.56;
  }
}
.top-recruit__box__item--new {
  grid-area: C;
  border-right: 0.4rem solid #f6f8f9;
}
.top-recruit__box__item--career {
  grid-area: D;
}
.top-recruit__greeting {
  text-shadow: 0.1rem 0.1rem 0.2rem rgba(0, 0, 0, 0.32);
  color: #f6f8f9;
  font-weight: normal;
}
.top-recruit__greeting:not(.sp-only) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 64rem;
  gap: 3.6rem;
  padding: 9rem 6rem 0;
  font-size: 1.8rem;
}
.top-recruit__greeting:not(.sp-only) h3 {
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.8;
  font-weight: bold;
}
.top-recruit__greeting.sp-only h3 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
  line-height: 1.2;
}

.top-news {
  padding-top: 16rem;
}
@media screen and (max-width: 800px) {
  .top-news {
    padding-top: 8rem;
  }
}
.top-news .title1 {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .top-news .title1 {
    margin-bottom: 3.2rem;
  }
}
.top-news .btn1 {
  margin: 6.4rem auto 0;
}
@media screen and (max-width: 800px) {
  .top-news .btn1 {
    margin-top: 3.2rem;
  }
}

.top-group {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .top-group {
    padding-top: 8rem;
  }
}
.top-group .title1 {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .top-group .title1 {
    margin-bottom: 3.2rem;
  }
}
.top-group__list {
  display: flex;
  justify-content: center;
  gap: 4rem;
}
@media screen and (max-width: 800px) {
  .top-group__list {
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
  }
}
.top-group__list__item {
  width: 32rem;
}
@media screen and (max-width: 800px) {
  .top-group__list__item {
    width: 24.1rem;
  }
}
.top-group__link {
  display: block;
  transition: opacity 0.2s ease;
}
@media screen and (min-width: 801px) {
  .top-group__link:hover {
    opacity: 0.7;
  }
}

.business-area {
  padding-top: 8rem;
}
@media screen and (max-width: 800px) {
  .business-area {
    padding-top: 4.8rem;
  }
}
.business-area .inner {
  max-width: 80rem;
}
.business-area .title4 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .business-area .title4 {
    margin-bottom: 3.2rem;
  }
}
.business-area__text {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-bottom: 12.8rem;
}
@media screen and (max-width: 800px) {
  .business-area__text {
    margin-bottom: 3.2rem;
  }
}
.business-area .business-list {
  padding: 0 1.6rem;
}

.related-slider {
  padding-bottom: 0.2rem;
}
@media screen and (max-width: 800px) {
  .related-slider {
    margin: -1.6rem;
    padding: 0 1.6rem;
  }
}
@media screen and (min-width: 801px) {
  .related-slider .swiper-wrapper {
    display: flex;
    justify-content: center;
    gap: 1.6rem;
  }
  .related-slider .swiper-wrapper .swiper-slide {
    width: 22.8rem;
  }
}

.sub-business-content {
  padding-top: 12rem;
  counter-reset: process-item;
}
@media screen and (max-width: 800px) {
  .sub-business-content {
    padding-top: 8rem;
  }
}
.sub-business-content .title4 {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .title4 {
    margin-bottom: 3.2rem;
  }
}
.sub-business-content .value-cont {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .value-cont {
    margin-bottom: 4rem;
  }
}
.sub-business-content .value-cont .title5 {
  margin-bottom: 2.4rem;
}
.sub-business-content .value-cont .value-list {
  display: flex;
  justify-content: center;
  align-items: center;
  counter-reset: item;
}
@media screen and (max-width: 800px) {
  .sub-business-content .value-cont .value-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
  }
}
.sub-business-content .value-cont .value-list li {
  counter-increment: item;
}
@media screen and (min-width: 801px) {
  .sub-business-content .value-cont .value-list li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24rem;
    height: 24rem;
    flex-shrink: 0;
    border: 0.2rem solid #242422;
    border-radius: 50%;
  }
}
.sub-business-content .value-cont .value-list li p {
  font-size: 2rem;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .sub-business-content .value-cont .value-list li p {
    display: flex;
    align-items: flex-start;
    font-size: 1.6rem;
    gap: 1.6rem;
    text-align: left;
  }
}
.sub-business-content .value-cont .value-list li p::before {
  content: counter(item, decimal-leading-zero);
  font-family: "Libre Baskerville", serif;
  font-weight: bold;
  line-height: 1.4;
  display: block;
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .sub-business-content .value-cont .value-list li p::before {
    line-height: 1.8;
  }
}
.sub-business-content .value-cont .value-list li:first-child {
  border-color: #10386f;
}
.sub-business-content .value-cont .value-list li:first-child p::before {
  color: #10386f;
}
.sub-business-content .value-cont .value-list li:nth-child(2) {
  border-color: #177e99;
}
@media screen and (min-width: 801px) {
  .sub-business-content .value-cont .value-list li:nth-child(2) {
    margin: 0 -2rem;
  }
}
.sub-business-content .value-cont .value-list li:nth-child(2) p::before {
  color: #177e99;
}
.sub-business-content .value-cont .value-list li:nth-child(3) {
  border-color: #284c8d;
}
.sub-business-content .value-cont .value-list li:nth-child(3) p::before {
  color: #284c8d;
}
.sub-business-content .feature-cont .title5 {
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .feature-cont .title5 {
    margin-bottom: 2.4rem;
  }
}
.sub-business-content .feature-cont .feature-list {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .feature-cont .feature-list {
    gap: 2.4rem;
  }
}
.sub-business-content .feature-cont .feature-list__item {
  display: flex;
  gap: 5.6rem;
  border: 1px solid #10386f;
  border-radius: 0.8rem;
  overflow: hidden;
  background-color: #fff;
}
@media screen and (max-width: 800px) {
  .sub-business-content .feature-cont .feature-list__item {
    flex-direction: column;
    gap: 1.6rem;
  }
}
.sub-business-content .feature-cont .feature-list__text {
  padding: 1.6rem 0 1.6rem 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .feature-cont .feature-list__text {
    padding: 2.4rem 1.6rem 0;
    gap: 1.6rem;
    font-size: 1.4rem;
  }
  .sub-business-content .feature-cont .feature-list__text .fz20 {
    font-size: 1.6rem;
  }
}
.sub-business-content .feature-cont .feature-list__img {
  width: 40rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .sub-business-content .feature-cont .feature-list__img {
    width: 100%;
    height: 19rem;
  }
}
.sub-business-content .feature-cont .feature-list__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sub-business-content .desc {
  max-width: 64rem;
  margin: 0 auto 4.8rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .desc {
    margin-bottom: 4rem;
  }
}
.sub-business-content .desc .notes {
  margin-top: 0.8rem;
}
.sub-business-content .process-box {
  display: grid;
  grid-template-columns: 19.3rem 1fr;
  border: 1px solid #177e99;
  background-color: rgba(23, 126, 153, 0.16);
  position: relative;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box {
    display: block;
  }
}
.sub-business-content .process-box__header {
  padding: 2.4rem 1.6rem;
  background-color: #177e99;
  color: #f6f8f9;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box__header {
    padding: 1.6rem;
    position: relative;
  }
}
.sub-business-content .process-box__header .num {
  background-color: #f6f8f9;
  font-size: 1.4rem;
  width: fit-content;
  padding: 0.4rem 0.8rem 0.1rem;
  color: #177e99;
  line-height: 1.4;
  margin-bottom: 0.8rem;
}
.sub-business-content .process-box__header h3 {
  letter-spacing: 0;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box__header h3 {
    display: flex;
    align-items: center;
    gap: 1.6rem;
  }
}
.sub-business-content .process-box__header h3 span {
  display: block;
  font-weight: normal;
  font-size: 1.6rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box__header h3 span {
    font-size: 1.4rem;
  }
}
.sub-business-content .process-box__en {
  position: absolute;
  color: rgba(23, 126, 153, 0.24);
  font-size: 4.8rem;
  right: 0.8rem;
  bottom: 0.8rem;
  line-height: 1.2;
  white-space: nowrap;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box__en {
    color: rgba(246, 248, 249, 0.48) !important;
    font-size: 1.6rem;
    bottom: unset;
    top: 0.8rem;
    right: 0.8rem;
  }
}
.sub-business-content .process-box__content {
  padding: 3.2rem 2.4rem 8rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box__content {
    padding: 2.4rem 1.6rem;
  }
}
.sub-business-content .process-box__list {
  counter-increment: process-item;
  position: relative;
}
.sub-business-content .process-box__list__title {
  font-size: 1.8rem;
  font-weight: 500;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 2.4rem;
  transition: opacity 0.2s ease, margin-bottom 0.4s ease;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box__list__title {
    font-size: 1.6rem;
    gap: 0.8rem;
  }
}
.sub-business-content .process-box__list__title:hover {
  opacity: 0.7;
}
.sub-business-content .process-box__list__title::before {
  content: counter(process-item, decimal-leading-zero);
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #177e99;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: "Libre Baskerville", serif;
  font-weight: bold;
  line-height: 1;
  color: #f6f8f9;
  padding-left: 0.1em;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box__list__title::before {
    width: 3.2rem;
    height: 3.2rem;
    font-size: 1.4rem;
  }
}
.sub-business-content .process-box__list__title span {
  display: block;
  width: fit-content;
  padding-right: 3.2rem;
  position: relative;
}
.sub-business-content .process-box__list__title span::before, .sub-business-content .process-box__list__title span::after {
  content: "";
  width: 1.6rem;
  height: 0.2rem;
  background-color: #177e99;
  position: absolute;
  right: 0;
  top: 50%;
  transition: transform 0.4s ease;
}
.sub-business-content .process-box__list__title span::before {
  transform: translateY(-50%) rotate(-90deg);
}
.sub-business-content .process-box__list__title span::after {
  transform: translateY(-50%) rotate(-180deg);
}
.sub-business-content .process-box__list__title.is-active {
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box__list__title.is-active {
    margin-bottom: 1.6rem;
  }
}
.sub-business-content .process-box__list__title.is-active span::before,
.sub-business-content .process-box__list__title.is-active span::after {
  transform: translateY(-50%) rotate(0deg);
}
.sub-business-content .process-box__list__desc {
  padding-left: 6.4rem;
  height: 0;
  transition: height 0.4s ease;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box__list__desc {
    padding-left: 0;
  }
}
.sub-business-content .process-box__list__desc__inner {
  background-color: #f6f8f9;
  border-radius: 0.4rem;
  padding: 1.6rem;
}
.sub-business-content .process-box:not(.sub-business-content .process-box--fourth) {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box:not(.sub-business-content .process-box--fourth) {
    margin-bottom: 8rem;
  }
}
.sub-business-content .process-box:not(.sub-business-content .process-box--fourth)::after {
  content: "";
  width: 12rem;
  height: 4.8rem;
  background: #35a6a1;
  background: linear-gradient(0deg, rgb(53, 166, 161) 0%, rgb(23, 126, 153) 100%);
  position: absolute;
  left: 3.6rem;
  bottom: -5.6rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 800px) {
  .sub-business-content .process-box:not(.sub-business-content .process-box--fourth)::after {
    width: 8rem;
    height: 3.2rem;
    left: 50%;
    transform: translateX(-50%);
    bottom: -5.6rem;
  }
}
.sub-business-content .process-box--second {
  border-color: #35a6a1;
  background-color: rgba(53, 166, 161, 0.16);
}
.sub-business-content .process-box--second::after {
  background: #10386f;
  background: linear-gradient(0deg, rgb(16, 56, 111) 0%, rgb(53, 166, 161) 100%) !important;
}
.sub-business-content .process-box--second .process-box__en {
  color: rgba(53, 166, 161, 0.24);
}
.sub-business-content .process-box--second .num {
  color: #35a6a1;
}
.sub-business-content .process-box--second .process-box__header,
.sub-business-content .process-box--second .process-box__list__title::before,
.sub-business-content .process-box--second .process-box__list__title span::before,
.sub-business-content .process-box--second .process-box__list__title span::after {
  background-color: #35a6a1;
}
.sub-business-content .process-box--third {
  border-color: #10386f;
  background-color: rgba(16, 56, 111, 0.16);
}
.sub-business-content .process-box--third::after {
  background: #10386f;
  background: #284c8d;
  background: linear-gradient(0deg, rgb(40, 76, 141) 0%, rgb(16, 56, 111) 100%) !important;
}
.sub-business-content .process-box--third .process-box__en {
  color: rgba(16, 56, 111, 0.24);
}
.sub-business-content .process-box--third .num {
  color: #10386f;
}
.sub-business-content .process-box--third .process-box__header,
.sub-business-content .process-box--third .process-box__list__title::before,
.sub-business-content .process-box--third .process-box__list__title span::before,
.sub-business-content .process-box--third .process-box__list__title span::after {
  background-color: #10386f;
}
.sub-business-content .process-box--fourth {
  border-color: #284c8d;
  background-color: rgba(40, 76, 141, 0.16);
}
.sub-business-content .process-box--fourth .process-box__en {
  color: rgba(40, 76, 141, 0.24);
}
.sub-business-content .process-box--fourth .num {
  color: #284c8d;
}
.sub-business-content .process-box--fourth .process-box__header,
.sub-business-content .process-box--fourth .process-box__list__title::before,
.sub-business-content .process-box--fourth .process-box__list__title span::before,
.sub-business-content .process-box--fourth .process-box__list__title span::after {
  background-color: #284c8d;
}
.sub-business-content .case-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 800px) {
  .sub-business-content .case-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.sub-business-content .btn1 {
  margin: 6.4rem auto 0;
}
@media screen and (max-width: 800px) {
  .sub-business-content .btn1 {
    margin-top: 4rem;
  }
}
.sub-business-content .col3:has(.support-box) {
  max-width: 71.6rem;
  gap: 1.6rem;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .sub-business-content .col3:has(.support-box) {
    grid-template-columns: 1fr;
  }
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  opacity: 0;
  visibility: hidden;
}
.modal.is-active {
  opacity: 1;
  visibility: visible;
}
.modal-open {
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.modal-open:hover {
  opacity: 0.7;
}
.modal-close {
  position: absolute;
  width: 7.2rem;
  height: 7.2rem;
  top: 8rem;
  right: 8rem;
  background-color: #f6f8f9;
  border-radius: 50%;
  cursor: pointer;
}
@media screen and (max-width: 800px) {
  .modal-close {
    width: 4.8rem;
    height: 4.8rem;
    right: 1.8rem;
    top: -2.4rem;
    transform: translateY(-100%);
  }
}
.modal-close::before, .modal-close::after {
  content: "";
  width: 5rem;
  height: 0.5rem;
  background-color: #000;
  border-radius: 0.3rem;
  position: absolute;
  top: 50%;
  left: 50%;
}
@media screen and (max-width: 800px) {
  .modal-close::before, .modal-close::after {
    width: 3.2rem;
    height: 0.3rem;
  }
}
.modal-close::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal-close::after {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__inner {
  max-width: 80rem;
}
@media screen and (max-width: 800px) {
  .modal__inner {
    position: relative;
    padding: 0 1.8rem;
  }
}
.modal__content {
  display: none;
}
.modal__content__img img {
  width: 100%;
  max-height: 80vh;
  object-fit: cover;
}
.modal__content.is-active {
  display: block;
}

.business-cv-area {
  margin-bottom: 16rem;
  padding: 6.4rem 4rem;
  background-image: url(../img/business-areas/clinic-start-up-support/bg_cv.jpg);
  background-position: left center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #f6f8f9;
  position: relative;
}
@media screen and (max-width: 800px) {
  .business-cv-area {
    margin: 0 -1.6rem 8rem;
    padding: 6.5rem 0.8rem 6.5rem 2.4rem;
    background-image: url(../img/business-areas/clinic-start-up-support/bg_cv_sp.jpg);
  }
}
.business-cv-area__title {
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 800px) {
  .business-cv-area__title {
    font-size: 3.2rem;
    margin-bottom: 2.4rem;
  }
}
.business-cv-area__item {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  letter-spacing: 0;
}
@media screen and (max-width: 800px) {
  .business-cv-area__item {
    display: block;
  }
}
.business-cv-area__item > p {
  font-size: 2rem;
}
@media screen and (max-width: 800px) {
  .business-cv-area__item > p {
    font-size: 1.6rem;
    margin-bottom: 3.2rem;
  }
}
@media screen and (min-width: 801px) {
  .business-cv-area .list-circle {
    position: absolute;
    right: 4rem;
    top: 10rem;
  }
}
@media screen and (max-width: 800px) {
  .business-cv-area .list-circle {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 800px) {
  .business-cv-area .btn-cv {
    margin: 0 auto;
  }
}

.other-link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.2rem;
}
@media screen and (max-width: 800px) {
  .other-link {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
}
.other-link__item a {
  display: block;
  position: relative;
}
.other-link__item a:hover .other-link__text {
  opacity: 1;
}
.other-link__text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f6f8f9;
  font-size: 2rem;
  font-weight: 500;
  opacity: 0;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 800px) {
  .other-link__text {
    font-size: 1.6rem;
    height: auto;
    padding: 0.6rem;
    opacity: 1;
  }
}
.other-link__text::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.88;
}

.clinic-start-up-support .sub-business-page__main::after {
  background-image: url(../img/business-areas/clinic-start-up-support/fv_bg.jpg);
}
.clinic-start-up-support .fixed-cv {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 0.8rem 0;
  background-color: rgba(246, 248, 249, 0.16);
  backdrop-filter: blur(2px);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}
.clinic-start-up-support .fixed-cv.is-fixed {
  transform: translateY(0);
}
.clinic-start-up-support .fixed-cv .btn-cv {
  margin: 0 auto;
}
.clinic-start-up-support .support-box h3 {
  padding: 0.8rem;
}
.clinic-start-up-support #sec1 .notes {
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 800px) {
  .clinic-start-up-support #sec1 .notes {
    text-align: left;
    margin-bottom: 1.6rem;
  }
}

.pharmaceutical-distribution .sub-business-page__main::after {
  background-image: url(../img/business-areas/pharmaceutical-distribution/fv_bg.jpg);
}

.medical-products-distribution .sub-business-page__main::after {
  background-image: url(../img/business-areas/medical-products-distribution/fv_bg.jpg);
}

.medical-dx-digital-services .sub-business-page__main::after {
  background-image: url(../img/business-areas/medicaldx-digitalservices/fv_bg.jpg);
}
.medical-dx-digital-services .col3:has(.support-box) {
  max-width: 87.2rem;
}

.page-news {
  padding-top: 7.6rem;
}
@media screen and (max-width: 800px) {
  .page-news {
    padding-top: 4.8rem;
  }
}
.page-news .select-area {
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 800px) {
  .page-news .select-area {
    margin-bottom: 1.6rem;
  }
}

.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 6.4rem;
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .wp-pagenavi {
    margin-top: 4rem;
    gap: 0.8rem;
  }
}
.wp-pagenavi a,
.wp-pagenavi span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 4.5rem;
  font-weight: 500;
  border-bottom: 1px solid transparent;
}
.wp-pagenavi a.page,
.wp-pagenavi span.page {
  border-color: #10386f;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.wp-pagenavi a.page:hover,
.wp-pagenavi span.page:hover {
  background-color: #10386f;
  color: #f6f8f9;
}
.wp-pagenavi a.current,
.wp-pagenavi span.current {
  background-color: #10386f;
  color: #f6f8f9;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  position: relative;
}
.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  transform: rotate(45deg);
}
.wp-pagenavi .previouspostslink {
  transition: padding-right 0.2s ease;
}
.wp-pagenavi .previouspostslink::before {
  border-bottom: 0.1rem solid #10386f;
  border-left: 0.1rem solid #10386f;
}
.wp-pagenavi .previouspostslink:hover {
  padding-right: 0.5rem;
}
.wp-pagenavi .nextpostslink {
  transition: padding-left 0.2s ease;
}
.wp-pagenavi .nextpostslink::before {
  border-top: 0.1rem solid #10386f;
  border-right: 0.1rem solid #10386f;
}
.wp-pagenavi .nextpostslink:hover {
  padding-left: 0.5rem;
}

.detail-header {
  padding-bottom: 3.2rem;
  border-bottom: 0.1rem solid #9aabc2;
}
@media screen and (max-width: 800px) {
  .detail-header {
    padding-bottom: 1.6rem;
  }
}
.detail-header__data {
  font-weight: 500;
  color: #10386f;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 800px) {
  .detail-header__data {
    margin-bottom: 0.8rem;
  }
}
.detail-header__title {
  font-size: 3.2rem;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .detail-header__title {
    font-size: 2rem;
  }
}

.news-detail {
  line-height: 1.6;
}
.news-detail .inner {
  max-width: 80rem;
  padding-top: 6.4rem;
}
@media screen and (max-width: 800px) {
  .news-detail .inner {
    padding-top: 3.2rem;
  }
}
.news-detail h3,
.news-detail h4,
.news-detail h5,
.news-detail h6 {
  margin-bottom: 1.6rem;
}
.news-detail h1,
.news-detail h2,
.news-detail p,
.news-detail ul,
.news-detail ol,
.news-detail figure,
.news-detail blockquote {
  margin-bottom: 3.2rem;
}
.news-detail h1 {
  font-size: 3.2rem;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .news-detail h1 {
    font-size: 2rem;
  }
}
.news-detail h2 {
  font-size: 2.4rem;
  padding: 0 0 0.4rem 1.6rem;
  border-left: 0.8rem solid #10386f;
  border-bottom: 0.1rem solid #10386f;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .news-detail h2 {
    font-size: 1.8rem;
  }
}
.news-detail h3 {
  font-size: 2rem;
  padding-left: 2.2rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .news-detail h3 {
    font-size: 1.8rem;
  }
}
.news-detail h3::before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 0.1rem;
  background-color: #10386f;
  position: absolute;
  left: 0;
  top: 1.1rem;
}
.news-detail h4 {
  font-size: 2rem;
}
@media screen and (max-width: 800px) {
  .news-detail h4 {
    font-size: 1.8rem;
  }
}
.news-detail h5 {
  font-size: 1.8rem;
}
@media screen and (max-width: 800px) {
  .news-detail h5 {
    font-size: 1.7rem;
  }
}
.news-detail ul li {
  padding-left: 2.4rem;
  position: relative;
}
.news-detail ul li::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background-color: #242422;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.9rem;
}
.news-detail ol {
  counter-reset: list;
}
.news-detail ol li {
  padding-left: 2.2rem;
  position: relative;
}
.news-detail ol li::before {
  counter-increment: list;
  content: counter(list) ".";
  position: absolute;
  left: 0;
  top: 0;
}
.news-detail blockquote {
  padding: 2.4rem 3.2rem;
  border-radius: 0.2rem;
  border: 0.1rem solid #9aabc2;
  background-color: #fff;
  font-size: 1.4rem;
  color: #9aabc2;
  overflow: hidden;
  background-image: url(../img/common/icon_quote.svg);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 2.4rem;
}
.news-detail figure {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}
.news-detail figure figcaption {
  font-size: 0.8em;
  margin-top: 0.8rem;
}
.news-detail .btn1 {
  margin: 8rem auto 0;
}
@media screen and (max-width: 800px) {
  .news-detail .btn1 {
    margin-top: 5.6rem;
  }
}

.not-found-title {
  text-align: center;
  font-size: 2.4rem;
  color: #10386f;
  margin: 8rem 0 6.4rem;
}
@media screen and (max-width: 800px) {
  .not-found-title {
    margin: 4.8rem 0 4rem;
    font-size: 2rem;
  }
}
.not-found-title span {
  font-size: 12rem;
  display: block;
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .not-found-title span {
    font-size: 8rem;
  }
}

.not-found h2 {
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 4rem;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .not-found h2 {
    font-size: 2rem;
    margin-bottom: 2.4rem;
  }
}
.not-found__text {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .not-found__text {
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
}
.not-found__text a {
  color: #10386f;
  transition: opacity 0.2s ease;
}
.not-found__text a:hover {
  opacity: 0.7;
}
.not-found .btn1 {
  margin: 6.4rem auto 0;
}
@media screen and (max-width: 800px) {
  .not-found .btn1 {
    margin-top: 4rem;
    max-width: 20rem;
  }
}

.page-policy {
  padding-top: 8rem;
}
@media screen and (max-width: 800px) {
  .page-policy {
    padding-top: 4.8rem;
  }
}
.page-policy__desc {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .page-policy__desc {
    margin-bottom: 4rem;
  }
}
.page-policy__desc .title3 {
  text-align: left;
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .page-policy__desc .title3 {
    margin-bottom: 2.4rem;
  }
}
.page-policy__content {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  margin-bottom: 6.4rem;
  counter-reset: list;
}
@media screen and (max-width: 800px) {
  .page-policy__content {
    gap: 2.4rem;
    margin-bottom: 4rem;
  }
}
.page-policy__list {
  counter-increment: list;
}
.page-policy__list__title {
  font-size: 2rem;
  margin-bottom: 2.4rem;
  border-bottom: 0.1rem solid #10386f;
  padding-bottom: 0.4rem;
  font-weight: normal;
  display: flex;
  gap: 0.8rem;
  align-items: flex-start;
}
@media screen and (max-width: 800px) {
  .page-policy__list__title {
    font-size: 1.8rem;
    margin-bottom: 1.6rem;
  }
}
.page-policy__list__title::before {
  content: counter(list) ".";
  color: #10386f;
  flex-shrink: 0;
}
.page-policy .policylist-num {
  counter-reset: num;
}
.page-policy .policylist-num__title {
  counter-increment: num;
  font-weight: normal;
  padding-left: 5.3rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .page-policy .policylist-num__title {
    padding-left: 3.6rem;
  }
}
.page-policy .policylist-num__title::before {
  content: "( " counter(num) " )";
  position: absolute;
  left: 0;
  top: 0;
  width: 5.3rem;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .page-policy .policylist-num__title::before {
    width: auto;
  }
}
.page-policy .ultmarc dt {
  display: flex;
  gap: 0.8rem;
  font-weight: normal;
  font-size: 1.8rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 800px) {
  .page-policy .ultmarc dt {
    margin-bottom: 1.6rem;
  }
}
.page-policy .ultmarc dt::before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-color: #10386f;
  border-radius: 0.2rem;
  flex-shrink: 0;
  margin-top: 1rem;
}
.page-policy .policy-box {
  border: 0.1rem solid #10386f;
  padding: 1.6rem;
  width: fit-content;
}
.page-policy .t-right {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 800px) {
  .page-policy .t-right {
    gap: 2.4rem;
  }
}

.site-policy__content:not(:last-child) {
  margin-bottom: 12rem;
}
@media screen and (max-width: 800px) {
  .site-policy__content:not(:last-child) {
    margin-bottom: 6.4rem;
  }
}
.site-policy__content .title3 {
  text-align: left;
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .site-policy__content .title3 {
    margin-bottom: 2.4rem;
  }
}
.site-policy__content ul {
  counter-reset: list;
}
.site-policy__content ul li {
  counter-increment: list;
  display: flex;
  gap: 0.8rem;
}
.site-policy__content ul li::before {
  content: counter(list) ".";
  flex-shrink: 0;
}

.page-product__cont {
  margin-top: 12rem;
}
@media screen and (max-width: 800px) {
  .page-product__cont {
    margin-top: 8rem;
  }
}
.page-product__cont .title4 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .page-product__cont .title4 {
    margin-bottom: 3.2rem;
  }
}
.page-product__cont .btn1 {
  margin: 6.4rem auto 0;
}
@media screen and (max-width: 800px) {
  .page-product__cont .btn1 {
    margin-top: 3.5rem;
  }
}
.page-product__solution {
  margin-top: 4.8rem;
}
@media screen and (min-width: 801px) {
  .page-product__solution .inner {
    width: 108rem;
  }
}
.page-product .btn1 {
  margin: 6.4rem auto 0;
}
@media screen and (max-width: 800px) {
  .page-product .btn1 {
    margin-top: 4.8rem;
  }
}
@media screen and (max-width: 800px) {
  .page-product .col3 {
    grid-template-columns: 1fr;
    max-width: 30rem;
    margin: 0 auto;
  }
}

.solution-slider-wrap {
  padding: 0 4.5rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .solution-slider-wrap {
    padding: 0;
    margin-right: -1.6rem;
  }
}
.solution-slider-wrap .solution-prev,
.solution-slider-wrap .solution-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .solution-slider-wrap .solution-prev,
  .solution-slider-wrap .solution-next {
    display: none;
  }
}
.solution-slider-wrap .solution-prev {
  left: 0;
}
.solution-slider-wrap .solution-next {
  right: 0;
}

.solution-slider {
  padding: 0.5rem 0;
}
.solution-slider .swiper-slide {
  padding: 0 1.5rem;
  height: auto;
}
.solution-slider .swiper-slide .btn2 {
  height: 100%;
  background-color: #fff;
}
@media screen and (max-width: 800px) {
  .solution-slider .swiper-slide {
    padding: 0;
  }
  .solution-slider .swiper-slide .btn2__text {
    position: static;
    transform: unset;
    background-color: #fff;
    color: #10386f;
    text-shadow: unset;
    padding: 0.8rem;
    height: auto;
  }
  .solution-slider .swiper-slide .btn2__text::after {
    display: none;
  }
}
.solution-slider__btn {
  background-color: #10386f;
  width: 3.2rem;
  height: 8rem;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.solution-slider__btn::before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.2s ease;
}
.solution-slider__btn.solution-prev::before {
  border-bottom: 0.3rem solid #f6f8f9;
  border-left: 0.3rem solid #f6f8f9;
  left: 1.2rem;
}
.solution-slider__btn.solution-next::before {
  border-top: 0.3rem solid #f6f8f9;
  border-right: 0.3rem solid #f6f8f9;
  right: 1.2rem;
}
.solution-slider__btn:hover {
  opacity: 0.7;
}

.search-box {
  max-width: 72rem;
  border-radius: 0.4rem;
  border: 0.2rem solid #10386f;
  background-color: rgba(16, 56, 111, 0.04);
  margin-left: auto;
  margin-right: auto;
  padding: 6.4rem 1.6rem;
}
@media screen and (max-width: 800px) {
  .search-box {
    padding: 2.4rem 1.6rem;
  }
}
.search-box__inner {
  max-width: 56.2rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .search-box__inner {
    gap: 3.2rem;
    margin-bottom: 4rem;
  }
}
.search-box .search-result {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0.8rem;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 800px) {
  .search-box .search-result {
    margin-bottom: 0.8rem;
    font-size: 1.4rem;
  }
}
.search-box .search-result__num {
  font-size: 3.2rem;
  color: #10386f;
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .search-box .search-result__num {
    font-size: 2.4rem;
    line-height: 1.2;
  }
}

.search-list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 800px) {
  .search-list {
    gap: 1.6rem;
  }
}
.search-list__title {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .search-list__title {
    font-size: 1.6rem;
  }
}
.search-list__title .icon {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
}
@media screen and (max-width: 800px) {
  .search-list__title .icon {
    width: 2rem;
    height: 2rem;
  }
}
.search-list__cont {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 4.8rem;
  padding-left: 3.2rem;
}
@media screen and (max-width: 800px) {
  .search-list__cont {
    gap: 1.6rem 2.4rem;
    padding-left: 0;
  }
}
.search-list__cont .search-label {
  font-weight: normal;
  padding-left: 3.2rem;
  position: relative;
  cursor: pointer;
  font-size: 1.4rem;
}
@media screen and (max-width: 800px) {
  .search-list__cont .search-label {
    padding-left: 2.4rem;
  }
}
.search-list__cont .search-label::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background-color: #f6f8f9;
  border: 1px solid #9aabc2;
  position: absolute;
  left: 0;
  top: 54%;
  transform: translateY(-50%);
}
.search-list__cont .search-label::after {
  content: "";
  width: 1.2rem;
  height: 0.6rem;
  border-left: 0.2rem solid #10386f;
  border-bottom: 0.2rem solid #10386f;
  position: absolute;
  left: 0.2rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.search-list__cont .search-label:has(input:checked)::after {
  opacity: 1;
}
.search-list__input input {
  width: 100%;
  background-color: #f6f8f9;
  border: 1px solid #9aabc2;
  padding: 0.8rem;
  outline: none;
  font-size: max(1.6rem, 16px);
}
.search-list__input input:focus {
  border-color: #10386f;
}

@media screen and (min-width: 801px) {
  .product-slider {
    overflow: unset;
  }
  .product-slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .product-slider {
    margin: 0 -1.6rem;
    padding: 0.2rem 0 0.2rem 1.6rem;
  }
  .product-slider .swiper-slide {
    height: auto;
  }
  .product-slider .swiper-slide .btn-product {
    height: 100%;
  }
}

.search-header {
  position: relative;
  border-bottom: 0.1rem solid #10386f;
  border-image: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%) 1;
  padding-bottom: 4rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .search-header {
    padding-bottom: 2.4rem;
  }
}
.search-header__title {
  font-size: 3.2rem;
  color: #10386f;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 800px) {
  .search-header__title {
    font-size: 2.4rem;
  }
}
.search-header .search-tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.search-header .search-tag__item {
  display: flex;
  gap: 0.8rem;
  font-size: 2rem;
}
@media screen and (max-width: 800px) {
  .search-header .search-tag__item {
    font-size: 1.6rem;
  }
}
.search-header .search-tag__item:not(:last-child)::after {
  content: ",";
}
.search-header .search-tag__item .tag-label {
  border: 1px solid #242422;
  padding: 0.4rem 0.8rem;
  line-height: 1;
}
.search-header__freeword {
  margin-top: 0.8rem;
  font-size: 2.4rem;
}
@media screen and (max-width: 800px) {
  .search-header__freeword {
    font-size: 1.8rem;
  }
}

.product-result {
  display: flex;
  align-items: flex-end;
  margin-bottom: 3.2rem;
  font-size: 1.4rem;
}
@media screen and (max-width: 800px) {
  .product-result {
    font-size: 1.2rem;
    margin-bottom: 1.6rem;
  }
}
.product-result__num span {
  font-size: 2rem;
  color: #10386f;
  margin-right: 0.4rem;
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .product-result__num span {
    font-size: 1.6rem;
  }
}

.search-zero {
  text-align: center;
  margin: 4rem 0 6.4rem;
  font-size: 2rem;
}
@media screen and (max-width: 800px) {
  .search-zero {
    font-size: 1.6rem;
    margin-top: 3.6rem;
  }
}

.page-contact {
  padding-top: 8rem;
}
@media screen and (max-width: 800px) {
  .page-contact {
    padding-top: 4.8rem;
  }
}
.page-contact__desc {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 800px) {
  .page-contact__desc {
    gap: 2.4rem;
  }
}
.page-contact__links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.2rem;
  margin-top: 6.4rem;
}
@media screen and (max-width: 800px) {
  .page-contact__links {
    gap: 2.4rem;
    margin-top: 4rem;
  }
}
.page-contact .inner--small {
  max-width: 80rem;
}
.page-contact .wpcf7-checkbox label,
.page-contact .wpcf7-acceptance label,
.page-contact .wpcf7-radio label {
  display: block;
  width: fit-content;
  font-weight: normal;
  position: relative;
  cursor: pointer;
  padding-left: 2.4rem;
}
.page-contact .wpcf7-checkbox label:has(input:checked)::after,
.page-contact .wpcf7-acceptance label:has(input:checked)::after,
.page-contact .wpcf7-radio label:has(input:checked)::after {
  opacity: 1;
}
.page-contact .wpcf7-checkbox label::before,
.page-contact .wpcf7-acceptance label::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background-color: #f6f8f9;
  border: 1px solid #9aabc2;
  position: absolute;
  left: 0;
  top: 54%;
  transform: translateY(-50%);
}
.page-contact .wpcf7-checkbox label::after,
.page-contact .wpcf7-acceptance label::after {
  content: "";
  width: 1.2rem;
  height: 0.6rem;
  border-left: 0.2rem solid #10386f;
  border-bottom: 0.2rem solid #10386f;
  position: absolute;
  left: 0.2rem;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.page-contact .wpcf7-radio {
  display: flex;
  gap: 3.2rem;
}
.page-contact .wpcf7-radio .wpcf7-list-item.first {
  margin-left: 0 !important;
}
.page-contact .wpcf7-radio label::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background-color: #f6f8f9;
  border: 1px solid #9aabc2;
  position: absolute;
  left: 0;
  top: 54%;
  transform: translateY(-50%);
  border-radius: 50%;
}
.page-contact .wpcf7-radio label::after {
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  border-radius: 50%;
  background-color: #10386f;
  left: 0.3rem;
  top: 54%;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.page-contact .btn1,
.page-contact .btn-input {
  margin: 3.2rem auto 0;
}
@media screen and (max-width: 800px) {
  .page-contact .btn1,
  .page-contact .btn-input {
    margin-top: 1.6rem;
    max-width: 20rem;
  }
}

.contact-arrows {
  display: flex;
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .contact-arrows {
    margin-bottom: 4.8rem;
  }
}
.contact-arrows__item {
  flex: 1;
  text-align: center;
  position: relative;
  z-index: 1;
  height: 6.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #10386f;
}
@media screen and (max-width: 800px) {
  .contact-arrows__item {
    height: 5.6rem;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.4;
  }
}
.contact-arrows__item::before, .contact-arrows__item::after {
  content: "";
  width: 27rem;
  height: 100%;
  position: absolute;
}
@media screen and (max-width: 800px) {
  .contact-arrows__item::before, .contact-arrows__item::after {
    width: 12rem;
  }
}
.contact-arrows__item::before {
  width: 26.6rem;
  height: calc(100% - 0.4rem);
  background-color: #f6f8f9;
  z-index: -1;
}
@media screen and (max-width: 800px) {
  .contact-arrows__item::before {
    width: 11.6rem;
  }
}
.contact-arrows__item::after {
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  z-index: -2;
}
.contact-arrows__item.is-current {
  color: #f6f8f9;
}
.contact-arrows__item.is-current::before {
  display: none;
}
.contact-arrows__item:first-child::before {
  clip-path: polygon(0% 0%, calc(100% - 1.5rem) 0%, 100% 50%, calc(100% - 1.5rem) 100%, 0% 100%);
}
@media screen and (max-width: 800px) {
  .contact-arrows__item:first-child::before {
    clip-path: polygon(0% 0%, calc(100% - 1.1rem) 0%, 100% 50%, calc(100% - 1.1rem) 100%, 0% 100%);
  }
}
.contact-arrows__item:first-child::after {
  clip-path: polygon(0% 0%, calc(100% - 1.6rem) 0%, 100% 50%, calc(100% - 1.6rem) 100%, 0% 100%);
}
@media screen and (max-width: 800px) {
  .contact-arrows__item:first-child::after {
    clip-path: polygon(0% 0%, calc(100% - 1.2rem) 0%, 100% 50%, calc(100% - 1.2rem) 100%, 0% 100%);
  }
}
.contact-arrows__item:nth-child(2)::before, .contact-arrows__item:nth-child(3)::before {
  clip-path: polygon(calc(100% - 1.5rem) 0%, 100% 50%, calc(100% - 1.5rem) 100%, 0% 100%, 1.5rem 50%, 0% 0%);
  transform: translateX(0.05rem);
  width: 26.5rem;
}
@media screen and (max-width: 800px) {
  .contact-arrows__item:nth-child(2)::before, .contact-arrows__item:nth-child(3)::before {
    clip-path: polygon(calc(100% - 1.1rem) 0%, 100% 50%, calc(100% - 1.1rem) 100%, 0% 100%, 1.1rem 50%, 0% 0%);
    width: 11.4rem;
  }
}
.contact-arrows__item:nth-child(2)::after, .contact-arrows__item:nth-child(3)::after {
  clip-path: polygon(calc(100% - 1.6rem) 0%, 100% 50%, calc(100% - 1.6rem) 100%, 0% 100%, 1.6rem 50%, 0% 0%);
}
@media screen and (max-width: 800px) {
  .contact-arrows__item:nth-child(2)::after, .contact-arrows__item:nth-child(3)::after {
    clip-path: polygon(calc(100% - 1.2rem) 0%, 100% 50%, calc(100% - 1.2rem) 100%, 0% 100%, 1.2rem 50%, 0% 0%);
  }
}

.contact-form {
  margin: 4rem auto;
  max-width: 64rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .contact-form {
    margin: 4.8rem auto 6.4rem;
  }
}

.form-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .form-list {
    gap: 0.8rem;
  }
}
.form-list__title {
  font-weight: normal;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.form-list__title .req {
  display: block;
  width: 4.5rem;
  color: #f6f8f9;
  background-color: #10386f;
  border-radius: 0.1rem;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.2;
  padding-bottom: 0.1rem;
  margin-top: 0.1rem;
}
.form-list__input input[type=text],
.form-list__input input[type=tel],
.form-list__input input[type=email],
.form-list__input textarea {
  display: block;
  width: 100%;
  border: 1px solid #9aabc2;
  background-color: #f6f8f9;
  border-radius: 0.4rem;
  padding: 0.8rem 1.6rem;
  outline: none;
  font-size: max(1.6rem, 16px);
}
.form-list__input input[type=text]::placeholder,
.form-list__input input[type=tel]::placeholder,
.form-list__input input[type=email]::placeholder,
.form-list__input textarea::placeholder {
  color: #9aabc2;
}
.form-list__input input[type=text]:focus,
.form-list__input input[type=tel]:focus,
.form-list__input input[type=email]:focus,
.form-list__input textarea:focus {
  border-color: #10386f;
}
.form-list__input input[type=text],
.form-list__input input[type=tel] {
  max-width: 32rem;
}
@media screen and (max-width: 800px) {
  .form-list__input input[type=text],
  .form-list__input input[type=tel] {
    max-width: 24rem;
  }
}
.form-list__input input[type=email] {
  max-width: 41.4rem;
}
.form-list__input .notes {
  color: #ff0000;
  font-size: 1.4rem;
  margin-top: 0.8rem;
}
.form-list__column {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 3.2rem;
}

.form-other {
  width: 32rem;
}
@media screen and (max-width: 800px) {
  .form-other {
    width: 28rem;
  }
}

.form-time {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .form-time {
    gap: 0.8rem;
  }
  .form-time .select-wrap select {
    width: 15rem;
  }
}

.form-privacy {
  border-top: 1px solid #10386f;
  border-bottom: 1px solid #10386f;
  padding: 1.6rem 0;
}
@media screen and (max-width: 800px) {
  .form-privacy {
    padding: 2.4rem 0;
  }
}
.form-privacy__title {
  text-align: center;
  font-weight: 500;
  margin-bottom: 1.6rem;
}

.form-privacy-check {
  margin-top: 6.4rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 800px) {
  .form-privacy-check {
    margin-top: 4.8rem;
  }
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #dc3232;
  text-align: center;
}

@media screen and (min-width: 801px) {
  .page-company .sub-content__side {
    width: 20rem;
    padding-bottom: 16rem;
  }
}
@media screen and (min-width: 801px) {
  .page-company .sub-content__main {
    padding-bottom: 16rem;
  }
}

.company-info {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem 0.8rem;
}
@media screen and (max-width: 800px) {
  .company-info {
    flex-direction: column;
    gap: 0;
  }
}
.company-info__title {
  width: 20rem;
  border-bottom: 1px solid #10386f;
  padding: 0 0.8rem 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 800px) {
  .company-info__title {
    width: fit-content;
    padding: 0 0.8rem 0.8rem;
    margin-bottom: 1.6rem;
  }
}
.company-info__text, .company-info__group {
  width: calc(100% - 20.8rem);
  padding: 0 0.8rem 1.6rem;
  border-bottom: 1px solid #9aabc2;
}
@media screen and (max-width: 800px) {
  .company-info__text, .company-info__group {
    width: 100%;
    padding: 0 0.8rem 2.4rem;
  }
  .company-info__text:not(:last-child), .company-info__group:not(:last-child) {
    margin-bottom: 2.4rem;
  }
}
.company-info__text a, .company-info__group a {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  text-decoration: underline;
  transition: opacity 0.2s ease;
  width: fit-content;
}
.company-info__text a:hover, .company-info__group a:hover {
  opacity: 0.7;
}
.company-info__text a .icon, .company-info__group a .icon {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
}
.company-info__text a .icon--pdf, .company-info__group a .icon--pdf {
  width: 1.6rem;
  height: 1.6rem;
}
.company-info__text a .icon img, .company-info__group a .icon img {
  display: block;
}
.company-info__group {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  font-weight: 500;
}

.executive {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.6rem;
}
.executive__title {
  width: 11.4rem;
  font-weight: 500;
}
.executive__name {
  width: calc(100% - 13rem);
}

.company-group .img {
  max-width: 80rem;
  margin: 0 auto 6.4rem;
}
@media screen and (max-width: 800px) {
  .company-group .img {
    width: calc(100% + 3.2rem);
    margin-left: -1.6rem;
    margin-right: -1.6rem;
  }
}
.company-group__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.company-group__item {
  display: flex;
  gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .company-group__item {
    flex-direction: column;
    gap: 2.4rem;
  }
}
.company-group__item:not(:last-child) {
  padding-bottom: 4rem;
  border-bottom: 0.2rem dotted #10386f;
}
@media screen and (max-width: 800px) {
  .company-group__item:not(:last-child) {
    padding-bottom: 2.4rem;
  }
}
.company-group__title {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 2.4rem;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 800px) {
  .company-group__title {
    flex-direction: column;
    align-items: flex-start;
    font-size: 2rem;
  }
}
.company-group__title .logo--wellbe {
  width: 9rem;
}
.company-group__title .logo--smile {
  width: 6.1rem;
}
.company-group__title .logo--medhiheart {
  width: 3.2rem;
}
.company-group__title .logo img {
  display: block;
}
@media screen and (min-width: 801px) {
  .company-group__img {
    width: 48rem;
    flex-shrink: 0;
  }
}

.company-office .map {
  max-width: 80.6rem;
  margin: 0 auto;
}
.company-office .btn-office {
  cursor: pointer;
  display: block;
}
.company-office .office-wrap {
  padding-top: 6.4rem;
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .company-office .office-wrap {
    padding-top: 3.2rem;
  }
}
.company-office .office-list {
  background-color: #fff;
  border-radius: 0.4rem;
  border: 1px solid #10386f;
  padding: 3.2rem;
}
@media screen and (max-width: 800px) {
  .company-office .office-list {
    padding: 1.6rem;
  }
}
.company-office .office-list__item {
  justify-content: space-between;
  gap: 3.5rem;
  display: none !important;
}
@media screen and (max-width: 800px) {
  .company-office .office-list__item {
    flex-direction: column;
  }
}
.company-office .office-list__item.is-current {
  display: flex !important;
  gap: 2.4rem;
}
.company-office .office-list__title {
  font-size: 2rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 800px) {
  .company-office .office-list__title {
    margin-bottom: 1.6rem;
  }
}
.company-office .office-list__title .label {
  display: flex;
  align-items: center;
  width: fit-content;
  background-color: #10386f;
  color: #f6f8f9;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1;
  height: 2.7rem;
  padding: 0.2rem 1.2rem;
  border-radius: 0.2rem;
  margin-bottom: 0.8rem;
}
.company-office .office-list__add {
  margin-bottom: 1.6rem;
}
.company-office .office-list__add a {
  display: flex;
  align-items: flex-end;
  width: fit-content;
  gap: 0.4rem;
  transition: color 0.2s ease;
}
.company-office .office-list__add a:hover {
  color: #10386f;
}
.company-office .office-list__add a .pin {
  display: block;
  width: 1.6rem;
  margin-bottom: 0.4rem;
}
.company-office .office-list__add a .pin img {
  display: block;
}
.company-office .office-list .tel-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.company-office .office-list .tel-list a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  border-bottom: 1px solid #10386f;
  width: fit-content;
}
@media screen and (min-width: 801px) {
  .company-office .office-list .tel-list a {
    pointer-events: none;
  }
}
.company-office .office-list .tel-list a .icon {
  display: block;
  width: 1.5rem;
}
.company-office .office-list .tel-list a .icon img {
  display: block;
}
.company-office .office-list .tel-list a .sub {
  font-size: 1.4rem;
}
@media screen and (min-width: 801px) {
  .company-office .office-list__img {
    width: 44rem;
    flex-shrink: 0;
  }
}
.company-office .office-tab {
  max-width: 80rem;
  margin: 0 auto;
}
.company-office .office-tab__list {
  display: flex;
  gap: 3.2rem;
  margin-bottom: 4rem;
}
.company-office .office-tab__item {
  font-weight: 500;
  color: #fff;
  background-color: #10386f;
  width: 13rem;
  height: 4rem;
  border-radius: 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.company-office .office-tab__item.is-current {
  background-color: #9aabc2;
  cursor: default;
}
.company-office .office-tab__content__item {
  display: none;
}
.company-office .office-tab__content__item.is-current {
  display: block;
}
.company-office .office-tab__content__item ul {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.company-office .office-tab__content__item ul li {
  border-bottom: 1px solid #9aabc2;
}
.company-office .office-tab__content__item ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 2.4rem;
}
.company-office .office-tab__content__item ul li a .icon {
  width: 1.4rem;
}
.company-office .office-tab__content__item ul li a .icon img {
  display: block;
}
.company-office .office-select {
  margin: 3.2rem auto 0;
  background-color: #f6f8f9;
  border: 1px solid rgba(16, 56, 111, 0.4);
  border-radius: 0.2rem;
  max-width: 24rem;
  overflow: hidden;
  display: none;
}
@media screen and (max-width: 800px) {
  .company-office .office-select {
    display: block;
  }
}
.company-office .office-select__title {
  position: relative;
  padding: 1rem 1.6rem;
}
.company-office .office-select__title::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 4.3rem;
  height: 100%;
  background-color: #10386f;
}
.company-office .office-select__title::after {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  background: url("../img/common/icon_arrow-down.svg") no-repeat center center/100%;
  position: absolute;
  z-index: 1;
  right: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.4s ease;
}
.company-office .office-select__wrap {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease;
}
.company-office .office-select__item {
  margin-top: 0.8rem;
}
.company-office .office-select__btn {
  padding: 1rem 1.6rem;
  color: #10386f;
  background-color: #e7f1ff;
  position: relative;
}
.company-office .office-select__btn::before, .company-office .office-select__btn::after {
  content: "";
  width: 1.3rem;
  height: 1px;
  background-color: #10386f;
  position: absolute;
  right: 1.6rem;
  top: 50%;
  transition: transform 0.4s ease;
}
.company-office .office-select__btn::before {
  transform: rotate(-90deg);
}
.company-office .office-select__btn::after {
  transform: rotate(-180deg);
}
.company-office .office-select__btn.is-open::before, .company-office .office-select__btn.is-open::after {
  transform: rotate(0deg);
}
.company-office .office-select__content {
  height: 0;
  transition: height 0.4s ease;
  overflow: hidden;
}
.company-office .office-select__list .btn-office {
  padding: 1rem 1.6rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-office .office-select.is-open .office-select__title::after {
  transform: translateY(-50%) rotate(180deg);
}
.company-office .office-select.is-open .office-select__wrap {
  height: 29rem;
  overflow-y: scroll;
}

.office-history {
  padding: 8rem 0 10rem;
  position: relative;
  color: #f6f8f9;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
}
@media screen and (max-width: 800px) {
  .office-history {
    padding: 6.4rem 0 9.6rem;
  }
}
.office-history .pin-spacer {
  pointer-events: none;
}
.office-history__bg {
  width: 100%;
  height: 100dvh;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 4;
  clip-path: polygon(0% 0%, 0% 100%, 0 100%, 0 8rem, 100% 8rem, 100% calc(100% - 8rem), 0 calc(100% - 8rem), 0 100%, 100% 100%, 100% 0%);
  pointer-events: none;
}
@media screen and (max-width: 800px) {
  .office-history__bg {
    clip-path: polygon(0% 0%, 0% 100%, 0 100%, 0 6.4rem, 100% 6.4rem, 100% calc(100% - 3.2rem), 0 calc(100% - 3.2rem), 0 100%, 100% 100%, 100% 0%);
  }
}
.office-history__inner {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 10rem;
}
@media screen and (max-width: 800px) {
  .office-history__inner {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
}
@media screen and (min-width: 801px) {
  .office-history__side__sticky {
    position: sticky;
    top: 8rem;
  }
}
.office-history__side .title4 {
  color: #f6f8f9;
}
@media screen and (min-width: 801px) {
  .office-history__side .title4 {
    text-align: left;
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 800px) {
  .office-history__side .title4 {
    margin-bottom: 3.2rem;
  }
}
.office-history__side .title4::after {
  background: unset;
  color: rgba(246, 248, 249, 0.8);
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
  opacity: 1;
}
@media screen and (max-width: 800px) {
  .office-history__side .history-select {
    width: 20rem;
    height: 4.6rem;
    overflow: hidden;
    background-color: #f6f8f9;
    color: #242422;
    margin: 0 auto;
    border-radius: 0.2rem;
    border: 1px solid rgba(16, 56, 111, 0.4);
    position: relative;
    transition: height 0.4s ease;
  }
  .office-history__side .history-select__btn {
    width: 4rem;
    height: 4.6rem;
    position: absolute;
    background-color: #10386f;
    right: -1px;
    top: -1px;
  }
  .office-history__side .history-select__btn::after {
    content: "";
    width: 1.1rem;
    height: 1.1rem;
    background: url("../img/common/icon_arrow-down.svg") no-repeat center center/100%;
    position: absolute;
    z-index: 1;
    right: 1.4rem;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.4s ease;
  }
  .office-history__side .history-select.is-open {
    height: 18.5rem;
  }
  .office-history__side .history-select.is-open .history-select__btn::after {
    transform: translateY(-50%) rotate(180deg);
  }
}
@media screen and (min-width: 801px) {
  .office-history__side .history-select ul {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
}
@media screen and (min-width: 801px) {
  .office-history__side .history-select ul li a {
    border-bottom: 1px solid #f6f8f9;
  }
}
@media screen and (max-width: 800px) {
  .office-history__side .history-select ul li a {
    display: block;
    padding: 1rem 1.6rem;
  }
}
.office-history__main {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
@media screen and (max-width: 800px) {
  .office-history__main {
    gap: 2.4rem;
  }
}
.office-history .history-list {
  display: grid;
  grid-template-columns: 14.5rem 1fr;
  gap: 4rem;
  padding-top: 8rem;
  margin-top: -8rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .office-history .history-list {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    padding-top: 4rem;
    margin-top: -4rem;
  }
}
.office-history .history-list::before {
  content: "";
  width: 0.2rem;
  height: calc(100% - 2rem);
  background-color: #f6f8f9;
  position: absolute;
  left: 0.9rem;
  top: 10rem;
}
@media screen and (max-width: 800px) {
  .office-history .history-list::before {
    height: 100%;
    top: 6rem;
  }
}
.office-history .history-list__year {
  font-size: 3.2rem;
  font-weight: 400;
  padding-left: 6.4rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .office-history .history-list__year {
    padding-left: 4rem;
  }
}
.office-history .history-list__year::before, .office-history .history-list__year::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  z-index: 1;
  background-color: #f6f8f9;
}
.office-history .history-list__year::before {
  width: 1.6rem;
  height: 1.6rem;
  left: 0.2rem;
  top: 1.3rem;
  z-index: 2;
}
.office-history .history-list__year::after {
  width: 2rem;
  height: 2rem;
  left: 0;
  top: 1.1rem;
  filter: blur(0.4rem);
}
.office-history .history-list__text {
  padding-top: 0.8rem;
}
@media screen and (max-width: 800px) {
  .office-history .history-list__text {
    padding-left: 4rem;
    padding-top: 0;
  }
}
.office-history .history-list__text ul {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.office-history .history-list__text ul li {
  padding-left: 1.2em;
  position: relative;
}
.office-history .history-list__text ul li::before {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  background-color: #f6f8f9;
  border-radius: 50%;
  position: absolute;
  left: 0.2em;
  top: 0.7em;
}

.page-sustainability .title4 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .page-sustainability .title4 {
    margin-bottom: 3.2rem;
  }
}
.page-sustainability .title5 {
  margin-bottom: 3.2rem;
}
.page-sustainability .desc {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .page-sustainability .desc.mb24 {
    margin-bottom: 4rem;
  }
}

.sustainability-esg {
  padding-top: 8rem;
}
@media screen and (max-width: 800px) {
  .sustainability-esg {
    padding-top: 4.8rem;
  }
}
.sustainability-esg__bnr {
  max-width: 64rem;
  margin: 0 auto;
}

.sustainability-community {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .sustainability-community {
    padding-top: 8rem;
  }
}
@media screen and (max-width: 800px) {
  .sustainability-community .title5 {
    font-size: 2rem;
    text-align: center;
  }
  .sustainability-community .title5::before {
    width: 2.4rem;
    height: 2.1rem;
  }
}
.sustainability-community .col3 {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .sustainability-community .col3 {
    grid-template-columns: 1fr;
    gap: 2.4rem;
    max-width: 30rem;
    margin-bottom: 4rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.sustainability-community .insta-area__inner {
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
}
@media screen and (max-width: 800px) {
  .sustainability-community .insta-area__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
  }
}
.sustainability-community .insta-area__item:nth-child(4) {
  display: block;
}
@media screen and (max-width: 800px) {
  .sustainability-community .insta-area__item:nth-child(3), .sustainability-community .insta-area__item:nth-child(5) {
    display: block;
  }
}
.sustainability-community .insta-area__item a img {
  aspect-ratio: 3/4;
}

.sustainability-wellbeing {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .sustainability-wellbeing {
    padding-top: 8rem;
  }
}
.sustainability-wellbeing__inner {
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
@media screen and (max-width: 800px) {
  .sustainability-wellbeing__inner {
    gap: 6.4rem;
  }
}
.sustainability-wellbeing .title5 {
  justify-content: flex-start;
}
@media screen and (max-width: 800px) {
  .sustainability-wellbeing .title5 {
    flex-direction: row;
    align-items: flex-start;
    font-size: 2rem;
    margin-bottom: 2.4rem;
  }
  .sustainability-wellbeing .title5::before {
    width: 2rem;
    height: 1.8rem;
    flex-shrink: 0;
    margin-top: 0.7rem;
  }
  .sustainability-wellbeing .title5 + .mb32 {
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .sustainability-wellbeing .title6.mb32 {
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .sustainability-wellbeing .title6.mb24 {
    margin-bottom: 1.6rem;
  }
}
@media screen and (max-width: 800px) {
  .sustainability-wellbeing__content .sustainability-flex__img {
    width: 24rem;
  }
}

.sustainability-flex {
  display: flex;
  justify-content: space-between;
  gap: 2.5rem;
}
@media screen and (max-width: 800px) {
  .sustainability-flex {
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
  }
}
.sustainability-flex__img {
  width: 32rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .sustainability-flex__img {
    width: 28.4rem;
  }
}
.sustainability-flex .btn-pdf {
  margin-top: 3.2rem;
}
@media screen and (max-width: 800px) {
  .sustainability-flex .btn-pdf {
    margin-top: 2.4rem;
  }
}

.sustainability-list {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
  counter-reset: list;
}
@media screen and (max-width: 800px) {
  .sustainability-list {
    gap: 2.4rem;
  }
}
.sustainability-list__item::before {
  content: counter(list, decimal-leading-zero);
  counter-increment: list;
  font-size: 4.8rem;
  line-height: 1.2;
  font-family: "Libre Baskerville", serif;
  font-weight: bold;
  color: rgba(16, 56, 111, 0.24);
  margin-right: 0.8rem;
}
@media screen and (max-width: 800px) {
  .sustainability-list__item::before {
    font-size: 3.2rem;
  }
}
.sustainability-list__item .fw-medium {
  margin-bottom: 1.6rem;
}
.sustainability-list__item ul li {
  padding-left: 1.2em;
  position: relative;
}
.sustainability-list__item ul li::before {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  background-color: #242422;
  border-radius: 50%;
  position: absolute;
  left: 0.4em;
  top: 0.7em;
}
@media screen and (min-width: 801px) {
  .sustainability-list--col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.5rem;
  }
}

.sustainability-about {
  max-width: 80rem;
  margin: 0 auto 4rem;
  border-radius: 0.4rem;
  padding: 2.4rem;
  display: flex;
  gap: 3.2rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .sustainability-about {
    flex-direction: column;
    gap: 4rem;
    padding: 1.6rem;
    align-items: center;
    margin-bottom: 3.2rem;
  }
}
.sustainability-about::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  z-index: -2;
  border-radius: 0.4rem;
}
.sustainability-about::after {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  background-color: #f6f8f9;
  position: absolute;
  left: 1px;
  top: 1px;
  border-radius: 0.4rem;
  z-index: -1;
}
.sustainability-about__img {
  width: 20rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .sustainability-about__img {
    width: 24rem;
  }
}

.page-commitment .title4 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .page-commitment .title4 {
    margin-bottom: 3.2rem;
  }
}
.page-commitment section {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .page-commitment section {
    padding-top: 8rem;
  }
}

.commitment-message {
  margin-top: 8rem;
  padding: 8rem 0;
  color: #f6f8f9;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media screen and (min-width: 801px) {
  .commitment-message {
    background: url(../img/our-commitment/bg_message.jpg) no-repeat center center/cover;
  }
}
@media screen and (max-width: 800px) {
  .commitment-message {
    margin-top: 4.8rem;
    padding: 6.4rem 0;
  }
}
.commitment-message__bg {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  background: url(../img/our-commitment/bg_message.jpg) no-repeat center center/cover;
  z-index: -1;
}
@media screen and (max-width: 800px) {
  .commitment-message__bg {
    display: block;
  }
}
.commitment-message .title4 {
  color: #f6f8f9;
  margin-bottom: 8rem;
}
@media screen and (max-width: 800px) {
  .commitment-message .title4 {
    margin-bottom: 3.2rem;
  }
}
.commitment-message .title4::after {
  color: #f6f8f9;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
  background: unset;
  opacity: 0.56;
}
.commitment-message .title3 {
  color: #f6f8f9;
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 800px) {
  .commitment-message .title3 {
    margin-bottom: 4rem;
  }
}
.commitment-message__content {
  display: flex;
  gap: 8rem;
}
@media screen and (max-width: 800px) {
  .commitment-message__content {
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
  }
}
.commitment-message__img {
  width: 24rem;
  flex-shrink: 0;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .commitment-message__img {
    width: 100%;
  }
  .commitment-message__img .img {
    width: 15rem;
    margin: 0 auto;
  }
}
.commitment-message__img .name {
  margin-top: 1.6rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.8rem;
}
@media screen and (max-width: 800px) {
  .commitment-message__img .name {
    margin-top: 1.6rem;
  }
  .commitment-message__img .name .job {
    font-size: 1.4rem;
  }
}
.commitment-message__img .name .en {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.3;
}
@media screen and (max-width: 800px) {
  .commitment-message__img .name .en {
    font-size: 2rem;
  }
}
.commitment-message__text {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  line-height: 1.8;
}

.commitment-creed .inner {
  max-width: 64rem;
}

.commitment-motto__content {
  display: flex;
  gap: 5.7rem;
}
@media screen and (max-width: 800px) {
  .commitment-motto__content {
    flex-direction: column;
    align-items: center;
    gap: 4rem;
  }
}
.commitment-motto__img {
  width: 44rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .commitment-motto__img {
    width: 24rem;
  }
}
.commitment-motto__text {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .commitment-motto__text {
    gap: 1.6rem;
  }
}
.commitment-motto .motto {
  background-color: #fff;
  padding: 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 800px) {
  .commitment-motto .motto {
    padding: 1.6rem;
  }
}
.commitment-motto .motto__title {
  color: #10386f;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
}
.commitment-motto .motto__text {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.commitment-philosophy__img {
  max-width: 52rem;
  margin: 0 auto 6.4rem;
}
.commitment-philosophy .philosophy {
  display: grid;
  grid-template-columns: 32rem 1fr;
  gap: 0.1rem;
}
@media screen and (max-width: 800px) {
  .commitment-philosophy .philosophy {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.commitment-philosophy .philosophy__title, .commitment-philosophy .philosophy__text {
  background-color: #fff;
  border: 1px solid #f6f8f9;
  padding: 1.6rem;
  display: flex;
  align-items: center;
  min-height: 8.4rem;
}
@media screen and (max-width: 800px) {
  .commitment-philosophy .philosophy__title, .commitment-philosophy .philosophy__text {
    border: unset;
    min-height: unset;
  }
}
.commitment-philosophy .philosophy__title {
  font-size: 2rem;
  font-weight: 500;
  color: #10386f;
  justify-content: center;
}
@media screen and (max-width: 800px) {
  .commitment-philosophy .philosophy__title {
    font-size: 1.8rem;
    justify-content: flex-start;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 800px) {
  .commitment-philosophy .philosophy__text:not(:last-child) {
    margin-bottom: 1.6rem;
  }
}

@media screen and (min-width: 801px) {
  .commitment-guideline__content {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 801px) {
  .commitment-guideline .title4 {
    text-align: left;
  }
}
.commitment-guideline__text {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.commitment-guideline .guideline {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.commitment-guideline .guideline__title {
  font-size: 2rem;
  font-weight: 500;
  color: #10386f;
}

.commitment-logo .inner {
  max-width: 72rem;
}
.commitment-logo__content {
  display: flex;
  gap: 5rem;
}
@media screen and (max-width: 800px) {
  .commitment-logo__content {
    flex-direction: column;
    align-items: center;
    gap: 4rem;
  }
}
.commitment-logo__img {
  width: 23rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .commitment-logo__img {
    width: 16rem;
  }
}
.commitment-logo__text {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.recruit-desc {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0;
}

.recruit-textbox {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.box-people {
  background-color: #fff;
  height: 100%;
}
.box-people__link {
  display: block;
  position: relative;
  height: 100%;
}
.box-people__img {
  position: relative;
}
.box-people__img .label {
  position: absolute;
  left: 0;
  bottom: 1.6rem;
  border-radius: 0 0.2rem 0.2rem 0;
}
.box-people__text {
  padding: 1.6rem 1.6rem 2.4rem;
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .box-people__text {
    padding: 0.8rem 0.8rem 1.6rem;
    font-size: 1.4rem;
  }
}
.box-people__text .year {
  margin-bottom: 0.8rem;
}
.box-people__text .job {
  margin-bottom: 2.4rem;
  min-height: 2.8em;
  letter-spacing: 0;
}
.box-people__text .name {
  font-size: 2.4rem;
  font-weight: 500;
}
.box-people__overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  padding: 0 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4.8rem;
  color: #f6f8f9;
  background-color: rgba(16, 56, 111, 0.96);
  line-height: 1.8;
  opacity: 0;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 800px) {
  .box-people__overlay {
    display: none;
  }
}
@media screen and (min-width: 801px) {
  .box-people__link:hover .box-people__overlay {
    opacity: 1;
  }
}

.label {
  width: 12rem;
  height: 3.2rem;
  color: #f6f8f9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 500;
  padding-bottom: 0.2rem;
}

.eigyou .label {
  background-color: #10386f;
}

.butsuryu .label {
  background-color: #479ac1;
}
.butsuryu .box-people__overlay {
  background-color: rgba(71, 154, 193, 0.96);
}

.yakuji .label {
  background-color: #5dbfd6;
}
.yakuji .box-people__overlay {
  background-color: rgba(93, 191, 214, 0.96);
}

.page-people .w640 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 800px) {
  .page-people .w640 {
    margin-bottom: 4.8rem;
  }
}
@media screen and (max-width: 800px) {
  .page-people .col3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
  }
}

.page-mid-career .w640 {
  margin-bottom: 8rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 800px) {
  .page-mid-career .w640 {
    margin-bottom: 4.8rem;
  }
}
.page-mid-career .btn-recruit1 {
  margin-left: auto;
  margin-right: auto;
}

.recruit-site .loading__circle {
  background-color: #479ac1;
}
.recruit-site .loading__circle:nth-child(3n-1) {
  background-color: #5dbfd6;
}
.recruit-site .loading__circle:nth-child(3n) {
  background-color: #10386f;
}
.recruit-site .list-square li::before {
  background-color: #479ac1;
}
.recruit-site .page-contact .contact-arrows__item {
  color: #479ac1;
  font-weight: 500;
}
.recruit-site .page-contact .contact-arrows__item.is-current {
  color: #f6f8f9;
}
.recruit-site .page-contact .contact-arrows__item::after {
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
}
.recruit-site .page-contact .select-wrap::after {
  border-color: #86bcd6;
}
.recruit-site .page-contact .select-wrap select {
  width: 32rem;
  border-color: #86bcd6;
}
.recruit-site .page-contact .select-wrap select:focus {
  border-color: #479ac1;
}
.recruit-site .page-contact .select-wrap option:hover {
  background-color: #479ac1;
}
.recruit-site .page-contact .wpcf7-checkbox label::before,
.recruit-site .page-contact .wpcf7-acceptance label::before {
  border-color: #86bcd6;
}
.recruit-site .page-contact .wpcf7-checkbox label::after,
.recruit-site .page-contact .wpcf7-acceptance label::after {
  border-color: #479ac1;
}
.recruit-site .page-contact .btn-recruit1 {
  width: 24rem;
  margin: 3.2rem auto 0;
}
.recruit-site .form-list__title .req {
  background-color: #479ac1;
}
.recruit-site .form-list__input input[type=text],
.recruit-site .form-list__input input[type=tel],
.recruit-site .form-list__input input[type=email],
.recruit-site .form-list__input textarea {
  border-color: #86bcd6;
}
.recruit-site .form-list__input input[type=text]:focus,
.recruit-site .form-list__input input[type=tel]:focus,
.recruit-site .form-list__input input[type=email]:focus,
.recruit-site .form-list__input textarea:focus {
  border-color: #479ac1;
}

.recruit-fv {
  min-height: 100vh;
  position: relative;
}
.recruit-fv::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  opacity: 0.24;
}
.recruit-fv__video {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
}
.recruit-fv__video__inner {
  min-width: 100vw;
  min-height: 100vh;
  aspect-ratio: 16/9;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}
.recruit-fv__video__inner iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruit-fv__catch {
  position: absolute;
  z-index: 2;
  width: 70rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 800px) {
  .recruit-fv__catch {
    width: 25.4rem;
  }
}
.recruit-fv .scroll-down {
  position: absolute;
  z-index: 2;
  top: calc(50% + 11.5rem);
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.4rem;
  font-weight: 500;
  color: #f6f8f9;
  text-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.24);
  padding-top: 8.8rem;
}
@media screen and (max-width: 800px) {
  .recruit-fv .scroll-down {
    top: calc(50% + 8.8rem);
    font-size: 1.6rem;
    padding-top: 6.4rem;
  }
}
.recruit-fv .scroll-down::before {
  content: "";
  width: 0.1rem;
  min-width: 1px;
  height: 4.8rem;
  background-color: #f6f8f9;
  position: absolute;
  top: 0;
  left: 50%;
  text-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.4);
  animation: scrollDown 2s ease infinite;
}
@media screen and (max-width: 800px) {
  .recruit-fv .scroll-down::before {
    height: 3.2rem;
  }
}

@keyframes scrollDown {
  0% {
    transform: scaleY(0);
    transform-origin: center top;
  }
  50% {
    transform: scaleY(1);
    transform-origin: center top;
  }
  51% {
    transform: scaleY(1);
    transform-origin: center bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: center bottom;
  }
}
.recruit-top-works {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-works {
    padding-top: 4.8rem;
  }
}
.recruit-top-works .recruit-title1 {
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-works .recruit-title1 {
    margin-bottom: 3.2rem;
  }
}
.recruit-top-works .recruit-desc {
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-works .recruit-desc {
    margin-bottom: 2.4rem;
  }
}

.recruit-works-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media screen and (max-width: 800px) {
  .recruit-works-list {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}
.recruit-works-list__link {
  display: block;
  background-color: #fff;
  padding-left: 3rem;
  border-radius: 0.2rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 800px) {
  .recruit-works-list__link {
    padding-left: 2.6rem;
  }
}
.recruit-works-list__link .en {
  font-weight: 200;
  writing-mode: sideways-lr;
  position: absolute;
  left: 0.5rem;
  bottom: 5rem;
}
@media screen and (max-width: 800px) {
  .recruit-works-list__link .en {
    font-size: 1.4rem;
    left: 0.4rem;
    bottom: 4.8rem;
  }
}
.recruit-works-list__link__title {
  font-size: 2.4rem;
  font-weight: 500;
  padding: 0.8rem 0;
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .recruit-works-list__link__title {
    font-size: 1.8rem;
  }
}
.recruit-works-list__link::after {
  content: "";
  width: 2.5rem;
  height: 1.6rem;
  background: url("../img/recruit/common/icon_arrow-black.svg") no-repeat center center/100%;
  position: absolute;
  right: 3rem;
  bottom: 1.6rem;
  transition: right 0.4s ease;
}
@media screen and (max-width: 800px) {
  .recruit-works-list__link::after {
    width: 2.1rem;
    height: 1.3rem;
    right: 1.6rem;
  }
}
@media screen and (min-width: 801px) {
  .recruit-works-list__link:hover::after {
    right: 1.6rem;
  }
}

.recruit-top-people {
  padding-top: 16rem;
  position: relative;
  overflow-x: hidden;
}
@media screen and (max-width: 800px) {
  .recruit-top-people {
    padding-top: 8rem;
  }
}
@media screen and (min-width: 801px) {
  .recruit-top-people::before {
    content: "Side Scroll";
    width: 110rem;
    position: absolute;
    right: 0;
    bottom: 4.4rem;
    font-family: "Poppins", sans-serif;
  }
}
@media screen and (min-width: 801px) {
  .recruit-top-people::after {
    content: "";
    width: 110rem;
    height: 1px;
    background: #479ac1;
    background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
    position: absolute;
    bottom: 4rem;
    right: 0;
    z-index: -1;
  }
}
@media screen and (min-width: 801px) {
  .recruit-top-people .inner {
    display: grid;
    grid-template-columns: 26.4rem 1fr;
    gap: 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .recruit-top-people .inner {
    position: relative;
    padding-bottom: 8rem;
  }
  .recruit-top-people .inner .btn-recruit1 {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
}
.recruit-top-people__header {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-people__header {
    margin-bottom: 3.2rem;
  }
}
.recruit-top-people__content .people-slider {
  margin-right: -4rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-people__content .people-slider {
    margin-right: -1.6rem;
  }
}
.recruit-top-people__content .people-slider .swiper-slide {
  padding-right: 3.2rem;
  height: auto;
}
@media screen and (max-width: 800px) {
  .recruit-top-people__content .people-slider .swiper-slide {
    padding-right: 1.6rem;
  }
}

.recruit-top-workstyle {
  padding-top: 16rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-workstyle {
    padding-top: 8rem;
  }
}
.recruit-top-workstyle .inner {
  display: flex;
  flex-direction: row-reverse;
  gap: 4rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-workstyle .inner {
    flex-direction: column;
  }
}
@media screen and (min-width: 801px) {
  .recruit-top-workstyle__header {
    width: 56rem;
    flex-shrink: 0;
  }
}
.recruit-top-workstyle .recruit-title1 {
  margin-bottom: 3.2rem;
}
.recruit-top-workstyle .btn-recruit1 {
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .recruit-top-workstyle .btn-recruit1 {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 800px) {
  .recruit-top-workstyle__img {
    margin: 0 -1.6rem;
  }
}

.recruit-top-message {
  padding-top: 16rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-message {
    padding-top: 8rem;
  }
}
.recruit-top-message .recruit-title1 {
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-message .recruit-title1 {
    margin-bottom: 3.2rem;
  }
}
.recruit-top-message__content {
  padding: 12rem 0 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .recruit-top-message__content {
    padding-top: 0;
  }
}
@media screen and (min-width: 801px) {
  .recruit-top-message__img {
    position: absolute;
    left: 0;
    top: 0;
    max-width: 88rem;
    z-index: -1;
  }
}
@media screen and (max-width: 800px) {
  .recruit-top-message__img {
    margin-bottom: 3.2rem;
  }
}
@media screen and (min-width: 801px) {
  .recruit-top-message__text {
    width: 72rem;
    background-color: rgba(246, 248, 249, 0.96);
    padding: 6.4rem 4rem;
    margin: 0 0 0 auto;
    line-height: 1.8;
    box-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.16);
    border-radius: 0.2rem;
    backdrop-filter: blur(4px);
  }
}
.recruit-top-message__text h3 {
  margin-bottom: 3.2rem;
  font-size: 2.4rem;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .recruit-top-message__text h3 {
    font-size: 2rem;
    margin-bottom: 2.4rem;
    text-align: center;
  }
}
.recruit-top-message__name {
  margin: 3.2rem 0 0 auto;
}
@media screen and (max-width: 800px) {
  .recruit-top-message__name {
    margin-top: 0;
    font-size: 1.4rem;
  }
}
.recruit-top-message__name span {
  font-size: 2rem;
  margin-left: 1.6rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-message__name span {
    font-size: 1.8rem;
    margin-left: 0.8rem;
  }
}

.recruit-top-join {
  margin-top: 16rem;
  background: url(../img/recruit/top/bg_join.jpg) no-repeat center center/cover;
}
@media screen and (max-width: 800px) {
  .recruit-top-join {
    margin-top: 8rem;
  }
}
.recruit-top-join .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6.4rem;
  min-height: 72rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-join .inner {
    min-height: 40rem;
    gap: 4rem;
  }
}
.recruit-top-join__list {
  display: flex;
  justify-content: center;
  gap: 4rem;
}
@media screen and (max-width: 800px) {
  .recruit-top-join__list {
    flex-direction: column;
    gap: 2.4rem;
  }
}

.works-desc .w640 {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .works-desc .w640 {
    margin-bottom: 4.8rem;
  }
}

.works-anchor {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  position: sticky;
  top: 5.8rem;
  z-index: 10;
  max-width: 96rem;
  margin: 0 auto;
  backdrop-filter: blur(8px);
}
@media screen and (max-width: 800px) {
  .works-anchor {
    top: 4.8rem;
  }
}
.works-anchor::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  opacity: 0.8;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
.works-anchor__item:nth-child(2) {
  border-left: 1px solid #f6f8f9;
  border-right: 1px solid #f6f8f9;
}
.works-anchor__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: 0.8rem;
  color: #b3c7db;
  transition: color 0.4s ease;
}
@media screen and (max-width: 800px) {
  .works-anchor__link {
    font-size: 1.4rem;
    gap: 0.8rem;
  }
}
.works-anchor__link::after {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-bottom: 2px solid #b3c7db;
  border-right: 2px solid #b3c7db;
  transform: rotate(45deg);
  transition: border-color 0.4s ease;
  margin-top: -0.2rem;
}
@media screen and (max-width: 800px) {
  .works-anchor__link::after {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 1px solid #b3c7db;
    border-right: 1px solid #b3c7db;
  }
}
@media screen and (min-width: 801px) {
  .works-anchor__link:hover {
    color: #f6f8f9;
  }
  .works-anchor__link:hover::after {
    border-color: #f6f8f9;
  }
}
.works-anchor .is-current .works-anchor__link {
  color: #f6f8f9;
}
.works-anchor .is-current .works-anchor__link::after {
  border-color: #f6f8f9;
}

.works-content {
  display: flex;
  flex-direction: column;
  gap: 28rem;
}
@media screen and (max-width: 800px) {
  .works-content {
    gap: 17.6rem;
  }
}
.works-content__item {
  padding-top: 8rem;
}
@media screen and (max-width: 800px) {
  .works-content__item {
    padding-top: 6.4rem;
  }
}
.works-content__item:not(:last-child) {
  position: relative;
}
.works-content__item:not(:last-child)::after {
  content: "";
  width: 0.2rem;
  height: 12rem;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  position: absolute;
  left: 50%;
  bottom: -24rem;
}
@media screen and (max-width: 800px) {
  .works-content__item:not(:last-child)::after {
    height: 8rem;
    bottom: -16rem;
  }
}

.works-sec__header {
  position: relative;
  max-width: 80rem;
  margin: 0 auto;
}
.works-sec__img {
  position: relative;
}
@media screen and (max-width: 800px) {
  .works-sec__img {
    margin-bottom: 3.2rem;
  }
}
.works-sec__img__en {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 2rem;
  font-weight: 200 !important;
  writing-mode: sideways-lr;
  color: #f6f8f9;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 4.5rem;
  height: 100%;
  line-height: 1;
  padding: 1.6rem 0;
}
@media screen and (max-width: 800px) {
  .works-sec__img__en {
    width: 2rem;
    font-size: 1.3rem;
    padding: 0.4rem 0;
  }
}
@media screen and (min-width: 801px) {
  .works-sec__text {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    color: #f6f8f9;
    padding-bottom: 2.8rem;
  }
  .works-sec__text .label {
    margin-left: 6.4rem;
    font-size: 2.4rem;
    width: fit-content;
    min-width: 11.4rem;
    padding: 0 2rem;
    height: 3.9rem;
  }
  .works-sec__text p {
    margin-left: 6.4rem;
    text-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.4);
  }
}
@media screen and (max-width: 800px) {
  .works-sec__text .label {
    width: fit-content;
    padding: 0 1.6rem;
    height: 2.7rem;
    margin-bottom: 0.8rem;
  }
  .works-sec__text p {
    font-weight: 500;
  }
}
.works-sec__catch {
  font-size: 4rem;
  border-bottom: 0.2rem solid #f6f8f9;
  position: relative;
}
@media screen and (min-width: 801px) {
  .works-sec__catch {
    text-shadow: 0.2rem 0.4rem 0.1rem rgba(0, 0, 0, 0.4);
    padding: 0 3.2rem 0.8rem 6.4rem;
    margin-bottom: 0.8rem;
  }
  .works-sec__catch::after {
    content: "";
    width: 0.2rem;
    height: 6.4rem;
    background-color: #f6f8f9;
    position: absolute;
    right: 2rem;
    bottom: -2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .works-sec__catch {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.5;
    padding: 0 1.6rem 0.8rem 0;
    width: fit-content;
    border-bottom-width: 0.1rem;
    margin-bottom: 0.8rem;
  }
}
.works-sec.eigyou .works-sec__img__en,
.works-sec.eigyou .works-sec__catch::after {
  background-color: #10386f;
}
.works-sec.eigyou .works-sec__catch {
  border-bottom-color: #10386f;
}
.works-sec.yakuji .works-sec__img__en,
.works-sec.yakuji .works-sec__catch::after {
  background-color: #5dbfd6;
}
.works-sec.yakuji .works-sec__catch {
  border-bottom-color: #5dbfd6;
}
.works-sec.butsuryu .works-sec__img__en,
.works-sec.butsuryu .works-sec__catch::after {
  background-color: #479ac1;
}
.works-sec.butsuryu .works-sec__catch {
  border-bottom-color: #479ac1;
}
.works-sec__content {
  padding-top: 8rem;
  max-width: 72rem;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .works-sec__content {
    padding-top: 4rem;
  }
}
.works-sec__content .recruit-title2 {
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .works-sec__content .recruit-title2 {
    margin-bottom: 2.4rem;
  }
}
.works-sec__people {
  max-width: 96rem;
}
.works-sec__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  margin-top: 3.2rem;
}
@media screen and (max-width: 800px) {
  .works-sec__list {
    grid-template-columns: 1fr;
    max-width: 23.2rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.works-sec__list__icon {
  width: 6.4rem;
  height: 6.4rem;
}
.works-sec__list__icon img {
  width: 100%;
}
.works-sec__list__item {
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  border-radius: 0.8rem;
  position: relative;
  box-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.32);
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
}
.works-sec__list__item::before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  background-color: #f6f8f9;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 0.7rem;
  z-index: -1;
}
.works-sec .col3 {
  gap: 3.2rem 6rem;
}
@media screen and (max-width: 800px) {
  .works-sec .col3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
  }
}

.people-detail {
  padding-top: 6rem;
}
@media screen and (max-width: 800px) {
  .people-detail {
    padding-top: 4.8rem;
  }
}
.people-detail .sub-page__main {
  padding-top: 0;
  margin-bottom: 0;
}
.people-detail .people-header {
  min-height: calc(100vh - 18.2rem);
  padding-bottom: 48rem;
  padding-top: 4rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .people-detail .people-header {
    min-height: unset;
    padding-bottom: unset;
    padding-top: 0;
  }
  .people-detail .people-header .breadcrumbs-area {
    position: absolute;
    left: 0;
    top: 0.8rem;
  }
}
@media screen and (min-width: 801px) {
  .people-detail .people-header__img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
  .people-detail .people-header__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.people-detail .people-header__prof {
  background-color: rgba(246, 248, 249, 0.96);
  padding: 4.8rem 2rem 4rem;
  box-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.4);
}
@media screen and (min-width: 801px) {
  .people-detail .people-header__prof {
    width: 32rem;
    position: absolute;
    left: 6rem;
    bottom: 4rem;
  }
}
@media screen and (max-width: 800px) {
  .people-detail .people-header__prof {
    padding: 1.6rem;
    position: relative;
  }
}
.people-detail .people-header__prof__job {
  width: 12rem;
  height: 2.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f6f8f9;
  position: absolute;
  left: 0;
  top: 2.4rem;
}
@media screen and (max-width: 800px) {
  .people-detail .people-header__prof__job {
    width: 8.1rem;
    top: 1.6rem;
  }
}
.people-detail .people-header__prof__name {
  font-size: 4.8rem;
  font-weight: 500;
  font-style: italic;
  text-align: center;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 800px) {
  .people-detail .people-header__prof__name {
    font-size: 3.2rem;
    margin-bottom: 0;
  }
}
.people-detail .people-header__prof__info {
  display: grid;
  grid-template-columns: 11.2rem 1fr;
  gap: 2.4rem 0;
  align-items: flex-end;
}
@media screen and (max-width: 800px) {
  .people-detail .people-header__prof__info {
    grid-template-columns: 12.4rem 1fr;
    gap: 1.6rem 0;
  }
}
.people-detail .people-header__prof__info dt {
  font-weight: normal;
  font-size: 1.4rem;
  text-align: center;
  border-bottom: 1px solid #242422;
  padding: 1rem 0 0.4rem;
}
.people-detail .people-header__prof__info dd {
  font-weight: 500;
  font-size: 1.8rem;
  border-bottom: 1px solid #242422;
  padding: 1rem 0 0.4rem;
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .people-detail .people-header__prof__info dd {
    font-size: 1.6rem;
  }
}
.people-detail .people-header__title {
  min-height: 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  color: #f6f8f9;
  padding: 2.4rem 0;
}
@media screen and (max-width: 800px) {
  .people-detail .people-header__title {
    min-height: 14rem;
    font-size: 2rem;
  }
}
.people-detail.eigyou .sub-page__main,
.people-detail.eigyou .people-header__prof__job {
  background-color: #10386f;
}
.people-detail.eigyou .people-header__prof__name,
.people-detail.eigyou .people-interview__title {
  color: #10386f;
}
.people-detail.eigyou .people-header__prof__prof dt,
.people-detail.eigyou .people-header__prof__prof dd {
  border-color: #10386f;
}
.people-detail.yakuji .sub-page__main,
.people-detail.yakuji .people-header__prof__job {
  background-color: #5dbfd6;
}
.people-detail.yakuji .people-header__prof__name,
.people-detail.yakuji .people-interview__title {
  color: #5dbfd6;
}
.people-detail.yakuji .people-header__prof__prof dt,
.people-detail.yakuji .people-header__prof__prof dd {
  border-color: #5dbfd6;
}
.people-detail.butsuryu .sub-page__main,
.people-detail.butsuryu .people-header__prof__job {
  background-color: #479ac1;
}
.people-detail.butsuryu .people-header__prof__name,
.people-detail.butsuryu .people-interview__title {
  color: #479ac1;
}
.people-detail.butsuryu .people-header__prof__prof dt,
.people-detail.butsuryu .people-header__prof__prof dd {
  border-color: #479ac1;
}

.people-interview {
  padding: 8rem 0 12rem;
  line-height: 1.8;
}
@media screen and (max-width: 800px) {
  .people-interview {
    padding: 4rem 0 4.8rem;
  }
}
.people-interview .inner {
  max-width: 80rem;
}
.people-interview__inner {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.people-interview__content {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.people-interview__title, .people-interview__answer {
  padding-left: 2.4rem;
  position: relative;
}
.people-interview__title::before, .people-interview__answer::before {
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Poppins", sans-serif;
}
.people-interview__title::before {
  content: "Q.";
}
.people-interview__answer::before {
  content: "A.";
}
.people-interview__answer:has(.img) {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .people-interview__answer:has(.img) {
    flex-direction: column;
    gap: 3.2rem;
  }
}
.people-interview__answer:has(.img) .img {
  width: 32rem;
  flex-shrink: 0;
  border-radius: 0.4rem;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .people-interview__answer:has(.img) .img {
    width: calc(100% + 2.4rem);
    margin-left: -2.4rem;
  }
}
.people-interview__answer:has(.img-large) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.2rem;
}
.people-interview__answer:has(.img-large) .img-large {
  max-width: 56rem;
  border-radius: 0.4rem;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .people-interview__answer:has(.img-large) .img-large {
    width: calc(100% + 2.4rem);
    margin-left: -2.4rem;
    max-width: unset;
  }
}
.people-interview__movie {
  margin-top: 8rem;
}
.people-interview__movie .movie-wrapper {
  position: relative;
  height: 0;
  padding: 0 0 56.25%;
  overflow: hidden;
}
.people-interview__movie .movie-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 800px) {
  .people-interview__movie {
    margin-top: 4.8rem;
  }
}

.people-flow {
  padding: 7.4rem 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
}
@media screen and (max-width: 800px) {
  .people-flow {
    padding: 6.4rem 0;
  }
}
.people-flow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(16, 56, 111, 0.48);
  z-index: 1;
}
.people-flow .inner {
  position: relative;
  z-index: 2;
  color: #f6f8f9;
  z-index: 2;
}
@media screen and (min-width: 801px) {
  .people-flow .inner {
    width: 108rem;
  }
}
.people-flow__title {
  font-size: 2.4rem;
  font-weight: 500;
  padding-bottom: 1.6rem;
  position: relative;
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .people-flow__title {
    font-size: 2rem;
    padding-bottom: 0.8rem;
  }
}
.people-flow__title::before {
  content: "";
  width: 3.2rem;
  height: 0.2rem;
  background-color: #d9d9d9;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 800px) {
  .people-flow__wrap {
    overflow-x: scroll;
    margin: 0 -1.6rem;
    padding-left: 1.6rem;
  }
}
.people-flow__content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5.6rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .people-flow__content {
    width: 108rem;
    padding-right: 1.6rem;
  }
}
.people-flow__content::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #f6f8f9;
  position: absolute;
  left: 0;
  top: 10rem;
}
@media screen and (max-width: 800px) {
  .people-flow__content::before {
    width: calc(100% - 1.6rem);
  }
}
.people-flow__list {
  position: relative;
}
.people-flow__list::before, .people-flow__list::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background-color: #f6f8f9;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 9.2rem;
  border-radius: 50%;
  z-index: 2;
}
.people-flow__list::after {
  width: 2.8rem;
  height: 2.8rem;
  filter: blur(0.4rem);
  top: 8.6rem;
  z-index: 1;
  opacity: 0.9;
}
.people-flow__list__time {
  font-size: 3.2rem;
  text-align: center;
  font-weight: normal;
  margin-bottom: 11.2rem;
}
.people-flow__list .list-dot {
  gap: 0.4rem;
}
.people-flow__list .list-dot__item {
  padding-left: 1em;
}
.people-flow__list .list-dot__item::before {
  width: 0.4rem;
  height: 0.4rem;
  background-color: #f6f8f9;
  top: 1.2rem;
}

.people-recruit {
  padding: 16rem 0;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  color: #f6f8f9;
}
@media screen and (max-width: 800px) {
  .people-recruit {
    padding: 6.4rem 0;
  }
  .people-recruit .recruit-top-join__list {
    align-items: center;
  }
}
.people-recruit__title {
  font-size: 4.8rem;
  text-align: center;
  margin-bottom: 2.4rem;
  font-weight: 400;
}
@media screen and (max-width: 800px) {
  .people-recruit__title {
    font-size: 3.2rem;
  }
}
.people-recruit p {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .people-recruit p {
    font-size: 1.6rem;
    margin-bottom: 3.2rem;
  }
}

.people-other {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .people-other {
    padding-top: 6.4rem;
  }
}
@media screen and (min-width: 801px) {
  .people-other .inner {
    width: 100%;
  }
}
.people-other .inner > .btn-recruit1 {
  margin: 12rem auto 0;
}
@media screen and (max-width: 800px) {
  .people-other .inner > .btn-recruit1 {
    margin-top: 8rem;
  }
}
.people-other .recruit-title2 {
  justify-content: flex-start;
  max-width: 96rem;
  margin: 0 auto 4rem;
}
@media screen and (max-width: 800px) {
  .people-other .recruit-title2 {
    margin-bottom: 3.2rem;
  }
}
@media screen and (min-width: 801px) {
  .people-other .other-people-slider {
    max-width: calc(100dvw - 16rem);
    margin: 0 0 0 auto;
  }
}
@media screen and (max-width: 800px) {
  .people-other .other-people-slider {
    margin: 0 -1.6rem;
    padding-left: 1.6rem;
  }
}
.people-other .other-people-slider .swiper-slide {
  padding-right: 2.4rem;
  height: auto;
}
@media screen and (max-width: 800px) {
  .people-other .other-people-slider .swiper-slide {
    padding-right: 1.6rem;
  }
}
@media screen and (max-width: 800px) {
  .people-other .col3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
  }
}

@media screen and (min-width: 801px) {
  .page-workstyle section {
    padding-top: 12rem;
  }
}
.page-workstyle .recruit-title2 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .page-workstyle .recruit-title2 {
    margin-bottom: 2.4rem;
  }
}

@media screen and (max-width: 800px) {
  .workstyle-training {
    padding-top: 4.8rem;
  }
}
.workstyle-training .w640 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .workstyle-training .w640 {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 800px) {
  .workstyle-training__flow {
    margin: 0 -1.6rem;
    padding-left: 1.6rem;
    overflow-x: scroll;
  }
  .workstyle-training__flow__item {
    width: 70rem;
    padding-right: 1.6rem;
  }
}

@media screen and (max-width: 800px) {
  .workstyle-data {
    padding-top: 6.4rem;
  }
}
.workstyle-data .data-box {
  border-radius: 0.4rem;
  background-color: #fff;
  overflow: hidden;
  box-shadow: 0.1rem 0.2rem 0.1rem rgba(0, 0, 0, 0.16);
  height: 100%;
}
.workstyle-data .data-box__title {
  text-align: center;
  font-size: 2rem;
  color: #f6f8f9;
  background-color: #479ac1;
  padding: 0.5rem;
}
@media screen and (max-width: 800px) {
  .workstyle-data .data-box__title {
    font-size: 1.8rem;
    padding: 0.3rem;
  }
}
.workstyle-data .data-box__content {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem;
  min-height: 16rem;
  gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .workstyle-data .data-box__content {
    min-height: 11.6rem;
    gap: 2.4rem;
  }
}
@media screen and (min-width: 801px) {
  .workstyle-data .data-box__content .notes {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
  }
}
.workstyle-data .data-box__text {
  position: relative;
}
.workstyle-data .data-box__num {
  color: #479ac1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
}
.workstyle-data .data-box__num .count-up {
  font-size: 9.6rem;
  line-height: 9.6rem;
  font-weight: bold;
}
@media screen and (max-width: 800px) {
  .workstyle-data .data-box__num .count-up {
    font-size: 8rem;
    line-height: 8rem;
  }
}
.workstyle-data .data-box__num .count-center {
  margin: -0.2em 1.6rem 0;
  font-size: 9.6rem;
  line-height: 9.6rem;
  font-weight: bold;
}
@media screen and (max-width: 800px) {
  .workstyle-data .data-box__num .count-center {
    font-size: 8rem;
    line-height: 8rem;
  }
}
.workstyle-data .data-box__num__wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 800px) {
  .workstyle-data .data-box__num__wrap {
    flex-wrap: wrap;
  }
}
.workstyle-data .data-box__num__text {
  writing-mode: vertical-rl;
  font-size: 2rem;
  font-weight: 500;
}
.workstyle-data .data-box__num__unit {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2.2;
}
@media screen and (max-width: 800px) {
  .workstyle-data .data-box__num__unit {
    line-height: 2;
  }
}
.workstyle-data .data-box__img {
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .workstyle-data .data-box__img {
    display: none;
  }
}
.workstyle-data .data-box__header {
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .workstyle-data .data-box__header {
    text-align: center;
  }
}
.workstyle-data .data-box__header .fw-medium {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 800px) {
  .workstyle-data .data-box__header .fw-medium {
    margin-bottom: 0.8rem;
  }
}
.workstyle-data__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .workstyle-data__list {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}
.workstyle-data__list__item:first-child .count-up {
  width: 0.8em;
}
@media screen and (max-width: 800px) {
  .workstyle-data__list__item:first-child .count-up {
    width: 0.7em;
  }
}
.workstyle-data__list__item:first-child .data-box__img {
  width: 16.4rem;
}
.workstyle-data__list__item:nth-child(2) .count-up {
  width: 2em;
}
.workstyle-data__list__item:nth-child(2) .data-box__img {
  width: 12.6rem;
}
.workstyle-data__list__item:nth-child(3) .count-up {
  width: 1.6em;
}
.workstyle-data__list__item:nth-child(3) .data-box__img {
  width: 10rem;
}
.workstyle-data__list__item:nth-child(4) .count-up {
  width: 1.6em;
}
.workstyle-data__list__item:nth-child(4) .data-box__img {
  width: 9rem;
}
.workstyle-data__list__item:nth-child(5) .count-up {
  width: 1.6em;
}
@media screen and (max-width: 800px) {
  .workstyle-data__list__item:nth-child(5) .count-up {
    width: 1.7em;
  }
}
.workstyle-data__list__item:nth-child(5) .data-box__img {
  width: 8.8rem;
}
.workstyle-data__list__item:nth-child(6) .count-up {
  width: 1.5em;
}
@media screen and (max-width: 800px) {
  .workstyle-data__list__item:nth-child(6) .count-up {
    width: 1.6em;
  }
}
.workstyle-data__list__item:nth-child(6) .data-box__img {
  width: 9rem;
}
@media screen and (min-width: 801px) {
  .workstyle-data__list__item--large {
    grid-column: 1/3;
  }
}
.workstyle-data__list__item--large .data-box__content {
  align-items: flex-end;
  justify-content: space-between;
  padding: 1.6rem 3.2rem;
}
@media screen and (max-width: 800px) {
  .workstyle-data__list__item--large .data-box__content {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 800px) {
  .workstyle-data__list__item--large .data-box__title {
    font-size: 1.4rem;
    padding: 1rem 0.3rem;
  }
}
.workstyle-data__list__item--large .data-box__text {
  display: flex;
  align-items: center;
  gap: 8rem;
}
@media screen and (max-width: 800px) {
  .workstyle-data__list__item--large .data-box__text {
    flex-direction: column;
    gap: 1.6rem;
  }
}
.workstyle-data__list__item--large .data-box__text__item {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .workstyle-data__list__item--large .data-box__text__item {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    gap: 1.6rem;
  }
}
.workstyle-data__list__item--large .count-up {
  width: 1em;
}
.workstyle-data__list__item--large .data-box__img {
  width: 9.5rem;
  padding-bottom: 0.4rem;
}

.page-new-graduate .recruit-title2 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .page-new-graduate .recruit-title2 {
    margin-bottom: 2.4rem;
  }
}

@media screen and (max-width: 800px) {
  .new-graduate-desc .recruit-title2 {
    justify-content: flex-start;
  }
}

.new-graduate-info {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-info {
    padding-top: 6.4rem;
  }
}
.new-graduate-info .tab-list {
  border-bottom: 1px solid #10386f;
  display: flex;
  justify-content: center;
  gap: 2.4rem;
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-info .tab-list {
    gap: 0.8rem;
    margin-bottom: 2.4rem;
  }
}
.new-graduate-info .tab-list__item {
  border-radius: 0.8rem 0.8rem 0 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38.8rem;
  height: 5.6rem;
  background-color: #f6f8f9;
  border: 1px solid #10386f;
  border-bottom: none;
}
@media screen and (max-width: 800px) {
  .new-graduate-info .tab-list__item {
    width: 100%;
    height: 4.8rem;
  }
}
.new-graduate-info .tab-list__item.is-current {
  background-color: #10386f;
  color: #f6f8f9;
}
.new-graduate-info .tab-list__item.yakuji {
  border-color: #5dbfd6;
}
.new-graduate-info .tab-list__item.yakuji.is-current {
  background-color: #5dbfd6;
  color: #f6f8f9;
}
.new-graduate-info .tab-content {
  max-width: 80rem;
  margin: 0 auto;
}
.new-graduate-info .tab-content__item {
  display: none;
  background-color: rgba(246, 248, 249, 0.48);
}
.new-graduate-info .tab-content__item.is-current {
  display: block;
}
.new-graduate-info .tab-content .info-box {
  display: grid;
  grid-template-columns: 16rem 1fr;
  border-top: 1px solid #10386f;
}
@media screen and (max-width: 800px) {
  .new-graduate-info .tab-content .info-box {
    grid-template-columns: 1fr;
  }
}
.new-graduate-info .tab-content .info-box__title {
  padding: 3.2rem 1.6rem;
  font-weight: 500;
  border-bottom: 1px solid #10386f;
}
@media screen and (max-width: 800px) {
  .new-graduate-info .tab-content .info-box__title {
    padding: 0.8rem 1.6rem;
  }
}
.new-graduate-info .tab-content .info-box__content {
  padding: 3.2rem 2.4rem;
  border-bottom: 1px solid #10386f;
}
@media screen and (max-width: 800px) {
  .new-graduate-info .tab-content .info-box__content {
    padding: 2.4rem 1.6rem 3.2rem;
  }
}

.new-graduate-flow {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-flow {
    padding-top: 6.4rem;
  }
}
.new-graduate-flow .w640 {
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-flow .w640 {
    margin-bottom: 3.2rem;
  }
}
.new-graduate-flow .inner {
  max-width: 80rem;
}
.new-graduate-flow .flow-box__job {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 70.4rem;
  gap: 1.6rem;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 800px) {
  .new-graduate-flow .flow-box__job {
    max-width: 30.1rem;
    gap: 0.8rem;
  }
}
.new-graduate-flow .flow-box__job__title {
  border-radius: 0.8rem 0.8rem 0 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
  height: 5.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 800px) {
  .new-graduate-flow .flow-box__job__title {
    height: 4.8rem;
  }
}
.new-graduate-flow .flow-box__job__title::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.new-graduate-flow .flow-box__job__title::after {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 1px);
  position: absolute;
  top: 1px;
  left: 1px;
  z-index: -1;
  background-color: #eff3f6;
  border-radius: 0.7rem 0.7rem 0 0;
}
.new-graduate-flow .flow-box__list {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-flow .flow-box__list {
    gap: 4.8rem;
  }
}
.new-graduate-flow .flow-box__list__item {
  border-radius: 0.4rem;
  width: fit-content;
  display: flex;
}
.new-graduate-flow .flow-box__list__item:first-child {
  border-top-right-radius: 0;
}
.new-graduate-flow .flow-box__list__item:first-child .flow-box__list__text:last-child::before, .new-graduate-flow .flow-box__list__item:first-child .flow-box__list__text:last-child::after {
  border-top-right-radius: 0;
}
.new-graduate-flow .flow-box__list__item:not(:first-child) .flow-box__list__content::before {
  content: "";
  width: 2.8rem;
  height: 1.4rem;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  top: -2.4rem;
  transform: translate(-50%, -100%);
}
@media screen and (max-width: 800px) {
  .new-graduate-flow .flow-box__list__item:not(:first-child) .flow-box__list__content::before {
    width: 2rem;
    height: 1rem;
    top: -1.8rem;
  }
}
.new-graduate-flow .flow-box__list__item__num {
  width: 9.6rem;
  height: 7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  color: #f6f8f9;
  border-radius: 0.4rem 0 0 0.4rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-flow .flow-box__list__item__num {
    width: 4.3rem;
    font-size: 1.4rem;
  }
}
.new-graduate-flow .flow-box__list__content {
  display: flex;
  position: relative;
}
.new-graduate-flow .flow-box__list__text {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 35.2rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-flow .flow-box__list__text {
    width: 15rem;
  }
}
.new-graduate-flow .flow-box__list__text::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.new-graduate-flow .flow-box__list__text::after {
  content: "";
  width: calc(100% - 1px);
  height: calc(100% - 2px);
  position: absolute;
  top: 1px;
  right: 1px;
  z-index: -1;
  background-color: #eff3f6;
}
.new-graduate-flow .flow-box__list__text:not(.flow-box__list__text--single) {
  grid-column: 1/3;
  width: 70.4rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-flow .flow-box__list__text:not(.flow-box__list__text--single) {
    width: 30rem;
  }
}
.new-graduate-flow .flow-box__list__text:last-child::before {
  border-radius: 0 0.4rem 0.4rem 0;
}
.new-graduate-flow .flow-box__list__text:last-child::after {
  border-radius: 0 0.3rem 0.3rem 0;
}
.new-graduate-flow .notes {
  margin-top: 2.4rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-flow .notes {
    font-size: 1.6rem;
  }
}

.new-graduate-entry {
  padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-entry {
    padding-top: 6.4rem;
  }
}
.new-graduate-entry .entry-box {
  position: relative;
  padding: 22.9rem 9.6rem 4.6rem;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .new-graduate-entry .entry-box {
    padding: 0;
  }
}
@media screen and (min-width: 801px) {
  .new-graduate-entry .entry-box__img {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  .new-graduate-entry .entry-box__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media screen and (max-width: 800px) {
  .new-graduate-entry .entry-box__img {
    margin-bottom: 3.2rem;
    height: 16rem;
    overflow: hidden;
  }
}
.new-graduate-entry .entry-box__title {
  font-size: 4.8rem;
  padding: 2.4rem 2.4rem 0 0;
  border-bottom: 1px solid;
  border-image: linear-gradient(70deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%) 1;
  background: #479ac1;
  background: linear-gradient(86deg, rgb(71, 154, 193) 0%, rgb(93, 191, 214) 50%, rgb(16, 56, 111) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (max-width: 800px) {
  .new-graduate-entry .entry-box__title {
    font-size: 4rem;
    padding: 9.2rem 1.6rem 0 0;
  }
}
.new-graduate-entry .entry-box__content {
  display: flex;
  align-items: flex-end;
  gap: 4.8rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-entry .entry-box__content {
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
  }
}
.new-graduate-entry .entry-box__text h2 {
  font-weight: 500;
  font-size: 3.2rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 800px) {
  .new-graduate-entry .entry-box__text h2 {
    font-size: 2.4rem;
  }
}
.new-graduate-entry .entry-box__text p {
  line-height: 1.8;
}
.new-graduate-entry .entry-box__bnr {
  width: 28rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .new-graduate-entry .entry-box__bnr {
    width: 20rem;
  }
}
.new-graduate-entry .entry-box__bnr a {
  display: block;
  transition: opacity 0.2s ease;
}
@media screen and (min-width: 801px) {
  .new-graduate-entry .entry-box__bnr a:hover {
    opacity: 0.7;
  }
}

.en {
  font-family: "Libre Baskerville", serif;
  font-weight: bold;
  line-height: 1.4;
}

@media screen and (min-width: 801px) {
  .sp-only {
    display: none;
  }
}

@media screen and (max-width: 800px) {
  .pc-only {
    display: none;
  }
}

@media screen and (min-width: 801px) {
  .sp-only {
    display: none;
  }
}

.inner {
  width: 96rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 801px) {
  .inner--large {
    width: 120rem;
  }
  .inner--small {
    width: 88rem;
  }
}
@media screen and (max-width: 800px) {
  .inner {
    width: 34.3rem;
  }
}

.w640 {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}

.notes {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.4rem;
}
.notes::before {
  content: "※";
}

.t-right {
  text-align: right;
}

.t-center {
  text-align: center;
}

.fw-medium {
  font-weight: 500;
}

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

.fz14 {
  font-size: 1.4rem;
}

.fz18 {
  font-size: 1.8rem;
}
@media screen and (max-width: 800px) {
  .fz18 {
    font-size: 1.6rem;
  }
}

.fz20 {
  font-size: 2rem;
}
@media screen and (max-width: 800px) {
  .fz20 {
    font-size: 1.8rem;
  }
}

.mb4 {
  margin-bottom: 0.4rem;
}

.mb8 {
  margin-bottom: 0.8rem;
}

.mb16 {
  margin-bottom: 1.6rem;
}

.mb24 {
  margin-bottom: 2.4rem;
}

.mb32 {
  margin-bottom: 3.2rem;
}

.mb48 {
  margin-bottom: 4.8rem;
}

.u-gradation {
  background: #10386f;
  background: linear-gradient(90deg, rgb(16, 56, 111) 0%, rgb(23, 126, 153) 50%, rgb(40, 76, 141) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.animation-blur {
  opacity: 0;
  filter: blur(10px);
}

.animation-blur-text {
  opacity: 0;
}
.animation-blur-text.initialized {
  opacity: 1;
}
.animation-blur-text span {
  opacity: 0;
  filter: blur(10px);
}

.animation-opacity {
  opacity: 0;
}

.recruit-site .en {
  font-family: "Poppins", sans-serif;
}

select,
::picker(select) {
  appearance: base-select;
}

.select-area {
  width: fit-content;
  position: relative;
}
.select-area::after {
  content: "";
  width: 3.6rem;
  height: 100%;
  background-color: #10386f;
  border-radius: 0 0.2rem 0.2rem 0;
  position: absolute;
  right: 0;
  top: 0;
  background-image: url("../img/common/icon_arrow-down.svg");
  background-position: center center;
  background-repeat: no-repeat;
  pointer-events: none;
  background-size: 1.2rem auto;
  z-index: 1;
}
.select-area:has(select:open)::after {
  background-image: url("../img/common/icon_arrow-down-blue.svg");
  background-color: #f6f8f9;
  border-radius: 0;
  border: 0.1rem solid #10386f;
  border-left: none;
}
.select-area select {
  width: 16rem;
  border: 0.1rem solid rgba(16, 56, 111, 0.4);
  padding: 0.8rem 1.6rem;
  line-height: 1.4;
  background-color: #f6f8f9;
  border-radius: 0.2rem;
}
.select-area select:open {
  border-color: #10386f;
  border-radius: 0;
}
.select-area ::picker(select) {
  border: 0.1rem solid #10386f;
  background-color: #f6f8f9;
  max-height: 16rem;
  margin: -0.1rem 0;
}
.select-area option {
  padding: 0.8rem;
}
.select-area option:hover {
  background-color: #10386f;
  color: #f6f8f9;
}

.select-wrap {
  width: fit-content;
  position: relative;
}
.select-wrap::before {
  content: "";
  width: 1rem;
  height: 0.9rem;
  background-color: #242422;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  right: 1.3rem;
  top: 1.8rem;
  z-index: 2;
  pointer-events: none;
}
.select-wrap::after {
  content: "";
  width: 3.6rem;
  height: 4.4rem;
  border-radius: 0 0.4rem 0.4rem 0;
  position: absolute;
  right: 0;
  top: 0;
  border: 1px solid #9aabc2;
  background-color: #f6f8f9;
  pointer-events: none;
}
.select-wrap:has(:open)::after {
  border-color: #10386f;
}
.select-wrap select {
  width: 16rem;
  height: 4.4rem;
  border: 1px solid #9aabc2;
  padding: 0.8rem 1.6rem;
  background-color: #f6f8f9;
  border-radius: 0.4rem;
}
.select-wrap select:open {
  border-color: #10386f;
}
.select-wrap ::picker(select) {
  border: 0.1rem solid #10386f;
  background-color: #f6f8f9;
  max-height: 16rem;
  margin: -0.1rem 0;
}
.select-wrap option {
  padding: 0.8rem;
}
.select-wrap option:hover {
  background-color: #10386f;
  color: #f6f8f9;
}

.mark-flex {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  font-weight: normal;
}
.mark-flex span {
  flex-shrink: 0;
}/*# sourceMappingURL=style.css.map */