@charset "UTF-8";
#jobList br { display: block; }

.job-section{
    margin: 100px auto 0;
}

.job-section-title{
    position: relative;
    display: inline-block;
    padding: 10px 32px;
    background-color: var(--primary-red);
    color: #fff;
    font-size: clamp(2rem, calc(30 / 1100 * 100vw), 3rem);
    font-weight: bold;
    letter-spacing: 0.12em;
    font-family: "senobi-gothic", 'Noto Sans JP', sans-serif;
    margin-bottom: 32px;
    margin-left: 8%;
    letter-spacing: 0.3em;
}

/* =========================
   募集要項 全体
========================= */
.job-item{
  width: 70%;
  background-color: rgb(var(--primary-yellow-rgb) / 60%);
  border-radius: 15px;
  margin: 50px auto 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.6);
  overflow: hidden; /* 開閉時のはみ出し防止 */
}


/* =========================
   見出し（クリック部分）
========================= */
.job-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 30px 50px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}

.job-title{
  font-family: 'BananaSlip', 'Noto Sans JP', sans-serif;
  color: var(--primary-red);
  font-size: clamp(2rem, calc(30 / 1100 * 100vw), 3rem);
  margin: 0;
}


/* =========================
   右側の丸い三角ボタン
========================= */
.job-icon{
  width: 50px;
  height: 50px;
  background: #fff;
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}

/* 線だけの三角（∨） */
.job-icon::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: translate(-50%, -60%) rotate(45deg);
  transition: transform 0.25s ease;
}

/* 開いたら上向き（∧） */
.job-header[aria-expanded="true"] .job-icon::before{
  transform: translate(-50%, -40%) rotate(-135deg);
}


/* =========================
   開閉される中身
========================= */
.job-body{
  padding: 0 50px 30px;
}

.job-summary{
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
  text-decoration: underline;
  text-decoration-color:var(--primary-red);
}


.job-summary,
.job-duty-list,
.job-subtitle,
.job-duty-note{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.2rem, calc(16 / 1100 * 100vw), 1.6rem);
}

.job-subtitle,
.job-duty-note{
  padding-top:20px;
}

.job-status-note{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.2rem, calc(16 / 1100 * 100vw), 1.6rem);
  font-weight: 500;
  color: #555;
}



/* =========================
   募集要項：hoverで沈む挙動を無効化
   （common.cssの button:hover 対策）
========================= */
.job-section .job-header:hover{
  transform: none;
  box-shadow: none;
  opacity: 1;
}

.br-sp{
  display: none;
}

  /* スマホ */
  @media (max-width: 767px) {
    .job-section-title{
      margin-bottom: 10px;
  }
    .job-body{
      padding: 10px 20px 30px;
    }

    .job-header{
      padding: 10px 20px;
    }

    .job-item{
      width: 80%;
      margin: 30px auto 0;
    }
    

    .job-icon{
      width: 30px;
      height: 30px;
    }
    
    /* 線だけの三角（∨） */
    .job-icon::before{
      width: 10px;
      height: 10px;
    }

    .br-sp{
      display: block;
    }

    .job-subtitle,
    .job-task-note{
      padding-top:10px;
}
  }

/* ==============================
    絞り込み検索
    ============================== */
    .filter-section{
        width: 70%;
        margin: 150px auto 0;
        background-color: #fff;
        padding-bottom: 5px;
        border-radius: 15px;
    }

    .filter-instruction{
      font-family: 'Noto Sans JP', sans-serif;
      font-size: clamp(1.4rem, calc(16 / 1100 * 100vw), 1.6rem);
      padding-left: 7%;
      margin-bottom: 20px;
    }
    .list_wonted_filter{
        background-color: #fff;
        border-radius: 20px;
    }
    .filter-title{
        background-color: var(--primary-red);
        font-family: 'BananaSlip', 'Noto Sans JP', sans-serif;
        color: #fff;
        font-size: clamp(2rem, calc(30 / 1100 * 100vw), 3rem);
        padding:15px 0 15px 8%;
        border-radius: 15px;
        letter-spacing: 0.1em;
        box-shadow: 0 3px 6px rgba(0,0,0,.25);
        margin-bottom: 30px;

    }
    .filter-label{
        font-family: 'Noto Sans JP', sans-serif;
        font-size: clamp(1.4rem, calc(18 / 1100 * 100vw), 1.8rem);
        font-weight: 400;
    }

    .option-placeholder{
        font-family: 'Noto Sans JP', sans-serif;
        font-size: clamp(1.4rem, calc(18 / 1100 * 100vw), 1.8rem);
        font-weight: 400;
        margin: 10px 0 0 10%;
    }


    .filter-checkbox{
        font-family: 'Noto Sans JP', sans-serif;
        font-size: clamp(1.4rem, calc(18 / 1100 * 100vw), 1.8rem);
    }

  /* 検索ボタン */
