/* ======================================
RECRUIT ARCHIVE
archive-recruit_job
完全スコープ版
====================================== */

.recruit-archive{

position:relative;

overflow:hidden;

padding-bottom:180px;

}



/* ======================================
INTRO
====================================== */

.recruit-archive .about-intro{

margin-bottom:100px;

}



/* ======================================
GRID
====================================== */

.recruit-archive .recruit-grid{

display:grid;

grid-template-columns:

repeat(
2,
minmax(0,1fr)
);

gap:80px 55px;

align-items:start;

}



/* ======================================
CARD
====================================== */

.recruit-archive .card-recruit{

position:relative;

}


.recruit-archive .card-recruit a{

display:block;

text-decoration:none;

color:inherit;

}



/* ======================================
IMAGE
====================================== */

.recruit-archive .card-recruit-image{

position:relative;

overflow:hidden;

transform:translateZ(0);

}


.recruit-archive .card-recruit-image img{

display:block;

width:100%;

aspect-ratio:4/3;

object-fit:cover;

transition:

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

will-change:transform;

}


.recruit-archive .card-recruit:hover
.card-recruit-image img{

transform:scale(1.05);

}


/* 外枠 */

.recruit-archive .card-recruit-image:after{

content:"";

position:absolute;

top:18px;
left:18px;

width:100%;
height:100%;

border:

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

pointer-events:none;

}



/* ======================================
BADGE
====================================== */

.recruit-archive .badge{

position:absolute;

top:25px;
left:25px;

z-index:5;

padding:

8px 16px;

background:

rgba(
255,
255,
255,
.95
);

backdrop-filter:

blur(10px);

font-size:10px;

letter-spacing:.28em;

font-family:

BrilliantCutProMedium;

color:var(--accent);

text-transform:uppercase;

border:

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

}



/* ======================================
BODY
====================================== */

.recruit-archive .card-recruit-body{

padding:

35px
15px
0;

text-align:center;

}



/* category */

.recruit-archive .category{

font-size:11px;

letter-spacing:.35em;

font-family:

BrilliantCutProMedium;

color:var(--accent);

margin-bottom:16px;

text-transform:uppercase;

}



/* title */

.recruit-archive .card-recruit-body h3{

font-size:

clamp(
28px,
2vw,
36px
);

line-height:1.4;

font-family:

'Cormorant Garamond',
serif;

font-weight:400;

margin-bottom:20px;

color:#222;

}



/* copy */

.recruit-archive .copy{

font-size:13px;

line-height:2.2;

color:#666;

max-width:420px;

margin:

0 auto
35px;

}



/* ======================================
LINK
====================================== */

.recruit-archive .card-link{

display:inline-block;

position:relative;

font-size:11px;

letter-spacing:.35em;

padding-bottom:12px;

color:var(--accent);

text-transform:uppercase;

}


.recruit-archive .card-link:before{

content:"";

position:absolute;

left:0;
bottom:0;

width:0;
height:1px;

background:

var(--accent);

transition:

width .6s
cubic-bezier(
.19,
1,
.22,
1
);

}


.recruit-archive .card-recruit:hover
.card-link:before{

width:100%;

}



/* ======================================
空時
====================================== */

.recruit-archive .no-post{

padding:120px 0;

text-align:center;

font-size:14px;

color:#666;

}



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

@media(max-width:768px){

.recruit-archive{

padding-bottom:100px;

}


.recruit-archive .about-intro{

margin-bottom:60px;

}


.recruit-archive .recruit-grid{

grid-template-columns:1fr;

gap:50px;

}


.recruit-archive .card-recruit-image:after{

top:10px;
left:10px;

}


.recruit-archive .card-recruit-body{

padding-top:25px;

}


.recruit-archive .card-recruit-body h3{

font-size:28px;

}


.recruit-archive .copy{

line-height:2;

margin-bottom:25px;

}


.recruit-archive .badge{

top:15px;
left:15px;

font-size:9px;

padding:

7px 10px;

}

}

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

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

}

}