/* ==========================================================================
   TEYLL — 会社情報（page-teyll-about.php。Figma 06 TEYLL の 1343:803・SP 1392:98181）
   - VALUES：見出しは Size=L・見出しから中身まで 96。左に角 48 の写真（588）、右に想いの3枚（白・角 32・アイコンの丸 72。高さをそろえる）
   - PROFILE：c-teyll-table--info（幅 960・右に寄せる）
   - ACCESS：Google マップ（792×400・角 32）と所在地・電話のカード（384）
   - TRUSS：事業のカード2枚（カード全体がリンク・高さをそろえる）と「TRUSS株式会社のサイトを見る」
   - SP：縦に積む。写真は高さ 240・角 32、アイコンの丸は 56、地図は高さ 220
   ========================================================================== */

/* アイコンの丸（想い 72・事業 64。色はロゴの色の淡い色） */
.p-teyll-about__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--teyll-bg-green-pale);
	color: var(--teyll-text-primary);
}

.p-teyll-about__icon--purple {
	background: var(--teyll-bg-purple-pale);
}

.p-teyll-about__icon--sky {
	background: var(--teyll-bg-sky-pale);
}

.p-teyll-about__icon--yellow {
	background: var(--teyll-bg-yellow-pale);
}

/* ---------- VALUES ---------- */
.p-teyll-about-values__head {
	margin-bottom: 96px;
}

.p-teyll-about-values__body {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.p-teyll-about-values__photo {
	display: block;
	min-height: 400px;
	overflow: hidden;
	border-radius: var(--radius-teyll-panel);
}

.p-teyll-about-values__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-teyll-about-values__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-teyll-about-values__item {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 24px;
	padding: 32px 40px;
	border-radius: var(--radius-teyll-card);
	background: var(--teyll-bg-canvas);
}

.p-teyll-about-values__item-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.p-teyll-about-values__title {
	font: var(--text-teyll-h3);
	letter-spacing: var(--ls-teyll);
}

.p-teyll-about-values__text {
	font: var(--text-teyll-body);
	letter-spacing: var(--ls-teyll);
	color: var(--teyll-text-secondary);
}

/* ---------- PROFILE ---------- */
.p-teyll-about-profile__table {
	max-width: 960px;
	margin-left: auto;
}

.p-teyll-about-profile__tel {
	color: inherit;
	text-decoration: none;
}

.p-teyll-about-profile__tel:hover {
	text-decoration: underline;
}

/* ---------- ACCESS ---------- */
.p-teyll-about-access__body {
	display: grid;
	grid-template-columns: minmax(0, 792fr) minmax(0, 384fr);
	gap: 24px;
}

.p-teyll-about-access__map {
	min-height: 400px;
	overflow: hidden;
	border-radius: var(--radius-teyll-card);
	background: var(--teyll-bg-sky-pale);
}

.p-teyll-about-access__frame {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 400px;
	border: 0;
}

.p-teyll-about-access__card {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 40px;
	border-radius: var(--radius-teyll-card);
	background: var(--teyll-bg-canvas);
}

.p-teyll-about-access__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
}

.p-teyll-about-access__term {
	font: var(--text-teyll-label);
	letter-spacing: var(--ls-teyll-label);
	color: var(--teyll-text-secondary);
}

.p-teyll-about-access__desc {
	display: flex;
	flex-direction: column;
	margin: 0;
	font: var(--text-teyll-body);
	letter-spacing: var(--ls-teyll);
}

.p-teyll-about-access__tel {
	width: fit-content;
	font: var(--text-teyll-en-step);
	color: var(--teyll-text-primary);
	text-decoration: none;
}

.p-teyll-about-access__tel:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.15em;
}

.p-teyll-about-access__hours {
	margin-top: 4px;
	font: var(--text-teyll-body-s);
	letter-spacing: var(--ls-teyll);
	color: var(--teyll-text-secondary);
}

.p-teyll-about-access__link {
	align-self: flex-start;
	margin-top: auto;
}

/* ---------- TRUSS（ほかの事業） ---------- */
.p-teyll-about-truss__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

.p-teyll-about-truss__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-teyll-about-truss__item {
	display: flex;
}

.p-teyll-about-truss__card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	padding: 40px;
	border-radius: var(--radius-teyll-card);
	background: var(--teyll-bg-canvas);
	color: var(--teyll-text-primary);
	text-decoration: none;
}

.p-teyll-about-truss__icon {
	width: 64px;
	height: 64px;
}

.p-teyll-about-truss__title {
	font: var(--text-teyll-h3);
	letter-spacing: var(--ls-teyll);
}

.p-teyll-about-truss__text {
	font: var(--text-teyll-body);
	letter-spacing: var(--ls-teyll);
	color: var(--teyll-text-secondary);
}

.p-teyll-about-truss__more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
}

.p-teyll-about-truss__link {
	font: var(--text-teyll-label);
	letter-spacing: var(--ls-teyll-label);
}

/* ---------- 狭い PC（1023px 以下） ---------- */
@media (max-width: 1023px) {
	.p-teyll-about-values__body,
	.p-teyll-about-access__body {
		grid-template-columns: minmax(0, 1fr);
	}

	.p-teyll-about-values__photo {
		height: 360px;
		min-height: 0;
	}
}

/* ---------- SP ---------- */
@media (max-width: 767px) {
	.p-teyll-about__icon {
		width: 56px;
		height: 56px;
	}

	.p-teyll-about-values__head {
		margin-bottom: 32px;
	}

	.p-teyll-about-values__photo {
		height: 240px;
		border-radius: var(--radius-teyll-card);
	}

	.p-teyll-about-values__list {
		gap: 16px;
	}

	.p-teyll-about-values__item {
		gap: 16px;
		padding: 24px 20px;
	}

	.p-teyll-about-values__item-body {
		gap: 4px;
	}

	.p-teyll-about-values__title {
		font: var(--text-teyll-h4);
	}

	.p-teyll-about-values__text {
		font: var(--text-teyll-body-s);
	}

	.p-teyll-about-access__body {
		gap: 16px;
	}

	.p-teyll-about-access__map,
	.p-teyll-about-access__frame {
		min-height: 220px;
	}

	.p-teyll-about-access__card {
		gap: 20px;
		padding: 28px 24px 24px;
	}

	.p-teyll-about-access__link,
	.p-teyll-about-truss__corporate {
		align-self: stretch;
	}

	.p-teyll-about-truss__body {
		align-items: stretch;
		gap: 24px;
	}

	.p-teyll-about-truss__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.p-teyll-about-truss__card {
		gap: 12px;
		padding: 24px 20px 20px 24px;
	}

	.p-teyll-about-truss__icon {
		width: 56px;
		height: 56px;
	}
}
