@charset "UTF-8";
/*//////////PCサイズ///////////*/
@media screen and (min-width: 481px) {
/* CSS Document */
/** ============================== 
 *  ファーストビュー
 * ============================== **/
.first-view {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 1; /* ← 16:8と同じ意味 */
  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: 26vw;
  z-index: 4;
}
.fv-title-area {
  position: absolute;
  top: 50%;
  left: 5vw;
  transform: translateY(-50%);
  z-index: 4;
  color: #fff;
}
.fv-title {
  font-size: 4.5rem;
  font-weight: 400;
  line-height: 1;
}
.fv-subtitle {
  font-size: 1.6rem;
  margin: 0.7vw 0.2vw;
}
/** ============================== 
 *  トップメッセージ
 * ============================== **/
.top-message {
  background: linear-gradient(to bottom, #f6f6f6 0%, #ffffff 100%);
  padding: 10vw 0;
}
.top-message-container {
  width: 75vw;
  max-width: 960px;
  margin: 0 auto;
}
.top-message-container h2 {
  padding: 0 0 6vw 0;
}
.top-message-container h3 {
  text-align: left;
  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 {
  float: left;
  width: 18vw;
  max-width: 300px;
  margin-right: 2vw;
  margin-bottom: 0vw;
}
.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;*/
}

/* 社長名：右下 */
.author-text {
  text-align: right;
  margin-top: 3vw;
}

/** ============================== 
 *  ワークススライド
 * ============================== **/

.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: 40vw;
  overflow: hidden;
  position: relative;
  background-color: #333;
}

.works-slide-track {
  display: flex;
  width: max-content;
  animation: slideLoop 90s 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: 80vw;
  max-width: 1024px;
  margin: 0 auto 8vw auto;
  padding: 4vw;
  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: left;
}

/* 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: 60vw;
max-width: 800px;
  display: grid;
  grid-template-columns: 46% 1fr;
  align-items: center;
  margin: auto;
padding: clamp(40px, 8vw, 65px) 0;

}

/* 左：画像 */
.voice-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* 右：テキスト全体 */
.voice-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* 入社情報 + 名前 */
.voice-meta {
  display: flex;
  align-items: center;
  line-height: 100%;
  gap: 2rem;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
/*font-family: 'Noto Serif JP', serif;*/
  font-weight: 400;
  padding: 0 0.2vw 1.5vw 0.2vw;
}
.voice-meta span{

}
.voice-join{
padding:0.2rem 0 0 0;
}
.voice-name{

}
/* アンダーライン */
.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;
}

/* メッセージ本文 */
.voice-message {
  font-weight: 300;
  line-height: 2;
  text-align: justify;
}
/* ============================== */
/* アコーディオン：hoverアクション */
/* ============================== */
/* アコーディオンバー（専用） */
.accordion-toggle-job {
  color: #fff;
  width: 100%;
  padding: 0.6vw 2vw 0.7vw 2vw;
  margin-top: 3vw;
  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: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6vw;
  padding: 8vw 0;
}

.entry-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33vw;
  aspect-ratio: 4.5 / 1;
  color: #fff;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
/*font-family: 'Noto Serif JP', serif;*/
  font-size: 2.2rem;
  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: 100%;
  display: flex;
  justify-content: center;
  gap: 3vw;
  z-index: 999;
  background-color: transparent;
  transition: transform 0.5s ease, opacity 0.5s ease;
  transform: scale(0.8); /* ← 全体を80%に縮小 */
  transform-origin: bottom center;
}

.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;
}

/** ============================== 
 *  フッター（コピーライト）
 * ============================== **/

.footer-section {
  background-color: #514540;
  height: 4.5vw;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

/** ============================== 
 * 募集要項：ページ背景
 * ============================== **/
.job-page {
  background-color: #f3efe4;
}

/** ============================== 
 * 募集要項：ページ背景
 * ============================== **/
.job-page {
  background-color: #f3efe4;
}


/** ============================== 
 * 募集要項：ページ背景
 * ============================== **/
.job-page {
  background-color: #f3efe4;
}


/** ============================== 
 * 募集要項：ファーストビュー
 * ============================== **/
.job-fv {
  position: relative;
  width: 100%;
  height: 26vw;
  overflow: hidden;
}

.job-fv-bg-back {
  position: absolute;
  inset: 0;
    height: 26vw; /* 指定通り固定高さに */

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: 26vw; /* 指定通り固定高さに */

clip-path: polygon(100% 0, 100% 70%, 50% 90%, 0 70%, 0 0);
  z-index: 2;
}

/* タイトル全体 */
.job-fv-title {
  position: absolute;
  top: 10vw;
  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: 60vw;
  min-width: 768px;
  max-width: 960px;
  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 2vw;
	border-bottom: 1px solid rgba(56,56,56,0.80);
}
/* 内容部分 */
.job-requirements-body {
  padding: 2vw 0 2vw 3vw;
  line-height: 2.5rem;
  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;
  white-space: nowrap;
  min-width: 20rem; /* ← この値を基準に調整（例：借上独身寮制度有り） */
}
.jobtag_width{
width:100%;
}
/** ============================== 
 * 募集要項：採用の流れ（グリッド）
 * ============================== **/

.job-flow-grid {
width:50vw;
  display: grid;
  grid-template-columns: 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: 4vw;
  margin: 0 auto 1vw;
  display: block;
}

.job-flow-item p {
  margin: 0;
}

.job-flow-arrow {
  font-size: 2.4rem;
  color: #93d2d3;
  text-align: center;
}

/** ============================== 
 * 募集要項：提出書類スタイル
 * ============================== **/

.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: 28vw;
	aspect-ratio: 4.5 / 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 {}
    .SP {
        display: none;
        max-width: 0%;
        max-height: 0%;
    }