@charset "utf-8";
/* ======================================================================
   Chubby 採用サイト用 上書きCSS
   （元テーマの style / index の後に読み込む。色・フォントの大枠は
     build_assets.py で置換済み。ここは Chubby 専用の追加部品と微調整）
   ====================================================================== */

:root {
	--chubby-orange: #F7931E;
	--chubby-orange-dark: #E07B00;
	--chubby-navy: #2B3A4E;
	--chubby-cream: #FFF8ED;
	--chubby-beige: #FDF2E0;
}

/* 見出しは Chubby の太字（900）に寄せる */
.eng_title .ja,
.eng_title_h .ja,
.workstyle_title .ja {
	font-weight: 900;
}
.index_main .copy .main {
	font-weight: 900;
}

/* ヘッダーのロゴ（PNG に差し替えたぶんサイズ調整） */
#header .logo img {
	width: 13.9rem;
	height: auto;
}
#footer .logo img {
	width: 20.8rem;
	height: auto;
}

/* ヒーローの「熱くなれる人」強調は紺 → 白抜きの黄で読みやすく */
.index_main .copy .main .blue {
	color: #FFE082;
}

/* Vision：POINT 01〜04（写真＋テキストをコードで組む） */
.chubby_points {
	--cp-blue: #1A64B0;
	--cp-orange: #F39800;
	margin-top: 8rem;
	display: grid;
	gap: 4rem;
}
.chubby_points .cp {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 5rem;
	padding: 7rem 7rem;
	background: linear-gradient(135deg, #FDC056 0%, #FBB03B 100%);
	border-radius: 1.6rem;
	overflow: hidden;
	box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.10);
}
/* 写真の左右（HTML は写真が先。右のときは後ろへ回す） */
.chubby_points .cp.-ph-r .cp_ph { order: 2; }
/* 飾りの三角 */
.chubby_points .cp::before,
.chubby_points .cp::after {
	content: "";
	position: absolute;
	width: 5rem;
	height: 5rem;
	background: var(--cp-orange);
	pointer-events: none;
}
.chubby_points .cp::before {
	top: 3rem;
	clip-path: polygon(0 0, 100% 35%, 20% 100%);
}
.chubby_points .cp::after {
	bottom: 3rem;
	width: 4rem;
	height: 4rem;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.chubby_points .cp.-ph-r::before { left: 42%; }
.chubby_points .cp.-ph-r::after  { left: 46%; }
.chubby_points .cp.-ph-l::before { right: 6%; }
.chubby_points .cp.-ph-l::after  { left: 28%; }

/* 写真：六角形に切り抜き＋後ろにずらしたオレンジの面 */
.chubby_points .cp_ph {
	position: relative;
}
.chubby_points .cp_ph::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--cp-orange);
	clip-path: polygon(6% 10%, 62% 0, 100% 16%, 96% 76%, 58% 100%, 10% 92%, 0 40%);
	transform: translate(2rem, 2rem);
}
.chubby_points .cp_ph_in {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	clip-path: polygon(6% 10%, 62% 0, 100% 16%, 96% 76%, 58% 100%, 10% 92%, 0 40%);
}
.chubby_points .cp_ph_in img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* テキスト */
.chubby_points .cp_no {
	display: inline-block;
	margin-bottom: 2.4rem;
	padding: 0.8rem 3rem 0.8rem 2.4rem;
	background: linear-gradient(90deg, #FFD43B 0%, #F7931E 100%);
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	font-style: italic;
	letter-spacing: 0.12em;
	line-height: 1;
	clip-path: polygon(4% 0, 100% 0, 96% 100%, 0 100%);
}
.chubby_points .cp_ttl {
	margin-bottom: 2.4rem;
	color: var(--cp-blue);
	font-size: 3rem;
	font-weight: 900;
	font-style: italic;
	letter-spacing: 0.06em;
	line-height: 1.5;
}
.chubby_points .cp_ttl .nw {
	display: inline-block;
}
.chubby_points .cp_body {
	text-wrap: pretty;
	color: #333;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 2;
}

/* PC：本文カラム（右寄せ 76rem）からはみ出して横幅いっぱいに使う */
@media screen and (min-width: 744px) {
	.index_vision .chubby_points {
		margin-left: -64rem;
		padding-inline: 4rem;
	}
}

/* SP：写真が上、テキストが下の縦積み */
@media screen and (max-width: 743px) {
	.chubby_points {
		margin-top: 4rem;
		gap: 2.4rem;
	}
	.chubby_points .cp {
		grid-template-columns: 1fr;
		gap: 3.2rem;
		padding: 3.2rem 2.4rem 4rem;
		border-radius: 1.2rem;
	}
	.chubby_points .cp.-ph-r .cp_ph { order: 0; }
	.chubby_points .cp_ph::before { transform: translate(1rem, 1rem); }
	.chubby_points .cp::before { top: 1.6rem; width: 3.2rem; height: 3.2rem; }
	.chubby_points .cp::after  { bottom: 1.6rem; width: 2.8rem; height: 2.8rem; }
	.chubby_points .cp.-ph-r::before,
	.chubby_points .cp.-ph-l::before { left: auto; right: 1.6rem; }
	.chubby_points .cp.-ph-r::after,
	.chubby_points .cp.-ph-l::after { left: 1.6rem; }
	.chubby_points .cp_no {
		margin-bottom: 1.6rem;
		font-size: 1.5rem;
		padding: 0.7rem 2.4rem 0.7rem 1.8rem;
	}
	.chubby_points .cp_ttl {
		margin-bottom: 1.6rem;
		font-size: 2.1rem;
	}
	.chubby_points .cp_body {
		font-size: 1.4rem;
		letter-spacing: 0.04em;
		line-height: 1.9;
	}
}

/* 英語の大見出し（Environment 等）：Montserrat は幅が広くスマホで横にはみ出すため縮める */
@media screen and (max-width: 743px) {
	.eng_title .eng,
	.eng_title .eng.-sp-ls0 {
		font-size: min(6rem, 11.5vw);
		--ls: 0;
		letter-spacing: 0;
	}
}

/* 代表メッセージ：中央の縦帯は控えめに（オレンジ地だと黄色く目立つため） */
.index_message > .line {
	opacity: 0.15;
}

/* 代表メッセージの写真（正方形なので上寄せ） */
.index_message .ph .ph_inner_in img {
	object-position: center 20%;
}

/* 仕事を知る：職種写真は 369x250 のため比率固定 */
.index_business .job_contents .ph img {
	width: 100%;
	height: auto;
	aspect-ratio: 920 / 680;
	object-fit: cover;
	object-position: center;
}

/* 数字で見る Chubby */
.index_numbers {
	background-color: #fff;
}
.numbers_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.4rem;
	margin: 4rem 0 8rem;
}
.numbers_list li {
	background: var(--chubby-cream);
	border-radius: 1.6rem;
	padding: 3.2rem 2.8rem;
	text-align: center;
}
.numbers_list .q {
	font-weight: 700;
	font-size: 1.8rem;
	color: var(--chubby-navy);
	margin-bottom: 1.6rem;
	position: relative;
	padding-left: 3.4rem;
	display: inline-block;
}
.numbers_list .q::before {
	content: "Q";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: var(--chubby-orange);
	color: #fff;
	font-family: var(--font-family-en);
	font-weight: 800;
	font-size: 1.4rem;
	line-height: 2.6rem;
}
.numbers_list .val {
	line-height: 1.2;
	color: var(--chubby-orange);
}
.numbers_list .val .s {
	font-size: 1.3rem;
	color: var(--chubby-navy);
	margin-right: 0.4rem;
}
.numbers_list .val .num {
	font-size: 4.8rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}
