@charset "UTF-8";
/* SCSSの読み込み */
@import url(all.css);
/*===============================================
  切り替え用
===============================================*/
html {
  font-size: clamp(14px, 1.1034482759vw, 16px);
}

.pc-none {
  display: none !important;
}

a[href^="tel:"] {
  pointer-events: none;
}

/*===============================================
  ページネーション
===============================================*/
/*===============================================
  詳細ページ前後
===============================================*/
/*===============================================
  wrapper
===============================================*/
#wrapper {
  min-width: 1200px;
}

/*===============================================
  header
===============================================*/
#header .header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 6.25rem;
  padding-left: 1.4375rem;
}
#header .header__logo {
  width: 8.125rem;
}
#header .header__logo img {
  width: 100%;
  aspect-ratio: 130/71;
  -o-object-fit: contain;
     object-fit: contain;
}
#header .header__other {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
#header .header__other:not(:has(.header__btn)) {
  padding-right: 1.875rem;
}
#header .header__btn {
  width: 13.125rem;
  height: 4.6875rem;
  font-size: 1.3125rem;
}
#header.header--ent {
  width: clamp(172px, 13.3854166667vw, 257px);
  top: calc(50% - 1.03125rem);
}
#header.header--ent .header__logo {
  width: 50.584%;
}

/*===============================================
  footer
===============================================*/
#footer {
  padding-block: 5rem;
}
#footer .footer__inner {
  width: 67.5rem;
  row-gap: 1.875rem;
}
#footer .footer__logo img {
  width: 8.25rem;
  aspect-ratio: 132/70;
  -o-object-fit: contain;
     object-fit: contain;
}
#footer .footer__add {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 1.4375rem;
       column-gap: 1.4375rem;
}
#footer .footer__add dt {
  width: 7.125rem;
  font-size: 0.875rem;
  line-height: 1.78572;
}
#footer .footer__add dd {
  font-size: 0.9375rem;
  line-height: 1.66667;
}

/*フッターナビ
-----------------------------*/
.footer-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 1.3125rem;
  font-size: 0.8125rem;
  line-height: 2;
  margin-top: 1.25rem;
  padding-top: 2.5rem;
  border-top: solid 1px #666;
}
.footer-nav__list, .footer-nav__sub-list {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 2em;
       column-gap: 2em;
  margin-block: calc((1em - 1lh) / 2);
}
.footer-nav__link, .footer-nav__sub-link {
  letter-spacing: var(--letter-spacing-base);
  margin-inline-end: calc(var(--letter-spacing-base) * -1);
}

/*コピーライト
-----------------------------*/
.copy {
  padding-block: calc((2.0625rem - 1em) / 2);
}

/*===============================================
  fixed固定
===============================================*/
/*ページトップ
-----------------------------*/
#pagetop {
  bottom: 0.625rem;
  right: 0.625rem;
}

/*サイドボタン
-----------------------------*/
#side {
  bottom: 0.625rem;
  right: 0.625rem;
}

/*===============================================
  visual
===============================================*/
/*共通
-----------------------------*/
.visual {
  background-size: clamp(930px, 72.7083333333vw, 1396px);
}

