@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
*/

/* スクリーンリーダー専用（視覚的には非表示） */
.u-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media screen and (min-width:959px) {
.u-sp {
    display: none;
}
}

.u-pc {
	display: none;
}

@media screen and (min-width: 768px) {
	.u-pc {
		display: inline;
	}
}
/* フォント */
body {
    line-height: 1.5;
}

/* デバイス幅が変わってもテキストが画面外へはみ出さないようにする */
html {
	overflow-x: clip;
}

body {
	overflow-x: clip;
}

.l-mainContent,
.post_content,
.swell-block-fullWide,
.swell-block-fullWide__inner,
.swell-block-columns,
.swell-block-columns__inner,
.swell-block-column,
.wp-block-group,
.wp-block-group__inner-container {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

/* 1440pxフレーム超え：コンテンツ最大1312px（pad 64px×2 + 1312 = 1440）で中央寄せ */
@media screen and (min-width: 1441px) {
	.post_content > .swell-block-fullWide.alignfull > .swell-block-fullWide__inner.l-container {
		max-width: 1440px !important;
		width: 100% !important;
		margin-inline: auto !important;
		box-sizing: border-box;
	}
}

.l-mainContent :where(h1, h2, h3, h4, h5, h6, p, li, td, th),
.post_content :where(h1, h2, h3, h4, h5, h6, p, li, td, th) {
	max-width: 100%;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.section-title {
	max-width: 100%;
	box-sizing: border-box;
	overflow-wrap: break-word;
}

.line-btn,
.line-btn .swell-block-button__link {
	max-width: 100%;
	box-sizing: border-box;
}
.fw-500 {
    font-weight: 500;
}

@media screen and (max-width:650px) {
.u-br__tab {
    display: none;
}
}

/* PCのみ改行（SPでは改行しない） */
.u-br-pc {
	display: none;
}
@media screen and (min-width: 768px) {
	.u-br-pc {
		display: block;
	}
}
.top #content {
    padding-top: 0;
}

.w-frontTop {
    margin-bottom: 0;
}
.l-mainContent__inner>.post_content {
    margin-top: 0;
}
.l-content {
	margin-bottom: 0;
	padding-top: 0 !important;
}

.-frame-on .l-mainContent {        padding: 0;
}

.swell-block-fullWide {
	padding-block: clamp(80px, 72.9577px + 1.8779vw, 100px) !important;
	margin-bottom: 0 !important; /* SWELL block-margin（セクション下余白）を打ち消し */
}

/* ブロックエディタの sp-py-40 をグローバル padding-block より優先 */
@media screen and (max-width: 959px) {
	.swell-block-fullWide.sp-py-40 {
		padding-block: 40px !important;
	}
}

/* テーマの隣接フルワイド同士の負マージン（-2em）が padding-bottom を食い込むため打ち消す */
.swell-block-fullWide + .swell-block-fullWide {
	margin-top: 0 !important;
}

.swell-block-fullWide__inner {
	display: flex;
	flex-direction:column;
gap: clamp(40px, 25.9155px + 3.7559vw, 80px);
    padding-inline: 64px;
}
@media screen and (max-width: 959px) {
    .swell-block-fullWide__inner {
        padding-inline: 24px;
    }
}

/* inner の gap と二重にならないよう、section__inner 直下の見出し余白を打ち消す */
.swell-block-fullWide.section__inner > .swell-block-fullWide__inner > h2.section-title {
	margin-bottom: 0 !important;
}

/* タイトル font-size: 767px以下=SP、768–1024=線形補間、1025px以上=PC
   clamp($sp, calc($sp + (100vw - 768px) * ($pc - $sp) / 256), $pc) */
.section-title {
	font-weight: 700;
	line-height: 1.2;
	font-family: "M PLUS 1p";
}

.section-title:not(.benefit-title) {
	font-size: clamp(24px, calc(24px + (100vw - 768px) * 16 / 256), 40px) !important;
}

/* 特典タイトルは従来の fluid サイズを維持（line1/line2 の親 span が inherit） */
h2.benefit-title.section-title,
.benefit-title.section-title {
	font-size: clamp(24px, 18.3662px + 1.5023vw, 40px) !important;
}

/* SP 1カラム container（767px以下・max-width 480px 中央寄せ） */
@media screen and (max-width: 767px) {
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns,
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .wp-block-group > .wp-block-group__inner-container,
	.section-recommend .recommend-contents,
	.merit-cards,
	.area-section__panels > .wp-block-group__inner-container,
	.flow-section__list > .wp-block-group__inner-container,
	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row):not(.coating-type-row__specs),
	.faq-page__container,
	.wp-block-group.faq-pack-section,
	.faq-pack-section__container,
	.faq-support-section__container,
	.about-page__container {
		max-width: 480px !important;
		width: 100% !important;
		margin-inline: auto !important;
		box-sizing: border-box;
	}

	/* padding-inline 24px 分を含めてコンテンツ幅 480px */
	.case-section .swell-block-fullWide__inner {
		max-width: 528px !important;
		width: 100% !important;
		margin-inline: auto !important;
		box-sizing: border-box;
	}
}

/* ヘッダー（Figma 578:4509） */
.c-gnav > .menu-item > a .ttl {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.02em;
}

.c-gnav > .menu-item > a {
	padding-inline: 16px;
}

@media screen and (min-width: 960px) {
	.l-header {
		min-height: 80px;
	}

	.l-header__inner.l-container {
		align-items: center;
		width: 100%;
		max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
		height: 80px;
		min-height: 80px;
		padding-block: 0;
		padding-inline: 64px;
		margin-inline: auto;
		box-sizing: border-box;
	}

	.l-header__logo {
		display: flex;
		align-items: flex-start;
		align-self: flex-start;
		flex-shrink: 0;
		height: 80px;
		padding: 16px 0 0 !important;
		margin-right: 0;
		box-sizing: border-box;
	}

	.l-header .c-headLogo {
		margin: 0;
		line-height: 0;
	}

	.l-header .c-headLogo__link {
		display: flex;
		align-items: flex-start;
	}

	.l-header .c-headLogo__brand,
	.l-header .c-headLogo__icon,
	.l-fixHeader .c-headLogo__brand,
	.l-fixHeader .c-headLogo__icon {
		display: none !important;
	}

	.l-header .c-headLogo.-img,
	.l-header .c-headLogo__img,
	.l-fixHeader .c-headLogo.-img,
	.l-fixHeader .c-headLogo__img {
		width: 80px;
		height: 80px;
		max-height: 80px;
		object-fit: contain;
		object-position: top center;
	}

	/* ロゴ左／ナビ+ボタン右寄せ（ナビ内・ナビ↔ボタンとも gap 32px） */
	.l-header__gnav.c-gnavWrap {
		margin-left: auto !important;
		margin-right: 0 !important;
	}

	.l-header .c-gnav {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 32px;
		height: auto;
	}

	.l-header .c-gnav > .menu-item > a {
		padding-inline: 0;
	}

	.l-header .w-header.pc_ {
		margin-left: 32px !important;
		display: flex;
		align-items: center;
	}

	.l-header .w-header .line-btn .swell-block-button__link,
	.l-header .w-header .swell-block-button.line-btn .swell-block-button__link {
		padding: 8px 20px !important;
		border-radius: 10px;
		gap: 16px !important;
		min-height: 48px;
		height: 48px;
		box-sizing: border-box;
		box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.25);
		font-size: 16px;
		white-space: nowrap;
	}

	.l-header .w-header .line-btn .swl-fz,
	.l-header .w-header .swell-block-button__link .swl-fz {
		font-size: 16px !important;
	}

	.l-header .w-header .line-btn .swl-inline-icon::after {
		width: 32px;
		height: 32px;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
}

/* SPヘッダー：アイコン＋「ネスト・コーティング」テキスト（Figma 578:5379） */
@media screen and (max-width: 959px) {
	.l-header__inner.l-container {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-left: 16px;
		padding-right: 0;
		width: 100%;
		box-sizing: border-box;
	}

	/* PCナビ／ウィジェットは flex から外す */
	.l-header__gnav,
	.l-header .w-header.pc_ {
		display: none !important;
	}

	/* アイコン＋ブランド名を左にまとめ、ボタン群と space-between */
	.l-header__logo {
		display: flex;
		align-items: center;
		min-width: 0;
		flex: 1 1 auto;
		margin-right: 0 !important;
		padding: 0 !important;
	}

	.l-header .c-headLogo {
		display: flex;
		align-items: center;
		margin: 0;
		line-height: 0;
		min-width: 0;
		max-width: 100%;
	}

	.l-header .c-headLogo__link {
		display: flex;
		align-items: center;
		gap: 8px;
		min-width: 0;
		max-width: 100%;
		text-decoration: none !important;
		color: inherit;
	}

	.l-header .c-headLogo__icon,
	.l-header .c-headLogo__brand {
		pointer-events: none;
	}

	/* SPは書き出し画像を使用（WPロゴは非表示） */
	.l-header .c-headLogo__img {
		display: none !important;
	}

	.l-header .c-headLogo__icon {
		display: block;
		width: 80px;
		height: auto;
		aspect-ratio: 40 / 17;
		object-fit: contain;
		object-position: center;
		flex: 0 1 80px;
		min-width: 0;
		overflow: visible;
	}

	.l-header .c-headLogo__brand {
		display: block;
		width: clamp(130px, 15vw, 145px);
		height: auto;
		aspect-ratio: 97 / 16;
		object-fit: contain;
		object-position: center;
		flex: 0 1 clamp(130px, 15vw, 145px);
		min-width: 0;
		overflow: visible;
	}

	/* ボタン2つを1ブロックとして右端に固定 */
	.l-header__customBtn.sp_ {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 128px;
		height: 64px;
		flex: 0 0 128px;
	}

	.l-header__menuBtn.sp_ {
		position: absolute;
		right: 0;
		top: 0;
		width: 64px;
		height: 64px;
		flex: 0 0 64px;
	}

	.l-header__customBtn.sp_ .c-iconBtn,
	.l-header__menuBtn.sp_ .c-iconBtn {
		width: 64px !important;
		height: 64px !important;
		min-width: 64px;
		min-height: 64px;
		flex-shrink: 0;
		box-sizing: border-box;
	}
}

.c-iconBtn.-menuBtn.c-plainBtn {
    color: #ffffff;
    background-color: #E55910;

}
/* ドロワーメニュー */
.c-iconBtn.-menuBtn .c-iconBtn__icon.icon-menu-thin {
	font-size: 0;
	width: 24px;
	height: 18px;
	position: relative;
}

.c-iconBtn.-menuBtn .c-iconBtn__icon.icon-menu-thin::before {
	content: "" !important;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: currentColor;
	border-radius: 1px;
	transform: translateY(-50%);
	box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor;
	font-family: inherit !important;
}

.c-widget__title.-spmenu {
	background-color: transparent;
	padding: 0;
}
[data-spmenu="opened"] .c-iconBtn.-menuBtn.c-plainBtn {
	background-color: transparent;
	color: #999999;
}

[data-spmenu="opened"] .c-iconBtn__icon.icon-close-thin{
font-size: 28px;
}

[data-spmenu="opened"] [class*=" icon-"]:before, [class^=icon-]:before {
	font-weight: 700;
}

/* SPメニュー：画面幅いっぱい */
.p-spMenu__inner {
	width: 100% !important;
	left: 0 !important;
	right: 0 !important;
}
.p-spMenu.-right .p-spMenu__inner {
	transform: translateX(100%);
}
.p-spMenu.-left .p-spMenu__inner {
	transform: translateX(-100%);
}
[data-spmenu="opened"] .p-spMenu .p-spMenu__inner {
	transform: translateX(0);
}
.p-spMenu__body {
	width: 100%;
	box-sizing: border-box;
}

/* SPナビ：項目間の余白は gap ではなく a の padding で確保（クリック領域を広げる） */
.p-spMenu__nav,
.p-spMenu__nav .c-spnav.c-listMenu {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* SPナビリンク */
.p-spMenu .c-spnav.c-listMenu > .menu-item > a {
	display: flex;
	padding: 8px 0 !important;
	align-items: center;
	gap: 10px;
	align-self: stretch;
	color: #1a1a1a;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 22.4px; /* 140% */
}

.p-spMenu .c-spnav.c-listMenu > .menu-item:nth-child(n+2) > a {
	padding-top: 24px !important;
	padding-bottom: 8px !important;
}

.c-listMenu a {
	padding-block: 8px !important;
}

.c-listMenu > li:nth-child(2) a,
.c-listMenu > li:nth-child(3) a,
.c-listMenu > li:nth-child(4) a {
	padding-top: 24px !important;
}
/* FV */
@media screen and (max-width: 959px) {
    .p-mainVisual__textLayer .swell-block-fullWide__inner {
        padding-inline: 0;
    }
}

@media screen and (max-width: 767px) {
	/* テキストと写真が重なって顔が隠れるため、上下に分けて配置する */
	.p-mainVisual__inner {
		height: auto !important;
	}

	.p-mainVisual__slide {
		display: flex;
		flex-direction: column-reverse;
		height: auto !important;
	}

	.p-mainVisual__textLayer {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		height: auto !important;
		width: 100% !important;
	}

	.p-mainVisual__imgLayer {
		position: relative !important;
		height: clamp(420px, 78vw, 560px) !important;
		width: 100% !important;
	}

	.p-mainVisual__imgLayer::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 56px;
		background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #FFF 100%);
		z-index: 1;
		pointer-events: none;
	}
}

@media screen and (max-width: 450px) {
	/* Figma SP FV（578:5391）：写真の高さは375px幅で320px相当 */
	.p-mainVisual__imgLayer {
		height: clamp(280px, 85.333vw, 320px) !important;
	}
}
.fv-container{
	padding: 80px 64px !important;

}

@media screen and (min-width: 960px) {
	.fv-container {
		padding-inline: 0 !important;
	}

	.fv-container > .swell-block-fullWide__inner.l-container {
		padding-inline: 64px !important;
		max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
		width: 100%;
		margin-inline: auto;
		box-sizing: border-box;
	}

	.fv-container .fv-cta-block > .wp-block-group__inner-container,
	.fv-container .fv-cta-block {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 11px;
		max-width: none !important;
		--fv-cta-btn-width: 470px;
	}

	.fv-container .fv-cta-block {
		margin-top: 0 !important;
		margin-bottom: 4.5rem !important;
		padding-top: 11px;
	}

	.fv-container .fv-cta-block .line-btn .swell-block-button__link {
		width: var(--fv-cta-btn-width);
		justify-content: center;
	}

	.fv-container .fv-cta-block .line-btn {
		width: auto;
		margin-bottom: 0 !important;
	}

	.fv-container .fv-cta-lead,
	.fv-container .fv-cta-note {
		margin-bottom: 0 !important;
	}

	.fv-container .fv-cta-note {
		margin-top: -7px !important;
	}

	.fv-container .fv-cta-lead {
		margin-top: 0 !important;
		padding-top: 2px;
	}

	.fv-container .fv-cta-note {
		width: var(--fv-cta-btn-width);
		max-width: 100%;
		padding-inline: 0 !important;
		text-align: center !important;
		box-sizing: border-box;
	}

	.post_content .fv-subtitle.u-mb-35,
	.fv-subtitle.u-mb-35 {
		margin-bottom: 3em !important;
	}
}

@media screen and (max-width: 959px) {
	.fv-container {
		padding: 33px 23px !important;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] {
		padding-bottom: 13px;
		box-sizing: border-box;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] .fv-cta-note + .fv-cta-note {
		margin-top: 5px !important;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] .fv-cta-note:not(.u-mb-20) {
		margin-bottom: 0 !important;
	}
}

.p-mainVisual__imgLayer.c-filterLayer__img img{
    object-position: right center;
}

@media screen and (min-width: 1700px) {
	.p-mainVisual__imgLayer.c-filterLayer__img img {
		object-position: right 40%;
	}
}

@media screen and (min-width: 960px) {
	/* PC: バッジが切れないようFV高さを確保（SWELL既定735pxだと不足） */
	.p-mainVisual__inner {
		height: clamp(800px, calc(780px + 0.12 * (100vw - 960px)), 950px) !important;
	}
}

@media screen and (min-width: 960px) {
	/* PC: 写真を右側に配置し、テキスト側との境目を白グラデーションでなじませる */
	.p-mainVisual__imgLayer {
		left: 39% !important;
		right: 0 !important;
		width: auto !important;
	}
}

@media screen and (min-width: 768px) {
	.p-mainVisual__imgLayer::before {
		content: "";
		position: absolute;
		top: 0;
		left: -2px;
		width: calc(22% + 2px);
		height: 100%;
		background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, #FFF 85%, #FFF 100%);
		z-index: 1;
		pointer-events: none;
	}
}

