/* ============================================================
   IYOSUI Theme - Contact group
   (contact / recruit / compliance / privacy)
   ============================================================ */

/* ---- Contact info cards ---------------------------------- */
.contact-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
}

.contact-info-card {
  text-align: center;
  padding: var(--sp-md);
  background: var(--color-bg);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
}

.contact-info-card__label {
  display: inline-block;
  font-family: var(--font-en);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  color: var(--color-primary);
  margin-bottom: .6em;
}

.contact-info-card__value {
  font-size: 1.4rem;
  font-weight: 700;
  font-family: var(--font-en);
  margin-bottom: .4em;
  line-height: 1.3;
}

.contact-info-card__value a:hover { color: var(--color-primary); }

.contact-info-card__sub {
  font-size: .8rem;
  color: var(--color-text-sub);
  line-height: 1.6;
}

/* ---- Form ------------------------------------------------ */
.contact-form { margin-top: var(--sp-md); }

.form-group { margin-bottom: var(--sp-md); }

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);
}

.form-label {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  margin-bottom: .5em;
}

/* カンプ準拠: 赤文字「※必須」 */
.req {
  margin-left: .6em;
  font-size: .8rem;
  font-weight: 500;
  color: #e9473f;
}

.req::before { content: '※'; }

.form-control {
  width: 100%;
  padding: .75em 1em;
  font-size: .95rem;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.form-control:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(0,128,172,.12);
}

textarea.form-control { resize: vertical; min-height: 8em; line-height: 1.8; }

.form-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
}

.form-radio,
.form-check {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: .9rem;
  cursor: pointer;
}

.form-radio input,
.form-check input { accent-color: var(--color-primary); width: 1.1em; height: 1.1em; }

.form-check a { color: var(--color-primary); text-decoration: underline; }

.form-message {
  margin-top: var(--sp-md);
  font-size: .9rem;
  text-align: center;
}

.form-message.is-error   { color: #c0392b; }
.form-message.is-success { color: var(--color-accent-green); }

/* ---- Recruit: value cards (circles) ---------------------- */
.value-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
  justify-items: center;
}

.value-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: .35rem;
  width: 100%;
  max-width: 280px;
  aspect-ratio: 1/1;
  padding: var(--sp-md);
  border-radius: 50%;
}

/* カンプ準拠: グレージュ / グリーン / ゴールドの淡いサークル */
.value-card:nth-child(1) { background: rgba(122,140,134,.20); }
.value-card:nth-child(2) { background: rgba(122,150,96,.22); }
.value-card:nth-child(3) { background: rgba(196,164,110,.26); }

.value-card__keyword {
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.value-card:nth-child(1) .value-card__keyword { color: #5F7268; }
.value-card:nth-child(2) .value-card__keyword { color: #5E7E47; }
.value-card:nth-child(3) .value-card__keyword { color: #9A7B3F; }

.value-card__ja { font-size: .9rem; font-weight: 700; }

.value-card__title {
  font-size: .72rem;
  color: var(--color-text-sub);
  letter-spacing: .02em;
}

.value-card__desc {
  font-size: .8rem;
  line-height: 1.8;
  color: var(--color-text-sub);
  margin-top: .3rem;
}

/* ---- Recruit: desired profile ---------------------------- */
.recruit-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-sm);
}

.recruit-point {
  position: relative;
  padding: 1rem 1.25rem 1rem 2.75rem;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  font-size: .92rem;
  font-weight: 500;
}

.recruit-point::before {
  content: '✓';
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-primary);
  font-weight: 700;
}

/* ---- Recruit: job table ---------------------------------- */
.recruit-table { width: 100%; font-size: .9rem; }

.recruit-table th,
.recruit-table td {
  padding: 1em 1.25em;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--color-border-light);
  line-height: 1.8;
}

.recruit-table th {
  width: 11em;
  font-weight: 700;
  color: var(--color-primary-dark);
  background: var(--color-bg);
  white-space: nowrap;
}

