@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =========================================================
   ペガサス ブランドカラー / 設計トークン（:root 変数）は
   Code Snippets の「pega-css-00-tokens」に一元管理（唯一の定義元）。
   色・余白・フォント等の調整は同スニペットで行う。
   （子テーマ側の重複 :root は削除。フォールバックは持たない＝主入口を一本化）
   ========================================================= */

@media (min-width: 960px) {
	.pega-br-pc {
		display: inline;
	}
}

/* =========================================================
   トップページ共通
   ========================================================= */
.home #top_title_area {
	display: none;
}

.home #content {
	padding-top: 0 !important;
}

.home #body_wrap {
	overflow-x: hidden;
}


/* =========================================================
   ヘッダー（トップページ）— 白背景1行 / ハンバーガーのみ / 賢い追従
   SWELL は #header + #fix_header の2要素構成。
   トップでは fix_header を非表示。#header は sticky（FV密着・本文オフセット増やさない）。
   ========================================================= */
/* 装飾(色・背景・グラデ・影・枠・角丸・drop-shadow・フォント)は Code Snippets「pega-css-10-header」(優先度22) へ。
   以下は構造(display/flex/order/position/幅/余白・SPメニュー機能上書き)のみ。 */
.pega-top #fix_header {
	display: none !important;
}

.pega-top #header {
	position: sticky;
	top: 0;
	z-index: 20;
	transition: transform 0.28s ease;
	will-change: transform;
}

.pega-top.pega-headhide #header {
	transform: translateY(-100%);
}

.pega-top #header .l-header__inner.l-container {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: clamp(8px, 1.5vw, 16px);
	padding-left: clamp(16px, 3vw, 52px);
	padding-right: clamp(16px, 3vw, 52px);
}

.pega-top #header .l-header__logo {
	flex: 0 1 auto;
	min-width: 0;
	order: -1;
}

.pega-top #header .l-header__customBtn {
	display: none;
}

.pega-top #header .l-header__gnav.c-gnavWrap {
	display: none;
	flex: 0 0 auto;
}

.pega-top #header .pega-header-contact {
	flex: 0 0 auto;
	margin-left: auto;
}

.pega-top #header .pega-header__actions {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: clamp(6px, 1vw, 12px);
	min-width: 0;
}

.pega-top #header .pega-header__cta {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: clamp(6px, 0.8vw, 10px);
	min-width: 0;
}

.pega-top #header .l-header__bar {
	display: none;
}

.pega-header-contact__info {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1px;
	min-width: 0;
	text-align: right;
}

.pega-header-contact__tel-icon {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* CTA 段階縮退: 1024↓お問い合わせ / 768↓資料請求 / 600↓CTA全消 */
.pega-top .pega-header__cta-item--contact {
	display: none;
}

@media (min-width: 1025px) {
	.pega-top .pega-header__cta-item--contact {
		display: inline-flex;
	}
}

@media (max-width: 768px) {
	.pega-top .pega-header__cta-item--download {
		display: none;
	}
}

@media (max-width: 600px) {
	.pega-top #header .pega-header__cta {
		display: none;
	}

	.pega-top .pega-header-contact {
		display: flex;
	}

	.pega-top .pega-header-contact__info {
		display: none;
	}

	.pega-top .pega-header-contact__tel-icon {
		display: inline-flex;
	}
}

@media (max-width: 600px) {
	#header .l-header__inner.l-container {
		display: flex;
		align-items: center;
	}

	#header .l-header__logo {
		flex: 1 1 auto;
		min-width: 0;
		margin-right: 0;
	}

	.pega-top #header .l-header__logo {
		flex: 0 1 auto;
		order: -1;
	}

	#header .c-headLogo__link {
		max-width: min(200px, 58vw);
	}

	#header .c-headLogo__img {
		max-height: 42px;
	}
}

@media (min-width: 601px) and (max-width: 959px) {
	#header .l-header__inner.l-container {
		display: flex;
		align-items: center;
		gap: clamp(6px, 2vw, 12px);
	}

	#header .l-header__logo {
		flex: 0 1 auto;
		min-width: 0;
		margin-right: 0;
	}

	.pega-top #header .pega-header-contact {
		margin-left: auto;
	}

	#header .c-headLogo__link {
		flex-shrink: 0;
		max-width: min(140px, 38vw);
	}

	#header .c-headLogo__img {
		max-height: 38px;
		max-width: 100%;
	}
}

.p-spMenu__body {
	position: relative;
	z-index: 1;
}

.p-spMenu .c-listMenu.c-spnav {
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

/* トップ: 全幅でハンバーガー＋SPメニュー（PCナビ横展開なし） */
.pega-top #sp_menu.p-spMenu {
	display: block !important;
}

.pega-top #header .l-header__menuBtn.sp_ {
	display: flex;
	flex-shrink: 0;
	position: relative;
	z-index: 25;
	touch-action: manipulation;
}

.pega-top #header .l-header__menuBtn .c-iconBtn {
	min-width: 44px;
	min-height: 44px;
}

.pega-top #header .l-header__customBtn.sp_ {
	flex-shrink: 0;
}