@media screen and (max-width: 959px) {
    .p-mainVisual__imgLayer.c-filterLayer__img img{
        object-position: 100% 85%;
    }
}
@media screen and (max-width: 767px) {
	/* テキストと写真が上下に分かれるため、親子と犬が見えるよう調整 */
	.p-mainVisual__imgLayer.c-filterLayer__img img {
		object-position: center 65% !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 959px) {
	/* タブレット〜：PCと同様にテキスト左・写真右 */
	.p-mainVisual__inner {
		height: clamp(560px, 75vw, 680px) !important;
	}

	.p-mainVisual__imgLayer {
		clip-path: none !important;
		left: 14% !important;
		right: 0 !important;
		width: auto !important;
	}

	.p-mainVisual__imgLayer.c-filterLayer__img img {
		/* PC写真の上部白飛びを抑え、顔が上寄りに収まる位置 */
		object-position: right 38% !important;
	}

	.fv-container {
		padding: 40px 32px !important;
	}

	.fv-container .fv-cta-block > .wp-block-group__inner-container,
	.fv-container .fv-cta-block {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 11px;
		max-width: none !important;
		--fv-cta-btn-width: min(470px, 100%);
	}

	.fv-container .fv-cta-block {
		margin-top: 0 !important;
		margin-bottom: 2.5rem !important;
		padding-top: 11px;
	}

	.fv-container .fv-cta-block .line-btn .swell-block-button__link {
		width: var(--fv-cta-btn-width);
		justify-content: center;
	}

	.fv-container .fv-cta-block .line-btn {
		width: auto;
		margin-bottom: 0 !important;
	}

	.fv-container .fv-cta-lead,
	.fv-container .fv-cta-note {
		margin-bottom: 0 !important;
	}

	.fv-container .fv-cta-note {
		width: var(--fv-cta-btn-width);
		max-width: 100%;
		margin-top: -7px !important;
		padding-inline: 0 !important;
		text-align: center !important;
		box-sizing: border-box;
	}

	/* SP用CTAを表示、PC用CTAは非表示 */
	.fv-container .pc_only {
		display: none !important;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] {
		display: block !important;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] .sp_only {
		display: block !important;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] .swell-block-button.sp_only {
		display: block !important;
	}

	.fv-container .sp_only {
		display: none !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
	.p-mainVisual__imgLayer {
		left: 14% !important;
		right: 0 !important;
		width: auto !important;
	}
}

@media screen and (max-width: 1200px) {
	/* 1200px以下：PC用CTAを隠し、SP用CTA(434)をFV下に表示 */
	.fv-container .fv-cta-block .pc_only,
	.fv-container .pc_only {
		display: none !important;
	}

	.fv-container .fv-cta-block {
		display: none !important;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] {
		display: block !important;
		/* 375px=12px → 1200px=30px */
		padding-top: clamp(12px, calc(12px + (18 / 825) * (100vw - 375px)), 30px);
		/* 375px=13px → 1200px=30px */
		padding-bottom: clamp(13px, calc(13px + (17 / 825) * (100vw - 375px)), 30px);
		box-sizing: border-box;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] > .wp-block-spacer {
		display: none;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] .sp_only {
		display: block !important;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] .swell-block-button.sp_only {
		display: block !important;
	}

	.top .w-frontTop .fv-cta-lead-sp {
		margin-top: 0 !important;
		margin-bottom: 8px !important;
		position: relative;
		display: block;
		width: fit-content;
		max-width: calc(100% - 32px);
		margin-inline: auto !important;
		padding-inline: 0;
		box-sizing: border-box;
		line-height: 1.5;
	}

	.top .w-frontTop .fv-cta-lead-sp .swl-fz {
		display: inline-block;
		text-align: center;
	}

	.top .w-frontTop .fv-cta-lead-sp::before,
	.top .w-frontTop .fv-cta-lead-sp::after {
		content: "";
		position: absolute;
		width: 12px;
		height: 19px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}

	.top .w-frontTop .fv-cta-lead-sp::before {
		top: auto;
		bottom: 4px;
		left: calc(50% - 7.5em - 18px);
		background-image: var(--nest-asset-fv-slash-left, url("./assets/fv-slash-left.svg"));
	}

	.top .w-frontTop .fv-cta-lead-sp::after {
		bottom: 3px;
		right: calc(50% - 7.5em - 18px);
		background-image: var(--nest-asset-fv-slash-right, url("./assets/fv-slash-right.svg"));
	}

	.top .w-frontTop .line-btn.sp_only {
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 8px !important;
	}

	.top .w-frontTop .fv-cta-note.sp_only {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.top .w-frontTop .fv-cta-note.sp_only + .fv-cta-note {
		margin-top: 5px !important;
	}
}

/* 960〜1200px：1行表示時はスラッシュをテキスト外側に配置 */
@media screen and (min-width: 960px) and (max-width: 1200px) {
	.top .w-frontTop .fv-cta-lead-sp,
	.fv-cta-lead-sp {
		padding-inline: 1.35em;
	}

	.top .w-frontTop .fv-cta-lead-sp::before,
	.fv-cta-lead-sp::before {
		left: 0.05em;
	}

	.top .w-frontTop .fv-cta-lead-sp::after,
	.fv-cta-lead-sp::after {
		right: 0.05em;
	}
}

.p-mainVisual__textLayer {
	justify-content: flex-start;
}

@media screen and (min-width: 960px) {
	.p-mainVisual__textLayer {
		padding-top: 80px;
		box-sizing: border-box;
	}
}

.fv-decoration img{
	height: clamp(77.2px, 60.84px + 5.1125vw, 159px);
  width: auto;
}

/* FVバッジ（匿名相談OK / 出張料無料 / 最長30年保証） */
.fv-badges {
	gap: 16px;
	align-items: flex-start;
	margin-top: 32px !important;
}

@media screen and (max-width: 959px) {
	/* SP: バッジをCTA直下へ寄せる */
	.fv-container .fv-cta-block {
		margin-bottom: 16px !important;
	}

	.fv-badges {
		margin-top: 0 !important;
	}
}

.wp-block-group.fv-badges.u-mb-30,
.fv-badges.u-mb-30 {
	margin-bottom: 3em !important;
}

@media screen and (min-width: 580px) and (max-width: 767px) {
	.wp-block-group.fv-badges.u-mb-30,
	.fv-badges.u-mb-30 {
		margin-bottom: 0 !important;
	}
}

.fv-badge {
	width: clamp(80px, 82.3944px + 4.6948vw, 150px);
	height: auto;
	aspect-ratio: 1 / 1;
	flex: 1 1 0;
	min-width: 0;
	max-width: 150px;
	box-sizing: border-box;
	border: 2px solid #e55910;
	border-radius: 50%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #e55910;
	font-weight: 700;
	font-size: clamp(14px, 13.1831px + 0.7512vw, 24px);
	line-height: 1.5;
	margin: 0 !important;
	background: #fff;
}

@media screen and (max-width: 1200px) {
	.fv-badges {
		gap: 8px;
	}

	/* 丸: 375px=105px → 767px=130px */
	.fv-badge {
		width: clamp(105px, calc(105px + (25 / 392) * (100vw - 375px)), 130px);
		max-width: none;
		flex: 0 0 clamp(105px, calc(105px + (25 / 392) * (100vw - 375px)), 130px);
		padding: 8px 10px;
	}

	/* バッジ文字: 1200px=24px → 375px=18px */
	.fv-badge > strong {
		font-size: clamp(18px, calc(18px + (6 / 825) * (100vw - 375px)), 24px);
		line-height: 1.2;
	}

	/* 2つ目「無料」: 1200px=24px → 375px=20px */
	.fv-badge:nth-of-type(2) > strong {
		font-size: clamp(20px, calc(20px + (4 / 825) * (100vw - 375px)), 24px);
	}

	.fv-badge__line {
		display: inline-block;
		white-space: nowrap;
	}
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
	/* 丸: 767px=130px → 890px=140px */
	.fv-badge {
		width: clamp(130px, calc(130px + (10 / 123) * (100vw - 767px)), 140px);
		flex: 0 0 clamp(130px, calc(130px + (10 / 123) * (100vw - 767px)), 140px);
	}
}

@media screen and (max-width: 374px) {
	/* 375px未満は丸をさらに縮小し、画面幅からはみ出さないようにする（320px=90px → 375px=105px） */
	.fv-badges {
		gap: 6px;
	}

	.fv-badge {
		width: clamp(90px, calc(90px + (15 / 55) * (100vw - 320px)), 105px);
		flex: 0 0 clamp(90px, calc(90px + (15 / 55) * (100vw - 320px)), 105px);
		padding: 6px 8px;
	}

	.fv-badge > strong {
		font-size: clamp(14px, calc(14px + (4 / 55) * (100vw - 320px)), 18px);
	}

	.fv-badge:nth-of-type(2) > strong {
		font-size: 20px;
	}
}

.fv-badge__number {
	font-size: 24px;
}
.fv-badge__em {
	font-size: 1.25em;
}
.fv-cta-lead {
	margin-bottom: 8px !important;
}
.fv-cta-note {
	margin-top: 12px !important;
	line-height: 1.5;
}

/* SWELLに無い u-mb-35 を補完（u-mb-25=2.5em と同スケール） */
.u-mb-35 {
	margin-bottom: 3.5em !important;
}
.benefit-detail-link {
	margin-block: 8px 24px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 24px;
	max-width: 100%;
	box-sizing: border-box;
	position: relative;
	--detail-link-arrow-size: 48px;
	--detail-link-arrow-gap: 24px;
}
.benefit-detail-link::before {
	content: "";
	display: block;
	width: var(--detail-link-arrow-size);
	height: var(--detail-link-arrow-size);
	flex-shrink: 0;
	background: var(--nest-asset-detail-link-arrow, url("./assets/detail-link-arrow.svg")) no-repeat center / contain;
	pointer-events: none;
}
.benefit-detail-link__text {
	font-size: 20px;
	font-weight: 700;
	white-space: nowrap;
}
.benefit-detail-link__text a {
	position: static;
	z-index: 1;
	text-decoration: none;
}
.benefit-detail-link:not(.about-column__more) .benefit-detail-link__text a {
	border-bottom: 1px solid var(--color_main, #e55910);
	padding-block: 9px;
	letter-spacing: 0.3px;
}
.benefit-detail-link__text a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.benefit-detail-link:has(.benefit-detail-link__text a:hover) {
	opacity: 0.7;
}
.benefit-discount-note,
.swell-block-fullWide:has(.benefit-title) .benefit-detail-link + p {
	font-size: 20px;
	line-height: 1.5;
	color: #4c4c4c;
	margin-top: 80px !important;
	margin-bottom: 80px !important;
	max-width: 560px;
	margin-inline: auto;
	text-align: left !important;
}
.benefit-discount-note + p,
.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-10 {
	margin-top: 80px !important;
}

/* PC：注釈（しつこい営業…）下の余白は不要 */
@media screen and (min-width: 960px) {
	.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0,
	.swell-block-fullWide:has(.benefit-title) .wp-block-group.u-mb-10:has(p.fw-500.u-mb-0) {
		margin-bottom: 0 !important;
	}

	.swell-block-fullWide:has(.benefit-title) p.has-text-align-left.u-mb-ctrl.u-mb-50,
	.swell-block-fullWide:has(.benefit-title) .benefit-detail-link + p {
		margin-bottom: 73px !important;
	}

	.cta-section__subnote {
		margin-top: 6px !important;
	}
}

.cta-section__subnote {
	color: #4c4c4c;
}

/* ご成約特典：注釈2行目のスラッシュ（メディア fv-slash-left / fv-slash-right） */
.swell-block-fullWide.benefit-pack-section p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz,
.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz {
	position: relative;
	display: inline-block;
	padding-inline: 18px;
	box-sizing: border-box;
}

.swell-block-fullWide.benefit-pack-section p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz::before,
.swell-block-fullWide.benefit-pack-section p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz::after,
.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz::before,
.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 19px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.swell-block-fullWide.benefit-pack-section p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz::before,
.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz::before {
	top: auto;
	bottom: 4px;
	left: 0;
	background-image: var(--nest-asset-fv-slash-left, url("./assets/fv-slash-left.svg"));
}

.swell-block-fullWide.benefit-pack-section p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz::after,
.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz::after {
	top: auto;
	bottom: 3px;
	right: 0;
	background-image: var(--nest-asset-fv-slash-right, url("./assets/fv-slash-right.svg"));
}

@media screen and (max-width: 959px) {
	.benefit-detail-link {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
		padding-inline: 0;
		gap: clamp(4px, 1.5vw, 8px);
		overflow: visible;
		justify-content: center;
		align-items: center;
		flex-wrap: nowrap;
		margin-inline: auto !important;
		--detail-link-arrow-size: clamp(18px, 5.5vw, 24px);
		--detail-link-arrow-gap: clamp(4px, 1.5vw, 8px);
	}
	.benefit-detail-link::before {
		width: var(--detail-link-arrow-size);
		height: var(--detail-link-arrow-size);
		flex-shrink: 0;
	}
	.benefit-detail-link__text {
		/* 320px=12.5px → 375px=15.8px → 767px=20px */
		font-size: clamp(
			12.5px,
			calc(12.5px + (100vw - 320px) * 3.3 / 55),
			clamp(15.8px, calc(15.8px + (100vw - 375px) * 4.2 / 392), 20px)
		) !important;
		white-space: normal !important;
		flex: 0 1 auto;
		min-width: 0;
		width: auto !important;
		max-width: none;
		overflow: visible;
		text-align: center;
	}

	.benefit-detail-link:not(.about-column__more) .benefit-detail-link__text a {
		font-size: inherit !important;
		white-space: normal !important;
		padding-block: 4px;
	}
	.benefit-discount-note,
	.swell-block-fullWide:has(.benefit-title) .benefit-detail-link + p,
	.swell-block-fullWide:has(.benefit-title) p.has-text-align-left.u-mb-ctrl.u-mb-50 {
		font-size: 18px;
		max-width: min(550px, 100%);
	}

	/* CTA下部の各要素間はgap 40pxで統一（個別margin指定は打ち消す） */
	.swell-block-fullWide:has(.benefit-title) .wp-block-group__inner-container:has(> .benefit-detail-link) {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 40px;
		width: 100%;
		box-sizing: border-box;
		padding-inline: 0;
		min-width: 0;
	}

	/* 注釈の nowrap で親が膨らみ、ボタンが inner からはみ出さないようにする */
	.swell-block-fullWide:has(.benefit-title) .wp-block-group__inner-container:has(> .benefit-detail-link) > * {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	/* 割引案内文は 550px 上限（上の > * の max-width:100% を上書き） */
	.swell-block-fullWide:has(.benefit-title) .wp-block-group__inner-container:has(> .benefit-detail-link) > p.has-text-align-left.u-mb-ctrl.u-mb-50,
	.swell-block-fullWide:has(.benefit-title) .wp-block-group__inner-container:has(> .benefit-detail-link) > .benefit-detail-link + p {
		max-width: min(550px, 100%);
	}

	.swell-block-fullWide:has(.benefit-title) .benefit-detail-link {
		width: fit-content !important;
		max-width: 100%;
		margin-block: 0 !important;
		margin-inline: auto !important;
	}

	.benefit-discount-note,
	.swell-block-fullWide:has(.benefit-title) .benefit-detail-link + p,
	.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-10 {
		margin: 0 !important;
	}

	/* CTA注釈：SP 14px（375px基準） */
	.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-format-2 > .swl-fz,
	.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-fz {
		font-size: 14px !important;
	}

	/* 「まずは金額の目安…」：可能なら1行、収まらなければ折り返し */
	.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz {
		display: inline-block;
		white-space: normal !important;
		overflow-wrap: break-word;
		font-size: clamp(10px, 2.4vw + 3.5px, 14px) !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 {
		max-width: 100%;
		box-sizing: border-box;
		line-height: 1.2 !important;
		margin: 0 !important;
	}

	.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-format-2,
	.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-fz {
		line-height: 1.2 !important;
	}
}

/* タブレット：施工事例「施工事例を見る」と同じアイコン間隔・サイズ */
@media screen and (min-width: 768px) and (max-width: 959px) {
	.benefit-detail-link {
		gap: 16px;
		--detail-link-arrow-size: 32px;
		--detail-link-arrow-gap: 16px;
	}
}

@media screen and (max-width: 360px) {
	.benefit-detail-link {
		padding-inline: 4px;
		gap: 4px;
		max-width: 100%;
	}
}

/* 352〜360px：リンク文言は1行で表示 */
@media screen and (min-width: 352px) and (max-width: 360px) {
	.benefit-detail-link {
		padding-inline: 0 !important;
	}

	.benefit-detail-link:not(.about-column__more) .benefit-detail-link__text,
	.benefit-detail-link:not(.about-column__more) .benefit-detail-link__text a {
		white-space: nowrap !important;
	}
}

/* 374px以下：注釈2行目は画面内に収まるよう縮小 */
@media screen and (max-width: 374px) {
	.swell-block-fullWide:has(.benefit-title) p.fw-500.u-mb-0 .swl-format-2:nth-of-type(2) > .swl-fz {
		font-size: clamp(9px, 2.9vw + 1.5px, 13px) !important;
		white-space: normal !important;
	}
}

@media screen and (max-width: 767px) {
	/* SP：1列 */
	.swell-block-fullWide.benefit-pack-section .swell-block-columns__inner,
	.swell-block-fullWide:has(.benefit-title) .swell-block-columns__inner {
		flex-direction: column;
		align-items: center;
		margin-left: 0;
	}

	.swell-block-fullWide.benefit-pack-section .swell-block-columns__inner > .swell-block-column,
	.swell-block-fullWide:has(.benefit-title) .swell-block-columns__inner > .swell-block-column {
		width: 100%;
		max-width: 550px;
		flex: 1 1 100%;
		margin-inline: auto;
	}
}

.post_content .fv-title {
	font-size: clamp(20px, 12.9577px + 1.8779vw, 40px);
	padding-bottom: 16px;
}

@media screen and (min-width: 580px) {
	.fv-title__lead {
		white-space: nowrap;
	}
}

@media screen and (max-width: 579px) {
	/* Figma SP FV（578:5391） */
	.fv-container {
		padding: 24px 23px 0 !important;
	}

	.post_content .fv-title {
		width: 330px;
		max-width: calc(100vw - 45px);
		font-size: clamp(18px, calc(18px + (100vw - 320px) * 4 / 55), 22px);
		font-family: "M PLUS 1p", sans-serif;
		line-height: 1.5;
		letter-spacing: 0;
		padding-bottom: 0;
		margin-bottom: 24px !important;
	}

	.fv-title__lead {
		white-space: nowrap;
	}

	.post_content .fv-subtitle {
		font-family: "M PLUS 1p", sans-serif;
		font-size: 16px;
		line-height: 1.5;
		margin-bottom: 9px !important;
	}

	/* 959px以下向けの汎用ルール(margin-bottom:24px)より優先させるため、詳細度を上げて指定 */
	.fv-subtitle.u-mb-35.wp-block-heading.is-style-section_ttl,
	.fv-subtitle.u-mb-35.wp-block-heading.u-mb-ctrl {
		margin-bottom: 9px !important;
	}

	.fv-container .fv-cta-block {
		margin-bottom: 9px !important;
	}

	.wp-block-group.fv-badges.u-mb-30,
	.fv-badges.u-mb-30 {
		margin-bottom: 11px !important;
	}

	.fv-badge:first-child > strong {
		margin-top: 8px;
	}

	.fv-badge__unit {
		font-size: 16px;
	}

	/* FV下部（ブログパーツ434） */
	.top .w-frontTop .p-blogParts[data-partsid="434"] {
		min-height: 178px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.top .w-frontTop .p-blogParts[data-partsid="434"] > .wp-block-spacer {
		display: none;
	}

	.top .w-frontTop .fv-cta-lead-sp {
		margin-top: 0 !important;
		margin-bottom: 5px !important;
		line-height: 1.5;
		width: 330px;
		max-width: 100%;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.top .w-frontTop .fv-cta-lead-sp .swl-fz {
		font-size: 14px !important;
	}

	.top .w-frontTop .line-btn {
		width: 330px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 0 !important;
	}

	.top .w-frontTop .line-btn .swell-block-button__link {
		width: 100%;
		min-height: 52px;
		padding: 10px 30px !important;
		gap: 16px;
		box-sizing: border-box;
	}

	.top .w-frontTop .line-btn .swl-fz {
		font-size: 20px !important;
	}

	.top .w-frontTop .fv-cta-note {
		width: 336px;
		max-width: 100%;
		margin: 6px auto 0 !important;
		font-size: 12px !important;
		line-height: 1.3;
	}

	.top .w-frontTop .fv-cta-note + .fv-cta-note {
		margin-top: 5px !important;
		font-size: 11.5px !important;
	}
}

/* 500〜767px：FVコンテンツ塊は中央、テキストは左揃え（Figma 500px） */
@media screen and (min-width: 500px) and (max-width: 767px) {
	.fv-contents > .swell-block-columns__inner > .swell-block-column:nth-of-type(1) {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.fv-contents .fv-title,
	.fv-contents .fv-subtitle,
	.post_content .fv-contents .fv-title,
	.post_content .fv-contents .fv-subtitle {
		text-align: left !important;
		margin-inline: 0 !important;
		width: fit-content;
		max-width: 100%;
	}

	.fv-contents .fv-badges {
		justify-content: center;
	}
}

.post_content .fv-subtitle {
font-size: clamp(16px, 14.5915px + 0.3756vw, 20px);
font-weight: 700;
}

@media screen and (max-width: 959px) {
	.post_content .fv-subtitle,
	.post_content .fv-subtitle.u-mb-35,
	.fv-subtitle.u-mb-35 {
		margin-bottom: 24px !important;
	}

	/* SP CTAリード：スラッシュ位置＋改行 */
	.fv-cta-lead-sp {
		position: relative;
		display: block;
		width: fit-content;
		max-width: calc(100% - 32px);
		margin-inline: auto !important;
		padding-inline: 0;
		box-sizing: border-box;
		line-height: 1.5;
	}

	.fv-cta-lead-sp .swl-fz {
		display: inline-block;
		text-align: center;
	}

	.fv-cta-lead-sp::before,
	.fv-cta-lead-sp::after {
		content: "";
		position: absolute;
		width: 12px;
		height: 19px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}

	.fv-cta-lead-sp::before {
		top: auto;
		bottom: 4px;
		left: calc(50% - 7.5em - 18px);
		background-image: var(--nest-asset-fv-slash-left, url("./assets/fv-slash-left.svg"));
	}

	.fv-cta-lead-sp::after {
		bottom: 3px;
		right: calc(50% - 7.5em - 18px);
		background-image: var(--nest-asset-fv-slash-right, url("./assets/fv-slash-right.svg"));
	}

	.line-btn.sp_only .swl-format-2 {
		font-size: 20px !important;
	}

	.line-btn.sp_only .swell-block-button__link > span {
		display: flex;
		align-items: center;
	}

	.line-btn.sp_only .swl-inline-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 32px;
		width: 32px !important;
		height: 32px !important;
		aspect-ratio: 1 / 1 !important;
	}

	.line-btn.sp_only .swl-inline-icon::after {
		width: 23px !important;
		height: 32px !important;
		min-width: 23px !important;
		max-width: none !important;
		top: 50%;
		left: 13px;
	}
}

@media screen and (max-width: 767px) {
	.swell-block-fullWide:has(.benefit-title) {
		/* リボン擬似要素が clip で消えないよう visible（横スクロールはカード列側で抑制） */
		overflow-x: visible !important;
		overflow-y: visible !important;
		padding-top: 75px !important;
	}

	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner {
		overflow: visible !important;
	}

	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns {
		overflow-x: clip;
	}

	.swell-block-fullWide:has(.benefit-title) .benefit-detail-link {
		max-width: 100%;
		overflow-x: visible;
	}
}

@media screen and (min-width: 361px) {
    .u-br__fv-text {
        display: none;
    }
}
@media screen and (max-width: 362px) {
    .fv-text{
        display: none;
    }
}



/* LINE簡単見積もり */
.line-btn .swell-block-button__link[data-has-icon]  {
border-radius: 10px;
box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.25);
	gap:1rem;
    white-space: nowrap;
}

.line-btn .swell-block-button__link[data-has-icon]:hover{
	opacity: 0.7;
}

.line-btn .swl-inline-icon:after {
    width: 32px;
    left: -4px;
    top: 45%;
    transform: translateY(-50%);
}

/* FV：出張費無料テキストを左揃えより3文字分インデント（ボタンは左揃えのまま） */
.fv-container .wp-block-group:has(.line-btn) .wp-block-paragraph:not(.fv-cta-note):not(.fv-cta-lead) {
	text-align: left !important;
	padding-inline-start: 1.5ch;
}

/* 特典タイトル：767px以下は「ご成約特典」の前で改行 */
.u-br__benefit-title {
	display: none;
}

@media screen and (max-width: 767px) {
	.u-br__benefit-title {
		display: block;
	}
}

/* LINE特典セクション */

h2.benefit-title,
.benefit-title {
	width: fit-content;
	max-width: 100%;
	margin-inline: auto !important;
	padding: 0 !important;
	position: relative;
	display: block;
	overflow: visible;
	background: none !important;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	box-sizing: border-box;
}

/* 中央帯（管理画面で設定した背景色クラスを span に適用） */
h2.benefit-title .benefit-title__text,
.benefit-title .benefit-title__text {
	display: block;
	position: relative;
	z-index: 1;
	width: fit-content;
	margin-inline: auto;
	padding-top: 5px !important;
	padding-bottom: 14px !important;
	padding-inline: clamp(13px, 5.9577px + 1.8779vw, 33px) !important;
}

/* 左右のリボン（擬似要素は中央帯より背面） */
h2.benefit-title.is-style-section_ttl::before,
h2.benefit-title::before,
.benefit-title::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: 28% !important;
	right: 94%;
	left: auto !important;
	bottom: auto !important;
	width: 145px !important;
	height: 73px !important;
	aspect-ratio: auto;
	background: var(--nest-ribbon-left, url("/wp-content/uploads/ribbon-left.webp")) no-repeat center / 100% 100% !important;
	border-radius: 0 !important;
	pointer-events: none;
	transform: none !important;
	z-index: 0 !important;
}

h2.benefit-title.is-style-section_ttl::after,
h2.benefit-title::after,
.benefit-title::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: 28% !important;
	left: 94%;
	right: auto !important;
	bottom: auto !important;
	width: 145px !important;
	height: 73px !important;
	aspect-ratio: auto;
	background: var(--nest-ribbon-right, url("/wp-content/uploads/ribbon-rignt.webp")) no-repeat center / 100% 100% !important;
	border-radius: 0 !important;
	pointer-events: none;
	transform: none !important;
	z-index: 0 !important;
}

/* 擬似要素（リボン）も含めて画面からはみ出さない */
.swell-block-fullWide:has(.benefit-title) {
	overflow-x: visible;
	overflow-y: visible;
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
	h2.benefit-title.is-style-section_ttl::before,
	h2.benefit-title::before,
	.benefit-title::before,
	h2.benefit-title.is-style-section_ttl::after,
	h2.benefit-title::after,
	.benefit-title::after {
		/* 左右余白 + タイトルへの重なり分 - 余白バッファ */
		--benefit-ribbon-w: min(145px, calc((100vw - 100%) / 2 + 6% - 16px));
		width: var(--benefit-ribbon-w) !important;
		height: calc(var(--benefit-ribbon-w) * 73 / 145) !important;
	}

	/* 中間幅：nowrap だと帯内で文字が切れるため折り返し可に */
	h2.benefit-title,
	.benefit-title {
		white-space: normal !important;
		max-width: min(100%, calc(100vw - 64px));
	}

	h2.benefit-title .benefit-title__text,
	.benefit-title .benefit-title__text {
		max-width: 100%;
		white-space: normal;
		box-sizing: border-box;
	}

	.benefit-title__line1,
	.benefit-title__line2 {
		white-space: normal !important;
		max-width: 100%;
		overflow-wrap: break-word;
	}
}

/* SP特典タイトル：中央帯は text + padding、左右リボンは擬似要素（inner幅超過OK） */
@media screen and (max-width: 767px) {
	h2.benefit-title,
	.benefit-title {
		white-space: normal !important;
		width: fit-content !important;
		max-width: none !important;
		height: auto !important;
		box-sizing: border-box;
		margin-inline: auto !important;
		margin-bottom: 34px !important;
		padding: 0 !important;
		display: block !important;
		position: relative !important;
		overflow: visible !important;
		line-height: 1.2 !important;
		background: none !important;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}

	h2.benefit-title .benefit-title__text,
	.benefit-title .benefit-title__text,
	h2.benefit-title .benefit-title__text.has-background,
	.benefit-title .benefit-title__text.has-background,
	h2.benefit-title .benefit-title__text.has-swl-main-background-color,
	.benefit-title .benefit-title__text.has-swl-main-background-color {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: relative;
		z-index: 1;
		white-space: normal !important;
		/* 管理画面の背景色を生かす（透明上書きしない） */
		width: auto !important;
		max-width: none !important;
		height: auto !important;
		box-sizing: border-box;
		/* padding：block 4px 固定 / inline 375px=5px → 767px=20px */
		padding-block: 4px !important;
		padding-inline: clamp(5px, calc(5px + (100vw - 375px) * 15 / 392), 20px) !important;
		line-height: 1.2 !important;
		letter-spacing: 0.4px;
		font-size: inherit !important;
	}

	/* flex で積むため br は不要 */
	h2.benefit-title .u-br__benefit-title,
	.benefit-title .u-br__benefit-title {
		display: none !important;
	}

	.benefit-title__line1 {
		display: block;
		font-size: 18px !important;
		line-height: 1.2 !important;
		white-space: normal !important;
		max-width: 100%;
		overflow-wrap: break-word;
	}

	.benefit-title__line2 {
		display: block;
		font-size: 20px !important;
		line-height: 1.2 !important;
		white-space: normal !important;
		max-width: 100%;
		overflow-wrap: break-word;
	}

	/* 左右リボン：帯の外側へはみ出してOK */
	h2.benefit-title.is-style-section_ttl::before,
	h2.benefit-title::before,
	.benefit-title::before,
	h2.benefit-title.is-style-section_ttl::after,
	h2.benefit-title::after,
	.benefit-title::after {
		content: "" !important;
		display: block !important;
		position: absolute !important;
		top: 78% !important;
		transform: translateY(-50%) !important;
		width: 45px !important;
		height: 51.184px !important;
		aspect-ratio: auto;
		border-radius: 0 !important;
		pointer-events: none;
		z-index: 0 !important;
	}

	h2.benefit-title.is-style-section_ttl::before,
	h2.benefit-title::before,
	.benefit-title::before {
		background: var(--nest-ribbon-left-sp, url("/wp-content/uploads/ribbon-left-sp.webp")) no-repeat center / 100% 100% !important;
		right: 94% !important;
		left: auto !important;
	}

	h2.benefit-title.is-style-section_ttl::after,
	h2.benefit-title::after,
	.benefit-title::after {
		background: var(--nest-ribbon-right-sp, url("/wp-content/uploads/ribbon-right-sp.webp")) no-repeat center / 100% 100% !important;
		left: 94% !important;
		right: auto !important;
	}
}

/* 極小幅のみ文字をわずかに縮小（Figma 375基準は 18/20 を維持） */
@media screen and (max-width: 340px) {
	.benefit-title__line1 {
		font-size: 15px !important;
	}

	.benefit-title__line2 {
		font-size: 17px !important;
	}
}

/* ご成約特典カード */
.swell-block-fullWide.section__inner:has(.benefit-title) {
	margin-bottom: 0 !important;
}

@media screen and (min-width: 960px) {
	.swell-block-fullWide.section__inner:has(.benefit-title) > .swell-block-fullWide__inner {
		padding-block: 100px !important;
	}
}

.swell-block-fullWide.benefit-pack-section > .swell-block-fullWide__inner > .swell-block-columns,
.swell-block-fullWide.benefit-pack-section .benefit-pack-columns,
.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns {
	--swl-clmn-mrgn--x: 0px !important;
	--swl-clmn-mrgn--y: 0px !important;
}

@media screen and (min-width: 768px) {
	.swell-block-fullWide.benefit-pack-section .benefit-pack-columns > .swell-block-columns__inner,
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner {
		margin-inline: 0 !important;
		width: 100% !important;
	}

	.swell-block-fullWide.benefit-pack-section .benefit-pack-columns > .swell-block-columns__inner > .swell-block-column,
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
		margin-inline: 0 !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 1213px) {
	/* TAB：ブラウザ幅 768〜1213px は2列 */
	.swell-block-fullWide.benefit-pack-section > .swell-block-fullWide__inner > .swell-block-columns,
	.swell-block-fullWide.benefit-pack-section .benefit-pack-columns,
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns {
		--clmn-w--pc: 50% !important;
		--clmn-w--tab: 50% !important;
	}

	.swell-block-fullWide.benefit-pack-section .benefit-pack-columns > .swell-block-columns__inner,
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 32px !important;
		margin-left: 0 !important;
	}

	.swell-block-fullWide.benefit-pack-section .benefit-pack-columns > .swell-block-columns__inner > .swell-block-column,
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
		--clmn-w: calc((100% - 32px) / 2) !important;
		flex: 0 0 calc((100% - 32px) / 2) !important;
		width: calc((100% - 32px) / 2) !important;
		max-width: calc((100% - 32px) / 2) !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		box-sizing: border-box;
	}
}

@media screen and (min-width: 1214px) {
	/* PC：ブラウザ幅 1214px〜3列 */
	.swell-block-fullWide.benefit-pack-section > .swell-block-fullWide__inner > .swell-block-columns,
	.swell-block-fullWide.benefit-pack-section .benefit-pack-columns,
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns {
		--clmn-w--pc: 33.33% !important;
	}

	.swell-block-fullWide.benefit-pack-section .benefit-pack-columns > .swell-block-columns__inner,
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner {
		--benefit-card-gap: clamp(16px, calc(16px + (100vw - 1214px) * 16 / 226), 32px);
		gap: var(--benefit-card-gap) !important;
		flex-wrap: nowrap !important;
		margin-left: 0 !important;
	}

	.swell-block-fullWide.benefit-pack-section .benefit-pack-columns > .swell-block-columns__inner > .swell-block-column,
	.swell-block-fullWide:has(.benefit-title) > .swell-block-fullWide__inner > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
		--clmn-w: 33.33% !important;
		flex: 1 1 0 !important;
		width: calc((100% - 2 * var(--benefit-card-gap)) / 3) !important;
		max-width: calc((100% - 2 * var(--benefit-card-gap)) / 3) !important;
		min-width: 0;
		margin-left: 0 !important;
	}
}

.swell-block-fullWide:has(.benefit-title) .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
	display: flex;
	padding: 0 16px 20px;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	align-self: stretch;
	box-sizing: border-box;
	border-radius: 20px;
	background: #fff;
}

.swell-block-fullWide:has(.benefit-title) .swell-block-columns > .swell-block-columns__inner > .swell-block-column > .wp-block-group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	width: 100%;
}

.swell-block-fullWide:has(.benefit-title) .swell-block-column .wp-block-group .wp-block-group {
	gap: 24px;
}

.swell-block-fullWide:has(.benefit-title) .swell-block-column p.wp-block-paragraph {
	font-size: 16px;
	line-height: 1.6;
}

.swell-block-fullWide:has(.benefit-title) .swell-block-column h3.u-mb-5 {
	margin-bottom: 0 !important;
}

.swell-block-fullWide:has(.benefit-title) .swell-block-column h3 strong {
	font-size: 20px !important;
}

/* 768〜960px: 21px / 961px以上（1440含む）: 24px */
@media screen and (min-width: 768px) and (max-width: 960px) {
	.swell-block-fullWide:has(.benefit-title) .swell-block-column h3 strong {
		font-size: 21px !important;
	}
}

@media screen and (min-width: 961px) {
	.swell-block-fullWide:has(.benefit-title) .swell-block-column h3 strong {
		font-size: 24px !important;
	}
}

.benefit-image {
	position: relative;
	display: block;
	width: 384px;
	height: 256px;
	aspect-ratio: 3 / 2;
	max-width: 100%;
	margin-inline: 0;
	isolation: isolate;
	overflow: visible;
}

.benefit-image-1.u-mb-10,
.benefit-image-2.u-mb-10,
.benefit-image-3.u-mb-10 {
	margin-bottom: 0 !important;
}

.benefit-image img {
	border-radius: 20px;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 1213px) {
	.benefit-image {
		width: 100%;
		height: auto;
		aspect-ratio: 212 / 149;
	}
}

.benefit-image::before {
	content: "" !important;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 53px;
	height: 63px;
	aspect-ratio: 53 / 63;
	background: var(--nest-number-bg, url("/wp-content/uploads/number-background.webp")) no-repeat center / 100% 100%;
	color: #fff;
	font-family: "M PLUS 1p", sans-serif;
	font-size: 30px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2;
	pointer-events: none;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.benefit-image-1::before {
	content: "01" !important;
}

.benefit-image-2::before {
	content: "02" !important;
}

.benefit-image-3::before {
	content: "03" !important;
}

/* 床の汚れ対策セクション */
.swell-block-fullWide.section-recommend {
	padding-block: clamp(80px, 72.9577px + 1.8779vw, 100px) !important;
	margin-bottom: 0 !important;
}

.section-recommend .swell-block-fullWide__inner {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto;
	align-items: center;
	justify-items: center;
	gap: 0;
	padding-inline: clamp(24px, 12px + 3vw, 64px);
	position: relative;
}

.section-recommend .swell-block-fullWide__inner > .recommend-main,
.section-recommend .swell-block-fullWide__inner > h2.recommend-main {
	grid-row: 1;
	grid-column: 1;
}

.section-recommend .swell-block-fullWide__inner > .recommend-contents {
	grid-row: 2;
	grid-column: 1;
	width: 100%;
	z-index: 1;
}

/* 装飾をカードと同じ行に重ね、カードより下層 */
.section-recommend .swell-block-fullWide__inner > .recommend-deco {
	grid-row: 2;
	grid-column: 1;
	z-index: 0;
}

.section-recommend .recommend-contents {
	width: 100%;
	margin-inline: auto !important;
	margin-top: clamp(40px, 24px + 4vw, 80px) !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
}

@media screen and (min-width: 768px) {
	.section-recommend .recommend-contents {
		max-width: 1312px;
	}
}

/* 装飾は高さを持たせず、カードより下層に重ねる */
.section-recommend .recommend-deco {
	margin: 0 !important;
	height: 0;
	overflow: visible;
	pointer-events: none;
	align-self: stretch;
	justify-self: stretch;
	width: 100%;
	position: relative;
	z-index: 0;
}

.section-recommend .recommend-contents > .swell-block-columns__inner {
	gap: 32px !important;
	margin: 0 !important;
}

@media screen and (min-width: 960px) {
	.section-recommend .recommend-contents > .swell-block-columns__inner {
		gap: 32px !important;
	}
}

.section-recommend .recommend-contents > .swell-block-columns__inner > .swell-block-column {
	background: #757065;
	border-radius: 20px;
	color: #fff;
	padding: 20px !important;
	display: flex;
	flex-direction: column;
	gap: 36px;
	box-sizing: border-box;
	margin-left: 0 !important;
	margin-inline-start: 0 !important;
}

/* PC：3列（Figma 578:4613） */
@media screen and (min-width: 960px) {
	.section-recommend .recommend-contents > .swell-block-columns__inner > .swell-block-column {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		width: calc((100% - 2 * 32px) / 3) !important;
		gap: 0 !important;
		min-width: 0;
	}

	.section-recommend .recommend-contents > .swell-block-columns__inner > .swell-block-column > .swell-block-column__inner,
	.section-recommend .recommend-contents > .swell-block-columns__inner > .swell-block-column > .wp-block-group__inner-container {
		gap: 24px;
	}

	.section-recommend .recommend-card__lead,
	.post_content h3.recommend-card__title,
	h3.recommend-card__title {
		width: 100% !important;
		max-width: 100%;
		text-align: left !important;
		margin-inline: 0 !important;
		align-self: stretch;
	}

	.section-recommend .recommend-card__lead + .recommend-card__title,
	.section-recommend .recommend-card__lead + h3.recommend-card__title {
		margin-top: 0 !important;
	}

	.section-recommend .recommend-card__lead,
	.section-recommend .recommend-card__lead .swl-fz {
		line-height: 1.5 !important;
	}

	.section-recommend .recommend-image {
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 188 / 125;
		min-width: 0;
		align-self: stretch;
		margin-top: 16px !important;
	}

	.recommend-card-title__main,
	h3.recommend-card__title .recommend-card-title__main,
	h3.recommend-card__title .recommend-card-title__main strong {
		line-height: 1.5 !important;
	}

	.post_content h3.recommend-card__title,
	.post_content h3.recommend-card__title.is-style-section_ttl,
	h3.recommend-card__title,
	.recommend-card__title.wp-block-heading {
		line-height: 1.5 !important;
	}
}

.section-recommend .recommend-contents > .swell-block-columns__inner > .swell-block-column > .swell-block-column__inner,
.section-recommend .recommend-contents > .swell-block-columns__inner > .swell-block-column > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 36px;
	width: 100%;
	max-width: none !important;
}

.section-recommend .recommend-card__title,
.section-recommend .recommend-card__title .recommend-card-title__main,
.section-recommend .recommend-card__lead {
	color: #fff !important;
}

/* カード見出し：1行目（リード） */
.section-recommend .recommend-card__lead {
	margin: 0 !important;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-align: left;
}

.section-recommend .recommend-card__lead .swl-fz {
	font-size: 16px !important;
	line-height: 1.5 !important;
}

.section-recommend .recommend-title-pc {
	display: inline;
}

.section-recommend .recommend-title-pc > strong {
	font-size: 40px !important;
}

.section-recommend .recommend-title-sp {
	display: none;
}

@media screen and (max-width: 959px) {
	.section-recommend .recommend-title-pc {
		display: none;
	}

	.section-recommend .recommend-title-sp {
		display: inline;
	}
}

/* 768〜959px：管理画面の2列設定を尊重 */
@media screen and (min-width: 768px) and (max-width: 959px) {
	.section-recommend .recommend-contents > .swell-block-columns__inner {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		margin-inline: auto !important;
		width: 100%;
		gap: 1rem !important;
	}

	.section-recommend .recommend-contents > .swell-block-columns__inner > .swell-block-column {
		width: calc((100% - 1rem) / 2) !important;
		max-width: none !important;
	}
}

/* 767px以下：1列・480px container */
@media screen and (max-width: 767px) {
	.section-recommend .swell-block-fullWide__inner > .recommend-contents,
	.section-recommend .recommend-contents {
		width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
	}

	.section-recommend .recommend-contents > .swell-block-columns__inner {
		flex-direction: column !important;
		max-width: 100% !important;
		margin-inline: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
	}

	.section-recommend .recommend-contents > .swell-block-columns__inner > .swell-block-column {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
	}
}

h2.section-title.recommend-main {
font-size: clamp(20px, 16px + 1.25vw, 40px) !important;
}
h2.section-title.recommend-sub {
font-size: clamp(20px, 12.9578px + 1.8779vw, 40px) !important;
line-height: 1.2 !important; /* Figma 578:4634（.post_content h2 の 1.4 を上書き） */
}
h2.section-title .recommend-title {
	font-size: clamp(24px, 15.5493px + 2.2535vw, 48px) !important;
}

/* SP：おすすめ見出しの行ごとフォントサイズ */
@media screen and (max-width: 959px) {
	/* 1行目「キズや汚れがつく前の」：375px以上 24px */
	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(1) .recommend-subtitle,
	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(1) .recommend-subtitle strong {
		font-size: 24px !important;
		white-space: nowrap;
	}

	/* 2行目「今がおすすめです！」：375px以上 30px */
	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(2) .recommend-subtitle,
	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(2) .recommend-subtitle strong,
	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(2) > strong {
		font-size: 30px !important;
		white-space: nowrap;
	}

	/* recommend-main SPタイトル：1行目 30px / 2行目 24px */
	.section-recommend .recommend-title-sp .recommend-title > strong,
	.section-recommend .recommend-title-sp > strong:nth-of-type(1) {
		font-size: 30px !important;
	}

	.section-recommend .recommend-title-sp > strong:nth-of-type(2) {
		font-size: 24px !important;
	}
}

/* 374px以下：おすすめ見出しを1行に収めるため縮小（375pxは上記サイズ維持） */
@media screen and (max-width: 374px) {
	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(1) .recommend-subtitle,
	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(1) .recommend-subtitle strong {
		/* 320px ≈ 20px */
		font-size: clamp(18px, 6.25vw, 22px) !important;
		white-space: nowrap;
	}

	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(2) .recommend-subtitle,
	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(2) .recommend-subtitle strong,
	h2.section-title.recommend-sub > .swl-inline-color:nth-of-type(2) > strong {
		font-size: clamp(22px, 7.5vw, 28px) !important;
		white-space: nowrap;
	}
}

/* 「フロアコーティングのメリット」見出し：色付き部分（メリット）だけ大きく */
h2.section-title.has-custom-css strong > span[style] + span.has-swl-main-color {
	font-size: clamp(24px, 15.5493px + 2.2535vw, 48px) !important;
}

/* SP：メリット の前で改行（「フロアコーティングの」「メリット」の2行） */
@media screen and (max-width: 767px) {
	.swell-block-fullWide:has(.merit-cards) h2.section-title.has-custom-css strong > span[style] + span.has-swl-main-color {
		display: block;
	}
}

/* Figma 578:4642：見出し lh 1.2（.post_content h2 の 1.4 を上書き） */
.swell-block-fullWide:has(.merit-cards) h2.section-title.has-custom-css {
	line-height: 1.2 !important;
	margin-bottom: 0 !important;
}

/* メリット見出し下のリード文 */
div.swell-block-fullWide__inner.l-container > div.wp-block-group > div.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained > p.has-text-align-center.u-mb-ctrl.u-mb-10 > strong {
	font-size: 24px;
}

/* Figma 578:4638：タイトル周り（lead→h2 24px、タイトル→カード 80px） */
.swell-block-fullWide:has(.merit-cards) > .swell-block-fullWide__inner {
	gap: 80px !important;
}

@media screen and (min-width: 960px) {
	.swell-block-fullWide:has(.merit-cards) > .swell-block-fullWide__inner {
		padding-block: 100px !important;
	}
}

/* SP：タイトルとカードの gap 40px */
@media screen and (max-width: 767px) {
	.swell-block-fullWide:has(.merit-cards) > .swell-block-fullWide__inner {
		gap: 40px !important;
	}
}

.swell-block-fullWide:has(.merit-cards) > .swell-block-fullWide__inner > .wp-block-group {
	margin-bottom: 0 !important;
}

.swell-block-fullWide:has(.merit-cards) > .swell-block-fullWide__inner > .wp-block-group p.has-text-align-center {
	margin-bottom: 24px !important;
	line-height: 1.5;
	letter-spacing: 0.02em;
}

