@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
*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&family=Outfit:wght@400;500;600;700&display=swap');


/* サイト全体のベースフォント（Figma: Zen Maru Gothic） */
body,
.post_content,
.post_content p,
.post_content li,
.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6,
.l-header,
.l-footer,
#gnav,
.c-gnav,
.wp-block-button__link {
	font-family: "Zen Maru Gothic", sans-serif !important;
}


/* =====================================
TOPページ セクション背景画像
===================================== */
.sec-hero {
	position: relative;
	background-image: url("/wp-content/uploads/2026/07/top-bg-cta.svg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

.sec-problem {
	background: linear-gradient(180deg, #EEF5FB 0%, rgba(255, 255, 255, 0) 100%) !important;
	padding-top: 120px !important;
	padding-bottom: 130px !important;
}
@media (max-width: 959px) {
	.sec-problem {
		padding-top: 70px !important;
		padding-bottom: 70px !important;
	}
}

.sec-solution {
	position: relative;
	background: none;
	padding-top: 0;
	padding-bottom: 88px;
}

.sec-service {
	background-image: linear-gradient(180deg, #EEF5FB 0%, rgba(255, 255, 255, 0) 100%);
	background-repeat: no-repeat;
	background-size: 100% 160px;
	background-position: top;
	padding-top: 120px;
	padding-bottom: 88px;
}

.sec-about {
	position: relative;
	padding-top: 88px;
	padding-bottom: 88px;
	padding-left: 25px;
	padding-right: 25px;
}

@media (max-width: 600px) {
	.sec-about {
		padding-left: 20px;
		padding-right: 20px;
	}
}

.sec-voices {
	background: linear-gradient(180deg, #EEF5FB 0%, rgba(255, 255, 255, 0) 100%);
}
@media (max-width: 959px) {
	.sec-voices {
		padding-top: 70px !important;
		padding-bottom: 70px !important;
	}
}

.sec-cta {
	background-image: url("/wp-content/uploads/2026/07/Group-115-scaled.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}


/* =====================================
ヒーローセクション（Figma実測値）
===================================== */
.sec-hero__row {
	align-items: center;
}

.sec-hero__row > .wp-block-column:first-child {
	flex: 1 1 0%;
	min-width: 0;
}

.sec-hero__row > .wp-block-column:last-child {
	flex: 0 1 clamp(280px, 45vw, 620px);
	min-width: 0;
}

.post_content .sec-hero__title {
	font-size: clamp(1.5rem, 1rem + 1.6vw, 2.75rem) !important;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #4B5763;
}

.sec-hero__lead {
	font-size: clamp(0.9375rem, 0.625rem + 0.45vw, 1.125rem);
	font-weight: 700;
	line-height: 1.8;
	color: #4B5763;
}

.sec-hero .wp-block-buttons .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 240px !important;
	max-width: 240px;
	box-sizing: border-box;
	padding: 20px 40px;
	border-radius: 999px;
	background: linear-gradient(90deg, #8FCBF0 0%, #2F96D6 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	color: #fff;
	font-weight: 700;
	box-shadow: 0 8px 16px rgba(47, 150, 214, 0.3);
	transition: background-position 0.35s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.sec-hero .wp-block-buttons .wp-block-button__link:hover {
	background-position: 100% 0%;
	box-shadow: 0 10px 20px rgba(47, 150, 214, 0.45);
	transform: translateY(-2px);
	color: #fff;
}

.sec-hero .wp-block-buttons .wp-block-button__link::after {
	content: "\2192";
}


/* ヒーロー横のマスコット配置 */
.sec-hero__photo {
	position: relative;
	max-width: 650px;
}

@media (min-width: 960px) {
	.sec-hero__photo {
		width: 100%;
		max-width: none;
	}
}

.sec-hero__mascot {
	position: absolute;
	right: 0;
	bottom: 50px;
	max-width: 412px;
	z-index: 2;
}

.sec-hero__mascot-img img {
	max-width: 25rem;
}

@media (max-width: 959px) {
	.sec-hero__mascot {
		right: 0;
		max-width: min(60vw, 20rem);
	}
}

.sec-hero__mascot-text {
	text-align: center;
	font-weight: bold;
}


/* PROBLEMカードのアイコン */
.sec-problem__icon img {
	max-width: 72px;
	margin: auto 12px;
}


/* SOLUTIONセクションの家イラスト装飾 */
.sec-solution__deco {
	position: absolute;
	bottom: 0;
	max-width: 200px;
	pointer-events: none;
	z-index: 0;
	margin-bottom: 0 !important;
}

@media (max-width: 959px) {
	.sec-solution__deco {
		max-width: min(40vw, 130px);
	}
}

.sec-solution__deco--left {
	left: 0;
}

.sec-solution__deco--right {
	right: 0;
}

/* SOLUTIONセクション右上の鳥あしらい */
.sec-solution__bird {
	position: absolute;
	top: 0;
	right: 60px;
	max-width: 160px;
	pointer-events: none;
	z-index: 0;
}
@media (max-width: 959px) {
	.sec-solution__bird {
		top: -32px;
		right: 8px;
		max-width: 88px;
	}
}
@media (max-width: 959px) {
	.sec-news__birds {
		margin: 1.5rem auto 0;
		max-width: 200px;
	}
}

.sec-label,
.sec-solution__title,
.sec-solution__lead,
.sec-solution__diagram {
	position: relative;
	z-index: 1;
}


/* お知らせセクション上の鳥装飾 */
.sec-news__birds img {
	max-width: 240px;
}


/* CTAセクションのマスコット */
.sec-cta__mascot img {
	max-width: 160px;
	margin-top: 16px;
}


/* VOICESアバター */
.sec-voices__avatar img {
	max-width: 64px;
	border-radius: 50%;
	margin-bottom: 12px;
}


/* ABOUT USセクションのマスコット */
.sec-about__mascot {
	position: absolute;
	right: -24px;
	bottom: -24px;
	z-index: 2;
	margin: 0;
}

/* 画面幅が狭い時は、外側の余白（25px以上）を必ず確保するため、はみ出し量を無くす */
@media (max-width: 1350px) {
	.sec-about__mascot {
		right: 25px;
		bottom: -24px;
	}
}

.sec-about__mascot img {
	max-width: 140px;
	display: block;
}


/* =====================================
ヘッダー（Figma実測値）
===================================== */
.l-header__bar {
	display: none;
}

.l-header__inner {
	padding-top: 18px;
	padding-bottom: 18px;
}

.c-headLogo.-txt .c-headLogo__link {
	font-family: "Zen Maru Gothic", sans-serif;
}

#gnav .c-gnav,
#fix_header .c-gnav {
	gap: 32px;
	align-items: center;
}

#gnav .c-gnav > li.menu-item > a {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 1rem;
	color: #3A4A58;
	transition: color 0.3s ease;
}

/* SWELLデフォルトの下線スイープ（花線）ホバーアニメーションを無効化 */
#gnav .c-gnav a::after,
#fix_header .c-gnav a::after {
	content: none !important;
	display: none !important;
}

/* 代わりにテキストカラーがふわっと切り替わるホバーに変更 */
#gnav .c-gnav > li.menu-item:not(:last-child) > a:hover,
#fix_header .c-gnav > li.menu-item:not(:last-child) > a:hover {
	color: #2F96D6 !important;
	text-decoration: none !important;
}
#gnav .c-gnav > li.menu-item > a,
#fix_header .c-gnav > li.menu-item > a {
	text-decoration: none !important;
}

#gnav .c-gnav > li.menu-item-has-children > a,
#fix_header .c-gnav > li.menu-item-has-children > a {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	white-space: nowrap;
}

#gnav .sub-menu,
#fix_header .sub-menu {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.12);
	padding: 16px 24px;
	min-width: 240px;
	overflow: hidden;
	box-sizing: border-box;
}

#gnav .sub-menu .menu-item,
#fix_header .sub-menu .menu-item {
	position: relative;
}

#gnav .sub-menu .menu-item a,
#fix_header .sub-menu .menu-item a {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 0.9375rem !important;
	color: #3A4A58;
	padding: 8px 28px 8px 0;
	display: block;
	position: relative;
	text-decoration: none !important;
	transition: color 0.3s ease;
}

/* 矢印はテキスト文字ではなくCSS擬似要素の三角形で作成、常時青 */
#gnav .sub-menu .menu-item a::after,
#fix_header .sub-menu .menu-item a::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 4px;
	top: 50%;
	width: 6px !important;
	height: 6px !important;
	border: none !important;
	border-right: 2px solid #2F96D6 !important;
	border-bottom: 2px solid #2F96D6 !important;
	background: none !important;
	left: auto !important;
	transform: translateY(-50%) rotate(-45deg) !important;
	transition: none;
}

#gnav .sub-menu .menu-item a:hover,
#fix_header .sub-menu .menu-item a:hover {
	color: #2F96D6;
	text-decoration: none !important;
}

/* ドロップダウン矢印：SWELLのicomoonアイコンフォント指定(!important)に勝つよう font-family も上書き */
#gnav .sub-menu .menu-item a::before,
#fix_header .sub-menu .menu-item a::before {
	content: none !important;
}

/* ヘッダーCTAボタン（グラデーション）＋ホバーアニメーション */
#gnav .c-gnav > li.menu-item:last-child > a {
	display: inline-flex;
	align-items: center;
	padding: 14px 24px;
	border-radius: 999px;
	background: linear-gradient(90deg, #8FCBF0 0%, #2F96D6 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	color: #fff !important;
	box-shadow: 0 8px 16px rgba(47, 150, 214, 0.3);
	transition: background-position 0.35s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

#gnav .c-gnav > li.menu-item:last-child > a:hover {
	background-position: 100% 0%;
	box-shadow: 0 10px 20px rgba(47, 150, 214, 0.45);
	transform: translateY(-2px);
	color: #fff !important;
}


/* =====================================
PROBLEMセクション（Figma実測値）
===================================== */
.post_content .sec-label {
	font-family: "Outfit", sans-serif !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: #2F96D6;
	text-align: center;
	display: block;
	margin-bottom: 8px;
}

.post_content .sec-problem__title {
	background: none;
	color: #4B5763;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(1.5rem, 1rem + 1.1vw, 2.25rem);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	padding: 0;
	border-radius: 0;
	margin-bottom: 16px;
}

.sec-problem__lead {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(0.9375rem, 0.625rem + 0.45vw, 1.125rem);
	font-weight: 500;
	line-height: 1.8;
	color: #4B5763;
}
@media (max-width: 959px) {
	.sec-problem__lead.has-text-align-center {
		text-align: left !important;
	}
}

.sec-problem__card {
	background: #fff;
	border: 1px solid #C7DCEF;
	border-radius: 20px;
	padding: 24px;
	box-shadow: 2px 2px 14px rgba(63, 124, 196, 0.1);
}

.sec-problem__card p {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.6;
	color: #4B5763;
	text-align: center;
	margin-top: 12px;
}

.sec-problem__icon img {
	height: 53px;
	width: auto;
	max-width: none;
	margin: 0 auto 8px;
	display: block;
}

.post_content .sec-problem__title::before,
.post_content .sec-problem__title::after {
	content: none !important;
	border: none !important;
}


/* =====================================
セクション共通：ラベル + 見出し（共通パーツ）
===================================== */
.post_content [class*="sec-"] .sec-label {
	font-family: "Outfit", sans-serif !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: #2F96D6;
	text-align: center;
	display: block;
	margin: 0;
}

.post_content [class*="sec-"] h2.wp-block-heading {
	background: none;
	color: #4B5763;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(1.5rem, 1rem + 1.1vw, 2.25rem);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	padding: 0;
	border-radius: 0;
	margin: 0;
}

.post_content [class*="sec-"] h2.wp-block-heading::before,
.post_content [class*="sec-"] h2.wp-block-heading::after {
	content: none !important;
	border: none !important;
}


/* =====================================
セクション インナー幅（1200px統一）
===================================== */
.post_content .alignfull > .wp-block-group__inner-container {
	max-width: 1250px !important;
	padding-left: 25px !important;
	padding-right: 25px !important;
	box-sizing: border-box !important;
}

@media (max-width: 768px) {
	.post_content .alignfull > .wp-block-group__inner-container {
		max-width: 600px !important;
	}
}

@media (max-width: 600px) {
	.post_content .alignfull > .wp-block-group__inner-container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}


/* =====================================
PROBLEMセクション 追加調整
===================================== */
.sec-problem {
	background: linear-gradient(180deg, #EEF5FB 0%, rgba(255, 255, 255, 0) 100%);
	padding-top: 120px;
	padding-bottom: 130px;
}

.sec-problem__lead {
	margin-top: 48px;
}

.sec-problem__row {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 48px;
	gap: 16px !important;
	align-items: stretch;
}

.sec-problem__row > .wp-block-column {
	display: flex;
	width: 100% !important;
	flex-basis: auto !important;
	margin: 0 !important;
}

.sec-problem__row > .wp-block-column > .sec-problem__card {
	flex: 1;
	width: 100%;
}

@media (max-width: 1200px) {
	.sec-problem__row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 599px) {
	.sec-problem__row { grid-template-columns: 1fr; }
}


/* .post_contentの直下要素に自動でつくmargin-bottomを解除 */
.post_content > * {
	margin-bottom: 0;
}


/* .top #contentのpadding-topを解除し、sec-hero自体に上下paddingを持たせる（背景の開始位置調整のため） */
.top #content {
	padding-top: 0;
}

.wp-block-group.alignfull.sec-hero {
	padding-top: 64px;
	padding-bottom: 160px;
}


/* =====================================
SOLUTIONセクション 追加調整（Figma実測値）
===================================== */
.sec-solution__lead {
	margin-top: 48px;
}

.sec-solution__diagram {
	margin-top: 64px;
	max-width: 981px;
	margin-left: auto;
	margin-right: auto;
}


/* =====================================
SERVICEカード（Figma実測に基づく精緻化）
===================================== */
.sec-service__row {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 48px;
	gap: 24px !important;
	align-items: stretch;
}

@media (max-width: 1200px) {
	.sec-service__row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 599px) {
	.sec-service__row { grid-template-columns: 1fr; }
}

/* 4カラムがぎりぎり収まる中途半端な幅で崩れるため、早めに縦積みに切り替える */
/* gridの列数はブロック上部の@mediaで制御（旧: flex-direction:columnでの全段落ちは廃止） */

.sec-service__row > .wp-block-column {
	display: flex;
	width: 100% !important;
	flex-basis: auto !important;
	margin: 0 !important;
}

.sec-service__row > .wp-block-column > .sec-service__card {
	flex: 1;
	width: 100%;
}

.sec-service__card {
	border: 1px solid #C7DCEF;
	border-radius: 20px;
	box-sizing: border-box;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}



.sec-service__card .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	height: 100%;
	box-sizing: border-box;
	padding: 32px 16px 24px;
}

.sec-service__card:hover {
	/* カード自体のホバーアニメーションは無し（ボタンのみ） */
}