/* ---- FAQ ------------------------------------------------- */
.faq-list { display: flex; flex-direction: column; gap: var(--sp-sm); }

.faq-item {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.faq-item dt {
  position: relative;
  padding: 1.1em 1.5em 1.1em 3em;
  background: var(--color-bg-light);
  font-weight: 700;
  font-size: .95rem;
}

.faq-item dt::before {
  content: 'Q';
  position: absolute;
  left: 1.25em;
  color: var(--color-primary);
  font-family: var(--font-en);
  font-weight: 800;
}

.faq-item dd {
  position: relative;
  padding: 1.1em 1.5em 1.1em 3em;
  font-size: .9rem;
  line-height: 1.9;
  color: var(--color-text-sub);
}

.faq-item dd::before {
  content: 'A';
  position: absolute;
  left: 1.25em;
  color: var(--color-accent-warm);
  font-family: var(--font-en);
  font-weight: 800;
}

/* ---- Compliance / Privacy prose -------------------------- */
.compliance-list { display: flex; flex-direction: column; gap: 1.25rem; margin-block: var(--sp-md); }

.compliance-list dt {
  font-weight: 400;      /* 260708校正: 各条項の小見出し「細く」(700→400) */
  font-size: 1rem;
  color: var(--color-primary-dark);
  padding-left: .75em;
  border-left: 3px solid var(--color-primary); /* 260708校正: 帯もやや細く */
  margin-bottom: .4em;
}

.compliance-list dd { font-size: .92rem; line-height: 1.9; color: var(--color-text-sub); padding-left: 1em; }

.prose-section h2 {
  font-size: 1.1rem;     /* 260721ユーザー確定: 1.3→1.1rem */
  margin-top: 2em;
  margin-bottom: .75em;
  padding-left: .75em;
  border-left: 4px solid var(--color-primary);
}
/* 260714確定(12_x「左のボーダーラインと【】をトル」): プライバシーの見出しは左罫線なし */
.privacy-sections h2 { border-left: none; padding-left: 0; }

.prose-section p { line-height: 1.95; color: var(--color-text-sub); }

.prose-section ul { margin: .75em 0 1.25em; padding-left: 1.4em; }
.prose-section ul li { line-height: 1.9; color: var(--color-text-sub); list-style: disc; }
.prose-section a { color: var(--color-primary); text-decoration: underline; word-break: break-all; }

/* プライバシー: 基本方針の番号リスト */
.privacy-basics { margin: var(--sp-sm) 0 0; padding-left: 1.6em; display: flex; flex-direction: column; gap: 1em; }
.privacy-basics li { line-height: 1.95; color: var(--color-text-sub); list-style: decimal; }

/* プライバシー: 共同利用の定義リスト */
.privacy-dl { margin: 1em 0 1.5em; }
.privacy-dl dt { font-weight: 400; color: var(--color-primary-dark); margin-top: 1em; } /* 260719校正14「細字」 */
.privacy-dl dd { line-height: 1.9; color: var(--color-text-sub); padding-left: 1em; }

/* 260703校正: FAQへのジャンプボタン（フォーム上部） */
.contact-faq-jump { text-align: center; margin-top: var(--sp-md); }

/* ============================================================
   260703校正 — recruit 追加セクション
   ============================================================ */

/* リクルートムービー */
.recruit-movie-section { padding-top: 0; }
.recruit-movie { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.recruit-movie iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Values リード・締め */
.recruit-values-lead { text-align: center; margin-bottom: var(--sp-md); color: var(--color-text-sub); }
.recruit-values-close { text-align: center; margin-top: var(--sp-md); color: var(--color-text-sub); }

/* 社員インタビュー */
.voice-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin-top: var(--sp-md);
}
@media (max-width: 900px) { .voice-grid { grid-template-columns: 1fr; } }

.voice-card {
  background: #fff;
  border: 1px solid rgba(0, 118, 129, .18);
  border-radius: var(--radius);
  padding: 32px 30px;
  box-shadow: var(--shadow-sm);
}
.voice-card__quote { font-size: 1.15rem; color: var(--color-primary-dark); margin-bottom: .5em; line-height: 1.6; }
.voice-card__meta  { font-size: .82rem; color: var(--color-accent-warm); margin-bottom: 1em; }
.voice-card__body  { font-size: .9rem; line-height: 1.95; color: var(--color-text-sub); }

/* キャリアステップ & 働き方 */
.recruit-career-list { display: flex; flex-direction: column; gap: .9em; margin-top: var(--sp-sm); }
.recruit-career-list li {
  position: relative;
  padding-left: 1.4em;
  line-height: 1.9;
  color: var(--color-text-sub);
  list-style: none;
}
.recruit-career-list li::before {
  content: "";
  position: absolute;
  left: 0; top: .72em;
  width: .6em; height: .6em;
  border-radius: 50%;
  background: var(--color-primary);
}

/* ============================================================
   カンプ一次整合 (260616) — contact / recruit
   見出しはカンプ準拠で「和文タイトル上 / 欧文サブ下(ゴールド)」
   ============================================================ */

/* ---- 共通: セクション見出しの並び替え＆色 ---------------- */
.contact-page .sec-head,
.recruit-page .sec-head {
  display: flex;
  flex-direction: column-reverse; /* .__en→.__ja の順を視覚的に反転 */
  align-items: flex-start;
}

.contact-page .sec-head--center,
.recruit-page .sec-head--center {
  align-items: center;
  text-align: center;
}

/* 和文タイトル: 260703校正「細く、小さく、文字色こく」 */
.contact-page .sec-head__ja,
.recruit-page .sec-head__ja {
  color: var(--color-text-teal);
  font-size: 21px;
  font-weight: 300;
  line-height: 1.5;
}

/* 欧文サブ: ゴールド・小さめ・大文字化しない（260703校正: 細く） */
.contact-page .sec-head__en,
.recruit-page .sec-head__en {
  color: var(--color-gold);
  text-transform: none;
  font-size: 16px;
  letter-spacing: .08em;
  font-weight: 300;
  margin-top: 6px;
  margin-bottom: 0;
}

/* ============================================================
   CONTACT
   ============================================================ */

/* フォーム導入の注記（赤系の注意書きがカンプにある） */
.contact-form-note {
  margin-bottom: 32px;
  font-size: 13px;       /* 260708校正: 案内文さらに「小さく」(14→13) */
  line-height: 2;
  color: var(--color-text-teal);
  text-align: center;
}

/* フォーム本体: ラベルとフィールドを縦積み・余白広め(カンプは1カラム) */
.contact-page .contact-form { margin-top: 40px; }
.contact-page .form-group { margin-bottom: 36px; }
.contact-page .form-row { grid-template-columns: 1fr; gap: 0; }

.contact-page .form-label {
  font-size: 14px;       /* 260708校正: フォーム全体やや小さく(16→14) */
  font-weight: 400;      /* 260703校正: 項目ラベル「細く」(700→400) */
  margin-bottom: 12px;
}

.contact-page .form-control {
  padding: 13px 15px;
  font-size: 14px;       /* 260708校正: フォーム全体やや小さく(15→14) */
  border: 1px solid var(--color-border);
  border-radius: 2px;
  background: var(--color-bg);
}

.contact-page textarea.form-control { min-height: 200px; }

/* 必須バッジ: カンプは「※必須」赤文字 */
.contact-page .req {
  color: #e9473f;
  font-weight: 500;
  font-size: 14px;
}

/* チェック/ラジオ行 */
.contact-page .form-radio-group { gap: 14px 40px; }
.contact-page .form-radio,
.contact-page .form-check { font-size: 15px; }

/* 送信ボタン: 白地・細枠の角型 + 260703校正「他と同じブルーグリーン字で」 */
.contact-page .contact-form .btn {
  background: var(--color-bg);
  color: var(--color-text-teal);
  border: 1px solid var(--color-text-teal);
  border-radius: 0;
  font-weight: 400;
  letter-spacing: .3em;
  padding: 18px 56px;
}
.contact-page .contact-form .btn:hover {
  background: var(--color-primary);
  color: var(--color-text-white);
  border-color: var(--color-primary);
}

/* ---- Contact FAQ: 淡いブルー帯・プレーンなQ&A ----------- */
.contact-faq .sec-head { margin-bottom: 40px; }
.contact-faq .sec-head__ja { color: var(--color-text-teal); } /* 260703校正: 濃く */

.contact-faq .faq-list {
  max-width: 880px;
  margin-inline: auto;
  display: block;
}

.contact-faq .faq-item {
  border: none;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  margin-bottom: 20px;
}

.contact-faq .faq-item__q {
  cursor: pointer;
  list-style: none;
  position: relative;
  padding: 0 24px 0 28px;
  font-weight: 400;      /* 260703校正: Q項目「やや細く」(600→400) */
  font-size: 15px;       /* 260703校正: 「小さく」(17→15) */
  color: var(--color-text);
  background: transparent;
  line-height: 1.8;
}
.contact-faq .faq-item__q::-webkit-details-marker { display: none; }
.contact-faq .faq-item__q::before {
  content: "Q";
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-family: var(--font-en);
  font-weight: 700;
}
.contact-faq .faq-item__q::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 0;
  color: var(--color-primary);
  font-size: 18px;
}
.contact-faq .faq-item[open] .faq-item__q::after { content: "−"; }

