@charset "UTF-8";
/* ========== Document Setting ========== */
/* ========== Color ========== */
/* ========== Font Family ========== */
/* ======================================================================
メディア・コンテナークエリ
====================================================================== */
/* ======================================================================
テキスト
====================================================================== */
/* ---------- テキスト設定（ショートハンド） ---------- */
/* ---------- 見出し（大） ---------- */
/* ---------- 見出し（中） ---------- */
/* ---------- 見出し（小） ---------- */
/* ---------- 見出し（極小） ---------- */
/* ---------- テキスト（通常） ---------- */
/* ---------- テキスト（小） ---------- */
/* ---------- パーマリンク ---------- */
/* ---------- ナビゲーション ---------- */
/* ---------- ラベル ---------- */
/* ---------- 欧文見出し（大） ---------- */
/* ---------- 欧文見出し（大） ---------- */
/* ---------- 読み上げ専用テキスト（スクリーンリーダー対応） ---------- */
/* ======================================================================
アニメーション
====================================================================== */
/* ---------- アニメーション（アンダーライン - 長さ拡大） ---------- */
/* ---------- アニメーション（アイコン - スライドアップ） ---------- */
/* ======================================================================
擬似要素 - テキストループスライダー
====================================================================== */
/* ======================================================================
下層ページヘッダー
====================================================================== */
/* ======================================================================
セクションコンテンツ
====================================================================== */
/* ======================================================================
ユーティリティー
====================================================================== */
/* ---------- インナー（コンテンツ幅の制限あり） ---------- */
/* ---------- インナー（コンテンツ幅の制限なし） ---------- */
/* ---------- インナー（セクション幅） ---------- */
/* ======================================================================
ポジション
====================================================================== */
/* ---------- ポジション設定（ショートハンド） ---------- */
/* ======================================================================
アイコン
====================================================================== */
/* ---------- アイコン（内部リンク） ---------- */
/* ---------- アイコン（内部リンク） ---------- */
/* ---------- アイコン（外部リンク） ---------- */
/* ---------- アイコン（中央配置） ---------- */
/* ---------- リンク下線（Black） ---------- */
/* ---------- リンク下線（Gray） ---------- */
/* ======================================================================
コンポーネント
====================================================================== */
/* ---------- ボタン（Japanese） ---------- */
/* ---------- ボタン（English） ---------- */
/* ---------- パーマリンク（Japanese） ---------- */
/* ---------- パーマリンク（English） ---------- */
/* ================================================================================
#pageHeader（ページヘッダー）
================================================================================ */
#pageHeader {
  position: relative;
  width: 100%;
  padding-inline: max(40px, (100% - 1120px) / 2);
  width: 100%;
  height: auto;
  background-color: transparent;
  padding-block: 200px 160px;
  overflow: hidden;
  transition: all 0.2s;
  /* ---------- タイトルコンテンツ ---------- */
  /* ---------- カバー画像 ---------- */
}
@media (max-width: 767px) {
  #pageHeader {
    padding-inline: max(20px, (100% - 1120px) / 2);
  }
}
@media (max-width: 767px) {
  #pageHeader {
    padding-block: 96px 80px;
  }
}
#pageHeader #pageHeaderTitle {
  position: absolute;
  top: 216px;
  left: auto;
  display: flex;
  flex-direction: column;
  padding-top: 44px;
  /* -- 装飾 -- */
}
@media (max-width: 767px) {
  #pageHeader #pageHeaderTitle {
    position: relative;
    top: auto;
    left: auto;
    padding-top: 22px;
  }
}
#pageHeader #pageHeaderTitle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 82px;
  height: 12px;
  background: url(../img/decoration/decoration-section-heading.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  #pageHeader #pageHeaderTitle::before {
    width: 36px;
    height: 6px;
  }
}
#pageHeader #pageHeaderTitle .title--ja {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 36px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.06em;
  margin-top: 24px;
  order: 2;
}
@media (max-width: 767px) {
  #pageHeader #pageHeaderTitle .title--ja {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  #pageHeader #pageHeaderTitle .title--ja {
    margin-top: 24px;
  }
}
#pageHeader #pageHeaderTitle .title--en {
  text-align: left;
  font-family: futura-pt, sans-serif;
  font-size: 120px;
  font-weight: 500;
  color: #DB6145;
  line-height: 1.25;
  letter-spacing: 0.06em;
  order: 1;
}
@media (max-width: 767px) {
  #pageHeader #pageHeaderTitle .title--en {
    font-size: 24px;
  }
}
#pageHeader #pageHeaderTitle .title--lead {
  width: 30.1785714286vw;
  max-width: 338px;
  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;
  margin-top: 64px;
  order: 2;
}
@media (max-width: 767px) {
  #pageHeader #pageHeaderTitle .title--lead {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  #pageHeader #pageHeaderTitle .title--lead {
    width: 100%;
    max-width: 100%;
    margin-top: 32px;
  }
}
#pageHeader #pageHeaderImg {
  position: relative;
  width: 59.84375vw;
  height: 460px;
  min-height: 460px;
  overflow: hidden;
  margin-inline: auto calc(50% - 50vw);
  z-index: -1;
}
@media (max-width: 767px) {
  #pageHeader #pageHeaderImg {
    width: calc(100% - (50% - 50vw));
    height: 202px;
    min-height: 202px;
    margin-top: 56px;
    margin-left: calc(50% - 50vw);
  }
}
#pageHeader #pageHeaderImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right bottom;
}

