@charset "UTF-8";

/*================
フルライフケアについて（会社案内トップ）
================*/

/* MV（PC: 798 / SP: 742）
----------------------------------------------------------*/
#company .mv-visual {
	height: 824px;
}
#company .mv-visual img {
	height: 824px;
	object-position: center center;
}
/* #company .mv-visual::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 45%;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 100%);
	pointer-events: none;
} */
#company .mv-inner {
	min-height: calc(824px - var(--header-height));
}
#company .mv-wrap + .section {
	margin-top: 80px;
}

/* 共通：ボタン中央寄せ
----------------------------------------------------------*/
#company .about-btn {
	display: flex;
	justify-content: center;
	margin: 0;
}
#company .about-btn-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px;
	margin: 40px 0 0;
}
#company .about-btn-row .btn-01 {
	margin: 0;
}

/* 事業
----------------------------------------------------------*/
#company .sec-business > .inner-1320 {
	gap: 0;
}
#company .sec-business .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	position: relative;
	z-index: 2;
}
#company .sec-business .ttl-01 {
	margin: 0;
}
#company .about-lead {
	margin: 0;
	font-weight: 600;
	line-height: 1.5;
}
#company .about-lead-catch, 
#company .about-lead-txt {
	display: block;
}
#company .about-lead-catch {
	font-size: 28px;
}
#company .about-lead-txt {
	font-size: 22.4px;
}
/* Figma: イラスト 1600x685 / 上下白グラデ100px / リード・ボタンはフェードに重ねる */
#company .business-visual {
	position: relative;
	width: 100%;
	max-width: 1600px;
	height: 685px;
	margin-left: auto;
	margin-right: auto;
	margin-top: -64px; /* リード文を上フェードに重ねる */
	overflow: hidden;
	z-index: 1;
}
#company .business-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
#company .business-visual::before, 
#company .business-visual::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 100px;
	pointer-events: none;
	z-index: 1;
}
#company .business-visual::before {
	top: 0;
	background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 100%);
}
#company .business-visual::after {
	bottom: 0;
	background: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0) 100%);
}
#company .sec-business .about-btn {
	position: relative;
	z-index: 2;
	margin-top: -102px; /* 下フェード上にボタン配置 */
}

/* 強み
----------------------------------------------------------*/
/* Figma: 事業ボタン下〜強み帯 ≈150px */
#company .sec-business + .sec-strength {
	margin-top: 104px;
}
#company .sec-strength {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #F7F9F4;
}
#company .sec-strength > .inner-1320 {
	gap: 0;
}
#company .sec-strength .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
#company .sec-strength .ttl-01 {
	margin: 0;
}
#company .sec-strength .strength-list {
	width: 100%;
}
/* タイトル行数差（1行/2行）を吸収して本文開始位置を揃える */
#company .sec-strength .strength-list .col-box-body > .ttl-03 {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(1.5em * 2);
	text-align: center;
}
/* Figma: 強み帯下端〜会社概要タイトル ≈80px */
#company .sec-strength + .sec-outline {
	margin-top: 80px;
}

/* 会社概要
----------------------------------------------------------*/
#company .sec-outline > .inner-1320 {
	gap: 0;
}
#company .sec-outline .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
#company .sec-outline .ttl-01 {
	margin: 0;
}
#company .outline-photos {
	display: flex;
	gap: 24px;
	width: 100%;
}
#company .outline-photos figure {
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
}
#company .outline-photos img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#company .outline-photos-main {
	flex: 1 1 auto;
	height: 500px;
}
#company .outline-photos-sub {
	display: flex;
	flex-direction: column;
	flex: 0 0 377px;
	width: 377px;
	gap: 24px;
}
#company .outline-photos-sub figure {
	height: 238px;
}

/* 採用情報（HOME準拠）
----------------------------------------------------------*/
#company .sec-recruit {
	padding-bottom: 160px;
}
#company .sec-recruit > .inner-1320 {
	gap: 0;
}
#company .sec-recruit .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
}
#company .sec-recruit .ttl-01 {
	margin: 0 0 62px; /* Figma: タイトル〜吹き出し帯 */
}
#company .sec-recruit .about-btn-row {
	margin-top: 0;
}
#company .recruit-visual {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 40px; /* Figma: イラスト下端〜ボタン 40 */
	padding-top: 120px;
}
#company .recruit-illust {
	position: relative;
	z-index: 1;
	margin: -6px auto 0;
	width: min(100%, 753px);
}
#company .recruit-illust img {
	display: block;
	width: 100%;
	height: auto;
}
#company .recruit-bubbles {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 2;
	margin: 0;
	padding: 0;
	list-style: none;
	height: 120px;
	pointer-events: none;
}
#company .recruit-bubble {
	position: absolute;
	width: 200px;
}
#company .recruit-bubble img {
	display: block;
	width: 100%;
	height: auto;
}
#company .recruit-bubble span {
	position: absolute;
	inset: 0 12px 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #222;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.8;
	text-align: center;
}
/* Figma: イラスト中心基準（743px / artboard上 x=429） */
#company .recruit-bubble.bubble-01 {
	/* 第二のキャリア 348,6087 */
	left: calc(50% - 452.5px);
	top: 21px;
}
#company .recruit-bubble.bubble-02 {
	/* 子育て 674,6066 */
	left: calc(50% - 126.5px);
	top: 0;
}
#company .recruit-bubble.bubble-03 {
	/* 新卒 513,6144 */
	left: calc(50% - 287.5px);
	top: 78px;
}
#company .recruit-bubble.bubble-04 {
	/* 未経験 891,6081 */
	left: calc(50% + 90.5px);
	top: 15px;
}
#company .recruit-bubble.bubble-05 {
	/* 親の介護 1049,6129 */
	left: calc(50% + 248.5px);
	top: 63px;
}
#company .recruit-catch {
	position: absolute;
	left: 50%;
	/* padding-top 120 + イラスト内 220（Figma y差） */
	top: 340px;
	z-index: 3;
	width: min(90%, 460px);
	transform: translateX(-50%);
	text-align: center;
	pointer-events: none;
}
#company .recruit-catch-ttl {
	margin: 0 0 20px;
	color: #222;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.5;
}
#company .recruit-catch-em {
	color: #E8893A;
}
#company .recruit-catch-txt {
	margin: 0;
	color: #222;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.8;
}