.contact-faq .faq-item__a {
  position: relative;
  padding: 8px 24px 0 28px;
  font-size: 15px;       /* 260708校正: QとA同サイズ(17→15=Qと同じ) */
  line-height: 1.95;
  color: var(--color-text-sub);
}
.contact-faq .faq-item__a::before {
  content: "A";
  position: absolute;
  left: 0;
  color: var(--color-gold);
  font-family: var(--font-en);
  font-weight: 700;
}

/* ============================================================
   RECRUIT
   ============================================================ */

/* リード: 260705指示「キャッチは少し小さく・色はEN(ゴールド)と同じ」 */
.recruit-page .section:first-of-type .sec-head { align-items: center; text-align: center; }
.recruit-page .section:first-of-type .sec-head__ja {
  font-size: 20px;
  font-weight: 600;
  color: #796428;
}
.recruit-page .section:first-of-type p {
  text-align: center;
  color: var(--color-text-teal); /* 260703校正: 濃く */
  line-height: 2.1;
  font-size: 17px;       /* 260703校正: 導入文「小さく」(21→17) */
  font-weight: 300;
  max-width: 760px;
  margin-inline: auto;
  padding-inline: 0;     /* 地の文150pxガターを解除（指定改行位置を守るため） */
}

/* 260703校正: Valuesセクション＝背景白・上端に細い罫線 */
.recruit-values-section {
  background: var(--color-bg);
  /* 260721ユーザー確定: border-topを除去（罫線はrecruit-dividerで表現） */
}