@media (min-width: 960px) {
	.pega-top .pega-header-contact {
		display: flex;
	}
}

@media (min-width: 1440px) {
	.pega-top #header .l-header__inner.l-container {
		max-width: 1560px;
		margin: 0 auto;
	}
}

@media (min-width: 1920px) {
	.pega-top #header .l-header__inner.l-container {
		max-width: 1760px;
	}
}

/* pega-br-pc: PC(960px+)のみ改行を表示 */
.pega-br-pc {
	display: none;
}

/* pega-br-sp: モバイル・タブレットのみ改行（説明文の意図した区切り） */
.pega-br-sp {
	display: inline;
}

@media (min-width: 960px) {
	.pega-br-sp {
		display: none;
	}
}

/* =========================================================
   ヒーロー（FV）— SWELL フルワイドブロック + 子テーマCSS
   ========================================================= */
/* 装飾は Code Snippets「pega-sec-hero」(③/優先度10) へ移行。以下は構造（幅・grid/flex・@media骨格・inner余白）のみ。 */
.pega-hero-wrap {
	margin: 0 !important;
	padding: 0;
	overflow: hidden;
	font-family: var(--pega-font);
}

.pega-hero-wrap > .wp-block-group__inner-container {
	max-width: none !important;
	padding: 0 !important;
	margin: 0;
}

/* ヘッダー下端グラデの下にヒーローを重ね、自然に融合 */
.home .pega-hero-wrap {
	padding-top: 0;
	margin-top: 0 !important;
}

/* SWELL loos/full-wide をフルスクリーンFVに */

/* SWELL has-bg-img の :before（bgColor継承）が画像を覆うため無効化 */
.pega-hero-wrap .swell-block-fullWide.has-bg-img::before,
.pega-hero-wrap .wp-block-loos-full-wide.has-bg-img::before {
	display: none !important;
	content: none !important;
}

.pega-hero-wrap .swell-block-fullWide__inner.l-full {
	width: 100%;
	max-width: none;
	padding: 0;
	position: relative;
	z-index: 2;
}

/* 右側コピー可読性：右寄せグラデ（::after で SWELL の :before と共存） */

.pega-hero__content > .wp-block-group__inner-container,
.pega-hero__copy > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-hero__content {
	position: relative;
	z-index: 2;
	width: 100%;
	box-sizing: border-box;
	padding: clamp(24px, 5vh, 56px) clamp(16px, 3vw, 40px) clamp(28px, 4vh, 48px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
}

.pega-hero__copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 640px;
	text-align: center;
	margin-bottom: 0;
}

.pega-hero__copy > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: inherit;
	width: 100%;
}

.pega-hero__title,
.pega-hero__eyebrow,
.pega-hero__desc {
	display: block;
	width: 100%;
}

/* ヒーロー内の改行は常に有効（pega-br-pc の display:none を上書き） */
.pega-hero__title br,
.pega-hero__title br.pega-br-pc,
.pega-hero__desc br,
.pega-hero__desc br.pega-br-pc,
.pega-hero__desc br.pega-br-sp {
	display: block !important;
}

/* タイポ：ブレークポイント別（clamp だけに頼らない） */

/* 768px〜：左コピー（人物は右・イメージ.png 準拠） */
@media (min-width: 768px) {
	.pega-hero__content {
		align-items: flex-start;
		justify-content: center;
		padding-left: clamp(20px, 4.5vw, 72px);
		padding-right: min(46%, 520px);
	}

	.pega-hero__copy {
		width: min(520px, 100%);
		max-width: 520px;
		margin: 0;
		align-items: flex-start;
		text-align: left;
	}

	.pega-hero__copy > .wp-block-group__inner-container {
		align-items: flex-start;
	}
}

@media (min-width: 1200px) {
	.pega-hero__content {
		padding-left: clamp(32px, 5vw, 88px);
		padding-right: 44%;
	}

	.pega-hero__copy {
		width: min(560px, 52%);
		max-width: 560px;
	}
}

@media (min-width: 1600px) {
	.pega-br-pc {
		display: none;
	}
}

.pega-hero__actions {
	display: flex;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	gap: 12px;
	justify-content: flex-start;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	margin: clamp(24px, 3.5vh, 36px) 0 0;
}

.pega-hero__actions.is-row,
.pega-hero__actions > .wp-block-group__inner-container,
.pega-hero__actions.is-layout-flex,
.pega-hero__actions.is-layout-flex.is-row {
	display: flex;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	gap: 12px;
	justify-content: flex-start;
	align-items: stretch;
	width: 100%;
}

.pega-hero__actions .swell-block-button {
	margin: 0;
	width: 100%;
}

/* 長いCTAを基準に等幅（構造） */
.pega-hero__actions .swell-block-button > .swell-block-button__link {
	display: flex;
	width: 100%;
	box-sizing: border-box;
	justify-content: center;
}

/* 信頼指標バー（構造） */

.pega-trust > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-trust__inner.wp-block-columns {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}

.pega-trust__inner.wp-block-columns > .wp-block-column {
	display: flex;
	min-width: 0;
}

