body{
	font-family: "Klee One", cursive;
	font-weight: 400;
	font-style: normal;
	color:#fff;
}

.all-wrap{
	width:100%;
	height:auto;
	background-color:#2d2d2d;
}

/* ===============================
	FV
=============================== */
.fv-wrap{
	width:100%;
	height:auto;
	min-height:100vh;
	background-image:url(../img/fv_background_pc.png);
	background-size:cover;
}

.fv-contents-wrap{
	width:40%;
	height:auto;
	min-height:100vh;
	margin-left:auto;
	margin-right:10%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
}

.fv-contents-wrap h1{
	font-size:2.4vw;
	margin-bottom:1.2vh;
}

.fv-subtitile{
	font-size:1.8vw;
}

.fv-cta-wrap{
	width:80%;
	margin:5vh auto 0;
}

@media screen and (max-width:767px){
	.fv-wrap{
		background-image:url(../img/fv_background_sp.png);
		background-position:center;
	}

	.fv-contents-wrap{
		width:80%;
		height:auto;
		min-height:100vh;
		margin:0 auto;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
	}

	.fv-contents-wrap h1{
		font-size:4.8vw;
		margin-bottom:2.4vh;
	}

	.fv-subtitile{
		font-size:3.6vw;
	}

	.fv-cta-wrap{
		width:80%;
		margin:5vh auto 0;
	}
}

/* CTA */
.cta-offer{
	width:100%;
	height:auto;
}
.cta-offer img{
	margin:0 auto;
}
.cta-button{
	width:100%;
	height:auto;
}
.cta-button img{
	margin:0 auto;
}

/* ===============================
	Sticky Parallax Background
	(sec02 / sec04 / sec06 / sec08)
=============================== */
/* セクション側：fixed背景は使わず、stickyレイヤー方式に */
.sec02-all-wrap,
.sec04-all-wrap,
.sec06-all-wrap,
.sec08-all-wrap{
	position: relative;
	/* 旧Safari向けフォールバック → 新ブラウザは clip */
	overflow:hidden;
	overflow:clip;
	background:none;
}

/* 背景レイヤー（各セクション直下の .sticky-bg） */
.sticky-bg{
	position: sticky;
	top: 0;
	height: 100vh;
	margin-bottom: -100vh; /* レイアウトを押し広げない */
	width: 100%;
	z-index: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	pointer-events: none;
}

/* コンテンツは背景より前面に */
.sec02-all-wrap > :not(.sticky-bg),
.sec04-all-wrap > :not(.sticky-bg),
.sec06-all-wrap > :not(.sticky-bg),
.sec08-all-wrap > :not(.sticky-bg){
	position: relative;
	z-index: 1;
}

/* 背景画像の割当（PC） */
.sec02-bg{ background-image:url(../img/sec02_background_pc.png); }
.sec04-bg{ background-image:url(../img/sec04_background_pc.png); }
.sec06-bg{ background-image:url(../img/sec06_background_pc.png); }
.sec08-bg{ background-image:url(../img/sec08_background_pc.png); }

/* 背景画像のSP切替 */
@media screen and (max-width:767px){
	.sec02-bg{ background-image:url(../img/sec02_background_sp.png); }
	.sec04-bg{ background-image:url(../img/sec04_background_sp.png); }
	.sec06-bg{ background-image:url(../img/sec06_background_sp.png); }
	.sec08-bg{ background-image:url(../img/sec08_background_sp.png); }
}

/* ===============================
	sec02
=============================== */
.sec02-wrap{
	width:100%;
	height:auto;
	padding:100vh 0;
}

.sec02-title{
	width:100%;
	height:auto;
	margin:10vh 0;
	text-align:center;
}

.sec02-title h2{
	font-size:2.4vw;
}

.sec02-contents-wrap{
	width:100%;
	height:auto;
	margin:10vh 0;
}

.sec02-content-left{
	width:90%;
	height:auto;
	display:flex;
	justify-content:space-around;
	align-items:center;
	background: linear-gradient(to right, rgba(8,12,19,1), rgba(8,12,19,0));
	margin:2.5vh 0;
}

.sec02-content-right{
	width:90%;
	height:auto;
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-around;
	align-items:center;
	background: linear-gradient(to right, rgba(8,12,19,0), rgba(8,12,19,1));
	margin:2.5vh 0 2.5vh auto;
}

.sec02-content-text{
	width:50%;
	height:auto;
}

