@charset "UTF-8";
/*--------------------------------------------------
 リセット
--------------------------------------------------*/
*, ::before, ::after {
  box-sizing: border-box;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  /* font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; */
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  color: #000;
  margin: 0;
  padding: 0;
}

ul, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4 {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

img {
  width: 100%;
  vertical-align: bottom;
}

button {
  padding: 0;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none;
}

a {
  text-decoration: none;
  cursor: pointer;
  color: #000;
}

address {
  font-style: normal;
}

/*--------------------------------------------------
 Adobeフォント
--------------------------------------------------*/
/*--------------------------------------------------
 Googleフォント
--------------------------------------------------*/
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/*--------------------------------------------------
 テキストサイズ
--------------------------------------------------*/
.text_1p15em {
  font-size: 1.15em;
}

.text_1p2em {
  font-size: 1.2em;
}

/*--------------------------------------------------
 表示・非表示の切り替え
--------------------------------------------------*/
.pcOnly {
  display: block !important;
}

.pcOnly-grid {
  display: grid !important;
}

.spOnly {
  display: none !important;
}

.spOnly-grid {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
  .pcOnly-grid {
    display: none !important;
  }
  .spOnly {
    display: block !important;
  }
  .spOnly-grid {
    display: grid !important;
  }
}
header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
}
header .header_wrap {
  height: 90px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  border-bottom: 1px solid #2D414E;
  background-color: #D1DBDA;
}
header .header_wrap .logo_wrap {
  height: 100%;
  padding: 23px 25px;
  border-right: 1px solid #2D414E;
  display: grid;
  place-items: center;
}
header .header_wrap .breakpoint_gnave_show {
  display: flex !important;
}
@media screen and (max-width: 1100px) {
  header .header_wrap .breakpoint_gnave_show {
    display: none !important;
  }
}
header .header_wrap .navi_list_wrap {
  height: 100%;
  display: grid;
  grid-template-columns: auto auto auto auto auto auto;
  justify-content: flex-end;
  column-gap: 24px;
  padding-right: 42px;
}
header .header_wrap .navi_list_wrap .navi_list {
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
}
header .header_wrap .navi_list_wrap .navi_list .navi_list_item {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  color: #2D414E;
  font-family: "sweet-sans-pro";
}
header .header_wrap .navi_list_wrap .navi_list .navi_list_item::before {
  content: "";
  width: 0%;
  height: 1px;
  background-color: #2D414E;
  position: absolute;
  bottom: 2.4em;
  left: 0;
  transition: width 0.3s;
}
header .header_wrap .navi_list_wrap .navi_list .navi_list_item {
  /* ホバー時にアンダーラインが伸びる */
}
header .header_wrap .navi_list_wrap .navi_list .navi_list_item:hover::before {
  width: 100%;
}
header .header_wrap .recruit_wrap {
  height: 100%;
  border-left: 1px solid #2D414E;
  padding: 35px 71px 35px 42px;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  transition: background-color 0.8s;
  /* ホバー時に色を変更 */
}
header .header_wrap .recruit_wrap:hover {
  background-color: #2D414E;
}
header .header_wrap .recruit_wrap:hover .recruit_item {
  color: #CCD7D6;
}
header .header_wrap .recruit_wrap:hover .recruit_item::before {
  background-color: #CCD7D6;
}
header .header_wrap .recruit_wrap:hover .recruit_item::after {
  border-top: 1px solid #CCD7D6;
  border-right: 1px solid #CCD7D6;
}
header .header_wrap .recruit_wrap .recruit_item {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  color: #2D414E;
  transition: color 0.8s;
  font-family: "sweet-sans-pro";
}
header .header_wrap .recruit_wrap .recruit_item::before {
  content: "";
  width: 18px;
  height: 1px;
  background-color: #2D414E;
  position: absolute;
  top: 50%;
  right: -29px;
  translate: 0 -50%;
  transition: background-color 0.8s;
}
header .header_wrap .recruit_wrap .recruit_item::after {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-top: 1px solid #2D414E;
  border-right: 1px solid #2D414E;
  position: absolute;
  top: 50%;
  right: -30px;
  rotate: 45deg;
  translate: 0 -50%;
  transition: border-top 0.8s, border-right 0.8s;
}
@media screen and (width < 1100px) {
  header .header_wrap {
    height: 80px;
    display: grid;
    grid-template-columns: 1fr auto;
  }
  header .header_wrap .logo_wrap {
    display: flex;
    width: 100%;
  }
}

/*--------------------------------------------------
 ハンバーガーメニュー
--------------------------------------------------*/
/* ボタン */
/* グローバルナビとバーガーメニューボタンを切り替えるサイズ 1100px */
.breakpoint_burgermenu_show {
  display: none !important;
}
@media screen and (max-width: 1100px) {
  .breakpoint_burgermenu_show {
    display: block !important;
  }
}

