/* =========================
   サービスFV
========================= */
.service-fv{
	position:relative;
	width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	background:var(--green2);
	padding:56px 20px;
	overflow:hidden;
}

.service-fv__inner{
	position:relative;
	max-width:1100px;
	margin:0 auto;
	z-index:1;
}

/* 透かしロゴ */
.service-fv__watermark{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	pointer-events:none;
	z-index:0;
}

.service-fv__watermark img{
	display:block;
	height:auto;
	width:auto;
	max-width:none;
	max-height:220px;
	opacity:.06;
	filter:brightness(0) invert(1);
}


/* 左ライン＋文字 */
.service-fv__copy{
	position:relative;
	padding-left:26px; /* ←少し詰める */
	z-index:1;
}

.service-fv__copy::before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:2px;
	height:60px; /* ←帯に合わせて縮小 */
	background:rgba(255,255,255,.7);
	transform:translateY(-50%);
	border-radius:999px;
}

/* タイトル */
.service-fv__title{
	margin:0;
	font-size:clamp(26px, 3.2vw, 38px); /* ←小さく */
	font-weight:800;
	line-height:1.3;
	letter-spacing:.04em;
	color:#fff;
}

.service-fv__sub{
	margin:8px 0 0;
	font-size:11px;
	font-weight:700;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:rgba(255,255,255,.75);
}

@media screen and (max-width: 900px){
	.service-fv{
		padding:42px 16px; /* ←詰める */
	}

	.service-fv__watermark img{
		width:min(46vw, 220px);
		opacity:.05;
	}

	.service-fv__copy{
		padding-left:20px;
	}

	.service-fv__copy::before{
		height:50px;
	}

	.service-fv__title{
		font-size:clamp(22px, 7vw, 30px);
	}

	.service-fv__sub{
		font-size:10px;
		letter-spacing:.18em;
	}
}


/* =========================
   サービス導入
========================= */
.service-intro{
	padding:72px 20px 40px;
}

.service-intro__inner{
	max-width:900px;
	margin:0 auto;
	text-align:center;
}

.service-intro__lead{
	margin:0 0 20px;
	font-size:clamp(24px, 3vw, 34px);
	font-weight:800;
	line-height:1.7;
	letter-spacing:.03em;
	color:#1d2b21;
}

.service-intro__text{
	max-width:760px;
	margin:0 auto;
}

.service-intro__text p{
	margin:0 0 16px;
	font-size:15px;
	line-height:2.1;
	color:#5f675f;
}

.service-intro__text p:last-child{
	margin-bottom:0;
}

.service-intro__cta{
	display:flex;
	justify-content:center;
	gap:14px;
	flex-wrap:wrap;
	margin-top:32px;
}

.service-intro__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:190px;
	height:52px;
	padding:0 24px;
	border-radius:999px;
	font-size:15px;
	font-weight:700;
	text-decoration:none;
	transition:transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

.service-intro__btn:hover{
	transform:translateY(-2px);
}

