/*
 * LocalX Career Theme - site.css(案件共通スキン)
 * 元サイト https://www.localx-career.com/ の実測値で構成。
 *   青(見出し)  #004cf0 = --wp--preset--color--accent
 *   青(帯/強調) #1a6aff = --wp--preset--color--bright
 *   薄青ボックス #dce8ff = --wp--preset--color--pale
 *   薄青帯      #f5fbff = --wp--preset--color--muted
 *   CTA橙      #ff8c00 = --wp--preset--color--cta
 * 全体は明朝(theme.json)。ブログ記事面のみゴシック(§B)。
 * §H ヘッダー / §F フッター(FAQ・CTA) / §B ブログ面 / §BTN 共通ボタン
 */

/* ============ §BTN 共通CTAボタン ============ */

.lx-btn-cta {
	display: inline-block;
	min-width: 300px;
	max-width: 100%;
	padding: 18px 40px;
	border-radius: 5px;
	background: var(--wp--preset--color--cta);
	color: #fff;
	font-size: 1.125rem;
	letter-spacing: 0.14em;
	text-align: center;
	text-decoration: none;
}

.lx-btn-cta:hover {
	opacity: 0.85;
	text-decoration: none;
}

/* ============ §H ヘッダー ============ */

.lx-topbar {
	height: 6px;
	background: var(--wp--preset--color--bright);
}

.lx-header {
	background: #fff;
}

.lx-header__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	max-width: 1440px;
	margin-inline: auto;
	padding: 20px 36px;
}

.lx-header__brand {
	display: flex;
	align-items: center;
	gap: 18px;
	min-width: 0;
}

.lx-header__logo {
	display: block;
	line-height: 0;
	flex-shrink: 0;
}

.lx-header__logo img {
	width: auto;
	height: 40px;
}

.lx-header__tagline {
	margin: 0;
	font-size: 0.8125rem;
	white-space: nowrap;
}

.lx-nav {
	width: max-content;
	margin-left: auto;
}

.lx-nav__list {
	display: flex;
	gap: 44px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.875rem;
}

.lx-nav__list a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.lx-nav__list a:hover {
	color: var(--wp--preset--color--bright);
	text-decoration: none;
}

.lx-header__cta {
	flex-shrink: 0;
	padding: 16px 34px;
	border-radius: 5px;
	background: var(--wp--preset--color--cta);
	color: #fff;
	font-size: 0.9375rem;
	letter-spacing: 0.1em;
	text-decoration: none;
}

.lx-header__cta:hover {
	opacity: 0.85;
	text-decoration: none;
}

.lx-header__cta--pill {
	border-radius: 50px;
	margin-left: auto;
}

.lx-header--lp .lx-header__inner {
	padding-block: 14px;
}

/* SPメニュー開閉ボタン(PCでは出さない) */
.lx-menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: 6px;
	border: 0;
	background: none;
	cursor: pointer;
}

.lx-menu-toggle span {
	display: block;
	height: 2px;
	background: var(--wp--preset--color--ink);
}

.lx-sp-menu {
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: #fff;
	padding: 8px 24px 24px;
}

