/* Font Awesome アイコンのCDNリンク */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css');

/* 全体のスタイル */
body, html {
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  background-color: #fff;
  color: #333;
}

a:link, a:visited {
  text-decoration: none; /* リンクの下線を消す場合 */
  outline: none;
}

.loader {
  background: linear-gradient(to bottom, #fffbe9, #f0f9eb, #e8edf8, #e6ecf7);
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: 555;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loader img {
  width: 150px;
}

/* アニメーション */
.slideinLeft {
  animation: slideinLeft 3s;
}

@keyframes slideinLeft {
  0% {
    opacity: 0;
    transform: translateX(-200px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/* 背景画像設定 */
.hero {
  margin: 0; /* 余白をリセット */
  padding: 0px; /* 余白をリセット */
  position: relative;
  width: 100%;
  height: 100%;
  background-image: url('https://kasanare.co.jp/hubfs/top-hero.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  justify-content: left;
  align-items: center;
  padding-left: 12%;
  padding-bottom: 5%;
  padding-top: 10%;
}

.hero-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.hero-award {
  margin-top: 50px;
  width: 800px;
}

/* テキストスタイル */
.hero-text {
  font-family: 'Arial', sans-serif;
  font-size: 45px;
  font-weight: bold;
  color: #333;
  display: flex;
  gap: 5px;
  margin-bottom: 16px; /* サブテキストとの間隔 */
}

  #hero-text span {
    display: inline-block; /* spanをインラインブロックに変更 */
  }

.hero-text span {
  opacity: 0;
  position: relative;
  animation: fadeInLetter 0.4s ease forwards; /* 1文字ずつ表示 */
  line-height: 1.2;
  animation-delay: var(--animation-delay, 0s); /* アニメーションの遅延を追加 */
  display: inline-block;
}

/* グラデーション文字 */
.gradient-text {
  background: linear-gradient(90deg, #e8e35b, #65a1cd);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: inherit;
  line-height: inherit;
}

/* アニメーションキー */
@keyframes fadeInLetter {
  from {
    opacity: 0;
    top: 5px;
  }
  to {
    opacity: 1;
    top: 0;
  }
}

/* サブテキストのスタイル */
.sub-text {
  font-size: 16px;
  font-weight: bold;
  color: #1d89ab;
  opacity: 0;
  letter-spacing: 2px;
  animation: fadeInSubText 0.4s ease forwards; /* サブテキストも同時表示 */
}

@keyframes fadeInSubText {
  from {
    opacity: 0;
    top: 10px;
  }
  to {
    opacity: 1;
    top: 0;
  }
}


/* パートナーロゴ */
/* スライダー全体のコンテナ */
.slider-container {
  overflow: hidden;
  width: 100%; /* 必要に応じて調整 */
}

/* スライドを横に並べてアニメーション */
.slides {
  display: flex;
  width: 200%; /* 2つのスライドセット（各スライドの幅100%分） */
  animation: slide 50s linear infinite; /* 20秒でスライドする */
  animation-delay: 0.5s; /* アニメーション開始まで1秒の遅延を追加 */
}

/* 各スライド（1セット分） */
.slide {
  display: flex;
  flex: 1 0 100%; /* 幅を100%に設定して横並びにする */
  justify-content: space-between; /* ロゴ間にスペースを均等に設定 */
}

.slide img {
  width: 3.5%; /* 各画像の幅 */
  margin: 10px; /* 画像間のスペース調整 */
}

/* アニメーション：スライドを左に移動 */
@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%); /* 2セット分の幅が動く */
  }
}




/* TOP_サービス紹介 */
.text-image-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 40px;
  background-color: #fafafa; /* 背景色を追加 */
}

.product-title {
  font-size: 30px;
  font-weight: bold;
  color: #333;
  margin: 0;
  margin-top: 50px;
  text-align: left;
  width: 80%;
}

.product-title-sub {
  font-size: 14px;
  font-weight: bold;
  color: #75cabd;
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: left;
  width: 80%;
  position: relative; /* ::beforeの基準を設定 */
}

.product-title-sub::before {
  content: "●"; /* ● を挿入 */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* 縦方向中央揃え */
  color: #75cabd; /* ● の色 */
  font-size: 10px; /* ● のサイズを調整 */
}

.kasanare-text-img {
  display: flex; /* 子要素を横並びにする */
  justify-content: space-between; /* テキストと画像の間隔を均等に配置 */
  max-width: 100%; /* コンテナの最大幅 */
  gap: 20px; /* テキストと画像の間隔 */
  padding-left: 13%;
  padding-right: 5%;
}

.kasanare-text-img2 {
  display: flex; /* 子要素を横並びにする */
  justify-content: space-between; /* テキストと画像の間隔を均等に配置 */
  max-width: 100%; /* コンテナの最大幅 */
  gap: 20px; /* テキストと画像の間隔 */
  padding-left: 13%;
  padding-right: 5%;
}

.text-content {
  flex: 1;
  max-width: 40%;
  display: flex; /* Flexboxを適用 */
  flex-direction: column; /* 縦方向に配置 */
  justify-content: center; /* 縦方向の中央揃え */
}

.text-content img{
  width: 70%; /* 画像の幅を調整 */
  height: auto; /* アスペクト比を保持 */
  padding-right: 0; /* 右側のパディングを削除 */
  margin-left: 0; /* 左揃えにする */
  display: block; /* 画像をブロック要素にする */
  text-align: left; /* 左揃え */
}

.kasanare_image {
  flex: 1; /* 画像部分の幅も同様に調整可能に */
  display: flex;
  justify-content: center; /* 中央揃え */
  align-items: center;
}

.kasanare_image img {
  max-width: 80%; /* 画像が親要素の幅に収まる */
  height: auto; /* 高さを自動調整 */
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.kasanare_image.show img {
  opacity: 1;
  transform: translateY(0);
}


.text-content p:first-of-type {
  font-weight: bold;
  font-size: 20px;
  color: #333;
  letter-spacing: 1px;
  text-align: left;
}

.highlight-text {
  font-weight: bold;
  margin-top: 18px;
  background-image: linear-gradient(to right, #7c9eb2, #d6a35e, #a1b945, #66b4b2, #4a8db3, #9f8ac9, #d17f93); /* 少し鮮やかな色調のグラデーション */
  -webkit-background-clip: text; /* グラデーションを文字に適用 */
  color: transparent; /* 文字自体の色を透明にして、背景のグラデーションを表示 */
  display: inline; /* インライン要素として表示 */
}

.text-content p {
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  margin-top: 10px;
}


.background-container {
  background: #fff;
  max-width: 100%;
  position: relative;
  justify-content: center; /* コンテナを画面中央に */ 
  align-items: center; /* 垂直方向にも中央寄せ */
}


/* サービスページへのリンクの親コンテナ */
.parent-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto; /* 親要素の高さを設定 */
  padding: 0px;
  transform: translateX(-10px); /* 左に少し移動 */
  gap: 16px;
  margin-top: 10px;
  padding-bottom: 70px;
}

/* サービス詳細ページへのボタン */
.custom-button {
    display: inline-flex;
    align-items: center;
    padding: 20px 40px;
    font-size: 20px;
    font-weight: bold;
    color: #333;
    text-decoration: none;
    border: 2px solid #ddd;
    border-radius: 50px; /* 丸みを帯びた角にする */
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    background-color: #fff;
}

.custom-button:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* ホバー時の影 */
}

.button-text {
    margin-right: 10px;
    color: #333;
}

.button-arrow {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    background-color: #75cabe; /* 丸の背景色 */
    color: #fff;
    border-radius: 50%; /* 完全な丸にする */
    font-size: 14px;
    transition: transform 0.3s ease;
}

.custom-button:hover .button-arrow {
    transform: translateX(5px); /* ホバー時に矢印を右に移動 */
}

/* 資料請求ボタン */
.download-button {
    display: inline-flex;
    align-items: center;
      padding: 20px 40px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    background-color: #75cabe;
    border-radius: 30px; /* ボタンを丸みのある形にする */
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.download-button:hover {
    background-color: #5bab9f; /* ホバー時の色を少し暗くする */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ホバー時の影 */
  color: #FFF;
}

/* Companyページへのリンク */
.company-container {
  display: flex; /* Flexboxで子要素を横並びにする */
  justify-content: space-between; /* 子要素間のスペースを均等に */
  align-items: center; /* 垂直方向の揃えを中央に */
  gap: 0px;
  padding-top: 70px;
  padding-bottom: 60px;
  margin: 0 auto;
  max-width: 80%;
}

/* 左側のテキストとボタンのスタイル */
.company-info {
  display: flex;
  flex-direction: column;
  align-items: center; /* 左揃え */
  width: 50%; /* 幅を50%に */
}

/* タイトルスタイル */
.company-title {
  font-size: 30px;
  font-weight: bold;
  color: #333;
  margin: 0;
}

.company-title-sub {
    position: relative;
    font-size: 14px;
    font-weight: bold;
    color: #eacd3b;
    margin-top: 10px;
    margin-bottom: 25px;
}

.company-title-sub::before {
  content: "●"; /* ● を挿入 */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* 縦方向中央揃え */
  color: #eacd3b; /* ● の色 */
  font-size: 10px; /* ● のサイズを調整 */
}

/* ボタンのスタイル */
.about-button {
    display: flex;
    margin-top: 20px;
    align-items: left;
    gap: 20px;
    font-weight: bold;
    padding: 20px 50px;
    background-color: #f0c438;
    color: #fff;
    font-size: 18px;
    border-radius: 50px;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* ボタンのホバースタイル */
.about-button:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* ホバー時の影 */
  color: #fff;
}


/* 矢印のスタイル */
.button-arrow2 {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    background-color: #fff; /* 丸の背景色 */
    color: #eacd3b;
    border-radius: 50%; /* 完全な丸にする */
    font-size: 16px;
    transition: transform 0.3s ease;
}

.about-button:hover .button-arrow2 {
    transform: translateX(5px); /* ホバー時に矢印を右に移動 */
}

.iso-image {
  width: 300px;
  margin-top: 100px;
}

/* 右側の画像スタイル */
.company-image {
  width: 55%; /* 画像の幅を50%に */
  overflow: hidden;
  text-align: left;
}

.company-img img {
  width: 100%;
  padding: 2%;
  height: auto;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.company-img.show img {
  opacity: 1;
  transform: translateY(0);
}

.image-container {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  padding-top: 60px;
}

.image-container a {
  display: inline-block;
}

.image-container img {
  width: 70px; /* Adjust width as needed */
  height: auto;
  border-radius: 10px; /* Adds rounded corners */
  transition: transform 0.3s ease;
}

.image-container img:hover {
  transform: scale(1.1); /* Zoom effect on hover */
}


/* ブログ全体のコンテナ */

.blog-background {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 50px;
  background-color: #fafafa; /* 背景色を追加 */
}

.blog-container {
  max-width: 70%;
  width: 100%;
  margin: 0 auto;
  padding: 40px;
  background-color: #fff;
  border-radius: 40px;
  border: solid, 4px,#eee;
  margin-bottom: 50px;
}

/* NEWSタイトルのスタイル */
.news-title {
  font-size: 30px;
  font-weight: bold;
  color: #333;
  margin: 0;
  margin-top: 50px;
  text-align: left;
  width: 80%;
}

.news-title-sub {
  position: relative;
  font-size: 14px;
  font-weight: bold;
  color: #01619b;
  margin-top: 10px;
  margin-bottom: 20px;
  text-align: left;
  width: 80%;
}

.news-title-sub::before {
  content: "●"; /* ● を挿入 */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* 縦方向中央揃え */
  color: #01619b; /* ● の色 */
  font-size: 10px; /* ● のサイズを調整 */
}

/* サイドメニュー */
.category-menu {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
  width: 80%;
  margin: 0 auto;
}


.category-button {
  display: block;
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #ddd;
  border-radius: 50px;
  background-color: #fff;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
  outline: none;
  text-align: center;
}

.category-button.active {
  background-color: #7f9ece;
  color: #fff;
  border-color: #7f9ece;
  outline: none;
}

.category-button:hover {
  background-color: #7f9ece;
  color: #fff;
}
/* ブログリスト */
.blog-list {
  width: 90%;
  background-color: #fff;
  border-radius: 50px;
  margin: 0 auto;
  padding: 50px;
  text-align: left;
}

.blog-item {
  display: flex;
  position: relative; /* リンクを記事全体に反映させる */
  padding: 20px 0;
  border-bottom: 1px solid #bbb;
}

.blog-item a {
  position: absolute; /* 記事全体をカバー */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2; /* クリックを優先 */
  text-decoration: none;
}

.blog-item img {
  width: 200px;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  margin-right: 20px;
  z-index: 2;
  margin-left: 10px;
}

.blog-item:hover {
  background-color: #fafafa;
}

.blog-content {
  flex: 1;
  z-index: 2;
  display: flex;
  flex-direction: column;
}

.blog-meta {
  display: flex;
  align-items: center; /* 縦方向を中央揃え */
  gap: 30px; /* 日付とカテゴリの間に余白を追加 */
  margin-bottom: 10px; /* 下部の余白を調整 */
}

.blog-date {
  font-size: 14px;
  color: #888;
}

.blog-category {
  font-size: 12px;
  color: #fff;
  background-color: #adc5eb; /* 背景色を設定 */
  padding: 2px 12px; /* 楕円の余白を調整 */
  border-radius: 20px; /* 楕円形にする */
  display: inline-block;
  white-space: nowrap; /* テキストが折り返されないようにする */
}


.blog-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
  margin-right: 10px;
}

.blog-link {
  font-size: 14px;
  color: #888;
  text-decoration: none;
  display: flex;
  align-items: center;
}

.blog-link:hover {
  text-decoration: underline;
}


/* 「もっとみる」ボタンのスタイル */
.load-more-button {
  display: inline-block;
  font-size: 18px;
  padding: 15px 20px;
  color: white;
  background-color: #7f9ece;
  text-decoration: none;
  font-weight: bold;
  border-radius: 50px;
  transition: background-color 0.3s ease;
}

/* ホバー時のスタイル */
.load-more-button:hover {
  background-color: #5978a6;
  color: #FFF;
}

/* 「もっとみる」ボタンの親要素のスタイル */
.load-more {
  text-align: center;
  margin: 5px 0;
  display: flex;
  justify-content: flex-end; /* 子要素を右に寄せる */
  width: 100%;
}


/* メディア掲載実績 */
.media-jisseki {
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  letter-spacing: 0.5px;
  margin-top: 50px;
  color: #666;
  margin-left: 30px;
}

.media-ichiran {
  width: 90%; /* 全体の幅を90%に設定 */
  display: flex; /* フレックスボックスでレイアウト */
  flex-wrap: wrap; /* 幅不足時に折り返しを許可 */
  margin: 0 auto;
  justify-content: flex-start; /* 左揃えに配置 */
  gap: 0px; /* 画像間の隙間を設定 */
}

.media-ichiran img {
  width: 100px; /* 各画像の幅を固定 */
  height: auto; /* アスペクト比を維持 */
  object-fit: cover; /* 画像が枠内に収まるよう調整 */
  margin-bottom: 20px; /* 段落間のスペース */
}

/* イベント情報 */
.event-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 50px;
  background-color: #fff; /* 背景色を追加 */
}

.event-container {
  max-width: 70%;
  width: 100%;
  margin: 0 auto;
  padding: 40px;
  background-color: #fafafa;
  border-radius: 40px;
  border: solid 4px,#eee;
  margin-bottom: 50px;
}

.event-title-top {
  font-size: 30px;
  font-weight: bold;
  color: #333;
  margin: 0;
  margin-top: 50px;
  text-align: left;
  width: 80%;
}

.event-title-sub {
  position: relative;
  font-size: 14px;
  font-weight: bold;
  color: #b88cd4;
  margin-top: 10px;
  margin-bottom: 20px;
  text-align: left;
  width: 80%;
}

.event-title-sub::before {
  content: "●"; /* ● を挿入 */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* 縦方向中央揃え */
  color: #b88cd4; /* ● の色 */
  font-size: 10px; /* ● のサイズを調整 */
}

.event-list-wrapper {
  position: relative;
  width: 100%; /* 親要素の幅に収める */
  overflow: hidden; /* 必要 */
}

.event-list {
  display: flex;
  flex-wrap: nowrap;
  width: auto; /* リスト全体の幅を動的に設定 */
  transition: transform 0.5s ease-in-out; /* スライドアニメーション */
}

.event-item {
  flex: 0 0 calc(100% / 3); /* 3つ表示されるよう幅を調整 */
  box-sizing: border-box;
  padding: 10px; /* 記事間の隙間を調整 */
  transition: transform 0.3s ease-in-out; /* スライドアニメーション */
}

.event-item:hover {
  transform: translateY(-2px);
}

.event-link {
  text-decoration: none; /* リンクの下線を消す場合 */
  font-size: 14px;
  color: #333;
  text-align: left;
}

.event-link:hover{
  text-decoration: none; /* リンクの下線を消す場合 */
  font-size: 14px;
  color: #777;
}

.event-prev,
.event-next {
  position: absolute;
  width: 50px;
  height: 50px;
  background-color: #fff;
  color: #b88cd4;
  border: solid 1px #b88cd4;
  border-radius: 50%; /* ボタンを丸くする */
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 99; /* ボタンを前面に表示 */
  outline: none;
}

.event-prev {
  left: 0px; /* 枠外に表示 */
}

.event-next {
  right: 0px; /* 枠外に表示 */
}

.event-prev:hover,
.event-next:hover {
  background-color: #b88cd4;
  outline: none;
  color: #fff;
}

.event-thumbnail {
  width: 100%; /* 親要素に合わせる */
  height: auto; /* 高さは自動調整 */
  border-radius: 8px; /* 問題なし */
  margin-bottom: 10px; /* タイトルとの隙間を調整 */
}



/* メディア掲載コンテナ */
.media-background {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 10px;
  background-color: #fafafa; /* 背景色を追加 */
}

.media-container {
  max-width: 70%;
  width: 100%;
  margin: 0 auto;
  padding: 40px;
  background-color: #fff;
  border-radius: 40px;
  border: solid, 4px,#eee;
  margin-bottom: 50px;
}

/* interviewタイトルのスタイル */
.interview-title {
  font-size: 30px;
  font-weight: bold;
  color: #333;
  margin: 0;
  margin-top: 70px;
  text-align: left;
  width: 80%;
}

.interview-title-sub {
  position: relative;
  font-size: 14px;
  font-weight: bold;
  color: #e887be;
  margin-top: 10px;
  margin-bottom: 20px;
  text-align: left;
  width: 80%;
}

.interview-title-sub::before {
  content: "●"; /* ● を挿入 */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* 縦方向中央揃え */
  color: #e887be; /* ● の色 */
  font-size: 10px; /* ● のサイズを調整 */
}

.media-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 横に4つ並べる */
  gap: 20px; /* カード間のスペース */
}

.media-slide {
  text-align: center;
  padding: 10px;
  border-radius: 8px;
  transition: transform 0.2s ease-in-out;
}

.media-slide:hover {
  transform: scale(1.02); /* マウスオーバー時に少し拡大 */
}

.media-slide img {
  width: 100%;
  border-radius: 8px;
}

.media-slide-content {
  text-align: left;
  margin-top: 10px;
}

.category {
  font-size: 12px;
  background-color: #bbb;
  color: #fff;
  padding: 5px 12px;
  border-radius: 20px;
}

p {
  line-height: 1.5;
  text-align: left;
  margin-top: 10px;
  font-size: 12px;
  color: #333;
}


/*採用情報*/
.recruit-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 50px;
  background-color: #fff; /* 背景色を追加 */
}