.pega-trust__item {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: clamp(10px, 2vw, 18px);
	width: 100%;
	margin: 0;
	padding: clamp(18px, 3vw, 28px) clamp(12px, 2.5vw, 24px);
	text-align: left;
}

.pega-trust__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: #fff;
}

.pega-trust__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
}

/* モバイル */
@media (max-width: 599px) {
	.pega-hero__content {
		justify-content: flex-end;
		align-items: center;
		padding-bottom: clamp(24px, 5vh, 48px);
		padding-left: clamp(16px, 5vw, 24px);
		padding-right: clamp(16px, 5vw, 24px);
	}

	.pega-hero__copy {
		width: 100%;
		max-width: 100%;
	}

	.pega-hero__actions {
		width: 100%;
		max-width: 100%;
	}

	.pega-hero__actions .swell-block-button {
		width: 100%;
	}

	.pega-trust__inner.wp-block-columns {
		grid-template-columns: 1fr;
	}

	.pega-trust__item {
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
		padding: 18px 20px;
	}

	.pega-trust__body {
		align-items: flex-start;
	}
}

@media (min-width: 768px) {
	.pega-hero__actions,
	.pega-hero__actions.is-row,
	.pega-hero__actions > .wp-block-group__inner-container,
	.pega-hero__actions.is-layout-flex,
	.pega-hero__actions.is-layout-flex.is-row {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		align-items: stretch;
		gap: 12px;
	}

	.pega-hero__actions .swell-block-button {
		flex: 1 1 220px;
		width: auto;
		max-width: none;
	}
}

/* =========================================================
   悩み共感セクション
   ========================================================= */
/* 装飾は Code Snippets「pega-sec-concerns」(③/優先度10) へ移行。以下は構造（幅・grid/flex・@media骨格・inner余白）のみ。 */
.pega-concerns > .wp-block-group__inner-container,
.pega-concerns.is-layout-constrained > .wp-block-group__inner-container {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.pega-concerns__list > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(12px, 2vw, 16px);
	min-width: 0;
}

.pega-concerns__item > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

@media (min-width: 600px) {
	.pega-concerns__list > .wp-block-group__inner-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 960px) {
	.pega-concerns__list > .wp-block-group__inner-container {
		gap: 18px;
	}
}

/* =========================================================
   課題→解決ブリッジ
   ========================================================= */
/* 装飾は Code Snippets「pega-sec-bridge」(③/優先度10) へ移行。以下は構造（幅・grid/flex・@media骨格・inner余白）のみ。 */
.pega-bridge > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-bridge__intro {
	padding: clamp(48px, 8vw, 72px) clamp(20px, 4vw, 40px) clamp(32px, 5vw, 48px);
}

.pega-bridge__intro > .wp-block-group__inner-container {
	max-width: 960px;
	margin: 0 auto;
}

.pega-bridge__text:last-child {
	margin-bottom: 0;
}

.pega-bridge__pillars-wrap {
	padding: 0 clamp(20px, 4vw, 40px) clamp(40px, 6vw, 56px);
}

.pega-bridge__pillars-wrap > .wp-block-group__inner-container {
	max-width: 960px;
	margin: 0 auto;
}

.pega-bridge__pillars.wp-block-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(14px, 2.5vw, 20px);
	margin: 0;
}

.pega-bridge__pillars > .wp-block-column {
	display: flex;
	margin: 0;
}

.pega-bridge__pillar > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: inherit;
}

.pega-bridge__pillar-img {
	margin: 0 !important;
	width: 100%;
	position: relative;
	overflow: hidden;
	flex: 1 1 auto;
	min-height: 0;
}

.pega-bridge__pillar-img::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.pega-bridge__pillar-body,
.pega-bridge__pillar-body > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 112px;
	padding: 12px clamp(14px, 3vw, 20px) 16px;
	box-sizing: border-box;
}

.pega-bridge__pillar-body > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	min-height: 88px;
}

.pega-bridge__closing > .wp-block-group__inner-container {
	max-width: 920px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.pega-bridge__closing-photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: center 35%;
}

.pega-bridge__closing-lead:last-child {
	margin-bottom: 0;
}

.pega-bridge__details-wrap {
	padding: clamp(32px, 6vw, 48px) clamp(20px, 4vw, 40px) clamp(48px, 8vw, 72px);
}

.pega-bridge__details-wrap > .wp-block-group__inner-container {
	max-width: 960px;
	margin: 0 auto;
}

.pega-bridge__details.wp-block-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(16px, 3vw, 22px);
	margin: 0;
}

.pega-bridge__details > .wp-block-column {
	margin: 0;
	display: flex;
}

.pega-bridge__detail > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

@media (min-width: 600px) {
	.pega-bridge__pillars.wp-block-columns {
		grid-template-columns: repeat(3, 1fr);
		align-items: stretch;
	}

	.pega-bridge__pillar {
		min-height: 380px;
	}

	.pega-bridge__pillar-body {
		min-height: 112px;
	}

	.pega-bridge__details.wp-block-columns {
		grid-template-columns: repeat(3, 1fr);
		align-items: stretch;
	}
}