.filter-search-btn{
  display: block;
  margin: 24px auto 32px;

  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.6rem, calc(18 / 1100 * 100vw), 1.8rem);
  color: var(--primary-red);
  background-color: rgb(var(--primary-yellow-rgb) / 60%);

  padding: 10px 120px;
  border-radius: 15px;
  border: 1.5px solid #333;
  cursor: pointer;
}


    /* =========================================
   絞り込みフォーム見た目調整
   ========================================= */

/* 行レイアウト */
.filter-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 25px 10% 0;
}

/* ラベル側を少し幅固定にして揃える */
.filter-label {
  width: 7em;
}

/* wrap が矢印の土台 */
.filter-select-wrap{
  position: relative;
  flex: 1;               /* 既存の .filter-row の並び維持 */
}

/* select本体（今の見た目を維持しつつ矢印分の余白だけ追加） */
.filter-select{
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  color: #fff;
  font-size: clamp(1.4rem, calc(16 / 1100 * 100vw), 1.6rem);
  padding: 10px 44px 10px 12px;  /* ←右に矢印ぶん余白 */
  border-radius: 8px;
  background-color: var(--primary-red);

  border: none;
  outline: none;
  cursor: pointer;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* 線だけのV（あなたの arrow-1-b 方式） */
.filter-select-wrap::after{
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;

  width: 10px;
  height: 10px;

  border-top: 2px solid #fff;
  border-left: 2px solid #fff;

  transform: translateY(-50%) rotate(-135deg);
  pointer-events: none; /* クリック邪魔しない */
}





/* チェックボックスの並び */
.filter-checkbox-group {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

/* ラベルの文字 */
.filter-checkbox {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.4rem, calc(16 / 1100 * 100vw), 1.6rem);
  display: inline-flex;
  align-items: center;
  padding-right: 15px;
}

/* ▼ ここが一番大事：非表示にされているチェックボックスを復活させる */
.filter-section input[type="checkbox"] {
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  vertical-align: middle;
  /* ブラウザ対応していればチェック色 */
  accent-color: var(--primary-red);
}

/* =========================================
   絞り込みフォーム：チェックボックス表示用
   ========================================= */

/* 採用形態・経験の有無 */
.filter-checkbox input[type="checkbox"] {
    -webkit-appearance: auto;  /* destyle の none を打ち消す */
    appearance: auto;
  
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    vertical-align: middle;
  
    accent-color: var(--primary-red); /* 対応ブラウザならチェック色が赤になる */
  }
  
  /* 市区町村（都道府県で出し分けしているやつ） */
  #cityWrapper input[type="checkbox"] {
    -webkit-appearance: auto;
    appearance: auto;
  
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    vertical-align: middle;
  
    accent-color: var(--primary-red);
  }

  /* 求人カード全体 */