.recruit-title {
  font-size: 30px;
  font-weight: bold;
  color: #333;
  margin: 0;
  margin-top: 50px;
  text-align: left;
  width: 80%;
}

.recruit-title-sub {
  position: relative;
  font-size: 14px;
  font-weight: bold;
  color: #5bb2ba;
  margin-top: 10px;
  margin-bottom: 20px;
  text-align: left;
  width: 80%;
}

.recruit-title-sub::before {
  content: "●"; /* ● を挿入 */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* 縦方向中央揃え */
  color: #5bb2ba; /* ● の色 */
  font-size: 10px; /* ● のサイズを調整 */
}

.recruit-text {
  width: 70%;
  margin: 0 auto;
}

.recruit-text h1{
  font-size: 28px;
  letter-spacing: 1.5px;
  text-align: left;
}

.recruit-text hr{
  color: #ccc;
  width: 85%;
  text-align: left;
  margin: 0;
}

.recruit-text p{
  font-size: 14px;
  letter-spacing: 0.8px;
  text-align: left;
  line-height: 1.8;
  padding-top: 10px;
}

.recruit-button-container {
  width: 70%;
  display: flex;
  align-items: flex-start;
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 50px;
}

.recruit-button {
  margin-top: 50px;
  margin-right: 50px;
  font-size: 18px;
  padding: 30px 50px;
  color: white;
  background-color: #5bb2ba;
  text-decoration: none;
  font-weight: bold;
  border-radius: 50px;
  transition: background-color 0.3s ease;
}

