@charset "UTF-8";
.rec-entry__content {
  padding-block: 9vw;
}
.rec-entry .h2-next {
  text-align: center;
  color: white;
  font-size: 3.466666666666667vw;
  font-weight: bold;
}
.rec-entry .h2-next::after {
  content: '';
  display: block;
  margin-inline: auto;
  width: 38.8vw;
  height: 1.0666666666666667vw;
  margin-top: 6.4vw;
  background: white;
}
.rec-entry .banners {
  display: flex;
  flex-direction: column;
  gap: 2em;
  margin-inline: auto;
  align-items: center;
  justify-content: space-between;
}
.rec-entry .banners p {
  font-size: 3.466666666666667vw;
  color: white;
  text-align: left;
  line-height: 2;
}
.rec-entry .banners + .banners {
  margin-top: 2em;
}
.rec-entry .banners[data-id='1'] {
  margin-top: 70px;
}
.rec-entry .banners[data-id='1'] a {
  width: 78.66666666666667vw;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('../img/recruit/entry_btn_2x.png?90a55c95-3898-59e3-bb3f-54660654dbbb');
  height: 22.133333333333333vw;
}
.rec-entry .banners[data-id='2'] a {
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('../img/recruit/banner_line_2x.png?e5892cce-279d-5961-b475-76e354be2e19');
  width: 78.66666666666667vw;
  height: 22.133333333333333vw;
}
.rec-entry .banners[data-id='2'] a[data-id='2'] {
  background-image: url('../img/recruit/banner_work_2x.png?01b97ab4-f079-58ea-a8e3-e1f2e9b02f9a');
  width: 78.66666666666667vw;
  height: 22.133333333333333vw;
}

/* ==== 単体 ==== */
.works-slide {
  width: 100%;
  margin-top: 8.4vw;
}
.works-slide .swiper {
  position: relative;
}
.works-slide .swiper .swiper-slide {
  transition: opacity 0.5s linear 0.3s !important;
}
.works-slide .swiper img {
  max-width: 100%;
  object-fit: cover;
  height: auto;
}
.works-slide .swiper-side {
  width: 100%;
  height: 66.66666666666667vw;
}
.p-top__works {
  padding-inline: 0;
}
.p-top__works__info {
  padding-inline: 20px;
}
.bullet-wrapper {
  display: flex;
  margin-top: 8vw;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-around;
}
/* ==== サムネ ==== */
.works-slide .thumb {
  display: none;
}

.p-top__works__content {
  position: relative;
}
.work_swiper_pav {
  display: flex;
  gap: 1.3333333333333333vw;
}
.work_swiper_pav .swiper-pagination-bullet {
  background: #d5d5d5;
  opacity: 1;
  width: 2vw;
  aspect-ratio: 1 / 1;
}
.work_swiper_pav .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #0140b4;
}
.work_thumb_pav {
  width: 57.86666666666667vw;
  height: 0.4vw;
  display: flex;
}
.work_thumb_pav .swiper-pagination-bullet {
  background: #d5d5d5;
  border-radius: 0;
  flex: 1;
  height: 0.4vw;
  margin: 0;
}
.work_thumb_pav .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #0140b4;
}

.u-tanto {
  background: #ebebeb;
  padding-block: 10.666666666666666vw 16.666666666666666vw;
}
.u-tanto .img {
  flex-shrink: 0;
}
.u-tanto .img {
  text-align: right;
}
.u-tanto .img img {
  width: 89.33333333333333vw;
  height: 65.86666666666666vw;
  display: block;
  margin-left: auto;
  margin-right: 0;
}
.u-tanto p {
  font-size: 3.466666666666667vw;
  margin-top: 2em;
  padding-inline: 4vw;
}
.u-tanto .ttls {
  margin-top: 7vw;
  padding-inline: 4vw;
}
.u-tanto .ttls img {
  width: 73.6vw;
  height: 32.8vw;
}

.u-tanto .inner {
  gap: 104px;
  margin-inline: auto;
}
.u-naam img {
  margin-top: 3vw;
  width: 61.333333333333336vw;
  height: 12.266666666666666vw;
  display: block;
  margin-inline: auto 4vw;
}

.g-column_2 .contents .article-list li .desc h3 br {
  display: none !important;
}
.g-column_2 .contents .article-list li .desc h3 + dl dd br {
  display: none;
}

.p-works .c-title1 span {
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', Meiryo, sans-serif;
  font-weight: bold;
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
}
.swiper-button-next:after,
.swiper-button-prev:after {
  display: none !important;
}

.comp-profile__content-tbl table {
  border-collapse: collapse;
}

.comp-profile__content-tbl table th {
  white-space: nowrap;
}

.comp-profile__content-tbl table td p {
  word-break: break-all;
}

