@charset "UTF-8";
.header {
  color: #000000;
  overflow: visible;
  position: relative;
  width: 100%;
  height: 158px; /* 高さを指定 */
  z-index: 1000;
  transition: background-color 0.1s ease; /* スムーズに色を変更 */
}
@media screen and (max-width: 1420px) {
  .header {
    height: 74px; /* 高さを指定 */
  }
}

.header a {
  color: #000000;
}

.header.scrolled {
  position: fixed;
  top: 0;
  left: 0;
  height: 100px;
  -webkit-animation: fadeIn 0.5s ease-in-out;
          animation: fadeIn 0.5s ease-in-out;
}
@media only screen and (max-width:768px) {
  .header.scrolled {
    height: 60px;
  }
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.header__inner {
  width: calc(100% - 70.5px);
  margin-right: auto;
  margin-left: auto;
  padding-top: 21px;
  padding-left: 43.5px;
  padding-right: 27px;
  z-index: 9999;
  position: relative;
}
@media screen and (max-width: 1420px) {
  .header__inner {
    width: calc(100% - 40px);
    padding-top: 10px;
    padding-left: 8px;
  }
}

.header__logo {
  -webkit-margin-before: 0em;
          margin-block-start: 0em;
  -webkit-margin-after: 0em;
          margin-block-end: 0em;
  position: relative;
  z-index: 100;
  padding-top: 3px;
}

.header__flex {
  display: flex;
  justify-content: space-between;
}

.logo__pc {
  width: 99px;
  transition: all 0s ease-in-out; /* サイズ変更や透明度をスムーズに */
}
@media screen and (max-width: 1420px) {
  .logo__pc {
    display: none;
  }
}

.logo__sp {
  display: none;
  transition: all 0s ease-in-out; /* サイズ変更や透明度をスムーズに */
}
@media screen and (max-width: 1420px) {
  .logo__sp {
    display: block;
    width: 190px;
  }
}

.nav__list {
  -webkit-padding-start: 0px;
          padding-inline-start: 0px;
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.4;
}
@media screen and (max-width: 1420px) {
  .nav__list {
    display: none;
  }
}

.nav__listItem {
  list-style: none;
  display: inline-block;
  margin-right: 24px;
  vertical-align: middle;
}

.nav__listItem.-logo {
  width: 40px;
  margin-right: 12px;
}

.nav__listItem:nth-last-child(2) {
  margin-right: 0;
  background-color: #009e9f;
  border-radius: 10px 0 0 10px;
  font-family: Arial, Helvetica, sans-serif;
}

.nav__listItem:nth-last-child(1) {
  background-color: #22b573;
  font-family: Arial, Helvetica, sans-serif;
  margin-left: -5px;
  margin-right: 55px;
  position: relative;
}

.hamburger-menu .nav__listItem.-sns {
  display: flex;
  gap: 10px;
  background-color: transparent !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

.hamburger-menu .nav__listItem.-sns a {
  padding: 0 !important;
}

.hamburger-menu .nav__listItem.-sns img {
  width: 40px;
}

.nav__listItem.-button {
  text-align: center;
  color: #ffffff;
}

.nav__listItem.-button a {
  color: #ffffff;
  padding: 12px 27px 11px 27px;
  width: 5rem;
  display: block;
}

.nav__listItem img {
  width: 100%;
  /* width: 84px; */
  /* padding-top: 3px; */
}

/* ハンバーガーメニューアイコン */
.hamburger {
  display: inline-block;
  cursor: pointer;
  width: 30px;
  height: 20px;
  position: absolute;
  right: 35px;
  top: 21px;
  background-color: #000000;
  padding: 22.5px 15.5px 23px 14.5px;
  border-radius: 0 10px 10px 0;
}
@media screen and (max-width: 1420px) {
  .hamburger {
    border-radius: 5px;
    width: 20px;
    height: 8.5px;
    padding: 10.3px 8.5px 18.3px 8.5px;
    right: 10px;
    top: 10px;
  }
}

.hamburger span {
  display: block;
  background-color: #22B573;
  height: 3px;
  margin: 2px 0 12px 0;
  border-radius: 50px; /* 角を丸く */
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  z-index: 1001;
  position: relative;
}
@media screen and (max-width: 1420px) {
  .hamburger span {
    margin: 4px 0 6px 0;
  }
}
@media screen and (max-width: 1410px) {
  .hamburger span {
    height: 2px;
  }
}

/* ハンバーガーがアクティブ（メニュー開く）時のスタイル */
.hamburger.is-active span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
  background-color: #000000;
}
@media screen and (max-width: 1410px) {
  .hamburger.is-active span:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
  }
}

.hamburger.is-active span:nth-child(2) {
  transform: translateY(-5px) rotate(-45deg);
  background-color: #000000;
}
@media screen and (max-width: 1410px) {
  .hamburger.is-active span:nth-child(2) {
    transform: translateY(-3px) rotate(-45deg);
  }
}

/* ハンバーガーメニュー */
.hamburger-menu {
  position: fixed;
  top: 0;
  right: 0; /* rightを0にして、transformで非表示にする */
  width: 375px;
  height: 100%;
  background: #EFF7F0;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.2);
  transform: translateX(100%); /* 画面の外に隠す */
  transition: transform 0.6s ease-in-out; /* スムーズなアニメーション */
  z-index: 1000!important;
  /* overflow-y: scroll; */
}
@media screen and (max-width: 480px) {
  .hamburger-menu {
    width: 100%;
  }
}
.hamburger-menu .header__logo {
  display: none;
}
@media screen and (max-width: 480px) {
  .hamburger-menu .header__logo {
    padding-top: 10px;
    padding-left: 8px;
    display: block;
    width: 190px;
  }
}

