@charset "UTF-8";

/* ===============================
   全体のフォント設定（Adobe Fonts + Google Fonts）
=============================== */

body {
  font-family: "fot-tsukuardgothic-std", "azo-sans-web", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #4f4f4f;
   box-sizing: border-box;
  margin: 0 auto;      /* 中央寄せ */
  max-width: 100%;
}



/* ===============================
   全体フォント統一
=============================== */
body, h1, h2, h3, h4, h5, h6, p, li, a, span, div {
  font-family: "fot-tsukuardgothic-std", "azo-sans-web", sans-serif;
  color: #4f4f4f;
}



/* 見出しもbodyのフォントを継承 */
h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  margin: 0;
  font-weight: 400; /* 必要に応じて700にして強調も可 */
  color: #4f4f4f;
}

/* ボタン・リンクも統一 */
button, a {
  font-family: inherit;
}

/* 上書きされやすい箇所も明示的に指定 */
p, li, span, div {
  font-family: inherit;
}


/* ===== シンプルCTA（下線＋矢印） ===== */
.section-more {
  text-align: center;
  margin-top: 100px;
}

.link-more {
  display: inline-flex;
  align-items: center;
  gap: 0px; /* 文字と矢印の距離 */
  font-size: 16px;
  color: #4f4f4f;
  text-decoration: none;
  font-weight: 500;
  padding-bottom: 6px;
  border-bottom: 1.5px solid #4f4f4f; /* 下線を文字に合わせて引く */
  transition: 0.3s;
}

/* 矢印（テキストの長さに依存しない） */
.link-more::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid #4f4f4f;
  border-right: 1.5px solid #4f4f4f;
  transform: rotate(45deg);
  margin-bottom: -39px;
}

/* 矢印部分（下線右端） */
.link-more::before {
 
  position: absolute;
  right: 0;             /* 下線の右端に寄せる */
  top: 50%;             /* 下線の中央に合わせる */
  transform: translateY(-50%) rotate(45deg); /* 上下中央に合わせつつ回転 */
  width: 10px;
  height: 10px;
  border-top: 1.5px solid #4f4f4f;
  border-right: 1.5px solid #4f4f4f;
}

/* hover */
.link-more:hover {
  opacity: 0.7;
}




/** -----------------------------------------------
  PC : 画面の横幅が641px以上
------------------------------------------------**/
.example {
  font-size: 50px;
  color: #99293D;
}



/* ===============================
   ヘッダー
=============================== */

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(245, 243, 239, 0.7); /* ← 透明度70% */
  z-index: 1000;
  
}

.header-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.logo img {
  width: 160px;
}

.gnav {
  margin-left: 0px; /* ロゴとの距離を調整 */
}

.gnav ul {
  display: flex;
  gap: 32px;
  list-style: none;
}

.gnav a {
  text-decoration: none;
  color: #4f4f4f;
  font-size: 14px;
  font-weight: 600;
  transition: opacity 0.3s;
}

.gnav a:hover {
  opacity: 0.7;
}

/* ボタンエリア */
.header-btns {
  display: flex;
  gap: 12px;
}

.btn-recruit {
  display: inline-block;
  padding: 12px 32px; /* 縦12px、横32pxに拡大 */
  border-radius: 24px; /* 角丸を調整 */
  font-size: 18px; /* 文字サイズも少し大きく */
  letter-spacing: 0.1em; /* ← 文字の間隔を広げる */
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-recruit.new {
  background: #b5d8d3;  /* 淡いターコイズ */
  color: #4f4f4f;
}

.btn-recruit.mid {
  background: #ead381;  /* やわらかいベージュ */
  color: #4f4f4f;
}

.btn-recruit:hover {
  filter: brightness(1.1); /* 色味をほんの少し濃くする */
  transform: translateY(-3px); /* 浮き感を強める */
  transition: all 0.3s ease;
}

/* ===============================
   ヘッダーSP版
=============================== */

@media screen and (max-width: 768px) {


  /* ハンバーガーの基本形 */
.header-hamburger {
  width: 32px;
  height: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 2000;
  position: relative;
}

.header-hamburger span {
  display: block;
  height: 3px;
  width: 100%;
  background: #4f4f4f;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* ====== 開いたときのバツ(×)変形 ====== */

.header-hamburger.open span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}

.header-hamburger.open span:nth-child(2) {
  opacity: 0;
}

.header-hamburger.open span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

  /* PCナビは非表示 */
  .gnav {
    display: none;
  }

  /* PC版CTA非表示 */
  .header .header-btns { 
    display: none; 
  }

  /* ===============================
   ハンバーガー開閉ナビ（SP）
  =============================== */
  .gnav {
    display: none;
    position: absolute;       /* ハンバーガーに合わせて配置 */
    top: 80px;                /* ハンバーガー下に位置 */
    right: 24px;              /* ハンバーガーに沿って右寄せ */
    width: 180px;             /* 好きな幅に調整 */
    background: rgba(250,248,245,0.8); /* #faf8f5 80% */
    border-radius: 20px;      /* 角丸 */
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    opacity: 0;               /* 初期は非表示 */
    transform: translateY(-10px); /* 下からふわっと */
    transition: all 0.3s ease;
    pointer-events: none;     /* 開いてないときクリック不可 */
    }

  /* 開いた状態 */
  .gnav.open {
    display: block;
    opacity: 1;
    transform: translateY(0);
  }

  /* ulの縦並び */
  .gnav ul {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .gnav a {
    font-size: 14px;
    font-weight: 500;
    color: #4f4f4f;
    text-decoration: none;
    transition: opacity 1.8s;
  }
  .gnav a:hover {
    opacity: 0.7;
  }


  /* 下部追従CTA（SP専用） */
  .header-cta-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: rgba(181, 216, 211, 0.2);
    display: flex;
    justify-content: center;
    gap: 32px; /* ボタン間の距離を24pxに固定 */
    align-items: center;
    padding: 0 16px; /* 左右余白を少し足す */
    z-index: 1001;
  }

  .header-cta-fixed .btn-recruit {
    padding: 12px 32px;
    font-size: 16px;
    border-radius: 24px;
    font-weight: 600;
    text-decoration: none;
  }
}

/* ===============================
   PCサイズ（SP専用要素の非表示）
=============================== */
@media screen and (min-width: 769px) {
  .header-cta-fixed {
    display: none;
  }
}


/* ===============================
   メインビジュアル Section
=============================== */

.mv-section {
  background: #fff; /* 背景白 */
  position: relative;
  padding-top: 70px; /* ヘッダー下部〜楕円上部 */
  padding-bottom: 100px; /* 最新情報下部余白 */
  max-width: 100%;
  margin: 0 auto;
  z-index: 2;
}

/* 親コンテナ */
.mv-inner {
  position: relative;
  width: 100%;
  max-width: 960px;   /* デザイン幅 */
  height: 580px;      
  margin: 0 auto;     /* これで中央 */
  overflow: visible;
}



/* キャッチコピー */
.mv-copy {
  position: absolute;
  top: 45px;  /* ヘッダー下部〜コピー上部 */
  left: -30px;
  margin-left: -100px; /* ロゴに合わせて微調整 */
  width: 222px;
  height: auto;
  z-index: 10;
}

/* ぐにゃっと楕円 + スライド */
.mv-ellipse {
  position: absolute;
  top: 70px;             /* 親の上端からスタート */
  left: 0%;
  transform: translateX(-50%);
  width: 960px;
  height: 580px;
  border-radius: 60% 40% 55% 45% / 55% 60% 40% 45%;
  animation: float 6s ease-in-out infinite;
  overflow: hidden;
  z-index: 4;
}



/* ふわふわアニメーション */
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
  100% { transform: translateY(0px); }
}

/* スライド全体 */
.mv-slides {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: 4; /* 楕円と同じ階層 */
}

.mv-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 2s ease-in-out;
}

.mv-slide.active {
  opacity: 1;
}

.mv-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ロゴスライド */
.mv-logo-slide img {
  background-color: transparent;
  width: 220px;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5; /* 楕円より少し上だが、クレヨンより下 */
}


/* ===============================
   メインビジュアル あしらい画像
=============================== */
/* 布マスク楕円（固定）はスライドの下に */
.mv-ornament-fixed {
  position: absolute;
  z-index: 3; /* 楕円より下 */
}

/* クレヨンあしらいは楕円の上 */
.mv-ornament-crayon,
.mv-ornament-crayon-float {
  position: absolute;
  z-index: 5; /* 楕円・スライドより上 */
}

/* 右側：布マスク楕円 */
.mv-ornament-fixed.right {
  position: absolute;
  top: 300px;
  right: 0px;     /* 右端に寄せる */
  width: 450px;
  height: auto;
  z-index: 1;
}


/* 右側：クレヨン モーションあり */
.mv-ornament-crayon-float.right {
  top: 200px;
  right: 200px;
  width: 150px;
  height: auto;
  animation: float-right 4s ease-in-out infinite;
}

/* 右側：クレヨン 静止 */
.mv-ornament-crayon.right {
  top: 100px;
  right: 70px;
  width: 150px;
  height: auto;
}

/* 左側：布マスク楕円 */
.mv-ornament-fixed.left {
  top: -200px;
  left: 0px;
  width: 500px;
  height: auto;
}

/* 左側：クレヨン モーションあり */
.mv-ornament-crayon-float.left {
  top: 500px;
  left: 170px;
  width: 130px;
  height: auto;
  animation: float-left 4s ease-in-out infinite;
}

/* 左側：クレヨン 静止 */
.mv-ornament-crayon.left {
  top: 630px;
  left: 110px;
  width: 150px;
  height: auto;
}

/* ===============================
   左右クレヨンモーションアニメーション
=============================== */
@keyframes float-left {
  0% { transform: translateX(0px); }
  50% { transform: translateX(8px); }
  100% { transform: translateX(0px); }
}

@keyframes float-right {
  0% { transform: translateX(0px); }
  50% { transform: translateX(-8px); }
  100% { transform: translateX(0px); }
}


