@charset "UTF-8";

/* ▼▼▼ トップ
======================================================*/
#main{ color: #333; background: #F5F5EE;}

.top1{
	min-height: 649px;
	background: url(../img/top1.webp) center bottom / cover no-repeat;
	position: relative;
}
.top1 div{
	position: absolute;
	right: 5em;
	top: 50%;
	transform: translateY(-50%);
}
@media screen and (min-width: 1280px) {
	.top1{
		aspect-ratio: 1280/649;
	}
	.top1 div{
		right: auto;
		left: 57%;
	}
}
.top1 div h2{
	margin-bottom: .5em;
	color: #333;
	font-size: 59px;
	font-weight: 400;
	line-height: 1.3;
}
.top1 div .txt{
	color: #333;
	font-size: 20px;
	font-weight: 400;
	line-height: 2.1;
}
.top1 .bnr{
	position: absolute;
	left: 20px;
	bottom: 20px;
}
.top2{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 50px 25px;
}
.top2 div{
	flex: 1;
}
.top2 div h2{
	margin-bottom: .5em;
	font-size: 37px;
	font-weight: 400;
}
.top2 div dl dt{
	display: inline-block;
	margin-bottom: 1em;
	padding: .1em 1.5em 0;
	color: #389575;
	font-size: 19px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: .05em;
	border-radius: 100px;
	border: 2px dashed #389575;
	background: #fff;
}
.top2 div dl dd{
	font-size: 23px;
	font-weight: 500;
	letter-spacing: .05em;
}
.top2 figure{
	width: 45%;
}
.top3{
	position: relative;
	z-index: 1;
}
.top3 h2{
	margin-bottom: 30px;
	padding: 30px 0 10px;
	color: #389575;
	font-size: 54px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	border-top: 4px solid #389575;
	border-bottom: 1px solid #389575;
}
.top3 h2 .kiwi{
	display: block;
	margin-bottom: .8em;
	color: #333;
	font-size: 28px;
	font-weight: 400;
	text-align: center;
}
.top3 h2 .tag{
	display: inline-block;
	vertical-align: middle;
	padding: .1em 1em 0;
	color: #333;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.15px;
	border-radius: 100px;
	border: 1px solid #707070;
	background: #fff;
}
.top3 .lead{
	margin-bottom: 40px;
	color: #333;
	text-align: center;
	font-size: 18px;
	font-weight: 400;
}
.top3 article{
	border-radius: 35px;
	border: 4px solid #389575;
	background: #fff;
}
.top3 article h3{
	padding: 20px;
	color: #fff;
	font-size: 48px;
	font-weight: 800;
	line-height: 1.1;
	text-align: center;
	border-radius: 30px 30px 0 0;
	background: #389575;
	position: relative;
}
.top3 article h3 img{
	position: absolute;
	left: 7%;
	top: -30px;
}
.top3 article h3 .kiwi{
	display: block;
	margin-bottom: .5em;
	font-size: 26px;
	font-weight: 400;
	text-align: center;
}
.top3 article h3 .closing{
	display: inline-block;
	padding: .1em 1em 0;
	color: #333;
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: .05em;
	background: #fff;
	border-radius: 100px;
}
.top3 article div{
	display: flex;
	flex-wrap: wrap;
	padding: 30px;
}
.top3 article div dl{
	width: 50%;
	padding: 0 30px;
	margin-bottom: 15px;
}
.top3 article div dl:first-child{
	border-right: 1px solid #707070;
}
.top3 article div dl dt{
	display: flex;
	align-items: center;
	padding: .1em 2em 0;
	background: #FDF4C3;
}
.top3 article div dl dt .tokuten{
	width: 4em;
	color: #333;
	font-size: 16px;
	font-weight: 400;
}
.top3 article div dl dt .tokuten strong{
	font-size: 20px;
	font-weight: 500;
}
.top3 article div dl dt .txt{
	flex: 1;
	color: #389575;
	font-size: 25px;
	font-weight: 500;
	letter-spacing: .05em;
	text-align: center;
}
.top3 article div dl dd .fee{
	padding: 10px 0 20px;
	color: #333;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	background: url(../img/top3-bottom.svg) center bottom 5px no-repeat;
}
.top3 article div dl dd .fee span{
	font-size: 24px;
	font-weight: 500;
}
.top3 article div dl dd .fee small{
	font-size: 16px;
}
.top3 article div dl dd .discount{
	display: flex;
	justify-content: center;
}
.top3 article div dl dd .discount .off{
	display: flex;
	align-items: center;
	margin-right: 1em;
	padding: .2em .5em 0;
	font-size: 19px;
	font-weight: 700;
	border: 1px solid #C44D18;
}
.top3 article div dl dd .discount .off strong{
	display: inline-block;
	margin-top: -.2em;
	font-size: 26px;
	font-style: italic;
	font-weight: 500;
}
.top3 article div dl dd .discount .monitor{
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .05em;
}
.top3 article div dl dd .discount .monitor strong{
	font-size: 39px;
	font-weight: 700;
	line-height: .8;
}
.top3 article div dl dd .txt{
	padding-top: 1.5em;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
}
.top3 article div .kome{
	width: 100%;
	text-align: center;
}
.top4{
	margin-top: -130px;
	padding: 230px 0 130px;
	background: url(../img/top4-bg1.webp) right top / 391px auto no-repeat, url(../img/top4-bg2.webp) left center / 321px auto no-repeat, url(../img/top4-bg3.webp) right bottom / 283px auto no-repeat;
}
.top4 h2{
	margin-bottom: 30px;
	padding-bottom: 40px;
	text-align: center;
	font-size: 42px;
	font-weight: 500;
	line-height: 1;
	background: url(../img/top4-ttl.svg) center bottom no-repeat;
}
.top4 .top4wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top4 .top4wrap dl{
	width: 48%;
	margin-bottom: 30px;
	padding: 22px 24px;
	align-items: center;
	font-size: 18px;
	font-weight: 400;
	border-radius: 40px;
	border: 4px dotted #333;
	background: #FFF;
}
.top4 .top4wrap dl dt{
	margin-bottom: .5em;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	line-height: normal;
}
.top4 .wave{
	color: #389575;
	text-align: center;
	font-size: 35px;
	font-weight: 500;
	letter-spacing: .1em;
	text-decoration-line: underline;
	text-decoration-style: wavy;
	text-decoration-skip-ink: none;
	text-decoration-thickness: 5%;
	text-underline-offset: 20%;
	text-underline-position: from-font;
}
.top5{
	margin-left: 80px;
	margin-bottom: 80px;
	padding: 80px 120px 80px 40px;
	border-radius: 80px 0 0 80px;
	background: #FFFFF8;
	position: relative;
}
.top5 h2{
	position: absolute;
	top: -.5em;
	left: 0;
	width: 100%;
	padding-right: 80px;
	color: #389575;
	text-align: center;
	font-size: 50px;
	font-weight: 700;
	line-height: 1;
}
.top5 .top5wrap{
	max-width: 900px;
	margin: 0 auto;
}
.top5 .top5wrap dl:not(:last-child){
	padding-bottom: 1.5em;
	margin-bottom: 1.5em;
	border-bottom: 1px solid #707070;
}
.top5 .top5wrap dl dt{
	margin-bottom: .5em;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .05em;
}
.top5 .top5wrap dl dd{
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
}
.top6{
	margin-right: 80px;
	margin-bottom: 80px;
	padding: 80px 40px 80px 120px;
	border-radius: 0 80px 80px 0;
	background: #FFFFF8;
	position: relative;
}
.top6 h2{
	position: absolute;
	top: -.5em;
	right: 0;
	width: 100%;
	padding-left: 80px;
	color: #389575;
	text-align: center;
	font-size: 50px;
	font-weight: 700;
	line-height: 1;
}
.top6 .top6wrap{
	max-width: 900px;
	margin: 0 auto;
}
.top6 .top6wrap ol{
	display: flex;
	justify-content: space-between;
	margin-bottom: 15px;
}
.top6 .top6wrap ol li{
	width: 23%;
}
.top6 .top6wrap ol li .ttl{
	margin-bottom: .5em;
	line-height: 40px;
	font-weight: 500;
	text-align: center;
	background: url(../img/top6-step.svg) right center / contain no-repeat;
	border-radius: 10px 0 0 10px;
}
.top6 .top6wrap ol li:last-child .ttl{
	background: #D0E6DF;
	border-radius: 0;
}
.top6 .top6wrap ol li .ttl span{
	vertical-align: middle;
	font-size: 35px;
	font-weight: 500;
	line-height: 1;
}
.top6 .top6wrap ol li .txt{
	font-size: 26px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .05em;
}
.top6 .top6wrap .kome{
	text-align: center;
	margin-bottom: 15px;
}
.top6 .top6wrap .certificate{
	padding: 30px 50px 10px;
	border-radius: 20px;
	border: 1px solid #707070;
	background: #fff;
}
.top6 .top6wrap .certificate dt{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	margin-bottom: 15px;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
	background: #FDF4C3;
}
.top6 .top6wrap .certificate dt .mark{
	display: block;
	padding-left: 50px;
	padding-right: 1em;
	line-height: 41px;
	font-size: 25px;
	font-weight: 500;
	background: url(../img/top6-star.svg) left center no-repeat;
}
.top6 .top6wrap .certificate dd .txt{
	margin-bottom: .5em;
	color: #707070;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
}
.top6 .top6wrap .certificate dd .kome{
	text-align: center;
}
.top7{
	margin-left: 80px;
	margin-bottom: 80px;
	padding: 50px 120px 50px 40px;
	border-radius: 80px 0 0 80px;
	background: #FFFFF8;
	position: relative;
}
.top7 h2{
	position: absolute;
	top: -.5em;
	left: 0;
	width: 100%;
	padding-right: 80px;
	color: #389575;
	text-align: center;
	font-size: 50px;
	font-weight: 700;
	line-height: 1;
}
.top7 .top7wrap{
	max-width: 900px;
	margin: 0 auto;
}
.top7 .top7wrap .txt{
	text-align: center;
	margin-bottom: 2em;
	line-height: 2;
}
.top7 .top7wrap .txt span{
	font-size: 18px;
}
.top7 .top7wrap ol{
	display: flex;
	flex-wrap: wrap;
}
.top7 .top7wrap ol li{
	display: flex;
	align-items: center;
	padding: .8em 0;
	width: 50%;
	border-top: 1px dashed #707070;
}
.top7 .top7wrap ol li span{
	margin-right: 1em;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: .05em;
}
.top8{
	display: flex;
	justify-content: space-between;
	max-width: 900px;
	margin: 0 auto 80px;
}
.top8 figure{
	width: 160px;
}
.top8 figure img{
	border-radius: 50%;
}
.top8 dl{
	width: 79%;
}
.top8 dl dt{
	font-weight: 500;
	margin-bottom: .5em;
}
.top8 dl dt span{
	font-size: 26px;
	font-weight: 700;
}
.top8 dl dd .txt1{
	margin-bottom: 1em;
	font-size: 18px;
	font-weight: 400;
}
.top8 dl dd .txt2{
	margin-bottom: 1em;
	font-weight: 400;
	line-height: 1.8;
}
.top9{
	display: flex;
	margin-bottom: 50px;
}
.top9 img{
	width: 25%;
}
.top10{
	margin-bottom: 80px;
}
.top10 h2{
	margin-bottom: 40px;
	padding: 20px;
	font-weight: 600;
	text-align: center;
	background: #FFF;
	border-radius: 100px;
	position: relative;
}
.top10 h2:after{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 99.9%;
	width: 100%;
	height: 19px;
	background: url(../img/top10-ttl.svg) center bottom no-repeat;
}
.top10 h2 span{
	display: block;
	margin-bottom: .5em;
	text-align: center;
	font-size: 32px;
	font-weight: 400;
	line-height: 1;
}
.top10 div{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 825px;
	margin: 0 auto 50px;
}
.top10 div dl{
	width: 46%;
	margin-bottom: 40px;
}
.top10 div dl dt{
	margin-bottom: 1em;
	padding-left: 40px;
	padding-bottom: .2em;
	font-size: 26px;
	font-weight: 400;
	letter-spacing: -.1em;
	line-height: 1;
	text-decoration-line: underline;
	text-decoration-style: wavy;
	text-decoration-skip-ink: none;
	text-decoration-color: #707070;
	text-decoration-thickness: 4%;
	text-underline-offset: 25%;
	text-underline-position: from-font;
	background: url(../img/ic-check.svg) left center no-repeat;
}

