@charset "utf-8";
:root {
  --black: #343434;
  --gray-700: #949494;
  --gray-900: #7A7A7A;
  --white: #FFF;
  --blue-50: #F0F8FF;
  --blue-200: #C0DDF9;
  --blue-300: #A8D1F7;
  --blue-400: #90C3F4;
  --blue-500: #78B6F1;
  --blue-600: #60A9EE;
  --blue-700: #408CD4;
  --blue-900: #00529F;
  --text-grad: linear-gradient(95deg, #00529F -0.02%, #60A9EE 49.98%, #4296E5 99.98%);
  --hover-grad: linear-gradient(95deg, var(--blue-700) -0.02%, var(--blue-300) 49.98%, var(--blue-600) 99.98%);
  --dark-blue: #1E2731;
}

*, ::before, ::after {
box-sizing: content-box !important;
}

html {
  scroll-behavior: smooth;
}

.body {
  background-color: var(--dark-blue);
}

img {
  width: 100%;
}

.u-font-zen-light {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.u-font-zen-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.u-font-zen-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.u-font-zen-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.u-font-zen-black {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
}

#engineer-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -5;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーー　ヘッダー　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.header__logo {
  width: clamp(196px, 18.0555vw, 346px);
  padding-top: 12px;
}

.header__inner {
  position: fixed;
  top: 25px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 94%;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 200px;
  padding: 20px 1.7%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  -webkit-backdrop-filter: blur(6px) saturate(1.05);
  backdrop-filter: blur(6px) saturate(1.05);
  z-index: 999;
}

.header__nav-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
}

.header__nav-item {
  list-style: none;
}

.header__nav-link {
  text-decoration: none;
  color: #0870CA;
  font-size: clamp(12px, 1.1111vw, 21px);
}

