/* ====================================================================
 * 採用情報ページ（/recruit/）専用 ※採用ページでのみ読み込み（functions.php）
 * ・共通の見出し（.heading-en など）は style.css のものを使用
 * ・コンテンツ幅：SWELLの「記事幅」1100px（フルワイドブロックの初期値）
 * ・セクションの上下余白：各フルワイドブロックの「上下の余白」設定で指定
 * ・文字サイズはrem（ルートはリキッド設定のまま）
 * ・:is(.post_content, .editor-styles-wrapper) で、ページとブロックエディターの両方に効かせる
 *   （エディターへの読み込みは functions.php）
 * ==================================================================== */

/* ページタイトル（SWELL出力）を非表示 ※functions.phpで is-recruit を付与 */
.is-recruit .c-pageTitle {
  display: none;
}

/* エントリーしたの余計な余白を削除 */
.l-content {
  margin: 0 auto 0;
}

/* 共通：日本語ラベル（英語見出しの上） */
:is(.post_content, .editor-styles-wrapper) .recruit-label {
  margin: 0 0 0.625rem;
  color: var(--color_main);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
}

/* 共通：英語見出し（.heading-en は子テーマ既存のスタイルを使用） */
:is(.post_content, .editor-styles-wrapper) .recruit-sec h2.heading-en {
  margin: 0;
}

/* 01 採用メッセージ
--------------------------------------------------------------------- */
:is(.post_content, .editor-styles-wrapper) h1.recruit-hero__title {
  margin: 0;
  color: #1c1c1c;
  font-family: 'Lato', sans-serif;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) h1.recruit-hero__title {
    font-size: 4rem;
  }
}

:is(.post_content, .editor-styles-wrapper) h2.recruit-hero__catch {
  margin: 3rem 0 0;
  padding: 0;
  background: none;
  color: #1c1c1c;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) h2.recruit-hero__catch {
    margin-top: 2rem;
    font-size: 2rem;
  }
}
:is(.post_content, .editor-styles-wrapper) h2.recruit-hero__catch::before,
:is(.post_content, .editor-styles-wrapper) h2.recruit-hero__catch::after {
  content: none;
}

.recruit-hero__catch-accent {
  color: var(--color_main);
}

:is(.post_content, .editor-styles-wrapper) .recruit-hero__lead {
  margin: 2rem 0 0;
  line-height: 1.8;
	font-size:1.2rem;
}


/* 02 募集ポジション
--------------------------------------------------------------------- */
.recruit-positions__list {
  margin-top: 3.5rem;
}
@media (max-width: 959px) {
  .recruit-positions__list {
    margin-top: 2.5rem;
  }
}

.recruit-positions__list .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media (max-width: 959px) {
  .recruit-positions__list .wp-block-group__inner-container {
    gap: 1.5rem;
  }
}

/* カード */
:is(.post_content, .editor-styles-wrapper) .recruit-position {
  position: relative;
  margin: 0;
  padding: 3rem 2rem;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-position {
    padding: 2.5rem 1.5rem 2rem;
  }
}

/* 大きい番号（職名に重ねる） */
:is(.post_content, .editor-styles-wrapper) .recruit-position__num {
  position: absolute;
  top: 0.75rem;
  left: 2rem;
  margin: 0;
  color: #f0d0de;
  font-family: 'Lato', sans-serif;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  pointer-events: none;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-position__num {
    top: 0.5rem;
    left: 1rem;
    font-size: 4.5rem;
  }
}

/* カラム（PC：職名350px／説明） */
:is(.post_content, .editor-styles-wrapper) .recruit-position__cols {
  position: relative;
  z-index: 1;
  gap: 2.5rem;
  margin: 0;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-position__cols {
    flex-wrap: wrap !important;
    gap: 1rem;
  }
}

:is(.post_content, .editor-styles-wrapper) .recruit-position__cols > .wp-block-column {
  margin: 0;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-position__cols > .wp-block-column {
    flex-basis: 100% !important;
  }
}

.recruit-position__head {
  padding-top: 1.5rem;
}
@media (max-width: 959px) {
  .recruit-position__head {
    padding-top: 1rem;
  }
}