/* SP：リード文とタイトルの gap 16px（Figma 578:5507） */
@media screen and (max-width: 767px) {
	.swell-block-fullWide:has(.merit-cards) > .swell-block-fullWide__inner > .wp-block-group > .wp-block-group__inner-container {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.swell-block-fullWide:has(.merit-cards) > .swell-block-fullWide__inner > .wp-block-group p.has-text-align-center {
		margin-bottom: 0 !important;
	}

	.swell-block-fullWide:has(.merit-cards) > .swell-block-fullWide__inner > .wp-block-group p.has-text-align-center,
	.swell-block-fullWide:has(.merit-cards) > .swell-block-fullWide__inner > .wp-block-group p.has-text-align-center strong {
		font-size: 16px !important;
		font-weight: 700 !important;
		color: #6d5934 !important;
		letter-spacing: 0.02em;
		line-height: 1.5 !important;
	}
}

@media screen and (max-width: 959px) {
	/* メリットリード文 */
	div.swell-block-fullWide__inner.l-container > div.wp-block-group > div.wp-block-group__inner-container.is-layout-constrained.wp-block-group-is-layout-constrained > p.has-text-align-center.u-mb-ctrl.u-mb-10 > strong {
		font-size: 16px;
	}

	/* 「フロアコーティングのメリット」見出し：375px以上は28px（Figma 578:5511） */
	.swell-block-fullWide:has(.merit-cards) h2.section-title.has-custom-css,
	.swell-block-fullWide:has(.merit-cards) h2.section-title.has-custom-css .swl-inline-color,
	.swell-block-fullWide:has(.merit-cards) h2.section-title.has-custom-css strong > span[style] + span.has-swl-main-color {
		font-size: 28px !important;
	}
}

/* 374px以下：2行（フロアコーティングの / メリット）を維持しつつ1行目が収まるよう縮小 */
@media screen and (max-width: 374px) {
	h2.section-title.has-custom-css:has(span[style]) .swl-inline-color,
	h2.section-title.has-custom-css strong > span[style] + span.has-swl-main-color {
		/* 320pxでも「フロアコーティングの」が枠内に収まるサイズ */
		font-size: clamp(16px, 5.2vw, 24px) !important;
	}

	/* 1行目：収まらない幅では折り返しを許可 */
	h2.section-title.has-custom-css:has(span[style]) strong > span[style].swl-inline-color {
		display: block;
		max-width: 100%;
		white-space: normal;
		overflow-wrap: break-word;
		box-sizing: border-box;
	}
}


.recommend-card-title__main,
h3.recommend-card__title .recommend-card-title__main,
h3.recommend-card__title .recommend-card-title__main strong,
.post_content h3.recommend-card__title,
.post_content h3.recommend-card__title.is-style-section_ttl,
h3.recommend-card__title,
.recommend-card__title.wp-block-heading {
	font-size: clamp(16px, calc(16px + (100vw - 768px) * 4 / 672), 20px) !important;
}

.recommend-card-title__main  {
	display: block;
	max-width: 100%;
	white-space: normal !important;
	overflow-wrap: break-word;
	word-break: break-word;
	box-sizing: border-box;
}

/* PC：カード幅内で折り返し（nowrapだと1024付近でのはみ出し） */
@media screen and (min-width: 960px) {
	.recommend-card-title__main,
	h3.recommend-card__title .recommend-card-title__main,
	h3.recommend-card__title .recommend-card-title__main strong {
		white-space: normal !important;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.post_content h3.recommend-card__title,
	h3.recommend-card__title {
		width: 100%;
		max-width: 100%;
	}
}

/* SP〜タブレット（Figma 578:4618） */
@media screen and (max-width: 959px) {
	.section-recommend .recommend-contents > .swell-block-columns__inner > .swell-block-column {
		gap: 0 !important;
	}

	.section-recommend .recommend-card__lead + .recommend-card__title,
	.section-recommend .recommend-card__lead + h3.recommend-card__title {
		margin-top: 0 !important;
	}

	.section-recommend .recommend-card__lead,
	.section-recommend .recommend-card__lead .swl-fz {
		line-height: 1.5 !important;
	}

	.section-recommend .recommend-image {
		margin-top: 16px !important;
	}

	.recommend-card-title__main {
		display: block;
		width: 100% !important;
		max-width: 100%;
		white-space: normal !important;
		overflow: visible;
		overflow-wrap: anywhere;
		word-break: break-word;
		line-height: 1.5 !important;
		box-sizing: border-box;
	}

	h3.recommend-card__title .recommend-card-title__main,
	h3.recommend-card__title .recommend-card-title__main strong {
		display: block;
		width: 100% !important;
		max-width: 100%;
		white-space: normal !important;
		line-height: 1.5 !important;
		box-sizing: border-box;
	}

	/* 見出し内の余白用 swl-fz（24px等）で行高が膨らまないようにする */
	h3.recommend-card__title .recommend-card-title__main .swl-fz {
		font-size: inherit !important;
		line-height: 1.5 !important;
	}

	.post_content h3.recommend-card__title,
	.post_content h3.recommend-card__title.is-style-section_ttl,
	h3.recommend-card__title,
	.recommend-card__title.wp-block-heading {
		width: 100% !important;
		max-width: 100%;
		margin-inline: 0 !important;
		align-self: stretch;
		line-height: 1.5 !important;
	}
}

/* 374px以下：長文はみ出し防止 */
@media screen and (max-width: 374px) {
	.section-recommend .recommend-card__lead,
	.section-recommend .recommend-card__lead .swl-fz {
		font-size: clamp(13px, calc(7.909vw - 11.66px), 16px) !important;
	}

	.recommend-card-title__main,
	h3.recommend-card__title .recommend-card-title__main,
	h3.recommend-card__title .recommend-card-title__main strong {
		font-size: clamp(13px, calc(7.909vw - 11.66px), 16px) !important;
	}
}

.recommend-image {
	height: 250px;
	align-self: stretch;
	aspect-ratio: 188 / 125;
	width: 100%;
	max-width: 100%;
}

@media screen and (max-width: 500px) {
	.recommend-image {
		height: 191px;
		align-self: stretch;
		aspect-ratio: 188 / 125;
		width: 100%;
		max-width: 100%;
	}
}

.recommend-image img{
    border-radius: 20px;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* .post_content h3 { line-height: 1.4 } を上書き */
.post_content h3.recommend-card__title,
.post_content h3.recommend-card__title.is-style-section_ttl,
h3.recommend-card__title,
.recommend-card__title.wp-block-heading {
	width: fit-content;
	max-width: 100%;
	margin-inline: auto !important;
	margin-bottom: 0 !important;
	align-self: center;
	text-align: left !important;
	box-sizing: border-box;
	line-height: 1.5 !important;
}

.post_content h3.recommend-card__title *,
h3.recommend-card__title .swl-fz,
h3.recommend-card__title strong,
h3.recommend-card__title .recommend-card-title__main,
h3.recommend-card__title .recommend-card-title__main strong {
	line-height: 1.5 !important;
}

h3.recommend-card__title.u-mb-15,
.recommend-card__title.u-mb-15 {
	margin-bottom: 0 !important;
}

.recommend-contents {
    position: relative;
	z-index: 1;
}
.recommend-deco img {
	position: absolute;
	top: -99px;
	right: 8%;
	z-index: -1;
	width: clamp(69px, 36.9577px + 8.5446vw, 160px);
	aspect-ratio: 153 / 175;
}

/* 960〜1300px：カード上端に乗るように配置 */
@media screen and (min-width: 960px) and (max-width: 1300px) {
	.recommend-deco img {
		right: 0;
		width: clamp(110px, 10vw, 140px);
		top: -48px;
	}
}

@media screen and (max-width: 959px) {
	.recommend-deco img{
		top: -40px;
		right: 0;
	}
}

/* 767px以下：カードより下層・カード右端からはみ出さない */
@media screen and (max-width: 767px) {
	.section-recommend .swell-block-fullWide__inner > .recommend-deco {
		z-index: 0;
	}

	.section-recommend .swell-block-fullWide__inner > .recommend-contents,
	.section-recommend .recommend-contents {
		z-index: 1;
		position: relative;
	}

	.section-recommend .recommend-deco img,
	.recommend-deco img {
		z-index: 0;
		top: -31px;
		/* カード列（max 550px）の右端に揃える（狭い画面ではわずかに外へ） */
		right: max(-8px, calc((100% - 550px) / 2));
		width: clamp(56px, 16vw, 72px);
	}
}

/* 320〜374px：テキストとかぶらないよう右寄せ・縮小 */
@media screen and (min-width: 320px) and (max-width: 374px) {
	.section-recommend .recommend-deco img,
	.recommend-deco img {
		top: -1px;
		right: 13px;
		width: 36px;
		z-index: 0;
	}
}

.swell-block-fullWide.section-recommend__sub {
	--section-recommend-sub-pb: clamp(32px, 15.0986px + 4.507vw, 80px);
	padding-block: var(--section-recommend-sub-pb) !important;
	margin-bottom: 0 !important; /* SWELL .post_content > * の block-margin を打ち消し */
	position: relative;
	/* 次セクションへはみ出した部分を隠す（SP / 768px以上とも） */
	overflow: hidden;
}

/* Figma 578:4630：背景写真の上に白29%オーバーレイ */
.section-recommend__sub::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(255, 255, 255, 0.29);
	pointer-events: none;
	z-index: 0;
}

.section-recommend__sub > .swell-block-fullWide__inner {
	position: relative;
	z-index: 1;
}

.section-recommend__sub .swell-block-fullWide__inner {
	gap: 0 !important;
}

/* カラム先頭の空p（SWELL余白）を除去してカンプの上余白に合わせる */
.section-recommend__sub .swell-block-column > p.wp-block-paragraph:empty {
	display: none !important;
	margin: 0 !important;
}

.section-recommend__sub .swell-block-columns__inner > .swell-block-column:has(.recommend-box) {
	max-width: 832px;
}

/* タブレット：832px上限による右余白をなくし、inner幅いっぱいに */
@media screen and (min-width: 768px) and (max-width: 959px) {
	.section-recommend__sub .swell-block-columns__inner > .swell-block-column:has(.recommend-box) {
		max-width: none;
		width: 100%;
	}

	.section-recommend__sub .recommend-woman {
		position: absolute;
		bottom: -64px;
		right: 15%;
		margin: 0 !important;
		z-index: 1;
	}
}

.recommend-sub {
	margin-bottom: 24px !important;
}

.recommend-box {
	border-radius: 20px;
	position: relative;
	padding-block: 24px !important;
	padding-inline: 32px !important; /* Figma 578:4632 */
}

/* Figma 578:4635：本文 16px / lh 150%（24px）/ tracking 0.32px */
.recommend-box p {
	font-size: 16px !important;
	line-height: 150% !important; /* 24px */
	letter-spacing: 0.32px !important;
	margin: 0 !important;
}

/* 行ごと段落の間隔 */
.recommend-box > .wp-block-group__inner-container > p + p {
	margin-top: 16px !important;
}

/* SP：。ごとに1行空白（24px） */
@media screen and (max-width: 767px) {
	.recommend-box p {
		font-size: 16px !important;
		line-height: 1.38 !important;
		letter-spacing: 0.32px !important;
		margin: 0 !important;
	}

	.recommend-box > .wp-block-group__inner-container > .recommend-box__text + .recommend-box__text {
		margin-top: 24px !important;
	}
}

/* PC：1文目の後のみ24px、2〜3文目は連続 */
@media screen and (min-width: 768px) {
	.recommend-box > .wp-block-group__inner-container > .recommend-box__text:nth-of-type(2) {
		margin-top: 24px !important;
	}

	.recommend-box > .wp-block-group__inner-container > .recommend-box__text:nth-of-type(3) {
		margin-top: 0 !important;
	}
}

/* PC：吹き出し口 */
.recommend-box:after {
	content: "";
	position: absolute;
	bottom: 46%;
	right: -50px;
	width: 119px;
	height: 47px;
	background: #fff;
	clip-path: polygon(38.1% 0%, 100% 100%, 0% 100%);
	z-index: -1;
}

@media screen and (max-width: 959px) {
	.recommend-box {
		padding-inline: 16px !important;
	}	
	.recommend-box:after {
		bottom: -5px;
		right: 26%;
		width: 47px;
		height: 38px;
		transform: rotate3d(1, 1, 1, 45deg);
	}
}

@media screen and (max-width: 767px) {
	.recommend-box {
		max-width: 550px !important;
		margin-inline: auto;
		width: 100%;
		box-sizing: border-box;
	}
}

/* 960px以上：吹き出し＋女性を横並び（absolute なし） */
@media screen and (min-width: 960px) {
	.swell-block-fullWide.section-recommend__sub {
		padding-block: 80px 38px !important;
	}

	.section-recommend__sub .swell-block-columns__inner {
		display: flex;
		flex-wrap: nowrap;
		/* center だと女性の余白で左テキストも下がるため上揃え */
		align-items: flex-start;
		justify-content: flex-start;
		/* テキスト（recommend-box）と女性イラストの間隔 */
		gap: 118px;
	}

	.section-recommend__sub .swell-block-columns__inner > .swell-block-column:has(.recommend-box) {
		flex: 0 1 832px;
		max-width: 832px;
		width: auto !important;
	}

	.section-recommend__sub .swell-block-columns__inner > .swell-block-column:has(.recommend-woman) {
		flex: 0 0 auto;
		width: auto !important;
		max-width: none;
		display: flex;
		align-items: flex-start;
		margin-left: 0;
	}

	.section-recommend__sub .recommend-woman {
		position: static;
		top: auto;
		bottom: auto;
		right: auto;
		margin: 0 !important;
		/*
		 * 左テキストを動かさず女性だけ下げる。
		 * 960px → 135px / 1440px → 30px で線形補間
		 */
		padding-top: clamp(30px, calc(345px - 21.875vw), 135px);
		transform: none;
		z-index: 1;
		box-sizing: content-box;
	}
}

/* 960〜1120px：吹き出しと女性イラストの間隔（Figma調整） */
@media screen and (min-width: 960px) and (max-width: 1120px) {
	.section-recommend__sub .swell-block-columns__inner {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 25px;
	}
}

.section-recommend__sub .recommend-woman img {
	display: block;
	width: clamp(86px, -172px + 26.875vw, 215px);
	height: auto;
	aspect-ratio: 182 / 193;
}

@media screen and (min-width: 960px) and (max-width: 1200px) {
	.section-recommend__sub .recommend-woman img {
		width: 150px;
	}
}
@media screen and (max-width: 374px) {
	.section-recommend__sub .recommend-woman img {
		width: 76px;
	}

}
/* 767px以下：女性イラストはセクション下端固定・吹き出し右下 */
@media screen and (max-width: 767px) {
	.swell-block-fullWide.section-recommend__sub {
		--section-recommend-sub-pb: 60px;
		padding-block: 60px !important;
	}

	/* セクション基準で absolute するため、途中の relative を解除 */
	.section-recommend__sub > .swell-block-fullWide__inner,
	.section-recommend__sub .swell-block-columns,
	.section-recommend__sub .swell-block-columns__inner {
		position: static !important;
	}

	.section-recommend__sub .recommend-box {
		position: relative;
		z-index: 1;
		isolation: isolate;
	}

	/* 吹き出し口はテキストより下層（上に乗って文字が消えないように） */
	.section-recommend__sub .recommend-box:after {
		z-index: 0 !important;
	}

	.section-recommend__sub .recommend-box > * {
		position: relative;
		z-index: 1;
	}

	.section-recommend__sub .recommend-woman {
		position: absolute !important;
		top: auto !important;
		bottom: 23px !important;
		right: 24px !important;
		z-index: 2;
		pointer-events: none;
		margin: 0 !important;
		transform: translateY(35%);
	}

	.section-recommend__sub .recommend-woman img {
		width: 86px;
		display: block;
	}
}

@media screen and (min-width: 400px) and (max-width: 650px) {
	.section-recommend__sub .recommend-woman {
		right: 10% !important;
	}
}

@media screen and (min-width: 651px) and (max-width: 767px) {
	.section-recommend__sub .recommend-woman {
		right: 16% !important;
	}
}

/* フロアコーティングのメリットセクション（Figma 578:4638） */
.swell-block-fullWide:has(.merit-cards) {
	margin-bottom: 0 !important;
}

.wp-block-group:has(> .merit-image):has(> .merit-card__title) {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 0 !important;
}

/* Figma PC 578:4648：画像 mb -45px でラベルを画像下端に重ねる */
.wp-block-group:has(> .merit-image):has(> .merit-card__title) > .merit-image {
	margin: 0 0 -45px 0 !important;
	width: 100%;
	position: relative;
	z-index: 0;
	border-radius: 20px 20px 20px 0;
	overflow: hidden;
}

.wp-block-group:has(> .merit-image):has(> .merit-card__title) > .wp-block-paragraph,
.wp-block-group:has(> .merit-image):has(> .merit-card__title) > p {
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	letter-spacing: 0.02em;
}

/* Figma SP 578:5507：画像 mb -40px・四隅20px・ラベル下端＝画像下端 */
@media screen and (max-width: 959px) {
	.wp-block-group:has(> .merit-image):has(> .merit-card__title) {
		display: flex !important;
		flex-direction: column;
		align-items: flex-start;
		gap: 0 !important;
	}

	.wp-block-group:has(> .merit-image):has(> .merit-card__title) > .merit-image {
		margin: 0 0 -40px 0 !important;
		border-radius: 20px;
		width: 100%;
		max-width: 100%;
	}

	.wp-block-group:has(> .merit-image):has(> .merit-card__title) > .merit-card__title {
		/* Figma: py8 + lh1.2×20px = 40px（画像 mb -40px と一致） */
		height: 40px;
		min-height: 40px;
		margin: 0 0 24px 0 !important;
		padding: 8px 4px !important;
		font-size: 20px !important;
		line-height: 1.2 !important;
		max-width: 100%;
		box-sizing: border-box;
	}
}

/* SWELLの --swl-clmn-mrgn--x と gap の二重指定で1列化していたのを解消 */
.merit-cards {
	--swl-clmn-mrgn--x: 0px !important;
	--swl-clmn-mrgn--y: 0px !important;
	width: 100%;
}

.merit-cards > .swell-block-columns__inner {
	display: flex !important;
	flex-wrap: wrap !important;
	row-gap: 80px !important;
	column-gap: 60px !important;
	margin: 0 !important;
	width: 100% !important;
}

.merit-cards > .swell-block-columns__inner > .swell-block-column {
	width: calc((100% - 60px) / 2) !important;
	max-width: calc((100% - 60px) / 2) !important;
	flex: 0 0 calc((100% - 60px) / 2) !important;
	margin: 0 !important;
}

/* タブレット（〜959px）も2列。1列はSPのみ */
@media screen and (min-width: 768px) and (max-width: 959px) {
	.merit-cards .swell-block-columns__inner {
		max-width: none !important;
		margin-inline: 0 !important;
		row-gap: 48px !important;
		column-gap: 24px !important;
	}

	.merit-cards > .swell-block-columns__inner > .swell-block-column {
		width: calc((100% - 24px) / 2) !important;
		max-width: calc((100% - 24px) / 2) !important;
		flex: 0 0 calc((100% - 24px) / 2) !important;
	}
}

@media screen and (max-width: 767px) {
	.merit-cards .swell-block-columns__inner {
		max-width: 100% !important;
		margin-inline: auto !important;
		width: 100% !important;
		box-sizing: border-box;
		row-gap: 40px !important;
		column-gap: 0 !important;
	}

	.merit-cards > .swell-block-columns__inner > .swell-block-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}
}

.merit-image img {
	border-radius: 0; /* 親 figure でクリップ */
	display: block;
	width: 100%;
	height: auto;
}

/* Figma 578:4648：高さ45px・画像下端揃え・本文まで24px */
.merit-card__title {
	position: relative;
	z-index: 1;
	align-self: flex-start;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	height: 45px;
	display: flex !important;
	align-items: center;
	margin: 0 0 24px 0 !important;
	padding: 8px 16px !important;
	font-size: clamp(20px, 9.4177px + 1.0127vw, 24px) !important;
	font-weight: 700;
	line-height: 1.2 !important;
	color: #fff !important;
	background: linear-gradient(270deg, #E55910 0%, #E59710 100%) !important;
}

@media screen and (max-width: 959px) {
	.merit-card__title {
		padding-inline: 4px !important;
		font-size: 20px !important;
	}
}

.merit-card__title .swl-format-2,
.merit-card__title strong {
	color: inherit;
	font-size: inherit !important;
}

.merit-card__title.is-style-section_ttl::before,
.merit-card__title.is-style-section_ttl::after {
	content: none !important;
	display: none !important;
}

/* 選べるコーティングの種類：見出し（SP・画面幅内に収める） */
@media screen and (max-width: 767px) {
	.coating-section h2.section-title,
	.coating-section h2.section-title strong,
	.coating-section h2.section-title .swl-inline-color.has-swl-main-color,
	h2.section-title strong > strong > .swl-inline-color.has-swl-main-color {
		/* 375付近で収まるよう縮小（上限28px） */
		font-size: clamp(16px, 6.8vw, 28px) !important;
		white-space: nowrap !important;
		line-height: 1.2 !important;
	}

	.coating-section h2.section-title,
	h2.section-title:has(strong > strong > .swl-inline-color.has-swl-main-color) {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		overflow-x: clip;
		text-align: center;
		margin-inline: auto;
		padding-inline: 0;
	}

	.coating-section h2.section-title .swl-inline-color.has-swl-main-color,
	h2.section-title strong > strong > .swl-inline-color.has-swl-main-color {
		display: inline-block;
		max-width: 100%;
		box-sizing: border-box;
	}
}

/* 374px以下：種類見出し（22px固定） */
@media screen and (max-width: 374px) {
	.coating-section h2.section-title,
	.coating-section h2.section-title strong,
	.coating-section h2.section-title .swl-inline-color.has-swl-main-color,
	h2.section-title strong > strong > .swl-inline-color.has-swl-main-color {
		font-size: 22px !important;
	}
}

/* 選べるコーティングの種類セクション */
.coating-type-row {
	--coating-spec-size: clamp(98px, calc(72px + 3.2vw), 120px);
	--coating-spec-gap: 16px;
	--coating-spec-star-w: calc(var(--coating-spec-size) * 0.833);
	--coating-spec-star-h: calc(var(--coating-spec-size) * 0.558);
	--coating-spec-radius: clamp(8px, calc(4px + 0.35vw), 10px);
	--coating-col-gap: 16px;
}

.coating-type-row > .swell-block-columns__inner {
	overflow: visible;
}

.coating-type-row > .swell-block-columns__inner > .swell-block-column:last-child {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.coating-type-row__head {
	position: relative;
	isolation: isolate;
	background: none !important;
	color: #6f5b36 !important;
	margin-bottom: 24px;
	padding: 30px clamp(24px, 5.556vw, 80px) 30px clamp(40px, 10vw, 144px);
	box-sizing: border-box;
	text-align: left;
}

/* Figma 578:4681：見出し↔説明 gap 16px（u-mb-15 の 48px を打ち消し） */
.coating-type-row__head > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
}

.coating-type-row__head h3,
.coating-type-row__head .wp-block-heading,
.coating-type-row__head h3.u-mb-ctrl,
.coating-type-row__head p {
	margin: 0 !important;
}

.coating-type-row__head.has-white-color,
.coating-type-row__head.has-text-color {
	color: #6f5b36 !important;
}

.coating-type-row__specs {
	padding-left: 0;
	padding-right: 0;
	margin: 0 !important;
	box-sizing: border-box;
}

/* Figma：スペック行間 16px（flex gap との二重加算を避ける） */
.coating-type-row__specs + .coating-type-row__specs {
	margin-top: var(--coating-spec-gap) !important;
}

.coating-type-row__specs > .swell-block-columns__inner {
	flex-wrap: nowrap !important;
	gap: var(--coating-spec-gap);
	margin-left: 0 !important;
}

.coating-type-row__specs > .swell-block-columns__inner > .swell-block-column {
	flex: 0 0 min(var(--coating-spec-size), calc((100% - var(--coating-spec-gap) * 2) / 3));
	width: min(var(--coating-spec-size), calc((100% - var(--coating-spec-gap) * 2) / 3)) !important;
	max-width: var(--coating-spec-size);
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
	/* アイコン↔ラベル：gapなし */
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
}

.coating-type-row__specs .wp-block-image {
	margin: 0 !important;
	width: 100%;
	max-width: var(--coating-spec-size);
	aspect-ratio: 1;
	height: auto;
	background: #ffe2aa;
	border-radius: var(--coating-spec-radius);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.coating-type-row__specs .wp-block-image img {
	display: block;
	margin: 0 auto;
	width: auto;
	height: auto;
	max-width: var(--coating-spec-star-w);
	max-height: var(--coating-spec-star-h);
}

.coating-type-row__specs .swell-block-column > p.has-background,
.coating-type-row__specs-text {
	width: 100%;
	max-width: var(--coating-spec-size);
	aspect-ratio: 1;
	height: auto;
	min-height: 0;
	background: #ffe2aa !important;
	color: #fd7d38 !important;
	border-radius: var(--coating-spec-radius);
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	box-sizing: border-box;
	/* 15px at 320px viewport → 20px at 1440px viewport（「年」） */
	font-size: clamp(15px, calc(13.57px + 0.446vw), 20px);
	font-weight: 700;
	line-height: 1;
}

.coating-type-row__specs-text > span {
	display: inline-block;
	line-height: 1;
}

.coating-type-row__specs-text span.swl-format-1,
.coating-type-row__specs .swell-block-column > p.has-background .swl-format-1 {
	/* 40px at 320px viewport → 50px at 1440px viewport（「30」） */
	font-size: clamp(40px, calc(37.14px + 0.893vw), 50px);
	line-height: 1;
	font-weight: 700;
	color: #fd7d38 !important;
}

.coating-type-row__specs-text .coating-type-row__specs-unit,
.coating-type-row__specs .swell-block-column > p.has-background .coating-type-row__specs-unit {
	line-height: 1;
	margin-top: 13px;
}

.coating-type-row__specs .swell-block-column > p:not(.has-background) {
	margin: 0 !important;
	line-height: 1.5;
	color: #4c4c4c;
	white-space: nowrap;
	font-size: clamp(12px, calc(12px + (100vw - 768px) * 4 / 256), 16px);
}

/* PC：1行目スペック ↔ 下のカード（2行目）gap 16px */
@media screen and (min-width: 960px) {
	.coating-type-row__specs + .coating-type-row__specs {
		margin-top: 16px !important;
	}
}

.coating-type-row__head::before {
	content: "";
	position: absolute;
	inset: 0;
	left: 0;
	background-color: rgba(255, 255, 255, 0.95) !important;
	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
	border-radius: 0 20px 0 20px;
	z-index: 0;
}

.coating-type-row__head h3,
.coating-type-row__head h3 *,
.coating-type-row__head h3 strong,
.coating-type-row__head .wp-block-heading,
.coating-type-row__head .wp-block-heading * {
	color: #e55910 !important;
	/* Figma 578:4746：32px / lh 1.2 */
	line-height: 1.2 !important;
}

.coating-type-row__head > .wp-block-paragraph,
.coating-type-row__head .wp-block-paragraph,
.coating-type-row__head .wp-block-paragraph *,
.coating-type-row__head p,
.coating-type-row__head p * {
	color: #6f5b36 !important;
}

/* Figma 578:4745 / 578:4747：本文 16px / lh 1.5 / tracking 0.02em */
.coating-type-row__head > .wp-block-paragraph,
.coating-type-row__head .wp-block-paragraph,
.coating-type-row__head p {
	font-size: 16px !important;
	font-weight: 400;
	line-height: 1.5 !important;
	letter-spacing: 0.02em;
}

.coating-type-row__head .wp-block-group__inner-container,
.coating-type-row__head > .wp-block-heading,
.coating-type-row__head > .wp-block-paragraph {
	position: relative;
	z-index: 1;
}

.coating-type-row__head .wp-block-group__inner-container {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.coating-type-row__head h3 {
	font-size: clamp(24px, calc(24px + (100vw - 768px) * 8 / 256), 32px);
}

.coating-type-row__head h3 strong,
.coating-type-row__head h3 strong strong,
.coating-type-row__head h3 strong strong strong {
	white-space: nowrap;
}

/* Figma PC 578:4670：写真 717 / mr -55px 重ね、見出し pl144 pr80、行間 60 */
@media screen and (min-width: 960px) {
	.coating-type-row {
		padding-block: 0;
		--coating-spec-size: 120px;
	}

	/* 行ラッパー：gap 60px（Figma Frame 187） */
	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row) {
		--swl-clmn-mrgn--x: 0px !important;
		--swl-clmn-mrgn--y: 60px !important;
		margin-inline: 0;
		width: 100%;
		max-width: 1200px;
	}

	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row) > .swell-block-columns__inner {
		--swl-clmn-mrgn--x: 0px !important;
		row-gap: 60px !important;
		gap: 62px 0 !important;
		max-width: 1200px !important;
		width: 100% !important;
		margin-inline: 0 !important;
	}

	.coating-type-row > .swell-block-columns__inner {
		align-items: flex-start;
		flex-wrap: nowrap !important;
		gap: 0;
		padding-block: 24px;
	}

	.coating-type-row > .swell-block-columns__inner > .swell-block-column {
		align-self: flex-start;
		flex-shrink: 0;
		overflow: visible;
	}

	.coating-type-row > .swell-block-columns__inner > .swell-block-column:first-child {
		position: relative;
		z-index: 1;
		margin-right: -55px !important;
		--clmn-w--pc: 60% !important;
		width: 60% !important;
		flex: 0 0 60% !important;
		max-width: 60%;
	}

	.coating-type-row > .swell-block-columns__inner > .swell-block-column:last-child {
		position: relative;
		z-index: 2;
		padding-left: 0;
		box-sizing: border-box;
		align-items: stretch;
		--clmn-w--pc: 100% !important;
		width: auto !important;
		flex: 1 1 auto !important;
		max-width: none;
		min-width: 0;
		/* head↔specs は head の margin-bottom 24px で確保（gap と二重にしない） */
		gap: 0;
	}

	.coating-type-row__head {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		margin-top: 0;
		margin-bottom: 24px;
		margin-left: auto;
		margin-right: 0;
		align-self: flex-end;
		padding: 30px clamp(24px, 5.556vw, 49px) 30px clamp(40px, 10vw, 144px);
		text-align: left;
		min-height: 200px;
		height: auto;
	}

	.coating-type-row__head > .wp-block-group__inner-container {
		align-items: flex-start;
		text-align: left;
	}

	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row) > .swell-block-columns__inner > .swell-block-column:nth-child(3) .coating-type-row__head,
	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row) > .swell-block-columns__inner > .swell-block-column:nth-child(4) .coating-type-row__head {
		min-height: 224px;
		height: auto;
	}

	.coating-type-row__specs {
		width: min(100%, calc(var(--coating-spec-size) * 3 + var(--coating-spec-gap) * 2));
		max-width: 100%;
		box-sizing: border-box;
		align-self: flex-end;
		margin-right: 10px !important;
	}

	.coating-type-row__specs > .swell-block-columns__inner {
		justify-content: flex-start;
	}

	.coating-type-row__photo {
		margin-top: 0 !important;
		width: 100%;
		max-width: 100%;
		border-radius: 20px;
		overflow: hidden;
		aspect-ratio: 713 / 535;
	}

	.coating-type-row__photo img {
		display: block;
		width: 100%;
		height: 100%;
		aspect-ratio: 713 / 535;
		object-fit: cover;
		border-radius: 20px;
	}

	.coating-type-row__head::before {
		left: 0;
		border-radius: 0 20px 0 20px;
	}
}

/* 960〜1330px：見出しボックスが狭いため左 padding を抑え、br 区切りの2行を維持 */
@media screen and (min-width: 960px) and (max-width: 1330px) {
	.coating-type-row__head {
		padding-left: clamp(40px, calc(40px + (100vw - 960px) * 64 / 520), 104px);
	}
}

@media screen and (max-width: 959px) {
	/* Figma SP 578:5539：画像の上に白カードが -40px 重なる */
	.coating-type-row > .swell-block-columns__inner {
		row-gap: 0;
	}

	.coating-type-row > .swell-block-columns__inner > .swell-block-column:first-child {
		margin-bottom: -40px;
		position: relative;
		z-index: 0;
	}

	.coating-type-row > .swell-block-columns__inner > .swell-block-column:last-child {
		align-items: stretch;
		width: 100%;
		position: relative;
		z-index: 1;
	}

	.coating-type-row__specs {
		width: min(100%, calc(var(--coating-spec-size) * 3 + var(--coating-spec-gap) * 2));
		max-width: 100%;
		margin-inline: auto;
		align-self: center;
	}

	.coating-type-row__specs > .swell-block-columns__inner {
		justify-content: center;
		margin-inline: auto !important;
	}

	.coating-type-row__photo {
		width: 100%;
		overflow: hidden;
		border-radius: 20px;
	}

	.coating-type-row__photo img {
		display: block;
		width: 100%;
		height: auto;
		border-radius: 20px;
	}

	.coating-type-row__head::before {
		left: 0;
		box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.25);
	}

	/* Figma: 300px・右寄せ・padding 10×8 */
	.coating-type-row__head {
		width: 300px;
		max-width: 100%;
		margin-left: auto;
		margin-right: 0;
		padding: 10px 8px !important;
		margin-bottom: 24px;
	}

	.coating-type-row__head h3 {
		font-size: 24px;
		line-height: 1.2;
		margin-bottom: 16px !important;
	}

	.coating-type-row__head p {
		font-size: 16px;
		line-height: 1.5;
		letter-spacing: 0.02em;
	}

	.coating-type-row__head p br {
		display: none;
	}
}

@media screen and (max-width: 959px) {
	/* 外側の列ラッパー：SWELL 既定の横マージン（1.5rem）で右に隙間ができるため打ち消し */
	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row):not(.coating-type-row__specs) {
		--swl-clmn-mrgn--x: 0px !important;
	}

	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row):not(.coating-type-row__specs) > .swell-block-columns__inner {
		margin-inline: 0 !important;
		width: 100%;
	}

	.coating-type-row__specs {
		width: min(100%, calc(var(--coating-spec-size) * 3 + var(--coating-spec-gap) * 2));
		margin-inline: auto;
		align-self: center;
	}

	.coating-type-row__specs > .swell-block-columns__inner {
		justify-content: center;
	}
}

/* タブレット（768〜959px）：外側2列の column-gap（SWELL横マージン打ち消し後に flex gap で確保） */
@media screen and (min-width: 768px) and (max-width: 959px) {
	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row):not(.coating-type-row__specs) > .swell-block-columns__inner {
		display: flex !important;
		flex-wrap: wrap !important;
		row-gap: 80px !important;
		column-gap: 24px !important;
		gap: 80px 24px !important;
	}

	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row):not(.coating-type-row__specs) > .swell-block-columns__inner > .swell-block-column {
		width: calc((100% - 24px) / 2) !important;
		max-width: calc((100% - 24px) / 2) !important;
		flex: 0 0 calc((100% - 24px) / 2) !important;
		margin: 0 !important;
	}
}

/* SP（767px以下）：管理画面どおり1カラム */
@media screen and (max-width: 767px) {
	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row):not(.coating-type-row__specs) > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		column-gap: 0 !important;
	}

	.coating-section > .swell-block-fullWide__inner > .swell-block-columns:not(.coating-type-row):not(.coating-type-row__specs) > .swell-block-columns__inner > .swell-block-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		margin: 0 !important;
	}
}

/* CTAセクション（ご相談・お見積もり） */
.cta-section.has-bg-img {
	background-size: cover;
	background-position: center;
	position: relative;
}

/* SWELL の has-bg-img::before が不透明オーバーレイで背景写真を隠すため無効化 */
.cta-section.has-bg-img::before {
	background-color: transparent !important;
	background-image: none !important;
	opacity: 0 !important;
}

.cta-section.has-bg-img > .swell-block-fullWide__inner {
	position: relative;
	z-index: 1;
}

/* Figma CTA: セクション余白は inner の 48px（fullWide の 80–100px を打ち消し） */
.cta-section.swell-block-fullWide {
	padding-block: 0 !important;
}

.cta-section .swell-block-fullWide__inner {
	padding-block: 46px !important;
	padding-inline: clamp(24px, 10px + 3.7vw, 48px) !important;
}

.cta-section__box {
	background: rgba(251, 248, 238, 0.8);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	padding-block: 20px;
	padding-inline: clamp(8px, calc(-44px + 8.93vw), 80px);
	max-width: 100%;
	box-sizing: border-box;
}

.cta-section__box > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	width: 100%;
	max-width: none !important;
}