/* バリューサークル: カンプは EN見出し→—和文—→EN小→和文説明 */
.recruit-page .value-card-grid { gap: 32px; align-items: stretch; }
.recruit-page .value-card {
  max-width: 280px;
  aspect-ratio: 1 / 1;
  gap: 8px;
  padding: 36px 28px;
}
.recruit-page .value-card__keyword { font-size: 26px; }
.recruit-page .value-card__ja {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-sub);
}
/* 260705: ダッシュはテンプレ側に直書き（二重表示のため疑似要素は撤去） */
.recruit-page .value-card__title {
  font-family: var(--font-en);
  font-size: 12px;
  line-height: 1.5;
}
.recruit-page .value-card__desc { font-size: 12px; line-height: 1.85; }

/* 求める人物像: カンプは ◆ マーカーの箇条書き(枠なし) */
.recruit-page .recruit-points {
  grid-template-columns: 1fr;
  gap: 10px;             /* 260703校正: 行間ややツメ(14→10) */
}
.recruit-page .recruit-point {
  background: transparent;
  border-radius: 0;
  padding: 0 0 0 24px;
  font-size: 14px;       /* 260703校正: 「小さく」(16→14) */
  font-weight: 400;
  line-height: 1.8;
}
.recruit-page .recruit-point::before {
  content: "●";          /* 260703校正: 行頭マークを黒丸に(◆→●) */
  left: 0;
  color: var(--color-text);
  font-size: 10px;
}