/* =====================
  Popup
===================== */
.popup-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(17, 17, 17, 0.7);
  transition: opacity 250ms ease 0s;
}
.popup-wrapper {
  pointer-events: none;
  z-index: -1;
  opacity: 0;
}
.popup-wrapper.on {
  pointer-events: auto;
  display: block;
  z-index: 100;
  opacity: 1;
}
.popup-inner {
  height: 100vh;
  overflow-y: auto;
  margin-inline: auto;
  display: grid;
  place-content: center;
}
.js-closepopup {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABHNCSVQICAgIfAhkiAAAASFJREFUWEfF2LkRwyAQBVBvBZJqcerAHViZx6Grc+oi1A/qAK80lkYHxx4cRCTAmwWGP0DXdR9jzOtSsTVNcwWAO0wGBFkEzf3SrW3bB675HsexXwE1QFvIVIRdNUqCjpATptSWuSBOTG6QD+LF5AKFIEFMalAMEsWkAlEgJIwWRIWQMVIQB8LCcEFcCBtDBUkgIkwMJIWIMT6QBqLCHEFaiBqzgKy1/RIDNBFEnWH+FfliHlHPpZpguzUp4ocY4zojWpAIEzqsGhAbQ7k1UhALQ4Est0kCImM4ECmIhJFAJKAoRgPhgoKYFBAOyItJCaGCnJgcEArohMkJiYF2mBKQEGjFlIT4QDOmBsQFgpqQIwjwDbnhR9GgSWgpxuLv1fMHZIwNWov95/UAAAAASUVORK5CYII=');
  width: 4.666666666666667vw;
  height: 4.666666666666667vw;
  position: absolute;
  right: 5.333333333333333vw;
  top: 5.333333333333333vw;
}
.popup-contents {
  transform: translateY(-3em);
  width: 94.66666666666667vw;
  background: white;
  padding: 6.4vw 5.333333333333333vw;
  position: relative;
  max-height: 90vh;
  opacity: 0;
  transition: all 300ms ease 250ms;
  overflow-y: scroll;
}
.popup-wrapper.on .popup-contents {
  opacity: 1;
  transform: translateY(0em);
}
.popup-contents h2 {
  color: #0140b4;
  font-size: 4vw;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #0140b4;
}
.popup-contents .in-text {
  margin-top: 1.25em;
  display: table;
}
.popup-contents .in-item {
  display: table-row;
  font-size: 3.466666666666667vw;
}
.popup-contents .in-head {
  white-space: nowrap;
}
.popup-contents .in-head,
.popup-contents .in-body {
  display: table-cell;
  padding: 0.5vw 0;
}
.popup-contents .in-head::after {
  content: '：';
}
.popup-contents .in-image {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 6vw;
  gap: 4vw;
}
.popup-contents .in-image img {
  max-width: 100%;
  height: auto;
}

.news-image {
  margin-bottom: 2em;
  max-width: 100%;
  height: auto;
}

/* =====================
  操作不可能ボタン
===================== */
.disabledBtn {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  opacity: 0.7;
  filter: grayscale(1);
}
.ui-lock {
  opacity: 0.8;
  pointer-events: none;
  position: relative;
}
.ui-lock::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: #ffffff05;
  z-index: 100;
}
.ui-lock * {
  pointer-events: none;
}
.form-error:empty {
  display: none;
}
.form-error {
  padding: 0.5em 1em;
  color: #c84949;
  border: 2px solid #c84949;
  border-radius: 5px;
  background: #fce3e3;
  margin-top: 1em;
  display: block;
}

/* =====================
  下請施工
===================== */
.top-strength-image {
  margin-top: 2em;
}
.js-popupstrength {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(17, 17, 17, 0.7);
  z-index: -1;
  transition: opacity 250ms ease 0s;
  opacity: 0;
  pointer-events: none;
}
.strength-popup .js-popupstrength {
  opacity: 1;
  pointer-events: auto;
  z-index: 200;
}
.js-popupstrength-inner {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  margin-inline: auto;
  place-content: center;
  padding-inline: 3.2vw;
  font-size: 4.8vw;
}
.js-popupstrength-inner .image {
  position: relative;
}
.js-popupstrength-inner .image img {
  width: 93.6vw;
  height: 80.53333333333333vw;
}
.js-popupstrength-inner button {
  position: absolute;
  top: -9vw;
  right: 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('../img/top/strength-02-close.png');
  aspect-ratio: 27 / 26;
  width: 6vw;
}
.js-popupstrength-inner p {
  color: white;
  margin-top: 9.666666666666666vw;
  width: 72vw;
  margin-inline: auto;
  line-height: 1.6666666666666667;
  text-align: center;
}

.p-top__recruit--lf {
  padding-right: 1em;
}

.news-image {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
}
.news-image img {
  max-width: 100%;
  height: auto;
}