/* ホバー時のスタイル */
.recruit-button:hover {
  background-color: #427b84;
  color: #FFF;
}

.recruit-button-container img{
  width: 60%;
  max-width: 500px;
  margin-right: 20px;
}

/* 写真の無限スライド */

.recruit-photos {
  width: 100%;
}

@keyframes scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}

.photo-slider-container {
  overflow: hidden; /* スライダー外を隠す */
  width: 100%; /* 表示幅を画面幅に制限 */
  position: relative;
  max-height: 500px; /* 高さの上限を設定 */
  margin-top: 10px; /* 上部セクションとの余白 */
}

.photo-slider-row {
    display: flex;
    width: 200%; /* 2倍の幅に設定 */
    animation-timing-function: linear;
}

.photo-slider-list {
  display: flex;
  list-style: none;
  padding: 0
}

.scroll-left {
  animation: scroll-left 30s infinite linear 0.5s both;
}

.slide-item {
  width: 100%;
  overflow: hidden;
  margin: 0 20px;
}

.slide-item>img {
  width: 100%;
  border-radius: 10px;
}


@keyframes scroll-right {
from {
  transform: translateX(-100%);
}
  to {
  transform: translateX(0%);
}
}
.scroll-right{
  animation :scroll-right 30s infinite linear 0.5s both;
}