.sec-service__card .wp-block-image {
	order: 2;
	margin: 16px 0;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sec-service__card .wp-block-image img {
	width: 100%;
	max-width: 250px;
	height: auto;
	aspect-ratio: 250 / 150;
	object-fit: contain;
	margin: 0 auto;
	flex-shrink: 0;
}
@media (max-width: 959px) {
	.sec-service__card .wp-block-image img {
		max-width: 120px;
		aspect-ratio: 120 / 80;
	}
	.sec-service__card .wp-block-group__inner-container {
		padding: 20px 16px 20px;
	}
	.sec-service__card .wp-block-image {
		margin: 8px 0;
	}
}

.sec-service__card .sec-service__tag {
	order: 0;
	font-family: "Outfit", sans-serif;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	margin: 0 0 8px;
}

.sec-service__card h3 {
	order: 1;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(1.0625rem, 0.6875rem + 0.5vw, 1.25rem);
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 16px;
	min-height: 60px;
	word-break: keep-all;
	overflow-wrap: normal;
	width: 100%;
}

.sec-service__card p:not(.sec-service__tag) {
	order: 3;
	font-size: 0.875rem;
	line-height: 1.8;
	color: #4B5763;
	text-align: left;
	margin: 0 0 24px;
	width: 100%;
}

.sec-service__card .wp-block-buttons,
.sec-service__card .wp-block-button {
	order: 4;
	margin-top: auto;
	width: 100%;
}

.sec-service__card .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	box-sizing: border-box;
	padding: 14px 24px;
	border-radius: 999px;
	border: 2px solid currentColor;
	background: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.sec-service__card .wp-block-button__link::after {
	content: "\2192";
}

.sec-service__card--facility {
	background: linear-gradient(180deg, #FFFFFF 0%, #EEF5F8 100%);
	border-color: #C7DCEF;
}

.sec-service__card--facility .sec-service__tag,
.sec-service__card--facility h3,
.sec-service__card--facility .wp-block-button__link {
	color: #2F96D6;
}

.sec-service__card--resident {
	background: linear-gradient(180deg, #FFFFFF 0%, #E4F4EE 100%);
	border-color: #C9E9D9;
}

.sec-service__card--resident .sec-service__tag,
.sec-service__card--resident h3,
.sec-service__card--resident .wp-block-button__link {
	color: #4CAF7D;
}

.sec-service__card--family {
	background: linear-gradient(180deg, #FFFFFF 0%, #FDEDEF 100%);
	border-color: #F8D5D9;
}

.sec-service__card--family .sec-service__tag,
.sec-service__card--family h3,
.sec-service__card--family .wp-block-button__link {
	color: #E8829B;
}

.sec-service__card--inheritance {
	background: linear-gradient(180deg, #FFFFFF 0%, #FFEFE2 100%);
	border-color: #F5DCC0;
}

.sec-service__card--inheritance .sec-service__tag,
.sec-service__card--inheritance h3,
.sec-service__card--inheritance .wp-block-button__link {
	color: #E8A23D;
}

.sec-service__card--facility .wp-block-button__link:hover { background: #2F96D6; color: #fff; }

/* SWELL既定の区切り線・装飾を除去 */
.sec-service__card .wp-block-buttons::before,
.sec-service__card .wp-block-buttons::after,
.sec-service__card .wp-block-button::before,
.sec-service__card .wp-block-button::after {
	content: none !important;
	border: none !important;
}

.sec-service__card .wp-block-buttons,
.sec-service__card .wp-block-button {
	border-top: none !important;
	box-shadow: none !important;
}

.sec-service__card--resident .wp-block-button__link:hover { background: #4CAF7D; color: #fff; }
.sec-service__card--family .wp-block-button__link:hover { background: #E8829B; color: #fff; }
.sec-service__card--inheritance .wp-block-button__link:hover { background: #E8A23D; color: #fff; }


/* =====================================
ABOUT USセクション（Figma実測に基づく精緻化）
===================================== */
.post_content .sec-about .wp-block-group__inner-container {
	position: relative;
	border: 1px solid #C7DCEF;
	border-radius: 2rem;
	padding-top: 2rem !important;
	padding-bottom: 2rem !important;
	background-image: url("/wp-content/uploads/2026/07/about_bg.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

@media (min-width: 960px) {
	.post_content .sec-about .wp-block-group__inner-container {
		padding-left: 64px !important;
		padding-right: 32px !important;
	}
}



.sec-about__row.wp-block-columns {
	position: relative;
	z-index: 1;
	align-items: center !important;
	gap: 32px !important;
	margin-bottom: 0 !important;
}

.sec-about__row > .wp-block-column:first-child {
	flex-basis: 40%;
}

.sec-about__row > .wp-block-column:last-child {
	flex-basis: 60%;
	position: relative;
}

.sec-about__row figure img {
	border-radius: 20px;
}

.sec-about .sec-label,
.sec-about h2.wp-block-heading {
	text-align: left;
}

.sec-about h2.wp-block-heading {
	font-size: clamp(1.25rem, 0.75rem + 1.1vw, 2rem);
}

.sec-about .wp-block-buttons .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 16px 32px;
	border-radius: 999px;
	background: linear-gradient(90deg, #8FCBF0 0%, #2F96D6 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	color: #fff;
	font-weight: 700;
	box-shadow: 0 8px 16px rgba(47, 150, 214, 0.3);
	transition: background-position 0.35s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.sec-about .wp-block-buttons .wp-block-button__link:hover {
	background-position: 100% 0%;
	box-shadow: 0 10px 20px rgba(47, 150, 214, 0.45);
	transform: translateY(-2px);
	color: #fff;
}

.sec-about .wp-block-buttons .wp-block-button__link::after {
	content: "\2192";
}


/* SWELLデフォルトのh3見出し装飾（::before）を無効化 */
.post_content h3::before {
	content: none !important;
	border: none !important;
}


/* =====================================
モバイル向けフォントサイズ調整（実機で違和感のないサイズに）
===================================== */
@media (max-width: 600px) {
	.post_content .sec-hero__title {
		font-size: 1.5rem !important;
	}

	.sec-hero__lead {
		font-size: 1rem;
	}

	.post_content [class*="sec-"] h2.wp-block-heading {
		font-size: 1.5rem;
	}

	.sec-about h2.wp-block-heading {
		font-size: 1.375rem;
	}

	.post_content [class*="sec-"] .sec-label {
		font-size: 15px;
	}

	.sec-service__card h3 {
		font-size: 1.0625rem;
		min-height: 0;
	}

	.sec-service__card {
		border-radius: 14px;
	}
}


/* ABOUT US テキスト列：要素間の余白は上に40px */
.sec-about__row > .wp-block-column:first-child > * {
	margin-top: 2.5rem !important;
	margin-bottom: 0 !important;
}

.sec-about__row > .wp-block-column:first-child > *:first-child {
	margin-top: 0 !important;
}

.sec-about__row > .wp-block-column:first-child > .sec-label + h2.wp-block-heading {
	margin-top: 0 !important;
}


/* =====================================
VOICESセクション（Figma実測に基づく精緻化）
===================================== */
.sec-voices {
	padding-top: 7.5rem;
	padding-bottom: 5.5rem;
}

.sec-voices > .wp-block-group__inner-container > p:not(.sec-label) {
	margin-top: 1rem;
	color: #4B5763;
}

.sec-voices__row {
	margin-top: 3rem;
	gap: 2rem !important;
	align-items: stretch;
}

.sec-voices__row > .wp-block-column {
	display: flex;
}

.sec-voices__row > .wp-block-column > .sec-voices__card {
	flex: 1;
	width: 100%;
}

.sec-voices__card {
	background: #fff;
	border-radius: 1.25rem;
	box-sizing: border-box;
	box-shadow: 2px 2px 14px rgba(63, 124, 196, 0.1);
}

.sec-voices__card .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1rem;
	row-gap: 1rem;
	padding: 2rem;
	box-sizing: border-box;
	height: 100%;
	align-content: start;
}

.sec-voices__avatar {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	align-self: center;
}

.sec-voices__avatar img {
	max-width: 7.5rem;
	width: 7.5rem;
	height: 7.5rem;
	border-radius: 50%;
	object-fit: cover;
	margin: 0;
}

.sec-voices__tag {
	grid-column: 2;
	grid-row: 1;
	align-self: center;
	display: inline-flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0;
	font-size: 1rem;
	color: #4B5763;
	flex-direction: column;
}

.sec-voices__cat {
	display: inline-block;
	background: #E7F2FA;
	color: #2F96D6;
	border-radius: 0.375rem;
	padding: 0.25rem 0.625rem;
	font-size: 0.875rem;
}

.sec-voices__card .wp-block-group__inner-container > p:not(.sec-voices__tag):not(.sec-voices__name) {
	grid-column: 1 / -1;
	margin: 0;
	font-size: clamp(0.9375rem, 0.625rem + 0.45vw, 1.125rem);
	line-height: 1.8;
	color: #4B5763;
}

.sec-voices__name {
	grid-column: 1 / -1;
	margin: 0;
	text-align: right;
	font-size: 1rem;
	color: #4B5763;
}

.sec-voices .wp-block-buttons {
	margin-top: 3rem;
}

.sec-voices .wp-block-buttons .wp-block-button__link,
.sec-news .wp-block-buttons .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 2rem;
	border-radius: 999px;
	background: linear-gradient(90deg, #8FCBF0 0%, #2F96D6 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	color: #fff;
	font-weight: 700;
	box-shadow: 0 8px 16px rgba(47, 150, 214, 0.3);
	transition: background-position 0.35s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.sec-voices .wp-block-buttons .wp-block-button__link:hover,
.sec-news .wp-block-buttons .wp-block-button__link:hover {
	background-position: 100% 0%;
	box-shadow: 0 10px 20px rgba(47, 150, 214, 0.45);
	transform: translateY(-2px);
	color: #fff;
}

.sec-voices .wp-block-buttons .wp-block-button__link::after,
.sec-news .wp-block-buttons .wp-block-button__link::after {
	content: "\2192";
}


/* =====================================
NEWSセクション（Figma実測に基づく精緻化）
===================================== */
.sec-news {
	padding-top: 5.5rem;
	padding-bottom: 5.5rem;
}

.sec-news .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: minmax(200px, 280px) 1fr;
	column-gap: 3rem;
	align-items: start;
}

.post_content .sec-news .sec-label {
	grid-column: 1;
	grid-row: 1;
	text-align: left !important;
}

.sec-news h2.wp-block-heading {
	grid-column: 1;
	grid-row: 2;
	text-align: left;
}

.sec-news__birds {
	grid-column: 1;
	grid-row: 3;
	margin: 2rem 0 0;
}

.sec-news__birds img {
	max-width: 15rem;
}

.sec-news__list {
	grid-column: 2;
	grid-row: 1 / 4;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sec-news__list li {
	border-bottom: 1px dashed #D6DEE3 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.sec-news__list a.wp-block-latest-posts__post-title {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	width: 100%;
	box-sizing: border-box;
	padding: 1.5rem 0;
	color: #2B2B2B;
	font-weight: 700;
	text-decoration: none;
}

.sec-news__list a.wp-block-latest-posts__post-title:hover {
	color: #2F96D6;
}

.sec-news__list .wp-block-latest-posts__post-date {
	flex-shrink: 0;
	width: 6rem;
	color: #8A96A3;
	font-size: 0.9375rem;
}

.sec-news__list .wp-block-latest-posts__post-title-text {
	flex: 1;
}


/* =====================================
CTAセクション（Figma実測に基づく精緻化）
===================================== */
.sec-cta {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.sec-cta .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: auto 1fr auto;
	column-gap: 2rem;
	align-items: center;
	max-width: 1250px;
}

.sec-cta__mascot {
	grid-column: 1;
	grid-row: 1 / 3;
	margin: 0;
	align-self: center;
}

.sec-cta__mascot img {
	width: 10.3125rem;
	max-width: 10.3125rem;
	height: auto;
	margin: 0;
	flex-shrink: 0;
}

.sec-cta h2.wp-block-heading {
	grid-column: 2;
	grid-row: 1;
	color: #fff !important;
	text-align: left;
	margin: 0;
}

.sec-cta__tel {
	grid-column: 2;
	grid-row: 2;
	color: #fff;
	text-align: left;
	margin: 0.5rem 0 0;
}

.sec-cta__tel-main {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: clamp(1.25rem, 0.8125rem + 0.95vw, 1.875rem);
	font-weight: 700;
	color: #fff;
}

.sec-cta__tel-time {
	display: inline-block;
	margin-top: 0.375rem;
	font-size: 1rem;
	color: #fff;
}

.sec-cta .wp-block-buttons {
	border-left: 1px dashed rgba(255, 255, 255, 0.6);
	padding-left: 2rem;
}

.sec-cta .wp-block-buttons {
	grid-column: 3;
	grid-row: 1 / 3;
	margin: 0;
}

.sec-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 2rem;
	border-radius: 999px;
	background: #fff;
	color: #2F96D6;
	font-weight: 700;
	box-shadow: 3px 3px 20px rgba(63, 124, 196, 0.2);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.sec-cta .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 3px 6px 24px rgba(63, 124, 196, 0.3);
	color: #2F96D6;
}

.sec-cta .wp-block-button__link::after {
	content: "\2192";
}


/* ===== FOOTER ===== */
.l-footer__widgetArea,
.l-footer .l-container {
	max-width: 1250px;
	margin: 0 auto;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
	box-sizing: border-box;
}
.l-footer__widgetArea {
	padding-top: 3rem;
	padding-bottom: 3rem;
}
.footer-row {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 2rem;
}
.footer-brand {
	display: flex;
	gap: 1rem;
}
.footer-brand__icon {
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.footer-brand__text {
	display: flex;
	flex-direction: column;
	line-height: 1.4;
}
.footer-brand__org {
	font-size: 1rem;
	color: #7A92A8;
}
.footer-brand__name {
	font-size: clamp(1.5rem, 1rem + 0.9vw, 2rem);
	font-weight: 700;
	color: #2B6CB5;
}
.footer-nav {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.footer-nav__row {
	display: flex;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-nav__row a:not(.footer-nav__cta) {
	color: #4B5763;
	font-size: 1rem;
	text-decoration: none;
	transition: color 0.2s ease;
}
.footer-nav__row a:hover {
	color: #2F96D6;
}
.l-footer__foot,
.l-footer__widgetArea {
	color: rgba(58, 74, 87, 0.66);
	font-size: 0.75rem;
}
@media (max-width: 768px) {
	.footer-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.5rem;
	}
	.footer-nav {
		gap: 0.5rem;
	}
	.l-footer__widgetArea,
	.l-footer .l-container {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}
/* フッターリンク：480px以上は2カラムグリッドを維持 */
@media (max-width: 959px) and (min-width: 481px) {
	.footer-nav__row {
		display: flex;
		grid-template-columns: 1fr 1fr;
		column-gap: 2rem;
		row-gap: 0.75rem;
	}
}
/* フッターリンク：480px以下は1カラムに縦積み */
@media (max-width: 480px) {
	.footer-nav__row {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0.75rem;
	}
}


/* SWELLデフォルトの.l-contentの余白を打ち消す */
.l-content {
	margin-bottom: 0 !important;
}


/* ===== ヘッダー修正 ===== */
.l-header__inner {
	height: 100px;
	padding-top: 0;
	padding-bottom: 0;
	align-items: center;
	box-sizing: border-box;
}

/* ロゴにテキスト（一般社団法人／クラシブネ）を追加 */
.c-headLogo__link {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}
.c-headLogo__text {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}
.c-headLogo__org {
	font-size: 0.875rem;
	color: #7A92A8;
	font-weight: 500;
}
.c-headLogo__name {
	font-size: clamp(1.3125rem, 0.875rem + 0.8vw, 1.75rem);
	font-weight: 700;
	color: #2B6CB5;
}

/* ナビ文字サイズ：ボタン以外16px／ボタン14px */
#gnav .c-gnav > li.menu-item > a {
	font-size: 1rem;
}
#gnav .c-gnav > li.menu-item:last-child > a {
	font-size: 0.875rem;
	height: 50px;
	padding-top: 0;
	padding-bottom: 0;
	box-sizing: border-box;
}

/* 事業内容：ホバー時に矢印だけ下向き＆青に、テキストは通常色のまま */
#gnav .c-gnav > li.menu-item-has-children > a::after {
	content: "" !important;
	display: inline-block !important;
	width: 8px !important;
	height: 8px !important;
	border: none !important;
	border-right: 2px solid #2F96D6 !important;
	border-bottom: 2px solid #2F96D6 !important;
	background: none !important;
	position: static !important;
	left: auto !important;
	transform: translateY(4px) rotate(-135deg) !important;
	transition: transform 0.25s ease;
}
#gnav .c-gnav > li.menu-item.menu-item-has-children > a:hover,
#gnav .c-gnav > li.menu-item-has-children.menu-item > a:hover {
	color: #3A4A58 !important;
}
#gnav .c-gnav > li.menu-item-has-children > a:hover::after {
	border-color: #2F96D6 !important;
	transform: rotate(45deg) !important;
}

/* サブメニューの角丸からのはみ出しを防止 */
#gnav .sub-menu {
	overflow: hidden;
}


/* ===== ヘッダー修正 第2弾 ===== */

/* fix_header（追従ヘッダー）にもロゴ・ボタン・ホバーアニメーションを適用 */
#fix_header .l-fixHeader__inner {
	height: 100px;
	align-items: center;
	box-sizing: border-box;
}
#fix_header .c-headLogo__link {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}
#fix_header .c-headLogo__text {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}
#fix_header .c-headLogo__org {
	font-size: 0.875rem;
	color: #7A92A8;
	font-weight: 500;
}
#fix_header .c-headLogo__name {
	font-size: clamp(1.3125rem, 0.875rem + 0.8vw, 1.75rem);
	font-weight: 700;
	color: #2B6CB5;
}

/* ナビ文字サイズ：.ttl自体を直接指定（通常16px／ボタン15px） */
#gnav .c-gnav > li.menu-item > a .ttl,
#fix_header .c-gnav > li.menu-item > a .ttl {
	font-size: 1rem !important;
}
#gnav .c-gnav > li.menu-item:last-child > a .ttl,
#fix_header .c-gnav > li.menu-item:last-child > a .ttl {
	font-size: 0.9375rem !important;
}

/* お問い合わせボタン：ヘッダー中央に来るよう縦中央揃え */
#gnav .c-gnav > li.menu-item:last-child,
#fix_header .c-gnav > li.menu-item:last-child {
	display: flex;
	align-items: center;
	height: auto;
}

/* 事業内容：矢印が折り返さないように */
#gnav .c-gnav > li.menu-item-has-children > a,
#fix_header .c-gnav > li.menu-item-has-children > a {
	white-space: nowrap;
}

/* fix_header 側の事業内容ドロップダウン矢印・ホバー挙動を通常ヘッダーと同じに */
#fix_header .c-gnav > li.menu-item-has-children > a::after {
	content: "" !important;
	display: inline-block !important;
	width: 8px !important;
	height: 8px !important;
	border: none !important;
	border-right: 2px solid #2F96D6 !important;
	border-bottom: 2px solid #2F96D6 !important;
	background: none !important;
	position: static !important;
	left: auto !important;
	transform: translateY(0px) rotate(45deg) !important;
	transition: transform 0.25s ease;
}
#fix_header .c-gnav > li.menu-item.menu-item-has-children > a:hover,
#fix_header .c-gnav > li.menu-item-has-children.menu-item > a:hover {
	color: #3A4A58 !important;
}
#fix_header .c-gnav > li.menu-item-has-children > a:hover::after {
	border-color: #2F96D6 !important;
	transform: translateY(4px) rotate(-135deg) !important;
}
#fix_header .c-gnav > li.menu-item:not(:last-child) > a:hover {
	color: #2F96D6 !important;
}