@media (min-width: 960px) {
	.pega-bridge__pillar {
		min-height: 380px;
	}
}

/* =========================================================
   在宅型就労移行支援サービス紹介（主役セクション）
   ========================================================= */
/* 装飾は Code Snippets「pega-sec-homeworker」(③/優先度10) へ移行。以下は構造（幅・grid/flex・@media骨格・inner余白）のみ。 */
.pega-homeworker > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-homeworker__intro {
	padding: clamp(48px, 8vw, 72px) clamp(20px, 4vw, 40px) clamp(32px, 5vw, 48px);
}

.pega-homeworker__intro > .wp-block-group__inner-container {
	max-width: 960px;
	margin: 0 auto;
}

.pega-homeworker__highlight > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-homeworker__hero.wp-block-columns {
	display: flex;
	flex-direction: column;
	gap: clamp(24px, 4vw, 36px);
	margin: 0;
}

.pega-homeworker__hero > .wp-block-column {
	margin: 0;
}

.pega-homeworker__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: center center;
}

.pega-homeworker__strengths > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-homeworker__strength > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-homeworker__videos > .wp-block-group__inner-container {
	max-width: 960px;
	margin: 0 auto;
}

.pega-homeworker__video-featured > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-homeworker__video-featured .wp-block-embed,
.pega-homeworker__video-card .wp-block-embed {
	margin: 0;
}

.pega-homeworker__video-grid.wp-block-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(16px, 3vw, 22px);
	margin: 0;
}

.pega-homeworker__video-grid > .wp-block-column {
	margin: 0;
}

.pega-homeworker__video-card > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-homeworker__cta-wrap {
	padding: clamp(36px, 6vw, 56px) clamp(20px, 4vw, 40px) clamp(56px, 9vw, 80px);
	text-align: center;
}

.pega-homeworker__cta-wrap > .wp-block-group__inner-container {
	max-width: 720px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}

.pega-homeworker__cta.swell-block-button {
	margin: 0;
}

@media (min-width: 768px) {
	.pega-homeworker__hero.wp-block-columns {
		flex-direction: row;
		align-items: stretch;
	}

	.pega-homeworker__hero > .wp-block-column {
		flex: 1;
	}

	.pega-homeworker__strengths > .wp-block-group__inner-container {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.pega-homeworker__video-grid.wp-block-columns {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 960px) {
	.pega-homeworker__hero > .wp-block-column:first-child {
		flex: 0 1 46%;
	}

	.pega-homeworker__hero > .wp-block-column:last-child {
		flex: 0 1 54%;
	}
}
/* =========================================================
   ペガサスが選ばれている理由
   ========================================================= */
/* 装飾は Code Snippets「pega-sec-reasons」(③/優先度10) へ移行。以下は構造（幅・grid/flex・@media骨格・inner余白）のみ。 */
.pega-reasons > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-reasons__intro {
	padding: clamp(48px, 8vw, 72px) clamp(20px, 4vw, 40px) clamp(28px, 5vw, 40px);
}

.pega-reasons__intro > .wp-block-group__inner-container {
	max-width: 760px;
	margin: 0 auto;
}

.pega-reasons__main-wrap {
	padding: 0 clamp(20px, 4vw, 40px) clamp(28px, 5vw, 40px);
}

.pega-reasons__main-wrap > .wp-block-group__inner-container {
	max-width: 960px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 3vw, 22px);
}

.pega-reasons__featured {
	margin: 0;
	padding: 0;
}

.pega-reasons__featured > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-reasons__sub.wp-block-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(16px, 3vw, 22px);
	margin: 0;
}

.pega-reasons__sub > .wp-block-column {
	margin: 0;
	display: flex;
	min-width: 0;
}

.pega-reasons__card > .wp-block-group__inner-container {
	max-width: none !important;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
	min-width: 0;
}

.pega-reasons__card--featured > .wp-block-group__inner-container {
	display: block;
}

.pega-reasons__card-split.wp-block-columns {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
}

.pega-reasons__card-split > .wp-block-column {
	margin: 0;
	display: flex;
	flex-direction: column;
}

.pega-reasons__card-img {
	margin: 0 !important;
	overflow: hidden;
	flex: 0 0 auto;
}

.pega-reasons__card-img img {
	display: block;
	width: 100%;
	height: clamp(180px, 42vw, 220px);
	object-fit: cover;
	object-position: center center;
}

.pega-reasons__card--featured .pega-reasons__card-img img {
	height: clamp(200px, 48vw, 240px);
}

.pega-reasons__card-body,
.pega-reasons__card-body > .wp-block-group__inner-container {
	flex: 1 1 auto;
	width: 100%;
	max-width: none !important;
	min-width: 0;
	padding: clamp(18px, 3vw, 24px) clamp(18px, 3.2vw, 22px) clamp(22px, 3.5vw, 26px);
	box-sizing: border-box;
}

.pega-reasons__card-body > .wp-block-group__inner-container {
	padding: 0;
	margin: 0;
}

.pega-reasons__extras-wrap {
	padding: clamp(8px, 2vw, 16px) clamp(20px, 4vw, 40px) clamp(48px, 8vw, 72px);
}