.hamburger-menu {
  width: 80px;
  height: 80px;
  position: relative;
  appearance: none;
  padding: 0;
  cursor: pointer;
  z-index: 11000;
  border-bottom: 1px solid #2D414E;
  background-color: #CCD7D6;
  transition: background-color 0.5s;
  /* マウスホバー時 */
}
.hamburger-menu:hover {
  background-color: #2D414E;
}
.hamburger-menu:hover .hamburger_menu_bar {
  background-color: #CCD7D6;
}
.hamburger-menu.hamburger-menu--open {
  background-color: transparent;
  border: 2px solid transparent;
  /* マウスホバー時 */
}
.hamburger-menu.hamburger-menu--open:hover {
  background-color: #CCD7D6;
}
.hamburger-menu.hamburger-menu--open:hover .hamburger_menu_bar {
  background-color: #2D414E;
}
.hamburger-menu.hamburger-menu--open .hamburger_menu_bar {
  background-color: #CCD7D6;
  top: 50%;
  transition: background-color 0.5s;
}
.hamburger-menu.hamburger-menu--open .hamburger_menu_bar:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  top: 50%;
}
.hamburger-menu.hamburger-menu--open .hamburger_menu_bar:nth-child(2) {
  display: none;
}
.hamburger-menu.hamburger-menu--open .hamburger_menu_bar:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  top: 50%;
}
.hamburger-menu .hamburger_menu_bar {
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: #2D414E;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.5s;
}
.hamburger-menu .hamburger_menu_bar:first-child {
  top: 35%;
}
.hamburger-menu .hamburger_menu_bar:nth-child(2) {
  top: 50%;
}
.hamburger-menu .hamburger_menu_bar:last-child {
  top: 65%;
}

/* メニュー */
.navigation_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  max-width: 100dvh;
  height: 0;
  z-index: 9000;
  margin-inline: 0;
}
.navigation_wrapper .navigation {
  display: none;
  background-color: #2D414E;
  position: absolute;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100vh;
  z-index: 8000;
}
.navigation_wrapper .navigation_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  overflow-y: auto;
  margin-inline: 0;
}
.navigation_wrapper .navigation_inner_box {
  margin-inline: 5%;
  display: flex;
  flex-direction: column;
  width: fit-content;
}
.navigation_wrapper .navigation_title_box {
  margin-inline: 0;
  margin-bottom: 25px;
}
.navigation_wrapper .navigation_title_box .navigation_title {
  width: 80px;
  margin-inline: 0;
}
.navigation_wrapper .navigation_list {
  list-style: none;
  padding: 0 20px;
  margin: 0;
  display: grid;
  row-gap: 60px;
}
.navigation_wrapper .list_item {
  position: relative;
  display: flex;
  justify-content: center;
}
.navigation_wrapper .list_item:not(:last-of-type) {
  /* マウスホバー時のアンダーライン（ホバー前の設定） */
}
.navigation_wrapper .list_item:not(:last-of-type) .navigation_link {
  position: relative;
}
.navigation_wrapper .list_item:not(:last-of-type) .navigation_link::before {
  content: "";
  width: 0%;
  height: 1px;
  background-color: #CCD7D6;
  position: absolute;
  bottom: -0.5em;
  left: 0;
  transition: 0.3s;
}
.navigation_wrapper .list_item:not(:last-of-type) .navigation_link {
  /* マウスホバー時のアンダーライン */
}
.navigation_wrapper .list_item:not(:last-of-type) .navigation_link:hover::before {
  width: 100%;
}
.navigation_wrapper .list_item {
  /* リクルート用 */
}
.navigation_wrapper .list_item:last-of-type {
  background-color: #CCD7D6;
  border: 1px solid #CCD7D6;
  transition: background-color 0.8s;
}
.navigation_wrapper .list_item:last-of-type .navigation_link {
  color: #2D414E;
  padding: 12px 16px;
  transition: color 0.8s;
}
.navigation_wrapper .list_item:last-of-type {
  /* マウスホバー時の色変更 */
}
.navigation_wrapper .list_item:last-of-type:hover {
  background-color: #2D414E;
}
.navigation_wrapper .list_item:last-of-type:hover .navigation_link {
  color: #CCD7D6;
}
.navigation_wrapper .navigation_link {
  color: #CCD7D6;
  font-family: "sweet-sans-pro";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: 0.5s;
  display: flex;
  text-transform: uppercase;
  text-align: center;
}