/*メインビジュアル
-----------------------------*/
.visual__main {
  height: calc(7.5rem + clamp(500px, 38.5416666667vw, 740px));
  padding-top: 7.5rem;
  background-size: clamp(930px, 72.7083333333vw, 1396px);
}
.visual__main #slideshow {
  width: 58.07292%;
  max-width: calc(50% + 9.6875rem);
  height: calc(100% - 7.5rem);
}
.visual__main #slideshow li {
  clip-path: polygon(min(15.5625rem, 22.332%) 0, 100% 0, 100% 100%, 0 100%);
}
.visual__main #slideshow::before, .visual__main #slideshow::after {
  height: 100%;
}
.visual__main #slideshow::before {
  width: min(16.375rem, 23.498%);
  clip-path: polygon(97.3% 0, 100% 0, 2.7% 100%, 0 100%);
  left: max(-6.5625rem, -9.4171%);
}
.visual__main #slideshow::after {
  width: min(18.3125rem, 26.2781%);
  clip-path: polygon(87% 0, 100% 0, 13% 100%, 0 100%);
  left: max(-4.4375rem, -6.368%);
}
.visual__box {
  width: 76.5625%;
  max-width: 91.875rem;
  row-gap: clamp(22px, 1.71875vw, 33px);
  padding-top: clamp(30px, 2.34375vw, 45px);
}
.visual__box::before {
  width: clamp(133px, 10.3645833333vw, 199px);
  left: clamp(210px, 16.3541666667vw, 314px);
  top: clamp(6px, 0.46875vw, 9px);
}
.visual__box::after {
  width: clamp(174px, 13.59375vw, 261px);
  left: clamp(254px, 19.84375vw, 381px);
  bottom: clamp(-106px, -5.5208333333vw, -71px);
}
.visual__catch--main {
  row-gap: clamp(22px, 1.71875vw, 33px);
}
.visual__catch--main .main {
  padding-inline: clamp(10px, 0.78125vw, 15px);
}
.visual__catch--main .main img {
  width: clamp(401px, 31.3020833333vw, 601px);
}
.visual__catch--main .sub {
  width: clamp(518px, 40.4166666667vw, 776px);
  padding: clamp(8px, 0.625vw, 12px) clamp(20px, 1.5625vw, 30px);
}
.visual__catch--main .sub img {
  width: clamp(468px, 36.5104166667vw, 701px);
}
.visual__catch--main .sub::before {
  clip-path: polygon(2.3% 0, 100% 0, 97.7% 100%, 0 100%);
}
.visual__list {
  width: clamp(261px, 20.3645833333vw, 391px);
}

/*サブビジュアル
-----------------------------*/
.visual__sub {
  height: calc(7.5rem + clamp(270px, 20.8333333333vw, 400px));
  padding-top: 7.5rem;
  background-size: clamp(930px, 72.7083333333vw, 1396px);
}
.visual__catch--sub {
  width: 56.25%;
  max-width: 67.5rem;
  font-size: clamp(27px, 2.0833333333vw, 40px);
  padding-bottom: clamp(10px, 0.78125vw, 15px);
}
.visual__catch--sub > span {
  min-width: clamp(445px, 34.7395833333vw, 667px);
  padding: clamp(18px, 1.40625vw, 27px) 1em;
}
.visual__catch--sub > span::before {
  clip-path: polygon(clamp(24px, 1.875vw, 36px) 0, 100% 0, calc(100% - clamp(24px, 1.875vw, 36px)) 100%, 0 100%);
}
.visual__catch--sub::before {
  width: clamp(133px, 10.3645833333vw, 199px);
  left: clamp(72px, 5.625vw, 108px);
  top: clamp(-75px, -3.90625vw, -50px);
}
.visual__catch--sub::after {
  width: clamp(121px, 9.4270833333vw, 181px);
  left: clamp(-80px, -4.1666666667vw, -54px);
  bottom: clamp(-141px, -7.34375vw, -94px);
}
.visual__bg {
  width: 57.292%;
  max-width: calc(50% + 8.75rem);
  height: calc(100% - 7.5rem);
}
.visual__bg img {
  clip-path: polygon(min(8.4375rem, 12.273%) 0, 100% 0, 100% 100%, 0 100%);
}
.visual__bg::before, .visual__bg::after {
  height: 100%;
}
.visual__bg::before {
  width: min(9.125rem, 13.273%);
  clip-path: polygon(91% 0, 100% 0, 9% 100%, 0 100%);
  left: max(-6.4375rem, -9.364%);
}
.visual__bg::after {
  width: min(11.0625rem, 16.091%);
  clip-path: polygon(75% 0, 100% 0, 25% 100%, 0 100%);
  left: max(-4.3125rem, -6.273%);
}

/*===============================================
  グローバルナビ
===============================================*/
.gnav {
  font-size: var(--font-size-base);
  font-weight: 700;
  line-height: 1.75;
}
.gnav__list {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 2em;
       column-gap: 2em;
  margin-block: calc((1em - 1lh) / 2);
}
.gnav__link {
  display: block;
  letter-spacing: var(--letter-spacing-base);
  margin-inline-end: calc(var(--letter-spacing-base) * -1);
  transition: all 0.24s ease-out;
  position: relative;
}
.gnav__link::after {
  content: "";
  width: 0%;
  height: 2px;
  background: var(--color-sub);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
  transition: all 0.3s ease-out;
  pointer-events: none;
}
.gnav__link:hover, .gnav__link.current {
  color: var(--color-sub);
}
.gnav__link:hover::after, .gnav__link.current::after {
  width: 100%;
}