/* fix_header ボタンも同じスタイル・中央揃え */
#fix_header .c-gnav > li.menu-item:last-child > a {
	display: inline-flex;
	align-items: center;
	padding: 14px 24px;
	border-radius: 999px;
	background: linear-gradient(90deg, #8FCBF0 0%, #2F96D6 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	color: #fff !important;
	box-shadow: 0 8px 16px rgba(47, 150, 214, 0.3);
	transition: background-position 0.35s ease, box-shadow 0.25s ease, transform 0.25s ease;
	height: 50px;
	padding-top: 0;
	padding-bottom: 0;
	box-sizing: border-box;
}
#fix_header .c-gnav > li.menu-item:last-child > a:hover {
	background-position: 100% 0%;
	box-shadow: 0 10px 20px rgba(47, 150, 214, 0.4);
	transform: translateY(-2px);
}


/* fix_headerのテキストリンクのクリック領域をヘッダー高さいっぱいに（#gnavと同様） */
#fix_header .l-fixHeader__gnav,
#fix_header .c-gnav,
#fix_header .c-gnav > li.menu-item {
	height: 100%;
}
#fix_header .c-gnav > li.menu-item > a {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}



/* =====================================================
   アニメーション：ヒーローは読み込み時、以降はスクロールで表示
   （バリエーションのある自然な動きを演出）
===================================================== */