/* ===============================
   メインビジュアルSP版
=============================== */
@media screen and (max-width: 768px) {
  .mv-section {
    padding: 64px 32px; /* 上下64px、左右32px */
    height: 600px;      /* SP用縦幅 */
    position: relative;
  }

  .mv-inner {
    max-width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
  }

  .mv-ellipse {
    position: relative;       /* 画面中央に収めるため */
    width: 100%;              /* 親の横幅いっぱい */
    max-width: 375px;         /* SP幅に合わせて最大幅を制限 */
    height: auto;             /* 縦横比を保つ */
    aspect-ratio: 960 / 580;  /* 元の楕円の比率を維持 */
    border-radius: 60% 40% 55% 45% / 55% 60% 40% 45%;
    overflow: hidden;
    margin: 0 auto;           /* 中央揃え */
    top: 100px;
    left: 0;
    transform: none;          /* SPでは中央にmarginで配置 */
  }

  .mv-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }


  .mv-logo-slide img {
    width: 86px;      /* SP用にサイズ固定 */
    height: auto;     /* 縦横比維持 */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;       /* 楕円より少し上 */
  }
  
  /*キャッチコピーSP*/
  .mv-copy {
    position: absolute;
    top: 300px;
    left: 120px;
    width: 130px;
    height: auto;
    z-index: 10;
  }

   /* 右固定丸あしらい */
  .mv-ornament-fixed.right {
    width: 150px;
    top: 270px;
    right: 0px;
  }

  /* 左固定丸あしらい */
  .mv-ornament-fixed.left {
    width: 150px;
    top: 50px;
    left: 0px;
  }

  /* 右クレヨンふわっと */
  .mv-ornament-crayon-float.right {
    width: 70px;
    top: 160px;
    right: 0px;
  }

  /* 左クレヨンふわっと */
  .mv-ornament-crayon-float.left {
    width: 60px;
    top: 470px;
    left: 70px;
  }

  /* 左右クレヨン静止 */
 
  .mv-ornament-crayon.right {
    width: 70px;
    top: 100px;
    right: 30px;
  }

   .mv-ornament-crayon.left {
    width: 60px;
    top: 490px;
    left: 20px;
  }
  
}



/* ===============================
   最新情報ボックス
=============================== */

.news-section {
  padding: 0px 0 0px; /* 上下に余白を確保 */
  position: relative;
}

.news-box {
  position: relative;
  margin-top: 180px;
  background-color: rgba(166, 210, 220, 0.3); /* ← 透明30% */
  padding: 30px 50px;
  border-radius: 16px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  z-index: 2;
}

.news-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
}

.news-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.news-list li {
  margin-bottom: 12px;
}

.news-list li a {
  text-decoration: none;
  color: #4f4f4f;
}

.news-more {
  position: absolute;
  top: 50%;
  right: 50px;
  transform: translateY(-50%);
  background-color: #fff;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-weight: 400;
  color: #4f4f4f;
  z-index: 5;
}

/* ===============================
   最新情報ボックス SP版
=============================== */
@media screen and (max-width: 768px) {

   .news-section {
    padding-top: 0px;    /* ← 上余白 */
    padding-bottom: 0px; /* ← 下余白 */
   }
  
  .news-box {
    max-width: 100%;
    margin: 24px auto;          /* 上下余白24px、中央寄せ */
    margin-top: 0;      /* ボックス自体の余白もリセット */
    padding: 30px 50px 0px;         /* 左右余白16pxに調整 */
    border-radius: 16px;
    background-color: rgba(166, 210, 220, 0.3); /* 背景透明30%そのまま */
    position: relative;
    text-align: center;
  }

  .news-title {
    font-size: 16px;            /* SP用に小さく */
    font-weight: 600;
    text-align: center;         /* 見出し中央揃え */
    margin-bottom: 16px;        /* 本文との余白 */
  }

  .news-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .news-list li {
    margin-bottom: 24px;        /* 本文タイトル間の余白 */
    font-size: 14px;
    text-align: left;
  }

  /* ・を冒頭につける */
  .news-list li::before {
    content: "・";
    margin-right: 6px;
  }

  /* 日付と本文を改行 */
  .news-list li span {
    display: block;
  }

  /* 一覧ボタン */
  .news-more {
    position: relative;          /* 絶対配置解除してセクション下に */
    display: inline-flex;
    margin: 24px  -100px 0 auto;    /* 上余白24px、中央寄せ */
    width: auto;
    padding: 8px 16px;
    border-radius: 999px;         /* 丸み */
    background-color: #fff;
    font-size: 14px;
    font-weight: 500;
    color: #4f4f4f;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    
  }
}




/* ===============================
   わたしたちについて section
=============================== */
.about-section {
  background-color: #ffffff;
  padding: 40px 0 140px; /* 上部余白を減らし下部はそのまま */
  text-align: center;
  position: relative;
  
}

/* 小見出しと見出し */
.about-subtitle {
  font-size: 15px;
  letter-spacing: 0.2em;
  margin-bottom: 8px;
}

.about-title {
  font-size: 24px;
  letter-spacing: 0.1em;
  font-weight: 600;
  padding: 12px 0 48px;
  
}

/* クレヨンライン（見出し下） */
.crayon-line {
  width: 200px;
  margin: -55px auto 24px; /* 見出しに寄せて余白調整 */
  display: block;
  

}

/* ===============================
   写真配置
=============================== */
.about-images {
  position: relative;
  max-width: 1120px;
  margin: 0 auto 80px;
}

/* ベース設定（共通） */
.about-images img.mask {
  height: auto;
  object-fit: cover;
  position: absolute;
  border-radius: 9999px;
  z-index: 3; /* 写真はクレヨンより前に表示 */
}

/* 個別マスク */
.mask-family {
  width: 280px;
  top: 0px;
  left: 0;
  clip-path: ellipse(52% 42% at 48% 50%);
}

.mask-items {
  width: 340px;
  top: -200px;
  right: 0;
  clip-path: ellipse(46% 43% at 53% 49%);
}

.mask-baby {
  width: 300px;
  bottom: -650px;
  right: 20px;
  clip-path: ellipse(55% 48% at 51% 52%);
}

/* ===============================
   クレヨン落書き
=============================== */
.crayon {
  position: absolute;
  opacity: 0.8;
  z-index: 2; /* 写真より後ろに配置 */
}

.crayon-left {
  top: -250px;
  left: -40px;
  transform: rotate(30deg);
  width: 180px; /* 個別サイズ */
}

.crayon-right {
  bottom: -230px;
  right: -80px;
  transform: rotate(20deg);
  width: 250px; /* 個別サイズ */
}

.crayon-left2 {
  top: 350px;
  left: -220px;
  transform: rotate(10deg);
  width: 220px; /* 個別サイズ */
}

.crayon-right2 {
  bottom: -700px;
  right: -30px;
  transform: rotate(-10deg);
  width: 180px; /* 個別サイズ */
}

/* ===============================
   本文テキスト
=============================== */
.about-text {
  margin: -40px auto 80px;
  text-align: center;
  font-size: 22px;       /* ベースの本文サイズ */
  line-height: 2.0;      /* ゆったり行間 */
  letter-spacing: 0.02em;/* 少しだけ文字間を広げる */
  color: #4f4f4f;
}

/* 最後の3行（strong部分）をやさしく強調 */
.about-text strong {
  display: block;
  font-size: 26px;       /* すこし大きめに */
  font-weight: 600;      /* 少しだけ太めに */
  line-height: 1.4;      /* 行間もゆったり */
  letter-spacing: 0.04em;/* 文字間も少し広め */
  color: #4f4f4f;           /* 色をほんの少し濃く */
  margin-top: 0.8em;     /* 上との余白 */
}

/* PC表示ではSP版非表示 */
.about-text-sp { display: none; }



/* =============================== 
   わたしたちについて section SP版
=============================== */
@media screen and (max-width: 768px) {

  /* SP表示ではPC版非表示、SP版表示 */
  .about-text { display: none; }
  .about-text-sp { display: block; }

  /* セクション全体 */
  .about-section {
    padding: 32px 16px 100px; /* 上下余白、画像・クレヨン分を確保 */
    padding-top: 380px; 
    text-align: center;
    overflow-x: hidden; /* 横方向だけ隠す */
    overflow-y: visible; /* 縦方向はそのまま */
  }

  /* 小見出し */
  .about-subtitle {
    font-size: 10px !important;
    margin-bottom: 12px !important; /* 共通スタイルより優先 */
  }

  /* 見出し */
  .about-title {
    font-size: 20px !important;
    margin-bottom: -16px !important;; /* クレヨンラインとの余白 */
    font-weight: 600;
    padding: 0px 0 48px;
  }

  /* クレヨンライン */
  .crayon-line {
    width: 138px;
    margin: 0 auto 24px;
    position: relative;
    top: -45px;   /* ← この数値で上下だけ調整 */
    
  }

  /* 本文テキスト */
  .about-text-sp {
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.02em;
    max-width: 240px;
    margin: 0 auto 40px;
    text-align: center;
    position: relative;
    margin-top: -140px; /* ここで上下位置を調整 */
    text-align: center;
    z-index: 10; /* ★手前に来る */
  }
  

  .about-text strong {
    font-size: 18px;
    font-weight: 600;
    line-height: 30px;
    margin-top: 0.8em;
    display: block;
    z-index: 2; /* ★手前に来る */
  }

  /* ===============================
     写真配置 SP版
  =============================== */
  .about-images {
    max-width: 100%;
    margin: 40px auto 80px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 16px;
    position: relative;
    height: auto;
    align-items: flex-start;
    z-index: 1; /* ★奥（背景側） */
  }

  /* 個別画像 */
  .mask-family {
    width: 130px;
    height: 177px;
    transform: translateY(360px);
    margin-left: -35px;
    position: relative;
    order: 1;
  }

  .mask-baby {
    width: 140px;
    height: 135px;
    transform: translateY(-470px); 
    margin-right: 0;   /* ← これを無効化 */
    right: -50px;      /* ← はみ出し量はここで調整 */
    position: relative;
    order: 2;
    z-index: 1; /* ★奥（背景側） */
  }

  .mask-items {
    width: 140px;
    height: 120px;
    transform: translateY(110px);
    margin-right: 260px;
    margin-left: 12px;
    position: relative;
    order: 3;
    z-index: 1; /* ★奥（背景側） */
  }

/* ===============================
   クレヨン落書き SP版（個別まとめ）
=============================== */
.crayon-left {
  width: 90px;
  position: absolute;  /* ← relativeからabsoluteに */
  top: 150px;          /* セクション内での位置 */
  left: 330px;           /* 横中央 */
  transform: translateX(-50%);
  z-index: 1;
}

.crayon-right {
  width: 100px;
  position: absolute;  /* ← relativeからabsoluteに */
  top: -130px;          /* セクション内での位置 */
  left: 0px;           /* 横中央 */
  transform: translateX(-50%);
  z-index: 1;
}

.crayon-right2 {
  width: 80px;
  position: relativea;
  top: 450px;          /* セクション内での位置 */
  left: 0px;           /* 横中央 */
  transform: translateX(-50%);
  z-index: 1;
  z-index: 1; /* ★奥（背景側） */
}


}