/*===============================================
  main#container
===============================================*/
/*===============================================
  パンくずリスト
===============================================*/
.breadcrumb {
  padding-block: calc(1.5625rem - 0.5em);
}
.breadcrumb__list {
  width: 67.5rem;
}
/*===============================================
  main共通
===============================================*/
.section {
  padding-block: 6.25rem;
}

.inbox {
  width: 67.5rem;
}

/*電話番号
-----------------------------*/
/*ボタン
-----------------------------*/
.com-btn {
  width: 17.5rem;
  height: 3.4375rem;
  padding-inline: 1.375rem;
}
.com-btn::after {
  width: 3.125rem;
  right: -1.25rem;
}

/* SNS
-----------------------------*/
/*テーブル
-----------------------------*/
.com-table {
  line-height: 1.875;
  letter-spacing: var(--letter-spacing-sm);
}
.com-table table {
  border-spacing: 0 0.3125rem;
  margin-block: -0.3125rem;
}
.com-table tr th,
.com-table tr td {
  padding-block: calc((3.75rem - 1lh) / 2);
}
.com-table tr th {
  text-align: center;
  vertical-align: middle;
  width: 19.25rem;
  padding-inline: 1em;
}
.com-table tr td {
  padding-inline: 1.875rem;
}

/*テキストボックス
-----------------------------*/
.com-text p {
  margin-inline-end: calc(var(--letter-spacing-base) * -1);
}

/*お知らせ
-----------------------------*/
.com-post__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5rem;
}
.com-post__link {
  row-gap: 0.625rem;
}
.com-post__link:hover {
  transform: translateY(-0.3125rem);
}
.com-post__inner {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  gap: 0.625rem;
}
.com-post__tags {
  font-size: calc(1em - 1px);
  line-height: 1.538462;
}

/*===============================================
  タイトル
===============================================*/
/*大タイトル
-----------------------------*/
.com-title01 {
  row-gap: 2.125rem;
  margin-bottom: 3.125rem;
}
.com-title01 .en {
  margin-block: -0.75rem -0.5rem;
}

/*中タイトル
-----------------------------*/
/*小タイトル
-----------------------------*/
/*===============================================
  共通セクション
===============================================*/
/*エントリーバナー
-----------------------------*/
.com-entry__item {
  row-gap: 1.875rem;
  width: 32.75rem;
  height: 13.5625rem;
}
.com-entry__item .en {
  font-size: 4.1875rem;
  margin-block: -0.75rem -0.25rem;
}
.com-entry__item .ja {
  font-size: 1.5rem;
}

/*===============================================
  総合トップ
===============================================*/
.entrance {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  height: clamp(620px, 47.9166666667vw, 920px);
  min-height: calc(100svh - 2.0625rem);
}
.entrance__box:nth-of-type(1) {
  padding-right: clamp(67px, 5.2083333333vw, 100px);
}
.entrance__box:nth-of-type(2) {
  padding-left: clamp(67px, 5.2083333333vw, 100px);
}
.entrance__box--hidden::after {
  font-size: clamp(30px, 2.34375vw, 45px);
}
.entrance__title {
  font-size: clamp(10px, 0.8333333333vw, 16px);
  row-gap: 1.875em;
}
.entrance__title .en {
  font-size: 3.5em;
  line-height: 1.344828;
}
.entrance__title .ja {
  font-size: 1.375em;
  line-height: 1.818182;
  padding-inline: clamp(10px, 0.78125vw, 15px) calc(clamp(10px, 0.78125vw, 15px) - var(--letter-spacing-sm));
}
.entrance__btn {
  width: 21.6em;
  aspect-ratio: 432/55;
  font-size: clamp(14px, 1.0416666667vw, 20px);
  margin-top: 2.5em;
}
.entrance__btn::after {
  width: 1.5em;
  right: 0.85em;
}

