@charset "utf-8";

/* ───────────────────────────────────────────────
   Frontier Talent career articles (PM-3789, 2026-11-04)
   Loaded only by page-frontier-talent-article.php and scoped to .ftBody,
   so news, magazine and service pages are untouched.
   2026-11-05: parts redrawn in the chapter images' palette (navy, pale blue,
   orange) so the page does not look like the top-ranked competitor's:
   key-points box with a navy side bar, H2 on pale blue with a navy bar,
   plain source notes under a thin rule, registration card on pale blue.
   ─────────────────────────────────────────────── */

.ftBody {
	--ft-ink: #1F2328;
	--ft-sub: #5C5A66;
	--ft-navy: #15286D;
	--ft-pale: #EEF4FF;
	--ft-orange: #E8730C;
	--ft-accent: #2638E6;
	--ft-line: #D9DCE3;
	--ft-tint: #F5F6F9;
	--ft-marker: #FFF08A;
	--ft-green: #5FBF6A;
	--ft-btn: #E8542E;
	color: var(--ft-ink);
	font-size: 17px;
	line-height: 1.9;
	letter-spacing: 0.03em;
	/* proportional kana (palt, set on body) packs phone lines too tightly for long reading */
	font-feature-settings: normal;
}

.ftBody p {
	margin-top: 1.25em;
}

.ftBody > .wp-block-image:first-child,
.ftBody > figure:first-child {
	margin-top: 0;
}

.ftBody img {
	max-width: 100%;
	height: auto;
}

.ftBody figure.wp-block-image {
	margin: 24px 0 0;
}

/* Headings */
.ftBody h2 {
	font-size: 21px;
	line-height: 1.6;
	letter-spacing: 0.02em;
	margin: 64px 0 24px;
	padding: 14px 16px 14px 18px;
	color: var(--ft-navy);
	background-color: var(--ft-pale);
	border: none;
	border-left: 6px solid var(--ft-navy);
	border-radius: 0 8px 8px 0;
}

.ftBody h3 {
	font-size: 18px;
	line-height: 1.6;
	margin: 48px 0 8px;
	padding: 0 4px 10px;
	border-bottom: 2px solid var(--ft-navy);
}

.ftBody h3::before {
	content: none;
}

/* Yellow marker */
.ftBody .ft-marker {
	font-weight: 700;
	background: linear-gradient(transparent 58%, var(--ft-marker) 58%);
}

.ftBody .ft-ref {
	font-size: 11px;
	color: var(--ft-sub);
	margin-left: 2px;
	vertical-align: baseline;
}

/* Lists */
.ftBody ul li,
.ftBody ol li {
	margin-left: 1.4em;
	line-height: 1.8;
}

.ftBody ul li + li,
.ftBody ol li + li {
	margin-top: 0.4em;
}

/* Boxes */
.ftBody .ft-box {
	margin-top: 28px;
	padding: 18px 18px 18px;
	border-radius: 4px;
}

.ftBody .ft-box p:first-child {
	margin-top: 0;
}

.ftBody .ft-box ul {
	margin-top: 10px;
}

/* Summary box: the same language as the LP and the registration box (thin ink border, serif title between rules, roman numerals). 2026-11-06 */
.ftBody .ft-box--conclusion {
	margin-top: 32px;
	padding: 18px 20px 20px;
	background: #F3F6FC; /* the LP's pale ground, so it reads apart from the white registration box below */
	border: 0;
	border-radius: 0;
	counter-reset: ft-sum;
}

.ftBody .ft-box--conclusion .ft-box__ttl {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 4px;
	font-family: var(--ft-serif-jp, serif);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--ft-lp-deep, #14225C);
}

.ftBody .ft-box--conclusion .ft-box__ttl::before,
.ftBody .ft-box--conclusion .ft-box__ttl::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--ft-lp-line, #DCE4F7);
}