/* 募集職種テーブル: ラベル：値 の素朴な行 */
.recruit-page .recruit-table th {
  width: 9em;
  background: transparent;
  color: var(--color-text);
  font-weight: 600;
}
.recruit-page .recruit-table th::after { content: "："; }
.recruit-page .recruit-table th,
.recruit-page .recruit-table td {
  border-bottom: 1px solid var(--color-border-light);
  font-size: 16px;       /* .ai 11pt × 1.42536 = 15.7 */
}

/* Recruit FAQ: プレーンな Q：/A： テキスト(枠なし) */
.recruit-page .faq-list {
  display: block;
  max-width: 880px;
}
.recruit-page .faq-item {
  border: none;
  border-radius: 0;
  overflow: visible;
  margin-bottom: 24px;
}
.recruit-page .faq-item dt {
  position: relative;
  background: transparent;
  padding: 0 0 6px 28px;
  font-size: 17px;       /* .ai 12pt × 1.42536 = 17.1 */
  font-weight: 600;
}
.recruit-page .faq-item dt::before {
  content: "Q：";
  left: 0;
  color: var(--color-primary);
}
.recruit-page .faq-item dd {
  position: relative;
  padding: 0 0 0 28px;
  font-size: 17px;       /* .ai 12pt × 1.42536 = 17.1 */
  line-height: 1.95;
}
.recruit-page .faq-item dd::before {
  content: "A：";
  left: 0;
  color: var(--color-gold);
}

/* ---- Responsive ------------------------------------------ */
@media (max-width: 760px) {
  .contact-info-grid,
  .value-card-grid { grid-template-columns: 1fr; }
  .value-card { max-width: 240px; }
  .form-row,
  .recruit-points { grid-template-columns: 1fr; }
  .contact-page .sec-head__ja,
  .recruit-page .sec-head__ja { font-size: 22px; }
}

/* ============================================================
   260705 recruit 全面作り直し（260527_IY_web_09_recruit.ai 準拠）
   後読みで旧recruitルールを上書きする
   ============================================================ */

/* 見出し共通: ゴールド #796428・JA 16pt→23px W6・EN 18pt→26px Light */
.recruit-page .sec-head__ja {
  color: #796428;
  font-size: 23px;
  font-weight: 600;
}
.recruit-page .sec-head__en {
  color: #796428;
  font-family: var(--font-en);
  font-size: 22px; /* 260708校正: 英字「小さく」(26→22) */
  font-weight: 300;
  letter-spacing: .06em;
  text-transform: none;
}

/* ≥1200pxで.containerが1200px化(padding0)されるため、.ai準拠の左右アキを確保 */
.recruit-page .section .container--narrow { padding-inline: 100px; }