/*===============================================
  トップページ
===============================================*/
/*お知らせ
-----------------------------*/
.top-news__box {
  display: grid;
  grid-template: auto 1fr/1fr 45rem;
  gap: 5.625rem 3.125rem;
}
.top-news__box::after {
  width: 80rem;
  height: 9.625rem;
  top: -3.125rem;
}
.top-news__title {
  align-items: flex-start;
  text-align: left;
  row-gap: 1.875rem;
  font-size: 1.625rem;
  margin-bottom: 0;
}
.top-news__title > span {
  line-height: 1.53847;
}
.top-news__title .en::before {
  content: "";
  width: calc(50vw - 36.875rem);
  min-width: calc(600px - 36.875rem);
  height: 2px;
  background: var(--color-main);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(100% + 3.125rem);
  z-index: -1;
}
.top-news__list,
.top-news .com-empty {
  grid-row: span 2;
}
.top-news__list {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.875rem;
}
.top-news__item .com-post__image img {
  aspect-ratio: 11/10;
}
.top-news .com-empty {
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-news__btn {
  width: 15.625rem;
}

/*モノづくりの未来を、あなたの手で。
-----------------------------*/
.top-about {
  padding-block: 4rem 3.75rem;
}
.top-about::before {
  width: calc(100% - 3.375rem);
  max-width: 116.625rem;
  min-width: 103.125rem;
  height: 28.125rem;
  bottom: 12rem;
}
.top-about .inbox {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.top-about__title {
  align-items: flex-start;
  text-align: left;
}
.top-about__box {
  width: 100%;
}
.top-about__box::after {
  width: 46.625rem;
  height: 14.75rem;
  bottom: -4.1875rem;
}
.top-about__heading {
  margin-block: -0.53125rem 1.34375rem;
}
.top-about__heading > span {
  line-height: 2.33334;
  padding-block: 0.125rem;
  padding-inline: 0.4375rem calc(0.4375rem - var(--letter-spacing-base));
}
.top-about__body .mb {
  margin-bottom: calc(1lh - 0.5625rem);
}
.top-about__images {
  display: grid;
  grid-template-rows: 30.25rem 1fr;
  grid-auto-flow: column;
  row-gap: 4.375rem;
  width: calc(50vw - 15.375rem);
  min-width: calc(600px - 15.375rem);
  height: calc(100% + 7.75rem);
  position: absolute;
  top: -4rem;
  left: calc(50% + 15.375rem);
}
.top-about__image {
  box-shadow: 0px 0.625rem 1.6875rem rgba(22, 21, 21, 0.14);
}
.top-about__image--left {
  width: 86.835%;
}
.top-about__image--right {
  width: 58.404%;
  margin-left: auto;
}
.top-about__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*このような方を弘栄機工では募集しています！
-----------------------------*/
.top-recruit {
  padding-block: 9.375rem 14.375rem;
}
.top-recruit::before {
  height: calc(100% + 18.125rem);
  top: -5.625rem;
}
.top-recruit::after {
  content: "";
  width: 120rem;
  height: 59.375rem;
  background: url(../img/index/bg_recruit-imgs.png) no-repeat center/contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 4.6875rem;
  z-index: 1;
  pointer-events: none;
}
.top-recruit__title {
  row-gap: 2.5rem;
  font-size: 2.5rem;
}
.top-recruit__title > span {
  line-height: 1.5;
}
.top-recruit__title::after {
  height: 1.875rem;
}
.top-recruit__list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 3.125rem 2.8125rem;
}
.top-recruit__item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20.625rem;
  height: 10rem;
  text-align: center;
  font-size: 1.375rem;
  line-height: 1.77273;
  word-break: keep-all;
  padding-inline: 1em;
}
.top-recruit__text {
  width: 58.75rem;
  text-align: center;
  font-size: 1.125rem;
  line-height: 2.66667;
  padding: 2.4375rem 1em 2.1875rem;
  margin: 3.75rem auto 0;
}
.top-recruit__text .b {
  font-size: 1.625rem;
  line-height: 1.84616;
}

