@charset "utf-8";
/* ===========================================================
 *
 * 山梅リクルート スタイルシート
 * Last UpDate : 2026/9/5 *
 *
 * ■ ブレークポイント（オフィシャル style_renewal.css と同一の4デバイス）
 *   SP    : @media screen and (max-width:680px)
 *   TAB   : @media screen and (max-width:1200px)   … 681〜1200（SPはこの後のSPブロックで上書き）
 *   PC    : ベース（メディアクエリなし）＝ 1201〜1500 を想定
 *   PCIDE : @media screen and (min-width:1501px)   … ベースの clamp() 最大値（1920デザイン基準）がそのまま効く。
 *           ピクセル固定で詰めたい箇所のみこのブロックで上書き
 *   ※ 中間BP（1000 / 900 / 600px）は 1200 / 680 に統一済み
=========================================================== */

:root{
	/* デザインから実測（01トップ crop をピクセル抽出） */
	--rc-green:      #12a33e;   /* 鮮やか緑：ニュース帯 / カード緑帯 / Our Team背景 / まずは〜文字 / 現場監督ボタン */
	--rc-green-em:   #13a36e;   /* エメラルド緑：「現場監督」ボックス / 「山梅の仕事」ラベル帯 */
	--rc-green-d:    #0f8a34;   /* 濃いめ緑：ボタン文字 / hover */
	--rc-green-deep: #316455;   /* ティール濃緑：コンセプト背景 / Information背景 / コーポレートサイトボタン / 下層MV */
	--rc-genba:      #3d7d60;   /* 現場監督セクション本文 */
	--rc-lime:       #92e068;   /* ライム：山梅の強み バッジ */
	--rc-mint:       #f4fbf6;   /* ペールミント：数字カード背景 */
	--rc-ink:        #222;   /* 白系背景の本文は原則この色 */
	--rc-en:         "Roboto","Noto Sans JP",sans-serif;
	--rc-jp:         "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
	--rc-ease:       cubic-bezier(.25,.46,.45,.94);
}

/* ---------- base ---------- */
.rc_top{ display:block; }
.rc_top,.rc_header,.rc_footer,.rc_entry,.rc_mv,.rc_lnavi{
	font-family:var(--rc-jp); color:var(--rc-ink);
	line-height:1.8; letter-spacing:.03em;
}
.rc_top *,.rc_header *,.rc_footer *,.rc_entry *,.rc_mv *,.rc_lnavi *{ box-sizing:border-box; }
.rc_top p,.rc_header p,.rc_footer p,.rc_entry p,.rc_mv p{ margin:0; padding:0; }
.rc_top img,.rc_mv img{ display:block; width:100%; height:auto; }

/* ---- 表示切替ユーティリティ（SP=〜680 / それ以外=681〜。表示側は要素本来のdisplay） ---- */
@media screen and (max-width:680px){
	.rc_hide_sp{ display:none !important; }    /* SPで非表示（＝PC/TAB/PCIDE用） */
}
@media screen and (min-width:681px){
	.rc_hide_pc{ display:none !important; }    /* 681px以上で非表示（＝SP専用） */
}

.rc_inner{ width:100%; max-width:1240px; margin-inline:auto; padding-inline:40px; }