.sec02-content-title{
	width:100%;
	height:auto;
	padding:2.5vh;
	font-size:1.8vw;
}

.sec02-content-description{
	width:100%;
	height:auto;
	padding:2.5vh;
	font-size:1.2vw;
}

.sec02-content-description p{
	margin:1.2vw 0;
}

.sec02-content-image-wrap{
	width:50%;
	height:auto;
	padding:2.5vh;
}

.sec02-content-image{
	width:100%;
	height:auto;
}

.sec02-content-image img{
	width:100%;
	height:auto;
}

@media screen and (max-width:767px){
	.sec02-title h2{
		font-size:4.8vw;
	}

	.sec02-content-left{
		width:100%;
		flex-direction:column-reverse;
		margin:5vh 0;
	}

	.sec02-content-right{
		width:100%;
		flex-direction:column-reverse;
		margin:5vh 0;
	}

	.sec02-content-text{
		width:100%;
		height:auto;
	}

	.sec02-content-title{
		width:100%;
		height:auto;
		padding:2.5vh;
		font-size:4.2vw;
		text-align:center;
	}

	.sec02-content-description{
		width:100%;
		height:auto;
		padding:2.5vh;
		font-size:2.8vw;
		text-align:center;
	}

	.sec02-content-description p{
		margin:2.4vw 0;
	}

	.sec02-content-image-wrap{
		width:100%;
		height:auto;
		padding:2.5vh;
	}
}

/* ===============================
	sec03
=============================== */
.sec03-wrap{
	width:100%;
	height:auto;
	min-height:100vh;
	padding:10vh 0;
}

.sec03-title{
	width:100%;
	height:auto;
	text-align:center;
	margin:10vh 0;
}

.sec03-title h2{
	font-size:2.4vw;
}

.sec03-subtitle{
	width:100%;
	height:auto;
	margin:10vh 0;
	text-align:center;
}

.sec03-subtitle p{
	font-size:1.4vw;
}

.sec03-contents-wrap{
	width:80%;
	height:auto;
	margin:10vh auto;
	display:flex;
	justify-content:space-around;
	align-items:center;
	gap:2.5vw;
}

.sec03-content{
	width:25%;
	height:auto;
}

.sec03-content-image{
	width:100%;
	height:auto;
	margin:5vh 0;
}

.sec03-content-image img{
	margin:0 auto;
}

.sec03-content-text{
	text-align:center;
	margin:5vh 0;
	font-size:1.4vw;
}

@media screen and (max-width:767px){
	.sec03-title h2{
		font-size:4.8vw;
	}

	.sec03-subtitle{
		width:80%;
		margin:10vh auto;
	}

	.sec03-subtitle p{
		font-size:3.6vw;
	}

	.sec03-contents-wrap{
		width:80%;
		display:grid;
		gap:10vw;
		grid-template-columns: repeat(2, 1fr);
	}

	.sec03-content{
		width:100%;
		height:auto;
		width:80%;
		margin:0 auto;
	}

	.sec03-content-image{
		width:100%;
		height:auto;
		margin:2.5vh 0;
	}

	.sec03-content-text{
		text-align:center;
		margin:2.5vh 0;
		font-size:2.8vw;
	}
}

/* ===============================
	sec04
=============================== */
.sec04-wrap{
	width:100%;
	height:auto;
	padding:100vh 0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}

.sec04-title{
	width:100%;
	height:auto;
	text-align:center;
	margin:10vh 0 5vh;
}

.sec04-title h2{
	font-size:2.4vw;
}

.sec04-subtitle{
	width:100%;
	height:auto;
	text-align:center;
	margin:5vh 0 10vh;
}

.sec04-subtitle p{
	font-size:1.4vw;
}

.sec04-contents-wrap{
	width:80%;
	height:auto;
	margin:5vh auto;
	display:flex;
	justify-content:space-around;
	align-items:stretch;
	gap:5vw;
}

.sec04-content{
	width:33%;
	height:auto;
	background-color:#2d2d2d;
}

.sec04-content-image{
	width:100%;
	height:auto;
}

.sec04-content-text{
	width:100%;
	height:auto;
}

.sec04-content-title{
	width:100%;
	height:auto;
	padding:1.2vw 2.4vw;
	text-align:center;
}

.sec04-content-title h3{
	font-size:1.4vw;
}

.sec04-content-description{
	width:100%;
	height:auto;
	padding:1.2vw 2.4vw 2.4vw;
}

.sec04-content-description p{
	font-size:1.0vw;
}