.pega-reasons__extras-wrap > .wp-block-group__inner-container {
	max-width: 960px;
	margin: 0 auto;
}

.pega-reasons__extras.wp-block-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(14px, 2.5vw, 20px);
	margin: 0;
}

.pega-reasons__extras > .wp-block-column {
	margin: 0;
	display: flex;
}

.pega-reasons__extra > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

@media (min-width: 600px) {
	.pega-reasons__sub.wp-block-columns {
		grid-template-columns: repeat(2, 1fr);
		align-items: stretch;
	}
}

@media (min-width: 960px) {
	.pega-reasons__extras.wp-block-columns {
		grid-template-columns: repeat(2, 1fr);
		align-items: stretch;
	}
}

.pega-reasons__card--featured .pega-reasons__card-img {
	width: 100%;
}

/* 768〜959px：理由①は画像を全幅表示（横並びにしない） */
@media (min-width: 768px) and (max-width: 959px) {
	.pega-reasons__card-split.wp-block-columns {
		flex-direction: column;
		align-items: stretch;
	}

	.pega-reasons__card-split > .wp-block-column:first-child,
	.pega-reasons__card-split > .wp-block-column:last-child {
		flex: 1 1 auto;
		max-width: none;
		width: 100%;
	}

	.pega-reasons__card--featured .pega-reasons__card-img {
		width: 100%;
		height: auto;
		min-height: 0;
	}

	.pega-reasons__card--featured .pega-reasons__card-img img {
		width: 100%;
		height: clamp(220px, 42vw, 300px);
		min-height: 0;
		object-fit: cover;
	}
}

@media (min-width: 960px) {
	.pega-reasons__card-split.wp-block-columns {
		flex-direction: row;
		align-items: stretch;
	}

	.pega-reasons__card-split > .wp-block-column:first-child {
		flex: 0 0 46%;
		max-width: 46%;
		display: flex;
	}

	.pega-reasons__card-split > .wp-block-column:last-child {
		flex: 1 1 54%;
	}

	.pega-reasons__card--featured .pega-reasons__card-img {
		flex: 1 1 auto;
		height: 100%;
		min-height: 260px;
	}

	.pega-reasons__card--featured .pega-reasons__card-img img {
		width: 100%;
		height: 100%;
		min-height: 260px;
		object-fit: cover;
	}

	.pega-reasons__card--featured .pega-reasons__card-body,
	.pega-reasons__card--featured .pega-reasons__card-body > .wp-block-group__inner-container {
		padding: clamp(24px, 3.5vw, 32px) clamp(24px, 3.5vw, 32px) clamp(24px, 3.5vw, 32px) clamp(20px, 3vw, 28px);
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}
/* =========================================================
   通所案内バナー（控えめサブ動線）
   ========================================================= */
/* 装飾（背景・枠・影・色・フォント・hover 等）は Code Snippets「pega-sec-commute」(③装飾レイヤー) へ移行。
   以下は構造（grid/flex骨格・幅・@media・inner-container余白）のみを子テーマに残す。 */

.pega-commute > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-commute__wrap {
	padding: clamp(28px, 5vw, 40px) clamp(20px, 4vw, 40px) clamp(40px, 7vw, 56px);
}

.pega-commute__wrap > .wp-block-group__inner-container {
	max-width: 960px;
	margin: 0 auto;
}

.pega-commute__banner > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-commute__inner.wp-block-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(16px, 3vw, 20px);
	margin: 0;
}

.pega-commute__inner > .wp-block-column {
	margin: 0;
	min-width: 0;
}

.pega-commute__thumb {
	margin: 0 !important;
	width: clamp(64px, 12vw, 80px);
	flex-shrink: 0;
}

.pega-commute__body,
.pega-commute__body > .wp-block-group__inner-container {
	padding: 0;
	margin: 0;
}

.pega-commute__body > .wp-block-group__inner-container {
	max-width: none;
}

.pega-commute__action,
.pega-commute__action > .wp-block-group__inner-container {
	padding: 0;
	margin: 0;
}

.pega-commute__action > .wp-block-group__inner-container {
	max-width: none;
	display: flex;
	justify-content: flex-start;
}

.pega-commute__cta.swell-block-button {
	margin: 0;
}

@media (min-width: 640px) {
	.pega-commute__inner.wp-block-columns {
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		gap: clamp(16px, 2.5vw, 24px);
	}

	.pega-commute__action > .wp-block-group__inner-container {
		justify-content: flex-end;
	}
}

@media (max-width: 639px) {
	.pega-commute__inner.wp-block-columns {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
	}

	.pega-commute__inner > .wp-block-column:last-child {
		grid-column: 1 / -1;
	}
}

/* =========================================================
   利用者・卒業生の声
   ========================================================= */
/* 装飾は Code Snippets「pega-sec-voices」(③/優先度10) へ移行。以下は構造（幅・grid/flex・@media骨格・inner余白）のみ。 */
.pega-voices > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-voices__intro {
	padding: clamp(48px, 8vw, 72px) clamp(20px, 4vw, 40px) clamp(24px, 4vw, 32px);
}