#company .sec-recruit + .bc-wrap.sp-mode-01 + .sec-contact, 
#company .sec-recruit + .sec-contact {
	margin-top: 0;
}

/* SP
----------------------------------------------------------*/
@media only screen and (max-width: 768px) {
	#company .main > .bc-wrap.sp-mode-01{
		margin-top: 2.605vw;
	}
	#company .mv-visual {
		height: 96.615vw; /* 742 */
	}
	#company .mv-visual img {
		height: 96.615vw;
	}
	#company .mv-visual::after {
		display: none;
	}
	#company .mv-inner {
		min-height: 0;
		padding-top: calc(116.146vw - var(--header-height)); /* タイトル開始 y=892 */
	}
	#company .mv-inner .page-head .ttl-01 {
		margin-bottom: 19.531vw; /* 150 */
	}
	#company .mv-wrap + .section {
		margin-top: 0;
	}

	#company .about-btn-row {
		flex-direction: column;
		align-items: center;
		gap: 8.334vw; /* 40 */
		width: 100%;
		margin-top: 11.719vw;
	}
	#company .about-btn-row .btn-01, 
	#company .about-btn {
		width: 100%;
	}
	#company .about-btn-row .btn-01 a, 
	#company .about-btn a {
		width: 100%;
	}

	#company .sec-business .sec-wrap {
		gap: 7.813vw; /* 60 */
	}
	#company .about-lead-catch {
		font-size: 6.25vw; /* 48 */
	}
	#company .about-lead-txt {
		font-size: 5vw; /* 38.4 */
	}
	/* SP: イラスト 768x713 / フェード100 / リードはほぼ非オーバーラップ、ボタンは下フェード上 */
	#company .business-visual {
		height: 92.839vw; /* 713 */
		margin-top: 1.172vw;
	}
	#company .business-visual::before, 
	#company .business-visual::after {
		height: 13.021vw; /* 100 */
	}
	#company .sec-business .about-btn {
		margin-top: -10.938vw; /* 84: イラスト下端〜ボタン上端 */
	}
	#company .sec-business + .sec-strength {
		margin-top: 32.553vw; /* 250: Figma SP */
	}

	#company .sec-strength {
		padding-top: 19.531vw; /* 150 */
		padding-bottom: 19.531vw;
	}
	#company .sec-strength .sec-wrap {
		gap: 7.813vw;
	}
	#company .sec-strength .strength-list {
		gap: 8.334vw;
	}
	#company .sec-strength .strength-list .col-box-body > .ttl-03 {
		min-height: 0; /* SPは縦積みのため揃え不要 */
	}
	/* SPデザインに強みボタンなし */
	#company .sec-strength .about-btn {
		display: none;
	}
	#company .sec-strength + .sec-outline {
		margin-top: 19.531vw; /* 150相当の帯下〜概要 */
	}

	#company .sec-outline .sec-wrap {
		gap: 7.813vw;
	}
	#company .outline-photos {
		flex-direction: column;
		gap: 5.208vw; /* 40 */
	}
	#company .outline-photos figure {
		border-radius: 2.605vw;
	}
	#company .outline-photos-main {
		height: 65.104vw; /* 500 */
	}
	#company .outline-photos-sub {
		flex-direction: row;
		flex: none;
		width: 100%;
		gap: 5.208vw;
	}
	#company .outline-photos-sub figure {
		flex: 1 1 50%;
		height: 32.552vw; /* 250 */
	}

	#company .sec-recruit {
		padding-top: 19.532vw; /* 150 */
		padding-bottom: 19.532vw; /* 150 */
	}
	#company .sec-recruit .ttl-01 {
		margin-bottom: 10.417vw; /* 80: タイトル〜吹き出し */
	}
	#company .sec-recruit .about-btn-row{
		gap: 5.209vw;
	}
	#company .recruit-visual {
		padding-top: 55.208vw; /* 424: 吹き出し帯 */
		margin-bottom: 7.813vw; /* 60: イラスト〜ボタン */
		max-width: none;
	}
	#company .recruit-illust {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		margin-top: 0;
		width: 100vw;
		height: 170.573vw; /* 1310 / 768 */
		overflow: hidden;
	}
	#company .recruit-illust img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
	}
	#company .recruit-bubbles {
		left: calc(50% - 50vw);
		right: calc(50% - 50vw);
		width: 100vw;
		height: 55.208vw; /* 424 */
	}
	#company .recruit-bubble span {
		inset: 0 3.906vw 3.008vw;
		font-size: 3.906vw; /* 30 */
		line-height: 1.5;
	}
	#company .recruit-bubble.bubble-01 {
		/* 第二のキャリア 93,16662 / 290x153 */
		left: 12.109vw;
		top: 9.115vw;
		width: 37.76vw;
		z-index: 2;
	}
	#company .recruit-bubble.bubble-02 {
		/* 子育て 354,16592 / 318x153 */
		left: 46.094vw;
		top: 0;
		width: 41.406vw;
		z-index: 1;
	}
	#company .recruit-bubble.bubble-03 {
		/* 新卒 40,16819 / 378x108 */
		left: 5.208vw;
		top: 29.557vw;
		width: 49.219vw;
	}
	#company .recruit-bubble.bubble-03 span {
		inset: 0 4.167vw 3.106vw;
	}
	#company .recruit-bubble.bubble-04 {
		/* 未経験 438,16733 / 290x153 */
		left: 57.031vw;
		top: 18.359vw;
		right: auto;
		width: 37.76vw;
	}
	#company .recruit-bubble.bubble-05 {
		/* 親の介護 310,16890 / 289x153 */
		left: 40.365vw;
		top: 38.802vw;
		right: auto;
		width: 37.63vw;
	}
	#company .recruit-catch {
		/* 吹き出し帯 424 + イラスト内 504 */
		top: calc(55.208vw + 65.625vw);
		width: 66.407vw; /* 504 */
	}
	#company .recruit-catch-ttl {
		margin-bottom: 5.208vw; /* 40 */
		font-size: 6.25vw; /* 48 */
		line-height: 1.5;
	}
	#company .recruit-catch-txt {
		font-size: 4.688vw; /* 36 */
		line-height: 1.9;
	}

	#company .sec-recruit + .bc-wrap.sp-mode-01 + .sec-contact, 
	#company .main > .sec-contact {
		margin-top: 0;
	}
}

