/*260903 Ver2 2026 RECRUIT */

.contents{
position: relative;
padding: 0 ;
}

.box_recruit{
--bg: #F7F4EF;
--ink: #1E1C1A;
--rose: #A8455E;
--rose-deep: #6E2C3C;
--line: rgba(30,28,26,0.14);
--photo: #DCD5C9;
background: var(--bg);
color: var(--ink);
 font-family: YuGothic,"Yu Gothic","游ゴシック体","游ゴシック","Hiragino Kaku Gothic ProN","HiraKakuPro-W3","メイリオ",Meiryo,Verdana,sans-serif;
font-weight: 300;
line-height: 1.9;
-webkit-font-smoothing: antialiased;
}

.box_recruit *{ box-sizing: border-box; }

.box_recruit h1,
.box_recruit h2,
.box_recruit h3{
font-family: 'Shippori Mincho', serif;
font-weight: 500;
margin: 0;
color: var(--ink);
}

.box_recruit .wrap{ max-width: 1040px; margin: 0 auto; padding: 0 32px; }
.box_recruit .narrow{ max-width: 620px; }
.box_recruit a{ color: inherit; }

/* ---- HERO ---- */
.box_recruit .hero{
position: relative;
height: 92vh; min-height: 560px;
display:flex; align-items:flex-end;
overflow:hidden;
background-color: var(--photo);
}
.box_recruit .hero-photo{
position:absolute; inset:0;
width:100%; height:100%;
object-fit:cover;
z-index:0;
}
.box_recruit .hero::before{
content:"";
position:absolute; inset:0;
background: linear-gradient(200deg, rgba(75,64,56,0.15) 0%, rgba(75,64,56,0.6) 100%);
z-index:1;
}
.box_recruit .hero-copy{ position:relative; z-index:2; color:#fff; padding: 0 40px 56px; }
.box_recruit .hero-copy .eyebrow{ font-size:12px; letter-spacing:.14em; opacity:.85; margin-bottom:14px; }
.box_recruit .hero-copy h1{ color:#fff; font-size: 40px; line-height:1.6; }

/* ---- SECTION SPACING ---- */
.box_recruit section{ padding: 108px 0; }
.box_recruit .divider{ height:1px; background: var(--line); }

/* ---- LEAD STATEMENT ---- */
.box_recruit .lead .kicker{ font-size:12px; letter-spacing:.1em; color: var(--rose-deep); margin-bottom:22px; }
.box_recruit .lead h2{ font-size: 25px; line-height: 1.95; letter-spacing:.02em; }
.box_recruit .lead p{ margin-top: 30px; font-size:15px;  }

/* ---- PHILOSOPHY ---- */
.box_recruit .philo-intro{ margin-bottom: 64px; }
.box_recruit .philo-intro .kicker{ font-size:12px; letter-spacing:.1em; color: var(--rose-deep); margin-bottom:18px; }
.box_recruit .philo-intro p{ font-size:14px;  max-width:560px; }

.box_recruit .philo-row{
display:grid; grid-template-columns: 1fr 1fr;
gap: 64px; align-items:center;
margin-bottom: 96px;
}
.box_recruit .philo-row:last-child{ margin-bottom:0; }
.box_recruit .philo-row.reverse .ph-image{ order:2; }
.box_recruit .philo-row.reverse .ph-text{ order:1; }

.box_recruit .ph-image{
aspect-ratio: 4/5;
background-color: var(--photo);
overflow:hidden;
}
.box_recruit .ph-image img{
width:100%; height:100%;
object-fit:cover;
display:block;
}
.box_recruit .ph-text .num{ font-size:12px;  letter-spacing:.1em; margin-bottom:16px; }
.box_recruit .ph-text h3{ font-size:21px; line-height:1.85; margin-bottom:18px; }
.box_recruit .ph-text p{ font-size:14px;  }

/* ---- WIDE PHOTO BREAK ---- */
.box_recruit .wide-photo{
height: 46vh; min-height:320px;
background-color: var(--photo);
border-top:1px solid var(--photo-line); border-bottom:1px solid var(--photo-line);
overflow:hidden;
}
.box_recruit .wide-photo img{
width:100%; height:100%;
object-fit:cover;
display:block;
}

/* ---- REQUIREMENTS ---- */
.box_recruit .req-head{ margin-bottom: 56px; }
.box_recruit .req-head .kicker{ font-size:12px; letter-spacing:.1em; color: var(--rose-deep); margin-bottom:18px; }
.box_recruit .req-head h2{ font-size:26px; line-height:1.9; }
.box_recruit .req-intro{
margin-top: 24px;
font-size:14px;
max-width: 640px;
}
.box_recruit .req-note{
font-size:12px;  background:#EFE9DF; border:1px dashed var(--photo-line);
padding:10px 16px; border-radius:3px; margin-bottom:48px;
}
.box_recruit dl.req{ display:grid; grid-template-columns: 150px 1fr; row-gap:0; }
.box_recruit dl.req div.req-block{ display:contents; }
.box_recruit dl.req dt, .box_recruit dl.req dd{
margin:0; padding: 22px 0;
border-top:1px solid var(--line);
font-size:12px;
}
.box_recruit dl.req .req-block:first-child dt, .box_recruit dl.req .req-block:first-child dd{ border-top: 0px solid var(--line); }
.box_recruit dl.req dt{  letter-spacing:.04em; color: #baaeae;  font-weight: 300;}
.box_recruit dl.req dd{ color: var(--ink); }
.box_recruit dl.req dd p{ margin:0 0 6px; }
.box_recruit dl.req dd p:last-child{ margin-bottom:0; }

/* ---- 給与例テーブル ---- */
.box_recruit .salary-example{ margin-top: 12px; }
.box_recruit .salary-example-title{
font-size:12px; color:#baaeae; letter-spacing:.04em; margin-bottom:6px;
}
.box_recruit .salary-example ul{ list-style:none; margin:0; padding:0; }
.box_recruit .salary-example li{
display:flex; justify-content:space-between; align-items:baseline;
padding: 10px 0;
border-bottom: 1px solid var(--line);
font-size:13px;
}
.box_recruit .salary-example li:first-child{ border-top: 1px solid var(--line); }
.box_recruit .salary-example .label{ color: #57534C; }
.box_recruit .salary-example .amount{ font-size:15px; color: var(--ink); }

/* ---- REQUIREMENTS: 2列レイアウト追加分 ---- */
.box_recruit .req-columns{
display:grid;
grid-template-columns: 1fr 1fr;
gap: 0 72px;
}
.box_recruit .req-column-title{
font-size:18px;
line-height:1.6;
padding-bottom:16px;
border-bottom: 3px double var(--line);
margin-bottom: 8px;
}

/* ---- GALLERY STRIP ---- */
.box_recruit .gallery-strip{ display:grid; grid-template-columns: repeat(3,1fr); gap:14px; }
.box_recruit .gallery-strip .g-item{
aspect-ratio: 1/1;
background-color: var(--photo);
border: 1px solid var(--photo-line);
overflow:hidden;
}
.box_recruit .gallery-strip .g-item img{
width:100%; height:100%;
object-fit:cover;
display:block;
}

/* ---- CTA ---- */
.box_recruit .cta{
  position:relative;
  color:#fff; padding: 120px 0;
  text-align:center;
  /* 単色から同系色グラデーションに変更。cta-photo（背景写真）は現在未使用のため
     疑似要素の画像用オーバーレイは削除し、背景自体をグラデーションで表現 */
  background: linear-gradient(155deg, #4A3D33 0%, #332721 55%, #3A2A2E 100%);
}
.box_recruit .cta-inner{ position:relative; z-index:2; max-width:520px; margin:0 auto; }
.box_recruit .cta-inner .kicker{
  font-size:12px;
  letter-spacing:.14em;
  color:#C9A79A; /* ダーク背景でも視認できるダスティローズ。--rose系と同系統で統一感を保つ */
  margin-bottom:22px;
}
.box_recruit .cta h2{ color:#fff; font-size:24px; line-height:2; margin-bottom:36px; }
.box_recruit .cta-buttons{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.box_recruit .cta-buttons a{
display:inline-block; padding: 14px 30px; font-size:12px; letter-spacing:.08em;
border:1px solid rgba(255,255,255,0.55); text-decoration:none; color:#fff;
border-radius: 2px;
position:relative; z-index:2;
}
.box_recruit .cta-buttons a.solid{ background:#fff; color: var(--ink); border-color:#fff; }

@media (max-width: 760px){
.box_recruit .philo-row, .box_recruit .philo-row.reverse{ grid-template-columns: 1fr; gap:24px; }
.box_recruit .philo-row.reverse .ph-image, .box_recruit .philo-row.reverse .ph-text{ order:initial; }
.box_recruit dl.req{ grid-template-columns: 1fr; }
.box_recruit dl.req dt{ padding-bottom:6px; border-top:1px solid var(--line); }
.box_recruit dl.req dd{ padding-top:0; border-top:none; padding-bottom:22px; }
.box_recruit .req-columns{ grid-template-columns: 1fr; gap: 56px 0; }
.box_recruit .gallery-strip{ grid-template-columns: repeat(3,1fr); gap:8px; }
.box_recruit .hero-copy h1{ font-size:28px; }
.box_recruit section{ padding: 72px 0; }
}