body{
	font-weight: 400;
	font-style: normal;
	color:#fff;
}

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

.contents-all-wrap{
	width:auto;
	height:auto;
	max-width:767px;
	margin:0 auto;
	background-color:#999999;
}

/* ===============================
	FV
=============================== */

.fv-wrap{
	width:100%;
	height:auto;
	min-height:100vh;
	background-image:url("../img/fv_image.png");
	background-position:center;
	background-size:cover;
	position:relative;
}

.fv-title{
	width:60%;
	height:auto;
	min-width:300px;
	position:absolute;
	top:10vh;
	left:50%;
	transform:translateX(-50%);
}

.fv-contnets{
	width:60%;
	height:auto;
	min-width:300px;
	position:absolute;
	bottom:12vh;
	left:50%;
	transform:translateX(-50%);
}

.fv-content{
	width:100%;
	height:auto;
	margin-bottom:5vh;
}

.cta{
	width:100%;
	height:auto;
	margin-top:5vh;
}

/* ===============================
	sec02
=============================== */
.sec02-wrap{
	width:100%;
	height:auto;
	padding:10vh 0 0;
	position:relative;
	z-index:2;
}

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

.sec02-contnets{
	width:100%;
	height:auto;
	margin:2.5vh 0;
	display:flex;
	align-items:end;
	justify-content:stretch;
	padding:0 2.5vh;
}

.sec02-content-left{
	width:30%;
	height:auto;
}

.sec02-content-right{
	width:70%;
	height:auto;
}

.sec02-content-right-title{
	width:100%;
	height:auto;
	text-align:center;
	padding:1.25vh 0;
}

.sec02-right-description-wrap{
	width:100%;
	height:auto;
	background-color:#fff;
	color:#2d9cdb;
	padding-bottom:1.25vh;
}

.sec02-right-description{
	width:80%;
	height:auto;
	margin:0 auto;
	border-bottom:1px dotted #2d9cdb;
	font-size:3.2vw;
	padding:1.25vh 0;
}

@media screen and (min-width:1080px){
	.sec02-right-description{
		font-size:1.6vw;
		padding:2.5vh 0;
	}
}

/* ===============================
	sec03
=============================== */
.sec03-wrap{
	width:100%;
	height:auto;
	position:relative;
	z-index:1;
}

.sec03-title{
	width:100%;
	height:50vw;
	max-height:350px;
	padding:5vh;
	position:relative;
}

.sec03-title::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:#2d9cdb;
	transform: skewY(-7deg);
	transform-origin: top left;
	z-index: -1;
}

.sec03-contents-wrap{
	width:100%;
	height:auto;
}

.sec03-content{
	width:80%;
	height:auto;
	margin:2.5vh auto;
	background-color:#fff;
	color:#2d9cdb;
}

.sec03-content-title{
	width:100%;
	height:auto;
	padding:1.25vh 0;
	text-align:center;
	border-bottom:1px dotted;
}


.sec03-content-description-wrap{
	width:100%;
	height:auto;
	display:flex;
	justify-content:space-around;
	align-items:center;
	padding:1.25vh;
	gap:1.25vh;
}

.sec03-contnet-description-image{
	width:30%;
	height:auto;
}

.sec03-content-description{
	width:70%;
	height:auto;
	font-size:3.2vw;
}

@media screen and (min-width:1080px){
	.sec03-content-description{
		font-size:1.6vw;
	}
}

/* ===============================
   sec04
=============================== */

.sec04{
	width: 100%;
	height:auto;
	padding: 5vh 0;
	position:relative;
	z-index:0;
}

/* タイトル */
.sec04-title {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-bottom: 40px;
	position: relative;
}

.sec04-title::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: #2d9cdb;
	transform: skewY(-7deg);
	z-index: -1;
}

.sec04-title-image {
	width: 30%;
}

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

.sec04-title-text {
	width: 70%;
	text-align: center;
}

.sec04-title-text h2 {
	color: #fff;
	font-size:6.8vw;
}

@media screen and (min-width:1080px){
	.sec04-title-text h2 {
		font-size:3.4vw;
	}
}

/* Swiper */
.sec04-swiper {
	width: 100%;
	overflow: hidden;
}

.sec04-swiper .swiper-wrapper {
	align-items: stretch;
}

.sec04-swiper .swiper-slide {
	flex: 0 0 60%;
	background: #fff;
	border-radius: 30px;
	border: 3px solid #2d9cdb;
	padding: 30px 20px;
	box-sizing: border-box;
	color: #2d2d2d;
	height:auto;
}