.lx-sp-menu__list {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.lx-sp-menu__list li {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.lx-sp-menu__list a {
	display: block;
	padding: 14px 4px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.lx-sp-menu .lx-btn-cta {
	display: block;
	min-width: 0;
}

/* TOPのSP用お知らせ帯(PCでは出さない) */
.lx-notice-bar {
	display: none;
	margin: 0;
	padding: 12px 16px;
	background: var(--wp--preset--color--bright);
	color: #fff;
	font-size: 0.8125rem;
	text-align: center;
}

@media (max-width: 960px) {
	.lx-header__inner {
		padding: 12px 16px;
		gap: 12px;
	}

	.lx-header__logo img {
		height: 28px;
	}

	.lx-header__tagline {
		font-size: 0.625rem;
		white-space: normal;
	}

	.lx-nav,
	.lx-header .lx-header__cta {
		display: none;
	}

	.lx-header--lp .lx-header__cta {
		display: inline-block;
		margin-left: auto;
		padding: 10px 18px;
		font-size: 0.8125rem;
	}

	.lx-menu-toggle {
		display: flex;
		margin-left: auto;
	}

	.lx-notice-bar {
		display: block;
	}
}

/* ============ §F フッター(FAQ帯 → CTA → 白フッター) ============ */

.lx-faq {
	margin-top: 5rem;
	padding: 64px 24px 72px;
	background: var(--wp--preset--color--muted);
}

/* LP・TOP(全幅テンプレート)では本文との間隔を直前セクションに任せる */
.page-template-template-lp-blank .lx-faq,
.page-template-template-lp-canvas .lx-faq {
	margin-top: 0;
}

.lx-faq__inner {
	max-width: 760px;
	margin-inline: auto;
}

.lx-faq__title {
	margin: 0 0 28px;
	color: var(--wp--preset--color--accent);
	font-size: 1.625rem;
	font-weight: 500;
	text-align: center;
}

.lx-faq__list {
	margin: 0;
}

.lx-faq__list dt {
	margin: 0;
}

.lx-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 22px 4px;
	border: 0;
	border-bottom: 1px solid #cfd6e4;
	background: none;
	color: var(--wp--preset--color--ink);
	font-family: inherit;
	font-size: 1rem;
	text-align: left;
	cursor: pointer;
}

.lx-faq__icon {
	position: relative;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
}

.lx-faq__icon::before,
.lx-faq__icon::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	background: var(--wp--preset--color--ink);
}

.lx-faq__icon::before {
	width: 18px;
	height: 1px;
}

.lx-faq__icon::after {
	width: 1px;
	height: 18px;
	transition: transform 0.2s;
}

.lx-faq__q[aria-expanded="true"] .lx-faq__icon::after {
	transform: rotate(90deg);
}

.lx-faq__a {
	margin: 0;
	padding: 18px 4px 24px;
	border-bottom: 1px solid #cfd6e4;
	font-size: 0.9375rem;
}

.lx-faq__a p {
	margin: 0;
}

.lx-prefooter {
	padding: 56px 24px 8px;
	background: #fff;
	text-align: center;
}

.lx-prefooter__line {
	width: min(560px, 100%);
	margin: 0 auto 48px;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--ink);
}

.lx-prefooter__cta {
	margin: 0;
}

.lx-prefooter .lx-btn-cta {
	min-width: min(430px, 100%);
	font-size: 1.25rem;
}

.lx-footer {
	padding: 48px 24px 40px;
	background: #fff;
	text-align: center;
}

.lx-footer__inner {
	max-width: 720px;
	margin-inline: auto;
}

.lx-footer__logo {
	margin: 0 0 32px;
}

.lx-footer__logo img {
	width: 120px;
	height: auto;
	margin-inline: auto;
}

.lx-footer__company {
	margin: 0 0 4px;
	font-size: 0.9375rem;
}

.lx-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.875rem;
	line-height: 2.1;
}

.lx-footer__list a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.lx-footer__list a:hover {
	text-decoration: underline;
}

.lx-footer__copy {
	margin: 28px 0 0;
	font-size: 0.8125rem;
}

/* ============ §B ブログ面(一覧・カテゴリ・記事) ============ */

/* カテゴリナビ(元サイトの 記事一覧/入門編/戦略編/実践編/転職体験談) */
.lx-cat-nav {
	margin: 8px 0 40px;
}

.lx-cat-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.875rem;
	font-weight: 700;
}

.lx-cat-nav__list a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.lx-cat-nav__list a:hover,
.lx-cat-nav__list .is-current a {
	color: var(--wp--preset--color--bright);
}

/* 一覧タイトル(記事一覧・カテゴリ名)は青センタリング */
.blog .page-title,
.archive .page-title {
	margin-bottom: 2.5rem;
	color: var(--wp--preset--color--accent);
	font-size: 1.75rem;
	font-weight: 500;
	text-align: center;
}

/* 一覧カード(記事面はゴシック) */
.post-card {
	border: 1px solid #e3e3e3;
	background: #fff;
	font-family: var(--wp--preset--font-family--sans);
}

.post-card__link,
.post-card__excerpt {
	padding-inline: 18px;
}

.post-card__title {
	font-size: 1rem;
	line-height: 1.55;
}

.post-card__excerpt {
	padding-bottom: 18px;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--sub);
}

/* 記事ページ: 白カードにゴシック本文(元サイト準拠) */
.single-post .site-main__inner {
	max-width: 960px;
}

.single-post .entry {
	border: 1px solid #e0e0e0;
	background: #fff;
	padding: clamp(24px, 6vw, 88px) clamp(18px, 7vw, 110px);
}

.single-post .entry-header,
.single-post .entry-content,
.single-post .entry-meta {
	font-family: var(--wp--preset--font-family--sans);
}

.single-post .entry-title {
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 700;
}

.single-post .entry-content {
	font-size: 1rem;
}

.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 700;
}

.single-post .post-nav {
	font-family: var(--wp--preset--font-family--sans);
}