/*================
会社概要（data.html）
================*/

/* MV（共通 376 / SP 542）
----------------------------------------------------------*/
#company-data .mv-wrap + .section {
	margin-top: 80px;
}
#company-data .section + .section {
	margin-top: 80px;
}
#company-data .main > .sec-contact {
	margin-top: 160px;
}
#company-data .bc-wrap.sp-mode-01 + .sec-contact {
	margin-top: 160px;
}

/* 基本情報
----------------------------------------------------------*/
#company-data .sec-data-info > .inner-1000 {
	gap: 0;
}
#company-data .sec-data-info .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
#company-data .sec-data-info .ttl-02 {
	margin: 0;
}
#company-data .sec-data-info .dl-list-01 {
	width: 100%;
}
#company-data .sec-data-info .dl-list-01 .dl-item {
	align-items: center;
}
#company-data .sec-data-info .dl-txt > p {
	margin: 0;
}
#company-data .sec-data-info .dl-txt > p.data-map-link {
	margin-top: 5px;
}
#company-data .sec-data-info time {
	font: inherit;
	color: inherit;
}
#company-data .sec-data-info .data-officer-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
#company-data .sec-data-info .data-officer-list li {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}
#company-data .sec-data-info .data-officer-list li + li {
	margin-top: 10px;
}
#company-data .sec-data-info .data-officer-role {
	flex: 0 0 100px;
	width: 100px;
}
#company-data .sec-data-info .data-officer-name {
	flex: 1 1 auto;
}
#company-data .sec-data-info .data-business-list {
	margin: 0;
	padding-left: 0;
	list-style: none;
}
#company-data .sec-data-info .data-business-list li + li {
	margin-top: 10px;
}

/* 沿革
----------------------------------------------------------*/
#company-data .sec-data-history {
	padding-top: 80px;
}
#company-data .section.sec-data-history > .inner-1320 {
	gap: 0;
}
#company-data .section.sec-data-history .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
#company-data .section.sec-data-history .sec-wrap > .ttl-02 {
	margin: 0;
}
#company-data .history-list {
	position: relative;
	width: 100%;
	padding-top: 20px;
}
#company-data .history-year {
	position: relative;
	display: grid;
	grid-template-columns: 254px minmax(0, 1fr);
	gap: 0;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--color-border, #D0D7C8);
}
#company-data .history-year::after {
	content: "";
	position: absolute;
	left: 254px;
	top: -20px;
	bottom: 5px;
	z-index: 0;
	width: 1px;
	background-color: var(--color-main, #447D1A);
	transform: translateX(-50%);
}
#company-data .history-year + .history-year {
	padding-top: 30px;
}
#company-data .history-year + .history-year::after {
	top: calc(30px - 20px); /* padding-top - 20 */
}
#company-data .history-year:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}
#company-data .history-year:last-child::after {
	bottom: 0;
}
#company-data .history-year-head {
	position: relative;
	padding-right: 9px;
	padding-left: 0;
	text-align: right;
	align-self: start;
}
#company-data .history-year-head::after {
	content: "";
	position: absolute;
	left: 100%;
	margin-left: -3px;
	top: 12px;
	z-index: 1;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--color-main, #447D1A);
}
#company-data .history-year-num {
	margin: 0;
	color: #222;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}