.rc_label{
	display:inline-block; font-size:clamp(1.4rem,1.05vw,2rem); font-weight:700; letter-spacing:.12em;
	color:var(--rc-green); padding-top:10px; position:relative; margin:0 0 20px;
}
.rc_label::before{
	content:""; 
	position:absolute; 
	left:0; 
	top:-10px;
	width:clamp(40px,3.4vw,66px); height:2px; background:var(--rc-green);

}
.rc_label--light{ color:#fff; }
.rc_label--light::before{ background:#fff; }
.rc_top .fa-chevron-right{ font-size:.78em; }


.noto-sans-jp{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}


.roboto {
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.m-plus-rounded-1c-regular {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}


.google-sans-flex{
  font-family: "Google Sans Flex", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings:
    "slnt" 0,
    "wdth" 100,
    "GRAD" 0,
    "ROND" 0;
}

.yuji-boku-regular {
  font-family: "Yuji Boku", serif;
  font-weight: 400;
  font-style: normal;
}

.kiwi-maru-regular {
  font-family: "Kiwi Maru", serif;
  font-weight: 400;
  font-style: normal;
}

.zen-old-mincho-regular {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

/* ============================================================
   Header
   ============================================================ */
.rc_header{
	position:absolute; top:0; left:0; width:100%; z-index:100;
	transition:transform .4s var(--rc-ease);
}
.rc_header.is-hidden{ transform:translateY(-100%); }
.rc_header_inner{ display:flex; align-items:flex-start; }

.rc_header_logo{ flex:0 0 auto; }
.rc_header_logo a{
	display:flex; align-items:center; gap:18px;
	background:#fff; padding:18px 38px;
}
.rc_header_logo img{ width:auto; height:clamp(30px,2.2vw,44px); }
.rc_header_logo_txt{
	font-size:clamp(1.9rem,2.1vw,4rem); font-weight:700; color:var(--rc-green);
	letter-spacing:.04em; white-space:nowrap;
}

.rc_gnav{ margin-left:auto; padding-top:30px; }
.rc_gnav ul{ display:flex; gap:clamp(20px,2vw,40px); }
.rc_gnav a{
	font-size:clamp(1.4rem,1.1vw,2.1rem); font-weight:700; color:#fff;
	text-shadow:0 1px 8px rgba(0,0,0,.4); transition:opacity .3s;
}
.rc_gnav a:hover{ opacity:.7; }

.rc_header_entry{ display:flex; gap:10px; padding-top:24px; padding-left:32px; }
.rc_header_entry_btn{
	display:inline-flex; align-items:center;
	font-size:clamp(1.2rem,.85vw,1.6rem); font-weight:700; color:var(--rc-green-d);
	background:#fff; border:1px solid #fff; border-radius:3px;
	padding:10px 16px; white-space:nowrap;
	transition:background .3s,color .3s;
}
.rc_header_entry_btn:hover{ background:var(--rc-green); color:#fff; }

.rc_header_sns{ padding-top:22px; padding-left:22px; padding-right:24px; }
.rc_header_sns a{
	display:flex; width:clamp(36px,2.4vw,46px); height:clamp(36px,2.4vw,46px);
	align-items:center; justify-content:center;
	border-radius:50%; background:#fff; color:var(--rc-green); font-size:clamp(1.7rem,1.2vw,2.2rem);
}

/* ---- ドロワー（〜1500） ---- */
.rc_header_drawer{ position:relative; }
/* ハンバーガー：style_renewal.css の .toggle 実装（button の ::before/::after ＋ > span で3本線）を
   こちらで完全上書き。renewal が span 内に入れる擬似要素は打ち消す */
.rc_header_drawer .toggle{
	position:fixed; top:0; right:0; z-index:1010;
	width:60px; height:60px; margin:0; padding:0; border:0;
	background:var(--rc-green);  cursor:pointer;
	-webkit-appearance:none; appearance:none;
}
.rc_header_drawer .toggle > span,
.rc_header_drawer .toggle::before,
.rc_header_drawer .toggle::after{
	content:""; display:block; position:absolute; left:50%; top:50%;
	width:24px; height:2px; margin:0; background:#fff; border-radius:1px;
	transform:translate(-50%,-50%);
	transition:transform .3s var(--rc-ease),opacity .3s;
	animation:none;
}
.rc_header_drawer .toggle::before{ transform:translate(-50%,-50%) translateY(-8px); }
.rc_header_drawer .toggle::after{ transform:translate(-50%,-50%) translateY(8px); }
.rc_header_drawer .toggle span::before,
.rc_header_drawer .toggle span::after{ content:none; display:none; }
.rc_header_drawer .toggle[aria-expanded="true"] > span{ opacity:0; }
.rc_header_drawer .toggle[aria-expanded="true"]::before{ transform:translate(-50%,-50%) rotate(45deg); animation:none; }
.rc_header_drawer .toggle[aria-expanded="true"]::after{ transform:translate(-50%,-50%) rotate(-45deg); animation:none; }
.rc_header_drawer #nav{
	position:fixed; inset:0; z-index:1005; background:var(--rc-green-deep);
	padding:96px 32px 40px; overflow-y:auto;
	opacity:0; visibility:hidden;
	transition:opacity .35s var(--rc-ease),visibility .35s;
}
.rc_header_drawer #nav[aria-hidden="false"]{ opacity:1; visibility:visible; }
.rc_header_drawer #nav .accordion_menu li{ border-bottom:1px solid rgba(255,255,255,.2); }
.rc_header_drawer #nav .accordion_menu a{
	display:block; padding:18px 4px; font-size:1.6rem; font-weight:700; color:#fff;
}

/* ============================================================
   FV
   ============================================================ */
.rc_fv{
	position:relative; height:100vh; min-height:660px; max-height:1040px; overflow:hidden;
}
.rc_fv_img{ position:absolute; inset:0; z-index:0; }
.rc_fv_img img{ display:block; width:100%; height:100%; object-fit:cover; }
.rc_fv_img::after{
	content:""; position:absolute; inset:0;
	background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,.10) 100%);
}
.rc_fv_catch{
	position:absolute; left:0; bottom:19%; width:100%; z-index:3;
	padding-inline:clamp(24px,4vw,72px); color:#fff;
}
.rc_fv_en{
	font-family:var(--rc-en); font-weight:500;
	font-size:clamp(6rem,12vw,20rem); line-height:1; letter-spacing:.03em;
	color: #fff;
}
.rc_fv_ja{
	font-size:clamp(2rem,2vw,3.8rem); font-weight:700; margin-top:10px;
	text-shadow:0 2px 14px rgba(0,0,0,.5);
}
.rc_fv_news{
	position:absolute; right:0; bottom:0; z-index:3;
	display:flex; align-items:center; gap:clamp(16px,2.4vw,40px);
	width:min(60%,1180px);
	background:var(--rc-green); color:#fff;
	padding:clamp(20px,2.4vw,34px) clamp(28px,4vw,64px) clamp(20px,2.4vw,34px) clamp(24px,3vw,48px);
}
.rc_fv_news_date{ font-weight:700; letter-spacing:.08em; flex:0 0 auto; font-size:clamp(1.3rem,1vw,1.8rem); }
.rc_fv_news_txt{
	flex:1 1 auto; font-size:clamp(1.5rem,1.35vw,2.6rem); font-weight:700;
	overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.rc_fv_news_arrow{ flex:0 0 auto; font-size:1.5rem; }

/* ============================================================
   Concept
   ============================================================ */
.rc_concept{
	position:relative; z-index:2;
	background:var(--rc-green-deep);   /* フル幅の濃緑バンド */
	padding:168px 0 180px;
}
.rc_concept_body{
	position:relative; z-index:1;
	max-width:1240px; margin-inline:auto; padding-inline:40px; color:#fff;
}
.rc_concept_en{
	font-family:var(--rc-en); font-weight:500;
	font-size:clamp(4rem,4.9vw,9.6rem); line-height:1.08; margin-bottom:34px;
}
.rc_concept_lead{
	font-size:clamp(1.9rem,1.6vw,3.1rem); font-weight:700; line-height:1.6; margin-bottom:34px;
}
.rc_concept_txt{ font-size:clamp(1.5rem,1.05vw,2rem); line-height:2; color:rgba(255,255,255,.92); }

.rc_concept_media{
	position:absolute; right:12%; top:200px; z-index:5;
	width:35%; max-width:660px;
}
.rc_concept_swiper{ overflow:hidden; }
.rc_concept_swiper .swiper-slide img{ width:100%; aspect-ratio:66/52; object-fit:cover; }
.rc_concept_pager{ position:static; margin-top:16px; text-align:right; line-height:1; }
.rc_concept_pager .swiper-pagination-bullet{
	width:9px; height:9px; background:#cfd8d2; opacity:1; margin:0 5px !important;
}
.rc_concept_pager .swiper-pagination-bullet-active{ background:var(--rc-green); }

/* ============================================================
   Since 1941
   ============================================================ */
.rc_since{
	position:relative; z-index:1; padding:172px 0; overflow:hidden;
	color:#fff;
	/* 背景はCSSで指定。暗いオーバーレイを重ねて写真を暗く */
	background-color:#12201a;
	background-image:
		linear-gradient(180deg, rgba(8,14,10,.3), rgba(8,14,10,.42)),
		url(/info/wp-content/uploads/recruit_since_bg01.jpg);
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
}
.rc_since_inner{ position:relative; z-index:1; }
.rc_since_ttl{ font-family:var(--rc-en); line-height:1; margin-bottom:42px; letter-spacing: 0;}
.rc_since_ttl span{ font-weight:400; font-size:clamp(4.6rem,7.8vw,15rem); }
.rc_since_ttl b{ font-weight:600; font-size:clamp(6.4rem,10vw,16rem); font-family: "Google Sans Flex", sans-serif; }
.rc_since_txt{ font-size:clamp(1.5rem,1.05vw,2rem); line-height:2; margin-bottom:62px; max-width:1120px; text-shadow:0 2px 14px rgba(0,0,0,.4); }
.rc_since_cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }

/* ---- カード＋緑帯（Since / Information 共通） ---- */
.rc_cardbar_list a{ display:block; }
.rc_cardbar_img{ display:block; overflow:hidden; }
.rc_cardbar_img img{
	width:100%; aspect-ratio:44/26; object-fit:cover; background:#cccccc;
	transition:transform .5s var(--rc-ease);
}
.rc_cardbar_list a:hover .rc_cardbar_img img{ transform:scale(1.05); }
.rc_cardbar_bar{
	position:relative; z-index:2;
	display:flex; align-items:center; justify-content:space-between; gap:10px;
	width:100%; margin-top:-32px;
	background:var(--rc-green); color:#fff; font-weight:700;
	font-size:clamp(1.4rem,.95vw,1.8rem); padding:17px 22px;
}
.rc_cardbar_list a:hover .rc_cardbar_bar{ background:var(--rc-green-d); }

/* ============================================================
   現場監督という仕事
   ============================================================ */
.rc_genba{ position:relative; background:#fff; padding:172px 0; overflow:hidden; }
.rc_genba_media{ position:absolute; top:60px; right:0; z-index:1; width:50%; max-width:1010px; }
.rc_genba_media img{ width:100%; aspect-ratio:100/68; max-height:660px; object-fit:cover; }
.rc_genba_body{
	position:relative; z-index:2;
	max-width:1560px; margin-inline:auto; padding-inline:40px;
}
.rc_genba_body > *{ max-width:640px; }
.rc_genba_ttl{ margin-bottom:22px; line-height:1; }
.rc_genba_ttl b{
	display:inline-block; vertical-align:middle;
	background:var(--rc-green-em); color:#fff;
	font-size:clamp(3.4rem,4vw,7.8rem); font-weight:700; letter-spacing:.12em;
	padding:14px 26px 16px;
}
.rc_genba_ttl span{
	display:inline-block; vertical-align:middle;
	font-size:clamp(2.4rem,2.45vw,4.8rem); font-weight:700; margin-left:20px;
}
.rc_genba_lead{
	font-size:clamp(2.4rem,2.35vw,4.6rem); font-weight:700; color:var(--rc-green);
	line-height:1.4; margin:28px 0 24px;
}
.rc_genba_txt{ font-size:clamp(1.5rem,1.05vw,2rem); color:var(--rc-genba); line-height:2; margin-bottom:38px; }
.rc_genba_btn a{
	display:inline-flex; align-items:center; gap:12px;
	background:var(--rc-green); color:#fff; font-weight:700; font-size:clamp(1.4rem,1vw,2rem);
	padding:18px 38px; transition:background .3s;
}
.rc_genba_btn a:hover{ background:var(--rc-green-d); }

/* ============================================================
   山梅の仕事
   ============================================================ */
.rc_works{ background:#fff; padding:0 0 172px; overflow:hidden; } /* ラベル裁ち落としの横スクロール防止 */
.rc_works_row{
	display:flex; align-items:center; gap:clamp(24px,3vw,50px);
	max-width:1560px; margin-inline:auto; padding-right:40px;
}
.rc_works_label{
	flex:0 0 auto; align-self:center;
	background:var(--rc-green-em); color:#fff;
	font-size:clamp(2.6rem,3vw,5.8rem); font-weight:700; letter-spacing:.12em; white-space:nowrap;
	padding-block:clamp(22px,2.6vw,42px);
	margin-left:calc(50% - 50vw);
	padding-left:calc(50vw - 50% + 40px);
	padding-right:clamp(28px,3vw,56px);
}
.rc_works_list{ flex:1 1 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.rc_works_img{ display:block; overflow:hidden; }
.rc_works_img img{ width:100%; aspect-ratio:36/24; object-fit:cover; transition:transform .5s var(--rc-ease); }
.rc_works_list a:hover .rc_works_img img{ transform:scale(1.05); }
.rc_works_ttl{ display:block; font-size:clamp(1.7rem,1.15vw,2.3rem); font-weight:700; margin:16px 0 5px; }
.rc_works_catch{ display:block; font-size:clamp(1.3rem,.85vw,1.6rem); color:#777; }

/* ============================================================
   Our Team
   ============================================================ */
.rc_team{ background:var(--rc-green); color:#fff; padding:160px 0 172px; }
.rc_team_inner{ max-width:1760px; margin-inline:auto; padding-inline:40px; }
.rc_team_en{
	font-family:var(--rc-en); font-weight:500;
	font-size:clamp(4.8rem,5.4vw,10.4rem); line-height:1; margin-bottom:62px;
	color: #fff;
}
.rc_team_list{ display:grid; grid-template-columns:repeat(3,1fr); gap:48px; }
.rc_team_img{ display:block; overflow:hidden; }
.rc_team_img img{ width:100%; aspect-ratio:59/33; object-fit:cover; }
.rc_team_msg{ display:block; font-size:clamp(1.4rem,.95vw,1.7rem); line-height:1.9; margin:20px 0 14px; }
.rc_team_name{ display:flex; align-items:baseline; gap:14px; }
.rc_team_name b{ font-size:clamp(1.6rem,1.1vw,2.2rem); font-weight:700; }
.rc_team_meta{ font-size:clamp(1.2rem,.75vw,1.4rem); color:rgba(255,255,255,.85); }
.rc_team_btn{ text-align:right; margin-top:46px; }
.rc_team_btn a{
	display:inline-flex; align-items:center; gap:12px;
	background:#fff; color:var(--rc-green-d); font-weight:700; font-size:clamp(1.4rem,1vw,1.7rem);
	padding:18px 34px; transition:opacity .3s;
}
.rc_team_btn a:hover{ opacity:.85; }

/* ============================================================
   Information
   ============================================================ */
.rc_info{ background:var(--rc-green-deep); color:#fff; padding:160px 0 172px; }
.rc_info_en{
	font-family:var(--rc-en); font-weight:500;
	font-size:clamp(5rem,5.8vw,11.2rem); line-height:1; margin-bottom:62px;
}
.rc_info_list{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px; }
.rc_info_list .rc_cardbar_img img{ aspect-ratio:52/30; }

/* ============================================================
   Entry CTA（footer_recruit.php）
   ============================================================ */
.rc_entry{ position:relative; background:#2c3a30; color:#fff; overflow:hidden; }
.rc_entry::before{
	content:""; position:absolute; inset:0; z-index:0;
	background:url(/info/wp-content/uploads/recruit_footer_entry_bg01.jpg) center/cover no-repeat;
}
.rc_entry::after{ content:""; position:absolute; inset:0; z-index:1; background:rgba(28,50,36,.5); }
.rc_entry_inner{
	position:relative; z-index:2;
	display:flex; align-items:center; justify-content:space-between; gap:clamp(28px,5vw,80px);
	max-width:1560px; margin-inline:auto; padding:clamp(56px,7vw,104px) 40px;
}
.rc_entry_ttl{ flex:0 0 auto; }
.rc_entry_ttl_ja{ display:block; font-size:clamp(1.1rem,.75vw,1.5rem); letter-spacing:.2em; font-weight:700; }
.rc_entry_ttl_ja::before{ content:""; display:block; width:clamp(28px,3vw,60px); height:2px; background:#fff; margin-bottom:16px; }
.rc_entry_ttl_en{
	display:block; font-family:var(--rc-en); font-weight:500;
	font-size:clamp(4.8rem,5.6vw,11rem); line-height:1; margin-top:8px;
}
.rc_entry_btns{ display:flex; flex:0 0 auto; gap:clamp(20px,2.6vw,44px); }
.rc_entry_btn{
	flex:0 0 auto; width:clamp(240px,22vw,360px);
	display:flex; align-items:center; justify-content:center; gap:12px;
	background:#fff; color:var(--rc-green-d);
	font-size:clamp(1.6rem,1.15vw,2.2rem); font-weight:700;
	padding:clamp(20px,2.4vw,32px) 20px; border-radius:8px;
	transition:opacity .3s;
}
.rc_entry_btn:hover{ opacity:.85; }
.rc_entry_btn .fas{ font-size:.72em; }

/* ============================================================
   Footer（footer_recruit.php）
   ============================================================ */
.rc_footer{ background:#fff; padding:64px 0 32px; }
.rc_footer_inner{
	display:flex; align-items:flex-start; justify-content:space-between; gap:48px;
	max-width:1240px; margin-inline:auto; padding-inline:40px;
}
.rc_footer_logo img{ width:auto; height:clamp(48px,3.2vw,62px); margin-bottom:20px; }
.rc_footer_add{ font-size:clamp(1.3rem,.9vw,1.5rem); color:#555; line-height:1.9; }
.rc_footer_copy{ margin-top:18px; font-size:clamp(1rem,.7vw,1.2rem); color:#9aa79c; }
.rc_footer_nav{ margin-top:2px; }
.rc_footer_nav a{
	display:block; font-size:clamp(1.3rem,.9vw,1.6rem); font-weight:700; padding:8px 0 8px 20px; position:relative;
}
.rc_footer_nav a::before{
	content:""; position:absolute; left:0; top:50%;
	width:8px; height:8px; border-radius:50%;
	background:var(--rc-green); transform:translateY(-50%);
}
.rc_footer_corp{ flex:0 0 auto; }
.rc_footer_corp_btn{
	display:inline-flex; align-items:center; gap:12px;
	background:var(--rc-green-deep); color:#fff;
	font-size:clamp(1.5rem,1.15vw,2.1rem); font-weight:700; padding:26px 46px;
	transition:opacity .3s;
}
.rc_footer_corp_btn:hover{ opacity:.88; }
.rc_footer_corp_btn .fas{ font-size:.8em; }

/* ============================================================
   Responsive
   ============================================================ */
/* PC〜1500（PCIDE手前の微調整） */
@media screen and (max-width:1500px){
	.rc_header_logo a{ padding:14px 24px; }
}

/* ===== TAB（〜1200px） ===== */
@media screen and (max-width:1200px){
	.rc_inner{ padding-inline:28px; }

	.rc_concept{ padding:120px 0 130px; }
	.rc_concept_body > *{ max-width:none; }
	.rc_concept_media{ position:static; width:auto; max-width:none; margin:40px auto 0; padding-inline:28px; }

	.rc_since{ padding:124px 0; }
	.rc_since_cards{ gap:24px; }

	.rc_genba{ padding:124px 0; }
	.rc_genba_media{ position:static; width:auto; max-width:none; margin:0 auto 44px; padding-inline:28px; }
	.rc_genba_media img{ max-height:none; aspect-ratio:16/10; }
	.rc_genba_body{ padding-inline:28px; }
	.rc_genba_body > *{ max-width:none; }

	.rc_works_row{ flex-direction:column; align-items:stretch; gap:34px; padding-right:0; }
	.rc_works_label{
		align-self:flex-start; margin-left:calc(50% - 50vw);
		padding-left:calc(50vw - 50% + 28px); padding-block:18px;
	}
	.rc_works_list{ padding-inline:28px; }

	.rc_team,.rc_info{ padding:116px 0 128px; }
	.rc_team_inner{ padding-inline:28px; }
	.rc_team_list{ gap:32px; }

	.rc_entry_inner{ flex-direction:column; align-items:flex-start; gap:30px; padding-inline:28px; }
	.rc_entry_btns{ width:100%; }
	.rc_entry_btn{ flex:1 1 0; width:auto; }

	.rc_footer_inner{ flex-wrap:wrap; gap:32px; padding-inline:28px; }
	.rc_footer_corp{ width:100%; }
}

/* --- SP〜680 --- */
@media screen and (max-width:680px){
	.rc_inner{ padding-inline:22px; }

	.rc_header_inner{ align-items:stretch; }
	.rc_header_logo a{ padding:10px 16px; gap:10px; }
	.rc_header_logo img{ height:26px; }
	.rc_header_logo_txt{ font-size:1.3rem; }

	.rc_fv{ height:86vh; min-height:520px; }
	.rc_fv_catch{ bottom:112px; }
	.rc_fv_en{ font-size:16vw; }
	.rc_fv_ja{ font-size:5vw; }
	.rc_fv_news{ position:static; width:100%; flex-wrap:wrap; gap:4px 14px; }
	.rc_fv_news_txt{ white-space:normal; font-size:3.8vw; }
	.rc_fv_news_arrow{ display:none; }

	.rc_concept{ padding:80px 0 88px; }
	.rc_concept_media{ padding-inline:22px; }
	.rc_concept_en{ font-size:13vw; }
	.rc_concept_lead{ font-size:5.4vw; }
	.rc_concept_txt,.rc_since_txt,.rc_genba_txt{ font-size:3.9vw; }

	.rc_since{ padding:84px 0; }
	.rc_since_ttl span{ font-size:13vw; }
	.rc_since_ttl b{ font-size:19vw; }
	.rc_since_cards{ grid-template-columns:1fr; gap:14px; }
	.rc_cardbar_bar{ margin-top:-26px; padding:13px 16px; font-size:3.8vw; }

	.rc_genba{ padding:84px 0; }
	.rc_genba_media,.rc_genba_body{ padding-inline:22px; }
	.rc_genba_ttl b{ display:block; padding:6px 16px; font-size:11vw; }
	.rc_genba_ttl span{ display:block; margin:10px 0 0; font-size:6.6vw; }
	.rc_genba_lead{ font-size:6.6vw; }
	.rc_genba_btn a{ width:100%; justify-content:center; }

	.rc_works{ padding-bottom:84px; }
	.rc_works_label{ padding-left:calc(50vw - 50% + 22px); font-size:8vw; }
	.rc_works_list{ grid-template-columns:1fr; gap:24px; padding-inline:22px; }

	.rc_team,.rc_info{ padding:80px 0 88px; }
	.rc_team_inner{ padding-inline:22px; }
	.rc_team_en,.rc_info_en,.rc_entry_ttl_en{ font-size:13vw; margin-bottom:28px; }
	.rc_team_list,.rc_info_list{ grid-template-columns:1fr; gap:20px; }
	.rc_team_btn{ text-align:center; margin-top:28px; }
	.rc_team_btn a{ width:100%; justify-content:center; }

	.rc_entry_inner{ padding:52px 22px; }
	.rc_entry_btns{ flex-direction:column; gap:14px; }
	.rc_entry_btn{ padding:20px; }

	.rc_footer{ padding:48px 0 24px; }
	.rc_footer_inner{ flex-direction:column; padding-inline:22px; gap:28px; }
	.rc_footer_corp_btn{ width:100%; justify-content:center; padding:22px; }
}

@media (prefers-reduced-motion:reduce){
	.rc_header,.rc_cardbar_img img,.rc_works_img img{ transition:none; }
}


/* ============================================================
   下層ページ 共通（MV / ローカルナビ / セクション見出し）
   ============================================================ */
.rc_lower{ display:block; font-family:var(--rc-jp); color:var(--rc-ink); line-height:1.8; letter-spacing:.03em; }
.rc_lower *{ box-sizing:border-box; }
.rc_lower img{ display:block; width:100%; height:auto; }
/* コアブロック（グループ/カラム/画像）の既定余白を無効化 */
.rc_lower figure{ margin:0; }
.rc_lower .wp-block-group__inner-container{ padding:0; }

/* ---- 下層MV ---- */
.rc_mv{
	position:relative; z-index:2;
	min-height:clamp(420px,42vw,620px);
	display:flex; align-items:center; overflow:hidden;
	color:#fff;
	background:#2b4a3c center/cover no-repeat;
}
.rc_mv::before{
	content:""; position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(22,50,38,.42), rgba(22,50,38,.52));
}
.rc_mv_inner{
	position:relative; z-index:1; width:100%;
	max-width:1400px; margin-inline:auto; padding:120px 40px 44px;
}
.rc_mv_en{
	display:block; margin:0; padding:0; color:#fff;
	font-family:var(--rc-en); font-weight:500; line-height:1; letter-spacing:.03em;
	font-size:clamp(6.4rem,13vw,21rem);
	text-shadow:0 4px 34px rgba(0,0,0,.25);
}
.rc_mv_ja{ font-size:clamp(2rem,2.3vw,3.8rem); font-weight:700; margin-top:.35em; }
.rc_mv_crumbs{ font-size:clamp(1.2rem,.9vw,1.5rem); margin-top:1.6em; color:rgba(255,255,255,.9); line-height:1.6; }
.rc_mv_crumbs a{ color:inherit; text-decoration:none; }
.rc_mv_crumbs a:hover{ text-decoration:underline; }
.rc_mv_sep{ margin:0 .55em; opacity:.55; }

/* ---- ローカルナビ ---- */
.rc_lnavi{ position:relative; z-index:2; background:var(--rc-green); }
.rc_lnavi_list{
	display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
	max-width:1200px; margin-inline:auto; padding:0 40px;
}
.rc_lnavi_list li{ position:relative; }
.rc_lnavi_list li + li::before{
	content:""; position:absolute; left:0; top:50%;
	width:1px; height:1.2em; background:rgba(255,255,255,.5); transform:translateY(-50%);
}
.rc_lnavi_list a{
	display:block; color:#fff; font-weight:700;
	font-size:clamp(1.4rem,1.05vw,2rem);
	padding:clamp(16px,1.8vw,26px) clamp(20px,3vw,50px);
	transition:opacity .3s;
}
.rc_lnavi_list a:hover{ opacity:.7; }

/* ---- セクション見出し（<h2 class="rc_sec_h">。.rc_label とセット） ---- */
.rc_sec_h{
	display:block; margin:0; padding:0; border:0;   /* 他CSS・コアの h2 既定を打ち消す */
	font-weight:700; line-height:1.3;
	font-size:clamp(2.8rem,3.4vw,5.4rem); color:var(--rc-green-deep);
}
.rc_sec_h--light{ color:#fff; }

.rc_lower :where(#greeting,#numbers,#advantage){ scroll-margin-top:24px; }

/* ============================================================
   山梅について（2-1）
   ============================================================ */

/* ---- 代表あいさつ（コアブロック: グループ>カラム>段落/画像） ---- */
.rc_greet{ background:#fff; padding:clamp(64px,7vw,110px) 0; }
.rc_greet_inner{ display:flex; flex-wrap:wrap; align-items:flex-start; gap:clamp(32px,4vw,64px); }
/* カラムブロックの既定 flex を上書き（子セレクタで .wp-block-column に勝つ） */
.rc_greet_inner > .rc_greet_body{ flex:1 1 54%; min-width:0; }
.rc_greet_inner > .rc_greet_photo{ flex:0 0 40%; }
.rc_greet_body{ min-width:0; }
.rc_greet_lead{
	font-size:clamp(2rem,1.9vw,2.8rem); font-weight:700; color:var(--rc-green);
	line-height:1.7; margin:1em 0 1.1em;
}
.rc_greet_txt{ font-size:clamp(1.5rem,1.05vw,1.7rem); line-height:2; color:#222; }
.rc_greet_sign{ margin-top:1.9em; text-align:right; }
.rc_greet_title{ font-size:clamp(1.3rem,.95vw,1.6rem); color:#666; margin-right:1em; }
.rc_greet_name{ font-size:clamp(2rem,1.9vw,2.8rem); font-weight:700; color:var(--rc-green); }
.rc_greet_photo{ margin-top:clamp(24px,4vw,72px); }
.rc_greet_photo figure{ margin:0; width:100%; }
.rc_greet_photo img{ width:100%; aspect-ratio:62/47; object-fit:cover; }

/* ---- 数字で見る山梅 ---- */
.rc_numbers{ background:var(--rc-green-deep); color:#fff; padding:clamp(64px,7vw,110px) 0; }
.rc_numbers_head{ display:flex; align-items:baseline; gap:1em; flex-wrap:wrap; }
.rc_numbers_note{ font-size:clamp(1.2rem,.9vw,1.5rem); font-weight:400; }
.rc_numbers_list{
	display:grid; grid-template-columns:repeat(3,1fr);
	column-gap:clamp(20px,2.2vw,40px); row-gap:clamp(48px,5vw,80px);
	margin-top:clamp(44px,4.5vw,68px);
}
.rc_numbers_list li{
	position:relative; background:var(--rc-mint); border-radius:10px;
	padding:clamp(52px,4.6vw,74px) clamp(20px,2vw,32px) clamp(24px,2.4vw,40px);
	text-align:center;
}
.rc_num_icon{
	position:absolute; left:50%; transform:translateX(-50%);
	top:calc(-1 * clamp(40px,3.4vw,55px));
	width:clamp(80px,7vw,120px); height:clamp(80px,7vw,120px);
	border-radius:50%; background:var(--rc-green);
}
.rc_num_label{ display:block; font-size:clamp(1.6rem,1.15vw,2rem); font-weight:700; color:var(--rc-green); margin-bottom:.15em; }
.rc_num_value{ display:flex; align-items:baseline; justify-content:center; gap:.12em; color:var(--rc-green-deep); font-weight:700; line-height:1; }
.rc_num{ font-family:var(--rc-en); font-size:clamp(4rem,4.5vw,7.2rem); }
.rc_num_unit{ font-size:clamp(1.6rem,1.4vw,2.4rem); }

/* ---- 山梅の強み（コアブロック: グループ > カラム×2行 > カラム） ---- */
.rc_adv{ background:#f5faf6; padding:clamp(64px,7vw,110px) 0; }
.rc_adv_list{
	display:flex; flex-direction:column;
	gap:clamp(36px,4vw,60px);
	margin-top:clamp(28px,3vw,48px);
}
.rc_adv_row{ align-items:flex-start; gap:clamp(40px,5vw,90px); }  /* .wp-block-columns の gap を上書き */
.rc_adv_list > *{ margin:0; }
.rc_adv_row > .rc_adv_item{ flex:1 1 0; min-width:0; }
.rc_adv_item > *{ margin-block:0; }               /* カード内の要素間はクラスの margin-bottom で制御 */
.rc_adv_badge{
	display:inline-block; background:var(--rc-lime); color:#fff;
	font-size:clamp(1.2rem,.9vw,1.5rem); font-weight:700;
	border-radius:999px; padding:.35em 1.5em; margin-bottom:.7em;
}
.rc_adv_title{
	display:block; font-size:clamp(1.9rem,1.7vw,2.6rem); font-weight:700;
	color:var(--rc-green); line-height:1.4; margin-bottom:.7em;
}
.rc_adv_img{
	display:block; width:100%; aspect-ratio:60/34;
	background:#cccccc center/cover no-repeat; margin-bottom:1em;
}
.rc_adv_txt{ display:block; font-size:clamp(1.5rem,1.05vw,1.7rem); line-height:2; color:#222; }

/* ============================================================
   下層 レスポンシブ
   ============================================================ */
@media screen and (max-width:1200px){
	.rc_mv_inner{ padding:100px 28px 36px; }
	.rc_greet_inner{ flex-direction:column; gap:32px; }
	.rc_greet_inner > *{ flex:1 1 auto; width:100%; }
	.rc_greet_photo{ margin-top:0; max-width:520px; }
	.rc_numbers_list{ grid-template-columns:repeat(3,1fr); }
	.rc_adv_list{ gap:clamp(32px,4vw,48px); }
	.rc_adv_row{ gap:clamp(28px,4vw,48px); }
}
@media screen and (max-width:680px){
	.rc_mv{ min-height:64vw; }
	.rc_mv_inner{ padding:96px 22px 32px; }
	.rc_mv_en{ font-size:19vw; }
	.rc_mv_ja{ font-size:5.6vw; }
	/* 緑バー版のみ縦積み（白ピル版は除外） */
	.rc_lnavi:not(.rc_lnavi--pill) .rc_lnavi_list{ flex-direction:column; padding:0; }
	.rc_lnavi:not(.rc_lnavi--pill) .rc_lnavi_list li{ width:100%; text-align:center; }
	.rc_lnavi:not(.rc_lnavi--pill) .rc_lnavi_list li + li::before{ left:50%; top:0; width:56%; height:1px; transform:translateX(-50%); }
	.rc_lnavi:not(.rc_lnavi--pill) .rc_lnavi_list a{ padding:14px; }
	.rc_lnavi--pill{ padding-inline:16px; }
	.rc_lnavi--pill .rc_lnavi_list{ padding:6px 14px; }
	.rc_lnavi--pill .rc_lnavi_list a{ padding:.35em .7em; font-size:3.4vw; }
	.rc_sec_h{ font-size:7.6vw; }
	.rc_greet_lead{ font-size:5.4vw; }
	.rc_greet_name{ font-size:5.4vw; }
	.rc_numbers_list{ grid-template-columns:1fr; row-gap:56px; margin-top:52px; }
	.rc_num{ font-size:13vw; }
	.rc_adv_row{ gap:22px; }
	.rc_adv_title{ font-size:5.4vw; }
}


/* ============================================================
   人を知る（team アーカイブ 3-1 / 詳細 3-1-1）
   ============================================================ */

/* ---- アーカイブ：メンバーカード一覧 ---- */
.rc_teamarc{ background:#eef7ef; padding:clamp(56px,7vw,110px) 0; }
.rc_teamarc .rc_inner{ max-width:1560px; }
.rc_teamarc_list{
	display:grid; grid-template-columns:repeat(3,1fr);
	gap:clamp(34px,3.4vw,64px) clamp(30px,3vw,60px);
	list-style:none; margin:0; padding:0;
}
.rc_teamarc_list a{ display:block; color:inherit; }
.rc_teamarc_img{ display:block; overflow:hidden; aspect-ratio:16/10; background:#cfcfcf; }
.rc_teamarc_img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--rc-ease); }
.rc_teamarc_list a:hover .rc_teamarc_img img{ transform:scale(1.05); }
.rc_teamarc_msg{ display:block; font-size:clamp(1.5rem,1.05vw,1.7rem); line-height:1.9; margin:16px 0 12px; }
.rc_teamarc_meta{ display:flex; align-items:baseline; gap:12px; }
.rc_teamarc_ini{ font-size:clamp(1.8rem,1.4vw,2.2rem); font-weight:700; color:var(--rc-ink); }
.rc_teamarc_sub{ font-size:clamp(1.2rem,.85vw,1.4rem); color:#777; }
.rc_teamarc_empty{ grid-column:1 / -1; text-align:center; color:#777; padding:2em 0; }
.rc_lower .pagination,
.rc_lower .wp-block-query-pagination,
.rc_lower nav.pagination{ display:flex; flex-wrap:wrap; justify-content:center; gap:.5em; margin-top:clamp(40px,5vw,72px); }
.rc_lower .page-numbers{
	display:inline-flex; min-width:2.6em; height:2.6em; align-items:center; justify-content:center;
	padding:0 .6em;
	border:1px solid var(--rc-green); color:var(--rc-green); font-weight:700; border-radius:4px;
}
.rc_lower .page-numbers.current{ background:var(--rc-green); color:#fff; }
.rc_lower a.page-numbers:hover{ background:var(--rc-green); color:#fff; }

/* ---- 詳細：ヒーロー（明るい写真ベース＋手書き風の要約） ---- */
/* 高さ制限なし。画像は原寸比のまま、最大幅 2000px で中央。文字は画像に重ねる */
.rc_teamhero{
	position:relative; overflow:hidden;
	background:#dfe8e2; color:#4d4d4d;
}
.rc_teamhero_bg{ max-width:2000px; margin-inline:auto; }
.rc_teamhero_bg img{ display:block; width:100%; height:auto; }
.rc_teamhero::before{
	content:""; position:absolute; inset:0; z-index:1;
	background:linear-gradient(90deg, rgba(244,250,246,.80) 0%, rgba(244,250,246,.42) 32%, rgba(244,250,246,0) 60%);
}
.rc_teamhero_inner{
	position:absolute; inset:0; z-index:2; width:auto;
	display:flex; flex-direction:column; justify-content:center;
	padding-block:clamp(40px,5vw,80px);
}
.rc_teamhero_msg{
	font-family:"Yuji Boku","Zen Old Mincho",serif; font-weight:400;
	font-size:clamp(2.4rem,2.8vw,4.4rem); line-height:2; letter-spacing:.06em;
	color:#4d4d4d; max-width:620px;
}
.rc_teamhero_meta{ display:flex; align-items:baseline; gap:14px; margin-top:1.8em; }
.rc_teamhero_meta b{ font-size:clamp(1.8rem,1.5vw,2.4rem); font-weight:700; color:#333; }
.rc_teamhero_meta span{ font-size:clamp(1.3rem,.9vw,1.5rem); color:#777; }

/* ---- 詳細：ローカルナビ（白ピル。.rc_lnavi--pill） ---- */
.rc_lnavi--pill{
	background:var(--rc-green-deep); text-align:center;
	padding:clamp(36px,4vw,64px) 20px 0;
}
.rc_lnavi--pill .rc_lnavi_list{
	display:inline-flex; flex-direction:row; flex-wrap:wrap;
	justify-content:center; align-items:center;
	background:#f3fff7; border-radius:999px; max-width:calc(100% - 8px); margin:0;
	padding:clamp(6px,.8vw,12px) clamp(16px,2.4vw,36px);
}
.rc_lnavi--pill .rc_lnavi_item{
	display:inline-flex; align-items:center; width:auto; position:static;
}
.rc_lnavi--pill .rc_lnavi_item + .rc_lnavi_item::before{
	content:"/"; position:static; width:auto; height:auto;
	background:none; transform:none; color:#b9d0c3; font-weight:400;
}
.rc_lnavi--pill .rc_lnavi_list a{
	display:inline-block; padding:.4em clamp(10px,1.5vw,24px); text-shadow:none; white-space:nowrap;
	color:var(--rc-green-deep); font-weight:700; font-size:clamp(1.3rem,1vw,1.6rem);
}
.rc_lnavi--pill .rc_lnavi_list a:hover{ color:var(--rc-green); opacity:1; }

/* ---- 詳細：入社理由（濃緑）＋ Q&A（ペールミント #F3FFF7） ---- */
.rc_qa{ background:#F3FFF7; color:var(--rc-ink); }
.rc_qa_text{ font-size:clamp(1.5rem,1.05vw,1.7rem); line-height:2; }
.rc_qa_text p{ margin:0 0 1em; }
.rc_qa_text p:last-child{ margin-bottom:0; }

.rc_qa_reason{ background:var(--rc-green-deep); color:#fff; padding:clamp(56px,6vw,96px) 0 clamp(48px,6vw,88px); }
.rc_qa_reason .rc_sec_h{ margin-bottom:.9em; }
.rc_qa_reason .rc_qa_text{ color:rgba(255,255,255,.92); }

.rc_qa_blocks{ background:#F3FFF7; padding:clamp(48px,6vw,96px) 0 clamp(56px,7vw,120px); }
.rc_qa_topic{ color:var(--rc-green); font-weight:700; font-size:clamp(1.7rem,1.4vw,2.2rem); line-height:1.7; margin:0 0 .8em; }
.rc_qa_item{ padding:clamp(28px,4vw,60px) 0; }
.rc_qa_item_inner{ position:relative; display:flex; align-items:flex-start; }

.rc_qa_card{
	position:relative; z-index:2;
	background:#fff; color:var(--rc-ink);
	width:min(560px,50%); padding:clamp(28px,3vw,52px); border-radius:6px;
}
.rc_qa_fig{
	position:relative; z-index:1;
	width:48%; align-self:stretch; min-height:clamp(300px,34vw,540px);
	background:#cfcfcf;
}
/* Q01: カード左 / 画像右（少し重ねる） */
.rc_qa_item--std .rc_qa_fig{ margin-left:-4%; margin-top:clamp(28px,3vw,56px); }
/* Q03: 画像左 / カード右（少し重ねる） */
.rc_qa_item--rev .rc_qa_item_inner{ flex-direction:row-reverse; }
.rc_qa_item--rev .rc_qa_card{ margin-right:-4%; }
.rc_qa_item--rev .rc_qa_fig{ margin-top:clamp(28px,3vw,56px); }
/* Q02: 画像なし・カード枠なし（ミント地に直接） */
.rc_qa_item--plain .rc_qa_card{ background:transparent; width:100%; max-width:1000px; padding:0; }

.rc_qa_no{ font-size:clamp(1.2rem,.9vw,1.4rem); font-weight:700; letter-spacing:.08em; color:var(--rc-green); margin-bottom:.4em; }
.rc_qa_no b{ font-size:1.55em; margin-left:.25em; }
.rc_qa_q{ font-size:clamp(2rem,2vw,3rem); font-weight:700; color:var(--rc-green-deep); line-height:1.5; margin-bottom:.7em; }

/* ---- 詳細：関連メンバー ---- */
.rc_teamrel{ background:#F3FFF7; padding:clamp(20px,4vw,56px) 0 clamp(56px,7vw,100px); }
.rc_teamrel .rc_inner{ max-width:1560px; }
.rc_teamrel_btn{ text-align:center; margin-top:clamp(32px,4vw,56px); }
.rc_teamrel_btn a{
	display:inline-flex; align-items:center; gap:12px;
	background:var(--rc-green); color:#fff; font-weight:700;
	font-size:clamp(1.4rem,1vw,1.6rem); padding:16px 34px; transition:background .3s;
}
.rc_teamrel_btn a:hover{ background:var(--rc-green-d); }

@media screen and (max-width:1200px){ /* TAB */
	.rc_teamarc_list{ grid-template-columns:repeat(2,1fr); }
	.rc_qa_item_inner,
	.rc_qa_item--rev .rc_qa_item_inner{ flex-direction:column; }
	.rc_qa_card,
	.rc_qa_item--plain .rc_qa_card{ width:100%; max-width:none; }
	.rc_qa_item--std .rc_qa_fig,
	.rc_qa_item--rev .rc_qa_card{ margin-left:0; margin-right:0; }
	.rc_qa_fig{ width:100%; margin-top:24px; min-height:56vw; }
}
@media screen and (max-width:680px){
	.rc_teamarc_list{ grid-template-columns:1fr; gap:28px; }
	.rc_teamhero_msg{ font-size:6.4vw; }
	.rc_qa_q{ font-size:6vw; }
}

/* ============================================================
   仕事を知る（4-1）
   ── 現場監督という仕事＝トップの .rc_genba を流用（導入ボタンなし）
   ── 主な仕事内容（.rc_wtask） / 仕事に対する姿勢（.rc_stance）
   ── 山梅の仕事＝parts/recruit-works.php（.rc_ywork）
   ※ 下層の画像は縦横比を変えない（aspect-ratio/object-fit は当てず、元画像の比率で表示）
   ============================================================ */

/* 下層の .rc_genba 流用時：トップ用の切り抜き（aspect-ratio/object-fit/max-height）を解除 */
.rc_lower .rc_genba_media img{ aspect-ratio:auto; max-height:none; object-fit:fill; }

/* ---- 主な仕事内容 ---- */
.rc_lower .rc_wtask{ background:#fff; padding:clamp(48px,6vw,96px) 0; }
.rc_lower .rc_wtask .rc_sec_h{ margin-bottom:clamp(26px,3vw,52px); }
.rc_lower .rc_wtask_row{ align-items:flex-start; gap:clamp(24px,2.6vw,44px); }
.rc_lower .rc_wtask_row > .rc_wtask_col{ flex:1 1 0; min-width:0; }
.rc_lower .rc_wtask_img{ display:block; margin:0 0 clamp(14px,1.4vw,22px); }
.rc_lower .rc_wtask_img img{ width:100%; background:#c9c9c9; }
.rc_lower .rc_wtask_ttl{ font-size:clamp(1.6rem,1.15vw,2rem); font-weight:700; color:#222; margin:0 0 .7em; }
.rc_lower .rc_wtask_txt{ font-size:clamp(1.4rem,1vw,1.6rem); line-height:2; color:#222; margin:0; }

/* ---- 仕事に対する姿勢 ---- */
.rc_lower .rc_stance{ position:relative; background:#fff; padding:clamp(48px,6vw,96px) 0 clamp(56px,7vw,110px); }
.rc_lower .rc_stance_inner{ position:relative; z-index:2; }
.rc_lower .rc_stance .rc_sec_h{ margin-bottom:clamp(28px,3.4vw,60px); }
.rc_lower .rc_stance_row{ display:flex; flex-wrap:wrap; align-items:flex-start; gap:clamp(32px,4vw,72px); }
.rc_lower .rc_stance_body{ flex:1 1 46%; min-width:0; }
.rc_lower .rc_stance_fig{ position:relative; z-index:3; flex:1 1 42%; min-width:0; margin:0; }
.rc_lower .rc_stance_fig img{ width:100%; background:#c9c9c9; }
.rc_lower .rc_stance_sub{ font-size:clamp(2rem,1.9vw,3rem); font-weight:700; color:var(--rc-green); line-height:1.6; margin:0 0 .9em; }
.rc_lower .rc_stance_txt{ font-size:clamp(1.5rem,1.05vw,1.7rem); line-height:2.1; color:#222; margin:0; }

/* ---- 山梅の仕事（parts/recruit-works.php） ---- */
.rc_ywork{
	position:relative; z-index:1;
	background:var(--rc-green-em); color:#fff;
	margin-top:clamp(-80px,-4vw,-24px);
	padding:clamp(64px,7vw,104px) 0 clamp(64px,8vw,120px);
}
.rc_ywork .rc_sec_h{ margin-bottom:clamp(28px,3.4vw,56px); }
.rc_ywork_list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.4vw,40px); }
.rc_ywork_img{ display:block; overflow:hidden; }
.rc_ywork_img img{ width:100%; transition:transform .5s var(--rc-ease); }
.rc_ywork_list a:hover .rc_ywork_img img{ transform:scale(1.05); }
.rc_ywork_ttl{ display:block; font-size:clamp(1.7rem,1.15vw,2.3rem); font-weight:700; margin:14px 0 4px; }
.rc_ywork_catch{ display:block; font-size:clamp(1.3rem,.85vw,1.6rem); color:rgba(255,255,255,.82); }

/* ============================================================
   事業詳細（4-1-1〜4-1-5）共通レイアウト
   ── リード（.rc_bizlead：緑帯見出し＋本文＋右画像）
   ── 業務内容（.rc_bizwork：4列grid ×N行）
   ── この下に [include_php file="recruit-team.php"]（Our Team）
   ── さらに [include_php file="recruit-works.php"]（山梅の仕事）
   ============================================================ */

/* ---- リード（トップの .rc_genba と同様、右画像は画面右端まで裁ち落とし） ---- */
.rc_lower .rc_bizlead{ position:relative; overflow:hidden; background:#fff; padding:clamp(48px,6vw,110px) 0; }
.rc_lower .rc_bizlead_body{ position:relative; z-index:2; width:100%; max-width:600px; }
.rc_lower .rc_bizlead_fig{
	position:absolute; top:clamp(40px,5vw,88px); right:0; z-index:1;
	width:46%; max-width:900px; margin:0;
}
.rc_lower .rc_bizlead_fig img{ width:100%; background:#cfcfcf; }
.rc_lower .rc_bizlead_h{
	display:inline-block; background:var(--rc-green); color:#fff;
	font-size:clamp(2rem,2.3vw,4rem); font-weight:700; line-height:1.45; letter-spacing:.04em;
	white-space:nowrap; padding:.55em 1em; margin:0 0 clamp(24px,3vw,48px);
}
.rc_lower .rc_bizlead_txt{ font-size:clamp(1.4rem,1vw,1.9rem); line-height:2.1; color:#222; margin:0; }
.rc_lower .rc_bizlead_txt + .rc_bizlead_txt{ margin-top:1.2em; }

/* ---- 業務内容 ---- */
.rc_lower .rc_bizwork{ background:#fff; padding:clamp(40px,5vw,80px) 0 clamp(56px,8vw,120px); }
.rc_lower .rc_bizwork .rc_sec_h{ margin-bottom:clamp(24px,3vw,48px); }
.rc_lower .rc_bizwork_row{ align-items:flex-start; gap:clamp(20px,2vw,32px); margin-bottom:clamp(24px,2.6vw,44px); }
.rc_lower .rc_bizwork_row:last-child{ margin-bottom:0; }
.rc_lower .rc_bizwork_row > .rc_bizwork_col{ flex:1 1 0; min-width:0; }
.rc_lower .rc_bizwork_img{ display:block; margin:0 0 12px; }
.rc_lower .rc_bizwork_img img{ width:100%; background:#cfcfcf; }
.rc_lower .rc_bizwork_ttl{ font-size:clamp(1.5rem,1.05vw,1.8rem); font-weight:700; color:var(--rc-green-deep); margin:0 0 .5em; }
.rc_lower .rc_bizwork_txt{ font-size:clamp(1.3rem,.92vw,1.5rem); line-height:1.9; color:#222; margin:0; }

@media screen and (max-width:1200px){ /* TAB */
	.rc_lower .rc_stance_row{ flex-direction:column; }
	.rc_lower .rc_stance_body,
	.rc_lower .rc_stance_fig{ flex:1 1 auto; width:100%; }
	.rc_lower .rc_stance_fig{ max-width:560px; }

	.rc_lower .rc_bizlead{ padding-bottom:clamp(40px,6vw,64px); }
	.rc_lower .rc_bizlead_row{ flex-direction:column; }
	.rc_lower .rc_bizlead_body{ max-width:none; width:100%; }
	.rc_lower .rc_bizlead_fig{ position:static; width:100%; max-width:560px; margin:clamp(24px,4vw,40px) 0 0; flex:1 1 auto; }

	.rc_lower .rc_bizwork_row{ flex-wrap:wrap; }
	.rc_lower .rc_bizwork_row > .rc_bizwork_col{ flex:1 1 calc(50% - 16px); }
}
@media screen and (max-width:680px){
	.rc_lower .rc_stance_sub{ font-size:5.4vw; }
	.rc_ywork{ margin-top:0; }
	.rc_ywork_list{ grid-template-columns:1fr; gap:26px; }

	.rc_lower .rc_bizlead_h{ font-size:4.4vw; }
	.rc_lower .rc_bizwork_row > .rc_bizwork_col{ flex-basis:100%; }
}

/* ============================================================
   働く環境（5-1-1）
   ── 標準ブロック（グループ/カラム/画像/見出し/段落）＋ .rc_wenv* で当て込み
   ── ローカルナビ（福利厚生/制度・支援）は共通の .rc_lnavi（anker_nav メニュー・プラグイン割当）
   ============================================================ */
.rc_lower .rc_wenv{ background:#f3fff7; padding:clamp(48px,6vw,88px) 0 clamp(64px,9vw,128px); }
.rc_lower :where(#benefits,#support){ scroll-margin-top:24px; }

/* セクション見出し（.rc_sec_h とセット。色だけ鮮やかな緑に） */
.rc_lower .rc_wenv_h{
	color:var(--rc-green);
	font-size:clamp(2.6rem,3vw,4.4rem); margin:0 0 clamp(28px,3vw,48px);
}
.rc_lower .rc_wenv_sec + .rc_wenv_sec{ margin-top:clamp(48px,6vw,88px); }

/* カードグリッド */
.rc_lower .rc_wenv_row{ align-items:flex-start; gap:clamp(20px,2.4vw,40px); margin-bottom:clamp(20px,2.4vw,40px); }
.rc_lower .rc_wenv_row:last-child{ margin-bottom:0; }
.rc_lower .rc_wenv_row > .rc_wenv_col{ flex:1 1 0; min-width:0; }
.rc_lower .rc_wenv_img{ display:block; margin:0 0 clamp(12px,1.4vw,18px); background:#cfcfcf; }
.rc_lower .rc_wenv_img img{ width:100%; }
.rc_lower .rc_wenv_ttl{ font-size:clamp(1.6rem,1.15vw,2rem); font-weight:700; color:#222; margin:0 0 .5em; }
.rc_lower .rc_wenv_txt{ font-size:clamp(1.3rem,.92vw,1.5rem); line-height:1.9; color:#222; margin:0; }

@media screen and (max-width:1200px){ /* TAB */
	.rc_lower .rc_wenv_row{ flex-wrap:wrap; }
	.rc_lower .rc_wenv_row > .rc_wenv_col{ flex:1 1 calc(50% - 16px); }
}
@media screen and (max-width:680px){
	.rc_lower .rc_wenv_row > .rc_wenv_col{ flex-basis:100%; }
}

/* ============================================================
   採用Q&A（5-1-2）── parts/recruit-qa.php（.rc_faq*）
   ── 区分見出し ＋ アコーディオン（開閉JSは footer_recruit.php）
   ── ローカルナビは共通の .rc_lnavi（anker_nav・プラグイン割当）
   ============================================================ */
.rc_lower .rc_faq{ background:#f3fff7; padding:clamp(48px,6vw,88px) 0 clamp(72px,9vw,132px); }
.rc_lower :where(#recruit,#job,#growth,#workplace,#worktime,#welfare){ scroll-margin-top:24px; }

.rc_lower .rc_faq_sec + .rc_faq_sec{ margin-top:clamp(44px,5.5vw,80px); }
.rc_lower .rc_faq_h{ color:var(--rc-green); font-size:clamp(2.4rem,2.8vw,4rem); margin:0 0 clamp(20px,2.4vw,36px); }

.rc_lower .rc_faq_list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:clamp(10px,1.1vw,14px); }
.rc_lower .rc_faq_item{ background:#e3f2e5; border-radius:8px; overflow:hidden; }

.rc_lower .rc_faq_q{
	display:flex; align-items:center; gap:clamp(12px,1.4vw,20px);
	width:100%; margin:0; border:0; background:transparent; cursor:pointer;
	font-family:inherit; color:#222; text-align:left;
	padding:clamp(16px,1.6vw,22px) clamp(18px,2vw,28px);
}
.rc_lower .rc_faq_qmark{ flex:none; color:var(--rc-green-deep); font-weight:700; font-size:1.5em; line-height:1; }
.rc_lower .rc_faq_qtext{ flex:1 1 auto; font-weight:700; font-size:clamp(1.4rem,1.05vw,1.7rem); line-height:1.6; }
.rc_lower .rc_faq_toggle{
	flex:none; width:0; height:0; margin-left:8px;
	border-left:6px solid transparent; border-right:6px solid transparent;
	border-top:8px solid var(--rc-green-deep);
	transition:transform .3s var(--rc-ease);
}
.rc_lower .rc_faq_item.is-open .rc_faq_toggle{ transform:rotate(180deg); }

/* 開閉：JS が実寸(scrollHeight)を max-height に入れて滑らかに。JS不発時は下の is-open で開く */
.rc_lower .rc_faq_a{ overflow:hidden; max-height:0; transition:max-height .34s var(--rc-ease); }
.rc_lower .rc_faq_item.is-open .rc_faq_a{ max-height:1500px; }
.rc_lower .rc_faq_a_inner{
	overflow:hidden; background:#fff; border-top:1px solid #d7e8d9;
	padding:clamp(16px,1.8vw,22px) clamp(18px,2vw,28px);
	padding-left:calc(clamp(18px,2vw,28px) + 1.5em + clamp(12px,1.4vw,20px));
	font-size:clamp(1.3rem,.95vw,1.6rem); line-height:1.9; color:#222;
}
.rc_lower .rc_faq_a_inner > *{ margin:0; }
.rc_lower .rc_faq_a_inner > * + *{ margin-top:.8em; }

@media screen and (max-width:680px){
	.rc_lower .rc_faq_a_inner{ padding-left:clamp(18px,2vw,28px); }
}

/* ============================================================
   求める人物像（5-1-3）── 標準ブロック＋ .rc_person*
   ── 採用担当者メッセージ（2カラム・画像＋緑氏名バー）／ 学生のみなさんへ（本文＋バナー）
   ── ローカルナビなし
   ============================================================ */
.rc_lower .rc_person{ background:#f3fff7; padding:clamp(60px,7.5vw,116px) 0 clamp(84px,10vw,156px); }
.rc_lower .rc_person_sec + .rc_person_sec{ margin-top:clamp(56px,7vw,110px); }
/* 見出しは .rc_sec_h 既定の濃緑（--rc-green-deep）を使う（色は上書きしない） */
.rc_lower .rc_person_h{ font-size:clamp(2.4rem,2.8vw,4rem); margin:0 0 clamp(28px,3.2vw,52px); }

/* 採用担当者メッセージ 2カラム */
.rc_lower .rc_person_row{ align-items:flex-start; gap:clamp(32px,4vw,72px); }
.rc_lower .rc_person_row > .rc_person_card{ flex:1 1 0; min-width:0; }
.rc_lower .rc_person_media{ position:relative; margin:0 0 clamp(26px,3vw,44px); }
.rc_lower .rc_person_media img{ width:100%; }
.rc_lower .rc_person_name{
	position:absolute; right:clamp(-18px,-1.4vw,-8px); bottom:clamp(-16px,-1.6vw,-10px);
	display:flex; align-items:baseline; gap:clamp(10px,1.4vw,20px);
	background:var(--rc-green); color:#fff; font-weight:700; white-space:nowrap;
	padding:clamp(10px,1.1vw,15px) clamp(18px,2vw,30px);
}
.rc_lower .rc_person_role{ font-size:clamp(1.1rem,.85vw,1.4rem); }
.rc_lower .rc_person_pname{ font-size:clamp(1.5rem,1.2vw,2rem); letter-spacing:.04em; }
.rc_lower .rc_person_sub{ color:var(--rc-green); font-weight:700; font-size:clamp(1.9rem,1.8vw,2.8rem); line-height:1.5; margin:0 0 .8em; }
.rc_lower .rc_person_txt{ font-size:clamp(1.4rem,1vw,1.6rem); line-height:2; color:#222; margin:0; }

/* 学生のみなさんへ */
.rc_lower .rc_person_lead > *{ margin:0; }
.rc_lower .rc_person_lead > * + *{ margin-top:.45em; }
.rc_lower .rc_person_banner{ display:block; margin:clamp(32px,4vw,64px) 0 0; background:#cfcfcf; }
.rc_lower .rc_person_banner img{ width:100%; }

@media screen and (max-width:1200px){ /* TAB */
	.rc_lower .rc_person_row{ flex-direction:column; gap:clamp(48px,8vw,64px); }
	.rc_lower .rc_person_row > .rc_person_card{ width:100%; }
	.rc_lower .rc_person_media{ max-width:560px; }
}
@media screen and (max-width:680px){
	.rc_lower .rc_person_name{ right:0; }
	.rc_lower .rc_person_sub{ font-size:5.4vw; }
}

/* ============================================================
   新着情報 一覧（6-1）── category-news-recruit.php（.rc_newsarc*）
   ── カテゴリー news-recruit のアーカイブ。日付＋タイトルの下線リスト
   ============================================================ */
.rc_lower.rc_newsarc{ background:#f3fff7; padding:clamp(48px,6vw,96px) 0 clamp(72px,9vw,132px); }
.rc_newsarc .rc_inner{ max-width:1160px; }
.rc_newsarc_list{ list-style:none; margin:0; padding:0; }
.rc_newsarc_list li{ border-bottom:1px solid #d3e6d6; }
.rc_newsarc_list li:first-child{ border-top:1px solid #d3e6d6; }
.rc_newsarc_list a{
	display:flex; align-items:baseline; gap:clamp(20px,3vw,54px);
	padding:clamp(20px,2.2vw,30px) clamp(4px,1vw,16px);
	color:#222; text-decoration:none;
}
.rc_newsarc_date{
	flex:none; font-family:var(--rc-en); font-weight:500;
	font-size:clamp(1.3rem,.95vw,1.5rem); letter-spacing:.06em; color:#5b7a68;
}
.rc_newsarc_ttl{
	font-size:clamp(1.4rem,1.05vw,1.7rem); line-height:1.7;
	transition:color .2s var(--rc-ease);
}
.rc_newsarc_list a:hover .rc_newsarc_ttl{ color:var(--rc-green); }
.rc_newsarc_empty{ color:#777; padding:2em 0; }

@media screen and (max-width:680px){ /* SP */
	.rc_newsarc_list a{ flex-direction:column; gap:6px; }
}

/* ============================================================
   サイトマップ（7-1）── 標準ブロック＋ .rc_sitemap*
   ── 「人を知る」配下のみ動的（parts/recruit-sitemap-team.php）
   ============================================================ */
.rc_lower .rc_sitemap{ background:#f3fff7; padding:clamp(56px,7vw,100px) 0 clamp(80px,10vw,148px); }
.rc_lower .rc_sitemap_inner{ max-width:720px; }
.rc_lower .rc_sitemap_block + .rc_sitemap_block{ margin-top:clamp(28px,3vw,44px); }

.rc_lower .rc_sitemap_top{
	margin:0 0 .5em; font-weight:700;
	font-size:clamp(1.7rem,1.4vw,2.2rem); color:var(--rc-green-deep);
}
.rc_lower .rc_sitemap_top a{ color:inherit; }
.rc_lower .rc_sitemap_top a:hover{ color:var(--rc-green); }

.rc_lower .rc_sitemap_sub{ list-style:none; margin:0; padding:0 0 0 clamp(20px,2.2vw,32px); }
.rc_lower .rc_sitemap_sub li{ margin:0 0 .6em; }
.rc_lower .rc_sitemap_sub li:last-child{ margin-bottom:0; }
.rc_lower .rc_sitemap_sub a{
	color:#222; font-size:clamp(1.3rem,1vw,1.6rem);
	transition:color .2s var(--rc-ease);
}
.rc_lower .rc_sitemap_sub a:hover{ color:var(--rc-green); }

.rc_lower .rc_sitemap_muted{ color:#8a8a8a; font-size:inherit; }