:is(.post_content, .editor-styles-wrapper) h3.recruit-position__name {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: #1c1c1c;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) h3.recruit-position__name {
    font-size: 1.25rem;
  }
}
:is(.post_content, .editor-styles-wrapper) h3.recruit-position__name::before,
:is(.post_content, .editor-styles-wrapper) h3.recruit-position__name::after {
  content: none;
}

/* タグ（要：英語スキル／新卒歓迎） */
:is(.post_content, .editor-styles-wrapper) .recruit-position__tag {
  display: inline-block;
  margin: 0.75rem 0 0;
  padding: 0.125rem 0.625rem;
  border: 2px solid #f0d0de;
  background: #fff;
  color: var(--color_main);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
}

/* 説明 */
.recruit-position__body {
  padding: 1.5rem 0 0 2.5rem;
  border-left: 1px solid #f0d0de;
}
@media (max-width: 959px) {
  .recruit-position__body {
    padding: 1rem 0 0;
    border-left: none;
    border-top: 1px solid #f0d0de;
  }
}

:is(.post_content, .editor-styles-wrapper) .recruit-position__body p {
  margin: 0;
  line-height: 1.8;
  text-align: justify;
}

/* 03 求める人物像
--------------------------------------------------------------------- */
:is(.post_content, .editor-styles-wrapper) .recruit-who {
  border-radius: 0 3.75rem 3.75rem 0;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-who {
    border-radius: 0 2rem 2rem 0;
  }
}

.recruit-who__body {
  max-width: 53.125rem; /* 850px */
  margin-top: 3.5rem;
}
@media (max-width: 959px) {
  .recruit-who__body {
    margin-top: 2.5rem;
  }
}

:is(.post_content, .editor-styles-wrapper) ul.recruit-who__list {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.17);
  list-style: none;
}

:is(.post_content, .editor-styles-wrapper) .recruit-who__list li {
  position: relative;
  margin: 0;
  padding: 1.5rem 0.5rem 1.5rem 2.875rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.17);
  font-weight: 700;
  line-height: 1.8;
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-who__list li {
    padding: 1.25rem 0 1.25rem 2.25rem;
  }
}

/* チェックアイコン（丸＋チェック） */
:is(.post_content, .editor-styles-wrapper) .recruit-who__list li::before {
  content: '';
  position: absolute;
  top: calc(1.5rem + 0.2em);
  left: 0.5rem;
  width: 1.375rem;
  height: 1.375rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Ccircle cx='11' cy='11' r='10' stroke='%23c71550' stroke-width='1.6'/%3E%3Cpath d='m6.5 11.2 3 3 6-6.4' stroke='%23c71550' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center / contain;
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-who__list li::before {
    top: calc(1.25rem + 0.2em);
    left: 0;
    width: 1.25rem;
    height: 1.25rem;
  }
}

:is(.post_content, .editor-styles-wrapper) .recruit-who__note {
  margin: 1.5rem 0 0;
  line-height: 1.8;
}

/* カンパニークリエーション（白いカード） */
:is(.post_content, .editor-styles-wrapper) .recruit-creation {
  margin-top: 3.5rem;
  padding: 2.5rem 4rem;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.1);
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-creation {
    margin-top: 2.5rem;
    padding: 2rem 1.5rem;
  }
}

:is(.post_content, .editor-styles-wrapper) .recruit-creation__cols {
  align-items: center !important;
  gap: 4rem !important;
  margin: 0;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-creation__cols {
    flex-wrap: wrap !important;
    gap: 1.5rem !important;
  }
}

:is(.post_content, .editor-styles-wrapper) .recruit-creation__cols > .wp-block-column {
  margin: 0;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-creation__cols > .wp-block-column {
    flex-basis: 100% !important;
  }
}