/* =====================
  CompanyPage Slider
===================== */
.comp-profile__content-tbl {
  position: relative;
  width: 100%;
  max-width: 100%;
}
.comp-profile_slide {
  margin-top: 12.8vw;
  width: 89.33333333333333vw;
  height: 78.66666666666667vw;
}
.comp-profile_slide-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.js-exSwiper .swiper-slide img {
  object-fit: cover;
  object-position: center;
  height: 53.333333333333336vw;
}
.comp-profile_slide .swiper-slide {
  height: 53.333333333333336vw;
}
.comp-profile_slide .swiper-controller {
  margin-top: 8.533333333333333vw;
  height: 16.8vw;
  width: 100%;
}
.comp-profile_slide .swiper-button-prev::after,
.comp-profile_slide .swiper-button-next::after {
  display: none;
}
.comp-profile_slide .swiper-button-prev,
.comp-profile_slide .swiper-button-next {
  display: block;
  cursor: pointer;
  width: 16.8vw;
  height: 16.8vw;
  inset: auto;
  margin-top: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.comp-profile_slide .swiper-controller-inner {
  position: relative;
  z-index: 2;
  height: 100%;
}
.comp-profile_slide .swiper-button-prev {
  background-image: url('../img/company/left_btn_2x.png');
  left: -2.6666666666666665vw;
}
.comp-profile_slide .swiper-button-next {
  background-image: url('../img/company/right_btn_2x.png');
  right: -2.6666666666666665vw;
}
.comp-profile_slide .gallery-thumbs .swiper-slide {
  width: 26.666666666666668vw;
  height: 16.8vw;
}
.comp-profile_slide .gallery-thumbs {
  width: 56.8vw;
}
.comp-profile_slide .gallery-thumbs .swiper-slide img {
  max-width: 100%;
  height: 16.8vw;
  object-fit: cover;
  object-position: 50% 50%;
}

/* =====================
  PDFダウンロード
===================== */
.pdf-download {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  font-size: 3.466666666666667vw;
  color: #111111;
  border: 1px solid #0140b4;
  width: 51.333333333333336vw;
  height: 13.333333333333334vw;
  gap: 0.25em;
}
.pdf-download::after {
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAlCAYAAADbVxCwAAADDElEQVRYhdWXO2sVQRSAvzN7JWoKm1hIwEICCv4D0wQNFiLYiCIpJQgi2vsPbEULRSwsgo2dj0rsLCzSKIqgRcQiQUQDYky4d4/M3d2buZuZfd2NiQfmPmZ3Zr497xVmXtCGCPFB0OsgE4D2p2BNkXsgH9s4o5PsO7JEoK+A4xA7ewmCXlXMJPC9BVhpA/ZAAgqe/cZADrcBa0bdwJHfBde6bRxgpG+2kbWrFPvTiL5m3Sm2mo0Rem0Ab5MkoCSwwibwbkS1oIkyTTZVx1IyFPFNpMxrXNl004YBpg0tkZi0aZw0hJUUeHDoOhSq+4/re02l03jlALhrP23a2hu+V+PE7KNlniawFmoG2Jf+F0HngD2hBUL8CLiTWsDKBvAa+NEYtlrg6DGgbkMxnQ5H4jmQhaJFkgvCnM/qoAfR4Ig+gDyvCZvH+ATmWXK8b0gKWgibSeZbJv0eGuuKOQesNkVVdBbi1SR/bh1Jptma2gqyQRzIhX3NdxVzumEVnQNdCoFSkBIDsFnEhny4D/wGzLWaoA8VXdg8Izsnb71asK6Eg04xd0GeVAR9p3B5K5ipnM4qFoWwuRVzHlgp3yE6mSQf36hW7mvAFgKfKVl9CeJvYR+tVixqlNsiYFkEcyNw8T7o4yYBlZdOWo3GnFX29xfgrR8YrxYUuS3ICdCLzux7Ra8EHrCIawo46lS8yP4WmXnqUZe8VJgN7xUFtSz0vgKTyQNwCFiuCWqvWmvM5+etG6x57v9ZuNvACF4NT4M+UOQURMuJ8aJcUJX65y/P3Fon8DJX4EhZ9xSnEMaZ78sSMD98vzg+H+cqpFd853drdl3qHE76nJJC+xJ69r/nVETJFZ3qMV4D1lccfNDkYFxN+sxfHbgibFnrOAxtu7Ph3qLMR6sBV3ikOs1KBuVCVn0zKO+lQ7Dd4aD4VzIA3qgDG4VbxO2WPrD3FSngs3pW4DNI5L++rdIDnagByzhwZAdAC8U4+Wa3i7Gw+/8T2HFTo9PfaVnsKOaCEN8CnQKxmt6JFBCStLroCnDzL5u3/A1P0+ldAAAAAElFTkSuQmCC');
  width: 5.733333333333333vw;
  height: 4.933333333333334vw;
}