.numbers_list .val .unit {
	font-size: 1.6rem;
	font-weight: 700;
	margin-left: 0.2rem;
}
.numbers_list .val .sep {
	color: #ccc;
	margin: 0 1rem;
	font-size: 2rem;
}
.numbers_list .note {
	margin-top: 1.2rem;
	font-size: 1.3rem;
	color: #666;
}
@media screen and (max-width: 743px) {
	.numbers_list {
		grid-template-columns: 1fr;
		gap: 1.6rem;
		margin: 2rem 0 5rem;
	}
}

/* スタッフ紹介：縦長の社員写真をカードに収める */
.index_staff .staff header .ph img {
	width: 100%;
	height: auto;
	aspect-ratio: 660 / 388;
	object-fit: cover;
	object-position: center 15%;
}
.index_staff .introduction .ph img {
	width: 100%;
	height: auto;
	aspect-ratio: 640 / 480;
	object-fit: cover;
	object-position: center 10%;
}
.index_staff .introduction .info h4 .\_ff_en {
	font-size: 0.6em;
	font-weight: 500;
	margin-left: 0.8em;
	opacity: 0.7;
}

/* 働く環境：背景写真は少し明るめのオーバーレイ */
.index_environment ._fix_bg::after,
.index_challenge ._fix_bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(247, 147, 30, 0.55);
}

/* キャリアアップのカードは紺ベタ（元は紺×紺の乗算だったのでオレンジ地だと茶色くなる） */
.index_career-up .career-up_contents .career-up_item section .box::before {
	mix-blend-mode: normal !important;
	opacity: 1 !important;
	background-color: var(--chubby-navy) !important;
}

/* 会社概要 */
.index_company {
	background-color: var(--chubby-cream);
}
.company_table {
	display: grid;
	grid-template-columns: 20rem 1fr;
	border-top: 1px solid rgba(43, 58, 78, 0.15);
	margin-top: 4rem;
}
.company_table dt,
.company_table dd {
	padding: 2rem 1.6rem;
	border-bottom: 1px solid rgba(43, 58, 78, 0.15);
	line-height: 1.7;
}
.company_table dt {
	font-weight: 700;
	color: var(--chubby-orange);
}
.company_table dd .s {
	font-size: 1.3rem;
	color: #666;
}
@media screen and (max-width: 743px) {
	.company_table {
		grid-template-columns: 1fr;
		margin-top: 2rem;
	}
	.company_table dt {
		padding-bottom: 0.4rem;
		border-bottom: 0;
	}
	.company_table dd {
		padding-top: 0.4rem;
	}
}

/* ボタンは Chubby と同じ丸ボタン */
.box_btn {
	border-radius: 5rem;
}

/* メインビジュアルの円 → Chubby の「C」形（右側が開いた太い弧） */
.index_main .bg-circle {
	border-radius: 0;
	-webkit-mask: url(../img/chubby/c-mask.svg) center / contain no-repeat;
	mask: url(../img/chubby/c-mask.svg) center / contain no-repeat;
}
@media screen and (min-width: 744px) {
	.index_main .bg-circle {
		width: min(100rem, 92vw);
		height: min(100rem, 92vw);
	}
}

/* 事業サイクル図 → Chubby の「C」形（右が開いた C の帯に円が並び、開口から生活者へ届く） */
.index_business .business_cycle .main::before,
.index_business .business_cycle .main::after {
	border-radius: 0;
	-webkit-mask: url(../img/chubby/c-outer.svg) center / contain no-repeat;
	mask: url(../img/chubby/c-outer.svg) center / contain no-repeat;
}
.index_business .business_cycle .main .businesses_bg {
	width: 100rem;
	height: 100rem;
	border-radius: 0;
	-webkit-mask: url(../img/chubby/c-band.svg) center / contain no-repeat;
	mask: url(../img/chubby/c-band.svg) center / contain no-repeat;
}
.index_business .business_cycle .businesses li[style*="--position: -2;"] { --rotate: -74.44deg; }
.index_business .business_cycle .businesses li[style*="--position: -1;"] { --rotate: -43.33deg; }
.index_business .business_cycle .businesses li[style*="--position: 0;"] { --rotate: -12.22deg; }
.index_business .business_cycle .businesses li[style*="--position: 1;"] { --rotate: 18.89deg; }
.index_business .business_cycle .businesses li[style*="--position: 2;"] { --rotate: 50.00deg; }
.index_business .business_cycle .businesses li[style*="--position: 3;"] { --rotate: 130.00deg; }
.index_business .business_cycle .businesses li[style*="--position: 4;"] { --rotate: 161.11deg; }
.index_business .business_cycle .businesses li[style*="--position: 5;"] { --rotate: 192.22deg; }
.index_business .business_cycle .businesses li[style*="--position: 6;"] { --rotate: 223.33deg; }
.index_business .business_cycle .businesses li[style*="--position: 7;"] { --rotate: 254.44deg; }
/* 事業サイクル図の中央ロゴ：白い四角をなくして背景透過 */
.index_business .business_cycle .main .logo {
	width: 24rem;
	height: 9rem;
	background-color: var(--bg-base);	/* ページと同色：流れる線がロゴの文字に重ならないように */
	border-radius: 4.5rem;
}