/*バナーリンクセクション
-----------------------------*/
.top-bnr__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: clamp(20px, 1.5625vw, 30px);
       column-gap: clamp(20px, 1.5625vw, 30px);
  width: calc(100% - clamp(40px, 3.125vw, 60px));
  max-width: 116.25rem;
}
.top-bnr__item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 1.875rem;
}
.top-bnr__heading {
  justify-content: flex-end;
  row-gap: 1.25rem;
  height: clamp(270px, 20.8333333333vw, 400px);
  padding-block: clamp(20px, 1.5625vw, 30px);
  font-size: clamp(18px, 1.3541666667vw, 26px);
}
.top-bnr__heading > span {
  line-height: 1.53847;
}
.top-bnr__heading > span.en {
  font-size: calc(2em + 2px);
  line-height: 1;
  margin-block: -0.5rem -0.25rem;
  white-space: nowrap;
}
.top-bnr__body {
  font-size: clamp(16px, 1.25vw, 21px);
  line-height: 1.42858;
}
.top-bnr__btn {
  width: calc(100% - 3.75rem);
  max-width: 28.125rem;
  height: 3.0625rem;
  font-size: 1.1875rem;
}

/*産業用ロボットってなに？
-----------------------------*/
.top-robots {
  padding-block: 8.125rem 6.875rem;
}
.top-robots::before {
  height: calc(100% - 15rem);
  top: 8.125rem;
}
.top-robots::after {
  content: "";
  width: calc(100% - clamp(174px, 13.5416666667vw, 260px));
  max-width: 103.75rem;
  height: calc(100% - 15rem);
  background: url(../img/index/bg_robots-deco.png) no-repeat left bottom/clamp(440px, 34.375vw, 660px);
  box-shadow: clamp(-40px, -2.0833333333vw, -27px) 0 0 0 var(--color-white);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 8.125rem;
  z-index: 1;
  pointer-events: none;
}
.top-robots__inner {
  min-height: 38.625rem;
  padding-left: 29.375rem;
}
.top-robots__inner::before {
  content: "";
  width: 50.625rem;
  height: calc(100% + 2px);
  background: var(--color-white);
  position: absolute;
  top: -1px;
  right: -6.25rem;
  z-index: -2;
  pointer-events: none;
}
.top-robots__inner::after {
  width: 72.5rem;
  height: 11.75rem;
  top: 3.5rem;
}
.top-robots__title {
  align-items: flex-start;
  text-align: left;
}
.top-robots__text {
  margin-right: -0.5em;
}
.top-robots__text .mb {
  margin-bottom: calc(1lh - 0.875rem);
}
.top-robots__btn {
  margin-top: 3.75rem;
}

/*リンクセクション
-----------------------------*/
.top-link {
  padding-block: 0 6.875rem;
}
.top-link__items {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  -moz-column-gap: 3.75rem;
       column-gap: 3.75rem;
  width: 80rem;
}
.top-link__item {
  width: 100%;
}
.top-link__image {
  width: 35.625rem;
  height: 18.125rem;
}
.top-link__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-link__heading {
  width: 26.25rem;
  height: 8.875rem;
  row-gap: 1.25rem;
  font-size: var(--font-size-lg);
  padding-inline: 1.875rem;
  margin-top: -6.375rem;
  margin-left: auto;
}
.top-link__heading > span {
  line-height: 1.5;
}
.top-link__heading > span.en {
  font-size: 3.5rem;
  line-height: 1;
  margin-block: -0.625rem -0.25rem;
  white-space: nowrap;
}
.top-link__heading::after {
  width: 5.375rem;
  right: 1.6875rem;
  bottom: 1.875rem;
}

/*===============================================
  産業用ロボットってなに？
===============================================*/
/*産業用ロボットとは
-----------------------------*/
.about-robot {
  padding-block-end: 7.5rem;
}
.about-robot__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
  -moz-column-gap: 5rem;
       column-gap: 5rem;
}
.about-robot__image {
  width: 35rem;
  margin-right: -6.25rem;
  flex-shrink: 0;
  box-shadow: 0px 0.625rem 1.6875rem rgba(22, 21, 21, 0.14);
}
.about-robot__image img {
  width: 100%;
  aspect-ratio: 56/38;
  -o-object-fit: cover;
     object-fit: cover;
}
.about-robot__text {
  width: 100%;
}

/*産業用ロボットの未来
-----------------------------*/
.about-feature__heading {
  min-width: 25rem;
  padding: calc((2.75rem - 1em) / 2) 0.9375rem;
  margin-bottom: 3.125rem;
}
.about-feature__body {
  text-align: center;
}