.hamburger-menu .nav__list {
  display: block!important;
}

.hamburger-menu .nav__listItem {
  list-style: none;
  position: relative;
  border-bottom: solid 1px #D6DDD7;
  margin-left: 25px;
  margin-right: 25px;
  margin-bottom: 20px;
  display: block;
}

.hamburger-menu .nav__listItem a {
  display: block; /* クリック範囲を拡大 */
  font-size: 16px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: 0.3em;
  line-height: 1.125;
  padding: 20px 25px 20px 0px;
}

.hamburger-menu .nav__list {
  display: block; /* 横並びを防ぐ */
}

.hamburger-menu .nav__listItem::before {
  content: attr(title);
  position: absolute;
  top: 0px;
  left: 0px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3em;
  line-height: 1.17;
  color: #777B78;
  padding-bottom: 0px;
}

@media screen and (max-width: 480px) {
  .hamburger-menu .nav__listItem {
    margin-left: 0px;
    margin-right: 0px;
  }
}



.hamburger-menu .nav__listItem:nth-child(7) {
  background-color: #EFF7F0;
  list-style: none;
  display: block;
  margin-right: 25px;
  border-radius: 0px;
}
.hamburger-menu .nav__listItem:last-child {
  background-color: #EFF7F0;
  font-family: Arial, Helvetica, sans-serif;
  list-style: none;
  display: flex;
  flex-direction: column;
  margin-right: 25px;
  border-bottom: none;
  padding-top: 20px;
  gap: 8px;
}
.hamburger-menu .nav__listItem:last-child a {
  padding: 0;
}
.hamburger-menu .corporate__link {
  padding-right: 20px!important;
  font-size: 13px!important;
  letter-spacing: 0.01em!important;
  line-height: 1.46!important;
  font-size: 13px!important;
  font-weight: 400!important;
  letter-spacing: 0.1em!important;
  line-height: 1.46!important;
  position: relative;
}
.hamburger-menu .corporate__link::after {
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  background: url(../img/common/icon_blank02.png) center center / contain no-repeat;
  padding-left: 16px;
}
.hamburger-menu .interview__recruitButton a {
  font-size: 16px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
  color: #ffffff;
  padding: 22px 10px 21px 10px;
}
.hamburger-menu .interview__recruitFlex {
  position: fixed;
    width: 100%;
    bottom: 0;
}

.hamburger-menu.is-active {
  transform: translateX(0); /* 画面内にスライド */
}

.hamburger-menu ul {
  list-style: none;
  /* padding: 20px; */
  margin: 0;
  padding-top: 92px;
  padding-bottom: 0;
  padding-left: 20px;
  padding-right: 20px;
  height: 600px;
  overflow-y: scroll;
}
@media screen and (max-width: 480px) {
  .hamburger-menu ul {
    padding-top: 15px;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 24px;
    height: 500px;
  }
}

.hamburger-menu ul li {
  margin-bottom: 15px;
}

.hamburger-menu ul li a {
  text-decoration: none;
  color: #000;
}

/* ハンバーガーメニューの表示状態 */
.hamburger-menu.open {
  right: 0;
}

.hamburger-menu__close {
  position: absolute; /* 親要素に対して絶対位置指定 */
  top: 30px; /* 上端からの距離 */
  right: 36px; /* 右端に配置 */
  width: 30px;
  height: 30px;
  background: transparent;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  .hamburger-menu__close {
    width: 20px;
    height: 20px;
    top: 11.4px; /* 上端からの距離 */
    right: 14.4px; /* 右端に配置 */
  }
}

.hamburger-menu__close::before,
.hamburger-menu__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 3px; /* 線の太さ */
  background-color: #000; /* 線の色（黒） */
  transform-origin: center;
  border-radius: 50px;
}
@media screen and (max-width: 480px) {
  .hamburger-menu__close::before,
.hamburger-menu__close::after {
    width: 20px;
    height: 2px; /* 線の太さ */
  }
}

.hamburger-menu__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.hamburger-menu__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}


.interview__recruitFlex {
  display: flex;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 0.8;

}
@media screen and (max-width: 768px) {
  .interview__recruitFlex {
    font-size: 16px;
  }
}

.interview__recruitButton {
  width: 50%;
}

.interview__recruitButton.-left {
  background-color: #009E9F;
}

.interview__recruitButton.-right {
  background-color: #22B573;
}
.interview__recruitButton.-right span {
  color: #ffffff;
  font-size: 24px;
}
.hamburger-menu .interview__recruitButton.-right span {
  font-size: 16px;
}
@media screen and (max-width: 1200px) {
  .interview__recruitButton.-right span {
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  .interview__recruitButton.-right span {
    font-size: 16px;
  }

}
.interview__recruitButton a {
  display: block;
  padding: 47px 10px 46px 10px;
}
@media screen and (max-width: 768px) {
  .interview__recruitButton a {
    padding: 22px 10px 21px 10px;
  }
}

/* ハンバーガーメニューの背景オーバーレイ */
.hamburger-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7); /* 背景色 #000000 を 70% 透過 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  z-index: 999; /* メニューの下に配置 */
}

/* ハンバーガーメニューが開いた時の背景 */
.hamburger-menu.is-active + .hamburger-menu-overlay {
  opacity: 1;
  visibility: visible;
}
/*# sourceMappingURL=header.css.map */