/* ===============================
   事業について section
=============================== */

.service-section {
  position: relative;       /* 必須：子要素の絶対配置基準 */
  background-color: #f5f3ef;
  padding: 40px 0;
  
}

/* 上端の波線 */
.service-section::before {
  content: '';
  position: absolute;
  top: -100px; /* ここを増やすと波線が下に下がる */
  left: 0;
  width: 100%;
  height: 200px;/* 波線の高さ */
  background: url('../images/service_wave_top.png') no-repeat top center;
  background-size: cover;
  z-index: 0;               /* 背景より下に */
  
}

/* 下端の波線 */
.service-section::after {
  content: '';
  position: absolute;
  bottom: -100px;
  left: 0;
  width: 100%;
  height: 200px;
  background: url('../images/service_wave_bottom.png') no-repeat bottom center;
  background-size: cover;
  z-index: 0;
}



.service-inner {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 5;
}


.service-subtitle {
  font-size: 15px;
  font-weight: 500; 
  line-height: 1.6;
  margin-bottom: 10px;
  letter-spacing: 0.2em;
}

.service-title {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 32px;
  letter-spacing: 0.1em;
}

.service-text {
  font-size: 20px;
  letter-spacing: 0.1em;
  margin-top: 24px;
  margin-bottom: 60px;
}

.service-crayon {
  width: 200px;               /* サイズは調整OK */
  display: block;
  margin: -45px auto 0px;
  pointer-events: none;
}



/* ===== 以下はカードなど既存デザイン ===== */


.service-cards {
  display: flex;
  gap: 30px;
  justify-content: space-between;
}