/*弘栄機工は提案、設計から
施工、メンテナンスまですべて対応
-----------------------------*/
.about-lead__box {
  min-height: 23.75rem;
  padding-left: 33.75rem;
}
.about-lead__box::after {
  width: 69.75rem;
  height: 11.125rem;
  top: 1.0625rem;
}
.about-lead__heading {
  margin-block: -0.53125rem 2.90625rem;
}
.about-lead__heading > span {
  line-height: 2.33334;
  padding-block: 0.125rem;
  padding-inline: 0.4375rem calc(0.4375rem - var(--letter-spacing-base));
}
.about-lead__image {
  width: 30.9375rem;
  position: absolute;
  top: 0;
  left: 0.75rem;
}

/*お仕事紹介
-----------------------------*/
.about-works {
  background-size: min(47.5rem, 39.584%);
}
.about-works__list {
  margin-top: 3.125rem;
}
.about-works__item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  min-height: 25rem;
  margin-bottom: 5rem;
  position: relative;
}
.about-works__item::before {
  font-size: 2.8125rem;
  margin-block: -0.5rem 0.75rem;
}
.about-works__item:nth-of-type(2n + 1) {
  padding-left: 32.5rem;
}
.about-works__item:nth-of-type(2n + 1) .about-works__image {
  left: -6.25rem;
}
.about-works__item:nth-of-type(2n) {
  padding-right: 32.5rem;
}
.about-works__item:nth-of-type(2n) .about-works__image {
  right: -6.25rem;
}
.about-works__item > * {
  width: 100%;
}
.about-works__heading {
  padding: calc((4.375rem - 1em) / 2) 1.25rem;
  padding-right: 0.625rem;
  margin-bottom: 2.1875rem;
}
.about-works__heading .min {
  display: inline-block;
  font-size: var(--font-size-lg);
  margin-inline-end: -0.5em-var(--letter-spacing-sm);
}
.about-works__image {
  width: 34.375rem;
  height: 100%;
  position: absolute;
  top: 0;
}
.about-works__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.about-works__items {
  padding-top: 2.8125rem;
}
.about-works__items dt {
  margin-bottom: 1.75rem;
}
.about-works__items dt > span {
  padding-right: 1.25rem;
}
.about-works__items dt > span::before {
  width: calc(35rem - 100%);
}
.about-works__items dd {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  grid-auto-flow: column;
  justify-content: flex-start;
  gap: 0.875rem 3.125rem;
  line-height: 1.5;
}

/*===============================================
  働く魅力
===============================================*/
/*一緒に働く仲間を募集しています！
-----------------------------*/
.attraction-message {
  background-size: min(47.5rem, 39.584%);
}
.attraction-message__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  -moz-column-gap: 5rem;
       column-gap: 5rem;
}
.attraction-message__image {
  width: 35rem;
  height: 100%;
  min-height: 23.75rem;
  margin-left: -6.25rem;
  flex-shrink: 0;
  box-shadow: 0px 0.625rem 1.6875rem rgba(22, 21, 21, 0.14);
}
.attraction-message__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.attraction-message__image::after {
  background-size: 43.5625rem;
}
.attraction-message__text {
  width: 100%;
}

