@charset "utf-8";

body{
color:#d3d3d3;
}
/* ===== hero ===== */
.recruit_visual .hero_top {
  height: 100svh;
}
@media (min-width: 600px) {
  .recruit_visual .hero_top {
    height: 380px;
  }
}
.hero_zoom_ready {
  transform: scale(1.0);
}
.hero_zoom_start {
  animation: heroZoom 5s linear forwards;
}
@keyframes heroZoom {
  0%   { transform: scale(1.0); }
  100% { transform: scale(1.3); }
}


/* hero オーバーレイ */
.recruit_visual .hero_sub::after {
background:
linear-gradient(90deg,
rgba(0,0,0,.55) 0%,
rgba(0,0,0,.43) 15%,
rgba(0,0,0,.0) 45%,
rgba(0,0,0,0) 75%);
}

.hero_absolute::before{
content:"";
width:0px;
}
.hero_text{
position:absolute;
top:66%;
transform:translateY(-50%);
left:1%;
}
.hero_absolute h1 span,
.hero_absolute p span,
.hero_absolute em span{
display:inline-block;
vertical-align:top;
opacity:0;
animation-duration:.7s;
animation-timing-function:ease;
animation-fill-mode:forwards;
}

.hero_absolute h1,
.hero_absolute h1 span{
font-size:1.4rem;
letter-spacing:.06em;
line-height:1.4;
color:white;
text-align:left;
margin:0rem 0 0rem 0;
}

.hero_absolute p,
.hero_absolute p span{
font-size:2.7rem;
letter-spacing:.1em;
line-height:1.3;
color:white;
text-align:left;
margin:0rem 0 0rem 0.1rem;
}

.hero_absolute em,
.hero_absolute em span{
margin:0.8rem 0 0 0rem;
font-size:0.9rem;
line-height:1.4;
color:white;
text-align:left;
letter-spacing:.15em;
}
.header{
background:linear-gradient(
to bottom,
rgba(255,199,120,.4) 0%,
rgba(255,199,120,.15) 35%,
rgba(0,0,0,0) 100%
);
}

/* ===== scroll indicator ===== */
.rec_scroll {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 11%;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}
.rec_scroll_line {
  display: inline-block;
  padding: 10px 40px 58px 40px;
  overflow: hidden;
  width: 1px;
}
.rec_scroll_line::after {
  content: '';
  position: absolute;
  width: 1px;
  height: 52px;
  background: #cccccc;
  animation: recScrollLine 1.7s cubic-bezier(1,0,0,1) infinite;
}
@keyframes recScrollLine {
  0%    { transform: scale(1,0); transform-origin: 0 0; }
  50%   { transform: scale(1,1); transform-origin: 0 0; }
  50.1% { transform: scale(1,1); transform-origin: 0 100%; }
  100%  { transform: scale(1,0); transform-origin: 0 100%; }
}
.rec_scroll_text {
  display: inline-block;
  letter-spacing: 6px;
  font-size: 1.2rem;
  color: white;
  padding-left: 8px;
}


/* ===== 共通セクション ===== */
.back_recruit{
background:#111111;
padding:0rem 0 3rem 0;
}
.rec_width_pc{
max-width:600px;
margin:auto;
}
.rec_padding{
padding:3rem 0;
}

/* 左右＆ぼわー演出 */
.blur_right{
opacity:0;
filter:blur(18px);
transform:translateX(-20px) scale(1.04);
transition:
  opacity 1.3s ease,
  filter 1.3s ease,
  transform 1.3s ease;
}
.blur_right.is_show{
opacity:1;
filter:blur(0);
transform:translateX(0) scale(1);
}
/* 左右＆ぼわー演出 */
.blur_left{
opacity:0;
filter:blur(18px);
transform:translateX(20px) scale(1.04);
transition:
  opacity 1.3s ease,
  filter 1.3s ease,
  transform 1.3s ease;
}
.blur_left.is_show{
opacity:1;
filter:blur(0);
transform:translateX(0) scale(1);
}

/* ===== messeage ===== */
.rec_message_relative{
position:relative;
}
.profile_absolute{
position:absolute;
right:-5px;
top:5px;
z-index:1;
}
.profile_absolute img{
width:108px;
opacity:0.04;
}
.sub_line{
width:180px;
height:auto;
display:block;
margin:.5rem auto 0;
opacity:0.5;
}

