@charset "UTF-8";
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* 変数の定義
--------------------------------------------------*/
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* 色の定義
--------------------------------------------------*/
/* フォントの定義
--------------------------------------------------*/
html,
body,
ul,
ol,
dl,
li,
dt,
dd,
a,
p,
div,
img,
svg,
table,
tr,
th,
td,
figure {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
  color: #1C1C1C;
  font-feature-settings: "palt";
}

body,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
img,
svg,
a,
table,
tr,
th,
td,
figure {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  body,
  ul,
  ol,
  dl,
  li,
  dt,
  dd,
  p,
  div,
  img,
  svg,
  a,
  table,
  tr,
  th,
  td,
  figure {
    font-size: 1.4rem;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.04em;
  line-height: 1.5;
  font-weight: 800;
  font-feature-settings: "palt";
}

.en {
  font-family: "Inter Tight", sans-serif;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 700;
  display: inline-block;
}

/* 福利厚生・取り組み
--------------------------------------------------*/
/* ページ内リンク
--------------------------------------------------*/
#pagelink {
  padding: 80px 0;
}
@media screen and (max-width: 999px) {
  #pagelink {
    padding: 60px 0 50px;
  }
}

/* 福利厚生
--------------------------------------------------*/
#welfare {
  padding-bottom: 100px;
}
@media screen and (max-width: 999px) {
  #welfare {
    padding-bottom: 60px;
  }
}
#welfare {
  /* --- 福利厚生グリッド --- */
}
#welfare .culture_welfare_grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 30px);
}
@media screen and (max-width: 999px) {
  #welfare .culture_welfare_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 449px) {
  #welfare .culture_welfare_grid {
    grid-template-columns: 1fr;
  }
}
#welfare .culture_welfare_card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(20px, 2.5vw, 25px);
  background-color: #fff;
  border-radius: 8px;
}
#welfare .culture_welfare_card .culture_welfare_num {
  position: absolute;
  top: 0;
  left: clamp(16px, 2vw, 20px);
  margin: 0;
  font-size: clamp(2.4rem, 2.4vw, 3.2rem);
  font-weight: 800;
  line-height: 1;
  transform: translateY(-50%);
}
#welfare .culture_welfare_card .culture_welfare_icon {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #welfare .culture_welfare_card .culture_welfare_icon {
    margin-bottom: 15px;
  }
}
#welfare .culture_welfare_card .culture_welfare_icon img {
  display: block;
  width: clamp(56px, 12vw, 70px);
  height: auto;
}
#welfare .culture_welfare_card .culture_welfare_card_ttl {
  margin-bottom: 15px;
  font-size: clamp(2rem, 2vw, 3rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #welfare .culture_welfare_card .culture_welfare_card_ttl {
    margin-bottom: 10px;
  }
}

/* 社内の取り組み
--------------------------------------------------*/
#initiatives {
  background-color: #fff;
  padding: 80px 0;
}
@media screen and (max-width: 999px) {
  #initiatives {
    padding: 60px 0;
  }
}
#initiatives .culture_init_layout {
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  gap: clamp(25px, 4vw, 50px);
  align-items: center;
}
@media screen and (max-width: 999px) {
  #initiatives .culture_init_layout {
    grid-template-columns: 1fr;
  }
}
#initiatives .culture_init_layout .culture_init_visual {
  width: 100%;
  max-width: 360px;
  margin-inline: auto;
}
@media screen and (max-width: 999px) {
  #initiatives .culture_init_layout .culture_init_visual {
    width: 70%;
  }
}
#initiatives .culture_init_lead {
  margin-bottom: clamp(20px, 2vw, 25px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-bottom: 20px;
  border-bottom: 1px solid #DFDFDF;
}
#initiatives .culture_init_lead .en {
  font-size: clamp(3rem, 4vw, 4rem);
  font-weight: 800;
  letter-spacing: 0.04em;
}
#initiatives .culture_init_lead .culture_init_lead_sub {
  font-size: clamp(1.5rem, 2vw, 1.8rem);
  font-weight: 700;
}
#initiatives .culture_init_txt {
  margin: 0 0 clamp(16px, 2vw, 20px);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.04em;
  color: #1C1C1C;
}
#initiatives .culture_init_txt:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  #initiatives .culture_init_txt {
    font-size: 1.4rem;
  }
}

/* イベント・部活動
--------------------------------------------------*/
#events {
  padding: 80px 0 120px;
}
@media screen and (max-width: 999px) {
  #events {
    padding: 60px 0 80px;
  }
}
#events .culture_event_list {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 28px);
}
#events .culture_event_list .culture_event_card {
  display: flex;
  gap: clamp(20px, 3vw, 40px);
  padding: 50px;
  background-color: #fff;
  border-radius: 8px;
}
@media screen and (max-width: 999px) {
  #events .culture_event_list .culture_event_card {
    flex-direction: column;
    padding: 40px;
  }
}
@media screen and (max-width: 768px) {
  #events .culture_event_list .culture_event_card {
    padding: 30px 20px;
  }
}
#events .culture_event_text {
  min-width: 0;
}
#events .culture_event_label {
  margin-bottom: 10px;
  font-weight: 800;
  font-size: clamp(2.4rem, 2.4vw, 3.2rem);
}
#events .culture_event_ttl {
  margin-bottom: 20px;
  font-size: clamp(3.2rem, 3.2vw, 4rem);
  line-height: 1.4;
  font-weight: 700;
}
@media screen and (max-width: 999px) {
  #events .culture_event_ttl {
    font-size: clamp(2.4rem, 6.15vw, 3.2rem);
  }
}
#events .culture_event_media {
  flex-shrink: 0;
  width: 100%;
  max-width: 440px;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 999px) {
  #events .culture_event_media {
    max-width: 100%;
  }
}
#events .culture_event_media--slider {
  overflow: visible;
}
#events .culture_event_media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#events .culture_event_swiper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  /* 初期化前：横並びフレックスが画像実幅の合計になりグリッド列が膨らむのを防ぐ */
}
#events .culture_event_swiper:not(.swiper-initialized) .swiper-wrapper {
  display: block;
}
#events .culture_event_swiper:not(.swiper-initialized) .swiper-slide {
  display: none;
  width: 100%;
  max-width: 100%;
}
#events .culture_event_swiper:not(.swiper-initialized) .swiper-slide:first-child {
  display: block;
}
#events .culture_event_swiper .swiper-wrapper {
  padding-bottom: 20px;
}
#events .culture_event_swiper .swiper-slide {
  border-radius: 8px;
  overflow: hidden;
}
#events .culture_event_swiper .culture_event_slide {
  position: relative;
  width: 100%;
  height: 100%;
}
#events .culture_event_swiper .culture_event_slide img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
#events .culture_event_swiper .culture_event_slide_caption {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 1;
  padding: 0 8px;
  font-size: clamp(1.2rem, 1.4vw, 1.4rem);
  color: #fff;
  background-color: #1C1C1C;
  pointer-events: none;
}/*# sourceMappingURL=culture.css.map */