/* 事業サイクル図：店舗 →（Chubby）→ 生活者 を 1 本の流れる線でつなぐ */
.index_business .business_cycle .business_cycle_inner::before {
	content: "";
	position: absolute;
	top: 50%;
	left: calc((100% - 100rem) / 4);
	right: calc((100% - 100rem) / 4);
	height: 0.6rem;
	margin-top: -0.3rem;
	background: repeating-linear-gradient(90deg, #F7931E 0 2rem, transparent 2rem 3.6rem);
	border-radius: 0.3rem;
	animation: cp-flow 1.2s linear infinite;
	pointer-events: none;
}
@keyframes cp-flow {
	from { background-position: 0 0; }
	to   { background-position: 3.6rem 0; }
}
@media (prefers-reduced-motion: reduce) {
	.index_business .business_cycle .business_cycle_inner::before { animation: none; }
}
.index_business .business_cycle .main {
	z-index: 1;
}
/* 矢印は両方とも右向き（店舗 → Chubby → 生活者） */
.index_business .business_cycle .main .businesses::before {
	transform: none;
	background-color: #F7931E;
}
.index_business .business_cycle .main .businesses::after {
	background-color: #F7931E;
}
/* 両端：アイコン入りの丸＋下に名前 */
.index_business .business_cycle .user {
	position: relative;
	justify-self: center;
	width: 15rem;
	height: 15rem;
	z-index: 1;
}
.index_business .business_cycle .user_ico {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	border: 0.4rem solid #F7931E;
	border-radius: 50%;
	box-shadow: 0 0.8rem 2.4rem rgba(247, 147, 30, 0.25);
}
.index_business .business_cycle .user_ico::before {
	content: "";
	position: absolute;
	inset: 3.4rem;
	background: #F7931E;
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
}
.index_business .business_cycle .user.-shop .user_ico::before {
	-webkit-mask-image: url(../img/chubby/ico-shop.svg);
	mask-image: url(../img/chubby/ico-shop.svg);
}
.index_business .business_cycle .user.-people .user_ico::before {
	-webkit-mask-image: url(../img/chubby/ico-people.svg);
	mask-image: url(../img/chubby/ico-people.svg);
}
.index_business .business_cycle .user_txt {
	position: absolute;
	top: calc(100% + 1.6rem);
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	text-align: center;
	font-size: 2.4rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
}
.index_business .business_cycle .user_txt span {
	display: block;
	font-size: 1.5rem;
	color: #8a7a66;
}

/* 実績データ（画像 → HTML/CSS で再現） */
.rs {
	--rs-grad: linear-gradient(90deg, #FFD60A 0%, #FFA41B 55%, #FF7A00 100%);
	--rs-gold: #E2B04A;
	--rs-orange: #F29600;
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 4rem;
	margin-top: 4rem;
	align-items: start;
}
.rs_card {
	background: #fff;
	border-radius: 2.4rem;
	box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.12);
	overflow: hidden;
}
.rs_head {
	position: relative;
	padding: 1.4rem 2rem;
	background: var(--rs-grad);
	color: #fff;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.4;
	overflow: hidden;
}
.rs_meo .rs_head {
	font-size: 3rem;
	padding-block: 1.6rem;
}
.rs_head::after {
	content: "";
	position: absolute;
	right: 4%;
	top: 50%;
	width: 4.4rem;
	height: 4.4rem;
	transform: translateY(-50%);
	background: var(--ico) center / contain no-repeat;
	opacity: 0.35;
}
.rs_body {
	padding: 3rem 4rem 4rem;
}

/* MEO */
.rs_meo .rs_body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem 3rem;
}
.rs_award {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
}
.rs_laurel {
	width: 7rem;
	height: auto;
	flex-shrink: 0;
}
.rs_award_txt {
	text-align: center;
	color: var(--rs-gold);
	font-weight: 900;
	line-height: 1.2;
}
.rs_award_label {
	display: block;
	font-size: 2.6rem;
	letter-spacing: 0.08em;
}
.rs_award_val {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 0.8rem;
}
.rs_award_val .rs_num {
	font-size: 6.4rem;
	letter-spacing: 0.02em;
}
.rs_award_val .rs_unit {
	font-size: 2.6rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
}
.rs_sub {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	color: #222;
}
.rs_sub::before {
	content: "・";
	letter-spacing: 0;
}
.rs_logos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.6rem 2rem;
	align-items: center;
	margin-top: 1.8rem;
}
.rs_logos img {
	display: block;
	width: 100%;
	max-height: 8.8rem;
	object-fit: contain;
}
.rs_rank {
	grid-column: 1 / -1;
}
.rs_rank_no {
	margin-inline: 0.4rem;
	color: var(--rs-gold);
	font-size: 3.6rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
}
.rs_medal {
	width: 2.6rem;
	height: auto;
	margin-left: 0.6rem;
}
.rs_words {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.4rem 2rem;
	margin-top: 1.6rem;
	padding: 2.4rem 3rem 0;
	border-top: 2px solid var(--rs-gold);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #222;
}
.rs_words span {
	margin-right: 0.6rem;
	color: var(--rs-orange);
}