@media screen and (max-width:767px){
	.sec04-title h2{
		font-size:4.8vw;
	}

	.sec04-subtitle{
		width:80%;
		margin:5vh auto 10vh;
	}

	.sec04-subtitle p{
		font-size:3.6vw;
	}

	.sec04-contents-wrap{
		width:100%;
		justify-content:center;
		align-items:center;
		flex-direction:column;
	}

	.sec04-content{
		width:80%;
		margin:0 auto;
	}

	.sec04-content-title{
		padding:3.6vw;
	}

	.sec04-content-title h3{
		font-size:3.6vw;
	}

	.sec04-content-description{
		padding:3.6vw 7.2vw 3.6vw;
		text-align:center;
	}

	.sec04-content-description p{
		font-size:2.8vw;
	}
}

/* ===============================
	sec05
=============================== */
.sec05-wrap{
	width:100%;
	height:auto;
	padding:10vh 0;
}

.sec05-title{
	width:100%;
	height:auto;
	text-align:center;
	margin:10vh 0;
}

.sec05-title h2{
	font-size:2.4vw;
}

.sec05-subtitle{
	width:100%;
	height:auto;
	margin:10vh 0;
	text-align:center;
}

.sec05-subtitle p{
	font-size:1.4vw;
}

.sec05-contents-wrap{
	width:80%;
	height:auto;
	margin:10vh auto;
	display:flex;
	justify-content:space-around;
	align-items:stretch;
	gap:5vw;
}

.sec05-content{
	width:25%;
	height:auto;
}

.sec05-content-image{
	width:80%;
	height:auto;
	margin:5vh auto;
}

.sec05-content-image img{
	margin:0 auto;
}

.sec05-content-text{
	width:100%;
	height:auto;
	margin:5vh 0;
}

.sec05-content-title{
	width:100%;
	height:auto;
	margin-bottom:2.5vh;
}

.sec05-content-title h3{
	font-size:1.4vw;
}

.sec05-content-description{
	width:100%;
	height:3.0vw;
	margin-top:2.5vh;
	display:flex;
	align-items:center;
}

.sec05-content-description p{
	font-size:1.0vw;
}

@media screen and (max-width:767px){
	.sec05-title h2{
		font-size:4.8vw;
	}

	.sec05-subtitle{
		width:80%;
		margin:10vh auto;
	}

	.sec05-subtitle p{
		font-size:3.6vw;
	}

	.sec05-contents-wrap{
		display:grid;
		gap:10vw;
		grid-template-columns: repeat(2, 1fr);
	}

	.sec05-content{
		width:100%;
	}

	.sec05-content-text{
		width:100%;
	}

	.sec05-content-title{
		text-align:center;
	}

	.sec05-content-title h3{
		font-size:3.6vw;
	}

	.sec05-content-description{
		text-align:center;
	}

	.sec05-content-description p{
		font-size:2.8vw;
	}
}

/* ===============================
	sec06
=============================== */
.sec06-wrap{
	width:100%;
	height:auto;
	padding:100vh 0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}

.sec06-title{
	width:100%;
	height:auto;
	text-align:center;
	margin:10vh 0 5vh;
}

.sec06-title h2{
	font-size:2.4vw;
}

.sec06-subtitle{
	width:100%;
	height:auto;
	text-align:center;
	margin:5vh 0 10vh;
}

.sec06-subtitle p{
	font-size:1.4vw;
}

.sec06-contents-wrap{
	width:80%;
	height:auto;
	margin:5vh auto;
	display:flex;
	justify-content:space-around;
	align-items:stretch;
	gap:5vw;
}

.sec06-content{
	width:33%;
	height:auto;
	background-color:#2d2d2d;
}

.sec06-content-image{
	width:100%;
	height:auto;
}

.sec06-content-text{
	width:100%;
	height:auto;
}

.sec06-content-title{
	width:100%;
	height:auto;
	padding:2.4vw;
	text-align:center;
}

.sec06-content-title h3{
	font-size:1.4vw;
}

.sec06-content-menu-wrap{
	width:100%;
	height:auto;
	background-color:#fff;
	padding:1.5vw;
}

.sec06-content-menu{
	width:100%;
	height:auto;
	display:flex;
	justify-content:space-around;
	align-items:center;
	gap:2.5vw;
	margin:1.25vw 0;
}

.sec06-content-menu-title-wrap{
	width:30%;
	height:auto;
	aspect-ratio: 1;
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#2d2d2d;
	border-radius:50%;
}