.pega-voices__intro > .wp-block-group__inner-container {
	max-width: 760px;
	margin: 0 auto;
}

.pega-voices__policy-img {
	margin: clamp(20px, 4vw, 28px) auto 0;
	max-width: 570px;
	text-align: center;
}

.pega-voices__wrap {
	padding: 0 clamp(20px, 4vw, 40px) clamp(48px, 8vw, 72px);
}

.pega-voices__wrap > .wp-block-group__inner-container {
	max-width: 960px;
	margin: 0 auto;
}

.pega-voices__cards {
	margin: 0 0 clamp(8px, 2vw, 12px);
	padding: 0;
}

.pega-voices__cards > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(14px, 2.5vw, 18px);
}

.pega-voices__cards--grad > .wp-block-group__inner-container {
	max-width: 720px;
	margin: 0 auto;
}

.pega-voices__card > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-voices__quote::before,
.pega-voices__quote::after {
	content: none !important;
	display: none !important;
}

.pega-voices__quote cite {
	display: none;
}

.pega-voices__cta-wrap {
	margin-top: clamp(32px, 5vw, 44px);
	padding: 0;
	text-align: center;
}

.pega-voices__cta-wrap > .wp-block-group__inner-container {
	max-width: 720px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(12px, 2vw, 16px);
}

.pega-voices__cta.swell-block-button {
	margin: 0;
}

@media (min-width: 640px) {
	.pega-voices__cards--user > .wp-block-group__inner-container {
		grid-template-columns: repeat(3, 1fr);
		align-items: stretch;
	}

	.pega-voices__cards--grad > .wp-block-group__inner-container {
		grid-template-columns: repeat(2, 1fr);
		align-items: stretch;
	}
}
/* =========================================================
   コラム・ブログ（動的 Query Loop）
   ========================================================= */
/* 装飾は Code Snippets「pega-sec-posts」(③/優先度10) へ移行。以下は構造（幅・grid/flex・@media骨格・inner余白）のみ。 */
.pega-posts > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-posts__intro {
	padding: clamp(48px, 8vw, 72px) clamp(20px, 4vw, 40px) clamp(24px, 4vw, 32px);
}

.pega-posts__intro > .wp-block-group__inner-container {
	max-width: 760px;
	margin: 0 auto;
}

.pega-posts__wrap {
	/* 中身1100統一: 横paddingは inner-container(section-px) が担うため 0（旧40pxを解除）。縦は維持 */
	padding: 0 0 clamp(28px, 4vw, 40px);
}

.pega-posts__wrap > .wp-block-group__inner-container {
	max-width: none;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: clamp(36px, 6vw, 48px);
}

.pega-posts__block {
	margin: 0;
	padding: 0;
}

.pega-posts__block > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-posts-query {
	margin: 0;
}

.pega-posts-query__list.wp-block-post-template {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(14px, 2.5vw, 18px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.pega-posts-query__list > .wp-block-post {
	margin: 0;
	min-width: 0;
}

.pega-posts-card > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.pega-posts-card__thumb {
	margin: 0 !important;
	overflow: hidden;
}

.pega-posts-card__thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.pega-posts__more {
	margin: clamp(16px, 3vw, 20px) 0 0;
	padding: 0;
	text-align: right;
}

.pega-posts__more > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

@media (min-width: 640px) {
	.pega-posts-query__list.wp-block-post-template {
		grid-template-columns: repeat(3, 1fr);
		align-items: stretch;
	}
}
/* =========================================================
   CTA（まとめ）— ページ最下部
   ========================================================= */
/* 装飾は Code Snippets「pega-sec-closing」(③/優先度10) へ移行。以下は構造（幅・grid/flex・@media骨格・inner余白）のみ。 */
.pega-closing > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-closing__wrap {
	padding: clamp(28px, 4vw, 40px) clamp(20px, 4vw, 40px) clamp(20px, 3vw, 28px);
}

.pega-closing__wrap > .wp-block-group__inner-container {
	max-width: 760px;
	margin: 0 auto;
}

.pega-closing__panel > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
	margin: 0;
}

.pega-closing__actions,
.pega-closing__actions > .wp-block-group__inner-container {
	margin: 0;
	padding: 0;
}

.pega-closing__actions > .wp-block-group__inner-container {
	max-width: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(14px, 2.5vw, 18px);
}

.pega-closing__btn.swell-block-button {
	margin: 0;
	width: 100%;
	max-width: 480px;
}

.pega-closing__sub.wp-block-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(12px, 2.5vw, 14px);
	width: 100%;
	max-width: 480px;
	margin: 0;
}

.pega-closing__sub > .wp-block-column {
	margin: 0;
	min-width: 0;
}

.pega-closing__sub .pega-closing__btn.swell-block-button {
	max-width: none;
}

@media (min-width: 640px) {
	.pega-closing__sub.wp-block-columns {
		grid-template-columns: repeat(2, 1fr);
		max-width: 560px;
	}
}
/* =========================================================
   トップ：CTA（まとめ）→ フッター接続
   ========================================================= */