/* Font Awesome アイコンのCDNリンク */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css');

/* =========================
   フッター全体
========================= */
.custom-footer-1 {
  color: #333;
  background-color: #efefeF;
  padding: 50px 200px;
  padding-top: 200px;

  /* 追加：左右レイアウト */
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}

/* =========================
   左側
========================= */
.custom-footer-left {
  flex: 1;
}

.custom-logo {
  display: flex;
  align-items: center;
}

.custom-logo-img {
  width: 300px;
  height: auto;
  margin-bottom: 10px;
}

.custom-divider {
  border: 0;
  border-top: 2px solid #ccc;
  margin: 10px 0;
  width: 700px;
}

.custom-footer-menu {
  list-style: none;
  padding: 0;
  margin: 20px 0;
  display: flex;
  justify-content: flex-start;
}

.custom-footer-menu li {
  display: flex;
  align-items: center;
  margin-right: 20px;
  color: #333;
}

.custom-footer-menu li i {
  margin-right: 8px;
}

.custom-footer-menu li a {
  color: #333;
  text-decoration: none;
}

.custom-footer-menu li a:hover {
  color: #666;
}

/* メニューアイコン色 */
.custom-footer-menu li:nth-child(1) a i { color: #f28b82; }
.custom-footer-menu li:nth-child(2) a i { color: #f9a15c; }
.custom-footer-menu li:nth-child(3) a i { color: #e0d868; }
.custom-footer-menu li:nth-child(4) a i { color: #6cb79e; }
.custom-footer-menu li:nth-child(5) a i { color: #66a1cc; }
.custom-footer-menu li:nth-child(6) a i { color: #a17edb; }

.custom-footer-menu2 {
  list-style: none;
  padding: 0;
  margin: 20px 0;
  display: flex;
  gap: 20px;
  font-size: 12px;
  color: #333;
}

.custom-footer-menu2 a {
  color: #333;
  text-decoration: none;
}

.custom-footer-menu2 a:hover {
  color: #666;
}

/* =========================
   右側（ステータス + コピーライト）
========================= */
.custom-footer-right {
  flex: 0 0 480px;
  min-width: 360px;
  position: relative;
}

/* ステータス配置用 */
.custom-footer-status {
  width: 100%;
  margin-bottom: 60px; /* コピーライトと干渉しない余白 */
}

/* コピーライト */
.custom-copyright {
  font-size: 12px;
  color: #333;
  position: absolute;
  bottom: 0;
  right: 0;
}

/* =========================
   ステータスウィジェット（フッター用上書き）
========================= */
.custom-footer-right .ksw.ksw--footer {
  display: block;
  padding: 0;
  place-items: initial;
}

.custom-footer-right .ksw__card {
  max-width: 450px;
  width: 100%;
}

/* =========================
   ステータスウィジェット（元CSS）
========================= */
.ksw {
  position: relative;
  display: grid;
  place-items: center;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto,
    "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN",
    "Yu Gothic", "Meiryo", sans-serif;
  padding: 20px;
}

.ksw__card {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
}

/* Status Row */
.ksw__status-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 15px;
  margin-bottom: 12px;
}

.ksw__status-label {
  font-weight: 600;
  color: #374151;
}

.ksw__service {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ksw__service-link {
  text-decoration: none;
  color: inherit;
  transition: opacity .12s ease;
}

.ksw__service-link:hover {
  opacity: 0.7;
}

.ksw__separator {
  color: #9ca3af;
}

/* Dots */
.ksw__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #9ca3af;
}

.ksw__dot[data-indicator="none"] { background: #16a34a; }
.ksw__dot[data-indicator="minor"] { background: #f59e0b; }
.ksw__dot[data-indicator="major"] { background: #ef4444; }
.ksw__dot[data-indicator="critical"] { background: #b91c1c; }

/* Uptime */
.ksw__uptime {
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,.08);
}

.ksw__uptime-label {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}

.ksw__uptime-graph-row {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.ksw__uptime-graph-label {
  font-size: 12px;
  color: #6b7280;
  min-width: 50px;
}

.ksw__uptime-graph {
  display: flex;
  gap: 2px;
}

.ksw__uptime-bar {
  width: 8px;
  height: 20px;
  border-radius: 2px;
  background: #e5e7eb;
}

.ksw__uptime-bar[data-status="operational"] { background: #16a34a; }
.ksw__uptime-bar[data-status="minor"] { background: #f59e0b; }
.ksw__uptime-bar[data-status="major"] { background: #ef4444; }

/* Fetch time */
.ksw__fetch-time {
  font-size: 13px;
  color: #6b7280;
  margin-top: 12px;
}

/* モバイル向けのスタイル */
@media (max-width: 768px) {
  /* ヒーローセクション */
  .hero {
    background-image: url('https://kasanare.co.jp/hubfs/hp_top/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB_TOP%20(2).png');
    background-size: 100% auto; /* 背景画像を横幅100%、高さ100%に拡大 */
    background-position: center;
    background-repeat: no-repeat;
    min-height: 75vh; /* モバイルではヒーローの高さを70vhに設定 */
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    display: flex;
    justify-content: left;
    align-items: flex-start; /* 上に寄せる */
    padding-top: 22%; /* モバイルでは少し多めに余白を追加 */
    margin: 0 auto;
  }
  
  .hero-content {
  max-width: 100%;
    margin: 0;
    padding: 0;
  }
  
  .hero-award {
  display: none;
}

  .hero-text {
    font-size: 43px; /* テキストサイズを小さく */
    text-align: center; /* テキストを中央揃え */
    padding: 0;
    margin: 0;
    gap: 2px;
    text-align: left; /* 中央揃え */
    max-width: 100%; 
    display: block; /* 改行を確実にする */
     line-height: 1.4; /* 行間を広げる */
  }
  
    .mobile-break {
    display: block; /* 改行 */
    margin-top: 10px; /* 必要に応じてスペース調整 */
  }
  
  .sub-text {
    font-size: 14px; /* サブテキストのフォントサイズを小さく */
    text-align: center; /* 中央揃え */
    margin-top: 10px;
    margin-left: 5px;
  }


/* スライダーコンテナ */
.slider-container {
  overflow: hidden;
  width: 100%; /* 画面幅に合わせる */
}

/* スライド全体（アニメーションを付けて無限ループ） */
.slides {
  display: flex;
  flex-wrap: nowrap; /* 画像を横並びに */
  width: calc(100% * 2); /* 2セット分の幅 (1セット100%、もう1セットを繰り返す) */
  animation: slide 30s linear infinite; /* アニメーションでスライドする */
}

/* 各スライド（1セット分） */
.slide {
  display: flex;
  flex: 0 0 auto; /* 画像の幅に合わせる */
  justify-content: flex-start; /* 左詰め */
  padding: 0 10px; /* 画像間の余白を調整 */
}

/* 画像のスタイル（サイズ調整） */
.slide img {
  width: 80px;  /* 画像の横幅を80pxに設定 */
  height: auto;  /* 高さは自動調整 */
  margin: 5px;   /* 画像間のスペース調整 */
}

/* スライドの動き（無限ループ） */
@keyframes slide {
  0% {
    transform: translateX(0); /* 最初の位置 */
  }
  100% {
    transform: translateX(-375%); /* 1セット分スライド（全画像の幅に合わせる） */
  }
}




  /* 画像とテキストのレイアウト変更 */
  .kasanare-text-img {
    flex-direction: column; /* 縦並びに */
    padding-left: 5%;
    padding-right: 5%;
    margin-top: 20px;
    margin-bottom: 50px;
  }
  
    .kasanare-text-img2 {
    flex-direction: column; /* 縦並びに */
    padding-left: 5%;
    padding-right: 5%;
    margin-top: 20px;
    margin-bottom: 0px;
  }

  .text-content {
    max-width: 90%; /* 横幅を100%に */
    text-align: center;
    margin: 0 auto;
  }

  .text-content p:first-of-type {
  font-weight: bold;
  font-size: 18px;
  color: #333;
  letter-spacing: 1px;
  text-align: left;
    text-align: center;
}
  
  .text-content p{
    font-size: 14px;
  }
  
  .text-content img {
    max-width: 70%; /* 画像の幅を80%に調整 */
    margin: 0 auto;
  }

  /* ボタン */
  .parent-container {
    flex-direction: column; /* 縦並びに変更 */
    padding: 0px 0;
    margin: 0;
    margin-top: 0px;
    margin-left: 20px;
    margin-bottom: 50px;
  }

.custom-button,
.download-button,
.about-button {
  min-width: 300px; /* ボタンの幅を調整 */
  display: flex; /* Flexbox を使用 */
  justify-content: center; /* 横方向に中央揃え */
  align-items: center; /* 縦方向に中央揃え */
  text-align: center; /* テキストも中央揃え */
  padding: 12px 20px; /* ボタンのパディング */
  font-size: 14px; /* ボタンのフォントサイズ */
}

  .button-arrow, .button-arrow2 {
    width: 30px; /* 矢印のサイズ調整 */
    height: 30px;
    font-size: 14px;
  }

  /* 会社情報 */
  .company-container {
    flex-direction: column; /* 縦並びに変更 */
    padding: 50px 0;
  }

  .company-info {
    width: 100%;
    text-align: center;
  }

  .company-image {
    width: 100%; /* 画像の幅を100%に */
    padding: 10px;
  }

  .company-img img {
    width: 100%;
  }

  /* ブログ記事 */
  
  .blog-container {
  display: flex;
  justify-content: center;
  align-items: left;
  flex-direction: column;
  max-width: 90%;
  padding: 5px;
  margin: 0 auto;
    text-align: left;
}

  .category-button {
    display: none;
  }

  .blog-list {
    padding: 10px;
  }

  
.blog-title {
  font-size: 13px;
}
  
  .blog-category {
  display: none;
  }

  .blog-item {
  display: flex;
  flex-direction: column; /* 縦並びに変更 */
  justify-content: center; /* 垂直方向中央揃え */
  align-items: center; /* 水平方向中央揃え */
  gap: 10px;
  }

.read-more {
  font-size: 15px;
}
  
  .image-container img {
    width: 90%; /* 画像を小さく */
  }
  
  .event-section,.media-background {
  display: none;
  }

  /* フッター全体 */
/* =========================
   モバイル
========================= */
@media (max-width: 768px) {
  .custom-footer-1 {
    padding: 10px;
    flex-direction: column;
  }

  .custom-footer-right {
    flex: none;
    min-width: 0;
    width: 100%;
    margin-top: 20px;
  }

  .custom-copyright {
    position: static;
    text-align: center;
    margin-top: 20px;
  }

  .custom-footer-right .ksw__card {
    max-width: 100%;
  }

  .custom-footer-menu,
  .custom-footer-menu2 {
    flex-direction: column;
    padding: 0;
  }

  
  .recruit-container {
    padding-top: 20px;
    padding-bottom: 30px;
  }

  .recruit-title-sub::before {
    font-size: 8px;
  }

  .recruit-text {
    width: 80%; /* テキスト幅を広げて読みやすく */
    margin-bottom: 10px;
  }

  .recruit-text h1 {
    font-size: 22px;
    letter-spacing: 1px;
  }

  .recruit-text hr {
    width: 90%;
  }

  .recruit-text p {
    font-size: 12px;
    letter-spacing: 0px;
  }

  .recruit-button-container {
    width: 90%;
    padding-top: 5px;
    flex-direction: column; /* ボタンと画像を縦並びに */
    align-items: center;
  }

  .recruit-button {
    font-size: 16px;
    padding: 15px 40px;
    margin-top: 5px;
    margin: 0;
  }

  .recruit-button-container img {
    width: 120%; /* 画像を縮小 */
    margin-right: 0px;
    margin-top: 10px;
    margin: 0;
  }

  .recruit-photos {
    margin-top: 0px; /* 写真スライダーの余白を調整 */
  }
    .photo-slider-row {
    width: 600%; /* スライダー幅を3倍に拡張 */
  }

  .slide-item {
    width: 400%; /* モバイル時に写真を拡大表示 */
  }

  .slide-item > img {
    border-radius: 8px; /* モバイル時は角丸を少し小さく */
  }

  .scroll-left,
  .scroll-right {
    animation-duration: 20s; /* モバイルでのアニメーション速度を短縮 */
  }

}

/* 小さい画面（モバイル） */
@media (max-width: 480px) {
  /* ヒーローセクション */
  .hero {
    height: 50vh; /* 高さをさらに小さく */
    padding-left: 5%;
    padding-bottom: 5%;
  }

  .hero-text {
    font-size: 35px; /* テキストをさらに小さく */
}

  .sub-text {
    font-size: 12px;
  }

  .kasanare-text-img {
    padding-left: 5%;
    padding-right: 5%;
  }

  .text-content {
    font-size: 14px; /* テキストサイズを小さく */
  }

  .text-content img {
    width: 90%; /* 画像を少し大きく */
  }

  .company-container {
    flex-direction: column;
  }

  .company-info {
    width: 100%;
  }

  .company-img img {
    width: 100%;
  }

  /* ブログ記事 */
  .blog-container {
    width: 100%;
    padding: 20px;
  }

  .category-button {
    font-size: 12px; /* ボタンのフォントサイズを小さく */
  }

  .blog-item {
    flex-direction: column;
  }

  .image-container img {
    width: 100%; /* 画像をフルサイズに */
  }
  
      .media-ichiran img {
        width: calc(33.33% - 10px); /* Responsive width */
        margin-bottom: 10px;
    }
  
  .recruit-container {
    padding-top: 20px;
    padding-bottom: 30px;
  }

  .recruit-title-sub::before {
    font-size: 8px;
  }

  .recruit-text {
    width: 80%; /* テキスト幅を広げて読みやすく */
    margin-bottom: 10px;
  }

  .recruit-text h1 {
    font-size: 22px;
    letter-spacing: 1px;
  }

  .recruit-text hr {
    width: 90%;
  }

  .recruit-text p {
    font-size: 12px;
    letter-spacing: 0px;
  }

  .recruit-button-container {
    width: 90%;
    padding-top: 5px;
    padding-bottom: 30px;
    flex-direction: column; /* ボタンと画像を縦並びに */
    align-items: center;
  }

  .recruit-button {
    font-size: 16px;
    padding: 15px 40px;
    margin-top: 5px;
  }

  .recruit-button-container img {
    width: 120%; /* 画像を縮小 */
    margin-top: 10px;
    margin-right: 0px;
    position: static; /* レイアウト調整 */
  }

  .recruit-photos {
    margin-top: 0px; /* 写真スライダーの余白を調整 */
  }
    .photo-slider-row {
    width: 600%; /* スライダー幅を3倍に拡張 */
  }

  .slide-item {
    width: 400%; /* モバイル時に写真を拡大表示 */
  }

  .slide-item > img {
    border-radius: 8px; /* モバイル時は角丸を少し小さく */
  }

  .scroll-left,
  .scroll-right {
    animation-duration: 20s; /* モバイルでのアニメーション速度を短縮 */
  }
}