.post_content h2.cta-section__title,
.cta-section__title {
	margin: 0 !important;
	font-size: clamp(24px, calc(24px + (100vw - 768px) * 8 / 256), 32px) !important;
	line-height: 1.2;
	text-align: center;
}

.cta-section__title .swl-format-2 > strong,
.cta-section__title .cta-section__title-accent strong,
.cta-section__title .cta-section__title-accent .swl-inline-color.has-swl-main-color {
	font-size: inherit !important;
}

.cta-section__title-accent {
	white-space: nowrap;
}

.cta-section__features {
	width: 100%;
	padding: 0 !important;
}

.cta-section__features > .swell-block-columns__inner,
.cta-section__features > .swell-block-columns > .swell-block-columns__inner,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, max-content));
	justify-content: center;
	align-items: start;
	gap: 4px;
	margin: 0 !important;
}

.cta-section__features > .swell-block-columns__inner > .swell-block-column,
.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
	width: auto !important;
	margin: 0 !important;
}

.cta-section__features > .swell-block-columns__inner > .swell-block-column:first-child,
.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child {
	grid-column: 1 / -1;
	justify-self: center;
}

.cta-feature {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: clamp(158px, calc(120px + 9.7vw), 187px);
	max-width: 100%;
	aspect-ratio: 1;
	margin: 0 auto;
	border: 3px solid #DABDAD;
	border-radius: 50%;
	background: #fff;
	box-sizing: border-box;
	padding: clamp(10px, 6px + 1vw, 16px);
	gap: 0;
	text-align: center;
	overflow: hidden;
}

.cta-feature > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 15px;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

.cta-feature__icon {
	width: auto;
	max-width: 100%;
	margin: 0 !important;
	border: none;
	border-radius: 0;
	background: none;
	aspect-ratio: auto;
	display: block !important;
	flex-shrink: 0;
}

.cta-feature__icon img {
	display: block;
	margin: 0 auto;
	object-fit: contain;
}

.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature__icon img,
.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature__icon img ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature__icon img {
	width: 71px;
	height: 56px;
	max-width: 71px;
	max-height: 56px;
}

.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__icon img,
.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__icon img ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__icon img {
	width: 57px;
	height: 46px;
	max-width: 57px;
	max-height: 46px;
}

.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__icon img,
.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__icon img ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__icon img {
	width: 58px;
	height: 58px;
	max-width: 58px;
	max-height: 58px;
}

.cta-feature__label,
.cta-feature__label.is-style-section_ttl {
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: clamp(12px, 10.5px + 0.4vw, 14px) !important;
	line-height: 1.2;
	color: #4c4c4c;
	text-align: center;
}

.cta-section__features > .swell-block-columns__inner > .swell-block-column:first-child .cta-feature__label,
.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child .cta-feature__label ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child .cta-feature__label {
	font-size: clamp(12px, 10.5px + 0.4vw, 14px) !important;
}

.cta-section__note {
	margin: 0 !important;
	font-size: 14px;
	line-height: 1.5;
	color: #4c4c4c;
	text-align: center;
}

.cta-section__actions {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.cta-section__actions > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
	max-width: none !important;
}

.cta-section__catch {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #4c4c4c;
	text-align: center;
}

.cta-section__catch-sp {
	display: none;
}

.cta-section__btn {
	width: 100%;
	max-width: 100%;
}

.cta-section__btn .swell-block-button__link {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.25);
	font-size: 16px;
}

/* アイコン＋ラベルをボタン内で上下中央揃え */
.cta-section__btn .swell-block-button__link > span {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	line-height: 1.5;
}

.cta-section__btn .swell-block-button__link .swl-inline-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	align-self: center;
}

.cta-section__btn .swell-block-button__link .swl-format-2 {
	display: inline-flex;
	align-items: center;
	line-height: 1.5;
}

/* ご成約特典セクションのLINEボタンのみ幅を制限（ブロック側のmin-width指定を打ち消す） */
.swell-block-fullWide:has(.benefit-title) .cta-section__btn {
	width: 100%;
	max-width: min(405px, 100%);
	margin-inline: auto;
	box-sizing: border-box;
}

.swell-block-fullWide:has(.benefit-title) .cta-section__btn .swell-block-button__link {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border-radius: 10px !important;
}

/* ご成約特典 LINEボタン：矢印（SWELL SVGと二重にならないよう ::after のみ） */
.swell-block-fullWide:has(.benefit-title) .cta-section__btn .__icon.-right {
	display: none !important;
}

.swell-block-fullWide:has(.benefit-title) .cta-section__btn .swell-block-button__link::after {
	content: "→";
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #fff;
}

@media screen and (min-width: 960px) {
	.cta-section__features > .swell-block-columns__inner,
.cta-section__features > .swell-block-columns > .swell-block-columns__inner,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		gap: 20px;
	}

	.cta-section__features > .swell-block-columns__inner > .swell-block-column:first-child,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child {
		grid-column: auto;
	}

	.u-br__cta-note {
		display: none;
	}
}

@media screen and (max-width: 959px) {
	.u-br__cta-note {
		display: inline;
	}

	.cta-section__catch-pc {
		display: none;
	}

	.cta-section__catch-sp {
		display: block;
	}

	/* 下部CTA・メール列：SPでも「メールでのお問い合わせ」をボタン上に表示 */
	.cta-section--bottom .cta-section__actions:has(.cta-section__btn--mail) .cta-section__catch-pc {
		display: block;
	}
}

/* 選ばれる理由セクション（Figma 578:5007 PC / 578:5877 SP） */
.reason-section.swell-block-fullWide {
	padding-block: 0 !important;
}

.reason-section .swell-block-fullWide__inner {
	padding-block: 80px;
	padding-inline: 24px;
	gap: 0 !important;
}

.reason-section__inner,
.reason-section__inner > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	max-width: none !important;
	width: 100%;
}

/* SWELLシリアライズ由来の空pが flex gap を食うため除外 */
.reason-section__inner > p:not(.reason-section__title),
.reason-section__list > p,
.reason-section__item > p:not(.reason-section__num):not(.reason-section__badge):not(.reason-section__desc),
.reason-section__body > p:not(.reason-section__badge):not(.reason-section__desc) {
	display: none !important;
}

.reason-section__title {
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
	text-align: center;
}

.reason-section__title-pc {
	display: none;
}

.reason-section__title-sp {
	display: inline;
}

.reason-section__title-dark {
	color: #320101;
}

.reason-section__title-accent {
	color: #e55910;
}

.reason-section__list,
.reason-section__list > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 45px;
	max-width: none !important;
	width: 100%;
}

.reason-section__item,
.reason-section__item > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	max-width: none !important;
	width: 100%;
}

.reason-section__num {
	margin: 0 0 -16px !important;
	font-family: "Figtree", sans-serif;
	font-weight: 700;
	font-size: 60px;
	line-height: 1.2;
	color: #ffd58d;
}

.reason-section__body,
.reason-section__body > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	max-width: none !important;
	width: 100%;
}

.reason-section__badge {
	margin: 0 !important;
	padding: 8px 16px !important;
	background: linear-gradient(270deg, #e55910 0%, #e59710 100%) !important;
	color: #fff !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
	width: fit-content;
	white-space: nowrap;
}

.reason-section__badge::before,
.reason-section__badge::after,
.reason-section__badge.is-style-section_ttl::before,
.reason-section__badge.is-style-section_ttl::after {
	content: none !important;
	display: none !important;
}

/* SP（Figma 578:5877）：白背景・タイトル24px・バッジ24px・項目間60px */
@media screen and (max-width: 959px) {
	.reason-section.swell-block-fullWide {
		background-color: #fff !important;
	}

	.reason-section h2.reason-section__title,
	.reason-section .reason-section__title {
		font-size: 24px !important;
		line-height: 1.2 !important;
	}

	.reason-section h3.reason-section__badge,
	.reason-section .reason-section__badge {
		font-size: clamp(20px, calc(20px + (100vw - 320px) * 4 / 55), 24px) !important;
		line-height: 1.2 !important;
		padding: 8px 16px !important;
		background: linear-gradient(270deg, #e55910 0%, #e59710 100%) !important;
		color: #fff !important;
	}

	.reason-section__list,
	.reason-section__list > .wp-block-group__inner-container {
		gap: 60px !important;
	}

	.reason-section__item,
	.reason-section__item > .wp-block-group__inner-container {
		gap: 0;
	}

	.reason-section__item {
		margin-bottom: 0 !important;
	}
}

.reason-section__headline-suffix {
	display: none !important;
}

.reason-section__desc {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #4c4c4c;
}

@media screen and (min-width: 960px) {
	.reason-section .swell-block-fullWide__inner {
		padding-block: 100px;
		padding-inline: 64px;
	}

	.reason-section__inner,
	.reason-section__inner > .wp-block-group__inner-container {
		flex-direction: row;
		align-items: flex-start;
		justify-content: center;
		gap: clamp(32px, 4vw + 16px, 120px);
	}

	.reason-section h2.reason-section__title,
	.reason-section .reason-section__title {
		font-size: clamp(28px, 2.2vw + 12px, 40px) !important;
		text-align: center;
		white-space: normal;
		flex: 0 1 36%;
		width: auto;
		max-width: min(360px, 40%);
		box-sizing: border-box;
	}

	.reason-section h2.reason-section__title .reason-section__title-dark,
	.reason-section h2.reason-section__title .reason-section__title-accent {
		font-size: inherit !important;
	}

	.reason-section__title-pc {
		display: inline;
	}

	.reason-section__title-sp {
		display: none;
	}

	.reason-section__title-dark {
		color: #4c4c4c;
	}

	.reason-section__list,
	.reason-section__list > .wp-block-group__inner-container {
		flex: 1 1 58%;
		min-width: min(320px, 100%);
		max-width: 100%;
	}

	.reason-section__item,
	.reason-section__item > .wp-block-group__inner-container {
		flex-direction: row;
		align-items: center;
		gap: 24px;
	}

	.reason-section__list .reason-section__item:first-of-type,
	.reason-section__list .reason-section__item:first-of-type > .wp-block-group__inner-container {
		align-items: flex-start;
		gap: 20px;
	}

	.reason-section__num {
		margin: 0 !important;
		flex-shrink: 0;
		font-size: 80px;
	}

	.reason-section h3.reason-section__badge,
	.reason-section .reason-section__badge {
		font-size: 24px !important;
		line-height: 1.2 !important;
	}
}

/* 広いPC：タイトル1行＋従来の余白 */
@media screen and (min-width: 1400px) {
	.reason-section__inner,
	.reason-section__inner > .wp-block-group__inner-container {
		gap: 120px;
	}

	.reason-section h2.reason-section__title,
	.reason-section .reason-section__title {
		font-size: 40px !important;
		white-space: nowrap;
		flex: 0 0 auto;
		width: max-content;
		max-width: none;
	}
}

/* 施工事例セクション（padding-block はセクション本体のみ） */
.case-section.swell-block-fullWide {
	padding-block: 80px !important;
}

@media screen and (min-width: 960px) {
	.case-section.swell-block-fullWide {
		padding-block: 90px !important;
	}
}

.case-section .swell-block-fullWide__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px !important;
	padding-block: 0 !important;
	padding-inline: 24px !important;
}

@media screen and (min-width: 960px) {
	.case-section .swell-block-fullWide__inner {
		gap: 80px !important;
		padding-inline: 64px !important;
	}
}

@media screen and (min-width: 769px) and (max-width: 959px) {
	.cta-section .swell-block-fullWide__inner,
	.reason-section .swell-block-fullWide__inner,
	.faq-section .swell-block-fullWide__inner,
	.area-section .swell-block-fullWide__inner {
		max-width: 700px !important;
		margin-inline: auto;
	}
}

@media screen and (min-width: 600px) and (max-width: 768px) {
	.cta-section .swell-block-fullWide__inner,
	.reason-section .swell-block-fullWide__inner,
	.faq-section .swell-block-fullWide__inner {
		max-width: 700px !important;
		margin-inline: auto;
	}
}

/* 767px以下：施工事例カードを1列・480px container */
@media screen and (max-width: 767px) {
	.case-section__cards > .swell-block-columns__inner {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 60px !important;
		max-width: 480px !important;
		width: 100% !important;
		margin-block: 0 !important;
		margin-inline: auto !important;
		box-sizing: border-box;
	}

	.case-section__cards > .swell-block-columns__inner > .swell-block-column {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.case-section__card .case-section__deco--family,
	.case-section__cards .case-section__deco--family {
		--case-deco-space: clamp(
			100px,
			calc(100px + (100vw - 375px) * 50 / 392),
			150px
		);
		width: var(--case-deco-space) !important;
		max-width: 150px !important;
	}
}

/* 959px以下：地図の写真サイズを抑える（メリット等は対象外） */
@media screen and (max-width: 959px) {
	.area-section__map-col {
		display: flex !important;
		justify-content: center !important;
	}

	.area-section__map {
		max-width: 360px !important;
		width: 100% !important;
		margin-block: 0 !important;
		margin-inline: auto !important;
	}
}

/* 768px以下：対応エリアパネル側の読み幅も揃える */
@media screen and (max-width: 768px) {
	.area-section .swell-block-fullWide__inner {
		max-width: 550px !important;
		width: 100%;
		margin-inline: auto;
		box-sizing: border-box;
	}
}

.case-section .section-title.case-section__title {
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: clamp(28px, calc(28px + (100vw - 768px) * 12 / 256), 40px) !important;
	line-height: 1.2;
	color: #e55910;
	text-align: center;
}

/* SWELL既定の余白をカンプどおりにリセット */
.case-section .swell-block-columns,
.case-section .swell-block-column,
.case-section .wp-block-group,
.case-section .wp-block-image,
.case-section .wp-block-heading,
.case-section .wp-block-paragraph,
.case-section .swell-block-button,
.case-section figure {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.case-section__cards {
	width: 100%;
	padding: 0 !important;
	margin: 0 !important;
}

.case-section__cards > .swell-block-columns__inner {
	--case-cards-gap: 60px;
	gap: var(--case-cards-gap);
	margin-block: 0 !important;
	margin-inline: auto !important;
	flex-wrap: nowrap !important;
	width: 100%;
	max-width: none !important;
	box-sizing: border-box;
}

@media screen and (min-width: 960px) {
	.case-section__cards > .swell-block-columns__inner {
		--case-cards-gap: clamp(
			20px,
			calc(20px + (100vw - 960px) * 60 / 480),
			80px
		);
		gap: var(--case-cards-gap) !important;
		width: 100% !important;
		max-width: none !important;
	}
}

@media screen and (min-width: 768px) {
	.case-section__cards > .swell-block-columns__inner > .swell-block-column {
		flex: 0 0 calc(50% - var(--case-cards-gap, 60px) / 2) !important;
		width: calc(50% - var(--case-cards-gap, 60px) / 2) !important;
		max-width: calc(50% - var(--case-cards-gap, 60px) / 2) !important;
		min-width: 0;
	}
}

/* 768〜959px：管理画面の2列設定を尊重 */
@media screen and (min-width: 768px) and (max-width: 959px) {
	.case-section__cards > .swell-block-columns__inner {
		--case-cards-gap: 20px;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: var(--case-cards-gap) !important;
		max-width: none !important;
		width: 100% !important;
	}

	.case-section__cards > .swell-block-columns__inner > .swell-block-column {
		flex: 0 0 calc(50% - var(--case-cards-gap) / 2) !important;
		width: calc(50% - var(--case-cards-gap) / 2) !important;
		max-width: calc(50% - var(--case-cards-gap) / 2) !important;
	}

	.case-section__card .case-section__deco--family,
	.case-section__cards .case-section__deco--family {
		--case-deco-space: clamp(
			100px,
			calc(100px + (100vw - 768px) * 50 / 191),
			150px
		);
		width: var(--case-deco-space) !important;
		max-width: 150px !important;
	}
}

.case-section__card {
	position: relative !important;
	background: #fff;
	max-width: none !important;
	width: 100%;
	margin: 0 !important;
	overflow: visible;
}

.case-section__card > .wp-block-group__inner-container {
	position: relative !important;
	display: flex;
	flex-direction: column;
	gap: 40px;
	background: #fff;
	padding-bottom: 24px;
	padding-inline: 0;
	box-sizing: border-box;
	max-width: none !important;
	width: 100%;
	margin: 0 !important;
	overflow: visible;
}

/* テキストのみ左右余白（写真 compare はフルブリード） */
.case-section__content {
	padding-inline: 20px;
	box-sizing: border-box;
}

.case-section__photo-wrap > .wp-block-group__inner-container,
.case-section__photo-wrap {
	position: relative;
	display: block;
	max-width: none;
	margin: 0 !important;
}

.case-section__content,
.case-section__content > .wp-block-group__inner-container {
	position: static !important;
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: none !important;
	width: 100%;
	box-sizing: border-box;
	margin: 0 !important;
}

.case-section__content > .wp-block-group__inner-container {
	padding-inline: 0;
}

.case-section__details,
.case-section__details > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	box-sizing: border-box;
}

.case-section__details > .wp-block-group__inner-container {
	padding-right: 0;
}

.case-section__compare,
.case-section__compare > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch;
	gap: 0;
	max-width: none !important;
	width: 100%;
	border-radius: 0;
	overflow: hidden;
	margin: 0 !important;
}

.case-section__photo-wrap {
	position: relative;
	flex: 1 1 50%;
	min-width: 0;
	max-width: 50%;
	width: 50%;
}

.case-section__photo-wrap > .wp-block-group__inner-container {
	position: relative;
	display: block;
	max-width: none !important;
}

.case-section__photo {
	margin: 0 !important;
	aspect-ratio: 308 / 415;
	overflow: hidden;
	border-radius: 0 !important;
}

.case-section__photo picture {
	display: block;
	width: 100%;
	height: 100%;
}

.case-section__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 !important;
}

.case-section__badge {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	margin: 0 !important;
	padding: 4px 10px;
	font-family: "Figtree", sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
	color: #fff;
}

.case-section__badge--before {
	background: #ac7356;
}

.case-section__badge--after {
	background: #e55910;
}

.case-section__photo-wrap--after .case-section__badge--after {
	left: 0;
}

@media screen and (min-width: 960px) {
	.case-section__badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 125px;
		height: 30px;
		padding-block: 0 !important;
		padding-inline: 10px;
		line-height: 1;
		text-align: center;
	}
}

.case-section__content {
	position: static;
}

.case-section__content > .wp-block-group__inner-container {
	position: static;
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-inline: 0;
	max-width: none !important;
}

/* タブレット〜狭幅PC：詳細テキストを枠いっぱいに（デコはabsoluteで重ねる） */
@media screen and (min-width: 960px) and (max-width: 1199px) {
	.case-section__details {
		width: 100%;
	}

	.case-section__details > .wp-block-group__inner-container {
		width: 100%;
		max-width: none !important;
	}
}

.case-section__card-title.is-style-section_ttl {
	margin: 0 !important;
	font-size: 20px !important;
	line-height: 1.5;
	letter-spacing: 0.02em;
	text-align: left !important;
	color: #e55910;
}

@media screen and (min-width: 960px) {
	.case-section__card-title.is-style-section_ttl {
		font-size: 24px !important;
		letter-spacing: 0.48px;
	}
}

.case-section__card-title-sp {
	display: none;
}

@media screen and (max-width: 1300px) {
	.case-section__card-title-pc br {
		display: none;
	}
}

.case-section__details {
	min-width: 0;
	box-sizing: border-box;
}

.case-section__details > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: none !important;
}

.case-section__details p {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #4c4c4c;
}

.case-section__details p:empty,
.case-section__details > .wp-block-group__inner-container > p:empty {
	display: none !important;
}

@media screen and (min-width: 960px) {
	.case-section__details br:not(.case-section__detail-br-coating) {
		display: none !important;
	}
}

.case-section__detail-br-narrow {
	display: none;
}

@media screen and (max-width: 374px) {
	.case-section__detail-br-narrow {
		display: inline;
	}
}

.case-section__detail-br-coating {
	display: none;
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
	.case-section__detail-br-coating {
		display: inline;
	}
}

@media screen and (max-width: 767px) {
	.case-section__detail-br-coating {
		display: inline;
	}
}

/* 左右カード共通：イラストはカード右下角に absolute */
.case-section__card .case-section__deco,
.case-section__cards .case-section__deco {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	left: auto !important;
	top: auto !important;
	margin: 0 !important;
	margin-inline: 0 !important;
	pointer-events: none;
	z-index: 2;
	width: var(--case-deco-space) !important;
	max-width: none !important;
	height: auto !important;
}

.case-section__deco--family {
	aspect-ratio: 247 / 137;
}

.case-section__deco--woman {
	aspect-ratio: 150 / 161;
}

@media screen and (min-width: 960px) {
	.case-section__card .case-section__deco,
	.case-section__cards .case-section__deco {
		right: 0 !important;
		bottom: 0 !important;
	}

	.case-section__card .case-section__deco--family,
	.case-section__cards .case-section__deco--family {
		--case-deco-space: clamp(
			100px,
			calc(100px + (100vw - 960px) * 147 / 480),
			247px
		);
		width: var(--case-deco-space) !important;
		max-width: 247px !important;
	}

	.case-section__card .case-section__deco--woman,
	.case-section__cards .case-section__deco--woman {
		--case-deco-space: clamp(
			100px,
			calc(100px + (100vw - 960px) * 50 / 480),
			150px
		);
		width: var(--case-deco-space) !important;
		max-width: 150px !important;
		right: 24px !important;
	}
}

@media screen and (max-width: 959px) {
	.case-section__card .case-section__deco,
	.case-section__cards .case-section__deco {
		right: 0 !important;
		bottom: 0 !important;
	}

	.case-section__card .case-section__deco--woman,
	.case-section__cards .case-section__deco--woman {
		--case-deco-space: 100px;
		width: var(--case-deco-space) !important;
		max-width: 100px !important;
		right: 5px !important;
	}
}

.case-section__deco img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	object-position: right bottom;
}

.case-section__more {
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
}

.case-section__more .swell-block-button__link {
	display: inline-flex !important;
	align-items: center;
	background: transparent !important;
	box-shadow: none !important;
	border: none;
	border-radius: 0;
	padding: 0 !important;
	gap: 16px !important;
	color: var(--color_main, #e55910) !important;
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.5;
	max-width: 100%;
	box-sizing: border-box;
}

@media screen and (min-width: 960px) {
	.case-section__more .swell-block-button__link {
		gap: 24px !important;
		font-size: 20px !important;
	}
}

.case-section__more .swell-block-button__link::before {
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	background: var(--nest-asset-case-instagram-play, url("./assets/case-instagram-play.svg")) no-repeat center / contain;
}

@media screen and (min-width: 960px) {
	.case-section__more .swell-block-button__link::before {
		width: 48px;
		height: 48px;
	}
}

.case-section__more .swell-block-button__link > span {
	border-bottom: 1px solid var(--color_main, #e55910);
	padding-bottom: 0;
}

@media screen and (min-width: 960px) {
	.case-section__more .swell-block-button__link > span {
		padding-block: 9px;
		letter-spacing: 0.3px;
	}
}

.case-section__more .swell-block-button__link:hover {
	opacity: 0.7;
}

.case-section__more .__icon {
	display: none !important;
}

@media screen and (max-width: 959px) {
	/* 施工事例一覧リンク：画面幅内に収める */
	.case-section__more {
		width: 100%;
		max-width: 100%;
		padding-inline: 0;
		box-sizing: border-box;
	}

	.case-section__more .swell-block-button__link {
		width: fit-content;
		max-width: 100%;
		margin-inline: auto;
		justify-content: center;
		gap: 16px !important;
		font-size: 16px !important;
		text-align: center;
	}

	.case-section__more .swell-block-button__link::before {
		width: 32px;
		height: 32px;
	}

	.case-section__more .swell-block-button__link > span {
		min-width: 0;
		flex: 0 1 auto;
		letter-spacing: 0.1px;
		padding-block: 4px;
	}

	/* Figma SP：テキスト左右 8px（写真はフルブリードのまま） */
	.case-section__card > .wp-block-group__inner-container {
		padding-inline: 0;
		box-sizing: border-box;
	}

	.case-section__content {
		padding-inline: 8px;
	}

	.case-section__details {
		width: 100%;
	}

	.case-section__details > .wp-block-group__inner-container {
		width: 100%;
		max-width: none !important;
	}

	.case-section__compare,
	.case-section__compare > .wp-block-group__inner-container {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		border-radius: 0;
		overflow: hidden;
	}

	.case-section__photo-wrap {
		flex: 0 0 auto;
		max-width: 100%;
		width: 100%;
	}

	.case-section__photo {
		aspect-ratio: 4096 / 3072;
		border-radius: 0 !important;
	}

	.case-section__photo img {
		border-radius: 0 !important;
	}

	.case-section__badge--before {
		background: rgba(50, 1, 1, 0.8);
	}

	.case-section__badge {
		display: inline-flex;
		align-items: center;
		box-sizing: border-box;
		height: 30px;
		padding-block: 0 !important;
		padding-inline: 10px;
		line-height: 1;
	}

	.case-section__card-title-pc {
		display: none;
	}

	.case-section__card-title-sp {
		display: inline;
	}
}

/* 対応エリアセクション（Figma 578:5081 PC / 578:5952 SP）
   padding-block はセクション本体のみ（inner には不要） */
.area-section.swell-block-fullWide {
	padding-block: 80px !important;
}

@media screen and (min-width: 960px) {
	.area-section.swell-block-fullWide {
		padding-block: 100px !important;
	}
}

.area-section .swell-block-fullWide__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px !important;
	padding-block: 0 !important;
	padding-inline: 24px !important;
}

@media screen and (min-width: 960px) {
	.area-section .swell-block-fullWide__inner {
		gap: 80px !important;
		padding-inline: 64px !important;
	}
}

/* SWELLシリアライズ由来の空p/brが flex gap を食うため除外 */
.area-section .swell-block-fullWide__inner > p:empty,
.area-section .swell-block-fullWide__inner > p:has(> br:only-child),
.area-section__head > .wp-block-group__inner-container > p:empty,
.area-section__head > .wp-block-group__inner-container > p:has(> br:only-child),
.area-section__intro > .wp-block-group__inner-container > p:empty,
.area-section__intro > .wp-block-group__inner-container > p:has(> br:only-child),
.area-section__body > .swell-block-columns__inner > p,
.area-section__body > .swell-block-columns > .swell-block-columns__inner > p,
.area-section__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > p,
.area-section__panels > .wp-block-group__inner-container > p,
.area-section__panel > .wp-block-group__inner-container > p:not(.area-section__panel-head):not(.area-section__region-name):not(.area-section__region-prefs),
.area-section__regions > .swell-block-columns__inner > p,
.area-section__regions > .swell-block-columns > .swell-block-columns__inner > p,
.area-section__regions > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > p,
.area-section__regions .swell-block-column > p:not(.area-section__region-name):not(.area-section__region-prefs) {
	display: none !important;
}

.area-section .section-title.area-section__title {
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: clamp(28px, calc(28px + (100vw - 768px) * 12 / 256), 40px) !important;
	line-height: 1.2;
	color: #e55910;
}

.area-section__head {
	width: 100%;
	margin-bottom: 0 !important;
}

.area-section__head > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	width: 100%;
	max-width: none;
}

.area-section__head .area-section__title {
	margin-bottom: 0 !important;
	text-align: center !important;
	width: 100%;
}

.area-section__intro {
	width: 100%;
}

.area-section__intro > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	width: 100%;
	max-width: none;
}

.area-section__intro .area-section__lead,
.area-section__intro .area-section__note {
	width: 100%;
}

.area-section__head .area-section__lead {
	margin-bottom: 0 !important;
}

.area-section__head .area-section__note {
	margin: 0 !important;
}

@media screen and (min-width: 960px) {
	.area-section__head > .wp-block-group__inner-container {
		gap: 80px;
	}

	.area-section__intro {
		width: fit-content;
		max-width: 100%;
		margin-inline: auto;
	}

	.area-section__intro > .wp-block-group__inner-container {
		align-items: flex-start;
		width: auto;
	}

	.area-section__intro .area-section__lead,
	.area-section__intro .area-section__note {
		width: auto;
	}
}

.area-section__lead {
	margin: 0 !important;
	font-weight: 700;
	font-size: clamp(20px, calc(20px + (100vw - 768px) * 4 / 256), 24px);
	line-height: 1.5;
	letter-spacing: 0.48px;
	color: #4c4c4c;
	text-align: center;
}

@media screen and (min-width: 960px) {
	.area-section__lead {
		text-align: left !important;
	}
}

.area-section__lead-accent {
	color: var(--color_main, #e55910);
}

.area-section__note {
	margin: 0 !important;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #4c4c4c;
	text-align: center;
}

@media screen and (min-width: 960px) {
	.area-section__note {
		text-align: left !important;
	}
}

.area-section__body {
	width: 100%;
	padding: 0 !important;
}

.area-section__body > .swell-block-columns__inner,
.area-section__body > .swell-block-columns > .swell-block-columns__inner,
.area-section__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
	align-items: center;
	gap: 40px !important;
	margin: 0 !important;
}

.area-section__panels-col {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: stretch;
}

.area-section__panels-col > p.wp-block-paragraph,
.area-section__note {
	margin: 0 !important;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 18px !important;
	font-weight: 400;
	line-height: 1.5;
	color: #4c4c4c;
	text-align: left !important;
	display: block !important;
}

.area-section__panels > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.area-section__panels > .wp-block-group__inner-container {
		max-width: none !important;
	}
}

.area-section__panel > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-bottom: 24px;
	max-width: none !important;
	width: 100%;
}

.area-section__panel--blue > .wp-block-group__inner-container {
	background: #c3d7ea;
}

.area-section__panel--orange {
	margin-bottom: 0 !important;
}

.area-section__panel--orange > .wp-block-group__inner-container {
	background: #ffeee1;
	margin-bottom: 0 !important;
}

.area-section__panel-head {
	margin: 0 !important;
	padding: 4px 8px;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
	text-align: center;
	color: #fff;
}

.area-section__panel--blue .area-section__panel-head {
	background: #2970b2;
}

.area-section__panel--orange .area-section__panel-head {
	background: #fe8f3d;
}

.area-section__regions {
	width: 100%;
	padding: 0 !important;
}

.area-section__regions > .swell-block-columns__inner,
.area-section__regions > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
	display: flex;
	flex-direction: column;
	gap: 24px !important;
	margin: 0 !important;
}

.area-section__regions > .swell-block-columns__inner > .swell-block-column,
.area-section__regions > .swell-block-columns > .swell-block-columns__inner > .swell-block-column ,
.area-section__regions > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.area-section__region-name {
	margin: 0 !important;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
	color: #4c4c4c;
	text-align: center;
}

/* 地方名を h3 にしても見た目は従来どおり */
.area-section h3.area-section__region-name,
h3.wp-block-heading.area-section__region-name {
	margin: 0 !important;
	padding: 0;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
	color: #4c4c4c;
	text-align: center;
}

.area-section__region-name.is-style-section_ttl::before,
.area-section__region-name.is-style-section_ttl::after,
h3.area-section__region-name.is-style-section_ttl::before,
h3.area-section__region-name.is-style-section_ttl::after {
	content: none !important;
	display: none !important;
}

.area-section__region-prefs {
	margin: 0 !important;
	font-size: 18px;
	line-height: 1.5;
	color: #4c4c4c;
	width: fit-content;
	max-width: 100%;
}

.area-section__prefs-sp {
	display: none;
}

.area-section__map {
	margin-block: 0 !important;
	margin-inline: auto !important;
	width: 100%;
	aspect-ratio: 1 / 1;
}

.area-section__map img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media screen and (min-width: 960px) {
	.area-section__body > .swell-block-columns__inner,
.area-section__body > .swell-block-columns > .swell-block-columns__inner,
.area-section__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		flex-wrap: nowrap !important;
		gap: clamp(16px, calc(16px + (100vw - 960px) * 60 / 480), 76px) !important;
	}

	.area-section__panels-col {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		--clmn-w: 100%;
		--clmn-w--pc: 100%;
		--clmn-w--tab: 100%;
	}

	.area-section__body > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:has(.area-section__panels-col) ,
.area-section__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:has(.area-section__panels-col) {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		--clmn-w: 100%;
		--clmn-w--pc: 100%;
		--clmn-w--tab: 100%;
	}

	.area-section__map-col {
		flex: none !important;
		width: 280px !important;
		max-width: 280px !important;
		min-width: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		--clmn-w: 100%;
		--clmn-w--pc: 100%;
	}

	.area-section__body > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:has(.area-section__map-col) ,
.area-section__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:has(.area-section__map-col) {
		flex: none !important;
		width: 280px !important;
		max-width: 280px !important;
		min-width: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		--clmn-w: 100%;
		--clmn-w--pc: 100%;
	}

	.area-section__map {
		width: 100%;
		max-width: 100%;
	}

	@media screen and (min-width: 1025px) {
		.area-section__map-col,
		.area-section__body > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:has(.area-section__map-col),
		.area-section__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:has(.area-section__map-col) {
			width: clamp(280px, calc(280px + (100vw - 1024px) * 140 / 416), 420px) !important;
			max-width: 420px !important;
		}
	}

	.area-section__regions--orange > .swell-block-columns__inner,
.area-section__regions--orange > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions--orange > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner,
	.area-section__regions--blue > .swell-block-columns__inner,
.area-section__regions--blue > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions--blue > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}

	.area-section__regions--orange > .swell-block-columns__inner,