.header__nav--last {
  display: inline-block;
  background: linear-gradient(90deg, #006ad3, #349dff);
  color: #FFFFFF;
  padding: 10px 28px;
  border-radius: 50px;
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーー　hero　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.hero {
  position: relative;
  overflow: hidden;
}

.hero__image-group {
  max-height: 100vh;
  transform: scale(1.025);
  transition: transform 0.8s cubic-bezier(.49, .11, .53, .84);
  will-change: transform;

}

.hero__image-group.active {
  transform: scale(1);
}

.hero__copy-group {
  position: absolute;
  left: 4.1%;
  bottom: 7.4%;
  width: 41.6%;
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーー　メッセージ　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.message {
  background: #FFFFFF;
  padding: clamp(80px, 11.1111vw, 213px) 0;
  position: relative;
  overflow: hidden;
}

.message__inner {
  width: 87%;
  margin: 0 auto;
}

.message__text-group {
  text-align: center;
}

.message__text-group-text {
  display: inline-block;
  text-align: left;
  font-size: clamp(16px, 1.3888vw, 26px);
  background: linear-gradient(90deg, #006ad3, #349dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.message__text-group-text .message__text:not(:last-child) {
  padding-bottom: clamp(0px, 1.6666vw, 32px);
}

.message__image-group {
  position: absolute;
  right: -1%;
  bottom: 10.5%;
  width: 29.1%;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーー　IBJで働くエンジニアの魅力　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.works {
  background: #F2F4F7;
  padding: clamp(80px, 11.1111vw, 213px) 0;
  overflow: hidden;
}

.works__inner {
  width: 87%;
  margin: 0 auto;
}

.works__header {
  padding-bottom: clamp(40px, 3.8888vw, 74px);
}

.works__header-title {
  position: relative;
  z-index: 1;
}

.works__title {
  font-size: clamp(40px, 5.5555vw, 106px);
  line-height: 100%;
  background: linear-gradient(90deg, #006ad3, #349dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.works__subtitle {
  position: absolute;
  top: -90%;
  right: -8.5%;
  font-size: clamp(80px, 13.8888vw, 266px);
  line-height: 100%;
  color: rgba(217, 223, 230, 0.4);
  z-index: -1;
}

.works__lead {
  font-size: clamp(14px, 1.25vw, 24px);
  color: #2B2B2B;
  line-height: 1.8;
  padding-bottom: clamp(40px, 3.8888vw, 74px);
}

.works__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.works__item {
  width: 48.4%;
}

.works__list .works__item:nth-child(even) {
  padding-top: 120px;
}

.works__item-inner {
  position: relative;
  z-index: 1;
}

.works__item-image-group {
  width: 80%;
}

.works__item-text-group {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  background: linear-gradient(90deg, rgba(0, 106, 211, 0.9), rgba(52, 157, 255, 0.9));
  width: 45%;
  height: 66%;
  padding: 0 clamp(18px, 1.9444vw, 37px);
  border-radius: 8px;
  display: flex;
  align-items: center;
  z-index: 2;
}

.works__item-text {
  font-size: clamp(15px, 1.6666vw, 32px);
  line-height: 1.6;
  color: #FFFFFF;
}

.works__item-text-highlight {
  color: #F4FF7B;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーー　開発環境とプロダクト　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.product {
  background: rgba(17, 102, 200, 0.8);
  padding: clamp(80px, 11.1111vw, 213px) 0;
  overflow: hidden;
}

.product__inner {
  width: 87%;
  margin: 0 auto;
}

.product__header {
  padding-bottom: clamp(40px, 3.8888vw, 74px);
}

.product__header-title {
  position: relative;
  z-index: 1;
}

.product__title {
  font-size: clamp(40px, 5.5555vw, 106px);
  line-height: 100%;
  background: #FFFFFF;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.product__subtitle {
  position: absolute;
  top: -90%;
  right: -8.5%;
  font-size: clamp(80px, 13.8888vw, 266px);
  line-height: 100%;
  color: rgba(217, 223, 230, 0.3);
  z-index: -1;
}

.product__lead {
  font-size: clamp(14px, 1.25vw, 24px);
  color: #FFFFFF;
  line-height: 1.8;
  padding-bottom: clamp(40px, 3.8888vw, 74px);
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーー　働く仲間と組織文化　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.team {
  background: #F2F4F7;
  padding: clamp(80px, 11.1111vw, 213px) 0;
  overflow: hidden;
}

.team__inner {
  width: 87%;
  margin: 0 auto;
}

.team__header {
  padding-bottom: clamp(40px, 8.3333vw, 160px);
}

.team__header-title {
  position: relative;
  z-index: 1;
}

.team__title {
  font-size: clamp(40px, 5.5555vw, 106px);
  line-height: 100%;
  background: linear-gradient(90deg, #006ad3, #349dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.team__subtitle {
  position: absolute;
  top: -90%;
  right: -8.5%;
  font-size: clamp(80px, 13.8888vw, 266px);
  line-height: 100%;
  color: rgba(217, 223, 230, 0.4);
  z-index: -1;
}

.team__members {
  padding-bottom: clamp(40px, 8.3333vw, 160px);
}

.team__member {
  position: relative;
  width: 81%;
  margin: 0 auto;
  z-index: 1;
}

.team__member:nth-child(odd)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -12%;
  transform: translate(0, -50%);
  border-radius: 8px 0 0 8px;
  width: 134%;
  height: clamp(360px, 30vw, 576px);
  background: #FFFFFF;
  z-index: -1;
}

.team__member:nth-child(even)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -12%;
  transform: translate(0, -50%);
  border-radius: 0 8px 8px 0;
  width: 134%;
  height: clamp(360px, 30vw, 576px);
  background: #FFFFFF;
  z-index: -1;
}

.team__member-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.team__member-image-wrap {
  width: 39%;
}

.team__member-content {
  width: 55%;
}

.team__member-join {
  color: #2B2B2B;
  line-height: 100%;
  font-size: clamp(12px, 1.3888vw, 26px);
  padding-bottom: 16px;
}

.team__member-name-wrap {
  padding-bottom: 16px;
}

.team__member-name {
  color: #2B2B2B;
  line-height: 1.8;
  font-size: clamp(25px, 2.2222vw, 42px);
}

.team__member-question {
  display: flex;
  align-items: center;
  color: #2B2B2B;
  font-size: clamp(16px, 1.7361vw, 33px);
  line-height: 100%;
  padding-bottom: 24px;
  gap: 8px;
}

.team__member-q {
  color: #FFFFFF;
  background: #0870CA;
  padding: 8px 12px 10px;
  border-radius: 100px;
}

.team__member-text {
  font-size: clamp(14px, 1.1111vw, 21px);
  line-height: 1.8;
  color: #2B2B2B;
}

.team__culture {
  display: flex;
  justify-content: space-between;
}

.team__culture-item {
  width: 48.4%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.team__culture-content {
  padding-bottom: 40px;
}

.team__culture-title-wrap {
  padding-bottom: 24px;
}

.team__culture-title {
  font-size: clamp(24px, 2.2222vw, 42px);
  line-height: 100%;
  background: linear-gradient(90deg, #006ad3, #349dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.team__culture-text {
  font-size: clamp(14px, 1.25vw, 24px);
  line-height: 1.8;
  color: #2B2B2B;
}

.team__culture-image {
  border-radius: 8px;
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーー　サポート制度　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.support {
  background: #FFFFFF;
  padding: clamp(80px, 11.1111vw, 213px) 0;
  overflow: hidden;
}

.support__inner {
  width: 87%;
  margin: 0 auto;
}

.support__header {
  padding-bottom: clamp(40px, 8.3333vw, 160px);
}

.support__header-title {
  position: relative;
  z-index: 1;
}

.support__title {
  font-size: clamp(40px, 5.5555vw, 106px);
  line-height: 100%;
  background: linear-gradient(90deg, #006ad3, #349dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.support__subtitle {
  position: absolute;
  top: -90%;
  right: -8.5%;
  font-size: clamp(80px, 13.8888vw, 266px);
  line-height: 100%;
  color: rgba(217, 223, 230, 0.4);
  z-index: -1;
}

.support__members {
  padding-bottom: clamp(40px, 8.3333vw, 160px);
}

.support__content {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
}

.support__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px 0;
}

.support__item {
  background: #F2F4F7;
  width: 42.8%;
  display: flex;
  justify-content: space-between;
  padding: 32px 2.8%;
  border-radius: 8px;
}

.support__item-icon-wrap {
  width: 24%;
  max-width: 132px;
}

.support__item-body {
  width: 68%;
}

.support__item-title-wrap {
  padding-bottom: 8px;
}

.support__item-title {
  font-size: clamp(16px, 1.3888vw, 26px);
  line-height: 1.8;
  background: linear-gradient(90deg, #006ad3, #349dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.support__item-text {
  font-size: clamp(12px, 1.1111vw, 21px);
  line-height: 1.8;
  color: #2B2B2B;
}

.support__item-secondary-title {
  padding-bottom: 8px;
}

.support__list-secondary {
  background: #F2F4F7;
  display: flex;
  flex-direction: column;
  gap: 24px 0;
  padding: 48px;
  border-radius: 8px;
}

.support__item-secondary-title {
  font-size: clamp(16px, 1.3888vw, 26px);
  line-height: 1.8;
  background: linear-gradient(90deg, #006ad3, #349dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.support__item-secondary-text {
  font-size: clamp(12px, 1.1111vw, 21px);
  line-height: 1.8;
  color: #2B2B2B;
}

/* ーーーーーーーーーーーーーーーーーーーーーーーーー　行動指針　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.action {
  background: #F2F4F7;
  padding: clamp(80px, 11.1111vw, 213px) 0;
  overflow: hidden;
}

.action__inner {
  width: 87%;
  margin: 0 auto;
}

.action__header {
  padding-bottom: clamp(40px, 8.3333vw, 160px);
}

.action__header-title {
  position: relative;
  z-index: 1;
}

.action__title {
  font-size: clamp(40px, 5.5555vw, 106px);
  line-height: 100%;
  background: linear-gradient(90deg, #006ad3, #349dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.action__title-note {
  font-size: clamp(32px, 3.8888vw, 74px);
  line-height: 100%;
  padding-left: 12px;
}

.action__subtitle {
  position: absolute;
  top: -90%;
  right: -8.5%;
  font-size: clamp(80px, 13.8888vw, 266px);
  line-height: 100%;
  color: rgba(217, 223, 230, 0.4);
  z-index: -1;
}

.action__header {
  padding-bottom: clamp(40px, 3.8888vw, 74px);
}

.action__lead {
  font-size: clamp(14px, 1.25vw, 24px);
  color: #2B2B2B;
  line-height: 1.8;
  padding-bottom: clamp(40px, 3.8888vw, 74px);
}

.action__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 32px 0;
}

.action__item {
  width: 42.8%;
  font-size: clamp(14px, 1.3888vw, 26px);
  line-height: 1.8;
  color: #FFFFFF;
  background: linear-gradient(90deg, #006ad3, #349dff);
  padding: 32px 2.8%;
  border-radius: 8px;
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーー　募集要項　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.recruit {
  background: rgba(17, 102, 200, 0.8);
  padding: clamp(80px, 11.1111vw, 213px) 0;
  overflow: hidden;
}

.recruit__inner {
  width: 87%;
  margin: 0 auto;
}

.recruit__header {
  padding-bottom: clamp(40px, 8.3333vw, 160px);
}

.recruit__header-title {
  position: relative;
  z-index: 1;
}

.recruit__title {
  font-size: clamp(40px, 5.5555vw, 106px);
  line-height: 100%;
  background: #FFFFFF;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.recruit__title-note {
  font-size: clamp(32px, 3.8888vw, 74px);
  line-height: 100%;
  padding-left: 12px;
}

.recruit__subtitle {
  position: absolute;
  top: -90%;
  right: -8.5%;
  font-size: clamp(80px, 13.8888vw, 266px);
  line-height: 100%;
  color: rgba(217, 223, 230, 0.3);
  z-index: -1;
}

.recruit__header {
  padding-bottom: clamp(40px, 3.8888vw, 74px);
}

.recruit__lead {
  font-size: clamp(14px, 1.25vw, 24px);
  color: #FFFFFF;
  line-height: 1.8;
  padding-bottom: clamp(40px, 3.8888vw, 74px);
}

.recruit__content {
  background: #F2F4F7;
  color: #2B2B2B;
  width: 79%;
  margin: 0 auto;
  padding: 80px 0 100px;
  border-radius: 16px;
}

.recruit__details {
  width: 80%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px 0;
  padding-bottom: 64px;
}

.recruit__item-header {
  padding-bottom: 8px;
}

.recruit__item-title {
  font-size: clamp(20px, 1.7361vw, 33px);
  line-height: 1.8;
  color: #2B2B2B;
}

.recruit__item-text {
  font-size: clamp(16px, 1.3888vw, 26px);
  line-height: 1.8;
  color: #2B2B2B;
}

.recruit__visual-header {
  text-align: center;
  padding-bottom: clamp(16px, 2.2222vw, 42px);
  ;
}

.recruit__visual-title {
  font-size: clamp(30px, 3.3333vw, 64px);
  line-height: 100%;
  background: linear-gradient(90deg, #006ad3, #349dff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.recruit__visual-link {
  width: clamp(328px, 23.2638vw, 446px);
  margin: 0 auto;
}


/* ーーーーーーーーーーーーーーーーーーーーーーーーー　フッター　ーーーーーーーーーーーーーーーーーーーーーーーーー */
.footer {
  background: #F0F8FF;
  padding: clamp(50px, 3.3333vw, 64px) 0;
  overflow: hidden;
}

.footer__inner {
  width: 78%;
  margin: 0 auto;
}

.footer__nav {
  padding-bottom: 24px;
}

.footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.footer__nav-item,
.footer__sns-item {
  list-style: none;
}

.footer__nav-link {
  font-size: clamp(12px, 0.8333vw, 16px);
  line-height: 1.8;
  text-decoration: none;
  color: #2B2B2B;
}

.footer__nav-item:not(:first-child) .footer__nav-link::after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  margin-left: 6px;
  background: url("..//img/engineer/svg/engineer-link-icon.svg") no-repeat center / contain;
}

.footer__sns {
  padding-bottom: 40px;
}

.footer__sns-list {
  display: flex;
  gap: 16px;
}

.footer__sns-icon--instagram {
  width: 32px;
}

.footer__sns-icon--youtube {
  width: 32px;
}

.footer__sns-link--note {
  width: 66px;
}

.footer__copyright {
  font-size: clamp(10px, 0.6944vw, 13px);
  line-height: 1.8;
  color: #949494;
}

.floating-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 20%;
  max-width: 300px;
  min-width: 160px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 9999;
  transition: all 0.4s;
  opacity: 0;
  transform: translateY(40px);
  pointer-events: none;
}

.floating-btn.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition: all 0.4s;
}

.floating-btn:hover {
  transform: scale(1.05);
  opacity: 0.9;
  transition: all 0.4s;
}

.u-pc {
  display: block;
}

.u-sp {
  display: none;
}

.u-opacity {
  transition: 0.2s;
}

.u-opacity:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.u-smooth {
  opacity: 0;
  transform: translateX(-20px);
  filter: blur(6px);
  transition: 0.8s ease-out;
}

.u-smooth.active {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.u-title-smooth h1,
.u-title-smooth h2,
.u-title-smooth h3,
.u-title-smooth h4,
.u-title-smooth h5,
.u-title-smooth h6,
.u-title-smooth p {
  opacity: 0;
  transform: translateX(-20px);
  filter: blur(6px);
  transition: 0.8s ease-out;
}

.u-title-smooth h1.active,
.u-title-smooth h2.active,
.u-title-smooth h3.active,
.u-title-smooth h4.active,
.u-title-smooth h5.active,
.u-title-smooth h6.active,
.u-title-smooth p.active {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

@media screen and (min-width:768px) and (max-width:1023px) {

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　ヘッダー　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .header__nav-list {
    display: none;
  }

  .header__inner {
    left: 0;
    transform: translate(0, 0);
    border-radius: 0 200px 200px 0;
    width: 30%;
    padding: 8px 1.7%;
  }

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　IBJで働くエンジニアの魅力　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .works__item-text-group {
    width: 48%;
    height: 75%;
  }


  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　働く仲間と組織文化　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .team__member-join {
    padding-bottom: 12px;
  }

  .team__member-name-wrap {
    padding-bottom: 12px;
  }

  .team__member-question {
    padding-bottom: 16px;
  }

  .team__member-name {
    font-size: clamp(20px, 2.2222vw, 42px);
  }

  .team__member-text {
    font-size: clamp(12px, 1.1111vw, 21px);
  }

  .team__member:nth-child(odd)::after {
    height: 85%;
  }

  .team__member:nth-child(even)::after {
    height: 85%;
  }

  .team__members-pc {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　行動指針　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .action__item {
    display: flex;
    align-items: center;
  }

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　募集要項　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .recruit__content {
    width: 100%;
  }

  .recruit__visual-link {
    width: clamp(248px, 23.2638vw, 446px);
  }

}

@media (max-width:767px) {

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　ヘッダー　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .header__logo {
    padding: 10px 0 6px;
  }

  .header__nav-list {
    display: none;
  }

  .header__inner {
    left: 0;
    transform: translate(0, 0);
    border-radius: 0 200px 200px 0;
    background: rgba(255, 255, 255, 0.9);
    width: 55%;
    padding: 6px 5%;
  }

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　hero　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .hero__copy-group {
    top: 17.5%;
    bottom: initial;
    width: 90%;
  }

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　メッセージ　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .message {
    padding: 80px 0 120px;
  }

  .message__inner {
    width: 90%;
  }

  .message__text {
    font-size: 15px;
    line-height: 2.2;
  }

  .message__image-group {
    width: 70%;
    right: -1%;
    bottom: 6.5%;
  }

  .message__text-group-text .message__text:not(:last-child) {
    padding-bottom: 0;
  }

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　IBJで働くエンジニアの魅力　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .works {
    padding: 80px 0;
  }

  .works__inner {
    width: 100%;
  }

  .works__header {
    width: 90%;
    margin: 0 auto
  }

  .works__lead {
    width: 90%;
    margin: 0 auto;
  }

  .works__title {
    line-height: 1.5;
  }

  .works__subtitle {
    top: 28%;
    right: -7.5%;
  }

  .works__item {
    width: 97.5%;
  }

  .works__list {
    gap: 40px;
  }

  .works__item-text-group {
    width: 44%;
    height: 70%;
  }

  .works__list .works__item:nth-child(even) {
    padding: 0;
    margin: 0 0 0 auto;
  }

  .works__item:nth-of-type(even) .works__item-image-group {
    margin: 0 0 0 auto;
  }

  .works__item:nth-of-type(even) .works__item-text-group {
    left: 0;
  }

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　開発環境とプロダクト　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .product {
    background: rgba(17, 102, 200, 0.9);
    padding: 80px 0;
  }

  .product__inner {
    width: 100%;
  }

  .product__header {
    width: 90%;
    margin: 0 auto;
  }

  .product__title {
    line-height: 1.5;
  }

  .product__subtitle {
    top: 28%;
    right: -7.5%;
  }

  .product__lead {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 30px;
  }

  .product__arrow {
    width: 90%;
    margin: 0 auto;
  }

  .product__arrow-group {
    width: 66px;
    margin: 0 0 0 auto;
    padding-bottom: 16px;
  }

  .product__image-group-ibj {
    width: 90%;
    margin: 0 auto;
    padding: 62px 0 0;
  }

  .product-slider-main {
    position: relative;
  }

  .product-slider {
    width: 95%;
    margin: 0 0 0 auto !important;
    overflow: hidden;
    border-radius: 8px 0 0 8px !important;
  }

  .product-slider__wrapper {
    display: flex;
  }


  .product-slider__slide {
    flex: 0 0 auto;
  }

  .product-slider__image {
    width: 100%;
    height: auto;
    display: block;
  }

  .product-slider__scrollbar {
    height: 4px;
    background: #FAFAFB !important;
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
  }

  .product-slider__scrollbar .swiper-scrollbar-drag {
    background: #04376F;
    border-radius: 2px;
  }

  .swiper-horizontal>.swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-horizontal {
    bottom: -32px !important;
    width: 90% !important;
    margin: 0 auto;
  }

  .swiper-horizontal {
    border-radius: 8px;
  }

  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　働く仲間と組織文化　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .team {
    padding: 80px 0;
  }

  .team__inner {
    width: 90%;
    margin: 0 auto;
  }

  .team__title {
    line-height: 1.5;
  }

  .team__subtitle {
    top: 28%;
    right: -7.5%;
  }

  .team__culture {
    flex-wrap: wrap;
    gap: 40px;
  }

  .team__culture-item {
    width: 100%;
  }

  .team__culture-content {
    padding-bottom: 24px;
  }

  .team__members {
    padding-bottom: 116px;
  }

  .team__member-content {
    width: 90%;
    height: 300px;
    margin: 0 auto;
    padding: 24px 0 48px;
    background: #FFFFFF;
  }

  .team__members-sp-inner {
    position: relative;
    width: 94%;
    margin: 0 auto;
  }

  .team__member-join {
    padding-bottom: 4px;
  }

  .team__member-name-wrap {
    padding-bottom: 8px;
  }

  .team__member-question {
    padding-bottom: 16px;
  }

  .gallery {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
  }

  .gallery__slide {
    background: #FFFFFF;
  }

  .gallery__image {
    width: 100%;
    height: auto;
    display: block;
  }

  .gallery__button {
    position: absolute;
    top: 42% !important;
    transform: translateY(-42%);
    width: 40px !important;
    height: 40px !important;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    cursor: pointer;
    z-index: 10;
  }

  .gallery__button--prev {
    left: -5% !important;
    background-image: url("..//img/engineer/svg/arrow-prev.svg");
  }

  .gallery__button--next {
    right: -5% !important;
    background-image: url("..//img/engineer/svg/arrow-next.svg");
  }

  .swiper-button-next:after,
  .swiper-button-prev:after {
    display: none;
  }

  .swiper-horizontal>.swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    bottom: -44px !important;
  }

  .gallery__pagination .swiper-pagination-bullet {
    background: #D9D9D9;
    opacity: 1;
  }

  .swiper-pagination-bullet-active {
    background: #0870CA !important;
  }

  .swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
  }


  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　サポート制度　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .support {
    padding: 80px 0;
  }

  .support__inner {
    width: 90%;
    margin: 0 auto;
  }

  .support__title {
    font-size: clamp(50px, 5.5555vw, 106px);
    line-height: 1.4;
  }

  .support__subtitle {
    top: 40%;
    right: -7.5%;
  }

  .support__content {
    gap: 24px;
  }

  .support__item-title-wrap {
    padding-bottom: 4px;
  }

  .support__item {
    align-items: center;
    width: 100%;
    padding: 24px 20px;
  }

  .support__list {
    gap: 24px;
  }

  .support__item-secondary-title {
    padding-bottom: 4px;
  }

  .support__list-secondary {
    padding: 24px 20px;
  }


  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　行動指針　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .action {
    padding: 80px 0;
  }

  .action__inner {
    width: 90%;
    margin: 0 auto;
  }

  .action__title {
    font-size: clamp(50px, 5.5555vw, 106px);
    line-height: 1.4;
  }

  .action__subtitle {
    top: -20%;
    right: -7.5%;
  }

  .action__items {
    gap: 24px;
  }

  .action__item {
    width: 100%;
    padding: 24px 20px;
  }



  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　募集要項　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .recruit {
    padding: 80px 0;
  }

  .recruit__inner {
    width: 90%;
    margin: 0 auto;
  }

  .recruit__title {
    font-size: clamp(50px, 5.5555vw, 106px);
    line-height: 1.4;
  }

  .recruit__subtitle {
    top: -22%;
    right: -7.5%;
  }

  .recruit__content {
    width: 100%;
    padding: 40px 0;
  }

  .recruit__details {
    width: 88%;
    gap: 24px;
    padding: 0;
  }

  .recruit__visual-header {
    padding-top: 32px;
  }

  .recruit__visual-title {
    display: inline-block;
    text-align: left;
    line-height: 1.4;
  }

  .recruit__visual-link {
    width: 94%;
    max-width: 328px;
  }

  .footer__inner {
    width: 90%;
  }


  /* ーーーーーーーーーーーーーーーーーーーーーーーーー　フッター　ーーーーーーーーーーーーーーーーーーーーーーーーー */
  .footer__nav-list {
    flex-direction: column;
    gap: 16px
  }

  .floating-btn {
    bottom: 20px;
    right: 12px;
    width: 40%;
  }

  .u-pc {
    display: none;
  }

  .u-sp {
    display: block;
  }
}