#company-data .history-year-body {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 377px;
	gap: 40px;
	align-items: start;
	padding-left: 147px;
	box-sizing: border-box;
}
#company-data .history-year-body::before, 
#company-data .history-year-body::after {
	display: none;
}
#company-data .history-main {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}
#company-data .history-entry {
	display: grid;
	grid-template-columns: 50px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}
#company-data .history-month {
	margin: 0;
	color: #222;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.8;
}
#company-data .history-month-note {
	margin: 0;
	font-weight: 600;
}
#company-data .history-entry:has(.history-month-note) .history-month-note {
	grid-column: 2;
	grid-row: 1;
	color: #222;
	font-size: 16px;
	line-height: 1.8;
}
#company-data .history-entry:has(.history-month-note) .history-txt {
	grid-column: 2;
	grid-row: 2;
}
#company-data .history-txt {
	margin: 0;
	color: #222;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
}
#company-data .history-txt p {
	margin: 0;
}
#company-data .history-photo {
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
	background-color: #F7F9F4;
}
#company-data .history-photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1272 / 600;
	object-fit: cover;
}
#company-data .history-photo-tall img {
	aspect-ratio: 1272 / 600;
	height: auto;
}
#company-data .history-photo-short img {
	height: auto;
	aspect-ratio: 1272 / 600;
}
#company-data .history-year-body--blocks {
	display: flex;
	flex-direction: column;
	gap: 16px;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	padding-left: 147px;
	box-sizing: border-box;
}
#company-data .history-block {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 377px;
	gap: 40px;
	align-items: start;
	justify-items: end;
	width: 100%;
}
#company-data .history-block .history-entry {
	justify-self: start;
	width: 100%;
}
#company-data .history-photo-stack {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	box-sizing: border-box;
	width: 377px;
	max-width: 100%;
	justify-self: end;
}
#company-data .history-photo-grid {
	display: grid;
	grid-template-columns: repeat(2, 180px);
	gap: 10px 17px;
	justify-content: end;
	width: 377px;
	max-width: 100%;
}
#company-data .history-photo-short {
	justify-self: end;
	width: 377px;
	max-width: 100%;
}
#company-data .history-photo-sm {
	box-sizing: border-box;
	width: 180px;
	min-width: 0;
	flex: 0 0 auto;
}
#company-data .history-photo-stack > .history-photo-sm {
	align-self: flex-end;
}
#company-data .history-photo-sm img {
	display: block;
	width: 180px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
#company-data .history-year:not(:has(.history-photo.pc-mode-02)):not(:has(.history-year-body--blocks)) .history-year-body {
	grid-template-columns: minmax(0, 1fr);
}

/* 主要取引先
----------------------------------------------------------*/
#company-data .sec-data-partners {
	padding-top: 80px;
	padding-bottom: 0;
}
#company-data .sec-data-partners > .inner-1320 {
	gap: 0;
}
#company-data .sec-data-partners .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
#company-data .sec-data-partners .ttl-02 {
	margin: 0;
}
#company-data .partner-logo-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px;
	width: 100%;
	max-width: 1000px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#company-data .partner-logo-item {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 306px;
	height: 100px;
	border-radius: 16px;
	background-color: #D9D9D9;
	color: #222;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.8;
}