.job-card {
    background-color:rgb(var(--primary-yellow-rgb) / 50%);
    ;
    padding: 24px 28px;
    margin: 24px auto 0;
    width: 100%;
  }
  
  
  /* 都道府県・市区町村 */
  .job-card__location {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(1.2rem, calc(14 / 1100 * 100vw), 1.4rem);
    margin-bottom: 16px;
    color: #555;
  }
  
  .job-card__pref::after {
    content: "・";
    margin: 0 4px;
  }
  
  /* メタ情報（採用形態・給与など） */
  .job-card__meta {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
  }
  
  .job-card__meta-item {
    display: flex;
    gap: 8px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(1.2rem, calc(14 / 1100 * 100vw), 1.4rem);
    margin-bottom: 4px;
  }
  
  .job-card__label {
    min-width: 90px;
    color: #666;
  }
  
  
  /* 応募ボタン */
  .job-card__btn {
    display: inline-block;
    margin-top: 8px;
    padding: 10px 32px;
    border-radius: 999px;
    background-color: var(--primary-red);
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(1.4rem, calc(16 / 1100 * 100vw), 1.6rem);
    text-decoration: none;
    transition: transform .1s ease, box-shadow .1s ease;
  }
  
  .job-card__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 6px rgba(0,0,0,.25);
  }
  
  /* スマホ */
  @media (max-width: 767px) {
    .filter-section{
      width: 80%;
      margin: 100px auto 0;
    }
      
        .job-card {
          padding: 18px 16px;
        }
        .filter-row {
          flex-direction: column;
          align-items: stretch; /* 横幅いっぱい使う */
          gap: 8px;
        }
      
        /* ラベルの幅固定を解除 */
        .filter-label {
          width: auto;
        }
      
        /* select を100%に */
        .filter-select-wrap {
          width: 100%;
        }
        /* 検索ボタンを中央に */
    .filter-search-btn {
      margin: 24px auto 32px;
      width: 60%;
    }
    
     /* 検索ボタン */
     .filter-search-btn{
      display: block;
      margin: 30px auto 25px;
      padding: 10px 20px;
      text-align: center;
    }
  }

  /* ==============================
   検索結果の求人カード
   ============================== */

#jobList {
    width: 70%;
    margin: 40px auto 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  
  .job-empty-message {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(1.4rem, calc(16 / 1100 * 100vw), 1.6rem);
    font-weight: 600;
    text-align: center;
    margin-top: 24px;
  }
  
  /* タイトル */
  .job-card__title {
    font-family:  'Noto Sans JP', sans-serif;
    font-size: clamp(1.8rem, calc(25 / 1100 * 100vw), 2.5rem);
    color: var(--primary-red);
    line-height: 1.5;
    margin-bottom: 12px;
  }
  .job-card {
    padding: 20px 15px;
  }
  
  /* 都道府県・市区町村 */
  .job-card__location {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(1.4rem, calc(16 / 1100 * 100vw), 1.6rem);
    color:#333;
  }
  
  .job-card__pref::after {
    content: "・";
    margin: 0 4px;
  }
  
  /* 詳細情報リスト */
  .job-card__list {
    margin: 0 0 12px;
  }
  
  .job-card__row {
    display: flex;
    gap: 15px;
    align-items: baseline;
    margin-bottom: 4px;
    padding-top: 20px;
  }
  
  .job-card__label {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(1.4rem, calc(16 / 1100 * 100vw), 1.6rem);
    color: #666;
    min-width: 130px;
    font-weight: 600;
  }
  
  .job-card__value {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(1.2rem, calc(16 / 1100 * 100vw), 1.6rem);
  }
  
  /* ボタンまわり */
  .job-card__actions {
    margin-top: 12px;
    text-align: right;
  }
  
  .job-card__btn {
    display: inline-block;
    padding: 8px 28px;
    border-radius: 999px;
    background-color: var(--primary-red);
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    text-decoration: none;
    transition: transform .1s ease, box-shadow .1s ease, opacity .1s ease;
  }
  
  .job-card__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 6px rgba(0,0,0,0.25);
    opacity: 0.95;
  }

  .job-card__value {
    display: block;
    white-space: pre-wrap;
    line-height: 1.7;
  }
  
  
   /* =========================
   スマホ：求人カードの項目を縦並びに
========================= */
@media (max-width: 768px) {
  #jobList {
    width: 80%;
  }
  .job-card__row {
    flex-direction: column;
    gap: 6px;          /* 見出しと内容の間 */
    padding-top: 16px;
  }

  .job-card__label {
    min-width: auto;  /* 横並び用の幅指定を解除 */
    font-weight: 600;
  }
  .job-card__btn {
    display: block;
    width: fit-content;
    text-align: center;
    margin: 0 auto;
    margin-top: 10px;
  }
}
  
   /* =========================
   常勤スタッフ・特販スタッフ経験者のみについて
========================= */
.job-general-note{
  margin: 50px auto 0;
  padding: 16px 20px;
  background-color: var(--primary-red);
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.2rem, calc(16 / 1100 * 100vw), 1.6rem);
  line-height: 1.7;
  width: 50%;
  border-radius: 15px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.6);
}