.area-section__regions--orange > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions--orange > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		column-gap: 80px !important;
		row-gap: 24px !important;
	}

	.area-section__regions--blue > .swell-block-columns__inner,
.area-section__regions--blue > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions--blue > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 40px !important;
		row-gap: 24px !important;
		justify-items: center;
	}

	.area-section__regions > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions > .swell-block-columns > .swell-block-columns__inner > .swell-block-column ,
.area-section__regions > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
		flex: none !important;
		width: 100% !important;
	}
}

@media screen and (min-width: 960px) and (max-width: 1024px) {
	.area-section__regions--orange > .swell-block-columns__inner,
.area-section__regions--orange > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions--orange > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner,
	.area-section__regions--blue > .swell-block-columns__inner,
.area-section__regions--blue > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions--blue > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		column-gap: 50px !important;
		row-gap: 24px !important;
		padding-inline: 20px;
		box-sizing: border-box;
	}

	.area-section__regions--blue > .swell-block-columns__inner,
.area-section__regions--blue > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions--blue > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 24px !important;
	}
}

@media screen and (max-width: 959px) {
	.area-section__intro {
		width: fit-content;
		max-width: 100%;
		margin-inline: auto;
	}

	.area-section__intro > .wp-block-group__inner-container {
		align-items: flex-start;
		width: auto;
	}

	.area-section__lead,
	.area-section__note,
	.area-section__intro .area-section__lead,
	.area-section__intro .area-section__note {
		width: auto;
		max-width: 100%;
		text-align: left !important;
	}

	.area-section__body > .swell-block-columns__inner,
.area-section__body > .swell-block-columns > .swell-block-columns__inner,
.area-section__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		flex-direction: column !important;
		gap: 40px !important;
	}

	.area-section__lead br {
		display: none;
	}

	.area-section__map-col {
		order: -1;
		width: 100% !important;
		max-width: 100% !important;
	}

	.area-section__body > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:has(.area-section__map-col) ,
.area-section__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:has(.area-section__map-col) {
		order: -1;
		width: 100% !important;
		max-width: 100% !important;
	}

	.area-section__panels-col {
		width: 100% !important;
		max-width: 100% !important;
	}

	.area-section__region-prefs:has(.area-section__prefs-sp) .area-section__prefs-pc {
		display: none;
	}

	.area-section__prefs-sp {
		display: inline;
	}

	.area-section__regions--orange > .swell-block-columns__inner,
.area-section__regions--orange > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions--orange > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner,
	.area-section__regions--blue > .swell-block-columns__inner,
.area-section__regions--blue > .swell-block-columns > .swell-block-columns__inner,
.area-section__regions--blue > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		padding-inline: 14px;
		box-sizing: border-box;
	}
}

@media screen and (min-width: 768px) and (max-width: 959px) {
	.area-section__regions--orange > .swell-block-columns__inner,
	.area-section__regions--orange > .swell-block-columns > .swell-block-columns__inner,
	.area-section__regions--orange > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		column-gap: 50px !important;
		row-gap: 24px !important;
	}

	.area-section__regions--blue > .swell-block-columns__inner,
	.area-section__regions--blue > .swell-block-columns > .swell-block-columns__inner,
	.area-section__regions--blue > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		column-gap: 50px !important;
		row-gap: 24px !important;
	}

	.area-section__regions--orange > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--orange > .swell-block-columns > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--orange > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--blue > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--blue > .swell-block-columns > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--blue > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 8px;
		width: 100% !important;
		max-width: none !important;
		flex: none !important;
		margin: 0 !important;
	}
}

@media screen and (max-width: 767px) {
	.area-section__regions--orange > .swell-block-columns__inner,
	.area-section__regions--orange > .swell-block-columns > .swell-block-columns__inner,
	.area-section__regions--orange > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner,
	.area-section__regions--blue > .swell-block-columns__inner,
	.area-section__regions--blue > .swell-block-columns > .swell-block-columns__inner,
	.area-section__regions--blue > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch;
	}

	.area-section__regions--orange > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--orange > .swell-block-columns > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--orange > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--blue > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--blue > .swell-block-columns > .swell-block-columns__inner > .swell-block-column,
	.area-section__regions--blue > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
	}
}

/* よくあるご質問セクション（Figma 578:5119） */
.faq-section {
	background: #fff !important;
}

.faq-section .swell-block-fullWide__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 80px;
	padding-inline: clamp(24px, 12px + 3vw, 64px);
}

@media screen and (min-width: 960px) {
	.faq-section .swell-block-fullWide__inner {
		padding-block: 100px !important;
	}
}

/* SWELL見出しリボンを解除し、オレンジ文字のみに */
.faq-section h2.faq-section__title,
.faq-section h2.wp-block-heading {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	color: #e55910 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 28px !important;
	line-height: 1.2;
	text-align: center;
	box-shadow: none !important;
}

@media screen and (min-width: 960px) {
	.faq-section h2.faq-section__title,
	.faq-section h2.wp-block-heading {
		font-size: 40px !important;
	}
}

.faq-section h2.faq-section__title::before,
.faq-section h2.faq-section__title::after,
.faq-section h2.wp-block-heading::before,
.faq-section h2.wp-block-heading::after {
	content: none !important;
	display: none !important;
}

.faq-section__body {
	width: 100%;
	padding: 0 !important;
}

.faq-section__body > .swell-block-columns__inner {
	align-items: flex-start;
	gap: clamp(40px, 24px + 4vw, 80px);
	margin: 0 !important;
}

/* SP縦並び時：ブロック設定の --swl-clmn-mrgn--x: 5rem を無効化 */
@media screen and (max-width: 959px) {
	.faq-section__body {
		--swl-clmn-mrgn--x: 0px !important;
	}

	.faq-section__body > .swell-block-columns__inner {
		margin-left: 0 !important;
		flex-direction: column !important;
	}

	.faq-section__body > .swell-block-columns__inner > .swell-block-column {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}
}

.faq-section__head-col {
	position: relative;
	min-width: 0;
}

.faq-section__title {
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: clamp(24px, calc(24px + (100vw - 768px) * 16 / 256), 40px);
	line-height: 1.2;
	text-align: center;
}

.faq-section__deco {
	margin: 24px auto 0 !important;
	width: clamp(66px, 48px + 4.8vw, 155px);
	pointer-events: none;
}

.faq-section__deco img {
	display: block;
	width: 100%;
	height: auto;
}

.faq-section__list-col {
	min-width: 0;
	width: 100%;
}

.faq-section__list {
	width: 100%;
}

.faq-section__list.swell-block-faq .swell-block-faq__item + .swell-block-faq__item {
	margin-top: 0;
}

.faq-section .swell-block-faq .faq_q::before,
.faq-section .swell-block-faq .faq-a__inner::before {
	position: static;
	width: auto !important;
	height: auto;
	border-radius: 0;
	box-shadow: none !important;
	background: none !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.8;
	text-align: left !important;
}

.faq-section .faq_q,
.faq-section .faq_a {
	position: relative;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: #4c4c4c;
	text-align: left;
}

.faq-section .faq_q {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 16px;
	align-items: center;
	padding: 24px 48px 24px 16px;
	background: #f9f9f6;
	font-weight: 700;
	cursor: pointer;
}

/* 開閉トリガー：見た目はテキスト、セマンティクスは button（h3 の見出し性を維持） */
.faq-section .faq_q__text {
	display: block;
	min-width: 0;
	font: inherit;
	font-weight: inherit;
	color: inherit;
	text-align: left;
}

.faq-section .faq_q__trigger {
	appearance: none;
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	background: transparent;
	cursor: pointer;
}

.faq-section .faq_q__trigger:focus-visible {
	outline: 2px solid var(--color_main, #e55910);
	outline-offset: 2px;
}

.faq-section .swell-block-faq .faq_q::before {
	content: "Q.";
	display: block !important;
	color: #4c4c4c;
}

.faq-section .faq_q::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	font-size: 32px;
	line-height: 1;
	color: #dddcdc;
	font-weight: 400;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.faq-section .swell-block-faq__item.is-open .faq_q::after {
	content: "−";
}

/* 開閉は height ではなく grid-template-rows（レイアウト再計算が軽くカクつきにくい） */
.faq-section .faq_a {
	display: grid;
	grid-template-rows: minmax(0, 0fr);
	padding: 0 !important;
	background: #fff;
	font-weight: 400;
	cursor: pointer;
	overflow: hidden;
	transition: grid-template-rows 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-section .swell-block-faq__item.is-open .faq_a {
	grid-template-rows: minmax(0, 1fr);
}

.faq-section .faq-a__collapse {
	overflow: hidden;
	min-height: 0;
}

.faq-section .faq-a__inner {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 16px;
	align-items: center;
	padding: 24px 48px 24px 16px;
	box-sizing: border-box;
}

.faq-section .swell-block-faq .faq-a__inner::before {
	content: "A.";
	display: block !important;
	color: var(--color_main, #e55910);
}

.faq-section .faq-a__inner > * {
	grid-column: 2;
	max-width: 83%;
	margin: 0 !important;
}

.faq-section .faq_a::before,
.faq-section .faq_a::after {
	display: none;
	content: none;
}

.faq-section .swell-block-faq__item:not(.is-open) .faq_a {
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.faq-section .faq_a {
		transition: none;
	}
}

.faq-section .faq_a p {
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 2px;
	color: #4c4c4c;
}

.faq-section__more {
	margin-top: 48px !important;
	margin-bottom: 0;
	margin-inline: auto;
}

.faq-section .faq_a .faq-section__more {
	margin-top: 48px !important;
}

.faq-section__list-col > .faq-section__more,
.faq-section__list + .faq-section__more,
.faq-section .swell-block-faq + .faq-section__more {
	margin-top: 48px !important;
}

@media screen and (min-width: 600px) and (max-width: 959px) {
	.faq-section .swell-block-fullWide__inner {
		max-width: 700px !important;
		margin-inline: auto;
	}
}

@media screen and (min-width: 960px) {
	.faq-section .swell-block-fullWide__inner {
		position: relative;
	}

	.faq-section__body > .swell-block-columns__inner {
		position: relative;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: stretch;
		gap: 80px;
		max-width: 1110px;
		width: 100%;
		margin-inline: auto !important;
	}

	.faq-section__body > .swell-block-columns__inner > .swell-block-column {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.faq-section__head-col {
		position: static;
		flex: 0 0 280px !important;
		width: 280px !important;
		max-width: 280px !important;
	}

	.faq-section__list-col {
		flex: 0 1 750px !important;
		width: auto !important;
		max-width: 750px !important;
	}

	.faq-section__title {
		white-space: nowrap;
	}

	/* Figma 578:5161：コンテンツ左端に配置 */
	.faq-section__deco {
		position: absolute;
		left: 0;
		bottom: 0;
		margin: 0 !important;
		width: 155px;
		height: 163px;
		aspect-ratio: 155 / 163;
		z-index: 1;
		pointer-events: none;
	}

	.faq-section__deco img {
		width: 130px !important;
		height: 163px !important;
		aspect-ratio: 155 / 163;
		object-fit: contain;
	}
}

@media screen and (max-width: 959px) {
	.faq-section__head-col {
		padding-top: clamp(48px, 32px + 4vw, 69px);
	}

	.faq-section__deco {
		position: absolute;
		top: 0;
		left: 0;
		margin: 0 !important;
		width: 66px;
	}

	.faq-section__list.swell-block-faq .swell-block-faq__item + .swell-block-faq__item {
		margin-top: 24px;
	}

	/* SP：Q./A. とテキストは縦並び（PCのみ横並び）・左寄せ */
	.faq-section .faq_q {
		display: block;
		padding: 12px 48px 16px 0 !important;
		text-align: left;
	}

	.faq-section .faq_q__text {
		margin-bottom: 0 !important;
		letter-spacing: 2px;
	}

	.faq-section .faq_q__trigger {
		margin-bottom: 0 !important;
	}

	/* 開閉アニメ用の grid は維持（display:block にするとカクつく／動かない） */
	.faq-section .faq_a {
		display: grid;
		grid-template-rows: minmax(0, 0fr);
		padding: 0 !important;
		text-align: left;
	}

	.faq-section .swell-block-faq__item.is-open .faq_a {
		grid-template-rows: minmax(0, 1fr);
	}

	.faq-section .faq-a__inner {
		display: block;
		padding: 0 !important;
	}

	.faq-section .faq_q::before,
	.faq-section .faq-a__inner::before {
		position: static;
		display: block !important;
		width: auto !important;
		margin-bottom: 0;
		text-align: left !important;
	}

	.faq-section .faq_q::after {
		top: 50%;
		transform: translateY(-50%);
	}

	.faq-section .faq-a__inner > * {
		display: block;
		grid-column: auto;
		text-align: left;
	}
}

/* FAQ装飾：374px以下でイラスト縮小・位置調整（Figma 578:6037 は375px=66px） */
@media screen and (max-width: 374px) {
	.faq-section__deco {
		position: absolute;
		top: 14px;
		left: 0;
		margin: 0 !important;
		width: calc(52px + (100vw - 320px) * 14 / 54);
	}
}

/* 全ページ：SWELL ページタイトル帯を非表示 */
.c-pageTitle {
	display: none !important;
}

/* プライバシーポリシー：セクション見出し（中央・太字・短いオレンジ下線） */
#content[data-postid="15"] .post_content h2.is-style-section_ttl,
#content[data-postid="15"] .post_content h2.wow {
	position: relative;
	margin: 0 0 24px !important;
	padding: 0 0 14px !important;
	font-size: clamp(18px, calc(18px + (100vw - 768px) * 10 / 256), 28px) !important;
	font-weight: 700 !important;
	text-align: center !important;
	color: #333 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

#content[data-postid="15"] .post_content h2.is-style-section_ttl:not(:first-of-type),
#content[data-postid="15"] .post_content h2.wow:not(:first-of-type) {
	margin-top: 40px !important;
}

#content[data-postid="15"] .post_content h2.is-style-section_ttl::before,
#content[data-postid="15"] .post_content h2.wow::before {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
}

#content[data-postid="15"] .post_content h2.is-style-section_ttl::after,
#content[data-postid="15"] .post_content h2.wow::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: auto !important;
	bottom: 0 !important;
	left: calc(50% - 40px) !important;
	right: auto !important;
	width: 80px !important;
	height: 3px !important;
	background: #e55910 !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	pointer-events: none !important;
}

@media screen and (min-width: 960px) {
	#content[data-postid="15"] .swell-block-fullWide__inner {
		max-width: 1000px !important;
		width: 100%;
		margin-inline: auto;
		box-sizing: border-box;
	}
}

.faq-page {
	background: #fff !important;
}

.swell-block-fullWide__inner:has(.faq-page__container) {
	padding-block: 0 !important;
	padding-inline: clamp(24px, 12px + 3vw, 64px);
	overflow: visible;
}

.faq-page__container {
	width: 100%;
	max-width: 1000px;
	margin-inline: auto;
}

.faq-page__container > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 80px;
	width: 100%;
}

.faq-page h1.faq-page__title {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: #e55910 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: clamp(28px, calc(28px + (100vw - 768px) * 12 / 256), 40px) !important;
	line-height: 1.2;
	text-align: center;
	box-shadow: none !important;
}

.faq-page h1.faq-page__title::before,
.faq-page h1.faq-page__title::after {
	content: none !important;
	display: none !important;
}

.faq-page__tab-area {
	width: 100%;
	overflow: visible;
}

.faq-page__tab-area .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 80px;
	width: 100%;
}

.faq-page__tab-area .c-tabBody,
.faq-page__tab-area .faq-page__pack-link,
.faq-page__tab-area .faq-page__list {
	width: 100%;
	max-width: 1000px;
	margin-inline: auto;
}

.faq-page__tab-area .swell-block-tab {
	display: contents;
}

.faq-page__tab-area .c-tabList {
	order: 0;
}

.faq-page__tab-area .faq-page__pack-link {
	order: 1;
}

.faq-page__tab-area .c-tabBody {
	order: 2;
	width: 100%;
}

.faq-page__tab-area .c-tabList {
	--the-tab-flex_wrap: wrap;
	--the-tab-item-margin: 0;
	justify-content: center;
	gap: clamp(16px, 8px + 2vw, 32px);
	width: 100%;
	margin: 0 !important;
}

@media screen and (min-width: 960px) {
	.faq-page__tab-area {
		--faq-tab-width: min(1109px, calc(100vw - 128px));
	}

	.faq-page__tab-area .c-tabList {
		width: var(--faq-tab-width);
		max-width: none;
		margin-inline: calc((100% - var(--faq-tab-width)) / 2) !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 1340px) {
	.faq-page__tab-area .c-tabList {
		--the-tab-flex_wrap: wrap;
		flex-wrap: wrap;
		width: min(var(--faq-tab-width, 100%), 780px) !important;
	}
}

@media screen and (min-width: 1341px) {
	.faq-page__tab-area .c-tabList {
		--the-tab-flex_wrap: nowrap;
		flex-wrap: nowrap;
	}
}

.faq-page__tab-area .c-tabList__item {
	flex: 0 1 auto;
}

.faq-page__tab-area .c-tabList__button {
	padding: 4px 0;
	background: none;
	box-shadow: none;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #4c4c4c;
	opacity: 1;
}

.faq-page__tab-area .c-tabList__button .faq-page__tab-title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	position: static;
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-align: inherit;
}

.faq-page__tab-area .c-tabList__button .faq-page__tab-title::before,
.faq-page__tab-area .c-tabList__button .faq-page__tab-title::after {
	content: none !important;
	display: none !important;
}

.faq-page__tab-area .is-style-bb > .c-tabList .c-tabList__button::before {
	opacity: 0;
}

.faq-page__tab-area .is-style-bb > .c-tabList .c-tabList__button::after {
	opacity: 0;
}

.faq-page__tab-area .is-style-bb > .c-tabList .c-tabList__button[aria-selected="true"]::after {
	opacity: 1;
}

.faq-page__pack-link.benefit-detail-link {
	gap: 16px;
	margin-block: 0;
	--detail-link-arrow-gap: 16px;
}

.faq-page__pack-link .benefit-detail-link__text {
	flex: 0 1 auto;
	width: auto !important;
}

.faq-page__pack-link.benefit-detail-link::before {
	width: 48px;
	height: 48px;
}

.faq-page__pack-link .benefit-detail-link__text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 700;
	white-space: normal;
}

.faq-page__pack-link .benefit-detail-link__text a {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 1px solid #e55910;
	text-align: center;
	line-height: 1.5;
	text-decoration: none;
}

.faq-page__pack-link-line1,
.faq-page__pack-link-line2 {
	display: block;
}

.faq-page__tab-area .is-style-bb > .c-tabList .c-tabList__button::after {
	background-color: #e55910;
	height: 2px;
}

.faq-page__tab-area .is-style-bb > .c-tabList .c-tabList__button[aria-selected="true"],
.faq-page__tab-area .is-style-bb > .c-tabList .c-tabList__button:hover {
	color: #e55910;
	font-weight: 700;
}

.faq-page__pack-link {
	margin: 0 !important;
}

@media screen and (min-width: 768px) and (max-width: 959px) {
	.faq-page__pack-link.benefit-detail-link {
		gap: 8px;
		--detail-link-arrow-gap: 8px;
	}

	.faq-support-step__title {
		white-space: nowrap;
		text-wrap: nowrap;
	}
}

@media screen and (max-width: 767px) {
	.faq-page__tab-area .c-tabList {
		flex-direction: column;
		align-items: center;
		gap: 24px;
		width: 100% !important;
		margin-inline: 0 !important;
	}

	.faq-page__tab-area .c-tabList__button {
		color: #4c4c4c;
	}

	.faq-page__tab-area .is-style-bb > .c-tabList .c-tabList__button[aria-selected="true"] {
		color: #e55910;
	}

	.faq-page__pack-link.benefit-detail-link::before {
		width: 48px;
		height: 48px;
	}

	.faq-page__pack-link .benefit-detail-link__text {
		font-size: 16px;
	}

	.faq-page__pack-link .benefit-detail-link__text a {
		white-space: normal;
	}
}

.faq-page__list,
.faq-page__list .swell-block-faq {
	width: 100%;
}

.faq-page__list .swell-block-faq .swell-block-faq__item + .swell-block-faq__item {
	margin-top: 0;
}

.faq-page__list,
.faq-page__list > .swell-block-faq {
	counter-reset: faq-page-q;
}

.faq-page__list .swell-block-faq__item {
	counter-increment: faq-page-q;
}

.faq-page .swell-block-faq .faq_q::before,
.faq-page .swell-block-faq .faq-a__inner::before {
	position: static;
	width: auto !important;
	height: auto;
	border-radius: 0;
	box-shadow: none !important;
	background: none !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.8;
	text-align: left !important;
}

.faq-page .swell-block-faq .faq_q::before {
	content: "Q" counter(faq-page-q) ".";
	display: block !important;
	color: #333;
}

.faq-page .swell-block-faq .faq-a__inner::before {
	content: "A" counter(faq-page-q) ".";
	display: block !important;
	grid-column: 1;
	align-self: center;
	color: #e55910;
}

/* 質問が1件のみのタブは Q1/A1 ではなく Q/A 表記 */
.faq-page__list:has(.swell-block-faq > .swell-block-faq__item:only-child) .swell-block-faq .faq_q::before {
	content: "Q.";
}

.faq-page__list:has(.swell-block-faq > .swell-block-faq__item:only-child) .swell-block-faq .faq-a__inner::before {
	content: "A.";
}

.faq-page .faq_q,
.faq-page .faq_a {
	position: relative;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: #333;
	text-align: left;
}

.faq-page .faq_q {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 16px;
	align-items: center;
	padding: 24px 48px 24px 16px;
	background: #f9f9f6;
	font-weight: 700;
	cursor: pointer;
}

.faq-page .faq_q::before {
	grid-column: 1;
}

.faq-page .faq_q__text {
	grid-column: 2;
	display: block;
	min-width: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: 0.02em;
	color: inherit;
	text-align: left;
}

.faq-page h3.faq_q,
.faq-section h3.faq_q {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.faq-page .faq_q__trigger {
	appearance: none;
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	background: transparent;
	cursor: pointer;
}

.faq-page .faq_q__trigger:focus-visible {
	outline: 2px solid var(--color_main, #e55910);
	outline-offset: 2px;
}

.faq-page .faq_q::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	font-size: 32px;
	line-height: 1;
	color: #dddcdc;
	font-weight: 400;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.faq-page .swell-block-faq__item.is-open .faq_q::after {
	content: "−";
}

.faq-page .faq_a {
	display: grid;
	grid-template-rows: minmax(0, 0fr);
	position: relative;
	padding: 0 !important;
	background: #fff;
	font-weight: 400;
	cursor: pointer;
	overflow: hidden;
	transition: grid-template-rows 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-page .swell-block-faq__item.is-open .faq_a {
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	align-items: start;
}

.faq-page .swell-block-faq__item.is-open .faq_a .faq-a__collapse {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
}

.faq-page .faq_a::after {
	display: none;
	content: none;
}

.faq-page .faq-a__collapse {
	overflow: hidden;
	min-height: 0;
}

.faq-page .faq-a__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 16px;
	align-items: center;
	padding: 26px 48px 26px 16px;
	box-sizing: border-box;
}

.faq-page .faq-a__inner > * {
	grid-column: 2;
	max-width: 83%;
	margin: 0 !important;
}

.faq-page .faq_a::before {
	display: none;
	content: none;
}

.faq-page .swell-block-faq__item:not(.is-open) .faq_a {
	pointer-events: none;
}

.faq-page .faq_a p {
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 2px;
	color: #333;
}

.faq-page .faq_a a {
	color: #e55910;
	text-decoration: underline;
}

.faq-page .faq_a strong {
	font-weight: 700;
}

@media screen and (max-width: 959px) {
	.faq-page__list.swell-block-faq .swell-block-faq__item + .swell-block-faq__item {
		margin-top: 24px;
	}

	.faq-page .faq_q {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-rows: auto auto;
		column-gap: 16px;
		row-gap: 16px;
		align-items: center;
		padding: 24px 16px !important;
	}

	.faq-page .faq_q::before {
		grid-column: 1;
		grid-row: 1;
		margin-bottom: 0 !important;
	}

	.faq-page .faq_q::after {
		grid-column: 2;
		grid-row: 1;
		position: static;
		top: auto;
		right: auto;
		transform: none;
		justify-self: end;
	}

	.faq-page .faq_q__text {
		grid-column: 1 / -1;
		grid-row: 2;
		letter-spacing: 2px;
	}

	.faq-page .faq_q__trigger {
		grid-column: unset;
		grid-row: unset;
	}

	.faq-page .swell-block-faq__item.is-open .faq_a {
		position: relative;
		grid-template-columns: minmax(0, 1fr);
	}

	.faq-page .faq-a__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		column-gap: 16px;
		row-gap: 16px;
		align-items: center;
		padding: 0 !important;
	}

	.faq-page .swell-block-faq__item.is-open .faq-a__inner {
		padding: 28px 16px !important;
	}

	.faq-page .faq-a__inner::before {
		grid-column: 1;
		grid-row: 1;
		margin-bottom: 0 !important;
	}

	.faq-page .faq-a__inner > * {
		grid-column: 1 / -1;
		grid-row: 2;
		display: block;
		max-width: 100%;
	}
}

/* お家まるごとコーティングパック（FAQページ下層） */
@media screen and (min-width: 768px) {
	#faq-pack.swell-block-fullWide {
		padding-block: 112px !important;
	}
}

.swell-block-fullWide__inner:has(.faq-pack-section),
.swell-block-fullWide__inner:has(.faq-pack-section__container),
.swell-block-fullWide__inner:has(.faq-support-section__container) {
	padding-block: 0 !important;
	padding-inline: clamp(24px, 12px + 3vw, 64px);
}

.wp-block-group.faq-pack-section {
	width: 100%;
	max-width: 1230px;
	margin-inline: auto;
}

.wp-block-group.faq-pack-section > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 72px;
	width: 100%;
}

.wp-block-group.faq-pack-section > .wp-block-group__inner-container > * {
	margin-block: 0 !important;
}

.faq-pack-section__container {
	width: 100%;
	max-width: 1230px;
	margin-inline: auto;
}

.faq-support-section__container {
	width: 100%;
	max-width: 1312px;
	margin-inline: auto;
}

.faq-pack-section__container > .wp-block-group__inner-container,
.faq-support-section__container > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 80px;
	width: 100%;
}

.faq-pack-section__container > .wp-block-group__inner-container {
	gap: 77px;
	max-width: 1200px;
	margin-inline: auto;
}

.faq-support-section__container > .wp-block-group__inner-container {
	max-width: 1312px;
	margin-inline: auto;
}

.faq-pack-section__container > .wp-block-group__inner-container > *,
.faq-support-section__container > .wp-block-group__inner-container > * {
	margin-block: 0 !important;
}

@media screen and (min-width: 960px) {
	.swell-block-fullWide__inner:has(.faq-pack-section),
	.swell-block-fullWide__inner:has(.faq-pack-section__container) {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 80px;
	}
}

.faq-pack-section__sub {
	margin: 0 0 24px !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 24px !important;
	line-height: 1.5;
	letter-spacing: 0.48px;
	color: #4c4c4c;
	text-align: center;
}

.faq-pack-section__title,
.faq-support-section__title {
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: clamp(28px, calc(28px + (100vw - 768px) * 12 / 256), 40px) !important;
	line-height: 1.2;
	letter-spacing: 0.8px;
	text-align: center;
	color: #e55910 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.faq-pack-section__highlights,
.faq-pack-section__cards,
.faq-support-section__steps {
	width: 100%;
}

.faq-pack-highlight {
	padding: 16px;
	border: 1px solid #e55910;
	border-radius: 20px;
	background: #fff1e9;
	height: 100%;
	box-sizing: border-box;
}

.faq-pack-highlight,
.faq-pack-highlight > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 32px;
}

.faq-pack-highlight__label {
	order: 1;
	flex: 0 0 100%;
	width: 100%;
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0.48px;
	color: #333;
	text-align: center;
}

.faq-pack-highlight__content,
.faq-pack-highlight__content > .wp-block-group__inner-container {
	order: 2;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 32px;
	width: 100%;
}

.faq-pack-highlight__value-text,
.faq-pack-highlight__value-text > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.faq-pack-highlight__icon {
	flex: 0 0 86px;
	width: 86px;
	margin: 0 !important;
}

.faq-pack-highlight__icon img {
	display: block;
	width: 86px;
	height: 86px;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.faq-pack-highlight__value {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	flex: 0 1 auto;
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 1.2;
	letter-spacing: 1px;
	color: #e55910;
	text-align: center;
}

.faq-pack-highlight__note {
	margin: 0 !important;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.28px;
	color: #333;
	text-align: center;
}

.faq-pack-highlight__value-sub {
	display: inline-block;
	margin: 0;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0.48px;
	text-align: left;
	vertical-align: middle;
}

.faq-pack-highlight__value-years {
	font-size: 16px;
	letter-spacing: 0.32px;
	color: #e55910;
}

.faq-pack-highlight__value-years strong {
	font-size: 50px;
	letter-spacing: 1px;
}

.faq-pack-section__set {
	width: 100%;
	padding: clamp(24px, 16px + 2vw, 40px);
	border: 1px solid #e55910;
	border-radius: 20px;
	background: #fff1e9;
	box-sizing: border-box;
}

.faq-pack-section__service {
	width: 100%;
	padding: clamp(24px, 16px + 2vw, 40px);
	border: 1px solid #e55910;
	border-radius: 20px;
	background: #fff;
	box-sizing: border-box;
}

@media screen and (min-width: 768px) {
	.faq-pack-section__set,
	.faq-pack-section__service {
		padding: 40px 32px;
	}
}

.faq-pack-section__set-title,
.faq-pack-section__service-title {
	margin: 0 0 40px !important;
	font-size: clamp(24px, calc(24px + (100vw - 768px) * 8 / 256), 32px) !important;
	letter-spacing: 0.48px;
}

.faq-pack-section__set-title {
	margin-bottom: 80px !important;
}

.faq-pack-section__service-title {
	margin-bottom: 77px !important;
}

.faq-pack-card,
.faq-pack-card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
	padding-bottom: 10px;
	box-sizing: border-box;
}

.faq-pack-section__cards--set .faq-pack-card,
.faq-pack-section__cards--service .faq-pack-card {
	padding-bottom: 0;
}

.faq-pack-section__cards--set .faq-pack-card > .wp-block-group__inner-container,
.faq-pack-section__cards--service .faq-pack-card > .wp-block-group__inner-container {
	padding-bottom: 10px;
}

.faq-pack-section__cards--set .swell-block-columns__inner,
.faq-pack-section__cards--service .swell-block-columns__inner {
	--faq-pack-cards-gap: clamp(1rem, calc(1rem + (100vw - 768px) * 24 / 672), 40px);
}

.faq-pack-section__highlights .swell-block-columns__inner {
	--faq-pack-highlights-gap: clamp(1rem, calc(1rem + (100vw - 768px) * 44 / 672), 60px);
}

.faq-support-section__steps .swell-block-columns__inner {
	--faq-support-steps-gap: clamp(2rem, calc(2rem + (100vw - 768px) * 40 / 672), 72px);
}

.faq-pack-card__photo {
	margin: 0 !important;
	width: 100%;
	align-self: stretch;
}

.faq-pack-card__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 20px 20px 0 0;
}

.faq-pack-card__title {
	margin: 0 !important;
	padding-inline: 10px;
	width: 100%;
	box-sizing: border-box;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: clamp(18px, calc(18px + (100vw - 768px) * 6 / 256), 24px);
	line-height: 1.5;
	letter-spacing: 0.48px;
	color: #4c4c4c;
	text-align: center;
}

.faq-pack-section__cards--service .faq-pack-card__title {
	text-align: left !important;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
}

.faq-pack-section__cards--service .faq-pack-card__title .faq-pack-card__num {
	margin-right: 0;
	flex-shrink: 0;
}

.faq-pack-card__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin-right: 16px;
	border-radius: 50%;
	background: #e55910;
	color: #fff;
	font-size: 13px;
	letter-spacing: 0.27px;
	vertical-align: middle;
}

.faq-pack-card > p:last-child,
.faq-pack-card > .wp-block-group__inner-container > p:not(.faq-pack-card__title) {
	margin: -8px 0 0 !important;
	padding-inline: 10px;
	width: 100%;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #4c4c4c;
	text-align: center;
}

.faq-pack-section__conditions {
	width: 100%;
	overflow: hidden;
	border-radius: 0;
	background: #fff;
}

.faq-pack-section__conditions-head {
	margin: 0 !important;
	padding-block: 8px !important;
	padding-inline: 16px;
	background: #e55910;
	color: #fff !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: 0.48px;
	text-align: center;
	box-shadow: none !important;
}

.faq-pack-section__conditions-head::before,
.faq-pack-section__conditions-head::after {
	content: none !important;
	display: none !important;
}

.faq-pack-section__conditions-body {
	padding: 24px 16px;
}

.faq-pack-section__conditions-body > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
}

.faq-pack-section__conditions-body p {
	margin: 0 !important;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #4c4c4c;
	text-align: left;
	width: 100%;
}

.faq-pack-section__conditions-body p + p {
	margin-top: 0 !important;
}