.service-card {
  background-color: #ffffff;
  border-radius: 20px;
  width: 300px;
  height: 500px;
  padding: 34px 32px 0;
  text-align: left;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.service-card .service-img {
  width: 260px;
  height: 260px;
  margin-bottom: 24px;
  overflow: hidden;
  border-radius: 50%;
}

.service-card .service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-card h3 {
  font-size: 16px;
  margin-bottom: 24px;
  text-align: center;
  width: 100%;
}

.service-card p {
  font-size: 14px;
  line-height: 1.6;
  color: #4f4f4f;
  text-align: left;
  width: 100%;
  flex-grow: 1;
}

.service-cta {
  margin-top: 100px;
  text-align: center;
}

.btn-more {
  font-size: 16px;
  color: #4f4f4f;
  text-decoration: none;
  opacity: 0.8;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.btn-more .arrow {
  font-size: 18px;
  transition: transform 0.3s;
}

.btn-more:hover .arrow {
  transform: translateY(3px);
}

/* ===============================
   事業について section SP版
=============================== */
@media screen and (max-width: 768px) {

  /* セクション全体 */
  .service-section {
    padding: 60px 0; /* 上下余白60px */
  }

  .service-inner {
    padding: 0 16px;
  }

  /* 小見出し */
  .service-subtitle {
    font-size: 10px !important;
    margin-bottom: 12px !important;
  }

  /* 大見出し */
  .service-title {
    font-size: 20px !important;
    font-weight: 600;
    margin-bottom: 16px !important;
  }

  /* クレヨンあしらい */
  .service-crayon {
    width: 120px;           /* SP版で小さく */
    margin: -20px auto 16px; /* 見出しとのバランス調整 */
  }

  /* セクション説明文 */
  .service-text {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    margin: 16px auto 40px;
    padding: 0 16px;
  }


  /* ===== カードエリア ===== */

  .service-cards {
    display: block;   /* ← 縦積みに変える */
  }

  .service-card {
    width: 100%;
    max-width: 320px;
    height: auto;            /* 固定高さを解除 */
    margin: 0 auto 24px;     /* カード間余白 32px */
    padding: 24px 20px 32px; /* 内側余白調整 */
    text-align: center;
  }

  /* ★楕円マスク（調整しやすいようにする） */
  .service-card .service-img {
    width: 200px;
    height: 200px;
    margin: 8 auto 8px; 
    border-radius: 50%;
    overflow: hidden;
  }

  /* カード見出し */
  .service-card h3 {
    font-size: 16px;
    font-weight: 600;
    margin-top: 0px;
    margin-bottom: 8px;   
    text-align: center;
  }

  /* カード本文 */
  .service-card p {
    font-size: 16px;
    line-height: 1.7;
    color: #4f4f4f;
    padding: 0 42px;       /* 左右余白 42px */
    text-align: left;
  }

  /* CTAボタン（事業内容を見る） */
  .section-more {
    margin-top: 40px;
  }

  .link-more {
    font-size: 16px;
  }
}


@media (max-width: 768px) {

  .service-section::before,
  .service-section::after {
    height: 90px; 
    background-size: cover; /* 横幅に合わせつつ縦も伸びる */
    background-repeat: no-repeat;
  }

  .service-section::before {
    top: -60px; /* PCの -100px からちょい小さめに */
    background-position: top center;
  }

  .service-section::after {
    bottom: -60px;
    background-position: bottom center;
  }
}



/* ===============================
   働く環境 section
=============================== */
.works-section {
  position: relative; 
  background-color: #ffffff; /* セクション背景色 */
  padding: 120px 0; /* 上下余白 */
  z-index: -1; /* 背景としては標準レベル */
}

.works-inner {
  position: relative;
  z-index: 3; /* 波線より上、他の装飾より下 */
  max-width: 960px; /* セクション幅最大値 */
  margin: 0 auto; /* 中央寄せ */
  text-align: center;
}

/* クレヨン見出し下 */
.works-crayon-center {
  position: absolute;
  width: 200px;
  top: 55px;
  left: 400px;
  pointer-events: none;
  z-index: 2;
}

/* セクショントップ */

.works-subtitle {
  font-size: 15px;
  font-weight: 500; 
  line-height: 1.6;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
}


.works-title {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 32px;
  letter-spacing: 0.1em;
}

.works-text-p {
  font-size: 20px;
  letter-spacing: 0.1em;
  margin-bottom: 60px;
}

/* 制度カード群 */
.works-cards {
  display: flex; /* 横並び */
  gap: 30px; /* カード間余白 */
  justify-content: center;
  flex-wrap: wrap; /* 小さい画面では折り返す */
}

/* カードラッパー：丸＋見出し＋カード */
.works-card-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* 見出し */
.works-card-wrapper h3 {
  font-size: 22px;
  font-weight: bold;
  margin: 32px 0 0 0; /* 丸〜見出し間32px、見出し〜カード上部32px */
  margin-bottom: 32px; /* 丸〜見出し間32px */
}

/* カード本体 */
.works-card {
  background-color: #f5f3ef;
  border-radius: 20px;
  width: 290px;
  height: 200px;
  padding: 34px 32px 32px 32px; /* カード上部〜本文32px */
  display: flex;
  align-items: flex-start;
  text-align: left;
}

.works-card p {
  font-size: 18px; /* 事業についてカード本文サイズと統一 */
  line-height: 1.6;
  color: #4f4f4f;
}

/* 丸オブジェクト内アイコン */
.works-card-wrapper .works-icon {
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background-color: #f5f3ef;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.works-card-wrapper .works-icon img {
  width: 148px;
  height: 148px;
  object-fit: contain;
}


/* クレヨン共通 */
.works-crayon {
  position: absolute;
  width: 110px;
  height: auto;
  pointer-events: none;
  z-index: 10;
}

/* 左側の位置調整 */
.works-crayon.c1 { top: 90px; left: 110px; }
.works-crayon.c2 { top: 240px; left: 170px; }
.works-crayon.c3 { top: 580px; left: 60px; }
.works-crayon.c4 { top: 780px; left: 90px; }
.works-crayon.c5 { top: 1000px; left: 150px; }
.works-crayon.c6 { top: 1180px; left: 200px; }

/* 2番・4番だけモーション */
.works-crayon.float-motion {
  animation: float-left 4s ease-in-out infinite;
}

/* 横揺れモーション（左側） */
@keyframes float-left {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(-14px); } /* 左右揺れ */
  100% { transform: translateX(0); }
}


/* PC版は表示、SP版は非表示 */
.works-cards { display: flex; }
.works-cards-sp { display: none; }
/* PCではSP用テキストは非表示 */
.works-text-sp {display: none;}


@media screen and (max-width: 768px) {

  /* ===== PC版の構造は全部消す ===== */
  .works-cards,
  .works-card-wrapper {
    display: none !important;
  }

  /* SP版カード表示 */
.works-cards-sp {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

/* SP版カード本体 */
.works-card-sp {
  width: 90%;
  max-width: 320px;
  padding: 32px 20px 32px;
  background: #f5f3ef;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 丸アイコン（SP専用） */
.works-icon-sp {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  margin-bottom: 8px;
}

.works-icon-sp img {
  width: 100%;       
  height: auto;     /* 縦横比を維持 */
  object-fit: contain; /* 画像全体を収める */
}


/* 見出し */
  .works-card-sp h3 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 8px 0;   /* 下だけ8px */
    text-align: center; /* 中央揃えはそのまま */
  }

/* 本文 */
.works-card-sp p {
  font-size: 16px;
  line-height: 1.7;
  padding: 0 42px;     /* 左右余白を統一 */
  margin: 0;
  text-align: left; /* 左寄せに変更 */
}

/* クレヨンあしらい */
  .works-crayon-center {
    width: 120px;           /* SP版で小さく */
    margin: -20px auto 16px; /* 見出しとのバランス調整 */
  }



  /* ===== セクション自体の調整 ===== */
.works-section { 
  padding: 80px 0 ; 
  }
  
.works-inner { 
  padding: 0 16px; 
  }

.works-subtitle {
  font-size: 10px; 
  margin-bottom: 12px; 
  }

  .works-title {
  font-size: 20px; 
  margin-bottom: 16px; 
  }

.works-text-sp {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin: 16px auto 40px;
  padding: 0 16px;
  }

.works-text-p {
  display: none;
  }

.works-text-sp {
  display: block;
  }

.works-crayon-center {
  position: absolute;
  top: 50px;   /* ← ここで上下調整 */
  left: 130px;   /* ← ここで左右調整 */
  width: 120px;
  z-index: 1;
}



/* 左側クレヨン個別調整 */
.works-crayon.c1 { 
  top: 10px; 
  left: 270px; 
  width: 65px;
  
}

.works-crayon.c2 {
  top: 70px; 
  left: 310px; 
  width: 50px;
}

.works-crayon.c3 {
  top: 25px; 
  left: 45px; 
  width: 45px;
}

.works-crayon.c4 {
  top: 1390px; 
  left: 300px; 
  width: 55px;
}

.works-crayon.c5 {
  top: 1410px; 
  left: 30px; 
  width: 50px;
}

.works-crayon.c6 {
  top: 1610px; 
  left: 30px; 
  width: 50px;
}


}




/* ===============================
   数字で見るTSUTSUMU section
=============================== */
.numbers-section {
  background-color: #ffffff;
  padding: 64px 0px 180px;
  text-align: center;
  position: relative; /* ←追加：あしらいの基準をここにする */
  z-index: -2;
}

/* ✅ 基準を numbers-section に移すので relative を削除 */
.numbers-inner {
  max-width: 960px;
  margin: 0 auto;
}


/* セクション見出し */
.numbers-section h2 {
  font-size: 22px;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #4f4f4f;
  margin-bottom: 8px; /* 見出し〜楕円上部余白 */
}

/* 外側楕円オブジェクト */
.numbers-ellipse {
  width: 960px;
  height: 730px; /* 高さを大きくして下段オブジェクトも収まる */
  background-color: #f5f3ef;
  border-radius: 50% / 55%; /* ←丸みを少し緩やかに調整 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 44px; /* 外楕円上部〜内側丸オブジェクト */
  padding-bottom: 48px; /* 下段丸オブジェクト〜楕円下部 */
  gap: 32px; /* 上下段丸オブジェクト間の余白 */
  position: relative;
  margin: 0px auto;
  
}

/* 行の横並び */
.numbers-row {
  display: flex;
  justify-content: center;
  gap: 24px; /* 丸オブジェクト間の横余白 */
  flex-wrap: wrap;
}

/* 丸オブジェクトカード */
.number-card {
  width: 250px;
  height: 250px;
  background-color: #ffffff;
  border-radius: 50%; /* 丸型 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px;
  color: #4f4f4f;
}

/* タイトル */
.number-title {
  font-size: 24px;
  line-height: 1.4;
  text-align: center;
  color: #4f4f4f;
  margin-bottom: 16px; /* タイトルと数字の間 */
}

/* 数字部分 */
.number-main {
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
  text-align: center;
}

.number-main p {
  margin: 4px 0;
  line-height: 1.4;
}

/* 各テキスト要素 */
.number-main .text {
  font-size: 20px;
  color: #4f4f4f;
}

.number-main .number {
  font-size: 38px;
  font-weight: bold;
  color: #4f4f4f;
}

  

/* ✅ クレヨン共通 */
.numbers-crayon {
  position: absolute;
  width: 110px;
  pointer-events: none;
  z-index: 10; /* ←上にくるよう強めに */
}

/* ✅ 位置調整（自由に変えてOK） */
.numbers-crayon.c1 { top: -90px;  right: 100px;}
.numbers-crayon.c2 { top: 110px;  right: 120px;}
.numbers-crayon.c3 { top: 420px;  right: 110px;}
.numbers-crayon.c4 { top: 600px;  right: 30px;}
.numbers-crayon.c5 { top: 730px;  right: 190px;}
.numbers-crayon.c6 { top: 900px;  right: 130px;}

/* ✅ 2番・4番だけモーション */
.float-motion {
  animation: float-right 4s ease-in-out infinite;
}

/* ✅ メインビジュアルと同じアニメ */
@keyframes float-right {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(16px); }
  100% { transform: translateY(0); }
}


/* ======================================
   PCではSP版の数字セクションを非表示
====================================== */

/* 初期状態（PC） */
.numbers-pc {
  display: block;
}

.numbers-sp-section {
  display: none;
}


/* ===============================
   SP版：数字で見るTSUTSUMU
=============================== */
@media (max-width: 768px) {

   /* PCブロックだけ消す */
  .numbers-pc {
    display: none ;
  }



  .numbers-section {
  background-color: #ffffff;
  padding: 0px 0px 100px;
  text-align: center;
  position: relative; /* ←追加：あしらいの基準をここにする */
  z-index: 0;
}



  /* SP全体：セクション余白 */
  .numbers-sp-section {
    display: block;
    padding: 0px 45px 0px; 
    background: #ffffff;
    position: relative;
    text-align: center;
  }

  /* SP版クレヨン位置 */
  .numbers-sp-section .numbers-crayon {
    position: absolute;
    width: 90px;
    pointer-events: none;
    z-index: 20;
  }

   /* セクション見出し */
.numbers-sp-section h2 {
  font-size: 20px;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #4f4f4f;
  margin-bottom: 32px; /* 見出し〜楕円上部余白 */
}

  .numbers-sp-section .c1 { 
    top: 20px; 
    right: 10px; 
    width: 45px;
  }

  .numbers-sp-section .c2 { 
    top: 740px; 
    right: 20px;
    width: 50px; 
  }

  .numbers-sp-section .c3 {
     top: 320px; 
     right: 40px;
    width: 55px; 
  }

  .numbers-sp-section .c4 {
     top: 300px; 
     right: 280px;
    width: 50px; 
  }

  .numbers-sp-section .c5 {
     top: 380px; 
     right: 280px;
    width: 50px; 
  }

  .numbers-sp-section .c6 {
     top: 680px; 
     right: 40px;
    width: 50px; 
  }

  /* 上の補足タイトル（必要なら使う） */
  .numbers-sp-section .numbers-subtitle {
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #4f4f4f;
    margin-bottom: 8px;
  }

  /* 見出し：ここをメインで調整 */
  .numbers-sp-section .numbers-title {
    font-size: 20px !important;  /* フォントサイズ確実に反映 */
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 0.05em;
    margin-bottom: 32px;         /* 見出し下余白 */
    color: #4f4f4f;
  }

  /* 行レイアウト */
  .numbers-sp-row {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 8px; /* 各段間の余白 */
    flex-wrap: wrap;
  }
  .numbers-sp-row.center {
    justify-content: center;
  }

  /* カード */
  .number-sp-card {
    width: calc(50% - 12px);
    text-align: center;
  }

  /* 丸背景 */
  .number-sp-circle {
    width: 130px;
    height: 130px;
    margin: 0 auto 16px; /* 丸→下タイトルの間 */
    border-radius: 50%;
    background: #f5f3ef;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    box-sizing: border-box;
  }

  /* 丸内：1・2段目（数字＋単位） */
  .number-inline {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
    margin-bottom: 4px;
  }
  .number-inline .number { font-size: 32px; font-weight: 700; line-height: 1; }
  .number-inline .unit { font-size: 16px; margin-left: 2px; }

  /* 1・2段目はラベル不要なので消す */
  .number-inline .text { display: none; }

  /* 3段目（男性90%／女性100%） */
  .number-inline-3rd {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 3px;
    margin-bottom: 4px;
  }
  .number-inline-3rd .text {
    font-size: 12px;
    font-weight: 500;
    margin-right: 3px;
  }
  .number-inline-3rd .number {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
  }
  .number-inline-3rd .unit { font-size: 12px; margin-left: 2px; }

  /* ✨ 丸下のタイトル（職種など） */
  .number-title {
    font-size: 16px;
    line-height: 1.4;
    margin: 0 0 6px 0; /* 下に少し余白 */
    color: #4f4f4f;
  }

  /* 補足テキスト（1段目だけ） */
  .number-sub {
    font-size: 13px;
    color: #4f4f4f;
    font-weight: 400;
    line-height: 1.4;
    margin-top: 4px;
  }

  /* SP：背景楕円は非表示 */
  .numbers-sp-section .numbers-ellipse,
  .numbers-sp-section .mv-ellipse { display: none ; 
  }

    /* PC用クレヨンをSPで非表示 */
  .crayon-pc,
  .crayon-right,
  .crayon-left,
  .works-crayon-center {
    display: none ;
  }

  
}


/* ===============================
   メンバー紹介 section
=============================== */


.member-section {
  position: relative;
  background-color: #f1f8fa;      
  padding: 80px 0 120px;
  overflow: visible;
  z-index: 0; /* ★追加 */
}

/* 上の波線 */
.member-section::before {
  content: '';
  position: absolute;
  top: -150px;                     /* 波線の位置調整 */
  left: 0;
  width: 100%;
  height: 200px;                   /* 画像の縦サイズに合わせて変えてOK */
  background: url('../images/member_wave_top.png') no-repeat top center;
  background-size: cover;
  z-index: -1 !important;
}

/* 下の波線 */
.member-section::after {
  content: '';
  position: absolute;
  bottom: -100px;                 
  left: 0;
  width: 100%;
  height: 200px;
  background: url('../images/member_wave_bottom.png') no-repeat bottom center;
  background-size: cover;
  z-index: -1 !important;
}




/* セクションコンテナ */
.member-section .container {
  background: transparent !important;
  max-width: 820px;
  margin: 0 auto;
  position: relative;
  z-index: 1; /* あしらいより前に出す */
  
}



/* ===== セクション冒頭部分 ===== */

/* 小見出し */
.member-subtitle {
  font-size: 14px;       
  letter-spacing: 0.1em;
  margin-bottom: 16px;
  text-transform: uppercase;
  color: #4f4f4f;
  text-align: center;
}

/* 見出し */
.member-title {
  font-size: 24px;
  letter-spacing: 0.1em;       
  font-weight: 600;
  margin-bottom: 42px;   /* 見出しと本文間 */
  color: #4f4f4f;
  text-align: center;
}

/* テキスト本文（中央揃え） */
.member-text-pc {

  font-size: 20px;
  line-height: 1.8;
  margin: 0px auto 72px;
  margin-bottom: 72px;
  padding: 0 16px;
  color: #4f4f4f;
  text-align: center;
}

.member-crayon {
  width: 323px;         /* 好きなサイズに */
  display: block;
  top: 60px; right: 250px;
  pointer-events: none; /* ←これも追加！ */
  z-index: 20 !important;
  
}

/* ===== クレヨン落書きあしらい（PNG） ===== */
.member-crayon {
  position: absolute;
  z-index: 5;
  opacity: 0.8;
  pointer-events: none; /* ←これも追加！ */
  
}

/* 左右6点配置サンプル（画像パスは差し替え） */
.member-crayon1 { 
  top: -240px; 
  left: -180px; 
  width: 270px; 
  transform: rotate(-15deg); 
}
.member-crayon2 {
   top: 69px; 
   left: 800px; 
   width: 240px; 
   transform: rotate(0deg); 
  }
.member-crayon3 {
   top: 1100px; 
   left: 850px; 
   width: 240px; 
   transform: rotate(-5deg); 
  }
.member-crayon4 {
   top: 1800px; 
   right: 950px; 
   width: 240px; 
   transform: rotate(20deg); 
  }
.member-crayon5 {
   top: 2500px; 
   right: -230px; 
   width: 240px; 
   transform: rotate(-10deg);
   }
.member-crayon6 {
   top: 2900px; 
   right: 820px; 
   width: 240px; 
   transform: rotate(5deg); 
  }

/* ===== メンバー紹介カラム部分 ===== */
.member-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 120px;
  gap: 60px;
}

/* 左右反転パターン */
.member-item.right {
  flex-direction: row-reverse;
}

/* ===== 写真部分 ===== */
.member-photo-wrap {
  position: relative;
  width: 50%;
  max-width: 370px;
}

.photo-mask {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 50% 75% 60% 70% / 80% 60% 80% 65%;
  transform: rotate(-2deg);
}

.photo-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* アイコン（左上に配置） */
.member-icon {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 100px;
  height: 100px;
  background-color: #b5d8d3;
  border-radius: 50%;
  padding: 15px;
  box-sizing: border-box;
}

/* ===== テキスト部分 ===== */
.member-content {
  width: 50%;
}

/* ===============================
   メンバー紹介 共通
=============================== */
.member-speech {
  position: relative;   /* 吹き出しやあしらいの絶対配置基準 */
  margin-bottom: 80px;  /* 各メンバー間の余白 */
  text-align: center;   /* セリフ見出しを中央揃え */
}

.member-speech h3 {
  display: inline-block; /* 中央揃えで幅調整 */
  margin: 0 auto 0px;   /* 下に少し余白 */
  font-size: 22px;
  letter-spacing: 0.1em;
  font-weight: 700; /* 400=普通, 500=少し太め, 700=太字 */
  line-height: 1.8;
  margin-bottom: 10px; /* 数字を大きくすると余白が広がる */
}

/* 吹き出し共通 */
.speech-bubble {
  display: block;
  width: 360px;  /* 吹き出しサイズ */
  height: auto;
  margin: 0 auto;
  position: relative;
  z-index: 1; /* CTAより後ろ（低い） */
  pointer-events: none; /* ←これでクリックを透過 */
}



/* クレヨンあしらい共通 */
.crayon-deco {
  position: absolute;
  width: 62px;  /* 丸の中の画像サイズ */
  height: auto;
  
}
/* ===============================
   メンバーごとの個別調整
=============================== */

/* メンバー1 */
.member1 h3 { margin-bottom: -30px; position: relative; top: 20px; left: -6%; }
.member1 .speech-bubble { position: relative; top: 30px;left: -5%; }
.member1 .crayon-deco { top: -20px; right: 0px; }

/* メンバー2 */
.member2 h3 { margin-bottom: -30px !important;position: relative; top: -40px; left: -10%; } /* 見出しと吹き出しの距離を狭める */
.member2 .speech-bubble { position: absolute; top: 50px; left: -55%; transform: translateX(50%); }/* 上に移動 */ /* 中央揃え */  /* 吹き出しを少し上に */
.member2 .crayon-deco { top: -90px; right: 360px; }


/* メンバー3 */
.member3 h3 { margin-bottom: -40px;position: relative; top: 10px; left: -3%; }
.member3 .speech-bubble { position: relative; top: 30px;left: -5%; }
.member3 .crayon-deco { top: -55px; right: -15px; }

/* メンバー4 */
.member4 h3 { margin-bottom: -30px;position: relative; top: 20px; left: -10%; }
.member4 .speech-bubble { position: relative; top: 30px; left: -10%; }
.member4 .crayon-deco { top: -28px; right: 360px; }


/* ===== 事業部・名前・社歴 ===== */
.member-dept {
  font-size: 16px;
  letter-spacing: 0.1em;
  color: #4f4f4f;
  margin-bottom: 8px;
}

.member-name {
  font-size: 24px;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #4f4f4f;
  margin-bottom: 20px;
}

.member-name span {
  font-size: 16px;
  letter-spacing: 0.1em;
  font-weight: 400;
}

/* ===== ハッシュタグ部分 ===== */
.member-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.member-tags span {
  font-size: 16px;
  letter-spacing: 0.1em;
  color: #4f4f4f;
  background: #fff;
  border: 1px solid #4f4f4f;
  border-radius: 12px;
  padding: 6px 12px;
}

/* CTAボックス */
.member-cta {
  display: flex;
  align-items: center;
  justify-content: center;  /* ← 横中央に変更！ */
  width: 360px;
  height: 70px;
  background-color: #f6e29a;
  border-radius: 30px;
  padding: 24px 24px;
  margin: 20px auto 0; /* 上余白＋中央揃え */
  margin-left: -0px;   /* 例：左に40pxずらす */
  text-decoration: none;
  color: #4f4f4f;
  font-weight: 600;
  box-sizing: border-box;
  transition: all 0.3s ease; /* ←アニメーションの基本 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 少し立体感 */
  position: relative;
  z-index: 5;
}

/* hover時のふんわりアニメーション */
.member-cta a:hover {
  transform: translateY(-4px); /* 少し浮く */
  background-color: #ead381; /* 少し濃く */
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15); /* 影を深くして浮いた感じに */
}