/* ▼▼▼ 480px〜768px
======================================================*/
@media screen and (max-width: 767px) {
	.top1{
		min-height: inherit;
		background: none;
		position: relative;
	}
	.top1 div{
		left: 7vw;
		right: 0;
		top: 17vw;
		transform: none;
	}
	.top1 div h2{
		margin-bottom: .2em;
		font-size: 9.6vw;
		line-height: 1.3;
	}
	.top1 div .txt{
		font-size: 4.26vw;
		line-height: 1.7;
	}
	.top1 .bnr{
		left: 0;
		bottom: 18vw;
		width: 46vw;
	}
	.top2{
		display: block;
		padding: 10vw 0;
	}
	.top2 div{
		flex: 1;
	}
	.top2 div h2{
		margin-bottom: 1em;
		font-size: 6.2vw;
	}
	.top2 div dl dt{
		display: block;
		padding: .2em 0 .1em;
		font-size: 5vw;
		text-align: center;
	}
	.top2 div dl dd{
		font-size: 5vw;
		margin-bottom: .5em;
	}
	.top2 figure{
		width: auto;
	}
	.top3 h2{
		margin-bottom: 8vw;
		padding: .8em 0 .5em;
		font-size: 9.8vw;
	}
	.top3 h2 .kiwi{
		display: block;
		margin-bottom: .8em;
		font-size: 6.4vw;
	}
	.top3 h2 .tag{
		font-size: 4vw;
	}
	.top3 .lead{
		margin-bottom: 2.5em;
		font-size: 4.8vww;
	}
	.top3 article{
		border-radius: 10vw;
	}
	.top3 article h3{
		padding: 4vw 3vw 7vw;
		font-size: 8.8vw;
		line-height: 1.8;
		border-radius: 8vw 8vw 0 0;
	}
	.top3 article h3 img{
		left: -4vw;
		top: -8vw;
		width: 23vw;
	}
	.top3 article h3 .kiwi{
		margin-bottom: 0;
		font-size: 5.33vw;
		line-height: 1.5;
	}
	.top3 article h3 .closing{
		display: block;
		padding: .1em 0 0;
		font-size: 4vw;
		text-align: center;
	}
	.top3 article div{
		display: block;
		padding: 5vw 3vw;
	}
	.top3 article div dl{
		width: auto;
		padding: 0;
		margin-bottom: 15px;
	}
	.top3 article div dl:first-child{
		border-right: none;
	}
	.top3 article div dl dt{
		padding: .2em .7em .1em;
	}
	.top3 article div dl dt .tokuten{
		width: 3.5em;
		font-size: 4.26vw;
	}
	.top3 article div dl dt .tokuten strong{
		font-size: 5.33vw;
	}
	.top3 article div dl dt .txt{
		font-size: 6vw;
		text-align: left;
	}
	.top3 article div dl dd .fee{
		padding: .1em 0 20px;
		font-size: 4.8vw;
	}
	.top3 article div dl dd .fee span{
		font-size: 6.4vw;
	}
	.top3 article div dl dd .fee small{
		font-size: 4.26vw;
	}
	.top3 article div dl dd .discount{
		margin-bottom: 8vw;
	}
	.top3 article div dl dd .discount .off{
		margin-right: .5em;
		padding: .2em .3em 0;
		font-size: 5vw;
	}
	.top3 article div dl dd .discount .off strong{
		font-size: 6.93vw;
	}
	.top3 article div dl dd .discount .monitor{
		font-size: 4vw;
	}
	.top3 article div dl dd .discount .monitor strong{
		font-size: 8vw;
		margin-right: -.2em;
	}
	.top3 article div dl dd .txt{
		font-size: 4vw;
	}
	.top3 article div .kome{
		font-size: 4vw;
		text-align: left;
	}
	.top4{
		margin-top: -10vw;
		padding: 25vw 0 25vw;
		background: url(../img/top4-bg1.webp) right top / 60% auto no-repeat;
	}
	.top4 h2{
		margin-bottom: 1em;
		padding-bottom: 1em;
		font-size: 6.66vw;
		background-size: 96% auto;
	}
	.top4 .top4wrap{
		display: block;
	}
	.top4 .top4wrap dl{
		width: auto;
		margin-bottom: 1em;
		padding: 1em 1em 1.5em;
		font-size: 4.26vw;
		border-radius: 40px;
	}
	.top4 .top4wrap dl dt{
		font-size: 6.4vw;
	}
	.top4 .wave{
		font-size: 6.4vw;
		letter-spacing: 0;
	}
	.top5{
		margin-left: 5vw;
		margin-bottom: 20vw;
		padding: 15vw 10vw 10vw 5vw;
		border-radius: 10vw 0 0 10vw;
	}
	.top5 h2{
		padding-right: 5vw;
		font-size: 11.2vw;
	}
	.top5 .top5wrap dl dt{
		margin-bottom: .3em;
		font-size: 5.86vw;
		line-height: 1.3;
	}
	.top5 .top5wrap dl dd{
		font-size: 4.26vw;
		font-weight: 500;
		line-height: 1.8;
	}
	.top6{
		margin-right: 5vw;
		margin-bottom: 20vw;
		padding: 15vw 5vw 10vw 10vw;
		border-radius: 0 10vw 10vw 0;
	}
	.top6 h2{
		padding-left: 5vw;
		font-size: 11.2vw;
	}
	.top6 .top6wrap ol{
		display: block;
		max-width: 59.46vw;
		margin: 0 auto 10vw;
	}
	.top6 .top6wrap ol li{
		width: auto;
		margin-bottom: .5em;
	}
	.top6 .top6wrap ol li .ttl{
		margin-bottom: .5em;
		line-height: 2.5;
		border-radius: 2.66vw 0 0 2.66vw;
	}
	.top6 .top6wrap ol li .ttl span{
		font-size: 9.33vw;
	}
	.top6 .top6wrap ol li .txt{
		font-size: 6.93vw;
	}
	.top6 .top6wrap .kome{
		font-size: 4vw;
		margin-bottom: 1em;
	}
	.top6 .top6wrap .certificate{
		padding: 5vw 5vw 0;
		margin: 0 0 0 -3vw;
		border-radius: 1.5em;
	}
	.top6 .top6wrap .certificate dt{
		display: block;
		padding: 5vw;
		margin-bottom: .8em;
	}
	.top6 .top6wrap .certificate dt .mark{
		margin-bottom: .5em;
		padding-left: 11vw;
		padding-right: 0;
		line-height: 2;
		font-size: 6vw;
		background-size: 8.53vw auto;
	}
	.top6 .top6wrap .certificate dd .txt{
		font-size: 4.8vw;
		text-align: left;
	}
	.top6 .top6wrap .certificate dd .kome{
		text-align: left;
	}
	.top7{
		margin-left: 5vw;
		margin-bottom: 15vw;
		padding: 15vw 5vw 10vw 5vw;
		border-radius: 10vw 0 0 10vw;
	}
	.top7 h2{
		padding-right: 5vw;
		font-size: 11.2vw;
	}
	.top7 .top7wrap .txt span{
		font-size: 4.26vw;
	}
	.top7 .top7wrap ol{
		display: block;
	}
	.top7 .top7wrap ol li{
		display: flex;
		align-items: center;
		padding: 0 0 .8em 0;
		width: auto;
		border-top: none;
	}
	.top7 .top7wrap ol li.topline{
		padding: .8em 0;
		border-top: 1px dashed #707070;
	}
	.top7 .top7wrap ol li span{
		font-size: 4.53vw;
		white-space: nowrap;
	}
	.top8{
		display: block;
		margin: 0 auto 80px;
	}
	.top8 figure{
		width: 42.66vw;
		margin: 0 auto 5vw;
	}
	.top8 figure img{
		border-radius: 50%;
	}
	.top8 dl{
		width: auto;
	}
	.top8 dl dt span{
		font-size: 6.93vw;
	}
	.top8 dl dd .txt1{
		font-size: 4.8vw;
	}
	.top9{
		flex-wrap: wrap;
		margin-bottom: 15vw;
	}
	.top9 img{
		width: 50%;
	}
	.top10{
		margin-bottom: 35vw;
	}
	.top10 h2{
		margin-bottom: 10vw;
		padding: 5vw;
		border-radius: 5em;
	}
	.top10 h2:after{
		height: 5vw;
		background-size: auto 5vw;
	}
	.top10 h2 span{
		font-size: 6.66vw;
	}
	.top10 div{
		display: block;
		margin: 0 auto 10vw;
	}
	.top10 div dl{
		width: auto;
		margin-bottom: 5vw;
	}
	.top10 div dl dt{
		margin-bottom: .8em;
		padding-left: 8vw;
		font-size: 6.4vw;
		white-space: nowrap;
		background-size: 6vw auto;
	}
}
