@charset "UTF-8";

/* ===== Extracted from page-company.php block 1 ===== */
.p-messageLead{margin-bottom:80px;}
    .p-messageLead h3{font-size:2.8rem;padding-bottom:20px;}

/* ===== Moved from pages/general.css :: company ===== */
/* =============================================
   company
   ============================================= */


.p-policy-catch {
	margin-top: 40px;
	font-size: 3rem;
	font-weight: var(--fw-light);
	line-height: 1.4;
}

.p-leadDesc100 {
	margin: 30px auto 0;
}

@media screen and (max-width: 650px) {
	.p-leadDesc100 {
		margin: 20px auto 0;
	}
}

/* ------------------------------------------------
   company sections from top page
------------------------------------------------ */
/* ------------------------------------------------
/comoany
------------------------------------------------ */

.p-message {
	padding-top: 150px;
}

@media screen and (max-width: 1080px) {
	.p-message {
		padding: 120px 0;
	}
}

@media screen and (max-width: 810px) {
	.p-message {
		padding: 100px 0;
	}
}

@media screen and (max-width: 500px) {
	.p-message {
		padding: 80px 0;
	}
}

.p-messageContents,
.p-messageContent {
	display: flex;
	align-items: center;
	gap: 0 80px;
}

@media screen and (max-width: 1080px) {
	.p-messageContents,
	.p-messageContent {
		gap: 0 50px;
	}
}

@media screen and (max-width: 810px) {
	.p-messageContents,
	.p-messageContent {
		gap: 0 30px;
	}
}

@media screen and (max-width: 650px) {
	.p-messageContents,
	.p-messageContent {
		flex-direction: column;
		gap: 30px 0;
	}
}

.p-messageDesc {
	width: 100%;
}

.p-messageDesc .text {
	margin-top: 45px;
}

@media screen and (max-width: 1080px) {
	.p-messageDesc .text {
		margin-top: 40px;
	}
}

@media screen and (max-width: 810px) {
	.p-messageDesc .text {
		margin-top: 30px;
	}
}

@media screen and (max-width: 500px) {
	.p-messageDesc .text {
		margin-top: 20px;
	}
}

.p-messageDesc .name {
	margin-top: 30px;
	text-align: right;
	font-size: 2rem;
	line-height: 1;
}

@media screen and (max-width: 500px) {
	.p-messageDesc .name {
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 650px) {

	.p-messageDesc .c-title,
	.p-messageDesc .c-titleD {
		text-align: center;
	}
}

.p-policy {
	padding-top: 130px;
}

@media screen and (max-width: 1080px) {
	.p-policy {
		padding-top: 100px;
	}
}

@media screen and (max-width: 810px) {
	.p-policy {
		padding-top: 80px;
	}
}

@media screen and (max-width: 500px) {
	.p-policy {
		padding-top: 60px;
	}
}

.p-policyWrap {
	padding: 70px 0;
	background-color: #fcfaf5;
}

@media screen and (max-width: 810px) {
	.p-policyWrap {
		padding: 60px 0;
	}
}

@media screen and (max-width: 500px) {
	.p-policyWrap {
		padding: 50px 0;
	}
}

.p-policyContent {
	margin-top: 100px;
	display: flex;
	align-items: center;
	gap: 0 100px;
}

@media screen and (max-width: 1080px) {
	.p-policyContent {
		margin-top: 80px;
		gap: 0 80px;
	}
}

@media screen and (max-width: 810px) {
	.p-policyContent {
		margin-top: 60px;
		gap: 0 40px;
		flex-direction: column;
	}
}

@media screen and (max-width: 500px) {
	.p-policyContent {
		margin-top: 50px;
	}
}

.p-policyImage {
	margin-left: calc(50% - 50vw);
	width: 40vw;
	max-width: 540px;
	height: 580px;
	height: 60vw;
	border-top-right-radius: 35px;
	border-bottom-right-radius: 35px;
	overflow: hidden;
}

@media screen and (max-width: 1080px) {
	.p-policyImage {
		border-top-right-radius: 30px;
		border-bottom-right-radius: 30px;
	}
}

@media screen and (max-width: 810px) {
	.p-policyImage {
		margin-left: 0;
		max-width: 100%;
		width: 100%;
		height: 50vw;
		border-radius: 25px;
	}
}

.p-policyDesc {
	width: 60vw;
}

@media screen and (max-width: 810px) {
	.p-policyDesc {
		margin-top: 30px;
		width: 100%;
	}
}

.p-policyDesc .ja33 {
	font-feature-settings: "palt";
}

.p-policyDesc .text {
	margin-top: 30px;
}

@media screen and (max-width: 810px) {
	.p-policyDesc .text {
		margin-top: 20px;
	}
}

/* 最初の見出しセクション（グループホーム運営企業紹介） */
.p-future:first-of-type {
	padding-top: 100px;
	padding-bottom: 0;
}

/* 目指す未来セクション */
.p-future:not(:first-of-type) {
	padding-top: 100px;
}

.p-futureWrap {
	margin-top: 60px;
}

@media screen and (max-width: 810px) {
	.p-future:first-of-type {
		padding-top: 80px;
	}

	.p-future:not(:first-of-type) {
		padding-top: 80px;
	}
}

@media screen and (max-width: 500px) {
	.p-future:first-of-type {
		padding-top: 60px;
	}

	.p-future:not(:first-of-type) {
		padding-top: 60px;
	}
}

.p-future .c-title3 {
	margin-top: 70px;
	padding-top: 15px;
	position: relative;
}

@media screen and (max-width: 1080px) {
	.p-future .c-title3 {
		margin-top: 60px;
	}
}

@media screen and (max-width: 810px) {
	.p-future .c-title3 {
		margin-top: 50px;
	}
}

@media screen and (max-width: 500px) {
	.p-future .c-title3 {
		margin-top: 30px;
	}
}

.p-future .c-title3:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 33px;
	height: 9px;
	background-color: #ee7d80;
}