/***** バーガーメニューOPEN時 *****/
body.navigation--open {
  overflow-y: hidden;
}
body.navigation--open header .header_wrap {
  border-bottom: 1px solid #CCD7D6;
  background-color: #2D414E;
  position: relative;
  z-index: 11000;
}
body.navigation--open header .header_wrap .logo_wrap {
  border-right: 1px solid #CCD7D6;
}
body.navigation--open header .header_wrap .navi_list_wrap .navi_list .navi_list_item {
  color: #CCD7D6;
}
body.navigation--open header .header_wrap .recruit_wrap {
  border-left: 1px solid #CCD7D6;
}
body.navigation--open header .header_wrap .recruit_wrap .recruit_item {
  color: #CCD7D6;
}
body.navigation--open header .header_wrap .recruit_wrap .recruit_item::before {
  background-color: #CCD7D6;
}
body.navigation--open header .header_wrap .recruit_wrap .recruit_item::after {
  border-top: 1px solid #CCD7D6;
  border-right: 1px solid #CCD7D6;
}
body.navigation--open .hamburger-menu .hamburger_menu_bar {
  background-color: #CCD7D6;
}

/***** グローバルナビのロゴ *****/
/* 初期状態 */
.logo_nomal_color {
  display: inline;
}

.logo_reverse_color {
  display: none;
}

/* ハンバーガーメニューが開いた時（bodyに.navigation--openが付く） */
body.navigation--open .logo_nomal_color {
  display: none;
}

body.navigation--open .logo_reverse_color {
  display: inline;
}

/*--------------------------------------------------
 KV
--------------------------------------------------*/
.kv_container .kv_wrap {
  padding-top: 90px;
  background-color: #D1DBDA;
  padding-inline: 40px;
}
@media screen and (max-width: 768px) {
  .kv_container .kv_wrap {
    padding-top: calc(14vw + 90px);
    padding-bottom: 20vw;
    padding-inline: 14vw;
  }
}
.kv_container .kv_wrap_inner.grid {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: 1rem;
}
@media screen and (max-width: 768px) {
  .kv_container .kv_wrap_inner.grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    justify-content: center;
  }
}
.kv_container .kv_center_item_wrap {
  margin-top: 150px;
  padding-bottom: 150px;
  max-width: 910px;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .kv_container .kv_center_item_wrap {
    margin-top: 1rem;
    padding-bottom: 1rem;
  }
}
.kv_container .kv_center_item_wrap .kv_title {
  color: #2D414E;
  font-family: "sweet-sans-pro";
  font-size: min(6vw, 83px);
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  position: absolute;
  top: -0.8em;
  left: -0.4em;
}
@media screen and (max-width: 768px) {
  .kv_container .kv_center_item_wrap .kv_title {
    top: 3.5em;
    left: -4.3em;
    rotate: 90deg;
    font-size: 13vw;
  }
}
.kv_container .kv_center_image_wrap.grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .kv_container .kv_center_image_wrap.grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.kv_container .kv_text {
  margin-top: 1rem;
  color: #2D414E;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.07em;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .kv_container .kv_text {
    position: absolute;
    bottom: 13.5em;
    right: -15.5em;
    rotate: 90deg;
    text-align: right;
  }
}
.kv_container .kv_left_item_text,
.kv_container .kv_right_item_text {
  color: #2D414E;
  font-family: "sweet-sans-pro";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
}
.kv_container {
  /* KV patternの初期状態 透明 */
}
.kv_container .pattern-01,
.kv_container .pattern-02,
.kv_container .pattern-03,
.kv_container .pattern-04,
.kv_container .pattern-05,
.kv_container .pattern-06,
.kv_container .pattern-07,
.kv_container .pattern-08 {
  opacity: 0;
}
.kv_container {
  /* KVの初期状態 透明／少し下から出したい要素 */
}
.kv_container .kv_title,
.kv_container .kv_left_item_wrap,
.kv_container .kv_right_item_wrap,
.kv_container .kv_text {
  opacity: 0;
  transform: translateY(20px);
}