/*求める人材
-----------------------------*/
.attraction-person {
  background-size: min(47.5rem, 39.584%);
}
.attraction-person__text {
  text-align: center;
}
.attraction-person__list {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  grid-auto-flow: column;
  gap: 1.875rem 2.5rem;
  padding: 2.9375rem 5rem;
  margin-top: 3.125rem;
}
.attraction-person__item {
  font-size: var(--font-size-lg);
  line-height: 1.6;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.attraction-person__value {
  text-align: center;
  font-size: 1.375rem;
  line-height: 1.81819;
  padding: 1.625rem 1.875rem;
  margin-top: 3.125rem;
  background-size: 13rem;
}

/*働く魅力
-----------------------------*/
.attraction-work__item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  min-height: 25rem;
  margin-bottom: 5rem;
  position: relative;
}
.attraction-work__item::before {
  font-size: 2.8125rem;
  margin-block: -0.5rem 0.75rem;
}
.attraction-work__item:nth-of-type(2n + 1) {
  padding-left: 32.5rem;
}
.attraction-work__item:nth-of-type(2n + 1) .attraction-work__image {
  left: -6.25rem;
}
.attraction-work__item:nth-of-type(2n) {
  padding-right: 32.5rem;
}
.attraction-work__item:nth-of-type(2n) .attraction-work__image {
  right: -6.25rem;
}
.attraction-work__item > * {
  width: 100%;
}
.attraction-work__heading {
  padding: calc((4.375rem - 1em) / 2) 1.25rem;
  padding-right: 0.625rem;
  margin-bottom: 2.1875rem;
}
.attraction-work__image {
  width: 34.375rem;
  height: 100%;
  position: absolute;
  top: 0;
}
.attraction-work__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*待遇
-----------------------------*/
.attraction-treatment__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.75rem;
}
.attraction-treatment__item {
  padding-top: 1.25rem;
}
.attraction-treatment__item::before {
  width: 3.4375rem;
  font-size: 2rem;
  top: 0;
  left: -1.25rem;
}
.attraction-treatment__image img {
  width: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}
.attraction-treatment__image {
  margin-bottom: 2.1875rem;
}
.attraction-treatment__image::after {
  background-size: 35.875rem;
}
.attraction-treatment__heading {
  font-size: 1.75rem;
  margin-bottom: 1.875rem;
  word-break: keep-all;
}
.attraction-treatment__heading > span {
  line-height: 1.42858;
}

