@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@400;500;600;700&family=Oswald:wght@200;300;400;500;600;700&display=swap");



html {
	font-size: 16px;
	scroll-behavior: smooth;       /* アンカーをスムーススクロール */
	scroll-padding-top: 160px;     /* 固定ヘッダー＋少し余白の分、上にスペースを確保 */
}

body {
	color: #2F2924;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}

/* =========================================================
 * layout: 中央寄せコンテナ（幅違いはモディファイアで切替）
 * 既定 1240px / .l-inner--900 で 900px など
 * ======================================================= */
.l-inner {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding-left: 32px;
	padding-right: 32px;
}

.l-inner--900 {
	max-width: 900px;
}

/* SPでのみ表示する改行 */
.u-br-sp {
	display: none;
}

/* PC/SP 出し分け（インライン要素用） */
.u-sp {
	display: none;
}

.l-content__inner {
	padding-top: 56px;
	padding-bottom: 120px;
	background: #FDFDFB;
}

/* =========================================================
 * component: c-heading（英字ラベル＋日本語見出し）
 * ======================================================= */
.c-heading__en {
	display: block;
	margin-bottom: 16px;
	font-family: "Oswald", sans-serif;
	font-size: 24px;
	line-height: 1;
	letter-spacing: 4px;
	color: #D9BC7B;
	font-weight: 300;
}

.c-heading__main {
	font-size: 52px;
	line-height: 1.31; /* ≒68px（68 ÷ 52）。px固定でなく倍率指定 */
	font-weight: 800;
}

.c-heading__accent {
	color: #7A5F1E;
}


/* =========================================================
 * component: c-button（テキスト＋矢印）
 * ======================================================= */
.c-button {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	width: max-content;
}

/* 茶色（上下2色＋真下にベタ影） */
.c-button--brown {
	padding: 12px 26px;
	border-radius: 8px;
	color: #FFFFFF;
	font-size: 24px;
	background: linear-gradient(to bottom, #8C6D22 0%, #8C6D22 50%, #7A5F1E 50%, #7A5F1E 100%);
	box-shadow: 0 4px 0 #5B4510;
}

.c-button__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	top: 1px;
}


/* =========================================================
 * header（最低限：PC=ナビ表示 / SP=ハンバーガー＋資料請求）
 * 色・ドロワー展開時の見た目は別途調整する想定。
 * ======================================================= */
.l-header {
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 9999;
	background: #fff;
}

/* パンくず（ヘッダー直下・一緒に固定フロート） */
.l-breadcrumb {
	padding: 10px 36px;
	background: #fff;
	border-top: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
	font-size: 12px;
	line-height: 1.333; /* ≒16px（16 ÷ 12） */
}

.l-breadcrumb__list {
	display: flex;
	align-items: center;
	flex-wrap: nowrap; /* 1行に収める */
	gap: 8px;
	overflow: hidden;
}

/* HOME・区切りは縮まない */
.l-breadcrumb__item,
.l-breadcrumb__sep {
	flex-shrink: 0;
	white-space: nowrap;
}

/* カレント（現在ページ名）は縮んで…で省略 */
.l-breadcrumb__item--current {
	flex-shrink: 1;
	min-width: 0;
}

.l-breadcrumb__link {
	color: #333;
}

.l-breadcrumb__sep {
	color: #999;
}

.l-breadcrumb__current {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	color: #A77E14; /* アクセントカラー */
}

.l-header__inner {
	display: flex;
	align-items: center;
	padding: 15px 36px;
	justify-content: space-between;
}

.l-header__nav__wrap {
	margin-left: auto;  /* ナビを右側へ */
	margin-right: 24px; /* ナビとアクションの間隔 */
}

/* ドロワー内CTAはPCでは非表示（SPドロワーでのみ表示） */
.l-header__drawer-cta {
	display: none;
}

.l-header__menu {
	display: flex;
	gap: 24px;
	font-weight: 400;
}

/* ナビリンク：ホバーでアクセント色＋下線2pxがスッと出る */
.l-header__menu-link {
	position: relative;
	display: inline-block;
	transition: color .2s ease;
}

.l-header__menu-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 2px;
	background: #A77E14; /* アクセントカラー */
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .2s ease;
}

.l-header__menu-link:hover {
	color: #A77E14;
}

.l-header__menu-link:hover::after {
	transform: scaleX(1);
}

.l-header__actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.l-header__actions a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	text-align: center;
	border-radius: 9999px; /* 角丸（ピル形） */
}