/* SP：会社概要
----------------------------------------------------------*/
@media only screen and (max-width: 768px) {
	#company-data .section + .section {
		margin-top: 13.021vw; /* 100 */
	}
	#company-data .mv-wrap + .section {
		margin-top: 10.417vw; /* 80 */
	}
	#company-data .main > .sec-contact, 
	#company-data .bc-wrap.sp-mode-01 + .sec-contact {
		margin-top: 0;
	}

	#company-data .sec-data-info .sec-wrap, 
	#company-data .sec-data-history .sec-wrap, 
	#company-data .sec-data-partners .sec-wrap {
		gap: 5.208vw; /* 40 */
	}
	#company-data .sec-data-info .sec-wrap{
		gap: 7.813vw;
	}
	#company-data .sec-data-partners .sec-wrap{
		gap: 7.813vw;
	}
	#company-data .sec-data-info .dl-list-01 .dl-item {
		align-items: flex-start;
	}
	#company-data .sec-data-info .dl-txt > p.data-map-link {
		margin-top: 1.302vw; /* 10 */
	}
	#company-data .sec-data-info .data-officer-list li {
		gap: 0.651vw; /* 5 */
	}
	#company-data .sec-data-info .data-officer-list li + li {
		margin-top: 2.604vw; /* 20 */
	}
	#company-data .sec-data-info .data-officer-role {
		flex: 0 0 32.552vw; /* 250 */
		width: 32.552vw;
	}
	#company-data .sec-data-info .data-business-list li + li {
		margin-top: 2.604vw; /* 20 */
	}

	#company-data .sec-data-history {
		padding-top: 19.531vw; /* 150 */
	}
	#company-data .section.sec-data-history .sec-wrap{
		gap: 10.417vw;
	}
	#company-data .history-list {
		position: relative;
		padding-top: 0;
	}
	#company-data .history-list::before {
		display: none;
	}
	#company-data .history-year {
		position: relative;
		display: block;
		padding-bottom: 5.208vw; /* 40 */
		border-bottom: 0.13vw solid var(--color-border, #D0D7C8); /* 1 */
	}
	#company-data .history-year::before {
		display: none;
	}
	#company-data .history-year::after {
		content: "";
		position: absolute;
		left: 0.781vw; /* 6 */
		top: -2.604vw; /* 20 */
		bottom: 2.605vw; /* 20 */
		z-index: 0;
		width: 0.13vw; /* 1 */
		background-color: var(--color-main, #447D1A);
		transform: translateX(-50%);
	}
	#company-data .history-year + .history-year::after {
		top: calc(5.208vw - 2.604vw); /* 40 - 20 */
	}
	#company-data .history-year:last-child::after {
		bottom: 0;
	}
	#company-data .history-year + .history-year {
		padding-top: 5.208vw; /* 40 */
	}
	#company-data .history-year:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}
	#company-data .history-year-head {
		position: relative;
		margin-bottom: 5.209vw;
		padding-top: 0;
		padding-left: 6.771vw; /* 52 */
		text-align: left;
	}
	#company-data .history-year-head::before {
		content: "";
		position: absolute;
		left: 0.781vw; /* 6 */
		top: 50%;
		z-index: 1;
		width: 1.563vw; /* 12 */
		height: 1.563vw;
		border-radius: 50%;
		background-color: var(--color-main, #447D1A);
		transform: translate(-50%, -50%);
	}
	#company-data .history-year-head::after {
		display: none;
	}
	#company-data .history-year-num {
		font-size: 5.208vw; /* 40 */
		line-height: 1.5;
		text-align: left;
	}
	#company-data .history-year-body {
		display: block;
		padding-left: 6.771vw; /* 52 */
	}
	#company-data .history-year-body::before, 
	#company-data .history-year-body::after {
		display: none;
	}
	#company-data .history-main {
		gap: 2.604vw; /* 20 */
	}
	#company-data .history-entry {
		grid-template-columns: 15.365vw minmax(0, 1fr); /* 118 */
		gap: 0;
		align-items: start;
	}
	#company-data .history-month, 
	#company-data .history-month-note, 
	#company-data .history-txt {
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}
	#company-data .history-entry:has(.history-month-note) .history-month-note {
		grid-column: 2;
		grid-row: 1;
		margin: 0;
		color: #222;
		font-size: 4.167vw; /* 32 */
		font-weight: 600;
	}
	#company-data .history-entry:has(.history-month-note) .history-txt {
		grid-column: 2;
		grid-row: 2;
	}
	#company-data .history-photo {
		border-radius: 2.604vw; /* 20 */
		margin-top: 2.604vw;
	}
	#company-data .history-photo img, 
	#company-data .history-photo-tall img,
	#company-data .history-photo-short img {
		height: auto;
		aspect-ratio: 1272 / 600;
	}
	#company-data .history-year-body--blocks {
		display: flex;
		flex-direction: column;
		gap: 2.604vw; /* 20 */
		padding-left: 6.771vw; /* 52 */
	}
	#company-data .history-block {
		display: flex;
		flex-direction: column;
		gap: 0;
	}
	#company-data .history-photo-stack {
		align-items: stretch;
		width: 100%;
		gap: 4.688vw; /* 36 */
		margin-top: 2.604vw; /* 20 */
		justify-self: stretch;
	}
	#company-data .history-photo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4.688vw; /* 36 */
		width: 100%;
		justify-content: stretch;
	}
	#company-data .history-photo-short {
		margin-top: 2.604vw; /* 20 */
		width: 100%;
		justify-self: stretch;
	}
	#company-data .history-photo-sm {
		width: 100%;
		min-width: 0;
		margin-top: 0;
		flex: 0 0 auto;
	}
	#company-data .history-photo-grid .history-photo,
	#company-data .history-photo-stack > .history-photo {
		margin-top: 0;
	}
	#company-data .history-photo-sm img {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}
	#company-data .history-photo-stack > .history-photo-sm {
		width: calc((100% - 4.688vw) / 2);
		margin-left: 0;
		margin-right: auto;
	}

	#company-data .sec-data-partners {
		padding-top: 19.531vw; /* 150 */
	}
	#company-data .partner-logo-list {
		gap: 4.167vw; /* 32 */
		justify-content: flex-start;
	}
	#company-data .partner-logo-item {
		width: calc((100% - 4.167vw) / 2);
		height: 13.021vw; /* 100 */
		border-radius: 2.083vw; /* 16 */
		font-size: 4.167vw; /* 32 */
	}
	/* #company-data .partner-logo-item:last-child:nth-child(odd) {
		width: 100%;
	} */
}

/*================
企業理念（philosofy.html）
================*/