/*キャリアアップ
-----------------------------*/
.attraction-career {
  background-size: min(47.5rem, 39.584%);
}
.attraction-career__heading {
  min-width: 26.25rem;
  padding: calc((3.125rem - 1em) / 2) 0.9375rem;
  margin-bottom: 3.75rem;
}
.attraction-career__item {
  min-height: 12.5rem;
  padding: 3.125rem;
  padding-left: 19.375rem;
  margin-bottom: 2.5rem;
}
.attraction-career__image {
  width: 16.875rem;
  height: 12.5rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.attraction-career__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.attraction-career__image::before {
  width: 3.125rem;
  font-size: 1.5rem;
}
.attraction-career__label {
  margin-bottom: 1.875rem;
}
.attraction-career__value::before {
  height: 1.375rem;
  margin-block: 2.5rem;
}
.attraction-career__caption {
  font-size: 1.75rem;
  margin-bottom: 3.125rem;
}
.attraction-career__caption > span {
  line-height: 1.42858;
}
.attraction-career__flows {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.attraction-career__flow {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  padding: 3.125rem 2.5rem;
  background-size: 14.3125rem;
}
.attraction-career__flow::before {
  font-size: 2.5rem;
  width: 1em;
  padding-bottom: 1.625rem;
  margin-block: -0.375rem 2.1875rem;
}
.attraction-career__head {
  font-size: 2.1875rem;
  margin-bottom: 1.875rem;
}
.attraction-career__head > span {
  line-height: 1.42858;
}

/*===============================================
  社員紹介
===============================================*/
/*社員紹介
-----------------------------*/
.staff-list__item {
  padding: 2.5rem;
  padding-left: 23.75rem;
  margin-bottom: 4.375rem;
  position: relative;
}
.staff-list__image {
  width: 18.75rem;
  position: absolute;
  top: 2.5rem;
  left: 2.5rem;
}
.staff-list__heading {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.9375rem;
  font-size: 1.5625rem;
  margin-bottom: 1.875rem;
}
.staff-list__heading > span {
  line-height: 1.6;
}
.staff-list__heading > span.label {
  font-size: 1.25rem;
  line-height: 2;
  padding-inline: 0.5em;
}
.staff-list__faq dt {
  font-size: 1.0625rem;
  line-height: 1.76471;
  padding-block: 2.5rem 0.625rem;
  margin-bottom: 1.25rem;
}

/*===============================================
  募集要項
===============================================*/
/*募集要項
-----------------------------*/
.recruit-list {
  background-size: min(47.5rem, 39.584%);
}
.recruit-list__item {
  margin-bottom: 6.25rem;
}
.recruit-list__inner {
  min-height: 12.5rem;
  padding-left: 21.875rem;
  position: relative;
}
.recruit-list__heading {
  font-size: 1.5625rem;
  margin-bottom: 2.5rem;
}
.recruit-list__heading > span {
  line-height: 1.6;
}
.recruit-list__image {
  width: 18.75rem;
  position: absolute;
  top: 0;
  left: 0;
}
.recruit-list__table {
  margin-top: 3.4375rem;
}

/*===============================================
  会社を知る
===============================================*/
/*アットホームな雰囲気の職場で働きませんか？
-----------------------------*/
.company-greeting {
  background-size: min(47.5rem, 39.584%);
}
.company-greeting__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
.company-greeting__image {
  width: 31.25rem;
}
.company-greeting__image img {
  width: 100%;
  aspect-ratio: 1.6666666667;
  -o-object-fit: cover;
     object-fit: cover;
}
.company-greeting__image {
  box-shadow: 0px 0.625rem 1.6875rem rgba(22, 21, 21, 0.14);
  flex-shrink: 0;
}
.company-greeting__text {
  width: 100%;
  position: relative;
}
.company-greeting__text::after {
  content: "";
  width: 11.0625rem;
  aspect-ratio: 177/147;
  background: url(../img/visual/deco_mv.svg) no-repeat center/contain;
  position: absolute;
  left: 9rem;
  top: calc(100% + 3.125rem - (0.5lh - 0.5em));
  pointer-events: none;
}

/*会社概要
-----------------------------*/
.company-info__table tr td .label::after {
  content: "：";
}

/*事業所案内
-----------------------------*/
.company-office__item {
  margin-bottom: 6.25rem;
}
.company-office__heading {
  font-size: 1.75rem;
  margin-bottom: 1.875rem;
}
.company-office__heading > span {
  line-height: 1.42858;
  padding-right: 1.25rem;
}
.company-office__heading > span::before {
  width: calc(67.5rem - 100%);
}
.company-office__map {
  height: 25rem;
  margin-top: 2.5rem;
}

/*関連会社
-----------------------------*/
.company-related__list {
  padding-top: 0.625rem;
}
.company-related__item {
  margin-bottom: 6.25rem;
}
.company-related__heading {
  font-size: 1.75rem;
  margin-bottom: 1.875rem;
}
.company-related__heading > span {
  line-height: 1.42858;
  padding-right: 1.25rem;
}
.company-related__heading > span::before {
  width: calc(67.5rem - 100%);
}
.company-related__logo {
  width: 8.5rem;
  margin-bottom: 1.875rem;
}
.company-related__logo img {
  width: 100%;
  min-height: 5.1875rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.company-related__map {
  height: 25rem;
  margin-top: 2.5rem;
}

/*===============================================
  お知らせ
===============================================*/
/* お知らせ 一覧
-----------------------------*/
/* お知らせ 詳細
-----------------------------*/
.news-detail__heading {
  padding-bottom: 1.25rem;
  margin-bottom: 1.875rem;
}

/*タグリスト
-----------------------------*/
/*===============================================
  お問い合わせ
===============================================*/
.contact-form__table tr th,
.contact-form__table tr td {
  line-height: calc(2.5rem / var(--font-size-base));
}
.contact-form__table tr th {
  width: 22.5rem;
  text-align: left;
}
.contact-form__table tr th .optional-mark,
.contact-form__table tr th .required-mark {
  margin-top: calc(1.25rem - 0.5lh);
}
.contact-form__table tr td {
  vertical-align: middle;
}
.contact-form .contact-submits-wrap > * {
  margin: 1.25rem 0.9375rem 0;
}

/*===============================================
  お問い合わせ完了
===============================================*/
/*===============================================
  プライバシーポリシー
===============================================*/
.privacy-policy__heading {
  padding-bottom: 1.25rem;
  margin-bottom: 1.875rem;
}

/*===============================================
  サイトマップ
===============================================*/
.sitemap-list__items {
  display: grid;
  grid-template: repeat(6, 1fr)/repeat(2, 1fr);
  grid-auto-flow: column;
  gap: 1.25rem 5rem;
}
.sitemap-list__item:first-of-type {
  grid-column: span 2;
}
.sitemap-list__link {
  line-height: 1.5;
  padding: 1em 1.5em;
}

/*===============================================
  404エラー
===============================================*/