/* アイコン */
.member-cta .cta-icon {
  width: 32px;
  height: 32px;
  margin-right: 32px;
}

/* テキスト部分 */
.member-cta .cta-text {
  flex: 1;           /* テキストが中央で伸びる */
  font-size: 16px;
  line-height: 1.4;
}

/* 矢印 */
.member-cta .cta-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: #fff;
  border-radius: 50%;
  color: #4f4f4f;
  font-size: 16px;
  margin-left: 6px;
}

/* hoverアニメーション */
.member-cta:hover {
  opacity: 0.8;
  transform: translateY(-2px);
}

/* ===== PC/SPテキストの出し分け ===== */

/* 初期（PC）ではPC用だけ表示 */
.member-text-pc {
  display: block;
}

.member-text-sp {
  display: none;
}
/* ===============================
   メンバー紹介 section - SP調整版
=============================== */
@media screen and (max-width: 768px) {

/* SPではSP用だけ表示 */
.member-text-pc {
  display: none;
}

.member-text-sp {
  display: block;
}

/* セクション本体 */
.member-section {
  position: relative;
  padding: 32px 0 0px;
  background-color: #f1f8fa;
  overflow: visible;
  z-index: 2;
}

.member-section {
  min-height: 200px; /* 疑似要素が収まる高さを確保 */
}


/* 上下波線（※ここは触っていません） */
.member-section::before,
.member-section::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 90px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  z-index: -1;
}


.member-section::before {
  top: 0;
  margin-top: -60px; /* 画像の高さ分上にずらす */
  background: url('../images/member_wave_top.png') no-repeat top center;
  z-index: 0;
}


.member-section::after {
  bottom: -60px;
  background: url('../images/member_wave_bottom.png') no-repeat bottom center;
}


/* ===============================
   コンテナ
=============================== */
.member-section .container {
  max-width: 360px;
  padding: 0 8px 60px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

/* 小見出し */
.member-subtitle {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-align: center;
  margin-bottom: 8px;
}

/* 見出し */
.member-title {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin: 0 0 32px 0;
}

/* 見出し下クレヨン */
.member-crayon {
  width: 210px;
  display: block;
  top: 43px;
  left: 70px;
}

/* 本文 */
.member-text-sp {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin: 24px auto 40px;
  padding: 0 16px;
  text-align: center;
}


/* ===== クレヨン落書きあしらい背景（PNG） ===== */
.member-crayon {
  position: absolute;
  z-index: 5;
  opacity: 0.8;
  pointer-events: none; /* ←これも追加！ */
  
}


/* ===== メンバー紹介カラム部分 ===== */
.member-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 120px;
  gap: 0px;
}


/* ===============================
   メンバーアイテム
=============================== */
.member-item,
.member-item.left,
.member-item.right {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100%;
  margin-bottom: 32px;
  position: relative;
}

/* 写真 */
.member-photo-wrap {
  width: 180px;
  position: relative;
  margin-top: 150px;
  margin-bottom: 12px;
}

.photo-mask {
  width: 180px;
  aspect-ratio: 3 / 4;
  border-radius: 50% 75% 60% 70% / 80% 60% 80% 65%;
  overflow: hidden;
}

.photo-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* アイコン */
.member-icon {
  position: absolute;
  top: 28px;
  left: -30px;
  width: 64px;
  height: 64px;
}



/* ===============================
   セリフ・吹き出し
=============================== */
.member-speech {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 240px;
  text-align: center;
  margin: 0;
  z-index: 2;
}

.member-speech h3 {
  font-size: 16px;
  margin-bottom: 2px;
  line-height: 1.4;
}