.ftBody .ft-box--conclusion ul li {
	list-style: none;
	margin-left: 0;
	padding: 10px 0 10px 2.2em;
	position: relative;
	font-weight: 700;
	line-height: 1.7;
	border-bottom: 1px solid var(--ft-lp-line, #DCE4F7);
	counter-increment: ft-sum;
}

.ftBody .ft-box--conclusion ul li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.ftBody .ft-box--conclusion ul li::before {
	content: counter(ft-sum, lower-roman) ".";
	position: absolute;
	left: 0;
	top: 10px;
	font-family: var(--ft-serif-en, Georgia, serif);
	font-style: italic;
	font-weight: 400;
	color: var(--ft-lp-light, #2C50B0);
}

/* Inside the summary the whole line is the answer, so the yellow marker is dropped and only the weight stays */
.ftBody .ft-box--conclusion .ft-marker {
	background: none;
}

.ftBody .ft-box--points,
.ftBody .ft-box--summary {
	padding: 0 0 16px;
	border: 1px solid var(--ft-navy);
	border-radius: 2px;
}

.ftBody .ft-box--points .ft-box__ttl,
.ftBody .ft-box--summary .ft-box__ttl {
	margin: 0;
	padding: 10px 14px;
	color: #fff;
	background-color: var(--ft-navy);
	font-weight: 700;
	text-align: center;
	line-height: 1.6;
}

.ftBody .ft-box--points ul,
.ftBody .ft-box--summary ul {
	margin: 14px 18px 0 6px;
}

.ftBody .ft-box--feature {
	position: relative;
	margin-top: 36px;
	padding: 22px 16px 16px 4px;
	border: 2px solid var(--ft-accent);
}

.ftBody .ft-box--feature .ft-box__ttl {
	position: absolute;
	top: -14px;
	left: 14px;
	margin: 0;
	padding: 0 8px;
	background: #fff;
	color: var(--ft-accent);
	font-weight: 700;
	line-height: 1.6;
}

.ftBody .ft-box--feature ul {
	margin-top: 0;
}

/* Notice under the title */
.ftBody .ft-notice {
	margin-top: 0;
	margin-bottom: 20px;
	padding: 0;
	font-size: 12px;
	line-height: 1.7;
	color: var(--ft-sub);
}

.ftBody .ft-notice p {
	margin: 0;
}

/* Tables: dark header, centered values, scroll when wide */
.ftBody .ft-table {
	margin: 24px 0 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ftBody .ft-table table {
	width: 100%;
	min-width: 100%;
	margin: 0;
	border-collapse: collapse;
	border: 1px solid var(--ft-line);
	table-layout: auto;
	font-size: 15px;
	line-height: 1.6;
}

.ftBody .ft-table thead {
	background: var(--ft-navy);
	color: #fff;
}

.ftBody .ft-table thead th {
	padding: 10px 8px;
	font-weight: 700;
	text-align: center;
	border-right: 1px solid rgba(255, 255, 255, 0.25);
	white-space: nowrap;
}

.ftBody .ft-table tbody tr {
	border-bottom: 1px solid var(--ft-line);
}

.ftBody .ft-table tbody td {
	padding: 10px 8px;
	border-right: 1px solid var(--ft-line);
	text-align: center;
	vertical-align: middle;
	word-break: normal;
	overflow-wrap: anywhere;
}

.ftBody .ft-table tbody td:first-child {
	background: var(--ft-tint);
	font-weight: 700;
	text-align: left;
	word-break: auto-phrase;
}

/* Numbers stay on one line; tables with 3+ columns scroll sideways on phones */
.ftBody .ft-marker--num {
	white-space: nowrap;
}

.ftBody .ft-table:has(thead th:nth-child(3)) table {
	min-width: 560px;
}

.ftBody .ft-table tbody td:first-child {
	width: 9.5em;
	min-width: 7em;
}

.ftBody .ft-table:has(thead th:nth-child(3))::before {
	content: "スクロールできます →";
	display: block;
	position: sticky;
	left: 0;
	text-align: right;
	font-size: 12px;
	color: var(--ft-sub);
	margin-bottom: 4px;
}

@media screen and (min-width:769px) {
	.ftBody .ft-table:has(thead th:nth-child(3)) table {
		min-width: 0;
	}

	.ftBody .ft-table:has(thead th:nth-child(3))::before {
		content: none;
	}
}

.ftBody .ft-table tbody td:last-child,
.ftBody .ft-table thead th:last-child {
	border-right: 0;
}

/* Source notes */
.ftBody .ft-sources {
	margin-top: 24px;
	padding: 10px 2px 0;
	border-top: 1px solid var(--ft-line);
	font-size: 12px;
	line-height: 1.8;
	color: var(--ft-sub);
}

.ftBody .ft-sources p {
	margin: 0;
}

.ftBody .ft-sources p + p {
	margin-top: 6px;
}

.ftBody .ft-sources__no {
	margin-right: 4px;
}

.ftBody .ft-caption {
	margin-top: 4px;
	font-size: 12px;
	color: var(--ft-sub);
	text-align: right;
}

.ftBody .ft-rel {
	font-size: 14px;
	color: var(--ft-sub);
}

/* Table of contents */
.ftBody .ft-toc {
	display: flex;
	flex-direction: column;
	margin-top: 40px;
	padding: 18px 18px 14px;
	border: 1px solid var(--ft-line);
	border-radius: 2px;
}

.ftBody .ft-toc__ttl {
	margin: 0 0 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--ft-line);
	font-size: 17px;
	font-weight: 700;
}

.ftBody .ft-toc__list {
	margin: 0;
	padding: 0;
	max-height: 150px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(#000 55%, transparent);
	mask-image: linear-gradient(#000 55%, transparent);
}

.ftBody .ft-toc__more[open] ~ .ft-toc__list,
.ftBody .ft-toc:has(.ft-toc__more[open]) .ft-toc__list {
	max-height: none;
	-webkit-mask-image: none;
	mask-image: none;
}

.ftBody .ft-toc__list li {
	list-style: none;
	margin: 0;
	line-height: 1.6;
}

.ftBody .ft-toc__list a {
	display: flex;
	gap: 8px;
	padding: 5px 0;
	color: var(--ft-ink);
	text-decoration: none;
}

.ftBody .ft-toc__h3 a {
	padding-left: 14px;
	font-size: 14px;
	color: var(--ft-sub);
}

.ftBody .ft-toc__no {
	flex: none;
	min-width: 1.6em;
	color: var(--ft-sub);
}

.ftBody .ft-toc__more {
	order: 2;
	text-align: center;
	margin-top: 8px;
}

.ftBody .ft-toc__more summary {
	display: inline-block;
	padding: 4px 18px;
	border: 1px solid var(--ft-line);
	border-radius: 99px;
	font-size: 13px;
	cursor: pointer;
	list-style: none;
}

.ftBody .ft-toc__more summary::-webkit-details-marker {
	display: none;
}

.ftBody .ft-toc__close,
.ftBody .ft-toc__more[open] .ft-toc__open {
	display: none;
}

.ftBody .ft-toc__more[open] .ft-toc__close {
	display: inline;
}

/* Registration box and buttons: same language as the LP (serif headings, ink navy, square button). 2026-11-06 */
.ftBody {
	--ft-lp: #1E3A8A;
	--ft-lp-deep: #14225C;
	--ft-lp-light: #2C50B0;
	--ft-lp-line: #DCE4F7;
	--ft-serif-jp: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--ft-serif-en: "Playfair Display", Georgia, serif;
}

.ftBody .ft-cta {
	margin-top: 40px;
}

.ftBody .ft-cta__lead {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	font-family: var(--ft-serif-jp);
	font-size: 16px;
	font-weight: 600;
	color: var(--ft-lp-deep);
	text-align: center;
}

.ftBody .ft-cta--big .ft-cta__lead::before,
.ftBody .ft-cta--big .ft-cta__lead::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--ft-lp-line);
}

.ftBody .ft-cta__card {
	padding: 26px 20px 22px;
	border: 1px solid var(--ft-lp-line);
	background: #fff;
	text-align: center;
}

.ftBody .ft-cta__name {
	margin: 0;
	font-family: var(--ft-serif-en);
	font-size: 26px;
	font-weight: 500;
	color: var(--ft-lp-deep);
}

.ftBody .ft-cta__sub {
	margin: 2px 0 0;
	font-family: var(--ft-serif-jp);
	font-size: 13px;
	color: var(--ft-sub);
}

.ftBody .ft-cta__list {
	display: inline-flex;
	flex-direction: column;
	gap: 6px;
	margin: 16px 0 0;
	padding: 0;
	text-align: left;
	font-size: 15px;
}

.ftBody .ft-cta__list li {
	list-style: none;
	margin: 0;
	display: grid;
	grid-template-columns: 1.8em 1fr;
}

.ftBody .ft-cta__list li i {
	font-family: var(--ft-serif-en);
	color: var(--ft-lp-light);
}

.ftBody .ft-btn,
.ftBody a.ft-btn {
	display: block;
	max-width: 340px;
	margin: 18px auto 0;
	padding: 15px 20px;
	border-radius: 0;
	background: var(--ft-lp);
	box-shadow: none;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0.06em;
}

.ftBody .ft-cta__free {
	margin: 8px 0 0;
	font-size: 12px;
	color: var(--ft-sub);
}

/* Small registration line between chapters */
.ftBody .ft-cta--small {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 0;
	border-top: 1px solid var(--ft-lp-line);
	border-bottom: 1px solid var(--ft-lp-line);
}

.ftBody .ft-cta--small .ft-cta__lead {
	display: block;
	margin: 0;
	text-align: left;
	font-size: 15px;
	min-width: 0;
}

.ftBody .ft-cta__link,
.ftBody a.ft-cta__link {
	flex: none;
	padding: 9px 14px;
	border: 1px solid var(--ft-lp);
	color: var(--ft-lp);
	font-size: 14px;
	text-decoration: none;
	white-space: nowrap;
}

/* Service intro at the head of the Frontier Talent section: the LP's "III. Intelligence" */
.ftBody .ft-intro {
	margin-top: 24px;
}

.ftBody .ft-intro__lead {
	margin: 0 0 16px;
}

.ftBody .ft-intro__feat {
	padding: 20px 18px;
	background: var(--ft-lp-deep);
	color: #fff;
}

.ftBody .ft-intro__label {
	margin: 0 0 4px;
	font-family: var(--ft-serif-en);
	font-style: italic;
	font-size: 13px;
	letter-spacing: 0.1em;
	color: #9FB2EE;
}

.ftBody .ft-intro__item {
	display: grid;
	grid-template-columns: 1.8em 1fr;
	gap: 4px;
	padding: 12px 0 0;
	margin-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.ftBody .ft-intro__item i {
	font-family: var(--ft-serif-en);
	color: #9FB2EE;
}

.ftBody .ft-intro__item b {
	display: block;
	font-family: var(--ft-serif-jp);
	font-weight: 600;
	font-size: 16px;
}

.ftBody .ft-intro__item span {
	font-size: 14px;
	color: #D5DDF5;
}

.ftBody .ft-btn-wrap {
	margin-top: 24px;
}

/* FAQ */
.ftBody .ft-faq {
	margin: 24px 0 0;
}

.ftBody .ft-faq__item {
	margin-top: 20px;
	border: 1px solid var(--ft-line);
	border-radius: 4px;
	overflow: hidden;
}

.ftBody .ft-faq__q,
.ftBody .ft-faq__a {
	position: relative;
	padding: 14px 14px 14px 52px;
	font-size: 16px;
}

.ftBody .ft-faq__q {
	background: var(--ft-tint);
	font-weight: 700;
	line-height: 1.7;
}

.ftBody .ft-faq__a {
	margin: 0;
}

.ftBody .ft-faq__a p:first-child {
	margin-top: 0;
}

.ftBody .ft-faq__q::before,
.ftBody .ft-faq__a::before {
	position: absolute;
	left: 12px;
	top: 13px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	line-height: 28px;
	text-align: center;
}

.ftBody .ft-faq__q::before {
	content: "Q";
	background: var(--ft-navy);
}

.ftBody .ft-faq__a::before {
	content: "A";
	background: var(--ft-orange);
}

@media screen and (max-width:768px) {
	.ftBody h2 {
		font-size: 19px;
		margin-top: 52px;
	}

	.ftBody h3 {
		font-size: 17px;
		margin-top: 40px;
	}
}

/* Break titles and headings between words, not inside them (2026-11-05).
   This stylesheet loads only on Frontier Talent article pages, so .articleTtl here is that page's H1. */
.articleTtl,
.ftBody h2,
.ftBody h3 {
	word-break: auto-phrase;
}

/* 担当者のひとこと(導入の後に1つ) */
.ftBody .ft-voice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 32px 0;
}
.ftBody .ft-voice__who {
	flex: 0 0 52px;
	margin: 0;
}
.ftBody .ft-voice__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--ft-navy);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
}
.ftBody .ft-voice__body {
	position: relative;
	flex: 1;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--ft-pale);
}
.ftBody .ft-voice__body::before {
	content: "";
	position: absolute;
	top: 18px;
	left: -8px;
	border: 8px solid transparent;
	border-left: 0;
	border-right-color: var(--ft-pale);
}
.ftBody .ft-voice__body p {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
}
.ftBody .ft-voice__body p + p {
	margin-top: 8px;
}
.ftBody .ft-voice__body p.ft-voice__name {
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 700;
	color: var(--ft-navy);
}