.service-intro__btn--primary{
	background:var(--green2);
	color:#fff;
	box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.service-intro__btn--line{
	background:#fff;
	color:var(--green2);
	border:1px solid #d7e0d5;
	box-shadow:0 8px 20px rgba(0,0,0,.035);
}

@media screen and (max-width: 900px){
	.service-intro{
		padding:56px 16px 28px;
	}

	.service-intro__lead{
		margin-bottom:16px;
		font-size:clamp(20px, 6vw, 28px);
		line-height:1.6;
	}

	.service-intro__text p{
		margin-bottom:14px;
		font-size:14px;
		line-height:1.95;
	}

	.service-intro__cta{
		gap:10px;
		margin-top:26px;
	}

	.service-intro__btn{
		width:100%;
		min-width:0;
		height:48px;
		font-size:14px;
	}
}



/* =========================
   サービスの流れ
========================= */
.service-flow{
	padding:88px 20px 96px;
	background:transparent;
}

.service-flow__inner{
	max-width:1100px;
	margin:0 auto;
}

.service-flow__head{
	text-align:center;
	margin-bottom:54px;
}

.service-flow__sub{
	margin:0 0 12px;
	font-size:12px;
	font-weight:700;
	letter-spacing:.18em;
	color:#6f8b77;
	text-transform:uppercase;
}

.service-flow__title{
	margin:0 0 18px;
	font-size:clamp(30px, 4vw, 48px);
	font-weight:800;
	line-height:1.3;
	letter-spacing:.04em;
	color:#1d2b21;
}

.service-flow__lead{
	max-width:760px;
	margin:0 auto;
	font-size:15px;
	line-height:2.1;
	color:#5f675f;
}

.service-flow__list{
	position:relative;
	max-width:860px;
	margin:0 auto;
	padding-left:40px;
}

.service-flow__list::before{
	content:"";
	position:absolute;
	top:0;
	left:24px;
	width:2px;
	height:100%;
	background:linear-gradient(180deg, #cfd9cf 0%, #e7eee7 100%);
	border-radius:999px;
}

.flow-card{
	position:relative;
	display:flex;
	gap:22px;
	margin-bottom:26px;
}

.flow-card:last-child{
	margin-bottom:0;
}

.flow-card__no{
	position:relative;
	z-index:1;
	flex:0 0 48px;
	width:48px;
	height:48px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:999px;
	background:#eef3eb;
	border:1px solid #dbe5d9;
	font-size:18px;
	font-weight:800;
	color:#46624d;
	box-shadow:0 6px 14px rgba(0,0,0,.04);
}

.flow-card__body{
	flex:1 1 auto;
	padding:24px 24px 22px;
	background:#fff;
	border:1px solid #e3e7de;
	border-radius:22px;
	box-shadow:0 8px 20px rgba(0,0,0,.035);
}

.flow-card__title{
	margin:0 0 10px;
	font-size:clamp(21px, 2vw, 28px);
	font-weight:800;
	line-height:1.5;
	letter-spacing:.02em;
	color:#223127;
}

.flow-card__text{
	margin:0;
	font-size:15px;
	line-height:2;
	color:#5d645d;
}

@media screen and (max-width: 900px){
	.service-flow{
		padding:68px 16px 74px;
	}

	.service-flow__head{
		margin-bottom:34px;
	}

	.service-flow__title{
		font-size:clamp(28px, 8vw, 40px);
	}

	.service-flow__lead{
		font-size:14px;
		line-height:1.95;
	}

	.service-flow__list{
		padding-left:0;
	}

	.service-flow__list::before{
		left:22px;
	}

	.flow-card{
		gap:14px;
		margin-bottom:18px;
	}

	.flow-card__no{
		flex:0 0 44px;
		width:44px;
		height:44px;
		font-size:16px;
	}

	.flow-card__body{
		padding:18px 16px 16px;
		border-radius:18px;
	}

	.flow-card__title{
		margin-bottom:8px;
		font-size:20px;
		line-height:1.45;
	}

	.flow-card__text{
		font-size:14px;
		line-height:1.85;
	}
}


/* =========================
   料金について
========================= */
.service-price{
	padding:0 20px 96px;
	background:transparent;
}

.service-price__inner{
	max-width:1100px;
	margin:0 auto;
}

.service-price__head{
	text-align:center;
	margin-bottom:40px;
}

.service-price__sub{
	margin:0 0 12px;
	font-size:12px;
	font-weight:700;
	letter-spacing:.18em;
	color:#6f8b77;
	text-transform:uppercase;
}

.service-price__title{
	margin:0;
	font-size:clamp(30px, 4vw, 48px);
	font-weight:800;
	line-height:1.3;
	letter-spacing:.04em;
	color:#1d2b21;
}

.service-price__content{
	max-width:860px;
	margin:0 auto;
	padding:32px 32px 28px;
	background:#fff;
	border:1px solid #e3e7de;
	border-radius:22px;
	box-shadow:0 8px 20px rgba(0,0,0,.035);
}

.service-price__main{
	margin:0 0 18px;
	font-size:15px;
	line-height:2;
	color:#5d645d;
}

.service-price__main strong{
	display:inline-block;
	margin-top:6px;
	font-size:clamp(24px, 2.4vw, 32px);
	font-weight:800;
	line-height:1.5;
	letter-spacing:.04em;
	color:#223127;
}

.service-price__text{
	margin:0 0 14px;
	font-size:15px;
	line-height:2;
	color:#5d645d;
}

.service-price__text:last-of-type{
	margin-bottom:0;
}

.service-price__notes{
	margin:22px 0 0;
	padding:22px 0 0;
	border-top:1px solid #e3e7de;
	list-style:none;
}

.service-price__notes li{
	position:relative;
	margin:0 0 8px;
	padding-left:1.4em;
	font-size:14px;
	line-height:1.9;
	color:#5f675f;
}

.service-price__notes li:last-child{
	margin-bottom:0;
}

.service-price__notes li::before{
	content:"※";
	position:absolute;
	top:0;
	left:0;
	color:#6f8b77;
	font-weight:700;
}

@media screen and (max-width: 900px){
	.service-price{
		padding:0 16px 74px;
	}

	.service-price__head{
		margin-bottom:30px;
	}

	.service-price__title{
		font-size:clamp(28px, 8vw, 40px);
	}

	.service-price__content{
		padding:22px 16px 20px;
		border-radius:18px;
	}

	.service-price__main{
		margin-bottom:14px;
		font-size:14px;
		line-height:1.85;
	}

	.service-price__main strong{
		margin-top:4px;
		font-size:clamp(22px, 6vw, 28px);
		line-height:1.45;
	}

	.service-price__text{
		margin-bottom:12px;
		font-size:14px;
		line-height:1.85;
	}

	.service-price__notes{
		margin-top:18px;
		padding-top:18px;
	}

	.service-price__notes li{
		font-size:13px;
		line-height:1.8;
	}
}