/* 数値ブロック（下線つき） */
.rs_stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.4rem;
}
.rs_stat {
	text-align: center;
}
.rs_stat_label {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	color: #222;
}
.rs_stat_val {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.2rem;
	margin-top: 0.6rem;
	padding-bottom: 0.4rem;
	border-bottom: 2px solid var(--rs-orange);
	color: var(--rs-orange);
	font-weight: 900;
	line-height: 1.1;
	white-space: nowrap;
}
.rs_stat_val .rs_num {
	font-size: 4rem;
}
.rs_stat_val .rs_unit,
.rs_stat_val .rs_pre {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
}
.rs_stat.-big {
	margin-bottom: 4rem;
}
.rs_stat.-big .rs_stat_label {
	font-size: 1.8rem;
	letter-spacing: 0.15em;
	margin-bottom: 1.2rem;
}
.rs_stat.-big .rs_stat_val {
	gap: 0.8rem;
}
.rs_stat.-big .rs_num {
	font-size: 4.8rem;
}
.rs_stat.-big .rs_unit,
.rs_stat.-big .rs_pre {
	font-size: 2.2rem;
}

/* 下段のバッジ 3 つ */
.rs_badges {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4rem;
	align-items: center;
}
.rs_badges .rs_head {
	font-size: 2rem;
}
.rs_badges .rs_body {
	padding: 2.4rem 2.4rem 2.8rem;
}
.rs_link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.2rem;
	color: var(--rs-orange);
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.rs_link::after {
	content: "";
	width: 1.6rem;
	height: 1.8rem;
	background: var(--rs-orange);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	transition: transform 0.2s;
}
.rs_link:hover::after {
	transform: translateX(0.4rem);
}
.rs_partner .rs_stat_val .rs_num {
	font-size: 3.6rem;
}
.rs_expert {
	border-radius: 2rem;
}
.rs_expert .rs_head {
	padding-block: 1.8rem;
	font-size: 1.9rem;
}

@media screen and (max-width: 743px) {
	.rs {
		grid-template-columns: 1fr;
		gap: 2.4rem;
		margin-top: 2.4rem;
	}
	.rs_card { border-radius: 1.6rem; }
	.rs_head { font-size: 1.8rem; padding: 1.2rem 1.6rem; }
	.rs_meo .rs_head { font-size: 2.6rem; }
	.rs_head::after { width: 3.4rem; height: 3.4rem; }
	.rs_body { padding: 2.4rem 2rem 2.8rem; }
	.rs_meo .rs_body { grid-template-columns: 1fr; gap: 2.8rem; }
	.rs_laurel { width: 5.6rem; }
	.rs_award_label { font-size: 2rem; }
	.rs_award_val .rs_num { font-size: 5.2rem; }
	.rs_award_val .rs_unit { font-size: 2rem; }
	.rs_sub { font-size: 1.7rem; }
	.rs_logos { gap: 1.2rem 1.6rem; }
	.rs_logos img { max-height: 6.4rem; }
	.rs_words { grid-template-columns: 1fr 1fr; padding: 1.8rem 0.8rem 0; font-size: 1.6rem; gap: 1.2rem 1rem; }
	.rs_stat_val .rs_num { font-size: 3.4rem; }
	.rs_stat.-big .rs_num { font-size: 4.2rem; }
	.rs_stat.-big .rs_unit,
	.rs_stat.-big .rs_pre { font-size: 1.8rem; }
	.rs_stat_label { font-size: 1.3rem; }
	.rs_badges { grid-template-columns: 1fr; gap: 2.4rem; }
	.rs_badges .rs_head { font-size: 1.8rem; }
}

/* 実績データ：調整 */
.rs_meo .rs_head { --ico: url(../img/chubby/results/ico-pin.svg); }
.rs_ads .rs_head { --ico: url(../img/chubby/results/ico-chart.svg); }
.rs_web .rs_head { --ico: url(../img/chubby/results/ico-phone.svg); }
.rs_partner .rs_head { --ico: url(../img/chubby/results/ico-badge.svg); }
.rs_expert .rs_head { --ico: url(../img/chubby/results/ico-person.svg); }
.rs_head,
.rs_num,
.rs_rank_no { font-family: "Noto Sans JP", sans-serif; font-style: normal; }
.rs_num, .rs_rank_no { font-weight: 900; }
.rs_meo .rs_body { grid-template-columns: 1fr 1.1fr; }
.rs_laurel { width: 8.4rem; }
.rs_stat_label { white-space: nowrap; }
.rs_expert .rs_head { white-space: nowrap; font-size: 1.8rem; letter-spacing: 0.06em; padding-inline: 1.2rem 5rem; }
.rs_link, .rs_link:hover { text-decoration: none; }
.numbers_list .val { white-space: nowrap; }
@media screen and (max-width: 743px) {
	.rs_laurel { width: 6.4rem; }
	.rs_expert .rs_head { font-size: 1.6rem; }
}
@media screen and (max-width: 743px) {
	.rs_meo .rs_body { grid-template-columns: minmax(0, 1fr); }
	.rs_stats { gap: 1.4rem; }
	.rs_stats .rs_stat_val .rs_num { font-size: 3rem; }
	.rs_stats .rs_stat_val .rs_unit { font-size: 1.4rem; }
	.rs_stat_label { font-size: 1.2rem; }
	.rs_award_val .rs_num { font-size: 4.6rem; }
	.rs_award_val .rs_unit { font-size: 1.8rem; }
	.rs_award_label { font-size: 1.8rem; }
}
@media screen and (max-width: 743px) {
	.numbers_list .val { white-space: normal; }
}
/* 社内データ：「ラベル＋数字＋単位」は途中で改行しない */
.numbers_list .val .g { display: inline-block; white-space: nowrap; }

