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

.page-recruit{

overflow:hidden;

}


/* ==========================
block
========================== */

.page-recruit .recruit-block{

padding:20px 0;

}


.page-recruit .recruit-content{

display:grid;

grid-template-columns:
minmax(0,.9fr)
minmax(560px,1.1fr);

gap:70px;

align-items:center;

padding:70px 0;

position:relative;

}


.page-recruit .recruit-content:before{

content:"";

position:absolute;

top:0;

left:50%;

transform:translateX(-50%);

width:120px;
height:1px;

background:

linear-gradient(
90deg,
transparent,
rgba(188,158,120,.9),
transparent
);

}


/* 交互 */

.page-recruit .recruit-block:nth-child(even)
.recruit-left{

order:2;

}

.page-recruit .recruit-block:nth-child(even)
.recruit-image{

order:1;

}


/* ==========================
text
========================== */

.page-recruit .recruit-left{

display:flex;

align-items:center;

}


.page-recruit .recruit-text{

max-width:560px;

}


.page-recruit .recruit-mini{

font-size:14px;

letter-spacing:.24em;

color:var(--accent);

margin-bottom:20px;

padding-left:40px;

position:relative;

font-family:
BrilliantCutProMedium;

}


.page-recruit .recruit-mini:before{

content:"";

position:absolute;

left:0;
top:50%;

width:28px;
height:1px;

background:var(--accent);

}


.page-recruit .recruit-heading{

font-size:34px;

line-height:1.5;

margin-bottom:30px;

font-family:
'Cormorant Garamond',
serif;

font-weight:400;

}


.page-recruit .recruit-text p{

font-size:14px;

line-height:2.4;

color:#555;

}


/* ==========================
image
========================== */

.page-recruit .recruit-image{

position:relative;

overflow:hidden;

}


.page-recruit .recruit-image img{

width:100%;

aspect-ratio:16/10;

object-fit:cover;

transition:

transform 1.8s cubic-bezier(.19,1,.22,1);

}


.page-recruit .recruit-content:hover
.recruit-image img{

transform:scale(1.05);

}


.page-recruit .recruit-image:after{

content:"";

position:absolute;

top:20px;
left:20px;

width:100%;
height:100%;

border:
1px solid
rgba(188,158,120,.3);

}


/* ==========================
value
========================== */

.page-recruit .recruit-value{

margin:160px auto;

text-align:center;

}


.page-recruit .recruit-value-title{

font-size:34px;

margin-bottom:70px;

font-family:
Cormorant Garamond;

font-weight:400;

}


.page-recruit .value-grid{

display:grid;

grid-template-columns:
repeat(5,1fr);

gap:25px;

}


.page-recruit .value-card{

padding:50px 25px;

background:#faf9f7;

line-height:2;

font-size:14px;

}


/* ==========================
table
========================== */

.page-recruit .recruit-table-wrap{

max-width:950px;

margin:0 auto 160px;

}


.page-recruit .recruit-table-title{

text-align:center;

font-size:34px;

margin-bottom:60px;

font-family:
Cormorant Garamond;

font-weight:400;

}


.page-recruit .recruit-table{

width:100%;

border-collapse:collapse;

}


.page-recruit .recruit-table th{

width:220px;

padding:35px 0;

text-align:left;

font-size:12px;

letter-spacing:.25em;

color:var(--accent);

font-family:
BrilliantCutProMedium;

border-bottom:
1px solid rgba(188,158,120,.15);

}


.page-recruit .recruit-table td{

padding:35px 0;

line-height:2.3;

border-bottom:
1px solid rgba(188,158,120,.15);

}

/* ==========================
MESSAGE
========================== */

.recruit .recruit-message{

margin:180px auto 0;

max-width:980px;

position:relative;

overflow:hidden; /* ←追加 */

padding:120px 80px;

text-align:center;

isolation:isolate;

}


/* 背景ぼかし */

.recruit .recruit-message:before{

content:"";

position:absolute;

inset:-20px; /* -40 → -20 */

z-index:-1;

background:
linear-gradient(
90deg,
transparent,
rgba(250,249,247,.95) 20%,
rgba(250,249,247,.95) 80%,
transparent
);

filter:blur(24px);

}


/* 上ライン */

.recruit .recruit-message:after{

content:"";

position:absolute;

top:0;

left:50%;

width:80px;

height:1px;

transform:translateX(-50%);

background:

linear-gradient(
90deg,

transparent,

rgba(188,158,120,.9),

transparent
);

}