/* ================================================================================
#message（ザイナスの描く「明日」）
================================================================================ */
#message {
  width: 100%;
  padding-inline: max(40px, (100% - 1120px) / 2);
  transition: all 0.2s;
}
@media (max-width: 767px) {
  #message {
    padding-inline: max(20px, (100% - 1120px) / 2);
  }
}
#message .wrapper #messageContent .message-container {
  display: flex;
  gap: 40px 194px;
}
@media (max-width: 767px) {
  #message .wrapper #messageContent .message-container {
    flex-direction: column;
  }
}
#message .wrapper #messageContent .message-container .heading {
  position: relative;
  display: inline-block;
  text-align: left;
  font-family: futura-pt, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #DB6145;
  line-height: 1.25;
  letter-spacing: 0.06em;
  padding-top: 18px;
  padding-left: 18px;
}
#message .wrapper #messageContent .message-container .heading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 14px;
  height: 14px;
  border-top: 2px solid #DB6145;
  border-left: 2px solid #DB6145;
}
#message .wrapper #messageContent .message-container .content {
  display: flex;
  gap: 48px 80px;
  margin-top: 32px;
}
@media (max-width: 767px) {
  #message .wrapper #messageContent .message-container .content {
    flex-direction: column;
    margin-top: 0;
  }
}
#message .wrapper #messageContent .message-container .content .lead {
  margin-inline: auto;
}
#message .wrapper #messageContent .message-container .content .lead img {
  width: 50px;
}
@media (max-width: 767px) {
  #message .wrapper #messageContent .message-container .content .lead img {
    width: 244px;
  }
}
#message .wrapper #messageContent .message-container .content .comment .message {
  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;
}
@media (max-width: 767px) {
  #message .wrapper #messageContent .message-container .content .comment .message {
    font-size: 12px;
  }
}
#message .wrapper #messageContent .message-container .content .comment .position {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 64px;
}
@media (max-width: 767px) {
  #message .wrapper #messageContent .message-container .content .comment .position {
    text-align: right;
    font-size: 10px;
    margin-top: 56px;
  }
}
#message .wrapper #messageContent .message-container .content .comment .commenter {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 12px;
}
@media (max-width: 767px) {
  #message .wrapper #messageContent .message-container .content .comment .commenter {
    text-align: right;
    font-size: 12px;
  }
}
#message .wrapper #messageContent .message-thumbnail {
  margin-top: 120px;
}
@media (max-width: 767px) {
  #message .wrapper #messageContent .message-thumbnail {
    width: calc(100% - (50% - 50vw));
    margin-top: 40px;
    margin-inline: auto calc(50% - 50vw);
  }
}

/* ================================================================================
#mission（もっといいシステムで、もっといい明日を）
================================================================================ */
#mission {
  position: relative;
  width: 100%;
  padding-inline: max(40px, (100% - 1120px) / 2);
  padding-block: 160px 256px;
  overflow: hidden;
  transition: all 0.2s;
}
@media (max-width: 767px) {
  #mission {
    padding-inline: max(20px, (100% - 1120px) / 2);
  }
}
@media (max-width: 767px) {
  #mission {
    padding-block: 96px 176px;
  }
}
#mission::after {
  content: "";
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
  display: block;
  width: 4580px;
  height: 105px;
  background: url(../img/common/animation/animation-text.svg) no-repeat center center/contain;
  padding-block: 40px;
  opacity: 0.95;
  mix-blend-mode: difference;
  z-index: 0;
  animation: animation-text-slider 80s infinite linear both;
}
@keyframes animation-text-slider {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media (max-width: 767px) {
  #mission::after {
    width: 2727px;
    height: 68px;
    padding-block: 20px;
  }
}
#mission .wrapper #missionContent .heading {
  position: relative;
  display: inline-block;
  text-align: left;
  font-family: futura-pt, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #DB6145;
  line-height: 1.25;
  letter-spacing: 0.06em;
  padding-top: 18px;
  padding-left: 18px;
}
#mission .wrapper #missionContent .heading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 14px;
  height: 14px;
  border-top: 2px solid #DB6145;
  border-left: 2px solid #DB6145;
}
#mission .wrapper #missionContent .content {
  margin-top: 88px;
}
@media (max-width: 767px) {
  #mission .wrapper #missionContent .content {
    margin-top: 40px;
  }
}
#mission .wrapper #missionContent .content .lead {
  width: 418px;
  margin-left: 80px;
}
@media (max-width: 767px) {
  #mission .wrapper #missionContent .content .lead {
    width: 278px;
    margin-left: 0;
  }
}
#mission .wrapper #missionContent .content .message {
  max-width: 560px;
  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;
  margin-top: 48px;
  margin-inline: auto 0;
}
@media (max-width: 767px) {
  #mission .wrapper #missionContent .content .message {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  #mission .wrapper #missionContent .content .message {
    max-width: 100%;
  }
}