.sec06-content-menu-price-wrap{
	width:70%;
	height:auto;
}

.sec06-content-menu-price{
	width:100%;
	height:auto;
	display:flex;
	margin:1.25vw 0;
	gap:1.25vw;
}

.sec06-content-menu-price-title{
	width:30%;
	height:auto;
	background-color:#2d2d2d;
	display:flex;
	justify-content:center;
	align-items:center;
}

.sec06-content-menu-price-text{
	width:70%;
	height:auto;
}

.sec06-content-menu-price-text p{
	color:#2d2d2d;
	font-size:1.4vw;
}

.first-title{
	background-color:#c1272d;
}

.first-text p{
	color:#c1272d;
}

.sec06-cta-wrap{
	width:100%;
	height:auto;
	margin:5vh 0 10vh;
}

.sec06-cta-offer{
	width:30%;
	height:auto;
	margin:0 auto;
}

.sec06-cta-offer img{
	margin:0 auto;
}

.sec06-cta-button{
	width:30%;
	height:auto;
	margin:0vh auto;
}

.sec06-cta-button img{
	margin:0 auto;
}

@media screen and (max-width:767px){
	.sec06-title h2{
		font-size:4.8vw;
	}

	.sec06-subtitle{
		width:80%;
		margin:5vh auto 10vh;
	}

	.sec06-subtitle p{
		font-size:3.6vw;
	}

	.sec06-contents-wrap{
		width:100%;
		flex-direction:column;
	}

	.sec06-content{
		width:80%;
		margin:0 auto;
	}

	.sec06-content-menu-price-title{
		width:40%;
	}

	.sec06-content-menu-price-text{
		width:60%;
	}

	.sec06-content-title{
		padding:4.4vw;
	}

	.sec06-content-title h3{
		font-size:4.4vw;
	}

	.sec06-content-menu-price-wrap{
		width:70%;
		height:auto;
	}

	.sec06-content-menu{
		width:80%;
		gap:10vw;
		margin:2.5vw auto;
	}

	.sec06-content-menu-price-text p{
		color:#2d2d2d;
		font-size:4.4vw;
	}

	.sec06-cta-offer{
		width:80%;
	}

	.sec06-cta-button{
		width:80%;
	}
}

/* ===============================
	sec07
=============================== */
.sec07-wrap{
	width:100%;
	height:auto;
	min-height:100vh;
	padding:10vh 0;
}

.sec07-title{
	width:100%;
	height:auto;
	text-align:center;
	margin:10vh 0;
}

.sec07-title h2{
	font-size:2.4vw;
}

.sec07-subtitle{
	width:100%;
	height:auto;
	margin:10vh 0;
	text-align:center;
}

.sec07-subtitle p{
	font-size:1.4vw;
}

.sec07-contents-wrap{
	width:80%;
	height:auto;
	margin:10vh auto;
	display:flex;
	justify-content:space-around;
	align-items:stretch;
	gap:2.5vw;
}

.sec07-content{
	width:25%;
	height:auto;
}

.sec07-content-image{
	width:100%;
	height:auto;
	margin:5vh 0 2.5vh;
}

.sec07-content-image img{
	margin:0 auto;
	width:40%;
}

.sec07-content-text{
	margin:2.5vh 0 5vh;
	font-size:1.4vw;
	background-color:#fff;
	color:#2d2d2d;
}

.sec07-content-title{
	width:100%;
	height:auto;
	padding:1.2vw 2.4vw;
	text-align:center;
	border-bottom:1px dotted;
}

.sec07-content-title h3{
	font-size:1.4vw;
}

.sec07-content-description{
	width:100%;
	height:16.4vw;
	padding:1.2vw 2.4vw;
	display:flex;
	justify-content:center;
	flex-direction:column;
}

.sec07-content-description p{
	font-size:1.0vw;
	line-height:2.0vw;
}

@media screen and (max-width:767px){
	.sec07-title h2{
		font-size:4.8vw;
	}

	.sec07-subtitle p{
		font-size:3.6vw;
	}

	.sec07-contents-wrap{
		width:80%;
		margin:0 auto;
		flex-direction:column;
	}

	.sec07-content{
		width:100%;
	}

	.sec07-content-image img{
		width:50%;
	}

	.sec07-content-text{
		font-size:2.8vw;
	}

	.sec07-content-title{
		padding:3.6vw;
	}

	.sec07-content-title h3{
		font-size:3.6vw;
	}

	.sec07-content-description{
		height:auto;
		padding:3.6vw;
	}

	.sec07-content-description p{
		font-size:2.8vw;
		line-height:5.6vw;
	}
}