.job-general-note__title{
  font-size: clamp(1.4rem, calc(17 / 1100 * 100vw), 1.7rem);
  text-align: center;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}

/* 本文だけ：左揃え＋中央寄せ（ブロック） */
.job-general-note p{
  color:#fff;
  margin: 0;
  font-weight: 700;
}

/* 2つ目のp（本文）だけ狙う */
.job-general-note p:not(.job-general-note__title){
  max-width: 520px;     /* 好みで 480〜560 */
  margin: 0 auto;       /* ブロックを中央へ */
  text-align: left;     /* 文字は左揃え */
  font-weight: 400;
}

.job-general-note a{ 
  text-align: center;
  font-weight: 500;
  color:#06C755;
  text-decoration:underline; 
}

/* ============768px以下=============== */
@media (max-width: 768px) {
  .job-general-note{
    width: 80%;
  }
}
/* ==============================
    LINE
    ============================== */

    .Line {
        width: calc(100vw - 100px);
        margin: 50px auto;
        text-align: center;
    }
    
    .line-content {
        display: flex; /* 横並びにする */
        align-items: center; /* 高さを中央揃え */
        justify-content:center; 
        padding-top: 80px;
    }
    
    .line-left {
        display: flex; /* アイコンとQRコードを横並びに */
        align-items: center;
        flex-direction: column;
        gap: 2%;
        padding-left: 3%;
    }

    .icon-group {
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
    }

    .line-icon{
        width: 100%;
        height: 15vw;
    }
    
    .qr-code {
        width: 100%; /* アイコンとQRコードのサイズ調整 */
        height: 13vw;
    }
    
    .line-right {
        flex: 1; /* 右側のコンテンツが残りのスペースを占める */
        display: flex; /* flexboxを使って中央揃え */
        flex-direction: column; /* テキストを縦に並べる */
        justify-content: center; /* 縦方向で中央揃え */
        align-items: center; /* 横方向で中央揃え */
        text-align: left; /* テキストを左揃え */
    }
    
    .line-title {
        font-family: 'BananaSlip', 'Noto Sans JP', sans-serif;
        font-size: clamp(2.5rem, calc(35 / 1100 * 100vw), 4.5rem);
        color: var(--primary-red); /* 見出しの色 */
        margin-bottom: 20px; /* 見出しとテキストの間隔 */
        text-align: left; /* テキストを左揃え */
        letter-spacing: 0.04em;
    }
    
    .line-description {
        font-family: "Noto Sans JP", sans-serif;
        font-size: clamp(1.4rem, calc(16 / 1100 * 100vw), 1.6rem);
        color:black; 
        text-align: center;
    }

    .line-caption {
        font-family:"Noto Sans JP",  sans-serif;
        text-align: center;
        font-size: 2rem;
        color:#6AC26A;
        margin-bottom: 5px;
        font-weight: bold;
        position: relative;
        display: inline-block;
      }
      
      .slash {
        color: #333; 
      }

/* ============768px以下=============== */
@media (max-width: 768px) {
    .Line {
        width: 100%;
        margin-top: 100px;
        }
    
        .line-content {
            display: block; /* 横並びにする */ 
        }
    
        .line-title {
            font-size: clamp(2rem, calc(25 / 1100 * 100vw), 3.5rem);
            width: 85%;
            align-items: center;
            text-align: center;
        }
        
    .line-description{
        text-align: left;
    }

    .line-icon{
        width: 120px;
        height: 120px;
    }

    .line-left {
        gap: 10%;
    }
    
    .qr-code {
        width: 90px; 
        height: 90px;
    }

    .line-left {
        justify-content: center;
        padding-left: 0;
    }

    .line-caption {
        font-size: 1.4rem;
      }
}
/* ==========================
footer
========================== */
.footer{
    margin-top: 100px;
}