/* 吹き出し */
.speech-bubble {
  width: 240px;
  margin: -10px auto 4px;
  pointer-events: none;
  position: relative;
  z-index: 1;
}

/* 吹き出しクレヨン */
.crayon-deco {
  position: absolute;
  width: 38px;
  top: -14px;
  right: 0;
  z-index: 3;
}


/* ===============================
   クレヨン共通
=============================== */
.member-crayon {
  position: absolute;
  height: auto;
  z-index: 10;
  pointer-events: none;
}

/* ===============================
   SP版：クレヨン個別調整
=============================== */

/*青*/
.member-crayon1 {
  width: 110px;
  top: -100px;
  left: -10px;
}

.member-crayon2 {
  width: 100px;
  top: 1250px;
  left: 260px;
}

/*黄色*/
.member-crayon3 {
  width: 100px;
  top: 1900px;
  left: 0px;
}

/*黄色*/
.member-crayon4 {
  width: 95px;
  top: 550px;
  left: 270px;
}

/*青*/
.member-crayon5 {
  width: 100px;
  top: 2465px;
  left: 270px;
}

/*青*/
.member-crayon6 {
  width: 110px;
  top: 3070px;
  left: -15px;
}


/* ===============================
   SP版：メンバーごとの個別調整
=============================== */

/* ---------- メンバー1 ---------- */
.member1 h3 {
  position: relative;
  top: 42px;
  left: 0px;
}

.member1 .speech-bubble {
  position: relative;
  top: 48px;
  left: 0px;
}

.member1 .crayon-deco {
  top: 10px;
  right: 0px;
}


/* ---------- メンバー2 ---------- */
.member2 h3 {
  position: relative;
  top: 50px;
  left: 0px;
}

.member2 .speech-bubble {
  position: relative;
  top: 32px;
  left: -120px;
}

.member2 .crayon-deco {
  top: 15px;
  left: -24px;
  right: auto;
}


/* ---------- メンバー3 ---------- */
.member3 h3 {
  position: relative;
  top: 62px;
  left: 0px;
}

.member3 .speech-bubble {
  position: relative;
  top: 77px;
  left: -5px;
}

.member3 .crayon-deco {
  top: 30px;
  right: -10px;
}


/* ---------- メンバー4 ---------- */
.member4 h3 {
  position: relative;
  top: 50px;
  left: 0px;
}

.member4 .speech-bubble {
  position: relative;
  top: 60px;
  left: 0px;
}

.member4 .crayon-deco {
  top: 20px;
  left: -20px;
  right: auto;
}



/* ===============================
   テキスト
=============================== */
.member-content {
  width: 100%;
  max-width: 240px;
  text-align: left;
  margin-top: 8px;
}

.member-dept {
  font-size: 14px;
}

.member-name {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0px;
}

.member-name span {
  font-size: 14px;
}

.member-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.member-tags span {
  font-size: 14px;
}

/* ===============================
   CTA
=============================== */
.member-cta {
  width: 100%;
  max-width: 240px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border-radius: 30px;
  background-color: #f6e29a;
  text-decoration: none;
  color: #4f4f4f;
  font-weight: 600;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  z-index: 2;
  position: relative;
}

.member-cta .cta-icon {
  width: 32px;
  height: 32px;
  margin-right: 16px;
}

.member-cta .cta-text {
  flex: 1;
  font-size: 14px;
  line-height: 1.4;
}

.member-cta .cta-arrow {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
}


/* ===== 事業部・名前・社歴 ===== */
.member-dept {
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #4f4f4f;
  margin-bottom: 4px;
}

.member-name {
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #4f4f4f;
  margin-bottom: 20px;
}

.member-name span {
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: 400;
}

/* ===== ハッシュタグ部分 ===== */
.member-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.member-tags span {
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #4f4f4f;
  background: #fff;
  border: 1px solid #4f4f4f;
  border-radius: 12px;
  padding: 6px 12px;
}


}


/* ===============================
   採用について section
=============================== */
.recruit-section {
  background-color: #fff;
  padding: 120px 0px 80px;
  box-sizing: border-box;
  z-index: 1;
}


/* セクショントップ */

.recruit-subtitle1 {
  font-size: 15px;
  font-weight: 500; 
  line-height: 1.6;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
  text-align: center;
}


.recruit-title1 {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 32px;
  letter-spacing: 0.1em;
  text-align: center;
}


.recruit-intro {
  position: relative;
  max-width: 960px;
  margin: 0 auto 64px;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  box-sizing: border-box;
}


/* 見出し下クレヨン */
.recruit-crayon-center {
  width: 214px;
  height: auto;
  display: block;
  margin: -40px auto 0 auto; /* 中央揃え */
  z-index: 0;
}

/* 丸背景 */
.recruit-circle-bg {
  width: 600px;
  height: auto;
  display: block;
  margin: 24px auto 0 auto;
  z-index: 0; /* 写真より下 */
  position: absolute;
  right: 170px;
}

/* 左右クレヨン */
.recruit-crayon-left,
.recruit-crayon-right {
  position: relative;
  width: 120px;
  height: auto;
  z-index: 2;
  pointer-events: none;
}

/* 左クレヨン */
.recruit-crayon-left.static { top: 400px; left: 100px; }
.recruit-crayon-left.float-motion { top: 800px; left: -50px; }

/* 右クレヨン */
.recruit-crayon-right.static { top: 900px; right: -940px; }
.recruit-crayon-right.float-motion { top: 350px; right: -750px; }

/* アニメーション */
.float-motion {
  animation: float-left 4s ease-in-out infinite;
}

@keyframes float-left {
  0% { transform: translateX(0); }
  50% { transform: translateX(-14px); }
  100% { transform: translateX(0); }
}

.recruit-photo {
  flex: 0 0 460px;
}
.recruit-photo img {
  width: 100%;
  max-width: 460px;
  height: auto;
  display: block;
  border-radius: 8px;
  object-fit: cover;
}

.recruit-text {
  flex: 1 1 auto;
  max-width: calc(960px - 460px - 40px);
  padding: 24px;
  box-sizing: border-box;
  border-radius: 12px;
  background: none;
}
.recruit-text h3 {
  font-size: 32px;
  letter-spacing: 0.1em;
  margin: 0 0 12px 0;
  color: #4f4f4f;
  text-align: center;       /* 中央揃え */
  font-weight: 700;         /* 太くする */
}
.recruit-text p {
  font-size: 20px;
  margin: 24px;
  color: #4f4f4f;
  line-height: 1.8;
  text-align: center;       /* 中央揃え */
}

/* -------------------------------
   採用アコーディオン
---------------------------------*/
.recruit-accordion {
  max-width: 960px;
  margin: 0 auto 24px;
}

.accordion-item {
  width: 100%;
  border: none;
  border-radius: 8px;
  overflow: hidden;
  background-color: #faf8f6;
  box-shadow: 0 2px 4px rgba(0,0,0,0.03);
  margin-bottom: 24px;
  box-sizing: border-box;
}

.recruit-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  font-weight: 700;
  cursor: pointer;
  padding: 20px 24px;
  background: #faf8f6;
  
}
.recruit-title:hover {
  background: #f2efec;
}

.accordion-arrow {
  width: 16px;
  height: auto;
  display: inline-block;
  transition: transform 0.5s ease;
  transform-origin: center;
}

/* 回答部分（閉じてる状態） */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 32px;
  transition: max-height 0.7s ease, opacity 0.7s ease, padding 0.7s ease;
  background-color: #ffffff10; /* 薄い背景 */
  border-radius: 0 0 8px 8px;
  margin-top: 0;
}

/* 回答部分（開いた状態） */
.accordion-item.active .accordion-content {
  max-height: 2000px;
  opacity: 1;
  padding: 24px 32px;
}

/* 矢印回転 */
.accordion-item.active .accordion-arrow {
  transform: rotate(-90deg);
}

/* info-row */
.accordion-content .info-row {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
  align-items: flex-start;
}
.accordion-content .info-row dt {
  font-weight: bold;
  color: #4f4f4f;
  width: 30%;
}
.accordion-content .info-row dd {
  width: 70%;
  margin: 0;
  color: #4f4f4f;
}
/* ===============================
   採用について：SP版（375px）
=============================== */
@media screen and (max-width: 768px) {

  .recruit-section {
    padding: 90px 8px 30px 8px; /* ← 全体の上下余白。見出しやクレヨンとの距離調整はここ */
    position: relative;
  }

  /* セクション小見出し */
  .recruit-subtitle1 {
    font-size: 10px;
    text-align: center;
    margin-bottom: 8px;  /* ← 小見出しと見出しの距離はここ */
    letter-spacing: 0.08em;
  }

  /* セクション見出し */
  .recruit-title1 {
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    margin: 0 0 32px; /* ← 見出しとクレヨンの距離を調整する場所 */
    z-index: 2;
  }

  /* クレヨン（見出し下） */
  .recruit-crayon-center {
    width: 170px; /* ← クレヨン幅の微調整 */
    margin: -50px auto 32px; /* ← クレヨンとイントロブロックの距離 */
    z-index: 1;
  }

  /* 2カラム → 完全縦積み */
  .recruit-intro {
    flex-direction: column;
    gap: 0;
    padding: 0 20px; /* ← 写真＆本文の左右余白調整 */
    margin-top: 10px;
    margin-bottom: -48px;
  }


  /* 楕円写真（240px） */
  .recruit-photo {
    width: 300px; /* ← 写真サイズ調整 */
    margin: 0 auto 24px; /* ← 写真と本文タイトルの距離 */
  }

  /* 本文タイトル */
  .recruit-text h3 {
    font-size: 18px;
    text-align: center;
    margin: -260px 0 24px; /* ← タイトルと本文の距離 */
    line-height: 1.6;
  }

  /* 本文テキスト（左寄せ中心・中央揃え） */
  .recruit-text p {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 64px; /* ← 本文下の大きな余白。黄色丸との距離に影響 */
    padding: 0 10px; /* ← 本文の左右余白（読みやすさ調整） */
    text-align: center; /* ← 左寄せ or 中央揃え変更するならここ */
  }


  /* 黄色の背景丸（本文の後ろ） */
  .recruit-circle-bg {
    width: 350px; /* ← 黄色丸サイズ */
    position: absolute;
    left: 50%;
    top: 230px; /* ← 黄色丸の縦位置がズレるときはここを調整 */
    transform: translateX(-50%);
    z-index: 0;
  }

  /* テキスト＆写真は上に表示 */
  .recruit-intro,
  .recruit-text,
  .recruit-photo {
    position: relative;
    z-index: 2; /* ← 黄色丸の前に出すための設定（問題なければ触らなくてOK） */
  }



  /* 左クレヨン（float-motion） */
  .recruit-crayon-left.float-motion {
    position: absolute;
    top: 450px;   /* ← SP用に好きな位置へ */
    left: 10px;
    width: 55px; /* ← クレヨンの大きさ微調整 */
    z-index: 3;
  }

  /* 左クレヨン（static） */
  .recruit-crayon-right.static {
    position: absolute;
    top: 515px;   /* ← SP用に自由配置 */
    right: 265px;
    width: 50px; /* ← クレヨンの大きさ微調整 */
    z-index: 3;
  }

  /* 右上クレヨン（float-motion） */
  .recruit-crayon-right.float-motion {
    position: absolute;
    top: -40px;   /* ← お好みの位置に調整 */
    right: 30px;
    width: 50px; /* ← クレヨンの大きさ微調整 */
    z-index: 3;
  }

    /* 右上クレヨン（static） */
  .recruit-crayon-left.static {
    position: absolute;
    top: 40px;   /* ← SP用の縦位置 */
    left: 300px;    /* ← SP用の横位置 */
    width: 45px; /* ← クレヨンの大きさ微調整 */
    z-index: 3;
  }

}