/* 260705指示: 中央見出しもJA上・EN下（globalのorder:1をrecruitでは打消し） */
.recruit-page .sec-head--center span.sec-head__en { order: 0; }
.recruit-page .sec-head--center .sec-head__ja { color: #796428; }

/* 260705指示: リードのキャッチは少し小さく・色はENと同じゴールド */
.recruit-lead-head .sec-head__ja {
  font-size: 20px;
  color: #796428;
}

/* リード（15pt→21px ティール・中央3行） */
.recruit-lead-body {
  text-align: center;
  color: var(--color-text-teal);
  font-size: 21px;
  font-weight: 300;
  line-height: 1.5;
  margin-top: 44px;
}

/* ムービー: 中央・640px */
.recruit-movie {
  position: relative;
  aspect-ratio: 16 / 9;
  max-width: 640px;
  margin: 56px auto 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  background: #eef1f1;
}

/* セクション境界の細罫線 */
/* 260721ユーザー確定: 動画と価値観の区切り線を表示・左右マージン＋ゴールド罫線 */
.recruit-divider {
  display: block;
  border: 0;
  border-top: 1px solid var(--color-gold);
  margin-block: 0;
  margin-inline: clamp(24px, 10vw, 160px);
}

/* Values: 3色サークル（.ai実測 直径200pt→285px） */
.recruit-values-lead {
  text-align: center;
  color: var(--color-text-teal);
  font-size: 16px;       /* 260721ユーザー確定: 17→16 */
  font-weight: 300;
  margin: 40px 0 0;
}

.value-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 285px);
  gap: 48px;
  justify-content: center;
  margin-top: 112px;     /* 260721ユーザー確定 */
  margin-bottom: 112px;  /* 260721ユーザー確定 */
}

.value-card {
  width: 285px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 38px;
  min-height: 0;
}