/* MV（PC: 1051）
----------------------------------------------------------*/
#company-philosofy .mv-visual {
	height: 1077px;
}
#company-philosofy .mv-visual img {
	height: 1077px;
	object-position: center top;
}
#company-philosofy .mv-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: calc(1077px - var(--header-height));
	padding-bottom: 80px;
	box-sizing: border-box;
}
#company-philosofy .mv-inner .page-head {
	width: 100%;
}
#company-philosofy .mv-inner .page-head .ttl-01 {
	margin-bottom: 80px;
}
#company-philosofy .mv-wrap + .section {
	margin-top: 0;
}
#company-philosofy .main > .sec-contact {
	margin-top: 160px;
}
#company-philosofy .bc-wrap.sp-mode-01 + .sec-contact {
	margin-top: 160px;
}

/* リード
----------------------------------------------------------*/
#company-philosofy .philosophy-lead {
	position: relative;
	z-index: 1;
	width: 100%;
	margin-bottom: 40px;
}
#company-philosofy .philosophy-lead-txt {
	margin: 0;
	color: #222;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}
#company-philosofy .philosophy-lead-catch, 
#company-philosofy .philosophy-lead-sub {
	display: block;
}
#company-philosofy .philosophy-lead-catch {
	font-size: 28px;
}
#company-philosofy .philosophy-lead-sub {
	font-size: 22.4px;
}

/* クローバー図
----------------------------------------------------------*/
#company-philosofy .philosophy-clover {
	position: relative;
	z-index: 1;
	margin: 0 auto;
	width: 400px;
	max-width: 100%;
}
#company-philosofy .philosophy-clover img {
	display: block;
	width: 100%;
	height: auto;
}

/* Philosophy
----------------------------------------------------------*/
#company-philosofy .sec-philosophy {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #F7F9F4;
}
#company-philosofy .sec-philosophy > .inner-1320 {
	gap: 0;
}
#company-philosofy .sec-philosophy .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
}
#company-philosofy .sec-philosophy .ttl-01 {
	margin: 0;
}
#company-philosofy .philosophy-list {
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}
#company-philosofy .philosophy-list li {
	position: relative;
	padding-left: 46px;
	color: #222;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.8;
}
#company-philosofy .philosophy-list li + li {
	margin-top: 40px;
}
#company-philosofy .philosophy-list li::before {
	content: "一.";
	position: absolute;
	left: 0;
	top: 0;
	color: #447D1A;
	font-weight: 600;
}

/* Vision
----------------------------------------------------------*/
#company-philosofy .sec-vision {
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 80px;
}
#company-philosofy .sec-vision > .inner-1320 {
	gap: 0;
}
#company-philosofy .sec-vision .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}
#company-philosofy .sec-vision .ttl-01 {
	margin: 0;
}
#company-philosofy .vision-list {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
#company-philosofy .vision-list::before {
	content: "";
	position: absolute;
	top: 90px;
	left: 90px;
	right: 90px;
	z-index: 0;
	height: 2px;
	background-color: #D0D7C8;
}
#company-philosofy .vision-item {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: center;
	max-width: 306px;
	text-align: center;
}
#company-philosofy .vision-icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 180px;
	height: 180px;
	margin-bottom: 30px;
	border: 2px solid #D0D7C8;
	border-radius: 50%;
	background-color: #fff;
}
#company-philosofy .vision-item:not(:first-child) .vision-icon::before, 
#company-philosofy .vision-item:not(:last-child) .vision-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #447D1A;
	transform: translate(-50%, -50%);
}
#company-philosofy .vision-item:not(:first-child) .vision-icon::before {
	left: 0;
}
#company-philosofy .vision-item:not(:last-child) .vision-icon::after {
	left: 100%;
}
#company-philosofy .vision-icon img {
	display: block;
	width: 100px;
	height: 100px;
	object-fit: contain;
}
#company-philosofy .vision-body {
	width: 100%;
}
#company-philosofy .vision-ttl {
	margin: 0 0 10px;
	color: #447D1A;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
}
#company-philosofy .vision-txt {
	margin: 0;
	color: #222;
	font-size: 16px;
	line-height: 1.8;
}

