:root {
  --base: #fff;
  --blue: #0f56a3;
  --red: #bd002c;
  --gray: #e6e6e6;
  --text: #333;
  --spacing: 0.1em;
  --leading-trim: calc((1em - 1lh) / 2)
}
* {
  letter-spacing: var(--spacing)
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 60px
}
body {
  min-height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  color: var(--text);
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict
}
main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1
}
img {
  width: 100%;
  height: auto
}
@-webkit-keyframes bgextendAnimeBase {
  from {
    opacity: 0
  }
  to {
    opacity: 1
  }
}
@keyframes bgextendAnimeBase {
  from {
    opacity: 0
  }
  to {
    opacity: 1
  }
}
@-webkit-keyframes bgextendAnimeSecond {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes bgLRextendAnime {
  0% {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
  }
  50% {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
  }
  50.001% {
    -webkit-transform-origin: right;
    transform-origin: right
  }
  100% {
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
  }
}
@keyframes bgLRextendAnime {
  0% {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
  }
  50% {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
  }
  50.001% {
    -webkit-transform-origin: right;
    transform-origin: right
  }
  100% {
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
  }
}
.br-1000-b {
  display: none
}
@media(max-width: 1000px) {
  .br-1000-b {
    display: block
  }
}
.br-sp-b {
  display: none
}
@media(max-width: 768px) {
  .br-sp-b {
    display: block
  }
}
.br-600-b {
  display: none
}
@media(max-width: 600px) {
  .br-600-b {
    display: block
  }
}
.br-500-b {
  display: none
}
@media(max-width: 500px) {
  .br-500-b {
    display: block
  }
}
.c-link-more {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 18px;
  -moz-column-gap: 18px;
  column-gap: 18px;
  color: var(--blue);
  font-size: clamp(.875rem, .3979289941rem + 1.775147929vw, 1.25rem);
  font-weight: bold
}
.c-link-more::after {
  content: "";
  width: clamp(2.734375rem, 1.474112426rem + 4.6893491124vw, 3.725rem);
  aspect-ratio: 59.6/10.5;
  background: url(../images/icon-arrow-right-b.svg) no-repeat 0 0/contain
}
.c-link-more-w {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 18px;
  -moz-column-gap: 18px;
  column-gap: 18px;
  color: var(--base);
  font-size: clamp(.875rem, .3979289941rem + 1.775147929vw, 1.25rem);
  font-weight: bold
}
.c-link-more-w::after {
  content: "";
  width: clamp(2.734375rem, 1.474112426rem + 4.6893491124vw, 3.725rem);
  aspect-ratio: 59.6/10.5;
  background: url(../images/icon-arrow-right-w.svg) no-repeat 0 0/contain
}
.drawer {
  width: 300px;
  height: 100vh;
  -webkit-transform: translateX(300px);
  -ms-transform: translateX(300px);
  transform: translateX(300px);
  -webkit-transition: .5s;
  transition: .5s;
  background-color: var(--base);
  z-index: 15;
  overflow: auto;
  overscroll-behavior-y: contain;
  visibility: hidden
}
.drawer[aria-hidden=false] {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  visibility: visible
}
.drawer_position {
  position: fixed;
  top: 0;
  right: 0
}
.drawer__inner {
  padding-bottom: 100px
}
.drawer__top {
  width: 100%;
  height: 4.575rem;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: var(--base);
  z-index: 1
}
.drawer__item {
  border-bottom: 1px solid var(--text)
}
.drawer__item:first-of-type {
  border-top: 1px solid var(--text)
}
.drawer__link {
  height: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  color: var(--blue);
  font-weight: 600;
  letter-spacing: .06em;
  padding-right: 20px;
  padding-left: 20px
}
.drawer__en {
  font-size: .75rem
}
.is-drawer-active {
  overflow: hidden
}
@media(hover: hover)and (pointer: fine) {
  .drawer__link {
    -webkit-transition: color .4s;
    transition: color .4s
  }
  .drawer__link:hover, .drawer__link:focus {
    color: var(--red)
  }
}
.drawer-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background-color: #000;
  visibility: hidden;
  opacity: 0;
  z-index: 5
}
.is-drawer-active {
  height: 100%;
  overflow: hidden
}
.is-drawer-active .drawer-bg {
  visibility: visible;
  opacity: .8;
  -webkit-transition: .3s;
  transition: .3s
}
.footer-contact {
  overflow: hidden;
  background: url(../images/footer-contact-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/footer-contact-bg.webp) 1x, url(../images/footer-contact-bg@2x.webp) 2x);
  background-image: image-set(url(../images/footer-contact-bg.webp) 1x, url(../images/footer-contact-bg@2x.webp) 2x);
  color: var(--base)
}
.footer-contact_pos {
  margin-top: clamp(7.5rem, 3.4239130435rem + 16.3043478261vw, 11.25rem)
}
@media(max-width: 768px) {
  .footer-contact {
    background: url(../images/footer-contact-bg_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/footer-contact-bg_sp.webp) 1x, url(../images/footer-contact-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/footer-contact-bg_sp.webp) 1x, url(../images/footer-contact-bg_sp@2x.webp) 2x)
  }
}
.footer-contact__inner {
  max-width: 863px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding: 179px 30px 156px;
  position: relative
}
@media(max-width: 768px) {
  .footer-contact__inner {
    padding: clamp(5.5625rem, -1.5935650888rem + 26.6272189349vw, 11.1875rem) 30px 275px
  }
}
.footer-contact__title {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: 14px
}
@media(max-width: 768px) {
  .footer-contact__title {
    row-gap: 24px
  }
}
.footer-contact__jp {
  font-size: clamp(1.25rem, -1.1353550296rem + 8.875739645vw, 3.125rem);
  font-weight: bold
}
.footer-contact__en {
  font-size: clamp(6.25rem, 1.5472113503rem + 9.7847358121vw, 9.375rem);
  font-weight: bold
}
@media(max-width: 768px) {
  .footer-contact__en {
    font-size: clamp(2.5rem, -2.2707100592rem + 17.7514792899vw, 6.25rem)
  }
}
.footer-contact__text {
  font-size: clamp(1.1875rem, .3541666667rem + 3.3333333333vw, 1.25rem);
  text-align: center;
  margin-top: 30px
}
@media(max-width: 768px) {
  .footer-contact__text {
    margin-top: 43px
  }
}
.footer-contact__tel {
  max-width: 400px;
  height: 100px;
  display: grid;
  place-items: center;
  background-color: var(--red);
  font-size: 1.875rem;
  margin-top: 52px;
  margin-inline: auto
}
@media(max-width: 768px) {
  .footer-contact__tel {
    margin-top: 56px
  }
}
.footer {
  position: relative
}
.footer__inner {
  max-width: 337px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding: 60px 30px 54px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: 36px
}
@media(max-width: 768px) {
  .footer__inner {
    padding: clamp(2.5625rem, 1.0517751479rem + 5.6213017751vw, 3.75rem) clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem) 161px
  }
}
.footer__logo {
  max-width: 339px
}
.footer__copy {
  height: 40px;
  display: grid;
  place-items: center;
  background-color: var(--blue);
  color: var(--base);
  font-size: clamp(.875rem, -.7916666667rem + 6.6666666667vw, 1rem);
  text-align: center
}
.footer-page-top {
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: 3px;
  position: absolute;
  right: 20px;
  bottom: 60px;
  z-index: 5
}
.footer-page-top::before {
  content: "";
  width: 72px;
  aspect-ratio: 72/70;
  background: url(../images/icon-page-top.svg) no-repeat 0 0/contain
}
.hamburger {
  width: 5.200625rem;
  height: auto;
  display: inline-block;
  position: relative;
  background-color: var(--red);
  z-index: 30;
  margin-top: -8px
}
@media(min-width: 769px) {
  .hamburger {
    display: none
  }
}
.hamburger[aria-expanded=true] .hamburger__line {
  background-color: rgba(0, 0, 0, 0)
}
.hamburger[aria-expanded=true] .hamburger__line::before {
  -webkit-transform: translateY(-19px) rotate(145deg);
  -ms-transform: translateY(-19px) rotate(145deg);
  transform: translateY(-19px) rotate(145deg)
}
.hamburger[aria-expanded=true] .hamburger__line::after {
  -webkit-transform: translateY(18px) rotate(-145deg);
  -ms-transform: translateY(18px) rotate(-145deg);
  transform: translateY(18px) rotate(-145deg)
}
.hamburger__line {
  width: 49px;
  height: 4px;
  display: inline-block;
  position: absolute;
  top: calc(50% + 4px);
  left: calc(50% - 0px);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: .5s all;
  transition: .5s all;
  background-color: var(--base)
}
.hamburger__line::before {
  content: "";
  width: 49px;
  height: 4px;
  display: inline-block;
  position: absolute;
  top: 18px;
  left: 0;
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
  background-color: var(--base)
}
.hamburger__line::after {
  content: "";
  width: 49px;
  height: 4px;
  display: inline-block;
  position: absolute;
  bottom: 18px;
  left: 0;
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
  background-color: var(--base)
}
@media(hover: hover)and (pointer: fine) {
  .hamburger {
    -webkit-transition: background-color .5s;
    transition: background-color .5s
  }
  .hamburger:hover {
    background-color: var(--blue)
  }
}
.header {
  position: relative;
  z-index: 10;
  background-color: var(--base)
}
.header_sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0
}
.header__inner {
  height: clamp(4.575rem, 2.0543052838rem + 5.2446183953vw, 6.25rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px
}
.header__logo {
  max-width: clamp(10.125rem, -1.7260273973rem + 24.6575342466vw, 18rem);
  width: 100%
}
@media(max-width: 768px) {
  .header__logo {
    max-width: 109px;
    margin-top: 15px;
    margin-left: 15px
  }
}
.header__info {
  max-width: clamp(35rem, .0112524462rem + 72.7984344423vw, 58.25rem);
  width: 100%;
  display: grid;
  grid-template-columns: 1fr clamp(6.25rem, -3.1555772994rem + 19.5694716243vw, 12.5rem);
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px
}
@media(max-width: 768px) {
  .header__info {
    display: none
  }
}
.header__nav {
  margin-top: clamp(1.25rem, .4034980431rem + 1.7612524462vw, 1.8125rem)
}
.header__recruit {
  height: clamp(5.625rem, -2.4637964775rem + 16.8297455969vw, 11rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: 7px;
  position: relative;
  background-color: var(--red);
  color: var(--base);
  font-size: clamp(.875rem, .310665362rem + 1.1741682975vw, 1.25rem);
  line-height: 1.45;
  text-align: center;
  white-space: pre-line
}
.header__recruit::before {
  content: "";
  width: clamp(1.875rem, 1.0614175636rem + 1.6927592955vw, 2.415625rem);
  aspect-ratio: 38.65/36;
  background: url(../images/icon-people.svg) no-repeat 0 0/contain
}
@media(hover: hover)and (pointer: fine) {
  .header__recruit {
    -webkit-transition: background-color .5s;
    transition: background-color .5s
  }
  .header__recruit:hover, .header__recruit:focus {
    background-color: var(--blue)
  }
}
.header-nav {
  max-width: 655px;
  width: 100%
}
.header-nav__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 15px;
  -moz-column-gap: 15px;
  column-gap: 15px
}
.header-nav__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--blue);
  font-size: clamp(1rem, .811888454rem + .3913894325vw, 1.125rem);
  font-weight: 600
}
@media(max-width: 768px) {
  .header-nav {
    display: none
  }
}
@media(hover: hover)and (pointer: fine) {
  .header-nav__link {
    -webkit-transition: color .5s;
    transition: color .5s
  }
  .header-nav__link:hover, .header-nav__link:focus {
    color: var(--red)
  }
}
@media(hover: hover)and (pointer: fine) {
  .op {
    -webkit-transition: opacity .5s;
    transition: opacity .5s
  }
  .op:hover, .op:focus {
    opacity: .7
  }
}
@media(hover: hover)and (pointer: fine) {
  .op-fn {
    -webkit-transition: opacity .5s;
    transition: opacity .5s
  }
  .op-fn:hover {
    opacity: .7
  }
}
@media(hover: hover)and (pointer: fine) {
  .op-im {
    -webkit-transition: opacity .5s;
    transition: opacity .5s
  }
  .op-im:hover, .op-im:focus {
    opacity: .7 !important
  }
}
@media(hover: hover)and (pointer: fine) {
  .op-fnim {
    -webkit-transition: opacity .5s;
    transition: opacity .5s
  }
  .op-fnim:hover {
    opacity: .7 !important
  }
}
.lower-mv {
  background: url(../images/lower-mv.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv.webp) 1x, url(../images/lower-mv@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv.webp) 1x, url(../images/lower-mv@2x.webp) 2x)
}
@media(max-width: 768px) {
  .lower-mv {
    background: url(../images/lower-mv_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/lower-mv_sp.webp) 1x, url(../images/lower-mv_sp@2x.webp) 2x);
    background-image: image-set(url(../images/lower-mv_sp.webp) 1x, url(../images/lower-mv_sp@2x.webp) 2x)
  }
}
.lower-mv__inner {
  min-height: 500px;
  display: grid;
  place-items: center
}
@media(max-width: 768px) {
  .lower-mv__inner {
    height: calc(100dvh - 73.2px)
  }
}
.lower-mv__title {
  color: var(--base);
  font-size: clamp(2.625rem, 2.0815217391rem + 2.1739130435vw, 3.125rem);
  font-weight: bold
}