.home .pega-closing {
	margin-bottom: 0 !important;
}

.home .l-mainContent__inner > .pega-closing,
.home .post_content > .pega-closing {
	margin-bottom: 0 !important;
}

.home .pega-closing__wrap {
	padding-bottom: clamp(12px, 2vw, 16px);
}

.home #content,
.home #main_content,
.home .l-mainContent {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.home #breadcrumb,
.home .c-breadcrumb,
.home .p-breadcrumb,
.home .l-breadcrumb,
.home #before_footer_widget {
	display: none !important;
}

.home #footer.l-footer:has(.pega-footer) {
	margin-top: 0 !important;
}

/* =========================================================
   フッター — 通所サブ動線 + サイト情報
   ========================================================= */
/* 装飾（背景・色・枠・角丸・影・フォント・hover 等）は Code Snippets「pega-css-11-footer」(③/優先度23) へ移行。
   以下は構造（レイアウト骨格・グリッド/フレックス・幅・余白・position・@media）のみ。 */
#footer.l-footer:has(.pega-footer) {
	padding: 0;
	margin: 0;
}

#footer.l-footer:has(.pega-footer) .l-footer__inner.pega-footer__inner {
	padding: clamp(48px, 7vw, 64px) 0 clamp(36px, 5vw, 48px);
	margin: 0;
}

/* 通所サブ動線（じょうご型3つ目）— CTA下の帯（構造） */
.pega-footer__commute {
	padding: clamp(28px, 4.5vw, 36px) 0;
}

.pega-footer__commute .l-container {
	max-width: var(--pega-wrap-content);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pega-section-px);
	padding-right: var(--pega-section-px);
}

.pega-footer__commute-inner {
	display: grid;
	gap: clamp(14px, 2.5vw, 18px);
	align-items: center;
}

.pega-footer__commute-title {
	margin: 0 0 8px;
}

.pega-footer__commute-text {
	margin: 0;
}

/* 通所帯アイコン(Vector.png): 文言の左に自然配置・小さめ固定 */
.pega-footer__commute-body {
	display: flex;
	align-items: center;
	gap: clamp(10px, 2vw, 14px);
}

.pega-footer__commute-icon {
	flex: 0 0 auto;
	display: inline-flex;
	width: clamp(32px, 6vw, 44px);
}

.pega-footer__commute-icon img {
	display: block;
	width: 100%;
	height: auto;
}

.pega-footer__commute-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
}

.pega-footer__commute-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 22px;
}

@media (min-width: 768px) {
	.pega-footer__commute-inner {
		grid-template-columns: 1fr auto;
		gap: 24px 32px;
	}

	.pega-footer__commute-links {
		justify-self: end;
		flex-wrap: nowrap;
	}
}

/* SP(縦積み時)は通所バー全体を中央揃え。CTA「アクセス」の左寄りを解消し、
   FVのCTA(SP中央)と統一。PC(min-width:768px)の配置は不変。 */
@media (max-width: 767.98px) {
	.pega-footer__commute-title,
	.pega-footer__commute-text {
		text-align: center;
	}

	.pega-footer__commute-body {
		justify-content: center;
	}

	.pega-footer__commute-links {
		justify-content: center;
	}
}

.pega-footer__inner > .l-container {
	padding-left: clamp(20px, 4vw, 40px);
	padding-right: clamp(20px, 4vw, 40px);
}

.pega-footer__grid {
	display: grid;
	gap: clamp(28px, 4vw, 36px);
}

.pega-footer__logo-row,
.pega-footer__brand,
.pega-footer__nav-group {
	margin: 0;
	padding: 0;
	min-width: 0;
}

.pega-footer__logo-row {
	grid-column: 1 / -1;
}

.pega-footer__brand {
	max-width: none;
}

.pega-footer__logo {
	margin: 0;
	line-height: 1;
}

.pega-footer__logo .c-headLogo {
	margin: 0;
}

.pega-footer__logo .c-headLogo__link {
	display: inline-flex;
	align-items: center;
	padding: 0;
}

.pega-footer__logo .c-headLogo__img {
	display: block;
	max-height: 52px;
	width: auto;
	max-width: min(260px, 100%);
	object-fit: contain;
}

.pega-footer__office {
	margin: 0;
}

.pega-footer__office-name {
	margin: 0 0 12px;
	padding: 0 0 10px;
}

.pega-footer__office-line {
	margin: 0;
}

.pega-footer__office-corp {
	font-weight: 700;
}

/* ナビ16件 + お役立ち注記 */
.pega-footer__nav {
	display: grid;
	gap: clamp(24px, 4vw, 32px);
	grid-template-columns: 1fr;
	margin: 0;
	padding: 0;
}

.pega-footer__nav-heading {
	margin: 0 0 12px;
	padding: 0 0 10px;
}

.pega-footer__nav-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pega-footer__nav-list li + li {
	margin-top: 8px;
}

.pega-footer__nav-list a {
	display: inline-block;
}

.pega-footer__nav-note {
	margin: 4px 0 0;
	font-size: 12px;
	line-height: 1.55;
}