/*--------------------------------------------------
 TEAM
--------------------------------------------------*/
.team_container .team_wrap {
  background-color: #D1DBDA;
  padding-inline: 40px;
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .team_container .team_wrap {
    padding-inline: 5vw;
  }
}
.team_container .team_wrap_inner.grid {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  grid-template-areas: "item-01 item-02" "item-03 item-02";
  gap: 6rem;
}
@media screen and (max-width: 768px) {
  .team_container .team_wrap_inner.grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas: "item-01" "item-02" "item-03";
    gap: 2rem;
  }
}
.team_container .team_box.item-01 {
  grid-area: item-01;
}
.team_container .team_box.item-02 {
  grid-area: item-02;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .team_container .team_box.item-02 .english_text {
    margin-left: 2rem;
  }
  .team_container .team_box.item-02 .japanese_text {
    margin-left: 1.5rem;
  }
}
.team_container .team_box.item-03 {
  grid-area: item-03;
  align-self: end;
}
@media screen and (max-width: 768px) {
  .team_container .team_box.item-03 {
    text-align: center;
  }
}
.team_container .team_box_heading {
  color: #2D414E;
  font-feature-settings: "halt" on;
  font-family: "sweet-sans-pro";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.team_container .team_box_heading.japanese_text {
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .team_container .team_box_heading.japanese_text {
    font-size: 24px;
  }
}
.team_container .team_box_text.english_text {
  color: #2D414E;
  font-feature-settings: "halt" on;
  font-family: "sweet-sans-pro";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}
.team_container .team_box_text.japanese_text {
  color: #2D414E;
  font-feature-settings: "halt" on;
  font-family: "Noto Sans JP";
  font-size: 13px;
  ont-style: normal;
  font-weight: 300;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .team_container .team_box_text.japanese_text {
    font-size: 14px;
    line-height: 1.8;
  }
}
.team_container .team_box_language_switch.english_text {
  color: #2D414E;
  font-feature-settings: "halt" on;
  font-family: "sweet-sans-pro";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

/*--------------------------------------------------
英語・日本語切り替え
--------------------------------------------------*/
/* デフォルト（または英語モード）の時：日本語を隠す */
.team_container[data-lang=en] .japanese_text {
  display: none;
}

.team_container[data-lang=en] .english_text {
  display: block;
}
.team_container[data-lang=en] .english_text.team_box_language_switch .js-btn-en {
  font-weight: 600;
}

/* 日本語モードの時：英語を隠す */
.team_container[data-lang=jp] .english_text {
  display: none;
}

.team_container[data-lang=jp] .japanese_text {
  display: block;
}
.team_container[data-lang=jp] .japanese_text.team_box_language_switch {
  font-family: "Noto Sans JP";
  font-size: 12px;
}
.team_container[data-lang=jp] .japanese_text.team_box_language_switch .js-btn-en {
  font-weight: 300;
}
.team_container[data-lang=jp] .japanese_text.team_box_language_switch .js-btn-jp {
  font-weight: 500;
}

/* ボタンのスタイル（カーソルを指にするなどお好みで） */
.team_box_language_switch_button {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  /* 現在選択中の言語を目立たせたい場合は以下のようなスタイルを追加しても良いです */
}

/*--------------------------------------------------
 サービス
--------------------------------------------------*/
.service_container .service_wrap {
  background-color: #D1DBDA;
  padding-inline: 40px;
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .service_container .service_wrap {
    padding-inline: 5vw;
  }
}
.service_container .service_title_wrap.grid {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "item-01 item-02";
  column-gap: 1rem;
  align-items: end;
}
.service_container .service_title_wrap .service_title {
  color: #2D414E;
  font-family: "sweet-sans-pro";
  font-size: 80px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .service_container .service_title_wrap .service_title {
    font-size: min(12vw, 70px);
  }
}
.service_container .service_title_wrap .service_title_sub {
  color: #2D414E;
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  padding-bottom: 0.5em;
}
.service_container .service_content_wrap {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .service_container .service_content_wrap {
    margin-top: 1.5rem;
  }
}
.service_container .service_content_wrap .service_content_wrap_inner.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto 1fr auto;
  column-gap: 3rem;
}
@media screen and (max-width: 768px) {
  .service_container .service_content_wrap .service_content_wrap_inner.grid {
    grid-template-columns: 1fr;
    row-gap: 5vw;
  }
}
.service_container .service_content_wrap .service_content_card_wrap {
  background-color: #fff;
  padding: 2rem;
}
@media screen and (max-width: 768px) {
  .service_container .service_content_wrap .service_content_card_wrap {
    padding: 5vw;
  }
}
.service_container .service_content_wrap .service_content_card_wrap.grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: subgrid;
  grid-row: span 4;
  row-gap: 1rem;
}
.service_container .service_content_wrap .service_content_card_wrap .service_content_card_lead {
  color: #2D414E;
  font-feature-settings: "halt" on;
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.service_container .service_content_wrap .service_content_card_wrap .service_content_card_detail {
  color: #2D414E;
  font-feature-settings: "halt" on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .service_container .service_content_wrap .service_content_card_wrap .service_content_card_detail {
    margin-bottom: 0.5rem;
  }
}
.service_container .service_content_wrap .service_content_card_wrap .service_content_card_icon_image_box.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  column-gap: min(3vw, 1rem);
  row-gap: min(3vw, 1rem);
}