.sub_title p{
font-size:2rem;
letter-spacing:.06em;
color:#d6c4ac;
font-weight:normal;
line-height:1.6;
}
.sub_title h2{
font-size:1.2rem;
letter-spacing:.09em;
color:#d6c4ac;
font-weight:normal;
line-height:1.2;
display:block;
margin-top:0.6rem;
}
.rec_message{
display:block;
text-align:center;
width:90%;
margin:2rem auto 0;
}
.rec_message p{
display:inline-block;
text-align:center;
font-size:1.45rem;
letter-spacing:.14em;
line-height:1.9;
color:#bfbfbf;
}

/* ===== point共通 ===== */
.rec_point img{
width:100%;
}
.rec_left{
width:82%;
margin:-10rem auto 0;
text-align:left;
position:relative;
z-index:5;
}
.rec_right{
width:80%;
margin:-10rem auto 0;
text-align:right;
position:relative;
z-index:5;
}
.rec_gold{
color:#d6c4ac;
}
.rec_span{
display:block;
font-size:1.2rem;
letter-spacing:.2em;
line-height:1.5;
color:#d3d3d3;
}
.rec_em{
display:block;
font-size:2.5rem;
letter-spacing:.05em;
line-height:1.5;
color:#d6c4ac;
}
.rec_h2{
display:block;
font-size:1.9rem;
letter-spacing:.2em;
line-height:1.5;
color:#d3d3d3;
margin-bottom:1rem;
}
.rec_p{
display:block;
font-size:1.3rem;
letter-spacing:.12em;
line-height:1.9;
text-align:left;
margin-top:1.5rem;
}
/* ===== point2 ===== */
.rec_pick{
display:block;
font-size:1.4rem;
letter-spacing:.07em;
line-height:1.7;
text-align:left;
margin:1.5rem 0 0 0.5rem;
position:relative;
padding-left:2.2rem;
}
.rec_pick::before{
content:"";
position:absolute;
left:0;
top:0.17em;
width:8px;
height:14px;
border-right:2px solid #a67c52;
border-bottom:2px solid #a67c52;
transform:rotate(45deg);
}
/* ===== point3 ===== */
.rec_qa_flex{
display:flex;
align-items:center;
justify-content:flex-start;
margin:2.2rem 0 0.6rem;
}
.rec_qa_em{
color:#a67c52;
line-height:1.8;
font-size:1.7rem;
padding:0 1.7rem 0 0;
}
.rec_qa_em2{
color:#c7b299;
line-height:1.8;
font-size:1.7rem;
padding:0rem 1.7rem 0 0;
}
.rec_qa_span{
font-weight:bold;
display:block;
font-size:1.3rem;
letter-spacing:.08em;
line-height:1.7;
text-align:left;
color:#c7b299;
}
.rec_qa_p{
font-weight:block;
display:block;
font-size:1.3rem;
letter-spacing:.08em;
line-height:1.8;
text-align:left;
}


/* =========================
求人情報テーブル
========================= */
.rec_em_bottom{
display:block;
font-size:2.2rem;
letter-spacing:.05em;
line-height:1.5;
color:#d6c4ac;
}
.rec_h2_bottom{
display:block;
font-size:1.5rem;
letter-spacing:.1em;
line-height:1.5;
color:#d3d3d3;
margin:0.5rem 0 0.3trm;
}
.rec_info_table{
width:100%;
border-collapse:separate;
border-spacing:0;
margin:1rem auto 0;
background:rgba(255,255,255,.03);
border:1px solid rgba(199,178,153,.25);
box-shadow:
0 10px 30px rgba(0,0,0,.25);
overflow:hidden;
}
.rec_info_table tr:not(:last-child) th,
.rec_info_table tr:not(:last-child) td{
border-bottom:1px solid rgba(199,178,153,.12);
}
.rec_info_table th{
width:75px;
padding:1.6rem 0;
background:rgba(199,178,153,.08);
text-align:center;
vertical-align:middle;
border-right:1px solid rgba(199,178,153,.15);
}
.rec_info_table th h3{
display:inline-block;
text-align:left;
padding:0 0.5rem 0 0.5rem;
color:#d6c4ac;
font-size:1.25rem;
font-weight:bold;
letter-spacing:.03em;
line-height:1.7;
}