@media screen and (max-width: 810px) {
	.p-future .c-title3:before {
		height: 6px;
	}
}

@media screen and (max-width: 650px) {
	.p-future .c-title3:before {
		height: 4px;
	}
}

.p-futureContent {
	margin-top: 50px;
}

@media screen and (max-width: 810px) {
	.p-futureContent {
		margin-top: 30px;
	}
}

.p-futureContent:nth-child(n + 2) {
	border-top: 1px solid #9f9f9f;
	margin-top: 60px;
	padding-top: 60px;
}

@media screen and (max-width: 810px) {
	.p-futureContent:nth-child(n + 2) {
		margin-top: 50px;
		padding-top: 50px;
	}
}

@media screen and (max-width: 500px) {
	.p-futureContent:nth-child(n + 2) {
		margin-top: 30px;
		padding-top: 30px;
	}
}

.p-futureContent:last-child {
	padding-bottom: 100px;
}

@media screen and (max-width: 810px) {
	.p-futureContent:last-child {
		padding-bottom: 80px;
	}
}

@media screen and (max-width: 500px) {
	.p-futureContent:last-child {
		padding-bottom: 50px;
	}
}

.p-futureTitle {
	font-size: 2.8rem;
	line-height: 1.4;
}

@media screen and (max-width: 1080px) {
	.p-futureTitle {
		font-size: 2.6rem;
	}
}

@media screen and (max-width: 810px) {
	.p-futureTitle {
		margin-top: 30px;
		font-size: 2.4rem;
	}
}

@media screen and (max-width: 650px) {
	.p-futureTitle {
		margin-top: 20px;
	}
}

@media screen and (max-width: 500px) {
	.p-futureTitle {
		margin-top: 15px;
		font-size: 2.2rem;
	}
}

.p-futureList {
	margin: 50px auto 0;
	display: flex;
	gap: 0 17px;
}

@media screen and (max-width: 810px) {
	.p-futureList {
		margin: 30px auto 0;
	}
}

@media screen and (max-width: 650px) {
	.p-futureList {
		flex-direction: column;
		gap: 20px 0;
	}
}

.p-future__item {
	display: grid;
	gap: 35px 0;
	padding: 25px 10px;
	flex: 0 0 31%;
	background-color: #f4f4f4;
}

@media screen and (max-width: 810px) {
	.p-future__item {
		gap: 25px 0;
	}
}

.p-future__item .iconImage {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 93px;
}

.p-future__item .iconImage img {
	max-width: 120px;
}

@media screen and (max-width: 810px) {
	.p-future__item .iconImage {
		height: 73px;
	}
}

.p-future__item .text {
	font-feature-settings: "palt";
}

.p-company {
	padding-top: 100px;
}

@media screen and (max-width: 810px) {
	.p-company {
		padding: 80px 0;
	}
}

@media screen and (max-width: 500px) {
	.p-company {
		padding: 50px 0;
	}
}

.p-companyTable {
	display: block;
	margin: 50px auto 0;
	max-width: 920px;
	width: 100%;
	border: 1px solid #bababa;
}

@media screen and (max-width: 650px) {
	.p-companyTable {
		margin: 30px auto 0;
	}
}

.p-company__item {
	width: 100%;
	display: inline-flex;
}

@media screen and (max-width: 650px) {
	.p-company__item {
		display: block;
	}
}

.p-company__item:not(:first-child) {
	border-top: 1px solid #bababa;
}

.p-company__item .title {
	width: 190px;
	padding: 20px 30px;
	background-color: #fafafa;
}

@media screen and (max-width: 810px) {
	.p-company__item .title {
		width: 180px;
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 650px) {
	.p-company__item .title {
		display: block;
		width: 100%;
		padding: 15px;
	}
}

.p-company__item .content {
	border-left: 1px solid #bababa;
	width: calc(100% - 190px);
	padding: 20px 35px;
}

@media screen and (max-width: 810px) {
	.p-company__item .content {
		width: calc(100% - 180px);
	}
}

@media screen and (max-width: 650px) {
	.p-company__item .content {
		border-top: 1px solid #bababa;
		border-left: none;
		display: block;
		width: 100%;
		padding: 15px;
	}
}

/* p-leaflet のスタイルは pages/general.css で定義済み */