/*--------------------------------------------------
 ニュース
--------------------------------------------------*/
.news_container .news_wrap {
  background-color: #D1DBDA;
  padding-inline: 40px;
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .news_container .news_wrap {
    padding-inline: 5vw;
  }
}
.news_container .news_wrap_inner {
  background-color: #2D414E;
  padding-inline: 2rem;
  padding-block: 4rem;
}
@media screen and (max-width: 768px) {
  .news_container .news_wrap_inner {
    padding-inline: 5vw;
    padding-block: 10vw;
  }
}
.news_container .news_wrap_inner.grid {
  display: grid;
  grid-template-columns: 45% calc(55% - 2rem);
  column-gap: 2rem;
}
@media screen and (max-width: 768px) {
  .news_container .news_wrap_inner.grid {
    grid-template-columns: 1fr;
  }
}
.news_container .news_title_box {
  color: #FFF;
  font-family: "sweet-sans-pro";
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
.news_container .news_content_box.grid {
  display: grid;
  grid-template-rows: auto auto auto;
  row-gap: 2rem;
}
@media screen and (max-width: 768px) {
  .news_container .news_content_box.grid {
    margin-top: 2rem;
  }
}
.news_container .news_content_box .news_content_item_date {
  color: rgba(255, 255, 255, 0.4);
  font-family: "sweet-sans-pro";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-transform: uppercase;
}
.news_container .news_content_box .news_content_item_detail {
  color: #FFF;
  font-feature-settings: "halt" on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 0.5rem;
}

/*--------------------------------------------------
 カンパニープロフィール
--------------------------------------------------*/
.company-profile_container .company-profile_wrap {
  background-color: #fff;
  padding-inline: 40px;
  padding-top: 90px;
  padding-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_wrap {
    padding-bottom: 0;
  }
}
.company-profile_container .company-profile_wrap:first-of-type {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_wrap:first-of-type {
    padding-top: 0.1rem;
    padding-inline: 0.2rem;
  }
}
.company-profile_container .company-profile_wrap:not(:first-of-type) {
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_wrap:not(:first-of-type) {
    padding-inline: 5vw;
  }
}
.company-profile_container .company-profile_title_box {
  color: #CCD7D6;
  font-family: "sweet-sans-pro";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_title_box {
    font-size: 24px;
  }
}
.company-profile_container .company-profile_content_detail_wrap {
  max-width: 800px;
  margin-inline: auto;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_content_detail_wrap {
    margin-top: 4rem;
  }
}
.company-profile_container .company-profile_content_detail_wrap .company-profile_detail_title_box {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner {
  margin-top: 4rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner {
    margin-top: 2.5rem;
  }
}
.company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner.grid {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto auto auto auto;
  grid-template-areas: "item-01" "item-02" "item-03" "item-04" "item-05" "item-06";
  column-gap: max(5vw, 1rem);
  row-gap: 4rem;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner.grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto auto auto;
    grid-template-areas: "item-01" "item-02" "item-03" "item-04" "item-05" "item-06";
    column-gap: 0;
    row-gap: 2rem;
  }
}
.company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner .company-profile_content_detail_item_box {
  position: relative;
}
.company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner .company-profile_content_detail_item_box.grid {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  grid-template-rows: auto;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner .company-profile_content_detail_item_box.grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
}
.company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner .company-profile_content_detail_item_box::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #2D414E;
  opacity: 0.2;
  position: absolute;
  top: -2rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner .company-profile_content_detail_item_box::before {
    top: -1rem;
  }
}
.company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner .company-profile_content_detail_item_box:first-of-type::before {
  opacity: 1;
}
.company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner .company-profile_content_detail_item {
  color: var(--TEAMS-navy, #2D414E);
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner .company-profile_content_detail_item:first-of-type {
    opacity: 0.6;
  }
  .company-profile_container .company-profile_content_detail_wrap .company-profile_content_detail_inner .company-profile_content_detail_item:not(:first-of-type) {
    margin-top: 0.3rem;
  }
}

/*--------------------------------------------------
 Google MAP
--------------------------------------------------*/
.map-embed {
  margin-top: 38px;
  width: 100%;
  height: 368px;
  /* 16:9。必要なら 4/3 や 1/1 に変更 */
  aspect-ratio: 50/23;
  /* 角丸や影はお好みで */
  /* border-radius: 8px; */
  overflow: hidden;
}

.map-embed iframe {
  width: 100%;
  height: 668px;
  margin-top: -150px;
  border: 0;
  display: block;
}

/*--------------------------------------------------
 リクルート
--------------------------------------------------*/
.recruit_container .recruit_wrap {
  background: linear-gradient(0deg, rgb(204, 215, 214) 0%, rgb(204, 215, 214) 50%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%);
  padding-inline: 40px;
  padding-top: 90px;
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .recruit_container .recruit_wrap {
    padding-inline: 5vw;
  }
}
.recruit_container .recruit_image_box {
  max-width: 1080px;
  margin-inline: auto;
  position: relative;
  color: #F4F5F1;
  overflow: hidden;
}
.recruit_container .recruit_image_box .recruit_image {
  transition: scale 1.5s;
}
.recruit_container .recruit_image_box:hover .recruit_image {
  scale: 1.05;
}
.recruit_container .recruit_image_box .recruit_image_title_box {
  position: absolute;
  top: 1.5rem;
  left: 2rem;
}
.recruit_container .recruit_image_box .recruit_image_title_box .recruit_image_title.en {
  font-family: "sweet-sans-pro";
  font-size: 56px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
.recruit_container .recruit_image_box .recruit_image_title_box .recruit_image_title.ja {
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding-left: 0.5em;
}
@media screen and (max-width: 768px) {
  .recruit_container .recruit_image_box .recruit_image_title_box {
    top: 4vw;
    left: 5vw;
  }
  .recruit_container .recruit_image_box .recruit_image_title_box .recruit_image_title.en {
    font-size: min(9vw, 60px);
  }
  .recruit_container .recruit_image_box .recruit_image_title_box .recruit_image_title.ja {
    margin-top: 0.5rem;
    padding-left: 0.3em;
  }
}
.recruit_container .recruit_image_box .recruit_image_catch_box {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.recruit_container .recruit_image_box .recruit_image_catch_box .recruit_image_catch {
  text-align: center;
  font-family: "sweet-sans-pro";
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .recruit_container .recruit_image_box .recruit_image_catch_box .recruit_image_catch {
    font-size: 6vw;
  }
}
.recruit_container .recruit_image_box .recruit_image_text_box {
  position: absolute;
  bottom: 1.5rem;
  right: 2rem;
}
.recruit_container .recruit_image_box .recruit_image_text_box .recruit_image_lead_text {
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.recruit_container .recruit_image_box .recruit_image_text_box .recruit_image_text {
  font-feature-settings: "halt" on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .recruit_container .recruit_image_box .recruit_image_text_box {
    bottom: 4vw;
    right: auto;
    left: 5vw;
  }
  .recruit_container .recruit_image_box .recruit_image_text_box .recruit_image_lead_text {
    font-size: min(4.5vw, 26px);
  }
  .recruit_container .recruit_image_box .recruit_image_text_box .recruit_image_text {
    font-size: min(3.3vw, 18px);
  }
}
.recruit_container .recruit_image_box .recruit_image_arrow {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 2.5rem;
  right: 2.5rem;
  /* 線 */
}
.recruit_container .recruit_image_box .recruit_image_arrow::before {
  content: "";
  width: 55px;
  height: 1px;
  background-color: #F4F5F1;
  position: absolute;
  top: 0;
  right: 0;
  transform-origin: 100% 0;
  rotate: -45deg;
  transition: width 1.5s;
}
.recruit_container .recruit_image_box .recruit_image_arrow {
  /* 矢尻 */
}
.recruit_container .recruit_image_box .recruit_image_arrow::after {
  content: "";
  width: 39px;
  height: 39px;
  border-top: 1px solid #F4F5F1;
  border-right: 1px solid #F4F5F1;
  position: absolute;
  top: 0;
  right: 0;
}
.recruit_container .recruit_image_box {
  /* 矢印マウスオーバー時 */
}
.recruit_container .recruit_image_box:hover {
  /* 矢印 */
}
.recruit_container .recruit_image_box:hover .recruit_image_arrow_box .recruit_image_arrow {
  /* 線 */
}
.recruit_container .recruit_image_box:hover .recruit_image_arrow_box .recruit_image_arrow::before {
  width: 110px;
}
.recruit_container .recruit_image_box .recruit_image_btn {
  color: #F4F5F1;
}

/*--------------------------------------------------
 コンタクト
--------------------------------------------------*/
.contact_container .contact_wrap {
  background-color: #CCD7D6;
  padding-inline: 40px;
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .contact_container .contact_wrap {
    padding-inline: 5vw;
    padding-top: 0;
    padding-bottom: min(20vw, 80px);
    position: relative;
  }
  .contact_container .contact_wrap::before {
    content: "";
    width: calc(100% - 5vw - 5vw);
    height: 1px;
    background-color: #2D414E;
    position: absolute;
    opacity: 0.6;
    bottom: 0;
    left: 5vw;
  }
}
.contact_container .contact_title {
  color: #2D414E;
  text-align: center;
  font-family: "sweet-sans-pro";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
.contact_container .contact_email_box {
  margin-top: 2rem;
  margin-inline: auto;
  padding: 0.7rem 1rem 1rem;
  width: fit-content;
  background-color: #CCD7D6;
  transition: background-color 0.8s;
}
@media screen and (max-width: 768px) {
  .contact_container .contact_email_box {
    margin-top: min(5vw, 2rem);
  }
}
.contact_container .contact_email_box {
  /* マウスオーバー時 */
}
.contact_container .contact_email_box:hover {
  background-color: #2D414E;
}
.contact_container .contact_email_box .contact_email {
  display: block;
  color: #2D414E;
  text-align: center;
  font-family: "sweet-sans-pro";
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  transition: color 0.8s;
  position: relative;
  /* アンダーライン */
}
.contact_container .contact_email_box .contact_email::before {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #2D414E;
  position: absolute;
  bottom: -0.1em;
  left: 0;
  opacity: 1;
  transition: opacity 0.8s;
}
.contact_container .contact_email_box .contact_email {
  /* マウスオーバー時 */
}
.contact_container .contact_email_box .contact_email:hover {
  color: #CCD7D6;
}
.contact_container .contact_email_box .contact_email:hover::before {
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .contact_container .contact_email_box {
    padding-inline: 0;
  }
  .contact_container .contact_email_box .contact_email {
    font-size: min(7.5vw, 40px);
  }
}
.contact_container .contact_text {
  color: #2D414E;
  text-align: center;
  font-feature-settings: "halt" on;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .contact_container .contact_text {
    margin-top: min(5vw, 2rem);
  }
}

/*--------------------------------------------------
 日付・天気・場所
--------------------------------------------------*/
.date-info_container {
  padding-top: 100px;
  background-color: #D1DBDA;
}
.date-info_container .date-info {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  line-height: 1;
  color: #111;
}
.date-info_container .date-info.grid {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  grid-template-areas: "item-01 item-02" "item-03 item-02";
  justify-content: flex-end;
}
.date-info_container .date-info.grid .data {
  color: #2D414E;
  text-align: right;
  font-family: "sweet-sans-pro";
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
.date-info_container .date-info time,
.date-info_container .date-info__location {
  white-space: nowrap;
}
.date-info_container .date-info__weather {
  display: flex;
  align-items: center;
}
.date-info_container .ico-weather img {
  display: block;
  width: 20px;
  height: 20px;
}

.loading {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #D1DBDA;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}

.loading.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loading_logo_box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.loading_logo {
  width: 220px;
  max-width: 60vw;
  height: auto;
  opacity: 0;
  transition: opacity 1s ease;
}

.loading_logo.is-show {
  opacity: 1;
}

/* ローディング中のスクロール抑止 */
body.is-loading {
  overflow: hidden;
}

footer .footer_content .footer_wrap {
  background-color: #CCD7D6;
}
footer .footer_content .footer_wrap_inner {
  padding-inline: 40px;
  padding-top: 10rem;
  padding-bottom: 5rem;
  border-bottom: 1px solid #2D414E;
}
@media screen and (max-width: 768px) {
  footer .footer_content .footer_wrap_inner {
    padding-inline: 5vw;
    padding-top: min(13vw, 60px);
    padding-bottom: min(13vw, 60px);
  }
}
footer .footer_content .footer_wrap_inner.grid {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "item-01 item-02" "item-03 item-04";
  column-gap: 2rem;
  row-gap: 4rem;
}
@media screen and (max-width: 768px) {
  footer .footer_content .footer_wrap_inner.grid {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    grid-template-rows: auto auto auto;
    grid-template-areas: "item-01 item-01 item-02" "item-03 item-03 item-03" "item-04 item-04 item-04";
    row-gap: min(15vw, 4rem);
  }
  footer .footer_content .footer_wrap_inner.grid .footer_navi_box {
    grid-area: item-01;
  }
  footer .footer_content .footer_wrap_inner.grid .top_btn_box {
    grid-area: item-02;
    display: block;
  }
  footer .footer_content .footer_wrap_inner.grid .footer_logo_box {
    grid-area: item-03;
  }
  footer .footer_content .footer_wrap_inner.grid .footer_address_wrap {
    grid-area: item-04;
  }
}
footer .footer_content .footer_wrap_inner .footer_logo_box {
  max-width: 190px;
}
footer .footer_content .footer_wrap_inner .footer_navi_box.flex {
  display: flex;
  column-gap: 2rem;
  justify-content: flex-end;
}
footer .footer_content .footer_wrap_inner .footer_navi_box .footer_navi_list_item {
  color: #2D414E;
  text-align: center;
  font-family: "sweet-sans-pro";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  position: relative;
  display: block;
}
footer .footer_content .footer_wrap_inner .footer_navi_box .footer_navi_list_item::before {
  content: "";
  width: 0%;
  height: 1px;
  background-color: #2D414E;
  position: absolute;
  bottom: -0.2em;
  left: 0;
  transition: width 0.3s;
}
footer .footer_content .footer_wrap_inner .footer_navi_box .footer_navi_list_item {
  /* ホバー時 */
}
footer .footer_content .footer_wrap_inner .footer_navi_box .footer_navi_list_item:hover::before {
  width: 100%;
}
@media screen and (max-width: 768px) {
  footer .footer_content .footer_wrap_inner .footer_navi_box.grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas: "item-01 item-02" "item-03 item-04" "item-05 item-06";
    column-gap: 1rem;
    row-gap: 1rem;
  }
  footer .footer_content .footer_wrap_inner .footer_navi_box .footer_navi_list_item {
    text-align: left;
    color: #2D414E;
  }
  footer .footer_content .footer_wrap_inner .footer_navi_box .footer_navi_list_item.footer_recruit {
    position: relative;
  }
  footer .footer_content .footer_wrap_inner .footer_navi_box .footer_navi_list_item.footer_recruit::before {
    content: "";
    width: 18px;
    height: 1px;
    background-color: #2D414E;
    position: absolute;
    top: 50%;
    left: auto;
    right: 29px;
    translate: 0 -50%;
  }
  footer .footer_content .footer_wrap_inner .footer_navi_box .footer_navi_list_item.footer_recruit::after {
    content: "";
    width: 0.4em;
    height: 0.4em;
    border-top: 1px solid #2D414E;
    border-right: 1px solid #2D414E;
    position: absolute;
    top: 50%;
    right: 30px;
    rotate: 45deg;
    translate: 0 -50%;
  }
}
footer .footer_content .footer_wrap_inner .footer_address_wrap {
  color: #2D414E;
  font-feature-settings: "halt" on;
  font-family: "sweet-sans-pro";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  opacity: 0.6;
}
footer .footer_content .footer_wrap_inner .footer_address_wrap.grid {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "item-01 item-02" "item-03 item-04";
  column-gap: 2rem;
}
@media screen and (max-width: 768px) {
  footer .footer_content .footer_wrap_inner .footer_address_wrap.grid {
    column-gap: 1.5rem;
    row-gap: 1rem;
  }
}
footer .footer_content .footer_wrap_inner .footer_address_wrap .footer_address_title_box {
  text-align: right;
}
footer .footer_content .footer_wrap_inner .footer_address_wrap .footer_address_text_box.grid {
  display: grid;
  grid-template-columns: auto 1fr;
}
footer .footer_content .footer_wrap_inner .footer_address_wrap .footer_address_text_box .footer_address_text {
  color: #2D414E;
}
@media (min-width: 768px) {
  footer .footer_content .footer_wrap_inner .footer_address_wrap .footer_address_text_box a[href^="tel:"] {
    pointer-events: none;
  }
}
footer .footer_content .footer_wrap_inner .footer_recruit_box {
  text-align: center;
  font-family: "sweet-sans-pro";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  padding-right: 32px;
  justify-self: flex-end;
  position: relative;
}
footer .footer_content .footer_wrap_inner .footer_recruit_box .footer_recruit {
  color: #2D414E;
  position: relative;
}
footer .footer_content .footer_wrap_inner .footer_recruit_box .footer_recruit::before {
  content: "";
  width: 18px;
  height: 1px;
  background-color: #2D414E;
  position: absolute;
  top: 50%;
  right: -29px;
  translate: 0 -50%;
}
footer .footer_content .footer_wrap_inner .footer_recruit_box .footer_recruit::after {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-top: 1px solid #2D414E;
  border-right: 1px solid #2D414E;
  position: absolute;
  top: 50%;
  right: -30px;
  rotate: 45deg;
  translate: 0 -50%;
}
footer .footer_content .footer_wrap_inner .footer_recruit_box::before {
  content: "";
  width: 0%;
  height: 1px;
  background-color: #2D414E;
  position: absolute;
  bottom: -0.2em;
  left: 0;
  transition: width 0.3s;
}
footer .footer_content .footer_wrap_inner .footer_recruit_box {
  /* ホバー時 */
}
footer .footer_content .footer_wrap_inner .footer_recruit_box:hover::before {
  width: 100%;
}
footer .footer_content .footer_copyright_container .footer_copyright_wrap {
  padding-block: 3rem;
  padding-inline: 40px;
}
footer .footer_content .footer_copyright_container .footer_copyright_wrap.grid {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 2rem;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  footer .footer_content .footer_copyright_container .footer_copyright_wrap.grid {
    grid-template-columns: 1fr;
  }
}
footer .footer_content .footer_copyright_container .footer_copyright_text {
  color: #2D414E;
  font-feature-settings: "halt" on;
  font-family: "Noto Sans JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 100;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  footer .footer_content .footer_copyright_container .footer_copyright_text {
    text-align: center;
  }
}
footer .footer_content .top_btn_box {
  width: 46px;
  height: 46px;
  border: 1px solid #2D414E;
  border-radius: 50%;
}
footer .footer_content .top_btn_box .top_btn_item {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
footer .footer_content .top_btn_box .top_btn_item::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #2D414E;
  opacity: 0.6;
  clip-path: polygon(35% 60%, 50% 40%, 65% 60%);
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  footer .footer_content .top_btn_box {
    display: none;
  }
}

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