@charset "UTF-8";
/* ==========================================================================
   /company/ 会社概要
   WF: Figma 184:6480（ワイヤー）→ design-rules.md の共通ルールで組む
   ========================================================================== */

/* 理念〜会社情報はグレーの帯（WFどおり） */
.p-company-band {
	margin-top: 60px;
	padding-block: 80px;
	background: var(--c-bg-gray);
}

/* ---------- 理念 ---------- */
.p-company-philosophy__text {
	margin-top: 40px;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.04em;
}
.p-company-philosophy__text strong { font-weight: 500; color: var(--c-main); }

/* ---------- 会社情報 ---------- */
.p-company-info { margin-top: var(--section-gap); }
.p-company-info__table {
	margin-top: 40px;
	padding: 16px 48px;
	background: #fff;
	border-radius: 30px;
}
.p-company-info__row {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 24px;
	padding: 22px 0;
	border-bottom: 1px solid var(--c-main-40);
}
.p-company-info__row:last-child { border-bottom: 0; }
.p-company-info__row dt { font-size: 16px; font-weight: 500; line-height: 1.8; color: var(--c-main); }
.p-company-info__row dd { font-size: 16px; line-height: 1.8; letter-spacing: 0.04em; }
.p-company-info__note { font-size: 14px; }
/* ［要確認］＝MILOKU様の回答待ち（FAQの仮表示と同じ色） */
.p-company-info__row dd.is-pending { color: #a0671c; }

/* ---------- 代表者 ---------- */
.p-company-reps { margin-top: var(--section-gap); }
.p-company-reps__list { display: grid; gap: 24px; margin-top: 40px; }
.p-company-rep {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 40px;
	padding: 40px 48px;
	border: 1px solid var(--c-main);
	border-radius: 30px;
}
.p-company-rep__photo { aspect-ratio: 9 / 11; overflow: hidden; background: var(--c-bg-gray); }
.p-company-rep__photo img { width: 100%; height: 100%; object-fit: cover; }
.p-company-rep__role { font-size: 14px; font-weight: 500; color: var(--c-main); }
.p-company-rep__name {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 16px;
	margin-top: 6px;
	font-family: var(--ff-serif);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
.p-company-rep__en { font-family: var(--ff-en); font-size: 14px; font-weight: 400; letter-spacing: 0.1em; color: var(--c-main); }
.p-company-rep__label {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--c-main-40);
	font-size: 14px;
	font-weight: 500;
	color: var(--c-main);
}
.p-company-rep__bio { margin-top: 8px; font-size: 16px; line-height: 1.9; letter-spacing: 0.04em; }

/* ---------- タブレット ---------- */
@media (max-width: 1023px) {
	.p-company-info__row { grid-template-columns: 160px 1fr; }
	.p-company-rep { grid-template-columns: 180px 1fr; gap: 28px; padding: 32px; }
}

/* ---------- SP ---------- */
@media (max-width: 767px) {
	.p-company-band { margin-top: 40px; padding-block: 60px; }
	.p-company-philosophy__text { margin-top: 20px; font-size: 14px; }
	.p-company-info__table { margin-top: 24px; padding: 8px 20px; border-radius: 20px; }
	.p-company-info__row { grid-template-columns: 1fr; gap: 4px; padding: 16px 0; }
	.p-company-info__row dt,
	.p-company-info__row dd { font-size: 14px; }
	.p-company-info__note { font-size: 12px; }
	.p-company-reps__list { gap: 20px; margin-top: 24px; }
	.p-company-rep { grid-template-columns: 1fr; gap: 20px; padding: 28px 20px; border-radius: 20px; }
	.p-company-rep__photo { width: 60%; max-width: 220px; margin-inline: auto; }
	.p-company-rep__name { font-size: 24px; }
	.p-company-rep__bio { font-size: 14px; }
}