/* SP：企業理念
----------------------------------------------------------*/
@media only screen and (max-width: 768px) {
	#company-philosofy .mv-visual {
		height: 228.776vw; /* 1757 */
	}
	#company-philosofy .mv-visual img {
		height: 228.776vw;
		object-position: center top;
	}
	#company-philosofy .mv-inner {
		min-height: calc(228.776vw - var(--header-height));
		padding-top: calc(51.042vw - var(--header-height)); /* タイトル y=392 */
		padding-bottom: 19.531vw; /* 150 */
	}
	#company-philosofy .mv-inner .bc-wrap {
		display: none;
	}
	#company-philosofy .mv-inner .page-head {
		padding-top: 0;
	}
	#company-philosofy .mv-inner .page-head .ttl-01 {
		margin-bottom: 19.531vw; /* 150 */
	}
	#company-philosofy .main > .sec-contact, 
	#company-philosofy .bc-wrap.sp-mode-01 + .sec-contact {
		margin-top: 20.833vw; /* 160 */
	}
	#company-philosofy .bc-wrap.sp-mode-01 + .sec-contact{
		margin-top: 0;
	}
	#company-philosofy .philosophy-lead {
		margin-bottom: 7.813vw; /* 60 */
	}
	#company-philosofy .philosophy-lead-catch {
		font-size: 6.25vw; /* 48 */
	}
	#company-philosofy .philosophy-lead-sub {
		font-size: 5vw; /* 38.4 */
	}

	#company-philosofy .philosophy-clover {
		width: 78.125vw; /* 600 */
	}

	#company-philosofy .sec-philosophy {
		padding-top: 19.531vw; /* 150 */
		padding-bottom: 19.531vw;
	}
	#company-philosofy .sec-philosophy .sec-wrap {
		gap: 7.813vw; /* 60 */
	}
	#company-philosofy .philosophy-list li {
		padding-left: 11.198vw; /* 86 */
		font-size: 4.688vw; /* 36 */
		line-height: 1.9;
	}
	#company-philosofy .philosophy-list li + li {
		margin-top: 7.813vw; /* 60 */
	}
	#company-philosofy .philosophy-list li::before {
		font-size: 4.688vw; /* 36 */
		line-height: 1.8;
	}

	#company-philosofy .sec-vision {
		padding-top: 19.531vw; /* 150 */
		margin-top: 0;
	}
	#company-philosofy .sec-vision .sec-wrap {
		gap: 7.813vw; /* 60 */
	}
	#company-philosofy .vision-list {
		flex-direction: column;
		align-items: stretch;
		gap: 20.443vw; 
	}
	#company-philosofy .vision-list::before {
		top: 16.276vw; /* 125：円の中心 */
		bottom: 16.276vw;
		left: 16.276vw;
		right: auto;
		width: 0.261vw;
		height: auto;
	}
	#company-philosofy .vision-item {
		flex-direction: row;
		align-items: flex-start;
		gap: 5.208vw; /* 40 */
		max-width: none;
		text-align: left;
	}
	#company-philosofy .vision-icon {
		flex: 0 0 32.552vw; /* 250 */
		width: 32.552vw;
		height: 32.552vw;
		margin-bottom: 0;
		border-width: 0.261vw;
	}
	#company-philosofy .vision-item:not(:first-child) .vision-icon::before, 
	#company-philosofy .vision-item:not(:last-child) .vision-icon::after {
		left: 50%;
		width: 1.563vw; /* 12 */
		height: 1.563vw;
	}
	#company-philosofy .vision-item:not(:first-child) .vision-icon::before {
		top: 0;
	}
	#company-philosofy .vision-item:not(:last-child) .vision-icon::after {
		top: 100%;
	}
	#company-philosofy .vision-icon img {
		width: 20.833vw; /* 160 */
		height: 20.833vw;
	}
	#company-philosofy .vision-body {
		flex: 1 1 auto;
	}
	#company-philosofy .vision-ttl {
		margin: 0 0 2.604vw;
		font-size: 5.208vw; /* 40 */
	}
	#company-philosofy .vision-txt {
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}
}

/*================
サステナビリティ（sustainability.html）
================*/

/* MV（共通 376）
----------------------------------------------------------*/
#company-sustainability .mv-visual img {
	object-position: right center;
}
#company-sustainability .mv-wrap + .section {
	margin-top: 0;
}
#company-sustainability .section + .section {
	margin-top: 0;
}
#company-sustainability .main > .sec-contact {
	margin-top: 0;
}
#company-sustainability .bc-wrap.sp-mode-01 + .sec-contact {
	margin-top: 0;
}

/* リード文
----------------------------------------------------------*/
#company-sustainability .sec-sustainability-lead {
	padding-top: 0;
	padding-bottom: 160px;
}
#company-sustainability .sec-sustainability-lead > .inner-1000 {
	gap: 0;
}
#company-sustainability .sec-sustainability-lead .sec-wrap {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
}
#company-sustainability .sustainability-lead-txt {
	margin: 0;
	color: #222;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.8;
}

/* 取り組みブロック
----------------------------------------------------------*/
#company-sustainability .sec-sustainability-item {
	padding-top: 80px;
	padding-bottom: 80px;
}
#company-sustainability .sec-sustainability-item.type-bg {
	background-color: #F7F9F4;
}
#company-sustainability .sec-sustainability-item > .inner-1320 {
	gap: 0;
}
#company-sustainability .sustainability-block {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	width: 100%;
}
#company-sustainability .sustainability-body {
	flex: 0 0 644px;
	width: 644px;
	max-width: 100%;
}
#company-sustainability .sustainability-photo {
	flex: 0 0 644px;
	width: 644px;
	max-width: 100%;
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
}
#company-sustainability .sustainability-photo img {
	display: block;
	width: 100%;
	height: 400px;
	object-fit: cover;
	object-position: center center;
}
#company-sustainability .sustainability-head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 40px;
}
#company-sustainability .sustainability-num {
	flex: 0 0 auto;
	margin: 0;
	color: #447D1A;
	font-size: 65px;
	font-weight: 300;
	line-height: 1.4;
}
#company-sustainability .sustainability-ttl {
	margin: 0;
	color: #447D1A;
	font-size: 42px;
	font-weight: 600;
	line-height: 1.4;
}
#company-sustainability .sustainability-en {
	display: inline;
	font-size: 32px;
	font-weight: 300;
}
#company-sustainability .sustainability-en.is-break {
	display: block;
}
#company-sustainability .sustainability-txt {
	margin: 0 0 40px;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}