@media (min-width: 560px) {
	.pega-footer__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 960px) {
	.pega-footer__grid {
		grid-template-columns: minmax(220px, 260px) repeat(4, minmax(0, 1fr));
		gap: 28px 24px 24px;
		align-items: start;
	}

	.pega-footer__logo-row {
		margin-bottom: 4px;
	}

	.pega-footer__nav {
		display: contents;
	}

	.pega-footer__nav-group {
		align-self: start;
	}
}

/* SNS・コピーライト（構造） */
.pega-footer__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	margin-top: clamp(32px, 5vw, 44px);
	padding-top: clamp(24px, 4vw, 28px);
}

.pega-footer__sns-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.pega-footer__sns {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.pega-footer__sns-icon {
	flex-shrink: 0;
}

.pega-footer__copyright {
	margin: 0;
}

@media (min-width: 768px) {
	.pega-footer__meta {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* =========================================================
   スクロール追従CTA（トップ・ヒーロー後〜フッター前）
   ========================================================= */
/* 装飾（背景・枠・角丸・影・色・フォント・hover 等）は Code Snippets「pega-css-12-sticky-cta」(③/優先度24) へ移行。
   以下は構造のみ＝position/z-index・表示制御(opacity/visibility/transform/transition/pointer-events)・
   .is-visible・レイアウト・@media・prefers-reduced-motion。
   ※表示/非表示の動作に関わるため、装飾スニペットをオフにしても表示制御は保持される。 */
.pega-sticky-cta {
	position: fixed;
	z-index: 90;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s;
	pointer-events: none;
}

.pega-sticky-cta.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.pega-sticky-cta__close {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 28px;
	height: 28px;
	padding: 0;
	cursor: pointer;
}

.pega-sticky-cta__inner {
	display: flex;
	gap: 8px;
}

.pega-sticky-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 14px;
}

.pega-sticky-cta__btn--primary {
	flex: 1.15;
}

.pega-sticky-cta__btn--download {
	flex: 1;
}

.pega-sticky-cta__btn--tel {
	flex: 1;
}

/* 既定: PC用を表示・SP用を隠す（min-width:1024 で上書き確定） */
.pega-sticky-cta__pc {
	display: flex;
}
.pega-sticky-cta__sp {
	display: none;
}

/* SP(≤1023): 下部固定バー・時間連動の単一ボタンのみ */
@media (max-width: 1023px) {
	.pega-sticky-cta {
		left: 0;
		right: 0;
		bottom: 0;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
	}

	.pega-sticky-cta__pc {
		display: none;
	}

	.pega-sticky-cta__sp {
		display: flex;
		max-width: 520px;
		margin: 0 auto;
		padding-right: 24px;
	}

	.pega-sticky-cta__sp .pega-sticky-cta__btn {
		flex: 1 1 auto;
		width: 100%;
	}

	.pega-sticky-cta__close {
		top: 4px;
		right: 4px;
	}

	.pega-has-sticky-cta {
		padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));
	}
}

/* PC(≥1024): 右下フローティング・縦積み（39dd0b9 検収時と同一骨格）。時間内3段 / 時間外2段 */
@media (min-width: 1024px) {
	.pega-sticky-cta {
		right: calc(28px + (100vw - 100%));
		bottom: clamp(28px, 3.5vw, 40px);
		left: auto;
		width: auto;
		min-width: 240px;
		max-width: 280px;
		padding: 28px 16px 14px;
	}

	.pega-sticky-cta__pc {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.pega-sticky-cta__sp {
		display: none;
	}

	.pega-sticky-cta__pc .pega-sticky-cta__btn {
		width: 100%;
		min-height: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pega-sticky-cta {
		transition: opacity 0.15s ease, visibility 0.15s ease;
		transform: none;
	}

	.pega-sticky-cta.is-visible {
		transform: none;
	}
}

/* =========================================================
   横断調整（UNIFIED REFINEMENT + LAYOUT FIXES）は Code Snippets の
   pega-global-layout(③/優先度30) と pega-global-deco(③/優先度31) へ移行。
   幅統一・余白・constrained上書き・カード枠/影/左線・タイトル装飾リセット等は
   そちらで最終上書き（section スニペットより後に読込）。
   ========================================================= */

/* =========================================================
   ペガサス全幅テンプレート（page-pega-fullwidth.php）— 構造のみ
   post_content を使わず .pega-canvas で包む（SWELL 余白強制回避）
   ========================================================= */
.page-template-page-pega-fullwidth #body_wrap {
	overflow-x: hidden;
}

.page-template-page-pega-fullwidth #content.l-content.l-container {
	max-width: none;
	width: 100%;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
}

.page-template-page-pega-fullwidth .pega-fullwidth-main {
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
}

.page-template-page-pega-fullwidth .pega-canvas {
	width: 100%;
	max-width: none;
}

/* alignfull breakout は .pega-canvas 直下のみ（ネスト要素は Code Snippets でリセット） */
.page-template-page-pega-fullwidth .pega-canvas > .wp-block-group.alignfull,
.page-template-page-pega-fullwidth .pega-canvas > .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