/* 表の仕上げ(2026-11-05): 数字は右寄せで桁をそろえ、==印==の行と列を塗る。短い表は横に流さず幅に収める */
.ftBody .ft-table td.ft-num {
	text-align: right;
	padding-right: 14px;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.ftBody .ft-table tbody tr.ft-row--hi td {
	background: #FFF4E5;
	font-weight: 700;
}
.ftBody .ft-table thead th.ft-col--hi {
	background: var(--ft-orange);
}
.ftBody .ft-table tbody td.ft-col--hi {
	background: var(--ft-pale);
	color: var(--ft-navy);
	font-weight: 700;
}
.ftBody .ft-table--fit table,
.ftBody .ft-table:has(thead th:nth-child(3)).ft-table--fit table {
	min-width: 0;
}
.ftBody .ft-table.ft-table--fit::before {
	content: none;
}
.ftBody .ft-table--fit thead th {
	white-space: normal;
	word-break: keep-all;
	font-size: 14px;
	line-height: 1.4;
}
.ftBody .ft-table--fit tbody td:first-child {
	width: auto;
	min-width: 0;
	white-space: nowrap;
}
.ftBody .ft-table td.ft-num {
	width: 1%;
}
.ftBody .ft-table.ft-table--fit td.ft-num {
	width: auto;
}
.ftBody .ft-table.ft-table--fit:has(thead th:nth-child(3))::before {
	content: none;
}
.ftBody .ft-table thead th {
	vertical-align: middle;
}
.ftBody .ft-table tbody td {
	text-align: left;
}
.ftBody .ft-table tbody td.ft-num {
	text-align: right;
}

/* 2列の表は見出しを折り返して幅に収める。プロンプトの枠は横に流さず折り返す(2026-11-05) */
.ftBody .ft-table:not(:has(thead th:nth-child(3))) thead th {
	white-space: normal;
	word-break: auto-phrase;
	line-height: 1.4;
}
.ftBody pre.wp-block-code {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	overflow-x: visible;
}
.ftBody pre.wp-block-code code {
	white-space: inherit;
}
.ftBody pre.wp-block-code {
	background: var(--ft-tint);
	border: 1px solid var(--ft-line);
	border-radius: 8px;
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.8;
	font-family: inherit;
	color: var(--ft-navy);
}

/* Two-column tables: split the width evenly so the value header does not wrap into three lines (2026-11-06) */
.ftBody .ft-table:not(:has(thead th:nth-child(3))) thead th,
.ftBody .ft-table:not(:has(thead th:nth-child(3))) tbody td {
	width: 50%;
}

/* PC: body images are drawn at 2048px; show them smaller and to the left, keep the thumbnail full width (2026-11-06) */
@media screen and (min-width:769px) {
	.ftBody figure.wp-block-image {
		max-width: 520px;
		margin-left: 0;
		margin-right: auto;
	}

	.ftBody > figure.wp-block-image:first-of-type {
		max-width: none;
	}
}

/* Supervisor: a one-line band after the intro and a profile box after the summary, in the LP's language. 2026-11-06 */
.ftBody .ft-sup-band {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	margin: 16px 0 0;
	padding: 10px 0;
	border-top: 1px solid var(--ft-lp-line);
	border-bottom: 1px solid var(--ft-lp-line);
	font-size: 13px;
	color: var(--ft-sub);
}

.ftBody .ft-sup-band__label,
.ftBody .ft-sup__label {
	font-family: var(--ft-serif-jp);
	font-weight: 600;
	color: var(--ft-lp-deep);
}

.ftBody .ft-sup-band a,
.ftBody .ft-sup__name a {
	color: var(--ft-lp-deep);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}
/* The name opens the supervisor's profile on the member page (2026-11-06, 三宅さん「プロフに飛べたら」) */
.ftBody .ft-sup-band a::after,
.ftBody .ft-sup__name a::after {
	content: ' →';
	display: inline-block;
	text-decoration: none;
}
.ftBody .ft-sup-band a:hover,
.ftBody .ft-sup__name a:hover { text-decoration-thickness: 2px; }

.ftBody .ft-sup {
	margin-top: 40px;
	padding: 22px 20px;
	background: var(--ft-tint);
}

.ftBody .ft-sup__label {
	margin: 0 0 12px;
	font-size: 14px;
}

.ftBody .ft-sup__head {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ftBody .ft-sup__photo {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	flex: none;
	max-width: none;
	margin: 0;
}

.ftBody .ft-sup__name {
	margin: 0;
	font-family: var(--ft-serif-jp);
	font-size: 18px;
}

.ftBody .ft-sup__pos {
	margin: 2px 0 0;
	font-size: 13px;
	color: var(--ft-sub);
}

.ftBody .ft-sup__profile {
	margin: 14px 0 0;
	font-size: 14px;
	line-height: 1.8;
}

/* ============================================================
   Header and footer of the Frontier Talent LP (page-frontier-talent-ai.php),
   used on the article pages in place of the Pacific Meta ones.
   Class names carry ftc- so they do not meet the theme's .container, .nav and .brand.
   ============================================================ */
.ft-article {
	--ftc-ink: #1E3A8A;
	--ftc-ink-deep: #14225C;
	--ftc-black: #0A0A0A;
	--ftc-body: #1A1A1A;
	--ftc-rule: #E5E7EB;
	--ftc-serif-en: 'Playfair Display', Georgia, serif;
	--ftc-serif-jp: 'Noto Serif JP', 'Hiragino Mincho ProN', serif;
	--ftc-sans-en: 'Inter', -apple-system, sans-serif;
	--ftc-sans-jp: 'Noto Sans JP', 'Hiragino Sans', sans-serif;
}
.ftc-container {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
}
.ftc-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 50;
	padding: 22px 0;
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid var(--ftc-rule);
	transition: padding 320ms ease, background 320ms ease;
}
.ftc-header.scrolled {
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	padding: 14px 0;
}
.ftc-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}
.ftc-brand {
	font-family: var(--ftc-serif-en);
	font-weight: 500;
	font-size: 22px;
	letter-spacing: -0.005em;
	color: var(--ftc-black);
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
}
.ftc-brand:hover { color: var(--ftc-ink); }
.ftc-nav {
	display: flex;
	gap: 8px;
	align-items: center;
}
.ftc-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 18px;
	font-family: var(--ftc-sans-jp);
	font-size: 13px;
	letter-spacing: 0.06em;
	white-space: nowrap;
	text-decoration: none;
	border: 1px solid var(--ftc-ink);
	transition: background 220ms ease, color 220ms ease;
}
.ftc-nav a.ftc-login { color: var(--ftc-ink); background: transparent; }
.ftc-nav a.ftc-login:hover { background: var(--ftc-ink); color: #fff; }
.ftc-nav a.ftc-signup { color: #fff; background: var(--ftc-ink); }
.ftc-nav a.ftc-signup:hover { background: var(--ftc-ink-deep); }

.ftc-footer {
	background: var(--ftc-ink-deep);
	color: #fff;
	padding: 96px 0 48px;
	margin-top: 96px;
}
.ftc-footer a { color: inherit; text-decoration: none; }
.ftc-footer ul { list-style: none; margin: 0; padding: 0; }
.ftc-footer p { margin: 0; }
.ftc-footer-grid {
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr 1fr;
	gap: 56px;
	margin-bottom: 80px;
}
.ftc-footer-brand {
	font-family: var(--ftc-serif-en);
	font-weight: 500;
	font-size: 26px;
	line-height: 1;
	margin-bottom: 24px !important;
	color: #fff;
}
.ftc-footer-tag {
	font-family: var(--ftc-serif-jp);
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.9;
}
.ftc-footer-h {
	font-family: var(--ftc-sans-en);
	font-size: 11px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	margin-bottom: 20px !important;
	font-weight: 500;
}
.ftc-footer-licence { margin-top: 36px; }
.ftc-footer-licence .ftc-footer-h { margin-bottom: 10px !important; }
.ftc-footer-licence p:not(.ftc-footer-h) {
	font-family: var(--ftc-sans-jp);
	font-size: 13px;
	line-height: 2.1;
	color: rgba(255, 255, 255, 0.85);
}
.ftc-footer-col li {
	font-family: var(--ftc-sans-jp);
	font-size: 13px;
	line-height: 2.2;
	color: rgba(255, 255, 255, 0.85);
}
.ftc-footer-col a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.ftc-footer-meta {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-family: var(--ftc-sans-jp);
	font-size: 11px;
	color: rgba(255, 255, 255, 0.5);
	letter-spacing: 0.04em;
}
.ftc-footer-meta a:hover { color: #fff; }

@media (max-width: 960px) {
	.ftc-footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 48px 32px; }
	.ftc-footer-brand-col { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
	.ftc-container { padding: 0 24px; }
	.ftc-header { padding: 16px 0; }
	.ftc-header.scrolled { padding: 12px 0; }
	.ftc-brand { font-size: 19px; }
	.ftc-nav a { padding: 0 14px; letter-spacing: 0.04em; }
	.ftc-footer { padding: 72px 0 40px; margin-top: 72px; }
	.ftc-footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 24px; margin-bottom: 56px; }
	.ftc-footer-meta { flex-direction: column; gap: 12px; align-items: flex-start; }
}
@media (max-width: 380px) {
	.ftc-brand { font-size: 17px; }
	.ftc-nav a { padding: 0 10px; font-size: 12px; }
}

/* The LP header is shorter than the Pacific Meta one, so the breadcrumb and title move up. */
.ft-article .breadcrumbWrap02 { top: 112px; }
.ft-article .newsArticle { padding-top: 168px; }
@media screen and (max-width: 768px) {
	.ft-article .newsArticle { padding-top: 104px; }
}

/* Link from the article to its area LP */
.ft-area-link {
	margin: 56px 0 0;
	padding: 28px 0;
	border-top: 1px solid var(--ftc-rule, #E5E7EB);
	border-bottom: 1px solid var(--ftc-rule, #E5E7EB);
}
.ft-area-link__label {
	margin: 0 0 8px;
	font-family: var(--ftc-serif-en, Georgia, serif);
	font-size: 13px;
	letter-spacing: 0.08em;
	color: #6B7280;
}
.ft-area-link__a {
	font-family: var(--ftc-serif-jp, serif);
	font-size: 18px;
	font-weight: 600;
	color: var(--ftc-ink, #1E3A8A);
	text-decoration: none;
}
.ft-area-link__a::after { content: ' →'; }
.ft-area-link__a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media screen and (max-width: 768px) {
	.ft-area-link { margin-top: 40px; padding: 22px 0; }
	.ft-area-link__a { font-size: 16px; }
}

/* Article list (page-frontier-talent-articles.php): /frontier-talent/<area>/articles/ */
.ft-list__items {
	list-style: none;
	margin: 40px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px 32px;
}
.ft-list__a { display: block; color: inherit; text-decoration: none; }
.ft-list__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1200 / 630;
	object-fit: cover;
	border: 1px solid var(--ftc-rule, #E5E7EB);
}
.ft-list__date {
	display: block;
	margin: 14px 0 6px;
	font-size: 12px;
	letter-spacing: 0.04em;
	color: #6B7280;
}
.ft-list__title {
	display: block;
	font-family: var(--ftc-serif-jp, serif);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.7;
	color: #111827;
}
.ft-list__a:hover .ft-list__title { color: var(--ftc-ink, #1E3A8A); }
.ft-list__empty { margin-top: 40px; color: #6B7280; }
@media screen and (max-width: 768px) {
	.ft-list__items { grid-template-columns: 1fr; gap: 32px; margin-top: 28px; }
	.ft-list__title { font-size: 16px; }
}