.value-card--respect     { background: #d0dee0; color: #407980; }
.value-card--challenge   { background: #d7e3d0; color: #728b56; }
.value-card--originality { background: #ebdec0; color: #ad7a00; }
/* 旧nth-child配色の打消し */
.value-card:nth-child(1), .value-card:nth-child(2), .value-card:nth-child(3) { }
.value-card:nth-child(1) .value-card__keyword,
.value-card:nth-child(2) .value-card__keyword,
.value-card:nth-child(3) .value-card__keyword { color: inherit; }

.value-card__keyword {
  font-family: var(--font-en);
  font-size: 30px;      /* .ai 21pt × 1.42536 */
  font-weight: 700;     /* 260705ユーザー確定値(600→700) */
  color: inherit;
  margin: 0;
}
.value-card__ja {
  font-size: 15px;      /* .ai 10.8pt */
  font-weight: 400;
  margin: .15em 0 .45em; /* 260705指示: 行間ツメ */
}
.value-card__sub-en {
  font-family: var(--font-en);
  font-size: 14px;      /* .ai 10pt */
  font-weight: 400;
  line-height: 1.22;    /* 260705指示: 行間ツメ */
}
.value-card__desc {
  font-size: 13px;      /* .ai 9pt */
  font-weight: 300;
  line-height: 1.45;    /* 260705指示: 行間ツメ */
  margin-top: .55em;
}

.recruit-values-close {
  text-align: center;
  color: var(--color-text-teal);
  font-size: 14px;
  font-weight: 300;
  margin-top: 56px;
}

.recruit-values-cta { text-align: center; margin-top: 4em; } /* 260721ユーザー確定: 2→4em */
.recruit-values-cta .btn--outline {
  color: var(--color-text-teal);
  border-color: var(--color-text-teal);
  font-weight: 300;
  font-size: 14px;
  padding: .7em 2.2em;
}
.recruit-values-cta .btn--outline:hover { background: var(--color-text-teal); color: #fff; }

/* Employee Voices: 空と海の写真背景＋吹き出しカード */
.recruit-voices {
  background: #9dc4d8 url('../../images/recruit-voices-photo.jpg?v=5') center / cover no-repeat; /* .ai埋込写真(xref45)そのもの。帯切出しはカンプのカードが焼き込まれるためNG */
}
/* 260720ユーザー指定: PC時は支給写真の比率(1684:1489)で全体が見えるように */
@media (min-width: 1200px) {
  .recruit-voices { aspect-ratio: 1684 / 1489; }
}

.voice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 36px;
  max-width: 1100px;
  margin: 56px auto 0;
}

.voice-card {
  position: relative;
  background: rgba(0, 116, 140, .62); /* 260719校正13: もうすこし透かせる(.82→.62) */
  color: #fff;
  border-radius: 10px;
  padding: 30px 32px 34px;
  box-shadow: none;
}

/* 260721web校正(13_3): 吹き出しのしっぽ◀を取って□(角丸ボックス)に→しっぽ非表示 */
.voice-card::after { display: none; }

.voice-card__quote {
  color: #fff;
  font-size: 17px;      /* .ai 12pt W6 */
  font-weight: 600;
  margin-bottom: .5em;
  line-height: 1.5;
}
/* 260717②: 採用ヒーローはPCでも帯で顔が隠れないよう上端基準（写真上部＝人物の顔から表示） */
.recruit-page .page-hero__bg { background-position: center top; }

/* 260714校正11_3: 価値観3円を.ai書き出し画像に置換（テキストカード廃止） */
.value-card-grid--img {
  display: flex;
  justify-content: center;
  gap: 34px;               /* .ai実測: 円間33.1pt ≒ 1200px幅で34px */
  flex-wrap: wrap;
}
.value-circle-img {
  width: 293px;            /* .ai 199.8pt × 1.42536 + 誤差調整 ≒ 285-300px */
  height: auto;
}
/* ≤600pxの円サイズ・縦積みは responsive-tune.css 側で定義（fluidの自動変換に勝たせるため） */

/* 260714⑤: カンプの黄色マーカー風下線を復活（.ai実測色 #E6E400・手描きブラシ線）
   inline+box-decoration-break:clone で折返し行にも下線が付く */
.voice-card__quote span {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='8' viewBox='0 0 160 8'%3E%3Cpath d='M2 5.2 C 30 3.6, 62 6, 92 4.6 S 140 5.6, 158 4.4' fill='none' stroke='%23E6E400' stroke-width='3.4' stroke-linecap='round' opacity='.5'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 160px 8px;
  padding-bottom: 7px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.voice-card__meta {
  color: #fff;
  font-size: 14px;      /* .ai 10pt W4 */
  font-weight: 500;
  margin-bottom: 1.1em;
}
.voice-card__body {
  color: #fff;
  font-size: 13px;      /* .ai 9pt W2 */
  font-weight: 300;
  line-height: 1.58;
}

/* Career / 求める人物像: ●箇条書き（ティール 11pt→16px） */
.recruit-career-list { display: flex; flex-direction: column; gap: .55em; margin-top: 40px; }
.recruit-career-list li {
  position: relative;
  padding: 0 0 0 1.25em;
  background: none;
  border: none;
  color: var(--color-text-teal);
  font-size: 14px;       /* 260708校正: 箇条書き「小さく」(16→14) */
  font-weight: 300;
  line-height: 1.6;      /* 260708校正: 行間せまく(1.8→1.6) */
}
/* 260721ユーザー確定: PCビュー(≥1200px)のみキャリアリストを右にインデント */
@media (min-width: 1200px) {
  .recruit-career-list { margin-left: 180px; }
}
.recruit-career-list li::before {
  content: '●';
  position: absolute;
  left: 0;
  top: .12em;
  font-size: .75em;
  color: var(--color-text-teal);
  background: none;
  width: auto;
  height: auto;
}

/* 募集要項・FAQ: 薄ブルー帯・左=要項/右=Q&A */
.recruit-outline { background: #ebf3f5; }

.recruit-outline__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 56px;
  margin-top: 40px;
}

.recruit-spec__row {
  display: grid;
  grid-template-columns: 5.5em 1fr;
  gap: 0 .5em;
  margin-bottom: .6em;
}
.recruit-spec dt {
  color: var(--color-text-teal);
  font-size: 16px;
  font-weight: 300;
  text-align: justify;
  text-align-last: justify;
  white-space: nowrap;
}
.recruit-spec dt::after { content: '：'; }
.recruit-spec dd,
.recruit-qa dt,
.recruit-qa dd {
  color: var(--color-text-teal);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.9;
}
.recruit-qa__item { margin-bottom: 1.6em; }
.recruit-qa__item:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
  .value-card-grid { grid-template-columns: repeat(auto-fit, 285px); }
  .recruit-outline__grid { grid-template-columns: 1fr; gap: 32px; }
}