.top-mv{
  position: relative;
  aspect-ratio:1920 / 964;
  overflow:hidden;
}

@media(max-width:768px){
  .top-mv{
    height:calc(100dvh - 73.2px);
    min-height:500px;
    aspect-ratio:auto;
  }
}

.swiper-slide{
  position:relative;
}

.top-mv__image{
  position:absolute;
  inset:0;
  z-index:1;
}

.top-mv__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.top-mv__inner{
  position:relative;
  z-index:2;
  height:100%;
  display:grid;
  place-items:center;
}

/*.top-mv {
  aspect-ratio: 1920/964;
  position: relative;
  overflow: hidden;
  background: url(../images/top-mv-1.webp) no-repeat 0 0/contain;
  background-image: -webkit-image-set(url(../images/top-mv-1.webp) 1x, url(../images/top-mv-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-mv-1.webp) 1x, url(../images/top-mv-1@2x.webp) 2x)
}
@media(max-width: 768px) {
  .top-mv {
    height: calc(100dvh - 73.2px);
    min-height: 500px;
    aspect-ratio: inherit;
    background: url(../images/top-mv-1_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-mv-1_sp.webp) 1x, url(../images/top-mv-1_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-mv-1_sp.webp) 1x, url(../images/top-mv-1_sp@2x.webp) 2x)
  }
}
.top-mv__inner {
  height: 100%;
  display: grid;
  place-items: center
}*/
.top-mv__title {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: var(--base);
  font-size: clamp(1.875rem, -.0061154599rem + 3.9138943249vw, 3.125rem);
  font-weight: 500;
  line-height: 2;
  text-align: center;
  white-space: pre-line
}
@media(max-width: 768px) {
  .top-mv__title {
    font-size: clamp(1.1875rem, .3128698225rem + 3.2544378698vw, 1.875rem)
  }
}
@media(max-width: 430px) {
  .top-mv__title {
    font-size: clamp(1.125rem, .2916666667rem + 3.3333333333vw, 1.1875rem)
  }
}
.top-mv__name {
  position: absolute;
  right: 0;
  color: rgba(255, 255, 255, .5);
  font-size: clamp(2.6875rem, .3073414422rem + 4.9522154648vw, 6.25rem);
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}
@media(max-width: 768px) {
  .top-mv__name {
    font-size: 3rem;
    right: 7px;
    bottom: 6px
  }
}
.top-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  row-gap: 15px
}
@media(max-width: 768px) {
  .top-title {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 21px
  }
}
.top-title__jp {
  font-size: clamp(2.25rem, .9332191781rem + 2.7397260274vw, 3.125rem);
  margin-left: 16px
}
@media(max-width: 768px) {
  .top-title__jp {
    font-size: clamp(1.25rem, -.0221893491rem + 4.7337278107vw, 2.25rem)
  }
}
.top-title__en {
  color: var(--blue);
  font-size: clamp(6.25rem, 1.5472113503rem + 9.7847358121vw, 9.375rem);
  font-weight: bold
}
@media(max-width: 768px) {
  .top-title__en {
    font-size: clamp(2.5rem, -2.2707100592rem + 17.7514792899vw, 6.25rem)
  }
}
.top-title__en_r {
  color: var(--red)
}
.top-about {
  position: relative;
  overflow: hidden
}
.top-about::before {
  content: "";
  width: 100%;
  aspect-ratio: 1920/900;
  position: absolute;
  top: 15px;
  z-index: -1;
  -webkit-clip-path: polygon(0 33%, 100% 0, 100% 67%, 0% 100%);
  clip-path: polygon(0 33%, 100% 0, 100% 67%, 0% 100%);
  background-color: var(--gray)
}
@media(max-width: 768px) {
  .top-about::before {
    aspect-ratio: 430/900
  }
}
.top-about_pos {
  margin-top: 22px
}
@media(max-width: 768px) {
  .top-about_pos {
    margin-top: 62px
  }
}
.top-about__inner {
  max-width: 1700px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .top-about__inner {
    padding-right: clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem);
    padding-left: clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem)
  }
}
@media(max-width: 768px) {
  .top-about__title {
    margin-top: 23px
  }
}
.top-about__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
  margin-top: 7px
}
@media(max-width: 1000px) {
  .top-about__body {
    margin-top: clamp(2.3125rem, 1.2788461538rem + 3.8461538462vw, 3.125rem)
  }
}
@media(max-width: 768px) {
  .top-about__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    row-gap: clamp(2.5rem, 1.7048816568rem + 2.9585798817vw, 3.125rem)
  }
}
.top-about__box {
  max-width: 704px;
  width: 100%;
  margin-top: calc(clamp(0rem, -45.9375rem + 49vw, 3.0625rem)*-1)
}
.top-about__text {
  font-size: 1.125rem;
  line-height: 1.7777777778;
  white-space: pre-line
}
.top-about__link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: clamp(2.5rem, -3.1433463796rem + 11.7416829746vw, 6.25rem)
}
@media(max-width: 768px) {
  .top-about__link {
    margin-top: clamp(1.75rem, .7958579882rem + 3.550295858vw, 2.5rem);
    margin-inline: auto
  }
}
.top-about__img {
  max-width: clamp(21.25rem, -6.7999438833rem + 58.3613916947vw, 53.75rem)
}
@media(max-width: 768px) {
  .top-about__img {
    max-width: inherit;
    width: 100vw;
    margin-inline: calc(50% - 50vi)
  }
}
.top-business {
  overflow: hidden
}
.top-business_pos {
  margin-top: 46px
}
@media(max-width: 768px) {
  .top-business_pos {
    margin-top: 103px
  }
}
.top-business__inner {
  max-width: 1700px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .top-business__inner {
    padding-right: clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem);
    padding-left: clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem)
  }
}
.top-business__tsp {
  margin-top: 54px
}
.top-business__mnt {
  margin-top: clamp(0rem, -12.3771058965rem + 25.7521058965vw, 13.375rem)
}
.top-recruit {
  position: relative;
  background: url(../images/top-recruit-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-recruit-bg.webp) 1x, url(../images/top-recruit-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-recruit-bg.webp) 1x, url(../images/top-recruit-bg@2x.webp) 2x)
}
.top-recruit::before, .top-recruit::after {
  content: "";
  max-width: clamp(10rem, 5.2889705882rem + 17.5294117647vw, 19.3125rem);
  width: 100%;
  aspect-ratio: 1/1;
  position: absolute
}
.top-recruit::before {
  top: 0;
  left: 0;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  background-color: var(--blue)
}
.top-recruit::after {
  right: 0;
  bottom: 0;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  background-color: var(--red)
}
.top-recruit_pos {
  margin-top: clamp(.1875rem, -5.3289473684rem + 20.5263157895vw, 7.5rem)
}
.top-recruit__inner {
  min-height: clamp(36.125rem, 25.9441176471rem + 37.8823529412vw, 56.25rem);
  max-width: 932px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: grid;
  place-items: center
}
@media(max-width: 768px) {
  .top-recruit__inner {
    padding-right: clamp(1rem, -.1131656805rem + 4.1420118343vw, 1.875rem);
    padding-left: clamp(1rem, -.1131656805rem + 4.1420118343vw, 1.875rem)
  }
}
.top-recruit__body {
  z-index: 1;
  color: var(--base);
  margin-top: 32px
}
@media(max-width: 768px) {
  .top-recruit__body {
    margin-top: 51px
  }
}
.top-recruit__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: 12px
}
.top-recruit__jp {
  font-size: clamp(1.25rem, .3014705882rem + 3.5294117647vw, 3.125rem)
}
.top-recruit__en {
  font-size: clamp(2.5rem, -.9779411765rem + 12.9411764706vw, 9.375rem);
  font-weight: bold
}
.top-recruit__text {
  font-size: 1.125rem;
  line-height: 1.7777777778;
  text-align: center;
  margin-top: 50px
}
@media(max-width: 768px) {
  .top-recruit__text {
    margin-top: 114px
  }
}
.top-recruit__link {
  margin-top: 71px;
  margin-inline: auto
}
@media(max-width: 768px) {
  .top-recruit__link {
    margin-top: 44px
  }
}
.top-recruit__logo {
  max-width: clamp(25rem, .275rem + 92vw, 73.875rem);
  width: 100%;
  aspect-ratio: 1182/558;
  position: absolute;
  top: calc(50% - 0px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 0
}
@media(max-width: 768px) {
  .top-recruit__logo {
    top: 69px;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0)
  }
}
.business-transport {
  overflow: hidden
}
.business-transport_pos {
  margin-top: 119px
}
.business-transport__inner {
  max-width: 1700px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .business-transport__inner {
    padding-right: clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem);
    padding-left: clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem)
  }
}
.business-tsp {
  background: url(../images/top-business-1.webp) no-repeat top left/clamp(31.25rem, -19.5449932341rem + 81.1907983762vw, 68.75rem) auto;
  background-image: -webkit-image-set(url(../images/top-business-1.webp) 1x, url(../images/top-business-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-1.webp) 1x, url(../images/top-business-1@2x.webp) 2x);
  padding-bottom: clamp(2.8125rem, -2.1172337278rem + 18.3431952663vw, 6.6875rem)
}
@media(max-width: 768px) {
  .business-tsp {
    width: 100vw;
    margin-inline: calc(50% - 50vi);
    background: url(../images/top-business-1_sp.webp) no-repeat top center/100% auto;
    background-image: -webkit-image-set(url(../images/top-business-1_sp.webp) 1x, url(../images/top-business-1_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-business-1_sp.webp) 1x, url(../images/top-business-1_sp@2x.webp) 2x)
  }
}
.business-tsp_lower {
  padding-bottom: clamp(2.8125rem, -7.2855029586rem + 37.573964497vw, 10.75rem)
}
.business-tsp__body {
  max-width: clamp(39.375rem, -1.5674040067rem + 65.4424040067vw, 63.875rem);
  margin-left: auto;
  padding-top: clamp(1.75rem, -.6353550296rem + 8.875739645vw, 3.625rem)
}
@media(max-width: 768px) {
  .business-tsp__body {
    margin-right: auto
  }
}
.business-tsp__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  row-gap: clamp(.625rem, -.0110946746rem + 2.3668639053vw, 1.125rem);
  color: var(--blue);
  font-size: clamp(3.75rem, -.4277963272rem + 6.6777963272vw, 6.25rem);
  font-weight: bold
}
@media(max-width: 768px) {
  .business-tsp__title {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: clamp(2.25rem, .3417159763rem + 7.100591716vw, 3.75rem)
  }
}
.business-tsp__title-body {
  height: clamp(8.4375rem, 5.4085976628rem + 4.8414023372vw, 10.25rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: var(--base)
}
@media(max-width: 768px) {
  .business-tsp__title-body {
    height: clamp(5.125rem, .9108727811rem + 15.6804733728vw, 8.4375rem);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}
.business-tsp__title-body_1 {
  width: 100%;
  padding-left: 24px
}
@media(max-width: 768px) {
  .business-tsp__title-body_1 {
    width: clamp(23.5625rem, 3.4460059172rem + 74.8520710059vw, 39.375rem);
    padding-left: 0
  }
}
.business-tsp__title-body_2 {
  width: 92.1722113503%;
  padding-left: 37px
}
@media(max-width: 768px) {
  .business-tsp__title-body_2 {
    width: clamp(21.125rem, 1.8036242604rem + 71.8934911243vw, 36.3125rem);
    padding-left: 0
  }
}
.business-tsp__box {
  max-width: clamp(28.375rem, 8.3rem + 29.2vw, 37.5rem);
  margin-top: 19px;
  margin-left: auto
}
@media(max-width: 1100px) {
  .business-tsp__box {
    margin-top: 120px
  }
}
@media(max-width: 768px) {
  .business-tsp__box {
    max-width: 520px;
    margin-top: clamp(19.375rem, -.5029585799rem + 73.9644970414vw, 35rem);
    margin-right: auto;
    padding: 0 clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem)
  }
}
.business-tsp__box-title {
  font-size: clamp(1.5rem, -.5673076923rem + 7.6923076923vw, 3.125rem);
  font-weight: bold;
  text-align: center
}
.business-tsp__text {
  max-width: 454px;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  white-space: pre-line;
  margin-top: clamp(.6875rem, -.5846893491rem + 4.7337278107vw, 1.6875rem);
  margin-inline: auto
}
.business-tsp__link {
  margin-top: clamp(.625rem, -1.9193786982rem + 9.4674556213vw, 2.625rem);
  margin-inline: auto
}
.business-resolution_pos {
  margin-top: 73px
}
.business-col__inner {
  max-width: 1518px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .business-col__inner {
    padding-right: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem);
    padding-left: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem)
  }
}
.business-col__title {
  color: var(--blue);
  font-size: clamp(2.5rem, 2.0833333333rem + 1.6666666667vw, 3.125rem);
  font-weight: bold;
  line-height: 1;
  text-align: center;
  white-space: pre-line
}
.business-col__strong {
  color: var(--red)
}
.business-col__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 53px
}
.business-col__items_resolution {
  margin-top: 83px
}
.business-col__items_follow {
  margin-top: 64px
}
.business-col__item {
  display: grid;
  grid-template-columns: 1fr clamp(23.75rem, 2.1586787565rem + 38.3419689119vw, 37.625rem);
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px
}
@media(max-width: 1000px) {
  .business-col__item {
    grid-template-columns: 1fr;
    justify-items: center
  }
}
.business-col__main {
  max-width: 760px
}
.business-col__item-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 10px;
  position: relative;
  border-bottom: 5px solid var(--blue);
  padding-bottom: 20px
}
.business-col__item-title::before {
  content: "";
  width: 106px;
  height: 5px;
  position: absolute;
  bottom: -5px;
  background-color: var(--red)
}
.business-col__jp {
  font-size: clamp(2.5rem, 2.0833333333rem + 1.6666666667vw, 3.125rem);
  font-weight: bold
}
.business-col__en {
  color: var(--blue);
  font-size: 1.25rem;
  font-weight: bold
}
.business-col__text {
  font-size: 1.125rem;
  line-height: 1.7777777778;
  white-space: pre-line;
  margin-top: 14px
}
.business-col__img {
  max-width: 602px;
  margin-top: clamp(1.125rem, -.4166666667rem + 6.1666666667vw, 3.4375rem)
}
.business-maintenance {
  overflow: hidden
}
.business-maintenance_pos {
  margin-top: 126px
}
.business-maintenance__inner {
  max-width: 1700px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .business-maintenance__inner {
    padding-right: clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem);
    padding-left: clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem)
  }
}
.business-mnt {
  background: url(../images/top-business-2.webp) no-repeat top right/clamp(31.25rem, -19.5449932341rem + 81.1907983762vw, 68.75rem) auto;
  background-image: -webkit-image-set(url(../images/top-business-2.webp) 1x, url(../images/top-business-2@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-2.webp) 1x, url(../images/top-business-2@2x.webp) 2x);
  padding-bottom: clamp(2.3125rem, -.3909023669rem + 10.0591715976vw, 4.4375rem)
}
@media(max-width: 768px) {
  .business-mnt {
    width: 100vw;
    margin-inline: calc(50% - 50vi);
    background: url(../images/top-business-2_sp.webp) no-repeat top center/100% auto;
    background-image: -webkit-image-set(url(../images/top-business-2_sp.webp) 1x, url(../images/top-business-2_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-business-2_sp.webp) 1x, url(../images/top-business-2_sp@2x.webp) 2x)
  }
}
.business-mnt_lower {
  padding-bottom: clamp(2.3125rem, -5.5591715976rem + 29.2899408284vw, 8.5rem)
}
.business-mnt__body {
  max-width: clamp(34.375rem, -3.6429465776rem + 60.7679465776vw, 57.125rem);
  padding-top: clamp(.5625rem, -3.3335798817rem + 14.4970414201vw, 3.625rem)
}
@media(max-width: 768px) {
  .business-mnt__body {
    margin-inline: auto
  }
}
.business-mnt__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: clamp(.625rem, -.0110946746rem + 2.3668639053vw, 1.125rem);
  color: var(--red);
  font-size: clamp(3.75rem, -.4277963272rem + 6.6777963272vw, 6.25rem);
  font-weight: bold
}
@media(max-width: 768px) {
  .business-mnt__title {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: clamp(2.25rem, .3417159763rem + 7.100591716vw, 3.75rem)
  }
}
.business-mnt__title-body {
  height: clamp(8.4375rem, 5.4085976628rem + 4.8414023372vw, 10.25rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: var(--base)
}
@media(max-width: 768px) {
  .business-mnt__title-body {
    height: clamp(5.125rem, .9108727811rem + 15.6804733728vw, 8.4375rem);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}
.business-mnt__title-body_1 {
  width: 96.7177242888%;
  padding-left: clamp(3rem, .075542571rem + 4.674457429vw, 4.75rem)
}
@media(max-width: 768px) {
  .business-mnt__title-body_1 {
    width: clamp(20.125rem, 3.4275147929rem + 62.1301775148vw, 33.25rem);
    padding-left: 0
  }
}
.business-mnt__title-body_2 {
  width: 100%;
  padding-left: clamp(3.25rem, .325542571rem + 4.674457429vw, 5rem)
}
@media(max-width: 768px) {
  .business-mnt__title-body_2 {
    width: clamp(21.0625rem, 4.1264792899rem + 63.0177514793vw, 34.375rem);
    padding-left: 0
  }
}
.business-mnt__box {
  max-width: clamp(28.375rem, 8.3rem + 29.2vw, 37.5rem);
  margin-top: 19px
}
@media(max-width: 1100px) {
  .business-mnt__box {
    margin-top: 120px
  }
}
@media(max-width: 768px) {
  .business-mnt__box {
    max-width: 520px;
    margin-top: clamp(20.9375rem, 3.0473372781rem + 66.5680473373vw, 35rem);
    margin-inline: auto;
    padding: 0 clamp(.8125rem, -.5392011834rem + 5.0295857988vw, 1.875rem)
  }
}
.business-mnt__box-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1.5rem, -.5673076923rem + 7.6923076923vw, 3.125rem);
  font-weight: bold;
  line-height: 1;
  white-space: pre-line;
  margin-inline: auto
}
.business-mnt__text {
  max-width: 454px;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  white-space: pre-line;
  margin-top: clamp(.8125rem, -2.3679733728rem + 11.8343195266vw, 3.3125rem);
  margin-inline: auto
}
.business-mnt__link {
  margin-top: clamp(.625rem, -1.9193786982rem + 9.4674556213vw, 2.625rem);
  margin-inline: auto
}
.business-follow_pos {
  margin-top: 87px
}
.company-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: 8px
}
.company-title__jp {
  color: #232323;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.5625rem
}
.company-title__en {
  color: var(--blue);
  font-size: 2.1875rem;
  font-weight: 400;
  --spacing: 0
}
.company-greet_pos {
  margin-top: 94px
}
.company-greet__inner {
  max-width: 1518px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .company-greet__inner {
    padding-right: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem);
    padding-left: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem)
  }
}
.company-greet__body {
  background-color: var(--gray);
  padding: 31px 20px 78px
}
.company-greet__text {
  max-width: 1226px;
  color: #000;
  line-height: 1.75;
  white-space: pre-line;
  margin-top: 40px;
  margin-inline: auto
}
.company-greet__name {
  max-width: 1228px;
  color: #000;
  font-size: 1.125rem;
  text-align: right;
  margin-top: 52px;
  margin-inline: auto
}
.company-strength {
  background-color: var(--gray)
}
.company-strength_pos {
  margin-top: 77px
}
.company-strength__top {
  max-width: 900px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-top: 85px
}
@media(max-width: 768px) {
  .company-strength__top {
    padding-right: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem);
    padding-left: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem)
  }
}
.company-strength__subtitle {
  font-size: clamp(2.5rem, 1.8206521739rem + 2.7173913043vw, 3.125rem);
  font-weight: bold;
  line-height: 1;
  text-align: center;
  white-space: pre-line;
  margin-top: 74px
}
.company-strength__text {
  color: #000;
  line-height: 1.75;
  white-space: pre-line;
  margin-top: 62px
}
.company-strength__items {
  margin-top: 128px;
  margin-inline: auto
}
.company-list {
  max-width: 1920px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 78px;
  overflow: hidden;
  padding-bottom: clamp(5rem, 1.75rem + 13vw, 9.875rem)
}
.company-list__item {
  padding-right: clamp(1.875rem, -1.0416666667rem + 11.6666666667vw, 6.25rem)
}
.company-list__item_r {
  padding-right: inherit;
  padding-left: clamp(1.875rem, -1.0416666667rem + 11.6666666667vw, 6.25rem)
}
.company-list__body {
  max-width: 1733px;
  min-height: 463px;
  position: relative;
  color: var(--base);
  padding: clamp(3.125rem, 1.4583333333rem + 6.6666666667vw, 5.625rem) 20px clamp(5rem, 2.0833333333rem + 11.6666666667vw, 9.375rem)
}
.company-list__body_r {
  margin-left: auto
}
.company-list__body_1 {
  background: url(../images/company-strength-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/company-strength-1.webp) 1x, url(../images/company-strength-1@2x.webp) 2x);
  background-image: image-set(url(../images/company-strength-1.webp) 1x, url(../images/company-strength-1@2x.webp) 2x)
}
.company-list__body_2 {
  background: url(../images/company-strength-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/company-strength-2.webp) 1x, url(../images/company-strength-2@2x.webp) 2x);
  background-image: image-set(url(../images/company-strength-2.webp) 1x, url(../images/company-strength-2@2x.webp) 2x)
}
.company-list__body_3 {
  background: url(../images/company-strength-3.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/company-strength-3.webp) 1x, url(../images/company-strength-3@2x.webp) 2x);
  background-image: image-set(url(../images/company-strength-3.webp) 1x, url(../images/company-strength-3@2x.webp) 2x)
}
.company-list__body_4 {
  background: url(../images/company-strength-4.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/company-strength-4.webp) 1x, url(../images/company-strength-4@2x.webp) 2x);
  background-image: image-set(url(../images/company-strength-4.webp) 1x, url(../images/company-strength-4@2x.webp) 2x)
}
.company-list__box {
  max-width: 1486px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
  margin-inline: auto
}
@media(max-width: 1000px) {
  .company-list__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    row-gap: 30px
  }
}
.company-list__title {
  min-width: 210px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 30px;
  font-weight: 600;
  --spacing: 0
}
.company-list__text {
  max-width: 1182px;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 2.7777777778;
  --spacing: 0;
  white-space: pre-line
}
.company-list__en {
  position: absolute;
  bottom: calc(clamp(.9375rem, .040546595rem + 1.4336917563vw, 1.1875rem)*-1);
  left: 0;
  color: var(--red);
  font-size: clamp(7.5rem, .7728494624rem + 10.752688172vw, 9.375rem);
  font-weight: bold
}
@media(max-width: 1000px) {
  .company-list__en {
    bottom: calc(clamp(.4375rem, .1041666667rem + 1.3333333333vw, .9375rem)*-1);
    font-size: clamp(3.25rem, .4166666667rem + 11.3333333333vw, 7.5rem)
  }
}
.company-list__en_r {
  left: inherit;
  right: calc(clamp(.4375rem, -0.0625rem + 2vw, 1.1875rem)*-1);
  color: var(--blue)
}
.company-philosophy_pos {
  margin-top: 159px
}
.company-philosophy__inner {
  max-width: 1518px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .company-philosophy__inner {
    padding-right: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem);
    padding-left: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem)
  }
}
.company-philosophy__body {
  background-color: var(--gray);
  padding: 51px clamp(.9375rem, .597826087rem + 1.3586956522vw, 1.25rem) 98px
}
.company-philosophy__items {
  max-width: 686px;
  margin-top: 61px;
  margin-inline: auto
}
.company-philosophy__item {
  color: #000;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.7777777778;
  text-indent: -1.8em;
  padding-left: 1.8em
}
.company-bottom_pos {
  margin-top: 69px
}
.company-bottom__inner {
  max-width: 1518px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: clamp(1.25rem, -4.3154761905rem + 8.0952380952vw, 3.375rem);
  -moz-column-gap: clamp(1.25rem, -4.3154761905rem + 8.0952380952vw, 3.375rem);
  column-gap: clamp(1.25rem, -4.3154761905rem + 8.0952380952vw, 3.375rem)
}
@media(max-width: 1000px) {
  .company-bottom__inner {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 75px
  }
}
@media(max-width: 768px) {
  .company-bottom__inner {
    padding-right: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem);
    padding-left: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem)
  }
}
.company-bottom__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
  -ms-flex-pack: start;
  justify-content: start;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-column-gap: 27px;
  -moz-column-gap: 27px;
  column-gap: 27px
}
@media(max-width: 600px) {
  .company-bottom__title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 8px
  }
}
.company-bottom__jp {
  color: #232323;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.5625rem
}
.company-bottom__en {
  color: var(--blue);
  font-size: 2.1875rem;
  font-weight: 400;
  --spacing: 0
}
.company-outline {
  max-width: 732px;
  width: 100%
}
.company-outline__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.0625rem;
  margin-top: 37px
}
.company-outline__dt {
  width: clamp(6.625rem, 3.5rem + 12.5vw, 9.5rem);
  height: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1;
  background-color: var(--blue);
  color: var(--base);
  font-weight: 600;
  letter-spacing: .2em;
  padding-left: clamp(.9375rem, .0543478261rem + 3.5326086957vw, 1.75rem)
}
.company-outline__dd {
  max-width: 599px;
  background-color: var(--base);
  color: #232323;
  line-height: 1.4705882353;
  letter-spacing: .2em;
  white-space: pre-line;
  border: 1px solid #d9d9d9;
  -webkit-box-shadow: -3px -1px 2px rgba(0, 0, 0, .16);
  box-shadow: -3px -1px 2px rgba(0, 0, 0, .16);
  margin-top: -26px;
  margin-left: clamp(5.5rem, 2.4429347826rem + 12.2282608696vw, 8.3125rem);
  padding: 8px 5px 8px clamp(1.5625rem, .8831521739rem + 2.7173913043vw, 2.1875rem)
}
.company-access {
  max-width: 732px;
  width: 100%
}
.company-access__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 14px;
  -moz-column-gap: 14px;
  column-gap: 14px;
  color: #232323;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 41px
}
.company-access__text::before {
  content: "";
  width: 22px;
  height: 3px;
  background-color: var(--blue)
}
.company-access__map {
  margin-top: 10px
}
.company-access__gmap {
  width: 100%;
  height: 452px
}
.gallery-main_pos {
  margin-top: 67px
}
.gallery-main__inner {
  max-width: 1530px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .gallery-main__inner {
    padding-right: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem);
    padding-left: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem)
  }
}
.gallery-main__title {
  font-size: clamp(2.25rem, 1.1086956522rem + 2.0289855072vw, 3.125rem);
  font-weight: bold;
  line-height: 1.5;
  text-align: center
}
@media(max-width: 768px) {
  .gallery-main__title {
    font-size: clamp(1.625rem, .9456521739rem + 2.7173913043vw, 2.25rem)
  }
}
.gallery-main__text {
  color: var(--blue);
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  white-space: pre-line;
  margin-top: 19px
}
.gallery-main__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, -5.1086956522rem + 11.3043478261vw, 6.125rem) clamp(1.25rem, -4.4565217391rem + 10.1449275362vw, 5.625rem);
  margin-top: 105px
}
@media(max-width: 768px) {
  .gallery-main__items {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(.75rem, .2065217391rem + 2.1739130435vw, 1.25rem)
  }
}
.gallery-main__txt{
    margin-top:15px;
    font-size: 20px;
	font-weight: bold;
    line-height:1.6;
    text-align:center;
	color: var(--blue);
}
@media(max-width: 768px) {
  .gallery-main__txt {
    font-size: 18px;
	margin-top:5px;
  }
}
.recruit-job_pos {
  margin-top: 114px
}
.recruit-job__inner {
  max-width: 1505px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .recruit-job__inner {
    padding-right: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem);
    padding-left: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem)
  }
}
.recruit-job__body {
  -webkit-box-shadow: 0px 0px 6px rgba(35, 35, 35, .37);
  box-shadow: 0px 0px 6px rgba(35, 35, 35, .37);
  padding: 45px clamp(.75rem, -0.25rem + 4vw, 1.25rem) 84px
}
.recruit-job__title {
  max-width: 511px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: clamp(0rem, -14.278436019rem + 17.0616113744vw, 2.25rem)
}
@media(max-width: 768px) {
  .recruit-job__title {
    max-width: inherit;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: 10px
  }
}
.recruit-job__jp {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 27.5px;
  -moz-column-gap: 27.5px;
  column-gap: 27.5px;
  color: #232323;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 34px;
  font-weight: 600;
  --spacing: 0
}
.recruit-job__jp::before {
  content: "";
  width: 35px;
  height: 1px;
  background-color: #707070
}
@media(max-width: 768px) {
  .recruit-job__jp::before {
    content: none
  }
}
.recruit-job__en {
  color: var(--blue);
  font-size: 35px;
  font-weight: 400;
  --spacing: 0
}
.recruit-job__dl {
  max-width: 1239px;
  display: grid;
  grid-template-columns: clamp(10.625rem, 1.9639724311rem + 23.0576441103vw, 16.375rem) 1fr;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  margin-top: 61px;
  margin-inline: auto
}
@media(max-width: 600px) {
  .recruit-job__dl {
    grid-template-columns: 1fr
  }
}
.recruit-job__dt {
  background-color: var(--blue);
  color: var(--base);
  font-size: clamp(1.125rem, .936716792rem + .5012531328vw, 1.25rem);
  line-height: 1.5;
  padding: clamp(.75rem, -0.5625rem + 5.25vw, 1.40625rem) 15px clamp(.75rem, -0.5625rem + 5.25vw, 1.40625rem) clamp(.9375rem, -.6629072682rem + 4.2606516291vw, 2rem)
}
@media(max-width: 600px) {
  .recruit-job__dt {
    text-align: center
  }
}
.recruit-job__dt:not(:last-of-type) {
  border-bottom: 1px solid var(--base)
}
@media(max-width: 600px) {
  .recruit-job__dt:not(:last-of-type) {
    border: none
  }
}
.recruit-job__dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #232323;
  font-size: clamp(1rem, .811716792rem + .5012531328vw, 1.125rem);
  font-weight: 600;
  line-height: 1.4444444444;
  --spacing: 0;
  white-space: pre-line;
  border-bottom: 1px solid #e1e1e1;
  padding: .71875rem 15px .71875rem clamp(.9375rem, .0902255639rem + 2.2556390977vw, 1.5rem)
}
@media(max-width: 600px) {
  .recruit-job__dd {
    border-right: 1px solid #e1e1e1;
    border-bottom: none;
    border-left: 1px solid #e1e1e1
  }
}
@media(max-width: 600px) {
  .recruit-job__dd:last-of-type {
    border-bottom: 1px solid #e1e1e1
  }
}
.contact_pos {
  margin-top: 116px
}
.contact__inner {
  max-width: 1505px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px
}
@media(max-width: 768px) {
  .contact__inner {
    padding-right: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem);
    padding-left: clamp(1.25rem, .4548816568rem + 2.9585798817vw, 1.875rem)
  }
}
.contact__body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  -webkit-box-shadow: 0px 0px 6px rgba(35, 35, 35, .37);
  box-shadow: 0px 0px 6px rgba(35, 35, 35, .37);
  padding: 45px clamp(.75rem, -0.25rem + 4vw, 1.25rem) 84px
}
.contact__text {
  color: #232323;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.9444444444;
  text-align: center;
  white-space: pre-line
}
.contact__form {
  margin-top: 32px;
  margin-inline: auto
}
.form {
  max-width: 1063px;
  font-weight: 600
}
.form__paragraph {
  display: grid;
  grid-template-columns: clamp(16.25rem, 12.2132545932rem + 8.3989501312vw, 18.25rem) 1fr;
  padding: 26px 0;
  border-bottom: 1px dashed #bcbcbc
}
@media(max-width: 768px) {
  .form__paragraph {
    grid-template-columns: 1fr;
    row-gap: 15px
  }
}
.form__paragraph_message {
  border-bottom: none
}
.form__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 13px;
  -moz-column-gap: 13px;
  column-gap: 13px;
  padding-left: clamp(0rem, -1.8922244094rem + 3.937007874vw, .9375rem)
}
.form__title_message {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline
}
.form__required {
  width: 74px;
  height: 35px;
  display: grid;
  place-items: center;
  background-color: var(--blue);
  color: var(--base);
  font-size: .9375rem;
  border-radius: 18px
}
.form__optional {
  width: 74px;
  height: 35px;
  display: grid;
  place-items: center;
  background-color: var(--gray);
  color: #232323;
  font-size: .9375rem;
  border-radius: 18px
}
.form__label {
  color: #232323;
  font-size: 1.125rem;
  --spacing: 0
}
.form__input {
  max-width: 771px;
  width: 100%;
  height: 59px;
  background-color: #f0f0f0;
  color: #232323;
  font-size: 1.125rem;
  --spacing: 0;
  padding: 0 13px;
  font-weight: 500
}
.form__input::-webkit-input-placeholder {
  color: #bcbcbc;
  font-weight: 600
}
.form__input::-moz-placeholder {
  color: #bcbcbc;
  font-weight: 600
}
.form__input:-ms-input-placeholder {
  color: #bcbcbc;
  font-weight: 600
}
.form__input::-ms-input-placeholder {
  color: #bcbcbc;
  font-weight: 600
}
.form__input::placeholder {
  color: #bcbcbc;
  font-weight: 600
}
.form__input_message {
  min-height: 248px;
  resize: vertical;
  padding-top: 13px;
  padding-bottom: 13px
}
.form__button-wrapper {
  max-width: 357px;
  position: relative;
  margin-top: 35px;
  margin-inline: auto
}
.form__button-wrapper::before {
  content: "";
  width: 1.396875rem;
  aspect-ratio: 22.35/16.76;
  position: absolute;
  top: 50%;
  left: 57px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../images/icon-mail.svg) no-repeat 0 0/contain;
  pointer-events: none
}
.form__submit {
  max-width: 357px;
  width: 100%;
  height: 63px;
  background-color: var(--blue);
  color: var(--base);
  font-size: 1.125rem;
  text-align: center;
  border-radius: 44px;
  text-indent: 25px
}
@media(hover: hover)and (pointer: fine) {
  .form__submit {
    -webkit-transition: background-color .5s;
    transition: background-color .5s
  }
  .form__submit:hover, .form__submit:focus {
    background-color: var(--red)
  }
}