/* ===============================
   採用の流れ section
=============================== */

#flow {
  padding: 80px 0 100px;
}

.flow-section {
  background-color: #fff;
  padding: 0px 20px;
  box-sizing: border-box;
  z-index: 1;
}

.flow-section .container {
  max-width: 1000px;
  margin: 0 auto;
}

/* 小見出し */
.flow-section .section-subtitle h6 {
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-bottom: 8px; /* FAQと同じ余白 */
  color: #4f4f4f;
  text-align: center; /* 中央揃え */
}

/* 見出しとあしらい */
.flow-section .section-title {
  text-align: center;
  position: relative;
  margin-bottom: 80px;
}

.flow-section .section-title h2 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.2em;
  margin-bottom: 16px;
}

.flow-section .crayon-left,
.flow-section .crayon-right {
  position: absolute;
  top: 0;
  width: 60px;
  height: auto;
}

.flow-section .crayon-left { left: -70px; }
.flow-section .crayon-right { right: -70px; }

/* 流れステップ横並び */
.flow-steps {
  display: flex;
  gap: 0; /* 楕円間はくっつける */
  justify-content: space-between;

  
}

/* 各ステップの楕円 */
.flow-step .ellipse {
  width: 200px;
  height: 300px;
  border-radius: 100px;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  box-sizing: border-box;
}

/* ステップ番号・タイトル・本文 */
.flow-step .step-number {
  font-size: 28px;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  font-weight: bold;
}

.flow-step .step-title {
  font-size: 20px;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
  font-weight: 600; /* タイトルを少し太めに */
}

.flow-step .step-text {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  padding: 0px 12px ;
  text-align: left;
}