/* ================================================================================
#ourValues（もっといいシステムで、もっといい明日を）
================================================================================ */
#ourValues {
  position: relative;
  width: 100%;
  padding-inline: max(40px, (100% - 1120px) / 2);
  padding-block: 120px 240px;
  transition: all 0.2s;
}
@media (max-width: 767px) {
  #ourValues {
    padding-inline: max(20px, (100% - 1120px) / 2);
  }
}
@media (max-width: 767px) {
  #ourValues {
    padding-block: 80px 120px;
  }
}
#ourValues::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2F2F2F;
  mix-blend-mode: overlay;
  z-index: -1;
}
#ourValues .wrapper #ourValuesContent .heading {
  position: relative;
  display: inline-block;
  text-align: left;
  font-family: futura-pt, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #DB6145;
  line-height: 1.25;
  letter-spacing: 0.06em;
  padding-top: 18px;
  padding-left: 18px;
}
#ourValues .wrapper #ourValuesContent .heading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 14px;
  height: 14px;
  border-top: 2px solid #DB6145;
  border-left: 2px solid #DB6145;
}
#ourValues .wrapper #ourValuesContent .content {
  margin-top: 100px;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .content {
    margin-top: 48px;
  }
}
#ourValues .wrapper #ourValuesContent .content .lead {
  width: 420px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .content .lead {
    width: 280px;
    margin-inline: 0 auto;
  }
}
#ourValues .wrapper #ourValuesContent .content .message {
  width: fit-content;
  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;
  margin-top: 44px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .content .message {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .content .message {
    max-width: 100%;
    margin-top: 32px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF;
  padding: 64px 64px 48px 64px;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container {
    padding: 40px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container:first-of-type {
  margin-top: 96px;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container:first-of-type {
    margin-top: 80px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container:not(:first-of-type) {
  margin-top: 64px;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container:not(:first-of-type) {
    margin-top: 56px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background: linear-gradient(to bottom, #F5A04E 0%, #DB6145 100%);
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container::before {
    width: 100%;
    height: 8px;
    background: linear-gradient(to right, #F5A04E 0%, #DB6145 100%);
  }
}
#ourValues .wrapper #ourValuesContent .value-container .value-heading {
  min-height: 104px;
  display: flex;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-heading {
    min-height: auto;
    flex-direction: column;
  }
}
#ourValues .wrapper #ourValuesContent .value-container .value-heading .title {
  width: 104px;
  text-align: left;
  font-family: futura-pt, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 1.25;
  letter-spacing: 0.06em;
  padding-right: 56px;
}
#ourValues .wrapper #ourValuesContent .value-container .value-heading .lead {
  border-left: 1px solid #999999;
  padding-left: 64px;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-heading .lead {
    border-left: none;
    padding-left: 0;
    margin-top: 24px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container .value-heading .lead__title {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 30px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: #DB6145;
  line-height: 1.25;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-heading .lead__title {
    font-size: 24px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container .value-heading .lead__description {
  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: 32px;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-heading .lead__description {
    font-size: 10px;
  }
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-heading .lead__description {
    margin-top: 24px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container hr {
  border-color: #999999;
  margin-block: 32px 32px;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container hr {
    margin-block: 24px 40px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container .value-comment {
  text-align: left;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #2F2F2F;
  line-height: 2;
  letter-spacing: 0.04em;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-comment {
    font-size: 16px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container .value-permalink {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  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.08em;
  padding-block: 8px;
  /* -- 別窓アイコン -- */
  /* -- hover -- */
  margin-top: 48px;
  margin-inline: auto 0;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-permalink {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-permalink {
    padding-block: 0 16px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container .value-permalink::after {
  content: "";
  position: relative;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  width: 24px;
  height: 24px;
  background-color: #2F2F2F;
  mask-image: url(../img/icon/icon--internal.svg);
  mask-size: 100% 100%;
  mask-position: center right;
  mask-repeat: no-repeat;
  margin-left: 16px;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-permalink::after {
    width: 18px;
    height: 18px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container .value-permalink: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;
  }
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-permalink {
    margin-top: 40px;
  }
}
#ourValues .wrapper #ourValuesContent .value-container .value-permalink::after {
  background-color: #DB6145;
}
#ourValues .wrapper #ourValuesContent .value-container .value-permalink span {
  display: inline-block;
}
#ourValues .wrapper #ourValuesContent .value-container .value-permalink span br {
  display: none;
}
@media (max-width: 767px) {
  #ourValues .wrapper #ourValuesContent .value-container .value-permalink span br {
    display: block;
  }
}

/*# sourceMappingURL=culture.css.map */