/* お家まるごとコーティングパック SP（Figma 733:124） */
@media screen and (max-width: 767px) {
	#faq-pack.swell-block-fullWide {
		padding-block: 100px !important;
	}

	.swell-block-fullWide__inner:has(.faq-pack-section) {
		gap: 80px !important;
		padding-inline: 24px !important;
	}

	.faq-pack-section__head > .wp-block-group__inner-container {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 24px;
		width: 100%;
	}

	.faq-pack-section__head > .wp-block-group__inner-container > * {
		margin-block: 0 !important;
	}

	.wp-block-group.faq-pack-section > .wp-block-group__inner-container {
		gap: 80px;
	}

	.faq-pack-section__sub {
		margin: 0 !important;
		font-size: 24px !important;
	}

	.faq-pack-section__title {
		font-size: 28px !important;
		line-height: 1.2 !important;
	}

	.faq-pack-section__highlights .swell-block-columns {
		--swl-clmn-mrgn--x: 0 !important;
		--swl-clmn-mrgn--y: 0 !important;
	}

	.faq-pack-section__highlights .swell-block-columns__inner {
		display: flex;
		flex-direction: column;
		gap: 40px !important;
		width: 100%;
		margin: 0 !important;
	}

	.faq-pack-section__highlights .swell-block-column {
		width: 100% !important;
		margin: 0 !important;
	}

	.faq-pack-highlight,
	.faq-pack-highlight > .wp-block-group__inner-container {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		gap: 16px;
		min-height: 0;
		box-sizing: border-box;
	}

	.faq-pack-section__highlights .swell-block-column:first-child .faq-pack-highlight,
	.faq-pack-section__highlights .swell-block-column:first-child .faq-pack-highlight > .wp-block-group__inner-container {
		min-height: 181px;
	}

	.faq-pack-highlight__label {
		flex: 0 0 auto;
		width: 100%;
		margin-bottom: 8px !important;
	}

	.faq-pack-section__highlights .swell-block-column:nth-of-type(2) .faq-pack-highlight__label {
		margin-bottom: 0 !important;
	}

	.faq-pack-highlight__content,
	.faq-pack-highlight__content > .wp-block-group__inner-container {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		gap: 24px;
		width: 100%;
	}

	.faq-pack-highlight__value-text,
	.faq-pack-highlight__value-text > .wp-block-group__inner-container {
		gap: 16px;
	}

	.faq-pack-highlight__value-sub {
		text-align: center;
	}

	.faq-pack-highlight__icon {
		flex: 0 0 60px;
		width: 60px;
		margin: 0 !important;
	}

	.faq-pack-highlight__icon img {
		width: 60px;
		height: 60px;
	}

	.faq-pack-highlight__value {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 4px;
	}

	.faq-pack-section__highlights .swell-block-column:first-child .faq-pack-highlight__value strong {
		font-size: 52px;
		line-height: 1.5;
		letter-spacing: 1.04px;
	}

	.faq-pack-highlight__value-years {
		font-size: 24px;
		line-height: 1.5;
		letter-spacing: 0.48px;
	}

	.faq-pack-highlight__value-years strong {
		font-size: 50px;
		letter-spacing: 1px;
	}

	.faq-pack-section__container > .wp-block-group__inner-container {
		gap: 40px;
	}

	.faq-pack-section__set {
		padding: 32px 8px;
	}

	.faq-pack-section__service {
		padding: 40px 8px;
	}

	.faq-pack-section__container > .wp-block-group__inner-container > .faq-pack-section__service {
		margin-bottom: 40px !important;
	}

	.faq-pack-section__set-title,
	.faq-pack-section__service-title {
		margin-bottom: 40px !important;
		font-size: 28px !important;
		line-height: 1.2;
	}

	.faq-pack-section__cards--set .swell-block-columns,
	.faq-pack-section__cards--service .swell-block-columns {
		--swl-clmn-mrgn--x: 0 !important;
		--swl-clmn-mrgn--y: 0 !important;
	}

	.faq-pack-section__cards--set .swell-block-columns__inner,
	.faq-pack-section__cards--service .swell-block-columns__inner {
		display: flex;
		flex-direction: column;
		gap: 40px !important;
		width: 100%;
		margin: 0 !important;
	}

	.faq-pack-section__cards--set .swell-block-column,
	.faq-pack-section__cards--service .swell-block-column {
		width: 100% !important;
		margin: 0 !important;
	}

	.faq-pack-card,
	.faq-pack-card > .wp-block-group__inner-container {
		gap: 24px;
		width: 100%;
	}

	.faq-pack-card__title {
		font-size: 24px !important;
	}

	.faq-pack-section__cards--service .swell-block-column:first-child .faq-pack-card__title {
		font-size: 23px !important;
	}

	.faq-pack-section__cards--service .swell-block-column:nth-of-type(3) .faq-pack-card__title {
		font-size: 23px !important;
	}

	.faq-pack-section__conditions {
		border-radius: 20px;
	}

	.faq-pack-section__conditions-head {
		border-radius: 20px 20px 0 0;
		font-size: 20px;
		letter-spacing: 0.4px;
	}
}

@media screen and (min-width: 768px) {
	.faq-pack-section__sub br,
	.faq-pack-section__title br,
	.faq-pack-section__service-title br,
	.faq-support-section__title br {
		display: none;
	}
}

/* サポート割引セクション SP（Figma 733:210） */
@media screen and (max-width: 767px) {
	.swell-block-fullWide.faq-support-section {
		overflow-x: clip;
		padding-block: 100px !important;
	}

	.swell-block-fullWide__inner:has(.faq-support-section__container) {
		gap: 80px !important;
		padding-inline: 24px !important;
	}

	.faq-support-section__container > .wp-block-group__inner-container {
		gap: 80px;
	}

	.faq-support-section__head > .wp-block-group__inner-container.is-layout-constrained,
	.faq-support-section__head-content > .wp-block-group__inner-container {
		max-width: none !important;
		width: 100%;
	}

	.faq-support-section__lead-row {
		align-items: flex-end;
		gap: 8px !important;
		width: 100vw !important;
		max-width: 100vw !important;
		margin-inline: calc(50% - 50vw) !important;
		box-sizing: border-box;
	}

	.faq-support-section__lead-row > .wp-block-group__inner-container {
		align-items: flex-end;
		gap: 8px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding-inline: 24px;
		box-sizing: border-box;
	}

	.faq-support-section__lead-text {
		font-size: 16px !important;
	}

	.faq-support-section__lead-em {
		font-size: 20px !important;
	}

	.faq-support-section__title {
		font-size: 28px !important;
		letter-spacing: 0.56px;
	}

	.faq-support-section__steps-label {
		font-size: 28px !important;
	}

	.faq-support-section__steps-label strong {
		font-size: 32px !important;
	}

	.faq-support-section__steps .swell-block-columns {
		--swl-clmn-mrgn--x: 0 !important;
		--swl-clmn-mrgn--y: 0 !important;
	}

	.faq-support-section__steps .swell-block-columns__inner {
		display: flex;
		flex-direction: column;
		gap: 72px !important;
		width: 100%;
		margin: 0 !important;
	}

	.faq-support-section__steps .swell-block-column {
		position: relative;
		width: 100% !important;
		margin: 0 !important;
	}

	.faq-support-section__steps .swell-block-column:nth-of-type(1) .faq-support-step,
	.faq-support-section__steps .swell-block-column:nth-of-type(3) .faq-support-step {
		margin-top: 0 !important;
	}

	.faq-support-section__steps .swell-block-column:not(:last-child)::after {
		content: "";
		position: absolute;
		top: auto;
		bottom: -52px;
		left: 50%;
		width: 32px;
		height: 32px;
		transform: translateX(-50%) rotate(90deg);
		background: var(--nest-asset-faq-support-step-arrow, url("./assets/faq-support-step-arrow.svg")) no-repeat center / contain;
		pointer-events: none;
		z-index: 2;
	}

	.faq-support-section__steps .faq-support-step {
		padding: 0 24px;
	}

	.faq-support-step,
	.faq-support-step > .wp-block-group__inner-container {
		gap: 24px;
		width: 100%;
		box-sizing: border-box;
	}

	.faq-support-step__photo {
		margin: 0 !important;
		width: 100%;
	}

	.faq-support-step__badge {
		margin: 0 !important;
		padding: 4px 40px;
		font-size: 13px;
		letter-spacing: 0.27px;
	}

	.faq-support-step__title {
		margin: 0 !important;
	}

	.faq-support-step p:not(.faq-support-step__badge):not(.faq-support-step__title) {
		margin: 0 !important;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.2;
		letter-spacing: 0.32px;
		color: #4c4c4c;
	}

	.faq-support-section__link .benefit-detail-link__icon img,
	.faq-support-section__link .benefit-detail-link__icon svg {
		width: 48px;
		height: 48px;
	}

	.faq-support-section__link.benefit-detail-link {
		gap: 24px !important;
		width: auto !important;
		max-width: 100%;
		margin-inline: auto !important;
	}

	.faq-support-section__link.benefit-detail-link::before {
		width: 48px !important;
		height: 48px !important;
	}

	.faq-support-section__link .benefit-detail-link__text {
		font-family: "Noto Sans JP", sans-serif;
		font-size: 20px !important;
		font-weight: 700;
		line-height: 1.5;
		max-width: none !important;
		overflow: visible !important;
		flex: 0 0 auto;
		width: auto !important;
		white-space: nowrap !important;
	}

	.faq-support-section__link .benefit-detail-link__text a {
		display: inline-block;
		font-size: 20px !important;
		line-height: 1.5;
		color: #e55910 !important;
		text-decoration: none;
		border-bottom: 1px solid #e55910;
		padding-block: 9px;
		white-space: nowrap !important;
	}
}

@media screen and (min-width: 768px) {
	.faq-pack-section__highlights .swell-block-column:first-child .faq-pack-highlight__content,
	.faq-pack-section__highlights .swell-block-column:first-child .faq-pack-highlight__content > .wp-block-group__inner-container {
		gap: clamp(0px, calc((100vw - 1150px) * 32 / 290), 32px);
	}
}

@media screen and (min-width: 959px) and (max-width: 1149px) {
	.faq-pack-section__highlights .swell-block-column:first-child .faq-pack-highlight__value {
		flex-direction: column !important;
		align-items: center;
	}
}

@media screen and (max-width: 374px) {
	.faq-pack-highlight__content,
	.faq-pack-highlight__content > .wp-block-group__inner-container {
		flex-direction: column !important;
		align-items: center;
	}

	.faq-support-section__title {
		font-size: 27px !important;
	}

	.faq-support-section__steps-label {
		font-size: 24px !important;
	}

	.faq-support-section__steps-label strong {
		font-size: 32px !important;
	}

	.faq-support-section__link.benefit-detail-link::before {
		width: 32px !important;
		height: 32px !important;
	}

	.faq-page__pack-link.benefit-detail-link {
		padding-inline: 0 !important;
		gap: 8px;
	}

	.faq-page__pack-link .benefit-detail-link__text {
		flex: 1 1 auto;
		min-width: 0;
		max-width: none;
	}

	.faq-page__pack-link.benefit-detail-link::before {
		width: 32px !important;
		height: 32px !important;
	}

	.faq-page__pack-link-line1,
	.faq-page__pack-link-line2 {
		font-size: 14px;
	}
}

.faq-support-section__head > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	width: 100%;
}

.faq-support-section__head-content > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	width: 100%;
}

.faq-support-section__lead-row,
.faq-support-section__lead-row > .wp-block-group__inner-container {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap: 24px;
	width: 100%;
}

.faq-support-section__head > .wp-block-group__inner-container > *,
.faq-support-section__head-content > .wp-block-group__inner-container > *,
.faq-support-section__lead-row > *,
.faq-support-section__lead-row > .wp-block-group__inner-container > * {
	margin-block: 0 !important;
}

.faq-support-section__lead-deco {
	flex-shrink: 0;
	margin: 0 !important;
}

.faq-support-section__lead-deco img {
	display: block;
	width: 19px;
	height: 24px;
}

.faq-support-section__lead-deco--right img {
	transform: scaleX(-1);
}

.faq-support-section__lead {
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.48px;
	color: #4c4c4c;
	text-align: center;
}

.faq-support-section__lead-text {
	font-size: clamp(18px, calc(18px + (100vw - 768px) * 6 / 256), 24px);
}

.faq-support-section__lead-em {
	font-size: clamp(22px, calc(22px + (100vw - 768px) * 8 / 256), 30px);
}

@media screen and (max-width: 767px) {
	.faq-support-section__lead {
		white-space: normal;
	}
}

.faq-support-section__steps-label {
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: clamp(24px, calc(24px + (100vw - 768px) * 4 / 256), 28px);
	line-height: 1.2;
	letter-spacing: 0.48px;
	color: #6f5b36;
}

@media screen and (min-width: 768px) {
	.faq-support-section__steps-label,
	.faq-support-section__steps-label strong {
		font-size: 28px;
	}
}

@media screen and (min-width: 768px) {
	.faq-pack-section__highlights .swell-block-columns__inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: stretch;
		gap: var(--faq-pack-highlights-gap) !important;
		width: 100%;
		max-width: 1230px;
		min-width: 0;
		margin-inline: auto !important;
		box-sizing: border-box;
	}

	.faq-pack-section__highlights .swell-block-column {
		display: flex;
		flex-direction: column;
		flex: 1 1 0;
		width: auto !important;
		min-width: 0;
		max-width: 370px !important;
		margin: 0 !important;
	}

	.faq-pack-section__highlights .faq-pack-highlight {
		flex: 1 1 auto;
		height: 100%;
	}

	.faq-pack-section__cards--set .swell-block-columns__inner,
	.faq-pack-section__cards--service .swell-block-columns__inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: stretch;
		gap: var(--faq-pack-cards-gap) !important;
		margin: 0 !important;
	}

	.faq-pack-section__cards--set .swell-block-column,
	.faq-pack-section__cards--service .swell-block-column {
		display: flex;
		flex-direction: column;
		flex: 1 1 0;
		min-width: 0;
		max-width: none;
		margin: 0 !important;
	}

	.faq-pack-section__cards--set .faq-pack-card,
	.faq-pack-section__cards--service .faq-pack-card {
		flex: 1 1 auto;
		height: 100%;
		min-height: 266px;
	}

	.faq-pack-section__cards--set .faq-pack-card {
		height: auto;
		min-height: 0;
	}

	.faq-pack-section__cards--set .faq-pack-card > .wp-block-group__inner-container,
	.faq-pack-section__cards--service .faq-pack-card > .wp-block-group__inner-container {
		flex: 1 1 auto;
		height: 100%;
		min-height: 266px;
	}

	.faq-pack-section__cards--set .faq-pack-card > .wp-block-group__inner-container {
		gap: 24px;
		flex: 0 1 auto;
		height: auto;
		min-height: 0;
		padding-bottom: 10px;
	}

	.faq-pack-section__cards--set .faq-pack-card__title + p {
		margin-top: -8px !important;
	}

	.faq-pack-section__cards--service .faq-pack-card > .wp-block-group__inner-container {
		gap: 24px;
		padding-bottom: 10px;
	}

	.faq-pack-section__cards--service .faq-pack-card__title + p {
		max-width: 90%;
		margin-top: -11px !important;
	}

	.faq-pack-section__cards--set .faq-pack-card__title,
	.faq-pack-section__cards--service .faq-pack-card__title {
		flex: 0 0 auto;
	}

	.faq-pack-section__cards--set .faq-pack-card > p:last-child,
	.faq-pack-section__cards--service .faq-pack-card > p:last-child {
		margin-top: auto !important;
	}

	.faq-support-section__steps .swell-block-columns {
		--swl-clmn-mrgn--x: 0px !important;
		--swl-clmn-mrgn--y: 0px !important;
	}

	.faq-support-section__steps .swell-block-columns__inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: stretch;
		gap: var(--faq-support-steps-gap) !important;
		margin: 0 !important;
	}

	.faq-support-section__steps .swell-block-column {
		position: relative;
		display: flex;
		flex-direction: column;
		flex: 1 1 0;
		min-width: 0;
		margin: 0 !important;
	}

	.faq-support-section__steps .swell-block-column:nth-of-type(1) .faq-support-step,
	.faq-support-section__steps .swell-block-column:nth-of-type(3) .faq-support-step {
		margin-top: 10px !important;
	}

	.faq-support-section__steps .faq-support-step {
		padding-bottom: 0 !important;
		flex: 1 1 auto;
		height: 100%;
	}

	.faq-support-section__steps .swell-block-column:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 50%;
		left: calc(100% + var(--faq-support-steps-gap) / 2);
		width: 22px;
		height: 25px;
		transform: translate(-50%, -50%);
		background: var(--nest-asset-faq-support-step-arrow, url("./assets/faq-support-step-arrow.svg")) no-repeat center / contain;
		pointer-events: none;
		z-index: 2;
	}
}

/* 768〜959px：管理画面の2列設定を尊重 */
@media screen and (min-width: 768px) and (max-width: 959px) {
	.faq-pack-section__highlights .swell-block-columns__inner,
	.faq-pack-section__cards--set .swell-block-columns__inner,
	.faq-pack-section__cards--service .swell-block-columns__inner {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center;
		align-items: stretch;
		max-width: none !important;
		width: 100% !important;
	}

	.faq-pack-section__highlights .swell-block-columns__inner > .swell-block-column {
		flex: 0 0 calc(50% - var(--faq-pack-highlights-gap) / 2) !important;
		width: calc(50% - var(--faq-pack-highlights-gap) / 2) !important;
		max-width: none !important;
	}

	.faq-pack-section__cards--set .swell-block-columns__inner > .swell-block-column,
	.faq-pack-section__cards--service .swell-block-columns__inner > .swell-block-column {
		flex: 0 0 calc(50% - var(--faq-pack-cards-gap) / 2) !important;
		width: calc(50% - var(--faq-pack-cards-gap) / 2) !important;
		max-width: none !important;
	}

	.faq-pack-section__highlights .swell-block-columns__inner > .swell-block-column:nth-child(3):last-child,
	.faq-pack-section__cards--set .swell-block-columns__inner > .swell-block-column:nth-child(3):last-child,
	.faq-pack-section__cards--service .swell-block-columns__inner > .swell-block-column:nth-child(3):last-child {
		margin-inline: auto;
	}
}

@media screen and (min-width: 1025px) {
	.faq-support-section__steps .swell-block-columns__inner {
		--faq-support-steps-gap: 72px;
		gap: 72px !important;
	}
}

.faq-support-step {
	padding: 0 24px 24px;
	border-radius: 20px;
	background: #fff;
}

@media screen and (min-width: 768px) {
	.faq-support-step {
		padding-inline: clamp(10px, calc(10px + (100vw - 768px) * 14 / 672), 24px);
	}
}

.faq-support-section__steps .faq-support-step {
	padding-bottom: 0;
}

.faq-support-step,
.faq-support-step > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.faq-support-step p:not(.faq-support-step__badge) {
	text-align: left !important;
	align-self: stretch;
	line-height: 1.2;
}

.faq-support-step__photo {
	margin: 0 0 24px !important;
}

.faq-support-step__photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
	aspect-ratio: 341 / 227;
	object-fit: cover;
}

.faq-support-step__badge {
	display: inline-block;
	margin: 0 auto 16px !important;
	padding: 4px 40px;
	border-radius: 20px;
	background: #e55910;
	color: #fff !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.faq-support-step__title {
	margin: 0 0 24px !important;
	font-size: 24px !important;
}

.faq-support-section__link {
	margin-top: 0 !important;
}

.faq-support-section__link.benefit-detail-link {
	gap: 24px;
	margin-block: 0;
	justify-content: center;
}

.faq-support-section__link.benefit-detail-link::before {
	width: 48px;
	height: 48px;
}

.faq-support-section__link .benefit-detail-link__text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}

.faq-support-section__link .benefit-detail-link__text a {
	display: inline-block;
	font-size: 20px;
	line-height: 1.5;
	color: #e55910 !important;
	text-decoration: none;
	border-bottom: 1px solid #e55910;
	padding-block: 9px;
}

@media screen and (max-width: 767px) {
	.faq-support-section__steps .faq-support-step__photo {
		margin: 0 !important;
		width: 100%;
	}

	.faq-support-section__steps .faq-support-step__badge {
		margin: 0 !important;
	}

	.faq-support-section__steps .faq-support-step__title {
		margin: 0 !important;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 700;
		line-height: 1.2;
		text-align: center !important;
		color: #e55910;
	}

	.faq-support-section__steps .faq-support-step p:not(.faq-support-step__badge):not(.faq-support-step__title) {
		align-self: stretch;
		width: 100%;
		text-align: left !important;
	}
}

@media screen and (max-width: 767px) {
	.faq-page__tab-area .c-tabList__button {
		max-width: 100%;
		white-space: normal;
	}
}

/* 会社概要ページ（Figma 723:3099 PC / 759:26 SP） */
.swell-block-fullWide:has(.about-profile-section),
.swell-block-fullWide:has(.about-greeting-section),
.swell-block-fullWide:has(.about-column-section) {
	padding-block: 100px !important;
}

.swell-block-fullWide:has(.about-contact-section) {
	padding-block: 0 !important;
	background-color: #f9f9f6 !important;
}

#contact.about-contact-section {
	scroll-margin-top: 96px;
}

.swell-block-fullWide__inner:has(.about-profile-section) {
	padding-block: 0 !important;
	padding-inline: clamp(24px, calc(24px + (100vw - 768px) * 56 / 672), 80px) !important;
}

.swell-block-fullWide__inner:has(.about-greeting-section),
.swell-block-fullWide__inner:has(.about-column-section) {
	padding-block: 0 !important;
	padding-inline: clamp(24px, calc(24px + (100vw - 768px) * 40 / 672), 64px) !important;
}

.swell-block-fullWide__inner:has(.about-contact-section) {
	padding-block: 0 !important;
	padding-inline: clamp(24px, calc(24px + (100vw - 768px) * 40 / 672), 64px) !important;
}

.swell-block-fullWide__inner:has(.about-page__container:not(.about-profile-section):not(.about-column-section)) {
	padding-inline: clamp(24px, 12px + 3vw, 80px);
}

@media screen and (min-width: 768px) and (max-width: 959px) {
	.swell-block-fullWide__inner:has(.about-page__container) {
		max-width: 700px !important;
		width: 100% !important;
		margin-inline: auto !important;
		box-sizing: border-box;
	}

	.about-contact-section > .wp-block-group__inner-container {
		padding-block: 100px;
		box-sizing: border-box;
	}
}

@media screen and (min-width: 960px) {
	.swell-block-fullWide:has(.about-profile-section),
	.swell-block-fullWide:has(.about-greeting-section),
	.swell-block-fullWide:has(.about-column-section) {
		padding-block: 112px !important;
	}

	.swell-block-fullWide:has(.about-contact-section) {
		padding-block: 0 !important;
	}

	.about-contact-section > .wp-block-group__inner-container {
		padding-block: 112px;
		box-sizing: border-box;
	}

	.swell-block-fullWide.pc-py-0 > .swell-block-fullWide__inner:has(.about-page__container) {
		padding-block: 0 !important;
	}
}

@media screen and (max-width: 959px) {
	.swell-block-fullWide__inner:has(.about-page__container:not(.about-profile-section):not(.about-column-section):not(.about-greeting-section):not(.about-contact-section)) {
		padding-block: clamp(60px, 40px + 5vw, 112px) !important;
	}
}

.about-profile-section.about-page__container {
	gap: 80px;
	max-width: 1280px;
}

.about-profile-section > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 80px;
	width: 100% !important;
	max-width: none !important;
	align-self: stretch !important;
}

.about-profile-section > .wp-block-group__inner-container > .about-page__title,
.about-profile-section > .wp-block-group__inner-container > .about-profile__body {
	margin: 0 !important;
}

.about-profile-section .about-profile__body {
	align-self: stretch;
	width: 100% !important;
	max-width: none !important;
}

.about-profile-section .about-profile__body > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: none !important;
}

.about-page__container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(40px, 24px + 4vw, 80px);
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
}

.about-page h1.about-page__title,
.about-greeting__title,
.about-column__head-col .about-column__title,
.about-contact__title {
	margin: 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: clamp(28px, calc(28px + (100vw - 768px) * 12 / 256), 40px) !important;
	line-height: 1.2;
	text-align: center;
	color: #333 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.about-page h1.about-page__title::before,
.about-page h1.about-page__title::after,
.about-greeting__title::before,
.about-greeting__title::after,
.about-column__head-col .about-column__title::before,
.about-column__head-col .about-column__title::after,
.about-contact__title::before,
.about-contact__title::after {
	content: none !important;
	display: none !important;
}

.about-profile__body,
.about-column__body {
	width: 100%;
}

.about-profile__body > .swell-block-columns,
.about-profile__body > .wp-block-group__inner-container > .swell-block-columns {
	width: 100%;
	margin: 0 !important;
}

.about-profile__body > .swell-block-columns > .swell-block-columns__inner,
.about-profile__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
	width: 100%;
	margin: 0 !important;
}

.about-profile__table-col,
.about-profile__table {
	width: 100%;
}

.about-column__body > .swell-block-columns > .swell-block-columns__inner,
.about-column__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
	align-items: flex-start;
	gap: clamp(40px, 24px + 4vw, 80px);
}

.about-profile__table {
	width: 100%;
	max-width: 100%;
}

.about-profile__row {
	padding-block: 19px;
	border-bottom: 1px solid #acacac;
	margin-bottom: 0 !important;
}

.about-profile__row > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
	max-width: none;
}

.about-profile__row:nth-of-type(3) > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container,
.about-profile__row:nth-of-type(4) > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-start;
}

.about-profile__label,
.about-profile__value,
.about-profile__row p {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
}

.about-profile__label {
	font-weight: 400;
}

.about-profile__value strong {
	font-weight: 700;
}

.about-profile__note {
	display: block;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.28px;
}

.about-profile__value .u-pc {
	display: none;
}

@media screen and (min-width: 768px) {
	.about-profile__value .u-pc {
		display: inline;
	}

	.about-profile__value .u-sp {
		display: none;
	}
}

.about-profile__map {
	margin: 0 !important;
	width: 100%;
	min-width: 0;
	position: relative;
	overflow: hidden;
	aspect-ratio: 772 / 514;
}

.about-profile__map iframe {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

@media screen and (min-width: 960px) {
	.about-profile__map-col {
		width: 100%;
		min-width: 1px;
	}

	.about-profile__map {
		aspect-ratio: 772 / 514;
	}

	.about-profile__body > .swell-block-columns > .swell-block-columns__inner,
	.about-profile__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: grid !important;
		grid-template-columns: 47% minmax(1px, 1fr) !important;
		gap: 80px !important;
		align-items: center !important;
	}

	.about-profile__body .swell-block-column {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		min-width: 0;
	}

	.about-profile__row > .wp-block-group__inner-container {
		display: grid;
		grid-template-columns: 31% minmax(0, 1fr);
		align-items: center;
	}
}

@media screen and (max-width: 959px) {
	.about-profile__body > .swell-block-columns > .swell-block-columns__inner,
	.about-profile__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		gap: 80px !important;
	}

	.about-profile__body .swell-block-column {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.about-profile__table {
		max-width: none;
	}
}

@media screen and (max-width: 767px) {
	.about-profile__row {
		padding-block: 9px !important;
	}

	.about-profile__row:nth-of-type(3) > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container,
	.about-profile__row:nth-of-type(4) > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container {
		gap: 10px;
	}

	.about-profile__body .swell-block-column {
		max-width: 480px !important;
	}

	.about-profile__map {
		width: 327px;
		max-width: 100%;
		margin-inline: auto !important;
		aspect-ratio: 327 / 217;
	}
}

.about-greeting-section .about-page__container {
	gap: clamp(40px, 24px + 4vw, 80px);
}

.about-greeting__body {
	position: relative;
	width: 100%;
}

.about-greeting__illust {
	margin: 0 auto 24px !important;
	max-width: 369px;
}

.about-greeting__illust img {
	display: block;
	width: 100%;
	height: auto;
}

.about-greeting__content {
	display: flex;
	flex-direction: column;
	gap: 16px;
	line-height: 1.5;
}

.about-greeting__content > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	line-height: 1.5;
}

.about-greeting__content > .wp-block-group__inner-container > .wp-block-group {
	margin: 0 !important;
}

.about-greeting__content .wp-block-group > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	line-height: 1.5;
}

/* .post_content h3 { line-height: 1.4 } を上書き */
.post_content h3.about-greeting__catch,
.about-greeting__catch {
	margin: 0 0 24px !important;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: clamp(20px, calc(18px + (100vw - 768px) * 6 / 256), 24px) !important;
	line-height: 1.5 !important;
	letter-spacing: 0.48px;
	color: #333 !important;
	text-align: left !important;
	background: transparent !important;
	box-shadow: none !important;
}

.about-greeting__catch.is-style-section_ttl,
.about-greeting__content .about-greeting__catch {
	text-align: left !important;
}

@media screen and (min-width: 960px) {
	.post_content h3.about-greeting__catch,
	.about-greeting__catch {
		font-size: 20px !important;
		letter-spacing: 0.4px;
	}
}

.about-greeting__content p:not(.about-greeting__sign) {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
}

.about-greeting__content > .wp-block-group__inner-container > p.about-greeting__sign,
.about-greeting__content .wp-block-group > .wp-block-group__inner-container > p.about-greeting__sign {
	margin-top: 24px !important;
	margin-bottom: 0 !important;
}

.about-greeting__sign {
	font-family: "Zen Kurenaido", serif;
	font-size: clamp(24px, calc(24px + (100vw - 768px) * 6 / 256), 30px);
	line-height: 1.5;
	letter-spacing: 2.4px;
	color: #333;
}

@media screen and (min-width: 960px) {
	.about-greeting__sign {
		font-size: 24px !important;
		letter-spacing: 2.4px !important;
	}
}

@media screen and (max-width: 767px) {
	.about-greeting__title {
		text-align: left !important;
	}

	.about-greeting__body > .wp-block-group__inner-container {
		position: relative;
	}

	.about-greeting__illust {
		position: absolute;
		top: -40px;
		right: 0;
		margin: 0 !important;
		max-width: none;
		width: 169px;
		z-index: 1;
	}

	.about-greeting__illust img {
		display: block;
		width: 169px;
		height: 127px;
		aspect-ratio: 169 / 127;
		object-fit: contain;
	}

	.about-greeting__content {
		padding-top: 80px;
	}

	.about-greeting__catch {
		font-size: 20px !important;
	}
}

.about-page__container--column {
	max-width: 1312px;
}

.about-column-section.about-page__container {
	gap: 0;
	max-width: 1312px;
}

.about-column-section > .wp-block-group__inner-container,
.about-column-section .about-column__body,
.about-column-section .about-column__body > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: none !important;
	align-self: stretch !important;
}

.about-contact-section > .wp-block-group__inner-container,
.about-contact-section .about-contact__line,
.about-contact-section .about-contact__line > .wp-block-group__inner-container,
.about-contact-section .about-contact__line-cols,
.about-contact-section .about-contact__line-cols > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: none !important;
	align-self: stretch !important;
}

.about-column-section .swell-block-column:has(.p-postListWrap) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 80px;
	width: 100%;
}

.about-column-section .p-postListWrap {
	width: 100%;
	margin-bottom: 0 !important;
}

.about-column-section .p-postList {
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	border-top: none !important;
}

.about-column-section .p-postList__item:first-child .p-postList__link {
	border-top: none !important;
}

.about-column-section .p-postList__item {
	margin: 0;
	border-bottom: 1px solid #c7c7c7;
}

.about-column-section .p-postList__link {
	display: block;
	padding: 14px 10px;
	color: inherit;
	text-decoration: none;
	border-bottom: none !important;
}

.about-column-section .p-postList__link:hover .p-postList__title {
	text-decoration: none;
}

.about-column-section .p-postList__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.about-column-section .p-postList__meta {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0;
}

.about-column-section .p-postList__times {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.28px;
	color: #333;
}

.about-column-section .p-postList__times .c-postTimes__posted {
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	color: inherit;
}

.about-column-section .p-postList__times .c-postTimes__posted::before,
.about-column-section .p-postList__cat::before {
	display: none !important;
}

.about-column-section .p-postList__cat {
	display: inline-block;
	margin: 0;
	padding: 2px 4px !important;
	border-radius: 5px;
	background: #4c4c4c !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.28px;
}

.about-column-section .p-postList__title {
	margin: 0 !important;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
}

.about-column__head-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}

.about-column__head-col > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: 100%;
}

.about-column__lead {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
}

@media screen and (max-width: 374px),
screen and (min-width: 960px) and (max-width: 1200px) {
	.about-column__lead {
		text-wrap: wrap;
	}

	.about-column__lead br {
		display: none;
	}
}

@media screen and (min-width: 375px) and (max-width: 959px) {
	.about-column__lead {
		text-wrap: nowrap;
	}
}

@media screen and (min-width: 1201px) {
	.about-column__lead {
		text-wrap: nowrap;
	}
}

@media screen and (max-width: 374px) {
	.about-greeting__catch {
		text-wrap: nowrap;
	}

	.about-greeting__sign {
		font-size: 23px !important;
	}

	.about-contact__form .wpcf7-form .form-row--coating .form-row__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}

.about-column__list {
	width: 100%;
}

.about-column__list > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.about-column__item {
	padding: 16px 10px;
	border-bottom: 1px solid #c7c7c7;
}

.about-column__item > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.about-column__meta {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0 !important;
}

.about-column__meta.is-row > .wp-block-group__inner-container,
.about-column__meta.wp-block-group.is-row {
	display: flex;
	align-items: center;
	gap: 24px;
}