.rec_info_table td{
padding:1.6rem;
color:rgba(255,255,255,.88);
font-size:1.25rem;
line-height:1.9;
letter-spacing:.05em;
background:transparent;
}
/* 応募*/
.rec_contact_padding{
padding:7rem 0;
}
.rec_em_contact{
display:block;
font-size:2.3rem;
letter-spacing:.05em;
line-height:1.5;
color:#d6c4ac;
}
.rec_h2_contact{
display:block;
font-size:1.7rem;
letter-spacing:.2em;
line-height:1.5;
color:#a5a5a5;
margin-bottom:1rem;
}
.rec_p_contact{
display:block;
font-size:1.4rem;
letter-spacing:.08em;
line-height:1.8;
text-align:left;
margin-top:1.5rem;
}
.rec_center{
width:82%;
margin:0rem auto 0;
text-align:center;
position:relative;
z-index:5;
}
.rec_ul{
display:grid;
grid-template-columns:repeat(2,1fr);
align-items:center;
justify-content:center;
gap:1.7rem;
width:82%;
margin:2.5rem auto;
}
.rec_ul li{
border:1px solid #564d41;
display:flex;
align-items:center;
justify-content:center;
padding:0.9rem 0.2rem;
}
.rec_ul li img{
width:26px;
margin-right:0.8rem;
}
.rec_ul li p{
display:block;
font-size:1.3rem;
letter-spacing:.08em;
line-height:1.7;
}

/* ===== 応募フォーム ===== */
.rec_form_inner{
width:82%;
margin:3.5rem auto 0;
}
.rec_form_title{
font-size:1.5rem;
letter-spacing:.1em;
color:#d6c4ac;
text-align:center;
padding:2.1rem 0 1.8rem;
border:1px solid rgba(199,178,153,.25);
background:rgba(199,178,153,.05);
}
.rec_field{
border:1px solid rgba(199,178,153,.2);
border-top:none;
}
.rec_form_width{
background:rgba(199,178,153,.06);
padding:1.2rem 1rem 0.8rem 0.5rem;
border-bottom:1px solid rgba(199,178,153,.12);
}
.rec_label{
display:block;
font-size:1.3rem;
letter-spacing:.06em;

width:95%;
margin:auto;
}
.rec_required{
font-size:1.0rem;
color:#c07060;
margin-left:.5rem;
}
.rec_sub_label{
font-size:1.0rem;
color:#bbbbbc;
margin-left:.5rem;
}
.rec_input{
display:block;
width:95%;
margin:1.4rem auto 1.4rem;
box-sizing:border-box;
background:transparent;
border:none;
padding:.9rem 1rem;
font-size:1.6rem;
outline:none;
background:#d3d3d3;
}
.rec_input::placeholder{
color:#444;
font-size:1.2rem;
}
.rec_select{
-webkit-appearance:none;
appearance:none;
cursor:pointer;
}
.rec_day_time_wrap{
display:flex;
gap:.8rem;
padding:1.5rem 1rem 1.5rem;
}
.rec_day_select{
flex:2;
border:1px solid rgba(199,178,153,.35);
padding:1rem 1rem;
font-size:1.6rem;
color:#424242;
background:#d3d3d3;
}
.rec_time_select{
flex:1;
border:1px solid rgba(199,178,153,.35);
padding:.7rem .8rem;
font-size:1.6rem;
color:#424242;
background:#d3d3d3;
}
.rec_textarea{
height:90px;
resize:vertical;
line-height:1.4;
margin:1.3rem auto 1.1rem;
background:#d3d3d3;
}
.rec_radio_ul{
display:flex;
flex-wrap:wrap;
gap:1.1rem;
padding:1.5rem 1rem 1.5rem;
list-style:none;
}
.rec_radio_label{
cursor:pointer;
}
.rec_radio_label input[type="radio"]{
display:none;
}
.rec_radio_label span{
display:block;
padding:.8rem 2rem;
border:1px solid rgba(199,178,153,.25);
font-size:1.4rem;
color:#424242;
background:#d3d3d3;
letter-spacing:.06em;
transition:background .2s, color .2s, border-color .2s;
}
.rec_radio_label input[type="radio"]:checked + span{
background:rgba(199,178,153,.15);
color:#d6c4ac;
border-color:rgba(199,178,153,.6);
}
.rec_field_error{
font-size:1.1rem;
color:#c06050;
padding:.2rem .8rem .4rem;
}
.rec_global_error{
text-align:center;
padding:.6rem 0;
}
.rec_form_submit{
text-align:center;
margin:2.5rem 0 1rem;
}
.rec_success{
text-align:center;
padding:3rem 1.5rem;
border:1px solid rgba(199,178,153,.3);
margin-top:2rem;
}
.rec_success_text{
font-size:1.4rem;
color:#d6c4ac;
line-height:2.2;
letter-spacing:.1em;
}