/* ステップごとの背景色 */
.flow-step.step01 .ellipse { background-color: #d7eaef; }
.flow-step.step02 .ellipse { background-color: #bbdae2; }
.flow-step.step03 .ellipse { background-color: #a4ccd6; }
.flow-step.step04 .ellipse { background-color: #90bfcb; }
.flow-step.step05 .ellipse { background-color: #74abb9; }

/* 各楕円間の矢印（楕円の上に前面表示） */
.flow-step:not(:last-child) .ellipse::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -35px; /* 楕円より前面に */
  transform: translate(-100%, -50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 20px solid;
  z-index: 2; /* 楕円より手前 */
}

/* 矢印色（楕円より1段階濃い青） */
.flow-step.step01 .ellipse::after { border-left-color: #d7eaef; }
.flow-step.step02 .ellipse::after { border-left-color: #bbdae2; }
.flow-step.step03 .ellipse::after { border-left-color: #a4ccd6; }
.flow-step.step04 .ellipse::after { border-left-color: #90bfcb; }

/* ===============================
   PC：STEP05だけ文字色を白に
=============================== */

.flow-step.step05 .ellipse .step-number,
.flow-step.step05 .ellipse .step-title,
.flow-step.step05 .ellipse .step-text {
  color: #fff;
}

/* 「おめでとうございます」だけ大きく */
.flow-step.step05 .step-text {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
}


/* ==============================
   FLOW：新しいクレヨンあしらい追加
================================= */

/* 追加あしらい基本設定 */
.flow-section .section-title img {
  pointer-events: none;
}

/* 左側追加あしらい（160px） */
.flow-section .crayon-left2,
.flow-section .crayon-left3 {
  position: absolute;
  width: 180px;
  height: auto;
  left: -120px;
}

.flow-section .crayon-left2 { top: 500px; left: -20px;}
.flow-section .crayon-left3 { top: 400px; left: -160px; }

/* 右側追加あしらい（160px） */
.flow-section .crayon-right2,
.flow-section .crayon-right3 {
  position: absolute;
  width: 160px;
  height: auto;
  right: -120px;
 
}

.flow-section .crayon-right2 { top: 160px;right: -180px; }
.flow-section .crayon-right3 { top: 40px; }

/* 見出し下の中央（215×35） */
.flow-section .crayon-center {
  position: absolute;
  width: 215px;
  height: 35px;
  left: 50%;
  transform: translateX(-50%);
  top: 20px; /* h2の高さに合わせて微調整OK */
}

/* ===================================
   FLOW：本文の追加（24px / 44px の余白）
====================================== */

.flow-description {
  text-align: center;
  font-size: 16px;
  margin-top: -44px;   /* h2のmargin-bottom(16px) → 正味24pxになるよう調整 */
  margin-bottom: 64px; /* 楕円までの余白 */
  line-height: 1.6;
  color: #4f4f4f;
}

/* PCでは改行しない */
.sp-only {
  display: none;
}


/* ===============================
   FLOW：スマホ（375px）
=============================== */
@media screen and (max-width: 768px) {

/* SP：FLOW余白を縮める */
  #flow {
  padding: 80px 0 60px;
}

.flow-section {
  width: 100%;
  height: auto;
}
  
  /* 小見出し（FLOW） */
  .flow-section .section-subtitle h6 {
    font-size: 10px;
    margin-bottom: 8px;
    text-align: center;
  }

  /* 見出し（採用の流れ） */
  .flow-section .section-title h2 {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 0px 0;
  }

  /* 見出し下の中央クレヨン（210px） */
  .flow-section .crayon-center {
    width: 170px;
    top: 15px; /* ズレたら後で微調整 */
  }

  .flow-description {
    font-size: 14px;
    line-height: 1.8;
    margin: -48px auto 40px;
    padding: 0 24px;
  }

   .sp-only {
    display: inline;
  }


/* ステップ番号・タイトル・本文 */
.flow-step .step-number {
  font-size: 26px;
  letter-spacing: 0.1em;
  margin-top: 16px;
  
  font-weight: bold;
}

.flow-step .step-title {
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-top: -8px;
  margin-bottom: 8px;
  font-weight: 600; /* タイトルを少し太めに */
}

.flow-step .step-text {
  font-size: 14px;
  letter-spacing: 0em;
  line-height: 1.6;
  padding: 2px 24px ;
  text-align: left;
}




  /* 背景クレヨン（SP用位置修正） */
  
  .flow-section .crayon-right2 {
    width: 90px;
    top: -60px;
    left: 320px;
  }
  .flow-section .crayon-right3 {
    width: 90px;
    top: 90px;
    left: 0px;
  }
  .flow-section .crayon-left2 {
    width: 90px;
    top: 1250px;
    left: 260px;
  }
  .flow-section .crayon-left3 {
    top: 1200px;
    left: 10px;
    width: 100px;
  }


  /* -------------------------------
        FLOWクレヨン
  -------------------------------- */
  .flow-section .crayon-left2,
  .flow-section .crayon-left3,
  .flow-section .crayon-right2,
  .flow-section .crayon-right3 {
    max-width: 100%;
    height: auto;
  }




  /* ステップレイアウト（縦並び） */
  .flow-steps {
    flex-direction: column;
    align-items: center;
    gap: 0px; /* 楕円間 */
  }

  .step-text {
    max-width: 220px;
    margin-top: -5px;
  }

  /* 楕円オブジェクト */
  .flow-step .ellipse {
    width: 280px;
    height: 210px;
    border-radius: 120px;
    padding: 0px 24px;
  }

  /* PCの横矢印をOFF */
  .flow-step .ellipse::after {
    display: none;
  }

  /* SP用：下向き矢印追加 */
  .flow-step .ellipse::before {
    content: "";
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 14px solid #a4ccd6; /* 好みでカラーチェンジOK */
    z-index: 10;
  }

/* STEPごとの矢印色 */
.flow-step.step01 .ellipse::before { border-top-color: #d7eaef; }
.flow-step.step02 .ellipse::before { border-top-color: #bbdae2; }
.flow-step.step03 .ellipse::before { border-top-color: #a4ccd6; }
.flow-step.step04 .ellipse::before { border-top-color: #90bfcb; }
.flow-step.step05 .ellipse::before { border-top-color: #74abb9; }




  /* 最後のステップだけ矢印を消す */
  .flow-step:last-child .ellipse::before {
    display: none;
  }
  /* ステップ05だけ文字色を白に */
.flow-step.step05 .ellipse .step-number,
.flow-step.step05 .ellipse .step-title,
.flow-step.step05 .ellipse .step-text {
  color: #fff;
}

/* STEP05のテキストだけ大きくする */
.flow-step.step05 .step-text {
  font-size: 18px;
  line-height: 1.4;
}
}




/* ===============================
   FAQ section
=============================== */

/* PC：FAQセクション余白 */
#faq {
  padding: 80px 0 100px;
}


.faq-section {
  text-align: center;
  background-color: #fff;
  padding: 100px 0;
  box-sizing: border-box;
  z-index: 1;
}

/* 小見出し */
.faq-section .section-subtitle {
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-bottom: 8px; /* FAQと同じ余白 */
  color: #4f4f4f;
  text-align: center; /* 中央揃え */
}

/* 見出しとあしらい */
.faq-section .section-title {
  text-align: center;
  position: relative;
  margin-bottom: 80px;
}

.faq-section .section-title {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.2em;
  margin-bottom: 16px;
}



/* クレヨン（見出し下） */
.faq-crayon {
  width: 200px;                     /* 好みで調整 */
  display: block;
  margin: -30px auto 64px auto;     /* 見出しとの距離と、下の余白 */
  pointer-events: none;
}

.faq-item {
  background-color: #f7f5f1;
  border-radius: 16px;
  margin: 32px auto;
  width: 100%;
  max-width: 960px;
  text-align: left;
  overflow: hidden;
  box-sizing: border-box;
}

.faq-head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  cursor: pointer;
  font-weight: 700;
  transition: background 0.3s ease;
  background-color: #f7f5f1;
}

.faq-head:hover { background-color: #f2efec; }

.faq-head .accordion-arrow {
  width: 16px;
  height: auto;
  display: inline-block;
  transition: transform 0.5s ease;
  transform-origin: center;
}

/* 回答部分 */
.faq-body {
  padding: 0 24px;
  background-color: rgba(255,255,255,0.95);
  border-radius: 0 0 12px 12px;
  display: block;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.7s ease, opacity 0.7s ease, padding 0.7s ease;
  box-sizing: border-box;
  width: 100%;
}

/* 開いた時 */
.faq-item.open .faq-body {
  max-height: 1000px;
  opacity: 1;
  padding: 24px; /* 開いたときに上下余白を復活 */
}

.faq-item.open .accordion-arrow {
  transform: rotate(-90deg);
}

/* 内部要素リセット */
.faq-body * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.faq-body dl {
  width: 100%;
}

.faq-body .info-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}

.faq-body .info-row dt {
  width: 30%;
  font-weight: bold;
  color: #4f4f4f;
}

.faq-body .info-row dd {
  width: 65%;
  color: #4f4f4f;
}
@media screen and (max-width: 768px) {

 /* SP：FAQ余白を縮める */
  #faq {
    padding: 40px 0 60px;
  }

  /* セクションの左右24px */
  .faq-section .inner {
    padding: 0 24px;
  }


  /* 小見出し */
  .faq-section .section-subtitle {
    font-size: 10px;
    margin-bottom: 8px;
    text-align: center;
  }

  /* 見出し */
  .faq-section .section-title  {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 24px 0;
  }

  /* 見出し下の中央クレヨン（210px） */
  .flow-section .crayon-center {
    width: 170px;
    top: 15px; /* ズレたら後で微調整 */
  }

  /* FAQアイテムの幅：左右24pxに合わせて 100% → 自動調整 */
  .faq-item {
    width: 100%;
    margin: 24px 0;
  }

  /* Q部分：スマホでも問題ない */
  .faq-head {
    padding: 20px; /* ちょいコンパクト */
  }

  /* A部分：閉じたときに完全に隠す */
  .faq-body {
    padding: 0 20px 0 20px; /* ← 初期状態は上下0にする */
    max-height: 0;
    opacity: 0;
    overflow: hidden;
  }

  /* 開いた時（`.open` が付く） */
  .faq-item.open .faq-body {
    padding: 20px;         /* ← 開いた時だけ余白復活 */
    max-height: 600px;     /* ← SPでは600pxくらいでOK */
    opacity: 1;
  }

  /* dt/dd を縦積みに */
  .faq-body .info-row {
    flex-direction: column;
  }

  .faq-body .info-row dt,
  .faq-body .info-row dd {
    width: 100%;
  }

  /* FAQあしらい（クレヨン）調整 */
  .faq-crayon {
    width: 150px;
    margin: -40px auto 32px auto;
  }
}



/* ===============================
   Footer（背景画像＋上部カーブ）
=============================== */
.footer {
  
  position: relative; /* 擬似要素や内部要素の基準 */
  text-align: center; /* 中央揃え */
  padding: 125px 0 80px; /* 上125px 下80px */
  overflow: hidden; /* はみ出し防止 */
  background: url('../images/footer_photoi.jpg') center/cover no-repeat; /* 背景画像はフッター本体に */
  background-color: #ffffff; /* ← これ大事！背景透け防止 */
  margin-bottom: 0; /* 下の青防止 */
  padding-bottom: 80px;
  z-index: 1; /* 擬似要素より下に */
}

/* -------------------------------
   上部だけ緩やかカーブ（白）
------------------------------- */
.footer::before {

  content: "";
  position: absolute;
  top: -100px;       /* 上にずらす */
  left: 0;
  width: 100%;
  height: 160px;    /* 高さを広くして緩やかに */
  background: #ffffff; /* 上セクション背景色 */
  border-bottom-left-radius: 100% 200px;  /* 左下カーブ緩やか */
  border-bottom-right-radius: 100% 200px; /* 右下カーブ緩やか */
  z-index: 2;       /* フッター背景より上に表示 */
}

/* -------------------------------
   フッターテキスト
------------------------------- */
.footer-text-pc {
  position: relative;
  z-index: 3; /* 擬似要素の上に表示 */
  font-size: 20px;
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 2.0;
  color: #4f4f4f;
  margin-bottom: 80px;
}

/* PCではSP用を消す */
.footer-text-sp {
  display: none;
}

  .footer-text-pc {
    display: block;
  }
  

/* -------------------------------
   ロゴ画像
------------------------------- */
.footer-logo {
  position: relative;
  z-index: 3;
  text-align: center;
  margin-bottom: 54px;
}

.footer-logo img {
  display: block;
  width: 160px;
  max-width: 100%;
  margin: 0 auto;
}

/* -------------------------------
   SNSアイコン
------------------------------- */
.footer-sns {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 42px;
}

.footer-sns img {
  width: 32px;
  height: 32px;
  transition: all 0.3s ease;
}

.footer-sns img:hover {
  opacity: 0.7;
}

/* -------------------------------
   フッターナビ
------------------------------- */
.footer-nav {
  position: relative;
  z-index: 3;
}

.footer-nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 42px;
  padding: 0;
}

.footer-nav a {
  text-decoration: none;
  color: #4f4f4f;
  font-size: 16px;
  transition: opacity 0.3s ease;
}

.footer-nav a:hover {
  opacity: 0.7;
}

/* -------------------------------
   コピーライト
------------------------------- */
.footer-copy {
  position: relative;
  z-index: 3;
  font-size: 14px;
  color: #4f4f4f;
}

/* -------------------------------
   CTAボタン（フッター内）
------------------------------- */
.footer-btns {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 40px 0 60px;
}

.btn-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 60px;
  border-radius: 40px;
  font-size: 30px;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-decoration: none;
  color: #4f4f4f;
  transition: all 0.3s ease;
}

.btn-footer.new {
  background-color: #a9d8d3; /* 新卒採用：淡いターコイズ */
}

.btn-footer.career {
  background-color: #f3da7a; /* 中途採用：淡い黄色 */
}

.btn-footer:hover {
  opacity: 0.85;
  transform: translateY(-3px);
}

@media screen and (max-width: 768px) {

  /* -------------------------------
        フッター全体
  -------------------------------- */
  .footer {
    padding: 100px 0 140px; /* 下部140px（ナビ下の余白含む） */
  }

  /* 上部カーブ */
  .footer::before {
  content: "";
  position: absolute;
  top: -60px;       /* 上にずらす */
  left: 0;
  width: 100%;
  height: 110px;    /* 高さを広くして緩やかに */
  background: #ffffff; /* 上セクション背景色 */
  border-bottom-left-radius: 100% 120px;  /* 左下カーブ緩やか */
  border-bottom-right-radius: 100% 120px; /* 右下カーブ緩やか */
  z-index: 2;       /* フッター背景より上に表示 */
}


  /* -------------------------------
        テキスト （240px内）
  -------------------------------- */
  .footer-text-sp {
    max-width: 240px;
    margin: 68px auto 72px auto;  
    font-size: 16px;
    line-height: 35px;
    font-weight: 600;
    color: #5f5f5f;
  }

  .footer-text-pc {
    display: none;
  }
  .footer-text-sp {
    display: block;
  }

  /* -------------------------------
        CTAボタンは非表示
  -------------------------------- */
  .footer-btns {
    display: none;
  }

  /* -------------------------------
        ロゴ
  -------------------------------- */
  .footer-logo img {
    width: 175px;
    margin-bottom: 32px; /* テキスト → ロゴの余白72pxは上で設定済 */
  }

  /* -------------------------------
        SNSアイコン
  -------------------------------- */
  .footer-sns {
    gap: 24px;
    margin-bottom: 32px; /* ロゴ → SNSアイコン間 32px */
  }

  .footer-sns img {
    width: 32px;
    height: 32px;
  }

  /* -------------------------------
        フッターナビ（縦積み）
  -------------------------------- */
  .footer-nav ul {
    flex-direction: column;
    gap: 8px;
    margin-top: 0;
  }

  .footer-nav a {
    font-size: 13px;
    color: #323232;
    text-align: center;
  }

  /* 下部まで140px余白を確保 */
  .footer-copy {
    margin-top: 40px;
    margin-bottom: 0;
  }
}


/* ===============================
   共通セクションCTA設定
=============================== */

.link-more {
    font-size: 12px !important;
    position: relative;
  }

   /* ←ここを追記 */
  .link-more::after {
    margin-bottom: -33px; /* 今ついてる -39px より小さくして上に上げる */
  }


/* ===============================
   共通アニメーション設定
=============================== */

.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.8s ease, transform 1.8s ease;
}

.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

 html, body {
    overflow-x: hidden;
  }








/*ここからメディアクエリで各デバイスサイズに書き分けます。
今回の課題で考慮するのはPCとスマホのみでOKですが、タブレットサイズでのスタイルを書いてもOK！
また、CSSは上から下に継承されるので、変化させたいところだけ書けばOKです*/


/** -----------------------------------------------
  Smartphone :  画面の横幅が640pxまで
------------------------------------------------**/