/* ===============================
	sec08
=============================== */
.sec08-wrap{
	width:100%;
	height:auto;
	padding:100vh 0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}

.sec08-title{
	width:100%;
	height:auto;
	text-align:center;
	margin:10vh 0;
}

.sec08-title h2{
	font-size:2.4vw;
}

.sec08-contens-wrap{
	width:100%;
	height:auto;
}

.sec08-content{
	width:60%;
	height:auto;
	margin:5vw auto;
}

.sec08-content-question{
	width:100%;
	height:auto;
	padding:1.2vw 2.4vw;
	background-color:#2d2d2d;
}

.sec08-content-question p{
	font-size:1.8vw;
}

.sec08-content-answer{
	width:100%;
	height:auto;
	padding:1.2vw 2.4vw;
	background-color:#fff;
}

.sec08-content-answer p{
	font-size:1.4vw;
	color:#2d2d2d;
}

@media screen and (max-width:767px){
	.sec08-title h2{
		font-size:4.8vw;
	}

	.sec08-content{
		width:80%;
	}

	.sec08-content-question{
		padding:2.4vw;
	}

	.sec08-content-question p{
		font-size:3.6vw;
	}

	.sec08-content-answer{
		padding:2.4vw;
	}

	.sec08-content-answer p{
		font-size:2.8vw;
	}
}

/* ===============================
	sec09
=============================== */
.sec09-wrap{
	width:100%;
	height:auto;
	min-height:100vh;
	padding:10vh 0;
}

.sec09-title{
	width:100%;
	height:auto;
	text-align:center;
	margin:10vh 0;
}

.sec09-title h2{
	font-size:2.4vw;
}

.sec09-contents-wrap{
	width:80%;
	height:auto;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10vw;
	margin:0 auto;
}

.sec09-content-image{
	width:50%;
	height:auto;
}

.sec09-text{
	width:50%;
	height:auto;
}

.sec09-text-item{
	width:100%;
	height:auto;
	margin:2.5vw 0;
}

.sec09-text-item-title{
	width:100%;
	height:auto;
	margin:1.25vw 0;
}

.sec09-text-item-title p{
	font-size:1.4vw;
}

.sec09-text-item-description{
	width:100%;
	height:auto;
	margin:1.25vw 0;
}

.sec09-text-item-description p{
	font-size:1.2vw;
}

@media screen and (max-width:767px){
	.sec09-title h2{
		font-size:4.8vw;
	}

	.sec09-contents-wrap{
		flex-direction:column;
	}

	.sec09-content-image{
		width:100%;
	}

	.sec09-text{
		width:100%;
	}

	.sec09-text-item{
		margin:3.6vw;
	}

	.sec09-text-item-title{
		margin:2.8vw 0;
	}

	.sec09-text-item-title p{
		font-size:3.6vw;
	}

	.sec09-text-item-description{
		margin:2.8vw 0;
	}

	.sec09-text-item-description p{
		font-size:2.8vw;
	}
}

/* ===============================
	sec10 + form
=============================== */
.sec10-wrap{
	width:100%;
	height:auto;
	min-height:100vh;
	padding:10vh 0;
}

.sec10-title{
	width:100%;
	height:auto;
	text-align:center;
	margin:10vh 0;
}

.sec10-title h2{
	font-size:2.4vw;
}

@media screen and (max-width:767px){
	.sec10-title h2{
		font-size:4.8vw;
	}

	label {
		font-size:3.6vw;
	}

	input,
	textarea,
	select {
		font-size:3.6vw;
	}

	button{
		font-size:3.6vw;
	}
}

form {
	background-color:#2d2d2d;
	padding:20px;
	max-width:767px;
	width:100%;
	margin:0 auto;
	color:#fff;
}

label {
	display:block;
	margin-bottom:8px;
}

input,
textarea,
select {
	width:100%;
	padding:8px;
	margin-bottom:16px;
	box-sizing:border-box;
	border:1px solid #ccc;
	border-radius:4px;
	color:#fff;
}

textarea {
	resize:vertical;
}

button {
	background-color:#4caf50;
	color:#fff;
	padding:10px 15px;
	border:none;
	border-radius:4px;
	cursor:pointer;
}

button:hover {
	background-color:#45a049;
}