/* TOP：採用ブログ */
.index_blog .blog_contents { margin-top: 2rem; }
.index_blog .blog_card {
	display: grid;
	grid-template-columns: 44rem 1fr;
	align-items: center;
	gap: 4rem;
	padding: 2.4rem;
	background: #fff;
	border-radius: 2rem;
	box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.06);
	color: #333;
	text-decoration: none;
	transition: transform .2s, box-shadow .2s;
}
.index_blog .blog_card:hover { transform: translateY(-0.4rem); box-shadow: 0 1rem 2.8rem rgba(0, 0, 0, 0.1); }
.index_blog .blog_ph img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 1.2rem; }
.index_blog .blog_txt { display: block; }
.index_blog .blog_meta { display: flex; align-items: center; gap: 1.2rem; font-size: 1.3rem; color: #8a7a66; }
.index_blog .blog_cat { padding: 0.2rem 1.2rem; background: #F7931E; color: #fff; border-radius: 4rem; font-weight: 700; }
.index_blog .blog_ttl { display: block; margin-top: 1.4rem; font-size: 2.2rem; font-weight: 700; line-height: 1.6; color: #2B3A4E; }
.index_blog .blog_more { display: inline-block; margin-top: 2rem; color: #F7931E; font-size: 1.5rem; font-weight: 700; letter-spacing: 0.1em; }
.index_blog .blog_more::after { content: " →"; }
.index_blog .blog_all { margin-top: 4rem; text-align: center; }
.index_blog .blog_all .box_btn { display: inline-flex; padding-inline: 5rem; }
@media screen and (max-width: 743px) {
	.index_blog .blog_card { grid-template-columns: 1fr; gap: 1.6rem; padding: 1.6rem; border-radius: 1.4rem; }
	.index_blog .blog_ttl { font-size: 1.7rem; margin-top: 1rem; }
	.index_blog .blog_more { margin-top: 1.2rem; font-size: 1.3rem; }
	.index_blog .blog_all { margin-top: 2.4rem; }
}
.index_blog .blog_contents.contents_box { background: none; padding: 0; box-shadow: none; }

/* 事業サイクル図：矢印のラベル＋生活者 → 店舗 の戻り線（来店） */
@media screen and (min-width: 744px) {
	.index_business .business_cycle .business_cycle_wrap {
		padding-bottom: 9rem;
	}
}
.index_business .business_cycle .flow_lbl {
	position: absolute;
	z-index: 6;
	padding: 0.4rem 1.4rem;
	background: #fff;
	border: 0.2rem solid #F7931E;
	border-radius: 4rem;
	color: #E07B00;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	white-space: nowrap;
	transform: translate(-50%, -50%);
}
.index_business .business_cycle .flow_lbl.-consult {
	left: calc(50% - 47rem);
	top: calc(50% - 3.6rem);
}
.index_business .business_cycle .flow_lbl.-send {
	left: calc(50% + 44rem);
	top: calc(50% - 3.6rem);
}
.index_business .business_cycle .flow_back {
	position: absolute;
	left: calc((100% - 100rem) / 4);
	right: calc((100% - 100rem) / 4);
	top: calc(50% + 17rem);
	height: 40rem;
	border: 0.5rem dashed #F7931E;
	border-top: 0;
	border-radius: 0 0 50% 50% / 0 0 100% 100%;
	pointer-events: none;
	z-index: 0;
}
/* 店舗側（左端）に上向きの矢印 */
.index_business .business_cycle .flow_back::after {
	content: "";
	position: absolute;
	left: -1.6rem;
	top: -2.4rem;
	width: 2.6rem;
	height: 2.4rem;
	background: #F7931E;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.index_business .business_cycle .flow_lbl.-visit {
	left: 50%;
	top: 100%;
	font-size: 1.8rem;
	padding: 0.6rem 2rem;
	background: #F7931E;
	color: #fff;
}
@media screen and (max-width: 743px) {
	.index_business .business_cycle .business_cycle_wrap {
		height: calc(108rem * .6);
	}
}

/* 事業サイクル図（SP）：横スライドの案内 */
.index_business .business_cycle .cycle_swipe {
	display: none;
}
@media screen and (max-width: 743px) {
	.index_business .business_cycle .cycle_swipe {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 1rem;
		width: fit-content;
		margin: 0 auto 1.2rem;
		padding: 0.8rem 1.8rem;
		background: #fff;
		border: 0.15rem solid #F7931E;
		border-radius: 4rem;
		color: #E07B00;
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		transition: opacity .4s;
	}
	.index_business .business_cycle .cycle_swipe::before,
	.index_business .business_cycle .cycle_swipe::after {
		content: "";
		width: 0.7rem;
		height: 0.9rem;
		background: #F7931E;
	}
	.index_business .business_cycle .cycle_swipe::before { clip-path: polygon(100% 0, 0 50%, 100% 100%); }
	.index_business .business_cycle .cycle_swipe::after  { clip-path: polygon(0 0, 100% 50%, 0 100%); }
	.index_business .business_cycle .cycle_swipe_ico {
		width: 2rem;
		height: 2rem;
		background: #F7931E;
		-webkit-mask: url(../img/chubby/ico-swipe.svg) center / contain no-repeat;
		mask: url(../img/chubby/ico-swipe.svg) center / contain no-repeat;
		animation: cp-swipe 1.6s ease-in-out infinite;
	}
	.index_business .business_cycle .cycle_swipe.-done { opacity: 0.35; }
	.index_business .business_cycle .cycle_swipe.-done .cycle_swipe_ico { animation: none; }
}
@keyframes cp-swipe {
	0%, 100% { transform: translateX(-0.4rem); }
	50% { transform: translateX(0.4rem); }
}
@media (prefers-reduced-motion: reduce) {
	.index_business .business_cycle .cycle_swipe_ico { animation: none; }
}

/* 事業サイクル図（SP）：縮小しても読めるよう図の中の文字を大きめに */
@media screen and (max-width: 743px) {
	.index_business .business_cycle .main .businesses li > span { font-size: 2.1rem; line-height: 1.45; --ls: 0; }
	.index_business .business_cycle .main .businesses dt { font-size: 3rem; }
	.index_business .business_cycle .user_txt { font-size: 3.2rem; }
	.index_business .business_cycle .user_txt span { font-size: 2.2rem; }
	.index_business .business_cycle .flow_lbl { font-size: 2.4rem; padding: 0.6rem 2rem; }
	.index_business .business_cycle .flow_lbl.-visit { font-size: 2.6rem; }
}

/* 2026-10-20 スローガン「Be Passionate. / Move Fast.」（旧 Be Hot / Be Fast より長いので縮小・位置調整） */
@media screen and (min-width: 744px) {
	.index_main .eng { font-size: 10rem; }
	.index_main .eng span.eng1 { right: calc(50% - 17rem); }
	.index_main .eng span.eng2 { left: calc(50% - 30rem); }
	.index_workstyle .catch .item .eng { font-size: 7.6rem; white-space: nowrap; }
	#footer .catch .item .eng { font-size: 7rem; white-space: nowrap; }
}
@media screen and (max-width: 743px) {
	.index_main .eng { font-size: 5.2rem; gap: 0.6rem; }
	.index_main .eng span.eng1 { margin-left: 0; padding-left: 2rem; }
	.index_main .eng span.eng2 { margin-left: 0; padding-left: 2rem; }
	.index_workstyle .catch .item .eng { font-size: 3.8rem; }
	#footer .catch .item .eng { font-size: 3.6rem; }
}


/* 2026-10-20 MVV＋行動指針（私たちの想い） */
.mvv { margin-top: 8rem; padding: 7rem 6rem 6rem; background: #FFF7EE; border-radius: 2rem; color: #2B3A4E; }
.mvv_head { display: flex; align-items: baseline; gap: 2rem; margin-bottom: 4rem; font-size: 6rem; font-weight: 800; font-style: italic; line-height: 1; color: #E07B00; }
.mvv_head span { font-family: var(--font-family-ja, inherit); font-style: normal; font-size: 1.8rem; font-weight: 700; color: #2B3A4E; letter-spacing: .08em; }
.mvv_list { list-style: none; margin: 0; padding: 0; }
/* 円すい：行の高さを固定し、各段の左右の傾きが1本の線につながるよう clip-path を計算（高さ 17/17/17/9rem・段間0.8rem） */
.mvv_row { display: grid; grid-template-columns: 44rem 1fr; column-gap: 5rem; height: 17rem; }
.mvv_row + .mvv_row { margin-top: .8rem; }
.mvv_row.-p { height: 9rem; }
.mvv_tier { display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff; text-align: center; }
.mvv_txt { align-self: center; }
.mvv_row.-m  .mvv_tier { justify-content: flex-end; padding-bottom: 1.8rem; clip-path: polygon(50% 0, 63.62% 100%, 36.38% 100%); background: linear-gradient(90deg, #F2A35A, #E8622E); }
.mvv_row.-v  .mvv_tier { clip-path: polygon(35.74% 0, 64.26% 0, 77.88% 100%, 22.12% 100%); background: linear-gradient(90deg, #F8C878 25%, #EE8A3C 60%, #E8622E 78%); }
.mvv_row.-va .mvv_tier { clip-path: polygon(21.47% 0, 78.53% 0, 92.15% 100%, 7.85% 100%); background: linear-gradient(90deg, #FBD9A8 10%, #F0A86E 55%, #E8703A 90%); }
.mvv_row.-p  .mvv_tier { clip-path: polygon(7.21% 0, 92.79% 0, 100% 100%, 0 100%); background: linear-gradient(90deg, #F2A35A, #E07B00 55%, #D9562A); }
.mvv_en { font-size: 3.4rem; font-weight: 800; line-height: 1; text-shadow: 0 .2rem .6rem rgba(160,60,0,.35); }
.mvv_row.-m .mvv_en { font-size: 2rem; }
.mvv_ja { margin-top: .6rem; font-size: 1.4rem; font-weight: 700; letter-spacing: .2em; }
.mvv_ja2 { font-size: 2rem; font-weight: 700; letter-spacing: .12em; }
.mvv_txt { padding-block: 1.2rem; border-bottom: 2px solid #EE8A3C; }
.mvv_tag { display: inline-block; padding: .3rem 1.6rem; border-radius: 99px; background: #EE8A3C; color: #fff; font-size: 1.4rem; font-weight: 700; letter-spacing: .1em; }
.mvv_st { margin-top: 1rem; color: #E0601E; font-size: 3.2rem; font-weight: 700; line-height: 1.5; letter-spacing: .04em; }
.mvv .nw { display: inline-block; }

.gfa { margin-top: 7rem; }
.gfa_head { display: flex; align-items: center; gap: 2rem; margin-bottom: 3rem; }
.gfa_ttl { padding: .6rem 3rem; background: #EE7A3C; color: #fff; font-size: 2.8rem; font-weight: 700; letter-spacing: .1em; }
.gfa_en { color: #E8B48A; font-size: 2.6rem; font-weight: 700; font-style: italic; }
.gfa_list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem 3rem; }
.gfa_list li { display: flex; align-items: center; gap: 1.6rem; min-height: 7.6rem; padding: 1rem 2.6rem 1rem 1rem; border-radius: 99px; background: #EE7A3C; color: #fff; }
.gfa_no { flex: none; display: grid; place-items: center; width: 5.6rem; height: 5.6rem; border-radius: 50%; background: #fff; border: 2px solid #EE7A3C; color: #2B3A4E; font-size: 2.2rem; font-weight: 800; }
.gfa_t { font-size: 1.7rem; font-weight: 700; line-height: 1.5; letter-spacing: .04em; word-break: auto-phrase; }
.mvv_st { word-break: auto-phrase; }
.gfa_en { color: #E39A62; }

@media screen and (min-width: 744px) {
	.index_vision .mvv { margin-left: -64rem; }
}
@media screen and (max-width: 743px) {
	.mvv { margin-top: 5rem; padding: 4rem 2rem; border-radius: 1.2rem; }
	.mvv_head { flex-direction: column; align-items: flex-start; gap: 1rem; margin-bottom: 2.4rem; font-size: 4.4rem; }
	.mvv_head span { font-size: 1.4rem; }
	/* SP：円すいを上にまとめ（高さ 9/7/7/5rem・段間0.4rem で傾きを計算）、文言はその下に縦並び */
	.mvv_list { display: grid; grid-template-columns: minmax(0, 32rem); justify-content: center; row-gap: .4rem; }
	.mvv_row { display: contents; }
	.mvv_row.-m  .mvv_tier { grid-row: 1; height: 9rem; padding-bottom: 1rem; clip-path: polygon(50% 0, 65.41% 100%, 34.59% 100%); }
	.mvv_row.-v  .mvv_tier { grid-row: 2; height: 7rem; clip-path: polygon(33.9% 0, 66.1% 0, 78.08% 100%, 21.92% 100%); }
	.mvv_row.-va .mvv_tier { grid-row: 3; height: 7rem; clip-path: polygon(21.23% 0, 78.77% 0, 90.75% 100%, 9.25% 100%); }
	.mvv_row.-p  .mvv_tier { grid-row: 4; height: 5rem; clip-path: polygon(8.56% 0, 91.44% 0, 100% 100%, 0 100%); }
	.mvv_row.-m  .mvv_txt { grid-row: 5; margin-top: 2.4rem; }
	.mvv_row.-v  .mvv_txt { grid-row: 6; margin-top: 1.2rem; }
	.mvv_row.-va .mvv_txt { grid-row: 7; margin-top: 1.2rem; }
	.mvv_en { font-size: 2rem; }
	.mvv_row.-m .mvv_en { font-size: 1.15rem; }
	.mvv_row.-m .mvv_ja { font-size: 1rem; margin-top: .3rem; }
	.mvv_ja { font-size: 1.1rem; letter-spacing: .1em; }
	.mvv_ja2 { font-size: 1.5rem; }
	.mvv_tag { font-size: 1.1rem; padding: .2rem 1.2rem; }
	.mvv_st { font-size: 1.7rem; }
	.mvv .nw { display: inline; }
	.mvv .mvv_st br { display: none; }
	.gfa { margin-top: 4.4rem; }
	.gfa_head { flex-direction: column; align-items: flex-start; gap: .8rem; margin-bottom: 2rem; }
	.gfa_ttl { font-size: 2.2rem; }
	.gfa_en { font-size: 1.8rem; }
	.gfa_list { grid-template-columns: 1fr; gap: 1.2rem; }
	.gfa_list li { min-height: 0; padding: .8rem 2rem .8rem .8rem; border-radius: 3.2rem; }
	.gfa_no { width: 4.4rem; height: 4.4rem; font-size: 1.7rem; }
	.gfa_t { font-size: 1.45rem; }
}

/* 2026-10-20 代表メッセージ写真（代表2名・横長）：白い文字が読めるよう少し暗く／SPは縦長枠なので全体を収め、背景は同じ写真のぼかし */
.index_message .eng_title_wrap .ph_inner_in::after { content: ""; position: absolute; inset: 0; background: rgba(20, 28, 40, .28); pointer-events: none; }
@media screen and (max-width: 743px) {
	.index_message .eng_title_wrap .ph_inner_in { overflow: hidden; inset: 0 !important; }
	.index_message .eng_title_wrap .ph_inner_in::before { content: ""; position: absolute; inset: -2rem; background: url(../img/chubby/ph/ceo-2610.jpg) center / cover no-repeat; filter: blur(1.4rem) brightness(.85); }
	.index_message .eng_title_wrap .ph_inner_in img { object-fit: contain; z-index: 1; }
	.index_message .eng_title_wrap .ph_inner_in::after { z-index: 2; }
}

/* 2026-10-20 写真追加：募集要項の各職種・会社概要・働き方・エントリー */
.index_recruitment .recruitment_contents .recruitment .header { padding-left: 27rem; min-height: 18rem; }
.rec_ph { position: absolute; left: 0; top: 1rem; width: 24rem; aspect-ratio: 3 / 2; margin: 0; overflow: hidden; border-radius: .8rem; }
.rec_ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.index_recruitment .recruitment_contents .recruitment .header:hover .rec_ph img { transform: scale(1.04); }
.company_ph { list-style: none; margin: 5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.company_ph li { aspect-ratio: 3 / 2; overflow: hidden; border-radius: .8rem; }
.company_ph img, .ws_ph img { width: 100%; height: 100%; object-fit: cover; }
.ws_ph { list-style: none; margin: 6rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.ws_ph li { aspect-ratio: 3 / 2; overflow: hidden; border-radius: .8rem; }
.entry_ph { grid-column: 1 / -1; width: 100%; margin: 0; height: 48rem; overflow: hidden; }
.entry_ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
@media screen and (max-width: 743px) {
	.index_recruitment .recruitment_contents .recruitment .header { padding-left: 2rem; min-height: 0; }
	.rec_ph { position: static; width: 100%; margin-bottom: 1.6rem; aspect-ratio: 16 / 9; }
	.company_ph { margin-top: 3rem; grid-template-columns: 1fr 1fr; gap: 1rem; }
	.company_ph li:first-child { grid-column: 1 / -1; }
	.ws_ph { margin-top: 4rem; grid-template-columns: 1fr 1fr; gap: 1rem; }
	.ws_ph li:first-child { grid-column: 1 / -1; }
	.entry_ph { height: 24rem; }
}

/* 2026-10-20 会社概要4枚（表と同じ幅で中央に）・エントリー写真をロゴの入口に */
.company_ph { max-width: 110rem; margin: 5rem auto 0; grid-template-columns: repeat(4, 1fr); }
.entry_ph img { object-position: 50% 44%; }
@media screen and (max-width: 743px) {
	.company_ph { grid-template-columns: 1fr 1fr; }
	.company_ph li:first-child { grid-column: auto; }
}

/* 2026-10-20 MVV画像：PCはデザイン画像そのまま（文言は読み上げ用に残す）、SPは円すいの画像＋文言 */
.mvv { background: #FFEEE7; }
.mvv_fig { display: block; }
.mvv_fig img { display: block; width: 100%; height: auto; }
.mvv_tier { display: none; }
@media screen and (min-width: 744px) {
	.mvv_list { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media screen and (max-width: 743px) {
	.mvv_fig { max-width: 30rem; margin: 0 auto; }
	.mvv_list, .mvv_row { display: block; }
	.mvv_row.-p { display: none; }
	.mvv_row .mvv_txt { margin-top: 2rem; }
}

/* 2026-10-20 代表メッセージ写真（PC）：JSの横ずらし（inset左-330px）で右の1人しか入らなかったので止め、2人の間を枠の中心に */
@media screen and (min-width: 744px) {
	.index_message .eng_title_wrap .ph_inner_in { inset: 0 !important; }
	.index_message .eng_title_wrap .ph_inner_in img { object-position: 47% 20%; }
}

/* 2026-10-20 レスポンシブ調整（iPhone実機の指摘＋全幅チェック） */
#footer .catch .item .eng { color: #fff; } /* 元は背景と同じ紺色で見えていなかった */
.company_table dd .text_link { margin-inline: 0; } /* ホームページのリンクだけ中央寄せになっていた */
@media screen and (max-width: 743px) {
	p, li, dd, h3, h4 { word-break: auto-phrase; }
	/* 代表メッセージ：写真は枠の中央、キャッチは2行で */
	.index_message .eng_title_wrap .ph_inner_in img { object-position: 50% 50%; }
	.index_message .eng_title_wrap .lead { font-size: 1.8rem; line-height: 1.6; text-shadow: 0 .1rem .8rem rgba(0, 0, 0, .45); }
	/* MVV：PC用の行の高さ（17rem）が残って間延びしていた */
	.mvv_row, .mvv_row.-p { height: auto; }
	.mvv_row + .mvv_row { margin-top: 0; }
	/* 事業部の見出しが＋ボタンに重なる */
	section.job > header { padding-right: 5.6rem; }
	section.job > header .eng { font-size: 2.6rem; }
	/* 「社内データ」が1文字で改行 */
	.eng_title_h .ja { white-space: nowrap; }
	/* 「プロダクトエキスパート取得者在籍」がアイコンに重なる */
	.rs_expert .rs_head { font-size: 1.4rem; letter-spacing: .04em; padding-right: 4.4rem; }
}
.nb { display: inline-block; } /* 2026-10-20 SPで1〜2文字だけ次の行に落ちるのを防ぐ */
@media screen and (max-width: 743px) {
	/* 実績カードの見出しが右のアイコンに重なる */
	.rs_card .rs_head { padding-inline: 4.4rem; }
	.rs_card:not(.rs_meo) .rs_head { font-size: 1.6rem; letter-spacing: .06em; }
}
@media screen and (max-width: 743px) {
	.rs_card.rs_expert .rs_head { font-size: 1.3rem; letter-spacing: .02em; white-space: normal; }
}
/* 2026-10-20 タブレット〜小さめPC（744〜1399px）：10の魅力の2列が画面外へはみ出す／実績カード見出しがアイコンに重なる */
@media screen and (min-width: 744px) and (max-width: 1399px) {
	.index_workstyle .workstyle_list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; padding-right: 4rem; }
	.rs_card.rs_partner .rs_head, .rs_card.rs_expert .rs_head { font-size: 1.6rem; padding-right: 5rem; }
}
@media screen and (max-width: 743px) {
	.flow .flow_s { display: block; font-size: .68em; letter-spacing: -.02em; white-space: nowrap; }
	.flow_note { margin-top: 1rem; } /* 2026-10-20 採用フロー03が枠からはみ出す */
}
/* 2026-10-20 代表メッセージ写真：角が欠ける＋上下のぼかし帯が不自然 → 全幅で枠いっぱい（PCと同じ見え方）・四隅を丸く切る */
.index_message .eng_title_wrap .ph_inner { overflow: hidden; }
.index_message .eng_title_wrap .ph_inner_in { border-radius: inherit; overflow: hidden; }
@media screen and (max-width: 743px) {
	.index_message .eng_title_wrap .ph_inner_in::before { content: none; }
	.index_message .eng_title_wrap .ph_inner_in img { object-fit: cover; object-position: 47% 20%; }
}
/* 2026-10-20 紺→Chubbyのオレンジ：フッター・ENTRYボタン */
#footer { background-color: #F7931E; }
#footer .catch .copy, #footer .catch .item .eng { text-shadow: 0 .2rem 1.2rem rgba(160, 70, 0, .25); }
#footer .logo img { filter: brightness(0) invert(1); }
.hnav a.entry { background-color: #E8622E !important; }
#footer .corporate a::before, #footer .corporate a::after { background-color: #fff; border-color: #fff; }
#footer .corporate a::before { background-color: transparent; }
/* 2026-10-20 紺の枠（働く環境・学び成長の仕組み）→ クリーム色にしてオレンジのカードを映えさせる */
.contents_box.-navy { background: rgba(255, 248, 237, .94); }
.contents_box.-navy .eng_title_h .eng { color: #E07B00; }
.contents_box.-navy .eng_title_h .ja { color: #333; }
.card .category:not(.-dark) { background-color: #E8622E; } /* 2026-10-20 「福祉」タグの紺→赤みのオレンジ */
/* 2026-10-20 ヘッダーロゴ（PC）：リンクの高さ3remに対しロゴ画像が高く、上にはみ出して中央より上に寄っていた */
@media screen and (min-width: 744px) {
	#header .logo a { height: auto; }
}
.index_blog .blog_card + .blog_card { margin-top: 2.4rem; } /* 2026-10-20 ブログ記事を3本並べる */
@media screen and (max-width: 743px) { .index_blog .blog_card + .blog_card { margin-top: 1.6rem; } }
/* 2026-10-20 募集要項：求人詳細ページへのボタン（エントリーの横に並べる） */
.index_recruitment .recruitment ul.more { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.6rem; }
.index_recruitment .recruitment ul.more .box_btn.-sub { background: #fff; }

/* 2026-10-21 MVVの下に全員の集合写真 */
.mvv_photo { max-width: 90rem; margin: 5rem auto 0; }
.mvv_photo img { display: block; width: 100%; height: auto; border-radius: 1.2rem; box-shadow: 0 .6rem 2rem rgba(160,80,0,.12); }
.mvv_photo figcaption { margin-top: 1.2rem; text-align: center; font-size: 1.4rem; font-weight: 700; color: #2B3A4E; letter-spacing: .04em; }
@media screen and (max-width: 743px) {
	.mvv_photo { margin-top: 3rem; }
	.mvv_photo img { border-radius: .8rem; }
	.mvv_photo figcaption { font-size: 1.2rem; }
}