/* 資料請求（上下2色＋真下にベタ影） */
.l-header__cta.l-header__cta--primary {
	padding: 7px;
	border-radius: 1000px;
	line-height: 1.125; /* ≒18px（18 ÷ 16） */
	color: #FFFFFF;
	/* 上半分 #F58A28 / 下半分 #F37321（境目はくっきり） */
	background: linear-gradient(to bottom, #F58A28 0%, #F58A28 50%, #F37321 50%, #F37321 100%);
	/* 真下に3pxずらしたベタ影（ぼかし・透過なし） */
	box-shadow: 0 3px 0 #C6550C;
}

/* 説明会申込（白地・緑枠） */
.l-header__cta.l-header__cta--secondary {
	padding: 7px;
	border: 1.5px solid #377858;
	border-radius: 1000px;
	background: #fff;
	color: #377858;
	line-height: 1.125; /* ≒18px（18 ÷ 16） */
	box-shadow: 0 3px 0 #075700; /* 真下に3px・ぼかしなしのベタ影 */
}

/* ハンバーガー本体（最低限の見た目だけ） */
.l-header__hamburger {
	display: none; /* PCでは非表示 */
	width: 28px;
	height: 20px;
}

.l-header__hamburger-bar {
	display: block;
	width: 100%;
	height: 2px;
	background: #2F2924;
}

.l-header__hamburger-bar + .l-header__hamburger-bar {
	margin-top: 7px;
}

/* ---- SP（768px以下） ---- */
/* ヘッダーのドロワー化はタブレットまで（戻す時は 1024px → 768px） */
@media (max-width: 1024px) {
	/* 説明会申込はSPでは出さない */
	.l-header__cta.l-header__cta--secondary {
		display: none;
	}

	/* ヘッダー内側の左右余白を縮小 */
	.l-header__inner {
		padding: 12px 16px;
	}

	p.l-header__logo {
		width: 94px;
	}

	/* ハンバーガー表示（資料請求の右隣に並ぶ） */
	.l-header__hamburger {
		display: block;
	}

	/* ===== ドロワーナビ ===== */
	.l-header__nav__wrap {
		position: fixed;
		top: var(--header-h, 60px);
		left: 0;
		width: 100%;
		height: calc(100dvh - var(--header-h, 60px));
		margin: 0;
		padding: 8px 24px 40px;
		background: #FCFBF7;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		z-index: 9990; /* ヘッダーバー(9999)より下 */
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
	}

	.l-header__nav__wrap.is-open {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	/* メニューは縦並び・区切り線 */
	.l-header__menu {
		flex-direction: column;
		gap: 0;
	}

	.l-header__menu-item {
		border-bottom: 1px solid #ECE5D5;
	}

	.l-header__menu-link {
		display: block;
		padding: 18px 4px;
		color: #2F2924;
		font-size: 17px;
		font-weight: 700;
	}

	/* ドロワーでは下線アニメは出さない */
	.l-header__menu-link::after {
		display: none;
	}

	.l-header__menu-link:hover {
		color: #A77E14;
	}

	/* ドロワー内CTA */
	.l-header__drawer-cta {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-top: 28px;
	}

	.l-header__drawer-button {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 16px;
		border-radius: 1000px;
		font-size: 16px;
		font-weight: 700;
	}

	.l-header__drawer-button--primary {
		background: linear-gradient(to bottom, #F58A28 0%, #F58A28 50%, #F37321 50%, #F37321 100%);
		color: #fff;
		box-shadow: 0 3px 0 #C6550C;
	}

	.l-header__drawer-button--secondary {
		border: 1.5px solid #377858;
		background: #fff;
		color: #377858;
		box-shadow: 0 3px 0 #075700;
	}

	/* ドロワー展開中は背景スクロールをロック */
	body.is-nav-open {
		overflow: hidden;
	}
}


/* =========================================================
 * TOP: FV
 * ======================================================= */
.p-top-fv {
	position: relative;
	width: 100%;
	background: #F8EFDA;
	padding: 80px 0 80px 56px;
}

.p-top-fv__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
	max-width: 100%; /* ここだけ1240で絞らず全幅 */
	padding-right: 0;
}

.p-top-fv__body {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 50%;
}

.p-top-fv__visual {
	width: calc(50% - 40px);
}

.p-top-fv__points {
	display: flex;
	gap: 14px;
}

.p-top-fv__point {
	width: calc((100% - 28px) / 3);
}

/* FV内の画像はブロック幅いっぱいに */
.p-top-fv picture,
.p-top-fv picture img {
	display: block;
	width: 100%;
}

.p-top-fv picture img {
	object-fit: contain;
}

.p-top-fv__cta {
	position: absolute;
	left: 50%;
	bottom: -14px;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
}

.p-top-fv__cta-button {
	display: block;
	width: max-content;
	padding: 16px 40px;
	border-radius: 1000px;
	font-size: 24px;
}

/* 説明会の申込はこちら（白地・緑枠） */
.p-top-fv__cta-button--secondary {
	border: 1.5px solid #377858;
	background: #fff;
	color: #377858;
	font-weight: 700;
	box-shadow: 0 4px 0 #075700; /* 真下に4px・ぼかしなしのベタ影 */
}

/* 今すぐ無料で資料請求する（上下2色＋真下にベタ影） */
.p-top-fv__cta-button--primary {
	color: #FFFFFF;
	background: linear-gradient(to bottom, #F58A28 0%, #F58A28 50%, #F37321 50%, #F37321 100%);
	box-shadow: 0 4px 0 #C6550C; /* 真下に4px・ぼかしなしのベタ影 */
}


/* =========================================================
 * TOP: バナー
 * ======================================================= */
.p-top-banner {
	padding: 72px 0 40px;
	background: #E4F1ED;
}

/* 画像は最大900px・PC/SP共通（出し分けなし） */
.p-top-banner__img {
	display: block;
	width: 100%;
}

/* バナー内のCTA（SPでのみ表示。PCはFV側に出す） */
.p-top-banner__cta {
	display: none;
}


/* =========================================================
 * TOP: CONCEPT
 * ======================================================= */
/* 外側＝背景色用（全幅）。中身は __intro-inner / __about-inner の l-inner で1240に */
.p-top-concept__intro {
	position: relative;
	background: #FFFFFF; /* TODO: introの背景色 */
}

/* 下端から上に向かって白くなるグラデ（高さ100px・全幅） */
.p-top-concept__intro::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100px;
	background: linear-gradient(to top, #F8EFDA 0%, #FFFFFF 100%);
}

.p-top-concept__about {
	background: #F6EFDD;
	padding-top: 80px;
	padding-bottom: 80px;
}

/* 中身は中央寄せ（「詳しく見る」ボタンも中央に） */
.p-top-concept__about-inner {
	text-align: center;
}

.p-top-concept__about-title {
	font-size: 52px;
	line-height: 1.31; /* ≒68px（68 ÷ 52）。倍率指定 */
	text-align: center;
	color: #7A5F1E;
	font-weight: 800;
}

/* 1個目（買取ビジネスとは？）下16px / 2個目（なぜ今〜）下48px */
.p-top-concept__about-title:nth-of-type(1) {
	margin-bottom: 16px;
}

.p-top-concept__about-title:nth-of-type(2) {
	margin-bottom: 48px;
}

.p-top-concept__about-inner.l-inner > p {
	margin-bottom: 72px;
	color: #555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
	text-align: center;
}

.p-top-concept__reasons {
	display: flex;
	gap: 32px;
	margin-bottom: 48px;
}

/* 各理由は白い正円（1:1）。中身を上下左右センター */
.p-top-concept__reason {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: calc((100% - 64px) / 3);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #fff;
}

.p-top-concept__reason-icon {
	display: block;
	width: 100%;
	max-width: 80px;
	margin-bottom: 14px;
}

.p-top-concept__reason-title {
	margin-bottom: 8px;
	font-size: 28px;
	line-height: 1.43; /* ≒40px（40 ÷ 28） */
	font-weight: 700;
	color: #7A5F1E;
	text-align: center;
}

.p-top-concept__reason-text {
	width: 100%;
	max-width: 250px;
	font-size: 16px;
	line-height: 1.75; /* 28 ÷ 16 */
	font-weight: 400;
	text-align: center;
}

.p-top-concept__intro-inner {
	display: flex;
	align-items: flex-end;
	gap: 60px;
	padding-top: 80px;
	padding-bottom: 120px;
}

.p-top-concept__text {
	width: calc(675 / 1240 * 100%); /* 1240に対する675px */
}

.p-top-concept__text > p {
	margin-top: 16px;
	color: #555555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

.p-top-concept__image {
	width: calc(500 / 1240 * 100%); /* 1240に対する500px */
}
.p-top-concept__image img {
	display: block;
	width: 100%;
	object-fit: contain;
	border-radius: 10px;
}


/* =========================================================
 * TOP: ADVANTAGE
 * ======================================================= */
.p-top-advantage {
	background: #FCFBF7;
	padding: 80px 0 148px;
}

/* 見出しは中央寄せ */
.p-top-advantage__inner > .c-heading {
	text-align: center;
}

/* リード文 */
.p-top-advantage__lead {
	margin-bottom: 40px;
	color: #555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
	text-align: center;
}

.p-top-advantage__list {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	max-width: 1090px;
	margin-left: auto;
	margin-right: auto;
}

/* 「詳しく見る」ボタンを中央寄せ（advantage内のみ） */
.p-top-advantage__inner > .c-button--brown {
	display: flex;
	margin-inline: auto;
	margin-top: 40px;
}

/* 事業の失敗と成功（下線付きテキストリンク） */
.p-top-advantage__link {
	display: block;
	width: max-content;
	margin: 18px auto 0;
	color: #7A5F1E;
	font-size: 18px;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.p-top-advantage__item {
	display: flex;
	flex-direction: column;
	width: calc((100% - 28px) / 3);
	border: 1.5px solid #a87f14;
	border-radius: 8px;
	overflow: hidden;
}

.p-top-advantage__item-head {
	display: flex;
	align-items: center;
	padding: 16px;
	gap: 10px;
}

.p-top-advantage__item-title {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.p-top-advantage__item-sub {
	display: block;
	font-size: 16px;
	line-height: 1.5; /* 24 ÷ 16 */
}

.p-top-advantage__item-main {
	display: block;
	font-size: 20px;
	line-height: 1.17; /* ≒28px（28 ÷ 24） */
	font-weight: 700;
	color: #A77E14;
}

/* 番号バッジ：48px正円・白文字・背景#A77E14 */
.p-top-advantage__num {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	color: #fff;
	font-size: 18px;
	background: #A77E14;
}

/* 画像エリアがカードの残り高さを埋め、下に白余白が出ないようにする */
.p-top-advantage__item-image {
	flex: 1 1 auto;
	min-height: 0;
}

.p-top-advantage__item-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* =========================================================
 * TOP: WORRY
 * ======================================================= */
.p-top-worry {
	position: relative;
	margin-top: -48px;
	background: #E4F1ED;
	padding-top: 80px;
	padding-bottom: 80px;
	border-radius: 48px 48px 0 0;
}


h2.p-top-worry__title {
	font-size: 52px;
	line-height: 1.31; /* ≒68px（68 ÷ 52） */
	text-align: center;
	font-weight: 700;
	margin-bottom: 8px;
}

h3.p-top-worry__subtitle {
	font-size: 32px;
	line-height: 1.5; /* 48 ÷ 32 */
	text-align: center;
	color: #377858;
	font-weight: 700;
}

.p-top-worry__list {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: center;
	margin-top: 40px;
}

.p-top-worry__item {
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc((100% - 48px) / 3); /* 3カラム（gap 24px × 2） */
	padding: 22px;
	border: 1.5px solid #88B8A1;
	border-radius: 10px;
	background: #fff;
}

.p-top-worry__item-head {
	position: relative;
	display: flex;
	gap: 14px;
	align-items: center;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid #88B8A1;
}

/* 下向きの矢印（arrows-down.svg） */
.p-top-worry__item-head::before {
	content: "";
	position: absolute;
	bottom: -11px;
	left: 50%;
	width: 49px;
	height: 14px;
	background: url(../images/top/arrows-down.svg) no-repeat center center;
	background-size: contain;
	transform: translateX(-50%);
}

h4.p-top-worry__item-title {
	color: #377858;
	font-weight: 700;
	line-height: 1.375; /* ≒22px（22 ÷ 16） */
}

p.p-top-worry__item-text {
	font-size: 18px;
	line-height: 1.44; /* ≒26px（26 ÷ 18） */
	color: #555;
	font-weight: 400;
}

/* =========================================================
 * TOP: STORY
 * ======================================================= */
.p-top-story {
	position: relative;
	padding-top: 80px;
	padding-bottom: 80px;
}

/* 下部の白→緑グラデ（70%） */
.p-top-story::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100px;
	background: linear-gradient(to bottom, #FFFFFF 0%, #E4F1ED 100%);
	opacity: .7;
}

.p-top-story__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	gap: 60px;
}

.p-top-story__body {
	width: calc(730 / 1240 * 100%); /* 1240に対する730px */
}

.p-top-story__visual {
	width: calc(453 / 1240 * 100%); /* 1240に対する453px */
}

.p-top-story__visual img {
	display: block;
	width: 100%;
	object-fit: contain;
	border-radius: 8px;
}

.p-top-story .c-heading__main {
	font-size: 24px;
}

.p-top-story__text {
	margin-top: 20px;
}

.p-top-story__text p {
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 24px;
}

.p-top-story__text p:last-child {
	margin-bottom: 0;
}

h3.p-top-story__catch {
	font-size: 24px;
	margin-bottom: 24px;
	color: #7a5f1e;
	font-weight: 700;
}

/* =========================================================
 * TOP: WORK STYLE
 * ======================================================= */
.p-top-workstyle {
	background: hwb(162deg 89% 5% / 70%);
	padding-top: 80px;
	padding-bottom: 80px;
}

/* 見出し・リード文は中央寄せ */
.p-top-workstyle .c-heading {
	text-align: center;
}

.p-top-workstyle__lead {
	text-align: center;
}

p.p-top-workstyle__lead {
	margin-top: 8px;
	color: #555;
	font-weight: 400;
	font-size: 16px;
	line-height: 2;
}

.p-top-workstyle__list {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	margin-top: 48px;
}

.p-top-workstyle__item {
	width: calc((100% - 80px) / 3); /* 3カラム（gap 40px × 2） */
}

.p-top-workstyle__item img {
	display: block;
	width: 100%;
	object-fit: contain;
	border-radius: 8px;
	margin-bottom: 16px;
}

h3.p-top-workstyle__item-title {
	font-size: 24px;
	line-height: 1.33; /* ≒32px（32 ÷ 24） */
	padding-bottom: 12px;
	border-bottom: 1px solid #377858;
	margin-bottom: 12px;
	color: #377858;
}

p.p-top-workstyle__item-text {
	font-size: 16px;
	line-height: 2;
	color: #555;
	font-weight: 400;
}

a.p-top-workstyle__more {
	margin-top: 16px;
	display: block;
	color: #7a5f1e;
	font-size: 14px;
}

/* =========================================================
 * TOP: SUPPORT
 * ======================================================= */
.p-top-support {
	padding-top: 80px;
	padding-bottom: 80px;
}

/* 見出し・リード文は中央寄せ */
.p-top-support .c-heading {
	text-align: center;
}

p.p-top-support__lead {
	margin-top: 8px;
	color: #555;
	font-weight: 400;
	text-align: center;
}

.p-top-support__list {
	display: flex;
	gap: 32px;
	margin-top: 40px;
}

.p-top-support__item {
	display: flex;
	flex-direction: column;
	padding: 24px;
	border-radius: 8px;
	border: 1.5px solid #D9BC7B;
	background: #FCFBF7;
}

h2.p-top-support__item-title {
	font-size: 32px;
	line-height: 1.5; /* 48 ÷ 32 */
	color: #7a5f1e;
	margin-bottom: 8px;
	font-weight: 800;
}

p.p-top-support__item-text {
	font-size: 16px;
	line-height: 2; /* 32 ÷ 16 */
	color: #555;
	margin-bottom: 16px;
}

a.p-top-support__more {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 16px 24px;
	border-radius: 8px;
	background: #7a5f1e;
	color: #fff;
	margin-top: 16px;
	line-height: 1.2; /* ≒24px（24 ÷ 20） */
	font-size: 20px;
}

/* =========================================================
 * TOP: FLOW
 * ======================================================= */
.p-top-flow {
	padding-top: 80px;
	padding-bottom: 80px;
	background: #F6EFDD;
	border-radius: 48px 48px 0 0;
}

/* 見出しは中央寄せ・見出しの色はここだけ茶色 */
.p-top-flow .c-heading {
	text-align: center;
}

.p-top-flow .c-heading__main {
	color: #7A5F1E;
}

p.p-top-flow__lead {
	font-size: 16px;
	line-height: 2; /* 32 ÷ 16 */
	color: #555;
	text-align: center;
}

.p-top-flow__list {
	display: flex;
	justify-content: space-between;
	margin-top: 48px;
	margin-bottom: 40px;
}

.p-top-flow__step,
.p-top-flow__goal {
	width: calc((100% - 200px) / 5);
	border: 2px solid #D9BC7B;
	border-radius: 16px;
}

.p-top-flow__step {
	background: #FFFFFF;
}

.p-top-flow__goal {
	background: #D9BC7B;
}

/* 「開業の流れを詳しく見る」ボタンを中央寄せ */
.p-top-flow .c-button--brown {
	display: flex;
	margin-inline: auto;
}

/* =========================================================
 * TOP: COLUMN
 * ======================================================= */
.p-top-column {
	padding-top: 80px;
	padding-bottom: 80px;
}

.p-top-column__list {
	display: flex;
	gap: 16px;
	margin-top: 40px;
}

.p-top-column__item {
	width: calc((100% - 32px) / 3); /* 3カラム（gap 16px × 2） */
}

a.p-top-column__more {
	display: block;
	width: max-content;
	max-width: 100%;
	margin-top: 40px;
	margin-left: auto;
	margin-right: 0;
	color: #A77E14;
	font-size: 18px;
	line-height: 1.33; /* ≒24px（24 ÷ 18） */
}

.p-top-column__coming-soon {
	margin-top: 40px;
	text-align: center;
	color: #A77E14;
	font-family: "Oswald", sans-serif;
	font-size: 28px;
	line-height: 1.4;
	letter-spacing: 4px;
	font-weight: 500;
}

/* =========================================================
 * 下層ページ共通: ページヘッダー（5パターン）
 * en/ja タイトルは共通パーツ template-parts/page-head.php で出力
 * ======================================================= */
.under-page-header__en {
	display: block;
	font-family: "Oswald", sans-serif;
	font-weight: 300;
	letter-spacing: 4px;
	text-transform: uppercase; /* 英字は常に大文字表示 */
}

.under-page-header__ja {
	display: block;
}

/* パターン1〜3は上余白120px（固定ヘッダー分）・下余白40px */
.patern01,
.patern02,
.patern03 {
	padding-top: 140px;
	padding-bottom: 40px;
}

/* ---- パターン1・2 共通のタイポグラフィ（大枠は同じ） ----
 * 1: ADVANTAGE / OPENING FLOW & BACKUP / WORK STYLE
 * 2: 上記＋背景写真（head-bg-pt2）
 */
.patern01 .under-page-header__en,
.patern02 .under-page-header__en {
	margin-bottom: 14px;
	color: #A77E14;
	font-size: 24px;
	line-height: 1;
}

.patern01 .under-page-header__ja,
.patern02 .under-page-header__ja {
	font-size: 52px;
	line-height: 1.31; /* ≒68px（68 ÷ 52） */
	font-weight: 800;
}

.patern01 .under-page-header__lead,
.patern02 .under-page-header__lead {
	margin-top: 8px;
	color: #555;
	font-size: 16px;
	line-height: 2; /* 32 ÷ 16 */
}

/* ---- パターン2: 背景写真を一律で敷く ---- */
.patern02 {
	background: url(../images/common/head-bg-pt2.webp) no-repeat center center;
	background-size: cover;
}

@media (max-width: 767px) {
	.patern02 {
		background-image: url(../images/common/head-bg-pt2-sp.webp);
	}
}

/* ---- advantageページの head 個別背景（pattern01 を上書きせず追加） ---- */
.under-page-header--advantage {
	background: url(../images/common/bg-advantage.webp) no-repeat center center;
	background-size: cover;
}

@media (max-width: 767px) {
	.under-page-header--advantage {
		background-image: url(../images/common/bg-advantage-sp.webp);
	}
}

/* ---- opening-flow-backup ページの head 個別背景 ---- */
.under-page-header--opening-flow-backup {
	background: url(../images/common/opening-flow-backup-pc.webp) no-repeat center center;
	background-size: cover;
}

@media (max-width: 767px) {
	.under-page-header--opening-flow-backup {
		background-image: url(../images/common/opening-flow-backup-sp.webp);
	}
}

/* ---- work-style ページの head 個別背景 ---- */
.under-page-header--work-style {
	background: url(../images/common/workstyle-bg-pc.webp) no-repeat center center;
	background-size: cover;
}

@media (max-width: 767px) {
	.under-page-header--work-style {
		background-image: url(../images/common/workstyle-bg-sp.webp);
	}
}

/* ---- パターン3: パターン1/2と同じタイポ＋中央揃え ---- */
.patern03 .under-page-header__en {
	margin-bottom: 14px;
	color: #A77E14;
	font-size: 24px;
	line-height: 1;
}

.patern03 .under-page-header__ja {
	font-size: 52px;
	line-height: 1.31; /* ≒68px（68 ÷ 52） */
	font-weight: 800;
}

.patern03 .under-page-header__lead {
	margin-top: 8px;
	color: #555;
	font-size: 16px;
	line-height: 2; /* 32 ÷ 16 */
}

.patern03 {
	text-align: center;
	/* 共通ヘッド パターン3 背景（PC） */
	background: url(../images/common/pt03-pc.webp) no-repeat center center;
	background-size: cover;
}

@media (max-width: 767px) {
	.patern03 {
		background-image: url(../images/common/pt03-sp.webp);
	}
}

/* ---- パターン4（仕様待ち） ---- */
.patern04 {}

/* ---- パターン5（仕様待ち） ---- */
.patern05 {}


p.l-header__logo {
    width: 120px;
}

p.l-header__logo img{
    width: 100%;
	object-fit: contain;
	object-position: center;
}

/* =========================================================
 * CTA
 * ======================================================= */
.p-cta {
	background: url(../images/top/cta-bg-pc.webp) no-repeat center center;
	background-size: cover;
	padding-top: 48px;
	padding-bottom: 48px;
}

h2.p-cta__title {
	font-size: 52px;
	line-height: 1.31; /* ≒68px（68 ÷ 52） */
	text-align: center;
	color: #fff;
	margin-bottom: 8px;
}

p.p-cta__text {
	font-size: 16px;
	text-align: center;
	color: #fff;
	opacity: .8;
	line-height: 2;
	margin-bottom: 24px;
}

.p-cta__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
}

.p-cta__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 264px;
	height: 64px;
	border-radius: 1000px;
	font-size: 24px;
	font-weight: 500;
}

/* 資料請求（上下2色＋真下にベタ影） */
.p-cta__button--primary {
	color: #FFFFFF;
	background: linear-gradient(to bottom, #F58A28 0%, #F58A28 50%, #F37321 50%, #F37321 100%);
	box-shadow: 0 4px 0 #C6550C; /* 真下に4px・ぼかしなしのベタ影 */
}

/* 説明会に申し込む（白地・緑枠） */
.p-cta__button--secondary {
	border: 1.5px solid #377858;
	background: #fff;
	color: #377858;
	box-shadow: 0 4px 0 #075700; /* 真下に4px・ぼかしなしのベタ影 */
}


/* =========================================================
 * ボタン共通: ホバーで影の分だけ押し込まれるアニメーション
 * ======================================================= */
.c-button--brown,
.l-header__cta--primary,
.l-header__cta--secondary,
.p-top-fv__cta-button--primary,
.p-top-fv__cta-button--secondary,
.p-cta__button--primary,
.p-cta__button--secondary {
	transition: transform .1s ease, box-shadow .1s ease;
}

/* 4pxのベタ影グループ → 4px沈めて影を消す */
.c-button--brown:hover,
.p-top-fv__cta-button--primary:hover,
.p-top-fv__cta-button--secondary:hover,
.p-cta__button--primary:hover,
.p-cta__button--secondary:hover {
	transform: translateY(4px);
	box-shadow: 0 0 0 transparent;
}

/* 3pxのベタ影グループ（ヘッダー） → 3px沈めて影を消す */
.l-header__cta--primary:hover,
.l-header__cta--secondary:hover {
	transform: translateY(3px);
	box-shadow: 0 0 0 transparent;
}

/* =========================================================
 * SITEMAP
 * ======================================================= */
.p-sitemap__inner {
	width: 100%;
	max-width: 1100px;
	margin-inline: auto;
	padding-top: 120px;
	padding-bottom: 120px;
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* PC: 2カラム3列 */
	gap: 80px;
}

.p-sitemap__group-title {
	padding-bottom: 16px;
	border-bottom: 1px solid #D9BC7B;
	font-size: 24px;
	font-weight: 700;
	color: #A77E14; /* アクセントカラー */
}

.p-sitemap__list {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.p-sitemap__item a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #333;
	font-size: 16px;
	transition: color .2s ease;
}

.p-sitemap__item a:hover {
	color: #A77E14; /* アクセントカラー */
	text-decoration: underline;
}

/* 行頭の三角 */
.p-sitemap__item a::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 7px;
	border-color: transparent transparent transparent #7a5f1e;
}

@media (max-width: 767px) {
	.p-sitemap__inner {
		grid-template-columns: 1fr; /* SP: 縦組 */
		gap: 60px;
		padding-left: 24px;
		padding-right: 24px;
	}
}

/* =========================================================
 * PRIVACY POLICY 本文
 * ======================================================= */
.l-content.p-privacy-policy {
	padding-top: 100px;
	padding-bottom: 100px;
	background: #FDFCF8;
}

.p-privacy-policy__body {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
	padding: 40px;
	border: 1px solid #ECDDBD;
	border-radius: 8px;
	background: #fff;
	/* 長いURLなどを折り返す */
	overflow-wrap: anywhere;
	word-break: break-word;
}

.p-privacy-policy__body h2 {
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid #7A5F1E;
	color: #7A5F1E;
	font-size: 24px;
	line-height: 1.75; /* ≒42px（42 ÷ 24） */
}

.p-privacy-policy__body h3 {
	margin-top: 20px;
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 1.875; /* ≒30px（30 ÷ 16） */
}

.p-privacy-policy__body p {
	margin-bottom: 24px;
	font-size: 14px;
	line-height: 2; /* 28 ÷ 14 */
	font-weight: 400;
}

/* 直後がテーブルの段落は下余白を狭める */
.p-privacy-policy__body p:has(+ table) {
	margin-bottom: 12px;
}

.p-privacy-policy__body ul li {
	font-size: 14px;
	line-height: 2; /* 28 ÷ 14 */
}

/* テーブル */
.p-privacy-policy__body table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #ECDDBD;
	margin-bottom: 24px;
}

.p-privacy-policy__body th,
.p-privacy-policy__body td {
	padding: 12px 16px;
	border: 1px solid #ECDDBD;
	font-size: 14px;
	line-height: 2; /* 28 ÷ 14 */
	text-align: left;
	vertical-align: top;
}

.p-privacy-policy__body th {
	width: 300px;
	background: #F6EFDD;
	color: #7A5F1E;
	font-weight: 700;
	vertical-align: middle;
}

.p-privacy-policy__body td {
	font-weight: 400;
}

.p-privacy-policy__body p.align-right {
	text-align: right;
}

/* =========================================================
 * FAQ（アコーディオン）— .p-faq 配下にスコープ
 * ======================================================= */
.l-content.p-faq {
	padding-top: 80px;
	padding-bottom: 120px;
}

.p-faq .p-faq__list {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
}

.p-faq .p-faq__item {
	border-bottom: 1px solid #E2E2E2;
}

.p-faq .p-faq__question {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 32px 0px;
	background: none;
	text-align: left;
	cursor: pointer;
}

.p-faq .p-faq__q-icon,
.p-faq .p-faq__a-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 1000000000px;
	color: #fff;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

.p-faq .p-faq__q-icon {
	background: #377858;
}

.p-faq .p-faq__a-icon {
	background: #D9BC7B;
}

.p-faq .p-faq__q-text {
	flex: 1;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 700;
}

/* 開閉アイコン（＋ ⇄ −） */
.p-faq .p-faq__toggle {
	position: relative;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

.p-faq .p-faq__toggle::before,
.p-faq .p-faq__toggle::after {
	content: "";
	position: absolute;
	background: #377858; /* 緑 */
}

.p-faq .p-faq__toggle::before {
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	transform: translateY(-50%);
}

.p-faq .p-faq__toggle::after {
	top: 0;
	left: 50%;
	width: 2px;
	height: 100%;
	transform: translateX(-50%) rotate(0);
	transition: transform .3s ease; /* 回転しながら ＋→− */
}

.p-faq .p-faq__item.is-open .p-faq__toggle::after {
	transform: translateX(-50%) rotate(90deg); /* 縦棒が回って横棒に重なり − に */
}

/* 回答（初期は非表示、JSでslideToggle） */
.p-faq .p-faq__answer {
	display: none;
}

.p-faq .p-faq__answer-inner {
	display: flex;
	gap: 16px;
	padding: 0 0 32px;
}

.p-faq .p-faq__a-text {
	flex: 1;
	font-size: 14px;
	line-height: 2;
	color: #555;
}
/* =========================================================
 * CPTアーカイブ共通（NEWS / COLUMN）— .p-archive 配下（1120px）
 * ======================================================= */
.p-archive__inner {
	width: 100%;
	max-width: 1120px;
	margin-inline: auto;
	padding-top: 80px;
	padding-bottom: 120px;
}

/* 絞り込みタグ */
.p-archive__filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 32px;
}

.p-archive__filter-link {
	display: inline-flex;
	align-items: center;
	padding: 6px 18px;
	border-radius: 1000px;
	background: #F2E8CF;
	color: #7A5F1E;
	font-size: 14px;
	line-height: 1.6;
	transition: background .2s ease, color .2s ease;
}

.p-archive__filter-link:hover,
.p-archive__filter-link.is-current {
	background: #7A5F1E;
	color: #fff;
}

/* 記事リスト */
.p-archive__item {
	border-bottom: 1px solid #E2E2E2;
}

.p-archive__link {
	display: flex;
	align-items: center;
	padding: 16px 0;
	color: #333;
	transition: color .2s ease;
}

.p-archive__link:hover {
	color: #A77E14;
}

.p-archive__date {
	display: inline-block;
	margin-right: 16px;
	color: #A77E14; /* アクセントカラー */
	font-size: 14px;
	line-height: 1.6;
}

.p-archive__tags {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	vertical-align: middle;
	margin-right: 40px;
}

.p-archive__tag {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 1000px;
	background: #F6EFDD;
	color: #7A5F1E;
	font-size: 14px;
	line-height: 1.6;
}

.p-archive__title {
	margin-top: 0;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400;
}

/* ページネーション */
.p-archive__pagination {
	margin-top: 48px;
}

.p-archive__pagination .nav-links {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

.p-archive__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	border: 1px solid #D9BC7B;
	border-radius: 6px;
	color: #7A5F1E;
	font-size: 14px;
}

.p-archive__pagination .page-numbers.current,
.p-archive__pagination .page-numbers:hover {
	background: #7A5F1E;
	color: #fff;
}

.p-archive__empty {
	font-size: 16px;
	color: #555;
}

/* =========================================================
 * オーナーレポート 一覧（owner_report）— .p-owner-report 配下
 * ※他CPTとは独立したデザイン
 * ======================================================= */
.p-owner-report__inner {
	width: 100%;
	max-width: 1120px;
	margin-inline: auto;
	padding-top: 80px;
	padding-bottom: 100px;
}

/* 絞り込み（アウトラインのピル） */
.p-owner-report__filter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 32px;
}

.p-owner-report__filter-link {
	display: inline-flex;
	align-items: center;
	padding: 8px 24px;
	border: 1.5px solid #D9BC7B;
	border-radius: 1000px;
	background: #fff;
	color: #7A5F1E;
	font-size: 14px;
	line-height: 1.6;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.p-owner-report__filter-link:hover,
.p-owner-report__filter-link.is-current {
	background: #7A5F1E;
	border-color: #7A5F1E;
	color: #fff;
}

/* カードリスト（2カラム） */
.p-owner-report__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.p-owner-report__card {
	display: block;
	height: 100%;
	padding: 28px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 0px 10px 0 rgba(187, 178, 158, 0.18);
	transition: box-shadow .2s ease, transform .2s ease;
}

.p-owner-report__card:hover {
	box-shadow: 0 8px 24px 0 rgba(187, 178, 158, 0.4);
	transform: translateY(-3px);
}

.p-owner-report__card-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 8px;
}

.p-owner-report__card-name {
	color: #2F2924;
	font-size: 20px;
	line-height: 1.4; /* ≒28px（28 ÷ 20） */
	font-weight: 700;
}

.p-owner-report__card-type {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 1000px;
	background: rgba(246, 239, 221, 0.6); /* #F6EFDD 60% */
	color: #A77E14;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
}

.p-owner-report__card-sub {
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #7A5F1E;
	color: #999;
	font-size: 13px;
	line-height: 1.6;
	font-weight: 400;
}

.p-owner-report__card-catch {
	margin-bottom: 12px;
	color: #2F2924;
	font-size: 18px;
	line-height: 1.6; /* ≒29px（29 ÷ 18） */
	font-weight: 700;
}

.p-owner-report__card-desc {
	margin-bottom: 20px;
	color: #666;
	font-size: 14px;
	line-height: 1.9; /* ≒27px（27 ÷ 14） */
	font-weight: 400;
}

/* 背景・実績ボックス */
.p-owner-report__facts {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px 18px;
	background: #E4F1ED;
	border-radius: 8px;
}

.p-owner-report__fact {
	display: flex;
	align-items: center;
	gap: 12px;
}

.p-owner-report__fact-label {
	flex-shrink: 0;
	padding: 2px 8px;
	border-radius: 4px;
	background: #377858;
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
}

.p-owner-report__fact-value {
	color: #555;
	font-size: 16px;
	line-height: 1.7;
	font-weight: 400;
}

/* 記事0件時の COMING SOON 表示 */
.p-owner-report__coming-soon {
	padding: 120px 0;
	text-align: center;
	color: #A99B7C;
	font-family: "Oswald", sans-serif;
	font-size: 32px;
	line-height: 1.4;
	letter-spacing: 4px;
	font-weight: 400;
}

/* ページネーション */
.p-owner-report__pagination {
	margin-top: 48px;
}

.p-owner-report__pagination .nav-links {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

.p-owner-report__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	border: 1px solid #D9BC7B;
	border-radius: 6px;
	color: #7A5F1E;
	font-size: 14px;
}

.p-owner-report__pagination .page-numbers.current,
.p-owner-report__pagination .page-numbers:hover {
	background: #7A5F1E;
	color: #fff;
}

/* ====================== SP ====================== */
@media screen and (max-width: 768px) {
	.p-owner-report__inner {
		padding-top: 48px;
		padding-bottom: 72px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.p-owner-report__filter {
		gap: 8px;
		margin-bottom: 24px;
	}

	.p-owner-report__list {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.p-owner-report__card {
		padding: 24px 20px;
	}

	.p-owner-report__card-name {
		font-size: 18px;
	}

	.p-owner-report__card-catch {
		font-size: 16px;
	}

	.p-owner-report__card-desc {
		font-size: 13px;
	}

	.p-owner-report__fact-label,
	.p-owner-report__fact-value {
		font-size: 14px;
	}
}

/* =========================================================
 * CPT詳細共通（NEWS / COLUMN）— .p-post-single 配下（800px）
 * ======================================================= */
.l-content.p-post-single {
	padding-top: 180px;
	padding-bottom: 120px;
}

.p-post-single__inner {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
}

.p-post-single__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 12px;
}

.p-post-single__date {
	color: #7A5F1E;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	line-height: 1.6;
}

.p-post-single__tags {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
}

.p-post-single__tag {
	display: inline-flex;
	align-items: center;
	padding: 2px 12px;
	border-radius: 1000px;
	background: #F6EFDD;
	color: #7A5F1E;
	font-size: 12px;
	line-height: 1.6;
}

.p-post-single__title {
	padding-bottom: 24px;
	margin-bottom: 32px;
	font-size: 32px;
	line-height: 1.5;
	font-weight: 800;
}

.p-post-single__body {
	font-size: 16px;
	line-height: 2;
	color: #333;
}

.p-post-single__back {
	margin-top: 64px;
	text-align: center;
}

/* 見た目は c-button--brown を流用。最小幅と中央寄せだけ補う */
.p-post-single__back-link {
	min-width: 240px;
	justify-content: center;
	font-weight: 700;
}

/* 矢印を文字の左に・画像を左右反転（arrow-right.svg を左向きに） */
.c-button__arrow--left img {
	transform: scaleX(-1);
}

/* =========================================================
 * SUPPORT TEAM メンバー — .p-support-team 配下にスコープ
 * ======================================================= */
.p-support-team .p-support-team__members {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
}

.p-support-team .p-support-team__list {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.p-support-team .p-support-team__member {
	padding: 32px;
	border: 2px solid #ECDDBD;
	border-radius: 10px;
	background: #fff;
}

/* =========================================================
 * ADVANTAGE レイアウト（サイドナビ＋本文）— .p-advantage 配下
 * ======================================================= */
.l-content.p-advantage {
	padding-top: 56px;
	padding-bottom: 120px;
	background: linear-gradient(to bottom, #FCFBF7 0%, #fff 100%);
}

.l-content__inner.p-advantage__inner {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	gap: 40px;
}

.p-advantage__nav {
	width: 300px;
	flex-shrink: 0;
	position: sticky;
	top: 170px; /* 固定ヘッダー＋パンくず＋上部余白40px */
	align-self: flex-start; /* 高さを内容分にしてsticky追従させる */
}

.p-advantage__main {
	width: calc(100% - 300px - 40px);
}

/* 1100px未満: サイドナビ非表示・本文を中央寄せで全幅 */
@media (max-width: 1100px) {
	.l-content__inner.p-advantage__inner {
		justify-content: center;
	}

	.p-advantage__nav {
		display: none;
	}

	.p-advantage__main {
		width: 100%;
	}
}

/* ---- ADVANTAGE: strength 見出し・画像 ---- */
.p-advantage__strength-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.p-advantage__strength-en {
	display: block;
	margin-bottom: 8px;
	color: #A77E14;
	font-size: 16px;
	line-height: 1.375; /* ≒22px（22 ÷ 16） */
}

.p-advantage__strength-ja {
	color: #7A5F1E;
	font-size: 40px;
	line-height: 1.4; /* ≒56px（56 ÷ 40） */
	font-weight: 700;
}

.p-advantage__strength-image {
	width: 270px;
	border-radius: 8px;
}

.p-advantage__strength-text {
	color: #555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

.p-advantage__strength-note {
    color: #555;
    font-size: 12px;
    line-height: 1.5;
    margin-top: 8px;
    display: block;
}

/* ---- ADVANTAGE: 特徴リスト（2col / 3col） ---- */
.p-advantage__feature-list {
	margin-top: 36px;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

.p-advantage__feature-list--3col .p-advantage__feature {
	width: calc((100% - 16px - 16px) / 3);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 12px;
	background: #fff;
	border: 1.5px solid #D9BC7B;
	border-radius: 8px;
}

.p-advantage__feature-list--2col .p-advantage__feature {
	width: calc((100% - 16px) / 2);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 12px;
	background: #fff;
	border: 1.5px solid #D9BC7B;
	border-radius: 8px;
}

.p-advantage__feature-body {
	width: calc(100% - 80px);
}

/* strength セクション同士の余白 */
.p-advantage__strength + .p-advantage__strength {
	margin-top: 120px;
}

.p-advantage__feature-icon {
	width: 64px;
	height: 64px;
	object-fit: contain;
}

.p-advantage__feature-title {
	font-size: 20px;
	line-height: 1.4; /* ≒28px（28 ÷ 20） */
}

.p-advantage__feature-text {
	margin-top: 8px;
	color: #555;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 400;
}

/* 3colのときの余白調整 */
.p-advantage__feature-list--3col .p-advantage__feature-title {
	margin-top: 16px;
}

.p-advantage__feature-list--3col .p-advantage__feature-text {
	margin-top: 2px;
	width: 100%;
}

/* 3colはアイコンが上・本文が下の縦並びなので、本文を全幅に */
.p-advantage__feature-list--3col .p-advantage__feature-body {
	width: 100%;
}

.p-advantage__feature-list--3col .p-advantage__feature {
	text-align: center;
}

.p-advantage__strength-label {
	margin-top: 24px;
	padding: 14px 24px;
	background: #E4F1ED;
	border-left: 4px solid #377858;
	color: #377858;
	font-weight: 700;
	line-height: 1.5; /* ≒24px（24 ÷ 16） */
}

/* ---- ADVANTAGE: バイセルの優位性 ---- */
.p-advantage__merit {
	margin-top: 120px;
	padding: 48px 40px;
	background: #FDF0BE;
	border-radius: 32px;
}

.p-advantage__merit-title {
	font-size: 40px;
	line-height: 1.4; /* ≒56px（56 ÷ 40） */
	font-weight: 800;
}

.p-advantage__merit-sub {
	font-size: 16px;
	line-height: 2;
}

.p-advantage__merit-list {
	display: flex;
	flex-wrap: wrap;
	gap: 16px; /* calc((100% - 32px)/3) に合わせて3カラム */
}

.p-advantage__merit-item {
	width: calc((100% - 32px) / 3);
	padding: 22px 16px;
	background: #fff;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

.p-advantage__merit-title,
.p-advantage__merit-sub {
	text-align: center;
}

.p-advantage__merit-list {
	margin-top: 32px;
}

.p-advantage__merit-icon {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.p-advantage__merit-item-title {
	margin-top: 16px;
	margin-bottom: 8px;
	text-align: center;
	color: #7A5F1E;
	font-size: 20px;
	line-height: 1.4; /* ≒28px（28 ÷ 20） */
	font-weight: 700;
}

.p-advantage__merit-item-text {
	font-size: 14px;
	line-height: 2; /* ≒28px（28 ÷ 14） */
	font-weight: 400;
}

/* ---- ADVANTAGE: 主な取扱品目 ---- */
.p-advantage__items {
	margin-top: 52px;
	padding: 48px 40px;
	background: #F6EFDD;
	border-radius: 32px;
}

.p-advantage__items-title {
	margin-bottom: 2px;
	text-align: center;
	font-size: 40px;
	line-height: 1.4; /* ≒56px（56 ÷ 40） */
	font-weight: 700;
}

.p-advantage__items-sub {
	text-align: center;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

.p-advantage__items-list {
	margin-top: 26px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.p-advantage__items-item {
	width: calc((100% - (16px * 5)) / 6); /* 6カラム（gap 16px × 5） */
	padding: 12px;
	background: #FFFFFF;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.p-advantage__items-icon {
	width: 48px;
	height: 48px;
	object-fit: contain;
	margin-bottom: 4px;
}

.p-advantage__items-label {
	display: block;
	line-height: 1.8;
	font-weight: 700;
}

.p-advantage__items-note {
	margin-top: 24px;
	font-size: 14px;
}

.p-advantage__nav-item a {
	padding: 16px;
}

.p-advantage__nav-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 10000000px;
	background: #ECECEC; /* 非アクティブ */
	color: #555555;
}

/* アクティブ時のバッジ: 白背景・緑文字 */
.p-advantage__nav-link.is-active .p-advantage__nav-badge {
	background: #fff;
	color: #377858;
}

.p-advantage__nav-link {
	display: flex;
	align-items: center;
	gap: 16px;
}

.p-advantage__nav-badge-label {
	display: block;
	font-size: 14px;
}

.p-advantage__nav-badge-num {
	display: block;
	font-size: 18px;
}

.p-advantage__nav-list {
	border: 2px solid #377858;
	border-radius: 16px;
	overflow: hidden;
}

/* サイドナビ: スクロール連動アクティブ */
.p-advantage__nav-link.is-active {
	background: #377858;
	color: #fff;
}

.p-advantage__nav-item:not(:last-child) {
	border-bottom: 1px solid #CCCCCC;
}

/* ---- SUPPORT TEAM: メンバー見出し ---- */
.p-support-team .p-support-team__member-head {
	display: flex;
	align-items: center;
	gap: 16px;
}

.p-support-team .p-support-team__member-image {
	width: 200px;
}

.p-support-team .p-support-team__member-name {
	margin-bottom: 4px;
	font-size: 28px;
	font-weight: 700;
}

.p-support-team .p-support-team__member-role {
	display: block;
	color: #7A5F1E;
	font-size: 14px;
	line-height: 1.79; /* ≒25px（25 ÷ 14） */
}

.p-support-team .p-support-team__member-desc {
	color: #555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

.p-support-team .p-support-team__member-head {
	margin-bottom: 20px;
}

/* ---- SUPPORT TEAM: 見出し ---- */
.p-support-team .p-support-team__heading {
	margin-bottom: 40px;
}

.p-support-team .p-support-team__heading-en {
	display: block;
	margin-bottom: 8px;
	color: #D9BC7B;
	font-size: 16px;
	line-height: 1.375; /* ≒22px（22 ÷ 16） */
	font-weight: 400;
}

.p-support-team .p-support-team__heading-ja {
	display: block;
	color: #7A5F1E;
	font-size: 40px;
	line-height: 1.4; /* ≒56px（56 ÷ 40） */
	font-weight: 800;
}

/* =========================================================
 * COLUMN 詳細（single）— .p-column-single（共通ヘッドあり / 800px）
 * ======================================================= */
.p-column-single__inner {
	width: 100%;
	max-width: 1000px;
	margin-inline: auto;
	padding-top: 56px;
	padding-bottom: 120px;
}

.p-column-single__fv {
	margin-bottom: 24px;
}

.p-column-single__fv img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.p-column-single__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 16px;
}

.p-column-single__date {
	color: #7A5F1E;
	font-size: 16px;
	line-height: 1.6;
}

.p-column-single__tags {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
}

.p-column-single__tag {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 1000px;
	background: #F6EFDD;
	color: #7A5F1E;
	font-size: 12px;
	line-height: 1.6;
}

/* 記事の要約（アイコン＋テキスト、FV直下） */
.p-column-single__lead {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 40px;
	margin-bottom: 40px;
}

.p-column-single__lead-icon {
	flex-shrink: 0;
	width: 62px;
	height: 62px;
	object-fit: contain;
}

.p-column-single__summary {
	color: #377858;
	font-size: 18px;
	line-height: 1.44; /* ≒26px（26 ÷ 18） */
}

/* 目次（h2 自動取得・ページ内リンク） */
.p-column-single__toc {
	margin-bottom: 40px;
	padding: 32px;
	border: 1px solid #ECDDBD;
	border-radius: 10px;
	background: hsl(37deg 74% 30% / 5%);
}

.p-column-single__toc-title {
	position: relative;
	margin-bottom: 20px;
	padding-left: 16px;
	font-size: 20px;
	font-weight: 700;
}

.p-column-single__toc-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	border-radius: 100000000px;
	background: #7A5F1E;
}

.p-column-single__toc-list {
	counter-reset: toc;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.p-column-single__toc-link {
	display: inline-flex;
	align-items: center;
	color: #7A5F1E;
	font-size: 15px;
	line-height: 1.7;
	transition: color .2s ease;
}

.p-column-single__toc-num {
	flex-shrink: 0;
	margin-right: 10px;
	font-size: 18px;
}

.p-column-single__toc-link:hover {
	color: #7A5F1E;
	text-decoration: underline;
}

/* この記事のポイント（囲みボックス） */
.p-column-single__points {
	margin-top: 40px;
	margin-bottom: 40px;
	padding: 30px;
	background: hwb(45deg 8% 47% / 5%);
	border-left: 5px solid #A77E14;
	border-radius: 0 10px 10px 0;
}

.p-column-single__points-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	color: #32373c;
	font-size: 20px;
	font-weight: 700;
}

/* タイトル頭のチェックアイコン（24px四方） */
.p-column-single__points-title::before {
	content: "";
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	background: url(../images/column/icon-points-check.svg) no-repeat center center;
	background-size: contain;
}

.p-column-single__points-item {
	position: relative;
	padding-left: 20px;
	font-size: 15px;
	line-height: 1.9;
}

.p-column-single__points-item::before {
	content: "";
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #7A5F1E;
}

/* 本文 */
.p-column-single__body {
	font-size: 16px;
	line-height: 2;
	color: #333;
}

.p-post-single__body h2,
.p-column-single__body h2 {
	margin-bottom: 24px;
	padding: 16px;
	border-bottom: 3px solid #ECDDBD;
	color: #7A5F1E;
	font-size: 27px;
	line-height: 1.48; /* ≒40px（40 ÷ 27） */
	font-weight: 700;
}

.p-post-single__body p,
.p-column-single__body p {
	margin-bottom: 16px;
	color: #555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

.p-column-single__body img {
	display: block;
	width: 100%;
	height: auto;
	margin: 16px 0 24px;
	border-radius: 8px;
}

/* 一覧に戻る */
.p-column-single__back {
	margin-top: 64px;
	text-align: center;
}

/* 見た目は c-button--brown を流用。最小幅と中央寄せだけ補う */
.p-column-single__back-link {
	min-width: 240px;
	justify-content: center;
	font-weight: 700;
}

/* コラム下層の共通ヘッドだけ日本語タイトルを小さく */
.single-column .under-page-header__ja {
	font-size: 40px;
	line-height: 1.31;
	font-weight: 800;
}

/* ---- COLUMN single: おすすめの記事 ---- */
/* about-us だけ上余白を広めに・下余白なし */
.p-about-us .l-content__inner {
	padding-top: 80px;
	padding-bottom: 0;
}

/* ---- ABOUT US: インナー幅 ---- */
.p-about-us .p-about-us__inner {
	width: 100%;
	max-width: 1000px;
	margin-inline: auto;
}

/* ---- ABOUT US: 代表メッセージ（全幅背景写真・インナー1000） ---- */
.p-about-us .p-about-us__message {
	padding-top: 80px;
	padding-bottom: 80px;
	/* 全幅の背景写真（PC） */
	background: url(../images/company/bg-ceomessage-pc.webp) no-repeat center center;
	background-size: cover;
}

@media (max-width: 767px) {
	.p-about-us .p-about-us__message {
		background-image: url(../images/company/bg-ceomessage-sp.webp);
	}
}

/* ---- ABOUT US: 見出し（advantage strength と同じスタイル） ---- */
.p-about-us .p-about-us__heading {
	margin-bottom: 24px;
}

.p-about-us .p-about-us__heading-en {
	display: block;
	margin-bottom: 8px;
	color: #A77E14;
	font-size: 16px;
	line-height: 1.375; /* ≒22px（22 ÷ 16） */
}

.p-about-us .p-about-us__heading-ja {
	display: block;
	color: #7A5F1E;
	font-size: 40px;
	line-height: 1.4; /* ≒56px（56 ÷ 40） */
	font-weight: 700;
}

/* CEO MESSAGE の見出しだけ別色・サイズ */
.p-about-us .p-about-us__message .p-about-us__heading-en {
	color: #377858;
}

.p-about-us .p-about-us__message .p-about-us__heading-ja {
	color: #272727;
	font-size: 36px;
}

/* ---- ABOUT US: 会社概要テーブル ---- */
.p-about-us .p-about-us__table {
	display: block;
	padding: 40px 60px;
	background: #F6EFDD;
	border-radius: 8px;
}

.p-about-us__company {
	margin-bottom: 80px;
}

.p-about-us__table,
.p-about-us__table tbody {
	display: block;
}

.p-about-us__table tr {
	display: flex;
	align-items: center;
	gap: 40px;
	padding-bottom: 24px;
	margin-bottom: 24px;
	border-bottom: 1px solid rgba(167, 126, 20, 0.5); /* #A77E14 50% */
}

.p-about-us__table-th {
	width: 180px;
	flex-shrink: 0;
	color: #7A5F1E;
	font-weight: 700;
	line-height: 2;
}

.p-about-us__table-td {
	color: #555;
	line-height: 2;
}

/* ---- ABOUT US: 役員紹介 ---- */
.p-about-us__officer {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.p-about-us__officer-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.p-about-us__officer-image {
	width: 400px;
	border-radius: 10px;
}

.p-about-us__officer-body {
	display: flex;
	flex-direction: column;
	width: calc(100% - 40% - 40px);
}

.p-about-us__officer-name {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 24px;
}

.p-about-us__officer-role {
	color: #7A5F1E;
	font-size: 16px;
}

.p-about-us__officer-bio {
	margin-top: 20px;
	color: #272727;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}

.p-about-us__officers {
	padding-bottom: 120px;
}

.p-about-us__message-catch {
	margin-bottom: 32px;
	color: #377858;
	font-size: 28px;
	line-height: 1.6;
	font-weight: 700;
}

.p-about-us__message-text {
	margin-bottom: 24px;
	font-size: 18px;
	line-height: 2;
}

.p-about-us__message-sign {
	font-family: "Noto Serif JP", serif;
	font-size: 24px;
}

/* =========================================================
 * ADVANTAGE02（事業の失敗と成功）— 指定箇所のみ
 * ======================================================= */
/* 各セクションの内側は1240インナー */
.p-advantage02 .p-advantage02__inner {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
}

/* POINT01: 罰バッジ（52px四方・absoluteで上半分はみ出す） */
.p-advantage02__cause-list {
	display: flex;
	gap: 24px;
	margin-bottom: 32px;
}
span.p-advantage02__reason-attention {
    font-size: 12px;
    line-height: 1.5;
    display: block;
    margin-top: 6px;
    color: #555;
}
.p-advantage02__cause {
	position: relative;
	width: calc((100% - 48px) / 3); /* 3カラム（gap 24px × 2） */
	padding: 48px 40px;
	border: 1px solid #D9BC7B;
	border-radius: 16px;
	background: #fff;
}

.p-advantage02__cause-badge {
	position: absolute;
	top: -26px; /* 52pxの半分が上にはみ出す */
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
}

.p-advantage02__cause-icon {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* POINT03: 要注意 / バイセル の2カラムを横並び */
.p-advantage02__compare {
	position: relative;
	display: flex;
	gap: 24px;
}

/* 2カラム間の矢印（中央に重ねる） */
.p-advantage02__compare-arrow {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.p-advantage02__compare-arrow img {
	display: none;
}

.p-advantage02__compare-col {
	flex: 1;
	min-width: 0;
	padding: 36px;
	border: 1px solid;
	border-radius: 32px;
}

.p-advantage02__compare-col--ng {
	background: #FEF4F2;
	border-color: #C0392B;
}

.p-advantage02__compare-col--ok {
	background: #E4F1ED;
	border-color: #377858;
}

/* ---- ADVANTAGE02: POINT見出し ---- */
.p-advantage02__point-en {
	display: block;
	color: #A77E14;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	line-height: 1.375; /* ≒22px（22 ÷ 16） */
	font-weight: 400;
	letter-spacing: 4px;
}

.p-advantage02__point-ja {
	display: block;
	margin: 16px 0;
	font-size: 40px;
	line-height: 1.4; /* ≒56px（56 ÷ 40） */
	font-weight: 700;
}

/* 1セクション目（POINT01）は中央寄せ */
.p-advantage02__point--cause {
	position: relative;
	text-align: center;
	padding-bottom: 80px;
}

/* 1セクション目だけ ja を茶色 */
.p-advantage02__point--cause .p-advantage02__point-ja {
	color: #7A5F1E;
}

.p-advantage02__point-lead {
	margin-bottom: 48px;
	color: #555555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

.p-advantage02__cause-title {
	margin-bottom: 16px;
	font-size: 24px;
	line-height: 1.333; /* ≒32px（32 ÷ 24） */
	font-weight: 700;
}

.p-advantage02__cause-text {
	color: #555;
	text-align: left;
	font-size: 14px;
	line-height: 2;
}

/* advantage02 だけ上余白80px・下余白なし */
.p-advantage02 .l-content__inner {
	padding-top: 80px;
	padding-bottom: 0;
}

.p-advantage02__cause-note {
	font-size: 28px;
	line-height: 1.8;
	font-weight: 700;
}

.p-advantage02__cause-note .p-advantage02__em {
	color: #377858; /* 緑 */
}

/* POINT01: 下半分に 上=#FFFFFF → 下=#FBF7EE のグラデを敷く */
.p-advantage02__point--cause::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 50%;
	background: linear-gradient(to top, #FBF7EE 0%, #FFFFFF 100%);
	z-index: 0;
}

/* コンテンツはグラデより前面に */
.p-advantage02__point--cause .p-advantage02__inner {
	position: relative;
	z-index: 1;
}

/* 次のセクション（POINT02）の背景色 */
.p-advantage02__point--reason {
	position: relative;
	padding-top: 80px;
	padding-bottom: 15vw;
	/* PC: 左下基準・cover、余白は #F6EFDD */
	background: #F6EFDD ;
	background-size: cover;
}

/* 上部に #FBF8F0 のフェード（上100%→下0%・高さ120px）で背景をぼかす */
.p-advantage02__point--reason::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 120px;
	background: linear-gradient(to bottom, #FBF8F0 0%, rgba(251, 248, 240, 0) 100%);
	z-index: 0;
}
.p-advantage02__point--reason::after
{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
    width: calc((100% - 60px) * 890 / 1440);
	height: 100%;
		background:url(../images/failure-success/bg-pc-point2.webp) no-repeat left bottom;
		    background-size: contain;
}

@media (max-width: 767px) {
	.p-advantage02__point--reason {
		/* SP: 下中央基準・contain */
		background-image: url(../images/failure-success/bg-sp-point2.webp);
		background-position: bottom center;
		background-size: contain;
        background-repeat: no-repeat;
	}
	.p-advantage02__point--reason::after{
		display: none;
	}
}

/* POINT02: 見出しブロック(左390px相当) と リスト(右800px相当) を横並び */
.p-advantage02__point--reason .p-advantage02__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	gap: 48px;
}

.p-advantage02__reason-head {
	flex-shrink: 0;
	width: calc((100% - 48px) * 390 / 1190); /* 390:800 の比率で % 配分 */
}

.p-advantage02__reason {
	position: relative;
	padding: 24px;
	padding-left: 72px;
	background: #fff;
	border-radius: 20px;
}

/* チェックアイコン（40px四方・上左24px） */
.p-advantage02__reason::before {
	content: "";
	position: absolute;
	top: 24px;
	left: 24px;
	width: 40px;
	height: 40px;
	background: url(../images/failure-success/icon-check.webp) no-repeat center center;
	background-size: contain;
}

.p-advantage02__reason-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: calc((100% - 48px) * 800 / 1190);
	padding: 36px;
	background: #FBF7EE;
	border-radius: 32px;
	box-shadow: 0 8px 24px 0 rgba(236, 231, 217, 0.5); /* #ECE7D9 50% */
}

.p-advantage02__reason-title {
	margin-bottom: 8px;
	font-size: 24px;
	line-height: 1.333; /* ≒32px（32 ÷ 24） */
	font-weight: 800;
}

.p-advantage02__reason-text {
	color: #555;
	font-size: 16px;
	line-height: 1.5; /* ≒24px（24 ÷ 16） */
	font-weight: 400;
}

/* POINT03（比較）: 上下余白＋見出し/リードは中央寄せ */
.p-advantage02__point--compare {
	padding-top: 80px;
	padding-bottom: 80px;
}

.p-advantage02__point--compare .p-advantage02__point-title,
.p-advantage02__point--compare .p-advantage02__point-lead {
	text-align: center;
}

/* 比較リストも reason-list と同じ縦並び */
.p-advantage02__compare-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* 比較カード（reason カードのような白カード） */
.p-advantage02__compare-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 24px;
	background: #fff;
	border-radius: 16px;
}

.p-advantage02__compare-icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	object-fit: contain;
}

.p-advantage02__compare-title {
	margin-bottom: 8px;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
}

.p-advantage02__compare-text {
	display: block;
	color: #555;
	font-size: 14px;
	line-height: 1.8;
}

.p-advantage02__compare-head {
	margin-bottom: 20px;
	font-size: 28px;
	line-height: 1; /* 28px（28 ÷ 28） */
	font-weight: 700;
}

/* POINT04（仕組み） */
.p-advantage02__point--mechanism {
	padding-top: 80px;
	padding-bottom: 80px;
	background: #FDF2C7;
}

/* POINT04: 見出し・リードは中央寄せ */
.p-advantage02__point--mechanism .p-advantage02__point-title,
.p-advantage02__point--mechanism .p-advantage02__point-lead {
	text-align: center;
}

/* POINT04: 仕組みカード（4枚＋カード間の矢印） */
.p-advantage02__mechanism-list {
	display: flex;
	align-items: stretch;
	gap: 56px;
	margin-bottom: 40px;
}

.p-advantage02__mechanism {
	position: relative;
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	padding: 0 0 20px;
	background: #fff;
	border: 2px solid #D9BC7B;
	border-radius: 16px;
	text-align: center;
}

/* カード間の矢印（最後以外の右側・56pxギャップの中央に配置） */
.p-advantage02__mechanism:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -34px;
	width: 12px;
	height: 12px;
	border-top: 3px solid #B59A3C;
	border-right: 3px solid #B59A3C;
	transform: translateY(-50%) rotate(45deg);
}

.p-advantage02__mechanism-icon {
	width: 100%;
	border-radius: 8px 8px 0 0;
	object-fit: cover;
	height: 120px;
}

@media screen and (max-width:768px) {
.p-advantage02__mechanism-icon {
	height: auto;
}	
}

.p-advantage02__mechanism-title {
	margin-top: 16px;
	font-size: 20px;
	line-height: 1.4; /* ≒28px（28 ÷ 20） */
	font-weight: 700;
}

.p-advantage02__mechanism-text {
	margin-top: 8px;
	color: #555;
	font-size: 14px;
	line-height: 1.6;
}

/* 4枚目（写真なし・結果）: 茶背景・白文字・中央寄せ */
.p-advantage02__mechanism--result {
	justify-content: center;
	padding: 0;
	background: #8C6D22;
	border-color: #8C6D22;
}

.p-advantage02__mechanism--result .p-advantage02__mechanism-title {
	margin-top: 0;
	color: #fff;
	font-size: 26px;
	line-height: 1.4;
}

.p-advantage02__mechanism--result .p-advantage02__mechanism-text {
	color: #fff;
}

/* 補足文（白ボックス・左ボーダー） */
.p-advantage02__mechanism-note {
	padding: 16px 24px;
	background: #fff;
	border-left: 4px solid #7A5F1E;
	border-radius: 4px;
	font-size: 16px;
	line-height: 1.8;
}

.p-advantage02__note-em {
	color: #A77E14; /* 黄土色 */
}


/* =========================================================
 * ABOUT THE PURCHASE MARKET（なぜ今、買取ビジネスなのか）— 基礎
 * ======================================================= */
.p-about-the-purchase-market .l-content__inner {
	padding-top: 80px;
	padding-bottom: 0;
	background: #FCFBF5;
}

.p-about-the-purchase-market__inner {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
}

.p-about-the-purchase-market__section + .p-about-the-purchase-market__section {
	margin-top: 120px;
	padding-top: 80px;
	padding-bottom: 80px;
	background: #F7F0DF;
}

/* ---- 2カラム（テキスト＋画像） ---- */
.p-about-the-purchase-market__columns {
	display: flex;
	align-items: center;
	gap: 60px;
}

.p-about-the-purchase-market__columns--reverse {
	flex-direction: row-reverse;
}

.p-about-the-purchase-market__col-text {
	flex: 1;
	min-width: 0;
}

.p-about-the-purchase-market__col-image {
	width: calc((100% - 60px) * 430 / 1240);
	flex-shrink: 0;
}
section.p-about-the-purchase-market__section.p-about-the-purchase-market__section--market .p-about-the-purchase-market__col-image {
    width: calc((100% - 60px) * 590 / 1240);
}
/* 本文直下のSP用画像はPCでは非表示 */
.p-about-the-purchase-market__sp-image {
	display: none;
}

.p-about-the-purchase-market__col-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}

/* ---- 見出し（番号＋テキストを横並び） ---- */
.p-about-the-purchase-market__heading {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: 20px;
}

.p-about-the-purchase-market__heading-num {
	flex-shrink: 0;
	font-family: "Oswald", sans-serif;
	font-size: 40px;
	line-height: 1.2; /* ≒48px（48 ÷ 40） */
	font-weight: 200; /* ExtraLight */
	color: #377858;
	position: relative;
	top: 6px;
}

.p-about-the-purchase-market__heading-text {
	color: #2F2924;
	font-size: 30px;
	line-height: 1.4;
	font-weight: 800;
}

.p-about-the-purchase-market__text {
	margin-bottom: 24px;
	color: #555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

/* 強調表示用 */
.p-about-the-purchase-market__text--emphasis {
	color: #7A5F1E;
	font-size: 20px;
	font-weight: 700;
}

.p-about-the-purchase-market__subheading {
	margin-bottom: 24px;
	color: #377858;
	font-size: 24px;
	line-height: 1.167; /* ≒28px（28 ÷ 24） */
	font-weight: 700;
}

/* ---- 3つの要因（factor・緑チェック付き白カード） ---- */
.p-about-the-purchase-market__factor-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.p-about-the-purchase-market__factor {
	position: relative;
	padding: 12px 18px 12px 48px;
	background: #fff;
	border: none;
	border-radius: 12px;
	filter: drop-shadow(0 0 4px rgba(55, 120, 88, 0.4)); /* #377858 40% */
}

.p-about-the-purchase-market__factor::before {
	content: "";
	position: absolute;
	top: 12px;
	left: 8px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #377858 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>') center / 15px no-repeat;
}

.p-about-the-purchase-market__factor-title {
	margin-bottom: 4px;
	font-size: 20px;
	line-height: 1.2; /* ≒24px（24 ÷ 20） */
	font-weight: 700;
}

.p-about-the-purchase-market__factor-text {
	color: #555;
	font-size: 14px;
	line-height: 1.8;
	font-weight: 400;
}

/* ---- 環境省ロードマップ（緑パネル） ---- */
.p-about-the-purchase-market__roadmap {
	position: relative;
	overflow: hidden;
	margin-top: 64px;
	padding: 56px 48px;
	background: #377858;
	border-radius: 24px;
	color: #fff;
	text-align: center;
}

/* 背景素材：上中央に擬似要素で敷く（中身は relative で上に） */
.p-about-the-purchase-market__roadmap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 2378 / 434;
	background: url(../images/market/market-bg-pc.webp) no-repeat top center;
	background-size: cover;
	pointer-events: none;
	z-index: 0;
}

.p-about-the-purchase-market__roadmap > * {
	position: relative;
	z-index: 1;
}

.p-about-the-purchase-market__roadmap-label {
	margin-bottom: 8px;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
}

.p-about-the-purchase-market__roadmap-title {
	margin-bottom: 16px;
	font-size: 40px;
	line-height: 1.4;
	font-weight: 800;
}

/* タイトル内「4.6兆円」を強調 */
.p-about-the-purchase-market__roadmap-em {
	color: #F6E391;
}

.p-about-the-purchase-market__roadmap-num {
	font-family: "Oswald", sans-serif;
	font-size: 56px;
	font-weight: 400;
}

.p-about-the-purchase-market__roadmap-text {
	margin-bottom: 40px;
	font-size: 16px;
	line-height: 2;
}

/* 目標3つ */
.p-about-the-purchase-market__target-list {
	display: flex;
	gap: 24px;
	margin-bottom: 40px;
}

.p-about-the-purchase-market__target {
	flex: 1;
	min-width: 0;
	padding: 28px 20px;
	background: #fff;
	border: 1px solid #D9BC7B;
	border-radius: 16px;
	color: #2F2924;
	box-shadow: 0 4px 16px 0 rgba(236, 231, 217, 0.5); /* #ECE7D9 50% */
}

.p-about-the-purchase-market__target-title {
	margin-bottom: 12px;
	font-size: 24px;
	font-weight: 700;
}

.p-about-the-purchase-market__target-num {
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 56px;
	line-height: 1;
	font-weight: 400;
	color: #377858;
}

.p-about-the-purchase-market__target-unit {
	margin-left: 4px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 18px;
}

.p-about-the-purchase-market__target-text {
	margin-top: 12px;
	color: #555;
	font-size: 16px;
	line-height: 2;
}

/* 4つの施策 */
.p-about-the-purchase-market__policy {
	margin-bottom: 40px;
	padding: 32px 36px;
	background: #F5EFDF;
	border-radius: 24px;
	color: #2F2924;
	text-align: left;
}

.p-about-the-purchase-market__policy-heading {
	margin-bottom: 20px;
	font-size: 28px;
	line-height: 1.14; /* ≒32px（32 ÷ 28） */
	font-weight: 700;
	text-align: left;
}

.p-about-the-purchase-market__policy-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.p-about-the-purchase-market__policy-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px;
	background: #fff;
	border-radius: 16px;
	color: #2F2924;
}

.p-about-the-purchase-market__policy-num {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 1000px;
	background: #A77E14;
	color: #fff;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
}

.p-about-the-purchase-market__policy-title {
	margin-bottom: 4px;
	font-size: 24px;
	line-height: 1.333; /* ≒32px（32 ÷ 24） */
	font-weight: 700;
}

.p-about-the-purchase-market__policy-text {
	color: #555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

/* ロードマップ補足 */
.p-about-the-purchase-market__roadmap-note {
	padding: 14px 14px;
	background: transparent;
	border-radius: 0;
	border-left: 4px solid #F6E391;
	font-size: 14px;
	line-height: 2;
	text-align: left;
}

.p-about-the-purchase-market__em {
	color: #F6E391;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.p-about-the-purchase-market__source {
	margin-top: 16px;
	font-size: 12px;
	text-align: right;
	opacity: .8;
}

/* ---- 景気サイクル（cycle・白カード2枚） ---- */
.p-about-the-purchase-market__cycle-list {
	display: flex;
	gap: 24px;
	margin-bottom: 24px;
}

.p-about-the-purchase-market__cycle {
	flex: 1;
	min-width: 0;
	padding: 24px;
	background: #fff;
	border: 1px solid #ECDDBD;
	border-radius: 12px;
}

.p-about-the-purchase-market__cycle-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}

.p-about-the-purchase-market__cycle-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.p-about-the-purchase-market__cycle-label {
	font-size: 16px;
	font-weight: 700;
	color: #555555;
	line-height: 1.5;
}

.p-about-the-purchase-market__cycle-label-sub {
	display: block;
	color: #555555;
	font-size: 18px;
}

/* 「現金化ニーズ」「買い替えニーズ」だけ黄土色で強調 */
.p-about-the-purchase-market__cycle-label-strong {
	color: #7A5F1E;
}

.p-about-the-purchase-market__cycle-text {
	color: #555;
	font-size: 14px;
	line-height: 1.8;
}

/* ---- 固定費 / 在庫リスク（merit・2カラムテキスト） ---- */
.p-about-the-purchase-market__merit-list {
	display: flex;
	gap: 80px;
}

.p-about-the-purchase-market__merit {
	flex: 1;
	min-width: 0;
}

/* ---- SP ---- */
@media (max-width: 767px) {
	.p-about-the-purchase-market__columns,
	.p-about-the-purchase-market__columns--reverse {
		flex-direction: column;
	}

	.p-about-the-purchase-market__col-image {
		width: 100%;
	}

	.p-about-the-purchase-market__target-list,
	.p-about-the-purchase-market__cycle-list,
	.p-about-the-purchase-market__merit-list {
		flex-direction: column;
	}

	.p-about-the-purchase-market__roadmap {
		padding: 32px 20px;
	}

	/* SPは縦長の背景素材に差し替え */
	.p-about-the-purchase-market__roadmap::before {
		aspect-ratio: 680 / 600;
		background-image: url(../images/market/market-bg-sp.webp);
	}
}

/* SECTION03（キャッシュフロー）: margin-top 0・上下padding 80px */
.p-about-the-purchase-market__section.p-about-the-purchase-market__section--cashflow {
	position: relative;
	margin-top: 0;
	padding-top: 80px;
	padding-bottom: 80px;
	background: #fff;
}

/* 下半分に 上=#FFFFFF → 下=#FBF7EE のグラデを敷く（POINT01と同じ） */
.p-about-the-purchase-market__section--cashflow::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 50%;
	background: linear-gradient(to top, #FBF7EE 0%, #FFFFFF 100%);
	z-index: 0;
}

/* コンテンツはグラデより前面に */
.p-about-the-purchase-market__section--cashflow .p-about-the-purchase-market__inner {
	position: relative;
	z-index: 1;
}

/* SECTION04（固定費 / 在庫リスク） */
.p-about-the-purchase-market__section.p-about-the-purchase-market__section--merit {
	margin-top: 0;
	padding-top: 48px;
	padding-bottom: 80px;
	background: hwb(43deg 87% 3% / 40%);
}

/* =========================================================
 * OPENING FLOW & BACKUP（開業までの流れ）— 基礎
 * ======================================================= */
.p-opening-flow-backup .l-content__inner {
	padding: 0;
	background: #fff;
}

.p-opening-flow-backup__section {
	padding-top: 80px;
	padding-bottom: 80px;
}

.p-opening-flow-backup__section--steps {
	background: #FCFBF5;
}

.p-opening-flow-backup__section--support {
	background: #F6EFDD;
}

.p-opening-flow-backup__section--members {
	background: #fff;
}

.p-opening-flow-backup__inner {
	width: 100%;
	max-width: 1120px;
	margin-inline: auto;
}

/* 見出し（中央寄せ） */
.p-opening-flow-backup__heading {
	margin-bottom: 16px;
	text-align: center;
}

.p-opening-flow-backup__heading-en {
	display: block;
	margin-bottom: 16px;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	line-height: 1.375; /* ≒22px（22 ÷ 16） */
	letter-spacing: 4px;
	color: #377858;
}

.p-opening-flow-backup__heading-text {
	display: block;
	color: #2F2924;
	font-size: 40px;
	line-height: 1.4; /* ≒56px（56 ÷ 40） */
	font-weight: 800;
}

.p-opening-flow-backup__lead {
	margin-bottom: 48px;
	color: #555;
	font-size: 16px;
	line-height: 2;
	text-align: center;
}

/* ---- 7ステップ（縦並びカード） ---- */
.p-opening-flow-backup__step-list {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.p-opening-flow-backup__step {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 24px;
}

/* ステップ同士をつなぐ縦の点線（最後のステップ以外） */
.p-opening-flow-backup__step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 100px;     /* アイコン(100px)の真下 */
	bottom: -16px;  /* 次のアイコンまで（list gap 16px分） */
	left: 50px;     /* アイコン中央（100px ÷ 2） */
	width: 4px;
	transform: translateX(-50%);
	background-image: radial-gradient(circle, #D9BC7B 40%, transparent 42%);
	background-size: 4px 14px;
	background-repeat: repeat-y;
	background-position: center top;
}

.p-opening-flow-backup__step-iconwrap {
	flex-shrink: 0;
}

.p-opening-flow-backup__step-body {
	flex: 1;
	min-width: 0;
	padding: 24px 32px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 2px 8px 0 rgba(187, 178, 158, 0.6); /* #BBB29E 60% */
}

.p-opening-flow-backup__step-icon {
	width: 100px;
	height: 100px;
	object-fit: contain;
}

.p-opening-flow-backup__step-title {
	margin-bottom: 8px;
	color: #7A5F1E;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
}

.p-opening-flow-backup__step-text {
	color: #555;
	font-size: 15px;
	line-height: 1.9;
}

.p-opening-flow-backup__step-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 14px;
	padding: 16px 40px;
	border-radius: 1000px;
	line-height: 1;
	font-weight: 700;
	font-size: 20px;
	transition: transform .1s ease, box-shadow .1s ease;
}

/* ホバーで影の分（3px）沈む */
.p-opening-flow-backup__step-link:hover {
	transform: translateY(3px);
	box-shadow: 0 0 0 transparent;
}

/* 資料請求（上下2色オレンジ＋真下にベタ影） */
.p-opening-flow-backup__step-link--primary {
	color: #FFFFFF;
	background: linear-gradient(to bottom, #F58A28 0%, #F58A28 50%, #F37321 50%, #F37321 100%);
	box-shadow: 0 3px 0 #C6550C;
}

/* 説明会に申し込む（白地・緑枠） */
.p-opening-flow-backup__step-link--secondary {
	border: 1.5px solid #377858;
	background: #fff;
	color: #377858;
	box-shadow: 0 3px 0 #075700;
}

.p-opening-flow-backup__steps-note {
	margin-top: 40px;
	color: #555;
	font-size: 14px;
	line-height: 1.9;
	text-align: center;
	font-weight: 400;
}

/* ---- サポート（4カラムカード） ---- */
.p-opening-flow-backup__support-list {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

.p-opening-flow-backup__support {
	width: calc((100% - 56px) / 3); /* 3カラム（gap 28px × 2） */
	padding: 28px 20px;
	background: #fff;
	border: 1.5px solid #D9BC7B;
	border-radius: 12px;
	text-align: center;
}

.p-opening-flow-backup__support-icon {
	width: 120px;
	height: auto;
	margin: 0 auto 12px;
	object-fit: contain;
}

.p-opening-flow-backup__support-title {
	margin-bottom: 12px;
	color: #377858;
	font-size: 20px;
	line-height: 1.5;
	font-weight: 700;
}

.p-opening-flow-backup__support-text {
	color: #555;
	font-size: 14px;
	line-height: 2;
	text-align: left;
	font-weight: 400;
}

/* ---- サポートメンバー（3カラムカード） ---- */
.p-opening-flow-backup__member-list {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.p-opening-flow-backup__member {
	width: calc((100% - 48px) / 3); /* 3カラム（gap 24px × 2） */
	background: #FCFBF7;
	border: 2px solid #F6EFDD;
	border-radius: 12px;
	overflow: hidden;
}

.p-opening-flow-backup__member-image {
	display: block;
	width: 100%;
	height: auto;
}

.p-opening-flow-backup__member-body {
	padding: 20px;
}

.p-opening-flow-backup__member-name {
	margin-bottom: 10px;
}

.p-opening-flow-backup__member-en {
	display: block;
	margin-bottom: 12px;
	font-family: "Oswald", sans-serif;
	font-size: 14px;
	line-height: 1.286; /* ≒18px（18 ÷ 14） */
	letter-spacing: 2px;
	color: #A77E14;
	font-weight: 300;
}

.p-opening-flow-backup__member-ja {
	display: block;
	color: #2F2924;
	font-size: 20px;
	line-height: 1.6;
	font-weight: 700;
}

.p-opening-flow-backup__member-text {
	color: #555;
	font-size: 14px;
	line-height: 2;
	font-weight: 400;
}

/* 見た目は .c-button--brown を流用。ここは中央寄せだけ */
.p-opening-flow-backup__member-more {
	display: flex;
	width: max-content;
	margin: 48px auto 0;
}

/* ---- SP ---- */
@media (max-width: 767px) {
	.p-opening-flow-backup__step {
		position: relative;
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 12px;
	}

	/* ステップ間の点線はSPでは非表示 */
	.p-opening-flow-backup__step:not(:last-child)::after {
		display: none;
	}

	.p-opening-flow-backup__inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	.p-opening-flow-backup__heading-text {
		font-size: 24px;
	}

	.p-opening-flow-backup__lead {
		margin-bottom: 32px;
		font-size: 14px;
	}

	/* ステップ section のリードだけ下余白56px */
	.p-opening-flow-backup__section--steps .p-opening-flow-backup__lead {
		margin-bottom: 56px;
	}

	.p-opening-flow-backup__step-text {
		text-align: left;
	}

	.p-opening-flow-backup__step-list {
		gap: 48px;
	}

	.p-opening-flow-backup__step-body {
		padding-top: 48px;
	}

	/* アイコンはステップ上端に重ねて配置 */
	.p-opening-flow-backup__step-iconwrap {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	/* SP画像は185px幅 */
	.p-opening-flow-backup__step-icon {
		width: 185px;
		height: auto;
	}

	.p-opening-flow-backup__support-list {
		gap: 16px;
	}

	.p-opening-flow-backup__support {
		width: 100%;
		padding: 24px 16px;
		border-radius: 12px;
	}

	.p-opening-flow-backup__support-icon {
		width: 72px;
		margin: 0 auto 12px;
	}

	.p-opening-flow-backup__support-title {
		margin-bottom: 12px;
		font-size: 14px;
	}

	.p-opening-flow-backup__support-text {
		font-size: 12px;
	}

	.p-opening-flow-backup__member {
		width: 100%;
	}

	.p-opening-flow-backup__step-link {
		padding: 10px 24px;
		line-height: 1.25;
		letter-spacing: 3px;
	}
}

/* =====================================================================
 * オーナーの働き方（work-style）
 * すべて .p-work-style にスコープ
 * ===================================================================== */
.p-work-style .l-content__inner {
	padding: 0;
	background: #fff;
}

.p-work-style__section {
	padding-top: 80px;
	padding-bottom: 80px;
}

.p-work-style__section--oneday {
	background: #fff;
}

.p-work-style__section--benefits {
	background: #FCF6DC;
}

.p-work-style__section--report {
	background: #EAF3EE;
}

.p-work-style__inner {
	width: 100%;
	max-width: 1120px;
	margin-inline: auto;
	padding-inline: 20px;
}

/* ---- 共通見出し（中央寄せ） ---- */
.p-work-style__heading {
	margin-bottom: 16px;
	text-align: center;
}

.p-work-style__heading-en {
	display: block;
	margin-bottom: 16px;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	line-height: 1.375; /* ≒22px（22 ÷ 16） */
	letter-spacing: 4px;
	color: #377858;
}

.p-work-style__heading-text {
	display: block;
	color: #2F2924;
	font-size: 40px;
	line-height: 1.4; /* ≒56px（56 ÷ 40） */
	font-weight: 800;
}

.p-work-style__lead {
	margin-bottom: 48px;
	color: #555;
	font-size: 16px;
	line-height: 2;
	text-align: center;
}

/* ---- タブ ---- */
.p-work-style__tabs {
	display: flex;
	justify-content: center;
	gap: 0;
	margin-bottom: 40px;
}

.p-work-style__tab {
	min-width: 190px;
	padding: 20px 60px;
	border: 1.5px solid #377858;
	border-radius: 0;
	background: #fff;
	color: #377858;
	font-size: 17px;
	line-height: 1.25; /* ≒21px（21 ÷ 17） */
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}

.p-work-style__tab:first-child {
	border-radius: 8px 0 0 8px;
}

.p-work-style__tab:last-child {
	border-radius: 0 8px 8px 0;
}

/* 隣接ボーダーを重ねて1本線に */
.p-work-style__tab:last-child {
	margin-left: -1.5px;
}

.p-work-style__tab.is-active {
	background: #377858;
	color: #fff;
}

/* ---- パネル（タブ内容） ---- */
.p-work-style__panel {
	display: none;
}

.p-work-style__panel.is-active {
	display: block;
}

/* ---- スケジュール（タイムライン） ---- */
.p-work-style__schedule {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding: 48px;
	background: #F8F3E6;
	border-radius: 16px;
}

.p-work-style__schedule-item {
	position: relative;
	display: flex;
	gap: 24px;
	padding-bottom: 32px;
}

.p-work-style__schedule-item:last-child {
	padding-bottom: 0;
}

.p-work-style__schedule-time {
	flex-shrink: 0;
	width: 46px;
	padding-top: 1px;
	text-align: right;
	color: #377858;
	font-family: "Oswald", sans-serif;
	font-size: 20px;
	line-height: 1.5; /* ≒30px（30 ÷ 20） */
	font-weight: 300;
}

/* マーカー（緑のドット＋つなぎ線） */
.p-work-style__schedule-marker {
	position: relative;
	flex-shrink: 0;
	width: 24px;
}

.p-work-style__schedule-marker::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #377858;
}

.p-work-style__schedule-item:not(:last-child) .p-work-style__schedule-marker::after {
	content: "";
	position: absolute;
	top: 35px;       /* 丸（top5+24px）の下から */
	bottom: -40px;   /* padding-bottom(32px)+次の丸top(5px)を越えて次のドットまで繋ぐ */
	left: 12px;      /* ドット中央（24px ÷ 2） */
	width: 4px;
	transform: translateX(-50%);
	background-image: radial-gradient(circle, #D9BC7B 40%, transparent 42%);
	background-size: 4px 13px; /* 幅4px・ドット4 + 間隔9 = 13px周期 */
	background-repeat: repeat-y;
	background-position: center top;
}

/* 本文＋写真 */
.p-work-style__schedule-body {
	flex: 1;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 28px;
}

/* 画像の有無に関わらず本文幅を固定（画像エリアまで広がらない） */
.p-work-style__schedule-textwrap {
	flex: 0 0 calc(57% - 28px); /* 100% - 画像43% - gap28px */
	max-width: calc(57% - 28px);
	min-width: 0;
}

.p-work-style__schedule-title {
	margin-bottom: 8px;
	color: #2F2924;
	font-size: 24px;
	line-height: 1.4; /* ≒34px（34 ÷ 24） */
	font-weight: 700;
}

.p-work-style__schedule-text {
	color: #555;
	font-size: 14px;
	line-height: 2; /* ≒28px（28 ÷ 14） */
	font-weight: 400;
}

.p-work-style__schedule-photo {
	flex: 0 0 43%; /* ≒400px相当（パネル最大幅時） */
	width: 43%;
}

.p-work-style__schedule-photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

/* ---- POINT ボックス ---- */
.p-work-style__point {
	width: 100%;
	max-width: 1120px;
	margin: 32px auto 0;
	padding: 28px 32px;
	display: flex;
	gap: 24px;
	background: #F8F3E6;
	border: 2px dashed #D9BC7B;
	border-radius: 12px;
}

.p-work-style__point-label {
	flex-shrink: 0;
	color: #A77E14;
	font-family: "Oswald", sans-serif;
	font-size: 24px;
	line-height: 2; /* テキスト1行目に揃える */
	letter-spacing: 2px;
	font-weight: 600;
}

.p-work-style__point-text {
	flex: 1;
	color: #555;
	font-size: 14px;
	line-height: 2; /* ≒28px（28 ÷ 14） */
	font-weight: 400;
}

/* ---- メリット（3カラム） ---- */
.p-work-style__benefit-list {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 48px;
}

.p-work-style__benefit {
	width: calc((100% - 48px) / 3);
	padding: 22px 22px;
	background: #fff;
	border-radius: 12px;
	text-align: center;
	box-shadow: 0 2px 8px 0 rgba(187, 178, 158, 0.4);
}

.p-work-style__benefit-icon {
	width: 48px;
	height: 48px;
	margin: 0 auto 16px;
}

.p-work-style__benefit-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.p-work-style__benefit-title {
	margin-bottom: 12px;
	color: #7A5F1E;
	font-size: 20px;
	line-height: 1.4; /* ≒28px（28 ÷ 20） */
	font-weight: 700;
}

.p-work-style__benefit-text {
	color: #555;
	font-size: 14px;
	line-height: 1.8; /* ≒25px（25 ÷ 14） */
	font-weight: 400;
}

/* ---- オーナーレポート（COMING SOON） ---- */
.p-work-style__coming-soon {
	margin-top: 24px;
	text-align: center;
	color: #377858;
	font-family: "Oswald", sans-serif;
	font-size: 28px;
	line-height: 1.4; /* ≒39px（39 ÷ 28） */
	letter-spacing: 4px;
	font-weight: 500;
}

/* ====================== SP ====================== */
@media screen and (max-width: 768px) {
	.p-work-style__section {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.p-work-style__inner {
		padding-inline: 16px;
	}

	.p-work-style__heading-text {
		font-size: 28px;
	}

	.p-work-style__tab {
		min-width: 0;
		flex: 1;
		padding: 12px 16px;
		font-size: 15px;
	}

	/* スケジュールは画面端まで全幅・角丸なし */
	.p-work-style__schedule {
		width: calc(100% + 32px);
		left: -16px;
		position: relative;
		padding: 32px 24px;
		border-radius: 0;
	}

	/* タブは最大270pxで中央 */
	.p-work-style__tabs {
		max-width: 270px;
		margin-left: auto;
		margin-right: auto;
	}

	.p-work-style__schedule-item {
		gap: 10px;
		padding-bottom: 28px;
	}

	/* SPはpadding-bottom(28px)に合わせてつなぎ線を次のドットまで伸ばす */
	.p-work-style__schedule-item:not(:last-child) .p-work-style__schedule-marker::after {
		bottom: -36px;
	}

	.p-work-style__schedule-time {
		width: 40px;
		font-size: 20px;
		padding-top: 1px;
	}

	.p-work-style__schedule-title {
		font-size: 22px;
	}

	/* SP は写真を本文の下に回す */
	.p-work-style__schedule-body {
		flex-direction: column;
		gap: 14px;
	}

	.p-work-style__schedule-textwrap {
		flex: 1 1 auto;
		max-width: 100%;
	}

	.p-work-style__schedule-photo {
		flex: 0 0 auto;
		width: 100%;
		max-width: 280px;
	}

	.p-work-style__point {
		flex-direction: column;
		gap: 8px;
		padding: 24px 20px;
	}

	.p-work-style__point-label {
		line-height: 1.5;
	}

	/* メリットカードは横並び（アイコン左＋テキスト右） */
	.p-work-style__benefit-list {
		gap: 12px;
		margin-top: 32px;
	}

	.p-work-style__benefit {
		width: 100%;
		display: flex;
		align-items: center;
		gap: 16px;
		padding: 16px 20px;
		text-align: left;
	}

	.p-work-style__benefit-icon {
		margin: 0;
		flex-shrink: 0;
	}

	.p-work-style__benefit-body {
		flex: 1;
		min-width: 0;
	}

	.p-work-style__benefit-title {
		margin-bottom: 4px;
	}

	/* 本文内の改行はSPでは無効化 */
	.p-work-style__benefit-text br {
		display: none;
	}
}

/* =====================================================================
 * 収益パターン（profit-pattern）
 * すべて .p-profit-pattern にスコープ
 * ===================================================================== */
.p-profit-pattern .l-content__inner {
	padding: 0;
	background: #fff;
}

.p-profit-pattern__section {
	padding-top: 80px;
	padding-bottom: 80px;
}

.p-profit-pattern__section--intro {
	position: relative;
	background: #fff;
}

.p-profit-pattern__section--intro::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 50%;
	background: linear-gradient(to top, #FCFBF7 0%, #FFFFFF 100%);
	z-index: 0;
}

/* グラデより前面に */
.p-profit-pattern__section--intro .p-profit-pattern__inner {
	position: relative;
	z-index: 1;
}

.p-profit-pattern__section--patterns {
	background: #FCFBF7;
	padding-top: 0;
}

.p-profit-pattern__section--simulation {
	background: #EAF3EE;
}

.p-profit-pattern__inner {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: 20px;
}

/* ---- イントロ ---- */
.p-profit-pattern__intro-title {
	margin-bottom: 16px;
	text-align: center;
	color: #7A5F1E;
	font-size: 40px;
	line-height: 1.4; /* ≒56px（56 ÷ 40） */
	font-weight: 800;
}

.p-profit-pattern__intro-text {
	text-align: center;
	color: #555;
	font-size: 16px;
	line-height: 2; /* ≒32px（32 ÷ 16） */
}

/* ---- 共通見出し（中央寄せ） ---- */
.p-profit-pattern__heading {
	margin-bottom: 16px;
	text-align: center;
}

.p-profit-pattern__heading-en {
	display: block;
	margin-bottom: 16px;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	line-height: 1.375; /* ≒22px（22 ÷ 16） */
	letter-spacing: 4px;
	text-transform: uppercase;
	color: #A77E14;
}

.p-profit-pattern__heading-text {
    display: block;
    color: #2F2924;
    font-size: 40px;
    line-height: 1.4;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-profit-pattern__heading-text span {
font-size: 18px;
position: relative;
}

@media screen and (max-width:768px) {
.p-profit-pattern__heading-text span {
    font-size: 12px;
    position: relative;
}	
}

span.p-opening-flow-backup__support-attention {
    color: #555;
    font-weight: 400;
    text-align: left;
    display: block;
    font-size: 12px;
    margin-top: 8px;
}

.p-profit-pattern__lead {
	margin-bottom: 48px;
	color: #555;
	font-size: 16px;
	line-height: 2;
	text-align: center;
}

/* ---- 運営パターン（2カラム） ---- */
.p-profit-pattern__pattern-list {
	display: flex;
	gap: 24px;
	align-items: stretch;
}

.p-profit-pattern__pattern {
	width: calc((100% - 24px) / 2);
	display: flex;
	flex-direction: column;
	padding: 36px 32px;
	background: #fff;
	border: 1.5px solid #E3D9C2;
	border-radius: 16px;
	box-shadow: 0 2px 12px 0 rgba(187, 178, 158, 0.25);
	text-align: center;
}

/* PATTERN バッジ */
.p-profit-pattern__pattern-label {
	align-self: center;
	margin-bottom: 16px;
	padding: 6px 24px;
	background: #377858;
	border-radius: 56px;
	color: #fff;
	font-family: "Oswald", sans-serif;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 2px;
	font-weight: 500;
}

.p-profit-pattern__pattern-title {
	margin-bottom: 20px;
	color: #377858;
	font-size: 32px;
	line-height: 1.4; /* ≒45px（45 ÷ 32） */
	font-weight: 700;
}

/* 店舗・人アイコン */
.p-profit-pattern__pattern-photos {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 16px;
	margin-bottom: 16px;
}

.p-profit-pattern__pattern-photo img {
	display: block;
	width: auto;
	height: 52px;
}

/* 収益ドーナツグラフ */
.p-profit-pattern__pattern-graph {
	display: block;
	width: 100%;
	max-width: 380px;
	height: auto;
	margin: 0 auto 16px;
}

/* 特徴リスト（チェック付き） */
.p-profit-pattern__pattern-features {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 24px;
	text-align: left;
}

.p-profit-pattern__pattern-feature {
	position: relative;
	padding-left: 30px;
	color: #555;
	font-size: 14px;
	line-height: 1.7; /* ≒24px（24 ÷ 14） */
	font-weight: 400;
}

.p-profit-pattern__pattern-feature::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 20px;
	height: 20px;
	background: url(../images/failure-success/icon-check.webp) no-repeat center center;
	background-size: contain;
}

/* 平均月商・営業利益ボックス */
.p-profit-pattern__pattern-result {
	margin-top: auto;
	padding: 16px 16px;
	background: #F8F3E6;
	border-radius: 12px;
	text-align: left;
}

.p-profit-pattern__pattern-result-title {
	margin-bottom: 8px;
	color: #7A5F1E;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 700;
}

.p-profit-pattern__pattern-result-text {
	color: #555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

/* 注釈 */
.p-profit-pattern__note {
	margin-top: 28px;
	color: #888;
	font-size: 12px;
	line-height: 1.8; /* ≒22px（22 ÷ 12） */
	font-weight: 400;
}

/* ---- 収益シミュレーション ---- */
.p-profit-pattern__coming-soon {
	margin-top: 24px;
	text-align: center;
	color: #6E8C7D;
	font-family: "Oswald", sans-serif;
	font-size: 28px;
	line-height: 1.4;
	letter-spacing: 4px;
	font-weight: 500;
}

/* 収益シミュレーション（画像表示時） */
.p-profit-pattern__simulation {
	display: flex;
	flex-direction: column;
	gap: 56px;
	margin-top: 48px;
}

.p-profit-pattern__simulation-image {
	display: block;
}

.p-profit-pattern__simulation-image img {
	display: block;
	width: 100%;
	height: auto;
}

.p-profit-pattern__simulation-note {
	display: block;
	margin-top: 16px;
	color: #888;
	font-size: 14px;
	line-height: 1.8;
	font-weight: 400;
}

/* ====================== SP ====================== */
@media screen and (max-width: 768px) {
	.p-profit-pattern__section {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.p-profit-pattern__inner {
		padding-inline: 24px;
	}

	.p-profit-pattern__intro-title,
	.p-profit-pattern__heading-text {
		font-size: 24px;
	}

	.p-profit-pattern__intro-text,
	.p-profit-pattern__lead {
		font-size: 14px;
	}

	.p-profit-pattern__pattern-list {
		flex-direction: column;
		gap: 20px;
	}

	.p-profit-pattern__pattern {
		width: 100%;
		padding: 28px 20px;
	}

	.p-profit-pattern__pattern-title {
		font-size: 24px;
	}

	.p-profit-pattern__pattern-graph {
		max-width: 320px;
	}

	.p-profit-pattern__coming-soon {
		font-size: 22px;
	}

	.p-profit-pattern__simulation {
		gap: 40px;
		margin-top: 32px;
	}
}

/* =====================================================================
 * フッター（l-footer）
 * ===================================================================== */
.l-footer {
	background: #1A1A1A;
	color: #fff;
}

.l-footer__inner {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding: 56px 20px 20px;
}

/* ナビ（PC: 5カラム） */
.l-footer__nav {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 72px;
	padding-bottom: 56px;
}

.l-footer__heading {
	margin-bottom: 24px;
	color: #fff;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 700;
}

.l-footer__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.l-footer__link {
	color: #B8B8B8;
	font-size: 18px;
	line-height: 1.5;
	transition: color 0.2s;
	font-weight: 400;
}

.l-footer__link:hover {
	color: #fff;
}

/* 下段（ロゴ + サブリンク） */
.l-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 32px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.l-footer__logo-img {
	display: block;
	width: auto;
	height: 28px;
	/* logo.png を白抜き表示 */
	filter: brightness(0) invert(1);
}

.l-footer__sub {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
}

.l-footer__sub-link {
	color: #B8B8B8;
	font-size: 16px;
	line-height: 1.5;
	transition: color 0.2s;
	font-weight: 400;
}

.l-footer__sub-link:hover {
	color: #fff;
}

/* コピーライト */
.l-footer__copyright {
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	text-align: center;
	color: #8A8A8A;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.5px;
}

/* ====================== SP ====================== */
@media screen and (max-width: 768px) {
	.l-footer__inner {
		padding: 48px 24px 24px;
	}

	/* ナビ（SP: 2カラム） */
	.l-footer__nav {
		grid-template-columns: 1fr 1fr;
		gap: 36px 24px;
		padding-bottom: 40px;
	}

	.l-footer__heading {
		margin-bottom: 16px;
	}

	.l-footer__list {
		gap: 12px;
	}

	/* 下段は縦並み・中央寄せ（サブリンク → ロゴ の順） */
	.l-footer__bottom {
		flex-direction: column-reverse;
		align-items: center;
		gap: 20px;
		padding: 28px 0;
		text-align: center;
	}

	.l-footer__sub {
		justify-content: center;
		gap: 16px 24px;
	}

	.l-footer__sub-link {
		font-size: 14px;
	}

	.l-footer__logo-img {
		height: 30px;
	}
}

/* =====================================================================
 * 資料ダウンロード（download）— .p-download にスコープ
 * 静的フォールバック・CF7出力どちらにも効くようにクラス設計
 * ===================================================================== */
.p-download {
	background: #FDFCF8;
}

.p-download__inner {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
	padding: 120px 20px;
}

.p-download__inner.request_information {
  max-width: 1176px;
}

/* LP form heading */
.p-download__heading {
	margin-bottom: 40px;
	text-align: center;
}

/* LP anchor offset */
#lp-document-form {
	display: block;
	position: relative;
	top: -100px;
	visibility: hidden;
}

/* フォームカード */
.p-download__formcard {
	padding: 48px;
	background: #fff;
	border: 1px solid #ECDDBD;
	border-radius: 12px;
	box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.04);
}

/* 各行 */
.p-download__form-row {
	margin-bottom: 24px;
}

.p-download__form-label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	color: #2F2924;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 700;
}

.p-download__req {
	display: inline-flex;
	align-items: center;
	padding: 2px 10px;
	border-radius: 54px;
	background: #377858;
	color: #fff;
	font-size: 11px;
	line-height: 1.7;
	font-weight: 700;
}

/* CF7はinputをspan.wpcf7-form-control-wrapで包むのでブロック化 */
.p-download__form-row .wpcf7-form-control-wrap {
	display: block;
}

.p-download__input {
	width: 100%;
	padding: 13px 16px;
	background: #ecddbd3d;
	border: none;
	border-radius: 6px;
	color: #2F2924;
	font-size: 15px;
	line-height: 1.6;
	transition: border-color .2s ease, background-color .2s ease;
}

.p-download__input::placeholder {
	color: #B5B0A6;
}

/* セレクト（希望日：日種別＋時間帯を横並び） */
.p-download__select-row {
	display: flex;
	gap: 12px;
}

.p-download__select-row .wpcf7-form-control-wrap {
	flex: 1;
	min-width: 0;
}

.p-download__select {
	width: 100%;
	padding: 14px 16px;
	background: #F4F3F1;
	border: 1px solid #E5E3DE;
	border-radius: 6px;
	color: #2F2924;
	font-size: 15px;
	line-height: 1.6;
}

.p-download__form-note {
	margin-top: 8px;
	color: #888;
	font-size: 12px;
	line-height: 1.7;
}

.p-download__input:focus {
	outline: none;
	border-color: #D9BC7B;
	background: #fff;
}

/* 同意チェック */
.p-download__agree {
	margin: 8px 0 28px;
	color: #555;
	font-size: 14px;
	line-height: 1.6;
}

.p-download__agree label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

.p-download__agree a {
	color: #7A5F1E;
	text-decoration: underline;
}

/* 送信ボタン */
.p-download__submit-wrap {
	margin-top: 8px;
}

.p-download__submit {
	display: block;
	width: 100%;
	padding: 18px;
	background: #7A5F1E;
	border: none;
	border-radius: 4px;
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: 1px;
	cursor: pointer;
	transition: background-color .2s ease;
	text-align: center;
	box-shadow: 0 4px 0 #5B4510;
}

.p-download__submit:hover {
	background: #766831;
}

/* 確認ステップ：エラーメッセージ／入力エラー強調 */
.p-download__form-error {
	margin: 0 0 12px;
	color: #D9333F;
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
}

.p-download__form-row.is-error .p-download__input,
.p-download__form-row.is-error .p-download__select {
	box-shadow: 0 0 0 1.5px #D9333F inset;
	background: #fff;
}

.p-download__agree.is-error {
	color: #D9333F;
}

/* 確認パネル */
.p-download__confirm-list {
	margin: 0 0 28px;
}

.p-download__confirm-item {
	padding: 16px 0 0;
	border-bottom: none;
}

.p-download__confirm-item:first-child {
	padding-top: 0;
}

.p-download__confirm-label {
	display: block;
	margin-bottom: 4px;
	color: #32373c;
	font-size: 13px;
	font-weight: 700;
}

.p-download__confirm-value {
	display: block;
	color: #555;
	font-size: 16px;
	line-height: 1.6;
	word-break: break-word;
	font-weight: 400;
}

.p-download__confirm-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.p-download__confirm-send {
	display: block;
	width: 100%;
	padding: 18px;
	background: #7A5F1E;
	border: none;
	border-radius: 4px;
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: 1px;
	cursor: pointer;
	text-align: center;
	box-shadow: 0 4px 0 #5B4510;
	transition: background-color .2s ease;
}

.p-download__confirm-send:hover {
	background: #766831;
}

.p-download__confirm-send:disabled {
	opacity: .6;
	cursor: default;
}

.p-download__confirm-back {
	display: block;
	width: 100%;
	padding: 14px;
	background: #fff;
	border: 1.5px solid #D9BC7B;
	border-radius: 4px;
	color: #7A5F1E;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 700;
	cursor: pointer;
	text-align: center;
	transition: background-color .2s ease;
}

.p-download__confirm-back:hover {
	background: #FCFBF7;
}

/* CF7 バリデーション/レスポンス */
.p-download .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	color: #D9333F;
	font-size: 13px;
	line-height: 1.5;
}

.p-download .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 12px 16px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.6;
}

.p-download__notice {
	margin-top: 20px;
	color: #999;
	font-size: 12px;
	line-height: 1.7;
}

/* LINE相談窓口バナー */
.p-download__line {
	margin-top: 40px;
}

.p-download__line img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

/* ====================== SP ====================== */
@media screen and (max-width: 768px) {
	.p-download__inner {
		padding: 72px 16px;
	}

	.p-download__heading {
		margin-bottom: 24px;
		text-align: center;
	}

	.p-download__formcard {
		padding: 24px 24px;
		border: 1.5px solid #ECDDBD;
	}

	.p-download__line {
		margin-top: 60px;
	}

	.p-download__line img {
		border-radius: 0;
	}
}

/* =====================================================================
 * オーナーレポート 詳細（single）— .p-owner-report-single にスコープ
 * ===================================================================== */
.p-owner-report-single__inner {
	width: 100%;
	max-width: 1120px;
	margin-inline: auto;
	padding-inline: 20px;
}

.p-owner-report-single__section {
	padding-top: 80px;
	padding-bottom: 80px;
}

.p-owner-report-single__section--profile {
	background: #fff;
}

.p-owner-report-single__section--story {
	background: #F6EFDD;
}

/* ---- FV ---- */
.p-owner-report-single__fv {
	background: #FAF6EC;
}

.p-owner-report-single__fv-inner {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	padding-left: 100px;
	display: flex;
	align-items: center;
	gap: 56px;
	justify-content: space-between;
}

/* 左パディングを画面幅で段階的に（写真は右端までブリードさせるため左のみ） */
@media (max-width: 1440px) {
	.p-owner-report-single__fv-inner {
		padding-left: 80px;
	}
}

@media (max-width: 1000px) {
	.p-owner-report-single__fv-inner {
		padding-left: 32px;
	}
}

.p-owner-report-single__fv-body {
	flex: 1;
	padding: 140px 0 64px;
}

.p-owner-report-single__fv-en {
	display: block;
	margin-bottom: 16px;
	font-family: "Oswald", sans-serif;
	font-size: 24px;
	line-height: 1.4;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: #A77E14;
	font-weight: 300;
}

.p-owner-report-single__fv-namerow {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 12px;
}

.p-owner-report-single__fv-name {
	color: #2F2924;
	font-size: 32px;
	line-height: 1.4;
	font-weight: 700;
}

.p-owner-report-single__fv-type {
	display: inline-flex;
	align-items: center;
	padding: 4px 14px;
	border-radius: 1000px;
	background: rgba(246, 239, 221, 0.6);
	color: #A77E14;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 500;
}

.p-owner-report-single__fv-sub {
	margin-bottom: 16px;
	color: #888;
	font-size: 14px;
	line-height: 1.6;
}

.p-owner-report-single__fv-catch {
	color: #2F2924;
	font-size: 20px;
	line-height: 1.6;
	font-weight: 700;
}

.p-owner-report-single__fv-photo {
	flex-shrink: 0;
	width: 47%;
	border-radius: 150px 0 0 0;
	overflow: hidden;
	margin-top: 120px;
}

.p-owner-report-single__fv-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---- 見出し共通 ---- */
.p-owner-report-single__heading {
	margin-bottom: 32px;
}

.p-owner-report-single__heading-en {
	display: block;
	margin-bottom: 10px;
	font-family: "Oswald", sans-serif;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: #D9BC7B;
}

.p-owner-report-single__heading-text {
	display: block;
	color: #7A5F1E;
	font-size: 36px;
	line-height: 1.4;
	font-weight: 800;
}

/* ---- 背景・実績（2カラム） ---- */
.p-owner-report-single__facts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-bottom: 24px;
}

.p-owner-report-single__fact {
	padding: 18px 22px;
	background: #E4F1ED;
	border-left: 4px solid #377858;
	border-radius: 6px;
}

.p-owner-report-single__fact-label {
	display: block;
	margin-bottom: 6px;
	color: #377858;
	font-size: 13px;
	line-height: 1.5;
	font-weight: 700;
}

.p-owner-report-single__fact-value {
	color: #2F2924;
	font-size: 16px;
	line-height: 1.7;
	font-weight: 400;
}

/* ---- ステータス（4カード） ---- */
.p-owner-report-single__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}

.p-owner-report-single__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 24px 16px;
	background: #fff;
	border: 1px solid #E8DCBF;
	border-radius: 12px;
	text-align: center;
}

.p-owner-report-single__stat-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 14px;
	border-radius: 50%;
	background: #F6EFDD;
	color: #A77E14;
}

.p-owner-report-single__stat-icon svg {
	width: 28px;
	height: 28px;
}

.p-owner-report-single__stat-label {
	margin-bottom: 4px;
	color: #888;
	font-size: 16px;
	line-height: 1.5;
}

.p-owner-report-single__stat-value {
	color: #7A5F1E;
	font-size: 22px;
	line-height: 1.4;
	font-weight: 700;
}

/* ---- 動画（16:9） ---- */
.p-owner-report-single__video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	overflow: hidden;
	background: #4A4A4A;
}

.p-owner-report-single__video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ---- 詳しいストーリー ---- */
.p-owner-report-single__story {
	display: flex;
	gap: 56px;
	align-items: flex-start;
}

.p-owner-report-single__story-list {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.p-owner-report-single__story-head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 8px;
}

.p-owner-report-single__story-num {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #377858;
	color: #fff;
	font-family: "Oswald", sans-serif;
	font-size: 13px;
	line-height: 1;
	font-weight: 500;
}

.p-owner-report-single__story-title {
	color: #377858;
	font-size: 24px;
	line-height: 1.4;
	font-weight: 700;
}

.p-owner-report-single__story-text {
	color: #666;
	font-size: 14px;
	line-height: 1.9;
	font-weight: 400;
}

.p-owner-report-single__story-images {
	flex-shrink: 0;
	width: 38%;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.p-owner-report-single__story-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

/* ---- 一覧に戻る ---- */
.p-owner-report-single__back {
	margin-top: 56px;
	text-align: center;
}

.p-owner-report-single__back-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 16px 48px;
	background: #8A7A3A;
	border-radius: 6px;
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
	transition: background-color .2s ease;
}

.p-owner-report-single__back-link:hover {
	background: #766831;
}

.p-owner-report-single__back-arrow {
	font-size: 18px;
	line-height: 1;
}

/* ====================== SP ====================== */
@media screen and (max-width: 768px) {
	.p-owner-report-single__section {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.p-owner-report-single__fv-inner {
		flex-direction: column;
		gap: 0;
		padding-left: 0;
	}

	/* テキスト→写真の順（自然順）。上は固定ヘッダー分の余白 */
	.p-owner-report-single__fv-body {
		padding: 120px 16px 0;
		width: 100%;
	}

	.p-owner-report-single__fv-catch {
		font-size: 16px;
	}

	.p-owner-report-single__fv-photo {
		width: calc(100% - 24px);
		margin-top: 24px;
		margin-left: auto;
		border-radius: 150px 0 0 0;
	}

	.p-owner-report-single__fv-namerow {
		align-items: flex-end;
	}

	.p-owner-report-single__fv-name {
		font-size: 28px;
	}

	.p-owner-report-single__heading-text {
		font-size: 28px;
	}

	/* 見出しはSPで中央寄せ */
	.p-owner-report-single__heading {
		text-align: center;
	}

	.p-owner-report-single__facts {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.p-owner-report-single__stats {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.p-owner-report-single__story {
		flex-direction: column;
		gap: 32px;
	}

	.p-owner-report-single__story-images {
		width: 100%;
	}
}

/* =====================================================================
 * FAQ: l-content__inner の共通余白を打ち消し（上下0）
 * ===================================================================== */
.p-faq .l-content__inner {
	padding-top: 0;
	padding-bottom: 0;
}

/* =====================================================================
 * TOP: 開業までの流れ（p-top-flow）カード内部
 * ===================================================================== */
.p-top-flow__step {
	position: relative;
	overflow: visible;
}

/* カード間のシェブロン（4ステップの右側） */
.p-top-flow__step::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -30px;
	width: 11px;
	height: 11px;
	border-top: 2px solid #C9B98F;
	border-right: 2px solid #C9B98F;
	transform: translateY(-50%) rotate(45deg);
}

.p-top-flow__step-head {
	position: relative;
}

/* 番号タブ */
.p-top-flow__step-num {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 30px;
	height: 30px;
	padding: 0 9px;
	background: #D9BC7B;
	color: #7A5F1E;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
	border-radius: 14px 0 10px 0;
}

.p-top-flow__step-icon {
	display: block;
	width: 100%;
	height: 116px;
	object-fit: cover;
	border-radius: 14px 14px 0 0;
}

.p-top-flow__step-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px;
}

.p-top-flow__step-text {
	position: relative;
	padding-left: 18px;
	color: #2F2924;
	font-size: 14px;
	line-height: 1.8;
	font-weight: 500;
}

/* ◆ 金色のダイヤ */
.p-top-flow__step-text::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 7px;
	height: 7px;
	background: #A77E14;
	transform: rotate(45deg);
}

/* 店舗オープン カード */
.p-top-flow__goal {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px;
}

.p-top-flow__goal-icon {
	width: 56px;
	height: auto;
}

.p-top-flow__goal-text {
	color: #6B5418;
	font-size: 32px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
}

/* =====================================================================
 * TOP: ビジネスコラム（p-top-column）カード内部
 * ===================================================================== */
.p-top-column__link {
	display: block;
	border: 1px solid #ECE5D5;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}
.p-top-column__link:hover {
	box-shadow: 0 8px 24px 0 rgba(187, 178, 158, 0.4);
	transform: translateY(-3px);
}

.p-top-column__thumb {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 8px;
	transition: opacity .2s ease;
}

.p-top-column__link:hover .p-top-column__thumb {
	opacity: .9;
}

.p-top-column__body {
	padding: 16px 16px 20px;
}

.p-top-column__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.p-top-column__date {
	color: #A77E14;
	font-size: 14px;
	line-height: 1;
}

.p-top-column__tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 12px;
	border-radius: 1000px;
	background: #F2E8CF;
	color: #7A5F1E;
	font-size: 12px;
	line-height: 1.6;
}

.p-top-column__title {
	color: #2F2924;
	font-size: 15px;
	line-height: 1.6;
	font-weight: 500;
	transition: color .2s ease;
}

.p-top-column__link:hover .p-top-column__title {
	color: #A77E14;
}

/* =====================================================================
 * TOP: お知らせ（p-top-news）
 * ===================================================================== */
.p-top-news {
	padding-top: 0;
	padding-bottom: 80px;
}

.p-top-news__list {
	margin-top: 40px;
}

.p-top-news__item {
	border-bottom: 1px solid #E8E2D5;
}

.p-top-news__link {
	display: block;
	padding: 20px 4px;
	transition: background-color .2s ease;
}

/* 一番上の項目だけ上余白なし */
.p-top-news__item:first-child .p-top-news__link {
	padding-top: 0;
}

.p-top-news__link:hover {
	background: #FBF7EE;
}

.p-top-news__body {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.p-top-news__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.p-top-news__date {
	color: #A77E14;
	font-size: 14px;
	line-height: 1;
}

.p-top-news__tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 12px;
	border-radius: 1000px;
	background: #F2E8CF;
	color: #7A5F1E;
	font-size: 12px;
	line-height: 1.6;
}

.p-top-news__title {
	color: #2F2924;
	font-size: 15px;
	line-height: 1.6;
	font-weight: 500;
	transition: color .2s ease;
}

.p-top-news__link:hover .p-top-news__title {
	color: #A77E14;
}

a.p-top-news__more {
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 40px 0 0 auto;
	color: #A77E14;
	font-size: 18px;
	line-height: 1.33;
}

/* ====================== SP（TOP 下部） ====================== */
@media screen and (max-width: 768px) {
	.p-top-flow__list {
		flex-direction: column;
		gap: 56px;
		margin-top: 40px;
		margin-bottom: 40px;
	}

	.p-top-flow__step,
	.p-top-flow__goal {
		width: 100%;
	}

	/* ステップは横並び（head 40px ＋ body） */
	.p-top-flow__step {
		display: flex;
		gap: 12px;
	}

	.p-top-flow__step-head {
		width: 40%;
		flex-shrink: 0;
	}

	.p-top-flow__step-body {
		justify-content: center;
	}

	/* アイコンは左側に。左角だけ丸める */
	.p-top-flow__step-icon {
		height: 116px;
		border-radius: 14px 0 0 14px;
	}

	/* シェブロンを下向きに（カード間gapの中央へ） */
	.p-top-flow__step::after {
		top: auto;
		right: 50%;
		bottom: -34px;
		transform: translateX(50%) rotate(135deg);
	}

	.p-top-flow__goal {
		flex-direction: row;
		padding: 24px;
	}

	.p-top-flow__goal-icon {
		width: 80px;
	}

	.p-top-flow__goal-text {
		font-size: 30px;
		text-align: left;
	}

	.p-top-column__list {
		flex-direction: column;
		gap: 16px;
		margin-top: 18px;
	}

	.p-top-news__list {
		margin-top: 18px;
	}

	.p-top-column__item {
		width: 100%;
	}

	.p-top-column__thumb {
		aspect-ratio: 16 / 9;
	}

	.p-top-news__body {
		gap: 8px 16px;
	}

	/* フッターリンク */
	.l-footer__link {
		font-size: 16px;
	}

	/* 一覧を見る */
	a.p-top-column__more,
	a.p-top-news__more {
		margin-top: 24px;
		font-size: 18px;
	}

	.p-top-column {
		padding-top: 56px;
		padding-bottom: 56px;
	}
}

/* =====================================================================
 * TOP: SP 見出し縮小（個別上書きの無いセクション用の保険）
 * ===================================================================== */
@media screen and (max-width: 768px) {
	.c-heading__main {
		font-size: 24px;
		line-height: 1.4;
	}

	.c-heading__en {
		font-size: 16px;
		margin-bottom: 12px;
	}
}

/* =====================================================================
 * TOP SP（画像準拠 / 768px以下）— 各セクションの差分のみ
 * ===================================================================== */
@media (max-width: 768px) {
	/* SP専用改行を表示 */
	.u-br-sp {
		display: inline;
	}

	/* PC/SP 出し分け */
	.u-pc {
		display: none;
	}

	.u-sp {
		display: inline;
	}

	/* 共通: 茶ボタン */
	.c-button--brown {
		font-size: 16px;
	}

	/* FV */
	.p-top-fv {
		padding: 80px 0 20px 10px;
	}

	.p-top-fv__inner {
		padding: 0;
	}
.p-top-fv__body {
    position: absolute;
    width: calc(100% - 16px - 16px);
    left: 50%;
    transform: translateX(-50%);
    bottom: -23vw;
    gap: 0px;
}

	/* キャッチ画像エリアのみ90%・左寄せ */
	.p-top-fv__body > picture {
		width: 90%;
		align-self: flex-start;
	}

	.p-top-fv__visual {
		width: 100%;
		height: auto;
		object-fit: contain;
		padding-bottom: 0px;
	}

	/* FV内の元CTAはSPでは非表示。バナー枠内のCTAを表示 */
	.p-top-fv > .p-top-fv__cta {
		display: none;
	}

	.p-top-banner {
		padding-top: 30vw;
	}

	.p-top-banner__cta {
		display: flex;
		margin-bottom: 32px;
	}

	/* CTAは絶対配置を解除し、横並び（スタイルは共通） */
	.p-top-fv__cta {
		position: static;
		transform: none;
		justify-content: center;
		gap: 12px;
		padding: 0;
	}

	.p-top-fv__cta-button {
		flex: 1;
		padding: 12px 8px;
		font-size: 16px;
		text-align: center;
	}

	/* CTA：ボタンは横並びのまま全幅で等分 */
	.p-cta__actions {
		gap: 14px;
	}

	li.p-cta__action {
		width: calc((100% - 0px) / 2);
	}

	.p-cta__button {
		width: 100%;
		height: auto;
		padding: 10px 24px;
		display: block;
		text-align: center;
		font-size: 16px;
	}

	h2.p-cta__title {
		font-size: 28px;
	}

	/* WORRY */
	.p-top-worry {
		padding-top: 64px;
		padding-bottom: 64px;
		border-radius: 40px 40px 0 0;
	}

	h2.p-top-worry__title {
		font-size: 28px;
	}

	h3.p-top-worry__subtitle {
		font-size: 20px;
	}

	/* カードを横スクロール（見切れ表示・l-innerの余白を打ち消して全幅） */
	.p-top-worry__list {
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 16px;
		margin-top: 32px;
		margin-inline: -32px;     /* l-inner の左右padding(32px)を相殺 */
		padding-inline: 32px;     /* 先頭カードは中身位置に揃え、末尾に余白 */
		scroll-padding-left: 32px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	.p-top-worry__item {
		width: 256px;
		flex-shrink: 0;
		padding: 18px;
		scroll-snap-align: start;
	}

	p.p-top-worry__item-text {
		font-size: 14px;
		line-height: 2;
	}

	/* STORY：縦積み */
	.p-top-story__inner {
		flex-direction: column;
		gap: 32px;
	}

	.p-top-story__body,
	.p-top-story__visual {
		width: 100%;
	}

	.p-top-story .c-heading__main {
		font-size: 18px;
	}

	h3.p-top-story__catch {
		font-size: 18px;
		margin-bottom: 16px;
	}

	/* CONCEPT */
	.p-top-concept__intro-inner {
		flex-direction: column;
		gap: 32px;
		padding-top: 56px;
		padding-bottom: 80px;
	}

	.p-top-concept__text,
	.p-top-concept__image {
		width: 100%;
		position: relative;
	}

	.p-top-concept__text > p {
		margin-top: 14px;
		font-size: 14px;
	}

	.p-top-concept__about {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.p-top-concept__about-title {
		font-size: 28px;
	}

	/* 2個目（なぜ今〜）の下余白だけ32pxに */
	.p-top-concept__about-title:nth-of-type(2) {
		margin-bottom: 32px;
	}

	.p-top-concept__about-inner.l-inner > p {
		margin-bottom: 40px;
		font-size: 14px;
	}

	/* 理由は縦積み（円のまま全幅） */
	.p-top-concept__reasons {
		flex-direction: column;
		gap: 24px;
		margin-bottom: 32px;
	}

	.p-top-concept__reason {
		width: 100%;
	}

	.p-top-concept__reason-title {
		font-size: 20px;
	}

	.p-top-concept__reason-text {
		font-size: 14px;
	}

	/* WORK STYLE：縦積み */
	.p-top-workstyle {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.p-top-workstyle__list {
		flex-direction: column;
		gap: 32px;
		margin-top: 32px;
	}

	.p-top-workstyle__item {
		width: 100%;
	}

	h3.p-top-workstyle__item-title {
		font-size: 20px;
	}

	p.p-top-workstyle__item-text {
		font-size: 14px;
	}

	/* SUPPORT：縦積み */
	.p-top-support__list {
		flex-direction: column;
		gap: 24px;
	}

	h2.p-top-support__item-title {
		font-size: 20px;
	}

	p.p-top-support__item-text {
		font-size: 14px;
	}

	a.p-top-support__more {
		padding: 12px 24px;
		font-size: 16px;
	}

	/* PC専用改行をSPで無効化 */
	.u-br-pc {
		display: none;
	}

	/* ADVANTAGE：縦並び・1カラム */
	.p-top-advantage {
		padding: 64px 0 132px;
	}

	.p-top-advantage__inner > .c-heading {
		margin-bottom: 8px;
	}

	.p-top-advantage__inner > .c-button--brown {
		margin-top: 32px;
	}

	.p-top-advantage__lead {
		margin-bottom: 32px;
		font-size: 14px;
	}

	.p-top-advantage__list {
		flex-direction: column;
	}

	.p-top-advantage__item {
		width: 100%;
	}

	.p-top-advantage__item-head {
		padding: 16px 14px;
		gap: 8px;
	}

	.p-top-advantage__item-sub {
		font-size: 14px;
	}

	.p-top-advantage__item-main {
		font-size: 20px;
	}

	.p-top-advantage__num {
		width: 40px;
		height: 40px;
	}

	.p-top-advantage__item-image img {
		object-fit: cover;
		height: 140px;
	}
}

/* =====================================================================
 * 下層ページ共通ヘッド / パンくず SP（768px以下）
 * ===================================================================== */
@media (max-width: 768px) {
	/* 共通ヘッド パターン1/2 */
	.patern01 .under-page-header__en,
	.patern02 .under-page-header__en {
		margin-bottom: 14px;
		font-size: 16px;
	}

	.patern01 .under-page-header__ja,
	.patern02 .under-page-header__ja {
		font-size: 28px;
	}

	.patern01 .under-page-header__lead,
	.patern02 .under-page-header__lead {
		margin-top: 8px;
		font-size: 14px;
	}

	.patern03 .under-page-header__en {
		margin-bottom: 14px;
		font-size: 18px;
	}

	.patern03 .under-page-header__ja {
		font-size: 28px;
	}

	.patern03 .under-page-header__lead {
		margin-top: 8px;
		font-size: 14px;
	}

	/* 上余白140px・下余白32px（固定ヘッダー＋パンくず分） */
	.patern01,
	.patern02,
	.patern03 {
		padding-top: 140px;
		padding-bottom: 32px;
	}

	/* パンくず */
	.l-breadcrumb {
		padding: 10px 24px;
		font-size: 12px;
	}
}

/* =====================================================================
 * ADVANTAGE SP（768px以下）— PCルールより後ろに置いて確実に上書き
 * ===================================================================== */
@media (max-width: 768px) {
	.l-content.p-advantage {
		padding: 0;
	}

	/* mainには付けず、中の各セクションへ左右32px */
	.p-advantage__strength,
	.p-advantage__merit,
	.p-advantage__items {
		padding-left: 32px;
		padding-right: 32px;
	}

	/* 見出しは縦積み・中央寄せ */
	.p-advantage__strength-head {
		flex-direction: column;
		justify-content: center;
		gap: 16px;
	}

	h2.p-advantage__strength-title {
		text-align: center;
	}

	.p-advantage__strength-ja {
		font-size: 24px;
	}

	.p-advantage__strength-image {
		width: 100%;
	}

	.p-advantage__strength-text {
		font-size: 14px;
	}

	.p-advantage__strength + .p-advantage__strength {
		margin-top: 56px;
	}

	.p-advantage__strength-label {
		font-size: 14px;
	}

	/* 特徴リスト：2col/3col とも縦積み */
	.p-advantage__feature-list {
		flex-direction: column;
	}

	/* 3col：カード全幅・横レイアウト（アイコン左＋本文右） */
	.p-advantage__feature-list--3col .p-advantage__feature {
		width: 100%;
		flex-direction: row;
		padding: 24px 20px;
		gap: 16px;
	}

	.p-advantage__feature-list--3col .p-advantage__feature-title {
		margin-top: 0;
	}

	/* 2col：3colと同様に縦積み・横レイアウト（アイコン左＋本文右） */
	.p-advantage__feature-list--2col .p-advantage__feature {
		width: 100%;
		flex-direction: row;
		padding: 24px 20px;
		gap: 16px;
	}

	.p-advantage__feature-list--2col .p-advantage__feature-title {
		margin-top: 0;
	}

	.p-advantage__feature-body {
		width: 100%;
	}

	.p-advantage__feature-icon {
		width: 56px;
		height: 56px;
	}

	.p-advantage__feature-title {
		text-align: left;
		font-size: 20px;
	}

	.p-advantage__feature-text {
		margin-top: 8px;
		font-size: 14px;
		text-align: left;
	}

	/* バイセルの優位性 */
	.p-advantage__merit {
		padding: 32px 32px;
	}

	.p-advantage__merit-title {
		font-size: 24px;
	}

	.p-advantage__merit-item {
		width: 100%;
	}

	.p-advantage__merit-item-text {
		font-size: 12px;
		text-align: center;
	}

	/* 主な取扱品目 */
	.p-advantage__items-title {
		font-size: 24px;
	}

	.p-advantage__items-item {
		width: calc((100% - (16px * 2)) / 3);
		padding: 12px;
	}
}

/* =====================================================================
 * ADVANTAGE02 SP（768px以下）— PCルールより後ろで確実に上書き
 * ===================================================================== */
@media (max-width: 768px) {
	.p-advantage02__point-ja {
		font-size: 24px;
	}

	.p-advantage02__point-lead {
		margin-bottom: 32px;
		font-size: 14px;
	}

	.p-advantage02__inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	/* 原因カードは縦積み */
	.p-advantage02__cause-list {
		flex-wrap: wrap;
		gap: 24px;
		margin-bottom: 32px;
	}

	.p-advantage02__cause {
		width: 100%;
	}

	.p-advantage02__cause-title {
		font-size: 20px;
	}

	.p-advantage02__cause-note {
		font-size: 20px;
	}

	/* 理由セクション：縦積み */
	.p-advantage02__point--reason {
		padding-bottom: 330px;
	}

	.p-advantage02__point--reason .p-advantage02__inner {
		flex-direction: column;
		gap: 32px;
	}

	.p-advantage02__point--reason .p-advantage02__point-lead {
		margin-bottom: 0;
		font-size: 16px;
	}

	.p-advantage02__reason-head {
		width: 100%;
	}

	.p-advantage02__reason-list {
		width: 100%;
		padding: 16px;
	}

	.p-advantage02__reason {
		padding: 24px;
		padding-left: 24px;
		padding-top: 72px;
	}

	/* チェックアイコンを上部中央へ */
	.p-advantage02__reason::before {
		top: 24px;
		left: 50%;
		transform: translateX(-50%);
	}

	.p-advantage02__reason-title {
		font-size: 20px;
		text-align: center;
	}

	.p-advantage02__reason-text {
		font-size: 16px;
		line-height: 2;
	}

	/* 比較：縦積み */
	.p-advantage02__compare {
		flex-direction: column;
	}

	.p-advantage02__compare-col {
		padding: 24px;
	}

	.p-advantage02__compare-head {
		font-size: 20px;
		text-align: center;
	}

	.p-advantage02__compare-title {
		font-size: 18px;
	}

	.p-advantage02__compare-list {
		gap: 16px;
	}

	/* 縦積みなので列間の矢印は非表示 */
	.p-advantage02__compare-arrow img {
		display: none;
	}

	/* 仕組み：縦積み・中央寄せ */
	.p-advantage02__mechanism-list {
		flex-direction: column;
		align-items: center;
	}

	.p-advantage02__mechanism {
		max-width: 240px;
	}

	.p-advantage02__mechanism--result {
		width: 100%;
		max-width: 240px;
		padding: 40px;
	}

	.p-advantage02__mechanism-note {
		font-size: 14px;
	}

	/* 矢印を下向きにして、縦積みカードの隙間に収める */
	.p-advantage02__mechanism:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: -34px;
		left: 50%;
		transform: translateX(-50%) rotate(135deg);
	}
}

/* =====================================================================
 * ABOUT THE PURCHASE MARKET SP（768px以下）— PCルールより後ろで上書き
 * ===================================================================== */
@media (max-width: 768px) {
	.p-about-the-purchase-market .l-content__inner {
		padding-top: 80px;
		padding-bottom: 0;
	}

	/* 左右余白は各セクションの中身（__inner）へ振り分け */
	.p-about-the-purchase-market__inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	/* 見出し：縦積み */
	.p-about-the-purchase-market__heading {
		flex-direction: column;
	}

	.p-about-the-purchase-market__heading-num {
		font-size: 32px;
		top: 6px;
	}

	.p-about-the-purchase-market__heading-text {
		font-size: 24px;
	}

	.p-about-the-purchase-market__text {
		font-size: 14px;
	}

	/* 本文内の改行はSPでは無効化 */
	.p-about-the-purchase-market__text br {
		display: none;
	}

	.p-about-the-purchase-market__subheading {
		font-size: 20px;
	}

	.p-about-the-purchase-market__roadmap-title {
		font-size: 24px;
	}

	.p-about-the-purchase-market__roadmap-num {
		font-size: 40px;
	}

	.p-about-the-purchase-market__source {
		text-align: left;
		line-height: 1.8;
	}

	/* 循環図：間隔とpadding縮小 */
	.p-about-the-purchase-market__cycle-list {
		gap: 8px;
	}

	.p-about-the-purchase-market__cycle {
		padding: 16px;
	}

	.p-about-the-purchase-market__cycle-label-sub {
		font-size: 20px;
		margin-top: 4px;
	}

	/* 目標カード：縦積み。各カードは「タイトル左＋数字右」→ 下にテキスト */
	.p-about-the-purchase-market__target-list {
		flex-direction: column;
		gap: 16px;
		margin-bottom: 32px;
	}

	.p-about-the-purchase-market__target {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"title num"
			"text  text";
		align-items: center;
		column-gap: 12px;
		padding: 20px 24px;
	}

	.p-about-the-purchase-market__target-title {
		grid-area: title;
		margin-bottom: 0;
		font-size: 16px;
		line-height: 1.4;
		text-align: left;
	}

	.p-about-the-purchase-market__target-num {
		grid-area: num;
		text-align: right;
		font-size: 64px;
	}

	.p-about-the-purchase-market__target-unit {
		font-size: 24px;
	}

	/* 「%」だけ大きく */
	.p-about-the-purchase-market__target-unit--percent {
		font-size: 40px;
	}

	/* policy：フォント縮小 */
	.p-about-the-purchase-market__policy {
		padding: 20px 20px;
		margin-bottom: 24px;
	}

	/* policy-item：縦積み・中央寄せ */
	.p-about-the-purchase-market__policy-item {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.p-about-the-purchase-market__policy-title {
		font-size: 20px;
	}

	.p-about-the-purchase-market__policy-text {
		font-size: 14px;
	}

	.p-about-the-purchase-market__target-text {
		grid-area: text;
		margin-top: 12px;
		text-align: center;
		font-size: 13px;
		line-height: 1.6;
	}

	/* 右カラムのPC画像はSPでは非表示、本文直下のSP画像を表示 */
	.p-about-the-purchase-market__col-image {
		display: none;
	}

	.p-about-the-purchase-market__sp-image {
		display: block;
		margin: 16px 0;
	}

	/* cashflowセクションのSP画像だけ下余白32px */
	.p-about-the-purchase-market__section--cashflow .p-about-the-purchase-market__sp-image {
		margin-bottom: 32px;
	}

	.p-about-the-purchase-market__sp-image img {
		display: block;
		width: 100%;
		height: auto;
	}
}

/* =====================================================================
 * COLUMN SINGLE SP（768px以下）— PCルールより後ろで上書き
 * ===================================================================== */
@media (max-width: 768px) {
	.p-column-single__inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	.p-column-single__lead {
		align-items: flex-start;
		gap: 15px;
	}

	.p-column-single__lead-icon {
		width: 32px;
		height: 32px;
	}

	.p-column-single__summary {
		font-size: 14px;
	}

	.p-column-single__toc {
		padding: 32px 24px;
	}

	.p-post-single__body h2,
	.p-column-single__body h2 {
		margin-bottom: 8px;
		padding: 10px 0;
		font-size: 16px;
		line-height: 1.48;
	}

	.p-post-single__body p,
	.p-column-single__body p {
		font-size: 14px;
	}
}

/* =====================================================================
 * SUPPORT TEAM SP（768px以下）— PCルールより後ろで上書き
 * ===================================================================== */
@media (max-width: 768px) {
	.p-support-team .p-support-team__heading-en,
	.p-support-team .p-support-team__heading-ja {
		text-align: center;
	}

	.p-support-team .p-support-team__heading-ja {
		font-size: 24px;
	}

	.p-support-team .p-support-team__heading {
		margin-bottom: 32px;
	}

	.p-support-team .l-content__inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	.p-support-team .p-support-team__list {
		gap: 20px;
	}

	.p-support-team .p-support-team__member {
		padding: 16px;
	}

	.p-support-team .p-support-team__member-head {
		gap: 12px;
		flex-direction: column;
		width: 100%;
	}

	.p-support-team .p-support-team__member-image {
		width: 100%;
	}

	.p-support-team__member-info {
		width: 100%;
	}

	.p-support-team .p-support-team__member-name {
		font-size: 16px;
	}

	.p-support-team .p-support-team__member-role {
		font-size: 12px;
	}

	.p-support-team .p-support-team__member-desc {
		font-size: 14px;
	}
}

/* =====================================================================
 * FAQ SP（768px以下）— PCルールより後ろで上書き
 * ===================================================================== */
@media (max-width: 768px) {
	.l-content.p-faq {
		padding-left: 24px;
		padding-right: 24px;
	}

	.p-faq .p-faq__a-text {
		font-size: 12px;
	}

	.p-faq .p-faq__question {
		padding: 24px 0;
	}
}

/* =====================================================================
 * ABOUT US SP（768px以下）— PCルールより後ろで上書き
 * ===================================================================== */
@media (max-width: 768px) {
	.p-about-us .p-about-us__heading-en,
	.p-about-us .p-about-us__heading-ja {
		text-align: center;
	}

	.p-about-us .p-about-us__heading-ja {
		font-size: 24px;
	}

	/* 各セクションのインナーに左右余白 */
	.p-about-us .p-about-us__inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	/* 役員：縦積み */
	.p-about-us__officer-list {
		gap: 40px;
		max-width: 258px;
		margin: auto;
	}

	.p-about-us__officer {
		flex-direction: column;
		gap: 14px;
	}

	.p-about-us__officer-image {
		width: 100%;
	}

	.p-about-us__officer-body {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	/* メッセージ：catch / sign は中央寄せ、text は左寄せ */
	.p-about-us__message-catch,
	.p-about-us__message-sign {
		text-align: center;
	}

	.p-about-us__message-catch {
		font-size: 24px;
	}

	.p-about-us__message-text {
		font-size: 16px;
		text-align: left;
	}

	.p-about-us__message-sign {
		font-size: 20px;
	}

	/* 会社概要テーブル：行をflex化 */
	.p-about-us .p-about-us__table {
		display: block;
		padding: 32px 24px;
	}

	.p-about-us__table tr {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 9px;
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid rgba(167, 126, 20, 0.5);
	}
}

/* =====================================================================
 * PRIVACY POLICY SP（768px以下）
 * ===================================================================== */
@media (max-width: 768px) {
	.l-content.p-privacy-policy {
		padding-top: 0;
		padding-bottom: 0;
		padding-left: 24px;
		padding-right: 24px;
	}

	.p-privacy-policy__body {
		padding: 40px 24px;
	}

	.p-privacy-policy__body h2 {
		padding-bottom: 12px;
		margin-bottom: 12px;
		font-size: 20px;
	}

	.p-privacy-policy__body p {
		font-size: 12px;
		line-height: 1.6;
	}

	.p-privacy-policy__body ul li {
		font-size: 12px;
		line-height: 1.6;
	}

	.p-privacy-policy__body th {
		width: 35%;
	}

	.p-privacy-policy__body th,
	.p-privacy-policy__body td {
		padding: 20px 20px;
		font-size: 12px;
		line-height: 2;
	}
}

/* =====================================================================
 * CPTアーカイブ（NEWS / COLUMN）SP（768px以下）
 * 日付＋タグを1行目、タイトルを2行目に折り返す
 * ===================================================================== */
@media (max-width: 768px) {
	.p-archive__inner {
		padding-top: 56px;
		padding-bottom: 80px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.p-archive__link {
		flex-wrap: wrap;
		align-items: center;
		gap: 8px 12px;
		padding: 18px 0;
	}

	.p-archive__date {
		margin-right: 0;
	}

	.p-archive__tags {
		margin-right: 0;
	}

	/* タイトルは次の行に全幅で */
	.p-archive__title {
		flex-basis: 100%;
		width: 100%;
		margin-top: 2px;
		font-size: 15px;
	}
}

/* =====================================================================
 * CPT詳細（NEWS / COLUMN）SP（768px以下）
 * 本文(__body)は装飾せず、周辺のみ調整
 * ===================================================================== */
@media (max-width: 768px) {
	.l-content.p-post-single {
		padding-top: 140px;
		padding-bottom: 120px;
	}

	.p-post-single__inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	.p-post-single__meta {
		gap: 12px;
		margin-bottom: 10px;
	}

	.p-post-single__date {
		font-size: 14px;
	}

	.p-post-single__title {
		padding-bottom: 16px;
		margin-bottom: 24px;
		font-size: 22px;
	}

	.p-post-single__back {
		margin-top: 40px;
	}
}

/* =====================================================================
 * ビジネスコラム アーカイブ（column）— .p-column-archive 配下
 * サムネ付きカードグリッド（他CPTとは独立）
 * ===================================================================== */
.p-column-archive__inner {
	width: 100%;
	max-width: 1120px;
	margin-inline: auto;
	padding-top: 80px;
	padding-bottom: 120px;
}

/* 絞り込み（アウトラインのピル） */
.p-column-archive__filter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 40px;
}

.p-column-archive__filter-link {
	display: inline-flex;
	align-items: center;
	padding: 8px 24px;
	border: 1.5px solid #7A5F1E;
	border-radius: 1000px;
	background: #fff;
	color: #7A5F1E;
	font-size: 14px;
	line-height: 1.6;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.p-column-archive__filter-link:hover,
.p-column-archive__filter-link.is-current {
	background: #7A5F1E;
	border-color: #7A5F1E;
	color: #fff;
}

/* カードグリッド（2カラム） */
.p-column-archive__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px 24px;
}

.p-column-archive__card {
	display: block;
	height: 100%;
	border: 1px solid #ECE5D5;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}

.p-column-archive__card:hover {
	box-shadow: 0 8px 24px 0 rgba(187, 178, 158, 0.4);
	transform: translateY(-3px);
}

.p-column-archive__thumb {
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.p-column-archive__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-column-archive__body {
	padding: 20px;
}

.p-column-archive__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.p-column-archive__date {
	color: #A77E14;
	font-size: 14px;
	line-height: 1;
}

.p-column-archive__tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 12px;
	border-radius: 1000px;
	background: #F2E8CF;
	color: #7A5F1E;
	font-size: 12px;
	line-height: 1.6;
}

/* タイトル（2行で省略） */
.p-column-archive__title {
	margin-bottom: 10px;
	color: #2F2924;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 700;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/* 抜粋（2行で省略） */
.p-column-archive__excerpt {
	color: #777;
	font-size: 14px;
	line-height: 1.8;
	font-weight: 400;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.p-column-archive__empty {
	font-size: 16px;
	color: #555;
}

/* ページネーション */
.p-column-archive__pagination {
	margin-top: 48px;
}

.p-column-archive__pagination .nav-links {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

.p-column-archive__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	border: 1px solid #D9BC7B;
	border-radius: 6px;
	color: #7A5F1E;
	font-size: 14px;
}

.p-column-archive__pagination .page-numbers.current,
.p-column-archive__pagination .page-numbers:hover {
	background: #7A5F1E;
	color: #fff;
}

/* ====================== SP ====================== */
@media screen and (max-width: 768px) {
	.p-column-archive__inner {
		padding-top: 48px;
		padding-bottom: 72px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.p-column-archive__filter {
		gap: 8px;
		margin-bottom: 24px;
	}

	.p-column-archive__list {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.p-column-archive__title {
		font-size: 16px;
	}

	.p-column-archive__excerpt {
		font-size: 13px;
	}
}

/* =====================================================================
 * コラム詳細：おすすめの記事（レコメンド）
 *  ・PCは3カラム（li間 gap 18px）
 *  ・カードはアーカイブのSP文字サイズに統一
 *  ・SPは横スクロール（はみ出しスクロール）
 * ===================================================================== */
.p-column-single__recommend {
	margin-top: 48px;
	padding: 40px;
	background: #E4F1ED;
	border-radius: 16px;
}

.p-column-single__recommend-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
	color: #2F2924;
	font-size: 24px;
	line-height: 1.4;
	font-weight: 700;
}

.p-column-single__recommend-icon {
	flex-shrink: 0;
	width: 26px;
	height: 26px;
}

.p-column-single__recommend-list {
	display: flex;
	gap: 18px;
}

.p-column-single__recommend-item {
	flex: 1 1 0;
	min-width: 0;
}

.p-column-single__recommend-card {
	display: block;
	height: 100%;
	background: #fff;
	border: 1px solid #ECE5D5;
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}

.p-column-single__recommend-card:hover {
	box-shadow: 0 8px 24px 0 rgba(187, 178, 158, 0.4);
	transform: translateY(-3px);
}

.p-column-single__recommend-thumb {
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.p-column-single__recommend-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-column-single__recommend-body {
	padding: 16px;
}

.p-column-single__recommend-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}

/* 文字サイズはアーカイブのSP基準に統一 */
.p-column-single__recommend-date {
	color: #A77E14;
	font-size: 14px;
	line-height: 1;
}

.p-column-single__recommend-tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 12px;
	border-radius: 1000px;
	background: #F2E8CF;
	color: #7A5F1E;
	font-size: 12px;
	line-height: 1.6;
}

.p-column-single__recommend-name {
	margin-bottom: 8px;
	color: #2F2924;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 700;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.p-column-single__recommend-excerpt {
	color: #777;
	font-size: 12px;
	line-height: 1.8;
	font-weight: 400;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

@media (max-width: 768px) {
	/* SPはセクションを画面幅いっぱいに（コンテナ余白を飛び出す） */
	.p-column-single__recommend {
		margin-top: 32px;
		padding: 28px 20px;
		position: relative;
		width: 100vw;
		left: 50%;
		transform: translateX(-50%);
		border-radius: 0;
	}

	.p-column-single__recommend-title {
		margin-bottom: 20px;
		font-size: 20px;
	}

	/* SPは横並びにしてはみ出し横スクロール（左端はセクション余白で内側に） */
	.p-column-single__recommend-list {
		display: flex;
		grid-template-columns: none;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		margin: 0;
		padding: 0 0 8px;
	}

	.p-column-single__recommend-item {
		flex: 0 0 78%;
		max-width: 300px;
		scroll-snap-align: start;
	}
}

/* =====================================================================
 * 0次募集キャンペーン モーダル（p-campaign-modal）
 * ===================================================================== */
/* 背景スクロールロック */
body.is-modal-open {
	overflow: hidden;
}

.p-campaign-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
}

.p-campaign-modal.is-open {
	display: block;
}

.p-campaign-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
}

/* ダイアログ（最大900px・画面内に収め、中身をスクロール） */
.p-campaign-modal__dialog {
	position: relative;
	width: calc(100% - 32px);
	max-width: 900px;
	max-height: calc(100vh - 64px);
	margin: 32px auto;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

/* 閉じるボタン */
.p-campaign-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	transition: background-color .2s ease;
}

.p-campaign-modal__close:hover {
	background: rgba(0, 0, 0, 0.7);
}

/* スクロール領域 */
.p-campaign-modal__scroll {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: #FCFBF7;
}

/* バナー */
.p-campaign-modal__banner {
	max-width: 780px;
	margin-inline: auto;
	padding: 40px;
}

.p-campaign-modal__banner img {
	display: block;
	width: 100%;
	height: auto;
}

.p-campaign-modal__inner {
	max-width: 700px;
	margin-inline: auto;
	padding: 0 0px 40px;
}

/* セクション共通 */
.p-campaign-modal__section + .p-campaign-modal__section {
	margin-top: 40px;
}

.p-campaign-modal__label {
	display: block;
	margin-bottom: 10px;
	font-family: "Oswald", sans-serif;
	font-size: 13px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #a87f14;
}

.p-campaign-modal__heading {
	margin-bottom: 8px;
	color: #2F2924;
	font-size: 28px;
	line-height: 1.5;
	font-weight: 800;
}

.p-campaign-modal__lead {
	color: #555;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
}

/* 2つの特典カード */
.p-campaign-modal__points {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 24px;
}

.p-campaign-modal__point {
	padding: 24px;
	background: #fff;
	border: 1px solid #E8DCBF;
	border-radius: 12px;
}

.p-campaign-modal__point-head {
	margin-bottom: 10px;
	color: #2F2924;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
}

/* 「6ヶ月間」の単位も黄土色（数字に揃える） */
.p-campaign-modal__point-unit {
	color: #A77E14;
}

.p-campaign-modal__point-num {
	color: #A77E14;
	font-family: "Oswald", sans-serif;
	font-size: 48px;
	line-height: 1;
}

.p-campaign-modal__point-note {
	font-size: 12px;
	font-weight: 700;
}

.p-campaign-modal__point-text {
	color: #555;
	font-size: 14px;
	line-height: 1.8;
}

/* 比較グラフ */
.p-campaign-modal__graph {
	margin-top: 40px;
}

.p-campaign-modal__graph img {
	display: block;
	width: 100%;
	height: auto;
}

/* 適用条件 */
.p-campaign-modal__conditions {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.p-campaign-modal__condition {
	display: flex;
	gap: 14px;
	padding: 16px 18px;
	background: #FCFBF7;
	border: 1px solid #ECE5D5;
	border-radius: 10px;
}

.p-campaign-modal__condition-num {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #F6EFDD;
	color: #A77E14;
	font-family: "Oswald", sans-serif;
	font-size: 14px;
}

.p-campaign-modal__condition-title {
	margin-bottom: 4px;
	color: #A77E14;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 700;
}

.p-campaign-modal__condition-text {
	color: #555;
	font-size: 14px;
	line-height: 1.8;
}

.p-campaign-modal__attention {
	margin-top: 20px;
	color: #888;
	font-size: 12px;
	line-height: 1.8;
}

/* CTA（緑帯） */
.p-campaign-modal__cta {
	margin-top: 8px;
	padding: 40px;
	background: url(../images/top/cta-bg-pc.webp) no-repeat center center;
	background-size: cover;
	text-align: center;
}

.p-campaign-modal__cta-text {
	margin-bottom: 20px;
	color: #fff;
	font-size: 18px;
	line-height: 1.6;
}

.p-campaign-modal__cta-actions {
	display: flex;
	justify-content: center;
	gap: 16px;
}

.p-campaign-modal__cta-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 200px;
	padding: 16px 24px;
	border-radius: 1000px;
	font-size: 16px;
	font-weight: 700;
}

.p-campaign-modal__cta-button--primary {
	background: linear-gradient(to bottom, #F58A28 0%, #F58A28 50%, #F37321 50%, #F37321 100%);
	color: #fff;
	box-shadow: 0 4px 0 #C6550C;
}

.p-campaign-modal__cta-button--secondary {
	background: #fff;
	border: 1.5px solid #fff;
	color: #2E7D5B;
}

/* ====================== SP ====================== */
@media screen and (max-width: 768px) {
	.p-campaign-modal__dialog {
		width: calc(100% - 20px);
		max-height: calc(100vh - 32px);
		margin: 16px auto;
	}

	.p-campaign-modal__banner {
		padding: 40px 20px 20px;
	}

	.p-campaign-modal__inner {
		padding: 28px 20px;
	}

	.p-campaign-modal__heading {
		font-size: 20px;
	}

	.p-campaign-modal__lead {
		font-size: 13px;
	}

	/* 特典カードは縦積み */
	.p-campaign-modal__points {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.p-campaign-modal__point-num {
		font-size: 56px;
	}

	.p-campaign-modal__section + .p-campaign-modal__section {
		margin-top: 36px;
	}

	.p-campaign-modal__cta {
		padding: 28px 20px;
	}

	/* CTAボタンは縦積み・全幅 */
	.p-campaign-modal__cta-actions {
		flex-direction: column;
		gap: 12px;
	}

	.p-campaign-modal__cta-button {
		width: 100%;
		min-width: 0;
	}
}

/* =====================================================================
 * ヘッダー直下の募集バンド（TOPのみ・SPのみ表示）
 * ===================================================================== */
.l-header__recruit {
	display: none; /* PCでは非表示 */
}

@media (max-width: 768px) {
	.l-header__recruit {
		display: block;
		width: 100%;
		padding: 8px;
		background: url(../images/top/recruit-band-bg.webp) no-repeat center center;
		background-size: cover;
	}

	.l-header__recruit-text {
		color: #fff;
		font-size: 16px;
		line-height: 2;
		text-align: center;
	}
}

/* =====================================================================
 * TABLET 調整（769px〜1024px）— 仮対応・不要なら【このブロックごと削除】で元に戻せます
 *  ・PCの3カラム系を2カラムに（タブレット幅での詰まり防止）
 *  ・ヘッダーのドロワー化は別途 max-width:1024px 側で対応済み
 * ===================================================================== */
@media (min-width: 769px) and (max-width: 1024px) {
	/* ---- TOP ---- */
	/* 強み（3→2カラム） */
	.p-top-advantage__item {
		width: calc((100% - 14px) / 2);
	}

	/* 不安（3→2カラム） */
	.p-top-worry__item {
		width: calc((100% - 24px) / 2);
	}

	/* 働き方（3→2カラム・折り返し許可） */
	.p-top-workstyle__list {
		flex-wrap: wrap;
		gap: 24px;
	}
	.p-top-workstyle__item {
		width: calc((100% - 24px) / 2);
	}

	/* コラム（3→2カラム） */
	.p-top-column__item {
		width: calc((100% - 16px) / 2);
	}

	/* ---- バイセルの強み（advantage） ---- */
	/* 特徴リスト 3col → 2col */
	.p-advantage__feature-list--3col .p-advantage__feature {
		width: calc((100% - 16px) / 2);
	}
	/* メリット 3 → 2col */
	.p-advantage__merit-item {
		width: calc((100% - 16px) / 2);
	}

	/* ---- 買取市場について ---- */
	/* 循環図・目標カードはやや詰まるため間隔だけ圧縮（カラム数は維持） */
	.p-about-the-purchase-market__cycle-list,
	.p-about-the-purchase-market__target-list {
		gap: 16px;
	}
}

/* ============================================================
 * サンクスページ（送信完了）/document/thanks/ ・ /seminar/thanks/
 * ========================================================== */
.p-thanks {
	background-image: url(../images/thanks/bg-thanks-pc.webp);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	/* 固定ヘッダー（+パンくず）分を確保してから内側余白 */
	padding: calc(var(--header-h, 140px) + 80px) 0 140px;
	text-align: center;
}


.p-thanks__inner--document {
	max-width: 1176px;
}

.p-thanks__title {
	margin-bottom: 28px;
	font-family: "Oswald", sans-serif;
	font-weight: 500;
	font-size: 64px;
	line-height: 1;
	letter-spacing: 4px;
	color: #7A5F1E;
}

.p-thanks__text {
	margin-bottom: 40px;
	font-size: 16px;
	line-height: 2;
	color: #333;
}

@media (max-width: 768px) {
	.p-thanks {
		background-image: url(../images/thanks/bg-thanks-sp.webp);
		padding: calc(var(--header-h, 110px) + 48px) 20px 90px;
	}

	.p-thanks__title {
		margin-bottom: 20px;
		font-size: 44px;
	}

	.p-thanks__text {
		margin-bottom: 32px;
		font-size: 14px;
	}
}
img.p-mark {
    width: 70px;
    height: 70px;
    display: block;
    margin-left: auto;
}


.p-top-fv__body__text{
	font-size: 12px;
	line-height: 1.5;
	color: #7A5F1E;
}.p-download__agree input[type="checkbox"] {
	-webkit-appearance: auto;
	appearance: auto;   /* reset の appearance:none を打ち消して標準描画を復元 */
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #7A5F1E;  /* チェック時の色をブランドの黄土色に */
	cursor: pointer;
}

/* PC（1440基準）: 14 / 1440 * 100 = 0.9722vw */
.p-top-fv__body__text {
	font-size: calc(12 / 1440 * 100vw);
	line-height: 1.5;
	color: #7A5F1E;
}

/* SP（390基準）: 9.5 / 390 * 100 = 2.4359vw */
@media (max-width: 767px) {
	.p-top-fv__body__text {
		font-size: calc(9.5 / 390 * 100vw);
		margin-top: 10px;
	}
}


.l-header__recruit{
	display: none !important;
}
/* SP phone floating banner */
.l-phone-floating {
	display: none;
}

@media (max-width: 768px) {
	.l-phone-floating {
		position: fixed;
		z-index: 100;
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom));
		left: 16px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		min-height: 58px;
		padding: 10px 16px;
		border-radius: 999px;
		background: #7a5f1e;
		box-shadow: 0 4px 14px rgba(0, 0, 0, .24);
		color: #fff;
		text-decoration: none;
		transition: opacity .25s ease, transform .25s ease;
	}

	.l-phone-floating::before {
		content: "☎";
		font-size: 22px;
		line-height: 1;
	}

	.l-phone-floating__label,
	.l-phone-floating__number {
		display: block;
	}

	.l-phone-floating__label {
		font-size: 11px;
		font-weight: 700;
		line-height: 1.2;
	}

	.l-phone-floating__number {
		font-family: "Oswald", sans-serif;
		font-size: 23px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: .04em;
	}

	.l-phone-floating.is-footer-hide {
		opacity: 0;
		pointer-events: none;
		transform: translateY(16px);
	}
}
/* PC header contact information */
.l-header__contact {
	display: none;
}

@media (min-width: 1025px) {
	body:not(.page-lp001):not(.page-lp001-thanks) .l-main {
		padding-top: 27px;
	}

	.l-header__inner {
		position: relative;
		padding-top: 42px;
	}

	.l-header__contact {
		position: absolute;
		top: 12px;
		right: 36px;
		display: flex;
		align-items: center;
		gap: 16px;
		color: #111;
		font-size: 14px;
		font-weight: 600;
		line-height: 1;
		white-space: nowrap;
	}

	.l-header__contact-tel {
		color: inherit;
		font-size: 23px;
		font-weight: 700;
		letter-spacing: .03em;
		text-decoration: none;
	}

	.l-header__contact-tel::before {
		content: "☎";
		margin-right: 3px;
		font-size: 18px;
	}
}