.about-column__date,
.about-column__cat,
.about-column__entry-title {
	margin: 0 !important;
}

.about-column__date {
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.28px;
	color: #333;
}

.about-column__cat {
	display: inline-block;
	padding: 2px 4px;
	border-radius: 5px;
	background: #4c4c4c;
	color: #fff !important;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.28px;
}

.about-column__entry-title {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
}

.about-column__entry-title a {
	color: inherit;
	text-decoration: none;
}

.about-column__entry-title a:hover {
	text-decoration: underline;
}

.about-column__more.benefit-detail-link {
	margin: 0 !important;
	justify-content: center;
	width: 100%;
	gap: 24px;
	--detail-link-arrow-gap: 24px;
}

.about-column__more.benefit-detail-link::before {
	width: 48px;
	height: 48px;
}

.about-column__more .benefit-detail-link__text {
	flex: 0 1 auto;
	width: auto !important;
	font-size: 20px !important;
	font-weight: 700;
	color: #e55910 !important;
}

.about-column__more .benefit-detail-link__text a {
	display: inline-block;
	padding-block: 9px;
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1.5;
	color: #e55910 !important;
	text-decoration: underline;
	text-decoration-color: #e55910;
	text-underline-offset: 0.15em;
	border-bottom: none !important;
	box-sizing: border-box;
}

.about-column__list-col {
	width: 100%;
	min-width: 0;
}

.about-column__list-col > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 80px;
	width: 100%;
}

.about-contact-section > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 80px;
	width: 100%;
}

.about-contact-section > .wp-block-group__inner-container > .about-contact__title {
	padding-inline: clamp(24px, calc(24px + (100vw - 768px) * 40 / 672), 64px);
	box-sizing: border-box;
}

.about-contact-section > .wp-block-group__inner-container > .about-contact__line,
.about-contact-section > .wp-block-group__inner-container > .about-contact__mail,
.about-contact-section > .wp-block-group__inner-container > .about-contact__title {
	margin: 0 !important;
}

.about-contact-section.about-page__container {
	gap: clamp(40px, 24px + 4vw, 80px);
	max-width: 1312px;
}

.about-contact__line,
.about-contact__mail {
	width: 100%;
	border-radius: 0;
	background: transparent;
	box-sizing: border-box;
}

.about-contact__line {
	padding: 0;
	width: 100%;
	align-self: stretch;
}

.about-contact__mail {
	padding: clamp(40px, calc(40px + (100vw - 768px) * 0 / 672), 40px) clamp(10px, calc(10px + (100vw - 768px) * 54 / 672), 64px);
}

.about-contact__line-cols > .swell-block-columns > .swell-block-columns__inner,
.about-contact__line-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
	align-items: center;
	gap: clamp(40px, 24px + 4vw, 80px);
	box-sizing: border-box;
}

.about-contact-section .about-contact__line,
.about-contact-section .about-contact__line > .wp-block-group__inner-container,
.about-contact-section .about-contact__line-cols,
.about-contact-section .about-contact__line-cols > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: none !important;
	align-self: stretch !important;
	overflow: visible;
}

@media screen and (min-width: 960px) {
	.about-contact__line-cols > .swell-block-columns > .swell-block-columns__inner,
	.about-contact__line-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		padding-block: 100px;
		padding-inline: 64px;
		box-sizing: border-box;
		width: 100%;
		max-width: 1312px;
		margin-inline: auto;
		background: #fff;
	}

	.about-contact__mail {
		max-width: 1312px;
		width: 100%;
		margin-inline: auto;
		background: #fff;
	}
}

@media screen and (max-width: 959px) {
	.about-contact__line-cols > .swell-block-columns > .swell-block-columns__inner,
	.about-contact__line-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		padding-block: 100px;
		padding-inline: 24px;
		box-sizing: border-box;
		width: 100%;
		max-width: 1312px;
		margin-inline: auto;
		background: #fff;
	}

	.about-contact__mail {
		max-width: 1312px;
		width: 100%;
		margin-inline: auto;
		background: #fff;
	}
}

.about-contact__line-photo {
	margin: 0 !important;
	width: 100%;
}

.about-contact__line-photo img {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	height: auto;
	border-radius: 20px;
	aspect-ratio: 450 / 300;
	object-fit: cover;
}

@media screen and (min-width: 768px) and (max-width: 959px) {
	.about-contact__line-photo img {
		max-width: 50%;
		margin-inline: auto;
	}
}

.about-contact__line-content > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: stretch;
	width: 100%;
}

.about-contact__line-title {
	margin: 0 !important;
	font-size: clamp(28px, 22px + 1.5vw, 40px) !important;
	line-height: 1.2;
	text-align: center;
	color: #e55910 !important;
}

.about-contact__line-content p {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
}

.about-contact__line-btn {
	margin-top: 56px !important;
}

.about-contact__line-btn .swell-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 100%;
	min-height: 52px;
	padding: 10px 20px;
	border-radius: 10px !important;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.25);
	background: #06c755 !important;
	color: #fff !important;
	font-family: "M PLUS 1p", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.32px;
}

.about-contact__line-btn .swell-block-button__link:hover {
	opacity: 0.7;
}

@media screen and (min-width: 768px) and (max-width: 959px) {
	.about-contact__line-btn {
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.about-contact__line-btn > .wp-block-group__inner-container {
		width: 60% !important;
		max-width: 60% !important;
		margin-inline: auto !important;
	}

	.about-contact__line-btn .swell-block-button,
	.about-contact__line-btn .swell-block-button__link {
		width: 100% !important;
		max-width: none !important;
		margin-inline: 0 !important;
	}
}

.about-contact__line-btn .swell-block-button__link::before {
	content: none !important;
	display: none !important;
}

.about-contact__line-btn .swell-block-button__link .__icon.-right,
.about-contact__line-btn .swell-block-button__link > svg {
	display: none !important;
}

.about-contact__line-btn .swell-block-button__link::after {
	content: "→";
	flex-shrink: 0;
	font-family: "M PLUS 1p", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #fff;
}

.about-contact__mail-title {
	margin: 0 0 24px !important;
	font-size: clamp(24px, calc(24px + (100vw - 768px) * 16 / 256), 40px) !important;
	line-height: 1.2;
	color: #333 !important;
	text-align: center;
}

.about-contact__mail > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	width: 100%;
}

.about-contact__mail > .wp-block-group__inner-container > p.has-text-align-center {
	margin: 0 !important;
	max-width: 768px;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
	text-align: center;
}

@media screen and (min-width: 960px) {
	.about-contact__mail-title {
		margin-bottom: 0 !important;
	}

	.about-contact__mail > .wp-block-group__inner-container > p.has-text-align-center {
		margin: 24px 0 0 !important;
	}

	.about-contact__form {
		margin-top: 80px;
	}
}

.about-contact__form {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
}

.about-contact__form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.about-contact__form .wpcf7-form .form-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding-block: 3px;
}

.about-contact__form .wpcf7-form .form-row__head {
	display: flex;
	align-items: center;
	gap: 20px;
}

.about-contact__form .wpcf7-form .form-row__head--address {
	align-items: flex-start;
}

.about-contact__form .wpcf7-form .form-row__field,
.about-contact__form .wpcf7-form .form-row__field .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.about-contact__form .wpcf7-form .form-label {
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
}

.about-contact__form .wpcf7-form .form-label--address {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	white-space: normal;
}

.about-contact__form .wpcf7-form .form-label__sub {
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
}

.about-contact__form .wpcf7-form .form-label__sub .u-pc {
	display: none;
}

.about-contact__form .wpcf7-form .form-label__sub .u-sp {
	display: inline;
}

@media screen and (min-width: 768px) {
	.about-contact__form .wpcf7-form .form-label__sub .u-pc {
		display: inline;
	}

	.about-contact__form .wpcf7-form .form-label__sub .u-sp {
		display: none;
	}

	.about-contact__form .wpcf7-form .form-row__head--address {
		align-items: center;
	}

	.about-contact__form .wpcf7-form .form-label--address {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		white-space: nowrap;
	}
}

.about-contact__form .wpcf7-form .required {
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0.28px;
	color: #e96666;
}

.about-contact__form .wpcf7-form label,
.about-contact__form .wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.about-contact__form .wpcf7-form p {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.5;
	color: #333;
}

.about-contact__form .wpcf7-form .wpcf7-list-item {
	margin: 0 !important;
}

.about-contact__form .wpcf7-form .form-row--sample .wpcf7-checkbox,
.about-contact__form .wpcf7-form .form-row--sample .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.about-contact__form .wpcf7-form .form-row--sample .wpcf7-exclusive-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.about-contact__form .wpcf7-form .form-row--coating .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.about-contact__form .wpcf7-form .form-row--coating .wpcf7-list-item {
	display: flex;
	align-items: center;
	line-height: 1;
}

.about-contact__form .wpcf7-form .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	width: auto;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
	cursor: pointer;
}

.about-contact__form .wpcf7-form .form-row--coating .wpcf7-list-item label {
	gap: 4px;
	font-size: 14px;
	letter-spacing: 0.28px;
}

.about-contact__form .wpcf7-form input[type="checkbox"],
.about-contact__form .wpcf7-form input[type="radio"] {
	appearance: none;
	width: 32px;
	height: 32px;
	margin: 0;
	border: 1px solid #757065;
	border-radius: 0;
	background: #fff;
	flex-shrink: 0;
}

.about-contact__form .wpcf7-form input[type="checkbox"]:checked,
.about-contact__form .wpcf7-form input[type="radio"]:checked {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 23'%3E%3Cpath fill='none' stroke='%23c70101' stroke-width='2.5' d='M2 11.5 7.5 17 18 4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px 23px;
}

.about-contact__form .wpcf7-form input[type="text"],
.about-contact__form .wpcf7-form input[type="email"],
.about-contact__form .wpcf7-form input[type="tel"],
.about-contact__form .wpcf7-form input[type="url"],
.about-contact__form .wpcf7-form textarea,
.about-contact__form .wpcf7-form select {
	width: 100%;
	padding: 12px 24px;
	border: 1px solid #c7c7c7;
	border-radius: 0;
	background: #fff;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #333;
	box-sizing: border-box;
}

.about-contact__form .wpcf7-form input::placeholder,
.about-contact__form .wpcf7-form textarea::placeholder {
	color: #8e8e8e;
	opacity: 1;
}

.about-contact__form .wpcf7-form textarea {
	min-height: 230px;
	height: auto;
	max-height: 460px;
	field-sizing: content;
	overflow-y: auto;
	resize: vertical;
}

.about-contact__form .wpcf7-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 200px;
	margin-inline: auto;
	padding: 12px 80px;
	border: 0;
	border-radius: 20px;
	background: #e55910;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	cursor: pointer;
}

.about-contact__form .wpcf7-form .wpcf7-submit:hover {
	opacity: 0.7;
}

.about-contact__form .wpcf7-form .form-submit {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0;
	flex-direction: column;
}

@media screen and (min-width: 960px) {
	.swell-block-fullWide__inner:has(.about-profile-section),
	.swell-block-fullWide__inner:has(.about-greeting-section) {
		gap: 80px;
	}

	.about-greeting-section > .wp-block-group__inner-container {
		display: grid;
		grid-template-columns: 29.79% minmax(0, 55%);
		grid-template-rows: auto 1fr;
		gap: 80px;
		align-items: stretch;
		width: 100%;
	}

	.about-greeting__title {
		grid-column: 1;
		grid-row: 1;
		align-self: start;
		width: 100%;
	}

	.about-greeting__body,
	.about-greeting__body > .wp-block-group__inner-container {
		display: contents;
	}

	.about-greeting__illust {
		grid-column: 1;
		grid-row: 2;
		align-self: end;
		justify-self: start;
		margin: 0 0 58% !important;
		max-width: 100%;
		width: 100%;
	}

	.about-greeting__content {
		grid-column: 2;
		grid-row: 1 / -1;
		align-self: start;
		width: 100%;
	}

	.about-column__body > .swell-block-columns > .swell-block-columns__inner,
	.about-column__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: grid !important;
		grid-template-columns: 27.5% minmax(0, 1fr);
		gap: 80px;
		align-items: start;
		width: 100%;
	}

	.about-column__body .swell-block-column {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		min-width: 0;
	}

	.about-column__more.benefit-detail-link {
		justify-content: flex-start;
	}

	.about-contact__line-cols > .swell-block-columns > .swell-block-columns__inner,
	.about-contact__line-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: grid !important;
		grid-template-columns: 37.5% minmax(0, 1fr);
		gap: 80px;
		align-items: start;
		width: 100%;
	}

	.about-contact__line-cols .swell-block-column {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		min-width: 0;
	}

	.about-contact__line-photo img {
		margin-inline: 0;
	}
}

@media screen and (max-width: 959px) {
	.about-column__more.benefit-detail-link {
		gap: 8px;
		--detail-link-arrow-gap: 8px;
	}
}

@media screen and (max-width: 767px) {
	.about-column__body > .swell-block-columns > .swell-block-columns__inner,
	.about-column__body > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		gap: 80px;
	}

	.about-column__more .benefit-detail-link__text a {
		text-decoration: none !important;
		border-bottom: 1px solid #e55910 !important;
	}

	.about-contact-section > .wp-block-group__inner-container {
		padding-block: 0;
		padding-inline: 0;
		gap: 74px;
		box-sizing: border-box;
	}

	.about-contact-section.about-page__container {
		gap: 74px;
	}

	.swell-block-fullWide:has(.about-contact-section) {
		padding-block: 100px !important;
	}

	.about-contact-section > .wp-block-group__inner-container > .about-contact__title {
		padding-inline: 0;
	}

	.about-contact__line-cols > .swell-block-columns > .swell-block-columns__inner,
	.about-contact__line-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		max-width: 520px;
		width: 100%;
		margin-inline: auto;
		padding-block: 32px;
		padding-inline: 8px;
		border-radius: 20px;
		gap: 32px;
		overflow: hidden;
	}

	.about-contact__mail {
		max-width: 520px;
		width: 100%;
		margin-inline: auto;
		border-radius: 20px;
		padding: 40px 10px;
		overflow: hidden;
	}

	.about-contact__line-title {
		font-size: 24px !important;
	}

	.about-contact__line-photo img {
		max-width: none;
		margin-inline: 0;
		aspect-ratio: 199 / 133;
	}

	.about-contact__line-btn {
		margin-top: 0 !important;
	}

	.about-contact__mail-title {
		margin-bottom: 0 !important;
	}

	.about-contact__form {
		max-width: none;
	}

	.about-contact__form .wpcf7-form .form-row__head--address {
		align-items: flex-start;
	}

	.about-contact__form .wpcf7-form .form-label--address {
		flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
		white-space: normal;
	}

	.about-contact__form .wpcf7-form .form-submit {
		position: relative;
		margin-top: 20px;
		margin-bottom: 0 !important;
	}

	.about-contact__form .wpcf7-form .form-submit .wpcf7-spinner {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		margin: 0 !important;
	}

	.about-contact__form .wpcf7-form .wpcf7-response-output {
		margin: 0 !important;
		padding: 0 !important;
	}

	.about-contact__mail > .wp-block-group__inner-container {
		gap: 24px;
	}

	.about-contact__form .wpcf7-form {
		gap: 18px;
	}

	.about-contact__form .wpcf7-form .form-row--sample .wpcf7-checkbox,
	.about-contact__form .wpcf7-form .form-row--sample .wpcf7-radio,
	.about-contact__form .wpcf7-form .form-row--sample .wpcf7-exclusive-checkbox {
		gap: 22px;
		width: 100%;
	}

	.about-contact__form .wpcf7-form .form-row--sample .wpcf7-list-item {
		flex: 1 1 0;
		display: flex;
		justify-content: center;
	}

	.about-contact__form .wpcf7-form .form-row--sample .wpcf7-exclusive-checkbox .wpcf7-list-item label {
		gap: 8px;
	}

	.about-contact__form .wpcf7-form .form-row--address input.wpcf7-text {
		padding: 12px;
	}

	.about-contact__form .wpcf7-form .form-row--sample .form-row__head .form-label,
	.about-contact__form .wpcf7-form .form-row--sample .form-row__head .required {
		white-space: nowrap;
	}

	.about-contact__form .wpcf7-form .form-row--coating {
		gap: 24px;
	}

	.about-contact__form .wpcf7-form .form-row--coating .form-row__head .required {
		white-space: nowrap;
	}

	.about-contact__form .wpcf7-form .form-row--coating .wpcf7-checkbox {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.about-contact__form .wpcf7-form .form-row--coating .wpcf7-list-item label {
		gap: 8px;
		font-size: 14px;
		letter-spacing: 0.28px;
	}

	.about-contact__form .wpcf7-form .wpcf7-submit {
		width: 100%;
		padding-inline: 48px;
	}
}

/* コーティング種類：セクション背景 */
.coating-section {
	background-color: #f9f9f6 !important;
	margin-bottom: 0 !important; /* SWELL .post_content > * の block-margin を打ち消し */
}

/* Figma 578:4672：タイトルブロック（リード↔見出し gap 24px） */
.coating-section .wp-block-group:has(h2.section-title) > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.coating-section .coating-section__lead,
.coating-section .wp-block-group:has(h2.section-title) > .wp-block-group__inner-container > p.has-text-align-center {
	margin: 0 !important;
	font-weight: 700;
	line-height: 1.5 !important;
	letter-spacing: 0.02em;
	color: #4c4c4c !important;
	text-align: center;
}

.coating-section .coating-section__lead strong,
.coating-section .wp-block-group:has(h2.section-title) > .wp-block-group__inner-container > p.has-text-align-center strong {
	font-size: inherit !important;
	font-weight: inherit;
	color: inherit !important;
}

.coating-section h2.section-title {
	margin: 0 !important;
	text-align: center;
}

/* SP・タブレット（〜959px）：タイトルブロック下の SWELL 余白（2em）を打ち消し */
@media screen and (max-width: 959px) {
	.coating-section .swell-block-fullWide__inner.l-article > .wp-block-group:has(h2.section-title),
	.coating-section .swell-block-fullWide__inner.l-article > .wp-block-group:has(h2.section-title) > .wp-block-group__inner-container {
		margin-bottom: 0 !important;
	}
}

.coating-section h2.section-title,
.coating-section h2.section-title strong,
.coating-section h2.section-title .swl-inline-color.has-swl-main-color {
	font-weight: 700;
	line-height: 1.2 !important;
	color: #e55910 !important;
}

/* Figma PC 578:4670 / 578:4672 */
@media screen and (min-width: 960px) {
	.coating-section.swell-block-fullWide,
	.swell-block-fullWide.coating-section {
		padding-block: 112px !important;
		padding-inline: 0 !important;
	}

	.coating-section .swell-block-fullWide__inner,
	.swell-block-fullWide.coating-section > .swell-block-fullWide__inner {
		gap: 80px !important;
		/* Figma: px 120 → 内容幅 1200 */
		padding-inline: 120px !important;
		max-width: 1440px !important;
		width: 100% !important;
		box-sizing: border-box;
		margin-inline: auto;
	}

	/* タイトルグループ下の SWELL 余白を消して gap 80px のみに */
	.coating-section .wp-block-group:has(h2.section-title) {
		margin: 0 !important;
	}

	.coating-section .coating-section__lead,
	.coating-section .wp-block-group:has(h2.section-title) > .wp-block-group__inner-container > p.has-text-align-center {
		font-size: 24px !important;
	}

	.coating-section h2.section-title,
	.coating-section h2.section-title strong,
	.coating-section h2.section-title .swl-inline-color.has-swl-main-color {
		font-size: 40px !important;
	}
}

/* 施工の流れ（Figma 578:5162） */
.flow-section {
	background-color: #f9f9f6 !important;
}

.flow-section .swell-block-fullWide__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 80px;
	padding-block: 80px;
	padding-inline: clamp(24px, 12px + 3vw, 64px);
}

@media screen and (min-width: 960px) {
	.flow-section .swell-block-fullWide__inner {
		padding-block: 100px !important;
	}
}

@media screen and (max-width: 767px) {
	.flow-section .swell-block-fullWide__inner {
		gap: 40px;
	}
}

.flow-section h2.flow-section__title,
.flow-section h2.wp-block-heading {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	color: #e55910 !important;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 28px !important;
	line-height: 1.2;
	text-align: center;
	box-shadow: none !important;
}

@media screen and (min-width: 960px) {
	.flow-section h2.flow-section__title,
	.flow-section h2.wp-block-heading {
		font-size: 40px !important;
	}
}

.flow-section h2.flow-section__title::before,
.flow-section h2.flow-section__title::after,
.flow-section h2.wp-block-heading::before,
.flow-section h2.wp-block-heading::after {
	content: none !important;
	display: none !important;
}

.flow-section__list {
	max-width: 810px;
	width: 100%;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.flow-section__list > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.flow-section__list > .wp-block-group__inner-container {
		gap: 20px;
	}
}

@media screen and (min-width: 768px) {
	.flow-section__list > .wp-block-group__inner-container {
		max-width: none !important;
	}
}
.flow-card {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	background: #fff;
	border-radius: 20px;
	padding: 24px;
	gap: 24px;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 0 !important;
}
.flow-card > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 24px;
	max-width: none !important;
	width: 100%;
}
.flow-card__icon {
	flex: 0 0 72px;
	width: 72px !important;
	height: 72px !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	overflow: visible;
}
.flow-card__icon img {
	width: auto !important;
	height: auto !important;
	max-width: 72px !important;
	max-height: 72px !important;
	object-fit: contain;
}

/* SP：フローアイコン 50×50 */
@media screen and (max-width: 959px) {
	.flow-card__icon {
		flex: 0 0 50px;
		width: 50px !important;
		height: 50px !important;
		aspect-ratio: 1 / 1;
	}

	.flow-card__icon img {
		width: 50px !important;
		height: 50px !important;
		max-width: 50px !important;
		max-height: 50px !important;
		aspect-ratio: 1 / 1;
		object-fit: contain;
	}
}
.flow-card__body,
.flow-card__body > .wp-block-group__inner-container,
.flow-card__body > .is-row__inner-container {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none !important;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.flow-card__title {
	margin: 0 !important;
	color: #6f5b36 !important;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}

@media screen and (min-width: 960px) {
	.post_content h3.flow-card__title,
	.post_content h3.flow-card__title.is-style-section_ttl {
		font-size: 24px !important;
		line-height: 1.2 !important;
	}
}

@media screen and (max-width: 959px) {
	.flow-card__title,
	h3.flow-card__title.is-style-section_ttl {
		font-size: 20px !important;
		text-align: left !important;
	}
}
.flow-card__title::before,
.flow-card__title::after,
.flow-card__title.is-style-section_ttl::before,
.flow-card__title.is-style-section_ttl::after {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: none !important;
	border: none !important;
}
.flow-card__text {
	margin: 0 !important;
	color: #4c4c4c;
	font-size: 16px;
	line-height: 1.2;
}

/* SPでもアイコン＋テキストを横並び（Figma） */
@media screen and (max-width: 767px) {
	.flow-card,
	.flow-card > .wp-block-group__inner-container {
		gap: 20px;
	}
}

@media screen and (max-width: 600px) {
	.flow-card,
	.flow-card > .wp-block-group__inner-container {
		flex-direction: row !important;
		align-items: center;
		flex-wrap: nowrap;
	}

	.flow-card__body {
		flex: 1 1 auto;
		min-width: 0;
	}
}

@media screen and (max-width: 480px) {
	.flow-card {
		padding: 24px 8px !important;
	}
}

/* CTA：メールボタン・Instagram */
.cta-section__btn--mail .swell-block-button__link,
.cta-section__btn--mail.swell-block-button .swell-block-button__link {
	background: linear-gradient(90deg, #e59710 0%, #e55910 100%) !important;
	color: #fff !important;
	border-radius: 10px;
	box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.25);
	justify-content: center;
	width: 100%;
	min-height: 48px;
}

.cta-section__action-cols {
	width: 100%;
}

.cta-section__action-cols > .swell-block-columns__inner,
.cta-section__action-cols > .swell-block-columns > .swell-block-columns__inner,
.cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	margin: 0 !important;
}

.cta-section__action-cols > .swell-block-columns__inner > .swell-block-column,
.cta-section__action-cols > .swell-block-columns > .swell-block-columns__inner > .swell-block-column ,
.cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
	width: 100% !important;
	margin: 0 !important;
}

.cta-section__action-cols .cta-section__actions {
	width: 100%;
}

.cta-section__instagram {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.cta-section__instagram-lead {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #4c4c4c;
	text-align: center;
}

@media screen and (max-width: 959px) {
	.cta-section__action-cols {
		--swl-clmn-mrgn--y: 0px !important;
		margin-bottom: 0 !important;
	}

	.cta-section__action-cols > .swell-block-columns__inner,
.cta-section__action-cols > .swell-block-columns > .swell-block-columns__inner,
.cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		margin-bottom: 0 !important;
	}

	.post_content div .cta-section__instagram-lead.wp-block-paragraph {
		margin-top: 0 !important;
	}
}

.cta-section__instagram > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
	max-width: none !important;
}

.cta-section__instagram-btn,
.cta-section__instagram-btn > .wp-block-group__inner-container {
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
}

.cta-section__instagram-btn p {
	margin: 0 !important;
}

.cta-section__instagram-link-row {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-decoration: none;
	filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.25));
}

.cta-section__instagram-icon-img {
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.cta-section__instagram-text {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.32px;
	line-height: 1.5;
	background: linear-gradient(180deg, #6271ff 0%, #d62976 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.cta-section__instagram-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: linear-gradient(135deg, #6271ff 0%, #d62976 100%);
	color: #fff;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	box-sizing: border-box;
	flex-shrink: 0;
}

@media screen and (min-width: 960px) {
	.cta-section__action-cols > .swell-block-columns__inner,
.cta-section__action-cols > .swell-block-columns > .swell-block-columns__inner,
.cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		flex-direction: row;
		align-items: flex-start;
		justify-content: center;
		gap: 24px;
	}

	.cta-section__action-cols > .swell-block-columns__inner > .swell-block-column,
	.cta-section__action-cols > .swell-block-columns > .swell-block-columns__inner > .swell-block-column ,
.cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
		flex: 1 1 0;
		min-width: 0;
	}

	.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature__label,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature__label ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature__label {
		font-size: clamp(12px, 10.5px + 0.4vw, 14px) !important;
	}

	.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__label,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__label,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__label,
	.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__label,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__label ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__label {
		font-size: clamp(12px, 10.5px + 0.4vw, 14px) !important;
	}
}

@media screen and (max-width: 959px) {
	.cta-feature {
		width: min(158px, calc((100vw - 48px - 4px) / 2)) !important;
		max-width: 158px !important;
		height: auto;
		aspect-ratio: 1;
	}

	.cta-feature__label,
	.cta-feature__label.is-style-section_ttl,
	.cta-section__features > .swell-block-columns__inner > .swell-block-column:first-child .cta-feature__label,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child .cta-feature__label ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child .cta-feature__label {
		font-size: 14px !important;
	}

	.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__label,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__label,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__label,
	.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__label,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__label ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__label {
		font-size: 14px !important;
	}

	/* 枠（box）内に収める：320px固定をやめ、親幅に合わせる */
	.cta-section__features {
		width: 100%;
		max-width: 100%;
		margin-bottom: 0 !important;
		box-sizing: border-box;
	}

	.cta-section__features > .swell-block-columns__inner,
.cta-section__features > .swell-block-columns > .swell-block-columns__inner,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: auto;
		box-sizing: border-box;
		grid-template-columns: repeat(2, max-content);
		justify-content: center;
		justify-items: center;
	}

	.cta-section__features > .swell-block-columns__inner > .swell-block-column,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
	}

	.cta-section__features > .swell-block-columns__inner > .swell-block-column:first-child,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child {
		width: auto !important;
		max-width: none !important;
		justify-self: center;
	}

	.cta-section__features > .swell-block-columns__inner > .swell-block-column:first-child .cta-feature,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child .cta-feature ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:first-child .cta-feature {
		width: min(158px, calc((100vw - 48px - 4px) / 2)) !important;
	}

	.cta-section__btn .swell-block-button__link {
		min-height: 48px;
	}
}

/* 340px以下：CTA特徴ラベルのフォントサイズ調整 */
@media screen and (max-width: 340px) {
	.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature__label,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature__label ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature__label {
		font-size: 11px !important;
	}

	.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__label,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__label,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature__label,
	.cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__label,
	.cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__label ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature__label {
		font-size: 14px !important;
	}
}

/* CTA mid（吹き出し＋LINEのみ） / bottom 切り替え */
.cta-section__note-sp,
.cta-section__reassure-sp {
	display: none;
}

.cta-section--mid .cta-section__action-cols,
.cta-section--mid .cta-section__instagram {
	display: none !important;
}

.cta-section__bubbles,
.cta-section__bubbles > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	gap: 16px 24px;
	width: 100%;
	margin-bottom: 0 !important;
	max-width: none !important;
}

.cta-bubble,
.cta-bubble > .wp-block-group__inner-container {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: none !important;
}

.cta-bubble {
	padding: 12px 28px 18px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	border: none;
	border-radius: 0;
	box-shadow: none;
	margin: 0 !important;
}

.cta-bubble > .wp-block-group__inner-container {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0 !important;
}

.cta-bubble--q1 {
	width: 218px;
	height: 80px;
	min-width: 218px;
	min-height: 80px;
	padding: 12px 18px 18px;
	background-image: var(--nest-asset-cta-bubble-q1, url("assets/cta-bubble-q1.svg"));
}

.cta-bubble--q2 {
	width: 200px;
	height: 74px;
	min-width: 200px;
	min-height: 74px;
	padding: 12px 19px 18px;
	background-image: var(--nest-asset-cta-bubble-q2, url("assets/cta-bubble-q2.svg"));
}

.cta-section__reassure-pc::before {
	content: "\\";
	font-size: 16px;
	letter-spacing: 0.32px;
}

.cta-section__reassure-pc::after {
	content: "/";
	font-size: 16px;
	letter-spacing: 0.32px;
}

.cta-bubble__text {
	margin: 0 !important;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #4c4c4c;
	text-align: center;
}

.cta-section__bubbles-person,
.cta-section__bubbles-person > .wp-block-group__inner-container {
	flex-shrink: 0;
	align-self: flex-start;
	width: 60px;
	height: 81px;
	line-height: 0;
	overflow: visible;
	margin: 0 !important;
	max-width: none !important;
	padding: 0;
	position: relative;
	z-index: 110;
}

.cta-section__bubbles-person .wp-block-image {
	margin: 0 !important;
	line-height: 0;
	overflow: visible;
	position: relative;
	z-index: 110;
}

.cta-section__bubbles-person img,
.cta-section__bubbles-person .wp-block-image img {
	display: block;
	width: 60px !important;
	height: 81px !important;
	max-width: none !important;
	max-height: none !important;
	aspect-ratio: 60 / 81;
	object-fit: contain;
	object-position: top center;
	margin: 0 !important;
	position: relative;
	z-index: 110;
}

.cta-section__reassure {
	margin: 0 !important;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.28px;
	color: #4c4c4c;
	text-align: center;
}

.cta-section--mid .cta-section__btn {
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
}

.cta-section--mid .cta-section__box > .wp-block-group__inner-container,
.cta-section--mid .cta-section__box {
	gap: 24px;
}

/* Figma 578:4884 Column: PC 761px 幅（1440フレーム中央） */
@media screen and (min-width: 960px) {
	.cta-section--mid .cta-section__box {
		width: 761px;
		max-width: 761px;
		margin-inline: auto;
		box-sizing: border-box;
	}

	.cta-section--mid .cta-section__features {
		margin-bottom: 0 !important;
	}

	.cta-section--mid .cta-section__btn {
		max-width: 540px;
	}
}

/* Figma Actions: reassure ↔ LINE は gap 8px（親 gap 24 を打ち消し） */
.cta-section--mid .cta-section__reassure + .cta-section__btn {
	margin-top: -16px;
}

.cta-section--mid .cta-section__btn .swell-block-button__link {
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.25);
	/* アイコン＋文言＋矢印がボタン枠内に収まるよう余白を確保 */
	padding: 10px 16px;
	gap: 8px;
	box-sizing: border-box;
	overflow: hidden;
}

.cta-section--mid .cta-section__btn .swell-block-button__link > span {
	gap: 8px;
	min-width: 0;
	flex: 0 1 auto;
	justify-content: center;
}

/* SWELL既定の右矢印SVGと ::after の矢印が二重になるため、SVG側を非表示 */
.cta-section--mid .cta-section__btn .__icon.-right,
.cta-section--bottom .cta-section__btn .__icon.-right,
.cta-section--bottom .cta-section__btn--mail .__icon.-right {
	display: none !important;
}

.cta-section--mid .cta-section__btn .swell-block-button__link::after,
.cta-section--bottom .cta-section__btn .swell-block-button__link::after,
.cta-section--bottom .cta-section__btn--mail .swell-block-button__link::after {
	content: "→";
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.32px;
	color: #fff;
	flex-shrink: 0;
}

.cta-section--mid .cta-section__btn .swl-inline-icon {
	width: 32px !important;
	height: 32px !important;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
}

.cta-section--mid .cta-section__btn .swl-inline-icon::after,
.cta-section--bottom .cta-section__btn .swl-inline-icon::after {
	width: 32px !important;
	height: 32px !important;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background-size: contain;
}

/* グローバル line-btn の top:45% を打ち消し、上下中央に */
.cta-section__btn .swl-inline-icon::after {
	top: 50% !important;
	transform: translateY(-50%);
}