/* --- 共通ユーティリティ（JSでクラス付与） --- */
.anim-fade,
.anim-up,
.anim-down,
.anim-left,
.anim-right,
.anim-zoom {
	opacity: 0;
}
.anim-fade {
	transition: opacity 1s ease-out;
}
.anim-up {
	transform: translateY(28px);
	transition: opacity 0.9s cubic-bezier(0.16, 0.84, 0.44, 1), transform 0.9s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.anim-down {
	transform: translateY(-16px);
	transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.anim-left {
	transform: translateX(-40px);
	transition: opacity 1s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.anim-right {
	transform: translateX(40px);
	transition: opacity 1s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.anim-zoom {
	transform: scale(0.92);
	transition: opacity 0.9s cubic-bezier(0.16, 0.84, 0.44, 1), transform 0.9s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.anim-fade.is-inview,
.anim-up.is-inview,
.anim-down.is-inview,
.anim-left.is-inview,
.anim-right.is-inview,
.anim-zoom.is-inview {
	opacity: 1;
	transform: translate(0, 0) scale(1);
}

/* --- ヒーロー：読み込み時に、静かにふわっと現れる --- */
.sec-hero__title {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 1.6s ease-out, transform 1.6s ease-out;
}
.sec-hero__lead {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 1.5s ease-out, transform 1.5s ease-out;
	transition-delay: 0.2s;
}
.sec-hero .wp-block-buttons {
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 1.4s ease-out, transform 1.4s ease-out;
	transition-delay: 0.35s;
}
/* 右の写真：静かにふわっとフェードインするだけに */
.sec-hero__photo {
	opacity: 0;
	transform: scale(1.02);
	transition: opacity 2.1s ease-in-out, transform 2.1s ease-in-out;
	transition-delay: 0.15s;
}
.sec-hero__mascot {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 1.5s ease-out, transform 1.5s ease-out;
	transition-delay: 0.5s;
}
.is-hero-loaded .sec-hero__title,
.is-hero-loaded .sec-hero__lead,
.is-hero-loaded .sec-hero .wp-block-buttons,
.is-hero-loaded .sec-hero__mascot {
	opacity: 1;
	transform: translateY(0);
}
.is-hero-loaded .sec-hero__photo {
	opacity: 1;
	transform: scale(1);
}

/* --- キャラクター（マスコット）のゆらゆらアイドルモーション --- */
@keyframes swellFloat {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	50% { transform: translateY(-14px) rotate(-3deg); }
}
.sec-hero__mascot img,
.sec-solution__bird img,
.sec-about__mascot img,
.sec-cta__mascot img,
.sec-news__birds img,
.sec-mission__birds img,
.sec-mission-values__mascot img {
	animation: swellFloat 4.5s ease-in-out infinite;
}
.sec-cta__mascot img {
	animation-duration: 5s;
}
.sec-about__mascot img {
	animation-duration: 4s;
	animation-delay: 0.3s;
}

/* --- ヒーロー以降：ラベルは上からふわっと --- */
.post_content [class*="sec-"] .sec-label {
	opacity: 0;
	transform: translateY(-14px);
	transition: opacity 1.25s ease-out, transform 1.25s ease-out;
}
.post_content [class*="sec-"] .sec-label.is-inview {
	opacity: 1;
	transform: translateY(0);
}

/* --- 見出し：下からゆっくり --- */
.post_content [class*="sec-"] h2.wp-block-heading {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.55s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1.55s cubic-bezier(0.16, 0.84, 0.44, 1);
	transition-delay: 0.18.6s;
}
.post_content [class*="sec-"] h2.wp-block-heading.is-inview {
	opacity: 1;
	transform: translateY(0);
}

/* --- 見出し直後のリード文：フェードのみ（動きすぎない） --- */
.post_content [class*="sec-"] h2.wp-block-heading + p {
	opacity: 0;
	transition: opacity 1.7s ease-out;
	transition-delay: 0.49.6s;
}
.post_content [class*="sec-"] h2.wp-block-heading + p.is-inview {
	opacity: 1;
}

/* --- カード／カラム：セクションごとに違う出方でメリハリを --- */
/* PROBLEM：ふわっと拡大しながら */
.sec-problem__row > .wp-block-column {
	opacity: 0;
	transform: scale(0.94) translateY(16px);
	transition: opacity 1.4s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1.4s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.sec-problem__row.is-inview > .wp-block-column {
	opacity: 1;
	transform: scale(1) translateY(0);
}

/* SERVICE：左右交互にスライド */
.sec-service__row > .wp-block-column {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 1.55s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1.55s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.sec-service__row.is-inview > .wp-block-column {
	opacity: 1;
	transform: translateY(0);
}

/* VOICES：左右から交互にスライドイン */
.sec-voices__row > .wp-block-column:nth-child(odd) {
	opacity: 0;
	transform: translateX(-32px);
	transition: opacity 1.55s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1.55s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.sec-voices__row > .wp-block-column:nth-child(even) {
	opacity: 0;
	transform: translateX(32px);
	transition: opacity 1.55s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1.55s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.sec-voices__row.is-inview > .wp-block-column {
	opacity: 1;
	transform: translateX(0);
}

/* スタッガー（各セクション共通） */
.sec-problem__row > .wp-block-column:nth-child(1),
.sec-service__row > .wp-block-column:nth-child(1),
.sec-voices__row > .wp-block-column:nth-child(1) { transition-delay: 0.7.75s; }
.sec-problem__row > .wp-block-column:nth-child(2),
.sec-service__row > .wp-block-column:nth-child(2),
.sec-voices__row > .wp-block-column:nth-child(2) { transition-delay: 0.3.1s; }
.sec-problem__row > .wp-block-column:nth-child(3),
.sec-service__row > .wp-block-column:nth-child(3) { transition-delay: 0.54.25s; }
.sec-problem__row > .wp-block-column:nth-child(4),
.sec-service__row > .wp-block-column:nth-child(4) { transition-delay: 0.7.75s; }

/* --- SOLUTION：吹き出し画像や鳥のあしらいはふわっと拡大 --- */
.sec-solution__deco,
.sec-solution__bird {
	opacity: 0;
	transform: scale(0.85);
	transition: opacity 1.55s ease-out, transform 1.55s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.sec-solution__deco.is-inview,
.sec-solution__bird.is-inview {
	opacity: 1;
	transform: scale(1);
}

/* --- ABOUT US：画像は左から、テキストはフェードで --- */
.sec-about__row > .wp-block-column:first-child {
	opacity: 0;
	transform: translateX(-32px);
	transition: opacity 1.7s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1.7s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.sec-about__row > .wp-block-column:last-child {
	opacity: 0;
	transition: opacity 1.85s ease-out;
	transition-delay: 0.3.1s;
}
.sec-about__row.is-inview > .wp-block-column {
	opacity: 1;
	transform: translateX(0);
}

/* --- NEWS：リストはフェード、鳥は拡大 --- */
.sec-news .wp-block-latest-posts__list {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.55s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1.55s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.sec-news .wp-block-latest-posts__list.is-inview {
	opacity: 1;
	transform: translateY(0);
}
.sec-news__birds {
	opacity: 0;
	transform: scale(0.85);
	transition: opacity 1.7s ease-out, transform 1.7s cubic-bezier(0.16, 0.84, 0.44, 1);
	transition-delay: 0.25s;
}
.sec-news__birds.is-inview {
	opacity: 1;
	transform: scale(1);
}

/* --- CTA：見出し・電話番号・ボタン・マスコットをそれぞれ演出 --- */
.sec-cta h2.wp-block-heading {
	transition-delay: 0.7.75s;
}
.sec-cta__tel {
	opacity: 0;
	transition: opacity 1.55s ease-out;
	transition-delay: 0.4.65s;
}
.sec-cta__tel.is-inview {
	opacity: 1;
}
.sec-cta .wp-block-buttons {
	opacity: 0;
	transform: scale(0.92);
	transition: opacity 1.25s cubic-bezier(0.34, 1.56, 0.64, 1), transform 1.25s cubic-bezier(0.34, 1.56, 0.64, 1);
	transition-delay: 0.69.75s;
}
.sec-cta .wp-block-buttons.is-inview {
	opacity: 1;
	transform: scale(1);
}
.sec-cta__mascot {
	opacity: 0;
	transform: translateX(-24px);
	transition: opacity 1.55s ease-out, transform 1.55s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.sec-cta__mascot.is-inview {
	opacity: 1;
	transform: translateX(0);
}

/* アクセシビリティ：モーション低減設定の場合はアニメーション無効化 */
@media (prefers-reduced-motion: reduce) {
	.anim-fade, .anim-up, .anim-down, .anim-left, .anim-right, .anim-zoom,
	.sec-hero__title, .sec-hero__lead, .sec-hero .wp-block-buttons, .sec-hero__photo, .sec-hero__mascot,
	.post_content [class*="sec-"] .sec-label,
	.post_content [class*="sec-"] h2.wp-block-heading,
	.post_content [class*="sec-"] h2.wp-block-heading + p,
	.sec-problem__row > .wp-block-column,
	.sec-service__row > .wp-block-column,
	.sec-voices__row > .wp-block-column,
	.sec-solution__deco, .sec-solution__bird,
	.sec-about__row > .wp-block-column,
	.sec-news .wp-block-latest-posts__list, .sec-news__birds,
	.sec-cta__tel, .sec-cta .wp-block-buttons, .sec-cta__mascot {
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
		transition: none !important;
	}
	.sec-hero__mascot img, .sec-solution__bird img, .sec-about__mascot img, .sec-cta__mascot img {
		animation: none !important;
	}
}


/* ===================================
SPヘッダー：ロゴ横並び・検索ボタン非表示・ページ内リンク非表示・お問い合わせボタン追加
===================================== */
@media (max-width: 959px) {
	.l-header__spNav {
		display: none !important;
	}
	.c-headLogo.-img .c-headLogo__link {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 0.5rem;
	}
	.c-headLogo.-img .c-headLogo__link img {
		width: auto;
		height: 40px;
		max-width: none;
	}
	.l-header__logo {
		order: 1 !important;
	}
	.l-header__customBtn.sp_ {
		display: flex !important;
		align-items: center;
		order: 2 !important;
		margin-left: auto;
		margin-right: 10px;
	}
	.l-header__menuBtn.sp_ {
		order: 3 !important;
	}
	.l-header__menuBtn.sp_ .c-iconBtn {
		border-radius: 12px;
		transition: background-color 0.2s ease;
	}
	.l-header__menuBtn.sp_ .c-iconBtn:hover {
		background-color: rgba(47, 150, 214, 0.08);
	}
	.l-header__menuBtn.sp_ .c-iconBtn__icon.icon-menu-thin::before {
		content: none !important;
	}
	.l-header__menuBtn.sp_ .c-iconBtn__icon {
		position: relative;
		width: 22px;
		height: 16px;
		display: flex !important;
		flex-direction: column;
		justify-content: space-between;
	}
	.l-header__menuBtn.sp_ .c-hamburgerBar {
		display: block;
		width: 100%;
		height: 2px;
		background: #2F96D6;
		border-radius: 2px;
	}
}

.c-headContactBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 18px;
	border-radius: 999px;
	background: linear-gradient(90deg, #8FCBF0 0%, #2F96D6 100%);
	color: #fff !important;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 0.8125rem;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none !important;
}
.p-spMenu__contactBtnWrap {
	padding: 8px 24px 24px;
}
.c-headContactBtn.-drawer {
	display: flex;
	width: 100%;
	height: 52px;
	font-size: 1rem;
}


/* SP responsive fixes: CTA grid stacking, about mascot position, voices tag stacking */
@media (max-width: 959px) {
	.sec-cta .wp-block-group__inner-container {
		grid-template-columns: 1fr !important;
		max-width: 100% !important;
		row-gap: 1rem;
	}
	.sec-cta__mascot {
		grid-area: auto !important;
		margin: 0 auto 1rem !important;
	}
	.sec-cta h2.wp-block-heading {
		grid-area: auto !important;
		text-align: center !important;
	}
	.sec-cta__tel {
		grid-area: auto !important;
		text-align: center !important;
		margin: 0.5rem 0 1.25rem !important;
	}
	.sec-cta .wp-block-buttons {
		grid-area: auto !important;
		margin: 0 auto !important;
	}
	.sec-about__mascot {
		bottom: -70px !important;
	}
	.sec-voices__tag {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.25rem !important;
	}
}


/* Drawer (SP menu) redesign to match site brand */
@media (max-width: 959px) {
	.p-spMenu .c-widget__title.-spmenu {
		display: none !important;
	}
	.p-spMenu__nav .c-listMenu a::before {
		border-color: #2F96D6 !important;
	}
	.p-spMenu__nav .c-listMenu > .menu-item > a {
		font-size: 15px !important;
		padding: 0.9rem 1.2rem !important;
		color: #333 !important;
		transition: background-color 0.2s ease;
	}
	.c-listMenu .sub-menu > .menu-item > a {
		font-size: 15px !important;
	}
	.c-listMenu .menu-item-has-children > a::before,
	.c-listMenu .menu-item-has-children > span::before {
		display: none !important;
	}
	.c-listMenu .menu-item-has-children > a,
	.c-listMenu .menu-item-has-children > span {
		color: #4B5763 !important;
		font-weight: 500 !important;
		display: block !important;
		padding: 0.9rem 1.2rem !important;
	}
	.p-spMenu__nav .c-listMenu > .menu-item > a:active,
	.p-spMenu__nav .c-listMenu > .menu-item > a:hover {
		background-color: rgba(47, 150, 214, 0.08) !important;
	}
	.p-spMenu__nav .c-listMenu .sub-menu > .menu-item > a {
		background-color: rgba(47, 150, 214, 0.04);
		padding-left: 2rem !important;
	}
	.p-spMenu__nav .c-listMenu > .menu-item {
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}
	.p-spMenu__body {
		background-color: #fff;
	}
}


/* NEWS section SP stacking fix */
@media (max-width: 959px) {
	.sec-news .wp-block-group__inner-container {
		grid-template-columns: 1fr !important;
		max-width: 100% !important;
		row-gap: 0.75rem;
	}
	.sec-news__birds,
	.post_content .sec-news .sec-label,
	.sec-news h2.wp-block-heading,
	.sec-news__list {
		grid-area: auto !important;
		grid-column: auto !important;
		grid-row: auto !important;
	}
	.sec-news__list {
		width: 100% !important;
	}
	.sec-news {
		padding-top: 0 !important;
	}
}


/* SP header height + contact button overflow fix */
@media (max-width: 959px) {
	.l-header__inner {
		height: 70px !important;
	}
	.l-header__customBtn.sp_ {
		width: auto !important;
	}
}


/* NEWS list item SP stacking + title color */
@media (max-width: 959px) {
	.sec-news__list a.wp-block-latest-posts__post-title {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.25rem !important;
	}
}
.sec-news__list .wp-block-latest-posts__post-title {
	color: #4B5763 !important;
}


/* CTA button divider removal + hero title fixed SP font-size */
@media (max-width: 959px) {
	.sec-cta .wp-block-buttons {
		border-left: none !important;
		padding-left: 0 !important;
	}
	.post_content .sec-hero__title {
		font-size: 1.5rem !important;
	}
}


/* Hero section SP padding/button/mascot adjustments */
@media (max-width: 959px) {
	.wp-block-group.alignfull.sec-hero {
		padding-top: 36px !important;
		padding-bottom: 70px !important;
	}
	.sec-hero .wp-block-button__link.wp-element-button {
		padding: 15px 40px !important;
	}
	.sec-hero__row {
		gap: 0 !important;
	}
	.post_content .sec-hero__row .sec-hero__photo {
		margin-top: -30px !important;
	}
	.sec-hero__mascot {
		bottom: 0 !important;
	}
	.sec-hero__mascot .wp-block-group__inner-container {
		transform: translateY(-64px) !important;
	}
}


/* Hero title fixed 28px on SP (root font-size is fluid, so rem alone won't guarantee exact px) */
@media (max-width: 959px) {
	.post_content .sec-hero__title {
		font-size: 24px !important;
	}
}


/* Section h2 headings fixed 24px on SP */
@media (max-width: 959px) {
	.post_content [class*="sec-"] h2.wp-block-heading {
		font-size: 22px !important;
	}
}


/* SOLUTION section SP bottom padding */
@media (max-width: 959px) {
	.sec-solution {
		padding-bottom: 120px !important;
	}
}


/* PC font-size fixes (1440px design comp basis) */
@media (min-width: 960px) {
	.sec-solution__lead,
	.sec-problem__lead,
	.sec-voices__card .wp-block-group__inner-container > p:not(.sec-voices__tag):not(.sec-voices__name) {
		font-size: 18px !important;
	}
	.sec-service__card h3 {
		font-size: 20px !important;
	}
	.sec-service__card p:not(.sec-service__tag),
	.sec-service__card .wp-block-button__link,
	.sec-voices__cat {
		font-size: 16px !important;
	}
}


/* NEWS list: whole row is now a single <a> (post-title wraps date + text), hover animation */
.sec-news__list a.wp-block-latest-posts__post-title:hover {
	color: #2F96D6 !important;
	transform: translateX(4px);
}
.sec-news__list a.wp-block-latest-posts__post-title {
	transition: color 0.25s ease, transform 0.25s ease;
}


/* ==========================================================================
   下層ページ共通パーツ：sec-subhero / sec-subintro / sec-subservice / sec-subother
   ========================================================================== */

/* --- sec-subhero --- */
.sec-subhero {
	position: relative;
	box-sizing: border-box;
	padding: 40px 24px;
	aspect-ratio: 1440 / 400;
	background-color: #FFFFFF;
	background-image: url('/wp-content/uploads/2026/07/lower_bg-scaled.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
}
.sec-subhero__row {
	max-width: 1200px;
	margin: 0 auto 20px;
}
.sec-subhero__row > .wp-block-group__inner-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}
.sec-subhero__titleGroup {
	flex: 1;
	text-align: center;
}
.sec-subhero__breadcrumb {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 24px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding-left: 25px;
}
.sec-subhero__tabsWrap {
	background: #FFFFFF;
	padding: 60px 24px;
}
.sec-subhero .wp-block-group__inner-container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}
.sec-subhero__breadcrumb {
	font-size: 0.875rem;
	color: #7A92A8;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.sec-subhero__breadcrumb a {
	color: #2F96D6;
	text-decoration: none;
}
.sec-subhero__breadcrumb a:hover {
	text-decoration: underline;
}
.sec-subhero__breadcrumb-sep {
	color: #2F96D6;
}
.sec-subhero__breadcrumb-current {
	color: #4B5763;
}
.sec-subhero__label {
	font-family: "Outfit", sans-serif !important;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #2F96D6;
	text-align: center;
	margin-bottom: 8px;
}
.sec-subhero__title {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: min(3.4vw, 48px) !important;
	font-weight: 700;
	color: #3A4A58;
	text-align: center;
	margin-bottom: 0;
}
.sec-subhero__mascot {
	text-align: center;
	margin: 0;
	flex-shrink: 0;
}
.sec-subhero__mascot img {
	max-width: 197px;
	height: auto;
	margin: 0 auto;
}
.sec-subhero__tabs {
	max-width: 1000px;
	margin: 0 auto;
}
.sec-subhero__tabs > .wp-block-group__inner-container {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
}
.sec-subhero__tab {
	margin: 0;
}
.sec-subhero__tab a {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}
.sec-subhero__tab a:hover {
	transform: translateY(-2px);
}
/* デフォルト（非アクティブ・非ホバー）：塗りつぶし */
.sec-subhero__tab.is-facility a { background: #2F96D6; border-color: #2F96D6; color: #fff; }
.sec-subhero__tab.is-resident a { background: #4CAF7D; border-color: #4CAF7D; color: #fff; }
.sec-subhero__tab.is-family a { background: #E8829B; border-color: #E8829B; color: #fff; }
.sec-subhero__tab.is-inheritance a { background: #E8A23D; border-color: #E8A23D; color: #fff; }
/* アクティブ（表示中のページ）：色反転（白抜き） */
.sec-subhero__tab.is-facility.is-active a { background: #fff; border-color: #2F96D6; color: #2F96D6; }
.sec-subhero__tab.is-resident.is-active a { background: #fff; border-color: #4CAF7D; color: #4CAF7D; }
.sec-subhero__tab.is-family.is-active a { background: #fff; border-color: #E8829B; color: #E8829B; }
.sec-subhero__tab.is-inheritance.is-active a { background: #fff; border-color: #E8A23D; color: #E8A23D; }
/* ホバー（非アクティブのみ）：色反転（白抜き） */
.sec-subhero__tab.is-facility:not(.is-active) a:hover { background: #fff; border-color: #2F96D6; color: #2F96D6; }
.sec-subhero__tab.is-resident:not(.is-active) a:hover { background: #fff; border-color: #4CAF7D; color: #4CAF7D; }
.sec-subhero__tab.is-family:not(.is-active) a:hover { background: #fff; border-color: #E8829B; color: #E8829B; }
.sec-subhero__tab.is-inheritance:not(.is-active) a:hover { background: #fff; border-color: #E8A23D; color: #E8A23D; }

/* --- sec-subintro --- */
.sec-subintro {
	padding: 80px 24px;
	background-image: linear-gradient(180deg, #EEF5FB 0%, rgba(255, 255, 255, 0) 100%);
	background-repeat: no-repeat;
	background-size: 100% 160px;
	background-position: top;
}
.sec-subintro .wp-block-group__inner-container {
	max-width: 1200px;
	margin: 0 auto;
}
.sec-subintro__lead {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2;
	color: #4B5763;
	text-align: center;
	max-width: 760px;
	margin: 0 auto 60px;
}
.sec-subintro__circle {
	position: relative;
	width: 100%;
	max-width: 774px;
	aspect-ratio: 774 / 356;
	margin: 0 auto;
}
.sec-subintro__circle > .wp-block-group__inner-container {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: none;
}
.sec-subintro__circleCenter {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40%;
	aspect-ratio: 1 / 1;
	z-index: 0;
}
.sec-subintro__circleCenter img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.sec-subintro__circleItem {
	position: absolute;
	width: 32.3%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #C7DCEF;
	border-radius: 20px;
	padding: 16px 20px;
	box-shadow: 2px 2px 14px rgba(63, 124, 196, 0.1);
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.sec-subintro__circleItem.is-pos-1 { top: 0; left: 0; right: auto; bottom: auto; height: 46.6%; transform: none; }
.sec-subintro__circleItem.is-pos-2 { top: 0; right: 0; left: auto; bottom: auto; height: 46.6%; transform: none; }
.sec-subintro__circleItem.is-pos-3 { bottom: 0; left: 0; right: auto; top: auto; height: 46.6%; transform: none; }
.sec-subintro__circleItem.is-pos-4 { bottom: 0; right: 0; left: auto; top: auto; height: 46.6%; transform: none; }

/* 利用者向けサービスページ：3項目レイアウト用の位置クラス（上中央＋左下＋右下） */
.sec-subintro__circleItem.is-pos-top { top: 0; left: 50%; right: auto; bottom: auto; height: 46.6%; transform: translateX(-50%); }
.sec-subintro__circleItem.is-pos-bl { bottom: 0; left: 0; right: auto; top: auto; height: 46.6%; transform: none; }
.sec-subintro__circleItem.is-pos-br { bottom: 0; right: 0; left: auto; top: auto; height: 46.6%; transform: none; }
/* is-tripleのcircleCenter縮小は廃止。標準の40%サイズ・中央配置に戻し、facility-serviceと同じ重なり方にする */

/* 利用者向けサービスページ：上カードがリングに深く重なりすぎる問題を修正。
   コンテナを縦長にし、リングをやや下寄せにすることで、上カードとは軽く触れる程度、
   下2カードとはこれまで通り軽く重なる形にする */
@media (min-width: 960px) {
	.sec-subintro__circle.is-triple {
		aspect-ratio: 774 / 500;
	}
	.sec-subintro__circle.is-triple .sec-subintro__circleItem.is-pos-top,
	.sec-subintro__circle.is-triple .sec-subintro__circleItem.is-pos-bl,
	.sec-subintro__circle.is-triple .sec-subintro__circleItem.is-pos-br {
		height: 33.2%;
	}
	.sec-subintro__circle.is-triple .sec-subintro__circleCenter {
		top: 61.2%;
	}
}

/* 利用者向けサービスページ：circleCenter/circleItemの不要なmargin-bottomを削除 */
.sec-subintro__circle .wp-block-group__inner-container > .sec-subintro__circleCenter,
.sec-subintro__circle .wp-block-group__inner-container > .sec-subintro__circleItem {
	margin-bottom: 0;
}
.sec-subintro__circleTag {
	display: inline-block;
	font-family: "Outfit", sans-serif !important;
	font-size: 0.75rem;
	font-weight: 600;
	color: #2F96D6;
	letter-spacing: 0.05em;
	margin-bottom: 6px;
	background-color: #EAF4FB;
	border-radius: 999px;
	padding: 4px 12px;
}
.sec-subintro__circleTitle {
	font-size: 1rem;
	font-weight: 700;
	color: #3A4A58;
	margin: 0 0 4px;
}
.sec-subintro__circleText {
	font-size: 0.8125rem;
	color: #7A92A8;
	line-height: 1.6;
	margin: 0;
}

/* --- sec-subservice --- */
.sec-subservice {
	position: relative;
	padding: 80px 24px 120px;
	background: #FFFFFF;
}
.sec-subservice .wp-block-group__inner-container {
	max-width: 1200px;
	margin: 0 auto;
}
.sec-subservice__deco {
	position: absolute;
	bottom: 0;
	max-width: 200px;
	pointer-events: none;
	z-index: 0;
	margin-bottom: 0 !important;
}
.sec-subservice__deco--left {
	left: 0;
}
.sec-subservice__deco--right {
	right: 0;
}
.sec-subservice__catBar {
	margin: 56px 0 24px;
	padding: 8px 32px;
	background: #5EAEE0;
	border-radius: 8px;
	display: flex;
	gap: 20px;
	align-items: center;
}
.sec-subservice__catBar > .wp-block-group__inner-container {
	display: flex;
	align-items: center;
	gap: 16px;
}
.sec-subservice__catBar:first-of-type {
	margin-top: 32px;
}
.sec-subservice__catTag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: "Outfit", sans-serif !important;
	font-size: 13px;
	font-weight: 700;
	color: #5EAEE0;
	background: #fff;
	border-radius: 999px;
	padding: 4px 16px;
	letter-spacing: 0.03em;
	margin-bottom: 0 !important;
	height: fit-content;
}
.sec-subservice__catName {
	font-size: 28px;
	font-weight: 700;
	color: #fff;
	margin: 0;
}
.sec-subservice__row {
	gap: 1.6vw !important;
	margin-bottom: 8px;
}
.sec-subservice__card {
	border-radius: 20px;
	border: 1px solid #C7DCEF !important;
	box-shadow: 2px 2px 14px rgba(63, 124, 196, 0.08) !important;
	background-color: #EAF4FB !important;
	height: 100%;
	box-sizing: border-box;
}
.sec-subservice__cardTitle {
	font-size: 20px;
	font-weight: 700;
	color: #3A4A58;
	text-align: center;
	margin: 0 0 16px;
	position: relative;
	padding-bottom: 10px;
}
.sec-subservice__cardTitle::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 30px;
	height: 2px;
	background: #5EAEE0;
}
.sec-subservice__cardText {
	font-size: 16px;
	line-height: 1.7;
	color: #4B5763;
	text-align: left;
	margin: 0;
}

/* --- sec-subother --- */
.sec-subother {
	position: relative;
	padding: 80px 0 100px;
	background-image: linear-gradient(180deg, #EEF5FB 0%, rgba(255, 255, 255, 0) 100%);
	background-repeat: no-repeat;
	background-size: 100% 160px;
	background-position: top;
}
.sec-subother .wp-block-group__inner-container {
	max-width: 1200px;
	margin: 0 auto;
}
.sec-subother__row {
	gap: clamp(10px, 2vw, 24px) !important;
	margin-top: 48px;
}
.sec-subother__card {
	width: 100%;
}
.sec-subother__card .wp-block-button__link {
	display: flex;
	align-items: center;
	gap: clamp(8px, 1.5vw, 16px);
	width: 100%;
	box-sizing: border-box;
	text-align: left;
	padding: clamp(12px, 2vw, 24px);
	border-radius: 20px;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sec-subother__icon {
	flex-shrink: 0;
	width: clamp(48px, 7vw, 90px);
	height: auto;
}
.sec-subother__text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.sec-subother__tag {
	font-family: "Outfit", sans-serif;
	font-size: clamp(11px, 1.1vw, 12px);
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.3;
}
.sec-subother__title {
	font-size: clamp(16px, 1.6vw, 20px);
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}
.sec-subother__arrow {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1.33px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.sec-subother__arrow::after {
	content: "\2192";
	font-size: 16px;
}
.sec-subother__card.is-facility .wp-block-button__link {
	background: linear-gradient(180deg, #FFFFFF 0%, #EAF4FB 100%);
	border: 1px solid #C7DCEF;
	color: #2F96D6;
}
.sec-subother__card.is-facility .sec-subother__arrow {
	background: #2F96D6;
}
.sec-subother__card.is-resident .wp-block-button__link {
	background: linear-gradient(180deg, #FFFFFF 0%, #E4F4EE 100%);
	border: 1px solid #C9E9D9;
	color: #4CAF7D;
}
.sec-subother__card.is-resident .sec-subother__arrow {
	background: #4CAF7D;
}
.sec-subother__card.is-family .wp-block-button__link {
	background: linear-gradient(180deg, #FFFFFF 0%, #FDEDEF 100%);
	border: 1px solid #F8D5D9;
	color: #E8829B;
}
.sec-subother__card.is-family .sec-subother__arrow {
	background: #E8829B;
}
.sec-subother__card.is-inheritance .wp-block-button__link {
	background: linear-gradient(180deg, #FFFFFF 0%, #FFEFE2 100%);
	border: 1px solid #F5DCC0;
	color: #E8A23D;
}
.sec-subother__card.is-inheritance .sec-subother__arrow {
	background: #E8A23D;
}
.sec-subother__card .wp-block-button__link:hover {
	transform: translateY(-4px);
	box-shadow: 2px 6px 16px rgba(63, 124, 196, 0.15);
}

/* --- SP (max-width: 959px) --- */
@media (max-width: 959px) {
	.sec-subhero {
		padding: 28px 20px;
		background-image: url('/wp-content/uploads/2026/07/lower_bg_sp.png');
		background-position: top center;
	}
	.sec-subhero__row {
		margin-bottom: 16px;
	}
	.sec-subhero__row > .wp-block-group__inner-container {
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}
	.sec-subhero__titleGroup {
		width: 100%;
	}
	.sec-subhero__label {
		text-align: center;
	}
	.sec-subhero__breadcrumb {
		position: static;
		font-size: 13px;
		white-space: nowrap;
		margin-top: 20px;
	}
	.sec-subhero__title {
		font-size: 24px !important;
		margin-bottom: 12px;
		text-align: center;
	}
	.sec-subhero__mascot img {
		max-width: 110px;
	}
	.sec-subhero__tabsWrap {
		padding: 16px 20px;
	}
	.sec-subhero__tabs > .wp-block-group__inner-container {
		flex-direction: column;
		align-items: center;
		gap: 8px;
	}
	.sec-subhero__tab {
		width: 100%;
	}
	.sec-subhero__tab a {
		display: block;
		width: 100%;
		max-width: 320px;
		margin: 0 auto;
		text-align: center;
		padding: 8px 16px;
		font-size: 15px;
	}

	.sec-subintro {
		padding: 48px 0;
	}
	.sec-subintro__lead {
		font-size: 15px;
		line-height: 1.9;
		margin-bottom: 40px;
	}
	.sec-subintro__circle {
		width: 100%;
		max-width: none;
		aspect-ratio: auto;
		height: auto;
	}
	.sec-subintro__circle .wp-block-group__inner-container {
		display: flex;
		flex-direction: column;
		gap: 16px;
		position: static;
	}
	.sec-subintro__circleCenter {
		position: static;
		transform: none;
		width: 100%;
		margin: 0 auto 4px;
	}
	.sec-subintro__circleItem {
		position: static;
		transform: none !important;
		width: 100%;
		height: auto !important;
	}

	.sec-subservice {
		padding: 48px 0 100px;
	}
	.sec-subservice__catBar {
		margin: 40px 0 20px;
	}
	.sec-subservice__catName {
		font-size: 20px;
	}
	.sec-subservice__row {
		flex-direction: column;
	}
	.sec-subservice__card {
		width: 100%;
	}

	.sec-subother {
		padding: 48px 0 60px;
	}
	.sec-subother__row {
		flex-direction: column;
	}
}


/* 下層ページ（sec-subhero使用ページ）：サイドバー非表示・全幅化・パンくず非表示 */
body:has(.sec-subhero) .l-sidebar {
	display: none !important;
}
body:has(.sec-subhero) .l-mainContent {
	width: 100% !important;
	max-width: none !important;
	flex: 1 1 100% !important;
}
body:has(.sec-subhero) .l-content.l-container {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
}
body:has(.sec-subhero) .p-breadcrumb {
	display: none !important;
}
body:has(.sec-subhero) main.l-mainContent .alignfull {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	left: auto !important;
	right: auto !important;
}


/* 下層ページ：フロントページ専用のスクロール出現アニメーションJSが動かないため、
   opacity:0の初期状態のまま固定表示されてしまう要素を強制的に表示する */
body:has(.sec-subhero) .sec-label,
body:has(.sec-subhero) h2.wp-block-heading {
	opacity: 1 !important;
	transform: none !important;
}


/* c-pageTitle（テーマ標準の見出し）は下層ページの独自メインビューと重複するため非表示 */
body:has(.sec-subhero) .c-pageTitle {
	display: none !important;
}
/* post_contentの左右paddingを外し、各セクション側でインナー幅・余白を管理する */
body:has(.sec-subhero) .l-mainContent__inner > .post_content {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wp-block-group {
	--swl-box_padding: 24px;
}
@media (min-width: 960px) {
	.wp-block-group {
		--swl-box_padding: 1.6vw 1vw;
	}
}


/* --- 下層ページ：コンテンツのスクロールアニメーション（下層ページ全般で使い回す想定） --- */
body:has(.sec-subhero) .anim-up,
body:has(.sec-subhero) .anim-fade {
	will-change: opacity, transform;
}


/* --- サブヒーロー: 実機スマホ幅のみ縦長比率を採用（タブレット幅で縦に伸びすぎるのを防止） --- */
@media (max-width: 530px) {
	.sec-subhero {
		aspect-ratio: auto;
		/* SP専用背景画像は別途用意予定。それまではPCと同じcover背景(no-repeat)を使用 */
	}
}
@media (min-width: 531px) and (max-width: 959px) {
	.sec-subhero {
		aspect-ratio: auto;
	}
}

/* --- 下層ページ SP追加調整（ヒーロー高さ・catBar・タイトル・タブ2カラム・circle図） --- */
@media (max-width: 959px) {
	.sec-subhero:has(.sec-subhero__tabs) {
		padding: 0;
		aspect-ratio: auto;
	}
	.sec-subservice__catBar {
		padding: 8px 10px;
	}
	.sec-subhero__title {
		font-size: 22px !important;
		white-space: nowrap;
	}
	.sec-subhero__tabs > .wp-block-group__inner-container {
		gap: 10px;
	}
	.sec-subhero__tab {
		width: 100%;
	}
	.sec-subhero__tab a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		padding: 8px 4px;
		font-size: 15px;
		white-space: nowrap;
	}
	.post_content .sec-subhero__tabsWrap > .wp-block-group__inner-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.sec-subintro__circleTitle {
		font-size: 18px;
	}
	.sec-subintro__circleText {
		font-size: 15px;
	}
	.sec-subintro__circleTag {
		font-size: 13px;
	}
	.sec-subintro__circleItem {
		justify-content: flex-start;
	}
	.sec-subhero__tabsWrap {
		padding: 48px 10px;
	}
	.sec-subhero__tabs > .wp-block-group__inner-container {
		gap: 8px;
	}
	.sec-subhero__tab {
		width: 100%;
	}
	.sec-subintro__circle > .wp-block-group__inner-container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		row-gap: calc(min(45vw, 200px) - 40px);
		column-gap: 12px;
		position: relative;
	}
	.sec-subintro__circleCenter {
		position: absolute;
		left: 50%;
		transform: translate(-50%, -50%);
		width: min(45vw, 200px);
		aspect-ratio: 1 / 1;
		margin: 0;
		z-index: 2;
	}
	.sec-subintro__circleCenter img {
		margin-bottom: 0 !important;
	}
	.sec-subintro__circleItem {
		margin-bottom: 0 !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
	.sec-subintro__circleItem.is-pos-1,
	.sec-subintro__circleItem.is-pos-2 {
		padding-bottom: 48px !important;
	}
	.sec-subintro__circleItem.is-pos-3,
	.sec-subintro__circleItem.is-pos-4 {
		padding-top: 36px !important;
	}
	/* 利用者向けサービスページ：3項目レイアウト（上1つ＋下2つ）のSPグリッド配置 */
	.sec-subintro__circleItem.is-pos-top {
		grid-column: 1 / 3;
		padding-bottom: 48px !important;
		width: calc(50% - 6px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.sec-subintro__circle.is-triple .sec-subintro__circleCenter {
		top: 52%;
	}
	.sec-subintro__circle.is-triple.is-inherit-family .sec-subintro__circleCenter {
		top: 49%;
	}
	.sec-subintro__circle.is-triple > .wp-block-group__inner-container {
		row-gap: 8rem;
	}
	.sec-subintro__circleItem.is-pos-bl,
	.sec-subintro__circleItem.is-pos-br {
		padding-top: 50px !important;
	}
	.sec-subintro__circleItem {
		position: static !important;
		transform: none !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		width: 100% !important;
		height: auto !important;
	}
}


/* --- 下層ページ SP：縦のび感の軽減（余白調整、フォントは維持） --- */
@media (max-width: 959px) {
	.sec-subservice__catBar {
		margin: 32px 0 16px !important;
	}
	.sec-subservice__row {
		gap: 16px !important;
	}
	.sec-subservice__card {
		padding: 15px 15px;
	}
	.sec-subservice__cardTitle {
		margin: 0 0 12px !important;
		font-size: 18px !important;
	}
	.sec-subintro__lead {
		margin-bottom: 24px !important;
	}
	.sec-subservice__cardText {
		font-size: 15px !important;
	}
	.sec-subother__row {
		margin-top: 36px !important;
	}
}


/* --- フッター：ヘッダー階層に合わせた再構成（事業内容は非リンクの親、CTAボタン化） --- */
.footer-nav__row {
	flex-wrap: wrap;
}
.footer-nav__parent {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.footer-nav__label {
	color: #4B5763 !important;
	font-size: 1rem;
	font-weight: 500;
}
.footer-nav__children {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	padding-left: 1rem;
}
.footer-nav__children a {
	color: #4B5763;
	font-size: 1rem;
	text-decoration: none;
	transition: color 0.2s;
}
.footer-nav__children a:hover {
	color: #2F96D6;
}
.footer-nav__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	background: linear-gradient(90deg, #8FCBF0 0%, #2F96D6 100%);
	color: #fff !important;
	font-size: 1rem;
	font-weight: 700;
	padding: 16px 44px;
	border-radius: 999px;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.footer-nav__cta:hover {
	transform: translateY(-4px);
	box-shadow: 2px 8px 20px rgba(63, 124, 196, 0.3);
}
@media (max-width: 768px) {
	.footer-nav__children {
		gap: 0.5rem 1rem;
	}
	.footer-nav__cta {
		align-self: flex-start;
		padding: 14px 36px;
	}
}


/* --- SP全体：文字サイズ最低ライン適用（本文8+見出し+ボタン8+） */
@media (max-width: 959px) {
	.sec-label { font-size: 15px !important; }
	.sec-hero__lead { font-size: 15px !important; }
	.sec-service { padding-top: 60px !important; padding-bottom: 48px !important; }
	.sec-problem__lead { font-size: 15px !important; }
	.sec-problem__card .wp-block-paragraph { font-size: 15px !important; }
	.sec-service__card .wp-block-paragraph.sec-service__tag { font-size: 15px !important; }
	.sec-service__card .wp-block-heading { font-size: 18px !important; }
	.sec-service__card .wp-block-paragraph { font-size: 15px !important; }
	.sec-service__card .wp-block-button__link { font-size: 15px !important; }
	.sec-voices__cat { font-size: 15px !important; }
	.sec-voices__tag { font-size: 15px !important; }
	.sec-voices__card .wp-block-paragraph { font-size: 15px !important; }
	.sec-voices__name { font-size: 15px !important; }
	.sec-news__list .wp-block-latest-posts__post-date { font-size: 15px !important; width: auto !important; }
	.sec-cta__tel-time { font-size: 15px !important; }

	#gnav .c-gnav > li.menu-item > a .ttl,
	#fix_header .c-gnav > li.menu-item > a .ttl,
	#gnav .c-gnav > li.menu-item:last-child > a .ttl,
	#fix_header .c-gnav > li.menu-item:last-child > a .ttl {
		font-size: 15px !important;
	}
	.c-headContactBtn { font-size: 15px !important; }
	.c-headLogo__org { font-size: 15px !important; }
	.c-catchphrase { font-size: 15px !important; }

	.footer-nav__row > li > a,
	.footer-nav__children a {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		padding: 6px 2px;
		font-size: 16px !important;
	}
	.footer-nav__row > li > a::after,
	.footer-nav__children a::after {
		content: "›";
		color: #2F96D6;
		line-height: 1;
	}
	.footer-nav__children a { font-size: 16px !important; }
	.footer-nav__label {
		display: inline-block;
		padding: 6px 2px;
		font-size: 16px !important;
	}
	.footer-nav__row > li > a.footer-nav__cta {
		padding: 16px 32px !important;
		gap: 0;
	}
	.footer-nav__cta { font-size: 16px !important; }
	.footer-brand__org { font-size: 15px !important; }
	.copyright { font-size: 15px !important; }
}


/* --- ドロワー：お問い合わせボタンをナビリンクの最下部に移動（flex orderで並び替え） --- */
@media (max-width: 959px) {
	.p-spMenu__body {
		display: flex;
		flex-direction: column;
	}
	.p-spMenu__contactBtnWrap {
		order: 3;
		margin-top: 24px;
	}
	.c-widget__title.-spmenu {
		order: 1;
	}
	.p-spMenu__nav {
		order: 2;
	}
}


/* --- sec-about: 1カラム目の初期スライドイン transform(-32px) が is-inview 後も
   リセットされず左に4px程度はみ出していたバグを修正（指定を強化） --- */
.sec-about__row.is-inview > .wp-block-column:first-child {
	transform: none !important;
}


/* --- sec-subservice__deco: SPのみ40vwに（PCは元のpx指定のまま） --- */
@media (max-width: 959px) {
	.sec-subservice__deco {
		max-width: min(40vw, 130px) !important;
	}
}


/* --- フッターナビ PC：2カラム配置＋リンク判別の矢印（スクショ構成に合わせる） --- */
@media (min-width: 960px) {
	.footer-nav__row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 3rem;
		row-gap: 0.75rem;
	}
	.footer-nav__row > li:nth-child(1) { grid-column: 1; grid-row: 1; }
	.footer-nav__row > li:nth-child(2) { grid-column: 1; grid-row: 2; }
	.footer-nav__row > li:nth-child(3) { grid-column: 2; grid-row: 1; }
	.footer-nav__row > li:nth-child(4) { grid-column: 2; grid-row: 2; }
	.footer-nav__row > li:nth-child(5) { grid-column: 2; grid-row: 3; }
	.footer-nav__row > li > a,
	.footer-nav__children a {
		display: inline-flex;
		align-items: center;
		gap: 4px;
	}
	.footer-nav__row > li > a::after,
	.footer-nav__children a::after {
		content: "\203A";
		color: #2F96D6;
		line-height: 1;
	}
	.footer-nav__cta {
		align-self: start;
	}
}


/* =====================================================
   ABOUTページ ミッションセクション (Figma node 250-1536)
===================================================== */
.sec-mission {
	position: relative;
	background: #fff;
	padding-top: 88px;
	padding-bottom: 88px;
}

.sec-mission > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
	max-width: 1250px;
	padding-left: 25px;
	padding-right: 25px;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}

.sec-mission__row {
	display: flex;
	align-items: flex-start;
	gap: 5rem;
}

.sec-mission__heading {
	flex: 0 0 auto;
	max-width: 24rem;
}

.sec-mission__heading h2 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(1.375rem, 1.05rem + 1.4vw, 1.875rem) !important;
	line-height: 1.4;
	letter-spacing: 0.05em;
	color: #2F96D6 !important;
	margin: 0;
	background: none;
}

.sec-mission__body {
	flex: 1 1 32rem;
	max-width: 32rem;
}

.sec-mission__body p {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(0.9375rem, 0.85rem + 0.45vw, 1.125rem);
	line-height: 1.8;
	color: #4B5763;
	margin: 0 0 1.5rem;
}
.sec-mission__body p:last-child {
	margin-bottom: 0;
}

.sec-mission__birds {
	position: absolute;
	left: 25px;
	bottom: 24px;
	max-width: 178px;
	pointer-events: none;
	z-index: 0;
}

@media (max-width: 959px) {
	.sec-mission {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.sec-mission__row {
		flex-direction: column;
		gap: 1.5rem;
	}
	.sec-mission__heading,
	.sec-mission__body {
		max-width: 100%;
		flex: 0 0 auto;
	}
	.post_content .sec-mission .sec-mission__heading h2.wp-block-heading {
		font-size: 24px !important;
	}
	.sec-mission__body p {
		font-size: 16px !important;
	}
	.sec-mission__birds {
		max-width: min(35vw, 300px);
		left: 20px;
		bottom: -40%;
	}
}


/* =====================================================
   ABOUTページ SERVICEセクション「私たちが届けるもの」 (Figma node 99-5414)
===================================================== */
.sec-about-service {
	position: relative;
	background: #fff;
	padding-top: 88px;
	padding-bottom: 88px;
	overflow: hidden;
}

.sec-about-service__lead {
	max-width: 847px;
	margin: 24px auto 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-size: clamp(0.9375rem, 0.86rem + 0.3vw, 1.125rem);
	line-height: 1.8;
	color: #4B5763;
	text-align: center;
}

.sec-about-service__row {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: start;
	gap: 32px;
	max-width: 1200px;
	margin: 48px auto 0;
}

.sec-about-service__card {
	width: 100%;
}

@media (max-width: 959px) {
	.sec-about-service__row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 599px) {
	.sec-about-service__row { grid-template-columns: repeat(2, 1fr); gap: 20px; }
	.sec-about-service__circle { max-width: 150px; }
}

.sec-about-service__circle {
	position: relative;
	width: 100%;
	max-width: 276px;
	aspect-ratio: 1 / 1;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #fff;
	box-sizing: border-box;
	border: 2px solid transparent;
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: visible;
	padding-top: 17%;
}
.sec-about-service__card--blue .sec-about-service__circle {
	background-image: linear-gradient(180deg, #FFFFFF 0%, #EEF5F8 100%);
	border-color: #CEDDEA;
}
.sec-about-service__card--green .sec-about-service__circle {
	background-image: linear-gradient(180deg, #FFFFFF 0%, #E4F4EE 100%);
	border-color: #CDEADF;
}
.sec-about-service__card--pink .sec-about-service__circle {
	background-image: linear-gradient(180deg, #FFFFFF 0%, #FDEDEF 100%);
	border-color: #F8D5D9;
}
.sec-about-service__card--orange .sec-about-service__circle {
	background-image: linear-gradient(180deg, #FFFFFF 0%, #FFEFE2 100%);
	border-color: #FADAC2;
}

.sec-about-service__tag {
	display: inline-block;
	padding: 0.5rem 1rem;
	border-radius: 999px;
	color: #fff;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(0.9375rem, 0.86rem + 0.25vw, 1.125rem);
	line-height: 1.4;
	letter-spacing: 0.05em;
	white-space: nowrap;
}
.sec-about-service__card--blue .sec-about-service__tag { background-color: #5EAEE0; }
.sec-about-service__card--green .sec-about-service__tag { background-color: #70C4A3; }
.sec-about-service__card--pink .sec-about-service__tag { background-color: #EEA0A9; }
.sec-about-service__card--orange .sec-about-service__tag { background-color: #F5AE72; }

.sec-about-service__card-title {
	margin: 0.5rem 0 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.25rem);
	line-height: 1.4;
	color: #4B5763;
	text-align: center;
}

.sec-about-service__icon {
	margin-top: auto;
	object-fit: contain;
	object-position: center bottom;
}
/* Figmaデザインの実寸に合わせ、画像ごとに個別サイズを指定（円からはみ出てOK） */
.sec-about-service__card--blue .sec-about-service__icon {
	width: 55.4%;
	height: 51.4%;
}
.sec-about-service__card--green .sec-about-service__icon {
	width: 58.3%;
	height: 43.5%;
}
.sec-about-service__card--pink .sec-about-service__icon {
	width: 64.9%;
	height: 43.5%;
}
.sec-about-service__card--orange .sec-about-service__icon {
	width: 63.8%;
	height: 43.5%;
}

.sec-about-service__deco {
	position: absolute;
	bottom: 0;
	pointer-events: none;
	z-index: 0;
	margin: 0 !important;
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
}
.sec-about-service__deco--left {
	left: 120px;
	width: 136px;
	height: 109.5px;
	background-image: url(/wp-content/uploads/2026/07/レイヤー-1-1.png);
}
.sec-about-service__deco--right {
	right: 120px;
	width: 124px;
	height: 118px;
	background-image: url(/wp-content/uploads/2026/07/背景2-1.png);
}

@media (max-width: 959px) {
	.sec-about-service {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.sec-about-service__row {
		margin-top: 32px;
	}
	.sec-about-service__card {
		width: 100%;
		max-width: 280px;
		margin: 0 auto;
	}
	.sec-about-service__deco--left { left: 10px; width: 90px; height: 72px; }
	.sec-about-service__deco--right { right: 10px; width: 82px; height: 78px; }
}


/* =====================================================
   ABOUTページ ミッション・私たちの役割セクション (Figma node 250-1591)
===================================================== */
.sec-mission-values {
	position: relative;
	background-color: #fff;
	background-image: linear-gradient(180deg, #EEF5FB 0%, rgba(255, 255, 255, 0) 100%);
	background-repeat: no-repeat;
	background-size: 100% 160px;
	background-position: top;
	padding-top: 140px;
	padding-bottom: 120px;
	overflow: hidden;
}
.sec-mission-values__deco {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.sec-mission-values__deco img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.sec-mission-values__head {
	text-align: center;
}
.sec-mission-values__headText {
	position: relative;
	z-index: 1;
}
.sec-mission-values__mascot {
	position: absolute;
	right: 0;
	text-align: center;
	z-index: 2;
	top: 175px;
}
.sec-mission-values__mascot img {
	max-width: clamp(190px, 30vw, 420px);
	width: 100%;
	height: auto;
}
.sec-mission-values__mascotName {
	margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-size: clamp(0.8125rem, 0.78rem + 0.15vw, 0.9375rem);
	color: #4B5763;
	white-space: nowrap;
}
.sec-mission-values__pyramid {
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 56px auto 0;
}
.sec-mission-values__triangle {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
}
.sec-mission-values__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 14% 14% 6%;
}
.sec-mission-values__block:first-child { margin-bottom: 48px; }
.sec-mission-values__tag {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	border-radius: 999px;
	color: #fff;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(0.9375rem, 0.86rem + 0.25vw, 1.0625rem);
	letter-spacing: 0.05em;
	white-space: nowrap;
}
.sec-mission-values__tag--mission { background: #6FBE9C; }
.sec-mission-values__tag--role { background: #E8879A; }
.sec-mission-values__heading {
	margin: 1rem 0 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
	line-height: 1.6;
	color: #33475A;
}
.sec-mission-values__text {
	margin: 0.75rem 0 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-size: clamp(0.9375rem, 0.87rem + 0.2vw, 1rem);
	line-height: 1.9;
	color: #4B5763;
}
.sec-mission-values__text--role {
	font-weight: 700;
	font-size: clamp(1rem, 0.94rem + 0.25vw, 1.125rem);
	line-height: 1.8;
}

@media (max-width: 959px) {
	.sec-mission-values { padding-top: 60px; padding-bottom: 60px; }
	.sec-mission-values__mascotName { margin-top: 8px; }
	.sec-mission-values__content { padding: 42% 20px 6%; }
	.sec-mission-values__pyramid {
		max-width: 100%;
		margin-top: 45px;
	}
	.sec-mission-values__deco { display: none; }
	.sec-mission-values__block:first-child { margin-bottom: 48px; }
	.sec-mission-values__heading { font-size: 20px; margin-top: 1.25rem; }
	.sec-mission-values__text { font-size: 16px; line-height: 1.8; text-align: left; margin-top: 1rem; }
	.sec-mission-values__tag { font-size: 15px; }
}

/* =====================================================
   ABOUTページ 代表挨拶セクション (Figma node 250-1591)
===================================================== */
.sec-message {
	position: relative;
	background: #fff;
	padding-top: 88px;
	padding-bottom: 140px;
	overflow: hidden;
}
.sec-message__deco {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 36%;
	z-index: 0;
	pointer-events: none;
}
.sec-message__deco img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.sec-message__title {
	margin-top: 0.75rem !important;
	text-align: center;
}
.sec-message__row {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.113fr) minmax(0, 1fr);
	column-gap: clamp(32px, 6vw, 80px);
	align-items: center;
}
.sec-message__titleWrap {
	grid-column: 1;
	grid-row: 1;
}
.sec-message__body {
	grid-column: 1;
	grid-row: 2;
}
.sec-message__sign {
	grid-column: 1;
	grid-row: 3;
}
.sec-message__body {
	margin-top: 1.5rem;
}
.sec-message__body p {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-size: clamp(0.9375rem, 0.86rem + 0.2vw, 1rem);
	line-height: 2;
	color: #4B5763;
	margin: 0;
}
.sec-message__sign {
	margin-top: 1.5rem;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(0.9375rem, 0.86rem + 0.2vw, 1rem);
	line-height: 1.8;
	color: #4B5763;
	text-align: right;
}
.sec-message__sign strong {
	font-size: 20px;
}
.sec-message__photo {
	grid-column: 2;
	grid-row: 1 / span 3;
	min-width: 0;
	max-width: 530px;
}
.sec-message__photo img {
	width: 100%;
	height: auto;
	display: block;
}
.sec-message__houseDeco {
	position: absolute;
	bottom: 0;
	max-width: 200px;
	pointer-events: none;
	z-index: 0;
	margin-bottom: 0 !important;
}
.sec-message__houseDeco--left { left: 0; }
.sec-message__houseDeco--right { right: 0; }
.sec-message__houseDeco img { width: 100%; height: auto; display: block; margin: 0; }

@media (max-width: 959px) {
	.sec-message { padding-top: 60px; padding-bottom: 90px; }
	.sec-message__row { display: flex; flex-direction: column; gap: 32px; }
	.sec-message__photo { width: 280px; max-width: 70%; margin: 0 auto; }
	.sec-message__deco { width: 100%; top: 0; bottom: auto; height: clamp(160px, 45vw, 320px); }
	.sec-message .sec-label, .sec-message__title, .sec-message__sign { text-align: center; }
	.sec-message__body { text-align: left; }
	.sec-message__sign { margin-top: -16px; }
	.sec-message__houseDeco { max-width: min(40vw, 300px); }
	.sec-message__body p { font-size: 16px; }
	.sec-message__sign { font-size: 15px; }
}


/* ヘッダーロゴサイズ拡大 32x32 -> 56x56 */
.l-fixHeader__logo .c-headLogo__img {
	width: 56px !important;
	height: 56px !important;
}

/* グロナビ sub-menu テキストの改行防止（PCドロップダウンのみ / SPメニューは対象外） */
.c-gnav .sub-menu {
	width: max-content;
	min-width: 240px;
}
.c-gnav .sub-menu .ttl {
	white-space: nowrap;
}


/* フッターロゴをaタグ化した際のレイアウト維持 */
.footer-brand {
	align-items: flex-start;
}
.footer-brand a {
	display: flex;
	align-items: center;
	gap: 1rem;
	width: 100%;
	text-decoration: none;
	color: inherit;
}


/* --- 会社概要 (COMPANY) セクション --- */
.sec-company {
	position: relative;
	background-color: #fff;
	background-image: linear-gradient(180deg, #EEF5FB 0%, rgba(255, 255, 255, 0) 100%);
	background-repeat: no-repeat;
	background-size: 100% 160px;
	background-position: top;
	padding: 100px 0 120px;
}
.sec-company__head {
	text-align: center;
	margin-bottom: 48px;
}
.sec-company .sec-label {
	text-align: center;
}
.sec-company__head h2 {
	margin-top: 8px;
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
	font-weight: 700;
	color: #333;
}
.sec-company__table {
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.sec-company__row {
	display: flex;
	align-items: center;
	background: #EAF4FC;
	border-radius: 12px;
	padding: 20px 32px;
}
.sec-company__row:nth-child(even) {
	background: #F3F9FD;
}
.sec-company__label {
	width: 220px;
	flex-shrink: 0;
	font-weight: 700;
	color: #333;
	text-align: center;
	font-family: "Zen Maru Gothic", sans-serif;
}
.sec-company__value {
	flex: 1;
	color: #4B5763;
	font-family: "Zen Maru Gothic", sans-serif;
}

@media (max-width: 767px) {
	.sec-company {
		padding: 60px 0 60px;
	}
	.sec-company__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		padding: 16px 20px;
	}
	.sec-company__label {
		width: auto;
		text-align: left;
		font-size: 16px;
	}
	.sec-company__value {
		font-size: 16px;
	}
}


/* ==========================================================
   スクロールふわっとアニメーション（.js-fadein）
   ========================================================== */
.js-fadein {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}
.js-fadein.is-inview {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.js-fadein {
		opacity: 1;
		transform: none;
		transition: none;
	}
}


/* ==========================================================
   事例（お客様の声・事例）詳細ページ用コンポーネント
   ========================================================== */
.case-lead {
	font-size: 1rem;
	line-height: 1.9;
	color: #4B5763;
	background: #F3F9FD;
	border-radius: 12px;
	padding: 20px 24px;
	margin: 24px 0 40px;
}

.case-section {
	max-width: 1250px;
	margin: 0 auto;
	padding: 56px 25px;
	box-sizing: border-box;
}
.case-section__title {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 32px !important;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	background: none !important;
	color: #4B5763 !important;
	padding: 0 !important;
	margin-bottom: 40px !important;
}
.case-section__title::before {
	content: none !important;
}
.case-section__title::after {
	content: "";
	flex: 1 1 auto;
	height: 0;
	border-top: 2px dashed #C7DCEF;
}

/* 概要テーブル */
.case-overview {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.case-overview__row {
	display: flex;
	align-items: stretch;
	gap: 2px;
	background: none;
	border-radius: 0;
	padding: 0;
}
.case-overview__label {
	flex-shrink: 0;
	width: 176px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: #5EAEE0;
	color: #fff;
	border-radius: 10px;
	padding: 14px 16px;
	font-weight: 700;
	font-size: 15px;
	font-family: "Zen Maru Gothic", serif;
}
.case-overview__value {
	flex: 1;
	display: flex;
	align-items: center;
	background: #EAF4FB;
	border-radius: 10px;
	padding: 14px 24px;
	color: #4B5763;
	font-size: 15px;
}
.case-overview__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.case-overview__tag {
	display: inline-block;
	padding: 5px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	background: #5EAEE0;
}
.case-overview__tag--green { background: #70C4A3; }
.case-overview__tag--orange { background: #F5AE72; }

/* 支援内容（4カラム） */
.case-flow {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.case-flow__item {
	position: relative;
	background: #fff;
	border: 1px solid #C7DCEF;
	border-radius: 20px;
	padding: 40px 24px 24px;
}
.case-flow__num {
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #5EAEE0;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 16px;
	font-family: "Outfit", sans-serif;
	letter-spacing: 0.05em;
	line-height: 1.2;
}
.case-flow__title {
	font-weight: 700;
	font-size: 20px;
	font-family: "Zen Maru Gothic", serif;
	color: #4B5763;
	margin-bottom: 16px;
	line-height: 1.4;
	text-align: center;
}
.case-flow__text {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	color: #4B5763;
	text-align: left;
}

/* 支援による変化（Afterカード） */
.case-after {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.case-after__card {
	background: #EAF4FB;
	border-radius: 20px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: center;
}
.case-after__label {
	color: #2F96D6;
	font-weight: 600;
	font-size: 16px;
	font-family: "Outfit", sans-serif;
	letter-spacing: 0.05em;
	line-height: 1.2;
}
.case-after__title {
	font-weight: 700;
	font-size: 20px;
	font-family: "Zen Maru Gothic", serif;
	color: #4B5763;
	line-height: 1.4;
}
.case-after__text {
	font-size: 16px;
	line-height: 1.6;
	color: #4B5763;
}

/* 対応の流れ（タイムライン） */
.case-timeline {
	position: relative;
	max-width: 700px;
	margin: 0 auto;
	padding-left: 84px;
}
.case-timeline::before {
	content: "";
	position: absolute;
	left: 29px;
	top: 8px;
	bottom: 30px;
	width: 0;
	border-left: 2px dashed #5EAEE0;
	background: none;
}
.case-timeline__item {
	position: relative;
	margin-bottom: 32px;
}
.case-timeline__item:last-child {
	margin-bottom: 0;
}
.case-timeline__badge {
	position: absolute;
	left: -84px;
	top: 0;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #5EAEE0;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 700;
	font-size: 11px;
	line-height: 1.3;
	font-family: "Outfit", sans-serif;
}
.case-timeline__badge--now {
	background: #fff;
	border: 2px solid #2F96D6;
	color: #2F96D6;
}
.case-timeline__title {
	font-weight: 700;
	font-size: 20px;
	font-family: "Zen Maru Gothic", serif;
	color: #4B5763;
	margin-bottom: 8px;
	padding-top: 10px;
	line-height: 1.4;
}
.case-timeline__text {
	font-size: 16px;
	line-height: 1.6;
	color: #4B5763;
}

/* よくあるご質問（FAQ） */
.case-section .wp-block-details {
	background: #EAF4FB;
	border-radius: 10px;
	padding: 24px;
	margin: 0 0 10px;
}
.case-section .wp-block-details:last-child {
	margin-bottom: 0;
}
.case-section .wp-block-details > summary {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	font-size: 16px;
	font-family: "Zen Maru Gothic", serif;
	color: #4B5763;
	line-height: 1.6;
	cursor: default;
	list-style: none;
}
.case-section .wp-block-details > summary::-webkit-details-marker {
	display: none;
}
.case-section .wp-block-details > summary::marker {
	content: "";
}
.case-section .wp-block-details > summary::before {
	content: "Q";
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #5EAEE0;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 15px;
}
.case-section .wp-block-details > *:not(summary) {
	display: block !important;
}
.case-section .wp-block-details p {
	margin: 16px 0 0;
	padding-left: 42px;
	font-size: 16px;
	line-height: 1.6;
	font-family: "Zen Maru Gothic", serif;
	color: #4B5763;
}

/* お客様からのコメント */
.case-voice {
	display: flex;
	gap: 32px;
	align-items: flex-start;
	background: #fff;
	border: 1px solid #C7DCEF;
	border-radius: 20px;
	padding: 32px;
	max-width: 900px;
	margin: 0 auto;
	box-shadow: 0 4px 16px rgba(75, 87, 99, 0.08);
}
.case-voice__avatar {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	flex-shrink: 0;
	object-fit: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #5EAEE0;
	color: #fff;
	font-weight: 700;
	font-size: 36px;
	font-family: "Zen Maru Gothic", serif;
}
.case-voice__body {
	flex: 1;
}
.case-voice__quote {
	font-size: 16px;
	line-height: 1.8;
	font-family: "Zen Maru Gothic", serif;
	color: #4B5763;
	margin: 0 0 16px;
}
.case-voice__name {
	font-size: 15px;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	color: #4B5763;
	text-align: right;
	margin: 0;
}

/* 関連サービス */
.case-related {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}
.case-related__card {
	background: linear-gradient(135deg, #FFFFFF 0%, #EEF5F8 100%);
	border: 1px solid #D4E7EF;
	border-radius: 20px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.case-related__tag {
	font-size: 12px;
	color: #2F96D6;
	font-weight: 700;
	letter-spacing: 0.05em;
	font-family: "Outfit", sans-serif;
	margin: 0;
}
.case-related__title {
	font-weight: 700;
	font-size: 20px;
	font-family: "Zen Maru Gothic", serif;
	color: #4B5763;
	line-height: 1.4;
	margin: 0;
}
.case-related__desc {
	font-size: 15px;
	color: #4B5763;
	line-height: 1.6;
	margin: 0;
}
.case-related__link {
	margin: 0;
}
.case-related__link a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	color: #2F96D6;
	font-weight: 700;
	background: #fff;
	border: 1px solid #C7DCEF;
	border-radius: 999px;
	padding: 10px 20px;
	text-decoration: none;
}

/* 事例一覧に戻る */
.case-back {
	text-align: center;
	padding: 120px 0 140px;
}
.case-back a {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	color: #4B5763;
	font-weight: 700;
	font-size: 18px;
	font-family: "Zen Maru Gothic", serif;
	letter-spacing: 0.05em;
	line-height: 1.4;
	text-decoration: none;
}
.case-back a::after {
	content: "";
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #2F96D6;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2 8H14M14 8L9 3M14 8L9 13' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
		linear-gradient(135deg, #2F96D6 0%, #8FCBF0 100%);
	background-repeat: no-repeat, no-repeat;
	background-position: center, center;
	background-size: 16px 16px, cover;
}

/* SWELL既定の margin-bottom:1em が事例ページ内の各コンポーネントに効いてしまうのを打ち消す */
.case-section .wp-block-group__inner-container > * {
	margin-bottom: 0;
}
/* 上記リセットでcase-timeline__item同士の余白(32px)も消えてしまうため復元 */
.case-section .case-timeline__item {
	margin-bottom: 32px;
}
.case-section .case-timeline__item:last-child {
	margin-bottom: 0;
}

/* 投稿本文の幅を他ページと同様に1000px基準に統一（従来820px程度だった） */
.single-post .l-mainContent.l-article,
.single-case .l-mainContent.l-article {
	max-width: 1200px;
}
/* post_content自体の左右paddingが.case-sectionのpaddingと二重になり、
   コンテンツが1000pxではなく920pxに縮んでしまうため、post_content側のpaddingは除去する
   （左右の余白は.case-section側のpaddingが他ページのsec-*と同様に担保する） */
.single-post .post_content,
.single-case .post_content {
	padding-left: 0;
	padding-right: 0;
}

/* CTAセクションより下の不要な要素（記事下タグ・シェアボタン・関連記事・コメント欄）を非表示 */
.single-post .p-articleFoot,
.single-case .p-articleFoot,
.single-post .c-shareBtns.-bottom.-style-block,
.single-case .c-shareBtns.-bottom.-style-block,
.single-post .c-shareBtns.-fix.-style-block,
.single-case .c-shareBtns.-fix.-style-block,
.single-post .l-articleBottom,
.single-case .l-articleBottom,
.single-post .l-articleBottom__section.-comment,
.single-case .l-articleBottom__section.-comment {
	display: none !important;
}

@media (max-width: 767px) {
	.case-section { padding: 40px 20px; }
	.case-section__title { font-size: 20px; gap: 12px; margin-bottom: 24px; }
	.case-overview__row { flex-direction: column; align-items: stretch; gap: 2px; }
	.case-overview__label { width: auto; padding: 10px 16px; font-size: 14px; }
	.case-overview__value { padding: 12px 16px; font-size: 14px; }
	.case-flow { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.case-flow__item { padding: 20px 16px; }
	.case-flow__num { width: 40px; height: 40px; font-size: 15px; margin-bottom: 12px; }
	.case-flow__title { font-size: 15px; }
	.case-flow__text { font-size: 13px; }
	.case-after { grid-template-columns: 1fr; }
	.case-after__card { padding: 20px; }
	.case-after__title { font-size: 18px; }
	.case-after__text { font-size: 15px; }
	.case-related { grid-template-columns: 1fr; }
	.case-timeline { padding-left: 60px; max-width: none; }
	.case-timeline::before { left: 23px; }
	.case-timeline__badge { left: -60px; width: 48px; height: 48px; font-size: 10px; }
	.case-timeline__title { font-size: 17px; }
	.case-timeline__text { font-size: 14px; }
	.case-section .wp-block-details { padding: 18px; }
	.case-section .wp-block-details p { padding-left: 0; margin-top: 12px; font-size: 14px; }
	.case-section .wp-block-details > summary { font-size: 15px; }
	.case-voice { flex-direction: row; align-items: flex-start; text-align: left; padding: 20px; gap: 16px; }
	.case-voice__avatar { width: 72px; height: 72px; font-size: 24px; flex-shrink: 0; }
	.case-voice__quote { font-size: 14px; }
	.case-voice__name { text-align: left; }
}


/* 事例ページ：wp:groupブロックが自動生成するinner-containerをレイアウトから除外 */
.case-overview .wp-block-group__inner-container,
.case-overview__row .wp-block-group__inner-container,
.case-flow .wp-block-group__inner-container,
.case-flow__item .wp-block-group__inner-container,
.case-after .wp-block-group__inner-container,
.case-after__card .wp-block-group__inner-container,
.case-timeline .wp-block-group__inner-container,
.case-timeline__item .wp-block-group__inner-container,
.case-voice .wp-block-group__inner-container,
.case-related .wp-block-group__inner-container,
.case-related__card .wp-block-group__inner-container,
.case-back .wp-block-group__inner-container,
.case-section .wp-block-group__inner-container {
	display: contents;
}

/* ==========================================================================
   事例詳細ページ用ヒーロー（サイドバー廃止 + タイトル部あしらい再構築）
   ========================================================================== */
.single-post .p-breadcrumb,
.single-case .p-breadcrumb,
.single-post .p-articleHead.c-postTitle,
.single-case .p-articleHead.c-postTitle,
.single-post .p-articleMetas.-top,
.single-case .p-articleMetas.-top {
	display: none;
}
.case-hero {
	position: relative;
	left: 50%;
	right: 50%;
	width: 100vw;
	margin-left: -50vw;
	margin-right: -50vw;
	box-sizing: border-box;
	padding: 40px 24px 48px;
	background-color: #FFFFFF;
	background-image: url('/wp-content/uploads/2026/07/lower_bg-scaled.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
}
.case-hero__inner {
	max-width: 1250px;
	margin: 0 auto;
	box-sizing: border-box;
	padding-left: 25px;
	padding-right: 25px;
}
.case-hero__breadcrumb {
	font-size: 0.875rem;
	color: #7A92A8;
	margin: 0 0 24px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}
.case-hero__breadcrumb a {
	color: #2F96D6;
	text-decoration: none;
}
.case-hero__breadcrumb a:hover {
	text-decoration: underline;
}
.case-hero__breadcrumb-sep {
	color: #2F96D6;
}
.case-hero__breadcrumb-current {
	color: #4B5763;
}
.case-hero__metaRow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
}
.case-hero__tag {
	display: inline-flex;
	align-items: center;
	background: #E7F2FA;
	color: #4B5763;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.4;
	padding: 4px 16px;
	border-radius: 100px;
}
.case-hero__date {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	color: #4B5763;
}
.case-hero__eyebrow {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.4;
	color: #4B5763;
	margin: 0;
}
.case-hero__title {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 36px;
	line-height: 1.4;
	color: #2F96D6;
	margin: 16px 0 0;
}
.case-hero__lead {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.8;
	color: #4B5763;
	margin: 16px 0 0;
}
@media (max-width: 959px) {
	.case-hero {
		padding: 28px 20px 32px;
		background-image: url('/wp-content/uploads/2026/07/lower_bg_sp.png');
		background-position: top center;
	}
	.case-hero__inner {
		padding-left: 0;
		padding-right: 0;
	}
	.case-hero__breadcrumb {
		font-size: 15px;
		margin-bottom: 16px;
	}
	.case-hero__metaRow {
		margin-bottom: 12px;
	}
	.case-hero__tag,
	.case-hero__date {
		font-size: 15px;
	}
	.case-hero__eyebrow {
		font-size: 18px;
	}
	.case-hero__title {
		font-size: 24px;
		margin-top: 12px;
	}
	.case-hero__lead {
		font-size: 15px;
		margin-top: 12px;
	}
}

/* ==========================================================================
   事例詳細ページ コンテンツ背景あしらい（Group 107.png）
   ========================================================================== */
.single-post .post_content,
.single-case .post_content {
	position: relative;
}
.single-post .post_content > *,
.single-case .post_content > * {
	position: relative;
	z-index: 1;
}

/* post_content下部の余白（margin-bottom）を削除。CTA(sec-cta)直後に不要な空白ができるため */
.l-mainContent__inner > .post_content {
	margin-bottom: 0;
}

/* post_content上部の余白（l-content の padding-top + post_content の margin-top）を削除し、
   case-heroがヘッダー直下に来るようにする（事例詳細ページのみ） */
.single-post .l-content.l-container,
.single-case .l-content.l-container {
	padding-top: 0;
}
.single-post .l-mainContent__inner > .post_content,
.single-case .l-mainContent__inner > .post_content {
	margin-top: 0;
}


/* ==== 目次（TOC）：デフォルトデザインをコンテンツのデザインに合わせて調整 ==== */
.single-post .p-toc.-double,
.single-case .p-toc.-double {
	border-top: none;
	border-bottom: none;
	background: #fff;
	border: 1px solid #C7DCEF;
	border-radius: 20px;
	padding: 32px;
}
.single-post .p-toc__ttl,
.single-case .p-toc__ttl {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-size: 20px;
	color: #4B5763;
	margin-bottom: 20px;
}
.single-post .p-toc__ttl::before,
.single-case .p-toc__ttl::before {
	color: #5EAEE0;
}
.single-post .p-toc__list,
.single-case .p-toc__list {
	display: flex;
	flex-direction: column;
}
.single-post .p-toc__list > li,
.single-case .p-toc__list > li {
	border-bottom: 1px dashed #C7DCEF;
	padding: 6px 0;
	font-size: 15px;
}
.single-post .p-toc__list > li:last-child,
.single-case .p-toc__list > li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.single-post .p-toc__list > li::before,
.single-case .p-toc__list > li::before {
	color: #5EAEE0;
	font-weight: 700;
	margin-right: 10px;
}
.single-post .p-toc__link,
.single-case .p-toc__link {
	color: #4B5763;
	font-weight: 500;
	transition: color .2s ease;
}
.single-post .p-toc__link:hover,
.single-case .p-toc__link:hover {
	color: #2F96D6;
}

/* ==========================================================================
   お客様の声・事例 一覧ページ（カテゴリーアーカイブ）デザイン調整
   下層ページ共通のトンマナ（sec-subhero風ヒーロー・カードデザイン）に合わせる
   ========================================================================== */
.post-type-archive-case .c-pageTitle {
	position: relative;
	background-color: #FFFFFF;
	background-image: url('/wp-content/uploads/2026/07/lower_bg-scaled.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 56px 24px 64px;
	margin: 0 0 0;
	text-align: center;
	overflow: hidden;
}
.post-type-archive-case .c-pageTitle::before {
	content: "Case Studies";
	display: block;
	font-family: "Outfit", sans-serif;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #2F96D6;
	margin-bottom: 8px;
}
.post-type-archive-case .c-pageTitle__inner {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: min(3.4vw, 40px);
	font-weight: 700;
	color: #3A4A58;
}
.post-type-archive-case .c-pageTitle__subTitle {
	display: none;
}
.post-type-archive-case .c-pageTitle::after {
	content: "";
	position: absolute;
	visibility: visible;
	clear: none;
	top: 50%;
	right: 40px;
	transform: translateY(-50%);
	width: 140px;
	height: 140px;
	background-image: url('/wp-content/uploads/2026/07/mascot-hero.svg');
	background-size: contain;
	background-repeat: no-repeat;
	pointer-events: none;
}
.post-type-archive-case .p-breadcrumb {
	max-width: 1200px;
	box-sizing: border-box;
	margin: 0 auto;
}
.post-type-archive-case .p-breadcrumb__list {
	max-width: 900px;
	padding: 0 24px;
	box-sizing: border-box;
	margin: 0 auto;
}
.post-type-archive-case .l-mainContent__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 24px 80px;
	box-sizing: border-box;
}
.post-type-archive-case .p-postList__item {
	background: #FFFFFF;
	border: 1px solid #E3EDF5;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 2px 2px 14px rgba(63, 124, 196, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.post-type-archive-case .p-postList__item:hover {
	transform: translateY(-4px);
	box-shadow: 4px 8px 20px rgba(63, 124, 196, 0.15);
}
.post-type-archive-case .p-postList__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}
.post-type-archive-case .c-postThumb__figure {
	aspect-ratio: 16 / 9;
}
.post-type-archive-case .p-postList__thumb.noimg_ .c-postThumb__figure {
	background: linear-gradient(180deg, #EAF4FB 0%, #FFFFFF 100%);
}
.post-type-archive-case .p-postList__thumb.noimg_ .c-postThumb__img {
	display: none;
}
.post-type-archive-case .c-postThumb__cat {
	background: #2F96D6;
	color: #FFFFFF;
	border-radius: 999px;
	font-weight: 600;
}
.post-type-archive-case .p-postList__title {
	font-size: 1.05rem;
	font-weight: 700;
	color: #3A4A58;
	padding: 20px 20px 8px;
	line-height: 1.5;
}
.post-type-archive-case .p-postList__excerpt {
	font-size: 0.85rem;
	color: #6B7C8C;
	padding: 0 20px;
	line-height: 1.7;
}
.post-type-archive-case .p-postList__meta {
	padding: 12px 20px 20px;
	margin-top: auto;
}
.post-type-archive-case .c-postTimes__posted {
	color: #7A92A8;
	font-size: 0.8rem;
}
@media (max-width: 767px) {
	.post-type-archive-case .c-pageTitle::after {
		display: none;
	}
	.post-type-archive-case .c-pageTitle {
		padding: 40px 20px 32px;
	}
	.post-type-archive-case .c-pageTitle__inner {
		font-size: 26px;
	}
}


/* =====================================
事例一覧（category: jirei）カスタムアーカイブ用スタイル
sec-subhero統一 + カードグリッド + 丸型サムネイル
===================================== */
.sec-jireiList {
	padding: 0 0 40px;
}
.sec-jireiList__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 24px 80px;
	box-sizing: border-box;
}
.sec-jireiList__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.sec-jireiList__card {
	background: #FFFFFF;
	border: 1px solid #E3EDF5;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 2px 2px 14px rgba(63, 124, 196, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sec-jireiList__card:hover {
	transform: translateY(-4px);
	box-shadow: 4px 8px 20px rgba(63, 124, 196, 0.15);
}
.sec-jireiList__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	height: 100%;
	box-sizing: border-box;
	padding: 32px 24px 28px;
	color: inherit;
	text-decoration: none;
}
.sec-jireiList__thumb {
	display: block;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 0 16px;
	flex-shrink: 0;
	border: 3px solid #EAF4FB;
	background: #EAF4FB;
}
.sec-jireiList__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	margin: 0;
	border-radius: 0;
}
.sec-jireiList__cat {
	display: inline-block;
	background: #2F96D6;
	color: #FFFFFF;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 4px 14px;
	border-radius: 999px;
	margin-bottom: 10px;
}
.sec-jireiList__title {
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	color: #3A4A58;
	line-height: 1.5;
	margin-bottom: 8px;
}
.sec-jireiList__excerpt {
	display: block;
	font-size: 1rem;
	color: #6B7C8C;
	line-height: 1.7;
	margin-bottom: 12px;
}
.sec-jireiList__date {
	display: block;
	font-size: 0.85rem;
	color: #9AAAB8;
	margin-top: auto;
}
.sec-jireiList__empty {
	grid-column: 1 / -1;
	text-align: center;
	padding: 60px 0;
	color: #6B7C8C;
	font-size: 1rem;
}
.sec-jireiList__pagination {
	margin-top: 48px;
	text-align: center;
}
.sec-jireiList__pagination .page-numbers {
	display: inline-block;
	margin: 0 4px;
	padding: 8px 14px;
	border-radius: 8px;
	background: #F3F8FC;
	color: #3A4A58;
	text-decoration: none;
	font-size: 0.95rem;
}
.sec-jireiList__pagination .page-numbers.current {
	background: #2F96D6;
	color: #FFFFFF;
}
@media (max-width: 960px) {
	.sec-jireiList__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
}
@media (max-width: 600px) {
	.sec-jireiList__grid {
		grid-template-columns: 1fr;
	}
	.sec-jireiList__inner {
		padding: 32px 20px 64px;
	}
	.sec-jireiList__thumb {
		width: 80px;
		height: 80px;
	}
}


/* 事例詳細ページ: SWELLデフォルトのアイキャッチ大画像を非表示にし、
   タイトル横に小さな丸型サムネイルを表示する（case-hero__titleRow） */
.p-articleThumb {
	display: none;
}
.case-hero__titleRow {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.case-hero__avatar {
	width: 56px;
	height: 56px;
	min-width: 56px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	margin: 0;
	border: 2px solid #EAF4FB;
}
@media (max-width: 600px) {
	.case-hero__avatar {
		width: 44px;
		height: 44px;
		min-width: 44px;
	}
}


/* TOPページ「ご利用者様の声」：件数が少なくても横一杯に広がらないよう
   グリッド化し、カード幅の上限を設定（最大3カラム想定） */
.sec-voices__row {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 400px));
	justify-content: center;
}
.sec-voices__row > .wp-block-column {
	flex: none;
	width: 100%;
}
@media (max-width: 782px) {
	.sec-voices__row {
		grid-template-columns: minmax(280px, 400px);
	}
}


/* ===== sec-voices__card をAタグ化（カード全体クリック対応）に伴う調整 ===== */
a.sec-voices__card {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
a.sec-voices__card:hover {
	transform: translateY(-4px);
	box-shadow: 4px 6px 20px rgba(63, 124, 196, 0.16);
}
.sec-voices__more {
	display: inline-block;
	margin-left: 0.5em;
	color: #2F96D6;
	font-weight: 700;
	font-size: 0.9375rem;
}


/* ===== お問い合わせページ (/contact/) ===== */
.sec-contact {
	padding: 4rem 0 5rem;
	background: #F4F6F8;
}
.sec-contact__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}
.sec-contact__lead {
	text-align: center;
	font-size: 1rem;
	line-height: 1.9;
	color: #4B5763;
	margin: 0 0 2.5rem;
}
.sec-contact__card {
	max-width: 1000px;
	margin: 0 auto;
	background: #fff;
	border-radius: 1.25rem;
	box-shadow: 2px 2px 20px rgba(63, 124, 196, 0.1);
	padding: 3rem;
	box-sizing: border-box;
}
@media (max-width: 599px) {
	.sec-contact { padding: 2.5rem 0 3.5rem; }
	.sec-contact__inner { padding: 0 16px; }
	.sec-contact__card { padding: 1.75rem 1.25rem; }
	.sec-contact__lead { text-align: left; }
}

.sec-contact__card .smf-item { margin-bottom: 1.75rem; }
.sec-contact__card .smf-item__label { margin-bottom: 0.5rem; }
.sec-contact__card .smf-item__label__text {
	font-size: 1rem;
	font-weight: 700;
	color: #1F2937;
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}
.c-formBadge {
	display: inline-block;
	background: #2F96D6;
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 700;
	padding: 0.15rem 0.6rem;
	border-radius: 4px;
	line-height: 1.6;
}
.sec-contact__card .smf-text-control__control,
.sec-contact__card .smf-textarea-control__control {
	width: 100%;
	box-sizing: border-box;
	padding: 0.85rem 1rem;
	font-size: 1rem;
	border: 1px solid #E1E6EA;
	border-radius: 0.5rem;
	background: #F7F9FA;
	color: #1F2937;
	transition: border-color 0.2s ease, background 0.2s ease;
}
.sec-contact__card .smf-text-control__control:focus,
.sec-contact__card .smf-textarea-control__control:focus {
	outline: none;
	border-color: #2F96D6;
	background: #fff;
}
.sec-contact__card .smf-textarea-control__control {
	resize: vertical;
	min-height: 8rem;
}
.sec-contact__charcount {
	display: block;
	text-align: right;
	font-size: 0.8125rem;
	color: #8A94A0;
	margin-top: 0.4rem;
}

.sec-contact__card .smf-item.is-noLabel { margin: 1.5rem 0 2rem; }
.sec-contact__card .smf-checkboxes-control__control {
	background: #F7F9FA;
	border-radius: 0.75rem;
	padding: 1rem 1.25rem;
}
.sec-contact__card .smf-label label {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	cursor: pointer;
	margin: 0;
}
.sec-contact__card .smf-checkbox-control {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}
.sec-contact__card .smf-checkbox-control__control {
	width: 1.15rem;
	height: 1.15rem;
	accent-color: #2F96D6;
	margin: 0;
}
.sec-contact__card .smf-checkbox-control__label {
	font-size: 0.9375rem;
	color: #4B5763;
}

.sec-contact__card .smf-action {
	text-align: center;
	margin-top: 0.5rem;
}
.sec-contact__card .smf-button-control__control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 260px;
	padding: 1rem 2.5rem;
	border: none;
	border-radius: 999px;
	background: linear-gradient(90deg, #8FCBF0 0%, #2F96D6 100%);
	background-size: 200% 100%;
	background-position: 0% 0%;
	color: #fff;
	font-weight: 700;
	font-size: 1rem;
	box-shadow: 0 8px 16px rgba(47, 150, 214, 0.3);
	cursor: pointer;
	transition: background-position 0.3s ease, transform 0.2s ease;
}
.sec-contact__card .smf-button-control__control:hover {
	background-position: 100% 0%;
	transform: translateY(-2px);
}
.sec-contact__note {
	text-align: center;
	font-size: 0.8125rem;
	color: #8A94A0;
	margin-top: 1.25rem;
	line-height: 1.8;
}

.sec-contact-tel {
	padding: 3rem 0;
	text-align: center;
	border-top: 1px solid #E7ECEF;
}
.sec-contact-tel__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}
.sec-contact-tel__note {
	font-size: 0.9375rem;
	color: #4B5763;
	margin: 0 0 0.75rem;
}
.sec-contact-tel__number {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #1F2937;
	margin: 0 0 0.5rem;
}
.sec-contact-tel__hours {
	font-size: 0.875rem;
	color: #8A94A0;
	margin: 0;
}
@media (max-width: 599px) {
	.sec-contact-tel__number { font-size: 1.5rem; }
}


/* ===== お知らせ一覧ページ（sec-newsList） ===== */
.sec-newsList {
	padding: 40px 0 0;
}
.sec-newsList__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 24px 80px;
	box-sizing: border-box;
}
.sec-newsList__filter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 40px;
}
.sec-newsList__filterBtn {
	display: inline-flex;
	align-items: center;
	padding: 10px 28px;
	border-radius: 999px;
	border: 1px solid #D4E7EF;
	background: #FFFFFF;
	color: #4B5763;
	font-size: 14px;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	text-decoration: none;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.sec-newsList__filterBtn:hover {
	border-color: #2F96D6;
	color: #2F96D6;
}
.sec-newsList__filterBtn.is-active {
	background: linear-gradient(135deg, #2F96D6 0%, #8FCBF0 100%);
	border-color: transparent;
	color: #FFFFFF;
	box-shadow: 2px 2px 14px rgba(63, 124, 196, 0.2);
}
.sec-newsList__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #E3EDF5;
}
.sec-newsList__row {
	border-bottom: 1px solid #E3EDF5;
}
.sec-newsList__link {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 28px 12px;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.2s ease;
}
.sec-newsList__link:hover {
	opacity: 0.65;
}
.sec-newsList__date {
	flex-shrink: 0;
	width: 120px;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	color: #8A98A6;
	letter-spacing: 0.03em;
}
.sec-newsList__cat {
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 700;
	color: #E8829B;
	border: 1px solid #E8829B;
	border-radius: 999px;
	padding: 5px 16px;
	letter-spacing: 0.05em;
	text-align: center;
}
.sec-newsList__title {
	flex: 1;
	font-weight: 700;
	font-size: 16px;
	font-family: "Zen Maru Gothic", serif;
	color: #4B5763;
	line-height: 1.6;
}
.sec-newsList__arrow {
	flex-shrink: 0;
	font-size: 20px;
	color: #2F96D6;
	font-family: "Outfit", sans-serif;
}
.sec-newsList__empty {
	padding: 80px 12px;
	text-align: center;
	color: #8A98A6;
	font-size: 16px;
	list-style: none;
}
.sec-newsList__pagination {
	margin-top: 48px;
	text-align: center;
}
.sec-newsList__pagination .page-numbers {
	display: inline-block;
	margin: 0 4px;
	padding: 8px 14px;
	border-radius: 8px;
	background: #F3F8FC;
	color: #3A4A58;
	text-decoration: none;
	font-size: 0.95rem;
}
.sec-newsList__pagination .page-numbers.current {
	background: #2F96D6;
	color: #FFFFFF;
}
.sec-newsList__pagination .page-numbers.dots {
	background: transparent;
}
@media (max-width: 960px) {
	.sec-newsList__inner {
		padding: 40px 20px 64px;
	}
	.sec-newsList__date {
		width: 96px;
		font-size: 13px;
	}
}
@media (max-width: 600px) {
	.sec-newsList__filter {
		gap: 8px;
		margin-bottom: 28px;
	}
	.sec-newsList__filterBtn {
		padding: 8px 18px;
		font-size: 13px;
	}
	.sec-newsList__link {
		flex-wrap: wrap;
		gap: 8px 16px;
		padding: 20px 4px;
	}
	.sec-newsList__date {
		width: auto;
		order: 1;
	}
	.sec-newsList__cat {
		order: 2;
	}
	.sec-newsList__title {
		order: 4;
		flex-basis: 100%;
		font-size: 15px;
	}
	.sec-newsList__arrow {
		order: 3;
		margin-left: auto;
	}
}

/* ===== お知らせ詳細ページ（sec-newsDetail / sec-newsRelated） ===== */
.sec-newsDetail {
	padding: 40px 0 0;
}
.sec-newsDetail__inner {
	max-width: 840px;
	margin: 0 auto;
	padding: 48px 24px 80px;
	box-sizing: border-box;
}
.sec-newsDetail__meta {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}
.sec-newsDetail__date {
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	color: #8A98A6;
}
.sec-newsDetail__cat {
	font-size: 12px;
	font-weight: 700;
	color: #E8829B;
	border: 1px solid #E8829B;
	border-radius: 999px;
	padding: 4px 16px;
	letter-spacing: 0.05em;
}
.sec-newsDetail__title {
	font-family: "Zen Maru Gothic", serif;
	font-size: 28px;
	font-weight: 700;
	color: #4B5763;
	line-height: 1.5;
	margin: 0 0 32px;
}
.sec-newsDetail__body {
	font-size: 16px;
	line-height: 1.9;
	color: #4B5763;
}
.sec-newsDetail__body p {
	margin: 0 0 1.6em;
}
.sec-newsDetail__body h2 {
	font-family: "Zen Maru Gothic", serif;
	font-size: 20px;
	color: #4B5763;
	margin: 2em 0 0.8em;
}
.sec-newsDetail__body h3 {
	font-family: "Zen Maru Gothic", serif;
	font-size: 18px;
	color: #4B5763;
	margin: 1.8em 0 0.6em;
}
.sec-newsDetail__body img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}
.sec-newsDetail__body ul,
.sec-newsDetail__body ol {
	padding-left: 1.4em;
	margin: 0 0 1.6em;
}
.sec-newsDetail__body table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.6em 0;
}
.sec-newsDetail__body table th,
.sec-newsDetail__body table td {
	border: 1px solid #E3EDF5;
	padding: 12px 16px;
	text-align: left;
}
.sec-newsDetail__body table th {
	background: #F3F8FC;
	width: 160px;
}
.sec-newsDetail__back {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: fit-content;
	margin: 140px auto 0;
	color: #4B5763;
	font-weight: 700;
	font-size: 18px;
	font-family: "Zen Maru Gothic", serif;
	letter-spacing: 0.05em;
	line-height: 1.4;
	text-decoration: none;
}
.sec-newsDetail__back::after {
	content: "";
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #2F96D6;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2 8H14M14 8L9 3M14 8L9 13' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
		linear-gradient(135deg, #2F96D6 0%, #8FCBF0 100%);
	background-repeat: no-repeat, no-repeat;
	background-position: center, center;
	background-size: 16px 16px, cover;
}
.sec-newsRelated {
	background: #F7FAFC;
	padding: 40px 0 64px 0;
	margin-top: 80px;
	border-radius: 20px;
	overflow: hidden;
}
.sec-newsRelated__title {
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
	font-size: 22px;
	font-weight: 700;
	color: #4B5763;
	margin: 0 0 40px;
}
.sec-newsRelated__grid {
	max-width: 1000px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding: 0 24px;
	box-sizing: border-box;
}
.sec-newsRelated__card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: #FFFFFF;
	border: 1px solid #E3EDF5;
	border-radius: 16px;
	padding: 20px;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sec-newsRelated__card:hover {
	transform: translateY(-4px);
	box-shadow: 4px 8px 20px rgba(63, 124, 196, 0.12);
}
.sec-newsRelated__date {
	font-family: "Outfit", sans-serif;
	font-size: 12px;
	color: #8A98A6;
}
.sec-newsRelated__cat {
	font-size: 11px;
	font-weight: 700;
	color: #E8829B;
}
.sec-newsRelated__card .sec-newsRelated__title {
	text-align: left;
	font-size: 15px;
	font-weight: 700;
	margin: 0;
	line-height: 1.5;
}
@media (max-width: 960px) {
	.sec-newsRelated__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.sec-newsDetail__inner {
		padding: 32px 20px 64px;
	}
	.sec-newsDetail__title {
		font-size: 22px;
	}
	.sec-newsRelated {
		padding: 48px 0;
	}
	.sec-newsRelated__grid {
		grid-template-columns: 1fr;
		padding: 0 20px;
	}
}

/* 事例詳細ページの重複パンくず等 撤去後の見出し背景色統一 */
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	background: #5EAEE0;
}

/* 事例詳細コンテンツ上部のグラデーションあしらい（sec-mission-valuesと同一トーン） */
.single-case .post_content {
	position: relative;
}
.single-case .post_content::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	height: 160px;
	background-color: #fff;
	background-image: linear-gradient(180deg, #EEF5FB 0%, rgba(255, 255, 255, 0) 100%);
	background-repeat: no-repeat;
	background-size: 100% 160px;
	background-position: top;
	pointer-events: none;
	z-index: 0;
}
.single-case .post_content > * {
	position: relative;
	z-index: 1;
}

/* お問い合わせフォーム送信ボタンの位置調整 */
.sec-contact__card .smf-action {
	text-align: center;
	margin-top: 3.5rem;
}

/* post_content既定マージン(4em 0)を解除し、各セクション側で余白管理する */
.l-mainContent__inner > .post_content {
	margin: 0;
	padding: 0 var(--swl-pad_post_content, 0);
}

/* プライバシーポリシー：コンテンツ幅拡大 + タイトル部の配色調整 */
.sec-privacy__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 25px;
	box-sizing: border-box;
}
@media (max-width: 600px) {
	.sec-privacy__inner {
		padding: 0 20px;
	}
}


/* フッター：住所・電話・FAX・メール情報 */
.footer-address {
	margin-top: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.footer-address__line {
	margin: 0;
	color: rgba(58, 74, 87, 0.66);
	font-size: 0.8125rem;
	line-height: 1.6;
}
.footer-address__line a {
	color: rgba(58, 74, 87, 0.66);
	text-decoration: none;
}
.footer-address__line a:hover {
	color: #2F96D6;
}

/* フッターPC右カラム：左右を独立した列にして均等な行間隔を保証 */
.footer-nav__cols {
	display: flex;
	gap: 2rem;
}
.footer-nav__cols .footer-nav__row {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	flex-wrap: nowrap;
}
.footer-nav__cols .footer-nav__row > li {
	width: auto;
}
@media (max-width: 767px) {
	.footer-nav__cols {
		flex-direction: column;
		gap: 1.5rem;
	}
}

.smf-privacyLink {
	color: #2F96D6;
	text-decoration: underline;
}
.smf-privacyLink:hover {
	opacity: 0.7;
}

/* お知らせ詳細：本文の幅（他の下層ページと同じ1200pxコンテンツ+左右25px余白） */
.sec-newsPostBody {
	max-width: 1250px;
	margin: 0 auto;
	padding: 40px 25px 80px;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1.9;
	color: #4B5763;
}
@media (max-width: 600px) {
	.sec-newsPostBody {
		padding: 32px 20px 60px;
	}
}


/* ===== お知らせ詳細 本文(.sec-newsPostBody)：見出し以外の要素装飾 ===== */
.sec-newsPostBody img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}
.sec-newsPostBody ul,
.sec-newsPostBody ol {
	padding-left: 1.4em;
	margin: 0 0 1.6em;
}
.sec-newsPostBody p {
	margin: 0 0 1.6em;
}
/* 所在地・営業時間などの構造化情報は表(テーブル)ブロックで入力すると、
   事例詳細の概要表(.case-overview)と同じ「ラベル+ボックス」型の見た目になる */
.sec-newsPostBody table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 8px;
	margin: 1.6em 0;
}
.sec-newsPostBody table th,
.sec-newsPostBody table td {
	padding: 14px 20px;
	text-align: left;
	font-size: 15px;
	border: none;
}
.sec-newsPostBody table th {
	width: 176px;
	background: #5EAEE0;
	color: #fff;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	border-radius: 10px 0 0 10px;
	white-space: nowrap;
}
.sec-newsPostBody table td {
	background: #EAF4FB;
	color: #4B5763;
	border-radius: 0 10px 10px 0;
}
@media (max-width: 600px) {
	.sec-newsPostBody table,
	.sec-newsPostBody table tbody,
	.sec-newsPostBody table tr {
		display: block;
		width: 100%;
	}
	.sec-newsPostBody table tr {
		margin-bottom: 8px;
	}
	.sec-newsPostBody table th,
	.sec-newsPostBody table td {
		display: block;
		width: auto;
		border-radius: 10px;
	}
	.sec-newsPostBody table th {
		margin-bottom: 2px;
	}
}


/* ===== sec-cta インナーの左右余白を.post_content外でも常に効かせる ===== */
.sec-cta .wp-block-group__inner-container {
	padding-left: 25px;
	padding-right: 25px;
	box-sizing: border-box;
}
@media (max-width: 600px) {
	.sec-cta .wp-block-group__inner-container {
		padding-left: 20px;
		padding-right: 20px;
	}
}


/* ===== プライバシーポリシー：本文上マージン・セクション下パディング ===== */
.sec-privacy__body {
	margin-top: 60px;
}
.wp-block-group.alignfull.sec-privacy {
	padding-bottom: 80px;
}
@media (max-width: 600px) {
	.sec-privacy__body {
		margin-top: 32px;
	}
	.wp-block-group.alignfull.sec-privacy {
		padding-bottom: 48px;
	}
}

/* ===== 下層ページ共通メインビュー：シンプルなふわっと表示アニメーション ===== */
@keyframes subheroFadeIn {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.sec-subhero__label,
.sec-subhero__title,
.sec-subhero__breadcrumb,
.sec-subhero__mascot {
	animation: subheroFadeIn 0.8s ease-out both;
}
.sec-subhero__label {
	animation-delay: 0s;
}
.sec-subhero__title {
	animation-delay: 0.1s;
}
.sec-subhero__mascot {
	animation-delay: 0.15s;
}
.sec-subhero__breadcrumb {
	animation-delay: 0.3s;
}
@media (prefers-reduced-motion: reduce) {
	.sec-subhero__label,
	.sec-subhero__title,
	.sec-subhero__breadcrumb,
	.sec-subhero__mascot {
		animation: none;
	}
}


/* ===== フッターロゴのaタグ化（ホームリンク） ===== */
.footer-brand__link {
	display: flex;
	align-items: center;
	gap: 1rem;
	color: inherit;
	text-decoration: none;
}


/* ===== 事例一覧CTA：.post_content外でも見出しのサイズ・書体・アニメーションを効かせる ===== */
.sec-cta h2.wp-block-heading {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: clamp(1.5rem, 1rem + 1.1vw, 2.25rem);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.55s cubic-bezier(0.16, 0.84, 0.44, 1), transform 1.55s cubic-bezier(0.16, 0.84, 0.44, 1);
}
.sec-cta h2.wp-block-heading::before,
.sec-cta h2.wp-block-heading::after {
	content: none !important;
	border: none !important;
}
.sec-cta h2.wp-block-heading.is-inview {
	opacity: 1;
	transform: translateY(0);
}


/* SPのみで改行させたい箇所に使う汎用ユーティリティ（PCでは非表示） */
.u-sp-br {
	display: none;
}
@media (max-width: 959px) {
	.u-sp-br {
		display: inline;
	}
}


/* ============================================
   タッチデバイスでのホバーアニメーションによる
   タップ判定不具合（1回目のタップが効かない）を防止
   ホバー/アクティブ時のtransform由来の見た目の移動が
   iOS等でタップをドラッグと誤認させる原因となるため、
   ホバー操作ができない(タッチ)環境ではtransformを無効化する
   ============================================ */
@media (hover: none), (pointer: coarse) {
	*:hover,
	*:active {
		transform: none !important;
	}
	a,
	button,
	.wp-block-button__link {
		-webkit-tap-highlight-color: transparent;
	}
}