:is(.post_content, .editor-styles-wrapper) .recruit-creation__en {
  margin: 0 0 0.625rem;
  color: var(--color_main);
  font-family: 'Lato', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

:is(.post_content, .editor-styles-wrapper) h3.recruit-creation__catch {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: #1c1c1c;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) h3.recruit-creation__catch {
    font-size: 1.5rem;
  }
}
:is(.post_content, .editor-styles-wrapper) h3.recruit-creation__catch::before,
:is(.post_content, .editor-styles-wrapper) h3.recruit-creation__catch::after {
  content: none;
}

.recruit-creation__catch-accent {
  color: var(--color_main);
}

:is(.post_content, .editor-styles-wrapper) .recruit-creation__text {
  margin: 0;
  line-height: 1.8;
}

/* 04 勤務・契約条件
--------------------------------------------------------------------- */
:is(.post_content, .editor-styles-wrapper) .recruit-conditions__table {
  margin: 3.5rem 0 0;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-conditions__table {
    margin-top: 2.5rem;
  }
}

:is(.post_content, .editor-styles-wrapper) .recruit-conditions__table table {
  width: 100%;
  border-collapse: collapse;
}

:is(.post_content, .editor-styles-wrapper) .recruit-conditions__table td {
  padding: 1rem;
  border: none;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
  vertical-align: top;
  line-height: 1.8;
  background: rgba(255, 255, 255, 0.6);
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-conditions__table td {
    display: block;
    width: 100%;
    border-top: none;
  }
}

/* 1列目＝項目名 */
:is(.post_content, .editor-styles-wrapper) .recruit-conditions__table td:first-child {
  width: 15rem;
  background: #efefef9c;
  color: #1c1c1c;
  font-weight: 700;
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-conditions__table td:first-child {
    width: 100%;
    padding-block: 0.75rem;
    border-bottom: none;
  }
}

/* 05 応募方法（背景画像は共通CTAと同じ）
--------------------------------------------------------------------- */
:is(.post_content, .editor-styles-wrapper) .recruit-entry__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2.5rem;
  max-width: 1100px;
  width: 92%;
  margin-inline: auto;
  padding: 5rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, 0.1);
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-entry__inner {
    flex-direction: column;
    align-items: stretch;
    padding: 3rem 1.5rem;
  }
}

:is(.post_content, .editor-styles-wrapper) h2.recruit-entry__title {
  margin: 1rem 0;
  padding: 0;
  background: none;
  color: #1c1c1c;
  font-family: 'Lato', sans-serif;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) h2.recruit-entry__title {
    font-size: 4rem;
  }
}
:is(.post_content, .editor-styles-wrapper) h2.recruit-entry__title::before,
:is(.post_content, .editor-styles-wrapper) h2.recruit-entry__title::after {
  content: none;
}

:is(.post_content, .editor-styles-wrapper) .recruit-entry__text {
  margin: 0;
  color: #1c1c1c;
  font-size: 1.25rem;
  line-height: 1.8;
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-entry__text {
    font-size: 1rem;
  }
}

/* 応募ボタン */
:is(.post_content, .editor-styles-wrapper) .recruit-entry__btn {
  width: 24rem;
  max-width: 100%;
  margin: 0;
}
@media (max-width: 959px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-entry__btn {
    width: 100%;
  }
}

:is(.post_content, .editor-styles-wrapper) .recruit-entry__btn .swell-block-button__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1rem 1.75rem 1rem 2.5rem;
  border-radius: 0;
  background: var(--color_main);
  box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  transition: opacity 0.3s ease;
}
@media (max-width: 599px) {
  :is(.post_content, .editor-styles-wrapper) .recruit-entry__btn .swell-block-button__link {
    padding: 0.75rem 1rem 0.75rem 1.5rem;
    font-size: 1rem;
  }
}
:is(.post_content, .editor-styles-wrapper) .recruit-entry__btn .swell-block-button__link:hover {
  opacity: 0.8;
}

/* 白丸＋矢印 */
:is(.post_content, .editor-styles-wrapper) .recruit-entry__btn .swell-block-button__link::after {
  content: '';
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  margin-left: 1rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='24' fill='%23fff'/%3E%3Cpath d='M17 24h13M25.5 18.5 31 24l-5.5 5.5' stroke='%23c71550' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat center / contain;
}
