@charset "UTF-8";
/*//////////SPサイズ///////////*/
@media screen and (max-width:480px) {
  /* CSS Document */
  /** ============================== 
 *  ファーストビュー
 * ============================== **/
  .first-view {
    position: relative;
    width: 100%;
    height: 70vh;
    overflow: hidden;
    background-color: #F6F6F6;
  }
  .fv-bg-shape {
    position: absolute;
    inset: 0;
    background-color: #e6e6e6;
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 calc(100% - 10vw));
    z-index: 1;
  }
  .fv-slide-container {
    position: absolute;
    inset: 0;
    clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 10vw), 0% 100%);
    z-index: 2;
  }
  /** ============================== 
 * ファーストビュー：スライド暗めオーバーレイ 
 * ============================== **/
  .fv-slide-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.2); /* ← 明るさ調整（0.3 = 少し暗く） */
    z-index: 3;
    clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 10vw), 0% 100%);
    pointer-events: none; /* ← 操作に干渉しないようにする */
  }
  .fv-slide-container img.slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1s ease-in-out;
  }
  .fv-slide-container img.slide.show {
    opacity: 1;
    z-index: 3;
  }
  .fv-logo {
    position: absolute;
    top: 2vw;
    left: 2vw;
    width: 80vw;
    z-index: 4;
  }
  .fv-title-area {
    position: absolute;
    top: 40vw; /* 上から適度な位置 */
    left: 50%; /* 中央に配置 */
    transform: translateX(-50%);
    writing-mode: vertical-rl; /* ← 縦書き右→左 */
    text-align: left;
    z-index: 4;
    color: #fff;
  }
  .fv-title {
    font-size: 3.5rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0em;
    margin-bottom: 2vw;
  }
  .fv-subtitle {
    font-size: 1.43rem;
    padding-top: 0.5rem;
    letter-spacing: 0.2em;
  }
  /** ============================== 
 *  トップメッセージ
 * ============================== **/
  .top-message {
    background: linear-gradient(to bottom, #f6f6f6 0%, #ffffff 100%);
    padding: 10vw 0;
  }
  .top-message-container {
    width: 85vw;
    max-width: 960px;
    margin: 0 auto;
  }
  .top-message-container h2 {
    padding: 0 0 8vw 0;
  }
  .top-message-container h3 {
    text-align: center;
    line-height: 2;
    font-weight: 100;
    padding: 0 0 2vw 0;
    letter-spacing: 0.3rem
  }
  .center-text {
    line-height: 2;
    text-align: center;
    font-weight: 300;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
  }
  /* 本文内の画像（回り込み） */
  .float-image {
    width: 60vw;
    margin: auto;
    margin-bottom: 2vw;
  }
  .message-block {
    line-height: 2.1;
    font-weight: 300;
    text-align: justify
  }
  .author-text span {
    font-weight: 300;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
    display: block;
  }
  /* 社長名：右下 */
  .author-text {
    text-align: right;
    margin-top: 8vw;
  }
  /** ============================== 
 *  ワークススライド
 * ============================== **/
  .works-slide {
    background-color: #93d2d3;
    clip-path: polygon(0 0, 100% 10vw, 100% 100%, 0% 100%);
    overflow: hidden;
    padding: 10vw 0 0 0;
  }
  .works-slide-clip {
    clip-path: polygon(0 3vw, 100% 0, 100% calc(100% - 3vw), 0% 100%);
    height: 40vh;
    overflow: hidden;
    position: relative;
    background-color: #333;
  }
  .works-slide-track {
    display: flex;
    width: max-content;
    animation: slideLoop 60s linear infinite;
    height: 100%;
  }
  .works-slide-track img {
    height: 100%;
    width: auto;
    display: block;
  } /**/
  @keyframes slideLoop {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-50%);
    }
  }
  /** ============================== 
 *  職種紹介：営業部（専用）
 * ============================== **/
  .job-header {
    text-align: center;
    font-weight: 300;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
    line-height: 2;
    color: #fff;
  }
  .job_color1 {
    color: #71badc;
  }
  .job_color2 {
    color: #64a59a;
  }
  .job_color3 {
    color: #d8b397;
  }
  .job_color1_back {
    background-color: #71badc;
  }
  .job_color2_back {
    background-color: #64a59a;
  }
  .job_color3_back {
    background-color: #d8b397;
  }
  .job-section {
    background-color: #93d2d3;
    padding: 10vw 0 5vw 0;
  }
  .job-section h2 {
    padding: 0 0 4vw 0;
    text-align: center;
  }
  .job-section h3 {
    padding: 0 0 4vw 0;
    text-align: center;
    font-weight: 300;
  }
  .job-box {
    background-color: #fff;
    width: 95vw;
    max-width: 1024px;
    margin: 0 auto 8vw auto;
    padding: 8vw;
    box-shadow: 0 0 2vw rgba(0, 0, 0, 0.1);
  }
  .job-desc-title {
    text-align: center;
    padding: 0 0 1vw 0;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Sans JP', sans-serif;*/
  }
  .job-description {
    line-height: 2;
    font-weight: 300;
    text-align: justify;
  }
  /* 1文字目だけ強調表示（text-transform: capitalize方式） */
  .dropcap-style::first-letter {
    font-size: 230%;
    line-height: 1;
    color: #005cac;
    font-weight: bold;
    float: left;
    margin: 0.4em 0.4em 0 0;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
  }
  .job-center {
    width: 100%;
    text-align: center;
  }
  /* ▶アイコン（◀のまま回転） */
  .accordion-icon {
    font-size: 2rem;
    display: inline-block;
    transition: transform 0.3s ease;
    transform: rotate(0deg); /* ◀そのまま */
  }
  /* 開いたとき：下向きに見せる */
  .accordion-toggle-job.open .accordion-icon {
    transform: rotate(-90deg); /* ◀→▼風に */
  }
  /* 展開エリア */
  .accordion-inner-job {}
  /* 先輩の声：全体グリッド構造 */
  .voice-grid {
    width: 80vw;
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    margin: auto;
    gap: 5vw;
    padding: 8vw 0;
  }
  .voice-image {
    overflow: hidden;
    height: 40vh;
    display: inline-block;
    background-color: #E3E3E3;
    background-image: -webkit-linear-gradient(307deg, rgba(245, 245, 245, 1.00) 0%, rgba(236, 254, 255, 1.00) 29.83%, rgba(185, 209, 218, 1.00) 100%);
    background-image: -moz-linear-gradient(307deg, rgba(245, 245, 245, 1.00) 0%, rgba(236, 254, 255, 1.00) 29.83%, rgba(185, 209, 218, 1.00) 100%);
    background-image: -o-linear-gradient(307deg, rgba(245, 245, 245, 1.00) 0%, rgba(236, 254, 255, 1.00) 29.83%, rgba(185, 209, 218, 1.00) 100%);
    background-image: linear-gradient(143deg, rgba(245, 245, 245, 1.00) 0%, rgba(236, 254, 255, 1.00) 29.83%, rgba(185, 209, 218, 1.00) 100%);
  }
  /* 左：画像 */
  .voice-image img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* 右：テキスト全体 */
  .voice-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  /* 入社情報 + 名前 */
  .voice-meta {
    text-align: center;
    gap: 2rem;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
    font-weight: 400;
    padding: 0 0.2vw 3vw 0.2vw;
  }
  .voice-meta span {}
  .voice-join {
    display: block;
    padding: 0.2rem 0 0 0;
  }
  .voice-name {
    display: block;
  }
  /* アンダーライン */
  .voice-line {
    border: none;
    border-bottom: 1px solid #999;
    margin: 0 0 0.5vw 0;
  }
  /* 部署 + 採用状態 */
  .voice-tags {
    display: flex;
    gap: 2rem;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Sans JP', sans-serif;*/
    font-weight: 400;
    margin-bottom: 2vw;
    justify-content: center; /* ← 横中央揃え */
    align-items: center;
  }
  /* メッセージ本文 */
  .voice-message {
    font-weight: 300;
    line-height: 2;
    text-align: justify;
  }
  /* ============================== */
  /* アコーディオン：hoverアクション */
  /* ============================== */
  /* アコーディオンバー（専用） */
  .accordion-toggle-job {
    color: #fff;
    width: 100%;
    padding: 3vw 2vw 3vw 2vw;
    margin-top: 10vw;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
    font-weight: 400;
    transition: transform 0.2s ease, background-color 0.3s ease;
    position: relative;
    overflow: hidden;
  }
  .accordion-toggle-job::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.1);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
    pointer-events: none;
  }
  .accordion-toggle-job:hover::after {
    transform: scaleX(1);
  }
  .accordion-toggle-job:hover {
    transform: scale(1.02) rotate(0.2deg);
  }
  /** ============================== 
 * アコーディオン：開閉アニメーション 
 * ============================== **/
  /* 展開エリア */
  .accordion-inner-job {}
  /* アニメーション付き */
  .accordion-inner-job {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
  }
  /** ============================== 
 * エントリーボタン（常設セクション内）
 * ============================== **/
  .entry-container {
    display: grid;
    text-align: center;
    gap: 3vw;
    padding: 8vw 0;
  }
  .entry-button {
    margin: auto;
    display: flex;
    justify-content: center; /* ← 横中央揃え */
    align-items: center;
    width: 90vw;
    aspect-ratio: 3 / 1;
    color: #fff;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
    padding: 0;
    border-radius: 1vw;
  }
  .entry-button p {
    line-height: 1.6;
  }
  .entry-newgrad {
    background-color: #80BF6C;
  }
  .entry-career {
    background-color: #548798;
  }
  .entry-button:hover {
    transform: scale(1.05);
    opacity: 0.9;
    text-decoration: none;
  }
  /** ============================== 
 * 追従エントリーボタン（固定表示）
 * ============================== **/
  .floating-entry-buttons {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: auto; /* ← 高さ調整 */
    display: flex;
    flex-direction: row; /* ← 横並びに変更 */
    justify-content: center;
    align-items: center;
    gap: 1vw;
    z-index: 999;
    background-color: transparent;
    transition: transform 0.5s ease, opacity 0.5s ease;
    padding: 0;
    margin: 0;
  }
  .floating-entry-buttons.hide {
    transform: translateY(100%) scale(0.8); /* ← 下へ移動しつつ縮小維持 */
    opacity: 0;
    pointer-events: none;
  }
  /* 追従ボタン内の角丸下部を除去 */
  .floating-entry-buttons .entry-button {
    border-top-left-radius: 1vw;
    border-top-right-radius: 1vw;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    font-size: 1.6rem;
  }
  /** ============================== 
 *  フッター（コピーライト）
 * ============================== **/
  .footer-section {
    background-color: #514540;
    height: 5rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
  }
  /** ============================== 
 * 募集要項：ページ背景
 * ============================== **/
  .job-page {
    background-color: #f3efe4;
  }
  /** ============================== 
 * 募集要項：ファーストビュー
 * ============================== **/
  .job-fv {
    position: relative;
    width: 100%;
    height: 26vh;
    overflow: hidden;
  }
  .job-fv-bg-back {
    position: absolute;
    inset: 0;
    height: 26vh; /* 指定通り固定高さに */
    clip-path: polygon(100% 0, 100% 100%, 50% 90%, 0 70%, 0 0);
    z-index: 1;
  }
  .newgrad_clor1 {
    background-color: #9acc82;
  }
  .career_clor1 {
    background-color: #73a5bc;
  }
  .newgrad_clor2 {
    background-color: #cbe4bd;
  }
  .career_clor2 {
    background-color: #cfe2eb;
  }
  .job-fv-bg-front {
    position: absolute;
    inset: 0;
    height: 26vh; /* 指定通り固定高さに */
    clip-path: polygon(100% 0, 100% 70%, 50% 90%, 0 70%, 0 0);
    z-index: 2;
  }
  /* タイトル全体 */
  .job-fv-title {
    position: absolute;
    top: 20vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    color: #fff;
    text-align: center;
    letter-spacing: 0.2rem
  }
  /* サブタイトル */
  .job-fv-sub {
    font-size: 1.6rem;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
    font-weight: 300;
    margin-bottom: 0.5vw;
  }
  /* メインタイトル */
  .job-fv-main {
    font-size: 3rem;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
    font-weight: 700;
  }
  /** ============================== 
 * 募集要項：セクション全体
 * ============================== **/
  .job-requirements {
    width: 100vw;
    margin: 0 auto;
    padding-bottom: 10vw;
  }
  /** タイトル中央（font-30想定） **/
  .job-requirements-title {
    text-align: center;
    padding: 3vw 0 4vw 0;
  }
  .job-requirements-heading {
    font-size: 3rem;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
    font-weight: 500;
  }
  /** ============================== 
 * 募集要項：項目ブロック
 * ============================== **/
  .job-requirements-block {}
  /* 見出しラベル部分（背景＋白字＋下線） */
  .job-requirements-label {
    background-color: #b3b3ae;
    color: #ffffff;
    font-weight: bold;
    line-height: 4rem;
    padding: 0 0 0 5vw;
    border-bottom: 1px solid rgba(56, 56, 56, 0.80);
  }
  /* 内容部分 */
  .job-requirements-body {
    padding: 6vw 0 6vw 6vw;
    font-weight: 400;
    gap: 1.5rem 2rem; /* 縦:1.5rem 横:2rem */
  }
  /* ●マーク（色分け可能） */
  .job-dot {
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    margin-right: 0.5rem;
    vertical-align: middle;
  }
  /* 色指定：93d2d3 */
  .dot-cyan {
    background-color: #93d2d3;
  }
  /** ============================== 
 * 募集要項：箇条書きタグ（●付き項目・横揃え対応）
 * ============================== **/
  .job-tags {
    display: flex;
    flex-wrap: wrap;
  }
  .job-tag {
    display: inline-block;
    line-height: 130%;
    min-width: 20rem; /* ← この値を基準に調整（例：借上独身寮制度有り） */
    text-indent: -1.2em;
    padding-left: 1.2em;
  }
  .jobtag_width {
    width: 100%;
  }
  /** ============================== 
 * 募集要項：採用の流れ（グリッド）
 * ============================== **/
  .job-flow-grid {
    width: 90vw;
    display: grid;
    grid-template-rows: 1fr 0.4fr 1fr 0.4fr 1fr 0.4fr 1fr;
    align-items: center;
    text-align: center;
    gap: 1vw;
    margin: 2vw auto;
  }
  .job-flow-item img {
    width: 10vw;
    margin: 0 auto 1vw;
    display: block;
  }
  .job-flow-item p {
    margin: 0;
  }
  .job-flow-arrow {
    font-size: 1.5rem;
    color: #93d2d3;
    text-align: center;
    transform: rotate(90deg);
    display: inline-block; /* ← これが無いと回転効かないことも */
  }
  /** ============================== 
 * 募集要項：提出書類スタイル
 * ============================== **/
  .job-required {
    color: #ff5c3a;
    font-weight: bold;
    margin-right: 1rem;
  }
  /** ============================== 
 * 募集要項：文字強調（赤）
 * ============================== **/
  .red {
    color: #ff5c3a;
    font-weight: bold;
    display: inline-block; /* ← これを追加！ */
  }
  /** ============================== 
 * 募集要項：エントリーボタン
 * ============================== **/
  .job-entry-section {
    padding: 8vw 0 0 0;
  }
  .job-entry-container {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .job-entry-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60vw;
    aspect-ratio: 3 / 1;
    background-color: #f4ac47;
    color: #fff;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    /*font-family: 'Noto Serif JP', serif;*/
    font-size: 2.2rem;
    font-weight: 700;
    border-radius: 2.4vw;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  .job-entry-button:hover {
    transform: scale(1.05);
    opacity: 0.9;
    text-decoration: none;
  }
  .PC {
    display: none;
    max-width: 0%;
    max-height: 0%;
  }
  .SP {}
}