.recruit .recruit-message-label{

font-size:11px;

letter-spacing:.45em;

color:var(--accent);

margin-bottom:18px;

font-family:
BrilliantCutProMedium;

}


.recruit .recruit-message-title{

font-size:

clamp(
28px,
3vw,
44px
);

font-family:

'Cormorant Garamond',
serif;

font-weight:400;

margin-bottom:60px;

}


/* =========================

代表メッセージ

========================= */

.recruit .recruit-message-body{

max-width:650px;

margin:auto;

display:flex;

flex-direction:column;

gap:30px;

}

.recruit .recruit-message-body p{

font-size:14px;

line-height:2.8;

letter-spacing:.06em;

color:#555;

margin:0;

text-align:center;

text-wrap:pretty;

}


.recruit .recruit-sign{

margin-top:60px;

font-family:

'Cormorant Garamond',
serif;

font-size:24px;

line-height:2;

color:#222;

}


.recruit .recruit-sign span{

display:block;

font-size:11px;

letter-spacing:.35em;

color:var(--accent);

margin-bottom:8px;

font-family:
BrilliantCutProMedium;

}



/* ==========================
SP
========================== */

@media(max-width:768px){

.page-recruit .recruit-content{

grid-template-columns:1fr;

gap:40px;

}


.page-recruit .recruit-image{

order:1!important;

}

.page-recruit .recruit-left{

order:2!important;

}


.page-recruit .recruit-heading{

font-size:28px;

}


.page-recruit .value-grid{

grid-template-columns:1fr 1fr;

gap:15px;

}


.page-recruit .value-card{

padding:30px 20px;

}


.page-recruit .recruit-table th,
.page-recruit .recruit-table td{

display:block;

width:100%;

padding:15px 0;

}
.recruit .recruit-message{

margin-top:100px;

padding:70px 25px;

}

.recruit .recruit-message-title{

margin-bottom:40px;

font-size:30px;

}

.recruit .recruit-sign{

font-size:20px;

}

.recruit .recruit-message-body{

max-width:100%;

padding:0 8px;

gap:22px;

}

.recruit .recruit-message-body p{

font-size:14px;

line-height:2.2;

letter-spacing:.03em;

text-align:left;   /* ←ここ重要 */

}
}

/* ==========================
募集カード
========================== */

.recruit-job-grid{

display:grid;

grid-template-columns:
repeat(2,1fr);

gap:40px;

margin-top:60px;

}


.recruit-card{

background:#fff;

border:
1px solid
rgba(188,158,120,.12);

position:relative;

overflow:hidden;

transition:.5s;

}


.recruit-card:before{

content:"";

position:absolute;

inset:10px;

border:

1px solid
rgba(
188,
158,
120,
.15
);

pointer-events:none;

z-index:2;

}


.recruit-card:hover{

transform:
translateY(-8px);

box-shadow:
0 30px 60px
rgba(0,0,0,.05);

}


.recruit-card-image{

position:relative;

overflow:hidden;

}


.recruit-card-image img{

width:100%;

aspect-ratio:16/10;

object-fit:cover;

transition:1.5s;

}


.recruit-card:hover
img{

transform:scale(1.06);

}


.recruit-badge{

position:absolute;

top:20px;
left:20px;

background:rgba(
188,
158,
120,
.95
);

color:#fff;

font-size:11px;

padding:
8px 14px;

letter-spacing:.15em;

z-index:3;

}


.recruit-card-body{

padding:35px;

}


.recruit-card-cat{

font-size:11px;

letter-spacing:.3em;

color:var(--accent);

margin-bottom:15px;

}


.recruit-card-title{

font-size:28px;

font-family:
'Cormorant Garamond';

margin-bottom:12px;

font-weight:400;

}


.recruit-card-sub{

font-size:13px;

margin-bottom:15px;

opacity:.7;

}


.recruit-card-copy{

font-size:14px;

line-height:2;

color:#666;

margin-bottom:25px;

}


.recruit-card-link{

font-size:12px;

letter-spacing:.25em;

color:var(--accent);

display:inline-block;

position:relative;

padding-bottom:8px;

}


.recruit-card-link:after{

content:"";

position:absolute;

left:0;
bottom:0;

width:100%;

height:1px;

background:var(--accent);

}



@media(max-width:768px){

.recruit-job-grid{

grid-template-columns:1fr;

gap:30px;

}

.recruit-card-body{

padding:25px;

}

.recruit-card-title{

font-size:22px;

}

}