@charset "UTF-8";
/* ========== Document Setting ========== */
/* ========== Color ========== */
/* ========== Font Family ========== */
/* ======================================================================
メディア・コンテナークエリ
====================================================================== */
/* ======================================================================
テキスト
====================================================================== */
/* ---------- テキスト設定（ショートハンド） ---------- */
/* ---------- 見出し（大） ---------- */
/* ---------- 見出し（中） ---------- */
/* ---------- 見出し（小） ---------- */
/* ---------- 見出し（極小） ---------- */
/* ---------- テキスト（通常） ---------- */
/* ---------- テキスト（小） ---------- */
/* ---------- パーマリンク ---------- */
/* ---------- ナビゲーション ---------- */
/* ---------- ラベル ---------- */
/* ---------- 欧文見出し（大） ---------- */
/* ---------- 欧文見出し（大） ---------- */
/* ---------- 読み上げ専用テキスト（スクリーンリーダー対応） ---------- */
/* ======================================================================
アニメーション
====================================================================== */
/* ---------- アニメーション（アンダーライン - 長さ拡大） ---------- */
/* ---------- アニメーション（アイコン - スライドアップ） ---------- */
/* ======================================================================
擬似要素 - テキストループスライダー
====================================================================== */
/* ======================================================================
下層ページヘッダー
====================================================================== */
/* ======================================================================
セクションコンテンツ
====================================================================== */
/* ======================================================================
ユーティリティー
====================================================================== */
/* ---------- インナー（コンテンツ幅の制限あり） ---------- */
/* ---------- インナー（コンテンツ幅の制限なし） ---------- */
/* ---------- インナー（セクション幅） ---------- */
/* ======================================================================
ポジション
====================================================================== */
/* ---------- ポジション設定（ショートハンド） ---------- */
/* ======================================================================
アイコン
====================================================================== */
/* ---------- アイコン（内部リンク） ---------- */
/* ---------- アイコン（内部リンク） ---------- */
/* ---------- アイコン（外部リンク） ---------- */
/* ---------- アイコン（中央配置） ---------- */
/* ---------- リンク下線（Black） ---------- */
/* ---------- リンク下線（Gray） ---------- */
/* ======================================================================
コンポーネント
====================================================================== */
/* ---------- ボタン（Japanese） ---------- */
/* ---------- ボタン（English） ---------- */
/* ---------- パーマリンク（Japanese） ---------- */
/* ---------- パーマリンク（English） ---------- */
/* ==================================================
Footer
================================================== */
#footer {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 120px 40px 80px 40px;
  /* ========== フッター（上）========== */
  /* ========== フッター（中）========== */
  /* ========== フッター（下）========== */
}
@media (max-width: 767px) {
  #footer {
    padding: 64px 20px 56px 20px;
  }
}
#footer #footerInner {
  max-width: 1120px;
  margin-inline: auto;
}
#footer #footerTop .home-link {
  display: inline-block;
}
#footer #footerTop .home-link .logo {
  width: 230px;
}
@media (max-width: 767px) {
  #footer #footerTop .home-link .logo {
    width: 141px;
  }
}
#footer #footerMiddle {
  display: flex;
  flex-wrap: wrap;
  margin-top: 80px;
  /* ---------- フッター（left） ---------- */
  /* ---------- フッター（right） ---------- */
  /* ---------- オフィス一覧 ---------- */
  /* ---------- 採用コンテンツナビ ---------- */
  /* ---------- 募集要項・エントリーナビ ---------- */
  /* ---------- SNSナビ ---------- */
}
@media (max-width: 767px) {
  #footer #footerMiddle {
    flex-direction: column;
    margin-top: 64px;
  }
}
#footer #footerMiddle #footerMiddle-left {
  flex: 1 0;
  max-width: 50%;
  padding-right: 8.9285714286vw;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerMiddle-left {
    max-width: 100%;
    border-top: 1px solid #999999;
    border-radius: 1px;
    padding-top: 48px;
    margin-top: 48px;
    order: 2;
  }
}
#footer #footerMiddle #footerMiddle-right {
  flex: 0 1 fit-content;
  display: flex;
  justify-content: space-between;
  gap: 8.9285714286vw;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerMiddle-right {
    flex-direction: column;
    order: 1;
  }
}
#footer #footerMiddle #footerMiddle-right #footerMiddle-right-01 {
  display: flex;
  flex-direction: column;
  gap: 86px;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerMiddle-right #footerMiddle-right-01 {
    gap: 40px;
  }
}
#footer #footerMiddle #footerMiddle-right #footerMiddle-right-02 {
  display: flex;
  flex-direction: column;
  gap: 86px;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerMiddle-right #footerMiddle-right-02 {
    gap: 40px;
  }
}
#footer #footerMiddle #footerList-office {
  display: flex;
  flex-direction: column;
  gap: 48px;
  list-style: none;
}
#footer #footerMiddle #footerList-office li .office--name {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerList-office li .office--name {
    font-size: 12px;
  }
}
#footer #footerMiddle #footerList-office li .office--content {
  font-style: normal;
  margin-top: 12px;
}
#footer #footerMiddle #footerList-office li .office--content .address {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerList-office li .office--content .address {
    font-size: 10px;
  }
}
#footer #footerMiddle #footerList-office li .office--content .googlemaps {
  position: relative;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  text-align: left;
  font-family: futura-pt, sans-serif;
  font-size: 10px;
  font-weight: 500;
  color: #999999;
  line-height: 2.4;
  letter-spacing: 0.08em;
  margin-top: 10px;
  /* -- ボタン下線 -- */
  /* -- 別窓アイコン -- */
  /* -- hover -- */
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerList-office li .office--content .googlemaps {
    margin-top: 8px;
  }
}
#footer #footerMiddle #footerList-office li .office--content .googlemaps::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 1px;
  border-radius: 1px;
  background-color: #999999;
  transition: width 0.2s;
  z-index: 1;
}
#footer #footerMiddle #footerList-office li .office--content .googlemaps[target=_blank]::after {
  content: "";
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 1.25em;
  height: 1.25em;
  background-color: #999999;
  mask-image: url(../img/icon/icon--external.svg);
  mask-size: 1.25em 1.25em;
  mask-position: right center;
  mask-repeat: no-repeat;
  padding-left: 0.8em;
}
#footer #footerMiddle #footerList-office li .office--content .googlemaps[target=_blank]:hover {
  /* -- ボタン下線（hover） -- */
  /* -- 別窓アイコン（hover） -- */
}
#footer #footerMiddle #footerList-office li .office--content .googlemaps[target=_blank]:hover::before {
  animation: animation-underline-grow 0.2s ease-in-out forwards;
}
@keyframes animation-underline-grow {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
#footer #footerMiddle #footerList-office li .office--content .googlemaps[target=_blank]:hover::after {
  animation: animation-icon-up 0.2s ease-in-out forwards;
}
@keyframes animation-icon-up {
  0% {
    mask-position: right top 1.25em;
  }
  100% {
    mask-position: right center;
  }
}
#footer #footerMiddle #footerList-office li .office--content .tel {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-top: 15px;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerList-office li .office--content .tel {
    font-size: 10px;
  }
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerList-office li .office--content .tel {
    margin-top: 12px;
  }
}
#footer #footerMiddle #footerList-office li .office--content .fax {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-top: 6px;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerList-office li .office--content .fax {
    font-size: 10px;
  }
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerList-office li .office--content .fax {
    margin-top: 4px;
  }
}
#footer #footerMiddle #footerNav-recruit h1 {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}
#footer #footerMiddle #footerNav-recruit ul {
  display: flex;
  flex-direction: column;
  gap: 40px;
  list-style: none;
}
#footer #footerMiddle #footerNav-recruit ul li a {
  display: inline-block;
  text-decoration: none;
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.04em;
  transition: color 0.2s;
  /* -- hover -- */
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerNav-recruit ul li a {
    font-size: 12px;
  }
}
#footer #footerMiddle #footerNav-recruit ul li a:hover {
  color: #999999;
}
#footer #footerMiddle #footerNav-entry h1 {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #DB6145;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerNav-entry h1 {
    font-size: 12px;
  }
}
#footer #footerMiddle #footerNav-entry ul {
  display: flex;
  flex-direction: column;
  gap: 40px;
  list-style: none;
}
#footer #footerMiddle #footerNav-entry ul li a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: #2F2F2F;
  line-height: 2;
  letter-spacing: 0.04em;
  transition: color 0.2s;
  /* -- hover -- */
  /* -- 別窓アイコン -- */
  /* -- 別窓アイコン（hover） -- */
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerNav-entry ul li a {
    font-size: 12px;
  }
}
#footer #footerMiddle #footerNav-entry ul li a:hover {
  color: #999999;
}
#footer #footerMiddle #footerNav-entry ul li a[target=_blank]::after {
  content: "";
  position: relative;
  display: inline-flex;
  align-self: center;
  width: 1em;
  height: 1em;
  background-color: #2F2F2F;
  mask-image: url(../img/icon/icon--external.svg);
  mask-size: 100% 100%;
  mask-position: right center;
  mask-repeat: no-repeat;
  margin-left: 0.5em;
  transition: background-color 0.2s;
}
#footer #footerMiddle #footerNav-entry ul li a[target=_blank]:hover::after {
  content: "";
  position: relative;
  display: inline-flex;
  align-self: center;
  width: 1em;
  height: 1em;
  background-color: #999999;
  mask-image: url(../img/icon/icon--external.svg);
  mask-size: 100% 100%;
  mask-position: right center;
  mask-repeat: no-repeat;
  margin-left: 0.5em;
  animation: animation-icon-up 0.2s ease-in-out forwards;
}
@keyframes animation-icon-up {
  0% {
    mask-position: right top 1.25em;
  }
  100% {
    mask-position: right center;
  }
}
#footer #footerMiddle #footerNav-sns h1 {
  text-align: left;
  font-family: futura-pt, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #DB6145;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #DB6145;
  margin-bottom: 12px;
}
@media (max-width: 767px) {
  #footer #footerMiddle #footerNav-sns h1 {
    font-size: 12px;
  }
}
#footer #footerMiddle #footerNav-sns ul {
  display: flex;
  gap: 24px;
  list-style: none;
}
#footer #footerMiddle #footerNav-sns ul li a::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #2F2F2F;
  mask-size: 100% 100%;
  mask-position: center center;
  mask-repeat: no-repeat;
  transition: background-color 0.2s;
}
#footer #footerMiddle #footerNav-sns ul li a:hover::after {
  background-color: #999999;
}
#footer #footerMiddle #footerNav-sns ul li a.note {
  display: block;
  width: 84px;
  height: 20px;
}
#footer #footerMiddle #footerNav-sns ul li a.note::after {
  mask-image: url(../img/common/sns/logo--note.svg);
}
#footer #footerMiddle #footerNav-sns ul li a.x {
  display: block;
  width: 20px;
  height: 20px;
}
#footer #footerMiddle #footerNav-sns ul li a.x::after {
  mask-image: url(../img/common/sns/logo--x.svg);
}
#footer #footerMiddle #footerNav-sns ul li a.instagram {
  display: block;
  width: 20px;
  height: 20px;
}
#footer #footerMiddle #footerNav-sns ul li a.instagram::after {
  mask-image: url(../img/common/sns/logo--instagram.svg);
}
#footer #footerMiddle #footerNav-sns ul li a.facebook {
  display: block;
  width: 20px;
  height: 20px;
}
#footer #footerMiddle #footerNav-sns ul li a.facebook::after {
  mask-image: url(../img/common/sns/logo--facebook.svg);
}
#footer #footerBottom {
  display: flex;
  justify-content: space-between;
  gap: 24px 100px;
  border-top: 1px solid #E6E6E6;
  padding-top: 56px;
  margin-top: 88px;
}
@media (max-width: 767px) {
  #footer #footerBottom {
    flex-direction: column;
    border: none;
    margin-top: 0;
  }
}
#footer #footerBottom #footerNav-related h1 {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}
#footer #footerBottom #footerNav-related ul {
  display: flex;
  gap: 40px 100px;
  list-style: none;
}
@media (max-width: 767px) {
  #footer #footerBottom #footerNav-related ul {
    flex-direction: column;
  }
}
#footer #footerBottom #footerNav-related ul li a.corporation {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.04em;
  transition: color 0.2s;
  /* -- hover -- */
  /* -- 別窓アイコン -- */
  /* -- 別窓アイコン（hover） -- */
}
@media (max-width: 767px) {
  #footer #footerBottom #footerNav-related ul li a.corporation {
    font-size: 12px;
  }
}
#footer #footerBottom #footerNav-related ul li a.corporation:hover {
  color: #999999;
}
#footer #footerBottom #footerNav-related ul li a.corporation[target=_blank]::after {
  content: "";
  position: relative;
  display: inline-flex;
  align-self: center;
  width: 1em;
  height: 1em;
  background-color: #2F2F2F;
  mask-image: url(../img/icon/icon--external.svg);
  mask-size: 100% 100%;
  mask-position: right center;
  mask-repeat: no-repeat;
  margin-left: 0.5em;
  transition: background-color 0.2s;
}
#footer #footerBottom #footerNav-related ul li a.corporation[target=_blank]:hover::after {
  content: "";
  position: relative;
  display: inline-flex;
  align-self: center;
  width: 1em;
  height: 1em;
  background-color: #999999;
  mask-image: url(../img/icon/icon--external.svg);
  mask-size: 100% 100%;
  mask-position: right center;
  mask-repeat: no-repeat;
  margin-left: 0.5em;
  animation: animation-icon-up 0.2s ease-in-out forwards;
}
@keyframes animation-icon-up {
  0% {
    mask-position: right top 1.25em;
  }
  100% {
    mask-position: right center;
  }
}
#footer #footerBottom #footerNav-related ul li a.privacypolicy {
  display: inline-flex;
  align-items: center;
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.04em;
  transition: color 0.2s;
  /* -- hover -- */
  /* -- 別窓アイコン -- */
  /* -- 別窓アイコン（hover） -- */
}
@media (max-width: 767px) {
  #footer #footerBottom #footerNav-related ul li a.privacypolicy {
    font-size: 10px;
  }
}
#footer #footerBottom #footerNav-related ul li a.privacypolicy:hover {
  text-decoration: none;
  color: #999999;
}
#footer #footerBottom #footerNav-related ul li a.privacypolicy[target=_blank]::after {
  content: "";
  position: relative;
  display: inline-flex;
  align-self: center;
  width: 1em;
  height: 1em;
  background-color: #2F2F2F;
  mask-image: url(../img/icon/icon--external.svg);
  mask-size: 100% 100%;
  mask-position: right center;
  mask-repeat: no-repeat;
  margin-left: 0.5em;
  transition: background-color 0.2s;
}
#footer #footerBottom #footerNav-related ul li a.privacypolicy[target=_blank]:hover::after {
  text-decoration: none;
  content: "";
  position: relative;
  display: inline-flex;
  align-self: center;
  width: 1em;
  height: 1em;
  background-color: #999999;
  mask-image: url(../img/icon/icon--external.svg);
  mask-size: 100% 100%;
  mask-position: right center;
  mask-repeat: no-repeat;
  margin-left: 0.5em;
  animation: animation-icon-up 0.2s ease-in-out forwards;
}
@keyframes animation-icon-up {
  0% {
    mask-position: right top 1.25em;
  }
  100% {
    mask-position: right center;
  }
}
#footer #footerBottom #copyright {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  #footer #footerBottom #copyright {
    font-size: 10px;
  }
}

/*# sourceMappingURL=global-footer.css.map */