.cta-section--bottom .cta-section__btn .swl-inline-icon {
	width: 32px !important;
	height: 32px !important;
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
}

/* Figma 578:5204：下部CTAは mid と同じボックス幅・透過・アイコンサイズ */
.cta-section--bottom .cta-section__box {
	background: rgba(251, 248, 238, 0.8);
}

/* 下部CTAボタン幅：枠内 max-width 100%（上限 311px）/ PC 305 */
.cta-section--bottom .cta-section__actions .cta-section__btn,
.cta-section--bottom .cta-section__btn--mail {
	width: 100%;
	max-width: min(311px, 100%);
	margin-inline: auto;
	box-sizing: border-box;
}

/* SP：SWELL列マージンで親より広がらないようにする */
@media screen and (max-width: 959px) {
	.cta-section--bottom .cta-section__box > .wp-block-group__inner-container,
	.cta-section--bottom .cta-section__actions-wrap,
	.cta-section--bottom .cta-section__actions-inner,
	.cta-section--bottom .cta-section__action-cols,
	.cta-section--bottom .cta-section__action-cols > .swell-block-columns__inner,
	.cta-section--bottom .cta-section__action-cols > .swell-block-columns > .swell-block-columns__inner,
\.cta\-section\-\-bottom .cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner,
.cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner,
	.cta-section--bottom .cta-section__actions,
	.cta-section--bottom .cta-section__actions > .wp-block-group__inner-container {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-inline: 0 !important;
		margin-bottom: 0 !important;
		box-sizing: border-box;
	}

	.cta-section--bottom .cta-section__action-cols {
		--swl-clmn-mrgn--x: 0px !important;
	}
}

.cta-section--bottom .cta-section__actions .cta-section__btn .swell-block-button__link,
.cta-section--bottom .cta-section__btn--mail .swell-block-button__link {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	box-sizing: border-box;
}

/* Figma 578:5326：272内に icon+text+矢印が収まるよう余白調整 */
.cta-section--bottom .cta-section__actions .cta-section__btn .swell-block-button__link {
	padding: 10px 16px;
	gap: 8px;
	overflow: visible;
}

.cta-section--bottom .cta-section__actions .cta-section__btn .swell-block-button__link > span {
	gap: 4px;
	min-width: 0;
	flex: 0 1 auto;
	justify-content: center;
}

.cta-section--bottom .cta-section__actions .cta-section__btn .swell-block-button__link .swl-inline-icon {
	margin: 0 !important;
}

.cta-section--bottom .cta-section__actions .cta-section__btn .swell-block-button__link::after {
	flex-shrink: 0;
	margin-inline-end: 0;
}

@media screen and (min-width: 960px) {
	.cta-section--bottom .cta-section__box {
		width: 761px;
		max-width: 761px;
		margin-inline: auto;
		padding-inline: 80px;
		box-sizing: border-box;
	}

	.cta-section--bottom .cta-section__features,
	.cta-section--bottom .cta-section__features > .swell-block-columns__inner,
.cta-section--bottom .cta-section__features > .swell-block-columns > .swell-block-columns__inner,
\.cta\-section\-\-bottom .cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		margin-bottom: 0 !important;
	}

	.cta-section--bottom .cta-section__actions-wrap,
	.cta-section--bottom .cta-section__actions-wrap > .wp-block-group__inner-container,
	.cta-section--bottom .cta-section__action-cols {
		--swl-clmn-mrgn--x: 0px !important;
		width: 100% !important;
		max-width: 601px;
		margin-inline: auto !important;
		margin-bottom: 0 !important;
	}

	.cta-section--bottom .cta-section__action-cols > .swell-block-columns__inner,
.cta-section--bottom .cta-section__action-cols > .swell-block-columns > .swell-block-columns__inner,
\.cta\-section\-\-bottom .cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner,
.cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: center;
		align-items: flex-start;
		gap: 24px;
		max-width: 601px;
		width: 100%;
		margin-inline: auto;
	}

	.cta-section--bottom .cta-section__action-cols > .swell-block-columns__inner > .swell-block-column,
	.cta-section--bottom .cta-section__action-cols > .swell-block-columns > .swell-block-columns__inner > .swell-block-column ,
\.cta\-section\-\-bottom .cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column ,
.cta-section__action-cols > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column {
		flex: 1 1 0 !important;
		width: calc((100% - 24px) / 2) !important;
		max-width: 305px !important;
		min-width: 0 !important;
	}

	.cta-section--bottom .cta-section__action-cols .cta-section__actions {
		width: 100%;
		max-width: 305px;
	}

	.cta-section--bottom .cta-section__actions .cta-section__btn,
	.cta-section--bottom .cta-section__btn--mail {
		width: 100% !important;
		max-width: 305px;
	}

	.cta-section--bottom .cta-section__actions .cta-section__btn .swell-block-button__link,
	.cta-section--bottom .cta-section__btn--mail .swell-block-button__link {
		width: 100% !important;
		max-width: 305px;
	}
}

/* 下部CTAのアイコンサイズを mid に合わせる（figure に cta-feature__icon が無い場合も） */
.cta-section--bottom .cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature img,
.cta-section--bottom .cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature img,
\.cta\-section\-\-bottom .cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature img,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) .cta-feature img,
.cta-section--bottom .cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(1) figure img,
.cta-section--bottom .cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) figure img ,
\.cta\-section\-\-bottom .cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) figure img ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) figure img {
	width: 71px !important;
	height: 56px !important;
	max-width: 71px !important;
	max-height: 56px !important;
	object-fit: contain;
}

.cta-section--bottom .cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature img,
.cta-section--bottom .cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature img,
\.cta\-section\-\-bottom .cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature img,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .cta-feature img,
.cta-section--bottom .cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(2) figure img,
.cta-section--bottom .cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) figure img ,
\.cta\-section\-\-bottom .cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) figure img ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) figure img {
	width: 57px !important;
	height: 46px !important;
	max-width: 57px !important;
	max-height: 46px !important;
	object-fit: contain;
}

.cta-section--bottom .cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature img,
.cta-section--bottom .cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature img,
\.cta\-section\-\-bottom .cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature img,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) .cta-feature img,
.cta-section--bottom .cta-section__features > .swell-block-columns__inner > .swell-block-column:nth-child(3) figure img,
.cta-section--bottom .cta-section__features > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) figure img ,
\.cta\-section\-\-bottom .cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) figure img ,
.cta-section__features > .wp-block-group__inner-container > .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) figure img {
	width: 58px !important;
	height: 58px !important;
	max-width: 58px !important;
	max-height: 58px !important;
	object-fit: contain;
}

.cta-section--bottom .cta-feature {
	width: 187px;
	height: 187px;
	aspect-ratio: 1;
	overflow: hidden;
	gap: 15px;
}

/* Figma SP 578:6080：mid と同じく枠内に収める */
@media screen and (max-width: 959px) {
	.cta-section--bottom .cta-feature {
		width: min(158px, 100%);
		height: auto;
		aspect-ratio: 1;
	}
}

.cta-section--bottom .cta-feature figure {
	margin: 0 !important;
	line-height: 0;
}

/* q1: 1行 / q2: 2行（Figma）。q2 は br 改行を活かし、各行内の折り返しのみ防ぐ */
.cta-bubble--q1 .cta-bubble__text {
	white-space: nowrap;
	text-wrap: nowrap;
}

.cta-bubble--q2 .cta-bubble__text {
	white-space: normal;
	text-wrap: wrap;
}

.cta-bubble__line {
	display: block;
	white-space: nowrap;
}

.cta-bubble--q2 .cta-bubble__text br.u-br-pc {
	display: unset !important;
}

@media screen and (min-width: 960px) {
	.cta-section__note-pc br {
		display: inline;
	}

	/* 下部CTA：PCは1行表示 */
	.cta-section--bottom .cta-section__note br {
		display: none;
	}

	.u-br-sp {
		display: none;
	}
}

/* 500px〜：吹き出し＋人物を横並び */
@media screen and (min-width: 500px) {
	.cta-section__bubbles,
	.cta-section__bubbles > .wp-block-group__inner-container {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: center;
		gap: 16px 24px;
		width: 100%;
		max-width: none;
		margin-inline: auto;
	}

	.cta-bubble--q1,
	.cta-bubble--q2,
	.cta-section__bubbles-person {
		grid-area: unset;
		justify-self: auto;
	}
}

/* 500〜640px：横並びのまま gap・文字・吹き出しを縮小 */
@media screen and (min-width: 500px) and (max-width: 640px) {
	.cta-section__bubbles,
	.cta-section__bubbles > .wp-block-group__inner-container {
		gap: clamp(6px, calc(6px + (100vw - 500px) * 10 / 140), 16px);
	}

	.cta-bubble--q1 {
		width: clamp(170px, calc(170px + (100vw - 500px) * 48 / 140), 218px);
		height: auto;
		min-width: 0;
		min-height: 0;
		aspect-ratio: 218 / 80;
		padding: clamp(8px, calc(8px + (100vw - 500px) * 4 / 140), 12px)
			clamp(12px, calc(12px + (100vw - 500px) * 6 / 140), 18px)
			clamp(12px, calc(12px + (100vw - 500px) * 6 / 140), 18px);
	}

	.cta-bubble--q2 {
		width: clamp(155px, calc(155px + (100vw - 500px) * 45 / 140), 200px);
		height: auto;
		min-width: 0;
		min-height: 0;
		aspect-ratio: 200 / 74;
		padding: clamp(8px, calc(8px + (100vw - 500px) * 4 / 140), 12px)
			clamp(14px, calc(14px + (100vw - 500px) * 5 / 140), 19px)
			clamp(12px, calc(12px + (100vw - 500px) * 6 / 140), 18px);
	}

	.cta-bubble__text {
		font-size: clamp(12px, calc(12px + (100vw - 500px) * 4 / 140), 16px);
		letter-spacing: clamp(0.24px, calc(0.24px + (100vw - 500px) * 0.08 / 140), 0.32px);
	}

	.cta-section__bubbles-person,
	.cta-section__bubbles-person > .wp-block-group__inner-container {
		width: clamp(48px, calc(48px + (100vw - 500px) * 12 / 140), 60px);
		height: auto;
		aspect-ratio: 60 / 81;
	}

	.cta-section__bubbles-person img,
	.cta-section__bubbles-person .wp-block-image img {
		width: clamp(48px, calc(48px + (100vw - 500px) * 12 / 140), 60px) !important;
		height: auto !important;
		max-height: none !important;
		aspect-ratio: 60 / 81;
	}
}

/* 〜499px：吹き出しを2段グリッド（縦並び） */
@media screen and (max-width: 499px) {
	.cta-section__bubbles,
	.cta-section__bubbles > .wp-block-group__inner-container {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"q1 q1"
			"q2 person";
		align-items: start;
		justify-items: end;
		gap: 16px;
		width: 100%;
		max-width: 320px;
		margin-inline: auto;
	}

	.cta-bubble--q1 {
		grid-area: q1;
		justify-self: end;
	}

	.cta-bubble--q2 {
		grid-area: q2;
		justify-self: end;
	}

	.cta-section__bubbles-person {
		grid-area: person;
		justify-self: end;
		align-self: start;
	}
}

@media screen and (max-width: 959px) {
	.cta-section__note-pc,
	.cta-section__reassure-pc {
		display: none;
	}

	.cta-section__note-sp,
	.cta-section__reassure-sp {
		display: inline;
	}

	.cta-section__reassure-sp {
		display: block;
	}

	/* SP：見出しは基本1行。収まらない幅では折り返し */
	.cta-section--mid .cta-section__title,
	.cta-section--bottom .cta-section__title {
		white-space: nowrap;
		font-size: clamp(20px, 6.2vw, 24px);
		max-width: 100%;
		box-sizing: border-box;
		overflow-wrap: break-word;
	}
}

/* 500〜959px：CTA中間LINEボタンは親幅の80%・中央揃え */
@media screen and (min-width: 500px) and (max-width: 959px) {
	.cta-section--mid .cta-section__btn {
		max-width: 80%;
	}

	.cta-section--mid .cta-section__btn .swell-block-button__link {
		width: 100%;
		max-width: 100%;
		margin-inline: auto;
		box-sizing: border-box;
	}
}

@media screen and (min-width: 960px) {
	.cta-section--mid .cta-section__btn .swell-block-button__link {
		width: 100%;
		max-width: 100%;
		margin-inline: auto;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 499px) {
	.cta-section--mid .cta-section__btn {
		max-width: 100%;
	}
}

/* 374px以下：はみ出す場合のみ改行を許可 */
@media screen and (max-width: 374px) {
	.cta-section--mid .cta-section__title,
	.cta-section--bottom .cta-section__title {
		white-space: normal;
	}
}

/* フッター */
.site-footer-custom {
	padding-block: 0;
}

.site-footer-custom > .wp-block-group__inner-container {
	max-width: none !important;
	width: 100%;
}

.site-footer-custom__brand {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 24px !important;
	font-size: 0;
	line-height: 0;
	color: transparent;
}

.site-footer-custom__brand-link {
	display: flex;
	align-items: center;
	gap: 24px;
	text-decoration: none;
	color: inherit;
}

.site-footer-custom__brand-link::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 80px;
	height: 34px;
	background-color: transparent;
	background-image: var(--nest-asset-header-logo-icon, url("./assets/header-logo-icon.webp"));
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* ヘッダーと同じ書き出しで解像度を揃える */
.site-footer-custom__brand-link::after {
	content: "";
	display: block;
	flex-shrink: 1;
	width: 199px;
	max-width: min(199px, calc(100vw - 48px - 80px - 24px));
	aspect-ratio: 199 / 33;
	height: auto;
	min-height: 22px;
	background-color: transparent;
	background-image: var(--nest-asset-header-logo-text, url("./assets/header-logo-text.svg"));
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.site-footer-custom__brand::before,
.site-footer-custom__brand::after {
	content: none;
	display: none;
}

@media screen and (max-width: 374px) {
	.site-footer-custom__brand-link {
		gap: 12px;
	}

	.site-footer-custom__brand-link::before {
		width: clamp(56px, 18vw, 80px);
		height: auto;
		aspect-ratio: 80 / 34;
	}

	.site-footer-custom__brand-link::after {
		width: clamp(120px, 48vw, 199px);
		max-width: none;
	}
}

.site-footer-custom__brand strong {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.site-footer-custom__address,
.site-footer-custom__hours {
	color: #4c4c4c;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	margin-bottom: 24px !important;
}

.site-footer-custom__hours {
	margin-bottom: 0 !important;
}
.site-footer-custom__nav {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 32px;
	line-height: 1.5;
	text-align: right;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	max-width: 100% !important;
	box-sizing: border-box;
	min-width: 0;
}
.site-footer-custom__nav li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.site-footer-custom__nav a {
	color: #4c4c4c;
	text-decoration: none;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
}

/* PC: お問い合わせ / SP: お問合せ */
.site-footer-custom__nav-label--sp {
	display: none;
}
.site-footer-custom__nav-label--pc {
	display: inline;
}

@media screen and (max-width: 767px) {
	.site-footer-custom__nav-label--pc {
		display: none;
	}
	.site-footer-custom__nav-label--sp {
		display: inline;
	}
}
.site-footer-custom__divider {
	width: 100% !important;
	max-width: none !important;
	margin-block: 80px 32px !important;
	margin-inline: 0 !important;
	border: 0 !important;
	border-top: 1px solid #4c4c4c !important;
	background: transparent !important;
	opacity: 1 !important;
	height: 0 !important;
}
.site-footer-custom__credits {
	width: 100% !important;
	max-width: none !important;
}
.site-footer-custom__credits > .swell-block-columns__inner {
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: space-between;
	align-items: center;
	width: 100% !important;
	margin: 0 !important;
	gap: 16px;
}
.site-footer-custom__credits > .swell-block-columns__inner > .swell-block-column {
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
}
.site-footer-custom__credits > .swell-block-columns__inner > .swell-block-column:last-child {
	margin-left: auto !important;
	text-align: right;
}
.site-footer-custom__copy,
.site-footer-custom__policy,
.site-footer-custom__policy a {
	color: #4c4c4c;
	font-size: 14px;
}
.site-footer-custom__copy {
	display: block !important;
	margin: 0 !important;
}
.site-footer-custom__policy {
	text-align: right !important;
	margin: 0 !important;
}
.site-footer-custom__policy a {
	text-decoration: underline;
}
.l-footer .w-footer {
	padding: 40px 64px 80px;
}

.w-footer__box {
	padding: 0 !important;
}

/* テーマ標準の footer padding を打ち消し */
.l-footer__foot,
.l-footer__widgetArea {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.l-footer__foot {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* テーマ標準の copyright をフッター左端・ポリシーと同一行に */
.w-beforeFooter {
	margin: 0 !important;
}

.l-footer {
	background: #fff;
}

@media screen and (min-width: 960px) {
	.site-footer-custom__top {
		margin-bottom: 0 !important;
	}

	.site-footer-custom__top > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: flex-start;
		justify-content: space-between;
		gap: 0 !important;
		margin: 0 !important;
	}

	.site-footer-custom__top > .swell-block-columns__inner > .swell-block-column {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.site-footer-custom__top > .swell-block-columns__inner > .swell-block-column:first-child {
		flex: 1 1 auto !important;
		min-width: 0;
		max-width: 864px;
	}

	.site-footer-custom__top > .swell-block-columns__inner > .swell-block-column:nth-child(2) {
		flex: 0 0 auto !important;
	}

	.site-footer-custom__nav {
		min-height: 100%;
	}
}

/* 768〜959：トップはPC同様（左：ロゴ/会社情報・右：ナビ縦並び） */
@media screen and (min-width: 768px) and (max-width: 959px) {
	.site-footer-custom__top > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: flex-start;
		justify-content: space-between;
		gap: 24px !important;
		margin: 0 !important;
	}

	.site-footer-custom__top > .swell-block-columns__inner > .swell-block-column {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.site-footer-custom__top > .swell-block-columns__inner > .swell-block-column:first-child {
		flex: 1 1 auto !important;
		min-width: 0;
	}

	.site-footer-custom__top > .swell-block-columns__inner > .swell-block-column:nth-child(2) {
		order: 0;
		flex: 0 0 auto !important;
	}

	.site-footer-custom__nav {
		flex-direction: column;
		align-items: flex-end;
		justify-content: center;
		gap: 32px;
		text-align: right !important;
	}
}

@media screen and (max-width: 959px) {
	.site-footer-custom__credits > .swell-block-columns__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px !important;
	}

	/* Figma SP：コピー → プライバシーの順・左揃え */
	.site-footer-custom__credits > .swell-block-columns__inner > .swell-block-column:first-child {
		display: block !important;
		width: 100% !important;
		order: -1;
	}

	.site-footer-custom__credits > .swell-block-columns__inner > .swell-block-column:last-child {
		margin-left: 0 !important;
		text-align: left;
		width: 100% !important;
	}

	.site-footer-custom__copy {
		display: block !important;
		text-align: left !important;
		margin: 0 !important;
	}

	.site-footer-custom__policy {
		text-align: left !important;
		margin: 0 !important;
	}

	.l-footer .w-footer {
		padding: 40px 24px;
	}

	.site-footer-custom__divider {
		margin-block: 38px 32px !important;
	}
}

/* Figma 578:6218 / 578:6220 — 767px以下：ナビ上・ロゴ下、ナビは横並び1行 */
@media screen and (max-width: 767px) {
	.site-footer-custom__top > .swell-block-columns__inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch;
		gap: 24px;
		margin: 0 !important;
	}

	.site-footer-custom__top > .swell-block-columns__inner > .swell-block-column {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.site-footer-custom__top > .swell-block-columns__inner > .swell-block-column:nth-child(2) {
		order: -1;
	}

	.site-footer-custom__brand {
		margin-bottom: 24px !important;
	}

	.site-footer-custom__address {
		margin-bottom: 24px !important;
	}

	.site-footer-custom__divider {
		width: 100% !important;
		max-width: none !important;
		margin-block: 38px 32px !important;
		margin-inline: 0 !important;
		border: 0 !important;
		border-top: 1px solid #4c4c4c !important;
		background: transparent !important;
		opacity: 1 !important;
		height: 0 !important;
	}

	.site-footer-custom__nav {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: 0;
		width: 100% !important;
		max-width: 480px !important;
		min-width: 0;
		box-sizing: border-box;
		text-align: left !important;
		margin-block: 0 !important;
		margin-inline: auto !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.site-footer-custom__nav li {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1 1 0;
		min-width: 0;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
		border-right: 1px solid #e0e0e0;
		box-sizing: border-box;
	}

	.site-footer-custom__nav li:first-child {
		justify-content: flex-start;
	}

	.site-footer-custom__nav li:last-child {
		justify-content: flex-end;
		border-right: none;
	}

	.site-footer-custom__nav a {
		/* 451〜767：均等配分用の広め padding（border は li） */
		display: flex;
		align-items: center;
		width: 100%;
		position: relative;
		padding-inline: clamp(6px, 2.2vw, 16px);
		line-height: 1.5;
		white-space: nowrap;
		font-size: clamp(12px, 3.9vw, 16px);
		box-sizing: border-box;
	}

	/* 見た目はそのまま、タップ領域だけ上下・左右に拡張 */
	.site-footer-custom__nav a::before {
		content: "";
		position: absolute;
		top: -14px;
		right: 0;
		bottom: -14px;
		left: 0;
	}

	.site-footer-custom__nav li:nth-child(2) a,
	.site-footer-custom__nav li:nth-child(3) a {
		justify-content: center;
	}

	.site-footer-custom__nav li:first-child a {
		padding-inline-start: 0;
		justify-content: flex-start;
	}

	.site-footer-custom__nav li:last-child a {
		padding-inline-end: 0;
		justify-content: flex-end;
	}
}

/* Figma 578:6220 — 450px以下：a に padding 0 8px + border-right。詰めて中央寄せ */
@media screen and (max-width: 450px) {
	.site-footer-custom__nav {
		justify-content: center;
		max-width: 100% !important;
		margin-inline: 0 !important;
		gap: 0;
	}

	.site-footer-custom__nav li {
		flex: 0 0 auto;
		justify-content: center;
		border-right: none;
		min-width: 0;
	}

	.site-footer-custom__nav a {
		display: inline-flex;
		align-items: center;
		position: relative;
		width: auto;
		box-sizing: border-box;
		padding: 0 8px !important;
		border-right: 1px solid #e0e0e0;
		font-size: 16px;
		line-height: 1.5;
		white-space: nowrap;
		text-align: center;
	}

	.site-footer-custom__nav a::before {
		content: "";
		position: absolute;
		top: -14px;
		right: -2px;
		bottom: -14px;
		left: -2px;
	}

	.site-footer-custom__nav li:last-child a {
		border-right: none;
	}
}

/* 375px：padding をわずかに抑えて 16px を維持。320px 台はさらに縮小 */
@media screen and (max-width: 375px) {
	.site-footer-custom__nav a {
		padding: 0 6px !important;
		font-size: 16px;
	}
}

@media screen and (max-width: 340px) {
	.site-footer-custom__nav a {
		padding: 0 4px !important;
		font-size: 13px;
	}
}

/* 投稿ページ（single）・サンクス・404：inner 幅・gap・画像を他ページと揃える */
#body_wrap.single .l-mainContent.l-article .l-mainContent__inner,
#body_wrap.page-id-13 .l-mainContent.l-article .l-mainContent__inner,
#body_wrap.page-id-1177 .l-mainContent.l-article .l-mainContent__inner,
#body_wrap.error404 .l-mainContent.l-article .l-mainContent__inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 100%;
	max-width: 1000px;
	margin-inline: auto;
	padding-block: clamp(40px, calc(40px + (100vw - 375px) * 20 / 392), 60px);
	padding-inline: clamp(24px, calc(24px + (100vw - 768px) * 40 / 256), 64px);
	box-sizing: border-box;
}

@media screen and (min-width: 768px) {
	#body_wrap.single .l-mainContent.l-article .l-mainContent__inner,
	#body_wrap.page-id-13 .l-mainContent.l-article .l-mainContent__inner,
	#body_wrap.page-id-1177 .l-mainContent.l-article .l-mainContent__inner,
	#body_wrap.error404 .l-mainContent.l-article .l-mainContent__inner {
		gap: 80px;
		padding-block: clamp(80px, calc(80px + (100vw - 768px) * 20 / 256), 100px);
	}
}

#body_wrap.single .l-mainContent.l-article .p-articleHead,
#body_wrap.single .l-mainContent.l-article .p-articleMetas,
#body_wrap.single .l-mainContent.l-article .p-articleThumb,
#body_wrap.single .l-mainContent.l-article .post_content,
#body_wrap.single .l-mainContent.l-article .p-articleFoot,
#body_wrap.single .l-mainContent.l-article .l-articleBottom {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

/* inner の gap を打ち消し、タイトル直下にメタを寄せる */
#body_wrap.single .l-mainContent.l-article .p-articleMetas.-top {
	margin-top: -24px !important;
}

@media screen and (min-width: 768px) {
	#body_wrap.single .l-mainContent.l-article .p-articleMetas.-top {
		margin-top: -64px !important;
	}
}

#body_wrap.single .l-mainContent.l-article .p-articleThumb {
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
}

#body_wrap.single .l-mainContent.l-article .p-articleThumb__img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

#body_wrap.single .l-mainContent.l-article .post_content .wp-block-image img,
#body_wrap.single .l-mainContent.l-article .post_content img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

@media screen and (min-width: 768px) {
	#body_wrap.single .l-mainContent.l-article .p-articleThumb__img {
		max-width: 80%;
		margin-inline: auto;
	}
}

#body_wrap.single .l-mainContent.l-article .post_content .wp-block-image {
	margin: 0;
}

#body_wrap.single .l-mainContent.l-article .post_content {
	display: flex !important;
	flex-direction: column !important;
	gap: clamp(40px, calc(40px + (100vw - 768px) * 40 / 256), 80px) !important;
}

#body_wrap.single .l-mainContent.l-article .post_content > *,
#body_wrap.single .l-mainContent.l-article .post_content .single-post__section {
	margin: 0 !important;
}

#body_wrap.single .l-mainContent.l-article .post_content .single-post__section,
#body_wrap.single .l-mainContent.l-article .post_content .single-post__section > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

#body_wrap.single .l-mainContent.l-article .post_content .single-post__section h2.is-style-section_ttl {
	margin: 0 !important;
	padding: 0 !important;
	font-size: clamp(18px, calc(18px + (100vw - 768px) * 10 / 256), 28px) !important;
	font-weight: 700 !important;
	line-height: 1.5;
	text-align: left !important;
	color: #333 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

#body_wrap.single .l-mainContent.l-article .post_content .single-post__section h2.is-style-section_ttl::before,
#body_wrap.single .l-mainContent.l-article .post_content .single-post__section h2.is-style-section_ttl::after {
	content: none !important;
	display: none !important;
}

#body_wrap.single .l-mainContent.l-article .post_content h4.wp-block-heading {
	margin: 0 !important;
	font-size: clamp(18px, calc(18px + (100vw - 768px) * 2 / 256), 20px) !important;
	line-height: 1.5;
	color: #333;
}

#body_wrap.single .l-mainContent.l-article .post_content p {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}


@media screen and (max-width: 767px) {
	#body_wrap.single .l-mainContent.l-article .l-mainContent__inner,
	#body_wrap.page-id-13 .l-mainContent.l-article .l-mainContent__inner,
	#body_wrap.page-id-1177 .l-mainContent.l-article .l-mainContent__inner,
	#body_wrap.error404 .l-mainContent.l-article .l-mainContent__inner {
		max-width: 480px;
	}
}

/* サンクス・404：本文ブロックを中央寄せ */
#body_wrap.page-id-13 .l-mainContent.l-article .post_content,
#body_wrap.page-id-1177 .l-mainContent.l-article .post_content,
#body_wrap.error404 .l-mainContent.l-article .post_content {
	width: 100%;
	max-width: 840px;
	margin-inline: auto;
	box-sizing: border-box;
}

/* サンクス・404ページ：セクションタイトル */
#body_wrap.page-id-13 .post_content h1.is-style-section_ttl,
#body_wrap.page-id-1177 .post_content h1.is-style-section_ttl,
#body_wrap.error404 .post_content h1.is-style-section_ttl {
	margin: 0 0 80px !important;
	text-align: center;
}

#body_wrap.page-id-13 .post_content h1.is-style-section_ttl .swl-inline-color.has-swl-main-color,
#body_wrap.page-id-1177 .post_content h1.is-style-section_ttl .swl-inline-color.has-swl-main-color,
#body_wrap.error404 .post_content h1.is-style-section_ttl .swl-inline-color.has-swl-main-color {
	font-size: clamp(
		28px,
		calc(28px + (100vw - 375px) * 12 / 985),
		40px
	) !important;
	line-height: 1.2;
	font-weight: 700;
}

@media screen and (min-width: 500px) {
	#body_wrap.page-id-13 .post_content h1.is-style-section_ttl .swl-inline-color.has-swl-main-color,
	#body_wrap.page-id-1177 .post_content h1.is-style-section_ttl .swl-inline-color.has-swl-main-color,
	#body_wrap.error404 .post_content h1.is-style-section_ttl .swl-inline-color.has-swl-main-color {
		white-space: nowrap;
		text-wrap: nowrap;
	}
}

#body_wrap.page-id-13 .post_content h1.is-style-section_ttl .swl-format-2,
#body_wrap.page-id-13 .post_content h1.is-style-section_ttl .swl-format-2 strong,
#body_wrap.page-id-1177 .post_content h1.is-style-section_ttl .swl-format-2,
#body_wrap.page-id-1177 .post_content h1.is-style-section_ttl .swl-format-2 strong,
#body_wrap.error404 .post_content h1.is-style-section_ttl .swl-format-2,
#body_wrap.error404 .post_content h1.is-style-section_ttl .swl-format-2 strong {
	font-size: inherit !important;
	line-height: inherit;
	font-weight: inherit;
}

/* サンクス・404：本文（左揃え・ブロック中央寄せ） */
#body_wrap.page-id-13 .l-mainContent.l-article .post_content > .wp-block-group:not(.thanks-top-link),
#body_wrap.page-id-1177 .l-mainContent.l-article .post_content > .wp-block-group:not(.thanks-top-link),
#body_wrap.error404 .l-mainContent.l-article .post_content > .wp-block-group:not(.thanks-top-link) {
	width: 100%;
	max-width: 840px;
	margin-inline: auto !important;
	box-sizing: border-box;
}

#body_wrap.page-id-13 .l-mainContent.l-article .post_content > .wp-block-group:not(.thanks-top-link) p,
#body_wrap.page-id-1177 .l-mainContent.l-article .post_content > .wp-block-group:not(.thanks-top-link) p,
#body_wrap.error404 .l-mainContent.l-article .post_content > .wp-block-group:not(.thanks-top-link) p {
	text-align: left !important;
}

/* サンクス・404：TOPへ戻る（Figma 962:290 / 962:329） */
#body_wrap.page-id-13 .thanks-top-link.benefit-detail-link,
#body_wrap.page-id-1177 .thanks-top-link.benefit-detail-link,
#body_wrap.error404 .thanks-top-link.benefit-detail-link {
	margin: 0 !important;
	justify-content: center;
	gap: 24px;
	--detail-link-arrow-size: 48px;
	--detail-link-arrow-gap: 24px;
}

#body_wrap.page-id-13 .thanks-top-link.benefit-detail-link::before,
#body_wrap.page-id-1177 .thanks-top-link.benefit-detail-link::before,
#body_wrap.error404 .thanks-top-link.benefit-detail-link::before {
	width: 48px;
	height: 48px;
}

#body_wrap.page-id-13 .thanks-top-link .benefit-detail-link__text,
#body_wrap.page-id-1177 .thanks-top-link .benefit-detail-link__text,
#body_wrap.error404 .thanks-top-link .benefit-detail-link__text {
	flex: 0 1 auto;
	width: auto !important;
	font-size: 20px !important;
	font-weight: 700;
	color: #e55910 !important;
}

#body_wrap.page-id-13 .thanks-top-link .benefit-detail-link__text a,
#body_wrap.page-id-1177 .thanks-top-link .benefit-detail-link__text a,
#body_wrap.error404 .thanks-top-link .benefit-detail-link__text a {
	display: inline-block;
	padding-block: 9px;
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1.5;
	color: #e55910 !important;
	text-decoration: none;
	border-bottom: 1px solid #e55910;
	box-sizing: border-box;
}

@media screen and (max-width: 767px) {
	#body_wrap.page-id-13 .thanks-top-link.benefit-detail-link,
	#body_wrap.page-id-1177 .thanks-top-link.benefit-detail-link,
	#body_wrap.error404 .thanks-top-link.benefit-detail-link {
		gap: 24px;
		--detail-link-arrow-gap: 24px;
	}

	#body_wrap.page-id-13 .thanks-top-link .benefit-detail-link__text,
	#body_wrap.page-id-13 .thanks-top-link .benefit-detail-link__text a,
	#body_wrap.page-id-1177 .thanks-top-link .benefit-detail-link__text,
	#body_wrap.page-id-1177 .thanks-top-link .benefit-detail-link__text a,
	#body_wrap.error404 .thanks-top-link .benefit-detail-link__text,
	#body_wrap.error404 .thanks-top-link .benefit-detail-link__text a {
		font-size: 20px !important;
		white-space: nowrap !important;
	}
}