/* 中の要素 */
.sec04-content-image {
	width: 40%;
	margin: 0 auto;
}

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

.sec04-contet-title {
	text-align: center;
	margin-top: 20px;
}

.sec04-contet-title h3 {
	margin: 0;
	color: #2d9cdb;
}

.sec04-content-description {
	margin-top: 16px;
	font-size: 3.2vw;
	line-height: 1.6;
}

@media screen and (min-width:1080px){
	.sec04-content-description {
		font-size: 1.6vw;
	}
}

/* Pagination */
.sec04-swiper .swiper-pagination {
	margin-top: 20px;
	text-align: center;
}

.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #2d9cdb;
	opacity: 0.4;
	margin: 0 6px;
}

.swiper-pagination-bullet-active {
	opacity: 1;
}

/* ===============================
   sec05
=============================== */

.sec05{
	width: 100%;
	height:auto;
	padding: 5vh 0;
	position:relative;
}

/* タイトル */
.sec05-title {
	width:50%;
	height:auto;
	padding:1.25vh 0;
	margin:0 auto;
	border-top:1px solid;
	border-bottom:1px solid;
	text-align:center;
	margin-bottom:2.5vh;
}

.sec05-title h2 {
	color: #fff;
}

/* Swiper */
.sec05-swiper {
	width: 100%;
	overflow: hidden;
}

.sec05-swiper .swiper-wrapper {
	align-items: stretch;
}

.sec05-swiper .swiper-slide {
	flex: 0 0 60%;
	background: #fff;
	border-radius: 30px;
	border: 3px solid #2d9cdb;
	padding: 30px 20px;
	box-sizing: border-box;
	color: #2d2d2d;
	height:auto;
}

/* 中の要素 */
.sec05-content-image {
	width: 50%;
	margin: 0 auto;
}

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

.sec05-contet-title {
	text-align: center;
	margin-top: 20px;
	
}

.sec05-contet-title h3 {
	margin: 0;
	color: #2d9cdb;
}

.sec05-content-description {
  margin-top: 16px;
  font-size: 3.2vw;
	line-height: 1.6;
}

@media screen and (min-width:1080px){
	.sec05-content-description {
		font-size: 1.6vw;
	}
}

/* Pagination */
.sec05-swiper .swiper-pagination {
	margin-top: 20px;
	text-align: center;
}

.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #2d9cdb;
	opacity: 0.4;
	margin: 0 6px;
}

.swiper-pagination-bullet-active {
	opacity: 1;
}


/* ===============================
   sec06
=============================== */
.sec06-wrap{
	width:100%;
	height:auto;
	margin:5vh 0;
}

.sec06-title{
	width:50%;
	height:auto;
	padding:1.25vh 0;
	margin:0 auto;
	border-top:1px solid;
	border-bottom:1px solid;
	text-align:center;
	margin-bottom:2.5vh;
}

.sec06-contens-wrap{
	width:60%;
	height:auto;
	margin:0 auto;
	display:flex;
	align-items:center;
	gap:2.5vh;
	margin-bottom:2.4vh;
}

.sec06-content-left{
	width:40%;
	height:auto;
	aspect-ratio: 1;
	border-radius:50%;
	color:#fff;
	background-color:#2d9cdb;
	font-size:6.2vw;
	display:flex;
	align-items:center;
	justify-content:center;
}

.sec06-content-right{
	width:60%;
	height:auto;
	font-size:8.4vw;
	text-align:center;
}

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

.sec06-cta img{
	width:100%;
	height:auto;
	margin:0 auto;
}

.cta-button {
	transition: transform 0.3s ease;
}

.cta-button:hover {
	transform: scale(1.05); /* 5%拡大 */
}

@media screen and (min-width:767px){
	
	.sec06-content-left{
		width:30%;
		font-size:3.6vw;
	}

	.sec06-content-right{
		width:70%;
		font-size:4.8vw;
	}
	
	.sec06-cta{
		width:60%;
	}

}

@media screen and (min-width:1080px){
	.sec06-content-left{
		font-size:2.8vw;
	}

	.sec06-content-right{
		font-size:3.6vw;
	}
}

footer{
	width:100%;
	height:auto;
	background-color:#998675;
	color:#fff;
	font-size:1.2vw;
	line-height:2.4vw;
	padding:2.4vw;
	display:flex;
	justify-content:center;
}