#company-sustainability .sustainability-sdgs-label {
	margin: 0 0 20px;
	color: #222;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.8;
}
#company-sustainability .sustainability-sdgs {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}
#company-sustainability .sustainability-sdgs-icons {
	display: flex;
	flex: 0 0 auto;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px;
	align-items: flex-start;
}
#company-sustainability .sustainability-sdgs-icons img {
	display: block;
	width: 100px;
	height: 100px;
	object-fit: contain;
}
#company-sustainability .sustainability-list {
	position: relative;
	flex: 1 1 auto;
	align-self: stretch;
	margin: 0;
	padding: 0 0 0 50px;
	border-left: 1px solid #447D1A;
	list-style: disc;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.25;
}
#company-sustainability .sustainability-list li + li {
	margin-top: 15px;
}
#company-sustainability .sustainability-list li::marker {
	color: #222;
}

/* ヤングケアラー支援プロジェクト
----------------------------------------------------------*/
#company-sustainability .sustainability-young-carer-ttl {
	margin: 0 0 20px;
	color: #447D1A;
	font-size: 33.6px;
	font-weight: 600;
	line-height: 1.4;
}
#company-sustainability .sustainability-young-carer-logo {
	margin: 0 0 40px;
}
#company-sustainability .sustainability-young-carer-logo img {
	display: block;
	margin: 0 auto;
	width: 100%;
	height: auto;
	max-width: 150px;
}
/* SP：サステナビリティ
----------------------------------------------------------*/
@media only screen and (max-width: 768px) {
	#company-sustainability .main > .bc-wrap.sp-mode-01 {
		margin-top: 2.605vw; /* 20 */
	}
	#company-sustainability .mv-visual {
		height: 70.573vw; /* 542 */
	}
	#company-sustainability .mv-visual img {
		height: 70.573vw;
		object-position: right top;
	}
	#company-sustainability .mv-inner {
		min-height: 0;
	}
	#company-sustainability .main > .sec-contact, 
	#company-sustainability .bc-wrap.sp-mode-01 + .sec-contact {
		margin-top: 0;
	}

	#company-sustainability .sec-sustainability-lead {
		padding-top: 0;
		padding-bottom: 32.552vw; /* 250 */
	}
	#company-sustainability .sec-sustainability-lead .sec-wrap {
		gap: 4.167vw; /* 32 */
	}
	#company-sustainability .sustainability-lead-txt {
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}

	#company-sustainability .sec-sustainability-item {
		padding-top: 19.531vw; /* 150 */
		padding-bottom: 19.531vw;
	}
	#company-sustainability .sustainability-block {
		flex-direction: column;
		gap: 8.204vw;
	}
	#company-sustainability .sec-sustainability-item.type-reverse .sustainability-block {
		flex-direction: column-reverse;
	}
	#company-sustainability .sustainability-body, 
	#company-sustainability .sustainability-photo {
		flex: 1 1 auto;
		width: 100%;
	}
	#company-sustainability .sustainability-photo {
		border-radius: 2.604vw; /* 20 */
	}
	#company-sustainability .sustainability-photo img {
		height: 52.083vw; /* 400 */
	}
	#company-sustainability .sustainability-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		margin-bottom: 7.813vw; /* 60 */
	}
	#company-sustainability .sustainability-num {
		font-size: 10.417vw; /* 80 */
	}
	#company-sustainability .sustainability-ttl {
		margin: 0;
		font-size: 8.333vw; /* 64 */
		line-height: 1.5;
	}
	#company-sustainability .sustainability-en.is-break, 
	#company-sustainability .sustainability-en.is-sp-break {
		display: block;
		font-size: 6.667vw; /* 51.2 */
	}
	#company-sustainability .sustainability-en {
		font-size: 6.667vw; /* 51.2 */
	}
	#company-sustainability .sustainability-txt {
		margin: 0 0 19.532vw;
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}
	#company-sustainability .sustainability-sdgs-label {
		margin: 0 0 5.208vw; /* 40 */
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}
	#company-sustainability .sustainability-sdgs {
		gap: 5.208vw; /* 40 */
	}
	#company-sustainability .sustainability-sdgs-icons {
		flex-direction: column;
		gap: 2.604vw; /* 20 */
	}
	#company-sustainability .sustainability-sdgs-icons img {
		width: 26.042vw; /* 200 */
		height: 26.042vw;
	}
	#company-sustainability .sustainability-list {
		padding-left: 11.329vw;
		font-size: 4.167vw; /* 32 */
		line-height: 1.3;
	}
	#company-sustainability .sustainability-list li + li {
		margin-top: 5.208vw; /* 40 */
	}
	#company-sustainability .sustainability-young-carer-ttl {
		font-size: 6.667vw; /* 51.2 */
	}
	#company-sustainability .sustainability-young-carer-logo img {
		max-width: 35.417vw; /* 272 */
	}
	#company-sustainability .sustainability-txt {
		margin: 0 0 5.208vw; /* 40 */
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}
	#company-sustainability .sustainability-sdgs-label {
		margin: 0 0 1.302vw; /* 10 */
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}
}
